diff --git a/app/Models/Location.php b/app/Models/Location.php index 0eeca7e125..5ab9e58d06 100644 --- a/app/Models/Location.php +++ b/app/Models/Location.php @@ -63,6 +63,9 @@ use Illuminate\Database\Eloquent\Relations\MorphTo; * @method static Builder|Location whereUpdatedAt($value) * @method static Builder|Location whereZoomLevel($value) * + * @property Collection $transactionJournals + * @property null|int $transaction_journals_count + * * @mixin Eloquent */ class Location extends Model diff --git a/public/build/assets/autocomplete-functions-3410a57d.js b/public/build/assets/autocomplete-functions-3410a57d.js deleted file mode 100644 index 1df7865161..0000000000 --- a/public/build/assets/autocomplete-functions-3410a57d.js +++ /dev/null @@ -1 +0,0 @@ -import{f as m,r as p}from"./vendor-824d08a0.js";import{a as _,b as f,G as g}from"./get-51a7c3ed.js";function l(){return{id:"",name:"",alpine_name:""}}function y(){return{description:[],amount:[],currency_code:[],foreign_amount:[],foreign_currency_code:[],source_account:[],destination_account:[],budget_id:[],category_name:[],piggy_bank_id:[],bill_id:[],tags:[],notes:[],internal_reference:[],external_url:[],latitude:[],longitude:[],zoom_level:[],date:[],interest_date:[],book_date:[],process_date:[],due_date:[],payment_date:[],invoice_date:[]}}function I(){let t=m(new Date,"yyyy-MM-dd HH:mm");return{description:"",amount:"",currency_code:"EUR",foreign_amount:"",foreign_currency_code:"",source_account:l(),destination_account:l(),budget_id:null,category_name:"",piggy_bank_id:null,bill_id:null,tags:[],notes:"",internal_reference:"",external_url:"",hasLocation:!1,latitude:null,longitude:null,zoomLevel:null,date:t,interest_date:"",book_date:"",process_date:"",due_date:"",payment_date:"",invoice_date:"",errors:y()}}let b=class{list(t){return _.get("/api/v2/currencies",{params:t})}};function x(){let e={page:1,limit:1337};return new b().list(e).then(a=>{let n={defaultCurrency:{},nativeCurrencies:[],foreignCurrencies:[],enabledCurrencies:[]};n.foreignCurrencies.push({id:0,name:"(no foreign currency)",code:"",default:!1,symbol:"",decimal_places:2});for(let i in a.data.data)if(a.data.data.hasOwnProperty(i)){let r=a.data.data[i];if(r.attributes.enabled){let u={id:r.id,name:r.attributes.name,code:r.attributes.code,default:r.attributes.default,symbol:r.attributes.symbol,decimal_places:r.attributes.decimal_places};u.default&&(n.defaultCurrency=u),n.enabledCurrencies.push(u),n.nativeCurrencies.push(u),n.foreignCurrencies.push(u)}}return n})}class h{list(t){return _.get("/api/v2/budgets",{params:t})}}function q(){let e={page:1,limit:1337};return new h().list(e).then(a=>{let n=[{id:0,name:"(no budget)"}];for(let i in a.data.data)if(a.data.data.hasOwnProperty(i)){let r=a.data.data[i],u={id:r.id,name:r.attributes.name};n.push(u)}return n})}function C(){let e={page:1,limit:1337};return new f().list(e).then(a=>{let n={0:{id:0,name:"(no group)",order:0,piggyBanks:[{id:0,name:"(no piggy bank)",order:0}]}};for(let i in a.data.data)if(a.data.data.hasOwnProperty(i)){let r=a.data.data[i],u=r.attributes.object_group_id??"0",c=r.attributes.object_group_title??"(no group)",o={id:r.id,name:r.attributes.name,order:r.attributes.order};n.hasOwnProperty(u)||(n[u]={id:u,name:c,order:r.attributes.object_group_order??0,piggyBanks:[]}),n[u].piggyBanks.push(o),n[u].piggyBanks.sort((d,s)=>d.order-s.order)}return Object.keys(n).sort().reduce((i,r)=>(i[r]=n[r],i),{})})}function w(){let e={page:1,limit:1337};return new g().list(e).then(a=>{let n={0:{id:0,name:"(no group)",order:0,subscriptions:[{id:0,name:"(no subscription)",order:0}]}};for(let i in a.data.data)if(a.data.data.hasOwnProperty(i)){let r=a.data.data[i],u=r.attributes.object_group_id??"0",c=r.attributes.object_group_title??"(no group)",o={id:r.id,name:r.attributes.name,order:r.attributes.order};n.hasOwnProperty(u)||(n[u]={id:u,name:c,order:r.attributes.object_group_order??0,subscriptions:[]}),n[u].subscriptions.push(o),n[u].subscriptions.sort((d,s)=>d.order-s.order)}return Object.keys(n).sort().reduce((i,r)=>(i[r]=n[r],i),{})})}function j(){return{description:"/api/v2/autocomplete/transaction-descriptions",account:"/api/v2/autocomplete/accounts",category:"/api/v2/autocomplete/categories",tag:"/api/v2/autocomplete/tags"}}function $(e){const t={server:e.serverUrl,serverParams:{},fetchOptions:{headers:{"X-CSRF-TOKEN":document.head.querySelector('meta[name="csrf-token"]').content}},hiddenInput:!0,highlightTyped:!0,liveServer:!0};typeof e.filters<"u"&&e.filters.length>0&&(t.serverParams.types=e.filters),typeof e.onRenderItem<"u"&&e.onRenderItem!==null&&(t.onRenderItem=e.onRenderItem),e.valueField&&(t.valueField=e.valueField),e.labelField&&(t.labelField=e.labelField),e.onSelectItem&&(t.onSelectItem=e.onSelectItem),e.onChange&&(t.onChange=e.onChange),e.hiddenValue&&(t.hiddenValue=e.hiddenValue),p.init(e.selector,t)}function A(e,t){const a=parseInt(t._searchInput.attributes["data-index"].value);if(typeof e<"u"&&e.name){document.querySelector("#form")._x_dataStack[0].$data.entries[a].category_name=e.name;return}document.querySelector("#form")._x_dataStack[0].$data.entries[a].category_name=t._searchInput.value}function G(e,t){const a=parseInt(t._searchInput.attributes["data-index"].value);if(typeof e<"u"&&e.description){document.querySelector("#form")._x_dataStack[0].$data.entries[a].description=e.description;return}document.querySelector("#form")._x_dataStack[0].$data.entries[a].description=t._searchInput.value}function O(e,t){if(typeof e>"u"){const a=parseInt(t._searchInput.attributes["data-index"].value);if(document.querySelector("#form")._x_dataStack[0].$data.entries[a].destination_account.name===t._searchInput.value){console.warn('Ignore hallucinated destination account name change to "'+t._searchInput.value+'"');return}document.querySelector("#form")._x_dataStack[0].$data.entries[a].destination_account={name:t._searchInput.value,alpine_name:t._searchInput.value},document.querySelector("#form")._x_dataStack[0].changedDestinationAccount()}}function B(e,t){const a=parseInt(t._searchInput.attributes["data-index"].value);document.querySelector("#form")._x_dataStack[0].$data.entries[a].destination_account={id:e.id,name:e.name,alpine_name:e.name,type:e.type,currency_code:e.currency_code},document.querySelector("#form")._x_dataStack[0].changedDestinationAccount()}function P(e,t){if(typeof e>"u"){const a=parseInt(t._searchInput.attributes["data-index"].value);if(document.querySelector("#form")._x_dataStack[0].$data.entries[a].source_account.name===t._searchInput.value)return;document.querySelector("#form")._x_dataStack[0].$data.entries[a].source_account={name:t._searchInput.value,alpine_name:t._searchInput.value},document.querySelector("#form")._x_dataStack[0].changedSourceAccount()}}function D(e,t){const a=parseInt(t._searchInput.attributes["data-index"].value);document.querySelector("#form")._x_dataStack[0].$data.entries[a].source_account={id:e.id,name:e.name,alpine_name:e.name,type:e.type,currency_code:e.currency_code},document.querySelector("#form")._x_dataStack[0].changedSourceAccount()}export{q as a,C as b,w as c,y as d,I as e,$ as f,P as g,O as h,B as i,j,A as k,x as l,G as m,D as s}; diff --git a/public/build/assets/autocomplete-functions-ac0d2cb1.js b/public/build/assets/autocomplete-functions-ac0d2cb1.js new file mode 100644 index 0000000000..6327601eaa --- /dev/null +++ b/public/build/assets/autocomplete-functions-ac0d2cb1.js @@ -0,0 +1 @@ +import{a as l}from"./format-money-e259f5e4.js";import{a as p,G as m}from"./get-da167d5b.js";import{n as f}from"./vendor-fca45885.js";let g=class{list(t){return l.get("/api/v2/currencies",{params:t})}};function v(){let e={page:1,limit:1337};return new g().list(e).then(a=>{let n={defaultCurrency:{},nativeCurrencies:[],foreignCurrencies:[],enabledCurrencies:[]};n.foreignCurrencies.push({id:0,name:"(no foreign currency)",code:"",default:!1,symbol:"",decimal_places:2});for(let i in a.data.data)if(a.data.data.hasOwnProperty(i)){let r=a.data.data[i];if(r.attributes.enabled){let u={id:r.id,name:r.attributes.name,code:r.attributes.code,default:r.attributes.default,symbol:r.attributes.symbol,decimal_places:r.attributes.decimal_places};u.default&&(n.defaultCurrency=u),n.enabledCurrencies.push(u),n.nativeCurrencies.push(u),n.foreignCurrencies.push(u)}}return n})}class _{list(t){return l.get("/api/v2/budgets",{params:t})}}function I(){let e={page:1,limit:1337};return new _().list(e).then(a=>{let n=[{id:0,name:"(no budget)"}];for(let i in a.data.data)if(a.data.data.hasOwnProperty(i)){let r=a.data.data[i],u={id:r.id,name:r.attributes.name};n.push(u)}return n})}function x(){let e={page:1,limit:1337};return new p().list(e).then(a=>{let n={0:{id:0,name:"(no group)",order:0,piggyBanks:[{id:0,name:"(no piggy bank)",order:0}]}};for(let i in a.data.data)if(a.data.data.hasOwnProperty(i)){let r=a.data.data[i],u=r.attributes.object_group_id??"0",c=r.attributes.object_group_title??"(no group)",d={id:r.id,name:r.attributes.name,order:r.attributes.order};n.hasOwnProperty(u)||(n[u]={id:u,name:c,order:r.attributes.object_group_order??0,piggyBanks:[]}),n[u].piggyBanks.push(d),n[u].piggyBanks.sort((o,s)=>o.order-s.order)}return Object.keys(n).sort().reduce((i,r)=>(i[r]=n[r],i),{})})}function k(){let e={page:1,limit:1337};return new m().list(e).then(a=>{let n={0:{id:0,name:"(no group)",order:0,subscriptions:[{id:0,name:"(no subscription)",order:0}]}};for(let i in a.data.data)if(a.data.data.hasOwnProperty(i)){let r=a.data.data[i],u=r.attributes.object_group_id??"0",c=r.attributes.object_group_title??"(no group)",d={id:r.id,name:r.attributes.name,order:r.attributes.order};n.hasOwnProperty(u)||(n[u]={id:u,name:c,order:r.attributes.object_group_order??0,subscriptions:[]}),n[u].subscriptions.push(d),n[u].subscriptions.sort((o,s)=>o.order-s.order)}return Object.keys(n).sort().reduce((i,r)=>(i[r]=n[r],i),{})})}function q(){return{description:"/api/v2/autocomplete/transaction-descriptions",account:"/api/v2/autocomplete/accounts",category:"/api/v2/autocomplete/categories",tag:"/api/v2/autocomplete/tags"}}function C(e){const t={server:e.serverUrl,serverParams:{},fetchOptions:{headers:{"X-CSRF-TOKEN":document.head.querySelector('meta[name="csrf-token"]').content}},hiddenInput:!0,highlightTyped:!0,liveServer:!0};typeof e.filters<"u"&&e.filters.length>0&&(t.serverParams.types=e.filters),typeof e.onRenderItem<"u"&&e.onRenderItem!==null&&(t.onRenderItem=e.onRenderItem),e.valueField&&(t.valueField=e.valueField),e.labelField&&(t.labelField=e.labelField),e.onSelectItem&&(t.onSelectItem=e.onSelectItem),e.onChange&&(t.onChange=e.onChange),e.hiddenValue&&(t.hiddenValue=e.hiddenValue),f.init(e.selector,t)}function j(e,t){const a=parseInt(t._searchInput.attributes["data-index"].value);if(typeof e<"u"&&e.name){document.querySelector("#form")._x_dataStack[0].$data.entries[a].category_name=e.name;return}document.querySelector("#form")._x_dataStack[0].$data.entries[a].category_name=t._searchInput.value}function $(e,t){const a=parseInt(t._searchInput.attributes["data-index"].value);if(typeof e<"u"&&e.description){document.querySelector("#form")._x_dataStack[0].$data.entries[a].description=e.description;return}document.querySelector("#form")._x_dataStack[0].$data.entries[a].description=t._searchInput.value}function w(e,t){if(typeof e>"u"){const a=parseInt(t._searchInput.attributes["data-index"].value);if(document.querySelector("#form")._x_dataStack[0].$data.entries[a].destination_account.name===t._searchInput.value){console.warn('Ignore hallucinated destination account name change to "'+t._searchInput.value+'"');return}document.querySelector("#form")._x_dataStack[0].$data.entries[a].destination_account={name:t._searchInput.value,alpine_name:t._searchInput.value},document.querySelector("#form")._x_dataStack[0].changedDestinationAccount()}}function A(e,t){const a=parseInt(t._searchInput.attributes["data-index"].value);document.querySelector("#form")._x_dataStack[0].$data.entries[a].destination_account={id:e.id,name:e.name,alpine_name:e.name,type:e.type,currency_code:e.currency_code},document.querySelector("#form")._x_dataStack[0].changedDestinationAccount()}function G(e,t){if(typeof e>"u"){const a=parseInt(t._searchInput.attributes["data-index"].value);if(document.querySelector("#form")._x_dataStack[0].$data.entries[a].source_account.name===t._searchInput.value)return;document.querySelector("#form")._x_dataStack[0].$data.entries[a].source_account={name:t._searchInput.value,alpine_name:t._searchInput.value},document.querySelector("#form")._x_dataStack[0].changedSourceAccount()}}function O(e,t){const a=parseInt(t._searchInput.attributes["data-index"].value);document.querySelector("#form")._x_dataStack[0].$data.entries[a].source_account={id:e.id,name:e.name,alpine_name:e.name,type:e.type,currency_code:e.currency_code},document.querySelector("#form")._x_dataStack[0].changedSourceAccount()}export{I as a,x as b,k as c,C as d,G as e,w as f,A as g,q as h,j as i,$ as j,v as l,O as s}; diff --git a/public/build/assets/create-8992c704.js b/public/build/assets/create-8992c704.js deleted file mode 100644 index a0c3a48d6f..0000000000 --- a/public/build/assets/create-8992c704.js +++ /dev/null @@ -1 +0,0 @@ -import{a as v,d as E,f as _}from"./get-51a7c3ed.js";import{l as P,a as S,b as T,c as L,d as k,e as A,f as h,g as x,s as D,h as O,i as B,j as F,k as y,m as w}from"./autocomplete-functions-3410a57d.js";import{o as g,i as d,q as z}from"./vendor-824d08a0.js";function M(e,n){let t=[];for(let r in e)if(e.hasOwnProperty(r)){const o=e[r];let i={};i.description=o.description,i.source_name=o.source_account.name,i.destination_name=o.destination_account.name,i.amount=o.amount,i.currency_code=o.currency_code,i.date=o.date,i.interest_date=o.interest_date,i.book_date=o.book_date,i.process_date=o.process_date,i.due_date=o.due_date,i.payment_date=o.payment_date,i.invoice_date=o.invoice_date,i.budget_id=o.budget_id,i.category_name=o.category_name,i.piggy_bank_id=o.piggy_bank_id,i.bill_id=o.bill_id,i.tags=o.tags,i.notes=o.notes,i.internal_reference=o.internal_reference,i.external_url=o.external_url,i.store_location=!1,o.hasLocation&&(i.store_location=!0,i.longitude=o.longitude.toString(),i.latitude=o.latitude.toString(),i.zoom_level=o.zoomLevel),typeof o.foreign_currency_code<"u"&&o.foreign_currency_code.toString()!==""&&(i.foreign_currency_code=o.foreign_currency_code,typeof o.foreign_amount<"u"&&o.foreign_amount.toString()!==""&&(i.foreign_amount=o.foreign_amount),(typeof o.foreign_amount>"u"||o.foreign_amount.toString()==="")&&(delete i.foreign_amount,delete i.foreign_currency_code)),typeof o.source_account.id<"u"&&o.source_account.id.toString()!==""&&(i.source_id=o.source_account.id),typeof o.destination_account.id<"u"&&o.destination_account.id.toString()!==""&&(i.destination_id=o.destination_account.id),i.type=n,t.push(i)}return t}let U=class{post(n){let t="/api/v2/transactions";return v.post(t,n)}};class I{post(n,t,r){let o="/api/v1/attachments";return v.post(o,{filename:n,attachable_type:t,attachable_id:r})}upload(n,t){let r="./api/v1/attachments/"+n+"/upload";return axios.post(r,t)}}let R=function(e){let n=e.length,t=0,r=!1;for(const o in e)if(e.hasOwnProperty(o)&&/^0$|^[1-9]\d*$/.test(o)&&o<=4294967294&&r===!1){let i=new I;i.post(e[o].name,"TransactionJournal",e[o].journal).then(s=>{let a=parseInt(s.data.data.id);i.upload(a,e[o].content).then(u=>{if(t++,t===n){const l=new CustomEvent("upload-success",{some:"details"});document.dispatchEvent(l)}}).catch(u=>{console.error("Could not upload"),console.error(u),t++;const l=new CustomEvent("upload-failed",{error:u});document.dispatchEvent(l),r=!0})}).catch(s=>{console.error("Could not create upload."),console.error(s),t++;const a=new CustomEvent("upload-failed",{error:s});document.dispatchEvent(a),r=!0})}};function N(e,n){n=n.reverse();let t=[],r=0,o=[],i=document.querySelectorAll('input[name="attachments[]"]');for(const s in i)if(i.hasOwnProperty(s)&&/^0$|^[1-9]\d*$/.test(s)&&s<=4294967294)for(const a in i[s].files)i[s].files.hasOwnProperty(a)&&/^0$|^[1-9]\d*$/.test(a)&&a<=4294967294&&(t.push({journal:n[s].transaction_journal_id,file:i[s].files[a]}),r++);for(const s in t)t.hasOwnProperty(s)&&/^0$|^[1-9]\d*$/.test(s)&&s<=4294967294&&function(a,u){let l=new FileReader;l.onloadend=function(m){m.target.readyState===FileReader.DONE&&(o.push({name:t[u].file.name,journal:t[u].journal,content:new Blob([m.target.result])}),o.length===r&&R(o))},l.readAsArrayBuffer(a.file)}(t[s],s);return r}function $(e,n,t){let r=[];for(let o in t)t.hasOwnProperty(o)&&r.push(t[o].replace(e,n));return r}function j(e,n,t){let r,o,i;for(const s in n)if(n.hasOwnProperty(s)){if(s==="group_title"){console.error("Cannot handle error in group title.");continue}if(r=parseInt(s.split(".")[1]),o=s.split(".")[2],i=$(s,o,n[s]),!t.hasOwnProperty(r)){console.error("Cannot handle errors in index #"+r);continue}switch(o){case"currency_code":case"foreign_currency_code":case"category_name":case"piggy_bank_id":case"notes":case"internal_reference":case"external_url":case"latitude":case"longitude":case"zoom_level":case"interest_date":case"book_date":case"process_date":case"due_date":case"payment_date":case"invoice_date":case"amount":case"date":case"budget_id":case"bill_id":case"description":case"tags":t[r].errors[o]=i;break;case"source_name":case"source_id":t[r].errors.source_account=t[r].errors.source_account.concat(i);break;case"type":t[r].errors.source_account=t[r].errors.source_account.concat([e.t("validation.bad_type_source")]),t[r].errors.destination_account=t[r].errors.destination_account.concat([e.t("validation.bad_type_destination")]);break;case"destination_name":case"destination_id":t[r].errors.destination_account=t[r].errors.destination_account.concat(i);break;case"foreign_amount":case"foreign_currency_id":t[r].errors.foreign_amount=t[r].errors.foreign_amount.concat(i);break}typeof t[r]<"u"&&(t[r].errors.source_account=Array.from(new Set(t[r].errors.source_account)),t[r].errors.destination_account=Array.from(new Set(t[r].errors.destination_account)))}return console.log(t[0].errors),t}let c=[],f=[];document.addEventListener("location-remove",e=>{f[e.detail.index].remove()});function q(e){let n=0;if(document.querySelector("#form")._x_dataStack[0].$data.entries[n].hasLocation===!1){f[n]=new g.marker(e.latlng,{draggable:!0}),f[n].on("dragend",H),f[n].addTo(c[n]);const r=new CustomEvent("location-set",{detail:{latitude:e.latlng.lat,longitude:e.latlng.lng,index:n,zoomLevel:c[n].getZoom()}});document.dispatchEvent(r)}}function Z(e){let n=0;const t=new CustomEvent("location-zoom",{detail:{index:n,zoomLevel:c[n].getZoom()}});document.dispatchEvent(t)}function H(e){let n=e.target,t=n.getLatLng();n.setLatLng(new g.LatLng(t.lat,t.lng),{draggable:"true"});const r=new CustomEvent("location-move",{detail:{latitude:t.lat,longitude:t.lng,index:0}});document.dispatchEvent(r)}function K(e){if(e>0){console.warn("Corwardly refuse to add a map on split #"+(e+1));return}if(typeof c[e]>"u"){let n=document.getElementById("location_map");c[e]=g.map(n).setView([n.dataset.latitude,n.dataset.longitude],n.dataset.zoomLevel),g.tileLayer("https://tile.openstreetmap.org/{z}/{x}/{y}.png",{maxZoom:19,attribution:'© OpenStreetMap'}).addTo(c[e]),c[e].on("click",q),c[e].on("zoomend",Z)}}const p=F();let V=function(){return{entries:[],formStates:{loadingCurrencies:!0,loadingBudgets:!0,loadingPiggyBanks:!0,loadingSubscriptions:!0,isSubmitting:!1,returnHereButton:!1,saveAsNewButton:!1,resetButton:!0,rulesButton:!0,webhooksButton:!0},formBehaviour:{formType:"create",foreignCurrencyEnabled:!0},formData:{defaultCurrency:null,enabledCurrencies:[],nativeCurrencies:[],foreignCurrencies:[],budgets:[],piggyBanks:[],subscriptions:[]},groupProperties:{transactionType:"unknown",title:null,id:null,totalAmount:0},notifications:{error:{show:!1,text:"",url:""},success:{show:!1,text:"",url:""},wait:{show:!1,text:""}},filters:{source:[],destination:[]},changedDateTime(e){console.warn("changedDateTime, event is not used")},changedDescription(e){console.warn("changedDescription, event is not used")},changedDestinationAccount(e){this.detectTransactionType()},changedSourceAccount(e){this.detectTransactionType()},detectTransactionType(){const e=this.entries[0].source_account.type??"unknown",n=this.entries[0].destination_account.type??"unknown";if(e==="unknown"&&n==="unknown"){this.groupProperties.transactionType="unknown",console.warn("Cannot infer transaction type from two unknown accounts.");return}if(e===n&&["Asset account","Loan","Debt","Mortgage"].includes(e)){this.groupProperties.transactionType="transfer",console.log('Transaction type is detected to be "'+this.groupProperties.transactionType+'".'),console.log("filter down currencies for transfer."),this.filterNativeCurrencies(this.entries[0].source_account.currency_code),this.filterForeignCurrencies(this.entries[0].destination_account.currency_code);return}if(e==="Asset account"&&["Expense account","Debt","Loan","Mortgage"].includes(n)){this.groupProperties.transactionType="withdrawal",console.log('[a] Transaction type is detected to be "'+this.groupProperties.transactionType+'".'),this.filterNativeCurrencies(this.entries[0].source_account.currency_code);return}if(e==="Asset account"&&n==="unknown"){this.groupProperties.transactionType="withdrawal",console.log('[b] Transaction type is detected to be "'+this.groupProperties.transactionType+'".'),console.log(this.entries[0].source_account),this.filterNativeCurrencies(this.entries[0].source_account.currency_code);return}if(["Debt","Loan","Mortgage"].includes(e)&&n==="Expense account"){this.groupProperties.transactionType="withdrawal",console.log('[c] Transaction type is detected to be "'+this.groupProperties.transactionType+'".'),this.filterNativeCurrencies(this.entries[0].source_account.currency_code);return}if(e==="Revenue account"&&["Asset account","Debt","Loan","Mortgage"].includes(n)){this.groupProperties.transactionType="deposit",console.log('Transaction type is detected to be "'+this.groupProperties.transactionType+'".');return}if(["Debt","Loan","Mortgage"].includes(e)&&n==="Asset account"){this.groupProperties.transactionType="deposit",console.log('Transaction type is detected to be "'+this.groupProperties.transactionType+'".');return}console.warn('Unknown account combination between "'+e+'" and "'+n+'".')},formattedTotalAmount(){return this.entries.length===0?_(this.groupProperties.totalAmount,"EUR"):_(this.groupProperties.totalAmount,this.entries[0].currency_code??"EUR")},filterForeignCurrencies(e){let n=[],t;for(let r in this.formData.enabledCurrencies)if(this.formData.enabledCurrencies.hasOwnProperty(r)){let o=this.formData.enabledCurrencies[r];o.code===e&&(t=o)}n.push(t),this.formData.foreignCurrencies=n,n.length===1&&n[0].code===this.entries[0].source_account.currency_code&&(console.log("Foreign currency is same as source currency. Disable foreign amount."),this.formBehaviour.foreignCurrencyEnabled=!1),n.length===1&&n[0].code!==this.entries[0].source_account.currency_code&&(console.log("Foreign currency is NOT same as source currency. Enable foreign amount."),this.formBehaviour.foreignCurrencyEnabled=!0);for(let r in this.entries)this.entries.hasOwnProperty(r)&&(this.entries[r].foreign_currency_code=e)},filterNativeCurrencies(e){let n=[],t;for(let r in this.formData.enabledCurrencies)if(this.formData.enabledCurrencies.hasOwnProperty(r)){let o=this.formData.enabledCurrencies[r];o.code===e&&(t=o)}n.push(t),this.formData.nativeCurrencies=n;for(let r in this.entries)this.entries.hasOwnProperty(r)&&(this.entries[r].currency_code=e)},changedAmount(e){const n=parseInt(e.target.dataset.index);this.entries[n].amount=parseFloat(e.target.value),this.groupProperties.totalAmount=0;for(let t in this.entries)this.entries.hasOwnProperty(t)&&(this.groupProperties.totalAmount=this.groupProperties.totalAmount+parseFloat(this.entries[t].amount))},addedSplit(){},processUpload(e){this.showMessageOrRedirectUser()},processUploadError(e){this.notifications.success.show=!1,this.notifications.wait.show=!1,this.notifications.error.show=!0,this.formStates.isSubmitting=!1,this.notifications.error.text=d.t("firefly.errors_upload"),console.error(e)},init(){this.addSplit(),P().then(e=>{this.formStates.loadingCurrencies=!1,this.formData.defaultCurrency=e.defaultCurrency,this.formData.enabledCurrencies=e.enabledCurrencies,this.formData.nativeCurrencies=e.nativeCurrencies,this.formData.foreignCurrencies=e.foreignCurrencies}),S().then(e=>{this.formData.budgets=e,this.formStates.loadingBudgets=!1}),T().then(e=>{this.formData.piggyBanks=e,this.formStates.loadingPiggyBanks=!1}),L().then(e=>{this.formData.subscriptions=e,this.formStates.loadingSubscriptions=!1}),document.addEventListener("upload-success",e=>{this.processUpload(e),document.querySelectorAll("input[type=file]").value=""}),document.addEventListener("upload-error",e=>{this.processUploadError(e)}),document.addEventListener("location-move",e=>{this.entries[e.detail.index].latitude=e.detail.latitude,this.entries[e.detail.index].longitude=e.detail.longitude}),document.addEventListener("location-set",e=>{this.entries[e.detail.index].hasLocation=!0,this.entries[e.detail.index].latitude=e.detail.latitude,this.entries[e.detail.index].longitude=e.detail.longitude,this.entries[e.detail.index].zoomLevel=e.detail.zoomLevel}),document.addEventListener("location-zoom",e=>{this.entries[e.detail.index].hasLocation=!0,this.entries[e.detail.index].zoomLevel=e.detail.zoomLevel}),this.filters.source=["Asset account","Loan","Debt","Mortgage","Revenue account"],this.filters.destination=["Expense account","Loan","Debt","Mortgage","Asset account"]},submitTransaction(){this.notifications.error.show=!1,this.notifications.success.show=!1,this.notifications.wait.show=!1;for(let r in this.entries)this.entries.hasOwnProperty(r)&&(this.entries[r].errors=k());this.formStates.isSubmitting=!0,this.detectTransactionType();let e=M(this.entries,this.groupProperties.transactionType),n={group_title:this.groupProperties.title,fire_webhooks:this.formStates.webhooksButton,apply_rules:this.formStates.rulesButton,transactions:e};this.groupProperties.title===null&&e.length>1&&(n.group_title=e[0].description);let t=new U;console.log(n),t.post(n).then(r=>{const o=r.data.data;if(this.groupProperties.id=parseInt(o.id),this.groupProperties.title=o.attributes.group_title??o.attributes.transactions[0].description,N(this.groupProperties.id,o.attributes.transactions)>0){this.notifications.wait.show=!0,this.notifications.wait.text=d.t("firefly.wait_attachments");return}this.showMessageOrRedirectUser()}).catch(r=>{this.submitting=!1,console.log(r),typeof r.response<"u"&&this.parseErrors(r.response.data)})},showMessageOrRedirectUser(){if(this.notifications.error.show=!1,this.notifications.success.show=!1,this.notifications.wait.show=!1,this.formStates.returnHereButton){this.notifications.success.show=!0,this.notifications.success.url="transactions/show/"+this.groupProperties.id,this.notifications.success.text=d.t("firefly.stored_journal_js",{description:this.groupProperties.title}),this.formStates.resetButton&&(this.entries=[],this.addSplit(),this.groupProperties.totalAmount=0);return}window.location="transactions/show/"+this.groupProperties.id+"?transaction_group_id="+this.groupProperties.id+"&message=created"},parseErrors(e){this.notifications.error.show=!0,this.notifications.success.show=!1,this.notifications.wait.show=!1,this.formStates.isSubmitting=!1,this.notifications.error.text=d.t("firefly.errors_submission",{errorMessage:e.message}),e.hasOwnProperty("errors")&&(this.entries=j(i18n,e.errors,this.entries))},addSplit(){this.entries.push(A()),setTimeout(()=>{z.init("select.ac-tags",{allowClear:!0,server:p.tag,liveServer:!0,clearEnd:!0,allowNew:!0,notFoundMessage:d.t("firefly.nothing_found"),noCache:!0,fetchOptions:{headers:{"X-CSRF-TOKEN":document.head.querySelector('meta[name="csrf-token"]').content}}});const e=this.entries.length-1;K(e);const n=function(t,r,o){return t.name_with_balance+'
'+d.t("firefly.account_type_"+t.type)+""};h({selector:"input.ac-source",serverUrl:p.account,onChange:x,onSelectItem:D,hiddenValue:this.items[e].source_account.alpine_name}),h({selector:"input.ac-dest",serverUrl:p.account,filters:this.filters.destination,onRenderItem:n,onChange:O,onSelectItem:B}),h({selector:"input.ac-category",serverUrl:p.category,valueField:"id",labelField:"name",onChange:y,onSelectItem:y}),h({selector:"input.ac-description",serverUrl:p.description,valueField:"id",labelField:"description",onChange:w,onSelectItem:w})},150)},removeSplit(e){this.entries.splice(e,1),document.querySelector("#split-0-tab").click()},clearLocation(e){e.preventDefault();const n=e.currentTarget,t=parseInt(n.attributes["data-index"].value);this.entries[t].hasLocation=!1,this.entries[t].latitude=null,this.entries[t].longitude=null,this.entries[t].zoomLevel=null;const r=new CustomEvent("location-remove",{detail:{index:t}});return document.dispatchEvent(r),!1}}},b={transactions:V,dates:E};function C(){Object.keys(b).forEach(e=>{console.log(`Loading page component "${e}"`);let n=b[e]();Alpine.data(e,()=>n)}),Alpine.start()}document.addEventListener("firefly-iii-bootstrapped",()=>{console.log("Loaded through event listener."),C()});window.bootstrapped&&(console.log("Loaded through window variable."),C()); diff --git a/public/build/assets/create-9af1982c.js b/public/build/assets/create-9af1982c.js new file mode 100644 index 0000000000..6aa4f52fbf --- /dev/null +++ b/public/build/assets/create-9af1982c.js @@ -0,0 +1 @@ +import{a as v,d as E,f as _}from"./format-money-e259f5e4.js";import{d as P,c as S}from"./create-empty-split-fb5bda92.js";import{l as T,a as L,b as k,c as A,d as h,e as x,s as D,f as O,g as B,h as F,i as y,j as w}from"./autocomplete-functions-ac0d2cb1.js";import{l as g,i as d,m as z}from"./vendor-fca45885.js";import"./get-da167d5b.js";function M(e,n){let t=[];for(let r in e)if(e.hasOwnProperty(r)){const o=e[r];let i={};i.description=o.description,i.source_name=o.source_account.name,i.destination_name=o.destination_account.name,i.amount=o.amount,i.currency_code=o.currency_code,i.date=o.date,i.interest_date=o.interest_date,i.book_date=o.book_date,i.process_date=o.process_date,i.due_date=o.due_date,i.payment_date=o.payment_date,i.invoice_date=o.invoice_date,i.budget_id=o.budget_id,i.category_name=o.category_name,i.piggy_bank_id=o.piggy_bank_id,i.bill_id=o.bill_id,i.tags=o.tags,i.notes=o.notes,i.internal_reference=o.internal_reference,i.external_url=o.external_url,i.store_location=!1,o.hasLocation&&(i.store_location=!0,i.longitude=o.longitude.toString(),i.latitude=o.latitude.toString(),i.zoom_level=o.zoomLevel),typeof o.foreign_currency_code<"u"&&o.foreign_currency_code.toString()!==""&&(i.foreign_currency_code=o.foreign_currency_code,typeof o.foreign_amount<"u"&&o.foreign_amount.toString()!==""&&(i.foreign_amount=o.foreign_amount),(typeof o.foreign_amount>"u"||o.foreign_amount.toString()==="")&&(delete i.foreign_amount,delete i.foreign_currency_code)),typeof o.source_account.id<"u"&&o.source_account.id.toString()!==""&&(i.source_id=o.source_account.id),typeof o.destination_account.id<"u"&&o.destination_account.id.toString()!==""&&(i.destination_id=o.destination_account.id),i.type=n,t.push(i)}return t}let U=class{post(n){let t="/api/v2/transactions";return v.post(t,n)}};class I{post(n,t,r){let o="/api/v1/attachments";return v.post(o,{filename:n,attachable_type:t,attachable_id:r})}upload(n,t){let r="./api/v1/attachments/"+n+"/upload";return axios.post(r,t)}}let R=function(e){let n=e.length,t=0,r=!1;for(const o in e)if(e.hasOwnProperty(o)&&/^0$|^[1-9]\d*$/.test(o)&&o<=4294967294&&r===!1){let i=new I;i.post(e[o].name,"TransactionJournal",e[o].journal).then(s=>{let a=parseInt(s.data.data.id);i.upload(a,e[o].content).then(u=>{if(t++,t===n){const l=new CustomEvent("upload-success",{some:"details"});document.dispatchEvent(l)}}).catch(u=>{console.error("Could not upload"),console.error(u),t++;const l=new CustomEvent("upload-failed",{error:u});document.dispatchEvent(l),r=!0})}).catch(s=>{console.error("Could not create upload."),console.error(s),t++;const a=new CustomEvent("upload-failed",{error:s});document.dispatchEvent(a),r=!0})}};function N(e,n){n=n.reverse();let t=[],r=0,o=[],i=document.querySelectorAll('input[name="attachments[]"]');for(const s in i)if(i.hasOwnProperty(s)&&/^0$|^[1-9]\d*$/.test(s)&&s<=4294967294)for(const a in i[s].files)i[s].files.hasOwnProperty(a)&&/^0$|^[1-9]\d*$/.test(a)&&a<=4294967294&&(t.push({journal:n[s].transaction_journal_id,file:i[s].files[a]}),r++);for(const s in t)t.hasOwnProperty(s)&&/^0$|^[1-9]\d*$/.test(s)&&s<=4294967294&&function(a,u){let l=new FileReader;l.onloadend=function(m){m.target.readyState===FileReader.DONE&&(o.push({name:t[u].file.name,journal:t[u].journal,content:new Blob([m.target.result])}),o.length===r&&R(o))},l.readAsArrayBuffer(a.file)}(t[s],s);return r}function $(e,n,t){let r=[];for(let o in t)t.hasOwnProperty(o)&&r.push(t[o].replace(e,n));return r}function j(e,n,t){let r,o,i;for(const s in n)if(n.hasOwnProperty(s)){if(s==="group_title"){console.error("Cannot handle error in group title.");continue}if(r=parseInt(s.split(".")[1]),o=s.split(".")[2],i=$(s,o,n[s]),!t.hasOwnProperty(r)){console.error("Cannot handle errors in index #"+r);continue}switch(o){case"currency_code":case"foreign_currency_code":case"category_name":case"piggy_bank_id":case"notes":case"internal_reference":case"external_url":case"latitude":case"longitude":case"zoom_level":case"interest_date":case"book_date":case"process_date":case"due_date":case"payment_date":case"invoice_date":case"amount":case"date":case"budget_id":case"bill_id":case"description":case"tags":t[r].errors[o]=i;break;case"source_name":case"source_id":t[r].errors.source_account=t[r].errors.source_account.concat(i);break;case"type":t[r].errors.source_account=t[r].errors.source_account.concat([e.t("validation.bad_type_source")]),t[r].errors.destination_account=t[r].errors.destination_account.concat([e.t("validation.bad_type_destination")]);break;case"destination_name":case"destination_id":t[r].errors.destination_account=t[r].errors.destination_account.concat(i);break;case"foreign_amount":case"foreign_currency_id":t[r].errors.foreign_amount=t[r].errors.foreign_amount.concat(i);break}typeof t[r]<"u"&&(t[r].errors.source_account=Array.from(new Set(t[r].errors.source_account)),t[r].errors.destination_account=Array.from(new Set(t[r].errors.destination_account)))}return console.log(t[0].errors),t}let c=[],f=[];document.addEventListener("location-remove",e=>{f[e.detail.index].remove()});function q(e){let n=0;if(document.querySelector("#form")._x_dataStack[0].$data.entries[n].hasLocation===!1){f[n]=new g.marker(e.latlng,{draggable:!0}),f[n].on("dragend",H),f[n].addTo(c[n]);const r=new CustomEvent("location-set",{detail:{latitude:e.latlng.lat,longitude:e.latlng.lng,index:n,zoomLevel:c[n].getZoom()}});document.dispatchEvent(r)}}function Z(e){let n=0;const t=new CustomEvent("location-zoom",{detail:{index:n,zoomLevel:c[n].getZoom()}});document.dispatchEvent(t)}function H(e){let n=e.target,t=n.getLatLng();n.setLatLng(new g.LatLng(t.lat,t.lng),{draggable:"true"});const r=new CustomEvent("location-move",{detail:{latitude:t.lat,longitude:t.lng,index:0}});document.dispatchEvent(r)}function K(e){if(e>0){console.warn("Corwardly refuse to add a map on split #"+(e+1));return}if(typeof c[e]>"u"){let n=document.getElementById("location_map");c[e]=g.map(n).setView([n.dataset.latitude,n.dataset.longitude],n.dataset.zoomLevel),g.tileLayer("https://tile.openstreetmap.org/{z}/{x}/{y}.png",{maxZoom:19,attribution:'© OpenStreetMap'}).addTo(c[e]),c[e].on("click",q),c[e].on("zoomend",Z)}}const p=F();let V=function(){return{entries:[],formStates:{loadingCurrencies:!0,loadingBudgets:!0,loadingPiggyBanks:!0,loadingSubscriptions:!0,isSubmitting:!1,returnHereButton:!1,saveAsNewButton:!1,resetButton:!0,rulesButton:!0,webhooksButton:!0},formBehaviour:{formType:"create",foreignCurrencyEnabled:!0},formData:{defaultCurrency:null,enabledCurrencies:[],nativeCurrencies:[],foreignCurrencies:[],budgets:[],piggyBanks:[],subscriptions:[]},groupProperties:{transactionType:"unknown",title:null,id:null,totalAmount:0},notifications:{error:{show:!1,text:"",url:""},success:{show:!1,text:"",url:""},wait:{show:!1,text:""}},filters:{source:[],destination:[]},changedDateTime(e){console.warn("changedDateTime, event is not used")},changedDescription(e){console.warn("changedDescription, event is not used")},changedDestinationAccount(e){this.detectTransactionType()},changedSourceAccount(e){this.detectTransactionType()},detectTransactionType(){const e=this.entries[0].source_account.type??"unknown",n=this.entries[0].destination_account.type??"unknown";if(e==="unknown"&&n==="unknown"){this.groupProperties.transactionType="unknown",console.warn("Cannot infer transaction type from two unknown accounts.");return}if(e===n&&["Asset account","Loan","Debt","Mortgage"].includes(e)){this.groupProperties.transactionType="transfer",console.log('Transaction type is detected to be "'+this.groupProperties.transactionType+'".'),console.log("filter down currencies for transfer."),this.filterNativeCurrencies(this.entries[0].source_account.currency_code),this.filterForeignCurrencies(this.entries[0].destination_account.currency_code);return}if(e==="Asset account"&&["Expense account","Debt","Loan","Mortgage"].includes(n)){this.groupProperties.transactionType="withdrawal",console.log('[a] Transaction type is detected to be "'+this.groupProperties.transactionType+'".'),this.filterNativeCurrencies(this.entries[0].source_account.currency_code);return}if(e==="Asset account"&&n==="unknown"){this.groupProperties.transactionType="withdrawal",console.log('[b] Transaction type is detected to be "'+this.groupProperties.transactionType+'".'),console.log(this.entries[0].source_account),this.filterNativeCurrencies(this.entries[0].source_account.currency_code);return}if(["Debt","Loan","Mortgage"].includes(e)&&n==="Expense account"){this.groupProperties.transactionType="withdrawal",console.log('[c] Transaction type is detected to be "'+this.groupProperties.transactionType+'".'),this.filterNativeCurrencies(this.entries[0].source_account.currency_code);return}if(e==="Revenue account"&&["Asset account","Debt","Loan","Mortgage"].includes(n)){this.groupProperties.transactionType="deposit",console.log('Transaction type is detected to be "'+this.groupProperties.transactionType+'".');return}if(["Debt","Loan","Mortgage"].includes(e)&&n==="Asset account"){this.groupProperties.transactionType="deposit",console.log('Transaction type is detected to be "'+this.groupProperties.transactionType+'".');return}console.warn('Unknown account combination between "'+e+'" and "'+n+'".')},formattedTotalAmount(){return this.entries.length===0?_(this.groupProperties.totalAmount,"EUR"):_(this.groupProperties.totalAmount,this.entries[0].currency_code??"EUR")},filterForeignCurrencies(e){let n=[],t;for(let r in this.formData.enabledCurrencies)if(this.formData.enabledCurrencies.hasOwnProperty(r)){let o=this.formData.enabledCurrencies[r];o.code===e&&(t=o)}n.push(t),this.formData.foreignCurrencies=n,n.length===1&&n[0].code===this.entries[0].source_account.currency_code&&(console.log("Foreign currency is same as source currency. Disable foreign amount."),this.formBehaviour.foreignCurrencyEnabled=!1),n.length===1&&n[0].code!==this.entries[0].source_account.currency_code&&(console.log("Foreign currency is NOT same as source currency. Enable foreign amount."),this.formBehaviour.foreignCurrencyEnabled=!0);for(let r in this.entries)this.entries.hasOwnProperty(r)&&(this.entries[r].foreign_currency_code=e)},filterNativeCurrencies(e){let n=[],t;for(let r in this.formData.enabledCurrencies)if(this.formData.enabledCurrencies.hasOwnProperty(r)){let o=this.formData.enabledCurrencies[r];o.code===e&&(t=o)}n.push(t),this.formData.nativeCurrencies=n;for(let r in this.entries)this.entries.hasOwnProperty(r)&&(this.entries[r].currency_code=e)},changedAmount(e){const n=parseInt(e.target.dataset.index);this.entries[n].amount=parseFloat(e.target.value),this.groupProperties.totalAmount=0;for(let t in this.entries)this.entries.hasOwnProperty(t)&&(this.groupProperties.totalAmount=this.groupProperties.totalAmount+parseFloat(this.entries[t].amount))},addedSplit(){},processUpload(e){this.showMessageOrRedirectUser()},processUploadError(e){this.notifications.success.show=!1,this.notifications.wait.show=!1,this.notifications.error.show=!0,this.formStates.isSubmitting=!1,this.notifications.error.text=d.t("firefly.errors_upload"),console.error(e)},init(){this.addSplit(),T().then(e=>{this.formStates.loadingCurrencies=!1,this.formData.defaultCurrency=e.defaultCurrency,this.formData.enabledCurrencies=e.enabledCurrencies,this.formData.nativeCurrencies=e.nativeCurrencies,this.formData.foreignCurrencies=e.foreignCurrencies}),L().then(e=>{this.formData.budgets=e,this.formStates.loadingBudgets=!1}),k().then(e=>{this.formData.piggyBanks=e,this.formStates.loadingPiggyBanks=!1}),A().then(e=>{this.formData.subscriptions=e,this.formStates.loadingSubscriptions=!1}),document.addEventListener("upload-success",e=>{this.processUpload(e),document.querySelectorAll("input[type=file]").value=""}),document.addEventListener("upload-error",e=>{this.processUploadError(e)}),document.addEventListener("location-move",e=>{this.entries[e.detail.index].latitude=e.detail.latitude,this.entries[e.detail.index].longitude=e.detail.longitude}),document.addEventListener("location-set",e=>{this.entries[e.detail.index].hasLocation=!0,this.entries[e.detail.index].latitude=e.detail.latitude,this.entries[e.detail.index].longitude=e.detail.longitude,this.entries[e.detail.index].zoomLevel=e.detail.zoomLevel}),document.addEventListener("location-zoom",e=>{this.entries[e.detail.index].hasLocation=!0,this.entries[e.detail.index].zoomLevel=e.detail.zoomLevel}),this.filters.source=["Asset account","Loan","Debt","Mortgage","Revenue account"],this.filters.destination=["Expense account","Loan","Debt","Mortgage","Asset account"]},submitTransaction(){this.notifications.error.show=!1,this.notifications.success.show=!1,this.notifications.wait.show=!1;for(let r in this.entries)this.entries.hasOwnProperty(r)&&(this.entries[r].errors=P());this.formStates.isSubmitting=!0,this.detectTransactionType();let e=M(this.entries,this.groupProperties.transactionType),n={group_title:this.groupProperties.title,fire_webhooks:this.formStates.webhooksButton,apply_rules:this.formStates.rulesButton,transactions:e};this.groupProperties.title===null&&e.length>1&&(n.group_title=e[0].description);let t=new U;console.log(n),t.post(n).then(r=>{const o=r.data.data;if(this.groupProperties.id=parseInt(o.id),this.groupProperties.title=o.attributes.group_title??o.attributes.transactions[0].description,N(this.groupProperties.id,o.attributes.transactions)>0){this.notifications.wait.show=!0,this.notifications.wait.text=d.t("firefly.wait_attachments");return}this.showMessageOrRedirectUser()}).catch(r=>{this.submitting=!1,console.log(r),typeof r.response<"u"&&this.parseErrors(r.response.data)})},showMessageOrRedirectUser(){if(this.notifications.error.show=!1,this.notifications.success.show=!1,this.notifications.wait.show=!1,this.formStates.returnHereButton){this.notifications.success.show=!0,this.notifications.success.url="transactions/show/"+this.groupProperties.id,this.notifications.success.text=d.t("firefly.stored_journal_js",{description:this.groupProperties.title}),this.formStates.resetButton&&(this.entries=[],this.addSplit(),this.groupProperties.totalAmount=0);return}window.location="transactions/show/"+this.groupProperties.id+"?transaction_group_id="+this.groupProperties.id+"&message=created"},parseErrors(e){this.notifications.error.show=!0,this.notifications.success.show=!1,this.notifications.wait.show=!1,this.formStates.isSubmitting=!1,this.notifications.error.text=d.t("firefly.errors_submission",{errorMessage:e.message}),e.hasOwnProperty("errors")&&(this.entries=j(i18n,e.errors,this.entries))},addSplit(){this.entries.push(S()),setTimeout(()=>{z.init("select.ac-tags",{allowClear:!0,server:p.tag,liveServer:!0,clearEnd:!0,allowNew:!0,notFoundMessage:d.t("firefly.nothing_found"),noCache:!0,fetchOptions:{headers:{"X-CSRF-TOKEN":document.head.querySelector('meta[name="csrf-token"]').content}}});const e=this.entries.length-1;K(e);const n=function(t,r,o){return t.name_with_balance+'
'+d.t("firefly.account_type_"+t.type)+""};h({selector:"input.ac-source",serverUrl:p.account,onChange:x,onSelectItem:D,hiddenValue:this.items[e].source_account.alpine_name}),h({selector:"input.ac-dest",serverUrl:p.account,filters:this.filters.destination,onRenderItem:n,onChange:O,onSelectItem:B}),h({selector:"input.ac-category",serverUrl:p.category,valueField:"id",labelField:"name",onChange:y,onSelectItem:y}),h({selector:"input.ac-description",serverUrl:p.description,valueField:"id",labelField:"description",onChange:w,onSelectItem:w})},150)},removeSplit(e){this.entries.splice(e,1),document.querySelector("#split-0-tab").click()},clearLocation(e){e.preventDefault();const n=e.currentTarget,t=parseInt(n.attributes["data-index"].value);this.entries[t].hasLocation=!1,this.entries[t].latitude=null,this.entries[t].longitude=null,this.entries[t].zoomLevel=null;const r=new CustomEvent("location-remove",{detail:{index:t}});return document.dispatchEvent(r),!1}}},b={transactions:V,dates:E};function C(){Object.keys(b).forEach(e=>{console.log(`Loading page component "${e}"`);let n=b[e]();Alpine.data(e,()=>n)}),Alpine.start()}document.addEventListener("firefly-iii-bootstrapped",()=>{console.log("Loaded through event listener."),C()});window.bootstrapped&&(console.log("Loaded through window variable."),C()); diff --git a/public/build/assets/create-empty-split-fb5bda92.js b/public/build/assets/create-empty-split-fb5bda92.js new file mode 100644 index 0000000000..ca74a5e066 --- /dev/null +++ b/public/build/assets/create-empty-split-fb5bda92.js @@ -0,0 +1 @@ +import{f as n}from"./vendor-fca45885.js";function e(){return{id:"",name:"",alpine_name:""}}function o(){return{description:[],amount:[],currency_code:[],foreign_amount:[],foreign_currency_code:[],source_account:[],destination_account:[],budget_id:[],category_name:[],piggy_bank_id:[],bill_id:[],tags:[],notes:[],internal_reference:[],external_url:[],latitude:[],longitude:[],zoom_level:[],date:[],interest_date:[],book_date:[],process_date:[],due_date:[],payment_date:[],invoice_date:[]}}function d(){let t=n(new Date,"yyyy-MM-dd HH:mm");return{description:"",amount:"",currency_code:"EUR",foreign_amount:"",foreign_currency_code:"",source_account:e(),destination_account:e(),budget_id:null,category_name:"",piggy_bank_id:null,bill_id:null,tags:[],notes:"",internal_reference:"",external_url:"",hasLocation:!1,latitude:null,longitude:null,zoomLevel:null,date:t,interest_date:"",book_date:"",process_date:"",due_date:"",payment_date:"",invoice_date:"",errors:o()}}export{d as c,o as d}; diff --git a/public/build/assets/dashboard-1d6bb3a8.js b/public/build/assets/dashboard-1d6bb3a8.js deleted file mode 100644 index 056050b168..0000000000 --- a/public/build/assets/dashboard-1d6bb3a8.js +++ /dev/null @@ -1 +0,0 @@ -import{a as O,f,g as w,P as vt,G as mt,b as Ct,d as kt}from"./get-51a7c3ed.js";import{f as p,C as m,a as F,i as g,B as Pt,b as Dt,c as xt,S as Ot,F as Mt,L as St,d as Ft,A as Bt,e as At,T as jt,P as Wt,g as $t,h as It,p as Vt,j as Kt,k as Lt,l as Et,m as Gt,n as Tt}from"./vendor-824d08a0.js";import{G as Rt}from"./get-c23f6e9c.js";class qt{get(e,n,a){return O.get("/api/v2/summary/basic",{params:{start:e,end:n,code:a}})}}function P(t,e,n){const a=p(e,"y-MM-dd")+"_"+p(n,"y-MM-dd")+"_"+t;return console.log("getCacheKey: "+a),String(a)}let z=!1;const Nt=()=>({balanceBox:{amounts:[],subtitles:[]},billBox:{paid:[],unpaid:[]},leftBox:{left:[],perDay:[]},netBox:{net:[]},autoConversion:!1,loading:!1,boxData:null,boxOptions:null,getFreshData(){const t=new Date(window.store.get("start")),e=new Date(window.store.get("end")),n=P("dashboard-boxes-data",t,e),a=window.store.get("cacheValid");let r=window.store.get(n);if(a&&typeof r<"u"){this.boxData=r,this.generateOptions(this.boxData);return}new qt().get(p(t,"yyyy-MM-dd"),p(e,"yyyy-MM-dd"),null).then(i=>{this.boxData=i.data,window.store.set(n,i.data),this.generateOptions(this.boxData)})},generateOptions(t){this.balanceBox={amounts:[],subtitles:[]},this.billBox={paid:[],unpaid:[]},this.leftBox={left:[],perDay:[]},this.netBox={net:[]};let e={};for(const n in t)if(t.hasOwnProperty(n)){const a=t[n];if(!a.hasOwnProperty("key"))continue;let r=a.key;if(this.autoConversion){if(r.startsWith("balance-in-native")){this.balanceBox.amounts.push(f(a.value,a.currency_code)),e.hasOwnProperty(a.currency_code)||(e[a.currency_code]="");continue}if(r.startsWith("spent-in-native")){e.hasOwnProperty(a.currency_code)||(e[a.currency_code]=""),e[a.currency_code]=e[a.currency_code]+f(a.value,a.currency_code);continue}if(r.startsWith("earned-in-native")){e.hasOwnProperty(a.currency_code)||(e[a.currency_code]=""),e[a.currency_code]=f(a.value,a.currency_code)+" + "+e[a.currency_code];continue}if(r.startsWith("bills-unpaid-in-native")){this.billBox.unpaid.push(f(a.value,a.currency_code));continue}if(r.startsWith("bills-paid-in-native")){this.billBox.paid.push(f(a.value,a.currency_code));continue}if(r.startsWith("left-to-spend-in-native")){this.leftBox.left.push(f(a.value,a.currency_code));continue}if(r.startsWith("left-per-day-to-spend-in-native")){this.leftBox.perDay.push(f(a.value,a.currency_code));continue}if(r.startsWith("net-worth-in-native")){this.netBox.net.push(f(a.value,a.currency_code));continue}}if(!this.autoConversion&&!r.endsWith("native")){if(r.startsWith("balance-in-")){this.balanceBox.amounts.push(f(a.value,a.currency_code));continue}if(r.startsWith("spent-in-")){e.hasOwnProperty(a.currency_code)||(e[a.currency_code]=""),e[a.currency_code]=e[a.currency_code]+f(a.value,a.currency_code);continue}if(r.startsWith("earned-in-")){e.hasOwnProperty(a.currency_code)||(e[a.currency_code]=""),e[a.currency_code]=f(a.value,a.currency_code)+" + "+e[a.currency_code];continue}if(r.startsWith("bills-unpaid-in-")){this.billBox.unpaid.push(f(a.value,a.currency_code));continue}if(r.startsWith("bills-paid-in-")){this.billBox.paid.push(f(a.value,a.currency_code));continue}if(r.startsWith("left-to-spend-in-")){this.leftBox.left.push(f(a.value,a.currency_code));continue}if(r.startsWith("left-per-day-to-spend-in-")){this.leftBox.perDay.push(f(a.value,a.currency_code));continue}r.startsWith("net-worth-in-")&&this.netBox.net.push(f(a.value,a.currency_code))}}for(let n in e)e.hasOwnProperty(n)&&this.balanceBox.subtitles.push(e[n]);this.loading=!1},loadBoxes(){if(this.loading!==!0){if(this.loading=!0,this.boxData===null){this.getFreshData();return}this.generateOptions(this.boxData),this.loading=!1}},init(){Promise.all([w("viewRange"),w("autoConversion",!1)]).then(t=>{z=!0,this.autoConversion=t[1],this.loadBoxes()}),window.store.observe("end",()=>{z&&(this.boxData=null,this.loadBoxes())}),window.store.observe("autoConversion",t=>{z&&(this.autoConversion=t,this.loadBoxes())})}});class Ut{put(e,n){let a="/api/v1/preferences/"+e;return O.put(a,{data:n})}}function Yt(t,e=null){window.store.set(t,e),new Ut().put(t,e).then(a=>{}).catch(()=>{new vt().post(t,e).then(r=>{})})}let zt=class{dashboard(e,n){let a=p(e,"y-MM-dd"),r=p(n,"y-MM-dd");return O.get("/api/v2/chart/account/dashboard",{params:{start:a,end:r}})}expense(e,n){let a=p(e,"y-MM-dd"),r=p(n,"y-MM-dd");return O.get("/api/v2/chart/account/expense-dashboard",{params:{start:a,end:r}})}};class lt{get(e,n){let a={date:p(n,"y-MM-dd").slice(0,10)};return n?O.get("/api/v2/accounts/"+e,{params:a}):O.get("/api/v2/accounts/"+e)}transactions(e,n){const a={page:n.page??1};return n.hasOwnProperty("start")&&(a.start=p(n.start,"y-MM-dd")),n.hasOwnProperty("end")&&(a.end=p(n.end,"y-MM-dd")),O.get("/api/v2/accounts/"+e+"/transactions",{params:a})}}function U(t){return t==="sankey"?{type:"sankey",data:{datasets:[]},options:{animations:!1}}:t==="pie"?{type:"pie",data:{datasets:[]}}:t==="column"?{type:"bar",data:{labels:[],datasets:[]},options:{plugins:{tooltip:{callbacks:{label:function(e){let n=e.dataset.currency_code;return f(e.raw,n)}}}},maintainAspectRatio:!1,scales:{}}}:t==="line"?{options:{plugins:{tooltip:{callbacks:{label:function(e){let n=e.dataset.currency_code;return f(e.raw,n)}}}},maintainAspectRatio:!1,scales:{x:{type:"time",time:{tooltipFormat:"PP"}}}},type:"line",data:{labels:[],datasets:[]}}:{}}let N=new m("#36a2eb"),$=new m("#ff6384"),T=new m("#4bc0c0"),pt=new m("#ff9f40"),Ht=new m("#9966ff"),Jt=new m("#ffcd56"),Zt=new m("#c9cbcf"),ut=0;window.theme==="dark"&&($.darken(.3).desaturate(.3),T.darken(.3).desaturate(.3),N.darken(.3).desaturate(.3),pt.darken(.3).desaturate(.3));let H=[$,pt,N,T,Ht,Jt,Zt,T];function j(t,e){let n={borderColor:$.rgbString(),backgroundColor:$.rgbString()},a;switch(t){default:let o=Math.floor(ut/2)%H.length;a=new m(H[o].rgbString()),a.lighten(.38),n={borderColor:H[o].hexString(),backgroundColor:a.hexString()};break;case"spent":a=new m(N.rgbString()),a.lighten(.38),n={borderColor:N.rgbString(),backgroundColor:a.rgbString()};break;case"left":a=new m(T.rgbString()),a.lighten(.38),n={borderColor:T.rgbString(),backgroundColor:a.rgbString()};break;case"overspent":a=new m($.rgbString()),a.lighten(.22),n={borderColor:$.rgbString(),backgroundColor:a.rgbString()};break}return ut++,e==="border"?n.borderColor:e==="background"?n.backgroundColor:"#FF0000"}let B=[],I=null,J=null,Z=!1;const Qt=()=>({loading:!1,loadingAccounts:!1,accountList:[],autoConversion:!1,chartOptions:null,switchAutoConversion(){this.autoConversion=!this.autoConversion,Yt("autoConversion",this.autoConversion)},getFreshData(){const t=new Date(window.store.get("start")),e=new Date(window.store.get("end")),n=P("dashboard-accounts-chart",t,e),a=window.store.get("cacheValid");let r=window.store.get(n);if(a&&typeof r<"u"){console.log(r),this.drawChart(this.generateOptions(r)),this.loading=!1;return}new zt().dashboard(t,e,null).then(i=>{this.chartData=i.data,window.store.set(n,i.data),console.log(i.data),this.drawChart(this.generateOptions(this.chartData)),this.loading=!1})},generateOptions(t){B=[];let e=U("line");for(let n=0;n0){this.loadingAccounts=!1;return}const t=new Date(window.store.get("start")),e=new Date(window.store.get("end")),n=P("dashboard-accounts-data",t,e),a=window.store.get("cacheValid");let r=window.store.get(n);if(a&&typeof r<"u"){this.accountList=r,this.loadingAccounts=!1;return}const o=10;let i=0,l=0,u=[];Promise.all([w("frontpageAccounts")]).then(d=>{i=d[0].length;for(let h in d[0]){let c=d[0];if(c.hasOwnProperty(h)){let _=c[h];new lt().get(_,new Date(window.store.get("end"))).then(v=>{let C=v.data.data;const wt={page:1,start:new Date(window.store.get("start")),end:new Date(window.store.get("end"))};new lt().transactions(C.id,wt).then(nt=>{let rt=[];for(let A=0;A=o);A++){let M=nt.data.data[A],ot={title:M.attributes.group_title===null?"":M.attributes.group_title,id:M.id,transactions:[]};for(let Y=0;YA.order-M.order),this.accountList=u,this.loadingAccounts=!1,window.store.set(n,u))})})}}})},init(){Promise.all([w("viewRange","1M"),w("autoConversion",!1),w("language","en_US")]).then(t=>{this.autoConversion=t[1],Z=!0,this.loadChart(),this.loadAccounts()}),window.store.observe("end",()=>{Z&&(J=null,this.accountList=[],this.loadChart(),this.loadAccounts())}),window.store.observe("autoConversion",()=>{Z&&(this.loadChart(),this.loadAccounts())})}});let Xt=class{dashboard(e,n){let a=p(e,"y-MM-dd"),r=p(n,"y-MM-dd");return O.get("/api/v2/chart/budget/dashboard",{params:{start:a,end:r}})}},V=[],R=null,S=null,Q=!1;const te=()=>({loading:!1,autoConversion:!1,loadChart(){if(this.loading!==!0){if(this.loading=!0,S!==null){this.drawChart(this.generateOptions(S)),this.loading=!1;return}this.getFreshData()}},drawChart(t){if(R!==null){R.data.datasets=t.data.datasets,R.update();return}R=new F(document.querySelector("#budget-chart"),t)},getFreshData(){const t=new Date(window.store.get("start")),e=new Date(window.store.get("end")),n=P("dashboard-budgets-chart",t,e),a=window.store.get("cacheValid");let r=window.store.get(n);if(a&&typeof r<"u"){S=r,this.drawChart(this.generateOptions(S)),this.loading=!1;return}new Xt().dashboard(t,e,null).then(i=>{S=i.data,this.drawChart(this.generateOptions(S)),window.store.set(n,S),this.loading=!1})},generateOptions(t){V=[];let e=U("column");e.options.locale=window.store.get("locale").replace("_","-"),e.options.plugins={tooltip:{callbacks:{title:function(n){return n.label},label:function(n){let a=n.dataset.label||"";return a&&(a+=": "),a+" "+f(n.parsed.y,V[n.parsed.x]??"EUR")}}}},e.data={labels:[],datasets:[{label:g.t("firefly.spent"),data:[],borderWidth:1,stack:1,backgroundColor:j("spent","background"),borderColor:j("spent","border")},{label:g.t("firefly.left"),data:[],borderWidth:1,stack:1,backgroundColor:j("left","background"),borderColor:j("left","border")},{label:g.t("firefly.overspent"),data:[],borderWidth:1,stack:1,backgroundColor:j("overspent","background"),borderColor:j("overspent","border")}]};for(const n in t)if(t.hasOwnProperty(n)){let a=t[n],r=a.label+" ("+a.currency_code+")";e.data.labels.push(r),this.autoConversion&&(V.push(a.native_currency_code),e.data.datasets[0].data.push(parseFloat(a.native_entries.spent)*-1),e.data.datasets[1].data.push(parseFloat(a.native_entries.left)),e.data.datasets[2].data.push(parseFloat(a.native_entries.overspent))),this.autoConversion||(V.push(a.currency_code),e.data.datasets[0].data.push(parseFloat(a.entries.spent)*-1),e.data.datasets[1].data.push(parseFloat(a.entries.left)),e.data.datasets[2].data.push(parseFloat(a.entries.overspent)))}return e.options.scales={y:{ticks:{callback:function(n){return f(n,V[0]??"EUR")}}}},e},init(){Promise.all([w("autoConversion",!1)]).then(t=>{this.autoConversion=t[0],Q=!0,this.loading===!1&&this.loadChart()}),window.store.observe("end",()=>{Q&&this.loading===!1&&(S=null,this.loadChart())}),window.store.observe("autoConversion",t=>{Q&&(this.autoConversion=t,this.loading===!1&&this.loadChart())})}});class ee{dashboard(e,n){let a=p(e,"y-MM-dd"),r=p(n,"y-MM-dd");return O.get("/api/v2/chart/category/dashboard",{params:{start:a,end:r}})}}let ct=[],K=null,W=null,X=!1;const ae=()=>({loading:!1,autoConversion:!1,generateOptions(t){ct=[];let e=U("column"),n={};for(const r in t)if(t.hasOwnProperty(r)){let o=t[r],i=o.currency_code;this.autoConversion&&(i=o.native_currency_code),n.hasOwnProperty(i)||(n[i]={name:i,yAxisID:"",data:{}},ct.push(i))}for(const r in t)if(t.hasOwnProperty(r)){let o=t[r],i=o.currency_code;this.autoConversion&&(i=o.native_currency_code);for(const l in n)if(n.hasOwnProperty(l)){let u=0;i===l&&(u=parseFloat(o.amount),""+o.currency_code,this.autoConversion&&(u=parseFloat(o.native_amount),""+o.native_currency_code)),n[l].data.hasOwnProperty(o.label)&&(n[l].data[o.label]=n[l].data[o.label]+u),n[l].data.hasOwnProperty(o.label)||(n[l].data[o.label]=u)}e.data.labels.includes(o.label)||e.data.labels.push(o.label)}let a=0;for(const r in n){let o="y"+r,i={label:r,currency_code:r,yAxisID:o,data:[]};for(const l in n[r].data)i.data.push(n[r].data[l]);e.data.datasets.push(i),e.options.scales.hasOwnProperty(o)||(e.options.scales[o]={beginAtZero:!0,type:"linear",position:a===1?"right":"left",ticks:{callback:function(l,u,d){return f(l,r)}}},a++)}return e},drawChart(t){if(K!==null){K.options=t.options,K.data=t.data,K.update();return}K=new F(document.querySelector("#category-chart"),t)},getFreshData(){const t=new Date(window.store.get("start")),e=new Date(window.store.get("end")),n=P("dashboard-categories-chart",t,e),a=window.store.get("cacheValid");let r=window.store.get(n);if(a&&typeof r<"u"){W=r,this.drawChart(this.generateOptions(W)),this.loading=!1;return}new ee().dashboard(t,e,null).then(i=>{W=i.data,this.drawChart(this.generateOptions(i.data)),window.store.set(n,W),this.loading=!1})},loadChart(){if(this.loading!==!0){if(this.loading=!0,W!==null){this.drawChart(this.generateOptions(W)),this.loading=!1;return}this.getFreshData()}},init(){Promise.all([w("autoConversion",!1)]).then(t=>{this.autoConversion=t[0],X=!0,this.loadChart()}),window.store.observe("end",()=>{X&&(this.chartData=null,this.loadChart())}),window.store.observe("autoConversion",t=>{X&&(this.autoConversion=t,this.loadChart())})}});let dt=!1,L=0;function ne(t){if(dt===!1&&L===0){console.log("Loading translations: "+L);const e=t.replace("-","_");return dt=!0,L++,g.use(Pt).init({fallbackLng:"en_US",lng:e,debug:!0,backend:{backends:[Dt,xt],backendOptions:[{expirationTime:7*24*60*60*1e3},{loadPath:"./v2/i18n/{{lng}}.json"}]}})}return L++,console.warn("Loading translations skipped because count is:"+L),Promise.resolve()}F.register({SankeyController:Ot,Flow:Mt});const ht="dashboard-sankey-data";let tt=!1,q=null,D=[],b=!1,s={category:null,unknown_category:null,in:null,out:null,unknown_source:null,unknown_dest:null,unknown_account:null,expense_account:null,revenue_account:null,budget:null,unknown_budget:null,all_money:null};const ft=function(t){return t.includes(s.revenue_account)?"forestgreen":t.includes("("+s.in+",")?"green":t.includes(s.budget)||t.includes(s.unknown_budget)?"Orchid":t.includes("("+s.out+",")?"MediumOrchid":t.includes(s.all_money)?"blue":"red"};function E(t,e,n,a){if(t==="category"&&e!==null&&n==="in")return s.category+' "'+e+'" ('+s.in+(b?", "+a+")":")");if(t==="category"&&e===null&&n==="in")return s.unknown_category+" ("+s.in+(b?", "+a+")":")");if(t==="category"&&e!==null&&n==="out")return s.category+' "'+e+'" ('+s.out+(b?", "+a+")":")");if(t==="category"&&e===null&&n==="out")return s.unknown_category+" ("+s.out+(b?", "+a+")":")");if(t==="account"&&e===null&&n==="in")return s.unknown_source+(b?" ("+a+")":"");if(t==="account"&&e!==null&&n==="in")return s.revenue_account+'"'+e+'"'+(b?" ("+a+")":"");if(t==="account"&&e===null&&n==="out")return s.unknown_dest+(b?" ("+a+")":"");if(t==="account"&&e!==null&&n==="out")return s.expense_account+' "'+e+'"'+(b?" ("+a+")":"");if(t==="budget"&&e!==null)return s.budget+' "'+e+'"'+(b?" ("+a+")":"");if(t==="budget"&&e===null)return s.unknown_budget+(b?" ("+a+")":"");console.error('Cannot handle: type:"'+t+'", dir: "'+n+'"')}function G(t,e,n){if(t==="category"&&e!==null)return s.category+' "'+e+'"'+(b?" ("+n+")":"");if(t==="category"&&e===null)return s.unknown_category+(b?" ("+n+")":"");if(t==="account"&&e===null)return s.unknown_account+(b?" ("+n+")":"");if(t==="account"&&e!==null)return e+(b?" ("+n+")":"");if(t==="budget"&&e!==null)return s.budget+' "'+e+'"'+(b?" ("+n+")":"");if(t==="budget"&&e===null)return s.unknown_budget+(b?" ("+n+")":"");console.error('Cannot handle: type:"'+t+'"')}const re=()=>({loading:!1,autoConversion:!1,generateOptions(){let t=U("sankey"),e={},n={};for(let r in D)if(D.hasOwnProperty(r)){let o=D[r];for(let i in o.attributes.transactions)if(o.attributes.transactions.hasOwnProperty(i)){let l=o.attributes.transactions[i],u=this.autoConversion?l.native_currency_code:l.currency_code,d=this.autoConversion?parseFloat(l.native_amount):parseFloat(l.amount),h;if(l.type==="deposit"){let c=E("category",l.category_name,"in",u),_=E("account",l.source_name,"in",u);n[c]=G("category",l.category_name,u),n[_]=G("account",l.source_name,u),h=_+"-"+c+"-"+u,e.hasOwnProperty(h)||(e[h]={from:_,to:c,amount:0}),e[h].amount+=d,h=c+"-"+s.all_money+"-"+u,e.hasOwnProperty(h)||(e[h]={from:c,to:s.all_money+(this.autoConversion?" ("+u+")":""),amount:0}),e[h].amount+=d}if(l.type==="withdrawal"){let c=E("budget",l.budget_name,"out",u);n[c]=G("budget",l.budget_name,u),h=s.all_money+"-"+c+"-"+u,e.hasOwnProperty(h)||(e[h]={from:s.all_money+(this.autoConversion?" ("+u+")":""),to:c,amount:0}),e[h].amount+=d;let _=E("category",l.category_name,"out",u);n[_]=G("category",l.category_name,u),h=c+"-"+_+"-"+u,e.hasOwnProperty(h)||(e[h]={from:c,to:_,amount:0}),e[h].amount+=d;let v=E("account",l.destination_name,"out",u);n[v]=G("account",l.destination_name,u),h=_+"-"+v+"-"+u,e.hasOwnProperty(h)||(e[h]={from:_,to:v,amount:0}),e[h].amount+=d}}}let a={label:"Firefly III dashboard sankey chart",data:[],colorFrom:r=>ft(r.dataset.data[r.dataIndex]?r.dataset.data[r.dataIndex].from:""),colorTo:r=>ft(r.dataset.data[r.dataIndex]?r.dataset.data[r.dataIndex].to:""),colorMode:"gradient",labels:n,size:"min"};for(let r in e)if(e.hasOwnProperty(r)){let o=e[r];a.data.push({from:o.from,to:o.to,flow:o.amount})}return t.data.datasets.push(a),t},drawChart(t){if(q!==null){q.data.datasets=t.data.datasets,q.update();return}q=new F(document.querySelector("#sankey-chart"),t)},getFreshData(){const t=new Date(window.store.get("start")),e=new Date(window.store.get("end")),n=P(ht,t,e),a=window.store.get("cacheValid");let r=window.store.get(n);if(a&&typeof r<"u"){D=r,this.drawChart(this.generateOptions()),this.loading=!1;return}let o={start:p(t,"y-MM-dd"),end:p(e,"y-MM-dd"),type:"withdrawal,deposit",page:1};this.downloadTransactions(o)},downloadTransactions(t){const e=new Date(window.store.get("start")),n=new Date(window.store.get("end")),a=P(ht,e,n);new Rt().list(t).then(o=>{if(D=[...D,...o.data.data],parseInt(o.data.meta.pagination.total_pages)>t.page){t.page++,this.downloadTransactions(t);return}window.store.set(a,D),this.drawChart(this.generateOptions()),this.loading=!1})},loadChart(){if(this.loading!==!0){if(this.loading=!0,D.length!==0){this.drawChart(this.generateOptions()),this.loading=!1;return}this.getFreshData()}},init(){D=[],Promise.all([w("autoConversion",!1)]).then(t=>{this.autoConversion=t[0],b=t[0],s.all_money=g.t("firefly.all_money"),s.category=g.t("firefly.category"),s.in=g.t("firefly.money_flowing_in"),s.out=g.t("firefly.money_flowing_out"),s.unknown_category=g.t("firefly.unknown_category_plain"),s.unknown_source=g.t("firefly.unknown_source_plain"),s.unknown_dest=g.t("firefly.unknown_dest_plain"),s.unknown_account=g.t("firefly.unknown_any_plain"),s.unknown_budget=g.t("firefly.unknown_budget_plain"),s.expense_account=g.t("firefly.expense_account"),s.revenue_account=g.t("firefly.revenue_account"),s.budget=g.t("firefly.budget"),tt=!0,this.loadChart()}),window.store.observe("end",()=>{tt&&(this.transactions=[],this.loadChart())}),window.store.observe("autoConversion",t=>{tt&&(this.autoConversion=t,this.loadChart())})}});let et=!1,y={};function _t(t){return new mt().list(t).then(n=>{let a=n.data.data;for(let r in a)if(a.hasOwnProperty(r)){let o=a[r];if(o.attributes.active&&o.attributes.pay_dates.length>0){let i=o.attributes.object_group_id===null?0:o.attributes.object_group_id,l=o.attributes.object_group_title===null?g.t("firefly.default_group_title_name_plain"):o.attributes.object_group_title,u=o.attributes.object_group_order===null?0:o.attributes.object_group_order;y.hasOwnProperty(i)||(y[i]={id:i,title:l,order:u,payment_info:{},bills:[]});let d={id:o.id,name:o.attributes.name,amount_min:o.attributes.amount_min,amount_max:o.attributes.amount_max,amount:(parseFloat(o.attributes.amount_max)+parseFloat(o.attributes.amount_min))/2,currency_code:o.attributes.currency_code,native_amount_min:o.attributes.native_amount_min,native_amount_max:o.attributes.native_amount_max,native_amount:(parseFloat(o.attributes.native_amount_max)+parseFloat(o.attributes.native_amount_min))/2,native_currency_code:o.attributes.native_currency_code,transactions:[],pay_dates:o.attributes.pay_dates,paid:o.attributes.paid_dates.length>0};d.expected_amount=t.autoConversion?f(d.native_amount,d.native_currency_code):f(d.amount,d.currency_code),d.expected_times=g.t("firefly.subscr_expected_x_times",{times:o.attributes.pay_dates.length,amount:d.expected_amount});for(let h in o.attributes.paid_dates)if(o.attributes.paid_dates.hasOwnProperty(h)){const c=o.attributes.paid_dates[h];let _=100;t.autoConversion&&(_=Math.round(-100+parseFloat(c.native_amount)*-1/parseFloat(d.native_amount)*100)),t.autoConversion||(_=Math.round(-100+parseFloat(c.amount)*-1/parseFloat(d.amount)*100));let v={amount:t.autoConversion?f(c.native_amount,c.native_currency_code):f(c.amount,c.currency_code),percentage:_,date:p(new Date(c.date),"PP"),foreign_amount:null};c.foreign_currency_code!==null&&(v.foreign_amount=t.autoConversion?c.foreign_native_amount:c.foreign_amount,v.foreign_currency_code=t.autoConversion?c.native_currency_code:c.foreign_currency_code),d.transactions.push(v)}if(y[i].bills.push(d),o.attributes.paid_dates.length===0){const h=o.attributes.pay_dates.length*d.amount,c=o.attributes.pay_dates.length*d.native_amount;y[i].payment_info.hasOwnProperty(d.currency_code)||(y[i].payment_info[d.currency_code]={currency_code:d.currency_code,paid:0,unpaid:0,native_currency_code:d.native_currency_code,native_paid:0,native_unpaid:0}),y[i].payment_info[d.currency_code].unpaid+=h,y[i].payment_info[d.currency_code].native_unpaid+=c}if(o.attributes.paid_dates.length>0){for(let h in o.attributes.paid_dates)if(o.attributes.paid_dates.hasOwnProperty(h)){let c=o.attributes.paid_dates[h];y[i].payment_info.hasOwnProperty(c.currency_code)||(y[i].payment_info[c.currency_code]={currency_code:d.currency_code,paid:0,unpaid:0,native_currency_code:d.native_currency_code,native_paid:0,native_unpaid:0});const _=parseFloat(c.amount)*-1,v=parseFloat(c.native_amount)*-1;y[i].payment_info[c.currency_code].paid+=_,y[i].payment_info[c.currency_code].native_paid+=v}}}}return parseInt(n.data.meta.pagination.total_pages)>t.page?(t.page++,_t(t)):Promise.resolve()})}const oe=()=>({loading:!1,autoConversion:!1,subscriptions:[],startSubscriptions(){this.loading=!0;let t=new Date(window.store.get("start")),e=new Date(window.store.get("end"));const n=window.store.get("cacheValid");let a=window.store.get(P("subscriptions-data-dashboard",t,e));n&&typeof a<"u",y={},this.subscriptions=[];let r={start:p(t,"y-MM-dd"),end:p(e,"y-MM-dd"),autoConversion:this.autoConversion,page:1};_t(r).then(()=>{let o=Object.values(y);for(let i in o)if(o.hasOwnProperty(i)){let l=o[i];const u=Object.keys(l.payment_info);l.col_size=u.length===1?"col-6 offset-3":"col-6",l.chart_width=u.length===1?"50%":"100%",l.payment_length=u.length,this.subscriptions.push(l)}this.loading=!1})},drawPieChart(t,e,n){let a="#pie_"+t+"_"+n.currency_code;const r=this.autoConversion?n.native_unpaid:n.unpaid,o=this.autoConversion?n.native_paid:n.paid,i=this.autoConversion?n.native_currency_code:n.currency_code,u={type:"doughnut",data:{labels:[g.t("firefly.paid"),g.t("firefly.unpaid")],datasets:[{label:g.t("firefly.subscriptions_in_group",{title:e}),data:[o,r],backgroundColor:["rgb(54, 162, 235)","rgb(255, 99, 132)"],hoverOffset:4}]},options:{plugins:{tooltip:{callbacks:{label:function(h){return h.dataset.label+": "+f(h.raw,i)}}}}}};var d=F.getChart(document.querySelector(a));typeof d<"u"&&d.destroy(),new F(document.querySelector(a),u)},init(){Promise.all([w("autoConversion",!1)]).then(t=>{this.autoConversion=t[0],et=!0,this.loading===!1&&this.startSubscriptions()}),window.store.observe("end",()=>{et&&this.loading===!1&&this.startSubscriptions()}),window.store.observe("autoConversion",t=>{et&&(this.autoConversion=t,this.loading===!1&&this.startSubscriptions())})}});let x={},at=!1;const gt="dashboard-piggies-data",ie=()=>({loading:!1,autoConversion:!1,sankeyGrouping:"account",piggies:[],getFreshData(){const t=new Date(window.store.get("start")),e=new Date(window.store.get("end")),n=P(gt,t,e),a=window.store.get("cacheValid");let r=window.store.get(n);if(a&&typeof r<"u"){x=r,this.parsePiggies(),this.loading=!1;return}let o={start:p(t,"y-MM-dd"),end:p(e,"y-MM-dd"),page:1};this.downloadPiggyBanks(o)},downloadPiggyBanks(t){const e=new Date(window.store.get("start")),n=new Date(window.store.get("end")),a=P(gt,e,n);new Ct().list(t).then(o=>{if(x=[...x,...o.data.data],parseInt(o.data.meta.pagination.total_pages)>t.page){t.page++,this.downloadPiggyBanks(t);return}window.store.set(a,x),this.parsePiggies(),this.loading=!1})},parsePiggies(){let t=[];for(let e in x)if(x.hasOwnProperty(e)){let n=x[e];if(n.attributes.percentage>=100||n.attributes.percentage===0)continue;let a=n.object_group_title??g.t("firefly.default_group_title_name_plain");t.hasOwnProperty(a)||(t[a]={id:n.object_group_id??0,title:a,order:n.object_group_order??0,piggies:[]});let r={id:n.id,name:n.attributes.name,percentage:parseInt(n.attributes.percentage),amount:this.autoConversion?n.attributes.native_current_amount:n.attributes.current_amount,left_to_save:this.autoConversion?n.attributes.native_left_to_save:n.attributes.left_to_save,target_amount:this.autoConversion?n.attributes.native_target_amount:n.attributes.target_amount,save_per_month:this.autoConversion?n.attributes.native_save_per_month:n.attributes.save_per_month,currency_code:this.autoConversion?n.attributes.native_currency_code:n.attributes.currency_code};t[a].piggies.push(r)}this.piggies=Object.values(t)},loadPiggyBanks(){if(this.loading!==!0){if(this.loading=!0,this.piggies.length!==0){this.parsePiggies(),this.loading=!1;return}this.getFreshData()}},init(){x=[],Promise.all([w("autoConversion",!1)]).then(t=>{at=!0,this.autoConversion=t[0],this.loadPiggyBanks()}),window.store.observe("end",()=>{at&&(x=[],this.loadPiggyBanks())}),window.store.observe("autoConversion",t=>{at&&(this.autoConversion=t,this.loadPiggyBanks())})}});F.register({LineController:St,LineElement:Ft,ArcElement:Bt,BarController:At,TimeScale:jt,PieController:Wt,BarElement:$t,Filler:It,Colors:Vt,LinearScale:Kt,CategoryScale:Lt,PointElement:Et,Tooltip:Gt,Legend:Tt});const bt={dates:kt,boxes:Nt,accounts:Qt,budgets:te,categories:ae,sankey:re,subscriptions:oe,piggies:ie};function yt(t){Promise.all([w("language","en_US")]).then(e=>{ne(e[0]).then(()=>{Object.keys(t).forEach(n=>{let a=t[n]();Alpine.data(n,()=>a)}),Alpine.start()})})}document.addEventListener("firefly-iii-bootstrapped",()=>{yt(bt)});window.bootstrapped&&yt(bt); diff --git a/public/build/assets/dashboard-d274a3dc.js b/public/build/assets/dashboard-d274a3dc.js new file mode 100644 index 0000000000..9d42165db0 --- /dev/null +++ b/public/build/assets/dashboard-d274a3dc.js @@ -0,0 +1 @@ +import{a as O,f,g as v,P as bt,d as wt}from"./format-money-e259f5e4.js";import{f as g,C as m,a as S,i as p,S as vt,F as mt,L as Ct,b as kt,A as Pt,B as Dt,T as xt,P as Ot,c as Mt,d as Ft,p as St,e as At,g as Bt,h as jt,j as Wt,k as It}from"./vendor-fca45885.js";import{G as $t}from"./get-3bb14de5.js";import{G as Vt,a as Kt}from"./get-da167d5b.js";class Lt{get(e,n,a){return O.get("/api/v2/summary/basic",{params:{start:e,end:n,code:a}})}}function P(t,e,n){const a=g(e,"y-MM-dd")+"_"+g(n,"y-MM-dd")+"_"+t;return console.log("getCacheKey: "+a),String(a)}let U=!1;const Et=()=>({balanceBox:{amounts:[],subtitles:[]},billBox:{paid:[],unpaid:[]},leftBox:{left:[],perDay:[]},netBox:{net:[]},autoConversion:!1,loading:!1,boxData:null,boxOptions:null,getFreshData(){const t=new Date(window.store.get("start")),e=new Date(window.store.get("end")),n=P("dashboard-boxes-data",t,e),a=window.store.get("cacheValid");let r=window.store.get(n);if(a&&typeof r<"u"){this.boxData=r,this.generateOptions(this.boxData);return}new Lt().get(g(t,"yyyy-MM-dd"),g(e,"yyyy-MM-dd"),null).then(i=>{this.boxData=i.data,window.store.set(n,i.data),this.generateOptions(this.boxData)})},generateOptions(t){this.balanceBox={amounts:[],subtitles:[]},this.billBox={paid:[],unpaid:[]},this.leftBox={left:[],perDay:[]},this.netBox={net:[]};let e={};for(const n in t)if(t.hasOwnProperty(n)){const a=t[n];if(!a.hasOwnProperty("key"))continue;let r=a.key;if(this.autoConversion){if(r.startsWith("balance-in-native")){this.balanceBox.amounts.push(f(a.value,a.currency_code)),e.hasOwnProperty(a.currency_code)||(e[a.currency_code]="");continue}if(r.startsWith("spent-in-native")){e.hasOwnProperty(a.currency_code)||(e[a.currency_code]=""),e[a.currency_code]=e[a.currency_code]+f(a.value,a.currency_code);continue}if(r.startsWith("earned-in-native")){e.hasOwnProperty(a.currency_code)||(e[a.currency_code]=""),e[a.currency_code]=f(a.value,a.currency_code)+" + "+e[a.currency_code];continue}if(r.startsWith("bills-unpaid-in-native")){this.billBox.unpaid.push(f(a.value,a.currency_code));continue}if(r.startsWith("bills-paid-in-native")){this.billBox.paid.push(f(a.value,a.currency_code));continue}if(r.startsWith("left-to-spend-in-native")){this.leftBox.left.push(f(a.value,a.currency_code));continue}if(r.startsWith("left-per-day-to-spend-in-native")){this.leftBox.perDay.push(f(a.value,a.currency_code));continue}if(r.startsWith("net-worth-in-native")){this.netBox.net.push(f(a.value,a.currency_code));continue}}if(!this.autoConversion&&!r.endsWith("native")){if(r.startsWith("balance-in-")){this.balanceBox.amounts.push(f(a.value,a.currency_code));continue}if(r.startsWith("spent-in-")){e.hasOwnProperty(a.currency_code)||(e[a.currency_code]=""),e[a.currency_code]=e[a.currency_code]+f(a.value,a.currency_code);continue}if(r.startsWith("earned-in-")){e.hasOwnProperty(a.currency_code)||(e[a.currency_code]=""),e[a.currency_code]=f(a.value,a.currency_code)+" + "+e[a.currency_code];continue}if(r.startsWith("bills-unpaid-in-")){this.billBox.unpaid.push(f(a.value,a.currency_code));continue}if(r.startsWith("bills-paid-in-")){this.billBox.paid.push(f(a.value,a.currency_code));continue}if(r.startsWith("left-to-spend-in-")){this.leftBox.left.push(f(a.value,a.currency_code));continue}if(r.startsWith("left-per-day-to-spend-in-")){this.leftBox.perDay.push(f(a.value,a.currency_code));continue}r.startsWith("net-worth-in-")&&this.netBox.net.push(f(a.value,a.currency_code))}}for(let n in e)e.hasOwnProperty(n)&&this.balanceBox.subtitles.push(e[n]);this.loading=!1},loadBoxes(){if(this.loading!==!0){if(this.loading=!0,this.boxData===null){this.getFreshData();return}this.generateOptions(this.boxData),this.loading=!1}},init(){Promise.all([v("viewRange"),v("autoConversion",!1)]).then(t=>{U=!0,this.autoConversion=t[1],this.loadBoxes()}),window.store.observe("end",()=>{U&&(this.boxData=null,this.loadBoxes())}),window.store.observe("autoConversion",t=>{U&&(this.autoConversion=t,this.loadBoxes())})}});class Gt{put(e,n){let a="/api/v1/preferences/"+e;return O.put(a,{data:n})}}function Tt(t,e=null){window.store.set(t,e),new Gt().put(t,e).then(a=>{}).catch(()=>{new bt().post(t,e).then(r=>{})})}let Rt=class{dashboard(e,n){let a=g(e,"y-MM-dd"),r=g(n,"y-MM-dd");return O.get("/api/v2/chart/account/dashboard",{params:{start:a,end:r}})}expense(e,n){let a=g(e,"y-MM-dd"),r=g(n,"y-MM-dd");return O.get("/api/v2/chart/account/expense-dashboard",{params:{start:a,end:r}})}};class st{get(e,n){let a={date:g(n,"y-MM-dd").slice(0,10)};return n?O.get("/api/v2/accounts/"+e,{params:a}):O.get("/api/v2/accounts/"+e)}transactions(e,n){const a={page:n.page??1};return n.hasOwnProperty("start")&&(a.start=g(n.start,"y-MM-dd")),n.hasOwnProperty("end")&&(a.end=g(n.end,"y-MM-dd")),O.get("/api/v2/accounts/"+e+"/transactions",{params:a})}}function N(t){return t==="sankey"?{type:"sankey",data:{datasets:[]},options:{animations:!1}}:t==="pie"?{type:"pie",data:{datasets:[]}}:t==="column"?{type:"bar",data:{labels:[],datasets:[]},options:{plugins:{tooltip:{callbacks:{label:function(e){let n=e.dataset.currency_code;return f(e.raw,n)}}}},maintainAspectRatio:!1,scales:{}}}:t==="line"?{options:{plugins:{tooltip:{callbacks:{label:function(e){let n=e.dataset.currency_code;return f(e.raw,n)}}}},maintainAspectRatio:!1,scales:{x:{type:"time",time:{tooltipFormat:"PP"}}}},type:"line",data:{labels:[],datasets:[]}}:{}}let q=new m("#36a2eb"),I=new m("#ff6384"),G=new m("#4bc0c0"),ft=new m("#ff9f40"),qt=new m("#9966ff"),Nt=new m("#ffcd56"),Yt=new m("#c9cbcf"),lt=0;window.theme==="dark"&&(I.darken(.3).desaturate(.3),G.darken(.3).desaturate(.3),q.darken(.3).desaturate(.3),ft.darken(.3).desaturate(.3));let z=[I,ft,q,G,qt,Nt,Yt,G];function j(t,e){let n={borderColor:I.rgbString(),backgroundColor:I.rgbString()},a;switch(t){default:let o=Math.floor(lt/2)%z.length;a=new m(z[o].rgbString()),a.lighten(.38),n={borderColor:z[o].hexString(),backgroundColor:a.hexString()};break;case"spent":a=new m(q.rgbString()),a.lighten(.38),n={borderColor:q.rgbString(),backgroundColor:a.rgbString()};break;case"left":a=new m(G.rgbString()),a.lighten(.38),n={borderColor:G.rgbString(),backgroundColor:a.rgbString()};break;case"overspent":a=new m(I.rgbString()),a.lighten(.22),n={borderColor:I.rgbString(),backgroundColor:a.rgbString()};break}return lt++,e==="border"?n.borderColor:e==="background"?n.backgroundColor:"#FF0000"}let A=[],$=null,H=null,J=!1;const Ut=()=>({loading:!1,loadingAccounts:!1,accountList:[],autoConversion:!1,chartOptions:null,switchAutoConversion(){this.autoConversion=!this.autoConversion,Tt("autoConversion",this.autoConversion)},getFreshData(){const t=new Date(window.store.get("start")),e=new Date(window.store.get("end")),n=P("dashboard-accounts-chart",t,e),a=window.store.get("cacheValid");let r=window.store.get(n);if(a&&typeof r<"u"){console.log(r),this.drawChart(this.generateOptions(r)),this.loading=!1;return}new Rt().dashboard(t,e,null).then(i=>{this.chartData=i.data,window.store.set(n,i.data),console.log(i.data),this.drawChart(this.generateOptions(this.chartData)),this.loading=!1})},generateOptions(t){A=[];let e=N("line");for(let n=0;n0){this.loadingAccounts=!1;return}const t=new Date(window.store.get("start")),e=new Date(window.store.get("end")),n=P("dashboard-accounts-data",t,e),a=window.store.get("cacheValid");let r=window.store.get(n);if(a&&typeof r<"u"){this.accountList=r,this.loadingAccounts=!1;return}const o=10;let i=0,l=0,u=[];Promise.all([v("frontpageAccounts")]).then(d=>{i=d[0].length;for(let h in d[0]){let c=d[0];if(c.hasOwnProperty(h)){let _=c[h];new st().get(_,new Date(window.store.get("end"))).then(w=>{let C=w.data.data;const yt={page:1,start:new Date(window.store.get("start")),end:new Date(window.store.get("end"))};new st().transactions(C.id,yt).then(at=>{let nt=[];for(let B=0;B=o);B++){let M=at.data.data[B],rt={title:M.attributes.group_title===null?"":M.attributes.group_title,id:M.id,transactions:[]};for(let Y=0;YB.order-M.order),this.accountList=u,this.loadingAccounts=!1,window.store.set(n,u))})})}}})},init(){Promise.all([v("viewRange","1M"),v("autoConversion",!1),v("language","en_US")]).then(t=>{this.autoConversion=t[1],J=!0,this.loadChart(),this.loadAccounts()}),window.store.observe("end",()=>{J&&(H=null,this.accountList=[],this.loadChart(),this.loadAccounts())}),window.store.observe("autoConversion",()=>{J&&(this.loadChart(),this.loadAccounts())})}});let zt=class{dashboard(e,n){let a=g(e,"y-MM-dd"),r=g(n,"y-MM-dd");return O.get("/api/v2/chart/budget/dashboard",{params:{start:a,end:r}})}},V=[],T=null,F=null,Z=!1;const Ht=()=>({loading:!1,autoConversion:!1,loadChart(){if(this.loading!==!0){if(this.loading=!0,F!==null){this.drawChart(this.generateOptions(F)),this.loading=!1;return}this.getFreshData()}},drawChart(t){if(T!==null){T.data.datasets=t.data.datasets,T.update();return}T=new S(document.querySelector("#budget-chart"),t)},getFreshData(){const t=new Date(window.store.get("start")),e=new Date(window.store.get("end")),n=P("dashboard-budgets-chart",t,e),a=window.store.get("cacheValid");let r=window.store.get(n);if(a&&typeof r<"u"){F=r,this.drawChart(this.generateOptions(F)),this.loading=!1;return}new zt().dashboard(t,e,null).then(i=>{F=i.data,this.drawChart(this.generateOptions(F)),window.store.set(n,F),this.loading=!1})},generateOptions(t){V=[];let e=N("column");e.options.locale=window.store.get("locale").replace("_","-"),e.options.plugins={tooltip:{callbacks:{title:function(n){return n.label},label:function(n){let a=n.dataset.label||"";return a&&(a+=": "),a+" "+f(n.parsed.y,V[n.parsed.x]??"EUR")}}}},e.data={labels:[],datasets:[{label:p.t("firefly.spent"),data:[],borderWidth:1,stack:1,backgroundColor:j("spent","background"),borderColor:j("spent","border")},{label:p.t("firefly.left"),data:[],borderWidth:1,stack:1,backgroundColor:j("left","background"),borderColor:j("left","border")},{label:p.t("firefly.overspent"),data:[],borderWidth:1,stack:1,backgroundColor:j("overspent","background"),borderColor:j("overspent","border")}]};for(const n in t)if(t.hasOwnProperty(n)){let a=t[n],r=a.label+" ("+a.currency_code+")";e.data.labels.push(r),this.autoConversion&&(V.push(a.native_currency_code),e.data.datasets[0].data.push(parseFloat(a.native_entries.spent)*-1),e.data.datasets[1].data.push(parseFloat(a.native_entries.left)),e.data.datasets[2].data.push(parseFloat(a.native_entries.overspent))),this.autoConversion||(V.push(a.currency_code),e.data.datasets[0].data.push(parseFloat(a.entries.spent)*-1),e.data.datasets[1].data.push(parseFloat(a.entries.left)),e.data.datasets[2].data.push(parseFloat(a.entries.overspent)))}return e.options.scales={y:{ticks:{callback:function(n){return f(n,V[0]??"EUR")}}}},e},init(){Promise.all([v("autoConversion",!1)]).then(t=>{this.autoConversion=t[0],Z=!0,this.loading===!1&&this.loadChart()}),window.store.observe("end",()=>{Z&&this.loading===!1&&(F=null,this.loadChart())}),window.store.observe("autoConversion",t=>{Z&&(this.autoConversion=t,this.loading===!1&&this.loadChart())})}});class Jt{dashboard(e,n){let a=g(e,"y-MM-dd"),r=g(n,"y-MM-dd");return O.get("/api/v2/chart/category/dashboard",{params:{start:a,end:r}})}}let ut=[],K=null,W=null,Q=!1;const Zt=()=>({loading:!1,autoConversion:!1,generateOptions(t){ut=[];let e=N("column"),n={};for(const r in t)if(t.hasOwnProperty(r)){let o=t[r],i=o.currency_code;this.autoConversion&&(i=o.native_currency_code),n.hasOwnProperty(i)||(n[i]={name:i,yAxisID:"",data:{}},ut.push(i))}for(const r in t)if(t.hasOwnProperty(r)){let o=t[r],i=o.currency_code;this.autoConversion&&(i=o.native_currency_code);for(const l in n)if(n.hasOwnProperty(l)){let u=0;i===l&&(u=parseFloat(o.amount),""+o.currency_code,this.autoConversion&&(u=parseFloat(o.native_amount),""+o.native_currency_code)),n[l].data.hasOwnProperty(o.label)&&(n[l].data[o.label]=n[l].data[o.label]+u),n[l].data.hasOwnProperty(o.label)||(n[l].data[o.label]=u)}e.data.labels.includes(o.label)||e.data.labels.push(o.label)}let a=0;for(const r in n){let o="y"+r,i={label:r,currency_code:r,yAxisID:o,data:[]};for(const l in n[r].data)i.data.push(n[r].data[l]);e.data.datasets.push(i),e.options.scales.hasOwnProperty(o)||(e.options.scales[o]={beginAtZero:!0,type:"linear",position:a===1?"right":"left",ticks:{callback:function(l,u,d){return f(l,r)}}},a++)}return e},drawChart(t){if(K!==null){K.options=t.options,K.data=t.data,K.update();return}K=new S(document.querySelector("#category-chart"),t)},getFreshData(){const t=new Date(window.store.get("start")),e=new Date(window.store.get("end")),n=P("dashboard-categories-chart",t,e),a=window.store.get("cacheValid");let r=window.store.get(n);if(a&&typeof r<"u"){W=r,this.drawChart(this.generateOptions(W)),this.loading=!1;return}new Jt().dashboard(t,e,null).then(i=>{W=i.data,this.drawChart(this.generateOptions(i.data)),window.store.set(n,W),this.loading=!1})},loadChart(){if(this.loading!==!0){if(this.loading=!0,W!==null){this.drawChart(this.generateOptions(W)),this.loading=!1;return}this.getFreshData()}},init(){Promise.all([v("autoConversion",!1)]).then(t=>{this.autoConversion=t[0],Q=!0,this.loadChart()}),window.store.observe("end",()=>{Q&&(this.chartData=null,this.loadChart())}),window.store.observe("autoConversion",t=>{Q&&(this.autoConversion=t,this.loadChart())})}});S.register({SankeyController:vt,Flow:mt});const ct="dashboard-sankey-data";let X=!1,R=null,D=[],y=!1,s={category:null,unknown_category:null,in:null,out:null,unknown_source:null,unknown_dest:null,unknown_account:null,expense_account:null,revenue_account:null,budget:null,unknown_budget:null,all_money:null};const dt=function(t){return t.includes(s.revenue_account)?"forestgreen":t.includes("("+s.in+",")?"green":t.includes(s.budget)||t.includes(s.unknown_budget)?"Orchid":t.includes("("+s.out+",")?"MediumOrchid":t.includes(s.all_money)?"blue":"red"};function L(t,e,n,a){if(t==="category"&&e!==null&&n==="in")return s.category+' "'+e+'" ('+s.in+(y?", "+a+")":")");if(t==="category"&&e===null&&n==="in")return s.unknown_category+" ("+s.in+(y?", "+a+")":")");if(t==="category"&&e!==null&&n==="out")return s.category+' "'+e+'" ('+s.out+(y?", "+a+")":")");if(t==="category"&&e===null&&n==="out")return s.unknown_category+" ("+s.out+(y?", "+a+")":")");if(t==="account"&&e===null&&n==="in")return s.unknown_source+(y?" ("+a+")":"");if(t==="account"&&e!==null&&n==="in")return s.revenue_account+'"'+e+'"'+(y?" ("+a+")":"");if(t==="account"&&e===null&&n==="out")return s.unknown_dest+(y?" ("+a+")":"");if(t==="account"&&e!==null&&n==="out")return s.expense_account+' "'+e+'"'+(y?" ("+a+")":"");if(t==="budget"&&e!==null)return s.budget+' "'+e+'"'+(y?" ("+a+")":"");if(t==="budget"&&e===null)return s.unknown_budget+(y?" ("+a+")":"");console.error('Cannot handle: type:"'+t+'", dir: "'+n+'"')}function E(t,e,n){if(t==="category"&&e!==null)return s.category+' "'+e+'"'+(y?" ("+n+")":"");if(t==="category"&&e===null)return s.unknown_category+(y?" ("+n+")":"");if(t==="account"&&e===null)return s.unknown_account+(y?" ("+n+")":"");if(t==="account"&&e!==null)return e+(y?" ("+n+")":"");if(t==="budget"&&e!==null)return s.budget+' "'+e+'"'+(y?" ("+n+")":"");if(t==="budget"&&e===null)return s.unknown_budget+(y?" ("+n+")":"");console.error('Cannot handle: type:"'+t+'"')}const Qt=()=>({loading:!1,autoConversion:!1,generateOptions(){let t=N("sankey"),e={},n={};for(let r in D)if(D.hasOwnProperty(r)){let o=D[r];for(let i in o.attributes.transactions)if(o.attributes.transactions.hasOwnProperty(i)){let l=o.attributes.transactions[i],u=this.autoConversion?l.native_currency_code:l.currency_code,d=this.autoConversion?parseFloat(l.native_amount):parseFloat(l.amount),h;if(l.type==="deposit"){let c=L("category",l.category_name,"in",u),_=L("account",l.source_name,"in",u);n[c]=E("category",l.category_name,u),n[_]=E("account",l.source_name,u),h=_+"-"+c+"-"+u,e.hasOwnProperty(h)||(e[h]={from:_,to:c,amount:0}),e[h].amount+=d,h=c+"-"+s.all_money+"-"+u,e.hasOwnProperty(h)||(e[h]={from:c,to:s.all_money+(this.autoConversion?" ("+u+")":""),amount:0}),e[h].amount+=d}if(l.type==="withdrawal"){let c=L("budget",l.budget_name,"out",u);n[c]=E("budget",l.budget_name,u),h=s.all_money+"-"+c+"-"+u,e.hasOwnProperty(h)||(e[h]={from:s.all_money+(this.autoConversion?" ("+u+")":""),to:c,amount:0}),e[h].amount+=d;let _=L("category",l.category_name,"out",u);n[_]=E("category",l.category_name,u),h=c+"-"+_+"-"+u,e.hasOwnProperty(h)||(e[h]={from:c,to:_,amount:0}),e[h].amount+=d;let w=L("account",l.destination_name,"out",u);n[w]=E("account",l.destination_name,u),h=_+"-"+w+"-"+u,e.hasOwnProperty(h)||(e[h]={from:_,to:w,amount:0}),e[h].amount+=d}}}let a={label:"Firefly III dashboard sankey chart",data:[],colorFrom:r=>dt(r.dataset.data[r.dataIndex]?r.dataset.data[r.dataIndex].from:""),colorTo:r=>dt(r.dataset.data[r.dataIndex]?r.dataset.data[r.dataIndex].to:""),colorMode:"gradient",labels:n,size:"min"};for(let r in e)if(e.hasOwnProperty(r)){let o=e[r];a.data.push({from:o.from,to:o.to,flow:o.amount})}return t.data.datasets.push(a),t},drawChart(t){if(R!==null){R.data.datasets=t.data.datasets,R.update();return}R=new S(document.querySelector("#sankey-chart"),t)},getFreshData(){const t=new Date(window.store.get("start")),e=new Date(window.store.get("end")),n=P(ct,t,e),a=window.store.get("cacheValid");let r=window.store.get(n);if(a&&typeof r<"u"){D=r,this.drawChart(this.generateOptions()),this.loading=!1;return}let o={start:g(t,"y-MM-dd"),end:g(e,"y-MM-dd"),type:"withdrawal,deposit",page:1};this.downloadTransactions(o)},downloadTransactions(t){const e=new Date(window.store.get("start")),n=new Date(window.store.get("end")),a=P(ct,e,n);new $t().list(t).then(o=>{if(D=[...D,...o.data.data],parseInt(o.data.meta.pagination.total_pages)>t.page){t.page++,this.downloadTransactions(t);return}window.store.set(a,D),this.drawChart(this.generateOptions()),this.loading=!1})},loadChart(){if(this.loading!==!0){if(this.loading=!0,D.length!==0){this.drawChart(this.generateOptions()),this.loading=!1;return}this.getFreshData()}},init(){D=[],Promise.all([v("autoConversion",!1)]).then(t=>{this.autoConversion=t[0],y=t[0],s.all_money=p.t("firefly.all_money"),s.category=p.t("firefly.category"),s.in=p.t("firefly.money_flowing_in"),s.out=p.t("firefly.money_flowing_out"),s.unknown_category=p.t("firefly.unknown_category_plain"),s.unknown_source=p.t("firefly.unknown_source_plain"),s.unknown_dest=p.t("firefly.unknown_dest_plain"),s.unknown_account=p.t("firefly.unknown_any_plain"),s.unknown_budget=p.t("firefly.unknown_budget_plain"),s.expense_account=p.t("firefly.expense_account"),s.revenue_account=p.t("firefly.revenue_account"),s.budget=p.t("firefly.budget"),X=!0,this.loadChart()}),window.store.observe("end",()=>{X&&(this.transactions=[],this.loadChart())}),window.store.observe("autoConversion",t=>{X&&(this.autoConversion=t,this.loadChart())})}});let tt=!1,b={};function gt(t){return new Vt().list(t).then(n=>{let a=n.data.data;for(let r in a)if(a.hasOwnProperty(r)){let o=a[r];if(o.attributes.active&&o.attributes.pay_dates.length>0){let i=o.attributes.object_group_id===null?0:o.attributes.object_group_id,l=o.attributes.object_group_title===null?p.t("firefly.default_group_title_name_plain"):o.attributes.object_group_title,u=o.attributes.object_group_order===null?0:o.attributes.object_group_order;b.hasOwnProperty(i)||(b[i]={id:i,title:l,order:u,payment_info:{},bills:[]});let d={id:o.id,name:o.attributes.name,amount_min:o.attributes.amount_min,amount_max:o.attributes.amount_max,amount:(parseFloat(o.attributes.amount_max)+parseFloat(o.attributes.amount_min))/2,currency_code:o.attributes.currency_code,native_amount_min:o.attributes.native_amount_min,native_amount_max:o.attributes.native_amount_max,native_amount:(parseFloat(o.attributes.native_amount_max)+parseFloat(o.attributes.native_amount_min))/2,native_currency_code:o.attributes.native_currency_code,transactions:[],pay_dates:o.attributes.pay_dates,paid:o.attributes.paid_dates.length>0};d.expected_amount=t.autoConversion?f(d.native_amount,d.native_currency_code):f(d.amount,d.currency_code),d.expected_times=p.t("firefly.subscr_expected_x_times",{times:o.attributes.pay_dates.length,amount:d.expected_amount});for(let h in o.attributes.paid_dates)if(o.attributes.paid_dates.hasOwnProperty(h)){const c=o.attributes.paid_dates[h];let _=100;t.autoConversion&&(_=Math.round(-100+parseFloat(c.native_amount)*-1/parseFloat(d.native_amount)*100)),t.autoConversion||(_=Math.round(-100+parseFloat(c.amount)*-1/parseFloat(d.amount)*100));let w={amount:t.autoConversion?f(c.native_amount,c.native_currency_code):f(c.amount,c.currency_code),percentage:_,date:g(new Date(c.date),"PP"),foreign_amount:null};c.foreign_currency_code!==null&&(w.foreign_amount=t.autoConversion?c.foreign_native_amount:c.foreign_amount,w.foreign_currency_code=t.autoConversion?c.native_currency_code:c.foreign_currency_code),d.transactions.push(w)}if(b[i].bills.push(d),o.attributes.paid_dates.length===0){const h=o.attributes.pay_dates.length*d.amount,c=o.attributes.pay_dates.length*d.native_amount;b[i].payment_info.hasOwnProperty(d.currency_code)||(b[i].payment_info[d.currency_code]={currency_code:d.currency_code,paid:0,unpaid:0,native_currency_code:d.native_currency_code,native_paid:0,native_unpaid:0}),b[i].payment_info[d.currency_code].unpaid+=h,b[i].payment_info[d.currency_code].native_unpaid+=c}if(o.attributes.paid_dates.length>0){for(let h in o.attributes.paid_dates)if(o.attributes.paid_dates.hasOwnProperty(h)){let c=o.attributes.paid_dates[h];b[i].payment_info.hasOwnProperty(c.currency_code)||(b[i].payment_info[c.currency_code]={currency_code:d.currency_code,paid:0,unpaid:0,native_currency_code:d.native_currency_code,native_paid:0,native_unpaid:0});const _=parseFloat(c.amount)*-1,w=parseFloat(c.native_amount)*-1;b[i].payment_info[c.currency_code].paid+=_,b[i].payment_info[c.currency_code].native_paid+=w}}}}return parseInt(n.data.meta.pagination.total_pages)>t.page?(t.page++,gt(t)):Promise.resolve()})}const Xt=()=>({loading:!1,autoConversion:!1,subscriptions:[],startSubscriptions(){this.loading=!0;let t=new Date(window.store.get("start")),e=new Date(window.store.get("end"));const n=window.store.get("cacheValid");let a=window.store.get(P("subscriptions-data-dashboard",t,e));n&&typeof a<"u",b={},this.subscriptions=[];let r={start:g(t,"y-MM-dd"),end:g(e,"y-MM-dd"),autoConversion:this.autoConversion,page:1};gt(r).then(()=>{let o=Object.values(b);for(let i in o)if(o.hasOwnProperty(i)){let l=o[i];const u=Object.keys(l.payment_info);l.col_size=u.length===1?"col-6 offset-3":"col-6",l.chart_width=u.length===1?"50%":"100%",l.payment_length=u.length,this.subscriptions.push(l)}this.loading=!1})},drawPieChart(t,e,n){let a="#pie_"+t+"_"+n.currency_code;const r=this.autoConversion?n.native_unpaid:n.unpaid,o=this.autoConversion?n.native_paid:n.paid,i=this.autoConversion?n.native_currency_code:n.currency_code,u={type:"doughnut",data:{labels:[p.t("firefly.paid"),p.t("firefly.unpaid")],datasets:[{label:p.t("firefly.subscriptions_in_group",{title:e}),data:[o,r],backgroundColor:["rgb(54, 162, 235)","rgb(255, 99, 132)"],hoverOffset:4}]},options:{plugins:{tooltip:{callbacks:{label:function(h){return h.dataset.label+": "+f(h.raw,i)}}}}}};var d=S.getChart(document.querySelector(a));typeof d<"u"&&d.destroy(),new S(document.querySelector(a),u)},init(){Promise.all([v("autoConversion",!1)]).then(t=>{this.autoConversion=t[0],tt=!0,this.loading===!1&&this.startSubscriptions()}),window.store.observe("end",()=>{tt&&this.loading===!1&&this.startSubscriptions()}),window.store.observe("autoConversion",t=>{tt&&(this.autoConversion=t,this.loading===!1&&this.startSubscriptions())})}});let x={},et=!1;const ht="dashboard-piggies-data",te=()=>({loading:!1,autoConversion:!1,sankeyGrouping:"account",piggies:[],getFreshData(){const t=new Date(window.store.get("start")),e=new Date(window.store.get("end")),n=P(ht,t,e),a=window.store.get("cacheValid");let r=window.store.get(n);if(a&&typeof r<"u"){x=r,this.parsePiggies(),this.loading=!1;return}let o={start:g(t,"y-MM-dd"),end:g(e,"y-MM-dd"),page:1};this.downloadPiggyBanks(o)},downloadPiggyBanks(t){const e=new Date(window.store.get("start")),n=new Date(window.store.get("end")),a=P(ht,e,n);new Kt().list(t).then(o=>{if(x=[...x,...o.data.data],parseInt(o.data.meta.pagination.total_pages)>t.page){t.page++,this.downloadPiggyBanks(t);return}window.store.set(a,x),this.parsePiggies(),this.loading=!1})},parsePiggies(){let t=[];for(let e in x)if(x.hasOwnProperty(e)){let n=x[e];if(n.attributes.percentage>=100||n.attributes.percentage===0)continue;let a=n.object_group_title??p.t("firefly.default_group_title_name_plain");t.hasOwnProperty(a)||(t[a]={id:n.object_group_id??0,title:a,order:n.object_group_order??0,piggies:[]});let r={id:n.id,name:n.attributes.name,percentage:parseInt(n.attributes.percentage),amount:this.autoConversion?n.attributes.native_current_amount:n.attributes.current_amount,left_to_save:this.autoConversion?n.attributes.native_left_to_save:n.attributes.left_to_save,target_amount:this.autoConversion?n.attributes.native_target_amount:n.attributes.target_amount,save_per_month:this.autoConversion?n.attributes.native_save_per_month:n.attributes.save_per_month,currency_code:this.autoConversion?n.attributes.native_currency_code:n.attributes.currency_code};t[a].piggies.push(r)}this.piggies=Object.values(t)},loadPiggyBanks(){if(this.loading!==!0){if(this.loading=!0,this.piggies.length!==0){this.parsePiggies(),this.loading=!1;return}this.getFreshData()}},init(){x=[],Promise.all([v("autoConversion",!1)]).then(t=>{et=!0,this.autoConversion=t[0],this.loadPiggyBanks()}),window.store.observe("end",()=>{et&&(x=[],this.loadPiggyBanks())}),window.store.observe("autoConversion",t=>{et&&(this.autoConversion=t,this.loadPiggyBanks())})}});S.register({LineController:Ct,LineElement:kt,ArcElement:Pt,BarController:Dt,TimeScale:xt,PieController:Ot,BarElement:Mt,Filler:Ft,Colors:St,LinearScale:At,CategoryScale:Bt,PointElement:jt,Tooltip:Wt,Legend:It});const pt={dates:wt,boxes:Et,accounts:Ut,budgets:Ht,categories:Zt,sankey:Qt,subscriptions:Xt,piggies:te};function _t(t){Object.keys(t).forEach(e=>{let n=t[e]();Alpine.data(e,()=>n)}),Alpine.start()}document.addEventListener("firefly-iii-bootstrapped",()=>{console.log("Loaded through event listener."),_t(pt)});window.bootstrapped&&(console.log("Loaded through window variable."),_t(pt)); diff --git a/public/build/assets/edit-84831b47.js b/public/build/assets/edit-84831b47.js new file mode 100644 index 0000000000..a1a3708c71 --- /dev/null +++ b/public/build/assets/edit-84831b47.js @@ -0,0 +1 @@ +import{d as g,f as l}from"./format-money-e259f5e4.js";import{G as p}from"./get-3bb14de5.js";import{p as f}from"./parse-downloaded-splits-7d781ebe.js";import{d as r,e as m,s as w,f as y,g as b,l as v,a as A,b as C,c as S,h as D,i as u,j as c}from"./autocomplete-functions-ac0d2cb1.js";import{m as P,i as a}from"./vendor-fca45885.js";import"./create-empty-split-fb5bda92.js";import"./get-da167d5b.js";const i=D();let L=function(){return{entries:[],formStates:{loadingCurrencies:!0,loadingBudgets:!0,loadingPiggyBanks:!0,loadingSubscriptions:!0,isSubmitting:!1,returnHereButton:!1,saveAsNewButton:!1,resetButton:!0,rulesButton:!0,webhooksButton:!0},formBehaviour:{formType:"edit",foreignCurrencyEnabled:!0},formData:{defaultCurrency:null,enabledCurrencies:[],nativeCurrencies:[],foreignCurrencies:[],budgets:[],piggyBanks:[],subscriptions:[]},groupProperties:{transactionType:"unknown",title:null,id:null,totalAmount:0},notifications:{error:{show:!1,text:"",url:""},success:{show:!1,text:"",url:""},wait:{show:!1,text:""}},filters:{source:[],destination:[]},addedSplit(){setTimeout(()=>{const t=function(e,n,s){return e.name_with_balance+'
'+a.t("firefly.account_type_"+e.type)+""};r({selector:"input.ac-source",serverUrl:i.account,filters:this.filters.source,onRenderItem:t,onChange:m,onSelectItem:w}),console.log("ok"),console.log(this.entries[0].source_account.alpine_name),r({selector:"input.ac-dest",serverUrl:i.account,filters:this.filters.destination,onRenderItem:t,onChange:y,onSelectItem:b}),r({selector:"input.ac-category",serverUrl:i.category,valueField:"id",labelField:"name",onChange:u,onSelectItem:u}),r({selector:"input.ac-description",serverUrl:i.description,valueField:"id",labelField:"description",onChange:c,onSelectItem:c})},250)},changedDateTime(t){console.warn("changedDateTime, event is not used")},changedDescription(t){console.warn("changedDescription, event is not used")},changedDestinationAccount(t){console.warn("changedDestinationAccount, event is not used")},changedSourceAccount(t){console.warn("changedSourceAccount, event is not used")},formattedTotalAmount(){return this.entries.length===0?l(this.groupProperties.totalAmount,"EUR"):l(this.groupProperties.totalAmount,this.entries[0].currency_code??"EUR")},getTags(t){return console.log("at get tags "+t),console.log(this.entries[t].tags),this.entries[t].tags??[]},getTransactionGroup(){this.entries=[];const t=window.location.href.split("/"),e=parseInt(t[t.length-1]);new p().show(e,{}).then(s=>{const o=s.data.data;this.groupProperties.id=parseInt(o.id),this.groupProperties.transactionType=o.attributes.transactions[0].type,this.groupProperties.title=o.attributes.title??o.attributes.transactions[0].description,this.entries=f(o.attributes.transactions),this.notifications.wait.show=!1}).then(()=>{this.groupProperties.totalAmount=0;for(let s in this.entries)this.entries.hasOwnProperty(s)&&(this.groupProperties.totalAmount=this.groupProperties.totalAmount+parseFloat(this.entries[s].amount),this.filters.source.push(this.entries[s].source_account.type),this.filters.destination.push(this.entries[s].source_account.type));console.log(this.filters),setTimeout(()=>{P.init("select.ac-tags",{allowClear:!0,server:i.tag,liveServer:!0,clearEnd:!0,allowNew:!0,notFoundMessage:a.t("firefly.nothing_found"),noCache:!0,fetchOptions:{headers:{"X-CSRF-TOKEN":document.head.querySelector('meta[name="csrf-token"]').content}}})},150)})},init(){this.notifications.wait.show=!0,this.notifications.wait.text=a.t("firefly.wait_loading_transaction"),this.getTransactionGroup(),v().then(t=>{this.formStates.loadingCurrencies=!1,this.formData.defaultCurrency=t.defaultCurrency,this.formData.enabledCurrencies=t.enabledCurrencies,this.formData.nativeCurrencies=t.nativeCurrencies,this.formData.foreignCurrencies=t.foreignCurrencies}),A().then(t=>{this.formData.budgets=t,this.formStates.loadingBudgets=!1}),C().then(t=>{this.formData.piggyBanks=t,this.formStates.loadingPiggyBanks=!1}),S().then(t=>{this.formData.subscriptions=t,this.formStates.loadingSubscriptions=!1}),document.addEventListener("upload-success",t=>{this.processUpload(t),document.querySelectorAll("input[type=file]").value=""}),document.addEventListener("upload-error",t=>{this.processUploadError(t)}),document.addEventListener("location-move",t=>{this.entries[t.detail.index].latitude=t.detail.latitude,this.entries[t.detail.index].longitude=t.detail.longitude}),document.addEventListener("location-set",t=>{this.entries[t.detail.index].hasLocation=!0,this.entries[t.detail.index].latitude=t.detail.latitude,this.entries[t.detail.index].longitude=t.detail.longitude,this.entries[t.detail.index].zoomLevel=t.detail.zoomLevel}),document.addEventListener("location-zoom",t=>{this.entries[t.detail.index].hasLocation=!0,this.entries[t.detail.index].zoomLevel=t.detail.zoomLevel})},changedAmount(t){const e=parseInt(t.target.dataset.index);this.entries[e].amount=parseFloat(t.target.value),this.groupProperties.totalAmount=0;for(let n in this.entries)this.entries.hasOwnProperty(n)&&(this.groupProperties.totalAmount=this.groupProperties.totalAmount+parseFloat(this.entries[n].amount))}}},d={transactions:L,dates:g};function h(){Object.keys(d).forEach(t=>{console.log(`Loading page component "${t}"`);let e=d[t]();Alpine.data(t,()=>e)}),Alpine.start()}document.addEventListener("firefly-iii-bootstrapped",()=>{console.log("Loaded through event listener."),h()});window.bootstrapped&&(console.log("Loaded through window variable."),h()); diff --git a/public/build/assets/edit-ab5008f2.js b/public/build/assets/edit-ab5008f2.js deleted file mode 100644 index d5ad1fa5d4..0000000000 --- a/public/build/assets/edit-ab5008f2.js +++ /dev/null @@ -1 +0,0 @@ -import{d as h,f as l}from"./get-51a7c3ed.js";import{f as p,q as m,i as a}from"./vendor-824d08a0.js";import{G as f}from"./get-c23f6e9c.js";import{e as _,f as r,g as y,s as b,h as w,i as v,l as A,a as C,b as S,c as D,j as P,k as c,m as u}from"./autocomplete-functions-3410a57d.js";function x(e){let i=[];for(let o in e)if(e.hasOwnProperty(o)){let t=e[o],n=_();n.bill_id=t.bill_id,n.budget_id=t.budget_id,n.category_name=t.category_name,n.piggy_bank_id=t.piggy_bank_id,n.book_date=t.book_date,n.due_date=t.due_date,n.interest_date=t.interest_date,n.invoice_date=t.invoice_date,n.payment_date=t.payment_date,n.process_date=t.process_date,n.external_url=t.external_url,n.internal_reference=t.internal_reference,n.notes=t.notes,n.tags=t.tags,n.amount=parseFloat(t.amount).toFixed(t.currency_decimal_places),n.currency_code=t.currency_code,t.foreign_amount!==null&&(n.forein_currency_code=t.foreign_currency_code,n.foreign_amount=parseFloat(t.foreign_amount).toFixed(t.foreign_currency_decimal_places)),n.date=p(new Date(t.date),"yyyy-MM-dd HH:mm"),n.description=t.description,n.destination_account={id:t.destination_id,name:t.destination_name,type:t.destination_type,alpine_name:t.destination_name},n.source_account={id:t.source_id,name:t.source_name,type:t.source_type,alpine_name:t.source_name},t.latitude!==null&&(n.hasLocation=!0,n.latitude=t.latitude,n.longitude=t.longitude,n.zoomLevel=t.zoom_level),console.log(n.tags),i.push(n)}return i}const s=P();let L=function(){return{entries:[],formStates:{loadingCurrencies:!0,loadingBudgets:!0,loadingPiggyBanks:!0,loadingSubscriptions:!0,isSubmitting:!1,returnHereButton:!1,saveAsNewButton:!1,resetButton:!0,rulesButton:!0,webhooksButton:!0},formBehaviour:{formType:"edit",foreignCurrencyEnabled:!0},formData:{defaultCurrency:null,enabledCurrencies:[],nativeCurrencies:[],foreignCurrencies:[],budgets:[],piggyBanks:[],subscriptions:[]},groupProperties:{transactionType:"unknown",title:null,id:null,totalAmount:0},notifications:{error:{show:!1,text:"",url:""},success:{show:!1,text:"",url:""},wait:{show:!1,text:""}},filters:{source:[],destination:[]},addedSplit(){setTimeout(()=>{const e=function(i,o,t){return i.name_with_balance+'
'+a.t("firefly.account_type_"+i.type)+""};r({selector:"input.ac-source",serverUrl:s.account,filters:this.filters.source,onRenderItem:e,onChange:y,onSelectItem:b}),console.log("ok"),console.log(this.entries[0].source_account.alpine_name),r({selector:"input.ac-dest",serverUrl:s.account,filters:this.filters.destination,onRenderItem:e,onChange:w,onSelectItem:v}),r({selector:"input.ac-category",serverUrl:s.category,valueField:"id",labelField:"name",onChange:c,onSelectItem:c}),r({selector:"input.ac-description",serverUrl:s.description,valueField:"id",labelField:"description",onChange:u,onSelectItem:u})},250)},changedDateTime(e){console.warn("changedDateTime, event is not used")},changedDescription(e){console.warn("changedDescription, event is not used")},changedDestinationAccount(e){console.warn("changedDestinationAccount, event is not used")},changedSourceAccount(e){console.warn("changedSourceAccount, event is not used")},formattedTotalAmount(){return this.entries.length===0?l(this.groupProperties.totalAmount,"EUR"):l(this.groupProperties.totalAmount,this.entries[0].currency_code??"EUR")},getTags(e){return console.log("at get tags "+e),console.log(this.entries[e].tags),this.entries[e].tags??[]},getTransactionGroup(){this.entries=[];const e=window.location.href.split("/"),i=parseInt(e[e.length-1]);new f().show(i,{}).then(t=>{const n=t.data.data;this.groupProperties.id=parseInt(n.id),this.groupProperties.transactionType=n.attributes.transactions[0].type,this.groupProperties.title=n.attributes.title??n.attributes.transactions[0].description,this.entries=x(n.attributes.transactions),this.notifications.wait.show=!1}).then(()=>{this.groupProperties.totalAmount=0;for(let t in this.entries)this.entries.hasOwnProperty(t)&&(this.groupProperties.totalAmount=this.groupProperties.totalAmount+parseFloat(this.entries[t].amount),this.filters.source.push(this.entries[t].source_account.type),this.filters.destination.push(this.entries[t].source_account.type));console.log(this.filters),setTimeout(()=>{m.init("select.ac-tags",{allowClear:!0,server:s.tag,liveServer:!0,clearEnd:!0,allowNew:!0,notFoundMessage:a.t("firefly.nothing_found"),noCache:!0,fetchOptions:{headers:{"X-CSRF-TOKEN":document.head.querySelector('meta[name="csrf-token"]').content}}})},150)})},init(){this.notifications.wait.show=!0,this.notifications.wait.text=a.t("firefly.wait_loading_transaction"),this.getTransactionGroup(),A().then(e=>{this.formStates.loadingCurrencies=!1,this.formData.defaultCurrency=e.defaultCurrency,this.formData.enabledCurrencies=e.enabledCurrencies,this.formData.nativeCurrencies=e.nativeCurrencies,this.formData.foreignCurrencies=e.foreignCurrencies}),C().then(e=>{this.formData.budgets=e,this.formStates.loadingBudgets=!1}),S().then(e=>{this.formData.piggyBanks=e,this.formStates.loadingPiggyBanks=!1}),D().then(e=>{this.formData.subscriptions=e,this.formStates.loadingSubscriptions=!1}),document.addEventListener("upload-success",e=>{this.processUpload(e),document.querySelectorAll("input[type=file]").value=""}),document.addEventListener("upload-error",e=>{this.processUploadError(e)}),document.addEventListener("location-move",e=>{this.entries[e.detail.index].latitude=e.detail.latitude,this.entries[e.detail.index].longitude=e.detail.longitude}),document.addEventListener("location-set",e=>{this.entries[e.detail.index].hasLocation=!0,this.entries[e.detail.index].latitude=e.detail.latitude,this.entries[e.detail.index].longitude=e.detail.longitude,this.entries[e.detail.index].zoomLevel=e.detail.zoomLevel}),document.addEventListener("location-zoom",e=>{this.entries[e.detail.index].hasLocation=!0,this.entries[e.detail.index].zoomLevel=e.detail.zoomLevel})},changedAmount(e){const i=parseInt(e.target.dataset.index);this.entries[i].amount=parseFloat(e.target.value),this.groupProperties.totalAmount=0;for(let o in this.entries)this.entries.hasOwnProperty(o)&&(this.groupProperties.totalAmount=this.groupProperties.totalAmount+parseFloat(this.entries[o].amount))}}},d={transactions:L,dates:h};function g(){Object.keys(d).forEach(e=>{console.log(`Loading page component "${e}"`);let i=d[e]();Alpine.data(e,()=>i)}),Alpine.start()}document.addEventListener("firefly-iii-bootstrapped",()=>{console.log("Loaded through event listener."),g()});window.bootstrapped&&(console.log("Loaded through window variable."),g()); diff --git a/public/build/assets/format-money-e259f5e4.js b/public/build/assets/format-money-e259f5e4.js new file mode 100644 index 0000000000..21cc8281ee --- /dev/null +++ b/public/build/assets/format-money-e259f5e4.js @@ -0,0 +1 @@ +import{o as y,s as l,q as d,r as p,t as A,u as g,v as b,w as N,x as P,y as v,z as c,i as C,D as B,E as x,G as O,H as o,I as E,J as S,f as T,K as L,M as U,N as I,O as W,Q as q,R as Q,U as V,V as Y,W as $,X as j,Y as z,Z as X,_ as F,$ as G,a0 as H,a1 as J,a2 as K,a3 as Z,a4 as ee,a5 as te,a6 as ae,a7 as se,a8 as ne,a9 as re,aa as de,ab as le,ac as oe,ad as ie,ae as ue,af as ce,ag as ge,ah as we,ai as he,aj as ye}from"./vendor-fca45885.js";const k="/",h=y.create({baseURL:k,withCredentials:!0});y.defaults.withCredentials=!0;y.defaults.baseURL=k;class R{getByName(e){return h.get("/api/v1/preferences/"+e)}getByNameNow(e){return h.get("/api/v1/preferences/"+e)}postByName(e,a){return h.post("/api/v1/preferences",{name:e,data:a})}}class _{post(e,a){let s="/api/v1/preferences";return h.post(s,{name:e,data:a})}}function fe(t,e=null){return new R().getByName(t).then(s=>Promise.resolve(M(t,s))).catch(()=>{new _().post(t,e).then(i=>Promise.resolve(M(t,i)))})}function M(t,e){return e.data.data.attributes.data}function w(t,e=null){const a=window.store.get("cacheValid");if(a&&window.hasOwnProperty(t))return Promise.resolve(window[t]);const s=window.store.get(t);return a&&typeof s<"u"?Promise.resolve(s):new R().getByName(t).then(u=>Promise.resolve(m(t,u))).catch(()=>{new _().post(t,e).then(n=>Promise.resolve(m(t,n)))})}function m(t,e){let a=e.data.data.attributes.data;return window.store.set(t,a),a}function be(t,e){let a,s;switch(t){case"last365":a=l(c(e,365)),s=d(e);break;case"last90":a=l(c(e,90)),s=d(e);break;case"last30":a=l(c(e,30)),s=d(e);break;case"last7":a=l(c(e,7)),s=d(e);break;case"YTD":a=v(e),s=d(e);break;case"QTD":a=p(e),s=d(e);break;case"MTD":a=g(e),s=d(e);break;case"1D":a=l(e),s=d(e);break;case"1W":a=l(N(e,{weekStartsOn:1})),s=d(P(e,{weekStartsOn:1}));break;case"1M":a=l(g(e)),s=d(b(e));break;case"3M":a=l(p(e)),s=d(A(e));break;case"6M":e.getMonth()<=5&&(a=new Date(e),a.setMonth(0),a.setDate(1),a=l(a),s=new Date(e),s.setMonth(5),s.setDate(30),s=d(a)),e.getMonth()>5&&(a=new Date(e),a.setMonth(6),a.setDate(1),a=l(a),s=new Date(e),s.setMonth(11),s.setDate(31),s=d(a));break;case"1Y":a=new Date(e),a.setMonth(0),a.setDate(1),a=l(a),s=new Date(e),s.setMonth(11),s.setDate(31),s=d(s);break}return{start:a,end:s}}let D=!1;function pe(t){if(D===!1){const e=t.replace("-","_");D=!0,console.log("production");const a=7*24*60*60*1e3;return C.use(B).init({fallbackLng:"en_US",lng:e,debug:!1,backend:{backends:[x,O],backendOptions:[{expirationTime:a},{loadPath:"./v2/i18n/{{lng}}.json"}]}})}return console.warn("Loading translations skipped."),Promise.resolve()}o.addPlugin(E);window.bootstrapped=!1;window.store=o;fe("lastActivity").then(t=>{const e=o.get("lastActivity");o.set("cacheValid",e===t),o.set("lastActivity",t),console.log("Server value: "+t),console.log("Local value: "+e),console.log("Cache valid: "+(e===t))}).then(()=>{Promise.all([w("viewRange"),w("darkMode"),w("locale"),w("language")]).then(t=>{if(!o.get("start")||!o.get("end")){const e=be(t[0],new Date);o.set("start",e.start),o.set("end",e.end)}window.__localeId__=t[2],o.set("language",t[3]),o.set("locale",t[3]),pe(t[3]).then(()=>{const e=new Event("firefly-iii-bootstrapped");document.dispatchEvent(e),window.bootstrapped=!0})})});window.axios=y;window.axios.defaults.headers.common["X-Requested-With"]="XMLHttpRequest";window.Alpine=S;const f={bg:L,cs:U,da:I,de:W,el:q,enGB:Q,enUS:V,es:Y,ca:$,fi:j,fr:z,hu:X,id:F,it:G,ja:H,ko:J,nb:K,nn:Z,nl:ee,pl:te,ptBR:ae,pt:se,ro:ne,ru:re,sk:de,sl:le,sv:oe,tr:ie,uk:ue,vi:ce,zhTW:ge,zhCN:we};function r(t,e="PP"){let a=window.__localeId__.replace("_","");return T(t,e,{locale:f[a]??f[a.slice(0,2)]??f.enUS})}const me=()=>({range:{start:null,end:null},defaultRange:{start:null,end:null},language:"en_US",init(){this.range={start:new Date(window.store.get("start")),end:new Date(window.store.get("end"))},this.defaultRange={start:new Date(window.store.get("start")),end:new Date(window.store.get("end"))},this.language=window.store.get("language"),this.locale=window.store.get("locale"),this.locale=this.locale==="equal"?this.language:this.locale,window.__localeId__=this.language,this.buildDateRange(),window.store.observe("start",t=>{this.range.start=new Date(t)}),window.store.observe("end",t=>{this.range.end=new Date(t),this.buildDateRange()})},buildDateRange(){let t=this.getNextRange(),e=this.getPrevRange(),a=this.lastDays(7),s=this.lastDays(30),i=this.mtd(),u=this.ytd(),n=document.getElementsByClassName("daterange-holder")[0];n.textContent=r(this.range.start)+" - "+r(this.range.end),n.setAttribute("data-start",r(this.range.start,"yyyy-MM-dd")),n.setAttribute("data-end",r(this.range.end,"yyyy-MM-dd")),n=document.getElementsByClassName("daterange-current")[0],n.textContent=r(this.defaultRange.start)+" - "+r(this.defaultRange.end),n.setAttribute("data-start",r(this.defaultRange.start,"yyyy-MM-dd")),n.setAttribute("data-end",r(this.defaultRange.end,"yyyy-MM-dd")),n=document.getElementsByClassName("daterange-next")[0],n.textContent=r(t.start)+" - "+r(t.end),n.setAttribute("data-start",r(t.start,"yyyy-MM-dd")),n.setAttribute("data-end",r(t.end,"yyyy-MM-dd")),n=document.getElementsByClassName("daterange-prev")[0],n.textContent=r(e.start)+" - "+r(e.end),n.setAttribute("data-start",r(e.start,"yyyy-MM-dd")),n.setAttribute("data-end",r(e.end,"yyyy-MM-dd")),n=document.getElementsByClassName("daterange-7d")[0],n.setAttribute("data-start",r(a.start,"yyyy-MM-dd")),n.setAttribute("data-end",r(a.end,"yyyy-MM-dd")),n=document.getElementsByClassName("daterange-90d")[0],n.setAttribute("data-start",r(s.start,"yyyy-MM-dd")),n.setAttribute("data-end",r(s.end,"yyyy-MM-dd")),n=document.getElementsByClassName("daterange-mtd")[0],n.setAttribute("data-start",r(i.start,"yyyy-MM-dd")),n.setAttribute("data-end",r(i.end,"yyyy-MM-dd")),n=document.getElementsByClassName("daterange-ytd")[0],n.setAttribute("data-start",r(u.start,"yyyy-MM-dd")),n.setAttribute("data-end",r(u.end,"yyyy-MM-dd"))},getNextRange(){let t=g(this.range.start),e=he(t,1),a=b(e);return{start:e,end:a}},getPrevRange(){let t=g(this.range.start),e=ye(t,1),a=b(e);return{start:e,end:a}},ytd(){let t=new Date;return{start:v(this.range.start),end:t}},mtd(){let t=new Date;return{start:g(this.range.start),end:t}},lastDays(t){let e=new Date;return{start:c(e,t),end:e}},changeDateRange(t){t.preventDefault();let e=t.currentTarget,a=new Date(e.getAttribute("data-start")),s=new Date(e.getAttribute("data-end"));return window.store.set("start",a),window.store.set("end",s),!1}});function De(t,e){let a=window.__localeId__.replace("_","-");return Intl.NumberFormat(a,{style:"currency",currency:e}).format(t)}export{_ as P,h as a,me as d,De as f,w as g}; diff --git a/public/build/assets/get-3bb14de5.js b/public/build/assets/get-3bb14de5.js new file mode 100644 index 0000000000..be41f2b17b --- /dev/null +++ b/public/build/assets/get-3bb14de5.js @@ -0,0 +1 @@ +import{a as s}from"./format-money-e259f5e4.js";class p{list(a){return s.get("/api/v2/transactions",{params:a})}show(a,t){return s.get("/api/v2/transactions/"+a,{params:t})}}export{p as G}; diff --git a/public/build/assets/get-51a7c3ed.js b/public/build/assets/get-51a7c3ed.js deleted file mode 100644 index ac66d9a5e0..0000000000 --- a/public/build/assets/get-51a7c3ed.js +++ /dev/null @@ -1 +0,0 @@ -import{s as y,t as l,u as d,v as m,w as A,x as w,y as b,z as _,D as N,E as D,G as c,H as i,I as C,J as P,f as B,K as x,M as O,N as E,O as S,Q as G,R as I,U as T,V as U,W,X as L,Y as $,Z as Q,_ as V,$ as Y,a0 as q,a1 as z,a2 as X,a3 as j,a4 as F,a5 as H,a6 as J,a7 as K,a8 as Z,a9 as tt,aa as et,ab as at,ac as st,ad as nt,ae as rt,af as dt,ag as lt,ah as it,i as ot,ai as ut,aj as gt}from"./vendor-824d08a0.js";const v="/",o=y.create({baseURL:v,withCredentials:!0});y.defaults.withCredentials=!0;y.defaults.baseURL=v;class R{getByName(t){return o.get("/api/v1/preferences/"+t)}getByNameNow(t){return o.get("/api/v1/preferences/"+t)}postByName(t,e){return o.post("/api/v1/preferences",{name:t,data:e})}}class k{post(t,e){let s="/api/v1/preferences";return o.post(s,{name:t,data:e})}}function ct(a,t=null){return new R().getByName(a).then(s=>Promise.resolve(f(a,s))).catch(()=>{new k().post(a,t).then(u=>Promise.resolve(f(a,u)))})}function f(a,t){return t.data.data.attributes.data}function h(a,t=null){const e=window.store.get("cacheValid");if(e&&window.hasOwnProperty(a))return Promise.resolve(window[a]);const s=window.store.get(a);return e&&typeof s<"u"?Promise.resolve(s):new R().getByName(a).then(g=>Promise.resolve(M(a,g))).catch(()=>{new k().post(a,t).then(n=>Promise.resolve(M(a,n)))})}function M(a,t){let e=t.data.data.attributes.data;return window.store.set(a,e),e}function wt(a,t){let e,s;switch(a){case"last365":e=l(c(t,365)),s=d(t);break;case"last90":e=l(c(t,90)),s=d(t);break;case"last30":e=l(c(t,30)),s=d(t);break;case"last7":e=l(c(t,7)),s=d(t);break;case"YTD":e=D(t),s=d(t);break;case"QTD":e=m(t),s=d(t);break;case"MTD":e=w(t),s=d(t);break;case"1D":e=l(t),s=d(t);break;case"1W":e=l(_(t,{weekStartsOn:1})),s=d(N(t,{weekStartsOn:1}));break;case"1M":e=l(w(t)),s=d(b(t));break;case"3M":e=l(m(t)),s=d(A(t));break;case"6M":t.getMonth()<=5&&(e=new Date(t),e.setMonth(0),e.setDate(1),e=l(e),s=new Date(t),s.setMonth(5),s.setDate(30),s=d(e)),t.getMonth()>5&&(e=new Date(t),e.setMonth(6),e.setDate(1),e=l(e),s=new Date(t),s.setMonth(11),s.setDate(31),s=d(e));break;case"1Y":e=new Date(t),e.setMonth(0),e.setDate(1),e=l(e),s=new Date(t),s.setMonth(11),s.setDate(31),s=d(s);break}return{start:e,end:s}}i.addPlugin(C);window.bootstrapped=!1;window.store=i;ct("lastActivity").then(a=>{const t=i.get("lastActivity");i.set("cacheValid",t===a),i.set("lastActivity",a),console.log("Server value: "+a),console.log("Local value: "+t),console.log("Cache valid: "+(t===a))}).then(()=>{Promise.all([h("viewRange"),h("darkMode"),h("locale"),h("language")]).then(a=>{if(!i.get("start")||!i.get("end")){const e=wt(a[0],new Date);i.set("start",e.start),i.set("end",e.end)}window.__localeId__=a[2],i.set("language",a[3]),i.set("locale",a[3]);const t=new Event("firefly-iii-bootstrapped");document.dispatchEvent(t),window.bootstrapped=!0})});window.axios=y;window.axios.defaults.headers.common["X-Requested-With"]="XMLHttpRequest";window.Alpine=P;const p={bg:x,cs:O,da:E,de:S,el:G,enGB:I,enUS:T,es:U,ca:W,fi:L,fr:$,hu:Q,id:V,it:Y,ja:q,ko:z,nb:X,nn:j,nl:F,pl:H,ptBR:J,pt:K,ro:Z,ru:tt,sk:et,sl:at,sv:st,tr:nt,uk:rt,vi:dt,zhTW:lt,zhCN:it};function r(a,t="PP"){let e=window.__localeId__.replace("_","");return B(a,t,{locale:p[e]??p[e.slice(0,2)]??p.enUS})}const yt=()=>({range:{start:null,end:null},defaultRange:{start:null,end:null},language:"en_US",init(){console.log(`Loading page component "DATES" with language "${ot.t("key")}".`),this.range={start:new Date(window.store.get("start")),end:new Date(window.store.get("end"))},this.defaultRange={start:new Date(window.store.get("start")),end:new Date(window.store.get("end"))},this.language=window.store.get("language"),this.locale=window.store.get("locale"),this.locale=this.locale==="equal"?this.language:this.locale,window.__localeId__=this.language,this.buildDateRange(),window.store.observe("start",a=>{this.range.start=new Date(a)}),window.store.observe("end",a=>{this.range.end=new Date(a),this.buildDateRange()})},buildDateRange(){let a=this.getNextRange(),t=this.getPrevRange(),e=this.lastDays(7),s=this.lastDays(30),u=this.mtd(),g=this.ytd(),n=document.getElementsByClassName("daterange-holder")[0];n.textContent=r(this.range.start)+" - "+r(this.range.end),n.setAttribute("data-start",r(this.range.start,"yyyy-MM-dd")),n.setAttribute("data-end",r(this.range.end,"yyyy-MM-dd")),n=document.getElementsByClassName("daterange-current")[0],n.textContent=r(this.defaultRange.start)+" - "+r(this.defaultRange.end),n.setAttribute("data-start",r(this.defaultRange.start,"yyyy-MM-dd")),n.setAttribute("data-end",r(this.defaultRange.end,"yyyy-MM-dd")),n=document.getElementsByClassName("daterange-next")[0],n.textContent=r(a.start)+" - "+r(a.end),n.setAttribute("data-start",r(a.start,"yyyy-MM-dd")),n.setAttribute("data-end",r(a.end,"yyyy-MM-dd")),n=document.getElementsByClassName("daterange-prev")[0],n.textContent=r(t.start)+" - "+r(t.end),n.setAttribute("data-start",r(t.start,"yyyy-MM-dd")),n.setAttribute("data-end",r(t.end,"yyyy-MM-dd")),n=document.getElementsByClassName("daterange-7d")[0],n.setAttribute("data-start",r(e.start,"yyyy-MM-dd")),n.setAttribute("data-end",r(e.end,"yyyy-MM-dd")),n=document.getElementsByClassName("daterange-90d")[0],n.setAttribute("data-start",r(s.start,"yyyy-MM-dd")),n.setAttribute("data-end",r(s.end,"yyyy-MM-dd")),n=document.getElementsByClassName("daterange-mtd")[0],n.setAttribute("data-start",r(u.start,"yyyy-MM-dd")),n.setAttribute("data-end",r(u.end,"yyyy-MM-dd")),n=document.getElementsByClassName("daterange-ytd")[0],n.setAttribute("data-start",r(g.start,"yyyy-MM-dd")),n.setAttribute("data-end",r(g.end,"yyyy-MM-dd"))},getNextRange(){let a=w(this.range.start),t=ut(a,1),e=b(t);return{start:t,end:e}},getPrevRange(){let a=w(this.range.start),t=gt(a,1),e=b(t);return{start:t,end:e}},ytd(){let a=new Date;return{start:D(this.range.start),end:a}},mtd(){let a=new Date;return{start:w(this.range.start),end:a}},lastDays(a){let t=new Date;return{start:c(t,a),end:t}},changeDateRange(a){a.preventDefault();let t=a.currentTarget,e=new Date(t.getAttribute("data-start")),s=new Date(t.getAttribute("data-end"));return window.store.set("start",e),window.store.set("end",s),!1}});function pt(a,t){let e=window.__localeId__.replace("_","-");return Intl.NumberFormat(e,{style:"currency",currency:t}).format(a)}let bt=class{list(t){return o.get("/api/v2/subscriptions",{params:t})}paid(t){return o.get("/api/v2/subscriptions/sum/paid",{params:t})}unpaid(t){return o.get("/api/v2/subscriptions/sum/unpaid",{params:t})}};class ft{list(t){return o.get("/api/v2/piggy-banks",{params:t})}}export{bt as G,k as P,o as a,ft as b,yt as d,pt as f,h as g}; diff --git a/public/build/assets/get-c23f6e9c.js b/public/build/assets/get-c23f6e9c.js deleted file mode 100644 index 78b242e5f8..0000000000 --- a/public/build/assets/get-c23f6e9c.js +++ /dev/null @@ -1 +0,0 @@ -import{a as s}from"./get-51a7c3ed.js";class p{list(a){return s.get("/api/v2/transactions",{params:a})}show(a,t){return s.get("/api/v2/transactions/"+a,{params:t})}}export{p as G}; diff --git a/public/build/assets/get-da167d5b.js b/public/build/assets/get-da167d5b.js new file mode 100644 index 0000000000..ba0b6dac36 --- /dev/null +++ b/public/build/assets/get-da167d5b.js @@ -0,0 +1 @@ +import{a as s}from"./format-money-e259f5e4.js";let t=class{list(a){return s.get("/api/v2/subscriptions",{params:a})}paid(a){return s.get("/api/v2/subscriptions/sum/paid",{params:a})}unpaid(a){return s.get("/api/v2/subscriptions/sum/unpaid",{params:a})}};class e{list(a){return s.get("/api/v2/piggy-banks",{params:a})}}export{t as G,e as a}; diff --git a/public/build/assets/parse-downloaded-splits-7d781ebe.js b/public/build/assets/parse-downloaded-splits-7d781ebe.js new file mode 100644 index 0000000000..402b9e7c4a --- /dev/null +++ b/public/build/assets/parse-downloaded-splits-7d781ebe.js @@ -0,0 +1 @@ +import{c as r}from"./create-empty-split-fb5bda92.js";import{f as o}from"./vendor-fca45885.js";function c(n){let a=[];for(let i in n)if(n.hasOwnProperty(i)){let e=n[i],t=r();t.bill_id=e.bill_id,t.budget_id=e.budget_id,t.category_name=e.category_name,t.piggy_bank_id=e.piggy_bank_id,t.book_date=e.book_date,t.due_date=e.due_date,t.interest_date=e.interest_date,t.invoice_date=e.invoice_date,t.payment_date=e.payment_date,t.process_date=e.process_date,t.external_url=e.external_url,t.internal_reference=e.internal_reference,t.notes=e.notes,t.tags=e.tags,t.amount=parseFloat(e.amount).toFixed(e.currency_decimal_places),t.currency_code=e.currency_code,e.foreign_amount!==null&&(t.forein_currency_code=e.foreign_currency_code,t.foreign_amount=parseFloat(e.foreign_amount).toFixed(e.foreign_currency_decimal_places)),t.date=o(new Date(e.date),"yyyy-MM-dd HH:mm"),t.description=e.description,t.destination_account={id:e.destination_id,name:e.destination_name,type:e.destination_type,alpine_name:e.destination_name},t.source_account={id:e.source_id,name:e.source_name,type:e.source_type,alpine_name:e.source_name},e.latitude!==null&&(t.hasLocation=!0,t.latitude=e.latitude,t.longitude=e.longitude,t.zoomLevel=e.zoom_level),a.push(t)}return a}export{c as p}; diff --git a/public/build/assets/show-18e47a07.js b/public/build/assets/show-18e47a07.js new file mode 100644 index 0000000000..5120f635e6 --- /dev/null +++ b/public/build/assets/show-18e47a07.js @@ -0,0 +1 @@ +import{d as p,f as u}from"./format-money-e259f5e4.js";import{f as h,i as r}from"./vendor-fca45885.js";import{G as c}from"./get-3bb14de5.js";import{p as d}from"./parse-downloaded-splits-7d781ebe.js";import"./create-empty-split-fb5bda92.js";let l=function(){return{notifications:{error:{show:!1,text:"",url:""},success:{show:!1,text:"",url:""},wait:{show:!1,text:""}},groupProperties:{id:0,transactionType:"",transactionTypeTranslated:"",title:"",totalAmount:0,date:new Date},amounts:{},entries:[],pageProperties:{},formatMoney(e,o){return u(e,o)},format(e){return h(e,r.t("config.date_time_fns"))},init(){this.notifications.wait.show=!0,this.notifications.wait.text=r.t("firefly.wait_loading_data");const e=window.location.href.split("/"),o=parseInt(e[e.length-1]);new c().show(o,{}).then(t=>{const i=t.data.data;this.groupProperties.id=parseInt(i.id),this.groupProperties.transactionType=i.attributes.transactions[0].type,this.groupProperties.transactionTypeTranslated=r.t("firefly."+i.attributes.transactions[0].type),this.groupProperties.title=i.attributes.title??i.attributes.transactions[0].description,this.groupProperties.totalAmount=0,this.entries=d(i.attributes.transactions),this.notifications.wait.show=!1}).then(()=>{for(let t in this.entries)if(this.entries.hasOwnProperty(t)){const i=this.entries[t].currency_code,s=this.entries[t].foreign_currency_code;this.amounts[i]===void 0&&(this.amounts[i]=0,this.amounts[i]+=parseFloat(this.entries[t].amount)),s!==null&&s!==""&&this.amounts[s]===void 0&&(this.amounts[s]=0,this.amounts[s]+=parseFloat(this.entries[t].foreign_amount)),this.groupProperties.totalAmount=this.groupProperties.totalAmount+parseFloat(this.entries[t].amount),parseInt(t)===0&&(this.groupProperties.date=this.entries[t].date)}}).catch(t=>{this.notifications.error.show=!0,this.notifications.error.text=t.message})}}},n={show:l,dates:p};function a(){Object.keys(n).forEach(e=>{console.log(`Loading page component "${e}"`);let o=n[e]();Alpine.data(e,()=>o)}),Alpine.start()}document.addEventListener("firefly-iii-bootstrapped",()=>{console.log("Loaded through event listener."),a()});window.bootstrapped&&(console.log("Loaded through window variable."),a()); diff --git a/public/build/assets/vendor-824d08a0.js b/public/build/assets/vendor-fca45885.js similarity index 52% rename from public/build/assets/vendor-824d08a0.js rename to public/build/assets/vendor-fca45885.js index dde8415127..b7eb11a8f1 100644 --- a/public/build/assets/vendor-824d08a0.js +++ b/public/build/assets/vendor-fca45885.js @@ -16,7 +16,8 @@ ${e?'Expression: "'+e+`" * Bootstrap v5.3.2 (https://getbootstrap.com/) * Copyright 2011-2023 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - */const elementMap=new Map,Data={set(n,t,e){elementMap.has(n)||elementMap.set(n,new Map);const i=elementMap.get(n);if(!i.has(t)&&i.size!==0){console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(i.keys())[0]}.`);return}i.set(t,e)},get(n,t){return elementMap.has(n)&&elementMap.get(n).get(t)||null},remove(n,t){if(!elementMap.has(n))return;const e=elementMap.get(n);e.delete(t),e.size===0&&elementMap.delete(n)}},MAX_UID=1e6,MILLISECONDS_MULTIPLIER=1e3,TRANSITION_END="transitionend",parseSelector=n=>(n&&window.CSS&&window.CSS.escape&&(n=n.replace(/#([^\s"#']+)/g,(t,e)=>`#${CSS.escape(e)}`)),n),toType=n=>n==null?`${n}`:Object.prototype.toString.call(n).match(/\s([a-z]+)/i)[1].toLowerCase(),getUID=n=>{do n+=Math.floor(Math.random()*MAX_UID);while(document.getElementById(n));return n},getTransitionDurationFromElement=n=>{if(!n)return 0;let{transitionDuration:t,transitionDelay:e}=window.getComputedStyle(n);const i=Number.parseFloat(t),r=Number.parseFloat(e);return!i&&!r?0:(t=t.split(",")[0],e=e.split(",")[0],(Number.parseFloat(t)+Number.parseFloat(e))*MILLISECONDS_MULTIPLIER)},triggerTransitionEnd=n=>{n.dispatchEvent(new Event(TRANSITION_END))},isElement=n=>!n||typeof n!="object"?!1:(typeof n.jquery<"u"&&(n=n[0]),typeof n.nodeType<"u"),getElement=n=>isElement(n)?n.jquery?n[0]:n:typeof n=="string"&&n.length>0?document.querySelector(parseSelector(n)):null,isVisible=n=>{if(!isElement(n)||n.getClientRects().length===0)return!1;const t=getComputedStyle(n).getPropertyValue("visibility")==="visible",e=n.closest("details:not([open])");if(!e)return t;if(e!==n){const i=n.closest("summary");if(i&&i.parentNode!==e||i===null)return!1}return t},isDisabled=n=>!n||n.nodeType!==Node.ELEMENT_NODE||n.classList.contains("disabled")?!0:typeof n.disabled<"u"?n.disabled:n.hasAttribute("disabled")&&n.getAttribute("disabled")!=="false",findShadowRoot=n=>{if(!document.documentElement.attachShadow)return null;if(typeof n.getRootNode=="function"){const t=n.getRootNode();return t instanceof ShadowRoot?t:null}return n instanceof ShadowRoot?n:n.parentNode?findShadowRoot(n.parentNode):null},noop$2=()=>{},reflow=n=>{n.offsetHeight},getjQuery=()=>window.jQuery&&!document.body.hasAttribute("data-bs-no-jquery")?window.jQuery:null,DOMContentLoadedCallbacks=[],onDOMContentLoaded=n=>{document.readyState==="loading"?(DOMContentLoadedCallbacks.length||document.addEventListener("DOMContentLoaded",()=>{for(const t of DOMContentLoadedCallbacks)t()}),DOMContentLoadedCallbacks.push(n)):n()},isRTL=()=>document.documentElement.dir==="rtl",defineJQueryPlugin=n=>{onDOMContentLoaded(()=>{const t=getjQuery();if(t){const e=n.NAME,i=t.fn[e];t.fn[e]=n.jQueryInterface,t.fn[e].Constructor=n,t.fn[e].noConflict=()=>(t.fn[e]=i,n.jQueryInterface)}})},execute=(n,t=[],e=n)=>typeof n=="function"?n(...t):e,executeAfterTransition=(n,t,e=!0)=>{if(!e){execute(n);return}const i=5,r=getTransitionDurationFromElement(t)+i;let a=!1;const o=({target:l})=>{l===t&&(a=!0,t.removeEventListener(TRANSITION_END,o),execute(n))};t.addEventListener(TRANSITION_END,o),setTimeout(()=>{a||triggerTransitionEnd(t)},r)},getNextActiveElement=(n,t,e,i)=>{const r=n.length;let a=n.indexOf(t);return a===-1?!e&&i?n[r-1]:n[0]:(a+=e?1:-1,i&&(a=(a+r)%r),n[Math.max(0,Math.min(a,r-1))])},namespaceRegex=/[^.]*(?=\..*)\.|.*/,stripNameRegex=/\..*/,stripUidRegex=/::\d+$/,eventRegistry={};let uidEvent=1;const customEvents={mouseenter:"mouseover",mouseleave:"mouseout"},nativeEvents=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function makeEventUid(n,t){return t&&`${t}::${uidEvent++}`||n.uidEvent||uidEvent++}function getElementEvents(n){const t=makeEventUid(n);return n.uidEvent=t,eventRegistry[t]=eventRegistry[t]||{},eventRegistry[t]}function bootstrapHandler(n,t){return function e(i){return hydrateObj(i,{delegateTarget:n}),e.oneOff&&EventHandler.off(n,i.type,t),t.apply(n,[i])}}function bootstrapDelegationHandler(n,t,e){return function i(r){const a=n.querySelectorAll(t);for(let{target:o}=r;o&&o!==this;o=o.parentNode)for(const l of a)if(l===o)return hydrateObj(r,{delegateTarget:o}),i.oneOff&&EventHandler.off(n,r.type,t,e),e.apply(o,[r])}}function findHandler(n,t,e=null){return Object.values(n).find(i=>i.callable===t&&i.delegationSelector===e)}function normalizeParameters(n,t,e){const i=typeof t=="string",r=i?e:t||e;let a=getTypeEvent(n);return nativeEvents.has(a)||(a=n),[i,r,a]}function addHandler(n,t,e,i,r){if(typeof t!="string"||!n)return;let[a,o,l]=normalizeParameters(t,e,i);t in customEvents&&(o=(w=>function(v){if(!v.relatedTarget||v.relatedTarget!==v.delegateTarget&&!v.delegateTarget.contains(v.relatedTarget))return w.call(this,v)})(o));const u=getElementEvents(n),d=u[l]||(u[l]={}),m=findHandler(d,o,a?e:null);if(m){m.oneOff=m.oneOff&&r;return}const p=makeEventUid(o,t.replace(namespaceRegex,"")),_=a?bootstrapDelegationHandler(n,e,o):bootstrapHandler(n,o);_.delegationSelector=a?e:null,_.callable=o,_.oneOff=r,_.uidEvent=p,d[p]=_,n.addEventListener(l,_,a)}function removeHandler(n,t,e,i,r){const a=findHandler(t[e],i,r);a&&(n.removeEventListener(e,a,!!r),delete t[e][a.uidEvent])}function removeNamespacedHandlers(n,t,e,i){const r=t[e]||{};for(const[a,o]of Object.entries(r))a.includes(i)&&removeHandler(n,t,e,o.callable,o.delegationSelector)}function getTypeEvent(n){return n=n.replace(stripNameRegex,""),customEvents[n]||n}const EventHandler={on(n,t,e,i){addHandler(n,t,e,i,!1)},one(n,t,e,i){addHandler(n,t,e,i,!0)},off(n,t,e,i){if(typeof t!="string"||!n)return;const[r,a,o]=normalizeParameters(t,e,i),l=o!==t,u=getElementEvents(n),d=u[o]||{},m=t.startsWith(".");if(typeof a<"u"){if(!Object.keys(d).length)return;removeHandler(n,u,o,a,r?e:null);return}if(m)for(const p of Object.keys(u))removeNamespacedHandlers(n,u,p,t.slice(1));for(const[p,_]of Object.entries(d)){const y=p.replace(stripUidRegex,"");(!l||t.includes(y))&&removeHandler(n,u,o,_.callable,_.delegationSelector)}},trigger(n,t,e){if(typeof t!="string"||!n)return null;const i=getjQuery(),r=getTypeEvent(t),a=t!==r;let o=null,l=!0,u=!0,d=!1;a&&i&&(o=i.Event(t,e),i(n).trigger(o),l=!o.isPropagationStopped(),u=!o.isImmediatePropagationStopped(),d=o.isDefaultPrevented());const m=hydrateObj(new Event(t,{bubbles:l,cancelable:!0}),e);return d&&m.preventDefault(),u&&n.dispatchEvent(m),m.defaultPrevented&&o&&o.preventDefault(),m}};function hydrateObj(n,t={}){for(const[e,i]of Object.entries(t))try{n[e]=i}catch{Object.defineProperty(n,e,{configurable:!0,get(){return i}})}return n}function normalizeData(n){if(n==="true")return!0;if(n==="false")return!1;if(n===Number(n).toString())return Number(n);if(n===""||n==="null")return null;if(typeof n!="string")return n;try{return JSON.parse(decodeURIComponent(n))}catch{return n}}function normalizeDataKey(n){return n.replace(/[A-Z]/g,t=>`-${t.toLowerCase()}`)}const Manipulator={setDataAttribute(n,t,e){n.setAttribute(`data-bs-${normalizeDataKey(t)}`,e)},removeDataAttribute(n,t){n.removeAttribute(`data-bs-${normalizeDataKey(t)}`)},getDataAttributes(n){if(!n)return{};const t={},e=Object.keys(n.dataset).filter(i=>i.startsWith("bs")&&!i.startsWith("bsConfig"));for(const i of e){let r=i.replace(/^bs/,"");r=r.charAt(0).toLowerCase()+r.slice(1,r.length),t[r]=normalizeData(n.dataset[i])}return t},getDataAttribute(n,t){return normalizeData(n.getAttribute(`data-bs-${normalizeDataKey(t)}`))}};let Config$1=class{static get Default(){return{}}static get DefaultType(){return{}}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}_getConfig(t){return t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t}_mergeConfigObj(t,e){const i=isElement(e)?Manipulator.getDataAttribute(e,"config"):{};return{...this.constructor.Default,...typeof i=="object"?i:{},...isElement(e)?Manipulator.getDataAttributes(e):{},...typeof t=="object"?t:{}}}_typeCheckConfig(t,e=this.constructor.DefaultType){for(const[i,r]of Object.entries(e)){const a=t[i],o=isElement(a)?"element":toType(a);if(!new RegExp(r).test(o))throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${i}" provided type "${o}" but expected type "${r}".`)}}};const VERSION="5.3.2";class BaseComponent extends Config$1{constructor(t,e){super(),t=getElement(t),t&&(this._element=t,this._config=this._getConfig(e),Data.set(this._element,this.constructor.DATA_KEY,this))}dispose(){Data.remove(this._element,this.constructor.DATA_KEY),EventHandler.off(this._element,this.constructor.EVENT_KEY);for(const t of Object.getOwnPropertyNames(this))this[t]=null}_queueCallback(t,e,i=!0){executeAfterTransition(t,e,i)}_getConfig(t){return t=this._mergeConfigObj(t,this._element),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}static getInstance(t){return Data.get(getElement(t),this.DATA_KEY)}static getOrCreateInstance(t,e={}){return this.getInstance(t)||new this(t,typeof e=="object"?e:null)}static get VERSION(){return VERSION}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}static eventName(t){return`${t}${this.EVENT_KEY}`}}const getSelector=n=>{let t=n.getAttribute("data-bs-target");if(!t||t==="#"){let e=n.getAttribute("href");if(!e||!e.includes("#")&&!e.startsWith("."))return null;e.includes("#")&&!e.startsWith("#")&&(e=`#${e.split("#")[1]}`),t=e&&e!=="#"?parseSelector(e.trim()):null}return t},SelectorEngine={find(n,t=document.documentElement){return[].concat(...Element.prototype.querySelectorAll.call(t,n))},findOne(n,t=document.documentElement){return Element.prototype.querySelector.call(t,n)},children(n,t){return[].concat(...n.children).filter(e=>e.matches(t))},parents(n,t){const e=[];let i=n.parentNode.closest(t);for(;i;)e.push(i),i=i.parentNode.closest(t);return e},prev(n,t){let e=n.previousElementSibling;for(;e;){if(e.matches(t))return[e];e=e.previousElementSibling}return[]},next(n,t){let e=n.nextElementSibling;for(;e;){if(e.matches(t))return[e];e=e.nextElementSibling}return[]},focusableChildren(n){const t=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map(e=>`${e}:not([tabindex^="-"])`).join(",");return this.find(t,n).filter(e=>!isDisabled(e)&&isVisible(e))},getSelectorFromElement(n){const t=getSelector(n);return t&&SelectorEngine.findOne(t)?t:null},getElementFromSelector(n){const t=getSelector(n);return t?SelectorEngine.findOne(t):null},getMultipleElementsFromSelector(n){const t=getSelector(n);return t?SelectorEngine.find(t):[]}},enableDismissTrigger=(n,t="hide")=>{const e=`click.dismiss${n.EVENT_KEY}`,i=n.NAME;EventHandler.on(document,e,`[data-bs-dismiss="${i}"]`,function(r){if(["A","AREA"].includes(this.tagName)&&r.preventDefault(),isDisabled(this))return;const a=SelectorEngine.getElementFromSelector(this)||this.closest(`.${i}`);n.getOrCreateInstance(a)[t]()})},NAME$f="alert",DATA_KEY$a="bs.alert",EVENT_KEY$b=`.${DATA_KEY$a}`,EVENT_CLOSE=`close${EVENT_KEY$b}`,EVENT_CLOSED=`closed${EVENT_KEY$b}`,CLASS_NAME_FADE$5="fade",CLASS_NAME_SHOW$8="show";class Alert extends BaseComponent{static get NAME(){return NAME$f}close(){if(EventHandler.trigger(this._element,EVENT_CLOSE).defaultPrevented)return;this._element.classList.remove(CLASS_NAME_SHOW$8);const e=this._element.classList.contains(CLASS_NAME_FADE$5);this._queueCallback(()=>this._destroyElement(),this._element,e)}_destroyElement(){this._element.remove(),EventHandler.trigger(this._element,EVENT_CLOSED),this.dispose()}static jQueryInterface(t){return this.each(function(){const e=Alert.getOrCreateInstance(this);if(typeof t=="string"){if(e[t]===void 0||t.startsWith("_")||t==="constructor")throw new TypeError(`No method named "${t}"`);e[t](this)}})}}enableDismissTrigger(Alert,"close");defineJQueryPlugin(Alert);const NAME$e="button",DATA_KEY$9="bs.button",EVENT_KEY$a=`.${DATA_KEY$9}`,DATA_API_KEY$6=".data-api",CLASS_NAME_ACTIVE$3="active",SELECTOR_DATA_TOGGLE$5='[data-bs-toggle="button"]',EVENT_CLICK_DATA_API$6=`click${EVENT_KEY$a}${DATA_API_KEY$6}`;class Button extends BaseComponent{static get NAME(){return NAME$e}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle(CLASS_NAME_ACTIVE$3))}static jQueryInterface(t){return this.each(function(){const e=Button.getOrCreateInstance(this);t==="toggle"&&e[t]()})}}EventHandler.on(document,EVENT_CLICK_DATA_API$6,SELECTOR_DATA_TOGGLE$5,n=>{n.preventDefault();const t=n.target.closest(SELECTOR_DATA_TOGGLE$5);Button.getOrCreateInstance(t).toggle()});defineJQueryPlugin(Button);const NAME$d="swipe",EVENT_KEY$9=".bs.swipe",EVENT_TOUCHSTART=`touchstart${EVENT_KEY$9}`,EVENT_TOUCHMOVE=`touchmove${EVENT_KEY$9}`,EVENT_TOUCHEND=`touchend${EVENT_KEY$9}`,EVENT_POINTERDOWN=`pointerdown${EVENT_KEY$9}`,EVENT_POINTERUP=`pointerup${EVENT_KEY$9}`,POINTER_TYPE_TOUCH="touch",POINTER_TYPE_PEN="pen",CLASS_NAME_POINTER_EVENT="pointer-event",SWIPE_THRESHOLD=40,Default$c={endCallback:null,leftCallback:null,rightCallback:null},DefaultType$c={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)"};class Swipe extends Config$1{constructor(t,e){super(),this._element=t,!(!t||!Swipe.isSupported())&&(this._config=this._getConfig(e),this._deltaX=0,this._supportPointerEvents=!!window.PointerEvent,this._initEvents())}static get Default(){return Default$c}static get DefaultType(){return DefaultType$c}static get NAME(){return NAME$d}dispose(){EventHandler.off(this._element,EVENT_KEY$9)}_start(t){if(!this._supportPointerEvents){this._deltaX=t.touches[0].clientX;return}this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX)}_end(t){this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX-this._deltaX),this._handleSwipe(),execute(this._config.endCallback)}_move(t){this._deltaX=t.touches&&t.touches.length>1?0:t.touches[0].clientX-this._deltaX}_handleSwipe(){const t=Math.abs(this._deltaX);if(t<=SWIPE_THRESHOLD)return;const e=t/this._deltaX;this._deltaX=0,e&&execute(e>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?(EventHandler.on(this._element,EVENT_POINTERDOWN,t=>this._start(t)),EventHandler.on(this._element,EVENT_POINTERUP,t=>this._end(t)),this._element.classList.add(CLASS_NAME_POINTER_EVENT)):(EventHandler.on(this._element,EVENT_TOUCHSTART,t=>this._start(t)),EventHandler.on(this._element,EVENT_TOUCHMOVE,t=>this._move(t)),EventHandler.on(this._element,EVENT_TOUCHEND,t=>this._end(t)))}_eventIsPointerPenTouch(t){return this._supportPointerEvents&&(t.pointerType===POINTER_TYPE_PEN||t.pointerType===POINTER_TYPE_TOUCH)}static isSupported(){return"ontouchstart"in document.documentElement||navigator.maxTouchPoints>0}}const NAME$c="carousel",DATA_KEY$8="bs.carousel",EVENT_KEY$8=`.${DATA_KEY$8}`,DATA_API_KEY$5=".data-api",ARROW_LEFT_KEY$1="ArrowLeft",ARROW_RIGHT_KEY$1="ArrowRight",TOUCHEVENT_COMPAT_WAIT=500,ORDER_NEXT="next",ORDER_PREV="prev",DIRECTION_LEFT="left",DIRECTION_RIGHT="right",EVENT_SLIDE=`slide${EVENT_KEY$8}`,EVENT_SLID=`slid${EVENT_KEY$8}`,EVENT_KEYDOWN$1=`keydown${EVENT_KEY$8}`,EVENT_MOUSEENTER$1=`mouseenter${EVENT_KEY$8}`,EVENT_MOUSELEAVE$1=`mouseleave${EVENT_KEY$8}`,EVENT_DRAG_START=`dragstart${EVENT_KEY$8}`,EVENT_LOAD_DATA_API$3=`load${EVENT_KEY$8}${DATA_API_KEY$5}`,EVENT_CLICK_DATA_API$5=`click${EVENT_KEY$8}${DATA_API_KEY$5}`,CLASS_NAME_CAROUSEL="carousel",CLASS_NAME_ACTIVE$2="active",CLASS_NAME_SLIDE="slide",CLASS_NAME_END="carousel-item-end",CLASS_NAME_START="carousel-item-start",CLASS_NAME_NEXT="carousel-item-next",CLASS_NAME_PREV="carousel-item-prev",SELECTOR_ACTIVE=".active",SELECTOR_ITEM=".carousel-item",SELECTOR_ACTIVE_ITEM=SELECTOR_ACTIVE+SELECTOR_ITEM,SELECTOR_ITEM_IMG=".carousel-item img",SELECTOR_INDICATORS=".carousel-indicators",SELECTOR_DATA_SLIDE="[data-bs-slide], [data-bs-slide-to]",SELECTOR_DATA_RIDE='[data-bs-ride="carousel"]',KEY_TO_DIRECTION={[ARROW_LEFT_KEY$1]:DIRECTION_RIGHT,[ARROW_RIGHT_KEY$1]:DIRECTION_LEFT},Default$b={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},DefaultType$b={interval:"(number|boolean)",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};class Carousel extends BaseComponent{constructor(t,e){super(t,e),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=SelectorEngine.findOne(SELECTOR_INDICATORS,this._element),this._addEventListeners(),this._config.ride===CLASS_NAME_CAROUSEL&&this.cycle()}static get Default(){return Default$b}static get DefaultType(){return DefaultType$b}static get NAME(){return NAME$c}next(){this._slide(ORDER_NEXT)}nextWhenVisible(){!document.hidden&&isVisible(this._element)&&this.next()}prev(){this._slide(ORDER_PREV)}pause(){this._isSliding&&triggerTransitionEnd(this._element),this._clearInterval()}cycle(){this._clearInterval(),this._updateInterval(),this._interval=setInterval(()=>this.nextWhenVisible(),this._config.interval)}_maybeEnableCycle(){if(this._config.ride){if(this._isSliding){EventHandler.one(this._element,EVENT_SLID,()=>this.cycle());return}this.cycle()}}to(t){const e=this._getItems();if(t>e.length-1||t<0)return;if(this._isSliding){EventHandler.one(this._element,EVENT_SLID,()=>this.to(t));return}const i=this._getItemIndex(this._getActive());if(i===t)return;const r=t>i?ORDER_NEXT:ORDER_PREV;this._slide(r,e[t])}dispose(){this._swipeHelper&&this._swipeHelper.dispose(),super.dispose()}_configAfterMerge(t){return t.defaultInterval=t.interval,t}_addEventListeners(){this._config.keyboard&&EventHandler.on(this._element,EVENT_KEYDOWN$1,t=>this._keydown(t)),this._config.pause==="hover"&&(EventHandler.on(this._element,EVENT_MOUSEENTER$1,()=>this.pause()),EventHandler.on(this._element,EVENT_MOUSELEAVE$1,()=>this._maybeEnableCycle())),this._config.touch&&Swipe.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const i of SelectorEngine.find(SELECTOR_ITEM_IMG,this._element))EventHandler.on(i,EVENT_DRAG_START,r=>r.preventDefault());const e={leftCallback:()=>this._slide(this._directionToOrder(DIRECTION_LEFT)),rightCallback:()=>this._slide(this._directionToOrder(DIRECTION_RIGHT)),endCallback:()=>{this._config.pause==="hover"&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout(()=>this._maybeEnableCycle(),TOUCHEVENT_COMPAT_WAIT+this._config.interval))}};this._swipeHelper=new Swipe(this._element,e)}_keydown(t){if(/input|textarea/i.test(t.target.tagName))return;const e=KEY_TO_DIRECTION[t.key];e&&(t.preventDefault(),this._slide(this._directionToOrder(e)))}_getItemIndex(t){return this._getItems().indexOf(t)}_setActiveIndicatorElement(t){if(!this._indicatorsElement)return;const e=SelectorEngine.findOne(SELECTOR_ACTIVE,this._indicatorsElement);e.classList.remove(CLASS_NAME_ACTIVE$2),e.removeAttribute("aria-current");const i=SelectorEngine.findOne(`[data-bs-slide-to="${t}"]`,this._indicatorsElement);i&&(i.classList.add(CLASS_NAME_ACTIVE$2),i.setAttribute("aria-current","true"))}_updateInterval(){const t=this._activeElement||this._getActive();if(!t)return;const e=Number.parseInt(t.getAttribute("data-bs-interval"),10);this._config.interval=e||this._config.defaultInterval}_slide(t,e=null){if(this._isSliding)return;const i=this._getActive(),r=t===ORDER_NEXT,a=e||getNextActiveElement(this._getItems(),i,r,this._config.wrap);if(a===i)return;const o=this._getItemIndex(a),l=y=>EventHandler.trigger(this._element,y,{relatedTarget:a,direction:this._orderToDirection(t),from:this._getItemIndex(i),to:o});if(l(EVENT_SLIDE).defaultPrevented||!i||!a)return;const d=!!this._interval;this.pause(),this._isSliding=!0,this._setActiveIndicatorElement(o),this._activeElement=a;const m=r?CLASS_NAME_START:CLASS_NAME_END,p=r?CLASS_NAME_NEXT:CLASS_NAME_PREV;a.classList.add(p),reflow(a),i.classList.add(m),a.classList.add(m);const _=()=>{a.classList.remove(m,p),a.classList.add(CLASS_NAME_ACTIVE$2),i.classList.remove(CLASS_NAME_ACTIVE$2,p,m),this._isSliding=!1,l(EVENT_SLID)};this._queueCallback(_,i,this._isAnimated()),d&&this.cycle()}_isAnimated(){return this._element.classList.contains(CLASS_NAME_SLIDE)}_getActive(){return SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM,this._element)}_getItems(){return SelectorEngine.find(SELECTOR_ITEM,this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(t){return isRTL()?t===DIRECTION_LEFT?ORDER_PREV:ORDER_NEXT:t===DIRECTION_LEFT?ORDER_NEXT:ORDER_PREV}_orderToDirection(t){return isRTL()?t===ORDER_PREV?DIRECTION_LEFT:DIRECTION_RIGHT:t===ORDER_PREV?DIRECTION_RIGHT:DIRECTION_LEFT}static jQueryInterface(t){return this.each(function(){const e=Carousel.getOrCreateInstance(this,t);if(typeof t=="number"){e.to(t);return}if(typeof t=="string"){if(e[t]===void 0||t.startsWith("_")||t==="constructor")throw new TypeError(`No method named "${t}"`);e[t]()}})}}EventHandler.on(document,EVENT_CLICK_DATA_API$5,SELECTOR_DATA_SLIDE,function(n){const t=SelectorEngine.getElementFromSelector(this);if(!t||!t.classList.contains(CLASS_NAME_CAROUSEL))return;n.preventDefault();const e=Carousel.getOrCreateInstance(t),i=this.getAttribute("data-bs-slide-to");if(i){e.to(i),e._maybeEnableCycle();return}if(Manipulator.getDataAttribute(this,"slide")==="next"){e.next(),e._maybeEnableCycle();return}e.prev(),e._maybeEnableCycle()});EventHandler.on(window,EVENT_LOAD_DATA_API$3,()=>{const n=SelectorEngine.find(SELECTOR_DATA_RIDE);for(const t of n)Carousel.getOrCreateInstance(t)});defineJQueryPlugin(Carousel);const NAME$b="collapse",DATA_KEY$7="bs.collapse",EVENT_KEY$7=`.${DATA_KEY$7}`,DATA_API_KEY$4=".data-api",EVENT_SHOW$6=`show${EVENT_KEY$7}`,EVENT_SHOWN$6=`shown${EVENT_KEY$7}`,EVENT_HIDE$6=`hide${EVENT_KEY$7}`,EVENT_HIDDEN$6=`hidden${EVENT_KEY$7}`,EVENT_CLICK_DATA_API$4=`click${EVENT_KEY$7}${DATA_API_KEY$4}`,CLASS_NAME_SHOW$7="show",CLASS_NAME_COLLAPSE="collapse",CLASS_NAME_COLLAPSING="collapsing",CLASS_NAME_COLLAPSED="collapsed",CLASS_NAME_DEEPER_CHILDREN=`:scope .${CLASS_NAME_COLLAPSE} .${CLASS_NAME_COLLAPSE}`,CLASS_NAME_HORIZONTAL="collapse-horizontal",WIDTH="width",HEIGHT="height",SELECTOR_ACTIVES=".collapse.show, .collapse.collapsing",SELECTOR_DATA_TOGGLE$4='[data-bs-toggle="collapse"]',Default$a={parent:null,toggle:!0},DefaultType$a={parent:"(null|element)",toggle:"boolean"};class Collapse extends BaseComponent{constructor(t,e){super(t,e),this._isTransitioning=!1,this._triggerArray=[];const i=SelectorEngine.find(SELECTOR_DATA_TOGGLE$4);for(const r of i){const a=SelectorEngine.getSelectorFromElement(r),o=SelectorEngine.find(a).filter(l=>l===this._element);a!==null&&o.length&&this._triggerArray.push(r)}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return Default$a}static get DefaultType(){return DefaultType$a}static get NAME(){return NAME$b}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let t=[];if(this._config.parent&&(t=this._getFirstLevelChildren(SELECTOR_ACTIVES).filter(l=>l!==this._element).map(l=>Collapse.getOrCreateInstance(l,{toggle:!1}))),t.length&&t[0]._isTransitioning||EventHandler.trigger(this._element,EVENT_SHOW$6).defaultPrevented)return;for(const l of t)l.hide();const i=this._getDimension();this._element.classList.remove(CLASS_NAME_COLLAPSE),this._element.classList.add(CLASS_NAME_COLLAPSING),this._element.style[i]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const r=()=>{this._isTransitioning=!1,this._element.classList.remove(CLASS_NAME_COLLAPSING),this._element.classList.add(CLASS_NAME_COLLAPSE,CLASS_NAME_SHOW$7),this._element.style[i]="",EventHandler.trigger(this._element,EVENT_SHOWN$6)},o=`scroll${i[0].toUpperCase()+i.slice(1)}`;this._queueCallback(r,this._element,!0),this._element.style[i]=`${this._element[o]}px`}hide(){if(this._isTransitioning||!this._isShown()||EventHandler.trigger(this._element,EVENT_HIDE$6).defaultPrevented)return;const e=this._getDimension();this._element.style[e]=`${this._element.getBoundingClientRect()[e]}px`,reflow(this._element),this._element.classList.add(CLASS_NAME_COLLAPSING),this._element.classList.remove(CLASS_NAME_COLLAPSE,CLASS_NAME_SHOW$7);for(const r of this._triggerArray){const a=SelectorEngine.getElementFromSelector(r);a&&!this._isShown(a)&&this._addAriaAndCollapsedClass([r],!1)}this._isTransitioning=!0;const i=()=>{this._isTransitioning=!1,this._element.classList.remove(CLASS_NAME_COLLAPSING),this._element.classList.add(CLASS_NAME_COLLAPSE),EventHandler.trigger(this._element,EVENT_HIDDEN$6)};this._element.style[e]="",this._queueCallback(i,this._element,!0)}_isShown(t=this._element){return t.classList.contains(CLASS_NAME_SHOW$7)}_configAfterMerge(t){return t.toggle=!!t.toggle,t.parent=getElement(t.parent),t}_getDimension(){return this._element.classList.contains(CLASS_NAME_HORIZONTAL)?WIDTH:HEIGHT}_initializeChildren(){if(!this._config.parent)return;const t=this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE$4);for(const e of t){const i=SelectorEngine.getElementFromSelector(e);i&&this._addAriaAndCollapsedClass([e],this._isShown(i))}}_getFirstLevelChildren(t){const e=SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN,this._config.parent);return SelectorEngine.find(t,this._config.parent).filter(i=>!e.includes(i))}_addAriaAndCollapsedClass(t,e){if(t.length)for(const i of t)i.classList.toggle(CLASS_NAME_COLLAPSED,!e),i.setAttribute("aria-expanded",e)}static jQueryInterface(t){const e={};return typeof t=="string"&&/show|hide/.test(t)&&(e.toggle=!1),this.each(function(){const i=Collapse.getOrCreateInstance(this,e);if(typeof t=="string"){if(typeof i[t]>"u")throw new TypeError(`No method named "${t}"`);i[t]()}})}}EventHandler.on(document,EVENT_CLICK_DATA_API$4,SELECTOR_DATA_TOGGLE$4,function(n){(n.target.tagName==="A"||n.delegateTarget&&n.delegateTarget.tagName==="A")&&n.preventDefault();for(const t of SelectorEngine.getMultipleElementsFromSelector(this))Collapse.getOrCreateInstance(t,{toggle:!1}).toggle()});defineJQueryPlugin(Collapse);const NAME$a="dropdown",DATA_KEY$6="bs.dropdown",EVENT_KEY$6=`.${DATA_KEY$6}`,DATA_API_KEY$3=".data-api",ESCAPE_KEY$2="Escape",TAB_KEY$1="Tab",ARROW_UP_KEY$1="ArrowUp",ARROW_DOWN_KEY$1="ArrowDown",RIGHT_MOUSE_BUTTON=2,EVENT_HIDE$5=`hide${EVENT_KEY$6}`,EVENT_HIDDEN$5=`hidden${EVENT_KEY$6}`,EVENT_SHOW$5=`show${EVENT_KEY$6}`,EVENT_SHOWN$5=`shown${EVENT_KEY$6}`,EVENT_CLICK_DATA_API$3=`click${EVENT_KEY$6}${DATA_API_KEY$3}`,EVENT_KEYDOWN_DATA_API=`keydown${EVENT_KEY$6}${DATA_API_KEY$3}`,EVENT_KEYUP_DATA_API=`keyup${EVENT_KEY$6}${DATA_API_KEY$3}`,CLASS_NAME_SHOW$6="show",CLASS_NAME_DROPUP="dropup",CLASS_NAME_DROPEND="dropend",CLASS_NAME_DROPSTART="dropstart",CLASS_NAME_DROPUP_CENTER="dropup-center",CLASS_NAME_DROPDOWN_CENTER="dropdown-center",SELECTOR_DATA_TOGGLE$3='[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)',SELECTOR_DATA_TOGGLE_SHOWN=`${SELECTOR_DATA_TOGGLE$3}.${CLASS_NAME_SHOW$6}`,SELECTOR_MENU=".dropdown-menu",SELECTOR_NAVBAR=".navbar",SELECTOR_NAVBAR_NAV=".navbar-nav",SELECTOR_VISIBLE_ITEMS=".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",PLACEMENT_TOP=isRTL()?"top-end":"top-start",PLACEMENT_TOPEND=isRTL()?"top-start":"top-end",PLACEMENT_BOTTOM=isRTL()?"bottom-end":"bottom-start",PLACEMENT_BOTTOMEND=isRTL()?"bottom-start":"bottom-end",PLACEMENT_RIGHT=isRTL()?"left-start":"right-start",PLACEMENT_LEFT=isRTL()?"right-start":"left-start",PLACEMENT_TOPCENTER="top",PLACEMENT_BOTTOMCENTER="bottom",Default$9={autoClose:!0,boundary:"clippingParents",display:"dynamic",offset:[0,2],popperConfig:null,reference:"toggle"},DefaultType$9={autoClose:"(boolean|string)",boundary:"(string|element)",display:"string",offset:"(array|string|function)",popperConfig:"(null|object|function)",reference:"(string|element|object)"};class Dropdown extends BaseComponent{constructor(t,e){super(t,e),this._popper=null,this._parent=this._element.parentNode,this._menu=SelectorEngine.next(this._element,SELECTOR_MENU)[0]||SelectorEngine.prev(this._element,SELECTOR_MENU)[0]||SelectorEngine.findOne(SELECTOR_MENU,this._parent),this._inNavbar=this._detectNavbar()}static get Default(){return Default$9}static get DefaultType(){return DefaultType$9}static get NAME(){return NAME$a}toggle(){return this._isShown()?this.hide():this.show()}show(){if(isDisabled(this._element)||this._isShown())return;const t={relatedTarget:this._element};if(!EventHandler.trigger(this._element,EVENT_SHOW$5,t).defaultPrevented){if(this._createPopper(),"ontouchstart"in document.documentElement&&!this._parent.closest(SELECTOR_NAVBAR_NAV))for(const i of[].concat(...document.body.children))EventHandler.on(i,"mouseover",noop$2);this._element.focus(),this._element.setAttribute("aria-expanded",!0),this._menu.classList.add(CLASS_NAME_SHOW$6),this._element.classList.add(CLASS_NAME_SHOW$6),EventHandler.trigger(this._element,EVENT_SHOWN$5,t)}}hide(){if(isDisabled(this._element)||!this._isShown())return;const t={relatedTarget:this._element};this._completeHide(t)}dispose(){this._popper&&this._popper.destroy(),super.dispose()}update(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.update()}_completeHide(t){if(!EventHandler.trigger(this._element,EVENT_HIDE$5,t).defaultPrevented){if("ontouchstart"in document.documentElement)for(const i of[].concat(...document.body.children))EventHandler.off(i,"mouseover",noop$2);this._popper&&this._popper.destroy(),this._menu.classList.remove(CLASS_NAME_SHOW$6),this._element.classList.remove(CLASS_NAME_SHOW$6),this._element.setAttribute("aria-expanded","false"),Manipulator.removeDataAttribute(this._menu,"popper"),EventHandler.trigger(this._element,EVENT_HIDDEN$5,t)}}_getConfig(t){if(t=super._getConfig(t),typeof t.reference=="object"&&!isElement(t.reference)&&typeof t.reference.getBoundingClientRect!="function")throw new TypeError(`${NAME$a.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);return t}_createPopper(){if(typeof Popper>"u")throw new TypeError("Bootstrap's dropdowns require Popper (https://popper.js.org)");let t=this._element;this._config.reference==="parent"?t=this._parent:isElement(this._config.reference)?t=getElement(this._config.reference):typeof this._config.reference=="object"&&(t=this._config.reference);const e=this._getPopperConfig();this._popper=createPopper(t,this._menu,e)}_isShown(){return this._menu.classList.contains(CLASS_NAME_SHOW$6)}_getPlacement(){const t=this._parent;if(t.classList.contains(CLASS_NAME_DROPEND))return PLACEMENT_RIGHT;if(t.classList.contains(CLASS_NAME_DROPSTART))return PLACEMENT_LEFT;if(t.classList.contains(CLASS_NAME_DROPUP_CENTER))return PLACEMENT_TOPCENTER;if(t.classList.contains(CLASS_NAME_DROPDOWN_CENTER))return PLACEMENT_BOTTOMCENTER;const e=getComputedStyle(this._menu).getPropertyValue("--bs-position").trim()==="end";return t.classList.contains(CLASS_NAME_DROPUP)?e?PLACEMENT_TOPEND:PLACEMENT_TOP:e?PLACEMENT_BOTTOMEND:PLACEMENT_BOTTOM}_detectNavbar(){return this._element.closest(SELECTOR_NAVBAR)!==null}_getOffset(){const{offset:t}=this._config;return typeof t=="string"?t.split(",").map(e=>Number.parseInt(e,10)):typeof t=="function"?e=>t(e,this._element):t}_getPopperConfig(){const t={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return(this._inNavbar||this._config.display==="static")&&(Manipulator.setDataAttribute(this._menu,"popper","static"),t.modifiers=[{name:"applyStyles",enabled:!1}]),{...t,...execute(this._config.popperConfig,[t])}}_selectMenuItem({key:t,target:e}){const i=SelectorEngine.find(SELECTOR_VISIBLE_ITEMS,this._menu).filter(r=>isVisible(r));i.length&&getNextActiveElement(i,e,t===ARROW_DOWN_KEY$1,!i.includes(e)).focus()}static jQueryInterface(t){return this.each(function(){const e=Dropdown.getOrCreateInstance(this,t);if(typeof t=="string"){if(typeof e[t]>"u")throw new TypeError(`No method named "${t}"`);e[t]()}})}static clearMenus(t){if(t.button===RIGHT_MOUSE_BUTTON||t.type==="keyup"&&t.key!==TAB_KEY$1)return;const e=SelectorEngine.find(SELECTOR_DATA_TOGGLE_SHOWN);for(const i of e){const r=Dropdown.getInstance(i);if(!r||r._config.autoClose===!1)continue;const a=t.composedPath(),o=a.includes(r._menu);if(a.includes(r._element)||r._config.autoClose==="inside"&&!o||r._config.autoClose==="outside"&&o||r._menu.contains(t.target)&&(t.type==="keyup"&&t.key===TAB_KEY$1||/input|select|option|textarea|form/i.test(t.target.tagName)))continue;const l={relatedTarget:r._element};t.type==="click"&&(l.clickEvent=t),r._completeHide(l)}}static dataApiKeydownHandler(t){const e=/input|textarea/i.test(t.target.tagName),i=t.key===ESCAPE_KEY$2,r=[ARROW_UP_KEY$1,ARROW_DOWN_KEY$1].includes(t.key);if(!r&&!i||e&&!i)return;t.preventDefault();const a=this.matches(SELECTOR_DATA_TOGGLE$3)?this:SelectorEngine.prev(this,SELECTOR_DATA_TOGGLE$3)[0]||SelectorEngine.next(this,SELECTOR_DATA_TOGGLE$3)[0]||SelectorEngine.findOne(SELECTOR_DATA_TOGGLE$3,t.delegateTarget.parentNode),o=Dropdown.getOrCreateInstance(a);if(r){t.stopPropagation(),o.show(),o._selectMenuItem(t);return}o._isShown()&&(t.stopPropagation(),o.hide(),a.focus())}}EventHandler.on(document,EVENT_KEYDOWN_DATA_API,SELECTOR_DATA_TOGGLE$3,Dropdown.dataApiKeydownHandler);EventHandler.on(document,EVENT_KEYDOWN_DATA_API,SELECTOR_MENU,Dropdown.dataApiKeydownHandler);EventHandler.on(document,EVENT_CLICK_DATA_API$3,Dropdown.clearMenus);EventHandler.on(document,EVENT_KEYUP_DATA_API,Dropdown.clearMenus);EventHandler.on(document,EVENT_CLICK_DATA_API$3,SELECTOR_DATA_TOGGLE$3,function(n){n.preventDefault(),Dropdown.getOrCreateInstance(this).toggle()});defineJQueryPlugin(Dropdown);const NAME$9="backdrop",CLASS_NAME_FADE$4="fade",CLASS_NAME_SHOW$5="show",EVENT_MOUSEDOWN=`mousedown.bs.${NAME$9}`,Default$8={className:"modal-backdrop",clickCallback:null,isAnimated:!1,isVisible:!0,rootElement:"body"},DefaultType$8={className:"string",clickCallback:"(function|null)",isAnimated:"boolean",isVisible:"boolean",rootElement:"(element|string)"};class Backdrop extends Config$1{constructor(t){super(),this._config=this._getConfig(t),this._isAppended=!1,this._element=null}static get Default(){return Default$8}static get DefaultType(){return DefaultType$8}static get NAME(){return NAME$9}show(t){if(!this._config.isVisible){execute(t);return}this._append();const e=this._getElement();this._config.isAnimated&&reflow(e),e.classList.add(CLASS_NAME_SHOW$5),this._emulateAnimation(()=>{execute(t)})}hide(t){if(!this._config.isVisible){execute(t);return}this._getElement().classList.remove(CLASS_NAME_SHOW$5),this._emulateAnimation(()=>{this.dispose(),execute(t)})}dispose(){this._isAppended&&(EventHandler.off(this._element,EVENT_MOUSEDOWN),this._element.remove(),this._isAppended=!1)}_getElement(){if(!this._element){const t=document.createElement("div");t.className=this._config.className,this._config.isAnimated&&t.classList.add(CLASS_NAME_FADE$4),this._element=t}return this._element}_configAfterMerge(t){return t.rootElement=getElement(t.rootElement),t}_append(){if(this._isAppended)return;const t=this._getElement();this._config.rootElement.append(t),EventHandler.on(t,EVENT_MOUSEDOWN,()=>{execute(this._config.clickCallback)}),this._isAppended=!0}_emulateAnimation(t){executeAfterTransition(t,this._getElement(),this._config.isAnimated)}}const NAME$8="focustrap",DATA_KEY$5="bs.focustrap",EVENT_KEY$5=`.${DATA_KEY$5}`,EVENT_FOCUSIN$2=`focusin${EVENT_KEY$5}`,EVENT_KEYDOWN_TAB=`keydown.tab${EVENT_KEY$5}`,TAB_KEY="Tab",TAB_NAV_FORWARD="forward",TAB_NAV_BACKWARD="backward",Default$7={autofocus:!0,trapElement:null},DefaultType$7={autofocus:"boolean",trapElement:"element"};class FocusTrap extends Config$1{constructor(t){super(),this._config=this._getConfig(t),this._isActive=!1,this._lastTabNavDirection=null}static get Default(){return Default$7}static get DefaultType(){return DefaultType$7}static get NAME(){return NAME$8}activate(){this._isActive||(this._config.autofocus&&this._config.trapElement.focus(),EventHandler.off(document,EVENT_KEY$5),EventHandler.on(document,EVENT_FOCUSIN$2,t=>this._handleFocusin(t)),EventHandler.on(document,EVENT_KEYDOWN_TAB,t=>this._handleKeydown(t)),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,EventHandler.off(document,EVENT_KEY$5))}_handleFocusin(t){const{trapElement:e}=this._config;if(t.target===document||t.target===e||e.contains(t.target))return;const i=SelectorEngine.focusableChildren(e);i.length===0?e.focus():this._lastTabNavDirection===TAB_NAV_BACKWARD?i[i.length-1].focus():i[0].focus()}_handleKeydown(t){t.key===TAB_KEY&&(this._lastTabNavDirection=t.shiftKey?TAB_NAV_BACKWARD:TAB_NAV_FORWARD)}}const SELECTOR_FIXED_CONTENT=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",SELECTOR_STICKY_CONTENT=".sticky-top",PROPERTY_PADDING="padding-right",PROPERTY_MARGIN="margin-right";class ScrollBarHelper{constructor(){this._element=document.body}getWidth(){const t=document.documentElement.clientWidth;return Math.abs(window.innerWidth-t)}hide(){const t=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,PROPERTY_PADDING,e=>e+t),this._setElementAttributes(SELECTOR_FIXED_CONTENT,PROPERTY_PADDING,e=>e+t),this._setElementAttributes(SELECTOR_STICKY_CONTENT,PROPERTY_MARGIN,e=>e-t)}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,PROPERTY_PADDING),this._resetElementAttributes(SELECTOR_FIXED_CONTENT,PROPERTY_PADDING),this._resetElementAttributes(SELECTOR_STICKY_CONTENT,PROPERTY_MARGIN)}isOverflowing(){return this.getWidth()>0}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(t,e,i){const r=this.getWidth(),a=o=>{if(o!==this._element&&window.innerWidth>o.clientWidth+r)return;this._saveInitialAttribute(o,e);const l=window.getComputedStyle(o).getPropertyValue(e);o.style.setProperty(e,`${i(Number.parseFloat(l))}px`)};this._applyManipulationCallback(t,a)}_saveInitialAttribute(t,e){const i=t.style.getPropertyValue(e);i&&Manipulator.setDataAttribute(t,e,i)}_resetElementAttributes(t,e){const i=r=>{const a=Manipulator.getDataAttribute(r,e);if(a===null){r.style.removeProperty(e);return}Manipulator.removeDataAttribute(r,e),r.style.setProperty(e,a)};this._applyManipulationCallback(t,i)}_applyManipulationCallback(t,e){if(isElement(t)){e(t);return}for(const i of SelectorEngine.find(t,this._element))e(i)}}const NAME$7="modal",DATA_KEY$4="bs.modal",EVENT_KEY$4=`.${DATA_KEY$4}`,DATA_API_KEY$2=".data-api",ESCAPE_KEY$1="Escape",EVENT_HIDE$4=`hide${EVENT_KEY$4}`,EVENT_HIDE_PREVENTED$1=`hidePrevented${EVENT_KEY$4}`,EVENT_HIDDEN$4=`hidden${EVENT_KEY$4}`,EVENT_SHOW$4=`show${EVENT_KEY$4}`,EVENT_SHOWN$4=`shown${EVENT_KEY$4}`,EVENT_RESIZE$1=`resize${EVENT_KEY$4}`,EVENT_CLICK_DISMISS=`click.dismiss${EVENT_KEY$4}`,EVENT_MOUSEDOWN_DISMISS=`mousedown.dismiss${EVENT_KEY$4}`,EVENT_KEYDOWN_DISMISS$1=`keydown.dismiss${EVENT_KEY$4}`,EVENT_CLICK_DATA_API$2=`click${EVENT_KEY$4}${DATA_API_KEY$2}`,CLASS_NAME_OPEN="modal-open",CLASS_NAME_FADE$3="fade",CLASS_NAME_SHOW$4="show",CLASS_NAME_STATIC="modal-static",OPEN_SELECTOR$1=".modal.show",SELECTOR_DIALOG=".modal-dialog",SELECTOR_MODAL_BODY=".modal-body",SELECTOR_DATA_TOGGLE$2='[data-bs-toggle="modal"]',Default$6={backdrop:!0,focus:!0,keyboard:!0},DefaultType$6={backdrop:"(boolean|string)",focus:"boolean",keyboard:"boolean"};class Modal extends BaseComponent{constructor(t,e){super(t,e),this._dialog=SelectorEngine.findOne(SELECTOR_DIALOG,this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._isTransitioning=!1,this._scrollBar=new ScrollBarHelper,this._addEventListeners()}static get Default(){return Default$6}static get DefaultType(){return DefaultType$6}static get NAME(){return NAME$7}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||this._isTransitioning||EventHandler.trigger(this._element,EVENT_SHOW$4,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._isTransitioning=!0,this._scrollBar.hide(),document.body.classList.add(CLASS_NAME_OPEN),this._adjustDialog(),this._backdrop.show(()=>this._showElement(t)))}hide(){!this._isShown||this._isTransitioning||EventHandler.trigger(this._element,EVENT_HIDE$4).defaultPrevented||(this._isShown=!1,this._isTransitioning=!0,this._focustrap.deactivate(),this._element.classList.remove(CLASS_NAME_SHOW$4),this._queueCallback(()=>this._hideModal(),this._element,this._isAnimated()))}dispose(){EventHandler.off(window,EVENT_KEY$4),EventHandler.off(this._dialog,EVENT_KEY$4),this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new Backdrop({isVisible:!!this._config.backdrop,isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new FocusTrap({trapElement:this._element})}_showElement(t){document.body.contains(this._element)||document.body.append(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0;const e=SelectorEngine.findOne(SELECTOR_MODAL_BODY,this._dialog);e&&(e.scrollTop=0),reflow(this._element),this._element.classList.add(CLASS_NAME_SHOW$4);const i=()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,EventHandler.trigger(this._element,EVENT_SHOWN$4,{relatedTarget:t})};this._queueCallback(i,this._dialog,this._isAnimated())}_addEventListeners(){EventHandler.on(this._element,EVENT_KEYDOWN_DISMISS$1,t=>{if(t.key===ESCAPE_KEY$1){if(this._config.keyboard){this.hide();return}this._triggerBackdropTransition()}}),EventHandler.on(window,EVENT_RESIZE$1,()=>{this._isShown&&!this._isTransitioning&&this._adjustDialog()}),EventHandler.on(this._element,EVENT_MOUSEDOWN_DISMISS,t=>{EventHandler.one(this._element,EVENT_CLICK_DISMISS,e=>{if(!(this._element!==t.target||this._element!==e.target)){if(this._config.backdrop==="static"){this._triggerBackdropTransition();return}this._config.backdrop&&this.hide()}})})}_hideModal(){this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._backdrop.hide(()=>{document.body.classList.remove(CLASS_NAME_OPEN),this._resetAdjustments(),this._scrollBar.reset(),EventHandler.trigger(this._element,EVENT_HIDDEN$4)})}_isAnimated(){return this._element.classList.contains(CLASS_NAME_FADE$3)}_triggerBackdropTransition(){if(EventHandler.trigger(this._element,EVENT_HIDE_PREVENTED$1).defaultPrevented)return;const e=this._element.scrollHeight>document.documentElement.clientHeight,i=this._element.style.overflowY;i==="hidden"||this._element.classList.contains(CLASS_NAME_STATIC)||(e||(this._element.style.overflowY="hidden"),this._element.classList.add(CLASS_NAME_STATIC),this._queueCallback(()=>{this._element.classList.remove(CLASS_NAME_STATIC),this._queueCallback(()=>{this._element.style.overflowY=i},this._dialog)},this._dialog),this._element.focus())}_adjustDialog(){const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._scrollBar.getWidth(),i=e>0;if(i&&!t){const r=isRTL()?"paddingLeft":"paddingRight";this._element.style[r]=`${e}px`}if(!i&&t){const r=isRTL()?"paddingRight":"paddingLeft";this._element.style[r]=`${e}px`}}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(t,e){return this.each(function(){const i=Modal.getOrCreateInstance(this,t);if(typeof t=="string"){if(typeof i[t]>"u")throw new TypeError(`No method named "${t}"`);i[t](e)}})}}EventHandler.on(document,EVENT_CLICK_DATA_API$2,SELECTOR_DATA_TOGGLE$2,function(n){const t=SelectorEngine.getElementFromSelector(this);["A","AREA"].includes(this.tagName)&&n.preventDefault(),EventHandler.one(t,EVENT_SHOW$4,r=>{r.defaultPrevented||EventHandler.one(t,EVENT_HIDDEN$4,()=>{isVisible(this)&&this.focus()})});const e=SelectorEngine.findOne(OPEN_SELECTOR$1);e&&Modal.getInstance(e).hide(),Modal.getOrCreateInstance(t).toggle(this)});enableDismissTrigger(Modal);defineJQueryPlugin(Modal);const NAME$6="offcanvas",DATA_KEY$3="bs.offcanvas",EVENT_KEY$3=`.${DATA_KEY$3}`,DATA_API_KEY$1=".data-api",EVENT_LOAD_DATA_API$2=`load${EVENT_KEY$3}${DATA_API_KEY$1}`,ESCAPE_KEY="Escape",CLASS_NAME_SHOW$3="show",CLASS_NAME_SHOWING$1="showing",CLASS_NAME_HIDING="hiding",CLASS_NAME_BACKDROP="offcanvas-backdrop",OPEN_SELECTOR=".offcanvas.show",EVENT_SHOW$3=`show${EVENT_KEY$3}`,EVENT_SHOWN$3=`shown${EVENT_KEY$3}`,EVENT_HIDE$3=`hide${EVENT_KEY$3}`,EVENT_HIDE_PREVENTED=`hidePrevented${EVENT_KEY$3}`,EVENT_HIDDEN$3=`hidden${EVENT_KEY$3}`,EVENT_RESIZE=`resize${EVENT_KEY$3}`,EVENT_CLICK_DATA_API$1=`click${EVENT_KEY$3}${DATA_API_KEY$1}`,EVENT_KEYDOWN_DISMISS=`keydown.dismiss${EVENT_KEY$3}`,SELECTOR_DATA_TOGGLE$1='[data-bs-toggle="offcanvas"]',Default$5={backdrop:!0,keyboard:!0,scroll:!1},DefaultType$5={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};class Offcanvas extends BaseComponent{constructor(t,e){super(t,e),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get Default(){return Default$5}static get DefaultType(){return DefaultType$5}static get NAME(){return NAME$6}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){if(this._isShown||EventHandler.trigger(this._element,EVENT_SHOW$3,{relatedTarget:t}).defaultPrevented)return;this._isShown=!0,this._backdrop.show(),this._config.scroll||new ScrollBarHelper().hide(),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add(CLASS_NAME_SHOWING$1);const i=()=>{(!this._config.scroll||this._config.backdrop)&&this._focustrap.activate(),this._element.classList.add(CLASS_NAME_SHOW$3),this._element.classList.remove(CLASS_NAME_SHOWING$1),EventHandler.trigger(this._element,EVENT_SHOWN$3,{relatedTarget:t})};this._queueCallback(i,this._element,!0)}hide(){if(!this._isShown||EventHandler.trigger(this._element,EVENT_HIDE$3).defaultPrevented)return;this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.add(CLASS_NAME_HIDING),this._backdrop.hide();const e=()=>{this._element.classList.remove(CLASS_NAME_SHOW$3,CLASS_NAME_HIDING),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._config.scroll||new ScrollBarHelper().reset(),EventHandler.trigger(this._element,EVENT_HIDDEN$3)};this._queueCallback(e,this._element,!0)}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_initializeBackDrop(){const t=()=>{if(this._config.backdrop==="static"){EventHandler.trigger(this._element,EVENT_HIDE_PREVENTED);return}this.hide()},e=!!this._config.backdrop;return new Backdrop({className:CLASS_NAME_BACKDROP,isVisible:e,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:e?t:null})}_initializeFocusTrap(){return new FocusTrap({trapElement:this._element})}_addEventListeners(){EventHandler.on(this._element,EVENT_KEYDOWN_DISMISS,t=>{if(t.key===ESCAPE_KEY){if(this._config.keyboard){this.hide();return}EventHandler.trigger(this._element,EVENT_HIDE_PREVENTED)}})}static jQueryInterface(t){return this.each(function(){const e=Offcanvas.getOrCreateInstance(this,t);if(typeof t=="string"){if(e[t]===void 0||t.startsWith("_")||t==="constructor")throw new TypeError(`No method named "${t}"`);e[t](this)}})}}EventHandler.on(document,EVENT_CLICK_DATA_API$1,SELECTOR_DATA_TOGGLE$1,function(n){const t=SelectorEngine.getElementFromSelector(this);if(["A","AREA"].includes(this.tagName)&&n.preventDefault(),isDisabled(this))return;EventHandler.one(t,EVENT_HIDDEN$3,()=>{isVisible(this)&&this.focus()});const e=SelectorEngine.findOne(OPEN_SELECTOR);e&&e!==t&&Offcanvas.getInstance(e).hide(),Offcanvas.getOrCreateInstance(t).toggle(this)});EventHandler.on(window,EVENT_LOAD_DATA_API$2,()=>{for(const n of SelectorEngine.find(OPEN_SELECTOR))Offcanvas.getOrCreateInstance(n).show()});EventHandler.on(window,EVENT_RESIZE,()=>{for(const n of SelectorEngine.find("[aria-modal][class*=show][class*=offcanvas-]"))getComputedStyle(n).position!=="fixed"&&Offcanvas.getOrCreateInstance(n).hide()});enableDismissTrigger(Offcanvas);defineJQueryPlugin(Offcanvas);const ARIA_ATTRIBUTE_PATTERN=/^aria-[\w-]*$/i,DefaultAllowlist={"*":["class","dir","id","lang","role",ARIA_ATTRIBUTE_PATTERN],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},uriAttributes=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),SAFE_URL_PATTERN=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i,allowedAttribute=(n,t)=>{const e=n.nodeName.toLowerCase();return t.includes(e)?uriAttributes.has(e)?!!SAFE_URL_PATTERN.test(n.nodeValue):!0:t.filter(i=>i instanceof RegExp).some(i=>i.test(e))};function sanitizeHtml(n,t,e){if(!n.length)return n;if(e&&typeof e=="function")return e(n);const r=new window.DOMParser().parseFromString(n,"text/html"),a=[].concat(...r.body.querySelectorAll("*"));for(const o of a){const l=o.nodeName.toLowerCase();if(!Object.keys(t).includes(l)){o.remove();continue}const u=[].concat(...o.attributes),d=[].concat(t["*"]||[],t[l]||[]);for(const m of u)allowedAttribute(m,d)||o.removeAttribute(m.nodeName)}return r.body.innerHTML}const NAME$5="TemplateFactory",Default$4={allowList:DefaultAllowlist,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:"
"},DefaultType$4={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},DefaultContentType={entry:"(string|element|function|null)",selector:"(string|element)"};class TemplateFactory extends Config$1{constructor(t){super(),this._config=this._getConfig(t)}static get Default(){return Default$4}static get DefaultType(){return DefaultType$4}static get NAME(){return NAME$5}getContent(){return Object.values(this._config.content).map(t=>this._resolvePossibleFunction(t)).filter(Boolean)}hasContent(){return this.getContent().length>0}changeContent(t){return this._checkContent(t),this._config.content={...this._config.content,...t},this}toHtml(){const t=document.createElement("div");t.innerHTML=this._maybeSanitize(this._config.template);for(const[r,a]of Object.entries(this._config.content))this._setContent(t,a,r);const e=t.children[0],i=this._resolvePossibleFunction(this._config.extraClass);return i&&e.classList.add(...i.split(" ")),e}_typeCheckConfig(t){super._typeCheckConfig(t),this._checkContent(t.content)}_checkContent(t){for(const[e,i]of Object.entries(t))super._typeCheckConfig({selector:e,entry:i},DefaultContentType)}_setContent(t,e,i){const r=SelectorEngine.findOne(i,t);if(r){if(e=this._resolvePossibleFunction(e),!e){r.remove();return}if(isElement(e)){this._putElementInTemplate(getElement(e),r);return}if(this._config.html){r.innerHTML=this._maybeSanitize(e);return}r.textContent=e}}_maybeSanitize(t){return this._config.sanitize?sanitizeHtml(t,this._config.allowList,this._config.sanitizeFn):t}_resolvePossibleFunction(t){return execute(t,[this])}_putElementInTemplate(t,e){if(this._config.html){e.innerHTML="",e.append(t);return}e.textContent=t.textContent}}const NAME$4="tooltip",DISALLOWED_ATTRIBUTES=new Set(["sanitize","allowList","sanitizeFn"]),CLASS_NAME_FADE$2="fade",CLASS_NAME_MODAL="modal",CLASS_NAME_SHOW$2="show",SELECTOR_TOOLTIP_INNER=".tooltip-inner",SELECTOR_MODAL=`.${CLASS_NAME_MODAL}`,EVENT_MODAL_HIDE="hide.bs.modal",TRIGGER_HOVER="hover",TRIGGER_FOCUS="focus",TRIGGER_CLICK="click",TRIGGER_MANUAL="manual",EVENT_HIDE$2="hide",EVENT_HIDDEN$2="hidden",EVENT_SHOW$2="show",EVENT_SHOWN$2="shown",EVENT_INSERTED="inserted",EVENT_CLICK$1="click",EVENT_FOCUSIN$1="focusin",EVENT_FOCUSOUT$1="focusout",EVENT_MOUSEENTER="mouseenter",EVENT_MOUSELEAVE="mouseleave",AttachmentMap={AUTO:"auto",TOP:"top",RIGHT:isRTL()?"left":"right",BOTTOM:"bottom",LEFT:isRTL()?"right":"left"},Default$3={allowList:DefaultAllowlist,animation:!0,boundary:"clippingParents",container:!1,customClass:"",delay:0,fallbackPlacements:["top","right","bottom","left"],html:!1,offset:[0,6],placement:"top",popperConfig:null,sanitize:!0,sanitizeFn:null,selector:!1,template:'',title:"",trigger:"hover focus"},DefaultType$3={allowList:"object",animation:"boolean",boundary:"(string|element)",container:"(string|element|boolean)",customClass:"(string|function)",delay:"(number|object)",fallbackPlacements:"array",html:"boolean",offset:"(array|string|function)",placement:"(string|function)",popperConfig:"(null|object|function)",sanitize:"boolean",sanitizeFn:"(null|function)",selector:"(string|boolean)",template:"string",title:"(string|element|function)",trigger:"string"};let Tooltip$1=class Di extends BaseComponent{constructor(t,e){if(typeof Popper>"u")throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");super(t,e),this._isEnabled=!0,this._timeout=0,this._isHovered=null,this._activeTrigger={},this._popper=null,this._templateFactory=null,this._newContent=null,this.tip=null,this._setListeners(),this._config.selector||this._fixTitle()}static get Default(){return Default$3}static get DefaultType(){return DefaultType$3}static get NAME(){return NAME$4}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(){if(this._isEnabled){if(this._activeTrigger.click=!this._activeTrigger.click,this._isShown()){this._leave();return}this._enter()}}dispose(){clearTimeout(this._timeout),EventHandler.off(this._element.closest(SELECTOR_MODAL),EVENT_MODAL_HIDE,this._hideModalHandler),this._element.getAttribute("data-bs-original-title")&&this._element.setAttribute("title",this._element.getAttribute("data-bs-original-title")),this._disposePopper(),super.dispose()}show(){if(this._element.style.display==="none")throw new Error("Please use show on visible elements");if(!(this._isWithContent()&&this._isEnabled))return;const t=EventHandler.trigger(this._element,this.constructor.eventName(EVENT_SHOW$2)),i=(findShadowRoot(this._element)||this._element.ownerDocument.documentElement).contains(this._element);if(t.defaultPrevented||!i)return;this._disposePopper();const r=this._getTipElement();this._element.setAttribute("aria-describedby",r.getAttribute("id"));const{container:a}=this._config;if(this._element.ownerDocument.documentElement.contains(this.tip)||(a.append(r),EventHandler.trigger(this._element,this.constructor.eventName(EVENT_INSERTED))),this._popper=this._createPopper(r),r.classList.add(CLASS_NAME_SHOW$2),"ontouchstart"in document.documentElement)for(const l of[].concat(...document.body.children))EventHandler.on(l,"mouseover",noop$2);const o=()=>{EventHandler.trigger(this._element,this.constructor.eventName(EVENT_SHOWN$2)),this._isHovered===!1&&this._leave(),this._isHovered=!1};this._queueCallback(o,this.tip,this._isAnimated())}hide(){if(!this._isShown()||EventHandler.trigger(this._element,this.constructor.eventName(EVENT_HIDE$2)).defaultPrevented)return;if(this._getTipElement().classList.remove(CLASS_NAME_SHOW$2),"ontouchstart"in document.documentElement)for(const r of[].concat(...document.body.children))EventHandler.off(r,"mouseover",noop$2);this._activeTrigger[TRIGGER_CLICK]=!1,this._activeTrigger[TRIGGER_FOCUS]=!1,this._activeTrigger[TRIGGER_HOVER]=!1,this._isHovered=null;const i=()=>{this._isWithActiveTrigger()||(this._isHovered||this._disposePopper(),this._element.removeAttribute("aria-describedby"),EventHandler.trigger(this._element,this.constructor.eventName(EVENT_HIDDEN$2)))};this._queueCallback(i,this.tip,this._isAnimated())}update(){this._popper&&this._popper.update()}_isWithContent(){return!!this._getTitle()}_getTipElement(){return this.tip||(this.tip=this._createTipElement(this._newContent||this._getContentForTemplate())),this.tip}_createTipElement(t){const e=this._getTemplateFactory(t).toHtml();if(!e)return null;e.classList.remove(CLASS_NAME_FADE$2,CLASS_NAME_SHOW$2),e.classList.add(`bs-${this.constructor.NAME}-auto`);const i=getUID(this.constructor.NAME).toString();return e.setAttribute("id",i),this._isAnimated()&&e.classList.add(CLASS_NAME_FADE$2),e}setContent(t){this._newContent=t,this._isShown()&&(this._disposePopper(),this.show())}_getTemplateFactory(t){return this._templateFactory?this._templateFactory.changeContent(t):this._templateFactory=new TemplateFactory({...this._config,content:t,extraClass:this._resolvePossibleFunction(this._config.customClass)}),this._templateFactory}_getContentForTemplate(){return{[SELECTOR_TOOLTIP_INNER]:this._getTitle()}}_getTitle(){return this._resolvePossibleFunction(this._config.title)||this._element.getAttribute("data-bs-original-title")}_initializeOnDelegatedTarget(t){return this.constructor.getOrCreateInstance(t.delegateTarget,this._getDelegateConfig())}_isAnimated(){return this._config.animation||this.tip&&this.tip.classList.contains(CLASS_NAME_FADE$2)}_isShown(){return this.tip&&this.tip.classList.contains(CLASS_NAME_SHOW$2)}_createPopper(t){const e=execute(this._config.placement,[this,t,this._element]),i=AttachmentMap[e.toUpperCase()];return createPopper(this._element,t,this._getPopperConfig(i))}_getOffset(){const{offset:t}=this._config;return typeof t=="string"?t.split(",").map(e=>Number.parseInt(e,10)):typeof t=="function"?e=>t(e,this._element):t}_resolvePossibleFunction(t){return execute(t,[this._element])}_getPopperConfig(t){const e={placement:t,modifiers:[{name:"flip",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:"offset",options:{offset:this._getOffset()}},{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"arrow",options:{element:`.${this.constructor.NAME}-arrow`}},{name:"preSetPlacement",enabled:!0,phase:"beforeMain",fn:i=>{this._getTipElement().setAttribute("data-popper-placement",i.state.placement)}}]};return{...e,...execute(this._config.popperConfig,[e])}}_setListeners(){const t=this._config.trigger.split(" ");for(const e of t)if(e==="click")EventHandler.on(this._element,this.constructor.eventName(EVENT_CLICK$1),this._config.selector,i=>{this._initializeOnDelegatedTarget(i).toggle()});else if(e!==TRIGGER_MANUAL){const i=e===TRIGGER_HOVER?this.constructor.eventName(EVENT_MOUSEENTER):this.constructor.eventName(EVENT_FOCUSIN$1),r=e===TRIGGER_HOVER?this.constructor.eventName(EVENT_MOUSELEAVE):this.constructor.eventName(EVENT_FOCUSOUT$1);EventHandler.on(this._element,i,this._config.selector,a=>{const o=this._initializeOnDelegatedTarget(a);o._activeTrigger[a.type==="focusin"?TRIGGER_FOCUS:TRIGGER_HOVER]=!0,o._enter()}),EventHandler.on(this._element,r,this._config.selector,a=>{const o=this._initializeOnDelegatedTarget(a);o._activeTrigger[a.type==="focusout"?TRIGGER_FOCUS:TRIGGER_HOVER]=o._element.contains(a.relatedTarget),o._leave()})}this._hideModalHandler=()=>{this._element&&this.hide()},EventHandler.on(this._element.closest(SELECTOR_MODAL),EVENT_MODAL_HIDE,this._hideModalHandler)}_fixTitle(){const t=this._element.getAttribute("title");t&&(!this._element.getAttribute("aria-label")&&!this._element.textContent.trim()&&this._element.setAttribute("aria-label",t),this._element.setAttribute("data-bs-original-title",t),this._element.removeAttribute("title"))}_enter(){if(this._isShown()||this._isHovered){this._isHovered=!0;return}this._isHovered=!0,this._setTimeout(()=>{this._isHovered&&this.show()},this._config.delay.show)}_leave(){this._isWithActiveTrigger()||(this._isHovered=!1,this._setTimeout(()=>{this._isHovered||this.hide()},this._config.delay.hide))}_setTimeout(t,e){clearTimeout(this._timeout),this._timeout=setTimeout(t,e)}_isWithActiveTrigger(){return Object.values(this._activeTrigger).includes(!0)}_getConfig(t){const e=Manipulator.getDataAttributes(this._element);for(const i of Object.keys(e))DISALLOWED_ATTRIBUTES.has(i)&&delete e[i];return t={...e,...typeof t=="object"&&t?t:{}},t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t.container=t.container===!1?document.body:getElement(t.container),typeof t.delay=="number"&&(t.delay={show:t.delay,hide:t.delay}),typeof t.title=="number"&&(t.title=t.title.toString()),typeof t.content=="number"&&(t.content=t.content.toString()),t}_getDelegateConfig(){const t={};for(const[e,i]of Object.entries(this._config))this.constructor.Default[e]!==i&&(t[e]=i);return t.selector=!1,t.trigger="manual",t}_disposePopper(){this._popper&&(this._popper.destroy(),this._popper=null),this.tip&&(this.tip.remove(),this.tip=null)}static jQueryInterface(t){return this.each(function(){const e=Di.getOrCreateInstance(this,t);if(typeof t=="string"){if(typeof e[t]>"u")throw new TypeError(`No method named "${t}"`);e[t]()}})}};defineJQueryPlugin(Tooltip$1);const NAME$3="popover",SELECTOR_TITLE=".popover-header",SELECTOR_CONTENT=".popover-body",Default$2={...Tooltip$1.Default,content:"",offset:[0,8],placement:"right",template:'',trigger:"click"},DefaultType$2={...Tooltip$1.DefaultType,content:"(null|string|element|function)"};class Popover extends Tooltip$1{static get Default(){return Default$2}static get DefaultType(){return DefaultType$2}static get NAME(){return NAME$3}_isWithContent(){return this._getTitle()||this._getContent()}_getContentForTemplate(){return{[SELECTOR_TITLE]:this._getTitle(),[SELECTOR_CONTENT]:this._getContent()}}_getContent(){return this._resolvePossibleFunction(this._config.content)}static jQueryInterface(t){return this.each(function(){const e=Popover.getOrCreateInstance(this,t);if(typeof t=="string"){if(typeof e[t]>"u")throw new TypeError(`No method named "${t}"`);e[t]()}})}}defineJQueryPlugin(Popover);const NAME$2="scrollspy",DATA_KEY$2="bs.scrollspy",EVENT_KEY$2=`.${DATA_KEY$2}`,DATA_API_KEY=".data-api",EVENT_ACTIVATE=`activate${EVENT_KEY$2}`,EVENT_CLICK=`click${EVENT_KEY$2}`,EVENT_LOAD_DATA_API$1=`load${EVENT_KEY$2}${DATA_API_KEY}`,CLASS_NAME_DROPDOWN_ITEM="dropdown-item",CLASS_NAME_ACTIVE$1="active",SELECTOR_DATA_SPY='[data-bs-spy="scroll"]',SELECTOR_TARGET_LINKS="[href]",SELECTOR_NAV_LIST_GROUP=".nav, .list-group",SELECTOR_NAV_LINKS=".nav-link",SELECTOR_NAV_ITEMS=".nav-item",SELECTOR_LIST_ITEMS=".list-group-item",SELECTOR_LINK_ITEMS=`${SELECTOR_NAV_LINKS}, ${SELECTOR_NAV_ITEMS} > ${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`,SELECTOR_DROPDOWN=".dropdown",SELECTOR_DROPDOWN_TOGGLE$1=".dropdown-toggle",Default$1={offset:null,rootMargin:"0px 0px -25%",smoothScroll:!1,target:null,threshold:[.1,.5,1]},DefaultType$1={offset:"(number|null)",rootMargin:"string",smoothScroll:"boolean",target:"element",threshold:"array"};class ScrollSpy extends BaseComponent{constructor(t,e){super(t,e),this._targetLinks=new Map,this._observableSections=new Map,this._rootElement=getComputedStyle(this._element).overflowY==="visible"?null:this._element,this._activeTarget=null,this._observer=null,this._previousScrollData={visibleEntryTop:0,parentScrollTop:0},this.refresh()}static get Default(){return Default$1}static get DefaultType(){return DefaultType$1}static get NAME(){return NAME$2}refresh(){this._initializeTargetsAndObservables(),this._maybeEnableSmoothScroll(),this._observer?this._observer.disconnect():this._observer=this._getNewObserver();for(const t of this._observableSections.values())this._observer.observe(t)}dispose(){this._observer.disconnect(),super.dispose()}_configAfterMerge(t){return t.target=getElement(t.target)||document.body,t.rootMargin=t.offset?`${t.offset}px 0px -30%`:t.rootMargin,typeof t.threshold=="string"&&(t.threshold=t.threshold.split(",").map(e=>Number.parseFloat(e))),t}_maybeEnableSmoothScroll(){this._config.smoothScroll&&(EventHandler.off(this._config.target,EVENT_CLICK),EventHandler.on(this._config.target,EVENT_CLICK,SELECTOR_TARGET_LINKS,t=>{const e=this._observableSections.get(t.target.hash);if(e){t.preventDefault();const i=this._rootElement||window,r=e.offsetTop-this._element.offsetTop;if(i.scrollTo){i.scrollTo({top:r,behavior:"smooth"});return}i.scrollTop=r}}))}_getNewObserver(){const t={root:this._rootElement,threshold:this._config.threshold,rootMargin:this._config.rootMargin};return new IntersectionObserver(e=>this._observerCallback(e),t)}_observerCallback(t){const e=o=>this._targetLinks.get(`#${o.target.id}`),i=o=>{this._previousScrollData.visibleEntryTop=o.target.offsetTop,this._process(e(o))},r=(this._rootElement||document.documentElement).scrollTop,a=r>=this._previousScrollData.parentScrollTop;this._previousScrollData.parentScrollTop=r;for(const o of t){if(!o.isIntersecting){this._activeTarget=null,this._clearActiveClass(e(o));continue}const l=o.target.offsetTop>=this._previousScrollData.visibleEntryTop;if(a&&l){if(i(o),!r)return;continue}!a&&!l&&i(o)}}_initializeTargetsAndObservables(){this._targetLinks=new Map,this._observableSections=new Map;const t=SelectorEngine.find(SELECTOR_TARGET_LINKS,this._config.target);for(const e of t){if(!e.hash||isDisabled(e))continue;const i=SelectorEngine.findOne(decodeURI(e.hash),this._element);isVisible(i)&&(this._targetLinks.set(decodeURI(e.hash),e),this._observableSections.set(e.hash,i))}}_process(t){this._activeTarget!==t&&(this._clearActiveClass(this._config.target),this._activeTarget=t,t.classList.add(CLASS_NAME_ACTIVE$1),this._activateParents(t),EventHandler.trigger(this._element,EVENT_ACTIVATE,{relatedTarget:t}))}_activateParents(t){if(t.classList.contains(CLASS_NAME_DROPDOWN_ITEM)){SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE$1,t.closest(SELECTOR_DROPDOWN)).classList.add(CLASS_NAME_ACTIVE$1);return}for(const e of SelectorEngine.parents(t,SELECTOR_NAV_LIST_GROUP))for(const i of SelectorEngine.prev(e,SELECTOR_LINK_ITEMS))i.classList.add(CLASS_NAME_ACTIVE$1)}_clearActiveClass(t){t.classList.remove(CLASS_NAME_ACTIVE$1);const e=SelectorEngine.find(`${SELECTOR_TARGET_LINKS}.${CLASS_NAME_ACTIVE$1}`,t);for(const i of e)i.classList.remove(CLASS_NAME_ACTIVE$1)}static jQueryInterface(t){return this.each(function(){const e=ScrollSpy.getOrCreateInstance(this,t);if(typeof t=="string"){if(e[t]===void 0||t.startsWith("_")||t==="constructor")throw new TypeError(`No method named "${t}"`);e[t]()}})}}EventHandler.on(window,EVENT_LOAD_DATA_API$1,()=>{for(const n of SelectorEngine.find(SELECTOR_DATA_SPY))ScrollSpy.getOrCreateInstance(n)});defineJQueryPlugin(ScrollSpy);const NAME$1="tab",DATA_KEY$1="bs.tab",EVENT_KEY$1=`.${DATA_KEY$1}`,EVENT_HIDE$1=`hide${EVENT_KEY$1}`,EVENT_HIDDEN$1=`hidden${EVENT_KEY$1}`,EVENT_SHOW$1=`show${EVENT_KEY$1}`,EVENT_SHOWN$1=`shown${EVENT_KEY$1}`,EVENT_CLICK_DATA_API=`click${EVENT_KEY$1}`,EVENT_KEYDOWN=`keydown${EVENT_KEY$1}`,EVENT_LOAD_DATA_API=`load${EVENT_KEY$1}`,ARROW_LEFT_KEY="ArrowLeft",ARROW_RIGHT_KEY="ArrowRight",ARROW_UP_KEY="ArrowUp",ARROW_DOWN_KEY="ArrowDown",HOME_KEY="Home",END_KEY="End",CLASS_NAME_ACTIVE="active",CLASS_NAME_FADE$1="fade",CLASS_NAME_SHOW$1="show",CLASS_DROPDOWN="dropdown",SELECTOR_DROPDOWN_TOGGLE=".dropdown-toggle",SELECTOR_DROPDOWN_MENU=".dropdown-menu",NOT_SELECTOR_DROPDOWN_TOGGLE=`:not(${SELECTOR_DROPDOWN_TOGGLE})`,SELECTOR_TAB_PANEL='.list-group, .nav, [role="tablist"]',SELECTOR_OUTER=".nav-item, .list-group-item",SELECTOR_INNER=`.nav-link${NOT_SELECTOR_DROPDOWN_TOGGLE}, .list-group-item${NOT_SELECTOR_DROPDOWN_TOGGLE}, [role="tab"]${NOT_SELECTOR_DROPDOWN_TOGGLE}`,SELECTOR_DATA_TOGGLE='[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',SELECTOR_INNER_ELEM=`${SELECTOR_INNER}, ${SELECTOR_DATA_TOGGLE}`,SELECTOR_DATA_TOGGLE_ACTIVE=`.${CLASS_NAME_ACTIVE}[data-bs-toggle="tab"], .${CLASS_NAME_ACTIVE}[data-bs-toggle="pill"], .${CLASS_NAME_ACTIVE}[data-bs-toggle="list"]`;class Tab extends BaseComponent{constructor(t){super(t),this._parent=this._element.closest(SELECTOR_TAB_PANEL),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),EventHandler.on(this._element,EVENT_KEYDOWN,e=>this._keydown(e)))}static get NAME(){return NAME$1}show(){const t=this._element;if(this._elemIsActive(t))return;const e=this._getActiveElem(),i=e?EventHandler.trigger(e,EVENT_HIDE$1,{relatedTarget:t}):null;EventHandler.trigger(t,EVENT_SHOW$1,{relatedTarget:e}).defaultPrevented||i&&i.defaultPrevented||(this._deactivate(e,t),this._activate(t,e))}_activate(t,e){if(!t)return;t.classList.add(CLASS_NAME_ACTIVE),this._activate(SelectorEngine.getElementFromSelector(t));const i=()=>{if(t.getAttribute("role")!=="tab"){t.classList.add(CLASS_NAME_SHOW$1);return}t.removeAttribute("tabindex"),t.setAttribute("aria-selected",!0),this._toggleDropDown(t,!0),EventHandler.trigger(t,EVENT_SHOWN$1,{relatedTarget:e})};this._queueCallback(i,t,t.classList.contains(CLASS_NAME_FADE$1))}_deactivate(t,e){if(!t)return;t.classList.remove(CLASS_NAME_ACTIVE),t.blur(),this._deactivate(SelectorEngine.getElementFromSelector(t));const i=()=>{if(t.getAttribute("role")!=="tab"){t.classList.remove(CLASS_NAME_SHOW$1);return}t.setAttribute("aria-selected",!1),t.setAttribute("tabindex","-1"),this._toggleDropDown(t,!1),EventHandler.trigger(t,EVENT_HIDDEN$1,{relatedTarget:e})};this._queueCallback(i,t,t.classList.contains(CLASS_NAME_FADE$1))}_keydown(t){if(![ARROW_LEFT_KEY,ARROW_RIGHT_KEY,ARROW_UP_KEY,ARROW_DOWN_KEY,HOME_KEY,END_KEY].includes(t.key))return;t.stopPropagation(),t.preventDefault();const e=this._getChildren().filter(r=>!isDisabled(r));let i;if([HOME_KEY,END_KEY].includes(t.key))i=e[t.key===HOME_KEY?0:e.length-1];else{const r=[ARROW_RIGHT_KEY,ARROW_DOWN_KEY].includes(t.key);i=getNextActiveElement(e,t.target,r,!0)}i&&(i.focus({preventScroll:!0}),Tab.getOrCreateInstance(i).show())}_getChildren(){return SelectorEngine.find(SELECTOR_INNER_ELEM,this._parent)}_getActiveElem(){return this._getChildren().find(t=>this._elemIsActive(t))||null}_setInitialAttributes(t,e){this._setAttributeIfNotExists(t,"role","tablist");for(const i of e)this._setInitialAttributesOnChild(i)}_setInitialAttributesOnChild(t){t=this._getInnerElement(t);const e=this._elemIsActive(t),i=this._getOuterElement(t);t.setAttribute("aria-selected",e),i!==t&&this._setAttributeIfNotExists(i,"role","presentation"),e||t.setAttribute("tabindex","-1"),this._setAttributeIfNotExists(t,"role","tab"),this._setInitialAttributesOnTargetPanel(t)}_setInitialAttributesOnTargetPanel(t){const e=SelectorEngine.getElementFromSelector(t);e&&(this._setAttributeIfNotExists(e,"role","tabpanel"),t.id&&this._setAttributeIfNotExists(e,"aria-labelledby",`${t.id}`))}_toggleDropDown(t,e){const i=this._getOuterElement(t);if(!i.classList.contains(CLASS_DROPDOWN))return;const r=(a,o)=>{const l=SelectorEngine.findOne(a,i);l&&l.classList.toggle(o,e)};r(SELECTOR_DROPDOWN_TOGGLE,CLASS_NAME_ACTIVE),r(SELECTOR_DROPDOWN_MENU,CLASS_NAME_SHOW$1),i.setAttribute("aria-expanded",e)}_setAttributeIfNotExists(t,e,i){t.hasAttribute(e)||t.setAttribute(e,i)}_elemIsActive(t){return t.classList.contains(CLASS_NAME_ACTIVE)}_getInnerElement(t){return t.matches(SELECTOR_INNER_ELEM)?t:SelectorEngine.findOne(SELECTOR_INNER_ELEM,t)}_getOuterElement(t){return t.closest(SELECTOR_OUTER)||t}static jQueryInterface(t){return this.each(function(){const e=Tab.getOrCreateInstance(this);if(typeof t=="string"){if(e[t]===void 0||t.startsWith("_")||t==="constructor")throw new TypeError(`No method named "${t}"`);e[t]()}})}}EventHandler.on(document,EVENT_CLICK_DATA_API,SELECTOR_DATA_TOGGLE,function(n){["A","AREA"].includes(this.tagName)&&n.preventDefault(),!isDisabled(this)&&Tab.getOrCreateInstance(this).show()});EventHandler.on(window,EVENT_LOAD_DATA_API,()=>{for(const n of SelectorEngine.find(SELECTOR_DATA_TOGGLE_ACTIVE))Tab.getOrCreateInstance(n)});defineJQueryPlugin(Tab);const NAME="toast",DATA_KEY="bs.toast",EVENT_KEY=`.${DATA_KEY}`,EVENT_MOUSEOVER=`mouseover${EVENT_KEY}`,EVENT_MOUSEOUT=`mouseout${EVENT_KEY}`,EVENT_FOCUSIN=`focusin${EVENT_KEY}`,EVENT_FOCUSOUT=`focusout${EVENT_KEY}`,EVENT_HIDE=`hide${EVENT_KEY}`,EVENT_HIDDEN=`hidden${EVENT_KEY}`,EVENT_SHOW=`show${EVENT_KEY}`,EVENT_SHOWN=`shown${EVENT_KEY}`,CLASS_NAME_FADE="fade",CLASS_NAME_HIDE="hide",CLASS_NAME_SHOW="show",CLASS_NAME_SHOWING="showing",DefaultType={animation:"boolean",autohide:"boolean",delay:"number"},Default={animation:!0,autohide:!0,delay:5e3};class Toast extends BaseComponent{constructor(t,e){super(t,e),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return Default}static get DefaultType(){return DefaultType}static get NAME(){return NAME}show(){if(EventHandler.trigger(this._element,EVENT_SHOW).defaultPrevented)return;this._clearTimeout(),this._config.animation&&this._element.classList.add(CLASS_NAME_FADE);const e=()=>{this._element.classList.remove(CLASS_NAME_SHOWING),EventHandler.trigger(this._element,EVENT_SHOWN),this._maybeScheduleHide()};this._element.classList.remove(CLASS_NAME_HIDE),reflow(this._element),this._element.classList.add(CLASS_NAME_SHOW,CLASS_NAME_SHOWING),this._queueCallback(e,this._element,this._config.animation)}hide(){if(!this.isShown()||EventHandler.trigger(this._element,EVENT_HIDE).defaultPrevented)return;const e=()=>{this._element.classList.add(CLASS_NAME_HIDE),this._element.classList.remove(CLASS_NAME_SHOWING,CLASS_NAME_SHOW),EventHandler.trigger(this._element,EVENT_HIDDEN)};this._element.classList.add(CLASS_NAME_SHOWING),this._queueCallback(e,this._element,this._config.animation)}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove(CLASS_NAME_SHOW),super.dispose()}isShown(){return this._element.classList.contains(CLASS_NAME_SHOW)}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout(()=>{this.hide()},this._config.delay)))}_onInteraction(t,e){switch(t.type){case"mouseover":case"mouseout":{this._hasMouseInteraction=e;break}case"focusin":case"focusout":{this._hasKeyboardInteraction=e;break}}if(e){this._clearTimeout();return}const i=t.relatedTarget;this._element===i||this._element.contains(i)||this._maybeScheduleHide()}_setListeners(){EventHandler.on(this._element,EVENT_MOUSEOVER,t=>this._onInteraction(t,!0)),EventHandler.on(this._element,EVENT_MOUSEOUT,t=>this._onInteraction(t,!1)),EventHandler.on(this._element,EVENT_FOCUSIN,t=>this._onInteraction(t,!0)),EventHandler.on(this._element,EVENT_FOCUSOUT,t=>this._onInteraction(t,!1))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(t){return this.each(function(){const e=Toast.getOrCreateInstance(this,t);if(typeof t=="string"){if(typeof e[t]>"u")throw new TypeError(`No method named "${t}"`);e[t](this)}})}}enableDismissTrigger(Toast);defineJQueryPlugin(Toast);function toDate(n){const t=Object.prototype.toString.call(n);return n instanceof Date||typeof n=="object"&&t==="[object Date]"?new n.constructor(+n):typeof n=="number"||t==="[object Number]"||typeof n=="string"||t==="[object String]"?new Date(n):new Date(NaN)}function constructFrom(n,t){return n instanceof Date?new n.constructor(t):new Date(t)}function addDays(n,t){const e=toDate(n);return isNaN(t)?constructFrom(n,NaN):(t&&e.setDate(e.getDate()+t),e)}function addMonths(n,t){const e=toDate(n);if(isNaN(t))return constructFrom(n,NaN);if(!t)return e;const i=e.getDate(),r=constructFrom(n,e.getTime());r.setMonth(e.getMonth()+t+1,0);const a=r.getDate();return i>=a?r:(e.setFullYear(r.getFullYear(),r.getMonth(),i),e)}function addMilliseconds(n,t){const e=+toDate(n);return constructFrom(n,e+t)}const millisecondsInWeek=6048e5,millisecondsInDay=864e5,millisecondsInMinute=6e4,millisecondsInHour=36e5,millisecondsInSecond=1e3;function addHours(n,t){return addMilliseconds(n,t*millisecondsInHour)}let defaultOptions={};function getDefaultOptions$1(){return defaultOptions}function startOfWeek(n,t){var l,u,d,m;const e=getDefaultOptions$1(),i=(t==null?void 0:t.weekStartsOn)??((u=(l=t==null?void 0:t.locale)==null?void 0:l.options)==null?void 0:u.weekStartsOn)??e.weekStartsOn??((m=(d=e.locale)==null?void 0:d.options)==null?void 0:m.weekStartsOn)??0,r=toDate(n),a=r.getDay(),o=(a=r.getTime()?e+1:t.getTime()>=o.getTime()?e:e-1}function startOfDay(n){const t=toDate(n);return t.setHours(0,0,0,0),t}function getTimezoneOffsetInMilliseconds(n){const t=new Date(Date.UTC(n.getFullYear(),n.getMonth(),n.getDate(),n.getHours(),n.getMinutes(),n.getSeconds(),n.getMilliseconds()));return t.setUTCFullYear(n.getFullYear()),n.getTime()-t.getTime()}function differenceInCalendarDays(n,t){const e=startOfDay(n),i=startOfDay(t),r=e.getTime()-getTimezoneOffsetInMilliseconds(e),a=i.getTime()-getTimezoneOffsetInMilliseconds(i);return Math.round((r-a)/millisecondsInDay)}function startOfISOWeekYear(n){const t=getISOWeekYear(n),e=constructFrom(n,0);return e.setFullYear(t,0,4),e.setHours(0,0,0,0),startOfISOWeek(e)}function addMinutes(n,t){return addMilliseconds(n,t*millisecondsInMinute)}function addQuarters(n,t){const e=t*3;return addMonths(n,e)}function addSeconds(n,t){return addMilliseconds(n,t*1e3)}function addWeeks(n,t){const e=t*7;return addDays(n,e)}function addYears(n,t){return addMonths(n,t*12)}function compareAsc(n,t){const e=toDate(n),i=toDate(t),r=e.getTime()-i.getTime();return r<0?-1:r>0?1:r}function isDate(n){return n instanceof Date||typeof n=="object"&&Object.prototype.toString.call(n)==="[object Date]"}function isValid(n){if(!isDate(n)&&typeof n!="number")return!1;const t=toDate(n);return!isNaN(Number(t))}function differenceInCalendarMonths(n,t){const e=toDate(n),i=toDate(t),r=e.getFullYear()-i.getFullYear(),a=e.getMonth()-i.getMonth();return r*12+a}function differenceInCalendarYears(n,t){const e=toDate(n),i=toDate(t);return e.getFullYear()-i.getFullYear()}function differenceInDays(n,t){const e=toDate(n),i=toDate(t),r=compareLocalAsc(e,i),a=Math.abs(differenceInCalendarDays(e,i));e.setDate(e.getDate()-r*a);const o=+(compareLocalAsc(e,i)===-r),l=r*(a-o);return l===0?0:l}function compareLocalAsc(n,t){const e=n.getFullYear()-t.getFullYear()||n.getMonth()-t.getMonth()||n.getDate()-t.getDate()||n.getHours()-t.getHours()||n.getMinutes()-t.getMinutes()||n.getSeconds()-t.getSeconds()||n.getMilliseconds()-t.getMilliseconds();return e<0?-1:e>0?1:e}function differenceInMilliseconds(n,t){return toDate(n).getTime()-toDate(t).getTime()}function getRoundingMethod(n){return n?Math[n]:Math.trunc}function differenceInHours(n,t,e){const i=differenceInMilliseconds(n,t)/millisecondsInHour;return getRoundingMethod(e==null?void 0:e.roundingMethod)(i)}function differenceInMinutes(n,t,e){const i=differenceInMilliseconds(n,t)/millisecondsInMinute;return getRoundingMethod(e==null?void 0:e.roundingMethod)(i)}function endOfDay(n){const t=toDate(n);return t.setHours(23,59,59,999),t}function endOfMonth(n){const t=toDate(n),e=t.getMonth();return t.setFullYear(t.getFullYear(),e+1,0),t.setHours(23,59,59,999),t}function isLastDayOfMonth(n){const t=toDate(n);return+endOfDay(t)==+endOfMonth(t)}function differenceInMonths(n,t){const e=toDate(n),i=toDate(t),r=compareAsc(e,i),a=Math.abs(differenceInCalendarMonths(e,i));let o;if(a<1)o=0;else{e.getMonth()===1&&e.getDate()>27&&e.setDate(30),e.setMonth(e.getMonth()-r*a);let l=compareAsc(e,i)===-r;isLastDayOfMonth(toDate(n))&&a===1&&compareAsc(n,i)===1&&(l=!1),o=r*(a-Number(l))}return o===0?0:o}function differenceInQuarters(n,t,e){const i=differenceInMonths(n,t)/3;return getRoundingMethod(e==null?void 0:e.roundingMethod)(i)}function differenceInSeconds(n,t,e){const i=differenceInMilliseconds(n,t)/1e3;return getRoundingMethod(e==null?void 0:e.roundingMethod)(i)}function differenceInWeeks(n,t,e){const i=differenceInDays(n,t)/7;return getRoundingMethod(e==null?void 0:e.roundingMethod)(i)}function differenceInYears(n,t){const e=toDate(n),i=toDate(t),r=compareAsc(e,i),a=Math.abs(differenceInCalendarYears(e,i));e.setFullYear(1584),i.setFullYear(1584);const o=compareAsc(e,i)===-r,l=r*(a-+o);return l===0?0:l}function startOfMinute(n){const t=toDate(n);return t.setSeconds(0,0),t}function startOfQuarter(n){const t=toDate(n),e=t.getMonth(),i=e-e%3;return t.setMonth(i,1),t.setHours(0,0,0,0),t}function startOfMonth(n){const t=toDate(n);return t.setDate(1),t.setHours(0,0,0,0),t}function endOfYear(n){const t=toDate(n),e=t.getFullYear();return t.setFullYear(e+1,0,0),t.setHours(23,59,59,999),t}function startOfYear(n){const t=toDate(n),e=constructFrom(n,0);return e.setFullYear(t.getFullYear(),0,1),e.setHours(0,0,0,0),e}function endOfHour(n){const t=toDate(n);return t.setMinutes(59,59,999),t}function endOfWeek(n,t){var l,u,d,m;const e=getDefaultOptions$1(),i=(t==null?void 0:t.weekStartsOn)??((u=(l=t==null?void 0:t.locale)==null?void 0:l.options)==null?void 0:u.weekStartsOn)??e.weekStartsOn??((m=(d=e.locale)==null?void 0:d.options)==null?void 0:m.weekStartsOn)??0,r=toDate(n),a=r.getDay(),o=(a{let i;const r=formatDistanceLocale$t[n];return typeof r=="string"?i=r:t===1?i=r.one:i=r.other.replace("{{count}}",t.toString()),e!=null&&e.addSuffix?e.comparison&&e.comparison>0?"in "+i:i+" ago":i};function buildFormatLongFn(n){return(t={})=>{const e=t.width?String(t.width):n.defaultWidth;return n.formats[e]||n.formats[n.defaultWidth]}}const dateFormats$v={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},timeFormats$v={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},dateTimeFormats$v={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},formatLong$v={date:buildFormatLongFn({formats:dateFormats$v,defaultWidth:"full"}),time:buildFormatLongFn({formats:timeFormats$v,defaultWidth:"full"}),dateTime:buildFormatLongFn({formats:dateTimeFormats$v,defaultWidth:"full"})},formatRelativeLocale$u={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},formatRelative$u=(n,t,e,i)=>formatRelativeLocale$u[n];function buildLocalizeFn(n){return(t,e)=>{const i=e!=null&&e.context?String(e.context):"standalone";let r;if(i==="formatting"&&n.formattingValues){const o=n.defaultFormattingWidth||n.defaultWidth,l=e!=null&&e.width?String(e.width):o;r=n.formattingValues[l]||n.formattingValues[o]}else{const o=n.defaultWidth,l=e!=null&&e.width?String(e.width):n.defaultWidth;r=n.values[l]||n.values[o]}const a=n.argumentCallback?n.argumentCallback(t):t;return r[a]}}const eraValues$u={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},quarterValues$u={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},monthValues$u={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"]},dayValues$u={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"]},dayPeriodValues$u={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"}},formattingDayPeriodValues$l={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"}},ordinalNumber$u=(n,t)=>{const e=Number(n),i=e%100;if(i>20||i<10)switch(i%10){case 1:return e+"st";case 2:return e+"nd";case 3:return e+"rd"}return e+"th"},localize$u={ordinalNumber:ordinalNumber$u,era:buildLocalizeFn({values:eraValues$u,defaultWidth:"wide"}),quarter:buildLocalizeFn({values:quarterValues$u,defaultWidth:"wide",argumentCallback:n=>n-1}),month:buildLocalizeFn({values:monthValues$u,defaultWidth:"wide"}),day:buildLocalizeFn({values:dayValues$u,defaultWidth:"wide"}),dayPeriod:buildLocalizeFn({values:dayPeriodValues$u,defaultWidth:"wide",formattingValues:formattingDayPeriodValues$l,defaultFormattingWidth:"wide"})};function buildMatchFn(n){return(t,e={})=>{const i=e.width,r=i&&n.matchPatterns[i]||n.matchPatterns[n.defaultMatchWidth],a=t.match(r);if(!a)return null;const o=a[0],l=i&&n.parsePatterns[i]||n.parsePatterns[n.defaultParseWidth],u=Array.isArray(l)?findIndex(l,p=>p.test(o)):findKey(l,p=>p.test(o));let d;d=n.valueCallback?n.valueCallback(u):u,d=e.valueCallback?e.valueCallback(d):d;const m=t.slice(o.length);return{value:d,rest:m}}}function findKey(n,t){for(const e in n)if(Object.prototype.hasOwnProperty.call(n,e)&&t(n[e]))return e}function findIndex(n,t){for(let e=0;e{const i=t.match(n.matchPattern);if(!i)return null;const r=i[0],a=t.match(n.parsePattern);if(!a)return null;let o=n.valueCallback?n.valueCallback(a[0]):a[0];o=e.valueCallback?e.valueCallback(o):o;const l=t.slice(r.length);return{value:o,rest:l}}}const matchOrdinalNumberPattern$u=/^(\d+)(th|st|nd|rd)?/i,parseOrdinalNumberPattern$u=/\d+/i,matchEraPatterns$u={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},parseEraPatterns$u={any:[/^b/i,/^(a|c)/i]},matchQuarterPatterns$u={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},parseQuarterPatterns$u={any:[/1/i,/2/i,/3/i,/4/i]},matchMonthPatterns$u={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},parseMonthPatterns$u={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]},matchDayPatterns$u={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},parseDayPatterns$u={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]},matchDayPeriodPatterns$u={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},parseDayPeriodPatterns$u={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}},match$u={ordinalNumber:buildMatchPatternFn({matchPattern:matchOrdinalNumberPattern$u,parsePattern:parseOrdinalNumberPattern$u,valueCallback:n=>parseInt(n,10)}),era:buildMatchFn({matchPatterns:matchEraPatterns$u,defaultMatchWidth:"wide",parsePatterns:parseEraPatterns$u,defaultParseWidth:"any"}),quarter:buildMatchFn({matchPatterns:matchQuarterPatterns$u,defaultMatchWidth:"wide",parsePatterns:parseQuarterPatterns$u,defaultParseWidth:"any",valueCallback:n=>n+1}),month:buildMatchFn({matchPatterns:matchMonthPatterns$u,defaultMatchWidth:"wide",parsePatterns:parseMonthPatterns$u,defaultParseWidth:"any"}),day:buildMatchFn({matchPatterns:matchDayPatterns$u,defaultMatchWidth:"wide",parsePatterns:parseDayPatterns$u,defaultParseWidth:"any"}),dayPeriod:buildMatchFn({matchPatterns:matchDayPeriodPatterns$u,defaultMatchWidth:"any",parsePatterns:parseDayPeriodPatterns$u,defaultParseWidth:"any"})},enUS={code:"en-US",formatDistance:formatDistance$u,formatLong:formatLong$v,formatRelative:formatRelative$u,localize:localize$u,match:match$u,options:{weekStartsOn:0,firstWeekContainsDate:1}};function getDayOfYear(n){const t=toDate(n);return differenceInCalendarDays(t,startOfYear(t))+1}function getISOWeek(n){const t=toDate(n),e=startOfISOWeek(t).getTime()-startOfISOWeekYear(t).getTime();return Math.round(e/millisecondsInWeek)+1}function getWeekYear(n,t){var m,p,_,y;const e=toDate(n),i=e.getFullYear(),r=getDefaultOptions$1(),a=(t==null?void 0:t.firstWeekContainsDate)??((p=(m=t==null?void 0:t.locale)==null?void 0:m.options)==null?void 0:p.firstWeekContainsDate)??r.firstWeekContainsDate??((y=(_=r.locale)==null?void 0:_.options)==null?void 0:y.firstWeekContainsDate)??1,o=constructFrom(n,0);o.setFullYear(i+1,0,a),o.setHours(0,0,0,0);const l=startOfWeek(o,t),u=constructFrom(n,0);u.setFullYear(i,0,a),u.setHours(0,0,0,0);const d=startOfWeek(u,t);return e.getTime()>=l.getTime()?i+1:e.getTime()>=d.getTime()?i:i-1}function startOfWeekYear(n,t){var l,u,d,m;const e=getDefaultOptions$1(),i=(t==null?void 0:t.firstWeekContainsDate)??((u=(l=t==null?void 0:t.locale)==null?void 0:l.options)==null?void 0:u.firstWeekContainsDate)??e.firstWeekContainsDate??((m=(d=e.locale)==null?void 0:d.options)==null?void 0:m.firstWeekContainsDate)??1,r=getWeekYear(n,t),a=constructFrom(n,0);return a.setFullYear(r,0,i),a.setHours(0,0,0,0),startOfWeek(a,t)}function getWeek(n,t){const e=toDate(n),i=startOfWeek(e,t).getTime()-startOfWeekYear(e,t).getTime();return Math.round(i/millisecondsInWeek)+1}function addLeadingZeros(n,t){const e=n<0?"-":"",i=Math.abs(n).toString().padStart(t,"0");return e+i}const lightFormatters={y(n,t){const e=n.getFullYear(),i=e>0?e:1-e;return addLeadingZeros(t==="yy"?i%100:i,t.length)},M(n,t){const e=n.getMonth();return t==="M"?String(e+1):addLeadingZeros(e+1,2)},d(n,t){return addLeadingZeros(n.getDate(),t.length)},a(n,t){const e=n.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return e.toUpperCase();case"aaa":return e;case"aaaaa":return e[0];case"aaaa":default:return e==="am"?"a.m.":"p.m."}},h(n,t){return addLeadingZeros(n.getHours()%12||12,t.length)},H(n,t){return addLeadingZeros(n.getHours(),t.length)},m(n,t){return addLeadingZeros(n.getMinutes(),t.length)},s(n,t){return addLeadingZeros(n.getSeconds(),t.length)},S(n,t){const e=t.length,i=n.getMilliseconds(),r=Math.floor(i*Math.pow(10,e-3));return addLeadingZeros(r,t.length)}},dayPeriodEnum={am:"am",pm:"pm",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},formatters$1={G:function(n,t,e){const i=n.getFullYear()>0?1:0;switch(t){case"G":case"GG":case"GGG":return e.era(i,{width:"abbreviated"});case"GGGGG":return e.era(i,{width:"narrow"});case"GGGG":default:return e.era(i,{width:"wide"})}},y:function(n,t,e){if(t==="yo"){const i=n.getFullYear(),r=i>0?i:1-i;return e.ordinalNumber(r,{unit:"year"})}return lightFormatters.y(n,t)},Y:function(n,t,e,i){const r=getWeekYear(n,i),a=r>0?r:1-r;if(t==="YY"){const o=a%100;return addLeadingZeros(o,2)}return t==="Yo"?e.ordinalNumber(a,{unit:"year"}):addLeadingZeros(a,t.length)},R:function(n,t){const e=getISOWeekYear(n);return addLeadingZeros(e,t.length)},u:function(n,t){const e=n.getFullYear();return addLeadingZeros(e,t.length)},Q:function(n,t,e){const i=Math.ceil((n.getMonth()+1)/3);switch(t){case"Q":return String(i);case"QQ":return addLeadingZeros(i,2);case"Qo":return e.ordinalNumber(i,{unit:"quarter"});case"QQQ":return e.quarter(i,{width:"abbreviated",context:"formatting"});case"QQQQQ":return e.quarter(i,{width:"narrow",context:"formatting"});case"QQQQ":default:return e.quarter(i,{width:"wide",context:"formatting"})}},q:function(n,t,e){const i=Math.ceil((n.getMonth()+1)/3);switch(t){case"q":return String(i);case"qq":return addLeadingZeros(i,2);case"qo":return e.ordinalNumber(i,{unit:"quarter"});case"qqq":return e.quarter(i,{width:"abbreviated",context:"standalone"});case"qqqqq":return e.quarter(i,{width:"narrow",context:"standalone"});case"qqqq":default:return e.quarter(i,{width:"wide",context:"standalone"})}},M:function(n,t,e){const i=n.getMonth();switch(t){case"M":case"MM":return lightFormatters.M(n,t);case"Mo":return e.ordinalNumber(i+1,{unit:"month"});case"MMM":return e.month(i,{width:"abbreviated",context:"formatting"});case"MMMMM":return e.month(i,{width:"narrow",context:"formatting"});case"MMMM":default:return e.month(i,{width:"wide",context:"formatting"})}},L:function(n,t,e){const i=n.getMonth();switch(t){case"L":return String(i+1);case"LL":return addLeadingZeros(i+1,2);case"Lo":return e.ordinalNumber(i+1,{unit:"month"});case"LLL":return e.month(i,{width:"abbreviated",context:"standalone"});case"LLLLL":return e.month(i,{width:"narrow",context:"standalone"});case"LLLL":default:return e.month(i,{width:"wide",context:"standalone"})}},w:function(n,t,e,i){const r=getWeek(n,i);return t==="wo"?e.ordinalNumber(r,{unit:"week"}):addLeadingZeros(r,t.length)},I:function(n,t,e){const i=getISOWeek(n);return t==="Io"?e.ordinalNumber(i,{unit:"week"}):addLeadingZeros(i,t.length)},d:function(n,t,e){return t==="do"?e.ordinalNumber(n.getDate(),{unit:"date"}):lightFormatters.d(n,t)},D:function(n,t,e){const i=getDayOfYear(n);return t==="Do"?e.ordinalNumber(i,{unit:"dayOfYear"}):addLeadingZeros(i,t.length)},E:function(n,t,e){const i=n.getDay();switch(t){case"E":case"EE":case"EEE":return e.day(i,{width:"abbreviated",context:"formatting"});case"EEEEE":return e.day(i,{width:"narrow",context:"formatting"});case"EEEEEE":return e.day(i,{width:"short",context:"formatting"});case"EEEE":default:return e.day(i,{width:"wide",context:"formatting"})}},e:function(n,t,e,i){const r=n.getDay(),a=(r-i.weekStartsOn+8)%7||7;switch(t){case"e":return String(a);case"ee":return addLeadingZeros(a,2);case"eo":return e.ordinalNumber(a,{unit:"day"});case"eee":return e.day(r,{width:"abbreviated",context:"formatting"});case"eeeee":return e.day(r,{width:"narrow",context:"formatting"});case"eeeeee":return e.day(r,{width:"short",context:"formatting"});case"eeee":default:return e.day(r,{width:"wide",context:"formatting"})}},c:function(n,t,e,i){const r=n.getDay(),a=(r-i.weekStartsOn+8)%7||7;switch(t){case"c":return String(a);case"cc":return addLeadingZeros(a,t.length);case"co":return e.ordinalNumber(a,{unit:"day"});case"ccc":return e.day(r,{width:"abbreviated",context:"standalone"});case"ccccc":return e.day(r,{width:"narrow",context:"standalone"});case"cccccc":return e.day(r,{width:"short",context:"standalone"});case"cccc":default:return e.day(r,{width:"wide",context:"standalone"})}},i:function(n,t,e){const i=n.getDay(),r=i===0?7:i;switch(t){case"i":return String(r);case"ii":return addLeadingZeros(r,t.length);case"io":return e.ordinalNumber(r,{unit:"day"});case"iii":return e.day(i,{width:"abbreviated",context:"formatting"});case"iiiii":return e.day(i,{width:"narrow",context:"formatting"});case"iiiiii":return e.day(i,{width:"short",context:"formatting"});case"iiii":default:return e.day(i,{width:"wide",context:"formatting"})}},a:function(n,t,e){const r=n.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return e.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"aaa":return e.dayPeriod(r,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return e.dayPeriod(r,{width:"narrow",context:"formatting"});case"aaaa":default:return e.dayPeriod(r,{width:"wide",context:"formatting"})}},b:function(n,t,e){const i=n.getHours();let r;switch(i===12?r=dayPeriodEnum.noon:i===0?r=dayPeriodEnum.midnight:r=i/12>=1?"pm":"am",t){case"b":case"bb":return e.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"bbb":return e.dayPeriod(r,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return e.dayPeriod(r,{width:"narrow",context:"formatting"});case"bbbb":default:return e.dayPeriod(r,{width:"wide",context:"formatting"})}},B:function(n,t,e){const i=n.getHours();let r;switch(i>=17?r=dayPeriodEnum.evening:i>=12?r=dayPeriodEnum.afternoon:i>=4?r=dayPeriodEnum.morning:r=dayPeriodEnum.night,t){case"B":case"BB":case"BBB":return e.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"BBBBB":return e.dayPeriod(r,{width:"narrow",context:"formatting"});case"BBBB":default:return e.dayPeriod(r,{width:"wide",context:"formatting"})}},h:function(n,t,e){if(t==="ho"){let i=n.getHours()%12;return i===0&&(i=12),e.ordinalNumber(i,{unit:"hour"})}return lightFormatters.h(n,t)},H:function(n,t,e){return t==="Ho"?e.ordinalNumber(n.getHours(),{unit:"hour"}):lightFormatters.H(n,t)},K:function(n,t,e){const i=n.getHours()%12;return t==="Ko"?e.ordinalNumber(i,{unit:"hour"}):addLeadingZeros(i,t.length)},k:function(n,t,e){let i=n.getHours();return i===0&&(i=24),t==="ko"?e.ordinalNumber(i,{unit:"hour"}):addLeadingZeros(i,t.length)},m:function(n,t,e){return t==="mo"?e.ordinalNumber(n.getMinutes(),{unit:"minute"}):lightFormatters.m(n,t)},s:function(n,t,e){return t==="so"?e.ordinalNumber(n.getSeconds(),{unit:"second"}):lightFormatters.s(n,t)},S:function(n,t){return lightFormatters.S(n,t)},X:function(n,t,e,i){const a=(i._originalDate||n).getTimezoneOffset();if(a===0)return"Z";switch(t){case"X":return formatTimezoneWithOptionalMinutes(a);case"XXXX":case"XX":return formatTimezone(a);case"XXXXX":case"XXX":default:return formatTimezone(a,":")}},x:function(n,t,e,i){const a=(i._originalDate||n).getTimezoneOffset();switch(t){case"x":return formatTimezoneWithOptionalMinutes(a);case"xxxx":case"xx":return formatTimezone(a);case"xxxxx":case"xxx":default:return formatTimezone(a,":")}},O:function(n,t,e,i){const a=(i._originalDate||n).getTimezoneOffset();switch(t){case"O":case"OO":case"OOO":return"GMT"+formatTimezoneShort(a,":");case"OOOO":default:return"GMT"+formatTimezone(a,":")}},z:function(n,t,e,i){const a=(i._originalDate||n).getTimezoneOffset();switch(t){case"z":case"zz":case"zzz":return"GMT"+formatTimezoneShort(a,":");case"zzzz":default:return"GMT"+formatTimezone(a,":")}},t:function(n,t,e,i){const r=i._originalDate||n,a=Math.floor(r.getTime()/1e3);return addLeadingZeros(a,t.length)},T:function(n,t,e,i){const a=(i._originalDate||n).getTime();return addLeadingZeros(a,t.length)}};function formatTimezoneShort(n,t=""){const e=n>0?"-":"+",i=Math.abs(n),r=Math.floor(i/60),a=i%60;return a===0?e+String(r):e+String(r)+t+addLeadingZeros(a,2)}function formatTimezoneWithOptionalMinutes(n,t){return n%60===0?(n>0?"-":"+")+addLeadingZeros(Math.abs(n)/60,2):formatTimezone(n,t)}function formatTimezone(n,t=""){const e=n>0?"-":"+",i=Math.abs(n),r=addLeadingZeros(Math.floor(i/60),2),a=addLeadingZeros(i%60,2);return e+r+t+a}const dateLongFormatter=(n,t)=>{switch(n){case"P":return t.date({width:"short"});case"PP":return t.date({width:"medium"});case"PPP":return t.date({width:"long"});case"PPPP":default:return t.date({width:"full"})}},timeLongFormatter=(n,t)=>{switch(n){case"p":return t.time({width:"short"});case"pp":return t.time({width:"medium"});case"ppp":return t.time({width:"long"});case"pppp":default:return t.time({width:"full"})}},dateTimeLongFormatter=(n,t)=>{const e=n.match(/(P+)(p+)?/)||[],i=e[1],r=e[2];if(!r)return dateLongFormatter(n,t);let a;switch(i){case"P":a=t.dateTime({width:"short"});break;case"PP":a=t.dateTime({width:"medium"});break;case"PPP":a=t.dateTime({width:"long"});break;case"PPPP":default:a=t.dateTime({width:"full"});break}return a.replace("{{date}}",dateLongFormatter(i,t)).replace("{{time}}",timeLongFormatter(r,t))},longFormatters={p:timeLongFormatter,P:dateTimeLongFormatter},dayOfYearTokenRE=/^D+$/,weekYearTokenRE=/^Y+$/,throwTokens=["D","DD","YY","YYYY"];function isProtectedDayOfYearToken(n){return dayOfYearTokenRE.test(n)}function isProtectedWeekYearToken(n){return weekYearTokenRE.test(n)}function warnOrThrowProtectedError(n,t,e){const i=message(n,t,e);if(console.warn(i),throwTokens.includes(n))throw new RangeError(i)}function message(n,t,e){const i=n[0]==="Y"?"years":"days of the month";return`Use \`${n.toLowerCase()}\` instead of \`${n}\` (in \`${t}\`) for formatting ${i} to the input \`${e}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}const formattingTokensRegExp$1=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,longFormattingTokensRegExp$1=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,escapedStringRegExp$1=/^'([^]*?)'?$/,doubleQuoteRegExp$1=/''/g,unescapedLatinCharacterRegExp$1=/[a-zA-Z]/;function format(n,t,e){var m,p,_,y,w,v,E,x;const i=getDefaultOptions$1(),r=(e==null?void 0:e.locale)??i.locale??enUS,a=(e==null?void 0:e.firstWeekContainsDate)??((p=(m=e==null?void 0:e.locale)==null?void 0:m.options)==null?void 0:p.firstWeekContainsDate)??i.firstWeekContainsDate??((y=(_=i.locale)==null?void 0:_.options)==null?void 0:y.firstWeekContainsDate)??1,o=(e==null?void 0:e.weekStartsOn)??((v=(w=e==null?void 0:e.locale)==null?void 0:w.options)==null?void 0:v.weekStartsOn)??i.weekStartsOn??((x=(E=i.locale)==null?void 0:E.options)==null?void 0:x.weekStartsOn)??0,l=toDate(n);if(!isValid(l))throw new RangeError("Invalid time value");const u={firstWeekContainsDate:a,weekStartsOn:o,locale:r,_originalDate:l};return t.match(longFormattingTokensRegExp$1).map(function(S){const M=S[0];if(M==="p"||M==="P"){const k=longFormatters[M];return k(S,r.formatLong)}return S}).join("").match(formattingTokensRegExp$1).map(function(S){if(S==="''")return"'";const M=S[0];if(M==="'")return cleanEscapedString$1(S);const k=formatters$1[M];if(k)return!(e!=null&&e.useAdditionalWeekYearTokens)&&isProtectedWeekYearToken(S)&&warnOrThrowProtectedError(S,t,String(n)),!(e!=null&&e.useAdditionalDayOfYearTokens)&&isProtectedDayOfYearToken(S)&&warnOrThrowProtectedError(S,t,String(n)),k(l,S,r.localize,u);if(M.match(unescapedLatinCharacterRegExp$1))throw new RangeError("Format string contains an unescaped latin alphabet character `"+M+"`");return S}).join("")}function cleanEscapedString$1(n){const t=n.match(escapedStringRegExp$1);return t?t[1].replace(doubleQuoteRegExp$1,"'"):n}function getDefaultOptions(){return Object.assign({},getDefaultOptions$1())}function getISODay(n){let e=toDate(n).getDay();return e===0&&(e=7),e}function transpose(n,t){const e=t instanceof Date?constructFrom(t,0):new t(0);return e.setFullYear(n.getFullYear(),n.getMonth(),n.getDate()),e.setHours(n.getHours(),n.getMinutes(),n.getSeconds(),n.getMilliseconds()),e}const TIMEZONE_UNIT_PRIORITY=10;class Setter{constructor(){F(this,"subPriority",0)}validate(t,e){return!0}}class ValueSetter extends Setter{constructor(t,e,i,r,a){super(),this.value=t,this.validateValue=e,this.setValue=i,this.priority=r,a&&(this.subPriority=a)}validate(t,e){return this.validateValue(t,this.value,e)}set(t,e,i){return this.setValue(t,e,this.value,i)}}class DateToSystemTimezoneSetter extends Setter{constructor(){super(...arguments);F(this,"priority",TIMEZONE_UNIT_PRIORITY);F(this,"subPriority",-1)}set(e,i){return i.timestampIsSet?e:constructFrom(e,transpose(e,Date))}}class Parser{run(t,e,i,r){const a=this.parse(t,e,i,r);return a?{setter:new ValueSetter(a.value,this.validate,this.set,this.priority,this.subPriority),rest:a.rest}:null}validate(t,e,i){return!0}}class EraParser extends Parser{constructor(){super(...arguments);F(this,"priority",140);F(this,"incompatibleTokens",["R","u","t","T"])}parse(e,i,r){switch(i){case"G":case"GG":case"GGG":return r.era(e,{width:"abbreviated"})||r.era(e,{width:"narrow"});case"GGGGG":return r.era(e,{width:"narrow"});case"GGGG":default:return r.era(e,{width:"wide"})||r.era(e,{width:"abbreviated"})||r.era(e,{width:"narrow"})}}set(e,i,r){return i.era=r,e.setFullYear(r,0,1),e.setHours(0,0,0,0),e}}const numericPatterns={month:/^(1[0-2]|0?\d)/,date:/^(3[0-1]|[0-2]?\d)/,dayOfYear:/^(36[0-6]|3[0-5]\d|[0-2]?\d?\d)/,week:/^(5[0-3]|[0-4]?\d)/,hour23h:/^(2[0-3]|[0-1]?\d)/,hour24h:/^(2[0-4]|[0-1]?\d)/,hour11h:/^(1[0-1]|0?\d)/,hour12h:/^(1[0-2]|0?\d)/,minute:/^[0-5]?\d/,second:/^[0-5]?\d/,singleDigit:/^\d/,twoDigits:/^\d{1,2}/,threeDigits:/^\d{1,3}/,fourDigits:/^\d{1,4}/,anyDigitsSigned:/^-?\d+/,singleDigitSigned:/^-?\d/,twoDigitsSigned:/^-?\d{1,2}/,threeDigitsSigned:/^-?\d{1,3}/,fourDigitsSigned:/^-?\d{1,4}/},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/};function mapValue(n,t){return n&&{value:t(n.value),rest:n.rest}}function parseNumericPattern(n,t){const e=t.match(n);return e?{value:parseInt(e[0],10),rest:t.slice(e[0].length)}:null}function parseTimezonePattern(n,t){const e=t.match(n);if(!e)return null;if(e[0]==="Z")return{value:0,rest:t.slice(1)};const i=e[1]==="+"?1:-1,r=e[2]?parseInt(e[2],10):0,a=e[3]?parseInt(e[3],10):0,o=e[5]?parseInt(e[5],10):0;return{value:i*(r*millisecondsInHour+a*millisecondsInMinute+o*millisecondsInSecond),rest:t.slice(e[0].length)}}function parseAnyDigitsSigned(n){return parseNumericPattern(numericPatterns.anyDigitsSigned,n)}function parseNDigits(n,t){switch(n){case 1:return parseNumericPattern(numericPatterns.singleDigit,t);case 2:return parseNumericPattern(numericPatterns.twoDigits,t);case 3:return parseNumericPattern(numericPatterns.threeDigits,t);case 4:return parseNumericPattern(numericPatterns.fourDigits,t);default:return parseNumericPattern(new RegExp("^\\d{1,"+n+"}"),t)}}function parseNDigitsSigned(n,t){switch(n){case 1:return parseNumericPattern(numericPatterns.singleDigitSigned,t);case 2:return parseNumericPattern(numericPatterns.twoDigitsSigned,t);case 3:return parseNumericPattern(numericPatterns.threeDigitsSigned,t);case 4:return parseNumericPattern(numericPatterns.fourDigitsSigned,t);default:return parseNumericPattern(new RegExp("^-?\\d{1,"+n+"}"),t)}}function dayPeriodEnumToHours(n){switch(n){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}}function normalizeTwoDigitYear(n,t){const e=t>0,i=e?t:1-t;let r;if(i<=50)r=n||100;else{const a=i+50,o=Math.floor(a/100)*100,l=n>=a%100;r=n+o-(l?100:0)}return e?r:1-r}function isLeapYearIndex$1(n){return n%400===0||n%4===0&&n%100!==0}class YearParser extends Parser{constructor(){super(...arguments);F(this,"priority",130);F(this,"incompatibleTokens",["Y","R","u","w","I","i","e","c","t","T"])}parse(e,i,r){const a=o=>({year:o,isTwoDigitYear:i==="yy"});switch(i){case"y":return mapValue(parseNDigits(4,e),a);case"yo":return mapValue(r.ordinalNumber(e,{unit:"year"}),a);default:return mapValue(parseNDigits(i.length,e),a)}}validate(e,i){return i.isTwoDigitYear||i.year>0}set(e,i,r){const a=e.getFullYear();if(r.isTwoDigitYear){const l=normalizeTwoDigitYear(r.year,a);return e.setFullYear(l,0,1),e.setHours(0,0,0,0),e}const o=!("era"in i)||i.era===1?r.year:1-r.year;return e.setFullYear(o,0,1),e.setHours(0,0,0,0),e}}class LocalWeekYearParser extends Parser{constructor(){super(...arguments);F(this,"priority",130);F(this,"incompatibleTokens",["y","R","u","Q","q","M","L","I","d","D","i","t","T"])}parse(e,i,r){const a=o=>({year:o,isTwoDigitYear:i==="YY"});switch(i){case"Y":return mapValue(parseNDigits(4,e),a);case"Yo":return mapValue(r.ordinalNumber(e,{unit:"year"}),a);default:return mapValue(parseNDigits(i.length,e),a)}}validate(e,i){return i.isTwoDigitYear||i.year>0}set(e,i,r,a){const o=getWeekYear(e,a);if(r.isTwoDigitYear){const u=normalizeTwoDigitYear(r.year,o);return e.setFullYear(u,0,a.firstWeekContainsDate),e.setHours(0,0,0,0),startOfWeek(e,a)}const l=!("era"in i)||i.era===1?r.year:1-r.year;return e.setFullYear(l,0,a.firstWeekContainsDate),e.setHours(0,0,0,0),startOfWeek(e,a)}}class ISOWeekYearParser extends Parser{constructor(){super(...arguments);F(this,"priority",130);F(this,"incompatibleTokens",["G","y","Y","u","Q","q","M","L","w","d","D","e","c","t","T"])}parse(e,i){return parseNDigitsSigned(i==="R"?4:i.length,e)}set(e,i,r){const a=constructFrom(e,0);return a.setFullYear(r,0,4),a.setHours(0,0,0,0),startOfISOWeek(a)}}class ExtendedYearParser extends Parser{constructor(){super(...arguments);F(this,"priority",130);F(this,"incompatibleTokens",["G","y","Y","R","w","I","i","e","c","t","T"])}parse(e,i){return parseNDigitsSigned(i==="u"?4:i.length,e)}set(e,i,r){return e.setFullYear(r,0,1),e.setHours(0,0,0,0),e}}class QuarterParser extends Parser{constructor(){super(...arguments);F(this,"priority",120);F(this,"incompatibleTokens",["Y","R","q","M","L","w","I","d","D","i","e","c","t","T"])}parse(e,i,r){switch(i){case"Q":case"QQ":return parseNDigits(i.length,e);case"Qo":return r.ordinalNumber(e,{unit:"quarter"});case"QQQ":return r.quarter(e,{width:"abbreviated",context:"formatting"})||r.quarter(e,{width:"narrow",context:"formatting"});case"QQQQQ":return r.quarter(e,{width:"narrow",context:"formatting"});case"QQQQ":default:return r.quarter(e,{width:"wide",context:"formatting"})||r.quarter(e,{width:"abbreviated",context:"formatting"})||r.quarter(e,{width:"narrow",context:"formatting"})}}validate(e,i){return i>=1&&i<=4}set(e,i,r){return e.setMonth((r-1)*3,1),e.setHours(0,0,0,0),e}}class StandAloneQuarterParser extends Parser{constructor(){super(...arguments);F(this,"priority",120);F(this,"incompatibleTokens",["Y","R","Q","M","L","w","I","d","D","i","e","c","t","T"])}parse(e,i,r){switch(i){case"q":case"qq":return parseNDigits(i.length,e);case"qo":return r.ordinalNumber(e,{unit:"quarter"});case"qqq":return r.quarter(e,{width:"abbreviated",context:"standalone"})||r.quarter(e,{width:"narrow",context:"standalone"});case"qqqqq":return r.quarter(e,{width:"narrow",context:"standalone"});case"qqqq":default:return r.quarter(e,{width:"wide",context:"standalone"})||r.quarter(e,{width:"abbreviated",context:"standalone"})||r.quarter(e,{width:"narrow",context:"standalone"})}}validate(e,i){return i>=1&&i<=4}set(e,i,r){return e.setMonth((r-1)*3,1),e.setHours(0,0,0,0),e}}class MonthParser extends Parser{constructor(){super(...arguments);F(this,"incompatibleTokens",["Y","R","q","Q","L","w","I","D","i","e","c","t","T"]);F(this,"priority",110)}parse(e,i,r){const a=o=>o-1;switch(i){case"M":return mapValue(parseNumericPattern(numericPatterns.month,e),a);case"MM":return mapValue(parseNDigits(2,e),a);case"Mo":return mapValue(r.ordinalNumber(e,{unit:"month"}),a);case"MMM":return r.month(e,{width:"abbreviated",context:"formatting"})||r.month(e,{width:"narrow",context:"formatting"});case"MMMMM":return r.month(e,{width:"narrow",context:"formatting"});case"MMMM":default:return r.month(e,{width:"wide",context:"formatting"})||r.month(e,{width:"abbreviated",context:"formatting"})||r.month(e,{width:"narrow",context:"formatting"})}}validate(e,i){return i>=0&&i<=11}set(e,i,r){return e.setMonth(r,1),e.setHours(0,0,0,0),e}}class StandAloneMonthParser extends Parser{constructor(){super(...arguments);F(this,"priority",110);F(this,"incompatibleTokens",["Y","R","q","Q","M","w","I","D","i","e","c","t","T"])}parse(e,i,r){const a=o=>o-1;switch(i){case"L":return mapValue(parseNumericPattern(numericPatterns.month,e),a);case"LL":return mapValue(parseNDigits(2,e),a);case"Lo":return mapValue(r.ordinalNumber(e,{unit:"month"}),a);case"LLL":return r.month(e,{width:"abbreviated",context:"standalone"})||r.month(e,{width:"narrow",context:"standalone"});case"LLLLL":return r.month(e,{width:"narrow",context:"standalone"});case"LLLL":default:return r.month(e,{width:"wide",context:"standalone"})||r.month(e,{width:"abbreviated",context:"standalone"})||r.month(e,{width:"narrow",context:"standalone"})}}validate(e,i){return i>=0&&i<=11}set(e,i,r){return e.setMonth(r,1),e.setHours(0,0,0,0),e}}function setWeek(n,t,e){const i=toDate(n),r=getWeek(i,e)-t;return i.setDate(i.getDate()-r*7),i}class LocalWeekParser extends Parser{constructor(){super(...arguments);F(this,"priority",100);F(this,"incompatibleTokens",["y","R","u","q","Q","M","L","I","d","D","i","t","T"])}parse(e,i,r){switch(i){case"w":return parseNumericPattern(numericPatterns.week,e);case"wo":return r.ordinalNumber(e,{unit:"week"});default:return parseNDigits(i.length,e)}}validate(e,i){return i>=1&&i<=53}set(e,i,r,a){return startOfWeek(setWeek(e,r,a),a)}}function setISOWeek(n,t){const e=toDate(n),i=getISOWeek(e)-t;return e.setDate(e.getDate()-i*7),e}class ISOWeekParser extends Parser{constructor(){super(...arguments);F(this,"priority",100);F(this,"incompatibleTokens",["y","Y","u","q","Q","M","L","w","d","D","e","c","t","T"])}parse(e,i,r){switch(i){case"I":return parseNumericPattern(numericPatterns.week,e);case"Io":return r.ordinalNumber(e,{unit:"week"});default:return parseNDigits(i.length,e)}}validate(e,i){return i>=1&&i<=53}set(e,i,r){return startOfISOWeek(setISOWeek(e,r))}}const DAYS_IN_MONTH=[31,28,31,30,31,30,31,31,30,31,30,31],DAYS_IN_MONTH_LEAP_YEAR=[31,29,31,30,31,30,31,31,30,31,30,31];class DateParser extends Parser{constructor(){super(...arguments);F(this,"priority",90);F(this,"subPriority",1);F(this,"incompatibleTokens",["Y","R","q","Q","w","I","D","i","e","c","t","T"])}parse(e,i,r){switch(i){case"d":return parseNumericPattern(numericPatterns.date,e);case"do":return r.ordinalNumber(e,{unit:"date"});default:return parseNDigits(i.length,e)}}validate(e,i){const r=e.getFullYear(),a=isLeapYearIndex$1(r),o=e.getMonth();return a?i>=1&&i<=DAYS_IN_MONTH_LEAP_YEAR[o]:i>=1&&i<=DAYS_IN_MONTH[o]}set(e,i,r){return e.setDate(r),e.setHours(0,0,0,0),e}}class DayOfYearParser extends Parser{constructor(){super(...arguments);F(this,"priority",90);F(this,"subpriority",1);F(this,"incompatibleTokens",["Y","R","q","Q","M","L","w","I","d","E","i","e","c","t","T"])}parse(e,i,r){switch(i){case"D":case"DD":return parseNumericPattern(numericPatterns.dayOfYear,e);case"Do":return r.ordinalNumber(e,{unit:"date"});default:return parseNDigits(i.length,e)}}validate(e,i){const r=e.getFullYear();return isLeapYearIndex$1(r)?i>=1&&i<=366:i>=1&&i<=365}set(e,i,r){return e.setMonth(0,r),e.setHours(0,0,0,0),e}}function setDay(n,t,e){var p,_,y,w;const i=getDefaultOptions$1(),r=(e==null?void 0:e.weekStartsOn)??((_=(p=e==null?void 0:e.locale)==null?void 0:p.options)==null?void 0:_.weekStartsOn)??i.weekStartsOn??((w=(y=i.locale)==null?void 0:y.options)==null?void 0:w.weekStartsOn)??0,a=toDate(n),o=a.getDay(),u=(t%7+7)%7,d=7-r,m=t<0||t>6?t-(o+d)%7:(u+d)%7-(o+d)%7;return addDays(a,m)}class DayParser extends Parser{constructor(){super(...arguments);F(this,"priority",90);F(this,"incompatibleTokens",["D","i","e","c","t","T"])}parse(e,i,r){switch(i){case"E":case"EE":case"EEE":return r.day(e,{width:"abbreviated",context:"formatting"})||r.day(e,{width:"short",context:"formatting"})||r.day(e,{width:"narrow",context:"formatting"});case"EEEEE":return r.day(e,{width:"narrow",context:"formatting"});case"EEEEEE":return r.day(e,{width:"short",context:"formatting"})||r.day(e,{width:"narrow",context:"formatting"});case"EEEE":default:return r.day(e,{width:"wide",context:"formatting"})||r.day(e,{width:"abbreviated",context:"formatting"})||r.day(e,{width:"short",context:"formatting"})||r.day(e,{width:"narrow",context:"formatting"})}}validate(e,i){return i>=0&&i<=6}set(e,i,r,a){return e=setDay(e,r,a),e.setHours(0,0,0,0),e}}class LocalDayParser extends Parser{constructor(){super(...arguments);F(this,"priority",90);F(this,"incompatibleTokens",["y","R","u","q","Q","M","L","I","d","D","E","i","c","t","T"])}parse(e,i,r,a){const o=l=>{const u=Math.floor((l-1)/7)*7;return(l+a.weekStartsOn+6)%7+u};switch(i){case"e":case"ee":return mapValue(parseNDigits(i.length,e),o);case"eo":return mapValue(r.ordinalNumber(e,{unit:"day"}),o);case"eee":return r.day(e,{width:"abbreviated",context:"formatting"})||r.day(e,{width:"short",context:"formatting"})||r.day(e,{width:"narrow",context:"formatting"});case"eeeee":return r.day(e,{width:"narrow",context:"formatting"});case"eeeeee":return r.day(e,{width:"short",context:"formatting"})||r.day(e,{width:"narrow",context:"formatting"});case"eeee":default:return r.day(e,{width:"wide",context:"formatting"})||r.day(e,{width:"abbreviated",context:"formatting"})||r.day(e,{width:"short",context:"formatting"})||r.day(e,{width:"narrow",context:"formatting"})}}validate(e,i){return i>=0&&i<=6}set(e,i,r,a){return e=setDay(e,r,a),e.setHours(0,0,0,0),e}}class StandAloneLocalDayParser extends Parser{constructor(){super(...arguments);F(this,"priority",90);F(this,"incompatibleTokens",["y","R","u","q","Q","M","L","I","d","D","E","i","e","t","T"])}parse(e,i,r,a){const o=l=>{const u=Math.floor((l-1)/7)*7;return(l+a.weekStartsOn+6)%7+u};switch(i){case"c":case"cc":return mapValue(parseNDigits(i.length,e),o);case"co":return mapValue(r.ordinalNumber(e,{unit:"day"}),o);case"ccc":return r.day(e,{width:"abbreviated",context:"standalone"})||r.day(e,{width:"short",context:"standalone"})||r.day(e,{width:"narrow",context:"standalone"});case"ccccc":return r.day(e,{width:"narrow",context:"standalone"});case"cccccc":return r.day(e,{width:"short",context:"standalone"})||r.day(e,{width:"narrow",context:"standalone"});case"cccc":default:return r.day(e,{width:"wide",context:"standalone"})||r.day(e,{width:"abbreviated",context:"standalone"})||r.day(e,{width:"short",context:"standalone"})||r.day(e,{width:"narrow",context:"standalone"})}}validate(e,i){return i>=0&&i<=6}set(e,i,r,a){return e=setDay(e,r,a),e.setHours(0,0,0,0),e}}function setISODay(n,t){const e=toDate(n),i=getISODay(e),r=t-i;return addDays(e,r)}class ISODayParser extends Parser{constructor(){super(...arguments);F(this,"priority",90);F(this,"incompatibleTokens",["y","Y","u","q","Q","M","L","w","d","D","E","e","c","t","T"])}parse(e,i,r){const a=o=>o===0?7:o;switch(i){case"i":case"ii":return parseNDigits(i.length,e);case"io":return r.ordinalNumber(e,{unit:"day"});case"iii":return mapValue(r.day(e,{width:"abbreviated",context:"formatting"})||r.day(e,{width:"short",context:"formatting"})||r.day(e,{width:"narrow",context:"formatting"}),a);case"iiiii":return mapValue(r.day(e,{width:"narrow",context:"formatting"}),a);case"iiiiii":return mapValue(r.day(e,{width:"short",context:"formatting"})||r.day(e,{width:"narrow",context:"formatting"}),a);case"iiii":default:return mapValue(r.day(e,{width:"wide",context:"formatting"})||r.day(e,{width:"abbreviated",context:"formatting"})||r.day(e,{width:"short",context:"formatting"})||r.day(e,{width:"narrow",context:"formatting"}),a)}}validate(e,i){return i>=1&&i<=7}set(e,i,r){return e=setISODay(e,r),e.setHours(0,0,0,0),e}}class AMPMParser extends Parser{constructor(){super(...arguments);F(this,"priority",80);F(this,"incompatibleTokens",["b","B","H","k","t","T"])}parse(e,i,r){switch(i){case"a":case"aa":case"aaa":return r.dayPeriod(e,{width:"abbreviated",context:"formatting"})||r.dayPeriod(e,{width:"narrow",context:"formatting"});case"aaaaa":return r.dayPeriod(e,{width:"narrow",context:"formatting"});case"aaaa":default:return r.dayPeriod(e,{width:"wide",context:"formatting"})||r.dayPeriod(e,{width:"abbreviated",context:"formatting"})||r.dayPeriod(e,{width:"narrow",context:"formatting"})}}set(e,i,r){return e.setHours(dayPeriodEnumToHours(r),0,0,0),e}}class AMPMMidnightParser extends Parser{constructor(){super(...arguments);F(this,"priority",80);F(this,"incompatibleTokens",["a","B","H","k","t","T"])}parse(e,i,r){switch(i){case"b":case"bb":case"bbb":return r.dayPeriod(e,{width:"abbreviated",context:"formatting"})||r.dayPeriod(e,{width:"narrow",context:"formatting"});case"bbbbb":return r.dayPeriod(e,{width:"narrow",context:"formatting"});case"bbbb":default:return r.dayPeriod(e,{width:"wide",context:"formatting"})||r.dayPeriod(e,{width:"abbreviated",context:"formatting"})||r.dayPeriod(e,{width:"narrow",context:"formatting"})}}set(e,i,r){return e.setHours(dayPeriodEnumToHours(r),0,0,0),e}}class DayPeriodParser extends Parser{constructor(){super(...arguments);F(this,"priority",80);F(this,"incompatibleTokens",["a","b","t","T"])}parse(e,i,r){switch(i){case"B":case"BB":case"BBB":return r.dayPeriod(e,{width:"abbreviated",context:"formatting"})||r.dayPeriod(e,{width:"narrow",context:"formatting"});case"BBBBB":return r.dayPeriod(e,{width:"narrow",context:"formatting"});case"BBBB":default:return r.dayPeriod(e,{width:"wide",context:"formatting"})||r.dayPeriod(e,{width:"abbreviated",context:"formatting"})||r.dayPeriod(e,{width:"narrow",context:"formatting"})}}set(e,i,r){return e.setHours(dayPeriodEnumToHours(r),0,0,0),e}}class Hour1to12Parser extends Parser{constructor(){super(...arguments);F(this,"priority",70);F(this,"incompatibleTokens",["H","K","k","t","T"])}parse(e,i,r){switch(i){case"h":return parseNumericPattern(numericPatterns.hour12h,e);case"ho":return r.ordinalNumber(e,{unit:"hour"});default:return parseNDigits(i.length,e)}}validate(e,i){return i>=1&&i<=12}set(e,i,r){const a=e.getHours()>=12;return a&&r<12?e.setHours(r+12,0,0,0):!a&&r===12?e.setHours(0,0,0,0):e.setHours(r,0,0,0),e}}class Hour0to23Parser extends Parser{constructor(){super(...arguments);F(this,"priority",70);F(this,"incompatibleTokens",["a","b","h","K","k","t","T"])}parse(e,i,r){switch(i){case"H":return parseNumericPattern(numericPatterns.hour23h,e);case"Ho":return r.ordinalNumber(e,{unit:"hour"});default:return parseNDigits(i.length,e)}}validate(e,i){return i>=0&&i<=23}set(e,i,r){return e.setHours(r,0,0,0),e}}class Hour0To11Parser extends Parser{constructor(){super(...arguments);F(this,"priority",70);F(this,"incompatibleTokens",["h","H","k","t","T"])}parse(e,i,r){switch(i){case"K":return parseNumericPattern(numericPatterns.hour11h,e);case"Ko":return r.ordinalNumber(e,{unit:"hour"});default:return parseNDigits(i.length,e)}}validate(e,i){return i>=0&&i<=11}set(e,i,r){return e.getHours()>=12&&r<12?e.setHours(r+12,0,0,0):e.setHours(r,0,0,0),e}}class Hour1To24Parser extends Parser{constructor(){super(...arguments);F(this,"priority",70);F(this,"incompatibleTokens",["a","b","h","H","K","t","T"])}parse(e,i,r){switch(i){case"k":return parseNumericPattern(numericPatterns.hour24h,e);case"ko":return r.ordinalNumber(e,{unit:"hour"});default:return parseNDigits(i.length,e)}}validate(e,i){return i>=1&&i<=24}set(e,i,r){const a=r<=24?r%24:r;return e.setHours(a,0,0,0),e}}class MinuteParser extends Parser{constructor(){super(...arguments);F(this,"priority",60);F(this,"incompatibleTokens",["t","T"])}parse(e,i,r){switch(i){case"m":return parseNumericPattern(numericPatterns.minute,e);case"mo":return r.ordinalNumber(e,{unit:"minute"});default:return parseNDigits(i.length,e)}}validate(e,i){return i>=0&&i<=59}set(e,i,r){return e.setMinutes(r,0,0),e}}class SecondParser extends Parser{constructor(){super(...arguments);F(this,"priority",50);F(this,"incompatibleTokens",["t","T"])}parse(e,i,r){switch(i){case"s":return parseNumericPattern(numericPatterns.second,e);case"so":return r.ordinalNumber(e,{unit:"second"});default:return parseNDigits(i.length,e)}}validate(e,i){return i>=0&&i<=59}set(e,i,r){return e.setSeconds(r,0),e}}class FractionOfSecondParser extends Parser{constructor(){super(...arguments);F(this,"priority",30);F(this,"incompatibleTokens",["t","T"])}parse(e,i){const r=a=>Math.floor(a*Math.pow(10,-i.length+3));return mapValue(parseNDigits(i.length,e),r)}set(e,i,r){return e.setMilliseconds(r),e}}class ISOTimezoneWithZParser extends Parser{constructor(){super(...arguments);F(this,"priority",10);F(this,"incompatibleTokens",["t","T","x"])}parse(e,i){switch(i){case"X":return parseTimezonePattern(timezonePatterns.basicOptionalMinutes,e);case"XX":return parseTimezonePattern(timezonePatterns.basic,e);case"XXXX":return parseTimezonePattern(timezonePatterns.basicOptionalSeconds,e);case"XXXXX":return parseTimezonePattern(timezonePatterns.extendedOptionalSeconds,e);case"XXX":default:return parseTimezonePattern(timezonePatterns.extended,e)}}set(e,i,r){return i.timestampIsSet?e:constructFrom(e,e.getTime()-getTimezoneOffsetInMilliseconds(e)-r)}}class ISOTimezoneParser extends Parser{constructor(){super(...arguments);F(this,"priority",10);F(this,"incompatibleTokens",["t","T","X"])}parse(e,i){switch(i){case"x":return parseTimezonePattern(timezonePatterns.basicOptionalMinutes,e);case"xx":return parseTimezonePattern(timezonePatterns.basic,e);case"xxxx":return parseTimezonePattern(timezonePatterns.basicOptionalSeconds,e);case"xxxxx":return parseTimezonePattern(timezonePatterns.extendedOptionalSeconds,e);case"xxx":default:return parseTimezonePattern(timezonePatterns.extended,e)}}set(e,i,r){return i.timestampIsSet?e:constructFrom(e,e.getTime()-getTimezoneOffsetInMilliseconds(e)-r)}}class TimestampSecondsParser extends Parser{constructor(){super(...arguments);F(this,"priority",40);F(this,"incompatibleTokens","*")}parse(e){return parseAnyDigitsSigned(e)}set(e,i,r){return[constructFrom(e,r*1e3),{timestampIsSet:!0}]}}class TimestampMillisecondsParser extends Parser{constructor(){super(...arguments);F(this,"priority",20);F(this,"incompatibleTokens","*")}parse(e){return parseAnyDigitsSigned(e)}set(e,i,r){return[constructFrom(e,r),{timestampIsSet:!0}]}}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},formattingTokensRegExp=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,longFormattingTokensRegExp=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,escapedStringRegExp=/^'([^]*?)'?$/,doubleQuoteRegExp=/''/g,notWhitespaceRegExp=/\S/,unescapedLatinCharacterRegExp=/[a-zA-Z]/;function parse$1(n,t,e,i){var v,E,x,S,M,k,A,I;const r=getDefaultOptions(),a=(i==null?void 0:i.locale)??r.locale??enUS,o=(i==null?void 0:i.firstWeekContainsDate)??((E=(v=i==null?void 0:i.locale)==null?void 0:v.options)==null?void 0:E.firstWeekContainsDate)??r.firstWeekContainsDate??((S=(x=r.locale)==null?void 0:x.options)==null?void 0:S.firstWeekContainsDate)??1,l=(i==null?void 0:i.weekStartsOn)??((k=(M=i==null?void 0:i.locale)==null?void 0:M.options)==null?void 0:k.weekStartsOn)??r.weekStartsOn??((I=(A=r.locale)==null?void 0:A.options)==null?void 0:I.weekStartsOn)??0;if(t==="")return n===""?toDate(e):constructFrom(e,NaN);const u={firstWeekContainsDate:o,weekStartsOn:l,locale:a},d=[new DateToSystemTimezoneSetter],m=t.match(longFormattingTokensRegExp).map(C=>{const R=C[0];if(R in longFormatters){const W=longFormatters[R];return W(C,a.formatLong)}return C}).join("").match(formattingTokensRegExp),p=[];for(let C of m){!(i!=null&&i.useAdditionalWeekYearTokens)&&isProtectedWeekYearToken(C)&&warnOrThrowProtectedError(C,t,n),!(i!=null&&i.useAdditionalDayOfYearTokens)&&isProtectedDayOfYearToken(C)&&warnOrThrowProtectedError(C,t,n);const R=C[0],W=parsers[R];if(W){const{incompatibleTokens:K}=W;if(Array.isArray(K)){const q=p.find(J=>K.includes(J.token)||J.token===R);if(q)throw new RangeError(`The format string mustn't contain \`${q.fullToken}\` and \`${C}\` at the same time`)}else if(W.incompatibleTokens==="*"&&p.length>0)throw new RangeError(`The format string mustn't contain \`${C}\` and any other token at the same time`);p.push({token:R,fullToken:C});const Y=W.run(n,C,a.match,u);if(!Y)return constructFrom(e,NaN);d.push(Y.setter),n=Y.rest}else{if(R.match(unescapedLatinCharacterRegExp))throw new RangeError("Format string contains an unescaped latin alphabet character `"+R+"`");if(C==="''"?C="'":R==="'"&&(C=cleanEscapedString(C)),n.indexOf(C)===0)n=n.slice(C.length);else return constructFrom(e,NaN)}}if(n.length>0&¬WhitespaceRegExp.test(n))return constructFrom(e,NaN);const _=d.map(C=>C.priority).sort((C,R)=>R-C).filter((C,R,W)=>W.indexOf(C)===R).map(C=>d.filter(R=>R.priority===C).sort((R,W)=>W.subPriority-R.subPriority)).map(C=>C[0]);let y=toDate(e);if(isNaN(y.getTime()))return constructFrom(e,NaN);const w={};for(const C of _){if(!C.validate(y,u))return constructFrom(e,NaN);const R=C.set(y,w,u);Array.isArray(R)?(y=R[0],Object.assign(w,R[1])):y=R}return constructFrom(e,y)}function cleanEscapedString(n){return n.match(escapedStringRegExp)[1].replace(doubleQuoteRegExp,"'")}function startOfHour(n){const t=toDate(n);return t.setMinutes(0,0,0),t}function isSameWeek(n,t,e){const i=startOfWeek(n,e),r=startOfWeek(t,e);return+i==+r}function startOfSecond(n){const t=toDate(n);return t.setMilliseconds(0),t}function subDays(n,t){return addDays(n,-t)}function parseISO(n,t){const e=(t==null?void 0:t.additionalDigits)??2,i=splitDateString(n);let r;if(i.date){const u=parseYear(i.date,e);r=parseDate(u.restDateString,u.year)}if(!r||isNaN(r.getTime()))return new Date(NaN);const a=r.getTime();let o=0,l;if(i.time&&(o=parseTime(i.time),isNaN(o)))return new Date(NaN);if(i.timezone){if(l=parseTimezone(i.timezone),isNaN(l))return new Date(NaN)}else{const u=new Date(a+o),d=new Date(0);return d.setFullYear(u.getUTCFullYear(),u.getUTCMonth(),u.getUTCDate()),d.setHours(u.getUTCHours(),u.getUTCMinutes(),u.getUTCSeconds(),u.getUTCMilliseconds()),d}return new Date(a+o+l)}const patterns={dateTimeDelimiter:/[T ]/,timeZoneDelimiter:/[Z ]/i,timezone:/([Z+-].*)$/},dateRegex=/^-?(?:(\d{3})|(\d{2})(?:-?(\d{2}))?|W(\d{2})(?:-?(\d{1}))?|)$/,timeRegex=/^(\d{2}(?:[.,]\d*)?)(?::?(\d{2}(?:[.,]\d*)?))?(?::?(\d{2}(?:[.,]\d*)?))?$/,timezoneRegex=/^([+-])(\d{2})(?::?(\d{2}))?$/;function splitDateString(n){const t={},e=n.split(patterns.dateTimeDelimiter);let i;if(e.length>2)return t;if(/:/.test(e[0])?i=e[0]:(t.date=e[0],i=e[1],patterns.timeZoneDelimiter.test(t.date)&&(t.date=n.split(patterns.timeZoneDelimiter)[0],i=n.substr(t.date.length,n.length))),i){const r=patterns.timezone.exec(i);r?(t.time=i.replace(r[1],""),t.timezone=r[1]):t.time=i}return t}function parseYear(n,t){const e=new RegExp("^(?:(\\d{4}|[+-]\\d{"+(4+t)+"})|(\\d{2}|[+-]\\d{"+(2+t)+"})$)"),i=n.match(e);if(!i)return{year:NaN,restDateString:""};const r=i[1]?parseInt(i[1]):null,a=i[2]?parseInt(i[2]):null;return{year:a===null?r:a*100,restDateString:n.slice((i[1]||i[2]).length)}}function parseDate(n,t){if(t===null)return new Date(NaN);const e=n.match(dateRegex);if(!e)return new Date(NaN);const i=!!e[4],r=parseDateUnit(e[1]),a=parseDateUnit(e[2])-1,o=parseDateUnit(e[3]),l=parseDateUnit(e[4]),u=parseDateUnit(e[5])-1;if(i)return validateWeekDate(t,l,u)?dayOfISOWeekYear(t,l,u):new Date(NaN);{const d=new Date(0);return!validateDate(t,a,o)||!validateDayOfYearDate(t,r)?new Date(NaN):(d.setUTCFullYear(t,a,Math.max(r,o)),d)}}function parseDateUnit(n){return n?parseInt(n):1}function parseTime(n){const t=n.match(timeRegex);if(!t)return NaN;const e=parseTimeUnit(t[1]),i=parseTimeUnit(t[2]),r=parseTimeUnit(t[3]);return validateTime(e,i,r)?e*millisecondsInHour+i*millisecondsInMinute+r*1e3:NaN}function parseTimeUnit(n){return n&&parseFloat(n.replace(",","."))||0}function parseTimezone(n){if(n==="Z")return 0;const t=n.match(timezoneRegex);if(!t)return 0;const e=t[1]==="+"?-1:1,i=parseInt(t[2]),r=t[3]&&parseInt(t[3])||0;return validateTimezone(i,r)?e*(i*millisecondsInHour+r*millisecondsInMinute):NaN}function dayOfISOWeekYear(n,t,e){const i=new Date(0);i.setUTCFullYear(n,0,4);const r=i.getUTCDay()||7,a=(t-1)*7+e+1-r;return i.setUTCDate(i.getUTCDate()+a),i}const daysInMonths=[31,null,31,30,31,30,31,31,30,31,30,31];function isLeapYearIndex(n){return n%400===0||n%4===0&&n%100!==0}function validateDate(n,t,e){return t>=0&&t<=11&&e>=1&&e<=(daysInMonths[t]||(isLeapYearIndex(n)?29:28))}function validateDayOfYearDate(n,t){return t>=1&&t<=(isLeapYearIndex(n)?366:365)}function validateWeekDate(n,t,e){return t>=1&&t<=53&&e>=0&&e<=6}function validateTime(n,t,e){return n===24?t===0&&e===0:e>=0&&e<60&&t>=0&&t<60&&n>=0&&n<25}function validateTimezone(n,t){return t>=0&&t<=59}function subMonths(n,t){return addMonths(n,-t)}const formatDistanceLocale$s={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}} години"}},formatDistance$t=(n,t,e)=>{let i;const r=formatDistanceLocale$s[n];return typeof r=="string"?i=r:t===1?i=r.one:i=r.other.replace("{{count}}",String(t)),e!=null&&e.addSuffix?e.comparison&&e.comparison>0?"след "+i:"преди "+i:i},dateFormats$u={full:"EEEE, dd MMMM yyyy",long:"dd MMMM yyyy",medium:"dd MMM yyyy",short:"dd/MM/yyyy"},timeFormats$u={full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"H:mm"},dateTimeFormats$u={any:"{{date}} {{time}}"},formatLong$u={date:buildFormatLongFn({formats:dateFormats$u,defaultWidth:"full"}),time:buildFormatLongFn({formats:timeFormats$u,defaultWidth:"full"}),dateTime:buildFormatLongFn({formats:dateTimeFormats$u,defaultWidth:"any"})},weekdays$1=["неделя","понеделник","вторник","сряда","четвъртък","петък","събота"];function lastWeek$4(n){const t=weekdays$1[n];switch(n){case 0:case 3:case 6:return"'миналата "+t+" в' p";case 1:case 2:case 4:case 5:return"'миналия "+t+" в' p"}}function thisWeek$4(n){const t=weekdays$1[n];return n===2?"'във "+t+" в' p":"'в "+t+" в' p"}function nextWeek$4(n){const t=weekdays$1[n];switch(n){case 0:case 3:case 6:return"'следващата "+t+" в' p";case 1:case 2:case 4:case 5:return"'следващия "+t+" в' p"}}const lastWeekFormatToken=(n,t,e)=>{const i=toDate(n),r=i.getDay();return isSameWeek(i,t,e)?thisWeek$4(r):lastWeek$4(r)},nextWeekFormatToken=(n,t,e)=>{const i=toDate(n),r=i.getDay();return isSameWeek(i,t,e)?thisWeek$4(r):nextWeek$4(r)},formatRelativeLocale$t={lastWeek:lastWeekFormatToken,yesterday:"'вчера в' p",today:"'днес в' p",tomorrow:"'утре в' p",nextWeek:nextWeekFormatToken,other:"P"},formatRelative$t=(n,t,e,i)=>{const r=formatRelativeLocale$t[n];return typeof r=="function"?r(t,e,i):r},eraValues$t={narrow:["пр.н.е.","н.е."],abbreviated:["преди н. е.","н. е."],wide:["преди новата ера","новата ера"]},quarterValues$t={narrow:["1","2","3","4"],abbreviated:["1-во тримес.","2-ро тримес.","3-то тримес.","4-то тримес."],wide:["1-во тримесечие","2-ро тримесечие","3-то тримесечие","4-то тримесечие"]},monthValues$t={abbreviated:["яну","фев","мар","апр","май","юни","юли","авг","сеп","окт","ное","дек"],wide:["януари","февруари","март","април","май","юни","юли","август","септември","октомври","ноември","декември"]},dayValues$t={narrow:["Н","П","В","С","Ч","П","С"],short:["нд","пн","вт","ср","чт","пт","сб"],abbreviated:["нед","пон","вто","сря","чет","пет","съб"],wide:["неделя","понеделник","вторник","сряда","четвъртък","петък","събота"]},dayPeriodValues$t={wide:{am:"преди обяд",pm:"след обяд",midnight:"в полунощ",noon:"на обяд",morning:"сутринта",afternoon:"следобед",evening:"вечерта",night:"през нощта"}};function isFeminine(n){return n==="year"||n==="week"||n==="minute"||n==="second"}function isNeuter(n){return n==="quarter"}function numberWithSuffix(n,t,e,i,r){const a=isNeuter(t)?r:isFeminine(t)?i:e;return n+"-"+a}const ordinalNumber$t=(n,t)=>{const e=Number(n),i=t==null?void 0:t.unit;if(e===0)return numberWithSuffix(0,i,"ев","ева","ево");if(e%1e3===0)return numberWithSuffix(e,i,"ен","на","но");if(e%100===0)return numberWithSuffix(e,i,"тен","тна","тно");const r=e%100;if(r>20||r<10)switch(r%10){case 1:return numberWithSuffix(e,i,"ви","ва","во");case 2:return numberWithSuffix(e,i,"ри","ра","ро");case 7:case 8:return numberWithSuffix(e,i,"ми","ма","мо")}return numberWithSuffix(e,i,"ти","та","то")},localize$t={ordinalNumber:ordinalNumber$t,era:buildLocalizeFn({values:eraValues$t,defaultWidth:"wide"}),quarter:buildLocalizeFn({values:quarterValues$t,defaultWidth:"wide",argumentCallback:n=>n-1}),month:buildLocalizeFn({values:monthValues$t,defaultWidth:"wide"}),day:buildLocalizeFn({values:dayValues$t,defaultWidth:"wide"}),dayPeriod:buildLocalizeFn({values:dayPeriodValues$t,defaultWidth:"wide"})},matchOrdinalNumberPattern$t=/^(\d+)(-?[врмт][аи]|-?т?(ен|на)|-?(ев|ева))?/i,parseOrdinalNumberPattern$t=/\d+/i,matchEraPatterns$t={narrow:/^((пр)?н\.?\s?е\.?)/i,abbreviated:/^((пр)?н\.?\s?е\.?)/i,wide:/^(преди новата ера|новата ера|нова ера)/i},parseEraPatterns$t={any:[/^п/i,/^н/i]},matchQuarterPatterns$t={narrow:/^[1234]/i,abbreviated:/^[1234](-?[врт]?o?)? тримес.?/i,wide:/^[1234](-?[врт]?о?)? тримесечие/i},parseQuarterPatterns$t={any:[/1/i,/2/i,/3/i,/4/i]},matchDayPatterns$t={narrow:/^[нпвсч]/i,short:/^(нд|пн|вт|ср|чт|пт|сб)/i,abbreviated:/^(нед|пон|вто|сря|чет|пет|съб)/i,wide:/^(неделя|понеделник|вторник|сряда|четвъртък|петък|събота)/i},parseDayPatterns$t={narrow:[/^н/i,/^п/i,/^в/i,/^с/i,/^ч/i,/^п/i,/^с/i],any:[/^н[ед]/i,/^п[он]/i,/^вт/i,/^ср/i,/^ч[ет]/i,/^п[ет]/i,/^с[ъб]/i]},matchMonthPatterns$t={abbreviated:/^(яну|фев|мар|апр|май|юни|юли|авг|сеп|окт|ное|дек)/i,wide:/^(януари|февруари|март|април|май|юни|юли|август|септември|октомври|ноември|декември)/i},parseMonthPatterns$t={any:[/^я/i,/^ф/i,/^мар/i,/^ап/i,/^май/i,/^юн/i,/^юл/i,/^ав/i,/^се/i,/^окт/i,/^но/i,/^де/i]},matchDayPeriodPatterns$t={any:/^(преди о|след о|в по|на о|през|веч|сут|следо)/i},parseDayPeriodPatterns$t={any:{am:/^преди о/i,pm:/^след о/i,midnight:/^в пол/i,noon:/^на об/i,morning:/^сут/i,afternoon:/^следо/i,evening:/^веч/i,night:/^през н/i}},match$t={ordinalNumber:buildMatchPatternFn({matchPattern:matchOrdinalNumberPattern$t,parsePattern:parseOrdinalNumberPattern$t,valueCallback:n=>parseInt(n,10)}),era:buildMatchFn({matchPatterns:matchEraPatterns$t,defaultMatchWidth:"wide",parsePatterns:parseEraPatterns$t,defaultParseWidth:"any"}),quarter:buildMatchFn({matchPatterns:matchQuarterPatterns$t,defaultMatchWidth:"wide",parsePatterns:parseQuarterPatterns$t,defaultParseWidth:"any",valueCallback:n=>n+1}),month:buildMatchFn({matchPatterns:matchMonthPatterns$t,defaultMatchWidth:"wide",parsePatterns:parseMonthPatterns$t,defaultParseWidth:"any"}),day:buildMatchFn({matchPatterns:matchDayPatterns$t,defaultMatchWidth:"wide",parsePatterns:parseDayPatterns$t,defaultParseWidth:"any"}),dayPeriod:buildMatchFn({matchPatterns:matchDayPeriodPatterns$t,defaultMatchWidth:"any",parsePatterns:parseDayPeriodPatterns$t,defaultParseWidth:"any"})},bg={code:"bg",formatDistance:formatDistance$t,formatLong:formatLong$u,formatRelative:formatRelative$t,localize:localize$t,match:match$t,options:{weekStartsOn:1,firstWeekContainsDate:1}},formatDistanceLocale$r={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"}},formatDistance$s=(n,t,e)=>{let i;const r=formatDistanceLocale$r[n];return typeof r=="string"?i=r:t===1?i=r.one:t===11&&r.eleven?i=r.eleven:i=r.other.replace("{{count}}",String(t)),e!=null&&e.addSuffix?e.comparison&&e.comparison>0?"en "+i:"fa "+i:i},dateFormats$t={full:"EEEE, d 'de' MMMM y",long:"d 'de' MMMM y",medium:"d MMM y",short:"dd/MM/y"},timeFormats$t={full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},dateTimeFormats$t={full:"{{date}} 'a les' {{time}}",long:"{{date}} 'a les' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},formatLong$t={date:buildFormatLongFn({formats:dateFormats$t,defaultWidth:"full"}),time:buildFormatLongFn({formats:timeFormats$t,defaultWidth:"full"}),dateTime:buildFormatLongFn({formats:dateTimeFormats$t,defaultWidth:"full"})},formatRelativeLocale$s={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"},formatRelativeLocalePlural$1={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"},formatRelative$s=(n,t,e,i)=>t.getHours()!==1?formatRelativeLocalePlural$1[n]:formatRelativeLocale$s[n],eraValues$s={narrow:["aC","dC"],abbreviated:["a. de C.","d. de C."],wide:["abans de Crist","després de Crist"]},quarterValues$s={narrow:["1","2","3","4"],abbreviated:["T1","T2","T3","T4"],wide:["1r trimestre","2n trimestre","3r trimestre","4t trimestre"]},monthValues$s={narrow:["GN","FB","MÇ","AB","MG","JN","JL","AG","ST","OC","NV","DS"],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"]},dayValues$s={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"]},dayPeriodValues$s={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"}},formattingDayPeriodValues$k={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"}},ordinalNumber$s=(n,t)=>{const e=Number(n),i=e%100;if(i>20||i<10)switch(i%10){case 1:return e+"r";case 2:return e+"n";case 3:return e+"r";case 4:return e+"t"}return e+"è"},localize$s={ordinalNumber:ordinalNumber$s,era:buildLocalizeFn({values:eraValues$s,defaultWidth:"wide"}),quarter:buildLocalizeFn({values:quarterValues$s,defaultWidth:"wide",argumentCallback:n=>n-1}),month:buildLocalizeFn({values:monthValues$s,defaultWidth:"wide"}),day:buildLocalizeFn({values:dayValues$s,defaultWidth:"wide"}),dayPeriod:buildLocalizeFn({values:dayPeriodValues$s,defaultWidth:"wide",formattingValues:formattingDayPeriodValues$k,defaultFormattingWidth:"wide"})},matchOrdinalNumberPattern$s=/^(\d+)(è|r|n|r|t)?/i,parseOrdinalNumberPattern$s=/\d+/i,matchEraPatterns$s={narrow:/^(aC|dC)/i,abbreviated:/^(a. de C.|d. de C.)/i,wide:/^(abans de Crist|despr[eé]s de Crist)/i},parseEraPatterns$s={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]},matchQuarterPatterns$s={narrow:/^[1234]/i,abbreviated:/^T[1234]/i,wide:/^[1234](è|r|n|r|t)? trimestre/i},parseQuarterPatterns$s={any:[/1/i,/2/i,/3/i,/4/i]},matchMonthPatterns$s={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},parseMonthPatterns$s={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]},matchDayPatterns$s={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},parseDayPatterns$s={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]},matchDayPeriodPatterns$s={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},parseDayPeriodPatterns$s={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}},match$s={ordinalNumber:buildMatchPatternFn({matchPattern:matchOrdinalNumberPattern$s,parsePattern:parseOrdinalNumberPattern$s,valueCallback:n=>parseInt(n,10)}),era:buildMatchFn({matchPatterns:matchEraPatterns$s,defaultMatchWidth:"wide",parsePatterns:parseEraPatterns$s,defaultParseWidth:"wide"}),quarter:buildMatchFn({matchPatterns:matchQuarterPatterns$s,defaultMatchWidth:"wide",parsePatterns:parseQuarterPatterns$s,defaultParseWidth:"any",valueCallback:n=>n+1}),month:buildMatchFn({matchPatterns:matchMonthPatterns$s,defaultMatchWidth:"wide",parsePatterns:parseMonthPatterns$s,defaultParseWidth:"wide"}),day:buildMatchFn({matchPatterns:matchDayPatterns$s,defaultMatchWidth:"wide",parsePatterns:parseDayPatterns$s,defaultParseWidth:"wide"}),dayPeriod:buildMatchFn({matchPatterns:matchDayPeriodPatterns$s,defaultMatchWidth:"wide",parsePatterns:parseDayPeriodPatterns$s,defaultParseWidth:"any"})},ca={code:"ca",formatDistance:formatDistance$s,formatLong:formatLong$t,formatRelative:formatRelative$s,localize:localize$s,match:match$s,options:{weekStartsOn:1,firstWeekContainsDate:4}},formatDistanceLocale$q={lessThanXSeconds:{one:{regular:"méně než sekunda",past:"před méně než sekundou",future:"za méně než 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:"sekunda",past:"před sekundou",future:"za 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ž minuta",past:"před méně než minutou",future:"za méně než 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:"minuta",past:"před minutou",future:"za 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ě hodina",past:"přibližně před hodinou",future:"přibližně za 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:"hodina",past:"před hodinou",future:"za 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:"den",past:"před dnem",future:"za 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ě týden",past:"přibližně před týdnem",future:"přibližně za 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:"týden",past:"před týdnem",future:"za 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ě měsíc",past:"přibližně před měsícem",future:"přibližně za 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:"měsíc",past:"před měsícem",future:"za 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ě rok",past:"přibližně před rokem",future:"přibližně za 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:"rok",past:"před rokem",future:"za 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ž rok",past:"před více než rokem",future:"za více než 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 rok",past:"skoro před rokem",future:"skoro za 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ů"}}},formatDistance$r=(n,t,e)=>{let i;const r=formatDistanceLocale$q[n];r.type==="other"?i=r.other:t===1?i=r.one:t>1&&t<5?i=r.few:i=r.many;const a=(e==null?void 0:e.addSuffix)===!0,o=e==null?void 0:e.comparison;let l;return a&&o===-1?l=i.past:a&&o===1?l=i.future:l=i.regular,l.replace("{{count}}",String(t))},dateFormats$s={full:"EEEE, d. MMMM yyyy",long:"d. MMMM yyyy",medium:"d. M. yyyy",short:"dd.MM.yyyy"},timeFormats$s={full:"H:mm:ss zzzz",long:"H:mm:ss z",medium:"H:mm:ss",short:"H:mm"},dateTimeFormats$s={full:"{{date}} 'v' {{time}}",long:"{{date}} 'v' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},formatLong$s={date:buildFormatLongFn({formats:dateFormats$s,defaultWidth:"full"}),time:buildFormatLongFn({formats:timeFormats$s,defaultWidth:"full"}),dateTime:buildFormatLongFn({formats:dateTimeFormats$s,defaultWidth:"full"})},accusativeWeekdays$4=["neděli","pondělí","úterý","středu","čtvrtek","pátek","sobotu"],formatRelativeLocale$r={lastWeek:"'poslední' eeee 've' p",yesterday:"'včera v' p",today:"'dnes v' p",tomorrow:"'zítra v' p",nextWeek:n=>{const t=n.getDay();return"'v "+accusativeWeekdays$4[t]+" o' p"},other:"P"},formatRelative$r=(n,t)=>{const e=formatRelativeLocale$r[n];return typeof e=="function"?e(t):e},eraValues$r={narrow:["př. n. l.","n. l."],abbreviated:["př. n. l.","n. l."],wide:["před naším letopočtem","našeho letopočtu"]},quarterValues$r={narrow:["1","2","3","4"],abbreviated:["1. čtvrtletí","2. čtvrtletí","3. čtvrtletí","4. čtvrtletí"],wide:["1. čtvrtletí","2. čtvrtletí","3. čtvrtletí","4. čtvrtletí"]},monthValues$r={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"]},formattingMonthValues$7={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"]},dayValues$r={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"]},dayPeriodValues$r={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"}},formattingDayPeriodValues$j={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"}},ordinalNumber$r=(n,t)=>Number(n)+".",localize$r={ordinalNumber:ordinalNumber$r,era:buildLocalizeFn({values:eraValues$r,defaultWidth:"wide"}),quarter:buildLocalizeFn({values:quarterValues$r,defaultWidth:"wide",argumentCallback:n=>n-1}),month:buildLocalizeFn({values:monthValues$r,defaultWidth:"wide",formattingValues:formattingMonthValues$7,defaultFormattingWidth:"wide"}),day:buildLocalizeFn({values:dayValues$r,defaultWidth:"wide"}),dayPeriod:buildLocalizeFn({values:dayPeriodValues$r,defaultWidth:"wide",formattingValues:formattingDayPeriodValues$j,defaultFormattingWidth:"wide"})},matchOrdinalNumberPattern$r=/^(\d+)\.?/i,parseOrdinalNumberPattern$r=/\d+/i,matchEraPatterns$r={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},parseEraPatterns$r={any:[/^p[řr]/i,/^(po|n)/i]},matchQuarterPatterns$r={narrow:/^[1234]/i,abbreviated:/^[1234]\. [čc]tvrtlet[íi]/i,wide:/^[1234]\. [čc]tvrtlet[íi]/i},parseQuarterPatterns$r={any:[/1/i,/2/i,/3/i,/4/i]},matchMonthPatterns$r={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},parseMonthPatterns$r={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]},matchDayPatterns$r={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},parseDayPatterns$r={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]},matchDayPeriodPatterns$r={any:/^dopoledne|dop\.?|odpoledne|odp\.?|p[ůu]lnoc|poledne|r[áa]no|odpoledne|ve[čc]er|(v )?noci?/i},parseDayPeriodPatterns$r={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}},match$r={ordinalNumber:buildMatchPatternFn({matchPattern:matchOrdinalNumberPattern$r,parsePattern:parseOrdinalNumberPattern$r,valueCallback:n=>parseInt(n,10)}),era:buildMatchFn({matchPatterns:matchEraPatterns$r,defaultMatchWidth:"wide",parsePatterns:parseEraPatterns$r,defaultParseWidth:"any"}),quarter:buildMatchFn({matchPatterns:matchQuarterPatterns$r,defaultMatchWidth:"wide",parsePatterns:parseQuarterPatterns$r,defaultParseWidth:"any",valueCallback:n=>n+1}),month:buildMatchFn({matchPatterns:matchMonthPatterns$r,defaultMatchWidth:"wide",parsePatterns:parseMonthPatterns$r,defaultParseWidth:"any"}),day:buildMatchFn({matchPatterns:matchDayPatterns$r,defaultMatchWidth:"wide",parsePatterns:parseDayPatterns$r,defaultParseWidth:"any"}),dayPeriod:buildMatchFn({matchPatterns:matchDayPeriodPatterns$r,defaultMatchWidth:"any",parsePatterns:parseDayPeriodPatterns$r,defaultParseWidth:"any"})},cs={code:"cs",formatDistance:formatDistance$r,formatLong:formatLong$s,formatRelative:formatRelative$r,localize:localize$r,match:match$r,options:{weekStartsOn:1,firstWeekContainsDate:4}},formatDistanceLocale$p={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"}},formatDistance$q=(n,t,e)=>{let i;const r=formatDistanceLocale$p[n];return typeof r=="string"?i=r:t===1?i=r.one:i=r.other.replace("{{count}}",String(t)),e!=null&&e.addSuffix?e.comparison&&e.comparison>0?"om "+i:i+" siden":i},dateFormats$r={full:"EEEE 'den' d. MMMM y",long:"d. MMMM y",medium:"d. MMM y",short:"dd/MM/y"},timeFormats$r={full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},dateTimeFormats$r={full:"{{date}} 'kl'. {{time}}",long:"{{date}} 'kl'. {{time}}",medium:"{{date}} {{time}}",short:"{{date}} {{time}}"},formatLong$r={date:buildFormatLongFn({formats:dateFormats$r,defaultWidth:"full"}),time:buildFormatLongFn({formats:timeFormats$r,defaultWidth:"full"}),dateTime:buildFormatLongFn({formats:dateTimeFormats$r,defaultWidth:"full"})},formatRelativeLocale$q={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"},formatRelative$q=(n,t,e,i)=>formatRelativeLocale$q[n],eraValues$q={narrow:["fvt","vt"],abbreviated:["f.v.t.","v.t."],wide:["før vesterlandsk tidsregning","vesterlandsk tidsregning"]},quarterValues$q={narrow:["1","2","3","4"],abbreviated:["1. kvt.","2. kvt.","3. kvt.","4. kvt."],wide:["1. kvartal","2. kvartal","3. kvartal","4. kvartal"]},monthValues$q={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"]},dayValues$q={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"]},dayPeriodValues$q={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"}},formattingDayPeriodValues$i={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"}},ordinalNumber$q=(n,t)=>Number(n)+".",localize$q={ordinalNumber:ordinalNumber$q,era:buildLocalizeFn({values:eraValues$q,defaultWidth:"wide"}),quarter:buildLocalizeFn({values:quarterValues$q,defaultWidth:"wide",argumentCallback:n=>n-1}),month:buildLocalizeFn({values:monthValues$q,defaultWidth:"wide"}),day:buildLocalizeFn({values:dayValues$q,defaultWidth:"wide"}),dayPeriod:buildLocalizeFn({values:dayPeriodValues$q,defaultWidth:"wide",formattingValues:formattingDayPeriodValues$i,defaultFormattingWidth:"wide"})},matchOrdinalNumberPattern$q=/^(\d+)(\.)?/i,parseOrdinalNumberPattern$q=/\d+/i,matchEraPatterns$q={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},parseEraPatterns$q={any:[/^f/i,/^(v|e)/i]},matchQuarterPatterns$q={narrow:/^[1234]/i,abbreviated:/^[1234]. kvt\./i,wide:/^[1234]\.? kvartal/i},parseQuarterPatterns$q={any:[/1/i,/2/i,/3/i,/4/i]},matchMonthPatterns$q={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},parseMonthPatterns$q={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]},matchDayPatterns$q={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},parseDayPatterns$q={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]},matchDayPeriodPatterns$q={narrow:/^(a|p|midnat|middag|(om) (morgenen|eftermiddagen|aftenen|natten))/i,any:/^([ap]\.?\s?m\.?|midnat|middag|(om) (morgenen|eftermiddagen|aftenen|natten))/i},parseDayPeriodPatterns$q={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}},match$q={ordinalNumber:buildMatchPatternFn({matchPattern:matchOrdinalNumberPattern$q,parsePattern:parseOrdinalNumberPattern$q,valueCallback:n=>parseInt(n,10)}),era:buildMatchFn({matchPatterns:matchEraPatterns$q,defaultMatchWidth:"wide",parsePatterns:parseEraPatterns$q,defaultParseWidth:"any"}),quarter:buildMatchFn({matchPatterns:matchQuarterPatterns$q,defaultMatchWidth:"wide",parsePatterns:parseQuarterPatterns$q,defaultParseWidth:"any",valueCallback:n=>n+1}),month:buildMatchFn({matchPatterns:matchMonthPatterns$q,defaultMatchWidth:"wide",parsePatterns:parseMonthPatterns$q,defaultParseWidth:"any"}),day:buildMatchFn({matchPatterns:matchDayPatterns$q,defaultMatchWidth:"wide",parsePatterns:parseDayPatterns$q,defaultParseWidth:"any"}),dayPeriod:buildMatchFn({matchPatterns:matchDayPeriodPatterns$q,defaultMatchWidth:"any",parsePatterns:parseDayPeriodPatterns$q,defaultParseWidth:"any"})},da={code:"da",formatDistance:formatDistance$q,formatLong:formatLong$r,formatRelative:formatRelative$q,localize:localize$q,match:match$q,options:{weekStartsOn:1,firstWeekContainsDate:4}},formatDistanceLocale$o={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:"halbe Minute",withPreposition:"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"}}},formatDistance$p=(n,t,e)=>{let i;const r=e!=null&&e.addSuffix?formatDistanceLocale$o[n].withPreposition:formatDistanceLocale$o[n].standalone;return typeof r=="string"?i=r:t===1?i=r.one:i=r.other.replace("{{count}}",String(t)),e!=null&&e.addSuffix?e.comparison&&e.comparison>0?"in "+i:"vor "+i:i},dateFormats$q={full:"EEEE, do MMMM y",long:"do MMMM y",medium:"do MMM y",short:"dd.MM.y"},timeFormats$q={full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},dateTimeFormats$q={full:"{{date}} 'um' {{time}}",long:"{{date}} 'um' {{time}}",medium:"{{date}} {{time}}",short:"{{date}} {{time}}"},formatLong$q={date:buildFormatLongFn({formats:dateFormats$q,defaultWidth:"full"}),time:buildFormatLongFn({formats:timeFormats$q,defaultWidth:"full"}),dateTime:buildFormatLongFn({formats:dateTimeFormats$q,defaultWidth:"full"})},formatRelativeLocale$p={lastWeek:"'letzten' eeee 'um' p",yesterday:"'gestern um' p",today:"'heute um' p",tomorrow:"'morgen um' p",nextWeek:"eeee 'um' p",other:"P"},formatRelative$p=(n,t,e,i)=>formatRelativeLocale$p[n],eraValues$p={narrow:["v.Chr.","n.Chr."],abbreviated:["v.Chr.","n.Chr."],wide:["vor Christus","nach Christus"]},quarterValues$p={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1. Quartal","2. Quartal","3. Quartal","4. Quartal"]},monthValues$p={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"]},formattingMonthValues$6={narrow:monthValues$p.narrow,abbreviated:["Jan.","Feb.","März","Apr.","Mai","Juni","Juli","Aug.","Sep.","Okt.","Nov.","Dez."],wide:monthValues$p.wide},dayValues$p={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"]},dayPeriodValues$p={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"}},formattingDayPeriodValues$h={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"}},ordinalNumber$p=n=>Number(n)+".",localize$p={ordinalNumber:ordinalNumber$p,era:buildLocalizeFn({values:eraValues$p,defaultWidth:"wide"}),quarter:buildLocalizeFn({values:quarterValues$p,defaultWidth:"wide",argumentCallback:n=>n-1}),month:buildLocalizeFn({values:monthValues$p,formattingValues:formattingMonthValues$6,defaultWidth:"wide"}),day:buildLocalizeFn({values:dayValues$p,defaultWidth:"wide"}),dayPeriod:buildLocalizeFn({values:dayPeriodValues$p,defaultWidth:"wide",formattingValues:formattingDayPeriodValues$h,defaultFormattingWidth:"wide"})},matchOrdinalNumberPattern$p=/^(\d+)(\.)?/i,parseOrdinalNumberPattern$p=/\d+/i,matchEraPatterns$p={narrow:/^(v\.? ?Chr\.?|n\.? ?Chr\.?)/i,abbreviated:/^(v\.? ?Chr\.?|n\.? ?Chr\.?)/i,wide:/^(vor Christus|vor unserer Zeitrechnung|nach Christus|unserer Zeitrechnung)/i},parseEraPatterns$p={any:[/^v/i,/^n/i]},matchQuarterPatterns$p={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](\.)? Quartal/i},parseQuarterPatterns$p={any:[/1/i,/2/i,/3/i,/4/i]},matchMonthPatterns$p={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},parseMonthPatterns$p={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]},matchDayPatterns$p={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},parseDayPatterns$p={any:[/^so/i,/^mo/i,/^di/i,/^mi/i,/^do/i,/^f/i,/^sa/i]},matchDayPeriodPatterns$p={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},parseDayPeriodPatterns$p={any:{am:/^v/i,pm:/^n/i,midnight:/^Mitte/i,noon:/^Mitta/i,morning:/morgens/i,afternoon:/nachmittags/i,evening:/abends/i,night:/nachts/i}},match$p={ordinalNumber:buildMatchPatternFn({matchPattern:matchOrdinalNumberPattern$p,parsePattern:parseOrdinalNumberPattern$p,valueCallback:n=>parseInt(n)}),era:buildMatchFn({matchPatterns:matchEraPatterns$p,defaultMatchWidth:"wide",parsePatterns:parseEraPatterns$p,defaultParseWidth:"any"}),quarter:buildMatchFn({matchPatterns:matchQuarterPatterns$p,defaultMatchWidth:"wide",parsePatterns:parseQuarterPatterns$p,defaultParseWidth:"any",valueCallback:n=>n+1}),month:buildMatchFn({matchPatterns:matchMonthPatterns$p,defaultMatchWidth:"wide",parsePatterns:parseMonthPatterns$p,defaultParseWidth:"any"}),day:buildMatchFn({matchPatterns:matchDayPatterns$p,defaultMatchWidth:"wide",parsePatterns:parseDayPatterns$p,defaultParseWidth:"any"}),dayPeriod:buildMatchFn({matchPatterns:matchDayPeriodPatterns$p,defaultMatchWidth:"wide",parsePatterns:parseDayPeriodPatterns$p,defaultParseWidth:"any"})},de={code:"de",formatDistance:formatDistance$p,formatLong:formatLong$q,formatRelative:formatRelative$p,localize:localize$p,match:match$p,options:{weekStartsOn:1,firstWeekContainsDate:4}},formatDistanceLocale$n={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}} χρόνια"}},formatDistance$o=(n,t,e)=>{let i;const r=formatDistanceLocale$n[n];return typeof r=="string"?i=r:t===1?i=r.one:i=r.other.replace("{{count}}",String(t)),e!=null&&e.addSuffix?e.comparison&&e.comparison>0?"σε "+i:i+" πριν":i},dateFormats$p={full:"EEEE, d MMMM y",long:"d MMMM y",medium:"d MMM y",short:"d/M/yy"},timeFormats$p={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},dateTimeFormats$p={full:"{{date}} - {{time}}",long:"{{date}} - {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},formatLong$p={date:buildFormatLongFn({formats:dateFormats$p,defaultWidth:"full"}),time:buildFormatLongFn({formats:timeFormats$p,defaultWidth:"full"}),dateTime:buildFormatLongFn({formats:dateTimeFormats$p,defaultWidth:"full"})},formatRelativeLocale$o={lastWeek:n=>{switch(n.getDay()){case 6:return"'το προηγούμενο' eeee 'στις' p";default:return"'την προηγούμενη' eeee 'στις' p"}},yesterday:"'χθες στις' p",today:"'σήμερα στις' p",tomorrow:"'αύριο στις' p",nextWeek:"eeee 'στις' p",other:"P"},formatRelative$o=(n,t)=>{const e=formatRelativeLocale$o[n];return typeof e=="function"?e(t):e},eraValues$o={narrow:["πΧ","μΧ"],abbreviated:["π.Χ.","μ.Χ."],wide:["προ Χριστού","μετά Χριστόν"]},quarterValues$o={narrow:["1","2","3","4"],abbreviated:["Τ1","Τ2","Τ3","Τ4"],wide:["1ο τρίμηνο","2ο τρίμηνο","3ο τρίμηνο","4ο τρίμηνο"]},monthValues$o={narrow:["Ι","Φ","Μ","Α","Μ","Ι","Ι","Α","Σ","Ο","Ν","Δ"],abbreviated:["Ιαν","Φεβ","Μάρ","Απρ","Μάι","Ιούν","Ιούλ","Αύγ","Σεπ","Οκτ","Νοέ","Δεκ"],wide:["Ιανουάριος","Φεβρουάριος","Μάρτιος","Απρίλιος","Μάιος","Ιούνιος","Ιούλιος","Αύγουστος","Σεπτέμβριος","Οκτώβριος","Νοέμβριος","Δεκέμβριος"]},formattingMonthValues$5={narrow:["Ι","Φ","Μ","Α","Μ","Ι","Ι","Α","Σ","Ο","Ν","Δ"],abbreviated:["Ιαν","Φεβ","Μαρ","Απρ","Μαΐ","Ιουν","Ιουλ","Αυγ","Σεπ","Οκτ","Νοε","Δεκ"],wide:["Ιανουαρίου","Φεβρουαρίου","Μαρτίου","Απριλίου","Μαΐου","Ιουνίου","Ιουλίου","Αυγούστου","Σεπτεμβρίου","Οκτωβρίου","Νοεμβρίου","Δεκεμβρίου"]},dayValues$o={narrow:["Κ","Δ","T","Τ","Π","Π","Σ"],short:["Κυ","Δε","Τρ","Τε","Πέ","Πα","Σά"],abbreviated:["Κυρ","Δευ","Τρί","Τετ","Πέμ","Παρ","Σάβ"],wide:["Κυριακή","Δευτέρα","Τρίτη","Τετάρτη","Πέμπτη","Παρασκευή","Σάββατο"]},dayPeriodValues$o={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:"νύχτα"}},ordinalNumber$o=(n,t)=>{const e=Number(n),i=t==null?void 0:t.unit;let r;return i==="year"||i==="month"?r="ος":i==="week"||i==="dayOfYear"||i==="day"||i==="hour"||i==="date"?r="η":r="ο",e+r},localize$o={ordinalNumber:ordinalNumber$o,era:buildLocalizeFn({values:eraValues$o,defaultWidth:"wide"}),quarter:buildLocalizeFn({values:quarterValues$o,defaultWidth:"wide",argumentCallback:n=>n-1}),month:buildLocalizeFn({values:monthValues$o,defaultWidth:"wide",formattingValues:formattingMonthValues$5,defaultFormattingWidth:"wide"}),day:buildLocalizeFn({values:dayValues$o,defaultWidth:"wide"}),dayPeriod:buildLocalizeFn({values:dayPeriodValues$o,defaultWidth:"wide"})},matchOrdinalNumberPattern$o=/^(\d+)(ος|η|ο)?/i,parseOrdinalNumberPattern$o=/\d+/i,matchEraPatterns$o={narrow:/^(πΧ|μΧ)/i,abbreviated:/^(π\.?\s?χ\.?|π\.?\s?κ\.?\s?χ\.?|μ\.?\s?χ\.?|κ\.?\s?χ\.?)/i,wide:/^(προ Χριστο(ύ|υ)|πριν απ(ό|ο) την Κοιν(ή|η) Χρονολογ(ί|ι)α|μετ(ά|α) Χριστ(ό|ο)ν|Κοιν(ή|η) Χρονολογ(ί|ι)α)/i},parseEraPatterns$o={any:[/^π/i,/^(μ|κ)/i]},matchQuarterPatterns$o={narrow:/^[1234]/i,abbreviated:/^τ[1234]/i,wide:/^[1234]ο? τρ(ί|ι)μηνο/i},parseQuarterPatterns$o={any:[/1/i,/2/i,/3/i,/4/i]},matchMonthPatterns$o={narrow:/^[ιφμαμιιασονδ]/i,abbreviated:/^(ιαν|φεβ|μ[άα]ρ|απρ|μ[άα][ιΐ]|ιο[ύυ]ν|ιο[ύυ]λ|α[ύυ]γ|σεπ|οκτ|νο[έε]|δεκ)/i,wide:/^(μ[άα][ιΐ]|α[ύυ]γο[υύ]στ)(ος|ου)|(ιανου[άα]ρ|φεβρου[άα]ρ|μ[άα]ρτ|απρ[ίι]λ|ιο[ύυ]ν|ιο[ύυ]λ|σεπτ[έε]μβρ|οκτ[ώω]βρ|νο[έε]μβρ|δεκ[έε]μβρ)(ιος|ίου)/i},parseMonthPatterns$o={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]},matchDayPatterns$o={narrow:/^[κδτπσ]/i,short:/^(κυ|δε|τρ|τε|π[εέ]|π[αά]|σ[αά])/i,abbreviated:/^(κυρ|δευ|τρι|τετ|πεμ|παρ|σαβ)/i,wide:/^(κυριακ(ή|η)|δευτ(έ|ε)ρα|τρ(ί|ι)τη|τετ(ά|α)ρτη|π(έ|ε)μπτη|παρασκευ(ή|η)|σ(ά|α)ββατο)/i},parseDayPatterns$o={narrow:[/^κ/i,/^δ/i,/^τ/i,/^τ/i,/^π/i,/^π/i,/^σ/i],any:[/^κ/i,/^δ/i,/^τρ/i,/^τε/i,/^π[εέ]/i,/^π[αά]/i,/^σ/i]},matchDayPeriodPatterns$o={narrow:/^(πμ|μμ|μεσ(ά|α)νυχτα|μεσημ(έ|ε)ρι|πρω(ί|ι)|απ(ό|ο)γευμα|βρ(ά|α)δυ|ν(ύ|υ)χτα)/i,any:/^([πμ]\.?\s?μ\.?|μεσ(ά|α)νυχτα|μεσημ(έ|ε)ρι|πρω(ί|ι)|απ(ό|ο)γευμα|βρ(ά|α)δυ|ν(ύ|υ)χτα)/i},parseDayPeriodPatterns$o={any:{am:/^πμ|π\.\s?μ\./i,pm:/^μμ|μ\.\s?μ\./i,midnight:/^μεσάν/i,noon:/^μεσημ(έ|ε)/i,morning:/πρω(ί|ι)/i,afternoon:/απ(ό|ο)γευμα/i,evening:/βρ(ά|α)δυ/i,night:/ν(ύ|υ)χτα/i}},match$o={ordinalNumber:buildMatchPatternFn({matchPattern:matchOrdinalNumberPattern$o,parsePattern:parseOrdinalNumberPattern$o,valueCallback:n=>parseInt(n,10)}),era:buildMatchFn({matchPatterns:matchEraPatterns$o,defaultMatchWidth:"wide",parsePatterns:parseEraPatterns$o,defaultParseWidth:"any"}),quarter:buildMatchFn({matchPatterns:matchQuarterPatterns$o,defaultMatchWidth:"wide",parsePatterns:parseQuarterPatterns$o,defaultParseWidth:"any",valueCallback:n=>n+1}),month:buildMatchFn({matchPatterns:matchMonthPatterns$o,defaultMatchWidth:"wide",parsePatterns:parseMonthPatterns$o,defaultParseWidth:"any"}),day:buildMatchFn({matchPatterns:matchDayPatterns$o,defaultMatchWidth:"wide",parsePatterns:parseDayPatterns$o,defaultParseWidth:"any"}),dayPeriod:buildMatchFn({matchPatterns:matchDayPeriodPatterns$o,defaultMatchWidth:"any",parsePatterns:parseDayPeriodPatterns$o,defaultParseWidth:"any"})},el={code:"el",formatDistance:formatDistance$o,formatLong:formatLong$p,formatRelative:formatRelative$o,localize:localize$o,match:match$o,options:{weekStartsOn:1,firstWeekContainsDate:4}},dateFormats$o={full:"EEEE, d MMMM yyyy",long:"d MMMM yyyy",medium:"d MMM yyyy",short:"dd/MM/yyyy"},timeFormats$o={full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},dateTimeFormats$o={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},formatLong$o={date:buildFormatLongFn({formats:dateFormats$o,defaultWidth:"full"}),time:buildFormatLongFn({formats:timeFormats$o,defaultWidth:"full"}),dateTime:buildFormatLongFn({formats:dateTimeFormats$o,defaultWidth:"full"})},enGB={code:"en-GB",formatDistance:formatDistance$u,formatLong:formatLong$o,formatRelative:formatRelative$u,localize:localize$u,match:match$u,options:{weekStartsOn:1,firstWeekContainsDate:4}},formatDistanceLocale$m={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"}},formatDistance$n=(n,t,e)=>{let i;const r=formatDistanceLocale$m[n];return typeof r=="string"?i=r:t===1?i=r.one:i=r.other.replace("{{count}}",t.toString()),e!=null&&e.addSuffix?e.comparison&&e.comparison>0?"en "+i:"hace "+i:i},dateFormats$n={full:"EEEE, d 'de' MMMM 'de' y",long:"d 'de' MMMM 'de' y",medium:"d MMM y",short:"dd/MM/y"},timeFormats$n={full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},dateTimeFormats$n={full:"{{date}} 'a las' {{time}}",long:"{{date}} 'a las' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},formatLong$n={date:buildFormatLongFn({formats:dateFormats$n,defaultWidth:"full"}),time:buildFormatLongFn({formats:timeFormats$n,defaultWidth:"full"}),dateTime:buildFormatLongFn({formats:dateTimeFormats$n,defaultWidth:"full"})},formatRelativeLocale$n={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"},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"},formatRelative$n=(n,t,e,i)=>t.getHours()!==1?formatRelativeLocalePlural[n]:formatRelativeLocale$n[n],eraValues$n={narrow:["AC","DC"],abbreviated:["AC","DC"],wide:["antes de cristo","después de cristo"]},quarterValues$n={narrow:["1","2","3","4"],abbreviated:["T1","T2","T3","T4"],wide:["1º trimestre","2º trimestre","3º trimestre","4º trimestre"]},monthValues$n={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"]},dayValues$n={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"]},dayPeriodValues$n={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"}},formattingDayPeriodValues$g={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"}},ordinalNumber$n=(n,t)=>Number(n)+"º",localize$n={ordinalNumber:ordinalNumber$n,era:buildLocalizeFn({values:eraValues$n,defaultWidth:"wide"}),quarter:buildLocalizeFn({values:quarterValues$n,defaultWidth:"wide",argumentCallback:n=>Number(n)-1}),month:buildLocalizeFn({values:monthValues$n,defaultWidth:"wide"}),day:buildLocalizeFn({values:dayValues$n,defaultWidth:"wide"}),dayPeriod:buildLocalizeFn({values:dayPeriodValues$n,defaultWidth:"wide",formattingValues:formattingDayPeriodValues$g,defaultFormattingWidth:"wide"})},matchOrdinalNumberPattern$n=/^(\d+)(º)?/i,parseOrdinalNumberPattern$n=/\d+/i,matchEraPatterns$n={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},parseEraPatterns$n={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]},matchQuarterPatterns$n={narrow:/^[1234]/i,abbreviated:/^T[1234]/i,wide:/^[1234](º)? trimestre/i},parseQuarterPatterns$n={any:[/1/i,/2/i,/3/i,/4/i]},matchMonthPatterns$n={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},parseMonthPatterns$n={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]},matchDayPatterns$n={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},parseDayPatterns$n={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]},matchDayPeriodPatterns$n={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},parseDayPeriodPatterns$n={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}},match$n={ordinalNumber:buildMatchPatternFn({matchPattern:matchOrdinalNumberPattern$n,parsePattern:parseOrdinalNumberPattern$n,valueCallback:function(n){return parseInt(n,10)}}),era:buildMatchFn({matchPatterns:matchEraPatterns$n,defaultMatchWidth:"wide",parsePatterns:parseEraPatterns$n,defaultParseWidth:"any"}),quarter:buildMatchFn({matchPatterns:matchQuarterPatterns$n,defaultMatchWidth:"wide",parsePatterns:parseQuarterPatterns$n,defaultParseWidth:"any",valueCallback:n=>n+1}),month:buildMatchFn({matchPatterns:matchMonthPatterns$n,defaultMatchWidth:"wide",parsePatterns:parseMonthPatterns$n,defaultParseWidth:"any"}),day:buildMatchFn({matchPatterns:matchDayPatterns$n,defaultMatchWidth:"wide",parsePatterns:parseDayPatterns$n,defaultParseWidth:"any"}),dayPeriod:buildMatchFn({matchPatterns:matchDayPeriodPatterns$n,defaultMatchWidth:"any",parsePatterns:parseDayPeriodPatterns$n,defaultParseWidth:"any"})},es={code:"es",formatDistance:formatDistance$n,formatLong:formatLong$n,formatRelative:formatRelative$n,localize:localize$n,match:match$n,options:{weekStartsOn:1,firstWeekContainsDate:1}};function futureSeconds(n){return n.replace(/sekuntia?/,"sekunnin")}function futureMinutes(n){return n.replace(/minuuttia?/,"minuutin")}function futureHours(n){return n.replace(/tuntia?/,"tunnin")}function futureDays(n){return n.replace(/päivää?/,"päivän")}function futureWeeks(n){return n.replace(/(viikko|viikkoa)/,"viikon")}function futureMonths(n){return n.replace(/(kuukausi|kuukautta)/,"kuukauden")}function futureYears(n){return n.replace(/(vuosi|vuotta)/,"vuoden")}const formatDistanceLocale$l={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:n=>"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}},formatDistance$m=(n,t,e)=>{const i=formatDistanceLocale$l[n],r=t===1?i.one:i.other.replace("{{count}}",String(t));return e!=null&&e.addSuffix?e.comparison&&e.comparison>0?i.futureTense(r)+" kuluttua":r+" sitten":r},dateFormats$m={full:"eeee d. MMMM y",long:"d. MMMM y",medium:"d. MMM y",short:"d.M.y"},timeFormats$m={full:"HH.mm.ss zzzz",long:"HH.mm.ss z",medium:"HH.mm.ss",short:"HH.mm"},dateTimeFormats$m={full:"{{date}} 'klo' {{time}}",long:"{{date}} 'klo' {{time}}",medium:"{{date}} {{time}}",short:"{{date}} {{time}}"},formatLong$m={date:buildFormatLongFn({formats:dateFormats$m,defaultWidth:"full"}),time:buildFormatLongFn({formats:timeFormats$m,defaultWidth:"full"}),dateTime:buildFormatLongFn({formats:dateTimeFormats$m,defaultWidth:"full"})},formatRelativeLocale$m={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"},formatRelative$m=(n,t,e,i)=>formatRelativeLocale$m[n],eraValues$m={narrow:["eaa.","jaa."],abbreviated:["eaa.","jaa."],wide:["ennen ajanlaskun alkua","jälkeen ajanlaskun alun"]},quarterValues$m={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1. kvartaali","2. kvartaali","3. kvartaali","4. kvartaali"]},monthValues$m={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"]},formattingMonthValues$4={narrow:monthValues$m.narrow,abbreviated:monthValues$m.abbreviated,wide:["tammikuuta","helmikuuta","maaliskuuta","huhtikuuta","toukokuuta","kesäkuuta","heinäkuuta","elokuuta","syyskuuta","lokakuuta","marraskuuta","joulukuuta"]},dayValues$m={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"]},formattingDayValues={narrow:dayValues$m.narrow,short:dayValues$m.short,abbreviated:dayValues$m.abbreviated,wide:["sunnuntaina","maanantaina","tiistaina","keskiviikkona","torstaina","perjantaina","lauantaina"]},dayPeriodValues$m={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ä"}},ordinalNumber$m=(n,t)=>Number(n)+".",localize$m={ordinalNumber:ordinalNumber$m,era:buildLocalizeFn({values:eraValues$m,defaultWidth:"wide"}),quarter:buildLocalizeFn({values:quarterValues$m,defaultWidth:"wide",argumentCallback:n=>n-1}),month:buildLocalizeFn({values:monthValues$m,defaultWidth:"wide",formattingValues:formattingMonthValues$4,defaultFormattingWidth:"wide"}),day:buildLocalizeFn({values:dayValues$m,defaultWidth:"wide",formattingValues:formattingDayValues,defaultFormattingWidth:"wide"}),dayPeriod:buildLocalizeFn({values:dayPeriodValues$m,defaultWidth:"wide"})},matchOrdinalNumberPattern$m=/^(\d+)(\.)/i,parseOrdinalNumberPattern$m=/\d+/i,matchEraPatterns$m={narrow:/^(e|j)/i,abbreviated:/^(eaa.|jaa.)/i,wide:/^(ennen ajanlaskun alkua|jälkeen ajanlaskun alun)/i},parseEraPatterns$m={any:[/^e/i,/^j/i]},matchQuarterPatterns$m={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234]\.? kvartaali/i},parseQuarterPatterns$m={any:[/1/i,/2/i,/3/i,/4/i]},matchMonthPatterns$m={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},parseMonthPatterns$m={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]},matchDayPatterns$m={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},parseDayPatterns$m={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]},matchDayPeriodPatterns$m={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},parseDayPeriodPatterns$m={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}},match$m={ordinalNumber:buildMatchPatternFn({matchPattern:matchOrdinalNumberPattern$m,parsePattern:parseOrdinalNumberPattern$m,valueCallback:n=>parseInt(n,10)}),era:buildMatchFn({matchPatterns:matchEraPatterns$m,defaultMatchWidth:"wide",parsePatterns:parseEraPatterns$m,defaultParseWidth:"any"}),quarter:buildMatchFn({matchPatterns:matchQuarterPatterns$m,defaultMatchWidth:"wide",parsePatterns:parseQuarterPatterns$m,defaultParseWidth:"any",valueCallback:n=>n+1}),month:buildMatchFn({matchPatterns:matchMonthPatterns$m,defaultMatchWidth:"wide",parsePatterns:parseMonthPatterns$m,defaultParseWidth:"any"}),day:buildMatchFn({matchPatterns:matchDayPatterns$m,defaultMatchWidth:"wide",parsePatterns:parseDayPatterns$m,defaultParseWidth:"any"}),dayPeriod:buildMatchFn({matchPatterns:matchDayPeriodPatterns$m,defaultMatchWidth:"any",parsePatterns:parseDayPeriodPatterns$m,defaultParseWidth:"any"})},fi={code:"fi",formatDistance:formatDistance$m,formatLong:formatLong$m,formatRelative:formatRelative$m,localize:localize$m,match:match$m,options:{weekStartsOn:1,firstWeekContainsDate:4}},formatDistanceLocale$k={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"}},formatDistance$l=(n,t,e)=>{let i;const r=formatDistanceLocale$k[n];return typeof r=="string"?i=r:t===1?i=r.one:i=r.other.replace("{{count}}",String(t)),e!=null&&e.addSuffix?e.comparison&&e.comparison>0?"dans "+i:"il y a "+i:i},dateFormats$l={full:"EEEE d MMMM y",long:"d MMMM y",medium:"d MMM y",short:"dd/MM/y"},timeFormats$l={full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},dateTimeFormats$l={full:"{{date}} 'à' {{time}}",long:"{{date}} 'à' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},formatLong$l={date:buildFormatLongFn({formats:dateFormats$l,defaultWidth:"full"}),time:buildFormatLongFn({formats:timeFormats$l,defaultWidth:"full"}),dateTime:buildFormatLongFn({formats:dateTimeFormats$l,defaultWidth:"full"})},formatRelativeLocale$l={lastWeek:"eeee 'dernier à' p",yesterday:"'hier à' p",today:"'aujourd’hui à' p",tomorrow:"'demain à' p'",nextWeek:"eeee 'prochain à' p",other:"P"},formatRelative$l=(n,t,e,i)=>formatRelativeLocale$l[n],eraValues$l={narrow:["av. J.-C","ap. J.-C"],abbreviated:["av. J.-C","ap. J.-C"],wide:["avant Jésus-Christ","après Jésus-Christ"]},quarterValues$l={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"]},monthValues$l={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"]},dayValues$l={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"]},dayPeriodValues$l={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"}},ordinalNumber$l=(n,t)=>{const e=Number(n),i=t==null?void 0:t.unit;if(e===0)return"0";const r=["year","week","hour","minute","second"];let a;return e===1?a=i&&r.includes(i)?"ère":"er":a="ème",e+a},localize$l={ordinalNumber:ordinalNumber$l,era:buildLocalizeFn({values:eraValues$l,defaultWidth:"wide"}),quarter:buildLocalizeFn({values:quarterValues$l,defaultWidth:"wide",argumentCallback:n=>n-1}),month:buildLocalizeFn({values:monthValues$l,defaultWidth:"wide"}),day:buildLocalizeFn({values:dayValues$l,defaultWidth:"wide"}),dayPeriod:buildLocalizeFn({values:dayPeriodValues$l,defaultWidth:"wide"})},matchOrdinalNumberPattern$l=/^(\d+)(ième|ère|ème|er|e)?/i,parseOrdinalNumberPattern$l=/\d+/i,matchEraPatterns$l={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},parseEraPatterns$l={any:[/^av/i,/^ap/i]},matchQuarterPatterns$l={narrow:/^T?[1234]/i,abbreviated:/^[1234](er|ème|e)? trim\.?/i,wide:/^[1234](er|ème|e)? trimestre/i},parseQuarterPatterns$l={any:[/1/i,/2/i,/3/i,/4/i]},matchMonthPatterns$l={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},parseMonthPatterns$l={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]},matchDayPatterns$l={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},parseDayPatterns$l={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]},matchDayPeriodPatterns$l={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},parseDayPeriodPatterns$l={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}},match$l={ordinalNumber:buildMatchPatternFn({matchPattern:matchOrdinalNumberPattern$l,parsePattern:parseOrdinalNumberPattern$l,valueCallback:n=>parseInt(n)}),era:buildMatchFn({matchPatterns:matchEraPatterns$l,defaultMatchWidth:"wide",parsePatterns:parseEraPatterns$l,defaultParseWidth:"any"}),quarter:buildMatchFn({matchPatterns:matchQuarterPatterns$l,defaultMatchWidth:"wide",parsePatterns:parseQuarterPatterns$l,defaultParseWidth:"any",valueCallback:n=>n+1}),month:buildMatchFn({matchPatterns:matchMonthPatterns$l,defaultMatchWidth:"wide",parsePatterns:parseMonthPatterns$l,defaultParseWidth:"any"}),day:buildMatchFn({matchPatterns:matchDayPatterns$l,defaultMatchWidth:"wide",parsePatterns:parseDayPatterns$l,defaultParseWidth:"any"}),dayPeriod:buildMatchFn({matchPatterns:matchDayPeriodPatterns$l,defaultMatchWidth:"any",parsePatterns:parseDayPeriodPatterns$l,defaultParseWidth:"any"})},fr={code:"fr",formatDistance:formatDistance$l,formatLong:formatLong$l,formatRelative:formatRelative$l,localize:localize$l,match:match$l,options:{weekStartsOn:1,firstWeekContainsDate:4}},translations={about:"körülbelül",over:"több mint",almost:"majdnem",lessthan:"kevesebb mint"},withoutSuffixes={xseconds:" másodperc",halfaminute:"fél perc",xminutes:" perc",xhours:" óra",xdays:" nap",xweeks:" hét",xmonths:" hónap",xyears:" év"},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"}},formatDistance$k=(n,t,e)=>{const i=n.match(/about|over|almost|lessthan/i),r=i?n.replace(i[0],""):n,a=(e==null?void 0:e.addSuffix)===!0,o=r.toLowerCase(),l=(e==null?void 0:e.comparison)||0,u=a?withSuffixes[o][l]:withoutSuffixes[o];let d=o==="halfaminute"?u:t+u;if(i){const m=i[0].toLowerCase();d=translations[m]+" "+d}return d},dateFormats$k={full:"y. MMMM d., EEEE",long:"y. MMMM d.",medium:"y. MMM d.",short:"y. MM. dd."},timeFormats$k={full:"H:mm:ss zzzz",long:"H:mm:ss z",medium:"H:mm:ss",short:"H:mm"},dateTimeFormats$k={full:"{{date}} {{time}}",long:"{{date}} {{time}}",medium:"{{date}} {{time}}",short:"{{date}} {{time}}"},formatLong$k={date:buildFormatLongFn({formats:dateFormats$k,defaultWidth:"full"}),time:buildFormatLongFn({formats:timeFormats$k,defaultWidth:"full"}),dateTime:buildFormatLongFn({formats:dateTimeFormats$k,defaultWidth:"full"})},accusativeWeekdays$3=["vasárnap","hétfőn","kedden","szerdán","csütörtökön","pénteken","szombaton"];function week(n){return t=>{const e=accusativeWeekdays$3[t.getDay()];return`${n?"":"'múlt' "}'${e}' p'-kor'`}}const formatRelativeLocale$k={lastWeek:week(!1),yesterday:"'tegnap' p'-kor'",today:"'ma' p'-kor'",tomorrow:"'holnap' p'-kor'",nextWeek:week(!0),other:"P"},formatRelative$k=(n,t)=>{const e=formatRelativeLocale$k[n];return typeof e=="function"?e(t):e},eraValues$k={narrow:["ie.","isz."],abbreviated:["i. e.","i. sz."],wide:["Krisztus előtt","időszámításunk szerint"]},quarterValues$k={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"]},formattingQuarterValues$1={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"]},monthValues$k={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"]},dayValues$k={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"]},dayPeriodValues$k={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"}},ordinalNumber$k=(n,t)=>Number(n)+".",localize$k={ordinalNumber:ordinalNumber$k,era:buildLocalizeFn({values:eraValues$k,defaultWidth:"wide"}),quarter:buildLocalizeFn({values:quarterValues$k,defaultWidth:"wide",argumentCallback:n=>n-1,formattingValues:formattingQuarterValues$1,defaultFormattingWidth:"wide"}),month:buildLocalizeFn({values:monthValues$k,defaultWidth:"wide"}),day:buildLocalizeFn({values:dayValues$k,defaultWidth:"wide"}),dayPeriod:buildLocalizeFn({values:dayPeriodValues$k,defaultWidth:"wide"})},matchOrdinalNumberPattern$k=/^(\d+)\.?/i,parseOrdinalNumberPattern$k=/\d+/i,matchEraPatterns$k={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},parseEraPatterns$k={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]},matchQuarterPatterns$k={narrow:/^[1234]\.?/i,abbreviated:/^[1234]?\.?\s?n\.év/i,wide:/^([1234]|I|II|III|IV)?\.?\s?negyedév/i},parseQuarterPatterns$k={any:[/1|I$/i,/2|II$/i,/3|III/i,/4|IV/i]},matchMonthPatterns$k={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},parseMonthPatterns$k={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]},matchDayPatterns$k={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},parseDayPatterns$k={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]},matchDayPeriodPatterns$k={any:/^((de|du)\.?|éjfél|délután|dél|reggel|este|éjjel)/i},parseDayPeriodPatterns$k={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}},match$k={ordinalNumber:buildMatchPatternFn({matchPattern:matchOrdinalNumberPattern$k,parsePattern:parseOrdinalNumberPattern$k,valueCallback:n=>parseInt(n,10)}),era:buildMatchFn({matchPatterns:matchEraPatterns$k,defaultMatchWidth:"wide",parsePatterns:parseEraPatterns$k,defaultParseWidth:"any"}),quarter:buildMatchFn({matchPatterns:matchQuarterPatterns$k,defaultMatchWidth:"wide",parsePatterns:parseQuarterPatterns$k,defaultParseWidth:"any",valueCallback:n=>n+1}),month:buildMatchFn({matchPatterns:matchMonthPatterns$k,defaultMatchWidth:"wide",parsePatterns:parseMonthPatterns$k,defaultParseWidth:"any"}),day:buildMatchFn({matchPatterns:matchDayPatterns$k,defaultMatchWidth:"wide",parsePatterns:parseDayPatterns$k,defaultParseWidth:"any"}),dayPeriod:buildMatchFn({matchPatterns:matchDayPeriodPatterns$k,defaultMatchWidth:"any",parsePatterns:parseDayPeriodPatterns$k,defaultParseWidth:"any"})},hu={code:"hu",formatDistance:formatDistance$k,formatLong:formatLong$k,formatRelative:formatRelative$k,localize:localize$k,match:match$k,options:{weekStartsOn:1,firstWeekContainsDate:4}},formatDistanceLocale$j={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"}},formatDistance$j=(n,t,e)=>{let i;const r=formatDistanceLocale$j[n];return typeof r=="string"?i=r:t===1?i=r.one:i=r.other.replace("{{count}}",t.toString()),e!=null&&e.addSuffix?e.comparison&&e.comparison>0?"dalam waktu "+i:i+" yang lalu":i},dateFormats$j={full:"EEEE, d MMMM yyyy",long:"d MMMM yyyy",medium:"d MMM yyyy",short:"d/M/yyyy"},timeFormats$j={full:"HH.mm.ss",long:"HH.mm.ss",medium:"HH.mm",short:"HH.mm"},dateTimeFormats$j={full:"{{date}} 'pukul' {{time}}",long:"{{date}} 'pukul' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},formatLong$j={date:buildFormatLongFn({formats:dateFormats$j,defaultWidth:"full"}),time:buildFormatLongFn({formats:timeFormats$j,defaultWidth:"full"}),dateTime:buildFormatLongFn({formats:dateTimeFormats$j,defaultWidth:"full"})},formatRelativeLocale$j={lastWeek:"eeee 'lalu pukul' p",yesterday:"'Kemarin pukul' p",today:"'Hari ini pukul' p",tomorrow:"'Besok pukul' p",nextWeek:"eeee 'pukul' p",other:"P"},formatRelative$j=(n,t,e,i)=>formatRelativeLocale$j[n],eraValues$j={narrow:["SM","M"],abbreviated:["SM","M"],wide:["Sebelum Masehi","Masehi"]},quarterValues$j={narrow:["1","2","3","4"],abbreviated:["K1","K2","K3","K4"],wide:["Kuartal ke-1","Kuartal ke-2","Kuartal ke-3","Kuartal ke-4"]},monthValues$j={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"]},dayValues$j={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"]},dayPeriodValues$j={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"}},formattingDayPeriodValues$f={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"}},ordinalNumber$j=(n,t)=>"ke-"+Number(n),localize$j={ordinalNumber:ordinalNumber$j,era:buildLocalizeFn({values:eraValues$j,defaultWidth:"wide"}),quarter:buildLocalizeFn({values:quarterValues$j,defaultWidth:"wide",argumentCallback:n=>n-1}),month:buildLocalizeFn({values:monthValues$j,defaultWidth:"wide"}),day:buildLocalizeFn({values:dayValues$j,defaultWidth:"wide"}),dayPeriod:buildLocalizeFn({values:dayPeriodValues$j,defaultWidth:"wide",formattingValues:formattingDayPeriodValues$f,defaultFormattingWidth:"wide"})},matchOrdinalNumberPattern$j=/^ke-(\d+)?/i,parseOrdinalNumberPattern$j=/\d+/i,matchEraPatterns$j={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},parseEraPatterns$j={any:[/^s/i,/^(m|e)/i]},matchQuarterPatterns$j={narrow:/^[1234]/i,abbreviated:/^K-?\s[1234]/i,wide:/^Kuartal ke-?\s?[1234]/i},parseQuarterPatterns$j={any:[/1/i,/2/i,/3/i,/4/i]},matchMonthPatterns$j={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},parseMonthPatterns$j={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]},matchDayPatterns$j={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},parseDayPatterns$j={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]},matchDayPeriodPatterns$j={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},parseDayPeriodPatterns$j={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}},match$j={ordinalNumber:buildMatchPatternFn({matchPattern:matchOrdinalNumberPattern$j,parsePattern:parseOrdinalNumberPattern$j,valueCallback:n=>parseInt(n,10)}),era:buildMatchFn({matchPatterns:matchEraPatterns$j,defaultMatchWidth:"wide",parsePatterns:parseEraPatterns$j,defaultParseWidth:"any"}),quarter:buildMatchFn({matchPatterns:matchQuarterPatterns$j,defaultMatchWidth:"wide",parsePatterns:parseQuarterPatterns$j,defaultParseWidth:"any",valueCallback:n=>n+1}),month:buildMatchFn({matchPatterns:matchMonthPatterns$j,defaultMatchWidth:"wide",parsePatterns:parseMonthPatterns$j,defaultParseWidth:"any"}),day:buildMatchFn({matchPatterns:matchDayPatterns$j,defaultMatchWidth:"wide",parsePatterns:parseDayPatterns$j,defaultParseWidth:"any"}),dayPeriod:buildMatchFn({matchPatterns:matchDayPeriodPatterns$j,defaultMatchWidth:"any",parsePatterns:parseDayPeriodPatterns$j,defaultParseWidth:"any"})},id={code:"id",formatDistance:formatDistance$j,formatLong:formatLong$j,formatRelative:formatRelative$j,localize:localize$j,match:match$j,options:{weekStartsOn:1,firstWeekContainsDate:1}},formatDistanceLocale$i={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"}},formatDistance$i=(n,t,e)=>{let i;const r=formatDistanceLocale$i[n];return typeof r=="string"?i=r:t===1?i=r.one:i=r.other.replace("{{count}}",t.toString()),e!=null&&e.addSuffix?e.comparison&&e.comparison>0?"tra "+i:i+" fa":i},dateFormats$i={full:"EEEE d MMMM y",long:"d MMMM y",medium:"d MMM y",short:"dd/MM/y"},timeFormats$i={full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},dateTimeFormats$i={full:"{{date}} {{time}}",long:"{{date}} {{time}}",medium:"{{date}} {{time}}",short:"{{date}} {{time}}"},formatLong$i={date:buildFormatLongFn({formats:dateFormats$i,defaultWidth:"full"}),time:buildFormatLongFn({formats:timeFormats$i,defaultWidth:"full"}),dateTime:buildFormatLongFn({formats:dateTimeFormats$i,defaultWidth:"full"})},weekdays=["domenica","lunedì","martedì","mercoledì","giovedì","venerdì","sabato"];function lastWeek$3(n){switch(n){case 0:return"'domenica scorsa alle' p";default:return"'"+weekdays[n]+" scorso alle' p"}}function thisWeek$3(n){return"'"+weekdays[n]+" alle' p"}function nextWeek$3(n){switch(n){case 0:return"'domenica prossima alle' p";default:return"'"+weekdays[n]+" prossimo alle' p"}}const formatRelativeLocale$i={lastWeek:(n,t,e)=>{const i=n.getDay();return isSameWeek(n,t,e)?thisWeek$3(i):lastWeek$3(i)},yesterday:"'ieri alle' p",today:"'oggi alle' p",tomorrow:"'domani alle' p",nextWeek:(n,t,e)=>{const i=n.getDay();return isSameWeek(n,t,e)?thisWeek$3(i):nextWeek$3(i)},other:"P"},formatRelative$i=(n,t,e,i)=>{const r=formatRelativeLocale$i[n];return typeof r=="function"?r(t,e,i):r},eraValues$i={narrow:["aC","dC"],abbreviated:["a.C.","d.C."],wide:["avanti Cristo","dopo Cristo"]},quarterValues$i={narrow:["1","2","3","4"],abbreviated:["T1","T2","T3","T4"],wide:["1º trimestre","2º trimestre","3º trimestre","4º trimestre"]},monthValues$i={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"]},dayValues$i={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"]},dayPeriodValues$i={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"}},formattingDayPeriodValues$e={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"}},ordinalNumber$i=(n,t)=>{const e=Number(n);return String(e)},localize$i={ordinalNumber:ordinalNumber$i,era:buildLocalizeFn({values:eraValues$i,defaultWidth:"wide"}),quarter:buildLocalizeFn({values:quarterValues$i,defaultWidth:"wide",argumentCallback:n=>n-1}),month:buildLocalizeFn({values:monthValues$i,defaultWidth:"wide"}),day:buildLocalizeFn({values:dayValues$i,defaultWidth:"wide"}),dayPeriod:buildLocalizeFn({values:dayPeriodValues$i,defaultWidth:"wide",formattingValues:formattingDayPeriodValues$e,defaultFormattingWidth:"wide"})},matchOrdinalNumberPattern$i=/^(\d+)(º)?/i,parseOrdinalNumberPattern$i=/\d+/i,matchEraPatterns$i={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},parseEraPatterns$i={any:[/^a/i,/^(d|e)/i]},matchQuarterPatterns$i={narrow:/^[1234]/i,abbreviated:/^t[1234]/i,wide:/^[1234](º)? trimestre/i},parseQuarterPatterns$i={any:[/1/i,/2/i,/3/i,/4/i]},matchMonthPatterns$i={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},parseMonthPatterns$i={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]},matchDayPatterns$i={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},parseDayPatterns$i={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]},matchDayPeriodPatterns$i={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},parseDayPeriodPatterns$i={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}},match$i={ordinalNumber:buildMatchPatternFn({matchPattern:matchOrdinalNumberPattern$i,parsePattern:parseOrdinalNumberPattern$i,valueCallback:n=>parseInt(n,10)}),era:buildMatchFn({matchPatterns:matchEraPatterns$i,defaultMatchWidth:"wide",parsePatterns:parseEraPatterns$i,defaultParseWidth:"any"}),quarter:buildMatchFn({matchPatterns:matchQuarterPatterns$i,defaultMatchWidth:"wide",parsePatterns:parseQuarterPatterns$i,defaultParseWidth:"any",valueCallback:n=>n+1}),month:buildMatchFn({matchPatterns:matchMonthPatterns$i,defaultMatchWidth:"wide",parsePatterns:parseMonthPatterns$i,defaultParseWidth:"any"}),day:buildMatchFn({matchPatterns:matchDayPatterns$i,defaultMatchWidth:"wide",parsePatterns:parseDayPatterns$i,defaultParseWidth:"any"}),dayPeriod:buildMatchFn({matchPatterns:matchDayPeriodPatterns$i,defaultMatchWidth:"any",parsePatterns:parseDayPeriodPatterns$i,defaultParseWidth:"any"})},it={code:"it",formatDistance:formatDistance$i,formatLong:formatLong$i,formatRelative:formatRelative$i,localize:localize$i,match:match$i,options:{weekStartsOn:1,firstWeekContainsDate:4}},formatDistanceLocale$h={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}}年近く"}},formatDistance$h=(n,t,e)=>{e=e||{};let i;const r=formatDistanceLocale$h[n];return typeof r=="string"?i=r:t===1?e.addSuffix&&r.oneWithSuffix?i=r.oneWithSuffix:i=r.one:e.addSuffix&&r.otherWithSuffix?i=r.otherWithSuffix.replace("{{count}}",String(t)):i=r.other.replace("{{count}}",String(t)),e.addSuffix?e.comparison&&e.comparison>0?i+"後":i+"前":i},dateFormats$h={full:"y年M月d日EEEE",long:"y年M月d日",medium:"y/MM/dd",short:"y/MM/dd"},timeFormats$h={full:"H時mm分ss秒 zzzz",long:"H:mm:ss z",medium:"H:mm:ss",short:"H:mm"},dateTimeFormats$h={full:"{{date}} {{time}}",long:"{{date}} {{time}}",medium:"{{date}} {{time}}",short:"{{date}} {{time}}"},formatLong$h={date:buildFormatLongFn({formats:dateFormats$h,defaultWidth:"full"}),time:buildFormatLongFn({formats:timeFormats$h,defaultWidth:"full"}),dateTime:buildFormatLongFn({formats:dateTimeFormats$h,defaultWidth:"full"})},formatRelativeLocale$h={lastWeek:"先週のeeeeのp",yesterday:"昨日のp",today:"今日のp",tomorrow:"明日のp",nextWeek:"翌週のeeeeのp",other:"P"},formatRelative$h=(n,t,e,i)=>formatRelativeLocale$h[n],eraValues$h={narrow:["BC","AC"],abbreviated:["紀元前","西暦"],wide:["紀元前","西暦"]},quarterValues$h={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["第1四半期","第2四半期","第3四半期","第4四半期"]},monthValues$h={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月"]},dayValues$h={narrow:["日","月","火","水","木","金","土"],short:["日","月","火","水","木","金","土"],abbreviated:["日","月","火","水","木","金","土"],wide:["日曜日","月曜日","火曜日","水曜日","木曜日","金曜日","土曜日"]},dayPeriodValues$h={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:"深夜"}},formattingDayPeriodValues$d={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:"深夜"}},ordinalNumber$h=(n,t)=>{const e=Number(n);switch(String(t==null?void 0:t.unit)){case"year":return`${e}年`;case"quarter":return`第${e}四半期`;case"month":return`${e}月`;case"week":return`第${e}週`;case"date":return`${e}日`;case"hour":return`${e}時`;case"minute":return`${e}分`;case"second":return`${e}秒`;default:return`${e}`}},localize$h={ordinalNumber:ordinalNumber$h,era:buildLocalizeFn({values:eraValues$h,defaultWidth:"wide"}),quarter:buildLocalizeFn({values:quarterValues$h,defaultWidth:"wide",argumentCallback:n=>Number(n)-1}),month:buildLocalizeFn({values:monthValues$h,defaultWidth:"wide"}),day:buildLocalizeFn({values:dayValues$h,defaultWidth:"wide"}),dayPeriod:buildLocalizeFn({values:dayPeriodValues$h,defaultWidth:"wide",formattingValues:formattingDayPeriodValues$d,defaultFormattingWidth:"wide"})},matchOrdinalNumberPattern$h=/^第?\d+(年|四半期|月|週|日|時|分|秒)?/i,parseOrdinalNumberPattern$h=/\d+/i,matchEraPatterns$h={narrow:/^(B\.?C\.?|A\.?D\.?)/i,abbreviated:/^(紀元[前後]|西暦)/i,wide:/^(紀元[前後]|西暦)/i},parseEraPatterns$h={narrow:[/^B/i,/^A/i],any:[/^(紀元前)/i,/^(西暦|紀元後)/i]},matchQuarterPatterns$h={narrow:/^[1234]/i,abbreviated:/^Q[1234]/i,wide:/^第[1234一二三四1234]四半期/i},parseQuarterPatterns$h={any:[/(1|一|1)/i,/(2|二|2)/i,/(3|三|3)/i,/(4|四|4)/i]},matchMonthPatterns$h={narrow:/^([123456789]|1[012])/,abbreviated:/^([123456789]|1[012])月/i,wide:/^([123456789]|1[012])月/i},parseMonthPatterns$h={any:[/^1\D/,/^2/,/^3/,/^4/,/^5/,/^6/,/^7/,/^8/,/^9/,/^10/,/^11/,/^12/]},matchDayPatterns$h={narrow:/^[日月火水木金土]/,short:/^[日月火水木金土]/,abbreviated:/^[日月火水木金土]/,wide:/^[日月火水木金土]曜日/},parseDayPatterns$h={any:[/^日/,/^月/,/^火/,/^水/,/^木/,/^金/,/^土/]},matchDayPeriodPatterns$h={any:/^(AM|PM|午前|午後|正午|深夜|真夜中|夜|朝)/i},parseDayPeriodPatterns$h={any:{am:/^(A|午前)/i,pm:/^(P|午後)/i,midnight:/^深夜|真夜中/i,noon:/^正午/i,morning:/^朝/i,afternoon:/^午後/i,evening:/^夜/i,night:/^深夜/i}},match$h={ordinalNumber:buildMatchPatternFn({matchPattern:matchOrdinalNumberPattern$h,parsePattern:parseOrdinalNumberPattern$h,valueCallback:function(n){return parseInt(n,10)}}),era:buildMatchFn({matchPatterns:matchEraPatterns$h,defaultMatchWidth:"wide",parsePatterns:parseEraPatterns$h,defaultParseWidth:"any"}),quarter:buildMatchFn({matchPatterns:matchQuarterPatterns$h,defaultMatchWidth:"wide",parsePatterns:parseQuarterPatterns$h,defaultParseWidth:"any",valueCallback:n=>n+1}),month:buildMatchFn({matchPatterns:matchMonthPatterns$h,defaultMatchWidth:"wide",parsePatterns:parseMonthPatterns$h,defaultParseWidth:"any"}),day:buildMatchFn({matchPatterns:matchDayPatterns$h,defaultMatchWidth:"wide",parsePatterns:parseDayPatterns$h,defaultParseWidth:"any"}),dayPeriod:buildMatchFn({matchPatterns:matchDayPeriodPatterns$h,defaultMatchWidth:"any",parsePatterns:parseDayPeriodPatterns$h,defaultParseWidth:"any"})},ja={code:"ja",formatDistance:formatDistance$h,formatLong:formatLong$h,formatRelative:formatRelative$h,localize:localize$h,match:match$h,options:{weekStartsOn:0,firstWeekContainsDate:1}},formatDistanceLocale$g={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}}년"}},formatDistance$g=(n,t,e)=>{let i;const r=formatDistanceLocale$g[n];return typeof r=="string"?i=r:t===1?i=r.one:i=r.other.replace("{{count}}",t.toString()),e!=null&&e.addSuffix?e.comparison&&e.comparison>0?i+" 후":i+" 전":i},dateFormats$g={full:"y년 M월 d일 EEEE",long:"y년 M월 d일",medium:"y.MM.dd",short:"y.MM.dd"},timeFormats$g={full:"a H시 mm분 ss초 zzzz",long:"a H:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},dateTimeFormats$g={full:"{{date}} {{time}}",long:"{{date}} {{time}}",medium:"{{date}} {{time}}",short:"{{date}} {{time}}"},formatLong$g={date:buildFormatLongFn({formats:dateFormats$g,defaultWidth:"full"}),time:buildFormatLongFn({formats:timeFormats$g,defaultWidth:"full"}),dateTime:buildFormatLongFn({formats:dateTimeFormats$g,defaultWidth:"full"})},formatRelativeLocale$g={lastWeek:"'지난' eeee p",yesterday:"'어제' p",today:"'오늘' p",tomorrow:"'내일' p",nextWeek:"'다음' eeee p",other:"P"},formatRelative$g=(n,t,e,i)=>formatRelativeLocale$g[n],eraValues$g={narrow:["BC","AD"],abbreviated:["BC","AD"],wide:["기원전","서기"]},quarterValues$g={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1분기","2분기","3분기","4분기"]},monthValues$g={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월"]},dayValues$g={narrow:["일","월","화","수","목","금","토"],short:["일","월","화","수","목","금","토"],abbreviated:["일","월","화","수","목","금","토"],wide:["일요일","월요일","화요일","수요일","목요일","금요일","토요일"]},dayPeriodValues$g={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:"밤"}},formattingDayPeriodValues$c={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:"밤"}},ordinalNumber$g=(n,t)=>{const e=Number(n);switch(String(t==null?void 0:t.unit)){case"minute":case"second":return String(e);case"date":return e+"일";default:return e+"번째"}},localize$g={ordinalNumber:ordinalNumber$g,era:buildLocalizeFn({values:eraValues$g,defaultWidth:"wide"}),quarter:buildLocalizeFn({values:quarterValues$g,defaultWidth:"wide",argumentCallback:n=>n-1}),month:buildLocalizeFn({values:monthValues$g,defaultWidth:"wide"}),day:buildLocalizeFn({values:dayValues$g,defaultWidth:"wide"}),dayPeriod:buildLocalizeFn({values:dayPeriodValues$g,defaultWidth:"wide",formattingValues:formattingDayPeriodValues$c,defaultFormattingWidth:"wide"})},matchOrdinalNumberPattern$g=/^(\d+)(일|번째)?/i,parseOrdinalNumberPattern$g=/\d+/i,matchEraPatterns$g={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},parseEraPatterns$g={any:[/^(bc|기원전)/i,/^(ad|서기)/i]},matchQuarterPatterns$g={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234]사?분기/i},parseQuarterPatterns$g={any:[/1/i,/2/i,/3/i,/4/i]},matchMonthPatterns$g={narrow:/^(1[012]|[123456789])/,abbreviated:/^(1[012]|[123456789])월/i,wide:/^(1[012]|[123456789])월/i},parseMonthPatterns$g={any:[/^1월?$/,/^2/,/^3/,/^4/,/^5/,/^6/,/^7/,/^8/,/^9/,/^10/,/^11/,/^12/]},matchDayPatterns$g={narrow:/^[일월화수목금토]/,short:/^[일월화수목금토]/,abbreviated:/^[일월화수목금토]/,wide:/^[일월화수목금토]요일/},parseDayPatterns$g={any:[/^일/,/^월/,/^화/,/^수/,/^목/,/^금/,/^토/]},matchDayPeriodPatterns$g={any:/^(am|pm|오전|오후|자정|정오|아침|저녁|밤)/i},parseDayPeriodPatterns$g={any:{am:/^(am|오전)/i,pm:/^(pm|오후)/i,midnight:/^자정/i,noon:/^정오/i,morning:/^아침/i,afternoon:/^오후/i,evening:/^저녁/i,night:/^밤/i}},match$g={ordinalNumber:buildMatchPatternFn({matchPattern:matchOrdinalNumberPattern$g,parsePattern:parseOrdinalNumberPattern$g,valueCallback:n=>parseInt(n,10)}),era:buildMatchFn({matchPatterns:matchEraPatterns$g,defaultMatchWidth:"wide",parsePatterns:parseEraPatterns$g,defaultParseWidth:"any"}),quarter:buildMatchFn({matchPatterns:matchQuarterPatterns$g,defaultMatchWidth:"wide",parsePatterns:parseQuarterPatterns$g,defaultParseWidth:"any",valueCallback:n=>n+1}),month:buildMatchFn({matchPatterns:matchMonthPatterns$g,defaultMatchWidth:"wide",parsePatterns:parseMonthPatterns$g,defaultParseWidth:"any"}),day:buildMatchFn({matchPatterns:matchDayPatterns$g,defaultMatchWidth:"wide",parsePatterns:parseDayPatterns$g,defaultParseWidth:"any"}),dayPeriod:buildMatchFn({matchPatterns:matchDayPeriodPatterns$g,defaultMatchWidth:"any",parsePatterns:parseDayPeriodPatterns$g,defaultParseWidth:"any"})},ko={code:"ko",formatDistance:formatDistance$g,formatLong:formatLong$g,formatRelative:formatRelative$g,localize:localize$g,match:match$g,options:{weekStartsOn:0,firstWeekContainsDate:1}},formatDistanceLocale$f={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"}},formatDistance$f=(n,t,e)=>{let i;const r=formatDistanceLocale$f[n];return typeof r=="string"?i=r:t===1?i=r.one:i=r.other.replace("{{count}}",String(t)),e!=null&&e.addSuffix?e.comparison&&e.comparison>0?"om "+i:i+" siden":i},dateFormats$f={full:"EEEE d. MMMM y",long:"d. MMMM y",medium:"d. MMM y",short:"dd.MM.y"},timeFormats$f={full:"'kl'. HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},dateTimeFormats$f={full:"{{date}} 'kl.' {{time}}",long:"{{date}} 'kl.' {{time}}",medium:"{{date}} {{time}}",short:"{{date}} {{time}}"},formatLong$f={date:buildFormatLongFn({formats:dateFormats$f,defaultWidth:"full"}),time:buildFormatLongFn({formats:timeFormats$f,defaultWidth:"full"}),dateTime:buildFormatLongFn({formats:dateTimeFormats$f,defaultWidth:"full"})},formatRelativeLocale$f={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"},formatRelative$f=(n,t,e,i)=>formatRelativeLocale$f[n],eraValues$f={narrow:["f.Kr.","e.Kr."],abbreviated:["f.Kr.","e.Kr."],wide:["før Kristus","etter Kristus"]},quarterValues$f={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1. kvartal","2. kvartal","3. kvartal","4. kvartal"]},monthValues$f={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"]},dayValues$f={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"]},dayPeriodValues$f={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"}},ordinalNumber$f=(n,t)=>Number(n)+".",localize$f={ordinalNumber:ordinalNumber$f,era:buildLocalizeFn({values:eraValues$f,defaultWidth:"wide"}),quarter:buildLocalizeFn({values:quarterValues$f,defaultWidth:"wide",argumentCallback:n=>n-1}),month:buildLocalizeFn({values:monthValues$f,defaultWidth:"wide"}),day:buildLocalizeFn({values:dayValues$f,defaultWidth:"wide"}),dayPeriod:buildLocalizeFn({values:dayPeriodValues$f,defaultWidth:"wide"})},matchOrdinalNumberPattern$f=/^(\d+)\.?/i,parseOrdinalNumberPattern$f=/\d+/i,matchEraPatterns$f={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},parseEraPatterns$f={any:[/^f/i,/^e/i]},matchQuarterPatterns$f={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](\.)? kvartal/i},parseQuarterPatterns$f={any:[/1/i,/2/i,/3/i,/4/i]},matchMonthPatterns$f={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},parseMonthPatterns$f={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]},matchDayPatterns$f={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},parseDayPatterns$f={any:[/^s/i,/^m/i,/^ti/i,/^o/i,/^to/i,/^f/i,/^l/i]},matchDayPeriodPatterns$f={narrow:/^(midnatt|middag|(på) (morgenen|ettermiddagen|kvelden|natten)|[ap])/i,any:/^([ap]\.?\s?m\.?|midnatt|middag|(på) (morgenen|ettermiddagen|kvelden|natten))/i},parseDayPeriodPatterns$f={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}},match$f={ordinalNumber:buildMatchPatternFn({matchPattern:matchOrdinalNumberPattern$f,parsePattern:parseOrdinalNumberPattern$f,valueCallback:n=>parseInt(n,10)}),era:buildMatchFn({matchPatterns:matchEraPatterns$f,defaultMatchWidth:"wide",parsePatterns:parseEraPatterns$f,defaultParseWidth:"any"}),quarter:buildMatchFn({matchPatterns:matchQuarterPatterns$f,defaultMatchWidth:"wide",parsePatterns:parseQuarterPatterns$f,defaultParseWidth:"any",valueCallback:n=>n+1}),month:buildMatchFn({matchPatterns:matchMonthPatterns$f,defaultMatchWidth:"wide",parsePatterns:parseMonthPatterns$f,defaultParseWidth:"any"}),day:buildMatchFn({matchPatterns:matchDayPatterns$f,defaultMatchWidth:"wide",parsePatterns:parseDayPatterns$f,defaultParseWidth:"any"}),dayPeriod:buildMatchFn({matchPatterns:matchDayPeriodPatterns$f,defaultMatchWidth:"any",parsePatterns:parseDayPeriodPatterns$f,defaultParseWidth:"any"})},nb={code:"nb",formatDistance:formatDistance$f,formatLong:formatLong$f,formatRelative:formatRelative$f,localize:localize$f,match:match$f,options:{weekStartsOn:1,firstWeekContainsDate:4}},formatDistanceLocale$e={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"}},formatDistance$e=(n,t,e)=>{let i;const r=formatDistanceLocale$e[n];return typeof r=="string"?i=r:t===1?i=r.one:i=r.other.replace("{{count}}",String(t)),e!=null&&e.addSuffix?e.comparison&&e.comparison>0?"over "+i:i+" geleden":i},dateFormats$e={full:"EEEE d MMMM y",long:"d MMMM y",medium:"d MMM y",short:"dd-MM-y"},timeFormats$e={full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},dateTimeFormats$e={full:"{{date}} 'om' {{time}}",long:"{{date}} 'om' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},formatLong$e={date:buildFormatLongFn({formats:dateFormats$e,defaultWidth:"full"}),time:buildFormatLongFn({formats:timeFormats$e,defaultWidth:"full"}),dateTime:buildFormatLongFn({formats:dateTimeFormats$e,defaultWidth:"full"})},formatRelativeLocale$e={lastWeek:"'afgelopen' eeee 'om' p",yesterday:"'gisteren om' p",today:"'vandaag om' p",tomorrow:"'morgen om' p",nextWeek:"eeee 'om' p",other:"P"},formatRelative$e=(n,t,e,i)=>formatRelativeLocale$e[n],eraValues$e={narrow:["v.C.","n.C."],abbreviated:["v.Chr.","n.Chr."],wide:["voor Christus","na Christus"]},quarterValues$e={narrow:["1","2","3","4"],abbreviated:["K1","K2","K3","K4"],wide:["1e kwartaal","2e kwartaal","3e kwartaal","4e kwartaal"]},monthValues$e={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"]},dayValues$e={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"]},dayPeriodValues$e={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"}},ordinalNumber$e=(n,t)=>Number(n)+"e",localize$e={ordinalNumber:ordinalNumber$e,era:buildLocalizeFn({values:eraValues$e,defaultWidth:"wide"}),quarter:buildLocalizeFn({values:quarterValues$e,defaultWidth:"wide",argumentCallback:n=>n-1}),month:buildLocalizeFn({values:monthValues$e,defaultWidth:"wide"}),day:buildLocalizeFn({values:dayValues$e,defaultWidth:"wide"}),dayPeriod:buildLocalizeFn({values:dayPeriodValues$e,defaultWidth:"wide"})},matchOrdinalNumberPattern$e=/^(\d+)e?/i,parseOrdinalNumberPattern$e=/\d+/i,matchEraPatterns$e={narrow:/^([vn]\.? ?C\.?)/,abbreviated:/^([vn]\. ?Chr\.?)/,wide:/^((voor|na) Christus)/},parseEraPatterns$e={any:[/^v/,/^n/]},matchQuarterPatterns$e={narrow:/^[1234]/i,abbreviated:/^K[1234]/i,wide:/^[1234]e kwartaal/i},parseQuarterPatterns$e={any:[/1/i,/2/i,/3/i,/4/i]},matchMonthPatterns$e={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},parseMonthPatterns$e={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]},matchDayPatterns$e={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},parseDayPatterns$e={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]},matchDayPeriodPatterns$e={any:/^(am|pm|middernacht|het middaguur|'s (ochtends|middags|avonds|nachts))/i},parseDayPeriodPatterns$e={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}},match$e={ordinalNumber:buildMatchPatternFn({matchPattern:matchOrdinalNumberPattern$e,parsePattern:parseOrdinalNumberPattern$e,valueCallback:n=>parseInt(n,10)}),era:buildMatchFn({matchPatterns:matchEraPatterns$e,defaultMatchWidth:"wide",parsePatterns:parseEraPatterns$e,defaultParseWidth:"any"}),quarter:buildMatchFn({matchPatterns:matchQuarterPatterns$e,defaultMatchWidth:"wide",parsePatterns:parseQuarterPatterns$e,defaultParseWidth:"any",valueCallback:n=>n+1}),month:buildMatchFn({matchPatterns:matchMonthPatterns$e,defaultMatchWidth:"wide",parsePatterns:parseMonthPatterns$e,defaultParseWidth:"any"}),day:buildMatchFn({matchPatterns:matchDayPatterns$e,defaultMatchWidth:"wide",parsePatterns:parseDayPatterns$e,defaultParseWidth:"any"}),dayPeriod:buildMatchFn({matchPatterns:matchDayPeriodPatterns$e,defaultMatchWidth:"any",parsePatterns:parseDayPeriodPatterns$e,defaultParseWidth:"any"})},nl={code:"nl",formatDistance:formatDistance$e,formatLong:formatLong$e,formatRelative:formatRelative$e,localize:localize$e,match:match$e,options:{weekStartsOn:1,firstWeekContainsDate:4}},formatDistanceLocale$d={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"}},wordMapping$1=["null","ein","to","tre","fire","fem","seks","sju","åtte","ni","ti","elleve","tolv"],formatDistance$d=(n,t,e)=>{let i;const r=formatDistanceLocale$d[n];return typeof r=="string"?i=r:t===1?i=r.one:i=r.other.replace("{{count}}",t<13?wordMapping$1[t]:String(t)),e!=null&&e.addSuffix?e.comparison&&e.comparison>0?"om "+i:i+" sidan":i},dateFormats$d={full:"EEEE d. MMMM y",long:"d. MMMM y",medium:"d. MMM y",short:"dd.MM.y"},timeFormats$d={full:"'kl'. HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},dateTimeFormats$d={full:"{{date}} 'kl.' {{time}}",long:"{{date}} 'kl.' {{time}}",medium:"{{date}} {{time}}",short:"{{date}} {{time}}"},formatLong$d={date:buildFormatLongFn({formats:dateFormats$d,defaultWidth:"full"}),time:buildFormatLongFn({formats:timeFormats$d,defaultWidth:"full"}),dateTime:buildFormatLongFn({formats:dateTimeFormats$d,defaultWidth:"full"})},formatRelativeLocale$d={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"},formatRelative$d=(n,t,e,i)=>formatRelativeLocale$d[n],eraValues$d={narrow:["f.Kr.","e.Kr."],abbreviated:["f.Kr.","e.Kr."],wide:["før Kristus","etter Kristus"]},quarterValues$d={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1. kvartal","2. kvartal","3. kvartal","4. kvartal"]},monthValues$d={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"]},dayValues$d={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"]},dayPeriodValues$d={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"}},ordinalNumber$d=(n,t)=>Number(n)+".",localize$d={ordinalNumber:ordinalNumber$d,era:buildLocalizeFn({values:eraValues$d,defaultWidth:"wide"}),quarter:buildLocalizeFn({values:quarterValues$d,defaultWidth:"wide",argumentCallback:n=>n-1}),month:buildLocalizeFn({values:monthValues$d,defaultWidth:"wide"}),day:buildLocalizeFn({values:dayValues$d,defaultWidth:"wide"}),dayPeriod:buildLocalizeFn({values:dayPeriodValues$d,defaultWidth:"wide"})},matchOrdinalNumberPattern$d=/^(\d+)\.?/i,parseOrdinalNumberPattern$d=/\d+/i,matchEraPatterns$d={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},parseEraPatterns$d={any:[/^f/i,/^e/i]},matchQuarterPatterns$d={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](\.)? kvartal/i},parseQuarterPatterns$d={any:[/1/i,/2/i,/3/i,/4/i]},matchMonthPatterns$d={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},parseMonthPatterns$d={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]},matchDayPatterns$d={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},parseDayPatterns$d={any:[/^s/i,/^m/i,/^ty/i,/^o/i,/^to/i,/^f/i,/^l/i]},matchDayPeriodPatterns$d={narrow:/^(midnatt|middag|(på) (morgonen|ettermiddagen|kvelden|natta)|[ap])/i,any:/^([ap]\.?\s?m\.?|midnatt|middag|(på) (morgonen|ettermiddagen|kvelden|natta))/i},parseDayPeriodPatterns$d={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}},match$d={ordinalNumber:buildMatchPatternFn({matchPattern:matchOrdinalNumberPattern$d,parsePattern:parseOrdinalNumberPattern$d,valueCallback:n=>parseInt(n,10)}),era:buildMatchFn({matchPatterns:matchEraPatterns$d,defaultMatchWidth:"wide",parsePatterns:parseEraPatterns$d,defaultParseWidth:"any"}),quarter:buildMatchFn({matchPatterns:matchQuarterPatterns$d,defaultMatchWidth:"wide",parsePatterns:parseQuarterPatterns$d,defaultParseWidth:"any",valueCallback:n=>n+1}),month:buildMatchFn({matchPatterns:matchMonthPatterns$d,defaultMatchWidth:"wide",parsePatterns:parseMonthPatterns$d,defaultParseWidth:"any"}),day:buildMatchFn({matchPatterns:matchDayPatterns$d,defaultMatchWidth:"wide",parsePatterns:parseDayPatterns$d,defaultParseWidth:"any"}),dayPeriod:buildMatchFn({matchPatterns:matchDayPeriodPatterns$d,defaultMatchWidth:"any",parsePatterns:parseDayPeriodPatterns$d,defaultParseWidth:"any"})},nn={code:"nn",formatDistance:formatDistance$d,formatLong:formatLong$d,formatRelative:formatRelative$d,localize:localize$d,match:match$d,options:{weekStartsOn:1,firstWeekContainsDate:4}},formatDistanceLocale$c={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$1(n,t){if(t===1)return n.one;const e=t%100;if(e<=20&&e>10)return n.other;const i=e%10;return i>=2&&i<=4?n.twoFour:n.other}function declension$3(n,t,e){const i=declensionGroup$1(n,t);return(typeof i=="string"?i:i[e]).replace("{{count}}",String(t))}const formatDistance$c=(n,t,e)=>{const i=formatDistanceLocale$c[n];return e!=null&&e.addSuffix?e.comparison&&e.comparison>0?"za "+declension$3(i,t,"future"):declension$3(i,t,"past")+" temu":declension$3(i,t,"regular")},dateFormats$c={full:"EEEE, do MMMM y",long:"do MMMM y",medium:"do MMM y",short:"dd.MM.y"},timeFormats$c={full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},dateTimeFormats$c={full:"{{date}} {{time}}",long:"{{date}} {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},formatLong$c={date:buildFormatLongFn({formats:dateFormats$c,defaultWidth:"full"}),time:buildFormatLongFn({formats:timeFormats$c,defaultWidth:"full"}),dateTime:buildFormatLongFn({formats:dateTimeFormats$c,defaultWidth:"full"})},adjectivesLastWeek={masculine:"ostatni",feminine:"ostatnia"},adjectivesThisWeek={masculine:"ten",feminine:"ta"},adjectivesNextWeek={masculine:"następny",feminine:"następna"},dayGrammaticalGender={0:"feminine",1:"masculine",2:"masculine",3:"feminine",4:"masculine",5:"masculine",6:"feminine"};function dayAndTimeWithAdjective(n,t,e,i){let r;if(isSameWeek(t,e,i))r=adjectivesThisWeek;else if(n==="lastWeek")r=adjectivesLastWeek;else if(n==="nextWeek")r=adjectivesNextWeek;else throw new Error(`Cannot determine adjectives for token ${n}`);const a=t.getDay(),o=dayGrammaticalGender[a];return`'${r[o]}' eeee 'o' p`}const formatRelativeLocale$c={lastWeek:dayAndTimeWithAdjective,yesterday:"'wczoraj o' p",today:"'dzisiaj o' p",tomorrow:"'jutro o' p",nextWeek:dayAndTimeWithAdjective,other:"P"},formatRelative$c=(n,t,e,i)=>{const r=formatRelativeLocale$c[n];return typeof r=="function"?r(n,t,e,i):r},eraValues$c={narrow:["p.n.e.","n.e."],abbreviated:["p.n.e.","n.e."],wide:["przed naszą erą","naszej ery"]},quarterValues$c={narrow:["1","2","3","4"],abbreviated:["I kw.","II kw.","III kw.","IV kw."],wide:["I kwartał","II kwartał","III kwartał","IV kwartał"]},monthValues$c={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ń"]},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"]},dayValues$c={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"]},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"]},dayPeriodValues$c={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"}},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"}},ordinalNumber$c=(n,t)=>String(n),localize$c={ordinalNumber:ordinalNumber$c,era:buildLocalizeFn({values:eraValues$c,defaultWidth:"wide"}),quarter:buildLocalizeFn({values:quarterValues$c,defaultWidth:"wide",argumentCallback:n=>n-1}),month:buildLocalizeFn({values:monthValues$c,defaultWidth:"wide",formattingValues:monthFormattingValues,defaultFormattingWidth:"wide"}),day:buildLocalizeFn({values:dayValues$c,defaultWidth:"wide",formattingValues:dayFormattingValues,defaultFormattingWidth:"wide"}),dayPeriod:buildLocalizeFn({values:dayPeriodValues$c,defaultWidth:"wide",formattingValues:dayPeriodFormattingValues,defaultFormattingWidth:"wide"})},matchOrdinalNumberPattern$c=/^(\d+)?/i,parseOrdinalNumberPattern$c=/\d+/i,matchEraPatterns$c={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},parseEraPatterns$c={any:[/^p/i,/^n/i]},matchQuarterPatterns$c={narrow:/^[1234]/i,abbreviated:/^(I|II|III|IV)\s*kw\.?/i,wide:/^(I|II|III|IV)\s*kwarta(ł|l)/i},parseQuarterPatterns$c={narrow:[/1/i,/2/i,/3/i,/4/i],any:[/^I kw/i,/^II kw/i,/^III kw/i,/^IV kw/i]},matchMonthPatterns$c={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},parseMonthPatterns$c={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]},matchDayPatterns$c={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},parseDayPatterns$c={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]},matchDayPeriodPatterns$c={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},parseDayPeriodPatterns$c={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}},match$c={ordinalNumber:buildMatchPatternFn({matchPattern:matchOrdinalNumberPattern$c,parsePattern:parseOrdinalNumberPattern$c,valueCallback:n=>parseInt(n,10)}),era:buildMatchFn({matchPatterns:matchEraPatterns$c,defaultMatchWidth:"wide",parsePatterns:parseEraPatterns$c,defaultParseWidth:"any"}),quarter:buildMatchFn({matchPatterns:matchQuarterPatterns$c,defaultMatchWidth:"wide",parsePatterns:parseQuarterPatterns$c,defaultParseWidth:"any",valueCallback:n=>n+1}),month:buildMatchFn({matchPatterns:matchMonthPatterns$c,defaultMatchWidth:"wide",parsePatterns:parseMonthPatterns$c,defaultParseWidth:"any"}),day:buildMatchFn({matchPatterns:matchDayPatterns$c,defaultMatchWidth:"wide",parsePatterns:parseDayPatterns$c,defaultParseWidth:"any"}),dayPeriod:buildMatchFn({matchPatterns:matchDayPeriodPatterns$c,defaultMatchWidth:"any",parsePatterns:parseDayPeriodPatterns$c,defaultParseWidth:"any"})},pl={code:"pl",formatDistance:formatDistance$c,formatLong:formatLong$c,formatRelative:formatRelative$c,localize:localize$c,match:match$c,options:{weekStartsOn:1,firstWeekContainsDate:4}},formatDistanceLocale$b={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"}},formatDistance$b=(n,t,e)=>{let i;const r=formatDistanceLocale$b[n];return typeof r=="string"?i=r:t===1?i=r.one:i=r.other.replace("{{count}}",String(t)),e!=null&&e.addSuffix?e.comparison&&e.comparison>0?"daqui a "+i:"há "+i:i},dateFormats$b={full:"EEEE, d 'de' MMMM 'de' y",long:"d 'de' MMMM 'de' y",medium:"d 'de' MMM 'de' y",short:"dd/MM/y"},timeFormats$b={full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},dateTimeFormats$b={full:"{{date}} 'às' {{time}}",long:"{{date}} 'às' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},formatLong$b={date:buildFormatLongFn({formats:dateFormats$b,defaultWidth:"full"}),time:buildFormatLongFn({formats:timeFormats$b,defaultWidth:"full"}),dateTime:buildFormatLongFn({formats:dateTimeFormats$b,defaultWidth:"full"})},formatRelativeLocale$b={lastWeek:n=>{const t=n.getDay();return"'"+(t===0||t===6?"último":"última")+"' eeee 'às' p"},yesterday:"'ontem às' p",today:"'hoje às' p",tomorrow:"'amanhã às' p",nextWeek:"eeee 'às' p",other:"P"},formatRelative$b=(n,t,e,i)=>{const r=formatRelativeLocale$b[n];return typeof r=="function"?r(t):r},eraValues$b={narrow:["aC","dC"],abbreviated:["a.C.","d.C."],wide:["antes de Cristo","depois de Cristo"]},quarterValues$b={narrow:["1","2","3","4"],abbreviated:["T1","T2","T3","T4"],wide:["1º trimestre","2º trimestre","3º trimestre","4º trimestre"]},monthValues$b={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"]},dayValues$b={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"]},dayPeriodValues$b={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"}},formattingDayPeriodValues$b={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"}},ordinalNumber$b=(n,t)=>Number(n)+"º",localize$b={ordinalNumber:ordinalNumber$b,era:buildLocalizeFn({values:eraValues$b,defaultWidth:"wide"}),quarter:buildLocalizeFn({values:quarterValues$b,defaultWidth:"wide",argumentCallback:n=>n-1}),month:buildLocalizeFn({values:monthValues$b,defaultWidth:"wide"}),day:buildLocalizeFn({values:dayValues$b,defaultWidth:"wide"}),dayPeriod:buildLocalizeFn({values:dayPeriodValues$b,defaultWidth:"wide",formattingValues:formattingDayPeriodValues$b,defaultFormattingWidth:"wide"})},matchOrdinalNumberPattern$b=/^(\d+)(º|ª)?/i,parseOrdinalNumberPattern$b=/\d+/i,matchEraPatterns$b={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},parseEraPatterns$b={any:[/^ac/i,/^dc/i],wide:[/^(antes de cristo|antes da era comum)/i,/^(depois de cristo|era comum)/i]},matchQuarterPatterns$b={narrow:/^[1234]/i,abbreviated:/^T[1234]/i,wide:/^[1234](º|ª)? trimestre/i},parseQuarterPatterns$b={any:[/1/i,/2/i,/3/i,/4/i]},matchMonthPatterns$b={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},parseMonthPatterns$b={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]},matchDayPatterns$b={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},parseDayPatterns$b={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]},matchDayPeriodPatterns$b={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},parseDayPeriodPatterns$b={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}},match$b={ordinalNumber:buildMatchPatternFn({matchPattern:matchOrdinalNumberPattern$b,parsePattern:parseOrdinalNumberPattern$b,valueCallback:n=>parseInt(n,10)}),era:buildMatchFn({matchPatterns:matchEraPatterns$b,defaultMatchWidth:"wide",parsePatterns:parseEraPatterns$b,defaultParseWidth:"any"}),quarter:buildMatchFn({matchPatterns:matchQuarterPatterns$b,defaultMatchWidth:"wide",parsePatterns:parseQuarterPatterns$b,defaultParseWidth:"any",valueCallback:n=>n+1}),month:buildMatchFn({matchPatterns:matchMonthPatterns$b,defaultMatchWidth:"wide",parsePatterns:parseMonthPatterns$b,defaultParseWidth:"any"}),day:buildMatchFn({matchPatterns:matchDayPatterns$b,defaultMatchWidth:"wide",parsePatterns:parseDayPatterns$b,defaultParseWidth:"any"}),dayPeriod:buildMatchFn({matchPatterns:matchDayPeriodPatterns$b,defaultMatchWidth:"any",parsePatterns:parseDayPeriodPatterns$b,defaultParseWidth:"any"})},pt={code:"pt",formatDistance:formatDistance$b,formatLong:formatLong$b,formatRelative:formatRelative$b,localize:localize$b,match:match$b,options:{weekStartsOn:1,firstWeekContainsDate:4}},formatDistanceLocale$a={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"}},formatDistance$a=(n,t,e)=>{let i;const r=formatDistanceLocale$a[n];return typeof r=="string"?i=r:t===1?i=r.one:i=r.other.replace("{{count}}",String(t)),e!=null&&e.addSuffix?e.comparison&&e.comparison>0?"em "+i:"há "+i:i},dateFormats$a={full:"EEEE, d 'de' MMMM 'de' y",long:"d 'de' MMMM 'de' y",medium:"d MMM y",short:"dd/MM/yyyy"},timeFormats$a={full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},dateTimeFormats$a={full:"{{date}} 'às' {{time}}",long:"{{date}} 'às' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},formatLong$a={date:buildFormatLongFn({formats:dateFormats$a,defaultWidth:"full"}),time:buildFormatLongFn({formats:timeFormats$a,defaultWidth:"full"}),dateTime:buildFormatLongFn({formats:dateTimeFormats$a,defaultWidth:"full"})},formatRelativeLocale$a={lastWeek:n=>{const t=n.getDay();return"'"+(t===0||t===6?"último":"última")+"' eeee 'às' p"},yesterday:"'ontem às' p",today:"'hoje às' p",tomorrow:"'amanhã às' p",nextWeek:"eeee 'às' p",other:"P"},formatRelative$a=(n,t,e,i)=>{const r=formatRelativeLocale$a[n];return typeof r=="function"?r(t):r},eraValues$a={narrow:["AC","DC"],abbreviated:["AC","DC"],wide:["antes de cristo","depois de cristo"]},quarterValues$a={narrow:["1","2","3","4"],abbreviated:["T1","T2","T3","T4"],wide:["1º trimestre","2º trimestre","3º trimestre","4º trimestre"]},monthValues$a={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"]},dayValues$a={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"]},dayPeriodValues$a={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"}},formattingDayPeriodValues$a={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"}},ordinalNumber$a=(n,t)=>{const e=Number(n);return(t==null?void 0:t.unit)==="week"?e+"ª":e+"º"},localize$a={ordinalNumber:ordinalNumber$a,era:buildLocalizeFn({values:eraValues$a,defaultWidth:"wide"}),quarter:buildLocalizeFn({values:quarterValues$a,defaultWidth:"wide",argumentCallback:n=>n-1}),month:buildLocalizeFn({values:monthValues$a,defaultWidth:"wide"}),day:buildLocalizeFn({values:dayValues$a,defaultWidth:"wide"}),dayPeriod:buildLocalizeFn({values:dayPeriodValues$a,defaultWidth:"wide",formattingValues:formattingDayPeriodValues$a,defaultFormattingWidth:"wide"})},matchOrdinalNumberPattern$a=/^(\d+)[ºªo]?/i,parseOrdinalNumberPattern$a=/\d+/i,matchEraPatterns$a={narrow:/^(ac|dc|a|d)/i,abbreviated:/^(a\.?\s?c\.?|d\.?\s?c\.?)/i,wide:/^(antes de cristo|depois de cristo)/i},parseEraPatterns$a={any:[/^ac/i,/^dc/i],wide:[/^antes de cristo/i,/^depois de cristo/i]},matchQuarterPatterns$a={narrow:/^[1234]/i,abbreviated:/^T[1234]/i,wide:/^[1234](º)? trimestre/i},parseQuarterPatterns$a={any:[/1/i,/2/i,/3/i,/4/i]},matchMonthPatterns$a={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},parseMonthPatterns$a={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]},matchDayPatterns$a={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},parseDayPatterns$a={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]},matchDayPeriodPatterns$a={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},parseDayPeriodPatterns$a={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}},match$a={ordinalNumber:buildMatchPatternFn({matchPattern:matchOrdinalNumberPattern$a,parsePattern:parseOrdinalNumberPattern$a,valueCallback:n=>parseInt(n,10)}),era:buildMatchFn({matchPatterns:matchEraPatterns$a,defaultMatchWidth:"wide",parsePatterns:parseEraPatterns$a,defaultParseWidth:"any"}),quarter:buildMatchFn({matchPatterns:matchQuarterPatterns$a,defaultMatchWidth:"wide",parsePatterns:parseQuarterPatterns$a,defaultParseWidth:"any",valueCallback:n=>n+1}),month:buildMatchFn({matchPatterns:matchMonthPatterns$a,defaultMatchWidth:"wide",parsePatterns:parseMonthPatterns$a,defaultParseWidth:"any"}),day:buildMatchFn({matchPatterns:matchDayPatterns$a,defaultMatchWidth:"wide",parsePatterns:parseDayPatterns$a,defaultParseWidth:"any"}),dayPeriod:buildMatchFn({matchPatterns:matchDayPeriodPatterns$a,defaultMatchWidth:"any",parsePatterns:parseDayPeriodPatterns$a,defaultParseWidth:"any"})},ptBR={code:"pt-BR",formatDistance:formatDistance$a,formatLong:formatLong$a,formatRelative:formatRelative$a,localize:localize$a,match:match$a,options:{weekStartsOn:0,firstWeekContainsDate:1}},formatDistanceLocale$9={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"}},formatDistance$9=(n,t,e)=>{let i;const r=formatDistanceLocale$9[n];return typeof r=="string"?i=r:t===1?i=r.one:i=r.other.replace("{{count}}",String(t)),e!=null&&e.addSuffix?e.comparison&&e.comparison>0?"în "+i:i+" în urmă":i},dateFormats$9={full:"EEEE, d MMMM yyyy",long:"d MMMM yyyy",medium:"d MMM yyyy",short:"dd.MM.yyyy"},timeFormats$9={full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},dateTimeFormats$9={full:"{{date}} 'la' {{time}}",long:"{{date}} 'la' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},formatLong$9={date:buildFormatLongFn({formats:dateFormats$9,defaultWidth:"full"}),time:buildFormatLongFn({formats:timeFormats$9,defaultWidth:"full"}),dateTime:buildFormatLongFn({formats:dateTimeFormats$9,defaultWidth:"full"})},formatRelativeLocale$9={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"},formatRelative$9=(n,t,e,i)=>formatRelativeLocale$9[n],eraValues$9={narrow:["Î","D"],abbreviated:["Î.d.C.","D.C."],wide:["Înainte de Cristos","După Cristos"]},quarterValues$9={narrow:["1","2","3","4"],abbreviated:["T1","T2","T3","T4"],wide:["primul trimestru","al doilea trimestru","al treilea trimestru","al patrulea trimestru"]},monthValues$9={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"]},dayValues$9={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ă"]},dayPeriodValues$9={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"}},formattingDayPeriodValues$9={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"}},ordinalNumber$9=(n,t)=>String(n),localize$9={ordinalNumber:ordinalNumber$9,era:buildLocalizeFn({values:eraValues$9,defaultWidth:"wide"}),quarter:buildLocalizeFn({values:quarterValues$9,defaultWidth:"wide",argumentCallback:n=>n-1}),month:buildLocalizeFn({values:monthValues$9,defaultWidth:"wide"}),day:buildLocalizeFn({values:dayValues$9,defaultWidth:"wide"}),dayPeriod:buildLocalizeFn({values:dayPeriodValues$9,defaultWidth:"wide",formattingValues:formattingDayPeriodValues$9,defaultFormattingWidth:"wide"})},matchOrdinalNumberPattern$9=/^(\d+)?/i,parseOrdinalNumberPattern$9=/\d+/i,matchEraPatterns$9={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},parseEraPatterns$9={any:[/^ÎC/i,/^DC/i],wide:[/^(Înainte de Cristos|Înaintea erei noastre)/i,/^(După Cristos|Era noastră)/i]},matchQuarterPatterns$9={narrow:/^[1234]/i,abbreviated:/^T[1234]/i,wide:/^trimestrul [1234]/i},parseQuarterPatterns$9={any:[/1/i,/2/i,/3/i,/4/i]},matchMonthPatterns$9={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},parseMonthPatterns$9={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]},matchDayPatterns$9={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},parseDayPatterns$9={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]},matchDayPeriodPatterns$9={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},parseDayPeriodPatterns$9={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}},match$9={ordinalNumber:buildMatchPatternFn({matchPattern:matchOrdinalNumberPattern$9,parsePattern:parseOrdinalNumberPattern$9,valueCallback:n=>parseInt(n,10)}),era:buildMatchFn({matchPatterns:matchEraPatterns$9,defaultMatchWidth:"wide",parsePatterns:parseEraPatterns$9,defaultParseWidth:"any"}),quarter:buildMatchFn({matchPatterns:matchQuarterPatterns$9,defaultMatchWidth:"wide",parsePatterns:parseQuarterPatterns$9,defaultParseWidth:"any",valueCallback:n=>n+1}),month:buildMatchFn({matchPatterns:matchMonthPatterns$9,defaultMatchWidth:"wide",parsePatterns:parseMonthPatterns$9,defaultParseWidth:"any"}),day:buildMatchFn({matchPatterns:matchDayPatterns$9,defaultMatchWidth:"wide",parsePatterns:parseDayPatterns$9,defaultParseWidth:"any"}),dayPeriod:buildMatchFn({matchPatterns:matchDayPeriodPatterns$9,defaultMatchWidth:"any",parsePatterns:parseDayPeriodPatterns$9,defaultParseWidth:"any"})},ro={code:"ro",formatDistance:formatDistance$9,formatLong:formatLong$9,formatRelative:formatRelative$9,localize:localize$9,match:match$9,options:{weekStartsOn:1,firstWeekContainsDate:1}};function declension$2(n,t){if(n.one!==void 0&&t===1)return n.one;const e=t%10,i=t%100;return e===1&&i!==11?n.singularNominative.replace("{{count}}",String(t)):e>=2&&e<=4&&(i<10||i>20)?n.singularGenitive.replace("{{count}}",String(t)):n.pluralGenitive.replace("{{count}}",String(t))}function buildLocalizeTokenFn$1(n){return(t,e)=>e!=null&&e.addSuffix?e.comparison&&e.comparison>0?n.future?declension$2(n.future,t):"через "+declension$2(n.regular,t):n.past?declension$2(n.past,t):declension$2(n.regular,t)+" назад":declension$2(n.regular,t)}const formatDistanceLocale$8={lessThanXSeconds:buildLocalizeTokenFn$1({regular:{one:"меньше секунды",singularNominative:"меньше {{count}} секунды",singularGenitive:"меньше {{count}} секунд",pluralGenitive:"меньше {{count}} секунд"},future:{one:"меньше, чем через секунду",singularNominative:"меньше, чем через {{count}} секунду",singularGenitive:"меньше, чем через {{count}} секунды",pluralGenitive:"меньше, чем через {{count}} секунд"}}),xSeconds:buildLocalizeTokenFn$1({regular:{singularNominative:"{{count}} секунда",singularGenitive:"{{count}} секунды",pluralGenitive:"{{count}} секунд"},past:{singularNominative:"{{count}} секунду назад",singularGenitive:"{{count}} секунды назад",pluralGenitive:"{{count}} секунд назад"},future:{singularNominative:"через {{count}} секунду",singularGenitive:"через {{count}} секунды",pluralGenitive:"через {{count}} секунд"}}),halfAMinute:(n,t)=>t!=null&&t.addSuffix?t.comparison&&t.comparison>0?"через полминуты":"полминуты назад":"полминуты",lessThanXMinutes:buildLocalizeTokenFn$1({regular:{one:"меньше минуты",singularNominative:"меньше {{count}} минуты",singularGenitive:"меньше {{count}} минут",pluralGenitive:"меньше {{count}} минут"},future:{one:"меньше, чем через минуту",singularNominative:"меньше, чем через {{count}} минуту",singularGenitive:"меньше, чем через {{count}} минуты",pluralGenitive:"меньше, чем через {{count}} минут"}}),xMinutes:buildLocalizeTokenFn$1({regular:{singularNominative:"{{count}} минута",singularGenitive:"{{count}} минуты",pluralGenitive:"{{count}} минут"},past:{singularNominative:"{{count}} минуту назад",singularGenitive:"{{count}} минуты назад",pluralGenitive:"{{count}} минут назад"},future:{singularNominative:"через {{count}} минуту",singularGenitive:"через {{count}} минуты",pluralGenitive:"через {{count}} минут"}}),aboutXHours:buildLocalizeTokenFn$1({regular:{singularNominative:"около {{count}} часа",singularGenitive:"около {{count}} часов",pluralGenitive:"около {{count}} часов"},future:{singularNominative:"приблизительно через {{count}} час",singularGenitive:"приблизительно через {{count}} часа",pluralGenitive:"приблизительно через {{count}} часов"}}),xHours:buildLocalizeTokenFn$1({regular:{singularNominative:"{{count}} час",singularGenitive:"{{count}} часа",pluralGenitive:"{{count}} часов"}}),xDays:buildLocalizeTokenFn$1({regular:{singularNominative:"{{count}} день",singularGenitive:"{{count}} дня",pluralGenitive:"{{count}} дней"}}),aboutXWeeks:buildLocalizeTokenFn$1({regular:{singularNominative:"около {{count}} недели",singularGenitive:"около {{count}} недель",pluralGenitive:"около {{count}} недель"},future:{singularNominative:"приблизительно через {{count}} неделю",singularGenitive:"приблизительно через {{count}} недели",pluralGenitive:"приблизительно через {{count}} недель"}}),xWeeks:buildLocalizeTokenFn$1({regular:{singularNominative:"{{count}} неделя",singularGenitive:"{{count}} недели",pluralGenitive:"{{count}} недель"}}),aboutXMonths:buildLocalizeTokenFn$1({regular:{singularNominative:"около {{count}} месяца",singularGenitive:"около {{count}} месяцев",pluralGenitive:"около {{count}} месяцев"},future:{singularNominative:"приблизительно через {{count}} месяц",singularGenitive:"приблизительно через {{count}} месяца",pluralGenitive:"приблизительно через {{count}} месяцев"}}),xMonths:buildLocalizeTokenFn$1({regular:{singularNominative:"{{count}} месяц",singularGenitive:"{{count}} месяца",pluralGenitive:"{{count}} месяцев"}}),aboutXYears:buildLocalizeTokenFn$1({regular:{singularNominative:"около {{count}} года",singularGenitive:"около {{count}} лет",pluralGenitive:"около {{count}} лет"},future:{singularNominative:"приблизительно через {{count}} год",singularGenitive:"приблизительно через {{count}} года",pluralGenitive:"приблизительно через {{count}} лет"}}),xYears:buildLocalizeTokenFn$1({regular:{singularNominative:"{{count}} год",singularGenitive:"{{count}} года",pluralGenitive:"{{count}} лет"}}),overXYears:buildLocalizeTokenFn$1({regular:{singularNominative:"больше {{count}} года",singularGenitive:"больше {{count}} лет",pluralGenitive:"больше {{count}} лет"},future:{singularNominative:"больше, чем через {{count}} год",singularGenitive:"больше, чем через {{count}} года",pluralGenitive:"больше, чем через {{count}} лет"}}),almostXYears:buildLocalizeTokenFn$1({regular:{singularNominative:"почти {{count}} год",singularGenitive:"почти {{count}} года",pluralGenitive:"почти {{count}} лет"},future:{singularNominative:"почти через {{count}} год",singularGenitive:"почти через {{count}} года",pluralGenitive:"почти через {{count}} лет"}})},formatDistance$8=(n,t,e)=>formatDistanceLocale$8[n](t,e),dateFormats$8={full:"EEEE, d MMMM y 'г.'",long:"d MMMM y 'г.'",medium:"d MMM y 'г.'",short:"dd.MM.y"},timeFormats$8={full:"H:mm:ss zzzz",long:"H:mm:ss z",medium:"H:mm:ss",short:"H:mm"},dateTimeFormats$8={any:"{{date}}, {{time}}"},formatLong$8={date:buildFormatLongFn({formats:dateFormats$8,defaultWidth:"full"}),time:buildFormatLongFn({formats:timeFormats$8,defaultWidth:"full"}),dateTime:buildFormatLongFn({formats:dateTimeFormats$8,defaultWidth:"any"})},accusativeWeekdays$2=["воскресенье","понедельник","вторник","среду","четверг","пятницу","субботу"];function lastWeek$2(n){const t=accusativeWeekdays$2[n];switch(n){case 0:return"'в прошлое "+t+" в' p";case 1:case 2:case 4:return"'в прошлый "+t+" в' p";case 3:case 5:case 6:return"'в прошлую "+t+" в' p"}}function thisWeek$2(n){const t=accusativeWeekdays$2[n];return n===2?"'во "+t+" в' p":"'в "+t+" в' p"}function nextWeek$2(n){const t=accusativeWeekdays$2[n];switch(n){case 0:return"'в следующее "+t+" в' p";case 1:case 2:case 4:return"'в следующий "+t+" в' p";case 3:case 5:case 6:return"'в следующую "+t+" в' p"}}const formatRelativeLocale$8={lastWeek:(n,t,e)=>{const i=n.getDay();return isSameWeek(n,t,e)?thisWeek$2(i):lastWeek$2(i)},yesterday:"'вчера в' p",today:"'сегодня в' p",tomorrow:"'завтра в' p",nextWeek:(n,t,e)=>{const i=n.getDay();return isSameWeek(n,t,e)?thisWeek$2(i):nextWeek$2(i)},other:"P"},formatRelative$8=(n,t,e,i)=>{const r=formatRelativeLocale$8[n];return typeof r=="function"?r(t,e,i):r},eraValues$8={narrow:["до н.э.","н.э."],abbreviated:["до н. э.","н. э."],wide:["до нашей эры","нашей эры"]},quarterValues$8={narrow:["1","2","3","4"],abbreviated:["1-й кв.","2-й кв.","3-й кв.","4-й кв."],wide:["1-й квартал","2-й квартал","3-й квартал","4-й квартал"]},monthValues$8={narrow:["Я","Ф","М","А","М","И","И","А","С","О","Н","Д"],abbreviated:["янв.","фев.","март","апр.","май","июнь","июль","авг.","сент.","окт.","нояб.","дек."],wide:["январь","февраль","март","апрель","май","июнь","июль","август","сентябрь","октябрь","ноябрь","декабрь"]},formattingMonthValues$3={narrow:["Я","Ф","М","А","М","И","И","А","С","О","Н","Д"],abbreviated:["янв.","фев.","мар.","апр.","мая","июн.","июл.","авг.","сент.","окт.","нояб.","дек."],wide:["января","февраля","марта","апреля","мая","июня","июля","августа","сентября","октября","ноября","декабря"]},dayValues$8={narrow:["В","П","В","С","Ч","П","С"],short:["вс","пн","вт","ср","чт","пт","сб"],abbreviated:["вск","пнд","втр","срд","чтв","птн","суб"],wide:["воскресенье","понедельник","вторник","среда","четверг","пятница","суббота"]},dayPeriodValues$8={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:"ночь"}},formattingDayPeriodValues$8={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:"ночи"}},ordinalNumber$8=(n,t)=>{const e=Number(n),i=t==null?void 0:t.unit;let r;return i==="date"?r="-е":i==="week"||i==="minute"||i==="second"?r="-я":r="-й",e+r},localize$8={ordinalNumber:ordinalNumber$8,era:buildLocalizeFn({values:eraValues$8,defaultWidth:"wide"}),quarter:buildLocalizeFn({values:quarterValues$8,defaultWidth:"wide",argumentCallback:n=>n-1}),month:buildLocalizeFn({values:monthValues$8,defaultWidth:"wide",formattingValues:formattingMonthValues$3,defaultFormattingWidth:"wide"}),day:buildLocalizeFn({values:dayValues$8,defaultWidth:"wide"}),dayPeriod:buildLocalizeFn({values:dayPeriodValues$8,defaultWidth:"any",formattingValues:formattingDayPeriodValues$8,defaultFormattingWidth:"wide"})},matchOrdinalNumberPattern$8=/^(\d+)(-?(е|я|й|ое|ье|ая|ья|ый|ой|ий|ый))?/i,parseOrdinalNumberPattern$8=/\d+/i,matchEraPatterns$8={narrow:/^((до )?н\.?\s?э\.?)/i,abbreviated:/^((до )?н\.?\s?э\.?)/i,wide:/^(до нашей эры|нашей эры|наша эра)/i},parseEraPatterns$8={any:[/^д/i,/^н/i]},matchQuarterPatterns$8={narrow:/^[1234]/i,abbreviated:/^[1234](-?[ыои]?й?)? кв.?/i,wide:/^[1234](-?[ыои]?й?)? квартал/i},parseQuarterPatterns$8={any:[/1/i,/2/i,/3/i,/4/i]},matchMonthPatterns$8={narrow:/^[яфмаисонд]/i,abbreviated:/^(янв|фев|март?|апр|ма[йя]|июн[ья]?|июл[ья]?|авг|сент?|окт|нояб?|дек)\.?/i,wide:/^(январ[ья]|феврал[ья]|марта?|апрел[ья]|ма[йя]|июн[ья]|июл[ья]|августа?|сентябр[ья]|октябр[ья]|октябр[ья]|ноябр[ья]|декабр[ья])/i},parseMonthPatterns$8={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]},matchDayPatterns$8={narrow:/^[впсч]/i,short:/^(вс|во|пн|по|вт|ср|чт|че|пт|пя|сб|су)\.?/i,abbreviated:/^(вск|вос|пнд|пон|втр|вто|срд|сре|чтв|чет|птн|пят|суб).?/i,wide:/^(воскресень[ея]|понедельника?|вторника?|сред[аы]|четверга?|пятниц[аы]|суббот[аы])/i},parseDayPatterns$8={narrow:[/^в/i,/^п/i,/^в/i,/^с/i,/^ч/i,/^п/i,/^с/i],any:[/^в[ос]/i,/^п[он]/i,/^в/i,/^ср/i,/^ч/i,/^п[ят]/i,/^с[уб]/i]},matchDayPeriodPatterns$8={narrow:/^([дп]п|полн\.?|полд\.?|утр[оа]|день|дня|веч\.?|ноч[ьи])/i,abbreviated:/^([дп]п|полн\.?|полд\.?|утр[оа]|день|дня|веч\.?|ноч[ьи])/i,wide:/^([дп]п|полночь|полдень|утр[оа]|день|дня|вечера?|ноч[ьи])/i},parseDayPeriodPatterns$8={any:{am:/^дп/i,pm:/^пп/i,midnight:/^полн/i,noon:/^полд/i,morning:/^у/i,afternoon:/^д[ен]/i,evening:/^в/i,night:/^н/i}},match$8={ordinalNumber:buildMatchPatternFn({matchPattern:matchOrdinalNumberPattern$8,parsePattern:parseOrdinalNumberPattern$8,valueCallback:n=>parseInt(n,10)}),era:buildMatchFn({matchPatterns:matchEraPatterns$8,defaultMatchWidth:"wide",parsePatterns:parseEraPatterns$8,defaultParseWidth:"any"}),quarter:buildMatchFn({matchPatterns:matchQuarterPatterns$8,defaultMatchWidth:"wide",parsePatterns:parseQuarterPatterns$8,defaultParseWidth:"any",valueCallback:n=>n+1}),month:buildMatchFn({matchPatterns:matchMonthPatterns$8,defaultMatchWidth:"wide",parsePatterns:parseMonthPatterns$8,defaultParseWidth:"any"}),day:buildMatchFn({matchPatterns:matchDayPatterns$8,defaultMatchWidth:"wide",parsePatterns:parseDayPatterns$8,defaultParseWidth:"any"}),dayPeriod:buildMatchFn({matchPatterns:matchDayPeriodPatterns$8,defaultMatchWidth:"wide",parsePatterns:parseDayPeriodPatterns$8,defaultParseWidth:"any"})},ru={code:"ru",formatDistance:formatDistance$8,formatLong:formatLong$8,formatRelative:formatRelative$8,localize:localize$8,match:match$8,options:{weekStartsOn:1,firstWeekContainsDate:1}};function declensionGroup(n,t){return t===1&&n.one?n.one:t>=2&&t<=4&&n.twoFour?n.twoFour:n.other}function declension$1(n,t,e){return declensionGroup(n,t)[e].replace("{{count}}",String(t))}function extractPreposition(n){return["lessThan","about","over","almost"].filter(function(e){return!!n.match(new RegExp("^"+e))})[0]}function prefixPreposition(n){let t="";return n==="almost"&&(t="takmer"),n==="about"&&(t="približne"),t.length>0?t+" ":""}function suffixPreposition(n){let t="";return n==="lessThan"&&(t="menej než"),n==="over"&&(t="viac než"),t.length>0?t+" ":""}function lowercaseFirstLetter(n){return n.charAt(0).toLowerCase()+n.slice(1)}const formatDistanceLocale$7={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"}}},formatDistance$7=(n,t,e)=>{const i=extractPreposition(n)||"",r=lowercaseFirstLetter(n.substring(i.length)),a=formatDistanceLocale$7[r];return e!=null&&e.addSuffix?e.comparison&&e.comparison>0?prefixPreposition(i)+"o "+suffixPreposition(i)+declension$1(a,t,"future"):prefixPreposition(i)+"pred "+suffixPreposition(i)+declension$1(a,t,"past"):prefixPreposition(i)+suffixPreposition(i)+declension$1(a,t,"present")},dateFormats$7={full:"EEEE d. MMMM y",long:"d. MMMM y",medium:"d. M. y",short:"d. M. y"},timeFormats$7={full:"H:mm:ss zzzz",long:"H:mm:ss z",medium:"H:mm:ss",short:"H:mm"},dateTimeFormats$7={full:"{{date}}, {{time}}",long:"{{date}}, {{time}}",medium:"{{date}}, {{time}}",short:"{{date}} {{time}}"},formatLong$7={date:buildFormatLongFn({formats:dateFormats$7,defaultWidth:"full"}),time:buildFormatLongFn({formats:timeFormats$7,defaultWidth:"full"}),dateTime:buildFormatLongFn({formats:dateTimeFormats$7,defaultWidth:"full"})},accusativeWeekdays$1=["nedeľu","pondelok","utorok","stredu","štvrtok","piatok","sobotu"];function lastWeek$1(n){const t=accusativeWeekdays$1[n];switch(n){case 0:case 3:case 6:return"'minulú "+t+" o' p";default:return"'minulý' eeee 'o' p"}}function thisWeek$1(n){const t=accusativeWeekdays$1[n];return n===4?"'vo' eeee 'o' p":"'v "+t+" o' p"}function nextWeek$1(n){const t=accusativeWeekdays$1[n];switch(n){case 0:case 4:case 6:return"'budúcu "+t+" o' p";default:return"'budúci' eeee 'o' p"}}const formatRelativeLocale$7={lastWeek:(n,t,e)=>{const i=n.getDay();return isSameWeek(n,t,e)?thisWeek$1(i):lastWeek$1(i)},yesterday:"'včera o' p",today:"'dnes o' p",tomorrow:"'zajtra o' p",nextWeek:(n,t,e)=>{const i=n.getDay();return isSameWeek(n,t,e)?thisWeek$1(i):nextWeek$1(i)},other:"P"},formatRelative$7=(n,t,e,i)=>{const r=formatRelativeLocale$7[n];return typeof r=="function"?r(t,e,i):r},eraValues$7={narrow:["pred Kr.","po Kr."],abbreviated:["pred Kr.","po Kr."],wide:["pred Kristom","po Kristovi"]},quarterValues$7={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1. štvrťrok","2. štvrťrok","3. štvrťrok","4. štvrťrok"]},monthValues$7={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"]},formattingMonthValues$2={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"]},dayValues$7={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"]},dayPeriodValues$7={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"}},formattingDayPeriodValues$7={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"}},ordinalNumber$7=(n,t)=>Number(n)+".",localize$7={ordinalNumber:ordinalNumber$7,era:buildLocalizeFn({values:eraValues$7,defaultWidth:"wide"}),quarter:buildLocalizeFn({values:quarterValues$7,defaultWidth:"wide",argumentCallback:n=>n-1}),month:buildLocalizeFn({values:monthValues$7,defaultWidth:"wide",formattingValues:formattingMonthValues$2,defaultFormattingWidth:"wide"}),day:buildLocalizeFn({values:dayValues$7,defaultWidth:"wide"}),dayPeriod:buildLocalizeFn({values:dayPeriodValues$7,defaultWidth:"wide",formattingValues:formattingDayPeriodValues$7,defaultFormattingWidth:"wide"})},matchOrdinalNumberPattern$7=/^(\d+)\.?/i,parseOrdinalNumberPattern$7=/\d+/i,matchEraPatterns$7={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},parseEraPatterns$7={any:[/^pr/i,/^(po|n)/i]},matchQuarterPatterns$7={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234]\. [šs]tvr[ťt]rok/i},parseQuarterPatterns$7={any:[/1/i,/2/i,/3/i,/4/i]},matchMonthPatterns$7={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},parseMonthPatterns$7={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]},matchDayPatterns$7={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},parseDayPatterns$7={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]},matchDayPeriodPatterns$7={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},parseDayPeriodPatterns$7={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}},match$7={ordinalNumber:buildMatchPatternFn({matchPattern:matchOrdinalNumberPattern$7,parsePattern:parseOrdinalNumberPattern$7,valueCallback:n=>parseInt(n,10)}),era:buildMatchFn({matchPatterns:matchEraPatterns$7,defaultMatchWidth:"wide",parsePatterns:parseEraPatterns$7,defaultParseWidth:"any"}),quarter:buildMatchFn({matchPatterns:matchQuarterPatterns$7,defaultMatchWidth:"wide",parsePatterns:parseQuarterPatterns$7,defaultParseWidth:"any",valueCallback:n=>n+1}),month:buildMatchFn({matchPatterns:matchMonthPatterns$7,defaultMatchWidth:"wide",parsePatterns:parseMonthPatterns$7,defaultParseWidth:"any"}),day:buildMatchFn({matchPatterns:matchDayPatterns$7,defaultMatchWidth:"wide",parsePatterns:parseDayPatterns$7,defaultParseWidth:"any"}),dayPeriod:buildMatchFn({matchPatterns:matchDayPeriodPatterns$7,defaultMatchWidth:"any",parsePatterns:parseDayPeriodPatterns$7,defaultParseWidth:"any"})},sk={code:"sk",formatDistance:formatDistance$7,formatLong:formatLong$7,formatRelative:formatRelative$7,localize:localize$7,match:match$7,options:{weekStartsOn:1,firstWeekContainsDate:4}};function isPluralType(n){return n.one!==void 0}const formatDistanceLocale$6={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"}},aboutXWeeks:{one:"približno {{count}} teden",two:"približno {{count}} tedna",few:"približno {{count}} tedne",other:"približno {{count}} tednov"},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(n){switch(n%100){case 1:return"one";case 2:return"two";case 3:case 4:return"few";default:return"other"}}const formatDistance$6=(n,t,e)=>{let i="",r="present";e!=null&&e.addSuffix&&(e.comparison&&e.comparison>0?(r="future",i="čez "):(r="past",i="pred "));const a=formatDistanceLocale$6[n];if(typeof a=="string")i+=a;else{const o=getFormFromCount(t);isPluralType(a)?i+=a[o].replace("{{count}}",String(t)):i+=a[r][o].replace("{{count}}",String(t))}return i},dateFormats$6={full:"EEEE, dd. MMMM y",long:"dd. MMMM y",medium:"d. MMM y",short:"d. MM. yy"},timeFormats$6={full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},dateTimeFormats$6={full:"{{date}} {{time}}",long:"{{date}} {{time}}",medium:"{{date}} {{time}}",short:"{{date}} {{time}}"},formatLong$6={date:buildFormatLongFn({formats:dateFormats$6,defaultWidth:"full"}),time:buildFormatLongFn({formats:timeFormats$6,defaultWidth:"full"}),dateTime:buildFormatLongFn({formats:dateTimeFormats$6,defaultWidth:"full"})},formatRelativeLocale$6={lastWeek:n=>{switch(n.getDay()){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:n=>{switch(n.getDay()){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"},formatRelative$6=(n,t,e,i)=>{const r=formatRelativeLocale$6[n];return typeof r=="function"?r(t):r},eraValues$6={narrow:["pr. n. št.","po n. št."],abbreviated:["pr. n. št.","po n. št."],wide:["pred našim štetjem","po našem štetju"]},quarterValues$6={narrow:["1","2","3","4"],abbreviated:["1. čet.","2. čet.","3. čet.","4. čet."],wide:["1. četrtletje","2. četrtletje","3. četrtletje","4. četrtletje"]},monthValues$6={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"]},dayValues$6={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"]},dayPeriodValues$6={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č"}},formattingDayPeriodValues$6={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"}},ordinalNumber$6=(n,t)=>Number(n)+".",localize$6={ordinalNumber:ordinalNumber$6,era:buildLocalizeFn({values:eraValues$6,defaultWidth:"wide"}),quarter:buildLocalizeFn({values:quarterValues$6,defaultWidth:"wide",argumentCallback:n=>n-1}),month:buildLocalizeFn({values:monthValues$6,defaultWidth:"wide"}),day:buildLocalizeFn({values:dayValues$6,defaultWidth:"wide"}),dayPeriod:buildLocalizeFn({values:dayPeriodValues$6,defaultWidth:"wide",formattingValues:formattingDayPeriodValues$6,defaultFormattingWidth:"wide"})},matchOrdinalNumberPattern$6=/^(\d+)\./i,parseOrdinalNumberPattern$6=/\d+/i,matchEraPatterns$6={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},parseEraPatterns$6={any:[/^pr/i,/^(po|na[sš]em)/i]},matchQuarterPatterns$6={narrow:/^[1234]/i,abbreviated:/^[1234]\.\s?[čc]et\.?/i,wide:/^[1234]\. [čc]etrtletje/i},parseQuarterPatterns$6={any:[/1/i,/2/i,/3/i,/4/i]},matchMonthPatterns$6={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},parseMonthPatterns$6={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]},matchDayPatterns$6={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},parseDayPatterns$6={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]},matchDayPeriodPatterns$6={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},parseDayPeriodPatterns$6={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}},match$6={ordinalNumber:buildMatchPatternFn({matchPattern:matchOrdinalNumberPattern$6,parsePattern:parseOrdinalNumberPattern$6,valueCallback:n=>parseInt(n,10)}),era:buildMatchFn({matchPatterns:matchEraPatterns$6,defaultMatchWidth:"wide",parsePatterns:parseEraPatterns$6,defaultParseWidth:"any"}),quarter:buildMatchFn({matchPatterns:matchQuarterPatterns$6,defaultMatchWidth:"wide",parsePatterns:parseQuarterPatterns$6,defaultParseWidth:"any",valueCallback:n=>n+1}),month:buildMatchFn({matchPatterns:matchMonthPatterns$6,defaultMatchWidth:"wide",parsePatterns:parseMonthPatterns$6,defaultParseWidth:"wide"}),day:buildMatchFn({matchPatterns:matchDayPatterns$6,defaultMatchWidth:"wide",parsePatterns:parseDayPatterns$6,defaultParseWidth:"any"}),dayPeriod:buildMatchFn({matchPatterns:matchDayPeriodPatterns$6,defaultMatchWidth:"any",parsePatterns:parseDayPeriodPatterns$6,defaultParseWidth:"any"})},sl={code:"sl",formatDistance:formatDistance$6,formatLong:formatLong$6,formatRelative:formatRelative$6,localize:localize$6,match:match$6,options:{weekStartsOn:1,firstWeekContainsDate:1}},formatDistanceLocale$5={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"}},wordMapping=["noll","en","två","tre","fyra","fem","sex","sju","åtta","nio","tio","elva","tolv"],formatDistance$5=(n,t,e)=>{let i;const r=formatDistanceLocale$5[n];return typeof r=="string"?i=r:t===1?i=r.one:i=r.other.replace("{{count}}",t<13?wordMapping[t]:String(t)),e!=null&&e.addSuffix?e.comparison&&e.comparison>0?"om "+i:i+" sedan":i},dateFormats$5={full:"EEEE d MMMM y",long:"d MMMM y",medium:"d MMM y",short:"y-MM-dd"},timeFormats$5={full:"'kl'. HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},dateTimeFormats$5={full:"{{date}} 'kl.' {{time}}",long:"{{date}} 'kl.' {{time}}",medium:"{{date}} {{time}}",short:"{{date}} {{time}}"},formatLong$5={date:buildFormatLongFn({formats:dateFormats$5,defaultWidth:"full"}),time:buildFormatLongFn({formats:timeFormats$5,defaultWidth:"full"}),dateTime:buildFormatLongFn({formats:dateTimeFormats$5,defaultWidth:"full"})},formatRelativeLocale$5={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"},formatRelative$5=(n,t,e,i)=>formatRelativeLocale$5[n],eraValues$5={narrow:["f.Kr.","e.Kr."],abbreviated:["f.Kr.","e.Kr."],wide:["före Kristus","efter Kristus"]},quarterValues$5={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1:a kvartalet","2:a kvartalet","3:e kvartalet","4:e kvartalet"]},monthValues$5={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"]},dayValues$5={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"]},dayPeriodValues$5={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"}},formattingDayPeriodValues$5={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"}},ordinalNumber$5=(n,t)=>{const e=Number(n),i=e%100;if(i>20||i<10)switch(i%10){case 1:case 2:return e+":a"}return e+":e"},localize$5={ordinalNumber:ordinalNumber$5,era:buildLocalizeFn({values:eraValues$5,defaultWidth:"wide"}),quarter:buildLocalizeFn({values:quarterValues$5,defaultWidth:"wide",argumentCallback:n=>n-1}),month:buildLocalizeFn({values:monthValues$5,defaultWidth:"wide"}),day:buildLocalizeFn({values:dayValues$5,defaultWidth:"wide"}),dayPeriod:buildLocalizeFn({values:dayPeriodValues$5,defaultWidth:"wide",formattingValues:formattingDayPeriodValues$5,defaultFormattingWidth:"wide"})},matchOrdinalNumberPattern$5=/^(\d+)(:a|:e)?/i,parseOrdinalNumberPattern$5=/\d+/i,matchEraPatterns$5={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},parseEraPatterns$5={any:[/^f/i,/^[ev]/i]},matchQuarterPatterns$5={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](:a|:e)? kvartalet/i},parseQuarterPatterns$5={any:[/1/i,/2/i,/3/i,/4/i]},matchMonthPatterns$5={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},parseMonthPatterns$5={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]},matchDayPatterns$5={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},parseDayPatterns$5={any:[/^s/i,/^m/i,/^ti/i,/^o/i,/^to/i,/^f/i,/^l/i]},matchDayPeriodPatterns$5={any:/^([fe]\.?\s?m\.?|midn(att)?|midd(ag)?|(på) (morgonen|eftermiddagen|kvällen|natten))/i},parseDayPeriodPatterns$5={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}},match$5={ordinalNumber:buildMatchPatternFn({matchPattern:matchOrdinalNumberPattern$5,parsePattern:parseOrdinalNumberPattern$5,valueCallback:n=>parseInt(n,10)}),era:buildMatchFn({matchPatterns:matchEraPatterns$5,defaultMatchWidth:"wide",parsePatterns:parseEraPatterns$5,defaultParseWidth:"any"}),quarter:buildMatchFn({matchPatterns:matchQuarterPatterns$5,defaultMatchWidth:"wide",parsePatterns:parseQuarterPatterns$5,defaultParseWidth:"any",valueCallback:n=>n+1}),month:buildMatchFn({matchPatterns:matchMonthPatterns$5,defaultMatchWidth:"wide",parsePatterns:parseMonthPatterns$5,defaultParseWidth:"any"}),day:buildMatchFn({matchPatterns:matchDayPatterns$5,defaultMatchWidth:"wide",parsePatterns:parseDayPatterns$5,defaultParseWidth:"any"}),dayPeriod:buildMatchFn({matchPatterns:matchDayPeriodPatterns$5,defaultMatchWidth:"any",parsePatterns:parseDayPeriodPatterns$5,defaultParseWidth:"any"})},sv={code:"sv",formatDistance:formatDistance$5,formatLong:formatLong$5,formatRelative:formatRelative$5,localize:localize$5,match:match$5,options:{weekStartsOn:1,firstWeekContainsDate:4}},formatDistanceLocale$4={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"}},formatDistance$4=(n,t,e)=>{let i;const r=formatDistanceLocale$4[n];return typeof r=="string"?i=r:t===1?i=r.one:i=r.other.replace("{{count}}",t.toString()),e!=null&&e.addSuffix?e.comparison&&e.comparison>0?i+" sonra":i+" önce":i},dateFormats$4={full:"d MMMM y EEEE",long:"d MMMM y",medium:"d MMM y",short:"dd.MM.yyyy"},timeFormats$4={full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},dateTimeFormats$4={full:"{{date}} 'saat' {{time}}",long:"{{date}} 'saat' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},formatLong$4={date:buildFormatLongFn({formats:dateFormats$4,defaultWidth:"full"}),time:buildFormatLongFn({formats:timeFormats$4,defaultWidth:"full"}),dateTime:buildFormatLongFn({formats:dateTimeFormats$4,defaultWidth:"full"})},formatRelativeLocale$4={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"},formatRelative$4=(n,t,e,i)=>formatRelativeLocale$4[n],eraValues$4={narrow:["MÖ","MS"],abbreviated:["MÖ","MS"],wide:["Milattan Önce","Milattan Sonra"]},quarterValues$4={narrow:["1","2","3","4"],abbreviated:["1Ç","2Ç","3Ç","4Ç"],wide:["İlk çeyrek","İkinci Çeyrek","Üçüncü çeyrek","Son çeyrek"]},monthValues$4={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"]},dayValues$4={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"]},dayPeriodValues$4={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"}},formattingDayPeriodValues$4={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"}},ordinalNumber$4=(n,t)=>Number(n)+".",localize$4={ordinalNumber:ordinalNumber$4,era:buildLocalizeFn({values:eraValues$4,defaultWidth:"wide"}),quarter:buildLocalizeFn({values:quarterValues$4,defaultWidth:"wide",argumentCallback:n=>Number(n)-1}),month:buildLocalizeFn({values:monthValues$4,defaultWidth:"wide"}),day:buildLocalizeFn({values:dayValues$4,defaultWidth:"wide"}),dayPeriod:buildLocalizeFn({values:dayPeriodValues$4,defaultWidth:"wide",formattingValues:formattingDayPeriodValues$4,defaultFormattingWidth:"wide"})},matchOrdinalNumberPattern$4=/^(\d+)(\.)?/i,parseOrdinalNumberPattern$4=/\d+/i,matchEraPatterns$4={narrow:/^(mö|ms)/i,abbreviated:/^(mö|ms)/i,wide:/^(milattan önce|milattan sonra)/i},parseEraPatterns$4={any:[/(^mö|^milattan önce)/i,/(^ms|^milattan sonra)/i]},matchQuarterPatterns$4={narrow:/^[1234]/i,abbreviated:/^[1234]ç/i,wide:/^((i|İ)lk|(i|İ)kinci|üçüncü|son) çeyrek/i},parseQuarterPatterns$4={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]},matchMonthPatterns$4={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},parseMonthPatterns$4={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]},matchDayPatterns$4={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},parseDayPatterns$4={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]},matchDayPeriodPatterns$4={narrow:/^(öö|ös|gy|ö|sa|ös|ak|ge)/i,any:/^(ö\.?\s?[ös]\.?|öğleden sonra|gece yarısı|öğle|(sabah|öğ|akşam|gece)(leyin))/i},parseDayPeriodPatterns$4={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}},match$4={ordinalNumber:buildMatchPatternFn({matchPattern:matchOrdinalNumberPattern$4,parsePattern:parseOrdinalNumberPattern$4,valueCallback:function(n){return parseInt(n,10)}}),era:buildMatchFn({matchPatterns:matchEraPatterns$4,defaultMatchWidth:"wide",parsePatterns:parseEraPatterns$4,defaultParseWidth:"any"}),quarter:buildMatchFn({matchPatterns:matchQuarterPatterns$4,defaultMatchWidth:"wide",parsePatterns:parseQuarterPatterns$4,defaultParseWidth:"any",valueCallback:n=>n+1}),month:buildMatchFn({matchPatterns:matchMonthPatterns$4,defaultMatchWidth:"wide",parsePatterns:parseMonthPatterns$4,defaultParseWidth:"any"}),day:buildMatchFn({matchPatterns:matchDayPatterns$4,defaultMatchWidth:"wide",parsePatterns:parseDayPatterns$4,defaultParseWidth:"any"}),dayPeriod:buildMatchFn({matchPatterns:matchDayPeriodPatterns$4,defaultMatchWidth:"any",parsePatterns:parseDayPeriodPatterns$4,defaultParseWidth:"any"})},tr={code:"tr",formatDistance:formatDistance$4,formatLong:formatLong$4,formatRelative:formatRelative$4,localize:localize$4,match:match$4,options:{weekStartsOn:1,firstWeekContainsDate:1}};function declension(n,t){if(n.one!==void 0&&t===1)return n.one;const e=t%10,i=t%100;return e===1&&i!==11?n.singularNominative.replace("{{count}}",String(t)):e>=2&&e<=4&&(i<10||i>20)?n.singularGenitive.replace("{{count}}",String(t)):n.pluralGenitive.replace("{{count}}",String(t))}function buildLocalizeTokenFn(n){return(t,e)=>e&&e.addSuffix?e.comparison&&e.comparison>0?n.future?declension(n.future,t):"за "+declension(n.regular,t):n.past?declension(n.past,t):declension(n.regular,t)+" тому":declension(n.regular,t)}const halfAtMinute=(n,t)=>t&&t.addSuffix?t.comparison&&t.comparison>0?"за півхвилини":"півхвилини тому":"півхвилини",formatDistanceLocale$3={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}} років"}})},formatDistance$3=(n,t,e)=>(e=e||{},formatDistanceLocale$3[n](t,e)),dateFormats$3={full:"EEEE, do MMMM y 'р.'",long:"do MMMM y 'р.'",medium:"d MMM y 'р.'",short:"dd.MM.y"},timeFormats$3={full:"H:mm:ss zzzz",long:"H:mm:ss z",medium:"H:mm:ss",short:"H:mm"},dateTimeFormats$3={full:"{{date}} 'о' {{time}}",long:"{{date}} 'о' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},formatLong$3={date:buildFormatLongFn({formats:dateFormats$3,defaultWidth:"full"}),time:buildFormatLongFn({formats:timeFormats$3,defaultWidth:"full"}),dateTime:buildFormatLongFn({formats:dateTimeFormats$3,defaultWidth:"full"})},accusativeWeekdays=["неділю","понеділок","вівторок","середу","четвер","п’ятницю","суботу"];function lastWeek(n){const t=accusativeWeekdays[n];switch(n){case 0:case 3:case 5:case 6:return"'у минулу "+t+" о' p";case 1:case 2:case 4:return"'у минулий "+t+" о' p"}}function thisWeek(n){return"'у "+accusativeWeekdays[n]+" о' p"}function nextWeek(n){const t=accusativeWeekdays[n];switch(n){case 0:case 3:case 5:case 6:return"'у наступну "+t+" о' p";case 1:case 2:case 4:return"'у наступний "+t+" о' p"}}const lastWeekFormat=(n,t,e)=>{const i=toDate(n),r=i.getDay();return isSameWeek(i,t,e)?thisWeek(r):lastWeek(r)},nextWeekFormat=(n,t,e)=>{const i=toDate(n),r=i.getDay();return isSameWeek(i,t,e)?thisWeek(r):nextWeek(r)},formatRelativeLocale$3={lastWeek:lastWeekFormat,yesterday:"'вчора о' p",today:"'сьогодні о' p",tomorrow:"'завтра о' p",nextWeek:nextWeekFormat,other:"P"},formatRelative$3=(n,t,e,i)=>{const r=formatRelativeLocale$3[n];return typeof r=="function"?r(t,e,i):r},eraValues$3={narrow:["до н.е.","н.е."],abbreviated:["до н. е.","н. е."],wide:["до нашої ери","нашої ери"]},quarterValues$3={narrow:["1","2","3","4"],abbreviated:["1-й кв.","2-й кв.","3-й кв.","4-й кв."],wide:["1-й квартал","2-й квартал","3-й квартал","4-й квартал"]},monthValues$3={narrow:["С","Л","Б","К","Т","Ч","Л","С","В","Ж","Л","Г"],abbreviated:["січ.","лют.","берез.","квіт.","трав.","черв.","лип.","серп.","верес.","жовт.","листоп.","груд."],wide:["січень","лютий","березень","квітень","травень","червень","липень","серпень","вересень","жовтень","листопад","грудень"]},formattingMonthValues$1={narrow:["С","Л","Б","К","Т","Ч","Л","С","В","Ж","Л","Г"],abbreviated:["січ.","лют.","берез.","квіт.","трав.","черв.","лип.","серп.","верес.","жовт.","листоп.","груд."],wide:["січня","лютого","березня","квітня","травня","червня","липня","серпня","вересня","жовтня","листопада","грудня"]},dayValues$3={narrow:["Н","П","В","С","Ч","П","С"],short:["нд","пн","вт","ср","чт","пт","сб"],abbreviated:["нед","пон","вів","сер","чтв","птн","суб"],wide:["неділя","понеділок","вівторок","середа","четвер","п’ятниця","субота"]},dayPeriodValues$3={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:"ніч"}},formattingDayPeriodValues$3={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:"ночі"}},ordinalNumber$3=(n,t)=>{const e=String(t==null?void 0:t.unit),i=Number(n);let r;return e==="date"?i===3||i===23?r="-є":r="-е":e==="minute"||e==="second"||e==="hour"?r="-а":r="-й",i+r},localize$3={ordinalNumber:ordinalNumber$3,era:buildLocalizeFn({values:eraValues$3,defaultWidth:"wide"}),quarter:buildLocalizeFn({values:quarterValues$3,defaultWidth:"wide",argumentCallback:n=>n-1}),month:buildLocalizeFn({values:monthValues$3,defaultWidth:"wide",formattingValues:formattingMonthValues$1,defaultFormattingWidth:"wide"}),day:buildLocalizeFn({values:dayValues$3,defaultWidth:"wide"}),dayPeriod:buildLocalizeFn({values:dayPeriodValues$3,defaultWidth:"any",formattingValues:formattingDayPeriodValues$3,defaultFormattingWidth:"wide"})},matchOrdinalNumberPattern$3=/^(\d+)(-?(е|й|є|а|я))?/i,parseOrdinalNumberPattern$3=/\d+/i,matchEraPatterns$3={narrow:/^((до )?н\.?\s?е\.?)/i,abbreviated:/^((до )?н\.?\s?е\.?)/i,wide:/^(до нашої ери|нашої ери|наша ера)/i},parseEraPatterns$3={any:[/^д/i,/^н/i]},matchQuarterPatterns$3={narrow:/^[1234]/i,abbreviated:/^[1234](-?[иі]?й?)? кв.?/i,wide:/^[1234](-?[иі]?й?)? квартал/i},parseQuarterPatterns$3={any:[/1/i,/2/i,/3/i,/4/i]},matchMonthPatterns$3={narrow:/^[слбктчвжг]/i,abbreviated:/^(січ|лют|бер(ез)?|квіт|трав|черв|лип|серп|вер(ес)?|жовт|лис(топ)?|груд)\.?/i,wide:/^(січень|січня|лютий|лютого|березень|березня|квітень|квітня|травень|травня|червня|червень|липень|липня|серпень|серпня|вересень|вересня|жовтень|жовтня|листопад[а]?|грудень|грудня)/i},parseMonthPatterns$3={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]},matchDayPatterns$3={narrow:/^[нпвсч]/i,short:/^(нд|пн|вт|ср|чт|пт|сб)\.?/i,abbreviated:/^(нед|пон|вів|сер|че?тв|птн?|суб)\.?/i,wide:/^(неділ[яі]|понеділ[ок][ка]|вівтор[ок][ка]|серед[аи]|четвер(га)?|п\W*?ятниц[яі]|субот[аи])/i},parseDayPatterns$3={narrow:[/^н/i,/^п/i,/^в/i,/^с/i,/^ч/i,/^п/i,/^с/i],any:[/^н/i,/^п[он]/i,/^в/i,/^с[ер]/i,/^ч/i,/^п\W*?[ят]/i,/^с[уб]/i]},matchDayPeriodPatterns$3={narrow:/^([дп]п|півн\.?|пол\.?|ранок|ранку|день|дня|веч\.?|ніч|ночі)/i,abbreviated:/^([дп]п|півн\.?|пол\.?|ранок|ранку|день|дня|веч\.?|ніч|ночі)/i,wide:/^([дп]п|північ|полудень|ранок|ранку|день|дня|вечір|вечора|ніч|ночі)/i},parseDayPeriodPatterns$3={any:{am:/^дп/i,pm:/^пп/i,midnight:/^півн/i,noon:/^пол/i,morning:/^р/i,afternoon:/^д[ен]/i,evening:/^в/i,night:/^н/i}},match$3={ordinalNumber:buildMatchPatternFn({matchPattern:matchOrdinalNumberPattern$3,parsePattern:parseOrdinalNumberPattern$3,valueCallback:n=>parseInt(n,10)}),era:buildMatchFn({matchPatterns:matchEraPatterns$3,defaultMatchWidth:"wide",parsePatterns:parseEraPatterns$3,defaultParseWidth:"any"}),quarter:buildMatchFn({matchPatterns:matchQuarterPatterns$3,defaultMatchWidth:"wide",parsePatterns:parseQuarterPatterns$3,defaultParseWidth:"any",valueCallback:n=>n+1}),month:buildMatchFn({matchPatterns:matchMonthPatterns$3,defaultMatchWidth:"wide",parsePatterns:parseMonthPatterns$3,defaultParseWidth:"any"}),day:buildMatchFn({matchPatterns:matchDayPatterns$3,defaultMatchWidth:"wide",parsePatterns:parseDayPatterns$3,defaultParseWidth:"any"}),dayPeriod:buildMatchFn({matchPatterns:matchDayPeriodPatterns$3,defaultMatchWidth:"wide",parsePatterns:parseDayPeriodPatterns$3,defaultParseWidth:"any"})},uk={code:"uk",formatDistance:formatDistance$3,formatLong:formatLong$3,formatRelative:formatRelative$3,localize:localize$3,match:match$3,options:{weekStartsOn:1,firstWeekContainsDate:1}},formatDistanceLocale$2={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"}},formatDistance$2=(n,t,e)=>{let i;const r=formatDistanceLocale$2[n];return typeof r=="string"?i=r:t===1?i=r.one:i=r.other.replace("{{count}}",String(t)),e!=null&&e.addSuffix?e.comparison&&e.comparison>0?i+" nữa":i+" trước":i},dateFormats$2={full:"EEEE, 'ngày' d MMMM 'năm' y",long:"'ngày' d MMMM 'năm' y",medium:"d MMM 'năm' y",short:"dd/MM/y"},timeFormats$2={full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},dateTimeFormats$2={full:"{{date}} {{time}}",long:"{{date}} {{time}}",medium:"{{date}} {{time}}",short:"{{date}} {{time}}"},formatLong$2={date:buildFormatLongFn({formats:dateFormats$2,defaultWidth:"full"}),time:buildFormatLongFn({formats:timeFormats$2,defaultWidth:"full"}),dateTime:buildFormatLongFn({formats:dateTimeFormats$2,defaultWidth:"full"})},formatRelativeLocale$2={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"},formatRelative$2=(n,t,e,i)=>formatRelativeLocale$2[n],eraValues$2={narrow:["TCN","SCN"],abbreviated:["trước CN","sau CN"],wide:["trước Công Nguyên","sau Công Nguyên"]},quarterValues$2={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["Quý 1","Quý 2","Quý 3","Quý 4"]},formattingQuarterValues={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["quý I","quý II","quý III","quý IV"]},monthValues$2={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"]},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"]},dayValues$2={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"]},dayPeriodValues$2={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"}},formattingDayPeriodValues$2={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"}},ordinalNumber$2=(n,t)=>{const e=Number(n),i=t==null?void 0:t.unit;if(i==="quarter")switch(e){case 1:return"I";case 2:return"II";case 3:return"III";case 4:return"IV"}else if(i==="day")switch(e){case 1:return"thứ 2";case 2:return"thứ 3";case 3:return"thứ 4";case 4:return"thứ 5";case 5:return"thứ 6";case 6:return"thứ 7";case 7:return"chủ nhật"}else{if(i==="week")return e===1?"thứ nhất":"thứ "+e;if(i==="dayOfYear")return e===1?"đầu tiên":"thứ "+e}return String(e)},localize$2={ordinalNumber:ordinalNumber$2,era:buildLocalizeFn({values:eraValues$2,defaultWidth:"wide"}),quarter:buildLocalizeFn({values:quarterValues$2,defaultWidth:"wide",formattingValues:formattingQuarterValues,defaultFormattingWidth:"wide",argumentCallback:n=>n-1}),month:buildLocalizeFn({values:monthValues$2,defaultWidth:"wide",formattingValues:formattingMonthValues,defaultFormattingWidth:"wide"}),day:buildLocalizeFn({values:dayValues$2,defaultWidth:"wide"}),dayPeriod:buildLocalizeFn({values:dayPeriodValues$2,defaultWidth:"wide",formattingValues:formattingDayPeriodValues$2,defaultFormattingWidth:"wide"})},matchOrdinalNumberPattern$2=/^(\d+)/i,parseOrdinalNumberPattern$2=/\d+/i,matchEraPatterns$2={narrow:/^(tcn|scn)/i,abbreviated:/^(trước CN|sau CN)/i,wide:/^(trước Công Nguyên|sau Công Nguyên)/i},parseEraPatterns$2={any:[/^t/i,/^s/i]},matchQuarterPatterns$2={narrow:/^([1234]|i{1,3}v?)/i,abbreviated:/^q([1234]|i{1,3}v?)/i,wide:/^quý ([1234]|i{1,3}v?)/i},parseQuarterPatterns$2={any:[/(1|i)$/i,/(2|ii)$/i,/(3|iii)$/i,/(4|iv)$/i]},matchMonthPatterns$2={narrow:/^(0?[2-9]|10|11|12|0?1)/i,abbreviated:/^thg[ _]?(0?[1-9](?!\d)|10|11|12)/i,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},parseMonthPatterns$2={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]},matchDayPatterns$2={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},parseDayPatterns$2={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]},matchDayPeriodPatterns$2={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},parseDayPeriodPatterns$2={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}},match$2={ordinalNumber:buildMatchPatternFn({matchPattern:matchOrdinalNumberPattern$2,parsePattern:parseOrdinalNumberPattern$2,valueCallback:n=>parseInt(n,10)}),era:buildMatchFn({matchPatterns:matchEraPatterns$2,defaultMatchWidth:"wide",parsePatterns:parseEraPatterns$2,defaultParseWidth:"any"}),quarter:buildMatchFn({matchPatterns:matchQuarterPatterns$2,defaultMatchWidth:"wide",parsePatterns:parseQuarterPatterns$2,defaultParseWidth:"any",valueCallback:n=>n+1}),month:buildMatchFn({matchPatterns:matchMonthPatterns$2,defaultMatchWidth:"wide",parsePatterns:parseMonthPatterns$2,defaultParseWidth:"wide"}),day:buildMatchFn({matchPatterns:matchDayPatterns$2,defaultMatchWidth:"wide",parsePatterns:parseDayPatterns$2,defaultParseWidth:"wide"}),dayPeriod:buildMatchFn({matchPatterns:matchDayPeriodPatterns$2,defaultMatchWidth:"wide",parsePatterns:parseDayPeriodPatterns$2,defaultParseWidth:"any"})},vi={code:"vi",formatDistance:formatDistance$2,formatLong:formatLong$2,formatRelative:formatRelative$2,localize:localize$2,match:match$2,options:{weekStartsOn:1,firstWeekContainsDate:1}},formatDistanceLocale$1={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}} 年"}},formatDistance$1=(n,t,e)=>{let i;const r=formatDistanceLocale$1[n];return typeof r=="string"?i=r:t===1?i=r.one:i=r.other.replace("{{count}}",String(t)),e!=null&&e.addSuffix?e.comparison&&e.comparison>0?i+"内":i+"前":i},dateFormats$1={full:"y'年'M'月'd'日' EEEE",long:"y'年'M'月'd'日'",medium:"yyyy-MM-dd",short:"yy-MM-dd"},timeFormats$1={full:"zzzz a h:mm:ss",long:"z a h:mm:ss",medium:"a h:mm:ss",short:"a h:mm"},dateTimeFormats$1={full:"{{date}} {{time}}",long:"{{date}} {{time}}",medium:"{{date}} {{time}}",short:"{{date}} {{time}}"},formatLong$1={date:buildFormatLongFn({formats:dateFormats$1,defaultWidth:"full"}),time:buildFormatLongFn({formats:timeFormats$1,defaultWidth:"full"}),dateTime:buildFormatLongFn({formats:dateTimeFormats$1,defaultWidth:"full"})};function checkWeek(n,t,e){const i="eeee p";return isSameWeek(n,t,e)?i:n.getTime()>t.getTime()?"'下个'"+i:"'上个'"+i}const formatRelativeLocale$1={lastWeek:checkWeek,yesterday:"'昨天' p",today:"'今天' p",tomorrow:"'明天' p",nextWeek:checkWeek,other:"PP p"},formatRelative$1=(n,t,e,i)=>{const r=formatRelativeLocale$1[n];return typeof r=="function"?r(t,e,i):r},eraValues$1={narrow:["前","公元"],abbreviated:["前","公元"],wide:["公元前","公元"]},quarterValues$1={narrow:["1","2","3","4"],abbreviated:["第一季","第二季","第三季","第四季"],wide:["第一季度","第二季度","第三季度","第四季度"]},monthValues$1={narrow:["一","二","三","四","五","六","七","八","九","十","十一","十二"],abbreviated:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],wide:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"]},dayValues$1={narrow:["日","一","二","三","四","五","六"],short:["日","一","二","三","四","五","六"],abbreviated:["周日","周一","周二","周三","周四","周五","周六"],wide:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"]},dayPeriodValues$1={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:"夜间"}},formattingDayPeriodValues$1={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:"夜间"}},ordinalNumber$1=(n,t)=>{const e=Number(n);switch(t==null?void 0:t.unit){case"date":return e.toString()+"日";case"hour":return e.toString()+"时";case"minute":return e.toString()+"分";case"second":return e.toString()+"秒";default:return"第 "+e.toString()}},localize$1={ordinalNumber:ordinalNumber$1,era:buildLocalizeFn({values:eraValues$1,defaultWidth:"wide"}),quarter:buildLocalizeFn({values:quarterValues$1,defaultWidth:"wide",argumentCallback:n=>n-1}),month:buildLocalizeFn({values:monthValues$1,defaultWidth:"wide"}),day:buildLocalizeFn({values:dayValues$1,defaultWidth:"wide"}),dayPeriod:buildLocalizeFn({values:dayPeriodValues$1,defaultWidth:"wide",formattingValues:formattingDayPeriodValues$1,defaultFormattingWidth:"wide"})},matchOrdinalNumberPattern$1=/^(第\s*)?\d+(日|时|分|秒)?/i,parseOrdinalNumberPattern$1=/\d+/i,matchEraPatterns$1={narrow:/^(前)/i,abbreviated:/^(前)/i,wide:/^(公元前|公元)/i},parseEraPatterns$1={any:[/^(前)/i,/^(公元)/i]},matchQuarterPatterns$1={narrow:/^[1234]/i,abbreviated:/^第[一二三四]刻/i,wide:/^第[一二三四]刻钟/i},parseQuarterPatterns$1={any:[/(1|一)/i,/(2|二)/i,/(3|三)/i,/(4|四)/i]},matchMonthPatterns$1={narrow:/^(一|二|三|四|五|六|七|八|九|十[二一])/i,abbreviated:/^(一|二|三|四|五|六|七|八|九|十[二一]|\d|1[12])月/i,wide:/^(一|二|三|四|五|六|七|八|九|十[二一])月/i},parseMonthPatterns$1={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]},matchDayPatterns$1={narrow:/^[一二三四五六日]/i,short:/^[一二三四五六日]/i,abbreviated:/^周[一二三四五六日]/i,wide:/^星期[一二三四五六日]/i},parseDayPatterns$1={any:[/日/i,/一/i,/二/i,/三/i,/四/i,/五/i,/六/i]},matchDayPeriodPatterns$1={any:/^(上午?|下午?|午夜|[中正]午|早上?|下午|晚上?|凌晨|)/i},parseDayPeriodPatterns$1={any:{am:/^上午?/i,pm:/^下午?/i,midnight:/^午夜/i,noon:/^[中正]午/i,morning:/^早上/i,afternoon:/^下午/i,evening:/^晚上?/i,night:/^凌晨/i}},match$1={ordinalNumber:buildMatchPatternFn({matchPattern:matchOrdinalNumberPattern$1,parsePattern:parseOrdinalNumberPattern$1,valueCallback:n=>parseInt(n,10)}),era:buildMatchFn({matchPatterns:matchEraPatterns$1,defaultMatchWidth:"wide",parsePatterns:parseEraPatterns$1,defaultParseWidth:"any"}),quarter:buildMatchFn({matchPatterns:matchQuarterPatterns$1,defaultMatchWidth:"wide",parsePatterns:parseQuarterPatterns$1,defaultParseWidth:"any",valueCallback:n=>n+1}),month:buildMatchFn({matchPatterns:matchMonthPatterns$1,defaultMatchWidth:"wide",parsePatterns:parseMonthPatterns$1,defaultParseWidth:"any"}),day:buildMatchFn({matchPatterns:matchDayPatterns$1,defaultMatchWidth:"wide",parsePatterns:parseDayPatterns$1,defaultParseWidth:"any"}),dayPeriod:buildMatchFn({matchPatterns:matchDayPeriodPatterns$1,defaultMatchWidth:"any",parsePatterns:parseDayPeriodPatterns$1,defaultParseWidth:"any"})},zhCN={code:"zh-CN",formatDistance:formatDistance$1,formatLong:formatLong$1,formatRelative:formatRelative$1,localize:localize$1,match:match$1,options:{weekStartsOn:1,firstWeekContainsDate:4}},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}} 年"}},formatDistance=(n,t,e)=>{let i;const r=formatDistanceLocale[n];return typeof r=="string"?i=r:t===1?i=r.one:i=r.other.replace("{{count}}",String(t)),e!=null&&e.addSuffix?e.comparison&&e.comparison>0?i+"內":i+"前":i},dateFormats={full:"y'年'M'月'd'日' EEEE",long:"y'年'M'月'd'日'",medium:"yyyy-MM-dd",short:"yy-MM-dd"},timeFormats={full:"zzzz a h:mm:ss",long:"z a h:mm:ss",medium:"a h:mm:ss",short:"a h:mm"},dateTimeFormats={full:"{{date}} {{time}}",long:"{{date}} {{time}}",medium:"{{date}} {{time}}",short:"{{date}} {{time}}"},formatLong={date:buildFormatLongFn({formats:dateFormats,defaultWidth:"full"}),time:buildFormatLongFn({formats:timeFormats,defaultWidth:"full"}),dateTime:buildFormatLongFn({formats:dateTimeFormats,defaultWidth:"full"})},formatRelativeLocale={lastWeek:"'上個'eeee p",yesterday:"'昨天' p",today:"'今天' p",tomorrow:"'明天' p",nextWeek:"'下個'eeee p",other:"P"},formatRelative=(n,t,e,i)=>formatRelativeLocale[n],eraValues={narrow:["前","公元"],abbreviated:["前","公元"],wide:["公元前","公元"]},quarterValues={narrow:["1","2","3","4"],abbreviated:["第一刻","第二刻","第三刻","第四刻"],wide:["第一刻鐘","第二刻鐘","第三刻鐘","第四刻鐘"]},monthValues={narrow:["一","二","三","四","五","六","七","八","九","十","十一","十二"],abbreviated:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],wide:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"]},dayValues={narrow:["日","一","二","三","四","五","六"],short:["日","一","二","三","四","五","六"],abbreviated:["週日","週一","週二","週三","週四","週五","週六"],wide:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"]},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:"夜間"}},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:"夜間"}},ordinalNumber=(n,t)=>{const e=Number(n);switch(t==null?void 0:t.unit){case"date":return e+"日";case"hour":return e+"時";case"minute":return e+"分";case"second":return e+"秒";default:return"第 "+e}},localize={ordinalNumber,era:buildLocalizeFn({values:eraValues,defaultWidth:"wide"}),quarter:buildLocalizeFn({values:quarterValues,defaultWidth:"wide",argumentCallback:n=>n-1}),month:buildLocalizeFn({values:monthValues,defaultWidth:"wide"}),day:buildLocalizeFn({values:dayValues,defaultWidth:"wide"}),dayPeriod:buildLocalizeFn({values:dayPeriodValues,defaultWidth:"wide",formattingValues:formattingDayPeriodValues,defaultFormattingWidth:"wide"})},matchOrdinalNumberPattern=/^(第\s*)?\d+(日|時|分|秒)?/i,parseOrdinalNumberPattern=/\d+/i,matchEraPatterns={narrow:/^(前)/i,abbreviated:/^(前)/i,wide:/^(公元前|公元)/i},parseEraPatterns={any:[/^(前)/i,/^(公元)/i]},matchQuarterPatterns={narrow:/^[1234]/i,abbreviated:/^第[一二三四]刻/i,wide:/^第[一二三四]刻鐘/i},parseQuarterPatterns={any:[/(1|一)/i,/(2|二)/i,/(3|三)/i,/(4|四)/i]},matchMonthPatterns={narrow:/^(一|二|三|四|五|六|七|八|九|十[二一])/i,abbreviated:/^(一|二|三|四|五|六|七|八|九|十[二一]|\d|1[12])月/i,wide:/^(一|二|三|四|五|六|七|八|九|十[二一])月/i},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]},matchDayPatterns={narrow:/^[一二三四五六日]/i,short:/^[一二三四五六日]/i,abbreviated:/^週[一二三四五六日]/i,wide:/^星期[一二三四五六日]/i},parseDayPatterns={any:[/日/i,/一/i,/二/i,/三/i,/四/i,/五/i,/六/i]},matchDayPeriodPatterns={any:/^(上午?|下午?|午夜|[中正]午|早上?|下午|晚上?|凌晨)/i},parseDayPeriodPatterns={any:{am:/^上午?/i,pm:/^下午?/i,midnight:/^午夜/i,noon:/^[中正]午/i,morning:/^早上/i,afternoon:/^下午/i,evening:/^晚上?/i,night:/^凌晨/i}},match={ordinalNumber:buildMatchPatternFn({matchPattern:matchOrdinalNumberPattern,parsePattern:parseOrdinalNumberPattern,valueCallback:n=>parseInt(n,10)}),era:buildMatchFn({matchPatterns:matchEraPatterns,defaultMatchWidth:"wide",parsePatterns:parseEraPatterns,defaultParseWidth:"any"}),quarter:buildMatchFn({matchPatterns:matchQuarterPatterns,defaultMatchWidth:"wide",parsePatterns:parseQuarterPatterns,defaultParseWidth:"any",valueCallback:n=>n+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"})},zhTW={code:"zh-TW",formatDistance,formatLong,formatRelative,localize,match,options:{weekStartsOn:1,firstWeekContainsDate:4}},consoleLogger={type:"logger",log(n){this.output("log",n)},warn(n){this.output("warn",n)},error(n){this.output("error",n)},output(n,t){console&&console[n]&&console[n].apply(console,t)}};class Logger{constructor(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.init(t,e)}init(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.prefix=e.prefix||"i18next:",this.logger=t||consoleLogger,this.options=e,this.debug=e.debug}log(){for(var t=arguments.length,e=new Array(t),i=0;i{this.observers[i]=this.observers[i]||[],this.observers[i].push(e)}),this}off(t,e){if(this.observers[t]){if(!e){delete this.observers[t];return}this.observers[t]=this.observers[t].filter(i=>i!==e)}}emit(t){for(var e=arguments.length,i=new Array(e>1?e-1:0),r=1;r{o(...i)}),this.observers["*"]&&[].concat(this.observers["*"]).forEach(o=>{o.apply(o,[t,...i])})}}function defer(){let n,t;const e=new Promise((i,r)=>{n=i,t=r});return e.resolve=n,e.reject=t,e}function makeString(n){return n==null?"":""+n}function copy(n,t,e){n.forEach(i=>{t[i]&&(e[i]=t[i])})}function getLastOfPath(n,t,e){function i(o){return o&&o.indexOf("###")>-1?o.replace(/###/g,"."):o}function r(){return!n||typeof n=="string"}const a=typeof t!="string"?[].concat(t):t.split(".");for(;a.length>1;){if(r())return{};const o=i(a.shift());!n[o]&&e&&(n[o]=new e),Object.prototype.hasOwnProperty.call(n,o)?n=n[o]:n={}}return r()?{}:{obj:n,k:i(a.shift())}}function setPath(n,t,e){const{obj:i,k:r}=getLastOfPath(n,t,Object);i[r]=e}function pushPath(n,t,e,i){const{obj:r,k:a}=getLastOfPath(n,t,Object);r[a]=r[a]||[],i&&(r[a]=r[a].concat(e)),i||r[a].push(e)}function getPath(n,t){const{obj:e,k:i}=getLastOfPath(n,t);if(e)return e[i]}function getPathWithDefaults(n,t,e){const i=getPath(n,e);return i!==void 0?i:getPath(t,e)}function deepExtend(n,t,e){for(const i in t)i!=="__proto__"&&i!=="constructor"&&(i in n?typeof n[i]=="string"||n[i]instanceof String||typeof t[i]=="string"||t[i]instanceof String?e&&(n[i]=t[i]):deepExtend(n[i],t[i],e):n[i]=t[i]);return n}function regexEscape(n){return n.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}var _entityMap={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};function escape$1(n){return typeof n=="string"?n.replace(/[&<>"'\/]/g,t=>_entityMap[t]):n}const chars=[" ",",","?","!",";"];function looksLikeObjectPath(n,t,e){t=t||"",e=e||"";const i=chars.filter(o=>t.indexOf(o)<0&&e.indexOf(o)<0);if(i.length===0)return!0;const r=new RegExp(`(${i.map(o=>o==="?"?"\\?":o).join("|")})`);let a=!r.test(n);if(!a){const o=n.indexOf(e);o>0&&!r.test(n.substring(0,o))&&(a=!0)}return a}function deepFind(n,t){let e=arguments.length>2&&arguments[2]!==void 0?arguments[2]:".";if(!n)return;if(n[t])return n[t];const i=t.split(e);let r=n;for(let a=0;aa+o;)o++,l=i.slice(a,a+o).join(e),u=r[l];if(u===void 0)return;if(u===null)return null;if(t.endsWith(l)){if(typeof u=="string")return u;if(l&&typeof u[l]=="string")return u[l]}const d=i.slice(a+o).join(e);return d?deepFind(u,d,e):void 0}r=r[i[a]]}return r}function getCleanedCode(n){return n&&n.indexOf("_")>0?n.replace("_","-"):n}class ResourceStore extends EventEmitter{constructor(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{ns:["translation"],defaultNS:"translation"};super(),this.data=t||{},this.options=e,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.options.ignoreJSONStructure===void 0&&(this.options.ignoreJSONStructure=!0)}addNamespaces(t){this.options.ns.indexOf(t)<0&&this.options.ns.push(t)}removeNamespaces(t){const e=this.options.ns.indexOf(t);e>-1&&this.options.ns.splice(e,1)}getResource(t,e,i){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};const a=r.keySeparator!==void 0?r.keySeparator:this.options.keySeparator,o=r.ignoreJSONStructure!==void 0?r.ignoreJSONStructure:this.options.ignoreJSONStructure;let l=[t,e];i&&typeof i!="string"&&(l=l.concat(i)),i&&typeof i=="string"&&(l=l.concat(a?i.split(a):i)),t.indexOf(".")>-1&&(l=t.split("."));const u=getPath(this.data,l);return u||!o||typeof i!="string"?u:deepFind(this.data&&this.data[t]&&this.data[t][e],i,a)}addResource(t,e,i,r){let a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{silent:!1};const o=a.keySeparator!==void 0?a.keySeparator:this.options.keySeparator;let l=[t,e];i&&(l=l.concat(o?i.split(o):i)),t.indexOf(".")>-1&&(l=t.split("."),r=e,e=l[1]),this.addNamespaces(e),setPath(this.data,l,r),a.silent||this.emit("added",t,e,i,r)}addResources(t,e,i){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{silent:!1};for(const a in i)(typeof i[a]=="string"||Object.prototype.toString.apply(i[a])==="[object Array]")&&this.addResource(t,e,a,i[a],{silent:!0});r.silent||this.emit("added",t,e,i)}addResourceBundle(t,e,i,r,a){let o=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{silent:!1},l=[t,e];t.indexOf(".")>-1&&(l=t.split("."),r=i,i=e,e=l[1]),this.addNamespaces(e);let u=getPath(this.data,l)||{};r?deepExtend(u,i,a):u={...u,...i},setPath(this.data,l,u),o.silent||this.emit("added",t,e,i)}removeResourceBundle(t,e){this.hasResourceBundle(t,e)&&delete this.data[t][e],this.removeNamespaces(e),this.emit("removed",t,e)}hasResourceBundle(t,e){return this.getResource(t,e)!==void 0}getResourceBundle(t,e){return e||(e=this.options.defaultNS),this.options.compatibilityAPI==="v1"?{...this.getResource(t,e)}:this.getResource(t,e)}getDataByLanguage(t){return this.data[t]}hasLanguageSomeTranslations(t){const e=this.getDataByLanguage(t);return!!(e&&Object.keys(e)||[]).find(r=>e[r]&&Object.keys(e[r]).length>0)}toJSON(){return this.data}}var postProcessor={processors:{},addPostProcessor(n){this.processors[n.name]=n},handle(n,t,e,i,r){return n.forEach(a=>{this.processors[a]&&(t=this.processors[a].process(t,e,i,r))}),t}};const checkedLoadedFor={};class Translator extends EventEmitter{constructor(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};super(),copy(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],t,this),this.options=e,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.logger=baseLogger.create("translator")}changeLanguage(t){t&&(this.language=t)}exists(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}};if(t==null)return!1;const i=this.resolve(t,e);return i&&i.res!==void 0}extractFromKey(t,e){let i=e.nsSeparator!==void 0?e.nsSeparator:this.options.nsSeparator;i===void 0&&(i=":");const r=e.keySeparator!==void 0?e.keySeparator:this.options.keySeparator;let a=e.ns||this.options.defaultNS||[];const o=i&&t.indexOf(i)>-1,l=!this.options.userDefinedKeySeparator&&!e.keySeparator&&!this.options.userDefinedNsSeparator&&!e.nsSeparator&&!looksLikeObjectPath(t,i,r);if(o&&!l){const u=t.match(this.interpolator.nestingRegexp);if(u&&u.length>0)return{key:t,namespaces:a};const d=t.split(i);(i!==r||i===r&&this.options.ns.indexOf(d[0])>-1)&&(a=d.shift()),t=d.join(r)}return typeof a=="string"&&(a=[a]),{key:t,namespaces:a}}translate(t,e,i){if(typeof e!="object"&&this.options.overloadTranslationOptionHandler&&(e=this.options.overloadTranslationOptionHandler(arguments)),typeof e=="object"&&(e={...e}),e||(e={}),t==null)return"";Array.isArray(t)||(t=[String(t)]);const r=e.returnDetails!==void 0?e.returnDetails:this.options.returnDetails,a=e.keySeparator!==void 0?e.keySeparator:this.options.keySeparator,{key:o,namespaces:l}=this.extractFromKey(t[t.length-1],e),u=l[l.length-1],d=e.lng||this.language,m=e.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(d&&d.toLowerCase()==="cimode"){if(m){const k=e.nsSeparator||this.options.nsSeparator;return r?{res:`${u}${k}${o}`,usedKey:o,exactUsedKey:o,usedLng:d,usedNS:u,usedParams:this.getUsedParamsDetails(e)}:`${u}${k}${o}`}return r?{res:o,usedKey:o,exactUsedKey:o,usedLng:d,usedNS:u,usedParams:this.getUsedParamsDetails(e)}:o}const p=this.resolve(t,e);let _=p&&p.res;const y=p&&p.usedKey||o,w=p&&p.exactUsedKey||o,v=Object.prototype.toString.apply(_),E=["[object Number]","[object Function]","[object RegExp]"],x=e.joinArrays!==void 0?e.joinArrays:this.options.joinArrays,S=!this.i18nFormat||this.i18nFormat.handleAsObject;if(S&&_&&(typeof _!="string"&&typeof _!="boolean"&&typeof _!="number")&&E.indexOf(v)<0&&!(typeof x=="string"&&v==="[object Array]")){if(!e.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");const k=this.options.returnedObjectHandler?this.options.returnedObjectHandler(y,_,{...e,ns:l}):`key '${o} (${this.language})' returned an object instead of string.`;return r?(p.res=k,p.usedParams=this.getUsedParamsDetails(e),p):k}if(a){const k=v==="[object Array]",A=k?[]:{},I=k?w:y;for(const C in _)if(Object.prototype.hasOwnProperty.call(_,C)){const R=`${I}${a}${C}`;A[C]=this.translate(R,{...e,joinArrays:!1,ns:l}),A[C]===R&&(A[C]=_[C])}_=A}}else if(S&&typeof x=="string"&&v==="[object Array]")_=_.join(x),_&&(_=this.extendTranslation(_,t,e,i));else{let k=!1,A=!1;const I=e.count!==void 0&&typeof e.count!="string",C=Translator.hasDefaultValue(e),R=I?this.pluralResolver.getSuffix(d,e.count,e):"",W=e.ordinal&&I?this.pluralResolver.getSuffix(d,e.count,{ordinal:!1}):"",K=e[`defaultValue${R}`]||e[`defaultValue${W}`]||e.defaultValue;!this.isValidLookup(_)&&C&&(k=!0,_=K),this.isValidLookup(_)||(A=!0,_=o);const q=(e.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&A?void 0:_,J=C&&K!==_&&this.options.updateMissing;if(A||k||J){if(this.logger.log(J?"updateKey":"missingKey",d,u,o,J?K:_),a){const V=this.resolve(o,{...e,keySeparator:!1});V&&V.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}let nt=[];const $=this.languageUtils.getFallbackCodes(this.options.fallbackLng,e.lng||this.language);if(this.options.saveMissingTo==="fallback"&&$&&$[0])for(let V=0;V<$.length;V++)nt.push($[V]);else this.options.saveMissingTo==="all"?nt=this.languageUtils.toResolveHierarchy(e.lng||this.language):nt.push(e.lng||this.language);const N=(V,H,X)=>{const B=C&&X!==_?X:q;this.options.missingKeyHandler?this.options.missingKeyHandler(V,u,H,B,J,e):this.backendConnector&&this.backendConnector.saveMissing&&this.backendConnector.saveMissing(V,u,H,B,J,e),this.emit("missingKey",V,u,H,_)};this.options.saveMissing&&(this.options.saveMissingPlurals&&I?nt.forEach(V=>{this.pluralResolver.getSuffixes(V,e).forEach(H=>{N([V],o+H,e[`defaultValue${H}`]||K)})}):N(nt,o,K))}_=this.extendTranslation(_,t,e,p,i),A&&_===o&&this.options.appendNamespaceToMissingKey&&(_=`${u}:${o}`),(A||k)&&this.options.parseMissingKeyHandler&&(this.options.compatibilityAPI!=="v1"?_=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${u}:${o}`:o,k?_:void 0):_=this.options.parseMissingKeyHandler(_))}return r?(p.res=_,p.usedParams=this.getUsedParamsDetails(e),p):_}extendTranslation(t,e,i,r,a){var o=this;if(this.i18nFormat&&this.i18nFormat.parse)t=this.i18nFormat.parse(t,{...this.options.interpolation.defaultVariables,...i},i.lng||this.language||r.usedLng,r.usedNS,r.usedKey,{resolved:r});else if(!i.skipInterpolation){i.interpolation&&this.interpolator.init({...i,interpolation:{...this.options.interpolation,...i.interpolation}});const d=typeof t=="string"&&(i&&i.interpolation&&i.interpolation.skipOnVariables!==void 0?i.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);let m;if(d){const _=t.match(this.interpolator.nestingRegexp);m=_&&_.length}let p=i.replace&&typeof i.replace!="string"?i.replace:i;if(this.options.interpolation.defaultVariables&&(p={...this.options.interpolation.defaultVariables,...p}),t=this.interpolator.interpolate(t,p,i.lng||this.language,i),d){const _=t.match(this.interpolator.nestingRegexp),y=_&&_.length;m1&&arguments[1]!==void 0?arguments[1]:{},i,r,a,o,l;return typeof t=="string"&&(t=[t]),t.forEach(u=>{if(this.isValidLookup(i))return;const d=this.extractFromKey(u,e),m=d.key;r=m;let p=d.namespaces;this.options.fallbackNS&&(p=p.concat(this.options.fallbackNS));const _=e.count!==void 0&&typeof e.count!="string",y=_&&!e.ordinal&&e.count===0&&this.pluralResolver.shouldUseIntlApi(),w=e.context!==void 0&&(typeof e.context=="string"||typeof e.context=="number")&&e.context!=="",v=e.lngs?e.lngs:this.languageUtils.toResolveHierarchy(e.lng||this.language,e.fallbackLng);p.forEach(E=>{this.isValidLookup(i)||(l=E,!checkedLoadedFor[`${v[0]}-${E}`]&&this.utils&&this.utils.hasLoadedNamespace&&!this.utils.hasLoadedNamespace(l)&&(checkedLoadedFor[`${v[0]}-${E}`]=!0,this.logger.warn(`key "${r}" for languages "${v.join(", ")}" won't get resolved as namespace "${l}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),v.forEach(x=>{if(this.isValidLookup(i))return;o=x;const S=[m];if(this.i18nFormat&&this.i18nFormat.addLookupKeys)this.i18nFormat.addLookupKeys(S,m,x,E,e);else{let k;_&&(k=this.pluralResolver.getSuffix(x,e.count,e));const A=`${this.options.pluralSeparator}zero`,I=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(_&&(S.push(m+k),e.ordinal&&k.indexOf(I)===0&&S.push(m+k.replace(I,this.options.pluralSeparator)),y&&S.push(m+A)),w){const C=`${m}${this.options.contextSeparator}${e.context}`;S.push(C),_&&(S.push(C+k),e.ordinal&&k.indexOf(I)===0&&S.push(C+k.replace(I,this.options.pluralSeparator)),y&&S.push(C+A))}}let M;for(;M=S.pop();)this.isValidLookup(i)||(a=M,i=this.getResource(x,E,M,e))}))})}),{res:i,usedKey:r,exactUsedKey:a,usedLng:o,usedNS:l}}isValidLookup(t){return t!==void 0&&!(!this.options.returnNull&&t===null)&&!(!this.options.returnEmptyString&&t==="")}getResource(t,e,i){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return this.i18nFormat&&this.i18nFormat.getResource?this.i18nFormat.getResource(t,e,i,r):this.resourceStore.getResource(t,e,i,r)}getUsedParamsDetails(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const e=["defaultValue","ordinal","context","replace","lng","lngs","fallbackLng","ns","keySeparator","nsSeparator","returnObjects","returnDetails","joinArrays","postProcess","interpolation"],i=t.replace&&typeof t.replace!="string";let r=i?t.replace:t;if(i&&typeof t.count<"u"&&(r.count=t.count),this.options.interpolation.defaultVariables&&(r={...this.options.interpolation.defaultVariables,...r}),!i){r={...r};for(const a of e)delete r[a]}return r}static hasDefaultValue(t){const e="defaultValue";for(const i in t)if(Object.prototype.hasOwnProperty.call(t,i)&&e===i.substring(0,e.length)&&t[i]!==void 0)return!0;return!1}}function capitalize(n){return n.charAt(0).toUpperCase()+n.slice(1)}class LanguageUtil{constructor(t){this.options=t,this.supportedLngs=this.options.supportedLngs||!1,this.logger=baseLogger.create("languageUtils")}getScriptPartFromCode(t){if(t=getCleanedCode(t),!t||t.indexOf("-")<0)return null;const e=t.split("-");return e.length===2||(e.pop(),e[e.length-1].toLowerCase()==="x")?null:this.formatLanguageCode(e.join("-"))}getLanguagePartFromCode(t){if(t=getCleanedCode(t),!t||t.indexOf("-")<0)return t;const e=t.split("-");return this.formatLanguageCode(e[0])}formatLanguageCode(t){if(typeof t=="string"&&t.indexOf("-")>-1){const e=["hans","hant","latn","cyrl","cans","mong","arab"];let i=t.split("-");return this.options.lowerCaseLng?i=i.map(r=>r.toLowerCase()):i.length===2?(i[0]=i[0].toLowerCase(),i[1]=i[1].toUpperCase(),e.indexOf(i[1].toLowerCase())>-1&&(i[1]=capitalize(i[1].toLowerCase()))):i.length===3&&(i[0]=i[0].toLowerCase(),i[1].length===2&&(i[1]=i[1].toUpperCase()),i[0]!=="sgn"&&i[2].length===2&&(i[2]=i[2].toUpperCase()),e.indexOf(i[1].toLowerCase())>-1&&(i[1]=capitalize(i[1].toLowerCase())),e.indexOf(i[2].toLowerCase())>-1&&(i[2]=capitalize(i[2].toLowerCase()))),i.join("-")}return this.options.cleanCode||this.options.lowerCaseLng?t.toLowerCase():t}isSupportedCode(t){return(this.options.load==="languageOnly"||this.options.nonExplicitSupportedLngs)&&(t=this.getLanguagePartFromCode(t)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(t)>-1}getBestMatchFromCodes(t){if(!t)return null;let e;return t.forEach(i=>{if(e)return;const r=this.formatLanguageCode(i);(!this.options.supportedLngs||this.isSupportedCode(r))&&(e=r)}),!e&&this.options.supportedLngs&&t.forEach(i=>{if(e)return;const r=this.getLanguagePartFromCode(i);if(this.isSupportedCode(r))return e=r;e=this.options.supportedLngs.find(a=>{if(a===r)return a;if(!(a.indexOf("-")<0&&r.indexOf("-")<0)&&a.indexOf(r)===0)return a})}),e||(e=this.getFallbackCodes(this.options.fallbackLng)[0]),e}getFallbackCodes(t,e){if(!t)return[];if(typeof t=="function"&&(t=t(e)),typeof t=="string"&&(t=[t]),Object.prototype.toString.apply(t)==="[object Array]")return t;if(!e)return t.default||[];let i=t[e];return i||(i=t[this.getScriptPartFromCode(e)]),i||(i=t[this.formatLanguageCode(e)]),i||(i=t[this.getLanguagePartFromCode(e)]),i||(i=t.default),i||[]}toResolveHierarchy(t,e){const i=this.getFallbackCodes(e||this.options.fallbackLng||[],t),r=[],a=o=>{o&&(this.isSupportedCode(o)?r.push(o):this.logger.warn(`rejecting language code not found in supportedLngs: ${o}`))};return typeof t=="string"&&(t.indexOf("-")>-1||t.indexOf("_")>-1)?(this.options.load!=="languageOnly"&&a(this.formatLanguageCode(t)),this.options.load!=="languageOnly"&&this.options.load!=="currentOnly"&&a(this.getScriptPartFromCode(t)),this.options.load!=="currentOnly"&&a(this.getLanguagePartFromCode(t))):typeof t=="string"&&a(this.formatLanguageCode(t)),i.forEach(o=>{r.indexOf(o)<0&&a(this.formatLanguageCode(o))}),r}}let sets=[{lngs:["ach","ak","am","arn","br","fil","gun","ln","mfe","mg","mi","oc","pt","pt-BR","tg","tl","ti","tr","uz","wa"],nr:[1,2],fc:1},{lngs:["af","an","ast","az","bg","bn","ca","da","de","dev","el","en","eo","es","et","eu","fi","fo","fur","fy","gl","gu","ha","hi","hu","hy","ia","it","kk","kn","ku","lb","mai","ml","mn","mr","nah","nap","nb","ne","nl","nn","no","nso","pa","pap","pms","ps","pt-PT","rm","sco","se","si","so","son","sq","sv","sw","ta","te","tk","ur","yo"],nr:[1,2],fc:2},{lngs:["ay","bo","cgg","fa","ht","id","ja","jbo","ka","km","ko","ky","lo","ms","sah","su","th","tt","ug","vi","wo","zh"],nr:[1],fc:3},{lngs:["be","bs","cnr","dz","hr","ru","sr","uk"],nr:[1,2,5],fc:4},{lngs:["ar"],nr:[0,1,2,3,11,100],fc:5},{lngs:["cs","sk"],nr:[1,2,5],fc:6},{lngs:["csb","pl"],nr:[1,2,5],fc:7},{lngs:["cy"],nr:[1,2,3,8],fc:8},{lngs:["fr"],nr:[1,2],fc:9},{lngs:["ga"],nr:[1,2,3,7,11],fc:10},{lngs:["gd"],nr:[1,2,3,20],fc:11},{lngs:["is"],nr:[1,2],fc:12},{lngs:["jv"],nr:[0,1],fc:13},{lngs:["kw"],nr:[1,2,3,4],fc:14},{lngs:["lt"],nr:[1,2,10],fc:15},{lngs:["lv"],nr:[1,2,0],fc:16},{lngs:["mk"],nr:[1,2],fc:17},{lngs:["mnk"],nr:[0,1,2],fc:18},{lngs:["mt"],nr:[1,2,11,20],fc:19},{lngs:["or"],nr:[2,1],fc:2},{lngs:["ro"],nr:[1,2,20],fc:20},{lngs:["sl"],nr:[5,1,2,3],fc:21},{lngs:["he","iw"],nr:[1,2,20,21],fc:22}],_rulesPluralsTypes={1:function(n){return+(n>1)},2:function(n){return+(n!=1)},3:function(n){return 0},4:function(n){return n%10==1&&n%100!=11?0:n%10>=2&&n%10<=4&&(n%100<10||n%100>=20)?1:2},5:function(n){return n==0?0:n==1?1:n==2?2:n%100>=3&&n%100<=10?3:n%100>=11?4:5},6:function(n){return n==1?0:n>=2&&n<=4?1:2},7:function(n){return n==1?0:n%10>=2&&n%10<=4&&(n%100<10||n%100>=20)?1:2},8:function(n){return n==1?0:n==2?1:n!=8&&n!=11?2:3},9:function(n){return+(n>=2)},10:function(n){return n==1?0:n==2?1:n<7?2:n<11?3:4},11:function(n){return n==1||n==11?0:n==2||n==12?1:n>2&&n<20?2:3},12:function(n){return+(n%10!=1||n%100==11)},13:function(n){return+(n!==0)},14:function(n){return n==1?0:n==2?1:n==3?2:3},15:function(n){return n%10==1&&n%100!=11?0:n%10>=2&&(n%100<10||n%100>=20)?1:2},16:function(n){return n%10==1&&n%100!=11?0:n!==0?1:2},17:function(n){return n==1||n%10==1&&n%100!=11?0:1},18:function(n){return n==0?0:n==1?1:2},19:function(n){return n==1?0:n==0||n%100>1&&n%100<11?1:n%100>10&&n%100<20?2:3},20:function(n){return n==1?0:n==0||n%100>0&&n%100<20?1:2},21:function(n){return n%100==1?1:n%100==2?2:n%100==3||n%100==4?3:0},22:function(n){return n==1?0:n==2?1:(n<0||n>10)&&n%10==0?2:3}};const nonIntlVersions=["v1","v2","v3"],intlVersions=["v4"],suffixesOrder={zero:0,one:1,two:2,few:3,many:4,other:5};function createRules(){const n={};return sets.forEach(t=>{t.lngs.forEach(e=>{n[e]={numbers:t.nr,plurals:_rulesPluralsTypes[t.fc]}})}),n}class PluralResolver{constructor(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.languageUtils=t,this.options=e,this.logger=baseLogger.create("pluralResolver"),(!this.options.compatibilityJSON||intlVersions.includes(this.options.compatibilityJSON))&&(typeof Intl>"u"||!Intl.PluralRules)&&(this.options.compatibilityJSON="v3",this.logger.error("Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.")),this.rules=createRules()}addRule(t,e){this.rules[t]=e}getRule(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(this.shouldUseIntlApi())try{return new Intl.PluralRules(getCleanedCode(t),{type:e.ordinal?"ordinal":"cardinal"})}catch{return}return this.rules[t]||this.rules[this.languageUtils.getLanguagePartFromCode(t)]}needsPlural(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const i=this.getRule(t,e);return this.shouldUseIntlApi()?i&&i.resolvedOptions().pluralCategories.length>1:i&&i.numbers.length>1}getPluralFormsOfKey(t,e){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.getSuffixes(t,i).map(r=>`${e}${r}`)}getSuffixes(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const i=this.getRule(t,e);return i?this.shouldUseIntlApi()?i.resolvedOptions().pluralCategories.sort((r,a)=>suffixesOrder[r]-suffixesOrder[a]).map(r=>`${this.options.prepend}${e.ordinal?`ordinal${this.options.prepend}`:""}${r}`):i.numbers.map(r=>this.getSuffix(t,r,e)):[]}getSuffix(t,e){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const r=this.getRule(t,i);return r?this.shouldUseIntlApi()?`${this.options.prepend}${i.ordinal?`ordinal${this.options.prepend}`:""}${r.select(e)}`:this.getSuffixRetroCompatible(r,e):(this.logger.warn(`no plural rule found for: ${t}`),"")}getSuffixRetroCompatible(t,e){const i=t.noAbs?t.plurals(e):t.plurals(Math.abs(e));let r=t.numbers[i];this.options.simplifyPluralSuffix&&t.numbers.length===2&&t.numbers[0]===1&&(r===2?r="plural":r===1&&(r=""));const a=()=>this.options.prepend&&r.toString()?this.options.prepend+r.toString():r.toString();return this.options.compatibilityJSON==="v1"?r===1?"":typeof r=="number"?`_plural_${r.toString()}`:a():this.options.compatibilityJSON==="v2"||this.options.simplifyPluralSuffix&&t.numbers.length===2&&t.numbers[0]===1?a():this.options.prepend&&i.toString()?this.options.prepend+i.toString():i.toString()}shouldUseIntlApi(){return!nonIntlVersions.includes(this.options.compatibilityJSON)}}function deepFindWithDefaults(n,t,e){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:".",r=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,a=getPathWithDefaults(n,t,e);return!a&&r&&typeof e=="string"&&(a=deepFind(n,e,i),a===void 0&&(a=deepFind(t,e,i))),a}class Interpolator{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=baseLogger.create("interpolator"),this.options=t,this.format=t.interpolation&&t.interpolation.format||(e=>e),this.init(t)}init(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};t.interpolation||(t.interpolation={escapeValue:!0});const e=t.interpolation;this.escape=e.escape!==void 0?e.escape:escape$1,this.escapeValue=e.escapeValue!==void 0?e.escapeValue:!0,this.useRawValueToEscape=e.useRawValueToEscape!==void 0?e.useRawValueToEscape:!1,this.prefix=e.prefix?regexEscape(e.prefix):e.prefixEscaped||"{{",this.suffix=e.suffix?regexEscape(e.suffix):e.suffixEscaped||"}}",this.formatSeparator=e.formatSeparator?e.formatSeparator:e.formatSeparator||",",this.unescapePrefix=e.unescapeSuffix?"":e.unescapePrefix||"-",this.unescapeSuffix=this.unescapePrefix?"":e.unescapeSuffix||"",this.nestingPrefix=e.nestingPrefix?regexEscape(e.nestingPrefix):e.nestingPrefixEscaped||regexEscape("$t("),this.nestingSuffix=e.nestingSuffix?regexEscape(e.nestingSuffix):e.nestingSuffixEscaped||regexEscape(")"),this.nestingOptionsSeparator=e.nestingOptionsSeparator?e.nestingOptionsSeparator:e.nestingOptionsSeparator||",",this.maxReplaces=e.maxReplaces?e.maxReplaces:1e3,this.alwaysFormat=e.alwaysFormat!==void 0?e.alwaysFormat:!1,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){const t=`${this.prefix}(.+?)${this.suffix}`;this.regexp=new RegExp(t,"g");const e=`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`;this.regexpUnescape=new RegExp(e,"g");const i=`${this.nestingPrefix}(.+?)${this.nestingSuffix}`;this.nestingRegexp=new RegExp(i,"g")}interpolate(t,e,i,r){let a,o,l;const u=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{};function d(w){return w.replace(/\$/g,"$$$$")}const m=w=>{if(w.indexOf(this.formatSeparator)<0){const S=deepFindWithDefaults(e,u,w,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(S,void 0,i,{...r,...e,interpolationkey:w}):S}const v=w.split(this.formatSeparator),E=v.shift().trim(),x=v.join(this.formatSeparator).trim();return this.format(deepFindWithDefaults(e,u,E,this.options.keySeparator,this.options.ignoreJSONStructure),x,i,{...r,...e,interpolationkey:E})};this.resetRegExp();const p=r&&r.missingInterpolationHandler||this.options.missingInterpolationHandler,_=r&&r.interpolation&&r.interpolation.skipOnVariables!==void 0?r.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:w=>d(w)},{regex:this.regexp,safeValue:w=>this.escapeValue?d(this.escape(w)):d(w)}].forEach(w=>{for(l=0;a=w.regex.exec(t);){const v=a[1].trim();if(o=m(v),o===void 0)if(typeof p=="function"){const x=p(t,a,r);o=typeof x=="string"?x:""}else if(r&&Object.prototype.hasOwnProperty.call(r,v))o="";else if(_){o=a[0];continue}else this.logger.warn(`missed to pass in variable ${v} for interpolating ${t}`),o="";else typeof o!="string"&&!this.useRawValueToEscape&&(o=makeString(o));const E=w.safeValue(o);if(t=t.replace(a[0],E),_?(w.regex.lastIndex+=o.length,w.regex.lastIndex-=a[0].length):w.regex.lastIndex=0,l++,l>=this.maxReplaces)break}}),t}nest(t,e){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},r,a,o;function l(u,d){const m=this.nestingOptionsSeparator;if(u.indexOf(m)<0)return u;const p=u.split(new RegExp(`${m}[ ]*{`));let _=`{${p[1]}`;u=p[0],_=this.interpolate(_,o);const y=_.match(/'/g),w=_.match(/"/g);(y&&y.length%2===0&&!w||w.length%2!==0)&&(_=_.replace(/'/g,'"'));try{o=JSON.parse(_),d&&(o={...d,...o})}catch(v){return this.logger.warn(`failed parsing options string in nesting for key ${u}`,v),`${u}${m}${_}`}return delete o.defaultValue,u}for(;r=this.nestingRegexp.exec(t);){let u=[];o={...i},o=o.replace&&typeof o.replace!="string"?o.replace:o,o.applyPostProcessor=!1,delete o.defaultValue;let d=!1;if(r[0].indexOf(this.formatSeparator)!==-1&&!/{.*}/.test(r[1])){const m=r[1].split(this.formatSeparator).map(p=>p.trim());r[1]=m.shift(),u=m,d=!0}if(a=e(l.call(this,r[1].trim(),o),o),a&&r[0]===t&&typeof a!="string")return a;typeof a!="string"&&(a=makeString(a)),a||(this.logger.warn(`missed to resolve ${r[1]} for nesting ${t}`),a=""),d&&(a=u.reduce((m,p)=>this.format(m,p,i.lng,{...i,interpolationkey:r[1].trim()}),a.trim())),t=t.replace(r[0],a),this.regexp.lastIndex=0}return t}}function parseFormatStr(n){let t=n.toLowerCase().trim();const e={};if(n.indexOf("(")>-1){const i=n.split("(");t=i[0].toLowerCase().trim();const r=i[1].substring(0,i[1].length-1);t==="currency"&&r.indexOf(":")<0?e.currency||(e.currency=r.trim()):t==="relativetime"&&r.indexOf(":")<0?e.range||(e.range=r.trim()):r.split(";").forEach(o=>{if(!o)return;const[l,...u]=o.split(":"),d=u.join(":").trim().replace(/^'+|'+$/g,"");e[l.trim()]||(e[l.trim()]=d),d==="false"&&(e[l.trim()]=!1),d==="true"&&(e[l.trim()]=!0),isNaN(d)||(e[l.trim()]=parseInt(d,10))})}return{formatName:t,formatOptions:e}}function createCachedFormatter(n){const t={};return function(i,r,a){const o=r+JSON.stringify(a);let l=t[o];return l||(l=n(getCleanedCode(r),a),t[o]=l),l(i)}}class Formatter{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=baseLogger.create("formatter"),this.options=t,this.formats={number:createCachedFormatter((e,i)=>{const r=new Intl.NumberFormat(e,{...i});return a=>r.format(a)}),currency:createCachedFormatter((e,i)=>{const r=new Intl.NumberFormat(e,{...i,style:"currency"});return a=>r.format(a)}),datetime:createCachedFormatter((e,i)=>{const r=new Intl.DateTimeFormat(e,{...i});return a=>r.format(a)}),relativetime:createCachedFormatter((e,i)=>{const r=new Intl.RelativeTimeFormat(e,{...i});return a=>r.format(a,i.range||"day")}),list:createCachedFormatter((e,i)=>{const r=new Intl.ListFormat(e,{...i});return a=>r.format(a)})},this.init(t)}init(t){const i=(arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}}).interpolation;this.formatSeparator=i.formatSeparator?i.formatSeparator:i.formatSeparator||","}add(t,e){this.formats[t.toLowerCase().trim()]=e}addCached(t,e){this.formats[t.toLowerCase().trim()]=createCachedFormatter(e)}format(t,e,i){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return e.split(this.formatSeparator).reduce((l,u)=>{const{formatName:d,formatOptions:m}=parseFormatStr(u);if(this.formats[d]){let p=l;try{const _=r&&r.formatParams&&r.formatParams[r.interpolationkey]||{},y=_.locale||_.lng||r.locale||r.lng||i;p=this.formats[d](l,y,{...m,...r,..._})}catch(_){this.logger.warn(_)}return p}else this.logger.warn(`there was no format function for ${d}`);return l},t)}}function removePending(n,t){n.pending[t]!==void 0&&(delete n.pending[t],n.pendingCount--)}class Connector extends EventEmitter{constructor(t,e,i){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};super(),this.backend=t,this.store=e,this.services=i,this.languageUtils=i.languageUtils,this.options=r,this.logger=baseLogger.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=r.maxParallelReads||10,this.readingCalls=0,this.maxRetries=r.maxRetries>=0?r.maxRetries:5,this.retryTimeout=r.retryTimeout>=1?r.retryTimeout:350,this.state={},this.queue=[],this.backend&&this.backend.init&&this.backend.init(i,r.backend,r)}queueLoad(t,e,i,r){const a={},o={},l={},u={};return t.forEach(d=>{let m=!0;e.forEach(p=>{const _=`${d}|${p}`;!i.reload&&this.store.hasResourceBundle(d,p)?this.state[_]=2:this.state[_]<0||(this.state[_]===1?o[_]===void 0&&(o[_]=!0):(this.state[_]=1,m=!1,o[_]===void 0&&(o[_]=!0),a[_]===void 0&&(a[_]=!0),u[p]===void 0&&(u[p]=!0)))}),m||(l[d]=!0)}),(Object.keys(a).length||Object.keys(o).length)&&this.queue.push({pending:o,pendingCount:Object.keys(o).length,loaded:{},errors:[],callback:r}),{toLoad:Object.keys(a),pending:Object.keys(o),toLoadLanguages:Object.keys(l),toLoadNamespaces:Object.keys(u)}}loaded(t,e,i){const r=t.split("|"),a=r[0],o=r[1];e&&this.emit("failedLoading",a,o,e),i&&this.store.addResourceBundle(a,o,i),this.state[t]=e?-1:2;const l={};this.queue.forEach(u=>{pushPath(u.loaded,[a],o),removePending(u,t),e&&u.errors.push(e),u.pendingCount===0&&!u.done&&(Object.keys(u.loaded).forEach(d=>{l[d]||(l[d]={});const m=u.loaded[d];m.length&&m.forEach(p=>{l[d][p]===void 0&&(l[d][p]=!0)})}),u.done=!0,u.errors.length?u.callback(u.errors):u.callback())}),this.emit("loaded",l),this.queue=this.queue.filter(u=>!u.done)}read(t,e,i){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:this.retryTimeout,o=arguments.length>5?arguments[5]:void 0;if(!t.length)return o(null,{});if(this.readingCalls>=this.maxParallelReads){this.waitingReads.push({lng:t,ns:e,fcName:i,tried:r,wait:a,callback:o});return}this.readingCalls++;const l=(d,m)=>{if(this.readingCalls--,this.waitingReads.length>0){const p=this.waitingReads.shift();this.read(p.lng,p.ns,p.fcName,p.tried,p.wait,p.callback)}if(d&&m&&r{this.read.call(this,t,e,i,r+1,a*2,o)},a);return}o(d,m)},u=this.backend[i].bind(this.backend);if(u.length===2){try{const d=u(t,e);d&&typeof d.then=="function"?d.then(m=>l(null,m)).catch(l):l(null,d)}catch(d){l(d)}return}return u(t,e,l)}prepareLoading(t,e){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},r=arguments.length>3?arguments[3]:void 0;if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),r&&r();typeof t=="string"&&(t=this.languageUtils.toResolveHierarchy(t)),typeof e=="string"&&(e=[e]);const a=this.queueLoad(t,e,i,r);if(!a.toLoad.length)return a.pending.length||r(),null;a.toLoad.forEach(o=>{this.loadOne(o)})}load(t,e,i){this.prepareLoading(t,e,{},i)}reload(t,e,i){this.prepareLoading(t,e,{reload:!0},i)}loadOne(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";const i=t.split("|"),r=i[0],a=i[1];this.read(r,a,"read",void 0,void 0,(o,l)=>{o&&this.logger.warn(`${e}loading namespace ${a} for language ${r} failed`,o),!o&&l&&this.logger.log(`${e}loaded namespace ${a} for language ${r}`,l),this.loaded(t,o,l)})}saveMissing(t,e,i,r,a){let o=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{},l=arguments.length>6&&arguments[6]!==void 0?arguments[6]:()=>{};if(this.services.utils&&this.services.utils.hasLoadedNamespace&&!this.services.utils.hasLoadedNamespace(e)){this.logger.warn(`did not save key "${i}" as the namespace "${e}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");return}if(!(i==null||i==="")){if(this.backend&&this.backend.create){const u={...o,isUpdate:a},d=this.backend.create.bind(this.backend);if(d.length<6)try{let m;d.length===5?m=d(t,e,i,r,u):m=d(t,e,i,r),m&&typeof m.then=="function"?m.then(p=>l(null,p)).catch(l):l(null,m)}catch(m){l(m)}else d(t,e,i,r,l,u)}!t||!t[0]||this.store.addResource(t[0],e,i,r)}}}function get(){return{debug:!1,initImmediate:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:function(t){let e={};if(typeof t[1]=="object"&&(e=t[1]),typeof t[1]=="string"&&(e.defaultValue=t[1]),typeof t[2]=="string"&&(e.tDescription=t[2]),typeof t[2]=="object"||typeof t[3]=="object"){const i=t[3]||t[2];Object.keys(i).forEach(r=>{e[r]=i[r]})}return e},interpolation:{escapeValue:!0,format:n=>n,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0}}}function transformOptions(n){return typeof n.ns=="string"&&(n.ns=[n.ns]),typeof n.fallbackLng=="string"&&(n.fallbackLng=[n.fallbackLng]),typeof n.fallbackNS=="string"&&(n.fallbackNS=[n.fallbackNS]),n.supportedLngs&&n.supportedLngs.indexOf("cimode")<0&&(n.supportedLngs=n.supportedLngs.concat(["cimode"])),n}function noop$1(){}function bindMemberFunctions(n){Object.getOwnPropertyNames(Object.getPrototypeOf(n)).forEach(e=>{typeof n[e]=="function"&&(n[e]=n[e].bind(n))})}class I18n extends EventEmitter{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},e=arguments.length>1?arguments[1]:void 0;if(super(),this.options=transformOptions(t),this.services={},this.logger=baseLogger,this.modules={external:[]},bindMemberFunctions(this),e&&!this.isInitialized&&!t.isClone){if(!this.options.initImmediate)return this.init(t,e),this;setTimeout(()=>{this.init(t,e)},0)}}init(){var t=this;let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},i=arguments.length>1?arguments[1]:void 0;typeof e=="function"&&(i=e,e={}),!e.defaultNS&&e.defaultNS!==!1&&e.ns&&(typeof e.ns=="string"?e.defaultNS=e.ns:e.ns.indexOf("translation")<0&&(e.defaultNS=e.ns[0]));const r=get();this.options={...r,...this.options,...transformOptions(e)},this.options.compatibilityAPI!=="v1"&&(this.options.interpolation={...r.interpolation,...this.options.interpolation}),e.keySeparator!==void 0&&(this.options.userDefinedKeySeparator=e.keySeparator),e.nsSeparator!==void 0&&(this.options.userDefinedNsSeparator=e.nsSeparator);function a(m){return m?typeof m=="function"?new m:m:null}if(!this.options.isClone){this.modules.logger?baseLogger.init(a(this.modules.logger),this.options):baseLogger.init(null,this.options);let m;this.modules.formatter?m=this.modules.formatter:typeof Intl<"u"&&(m=Formatter);const p=new LanguageUtil(this.options);this.store=new ResourceStore(this.options.resources,this.options);const _=this.services;_.logger=baseLogger,_.resourceStore=this.store,_.languageUtils=p,_.pluralResolver=new PluralResolver(p,{prepend:this.options.pluralSeparator,compatibilityJSON:this.options.compatibilityJSON,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),m&&(!this.options.interpolation.format||this.options.interpolation.format===r.interpolation.format)&&(_.formatter=a(m),_.formatter.init(_,this.options),this.options.interpolation.format=_.formatter.format.bind(_.formatter)),_.interpolator=new Interpolator(this.options),_.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},_.backendConnector=new Connector(a(this.modules.backend),_.resourceStore,_,this.options),_.backendConnector.on("*",function(y){for(var w=arguments.length,v=new Array(w>1?w-1:0),E=1;E1?w-1:0),E=1;E{y.init&&y.init(this)})}if(this.format=this.options.interpolation.format,i||(i=noop$1),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){const m=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);m.length>0&&m[0]!=="dev"&&(this.options.lng=m[0])}!this.services.languageDetector&&!this.options.lng&&this.logger.warn("init: no languageDetector is used and no lng is defined"),["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach(m=>{this[m]=function(){return t.store[m](...arguments)}}),["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach(m=>{this[m]=function(){return t.store[m](...arguments),t}});const u=defer(),d=()=>{const m=(p,_)=>{this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn("init: i18next is already initialized. You should call init just once!"),this.isInitialized=!0,this.options.isClone||this.logger.log("initialized",this.options),this.emit("initialized",this.options),u.resolve(_),i(p,_)};if(this.languages&&this.options.compatibilityAPI!=="v1"&&!this.isInitialized)return m(null,this.t.bind(this));this.changeLanguage(this.options.lng,m)};return this.options.resources||!this.options.initImmediate?d():setTimeout(d,0),u}loadResources(t){let i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:noop$1;const r=typeof t=="string"?t:this.language;if(typeof t=="function"&&(i=t),!this.options.resources||this.options.partialBundledLanguages){if(r&&r.toLowerCase()==="cimode"&&(!this.options.preload||this.options.preload.length===0))return i();const a=[],o=l=>{if(!l||l==="cimode")return;this.services.languageUtils.toResolveHierarchy(l).forEach(d=>{d!=="cimode"&&a.indexOf(d)<0&&a.push(d)})};r?o(r):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(u=>o(u)),this.options.preload&&this.options.preload.forEach(l=>o(l)),this.services.backendConnector.load(a,this.options.ns,l=>{!l&&!this.resolvedLanguage&&this.language&&this.setResolvedLanguage(this.language),i(l)})}else i(null)}reloadResources(t,e,i){const r=defer();return t||(t=this.languages),e||(e=this.options.ns),i||(i=noop$1),this.services.backendConnector.reload(t,e,a=>{r.resolve(),i(a)}),r}use(t){if(!t)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!t.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return t.type==="backend"&&(this.modules.backend=t),(t.type==="logger"||t.log&&t.warn&&t.error)&&(this.modules.logger=t),t.type==="languageDetector"&&(this.modules.languageDetector=t),t.type==="i18nFormat"&&(this.modules.i18nFormat=t),t.type==="postProcessor"&&postProcessor.addPostProcessor(t),t.type==="formatter"&&(this.modules.formatter=t),t.type==="3rdParty"&&this.modules.external.push(t),this}setResolvedLanguage(t){if(!(!t||!this.languages)&&!(["cimode","dev"].indexOf(t)>-1))for(let e=0;e-1)&&this.store.hasLanguageSomeTranslations(i)){this.resolvedLanguage=i;break}}}changeLanguage(t,e){var i=this;this.isLanguageChangingTo=t;const r=defer();this.emit("languageChanging",t);const a=u=>{this.language=u,this.languages=this.services.languageUtils.toResolveHierarchy(u),this.resolvedLanguage=void 0,this.setResolvedLanguage(u)},o=(u,d)=>{d?(a(d),this.translator.changeLanguage(d),this.isLanguageChangingTo=void 0,this.emit("languageChanged",d),this.logger.log("languageChanged",d)):this.isLanguageChangingTo=void 0,r.resolve(function(){return i.t(...arguments)}),e&&e(u,function(){return i.t(...arguments)})},l=u=>{!t&&!u&&this.services.languageDetector&&(u=[]);const d=typeof u=="string"?u:this.services.languageUtils.getBestMatchFromCodes(u);d&&(this.language||a(d),this.translator.language||this.translator.changeLanguage(d),this.services.languageDetector&&this.services.languageDetector.cacheUserLanguage&&this.services.languageDetector.cacheUserLanguage(d)),this.loadResources(d,m=>{o(m,d)})};return!t&&this.services.languageDetector&&!this.services.languageDetector.async?l(this.services.languageDetector.detect()):!t&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect.length===0?this.services.languageDetector.detect().then(l):this.services.languageDetector.detect(l):l(t),r}getFixedT(t,e,i){var r=this;const a=function(o,l){let u;if(typeof l!="object"){for(var d=arguments.length,m=new Array(d>2?d-2:0),p=2;p`${u.keyPrefix}${_}${w}`):y=u.keyPrefix?`${u.keyPrefix}${_}${o}`:o,r.t(y,u)};return typeof t=="string"?a.lng=t:a.lngs=t,a.ns=e,a.keyPrefix=i,a}t(){return this.translator&&this.translator.translate(...arguments)}exists(){return this.translator&&this.translator.exists(...arguments)}setDefaultNamespace(t){this.options.defaultNS=t}hasLoadedNamespace(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;const i=e.lng||this.resolvedLanguage||this.languages[0],r=this.options?this.options.fallbackLng:!1,a=this.languages[this.languages.length-1];if(i.toLowerCase()==="cimode")return!0;const o=(l,u)=>{const d=this.services.backendConnector.state[`${l}|${u}`];return d===-1||d===2};if(e.precheck){const l=e.precheck(this,o);if(l!==void 0)return l}return!!(this.hasResourceBundle(i,t)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||o(i,t)&&(!r||o(a,t)))}loadNamespaces(t,e){const i=defer();return this.options.ns?(typeof t=="string"&&(t=[t]),t.forEach(r=>{this.options.ns.indexOf(r)<0&&this.options.ns.push(r)}),this.loadResources(r=>{i.resolve(),e&&e(r)}),i):(e&&e(),Promise.resolve())}loadLanguages(t,e){const i=defer();typeof t=="string"&&(t=[t]);const r=this.options.preload||[],a=t.filter(o=>r.indexOf(o)<0);return a.length?(this.options.preload=r.concat(a),this.loadResources(o=>{i.resolve(),e&&e(o)}),i):(e&&e(),Promise.resolve())}dir(t){if(t||(t=this.resolvedLanguage||(this.languages&&this.languages.length>0?this.languages[0]:this.language)),!t)return"rtl";const e=["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"],i=this.services&&this.services.languageUtils||new LanguageUtil(get());return e.indexOf(i.getLanguagePartFromCode(t))>-1||t.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},e=arguments.length>1?arguments[1]:void 0;return new I18n(t,e)}cloneInstance(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:noop$1;const i=t.forkResourceStore;i&&delete t.forkResourceStore;const r={...this.options,...t,isClone:!0},a=new I18n(r);return(t.debug!==void 0||t.prefix!==void 0)&&(a.logger=a.logger.clone(t)),["store","services","language"].forEach(l=>{a[l]=this[l]}),a.services={...this.services},a.services.utils={hasLoadedNamespace:a.hasLoadedNamespace.bind(a)},i&&(a.store=new ResourceStore(this.store.data,r),a.services.resourceStore=a.store),a.translator=new Translator(a.services,r),a.translator.on("*",function(l){for(var u=arguments.length,d=new Array(u>1?u-1:0),m=1;m(n&&window.CSS&&window.CSS.escape&&(n=n.replace(/#([^\s"#']+)/g,(t,e)=>`#${CSS.escape(e)}`)),n),toType=n=>n==null?`${n}`:Object.prototype.toString.call(n).match(/\s([a-z]+)/i)[1].toLowerCase(),getUID=n=>{do n+=Math.floor(Math.random()*MAX_UID);while(document.getElementById(n));return n},getTransitionDurationFromElement=n=>{if(!n)return 0;let{transitionDuration:t,transitionDelay:e}=window.getComputedStyle(n);const i=Number.parseFloat(t),r=Number.parseFloat(e);return!i&&!r?0:(t=t.split(",")[0],e=e.split(",")[0],(Number.parseFloat(t)+Number.parseFloat(e))*MILLISECONDS_MULTIPLIER)},triggerTransitionEnd=n=>{n.dispatchEvent(new Event(TRANSITION_END))},isElement=n=>!n||typeof n!="object"?!1:(typeof n.jquery<"u"&&(n=n[0]),typeof n.nodeType<"u"),getElement=n=>isElement(n)?n.jquery?n[0]:n:typeof n=="string"&&n.length>0?document.querySelector(parseSelector(n)):null,isVisible=n=>{if(!isElement(n)||n.getClientRects().length===0)return!1;const t=getComputedStyle(n).getPropertyValue("visibility")==="visible",e=n.closest("details:not([open])");if(!e)return t;if(e!==n){const i=n.closest("summary");if(i&&i.parentNode!==e||i===null)return!1}return t},isDisabled=n=>!n||n.nodeType!==Node.ELEMENT_NODE||n.classList.contains("disabled")?!0:typeof n.disabled<"u"?n.disabled:n.hasAttribute("disabled")&&n.getAttribute("disabled")!=="false",findShadowRoot=n=>{if(!document.documentElement.attachShadow)return null;if(typeof n.getRootNode=="function"){const t=n.getRootNode();return t instanceof ShadowRoot?t:null}return n instanceof ShadowRoot?n:n.parentNode?findShadowRoot(n.parentNode):null},noop$2=()=>{},reflow=n=>{n.offsetHeight},getjQuery=()=>window.jQuery&&!document.body.hasAttribute("data-bs-no-jquery")?window.jQuery:null,DOMContentLoadedCallbacks=[],onDOMContentLoaded=n=>{document.readyState==="loading"?(DOMContentLoadedCallbacks.length||document.addEventListener("DOMContentLoaded",()=>{for(const t of DOMContentLoadedCallbacks)t()}),DOMContentLoadedCallbacks.push(n)):n()},isRTL=()=>document.documentElement.dir==="rtl",defineJQueryPlugin=n=>{onDOMContentLoaded(()=>{const t=getjQuery();if(t){const e=n.NAME,i=t.fn[e];t.fn[e]=n.jQueryInterface,t.fn[e].Constructor=n,t.fn[e].noConflict=()=>(t.fn[e]=i,n.jQueryInterface)}})},execute=(n,t=[],e=n)=>typeof n=="function"?n(...t):e,executeAfterTransition=(n,t,e=!0)=>{if(!e){execute(n);return}const i=5,r=getTransitionDurationFromElement(t)+i;let a=!1;const o=({target:l})=>{l===t&&(a=!0,t.removeEventListener(TRANSITION_END,o),execute(n))};t.addEventListener(TRANSITION_END,o),setTimeout(()=>{a||triggerTransitionEnd(t)},r)},getNextActiveElement=(n,t,e,i)=>{const r=n.length;let a=n.indexOf(t);return a===-1?!e&&i?n[r-1]:n[0]:(a+=e?1:-1,i&&(a=(a+r)%r),n[Math.max(0,Math.min(a,r-1))])},namespaceRegex=/[^.]*(?=\..*)\.|.*/,stripNameRegex=/\..*/,stripUidRegex=/::\d+$/,eventRegistry={};let uidEvent=1;const customEvents={mouseenter:"mouseover",mouseleave:"mouseout"},nativeEvents=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function makeEventUid(n,t){return t&&`${t}::${uidEvent++}`||n.uidEvent||uidEvent++}function getElementEvents(n){const t=makeEventUid(n);return n.uidEvent=t,eventRegistry[t]=eventRegistry[t]||{},eventRegistry[t]}function bootstrapHandler(n,t){return function e(i){return hydrateObj(i,{delegateTarget:n}),e.oneOff&&EventHandler.off(n,i.type,t),t.apply(n,[i])}}function bootstrapDelegationHandler(n,t,e){return function i(r){const a=n.querySelectorAll(t);for(let{target:o}=r;o&&o!==this;o=o.parentNode)for(const l of a)if(l===o)return hydrateObj(r,{delegateTarget:o}),i.oneOff&&EventHandler.off(n,r.type,t,e),e.apply(o,[r])}}function findHandler(n,t,e=null){return Object.values(n).find(i=>i.callable===t&&i.delegationSelector===e)}function normalizeParameters(n,t,e){const i=typeof t=="string",r=i?e:t||e;let a=getTypeEvent(n);return nativeEvents.has(a)||(a=n),[i,r,a]}function addHandler(n,t,e,i,r){if(typeof t!="string"||!n)return;let[a,o,l]=normalizeParameters(t,e,i);t in customEvents&&(o=(w=>function(v){if(!v.relatedTarget||v.relatedTarget!==v.delegateTarget&&!v.delegateTarget.contains(v.relatedTarget))return w.call(this,v)})(o));const u=getElementEvents(n),d=u[l]||(u[l]={}),m=findHandler(d,o,a?e:null);if(m){m.oneOff=m.oneOff&&r;return}const p=makeEventUid(o,t.replace(namespaceRegex,"")),_=a?bootstrapDelegationHandler(n,e,o):bootstrapHandler(n,o);_.delegationSelector=a?e:null,_.callable=o,_.oneOff=r,_.uidEvent=p,d[p]=_,n.addEventListener(l,_,a)}function removeHandler(n,t,e,i,r){const a=findHandler(t[e],i,r);a&&(n.removeEventListener(e,a,!!r),delete t[e][a.uidEvent])}function removeNamespacedHandlers(n,t,e,i){const r=t[e]||{};for(const[a,o]of Object.entries(r))a.includes(i)&&removeHandler(n,t,e,o.callable,o.delegationSelector)}function getTypeEvent(n){return n=n.replace(stripNameRegex,""),customEvents[n]||n}const EventHandler={on(n,t,e,i){addHandler(n,t,e,i,!1)},one(n,t,e,i){addHandler(n,t,e,i,!0)},off(n,t,e,i){if(typeof t!="string"||!n)return;const[r,a,o]=normalizeParameters(t,e,i),l=o!==t,u=getElementEvents(n),d=u[o]||{},m=t.startsWith(".");if(typeof a<"u"){if(!Object.keys(d).length)return;removeHandler(n,u,o,a,r?e:null);return}if(m)for(const p of Object.keys(u))removeNamespacedHandlers(n,u,p,t.slice(1));for(const[p,_]of Object.entries(d)){const y=p.replace(stripUidRegex,"");(!l||t.includes(y))&&removeHandler(n,u,o,_.callable,_.delegationSelector)}},trigger(n,t,e){if(typeof t!="string"||!n)return null;const i=getjQuery(),r=getTypeEvent(t),a=t!==r;let o=null,l=!0,u=!0,d=!1;a&&i&&(o=i.Event(t,e),i(n).trigger(o),l=!o.isPropagationStopped(),u=!o.isImmediatePropagationStopped(),d=o.isDefaultPrevented());const m=hydrateObj(new Event(t,{bubbles:l,cancelable:!0}),e);return d&&m.preventDefault(),u&&n.dispatchEvent(m),m.defaultPrevented&&o&&o.preventDefault(),m}};function hydrateObj(n,t={}){for(const[e,i]of Object.entries(t))try{n[e]=i}catch{Object.defineProperty(n,e,{configurable:!0,get(){return i}})}return n}function normalizeData(n){if(n==="true")return!0;if(n==="false")return!1;if(n===Number(n).toString())return Number(n);if(n===""||n==="null")return null;if(typeof n!="string")return n;try{return JSON.parse(decodeURIComponent(n))}catch{return n}}function normalizeDataKey(n){return n.replace(/[A-Z]/g,t=>`-${t.toLowerCase()}`)}const Manipulator={setDataAttribute(n,t,e){n.setAttribute(`data-bs-${normalizeDataKey(t)}`,e)},removeDataAttribute(n,t){n.removeAttribute(`data-bs-${normalizeDataKey(t)}`)},getDataAttributes(n){if(!n)return{};const t={},e=Object.keys(n.dataset).filter(i=>i.startsWith("bs")&&!i.startsWith("bsConfig"));for(const i of e){let r=i.replace(/^bs/,"");r=r.charAt(0).toLowerCase()+r.slice(1,r.length),t[r]=normalizeData(n.dataset[i])}return t},getDataAttribute(n,t){return normalizeData(n.getAttribute(`data-bs-${normalizeDataKey(t)}`))}};let Config$1=class{static get Default(){return{}}static get DefaultType(){return{}}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}_getConfig(t){return t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t}_mergeConfigObj(t,e){const i=isElement(e)?Manipulator.getDataAttribute(e,"config"):{};return{...this.constructor.Default,...typeof i=="object"?i:{},...isElement(e)?Manipulator.getDataAttributes(e):{},...typeof t=="object"?t:{}}}_typeCheckConfig(t,e=this.constructor.DefaultType){for(const[i,r]of Object.entries(e)){const a=t[i],o=isElement(a)?"element":toType(a);if(!new RegExp(r).test(o))throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${i}" provided type "${o}" but expected type "${r}".`)}}};const VERSION="5.3.2";class BaseComponent extends Config$1{constructor(t,e){super(),t=getElement(t),t&&(this._element=t,this._config=this._getConfig(e),Data.set(this._element,this.constructor.DATA_KEY,this))}dispose(){Data.remove(this._element,this.constructor.DATA_KEY),EventHandler.off(this._element,this.constructor.EVENT_KEY);for(const t of Object.getOwnPropertyNames(this))this[t]=null}_queueCallback(t,e,i=!0){executeAfterTransition(t,e,i)}_getConfig(t){return t=this._mergeConfigObj(t,this._element),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}static getInstance(t){return Data.get(getElement(t),this.DATA_KEY)}static getOrCreateInstance(t,e={}){return this.getInstance(t)||new this(t,typeof e=="object"?e:null)}static get VERSION(){return VERSION}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}static eventName(t){return`${t}${this.EVENT_KEY}`}}const getSelector=n=>{let t=n.getAttribute("data-bs-target");if(!t||t==="#"){let e=n.getAttribute("href");if(!e||!e.includes("#")&&!e.startsWith("."))return null;e.includes("#")&&!e.startsWith("#")&&(e=`#${e.split("#")[1]}`),t=e&&e!=="#"?parseSelector(e.trim()):null}return t},SelectorEngine={find(n,t=document.documentElement){return[].concat(...Element.prototype.querySelectorAll.call(t,n))},findOne(n,t=document.documentElement){return Element.prototype.querySelector.call(t,n)},children(n,t){return[].concat(...n.children).filter(e=>e.matches(t))},parents(n,t){const e=[];let i=n.parentNode.closest(t);for(;i;)e.push(i),i=i.parentNode.closest(t);return e},prev(n,t){let e=n.previousElementSibling;for(;e;){if(e.matches(t))return[e];e=e.previousElementSibling}return[]},next(n,t){let e=n.nextElementSibling;for(;e;){if(e.matches(t))return[e];e=e.nextElementSibling}return[]},focusableChildren(n){const t=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map(e=>`${e}:not([tabindex^="-"])`).join(",");return this.find(t,n).filter(e=>!isDisabled(e)&&isVisible(e))},getSelectorFromElement(n){const t=getSelector(n);return t&&SelectorEngine.findOne(t)?t:null},getElementFromSelector(n){const t=getSelector(n);return t?SelectorEngine.findOne(t):null},getMultipleElementsFromSelector(n){const t=getSelector(n);return t?SelectorEngine.find(t):[]}},enableDismissTrigger=(n,t="hide")=>{const e=`click.dismiss${n.EVENT_KEY}`,i=n.NAME;EventHandler.on(document,e,`[data-bs-dismiss="${i}"]`,function(r){if(["A","AREA"].includes(this.tagName)&&r.preventDefault(),isDisabled(this))return;const a=SelectorEngine.getElementFromSelector(this)||this.closest(`.${i}`);n.getOrCreateInstance(a)[t]()})},NAME$f="alert",DATA_KEY$a="bs.alert",EVENT_KEY$b=`.${DATA_KEY$a}`,EVENT_CLOSE=`close${EVENT_KEY$b}`,EVENT_CLOSED=`closed${EVENT_KEY$b}`,CLASS_NAME_FADE$5="fade",CLASS_NAME_SHOW$8="show";class Alert extends BaseComponent{static get NAME(){return NAME$f}close(){if(EventHandler.trigger(this._element,EVENT_CLOSE).defaultPrevented)return;this._element.classList.remove(CLASS_NAME_SHOW$8);const e=this._element.classList.contains(CLASS_NAME_FADE$5);this._queueCallback(()=>this._destroyElement(),this._element,e)}_destroyElement(){this._element.remove(),EventHandler.trigger(this._element,EVENT_CLOSED),this.dispose()}static jQueryInterface(t){return this.each(function(){const e=Alert.getOrCreateInstance(this);if(typeof t=="string"){if(e[t]===void 0||t.startsWith("_")||t==="constructor")throw new TypeError(`No method named "${t}"`);e[t](this)}})}}enableDismissTrigger(Alert,"close");defineJQueryPlugin(Alert);const NAME$e="button",DATA_KEY$9="bs.button",EVENT_KEY$a=`.${DATA_KEY$9}`,DATA_API_KEY$6=".data-api",CLASS_NAME_ACTIVE$3="active",SELECTOR_DATA_TOGGLE$5='[data-bs-toggle="button"]',EVENT_CLICK_DATA_API$6=`click${EVENT_KEY$a}${DATA_API_KEY$6}`;class Button extends BaseComponent{static get NAME(){return NAME$e}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle(CLASS_NAME_ACTIVE$3))}static jQueryInterface(t){return this.each(function(){const e=Button.getOrCreateInstance(this);t==="toggle"&&e[t]()})}}EventHandler.on(document,EVENT_CLICK_DATA_API$6,SELECTOR_DATA_TOGGLE$5,n=>{n.preventDefault();const t=n.target.closest(SELECTOR_DATA_TOGGLE$5);Button.getOrCreateInstance(t).toggle()});defineJQueryPlugin(Button);const NAME$d="swipe",EVENT_KEY$9=".bs.swipe",EVENT_TOUCHSTART=`touchstart${EVENT_KEY$9}`,EVENT_TOUCHMOVE=`touchmove${EVENT_KEY$9}`,EVENT_TOUCHEND=`touchend${EVENT_KEY$9}`,EVENT_POINTERDOWN=`pointerdown${EVENT_KEY$9}`,EVENT_POINTERUP=`pointerup${EVENT_KEY$9}`,POINTER_TYPE_TOUCH="touch",POINTER_TYPE_PEN="pen",CLASS_NAME_POINTER_EVENT="pointer-event",SWIPE_THRESHOLD=40,Default$c={endCallback:null,leftCallback:null,rightCallback:null},DefaultType$c={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)"};class Swipe extends Config$1{constructor(t,e){super(),this._element=t,!(!t||!Swipe.isSupported())&&(this._config=this._getConfig(e),this._deltaX=0,this._supportPointerEvents=!!window.PointerEvent,this._initEvents())}static get Default(){return Default$c}static get DefaultType(){return DefaultType$c}static get NAME(){return NAME$d}dispose(){EventHandler.off(this._element,EVENT_KEY$9)}_start(t){if(!this._supportPointerEvents){this._deltaX=t.touches[0].clientX;return}this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX)}_end(t){this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX-this._deltaX),this._handleSwipe(),execute(this._config.endCallback)}_move(t){this._deltaX=t.touches&&t.touches.length>1?0:t.touches[0].clientX-this._deltaX}_handleSwipe(){const t=Math.abs(this._deltaX);if(t<=SWIPE_THRESHOLD)return;const e=t/this._deltaX;this._deltaX=0,e&&execute(e>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?(EventHandler.on(this._element,EVENT_POINTERDOWN,t=>this._start(t)),EventHandler.on(this._element,EVENT_POINTERUP,t=>this._end(t)),this._element.classList.add(CLASS_NAME_POINTER_EVENT)):(EventHandler.on(this._element,EVENT_TOUCHSTART,t=>this._start(t)),EventHandler.on(this._element,EVENT_TOUCHMOVE,t=>this._move(t)),EventHandler.on(this._element,EVENT_TOUCHEND,t=>this._end(t)))}_eventIsPointerPenTouch(t){return this._supportPointerEvents&&(t.pointerType===POINTER_TYPE_PEN||t.pointerType===POINTER_TYPE_TOUCH)}static isSupported(){return"ontouchstart"in document.documentElement||navigator.maxTouchPoints>0}}const NAME$c="carousel",DATA_KEY$8="bs.carousel",EVENT_KEY$8=`.${DATA_KEY$8}`,DATA_API_KEY$5=".data-api",ARROW_LEFT_KEY$1="ArrowLeft",ARROW_RIGHT_KEY$1="ArrowRight",TOUCHEVENT_COMPAT_WAIT=500,ORDER_NEXT="next",ORDER_PREV="prev",DIRECTION_LEFT="left",DIRECTION_RIGHT="right",EVENT_SLIDE=`slide${EVENT_KEY$8}`,EVENT_SLID=`slid${EVENT_KEY$8}`,EVENT_KEYDOWN$1=`keydown${EVENT_KEY$8}`,EVENT_MOUSEENTER$1=`mouseenter${EVENT_KEY$8}`,EVENT_MOUSELEAVE$1=`mouseleave${EVENT_KEY$8}`,EVENT_DRAG_START=`dragstart${EVENT_KEY$8}`,EVENT_LOAD_DATA_API$3=`load${EVENT_KEY$8}${DATA_API_KEY$5}`,EVENT_CLICK_DATA_API$5=`click${EVENT_KEY$8}${DATA_API_KEY$5}`,CLASS_NAME_CAROUSEL="carousel",CLASS_NAME_ACTIVE$2="active",CLASS_NAME_SLIDE="slide",CLASS_NAME_END="carousel-item-end",CLASS_NAME_START="carousel-item-start",CLASS_NAME_NEXT="carousel-item-next",CLASS_NAME_PREV="carousel-item-prev",SELECTOR_ACTIVE=".active",SELECTOR_ITEM=".carousel-item",SELECTOR_ACTIVE_ITEM=SELECTOR_ACTIVE+SELECTOR_ITEM,SELECTOR_ITEM_IMG=".carousel-item img",SELECTOR_INDICATORS=".carousel-indicators",SELECTOR_DATA_SLIDE="[data-bs-slide], [data-bs-slide-to]",SELECTOR_DATA_RIDE='[data-bs-ride="carousel"]',KEY_TO_DIRECTION={[ARROW_LEFT_KEY$1]:DIRECTION_RIGHT,[ARROW_RIGHT_KEY$1]:DIRECTION_LEFT},Default$b={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},DefaultType$b={interval:"(number|boolean)",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};class Carousel extends BaseComponent{constructor(t,e){super(t,e),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=SelectorEngine.findOne(SELECTOR_INDICATORS,this._element),this._addEventListeners(),this._config.ride===CLASS_NAME_CAROUSEL&&this.cycle()}static get Default(){return Default$b}static get DefaultType(){return DefaultType$b}static get NAME(){return NAME$c}next(){this._slide(ORDER_NEXT)}nextWhenVisible(){!document.hidden&&isVisible(this._element)&&this.next()}prev(){this._slide(ORDER_PREV)}pause(){this._isSliding&&triggerTransitionEnd(this._element),this._clearInterval()}cycle(){this._clearInterval(),this._updateInterval(),this._interval=setInterval(()=>this.nextWhenVisible(),this._config.interval)}_maybeEnableCycle(){if(this._config.ride){if(this._isSliding){EventHandler.one(this._element,EVENT_SLID,()=>this.cycle());return}this.cycle()}}to(t){const e=this._getItems();if(t>e.length-1||t<0)return;if(this._isSliding){EventHandler.one(this._element,EVENT_SLID,()=>this.to(t));return}const i=this._getItemIndex(this._getActive());if(i===t)return;const r=t>i?ORDER_NEXT:ORDER_PREV;this._slide(r,e[t])}dispose(){this._swipeHelper&&this._swipeHelper.dispose(),super.dispose()}_configAfterMerge(t){return t.defaultInterval=t.interval,t}_addEventListeners(){this._config.keyboard&&EventHandler.on(this._element,EVENT_KEYDOWN$1,t=>this._keydown(t)),this._config.pause==="hover"&&(EventHandler.on(this._element,EVENT_MOUSEENTER$1,()=>this.pause()),EventHandler.on(this._element,EVENT_MOUSELEAVE$1,()=>this._maybeEnableCycle())),this._config.touch&&Swipe.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const i of SelectorEngine.find(SELECTOR_ITEM_IMG,this._element))EventHandler.on(i,EVENT_DRAG_START,r=>r.preventDefault());const e={leftCallback:()=>this._slide(this._directionToOrder(DIRECTION_LEFT)),rightCallback:()=>this._slide(this._directionToOrder(DIRECTION_RIGHT)),endCallback:()=>{this._config.pause==="hover"&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout(()=>this._maybeEnableCycle(),TOUCHEVENT_COMPAT_WAIT+this._config.interval))}};this._swipeHelper=new Swipe(this._element,e)}_keydown(t){if(/input|textarea/i.test(t.target.tagName))return;const e=KEY_TO_DIRECTION[t.key];e&&(t.preventDefault(),this._slide(this._directionToOrder(e)))}_getItemIndex(t){return this._getItems().indexOf(t)}_setActiveIndicatorElement(t){if(!this._indicatorsElement)return;const e=SelectorEngine.findOne(SELECTOR_ACTIVE,this._indicatorsElement);e.classList.remove(CLASS_NAME_ACTIVE$2),e.removeAttribute("aria-current");const i=SelectorEngine.findOne(`[data-bs-slide-to="${t}"]`,this._indicatorsElement);i&&(i.classList.add(CLASS_NAME_ACTIVE$2),i.setAttribute("aria-current","true"))}_updateInterval(){const t=this._activeElement||this._getActive();if(!t)return;const e=Number.parseInt(t.getAttribute("data-bs-interval"),10);this._config.interval=e||this._config.defaultInterval}_slide(t,e=null){if(this._isSliding)return;const i=this._getActive(),r=t===ORDER_NEXT,a=e||getNextActiveElement(this._getItems(),i,r,this._config.wrap);if(a===i)return;const o=this._getItemIndex(a),l=y=>EventHandler.trigger(this._element,y,{relatedTarget:a,direction:this._orderToDirection(t),from:this._getItemIndex(i),to:o});if(l(EVENT_SLIDE).defaultPrevented||!i||!a)return;const d=!!this._interval;this.pause(),this._isSliding=!0,this._setActiveIndicatorElement(o),this._activeElement=a;const m=r?CLASS_NAME_START:CLASS_NAME_END,p=r?CLASS_NAME_NEXT:CLASS_NAME_PREV;a.classList.add(p),reflow(a),i.classList.add(m),a.classList.add(m);const _=()=>{a.classList.remove(m,p),a.classList.add(CLASS_NAME_ACTIVE$2),i.classList.remove(CLASS_NAME_ACTIVE$2,p,m),this._isSliding=!1,l(EVENT_SLID)};this._queueCallback(_,i,this._isAnimated()),d&&this.cycle()}_isAnimated(){return this._element.classList.contains(CLASS_NAME_SLIDE)}_getActive(){return SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM,this._element)}_getItems(){return SelectorEngine.find(SELECTOR_ITEM,this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(t){return isRTL()?t===DIRECTION_LEFT?ORDER_PREV:ORDER_NEXT:t===DIRECTION_LEFT?ORDER_NEXT:ORDER_PREV}_orderToDirection(t){return isRTL()?t===ORDER_PREV?DIRECTION_LEFT:DIRECTION_RIGHT:t===ORDER_PREV?DIRECTION_RIGHT:DIRECTION_LEFT}static jQueryInterface(t){return this.each(function(){const e=Carousel.getOrCreateInstance(this,t);if(typeof t=="number"){e.to(t);return}if(typeof t=="string"){if(e[t]===void 0||t.startsWith("_")||t==="constructor")throw new TypeError(`No method named "${t}"`);e[t]()}})}}EventHandler.on(document,EVENT_CLICK_DATA_API$5,SELECTOR_DATA_SLIDE,function(n){const t=SelectorEngine.getElementFromSelector(this);if(!t||!t.classList.contains(CLASS_NAME_CAROUSEL))return;n.preventDefault();const e=Carousel.getOrCreateInstance(t),i=this.getAttribute("data-bs-slide-to");if(i){e.to(i),e._maybeEnableCycle();return}if(Manipulator.getDataAttribute(this,"slide")==="next"){e.next(),e._maybeEnableCycle();return}e.prev(),e._maybeEnableCycle()});EventHandler.on(window,EVENT_LOAD_DATA_API$3,()=>{const n=SelectorEngine.find(SELECTOR_DATA_RIDE);for(const t of n)Carousel.getOrCreateInstance(t)});defineJQueryPlugin(Carousel);const NAME$b="collapse",DATA_KEY$7="bs.collapse",EVENT_KEY$7=`.${DATA_KEY$7}`,DATA_API_KEY$4=".data-api",EVENT_SHOW$6=`show${EVENT_KEY$7}`,EVENT_SHOWN$6=`shown${EVENT_KEY$7}`,EVENT_HIDE$6=`hide${EVENT_KEY$7}`,EVENT_HIDDEN$6=`hidden${EVENT_KEY$7}`,EVENT_CLICK_DATA_API$4=`click${EVENT_KEY$7}${DATA_API_KEY$4}`,CLASS_NAME_SHOW$7="show",CLASS_NAME_COLLAPSE="collapse",CLASS_NAME_COLLAPSING="collapsing",CLASS_NAME_COLLAPSED="collapsed",CLASS_NAME_DEEPER_CHILDREN=`:scope .${CLASS_NAME_COLLAPSE} .${CLASS_NAME_COLLAPSE}`,CLASS_NAME_HORIZONTAL="collapse-horizontal",WIDTH="width",HEIGHT="height",SELECTOR_ACTIVES=".collapse.show, .collapse.collapsing",SELECTOR_DATA_TOGGLE$4='[data-bs-toggle="collapse"]',Default$a={parent:null,toggle:!0},DefaultType$a={parent:"(null|element)",toggle:"boolean"};class Collapse extends BaseComponent{constructor(t,e){super(t,e),this._isTransitioning=!1,this._triggerArray=[];const i=SelectorEngine.find(SELECTOR_DATA_TOGGLE$4);for(const r of i){const a=SelectorEngine.getSelectorFromElement(r),o=SelectorEngine.find(a).filter(l=>l===this._element);a!==null&&o.length&&this._triggerArray.push(r)}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return Default$a}static get DefaultType(){return DefaultType$a}static get NAME(){return NAME$b}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let t=[];if(this._config.parent&&(t=this._getFirstLevelChildren(SELECTOR_ACTIVES).filter(l=>l!==this._element).map(l=>Collapse.getOrCreateInstance(l,{toggle:!1}))),t.length&&t[0]._isTransitioning||EventHandler.trigger(this._element,EVENT_SHOW$6).defaultPrevented)return;for(const l of t)l.hide();const i=this._getDimension();this._element.classList.remove(CLASS_NAME_COLLAPSE),this._element.classList.add(CLASS_NAME_COLLAPSING),this._element.style[i]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const r=()=>{this._isTransitioning=!1,this._element.classList.remove(CLASS_NAME_COLLAPSING),this._element.classList.add(CLASS_NAME_COLLAPSE,CLASS_NAME_SHOW$7),this._element.style[i]="",EventHandler.trigger(this._element,EVENT_SHOWN$6)},o=`scroll${i[0].toUpperCase()+i.slice(1)}`;this._queueCallback(r,this._element,!0),this._element.style[i]=`${this._element[o]}px`}hide(){if(this._isTransitioning||!this._isShown()||EventHandler.trigger(this._element,EVENT_HIDE$6).defaultPrevented)return;const e=this._getDimension();this._element.style[e]=`${this._element.getBoundingClientRect()[e]}px`,reflow(this._element),this._element.classList.add(CLASS_NAME_COLLAPSING),this._element.classList.remove(CLASS_NAME_COLLAPSE,CLASS_NAME_SHOW$7);for(const r of this._triggerArray){const a=SelectorEngine.getElementFromSelector(r);a&&!this._isShown(a)&&this._addAriaAndCollapsedClass([r],!1)}this._isTransitioning=!0;const i=()=>{this._isTransitioning=!1,this._element.classList.remove(CLASS_NAME_COLLAPSING),this._element.classList.add(CLASS_NAME_COLLAPSE),EventHandler.trigger(this._element,EVENT_HIDDEN$6)};this._element.style[e]="",this._queueCallback(i,this._element,!0)}_isShown(t=this._element){return t.classList.contains(CLASS_NAME_SHOW$7)}_configAfterMerge(t){return t.toggle=!!t.toggle,t.parent=getElement(t.parent),t}_getDimension(){return this._element.classList.contains(CLASS_NAME_HORIZONTAL)?WIDTH:HEIGHT}_initializeChildren(){if(!this._config.parent)return;const t=this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE$4);for(const e of t){const i=SelectorEngine.getElementFromSelector(e);i&&this._addAriaAndCollapsedClass([e],this._isShown(i))}}_getFirstLevelChildren(t){const e=SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN,this._config.parent);return SelectorEngine.find(t,this._config.parent).filter(i=>!e.includes(i))}_addAriaAndCollapsedClass(t,e){if(t.length)for(const i of t)i.classList.toggle(CLASS_NAME_COLLAPSED,!e),i.setAttribute("aria-expanded",e)}static jQueryInterface(t){const e={};return typeof t=="string"&&/show|hide/.test(t)&&(e.toggle=!1),this.each(function(){const i=Collapse.getOrCreateInstance(this,e);if(typeof t=="string"){if(typeof i[t]>"u")throw new TypeError(`No method named "${t}"`);i[t]()}})}}EventHandler.on(document,EVENT_CLICK_DATA_API$4,SELECTOR_DATA_TOGGLE$4,function(n){(n.target.tagName==="A"||n.delegateTarget&&n.delegateTarget.tagName==="A")&&n.preventDefault();for(const t of SelectorEngine.getMultipleElementsFromSelector(this))Collapse.getOrCreateInstance(t,{toggle:!1}).toggle()});defineJQueryPlugin(Collapse);const NAME$a="dropdown",DATA_KEY$6="bs.dropdown",EVENT_KEY$6=`.${DATA_KEY$6}`,DATA_API_KEY$3=".data-api",ESCAPE_KEY$2="Escape",TAB_KEY$1="Tab",ARROW_UP_KEY$1="ArrowUp",ARROW_DOWN_KEY$1="ArrowDown",RIGHT_MOUSE_BUTTON=2,EVENT_HIDE$5=`hide${EVENT_KEY$6}`,EVENT_HIDDEN$5=`hidden${EVENT_KEY$6}`,EVENT_SHOW$5=`show${EVENT_KEY$6}`,EVENT_SHOWN$5=`shown${EVENT_KEY$6}`,EVENT_CLICK_DATA_API$3=`click${EVENT_KEY$6}${DATA_API_KEY$3}`,EVENT_KEYDOWN_DATA_API=`keydown${EVENT_KEY$6}${DATA_API_KEY$3}`,EVENT_KEYUP_DATA_API=`keyup${EVENT_KEY$6}${DATA_API_KEY$3}`,CLASS_NAME_SHOW$6="show",CLASS_NAME_DROPUP="dropup",CLASS_NAME_DROPEND="dropend",CLASS_NAME_DROPSTART="dropstart",CLASS_NAME_DROPUP_CENTER="dropup-center",CLASS_NAME_DROPDOWN_CENTER="dropdown-center",SELECTOR_DATA_TOGGLE$3='[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)',SELECTOR_DATA_TOGGLE_SHOWN=`${SELECTOR_DATA_TOGGLE$3}.${CLASS_NAME_SHOW$6}`,SELECTOR_MENU=".dropdown-menu",SELECTOR_NAVBAR=".navbar",SELECTOR_NAVBAR_NAV=".navbar-nav",SELECTOR_VISIBLE_ITEMS=".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",PLACEMENT_TOP=isRTL()?"top-end":"top-start",PLACEMENT_TOPEND=isRTL()?"top-start":"top-end",PLACEMENT_BOTTOM=isRTL()?"bottom-end":"bottom-start",PLACEMENT_BOTTOMEND=isRTL()?"bottom-start":"bottom-end",PLACEMENT_RIGHT=isRTL()?"left-start":"right-start",PLACEMENT_LEFT=isRTL()?"right-start":"left-start",PLACEMENT_TOPCENTER="top",PLACEMENT_BOTTOMCENTER="bottom",Default$9={autoClose:!0,boundary:"clippingParents",display:"dynamic",offset:[0,2],popperConfig:null,reference:"toggle"},DefaultType$9={autoClose:"(boolean|string)",boundary:"(string|element)",display:"string",offset:"(array|string|function)",popperConfig:"(null|object|function)",reference:"(string|element|object)"};class Dropdown extends BaseComponent{constructor(t,e){super(t,e),this._popper=null,this._parent=this._element.parentNode,this._menu=SelectorEngine.next(this._element,SELECTOR_MENU)[0]||SelectorEngine.prev(this._element,SELECTOR_MENU)[0]||SelectorEngine.findOne(SELECTOR_MENU,this._parent),this._inNavbar=this._detectNavbar()}static get Default(){return Default$9}static get DefaultType(){return DefaultType$9}static get NAME(){return NAME$a}toggle(){return this._isShown()?this.hide():this.show()}show(){if(isDisabled(this._element)||this._isShown())return;const t={relatedTarget:this._element};if(!EventHandler.trigger(this._element,EVENT_SHOW$5,t).defaultPrevented){if(this._createPopper(),"ontouchstart"in document.documentElement&&!this._parent.closest(SELECTOR_NAVBAR_NAV))for(const i of[].concat(...document.body.children))EventHandler.on(i,"mouseover",noop$2);this._element.focus(),this._element.setAttribute("aria-expanded",!0),this._menu.classList.add(CLASS_NAME_SHOW$6),this._element.classList.add(CLASS_NAME_SHOW$6),EventHandler.trigger(this._element,EVENT_SHOWN$5,t)}}hide(){if(isDisabled(this._element)||!this._isShown())return;const t={relatedTarget:this._element};this._completeHide(t)}dispose(){this._popper&&this._popper.destroy(),super.dispose()}update(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.update()}_completeHide(t){if(!EventHandler.trigger(this._element,EVENT_HIDE$5,t).defaultPrevented){if("ontouchstart"in document.documentElement)for(const i of[].concat(...document.body.children))EventHandler.off(i,"mouseover",noop$2);this._popper&&this._popper.destroy(),this._menu.classList.remove(CLASS_NAME_SHOW$6),this._element.classList.remove(CLASS_NAME_SHOW$6),this._element.setAttribute("aria-expanded","false"),Manipulator.removeDataAttribute(this._menu,"popper"),EventHandler.trigger(this._element,EVENT_HIDDEN$5,t)}}_getConfig(t){if(t=super._getConfig(t),typeof t.reference=="object"&&!isElement(t.reference)&&typeof t.reference.getBoundingClientRect!="function")throw new TypeError(`${NAME$a.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);return t}_createPopper(){if(typeof Popper>"u")throw new TypeError("Bootstrap's dropdowns require Popper (https://popper.js.org)");let t=this._element;this._config.reference==="parent"?t=this._parent:isElement(this._config.reference)?t=getElement(this._config.reference):typeof this._config.reference=="object"&&(t=this._config.reference);const e=this._getPopperConfig();this._popper=createPopper(t,this._menu,e)}_isShown(){return this._menu.classList.contains(CLASS_NAME_SHOW$6)}_getPlacement(){const t=this._parent;if(t.classList.contains(CLASS_NAME_DROPEND))return PLACEMENT_RIGHT;if(t.classList.contains(CLASS_NAME_DROPSTART))return PLACEMENT_LEFT;if(t.classList.contains(CLASS_NAME_DROPUP_CENTER))return PLACEMENT_TOPCENTER;if(t.classList.contains(CLASS_NAME_DROPDOWN_CENTER))return PLACEMENT_BOTTOMCENTER;const e=getComputedStyle(this._menu).getPropertyValue("--bs-position").trim()==="end";return t.classList.contains(CLASS_NAME_DROPUP)?e?PLACEMENT_TOPEND:PLACEMENT_TOP:e?PLACEMENT_BOTTOMEND:PLACEMENT_BOTTOM}_detectNavbar(){return this._element.closest(SELECTOR_NAVBAR)!==null}_getOffset(){const{offset:t}=this._config;return typeof t=="string"?t.split(",").map(e=>Number.parseInt(e,10)):typeof t=="function"?e=>t(e,this._element):t}_getPopperConfig(){const t={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return(this._inNavbar||this._config.display==="static")&&(Manipulator.setDataAttribute(this._menu,"popper","static"),t.modifiers=[{name:"applyStyles",enabled:!1}]),{...t,...execute(this._config.popperConfig,[t])}}_selectMenuItem({key:t,target:e}){const i=SelectorEngine.find(SELECTOR_VISIBLE_ITEMS,this._menu).filter(r=>isVisible(r));i.length&&getNextActiveElement(i,e,t===ARROW_DOWN_KEY$1,!i.includes(e)).focus()}static jQueryInterface(t){return this.each(function(){const e=Dropdown.getOrCreateInstance(this,t);if(typeof t=="string"){if(typeof e[t]>"u")throw new TypeError(`No method named "${t}"`);e[t]()}})}static clearMenus(t){if(t.button===RIGHT_MOUSE_BUTTON||t.type==="keyup"&&t.key!==TAB_KEY$1)return;const e=SelectorEngine.find(SELECTOR_DATA_TOGGLE_SHOWN);for(const i of e){const r=Dropdown.getInstance(i);if(!r||r._config.autoClose===!1)continue;const a=t.composedPath(),o=a.includes(r._menu);if(a.includes(r._element)||r._config.autoClose==="inside"&&!o||r._config.autoClose==="outside"&&o||r._menu.contains(t.target)&&(t.type==="keyup"&&t.key===TAB_KEY$1||/input|select|option|textarea|form/i.test(t.target.tagName)))continue;const l={relatedTarget:r._element};t.type==="click"&&(l.clickEvent=t),r._completeHide(l)}}static dataApiKeydownHandler(t){const e=/input|textarea/i.test(t.target.tagName),i=t.key===ESCAPE_KEY$2,r=[ARROW_UP_KEY$1,ARROW_DOWN_KEY$1].includes(t.key);if(!r&&!i||e&&!i)return;t.preventDefault();const a=this.matches(SELECTOR_DATA_TOGGLE$3)?this:SelectorEngine.prev(this,SELECTOR_DATA_TOGGLE$3)[0]||SelectorEngine.next(this,SELECTOR_DATA_TOGGLE$3)[0]||SelectorEngine.findOne(SELECTOR_DATA_TOGGLE$3,t.delegateTarget.parentNode),o=Dropdown.getOrCreateInstance(a);if(r){t.stopPropagation(),o.show(),o._selectMenuItem(t);return}o._isShown()&&(t.stopPropagation(),o.hide(),a.focus())}}EventHandler.on(document,EVENT_KEYDOWN_DATA_API,SELECTOR_DATA_TOGGLE$3,Dropdown.dataApiKeydownHandler);EventHandler.on(document,EVENT_KEYDOWN_DATA_API,SELECTOR_MENU,Dropdown.dataApiKeydownHandler);EventHandler.on(document,EVENT_CLICK_DATA_API$3,Dropdown.clearMenus);EventHandler.on(document,EVENT_KEYUP_DATA_API,Dropdown.clearMenus);EventHandler.on(document,EVENT_CLICK_DATA_API$3,SELECTOR_DATA_TOGGLE$3,function(n){n.preventDefault(),Dropdown.getOrCreateInstance(this).toggle()});defineJQueryPlugin(Dropdown);const NAME$9="backdrop",CLASS_NAME_FADE$4="fade",CLASS_NAME_SHOW$5="show",EVENT_MOUSEDOWN=`mousedown.bs.${NAME$9}`,Default$8={className:"modal-backdrop",clickCallback:null,isAnimated:!1,isVisible:!0,rootElement:"body"},DefaultType$8={className:"string",clickCallback:"(function|null)",isAnimated:"boolean",isVisible:"boolean",rootElement:"(element|string)"};class Backdrop extends Config$1{constructor(t){super(),this._config=this._getConfig(t),this._isAppended=!1,this._element=null}static get Default(){return Default$8}static get DefaultType(){return DefaultType$8}static get NAME(){return NAME$9}show(t){if(!this._config.isVisible){execute(t);return}this._append();const e=this._getElement();this._config.isAnimated&&reflow(e),e.classList.add(CLASS_NAME_SHOW$5),this._emulateAnimation(()=>{execute(t)})}hide(t){if(!this._config.isVisible){execute(t);return}this._getElement().classList.remove(CLASS_NAME_SHOW$5),this._emulateAnimation(()=>{this.dispose(),execute(t)})}dispose(){this._isAppended&&(EventHandler.off(this._element,EVENT_MOUSEDOWN),this._element.remove(),this._isAppended=!1)}_getElement(){if(!this._element){const t=document.createElement("div");t.className=this._config.className,this._config.isAnimated&&t.classList.add(CLASS_NAME_FADE$4),this._element=t}return this._element}_configAfterMerge(t){return t.rootElement=getElement(t.rootElement),t}_append(){if(this._isAppended)return;const t=this._getElement();this._config.rootElement.append(t),EventHandler.on(t,EVENT_MOUSEDOWN,()=>{execute(this._config.clickCallback)}),this._isAppended=!0}_emulateAnimation(t){executeAfterTransition(t,this._getElement(),this._config.isAnimated)}}const NAME$8="focustrap",DATA_KEY$5="bs.focustrap",EVENT_KEY$5=`.${DATA_KEY$5}`,EVENT_FOCUSIN$2=`focusin${EVENT_KEY$5}`,EVENT_KEYDOWN_TAB=`keydown.tab${EVENT_KEY$5}`,TAB_KEY="Tab",TAB_NAV_FORWARD="forward",TAB_NAV_BACKWARD="backward",Default$7={autofocus:!0,trapElement:null},DefaultType$7={autofocus:"boolean",trapElement:"element"};class FocusTrap extends Config$1{constructor(t){super(),this._config=this._getConfig(t),this._isActive=!1,this._lastTabNavDirection=null}static get Default(){return Default$7}static get DefaultType(){return DefaultType$7}static get NAME(){return NAME$8}activate(){this._isActive||(this._config.autofocus&&this._config.trapElement.focus(),EventHandler.off(document,EVENT_KEY$5),EventHandler.on(document,EVENT_FOCUSIN$2,t=>this._handleFocusin(t)),EventHandler.on(document,EVENT_KEYDOWN_TAB,t=>this._handleKeydown(t)),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,EventHandler.off(document,EVENT_KEY$5))}_handleFocusin(t){const{trapElement:e}=this._config;if(t.target===document||t.target===e||e.contains(t.target))return;const i=SelectorEngine.focusableChildren(e);i.length===0?e.focus():this._lastTabNavDirection===TAB_NAV_BACKWARD?i[i.length-1].focus():i[0].focus()}_handleKeydown(t){t.key===TAB_KEY&&(this._lastTabNavDirection=t.shiftKey?TAB_NAV_BACKWARD:TAB_NAV_FORWARD)}}const SELECTOR_FIXED_CONTENT=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",SELECTOR_STICKY_CONTENT=".sticky-top",PROPERTY_PADDING="padding-right",PROPERTY_MARGIN="margin-right";class ScrollBarHelper{constructor(){this._element=document.body}getWidth(){const t=document.documentElement.clientWidth;return Math.abs(window.innerWidth-t)}hide(){const t=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,PROPERTY_PADDING,e=>e+t),this._setElementAttributes(SELECTOR_FIXED_CONTENT,PROPERTY_PADDING,e=>e+t),this._setElementAttributes(SELECTOR_STICKY_CONTENT,PROPERTY_MARGIN,e=>e-t)}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,PROPERTY_PADDING),this._resetElementAttributes(SELECTOR_FIXED_CONTENT,PROPERTY_PADDING),this._resetElementAttributes(SELECTOR_STICKY_CONTENT,PROPERTY_MARGIN)}isOverflowing(){return this.getWidth()>0}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(t,e,i){const r=this.getWidth(),a=o=>{if(o!==this._element&&window.innerWidth>o.clientWidth+r)return;this._saveInitialAttribute(o,e);const l=window.getComputedStyle(o).getPropertyValue(e);o.style.setProperty(e,`${i(Number.parseFloat(l))}px`)};this._applyManipulationCallback(t,a)}_saveInitialAttribute(t,e){const i=t.style.getPropertyValue(e);i&&Manipulator.setDataAttribute(t,e,i)}_resetElementAttributes(t,e){const i=r=>{const a=Manipulator.getDataAttribute(r,e);if(a===null){r.style.removeProperty(e);return}Manipulator.removeDataAttribute(r,e),r.style.setProperty(e,a)};this._applyManipulationCallback(t,i)}_applyManipulationCallback(t,e){if(isElement(t)){e(t);return}for(const i of SelectorEngine.find(t,this._element))e(i)}}const NAME$7="modal",DATA_KEY$4="bs.modal",EVENT_KEY$4=`.${DATA_KEY$4}`,DATA_API_KEY$2=".data-api",ESCAPE_KEY$1="Escape",EVENT_HIDE$4=`hide${EVENT_KEY$4}`,EVENT_HIDE_PREVENTED$1=`hidePrevented${EVENT_KEY$4}`,EVENT_HIDDEN$4=`hidden${EVENT_KEY$4}`,EVENT_SHOW$4=`show${EVENT_KEY$4}`,EVENT_SHOWN$4=`shown${EVENT_KEY$4}`,EVENT_RESIZE$1=`resize${EVENT_KEY$4}`,EVENT_CLICK_DISMISS=`click.dismiss${EVENT_KEY$4}`,EVENT_MOUSEDOWN_DISMISS=`mousedown.dismiss${EVENT_KEY$4}`,EVENT_KEYDOWN_DISMISS$1=`keydown.dismiss${EVENT_KEY$4}`,EVENT_CLICK_DATA_API$2=`click${EVENT_KEY$4}${DATA_API_KEY$2}`,CLASS_NAME_OPEN="modal-open",CLASS_NAME_FADE$3="fade",CLASS_NAME_SHOW$4="show",CLASS_NAME_STATIC="modal-static",OPEN_SELECTOR$1=".modal.show",SELECTOR_DIALOG=".modal-dialog",SELECTOR_MODAL_BODY=".modal-body",SELECTOR_DATA_TOGGLE$2='[data-bs-toggle="modal"]',Default$6={backdrop:!0,focus:!0,keyboard:!0},DefaultType$6={backdrop:"(boolean|string)",focus:"boolean",keyboard:"boolean"};class Modal extends BaseComponent{constructor(t,e){super(t,e),this._dialog=SelectorEngine.findOne(SELECTOR_DIALOG,this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._isTransitioning=!1,this._scrollBar=new ScrollBarHelper,this._addEventListeners()}static get Default(){return Default$6}static get DefaultType(){return DefaultType$6}static get NAME(){return NAME$7}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||this._isTransitioning||EventHandler.trigger(this._element,EVENT_SHOW$4,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._isTransitioning=!0,this._scrollBar.hide(),document.body.classList.add(CLASS_NAME_OPEN),this._adjustDialog(),this._backdrop.show(()=>this._showElement(t)))}hide(){!this._isShown||this._isTransitioning||EventHandler.trigger(this._element,EVENT_HIDE$4).defaultPrevented||(this._isShown=!1,this._isTransitioning=!0,this._focustrap.deactivate(),this._element.classList.remove(CLASS_NAME_SHOW$4),this._queueCallback(()=>this._hideModal(),this._element,this._isAnimated()))}dispose(){EventHandler.off(window,EVENT_KEY$4),EventHandler.off(this._dialog,EVENT_KEY$4),this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new Backdrop({isVisible:!!this._config.backdrop,isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new FocusTrap({trapElement:this._element})}_showElement(t){document.body.contains(this._element)||document.body.append(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0;const e=SelectorEngine.findOne(SELECTOR_MODAL_BODY,this._dialog);e&&(e.scrollTop=0),reflow(this._element),this._element.classList.add(CLASS_NAME_SHOW$4);const i=()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,EventHandler.trigger(this._element,EVENT_SHOWN$4,{relatedTarget:t})};this._queueCallback(i,this._dialog,this._isAnimated())}_addEventListeners(){EventHandler.on(this._element,EVENT_KEYDOWN_DISMISS$1,t=>{if(t.key===ESCAPE_KEY$1){if(this._config.keyboard){this.hide();return}this._triggerBackdropTransition()}}),EventHandler.on(window,EVENT_RESIZE$1,()=>{this._isShown&&!this._isTransitioning&&this._adjustDialog()}),EventHandler.on(this._element,EVENT_MOUSEDOWN_DISMISS,t=>{EventHandler.one(this._element,EVENT_CLICK_DISMISS,e=>{if(!(this._element!==t.target||this._element!==e.target)){if(this._config.backdrop==="static"){this._triggerBackdropTransition();return}this._config.backdrop&&this.hide()}})})}_hideModal(){this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._backdrop.hide(()=>{document.body.classList.remove(CLASS_NAME_OPEN),this._resetAdjustments(),this._scrollBar.reset(),EventHandler.trigger(this._element,EVENT_HIDDEN$4)})}_isAnimated(){return this._element.classList.contains(CLASS_NAME_FADE$3)}_triggerBackdropTransition(){if(EventHandler.trigger(this._element,EVENT_HIDE_PREVENTED$1).defaultPrevented)return;const e=this._element.scrollHeight>document.documentElement.clientHeight,i=this._element.style.overflowY;i==="hidden"||this._element.classList.contains(CLASS_NAME_STATIC)||(e||(this._element.style.overflowY="hidden"),this._element.classList.add(CLASS_NAME_STATIC),this._queueCallback(()=>{this._element.classList.remove(CLASS_NAME_STATIC),this._queueCallback(()=>{this._element.style.overflowY=i},this._dialog)},this._dialog),this._element.focus())}_adjustDialog(){const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._scrollBar.getWidth(),i=e>0;if(i&&!t){const r=isRTL()?"paddingLeft":"paddingRight";this._element.style[r]=`${e}px`}if(!i&&t){const r=isRTL()?"paddingRight":"paddingLeft";this._element.style[r]=`${e}px`}}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(t,e){return this.each(function(){const i=Modal.getOrCreateInstance(this,t);if(typeof t=="string"){if(typeof i[t]>"u")throw new TypeError(`No method named "${t}"`);i[t](e)}})}}EventHandler.on(document,EVENT_CLICK_DATA_API$2,SELECTOR_DATA_TOGGLE$2,function(n){const t=SelectorEngine.getElementFromSelector(this);["A","AREA"].includes(this.tagName)&&n.preventDefault(),EventHandler.one(t,EVENT_SHOW$4,r=>{r.defaultPrevented||EventHandler.one(t,EVENT_HIDDEN$4,()=>{isVisible(this)&&this.focus()})});const e=SelectorEngine.findOne(OPEN_SELECTOR$1);e&&Modal.getInstance(e).hide(),Modal.getOrCreateInstance(t).toggle(this)});enableDismissTrigger(Modal);defineJQueryPlugin(Modal);const NAME$6="offcanvas",DATA_KEY$3="bs.offcanvas",EVENT_KEY$3=`.${DATA_KEY$3}`,DATA_API_KEY$1=".data-api",EVENT_LOAD_DATA_API$2=`load${EVENT_KEY$3}${DATA_API_KEY$1}`,ESCAPE_KEY="Escape",CLASS_NAME_SHOW$3="show",CLASS_NAME_SHOWING$1="showing",CLASS_NAME_HIDING="hiding",CLASS_NAME_BACKDROP="offcanvas-backdrop",OPEN_SELECTOR=".offcanvas.show",EVENT_SHOW$3=`show${EVENT_KEY$3}`,EVENT_SHOWN$3=`shown${EVENT_KEY$3}`,EVENT_HIDE$3=`hide${EVENT_KEY$3}`,EVENT_HIDE_PREVENTED=`hidePrevented${EVENT_KEY$3}`,EVENT_HIDDEN$3=`hidden${EVENT_KEY$3}`,EVENT_RESIZE=`resize${EVENT_KEY$3}`,EVENT_CLICK_DATA_API$1=`click${EVENT_KEY$3}${DATA_API_KEY$1}`,EVENT_KEYDOWN_DISMISS=`keydown.dismiss${EVENT_KEY$3}`,SELECTOR_DATA_TOGGLE$1='[data-bs-toggle="offcanvas"]',Default$5={backdrop:!0,keyboard:!0,scroll:!1},DefaultType$5={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};class Offcanvas extends BaseComponent{constructor(t,e){super(t,e),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get Default(){return Default$5}static get DefaultType(){return DefaultType$5}static get NAME(){return NAME$6}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){if(this._isShown||EventHandler.trigger(this._element,EVENT_SHOW$3,{relatedTarget:t}).defaultPrevented)return;this._isShown=!0,this._backdrop.show(),this._config.scroll||new ScrollBarHelper().hide(),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add(CLASS_NAME_SHOWING$1);const i=()=>{(!this._config.scroll||this._config.backdrop)&&this._focustrap.activate(),this._element.classList.add(CLASS_NAME_SHOW$3),this._element.classList.remove(CLASS_NAME_SHOWING$1),EventHandler.trigger(this._element,EVENT_SHOWN$3,{relatedTarget:t})};this._queueCallback(i,this._element,!0)}hide(){if(!this._isShown||EventHandler.trigger(this._element,EVENT_HIDE$3).defaultPrevented)return;this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.add(CLASS_NAME_HIDING),this._backdrop.hide();const e=()=>{this._element.classList.remove(CLASS_NAME_SHOW$3,CLASS_NAME_HIDING),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._config.scroll||new ScrollBarHelper().reset(),EventHandler.trigger(this._element,EVENT_HIDDEN$3)};this._queueCallback(e,this._element,!0)}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_initializeBackDrop(){const t=()=>{if(this._config.backdrop==="static"){EventHandler.trigger(this._element,EVENT_HIDE_PREVENTED);return}this.hide()},e=!!this._config.backdrop;return new Backdrop({className:CLASS_NAME_BACKDROP,isVisible:e,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:e?t:null})}_initializeFocusTrap(){return new FocusTrap({trapElement:this._element})}_addEventListeners(){EventHandler.on(this._element,EVENT_KEYDOWN_DISMISS,t=>{if(t.key===ESCAPE_KEY){if(this._config.keyboard){this.hide();return}EventHandler.trigger(this._element,EVENT_HIDE_PREVENTED)}})}static jQueryInterface(t){return this.each(function(){const e=Offcanvas.getOrCreateInstance(this,t);if(typeof t=="string"){if(e[t]===void 0||t.startsWith("_")||t==="constructor")throw new TypeError(`No method named "${t}"`);e[t](this)}})}}EventHandler.on(document,EVENT_CLICK_DATA_API$1,SELECTOR_DATA_TOGGLE$1,function(n){const t=SelectorEngine.getElementFromSelector(this);if(["A","AREA"].includes(this.tagName)&&n.preventDefault(),isDisabled(this))return;EventHandler.one(t,EVENT_HIDDEN$3,()=>{isVisible(this)&&this.focus()});const e=SelectorEngine.findOne(OPEN_SELECTOR);e&&e!==t&&Offcanvas.getInstance(e).hide(),Offcanvas.getOrCreateInstance(t).toggle(this)});EventHandler.on(window,EVENT_LOAD_DATA_API$2,()=>{for(const n of SelectorEngine.find(OPEN_SELECTOR))Offcanvas.getOrCreateInstance(n).show()});EventHandler.on(window,EVENT_RESIZE,()=>{for(const n of SelectorEngine.find("[aria-modal][class*=show][class*=offcanvas-]"))getComputedStyle(n).position!=="fixed"&&Offcanvas.getOrCreateInstance(n).hide()});enableDismissTrigger(Offcanvas);defineJQueryPlugin(Offcanvas);const ARIA_ATTRIBUTE_PATTERN=/^aria-[\w-]*$/i,DefaultAllowlist={"*":["class","dir","id","lang","role",ARIA_ATTRIBUTE_PATTERN],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},uriAttributes=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),SAFE_URL_PATTERN=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i,allowedAttribute=(n,t)=>{const e=n.nodeName.toLowerCase();return t.includes(e)?uriAttributes.has(e)?!!SAFE_URL_PATTERN.test(n.nodeValue):!0:t.filter(i=>i instanceof RegExp).some(i=>i.test(e))};function sanitizeHtml(n,t,e){if(!n.length)return n;if(e&&typeof e=="function")return e(n);const r=new window.DOMParser().parseFromString(n,"text/html"),a=[].concat(...r.body.querySelectorAll("*"));for(const o of a){const l=o.nodeName.toLowerCase();if(!Object.keys(t).includes(l)){o.remove();continue}const u=[].concat(...o.attributes),d=[].concat(t["*"]||[],t[l]||[]);for(const m of u)allowedAttribute(m,d)||o.removeAttribute(m.nodeName)}return r.body.innerHTML}const NAME$5="TemplateFactory",Default$4={allowList:DefaultAllowlist,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:"
"},DefaultType$4={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},DefaultContentType={entry:"(string|element|function|null)",selector:"(string|element)"};class TemplateFactory extends Config$1{constructor(t){super(),this._config=this._getConfig(t)}static get Default(){return Default$4}static get DefaultType(){return DefaultType$4}static get NAME(){return NAME$5}getContent(){return Object.values(this._config.content).map(t=>this._resolvePossibleFunction(t)).filter(Boolean)}hasContent(){return this.getContent().length>0}changeContent(t){return this._checkContent(t),this._config.content={...this._config.content,...t},this}toHtml(){const t=document.createElement("div");t.innerHTML=this._maybeSanitize(this._config.template);for(const[r,a]of Object.entries(this._config.content))this._setContent(t,a,r);const e=t.children[0],i=this._resolvePossibleFunction(this._config.extraClass);return i&&e.classList.add(...i.split(" ")),e}_typeCheckConfig(t){super._typeCheckConfig(t),this._checkContent(t.content)}_checkContent(t){for(const[e,i]of Object.entries(t))super._typeCheckConfig({selector:e,entry:i},DefaultContentType)}_setContent(t,e,i){const r=SelectorEngine.findOne(i,t);if(r){if(e=this._resolvePossibleFunction(e),!e){r.remove();return}if(isElement(e)){this._putElementInTemplate(getElement(e),r);return}if(this._config.html){r.innerHTML=this._maybeSanitize(e);return}r.textContent=e}}_maybeSanitize(t){return this._config.sanitize?sanitizeHtml(t,this._config.allowList,this._config.sanitizeFn):t}_resolvePossibleFunction(t){return execute(t,[this])}_putElementInTemplate(t,e){if(this._config.html){e.innerHTML="",e.append(t);return}e.textContent=t.textContent}}const NAME$4="tooltip",DISALLOWED_ATTRIBUTES=new Set(["sanitize","allowList","sanitizeFn"]),CLASS_NAME_FADE$2="fade",CLASS_NAME_MODAL="modal",CLASS_NAME_SHOW$2="show",SELECTOR_TOOLTIP_INNER=".tooltip-inner",SELECTOR_MODAL=`.${CLASS_NAME_MODAL}`,EVENT_MODAL_HIDE="hide.bs.modal",TRIGGER_HOVER="hover",TRIGGER_FOCUS="focus",TRIGGER_CLICK="click",TRIGGER_MANUAL="manual",EVENT_HIDE$2="hide",EVENT_HIDDEN$2="hidden",EVENT_SHOW$2="show",EVENT_SHOWN$2="shown",EVENT_INSERTED="inserted",EVENT_CLICK$1="click",EVENT_FOCUSIN$1="focusin",EVENT_FOCUSOUT$1="focusout",EVENT_MOUSEENTER="mouseenter",EVENT_MOUSELEAVE="mouseleave",AttachmentMap={AUTO:"auto",TOP:"top",RIGHT:isRTL()?"left":"right",BOTTOM:"bottom",LEFT:isRTL()?"right":"left"},Default$3={allowList:DefaultAllowlist,animation:!0,boundary:"clippingParents",container:!1,customClass:"",delay:0,fallbackPlacements:["top","right","bottom","left"],html:!1,offset:[0,6],placement:"top",popperConfig:null,sanitize:!0,sanitizeFn:null,selector:!1,template:'',title:"",trigger:"hover focus"},DefaultType$3={allowList:"object",animation:"boolean",boundary:"(string|element)",container:"(string|element|boolean)",customClass:"(string|function)",delay:"(number|object)",fallbackPlacements:"array",html:"boolean",offset:"(array|string|function)",placement:"(string|function)",popperConfig:"(null|object|function)",sanitize:"boolean",sanitizeFn:"(null|function)",selector:"(string|boolean)",template:"string",title:"(string|element|function)",trigger:"string"};let Tooltip$1=class Di extends BaseComponent{constructor(t,e){if(typeof Popper>"u")throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");super(t,e),this._isEnabled=!0,this._timeout=0,this._isHovered=null,this._activeTrigger={},this._popper=null,this._templateFactory=null,this._newContent=null,this.tip=null,this._setListeners(),this._config.selector||this._fixTitle()}static get Default(){return Default$3}static get DefaultType(){return DefaultType$3}static get NAME(){return NAME$4}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(){if(this._isEnabled){if(this._activeTrigger.click=!this._activeTrigger.click,this._isShown()){this._leave();return}this._enter()}}dispose(){clearTimeout(this._timeout),EventHandler.off(this._element.closest(SELECTOR_MODAL),EVENT_MODAL_HIDE,this._hideModalHandler),this._element.getAttribute("data-bs-original-title")&&this._element.setAttribute("title",this._element.getAttribute("data-bs-original-title")),this._disposePopper(),super.dispose()}show(){if(this._element.style.display==="none")throw new Error("Please use show on visible elements");if(!(this._isWithContent()&&this._isEnabled))return;const t=EventHandler.trigger(this._element,this.constructor.eventName(EVENT_SHOW$2)),i=(findShadowRoot(this._element)||this._element.ownerDocument.documentElement).contains(this._element);if(t.defaultPrevented||!i)return;this._disposePopper();const r=this._getTipElement();this._element.setAttribute("aria-describedby",r.getAttribute("id"));const{container:a}=this._config;if(this._element.ownerDocument.documentElement.contains(this.tip)||(a.append(r),EventHandler.trigger(this._element,this.constructor.eventName(EVENT_INSERTED))),this._popper=this._createPopper(r),r.classList.add(CLASS_NAME_SHOW$2),"ontouchstart"in document.documentElement)for(const l of[].concat(...document.body.children))EventHandler.on(l,"mouseover",noop$2);const o=()=>{EventHandler.trigger(this._element,this.constructor.eventName(EVENT_SHOWN$2)),this._isHovered===!1&&this._leave(),this._isHovered=!1};this._queueCallback(o,this.tip,this._isAnimated())}hide(){if(!this._isShown()||EventHandler.trigger(this._element,this.constructor.eventName(EVENT_HIDE$2)).defaultPrevented)return;if(this._getTipElement().classList.remove(CLASS_NAME_SHOW$2),"ontouchstart"in document.documentElement)for(const r of[].concat(...document.body.children))EventHandler.off(r,"mouseover",noop$2);this._activeTrigger[TRIGGER_CLICK]=!1,this._activeTrigger[TRIGGER_FOCUS]=!1,this._activeTrigger[TRIGGER_HOVER]=!1,this._isHovered=null;const i=()=>{this._isWithActiveTrigger()||(this._isHovered||this._disposePopper(),this._element.removeAttribute("aria-describedby"),EventHandler.trigger(this._element,this.constructor.eventName(EVENT_HIDDEN$2)))};this._queueCallback(i,this.tip,this._isAnimated())}update(){this._popper&&this._popper.update()}_isWithContent(){return!!this._getTitle()}_getTipElement(){return this.tip||(this.tip=this._createTipElement(this._newContent||this._getContentForTemplate())),this.tip}_createTipElement(t){const e=this._getTemplateFactory(t).toHtml();if(!e)return null;e.classList.remove(CLASS_NAME_FADE$2,CLASS_NAME_SHOW$2),e.classList.add(`bs-${this.constructor.NAME}-auto`);const i=getUID(this.constructor.NAME).toString();return e.setAttribute("id",i),this._isAnimated()&&e.classList.add(CLASS_NAME_FADE$2),e}setContent(t){this._newContent=t,this._isShown()&&(this._disposePopper(),this.show())}_getTemplateFactory(t){return this._templateFactory?this._templateFactory.changeContent(t):this._templateFactory=new TemplateFactory({...this._config,content:t,extraClass:this._resolvePossibleFunction(this._config.customClass)}),this._templateFactory}_getContentForTemplate(){return{[SELECTOR_TOOLTIP_INNER]:this._getTitle()}}_getTitle(){return this._resolvePossibleFunction(this._config.title)||this._element.getAttribute("data-bs-original-title")}_initializeOnDelegatedTarget(t){return this.constructor.getOrCreateInstance(t.delegateTarget,this._getDelegateConfig())}_isAnimated(){return this._config.animation||this.tip&&this.tip.classList.contains(CLASS_NAME_FADE$2)}_isShown(){return this.tip&&this.tip.classList.contains(CLASS_NAME_SHOW$2)}_createPopper(t){const e=execute(this._config.placement,[this,t,this._element]),i=AttachmentMap[e.toUpperCase()];return createPopper(this._element,t,this._getPopperConfig(i))}_getOffset(){const{offset:t}=this._config;return typeof t=="string"?t.split(",").map(e=>Number.parseInt(e,10)):typeof t=="function"?e=>t(e,this._element):t}_resolvePossibleFunction(t){return execute(t,[this._element])}_getPopperConfig(t){const e={placement:t,modifiers:[{name:"flip",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:"offset",options:{offset:this._getOffset()}},{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"arrow",options:{element:`.${this.constructor.NAME}-arrow`}},{name:"preSetPlacement",enabled:!0,phase:"beforeMain",fn:i=>{this._getTipElement().setAttribute("data-popper-placement",i.state.placement)}}]};return{...e,...execute(this._config.popperConfig,[e])}}_setListeners(){const t=this._config.trigger.split(" ");for(const e of t)if(e==="click")EventHandler.on(this._element,this.constructor.eventName(EVENT_CLICK$1),this._config.selector,i=>{this._initializeOnDelegatedTarget(i).toggle()});else if(e!==TRIGGER_MANUAL){const i=e===TRIGGER_HOVER?this.constructor.eventName(EVENT_MOUSEENTER):this.constructor.eventName(EVENT_FOCUSIN$1),r=e===TRIGGER_HOVER?this.constructor.eventName(EVENT_MOUSELEAVE):this.constructor.eventName(EVENT_FOCUSOUT$1);EventHandler.on(this._element,i,this._config.selector,a=>{const o=this._initializeOnDelegatedTarget(a);o._activeTrigger[a.type==="focusin"?TRIGGER_FOCUS:TRIGGER_HOVER]=!0,o._enter()}),EventHandler.on(this._element,r,this._config.selector,a=>{const o=this._initializeOnDelegatedTarget(a);o._activeTrigger[a.type==="focusout"?TRIGGER_FOCUS:TRIGGER_HOVER]=o._element.contains(a.relatedTarget),o._leave()})}this._hideModalHandler=()=>{this._element&&this.hide()},EventHandler.on(this._element.closest(SELECTOR_MODAL),EVENT_MODAL_HIDE,this._hideModalHandler)}_fixTitle(){const t=this._element.getAttribute("title");t&&(!this._element.getAttribute("aria-label")&&!this._element.textContent.trim()&&this._element.setAttribute("aria-label",t),this._element.setAttribute("data-bs-original-title",t),this._element.removeAttribute("title"))}_enter(){if(this._isShown()||this._isHovered){this._isHovered=!0;return}this._isHovered=!0,this._setTimeout(()=>{this._isHovered&&this.show()},this._config.delay.show)}_leave(){this._isWithActiveTrigger()||(this._isHovered=!1,this._setTimeout(()=>{this._isHovered||this.hide()},this._config.delay.hide))}_setTimeout(t,e){clearTimeout(this._timeout),this._timeout=setTimeout(t,e)}_isWithActiveTrigger(){return Object.values(this._activeTrigger).includes(!0)}_getConfig(t){const e=Manipulator.getDataAttributes(this._element);for(const i of Object.keys(e))DISALLOWED_ATTRIBUTES.has(i)&&delete e[i];return t={...e,...typeof t=="object"&&t?t:{}},t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t.container=t.container===!1?document.body:getElement(t.container),typeof t.delay=="number"&&(t.delay={show:t.delay,hide:t.delay}),typeof t.title=="number"&&(t.title=t.title.toString()),typeof t.content=="number"&&(t.content=t.content.toString()),t}_getDelegateConfig(){const t={};for(const[e,i]of Object.entries(this._config))this.constructor.Default[e]!==i&&(t[e]=i);return t.selector=!1,t.trigger="manual",t}_disposePopper(){this._popper&&(this._popper.destroy(),this._popper=null),this.tip&&(this.tip.remove(),this.tip=null)}static jQueryInterface(t){return this.each(function(){const e=Di.getOrCreateInstance(this,t);if(typeof t=="string"){if(typeof e[t]>"u")throw new TypeError(`No method named "${t}"`);e[t]()}})}};defineJQueryPlugin(Tooltip$1);const NAME$3="popover",SELECTOR_TITLE=".popover-header",SELECTOR_CONTENT=".popover-body",Default$2={...Tooltip$1.Default,content:"",offset:[0,8],placement:"right",template:'',trigger:"click"},DefaultType$2={...Tooltip$1.DefaultType,content:"(null|string|element|function)"};class Popover extends Tooltip$1{static get Default(){return Default$2}static get DefaultType(){return DefaultType$2}static get NAME(){return NAME$3}_isWithContent(){return this._getTitle()||this._getContent()}_getContentForTemplate(){return{[SELECTOR_TITLE]:this._getTitle(),[SELECTOR_CONTENT]:this._getContent()}}_getContent(){return this._resolvePossibleFunction(this._config.content)}static jQueryInterface(t){return this.each(function(){const e=Popover.getOrCreateInstance(this,t);if(typeof t=="string"){if(typeof e[t]>"u")throw new TypeError(`No method named "${t}"`);e[t]()}})}}defineJQueryPlugin(Popover);const NAME$2="scrollspy",DATA_KEY$2="bs.scrollspy",EVENT_KEY$2=`.${DATA_KEY$2}`,DATA_API_KEY=".data-api",EVENT_ACTIVATE=`activate${EVENT_KEY$2}`,EVENT_CLICK=`click${EVENT_KEY$2}`,EVENT_LOAD_DATA_API$1=`load${EVENT_KEY$2}${DATA_API_KEY}`,CLASS_NAME_DROPDOWN_ITEM="dropdown-item",CLASS_NAME_ACTIVE$1="active",SELECTOR_DATA_SPY='[data-bs-spy="scroll"]',SELECTOR_TARGET_LINKS="[href]",SELECTOR_NAV_LIST_GROUP=".nav, .list-group",SELECTOR_NAV_LINKS=".nav-link",SELECTOR_NAV_ITEMS=".nav-item",SELECTOR_LIST_ITEMS=".list-group-item",SELECTOR_LINK_ITEMS=`${SELECTOR_NAV_LINKS}, ${SELECTOR_NAV_ITEMS} > ${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`,SELECTOR_DROPDOWN=".dropdown",SELECTOR_DROPDOWN_TOGGLE$1=".dropdown-toggle",Default$1={offset:null,rootMargin:"0px 0px -25%",smoothScroll:!1,target:null,threshold:[.1,.5,1]},DefaultType$1={offset:"(number|null)",rootMargin:"string",smoothScroll:"boolean",target:"element",threshold:"array"};class ScrollSpy extends BaseComponent{constructor(t,e){super(t,e),this._targetLinks=new Map,this._observableSections=new Map,this._rootElement=getComputedStyle(this._element).overflowY==="visible"?null:this._element,this._activeTarget=null,this._observer=null,this._previousScrollData={visibleEntryTop:0,parentScrollTop:0},this.refresh()}static get Default(){return Default$1}static get DefaultType(){return DefaultType$1}static get NAME(){return NAME$2}refresh(){this._initializeTargetsAndObservables(),this._maybeEnableSmoothScroll(),this._observer?this._observer.disconnect():this._observer=this._getNewObserver();for(const t of this._observableSections.values())this._observer.observe(t)}dispose(){this._observer.disconnect(),super.dispose()}_configAfterMerge(t){return t.target=getElement(t.target)||document.body,t.rootMargin=t.offset?`${t.offset}px 0px -30%`:t.rootMargin,typeof t.threshold=="string"&&(t.threshold=t.threshold.split(",").map(e=>Number.parseFloat(e))),t}_maybeEnableSmoothScroll(){this._config.smoothScroll&&(EventHandler.off(this._config.target,EVENT_CLICK),EventHandler.on(this._config.target,EVENT_CLICK,SELECTOR_TARGET_LINKS,t=>{const e=this._observableSections.get(t.target.hash);if(e){t.preventDefault();const i=this._rootElement||window,r=e.offsetTop-this._element.offsetTop;if(i.scrollTo){i.scrollTo({top:r,behavior:"smooth"});return}i.scrollTop=r}}))}_getNewObserver(){const t={root:this._rootElement,threshold:this._config.threshold,rootMargin:this._config.rootMargin};return new IntersectionObserver(e=>this._observerCallback(e),t)}_observerCallback(t){const e=o=>this._targetLinks.get(`#${o.target.id}`),i=o=>{this._previousScrollData.visibleEntryTop=o.target.offsetTop,this._process(e(o))},r=(this._rootElement||document.documentElement).scrollTop,a=r>=this._previousScrollData.parentScrollTop;this._previousScrollData.parentScrollTop=r;for(const o of t){if(!o.isIntersecting){this._activeTarget=null,this._clearActiveClass(e(o));continue}const l=o.target.offsetTop>=this._previousScrollData.visibleEntryTop;if(a&&l){if(i(o),!r)return;continue}!a&&!l&&i(o)}}_initializeTargetsAndObservables(){this._targetLinks=new Map,this._observableSections=new Map;const t=SelectorEngine.find(SELECTOR_TARGET_LINKS,this._config.target);for(const e of t){if(!e.hash||isDisabled(e))continue;const i=SelectorEngine.findOne(decodeURI(e.hash),this._element);isVisible(i)&&(this._targetLinks.set(decodeURI(e.hash),e),this._observableSections.set(e.hash,i))}}_process(t){this._activeTarget!==t&&(this._clearActiveClass(this._config.target),this._activeTarget=t,t.classList.add(CLASS_NAME_ACTIVE$1),this._activateParents(t),EventHandler.trigger(this._element,EVENT_ACTIVATE,{relatedTarget:t}))}_activateParents(t){if(t.classList.contains(CLASS_NAME_DROPDOWN_ITEM)){SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE$1,t.closest(SELECTOR_DROPDOWN)).classList.add(CLASS_NAME_ACTIVE$1);return}for(const e of SelectorEngine.parents(t,SELECTOR_NAV_LIST_GROUP))for(const i of SelectorEngine.prev(e,SELECTOR_LINK_ITEMS))i.classList.add(CLASS_NAME_ACTIVE$1)}_clearActiveClass(t){t.classList.remove(CLASS_NAME_ACTIVE$1);const e=SelectorEngine.find(`${SELECTOR_TARGET_LINKS}.${CLASS_NAME_ACTIVE$1}`,t);for(const i of e)i.classList.remove(CLASS_NAME_ACTIVE$1)}static jQueryInterface(t){return this.each(function(){const e=ScrollSpy.getOrCreateInstance(this,t);if(typeof t=="string"){if(e[t]===void 0||t.startsWith("_")||t==="constructor")throw new TypeError(`No method named "${t}"`);e[t]()}})}}EventHandler.on(window,EVENT_LOAD_DATA_API$1,()=>{for(const n of SelectorEngine.find(SELECTOR_DATA_SPY))ScrollSpy.getOrCreateInstance(n)});defineJQueryPlugin(ScrollSpy);const NAME$1="tab",DATA_KEY$1="bs.tab",EVENT_KEY$1=`.${DATA_KEY$1}`,EVENT_HIDE$1=`hide${EVENT_KEY$1}`,EVENT_HIDDEN$1=`hidden${EVENT_KEY$1}`,EVENT_SHOW$1=`show${EVENT_KEY$1}`,EVENT_SHOWN$1=`shown${EVENT_KEY$1}`,EVENT_CLICK_DATA_API=`click${EVENT_KEY$1}`,EVENT_KEYDOWN=`keydown${EVENT_KEY$1}`,EVENT_LOAD_DATA_API=`load${EVENT_KEY$1}`,ARROW_LEFT_KEY="ArrowLeft",ARROW_RIGHT_KEY="ArrowRight",ARROW_UP_KEY="ArrowUp",ARROW_DOWN_KEY="ArrowDown",HOME_KEY="Home",END_KEY="End",CLASS_NAME_ACTIVE="active",CLASS_NAME_FADE$1="fade",CLASS_NAME_SHOW$1="show",CLASS_DROPDOWN="dropdown",SELECTOR_DROPDOWN_TOGGLE=".dropdown-toggle",SELECTOR_DROPDOWN_MENU=".dropdown-menu",NOT_SELECTOR_DROPDOWN_TOGGLE=`:not(${SELECTOR_DROPDOWN_TOGGLE})`,SELECTOR_TAB_PANEL='.list-group, .nav, [role="tablist"]',SELECTOR_OUTER=".nav-item, .list-group-item",SELECTOR_INNER=`.nav-link${NOT_SELECTOR_DROPDOWN_TOGGLE}, .list-group-item${NOT_SELECTOR_DROPDOWN_TOGGLE}, [role="tab"]${NOT_SELECTOR_DROPDOWN_TOGGLE}`,SELECTOR_DATA_TOGGLE='[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',SELECTOR_INNER_ELEM=`${SELECTOR_INNER}, ${SELECTOR_DATA_TOGGLE}`,SELECTOR_DATA_TOGGLE_ACTIVE=`.${CLASS_NAME_ACTIVE}[data-bs-toggle="tab"], .${CLASS_NAME_ACTIVE}[data-bs-toggle="pill"], .${CLASS_NAME_ACTIVE}[data-bs-toggle="list"]`;class Tab extends BaseComponent{constructor(t){super(t),this._parent=this._element.closest(SELECTOR_TAB_PANEL),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),EventHandler.on(this._element,EVENT_KEYDOWN,e=>this._keydown(e)))}static get NAME(){return NAME$1}show(){const t=this._element;if(this._elemIsActive(t))return;const e=this._getActiveElem(),i=e?EventHandler.trigger(e,EVENT_HIDE$1,{relatedTarget:t}):null;EventHandler.trigger(t,EVENT_SHOW$1,{relatedTarget:e}).defaultPrevented||i&&i.defaultPrevented||(this._deactivate(e,t),this._activate(t,e))}_activate(t,e){if(!t)return;t.classList.add(CLASS_NAME_ACTIVE),this._activate(SelectorEngine.getElementFromSelector(t));const i=()=>{if(t.getAttribute("role")!=="tab"){t.classList.add(CLASS_NAME_SHOW$1);return}t.removeAttribute("tabindex"),t.setAttribute("aria-selected",!0),this._toggleDropDown(t,!0),EventHandler.trigger(t,EVENT_SHOWN$1,{relatedTarget:e})};this._queueCallback(i,t,t.classList.contains(CLASS_NAME_FADE$1))}_deactivate(t,e){if(!t)return;t.classList.remove(CLASS_NAME_ACTIVE),t.blur(),this._deactivate(SelectorEngine.getElementFromSelector(t));const i=()=>{if(t.getAttribute("role")!=="tab"){t.classList.remove(CLASS_NAME_SHOW$1);return}t.setAttribute("aria-selected",!1),t.setAttribute("tabindex","-1"),this._toggleDropDown(t,!1),EventHandler.trigger(t,EVENT_HIDDEN$1,{relatedTarget:e})};this._queueCallback(i,t,t.classList.contains(CLASS_NAME_FADE$1))}_keydown(t){if(![ARROW_LEFT_KEY,ARROW_RIGHT_KEY,ARROW_UP_KEY,ARROW_DOWN_KEY,HOME_KEY,END_KEY].includes(t.key))return;t.stopPropagation(),t.preventDefault();const e=this._getChildren().filter(r=>!isDisabled(r));let i;if([HOME_KEY,END_KEY].includes(t.key))i=e[t.key===HOME_KEY?0:e.length-1];else{const r=[ARROW_RIGHT_KEY,ARROW_DOWN_KEY].includes(t.key);i=getNextActiveElement(e,t.target,r,!0)}i&&(i.focus({preventScroll:!0}),Tab.getOrCreateInstance(i).show())}_getChildren(){return SelectorEngine.find(SELECTOR_INNER_ELEM,this._parent)}_getActiveElem(){return this._getChildren().find(t=>this._elemIsActive(t))||null}_setInitialAttributes(t,e){this._setAttributeIfNotExists(t,"role","tablist");for(const i of e)this._setInitialAttributesOnChild(i)}_setInitialAttributesOnChild(t){t=this._getInnerElement(t);const e=this._elemIsActive(t),i=this._getOuterElement(t);t.setAttribute("aria-selected",e),i!==t&&this._setAttributeIfNotExists(i,"role","presentation"),e||t.setAttribute("tabindex","-1"),this._setAttributeIfNotExists(t,"role","tab"),this._setInitialAttributesOnTargetPanel(t)}_setInitialAttributesOnTargetPanel(t){const e=SelectorEngine.getElementFromSelector(t);e&&(this._setAttributeIfNotExists(e,"role","tabpanel"),t.id&&this._setAttributeIfNotExists(e,"aria-labelledby",`${t.id}`))}_toggleDropDown(t,e){const i=this._getOuterElement(t);if(!i.classList.contains(CLASS_DROPDOWN))return;const r=(a,o)=>{const l=SelectorEngine.findOne(a,i);l&&l.classList.toggle(o,e)};r(SELECTOR_DROPDOWN_TOGGLE,CLASS_NAME_ACTIVE),r(SELECTOR_DROPDOWN_MENU,CLASS_NAME_SHOW$1),i.setAttribute("aria-expanded",e)}_setAttributeIfNotExists(t,e,i){t.hasAttribute(e)||t.setAttribute(e,i)}_elemIsActive(t){return t.classList.contains(CLASS_NAME_ACTIVE)}_getInnerElement(t){return t.matches(SELECTOR_INNER_ELEM)?t:SelectorEngine.findOne(SELECTOR_INNER_ELEM,t)}_getOuterElement(t){return t.closest(SELECTOR_OUTER)||t}static jQueryInterface(t){return this.each(function(){const e=Tab.getOrCreateInstance(this);if(typeof t=="string"){if(e[t]===void 0||t.startsWith("_")||t==="constructor")throw new TypeError(`No method named "${t}"`);e[t]()}})}}EventHandler.on(document,EVENT_CLICK_DATA_API,SELECTOR_DATA_TOGGLE,function(n){["A","AREA"].includes(this.tagName)&&n.preventDefault(),!isDisabled(this)&&Tab.getOrCreateInstance(this).show()});EventHandler.on(window,EVENT_LOAD_DATA_API,()=>{for(const n of SelectorEngine.find(SELECTOR_DATA_TOGGLE_ACTIVE))Tab.getOrCreateInstance(n)});defineJQueryPlugin(Tab);const NAME="toast",DATA_KEY="bs.toast",EVENT_KEY=`.${DATA_KEY}`,EVENT_MOUSEOVER=`mouseover${EVENT_KEY}`,EVENT_MOUSEOUT=`mouseout${EVENT_KEY}`,EVENT_FOCUSIN=`focusin${EVENT_KEY}`,EVENT_FOCUSOUT=`focusout${EVENT_KEY}`,EVENT_HIDE=`hide${EVENT_KEY}`,EVENT_HIDDEN=`hidden${EVENT_KEY}`,EVENT_SHOW=`show${EVENT_KEY}`,EVENT_SHOWN=`shown${EVENT_KEY}`,CLASS_NAME_FADE="fade",CLASS_NAME_HIDE="hide",CLASS_NAME_SHOW="show",CLASS_NAME_SHOWING="showing",DefaultType={animation:"boolean",autohide:"boolean",delay:"number"},Default={animation:!0,autohide:!0,delay:5e3};class Toast extends BaseComponent{constructor(t,e){super(t,e),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return Default}static get DefaultType(){return DefaultType}static get NAME(){return NAME}show(){if(EventHandler.trigger(this._element,EVENT_SHOW).defaultPrevented)return;this._clearTimeout(),this._config.animation&&this._element.classList.add(CLASS_NAME_FADE);const e=()=>{this._element.classList.remove(CLASS_NAME_SHOWING),EventHandler.trigger(this._element,EVENT_SHOWN),this._maybeScheduleHide()};this._element.classList.remove(CLASS_NAME_HIDE),reflow(this._element),this._element.classList.add(CLASS_NAME_SHOW,CLASS_NAME_SHOWING),this._queueCallback(e,this._element,this._config.animation)}hide(){if(!this.isShown()||EventHandler.trigger(this._element,EVENT_HIDE).defaultPrevented)return;const e=()=>{this._element.classList.add(CLASS_NAME_HIDE),this._element.classList.remove(CLASS_NAME_SHOWING,CLASS_NAME_SHOW),EventHandler.trigger(this._element,EVENT_HIDDEN)};this._element.classList.add(CLASS_NAME_SHOWING),this._queueCallback(e,this._element,this._config.animation)}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove(CLASS_NAME_SHOW),super.dispose()}isShown(){return this._element.classList.contains(CLASS_NAME_SHOW)}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout(()=>{this.hide()},this._config.delay)))}_onInteraction(t,e){switch(t.type){case"mouseover":case"mouseout":{this._hasMouseInteraction=e;break}case"focusin":case"focusout":{this._hasKeyboardInteraction=e;break}}if(e){this._clearTimeout();return}const i=t.relatedTarget;this._element===i||this._element.contains(i)||this._maybeScheduleHide()}_setListeners(){EventHandler.on(this._element,EVENT_MOUSEOVER,t=>this._onInteraction(t,!0)),EventHandler.on(this._element,EVENT_MOUSEOUT,t=>this._onInteraction(t,!1)),EventHandler.on(this._element,EVENT_FOCUSIN,t=>this._onInteraction(t,!0)),EventHandler.on(this._element,EVENT_FOCUSOUT,t=>this._onInteraction(t,!1))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(t){return this.each(function(){const e=Toast.getOrCreateInstance(this,t);if(typeof t=="string"){if(typeof e[t]>"u")throw new TypeError(`No method named "${t}"`);e[t](this)}})}}enableDismissTrigger(Toast);defineJQueryPlugin(Toast);function toDate(n){const t=Object.prototype.toString.call(n);return n instanceof Date||typeof n=="object"&&t==="[object Date]"?new n.constructor(+n):typeof n=="number"||t==="[object Number]"||typeof n=="string"||t==="[object String]"?new Date(n):new Date(NaN)}function constructFrom(n,t){return n instanceof Date?new n.constructor(t):new Date(t)}function addDays(n,t){const e=toDate(n);return isNaN(t)?constructFrom(n,NaN):(t&&e.setDate(e.getDate()+t),e)}function addMonths(n,t){const e=toDate(n);if(isNaN(t))return constructFrom(n,NaN);if(!t)return e;const i=e.getDate(),r=constructFrom(n,e.getTime());r.setMonth(e.getMonth()+t+1,0);const a=r.getDate();return i>=a?r:(e.setFullYear(r.getFullYear(),r.getMonth(),i),e)}function addMilliseconds(n,t){const e=+toDate(n);return constructFrom(n,e+t)}const millisecondsInWeek=6048e5,millisecondsInDay=864e5,millisecondsInMinute=6e4,millisecondsInHour=36e5,millisecondsInSecond=1e3;function addHours(n,t){return addMilliseconds(n,t*millisecondsInHour)}let defaultOptions={};function getDefaultOptions$1(){return defaultOptions}function startOfWeek(n,t){var l,u,d,m;const e=getDefaultOptions$1(),i=(t==null?void 0:t.weekStartsOn)??((u=(l=t==null?void 0:t.locale)==null?void 0:l.options)==null?void 0:u.weekStartsOn)??e.weekStartsOn??((m=(d=e.locale)==null?void 0:d.options)==null?void 0:m.weekStartsOn)??0,r=toDate(n),a=r.getDay(),o=(a=r.getTime()?e+1:t.getTime()>=o.getTime()?e:e-1}function startOfDay(n){const t=toDate(n);return t.setHours(0,0,0,0),t}function getTimezoneOffsetInMilliseconds(n){const t=new Date(Date.UTC(n.getFullYear(),n.getMonth(),n.getDate(),n.getHours(),n.getMinutes(),n.getSeconds(),n.getMilliseconds()));return t.setUTCFullYear(n.getFullYear()),n.getTime()-t.getTime()}function differenceInCalendarDays(n,t){const e=startOfDay(n),i=startOfDay(t),r=e.getTime()-getTimezoneOffsetInMilliseconds(e),a=i.getTime()-getTimezoneOffsetInMilliseconds(i);return Math.round((r-a)/millisecondsInDay)}function startOfISOWeekYear(n){const t=getISOWeekYear(n),e=constructFrom(n,0);return e.setFullYear(t,0,4),e.setHours(0,0,0,0),startOfISOWeek(e)}function addMinutes(n,t){return addMilliseconds(n,t*millisecondsInMinute)}function addQuarters(n,t){const e=t*3;return addMonths(n,e)}function addSeconds(n,t){return addMilliseconds(n,t*1e3)}function addWeeks(n,t){const e=t*7;return addDays(n,e)}function addYears(n,t){return addMonths(n,t*12)}function compareAsc(n,t){const e=toDate(n),i=toDate(t),r=e.getTime()-i.getTime();return r<0?-1:r>0?1:r}function isDate(n){return n instanceof Date||typeof n=="object"&&Object.prototype.toString.call(n)==="[object Date]"}function isValid(n){if(!isDate(n)&&typeof n!="number")return!1;const t=toDate(n);return!isNaN(Number(t))}function differenceInCalendarMonths(n,t){const e=toDate(n),i=toDate(t),r=e.getFullYear()-i.getFullYear(),a=e.getMonth()-i.getMonth();return r*12+a}function differenceInCalendarYears(n,t){const e=toDate(n),i=toDate(t);return e.getFullYear()-i.getFullYear()}function differenceInDays(n,t){const e=toDate(n),i=toDate(t),r=compareLocalAsc(e,i),a=Math.abs(differenceInCalendarDays(e,i));e.setDate(e.getDate()-r*a);const o=+(compareLocalAsc(e,i)===-r),l=r*(a-o);return l===0?0:l}function compareLocalAsc(n,t){const e=n.getFullYear()-t.getFullYear()||n.getMonth()-t.getMonth()||n.getDate()-t.getDate()||n.getHours()-t.getHours()||n.getMinutes()-t.getMinutes()||n.getSeconds()-t.getSeconds()||n.getMilliseconds()-t.getMilliseconds();return e<0?-1:e>0?1:e}function differenceInMilliseconds(n,t){return toDate(n).getTime()-toDate(t).getTime()}function getRoundingMethod(n){return n?Math[n]:Math.trunc}function differenceInHours(n,t,e){const i=differenceInMilliseconds(n,t)/millisecondsInHour;return getRoundingMethod(e==null?void 0:e.roundingMethod)(i)}function differenceInMinutes(n,t,e){const i=differenceInMilliseconds(n,t)/millisecondsInMinute;return getRoundingMethod(e==null?void 0:e.roundingMethod)(i)}function endOfDay(n){const t=toDate(n);return t.setHours(23,59,59,999),t}function endOfMonth(n){const t=toDate(n),e=t.getMonth();return t.setFullYear(t.getFullYear(),e+1,0),t.setHours(23,59,59,999),t}function isLastDayOfMonth(n){const t=toDate(n);return+endOfDay(t)==+endOfMonth(t)}function differenceInMonths(n,t){const e=toDate(n),i=toDate(t),r=compareAsc(e,i),a=Math.abs(differenceInCalendarMonths(e,i));let o;if(a<1)o=0;else{e.getMonth()===1&&e.getDate()>27&&e.setDate(30),e.setMonth(e.getMonth()-r*a);let l=compareAsc(e,i)===-r;isLastDayOfMonth(toDate(n))&&a===1&&compareAsc(n,i)===1&&(l=!1),o=r*(a-Number(l))}return o===0?0:o}function differenceInQuarters(n,t,e){const i=differenceInMonths(n,t)/3;return getRoundingMethod(e==null?void 0:e.roundingMethod)(i)}function differenceInSeconds(n,t,e){const i=differenceInMilliseconds(n,t)/1e3;return getRoundingMethod(e==null?void 0:e.roundingMethod)(i)}function differenceInWeeks(n,t,e){const i=differenceInDays(n,t)/7;return getRoundingMethod(e==null?void 0:e.roundingMethod)(i)}function differenceInYears(n,t){const e=toDate(n),i=toDate(t),r=compareAsc(e,i),a=Math.abs(differenceInCalendarYears(e,i));e.setFullYear(1584),i.setFullYear(1584);const o=compareAsc(e,i)===-r,l=r*(a-+o);return l===0?0:l}function startOfMinute(n){const t=toDate(n);return t.setSeconds(0,0),t}function startOfQuarter(n){const t=toDate(n),e=t.getMonth(),i=e-e%3;return t.setMonth(i,1),t.setHours(0,0,0,0),t}function startOfMonth(n){const t=toDate(n);return t.setDate(1),t.setHours(0,0,0,0),t}function endOfYear(n){const t=toDate(n),e=t.getFullYear();return t.setFullYear(e+1,0,0),t.setHours(23,59,59,999),t}function startOfYear(n){const t=toDate(n),e=constructFrom(n,0);return e.setFullYear(t.getFullYear(),0,1),e.setHours(0,0,0,0),e}function endOfHour(n){const t=toDate(n);return t.setMinutes(59,59,999),t}function endOfWeek(n,t){var l,u,d,m;const e=getDefaultOptions$1(),i=(t==null?void 0:t.weekStartsOn)??((u=(l=t==null?void 0:t.locale)==null?void 0:l.options)==null?void 0:u.weekStartsOn)??e.weekStartsOn??((m=(d=e.locale)==null?void 0:d.options)==null?void 0:m.weekStartsOn)??0,r=toDate(n),a=r.getDay(),o=(a{let i;const r=formatDistanceLocale$t[n];return typeof r=="string"?i=r:t===1?i=r.one:i=r.other.replace("{{count}}",t.toString()),e!=null&&e.addSuffix?e.comparison&&e.comparison>0?"in "+i:i+" ago":i};function buildFormatLongFn(n){return(t={})=>{const e=t.width?String(t.width):n.defaultWidth;return n.formats[e]||n.formats[n.defaultWidth]}}const dateFormats$v={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},timeFormats$v={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},dateTimeFormats$v={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},formatLong$v={date:buildFormatLongFn({formats:dateFormats$v,defaultWidth:"full"}),time:buildFormatLongFn({formats:timeFormats$v,defaultWidth:"full"}),dateTime:buildFormatLongFn({formats:dateTimeFormats$v,defaultWidth:"full"})},formatRelativeLocale$u={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},formatRelative$u=(n,t,e,i)=>formatRelativeLocale$u[n];function buildLocalizeFn(n){return(t,e)=>{const i=e!=null&&e.context?String(e.context):"standalone";let r;if(i==="formatting"&&n.formattingValues){const o=n.defaultFormattingWidth||n.defaultWidth,l=e!=null&&e.width?String(e.width):o;r=n.formattingValues[l]||n.formattingValues[o]}else{const o=n.defaultWidth,l=e!=null&&e.width?String(e.width):n.defaultWidth;r=n.values[l]||n.values[o]}const a=n.argumentCallback?n.argumentCallback(t):t;return r[a]}}const eraValues$u={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},quarterValues$u={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},monthValues$u={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"]},dayValues$u={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"]},dayPeriodValues$u={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"}},formattingDayPeriodValues$l={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"}},ordinalNumber$u=(n,t)=>{const e=Number(n),i=e%100;if(i>20||i<10)switch(i%10){case 1:return e+"st";case 2:return e+"nd";case 3:return e+"rd"}return e+"th"},localize$u={ordinalNumber:ordinalNumber$u,era:buildLocalizeFn({values:eraValues$u,defaultWidth:"wide"}),quarter:buildLocalizeFn({values:quarterValues$u,defaultWidth:"wide",argumentCallback:n=>n-1}),month:buildLocalizeFn({values:monthValues$u,defaultWidth:"wide"}),day:buildLocalizeFn({values:dayValues$u,defaultWidth:"wide"}),dayPeriod:buildLocalizeFn({values:dayPeriodValues$u,defaultWidth:"wide",formattingValues:formattingDayPeriodValues$l,defaultFormattingWidth:"wide"})};function buildMatchFn(n){return(t,e={})=>{const i=e.width,r=i&&n.matchPatterns[i]||n.matchPatterns[n.defaultMatchWidth],a=t.match(r);if(!a)return null;const o=a[0],l=i&&n.parsePatterns[i]||n.parsePatterns[n.defaultParseWidth],u=Array.isArray(l)?findIndex(l,p=>p.test(o)):findKey(l,p=>p.test(o));let d;d=n.valueCallback?n.valueCallback(u):u,d=e.valueCallback?e.valueCallback(d):d;const m=t.slice(o.length);return{value:d,rest:m}}}function findKey(n,t){for(const e in n)if(Object.prototype.hasOwnProperty.call(n,e)&&t(n[e]))return e}function findIndex(n,t){for(let e=0;e{const i=t.match(n.matchPattern);if(!i)return null;const r=i[0],a=t.match(n.parsePattern);if(!a)return null;let o=n.valueCallback?n.valueCallback(a[0]):a[0];o=e.valueCallback?e.valueCallback(o):o;const l=t.slice(r.length);return{value:o,rest:l}}}const matchOrdinalNumberPattern$u=/^(\d+)(th|st|nd|rd)?/i,parseOrdinalNumberPattern$u=/\d+/i,matchEraPatterns$u={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},parseEraPatterns$u={any:[/^b/i,/^(a|c)/i]},matchQuarterPatterns$u={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},parseQuarterPatterns$u={any:[/1/i,/2/i,/3/i,/4/i]},matchMonthPatterns$u={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},parseMonthPatterns$u={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]},matchDayPatterns$u={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},parseDayPatterns$u={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]},matchDayPeriodPatterns$u={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},parseDayPeriodPatterns$u={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}},match$u={ordinalNumber:buildMatchPatternFn({matchPattern:matchOrdinalNumberPattern$u,parsePattern:parseOrdinalNumberPattern$u,valueCallback:n=>parseInt(n,10)}),era:buildMatchFn({matchPatterns:matchEraPatterns$u,defaultMatchWidth:"wide",parsePatterns:parseEraPatterns$u,defaultParseWidth:"any"}),quarter:buildMatchFn({matchPatterns:matchQuarterPatterns$u,defaultMatchWidth:"wide",parsePatterns:parseQuarterPatterns$u,defaultParseWidth:"any",valueCallback:n=>n+1}),month:buildMatchFn({matchPatterns:matchMonthPatterns$u,defaultMatchWidth:"wide",parsePatterns:parseMonthPatterns$u,defaultParseWidth:"any"}),day:buildMatchFn({matchPatterns:matchDayPatterns$u,defaultMatchWidth:"wide",parsePatterns:parseDayPatterns$u,defaultParseWidth:"any"}),dayPeriod:buildMatchFn({matchPatterns:matchDayPeriodPatterns$u,defaultMatchWidth:"any",parsePatterns:parseDayPeriodPatterns$u,defaultParseWidth:"any"})},enUS={code:"en-US",formatDistance:formatDistance$u,formatLong:formatLong$v,formatRelative:formatRelative$u,localize:localize$u,match:match$u,options:{weekStartsOn:0,firstWeekContainsDate:1}};function getDayOfYear(n){const t=toDate(n);return differenceInCalendarDays(t,startOfYear(t))+1}function getISOWeek(n){const t=toDate(n),e=startOfISOWeek(t).getTime()-startOfISOWeekYear(t).getTime();return Math.round(e/millisecondsInWeek)+1}function getWeekYear(n,t){var m,p,_,y;const e=toDate(n),i=e.getFullYear(),r=getDefaultOptions$1(),a=(t==null?void 0:t.firstWeekContainsDate)??((p=(m=t==null?void 0:t.locale)==null?void 0:m.options)==null?void 0:p.firstWeekContainsDate)??r.firstWeekContainsDate??((y=(_=r.locale)==null?void 0:_.options)==null?void 0:y.firstWeekContainsDate)??1,o=constructFrom(n,0);o.setFullYear(i+1,0,a),o.setHours(0,0,0,0);const l=startOfWeek(o,t),u=constructFrom(n,0);u.setFullYear(i,0,a),u.setHours(0,0,0,0);const d=startOfWeek(u,t);return e.getTime()>=l.getTime()?i+1:e.getTime()>=d.getTime()?i:i-1}function startOfWeekYear(n,t){var l,u,d,m;const e=getDefaultOptions$1(),i=(t==null?void 0:t.firstWeekContainsDate)??((u=(l=t==null?void 0:t.locale)==null?void 0:l.options)==null?void 0:u.firstWeekContainsDate)??e.firstWeekContainsDate??((m=(d=e.locale)==null?void 0:d.options)==null?void 0:m.firstWeekContainsDate)??1,r=getWeekYear(n,t),a=constructFrom(n,0);return a.setFullYear(r,0,i),a.setHours(0,0,0,0),startOfWeek(a,t)}function getWeek(n,t){const e=toDate(n),i=startOfWeek(e,t).getTime()-startOfWeekYear(e,t).getTime();return Math.round(i/millisecondsInWeek)+1}function addLeadingZeros(n,t){const e=n<0?"-":"",i=Math.abs(n).toString().padStart(t,"0");return e+i}const lightFormatters={y(n,t){const e=n.getFullYear(),i=e>0?e:1-e;return addLeadingZeros(t==="yy"?i%100:i,t.length)},M(n,t){const e=n.getMonth();return t==="M"?String(e+1):addLeadingZeros(e+1,2)},d(n,t){return addLeadingZeros(n.getDate(),t.length)},a(n,t){const e=n.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return e.toUpperCase();case"aaa":return e;case"aaaaa":return e[0];case"aaaa":default:return e==="am"?"a.m.":"p.m."}},h(n,t){return addLeadingZeros(n.getHours()%12||12,t.length)},H(n,t){return addLeadingZeros(n.getHours(),t.length)},m(n,t){return addLeadingZeros(n.getMinutes(),t.length)},s(n,t){return addLeadingZeros(n.getSeconds(),t.length)},S(n,t){const e=t.length,i=n.getMilliseconds(),r=Math.floor(i*Math.pow(10,e-3));return addLeadingZeros(r,t.length)}},dayPeriodEnum={am:"am",pm:"pm",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},formatters$1={G:function(n,t,e){const i=n.getFullYear()>0?1:0;switch(t){case"G":case"GG":case"GGG":return e.era(i,{width:"abbreviated"});case"GGGGG":return e.era(i,{width:"narrow"});case"GGGG":default:return e.era(i,{width:"wide"})}},y:function(n,t,e){if(t==="yo"){const i=n.getFullYear(),r=i>0?i:1-i;return e.ordinalNumber(r,{unit:"year"})}return lightFormatters.y(n,t)},Y:function(n,t,e,i){const r=getWeekYear(n,i),a=r>0?r:1-r;if(t==="YY"){const o=a%100;return addLeadingZeros(o,2)}return t==="Yo"?e.ordinalNumber(a,{unit:"year"}):addLeadingZeros(a,t.length)},R:function(n,t){const e=getISOWeekYear(n);return addLeadingZeros(e,t.length)},u:function(n,t){const e=n.getFullYear();return addLeadingZeros(e,t.length)},Q:function(n,t,e){const i=Math.ceil((n.getMonth()+1)/3);switch(t){case"Q":return String(i);case"QQ":return addLeadingZeros(i,2);case"Qo":return e.ordinalNumber(i,{unit:"quarter"});case"QQQ":return e.quarter(i,{width:"abbreviated",context:"formatting"});case"QQQQQ":return e.quarter(i,{width:"narrow",context:"formatting"});case"QQQQ":default:return e.quarter(i,{width:"wide",context:"formatting"})}},q:function(n,t,e){const i=Math.ceil((n.getMonth()+1)/3);switch(t){case"q":return String(i);case"qq":return addLeadingZeros(i,2);case"qo":return e.ordinalNumber(i,{unit:"quarter"});case"qqq":return e.quarter(i,{width:"abbreviated",context:"standalone"});case"qqqqq":return e.quarter(i,{width:"narrow",context:"standalone"});case"qqqq":default:return e.quarter(i,{width:"wide",context:"standalone"})}},M:function(n,t,e){const i=n.getMonth();switch(t){case"M":case"MM":return lightFormatters.M(n,t);case"Mo":return e.ordinalNumber(i+1,{unit:"month"});case"MMM":return e.month(i,{width:"abbreviated",context:"formatting"});case"MMMMM":return e.month(i,{width:"narrow",context:"formatting"});case"MMMM":default:return e.month(i,{width:"wide",context:"formatting"})}},L:function(n,t,e){const i=n.getMonth();switch(t){case"L":return String(i+1);case"LL":return addLeadingZeros(i+1,2);case"Lo":return e.ordinalNumber(i+1,{unit:"month"});case"LLL":return e.month(i,{width:"abbreviated",context:"standalone"});case"LLLLL":return e.month(i,{width:"narrow",context:"standalone"});case"LLLL":default:return e.month(i,{width:"wide",context:"standalone"})}},w:function(n,t,e,i){const r=getWeek(n,i);return t==="wo"?e.ordinalNumber(r,{unit:"week"}):addLeadingZeros(r,t.length)},I:function(n,t,e){const i=getISOWeek(n);return t==="Io"?e.ordinalNumber(i,{unit:"week"}):addLeadingZeros(i,t.length)},d:function(n,t,e){return t==="do"?e.ordinalNumber(n.getDate(),{unit:"date"}):lightFormatters.d(n,t)},D:function(n,t,e){const i=getDayOfYear(n);return t==="Do"?e.ordinalNumber(i,{unit:"dayOfYear"}):addLeadingZeros(i,t.length)},E:function(n,t,e){const i=n.getDay();switch(t){case"E":case"EE":case"EEE":return e.day(i,{width:"abbreviated",context:"formatting"});case"EEEEE":return e.day(i,{width:"narrow",context:"formatting"});case"EEEEEE":return e.day(i,{width:"short",context:"formatting"});case"EEEE":default:return e.day(i,{width:"wide",context:"formatting"})}},e:function(n,t,e,i){const r=n.getDay(),a=(r-i.weekStartsOn+8)%7||7;switch(t){case"e":return String(a);case"ee":return addLeadingZeros(a,2);case"eo":return e.ordinalNumber(a,{unit:"day"});case"eee":return e.day(r,{width:"abbreviated",context:"formatting"});case"eeeee":return e.day(r,{width:"narrow",context:"formatting"});case"eeeeee":return e.day(r,{width:"short",context:"formatting"});case"eeee":default:return e.day(r,{width:"wide",context:"formatting"})}},c:function(n,t,e,i){const r=n.getDay(),a=(r-i.weekStartsOn+8)%7||7;switch(t){case"c":return String(a);case"cc":return addLeadingZeros(a,t.length);case"co":return e.ordinalNumber(a,{unit:"day"});case"ccc":return e.day(r,{width:"abbreviated",context:"standalone"});case"ccccc":return e.day(r,{width:"narrow",context:"standalone"});case"cccccc":return e.day(r,{width:"short",context:"standalone"});case"cccc":default:return e.day(r,{width:"wide",context:"standalone"})}},i:function(n,t,e){const i=n.getDay(),r=i===0?7:i;switch(t){case"i":return String(r);case"ii":return addLeadingZeros(r,t.length);case"io":return e.ordinalNumber(r,{unit:"day"});case"iii":return e.day(i,{width:"abbreviated",context:"formatting"});case"iiiii":return e.day(i,{width:"narrow",context:"formatting"});case"iiiiii":return e.day(i,{width:"short",context:"formatting"});case"iiii":default:return e.day(i,{width:"wide",context:"formatting"})}},a:function(n,t,e){const r=n.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return e.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"aaa":return e.dayPeriod(r,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return e.dayPeriod(r,{width:"narrow",context:"formatting"});case"aaaa":default:return e.dayPeriod(r,{width:"wide",context:"formatting"})}},b:function(n,t,e){const i=n.getHours();let r;switch(i===12?r=dayPeriodEnum.noon:i===0?r=dayPeriodEnum.midnight:r=i/12>=1?"pm":"am",t){case"b":case"bb":return e.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"bbb":return e.dayPeriod(r,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return e.dayPeriod(r,{width:"narrow",context:"formatting"});case"bbbb":default:return e.dayPeriod(r,{width:"wide",context:"formatting"})}},B:function(n,t,e){const i=n.getHours();let r;switch(i>=17?r=dayPeriodEnum.evening:i>=12?r=dayPeriodEnum.afternoon:i>=4?r=dayPeriodEnum.morning:r=dayPeriodEnum.night,t){case"B":case"BB":case"BBB":return e.dayPeriod(r,{width:"abbreviated",context:"formatting"});case"BBBBB":return e.dayPeriod(r,{width:"narrow",context:"formatting"});case"BBBB":default:return e.dayPeriod(r,{width:"wide",context:"formatting"})}},h:function(n,t,e){if(t==="ho"){let i=n.getHours()%12;return i===0&&(i=12),e.ordinalNumber(i,{unit:"hour"})}return lightFormatters.h(n,t)},H:function(n,t,e){return t==="Ho"?e.ordinalNumber(n.getHours(),{unit:"hour"}):lightFormatters.H(n,t)},K:function(n,t,e){const i=n.getHours()%12;return t==="Ko"?e.ordinalNumber(i,{unit:"hour"}):addLeadingZeros(i,t.length)},k:function(n,t,e){let i=n.getHours();return i===0&&(i=24),t==="ko"?e.ordinalNumber(i,{unit:"hour"}):addLeadingZeros(i,t.length)},m:function(n,t,e){return t==="mo"?e.ordinalNumber(n.getMinutes(),{unit:"minute"}):lightFormatters.m(n,t)},s:function(n,t,e){return t==="so"?e.ordinalNumber(n.getSeconds(),{unit:"second"}):lightFormatters.s(n,t)},S:function(n,t){return lightFormatters.S(n,t)},X:function(n,t,e,i){const a=(i._originalDate||n).getTimezoneOffset();if(a===0)return"Z";switch(t){case"X":return formatTimezoneWithOptionalMinutes(a);case"XXXX":case"XX":return formatTimezone(a);case"XXXXX":case"XXX":default:return formatTimezone(a,":")}},x:function(n,t,e,i){const a=(i._originalDate||n).getTimezoneOffset();switch(t){case"x":return formatTimezoneWithOptionalMinutes(a);case"xxxx":case"xx":return formatTimezone(a);case"xxxxx":case"xxx":default:return formatTimezone(a,":")}},O:function(n,t,e,i){const a=(i._originalDate||n).getTimezoneOffset();switch(t){case"O":case"OO":case"OOO":return"GMT"+formatTimezoneShort(a,":");case"OOOO":default:return"GMT"+formatTimezone(a,":")}},z:function(n,t,e,i){const a=(i._originalDate||n).getTimezoneOffset();switch(t){case"z":case"zz":case"zzz":return"GMT"+formatTimezoneShort(a,":");case"zzzz":default:return"GMT"+formatTimezone(a,":")}},t:function(n,t,e,i){const r=i._originalDate||n,a=Math.floor(r.getTime()/1e3);return addLeadingZeros(a,t.length)},T:function(n,t,e,i){const a=(i._originalDate||n).getTime();return addLeadingZeros(a,t.length)}};function formatTimezoneShort(n,t=""){const e=n>0?"-":"+",i=Math.abs(n),r=Math.floor(i/60),a=i%60;return a===0?e+String(r):e+String(r)+t+addLeadingZeros(a,2)}function formatTimezoneWithOptionalMinutes(n,t){return n%60===0?(n>0?"-":"+")+addLeadingZeros(Math.abs(n)/60,2):formatTimezone(n,t)}function formatTimezone(n,t=""){const e=n>0?"-":"+",i=Math.abs(n),r=addLeadingZeros(Math.floor(i/60),2),a=addLeadingZeros(i%60,2);return e+r+t+a}const dateLongFormatter=(n,t)=>{switch(n){case"P":return t.date({width:"short"});case"PP":return t.date({width:"medium"});case"PPP":return t.date({width:"long"});case"PPPP":default:return t.date({width:"full"})}},timeLongFormatter=(n,t)=>{switch(n){case"p":return t.time({width:"short"});case"pp":return t.time({width:"medium"});case"ppp":return t.time({width:"long"});case"pppp":default:return t.time({width:"full"})}},dateTimeLongFormatter=(n,t)=>{const e=n.match(/(P+)(p+)?/)||[],i=e[1],r=e[2];if(!r)return dateLongFormatter(n,t);let a;switch(i){case"P":a=t.dateTime({width:"short"});break;case"PP":a=t.dateTime({width:"medium"});break;case"PPP":a=t.dateTime({width:"long"});break;case"PPPP":default:a=t.dateTime({width:"full"});break}return a.replace("{{date}}",dateLongFormatter(i,t)).replace("{{time}}",timeLongFormatter(r,t))},longFormatters={p:timeLongFormatter,P:dateTimeLongFormatter},dayOfYearTokenRE=/^D+$/,weekYearTokenRE=/^Y+$/,throwTokens=["D","DD","YY","YYYY"];function isProtectedDayOfYearToken(n){return dayOfYearTokenRE.test(n)}function isProtectedWeekYearToken(n){return weekYearTokenRE.test(n)}function warnOrThrowProtectedError(n,t,e){const i=message(n,t,e);if(console.warn(i),throwTokens.includes(n))throw new RangeError(i)}function message(n,t,e){const i=n[0]==="Y"?"years":"days of the month";return`Use \`${n.toLowerCase()}\` instead of \`${n}\` (in \`${t}\`) for formatting ${i} to the input \`${e}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}const formattingTokensRegExp$1=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,longFormattingTokensRegExp$1=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,escapedStringRegExp$1=/^'([^]*?)'?$/,doubleQuoteRegExp$1=/''/g,unescapedLatinCharacterRegExp$1=/[a-zA-Z]/;function format(n,t,e){var m,p,_,y,w,v,E,x;const i=getDefaultOptions$1(),r=(e==null?void 0:e.locale)??i.locale??enUS,a=(e==null?void 0:e.firstWeekContainsDate)??((p=(m=e==null?void 0:e.locale)==null?void 0:m.options)==null?void 0:p.firstWeekContainsDate)??i.firstWeekContainsDate??((y=(_=i.locale)==null?void 0:_.options)==null?void 0:y.firstWeekContainsDate)??1,o=(e==null?void 0:e.weekStartsOn)??((v=(w=e==null?void 0:e.locale)==null?void 0:w.options)==null?void 0:v.weekStartsOn)??i.weekStartsOn??((x=(E=i.locale)==null?void 0:E.options)==null?void 0:x.weekStartsOn)??0,l=toDate(n);if(!isValid(l))throw new RangeError("Invalid time value");const u={firstWeekContainsDate:a,weekStartsOn:o,locale:r,_originalDate:l};return t.match(longFormattingTokensRegExp$1).map(function(S){const M=S[0];if(M==="p"||M==="P"){const k=longFormatters[M];return k(S,r.formatLong)}return S}).join("").match(formattingTokensRegExp$1).map(function(S){if(S==="''")return"'";const M=S[0];if(M==="'")return cleanEscapedString$1(S);const k=formatters$1[M];if(k)return!(e!=null&&e.useAdditionalWeekYearTokens)&&isProtectedWeekYearToken(S)&&warnOrThrowProtectedError(S,t,String(n)),!(e!=null&&e.useAdditionalDayOfYearTokens)&&isProtectedDayOfYearToken(S)&&warnOrThrowProtectedError(S,t,String(n)),k(l,S,r.localize,u);if(M.match(unescapedLatinCharacterRegExp$1))throw new RangeError("Format string contains an unescaped latin alphabet character `"+M+"`");return S}).join("")}function cleanEscapedString$1(n){const t=n.match(escapedStringRegExp$1);return t?t[1].replace(doubleQuoteRegExp$1,"'"):n}function getDefaultOptions(){return Object.assign({},getDefaultOptions$1())}function getISODay(n){let e=toDate(n).getDay();return e===0&&(e=7),e}function transpose(n,t){const e=t instanceof Date?constructFrom(t,0):new t(0);return e.setFullYear(n.getFullYear(),n.getMonth(),n.getDate()),e.setHours(n.getHours(),n.getMinutes(),n.getSeconds(),n.getMilliseconds()),e}const TIMEZONE_UNIT_PRIORITY=10;class Setter{constructor(){F(this,"subPriority",0)}validate(t,e){return!0}}class ValueSetter extends Setter{constructor(t,e,i,r,a){super(),this.value=t,this.validateValue=e,this.setValue=i,this.priority=r,a&&(this.subPriority=a)}validate(t,e){return this.validateValue(t,this.value,e)}set(t,e,i){return this.setValue(t,e,this.value,i)}}class DateToSystemTimezoneSetter extends Setter{constructor(){super(...arguments);F(this,"priority",TIMEZONE_UNIT_PRIORITY);F(this,"subPriority",-1)}set(e,i){return i.timestampIsSet?e:constructFrom(e,transpose(e,Date))}}class Parser{run(t,e,i,r){const a=this.parse(t,e,i,r);return a?{setter:new ValueSetter(a.value,this.validate,this.set,this.priority,this.subPriority),rest:a.rest}:null}validate(t,e,i){return!0}}class EraParser extends Parser{constructor(){super(...arguments);F(this,"priority",140);F(this,"incompatibleTokens",["R","u","t","T"])}parse(e,i,r){switch(i){case"G":case"GG":case"GGG":return r.era(e,{width:"abbreviated"})||r.era(e,{width:"narrow"});case"GGGGG":return r.era(e,{width:"narrow"});case"GGGG":default:return r.era(e,{width:"wide"})||r.era(e,{width:"abbreviated"})||r.era(e,{width:"narrow"})}}set(e,i,r){return i.era=r,e.setFullYear(r,0,1),e.setHours(0,0,0,0),e}}const numericPatterns={month:/^(1[0-2]|0?\d)/,date:/^(3[0-1]|[0-2]?\d)/,dayOfYear:/^(36[0-6]|3[0-5]\d|[0-2]?\d?\d)/,week:/^(5[0-3]|[0-4]?\d)/,hour23h:/^(2[0-3]|[0-1]?\d)/,hour24h:/^(2[0-4]|[0-1]?\d)/,hour11h:/^(1[0-1]|0?\d)/,hour12h:/^(1[0-2]|0?\d)/,minute:/^[0-5]?\d/,second:/^[0-5]?\d/,singleDigit:/^\d/,twoDigits:/^\d{1,2}/,threeDigits:/^\d{1,3}/,fourDigits:/^\d{1,4}/,anyDigitsSigned:/^-?\d+/,singleDigitSigned:/^-?\d/,twoDigitsSigned:/^-?\d{1,2}/,threeDigitsSigned:/^-?\d{1,3}/,fourDigitsSigned:/^-?\d{1,4}/},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/};function mapValue(n,t){return n&&{value:t(n.value),rest:n.rest}}function parseNumericPattern(n,t){const e=t.match(n);return e?{value:parseInt(e[0],10),rest:t.slice(e[0].length)}:null}function parseTimezonePattern(n,t){const e=t.match(n);if(!e)return null;if(e[0]==="Z")return{value:0,rest:t.slice(1)};const i=e[1]==="+"?1:-1,r=e[2]?parseInt(e[2],10):0,a=e[3]?parseInt(e[3],10):0,o=e[5]?parseInt(e[5],10):0;return{value:i*(r*millisecondsInHour+a*millisecondsInMinute+o*millisecondsInSecond),rest:t.slice(e[0].length)}}function parseAnyDigitsSigned(n){return parseNumericPattern(numericPatterns.anyDigitsSigned,n)}function parseNDigits(n,t){switch(n){case 1:return parseNumericPattern(numericPatterns.singleDigit,t);case 2:return parseNumericPattern(numericPatterns.twoDigits,t);case 3:return parseNumericPattern(numericPatterns.threeDigits,t);case 4:return parseNumericPattern(numericPatterns.fourDigits,t);default:return parseNumericPattern(new RegExp("^\\d{1,"+n+"}"),t)}}function parseNDigitsSigned(n,t){switch(n){case 1:return parseNumericPattern(numericPatterns.singleDigitSigned,t);case 2:return parseNumericPattern(numericPatterns.twoDigitsSigned,t);case 3:return parseNumericPattern(numericPatterns.threeDigitsSigned,t);case 4:return parseNumericPattern(numericPatterns.fourDigitsSigned,t);default:return parseNumericPattern(new RegExp("^-?\\d{1,"+n+"}"),t)}}function dayPeriodEnumToHours(n){switch(n){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}}function normalizeTwoDigitYear(n,t){const e=t>0,i=e?t:1-t;let r;if(i<=50)r=n||100;else{const a=i+50,o=Math.floor(a/100)*100,l=n>=a%100;r=n+o-(l?100:0)}return e?r:1-r}function isLeapYearIndex$1(n){return n%400===0||n%4===0&&n%100!==0}class YearParser extends Parser{constructor(){super(...arguments);F(this,"priority",130);F(this,"incompatibleTokens",["Y","R","u","w","I","i","e","c","t","T"])}parse(e,i,r){const a=o=>({year:o,isTwoDigitYear:i==="yy"});switch(i){case"y":return mapValue(parseNDigits(4,e),a);case"yo":return mapValue(r.ordinalNumber(e,{unit:"year"}),a);default:return mapValue(parseNDigits(i.length,e),a)}}validate(e,i){return i.isTwoDigitYear||i.year>0}set(e,i,r){const a=e.getFullYear();if(r.isTwoDigitYear){const l=normalizeTwoDigitYear(r.year,a);return e.setFullYear(l,0,1),e.setHours(0,0,0,0),e}const o=!("era"in i)||i.era===1?r.year:1-r.year;return e.setFullYear(o,0,1),e.setHours(0,0,0,0),e}}class LocalWeekYearParser extends Parser{constructor(){super(...arguments);F(this,"priority",130);F(this,"incompatibleTokens",["y","R","u","Q","q","M","L","I","d","D","i","t","T"])}parse(e,i,r){const a=o=>({year:o,isTwoDigitYear:i==="YY"});switch(i){case"Y":return mapValue(parseNDigits(4,e),a);case"Yo":return mapValue(r.ordinalNumber(e,{unit:"year"}),a);default:return mapValue(parseNDigits(i.length,e),a)}}validate(e,i){return i.isTwoDigitYear||i.year>0}set(e,i,r,a){const o=getWeekYear(e,a);if(r.isTwoDigitYear){const u=normalizeTwoDigitYear(r.year,o);return e.setFullYear(u,0,a.firstWeekContainsDate),e.setHours(0,0,0,0),startOfWeek(e,a)}const l=!("era"in i)||i.era===1?r.year:1-r.year;return e.setFullYear(l,0,a.firstWeekContainsDate),e.setHours(0,0,0,0),startOfWeek(e,a)}}class ISOWeekYearParser extends Parser{constructor(){super(...arguments);F(this,"priority",130);F(this,"incompatibleTokens",["G","y","Y","u","Q","q","M","L","w","d","D","e","c","t","T"])}parse(e,i){return parseNDigitsSigned(i==="R"?4:i.length,e)}set(e,i,r){const a=constructFrom(e,0);return a.setFullYear(r,0,4),a.setHours(0,0,0,0),startOfISOWeek(a)}}class ExtendedYearParser extends Parser{constructor(){super(...arguments);F(this,"priority",130);F(this,"incompatibleTokens",["G","y","Y","R","w","I","i","e","c","t","T"])}parse(e,i){return parseNDigitsSigned(i==="u"?4:i.length,e)}set(e,i,r){return e.setFullYear(r,0,1),e.setHours(0,0,0,0),e}}class QuarterParser extends Parser{constructor(){super(...arguments);F(this,"priority",120);F(this,"incompatibleTokens",["Y","R","q","M","L","w","I","d","D","i","e","c","t","T"])}parse(e,i,r){switch(i){case"Q":case"QQ":return parseNDigits(i.length,e);case"Qo":return r.ordinalNumber(e,{unit:"quarter"});case"QQQ":return r.quarter(e,{width:"abbreviated",context:"formatting"})||r.quarter(e,{width:"narrow",context:"formatting"});case"QQQQQ":return r.quarter(e,{width:"narrow",context:"formatting"});case"QQQQ":default:return r.quarter(e,{width:"wide",context:"formatting"})||r.quarter(e,{width:"abbreviated",context:"formatting"})||r.quarter(e,{width:"narrow",context:"formatting"})}}validate(e,i){return i>=1&&i<=4}set(e,i,r){return e.setMonth((r-1)*3,1),e.setHours(0,0,0,0),e}}class StandAloneQuarterParser extends Parser{constructor(){super(...arguments);F(this,"priority",120);F(this,"incompatibleTokens",["Y","R","Q","M","L","w","I","d","D","i","e","c","t","T"])}parse(e,i,r){switch(i){case"q":case"qq":return parseNDigits(i.length,e);case"qo":return r.ordinalNumber(e,{unit:"quarter"});case"qqq":return r.quarter(e,{width:"abbreviated",context:"standalone"})||r.quarter(e,{width:"narrow",context:"standalone"});case"qqqqq":return r.quarter(e,{width:"narrow",context:"standalone"});case"qqqq":default:return r.quarter(e,{width:"wide",context:"standalone"})||r.quarter(e,{width:"abbreviated",context:"standalone"})||r.quarter(e,{width:"narrow",context:"standalone"})}}validate(e,i){return i>=1&&i<=4}set(e,i,r){return e.setMonth((r-1)*3,1),e.setHours(0,0,0,0),e}}class MonthParser extends Parser{constructor(){super(...arguments);F(this,"incompatibleTokens",["Y","R","q","Q","L","w","I","D","i","e","c","t","T"]);F(this,"priority",110)}parse(e,i,r){const a=o=>o-1;switch(i){case"M":return mapValue(parseNumericPattern(numericPatterns.month,e),a);case"MM":return mapValue(parseNDigits(2,e),a);case"Mo":return mapValue(r.ordinalNumber(e,{unit:"month"}),a);case"MMM":return r.month(e,{width:"abbreviated",context:"formatting"})||r.month(e,{width:"narrow",context:"formatting"});case"MMMMM":return r.month(e,{width:"narrow",context:"formatting"});case"MMMM":default:return r.month(e,{width:"wide",context:"formatting"})||r.month(e,{width:"abbreviated",context:"formatting"})||r.month(e,{width:"narrow",context:"formatting"})}}validate(e,i){return i>=0&&i<=11}set(e,i,r){return e.setMonth(r,1),e.setHours(0,0,0,0),e}}class StandAloneMonthParser extends Parser{constructor(){super(...arguments);F(this,"priority",110);F(this,"incompatibleTokens",["Y","R","q","Q","M","w","I","D","i","e","c","t","T"])}parse(e,i,r){const a=o=>o-1;switch(i){case"L":return mapValue(parseNumericPattern(numericPatterns.month,e),a);case"LL":return mapValue(parseNDigits(2,e),a);case"Lo":return mapValue(r.ordinalNumber(e,{unit:"month"}),a);case"LLL":return r.month(e,{width:"abbreviated",context:"standalone"})||r.month(e,{width:"narrow",context:"standalone"});case"LLLLL":return r.month(e,{width:"narrow",context:"standalone"});case"LLLL":default:return r.month(e,{width:"wide",context:"standalone"})||r.month(e,{width:"abbreviated",context:"standalone"})||r.month(e,{width:"narrow",context:"standalone"})}}validate(e,i){return i>=0&&i<=11}set(e,i,r){return e.setMonth(r,1),e.setHours(0,0,0,0),e}}function setWeek(n,t,e){const i=toDate(n),r=getWeek(i,e)-t;return i.setDate(i.getDate()-r*7),i}class LocalWeekParser extends Parser{constructor(){super(...arguments);F(this,"priority",100);F(this,"incompatibleTokens",["y","R","u","q","Q","M","L","I","d","D","i","t","T"])}parse(e,i,r){switch(i){case"w":return parseNumericPattern(numericPatterns.week,e);case"wo":return r.ordinalNumber(e,{unit:"week"});default:return parseNDigits(i.length,e)}}validate(e,i){return i>=1&&i<=53}set(e,i,r,a){return startOfWeek(setWeek(e,r,a),a)}}function setISOWeek(n,t){const e=toDate(n),i=getISOWeek(e)-t;return e.setDate(e.getDate()-i*7),e}class ISOWeekParser extends Parser{constructor(){super(...arguments);F(this,"priority",100);F(this,"incompatibleTokens",["y","Y","u","q","Q","M","L","w","d","D","e","c","t","T"])}parse(e,i,r){switch(i){case"I":return parseNumericPattern(numericPatterns.week,e);case"Io":return r.ordinalNumber(e,{unit:"week"});default:return parseNDigits(i.length,e)}}validate(e,i){return i>=1&&i<=53}set(e,i,r){return startOfISOWeek(setISOWeek(e,r))}}const DAYS_IN_MONTH=[31,28,31,30,31,30,31,31,30,31,30,31],DAYS_IN_MONTH_LEAP_YEAR=[31,29,31,30,31,30,31,31,30,31,30,31];class DateParser extends Parser{constructor(){super(...arguments);F(this,"priority",90);F(this,"subPriority",1);F(this,"incompatibleTokens",["Y","R","q","Q","w","I","D","i","e","c","t","T"])}parse(e,i,r){switch(i){case"d":return parseNumericPattern(numericPatterns.date,e);case"do":return r.ordinalNumber(e,{unit:"date"});default:return parseNDigits(i.length,e)}}validate(e,i){const r=e.getFullYear(),a=isLeapYearIndex$1(r),o=e.getMonth();return a?i>=1&&i<=DAYS_IN_MONTH_LEAP_YEAR[o]:i>=1&&i<=DAYS_IN_MONTH[o]}set(e,i,r){return e.setDate(r),e.setHours(0,0,0,0),e}}class DayOfYearParser extends Parser{constructor(){super(...arguments);F(this,"priority",90);F(this,"subpriority",1);F(this,"incompatibleTokens",["Y","R","q","Q","M","L","w","I","d","E","i","e","c","t","T"])}parse(e,i,r){switch(i){case"D":case"DD":return parseNumericPattern(numericPatterns.dayOfYear,e);case"Do":return r.ordinalNumber(e,{unit:"date"});default:return parseNDigits(i.length,e)}}validate(e,i){const r=e.getFullYear();return isLeapYearIndex$1(r)?i>=1&&i<=366:i>=1&&i<=365}set(e,i,r){return e.setMonth(0,r),e.setHours(0,0,0,0),e}}function setDay(n,t,e){var p,_,y,w;const i=getDefaultOptions$1(),r=(e==null?void 0:e.weekStartsOn)??((_=(p=e==null?void 0:e.locale)==null?void 0:p.options)==null?void 0:_.weekStartsOn)??i.weekStartsOn??((w=(y=i.locale)==null?void 0:y.options)==null?void 0:w.weekStartsOn)??0,a=toDate(n),o=a.getDay(),u=(t%7+7)%7,d=7-r,m=t<0||t>6?t-(o+d)%7:(u+d)%7-(o+d)%7;return addDays(a,m)}class DayParser extends Parser{constructor(){super(...arguments);F(this,"priority",90);F(this,"incompatibleTokens",["D","i","e","c","t","T"])}parse(e,i,r){switch(i){case"E":case"EE":case"EEE":return r.day(e,{width:"abbreviated",context:"formatting"})||r.day(e,{width:"short",context:"formatting"})||r.day(e,{width:"narrow",context:"formatting"});case"EEEEE":return r.day(e,{width:"narrow",context:"formatting"});case"EEEEEE":return r.day(e,{width:"short",context:"formatting"})||r.day(e,{width:"narrow",context:"formatting"});case"EEEE":default:return r.day(e,{width:"wide",context:"formatting"})||r.day(e,{width:"abbreviated",context:"formatting"})||r.day(e,{width:"short",context:"formatting"})||r.day(e,{width:"narrow",context:"formatting"})}}validate(e,i){return i>=0&&i<=6}set(e,i,r,a){return e=setDay(e,r,a),e.setHours(0,0,0,0),e}}class LocalDayParser extends Parser{constructor(){super(...arguments);F(this,"priority",90);F(this,"incompatibleTokens",["y","R","u","q","Q","M","L","I","d","D","E","i","c","t","T"])}parse(e,i,r,a){const o=l=>{const u=Math.floor((l-1)/7)*7;return(l+a.weekStartsOn+6)%7+u};switch(i){case"e":case"ee":return mapValue(parseNDigits(i.length,e),o);case"eo":return mapValue(r.ordinalNumber(e,{unit:"day"}),o);case"eee":return r.day(e,{width:"abbreviated",context:"formatting"})||r.day(e,{width:"short",context:"formatting"})||r.day(e,{width:"narrow",context:"formatting"});case"eeeee":return r.day(e,{width:"narrow",context:"formatting"});case"eeeeee":return r.day(e,{width:"short",context:"formatting"})||r.day(e,{width:"narrow",context:"formatting"});case"eeee":default:return r.day(e,{width:"wide",context:"formatting"})||r.day(e,{width:"abbreviated",context:"formatting"})||r.day(e,{width:"short",context:"formatting"})||r.day(e,{width:"narrow",context:"formatting"})}}validate(e,i){return i>=0&&i<=6}set(e,i,r,a){return e=setDay(e,r,a),e.setHours(0,0,0,0),e}}class StandAloneLocalDayParser extends Parser{constructor(){super(...arguments);F(this,"priority",90);F(this,"incompatibleTokens",["y","R","u","q","Q","M","L","I","d","D","E","i","e","t","T"])}parse(e,i,r,a){const o=l=>{const u=Math.floor((l-1)/7)*7;return(l+a.weekStartsOn+6)%7+u};switch(i){case"c":case"cc":return mapValue(parseNDigits(i.length,e),o);case"co":return mapValue(r.ordinalNumber(e,{unit:"day"}),o);case"ccc":return r.day(e,{width:"abbreviated",context:"standalone"})||r.day(e,{width:"short",context:"standalone"})||r.day(e,{width:"narrow",context:"standalone"});case"ccccc":return r.day(e,{width:"narrow",context:"standalone"});case"cccccc":return r.day(e,{width:"short",context:"standalone"})||r.day(e,{width:"narrow",context:"standalone"});case"cccc":default:return r.day(e,{width:"wide",context:"standalone"})||r.day(e,{width:"abbreviated",context:"standalone"})||r.day(e,{width:"short",context:"standalone"})||r.day(e,{width:"narrow",context:"standalone"})}}validate(e,i){return i>=0&&i<=6}set(e,i,r,a){return e=setDay(e,r,a),e.setHours(0,0,0,0),e}}function setISODay(n,t){const e=toDate(n),i=getISODay(e),r=t-i;return addDays(e,r)}class ISODayParser extends Parser{constructor(){super(...arguments);F(this,"priority",90);F(this,"incompatibleTokens",["y","Y","u","q","Q","M","L","w","d","D","E","e","c","t","T"])}parse(e,i,r){const a=o=>o===0?7:o;switch(i){case"i":case"ii":return parseNDigits(i.length,e);case"io":return r.ordinalNumber(e,{unit:"day"});case"iii":return mapValue(r.day(e,{width:"abbreviated",context:"formatting"})||r.day(e,{width:"short",context:"formatting"})||r.day(e,{width:"narrow",context:"formatting"}),a);case"iiiii":return mapValue(r.day(e,{width:"narrow",context:"formatting"}),a);case"iiiiii":return mapValue(r.day(e,{width:"short",context:"formatting"})||r.day(e,{width:"narrow",context:"formatting"}),a);case"iiii":default:return mapValue(r.day(e,{width:"wide",context:"formatting"})||r.day(e,{width:"abbreviated",context:"formatting"})||r.day(e,{width:"short",context:"formatting"})||r.day(e,{width:"narrow",context:"formatting"}),a)}}validate(e,i){return i>=1&&i<=7}set(e,i,r){return e=setISODay(e,r),e.setHours(0,0,0,0),e}}class AMPMParser extends Parser{constructor(){super(...arguments);F(this,"priority",80);F(this,"incompatibleTokens",["b","B","H","k","t","T"])}parse(e,i,r){switch(i){case"a":case"aa":case"aaa":return r.dayPeriod(e,{width:"abbreviated",context:"formatting"})||r.dayPeriod(e,{width:"narrow",context:"formatting"});case"aaaaa":return r.dayPeriod(e,{width:"narrow",context:"formatting"});case"aaaa":default:return r.dayPeriod(e,{width:"wide",context:"formatting"})||r.dayPeriod(e,{width:"abbreviated",context:"formatting"})||r.dayPeriod(e,{width:"narrow",context:"formatting"})}}set(e,i,r){return e.setHours(dayPeriodEnumToHours(r),0,0,0),e}}class AMPMMidnightParser extends Parser{constructor(){super(...arguments);F(this,"priority",80);F(this,"incompatibleTokens",["a","B","H","k","t","T"])}parse(e,i,r){switch(i){case"b":case"bb":case"bbb":return r.dayPeriod(e,{width:"abbreviated",context:"formatting"})||r.dayPeriod(e,{width:"narrow",context:"formatting"});case"bbbbb":return r.dayPeriod(e,{width:"narrow",context:"formatting"});case"bbbb":default:return r.dayPeriod(e,{width:"wide",context:"formatting"})||r.dayPeriod(e,{width:"abbreviated",context:"formatting"})||r.dayPeriod(e,{width:"narrow",context:"formatting"})}}set(e,i,r){return e.setHours(dayPeriodEnumToHours(r),0,0,0),e}}class DayPeriodParser extends Parser{constructor(){super(...arguments);F(this,"priority",80);F(this,"incompatibleTokens",["a","b","t","T"])}parse(e,i,r){switch(i){case"B":case"BB":case"BBB":return r.dayPeriod(e,{width:"abbreviated",context:"formatting"})||r.dayPeriod(e,{width:"narrow",context:"formatting"});case"BBBBB":return r.dayPeriod(e,{width:"narrow",context:"formatting"});case"BBBB":default:return r.dayPeriod(e,{width:"wide",context:"formatting"})||r.dayPeriod(e,{width:"abbreviated",context:"formatting"})||r.dayPeriod(e,{width:"narrow",context:"formatting"})}}set(e,i,r){return e.setHours(dayPeriodEnumToHours(r),0,0,0),e}}class Hour1to12Parser extends Parser{constructor(){super(...arguments);F(this,"priority",70);F(this,"incompatibleTokens",["H","K","k","t","T"])}parse(e,i,r){switch(i){case"h":return parseNumericPattern(numericPatterns.hour12h,e);case"ho":return r.ordinalNumber(e,{unit:"hour"});default:return parseNDigits(i.length,e)}}validate(e,i){return i>=1&&i<=12}set(e,i,r){const a=e.getHours()>=12;return a&&r<12?e.setHours(r+12,0,0,0):!a&&r===12?e.setHours(0,0,0,0):e.setHours(r,0,0,0),e}}class Hour0to23Parser extends Parser{constructor(){super(...arguments);F(this,"priority",70);F(this,"incompatibleTokens",["a","b","h","K","k","t","T"])}parse(e,i,r){switch(i){case"H":return parseNumericPattern(numericPatterns.hour23h,e);case"Ho":return r.ordinalNumber(e,{unit:"hour"});default:return parseNDigits(i.length,e)}}validate(e,i){return i>=0&&i<=23}set(e,i,r){return e.setHours(r,0,0,0),e}}class Hour0To11Parser extends Parser{constructor(){super(...arguments);F(this,"priority",70);F(this,"incompatibleTokens",["h","H","k","t","T"])}parse(e,i,r){switch(i){case"K":return parseNumericPattern(numericPatterns.hour11h,e);case"Ko":return r.ordinalNumber(e,{unit:"hour"});default:return parseNDigits(i.length,e)}}validate(e,i){return i>=0&&i<=11}set(e,i,r){return e.getHours()>=12&&r<12?e.setHours(r+12,0,0,0):e.setHours(r,0,0,0),e}}class Hour1To24Parser extends Parser{constructor(){super(...arguments);F(this,"priority",70);F(this,"incompatibleTokens",["a","b","h","H","K","t","T"])}parse(e,i,r){switch(i){case"k":return parseNumericPattern(numericPatterns.hour24h,e);case"ko":return r.ordinalNumber(e,{unit:"hour"});default:return parseNDigits(i.length,e)}}validate(e,i){return i>=1&&i<=24}set(e,i,r){const a=r<=24?r%24:r;return e.setHours(a,0,0,0),e}}class MinuteParser extends Parser{constructor(){super(...arguments);F(this,"priority",60);F(this,"incompatibleTokens",["t","T"])}parse(e,i,r){switch(i){case"m":return parseNumericPattern(numericPatterns.minute,e);case"mo":return r.ordinalNumber(e,{unit:"minute"});default:return parseNDigits(i.length,e)}}validate(e,i){return i>=0&&i<=59}set(e,i,r){return e.setMinutes(r,0,0),e}}class SecondParser extends Parser{constructor(){super(...arguments);F(this,"priority",50);F(this,"incompatibleTokens",["t","T"])}parse(e,i,r){switch(i){case"s":return parseNumericPattern(numericPatterns.second,e);case"so":return r.ordinalNumber(e,{unit:"second"});default:return parseNDigits(i.length,e)}}validate(e,i){return i>=0&&i<=59}set(e,i,r){return e.setSeconds(r,0),e}}class FractionOfSecondParser extends Parser{constructor(){super(...arguments);F(this,"priority",30);F(this,"incompatibleTokens",["t","T"])}parse(e,i){const r=a=>Math.floor(a*Math.pow(10,-i.length+3));return mapValue(parseNDigits(i.length,e),r)}set(e,i,r){return e.setMilliseconds(r),e}}class ISOTimezoneWithZParser extends Parser{constructor(){super(...arguments);F(this,"priority",10);F(this,"incompatibleTokens",["t","T","x"])}parse(e,i){switch(i){case"X":return parseTimezonePattern(timezonePatterns.basicOptionalMinutes,e);case"XX":return parseTimezonePattern(timezonePatterns.basic,e);case"XXXX":return parseTimezonePattern(timezonePatterns.basicOptionalSeconds,e);case"XXXXX":return parseTimezonePattern(timezonePatterns.extendedOptionalSeconds,e);case"XXX":default:return parseTimezonePattern(timezonePatterns.extended,e)}}set(e,i,r){return i.timestampIsSet?e:constructFrom(e,e.getTime()-getTimezoneOffsetInMilliseconds(e)-r)}}class ISOTimezoneParser extends Parser{constructor(){super(...arguments);F(this,"priority",10);F(this,"incompatibleTokens",["t","T","X"])}parse(e,i){switch(i){case"x":return parseTimezonePattern(timezonePatterns.basicOptionalMinutes,e);case"xx":return parseTimezonePattern(timezonePatterns.basic,e);case"xxxx":return parseTimezonePattern(timezonePatterns.basicOptionalSeconds,e);case"xxxxx":return parseTimezonePattern(timezonePatterns.extendedOptionalSeconds,e);case"xxx":default:return parseTimezonePattern(timezonePatterns.extended,e)}}set(e,i,r){return i.timestampIsSet?e:constructFrom(e,e.getTime()-getTimezoneOffsetInMilliseconds(e)-r)}}class TimestampSecondsParser extends Parser{constructor(){super(...arguments);F(this,"priority",40);F(this,"incompatibleTokens","*")}parse(e){return parseAnyDigitsSigned(e)}set(e,i,r){return[constructFrom(e,r*1e3),{timestampIsSet:!0}]}}class TimestampMillisecondsParser extends Parser{constructor(){super(...arguments);F(this,"priority",20);F(this,"incompatibleTokens","*")}parse(e){return parseAnyDigitsSigned(e)}set(e,i,r){return[constructFrom(e,r),{timestampIsSet:!0}]}}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},formattingTokensRegExp=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,longFormattingTokensRegExp=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,escapedStringRegExp=/^'([^]*?)'?$/,doubleQuoteRegExp=/''/g,notWhitespaceRegExp=/\S/,unescapedLatinCharacterRegExp=/[a-zA-Z]/;function parse$1(n,t,e,i){var v,E,x,S,M,k,A,I;const r=getDefaultOptions(),a=(i==null?void 0:i.locale)??r.locale??enUS,o=(i==null?void 0:i.firstWeekContainsDate)??((E=(v=i==null?void 0:i.locale)==null?void 0:v.options)==null?void 0:E.firstWeekContainsDate)??r.firstWeekContainsDate??((S=(x=r.locale)==null?void 0:x.options)==null?void 0:S.firstWeekContainsDate)??1,l=(i==null?void 0:i.weekStartsOn)??((k=(M=i==null?void 0:i.locale)==null?void 0:M.options)==null?void 0:k.weekStartsOn)??r.weekStartsOn??((I=(A=r.locale)==null?void 0:A.options)==null?void 0:I.weekStartsOn)??0;if(t==="")return n===""?toDate(e):constructFrom(e,NaN);const u={firstWeekContainsDate:o,weekStartsOn:l,locale:a},d=[new DateToSystemTimezoneSetter],m=t.match(longFormattingTokensRegExp).map(C=>{const R=C[0];if(R in longFormatters){const W=longFormatters[R];return W(C,a.formatLong)}return C}).join("").match(formattingTokensRegExp),p=[];for(let C of m){!(i!=null&&i.useAdditionalWeekYearTokens)&&isProtectedWeekYearToken(C)&&warnOrThrowProtectedError(C,t,n),!(i!=null&&i.useAdditionalDayOfYearTokens)&&isProtectedDayOfYearToken(C)&&warnOrThrowProtectedError(C,t,n);const R=C[0],W=parsers[R];if(W){const{incompatibleTokens:K}=W;if(Array.isArray(K)){const q=p.find(J=>K.includes(J.token)||J.token===R);if(q)throw new RangeError(`The format string mustn't contain \`${q.fullToken}\` and \`${C}\` at the same time`)}else if(W.incompatibleTokens==="*"&&p.length>0)throw new RangeError(`The format string mustn't contain \`${C}\` and any other token at the same time`);p.push({token:R,fullToken:C});const Y=W.run(n,C,a.match,u);if(!Y)return constructFrom(e,NaN);d.push(Y.setter),n=Y.rest}else{if(R.match(unescapedLatinCharacterRegExp))throw new RangeError("Format string contains an unescaped latin alphabet character `"+R+"`");if(C==="''"?C="'":R==="'"&&(C=cleanEscapedString(C)),n.indexOf(C)===0)n=n.slice(C.length);else return constructFrom(e,NaN)}}if(n.length>0&¬WhitespaceRegExp.test(n))return constructFrom(e,NaN);const _=d.map(C=>C.priority).sort((C,R)=>R-C).filter((C,R,W)=>W.indexOf(C)===R).map(C=>d.filter(R=>R.priority===C).sort((R,W)=>W.subPriority-R.subPriority)).map(C=>C[0]);let y=toDate(e);if(isNaN(y.getTime()))return constructFrom(e,NaN);const w={};for(const C of _){if(!C.validate(y,u))return constructFrom(e,NaN);const R=C.set(y,w,u);Array.isArray(R)?(y=R[0],Object.assign(w,R[1])):y=R}return constructFrom(e,y)}function cleanEscapedString(n){return n.match(escapedStringRegExp)[1].replace(doubleQuoteRegExp,"'")}function startOfHour(n){const t=toDate(n);return t.setMinutes(0,0,0),t}function isSameWeek(n,t,e){const i=startOfWeek(n,e),r=startOfWeek(t,e);return+i==+r}function startOfSecond(n){const t=toDate(n);return t.setMilliseconds(0),t}function subDays(n,t){return addDays(n,-t)}function parseISO(n,t){const e=(t==null?void 0:t.additionalDigits)??2,i=splitDateString(n);let r;if(i.date){const u=parseYear(i.date,e);r=parseDate(u.restDateString,u.year)}if(!r||isNaN(r.getTime()))return new Date(NaN);const a=r.getTime();let o=0,l;if(i.time&&(o=parseTime(i.time),isNaN(o)))return new Date(NaN);if(i.timezone){if(l=parseTimezone(i.timezone),isNaN(l))return new Date(NaN)}else{const u=new Date(a+o),d=new Date(0);return d.setFullYear(u.getUTCFullYear(),u.getUTCMonth(),u.getUTCDate()),d.setHours(u.getUTCHours(),u.getUTCMinutes(),u.getUTCSeconds(),u.getUTCMilliseconds()),d}return new Date(a+o+l)}const patterns={dateTimeDelimiter:/[T ]/,timeZoneDelimiter:/[Z ]/i,timezone:/([Z+-].*)$/},dateRegex=/^-?(?:(\d{3})|(\d{2})(?:-?(\d{2}))?|W(\d{2})(?:-?(\d{1}))?|)$/,timeRegex=/^(\d{2}(?:[.,]\d*)?)(?::?(\d{2}(?:[.,]\d*)?))?(?::?(\d{2}(?:[.,]\d*)?))?$/,timezoneRegex=/^([+-])(\d{2})(?::?(\d{2}))?$/;function splitDateString(n){const t={},e=n.split(patterns.dateTimeDelimiter);let i;if(e.length>2)return t;if(/:/.test(e[0])?i=e[0]:(t.date=e[0],i=e[1],patterns.timeZoneDelimiter.test(t.date)&&(t.date=n.split(patterns.timeZoneDelimiter)[0],i=n.substr(t.date.length,n.length))),i){const r=patterns.timezone.exec(i);r?(t.time=i.replace(r[1],""),t.timezone=r[1]):t.time=i}return t}function parseYear(n,t){const e=new RegExp("^(?:(\\d{4}|[+-]\\d{"+(4+t)+"})|(\\d{2}|[+-]\\d{"+(2+t)+"})$)"),i=n.match(e);if(!i)return{year:NaN,restDateString:""};const r=i[1]?parseInt(i[1]):null,a=i[2]?parseInt(i[2]):null;return{year:a===null?r:a*100,restDateString:n.slice((i[1]||i[2]).length)}}function parseDate(n,t){if(t===null)return new Date(NaN);const e=n.match(dateRegex);if(!e)return new Date(NaN);const i=!!e[4],r=parseDateUnit(e[1]),a=parseDateUnit(e[2])-1,o=parseDateUnit(e[3]),l=parseDateUnit(e[4]),u=parseDateUnit(e[5])-1;if(i)return validateWeekDate(t,l,u)?dayOfISOWeekYear(t,l,u):new Date(NaN);{const d=new Date(0);return!validateDate(t,a,o)||!validateDayOfYearDate(t,r)?new Date(NaN):(d.setUTCFullYear(t,a,Math.max(r,o)),d)}}function parseDateUnit(n){return n?parseInt(n):1}function parseTime(n){const t=n.match(timeRegex);if(!t)return NaN;const e=parseTimeUnit(t[1]),i=parseTimeUnit(t[2]),r=parseTimeUnit(t[3]);return validateTime(e,i,r)?e*millisecondsInHour+i*millisecondsInMinute+r*1e3:NaN}function parseTimeUnit(n){return n&&parseFloat(n.replace(",","."))||0}function parseTimezone(n){if(n==="Z")return 0;const t=n.match(timezoneRegex);if(!t)return 0;const e=t[1]==="+"?-1:1,i=parseInt(t[2]),r=t[3]&&parseInt(t[3])||0;return validateTimezone(i,r)?e*(i*millisecondsInHour+r*millisecondsInMinute):NaN}function dayOfISOWeekYear(n,t,e){const i=new Date(0);i.setUTCFullYear(n,0,4);const r=i.getUTCDay()||7,a=(t-1)*7+e+1-r;return i.setUTCDate(i.getUTCDate()+a),i}const daysInMonths=[31,null,31,30,31,30,31,31,30,31,30,31];function isLeapYearIndex(n){return n%400===0||n%4===0&&n%100!==0}function validateDate(n,t,e){return t>=0&&t<=11&&e>=1&&e<=(daysInMonths[t]||(isLeapYearIndex(n)?29:28))}function validateDayOfYearDate(n,t){return t>=1&&t<=(isLeapYearIndex(n)?366:365)}function validateWeekDate(n,t,e){return t>=1&&t<=53&&e>=0&&e<=6}function validateTime(n,t,e){return n===24?t===0&&e===0:e>=0&&e<60&&t>=0&&t<60&&n>=0&&n<25}function validateTimezone(n,t){return t>=0&&t<=59}function subMonths(n,t){return addMonths(n,-t)}const consoleLogger={type:"logger",log(n){this.output("log",n)},warn(n){this.output("warn",n)},error(n){this.output("error",n)},output(n,t){console&&console[n]&&console[n].apply(console,t)}};class Logger{constructor(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.init(t,e)}init(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.prefix=e.prefix||"i18next:",this.logger=t||consoleLogger,this.options=e,this.debug=e.debug}log(){for(var t=arguments.length,e=new Array(t),i=0;i{this.observers[i]=this.observers[i]||[],this.observers[i].push(e)}),this}off(t,e){if(this.observers[t]){if(!e){delete this.observers[t];return}this.observers[t]=this.observers[t].filter(i=>i!==e)}}emit(t){for(var e=arguments.length,i=new Array(e>1?e-1:0),r=1;r{o(...i)}),this.observers["*"]&&[].concat(this.observers["*"]).forEach(o=>{o.apply(o,[t,...i])})}}function defer(){let n,t;const e=new Promise((i,r)=>{n=i,t=r});return e.resolve=n,e.reject=t,e}function makeString(n){return n==null?"":""+n}function copy(n,t,e){n.forEach(i=>{t[i]&&(e[i]=t[i])})}function getLastOfPath(n,t,e){function i(o){return o&&o.indexOf("###")>-1?o.replace(/###/g,"."):o}function r(){return!n||typeof n=="string"}const a=typeof t!="string"?[].concat(t):t.split(".");for(;a.length>1;){if(r())return{};const o=i(a.shift());!n[o]&&e&&(n[o]=new e),Object.prototype.hasOwnProperty.call(n,o)?n=n[o]:n={}}return r()?{}:{obj:n,k:i(a.shift())}}function setPath(n,t,e){const{obj:i,k:r}=getLastOfPath(n,t,Object);i[r]=e}function pushPath(n,t,e,i){const{obj:r,k:a}=getLastOfPath(n,t,Object);r[a]=r[a]||[],i&&(r[a]=r[a].concat(e)),i||r[a].push(e)}function getPath(n,t){const{obj:e,k:i}=getLastOfPath(n,t);if(e)return e[i]}function getPathWithDefaults(n,t,e){const i=getPath(n,e);return i!==void 0?i:getPath(t,e)}function deepExtend(n,t,e){for(const i in t)i!=="__proto__"&&i!=="constructor"&&(i in n?typeof n[i]=="string"||n[i]instanceof String||typeof t[i]=="string"||t[i]instanceof String?e&&(n[i]=t[i]):deepExtend(n[i],t[i],e):n[i]=t[i]);return n}function regexEscape(n){return n.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}var _entityMap={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};function escape$1(n){return typeof n=="string"?n.replace(/[&<>"'\/]/g,t=>_entityMap[t]):n}const chars=[" ",",","?","!",";"];function looksLikeObjectPath(n,t,e){t=t||"",e=e||"";const i=chars.filter(o=>t.indexOf(o)<0&&e.indexOf(o)<0);if(i.length===0)return!0;const r=new RegExp(`(${i.map(o=>o==="?"?"\\?":o).join("|")})`);let a=!r.test(n);if(!a){const o=n.indexOf(e);o>0&&!r.test(n.substring(0,o))&&(a=!0)}return a}function deepFind(n,t){let e=arguments.length>2&&arguments[2]!==void 0?arguments[2]:".";if(!n)return;if(n[t])return n[t];const i=t.split(e);let r=n;for(let a=0;aa+o;)o++,l=i.slice(a,a+o).join(e),u=r[l];if(u===void 0)return;if(u===null)return null;if(t.endsWith(l)){if(typeof u=="string")return u;if(l&&typeof u[l]=="string")return u[l]}const d=i.slice(a+o).join(e);return d?deepFind(u,d,e):void 0}r=r[i[a]]}return r}function getCleanedCode(n){return n&&n.indexOf("_")>0?n.replace("_","-"):n}class ResourceStore extends EventEmitter{constructor(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{ns:["translation"],defaultNS:"translation"};super(),this.data=t||{},this.options=e,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.options.ignoreJSONStructure===void 0&&(this.options.ignoreJSONStructure=!0)}addNamespaces(t){this.options.ns.indexOf(t)<0&&this.options.ns.push(t)}removeNamespaces(t){const e=this.options.ns.indexOf(t);e>-1&&this.options.ns.splice(e,1)}getResource(t,e,i){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};const a=r.keySeparator!==void 0?r.keySeparator:this.options.keySeparator,o=r.ignoreJSONStructure!==void 0?r.ignoreJSONStructure:this.options.ignoreJSONStructure;let l=[t,e];i&&typeof i!="string"&&(l=l.concat(i)),i&&typeof i=="string"&&(l=l.concat(a?i.split(a):i)),t.indexOf(".")>-1&&(l=t.split("."));const u=getPath(this.data,l);return u||!o||typeof i!="string"?u:deepFind(this.data&&this.data[t]&&this.data[t][e],i,a)}addResource(t,e,i,r){let a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{silent:!1};const o=a.keySeparator!==void 0?a.keySeparator:this.options.keySeparator;let l=[t,e];i&&(l=l.concat(o?i.split(o):i)),t.indexOf(".")>-1&&(l=t.split("."),r=e,e=l[1]),this.addNamespaces(e),setPath(this.data,l,r),a.silent||this.emit("added",t,e,i,r)}addResources(t,e,i){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{silent:!1};for(const a in i)(typeof i[a]=="string"||Object.prototype.toString.apply(i[a])==="[object Array]")&&this.addResource(t,e,a,i[a],{silent:!0});r.silent||this.emit("added",t,e,i)}addResourceBundle(t,e,i,r,a){let o=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{silent:!1},l=[t,e];t.indexOf(".")>-1&&(l=t.split("."),r=i,i=e,e=l[1]),this.addNamespaces(e);let u=getPath(this.data,l)||{};r?deepExtend(u,i,a):u={...u,...i},setPath(this.data,l,u),o.silent||this.emit("added",t,e,i)}removeResourceBundle(t,e){this.hasResourceBundle(t,e)&&delete this.data[t][e],this.removeNamespaces(e),this.emit("removed",t,e)}hasResourceBundle(t,e){return this.getResource(t,e)!==void 0}getResourceBundle(t,e){return e||(e=this.options.defaultNS),this.options.compatibilityAPI==="v1"?{...this.getResource(t,e)}:this.getResource(t,e)}getDataByLanguage(t){return this.data[t]}hasLanguageSomeTranslations(t){const e=this.getDataByLanguage(t);return!!(e&&Object.keys(e)||[]).find(r=>e[r]&&Object.keys(e[r]).length>0)}toJSON(){return this.data}}var postProcessor={processors:{},addPostProcessor(n){this.processors[n.name]=n},handle(n,t,e,i,r){return n.forEach(a=>{this.processors[a]&&(t=this.processors[a].process(t,e,i,r))}),t}};const checkedLoadedFor={};class Translator extends EventEmitter{constructor(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};super(),copy(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],t,this),this.options=e,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.logger=baseLogger.create("translator")}changeLanguage(t){t&&(this.language=t)}exists(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}};if(t==null)return!1;const i=this.resolve(t,e);return i&&i.res!==void 0}extractFromKey(t,e){let i=e.nsSeparator!==void 0?e.nsSeparator:this.options.nsSeparator;i===void 0&&(i=":");const r=e.keySeparator!==void 0?e.keySeparator:this.options.keySeparator;let a=e.ns||this.options.defaultNS||[];const o=i&&t.indexOf(i)>-1,l=!this.options.userDefinedKeySeparator&&!e.keySeparator&&!this.options.userDefinedNsSeparator&&!e.nsSeparator&&!looksLikeObjectPath(t,i,r);if(o&&!l){const u=t.match(this.interpolator.nestingRegexp);if(u&&u.length>0)return{key:t,namespaces:a};const d=t.split(i);(i!==r||i===r&&this.options.ns.indexOf(d[0])>-1)&&(a=d.shift()),t=d.join(r)}return typeof a=="string"&&(a=[a]),{key:t,namespaces:a}}translate(t,e,i){if(typeof e!="object"&&this.options.overloadTranslationOptionHandler&&(e=this.options.overloadTranslationOptionHandler(arguments)),typeof e=="object"&&(e={...e}),e||(e={}),t==null)return"";Array.isArray(t)||(t=[String(t)]);const r=e.returnDetails!==void 0?e.returnDetails:this.options.returnDetails,a=e.keySeparator!==void 0?e.keySeparator:this.options.keySeparator,{key:o,namespaces:l}=this.extractFromKey(t[t.length-1],e),u=l[l.length-1],d=e.lng||this.language,m=e.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(d&&d.toLowerCase()==="cimode"){if(m){const k=e.nsSeparator||this.options.nsSeparator;return r?{res:`${u}${k}${o}`,usedKey:o,exactUsedKey:o,usedLng:d,usedNS:u,usedParams:this.getUsedParamsDetails(e)}:`${u}${k}${o}`}return r?{res:o,usedKey:o,exactUsedKey:o,usedLng:d,usedNS:u,usedParams:this.getUsedParamsDetails(e)}:o}const p=this.resolve(t,e);let _=p&&p.res;const y=p&&p.usedKey||o,w=p&&p.exactUsedKey||o,v=Object.prototype.toString.apply(_),E=["[object Number]","[object Function]","[object RegExp]"],x=e.joinArrays!==void 0?e.joinArrays:this.options.joinArrays,S=!this.i18nFormat||this.i18nFormat.handleAsObject;if(S&&_&&(typeof _!="string"&&typeof _!="boolean"&&typeof _!="number")&&E.indexOf(v)<0&&!(typeof x=="string"&&v==="[object Array]")){if(!e.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");const k=this.options.returnedObjectHandler?this.options.returnedObjectHandler(y,_,{...e,ns:l}):`key '${o} (${this.language})' returned an object instead of string.`;return r?(p.res=k,p.usedParams=this.getUsedParamsDetails(e),p):k}if(a){const k=v==="[object Array]",A=k?[]:{},I=k?w:y;for(const C in _)if(Object.prototype.hasOwnProperty.call(_,C)){const R=`${I}${a}${C}`;A[C]=this.translate(R,{...e,joinArrays:!1,ns:l}),A[C]===R&&(A[C]=_[C])}_=A}}else if(S&&typeof x=="string"&&v==="[object Array]")_=_.join(x),_&&(_=this.extendTranslation(_,t,e,i));else{let k=!1,A=!1;const I=e.count!==void 0&&typeof e.count!="string",C=Translator.hasDefaultValue(e),R=I?this.pluralResolver.getSuffix(d,e.count,e):"",W=e.ordinal&&I?this.pluralResolver.getSuffix(d,e.count,{ordinal:!1}):"",K=e[`defaultValue${R}`]||e[`defaultValue${W}`]||e.defaultValue;!this.isValidLookup(_)&&C&&(k=!0,_=K),this.isValidLookup(_)||(A=!0,_=o);const q=(e.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&A?void 0:_,J=C&&K!==_&&this.options.updateMissing;if(A||k||J){if(this.logger.log(J?"updateKey":"missingKey",d,u,o,J?K:_),a){const V=this.resolve(o,{...e,keySeparator:!1});V&&V.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}let nt=[];const $=this.languageUtils.getFallbackCodes(this.options.fallbackLng,e.lng||this.language);if(this.options.saveMissingTo==="fallback"&&$&&$[0])for(let V=0;V<$.length;V++)nt.push($[V]);else this.options.saveMissingTo==="all"?nt=this.languageUtils.toResolveHierarchy(e.lng||this.language):nt.push(e.lng||this.language);const N=(V,H,X)=>{const B=C&&X!==_?X:q;this.options.missingKeyHandler?this.options.missingKeyHandler(V,u,H,B,J,e):this.backendConnector&&this.backendConnector.saveMissing&&this.backendConnector.saveMissing(V,u,H,B,J,e),this.emit("missingKey",V,u,H,_)};this.options.saveMissing&&(this.options.saveMissingPlurals&&I?nt.forEach(V=>{this.pluralResolver.getSuffixes(V,e).forEach(H=>{N([V],o+H,e[`defaultValue${H}`]||K)})}):N(nt,o,K))}_=this.extendTranslation(_,t,e,p,i),A&&_===o&&this.options.appendNamespaceToMissingKey&&(_=`${u}:${o}`),(A||k)&&this.options.parseMissingKeyHandler&&(this.options.compatibilityAPI!=="v1"?_=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${u}:${o}`:o,k?_:void 0):_=this.options.parseMissingKeyHandler(_))}return r?(p.res=_,p.usedParams=this.getUsedParamsDetails(e),p):_}extendTranslation(t,e,i,r,a){var o=this;if(this.i18nFormat&&this.i18nFormat.parse)t=this.i18nFormat.parse(t,{...this.options.interpolation.defaultVariables,...i},i.lng||this.language||r.usedLng,r.usedNS,r.usedKey,{resolved:r});else if(!i.skipInterpolation){i.interpolation&&this.interpolator.init({...i,interpolation:{...this.options.interpolation,...i.interpolation}});const d=typeof t=="string"&&(i&&i.interpolation&&i.interpolation.skipOnVariables!==void 0?i.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);let m;if(d){const _=t.match(this.interpolator.nestingRegexp);m=_&&_.length}let p=i.replace&&typeof i.replace!="string"?i.replace:i;if(this.options.interpolation.defaultVariables&&(p={...this.options.interpolation.defaultVariables,...p}),t=this.interpolator.interpolate(t,p,i.lng||this.language,i),d){const _=t.match(this.interpolator.nestingRegexp),y=_&&_.length;m1&&arguments[1]!==void 0?arguments[1]:{},i,r,a,o,l;return typeof t=="string"&&(t=[t]),t.forEach(u=>{if(this.isValidLookup(i))return;const d=this.extractFromKey(u,e),m=d.key;r=m;let p=d.namespaces;this.options.fallbackNS&&(p=p.concat(this.options.fallbackNS));const _=e.count!==void 0&&typeof e.count!="string",y=_&&!e.ordinal&&e.count===0&&this.pluralResolver.shouldUseIntlApi(),w=e.context!==void 0&&(typeof e.context=="string"||typeof e.context=="number")&&e.context!=="",v=e.lngs?e.lngs:this.languageUtils.toResolveHierarchy(e.lng||this.language,e.fallbackLng);p.forEach(E=>{this.isValidLookup(i)||(l=E,!checkedLoadedFor[`${v[0]}-${E}`]&&this.utils&&this.utils.hasLoadedNamespace&&!this.utils.hasLoadedNamespace(l)&&(checkedLoadedFor[`${v[0]}-${E}`]=!0,this.logger.warn(`key "${r}" for languages "${v.join(", ")}" won't get resolved as namespace "${l}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),v.forEach(x=>{if(this.isValidLookup(i))return;o=x;const S=[m];if(this.i18nFormat&&this.i18nFormat.addLookupKeys)this.i18nFormat.addLookupKeys(S,m,x,E,e);else{let k;_&&(k=this.pluralResolver.getSuffix(x,e.count,e));const A=`${this.options.pluralSeparator}zero`,I=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(_&&(S.push(m+k),e.ordinal&&k.indexOf(I)===0&&S.push(m+k.replace(I,this.options.pluralSeparator)),y&&S.push(m+A)),w){const C=`${m}${this.options.contextSeparator}${e.context}`;S.push(C),_&&(S.push(C+k),e.ordinal&&k.indexOf(I)===0&&S.push(C+k.replace(I,this.options.pluralSeparator)),y&&S.push(C+A))}}let M;for(;M=S.pop();)this.isValidLookup(i)||(a=M,i=this.getResource(x,E,M,e))}))})}),{res:i,usedKey:r,exactUsedKey:a,usedLng:o,usedNS:l}}isValidLookup(t){return t!==void 0&&!(!this.options.returnNull&&t===null)&&!(!this.options.returnEmptyString&&t==="")}getResource(t,e,i){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return this.i18nFormat&&this.i18nFormat.getResource?this.i18nFormat.getResource(t,e,i,r):this.resourceStore.getResource(t,e,i,r)}getUsedParamsDetails(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const e=["defaultValue","ordinal","context","replace","lng","lngs","fallbackLng","ns","keySeparator","nsSeparator","returnObjects","returnDetails","joinArrays","postProcess","interpolation"],i=t.replace&&typeof t.replace!="string";let r=i?t.replace:t;if(i&&typeof t.count<"u"&&(r.count=t.count),this.options.interpolation.defaultVariables&&(r={...this.options.interpolation.defaultVariables,...r}),!i){r={...r};for(const a of e)delete r[a]}return r}static hasDefaultValue(t){const e="defaultValue";for(const i in t)if(Object.prototype.hasOwnProperty.call(t,i)&&e===i.substring(0,e.length)&&t[i]!==void 0)return!0;return!1}}function capitalize(n){return n.charAt(0).toUpperCase()+n.slice(1)}class LanguageUtil{constructor(t){this.options=t,this.supportedLngs=this.options.supportedLngs||!1,this.logger=baseLogger.create("languageUtils")}getScriptPartFromCode(t){if(t=getCleanedCode(t),!t||t.indexOf("-")<0)return null;const e=t.split("-");return e.length===2||(e.pop(),e[e.length-1].toLowerCase()==="x")?null:this.formatLanguageCode(e.join("-"))}getLanguagePartFromCode(t){if(t=getCleanedCode(t),!t||t.indexOf("-")<0)return t;const e=t.split("-");return this.formatLanguageCode(e[0])}formatLanguageCode(t){if(typeof t=="string"&&t.indexOf("-")>-1){const e=["hans","hant","latn","cyrl","cans","mong","arab"];let i=t.split("-");return this.options.lowerCaseLng?i=i.map(r=>r.toLowerCase()):i.length===2?(i[0]=i[0].toLowerCase(),i[1]=i[1].toUpperCase(),e.indexOf(i[1].toLowerCase())>-1&&(i[1]=capitalize(i[1].toLowerCase()))):i.length===3&&(i[0]=i[0].toLowerCase(),i[1].length===2&&(i[1]=i[1].toUpperCase()),i[0]!=="sgn"&&i[2].length===2&&(i[2]=i[2].toUpperCase()),e.indexOf(i[1].toLowerCase())>-1&&(i[1]=capitalize(i[1].toLowerCase())),e.indexOf(i[2].toLowerCase())>-1&&(i[2]=capitalize(i[2].toLowerCase()))),i.join("-")}return this.options.cleanCode||this.options.lowerCaseLng?t.toLowerCase():t}isSupportedCode(t){return(this.options.load==="languageOnly"||this.options.nonExplicitSupportedLngs)&&(t=this.getLanguagePartFromCode(t)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(t)>-1}getBestMatchFromCodes(t){if(!t)return null;let e;return t.forEach(i=>{if(e)return;const r=this.formatLanguageCode(i);(!this.options.supportedLngs||this.isSupportedCode(r))&&(e=r)}),!e&&this.options.supportedLngs&&t.forEach(i=>{if(e)return;const r=this.getLanguagePartFromCode(i);if(this.isSupportedCode(r))return e=r;e=this.options.supportedLngs.find(a=>{if(a===r)return a;if(!(a.indexOf("-")<0&&r.indexOf("-")<0)&&a.indexOf(r)===0)return a})}),e||(e=this.getFallbackCodes(this.options.fallbackLng)[0]),e}getFallbackCodes(t,e){if(!t)return[];if(typeof t=="function"&&(t=t(e)),typeof t=="string"&&(t=[t]),Object.prototype.toString.apply(t)==="[object Array]")return t;if(!e)return t.default||[];let i=t[e];return i||(i=t[this.getScriptPartFromCode(e)]),i||(i=t[this.formatLanguageCode(e)]),i||(i=t[this.getLanguagePartFromCode(e)]),i||(i=t.default),i||[]}toResolveHierarchy(t,e){const i=this.getFallbackCodes(e||this.options.fallbackLng||[],t),r=[],a=o=>{o&&(this.isSupportedCode(o)?r.push(o):this.logger.warn(`rejecting language code not found in supportedLngs: ${o}`))};return typeof t=="string"&&(t.indexOf("-")>-1||t.indexOf("_")>-1)?(this.options.load!=="languageOnly"&&a(this.formatLanguageCode(t)),this.options.load!=="languageOnly"&&this.options.load!=="currentOnly"&&a(this.getScriptPartFromCode(t)),this.options.load!=="currentOnly"&&a(this.getLanguagePartFromCode(t))):typeof t=="string"&&a(this.formatLanguageCode(t)),i.forEach(o=>{r.indexOf(o)<0&&a(this.formatLanguageCode(o))}),r}}let sets=[{lngs:["ach","ak","am","arn","br","fil","gun","ln","mfe","mg","mi","oc","pt","pt-BR","tg","tl","ti","tr","uz","wa"],nr:[1,2],fc:1},{lngs:["af","an","ast","az","bg","bn","ca","da","de","dev","el","en","eo","es","et","eu","fi","fo","fur","fy","gl","gu","ha","hi","hu","hy","ia","it","kk","kn","ku","lb","mai","ml","mn","mr","nah","nap","nb","ne","nl","nn","no","nso","pa","pap","pms","ps","pt-PT","rm","sco","se","si","so","son","sq","sv","sw","ta","te","tk","ur","yo"],nr:[1,2],fc:2},{lngs:["ay","bo","cgg","fa","ht","id","ja","jbo","ka","km","ko","ky","lo","ms","sah","su","th","tt","ug","vi","wo","zh"],nr:[1],fc:3},{lngs:["be","bs","cnr","dz","hr","ru","sr","uk"],nr:[1,2,5],fc:4},{lngs:["ar"],nr:[0,1,2,3,11,100],fc:5},{lngs:["cs","sk"],nr:[1,2,5],fc:6},{lngs:["csb","pl"],nr:[1,2,5],fc:7},{lngs:["cy"],nr:[1,2,3,8],fc:8},{lngs:["fr"],nr:[1,2],fc:9},{lngs:["ga"],nr:[1,2,3,7,11],fc:10},{lngs:["gd"],nr:[1,2,3,20],fc:11},{lngs:["is"],nr:[1,2],fc:12},{lngs:["jv"],nr:[0,1],fc:13},{lngs:["kw"],nr:[1,2,3,4],fc:14},{lngs:["lt"],nr:[1,2,10],fc:15},{lngs:["lv"],nr:[1,2,0],fc:16},{lngs:["mk"],nr:[1,2],fc:17},{lngs:["mnk"],nr:[0,1,2],fc:18},{lngs:["mt"],nr:[1,2,11,20],fc:19},{lngs:["or"],nr:[2,1],fc:2},{lngs:["ro"],nr:[1,2,20],fc:20},{lngs:["sl"],nr:[5,1,2,3],fc:21},{lngs:["he","iw"],nr:[1,2,20,21],fc:22}],_rulesPluralsTypes={1:function(n){return+(n>1)},2:function(n){return+(n!=1)},3:function(n){return 0},4:function(n){return n%10==1&&n%100!=11?0:n%10>=2&&n%10<=4&&(n%100<10||n%100>=20)?1:2},5:function(n){return n==0?0:n==1?1:n==2?2:n%100>=3&&n%100<=10?3:n%100>=11?4:5},6:function(n){return n==1?0:n>=2&&n<=4?1:2},7:function(n){return n==1?0:n%10>=2&&n%10<=4&&(n%100<10||n%100>=20)?1:2},8:function(n){return n==1?0:n==2?1:n!=8&&n!=11?2:3},9:function(n){return+(n>=2)},10:function(n){return n==1?0:n==2?1:n<7?2:n<11?3:4},11:function(n){return n==1||n==11?0:n==2||n==12?1:n>2&&n<20?2:3},12:function(n){return+(n%10!=1||n%100==11)},13:function(n){return+(n!==0)},14:function(n){return n==1?0:n==2?1:n==3?2:3},15:function(n){return n%10==1&&n%100!=11?0:n%10>=2&&(n%100<10||n%100>=20)?1:2},16:function(n){return n%10==1&&n%100!=11?0:n!==0?1:2},17:function(n){return n==1||n%10==1&&n%100!=11?0:1},18:function(n){return n==0?0:n==1?1:2},19:function(n){return n==1?0:n==0||n%100>1&&n%100<11?1:n%100>10&&n%100<20?2:3},20:function(n){return n==1?0:n==0||n%100>0&&n%100<20?1:2},21:function(n){return n%100==1?1:n%100==2?2:n%100==3||n%100==4?3:0},22:function(n){return n==1?0:n==2?1:(n<0||n>10)&&n%10==0?2:3}};const nonIntlVersions=["v1","v2","v3"],intlVersions=["v4"],suffixesOrder={zero:0,one:1,two:2,few:3,many:4,other:5};function createRules(){const n={};return sets.forEach(t=>{t.lngs.forEach(e=>{n[e]={numbers:t.nr,plurals:_rulesPluralsTypes[t.fc]}})}),n}class PluralResolver{constructor(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.languageUtils=t,this.options=e,this.logger=baseLogger.create("pluralResolver"),(!this.options.compatibilityJSON||intlVersions.includes(this.options.compatibilityJSON))&&(typeof Intl>"u"||!Intl.PluralRules)&&(this.options.compatibilityJSON="v3",this.logger.error("Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.")),this.rules=createRules()}addRule(t,e){this.rules[t]=e}getRule(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(this.shouldUseIntlApi())try{return new Intl.PluralRules(getCleanedCode(t),{type:e.ordinal?"ordinal":"cardinal"})}catch{return}return this.rules[t]||this.rules[this.languageUtils.getLanguagePartFromCode(t)]}needsPlural(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const i=this.getRule(t,e);return this.shouldUseIntlApi()?i&&i.resolvedOptions().pluralCategories.length>1:i&&i.numbers.length>1}getPluralFormsOfKey(t,e){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.getSuffixes(t,i).map(r=>`${e}${r}`)}getSuffixes(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const i=this.getRule(t,e);return i?this.shouldUseIntlApi()?i.resolvedOptions().pluralCategories.sort((r,a)=>suffixesOrder[r]-suffixesOrder[a]).map(r=>`${this.options.prepend}${e.ordinal?`ordinal${this.options.prepend}`:""}${r}`):i.numbers.map(r=>this.getSuffix(t,r,e)):[]}getSuffix(t,e){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const r=this.getRule(t,i);return r?this.shouldUseIntlApi()?`${this.options.prepend}${i.ordinal?`ordinal${this.options.prepend}`:""}${r.select(e)}`:this.getSuffixRetroCompatible(r,e):(this.logger.warn(`no plural rule found for: ${t}`),"")}getSuffixRetroCompatible(t,e){const i=t.noAbs?t.plurals(e):t.plurals(Math.abs(e));let r=t.numbers[i];this.options.simplifyPluralSuffix&&t.numbers.length===2&&t.numbers[0]===1&&(r===2?r="plural":r===1&&(r=""));const a=()=>this.options.prepend&&r.toString()?this.options.prepend+r.toString():r.toString();return this.options.compatibilityJSON==="v1"?r===1?"":typeof r=="number"?`_plural_${r.toString()}`:a():this.options.compatibilityJSON==="v2"||this.options.simplifyPluralSuffix&&t.numbers.length===2&&t.numbers[0]===1?a():this.options.prepend&&i.toString()?this.options.prepend+i.toString():i.toString()}shouldUseIntlApi(){return!nonIntlVersions.includes(this.options.compatibilityJSON)}}function deepFindWithDefaults(n,t,e){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:".",r=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,a=getPathWithDefaults(n,t,e);return!a&&r&&typeof e=="string"&&(a=deepFind(n,e,i),a===void 0&&(a=deepFind(t,e,i))),a}class Interpolator{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=baseLogger.create("interpolator"),this.options=t,this.format=t.interpolation&&t.interpolation.format||(e=>e),this.init(t)}init(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};t.interpolation||(t.interpolation={escapeValue:!0});const e=t.interpolation;this.escape=e.escape!==void 0?e.escape:escape$1,this.escapeValue=e.escapeValue!==void 0?e.escapeValue:!0,this.useRawValueToEscape=e.useRawValueToEscape!==void 0?e.useRawValueToEscape:!1,this.prefix=e.prefix?regexEscape(e.prefix):e.prefixEscaped||"{{",this.suffix=e.suffix?regexEscape(e.suffix):e.suffixEscaped||"}}",this.formatSeparator=e.formatSeparator?e.formatSeparator:e.formatSeparator||",",this.unescapePrefix=e.unescapeSuffix?"":e.unescapePrefix||"-",this.unescapeSuffix=this.unescapePrefix?"":e.unescapeSuffix||"",this.nestingPrefix=e.nestingPrefix?regexEscape(e.nestingPrefix):e.nestingPrefixEscaped||regexEscape("$t("),this.nestingSuffix=e.nestingSuffix?regexEscape(e.nestingSuffix):e.nestingSuffixEscaped||regexEscape(")"),this.nestingOptionsSeparator=e.nestingOptionsSeparator?e.nestingOptionsSeparator:e.nestingOptionsSeparator||",",this.maxReplaces=e.maxReplaces?e.maxReplaces:1e3,this.alwaysFormat=e.alwaysFormat!==void 0?e.alwaysFormat:!1,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){const t=`${this.prefix}(.+?)${this.suffix}`;this.regexp=new RegExp(t,"g");const e=`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`;this.regexpUnescape=new RegExp(e,"g");const i=`${this.nestingPrefix}(.+?)${this.nestingSuffix}`;this.nestingRegexp=new RegExp(i,"g")}interpolate(t,e,i,r){let a,o,l;const u=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{};function d(w){return w.replace(/\$/g,"$$$$")}const m=w=>{if(w.indexOf(this.formatSeparator)<0){const S=deepFindWithDefaults(e,u,w,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(S,void 0,i,{...r,...e,interpolationkey:w}):S}const v=w.split(this.formatSeparator),E=v.shift().trim(),x=v.join(this.formatSeparator).trim();return this.format(deepFindWithDefaults(e,u,E,this.options.keySeparator,this.options.ignoreJSONStructure),x,i,{...r,...e,interpolationkey:E})};this.resetRegExp();const p=r&&r.missingInterpolationHandler||this.options.missingInterpolationHandler,_=r&&r.interpolation&&r.interpolation.skipOnVariables!==void 0?r.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:w=>d(w)},{regex:this.regexp,safeValue:w=>this.escapeValue?d(this.escape(w)):d(w)}].forEach(w=>{for(l=0;a=w.regex.exec(t);){const v=a[1].trim();if(o=m(v),o===void 0)if(typeof p=="function"){const x=p(t,a,r);o=typeof x=="string"?x:""}else if(r&&Object.prototype.hasOwnProperty.call(r,v))o="";else if(_){o=a[0];continue}else this.logger.warn(`missed to pass in variable ${v} for interpolating ${t}`),o="";else typeof o!="string"&&!this.useRawValueToEscape&&(o=makeString(o));const E=w.safeValue(o);if(t=t.replace(a[0],E),_?(w.regex.lastIndex+=o.length,w.regex.lastIndex-=a[0].length):w.regex.lastIndex=0,l++,l>=this.maxReplaces)break}}),t}nest(t,e){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},r,a,o;function l(u,d){const m=this.nestingOptionsSeparator;if(u.indexOf(m)<0)return u;const p=u.split(new RegExp(`${m}[ ]*{`));let _=`{${p[1]}`;u=p[0],_=this.interpolate(_,o);const y=_.match(/'/g),w=_.match(/"/g);(y&&y.length%2===0&&!w||w.length%2!==0)&&(_=_.replace(/'/g,'"'));try{o=JSON.parse(_),d&&(o={...d,...o})}catch(v){return this.logger.warn(`failed parsing options string in nesting for key ${u}`,v),`${u}${m}${_}`}return delete o.defaultValue,u}for(;r=this.nestingRegexp.exec(t);){let u=[];o={...i},o=o.replace&&typeof o.replace!="string"?o.replace:o,o.applyPostProcessor=!1,delete o.defaultValue;let d=!1;if(r[0].indexOf(this.formatSeparator)!==-1&&!/{.*}/.test(r[1])){const m=r[1].split(this.formatSeparator).map(p=>p.trim());r[1]=m.shift(),u=m,d=!0}if(a=e(l.call(this,r[1].trim(),o),o),a&&r[0]===t&&typeof a!="string")return a;typeof a!="string"&&(a=makeString(a)),a||(this.logger.warn(`missed to resolve ${r[1]} for nesting ${t}`),a=""),d&&(a=u.reduce((m,p)=>this.format(m,p,i.lng,{...i,interpolationkey:r[1].trim()}),a.trim())),t=t.replace(r[0],a),this.regexp.lastIndex=0}return t}}function parseFormatStr(n){let t=n.toLowerCase().trim();const e={};if(n.indexOf("(")>-1){const i=n.split("(");t=i[0].toLowerCase().trim();const r=i[1].substring(0,i[1].length-1);t==="currency"&&r.indexOf(":")<0?e.currency||(e.currency=r.trim()):t==="relativetime"&&r.indexOf(":")<0?e.range||(e.range=r.trim()):r.split(";").forEach(o=>{if(!o)return;const[l,...u]=o.split(":"),d=u.join(":").trim().replace(/^'+|'+$/g,"");e[l.trim()]||(e[l.trim()]=d),d==="false"&&(e[l.trim()]=!1),d==="true"&&(e[l.trim()]=!0),isNaN(d)||(e[l.trim()]=parseInt(d,10))})}return{formatName:t,formatOptions:e}}function createCachedFormatter(n){const t={};return function(i,r,a){const o=r+JSON.stringify(a);let l=t[o];return l||(l=n(getCleanedCode(r),a),t[o]=l),l(i)}}class Formatter{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=baseLogger.create("formatter"),this.options=t,this.formats={number:createCachedFormatter((e,i)=>{const r=new Intl.NumberFormat(e,{...i});return a=>r.format(a)}),currency:createCachedFormatter((e,i)=>{const r=new Intl.NumberFormat(e,{...i,style:"currency"});return a=>r.format(a)}),datetime:createCachedFormatter((e,i)=>{const r=new Intl.DateTimeFormat(e,{...i});return a=>r.format(a)}),relativetime:createCachedFormatter((e,i)=>{const r=new Intl.RelativeTimeFormat(e,{...i});return a=>r.format(a,i.range||"day")}),list:createCachedFormatter((e,i)=>{const r=new Intl.ListFormat(e,{...i});return a=>r.format(a)})},this.init(t)}init(t){const i=(arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}}).interpolation;this.formatSeparator=i.formatSeparator?i.formatSeparator:i.formatSeparator||","}add(t,e){this.formats[t.toLowerCase().trim()]=e}addCached(t,e){this.formats[t.toLowerCase().trim()]=createCachedFormatter(e)}format(t,e,i){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return e.split(this.formatSeparator).reduce((l,u)=>{const{formatName:d,formatOptions:m}=parseFormatStr(u);if(this.formats[d]){let p=l;try{const _=r&&r.formatParams&&r.formatParams[r.interpolationkey]||{},y=_.locale||_.lng||r.locale||r.lng||i;p=this.formats[d](l,y,{...m,...r,..._})}catch(_){this.logger.warn(_)}return p}else this.logger.warn(`there was no format function for ${d}`);return l},t)}}function removePending(n,t){n.pending[t]!==void 0&&(delete n.pending[t],n.pendingCount--)}class Connector extends EventEmitter{constructor(t,e,i){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};super(),this.backend=t,this.store=e,this.services=i,this.languageUtils=i.languageUtils,this.options=r,this.logger=baseLogger.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=r.maxParallelReads||10,this.readingCalls=0,this.maxRetries=r.maxRetries>=0?r.maxRetries:5,this.retryTimeout=r.retryTimeout>=1?r.retryTimeout:350,this.state={},this.queue=[],this.backend&&this.backend.init&&this.backend.init(i,r.backend,r)}queueLoad(t,e,i,r){const a={},o={},l={},u={};return t.forEach(d=>{let m=!0;e.forEach(p=>{const _=`${d}|${p}`;!i.reload&&this.store.hasResourceBundle(d,p)?this.state[_]=2:this.state[_]<0||(this.state[_]===1?o[_]===void 0&&(o[_]=!0):(this.state[_]=1,m=!1,o[_]===void 0&&(o[_]=!0),a[_]===void 0&&(a[_]=!0),u[p]===void 0&&(u[p]=!0)))}),m||(l[d]=!0)}),(Object.keys(a).length||Object.keys(o).length)&&this.queue.push({pending:o,pendingCount:Object.keys(o).length,loaded:{},errors:[],callback:r}),{toLoad:Object.keys(a),pending:Object.keys(o),toLoadLanguages:Object.keys(l),toLoadNamespaces:Object.keys(u)}}loaded(t,e,i){const r=t.split("|"),a=r[0],o=r[1];e&&this.emit("failedLoading",a,o,e),i&&this.store.addResourceBundle(a,o,i),this.state[t]=e?-1:2;const l={};this.queue.forEach(u=>{pushPath(u.loaded,[a],o),removePending(u,t),e&&u.errors.push(e),u.pendingCount===0&&!u.done&&(Object.keys(u.loaded).forEach(d=>{l[d]||(l[d]={});const m=u.loaded[d];m.length&&m.forEach(p=>{l[d][p]===void 0&&(l[d][p]=!0)})}),u.done=!0,u.errors.length?u.callback(u.errors):u.callback())}),this.emit("loaded",l),this.queue=this.queue.filter(u=>!u.done)}read(t,e,i){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:this.retryTimeout,o=arguments.length>5?arguments[5]:void 0;if(!t.length)return o(null,{});if(this.readingCalls>=this.maxParallelReads){this.waitingReads.push({lng:t,ns:e,fcName:i,tried:r,wait:a,callback:o});return}this.readingCalls++;const l=(d,m)=>{if(this.readingCalls--,this.waitingReads.length>0){const p=this.waitingReads.shift();this.read(p.lng,p.ns,p.fcName,p.tried,p.wait,p.callback)}if(d&&m&&r{this.read.call(this,t,e,i,r+1,a*2,o)},a);return}o(d,m)},u=this.backend[i].bind(this.backend);if(u.length===2){try{const d=u(t,e);d&&typeof d.then=="function"?d.then(m=>l(null,m)).catch(l):l(null,d)}catch(d){l(d)}return}return u(t,e,l)}prepareLoading(t,e){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},r=arguments.length>3?arguments[3]:void 0;if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),r&&r();typeof t=="string"&&(t=this.languageUtils.toResolveHierarchy(t)),typeof e=="string"&&(e=[e]);const a=this.queueLoad(t,e,i,r);if(!a.toLoad.length)return a.pending.length||r(),null;a.toLoad.forEach(o=>{this.loadOne(o)})}load(t,e,i){this.prepareLoading(t,e,{},i)}reload(t,e,i){this.prepareLoading(t,e,{reload:!0},i)}loadOne(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";const i=t.split("|"),r=i[0],a=i[1];this.read(r,a,"read",void 0,void 0,(o,l)=>{o&&this.logger.warn(`${e}loading namespace ${a} for language ${r} failed`,o),!o&&l&&this.logger.log(`${e}loaded namespace ${a} for language ${r}`,l),this.loaded(t,o,l)})}saveMissing(t,e,i,r,a){let o=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{},l=arguments.length>6&&arguments[6]!==void 0?arguments[6]:()=>{};if(this.services.utils&&this.services.utils.hasLoadedNamespace&&!this.services.utils.hasLoadedNamespace(e)){this.logger.warn(`did not save key "${i}" as the namespace "${e}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");return}if(!(i==null||i==="")){if(this.backend&&this.backend.create){const u={...o,isUpdate:a},d=this.backend.create.bind(this.backend);if(d.length<6)try{let m;d.length===5?m=d(t,e,i,r,u):m=d(t,e,i,r),m&&typeof m.then=="function"?m.then(p=>l(null,p)).catch(l):l(null,m)}catch(m){l(m)}else d(t,e,i,r,l,u)}!t||!t[0]||this.store.addResource(t[0],e,i,r)}}}function get(){return{debug:!1,initImmediate:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:function(t){let e={};if(typeof t[1]=="object"&&(e=t[1]),typeof t[1]=="string"&&(e.defaultValue=t[1]),typeof t[2]=="string"&&(e.tDescription=t[2]),typeof t[2]=="object"||typeof t[3]=="object"){const i=t[3]||t[2];Object.keys(i).forEach(r=>{e[r]=i[r]})}return e},interpolation:{escapeValue:!0,format:n=>n,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0}}}function transformOptions(n){return typeof n.ns=="string"&&(n.ns=[n.ns]),typeof n.fallbackLng=="string"&&(n.fallbackLng=[n.fallbackLng]),typeof n.fallbackNS=="string"&&(n.fallbackNS=[n.fallbackNS]),n.supportedLngs&&n.supportedLngs.indexOf("cimode")<0&&(n.supportedLngs=n.supportedLngs.concat(["cimode"])),n}function noop$1(){}function bindMemberFunctions(n){Object.getOwnPropertyNames(Object.getPrototypeOf(n)).forEach(e=>{typeof n[e]=="function"&&(n[e]=n[e].bind(n))})}class I18n extends EventEmitter{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},e=arguments.length>1?arguments[1]:void 0;if(super(),this.options=transformOptions(t),this.services={},this.logger=baseLogger,this.modules={external:[]},bindMemberFunctions(this),e&&!this.isInitialized&&!t.isClone){if(!this.options.initImmediate)return this.init(t,e),this;setTimeout(()=>{this.init(t,e)},0)}}init(){var t=this;let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},i=arguments.length>1?arguments[1]:void 0;typeof e=="function"&&(i=e,e={}),!e.defaultNS&&e.defaultNS!==!1&&e.ns&&(typeof e.ns=="string"?e.defaultNS=e.ns:e.ns.indexOf("translation")<0&&(e.defaultNS=e.ns[0]));const r=get();this.options={...r,...this.options,...transformOptions(e)},this.options.compatibilityAPI!=="v1"&&(this.options.interpolation={...r.interpolation,...this.options.interpolation}),e.keySeparator!==void 0&&(this.options.userDefinedKeySeparator=e.keySeparator),e.nsSeparator!==void 0&&(this.options.userDefinedNsSeparator=e.nsSeparator);function a(m){return m?typeof m=="function"?new m:m:null}if(!this.options.isClone){this.modules.logger?baseLogger.init(a(this.modules.logger),this.options):baseLogger.init(null,this.options);let m;this.modules.formatter?m=this.modules.formatter:typeof Intl<"u"&&(m=Formatter);const p=new LanguageUtil(this.options);this.store=new ResourceStore(this.options.resources,this.options);const _=this.services;_.logger=baseLogger,_.resourceStore=this.store,_.languageUtils=p,_.pluralResolver=new PluralResolver(p,{prepend:this.options.pluralSeparator,compatibilityJSON:this.options.compatibilityJSON,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),m&&(!this.options.interpolation.format||this.options.interpolation.format===r.interpolation.format)&&(_.formatter=a(m),_.formatter.init(_,this.options),this.options.interpolation.format=_.formatter.format.bind(_.formatter)),_.interpolator=new Interpolator(this.options),_.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},_.backendConnector=new Connector(a(this.modules.backend),_.resourceStore,_,this.options),_.backendConnector.on("*",function(y){for(var w=arguments.length,v=new Array(w>1?w-1:0),E=1;E1?w-1:0),E=1;E{y.init&&y.init(this)})}if(this.format=this.options.interpolation.format,i||(i=noop$1),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){const m=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);m.length>0&&m[0]!=="dev"&&(this.options.lng=m[0])}!this.services.languageDetector&&!this.options.lng&&this.logger.warn("init: no languageDetector is used and no lng is defined"),["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach(m=>{this[m]=function(){return t.store[m](...arguments)}}),["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach(m=>{this[m]=function(){return t.store[m](...arguments),t}});const u=defer(),d=()=>{const m=(p,_)=>{this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn("init: i18next is already initialized. You should call init just once!"),this.isInitialized=!0,this.options.isClone||this.logger.log("initialized",this.options),this.emit("initialized",this.options),u.resolve(_),i(p,_)};if(this.languages&&this.options.compatibilityAPI!=="v1"&&!this.isInitialized)return m(null,this.t.bind(this));this.changeLanguage(this.options.lng,m)};return this.options.resources||!this.options.initImmediate?d():setTimeout(d,0),u}loadResources(t){let i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:noop$1;const r=typeof t=="string"?t:this.language;if(typeof t=="function"&&(i=t),!this.options.resources||this.options.partialBundledLanguages){if(r&&r.toLowerCase()==="cimode"&&(!this.options.preload||this.options.preload.length===0))return i();const a=[],o=l=>{if(!l||l==="cimode")return;this.services.languageUtils.toResolveHierarchy(l).forEach(d=>{d!=="cimode"&&a.indexOf(d)<0&&a.push(d)})};r?o(r):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(u=>o(u)),this.options.preload&&this.options.preload.forEach(l=>o(l)),this.services.backendConnector.load(a,this.options.ns,l=>{!l&&!this.resolvedLanguage&&this.language&&this.setResolvedLanguage(this.language),i(l)})}else i(null)}reloadResources(t,e,i){const r=defer();return t||(t=this.languages),e||(e=this.options.ns),i||(i=noop$1),this.services.backendConnector.reload(t,e,a=>{r.resolve(),i(a)}),r}use(t){if(!t)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!t.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return t.type==="backend"&&(this.modules.backend=t),(t.type==="logger"||t.log&&t.warn&&t.error)&&(this.modules.logger=t),t.type==="languageDetector"&&(this.modules.languageDetector=t),t.type==="i18nFormat"&&(this.modules.i18nFormat=t),t.type==="postProcessor"&&postProcessor.addPostProcessor(t),t.type==="formatter"&&(this.modules.formatter=t),t.type==="3rdParty"&&this.modules.external.push(t),this}setResolvedLanguage(t){if(!(!t||!this.languages)&&!(["cimode","dev"].indexOf(t)>-1))for(let e=0;e-1)&&this.store.hasLanguageSomeTranslations(i)){this.resolvedLanguage=i;break}}}changeLanguage(t,e){var i=this;this.isLanguageChangingTo=t;const r=defer();this.emit("languageChanging",t);const a=u=>{this.language=u,this.languages=this.services.languageUtils.toResolveHierarchy(u),this.resolvedLanguage=void 0,this.setResolvedLanguage(u)},o=(u,d)=>{d?(a(d),this.translator.changeLanguage(d),this.isLanguageChangingTo=void 0,this.emit("languageChanged",d),this.logger.log("languageChanged",d)):this.isLanguageChangingTo=void 0,r.resolve(function(){return i.t(...arguments)}),e&&e(u,function(){return i.t(...arguments)})},l=u=>{!t&&!u&&this.services.languageDetector&&(u=[]);const d=typeof u=="string"?u:this.services.languageUtils.getBestMatchFromCodes(u);d&&(this.language||a(d),this.translator.language||this.translator.changeLanguage(d),this.services.languageDetector&&this.services.languageDetector.cacheUserLanguage&&this.services.languageDetector.cacheUserLanguage(d)),this.loadResources(d,m=>{o(m,d)})};return!t&&this.services.languageDetector&&!this.services.languageDetector.async?l(this.services.languageDetector.detect()):!t&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect.length===0?this.services.languageDetector.detect().then(l):this.services.languageDetector.detect(l):l(t),r}getFixedT(t,e,i){var r=this;const a=function(o,l){let u;if(typeof l!="object"){for(var d=arguments.length,m=new Array(d>2?d-2:0),p=2;p`${u.keyPrefix}${_}${w}`):y=u.keyPrefix?`${u.keyPrefix}${_}${o}`:o,r.t(y,u)};return typeof t=="string"?a.lng=t:a.lngs=t,a.ns=e,a.keyPrefix=i,a}t(){return this.translator&&this.translator.translate(...arguments)}exists(){return this.translator&&this.translator.exists(...arguments)}setDefaultNamespace(t){this.options.defaultNS=t}hasLoadedNamespace(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;const i=e.lng||this.resolvedLanguage||this.languages[0],r=this.options?this.options.fallbackLng:!1,a=this.languages[this.languages.length-1];if(i.toLowerCase()==="cimode")return!0;const o=(l,u)=>{const d=this.services.backendConnector.state[`${l}|${u}`];return d===-1||d===2};if(e.precheck){const l=e.precheck(this,o);if(l!==void 0)return l}return!!(this.hasResourceBundle(i,t)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||o(i,t)&&(!r||o(a,t)))}loadNamespaces(t,e){const i=defer();return this.options.ns?(typeof t=="string"&&(t=[t]),t.forEach(r=>{this.options.ns.indexOf(r)<0&&this.options.ns.push(r)}),this.loadResources(r=>{i.resolve(),e&&e(r)}),i):(e&&e(),Promise.resolve())}loadLanguages(t,e){const i=defer();typeof t=="string"&&(t=[t]);const r=this.options.preload||[],a=t.filter(o=>r.indexOf(o)<0);return a.length?(this.options.preload=r.concat(a),this.loadResources(o=>{i.resolve(),e&&e(o)}),i):(e&&e(),Promise.resolve())}dir(t){if(t||(t=this.resolvedLanguage||(this.languages&&this.languages.length>0?this.languages[0]:this.language)),!t)return"rtl";const e=["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"],i=this.services&&this.services.languageUtils||new LanguageUtil(get());return e.indexOf(i.getLanguagePartFromCode(t))>-1||t.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},e=arguments.length>1?arguments[1]:void 0;return new I18n(t,e)}cloneInstance(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:noop$1;const i=t.forkResourceStore;i&&delete t.forkResourceStore;const r={...this.options,...t,isClone:!0},a=new I18n(r);return(t.debug!==void 0||t.prefix!==void 0)&&(a.logger=a.logger.clone(t)),["store","services","language"].forEach(l=>{a[l]=this[l]}),a.services={...this.services},a.services.utils={hasLoadedNamespace:a.hasLoadedNamespace.bind(a)},i&&(a.store=new ResourceStore(this.store.data,r),a.services.resourceStore=a.store),a.translator=new Translator(a.services,r),a.translator.on("*",function(l){for(var u=arguments.length,d=new Array(u>1?u-1:0),m=1;m1&&arguments[1]!==void 0?arguments[1]:{},i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};_classCallCheck$1(this,n),this.backends=[],this.type="backend",this.allOptions=i,this.init(t,e)}return _createClass$1(n,[{key:"init",value:function(e){var i=this,r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};this.services=e,this.options=defaults$2(r,this.options||{},getDefaults$2()),this.allOptions=a,this.options.backends&&this.options.backends.forEach(function(o,l){i.backends[l]=i.backends[l]||createClassOnDemand(o),i.backends[l].init(e,i.options.backendOptions&&i.options.backendOptions[l]||{},a)}),this.services&&this.options.reloadInterval&&setInterval(function(){return i.reload()},this.options.reloadInterval)}},{key:"read",value:function(e,i,r){var a=this,o=this.backends.length,l=function d(m){if(m>=o)return r(new Error("non of the backend loaded data",!0));var p=m===o-1,_=a.options.handleEmptyResourcesAsFailed&&!p?0:-1,y=a.backends[m];y.read?handleCorrectReadFunction(y,e,i,function(w,v,E){if(!w&&v&&Object.keys(v).length>_){if(r(null,v,m),u(m-1,v),y.save&&a.options.cacheHitMode&&["refresh","refreshAndUpdateStore"].indexOf(a.options.cacheHitMode)>-1){if(E&&a.options.refreshExpirationTime&&E+a.options.refreshExpirationTime>Date.now())return;var x=a.backends[m+1];x&&x.read&&handleCorrectReadFunction(x,e,i,function(S,M){S||M&&(Object.keys(M).length<=_||(u(m,M),a.options.cacheHitMode==="refreshAndUpdateStore"&&a.services&&a.services.resourceStore&&a.services.resourceStore.addResourceBundle(e,i,M)))})}}else d(m+1)}):d(m+1)},u=function d(m,p){if(!(m<0)){var _=a.backends[m];_.save&&_.save(e,i,p),d(m-1,p)}};l(0)}},{key:"create",value:function(e,i,r,a){var o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:function(){},l=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{};this.backends.forEach(function(u){if(u.create){var d=u.create.bind(u);if(d.length<6){try{var m;d.length===5?m=d(e,i,r,a,l):m=d(e,i,r,a),m&&typeof m.then=="function"?m.then(function(p){return o(null,p)}).catch(o):o(null,m)}catch(p){o(p)}return}d(e,i,r,a,o,l)}})}},{key:"reload",value:function(){var e=this,i=this.services,r=i.backendConnector,a=i.languageUtils,o=i.logger,l=r.language;if(!(l&&l.toLowerCase()==="cimode")){var u=[],d=function(p){var _=a.toResolveHierarchy(p);_.forEach(function(y){u.indexOf(y)<0&&u.push(y)})};d(l),this.allOptions.preload&&this.allOptions.preload.forEach(function(m){return d(m)}),u.forEach(function(m){e.allOptions.ns.forEach(function(p){r.read(m,p,"read",null,null,function(_,y){_&&o.warn("loading namespace ".concat(p," for language ").concat(m," failed"),_),!_&&y&&o.log("loaded namespace ".concat(p," for language ").concat(m),y),r.loaded("".concat(m,"|").concat(p),_,y)})})})}}}]),n}();Backend$1.type="backend";function _typeof$2(n){"@babel/helpers - typeof";return _typeof$2=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},_typeof$2(n)}var arr=[],each$1=arr.forEach,slice=arr.slice;function defaults$1(n){return each$1.call(slice.call(arguments,1),function(t){if(t)for(var e in t)n[e]===void 0&&(n[e]=t[e])}),n}function hasXMLHttpRequest(){return typeof XMLHttpRequest=="function"||(typeof XMLHttpRequest>"u"?"undefined":_typeof$2(XMLHttpRequest))==="object"}function isPromise(n){return!!n&&typeof n.then=="function"}function makePromise(n){return isPromise(n)?n:Promise.resolve(n)}function commonjsRequire(n){throw new Error('Could not dynamically require "'+n+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var getFetch$1={exports:{}},browserPonyfill={exports:{}},hasRequiredBrowserPonyfill;function requireBrowserPonyfill(){return hasRequiredBrowserPonyfill||(hasRequiredBrowserPonyfill=1,function(n,t){var e=typeof globalThis<"u"&&globalThis||typeof self<"u"&&self||typeof commonjsGlobal<"u"&&commonjsGlobal,i=function(){function a(){this.fetch=!1,this.DOMException=e.DOMException}return a.prototype=e,new a}();(function(a){(function(o){var l=typeof a<"u"&&a||typeof self<"u"&&self||typeof l<"u"&&l,u={searchParams:"URLSearchParams"in l,iterable:"Symbol"in l&&"iterator"in Symbol,blob:"FileReader"in l&&"Blob"in l&&function(){try{return new Blob,!0}catch{return!1}}(),formData:"FormData"in l,arrayBuffer:"ArrayBuffer"in l};function d($){return $&&DataView.prototype.isPrototypeOf($)}if(u.arrayBuffer)var m=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],p=ArrayBuffer.isView||function($){return $&&m.indexOf(Object.prototype.toString.call($))>-1};function _($){if(typeof $!="string"&&($=String($)),/[^a-z0-9\-#$%&'*+.^_`|~!]/i.test($)||$==="")throw new TypeError('Invalid character in header field name: "'+$+'"');return $.toLowerCase()}function y($){return typeof $!="string"&&($=String($)),$}function w($){var N={next:function(){var V=$.shift();return{done:V===void 0,value:V}}};return u.iterable&&(N[Symbol.iterator]=function(){return N}),N}function v($){this.map={},$ instanceof v?$.forEach(function(N,V){this.append(V,N)},this):Array.isArray($)?$.forEach(function(N){this.append(N[0],N[1])},this):$&&Object.getOwnPropertyNames($).forEach(function(N){this.append(N,$[N])},this)}v.prototype.append=function($,N){$=_($),N=y(N);var V=this.map[$];this.map[$]=V?V+", "+N:N},v.prototype.delete=function($){delete this.map[_($)]},v.prototype.get=function($){return $=_($),this.has($)?this.map[$]:null},v.prototype.has=function($){return this.map.hasOwnProperty(_($))},v.prototype.set=function($,N){this.map[_($)]=y(N)},v.prototype.forEach=function($,N){for(var V in this.map)this.map.hasOwnProperty(V)&&$.call(N,this.map[V],V,this)},v.prototype.keys=function(){var $=[];return this.forEach(function(N,V){$.push(V)}),w($)},v.prototype.values=function(){var $=[];return this.forEach(function(N){$.push(N)}),w($)},v.prototype.entries=function(){var $=[];return this.forEach(function(N,V){$.push([V,N])}),w($)},u.iterable&&(v.prototype[Symbol.iterator]=v.prototype.entries);function E($){if($.bodyUsed)return Promise.reject(new TypeError("Already read"));$.bodyUsed=!0}function x($){return new Promise(function(N,V){$.onload=function(){N($.result)},$.onerror=function(){V($.error)}})}function S($){var N=new FileReader,V=x(N);return N.readAsArrayBuffer($),V}function M($){var N=new FileReader,V=x(N);return N.readAsText($),V}function k($){for(var N=new Uint8Array($),V=new Array(N.length),H=0;H-1?N:$}function W($,N){if(!(this instanceof W))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');N=N||{};var V=N.body;if($ instanceof W){if($.bodyUsed)throw new TypeError("Already read");this.url=$.url,this.credentials=$.credentials,N.headers||(this.headers=new v($.headers)),this.method=$.method,this.mode=$.mode,this.signal=$.signal,!V&&$._bodyInit!=null&&(V=$._bodyInit,$.bodyUsed=!0)}else this.url=String($);if(this.credentials=N.credentials||this.credentials||"same-origin",(N.headers||!this.headers)&&(this.headers=new v(N.headers)),this.method=R(N.method||this.method||"GET"),this.mode=N.mode||this.mode||null,this.signal=N.signal||this.signal,this.referrer=null,(this.method==="GET"||this.method==="HEAD")&&V)throw new TypeError("Body not allowed for GET or HEAD requests");if(this._initBody(V),(this.method==="GET"||this.method==="HEAD")&&(N.cache==="no-store"||N.cache==="no-cache")){var H=/([?&])_=[^&]*/;if(H.test(this.url))this.url=this.url.replace(H,"$1_="+new Date().getTime());else{var X=/\?/;this.url+=(X.test(this.url)?"&":"?")+"_="+new Date().getTime()}}}W.prototype.clone=function(){return new W(this,{body:this._bodyInit})};function K($){var N=new FormData;return $.trim().split("&").forEach(function(V){if(V){var H=V.split("="),X=H.shift().replace(/\+/g," "),B=H.join("=").replace(/\+/g," ");N.append(decodeURIComponent(X),decodeURIComponent(B))}}),N}function Y($){var N=new v,V=$.replace(/\r?\n[\t ]+/g," ");return V.split("\r").map(function(H){return H.indexOf(` +`)===0?H.substr(1,H.length):H}).forEach(function(H){var X=H.split(":"),B=X.shift().trim();if(B){var lt=X.join(":").trim();N.append(B,lt)}}),N}I.call(W.prototype);function q($,N){if(!(this instanceof q))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');N||(N={}),this.type="default",this.status=N.status===void 0?200:N.status,this.ok=this.status>=200&&this.status<300,this.statusText=N.statusText===void 0?"":""+N.statusText,this.headers=new v(N.headers),this.url=N.url||"",this._initBody($)}I.call(q.prototype),q.prototype.clone=function(){return new q(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new v(this.headers),url:this.url})},q.error=function(){var $=new q(null,{status:0,statusText:""});return $.type="error",$};var J=[301,302,303,307,308];q.redirect=function($,N){if(J.indexOf(N)===-1)throw new RangeError("Invalid status code");return new q(null,{status:N,headers:{location:$}})},o.DOMException=l.DOMException;try{new o.DOMException}catch{o.DOMException=function(N,V){this.message=N,this.name=V;var H=Error(N);this.stack=H.stack},o.DOMException.prototype=Object.create(Error.prototype),o.DOMException.prototype.constructor=o.DOMException}function nt($,N){return new Promise(function(V,H){var X=new W($,N);if(X.signal&&X.signal.aborted)return H(new o.DOMException("Aborted","AbortError"));var B=new XMLHttpRequest;function lt(){B.abort()}B.onload=function(){var st={status:B.status,statusText:B.statusText,headers:Y(B.getAllResponseHeaders()||"")};st.url="responseURL"in B?B.responseURL:st.headers.get("X-Request-URL");var rt="response"in B?B.response:B.responseText;setTimeout(function(){V(new q(rt,st))},0)},B.onerror=function(){setTimeout(function(){H(new TypeError("Network request failed"))},0)},B.ontimeout=function(){setTimeout(function(){H(new TypeError("Network request failed"))},0)},B.onabort=function(){setTimeout(function(){H(new o.DOMException("Aborted","AbortError"))},0)};function dt(st){try{return st===""&&l.location.href?l.location.href:st}catch{return st}}B.open(X.method,dt(X.url),!0),X.credentials==="include"?B.withCredentials=!0:X.credentials==="omit"&&(B.withCredentials=!1),"responseType"in B&&(u.blob?B.responseType="blob":u.arrayBuffer&&X.headers.get("Content-Type")&&X.headers.get("Content-Type").indexOf("application/octet-stream")!==-1&&(B.responseType="arraybuffer")),N&&typeof N.headers=="object"&&!(N.headers instanceof v)?Object.getOwnPropertyNames(N.headers).forEach(function(st){B.setRequestHeader(st,y(N.headers[st]))}):X.headers.forEach(function(st,rt){B.setRequestHeader(rt,st)}),X.signal&&(X.signal.addEventListener("abort",lt),B.onreadystatechange=function(){B.readyState===4&&X.signal.removeEventListener("abort",lt)}),B.send(typeof X._bodyInit>"u"?null:X._bodyInit)})}return nt.polyfill=!0,l.fetch||(l.fetch=nt,l.Headers=v,l.Request=W,l.Response=q),o.Headers=v,o.Request=W,o.Response=q,o.fetch=nt,o})({})})(i),i.fetch.ponyfill=!0,delete i.fetch.polyfill;var r=e.fetch?e:i;t=r.fetch,t.default=r.fetch,t.fetch=r.fetch,t.Headers=r.Headers,t.Request=r.Request,t.Response=r.Response,n.exports=t}(browserPonyfill,browserPonyfill.exports)),browserPonyfill.exports}(function(n,t){var e;if(typeof fetch=="function"&&(typeof commonjsGlobal<"u"&&commonjsGlobal.fetch?e=commonjsGlobal.fetch:typeof window<"u"&&window.fetch?e=window.fetch:e=fetch),typeof commonjsRequire<"u"&&(typeof window>"u"||typeof window.document>"u")){var i=e||requireBrowserPonyfill();i.default&&(i=i.default),t.default=i,n.exports=t.default}})(getFetch$1,getFetch$1.exports);var getFetchExports=getFetch$1.exports;const getFetch=getDefaultExportFromCjs(getFetchExports),fetchNode=_mergeNamespaces({__proto__:null,default:getFetch},[getFetchExports]);function _typeof$1(n){"@babel/helpers - typeof";return _typeof$1=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},_typeof$1(n)}var fetchApi;typeof fetch=="function"&&(typeof global<"u"&&global.fetch?fetchApi=global.fetch:typeof window<"u"&&window.fetch?fetchApi=window.fetch:fetchApi=fetch);var XmlHttpRequestApi;hasXMLHttpRequest()&&(typeof global<"u"&&global.XMLHttpRequest?XmlHttpRequestApi=global.XMLHttpRequest:typeof window<"u"&&window.XMLHttpRequest&&(XmlHttpRequestApi=window.XMLHttpRequest));var ActiveXObjectApi;typeof ActiveXObject=="function"&&(typeof global<"u"&&global.ActiveXObject?ActiveXObjectApi=global.ActiveXObject:typeof window<"u"&&window.ActiveXObject&&(ActiveXObjectApi=window.ActiveXObject));!fetchApi&&fetchNode&&!XmlHttpRequestApi&&!ActiveXObjectApi&&(fetchApi=getFetch||fetchNode);typeof fetchApi!="function"&&(fetchApi=void 0);var addQueryString=function n(t,e){if(e&&_typeof$1(e)==="object"){var i="";for(var r in e)i+="&"+encodeURIComponent(r)+"="+encodeURIComponent(e[r]);if(!i)return t;t=t+(t.indexOf("?")!==-1?"&":"?")+i.slice(1)}return t},fetchIt=function n(t,e,i){var r=function(o){if(!o.ok)return i(o.statusText||"Error",{status:o.status});o.text().then(function(l){i(null,{status:o.status,data:l})}).catch(i)};typeof fetch=="function"?fetch(t,e).then(r).catch(i):fetchApi(t,e).then(r).catch(i)},omitFetchOptions=!1,requestWithFetch=function n(t,e,i,r){t.queryStringParams&&(e=addQueryString(e,t.queryStringParams));var a=defaults$1({},typeof t.customHeaders=="function"?t.customHeaders():t.customHeaders);typeof window>"u"&&typeof global<"u"&&typeof global.process<"u"&&global.process.versions&&global.process.versions.node&&(a["User-Agent"]="i18next-http-backend (node/".concat(global.process.version,"; ").concat(global.process.platform," ").concat(global.process.arch,")")),i&&(a["Content-Type"]="application/json");var o=typeof t.requestOptions=="function"?t.requestOptions(i):t.requestOptions,l=defaults$1({method:i?"POST":"GET",body:i?t.stringify(i):void 0,headers:a},omitFetchOptions?{}:o);try{fetchIt(e,l,r)}catch(u){if(!o||Object.keys(o).length===0||!u.message||u.message.indexOf("not implemented")<0)return r(u);try{Object.keys(o).forEach(function(d){delete l[d]}),fetchIt(e,l,r),omitFetchOptions=!0}catch(d){r(d)}}},requestWithXmlHttpRequest=function n(t,e,i,r){i&&_typeof$1(i)==="object"&&(i=addQueryString("",i).slice(1)),t.queryStringParams&&(e=addQueryString(e,t.queryStringParams));try{var a;XmlHttpRequestApi?a=new XmlHttpRequestApi:a=new ActiveXObjectApi("MSXML2.XMLHTTP.3.0"),a.open(i?"POST":"GET",e,1),t.crossDomain||a.setRequestHeader("X-Requested-With","XMLHttpRequest"),a.withCredentials=!!t.withCredentials,i&&a.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),a.overrideMimeType&&a.overrideMimeType("application/json");var o=t.customHeaders;if(o=typeof o=="function"?o():o,o)for(var l in o)a.setRequestHeader(l,o[l]);a.onreadystatechange=function(){a.readyState>3&&r(a.status>=400?a.statusText:null,{status:a.status,data:a.responseText})},a.send(i)}catch(u){console&&console.log(u)}},request=function n(t,e,i,r){if(typeof i=="function"&&(r=i,i=void 0),r=r||function(){},fetchApi&&e.indexOf("file:")!==0)return requestWithFetch(t,e,i,r);if(hasXMLHttpRequest()||typeof ActiveXObject=="function")return requestWithXmlHttpRequest(t,e,i,r);r(new Error("No fetch and no xhr implementation found!"))};function _typeof(n){"@babel/helpers - typeof";return _typeof=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},_typeof(n)}function _classCallCheck(n,t){if(!(n instanceof t))throw new TypeError("Cannot call a class as a function")}function _defineProperties(n,t){for(var e=0;e1&&arguments[1]!==void 0?arguments[1]:{},i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};_classCallCheck(this,n),this.services=t,this.options=e,this.allOptions=i,this.type="backend",this.init(t,e,i)}return _createClass(n,[{key:"init",value:function(e){var i=this,r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};this.services=e,this.options=defaults$1(r,this.options||{},getDefaults$1()),this.allOptions=a,this.services&&this.options.reloadInterval&&setInterval(function(){return i.reload()},this.options.reloadInterval)}},{key:"readMulti",value:function(e,i,r){this._readAny(e,e,i,i,r)}},{key:"read",value:function(e,i,r){this._readAny([e],e,[i],i,r)}},{key:"_readAny",value:function(e,i,r,a,o){var l=this,u=this.options.loadPath;typeof this.options.loadPath=="function"&&(u=this.options.loadPath(e,r)),u=makePromise(u),u.then(function(d){if(!d)return o(null,{});var m=l.services.interpolator.interpolate(d,{lng:e.join("+"),ns:r.join("+")});l.loadUrl(m,o,i,a)})}},{key:"loadUrl",value:function(e,i,r,a){var o=this,l=typeof r=="string"?[r]:r,u=typeof a=="string"?[a]:a,d=this.options.parseLoadPayload(l,u);this.options.request(this.options,e,d,function(m,p){if(p&&(p.status>=500&&p.status<600||!p.status))return i("failed loading "+e+"; status code: "+p.status,!0);if(p&&p.status>=400&&p.status<500)return i("failed loading "+e+"; status code: "+p.status,!1);if(!p&&m&&m.message&&m.message.indexOf("Failed to fetch")>-1)return i("failed loading "+e+": "+m.message,!0);if(m)return i(m,!1);var _,y;try{typeof p.data=="string"?_=o.options.parse(p.data,r,a):_=p.data}catch{y="failed parsing "+e+" to json"}if(y)return i(y,!1);i(null,_)})}},{key:"create",value:function(e,i,r,a,o){var l=this;if(this.options.addPath){typeof e=="string"&&(e=[e]);var u=this.options.parsePayload(i,r,a),d=0,m=[],p=[];e.forEach(function(_){var y=l.options.addPath;typeof l.options.addPath=="function"&&(y=l.options.addPath(_,i));var w=l.services.interpolator.interpolate(y,{lng:_,ns:i});l.options.request(l.options,w,u,function(v,E){d+=1,m.push(v),p.push(E),d===e.length&&typeof o=="function"&&o(m,p)})})}}},{key:"reload",value:function(){var e=this,i=this.services,r=i.backendConnector,a=i.languageUtils,o=i.logger,l=r.language;if(!(l&&l.toLowerCase()==="cimode")){var u=[],d=function(p){var _=a.toResolveHierarchy(p);_.forEach(function(y){u.indexOf(y)<0&&u.push(y)})};d(l),this.allOptions.preload&&this.allOptions.preload.forEach(function(m){return d(m)}),u.forEach(function(m){e.allOptions.ns.forEach(function(p){r.read(m,p,"read",null,null,function(_,y){_&&o.warn("loading namespace ".concat(p," for language ").concat(m," failed"),_),!_&&y&&o.log("loaded namespace ".concat(p," for language ").concat(m),y),r.loaded("".concat(m,"|").concat(p),_,y)})})})}}}]),n}();Backend.type="backend";function _defineProperty(n,t,e){return t=toPropertyKey(t),t in n?Object.defineProperty(n,t,{value:e,enumerable:!0,configurable:!0,writable:!0}):n[t]=e,n}function ownKeys(n,t){var e=Object.keys(n);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(n);t&&(i=i.filter(function(r){return Object.getOwnPropertyDescriptor(n,r).enumerable})),e.push.apply(e,i)}return e}function _objectSpread(n){for(var t=1;t1&&arguments[1]!==void 0?arguments[1]:{};_classCallCheck$1(this,n),this.init(t,e),this.type="backend"}return _createClass$1(n,[{key:"init",value:function(e){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.services=e,this.options=_objectSpread(_objectSpread(_objectSpread({},getDefaults()),this.options),i),this.storage=new Storage(this.options)}},{key:"read",value:function(e,i,r){var a=Date.now();if(!this.storage.store)return r(null,null);var o=this.storage.getItem("".concat(this.options.prefix).concat(e,"-").concat(i));if(o){o=JSON.parse(o);var l=this.getVersion(e);if(o.i18nStamp&&o.i18nStamp+this.options.expirationTime>a&&l===o.i18nVersion){var u=o.i18nStamp;return delete o.i18nVersion,delete o.i18nStamp,r(null,o,u)}}return r(null,null)}},{key:"save",value:function(e,i,r){if(this.storage.store){r.i18nStamp=Date.now();var a=this.getVersion(e);a&&(r.i18nVersion=a),this.storage.setItem("".concat(this.options.prefix).concat(e,"-").concat(i),JSON.stringify(r))}}},{key:"getVersion",value:function(e){return this.options.versions[e]||this.options.defaultVersion}}]),n}();Cache.type="backend";const formatDistanceLocale$s={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}} години"}},formatDistance$t=(n,t,e)=>{let i;const r=formatDistanceLocale$s[n];return typeof r=="string"?i=r:t===1?i=r.one:i=r.other.replace("{{count}}",String(t)),e!=null&&e.addSuffix?e.comparison&&e.comparison>0?"след "+i:"преди "+i:i},dateFormats$u={full:"EEEE, dd MMMM yyyy",long:"dd MMMM yyyy",medium:"dd MMM yyyy",short:"dd/MM/yyyy"},timeFormats$u={full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"H:mm"},dateTimeFormats$u={any:"{{date}} {{time}}"},formatLong$u={date:buildFormatLongFn({formats:dateFormats$u,defaultWidth:"full"}),time:buildFormatLongFn({formats:timeFormats$u,defaultWidth:"full"}),dateTime:buildFormatLongFn({formats:dateTimeFormats$u,defaultWidth:"any"})},weekdays$1=["неделя","понеделник","вторник","сряда","четвъртък","петък","събота"];function lastWeek$4(n){const t=weekdays$1[n];switch(n){case 0:case 3:case 6:return"'миналата "+t+" в' p";case 1:case 2:case 4:case 5:return"'миналия "+t+" в' p"}}function thisWeek$4(n){const t=weekdays$1[n];return n===2?"'във "+t+" в' p":"'в "+t+" в' p"}function nextWeek$4(n){const t=weekdays$1[n];switch(n){case 0:case 3:case 6:return"'следващата "+t+" в' p";case 1:case 2:case 4:case 5:return"'следващия "+t+" в' p"}}const lastWeekFormatToken=(n,t,e)=>{const i=toDate(n),r=i.getDay();return isSameWeek(i,t,e)?thisWeek$4(r):lastWeek$4(r)},nextWeekFormatToken=(n,t,e)=>{const i=toDate(n),r=i.getDay();return isSameWeek(i,t,e)?thisWeek$4(r):nextWeek$4(r)},formatRelativeLocale$t={lastWeek:lastWeekFormatToken,yesterday:"'вчера в' p",today:"'днес в' p",tomorrow:"'утре в' p",nextWeek:nextWeekFormatToken,other:"P"},formatRelative$t=(n,t,e,i)=>{const r=formatRelativeLocale$t[n];return typeof r=="function"?r(t,e,i):r},eraValues$t={narrow:["пр.н.е.","н.е."],abbreviated:["преди н. е.","н. е."],wide:["преди новата ера","новата ера"]},quarterValues$t={narrow:["1","2","3","4"],abbreviated:["1-во тримес.","2-ро тримес.","3-то тримес.","4-то тримес."],wide:["1-во тримесечие","2-ро тримесечие","3-то тримесечие","4-то тримесечие"]},monthValues$t={abbreviated:["яну","фев","мар","апр","май","юни","юли","авг","сеп","окт","ное","дек"],wide:["януари","февруари","март","април","май","юни","юли","август","септември","октомври","ноември","декември"]},dayValues$t={narrow:["Н","П","В","С","Ч","П","С"],short:["нд","пн","вт","ср","чт","пт","сб"],abbreviated:["нед","пон","вто","сря","чет","пет","съб"],wide:["неделя","понеделник","вторник","сряда","четвъртък","петък","събота"]},dayPeriodValues$t={wide:{am:"преди обяд",pm:"след обяд",midnight:"в полунощ",noon:"на обяд",morning:"сутринта",afternoon:"следобед",evening:"вечерта",night:"през нощта"}};function isFeminine(n){return n==="year"||n==="week"||n==="minute"||n==="second"}function isNeuter(n){return n==="quarter"}function numberWithSuffix(n,t,e,i,r){const a=isNeuter(t)?r:isFeminine(t)?i:e;return n+"-"+a}const ordinalNumber$t=(n,t)=>{const e=Number(n),i=t==null?void 0:t.unit;if(e===0)return numberWithSuffix(0,i,"ев","ева","ево");if(e%1e3===0)return numberWithSuffix(e,i,"ен","на","но");if(e%100===0)return numberWithSuffix(e,i,"тен","тна","тно");const r=e%100;if(r>20||r<10)switch(r%10){case 1:return numberWithSuffix(e,i,"ви","ва","во");case 2:return numberWithSuffix(e,i,"ри","ра","ро");case 7:case 8:return numberWithSuffix(e,i,"ми","ма","мо")}return numberWithSuffix(e,i,"ти","та","то")},localize$t={ordinalNumber:ordinalNumber$t,era:buildLocalizeFn({values:eraValues$t,defaultWidth:"wide"}),quarter:buildLocalizeFn({values:quarterValues$t,defaultWidth:"wide",argumentCallback:n=>n-1}),month:buildLocalizeFn({values:monthValues$t,defaultWidth:"wide"}),day:buildLocalizeFn({values:dayValues$t,defaultWidth:"wide"}),dayPeriod:buildLocalizeFn({values:dayPeriodValues$t,defaultWidth:"wide"})},matchOrdinalNumberPattern$t=/^(\d+)(-?[врмт][аи]|-?т?(ен|на)|-?(ев|ева))?/i,parseOrdinalNumberPattern$t=/\d+/i,matchEraPatterns$t={narrow:/^((пр)?н\.?\s?е\.?)/i,abbreviated:/^((пр)?н\.?\s?е\.?)/i,wide:/^(преди новата ера|новата ера|нова ера)/i},parseEraPatterns$t={any:[/^п/i,/^н/i]},matchQuarterPatterns$t={narrow:/^[1234]/i,abbreviated:/^[1234](-?[врт]?o?)? тримес.?/i,wide:/^[1234](-?[врт]?о?)? тримесечие/i},parseQuarterPatterns$t={any:[/1/i,/2/i,/3/i,/4/i]},matchDayPatterns$t={narrow:/^[нпвсч]/i,short:/^(нд|пн|вт|ср|чт|пт|сб)/i,abbreviated:/^(нед|пон|вто|сря|чет|пет|съб)/i,wide:/^(неделя|понеделник|вторник|сряда|четвъртък|петък|събота)/i},parseDayPatterns$t={narrow:[/^н/i,/^п/i,/^в/i,/^с/i,/^ч/i,/^п/i,/^с/i],any:[/^н[ед]/i,/^п[он]/i,/^вт/i,/^ср/i,/^ч[ет]/i,/^п[ет]/i,/^с[ъб]/i]},matchMonthPatterns$t={abbreviated:/^(яну|фев|мар|апр|май|юни|юли|авг|сеп|окт|ное|дек)/i,wide:/^(януари|февруари|март|април|май|юни|юли|август|септември|октомври|ноември|декември)/i},parseMonthPatterns$t={any:[/^я/i,/^ф/i,/^мар/i,/^ап/i,/^май/i,/^юн/i,/^юл/i,/^ав/i,/^се/i,/^окт/i,/^но/i,/^де/i]},matchDayPeriodPatterns$t={any:/^(преди о|след о|в по|на о|през|веч|сут|следо)/i},parseDayPeriodPatterns$t={any:{am:/^преди о/i,pm:/^след о/i,midnight:/^в пол/i,noon:/^на об/i,morning:/^сут/i,afternoon:/^следо/i,evening:/^веч/i,night:/^през н/i}},match$t={ordinalNumber:buildMatchPatternFn({matchPattern:matchOrdinalNumberPattern$t,parsePattern:parseOrdinalNumberPattern$t,valueCallback:n=>parseInt(n,10)}),era:buildMatchFn({matchPatterns:matchEraPatterns$t,defaultMatchWidth:"wide",parsePatterns:parseEraPatterns$t,defaultParseWidth:"any"}),quarter:buildMatchFn({matchPatterns:matchQuarterPatterns$t,defaultMatchWidth:"wide",parsePatterns:parseQuarterPatterns$t,defaultParseWidth:"any",valueCallback:n=>n+1}),month:buildMatchFn({matchPatterns:matchMonthPatterns$t,defaultMatchWidth:"wide",parsePatterns:parseMonthPatterns$t,defaultParseWidth:"any"}),day:buildMatchFn({matchPatterns:matchDayPatterns$t,defaultMatchWidth:"wide",parsePatterns:parseDayPatterns$t,defaultParseWidth:"any"}),dayPeriod:buildMatchFn({matchPatterns:matchDayPeriodPatterns$t,defaultMatchWidth:"any",parsePatterns:parseDayPeriodPatterns$t,defaultParseWidth:"any"})},bg={code:"bg",formatDistance:formatDistance$t,formatLong:formatLong$u,formatRelative:formatRelative$t,localize:localize$t,match:match$t,options:{weekStartsOn:1,firstWeekContainsDate:1}},formatDistanceLocale$r={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"}},formatDistance$s=(n,t,e)=>{let i;const r=formatDistanceLocale$r[n];return typeof r=="string"?i=r:t===1?i=r.one:t===11&&r.eleven?i=r.eleven:i=r.other.replace("{{count}}",String(t)),e!=null&&e.addSuffix?e.comparison&&e.comparison>0?"en "+i:"fa "+i:i},dateFormats$t={full:"EEEE, d 'de' MMMM y",long:"d 'de' MMMM y",medium:"d MMM y",short:"dd/MM/y"},timeFormats$t={full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},dateTimeFormats$t={full:"{{date}} 'a les' {{time}}",long:"{{date}} 'a les' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},formatLong$t={date:buildFormatLongFn({formats:dateFormats$t,defaultWidth:"full"}),time:buildFormatLongFn({formats:timeFormats$t,defaultWidth:"full"}),dateTime:buildFormatLongFn({formats:dateTimeFormats$t,defaultWidth:"full"})},formatRelativeLocale$s={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"},formatRelativeLocalePlural$1={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"},formatRelative$s=(n,t,e,i)=>t.getHours()!==1?formatRelativeLocalePlural$1[n]:formatRelativeLocale$s[n],eraValues$s={narrow:["aC","dC"],abbreviated:["a. de C.","d. de C."],wide:["abans de Crist","després de Crist"]},quarterValues$s={narrow:["1","2","3","4"],abbreviated:["T1","T2","T3","T4"],wide:["1r trimestre","2n trimestre","3r trimestre","4t trimestre"]},monthValues$s={narrow:["GN","FB","MÇ","AB","MG","JN","JL","AG","ST","OC","NV","DS"],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"]},dayValues$s={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"]},dayPeriodValues$s={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"}},formattingDayPeriodValues$k={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"}},ordinalNumber$s=(n,t)=>{const e=Number(n),i=e%100;if(i>20||i<10)switch(i%10){case 1:return e+"r";case 2:return e+"n";case 3:return e+"r";case 4:return e+"t"}return e+"è"},localize$s={ordinalNumber:ordinalNumber$s,era:buildLocalizeFn({values:eraValues$s,defaultWidth:"wide"}),quarter:buildLocalizeFn({values:quarterValues$s,defaultWidth:"wide",argumentCallback:n=>n-1}),month:buildLocalizeFn({values:monthValues$s,defaultWidth:"wide"}),day:buildLocalizeFn({values:dayValues$s,defaultWidth:"wide"}),dayPeriod:buildLocalizeFn({values:dayPeriodValues$s,defaultWidth:"wide",formattingValues:formattingDayPeriodValues$k,defaultFormattingWidth:"wide"})},matchOrdinalNumberPattern$s=/^(\d+)(è|r|n|r|t)?/i,parseOrdinalNumberPattern$s=/\d+/i,matchEraPatterns$s={narrow:/^(aC|dC)/i,abbreviated:/^(a. de C.|d. de C.)/i,wide:/^(abans de Crist|despr[eé]s de Crist)/i},parseEraPatterns$s={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]},matchQuarterPatterns$s={narrow:/^[1234]/i,abbreviated:/^T[1234]/i,wide:/^[1234](è|r|n|r|t)? trimestre/i},parseQuarterPatterns$s={any:[/1/i,/2/i,/3/i,/4/i]},matchMonthPatterns$s={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},parseMonthPatterns$s={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]},matchDayPatterns$s={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},parseDayPatterns$s={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]},matchDayPeriodPatterns$s={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},parseDayPeriodPatterns$s={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}},match$s={ordinalNumber:buildMatchPatternFn({matchPattern:matchOrdinalNumberPattern$s,parsePattern:parseOrdinalNumberPattern$s,valueCallback:n=>parseInt(n,10)}),era:buildMatchFn({matchPatterns:matchEraPatterns$s,defaultMatchWidth:"wide",parsePatterns:parseEraPatterns$s,defaultParseWidth:"wide"}),quarter:buildMatchFn({matchPatterns:matchQuarterPatterns$s,defaultMatchWidth:"wide",parsePatterns:parseQuarterPatterns$s,defaultParseWidth:"any",valueCallback:n=>n+1}),month:buildMatchFn({matchPatterns:matchMonthPatterns$s,defaultMatchWidth:"wide",parsePatterns:parseMonthPatterns$s,defaultParseWidth:"wide"}),day:buildMatchFn({matchPatterns:matchDayPatterns$s,defaultMatchWidth:"wide",parsePatterns:parseDayPatterns$s,defaultParseWidth:"wide"}),dayPeriod:buildMatchFn({matchPatterns:matchDayPeriodPatterns$s,defaultMatchWidth:"wide",parsePatterns:parseDayPeriodPatterns$s,defaultParseWidth:"any"})},ca={code:"ca",formatDistance:formatDistance$s,formatLong:formatLong$t,formatRelative:formatRelative$s,localize:localize$s,match:match$s,options:{weekStartsOn:1,firstWeekContainsDate:4}},formatDistanceLocale$q={lessThanXSeconds:{one:{regular:"méně než sekunda",past:"před méně než sekundou",future:"za méně než 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:"sekunda",past:"před sekundou",future:"za 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ž minuta",past:"před méně než minutou",future:"za méně než 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:"minuta",past:"před minutou",future:"za 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ě hodina",past:"přibližně před hodinou",future:"přibližně za 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:"hodina",past:"před hodinou",future:"za 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:"den",past:"před dnem",future:"za 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ě týden",past:"přibližně před týdnem",future:"přibližně za 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:"týden",past:"před týdnem",future:"za 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ě měsíc",past:"přibližně před měsícem",future:"přibližně za 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:"měsíc",past:"před měsícem",future:"za 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ě rok",past:"přibližně před rokem",future:"přibližně za 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:"rok",past:"před rokem",future:"za 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ž rok",past:"před více než rokem",future:"za více než 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 rok",past:"skoro před rokem",future:"skoro za 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ů"}}},formatDistance$r=(n,t,e)=>{let i;const r=formatDistanceLocale$q[n];r.type==="other"?i=r.other:t===1?i=r.one:t>1&&t<5?i=r.few:i=r.many;const a=(e==null?void 0:e.addSuffix)===!0,o=e==null?void 0:e.comparison;let l;return a&&o===-1?l=i.past:a&&o===1?l=i.future:l=i.regular,l.replace("{{count}}",String(t))},dateFormats$s={full:"EEEE, d. MMMM yyyy",long:"d. MMMM yyyy",medium:"d. M. yyyy",short:"dd.MM.yyyy"},timeFormats$s={full:"H:mm:ss zzzz",long:"H:mm:ss z",medium:"H:mm:ss",short:"H:mm"},dateTimeFormats$s={full:"{{date}} 'v' {{time}}",long:"{{date}} 'v' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},formatLong$s={date:buildFormatLongFn({formats:dateFormats$s,defaultWidth:"full"}),time:buildFormatLongFn({formats:timeFormats$s,defaultWidth:"full"}),dateTime:buildFormatLongFn({formats:dateTimeFormats$s,defaultWidth:"full"})},accusativeWeekdays$4=["neděli","pondělí","úterý","středu","čtvrtek","pátek","sobotu"],formatRelativeLocale$r={lastWeek:"'poslední' eeee 've' p",yesterday:"'včera v' p",today:"'dnes v' p",tomorrow:"'zítra v' p",nextWeek:n=>{const t=n.getDay();return"'v "+accusativeWeekdays$4[t]+" o' p"},other:"P"},formatRelative$r=(n,t)=>{const e=formatRelativeLocale$r[n];return typeof e=="function"?e(t):e},eraValues$r={narrow:["př. n. l.","n. l."],abbreviated:["př. n. l.","n. l."],wide:["před naším letopočtem","našeho letopočtu"]},quarterValues$r={narrow:["1","2","3","4"],abbreviated:["1. čtvrtletí","2. čtvrtletí","3. čtvrtletí","4. čtvrtletí"],wide:["1. čtvrtletí","2. čtvrtletí","3. čtvrtletí","4. čtvrtletí"]},monthValues$r={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"]},formattingMonthValues$7={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"]},dayValues$r={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"]},dayPeriodValues$r={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"}},formattingDayPeriodValues$j={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"}},ordinalNumber$r=(n,t)=>Number(n)+".",localize$r={ordinalNumber:ordinalNumber$r,era:buildLocalizeFn({values:eraValues$r,defaultWidth:"wide"}),quarter:buildLocalizeFn({values:quarterValues$r,defaultWidth:"wide",argumentCallback:n=>n-1}),month:buildLocalizeFn({values:monthValues$r,defaultWidth:"wide",formattingValues:formattingMonthValues$7,defaultFormattingWidth:"wide"}),day:buildLocalizeFn({values:dayValues$r,defaultWidth:"wide"}),dayPeriod:buildLocalizeFn({values:dayPeriodValues$r,defaultWidth:"wide",formattingValues:formattingDayPeriodValues$j,defaultFormattingWidth:"wide"})},matchOrdinalNumberPattern$r=/^(\d+)\.?/i,parseOrdinalNumberPattern$r=/\d+/i,matchEraPatterns$r={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},parseEraPatterns$r={any:[/^p[řr]/i,/^(po|n)/i]},matchQuarterPatterns$r={narrow:/^[1234]/i,abbreviated:/^[1234]\. [čc]tvrtlet[íi]/i,wide:/^[1234]\. [čc]tvrtlet[íi]/i},parseQuarterPatterns$r={any:[/1/i,/2/i,/3/i,/4/i]},matchMonthPatterns$r={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},parseMonthPatterns$r={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]},matchDayPatterns$r={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},parseDayPatterns$r={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]},matchDayPeriodPatterns$r={any:/^dopoledne|dop\.?|odpoledne|odp\.?|p[ůu]lnoc|poledne|r[áa]no|odpoledne|ve[čc]er|(v )?noci?/i},parseDayPeriodPatterns$r={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}},match$r={ordinalNumber:buildMatchPatternFn({matchPattern:matchOrdinalNumberPattern$r,parsePattern:parseOrdinalNumberPattern$r,valueCallback:n=>parseInt(n,10)}),era:buildMatchFn({matchPatterns:matchEraPatterns$r,defaultMatchWidth:"wide",parsePatterns:parseEraPatterns$r,defaultParseWidth:"any"}),quarter:buildMatchFn({matchPatterns:matchQuarterPatterns$r,defaultMatchWidth:"wide",parsePatterns:parseQuarterPatterns$r,defaultParseWidth:"any",valueCallback:n=>n+1}),month:buildMatchFn({matchPatterns:matchMonthPatterns$r,defaultMatchWidth:"wide",parsePatterns:parseMonthPatterns$r,defaultParseWidth:"any"}),day:buildMatchFn({matchPatterns:matchDayPatterns$r,defaultMatchWidth:"wide",parsePatterns:parseDayPatterns$r,defaultParseWidth:"any"}),dayPeriod:buildMatchFn({matchPatterns:matchDayPeriodPatterns$r,defaultMatchWidth:"any",parsePatterns:parseDayPeriodPatterns$r,defaultParseWidth:"any"})},cs={code:"cs",formatDistance:formatDistance$r,formatLong:formatLong$s,formatRelative:formatRelative$r,localize:localize$r,match:match$r,options:{weekStartsOn:1,firstWeekContainsDate:4}},formatDistanceLocale$p={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"}},formatDistance$q=(n,t,e)=>{let i;const r=formatDistanceLocale$p[n];return typeof r=="string"?i=r:t===1?i=r.one:i=r.other.replace("{{count}}",String(t)),e!=null&&e.addSuffix?e.comparison&&e.comparison>0?"om "+i:i+" siden":i},dateFormats$r={full:"EEEE 'den' d. MMMM y",long:"d. MMMM y",medium:"d. MMM y",short:"dd/MM/y"},timeFormats$r={full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},dateTimeFormats$r={full:"{{date}} 'kl'. {{time}}",long:"{{date}} 'kl'. {{time}}",medium:"{{date}} {{time}}",short:"{{date}} {{time}}"},formatLong$r={date:buildFormatLongFn({formats:dateFormats$r,defaultWidth:"full"}),time:buildFormatLongFn({formats:timeFormats$r,defaultWidth:"full"}),dateTime:buildFormatLongFn({formats:dateTimeFormats$r,defaultWidth:"full"})},formatRelativeLocale$q={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"},formatRelative$q=(n,t,e,i)=>formatRelativeLocale$q[n],eraValues$q={narrow:["fvt","vt"],abbreviated:["f.v.t.","v.t."],wide:["før vesterlandsk tidsregning","vesterlandsk tidsregning"]},quarterValues$q={narrow:["1","2","3","4"],abbreviated:["1. kvt.","2. kvt.","3. kvt.","4. kvt."],wide:["1. kvartal","2. kvartal","3. kvartal","4. kvartal"]},monthValues$q={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"]},dayValues$q={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"]},dayPeriodValues$q={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"}},formattingDayPeriodValues$i={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"}},ordinalNumber$q=(n,t)=>Number(n)+".",localize$q={ordinalNumber:ordinalNumber$q,era:buildLocalizeFn({values:eraValues$q,defaultWidth:"wide"}),quarter:buildLocalizeFn({values:quarterValues$q,defaultWidth:"wide",argumentCallback:n=>n-1}),month:buildLocalizeFn({values:monthValues$q,defaultWidth:"wide"}),day:buildLocalizeFn({values:dayValues$q,defaultWidth:"wide"}),dayPeriod:buildLocalizeFn({values:dayPeriodValues$q,defaultWidth:"wide",formattingValues:formattingDayPeriodValues$i,defaultFormattingWidth:"wide"})},matchOrdinalNumberPattern$q=/^(\d+)(\.)?/i,parseOrdinalNumberPattern$q=/\d+/i,matchEraPatterns$q={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},parseEraPatterns$q={any:[/^f/i,/^(v|e)/i]},matchQuarterPatterns$q={narrow:/^[1234]/i,abbreviated:/^[1234]. kvt\./i,wide:/^[1234]\.? kvartal/i},parseQuarterPatterns$q={any:[/1/i,/2/i,/3/i,/4/i]},matchMonthPatterns$q={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},parseMonthPatterns$q={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]},matchDayPatterns$q={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},parseDayPatterns$q={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]},matchDayPeriodPatterns$q={narrow:/^(a|p|midnat|middag|(om) (morgenen|eftermiddagen|aftenen|natten))/i,any:/^([ap]\.?\s?m\.?|midnat|middag|(om) (morgenen|eftermiddagen|aftenen|natten))/i},parseDayPeriodPatterns$q={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}},match$q={ordinalNumber:buildMatchPatternFn({matchPattern:matchOrdinalNumberPattern$q,parsePattern:parseOrdinalNumberPattern$q,valueCallback:n=>parseInt(n,10)}),era:buildMatchFn({matchPatterns:matchEraPatterns$q,defaultMatchWidth:"wide",parsePatterns:parseEraPatterns$q,defaultParseWidth:"any"}),quarter:buildMatchFn({matchPatterns:matchQuarterPatterns$q,defaultMatchWidth:"wide",parsePatterns:parseQuarterPatterns$q,defaultParseWidth:"any",valueCallback:n=>n+1}),month:buildMatchFn({matchPatterns:matchMonthPatterns$q,defaultMatchWidth:"wide",parsePatterns:parseMonthPatterns$q,defaultParseWidth:"any"}),day:buildMatchFn({matchPatterns:matchDayPatterns$q,defaultMatchWidth:"wide",parsePatterns:parseDayPatterns$q,defaultParseWidth:"any"}),dayPeriod:buildMatchFn({matchPatterns:matchDayPeriodPatterns$q,defaultMatchWidth:"any",parsePatterns:parseDayPeriodPatterns$q,defaultParseWidth:"any"})},da={code:"da",formatDistance:formatDistance$q,formatLong:formatLong$r,formatRelative:formatRelative$q,localize:localize$q,match:match$q,options:{weekStartsOn:1,firstWeekContainsDate:4}},formatDistanceLocale$o={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:"halbe Minute",withPreposition:"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"}}},formatDistance$p=(n,t,e)=>{let i;const r=e!=null&&e.addSuffix?formatDistanceLocale$o[n].withPreposition:formatDistanceLocale$o[n].standalone;return typeof r=="string"?i=r:t===1?i=r.one:i=r.other.replace("{{count}}",String(t)),e!=null&&e.addSuffix?e.comparison&&e.comparison>0?"in "+i:"vor "+i:i},dateFormats$q={full:"EEEE, do MMMM y",long:"do MMMM y",medium:"do MMM y",short:"dd.MM.y"},timeFormats$q={full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},dateTimeFormats$q={full:"{{date}} 'um' {{time}}",long:"{{date}} 'um' {{time}}",medium:"{{date}} {{time}}",short:"{{date}} {{time}}"},formatLong$q={date:buildFormatLongFn({formats:dateFormats$q,defaultWidth:"full"}),time:buildFormatLongFn({formats:timeFormats$q,defaultWidth:"full"}),dateTime:buildFormatLongFn({formats:dateTimeFormats$q,defaultWidth:"full"})},formatRelativeLocale$p={lastWeek:"'letzten' eeee 'um' p",yesterday:"'gestern um' p",today:"'heute um' p",tomorrow:"'morgen um' p",nextWeek:"eeee 'um' p",other:"P"},formatRelative$p=(n,t,e,i)=>formatRelativeLocale$p[n],eraValues$p={narrow:["v.Chr.","n.Chr."],abbreviated:["v.Chr.","n.Chr."],wide:["vor Christus","nach Christus"]},quarterValues$p={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1. Quartal","2. Quartal","3. Quartal","4. Quartal"]},monthValues$p={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"]},formattingMonthValues$6={narrow:monthValues$p.narrow,abbreviated:["Jan.","Feb.","März","Apr.","Mai","Juni","Juli","Aug.","Sep.","Okt.","Nov.","Dez."],wide:monthValues$p.wide},dayValues$p={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"]},dayPeriodValues$p={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"}},formattingDayPeriodValues$h={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"}},ordinalNumber$p=n=>Number(n)+".",localize$p={ordinalNumber:ordinalNumber$p,era:buildLocalizeFn({values:eraValues$p,defaultWidth:"wide"}),quarter:buildLocalizeFn({values:quarterValues$p,defaultWidth:"wide",argumentCallback:n=>n-1}),month:buildLocalizeFn({values:monthValues$p,formattingValues:formattingMonthValues$6,defaultWidth:"wide"}),day:buildLocalizeFn({values:dayValues$p,defaultWidth:"wide"}),dayPeriod:buildLocalizeFn({values:dayPeriodValues$p,defaultWidth:"wide",formattingValues:formattingDayPeriodValues$h,defaultFormattingWidth:"wide"})},matchOrdinalNumberPattern$p=/^(\d+)(\.)?/i,parseOrdinalNumberPattern$p=/\d+/i,matchEraPatterns$p={narrow:/^(v\.? ?Chr\.?|n\.? ?Chr\.?)/i,abbreviated:/^(v\.? ?Chr\.?|n\.? ?Chr\.?)/i,wide:/^(vor Christus|vor unserer Zeitrechnung|nach Christus|unserer Zeitrechnung)/i},parseEraPatterns$p={any:[/^v/i,/^n/i]},matchQuarterPatterns$p={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](\.)? Quartal/i},parseQuarterPatterns$p={any:[/1/i,/2/i,/3/i,/4/i]},matchMonthPatterns$p={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},parseMonthPatterns$p={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]},matchDayPatterns$p={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},parseDayPatterns$p={any:[/^so/i,/^mo/i,/^di/i,/^mi/i,/^do/i,/^f/i,/^sa/i]},matchDayPeriodPatterns$p={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},parseDayPeriodPatterns$p={any:{am:/^v/i,pm:/^n/i,midnight:/^Mitte/i,noon:/^Mitta/i,morning:/morgens/i,afternoon:/nachmittags/i,evening:/abends/i,night:/nachts/i}},match$p={ordinalNumber:buildMatchPatternFn({matchPattern:matchOrdinalNumberPattern$p,parsePattern:parseOrdinalNumberPattern$p,valueCallback:n=>parseInt(n)}),era:buildMatchFn({matchPatterns:matchEraPatterns$p,defaultMatchWidth:"wide",parsePatterns:parseEraPatterns$p,defaultParseWidth:"any"}),quarter:buildMatchFn({matchPatterns:matchQuarterPatterns$p,defaultMatchWidth:"wide",parsePatterns:parseQuarterPatterns$p,defaultParseWidth:"any",valueCallback:n=>n+1}),month:buildMatchFn({matchPatterns:matchMonthPatterns$p,defaultMatchWidth:"wide",parsePatterns:parseMonthPatterns$p,defaultParseWidth:"any"}),day:buildMatchFn({matchPatterns:matchDayPatterns$p,defaultMatchWidth:"wide",parsePatterns:parseDayPatterns$p,defaultParseWidth:"any"}),dayPeriod:buildMatchFn({matchPatterns:matchDayPeriodPatterns$p,defaultMatchWidth:"wide",parsePatterns:parseDayPeriodPatterns$p,defaultParseWidth:"any"})},de={code:"de",formatDistance:formatDistance$p,formatLong:formatLong$q,formatRelative:formatRelative$p,localize:localize$p,match:match$p,options:{weekStartsOn:1,firstWeekContainsDate:4}},formatDistanceLocale$n={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}} χρόνια"}},formatDistance$o=(n,t,e)=>{let i;const r=formatDistanceLocale$n[n];return typeof r=="string"?i=r:t===1?i=r.one:i=r.other.replace("{{count}}",String(t)),e!=null&&e.addSuffix?e.comparison&&e.comparison>0?"σε "+i:i+" πριν":i},dateFormats$p={full:"EEEE, d MMMM y",long:"d MMMM y",medium:"d MMM y",short:"d/M/yy"},timeFormats$p={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},dateTimeFormats$p={full:"{{date}} - {{time}}",long:"{{date}} - {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},formatLong$p={date:buildFormatLongFn({formats:dateFormats$p,defaultWidth:"full"}),time:buildFormatLongFn({formats:timeFormats$p,defaultWidth:"full"}),dateTime:buildFormatLongFn({formats:dateTimeFormats$p,defaultWidth:"full"})},formatRelativeLocale$o={lastWeek:n=>{switch(n.getDay()){case 6:return"'το προηγούμενο' eeee 'στις' p";default:return"'την προηγούμενη' eeee 'στις' p"}},yesterday:"'χθες στις' p",today:"'σήμερα στις' p",tomorrow:"'αύριο στις' p",nextWeek:"eeee 'στις' p",other:"P"},formatRelative$o=(n,t)=>{const e=formatRelativeLocale$o[n];return typeof e=="function"?e(t):e},eraValues$o={narrow:["πΧ","μΧ"],abbreviated:["π.Χ.","μ.Χ."],wide:["προ Χριστού","μετά Χριστόν"]},quarterValues$o={narrow:["1","2","3","4"],abbreviated:["Τ1","Τ2","Τ3","Τ4"],wide:["1ο τρίμηνο","2ο τρίμηνο","3ο τρίμηνο","4ο τρίμηνο"]},monthValues$o={narrow:["Ι","Φ","Μ","Α","Μ","Ι","Ι","Α","Σ","Ο","Ν","Δ"],abbreviated:["Ιαν","Φεβ","Μάρ","Απρ","Μάι","Ιούν","Ιούλ","Αύγ","Σεπ","Οκτ","Νοέ","Δεκ"],wide:["Ιανουάριος","Φεβρουάριος","Μάρτιος","Απρίλιος","Μάιος","Ιούνιος","Ιούλιος","Αύγουστος","Σεπτέμβριος","Οκτώβριος","Νοέμβριος","Δεκέμβριος"]},formattingMonthValues$5={narrow:["Ι","Φ","Μ","Α","Μ","Ι","Ι","Α","Σ","Ο","Ν","Δ"],abbreviated:["Ιαν","Φεβ","Μαρ","Απρ","Μαΐ","Ιουν","Ιουλ","Αυγ","Σεπ","Οκτ","Νοε","Δεκ"],wide:["Ιανουαρίου","Φεβρουαρίου","Μαρτίου","Απριλίου","Μαΐου","Ιουνίου","Ιουλίου","Αυγούστου","Σεπτεμβρίου","Οκτωβρίου","Νοεμβρίου","Δεκεμβρίου"]},dayValues$o={narrow:["Κ","Δ","T","Τ","Π","Π","Σ"],short:["Κυ","Δε","Τρ","Τε","Πέ","Πα","Σά"],abbreviated:["Κυρ","Δευ","Τρί","Τετ","Πέμ","Παρ","Σάβ"],wide:["Κυριακή","Δευτέρα","Τρίτη","Τετάρτη","Πέμπτη","Παρασκευή","Σάββατο"]},dayPeriodValues$o={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:"νύχτα"}},ordinalNumber$o=(n,t)=>{const e=Number(n),i=t==null?void 0:t.unit;let r;return i==="year"||i==="month"?r="ος":i==="week"||i==="dayOfYear"||i==="day"||i==="hour"||i==="date"?r="η":r="ο",e+r},localize$o={ordinalNumber:ordinalNumber$o,era:buildLocalizeFn({values:eraValues$o,defaultWidth:"wide"}),quarter:buildLocalizeFn({values:quarterValues$o,defaultWidth:"wide",argumentCallback:n=>n-1}),month:buildLocalizeFn({values:monthValues$o,defaultWidth:"wide",formattingValues:formattingMonthValues$5,defaultFormattingWidth:"wide"}),day:buildLocalizeFn({values:dayValues$o,defaultWidth:"wide"}),dayPeriod:buildLocalizeFn({values:dayPeriodValues$o,defaultWidth:"wide"})},matchOrdinalNumberPattern$o=/^(\d+)(ος|η|ο)?/i,parseOrdinalNumberPattern$o=/\d+/i,matchEraPatterns$o={narrow:/^(πΧ|μΧ)/i,abbreviated:/^(π\.?\s?χ\.?|π\.?\s?κ\.?\s?χ\.?|μ\.?\s?χ\.?|κ\.?\s?χ\.?)/i,wide:/^(προ Χριστο(ύ|υ)|πριν απ(ό|ο) την Κοιν(ή|η) Χρονολογ(ί|ι)α|μετ(ά|α) Χριστ(ό|ο)ν|Κοιν(ή|η) Χρονολογ(ί|ι)α)/i},parseEraPatterns$o={any:[/^π/i,/^(μ|κ)/i]},matchQuarterPatterns$o={narrow:/^[1234]/i,abbreviated:/^τ[1234]/i,wide:/^[1234]ο? τρ(ί|ι)μηνο/i},parseQuarterPatterns$o={any:[/1/i,/2/i,/3/i,/4/i]},matchMonthPatterns$o={narrow:/^[ιφμαμιιασονδ]/i,abbreviated:/^(ιαν|φεβ|μ[άα]ρ|απρ|μ[άα][ιΐ]|ιο[ύυ]ν|ιο[ύυ]λ|α[ύυ]γ|σεπ|οκτ|νο[έε]|δεκ)/i,wide:/^(μ[άα][ιΐ]|α[ύυ]γο[υύ]στ)(ος|ου)|(ιανου[άα]ρ|φεβρου[άα]ρ|μ[άα]ρτ|απρ[ίι]λ|ιο[ύυ]ν|ιο[ύυ]λ|σεπτ[έε]μβρ|οκτ[ώω]βρ|νο[έε]μβρ|δεκ[έε]μβρ)(ιος|ίου)/i},parseMonthPatterns$o={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]},matchDayPatterns$o={narrow:/^[κδτπσ]/i,short:/^(κυ|δε|τρ|τε|π[εέ]|π[αά]|σ[αά])/i,abbreviated:/^(κυρ|δευ|τρι|τετ|πεμ|παρ|σαβ)/i,wide:/^(κυριακ(ή|η)|δευτ(έ|ε)ρα|τρ(ί|ι)τη|τετ(ά|α)ρτη|π(έ|ε)μπτη|παρασκευ(ή|η)|σ(ά|α)ββατο)/i},parseDayPatterns$o={narrow:[/^κ/i,/^δ/i,/^τ/i,/^τ/i,/^π/i,/^π/i,/^σ/i],any:[/^κ/i,/^δ/i,/^τρ/i,/^τε/i,/^π[εέ]/i,/^π[αά]/i,/^σ/i]},matchDayPeriodPatterns$o={narrow:/^(πμ|μμ|μεσ(ά|α)νυχτα|μεσημ(έ|ε)ρι|πρω(ί|ι)|απ(ό|ο)γευμα|βρ(ά|α)δυ|ν(ύ|υ)χτα)/i,any:/^([πμ]\.?\s?μ\.?|μεσ(ά|α)νυχτα|μεσημ(έ|ε)ρι|πρω(ί|ι)|απ(ό|ο)γευμα|βρ(ά|α)δυ|ν(ύ|υ)χτα)/i},parseDayPeriodPatterns$o={any:{am:/^πμ|π\.\s?μ\./i,pm:/^μμ|μ\.\s?μ\./i,midnight:/^μεσάν/i,noon:/^μεσημ(έ|ε)/i,morning:/πρω(ί|ι)/i,afternoon:/απ(ό|ο)γευμα/i,evening:/βρ(ά|α)δυ/i,night:/ν(ύ|υ)χτα/i}},match$o={ordinalNumber:buildMatchPatternFn({matchPattern:matchOrdinalNumberPattern$o,parsePattern:parseOrdinalNumberPattern$o,valueCallback:n=>parseInt(n,10)}),era:buildMatchFn({matchPatterns:matchEraPatterns$o,defaultMatchWidth:"wide",parsePatterns:parseEraPatterns$o,defaultParseWidth:"any"}),quarter:buildMatchFn({matchPatterns:matchQuarterPatterns$o,defaultMatchWidth:"wide",parsePatterns:parseQuarterPatterns$o,defaultParseWidth:"any",valueCallback:n=>n+1}),month:buildMatchFn({matchPatterns:matchMonthPatterns$o,defaultMatchWidth:"wide",parsePatterns:parseMonthPatterns$o,defaultParseWidth:"any"}),day:buildMatchFn({matchPatterns:matchDayPatterns$o,defaultMatchWidth:"wide",parsePatterns:parseDayPatterns$o,defaultParseWidth:"any"}),dayPeriod:buildMatchFn({matchPatterns:matchDayPeriodPatterns$o,defaultMatchWidth:"any",parsePatterns:parseDayPeriodPatterns$o,defaultParseWidth:"any"})},el={code:"el",formatDistance:formatDistance$o,formatLong:formatLong$p,formatRelative:formatRelative$o,localize:localize$o,match:match$o,options:{weekStartsOn:1,firstWeekContainsDate:4}},dateFormats$o={full:"EEEE, d MMMM yyyy",long:"d MMMM yyyy",medium:"d MMM yyyy",short:"dd/MM/yyyy"},timeFormats$o={full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},dateTimeFormats$o={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},formatLong$o={date:buildFormatLongFn({formats:dateFormats$o,defaultWidth:"full"}),time:buildFormatLongFn({formats:timeFormats$o,defaultWidth:"full"}),dateTime:buildFormatLongFn({formats:dateTimeFormats$o,defaultWidth:"full"})},enGB={code:"en-GB",formatDistance:formatDistance$u,formatLong:formatLong$o,formatRelative:formatRelative$u,localize:localize$u,match:match$u,options:{weekStartsOn:1,firstWeekContainsDate:4}},formatDistanceLocale$m={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"}},formatDistance$n=(n,t,e)=>{let i;const r=formatDistanceLocale$m[n];return typeof r=="string"?i=r:t===1?i=r.one:i=r.other.replace("{{count}}",t.toString()),e!=null&&e.addSuffix?e.comparison&&e.comparison>0?"en "+i:"hace "+i:i},dateFormats$n={full:"EEEE, d 'de' MMMM 'de' y",long:"d 'de' MMMM 'de' y",medium:"d MMM y",short:"dd/MM/y"},timeFormats$n={full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},dateTimeFormats$n={full:"{{date}} 'a las' {{time}}",long:"{{date}} 'a las' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},formatLong$n={date:buildFormatLongFn({formats:dateFormats$n,defaultWidth:"full"}),time:buildFormatLongFn({formats:timeFormats$n,defaultWidth:"full"}),dateTime:buildFormatLongFn({formats:dateTimeFormats$n,defaultWidth:"full"})},formatRelativeLocale$n={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"},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"},formatRelative$n=(n,t,e,i)=>t.getHours()!==1?formatRelativeLocalePlural[n]:formatRelativeLocale$n[n],eraValues$n={narrow:["AC","DC"],abbreviated:["AC","DC"],wide:["antes de cristo","después de cristo"]},quarterValues$n={narrow:["1","2","3","4"],abbreviated:["T1","T2","T3","T4"],wide:["1º trimestre","2º trimestre","3º trimestre","4º trimestre"]},monthValues$n={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"]},dayValues$n={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"]},dayPeriodValues$n={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"}},formattingDayPeriodValues$g={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"}},ordinalNumber$n=(n,t)=>Number(n)+"º",localize$n={ordinalNumber:ordinalNumber$n,era:buildLocalizeFn({values:eraValues$n,defaultWidth:"wide"}),quarter:buildLocalizeFn({values:quarterValues$n,defaultWidth:"wide",argumentCallback:n=>Number(n)-1}),month:buildLocalizeFn({values:monthValues$n,defaultWidth:"wide"}),day:buildLocalizeFn({values:dayValues$n,defaultWidth:"wide"}),dayPeriod:buildLocalizeFn({values:dayPeriodValues$n,defaultWidth:"wide",formattingValues:formattingDayPeriodValues$g,defaultFormattingWidth:"wide"})},matchOrdinalNumberPattern$n=/^(\d+)(º)?/i,parseOrdinalNumberPattern$n=/\d+/i,matchEraPatterns$n={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},parseEraPatterns$n={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]},matchQuarterPatterns$n={narrow:/^[1234]/i,abbreviated:/^T[1234]/i,wide:/^[1234](º)? trimestre/i},parseQuarterPatterns$n={any:[/1/i,/2/i,/3/i,/4/i]},matchMonthPatterns$n={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},parseMonthPatterns$n={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]},matchDayPatterns$n={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},parseDayPatterns$n={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]},matchDayPeriodPatterns$n={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},parseDayPeriodPatterns$n={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}},match$n={ordinalNumber:buildMatchPatternFn({matchPattern:matchOrdinalNumberPattern$n,parsePattern:parseOrdinalNumberPattern$n,valueCallback:function(n){return parseInt(n,10)}}),era:buildMatchFn({matchPatterns:matchEraPatterns$n,defaultMatchWidth:"wide",parsePatterns:parseEraPatterns$n,defaultParseWidth:"any"}),quarter:buildMatchFn({matchPatterns:matchQuarterPatterns$n,defaultMatchWidth:"wide",parsePatterns:parseQuarterPatterns$n,defaultParseWidth:"any",valueCallback:n=>n+1}),month:buildMatchFn({matchPatterns:matchMonthPatterns$n,defaultMatchWidth:"wide",parsePatterns:parseMonthPatterns$n,defaultParseWidth:"any"}),day:buildMatchFn({matchPatterns:matchDayPatterns$n,defaultMatchWidth:"wide",parsePatterns:parseDayPatterns$n,defaultParseWidth:"any"}),dayPeriod:buildMatchFn({matchPatterns:matchDayPeriodPatterns$n,defaultMatchWidth:"any",parsePatterns:parseDayPeriodPatterns$n,defaultParseWidth:"any"})},es={code:"es",formatDistance:formatDistance$n,formatLong:formatLong$n,formatRelative:formatRelative$n,localize:localize$n,match:match$n,options:{weekStartsOn:1,firstWeekContainsDate:1}};function futureSeconds(n){return n.replace(/sekuntia?/,"sekunnin")}function futureMinutes(n){return n.replace(/minuuttia?/,"minuutin")}function futureHours(n){return n.replace(/tuntia?/,"tunnin")}function futureDays(n){return n.replace(/päivää?/,"päivän")}function futureWeeks(n){return n.replace(/(viikko|viikkoa)/,"viikon")}function futureMonths(n){return n.replace(/(kuukausi|kuukautta)/,"kuukauden")}function futureYears(n){return n.replace(/(vuosi|vuotta)/,"vuoden")}const formatDistanceLocale$l={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:n=>"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}},formatDistance$m=(n,t,e)=>{const i=formatDistanceLocale$l[n],r=t===1?i.one:i.other.replace("{{count}}",String(t));return e!=null&&e.addSuffix?e.comparison&&e.comparison>0?i.futureTense(r)+" kuluttua":r+" sitten":r},dateFormats$m={full:"eeee d. MMMM y",long:"d. MMMM y",medium:"d. MMM y",short:"d.M.y"},timeFormats$m={full:"HH.mm.ss zzzz",long:"HH.mm.ss z",medium:"HH.mm.ss",short:"HH.mm"},dateTimeFormats$m={full:"{{date}} 'klo' {{time}}",long:"{{date}} 'klo' {{time}}",medium:"{{date}} {{time}}",short:"{{date}} {{time}}"},formatLong$m={date:buildFormatLongFn({formats:dateFormats$m,defaultWidth:"full"}),time:buildFormatLongFn({formats:timeFormats$m,defaultWidth:"full"}),dateTime:buildFormatLongFn({formats:dateTimeFormats$m,defaultWidth:"full"})},formatRelativeLocale$m={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"},formatRelative$m=(n,t,e,i)=>formatRelativeLocale$m[n],eraValues$m={narrow:["eaa.","jaa."],abbreviated:["eaa.","jaa."],wide:["ennen ajanlaskun alkua","jälkeen ajanlaskun alun"]},quarterValues$m={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1. kvartaali","2. kvartaali","3. kvartaali","4. kvartaali"]},monthValues$m={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"]},formattingMonthValues$4={narrow:monthValues$m.narrow,abbreviated:monthValues$m.abbreviated,wide:["tammikuuta","helmikuuta","maaliskuuta","huhtikuuta","toukokuuta","kesäkuuta","heinäkuuta","elokuuta","syyskuuta","lokakuuta","marraskuuta","joulukuuta"]},dayValues$m={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"]},formattingDayValues={narrow:dayValues$m.narrow,short:dayValues$m.short,abbreviated:dayValues$m.abbreviated,wide:["sunnuntaina","maanantaina","tiistaina","keskiviikkona","torstaina","perjantaina","lauantaina"]},dayPeriodValues$m={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ä"}},ordinalNumber$m=(n,t)=>Number(n)+".",localize$m={ordinalNumber:ordinalNumber$m,era:buildLocalizeFn({values:eraValues$m,defaultWidth:"wide"}),quarter:buildLocalizeFn({values:quarterValues$m,defaultWidth:"wide",argumentCallback:n=>n-1}),month:buildLocalizeFn({values:monthValues$m,defaultWidth:"wide",formattingValues:formattingMonthValues$4,defaultFormattingWidth:"wide"}),day:buildLocalizeFn({values:dayValues$m,defaultWidth:"wide",formattingValues:formattingDayValues,defaultFormattingWidth:"wide"}),dayPeriod:buildLocalizeFn({values:dayPeriodValues$m,defaultWidth:"wide"})},matchOrdinalNumberPattern$m=/^(\d+)(\.)/i,parseOrdinalNumberPattern$m=/\d+/i,matchEraPatterns$m={narrow:/^(e|j)/i,abbreviated:/^(eaa.|jaa.)/i,wide:/^(ennen ajanlaskun alkua|jälkeen ajanlaskun alun)/i},parseEraPatterns$m={any:[/^e/i,/^j/i]},matchQuarterPatterns$m={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234]\.? kvartaali/i},parseQuarterPatterns$m={any:[/1/i,/2/i,/3/i,/4/i]},matchMonthPatterns$m={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},parseMonthPatterns$m={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]},matchDayPatterns$m={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},parseDayPatterns$m={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]},matchDayPeriodPatterns$m={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},parseDayPeriodPatterns$m={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}},match$m={ordinalNumber:buildMatchPatternFn({matchPattern:matchOrdinalNumberPattern$m,parsePattern:parseOrdinalNumberPattern$m,valueCallback:n=>parseInt(n,10)}),era:buildMatchFn({matchPatterns:matchEraPatterns$m,defaultMatchWidth:"wide",parsePatterns:parseEraPatterns$m,defaultParseWidth:"any"}),quarter:buildMatchFn({matchPatterns:matchQuarterPatterns$m,defaultMatchWidth:"wide",parsePatterns:parseQuarterPatterns$m,defaultParseWidth:"any",valueCallback:n=>n+1}),month:buildMatchFn({matchPatterns:matchMonthPatterns$m,defaultMatchWidth:"wide",parsePatterns:parseMonthPatterns$m,defaultParseWidth:"any"}),day:buildMatchFn({matchPatterns:matchDayPatterns$m,defaultMatchWidth:"wide",parsePatterns:parseDayPatterns$m,defaultParseWidth:"any"}),dayPeriod:buildMatchFn({matchPatterns:matchDayPeriodPatterns$m,defaultMatchWidth:"any",parsePatterns:parseDayPeriodPatterns$m,defaultParseWidth:"any"})},fi={code:"fi",formatDistance:formatDistance$m,formatLong:formatLong$m,formatRelative:formatRelative$m,localize:localize$m,match:match$m,options:{weekStartsOn:1,firstWeekContainsDate:4}},formatDistanceLocale$k={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"}},formatDistance$l=(n,t,e)=>{let i;const r=formatDistanceLocale$k[n];return typeof r=="string"?i=r:t===1?i=r.one:i=r.other.replace("{{count}}",String(t)),e!=null&&e.addSuffix?e.comparison&&e.comparison>0?"dans "+i:"il y a "+i:i},dateFormats$l={full:"EEEE d MMMM y",long:"d MMMM y",medium:"d MMM y",short:"dd/MM/y"},timeFormats$l={full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},dateTimeFormats$l={full:"{{date}} 'à' {{time}}",long:"{{date}} 'à' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},formatLong$l={date:buildFormatLongFn({formats:dateFormats$l,defaultWidth:"full"}),time:buildFormatLongFn({formats:timeFormats$l,defaultWidth:"full"}),dateTime:buildFormatLongFn({formats:dateTimeFormats$l,defaultWidth:"full"})},formatRelativeLocale$l={lastWeek:"eeee 'dernier à' p",yesterday:"'hier à' p",today:"'aujourd’hui à' p",tomorrow:"'demain à' p'",nextWeek:"eeee 'prochain à' p",other:"P"},formatRelative$l=(n,t,e,i)=>formatRelativeLocale$l[n],eraValues$l={narrow:["av. J.-C","ap. J.-C"],abbreviated:["av. J.-C","ap. J.-C"],wide:["avant Jésus-Christ","après Jésus-Christ"]},quarterValues$l={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"]},monthValues$l={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"]},dayValues$l={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"]},dayPeriodValues$l={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"}},ordinalNumber$l=(n,t)=>{const e=Number(n),i=t==null?void 0:t.unit;if(e===0)return"0";const r=["year","week","hour","minute","second"];let a;return e===1?a=i&&r.includes(i)?"ère":"er":a="ème",e+a},localize$l={ordinalNumber:ordinalNumber$l,era:buildLocalizeFn({values:eraValues$l,defaultWidth:"wide"}),quarter:buildLocalizeFn({values:quarterValues$l,defaultWidth:"wide",argumentCallback:n=>n-1}),month:buildLocalizeFn({values:monthValues$l,defaultWidth:"wide"}),day:buildLocalizeFn({values:dayValues$l,defaultWidth:"wide"}),dayPeriod:buildLocalizeFn({values:dayPeriodValues$l,defaultWidth:"wide"})},matchOrdinalNumberPattern$l=/^(\d+)(ième|ère|ème|er|e)?/i,parseOrdinalNumberPattern$l=/\d+/i,matchEraPatterns$l={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},parseEraPatterns$l={any:[/^av/i,/^ap/i]},matchQuarterPatterns$l={narrow:/^T?[1234]/i,abbreviated:/^[1234](er|ème|e)? trim\.?/i,wide:/^[1234](er|ème|e)? trimestre/i},parseQuarterPatterns$l={any:[/1/i,/2/i,/3/i,/4/i]},matchMonthPatterns$l={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},parseMonthPatterns$l={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]},matchDayPatterns$l={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},parseDayPatterns$l={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]},matchDayPeriodPatterns$l={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},parseDayPeriodPatterns$l={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}},match$l={ordinalNumber:buildMatchPatternFn({matchPattern:matchOrdinalNumberPattern$l,parsePattern:parseOrdinalNumberPattern$l,valueCallback:n=>parseInt(n)}),era:buildMatchFn({matchPatterns:matchEraPatterns$l,defaultMatchWidth:"wide",parsePatterns:parseEraPatterns$l,defaultParseWidth:"any"}),quarter:buildMatchFn({matchPatterns:matchQuarterPatterns$l,defaultMatchWidth:"wide",parsePatterns:parseQuarterPatterns$l,defaultParseWidth:"any",valueCallback:n=>n+1}),month:buildMatchFn({matchPatterns:matchMonthPatterns$l,defaultMatchWidth:"wide",parsePatterns:parseMonthPatterns$l,defaultParseWidth:"any"}),day:buildMatchFn({matchPatterns:matchDayPatterns$l,defaultMatchWidth:"wide",parsePatterns:parseDayPatterns$l,defaultParseWidth:"any"}),dayPeriod:buildMatchFn({matchPatterns:matchDayPeriodPatterns$l,defaultMatchWidth:"any",parsePatterns:parseDayPeriodPatterns$l,defaultParseWidth:"any"})},fr={code:"fr",formatDistance:formatDistance$l,formatLong:formatLong$l,formatRelative:formatRelative$l,localize:localize$l,match:match$l,options:{weekStartsOn:1,firstWeekContainsDate:4}},translations={about:"körülbelül",over:"több mint",almost:"majdnem",lessthan:"kevesebb mint"},withoutSuffixes={xseconds:" másodperc",halfaminute:"fél perc",xminutes:" perc",xhours:" óra",xdays:" nap",xweeks:" hét",xmonths:" hónap",xyears:" év"},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"}},formatDistance$k=(n,t,e)=>{const i=n.match(/about|over|almost|lessthan/i),r=i?n.replace(i[0],""):n,a=(e==null?void 0:e.addSuffix)===!0,o=r.toLowerCase(),l=(e==null?void 0:e.comparison)||0,u=a?withSuffixes[o][l]:withoutSuffixes[o];let d=o==="halfaminute"?u:t+u;if(i){const m=i[0].toLowerCase();d=translations[m]+" "+d}return d},dateFormats$k={full:"y. MMMM d., EEEE",long:"y. MMMM d.",medium:"y. MMM d.",short:"y. MM. dd."},timeFormats$k={full:"H:mm:ss zzzz",long:"H:mm:ss z",medium:"H:mm:ss",short:"H:mm"},dateTimeFormats$k={full:"{{date}} {{time}}",long:"{{date}} {{time}}",medium:"{{date}} {{time}}",short:"{{date}} {{time}}"},formatLong$k={date:buildFormatLongFn({formats:dateFormats$k,defaultWidth:"full"}),time:buildFormatLongFn({formats:timeFormats$k,defaultWidth:"full"}),dateTime:buildFormatLongFn({formats:dateTimeFormats$k,defaultWidth:"full"})},accusativeWeekdays$3=["vasárnap","hétfőn","kedden","szerdán","csütörtökön","pénteken","szombaton"];function week(n){return t=>{const e=accusativeWeekdays$3[t.getDay()];return`${n?"":"'múlt' "}'${e}' p'-kor'`}}const formatRelativeLocale$k={lastWeek:week(!1),yesterday:"'tegnap' p'-kor'",today:"'ma' p'-kor'",tomorrow:"'holnap' p'-kor'",nextWeek:week(!0),other:"P"},formatRelative$k=(n,t)=>{const e=formatRelativeLocale$k[n];return typeof e=="function"?e(t):e},eraValues$k={narrow:["ie.","isz."],abbreviated:["i. e.","i. sz."],wide:["Krisztus előtt","időszámításunk szerint"]},quarterValues$k={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"]},formattingQuarterValues$1={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"]},monthValues$k={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"]},dayValues$k={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"]},dayPeriodValues$k={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"}},ordinalNumber$k=(n,t)=>Number(n)+".",localize$k={ordinalNumber:ordinalNumber$k,era:buildLocalizeFn({values:eraValues$k,defaultWidth:"wide"}),quarter:buildLocalizeFn({values:quarterValues$k,defaultWidth:"wide",argumentCallback:n=>n-1,formattingValues:formattingQuarterValues$1,defaultFormattingWidth:"wide"}),month:buildLocalizeFn({values:monthValues$k,defaultWidth:"wide"}),day:buildLocalizeFn({values:dayValues$k,defaultWidth:"wide"}),dayPeriod:buildLocalizeFn({values:dayPeriodValues$k,defaultWidth:"wide"})},matchOrdinalNumberPattern$k=/^(\d+)\.?/i,parseOrdinalNumberPattern$k=/\d+/i,matchEraPatterns$k={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},parseEraPatterns$k={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]},matchQuarterPatterns$k={narrow:/^[1234]\.?/i,abbreviated:/^[1234]?\.?\s?n\.év/i,wide:/^([1234]|I|II|III|IV)?\.?\s?negyedév/i},parseQuarterPatterns$k={any:[/1|I$/i,/2|II$/i,/3|III/i,/4|IV/i]},matchMonthPatterns$k={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},parseMonthPatterns$k={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]},matchDayPatterns$k={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},parseDayPatterns$k={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]},matchDayPeriodPatterns$k={any:/^((de|du)\.?|éjfél|délután|dél|reggel|este|éjjel)/i},parseDayPeriodPatterns$k={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}},match$k={ordinalNumber:buildMatchPatternFn({matchPattern:matchOrdinalNumberPattern$k,parsePattern:parseOrdinalNumberPattern$k,valueCallback:n=>parseInt(n,10)}),era:buildMatchFn({matchPatterns:matchEraPatterns$k,defaultMatchWidth:"wide",parsePatterns:parseEraPatterns$k,defaultParseWidth:"any"}),quarter:buildMatchFn({matchPatterns:matchQuarterPatterns$k,defaultMatchWidth:"wide",parsePatterns:parseQuarterPatterns$k,defaultParseWidth:"any",valueCallback:n=>n+1}),month:buildMatchFn({matchPatterns:matchMonthPatterns$k,defaultMatchWidth:"wide",parsePatterns:parseMonthPatterns$k,defaultParseWidth:"any"}),day:buildMatchFn({matchPatterns:matchDayPatterns$k,defaultMatchWidth:"wide",parsePatterns:parseDayPatterns$k,defaultParseWidth:"any"}),dayPeriod:buildMatchFn({matchPatterns:matchDayPeriodPatterns$k,defaultMatchWidth:"any",parsePatterns:parseDayPeriodPatterns$k,defaultParseWidth:"any"})},hu={code:"hu",formatDistance:formatDistance$k,formatLong:formatLong$k,formatRelative:formatRelative$k,localize:localize$k,match:match$k,options:{weekStartsOn:1,firstWeekContainsDate:4}},formatDistanceLocale$j={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"}},formatDistance$j=(n,t,e)=>{let i;const r=formatDistanceLocale$j[n];return typeof r=="string"?i=r:t===1?i=r.one:i=r.other.replace("{{count}}",t.toString()),e!=null&&e.addSuffix?e.comparison&&e.comparison>0?"dalam waktu "+i:i+" yang lalu":i},dateFormats$j={full:"EEEE, d MMMM yyyy",long:"d MMMM yyyy",medium:"d MMM yyyy",short:"d/M/yyyy"},timeFormats$j={full:"HH.mm.ss",long:"HH.mm.ss",medium:"HH.mm",short:"HH.mm"},dateTimeFormats$j={full:"{{date}} 'pukul' {{time}}",long:"{{date}} 'pukul' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},formatLong$j={date:buildFormatLongFn({formats:dateFormats$j,defaultWidth:"full"}),time:buildFormatLongFn({formats:timeFormats$j,defaultWidth:"full"}),dateTime:buildFormatLongFn({formats:dateTimeFormats$j,defaultWidth:"full"})},formatRelativeLocale$j={lastWeek:"eeee 'lalu pukul' p",yesterday:"'Kemarin pukul' p",today:"'Hari ini pukul' p",tomorrow:"'Besok pukul' p",nextWeek:"eeee 'pukul' p",other:"P"},formatRelative$j=(n,t,e,i)=>formatRelativeLocale$j[n],eraValues$j={narrow:["SM","M"],abbreviated:["SM","M"],wide:["Sebelum Masehi","Masehi"]},quarterValues$j={narrow:["1","2","3","4"],abbreviated:["K1","K2","K3","K4"],wide:["Kuartal ke-1","Kuartal ke-2","Kuartal ke-3","Kuartal ke-4"]},monthValues$j={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"]},dayValues$j={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"]},dayPeriodValues$j={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"}},formattingDayPeriodValues$f={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"}},ordinalNumber$j=(n,t)=>"ke-"+Number(n),localize$j={ordinalNumber:ordinalNumber$j,era:buildLocalizeFn({values:eraValues$j,defaultWidth:"wide"}),quarter:buildLocalizeFn({values:quarterValues$j,defaultWidth:"wide",argumentCallback:n=>n-1}),month:buildLocalizeFn({values:monthValues$j,defaultWidth:"wide"}),day:buildLocalizeFn({values:dayValues$j,defaultWidth:"wide"}),dayPeriod:buildLocalizeFn({values:dayPeriodValues$j,defaultWidth:"wide",formattingValues:formattingDayPeriodValues$f,defaultFormattingWidth:"wide"})},matchOrdinalNumberPattern$j=/^ke-(\d+)?/i,parseOrdinalNumberPattern$j=/\d+/i,matchEraPatterns$j={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},parseEraPatterns$j={any:[/^s/i,/^(m|e)/i]},matchQuarterPatterns$j={narrow:/^[1234]/i,abbreviated:/^K-?\s[1234]/i,wide:/^Kuartal ke-?\s?[1234]/i},parseQuarterPatterns$j={any:[/1/i,/2/i,/3/i,/4/i]},matchMonthPatterns$j={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},parseMonthPatterns$j={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]},matchDayPatterns$j={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},parseDayPatterns$j={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]},matchDayPeriodPatterns$j={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},parseDayPeriodPatterns$j={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}},match$j={ordinalNumber:buildMatchPatternFn({matchPattern:matchOrdinalNumberPattern$j,parsePattern:parseOrdinalNumberPattern$j,valueCallback:n=>parseInt(n,10)}),era:buildMatchFn({matchPatterns:matchEraPatterns$j,defaultMatchWidth:"wide",parsePatterns:parseEraPatterns$j,defaultParseWidth:"any"}),quarter:buildMatchFn({matchPatterns:matchQuarterPatterns$j,defaultMatchWidth:"wide",parsePatterns:parseQuarterPatterns$j,defaultParseWidth:"any",valueCallback:n=>n+1}),month:buildMatchFn({matchPatterns:matchMonthPatterns$j,defaultMatchWidth:"wide",parsePatterns:parseMonthPatterns$j,defaultParseWidth:"any"}),day:buildMatchFn({matchPatterns:matchDayPatterns$j,defaultMatchWidth:"wide",parsePatterns:parseDayPatterns$j,defaultParseWidth:"any"}),dayPeriod:buildMatchFn({matchPatterns:matchDayPeriodPatterns$j,defaultMatchWidth:"any",parsePatterns:parseDayPeriodPatterns$j,defaultParseWidth:"any"})},id={code:"id",formatDistance:formatDistance$j,formatLong:formatLong$j,formatRelative:formatRelative$j,localize:localize$j,match:match$j,options:{weekStartsOn:1,firstWeekContainsDate:1}},formatDistanceLocale$i={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"}},formatDistance$i=(n,t,e)=>{let i;const r=formatDistanceLocale$i[n];return typeof r=="string"?i=r:t===1?i=r.one:i=r.other.replace("{{count}}",t.toString()),e!=null&&e.addSuffix?e.comparison&&e.comparison>0?"tra "+i:i+" fa":i},dateFormats$i={full:"EEEE d MMMM y",long:"d MMMM y",medium:"d MMM y",short:"dd/MM/y"},timeFormats$i={full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},dateTimeFormats$i={full:"{{date}} {{time}}",long:"{{date}} {{time}}",medium:"{{date}} {{time}}",short:"{{date}} {{time}}"},formatLong$i={date:buildFormatLongFn({formats:dateFormats$i,defaultWidth:"full"}),time:buildFormatLongFn({formats:timeFormats$i,defaultWidth:"full"}),dateTime:buildFormatLongFn({formats:dateTimeFormats$i,defaultWidth:"full"})},weekdays=["domenica","lunedì","martedì","mercoledì","giovedì","venerdì","sabato"];function lastWeek$3(n){switch(n){case 0:return"'domenica scorsa alle' p";default:return"'"+weekdays[n]+" scorso alle' p"}}function thisWeek$3(n){return"'"+weekdays[n]+" alle' p"}function nextWeek$3(n){switch(n){case 0:return"'domenica prossima alle' p";default:return"'"+weekdays[n]+" prossimo alle' p"}}const formatRelativeLocale$i={lastWeek:(n,t,e)=>{const i=n.getDay();return isSameWeek(n,t,e)?thisWeek$3(i):lastWeek$3(i)},yesterday:"'ieri alle' p",today:"'oggi alle' p",tomorrow:"'domani alle' p",nextWeek:(n,t,e)=>{const i=n.getDay();return isSameWeek(n,t,e)?thisWeek$3(i):nextWeek$3(i)},other:"P"},formatRelative$i=(n,t,e,i)=>{const r=formatRelativeLocale$i[n];return typeof r=="function"?r(t,e,i):r},eraValues$i={narrow:["aC","dC"],abbreviated:["a.C.","d.C."],wide:["avanti Cristo","dopo Cristo"]},quarterValues$i={narrow:["1","2","3","4"],abbreviated:["T1","T2","T3","T4"],wide:["1º trimestre","2º trimestre","3º trimestre","4º trimestre"]},monthValues$i={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"]},dayValues$i={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"]},dayPeriodValues$i={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"}},formattingDayPeriodValues$e={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"}},ordinalNumber$i=(n,t)=>{const e=Number(n);return String(e)},localize$i={ordinalNumber:ordinalNumber$i,era:buildLocalizeFn({values:eraValues$i,defaultWidth:"wide"}),quarter:buildLocalizeFn({values:quarterValues$i,defaultWidth:"wide",argumentCallback:n=>n-1}),month:buildLocalizeFn({values:monthValues$i,defaultWidth:"wide"}),day:buildLocalizeFn({values:dayValues$i,defaultWidth:"wide"}),dayPeriod:buildLocalizeFn({values:dayPeriodValues$i,defaultWidth:"wide",formattingValues:formattingDayPeriodValues$e,defaultFormattingWidth:"wide"})},matchOrdinalNumberPattern$i=/^(\d+)(º)?/i,parseOrdinalNumberPattern$i=/\d+/i,matchEraPatterns$i={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},parseEraPatterns$i={any:[/^a/i,/^(d|e)/i]},matchQuarterPatterns$i={narrow:/^[1234]/i,abbreviated:/^t[1234]/i,wide:/^[1234](º)? trimestre/i},parseQuarterPatterns$i={any:[/1/i,/2/i,/3/i,/4/i]},matchMonthPatterns$i={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},parseMonthPatterns$i={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]},matchDayPatterns$i={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},parseDayPatterns$i={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]},matchDayPeriodPatterns$i={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},parseDayPeriodPatterns$i={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}},match$i={ordinalNumber:buildMatchPatternFn({matchPattern:matchOrdinalNumberPattern$i,parsePattern:parseOrdinalNumberPattern$i,valueCallback:n=>parseInt(n,10)}),era:buildMatchFn({matchPatterns:matchEraPatterns$i,defaultMatchWidth:"wide",parsePatterns:parseEraPatterns$i,defaultParseWidth:"any"}),quarter:buildMatchFn({matchPatterns:matchQuarterPatterns$i,defaultMatchWidth:"wide",parsePatterns:parseQuarterPatterns$i,defaultParseWidth:"any",valueCallback:n=>n+1}),month:buildMatchFn({matchPatterns:matchMonthPatterns$i,defaultMatchWidth:"wide",parsePatterns:parseMonthPatterns$i,defaultParseWidth:"any"}),day:buildMatchFn({matchPatterns:matchDayPatterns$i,defaultMatchWidth:"wide",parsePatterns:parseDayPatterns$i,defaultParseWidth:"any"}),dayPeriod:buildMatchFn({matchPatterns:matchDayPeriodPatterns$i,defaultMatchWidth:"any",parsePatterns:parseDayPeriodPatterns$i,defaultParseWidth:"any"})},it={code:"it",formatDistance:formatDistance$i,formatLong:formatLong$i,formatRelative:formatRelative$i,localize:localize$i,match:match$i,options:{weekStartsOn:1,firstWeekContainsDate:4}},formatDistanceLocale$h={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}}年近く"}},formatDistance$h=(n,t,e)=>{e=e||{};let i;const r=formatDistanceLocale$h[n];return typeof r=="string"?i=r:t===1?e.addSuffix&&r.oneWithSuffix?i=r.oneWithSuffix:i=r.one:e.addSuffix&&r.otherWithSuffix?i=r.otherWithSuffix.replace("{{count}}",String(t)):i=r.other.replace("{{count}}",String(t)),e.addSuffix?e.comparison&&e.comparison>0?i+"後":i+"前":i},dateFormats$h={full:"y年M月d日EEEE",long:"y年M月d日",medium:"y/MM/dd",short:"y/MM/dd"},timeFormats$h={full:"H時mm分ss秒 zzzz",long:"H:mm:ss z",medium:"H:mm:ss",short:"H:mm"},dateTimeFormats$h={full:"{{date}} {{time}}",long:"{{date}} {{time}}",medium:"{{date}} {{time}}",short:"{{date}} {{time}}"},formatLong$h={date:buildFormatLongFn({formats:dateFormats$h,defaultWidth:"full"}),time:buildFormatLongFn({formats:timeFormats$h,defaultWidth:"full"}),dateTime:buildFormatLongFn({formats:dateTimeFormats$h,defaultWidth:"full"})},formatRelativeLocale$h={lastWeek:"先週のeeeeのp",yesterday:"昨日のp",today:"今日のp",tomorrow:"明日のp",nextWeek:"翌週のeeeeのp",other:"P"},formatRelative$h=(n,t,e,i)=>formatRelativeLocale$h[n],eraValues$h={narrow:["BC","AC"],abbreviated:["紀元前","西暦"],wide:["紀元前","西暦"]},quarterValues$h={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["第1四半期","第2四半期","第3四半期","第4四半期"]},monthValues$h={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月"]},dayValues$h={narrow:["日","月","火","水","木","金","土"],short:["日","月","火","水","木","金","土"],abbreviated:["日","月","火","水","木","金","土"],wide:["日曜日","月曜日","火曜日","水曜日","木曜日","金曜日","土曜日"]},dayPeriodValues$h={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:"深夜"}},formattingDayPeriodValues$d={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:"深夜"}},ordinalNumber$h=(n,t)=>{const e=Number(n);switch(String(t==null?void 0:t.unit)){case"year":return`${e}年`;case"quarter":return`第${e}四半期`;case"month":return`${e}月`;case"week":return`第${e}週`;case"date":return`${e}日`;case"hour":return`${e}時`;case"minute":return`${e}分`;case"second":return`${e}秒`;default:return`${e}`}},localize$h={ordinalNumber:ordinalNumber$h,era:buildLocalizeFn({values:eraValues$h,defaultWidth:"wide"}),quarter:buildLocalizeFn({values:quarterValues$h,defaultWidth:"wide",argumentCallback:n=>Number(n)-1}),month:buildLocalizeFn({values:monthValues$h,defaultWidth:"wide"}),day:buildLocalizeFn({values:dayValues$h,defaultWidth:"wide"}),dayPeriod:buildLocalizeFn({values:dayPeriodValues$h,defaultWidth:"wide",formattingValues:formattingDayPeriodValues$d,defaultFormattingWidth:"wide"})},matchOrdinalNumberPattern$h=/^第?\d+(年|四半期|月|週|日|時|分|秒)?/i,parseOrdinalNumberPattern$h=/\d+/i,matchEraPatterns$h={narrow:/^(B\.?C\.?|A\.?D\.?)/i,abbreviated:/^(紀元[前後]|西暦)/i,wide:/^(紀元[前後]|西暦)/i},parseEraPatterns$h={narrow:[/^B/i,/^A/i],any:[/^(紀元前)/i,/^(西暦|紀元後)/i]},matchQuarterPatterns$h={narrow:/^[1234]/i,abbreviated:/^Q[1234]/i,wide:/^第[1234一二三四1234]四半期/i},parseQuarterPatterns$h={any:[/(1|一|1)/i,/(2|二|2)/i,/(3|三|3)/i,/(4|四|4)/i]},matchMonthPatterns$h={narrow:/^([123456789]|1[012])/,abbreviated:/^([123456789]|1[012])月/i,wide:/^([123456789]|1[012])月/i},parseMonthPatterns$h={any:[/^1\D/,/^2/,/^3/,/^4/,/^5/,/^6/,/^7/,/^8/,/^9/,/^10/,/^11/,/^12/]},matchDayPatterns$h={narrow:/^[日月火水木金土]/,short:/^[日月火水木金土]/,abbreviated:/^[日月火水木金土]/,wide:/^[日月火水木金土]曜日/},parseDayPatterns$h={any:[/^日/,/^月/,/^火/,/^水/,/^木/,/^金/,/^土/]},matchDayPeriodPatterns$h={any:/^(AM|PM|午前|午後|正午|深夜|真夜中|夜|朝)/i},parseDayPeriodPatterns$h={any:{am:/^(A|午前)/i,pm:/^(P|午後)/i,midnight:/^深夜|真夜中/i,noon:/^正午/i,morning:/^朝/i,afternoon:/^午後/i,evening:/^夜/i,night:/^深夜/i}},match$h={ordinalNumber:buildMatchPatternFn({matchPattern:matchOrdinalNumberPattern$h,parsePattern:parseOrdinalNumberPattern$h,valueCallback:function(n){return parseInt(n,10)}}),era:buildMatchFn({matchPatterns:matchEraPatterns$h,defaultMatchWidth:"wide",parsePatterns:parseEraPatterns$h,defaultParseWidth:"any"}),quarter:buildMatchFn({matchPatterns:matchQuarterPatterns$h,defaultMatchWidth:"wide",parsePatterns:parseQuarterPatterns$h,defaultParseWidth:"any",valueCallback:n=>n+1}),month:buildMatchFn({matchPatterns:matchMonthPatterns$h,defaultMatchWidth:"wide",parsePatterns:parseMonthPatterns$h,defaultParseWidth:"any"}),day:buildMatchFn({matchPatterns:matchDayPatterns$h,defaultMatchWidth:"wide",parsePatterns:parseDayPatterns$h,defaultParseWidth:"any"}),dayPeriod:buildMatchFn({matchPatterns:matchDayPeriodPatterns$h,defaultMatchWidth:"any",parsePatterns:parseDayPeriodPatterns$h,defaultParseWidth:"any"})},ja={code:"ja",formatDistance:formatDistance$h,formatLong:formatLong$h,formatRelative:formatRelative$h,localize:localize$h,match:match$h,options:{weekStartsOn:0,firstWeekContainsDate:1}},formatDistanceLocale$g={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}}년"}},formatDistance$g=(n,t,e)=>{let i;const r=formatDistanceLocale$g[n];return typeof r=="string"?i=r:t===1?i=r.one:i=r.other.replace("{{count}}",t.toString()),e!=null&&e.addSuffix?e.comparison&&e.comparison>0?i+" 후":i+" 전":i},dateFormats$g={full:"y년 M월 d일 EEEE",long:"y년 M월 d일",medium:"y.MM.dd",short:"y.MM.dd"},timeFormats$g={full:"a H시 mm분 ss초 zzzz",long:"a H:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},dateTimeFormats$g={full:"{{date}} {{time}}",long:"{{date}} {{time}}",medium:"{{date}} {{time}}",short:"{{date}} {{time}}"},formatLong$g={date:buildFormatLongFn({formats:dateFormats$g,defaultWidth:"full"}),time:buildFormatLongFn({formats:timeFormats$g,defaultWidth:"full"}),dateTime:buildFormatLongFn({formats:dateTimeFormats$g,defaultWidth:"full"})},formatRelativeLocale$g={lastWeek:"'지난' eeee p",yesterday:"'어제' p",today:"'오늘' p",tomorrow:"'내일' p",nextWeek:"'다음' eeee p",other:"P"},formatRelative$g=(n,t,e,i)=>formatRelativeLocale$g[n],eraValues$g={narrow:["BC","AD"],abbreviated:["BC","AD"],wide:["기원전","서기"]},quarterValues$g={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1분기","2분기","3분기","4분기"]},monthValues$g={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월"]},dayValues$g={narrow:["일","월","화","수","목","금","토"],short:["일","월","화","수","목","금","토"],abbreviated:["일","월","화","수","목","금","토"],wide:["일요일","월요일","화요일","수요일","목요일","금요일","토요일"]},dayPeriodValues$g={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:"밤"}},formattingDayPeriodValues$c={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:"밤"}},ordinalNumber$g=(n,t)=>{const e=Number(n);switch(String(t==null?void 0:t.unit)){case"minute":case"second":return String(e);case"date":return e+"일";default:return e+"번째"}},localize$g={ordinalNumber:ordinalNumber$g,era:buildLocalizeFn({values:eraValues$g,defaultWidth:"wide"}),quarter:buildLocalizeFn({values:quarterValues$g,defaultWidth:"wide",argumentCallback:n=>n-1}),month:buildLocalizeFn({values:monthValues$g,defaultWidth:"wide"}),day:buildLocalizeFn({values:dayValues$g,defaultWidth:"wide"}),dayPeriod:buildLocalizeFn({values:dayPeriodValues$g,defaultWidth:"wide",formattingValues:formattingDayPeriodValues$c,defaultFormattingWidth:"wide"})},matchOrdinalNumberPattern$g=/^(\d+)(일|번째)?/i,parseOrdinalNumberPattern$g=/\d+/i,matchEraPatterns$g={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},parseEraPatterns$g={any:[/^(bc|기원전)/i,/^(ad|서기)/i]},matchQuarterPatterns$g={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234]사?분기/i},parseQuarterPatterns$g={any:[/1/i,/2/i,/3/i,/4/i]},matchMonthPatterns$g={narrow:/^(1[012]|[123456789])/,abbreviated:/^(1[012]|[123456789])월/i,wide:/^(1[012]|[123456789])월/i},parseMonthPatterns$g={any:[/^1월?$/,/^2/,/^3/,/^4/,/^5/,/^6/,/^7/,/^8/,/^9/,/^10/,/^11/,/^12/]},matchDayPatterns$g={narrow:/^[일월화수목금토]/,short:/^[일월화수목금토]/,abbreviated:/^[일월화수목금토]/,wide:/^[일월화수목금토]요일/},parseDayPatterns$g={any:[/^일/,/^월/,/^화/,/^수/,/^목/,/^금/,/^토/]},matchDayPeriodPatterns$g={any:/^(am|pm|오전|오후|자정|정오|아침|저녁|밤)/i},parseDayPeriodPatterns$g={any:{am:/^(am|오전)/i,pm:/^(pm|오후)/i,midnight:/^자정/i,noon:/^정오/i,morning:/^아침/i,afternoon:/^오후/i,evening:/^저녁/i,night:/^밤/i}},match$g={ordinalNumber:buildMatchPatternFn({matchPattern:matchOrdinalNumberPattern$g,parsePattern:parseOrdinalNumberPattern$g,valueCallback:n=>parseInt(n,10)}),era:buildMatchFn({matchPatterns:matchEraPatterns$g,defaultMatchWidth:"wide",parsePatterns:parseEraPatterns$g,defaultParseWidth:"any"}),quarter:buildMatchFn({matchPatterns:matchQuarterPatterns$g,defaultMatchWidth:"wide",parsePatterns:parseQuarterPatterns$g,defaultParseWidth:"any",valueCallback:n=>n+1}),month:buildMatchFn({matchPatterns:matchMonthPatterns$g,defaultMatchWidth:"wide",parsePatterns:parseMonthPatterns$g,defaultParseWidth:"any"}),day:buildMatchFn({matchPatterns:matchDayPatterns$g,defaultMatchWidth:"wide",parsePatterns:parseDayPatterns$g,defaultParseWidth:"any"}),dayPeriod:buildMatchFn({matchPatterns:matchDayPeriodPatterns$g,defaultMatchWidth:"any",parsePatterns:parseDayPeriodPatterns$g,defaultParseWidth:"any"})},ko={code:"ko",formatDistance:formatDistance$g,formatLong:formatLong$g,formatRelative:formatRelative$g,localize:localize$g,match:match$g,options:{weekStartsOn:0,firstWeekContainsDate:1}},formatDistanceLocale$f={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"}},formatDistance$f=(n,t,e)=>{let i;const r=formatDistanceLocale$f[n];return typeof r=="string"?i=r:t===1?i=r.one:i=r.other.replace("{{count}}",String(t)),e!=null&&e.addSuffix?e.comparison&&e.comparison>0?"om "+i:i+" siden":i},dateFormats$f={full:"EEEE d. MMMM y",long:"d. MMMM y",medium:"d. MMM y",short:"dd.MM.y"},timeFormats$f={full:"'kl'. HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},dateTimeFormats$f={full:"{{date}} 'kl.' {{time}}",long:"{{date}} 'kl.' {{time}}",medium:"{{date}} {{time}}",short:"{{date}} {{time}}"},formatLong$f={date:buildFormatLongFn({formats:dateFormats$f,defaultWidth:"full"}),time:buildFormatLongFn({formats:timeFormats$f,defaultWidth:"full"}),dateTime:buildFormatLongFn({formats:dateTimeFormats$f,defaultWidth:"full"})},formatRelativeLocale$f={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"},formatRelative$f=(n,t,e,i)=>formatRelativeLocale$f[n],eraValues$f={narrow:["f.Kr.","e.Kr."],abbreviated:["f.Kr.","e.Kr."],wide:["før Kristus","etter Kristus"]},quarterValues$f={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1. kvartal","2. kvartal","3. kvartal","4. kvartal"]},monthValues$f={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"]},dayValues$f={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"]},dayPeriodValues$f={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"}},ordinalNumber$f=(n,t)=>Number(n)+".",localize$f={ordinalNumber:ordinalNumber$f,era:buildLocalizeFn({values:eraValues$f,defaultWidth:"wide"}),quarter:buildLocalizeFn({values:quarterValues$f,defaultWidth:"wide",argumentCallback:n=>n-1}),month:buildLocalizeFn({values:monthValues$f,defaultWidth:"wide"}),day:buildLocalizeFn({values:dayValues$f,defaultWidth:"wide"}),dayPeriod:buildLocalizeFn({values:dayPeriodValues$f,defaultWidth:"wide"})},matchOrdinalNumberPattern$f=/^(\d+)\.?/i,parseOrdinalNumberPattern$f=/\d+/i,matchEraPatterns$f={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},parseEraPatterns$f={any:[/^f/i,/^e/i]},matchQuarterPatterns$f={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](\.)? kvartal/i},parseQuarterPatterns$f={any:[/1/i,/2/i,/3/i,/4/i]},matchMonthPatterns$f={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},parseMonthPatterns$f={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]},matchDayPatterns$f={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},parseDayPatterns$f={any:[/^s/i,/^m/i,/^ti/i,/^o/i,/^to/i,/^f/i,/^l/i]},matchDayPeriodPatterns$f={narrow:/^(midnatt|middag|(på) (morgenen|ettermiddagen|kvelden|natten)|[ap])/i,any:/^([ap]\.?\s?m\.?|midnatt|middag|(på) (morgenen|ettermiddagen|kvelden|natten))/i},parseDayPeriodPatterns$f={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}},match$f={ordinalNumber:buildMatchPatternFn({matchPattern:matchOrdinalNumberPattern$f,parsePattern:parseOrdinalNumberPattern$f,valueCallback:n=>parseInt(n,10)}),era:buildMatchFn({matchPatterns:matchEraPatterns$f,defaultMatchWidth:"wide",parsePatterns:parseEraPatterns$f,defaultParseWidth:"any"}),quarter:buildMatchFn({matchPatterns:matchQuarterPatterns$f,defaultMatchWidth:"wide",parsePatterns:parseQuarterPatterns$f,defaultParseWidth:"any",valueCallback:n=>n+1}),month:buildMatchFn({matchPatterns:matchMonthPatterns$f,defaultMatchWidth:"wide",parsePatterns:parseMonthPatterns$f,defaultParseWidth:"any"}),day:buildMatchFn({matchPatterns:matchDayPatterns$f,defaultMatchWidth:"wide",parsePatterns:parseDayPatterns$f,defaultParseWidth:"any"}),dayPeriod:buildMatchFn({matchPatterns:matchDayPeriodPatterns$f,defaultMatchWidth:"any",parsePatterns:parseDayPeriodPatterns$f,defaultParseWidth:"any"})},nb={code:"nb",formatDistance:formatDistance$f,formatLong:formatLong$f,formatRelative:formatRelative$f,localize:localize$f,match:match$f,options:{weekStartsOn:1,firstWeekContainsDate:4}},formatDistanceLocale$e={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"}},formatDistance$e=(n,t,e)=>{let i;const r=formatDistanceLocale$e[n];return typeof r=="string"?i=r:t===1?i=r.one:i=r.other.replace("{{count}}",String(t)),e!=null&&e.addSuffix?e.comparison&&e.comparison>0?"over "+i:i+" geleden":i},dateFormats$e={full:"EEEE d MMMM y",long:"d MMMM y",medium:"d MMM y",short:"dd-MM-y"},timeFormats$e={full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},dateTimeFormats$e={full:"{{date}} 'om' {{time}}",long:"{{date}} 'om' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},formatLong$e={date:buildFormatLongFn({formats:dateFormats$e,defaultWidth:"full"}),time:buildFormatLongFn({formats:timeFormats$e,defaultWidth:"full"}),dateTime:buildFormatLongFn({formats:dateTimeFormats$e,defaultWidth:"full"})},formatRelativeLocale$e={lastWeek:"'afgelopen' eeee 'om' p",yesterday:"'gisteren om' p",today:"'vandaag om' p",tomorrow:"'morgen om' p",nextWeek:"eeee 'om' p",other:"P"},formatRelative$e=(n,t,e,i)=>formatRelativeLocale$e[n],eraValues$e={narrow:["v.C.","n.C."],abbreviated:["v.Chr.","n.Chr."],wide:["voor Christus","na Christus"]},quarterValues$e={narrow:["1","2","3","4"],abbreviated:["K1","K2","K3","K4"],wide:["1e kwartaal","2e kwartaal","3e kwartaal","4e kwartaal"]},monthValues$e={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"]},dayValues$e={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"]},dayPeriodValues$e={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"}},ordinalNumber$e=(n,t)=>Number(n)+"e",localize$e={ordinalNumber:ordinalNumber$e,era:buildLocalizeFn({values:eraValues$e,defaultWidth:"wide"}),quarter:buildLocalizeFn({values:quarterValues$e,defaultWidth:"wide",argumentCallback:n=>n-1}),month:buildLocalizeFn({values:monthValues$e,defaultWidth:"wide"}),day:buildLocalizeFn({values:dayValues$e,defaultWidth:"wide"}),dayPeriod:buildLocalizeFn({values:dayPeriodValues$e,defaultWidth:"wide"})},matchOrdinalNumberPattern$e=/^(\d+)e?/i,parseOrdinalNumberPattern$e=/\d+/i,matchEraPatterns$e={narrow:/^([vn]\.? ?C\.?)/,abbreviated:/^([vn]\. ?Chr\.?)/,wide:/^((voor|na) Christus)/},parseEraPatterns$e={any:[/^v/,/^n/]},matchQuarterPatterns$e={narrow:/^[1234]/i,abbreviated:/^K[1234]/i,wide:/^[1234]e kwartaal/i},parseQuarterPatterns$e={any:[/1/i,/2/i,/3/i,/4/i]},matchMonthPatterns$e={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},parseMonthPatterns$e={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]},matchDayPatterns$e={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},parseDayPatterns$e={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]},matchDayPeriodPatterns$e={any:/^(am|pm|middernacht|het middaguur|'s (ochtends|middags|avonds|nachts))/i},parseDayPeriodPatterns$e={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}},match$e={ordinalNumber:buildMatchPatternFn({matchPattern:matchOrdinalNumberPattern$e,parsePattern:parseOrdinalNumberPattern$e,valueCallback:n=>parseInt(n,10)}),era:buildMatchFn({matchPatterns:matchEraPatterns$e,defaultMatchWidth:"wide",parsePatterns:parseEraPatterns$e,defaultParseWidth:"any"}),quarter:buildMatchFn({matchPatterns:matchQuarterPatterns$e,defaultMatchWidth:"wide",parsePatterns:parseQuarterPatterns$e,defaultParseWidth:"any",valueCallback:n=>n+1}),month:buildMatchFn({matchPatterns:matchMonthPatterns$e,defaultMatchWidth:"wide",parsePatterns:parseMonthPatterns$e,defaultParseWidth:"any"}),day:buildMatchFn({matchPatterns:matchDayPatterns$e,defaultMatchWidth:"wide",parsePatterns:parseDayPatterns$e,defaultParseWidth:"any"}),dayPeriod:buildMatchFn({matchPatterns:matchDayPeriodPatterns$e,defaultMatchWidth:"any",parsePatterns:parseDayPeriodPatterns$e,defaultParseWidth:"any"})},nl={code:"nl",formatDistance:formatDistance$e,formatLong:formatLong$e,formatRelative:formatRelative$e,localize:localize$e,match:match$e,options:{weekStartsOn:1,firstWeekContainsDate:4}},formatDistanceLocale$d={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"}},wordMapping$1=["null","ein","to","tre","fire","fem","seks","sju","åtte","ni","ti","elleve","tolv"],formatDistance$d=(n,t,e)=>{let i;const r=formatDistanceLocale$d[n];return typeof r=="string"?i=r:t===1?i=r.one:i=r.other.replace("{{count}}",t<13?wordMapping$1[t]:String(t)),e!=null&&e.addSuffix?e.comparison&&e.comparison>0?"om "+i:i+" sidan":i},dateFormats$d={full:"EEEE d. MMMM y",long:"d. MMMM y",medium:"d. MMM y",short:"dd.MM.y"},timeFormats$d={full:"'kl'. HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},dateTimeFormats$d={full:"{{date}} 'kl.' {{time}}",long:"{{date}} 'kl.' {{time}}",medium:"{{date}} {{time}}",short:"{{date}} {{time}}"},formatLong$d={date:buildFormatLongFn({formats:dateFormats$d,defaultWidth:"full"}),time:buildFormatLongFn({formats:timeFormats$d,defaultWidth:"full"}),dateTime:buildFormatLongFn({formats:dateTimeFormats$d,defaultWidth:"full"})},formatRelativeLocale$d={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"},formatRelative$d=(n,t,e,i)=>formatRelativeLocale$d[n],eraValues$d={narrow:["f.Kr.","e.Kr."],abbreviated:["f.Kr.","e.Kr."],wide:["før Kristus","etter Kristus"]},quarterValues$d={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1. kvartal","2. kvartal","3. kvartal","4. kvartal"]},monthValues$d={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"]},dayValues$d={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"]},dayPeriodValues$d={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"}},ordinalNumber$d=(n,t)=>Number(n)+".",localize$d={ordinalNumber:ordinalNumber$d,era:buildLocalizeFn({values:eraValues$d,defaultWidth:"wide"}),quarter:buildLocalizeFn({values:quarterValues$d,defaultWidth:"wide",argumentCallback:n=>n-1}),month:buildLocalizeFn({values:monthValues$d,defaultWidth:"wide"}),day:buildLocalizeFn({values:dayValues$d,defaultWidth:"wide"}),dayPeriod:buildLocalizeFn({values:dayPeriodValues$d,defaultWidth:"wide"})},matchOrdinalNumberPattern$d=/^(\d+)\.?/i,parseOrdinalNumberPattern$d=/\d+/i,matchEraPatterns$d={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},parseEraPatterns$d={any:[/^f/i,/^e/i]},matchQuarterPatterns$d={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](\.)? kvartal/i},parseQuarterPatterns$d={any:[/1/i,/2/i,/3/i,/4/i]},matchMonthPatterns$d={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},parseMonthPatterns$d={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]},matchDayPatterns$d={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},parseDayPatterns$d={any:[/^s/i,/^m/i,/^ty/i,/^o/i,/^to/i,/^f/i,/^l/i]},matchDayPeriodPatterns$d={narrow:/^(midnatt|middag|(på) (morgonen|ettermiddagen|kvelden|natta)|[ap])/i,any:/^([ap]\.?\s?m\.?|midnatt|middag|(på) (morgonen|ettermiddagen|kvelden|natta))/i},parseDayPeriodPatterns$d={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}},match$d={ordinalNumber:buildMatchPatternFn({matchPattern:matchOrdinalNumberPattern$d,parsePattern:parseOrdinalNumberPattern$d,valueCallback:n=>parseInt(n,10)}),era:buildMatchFn({matchPatterns:matchEraPatterns$d,defaultMatchWidth:"wide",parsePatterns:parseEraPatterns$d,defaultParseWidth:"any"}),quarter:buildMatchFn({matchPatterns:matchQuarterPatterns$d,defaultMatchWidth:"wide",parsePatterns:parseQuarterPatterns$d,defaultParseWidth:"any",valueCallback:n=>n+1}),month:buildMatchFn({matchPatterns:matchMonthPatterns$d,defaultMatchWidth:"wide",parsePatterns:parseMonthPatterns$d,defaultParseWidth:"any"}),day:buildMatchFn({matchPatterns:matchDayPatterns$d,defaultMatchWidth:"wide",parsePatterns:parseDayPatterns$d,defaultParseWidth:"any"}),dayPeriod:buildMatchFn({matchPatterns:matchDayPeriodPatterns$d,defaultMatchWidth:"any",parsePatterns:parseDayPeriodPatterns$d,defaultParseWidth:"any"})},nn={code:"nn",formatDistance:formatDistance$d,formatLong:formatLong$d,formatRelative:formatRelative$d,localize:localize$d,match:match$d,options:{weekStartsOn:1,firstWeekContainsDate:4}},formatDistanceLocale$c={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$1(n,t){if(t===1)return n.one;const e=t%100;if(e<=20&&e>10)return n.other;const i=e%10;return i>=2&&i<=4?n.twoFour:n.other}function declension$3(n,t,e){const i=declensionGroup$1(n,t);return(typeof i=="string"?i:i[e]).replace("{{count}}",String(t))}const formatDistance$c=(n,t,e)=>{const i=formatDistanceLocale$c[n];return e!=null&&e.addSuffix?e.comparison&&e.comparison>0?"za "+declension$3(i,t,"future"):declension$3(i,t,"past")+" temu":declension$3(i,t,"regular")},dateFormats$c={full:"EEEE, do MMMM y",long:"do MMMM y",medium:"do MMM y",short:"dd.MM.y"},timeFormats$c={full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},dateTimeFormats$c={full:"{{date}} {{time}}",long:"{{date}} {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},formatLong$c={date:buildFormatLongFn({formats:dateFormats$c,defaultWidth:"full"}),time:buildFormatLongFn({formats:timeFormats$c,defaultWidth:"full"}),dateTime:buildFormatLongFn({formats:dateTimeFormats$c,defaultWidth:"full"})},adjectivesLastWeek={masculine:"ostatni",feminine:"ostatnia"},adjectivesThisWeek={masculine:"ten",feminine:"ta"},adjectivesNextWeek={masculine:"następny",feminine:"następna"},dayGrammaticalGender={0:"feminine",1:"masculine",2:"masculine",3:"feminine",4:"masculine",5:"masculine",6:"feminine"};function dayAndTimeWithAdjective(n,t,e,i){let r;if(isSameWeek(t,e,i))r=adjectivesThisWeek;else if(n==="lastWeek")r=adjectivesLastWeek;else if(n==="nextWeek")r=adjectivesNextWeek;else throw new Error(`Cannot determine adjectives for token ${n}`);const a=t.getDay(),o=dayGrammaticalGender[a];return`'${r[o]}' eeee 'o' p`}const formatRelativeLocale$c={lastWeek:dayAndTimeWithAdjective,yesterday:"'wczoraj o' p",today:"'dzisiaj o' p",tomorrow:"'jutro o' p",nextWeek:dayAndTimeWithAdjective,other:"P"},formatRelative$c=(n,t,e,i)=>{const r=formatRelativeLocale$c[n];return typeof r=="function"?r(n,t,e,i):r},eraValues$c={narrow:["p.n.e.","n.e."],abbreviated:["p.n.e.","n.e."],wide:["przed naszą erą","naszej ery"]},quarterValues$c={narrow:["1","2","3","4"],abbreviated:["I kw.","II kw.","III kw.","IV kw."],wide:["I kwartał","II kwartał","III kwartał","IV kwartał"]},monthValues$c={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ń"]},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"]},dayValues$c={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"]},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"]},dayPeriodValues$c={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"}},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"}},ordinalNumber$c=(n,t)=>String(n),localize$c={ordinalNumber:ordinalNumber$c,era:buildLocalizeFn({values:eraValues$c,defaultWidth:"wide"}),quarter:buildLocalizeFn({values:quarterValues$c,defaultWidth:"wide",argumentCallback:n=>n-1}),month:buildLocalizeFn({values:monthValues$c,defaultWidth:"wide",formattingValues:monthFormattingValues,defaultFormattingWidth:"wide"}),day:buildLocalizeFn({values:dayValues$c,defaultWidth:"wide",formattingValues:dayFormattingValues,defaultFormattingWidth:"wide"}),dayPeriod:buildLocalizeFn({values:dayPeriodValues$c,defaultWidth:"wide",formattingValues:dayPeriodFormattingValues,defaultFormattingWidth:"wide"})},matchOrdinalNumberPattern$c=/^(\d+)?/i,parseOrdinalNumberPattern$c=/\d+/i,matchEraPatterns$c={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},parseEraPatterns$c={any:[/^p/i,/^n/i]},matchQuarterPatterns$c={narrow:/^[1234]/i,abbreviated:/^(I|II|III|IV)\s*kw\.?/i,wide:/^(I|II|III|IV)\s*kwarta(ł|l)/i},parseQuarterPatterns$c={narrow:[/1/i,/2/i,/3/i,/4/i],any:[/^I kw/i,/^II kw/i,/^III kw/i,/^IV kw/i]},matchMonthPatterns$c={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},parseMonthPatterns$c={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]},matchDayPatterns$c={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},parseDayPatterns$c={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]},matchDayPeriodPatterns$c={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},parseDayPeriodPatterns$c={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}},match$c={ordinalNumber:buildMatchPatternFn({matchPattern:matchOrdinalNumberPattern$c,parsePattern:parseOrdinalNumberPattern$c,valueCallback:n=>parseInt(n,10)}),era:buildMatchFn({matchPatterns:matchEraPatterns$c,defaultMatchWidth:"wide",parsePatterns:parseEraPatterns$c,defaultParseWidth:"any"}),quarter:buildMatchFn({matchPatterns:matchQuarterPatterns$c,defaultMatchWidth:"wide",parsePatterns:parseQuarterPatterns$c,defaultParseWidth:"any",valueCallback:n=>n+1}),month:buildMatchFn({matchPatterns:matchMonthPatterns$c,defaultMatchWidth:"wide",parsePatterns:parseMonthPatterns$c,defaultParseWidth:"any"}),day:buildMatchFn({matchPatterns:matchDayPatterns$c,defaultMatchWidth:"wide",parsePatterns:parseDayPatterns$c,defaultParseWidth:"any"}),dayPeriod:buildMatchFn({matchPatterns:matchDayPeriodPatterns$c,defaultMatchWidth:"any",parsePatterns:parseDayPeriodPatterns$c,defaultParseWidth:"any"})},pl={code:"pl",formatDistance:formatDistance$c,formatLong:formatLong$c,formatRelative:formatRelative$c,localize:localize$c,match:match$c,options:{weekStartsOn:1,firstWeekContainsDate:4}},formatDistanceLocale$b={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"}},formatDistance$b=(n,t,e)=>{let i;const r=formatDistanceLocale$b[n];return typeof r=="string"?i=r:t===1?i=r.one:i=r.other.replace("{{count}}",String(t)),e!=null&&e.addSuffix?e.comparison&&e.comparison>0?"daqui a "+i:"há "+i:i},dateFormats$b={full:"EEEE, d 'de' MMMM 'de' y",long:"d 'de' MMMM 'de' y",medium:"d 'de' MMM 'de' y",short:"dd/MM/y"},timeFormats$b={full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},dateTimeFormats$b={full:"{{date}} 'às' {{time}}",long:"{{date}} 'às' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},formatLong$b={date:buildFormatLongFn({formats:dateFormats$b,defaultWidth:"full"}),time:buildFormatLongFn({formats:timeFormats$b,defaultWidth:"full"}),dateTime:buildFormatLongFn({formats:dateTimeFormats$b,defaultWidth:"full"})},formatRelativeLocale$b={lastWeek:n=>{const t=n.getDay();return"'"+(t===0||t===6?"último":"última")+"' eeee 'às' p"},yesterday:"'ontem às' p",today:"'hoje às' p",tomorrow:"'amanhã às' p",nextWeek:"eeee 'às' p",other:"P"},formatRelative$b=(n,t,e,i)=>{const r=formatRelativeLocale$b[n];return typeof r=="function"?r(t):r},eraValues$b={narrow:["aC","dC"],abbreviated:["a.C.","d.C."],wide:["antes de Cristo","depois de Cristo"]},quarterValues$b={narrow:["1","2","3","4"],abbreviated:["T1","T2","T3","T4"],wide:["1º trimestre","2º trimestre","3º trimestre","4º trimestre"]},monthValues$b={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"]},dayValues$b={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"]},dayPeriodValues$b={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"}},formattingDayPeriodValues$b={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"}},ordinalNumber$b=(n,t)=>Number(n)+"º",localize$b={ordinalNumber:ordinalNumber$b,era:buildLocalizeFn({values:eraValues$b,defaultWidth:"wide"}),quarter:buildLocalizeFn({values:quarterValues$b,defaultWidth:"wide",argumentCallback:n=>n-1}),month:buildLocalizeFn({values:monthValues$b,defaultWidth:"wide"}),day:buildLocalizeFn({values:dayValues$b,defaultWidth:"wide"}),dayPeriod:buildLocalizeFn({values:dayPeriodValues$b,defaultWidth:"wide",formattingValues:formattingDayPeriodValues$b,defaultFormattingWidth:"wide"})},matchOrdinalNumberPattern$b=/^(\d+)(º|ª)?/i,parseOrdinalNumberPattern$b=/\d+/i,matchEraPatterns$b={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},parseEraPatterns$b={any:[/^ac/i,/^dc/i],wide:[/^(antes de cristo|antes da era comum)/i,/^(depois de cristo|era comum)/i]},matchQuarterPatterns$b={narrow:/^[1234]/i,abbreviated:/^T[1234]/i,wide:/^[1234](º|ª)? trimestre/i},parseQuarterPatterns$b={any:[/1/i,/2/i,/3/i,/4/i]},matchMonthPatterns$b={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},parseMonthPatterns$b={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]},matchDayPatterns$b={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},parseDayPatterns$b={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]},matchDayPeriodPatterns$b={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},parseDayPeriodPatterns$b={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}},match$b={ordinalNumber:buildMatchPatternFn({matchPattern:matchOrdinalNumberPattern$b,parsePattern:parseOrdinalNumberPattern$b,valueCallback:n=>parseInt(n,10)}),era:buildMatchFn({matchPatterns:matchEraPatterns$b,defaultMatchWidth:"wide",parsePatterns:parseEraPatterns$b,defaultParseWidth:"any"}),quarter:buildMatchFn({matchPatterns:matchQuarterPatterns$b,defaultMatchWidth:"wide",parsePatterns:parseQuarterPatterns$b,defaultParseWidth:"any",valueCallback:n=>n+1}),month:buildMatchFn({matchPatterns:matchMonthPatterns$b,defaultMatchWidth:"wide",parsePatterns:parseMonthPatterns$b,defaultParseWidth:"any"}),day:buildMatchFn({matchPatterns:matchDayPatterns$b,defaultMatchWidth:"wide",parsePatterns:parseDayPatterns$b,defaultParseWidth:"any"}),dayPeriod:buildMatchFn({matchPatterns:matchDayPeriodPatterns$b,defaultMatchWidth:"any",parsePatterns:parseDayPeriodPatterns$b,defaultParseWidth:"any"})},pt={code:"pt",formatDistance:formatDistance$b,formatLong:formatLong$b,formatRelative:formatRelative$b,localize:localize$b,match:match$b,options:{weekStartsOn:1,firstWeekContainsDate:4}},formatDistanceLocale$a={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"}},formatDistance$a=(n,t,e)=>{let i;const r=formatDistanceLocale$a[n];return typeof r=="string"?i=r:t===1?i=r.one:i=r.other.replace("{{count}}",String(t)),e!=null&&e.addSuffix?e.comparison&&e.comparison>0?"em "+i:"há "+i:i},dateFormats$a={full:"EEEE, d 'de' MMMM 'de' y",long:"d 'de' MMMM 'de' y",medium:"d MMM y",short:"dd/MM/yyyy"},timeFormats$a={full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},dateTimeFormats$a={full:"{{date}} 'às' {{time}}",long:"{{date}} 'às' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},formatLong$a={date:buildFormatLongFn({formats:dateFormats$a,defaultWidth:"full"}),time:buildFormatLongFn({formats:timeFormats$a,defaultWidth:"full"}),dateTime:buildFormatLongFn({formats:dateTimeFormats$a,defaultWidth:"full"})},formatRelativeLocale$a={lastWeek:n=>{const t=n.getDay();return"'"+(t===0||t===6?"último":"última")+"' eeee 'às' p"},yesterday:"'ontem às' p",today:"'hoje às' p",tomorrow:"'amanhã às' p",nextWeek:"eeee 'às' p",other:"P"},formatRelative$a=(n,t,e,i)=>{const r=formatRelativeLocale$a[n];return typeof r=="function"?r(t):r},eraValues$a={narrow:["AC","DC"],abbreviated:["AC","DC"],wide:["antes de cristo","depois de cristo"]},quarterValues$a={narrow:["1","2","3","4"],abbreviated:["T1","T2","T3","T4"],wide:["1º trimestre","2º trimestre","3º trimestre","4º trimestre"]},monthValues$a={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"]},dayValues$a={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"]},dayPeriodValues$a={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"}},formattingDayPeriodValues$a={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"}},ordinalNumber$a=(n,t)=>{const e=Number(n);return(t==null?void 0:t.unit)==="week"?e+"ª":e+"º"},localize$a={ordinalNumber:ordinalNumber$a,era:buildLocalizeFn({values:eraValues$a,defaultWidth:"wide"}),quarter:buildLocalizeFn({values:quarterValues$a,defaultWidth:"wide",argumentCallback:n=>n-1}),month:buildLocalizeFn({values:monthValues$a,defaultWidth:"wide"}),day:buildLocalizeFn({values:dayValues$a,defaultWidth:"wide"}),dayPeriod:buildLocalizeFn({values:dayPeriodValues$a,defaultWidth:"wide",formattingValues:formattingDayPeriodValues$a,defaultFormattingWidth:"wide"})},matchOrdinalNumberPattern$a=/^(\d+)[ºªo]?/i,parseOrdinalNumberPattern$a=/\d+/i,matchEraPatterns$a={narrow:/^(ac|dc|a|d)/i,abbreviated:/^(a\.?\s?c\.?|d\.?\s?c\.?)/i,wide:/^(antes de cristo|depois de cristo)/i},parseEraPatterns$a={any:[/^ac/i,/^dc/i],wide:[/^antes de cristo/i,/^depois de cristo/i]},matchQuarterPatterns$a={narrow:/^[1234]/i,abbreviated:/^T[1234]/i,wide:/^[1234](º)? trimestre/i},parseQuarterPatterns$a={any:[/1/i,/2/i,/3/i,/4/i]},matchMonthPatterns$a={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},parseMonthPatterns$a={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]},matchDayPatterns$a={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},parseDayPatterns$a={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]},matchDayPeriodPatterns$a={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},parseDayPeriodPatterns$a={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}},match$a={ordinalNumber:buildMatchPatternFn({matchPattern:matchOrdinalNumberPattern$a,parsePattern:parseOrdinalNumberPattern$a,valueCallback:n=>parseInt(n,10)}),era:buildMatchFn({matchPatterns:matchEraPatterns$a,defaultMatchWidth:"wide",parsePatterns:parseEraPatterns$a,defaultParseWidth:"any"}),quarter:buildMatchFn({matchPatterns:matchQuarterPatterns$a,defaultMatchWidth:"wide",parsePatterns:parseQuarterPatterns$a,defaultParseWidth:"any",valueCallback:n=>n+1}),month:buildMatchFn({matchPatterns:matchMonthPatterns$a,defaultMatchWidth:"wide",parsePatterns:parseMonthPatterns$a,defaultParseWidth:"any"}),day:buildMatchFn({matchPatterns:matchDayPatterns$a,defaultMatchWidth:"wide",parsePatterns:parseDayPatterns$a,defaultParseWidth:"any"}),dayPeriod:buildMatchFn({matchPatterns:matchDayPeriodPatterns$a,defaultMatchWidth:"any",parsePatterns:parseDayPeriodPatterns$a,defaultParseWidth:"any"})},ptBR={code:"pt-BR",formatDistance:formatDistance$a,formatLong:formatLong$a,formatRelative:formatRelative$a,localize:localize$a,match:match$a,options:{weekStartsOn:0,firstWeekContainsDate:1}},formatDistanceLocale$9={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"}},formatDistance$9=(n,t,e)=>{let i;const r=formatDistanceLocale$9[n];return typeof r=="string"?i=r:t===1?i=r.one:i=r.other.replace("{{count}}",String(t)),e!=null&&e.addSuffix?e.comparison&&e.comparison>0?"în "+i:i+" în urmă":i},dateFormats$9={full:"EEEE, d MMMM yyyy",long:"d MMMM yyyy",medium:"d MMM yyyy",short:"dd.MM.yyyy"},timeFormats$9={full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},dateTimeFormats$9={full:"{{date}} 'la' {{time}}",long:"{{date}} 'la' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},formatLong$9={date:buildFormatLongFn({formats:dateFormats$9,defaultWidth:"full"}),time:buildFormatLongFn({formats:timeFormats$9,defaultWidth:"full"}),dateTime:buildFormatLongFn({formats:dateTimeFormats$9,defaultWidth:"full"})},formatRelativeLocale$9={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"},formatRelative$9=(n,t,e,i)=>formatRelativeLocale$9[n],eraValues$9={narrow:["Î","D"],abbreviated:["Î.d.C.","D.C."],wide:["Înainte de Cristos","După Cristos"]},quarterValues$9={narrow:["1","2","3","4"],abbreviated:["T1","T2","T3","T4"],wide:["primul trimestru","al doilea trimestru","al treilea trimestru","al patrulea trimestru"]},monthValues$9={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"]},dayValues$9={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ă"]},dayPeriodValues$9={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"}},formattingDayPeriodValues$9={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"}},ordinalNumber$9=(n,t)=>String(n),localize$9={ordinalNumber:ordinalNumber$9,era:buildLocalizeFn({values:eraValues$9,defaultWidth:"wide"}),quarter:buildLocalizeFn({values:quarterValues$9,defaultWidth:"wide",argumentCallback:n=>n-1}),month:buildLocalizeFn({values:monthValues$9,defaultWidth:"wide"}),day:buildLocalizeFn({values:dayValues$9,defaultWidth:"wide"}),dayPeriod:buildLocalizeFn({values:dayPeriodValues$9,defaultWidth:"wide",formattingValues:formattingDayPeriodValues$9,defaultFormattingWidth:"wide"})},matchOrdinalNumberPattern$9=/^(\d+)?/i,parseOrdinalNumberPattern$9=/\d+/i,matchEraPatterns$9={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},parseEraPatterns$9={any:[/^ÎC/i,/^DC/i],wide:[/^(Înainte de Cristos|Înaintea erei noastre)/i,/^(După Cristos|Era noastră)/i]},matchQuarterPatterns$9={narrow:/^[1234]/i,abbreviated:/^T[1234]/i,wide:/^trimestrul [1234]/i},parseQuarterPatterns$9={any:[/1/i,/2/i,/3/i,/4/i]},matchMonthPatterns$9={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},parseMonthPatterns$9={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]},matchDayPatterns$9={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},parseDayPatterns$9={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]},matchDayPeriodPatterns$9={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},parseDayPeriodPatterns$9={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}},match$9={ordinalNumber:buildMatchPatternFn({matchPattern:matchOrdinalNumberPattern$9,parsePattern:parseOrdinalNumberPattern$9,valueCallback:n=>parseInt(n,10)}),era:buildMatchFn({matchPatterns:matchEraPatterns$9,defaultMatchWidth:"wide",parsePatterns:parseEraPatterns$9,defaultParseWidth:"any"}),quarter:buildMatchFn({matchPatterns:matchQuarterPatterns$9,defaultMatchWidth:"wide",parsePatterns:parseQuarterPatterns$9,defaultParseWidth:"any",valueCallback:n=>n+1}),month:buildMatchFn({matchPatterns:matchMonthPatterns$9,defaultMatchWidth:"wide",parsePatterns:parseMonthPatterns$9,defaultParseWidth:"any"}),day:buildMatchFn({matchPatterns:matchDayPatterns$9,defaultMatchWidth:"wide",parsePatterns:parseDayPatterns$9,defaultParseWidth:"any"}),dayPeriod:buildMatchFn({matchPatterns:matchDayPeriodPatterns$9,defaultMatchWidth:"any",parsePatterns:parseDayPeriodPatterns$9,defaultParseWidth:"any"})},ro={code:"ro",formatDistance:formatDistance$9,formatLong:formatLong$9,formatRelative:formatRelative$9,localize:localize$9,match:match$9,options:{weekStartsOn:1,firstWeekContainsDate:1}};function declension$2(n,t){if(n.one!==void 0&&t===1)return n.one;const e=t%10,i=t%100;return e===1&&i!==11?n.singularNominative.replace("{{count}}",String(t)):e>=2&&e<=4&&(i<10||i>20)?n.singularGenitive.replace("{{count}}",String(t)):n.pluralGenitive.replace("{{count}}",String(t))}function buildLocalizeTokenFn$1(n){return(t,e)=>e!=null&&e.addSuffix?e.comparison&&e.comparison>0?n.future?declension$2(n.future,t):"через "+declension$2(n.regular,t):n.past?declension$2(n.past,t):declension$2(n.regular,t)+" назад":declension$2(n.regular,t)}const formatDistanceLocale$8={lessThanXSeconds:buildLocalizeTokenFn$1({regular:{one:"меньше секунды",singularNominative:"меньше {{count}} секунды",singularGenitive:"меньше {{count}} секунд",pluralGenitive:"меньше {{count}} секунд"},future:{one:"меньше, чем через секунду",singularNominative:"меньше, чем через {{count}} секунду",singularGenitive:"меньше, чем через {{count}} секунды",pluralGenitive:"меньше, чем через {{count}} секунд"}}),xSeconds:buildLocalizeTokenFn$1({regular:{singularNominative:"{{count}} секунда",singularGenitive:"{{count}} секунды",pluralGenitive:"{{count}} секунд"},past:{singularNominative:"{{count}} секунду назад",singularGenitive:"{{count}} секунды назад",pluralGenitive:"{{count}} секунд назад"},future:{singularNominative:"через {{count}} секунду",singularGenitive:"через {{count}} секунды",pluralGenitive:"через {{count}} секунд"}}),halfAMinute:(n,t)=>t!=null&&t.addSuffix?t.comparison&&t.comparison>0?"через полминуты":"полминуты назад":"полминуты",lessThanXMinutes:buildLocalizeTokenFn$1({regular:{one:"меньше минуты",singularNominative:"меньше {{count}} минуты",singularGenitive:"меньше {{count}} минут",pluralGenitive:"меньше {{count}} минут"},future:{one:"меньше, чем через минуту",singularNominative:"меньше, чем через {{count}} минуту",singularGenitive:"меньше, чем через {{count}} минуты",pluralGenitive:"меньше, чем через {{count}} минут"}}),xMinutes:buildLocalizeTokenFn$1({regular:{singularNominative:"{{count}} минута",singularGenitive:"{{count}} минуты",pluralGenitive:"{{count}} минут"},past:{singularNominative:"{{count}} минуту назад",singularGenitive:"{{count}} минуты назад",pluralGenitive:"{{count}} минут назад"},future:{singularNominative:"через {{count}} минуту",singularGenitive:"через {{count}} минуты",pluralGenitive:"через {{count}} минут"}}),aboutXHours:buildLocalizeTokenFn$1({regular:{singularNominative:"около {{count}} часа",singularGenitive:"около {{count}} часов",pluralGenitive:"около {{count}} часов"},future:{singularNominative:"приблизительно через {{count}} час",singularGenitive:"приблизительно через {{count}} часа",pluralGenitive:"приблизительно через {{count}} часов"}}),xHours:buildLocalizeTokenFn$1({regular:{singularNominative:"{{count}} час",singularGenitive:"{{count}} часа",pluralGenitive:"{{count}} часов"}}),xDays:buildLocalizeTokenFn$1({regular:{singularNominative:"{{count}} день",singularGenitive:"{{count}} дня",pluralGenitive:"{{count}} дней"}}),aboutXWeeks:buildLocalizeTokenFn$1({regular:{singularNominative:"около {{count}} недели",singularGenitive:"около {{count}} недель",pluralGenitive:"около {{count}} недель"},future:{singularNominative:"приблизительно через {{count}} неделю",singularGenitive:"приблизительно через {{count}} недели",pluralGenitive:"приблизительно через {{count}} недель"}}),xWeeks:buildLocalizeTokenFn$1({regular:{singularNominative:"{{count}} неделя",singularGenitive:"{{count}} недели",pluralGenitive:"{{count}} недель"}}),aboutXMonths:buildLocalizeTokenFn$1({regular:{singularNominative:"около {{count}} месяца",singularGenitive:"около {{count}} месяцев",pluralGenitive:"около {{count}} месяцев"},future:{singularNominative:"приблизительно через {{count}} месяц",singularGenitive:"приблизительно через {{count}} месяца",pluralGenitive:"приблизительно через {{count}} месяцев"}}),xMonths:buildLocalizeTokenFn$1({regular:{singularNominative:"{{count}} месяц",singularGenitive:"{{count}} месяца",pluralGenitive:"{{count}} месяцев"}}),aboutXYears:buildLocalizeTokenFn$1({regular:{singularNominative:"около {{count}} года",singularGenitive:"около {{count}} лет",pluralGenitive:"около {{count}} лет"},future:{singularNominative:"приблизительно через {{count}} год",singularGenitive:"приблизительно через {{count}} года",pluralGenitive:"приблизительно через {{count}} лет"}}),xYears:buildLocalizeTokenFn$1({regular:{singularNominative:"{{count}} год",singularGenitive:"{{count}} года",pluralGenitive:"{{count}} лет"}}),overXYears:buildLocalizeTokenFn$1({regular:{singularNominative:"больше {{count}} года",singularGenitive:"больше {{count}} лет",pluralGenitive:"больше {{count}} лет"},future:{singularNominative:"больше, чем через {{count}} год",singularGenitive:"больше, чем через {{count}} года",pluralGenitive:"больше, чем через {{count}} лет"}}),almostXYears:buildLocalizeTokenFn$1({regular:{singularNominative:"почти {{count}} год",singularGenitive:"почти {{count}} года",pluralGenitive:"почти {{count}} лет"},future:{singularNominative:"почти через {{count}} год",singularGenitive:"почти через {{count}} года",pluralGenitive:"почти через {{count}} лет"}})},formatDistance$8=(n,t,e)=>formatDistanceLocale$8[n](t,e),dateFormats$8={full:"EEEE, d MMMM y 'г.'",long:"d MMMM y 'г.'",medium:"d MMM y 'г.'",short:"dd.MM.y"},timeFormats$8={full:"H:mm:ss zzzz",long:"H:mm:ss z",medium:"H:mm:ss",short:"H:mm"},dateTimeFormats$8={any:"{{date}}, {{time}}"},formatLong$8={date:buildFormatLongFn({formats:dateFormats$8,defaultWidth:"full"}),time:buildFormatLongFn({formats:timeFormats$8,defaultWidth:"full"}),dateTime:buildFormatLongFn({formats:dateTimeFormats$8,defaultWidth:"any"})},accusativeWeekdays$2=["воскресенье","понедельник","вторник","среду","четверг","пятницу","субботу"];function lastWeek$2(n){const t=accusativeWeekdays$2[n];switch(n){case 0:return"'в прошлое "+t+" в' p";case 1:case 2:case 4:return"'в прошлый "+t+" в' p";case 3:case 5:case 6:return"'в прошлую "+t+" в' p"}}function thisWeek$2(n){const t=accusativeWeekdays$2[n];return n===2?"'во "+t+" в' p":"'в "+t+" в' p"}function nextWeek$2(n){const t=accusativeWeekdays$2[n];switch(n){case 0:return"'в следующее "+t+" в' p";case 1:case 2:case 4:return"'в следующий "+t+" в' p";case 3:case 5:case 6:return"'в следующую "+t+" в' p"}}const formatRelativeLocale$8={lastWeek:(n,t,e)=>{const i=n.getDay();return isSameWeek(n,t,e)?thisWeek$2(i):lastWeek$2(i)},yesterday:"'вчера в' p",today:"'сегодня в' p",tomorrow:"'завтра в' p",nextWeek:(n,t,e)=>{const i=n.getDay();return isSameWeek(n,t,e)?thisWeek$2(i):nextWeek$2(i)},other:"P"},formatRelative$8=(n,t,e,i)=>{const r=formatRelativeLocale$8[n];return typeof r=="function"?r(t,e,i):r},eraValues$8={narrow:["до н.э.","н.э."],abbreviated:["до н. э.","н. э."],wide:["до нашей эры","нашей эры"]},quarterValues$8={narrow:["1","2","3","4"],abbreviated:["1-й кв.","2-й кв.","3-й кв.","4-й кв."],wide:["1-й квартал","2-й квартал","3-й квартал","4-й квартал"]},monthValues$8={narrow:["Я","Ф","М","А","М","И","И","А","С","О","Н","Д"],abbreviated:["янв.","фев.","март","апр.","май","июнь","июль","авг.","сент.","окт.","нояб.","дек."],wide:["январь","февраль","март","апрель","май","июнь","июль","август","сентябрь","октябрь","ноябрь","декабрь"]},formattingMonthValues$3={narrow:["Я","Ф","М","А","М","И","И","А","С","О","Н","Д"],abbreviated:["янв.","фев.","мар.","апр.","мая","июн.","июл.","авг.","сент.","окт.","нояб.","дек."],wide:["января","февраля","марта","апреля","мая","июня","июля","августа","сентября","октября","ноября","декабря"]},dayValues$8={narrow:["В","П","В","С","Ч","П","С"],short:["вс","пн","вт","ср","чт","пт","сб"],abbreviated:["вск","пнд","втр","срд","чтв","птн","суб"],wide:["воскресенье","понедельник","вторник","среда","четверг","пятница","суббота"]},dayPeriodValues$8={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:"ночь"}},formattingDayPeriodValues$8={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:"ночи"}},ordinalNumber$8=(n,t)=>{const e=Number(n),i=t==null?void 0:t.unit;let r;return i==="date"?r="-е":i==="week"||i==="minute"||i==="second"?r="-я":r="-й",e+r},localize$8={ordinalNumber:ordinalNumber$8,era:buildLocalizeFn({values:eraValues$8,defaultWidth:"wide"}),quarter:buildLocalizeFn({values:quarterValues$8,defaultWidth:"wide",argumentCallback:n=>n-1}),month:buildLocalizeFn({values:monthValues$8,defaultWidth:"wide",formattingValues:formattingMonthValues$3,defaultFormattingWidth:"wide"}),day:buildLocalizeFn({values:dayValues$8,defaultWidth:"wide"}),dayPeriod:buildLocalizeFn({values:dayPeriodValues$8,defaultWidth:"any",formattingValues:formattingDayPeriodValues$8,defaultFormattingWidth:"wide"})},matchOrdinalNumberPattern$8=/^(\d+)(-?(е|я|й|ое|ье|ая|ья|ый|ой|ий|ый))?/i,parseOrdinalNumberPattern$8=/\d+/i,matchEraPatterns$8={narrow:/^((до )?н\.?\s?э\.?)/i,abbreviated:/^((до )?н\.?\s?э\.?)/i,wide:/^(до нашей эры|нашей эры|наша эра)/i},parseEraPatterns$8={any:[/^д/i,/^н/i]},matchQuarterPatterns$8={narrow:/^[1234]/i,abbreviated:/^[1234](-?[ыои]?й?)? кв.?/i,wide:/^[1234](-?[ыои]?й?)? квартал/i},parseQuarterPatterns$8={any:[/1/i,/2/i,/3/i,/4/i]},matchMonthPatterns$8={narrow:/^[яфмаисонд]/i,abbreviated:/^(янв|фев|март?|апр|ма[йя]|июн[ья]?|июл[ья]?|авг|сент?|окт|нояб?|дек)\.?/i,wide:/^(январ[ья]|феврал[ья]|марта?|апрел[ья]|ма[йя]|июн[ья]|июл[ья]|августа?|сентябр[ья]|октябр[ья]|октябр[ья]|ноябр[ья]|декабр[ья])/i},parseMonthPatterns$8={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]},matchDayPatterns$8={narrow:/^[впсч]/i,short:/^(вс|во|пн|по|вт|ср|чт|че|пт|пя|сб|су)\.?/i,abbreviated:/^(вск|вос|пнд|пон|втр|вто|срд|сре|чтв|чет|птн|пят|суб).?/i,wide:/^(воскресень[ея]|понедельника?|вторника?|сред[аы]|четверга?|пятниц[аы]|суббот[аы])/i},parseDayPatterns$8={narrow:[/^в/i,/^п/i,/^в/i,/^с/i,/^ч/i,/^п/i,/^с/i],any:[/^в[ос]/i,/^п[он]/i,/^в/i,/^ср/i,/^ч/i,/^п[ят]/i,/^с[уб]/i]},matchDayPeriodPatterns$8={narrow:/^([дп]п|полн\.?|полд\.?|утр[оа]|день|дня|веч\.?|ноч[ьи])/i,abbreviated:/^([дп]п|полн\.?|полд\.?|утр[оа]|день|дня|веч\.?|ноч[ьи])/i,wide:/^([дп]п|полночь|полдень|утр[оа]|день|дня|вечера?|ноч[ьи])/i},parseDayPeriodPatterns$8={any:{am:/^дп/i,pm:/^пп/i,midnight:/^полн/i,noon:/^полд/i,morning:/^у/i,afternoon:/^д[ен]/i,evening:/^в/i,night:/^н/i}},match$8={ordinalNumber:buildMatchPatternFn({matchPattern:matchOrdinalNumberPattern$8,parsePattern:parseOrdinalNumberPattern$8,valueCallback:n=>parseInt(n,10)}),era:buildMatchFn({matchPatterns:matchEraPatterns$8,defaultMatchWidth:"wide",parsePatterns:parseEraPatterns$8,defaultParseWidth:"any"}),quarter:buildMatchFn({matchPatterns:matchQuarterPatterns$8,defaultMatchWidth:"wide",parsePatterns:parseQuarterPatterns$8,defaultParseWidth:"any",valueCallback:n=>n+1}),month:buildMatchFn({matchPatterns:matchMonthPatterns$8,defaultMatchWidth:"wide",parsePatterns:parseMonthPatterns$8,defaultParseWidth:"any"}),day:buildMatchFn({matchPatterns:matchDayPatterns$8,defaultMatchWidth:"wide",parsePatterns:parseDayPatterns$8,defaultParseWidth:"any"}),dayPeriod:buildMatchFn({matchPatterns:matchDayPeriodPatterns$8,defaultMatchWidth:"wide",parsePatterns:parseDayPeriodPatterns$8,defaultParseWidth:"any"})},ru={code:"ru",formatDistance:formatDistance$8,formatLong:formatLong$8,formatRelative:formatRelative$8,localize:localize$8,match:match$8,options:{weekStartsOn:1,firstWeekContainsDate:1}};function declensionGroup(n,t){return t===1&&n.one?n.one:t>=2&&t<=4&&n.twoFour?n.twoFour:n.other}function declension$1(n,t,e){return declensionGroup(n,t)[e].replace("{{count}}",String(t))}function extractPreposition(n){return["lessThan","about","over","almost"].filter(function(e){return!!n.match(new RegExp("^"+e))})[0]}function prefixPreposition(n){let t="";return n==="almost"&&(t="takmer"),n==="about"&&(t="približne"),t.length>0?t+" ":""}function suffixPreposition(n){let t="";return n==="lessThan"&&(t="menej než"),n==="over"&&(t="viac než"),t.length>0?t+" ":""}function lowercaseFirstLetter(n){return n.charAt(0).toLowerCase()+n.slice(1)}const formatDistanceLocale$7={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"}}},formatDistance$7=(n,t,e)=>{const i=extractPreposition(n)||"",r=lowercaseFirstLetter(n.substring(i.length)),a=formatDistanceLocale$7[r];return e!=null&&e.addSuffix?e.comparison&&e.comparison>0?prefixPreposition(i)+"o "+suffixPreposition(i)+declension$1(a,t,"future"):prefixPreposition(i)+"pred "+suffixPreposition(i)+declension$1(a,t,"past"):prefixPreposition(i)+suffixPreposition(i)+declension$1(a,t,"present")},dateFormats$7={full:"EEEE d. MMMM y",long:"d. MMMM y",medium:"d. M. y",short:"d. M. y"},timeFormats$7={full:"H:mm:ss zzzz",long:"H:mm:ss z",medium:"H:mm:ss",short:"H:mm"},dateTimeFormats$7={full:"{{date}}, {{time}}",long:"{{date}}, {{time}}",medium:"{{date}}, {{time}}",short:"{{date}} {{time}}"},formatLong$7={date:buildFormatLongFn({formats:dateFormats$7,defaultWidth:"full"}),time:buildFormatLongFn({formats:timeFormats$7,defaultWidth:"full"}),dateTime:buildFormatLongFn({formats:dateTimeFormats$7,defaultWidth:"full"})},accusativeWeekdays$1=["nedeľu","pondelok","utorok","stredu","štvrtok","piatok","sobotu"];function lastWeek$1(n){const t=accusativeWeekdays$1[n];switch(n){case 0:case 3:case 6:return"'minulú "+t+" o' p";default:return"'minulý' eeee 'o' p"}}function thisWeek$1(n){const t=accusativeWeekdays$1[n];return n===4?"'vo' eeee 'o' p":"'v "+t+" o' p"}function nextWeek$1(n){const t=accusativeWeekdays$1[n];switch(n){case 0:case 4:case 6:return"'budúcu "+t+" o' p";default:return"'budúci' eeee 'o' p"}}const formatRelativeLocale$7={lastWeek:(n,t,e)=>{const i=n.getDay();return isSameWeek(n,t,e)?thisWeek$1(i):lastWeek$1(i)},yesterday:"'včera o' p",today:"'dnes o' p",tomorrow:"'zajtra o' p",nextWeek:(n,t,e)=>{const i=n.getDay();return isSameWeek(n,t,e)?thisWeek$1(i):nextWeek$1(i)},other:"P"},formatRelative$7=(n,t,e,i)=>{const r=formatRelativeLocale$7[n];return typeof r=="function"?r(t,e,i):r},eraValues$7={narrow:["pred Kr.","po Kr."],abbreviated:["pred Kr.","po Kr."],wide:["pred Kristom","po Kristovi"]},quarterValues$7={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1. štvrťrok","2. štvrťrok","3. štvrťrok","4. štvrťrok"]},monthValues$7={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"]},formattingMonthValues$2={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"]},dayValues$7={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"]},dayPeriodValues$7={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"}},formattingDayPeriodValues$7={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"}},ordinalNumber$7=(n,t)=>Number(n)+".",localize$7={ordinalNumber:ordinalNumber$7,era:buildLocalizeFn({values:eraValues$7,defaultWidth:"wide"}),quarter:buildLocalizeFn({values:quarterValues$7,defaultWidth:"wide",argumentCallback:n=>n-1}),month:buildLocalizeFn({values:monthValues$7,defaultWidth:"wide",formattingValues:formattingMonthValues$2,defaultFormattingWidth:"wide"}),day:buildLocalizeFn({values:dayValues$7,defaultWidth:"wide"}),dayPeriod:buildLocalizeFn({values:dayPeriodValues$7,defaultWidth:"wide",formattingValues:formattingDayPeriodValues$7,defaultFormattingWidth:"wide"})},matchOrdinalNumberPattern$7=/^(\d+)\.?/i,parseOrdinalNumberPattern$7=/\d+/i,matchEraPatterns$7={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},parseEraPatterns$7={any:[/^pr/i,/^(po|n)/i]},matchQuarterPatterns$7={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234]\. [šs]tvr[ťt]rok/i},parseQuarterPatterns$7={any:[/1/i,/2/i,/3/i,/4/i]},matchMonthPatterns$7={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},parseMonthPatterns$7={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]},matchDayPatterns$7={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},parseDayPatterns$7={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]},matchDayPeriodPatterns$7={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},parseDayPeriodPatterns$7={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}},match$7={ordinalNumber:buildMatchPatternFn({matchPattern:matchOrdinalNumberPattern$7,parsePattern:parseOrdinalNumberPattern$7,valueCallback:n=>parseInt(n,10)}),era:buildMatchFn({matchPatterns:matchEraPatterns$7,defaultMatchWidth:"wide",parsePatterns:parseEraPatterns$7,defaultParseWidth:"any"}),quarter:buildMatchFn({matchPatterns:matchQuarterPatterns$7,defaultMatchWidth:"wide",parsePatterns:parseQuarterPatterns$7,defaultParseWidth:"any",valueCallback:n=>n+1}),month:buildMatchFn({matchPatterns:matchMonthPatterns$7,defaultMatchWidth:"wide",parsePatterns:parseMonthPatterns$7,defaultParseWidth:"any"}),day:buildMatchFn({matchPatterns:matchDayPatterns$7,defaultMatchWidth:"wide",parsePatterns:parseDayPatterns$7,defaultParseWidth:"any"}),dayPeriod:buildMatchFn({matchPatterns:matchDayPeriodPatterns$7,defaultMatchWidth:"any",parsePatterns:parseDayPeriodPatterns$7,defaultParseWidth:"any"})},sk={code:"sk",formatDistance:formatDistance$7,formatLong:formatLong$7,formatRelative:formatRelative$7,localize:localize$7,match:match$7,options:{weekStartsOn:1,firstWeekContainsDate:4}};function isPluralType(n){return n.one!==void 0}const formatDistanceLocale$6={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"}},aboutXWeeks:{one:"približno {{count}} teden",two:"približno {{count}} tedna",few:"približno {{count}} tedne",other:"približno {{count}} tednov"},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(n){switch(n%100){case 1:return"one";case 2:return"two";case 3:case 4:return"few";default:return"other"}}const formatDistance$6=(n,t,e)=>{let i="",r="present";e!=null&&e.addSuffix&&(e.comparison&&e.comparison>0?(r="future",i="čez "):(r="past",i="pred "));const a=formatDistanceLocale$6[n];if(typeof a=="string")i+=a;else{const o=getFormFromCount(t);isPluralType(a)?i+=a[o].replace("{{count}}",String(t)):i+=a[r][o].replace("{{count}}",String(t))}return i},dateFormats$6={full:"EEEE, dd. MMMM y",long:"dd. MMMM y",medium:"d. MMM y",short:"d. MM. yy"},timeFormats$6={full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},dateTimeFormats$6={full:"{{date}} {{time}}",long:"{{date}} {{time}}",medium:"{{date}} {{time}}",short:"{{date}} {{time}}"},formatLong$6={date:buildFormatLongFn({formats:dateFormats$6,defaultWidth:"full"}),time:buildFormatLongFn({formats:timeFormats$6,defaultWidth:"full"}),dateTime:buildFormatLongFn({formats:dateTimeFormats$6,defaultWidth:"full"})},formatRelativeLocale$6={lastWeek:n=>{switch(n.getDay()){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:n=>{switch(n.getDay()){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"},formatRelative$6=(n,t,e,i)=>{const r=formatRelativeLocale$6[n];return typeof r=="function"?r(t):r},eraValues$6={narrow:["pr. n. št.","po n. št."],abbreviated:["pr. n. št.","po n. št."],wide:["pred našim štetjem","po našem štetju"]},quarterValues$6={narrow:["1","2","3","4"],abbreviated:["1. čet.","2. čet.","3. čet.","4. čet."],wide:["1. četrtletje","2. četrtletje","3. četrtletje","4. četrtletje"]},monthValues$6={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"]},dayValues$6={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"]},dayPeriodValues$6={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č"}},formattingDayPeriodValues$6={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"}},ordinalNumber$6=(n,t)=>Number(n)+".",localize$6={ordinalNumber:ordinalNumber$6,era:buildLocalizeFn({values:eraValues$6,defaultWidth:"wide"}),quarter:buildLocalizeFn({values:quarterValues$6,defaultWidth:"wide",argumentCallback:n=>n-1}),month:buildLocalizeFn({values:monthValues$6,defaultWidth:"wide"}),day:buildLocalizeFn({values:dayValues$6,defaultWidth:"wide"}),dayPeriod:buildLocalizeFn({values:dayPeriodValues$6,defaultWidth:"wide",formattingValues:formattingDayPeriodValues$6,defaultFormattingWidth:"wide"})},matchOrdinalNumberPattern$6=/^(\d+)\./i,parseOrdinalNumberPattern$6=/\d+/i,matchEraPatterns$6={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},parseEraPatterns$6={any:[/^pr/i,/^(po|na[sš]em)/i]},matchQuarterPatterns$6={narrow:/^[1234]/i,abbreviated:/^[1234]\.\s?[čc]et\.?/i,wide:/^[1234]\. [čc]etrtletje/i},parseQuarterPatterns$6={any:[/1/i,/2/i,/3/i,/4/i]},matchMonthPatterns$6={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},parseMonthPatterns$6={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]},matchDayPatterns$6={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},parseDayPatterns$6={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]},matchDayPeriodPatterns$6={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},parseDayPeriodPatterns$6={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}},match$6={ordinalNumber:buildMatchPatternFn({matchPattern:matchOrdinalNumberPattern$6,parsePattern:parseOrdinalNumberPattern$6,valueCallback:n=>parseInt(n,10)}),era:buildMatchFn({matchPatterns:matchEraPatterns$6,defaultMatchWidth:"wide",parsePatterns:parseEraPatterns$6,defaultParseWidth:"any"}),quarter:buildMatchFn({matchPatterns:matchQuarterPatterns$6,defaultMatchWidth:"wide",parsePatterns:parseQuarterPatterns$6,defaultParseWidth:"any",valueCallback:n=>n+1}),month:buildMatchFn({matchPatterns:matchMonthPatterns$6,defaultMatchWidth:"wide",parsePatterns:parseMonthPatterns$6,defaultParseWidth:"wide"}),day:buildMatchFn({matchPatterns:matchDayPatterns$6,defaultMatchWidth:"wide",parsePatterns:parseDayPatterns$6,defaultParseWidth:"any"}),dayPeriod:buildMatchFn({matchPatterns:matchDayPeriodPatterns$6,defaultMatchWidth:"any",parsePatterns:parseDayPeriodPatterns$6,defaultParseWidth:"any"})},sl={code:"sl",formatDistance:formatDistance$6,formatLong:formatLong$6,formatRelative:formatRelative$6,localize:localize$6,match:match$6,options:{weekStartsOn:1,firstWeekContainsDate:1}},formatDistanceLocale$5={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"}},wordMapping=["noll","en","två","tre","fyra","fem","sex","sju","åtta","nio","tio","elva","tolv"],formatDistance$5=(n,t,e)=>{let i;const r=formatDistanceLocale$5[n];return typeof r=="string"?i=r:t===1?i=r.one:i=r.other.replace("{{count}}",t<13?wordMapping[t]:String(t)),e!=null&&e.addSuffix?e.comparison&&e.comparison>0?"om "+i:i+" sedan":i},dateFormats$5={full:"EEEE d MMMM y",long:"d MMMM y",medium:"d MMM y",short:"y-MM-dd"},timeFormats$5={full:"'kl'. HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},dateTimeFormats$5={full:"{{date}} 'kl.' {{time}}",long:"{{date}} 'kl.' {{time}}",medium:"{{date}} {{time}}",short:"{{date}} {{time}}"},formatLong$5={date:buildFormatLongFn({formats:dateFormats$5,defaultWidth:"full"}),time:buildFormatLongFn({formats:timeFormats$5,defaultWidth:"full"}),dateTime:buildFormatLongFn({formats:dateTimeFormats$5,defaultWidth:"full"})},formatRelativeLocale$5={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"},formatRelative$5=(n,t,e,i)=>formatRelativeLocale$5[n],eraValues$5={narrow:["f.Kr.","e.Kr."],abbreviated:["f.Kr.","e.Kr."],wide:["före Kristus","efter Kristus"]},quarterValues$5={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1:a kvartalet","2:a kvartalet","3:e kvartalet","4:e kvartalet"]},monthValues$5={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"]},dayValues$5={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"]},dayPeriodValues$5={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"}},formattingDayPeriodValues$5={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"}},ordinalNumber$5=(n,t)=>{const e=Number(n),i=e%100;if(i>20||i<10)switch(i%10){case 1:case 2:return e+":a"}return e+":e"},localize$5={ordinalNumber:ordinalNumber$5,era:buildLocalizeFn({values:eraValues$5,defaultWidth:"wide"}),quarter:buildLocalizeFn({values:quarterValues$5,defaultWidth:"wide",argumentCallback:n=>n-1}),month:buildLocalizeFn({values:monthValues$5,defaultWidth:"wide"}),day:buildLocalizeFn({values:dayValues$5,defaultWidth:"wide"}),dayPeriod:buildLocalizeFn({values:dayPeriodValues$5,defaultWidth:"wide",formattingValues:formattingDayPeriodValues$5,defaultFormattingWidth:"wide"})},matchOrdinalNumberPattern$5=/^(\d+)(:a|:e)?/i,parseOrdinalNumberPattern$5=/\d+/i,matchEraPatterns$5={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},parseEraPatterns$5={any:[/^f/i,/^[ev]/i]},matchQuarterPatterns$5={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](:a|:e)? kvartalet/i},parseQuarterPatterns$5={any:[/1/i,/2/i,/3/i,/4/i]},matchMonthPatterns$5={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},parseMonthPatterns$5={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]},matchDayPatterns$5={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},parseDayPatterns$5={any:[/^s/i,/^m/i,/^ti/i,/^o/i,/^to/i,/^f/i,/^l/i]},matchDayPeriodPatterns$5={any:/^([fe]\.?\s?m\.?|midn(att)?|midd(ag)?|(på) (morgonen|eftermiddagen|kvällen|natten))/i},parseDayPeriodPatterns$5={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}},match$5={ordinalNumber:buildMatchPatternFn({matchPattern:matchOrdinalNumberPattern$5,parsePattern:parseOrdinalNumberPattern$5,valueCallback:n=>parseInt(n,10)}),era:buildMatchFn({matchPatterns:matchEraPatterns$5,defaultMatchWidth:"wide",parsePatterns:parseEraPatterns$5,defaultParseWidth:"any"}),quarter:buildMatchFn({matchPatterns:matchQuarterPatterns$5,defaultMatchWidth:"wide",parsePatterns:parseQuarterPatterns$5,defaultParseWidth:"any",valueCallback:n=>n+1}),month:buildMatchFn({matchPatterns:matchMonthPatterns$5,defaultMatchWidth:"wide",parsePatterns:parseMonthPatterns$5,defaultParseWidth:"any"}),day:buildMatchFn({matchPatterns:matchDayPatterns$5,defaultMatchWidth:"wide",parsePatterns:parseDayPatterns$5,defaultParseWidth:"any"}),dayPeriod:buildMatchFn({matchPatterns:matchDayPeriodPatterns$5,defaultMatchWidth:"any",parsePatterns:parseDayPeriodPatterns$5,defaultParseWidth:"any"})},sv={code:"sv",formatDistance:formatDistance$5,formatLong:formatLong$5,formatRelative:formatRelative$5,localize:localize$5,match:match$5,options:{weekStartsOn:1,firstWeekContainsDate:4}},formatDistanceLocale$4={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"}},formatDistance$4=(n,t,e)=>{let i;const r=formatDistanceLocale$4[n];return typeof r=="string"?i=r:t===1?i=r.one:i=r.other.replace("{{count}}",t.toString()),e!=null&&e.addSuffix?e.comparison&&e.comparison>0?i+" sonra":i+" önce":i},dateFormats$4={full:"d MMMM y EEEE",long:"d MMMM y",medium:"d MMM y",short:"dd.MM.yyyy"},timeFormats$4={full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},dateTimeFormats$4={full:"{{date}} 'saat' {{time}}",long:"{{date}} 'saat' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},formatLong$4={date:buildFormatLongFn({formats:dateFormats$4,defaultWidth:"full"}),time:buildFormatLongFn({formats:timeFormats$4,defaultWidth:"full"}),dateTime:buildFormatLongFn({formats:dateTimeFormats$4,defaultWidth:"full"})},formatRelativeLocale$4={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"},formatRelative$4=(n,t,e,i)=>formatRelativeLocale$4[n],eraValues$4={narrow:["MÖ","MS"],abbreviated:["MÖ","MS"],wide:["Milattan Önce","Milattan Sonra"]},quarterValues$4={narrow:["1","2","3","4"],abbreviated:["1Ç","2Ç","3Ç","4Ç"],wide:["İlk çeyrek","İkinci Çeyrek","Üçüncü çeyrek","Son çeyrek"]},monthValues$4={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"]},dayValues$4={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"]},dayPeriodValues$4={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"}},formattingDayPeriodValues$4={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"}},ordinalNumber$4=(n,t)=>Number(n)+".",localize$4={ordinalNumber:ordinalNumber$4,era:buildLocalizeFn({values:eraValues$4,defaultWidth:"wide"}),quarter:buildLocalizeFn({values:quarterValues$4,defaultWidth:"wide",argumentCallback:n=>Number(n)-1}),month:buildLocalizeFn({values:monthValues$4,defaultWidth:"wide"}),day:buildLocalizeFn({values:dayValues$4,defaultWidth:"wide"}),dayPeriod:buildLocalizeFn({values:dayPeriodValues$4,defaultWidth:"wide",formattingValues:formattingDayPeriodValues$4,defaultFormattingWidth:"wide"})},matchOrdinalNumberPattern$4=/^(\d+)(\.)?/i,parseOrdinalNumberPattern$4=/\d+/i,matchEraPatterns$4={narrow:/^(mö|ms)/i,abbreviated:/^(mö|ms)/i,wide:/^(milattan önce|milattan sonra)/i},parseEraPatterns$4={any:[/(^mö|^milattan önce)/i,/(^ms|^milattan sonra)/i]},matchQuarterPatterns$4={narrow:/^[1234]/i,abbreviated:/^[1234]ç/i,wide:/^((i|İ)lk|(i|İ)kinci|üçüncü|son) çeyrek/i},parseQuarterPatterns$4={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]},matchMonthPatterns$4={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},parseMonthPatterns$4={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]},matchDayPatterns$4={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},parseDayPatterns$4={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]},matchDayPeriodPatterns$4={narrow:/^(öö|ös|gy|ö|sa|ös|ak|ge)/i,any:/^(ö\.?\s?[ös]\.?|öğleden sonra|gece yarısı|öğle|(sabah|öğ|akşam|gece)(leyin))/i},parseDayPeriodPatterns$4={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}},match$4={ordinalNumber:buildMatchPatternFn({matchPattern:matchOrdinalNumberPattern$4,parsePattern:parseOrdinalNumberPattern$4,valueCallback:function(n){return parseInt(n,10)}}),era:buildMatchFn({matchPatterns:matchEraPatterns$4,defaultMatchWidth:"wide",parsePatterns:parseEraPatterns$4,defaultParseWidth:"any"}),quarter:buildMatchFn({matchPatterns:matchQuarterPatterns$4,defaultMatchWidth:"wide",parsePatterns:parseQuarterPatterns$4,defaultParseWidth:"any",valueCallback:n=>n+1}),month:buildMatchFn({matchPatterns:matchMonthPatterns$4,defaultMatchWidth:"wide",parsePatterns:parseMonthPatterns$4,defaultParseWidth:"any"}),day:buildMatchFn({matchPatterns:matchDayPatterns$4,defaultMatchWidth:"wide",parsePatterns:parseDayPatterns$4,defaultParseWidth:"any"}),dayPeriod:buildMatchFn({matchPatterns:matchDayPeriodPatterns$4,defaultMatchWidth:"any",parsePatterns:parseDayPeriodPatterns$4,defaultParseWidth:"any"})},tr={code:"tr",formatDistance:formatDistance$4,formatLong:formatLong$4,formatRelative:formatRelative$4,localize:localize$4,match:match$4,options:{weekStartsOn:1,firstWeekContainsDate:1}};function declension(n,t){if(n.one!==void 0&&t===1)return n.one;const e=t%10,i=t%100;return e===1&&i!==11?n.singularNominative.replace("{{count}}",String(t)):e>=2&&e<=4&&(i<10||i>20)?n.singularGenitive.replace("{{count}}",String(t)):n.pluralGenitive.replace("{{count}}",String(t))}function buildLocalizeTokenFn(n){return(t,e)=>e&&e.addSuffix?e.comparison&&e.comparison>0?n.future?declension(n.future,t):"за "+declension(n.regular,t):n.past?declension(n.past,t):declension(n.regular,t)+" тому":declension(n.regular,t)}const halfAtMinute=(n,t)=>t&&t.addSuffix?t.comparison&&t.comparison>0?"за півхвилини":"півхвилини тому":"півхвилини",formatDistanceLocale$3={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}} років"}})},formatDistance$3=(n,t,e)=>(e=e||{},formatDistanceLocale$3[n](t,e)),dateFormats$3={full:"EEEE, do MMMM y 'р.'",long:"do MMMM y 'р.'",medium:"d MMM y 'р.'",short:"dd.MM.y"},timeFormats$3={full:"H:mm:ss zzzz",long:"H:mm:ss z",medium:"H:mm:ss",short:"H:mm"},dateTimeFormats$3={full:"{{date}} 'о' {{time}}",long:"{{date}} 'о' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},formatLong$3={date:buildFormatLongFn({formats:dateFormats$3,defaultWidth:"full"}),time:buildFormatLongFn({formats:timeFormats$3,defaultWidth:"full"}),dateTime:buildFormatLongFn({formats:dateTimeFormats$3,defaultWidth:"full"})},accusativeWeekdays=["неділю","понеділок","вівторок","середу","четвер","п’ятницю","суботу"];function lastWeek(n){const t=accusativeWeekdays[n];switch(n){case 0:case 3:case 5:case 6:return"'у минулу "+t+" о' p";case 1:case 2:case 4:return"'у минулий "+t+" о' p"}}function thisWeek(n){return"'у "+accusativeWeekdays[n]+" о' p"}function nextWeek(n){const t=accusativeWeekdays[n];switch(n){case 0:case 3:case 5:case 6:return"'у наступну "+t+" о' p";case 1:case 2:case 4:return"'у наступний "+t+" о' p"}}const lastWeekFormat=(n,t,e)=>{const i=toDate(n),r=i.getDay();return isSameWeek(i,t,e)?thisWeek(r):lastWeek(r)},nextWeekFormat=(n,t,e)=>{const i=toDate(n),r=i.getDay();return isSameWeek(i,t,e)?thisWeek(r):nextWeek(r)},formatRelativeLocale$3={lastWeek:lastWeekFormat,yesterday:"'вчора о' p",today:"'сьогодні о' p",tomorrow:"'завтра о' p",nextWeek:nextWeekFormat,other:"P"},formatRelative$3=(n,t,e,i)=>{const r=formatRelativeLocale$3[n];return typeof r=="function"?r(t,e,i):r},eraValues$3={narrow:["до н.е.","н.е."],abbreviated:["до н. е.","н. е."],wide:["до нашої ери","нашої ери"]},quarterValues$3={narrow:["1","2","3","4"],abbreviated:["1-й кв.","2-й кв.","3-й кв.","4-й кв."],wide:["1-й квартал","2-й квартал","3-й квартал","4-й квартал"]},monthValues$3={narrow:["С","Л","Б","К","Т","Ч","Л","С","В","Ж","Л","Г"],abbreviated:["січ.","лют.","берез.","квіт.","трав.","черв.","лип.","серп.","верес.","жовт.","листоп.","груд."],wide:["січень","лютий","березень","квітень","травень","червень","липень","серпень","вересень","жовтень","листопад","грудень"]},formattingMonthValues$1={narrow:["С","Л","Б","К","Т","Ч","Л","С","В","Ж","Л","Г"],abbreviated:["січ.","лют.","берез.","квіт.","трав.","черв.","лип.","серп.","верес.","жовт.","листоп.","груд."],wide:["січня","лютого","березня","квітня","травня","червня","липня","серпня","вересня","жовтня","листопада","грудня"]},dayValues$3={narrow:["Н","П","В","С","Ч","П","С"],short:["нд","пн","вт","ср","чт","пт","сб"],abbreviated:["нед","пон","вів","сер","чтв","птн","суб"],wide:["неділя","понеділок","вівторок","середа","четвер","п’ятниця","субота"]},dayPeriodValues$3={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:"ніч"}},formattingDayPeriodValues$3={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:"ночі"}},ordinalNumber$3=(n,t)=>{const e=String(t==null?void 0:t.unit),i=Number(n);let r;return e==="date"?i===3||i===23?r="-є":r="-е":e==="minute"||e==="second"||e==="hour"?r="-а":r="-й",i+r},localize$3={ordinalNumber:ordinalNumber$3,era:buildLocalizeFn({values:eraValues$3,defaultWidth:"wide"}),quarter:buildLocalizeFn({values:quarterValues$3,defaultWidth:"wide",argumentCallback:n=>n-1}),month:buildLocalizeFn({values:monthValues$3,defaultWidth:"wide",formattingValues:formattingMonthValues$1,defaultFormattingWidth:"wide"}),day:buildLocalizeFn({values:dayValues$3,defaultWidth:"wide"}),dayPeriod:buildLocalizeFn({values:dayPeriodValues$3,defaultWidth:"any",formattingValues:formattingDayPeriodValues$3,defaultFormattingWidth:"wide"})},matchOrdinalNumberPattern$3=/^(\d+)(-?(е|й|є|а|я))?/i,parseOrdinalNumberPattern$3=/\d+/i,matchEraPatterns$3={narrow:/^((до )?н\.?\s?е\.?)/i,abbreviated:/^((до )?н\.?\s?е\.?)/i,wide:/^(до нашої ери|нашої ери|наша ера)/i},parseEraPatterns$3={any:[/^д/i,/^н/i]},matchQuarterPatterns$3={narrow:/^[1234]/i,abbreviated:/^[1234](-?[иі]?й?)? кв.?/i,wide:/^[1234](-?[иі]?й?)? квартал/i},parseQuarterPatterns$3={any:[/1/i,/2/i,/3/i,/4/i]},matchMonthPatterns$3={narrow:/^[слбктчвжг]/i,abbreviated:/^(січ|лют|бер(ез)?|квіт|трав|черв|лип|серп|вер(ес)?|жовт|лис(топ)?|груд)\.?/i,wide:/^(січень|січня|лютий|лютого|березень|березня|квітень|квітня|травень|травня|червня|червень|липень|липня|серпень|серпня|вересень|вересня|жовтень|жовтня|листопад[а]?|грудень|грудня)/i},parseMonthPatterns$3={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]},matchDayPatterns$3={narrow:/^[нпвсч]/i,short:/^(нд|пн|вт|ср|чт|пт|сб)\.?/i,abbreviated:/^(нед|пон|вів|сер|че?тв|птн?|суб)\.?/i,wide:/^(неділ[яі]|понеділ[ок][ка]|вівтор[ок][ка]|серед[аи]|четвер(га)?|п\W*?ятниц[яі]|субот[аи])/i},parseDayPatterns$3={narrow:[/^н/i,/^п/i,/^в/i,/^с/i,/^ч/i,/^п/i,/^с/i],any:[/^н/i,/^п[он]/i,/^в/i,/^с[ер]/i,/^ч/i,/^п\W*?[ят]/i,/^с[уб]/i]},matchDayPeriodPatterns$3={narrow:/^([дп]п|півн\.?|пол\.?|ранок|ранку|день|дня|веч\.?|ніч|ночі)/i,abbreviated:/^([дп]п|півн\.?|пол\.?|ранок|ранку|день|дня|веч\.?|ніч|ночі)/i,wide:/^([дп]п|північ|полудень|ранок|ранку|день|дня|вечір|вечора|ніч|ночі)/i},parseDayPeriodPatterns$3={any:{am:/^дп/i,pm:/^пп/i,midnight:/^півн/i,noon:/^пол/i,morning:/^р/i,afternoon:/^д[ен]/i,evening:/^в/i,night:/^н/i}},match$3={ordinalNumber:buildMatchPatternFn({matchPattern:matchOrdinalNumberPattern$3,parsePattern:parseOrdinalNumberPattern$3,valueCallback:n=>parseInt(n,10)}),era:buildMatchFn({matchPatterns:matchEraPatterns$3,defaultMatchWidth:"wide",parsePatterns:parseEraPatterns$3,defaultParseWidth:"any"}),quarter:buildMatchFn({matchPatterns:matchQuarterPatterns$3,defaultMatchWidth:"wide",parsePatterns:parseQuarterPatterns$3,defaultParseWidth:"any",valueCallback:n=>n+1}),month:buildMatchFn({matchPatterns:matchMonthPatterns$3,defaultMatchWidth:"wide",parsePatterns:parseMonthPatterns$3,defaultParseWidth:"any"}),day:buildMatchFn({matchPatterns:matchDayPatterns$3,defaultMatchWidth:"wide",parsePatterns:parseDayPatterns$3,defaultParseWidth:"any"}),dayPeriod:buildMatchFn({matchPatterns:matchDayPeriodPatterns$3,defaultMatchWidth:"wide",parsePatterns:parseDayPeriodPatterns$3,defaultParseWidth:"any"})},uk={code:"uk",formatDistance:formatDistance$3,formatLong:formatLong$3,formatRelative:formatRelative$3,localize:localize$3,match:match$3,options:{weekStartsOn:1,firstWeekContainsDate:1}},formatDistanceLocale$2={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"}},formatDistance$2=(n,t,e)=>{let i;const r=formatDistanceLocale$2[n];return typeof r=="string"?i=r:t===1?i=r.one:i=r.other.replace("{{count}}",String(t)),e!=null&&e.addSuffix?e.comparison&&e.comparison>0?i+" nữa":i+" trước":i},dateFormats$2={full:"EEEE, 'ngày' d MMMM 'năm' y",long:"'ngày' d MMMM 'năm' y",medium:"d MMM 'năm' y",short:"dd/MM/y"},timeFormats$2={full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},dateTimeFormats$2={full:"{{date}} {{time}}",long:"{{date}} {{time}}",medium:"{{date}} {{time}}",short:"{{date}} {{time}}"},formatLong$2={date:buildFormatLongFn({formats:dateFormats$2,defaultWidth:"full"}),time:buildFormatLongFn({formats:timeFormats$2,defaultWidth:"full"}),dateTime:buildFormatLongFn({formats:dateTimeFormats$2,defaultWidth:"full"})},formatRelativeLocale$2={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"},formatRelative$2=(n,t,e,i)=>formatRelativeLocale$2[n],eraValues$2={narrow:["TCN","SCN"],abbreviated:["trước CN","sau CN"],wide:["trước Công Nguyên","sau Công Nguyên"]},quarterValues$2={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["Quý 1","Quý 2","Quý 3","Quý 4"]},formattingQuarterValues={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["quý I","quý II","quý III","quý IV"]},monthValues$2={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"]},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"]},dayValues$2={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"]},dayPeriodValues$2={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"}},formattingDayPeriodValues$2={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"}},ordinalNumber$2=(n,t)=>{const e=Number(n),i=t==null?void 0:t.unit;if(i==="quarter")switch(e){case 1:return"I";case 2:return"II";case 3:return"III";case 4:return"IV"}else if(i==="day")switch(e){case 1:return"thứ 2";case 2:return"thứ 3";case 3:return"thứ 4";case 4:return"thứ 5";case 5:return"thứ 6";case 6:return"thứ 7";case 7:return"chủ nhật"}else{if(i==="week")return e===1?"thứ nhất":"thứ "+e;if(i==="dayOfYear")return e===1?"đầu tiên":"thứ "+e}return String(e)},localize$2={ordinalNumber:ordinalNumber$2,era:buildLocalizeFn({values:eraValues$2,defaultWidth:"wide"}),quarter:buildLocalizeFn({values:quarterValues$2,defaultWidth:"wide",formattingValues:formattingQuarterValues,defaultFormattingWidth:"wide",argumentCallback:n=>n-1}),month:buildLocalizeFn({values:monthValues$2,defaultWidth:"wide",formattingValues:formattingMonthValues,defaultFormattingWidth:"wide"}),day:buildLocalizeFn({values:dayValues$2,defaultWidth:"wide"}),dayPeriod:buildLocalizeFn({values:dayPeriodValues$2,defaultWidth:"wide",formattingValues:formattingDayPeriodValues$2,defaultFormattingWidth:"wide"})},matchOrdinalNumberPattern$2=/^(\d+)/i,parseOrdinalNumberPattern$2=/\d+/i,matchEraPatterns$2={narrow:/^(tcn|scn)/i,abbreviated:/^(trước CN|sau CN)/i,wide:/^(trước Công Nguyên|sau Công Nguyên)/i},parseEraPatterns$2={any:[/^t/i,/^s/i]},matchQuarterPatterns$2={narrow:/^([1234]|i{1,3}v?)/i,abbreviated:/^q([1234]|i{1,3}v?)/i,wide:/^quý ([1234]|i{1,3}v?)/i},parseQuarterPatterns$2={any:[/(1|i)$/i,/(2|ii)$/i,/(3|iii)$/i,/(4|iv)$/i]},matchMonthPatterns$2={narrow:/^(0?[2-9]|10|11|12|0?1)/i,abbreviated:/^thg[ _]?(0?[1-9](?!\d)|10|11|12)/i,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},parseMonthPatterns$2={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]},matchDayPatterns$2={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},parseDayPatterns$2={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]},matchDayPeriodPatterns$2={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},parseDayPeriodPatterns$2={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}},match$2={ordinalNumber:buildMatchPatternFn({matchPattern:matchOrdinalNumberPattern$2,parsePattern:parseOrdinalNumberPattern$2,valueCallback:n=>parseInt(n,10)}),era:buildMatchFn({matchPatterns:matchEraPatterns$2,defaultMatchWidth:"wide",parsePatterns:parseEraPatterns$2,defaultParseWidth:"any"}),quarter:buildMatchFn({matchPatterns:matchQuarterPatterns$2,defaultMatchWidth:"wide",parsePatterns:parseQuarterPatterns$2,defaultParseWidth:"any",valueCallback:n=>n+1}),month:buildMatchFn({matchPatterns:matchMonthPatterns$2,defaultMatchWidth:"wide",parsePatterns:parseMonthPatterns$2,defaultParseWidth:"wide"}),day:buildMatchFn({matchPatterns:matchDayPatterns$2,defaultMatchWidth:"wide",parsePatterns:parseDayPatterns$2,defaultParseWidth:"wide"}),dayPeriod:buildMatchFn({matchPatterns:matchDayPeriodPatterns$2,defaultMatchWidth:"wide",parsePatterns:parseDayPeriodPatterns$2,defaultParseWidth:"any"})},vi={code:"vi",formatDistance:formatDistance$2,formatLong:formatLong$2,formatRelative:formatRelative$2,localize:localize$2,match:match$2,options:{weekStartsOn:1,firstWeekContainsDate:1}},formatDistanceLocale$1={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}} 年"}},formatDistance$1=(n,t,e)=>{let i;const r=formatDistanceLocale$1[n];return typeof r=="string"?i=r:t===1?i=r.one:i=r.other.replace("{{count}}",String(t)),e!=null&&e.addSuffix?e.comparison&&e.comparison>0?i+"内":i+"前":i},dateFormats$1={full:"y'年'M'月'd'日' EEEE",long:"y'年'M'月'd'日'",medium:"yyyy-MM-dd",short:"yy-MM-dd"},timeFormats$1={full:"zzzz a h:mm:ss",long:"z a h:mm:ss",medium:"a h:mm:ss",short:"a h:mm"},dateTimeFormats$1={full:"{{date}} {{time}}",long:"{{date}} {{time}}",medium:"{{date}} {{time}}",short:"{{date}} {{time}}"},formatLong$1={date:buildFormatLongFn({formats:dateFormats$1,defaultWidth:"full"}),time:buildFormatLongFn({formats:timeFormats$1,defaultWidth:"full"}),dateTime:buildFormatLongFn({formats:dateTimeFormats$1,defaultWidth:"full"})};function checkWeek(n,t,e){const i="eeee p";return isSameWeek(n,t,e)?i:n.getTime()>t.getTime()?"'下个'"+i:"'上个'"+i}const formatRelativeLocale$1={lastWeek:checkWeek,yesterday:"'昨天' p",today:"'今天' p",tomorrow:"'明天' p",nextWeek:checkWeek,other:"PP p"},formatRelative$1=(n,t,e,i)=>{const r=formatRelativeLocale$1[n];return typeof r=="function"?r(t,e,i):r},eraValues$1={narrow:["前","公元"],abbreviated:["前","公元"],wide:["公元前","公元"]},quarterValues$1={narrow:["1","2","3","4"],abbreviated:["第一季","第二季","第三季","第四季"],wide:["第一季度","第二季度","第三季度","第四季度"]},monthValues$1={narrow:["一","二","三","四","五","六","七","八","九","十","十一","十二"],abbreviated:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],wide:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"]},dayValues$1={narrow:["日","一","二","三","四","五","六"],short:["日","一","二","三","四","五","六"],abbreviated:["周日","周一","周二","周三","周四","周五","周六"],wide:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"]},dayPeriodValues$1={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:"夜间"}},formattingDayPeriodValues$1={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:"夜间"}},ordinalNumber$1=(n,t)=>{const e=Number(n);switch(t==null?void 0:t.unit){case"date":return e.toString()+"日";case"hour":return e.toString()+"时";case"minute":return e.toString()+"分";case"second":return e.toString()+"秒";default:return"第 "+e.toString()}},localize$1={ordinalNumber:ordinalNumber$1,era:buildLocalizeFn({values:eraValues$1,defaultWidth:"wide"}),quarter:buildLocalizeFn({values:quarterValues$1,defaultWidth:"wide",argumentCallback:n=>n-1}),month:buildLocalizeFn({values:monthValues$1,defaultWidth:"wide"}),day:buildLocalizeFn({values:dayValues$1,defaultWidth:"wide"}),dayPeriod:buildLocalizeFn({values:dayPeriodValues$1,defaultWidth:"wide",formattingValues:formattingDayPeriodValues$1,defaultFormattingWidth:"wide"})},matchOrdinalNumberPattern$1=/^(第\s*)?\d+(日|时|分|秒)?/i,parseOrdinalNumberPattern$1=/\d+/i,matchEraPatterns$1={narrow:/^(前)/i,abbreviated:/^(前)/i,wide:/^(公元前|公元)/i},parseEraPatterns$1={any:[/^(前)/i,/^(公元)/i]},matchQuarterPatterns$1={narrow:/^[1234]/i,abbreviated:/^第[一二三四]刻/i,wide:/^第[一二三四]刻钟/i},parseQuarterPatterns$1={any:[/(1|一)/i,/(2|二)/i,/(3|三)/i,/(4|四)/i]},matchMonthPatterns$1={narrow:/^(一|二|三|四|五|六|七|八|九|十[二一])/i,abbreviated:/^(一|二|三|四|五|六|七|八|九|十[二一]|\d|1[12])月/i,wide:/^(一|二|三|四|五|六|七|八|九|十[二一])月/i},parseMonthPatterns$1={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]},matchDayPatterns$1={narrow:/^[一二三四五六日]/i,short:/^[一二三四五六日]/i,abbreviated:/^周[一二三四五六日]/i,wide:/^星期[一二三四五六日]/i},parseDayPatterns$1={any:[/日/i,/一/i,/二/i,/三/i,/四/i,/五/i,/六/i]},matchDayPeriodPatterns$1={any:/^(上午?|下午?|午夜|[中正]午|早上?|下午|晚上?|凌晨|)/i},parseDayPeriodPatterns$1={any:{am:/^上午?/i,pm:/^下午?/i,midnight:/^午夜/i,noon:/^[中正]午/i,morning:/^早上/i,afternoon:/^下午/i,evening:/^晚上?/i,night:/^凌晨/i}},match$1={ordinalNumber:buildMatchPatternFn({matchPattern:matchOrdinalNumberPattern$1,parsePattern:parseOrdinalNumberPattern$1,valueCallback:n=>parseInt(n,10)}),era:buildMatchFn({matchPatterns:matchEraPatterns$1,defaultMatchWidth:"wide",parsePatterns:parseEraPatterns$1,defaultParseWidth:"any"}),quarter:buildMatchFn({matchPatterns:matchQuarterPatterns$1,defaultMatchWidth:"wide",parsePatterns:parseQuarterPatterns$1,defaultParseWidth:"any",valueCallback:n=>n+1}),month:buildMatchFn({matchPatterns:matchMonthPatterns$1,defaultMatchWidth:"wide",parsePatterns:parseMonthPatterns$1,defaultParseWidth:"any"}),day:buildMatchFn({matchPatterns:matchDayPatterns$1,defaultMatchWidth:"wide",parsePatterns:parseDayPatterns$1,defaultParseWidth:"any"}),dayPeriod:buildMatchFn({matchPatterns:matchDayPeriodPatterns$1,defaultMatchWidth:"any",parsePatterns:parseDayPeriodPatterns$1,defaultParseWidth:"any"})},zhCN={code:"zh-CN",formatDistance:formatDistance$1,formatLong:formatLong$1,formatRelative:formatRelative$1,localize:localize$1,match:match$1,options:{weekStartsOn:1,firstWeekContainsDate:4}},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}} 年"}},formatDistance=(n,t,e)=>{let i;const r=formatDistanceLocale[n];return typeof r=="string"?i=r:t===1?i=r.one:i=r.other.replace("{{count}}",String(t)),e!=null&&e.addSuffix?e.comparison&&e.comparison>0?i+"內":i+"前":i},dateFormats={full:"y'年'M'月'd'日' EEEE",long:"y'年'M'月'd'日'",medium:"yyyy-MM-dd",short:"yy-MM-dd"},timeFormats={full:"zzzz a h:mm:ss",long:"z a h:mm:ss",medium:"a h:mm:ss",short:"a h:mm"},dateTimeFormats={full:"{{date}} {{time}}",long:"{{date}} {{time}}",medium:"{{date}} {{time}}",short:"{{date}} {{time}}"},formatLong={date:buildFormatLongFn({formats:dateFormats,defaultWidth:"full"}),time:buildFormatLongFn({formats:timeFormats,defaultWidth:"full"}),dateTime:buildFormatLongFn({formats:dateTimeFormats,defaultWidth:"full"})},formatRelativeLocale={lastWeek:"'上個'eeee p",yesterday:"'昨天' p",today:"'今天' p",tomorrow:"'明天' p",nextWeek:"'下個'eeee p",other:"P"},formatRelative=(n,t,e,i)=>formatRelativeLocale[n],eraValues={narrow:["前","公元"],abbreviated:["前","公元"],wide:["公元前","公元"]},quarterValues={narrow:["1","2","3","4"],abbreviated:["第一刻","第二刻","第三刻","第四刻"],wide:["第一刻鐘","第二刻鐘","第三刻鐘","第四刻鐘"]},monthValues={narrow:["一","二","三","四","五","六","七","八","九","十","十一","十二"],abbreviated:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],wide:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"]},dayValues={narrow:["日","一","二","三","四","五","六"],short:["日","一","二","三","四","五","六"],abbreviated:["週日","週一","週二","週三","週四","週五","週六"],wide:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"]},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:"夜間"}},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:"夜間"}},ordinalNumber=(n,t)=>{const e=Number(n);switch(t==null?void 0:t.unit){case"date":return e+"日";case"hour":return e+"時";case"minute":return e+"分";case"second":return e+"秒";default:return"第 "+e}},localize={ordinalNumber,era:buildLocalizeFn({values:eraValues,defaultWidth:"wide"}),quarter:buildLocalizeFn({values:quarterValues,defaultWidth:"wide",argumentCallback:n=>n-1}),month:buildLocalizeFn({values:monthValues,defaultWidth:"wide"}),day:buildLocalizeFn({values:dayValues,defaultWidth:"wide"}),dayPeriod:buildLocalizeFn({values:dayPeriodValues,defaultWidth:"wide",formattingValues:formattingDayPeriodValues,defaultFormattingWidth:"wide"})},matchOrdinalNumberPattern=/^(第\s*)?\d+(日|時|分|秒)?/i,parseOrdinalNumberPattern=/\d+/i,matchEraPatterns={narrow:/^(前)/i,abbreviated:/^(前)/i,wide:/^(公元前|公元)/i},parseEraPatterns={any:[/^(前)/i,/^(公元)/i]},matchQuarterPatterns={narrow:/^[1234]/i,abbreviated:/^第[一二三四]刻/i,wide:/^第[一二三四]刻鐘/i},parseQuarterPatterns={any:[/(1|一)/i,/(2|二)/i,/(3|三)/i,/(4|四)/i]},matchMonthPatterns={narrow:/^(一|二|三|四|五|六|七|八|九|十[二一])/i,abbreviated:/^(一|二|三|四|五|六|七|八|九|十[二一]|\d|1[12])月/i,wide:/^(一|二|三|四|五|六|七|八|九|十[二一])月/i},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]},matchDayPatterns={narrow:/^[一二三四五六日]/i,short:/^[一二三四五六日]/i,abbreviated:/^週[一二三四五六日]/i,wide:/^星期[一二三四五六日]/i},parseDayPatterns={any:[/日/i,/一/i,/二/i,/三/i,/四/i,/五/i,/六/i]},matchDayPeriodPatterns={any:/^(上午?|下午?|午夜|[中正]午|早上?|下午|晚上?|凌晨)/i},parseDayPeriodPatterns={any:{am:/^上午?/i,pm:/^下午?/i,midnight:/^午夜/i,noon:/^[中正]午/i,morning:/^早上/i,afternoon:/^下午/i,evening:/^晚上?/i,night:/^凌晨/i}},match={ordinalNumber:buildMatchPatternFn({matchPattern:matchOrdinalNumberPattern,parsePattern:parseOrdinalNumberPattern,valueCallback:n=>parseInt(n,10)}),era:buildMatchFn({matchPatterns:matchEraPatterns,defaultMatchWidth:"wide",parsePatterns:parseEraPatterns,defaultParseWidth:"any"}),quarter:buildMatchFn({matchPatterns:matchQuarterPatterns,defaultMatchWidth:"wide",parsePatterns:parseQuarterPatterns,defaultParseWidth:"any",valueCallback:n=>n+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"})},zhTW={code:"zh-TW",formatDistance,formatLong,formatRelative,localize,match,options:{weekStartsOn:1,firstWeekContainsDate:4}};/*! * @kurkle/color v0.3.2 * https://github.com/kurkle/color#readme * (c) 2023 Jukka Kurkela @@ -26,21 +27,20 @@ ${e?'Expression: "'+e+`" * https://www.chartjs.org * (c) 2023 Chart.js Contributors * Released under the MIT License - */function noop(){}const uid=(()=>{let n=0;return()=>n++})();function isNullOrUndef(n){return n===null||typeof n>"u"}function isArray(n){if(Array.isArray&&Array.isArray(n))return!0;const t=Object.prototype.toString.call(n);return t.slice(0,7)==="[object"&&t.slice(-6)==="Array]"}function isObject(n){return n!==null&&Object.prototype.toString.call(n)==="[object Object]"}function isNumberFinite(n){return(typeof n=="number"||n instanceof Number)&&isFinite(+n)}function finiteOrDefault(n,t){return isNumberFinite(n)?n:t}function valueOrDefault(n,t){return typeof n>"u"?t:n}const toPercentage=(n,t)=>typeof n=="string"&&n.endsWith("%")?parseFloat(n)/100:+n/t,toDimension=(n,t)=>typeof n=="string"&&n.endsWith("%")?parseFloat(n)/100*t:+n;function callback(n,t,e){if(n&&typeof n.call=="function")return n.apply(e,t)}function each$2(n,t,e,i){let r,a,o;if(isArray(n))if(a=n.length,i)for(r=a-1;r>=0;r--)t.call(e,n[r],r);else for(r=0;rn,x:n=>n.x,y:n=>n.y};function _splitKey(n){const t=n.split("."),e=[];let i="";for(const r of t)i+=r,i.endsWith("\\")?i=i.slice(0,-1)+".":(e.push(i),i="");return e}function _getKeyResolver(n){const t=_splitKey(n);return e=>{for(const i of t){if(i==="")break;e=e&&e[i]}return e}}function resolveObjectKey(n,t){return(keyResolvers[t]||(keyResolvers[t]=_getKeyResolver(t)))(n)}function _capitalize(n){return n.charAt(0).toUpperCase()+n.slice(1)}const defined$1=n=>typeof n<"u",isFunction=n=>typeof n=="function",setsEqual=(n,t)=>{if(n.size!==t.size)return!1;for(const e of n)if(!t.has(e))return!1;return!0};function _isClickEvent(n){return n.type==="mouseup"||n.type==="click"||n.type==="contextmenu"}const PI=Math.PI,TAU=2*PI,PITAU=TAU+PI,INFINITY=Number.POSITIVE_INFINITY,RAD_PER_DEG=PI/180,HALF_PI=PI/2,QUARTER_PI=PI/4,TWO_THIRDS_PI=PI*2/3,log10=Math.log10,sign=Math.sign;function almostEquals(n,t,e){return Math.abs(n-t)r-a).pop(),t}function isNumber(n){return!isNaN(parseFloat(n))&&isFinite(n)}function almostWhole(n,t){const e=Math.round(n);return e-t<=n&&e+t>=n}function _setMinAndMaxByKey(n,t,e){let i,r,a;for(i=0,r=n.length;iu&&d=Math.min(t,e)-i&&n<=Math.max(t,e)+i}function _lookup(n,t,e){e=e||(o=>n[o]1;)a=r+i>>1,e(a)?r=a:i=a;return{lo:r,hi:i}}const _lookupByKey=(n,t,e,i)=>_lookup(n,e,i?r=>{const a=n[r][t];return an[r][t]_lookup(n,e,i=>n[i][t]>=e);function _filterBetween(n,t,e){let i=0,r=n.length;for(;ii&&n[r-1]>e;)r--;return i>0||r{const i="_onData"+_capitalize(e),r=n[e];Object.defineProperty(n,e,{configurable:!0,enumerable:!1,value(...a){const o=r.apply(this,a);return n._chartjs.listeners.forEach(l=>{typeof l[i]=="function"&&l[i](...a)}),o}})})}function unlistenArrayEvents(n,t){const e=n._chartjs;if(!e)return;const i=e.listeners,r=i.indexOf(t);r!==-1&&i.splice(r,1),!(i.length>0)&&(arrayEvents.forEach(a=>{delete n[a]}),delete n._chartjs)}function _arrayUnique(n){const t=new Set(n);return t.size===n.length?n:Array.from(t)}const requestAnimFrame=function(){return typeof window>"u"?function(n){return n()}:window.requestAnimationFrame}();function throttled(n,t){let e=[],i=!1;return function(...r){e=r,i||(i=!0,requestAnimFrame.call(window,()=>{i=!1,n.apply(t,e)}))}}function debounce$2(n,t){let e;return function(...i){return t?(clearTimeout(e),e=setTimeout(n,t,i)):n.apply(this,i),t}}const _toLeftRightCenter=n=>n==="start"?"left":n==="end"?"right":"center",_alignStartEnd=(n,t,e)=>n==="start"?t:n==="end"?e:(t+e)/2,_textX=(n,t,e,i)=>n===(i?"left":"right")?e:n==="center"?(t+e)/2:t;function _getStartAndCountOfVisiblePoints(n,t,e){const i=t.length;let r=0,a=i;if(n._sorted){const{iScale:o,_parsed:l}=n,u=o.axis,{min:d,max:m,minDefined:p,maxDefined:_}=o.getUserBounds();p&&(r=_limitValue(Math.min(_lookupByKey(l,u,d).lo,e?i:_lookupByKey(t,u,o.getPixelForValue(d)).lo),0,i-1)),_?a=_limitValue(Math.max(_lookupByKey(l,o.axis,m,!0).hi+1,e?0:_lookupByKey(t,u,o.getPixelForValue(m),!0).hi+1),r,i)-r:a=i-r}return{start:r,count:a}}function _scaleRangesChanged(n){const{xScale:t,yScale:e,_scaleRanges:i}=n,r={xmin:t.min,xmax:t.max,ymin:e.min,ymax:e.max};if(!i)return n._scaleRanges=r,!0;const a=i.xmin!==t.min||i.xmax!==t.max||i.ymin!==e.min||i.ymax!==e.max;return Object.assign(i,r),a}const atEdge=n=>n===0||n===1,elasticIn=(n,t,e)=>-(Math.pow(2,10*(n-=1))*Math.sin((n-t)*TAU/e)),elasticOut=(n,t,e)=>Math.pow(2,-10*n)*Math.sin((n-t)*TAU/e)+1,effects={linear:n=>n,easeInQuad:n=>n*n,easeOutQuad:n=>-n*(n-2),easeInOutQuad:n=>(n/=.5)<1?.5*n*n:-.5*(--n*(n-2)-1),easeInCubic:n=>n*n*n,easeOutCubic:n=>(n-=1)*n*n+1,easeInOutCubic:n=>(n/=.5)<1?.5*n*n*n:.5*((n-=2)*n*n+2),easeInQuart:n=>n*n*n*n,easeOutQuart:n=>-((n-=1)*n*n*n-1),easeInOutQuart:n=>(n/=.5)<1?.5*n*n*n*n:-.5*((n-=2)*n*n*n-2),easeInQuint:n=>n*n*n*n*n,easeOutQuint:n=>(n-=1)*n*n*n*n+1,easeInOutQuint:n=>(n/=.5)<1?.5*n*n*n*n*n:.5*((n-=2)*n*n*n*n+2),easeInSine:n=>-Math.cos(n*HALF_PI)+1,easeOutSine:n=>Math.sin(n*HALF_PI),easeInOutSine:n=>-.5*(Math.cos(PI*n)-1),easeInExpo:n=>n===0?0:Math.pow(2,10*(n-1)),easeOutExpo:n=>n===1?1:-Math.pow(2,-10*n)+1,easeInOutExpo:n=>atEdge(n)?n:n<.5?.5*Math.pow(2,10*(n*2-1)):.5*(-Math.pow(2,-10*(n*2-1))+2),easeInCirc:n=>n>=1?n:-(Math.sqrt(1-n*n)-1),easeOutCirc:n=>Math.sqrt(1-(n-=1)*n),easeInOutCirc:n=>(n/=.5)<1?-.5*(Math.sqrt(1-n*n)-1):.5*(Math.sqrt(1-(n-=2)*n)+1),easeInElastic:n=>atEdge(n)?n:elasticIn(n,.075,.3),easeOutElastic:n=>atEdge(n)?n:elasticOut(n,.075,.3),easeInOutElastic(n){return atEdge(n)?n:n<.5?.5*elasticIn(n*2,.1125,.45):.5+.5*elasticOut(n*2-1,.1125,.45)},easeInBack(n){return n*n*((1.70158+1)*n-1.70158)},easeOutBack(n){return(n-=1)*n*((1.70158+1)*n+1.70158)+1},easeInOutBack(n){let t=1.70158;return(n/=.5)<1?.5*(n*n*(((t*=1.525)+1)*n-t)):.5*((n-=2)*n*(((t*=1.525)+1)*n+t)+2)},easeInBounce:n=>1-effects.easeOutBounce(1-n),easeOutBounce(n){return n<1/2.75?7.5625*n*n:n<2/2.75?7.5625*(n-=1.5/2.75)*n+.75:n<2.5/2.75?7.5625*(n-=2.25/2.75)*n+.9375:7.5625*(n-=2.625/2.75)*n+.984375},easeInOutBounce:n=>n<.5?effects.easeInBounce(n*2)*.5:effects.easeOutBounce(n*2-1)*.5+.5};function isPatternOrGradient(n){if(n&&typeof n=="object"){const t=n.toString();return t==="[object CanvasPattern]"||t==="[object CanvasGradient]"}return!1}function color(n){return isPatternOrGradient(n)?n:new Color(n)}function getHoverColor(n){return isPatternOrGradient(n)?n:new Color(n).saturate(.5).darken(.1).hexString()}const numbers=["x","y","borderWidth","radius","tension"],colors=["color","borderColor","backgroundColor"];function applyAnimationsDefaults(n){n.set("animation",{delay:void 0,duration:1e3,easing:"easeOutQuart",fn:void 0,from:void 0,loop:void 0,to:void 0,type:void 0}),n.describe("animation",{_fallback:!1,_indexable:!1,_scriptable:t=>t!=="onProgress"&&t!=="onComplete"&&t!=="fn"}),n.set("animations",{colors:{type:"color",properties:colors},numbers:{type:"number",properties:numbers}}),n.describe("animations",{_fallback:"animation"}),n.set("transitions",{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:"transparent"},visible:{type:"boolean",duration:0}}},hide:{animations:{colors:{to:"transparent"},visible:{type:"boolean",easing:"linear",fn:t=>t|0}}}})}function applyLayoutsDefaults(n){n.set("layout",{autoPadding:!0,padding:{top:0,right:0,bottom:0,left:0}})}const intlCache=new Map;function getNumberFormat(n,t){t=t||{};const e=n+JSON.stringify(t);let i=intlCache.get(e);return i||(i=new Intl.NumberFormat(n,t),intlCache.set(e,i)),i}function formatNumber(n,t,e){return getNumberFormat(t,e).format(n)}const formatters={values(n){return isArray(n)?n:""+n},numeric(n,t,e){if(n===0)return"0";const i=this.chart.options.locale;let r,a=n;if(e.length>1){const d=Math.max(Math.abs(e[0].value),Math.abs(e[e.length-1].value));(d<1e-4||d>1e15)&&(r="scientific"),a=calculateDelta(n,e)}const o=log10(Math.abs(a)),l=isNaN(o)?1:Math.max(Math.min(-1*Math.floor(o),20),0),u={notation:r,minimumFractionDigits:l,maximumFractionDigits:l};return Object.assign(u,this.options.ticks.format),formatNumber(n,i,u)},logarithmic(n,t,e){if(n===0)return"0";const i=e[t].significand||n/Math.pow(10,Math.floor(log10(n)));return[1,2,3,5,10,15].includes(i)||t>.8*e.length?formatters.numeric.call(this,n,t,e):""}};function calculateDelta(n,t){let e=t.length>3?t[2].value-t[1].value:t[1].value-t[0].value;return Math.abs(e)>=1&&n!==Math.floor(n)&&(e=n-Math.floor(n)),e}var Ticks={formatters};function applyScaleDefaults(n){n.set("scale",{display:!0,offset:!1,reverse:!1,beginAtZero:!1,bounds:"ticks",clip:!0,grace:0,grid:{display:!0,lineWidth:1,drawOnChartArea:!0,drawTicks:!0,tickLength:8,tickWidth:(t,e)=>e.lineWidth,tickColor:(t,e)=>e.color,offset:!1},border:{display:!0,dash:[],dashOffset:0,width:1},title:{display:!1,text:"",padding:{top:4,bottom:4}},ticks:{minRotation:0,maxRotation:50,mirror:!1,textStrokeWidth:0,textStrokeColor:"",padding:3,display:!0,autoSkip:!0,autoSkipPadding:3,labelOffset:0,callback:Ticks.formatters.values,minor:{},major:{},align:"center",crossAlign:"near",showLabelBackdrop:!1,backdropColor:"rgba(255, 255, 255, 0.75)",backdropPadding:2}}),n.route("scale.ticks","color","","color"),n.route("scale.grid","color","","borderColor"),n.route("scale.border","color","","borderColor"),n.route("scale.title","color","","color"),n.describe("scale",{_fallback:!1,_scriptable:t=>!t.startsWith("before")&&!t.startsWith("after")&&t!=="callback"&&t!=="parser",_indexable:t=>t!=="borderDash"&&t!=="tickBorderDash"&&t!=="dash"}),n.describe("scales",{_fallback:"scale"}),n.describe("scale.ticks",{_scriptable:t=>t!=="backdropPadding"&&t!=="callback",_indexable:t=>t!=="backdropPadding"})}const overrides=Object.create(null),descriptors=Object.create(null);function getScope$1(n,t){if(!t)return n;const e=t.split(".");for(let i=0,r=e.length;ii.chart.platform.getDevicePixelRatio(),this.elements={},this.events=["mousemove","mouseout","click","touchstart","touchmove"],this.font={family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",size:12,style:"normal",lineHeight:1.2,weight:null},this.hover={},this.hoverBackgroundColor=(i,r)=>getHoverColor(r.backgroundColor),this.hoverBorderColor=(i,r)=>getHoverColor(r.borderColor),this.hoverColor=(i,r)=>getHoverColor(r.color),this.indexAxis="x",this.interaction={mode:"nearest",intersect:!0,includeInvisible:!1},this.maintainAspectRatio=!0,this.onHover=null,this.onClick=null,this.parsing=!0,this.plugins={},this.responsive=!0,this.scale=void 0,this.scales={},this.showLine=!0,this.drawActiveElementsOnTop=!0,this.describe(t),this.apply(e)}set(t,e){return set(this,t,e)}get(t){return getScope$1(this,t)}describe(t,e){return set(descriptors,t,e)}override(t,e){return set(overrides,t,e)}route(t,e,i,r){const a=getScope$1(this,t),o=getScope$1(this,i),l="_"+e;Object.defineProperties(a,{[l]:{value:a[e],writable:!0},[e]:{enumerable:!0,get(){const u=this[l],d=o[r];return isObject(u)?Object.assign({},d,u):valueOrDefault(u,d)},set(u){this[l]=u}}})}apply(t){t.forEach(e=>e(this))}}var defaults$2=new Defaults({_scriptable:n=>!n.startsWith("on"),_indexable:n=>n!=="events",hover:{_fallback:"interaction"},interaction:{_scriptable:!1,_indexable:!1}},[applyAnimationsDefaults,applyLayoutsDefaults,applyScaleDefaults]);function toFontString(n){return!n||isNullOrUndef(n.size)||isNullOrUndef(n.family)?null:(n.style?n.style+" ":"")+(n.weight?n.weight+" ":"")+n.size+"px "+n.family}function _measureText(n,t,e,i,r){let a=t[r];return a||(a=t[r]=n.measureText(r).width,e.push(r)),a>i&&(i=a),i}function _longestText(n,t,e,i){i=i||{};let r=i.data=i.data||{},a=i.garbageCollect=i.garbageCollect||[];i.font!==t&&(r=i.data={},a=i.garbageCollect=[],i.font=t),n.save(),n.font=t;let o=0;const l=e.length;let u,d,m,p,_;for(u=0;ue.length){for(u=0;u0&&n.stroke()}}function _isPointInArea(n,t,e){return e=e||.5,!t||n&&n.x>t.left-e&&n.xt.top-e&&n.y0&&a.strokeColor!=="";let u,d;for(n.save(),n.font=r.string,setRenderOpts(n,a),u=0;u+n||0;function _readValueToProps(n,t){const e={},i=isObject(t),r=i?Object.keys(t):t,a=isObject(n)?i?o=>valueOrDefault(n[o],n[t[o]]):o=>n[o]:()=>n;for(const o of r)e[o]=numberOrZero(a(o));return e}function toTRBL(n){return _readValueToProps(n,{top:"y",right:"x",bottom:"y",left:"x"})}function toTRBLCorners(n){return _readValueToProps(n,["topLeft","topRight","bottomLeft","bottomRight"])}function toPadding(n){const t=toTRBL(n);return t.width=t.left+t.right,t.height=t.top+t.bottom,t}function toFont(n,t){n=n||{},t=t||defaults$2.font;let e=valueOrDefault(n.size,t.size);typeof e=="string"&&(e=parseInt(e,10));let i=valueOrDefault(n.style,t.style);i&&!(""+i).match(FONT_STYLE)&&(console.warn('Invalid font style specified: "'+i+'"'),i=void 0);const r={family:valueOrDefault(n.family,t.family),lineHeight:toLineHeight(valueOrDefault(n.lineHeight,t.lineHeight),e),size:e,style:i,weight:valueOrDefault(n.weight,t.weight),string:""};return r.string=toFontString(r),r}function resolve(n,t,e,i){let r=!0,a,o,l;for(a=0,o=n.length;ae&&l===0?0:l+u;return{min:o(i,-Math.abs(a)),max:o(r,a)}}function createContext(n,t){return Object.assign(Object.create(n),t)}function _createResolver(n,t=[""],e,i,r=()=>n[0]){const a=e||n;typeof i>"u"&&(i=_resolve("_fallback",n));const o={[Symbol.toStringTag]:"Object",_cacheable:!0,_scopes:n,_rootScopes:a,_fallback:i,_getTarget:r,override:l=>_createResolver([l,...n],t,a,i)};return new Proxy(o,{deleteProperty(l,u){return delete l[u],delete l._keys,delete n[0][u],!0},get(l,u){return _cached(l,u,()=>_resolveWithPrefixes(u,t,n,l))},getOwnPropertyDescriptor(l,u){return Reflect.getOwnPropertyDescriptor(l._scopes[0],u)},getPrototypeOf(){return Reflect.getPrototypeOf(n[0])},has(l,u){return getKeysFromAllScopes(l).includes(u)},ownKeys(l){return getKeysFromAllScopes(l)},set(l,u,d){const m=l._storage||(l._storage=r());return l[u]=m[u]=d,delete l._keys,!0}})}function _attachContext(n,t,e,i){const r={_cacheable:!1,_proxy:n,_context:t,_subProxy:e,_stack:new Set,_descriptors:_descriptors(n,i),setContext:a=>_attachContext(n,a,e,i),override:a=>_attachContext(n.override(a),t,e,i)};return new Proxy(r,{deleteProperty(a,o){return delete a[o],delete n[o],!0},get(a,o,l){return _cached(a,o,()=>_resolveWithContext(a,o,l))},getOwnPropertyDescriptor(a,o){return a._descriptors.allKeys?Reflect.has(n,o)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(n,o)},getPrototypeOf(){return Reflect.getPrototypeOf(n)},has(a,o){return Reflect.has(n,o)},ownKeys(){return Reflect.ownKeys(n)},set(a,o,l){return n[o]=l,delete a[o],!0}})}function _descriptors(n,t={scriptable:!0,indexable:!0}){const{_scriptable:e=t.scriptable,_indexable:i=t.indexable,_allKeys:r=t.allKeys}=n;return{allKeys:r,scriptable:e,indexable:i,isScriptable:isFunction(e)?e:()=>e,isIndexable:isFunction(i)?i:()=>i}}const readKey=(n,t)=>n?n+_capitalize(t):t,needsSubResolver=(n,t)=>isObject(t)&&n!=="adapters"&&(Object.getPrototypeOf(t)===null||t.constructor===Object);function _cached(n,t,e){if(Object.prototype.hasOwnProperty.call(n,t))return n[t];const i=e();return n[t]=i,i}function _resolveWithContext(n,t,e){const{_proxy:i,_context:r,_subProxy:a,_descriptors:o}=n;let l=i[t];return isFunction(l)&&o.isScriptable(t)&&(l=_resolveScriptable(t,l,n,e)),isArray(l)&&l.length&&(l=_resolveArray(t,l,n,o.isIndexable)),needsSubResolver(t,l)&&(l=_attachContext(l,r,a&&a[t],o)),l}function _resolveScriptable(n,t,e,i){const{_proxy:r,_context:a,_subProxy:o,_stack:l}=e;if(l.has(n))throw new Error("Recursion detected: "+Array.from(l).join("->")+"->"+n);l.add(n);let u=t(a,o||i);return l.delete(n),needsSubResolver(n,u)&&(u=createSubResolver(r._scopes,r,n,u)),u}function _resolveArray(n,t,e,i){const{_proxy:r,_context:a,_subProxy:o,_descriptors:l}=e;if(typeof a.index<"u"&&i(n))return t[a.index%t.length];if(isObject(t[0])){const u=t,d=r._scopes.filter(m=>m!==u);t=[];for(const m of u){const p=createSubResolver(d,r,n,m);t.push(_attachContext(p,a,o&&o[n],l))}}return t}function resolveFallback(n,t,e){return isFunction(n)?n(t,e):n}const getScope=(n,t)=>n===!0?t:typeof n=="string"?resolveObjectKey(t,n):void 0;function addScopes(n,t,e,i,r){for(const a of t){const o=getScope(e,a);if(o){n.add(o);const l=resolveFallback(o._fallback,e,r);if(typeof l<"u"&&l!==e&&l!==i)return l}else if(o===!1&&typeof i<"u"&&e!==i)return null}return!1}function createSubResolver(n,t,e,i){const r=t._rootScopes,a=resolveFallback(t._fallback,e,i),o=[...n,...r],l=new Set;l.add(i);let u=addScopesFromKey(l,o,e,a||e,i);return u===null||typeof a<"u"&&a!==e&&(u=addScopesFromKey(l,o,a,u,i),u===null)?!1:_createResolver(Array.from(l),[""],r,a,()=>subGetTarget(t,e,i))}function addScopesFromKey(n,t,e,i,r){for(;e;)e=addScopes(n,t,e,i,r);return e}function subGetTarget(n,t,e){const i=n._getTarget();t in i||(i[t]={});const r=i[t];return isArray(r)&&isObject(e)?e:r||{}}function _resolveWithPrefixes(n,t,e,i){let r;for(const a of t)if(r=_resolve(readKey(a,n),e),typeof r<"u")return needsSubResolver(n,r)?createSubResolver(e,i,n,r):r}function _resolve(n,t){for(const e of t){if(!e)continue;const i=e[n];if(typeof i<"u")return i}}function getKeysFromAllScopes(n){let t=n._keys;return t||(t=n._keys=resolveKeysFromAllScopes(n._scopes)),t}function resolveKeysFromAllScopes(n){const t=new Set;for(const e of n)for(const i of Object.keys(e).filter(r=>!r.startsWith("_")))t.add(i);return Array.from(t)}function _parseObjectDataRadialScale(n,t,e,i){const{iScale:r}=n,{key:a="r"}=this._parsing,o=new Array(i);let l,u,d,m;for(l=0,u=i;ltn==="x"?"y":"x";function splineCurve(n,t,e,i){const r=n.skip?t:n,a=t,o=e.skip?t:e,l=distanceBetweenPoints(a,r),u=distanceBetweenPoints(o,a);let d=l/(l+u),m=u/(l+u);d=isNaN(d)?0:d,m=isNaN(m)?0:m;const p=i*d,_=i*m;return{previous:{x:a.x-p*(o.x-r.x),y:a.y-p*(o.y-r.y)},next:{x:a.x+_*(o.x-r.x),y:a.y+_*(o.y-r.y)}}}function monotoneAdjust(n,t,e){const i=n.length;let r,a,o,l,u,d=getPoint(n,0);for(let m=0;m!d.skip)),t.cubicInterpolationMode==="monotone")splineCurveMonotone(n,r);else{let d=i?n[n.length-1]:n[0];for(a=0,o=n.length;an.ownerDocument.defaultView.getComputedStyle(n,null);function getStyle(n,t){return getComputedStyle$1(n).getPropertyValue(t)}const positions=["top","right","bottom","left"];function getPositionedStyle(n,t,e){const i={};e=e?"-"+e:"";for(let r=0;r<4;r++){const a=positions[r];i[a]=parseFloat(n[t+"-"+a+e])||0}return i.width=i.left+i.right,i.height=i.top+i.bottom,i}const useOffsetPos=(n,t,e)=>(n>0||t>0)&&(!e||!e.shadowRoot);function getCanvasPosition(n,t){const e=n.touches,i=e&&e.length?e[0]:n,{offsetX:r,offsetY:a}=i;let o=!1,l,u;if(useOffsetPos(r,a,n.target))l=r,u=a;else{const d=t.getBoundingClientRect();l=i.clientX-d.left,u=i.clientY-d.top,o=!0}return{x:l,y:u,box:o}}function getRelativePosition(n,t){if("native"in n)return n;const{canvas:e,currentDevicePixelRatio:i}=t,r=getComputedStyle$1(e),a=r.boxSizing==="border-box",o=getPositionedStyle(r,"padding"),l=getPositionedStyle(r,"border","width"),{x:u,y:d,box:m}=getCanvasPosition(n,e),p=o.left+(m&&l.left),_=o.top+(m&&l.top);let{width:y,height:w}=t;return a&&(y-=o.width+l.width,w-=o.height+l.height),{x:Math.round((u-p)/y*e.width/i),y:Math.round((d-_)/w*e.height/i)}}function getContainerSize(n,t,e){let i,r;if(t===void 0||e===void 0){const a=_getParentNode(n);if(!a)t=n.clientWidth,e=n.clientHeight;else{const o=a.getBoundingClientRect(),l=getComputedStyle$1(a),u=getPositionedStyle(l,"border","width"),d=getPositionedStyle(l,"padding");t=o.width-d.width-u.width,e=o.height-d.height-u.height,i=parseMaxStyle(l.maxWidth,a,"clientWidth"),r=parseMaxStyle(l.maxHeight,a,"clientHeight")}}return{width:t,height:e,maxWidth:i||INFINITY,maxHeight:r||INFINITY}}const round1=n=>Math.round(n*10)/10;function getMaximumSize(n,t,e,i){const r=getComputedStyle$1(n),a=getPositionedStyle(r,"margin"),o=parseMaxStyle(r.maxWidth,n,"clientWidth")||INFINITY,l=parseMaxStyle(r.maxHeight,n,"clientHeight")||INFINITY,u=getContainerSize(n,t,e);let{width:d,height:m}=u;if(r.boxSizing==="content-box"){const _=getPositionedStyle(r,"border","width"),y=getPositionedStyle(r,"padding");d-=y.width+_.width,m-=y.height+_.height}return d=Math.max(0,d-a.width),m=Math.max(0,i?d/i:m-a.height),d=round1(Math.min(d,o,u.maxWidth)),m=round1(Math.min(m,l,u.maxHeight)),d&&!m&&(m=round1(d/2)),(t!==void 0||e!==void 0)&&i&&u.height&&m>u.height&&(m=u.height,d=round1(Math.floor(m*i))),{width:d,height:m}}function retinaScale(n,t,e){const i=t||1,r=Math.floor(n.height*i),a=Math.floor(n.width*i);n.height=Math.floor(n.height),n.width=Math.floor(n.width);const o=n.canvas;return o.style&&(e||!o.style.height&&!o.style.width)&&(o.style.height=`${n.height}px`,o.style.width=`${n.width}px`),n.currentDevicePixelRatio!==i||o.height!==r||o.width!==a?(n.currentDevicePixelRatio=i,o.height=r,o.width=a,n.ctx.setTransform(i,0,0,i,0,0),!0):!1}const supportsEventListenerOptions=function(){let n=!1;try{const t={get passive(){return n=!0,!1}};_isDomSupported()&&(window.addEventListener("test",null,t),window.removeEventListener("test",null,t))}catch{}return n}();function readUsedSize(n,t){const e=getStyle(n,t),i=e&&e.match(/^(\d+)(\.\d+)?px$/);return i?+i[1]:void 0}function _pointInLine(n,t,e,i){return{x:n.x+e*(t.x-n.x),y:n.y+e*(t.y-n.y)}}function _steppedInterpolation(n,t,e,i){return{x:n.x+e*(t.x-n.x),y:i==="middle"?e<.5?n.y:t.y:i==="after"?e<1?n.y:t.y:e>0?t.y:n.y}}function _bezierInterpolation(n,t,e,i){const r={x:n.cp2x,y:n.cp2y},a={x:t.cp1x,y:t.cp1y},o=_pointInLine(n,r,e),l=_pointInLine(r,a,e),u=_pointInLine(a,t,e),d=_pointInLine(o,l,e),m=_pointInLine(l,u,e);return _pointInLine(d,m,e)}const getRightToLeftAdapter=function(n,t){return{x(e){return n+n+t-e},setWidth(e){t=e},textAlign(e){return e==="center"?e:e==="right"?"left":"right"},xPlus(e,i){return e-i},leftForLtr(e,i){return e-i}}},getLeftToRightAdapter=function(){return{x(n){return n},setWidth(n){},textAlign(n){return n},xPlus(n,t){return n+t},leftForLtr(n,t){return n}}};function getRtlAdapter(n,t,e){return n?getRightToLeftAdapter(t,e):getLeftToRightAdapter()}function overrideTextDirection(n,t){let e,i;(t==="ltr"||t==="rtl")&&(e=n.canvas.style,i=[e.getPropertyValue("direction"),e.getPropertyPriority("direction")],e.setProperty("direction",t,"important"),n.prevTextDirection=i)}function restoreTextDirection(n,t){t!==void 0&&(delete n.prevTextDirection,n.canvas.style.setProperty("direction",t[0],t[1]))}function propertyFn(n){return n==="angle"?{between:_angleBetween,compare:_angleDiff,normalize:_normalizeAngle}:{between:_isBetween,compare:(t,e)=>t-e,normalize:t=>t}}function normalizeSegment({start:n,end:t,count:e,loop:i,style:r}){return{start:n%e,end:t%e,loop:i&&(t-n+1)%e===0,style:r}}function getSegment(n,t,e){const{property:i,start:r,end:a}=e,{between:o,normalize:l}=propertyFn(i),u=t.length;let{start:d,end:m,loop:p}=n,_,y;if(p){for(d+=u,m+=u,_=0,y=u;_u(r,M,x)&&l(r,M)!==0,A=()=>l(a,x)===0||u(a,M,x),I=()=>v||k(),C=()=>!v||A();for(let R=m,W=m;R<=p;++R)S=t[R%o],!S.skip&&(x=d(S[i]),x!==M&&(v=u(x,r,a),E===null&&I()&&(E=l(x,r)===0?R:W),E!==null&&C()&&(w.push(normalizeSegment({start:E,end:R,loop:_,count:o,style:y})),E=null),W=R,M=x));return E!==null&&w.push(normalizeSegment({start:E,end:p,loop:_,count:o,style:y})),w}function _boundSegments(n,t){const e=[],i=n.segments;for(let r=0;rr&&n[a%t].skip;)a--;return a%=t,{start:r,end:a}}function solidSegments(n,t,e,i){const r=n.length,a=[];let o=t,l=n[t],u;for(u=t+1;u<=e;++u){const d=n[u%r];d.skip||d.stop?l.skip||(i=!1,a.push({start:t%r,end:(u-1)%r,loop:i}),t=o=d.stop?u:null):(o=u,l.skip&&(t=u)),l=d}return o!==null&&a.push({start:t%r,end:o%r,loop:i}),a}function _computeSegments(n,t){const e=n.points,i=n.options.spanGaps,r=e.length;if(!r)return[];const a=!!n._loop,{start:o,end:l}=findStartAndEnd(e,r,a,i);if(i===!0)return splitByStyles(n,[{start:o,end:l,loop:a}],e,t);const u=l{let n=0;return()=>n++})();function isNullOrUndef(n){return n===null||typeof n>"u"}function isArray(n){if(Array.isArray&&Array.isArray(n))return!0;const t=Object.prototype.toString.call(n);return t.slice(0,7)==="[object"&&t.slice(-6)==="Array]"}function isObject(n){return n!==null&&Object.prototype.toString.call(n)==="[object Object]"}function isNumberFinite(n){return(typeof n=="number"||n instanceof Number)&&isFinite(+n)}function finiteOrDefault(n,t){return isNumberFinite(n)?n:t}function valueOrDefault(n,t){return typeof n>"u"?t:n}const toPercentage=(n,t)=>typeof n=="string"&&n.endsWith("%")?parseFloat(n)/100:+n/t,toDimension=(n,t)=>typeof n=="string"&&n.endsWith("%")?parseFloat(n)/100*t:+n;function callback(n,t,e){if(n&&typeof n.call=="function")return n.apply(e,t)}function each(n,t,e,i){let r,a,o;if(isArray(n))if(a=n.length,i)for(r=a-1;r>=0;r--)t.call(e,n[r],r);else for(r=0;rn,x:n=>n.x,y:n=>n.y};function _splitKey(n){const t=n.split("."),e=[];let i="";for(const r of t)i+=r,i.endsWith("\\")?i=i.slice(0,-1)+".":(e.push(i),i="");return e}function _getKeyResolver(n){const t=_splitKey(n);return e=>{for(const i of t){if(i==="")break;e=e&&e[i]}return e}}function resolveObjectKey(n,t){return(keyResolvers[t]||(keyResolvers[t]=_getKeyResolver(t)))(n)}function _capitalize(n){return n.charAt(0).toUpperCase()+n.slice(1)}const defined$1=n=>typeof n<"u",isFunction=n=>typeof n=="function",setsEqual=(n,t)=>{if(n.size!==t.size)return!1;for(const e of n)if(!t.has(e))return!1;return!0};function _isClickEvent(n){return n.type==="mouseup"||n.type==="click"||n.type==="contextmenu"}const PI=Math.PI,TAU=2*PI,PITAU=TAU+PI,INFINITY=Number.POSITIVE_INFINITY,RAD_PER_DEG=PI/180,HALF_PI=PI/2,QUARTER_PI=PI/4,TWO_THIRDS_PI=PI*2/3,log10=Math.log10,sign=Math.sign;function almostEquals(n,t,e){return Math.abs(n-t)r-a).pop(),t}function isNumber(n){return!isNaN(parseFloat(n))&&isFinite(n)}function almostWhole(n,t){const e=Math.round(n);return e-t<=n&&e+t>=n}function _setMinAndMaxByKey(n,t,e){let i,r,a;for(i=0,r=n.length;iu&&d=Math.min(t,e)-i&&n<=Math.max(t,e)+i}function _lookup(n,t,e){e=e||(o=>n[o]1;)a=r+i>>1,e(a)?r=a:i=a;return{lo:r,hi:i}}const _lookupByKey=(n,t,e,i)=>_lookup(n,e,i?r=>{const a=n[r][t];return an[r][t]_lookup(n,e,i=>n[i][t]>=e);function _filterBetween(n,t,e){let i=0,r=n.length;for(;ii&&n[r-1]>e;)r--;return i>0||r{const i="_onData"+_capitalize(e),r=n[e];Object.defineProperty(n,e,{configurable:!0,enumerable:!1,value(...a){const o=r.apply(this,a);return n._chartjs.listeners.forEach(l=>{typeof l[i]=="function"&&l[i](...a)}),o}})})}function unlistenArrayEvents(n,t){const e=n._chartjs;if(!e)return;const i=e.listeners,r=i.indexOf(t);r!==-1&&i.splice(r,1),!(i.length>0)&&(arrayEvents.forEach(a=>{delete n[a]}),delete n._chartjs)}function _arrayUnique(n){const t=new Set(n);return t.size===n.length?n:Array.from(t)}const requestAnimFrame=function(){return typeof window>"u"?function(n){return n()}:window.requestAnimationFrame}();function throttled(n,t){let e=[],i=!1;return function(...r){e=r,i||(i=!0,requestAnimFrame.call(window,()=>{i=!1,n.apply(t,e)}))}}function debounce$2(n,t){let e;return function(...i){return t?(clearTimeout(e),e=setTimeout(n,t,i)):n.apply(this,i),t}}const _toLeftRightCenter=n=>n==="start"?"left":n==="end"?"right":"center",_alignStartEnd=(n,t,e)=>n==="start"?t:n==="end"?e:(t+e)/2,_textX=(n,t,e,i)=>n===(i?"left":"right")?e:n==="center"?(t+e)/2:t;function _getStartAndCountOfVisiblePoints(n,t,e){const i=t.length;let r=0,a=i;if(n._sorted){const{iScale:o,_parsed:l}=n,u=o.axis,{min:d,max:m,minDefined:p,maxDefined:_}=o.getUserBounds();p&&(r=_limitValue(Math.min(_lookupByKey(l,u,d).lo,e?i:_lookupByKey(t,u,o.getPixelForValue(d)).lo),0,i-1)),_?a=_limitValue(Math.max(_lookupByKey(l,o.axis,m,!0).hi+1,e?0:_lookupByKey(t,u,o.getPixelForValue(m),!0).hi+1),r,i)-r:a=i-r}return{start:r,count:a}}function _scaleRangesChanged(n){const{xScale:t,yScale:e,_scaleRanges:i}=n,r={xmin:t.min,xmax:t.max,ymin:e.min,ymax:e.max};if(!i)return n._scaleRanges=r,!0;const a=i.xmin!==t.min||i.xmax!==t.max||i.ymin!==e.min||i.ymax!==e.max;return Object.assign(i,r),a}const atEdge=n=>n===0||n===1,elasticIn=(n,t,e)=>-(Math.pow(2,10*(n-=1))*Math.sin((n-t)*TAU/e)),elasticOut=(n,t,e)=>Math.pow(2,-10*n)*Math.sin((n-t)*TAU/e)+1,effects={linear:n=>n,easeInQuad:n=>n*n,easeOutQuad:n=>-n*(n-2),easeInOutQuad:n=>(n/=.5)<1?.5*n*n:-.5*(--n*(n-2)-1),easeInCubic:n=>n*n*n,easeOutCubic:n=>(n-=1)*n*n+1,easeInOutCubic:n=>(n/=.5)<1?.5*n*n*n:.5*((n-=2)*n*n+2),easeInQuart:n=>n*n*n*n,easeOutQuart:n=>-((n-=1)*n*n*n-1),easeInOutQuart:n=>(n/=.5)<1?.5*n*n*n*n:-.5*((n-=2)*n*n*n-2),easeInQuint:n=>n*n*n*n*n,easeOutQuint:n=>(n-=1)*n*n*n*n+1,easeInOutQuint:n=>(n/=.5)<1?.5*n*n*n*n*n:.5*((n-=2)*n*n*n*n+2),easeInSine:n=>-Math.cos(n*HALF_PI)+1,easeOutSine:n=>Math.sin(n*HALF_PI),easeInOutSine:n=>-.5*(Math.cos(PI*n)-1),easeInExpo:n=>n===0?0:Math.pow(2,10*(n-1)),easeOutExpo:n=>n===1?1:-Math.pow(2,-10*n)+1,easeInOutExpo:n=>atEdge(n)?n:n<.5?.5*Math.pow(2,10*(n*2-1)):.5*(-Math.pow(2,-10*(n*2-1))+2),easeInCirc:n=>n>=1?n:-(Math.sqrt(1-n*n)-1),easeOutCirc:n=>Math.sqrt(1-(n-=1)*n),easeInOutCirc:n=>(n/=.5)<1?-.5*(Math.sqrt(1-n*n)-1):.5*(Math.sqrt(1-(n-=2)*n)+1),easeInElastic:n=>atEdge(n)?n:elasticIn(n,.075,.3),easeOutElastic:n=>atEdge(n)?n:elasticOut(n,.075,.3),easeInOutElastic(n){return atEdge(n)?n:n<.5?.5*elasticIn(n*2,.1125,.45):.5+.5*elasticOut(n*2-1,.1125,.45)},easeInBack(n){return n*n*((1.70158+1)*n-1.70158)},easeOutBack(n){return(n-=1)*n*((1.70158+1)*n+1.70158)+1},easeInOutBack(n){let t=1.70158;return(n/=.5)<1?.5*(n*n*(((t*=1.525)+1)*n-t)):.5*((n-=2)*n*(((t*=1.525)+1)*n+t)+2)},easeInBounce:n=>1-effects.easeOutBounce(1-n),easeOutBounce(n){return n<1/2.75?7.5625*n*n:n<2/2.75?7.5625*(n-=1.5/2.75)*n+.75:n<2.5/2.75?7.5625*(n-=2.25/2.75)*n+.9375:7.5625*(n-=2.625/2.75)*n+.984375},easeInOutBounce:n=>n<.5?effects.easeInBounce(n*2)*.5:effects.easeOutBounce(n*2-1)*.5+.5};function isPatternOrGradient(n){if(n&&typeof n=="object"){const t=n.toString();return t==="[object CanvasPattern]"||t==="[object CanvasGradient]"}return!1}function color(n){return isPatternOrGradient(n)?n:new Color(n)}function getHoverColor(n){return isPatternOrGradient(n)?n:new Color(n).saturate(.5).darken(.1).hexString()}const numbers=["x","y","borderWidth","radius","tension"],colors=["color","borderColor","backgroundColor"];function applyAnimationsDefaults(n){n.set("animation",{delay:void 0,duration:1e3,easing:"easeOutQuart",fn:void 0,from:void 0,loop:void 0,to:void 0,type:void 0}),n.describe("animation",{_fallback:!1,_indexable:!1,_scriptable:t=>t!=="onProgress"&&t!=="onComplete"&&t!=="fn"}),n.set("animations",{colors:{type:"color",properties:colors},numbers:{type:"number",properties:numbers}}),n.describe("animations",{_fallback:"animation"}),n.set("transitions",{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:"transparent"},visible:{type:"boolean",duration:0}}},hide:{animations:{colors:{to:"transparent"},visible:{type:"boolean",easing:"linear",fn:t=>t|0}}}})}function applyLayoutsDefaults(n){n.set("layout",{autoPadding:!0,padding:{top:0,right:0,bottom:0,left:0}})}const intlCache=new Map;function getNumberFormat(n,t){t=t||{};const e=n+JSON.stringify(t);let i=intlCache.get(e);return i||(i=new Intl.NumberFormat(n,t),intlCache.set(e,i)),i}function formatNumber(n,t,e){return getNumberFormat(t,e).format(n)}const formatters={values(n){return isArray(n)?n:""+n},numeric(n,t,e){if(n===0)return"0";const i=this.chart.options.locale;let r,a=n;if(e.length>1){const d=Math.max(Math.abs(e[0].value),Math.abs(e[e.length-1].value));(d<1e-4||d>1e15)&&(r="scientific"),a=calculateDelta(n,e)}const o=log10(Math.abs(a)),l=isNaN(o)?1:Math.max(Math.min(-1*Math.floor(o),20),0),u={notation:r,minimumFractionDigits:l,maximumFractionDigits:l};return Object.assign(u,this.options.ticks.format),formatNumber(n,i,u)},logarithmic(n,t,e){if(n===0)return"0";const i=e[t].significand||n/Math.pow(10,Math.floor(log10(n)));return[1,2,3,5,10,15].includes(i)||t>.8*e.length?formatters.numeric.call(this,n,t,e):""}};function calculateDelta(n,t){let e=t.length>3?t[2].value-t[1].value:t[1].value-t[0].value;return Math.abs(e)>=1&&n!==Math.floor(n)&&(e=n-Math.floor(n)),e}var Ticks={formatters};function applyScaleDefaults(n){n.set("scale",{display:!0,offset:!1,reverse:!1,beginAtZero:!1,bounds:"ticks",clip:!0,grace:0,grid:{display:!0,lineWidth:1,drawOnChartArea:!0,drawTicks:!0,tickLength:8,tickWidth:(t,e)=>e.lineWidth,tickColor:(t,e)=>e.color,offset:!1},border:{display:!0,dash:[],dashOffset:0,width:1},title:{display:!1,text:"",padding:{top:4,bottom:4}},ticks:{minRotation:0,maxRotation:50,mirror:!1,textStrokeWidth:0,textStrokeColor:"",padding:3,display:!0,autoSkip:!0,autoSkipPadding:3,labelOffset:0,callback:Ticks.formatters.values,minor:{},major:{},align:"center",crossAlign:"near",showLabelBackdrop:!1,backdropColor:"rgba(255, 255, 255, 0.75)",backdropPadding:2}}),n.route("scale.ticks","color","","color"),n.route("scale.grid","color","","borderColor"),n.route("scale.border","color","","borderColor"),n.route("scale.title","color","","color"),n.describe("scale",{_fallback:!1,_scriptable:t=>!t.startsWith("before")&&!t.startsWith("after")&&t!=="callback"&&t!=="parser",_indexable:t=>t!=="borderDash"&&t!=="tickBorderDash"&&t!=="dash"}),n.describe("scales",{_fallback:"scale"}),n.describe("scale.ticks",{_scriptable:t=>t!=="backdropPadding"&&t!=="callback",_indexable:t=>t!=="backdropPadding"})}const overrides=Object.create(null),descriptors=Object.create(null);function getScope$1(n,t){if(!t)return n;const e=t.split(".");for(let i=0,r=e.length;ii.chart.platform.getDevicePixelRatio(),this.elements={},this.events=["mousemove","mouseout","click","touchstart","touchmove"],this.font={family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",size:12,style:"normal",lineHeight:1.2,weight:null},this.hover={},this.hoverBackgroundColor=(i,r)=>getHoverColor(r.backgroundColor),this.hoverBorderColor=(i,r)=>getHoverColor(r.borderColor),this.hoverColor=(i,r)=>getHoverColor(r.color),this.indexAxis="x",this.interaction={mode:"nearest",intersect:!0,includeInvisible:!1},this.maintainAspectRatio=!0,this.onHover=null,this.onClick=null,this.parsing=!0,this.plugins={},this.responsive=!0,this.scale=void 0,this.scales={},this.showLine=!0,this.drawActiveElementsOnTop=!0,this.describe(t),this.apply(e)}set(t,e){return set(this,t,e)}get(t){return getScope$1(this,t)}describe(t,e){return set(descriptors,t,e)}override(t,e){return set(overrides,t,e)}route(t,e,i,r){const a=getScope$1(this,t),o=getScope$1(this,i),l="_"+e;Object.defineProperties(a,{[l]:{value:a[e],writable:!0},[e]:{enumerable:!0,get(){const u=this[l],d=o[r];return isObject(u)?Object.assign({},d,u):valueOrDefault(u,d)},set(u){this[l]=u}}})}apply(t){t.forEach(e=>e(this))}}var defaults=new Defaults({_scriptable:n=>!n.startsWith("on"),_indexable:n=>n!=="events",hover:{_fallback:"interaction"},interaction:{_scriptable:!1,_indexable:!1}},[applyAnimationsDefaults,applyLayoutsDefaults,applyScaleDefaults]);function toFontString(n){return!n||isNullOrUndef(n.size)||isNullOrUndef(n.family)?null:(n.style?n.style+" ":"")+(n.weight?n.weight+" ":"")+n.size+"px "+n.family}function _measureText(n,t,e,i,r){let a=t[r];return a||(a=t[r]=n.measureText(r).width,e.push(r)),a>i&&(i=a),i}function _longestText(n,t,e,i){i=i||{};let r=i.data=i.data||{},a=i.garbageCollect=i.garbageCollect||[];i.font!==t&&(r=i.data={},a=i.garbageCollect=[],i.font=t),n.save(),n.font=t;let o=0;const l=e.length;let u,d,m,p,_;for(u=0;ue.length){for(u=0;u0&&n.stroke()}}function _isPointInArea(n,t,e){return e=e||.5,!t||n&&n.x>t.left-e&&n.xt.top-e&&n.y0&&a.strokeColor!=="";let u,d;for(n.save(),n.font=r.string,setRenderOpts(n,a),u=0;u+n||0;function _readValueToProps(n,t){const e={},i=isObject(t),r=i?Object.keys(t):t,a=isObject(n)?i?o=>valueOrDefault(n[o],n[t[o]]):o=>n[o]:()=>n;for(const o of r)e[o]=numberOrZero(a(o));return e}function toTRBL(n){return _readValueToProps(n,{top:"y",right:"x",bottom:"y",left:"x"})}function toTRBLCorners(n){return _readValueToProps(n,["topLeft","topRight","bottomLeft","bottomRight"])}function toPadding(n){const t=toTRBL(n);return t.width=t.left+t.right,t.height=t.top+t.bottom,t}function toFont(n,t){n=n||{},t=t||defaults.font;let e=valueOrDefault(n.size,t.size);typeof e=="string"&&(e=parseInt(e,10));let i=valueOrDefault(n.style,t.style);i&&!(""+i).match(FONT_STYLE)&&(console.warn('Invalid font style specified: "'+i+'"'),i=void 0);const r={family:valueOrDefault(n.family,t.family),lineHeight:toLineHeight(valueOrDefault(n.lineHeight,t.lineHeight),e),size:e,style:i,weight:valueOrDefault(n.weight,t.weight),string:""};return r.string=toFontString(r),r}function resolve(n,t,e,i){let r=!0,a,o,l;for(a=0,o=n.length;ae&&l===0?0:l+u;return{min:o(i,-Math.abs(a)),max:o(r,a)}}function createContext(n,t){return Object.assign(Object.create(n),t)}function _createResolver(n,t=[""],e,i,r=()=>n[0]){const a=e||n;typeof i>"u"&&(i=_resolve("_fallback",n));const o={[Symbol.toStringTag]:"Object",_cacheable:!0,_scopes:n,_rootScopes:a,_fallback:i,_getTarget:r,override:l=>_createResolver([l,...n],t,a,i)};return new Proxy(o,{deleteProperty(l,u){return delete l[u],delete l._keys,delete n[0][u],!0},get(l,u){return _cached(l,u,()=>_resolveWithPrefixes(u,t,n,l))},getOwnPropertyDescriptor(l,u){return Reflect.getOwnPropertyDescriptor(l._scopes[0],u)},getPrototypeOf(){return Reflect.getPrototypeOf(n[0])},has(l,u){return getKeysFromAllScopes(l).includes(u)},ownKeys(l){return getKeysFromAllScopes(l)},set(l,u,d){const m=l._storage||(l._storage=r());return l[u]=m[u]=d,delete l._keys,!0}})}function _attachContext(n,t,e,i){const r={_cacheable:!1,_proxy:n,_context:t,_subProxy:e,_stack:new Set,_descriptors:_descriptors(n,i),setContext:a=>_attachContext(n,a,e,i),override:a=>_attachContext(n.override(a),t,e,i)};return new Proxy(r,{deleteProperty(a,o){return delete a[o],delete n[o],!0},get(a,o,l){return _cached(a,o,()=>_resolveWithContext(a,o,l))},getOwnPropertyDescriptor(a,o){return a._descriptors.allKeys?Reflect.has(n,o)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(n,o)},getPrototypeOf(){return Reflect.getPrototypeOf(n)},has(a,o){return Reflect.has(n,o)},ownKeys(){return Reflect.ownKeys(n)},set(a,o,l){return n[o]=l,delete a[o],!0}})}function _descriptors(n,t={scriptable:!0,indexable:!0}){const{_scriptable:e=t.scriptable,_indexable:i=t.indexable,_allKeys:r=t.allKeys}=n;return{allKeys:r,scriptable:e,indexable:i,isScriptable:isFunction(e)?e:()=>e,isIndexable:isFunction(i)?i:()=>i}}const readKey=(n,t)=>n?n+_capitalize(t):t,needsSubResolver=(n,t)=>isObject(t)&&n!=="adapters"&&(Object.getPrototypeOf(t)===null||t.constructor===Object);function _cached(n,t,e){if(Object.prototype.hasOwnProperty.call(n,t))return n[t];const i=e();return n[t]=i,i}function _resolveWithContext(n,t,e){const{_proxy:i,_context:r,_subProxy:a,_descriptors:o}=n;let l=i[t];return isFunction(l)&&o.isScriptable(t)&&(l=_resolveScriptable(t,l,n,e)),isArray(l)&&l.length&&(l=_resolveArray(t,l,n,o.isIndexable)),needsSubResolver(t,l)&&(l=_attachContext(l,r,a&&a[t],o)),l}function _resolveScriptable(n,t,e,i){const{_proxy:r,_context:a,_subProxy:o,_stack:l}=e;if(l.has(n))throw new Error("Recursion detected: "+Array.from(l).join("->")+"->"+n);l.add(n);let u=t(a,o||i);return l.delete(n),needsSubResolver(n,u)&&(u=createSubResolver(r._scopes,r,n,u)),u}function _resolveArray(n,t,e,i){const{_proxy:r,_context:a,_subProxy:o,_descriptors:l}=e;if(typeof a.index<"u"&&i(n))return t[a.index%t.length];if(isObject(t[0])){const u=t,d=r._scopes.filter(m=>m!==u);t=[];for(const m of u){const p=createSubResolver(d,r,n,m);t.push(_attachContext(p,a,o&&o[n],l))}}return t}function resolveFallback(n,t,e){return isFunction(n)?n(t,e):n}const getScope=(n,t)=>n===!0?t:typeof n=="string"?resolveObjectKey(t,n):void 0;function addScopes(n,t,e,i,r){for(const a of t){const o=getScope(e,a);if(o){n.add(o);const l=resolveFallback(o._fallback,e,r);if(typeof l<"u"&&l!==e&&l!==i)return l}else if(o===!1&&typeof i<"u"&&e!==i)return null}return!1}function createSubResolver(n,t,e,i){const r=t._rootScopes,a=resolveFallback(t._fallback,e,i),o=[...n,...r],l=new Set;l.add(i);let u=addScopesFromKey(l,o,e,a||e,i);return u===null||typeof a<"u"&&a!==e&&(u=addScopesFromKey(l,o,a,u,i),u===null)?!1:_createResolver(Array.from(l),[""],r,a,()=>subGetTarget(t,e,i))}function addScopesFromKey(n,t,e,i,r){for(;e;)e=addScopes(n,t,e,i,r);return e}function subGetTarget(n,t,e){const i=n._getTarget();t in i||(i[t]={});const r=i[t];return isArray(r)&&isObject(e)?e:r||{}}function _resolveWithPrefixes(n,t,e,i){let r;for(const a of t)if(r=_resolve(readKey(a,n),e),typeof r<"u")return needsSubResolver(n,r)?createSubResolver(e,i,n,r):r}function _resolve(n,t){for(const e of t){if(!e)continue;const i=e[n];if(typeof i<"u")return i}}function getKeysFromAllScopes(n){let t=n._keys;return t||(t=n._keys=resolveKeysFromAllScopes(n._scopes)),t}function resolveKeysFromAllScopes(n){const t=new Set;for(const e of n)for(const i of Object.keys(e).filter(r=>!r.startsWith("_")))t.add(i);return Array.from(t)}function _parseObjectDataRadialScale(n,t,e,i){const{iScale:r}=n,{key:a="r"}=this._parsing,o=new Array(i);let l,u,d,m;for(l=0,u=i;ltn==="x"?"y":"x";function splineCurve(n,t,e,i){const r=n.skip?t:n,a=t,o=e.skip?t:e,l=distanceBetweenPoints(a,r),u=distanceBetweenPoints(o,a);let d=l/(l+u),m=u/(l+u);d=isNaN(d)?0:d,m=isNaN(m)?0:m;const p=i*d,_=i*m;return{previous:{x:a.x-p*(o.x-r.x),y:a.y-p*(o.y-r.y)},next:{x:a.x+_*(o.x-r.x),y:a.y+_*(o.y-r.y)}}}function monotoneAdjust(n,t,e){const i=n.length;let r,a,o,l,u,d=getPoint(n,0);for(let m=0;m!d.skip)),t.cubicInterpolationMode==="monotone")splineCurveMonotone(n,r);else{let d=i?n[n.length-1]:n[0];for(a=0,o=n.length;an.ownerDocument.defaultView.getComputedStyle(n,null);function getStyle(n,t){return getComputedStyle$1(n).getPropertyValue(t)}const positions=["top","right","bottom","left"];function getPositionedStyle(n,t,e){const i={};e=e?"-"+e:"";for(let r=0;r<4;r++){const a=positions[r];i[a]=parseFloat(n[t+"-"+a+e])||0}return i.width=i.left+i.right,i.height=i.top+i.bottom,i}const useOffsetPos=(n,t,e)=>(n>0||t>0)&&(!e||!e.shadowRoot);function getCanvasPosition(n,t){const e=n.touches,i=e&&e.length?e[0]:n,{offsetX:r,offsetY:a}=i;let o=!1,l,u;if(useOffsetPos(r,a,n.target))l=r,u=a;else{const d=t.getBoundingClientRect();l=i.clientX-d.left,u=i.clientY-d.top,o=!0}return{x:l,y:u,box:o}}function getRelativePosition(n,t){if("native"in n)return n;const{canvas:e,currentDevicePixelRatio:i}=t,r=getComputedStyle$1(e),a=r.boxSizing==="border-box",o=getPositionedStyle(r,"padding"),l=getPositionedStyle(r,"border","width"),{x:u,y:d,box:m}=getCanvasPosition(n,e),p=o.left+(m&&l.left),_=o.top+(m&&l.top);let{width:y,height:w}=t;return a&&(y-=o.width+l.width,w-=o.height+l.height),{x:Math.round((u-p)/y*e.width/i),y:Math.round((d-_)/w*e.height/i)}}function getContainerSize(n,t,e){let i,r;if(t===void 0||e===void 0){const a=_getParentNode(n);if(!a)t=n.clientWidth,e=n.clientHeight;else{const o=a.getBoundingClientRect(),l=getComputedStyle$1(a),u=getPositionedStyle(l,"border","width"),d=getPositionedStyle(l,"padding");t=o.width-d.width-u.width,e=o.height-d.height-u.height,i=parseMaxStyle(l.maxWidth,a,"clientWidth"),r=parseMaxStyle(l.maxHeight,a,"clientHeight")}}return{width:t,height:e,maxWidth:i||INFINITY,maxHeight:r||INFINITY}}const round1=n=>Math.round(n*10)/10;function getMaximumSize(n,t,e,i){const r=getComputedStyle$1(n),a=getPositionedStyle(r,"margin"),o=parseMaxStyle(r.maxWidth,n,"clientWidth")||INFINITY,l=parseMaxStyle(r.maxHeight,n,"clientHeight")||INFINITY,u=getContainerSize(n,t,e);let{width:d,height:m}=u;if(r.boxSizing==="content-box"){const _=getPositionedStyle(r,"border","width"),y=getPositionedStyle(r,"padding");d-=y.width+_.width,m-=y.height+_.height}return d=Math.max(0,d-a.width),m=Math.max(0,i?d/i:m-a.height),d=round1(Math.min(d,o,u.maxWidth)),m=round1(Math.min(m,l,u.maxHeight)),d&&!m&&(m=round1(d/2)),(t!==void 0||e!==void 0)&&i&&u.height&&m>u.height&&(m=u.height,d=round1(Math.floor(m*i))),{width:d,height:m}}function retinaScale(n,t,e){const i=t||1,r=Math.floor(n.height*i),a=Math.floor(n.width*i);n.height=Math.floor(n.height),n.width=Math.floor(n.width);const o=n.canvas;return o.style&&(e||!o.style.height&&!o.style.width)&&(o.style.height=`${n.height}px`,o.style.width=`${n.width}px`),n.currentDevicePixelRatio!==i||o.height!==r||o.width!==a?(n.currentDevicePixelRatio=i,o.height=r,o.width=a,n.ctx.setTransform(i,0,0,i,0,0),!0):!1}const supportsEventListenerOptions=function(){let n=!1;try{const t={get passive(){return n=!0,!1}};_isDomSupported()&&(window.addEventListener("test",null,t),window.removeEventListener("test",null,t))}catch{}return n}();function readUsedSize(n,t){const e=getStyle(n,t),i=e&&e.match(/^(\d+)(\.\d+)?px$/);return i?+i[1]:void 0}function _pointInLine(n,t,e,i){return{x:n.x+e*(t.x-n.x),y:n.y+e*(t.y-n.y)}}function _steppedInterpolation(n,t,e,i){return{x:n.x+e*(t.x-n.x),y:i==="middle"?e<.5?n.y:t.y:i==="after"?e<1?n.y:t.y:e>0?t.y:n.y}}function _bezierInterpolation(n,t,e,i){const r={x:n.cp2x,y:n.cp2y},a={x:t.cp1x,y:t.cp1y},o=_pointInLine(n,r,e),l=_pointInLine(r,a,e),u=_pointInLine(a,t,e),d=_pointInLine(o,l,e),m=_pointInLine(l,u,e);return _pointInLine(d,m,e)}const getRightToLeftAdapter=function(n,t){return{x(e){return n+n+t-e},setWidth(e){t=e},textAlign(e){return e==="center"?e:e==="right"?"left":"right"},xPlus(e,i){return e-i},leftForLtr(e,i){return e-i}}},getLeftToRightAdapter=function(){return{x(n){return n},setWidth(n){},textAlign(n){return n},xPlus(n,t){return n+t},leftForLtr(n,t){return n}}};function getRtlAdapter(n,t,e){return n?getRightToLeftAdapter(t,e):getLeftToRightAdapter()}function overrideTextDirection(n,t){let e,i;(t==="ltr"||t==="rtl")&&(e=n.canvas.style,i=[e.getPropertyValue("direction"),e.getPropertyPriority("direction")],e.setProperty("direction",t,"important"),n.prevTextDirection=i)}function restoreTextDirection(n,t){t!==void 0&&(delete n.prevTextDirection,n.canvas.style.setProperty("direction",t[0],t[1]))}function propertyFn(n){return n==="angle"?{between:_angleBetween,compare:_angleDiff,normalize:_normalizeAngle}:{between:_isBetween,compare:(t,e)=>t-e,normalize:t=>t}}function normalizeSegment({start:n,end:t,count:e,loop:i,style:r}){return{start:n%e,end:t%e,loop:i&&(t-n+1)%e===0,style:r}}function getSegment(n,t,e){const{property:i,start:r,end:a}=e,{between:o,normalize:l}=propertyFn(i),u=t.length;let{start:d,end:m,loop:p}=n,_,y;if(p){for(d+=u,m+=u,_=0,y=u;_u(r,M,x)&&l(r,M)!==0,A=()=>l(a,x)===0||u(a,M,x),I=()=>v||k(),C=()=>!v||A();for(let R=m,W=m;R<=p;++R)S=t[R%o],!S.skip&&(x=d(S[i]),x!==M&&(v=u(x,r,a),E===null&&I()&&(E=l(x,r)===0?R:W),E!==null&&C()&&(w.push(normalizeSegment({start:E,end:R,loop:_,count:o,style:y})),E=null),W=R,M=x));return E!==null&&w.push(normalizeSegment({start:E,end:p,loop:_,count:o,style:y})),w}function _boundSegments(n,t){const e=[],i=n.segments;for(let r=0;rr&&n[a%t].skip;)a--;return a%=t,{start:r,end:a}}function solidSegments(n,t,e,i){const r=n.length,a=[];let o=t,l=n[t],u;for(u=t+1;u<=e;++u){const d=n[u%r];d.skip||d.stop?l.skip||(i=!1,a.push({start:t%r,end:(u-1)%r,loop:i}),t=o=d.stop?u:null):(o=u,l.skip&&(t=u)),l=d}return o!==null&&a.push({start:t%r,end:o%r,loop:i}),a}function _computeSegments(n,t){const e=n.points,i=n.options.spanGaps,r=e.length;if(!r)return[];const a=!!n._loop,{start:o,end:l}=findStartAndEnd(e,r,a,i);if(i===!0)return splitByStyles(n,[{start:o,end:l,loop:a}],e,t);const u=ll({chart:t,initial:e.initial,numSteps:o,currentStep:Math.min(i-e.start,o)}))}_refresh(){this._request||(this._running=!0,this._request=requestAnimFrame.call(window,()=>{this._update(),this._request=null,this._running&&this._refresh()}))}_update(t=Date.now()){let e=0;this._charts.forEach((i,r)=>{if(!i.running||!i.items.length)return;const a=i.items;let o=a.length-1,l=!1,u;for(;o>=0;--o)u=a[o],u._active?(u._total>i.duration&&(i.duration=u._total),u.tick(t),l=!0):(a[o]=a[a.length-1],a.pop());l&&(r.draw(),this._notify(r,i,t,"progress")),a.length||(i.running=!1,this._notify(r,i,t,"complete"),i.initial=!1),e+=a.length}),this._lastDate=t,e===0&&(this._running=!1)}_getAnims(t){const e=this._charts;let i=e.get(t);return i||(i={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},e.set(t,i)),i}listen(t,e,i){this._getAnims(t).listeners[e].push(i)}add(t,e){!e||!e.length||this._getAnims(t).items.push(...e)}has(t){return this._getAnims(t).items.length>0}start(t){const e=this._charts.get(t);e&&(e.running=!0,e.start=Date.now(),e.duration=e.items.reduce((i,r)=>Math.max(i,r._duration),0),this._refresh())}running(t){if(!this._running)return!1;const e=this._charts.get(t);return!(!e||!e.running||!e.items.length)}stop(t){const e=this._charts.get(t);if(!e||!e.items.length)return;const i=e.items;let r=i.length-1;for(;r>=0;--r)i[r].cancel();e.items=[],this._notify(t,e,Date.now(),"complete")}remove(t){return this._charts.delete(t)}}var animator=new Animator;const transparent="transparent",interpolators={boolean(n,t,e){return e>.5?t:n},color(n,t,e){const i=color(n||transparent),r=i.valid&&color(t||transparent);return r&&r.valid?r.mix(i,e).hexString():t},number(n,t,e){return n+(t-n)*e}};class Animation{constructor(t,e,i,r){const a=e[i];r=resolve([t.to,r,a,t.from]);const o=resolve([t.from,a,r]);this._active=!0,this._fn=t.fn||interpolators[t.type||typeof o],this._easing=effects[t.easing]||effects.linear,this._start=Math.floor(Date.now()+(t.delay||0)),this._duration=this._total=Math.floor(t.duration),this._loop=!!t.loop,this._target=e,this._prop=i,this._from=o,this._to=r,this._promises=void 0}active(){return this._active}update(t,e,i){if(this._active){this._notify(!1);const r=this._target[this._prop],a=i-this._start,o=this._duration-a;this._start=i,this._duration=Math.floor(Math.max(o,t.duration)),this._total+=a,this._loop=!!t.loop,this._to=resolve([t.to,e,r,t.from]),this._from=resolve([t.from,r,e])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(t){const e=t-this._start,i=this._duration,r=this._prop,a=this._from,o=this._loop,l=this._to;let u;if(this._active=a!==l&&(o||e1?2-u:u,u=this._easing(Math.min(1,Math.max(0,u))),this._target[r]=this._fn(a,l,u)}wait(){const t=this._promises||(this._promises=[]);return new Promise((e,i)=>{t.push({res:e,rej:i})})}_notify(t){const e=t?"res":"rej",i=this._promises||[];for(let r=0;r{const a=t[r];if(!isObject(a))return;const o={};for(const l of e)o[l]=a[l];(isArray(a.properties)&&a.properties||[r]).forEach(l=>{(l===r||!i.has(l))&&i.set(l,o)})})}_animateOptions(t,e){const i=e.options,r=resolveTargetOptions(t,i);if(!r)return[];const a=this._createAnimations(r,i);return i.$shared&&awaitAll(t.options.$animations,i).then(()=>{t.options=i},()=>{}),a}_createAnimations(t,e){const i=this._properties,r=[],a=t.$animations||(t.$animations={}),o=Object.keys(e),l=Date.now();let u;for(u=o.length-1;u>=0;--u){const d=o[u];if(d.charAt(0)==="$")continue;if(d==="options"){r.push(...this._animateOptions(t,e));continue}const m=e[d];let p=a[d];const _=i.get(d);if(p)if(_&&p.active()){p.update(_,m,l);continue}else p.cancel();if(!_||!_.duration){t[d]=m;continue}a[d]=p=new Animation(_,t,d,m),r.push(p)}return r}update(t,e){if(this._properties.size===0){Object.assign(t,e);return}const i=this._createAnimations(t,e);if(i.length)return animator.add(this._chart,i),!0}}function awaitAll(n,t){const e=[],i=Object.keys(t);for(let r=0;r0||!e&&a<0)return r.index}return null}function updateStacks(n,t){const{chart:e,_cachedMeta:i}=n,r=e._stacks||(e._stacks={}),{iScale:a,vScale:o,index:l}=i,u=a.axis,d=o.axis,m=getStackKey(a,o,i),p=t.length;let _;for(let y=0;ye[i].axis===t).shift()}function createDatasetContext(n,t){return createContext(n,{active:!1,dataset:void 0,datasetIndex:t,index:t,mode:"default",type:"dataset"})}function createDataContext(n,t,e){return createContext(n,{active:!1,dataIndex:t,parsed:void 0,raw:void 0,element:e,index:t,mode:"default",type:"data"})}function clearStacks(n,t){const e=n.controller.index,i=n.vScale&&n.vScale.axis;if(i){t=t||n._parsed;for(const r of t){const a=r._stacks;if(!a||a[i]===void 0||a[i][e]===void 0)return;delete a[i][e],a[i]._visualValues!==void 0&&a[i]._visualValues[e]!==void 0&&delete a[i]._visualValues[e]}}}const isDirectUpdateMode=n=>n==="reset"||n==="none",cloneIfNotShared=(n,t)=>t?n:Object.assign({},n),createStack=(n,t,e)=>n&&!t.hidden&&t._stacked&&{keys:getSortedDatasetIndices(e,!0),values:null};class DatasetController{constructor(t,e){this.chart=t,this._ctx=t.ctx,this.index=e,this._cachedDataOpts={},this._cachedMeta=this.getMeta(),this._type=this._cachedMeta.type,this.options=void 0,this._parsing=!1,this._data=void 0,this._objectData=void 0,this._sharedOptions=void 0,this._drawStart=void 0,this._drawCount=void 0,this.enableOptionSharing=!1,this.supportsDecimation=!1,this.$context=void 0,this._syncList=[],this.datasetElementType=new.target.datasetElementType,this.dataElementType=new.target.dataElementType,this.initialize()}initialize(){const t=this._cachedMeta;this.configure(),this.linkScales(),t._stacked=isStacked(t.vScale,t),this.addElements(),this.options.fill&&!this.chart.isPluginEnabled("filler")&&console.warn("Tried to use the 'fill' option without the 'Filler' plugin enabled. Please import and register the 'Filler' plugin and make sure it is not disabled in the options")}updateIndex(t){this.index!==t&&clearStacks(this._cachedMeta),this.index=t}linkScales(){const t=this.chart,e=this._cachedMeta,i=this.getDataset(),r=(p,_,y,w)=>p==="x"?_:p==="r"?w:y,a=e.xAxisID=valueOrDefault(i.xAxisID,getFirstScaleId(t,"x")),o=e.yAxisID=valueOrDefault(i.yAxisID,getFirstScaleId(t,"y")),l=e.rAxisID=valueOrDefault(i.rAxisID,getFirstScaleId(t,"r")),u=e.indexAxis,d=e.iAxisID=r(u,a,o,l),m=e.vAxisID=r(u,o,a,l);e.xScale=this.getScaleForId(a),e.yScale=this.getScaleForId(o),e.rScale=this.getScaleForId(l),e.iScale=this.getScaleForId(d),e.vScale=this.getScaleForId(m)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(t){return this.chart.scales[t]}_getOtherScale(t){const e=this._cachedMeta;return t===e.iScale?e.vScale:e.iScale}reset(){this._update("reset")}_destroy(){const t=this._cachedMeta;this._data&&unlistenArrayEvents(this._data,this),t._stacked&&clearStacks(t)}_dataCheck(){const t=this.getDataset(),e=t.data||(t.data=[]),i=this._data;if(isObject(e))this._data=convertObjectDataToArray(e);else if(i!==e){if(i){unlistenArrayEvents(i,this);const r=this._cachedMeta;clearStacks(r),r._parsed=[]}e&&Object.isExtensible(e)&&listenArrayEvents(e,this),this._syncList=[],this._data=e}}addElements(){const t=this._cachedMeta;this._dataCheck(),this.datasetElementType&&(t.dataset=new this.datasetElementType)}buildOrUpdateElements(t){const e=this._cachedMeta,i=this.getDataset();let r=!1;this._dataCheck();const a=e._stacked;e._stacked=isStacked(e.vScale,e),e.stack!==i.stack&&(r=!0,clearStacks(e),e.stack=i.stack),this._resyncElements(t),(r||a!==e._stacked)&&updateStacks(this,e._parsed)}configure(){const t=this.chart.config,e=t.datasetScopeKeys(this._type),i=t.getOptionScopes(this.getDataset(),e,!0);this.options=t.createResolver(i,this.getContext()),this._parsing=this.options.parsing,this._cachedDataOpts={}}parse(t,e){const{_cachedMeta:i,_data:r}=this,{iScale:a,_stacked:o}=i,l=a.axis;let u=t===0&&e===r.length?!0:i._sorted,d=t>0&&i._parsed[t-1],m,p,_;if(this._parsing===!1)i._parsed=r,i._sorted=!0,_=r;else{isArray(r[t])?_=this.parseArrayData(i,r,t,e):isObject(r[t])?_=this.parseObjectData(i,r,t,e):_=this.parsePrimitiveData(i,r,t,e);const y=()=>p[l]===null||d&&p[l]v||p=0;--_)if(!w()){this.updateRangeFromParsed(d,t,y,u);break}}return d}getAllParsedValues(t){const e=this._cachedMeta._parsed,i=[];let r,a,o;for(r=0,a=e.length;r=0&&tthis.getContext(i,r,e),v=d.resolveNamedOptions(_,y,w,p);return v.$shared&&(v.$shared=u,a[o]=Object.freeze(cloneIfNotShared(v,u))),v}_resolveAnimations(t,e,i){const r=this.chart,a=this._cachedDataOpts,o=`animation-${e}`,l=a[o];if(l)return l;let u;if(r.options.animation!==!1){const m=this.chart.config,p=m.datasetAnimationScopeKeys(this._type,e),_=m.getOptionScopes(this.getDataset(),p);u=m.createResolver(_,this.getContext(t,i,e))}const d=new Animations(r,u&&u.animations);return u&&u._cacheable&&(a[o]=Object.freeze(d)),d}getSharedOptions(t){if(t.$shared)return this._sharedOptions||(this._sharedOptions=Object.assign({},t))}includeOptions(t,e){return!e||isDirectUpdateMode(t)||this.chart._animationsDisabled}_getSharedOptions(t,e){const i=this.resolveDataElementOptions(t,e),r=this._sharedOptions,a=this.getSharedOptions(i),o=this.includeOptions(e,a)||a!==r;return this.updateSharedOptions(a,e,i),{sharedOptions:a,includeOptions:o}}updateElement(t,e,i,r){isDirectUpdateMode(r)?Object.assign(t,i):this._resolveAnimations(e,r).update(t,i)}updateSharedOptions(t,e,i){t&&!isDirectUpdateMode(e)&&this._resolveAnimations(void 0,e).update(t,i)}_setStyle(t,e,i,r){t.active=r;const a=this.getStyle(e,r);this._resolveAnimations(e,i,r).update(t,{options:!r&&this.getSharedOptions(a)||a})}removeHoverStyle(t,e,i){this._setStyle(t,i,"active",!1)}setHoverStyle(t,e,i){this._setStyle(t,i,"active",!0)}_removeDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!1)}_setDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!0)}_resyncElements(t){const e=this._data,i=this._cachedMeta.data;for(const[l,u,d]of this._syncList)this[l](u,d);this._syncList=[];const r=i.length,a=e.length,o=Math.min(a,r);o&&this.parse(0,o),a>r?this._insertElements(r,a-r,t):a{for(d.length+=e,l=d.length-1;l>=o;l--)d[l]=d[l-e]};for(u(a),l=t;lr-a))}return n._cache.$bar}function computeMinSampleSize(n){const t=n.iScale,e=getAllScaleValues(t,n.type);let i=t._length,r,a,o,l;const u=()=>{o===32767||o===-32768||(defined$1(l)&&(i=Math.min(i,Math.abs(o-l)||i)),l=o)};for(r=0,a=e.length;r0?r[n-1]:null,l=nMath.abs(l)&&(u=l,d=o),t[e.axis]=d,t._custom={barStart:u,barEnd:d,start:r,end:a,min:o,max:l}}function parseValue(n,t,e,i){return isArray(n)?parseFloatBar(n,t,e,i):t[e.axis]=e.parse(n,i),t}function parseArrayOrPrimitive(n,t,e,i){const r=n.iScale,a=n.vScale,o=r.getLabels(),l=r===a,u=[];let d,m,p,_;for(d=e,m=e+i;d=e?1:-1)}function borderProps(n){let t,e,i,r,a;return n.horizontal?(t=n.base>n.x,e="left",i="right"):(t=n.baseu.controller.options.grouped),a=i.options.stacked,o=[],l=u=>{const d=u.controller.getParsed(e),m=d&&d[u.vScale.axis];if(isNullOrUndef(m)||isNaN(m))return!0};for(const u of r)if(!(e!==void 0&&l(u))&&((a===!1||o.indexOf(u.stack)===-1||a===void 0&&u.stack===void 0)&&o.push(u.stack),u.index===t))break;return o.length||o.push(void 0),o}_getStackCount(t){return this._getStacks(void 0,t).length}_getStackIndex(t,e,i){const r=this._getStacks(t,i),a=e!==void 0?r.indexOf(e):-1;return a===-1?r.length-1:a}_getRuler(){const t=this.options,e=this._cachedMeta,i=e.iScale,r=[];let a,o;for(a=0,o=e.data.length;a_angleBetween(M,l,u,!0)?1:Math.max(k,k*e,A,A*e),w=(M,k,A)=>_angleBetween(M,l,u,!0)?-1:Math.min(k,k*e,A,A*e),v=y(0,d,p),E=y(HALF_PI,m,_),x=w(PI,d,p),S=w(PI+HALF_PI,m,_);i=(v-x)/2,r=(E-S)/2,a=-(v+x)/2,o=-(E+S)/2}return{ratioX:i,ratioY:r,offsetX:a,offsetY:o}}class DoughnutController extends DatasetController{constructor(t,e){super(t,e),this.enableOptionSharing=!0,this.innerRadius=void 0,this.outerRadius=void 0,this.offsetX=void 0,this.offsetY=void 0}linkScales(){}parse(t,e){const i=this.getDataset().data,r=this._cachedMeta;if(this._parsing===!1)r._parsed=i;else{let a=u=>+i[u];if(isObject(i[t])){const{key:u="value"}=this._parsing;a=d=>+resolveObjectKey(i[d],u)}let o,l;for(o=t,l=t+e;o0&&!isNaN(t)?TAU*(Math.abs(t)/e):0}getLabelAndValue(t){const e=this._cachedMeta,i=this.chart,r=i.data.labels||[],a=formatNumber(e._parsed[t],i.options.locale);return{label:r[t]||"",value:a}}getMaxBorderWidth(t){let e=0;const i=this.chart;let r,a,o,l,u;if(!t){for(r=0,a=i.data.datasets.length;rt!=="spacing",_indexable:t=>t!=="spacing"&&!t.startsWith("borderDash")&&!t.startsWith("hoverBorderDash")}),F(DoughnutController,"overrides",{aspectRatio:1,plugins:{legend:{labels:{generateLabels(t){const e=t.data;if(e.labels.length&&e.datasets.length){const{labels:{pointStyle:i,color:r}}=t.legend.options;return e.labels.map((a,o)=>{const u=t.getDatasetMeta(0).controller.getStyle(o);return{text:a,fillStyle:u.backgroundColor,strokeStyle:u.borderColor,fontColor:r,lineWidth:u.borderWidth,pointStyle:i,hidden:!t.getDataVisibility(o),index:o}})}return[]}},onClick(t,e,i){i.chart.toggleDataVisibility(e.index),i.chart.update()}}}});class LineController extends DatasetController{initialize(){this.enableOptionSharing=!0,this.supportsDecimation=!0,super.initialize()}update(t){const e=this._cachedMeta,{dataset:i,data:r=[],_dataset:a}=e,o=this.chart._animationsDisabled;let{start:l,count:u}=_getStartAndCountOfVisiblePoints(e,r,o);this._drawStart=l,this._drawCount=u,_scaleRangesChanged(e)&&(l=0,u=r.length),i._chart=this.chart,i._datasetIndex=this.index,i._decimated=!!a._decimated,i.points=r;const d=this.resolveDatasetElementOptions(t);this.options.showLine||(d.borderWidth=0),d.segment=this.options.segment,this.updateElement(i,void 0,{animated:!o,options:d},t),this.updateElements(r,l,u,t)}updateElements(t,e,i,r){const a=r==="reset",{iScale:o,vScale:l,_stacked:u,_dataset:d}=this._cachedMeta,{sharedOptions:m,includeOptions:p}=this._getSharedOptions(e,r),_=o.axis,y=l.axis,{spanGaps:w,segment:v}=this.options,E=isNumber(w)?w:Number.POSITIVE_INFINITY,x=this.chart._animationsDisabled||a||r==="none",S=e+i,M=t.length;let k=e>0&&this.getParsed(e-1);for(let A=0;A=S){C.skip=!0;continue}const R=this.getParsed(A),W=isNullOrUndef(R[y]),K=C[_]=o.getPixelForValue(R[_],A),Y=C[y]=a||W?l.getBasePixel():l.getPixelForValue(u?this.applyStack(l,R,u):R[y],A);C.skip=isNaN(K)||isNaN(Y)||W,C.stop=A>0&&Math.abs(R[_]-k[_])>E,v&&(C.parsed=R,C.raw=d.data[A]),p&&(C.options=m||this.resolveDataElementOptions(A,I.active?"active":r)),x||this.updateElement(I,A,C,r),k=R}}getMaxOverflow(){const t=this._cachedMeta,e=t.dataset,i=e.options&&e.options.borderWidth||0,r=t.data||[];if(!r.length)return i;const a=r[0].size(this.resolveDataElementOptions(0)),o=r[r.length-1].size(this.resolveDataElementOptions(r.length-1));return Math.max(i,a,o)/2}draw(){const t=this._cachedMeta;t.dataset.updateControlPoints(this.chart.chartArea,t.iScale.axis),super.draw()}}F(LineController,"id","line"),F(LineController,"defaults",{datasetElementType:"line",dataElementType:"point",showLine:!0,spanGaps:!1}),F(LineController,"overrides",{scales:{_index_:{type:"category"},_value_:{type:"linear"}}});class PolarAreaController extends DatasetController{constructor(t,e){super(t,e),this.innerRadius=void 0,this.outerRadius=void 0}getLabelAndValue(t){const e=this._cachedMeta,i=this.chart,r=i.data.labels||[],a=formatNumber(e._parsed[t].r,i.options.locale);return{label:r[t]||"",value:a}}parseObjectData(t,e,i,r){return _parseObjectDataRadialScale.bind(this)(t,e,i,r)}update(t){const e=this._cachedMeta.data;this._updateRadius(),this.updateElements(e,0,e.length,t)}getMinMax(){const t=this._cachedMeta,e={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY};return t.data.forEach((i,r)=>{const a=this.getParsed(r).r;!isNaN(a)&&this.chart.getDataVisibility(r)&&(ae.max&&(e.max=a))}),e}_updateRadius(){const t=this.chart,e=t.chartArea,i=t.options,r=Math.min(e.right-e.left,e.bottom-e.top),a=Math.max(r/2,0),o=Math.max(i.cutoutPercentage?a/100*i.cutoutPercentage:1,0),l=(a-o)/t.getVisibleDatasetCount();this.outerRadius=a-l*this.index,this.innerRadius=this.outerRadius-l}updateElements(t,e,i,r){const a=r==="reset",o=this.chart,u=o.options.animation,d=this._cachedMeta.rScale,m=d.xCenter,p=d.yCenter,_=d.getIndexAngle(0)-.5*PI;let y=_,w;const v=360/this.countVisibleElements();for(w=0;w{!isNaN(this.getParsed(r).r)&&this.chart.getDataVisibility(r)&&e++}),e}_computeAngle(t,e,i){return this.chart.getDataVisibility(t)?toRadians(this.resolveDataElementOptions(t,e).angle||i):0}}F(PolarAreaController,"id","polarArea"),F(PolarAreaController,"defaults",{dataElementType:"arc",animation:{animateRotate:!0,animateScale:!0},animations:{numbers:{type:"number",properties:["x","y","startAngle","endAngle","innerRadius","outerRadius"]}},indexAxis:"r",startAngle:0}),F(PolarAreaController,"overrides",{aspectRatio:1,plugins:{legend:{labels:{generateLabels(t){const e=t.data;if(e.labels.length&&e.datasets.length){const{labels:{pointStyle:i,color:r}}=t.legend.options;return e.labels.map((a,o)=>{const u=t.getDatasetMeta(0).controller.getStyle(o);return{text:a,fillStyle:u.backgroundColor,strokeStyle:u.borderColor,fontColor:r,lineWidth:u.borderWidth,pointStyle:i,hidden:!t.getDataVisibility(o),index:o}})}return[]}},onClick(t,e,i){i.chart.toggleDataVisibility(e.index),i.chart.update()}}},scales:{r:{type:"radialLinear",angleLines:{display:!1},beginAtZero:!0,grid:{circular:!0},pointLabels:{display:!1},startAngle:0}}});class PieController extends DoughnutController{}F(PieController,"id","pie"),F(PieController,"defaults",{cutout:0,rotation:0,circumference:360,radius:"100%"});function abstract(){throw new Error("This method is not implemented: Check that a complete date adapter is provided.")}class DateAdapterBase{constructor(t){F(this,"options");this.options=t||{}}static override(t){Object.assign(DateAdapterBase.prototype,t)}init(){}formats(){return abstract()}parse(){return abstract()}format(){return abstract()}add(){return abstract()}diff(){return abstract()}startOf(){return abstract()}endOf(){return abstract()}}var adapters={_date:DateAdapterBase};function binarySearch(n,t,e,i){const{controller:r,data:a,_sorted:o}=n,l=r._cachedMeta.iScale;if(l&&t===l.axis&&t!=="r"&&o&&a.length){const u=l._reversePixels?_rlookupByKey:_lookupByKey;if(i){if(r._sharedOptions){const d=a[0],m=typeof d.getRange=="function"&&d.getRange(t);if(m){const p=u(a,t,e-m),_=u(a,t,e+m);return{lo:p.lo,hi:_.hi}}}}else return u(a,t,e)}return{lo:0,hi:a.length-1}}function evaluateInteractionItems(n,t,e,i,r){const a=n.getSortedVisibleDatasetMetas(),o=e[t];for(let l=0,u=a.length;l{u[o](t[e],r)&&(a.push({element:u,datasetIndex:d,index:m}),l=l||u.inRange(t.x,t.y,r))}),i&&!l?[]:a}var Interaction={evaluateInteractionItems,modes:{index(n,t,e,i){const r=getRelativePosition(t,n),a=e.axis||"x",o=e.includeInvisible||!1,l=e.intersect?getIntersectItems(n,r,a,i,o):getNearestItems(n,r,a,!1,i,o),u=[];return l.length?(n.getSortedVisibleDatasetMetas().forEach(d=>{const m=l[0].index,p=d.data[m];p&&!p.skip&&u.push({element:p,datasetIndex:d.index,index:m})}),u):[]},dataset(n,t,e,i){const r=getRelativePosition(t,n),a=e.axis||"xy",o=e.includeInvisible||!1;let l=e.intersect?getIntersectItems(n,r,a,i,o):getNearestItems(n,r,a,!1,i,o);if(l.length>0){const u=l[0].datasetIndex,d=n.getDatasetMeta(u).data;l=[];for(let m=0;me.pos===t)}function filterDynamicPositionByAxis(n,t){return n.filter(e=>STATIC_POSITIONS.indexOf(e.pos)===-1&&e.box.axis===t)}function sortByWeight(n,t){return n.sort((e,i)=>{const r=t?i:e,a=t?e:i;return r.weight===a.weight?r.index-a.index:r.weight-a.weight})}function wrapBoxes(n){const t=[];let e,i,r,a,o,l;for(e=0,i=(n||[]).length;ed.box.fullSize),!0),i=sortByWeight(filterByPosition(t,"left"),!0),r=sortByWeight(filterByPosition(t,"right")),a=sortByWeight(filterByPosition(t,"top"),!0),o=sortByWeight(filterByPosition(t,"bottom")),l=filterDynamicPositionByAxis(t,"x"),u=filterDynamicPositionByAxis(t,"y");return{fullSize:e,leftAndTop:i.concat(a),rightAndBottom:r.concat(u).concat(o).concat(l),chartArea:filterByPosition(t,"chartArea"),vertical:i.concat(r).concat(u),horizontal:a.concat(o).concat(l)}}function getCombinedMax(n,t,e,i){return Math.max(n[e],t[e])+Math.max(n[i],t[i])}function updateMaxPadding(n,t){n.top=Math.max(n.top,t.top),n.left=Math.max(n.left,t.left),n.bottom=Math.max(n.bottom,t.bottom),n.right=Math.max(n.right,t.right)}function updateDims(n,t,e,i){const{pos:r,box:a}=e,o=n.maxPadding;if(!isObject(r)){e.size&&(n[r]-=e.size);const p=i[e.stack]||{size:0,count:1};p.size=Math.max(p.size,e.horizontal?a.height:a.width),e.size=p.size/p.count,n[r]+=e.size}a.getPadding&&updateMaxPadding(o,a.getPadding());const l=Math.max(0,t.outerWidth-getCombinedMax(o,n,"left","right")),u=Math.max(0,t.outerHeight-getCombinedMax(o,n,"top","bottom")),d=l!==n.w,m=u!==n.h;return n.w=l,n.h=u,e.horizontal?{same:d,other:m}:{same:m,other:d}}function handleMaxPadding(n){const t=n.maxPadding;function e(i){const r=Math.max(t[i]-n[i],0);return n[i]+=r,r}n.y+=e("top"),n.x+=e("left"),e("right"),e("bottom")}function getMargins(n,t){const e=t.maxPadding;function i(r){const a={left:0,top:0,right:0,bottom:0};return r.forEach(o=>{a[o]=Math.max(t[o],e[o])}),a}return i(n?["left","right"]:["top","bottom"])}function fitBoxes(n,t,e,i){const r=[];let a,o,l,u,d,m;for(a=0,o=n.length,d=0;a{typeof v.beforeLayout=="function"&&v.beforeLayout()});const m=u.reduce((v,E)=>E.box.options&&E.box.options.display===!1?v:v+1,0)||1,p=Object.freeze({outerWidth:t,outerHeight:e,padding:r,availableWidth:a,availableHeight:o,vBoxMaxWidth:a/2/m,hBoxMaxHeight:o/2}),_=Object.assign({},r);updateMaxPadding(_,toPadding(i));const y=Object.assign({maxPadding:_,w:a,h:o,x:r.left,y:r.top},r),w=setLayoutDims(u.concat(d),p);fitBoxes(l.fullSize,y,p,w),fitBoxes(u,y,p,w),fitBoxes(d,y,p,w)&&fitBoxes(u,y,p,w),handleMaxPadding(y),placeBoxes(l.leftAndTop,y,p,w),y.x+=y.w,y.y+=y.h,placeBoxes(l.rightAndBottom,y,p,w),n.chartArea={left:y.left,top:y.top,right:y.left+y.w,bottom:y.top+y.h,height:y.h,width:y.w},each$2(l.chartArea,v=>{const E=v.box;Object.assign(E,n.chartArea),E.update(y.w,y.h,{left:0,top:0,right:0,bottom:0})})}};class BasePlatform{acquireContext(t,e){}releaseContext(t){return!1}addEventListener(t,e,i){}removeEventListener(t,e,i){}getDevicePixelRatio(){return 1}getMaximumSize(t,e,i,r){return e=Math.max(0,e||t.width),i=i||t.height,{width:e,height:Math.max(0,r?Math.floor(e/r):i)}}isAttached(t){return!0}updateConfig(t){}}class BasicPlatform extends BasePlatform{acquireContext(t){return t&&t.getContext&&t.getContext("2d")||null}updateConfig(t){t.options.animation=!1}}const EXPANDO_KEY="$chartjs",EVENT_TYPES={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},isNullOrEmpty=n=>n===null||n==="";function initCanvas(n,t){const e=n.style,i=n.getAttribute("height"),r=n.getAttribute("width");if(n[EXPANDO_KEY]={initial:{height:i,width:r,style:{display:e.display,height:e.height,width:e.width}}},e.display=e.display||"block",e.boxSizing=e.boxSizing||"border-box",isNullOrEmpty(r)){const a=readUsedSize(n,"width");a!==void 0&&(n.width=a)}if(isNullOrEmpty(i))if(n.style.height==="")n.height=n.width/(t||2);else{const a=readUsedSize(n,"height");a!==void 0&&(n.height=a)}return n}const eventListenerOptions=supportsEventListenerOptions?{passive:!0}:!1;function addListener(n,t,e){n.addEventListener(t,e,eventListenerOptions)}function removeListener(n,t,e){n.canvas.removeEventListener(t,e,eventListenerOptions)}function fromNativeEvent(n,t){const e=EVENT_TYPES[n.type]||n.type,{x:i,y:r}=getRelativePosition(n,t);return{type:e,chart:t,native:n,x:i!==void 0?i:null,y:r!==void 0?r:null}}function nodeListContains(n,t){for(const e of n)if(e===t||e.contains(t))return!0}function createAttachObserver(n,t,e){const i=n.canvas,r=new MutationObserver(a=>{let o=!1;for(const l of a)o=o||nodeListContains(l.addedNodes,i),o=o&&!nodeListContains(l.removedNodes,i);o&&e()});return r.observe(document,{childList:!0,subtree:!0}),r}function createDetachObserver(n,t,e){const i=n.canvas,r=new MutationObserver(a=>{let o=!1;for(const l of a)o=o||nodeListContains(l.removedNodes,i),o=o&&!nodeListContains(l.addedNodes,i);o&&e()});return r.observe(document,{childList:!0,subtree:!0}),r}const drpListeningCharts=new Map;let oldDevicePixelRatio=0;function onWindowResize(){const n=window.devicePixelRatio;n!==oldDevicePixelRatio&&(oldDevicePixelRatio=n,drpListeningCharts.forEach((t,e)=>{e.currentDevicePixelRatio!==n&&t()}))}function listenDevicePixelRatioChanges(n,t){drpListeningCharts.size||window.addEventListener("resize",onWindowResize),drpListeningCharts.set(n,t)}function unlistenDevicePixelRatioChanges(n){drpListeningCharts.delete(n),drpListeningCharts.size||window.removeEventListener("resize",onWindowResize)}function createResizeObserver(n,t,e){const i=n.canvas,r=i&&_getParentNode(i);if(!r)return;const a=throttled((l,u)=>{const d=r.clientWidth;e(l,u),d{const u=l[0],d=u.contentRect.width,m=u.contentRect.height;d===0&&m===0||a(d,m)});return o.observe(r),listenDevicePixelRatioChanges(n,a),o}function releaseObserver(n,t,e){e&&e.disconnect(),t==="resize"&&unlistenDevicePixelRatioChanges(n)}function createProxyAndListen(n,t,e){const i=n.canvas,r=throttled(a=>{n.ctx!==null&&e(fromNativeEvent(a,n))},n);return addListener(i,t,r),r}class DomPlatform extends BasePlatform{acquireContext(t,e){const i=t&&t.getContext&&t.getContext("2d");return i&&i.canvas===t?(initCanvas(t,e),i):null}releaseContext(t){const e=t.canvas;if(!e[EXPANDO_KEY])return!1;const i=e[EXPANDO_KEY].initial;["height","width"].forEach(a=>{const o=i[a];isNullOrUndef(o)?e.removeAttribute(a):e.setAttribute(a,o)});const r=i.style||{};return Object.keys(r).forEach(a=>{e.style[a]=r[a]}),e.width=e.width,delete e[EXPANDO_KEY],!0}addEventListener(t,e,i){this.removeEventListener(t,e);const r=t.$proxies||(t.$proxies={}),o={attach:createAttachObserver,detach:createDetachObserver,resize:createResizeObserver}[e]||createProxyAndListen;r[e]=o(t,e,i)}removeEventListener(t,e){const i=t.$proxies||(t.$proxies={}),r=i[e];if(!r)return;({attach:releaseObserver,detach:releaseObserver,resize:releaseObserver}[e]||removeListener)(t,e,r),i[e]=void 0}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(t,e,i,r){return getMaximumSize(t,e,i,r)}isAttached(t){const e=_getParentNode(t);return!!(e&&e.isConnected)}}function _detectPlatform(n){return!_isDomSupported()||typeof OffscreenCanvas<"u"&&n instanceof OffscreenCanvas?BasicPlatform:DomPlatform}var Xe;let Element$1=(Xe=class{constructor(){F(this,"x");F(this,"y");F(this,"active",!1);F(this,"options");F(this,"$animations")}tooltipPosition(t){const{x:e,y:i}=this.getProps(["x","y"],t);return{x:e,y:i}}hasValue(){return isNumber(this.x)&&isNumber(this.y)}getProps(t,e){const i=this.$animations;if(!e||!i)return this;const r={};return t.forEach(a=>{r[a]=i[a]&&i[a].active()?i[a]._to:this[a]}),r}},F(Xe,"defaults",{}),F(Xe,"defaultRoutes"),Xe);function autoSkip(n,t){const e=n.options.ticks,i=determineMaxTicks(n),r=Math.min(e.maxTicksLimit||i,i),a=e.major.enabled?getMajorIndices(t):[],o=a.length,l=a[0],u=a[o-1],d=[];if(o>r)return skipMajors(t,d,a,o/r),d;const m=calculateSpacing(a,t,r);if(o>0){let p,_;const y=o>1?Math.round((u-l)/(o-1)):null;for(skip(t,d,m,isNullOrUndef(y)?0:l-y,l),p=0,_=o-1;p<_;p++)skip(t,d,m,a[p],a[p+1]);return skip(t,d,m,u,isNullOrUndef(y)?t.length:u+y),d}return skip(t,d,m),d}function determineMaxTicks(n){const t=n.options.offset,e=n._tickSize(),i=n._length/e+(t?0:1),r=n._maxLength/e;return Math.floor(Math.min(i,r))}function calculateSpacing(n,t,e){const i=getEvenSpacing(n),r=t.length/e;if(!i)return Math.max(r,1);const a=_factorize(i);for(let o=0,l=a.length-1;or)return u}return Math.max(r,1)}function getMajorIndices(n){const t=[];let e,i;for(e=0,i=n.length;en==="left"?"right":n==="right"?"left":n,offsetFromEdge=(n,t,e)=>t==="top"||t==="left"?n[t]+e:n[t]-e,getTicksLimit=(n,t)=>Math.min(t||n,n);function sample(n,t){const e=[],i=n.length/t,r=n.length;let a=0;for(;ao+l)))return u}function garbageCollect(n,t){each$2(n,e=>{const i=e.gc,r=i.length/2;let a;if(r>t){for(a=0;ai?i:e,i=r&&e>i?e:i,{min:finiteOrDefault(e,finiteOrDefault(i,e)),max:finiteOrDefault(i,finiteOrDefault(e,i))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){const t=this.chart.data;return this.options.labels||(this.isHorizontal()?t.xLabels:t.yLabels)||t.labels||[]}getLabelItems(t=this.chart.chartArea){return this._labelItems||(this._labelItems=this._computeLabelItems(t))}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){callback(this.options.beforeUpdate,[this])}update(t,e,i){const{beginAtZero:r,grace:a,ticks:o}=this.options,l=o.sampleSize;this.beforeUpdate(),this.maxWidth=t,this.maxHeight=e,this._margins=i=Object.assign({left:0,right:0,top:0,bottom:0},i),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+i.left+i.right:this.height+i.top+i.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=_addGrace(this,a,r),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();const u=l=a||i<=1||!this.isHorizontal()){this.labelRotation=r;return}const m=this._getLabelSizes(),p=m.widest.width,_=m.highest.height,y=_limitValue(this.chart.width-p,0,this.maxWidth);l=t.offset?this.maxWidth/i:y/(i-1),p+6>l&&(l=y/(i-(t.offset?.5:1)),u=this.maxHeight-getTickMarkLength(t.grid)-e.padding-getTitleHeight(t.title,this.chart.options.font),d=Math.sqrt(p*p+_*_),o=toDegrees(Math.min(Math.asin(_limitValue((m.highest.height+6)/l,-1,1)),Math.asin(_limitValue(u/d,-1,1))-Math.asin(_limitValue(_/d,-1,1)))),o=Math.max(r,Math.min(a,o))),this.labelRotation=o}afterCalculateLabelRotation(){callback(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){callback(this.options.beforeFit,[this])}fit(){const t={width:0,height:0},{chart:e,options:{ticks:i,title:r,grid:a}}=this,o=this._isVisible(),l=this.isHorizontal();if(o){const u=getTitleHeight(r,e.options.font);if(l?(t.width=this.maxWidth,t.height=getTickMarkLength(a)+u):(t.height=this.maxHeight,t.width=getTickMarkLength(a)+u),i.display&&this.ticks.length){const{first:d,last:m,widest:p,highest:_}=this._getLabelSizes(),y=i.padding*2,w=toRadians(this.labelRotation),v=Math.cos(w),E=Math.sin(w);if(l){const x=i.mirror?0:E*p.width+v*_.height;t.height=Math.min(this.maxHeight,t.height+x+y)}else{const x=i.mirror?0:v*p.width+E*_.height;t.width=Math.min(this.maxWidth,t.width+x+y)}this._calculatePadding(d,m,E,v)}}this._handleMargins(),l?(this.width=this._length=e.width-this._margins.left-this._margins.right,this.height=t.height):(this.width=t.width,this.height=this._length=e.height-this._margins.top-this._margins.bottom)}_calculatePadding(t,e,i,r){const{ticks:{align:a,padding:o},position:l}=this.options,u=this.labelRotation!==0,d=l!=="top"&&this.axis==="x";if(this.isHorizontal()){const m=this.getPixelForTick(0)-this.left,p=this.right-this.getPixelForTick(this.ticks.length-1);let _=0,y=0;u?d?(_=r*t.width,y=i*e.height):(_=i*t.height,y=r*e.width):a==="start"?y=e.width:a==="end"?_=t.width:a!=="inner"&&(_=t.width/2,y=e.width/2),this.paddingLeft=Math.max((_-m+o)*this.width/(this.width-m),0),this.paddingRight=Math.max((y-p+o)*this.width/(this.width-p),0)}else{let m=e.height/2,p=t.height/2;a==="start"?(m=0,p=t.height):a==="end"&&(m=e.height,p=0),this.paddingTop=m+o,this.paddingBottom=p+o}}_handleMargins(){this._margins&&(this._margins.left=Math.max(this.paddingLeft,this._margins.left),this._margins.top=Math.max(this.paddingTop,this._margins.top),this._margins.right=Math.max(this.paddingRight,this._margins.right),this._margins.bottom=Math.max(this.paddingBottom,this._margins.bottom))}afterFit(){callback(this.options.afterFit,[this])}isHorizontal(){const{axis:t,position:e}=this.options;return e==="top"||e==="bottom"||t==="x"}isFullSize(){return this.options.fullSize}_convertTicksToLabels(t){this.beforeTickToLabelConversion(),this.generateTickLabels(t);let e,i;for(e=0,i=t.length;e({width:o[W]||0,height:l[W]||0});return{first:R(0),last:R(e-1),widest:R(I),highest:R(C),widths:o,heights:l}}getLabelForValue(t){return t}getPixelForValue(t,e){return NaN}getValueForPixel(t){}getPixelForTick(t){const e=this.ticks;return t<0||t>e.length-1?null:this.getPixelForValue(e[t].value)}getPixelForDecimal(t){this._reversePixels&&(t=1-t);const e=this._startPixel+t*this._length;return _int16Range(this._alignToPixels?_alignPixel(this.chart,e,0):e)}getDecimalForPixel(t){const e=(t-this._startPixel)/this._length;return this._reversePixels?1-e:e}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){const{min:t,max:e}=this;return t<0&&e<0?e:t>0&&e>0?t:0}getContext(t){const e=this.ticks||[];if(t>=0&&tl*r?l/i:u/r:u*r0}_computeGridLineItems(t){const e=this.axis,i=this.chart,r=this.options,{grid:a,position:o,border:l}=r,u=a.offset,d=this.isHorizontal(),p=this.ticks.length+(u?1:0),_=getTickMarkLength(a),y=[],w=l.setContext(this.getContext()),v=w.display?w.width:0,E=v/2,x=function(N){return _alignPixel(i,N,v)};let S,M,k,A,I,C,R,W,K,Y,q,J;if(o==="top")S=x(this.bottom),C=this.bottom-_,W=S-E,Y=x(t.top)+E,J=t.bottom;else if(o==="bottom")S=x(this.top),Y=t.top,J=x(t.bottom)-E,C=S+E,W=this.top+_;else if(o==="left")S=x(this.right),I=this.right-_,R=S-E,K=x(t.left)+E,q=t.right;else if(o==="right")S=x(this.left),K=t.left,q=x(t.right)-E,I=S+E,R=this.left+_;else if(e==="x"){if(o==="center")S=x((t.top+t.bottom)/2+.5);else if(isObject(o)){const N=Object.keys(o)[0],V=o[N];S=x(this.chart.scales[N].getPixelForValue(V))}Y=t.top,J=t.bottom,C=S+E,W=C+_}else if(e==="y"){if(o==="center")S=x((t.left+t.right)/2);else if(isObject(o)){const N=Object.keys(o)[0],V=o[N];S=x(this.chart.scales[N].getPixelForValue(V))}I=S-E,R=I-_,K=t.left,q=t.right}const nt=valueOrDefault(r.ticks.maxTicksLimit,p),$=Math.max(1,Math.ceil(p/nt));for(M=0;M0&&(Q-=rt/2);break}lt={left:Q,top:tt,width:rt+dt.width,height:st+dt.height,color:$.backdropColor}}E.push({label:k,font:W,textOffset:q,options:{rotation:v,color:V,strokeColor:H,strokeWidth:X,textAlign:B,textBaseline:J,translation:[A,I],backdrop:lt}})}return E}_getXAxisLabelAlignment(){const{position:t,ticks:e}=this.options;if(-toRadians(this.labelRotation))return t==="top"?"left":"right";let r="center";return e.align==="start"?r="left":e.align==="end"?r="right":e.align==="inner"&&(r="inner"),r}_getYAxisLabelAlignment(t){const{position:e,ticks:{crossAlign:i,mirror:r,padding:a}}=this.options,o=this._getLabelSizes(),l=t+a,u=o.widest.width;let d,m;return e==="left"?r?(m=this.right+a,i==="near"?d="left":i==="center"?(d="center",m+=u/2):(d="right",m+=u)):(m=this.right-l,i==="near"?d="right":i==="center"?(d="center",m-=u/2):(d="left",m=this.left)):e==="right"?r?(m=this.left+a,i==="near"?d="right":i==="center"?(d="center",m-=u/2):(d="left",m-=u)):(m=this.left+l,i==="near"?d="left":i==="center"?(d="center",m+=u/2):(d="right",m=this.right)):d="right",{textAlign:d,x:m}}_computeLabelArea(){if(this.options.ticks.mirror)return;const t=this.chart,e=this.options.position;if(e==="left"||e==="right")return{top:0,left:this.left,bottom:t.height,right:this.right};if(e==="top"||e==="bottom")return{top:this.top,left:0,bottom:this.bottom,right:t.width}}drawBackground(){const{ctx:t,options:{backgroundColor:e},left:i,top:r,width:a,height:o}=this;e&&(t.save(),t.fillStyle=e,t.fillRect(i,r,a,o),t.restore())}getLineWidthForValue(t){const e=this.options.grid;if(!this._isVisible()||!e.display)return 0;const r=this.ticks.findIndex(a=>a.value===t);return r>=0?e.setContext(this.getContext(r)).lineWidth:0}drawGrid(t){const e=this.options.grid,i=this.ctx,r=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(t));let a,o;const l=(u,d,m)=>{!m.width||!m.color||(i.save(),i.lineWidth=m.width,i.strokeStyle=m.color,i.setLineDash(m.borderDash||[]),i.lineDashOffset=m.borderDashOffset,i.beginPath(),i.moveTo(u.x,u.y),i.lineTo(d.x,d.y),i.stroke(),i.restore())};if(e.display)for(a=0,o=r.length;a{this.draw(a)}}]:[{z:i,draw:a=>{this.drawBackground(),this.drawGrid(a),this.drawTitle()}},{z:r,draw:()=>{this.drawBorder()}},{z:e,draw:a=>{this.drawLabels(a)}}]}getMatchingVisibleMetas(t){const e=this.chart.getSortedVisibleDatasetMetas(),i=this.axis+"AxisID",r=[];let a,o;for(a=0,o=e.length;a{const i=e.split("."),r=i.pop(),a=[n].concat(i).join("."),o=t[e].split("."),l=o.pop(),u=o.join(".");defaults$2.route(a,r,u,l)})}function isIChartComponent(n){return"id"in n&&"defaults"in n}class Registry{constructor(){this.controllers=new TypedRegistry(DatasetController,"datasets",!0),this.elements=new TypedRegistry(Element$1,"elements"),this.plugins=new TypedRegistry(Object,"plugins"),this.scales=new TypedRegistry(Scale,"scales"),this._typedRegistries=[this.controllers,this.scales,this.elements]}add(...t){this._each("register",t)}remove(...t){this._each("unregister",t)}addControllers(...t){this._each("register",t,this.controllers)}addElements(...t){this._each("register",t,this.elements)}addPlugins(...t){this._each("register",t,this.plugins)}addScales(...t){this._each("register",t,this.scales)}getController(t){return this._get(t,this.controllers,"controller")}getElement(t){return this._get(t,this.elements,"element")}getPlugin(t){return this._get(t,this.plugins,"plugin")}getScale(t){return this._get(t,this.scales,"scale")}removeControllers(...t){this._each("unregister",t,this.controllers)}removeElements(...t){this._each("unregister",t,this.elements)}removePlugins(...t){this._each("unregister",t,this.plugins)}removeScales(...t){this._each("unregister",t,this.scales)}_each(t,e,i){[...e].forEach(r=>{const a=i||this._getRegistryForType(r);i||a.isForType(r)||a===this.plugins&&r.id?this._exec(t,a,r):each$2(r,o=>{const l=i||this._getRegistryForType(o);this._exec(t,l,o)})})}_exec(t,e,i){const r=_capitalize(t);callback(i["before"+r],[],i),e[t](i),callback(i["after"+r],[],i)}_getRegistryForType(t){for(let e=0;ea.filter(l=>!o.some(u=>l.plugin.id===u.plugin.id));this._notify(r(e,i),t,"stop"),this._notify(r(i,e),t,"start")}}function allPlugins(n){const t={},e=[],i=Object.keys(registry.plugins.items);for(let a=0;a1&&idMatchesAxis(n[0].toLowerCase());if(i)return i}throw new Error(`Cannot determine type of '${n}' axis. Please provide 'axis' or 'position' option.`)}function getAxisFromDataset(n,t,e){if(e[t+"AxisID"]===n)return{axis:t}}function retrieveAxisFromDatasets(n,t){if(t.data&&t.data.datasets){const e=t.data.datasets.filter(i=>i.xAxisID===n||i.yAxisID===n);if(e.length)return getAxisFromDataset(n,"x",e[0])||getAxisFromDataset(n,"y",e[0])}return{}}function mergeScaleConfig(n,t){const e=overrides[n.type]||{scales:{}},i=t.scales||{},r=getIndexAxis(n.type,t),a=Object.create(null);return Object.keys(i).forEach(o=>{const l=i[o];if(!isObject(l))return console.error(`Invalid scale configuration for scale: ${o}`);if(l._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${o}`);const u=determineAxis(o,l,retrieveAxisFromDatasets(o,n),defaults$2.scales[l.type]),d=getDefaultScaleIDFromAxis(u,r),m=e.scales||{};a[o]=mergeIf(Object.create(null),[{axis:u},l,m[u],m[d]])}),n.data.datasets.forEach(o=>{const l=o.type||n.type,u=o.indexAxis||getIndexAxis(l,t),m=(overrides[l]||{}).scales||{};Object.keys(m).forEach(p=>{const _=getAxisFromDefaultScaleID(p,u),y=o[_+"AxisID"]||_;a[y]=a[y]||Object.create(null),mergeIf(a[y],[{axis:_},i[y],m[p]])})}),Object.keys(a).forEach(o=>{const l=a[o];mergeIf(l,[defaults$2.scales[l.type],defaults$2.scale])}),a}function initOptions(n){const t=n.options||(n.options={});t.plugins=valueOrDefault(t.plugins,{}),t.scales=mergeScaleConfig(n,t)}function initData(n){return n=n||{},n.datasets=n.datasets||[],n.labels=n.labels||[],n}function initConfig(n){return n=n||{},n.data=initData(n.data),initOptions(n),n}const keyCache=new Map,keysCached=new Set;function cachedKeys(n,t){let e=keyCache.get(n);return e||(e=t(),keyCache.set(n,e),keysCached.add(e)),e}const addIfFound=(n,t,e)=>{const i=resolveObjectKey(t,e);i!==void 0&&n.add(i)};class Config{constructor(t){this._config=initConfig(t),this._scopeCache=new Map,this._resolverCache=new Map}get platform(){return this._config.platform}get type(){return this._config.type}set type(t){this._config.type=t}get data(){return this._config.data}set data(t){this._config.data=initData(t)}get options(){return this._config.options}set options(t){this._config.options=t}get plugins(){return this._config.plugins}update(){const t=this._config;this.clearCache(),initOptions(t)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(t){return cachedKeys(t,()=>[[`datasets.${t}`,""]])}datasetAnimationScopeKeys(t,e){return cachedKeys(`${t}.transition.${e}`,()=>[[`datasets.${t}.transitions.${e}`,`transitions.${e}`],[`datasets.${t}`,""]])}datasetElementScopeKeys(t,e){return cachedKeys(`${t}-${e}`,()=>[[`datasets.${t}.elements.${e}`,`datasets.${t}`,`elements.${e}`,""]])}pluginScopeKeys(t){const e=t.id,i=this.type;return cachedKeys(`${i}-plugin-${e}`,()=>[[`plugins.${e}`,...t.additionalOptionScopes||[]]])}_cachedScopes(t,e){const i=this._scopeCache;let r=i.get(t);return(!r||e)&&(r=new Map,i.set(t,r)),r}getOptionScopes(t,e,i){const{options:r,type:a}=this,o=this._cachedScopes(t,i),l=o.get(e);if(l)return l;const u=new Set;e.forEach(m=>{t&&(u.add(t),m.forEach(p=>addIfFound(u,t,p))),m.forEach(p=>addIfFound(u,r,p)),m.forEach(p=>addIfFound(u,overrides[a]||{},p)),m.forEach(p=>addIfFound(u,defaults$2,p)),m.forEach(p=>addIfFound(u,descriptors,p))});const d=Array.from(u);return d.length===0&&d.push(Object.create(null)),keysCached.has(e)&&o.set(e,d),d}chartOptionScopes(){const{options:t,type:e}=this;return[t,overrides[e]||{},defaults$2.datasets[e]||{},{type:e},defaults$2,descriptors]}resolveNamedOptions(t,e,i,r=[""]){const a={$shared:!0},{resolver:o,subPrefixes:l}=getResolver(this._resolverCache,t,r);let u=o;if(needContext(o,e)){a.$shared=!1,i=isFunction(i)?i():i;const d=this.createResolver(t,i,l);u=_attachContext(o,i,d)}for(const d of e)a[d]=u[d];return a}createResolver(t,e,i=[""],r){const{resolver:a}=getResolver(this._resolverCache,t,i);return isObject(e)?_attachContext(a,e,void 0,r):a}}function getResolver(n,t,e){let i=n.get(t);i||(i=new Map,n.set(t,i));const r=e.join();let a=i.get(r);return a||(a={resolver:_createResolver(t,e),subPrefixes:e.filter(l=>!l.toLowerCase().includes("hover"))},i.set(r,a)),a}const hasFunction=n=>isObject(n)&&Object.getOwnPropertyNames(n).some(t=>isFunction(n[t]));function needContext(n,t){const{isScriptable:e,isIndexable:i}=_descriptors(n);for(const r of t){const a=e(r),o=i(r),l=(o||a)&&n[r];if(a&&(isFunction(l)||hasFunction(l))||o&&isArray(l))return!0}return!1}var version="4.4.1";const KNOWN_POSITIONS=["top","bottom","left","right","chartArea"];function positionIsHorizontal(n,t){return n==="top"||n==="bottom"||KNOWN_POSITIONS.indexOf(n)===-1&&t==="x"}function compare2Level(n,t){return function(e,i){return e[n]===i[n]?e[t]-i[t]:e[n]-i[n]}}function onAnimationsComplete(n){const t=n.chart,e=t.options.animation;t.notifyPlugins("afterRender"),callback(e&&e.onComplete,[n],t)}function onAnimationProgress(n){const t=n.chart,e=t.options.animation;callback(e&&e.onProgress,[n],t)}function getCanvas(n){return _isDomSupported()&&typeof n=="string"?n=document.getElementById(n):n&&n.length&&(n=n[0]),n&&n.canvas&&(n=n.canvas),n}const instances={},getChart=n=>{const t=getCanvas(n);return Object.values(instances).filter(e=>e.canvas===t).pop()};function moveNumericKeys(n,t,e){const i=Object.keys(n);for(const r of i){const a=+r;if(a>=t){const o=n[r];delete n[r],(e>0||a>t)&&(n[a+e]=o)}}}function determineLastEvent(n,t,e,i){return!e||n.type==="mouseout"?null:i?t:n}function getSizeForArea(n,t,e){return n.options.clip?n[e]:t[e]}function getDatasetArea(n,t){const{xScale:e,yScale:i}=n;return e&&i?{left:getSizeForArea(e,t,"left"),right:getSizeForArea(e,t,"right"),top:getSizeForArea(i,t,"top"),bottom:getSizeForArea(i,t,"bottom")}:t}class Chart{static register(...t){registry.add(...t),invalidatePlugins()}static unregister(...t){registry.remove(...t),invalidatePlugins()}constructor(t,e){const i=this.config=new Config(e),r=getCanvas(t),a=getChart(r);if(a)throw new Error("Canvas is already in use. Chart with ID '"+a.id+"' must be destroyed before the canvas with ID '"+a.canvas.id+"' can be reused.");const o=i.createResolver(i.chartOptionScopes(),this.getContext());this.platform=new(i.platform||_detectPlatform(r)),this.platform.updateConfig(i);const l=this.platform.acquireContext(r,o.aspectRatio),u=l&&l.canvas,d=u&&u.height,m=u&&u.width;if(this.id=uid(),this.ctx=l,this.canvas=u,this.width=m,this.height=d,this._options=o,this._aspectRatio=this.aspectRatio,this._layers=[],this._metasets=[],this._stacks=void 0,this.boxes=[],this.currentDevicePixelRatio=void 0,this.chartArea=void 0,this._active=[],this._lastEvent=void 0,this._listeners={},this._responsiveListeners=void 0,this._sortedMetasets=[],this.scales={},this._plugins=new PluginService,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=debounce$2(p=>this.update(p),o.resizeDelay||0),this._dataChanges=[],instances[this.id]=this,!l||!u){console.error("Failed to create chart: can't acquire context from the given item");return}animator.listen(this,"complete",onAnimationsComplete),animator.listen(this,"progress",onAnimationProgress),this._initialize(),this.attached&&this.update()}get aspectRatio(){const{options:{aspectRatio:t,maintainAspectRatio:e},width:i,height:r,_aspectRatio:a}=this;return isNullOrUndef(t)?e&&a?a:r?i/r:null:t}get data(){return this.config.data}set data(t){this.config.data=t}get options(){return this._options}set options(t){this.config.options=t}get registry(){return registry}_initialize(){return this.notifyPlugins("beforeInit"),this.options.responsive?this.resize():retinaScale(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return clearCanvas(this.canvas,this.ctx),this}stop(){return animator.stop(this),this}resize(t,e){animator.running(this)?this._resizeBeforeDraw={width:t,height:e}:this._resize(t,e)}_resize(t,e){const i=this.options,r=this.canvas,a=i.maintainAspectRatio&&this.aspectRatio,o=this.platform.getMaximumSize(r,t,e,a),l=i.devicePixelRatio||this.platform.getDevicePixelRatio(),u=this.width?"resize":"attach";this.width=o.width,this.height=o.height,this._aspectRatio=this.aspectRatio,retinaScale(this,l,!0)&&(this.notifyPlugins("resize",{size:o}),callback(i.onResize,[this,o],this),this.attached&&this._doResize(u)&&this.render())}ensureScalesHaveIDs(){const e=this.options.scales||{};each$2(e,(i,r)=>{i.id=r})}buildOrUpdateScales(){const t=this.options,e=t.scales,i=this.scales,r=Object.keys(i).reduce((o,l)=>(o[l]=!1,o),{});let a=[];e&&(a=a.concat(Object.keys(e).map(o=>{const l=e[o],u=determineAxis(o,l),d=u==="r",m=u==="x";return{options:l,dposition:d?"chartArea":m?"bottom":"left",dtype:d?"radialLinear":m?"category":"linear"}}))),each$2(a,o=>{const l=o.options,u=l.id,d=determineAxis(u,l),m=valueOrDefault(l.type,o.dtype);(l.position===void 0||positionIsHorizontal(l.position,d)!==positionIsHorizontal(o.dposition))&&(l.position=o.dposition),r[u]=!0;let p=null;if(u in i&&i[u].type===m)p=i[u];else{const _=registry.getScale(m);p=new _({id:u,type:m,ctx:this.ctx,chart:this}),i[p.id]=p}p.init(l,t)}),each$2(r,(o,l)=>{o||delete i[l]}),each$2(i,o=>{layouts.configure(this,o,o.options),layouts.addBox(this,o)})}_updateMetasets(){const t=this._metasets,e=this.data.datasets.length,i=t.length;if(t.sort((r,a)=>r.index-a.index),i>e){for(let r=e;re.length&&delete this._stacks,t.forEach((i,r)=>{e.filter(a=>a===i._dataset).length===0&&this._destroyDatasetMeta(r)})}buildOrUpdateControllers(){const t=[],e=this.data.datasets;let i,r;for(this._removeUnreferencedMetasets(),i=0,r=e.length;i{this.getDatasetMeta(e).controller.reset()},this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(t){const e=this.config;e.update();const i=this._options=e.createResolver(e.chartOptionScopes(),this.getContext()),r=this._animationsDisabled=!i.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),this.notifyPlugins("beforeUpdate",{mode:t,cancelable:!0})===!1)return;const a=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let o=0;for(let d=0,m=this.data.datasets.length;d{d.reset()}),this._updateDatasets(t),this.notifyPlugins("afterUpdate",{mode:t}),this._layers.sort(compare2Level("z","_idx"));const{_active:l,_lastEvent:u}=this;u?this._eventHandler(u,!0):l.length&&this._updateHoverStyles(l,l,!0),this.render()}_updateScales(){each$2(this.scales,t=>{layouts.removeBox(this,t)}),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){const t=this.options,e=new Set(Object.keys(this._listeners)),i=new Set(t.events);(!setsEqual(e,i)||!!this._responsiveListeners!==t.responsive)&&(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){const{_hiddenIndices:t}=this,e=this._getUniformDataChanges()||[];for(const{method:i,start:r,count:a}of e){const o=i==="_removeElements"?-a:a;moveNumericKeys(t,r,o)}}_getUniformDataChanges(){const t=this._dataChanges;if(!t||!t.length)return;this._dataChanges=[];const e=this.data.datasets.length,i=a=>new Set(t.filter(o=>o[0]===a).map((o,l)=>l+","+o.splice(1).join(","))),r=i(0);for(let a=1;aa.split(",")).map(a=>({method:a[1],start:+a[2],count:+a[3]}))}_updateLayout(t){if(this.notifyPlugins("beforeLayout",{cancelable:!0})===!1)return;layouts.update(this,this.width,this.height,t);const e=this.chartArea,i=e.width<=0||e.height<=0;this._layers=[],each$2(this.boxes,r=>{i&&r.position==="chartArea"||(r.configure&&r.configure(),this._layers.push(...r._layers()))},this),this._layers.forEach((r,a)=>{r._idx=a}),this.notifyPlugins("afterLayout")}_updateDatasets(t){if(this.notifyPlugins("beforeDatasetsUpdate",{mode:t,cancelable:!0})!==!1){for(let e=0,i=this.data.datasets.length;e=0;--e)this._drawDataset(t[e]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(t){const e=this.ctx,i=t._clip,r=!i.disabled,a=getDatasetArea(t,this.chartArea),o={meta:t,index:t.index,cancelable:!0};this.notifyPlugins("beforeDatasetDraw",o)!==!1&&(r&&clipArea(e,{left:i.left===!1?0:a.left-i.left,right:i.right===!1?this.width:a.right+i.right,top:i.top===!1?0:a.top-i.top,bottom:i.bottom===!1?this.height:a.bottom+i.bottom}),t.controller.draw(),r&&unclipArea(e),o.cancelable=!1,this.notifyPlugins("afterDatasetDraw",o))}isPointInArea(t){return _isPointInArea(t,this.chartArea,this._minPadding)}getElementsAtEventForMode(t,e,i,r){const a=Interaction.modes[e];return typeof a=="function"?a(this,t,i,r):[]}getDatasetMeta(t){const e=this.data.datasets[t],i=this._metasets;let r=i.filter(a=>a&&a._dataset===e).pop();return r||(r={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:e&&e.order||0,index:t,_dataset:e,_parsed:[],_sorted:!1},i.push(r)),r}getContext(){return this.$context||(this.$context=createContext(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(t){const e=this.data.datasets[t];if(!e)return!1;const i=this.getDatasetMeta(t);return typeof i.hidden=="boolean"?!i.hidden:!e.hidden}setDatasetVisibility(t,e){const i=this.getDatasetMeta(t);i.hidden=!e}toggleDataVisibility(t){this._hiddenIndices[t]=!this._hiddenIndices[t]}getDataVisibility(t){return!this._hiddenIndices[t]}_updateVisibility(t,e,i){const r=i?"show":"hide",a=this.getDatasetMeta(t),o=a.controller._resolveAnimations(void 0,r);defined$1(e)?(a.data[e].hidden=!i,this.update()):(this.setDatasetVisibility(t,i),o.update(a,{visible:i}),this.update(l=>l.datasetIndex===t?r:void 0))}hide(t,e){this._updateVisibility(t,e,!1)}show(t,e){this._updateVisibility(t,e,!0)}_destroyDatasetMeta(t){const e=this._metasets[t];e&&e.controller&&e.controller._destroy(),delete this._metasets[t]}_stop(){let t,e;for(this.stop(),animator.remove(this),t=0,e=this.data.datasets.length;t{e.addEventListener(this,a,o),t[a]=o},r=(a,o,l)=>{a.offsetX=o,a.offsetY=l,this._eventHandler(a)};each$2(this.options.events,a=>i(a,r))}bindResponsiveEvents(){this._responsiveListeners||(this._responsiveListeners={});const t=this._responsiveListeners,e=this.platform,i=(u,d)=>{e.addEventListener(this,u,d),t[u]=d},r=(u,d)=>{t[u]&&(e.removeEventListener(this,u,d),delete t[u])},a=(u,d)=>{this.canvas&&this.resize(u,d)};let o;const l=()=>{r("attach",l),this.attached=!0,this.resize(),i("resize",a),i("detach",o)};o=()=>{this.attached=!1,r("resize",a),this._stop(),this._resize(0,0),i("attach",l)},e.isAttached(this.canvas)?l():o()}unbindEvents(){each$2(this._listeners,(t,e)=>{this.platform.removeEventListener(this,e,t)}),this._listeners={},each$2(this._responsiveListeners,(t,e)=>{this.platform.removeEventListener(this,e,t)}),this._responsiveListeners=void 0}updateHoverStyle(t,e,i){const r=i?"set":"remove";let a,o,l,u;for(e==="dataset"&&(a=this.getDatasetMeta(t[0].datasetIndex),a.controller["_"+r+"DatasetHoverStyle"]()),l=0,u=t.length;l{const l=this.getDatasetMeta(a);if(!l)throw new Error("No dataset found at index "+a);return{datasetIndex:a,element:l.data[o],index:o}});!_elementsEqual(i,e)&&(this._active=i,this._lastEvent=null,this._updateHoverStyles(i,e))}notifyPlugins(t,e,i){return this._plugins.notify(this,t,e,i)}isPluginEnabled(t){return this._plugins._cache.filter(e=>e.plugin.id===t).length===1}_updateHoverStyles(t,e,i){const r=this.options.hover,a=(u,d)=>u.filter(m=>!d.some(p=>m.datasetIndex===p.datasetIndex&&m.index===p.index)),o=a(e,t),l=i?t:a(t,e);o.length&&this.updateHoverStyle(o,r.mode,!1),l.length&&r.mode&&this.updateHoverStyle(l,r.mode,!0)}_eventHandler(t,e){const i={event:t,replay:e,cancelable:!0,inChartArea:this.isPointInArea(t)},r=o=>(o.options.events||this.options.events).includes(t.native.type);if(this.notifyPlugins("beforeEvent",i,r)===!1)return;const a=this._handleEvent(t,e,i.inChartArea);return i.cancelable=!1,this.notifyPlugins("afterEvent",i,r),(a||i.changed)&&this.render(),this}_handleEvent(t,e,i){const{_active:r=[],options:a}=this,o=e,l=this._getActiveElements(t,r,i,o),u=_isClickEvent(t),d=determineLastEvent(t,this._lastEvent,i,u);i&&(this._lastEvent=null,callback(a.onHover,[t,l,this],this),u&&callback(a.onClick,[t,l,this],this));const m=!_elementsEqual(l,r);return(m||e)&&(this._active=l,this._updateHoverStyles(l,r,e)),this._lastEvent=d,m}_getActiveElements(t,e,i,r){if(t.type==="mouseout")return[];if(!i)return e;const a=this.options.hover;return this.getElementsAtEventForMode(t,a.mode,a,r)}}F(Chart,"defaults",defaults$2),F(Chart,"instances",instances),F(Chart,"overrides",overrides),F(Chart,"registry",registry),F(Chart,"version",version),F(Chart,"getChart",getChart);function invalidatePlugins(){return each$2(Chart.instances,n=>n._plugins.invalidate())}function clipArc(n,t,e){const{startAngle:i,pixelMargin:r,x:a,y:o,outerRadius:l,innerRadius:u}=t;let d=r/l;n.beginPath(),n.arc(a,o,l,i-d,e+d),u>r?(d=r/u,n.arc(a,o,u,e+d,i-d,!0)):n.arc(a,o,r,e+HALF_PI,i-HALF_PI),n.closePath(),n.clip()}function toRadiusCorners(n){return _readValueToProps(n,["outerStart","outerEnd","innerStart","innerEnd"])}function parseBorderRadius$1(n,t,e,i){const r=toRadiusCorners(n.options.borderRadius),a=(e-t)/2,o=Math.min(a,i*t/2),l=u=>{const d=(e-Math.min(a,u))*i/2;return _limitValue(u,0,Math.min(a,d))};return{outerStart:l(r.outerStart),outerEnd:l(r.outerEnd),innerStart:_limitValue(r.innerStart,0,o),innerEnd:_limitValue(r.innerEnd,0,o)}}function rThetaToXY(n,t,e,i){return{x:e+n*Math.cos(t),y:i+n*Math.sin(t)}}function pathArc(n,t,e,i,r,a){const{x:o,y:l,startAngle:u,pixelMargin:d,innerRadius:m}=t,p=Math.max(t.outerRadius+i+e-d,0),_=m>0?m+i+e+d:0;let y=0;const w=r-u;if(i){const $=m>0?m-i:0,N=p>0?p-i:0,V=($+N)/2,H=V!==0?w*V/(V+i):w;y=(w-H)/2}const v=Math.max(.001,w*p-e/PI)/p,E=(w-v)/2,x=u+E+y,S=r-E-y,{outerStart:M,outerEnd:k,innerStart:A,innerEnd:I}=parseBorderRadius$1(t,_,p,S-x),C=p-M,R=p-k,W=x+M/C,K=S-k/R,Y=_+A,q=_+I,J=x+A/Y,nt=S-I/q;if(n.beginPath(),a){const $=(W+K)/2;if(n.arc(o,l,p,W,$),n.arc(o,l,p,$,K),k>0){const X=rThetaToXY(R,K,o,l);n.arc(X.x,X.y,k,K,S+HALF_PI)}const N=rThetaToXY(q,S,o,l);if(n.lineTo(N.x,N.y),I>0){const X=rThetaToXY(q,nt,o,l);n.arc(X.x,X.y,I,S+HALF_PI,nt+Math.PI)}const V=(S-I/_+(x+A/_))/2;if(n.arc(o,l,_,S-I/_,V,!0),n.arc(o,l,_,V,x+A/_,!0),A>0){const X=rThetaToXY(Y,J,o,l);n.arc(X.x,X.y,A,J+Math.PI,x-HALF_PI)}const H=rThetaToXY(C,x,o,l);if(n.lineTo(H.x,H.y),M>0){const X=rThetaToXY(C,W,o,l);n.arc(X.x,X.y,M,x-HALF_PI,W)}}else{n.moveTo(o,l);const $=Math.cos(W)*p+o,N=Math.sin(W)*p+l;n.lineTo($,N);const V=Math.cos(K)*p+o,H=Math.sin(K)*p+l;n.lineTo(V,H)}n.closePath()}function drawArc(n,t,e,i,r){const{fullCircles:a,startAngle:o,circumference:l}=t;let u=t.endAngle;if(a){pathArc(n,t,e,i,u,r);for(let d=0;d=TAU||_angleBetween(o,u,d),E=_isBetween(l,m+y,p+y);return v&&E}getCenterPoint(e){const{x:i,y:r,startAngle:a,endAngle:o,innerRadius:l,outerRadius:u}=this.getProps(["x","y","startAngle","endAngle","innerRadius","outerRadius"],e),{offset:d,spacing:m}=this.options,p=(a+o)/2,_=(l+u+m+d)/2;return{x:i+Math.cos(p)*_,y:r+Math.sin(p)*_}}tooltipPosition(e){return this.getCenterPoint(e)}draw(e){const{options:i,circumference:r}=this,a=(i.offset||0)/4,o=(i.spacing||0)/2,l=i.circular;if(this.pixelMargin=i.borderAlign==="inner"?.33:0,this.fullCircles=r>TAU?Math.floor(r/TAU):0,r===0||this.innerRadius<0||this.outerRadius<0)return;e.save();const u=(this.startAngle+this.endAngle)/2;e.translate(Math.cos(u)*a,Math.sin(u)*a);const d=1-Math.sin(Math.min(PI,r||0)),m=a*d;e.fillStyle=i.backgroundColor,e.strokeStyle=i.borderColor,drawArc(e,this,m,o,l),drawBorder(e,this,m,o,l),e.restore()}}F(ArcElement,"id","arc"),F(ArcElement,"defaults",{borderAlign:"center",borderColor:"#fff",borderDash:[],borderDashOffset:0,borderJoinStyle:void 0,borderRadius:0,borderWidth:2,offset:0,spacing:0,angle:void 0,circular:!0}),F(ArcElement,"defaultRoutes",{backgroundColor:"backgroundColor"}),F(ArcElement,"descriptors",{_scriptable:!0,_indexable:e=>e!=="borderDash"});function setStyle$1(n,t,e=t){n.lineCap=valueOrDefault(e.borderCapStyle,t.borderCapStyle),n.setLineDash(valueOrDefault(e.borderDash,t.borderDash)),n.lineDashOffset=valueOrDefault(e.borderDashOffset,t.borderDashOffset),n.lineJoin=valueOrDefault(e.borderJoinStyle,t.borderJoinStyle),n.lineWidth=valueOrDefault(e.borderWidth,t.borderWidth),n.strokeStyle=valueOrDefault(e.borderColor,t.borderColor)}function lineTo(n,t,e){n.lineTo(e.x,e.y)}function getLineMethod(n){return n.stepped?_steppedLineTo:n.tension||n.cubicInterpolationMode==="monotone"?_bezierCurveTo:lineTo}function pathVars(n,t,e={}){const i=n.length,{start:r=0,end:a=i-1}=e,{start:o,end:l}=t,u=Math.max(r,o),d=Math.min(a,l),m=rl&&a>l;return{count:i,start:u,loop:t.loop,ilen:d(o+(d?l-k:k))%a,M=()=>{v!==E&&(n.lineTo(m,E),n.lineTo(m,v),n.lineTo(m,x))};for(u&&(y=r[S(0)],n.moveTo(y.x,y.y)),_=0;_<=l;++_){if(y=r[S(_)],y.skip)continue;const k=y.x,A=y.y,I=k|0;I===w?(AE&&(E=A),m=(p*m+k)/++p):(M(),n.lineTo(k,A),w=I,p=0,v=E=A),x=A}M()}function _getSegmentMethod(n){const t=n.options,e=t.borderDash&&t.borderDash.length;return!n._decimated&&!n._loop&&!t.tension&&t.cubicInterpolationMode!=="monotone"&&!t.stepped&&!e?fastPathSegment:pathSegment}function _getInterpolationMethod(n){return n.stepped?_steppedInterpolation:n.tension||n.cubicInterpolationMode==="monotone"?_bezierInterpolation:_pointInLine}function strokePathWithCache(n,t,e,i){let r=t._path;r||(r=t._path=new Path2D,t.path(r,e,i)&&r.closePath()),setStyle$1(n,t.options),n.stroke(r)}function strokePathDirect(n,t,e,i){const{segments:r,options:a}=t,o=_getSegmentMethod(t);for(const l of r)setStyle$1(n,a,l.style),n.beginPath(),o(n,t,l,{start:e,end:e+i-1})&&n.closePath(),n.stroke()}const usePath2D=typeof Path2D=="function";function draw(n,t,e,i){usePath2D&&!t.options.segment?strokePathWithCache(n,t,e,i):strokePathDirect(n,t,e,i)}class LineElement extends Element$1{constructor(t){super(),this.animated=!0,this.options=void 0,this._chart=void 0,this._loop=void 0,this._fullLoop=void 0,this._path=void 0,this._points=void 0,this._segments=void 0,this._decimated=!1,this._pointsUpdated=!1,this._datasetIndex=void 0,t&&Object.assign(this,t)}updateControlPoints(t,e){const i=this.options;if((i.tension||i.cubicInterpolationMode==="monotone")&&!i.stepped&&!this._pointsUpdated){const r=i.spanGaps?this._loop:this._fullLoop;_updateBezierControlPoints(this._points,i,t,r,e),this._pointsUpdated=!0}}set points(t){this._points=t,delete this._segments,delete this._path,this._pointsUpdated=!1}get points(){return this._points}get segments(){return this._segments||(this._segments=_computeSegments(this,this.options.segment))}first(){const t=this.segments,e=this.points;return t.length&&e[t[0].start]}last(){const t=this.segments,e=this.points,i=t.length;return i&&e[t[i-1].end]}interpolate(t,e){const i=this.options,r=t[e],a=this.points,o=_boundSegments(this,{property:e,start:r,end:r});if(!o.length)return;const l=[],u=_getInterpolationMethod(i);let d,m;for(d=0,m=o.length;dt!=="borderDash"&&t!=="fill"});function inRange$1(n,t,e,i){const r=n.options,{[e]:a}=n.getProps([e],i);return Math.abs(t-a)n.replace("rgb(","rgba(").replace(")",", 0.5)"));function getBorderColor(n){return BORDER_COLORS[n%BORDER_COLORS.length]}function getBackgroundColor(n){return BACKGROUND_COLORS[n%BACKGROUND_COLORS.length]}function colorizeDefaultDataset(n,t){return n.borderColor=getBorderColor(t),n.backgroundColor=getBackgroundColor(t),++t}function colorizeDoughnutDataset(n,t){return n.backgroundColor=n.data.map(()=>getBorderColor(t++)),t}function colorizePolarAreaDataset(n,t){return n.backgroundColor=n.data.map(()=>getBackgroundColor(t++)),t}function getColorizer(n){let t=0;return(e,i)=>{const r=n.getDatasetMeta(i).controller;r instanceof DoughnutController?t=colorizeDoughnutDataset(e,t):r instanceof PolarAreaController?t=colorizePolarAreaDataset(e,t):r&&(t=colorizeDefaultDataset(e,t))}}function containsColorsDefinitions(n){let t;for(t in n)if(n[t].borderColor||n[t].backgroundColor)return!0;return!1}function containsColorsDefinition(n){return n&&(n.borderColor||n.backgroundColor)}var plugin_colors={id:"colors",defaults:{enabled:!0,forceOverride:!1},beforeLayout(n,t,e){if(!e.enabled)return;const{data:{datasets:i},options:r}=n.config,{elements:a}=r;if(!e.forceOverride&&(containsColorsDefinitions(i)||containsColorsDefinition(r)||a&&containsColorsDefinitions(a)))return;const o=getColorizer(n);i.forEach(o)}};function _segments(n,t,e){const i=n.segments,r=n.points,a=t.points,o=[];for(const l of i){let{start:u,end:d}=l;d=_findSegmentEnd(u,d,r);const m=_getBounds(e,r[u],r[d],l.loop);if(!t.segments){o.push({source:l,target:m,start:r[u],end:r[d]});continue}const p=_boundSegments(t,m);for(const _ of p){const y=_getBounds(e,a[_.start],a[_.end],_.loop),w=_boundSegment(l,r,y);for(const v of w)o.push({source:v,target:_,start:{[e]:_getEdge(m,y,"start",Math.max)},end:{[e]:_getEdge(m,y,"end",Math.min)}})}}return o}function _getBounds(n,t,e,i){if(i)return;let r=t[n],a=e[n];return n==="angle"&&(r=_normalizeAngle(r),a=_normalizeAngle(a)),{property:n,start:r,end:a}}function _pointsFromSegments(n,t){const{x:e=null,y:i=null}=n||{},r=t.points,a=[];return t.segments.forEach(({start:o,end:l})=>{l=_findSegmentEnd(o,l,r);const u=r[o],d=r[l];i!==null?(a.push({x:u.x,y:i}),a.push({x:d.x,y:i})):e!==null&&(a.push({x:e,y:u.y}),a.push({x:e,y:d.y}))}),a}function _findSegmentEnd(n,t,e){for(;t>n;t--){const i=e[t];if(!isNaN(i.x)&&!isNaN(i.y))break}return t}function _getEdge(n,t,e,i){return n&&t?i(n[e],t[e]):n?n[e]:t?t[e]:0}function _createBoundaryLine(n,t){let e=[],i=!1;return isArray(n)?(i=!0,e=n):e=_pointsFromSegments(n,t),e.length?new LineElement({points:e,options:{tension:0},_loop:i,_fullLoop:i}):null}function _shouldApplyFill(n){return n&&n.fill!==!1}function _resolveTarget(n,t,e){let r=n[t].fill;const a=[t];let o;if(!e)return r;for(;r!==!1&&a.indexOf(r)===-1;){if(!isNumberFinite(r))return r;if(o=n[r],!o)return!1;if(o.visible)return r;a.push(r),r=o.fill}return!1}function _decodeFill(n,t,e){const i=parseFillOption(n);if(isObject(i))return isNaN(i.value)?!1:i;let r=parseFloat(i);return isNumberFinite(r)&&Math.floor(r)===r?decodeTargetIndex(i[0],t,r,e):["origin","start","end","stack","shape"].indexOf(i)>=0&&i}function decodeTargetIndex(n,t,e,i){return(n==="-"||n==="+")&&(e=t+e),e===t||e<0||e>=i?!1:e}function _getTargetPixel(n,t){let e=null;return n==="start"?e=t.bottom:n==="end"?e=t.top:isObject(n)?e=t.getPixelForValue(n.value):t.getBasePixel&&(e=t.getBasePixel()),e}function _getTargetValue(n,t,e){let i;return n==="start"?i=e:n==="end"?i=t.options.reverse?t.min:t.max:isObject(n)?i=n.value:i=t.getBaseValue(),i}function parseFillOption(n){const t=n.options,e=t.fill;let i=valueOrDefault(e&&e.target,e);return i===void 0&&(i=!!t.backgroundColor),i===!1||i===null?!1:i===!0?"origin":i}function _buildStackLine(n){const{scale:t,index:e,line:i}=n,r=[],a=i.segments,o=i.points,l=getLinesBelow(t,e);l.push(_createBoundaryLine({x:null,y:t.bottom},i));for(let u=0;u=0;--o){const l=r[o].$filler;l&&(l.line.updateControlPoints(a,l.axis),i&&l.fill&&_drawfill(n.ctx,l,a))}},beforeDatasetsDraw(n,t,e){if(e.drawTime!=="beforeDatasetsDraw")return;const i=n.getSortedVisibleDatasetMetas();for(let r=i.length-1;r>=0;--r){const a=i[r].$filler;_shouldApplyFill(a)&&_drawfill(n.ctx,a,n.chartArea)}},beforeDatasetDraw(n,t,e){const i=t.meta.$filler;!_shouldApplyFill(i)||e.drawTime!=="beforeDatasetDraw"||_drawfill(n.ctx,i,n.chartArea)},defaults:{propagate:!0,drawTime:"beforeDatasetDraw"}};const getBoxSize=(n,t)=>{let{boxHeight:e=t,boxWidth:i=t}=n;return n.usePointStyle&&(e=Math.min(e,t),i=n.pointStyleWidth||Math.min(i,t)),{boxWidth:i,boxHeight:e,itemHeight:Math.max(t,e)}},itemsEqual=(n,t)=>n!==null&&t!==null&&n.datasetIndex===t.datasetIndex&&n.index===t.index;class Legend extends Element$1{constructor(t){super(),this._added=!1,this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1,this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this.legendItems=void 0,this.columnSizes=void 0,this.lineWidths=void 0,this.maxHeight=void 0,this.maxWidth=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.height=void 0,this.width=void 0,this._margins=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,e,i){this.maxWidth=t,this.maxHeight=e,this._margins=i,this.setDimensions(),this.buildLabels(),this.fit()}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=this._margins.left,this.right=this.width):(this.height=this.maxHeight,this.top=this._margins.top,this.bottom=this.height)}buildLabels(){const t=this.options.labels||{};let e=callback(t.generateLabels,[this.chart],this)||[];t.filter&&(e=e.filter(i=>t.filter(i,this.chart.data))),t.sort&&(e=e.sort((i,r)=>t.sort(i,r,this.chart.data))),this.options.reverse&&e.reverse(),this.legendItems=e}fit(){const{options:t,ctx:e}=this;if(!t.display){this.width=this.height=0;return}const i=t.labels,r=toFont(i.font),a=r.size,o=this._computeTitleHeight(),{boxWidth:l,itemHeight:u}=getBoxSize(i,a);let d,m;e.font=r.string,this.isHorizontal()?(d=this.maxWidth,m=this._fitRows(o,a,l,u)+10):(m=this.maxHeight,d=this._fitCols(o,r,l,u)+10),this.width=Math.min(d,t.maxWidth||this.maxWidth),this.height=Math.min(m,t.maxHeight||this.maxHeight)}_fitRows(t,e,i,r){const{ctx:a,maxWidth:o,options:{labels:{padding:l}}}=this,u=this.legendHitBoxes=[],d=this.lineWidths=[0],m=r+l;let p=t;a.textAlign="left",a.textBaseline="middle";let _=-1,y=-m;return this.legendItems.forEach((w,v)=>{const E=i+e/2+a.measureText(w.text).width;(v===0||d[d.length-1]+E+2*l>o)&&(p+=m,d[d.length-(v>0?0:1)]=0,y+=m,_++),u[v]={left:0,top:y,row:_,width:E,height:r},d[d.length-1]+=E+l}),p}_fitCols(t,e,i,r){const{ctx:a,maxHeight:o,options:{labels:{padding:l}}}=this,u=this.legendHitBoxes=[],d=this.columnSizes=[],m=o-t;let p=l,_=0,y=0,w=0,v=0;return this.legendItems.forEach((E,x)=>{const{itemWidth:S,itemHeight:M}=calculateItemSize(i,e,a,E,r);x>0&&y+M+2*l>m&&(p+=_+l,d.push({width:_,height:y}),w+=_+l,v++,_=y=0),u[x]={left:w,top:y,col:v,width:S,height:M},_=Math.max(_,S),y+=M+l}),p+=_,d.push({width:_,height:y}),p}adjustHitBoxes(){if(!this.options.display)return;const t=this._computeTitleHeight(),{legendHitBoxes:e,options:{align:i,labels:{padding:r},rtl:a}}=this,o=getRtlAdapter(a,this.left,this.width);if(this.isHorizontal()){let l=0,u=_alignStartEnd(i,this.left+r,this.right-this.lineWidths[l]);for(const d of e)l!==d.row&&(l=d.row,u=_alignStartEnd(i,this.left+r,this.right-this.lineWidths[l])),d.top+=this.top+t+r,d.left=o.leftForLtr(o.x(u),d.width),u+=d.width+r}else{let l=0,u=_alignStartEnd(i,this.top+t+r,this.bottom-this.columnSizes[l].height);for(const d of e)d.col!==l&&(l=d.col,u=_alignStartEnd(i,this.top+t+r,this.bottom-this.columnSizes[l].height)),d.top=u,d.left+=this.left+r,d.left=o.leftForLtr(o.x(d.left),d.width),u+=d.height+r}}isHorizontal(){return this.options.position==="top"||this.options.position==="bottom"}draw(){if(this.options.display){const t=this.ctx;clipArea(t,this),this._draw(),unclipArea(t)}}_draw(){const{options:t,columnSizes:e,lineWidths:i,ctx:r}=this,{align:a,labels:o}=t,l=defaults$2.color,u=getRtlAdapter(t.rtl,this.left,this.width),d=toFont(o.font),{padding:m}=o,p=d.size,_=p/2;let y;this.drawTitle(),r.textAlign=u.textAlign("left"),r.textBaseline="middle",r.lineWidth=.5,r.font=d.string;const{boxWidth:w,boxHeight:v,itemHeight:E}=getBoxSize(o,p),x=function(I,C,R){if(isNaN(w)||w<=0||isNaN(v)||v<0)return;r.save();const W=valueOrDefault(R.lineWidth,1);if(r.fillStyle=valueOrDefault(R.fillStyle,l),r.lineCap=valueOrDefault(R.lineCap,"butt"),r.lineDashOffset=valueOrDefault(R.lineDashOffset,0),r.lineJoin=valueOrDefault(R.lineJoin,"miter"),r.lineWidth=W,r.strokeStyle=valueOrDefault(R.strokeStyle,l),r.setLineDash(valueOrDefault(R.lineDash,[])),o.usePointStyle){const K={radius:v*Math.SQRT2/2,pointStyle:R.pointStyle,rotation:R.rotation,borderWidth:W},Y=u.xPlus(I,w/2),q=C+_;drawPointLegend(r,K,Y,q,o.pointStyleWidth&&w)}else{const K=C+Math.max((p-v)/2,0),Y=u.leftForLtr(I,w),q=toTRBLCorners(R.borderRadius);r.beginPath(),Object.values(q).some(J=>J!==0)?addRoundedRectPath(r,{x:Y,y:K,w,h:v,radius:q}):r.rect(Y,K,w,v),r.fill(),W!==0&&r.stroke()}r.restore()},S=function(I,C,R){renderText(r,R.text,I,C+E/2,d,{strikethrough:R.hidden,textAlign:u.textAlign(R.textAlign)})},M=this.isHorizontal(),k=this._computeTitleHeight();M?y={x:_alignStartEnd(a,this.left+m,this.right-i[0]),y:this.top+m+k,line:0}:y={x:this.left+m,y:_alignStartEnd(a,this.top+k+m,this.bottom-e[0].height),line:0},overrideTextDirection(this.ctx,t.textDirection);const A=E+m;this.legendItems.forEach((I,C)=>{r.strokeStyle=I.fontColor,r.fillStyle=I.fontColor;const R=r.measureText(I.text).width,W=u.textAlign(I.textAlign||(I.textAlign=o.textAlign)),K=w+_+R;let Y=y.x,q=y.y;u.setWidth(this.width),M?C>0&&Y+K+m>this.right&&(q=y.y+=A,y.line++,Y=y.x=_alignStartEnd(a,this.left+m,this.right-i[y.line])):C>0&&q+A>this.bottom&&(Y=y.x=Y+e[y.line].width+m,y.line++,q=y.y=_alignStartEnd(a,this.top+k+m,this.bottom-e[y.line].height));const J=u.x(Y);if(x(J,q,I),Y=_textX(W,Y+w+_,M?Y+K:this.right,t.rtl),S(u.x(Y),q,I),M)y.x+=K+m;else if(typeof I.text!="string"){const nt=d.lineHeight;y.y+=calculateLegendItemHeight(I,nt)+m}else y.y+=A}),restoreTextDirection(this.ctx,t.textDirection)}drawTitle(){const t=this.options,e=t.title,i=toFont(e.font),r=toPadding(e.padding);if(!e.display)return;const a=getRtlAdapter(t.rtl,this.left,this.width),o=this.ctx,l=e.position,u=i.size/2,d=r.top+u;let m,p=this.left,_=this.width;if(this.isHorizontal())_=Math.max(...this.lineWidths),m=this.top+d,p=_alignStartEnd(t.align,p,this.right-_);else{const w=this.columnSizes.reduce((v,E)=>Math.max(v,E.height),0);m=d+_alignStartEnd(t.align,this.top,this.bottom-w-t.labels.padding-this._computeTitleHeight())}const y=_alignStartEnd(l,p,p+_);o.textAlign=a.textAlign(_toLeftRightCenter(l)),o.textBaseline="middle",o.strokeStyle=e.color,o.fillStyle=e.color,o.font=i.string,renderText(o,e.text,y,m,i)}_computeTitleHeight(){const t=this.options.title,e=toFont(t.font),i=toPadding(t.padding);return t.display?e.lineHeight+i.height:0}_getLegendItemAt(t,e){let i,r,a;if(_isBetween(t,this.left,this.right)&&_isBetween(e,this.top,this.bottom)){for(a=this.legendHitBoxes,i=0;ia.length>o.length?a:o)),t+e.size/2+i.measureText(r).width}function calculateItemHeight(n,t,e){let i=n;return typeof t.text!="string"&&(i=calculateLegendItemHeight(t,e)),i}function calculateLegendItemHeight(n,t){const e=n.text?n.text.length:0;return t*e}function isListened(n,t){return!!((n==="mousemove"||n==="mouseout")&&(t.onHover||t.onLeave)||t.onClick&&(n==="click"||n==="mouseup"))}var plugin_legend={id:"legend",_element:Legend,start(n,t,e){const i=n.legend=new Legend({ctx:n.ctx,options:e,chart:n});layouts.configure(n,i,e),layouts.addBox(n,i)},stop(n){layouts.removeBox(n,n.legend),delete n.legend},beforeUpdate(n,t,e){const i=n.legend;layouts.configure(n,i,e),i.options=e},afterUpdate(n){const t=n.legend;t.buildLabels(),t.adjustHitBoxes()},afterEvent(n,t){t.replay||n.legend.handleEvent(t.event)},defaults:{display:!0,position:"top",align:"center",fullSize:!0,reverse:!1,weight:1e3,onClick(n,t,e){const i=t.datasetIndex,r=e.chart;r.isDatasetVisible(i)?(r.hide(i),t.hidden=!0):(r.show(i),t.hidden=!1)},onHover:null,onLeave:null,labels:{color:n=>n.chart.options.color,boxWidth:40,padding:10,generateLabels(n){const t=n.data.datasets,{labels:{usePointStyle:e,pointStyle:i,textAlign:r,color:a,useBorderRadius:o,borderRadius:l}}=n.legend.options;return n._getSortedDatasetMetas().map(u=>{const d=u.controller.getStyle(e?0:void 0),m=toPadding(d.borderWidth);return{text:t[u.index].label,fillStyle:d.backgroundColor,fontColor:a,hidden:!u.visible,lineCap:d.borderCapStyle,lineDash:d.borderDash,lineDashOffset:d.borderDashOffset,lineJoin:d.borderJoinStyle,lineWidth:(m.width+m.height)/4,strokeStyle:d.borderColor,pointStyle:i||d.pointStyle,rotation:d.rotation,textAlign:r||d.textAlign,borderRadius:o&&(l||d.borderRadius),datasetIndex:u.index}},this)}},title:{color:n=>n.chart.options.color,display:!1,position:"center",text:""}},descriptors:{_scriptable:n=>!n.startsWith("on"),labels:{_scriptable:n=>!["generateLabels","filter","sort"].includes(n)}}};const positioners={average(n){if(!n.length)return!1;let t,e,i=0,r=0,a=0;for(t=0,e=n.length;tl({chart:t,initial:e.initial,numSteps:o,currentStep:Math.min(i-e.start,o)}))}_refresh(){this._request||(this._running=!0,this._request=requestAnimFrame.call(window,()=>{this._update(),this._request=null,this._running&&this._refresh()}))}_update(t=Date.now()){let e=0;this._charts.forEach((i,r)=>{if(!i.running||!i.items.length)return;const a=i.items;let o=a.length-1,l=!1,u;for(;o>=0;--o)u=a[o],u._active?(u._total>i.duration&&(i.duration=u._total),u.tick(t),l=!0):(a[o]=a[a.length-1],a.pop());l&&(r.draw(),this._notify(r,i,t,"progress")),a.length||(i.running=!1,this._notify(r,i,t,"complete"),i.initial=!1),e+=a.length}),this._lastDate=t,e===0&&(this._running=!1)}_getAnims(t){const e=this._charts;let i=e.get(t);return i||(i={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},e.set(t,i)),i}listen(t,e,i){this._getAnims(t).listeners[e].push(i)}add(t,e){!e||!e.length||this._getAnims(t).items.push(...e)}has(t){return this._getAnims(t).items.length>0}start(t){const e=this._charts.get(t);e&&(e.running=!0,e.start=Date.now(),e.duration=e.items.reduce((i,r)=>Math.max(i,r._duration),0),this._refresh())}running(t){if(!this._running)return!1;const e=this._charts.get(t);return!(!e||!e.running||!e.items.length)}stop(t){const e=this._charts.get(t);if(!e||!e.items.length)return;const i=e.items;let r=i.length-1;for(;r>=0;--r)i[r].cancel();e.items=[],this._notify(t,e,Date.now(),"complete")}remove(t){return this._charts.delete(t)}}var animator=new Animator;const transparent="transparent",interpolators={boolean(n,t,e){return e>.5?t:n},color(n,t,e){const i=color(n||transparent),r=i.valid&&color(t||transparent);return r&&r.valid?r.mix(i,e).hexString():t},number(n,t,e){return n+(t-n)*e}};class Animation{constructor(t,e,i,r){const a=e[i];r=resolve([t.to,r,a,t.from]);const o=resolve([t.from,a,r]);this._active=!0,this._fn=t.fn||interpolators[t.type||typeof o],this._easing=effects[t.easing]||effects.linear,this._start=Math.floor(Date.now()+(t.delay||0)),this._duration=this._total=Math.floor(t.duration),this._loop=!!t.loop,this._target=e,this._prop=i,this._from=o,this._to=r,this._promises=void 0}active(){return this._active}update(t,e,i){if(this._active){this._notify(!1);const r=this._target[this._prop],a=i-this._start,o=this._duration-a;this._start=i,this._duration=Math.floor(Math.max(o,t.duration)),this._total+=a,this._loop=!!t.loop,this._to=resolve([t.to,e,r,t.from]),this._from=resolve([t.from,r,e])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(t){const e=t-this._start,i=this._duration,r=this._prop,a=this._from,o=this._loop,l=this._to;let u;if(this._active=a!==l&&(o||e1?2-u:u,u=this._easing(Math.min(1,Math.max(0,u))),this._target[r]=this._fn(a,l,u)}wait(){const t=this._promises||(this._promises=[]);return new Promise((e,i)=>{t.push({res:e,rej:i})})}_notify(t){const e=t?"res":"rej",i=this._promises||[];for(let r=0;r{const a=t[r];if(!isObject(a))return;const o={};for(const l of e)o[l]=a[l];(isArray(a.properties)&&a.properties||[r]).forEach(l=>{(l===r||!i.has(l))&&i.set(l,o)})})}_animateOptions(t,e){const i=e.options,r=resolveTargetOptions(t,i);if(!r)return[];const a=this._createAnimations(r,i);return i.$shared&&awaitAll(t.options.$animations,i).then(()=>{t.options=i},()=>{}),a}_createAnimations(t,e){const i=this._properties,r=[],a=t.$animations||(t.$animations={}),o=Object.keys(e),l=Date.now();let u;for(u=o.length-1;u>=0;--u){const d=o[u];if(d.charAt(0)==="$")continue;if(d==="options"){r.push(...this._animateOptions(t,e));continue}const m=e[d];let p=a[d];const _=i.get(d);if(p)if(_&&p.active()){p.update(_,m,l);continue}else p.cancel();if(!_||!_.duration){t[d]=m;continue}a[d]=p=new Animation(_,t,d,m),r.push(p)}return r}update(t,e){if(this._properties.size===0){Object.assign(t,e);return}const i=this._createAnimations(t,e);if(i.length)return animator.add(this._chart,i),!0}}function awaitAll(n,t){const e=[],i=Object.keys(t);for(let r=0;r0||!e&&a<0)return r.index}return null}function updateStacks(n,t){const{chart:e,_cachedMeta:i}=n,r=e._stacks||(e._stacks={}),{iScale:a,vScale:o,index:l}=i,u=a.axis,d=o.axis,m=getStackKey(a,o,i),p=t.length;let _;for(let y=0;ye[i].axis===t).shift()}function createDatasetContext(n,t){return createContext(n,{active:!1,dataset:void 0,datasetIndex:t,index:t,mode:"default",type:"dataset"})}function createDataContext(n,t,e){return createContext(n,{active:!1,dataIndex:t,parsed:void 0,raw:void 0,element:e,index:t,mode:"default",type:"data"})}function clearStacks(n,t){const e=n.controller.index,i=n.vScale&&n.vScale.axis;if(i){t=t||n._parsed;for(const r of t){const a=r._stacks;if(!a||a[i]===void 0||a[i][e]===void 0)return;delete a[i][e],a[i]._visualValues!==void 0&&a[i]._visualValues[e]!==void 0&&delete a[i]._visualValues[e]}}}const isDirectUpdateMode=n=>n==="reset"||n==="none",cloneIfNotShared=(n,t)=>t?n:Object.assign({},n),createStack=(n,t,e)=>n&&!t.hidden&&t._stacked&&{keys:getSortedDatasetIndices(e,!0),values:null};class DatasetController{constructor(t,e){this.chart=t,this._ctx=t.ctx,this.index=e,this._cachedDataOpts={},this._cachedMeta=this.getMeta(),this._type=this._cachedMeta.type,this.options=void 0,this._parsing=!1,this._data=void 0,this._objectData=void 0,this._sharedOptions=void 0,this._drawStart=void 0,this._drawCount=void 0,this.enableOptionSharing=!1,this.supportsDecimation=!1,this.$context=void 0,this._syncList=[],this.datasetElementType=new.target.datasetElementType,this.dataElementType=new.target.dataElementType,this.initialize()}initialize(){const t=this._cachedMeta;this.configure(),this.linkScales(),t._stacked=isStacked(t.vScale,t),this.addElements(),this.options.fill&&!this.chart.isPluginEnabled("filler")&&console.warn("Tried to use the 'fill' option without the 'Filler' plugin enabled. Please import and register the 'Filler' plugin and make sure it is not disabled in the options")}updateIndex(t){this.index!==t&&clearStacks(this._cachedMeta),this.index=t}linkScales(){const t=this.chart,e=this._cachedMeta,i=this.getDataset(),r=(p,_,y,w)=>p==="x"?_:p==="r"?w:y,a=e.xAxisID=valueOrDefault(i.xAxisID,getFirstScaleId(t,"x")),o=e.yAxisID=valueOrDefault(i.yAxisID,getFirstScaleId(t,"y")),l=e.rAxisID=valueOrDefault(i.rAxisID,getFirstScaleId(t,"r")),u=e.indexAxis,d=e.iAxisID=r(u,a,o,l),m=e.vAxisID=r(u,o,a,l);e.xScale=this.getScaleForId(a),e.yScale=this.getScaleForId(o),e.rScale=this.getScaleForId(l),e.iScale=this.getScaleForId(d),e.vScale=this.getScaleForId(m)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(t){return this.chart.scales[t]}_getOtherScale(t){const e=this._cachedMeta;return t===e.iScale?e.vScale:e.iScale}reset(){this._update("reset")}_destroy(){const t=this._cachedMeta;this._data&&unlistenArrayEvents(this._data,this),t._stacked&&clearStacks(t)}_dataCheck(){const t=this.getDataset(),e=t.data||(t.data=[]),i=this._data;if(isObject(e))this._data=convertObjectDataToArray(e);else if(i!==e){if(i){unlistenArrayEvents(i,this);const r=this._cachedMeta;clearStacks(r),r._parsed=[]}e&&Object.isExtensible(e)&&listenArrayEvents(e,this),this._syncList=[],this._data=e}}addElements(){const t=this._cachedMeta;this._dataCheck(),this.datasetElementType&&(t.dataset=new this.datasetElementType)}buildOrUpdateElements(t){const e=this._cachedMeta,i=this.getDataset();let r=!1;this._dataCheck();const a=e._stacked;e._stacked=isStacked(e.vScale,e),e.stack!==i.stack&&(r=!0,clearStacks(e),e.stack=i.stack),this._resyncElements(t),(r||a!==e._stacked)&&updateStacks(this,e._parsed)}configure(){const t=this.chart.config,e=t.datasetScopeKeys(this._type),i=t.getOptionScopes(this.getDataset(),e,!0);this.options=t.createResolver(i,this.getContext()),this._parsing=this.options.parsing,this._cachedDataOpts={}}parse(t,e){const{_cachedMeta:i,_data:r}=this,{iScale:a,_stacked:o}=i,l=a.axis;let u=t===0&&e===r.length?!0:i._sorted,d=t>0&&i._parsed[t-1],m,p,_;if(this._parsing===!1)i._parsed=r,i._sorted=!0,_=r;else{isArray(r[t])?_=this.parseArrayData(i,r,t,e):isObject(r[t])?_=this.parseObjectData(i,r,t,e):_=this.parsePrimitiveData(i,r,t,e);const y=()=>p[l]===null||d&&p[l]v||p=0;--_)if(!w()){this.updateRangeFromParsed(d,t,y,u);break}}return d}getAllParsedValues(t){const e=this._cachedMeta._parsed,i=[];let r,a,o;for(r=0,a=e.length;r=0&&tthis.getContext(i,r,e),v=d.resolveNamedOptions(_,y,w,p);return v.$shared&&(v.$shared=u,a[o]=Object.freeze(cloneIfNotShared(v,u))),v}_resolveAnimations(t,e,i){const r=this.chart,a=this._cachedDataOpts,o=`animation-${e}`,l=a[o];if(l)return l;let u;if(r.options.animation!==!1){const m=this.chart.config,p=m.datasetAnimationScopeKeys(this._type,e),_=m.getOptionScopes(this.getDataset(),p);u=m.createResolver(_,this.getContext(t,i,e))}const d=new Animations(r,u&&u.animations);return u&&u._cacheable&&(a[o]=Object.freeze(d)),d}getSharedOptions(t){if(t.$shared)return this._sharedOptions||(this._sharedOptions=Object.assign({},t))}includeOptions(t,e){return!e||isDirectUpdateMode(t)||this.chart._animationsDisabled}_getSharedOptions(t,e){const i=this.resolveDataElementOptions(t,e),r=this._sharedOptions,a=this.getSharedOptions(i),o=this.includeOptions(e,a)||a!==r;return this.updateSharedOptions(a,e,i),{sharedOptions:a,includeOptions:o}}updateElement(t,e,i,r){isDirectUpdateMode(r)?Object.assign(t,i):this._resolveAnimations(e,r).update(t,i)}updateSharedOptions(t,e,i){t&&!isDirectUpdateMode(e)&&this._resolveAnimations(void 0,e).update(t,i)}_setStyle(t,e,i,r){t.active=r;const a=this.getStyle(e,r);this._resolveAnimations(e,i,r).update(t,{options:!r&&this.getSharedOptions(a)||a})}removeHoverStyle(t,e,i){this._setStyle(t,i,"active",!1)}setHoverStyle(t,e,i){this._setStyle(t,i,"active",!0)}_removeDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!1)}_setDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!0)}_resyncElements(t){const e=this._data,i=this._cachedMeta.data;for(const[l,u,d]of this._syncList)this[l](u,d);this._syncList=[];const r=i.length,a=e.length,o=Math.min(a,r);o&&this.parse(0,o),a>r?this._insertElements(r,a-r,t):a{for(d.length+=e,l=d.length-1;l>=o;l--)d[l]=d[l-e]};for(u(a),l=t;lr-a))}return n._cache.$bar}function computeMinSampleSize(n){const t=n.iScale,e=getAllScaleValues(t,n.type);let i=t._length,r,a,o,l;const u=()=>{o===32767||o===-32768||(defined$1(l)&&(i=Math.min(i,Math.abs(o-l)||i)),l=o)};for(r=0,a=e.length;r0?r[n-1]:null,l=nMath.abs(l)&&(u=l,d=o),t[e.axis]=d,t._custom={barStart:u,barEnd:d,start:r,end:a,min:o,max:l}}function parseValue(n,t,e,i){return isArray(n)?parseFloatBar(n,t,e,i):t[e.axis]=e.parse(n,i),t}function parseArrayOrPrimitive(n,t,e,i){const r=n.iScale,a=n.vScale,o=r.getLabels(),l=r===a,u=[];let d,m,p,_;for(d=e,m=e+i;d=e?1:-1)}function borderProps(n){let t,e,i,r,a;return n.horizontal?(t=n.base>n.x,e="left",i="right"):(t=n.baseu.controller.options.grouped),a=i.options.stacked,o=[],l=u=>{const d=u.controller.getParsed(e),m=d&&d[u.vScale.axis];if(isNullOrUndef(m)||isNaN(m))return!0};for(const u of r)if(!(e!==void 0&&l(u))&&((a===!1||o.indexOf(u.stack)===-1||a===void 0&&u.stack===void 0)&&o.push(u.stack),u.index===t))break;return o.length||o.push(void 0),o}_getStackCount(t){return this._getStacks(void 0,t).length}_getStackIndex(t,e,i){const r=this._getStacks(t,i),a=e!==void 0?r.indexOf(e):-1;return a===-1?r.length-1:a}_getRuler(){const t=this.options,e=this._cachedMeta,i=e.iScale,r=[];let a,o;for(a=0,o=e.data.length;a_angleBetween(M,l,u,!0)?1:Math.max(k,k*e,A,A*e),w=(M,k,A)=>_angleBetween(M,l,u,!0)?-1:Math.min(k,k*e,A,A*e),v=y(0,d,p),E=y(HALF_PI,m,_),x=w(PI,d,p),S=w(PI+HALF_PI,m,_);i=(v-x)/2,r=(E-S)/2,a=-(v+x)/2,o=-(E+S)/2}return{ratioX:i,ratioY:r,offsetX:a,offsetY:o}}class DoughnutController extends DatasetController{constructor(t,e){super(t,e),this.enableOptionSharing=!0,this.innerRadius=void 0,this.outerRadius=void 0,this.offsetX=void 0,this.offsetY=void 0}linkScales(){}parse(t,e){const i=this.getDataset().data,r=this._cachedMeta;if(this._parsing===!1)r._parsed=i;else{let a=u=>+i[u];if(isObject(i[t])){const{key:u="value"}=this._parsing;a=d=>+resolveObjectKey(i[d],u)}let o,l;for(o=t,l=t+e;o0&&!isNaN(t)?TAU*(Math.abs(t)/e):0}getLabelAndValue(t){const e=this._cachedMeta,i=this.chart,r=i.data.labels||[],a=formatNumber(e._parsed[t],i.options.locale);return{label:r[t]||"",value:a}}getMaxBorderWidth(t){let e=0;const i=this.chart;let r,a,o,l,u;if(!t){for(r=0,a=i.data.datasets.length;rt!=="spacing",_indexable:t=>t!=="spacing"&&!t.startsWith("borderDash")&&!t.startsWith("hoverBorderDash")}),F(DoughnutController,"overrides",{aspectRatio:1,plugins:{legend:{labels:{generateLabels(t){const e=t.data;if(e.labels.length&&e.datasets.length){const{labels:{pointStyle:i,color:r}}=t.legend.options;return e.labels.map((a,o)=>{const u=t.getDatasetMeta(0).controller.getStyle(o);return{text:a,fillStyle:u.backgroundColor,strokeStyle:u.borderColor,fontColor:r,lineWidth:u.borderWidth,pointStyle:i,hidden:!t.getDataVisibility(o),index:o}})}return[]}},onClick(t,e,i){i.chart.toggleDataVisibility(e.index),i.chart.update()}}}});class LineController extends DatasetController{initialize(){this.enableOptionSharing=!0,this.supportsDecimation=!0,super.initialize()}update(t){const e=this._cachedMeta,{dataset:i,data:r=[],_dataset:a}=e,o=this.chart._animationsDisabled;let{start:l,count:u}=_getStartAndCountOfVisiblePoints(e,r,o);this._drawStart=l,this._drawCount=u,_scaleRangesChanged(e)&&(l=0,u=r.length),i._chart=this.chart,i._datasetIndex=this.index,i._decimated=!!a._decimated,i.points=r;const d=this.resolveDatasetElementOptions(t);this.options.showLine||(d.borderWidth=0),d.segment=this.options.segment,this.updateElement(i,void 0,{animated:!o,options:d},t),this.updateElements(r,l,u,t)}updateElements(t,e,i,r){const a=r==="reset",{iScale:o,vScale:l,_stacked:u,_dataset:d}=this._cachedMeta,{sharedOptions:m,includeOptions:p}=this._getSharedOptions(e,r),_=o.axis,y=l.axis,{spanGaps:w,segment:v}=this.options,E=isNumber(w)?w:Number.POSITIVE_INFINITY,x=this.chart._animationsDisabled||a||r==="none",S=e+i,M=t.length;let k=e>0&&this.getParsed(e-1);for(let A=0;A=S){C.skip=!0;continue}const R=this.getParsed(A),W=isNullOrUndef(R[y]),K=C[_]=o.getPixelForValue(R[_],A),Y=C[y]=a||W?l.getBasePixel():l.getPixelForValue(u?this.applyStack(l,R,u):R[y],A);C.skip=isNaN(K)||isNaN(Y)||W,C.stop=A>0&&Math.abs(R[_]-k[_])>E,v&&(C.parsed=R,C.raw=d.data[A]),p&&(C.options=m||this.resolveDataElementOptions(A,I.active?"active":r)),x||this.updateElement(I,A,C,r),k=R}}getMaxOverflow(){const t=this._cachedMeta,e=t.dataset,i=e.options&&e.options.borderWidth||0,r=t.data||[];if(!r.length)return i;const a=r[0].size(this.resolveDataElementOptions(0)),o=r[r.length-1].size(this.resolveDataElementOptions(r.length-1));return Math.max(i,a,o)/2}draw(){const t=this._cachedMeta;t.dataset.updateControlPoints(this.chart.chartArea,t.iScale.axis),super.draw()}}F(LineController,"id","line"),F(LineController,"defaults",{datasetElementType:"line",dataElementType:"point",showLine:!0,spanGaps:!1}),F(LineController,"overrides",{scales:{_index_:{type:"category"},_value_:{type:"linear"}}});class PolarAreaController extends DatasetController{constructor(t,e){super(t,e),this.innerRadius=void 0,this.outerRadius=void 0}getLabelAndValue(t){const e=this._cachedMeta,i=this.chart,r=i.data.labels||[],a=formatNumber(e._parsed[t].r,i.options.locale);return{label:r[t]||"",value:a}}parseObjectData(t,e,i,r){return _parseObjectDataRadialScale.bind(this)(t,e,i,r)}update(t){const e=this._cachedMeta.data;this._updateRadius(),this.updateElements(e,0,e.length,t)}getMinMax(){const t=this._cachedMeta,e={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY};return t.data.forEach((i,r)=>{const a=this.getParsed(r).r;!isNaN(a)&&this.chart.getDataVisibility(r)&&(ae.max&&(e.max=a))}),e}_updateRadius(){const t=this.chart,e=t.chartArea,i=t.options,r=Math.min(e.right-e.left,e.bottom-e.top),a=Math.max(r/2,0),o=Math.max(i.cutoutPercentage?a/100*i.cutoutPercentage:1,0),l=(a-o)/t.getVisibleDatasetCount();this.outerRadius=a-l*this.index,this.innerRadius=this.outerRadius-l}updateElements(t,e,i,r){const a=r==="reset",o=this.chart,u=o.options.animation,d=this._cachedMeta.rScale,m=d.xCenter,p=d.yCenter,_=d.getIndexAngle(0)-.5*PI;let y=_,w;const v=360/this.countVisibleElements();for(w=0;w{!isNaN(this.getParsed(r).r)&&this.chart.getDataVisibility(r)&&e++}),e}_computeAngle(t,e,i){return this.chart.getDataVisibility(t)?toRadians(this.resolveDataElementOptions(t,e).angle||i):0}}F(PolarAreaController,"id","polarArea"),F(PolarAreaController,"defaults",{dataElementType:"arc",animation:{animateRotate:!0,animateScale:!0},animations:{numbers:{type:"number",properties:["x","y","startAngle","endAngle","innerRadius","outerRadius"]}},indexAxis:"r",startAngle:0}),F(PolarAreaController,"overrides",{aspectRatio:1,plugins:{legend:{labels:{generateLabels(t){const e=t.data;if(e.labels.length&&e.datasets.length){const{labels:{pointStyle:i,color:r}}=t.legend.options;return e.labels.map((a,o)=>{const u=t.getDatasetMeta(0).controller.getStyle(o);return{text:a,fillStyle:u.backgroundColor,strokeStyle:u.borderColor,fontColor:r,lineWidth:u.borderWidth,pointStyle:i,hidden:!t.getDataVisibility(o),index:o}})}return[]}},onClick(t,e,i){i.chart.toggleDataVisibility(e.index),i.chart.update()}}},scales:{r:{type:"radialLinear",angleLines:{display:!1},beginAtZero:!0,grid:{circular:!0},pointLabels:{display:!1},startAngle:0}}});class PieController extends DoughnutController{}F(PieController,"id","pie"),F(PieController,"defaults",{cutout:0,rotation:0,circumference:360,radius:"100%"});function abstract(){throw new Error("This method is not implemented: Check that a complete date adapter is provided.")}class DateAdapterBase{constructor(t){F(this,"options");this.options=t||{}}static override(t){Object.assign(DateAdapterBase.prototype,t)}init(){}formats(){return abstract()}parse(){return abstract()}format(){return abstract()}add(){return abstract()}diff(){return abstract()}startOf(){return abstract()}endOf(){return abstract()}}var adapters={_date:DateAdapterBase};function binarySearch(n,t,e,i){const{controller:r,data:a,_sorted:o}=n,l=r._cachedMeta.iScale;if(l&&t===l.axis&&t!=="r"&&o&&a.length){const u=l._reversePixels?_rlookupByKey:_lookupByKey;if(i){if(r._sharedOptions){const d=a[0],m=typeof d.getRange=="function"&&d.getRange(t);if(m){const p=u(a,t,e-m),_=u(a,t,e+m);return{lo:p.lo,hi:_.hi}}}}else return u(a,t,e)}return{lo:0,hi:a.length-1}}function evaluateInteractionItems(n,t,e,i,r){const a=n.getSortedVisibleDatasetMetas(),o=e[t];for(let l=0,u=a.length;l{u[o](t[e],r)&&(a.push({element:u,datasetIndex:d,index:m}),l=l||u.inRange(t.x,t.y,r))}),i&&!l?[]:a}var Interaction={evaluateInteractionItems,modes:{index(n,t,e,i){const r=getRelativePosition(t,n),a=e.axis||"x",o=e.includeInvisible||!1,l=e.intersect?getIntersectItems(n,r,a,i,o):getNearestItems(n,r,a,!1,i,o),u=[];return l.length?(n.getSortedVisibleDatasetMetas().forEach(d=>{const m=l[0].index,p=d.data[m];p&&!p.skip&&u.push({element:p,datasetIndex:d.index,index:m})}),u):[]},dataset(n,t,e,i){const r=getRelativePosition(t,n),a=e.axis||"xy",o=e.includeInvisible||!1;let l=e.intersect?getIntersectItems(n,r,a,i,o):getNearestItems(n,r,a,!1,i,o);if(l.length>0){const u=l[0].datasetIndex,d=n.getDatasetMeta(u).data;l=[];for(let m=0;me.pos===t)}function filterDynamicPositionByAxis(n,t){return n.filter(e=>STATIC_POSITIONS.indexOf(e.pos)===-1&&e.box.axis===t)}function sortByWeight(n,t){return n.sort((e,i)=>{const r=t?i:e,a=t?e:i;return r.weight===a.weight?r.index-a.index:r.weight-a.weight})}function wrapBoxes(n){const t=[];let e,i,r,a,o,l;for(e=0,i=(n||[]).length;ed.box.fullSize),!0),i=sortByWeight(filterByPosition(t,"left"),!0),r=sortByWeight(filterByPosition(t,"right")),a=sortByWeight(filterByPosition(t,"top"),!0),o=sortByWeight(filterByPosition(t,"bottom")),l=filterDynamicPositionByAxis(t,"x"),u=filterDynamicPositionByAxis(t,"y");return{fullSize:e,leftAndTop:i.concat(a),rightAndBottom:r.concat(u).concat(o).concat(l),chartArea:filterByPosition(t,"chartArea"),vertical:i.concat(r).concat(u),horizontal:a.concat(o).concat(l)}}function getCombinedMax(n,t,e,i){return Math.max(n[e],t[e])+Math.max(n[i],t[i])}function updateMaxPadding(n,t){n.top=Math.max(n.top,t.top),n.left=Math.max(n.left,t.left),n.bottom=Math.max(n.bottom,t.bottom),n.right=Math.max(n.right,t.right)}function updateDims(n,t,e,i){const{pos:r,box:a}=e,o=n.maxPadding;if(!isObject(r)){e.size&&(n[r]-=e.size);const p=i[e.stack]||{size:0,count:1};p.size=Math.max(p.size,e.horizontal?a.height:a.width),e.size=p.size/p.count,n[r]+=e.size}a.getPadding&&updateMaxPadding(o,a.getPadding());const l=Math.max(0,t.outerWidth-getCombinedMax(o,n,"left","right")),u=Math.max(0,t.outerHeight-getCombinedMax(o,n,"top","bottom")),d=l!==n.w,m=u!==n.h;return n.w=l,n.h=u,e.horizontal?{same:d,other:m}:{same:m,other:d}}function handleMaxPadding(n){const t=n.maxPadding;function e(i){const r=Math.max(t[i]-n[i],0);return n[i]+=r,r}n.y+=e("top"),n.x+=e("left"),e("right"),e("bottom")}function getMargins(n,t){const e=t.maxPadding;function i(r){const a={left:0,top:0,right:0,bottom:0};return r.forEach(o=>{a[o]=Math.max(t[o],e[o])}),a}return i(n?["left","right"]:["top","bottom"])}function fitBoxes(n,t,e,i){const r=[];let a,o,l,u,d,m;for(a=0,o=n.length,d=0;a{typeof v.beforeLayout=="function"&&v.beforeLayout()});const m=u.reduce((v,E)=>E.box.options&&E.box.options.display===!1?v:v+1,0)||1,p=Object.freeze({outerWidth:t,outerHeight:e,padding:r,availableWidth:a,availableHeight:o,vBoxMaxWidth:a/2/m,hBoxMaxHeight:o/2}),_=Object.assign({},r);updateMaxPadding(_,toPadding(i));const y=Object.assign({maxPadding:_,w:a,h:o,x:r.left,y:r.top},r),w=setLayoutDims(u.concat(d),p);fitBoxes(l.fullSize,y,p,w),fitBoxes(u,y,p,w),fitBoxes(d,y,p,w)&&fitBoxes(u,y,p,w),handleMaxPadding(y),placeBoxes(l.leftAndTop,y,p,w),y.x+=y.w,y.y+=y.h,placeBoxes(l.rightAndBottom,y,p,w),n.chartArea={left:y.left,top:y.top,right:y.left+y.w,bottom:y.top+y.h,height:y.h,width:y.w},each(l.chartArea,v=>{const E=v.box;Object.assign(E,n.chartArea),E.update(y.w,y.h,{left:0,top:0,right:0,bottom:0})})}};class BasePlatform{acquireContext(t,e){}releaseContext(t){return!1}addEventListener(t,e,i){}removeEventListener(t,e,i){}getDevicePixelRatio(){return 1}getMaximumSize(t,e,i,r){return e=Math.max(0,e||t.width),i=i||t.height,{width:e,height:Math.max(0,r?Math.floor(e/r):i)}}isAttached(t){return!0}updateConfig(t){}}class BasicPlatform extends BasePlatform{acquireContext(t){return t&&t.getContext&&t.getContext("2d")||null}updateConfig(t){t.options.animation=!1}}const EXPANDO_KEY="$chartjs",EVENT_TYPES={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},isNullOrEmpty=n=>n===null||n==="";function initCanvas(n,t){const e=n.style,i=n.getAttribute("height"),r=n.getAttribute("width");if(n[EXPANDO_KEY]={initial:{height:i,width:r,style:{display:e.display,height:e.height,width:e.width}}},e.display=e.display||"block",e.boxSizing=e.boxSizing||"border-box",isNullOrEmpty(r)){const a=readUsedSize(n,"width");a!==void 0&&(n.width=a)}if(isNullOrEmpty(i))if(n.style.height==="")n.height=n.width/(t||2);else{const a=readUsedSize(n,"height");a!==void 0&&(n.height=a)}return n}const eventListenerOptions=supportsEventListenerOptions?{passive:!0}:!1;function addListener(n,t,e){n.addEventListener(t,e,eventListenerOptions)}function removeListener(n,t,e){n.canvas.removeEventListener(t,e,eventListenerOptions)}function fromNativeEvent(n,t){const e=EVENT_TYPES[n.type]||n.type,{x:i,y:r}=getRelativePosition(n,t);return{type:e,chart:t,native:n,x:i!==void 0?i:null,y:r!==void 0?r:null}}function nodeListContains(n,t){for(const e of n)if(e===t||e.contains(t))return!0}function createAttachObserver(n,t,e){const i=n.canvas,r=new MutationObserver(a=>{let o=!1;for(const l of a)o=o||nodeListContains(l.addedNodes,i),o=o&&!nodeListContains(l.removedNodes,i);o&&e()});return r.observe(document,{childList:!0,subtree:!0}),r}function createDetachObserver(n,t,e){const i=n.canvas,r=new MutationObserver(a=>{let o=!1;for(const l of a)o=o||nodeListContains(l.removedNodes,i),o=o&&!nodeListContains(l.addedNodes,i);o&&e()});return r.observe(document,{childList:!0,subtree:!0}),r}const drpListeningCharts=new Map;let oldDevicePixelRatio=0;function onWindowResize(){const n=window.devicePixelRatio;n!==oldDevicePixelRatio&&(oldDevicePixelRatio=n,drpListeningCharts.forEach((t,e)=>{e.currentDevicePixelRatio!==n&&t()}))}function listenDevicePixelRatioChanges(n,t){drpListeningCharts.size||window.addEventListener("resize",onWindowResize),drpListeningCharts.set(n,t)}function unlistenDevicePixelRatioChanges(n){drpListeningCharts.delete(n),drpListeningCharts.size||window.removeEventListener("resize",onWindowResize)}function createResizeObserver(n,t,e){const i=n.canvas,r=i&&_getParentNode(i);if(!r)return;const a=throttled((l,u)=>{const d=r.clientWidth;e(l,u),d{const u=l[0],d=u.contentRect.width,m=u.contentRect.height;d===0&&m===0||a(d,m)});return o.observe(r),listenDevicePixelRatioChanges(n,a),o}function releaseObserver(n,t,e){e&&e.disconnect(),t==="resize"&&unlistenDevicePixelRatioChanges(n)}function createProxyAndListen(n,t,e){const i=n.canvas,r=throttled(a=>{n.ctx!==null&&e(fromNativeEvent(a,n))},n);return addListener(i,t,r),r}class DomPlatform extends BasePlatform{acquireContext(t,e){const i=t&&t.getContext&&t.getContext("2d");return i&&i.canvas===t?(initCanvas(t,e),i):null}releaseContext(t){const e=t.canvas;if(!e[EXPANDO_KEY])return!1;const i=e[EXPANDO_KEY].initial;["height","width"].forEach(a=>{const o=i[a];isNullOrUndef(o)?e.removeAttribute(a):e.setAttribute(a,o)});const r=i.style||{};return Object.keys(r).forEach(a=>{e.style[a]=r[a]}),e.width=e.width,delete e[EXPANDO_KEY],!0}addEventListener(t,e,i){this.removeEventListener(t,e);const r=t.$proxies||(t.$proxies={}),o={attach:createAttachObserver,detach:createDetachObserver,resize:createResizeObserver}[e]||createProxyAndListen;r[e]=o(t,e,i)}removeEventListener(t,e){const i=t.$proxies||(t.$proxies={}),r=i[e];if(!r)return;({attach:releaseObserver,detach:releaseObserver,resize:releaseObserver}[e]||removeListener)(t,e,r),i[e]=void 0}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(t,e,i,r){return getMaximumSize(t,e,i,r)}isAttached(t){const e=_getParentNode(t);return!!(e&&e.isConnected)}}function _detectPlatform(n){return!_isDomSupported()||typeof OffscreenCanvas<"u"&&n instanceof OffscreenCanvas?BasicPlatform:DomPlatform}var Xe;let Element$1=(Xe=class{constructor(){F(this,"x");F(this,"y");F(this,"active",!1);F(this,"options");F(this,"$animations")}tooltipPosition(t){const{x:e,y:i}=this.getProps(["x","y"],t);return{x:e,y:i}}hasValue(){return isNumber(this.x)&&isNumber(this.y)}getProps(t,e){const i=this.$animations;if(!e||!i)return this;const r={};return t.forEach(a=>{r[a]=i[a]&&i[a].active()?i[a]._to:this[a]}),r}},F(Xe,"defaults",{}),F(Xe,"defaultRoutes"),Xe);function autoSkip(n,t){const e=n.options.ticks,i=determineMaxTicks(n),r=Math.min(e.maxTicksLimit||i,i),a=e.major.enabled?getMajorIndices(t):[],o=a.length,l=a[0],u=a[o-1],d=[];if(o>r)return skipMajors(t,d,a,o/r),d;const m=calculateSpacing(a,t,r);if(o>0){let p,_;const y=o>1?Math.round((u-l)/(o-1)):null;for(skip(t,d,m,isNullOrUndef(y)?0:l-y,l),p=0,_=o-1;p<_;p++)skip(t,d,m,a[p],a[p+1]);return skip(t,d,m,u,isNullOrUndef(y)?t.length:u+y),d}return skip(t,d,m),d}function determineMaxTicks(n){const t=n.options.offset,e=n._tickSize(),i=n._length/e+(t?0:1),r=n._maxLength/e;return Math.floor(Math.min(i,r))}function calculateSpacing(n,t,e){const i=getEvenSpacing(n),r=t.length/e;if(!i)return Math.max(r,1);const a=_factorize(i);for(let o=0,l=a.length-1;or)return u}return Math.max(r,1)}function getMajorIndices(n){const t=[];let e,i;for(e=0,i=n.length;en==="left"?"right":n==="right"?"left":n,offsetFromEdge=(n,t,e)=>t==="top"||t==="left"?n[t]+e:n[t]-e,getTicksLimit=(n,t)=>Math.min(t||n,n);function sample(n,t){const e=[],i=n.length/t,r=n.length;let a=0;for(;ao+l)))return u}function garbageCollect(n,t){each(n,e=>{const i=e.gc,r=i.length/2;let a;if(r>t){for(a=0;ai?i:e,i=r&&e>i?e:i,{min:finiteOrDefault(e,finiteOrDefault(i,e)),max:finiteOrDefault(i,finiteOrDefault(e,i))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){const t=this.chart.data;return this.options.labels||(this.isHorizontal()?t.xLabels:t.yLabels)||t.labels||[]}getLabelItems(t=this.chart.chartArea){return this._labelItems||(this._labelItems=this._computeLabelItems(t))}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){callback(this.options.beforeUpdate,[this])}update(t,e,i){const{beginAtZero:r,grace:a,ticks:o}=this.options,l=o.sampleSize;this.beforeUpdate(),this.maxWidth=t,this.maxHeight=e,this._margins=i=Object.assign({left:0,right:0,top:0,bottom:0},i),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+i.left+i.right:this.height+i.top+i.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=_addGrace(this,a,r),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();const u=l=a||i<=1||!this.isHorizontal()){this.labelRotation=r;return}const m=this._getLabelSizes(),p=m.widest.width,_=m.highest.height,y=_limitValue(this.chart.width-p,0,this.maxWidth);l=t.offset?this.maxWidth/i:y/(i-1),p+6>l&&(l=y/(i-(t.offset?.5:1)),u=this.maxHeight-getTickMarkLength(t.grid)-e.padding-getTitleHeight(t.title,this.chart.options.font),d=Math.sqrt(p*p+_*_),o=toDegrees(Math.min(Math.asin(_limitValue((m.highest.height+6)/l,-1,1)),Math.asin(_limitValue(u/d,-1,1))-Math.asin(_limitValue(_/d,-1,1)))),o=Math.max(r,Math.min(a,o))),this.labelRotation=o}afterCalculateLabelRotation(){callback(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){callback(this.options.beforeFit,[this])}fit(){const t={width:0,height:0},{chart:e,options:{ticks:i,title:r,grid:a}}=this,o=this._isVisible(),l=this.isHorizontal();if(o){const u=getTitleHeight(r,e.options.font);if(l?(t.width=this.maxWidth,t.height=getTickMarkLength(a)+u):(t.height=this.maxHeight,t.width=getTickMarkLength(a)+u),i.display&&this.ticks.length){const{first:d,last:m,widest:p,highest:_}=this._getLabelSizes(),y=i.padding*2,w=toRadians(this.labelRotation),v=Math.cos(w),E=Math.sin(w);if(l){const x=i.mirror?0:E*p.width+v*_.height;t.height=Math.min(this.maxHeight,t.height+x+y)}else{const x=i.mirror?0:v*p.width+E*_.height;t.width=Math.min(this.maxWidth,t.width+x+y)}this._calculatePadding(d,m,E,v)}}this._handleMargins(),l?(this.width=this._length=e.width-this._margins.left-this._margins.right,this.height=t.height):(this.width=t.width,this.height=this._length=e.height-this._margins.top-this._margins.bottom)}_calculatePadding(t,e,i,r){const{ticks:{align:a,padding:o},position:l}=this.options,u=this.labelRotation!==0,d=l!=="top"&&this.axis==="x";if(this.isHorizontal()){const m=this.getPixelForTick(0)-this.left,p=this.right-this.getPixelForTick(this.ticks.length-1);let _=0,y=0;u?d?(_=r*t.width,y=i*e.height):(_=i*t.height,y=r*e.width):a==="start"?y=e.width:a==="end"?_=t.width:a!=="inner"&&(_=t.width/2,y=e.width/2),this.paddingLeft=Math.max((_-m+o)*this.width/(this.width-m),0),this.paddingRight=Math.max((y-p+o)*this.width/(this.width-p),0)}else{let m=e.height/2,p=t.height/2;a==="start"?(m=0,p=t.height):a==="end"&&(m=e.height,p=0),this.paddingTop=m+o,this.paddingBottom=p+o}}_handleMargins(){this._margins&&(this._margins.left=Math.max(this.paddingLeft,this._margins.left),this._margins.top=Math.max(this.paddingTop,this._margins.top),this._margins.right=Math.max(this.paddingRight,this._margins.right),this._margins.bottom=Math.max(this.paddingBottom,this._margins.bottom))}afterFit(){callback(this.options.afterFit,[this])}isHorizontal(){const{axis:t,position:e}=this.options;return e==="top"||e==="bottom"||t==="x"}isFullSize(){return this.options.fullSize}_convertTicksToLabels(t){this.beforeTickToLabelConversion(),this.generateTickLabels(t);let e,i;for(e=0,i=t.length;e({width:o[W]||0,height:l[W]||0});return{first:R(0),last:R(e-1),widest:R(I),highest:R(C),widths:o,heights:l}}getLabelForValue(t){return t}getPixelForValue(t,e){return NaN}getValueForPixel(t){}getPixelForTick(t){const e=this.ticks;return t<0||t>e.length-1?null:this.getPixelForValue(e[t].value)}getPixelForDecimal(t){this._reversePixels&&(t=1-t);const e=this._startPixel+t*this._length;return _int16Range(this._alignToPixels?_alignPixel(this.chart,e,0):e)}getDecimalForPixel(t){const e=(t-this._startPixel)/this._length;return this._reversePixels?1-e:e}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){const{min:t,max:e}=this;return t<0&&e<0?e:t>0&&e>0?t:0}getContext(t){const e=this.ticks||[];if(t>=0&&tl*r?l/i:u/r:u*r0}_computeGridLineItems(t){const e=this.axis,i=this.chart,r=this.options,{grid:a,position:o,border:l}=r,u=a.offset,d=this.isHorizontal(),p=this.ticks.length+(u?1:0),_=getTickMarkLength(a),y=[],w=l.setContext(this.getContext()),v=w.display?w.width:0,E=v/2,x=function(N){return _alignPixel(i,N,v)};let S,M,k,A,I,C,R,W,K,Y,q,J;if(o==="top")S=x(this.bottom),C=this.bottom-_,W=S-E,Y=x(t.top)+E,J=t.bottom;else if(o==="bottom")S=x(this.top),Y=t.top,J=x(t.bottom)-E,C=S+E,W=this.top+_;else if(o==="left")S=x(this.right),I=this.right-_,R=S-E,K=x(t.left)+E,q=t.right;else if(o==="right")S=x(this.left),K=t.left,q=x(t.right)-E,I=S+E,R=this.left+_;else if(e==="x"){if(o==="center")S=x((t.top+t.bottom)/2+.5);else if(isObject(o)){const N=Object.keys(o)[0],V=o[N];S=x(this.chart.scales[N].getPixelForValue(V))}Y=t.top,J=t.bottom,C=S+E,W=C+_}else if(e==="y"){if(o==="center")S=x((t.left+t.right)/2);else if(isObject(o)){const N=Object.keys(o)[0],V=o[N];S=x(this.chart.scales[N].getPixelForValue(V))}I=S-E,R=I-_,K=t.left,q=t.right}const nt=valueOrDefault(r.ticks.maxTicksLimit,p),$=Math.max(1,Math.ceil(p/nt));for(M=0;M0&&(Q-=rt/2);break}lt={left:Q,top:tt,width:rt+dt.width,height:st+dt.height,color:$.backdropColor}}E.push({label:k,font:W,textOffset:q,options:{rotation:v,color:V,strokeColor:H,strokeWidth:X,textAlign:B,textBaseline:J,translation:[A,I],backdrop:lt}})}return E}_getXAxisLabelAlignment(){const{position:t,ticks:e}=this.options;if(-toRadians(this.labelRotation))return t==="top"?"left":"right";let r="center";return e.align==="start"?r="left":e.align==="end"?r="right":e.align==="inner"&&(r="inner"),r}_getYAxisLabelAlignment(t){const{position:e,ticks:{crossAlign:i,mirror:r,padding:a}}=this.options,o=this._getLabelSizes(),l=t+a,u=o.widest.width;let d,m;return e==="left"?r?(m=this.right+a,i==="near"?d="left":i==="center"?(d="center",m+=u/2):(d="right",m+=u)):(m=this.right-l,i==="near"?d="right":i==="center"?(d="center",m-=u/2):(d="left",m=this.left)):e==="right"?r?(m=this.left+a,i==="near"?d="right":i==="center"?(d="center",m-=u/2):(d="left",m-=u)):(m=this.left+l,i==="near"?d="left":i==="center"?(d="center",m+=u/2):(d="right",m=this.right)):d="right",{textAlign:d,x:m}}_computeLabelArea(){if(this.options.ticks.mirror)return;const t=this.chart,e=this.options.position;if(e==="left"||e==="right")return{top:0,left:this.left,bottom:t.height,right:this.right};if(e==="top"||e==="bottom")return{top:this.top,left:0,bottom:this.bottom,right:t.width}}drawBackground(){const{ctx:t,options:{backgroundColor:e},left:i,top:r,width:a,height:o}=this;e&&(t.save(),t.fillStyle=e,t.fillRect(i,r,a,o),t.restore())}getLineWidthForValue(t){const e=this.options.grid;if(!this._isVisible()||!e.display)return 0;const r=this.ticks.findIndex(a=>a.value===t);return r>=0?e.setContext(this.getContext(r)).lineWidth:0}drawGrid(t){const e=this.options.grid,i=this.ctx,r=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(t));let a,o;const l=(u,d,m)=>{!m.width||!m.color||(i.save(),i.lineWidth=m.width,i.strokeStyle=m.color,i.setLineDash(m.borderDash||[]),i.lineDashOffset=m.borderDashOffset,i.beginPath(),i.moveTo(u.x,u.y),i.lineTo(d.x,d.y),i.stroke(),i.restore())};if(e.display)for(a=0,o=r.length;a{this.draw(a)}}]:[{z:i,draw:a=>{this.drawBackground(),this.drawGrid(a),this.drawTitle()}},{z:r,draw:()=>{this.drawBorder()}},{z:e,draw:a=>{this.drawLabels(a)}}]}getMatchingVisibleMetas(t){const e=this.chart.getSortedVisibleDatasetMetas(),i=this.axis+"AxisID",r=[];let a,o;for(a=0,o=e.length;a{const i=e.split("."),r=i.pop(),a=[n].concat(i).join("."),o=t[e].split("."),l=o.pop(),u=o.join(".");defaults.route(a,r,u,l)})}function isIChartComponent(n){return"id"in n&&"defaults"in n}class Registry{constructor(){this.controllers=new TypedRegistry(DatasetController,"datasets",!0),this.elements=new TypedRegistry(Element$1,"elements"),this.plugins=new TypedRegistry(Object,"plugins"),this.scales=new TypedRegistry(Scale,"scales"),this._typedRegistries=[this.controllers,this.scales,this.elements]}add(...t){this._each("register",t)}remove(...t){this._each("unregister",t)}addControllers(...t){this._each("register",t,this.controllers)}addElements(...t){this._each("register",t,this.elements)}addPlugins(...t){this._each("register",t,this.plugins)}addScales(...t){this._each("register",t,this.scales)}getController(t){return this._get(t,this.controllers,"controller")}getElement(t){return this._get(t,this.elements,"element")}getPlugin(t){return this._get(t,this.plugins,"plugin")}getScale(t){return this._get(t,this.scales,"scale")}removeControllers(...t){this._each("unregister",t,this.controllers)}removeElements(...t){this._each("unregister",t,this.elements)}removePlugins(...t){this._each("unregister",t,this.plugins)}removeScales(...t){this._each("unregister",t,this.scales)}_each(t,e,i){[...e].forEach(r=>{const a=i||this._getRegistryForType(r);i||a.isForType(r)||a===this.plugins&&r.id?this._exec(t,a,r):each(r,o=>{const l=i||this._getRegistryForType(o);this._exec(t,l,o)})})}_exec(t,e,i){const r=_capitalize(t);callback(i["before"+r],[],i),e[t](i),callback(i["after"+r],[],i)}_getRegistryForType(t){for(let e=0;ea.filter(l=>!o.some(u=>l.plugin.id===u.plugin.id));this._notify(r(e,i),t,"stop"),this._notify(r(i,e),t,"start")}}function allPlugins(n){const t={},e=[],i=Object.keys(registry.plugins.items);for(let a=0;a1&&idMatchesAxis(n[0].toLowerCase());if(i)return i}throw new Error(`Cannot determine type of '${n}' axis. Please provide 'axis' or 'position' option.`)}function getAxisFromDataset(n,t,e){if(e[t+"AxisID"]===n)return{axis:t}}function retrieveAxisFromDatasets(n,t){if(t.data&&t.data.datasets){const e=t.data.datasets.filter(i=>i.xAxisID===n||i.yAxisID===n);if(e.length)return getAxisFromDataset(n,"x",e[0])||getAxisFromDataset(n,"y",e[0])}return{}}function mergeScaleConfig(n,t){const e=overrides[n.type]||{scales:{}},i=t.scales||{},r=getIndexAxis(n.type,t),a=Object.create(null);return Object.keys(i).forEach(o=>{const l=i[o];if(!isObject(l))return console.error(`Invalid scale configuration for scale: ${o}`);if(l._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${o}`);const u=determineAxis(o,l,retrieveAxisFromDatasets(o,n),defaults.scales[l.type]),d=getDefaultScaleIDFromAxis(u,r),m=e.scales||{};a[o]=mergeIf(Object.create(null),[{axis:u},l,m[u],m[d]])}),n.data.datasets.forEach(o=>{const l=o.type||n.type,u=o.indexAxis||getIndexAxis(l,t),m=(overrides[l]||{}).scales||{};Object.keys(m).forEach(p=>{const _=getAxisFromDefaultScaleID(p,u),y=o[_+"AxisID"]||_;a[y]=a[y]||Object.create(null),mergeIf(a[y],[{axis:_},i[y],m[p]])})}),Object.keys(a).forEach(o=>{const l=a[o];mergeIf(l,[defaults.scales[l.type],defaults.scale])}),a}function initOptions(n){const t=n.options||(n.options={});t.plugins=valueOrDefault(t.plugins,{}),t.scales=mergeScaleConfig(n,t)}function initData(n){return n=n||{},n.datasets=n.datasets||[],n.labels=n.labels||[],n}function initConfig(n){return n=n||{},n.data=initData(n.data),initOptions(n),n}const keyCache=new Map,keysCached=new Set;function cachedKeys(n,t){let e=keyCache.get(n);return e||(e=t(),keyCache.set(n,e),keysCached.add(e)),e}const addIfFound=(n,t,e)=>{const i=resolveObjectKey(t,e);i!==void 0&&n.add(i)};class Config{constructor(t){this._config=initConfig(t),this._scopeCache=new Map,this._resolverCache=new Map}get platform(){return this._config.platform}get type(){return this._config.type}set type(t){this._config.type=t}get data(){return this._config.data}set data(t){this._config.data=initData(t)}get options(){return this._config.options}set options(t){this._config.options=t}get plugins(){return this._config.plugins}update(){const t=this._config;this.clearCache(),initOptions(t)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(t){return cachedKeys(t,()=>[[`datasets.${t}`,""]])}datasetAnimationScopeKeys(t,e){return cachedKeys(`${t}.transition.${e}`,()=>[[`datasets.${t}.transitions.${e}`,`transitions.${e}`],[`datasets.${t}`,""]])}datasetElementScopeKeys(t,e){return cachedKeys(`${t}-${e}`,()=>[[`datasets.${t}.elements.${e}`,`datasets.${t}`,`elements.${e}`,""]])}pluginScopeKeys(t){const e=t.id,i=this.type;return cachedKeys(`${i}-plugin-${e}`,()=>[[`plugins.${e}`,...t.additionalOptionScopes||[]]])}_cachedScopes(t,e){const i=this._scopeCache;let r=i.get(t);return(!r||e)&&(r=new Map,i.set(t,r)),r}getOptionScopes(t,e,i){const{options:r,type:a}=this,o=this._cachedScopes(t,i),l=o.get(e);if(l)return l;const u=new Set;e.forEach(m=>{t&&(u.add(t),m.forEach(p=>addIfFound(u,t,p))),m.forEach(p=>addIfFound(u,r,p)),m.forEach(p=>addIfFound(u,overrides[a]||{},p)),m.forEach(p=>addIfFound(u,defaults,p)),m.forEach(p=>addIfFound(u,descriptors,p))});const d=Array.from(u);return d.length===0&&d.push(Object.create(null)),keysCached.has(e)&&o.set(e,d),d}chartOptionScopes(){const{options:t,type:e}=this;return[t,overrides[e]||{},defaults.datasets[e]||{},{type:e},defaults,descriptors]}resolveNamedOptions(t,e,i,r=[""]){const a={$shared:!0},{resolver:o,subPrefixes:l}=getResolver(this._resolverCache,t,r);let u=o;if(needContext(o,e)){a.$shared=!1,i=isFunction(i)?i():i;const d=this.createResolver(t,i,l);u=_attachContext(o,i,d)}for(const d of e)a[d]=u[d];return a}createResolver(t,e,i=[""],r){const{resolver:a}=getResolver(this._resolverCache,t,i);return isObject(e)?_attachContext(a,e,void 0,r):a}}function getResolver(n,t,e){let i=n.get(t);i||(i=new Map,n.set(t,i));const r=e.join();let a=i.get(r);return a||(a={resolver:_createResolver(t,e),subPrefixes:e.filter(l=>!l.toLowerCase().includes("hover"))},i.set(r,a)),a}const hasFunction=n=>isObject(n)&&Object.getOwnPropertyNames(n).some(t=>isFunction(n[t]));function needContext(n,t){const{isScriptable:e,isIndexable:i}=_descriptors(n);for(const r of t){const a=e(r),o=i(r),l=(o||a)&&n[r];if(a&&(isFunction(l)||hasFunction(l))||o&&isArray(l))return!0}return!1}var version="4.4.1";const KNOWN_POSITIONS=["top","bottom","left","right","chartArea"];function positionIsHorizontal(n,t){return n==="top"||n==="bottom"||KNOWN_POSITIONS.indexOf(n)===-1&&t==="x"}function compare2Level(n,t){return function(e,i){return e[n]===i[n]?e[t]-i[t]:e[n]-i[n]}}function onAnimationsComplete(n){const t=n.chart,e=t.options.animation;t.notifyPlugins("afterRender"),callback(e&&e.onComplete,[n],t)}function onAnimationProgress(n){const t=n.chart,e=t.options.animation;callback(e&&e.onProgress,[n],t)}function getCanvas(n){return _isDomSupported()&&typeof n=="string"?n=document.getElementById(n):n&&n.length&&(n=n[0]),n&&n.canvas&&(n=n.canvas),n}const instances={},getChart=n=>{const t=getCanvas(n);return Object.values(instances).filter(e=>e.canvas===t).pop()};function moveNumericKeys(n,t,e){const i=Object.keys(n);for(const r of i){const a=+r;if(a>=t){const o=n[r];delete n[r],(e>0||a>t)&&(n[a+e]=o)}}}function determineLastEvent(n,t,e,i){return!e||n.type==="mouseout"?null:i?t:n}function getSizeForArea(n,t,e){return n.options.clip?n[e]:t[e]}function getDatasetArea(n,t){const{xScale:e,yScale:i}=n;return e&&i?{left:getSizeForArea(e,t,"left"),right:getSizeForArea(e,t,"right"),top:getSizeForArea(i,t,"top"),bottom:getSizeForArea(i,t,"bottom")}:t}class Chart{static register(...t){registry.add(...t),invalidatePlugins()}static unregister(...t){registry.remove(...t),invalidatePlugins()}constructor(t,e){const i=this.config=new Config(e),r=getCanvas(t),a=getChart(r);if(a)throw new Error("Canvas is already in use. Chart with ID '"+a.id+"' must be destroyed before the canvas with ID '"+a.canvas.id+"' can be reused.");const o=i.createResolver(i.chartOptionScopes(),this.getContext());this.platform=new(i.platform||_detectPlatform(r)),this.platform.updateConfig(i);const l=this.platform.acquireContext(r,o.aspectRatio),u=l&&l.canvas,d=u&&u.height,m=u&&u.width;if(this.id=uid(),this.ctx=l,this.canvas=u,this.width=m,this.height=d,this._options=o,this._aspectRatio=this.aspectRatio,this._layers=[],this._metasets=[],this._stacks=void 0,this.boxes=[],this.currentDevicePixelRatio=void 0,this.chartArea=void 0,this._active=[],this._lastEvent=void 0,this._listeners={},this._responsiveListeners=void 0,this._sortedMetasets=[],this.scales={},this._plugins=new PluginService,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=debounce$2(p=>this.update(p),o.resizeDelay||0),this._dataChanges=[],instances[this.id]=this,!l||!u){console.error("Failed to create chart: can't acquire context from the given item");return}animator.listen(this,"complete",onAnimationsComplete),animator.listen(this,"progress",onAnimationProgress),this._initialize(),this.attached&&this.update()}get aspectRatio(){const{options:{aspectRatio:t,maintainAspectRatio:e},width:i,height:r,_aspectRatio:a}=this;return isNullOrUndef(t)?e&&a?a:r?i/r:null:t}get data(){return this.config.data}set data(t){this.config.data=t}get options(){return this._options}set options(t){this.config.options=t}get registry(){return registry}_initialize(){return this.notifyPlugins("beforeInit"),this.options.responsive?this.resize():retinaScale(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return clearCanvas(this.canvas,this.ctx),this}stop(){return animator.stop(this),this}resize(t,e){animator.running(this)?this._resizeBeforeDraw={width:t,height:e}:this._resize(t,e)}_resize(t,e){const i=this.options,r=this.canvas,a=i.maintainAspectRatio&&this.aspectRatio,o=this.platform.getMaximumSize(r,t,e,a),l=i.devicePixelRatio||this.platform.getDevicePixelRatio(),u=this.width?"resize":"attach";this.width=o.width,this.height=o.height,this._aspectRatio=this.aspectRatio,retinaScale(this,l,!0)&&(this.notifyPlugins("resize",{size:o}),callback(i.onResize,[this,o],this),this.attached&&this._doResize(u)&&this.render())}ensureScalesHaveIDs(){const e=this.options.scales||{};each(e,(i,r)=>{i.id=r})}buildOrUpdateScales(){const t=this.options,e=t.scales,i=this.scales,r=Object.keys(i).reduce((o,l)=>(o[l]=!1,o),{});let a=[];e&&(a=a.concat(Object.keys(e).map(o=>{const l=e[o],u=determineAxis(o,l),d=u==="r",m=u==="x";return{options:l,dposition:d?"chartArea":m?"bottom":"left",dtype:d?"radialLinear":m?"category":"linear"}}))),each(a,o=>{const l=o.options,u=l.id,d=determineAxis(u,l),m=valueOrDefault(l.type,o.dtype);(l.position===void 0||positionIsHorizontal(l.position,d)!==positionIsHorizontal(o.dposition))&&(l.position=o.dposition),r[u]=!0;let p=null;if(u in i&&i[u].type===m)p=i[u];else{const _=registry.getScale(m);p=new _({id:u,type:m,ctx:this.ctx,chart:this}),i[p.id]=p}p.init(l,t)}),each(r,(o,l)=>{o||delete i[l]}),each(i,o=>{layouts.configure(this,o,o.options),layouts.addBox(this,o)})}_updateMetasets(){const t=this._metasets,e=this.data.datasets.length,i=t.length;if(t.sort((r,a)=>r.index-a.index),i>e){for(let r=e;re.length&&delete this._stacks,t.forEach((i,r)=>{e.filter(a=>a===i._dataset).length===0&&this._destroyDatasetMeta(r)})}buildOrUpdateControllers(){const t=[],e=this.data.datasets;let i,r;for(this._removeUnreferencedMetasets(),i=0,r=e.length;i{this.getDatasetMeta(e).controller.reset()},this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(t){const e=this.config;e.update();const i=this._options=e.createResolver(e.chartOptionScopes(),this.getContext()),r=this._animationsDisabled=!i.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),this.notifyPlugins("beforeUpdate",{mode:t,cancelable:!0})===!1)return;const a=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let o=0;for(let d=0,m=this.data.datasets.length;d{d.reset()}),this._updateDatasets(t),this.notifyPlugins("afterUpdate",{mode:t}),this._layers.sort(compare2Level("z","_idx"));const{_active:l,_lastEvent:u}=this;u?this._eventHandler(u,!0):l.length&&this._updateHoverStyles(l,l,!0),this.render()}_updateScales(){each(this.scales,t=>{layouts.removeBox(this,t)}),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){const t=this.options,e=new Set(Object.keys(this._listeners)),i=new Set(t.events);(!setsEqual(e,i)||!!this._responsiveListeners!==t.responsive)&&(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){const{_hiddenIndices:t}=this,e=this._getUniformDataChanges()||[];for(const{method:i,start:r,count:a}of e){const o=i==="_removeElements"?-a:a;moveNumericKeys(t,r,o)}}_getUniformDataChanges(){const t=this._dataChanges;if(!t||!t.length)return;this._dataChanges=[];const e=this.data.datasets.length,i=a=>new Set(t.filter(o=>o[0]===a).map((o,l)=>l+","+o.splice(1).join(","))),r=i(0);for(let a=1;aa.split(",")).map(a=>({method:a[1],start:+a[2],count:+a[3]}))}_updateLayout(t){if(this.notifyPlugins("beforeLayout",{cancelable:!0})===!1)return;layouts.update(this,this.width,this.height,t);const e=this.chartArea,i=e.width<=0||e.height<=0;this._layers=[],each(this.boxes,r=>{i&&r.position==="chartArea"||(r.configure&&r.configure(),this._layers.push(...r._layers()))},this),this._layers.forEach((r,a)=>{r._idx=a}),this.notifyPlugins("afterLayout")}_updateDatasets(t){if(this.notifyPlugins("beforeDatasetsUpdate",{mode:t,cancelable:!0})!==!1){for(let e=0,i=this.data.datasets.length;e=0;--e)this._drawDataset(t[e]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(t){const e=this.ctx,i=t._clip,r=!i.disabled,a=getDatasetArea(t,this.chartArea),o={meta:t,index:t.index,cancelable:!0};this.notifyPlugins("beforeDatasetDraw",o)!==!1&&(r&&clipArea(e,{left:i.left===!1?0:a.left-i.left,right:i.right===!1?this.width:a.right+i.right,top:i.top===!1?0:a.top-i.top,bottom:i.bottom===!1?this.height:a.bottom+i.bottom}),t.controller.draw(),r&&unclipArea(e),o.cancelable=!1,this.notifyPlugins("afterDatasetDraw",o))}isPointInArea(t){return _isPointInArea(t,this.chartArea,this._minPadding)}getElementsAtEventForMode(t,e,i,r){const a=Interaction.modes[e];return typeof a=="function"?a(this,t,i,r):[]}getDatasetMeta(t){const e=this.data.datasets[t],i=this._metasets;let r=i.filter(a=>a&&a._dataset===e).pop();return r||(r={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:e&&e.order||0,index:t,_dataset:e,_parsed:[],_sorted:!1},i.push(r)),r}getContext(){return this.$context||(this.$context=createContext(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(t){const e=this.data.datasets[t];if(!e)return!1;const i=this.getDatasetMeta(t);return typeof i.hidden=="boolean"?!i.hidden:!e.hidden}setDatasetVisibility(t,e){const i=this.getDatasetMeta(t);i.hidden=!e}toggleDataVisibility(t){this._hiddenIndices[t]=!this._hiddenIndices[t]}getDataVisibility(t){return!this._hiddenIndices[t]}_updateVisibility(t,e,i){const r=i?"show":"hide",a=this.getDatasetMeta(t),o=a.controller._resolveAnimations(void 0,r);defined$1(e)?(a.data[e].hidden=!i,this.update()):(this.setDatasetVisibility(t,i),o.update(a,{visible:i}),this.update(l=>l.datasetIndex===t?r:void 0))}hide(t,e){this._updateVisibility(t,e,!1)}show(t,e){this._updateVisibility(t,e,!0)}_destroyDatasetMeta(t){const e=this._metasets[t];e&&e.controller&&e.controller._destroy(),delete this._metasets[t]}_stop(){let t,e;for(this.stop(),animator.remove(this),t=0,e=this.data.datasets.length;t{e.addEventListener(this,a,o),t[a]=o},r=(a,o,l)=>{a.offsetX=o,a.offsetY=l,this._eventHandler(a)};each(this.options.events,a=>i(a,r))}bindResponsiveEvents(){this._responsiveListeners||(this._responsiveListeners={});const t=this._responsiveListeners,e=this.platform,i=(u,d)=>{e.addEventListener(this,u,d),t[u]=d},r=(u,d)=>{t[u]&&(e.removeEventListener(this,u,d),delete t[u])},a=(u,d)=>{this.canvas&&this.resize(u,d)};let o;const l=()=>{r("attach",l),this.attached=!0,this.resize(),i("resize",a),i("detach",o)};o=()=>{this.attached=!1,r("resize",a),this._stop(),this._resize(0,0),i("attach",l)},e.isAttached(this.canvas)?l():o()}unbindEvents(){each(this._listeners,(t,e)=>{this.platform.removeEventListener(this,e,t)}),this._listeners={},each(this._responsiveListeners,(t,e)=>{this.platform.removeEventListener(this,e,t)}),this._responsiveListeners=void 0}updateHoverStyle(t,e,i){const r=i?"set":"remove";let a,o,l,u;for(e==="dataset"&&(a=this.getDatasetMeta(t[0].datasetIndex),a.controller["_"+r+"DatasetHoverStyle"]()),l=0,u=t.length;l{const l=this.getDatasetMeta(a);if(!l)throw new Error("No dataset found at index "+a);return{datasetIndex:a,element:l.data[o],index:o}});!_elementsEqual(i,e)&&(this._active=i,this._lastEvent=null,this._updateHoverStyles(i,e))}notifyPlugins(t,e,i){return this._plugins.notify(this,t,e,i)}isPluginEnabled(t){return this._plugins._cache.filter(e=>e.plugin.id===t).length===1}_updateHoverStyles(t,e,i){const r=this.options.hover,a=(u,d)=>u.filter(m=>!d.some(p=>m.datasetIndex===p.datasetIndex&&m.index===p.index)),o=a(e,t),l=i?t:a(t,e);o.length&&this.updateHoverStyle(o,r.mode,!1),l.length&&r.mode&&this.updateHoverStyle(l,r.mode,!0)}_eventHandler(t,e){const i={event:t,replay:e,cancelable:!0,inChartArea:this.isPointInArea(t)},r=o=>(o.options.events||this.options.events).includes(t.native.type);if(this.notifyPlugins("beforeEvent",i,r)===!1)return;const a=this._handleEvent(t,e,i.inChartArea);return i.cancelable=!1,this.notifyPlugins("afterEvent",i,r),(a||i.changed)&&this.render(),this}_handleEvent(t,e,i){const{_active:r=[],options:a}=this,o=e,l=this._getActiveElements(t,r,i,o),u=_isClickEvent(t),d=determineLastEvent(t,this._lastEvent,i,u);i&&(this._lastEvent=null,callback(a.onHover,[t,l,this],this),u&&callback(a.onClick,[t,l,this],this));const m=!_elementsEqual(l,r);return(m||e)&&(this._active=l,this._updateHoverStyles(l,r,e)),this._lastEvent=d,m}_getActiveElements(t,e,i,r){if(t.type==="mouseout")return[];if(!i)return e;const a=this.options.hover;return this.getElementsAtEventForMode(t,a.mode,a,r)}}F(Chart,"defaults",defaults),F(Chart,"instances",instances),F(Chart,"overrides",overrides),F(Chart,"registry",registry),F(Chart,"version",version),F(Chart,"getChart",getChart);function invalidatePlugins(){return each(Chart.instances,n=>n._plugins.invalidate())}function clipArc(n,t,e){const{startAngle:i,pixelMargin:r,x:a,y:o,outerRadius:l,innerRadius:u}=t;let d=r/l;n.beginPath(),n.arc(a,o,l,i-d,e+d),u>r?(d=r/u,n.arc(a,o,u,e+d,i-d,!0)):n.arc(a,o,r,e+HALF_PI,i-HALF_PI),n.closePath(),n.clip()}function toRadiusCorners(n){return _readValueToProps(n,["outerStart","outerEnd","innerStart","innerEnd"])}function parseBorderRadius$1(n,t,e,i){const r=toRadiusCorners(n.options.borderRadius),a=(e-t)/2,o=Math.min(a,i*t/2),l=u=>{const d=(e-Math.min(a,u))*i/2;return _limitValue(u,0,Math.min(a,d))};return{outerStart:l(r.outerStart),outerEnd:l(r.outerEnd),innerStart:_limitValue(r.innerStart,0,o),innerEnd:_limitValue(r.innerEnd,0,o)}}function rThetaToXY(n,t,e,i){return{x:e+n*Math.cos(t),y:i+n*Math.sin(t)}}function pathArc(n,t,e,i,r,a){const{x:o,y:l,startAngle:u,pixelMargin:d,innerRadius:m}=t,p=Math.max(t.outerRadius+i+e-d,0),_=m>0?m+i+e+d:0;let y=0;const w=r-u;if(i){const $=m>0?m-i:0,N=p>0?p-i:0,V=($+N)/2,H=V!==0?w*V/(V+i):w;y=(w-H)/2}const v=Math.max(.001,w*p-e/PI)/p,E=(w-v)/2,x=u+E+y,S=r-E-y,{outerStart:M,outerEnd:k,innerStart:A,innerEnd:I}=parseBorderRadius$1(t,_,p,S-x),C=p-M,R=p-k,W=x+M/C,K=S-k/R,Y=_+A,q=_+I,J=x+A/Y,nt=S-I/q;if(n.beginPath(),a){const $=(W+K)/2;if(n.arc(o,l,p,W,$),n.arc(o,l,p,$,K),k>0){const X=rThetaToXY(R,K,o,l);n.arc(X.x,X.y,k,K,S+HALF_PI)}const N=rThetaToXY(q,S,o,l);if(n.lineTo(N.x,N.y),I>0){const X=rThetaToXY(q,nt,o,l);n.arc(X.x,X.y,I,S+HALF_PI,nt+Math.PI)}const V=(S-I/_+(x+A/_))/2;if(n.arc(o,l,_,S-I/_,V,!0),n.arc(o,l,_,V,x+A/_,!0),A>0){const X=rThetaToXY(Y,J,o,l);n.arc(X.x,X.y,A,J+Math.PI,x-HALF_PI)}const H=rThetaToXY(C,x,o,l);if(n.lineTo(H.x,H.y),M>0){const X=rThetaToXY(C,W,o,l);n.arc(X.x,X.y,M,x-HALF_PI,W)}}else{n.moveTo(o,l);const $=Math.cos(W)*p+o,N=Math.sin(W)*p+l;n.lineTo($,N);const V=Math.cos(K)*p+o,H=Math.sin(K)*p+l;n.lineTo(V,H)}n.closePath()}function drawArc(n,t,e,i,r){const{fullCircles:a,startAngle:o,circumference:l}=t;let u=t.endAngle;if(a){pathArc(n,t,e,i,u,r);for(let d=0;d=TAU||_angleBetween(o,u,d),E=_isBetween(l,m+y,p+y);return v&&E}getCenterPoint(e){const{x:i,y:r,startAngle:a,endAngle:o,innerRadius:l,outerRadius:u}=this.getProps(["x","y","startAngle","endAngle","innerRadius","outerRadius"],e),{offset:d,spacing:m}=this.options,p=(a+o)/2,_=(l+u+m+d)/2;return{x:i+Math.cos(p)*_,y:r+Math.sin(p)*_}}tooltipPosition(e){return this.getCenterPoint(e)}draw(e){const{options:i,circumference:r}=this,a=(i.offset||0)/4,o=(i.spacing||0)/2,l=i.circular;if(this.pixelMargin=i.borderAlign==="inner"?.33:0,this.fullCircles=r>TAU?Math.floor(r/TAU):0,r===0||this.innerRadius<0||this.outerRadius<0)return;e.save();const u=(this.startAngle+this.endAngle)/2;e.translate(Math.cos(u)*a,Math.sin(u)*a);const d=1-Math.sin(Math.min(PI,r||0)),m=a*d;e.fillStyle=i.backgroundColor,e.strokeStyle=i.borderColor,drawArc(e,this,m,o,l),drawBorder(e,this,m,o,l),e.restore()}}F(ArcElement,"id","arc"),F(ArcElement,"defaults",{borderAlign:"center",borderColor:"#fff",borderDash:[],borderDashOffset:0,borderJoinStyle:void 0,borderRadius:0,borderWidth:2,offset:0,spacing:0,angle:void 0,circular:!0}),F(ArcElement,"defaultRoutes",{backgroundColor:"backgroundColor"}),F(ArcElement,"descriptors",{_scriptable:!0,_indexable:e=>e!=="borderDash"});function setStyle$1(n,t,e=t){n.lineCap=valueOrDefault(e.borderCapStyle,t.borderCapStyle),n.setLineDash(valueOrDefault(e.borderDash,t.borderDash)),n.lineDashOffset=valueOrDefault(e.borderDashOffset,t.borderDashOffset),n.lineJoin=valueOrDefault(e.borderJoinStyle,t.borderJoinStyle),n.lineWidth=valueOrDefault(e.borderWidth,t.borderWidth),n.strokeStyle=valueOrDefault(e.borderColor,t.borderColor)}function lineTo(n,t,e){n.lineTo(e.x,e.y)}function getLineMethod(n){return n.stepped?_steppedLineTo:n.tension||n.cubicInterpolationMode==="monotone"?_bezierCurveTo:lineTo}function pathVars(n,t,e={}){const i=n.length,{start:r=0,end:a=i-1}=e,{start:o,end:l}=t,u=Math.max(r,o),d=Math.min(a,l),m=rl&&a>l;return{count:i,start:u,loop:t.loop,ilen:d(o+(d?l-k:k))%a,M=()=>{v!==E&&(n.lineTo(m,E),n.lineTo(m,v),n.lineTo(m,x))};for(u&&(y=r[S(0)],n.moveTo(y.x,y.y)),_=0;_<=l;++_){if(y=r[S(_)],y.skip)continue;const k=y.x,A=y.y,I=k|0;I===w?(AE&&(E=A),m=(p*m+k)/++p):(M(),n.lineTo(k,A),w=I,p=0,v=E=A),x=A}M()}function _getSegmentMethod(n){const t=n.options,e=t.borderDash&&t.borderDash.length;return!n._decimated&&!n._loop&&!t.tension&&t.cubicInterpolationMode!=="monotone"&&!t.stepped&&!e?fastPathSegment:pathSegment}function _getInterpolationMethod(n){return n.stepped?_steppedInterpolation:n.tension||n.cubicInterpolationMode==="monotone"?_bezierInterpolation:_pointInLine}function strokePathWithCache(n,t,e,i){let r=t._path;r||(r=t._path=new Path2D,t.path(r,e,i)&&r.closePath()),setStyle$1(n,t.options),n.stroke(r)}function strokePathDirect(n,t,e,i){const{segments:r,options:a}=t,o=_getSegmentMethod(t);for(const l of r)setStyle$1(n,a,l.style),n.beginPath(),o(n,t,l,{start:e,end:e+i-1})&&n.closePath(),n.stroke()}const usePath2D=typeof Path2D=="function";function draw(n,t,e,i){usePath2D&&!t.options.segment?strokePathWithCache(n,t,e,i):strokePathDirect(n,t,e,i)}class LineElement extends Element$1{constructor(t){super(),this.animated=!0,this.options=void 0,this._chart=void 0,this._loop=void 0,this._fullLoop=void 0,this._path=void 0,this._points=void 0,this._segments=void 0,this._decimated=!1,this._pointsUpdated=!1,this._datasetIndex=void 0,t&&Object.assign(this,t)}updateControlPoints(t,e){const i=this.options;if((i.tension||i.cubicInterpolationMode==="monotone")&&!i.stepped&&!this._pointsUpdated){const r=i.spanGaps?this._loop:this._fullLoop;_updateBezierControlPoints(this._points,i,t,r,e),this._pointsUpdated=!0}}set points(t){this._points=t,delete this._segments,delete this._path,this._pointsUpdated=!1}get points(){return this._points}get segments(){return this._segments||(this._segments=_computeSegments(this,this.options.segment))}first(){const t=this.segments,e=this.points;return t.length&&e[t[0].start]}last(){const t=this.segments,e=this.points,i=t.length;return i&&e[t[i-1].end]}interpolate(t,e){const i=this.options,r=t[e],a=this.points,o=_boundSegments(this,{property:e,start:r,end:r});if(!o.length)return;const l=[],u=_getInterpolationMethod(i);let d,m;for(d=0,m=o.length;dt!=="borderDash"&&t!=="fill"});function inRange$1(n,t,e,i){const r=n.options,{[e]:a}=n.getProps([e],i);return Math.abs(t-a)n.replace("rgb(","rgba(").replace(")",", 0.5)"));function getBorderColor(n){return BORDER_COLORS[n%BORDER_COLORS.length]}function getBackgroundColor(n){return BACKGROUND_COLORS[n%BACKGROUND_COLORS.length]}function colorizeDefaultDataset(n,t){return n.borderColor=getBorderColor(t),n.backgroundColor=getBackgroundColor(t),++t}function colorizeDoughnutDataset(n,t){return n.backgroundColor=n.data.map(()=>getBorderColor(t++)),t}function colorizePolarAreaDataset(n,t){return n.backgroundColor=n.data.map(()=>getBackgroundColor(t++)),t}function getColorizer(n){let t=0;return(e,i)=>{const r=n.getDatasetMeta(i).controller;r instanceof DoughnutController?t=colorizeDoughnutDataset(e,t):r instanceof PolarAreaController?t=colorizePolarAreaDataset(e,t):r&&(t=colorizeDefaultDataset(e,t))}}function containsColorsDefinitions(n){let t;for(t in n)if(n[t].borderColor||n[t].backgroundColor)return!0;return!1}function containsColorsDefinition(n){return n&&(n.borderColor||n.backgroundColor)}var plugin_colors={id:"colors",defaults:{enabled:!0,forceOverride:!1},beforeLayout(n,t,e){if(!e.enabled)return;const{data:{datasets:i},options:r}=n.config,{elements:a}=r;if(!e.forceOverride&&(containsColorsDefinitions(i)||containsColorsDefinition(r)||a&&containsColorsDefinitions(a)))return;const o=getColorizer(n);i.forEach(o)}};function _segments(n,t,e){const i=n.segments,r=n.points,a=t.points,o=[];for(const l of i){let{start:u,end:d}=l;d=_findSegmentEnd(u,d,r);const m=_getBounds(e,r[u],r[d],l.loop);if(!t.segments){o.push({source:l,target:m,start:r[u],end:r[d]});continue}const p=_boundSegments(t,m);for(const _ of p){const y=_getBounds(e,a[_.start],a[_.end],_.loop),w=_boundSegment(l,r,y);for(const v of w)o.push({source:v,target:_,start:{[e]:_getEdge(m,y,"start",Math.max)},end:{[e]:_getEdge(m,y,"end",Math.min)}})}}return o}function _getBounds(n,t,e,i){if(i)return;let r=t[n],a=e[n];return n==="angle"&&(r=_normalizeAngle(r),a=_normalizeAngle(a)),{property:n,start:r,end:a}}function _pointsFromSegments(n,t){const{x:e=null,y:i=null}=n||{},r=t.points,a=[];return t.segments.forEach(({start:o,end:l})=>{l=_findSegmentEnd(o,l,r);const u=r[o],d=r[l];i!==null?(a.push({x:u.x,y:i}),a.push({x:d.x,y:i})):e!==null&&(a.push({x:e,y:u.y}),a.push({x:e,y:d.y}))}),a}function _findSegmentEnd(n,t,e){for(;t>n;t--){const i=e[t];if(!isNaN(i.x)&&!isNaN(i.y))break}return t}function _getEdge(n,t,e,i){return n&&t?i(n[e],t[e]):n?n[e]:t?t[e]:0}function _createBoundaryLine(n,t){let e=[],i=!1;return isArray(n)?(i=!0,e=n):e=_pointsFromSegments(n,t),e.length?new LineElement({points:e,options:{tension:0},_loop:i,_fullLoop:i}):null}function _shouldApplyFill(n){return n&&n.fill!==!1}function _resolveTarget(n,t,e){let r=n[t].fill;const a=[t];let o;if(!e)return r;for(;r!==!1&&a.indexOf(r)===-1;){if(!isNumberFinite(r))return r;if(o=n[r],!o)return!1;if(o.visible)return r;a.push(r),r=o.fill}return!1}function _decodeFill(n,t,e){const i=parseFillOption(n);if(isObject(i))return isNaN(i.value)?!1:i;let r=parseFloat(i);return isNumberFinite(r)&&Math.floor(r)===r?decodeTargetIndex(i[0],t,r,e):["origin","start","end","stack","shape"].indexOf(i)>=0&&i}function decodeTargetIndex(n,t,e,i){return(n==="-"||n==="+")&&(e=t+e),e===t||e<0||e>=i?!1:e}function _getTargetPixel(n,t){let e=null;return n==="start"?e=t.bottom:n==="end"?e=t.top:isObject(n)?e=t.getPixelForValue(n.value):t.getBasePixel&&(e=t.getBasePixel()),e}function _getTargetValue(n,t,e){let i;return n==="start"?i=e:n==="end"?i=t.options.reverse?t.min:t.max:isObject(n)?i=n.value:i=t.getBaseValue(),i}function parseFillOption(n){const t=n.options,e=t.fill;let i=valueOrDefault(e&&e.target,e);return i===void 0&&(i=!!t.backgroundColor),i===!1||i===null?!1:i===!0?"origin":i}function _buildStackLine(n){const{scale:t,index:e,line:i}=n,r=[],a=i.segments,o=i.points,l=getLinesBelow(t,e);l.push(_createBoundaryLine({x:null,y:t.bottom},i));for(let u=0;u=0;--o){const l=r[o].$filler;l&&(l.line.updateControlPoints(a,l.axis),i&&l.fill&&_drawfill(n.ctx,l,a))}},beforeDatasetsDraw(n,t,e){if(e.drawTime!=="beforeDatasetsDraw")return;const i=n.getSortedVisibleDatasetMetas();for(let r=i.length-1;r>=0;--r){const a=i[r].$filler;_shouldApplyFill(a)&&_drawfill(n.ctx,a,n.chartArea)}},beforeDatasetDraw(n,t,e){const i=t.meta.$filler;!_shouldApplyFill(i)||e.drawTime!=="beforeDatasetDraw"||_drawfill(n.ctx,i,n.chartArea)},defaults:{propagate:!0,drawTime:"beforeDatasetDraw"}};const getBoxSize=(n,t)=>{let{boxHeight:e=t,boxWidth:i=t}=n;return n.usePointStyle&&(e=Math.min(e,t),i=n.pointStyleWidth||Math.min(i,t)),{boxWidth:i,boxHeight:e,itemHeight:Math.max(t,e)}},itemsEqual=(n,t)=>n!==null&&t!==null&&n.datasetIndex===t.datasetIndex&&n.index===t.index;class Legend extends Element$1{constructor(t){super(),this._added=!1,this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1,this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this.legendItems=void 0,this.columnSizes=void 0,this.lineWidths=void 0,this.maxHeight=void 0,this.maxWidth=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.height=void 0,this.width=void 0,this._margins=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,e,i){this.maxWidth=t,this.maxHeight=e,this._margins=i,this.setDimensions(),this.buildLabels(),this.fit()}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=this._margins.left,this.right=this.width):(this.height=this.maxHeight,this.top=this._margins.top,this.bottom=this.height)}buildLabels(){const t=this.options.labels||{};let e=callback(t.generateLabels,[this.chart],this)||[];t.filter&&(e=e.filter(i=>t.filter(i,this.chart.data))),t.sort&&(e=e.sort((i,r)=>t.sort(i,r,this.chart.data))),this.options.reverse&&e.reverse(),this.legendItems=e}fit(){const{options:t,ctx:e}=this;if(!t.display){this.width=this.height=0;return}const i=t.labels,r=toFont(i.font),a=r.size,o=this._computeTitleHeight(),{boxWidth:l,itemHeight:u}=getBoxSize(i,a);let d,m;e.font=r.string,this.isHorizontal()?(d=this.maxWidth,m=this._fitRows(o,a,l,u)+10):(m=this.maxHeight,d=this._fitCols(o,r,l,u)+10),this.width=Math.min(d,t.maxWidth||this.maxWidth),this.height=Math.min(m,t.maxHeight||this.maxHeight)}_fitRows(t,e,i,r){const{ctx:a,maxWidth:o,options:{labels:{padding:l}}}=this,u=this.legendHitBoxes=[],d=this.lineWidths=[0],m=r+l;let p=t;a.textAlign="left",a.textBaseline="middle";let _=-1,y=-m;return this.legendItems.forEach((w,v)=>{const E=i+e/2+a.measureText(w.text).width;(v===0||d[d.length-1]+E+2*l>o)&&(p+=m,d[d.length-(v>0?0:1)]=0,y+=m,_++),u[v]={left:0,top:y,row:_,width:E,height:r},d[d.length-1]+=E+l}),p}_fitCols(t,e,i,r){const{ctx:a,maxHeight:o,options:{labels:{padding:l}}}=this,u=this.legendHitBoxes=[],d=this.columnSizes=[],m=o-t;let p=l,_=0,y=0,w=0,v=0;return this.legendItems.forEach((E,x)=>{const{itemWidth:S,itemHeight:M}=calculateItemSize(i,e,a,E,r);x>0&&y+M+2*l>m&&(p+=_+l,d.push({width:_,height:y}),w+=_+l,v++,_=y=0),u[x]={left:w,top:y,col:v,width:S,height:M},_=Math.max(_,S),y+=M+l}),p+=_,d.push({width:_,height:y}),p}adjustHitBoxes(){if(!this.options.display)return;const t=this._computeTitleHeight(),{legendHitBoxes:e,options:{align:i,labels:{padding:r},rtl:a}}=this,o=getRtlAdapter(a,this.left,this.width);if(this.isHorizontal()){let l=0,u=_alignStartEnd(i,this.left+r,this.right-this.lineWidths[l]);for(const d of e)l!==d.row&&(l=d.row,u=_alignStartEnd(i,this.left+r,this.right-this.lineWidths[l])),d.top+=this.top+t+r,d.left=o.leftForLtr(o.x(u),d.width),u+=d.width+r}else{let l=0,u=_alignStartEnd(i,this.top+t+r,this.bottom-this.columnSizes[l].height);for(const d of e)d.col!==l&&(l=d.col,u=_alignStartEnd(i,this.top+t+r,this.bottom-this.columnSizes[l].height)),d.top=u,d.left+=this.left+r,d.left=o.leftForLtr(o.x(d.left),d.width),u+=d.height+r}}isHorizontal(){return this.options.position==="top"||this.options.position==="bottom"}draw(){if(this.options.display){const t=this.ctx;clipArea(t,this),this._draw(),unclipArea(t)}}_draw(){const{options:t,columnSizes:e,lineWidths:i,ctx:r}=this,{align:a,labels:o}=t,l=defaults.color,u=getRtlAdapter(t.rtl,this.left,this.width),d=toFont(o.font),{padding:m}=o,p=d.size,_=p/2;let y;this.drawTitle(),r.textAlign=u.textAlign("left"),r.textBaseline="middle",r.lineWidth=.5,r.font=d.string;const{boxWidth:w,boxHeight:v,itemHeight:E}=getBoxSize(o,p),x=function(I,C,R){if(isNaN(w)||w<=0||isNaN(v)||v<0)return;r.save();const W=valueOrDefault(R.lineWidth,1);if(r.fillStyle=valueOrDefault(R.fillStyle,l),r.lineCap=valueOrDefault(R.lineCap,"butt"),r.lineDashOffset=valueOrDefault(R.lineDashOffset,0),r.lineJoin=valueOrDefault(R.lineJoin,"miter"),r.lineWidth=W,r.strokeStyle=valueOrDefault(R.strokeStyle,l),r.setLineDash(valueOrDefault(R.lineDash,[])),o.usePointStyle){const K={radius:v*Math.SQRT2/2,pointStyle:R.pointStyle,rotation:R.rotation,borderWidth:W},Y=u.xPlus(I,w/2),q=C+_;drawPointLegend(r,K,Y,q,o.pointStyleWidth&&w)}else{const K=C+Math.max((p-v)/2,0),Y=u.leftForLtr(I,w),q=toTRBLCorners(R.borderRadius);r.beginPath(),Object.values(q).some(J=>J!==0)?addRoundedRectPath(r,{x:Y,y:K,w,h:v,radius:q}):r.rect(Y,K,w,v),r.fill(),W!==0&&r.stroke()}r.restore()},S=function(I,C,R){renderText(r,R.text,I,C+E/2,d,{strikethrough:R.hidden,textAlign:u.textAlign(R.textAlign)})},M=this.isHorizontal(),k=this._computeTitleHeight();M?y={x:_alignStartEnd(a,this.left+m,this.right-i[0]),y:this.top+m+k,line:0}:y={x:this.left+m,y:_alignStartEnd(a,this.top+k+m,this.bottom-e[0].height),line:0},overrideTextDirection(this.ctx,t.textDirection);const A=E+m;this.legendItems.forEach((I,C)=>{r.strokeStyle=I.fontColor,r.fillStyle=I.fontColor;const R=r.measureText(I.text).width,W=u.textAlign(I.textAlign||(I.textAlign=o.textAlign)),K=w+_+R;let Y=y.x,q=y.y;u.setWidth(this.width),M?C>0&&Y+K+m>this.right&&(q=y.y+=A,y.line++,Y=y.x=_alignStartEnd(a,this.left+m,this.right-i[y.line])):C>0&&q+A>this.bottom&&(Y=y.x=Y+e[y.line].width+m,y.line++,q=y.y=_alignStartEnd(a,this.top+k+m,this.bottom-e[y.line].height));const J=u.x(Y);if(x(J,q,I),Y=_textX(W,Y+w+_,M?Y+K:this.right,t.rtl),S(u.x(Y),q,I),M)y.x+=K+m;else if(typeof I.text!="string"){const nt=d.lineHeight;y.y+=calculateLegendItemHeight(I,nt)+m}else y.y+=A}),restoreTextDirection(this.ctx,t.textDirection)}drawTitle(){const t=this.options,e=t.title,i=toFont(e.font),r=toPadding(e.padding);if(!e.display)return;const a=getRtlAdapter(t.rtl,this.left,this.width),o=this.ctx,l=e.position,u=i.size/2,d=r.top+u;let m,p=this.left,_=this.width;if(this.isHorizontal())_=Math.max(...this.lineWidths),m=this.top+d,p=_alignStartEnd(t.align,p,this.right-_);else{const w=this.columnSizes.reduce((v,E)=>Math.max(v,E.height),0);m=d+_alignStartEnd(t.align,this.top,this.bottom-w-t.labels.padding-this._computeTitleHeight())}const y=_alignStartEnd(l,p,p+_);o.textAlign=a.textAlign(_toLeftRightCenter(l)),o.textBaseline="middle",o.strokeStyle=e.color,o.fillStyle=e.color,o.font=i.string,renderText(o,e.text,y,m,i)}_computeTitleHeight(){const t=this.options.title,e=toFont(t.font),i=toPadding(t.padding);return t.display?e.lineHeight+i.height:0}_getLegendItemAt(t,e){let i,r,a;if(_isBetween(t,this.left,this.right)&&_isBetween(e,this.top,this.bottom)){for(a=this.legendHitBoxes,i=0;ia.length>o.length?a:o)),t+e.size/2+i.measureText(r).width}function calculateItemHeight(n,t,e){let i=n;return typeof t.text!="string"&&(i=calculateLegendItemHeight(t,e)),i}function calculateLegendItemHeight(n,t){const e=n.text?n.text.length:0;return t*e}function isListened(n,t){return!!((n==="mousemove"||n==="mouseout")&&(t.onHover||t.onLeave)||t.onClick&&(n==="click"||n==="mouseup"))}var plugin_legend={id:"legend",_element:Legend,start(n,t,e){const i=n.legend=new Legend({ctx:n.ctx,options:e,chart:n});layouts.configure(n,i,e),layouts.addBox(n,i)},stop(n){layouts.removeBox(n,n.legend),delete n.legend},beforeUpdate(n,t,e){const i=n.legend;layouts.configure(n,i,e),i.options=e},afterUpdate(n){const t=n.legend;t.buildLabels(),t.adjustHitBoxes()},afterEvent(n,t){t.replay||n.legend.handleEvent(t.event)},defaults:{display:!0,position:"top",align:"center",fullSize:!0,reverse:!1,weight:1e3,onClick(n,t,e){const i=t.datasetIndex,r=e.chart;r.isDatasetVisible(i)?(r.hide(i),t.hidden=!0):(r.show(i),t.hidden=!1)},onHover:null,onLeave:null,labels:{color:n=>n.chart.options.color,boxWidth:40,padding:10,generateLabels(n){const t=n.data.datasets,{labels:{usePointStyle:e,pointStyle:i,textAlign:r,color:a,useBorderRadius:o,borderRadius:l}}=n.legend.options;return n._getSortedDatasetMetas().map(u=>{const d=u.controller.getStyle(e?0:void 0),m=toPadding(d.borderWidth);return{text:t[u.index].label,fillStyle:d.backgroundColor,fontColor:a,hidden:!u.visible,lineCap:d.borderCapStyle,lineDash:d.borderDash,lineDashOffset:d.borderDashOffset,lineJoin:d.borderJoinStyle,lineWidth:(m.width+m.height)/4,strokeStyle:d.borderColor,pointStyle:i||d.pointStyle,rotation:d.rotation,textAlign:r||d.textAlign,borderRadius:o&&(l||d.borderRadius),datasetIndex:u.index}},this)}},title:{color:n=>n.chart.options.color,display:!1,position:"center",text:""}},descriptors:{_scriptable:n=>!n.startsWith("on"),labels:{_scriptable:n=>!["generateLabels","filter","sort"].includes(n)}}};const positioners={average(n){if(!n.length)return!1;let t,e,i=0,r=0,a=0;for(t=0,e=n.length;t-1?n.split(` -`):n}function createTooltipItem(n,t){const{element:e,datasetIndex:i,index:r}=t,a=n.getDatasetMeta(i).controller,{label:o,value:l}=a.getLabelAndValue(r);return{chart:n,label:o,parsed:a.getParsed(r),raw:n.data.datasets[i].data[r],formattedValue:l,dataset:a.getDataset(),dataIndex:r,datasetIndex:i,element:e}}function getTooltipSize(n,t){const e=n.chart.ctx,{body:i,footer:r,title:a}=n,{boxWidth:o,boxHeight:l}=t,u=toFont(t.bodyFont),d=toFont(t.titleFont),m=toFont(t.footerFont),p=a.length,_=r.length,y=i.length,w=toPadding(t.padding);let v=w.height,E=0,x=i.reduce((k,A)=>k+A.before.length+A.lines.length+A.after.length,0);if(x+=n.beforeBody.length+n.afterBody.length,p&&(v+=p*d.lineHeight+(p-1)*t.titleSpacing+t.titleMarginBottom),x){const k=t.displayColors?Math.max(l,u.lineHeight):u.lineHeight;v+=y*k+(x-y)*u.lineHeight+(x-1)*t.bodySpacing}_&&(v+=t.footerMarginTop+_*m.lineHeight+(_-1)*t.footerSpacing);let S=0;const M=function(k){E=Math.max(E,e.measureText(k).width+S)};return e.save(),e.font=d.string,each$2(n.title,M),e.font=u.string,each$2(n.beforeBody.concat(n.afterBody),M),S=t.displayColors?o+2+t.boxPadding:0,each$2(i,k=>{each$2(k.before,M),each$2(k.lines,M),each$2(k.after,M)}),S=0,e.font=m.string,each$2(n.footer,M),e.restore(),E+=w.width,{width:E,height:v}}function determineYAlign(n,t){const{y:e,height:i}=t;return en.height-i/2?"bottom":"center"}function doesNotFitWithAlign(n,t,e,i){const{x:r,width:a}=i,o=e.caretSize+e.caretPadding;if(n==="left"&&r+a+o>t.width||n==="right"&&r-a-o<0)return!0}function determineXAlign(n,t,e,i){const{x:r,width:a}=e,{width:o,chartArea:{left:l,right:u}}=n;let d="center";return i==="center"?d=r<=(l+u)/2?"left":"right":r<=a/2?d="left":r>=o-a/2&&(d="right"),doesNotFitWithAlign(d,n,t,e)&&(d="center"),d}function determineAlignment(n,t,e){const i=e.yAlign||t.yAlign||determineYAlign(n,e);return{xAlign:e.xAlign||t.xAlign||determineXAlign(n,t,e,i),yAlign:i}}function alignX(n,t){let{x:e,width:i}=n;return t==="right"?e-=i:t==="center"&&(e-=i/2),e}function alignY(n,t,e){let{y:i,height:r}=n;return t==="top"?i+=e:t==="bottom"?i-=r+e:i-=r/2,i}function getBackgroundPoint(n,t,e,i){const{caretSize:r,caretPadding:a,cornerRadius:o}=n,{xAlign:l,yAlign:u}=e,d=r+a,{topLeft:m,topRight:p,bottomLeft:_,bottomRight:y}=toTRBLCorners(o);let w=alignX(t,l);const v=alignY(t,u,d);return u==="center"?l==="left"?w+=d:l==="right"&&(w-=d):l==="left"?w-=Math.max(m,_)+r:l==="right"&&(w+=Math.max(p,y)+r),{x:_limitValue(w,0,i.width-t.width),y:_limitValue(v,0,i.height-t.height)}}function getAlignedX(n,t,e){const i=toPadding(e.padding);return t==="center"?n.x+n.width/2:t==="right"?n.x+n.width-i.right:n.x+i.left}function getBeforeAfterBodyLines(n){return pushOrConcat([],splitNewlines(n))}function createTooltipContext(n,t,e){return createContext(n,{tooltip:t,tooltipItems:e,type:"tooltip"})}function overrideCallbacks(n,t){const e=t&&t.dataset&&t.dataset.tooltip&&t.dataset.tooltip.callbacks;return e?n.override(e):n}const defaultCallbacks={beforeTitle:noop,title(n){if(n.length>0){const t=n[0],e=t.chart.data.labels,i=e?e.length:0;if(this&&this.options&&this.options.mode==="dataset")return t.dataset.label||"";if(t.label)return t.label;if(i>0&&t.dataIndex"u"?defaultCallbacks[t].call(e,i):r}class Tooltip extends Element$1{constructor(t){super(),this.opacity=0,this._active=[],this._eventPosition=void 0,this._size=void 0,this._cachedAnimations=void 0,this._tooltipItems=[],this.$animations=void 0,this.$context=void 0,this.chart=t.chart,this.options=t.options,this.dataPoints=void 0,this.title=void 0,this.beforeBody=void 0,this.body=void 0,this.afterBody=void 0,this.footer=void 0,this.xAlign=void 0,this.yAlign=void 0,this.x=void 0,this.y=void 0,this.height=void 0,this.width=void 0,this.caretX=void 0,this.caretY=void 0,this.labelColors=void 0,this.labelPointStyles=void 0,this.labelTextColors=void 0}initialize(t){this.options=t,this._cachedAnimations=void 0,this.$context=void 0}_resolveAnimations(){const t=this._cachedAnimations;if(t)return t;const e=this.chart,i=this.options.setContext(this.getContext()),r=i.enabled&&e.options.animation&&i.animations,a=new Animations(this.chart,r);return r._cacheable&&(this._cachedAnimations=Object.freeze(a)),a}getContext(){return this.$context||(this.$context=createTooltipContext(this.chart.getContext(),this,this._tooltipItems))}getTitle(t,e){const{callbacks:i}=e,r=invokeCallbackWithFallback(i,"beforeTitle",this,t),a=invokeCallbackWithFallback(i,"title",this,t),o=invokeCallbackWithFallback(i,"afterTitle",this,t);let l=[];return l=pushOrConcat(l,splitNewlines(r)),l=pushOrConcat(l,splitNewlines(a)),l=pushOrConcat(l,splitNewlines(o)),l}getBeforeBody(t,e){return getBeforeAfterBodyLines(invokeCallbackWithFallback(e.callbacks,"beforeBody",this,t))}getBody(t,e){const{callbacks:i}=e,r=[];return each$2(t,a=>{const o={before:[],lines:[],after:[]},l=overrideCallbacks(i,a);pushOrConcat(o.before,splitNewlines(invokeCallbackWithFallback(l,"beforeLabel",this,a))),pushOrConcat(o.lines,invokeCallbackWithFallback(l,"label",this,a)),pushOrConcat(o.after,splitNewlines(invokeCallbackWithFallback(l,"afterLabel",this,a))),r.push(o)}),r}getAfterBody(t,e){return getBeforeAfterBodyLines(invokeCallbackWithFallback(e.callbacks,"afterBody",this,t))}getFooter(t,e){const{callbacks:i}=e,r=invokeCallbackWithFallback(i,"beforeFooter",this,t),a=invokeCallbackWithFallback(i,"footer",this,t),o=invokeCallbackWithFallback(i,"afterFooter",this,t);let l=[];return l=pushOrConcat(l,splitNewlines(r)),l=pushOrConcat(l,splitNewlines(a)),l=pushOrConcat(l,splitNewlines(o)),l}_createItems(t){const e=this._active,i=this.chart.data,r=[],a=[],o=[];let l=[],u,d;for(u=0,d=e.length;ut.filter(m,p,_,i))),t.itemSort&&(l=l.sort((m,p)=>t.itemSort(m,p,i))),each$2(l,m=>{const p=overrideCallbacks(t.callbacks,m);r.push(invokeCallbackWithFallback(p,"labelColor",this,m)),a.push(invokeCallbackWithFallback(p,"labelPointStyle",this,m)),o.push(invokeCallbackWithFallback(p,"labelTextColor",this,m))}),this.labelColors=r,this.labelPointStyles=a,this.labelTextColors=o,this.dataPoints=l,l}update(t,e){const i=this.options.setContext(this.getContext()),r=this._active;let a,o=[];if(!r.length)this.opacity!==0&&(a={opacity:0});else{const l=positioners[i.position].call(this,r,this._eventPosition);o=this._createItems(i),this.title=this.getTitle(o,i),this.beforeBody=this.getBeforeBody(o,i),this.body=this.getBody(o,i),this.afterBody=this.getAfterBody(o,i),this.footer=this.getFooter(o,i);const u=this._size=getTooltipSize(this,i),d=Object.assign({},l,u),m=determineAlignment(this.chart,i,d),p=getBackgroundPoint(i,d,m,this.chart);this.xAlign=m.xAlign,this.yAlign=m.yAlign,a={opacity:1,x:p.x,y:p.y,width:u.width,height:u.height,caretX:l.x,caretY:l.y}}this._tooltipItems=o,this.$context=void 0,a&&this._resolveAnimations().update(this,a),t&&i.external&&i.external.call(this,{chart:this.chart,tooltip:this,replay:e})}drawCaret(t,e,i,r){const a=this.getCaretPosition(t,i,r);e.lineTo(a.x1,a.y1),e.lineTo(a.x2,a.y2),e.lineTo(a.x3,a.y3)}getCaretPosition(t,e,i){const{xAlign:r,yAlign:a}=this,{caretSize:o,cornerRadius:l}=i,{topLeft:u,topRight:d,bottomLeft:m,bottomRight:p}=toTRBLCorners(l),{x:_,y}=t,{width:w,height:v}=e;let E,x,S,M,k,A;return a==="center"?(k=y+v/2,r==="left"?(E=_,x=E-o,M=k+o,A=k-o):(E=_+w,x=E+o,M=k-o,A=k+o),S=E):(r==="left"?x=_+Math.max(u,m)+o:r==="right"?x=_+w-Math.max(d,p)-o:x=this.caretX,a==="top"?(M=y,k=M-o,E=x-o,S=x+o):(M=y+v,k=M+o,E=x+o,S=x-o),A=M),{x1:E,x2:x,x3:S,y1:M,y2:k,y3:A}}drawTitle(t,e,i){const r=this.title,a=r.length;let o,l,u;if(a){const d=getRtlAdapter(i.rtl,this.x,this.width);for(t.x=getAlignedX(this,i.titleAlign,i),e.textAlign=d.textAlign(i.titleAlign),e.textBaseline="middle",o=toFont(i.titleFont),l=i.titleSpacing,e.fillStyle=i.titleColor,e.font=o.string,u=0;uS!==0)?(t.beginPath(),t.fillStyle=a.multiKeyBackground,addRoundedRectPath(t,{x:v,y:w,w:d,h:u,radius:x}),t.fill(),t.stroke(),t.fillStyle=o.backgroundColor,t.beginPath(),addRoundedRectPath(t,{x:E,y:w+1,w:d-2,h:u-2,radius:x}),t.fill()):(t.fillStyle=a.multiKeyBackground,t.fillRect(v,w,d,u),t.strokeRect(v,w,d,u),t.fillStyle=o.backgroundColor,t.fillRect(E,w+1,d-2,u-2))}t.fillStyle=this.labelTextColors[i]}drawBody(t,e,i){const{body:r}=this,{bodySpacing:a,bodyAlign:o,displayColors:l,boxHeight:u,boxWidth:d,boxPadding:m}=i,p=toFont(i.bodyFont);let _=p.lineHeight,y=0;const w=getRtlAdapter(i.rtl,this.x,this.width),v=function(R){e.fillText(R,w.x(t.x+y),t.y+_/2),t.y+=_+a},E=w.textAlign(o);let x,S,M,k,A,I,C;for(e.textAlign=o,e.textBaseline="middle",e.font=p.string,t.x=getAlignedX(this,E,i),e.fillStyle=i.bodyColor,each$2(this.beforeBody,v),y=l&&E!=="right"?o==="center"?d/2+m:d+2+m:0,k=0,I=r.length;k0&&e.stroke()}_updateAnimationTarget(t){const e=this.chart,i=this.$animations,r=i&&i.x,a=i&&i.y;if(r||a){const o=positioners[t.position].call(this,this._active,this._eventPosition);if(!o)return;const l=this._size=getTooltipSize(this,t),u=Object.assign({},o,this._size),d=determineAlignment(e,t,u),m=getBackgroundPoint(t,u,d,e);(r._to!==m.x||a._to!==m.y)&&(this.xAlign=d.xAlign,this.yAlign=d.yAlign,this.width=l.width,this.height=l.height,this.caretX=o.x,this.caretY=o.y,this._resolveAnimations().update(this,m))}}_willRender(){return!!this.opacity}draw(t){const e=this.options.setContext(this.getContext());let i=this.opacity;if(!i)return;this._updateAnimationTarget(e);const r={width:this.width,height:this.height},a={x:this.x,y:this.y};i=Math.abs(i)<.001?0:i;const o=toPadding(e.padding),l=this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length;e.enabled&&l&&(t.save(),t.globalAlpha=i,this.drawBackground(a,t,r,e),overrideTextDirection(t,e.textDirection),a.y+=o.top,this.drawTitle(a,t,e),this.drawBody(a,t,e),this.drawFooter(a,t,e),restoreTextDirection(t,e.textDirection),t.restore())}getActiveElements(){return this._active||[]}setActiveElements(t,e){const i=this._active,r=t.map(({datasetIndex:l,index:u})=>{const d=this.chart.getDatasetMeta(l);if(!d)throw new Error("Cannot find a dataset at index "+l);return{datasetIndex:l,element:d.data[u],index:u}}),a=!_elementsEqual(i,r),o=this._positionChanged(r,e);(a||o)&&(this._active=r,this._eventPosition=e,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(t,e,i=!0){if(e&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;const r=this.options,a=this._active||[],o=this._getActiveElements(t,a,e,i),l=this._positionChanged(o,t),u=e||!_elementsEqual(o,a)||l;return u&&(this._active=o,(r.enabled||r.external)&&(this._eventPosition={x:t.x,y:t.y},this.update(!0,e))),u}_getActiveElements(t,e,i,r){const a=this.options;if(t.type==="mouseout")return[];if(!r)return e.filter(l=>this.chart.data.datasets[l.datasetIndex]&&this.chart.getDatasetMeta(l.datasetIndex).controller.getParsed(l.index)!==void 0);const o=this.chart.getElementsAtEventForMode(t,a.mode,a,i);return a.reverse&&o.reverse(),o}_positionChanged(t,e){const{caretX:i,caretY:r,options:a}=this,o=positioners[a.position].call(this,t,e);return o!==!1&&(i!==o.x||r!==o.y)}}F(Tooltip,"positioners",positioners);var plugin_tooltip={id:"tooltip",_element:Tooltip,positioners,afterInit(n,t,e){e&&(n.tooltip=new Tooltip({chart:n,options:e}))},beforeUpdate(n,t,e){n.tooltip&&n.tooltip.initialize(e)},reset(n,t,e){n.tooltip&&n.tooltip.initialize(e)},afterDraw(n){const t=n.tooltip;if(t&&t._willRender()){const e={tooltip:t};if(n.notifyPlugins("beforeTooltipDraw",{...e,cancelable:!0})===!1)return;t.draw(n.ctx),n.notifyPlugins("afterTooltipDraw",e)}},afterEvent(n,t){if(n.tooltip){const e=t.replay;n.tooltip.handleEvent(t.event,e,t.inChartArea)&&(t.changed=!0)}},defaults:{enabled:!0,external:null,position:"average",backgroundColor:"rgba(0,0,0,0.8)",titleColor:"#fff",titleFont:{weight:"bold"},titleSpacing:2,titleMarginBottom:6,titleAlign:"left",bodyColor:"#fff",bodySpacing:2,bodyFont:{},bodyAlign:"left",footerColor:"#fff",footerSpacing:2,footerMarginTop:6,footerFont:{weight:"bold"},footerAlign:"left",padding:6,caretPadding:2,caretSize:5,cornerRadius:6,boxHeight:(n,t)=>t.bodyFont.size,boxWidth:(n,t)=>t.bodyFont.size,multiKeyBackground:"#fff",displayColors:!0,boxPadding:0,borderColor:"rgba(0,0,0,0)",borderWidth:0,animation:{duration:400,easing:"easeOutQuart"},animations:{numbers:{type:"number",properties:["x","y","width","height","caretX","caretY"]},opacity:{easing:"linear",duration:200}},callbacks:defaultCallbacks},defaultRoutes:{bodyFont:"font",footerFont:"font",titleFont:"font"},descriptors:{_scriptable:n=>n!=="filter"&&n!=="itemSort"&&n!=="external",_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:"animation"}},additionalOptionScopes:["interaction"]};const addIfString=(n,t,e,i)=>(typeof t=="string"?(e=n.push(t)-1,i.unshift({index:e,label:t})):isNaN(t)&&(e=null),e);function findOrAddLabel(n,t,e,i){const r=n.indexOf(t);if(r===-1)return addIfString(n,t,e,i);const a=n.lastIndexOf(t);return r!==a?e:r}const validIndex=(n,t)=>n===null?null:_limitValue(Math.round(n),0,t);function _getLabelForValue(n){const t=this.getLabels();return n>=0&&ne.length-1?null:this.getPixelForValue(e[t].value)}getValueForPixel(t){return Math.round(this._startValue+this.getDecimalForPixel(t)*this._valueRange)}getBasePixel(){return this.bottom}}F(CategoryScale,"id","category"),F(CategoryScale,"defaults",{ticks:{callback:_getLabelForValue}});function generateTicks$1(n,t){const e=[],{bounds:r,step:a,min:o,max:l,precision:u,count:d,maxTicks:m,maxDigits:p,includeBounds:_}=n,y=a||1,w=m-1,{min:v,max:E}=t,x=!isNullOrUndef(o),S=!isNullOrUndef(l),M=!isNullOrUndef(d),k=(E-v)/(p+1);let A=niceNum((E-v)/w/y)*y,I,C,R,W;if(A<1e-14&&!x&&!S)return[{value:v},{value:E}];W=Math.ceil(E/A)-Math.floor(v/A),W>w&&(A=niceNum(W*A/w/y)*y),isNullOrUndef(u)||(I=Math.pow(10,u),A=Math.ceil(A*I)/I),r==="ticks"?(C=Math.floor(v/A)*A,R=Math.ceil(E/A)*A):(C=v,R=E),x&&S&&a&&almostWhole((l-o)/a,A/1e3)?(W=Math.round(Math.min((l-o)/A,m)),A=(l-o)/W,C=o,R=l):M?(C=x?o:C,R=S?l:R,W=d-1,A=(R-C)/W):(W=(R-C)/A,almostEquals(W,Math.round(W),A/1e3)?W=Math.round(W):W=Math.ceil(W));const K=Math.max(_decimalPlaces(A),_decimalPlaces(C));I=Math.pow(10,isNullOrUndef(u)?K:u),C=Math.round(C*I)/I,R=Math.round(R*I)/I;let Y=0;for(x&&(_&&C!==o?(e.push({value:o}),Cl)break;e.push({value:q})}return S&&_&&R!==l?e.length&&almostEquals(e[e.length-1].value,l,relativeLabelSize(l,k,n))?e[e.length-1].value=l:e.push({value:l}):(!S||R===l)&&e.push({value:R}),e}function relativeLabelSize(n,t,{horizontal:e,minRotation:i}){const r=toRadians(i),a=(e?Math.sin(r):Math.cos(r))||.001,o=.75*t*(""+n).length;return Math.min(t/a,o)}class LinearScaleBase extends Scale{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._endValue=void 0,this._valueRange=0}parse(t,e){return isNullOrUndef(t)||(typeof t=="number"||t instanceof Number)&&!isFinite(+t)?null:+t}handleTickRangeOptions(){const{beginAtZero:t}=this.options,{minDefined:e,maxDefined:i}=this.getUserBounds();let{min:r,max:a}=this;const o=u=>r=e?r:u,l=u=>a=i?a:u;if(t){const u=sign(r),d=sign(a);u<0&&d<0?l(0):u>0&&d>0&&o(0)}if(r===a){let u=a===0?1:Math.abs(a*.05);l(a+u),t||o(r-u)}this.min=r,this.max=a}getTickLimit(){const t=this.options.ticks;let{maxTicksLimit:e,stepSize:i}=t,r;return i?(r=Math.ceil(this.max/i)-Math.floor(this.min/i)+1,r>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${i} would result generating up to ${r} ticks. Limiting to 1000.`),r=1e3)):(r=this.computeTickLimit(),e=e||11),e&&(r=Math.min(e,r)),r}computeTickLimit(){return Number.POSITIVE_INFINITY}buildTicks(){const t=this.options,e=t.ticks;let i=this.getTickLimit();i=Math.max(2,i);const r={maxTicks:i,bounds:t.bounds,min:t.min,max:t.max,precision:e.precision,step:e.stepSize,count:e.count,maxDigits:this._maxDigits(),horizontal:this.isHorizontal(),minRotation:e.minRotation||0,includeBounds:e.includeBounds!==!1},a=this._range||this,o=generateTicks$1(r,a);return t.bounds==="ticks"&&_setMinAndMaxByKey(o,this,"value"),t.reverse?(o.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),o}configure(){const t=this.ticks;let e=this.min,i=this.max;if(super.configure(),this.options.offset&&t.length){const r=(i-e)/Math.max(t.length-1,1)/2;e-=r,i+=r}this._startValue=e,this._endValue=i,this._valueRange=i-e}getLabelForValue(t){return formatNumber(t,this.chart.options.locale,this.options.ticks.format)}}class LinearScale extends LinearScaleBase{determineDataLimits(){const{min:t,max:e}=this.getMinMax(!0);this.min=isNumberFinite(t)?t:0,this.max=isNumberFinite(e)?e:1,this.handleTickRangeOptions()}computeTickLimit(){const t=this.isHorizontal(),e=t?this.width:this.height,i=toRadians(this.options.ticks.minRotation),r=(t?Math.sin(i):Math.cos(i))||.001,a=this._resolveTickFontOptions(0);return Math.ceil(e/Math.min(40,a.lineHeight/r))}getPixelForValue(t){return t===null?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getValueForPixel(t){return this._startValue+this.getDecimalForPixel(t)*this._valueRange}}F(LinearScale,"id","linear"),F(LinearScale,"defaults",{ticks:{callback:Ticks.formatters.numeric}});const log10Floor=n=>Math.floor(log10(n)),changeExponent=(n,t)=>Math.pow(10,log10Floor(n)+t);function isMajor(n){return n/Math.pow(10,log10Floor(n))===1}function steps(n,t,e){const i=Math.pow(10,e),r=Math.floor(n/i);return Math.ceil(t/i)-r}function startExp(n,t){const e=t-n;let i=log10Floor(e);for(;steps(n,t,i)>10;)i++;for(;steps(n,t,i)<10;)i--;return Math.min(i,log10Floor(n))}function generateTicks(n,{min:t,max:e}){t=finiteOrDefault(n.min,t);const i=[],r=log10Floor(t);let a=startExp(t,e),o=a<0?Math.pow(10,Math.abs(a)):1;const l=Math.pow(10,a),u=r>a?Math.pow(10,r):0,d=Math.round((t-u)*o)/o,m=Math.floor((t-u)/l/10)*l*10;let p=Math.floor((d-m)/Math.pow(10,a)),_=finiteOrDefault(n.min,Math.round((u+m+p*Math.pow(10,a))*o)/o);for(;_=10?p=p<15?15:20:p++,p>=20&&(a++,p=2,o=a>=0?1:o),_=Math.round((u+m+p*Math.pow(10,a))*o)/o;const y=finiteOrDefault(n.max,_);return i.push({value:y,major:isMajor(y),significand:p}),i}class LogarithmicScale extends Scale{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._valueRange=0}parse(t,e){const i=LinearScaleBase.prototype.parse.apply(this,[t,e]);if(i===0){this._zero=!0;return}return isNumberFinite(i)&&i>0?i:null}determineDataLimits(){const{min:t,max:e}=this.getMinMax(!0);this.min=isNumberFinite(t)?Math.max(0,t):null,this.max=isNumberFinite(e)?Math.max(0,e):null,this.options.beginAtZero&&(this._zero=!0),this._zero&&this.min!==this._suggestedMin&&!isNumberFinite(this._userMin)&&(this.min=t===changeExponent(this.min,0)?changeExponent(this.min,-1):changeExponent(this.min,0)),this.handleTickRangeOptions()}handleTickRangeOptions(){const{minDefined:t,maxDefined:e}=this.getUserBounds();let i=this.min,r=this.max;const a=l=>i=t?i:l,o=l=>r=e?r:l;i===r&&(i<=0?(a(1),o(10)):(a(changeExponent(i,-1)),o(changeExponent(r,1)))),i<=0&&a(changeExponent(r,-1)),r<=0&&o(changeExponent(i,1)),this.min=i,this.max=r}buildTicks(){const t=this.options,e={min:this._userMin,max:this._userMax},i=generateTicks(e,this);return t.bounds==="ticks"&&_setMinAndMaxByKey(i,this,"value"),t.reverse?(i.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),i}getLabelForValue(t){return t===void 0?"0":formatNumber(t,this.chart.options.locale,this.options.ticks.format)}configure(){const t=this.min;super.configure(),this._startValue=log10(t),this._valueRange=log10(this.max)-log10(t)}getPixelForValue(t){return(t===void 0||t===0)&&(t=this.min),t===null||isNaN(t)?NaN:this.getPixelForDecimal(t===this.min?0:(log10(t)-this._startValue)/this._valueRange)}getValueForPixel(t){const e=this.getDecimalForPixel(t);return Math.pow(10,this._startValue+e*this._valueRange)}}F(LogarithmicScale,"id","logarithmic"),F(LogarithmicScale,"defaults",{ticks:{callback:Ticks.formatters.logarithmic,major:{enabled:!0}}});function getTickBackdropHeight(n){const t=n.ticks;if(t.display&&n.display){const e=toPadding(t.backdropPadding);return valueOrDefault(t.font&&t.font.size,defaults$2.font.size)+e.height}return 0}function measureLabelSize(n,t,e){return e=isArray(e)?e:[e],{w:_longestText(n,t.string,e),h:e.length*t.lineHeight}}function determineLimits(n,t,e,i,r){return n===i||n===r?{start:t-e/2,end:t+e/2}:nr?{start:t-e,end:t}:{start:t,end:t+e}}function fitWithPointLabels(n){const t={l:n.left+n._padding.left,r:n.right-n._padding.right,t:n.top+n._padding.top,b:n.bottom-n._padding.bottom},e=Object.assign({},t),i=[],r=[],a=n._pointLabels.length,o=n.options.pointLabels,l=o.centerPointLabels?PI/a:0;for(let u=0;ut.r&&(l=(i.end-t.r)/a,n.r=Math.max(n.r,t.r+l)),r.startt.b&&(u=(r.end-t.b)/o,n.b=Math.max(n.b,t.b+u))}function createPointLabelItem(n,t,e){const i=n.drawingArea,{extra:r,additionalAngle:a,padding:o,size:l}=e,u=n.getPointPosition(t,i+r+o,a),d=Math.round(toDegrees(_normalizeAngle(u.angle+HALF_PI))),m=yForAngle(u.y,l.h,d),p=getTextAlignForAngle(d),_=leftForTextAlign(u.x,l.w,p);return{visible:!0,x:u.x,y:m,textAlign:p,left:_,top:m,right:_+l.w,bottom:m+l.h}}function isNotOverlapped(n,t){if(!t)return!0;const{left:e,top:i,right:r,bottom:a}=n;return!(_isPointInArea({x:e,y:i},t)||_isPointInArea({x:e,y:a},t)||_isPointInArea({x:r,y:i},t)||_isPointInArea({x:r,y:a},t))}function buildPointLabelItems(n,t,e){const i=[],r=n._pointLabels.length,a=n.options,{centerPointLabels:o,display:l}=a.pointLabels,u={extra:getTickBackdropHeight(a)/2,additionalAngle:o?PI/r:0};let d;for(let m=0;m270||e<90)&&(n-=t),n}function drawPointLabelBox(n,t,e){const{left:i,top:r,right:a,bottom:o}=e,{backdropColor:l}=t;if(!isNullOrUndef(l)){const u=toTRBLCorners(t.borderRadius),d=toPadding(t.backdropPadding);n.fillStyle=l;const m=i-d.left,p=r-d.top,_=a-i+d.width,y=o-r+d.height;Object.values(u).some(w=>w!==0)?(n.beginPath(),addRoundedRectPath(n,{x:m,y:p,w:_,h:y,radius:u}),n.fill()):n.fillRect(m,p,_,y)}}function drawPointLabels(n,t){const{ctx:e,options:{pointLabels:i}}=n;for(let r=t-1;r>=0;r--){const a=n._pointLabelItems[r];if(!a.visible)continue;const o=i.setContext(n.getPointLabelContext(r));drawPointLabelBox(e,o,a);const l=toFont(o.font),{x:u,y:d,textAlign:m}=a;renderText(e,n._pointLabels[r],u,d+l.lineHeight/2,l,{color:o.color,textAlign:m,textBaseline:"middle"})}}function pathRadiusLine(n,t,e,i){const{ctx:r}=n;if(e)r.arc(n.xCenter,n.yCenter,t,0,TAU);else{let a=n.getPointPosition(0,t);r.moveTo(a.x,a.y);for(let o=1;o{const r=callback(this.options.pointLabels.callback,[e,i],this);return r||r===0?r:""}).filter((e,i)=>this.chart.getDataVisibility(i))}fit(){const t=this.options;t.display&&t.pointLabels.display?fitWithPointLabels(this):this.setCenterPoint(0,0,0,0)}setCenterPoint(t,e,i,r){this.xCenter+=Math.floor((t-e)/2),this.yCenter+=Math.floor((i-r)/2),this.drawingArea-=Math.min(this.drawingArea/2,Math.max(t,e,i,r))}getIndexAngle(t){const e=TAU/(this._pointLabels.length||1),i=this.options.startAngle||0;return _normalizeAngle(t*e+toRadians(i))}getDistanceFromCenterForValue(t){if(isNullOrUndef(t))return NaN;const e=this.drawingArea/(this.max-this.min);return this.options.reverse?(this.max-t)*e:(t-this.min)*e}getValueForDistanceFromCenter(t){if(isNullOrUndef(t))return NaN;const e=t/(this.drawingArea/(this.max-this.min));return this.options.reverse?this.max-e:this.min+e}getPointLabelContext(t){const e=this._pointLabels||[];if(t>=0&&t{if(p!==0){u=this.getDistanceFromCenterForValue(m.value);const _=this.getContext(p),y=r.setContext(_),w=a.setContext(_);drawRadiusLine(this,y,u,o,w)}}),i.display){for(t.save(),l=o-1;l>=0;l--){const m=i.setContext(this.getPointLabelContext(l)),{color:p,lineWidth:_}=m;!_||!p||(t.lineWidth=_,t.strokeStyle=p,t.setLineDash(m.borderDash),t.lineDashOffset=m.borderDashOffset,u=this.getDistanceFromCenterForValue(e.ticks.reverse?this.min:this.max),d=this.getPointPosition(l,u),t.beginPath(),t.moveTo(this.xCenter,this.yCenter),t.lineTo(d.x,d.y),t.stroke())}t.restore()}}drawBorder(){}drawLabels(){const t=this.ctx,e=this.options,i=e.ticks;if(!i.display)return;const r=this.getIndexAngle(0);let a,o;t.save(),t.translate(this.xCenter,this.yCenter),t.rotate(r),t.textAlign="center",t.textBaseline="middle",this.ticks.forEach((l,u)=>{if(u===0&&!e.reverse)return;const d=i.setContext(this.getContext(u)),m=toFont(d.font);if(a=this.getDistanceFromCenterForValue(this.ticks[u].value),d.showLabelBackdrop){t.font=m.string,o=t.measureText(l.label).width,t.fillStyle=d.backdropColor;const p=toPadding(d.backdropPadding);t.fillRect(-o/2-p.left,-a-m.size/2-p.top,o+p.width,m.size+p.height)}renderText(t,l.label,0,-a,m,{color:d.color,strokeColor:d.textStrokeColor,strokeWidth:d.textStrokeWidth})}),t.restore()}drawTitle(){}}F(RadialLinearScale,"id","radialLinear"),F(RadialLinearScale,"defaults",{display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,lineWidth:1,borderDash:[],borderDashOffset:0},grid:{circular:!1},startAngle:0,ticks:{showLabelBackdrop:!0,callback:Ticks.formatters.numeric},pointLabels:{backdropColor:void 0,backdropPadding:2,display:!0,font:{size:10},callback(t){return t},padding:5,centerPointLabels:!1}}),F(RadialLinearScale,"defaultRoutes",{"angleLines.color":"borderColor","pointLabels.color":"color","ticks.color":"color"}),F(RadialLinearScale,"descriptors",{angleLines:{_fallback:"grid"}});const INTERVALS={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},UNITS=Object.keys(INTERVALS);function sorter(n,t){return n-t}function parse(n,t){if(isNullOrUndef(t))return null;const e=n._adapter,{parser:i,round:r,isoWeekday:a}=n._parseOpts;let o=t;return typeof i=="function"&&(o=i(o)),isNumberFinite(o)||(o=typeof i=="string"?e.parse(o,i):e.parse(o)),o===null?null:(r&&(o=r==="week"&&(isNumber(a)||a===!0)?e.startOf(o,"isoWeek",a):e.startOf(o,r)),+o)}function determineUnitForAutoTicks(n,t,e,i){const r=UNITS.length;for(let a=UNITS.indexOf(n);a=UNITS.indexOf(e);a--){const o=UNITS[a];if(INTERVALS[o].common&&n._adapter.diff(r,i,o)>=t-1)return o}return UNITS[e?UNITS.indexOf(e):0]}function determineMajorUnit(n){for(let t=UNITS.indexOf(n)+1,e=UNITS.length;t=t?e[i]:e[r];n[a]=!0}}function setMajorTicks(n,t,e,i){const r=n._adapter,a=+r.startOf(t[0].value,i),o=t[t.length-1].value;let l,u;for(l=a;l<=o;l=+r.add(l,1,i))u=e[l],u>=0&&(t[u].major=!0);return t}function ticksFromTimestamps(n,t,e){const i=[],r={},a=t.length;let o,l;for(o=0;o+t.value))}initOffsets(t=[]){let e=0,i=0,r,a;this.options.offset&&t.length&&(r=this.getDecimalForValue(t[0]),t.length===1?e=1-r:e=(this.getDecimalForValue(t[1])-r)/2,a=this.getDecimalForValue(t[t.length-1]),t.length===1?i=a:i=(a-this.getDecimalForValue(t[t.length-2]))/2);const o=t.length<3?.5:.25;e=_limitValue(e,0,o),i=_limitValue(i,0,o),this._offsets={start:e,end:i,factor:1/(e+1+i)}}_generate(){const t=this._adapter,e=this.min,i=this.max,r=this.options,a=r.time,o=a.unit||determineUnitForAutoTicks(a.minUnit,e,i,this._getLabelCapacity(e)),l=valueOrDefault(r.ticks.stepSize,1),u=o==="week"?a.isoWeekday:!1,d=isNumber(u)||u===!0,m={};let p=e,_,y;if(d&&(p=+t.startOf(p,"isoWeek",u)),p=+t.startOf(p,d?"day":o),t.diff(i,e,o)>1e5*l)throw new Error(e+" and "+i+" are too far apart with stepSize of "+l+" "+o);const w=r.ticks.source==="data"&&this.getDataTimestamps();for(_=p,y=0;_+v)}getLabelForValue(t){const e=this._adapter,i=this.options.time;return i.tooltipFormat?e.format(t,i.tooltipFormat):e.format(t,i.displayFormats.datetime)}format(t,e){const r=this.options.time.displayFormats,a=this._unit,o=e||r[a];return this._adapter.format(t,o)}_tickFormatFunction(t,e,i,r){const a=this.options,o=a.ticks.callback;if(o)return callback(o,[t,e,i],this);const l=a.time.displayFormats,u=this._unit,d=this._majorUnit,m=u&&l[u],p=d&&l[d],_=i[e],y=d&&p&&_&&_.major;return this._adapter.format(t,r||(y?p:m))}generateTickLabels(t){let e,i,r;for(e=0,i=t.length;e0?l:1}getDataTimestamps(){let t=this._cache.data||[],e,i;if(t.length)return t;const r=this.getMatchingVisibleMetas();if(this._normalized&&r.length)return this._cache.data=r[0].controller.getAllParsedValues(this);for(e=0,i=r.length;e=n[i].pos&&t<=n[r].pos&&({lo:i,hi:r}=_lookupByKey(n,"pos",t)),{pos:a,time:l}=n[i],{pos:o,time:u}=n[r]):(t>=n[i].time&&t<=n[r].time&&({lo:i,hi:r}=_lookupByKey(n,"time",t)),{time:a,pos:l}=n[i],{time:o,pos:u}=n[r]);const d=o-a;return d?l+(u-l)*(t-a)/d:l}class TimeSeriesScale extends TimeScale{constructor(t){super(t),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){const t=this._getTimestampsForTable(),e=this._table=this.buildLookupTable(t);this._minPos=interpolate(e,this.min),this._tableRange=interpolate(e,this.max)-this._minPos,super.initOffsets(t)}buildLookupTable(t){const{min:e,max:i}=this,r=[],a=[];let o,l,u,d,m;for(o=0,l=t.length;o=e&&d<=i&&r.push(d);if(r.length<2)return[{time:e,pos:0},{time:i,pos:1}];for(o=0,l=r.length;or-a)}_getTimestampsForTable(){let t=this._cache.all||[];if(t.length)return t;const e=this.getDataTimestamps(),i=this.getLabelTimestamps();return e.length&&i.length?t=this.normalize(e.concat(i)):t=e.length?e:i,t=this._cache.all=t,t}getDecimalForValue(t){return(interpolate(this._table,t)-this._minPos)/this._tableRange}getValueForPixel(t){const e=this._offsets,i=this.getDecimalForPixel(t)/e.factor-e.end;return interpolate(this._table,i*this._tableRange+this._minPos,!0)}}F(TimeSeriesScale,"id","timeseries"),F(TimeSeriesScale,"defaults",TimeScale.defaults);/*! +`):n}function createTooltipItem(n,t){const{element:e,datasetIndex:i,index:r}=t,a=n.getDatasetMeta(i).controller,{label:o,value:l}=a.getLabelAndValue(r);return{chart:n,label:o,parsed:a.getParsed(r),raw:n.data.datasets[i].data[r],formattedValue:l,dataset:a.getDataset(),dataIndex:r,datasetIndex:i,element:e}}function getTooltipSize(n,t){const e=n.chart.ctx,{body:i,footer:r,title:a}=n,{boxWidth:o,boxHeight:l}=t,u=toFont(t.bodyFont),d=toFont(t.titleFont),m=toFont(t.footerFont),p=a.length,_=r.length,y=i.length,w=toPadding(t.padding);let v=w.height,E=0,x=i.reduce((k,A)=>k+A.before.length+A.lines.length+A.after.length,0);if(x+=n.beforeBody.length+n.afterBody.length,p&&(v+=p*d.lineHeight+(p-1)*t.titleSpacing+t.titleMarginBottom),x){const k=t.displayColors?Math.max(l,u.lineHeight):u.lineHeight;v+=y*k+(x-y)*u.lineHeight+(x-1)*t.bodySpacing}_&&(v+=t.footerMarginTop+_*m.lineHeight+(_-1)*t.footerSpacing);let S=0;const M=function(k){E=Math.max(E,e.measureText(k).width+S)};return e.save(),e.font=d.string,each(n.title,M),e.font=u.string,each(n.beforeBody.concat(n.afterBody),M),S=t.displayColors?o+2+t.boxPadding:0,each(i,k=>{each(k.before,M),each(k.lines,M),each(k.after,M)}),S=0,e.font=m.string,each(n.footer,M),e.restore(),E+=w.width,{width:E,height:v}}function determineYAlign(n,t){const{y:e,height:i}=t;return en.height-i/2?"bottom":"center"}function doesNotFitWithAlign(n,t,e,i){const{x:r,width:a}=i,o=e.caretSize+e.caretPadding;if(n==="left"&&r+a+o>t.width||n==="right"&&r-a-o<0)return!0}function determineXAlign(n,t,e,i){const{x:r,width:a}=e,{width:o,chartArea:{left:l,right:u}}=n;let d="center";return i==="center"?d=r<=(l+u)/2?"left":"right":r<=a/2?d="left":r>=o-a/2&&(d="right"),doesNotFitWithAlign(d,n,t,e)&&(d="center"),d}function determineAlignment(n,t,e){const i=e.yAlign||t.yAlign||determineYAlign(n,e);return{xAlign:e.xAlign||t.xAlign||determineXAlign(n,t,e,i),yAlign:i}}function alignX(n,t){let{x:e,width:i}=n;return t==="right"?e-=i:t==="center"&&(e-=i/2),e}function alignY(n,t,e){let{y:i,height:r}=n;return t==="top"?i+=e:t==="bottom"?i-=r+e:i-=r/2,i}function getBackgroundPoint(n,t,e,i){const{caretSize:r,caretPadding:a,cornerRadius:o}=n,{xAlign:l,yAlign:u}=e,d=r+a,{topLeft:m,topRight:p,bottomLeft:_,bottomRight:y}=toTRBLCorners(o);let w=alignX(t,l);const v=alignY(t,u,d);return u==="center"?l==="left"?w+=d:l==="right"&&(w-=d):l==="left"?w-=Math.max(m,_)+r:l==="right"&&(w+=Math.max(p,y)+r),{x:_limitValue(w,0,i.width-t.width),y:_limitValue(v,0,i.height-t.height)}}function getAlignedX(n,t,e){const i=toPadding(e.padding);return t==="center"?n.x+n.width/2:t==="right"?n.x+n.width-i.right:n.x+i.left}function getBeforeAfterBodyLines(n){return pushOrConcat([],splitNewlines(n))}function createTooltipContext(n,t,e){return createContext(n,{tooltip:t,tooltipItems:e,type:"tooltip"})}function overrideCallbacks(n,t){const e=t&&t.dataset&&t.dataset.tooltip&&t.dataset.tooltip.callbacks;return e?n.override(e):n}const defaultCallbacks={beforeTitle:noop,title(n){if(n.length>0){const t=n[0],e=t.chart.data.labels,i=e?e.length:0;if(this&&this.options&&this.options.mode==="dataset")return t.dataset.label||"";if(t.label)return t.label;if(i>0&&t.dataIndex"u"?defaultCallbacks[t].call(e,i):r}class Tooltip extends Element$1{constructor(t){super(),this.opacity=0,this._active=[],this._eventPosition=void 0,this._size=void 0,this._cachedAnimations=void 0,this._tooltipItems=[],this.$animations=void 0,this.$context=void 0,this.chart=t.chart,this.options=t.options,this.dataPoints=void 0,this.title=void 0,this.beforeBody=void 0,this.body=void 0,this.afterBody=void 0,this.footer=void 0,this.xAlign=void 0,this.yAlign=void 0,this.x=void 0,this.y=void 0,this.height=void 0,this.width=void 0,this.caretX=void 0,this.caretY=void 0,this.labelColors=void 0,this.labelPointStyles=void 0,this.labelTextColors=void 0}initialize(t){this.options=t,this._cachedAnimations=void 0,this.$context=void 0}_resolveAnimations(){const t=this._cachedAnimations;if(t)return t;const e=this.chart,i=this.options.setContext(this.getContext()),r=i.enabled&&e.options.animation&&i.animations,a=new Animations(this.chart,r);return r._cacheable&&(this._cachedAnimations=Object.freeze(a)),a}getContext(){return this.$context||(this.$context=createTooltipContext(this.chart.getContext(),this,this._tooltipItems))}getTitle(t,e){const{callbacks:i}=e,r=invokeCallbackWithFallback(i,"beforeTitle",this,t),a=invokeCallbackWithFallback(i,"title",this,t),o=invokeCallbackWithFallback(i,"afterTitle",this,t);let l=[];return l=pushOrConcat(l,splitNewlines(r)),l=pushOrConcat(l,splitNewlines(a)),l=pushOrConcat(l,splitNewlines(o)),l}getBeforeBody(t,e){return getBeforeAfterBodyLines(invokeCallbackWithFallback(e.callbacks,"beforeBody",this,t))}getBody(t,e){const{callbacks:i}=e,r=[];return each(t,a=>{const o={before:[],lines:[],after:[]},l=overrideCallbacks(i,a);pushOrConcat(o.before,splitNewlines(invokeCallbackWithFallback(l,"beforeLabel",this,a))),pushOrConcat(o.lines,invokeCallbackWithFallback(l,"label",this,a)),pushOrConcat(o.after,splitNewlines(invokeCallbackWithFallback(l,"afterLabel",this,a))),r.push(o)}),r}getAfterBody(t,e){return getBeforeAfterBodyLines(invokeCallbackWithFallback(e.callbacks,"afterBody",this,t))}getFooter(t,e){const{callbacks:i}=e,r=invokeCallbackWithFallback(i,"beforeFooter",this,t),a=invokeCallbackWithFallback(i,"footer",this,t),o=invokeCallbackWithFallback(i,"afterFooter",this,t);let l=[];return l=pushOrConcat(l,splitNewlines(r)),l=pushOrConcat(l,splitNewlines(a)),l=pushOrConcat(l,splitNewlines(o)),l}_createItems(t){const e=this._active,i=this.chart.data,r=[],a=[],o=[];let l=[],u,d;for(u=0,d=e.length;ut.filter(m,p,_,i))),t.itemSort&&(l=l.sort((m,p)=>t.itemSort(m,p,i))),each(l,m=>{const p=overrideCallbacks(t.callbacks,m);r.push(invokeCallbackWithFallback(p,"labelColor",this,m)),a.push(invokeCallbackWithFallback(p,"labelPointStyle",this,m)),o.push(invokeCallbackWithFallback(p,"labelTextColor",this,m))}),this.labelColors=r,this.labelPointStyles=a,this.labelTextColors=o,this.dataPoints=l,l}update(t,e){const i=this.options.setContext(this.getContext()),r=this._active;let a,o=[];if(!r.length)this.opacity!==0&&(a={opacity:0});else{const l=positioners[i.position].call(this,r,this._eventPosition);o=this._createItems(i),this.title=this.getTitle(o,i),this.beforeBody=this.getBeforeBody(o,i),this.body=this.getBody(o,i),this.afterBody=this.getAfterBody(o,i),this.footer=this.getFooter(o,i);const u=this._size=getTooltipSize(this,i),d=Object.assign({},l,u),m=determineAlignment(this.chart,i,d),p=getBackgroundPoint(i,d,m,this.chart);this.xAlign=m.xAlign,this.yAlign=m.yAlign,a={opacity:1,x:p.x,y:p.y,width:u.width,height:u.height,caretX:l.x,caretY:l.y}}this._tooltipItems=o,this.$context=void 0,a&&this._resolveAnimations().update(this,a),t&&i.external&&i.external.call(this,{chart:this.chart,tooltip:this,replay:e})}drawCaret(t,e,i,r){const a=this.getCaretPosition(t,i,r);e.lineTo(a.x1,a.y1),e.lineTo(a.x2,a.y2),e.lineTo(a.x3,a.y3)}getCaretPosition(t,e,i){const{xAlign:r,yAlign:a}=this,{caretSize:o,cornerRadius:l}=i,{topLeft:u,topRight:d,bottomLeft:m,bottomRight:p}=toTRBLCorners(l),{x:_,y}=t,{width:w,height:v}=e;let E,x,S,M,k,A;return a==="center"?(k=y+v/2,r==="left"?(E=_,x=E-o,M=k+o,A=k-o):(E=_+w,x=E+o,M=k-o,A=k+o),S=E):(r==="left"?x=_+Math.max(u,m)+o:r==="right"?x=_+w-Math.max(d,p)-o:x=this.caretX,a==="top"?(M=y,k=M-o,E=x-o,S=x+o):(M=y+v,k=M+o,E=x+o,S=x-o),A=M),{x1:E,x2:x,x3:S,y1:M,y2:k,y3:A}}drawTitle(t,e,i){const r=this.title,a=r.length;let o,l,u;if(a){const d=getRtlAdapter(i.rtl,this.x,this.width);for(t.x=getAlignedX(this,i.titleAlign,i),e.textAlign=d.textAlign(i.titleAlign),e.textBaseline="middle",o=toFont(i.titleFont),l=i.titleSpacing,e.fillStyle=i.titleColor,e.font=o.string,u=0;uS!==0)?(t.beginPath(),t.fillStyle=a.multiKeyBackground,addRoundedRectPath(t,{x:v,y:w,w:d,h:u,radius:x}),t.fill(),t.stroke(),t.fillStyle=o.backgroundColor,t.beginPath(),addRoundedRectPath(t,{x:E,y:w+1,w:d-2,h:u-2,radius:x}),t.fill()):(t.fillStyle=a.multiKeyBackground,t.fillRect(v,w,d,u),t.strokeRect(v,w,d,u),t.fillStyle=o.backgroundColor,t.fillRect(E,w+1,d-2,u-2))}t.fillStyle=this.labelTextColors[i]}drawBody(t,e,i){const{body:r}=this,{bodySpacing:a,bodyAlign:o,displayColors:l,boxHeight:u,boxWidth:d,boxPadding:m}=i,p=toFont(i.bodyFont);let _=p.lineHeight,y=0;const w=getRtlAdapter(i.rtl,this.x,this.width),v=function(R){e.fillText(R,w.x(t.x+y),t.y+_/2),t.y+=_+a},E=w.textAlign(o);let x,S,M,k,A,I,C;for(e.textAlign=o,e.textBaseline="middle",e.font=p.string,t.x=getAlignedX(this,E,i),e.fillStyle=i.bodyColor,each(this.beforeBody,v),y=l&&E!=="right"?o==="center"?d/2+m:d+2+m:0,k=0,I=r.length;k0&&e.stroke()}_updateAnimationTarget(t){const e=this.chart,i=this.$animations,r=i&&i.x,a=i&&i.y;if(r||a){const o=positioners[t.position].call(this,this._active,this._eventPosition);if(!o)return;const l=this._size=getTooltipSize(this,t),u=Object.assign({},o,this._size),d=determineAlignment(e,t,u),m=getBackgroundPoint(t,u,d,e);(r._to!==m.x||a._to!==m.y)&&(this.xAlign=d.xAlign,this.yAlign=d.yAlign,this.width=l.width,this.height=l.height,this.caretX=o.x,this.caretY=o.y,this._resolveAnimations().update(this,m))}}_willRender(){return!!this.opacity}draw(t){const e=this.options.setContext(this.getContext());let i=this.opacity;if(!i)return;this._updateAnimationTarget(e);const r={width:this.width,height:this.height},a={x:this.x,y:this.y};i=Math.abs(i)<.001?0:i;const o=toPadding(e.padding),l=this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length;e.enabled&&l&&(t.save(),t.globalAlpha=i,this.drawBackground(a,t,r,e),overrideTextDirection(t,e.textDirection),a.y+=o.top,this.drawTitle(a,t,e),this.drawBody(a,t,e),this.drawFooter(a,t,e),restoreTextDirection(t,e.textDirection),t.restore())}getActiveElements(){return this._active||[]}setActiveElements(t,e){const i=this._active,r=t.map(({datasetIndex:l,index:u})=>{const d=this.chart.getDatasetMeta(l);if(!d)throw new Error("Cannot find a dataset at index "+l);return{datasetIndex:l,element:d.data[u],index:u}}),a=!_elementsEqual(i,r),o=this._positionChanged(r,e);(a||o)&&(this._active=r,this._eventPosition=e,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(t,e,i=!0){if(e&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;const r=this.options,a=this._active||[],o=this._getActiveElements(t,a,e,i),l=this._positionChanged(o,t),u=e||!_elementsEqual(o,a)||l;return u&&(this._active=o,(r.enabled||r.external)&&(this._eventPosition={x:t.x,y:t.y},this.update(!0,e))),u}_getActiveElements(t,e,i,r){const a=this.options;if(t.type==="mouseout")return[];if(!r)return e.filter(l=>this.chart.data.datasets[l.datasetIndex]&&this.chart.getDatasetMeta(l.datasetIndex).controller.getParsed(l.index)!==void 0);const o=this.chart.getElementsAtEventForMode(t,a.mode,a,i);return a.reverse&&o.reverse(),o}_positionChanged(t,e){const{caretX:i,caretY:r,options:a}=this,o=positioners[a.position].call(this,t,e);return o!==!1&&(i!==o.x||r!==o.y)}}F(Tooltip,"positioners",positioners);var plugin_tooltip={id:"tooltip",_element:Tooltip,positioners,afterInit(n,t,e){e&&(n.tooltip=new Tooltip({chart:n,options:e}))},beforeUpdate(n,t,e){n.tooltip&&n.tooltip.initialize(e)},reset(n,t,e){n.tooltip&&n.tooltip.initialize(e)},afterDraw(n){const t=n.tooltip;if(t&&t._willRender()){const e={tooltip:t};if(n.notifyPlugins("beforeTooltipDraw",{...e,cancelable:!0})===!1)return;t.draw(n.ctx),n.notifyPlugins("afterTooltipDraw",e)}},afterEvent(n,t){if(n.tooltip){const e=t.replay;n.tooltip.handleEvent(t.event,e,t.inChartArea)&&(t.changed=!0)}},defaults:{enabled:!0,external:null,position:"average",backgroundColor:"rgba(0,0,0,0.8)",titleColor:"#fff",titleFont:{weight:"bold"},titleSpacing:2,titleMarginBottom:6,titleAlign:"left",bodyColor:"#fff",bodySpacing:2,bodyFont:{},bodyAlign:"left",footerColor:"#fff",footerSpacing:2,footerMarginTop:6,footerFont:{weight:"bold"},footerAlign:"left",padding:6,caretPadding:2,caretSize:5,cornerRadius:6,boxHeight:(n,t)=>t.bodyFont.size,boxWidth:(n,t)=>t.bodyFont.size,multiKeyBackground:"#fff",displayColors:!0,boxPadding:0,borderColor:"rgba(0,0,0,0)",borderWidth:0,animation:{duration:400,easing:"easeOutQuart"},animations:{numbers:{type:"number",properties:["x","y","width","height","caretX","caretY"]},opacity:{easing:"linear",duration:200}},callbacks:defaultCallbacks},defaultRoutes:{bodyFont:"font",footerFont:"font",titleFont:"font"},descriptors:{_scriptable:n=>n!=="filter"&&n!=="itemSort"&&n!=="external",_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:"animation"}},additionalOptionScopes:["interaction"]};const addIfString=(n,t,e,i)=>(typeof t=="string"?(e=n.push(t)-1,i.unshift({index:e,label:t})):isNaN(t)&&(e=null),e);function findOrAddLabel(n,t,e,i){const r=n.indexOf(t);if(r===-1)return addIfString(n,t,e,i);const a=n.lastIndexOf(t);return r!==a?e:r}const validIndex=(n,t)=>n===null?null:_limitValue(Math.round(n),0,t);function _getLabelForValue(n){const t=this.getLabels();return n>=0&&ne.length-1?null:this.getPixelForValue(e[t].value)}getValueForPixel(t){return Math.round(this._startValue+this.getDecimalForPixel(t)*this._valueRange)}getBasePixel(){return this.bottom}}F(CategoryScale,"id","category"),F(CategoryScale,"defaults",{ticks:{callback:_getLabelForValue}});function generateTicks$1(n,t){const e=[],{bounds:r,step:a,min:o,max:l,precision:u,count:d,maxTicks:m,maxDigits:p,includeBounds:_}=n,y=a||1,w=m-1,{min:v,max:E}=t,x=!isNullOrUndef(o),S=!isNullOrUndef(l),M=!isNullOrUndef(d),k=(E-v)/(p+1);let A=niceNum((E-v)/w/y)*y,I,C,R,W;if(A<1e-14&&!x&&!S)return[{value:v},{value:E}];W=Math.ceil(E/A)-Math.floor(v/A),W>w&&(A=niceNum(W*A/w/y)*y),isNullOrUndef(u)||(I=Math.pow(10,u),A=Math.ceil(A*I)/I),r==="ticks"?(C=Math.floor(v/A)*A,R=Math.ceil(E/A)*A):(C=v,R=E),x&&S&&a&&almostWhole((l-o)/a,A/1e3)?(W=Math.round(Math.min((l-o)/A,m)),A=(l-o)/W,C=o,R=l):M?(C=x?o:C,R=S?l:R,W=d-1,A=(R-C)/W):(W=(R-C)/A,almostEquals(W,Math.round(W),A/1e3)?W=Math.round(W):W=Math.ceil(W));const K=Math.max(_decimalPlaces(A),_decimalPlaces(C));I=Math.pow(10,isNullOrUndef(u)?K:u),C=Math.round(C*I)/I,R=Math.round(R*I)/I;let Y=0;for(x&&(_&&C!==o?(e.push({value:o}),Cl)break;e.push({value:q})}return S&&_&&R!==l?e.length&&almostEquals(e[e.length-1].value,l,relativeLabelSize(l,k,n))?e[e.length-1].value=l:e.push({value:l}):(!S||R===l)&&e.push({value:R}),e}function relativeLabelSize(n,t,{horizontal:e,minRotation:i}){const r=toRadians(i),a=(e?Math.sin(r):Math.cos(r))||.001,o=.75*t*(""+n).length;return Math.min(t/a,o)}class LinearScaleBase extends Scale{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._endValue=void 0,this._valueRange=0}parse(t,e){return isNullOrUndef(t)||(typeof t=="number"||t instanceof Number)&&!isFinite(+t)?null:+t}handleTickRangeOptions(){const{beginAtZero:t}=this.options,{minDefined:e,maxDefined:i}=this.getUserBounds();let{min:r,max:a}=this;const o=u=>r=e?r:u,l=u=>a=i?a:u;if(t){const u=sign(r),d=sign(a);u<0&&d<0?l(0):u>0&&d>0&&o(0)}if(r===a){let u=a===0?1:Math.abs(a*.05);l(a+u),t||o(r-u)}this.min=r,this.max=a}getTickLimit(){const t=this.options.ticks;let{maxTicksLimit:e,stepSize:i}=t,r;return i?(r=Math.ceil(this.max/i)-Math.floor(this.min/i)+1,r>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${i} would result generating up to ${r} ticks. Limiting to 1000.`),r=1e3)):(r=this.computeTickLimit(),e=e||11),e&&(r=Math.min(e,r)),r}computeTickLimit(){return Number.POSITIVE_INFINITY}buildTicks(){const t=this.options,e=t.ticks;let i=this.getTickLimit();i=Math.max(2,i);const r={maxTicks:i,bounds:t.bounds,min:t.min,max:t.max,precision:e.precision,step:e.stepSize,count:e.count,maxDigits:this._maxDigits(),horizontal:this.isHorizontal(),minRotation:e.minRotation||0,includeBounds:e.includeBounds!==!1},a=this._range||this,o=generateTicks$1(r,a);return t.bounds==="ticks"&&_setMinAndMaxByKey(o,this,"value"),t.reverse?(o.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),o}configure(){const t=this.ticks;let e=this.min,i=this.max;if(super.configure(),this.options.offset&&t.length){const r=(i-e)/Math.max(t.length-1,1)/2;e-=r,i+=r}this._startValue=e,this._endValue=i,this._valueRange=i-e}getLabelForValue(t){return formatNumber(t,this.chart.options.locale,this.options.ticks.format)}}class LinearScale extends LinearScaleBase{determineDataLimits(){const{min:t,max:e}=this.getMinMax(!0);this.min=isNumberFinite(t)?t:0,this.max=isNumberFinite(e)?e:1,this.handleTickRangeOptions()}computeTickLimit(){const t=this.isHorizontal(),e=t?this.width:this.height,i=toRadians(this.options.ticks.minRotation),r=(t?Math.sin(i):Math.cos(i))||.001,a=this._resolveTickFontOptions(0);return Math.ceil(e/Math.min(40,a.lineHeight/r))}getPixelForValue(t){return t===null?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getValueForPixel(t){return this._startValue+this.getDecimalForPixel(t)*this._valueRange}}F(LinearScale,"id","linear"),F(LinearScale,"defaults",{ticks:{callback:Ticks.formatters.numeric}});const log10Floor=n=>Math.floor(log10(n)),changeExponent=(n,t)=>Math.pow(10,log10Floor(n)+t);function isMajor(n){return n/Math.pow(10,log10Floor(n))===1}function steps(n,t,e){const i=Math.pow(10,e),r=Math.floor(n/i);return Math.ceil(t/i)-r}function startExp(n,t){const e=t-n;let i=log10Floor(e);for(;steps(n,t,i)>10;)i++;for(;steps(n,t,i)<10;)i--;return Math.min(i,log10Floor(n))}function generateTicks(n,{min:t,max:e}){t=finiteOrDefault(n.min,t);const i=[],r=log10Floor(t);let a=startExp(t,e),o=a<0?Math.pow(10,Math.abs(a)):1;const l=Math.pow(10,a),u=r>a?Math.pow(10,r):0,d=Math.round((t-u)*o)/o,m=Math.floor((t-u)/l/10)*l*10;let p=Math.floor((d-m)/Math.pow(10,a)),_=finiteOrDefault(n.min,Math.round((u+m+p*Math.pow(10,a))*o)/o);for(;_=10?p=p<15?15:20:p++,p>=20&&(a++,p=2,o=a>=0?1:o),_=Math.round((u+m+p*Math.pow(10,a))*o)/o;const y=finiteOrDefault(n.max,_);return i.push({value:y,major:isMajor(y),significand:p}),i}class LogarithmicScale extends Scale{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._valueRange=0}parse(t,e){const i=LinearScaleBase.prototype.parse.apply(this,[t,e]);if(i===0){this._zero=!0;return}return isNumberFinite(i)&&i>0?i:null}determineDataLimits(){const{min:t,max:e}=this.getMinMax(!0);this.min=isNumberFinite(t)?Math.max(0,t):null,this.max=isNumberFinite(e)?Math.max(0,e):null,this.options.beginAtZero&&(this._zero=!0),this._zero&&this.min!==this._suggestedMin&&!isNumberFinite(this._userMin)&&(this.min=t===changeExponent(this.min,0)?changeExponent(this.min,-1):changeExponent(this.min,0)),this.handleTickRangeOptions()}handleTickRangeOptions(){const{minDefined:t,maxDefined:e}=this.getUserBounds();let i=this.min,r=this.max;const a=l=>i=t?i:l,o=l=>r=e?r:l;i===r&&(i<=0?(a(1),o(10)):(a(changeExponent(i,-1)),o(changeExponent(r,1)))),i<=0&&a(changeExponent(r,-1)),r<=0&&o(changeExponent(i,1)),this.min=i,this.max=r}buildTicks(){const t=this.options,e={min:this._userMin,max:this._userMax},i=generateTicks(e,this);return t.bounds==="ticks"&&_setMinAndMaxByKey(i,this,"value"),t.reverse?(i.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),i}getLabelForValue(t){return t===void 0?"0":formatNumber(t,this.chart.options.locale,this.options.ticks.format)}configure(){const t=this.min;super.configure(),this._startValue=log10(t),this._valueRange=log10(this.max)-log10(t)}getPixelForValue(t){return(t===void 0||t===0)&&(t=this.min),t===null||isNaN(t)?NaN:this.getPixelForDecimal(t===this.min?0:(log10(t)-this._startValue)/this._valueRange)}getValueForPixel(t){const e=this.getDecimalForPixel(t);return Math.pow(10,this._startValue+e*this._valueRange)}}F(LogarithmicScale,"id","logarithmic"),F(LogarithmicScale,"defaults",{ticks:{callback:Ticks.formatters.logarithmic,major:{enabled:!0}}});function getTickBackdropHeight(n){const t=n.ticks;if(t.display&&n.display){const e=toPadding(t.backdropPadding);return valueOrDefault(t.font&&t.font.size,defaults.font.size)+e.height}return 0}function measureLabelSize(n,t,e){return e=isArray(e)?e:[e],{w:_longestText(n,t.string,e),h:e.length*t.lineHeight}}function determineLimits(n,t,e,i,r){return n===i||n===r?{start:t-e/2,end:t+e/2}:nr?{start:t-e,end:t}:{start:t,end:t+e}}function fitWithPointLabels(n){const t={l:n.left+n._padding.left,r:n.right-n._padding.right,t:n.top+n._padding.top,b:n.bottom-n._padding.bottom},e=Object.assign({},t),i=[],r=[],a=n._pointLabels.length,o=n.options.pointLabels,l=o.centerPointLabels?PI/a:0;for(let u=0;ut.r&&(l=(i.end-t.r)/a,n.r=Math.max(n.r,t.r+l)),r.startt.b&&(u=(r.end-t.b)/o,n.b=Math.max(n.b,t.b+u))}function createPointLabelItem(n,t,e){const i=n.drawingArea,{extra:r,additionalAngle:a,padding:o,size:l}=e,u=n.getPointPosition(t,i+r+o,a),d=Math.round(toDegrees(_normalizeAngle(u.angle+HALF_PI))),m=yForAngle(u.y,l.h,d),p=getTextAlignForAngle(d),_=leftForTextAlign(u.x,l.w,p);return{visible:!0,x:u.x,y:m,textAlign:p,left:_,top:m,right:_+l.w,bottom:m+l.h}}function isNotOverlapped(n,t){if(!t)return!0;const{left:e,top:i,right:r,bottom:a}=n;return!(_isPointInArea({x:e,y:i},t)||_isPointInArea({x:e,y:a},t)||_isPointInArea({x:r,y:i},t)||_isPointInArea({x:r,y:a},t))}function buildPointLabelItems(n,t,e){const i=[],r=n._pointLabels.length,a=n.options,{centerPointLabels:o,display:l}=a.pointLabels,u={extra:getTickBackdropHeight(a)/2,additionalAngle:o?PI/r:0};let d;for(let m=0;m270||e<90)&&(n-=t),n}function drawPointLabelBox(n,t,e){const{left:i,top:r,right:a,bottom:o}=e,{backdropColor:l}=t;if(!isNullOrUndef(l)){const u=toTRBLCorners(t.borderRadius),d=toPadding(t.backdropPadding);n.fillStyle=l;const m=i-d.left,p=r-d.top,_=a-i+d.width,y=o-r+d.height;Object.values(u).some(w=>w!==0)?(n.beginPath(),addRoundedRectPath(n,{x:m,y:p,w:_,h:y,radius:u}),n.fill()):n.fillRect(m,p,_,y)}}function drawPointLabels(n,t){const{ctx:e,options:{pointLabels:i}}=n;for(let r=t-1;r>=0;r--){const a=n._pointLabelItems[r];if(!a.visible)continue;const o=i.setContext(n.getPointLabelContext(r));drawPointLabelBox(e,o,a);const l=toFont(o.font),{x:u,y:d,textAlign:m}=a;renderText(e,n._pointLabels[r],u,d+l.lineHeight/2,l,{color:o.color,textAlign:m,textBaseline:"middle"})}}function pathRadiusLine(n,t,e,i){const{ctx:r}=n;if(e)r.arc(n.xCenter,n.yCenter,t,0,TAU);else{let a=n.getPointPosition(0,t);r.moveTo(a.x,a.y);for(let o=1;o{const r=callback(this.options.pointLabels.callback,[e,i],this);return r||r===0?r:""}).filter((e,i)=>this.chart.getDataVisibility(i))}fit(){const t=this.options;t.display&&t.pointLabels.display?fitWithPointLabels(this):this.setCenterPoint(0,0,0,0)}setCenterPoint(t,e,i,r){this.xCenter+=Math.floor((t-e)/2),this.yCenter+=Math.floor((i-r)/2),this.drawingArea-=Math.min(this.drawingArea/2,Math.max(t,e,i,r))}getIndexAngle(t){const e=TAU/(this._pointLabels.length||1),i=this.options.startAngle||0;return _normalizeAngle(t*e+toRadians(i))}getDistanceFromCenterForValue(t){if(isNullOrUndef(t))return NaN;const e=this.drawingArea/(this.max-this.min);return this.options.reverse?(this.max-t)*e:(t-this.min)*e}getValueForDistanceFromCenter(t){if(isNullOrUndef(t))return NaN;const e=t/(this.drawingArea/(this.max-this.min));return this.options.reverse?this.max-e:this.min+e}getPointLabelContext(t){const e=this._pointLabels||[];if(t>=0&&t{if(p!==0){u=this.getDistanceFromCenterForValue(m.value);const _=this.getContext(p),y=r.setContext(_),w=a.setContext(_);drawRadiusLine(this,y,u,o,w)}}),i.display){for(t.save(),l=o-1;l>=0;l--){const m=i.setContext(this.getPointLabelContext(l)),{color:p,lineWidth:_}=m;!_||!p||(t.lineWidth=_,t.strokeStyle=p,t.setLineDash(m.borderDash),t.lineDashOffset=m.borderDashOffset,u=this.getDistanceFromCenterForValue(e.ticks.reverse?this.min:this.max),d=this.getPointPosition(l,u),t.beginPath(),t.moveTo(this.xCenter,this.yCenter),t.lineTo(d.x,d.y),t.stroke())}t.restore()}}drawBorder(){}drawLabels(){const t=this.ctx,e=this.options,i=e.ticks;if(!i.display)return;const r=this.getIndexAngle(0);let a,o;t.save(),t.translate(this.xCenter,this.yCenter),t.rotate(r),t.textAlign="center",t.textBaseline="middle",this.ticks.forEach((l,u)=>{if(u===0&&!e.reverse)return;const d=i.setContext(this.getContext(u)),m=toFont(d.font);if(a=this.getDistanceFromCenterForValue(this.ticks[u].value),d.showLabelBackdrop){t.font=m.string,o=t.measureText(l.label).width,t.fillStyle=d.backdropColor;const p=toPadding(d.backdropPadding);t.fillRect(-o/2-p.left,-a-m.size/2-p.top,o+p.width,m.size+p.height)}renderText(t,l.label,0,-a,m,{color:d.color,strokeColor:d.textStrokeColor,strokeWidth:d.textStrokeWidth})}),t.restore()}drawTitle(){}}F(RadialLinearScale,"id","radialLinear"),F(RadialLinearScale,"defaults",{display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,lineWidth:1,borderDash:[],borderDashOffset:0},grid:{circular:!1},startAngle:0,ticks:{showLabelBackdrop:!0,callback:Ticks.formatters.numeric},pointLabels:{backdropColor:void 0,backdropPadding:2,display:!0,font:{size:10},callback(t){return t},padding:5,centerPointLabels:!1}}),F(RadialLinearScale,"defaultRoutes",{"angleLines.color":"borderColor","pointLabels.color":"color","ticks.color":"color"}),F(RadialLinearScale,"descriptors",{angleLines:{_fallback:"grid"}});const INTERVALS={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},UNITS=Object.keys(INTERVALS);function sorter(n,t){return n-t}function parse(n,t){if(isNullOrUndef(t))return null;const e=n._adapter,{parser:i,round:r,isoWeekday:a}=n._parseOpts;let o=t;return typeof i=="function"&&(o=i(o)),isNumberFinite(o)||(o=typeof i=="string"?e.parse(o,i):e.parse(o)),o===null?null:(r&&(o=r==="week"&&(isNumber(a)||a===!0)?e.startOf(o,"isoWeek",a):e.startOf(o,r)),+o)}function determineUnitForAutoTicks(n,t,e,i){const r=UNITS.length;for(let a=UNITS.indexOf(n);a=UNITS.indexOf(e);a--){const o=UNITS[a];if(INTERVALS[o].common&&n._adapter.diff(r,i,o)>=t-1)return o}return UNITS[e?UNITS.indexOf(e):0]}function determineMajorUnit(n){for(let t=UNITS.indexOf(n)+1,e=UNITS.length;t=t?e[i]:e[r];n[a]=!0}}function setMajorTicks(n,t,e,i){const r=n._adapter,a=+r.startOf(t[0].value,i),o=t[t.length-1].value;let l,u;for(l=a;l<=o;l=+r.add(l,1,i))u=e[l],u>=0&&(t[u].major=!0);return t}function ticksFromTimestamps(n,t,e){const i=[],r={},a=t.length;let o,l;for(o=0;o+t.value))}initOffsets(t=[]){let e=0,i=0,r,a;this.options.offset&&t.length&&(r=this.getDecimalForValue(t[0]),t.length===1?e=1-r:e=(this.getDecimalForValue(t[1])-r)/2,a=this.getDecimalForValue(t[t.length-1]),t.length===1?i=a:i=(a-this.getDecimalForValue(t[t.length-2]))/2);const o=t.length<3?.5:.25;e=_limitValue(e,0,o),i=_limitValue(i,0,o),this._offsets={start:e,end:i,factor:1/(e+1+i)}}_generate(){const t=this._adapter,e=this.min,i=this.max,r=this.options,a=r.time,o=a.unit||determineUnitForAutoTicks(a.minUnit,e,i,this._getLabelCapacity(e)),l=valueOrDefault(r.ticks.stepSize,1),u=o==="week"?a.isoWeekday:!1,d=isNumber(u)||u===!0,m={};let p=e,_,y;if(d&&(p=+t.startOf(p,"isoWeek",u)),p=+t.startOf(p,d?"day":o),t.diff(i,e,o)>1e5*l)throw new Error(e+" and "+i+" are too far apart with stepSize of "+l+" "+o);const w=r.ticks.source==="data"&&this.getDataTimestamps();for(_=p,y=0;_+v)}getLabelForValue(t){const e=this._adapter,i=this.options.time;return i.tooltipFormat?e.format(t,i.tooltipFormat):e.format(t,i.displayFormats.datetime)}format(t,e){const r=this.options.time.displayFormats,a=this._unit,o=e||r[a];return this._adapter.format(t,o)}_tickFormatFunction(t,e,i,r){const a=this.options,o=a.ticks.callback;if(o)return callback(o,[t,e,i],this);const l=a.time.displayFormats,u=this._unit,d=this._majorUnit,m=u&&l[u],p=d&&l[d],_=i[e],y=d&&p&&_&&_.major;return this._adapter.format(t,r||(y?p:m))}generateTickLabels(t){let e,i,r;for(e=0,i=t.length;e0?l:1}getDataTimestamps(){let t=this._cache.data||[],e,i;if(t.length)return t;const r=this.getMatchingVisibleMetas();if(this._normalized&&r.length)return this._cache.data=r[0].controller.getAllParsedValues(this);for(e=0,i=r.length;e=n[i].pos&&t<=n[r].pos&&({lo:i,hi:r}=_lookupByKey(n,"pos",t)),{pos:a,time:l}=n[i],{pos:o,time:u}=n[r]):(t>=n[i].time&&t<=n[r].time&&({lo:i,hi:r}=_lookupByKey(n,"time",t)),{time:a,pos:l}=n[i],{time:o,pos:u}=n[r]);const d=o-a;return d?l+(u-l)*(t-a)/d:l}class TimeSeriesScale extends TimeScale{constructor(t){super(t),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){const t=this._getTimestampsForTable(),e=this._table=this.buildLookupTable(t);this._minPos=interpolate(e,this.min),this._tableRange=interpolate(e,this.max)-this._minPos,super.initOffsets(t)}buildLookupTable(t){const{min:e,max:i}=this,r=[],a=[];let o,l,u,d,m;for(o=0,l=t.length;o=e&&d<=i&&r.push(d);if(r.length<2)return[{time:e,pos:0},{time:i,pos:1}];for(o=0,l=r.length;or-a)}_getTimestampsForTable(){let t=this._cache.all||[];if(t.length)return t;const e=this.getDataTimestamps(),i=this.getLabelTimestamps();return e.length&&i.length?t=this.normalize(e.concat(i)):t=e.length?e:i,t=this._cache.all=t,t}getDecimalForValue(t){return(interpolate(this._table,t)-this._minPos)/this._tableRange}getValueForPixel(t){const e=this._offsets,i=this.getDecimalForPixel(t)/e.factor-e.end;return interpolate(this._table,i*this._tableRange+this._minPos,!0)}}F(TimeSeriesScale,"id","timeseries"),F(TimeSeriesScale,"defaults",TimeScale.defaults);/*! * chartjs-chart-sankey v0.12.0 * https://github.com/kurkle/chartjs-chart-sankey#readme * (c) 2022 Jukka Kurkela * Released under the MIT license */function toTextLines(n){const t=[],e=isArray(n)?n:isNullOrUndef(n)?[]:[n];for(;e.length;){const i=e.pop();typeof i=="string"?t.unshift.apply(t,i.split(` -`)):Array.isArray(i)?e.push.apply(e,i):isNullOrUndef(e)||t.unshift(""+i)}return t}function validateSizeValue(n){return!n||["min","max"].indexOf(n)===-1?"max":n}const defined=n=>n!==void 0;function calculateX(n,t){const e=new Set(t.map(o=>o.to)),i=new Set(t.map(o=>o.from)),r=new Set([...n.keys()]);let a=0;for(;r.size;){const o=nextColumn([...r],e);for(const l of o){const u=n.get(l);defined(u.x)||(u.x=a),r.delete(l)}r.size&&(e.clear(),t.filter(l=>r.has(l.from)).forEach(l=>e.add(l.to)),a++)}return[...n.keys()].filter(o=>!i.has(o)).forEach(o=>{const l=n.get(o);l.column||(l.x=a)}),a}function nextColumn(n,t){const e=n.filter(i=>!t.has(i));return e.length?e:n.slice(0,1)}const nodeByXY=(n,t)=>n.x!==t.x?n.x-t.x:n.y-t.y;let prevCountId=-1;function getCountId(){return prevCountId=prevCountId<100?prevCountId+1:0,prevCountId}function nodeCount(n,t,e=getCountId()){let i=0;for(const r of n)r.node._visited!==e&&(r.node._visited=e,i+=r.node[t].length+nodeCount(r.node[t],t,e));return i}const flowByNodeCount=n=>(t,e)=>nodeCount(t.node[n],n)-nodeCount(e.node[n],n)||t.node[n].length-e.node[n].length;function processFrom(n,t){n.from.sort(flowByNodeCount("from"));for(const e of n.from){const i=e.node;defined(i.y)||(i.y=t,processFrom(i,t)),t=Math.max(i.y+i.out,t)}return t}function processTo(n,t){n.to.sort(flowByNodeCount("to"));for(const e of n.to){const i=e.node;defined(i.y)||(i.y=t,processTo(i,t)),t=Math.max(i.y+i.in,t)}return t}function setOrGetY(n,t){return defined(n.y)?n.y:(n.y=t,t)}function processRest(n,t){const e=n.filter(m=>m.x===0),i=n.filter(m=>m.x===t),r=e.filter(m=>!defined(m.y)),a=i.filter(m=>!defined(m.y)),o=n.filter(m=>m.x>0&&m.xMath.max(m,p.y+p.out||0),0),u=i.reduce((m,p)=>Math.max(m,p.y+p.in||0),0),d=0;return l>=u?(r.forEach(m=>{l=setOrGetY(m,l),l=Math.max(l+m.out,processTo(m,l))}),a.forEach(m=>{u=setOrGetY(m,u),u=Math.max(u+m.in,processTo(m,u))})):(a.forEach(m=>{u=setOrGetY(m,u),u=Math.max(u+m.in,processTo(m,u))}),r.forEach(m=>{l=setOrGetY(m,l),l=Math.max(l+m.out,processTo(m,l))})),o.forEach(m=>{let p=n.filter(_=>_.x===m.x&&defined(_.y)).reduce((_,y)=>Math.max(_,y.y+Math.max(y.in,y.out)),0);p=setOrGetY(m,p),p=Math.max(p+m.in,processFrom(m,p)),p=Math.max(p+m.out,processTo(m,p)),d=Math.max(d,p)}),Math.max(l,u,d)}function calculateY(n,t){n.sort((o,l)=>Math.max(l.in,l.out)-Math.max(o.in,o.out));const e=n[0];e.y=0;const i=processFrom(e,0),r=processTo(e,0),a=processRest(n,t);return Math.max(i,r,a)}function calculateYUsingPriority(n,t){let e=0,i=0;for(let r=0;r<=t;r++){let a=i;const o=n.filter(l=>l.x===r).sort((l,u)=>l.priority-u.priority);i=o[0].to.filter(l=>l.node.x>r+1).reduce((l,u)=>l+u.flow,0)||0;for(const l of o)l.y=a,a+=Math.max(l.out,l.in);e=Math.max(a,e)}return e}function addPadding(n,t){let e=1,i=0,r=0,a=0;const o=[];n.sort(nodeByXY);for(const l of n){if(l.y){if(l.x===0)o.push(l.y);else{for(i!==l.x&&(i=l.x,r=0),e=r+1;el.y);e++);r=e}l.y+=e*t,e++}a=Math.max(a,l.y+Math.max(l.in,l.out))}return a}function sortFlows(n,t){n.forEach(e=>{const i=Math[t](e.in||e.out,e.out||e.in),r=iu.node.y+u.node.out/2-(d.node.y+d.node.out/2)).forEach((u,d)=>{r?u.addY=d*(i-u.flow)/(l-1):(u.addY=o,o+=u.flow)}),o=0,l=e.to.length,e.to.sort((u,d)=>u.node.y+u.node.in/2-(d.node.y+d.node.in/2)).forEach((u,d)=>{a?u.addY=d*(i-u.flow)/(l-1):(u.addY=o,o+=u.flow)})})}function layout(n,t,e,i){const r=[...n.values()],a=calculateX(n,t),l=(e?calculateYUsingPriority(r,a):calculateY(r,a))*.03,u=addPadding(r,l);return sortFlows(r,i),{maxX:a,maxY:u}}function buildNodesFromRawData(n){const t=new Map;for(let i=0;ir.flow-i.flow;return[...t.values()].forEach(i=>{i.from=i.from.sort(e),i.from.forEach(r=>{r.node=t.get(r.key)}),i.to=i.to.sort(e),i.to.forEach(r=>{r.node=t.get(r.key)})}),t}function getAddY(n,t,e){for(const i of n)if(i.key===t&&i.index===e)return i.addY;return 0}class SankeyController extends DatasetController{parseObjectData(t,e,i,r){const{from:a="from",to:o="to",flow:l="flow"}=this.options.parsing,u=e.map(({[a]:S,[o]:M,[l]:k})=>({from:S,to:M,flow:k})),{xScale:d,yScale:m}=t,p=[],_=this._nodes=buildNodesFromRawData(u),{column:y,priority:w,size:v}=this.getDataset();if(w)for(const S of _.values())S.key in w&&(S.priority=w[S.key]);if(y)for(const S of _.values())S.key in y&&(S.column=!0,S.x=y[S.key]);const{maxX:E,maxY:x}=layout(_,u,!!w,validateSizeValue(v));this._maxX=E,this._maxY=x;for(let S=0,M=u.length;S1){const _=d-m*u/2+p;for(let y=0;yn.type==="data"?(n.parsed._custom.x-n.parsed.x)*200:void 0,delay:n=>n.type==="data"?n.parsed.x*500+n.dataIndex*20:void 0},colors:{type:"color",properties:["colorFrom","colorTo"]}},transitions:{hide:{animations:{colors:{type:"color",properties:["colorFrom","colorTo"],to:"transparent"}}},show:{animations:{colors:{type:"color",properties:["colorFrom","colorTo"],from:"transparent"}}}}};SankeyController.overrides={interaction:{mode:"nearest",intersect:!0},datasets:{clip:!1,parsing:!0},plugins:{tooltip:{callbacks:{title(){return""},label(n){const t=n.dataset.data[n.dataIndex];return t.from+" -> "+t.to+": "+t.flow}}},legend:{display:!1}},scales:{x:{type:"linear",bounds:"data",display:!1,min:0,offset:!1},y:{type:"linear",bounds:"data",display:!1,min:0,reverse:!0,offset:!1}},layout:{padding:{top:3,left:3,right:13,bottom:3}}};const controlPoints=(n,t,e,i)=>n({x:n.x+e*(t.x-n.x),y:n.y+e*(t.y-n.y)});function setStyle(n,{x:t,x2:e,options:i}){let r;i.colorMode==="from"?r=color(i.colorFrom).alpha(.5).rgbString():i.colorMode==="to"?r=color(i.colorTo).alpha(.5).rgbString():(r=n.createLinearGradient(t,0,e,0),r.addColorStop(0,color(i.colorFrom).alpha(.5).rgbString()),r.addColorStop(1,color(i.colorTo).alpha(.5).rgbString())),n.fillStyle=r,n.strokeStyle=r,n.lineWidth=.5}class Flow extends Element$1{constructor(t){super(),this.options=void 0,this.x=void 0,this.y=void 0,this.x2=void 0,this.y2=void 0,this.height=void 0,t&&Object.assign(this,t)}draw(t){const e=this,{x:i,x2:r,y:a,y2:o,height:l,progress:u}=e,{cp1:d,cp2:m}=controlPoints(i,a,r,o);u!==0&&(t.save(),u<1&&(t.beginPath(),t.rect(i,Math.min(a,o),(r-i)*u+1,Math.abs(o-a)+l+1),t.clip()),setStyle(t,e),t.beginPath(),t.moveTo(i,a),t.bezierCurveTo(d.x,d.y,m.x,m.y,r,o),t.lineTo(r,o+l),t.bezierCurveTo(m.x,m.y+l,d.x,d.y+l,i,a+l),t.lineTo(i,a),t.stroke(),t.closePath(),t.fill(),t.restore())}inRange(t,e,i){const{x:r,y:a,x2:o,y2:l,height:u}=this.getProps(["x","y","x2","y2","height"],i);if(to)return!1;const{cp1:d,cp2:m}=controlPoints(r,a,o,l),p=(t-r)/(o-r),_={x:r,y:a},y={x:o,y:l},w=pointInLine(_,d,p),v=pointInLine(d,m,p),E=pointInLine(m,y,p),x=pointInLine(w,v,p),S=pointInLine(v,E,p),M=pointInLine(x,S,p).y;return e>=M&&e<=M+u}inXRange(t,e){const{x:i,x2:r}=this.getProps(["x","x2"],e);return t>=i&&t<=r}inYRange(t,e){const{y:i,y2:r,height:a}=this.getProps(["y","y2","height"],e),o=Math.min(i,r),l=Math.max(i,r)+a;return t>=o&&t<=l}getCenterPoint(t){const{x:e,y:i,x2:r,y2:a,height:o}=this.getProps(["x","y","x2","y2","height"],t);return{x:(e+r)/2,y:(i+a+o)/2}}tooltipPosition(t){return this.getCenterPoint(t)}getRange(t){return t==="x"?this.width/2:this.height/2}}Flow.id="flow";Flow.defaults={colorFrom:"red",colorTo:"green",colorMode:"gradient",hoverColorFrom:(n,t)=>getHoverColor(t.colorFrom),hoverColorTo:(n,t)=>getHoverColor(t.colorTo)};function _classCallCheck$1(n,t){if(!(n instanceof t))throw new TypeError("Cannot call a class as a function")}function _typeof$3(n){"@babel/helpers - typeof";return _typeof$3=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},_typeof$3(n)}function toPrimitive(n,t){if(_typeof$3(n)!="object"||!n)return n;var e=n[Symbol.toPrimitive];if(e!==void 0){var i=e.call(n,t||"default");if(_typeof$3(i)!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(n)}function toPropertyKey(n){var t=toPrimitive(n,"string");return _typeof$3(t)=="symbol"?t:String(t)}function _defineProperties$1(n,t){for(var e=0;e1&&arguments[1]!==void 0?arguments[1]:{},i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};_classCallCheck$1(this,n),this.backends=[],this.type="backend",this.allOptions=i,this.init(t,e)}return _createClass$1(n,[{key:"init",value:function(e){var i=this,r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};this.services=e,this.options=defaults$1(r,this.options||{},getDefaults$2()),this.allOptions=a,this.options.backends&&this.options.backends.forEach(function(o,l){i.backends[l]=i.backends[l]||createClassOnDemand(o),i.backends[l].init(e,i.options.backendOptions&&i.options.backendOptions[l]||{},a)}),this.services&&this.options.reloadInterval&&setInterval(function(){return i.reload()},this.options.reloadInterval)}},{key:"read",value:function(e,i,r){var a=this,o=this.backends.length,l=function d(m){if(m>=o)return r(new Error("non of the backend loaded data",!0));var p=m===o-1,_=a.options.handleEmptyResourcesAsFailed&&!p?0:-1,y=a.backends[m];y.read?handleCorrectReadFunction(y,e,i,function(w,v,E){if(!w&&v&&Object.keys(v).length>_){if(r(null,v,m),u(m-1,v),y.save&&a.options.cacheHitMode&&["refresh","refreshAndUpdateStore"].indexOf(a.options.cacheHitMode)>-1){if(E&&a.options.refreshExpirationTime&&E+a.options.refreshExpirationTime>Date.now())return;var x=a.backends[m+1];x&&x.read&&handleCorrectReadFunction(x,e,i,function(S,M){S||M&&(Object.keys(M).length<=_||(u(m,M),a.options.cacheHitMode==="refreshAndUpdateStore"&&a.services&&a.services.resourceStore&&a.services.resourceStore.addResourceBundle(e,i,M)))})}}else d(m+1)}):d(m+1)},u=function d(m,p){if(!(m<0)){var _=a.backends[m];_.save&&_.save(e,i,p),d(m-1,p)}};l(0)}},{key:"create",value:function(e,i,r,a){var o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:function(){},l=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{};this.backends.forEach(function(u){if(u.create){var d=u.create.bind(u);if(d.length<6){try{var m;d.length===5?m=d(e,i,r,a,l):m=d(e,i,r,a),m&&typeof m.then=="function"?m.then(function(p){return o(null,p)}).catch(o):o(null,m)}catch(p){o(p)}return}d(e,i,r,a,o,l)}})}},{key:"reload",value:function(){var e=this,i=this.services,r=i.backendConnector,a=i.languageUtils,o=i.logger,l=r.language;if(!(l&&l.toLowerCase()==="cimode")){var u=[],d=function(p){var _=a.toResolveHierarchy(p);_.forEach(function(y){u.indexOf(y)<0&&u.push(y)})};d(l),this.allOptions.preload&&this.allOptions.preload.forEach(function(m){return d(m)}),u.forEach(function(m){e.allOptions.ns.forEach(function(p){r.read(m,p,"read",null,null,function(_,y){_&&o.warn("loading namespace ".concat(p," for language ").concat(m," failed"),_),!_&&y&&o.log("loaded namespace ".concat(p," for language ").concat(m),y),r.loaded("".concat(m,"|").concat(p),_,y)})})})}}}]),n}();Backend$1.type="backend";function _typeof$2(n){"@babel/helpers - typeof";return _typeof$2=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},_typeof$2(n)}var arr=[],each=arr.forEach,slice=arr.slice;function defaults(n){return each.call(slice.call(arguments,1),function(t){if(t)for(var e in t)n[e]===void 0&&(n[e]=t[e])}),n}function hasXMLHttpRequest(){return typeof XMLHttpRequest=="function"||(typeof XMLHttpRequest>"u"?"undefined":_typeof$2(XMLHttpRequest))==="object"}function isPromise(n){return!!n&&typeof n.then=="function"}function makePromise(n){return isPromise(n)?n:Promise.resolve(n)}function commonjsRequire(n){throw new Error('Could not dynamically require "'+n+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var getFetch$1={exports:{}},browserPonyfill={exports:{}},hasRequiredBrowserPonyfill;function requireBrowserPonyfill(){return hasRequiredBrowserPonyfill||(hasRequiredBrowserPonyfill=1,function(n,t){var e=typeof globalThis<"u"&&globalThis||typeof self<"u"&&self||typeof commonjsGlobal<"u"&&commonjsGlobal,i=function(){function a(){this.fetch=!1,this.DOMException=e.DOMException}return a.prototype=e,new a}();(function(a){(function(o){var l=typeof a<"u"&&a||typeof self<"u"&&self||typeof l<"u"&&l,u={searchParams:"URLSearchParams"in l,iterable:"Symbol"in l&&"iterator"in Symbol,blob:"FileReader"in l&&"Blob"in l&&function(){try{return new Blob,!0}catch{return!1}}(),formData:"FormData"in l,arrayBuffer:"ArrayBuffer"in l};function d($){return $&&DataView.prototype.isPrototypeOf($)}if(u.arrayBuffer)var m=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],p=ArrayBuffer.isView||function($){return $&&m.indexOf(Object.prototype.toString.call($))>-1};function _($){if(typeof $!="string"&&($=String($)),/[^a-z0-9\-#$%&'*+.^_`|~!]/i.test($)||$==="")throw new TypeError('Invalid character in header field name: "'+$+'"');return $.toLowerCase()}function y($){return typeof $!="string"&&($=String($)),$}function w($){var N={next:function(){var V=$.shift();return{done:V===void 0,value:V}}};return u.iterable&&(N[Symbol.iterator]=function(){return N}),N}function v($){this.map={},$ instanceof v?$.forEach(function(N,V){this.append(V,N)},this):Array.isArray($)?$.forEach(function(N){this.append(N[0],N[1])},this):$&&Object.getOwnPropertyNames($).forEach(function(N){this.append(N,$[N])},this)}v.prototype.append=function($,N){$=_($),N=y(N);var V=this.map[$];this.map[$]=V?V+", "+N:N},v.prototype.delete=function($){delete this.map[_($)]},v.prototype.get=function($){return $=_($),this.has($)?this.map[$]:null},v.prototype.has=function($){return this.map.hasOwnProperty(_($))},v.prototype.set=function($,N){this.map[_($)]=y(N)},v.prototype.forEach=function($,N){for(var V in this.map)this.map.hasOwnProperty(V)&&$.call(N,this.map[V],V,this)},v.prototype.keys=function(){var $=[];return this.forEach(function(N,V){$.push(V)}),w($)},v.prototype.values=function(){var $=[];return this.forEach(function(N){$.push(N)}),w($)},v.prototype.entries=function(){var $=[];return this.forEach(function(N,V){$.push([V,N])}),w($)},u.iterable&&(v.prototype[Symbol.iterator]=v.prototype.entries);function E($){if($.bodyUsed)return Promise.reject(new TypeError("Already read"));$.bodyUsed=!0}function x($){return new Promise(function(N,V){$.onload=function(){N($.result)},$.onerror=function(){V($.error)}})}function S($){var N=new FileReader,V=x(N);return N.readAsArrayBuffer($),V}function M($){var N=new FileReader,V=x(N);return N.readAsText($),V}function k($){for(var N=new Uint8Array($),V=new Array(N.length),H=0;H-1?N:$}function W($,N){if(!(this instanceof W))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');N=N||{};var V=N.body;if($ instanceof W){if($.bodyUsed)throw new TypeError("Already read");this.url=$.url,this.credentials=$.credentials,N.headers||(this.headers=new v($.headers)),this.method=$.method,this.mode=$.mode,this.signal=$.signal,!V&&$._bodyInit!=null&&(V=$._bodyInit,$.bodyUsed=!0)}else this.url=String($);if(this.credentials=N.credentials||this.credentials||"same-origin",(N.headers||!this.headers)&&(this.headers=new v(N.headers)),this.method=R(N.method||this.method||"GET"),this.mode=N.mode||this.mode||null,this.signal=N.signal||this.signal,this.referrer=null,(this.method==="GET"||this.method==="HEAD")&&V)throw new TypeError("Body not allowed for GET or HEAD requests");if(this._initBody(V),(this.method==="GET"||this.method==="HEAD")&&(N.cache==="no-store"||N.cache==="no-cache")){var H=/([?&])_=[^&]*/;if(H.test(this.url))this.url=this.url.replace(H,"$1_="+new Date().getTime());else{var X=/\?/;this.url+=(X.test(this.url)?"&":"?")+"_="+new Date().getTime()}}}W.prototype.clone=function(){return new W(this,{body:this._bodyInit})};function K($){var N=new FormData;return $.trim().split("&").forEach(function(V){if(V){var H=V.split("="),X=H.shift().replace(/\+/g," "),B=H.join("=").replace(/\+/g," ");N.append(decodeURIComponent(X),decodeURIComponent(B))}}),N}function Y($){var N=new v,V=$.replace(/\r?\n[\t ]+/g," ");return V.split("\r").map(function(H){return H.indexOf(` -`)===0?H.substr(1,H.length):H}).forEach(function(H){var X=H.split(":"),B=X.shift().trim();if(B){var lt=X.join(":").trim();N.append(B,lt)}}),N}I.call(W.prototype);function q($,N){if(!(this instanceof q))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');N||(N={}),this.type="default",this.status=N.status===void 0?200:N.status,this.ok=this.status>=200&&this.status<300,this.statusText=N.statusText===void 0?"":""+N.statusText,this.headers=new v(N.headers),this.url=N.url||"",this._initBody($)}I.call(q.prototype),q.prototype.clone=function(){return new q(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new v(this.headers),url:this.url})},q.error=function(){var $=new q(null,{status:0,statusText:""});return $.type="error",$};var J=[301,302,303,307,308];q.redirect=function($,N){if(J.indexOf(N)===-1)throw new RangeError("Invalid status code");return new q(null,{status:N,headers:{location:$}})},o.DOMException=l.DOMException;try{new o.DOMException}catch{o.DOMException=function(N,V){this.message=N,this.name=V;var H=Error(N);this.stack=H.stack},o.DOMException.prototype=Object.create(Error.prototype),o.DOMException.prototype.constructor=o.DOMException}function nt($,N){return new Promise(function(V,H){var X=new W($,N);if(X.signal&&X.signal.aborted)return H(new o.DOMException("Aborted","AbortError"));var B=new XMLHttpRequest;function lt(){B.abort()}B.onload=function(){var st={status:B.status,statusText:B.statusText,headers:Y(B.getAllResponseHeaders()||"")};st.url="responseURL"in B?B.responseURL:st.headers.get("X-Request-URL");var rt="response"in B?B.response:B.responseText;setTimeout(function(){V(new q(rt,st))},0)},B.onerror=function(){setTimeout(function(){H(new TypeError("Network request failed"))},0)},B.ontimeout=function(){setTimeout(function(){H(new TypeError("Network request failed"))},0)},B.onabort=function(){setTimeout(function(){H(new o.DOMException("Aborted","AbortError"))},0)};function dt(st){try{return st===""&&l.location.href?l.location.href:st}catch{return st}}B.open(X.method,dt(X.url),!0),X.credentials==="include"?B.withCredentials=!0:X.credentials==="omit"&&(B.withCredentials=!1),"responseType"in B&&(u.blob?B.responseType="blob":u.arrayBuffer&&X.headers.get("Content-Type")&&X.headers.get("Content-Type").indexOf("application/octet-stream")!==-1&&(B.responseType="arraybuffer")),N&&typeof N.headers=="object"&&!(N.headers instanceof v)?Object.getOwnPropertyNames(N.headers).forEach(function(st){B.setRequestHeader(st,y(N.headers[st]))}):X.headers.forEach(function(st,rt){B.setRequestHeader(rt,st)}),X.signal&&(X.signal.addEventListener("abort",lt),B.onreadystatechange=function(){B.readyState===4&&X.signal.removeEventListener("abort",lt)}),B.send(typeof X._bodyInit>"u"?null:X._bodyInit)})}return nt.polyfill=!0,l.fetch||(l.fetch=nt,l.Headers=v,l.Request=W,l.Response=q),o.Headers=v,o.Request=W,o.Response=q,o.fetch=nt,o})({})})(i),i.fetch.ponyfill=!0,delete i.fetch.polyfill;var r=e.fetch?e:i;t=r.fetch,t.default=r.fetch,t.fetch=r.fetch,t.Headers=r.Headers,t.Request=r.Request,t.Response=r.Response,n.exports=t}(browserPonyfill,browserPonyfill.exports)),browserPonyfill.exports}(function(n,t){var e;if(typeof fetch=="function"&&(typeof commonjsGlobal<"u"&&commonjsGlobal.fetch?e=commonjsGlobal.fetch:typeof window<"u"&&window.fetch?e=window.fetch:e=fetch),typeof commonjsRequire<"u"&&(typeof window>"u"||typeof window.document>"u")){var i=e||requireBrowserPonyfill();i.default&&(i=i.default),t.default=i,n.exports=t.default}})(getFetch$1,getFetch$1.exports);var getFetchExports=getFetch$1.exports;const getFetch=getDefaultExportFromCjs(getFetchExports),fetchNode=_mergeNamespaces({__proto__:null,default:getFetch},[getFetchExports]);function _typeof$1(n){"@babel/helpers - typeof";return _typeof$1=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},_typeof$1(n)}var fetchApi;typeof fetch=="function"&&(typeof global<"u"&&global.fetch?fetchApi=global.fetch:typeof window<"u"&&window.fetch?fetchApi=window.fetch:fetchApi=fetch);var XmlHttpRequestApi;hasXMLHttpRequest()&&(typeof global<"u"&&global.XMLHttpRequest?XmlHttpRequestApi=global.XMLHttpRequest:typeof window<"u"&&window.XMLHttpRequest&&(XmlHttpRequestApi=window.XMLHttpRequest));var ActiveXObjectApi;typeof ActiveXObject=="function"&&(typeof global<"u"&&global.ActiveXObject?ActiveXObjectApi=global.ActiveXObject:typeof window<"u"&&window.ActiveXObject&&(ActiveXObjectApi=window.ActiveXObject));!fetchApi&&fetchNode&&!XmlHttpRequestApi&&!ActiveXObjectApi&&(fetchApi=getFetch||fetchNode);typeof fetchApi!="function"&&(fetchApi=void 0);var addQueryString=function n(t,e){if(e&&_typeof$1(e)==="object"){var i="";for(var r in e)i+="&"+encodeURIComponent(r)+"="+encodeURIComponent(e[r]);if(!i)return t;t=t+(t.indexOf("?")!==-1?"&":"?")+i.slice(1)}return t},fetchIt=function n(t,e,i){var r=function(o){if(!o.ok)return i(o.statusText||"Error",{status:o.status});o.text().then(function(l){i(null,{status:o.status,data:l})}).catch(i)};typeof fetch=="function"?fetch(t,e).then(r).catch(i):fetchApi(t,e).then(r).catch(i)},omitFetchOptions=!1,requestWithFetch=function n(t,e,i,r){t.queryStringParams&&(e=addQueryString(e,t.queryStringParams));var a=defaults({},typeof t.customHeaders=="function"?t.customHeaders():t.customHeaders);typeof window>"u"&&typeof global<"u"&&typeof global.process<"u"&&global.process.versions&&global.process.versions.node&&(a["User-Agent"]="i18next-http-backend (node/".concat(global.process.version,"; ").concat(global.process.platform," ").concat(global.process.arch,")")),i&&(a["Content-Type"]="application/json");var o=typeof t.requestOptions=="function"?t.requestOptions(i):t.requestOptions,l=defaults({method:i?"POST":"GET",body:i?t.stringify(i):void 0,headers:a},omitFetchOptions?{}:o);try{fetchIt(e,l,r)}catch(u){if(!o||Object.keys(o).length===0||!u.message||u.message.indexOf("not implemented")<0)return r(u);try{Object.keys(o).forEach(function(d){delete l[d]}),fetchIt(e,l,r),omitFetchOptions=!0}catch(d){r(d)}}},requestWithXmlHttpRequest=function n(t,e,i,r){i&&_typeof$1(i)==="object"&&(i=addQueryString("",i).slice(1)),t.queryStringParams&&(e=addQueryString(e,t.queryStringParams));try{var a;XmlHttpRequestApi?a=new XmlHttpRequestApi:a=new ActiveXObjectApi("MSXML2.XMLHTTP.3.0"),a.open(i?"POST":"GET",e,1),t.crossDomain||a.setRequestHeader("X-Requested-With","XMLHttpRequest"),a.withCredentials=!!t.withCredentials,i&&a.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),a.overrideMimeType&&a.overrideMimeType("application/json");var o=t.customHeaders;if(o=typeof o=="function"?o():o,o)for(var l in o)a.setRequestHeader(l,o[l]);a.onreadystatechange=function(){a.readyState>3&&r(a.status>=400?a.statusText:null,{status:a.status,data:a.responseText})},a.send(i)}catch(u){console&&console.log(u)}},request=function n(t,e,i,r){if(typeof i=="function"&&(r=i,i=void 0),r=r||function(){},fetchApi&&e.indexOf("file:")!==0)return requestWithFetch(t,e,i,r);if(hasXMLHttpRequest()||typeof ActiveXObject=="function")return requestWithXmlHttpRequest(t,e,i,r);r(new Error("No fetch and no xhr implementation found!"))};function _typeof(n){"@babel/helpers - typeof";return _typeof=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},_typeof(n)}function _classCallCheck(n,t){if(!(n instanceof t))throw new TypeError("Cannot call a class as a function")}function _defineProperties(n,t){for(var e=0;e1&&arguments[1]!==void 0?arguments[1]:{},i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};_classCallCheck(this,n),this.services=t,this.options=e,this.allOptions=i,this.type="backend",this.init(t,e,i)}return _createClass(n,[{key:"init",value:function(e){var i=this,r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};this.services=e,this.options=defaults(r,this.options||{},getDefaults$1()),this.allOptions=a,this.services&&this.options.reloadInterval&&setInterval(function(){return i.reload()},this.options.reloadInterval)}},{key:"readMulti",value:function(e,i,r){this._readAny(e,e,i,i,r)}},{key:"read",value:function(e,i,r){this._readAny([e],e,[i],i,r)}},{key:"_readAny",value:function(e,i,r,a,o){var l=this,u=this.options.loadPath;typeof this.options.loadPath=="function"&&(u=this.options.loadPath(e,r)),u=makePromise(u),u.then(function(d){if(!d)return o(null,{});var m=l.services.interpolator.interpolate(d,{lng:e.join("+"),ns:r.join("+")});l.loadUrl(m,o,i,a)})}},{key:"loadUrl",value:function(e,i,r,a){var o=this,l=typeof r=="string"?[r]:r,u=typeof a=="string"?[a]:a,d=this.options.parseLoadPayload(l,u);this.options.request(this.options,e,d,function(m,p){if(p&&(p.status>=500&&p.status<600||!p.status))return i("failed loading "+e+"; status code: "+p.status,!0);if(p&&p.status>=400&&p.status<500)return i("failed loading "+e+"; status code: "+p.status,!1);if(!p&&m&&m.message&&m.message.indexOf("Failed to fetch")>-1)return i("failed loading "+e+": "+m.message,!0);if(m)return i(m,!1);var _,y;try{typeof p.data=="string"?_=o.options.parse(p.data,r,a):_=p.data}catch{y="failed parsing "+e+" to json"}if(y)return i(y,!1);i(null,_)})}},{key:"create",value:function(e,i,r,a,o){var l=this;if(this.options.addPath){typeof e=="string"&&(e=[e]);var u=this.options.parsePayload(i,r,a),d=0,m=[],p=[];e.forEach(function(_){var y=l.options.addPath;typeof l.options.addPath=="function"&&(y=l.options.addPath(_,i));var w=l.services.interpolator.interpolate(y,{lng:_,ns:i});l.options.request(l.options,w,u,function(v,E){d+=1,m.push(v),p.push(E),d===e.length&&typeof o=="function"&&o(m,p)})})}}},{key:"reload",value:function(){var e=this,i=this.services,r=i.backendConnector,a=i.languageUtils,o=i.logger,l=r.language;if(!(l&&l.toLowerCase()==="cimode")){var u=[],d=function(p){var _=a.toResolveHierarchy(p);_.forEach(function(y){u.indexOf(y)<0&&u.push(y)})};d(l),this.allOptions.preload&&this.allOptions.preload.forEach(function(m){return d(m)}),u.forEach(function(m){e.allOptions.ns.forEach(function(p){r.read(m,p,"read",null,null,function(_,y){_&&o.warn("loading namespace ".concat(p," for language ").concat(m," failed"),_),!_&&y&&o.log("loaded namespace ".concat(p," for language ").concat(m),y),r.loaded("".concat(m,"|").concat(p),_,y)})})})}}}]),n}();Backend.type="backend";function _defineProperty(n,t,e){return t=toPropertyKey(t),t in n?Object.defineProperty(n,t,{value:e,enumerable:!0,configurable:!0,writable:!0}):n[t]=e,n}function ownKeys(n,t){var e=Object.keys(n);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(n);t&&(i=i.filter(function(r){return Object.getOwnPropertyDescriptor(n,r).enumerable})),e.push.apply(e,i)}return e}function _objectSpread(n){for(var t=1;t1&&arguments[1]!==void 0?arguments[1]:{};_classCallCheck$1(this,n),this.init(t,e),this.type="backend"}return _createClass$1(n,[{key:"init",value:function(e){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.services=e,this.options=_objectSpread(_objectSpread(_objectSpread({},getDefaults()),this.options),i),this.storage=new Storage(this.options)}},{key:"read",value:function(e,i,r){var a=Date.now();if(!this.storage.store)return r(null,null);var o=this.storage.getItem("".concat(this.options.prefix).concat(e,"-").concat(i));if(o){o=JSON.parse(o);var l=this.getVersion(e);if(o.i18nStamp&&o.i18nStamp+this.options.expirationTime>a&&l===o.i18nVersion){var u=o.i18nStamp;return delete o.i18nVersion,delete o.i18nStamp,r(null,o,u)}}return r(null,null)}},{key:"save",value:function(e,i,r){if(this.storage.store){r.i18nStamp=Date.now();var a=this.getVersion(e);a&&(r.i18nVersion=a),this.storage.setItem("".concat(this.options.prefix).concat(e,"-").concat(i),JSON.stringify(r))}}},{key:"getVersion",value:function(e){return this.options.versions[e]||this.options.defaultVersion}}]),n}();Cache.type="backend";/*! +`)):Array.isArray(i)?e.push.apply(e,i):isNullOrUndef(e)||t.unshift(""+i)}return t}function validateSizeValue(n){return!n||["min","max"].indexOf(n)===-1?"max":n}const defined=n=>n!==void 0;function calculateX(n,t){const e=new Set(t.map(o=>o.to)),i=new Set(t.map(o=>o.from)),r=new Set([...n.keys()]);let a=0;for(;r.size;){const o=nextColumn([...r],e);for(const l of o){const u=n.get(l);defined(u.x)||(u.x=a),r.delete(l)}r.size&&(e.clear(),t.filter(l=>r.has(l.from)).forEach(l=>e.add(l.to)),a++)}return[...n.keys()].filter(o=>!i.has(o)).forEach(o=>{const l=n.get(o);l.column||(l.x=a)}),a}function nextColumn(n,t){const e=n.filter(i=>!t.has(i));return e.length?e:n.slice(0,1)}const nodeByXY=(n,t)=>n.x!==t.x?n.x-t.x:n.y-t.y;let prevCountId=-1;function getCountId(){return prevCountId=prevCountId<100?prevCountId+1:0,prevCountId}function nodeCount(n,t,e=getCountId()){let i=0;for(const r of n)r.node._visited!==e&&(r.node._visited=e,i+=r.node[t].length+nodeCount(r.node[t],t,e));return i}const flowByNodeCount=n=>(t,e)=>nodeCount(t.node[n],n)-nodeCount(e.node[n],n)||t.node[n].length-e.node[n].length;function processFrom(n,t){n.from.sort(flowByNodeCount("from"));for(const e of n.from){const i=e.node;defined(i.y)||(i.y=t,processFrom(i,t)),t=Math.max(i.y+i.out,t)}return t}function processTo(n,t){n.to.sort(flowByNodeCount("to"));for(const e of n.to){const i=e.node;defined(i.y)||(i.y=t,processTo(i,t)),t=Math.max(i.y+i.in,t)}return t}function setOrGetY(n,t){return defined(n.y)?n.y:(n.y=t,t)}function processRest(n,t){const e=n.filter(m=>m.x===0),i=n.filter(m=>m.x===t),r=e.filter(m=>!defined(m.y)),a=i.filter(m=>!defined(m.y)),o=n.filter(m=>m.x>0&&m.xMath.max(m,p.y+p.out||0),0),u=i.reduce((m,p)=>Math.max(m,p.y+p.in||0),0),d=0;return l>=u?(r.forEach(m=>{l=setOrGetY(m,l),l=Math.max(l+m.out,processTo(m,l))}),a.forEach(m=>{u=setOrGetY(m,u),u=Math.max(u+m.in,processTo(m,u))})):(a.forEach(m=>{u=setOrGetY(m,u),u=Math.max(u+m.in,processTo(m,u))}),r.forEach(m=>{l=setOrGetY(m,l),l=Math.max(l+m.out,processTo(m,l))})),o.forEach(m=>{let p=n.filter(_=>_.x===m.x&&defined(_.y)).reduce((_,y)=>Math.max(_,y.y+Math.max(y.in,y.out)),0);p=setOrGetY(m,p),p=Math.max(p+m.in,processFrom(m,p)),p=Math.max(p+m.out,processTo(m,p)),d=Math.max(d,p)}),Math.max(l,u,d)}function calculateY(n,t){n.sort((o,l)=>Math.max(l.in,l.out)-Math.max(o.in,o.out));const e=n[0];e.y=0;const i=processFrom(e,0),r=processTo(e,0),a=processRest(n,t);return Math.max(i,r,a)}function calculateYUsingPriority(n,t){let e=0,i=0;for(let r=0;r<=t;r++){let a=i;const o=n.filter(l=>l.x===r).sort((l,u)=>l.priority-u.priority);i=o[0].to.filter(l=>l.node.x>r+1).reduce((l,u)=>l+u.flow,0)||0;for(const l of o)l.y=a,a+=Math.max(l.out,l.in);e=Math.max(a,e)}return e}function addPadding(n,t){let e=1,i=0,r=0,a=0;const o=[];n.sort(nodeByXY);for(const l of n){if(l.y){if(l.x===0)o.push(l.y);else{for(i!==l.x&&(i=l.x,r=0),e=r+1;el.y);e++);r=e}l.y+=e*t,e++}a=Math.max(a,l.y+Math.max(l.in,l.out))}return a}function sortFlows(n,t){n.forEach(e=>{const i=Math[t](e.in||e.out,e.out||e.in),r=iu.node.y+u.node.out/2-(d.node.y+d.node.out/2)).forEach((u,d)=>{r?u.addY=d*(i-u.flow)/(l-1):(u.addY=o,o+=u.flow)}),o=0,l=e.to.length,e.to.sort((u,d)=>u.node.y+u.node.in/2-(d.node.y+d.node.in/2)).forEach((u,d)=>{a?u.addY=d*(i-u.flow)/(l-1):(u.addY=o,o+=u.flow)})})}function layout(n,t,e,i){const r=[...n.values()],a=calculateX(n,t),l=(e?calculateYUsingPriority(r,a):calculateY(r,a))*.03,u=addPadding(r,l);return sortFlows(r,i),{maxX:a,maxY:u}}function buildNodesFromRawData(n){const t=new Map;for(let i=0;ir.flow-i.flow;return[...t.values()].forEach(i=>{i.from=i.from.sort(e),i.from.forEach(r=>{r.node=t.get(r.key)}),i.to=i.to.sort(e),i.to.forEach(r=>{r.node=t.get(r.key)})}),t}function getAddY(n,t,e){for(const i of n)if(i.key===t&&i.index===e)return i.addY;return 0}class SankeyController extends DatasetController{parseObjectData(t,e,i,r){const{from:a="from",to:o="to",flow:l="flow"}=this.options.parsing,u=e.map(({[a]:S,[o]:M,[l]:k})=>({from:S,to:M,flow:k})),{xScale:d,yScale:m}=t,p=[],_=this._nodes=buildNodesFromRawData(u),{column:y,priority:w,size:v}=this.getDataset();if(w)for(const S of _.values())S.key in w&&(S.priority=w[S.key]);if(y)for(const S of _.values())S.key in y&&(S.column=!0,S.x=y[S.key]);const{maxX:E,maxY:x}=layout(_,u,!!w,validateSizeValue(v));this._maxX=E,this._maxY=x;for(let S=0,M=u.length;S1){const _=d-m*u/2+p;for(let y=0;yn.type==="data"?(n.parsed._custom.x-n.parsed.x)*200:void 0,delay:n=>n.type==="data"?n.parsed.x*500+n.dataIndex*20:void 0},colors:{type:"color",properties:["colorFrom","colorTo"]}},transitions:{hide:{animations:{colors:{type:"color",properties:["colorFrom","colorTo"],to:"transparent"}}},show:{animations:{colors:{type:"color",properties:["colorFrom","colorTo"],from:"transparent"}}}}};SankeyController.overrides={interaction:{mode:"nearest",intersect:!0},datasets:{clip:!1,parsing:!0},plugins:{tooltip:{callbacks:{title(){return""},label(n){const t=n.dataset.data[n.dataIndex];return t.from+" -> "+t.to+": "+t.flow}}},legend:{display:!1}},scales:{x:{type:"linear",bounds:"data",display:!1,min:0,offset:!1},y:{type:"linear",bounds:"data",display:!1,min:0,reverse:!0,offset:!1}},layout:{padding:{top:3,left:3,right:13,bottom:3}}};const controlPoints=(n,t,e,i)=>n({x:n.x+e*(t.x-n.x),y:n.y+e*(t.y-n.y)});function setStyle(n,{x:t,x2:e,options:i}){let r;i.colorMode==="from"?r=color(i.colorFrom).alpha(.5).rgbString():i.colorMode==="to"?r=color(i.colorTo).alpha(.5).rgbString():(r=n.createLinearGradient(t,0,e,0),r.addColorStop(0,color(i.colorFrom).alpha(.5).rgbString()),r.addColorStop(1,color(i.colorTo).alpha(.5).rgbString())),n.fillStyle=r,n.strokeStyle=r,n.lineWidth=.5}class Flow extends Element$1{constructor(t){super(),this.options=void 0,this.x=void 0,this.y=void 0,this.x2=void 0,this.y2=void 0,this.height=void 0,t&&Object.assign(this,t)}draw(t){const e=this,{x:i,x2:r,y:a,y2:o,height:l,progress:u}=e,{cp1:d,cp2:m}=controlPoints(i,a,r,o);u!==0&&(t.save(),u<1&&(t.beginPath(),t.rect(i,Math.min(a,o),(r-i)*u+1,Math.abs(o-a)+l+1),t.clip()),setStyle(t,e),t.beginPath(),t.moveTo(i,a),t.bezierCurveTo(d.x,d.y,m.x,m.y,r,o),t.lineTo(r,o+l),t.bezierCurveTo(m.x,m.y+l,d.x,d.y+l,i,a+l),t.lineTo(i,a),t.stroke(),t.closePath(),t.fill(),t.restore())}inRange(t,e,i){const{x:r,y:a,x2:o,y2:l,height:u}=this.getProps(["x","y","x2","y2","height"],i);if(to)return!1;const{cp1:d,cp2:m}=controlPoints(r,a,o,l),p=(t-r)/(o-r),_={x:r,y:a},y={x:o,y:l},w=pointInLine(_,d,p),v=pointInLine(d,m,p),E=pointInLine(m,y,p),x=pointInLine(w,v,p),S=pointInLine(v,E,p),M=pointInLine(x,S,p).y;return e>=M&&e<=M+u}inXRange(t,e){const{x:i,x2:r}=this.getProps(["x","x2"],e);return t>=i&&t<=r}inYRange(t,e){const{y:i,y2:r,height:a}=this.getProps(["y","y2","height"],e),o=Math.min(i,r),l=Math.max(i,r)+a;return t>=o&&t<=l}getCenterPoint(t){const{x:e,y:i,x2:r,y2:a,height:o}=this.getProps(["x","y","x2","y2","height"],t);return{x:(e+r)/2,y:(i+a+o)/2}}tooltipPosition(t){return this.getCenterPoint(t)}getRange(t){return t==="x"?this.width/2:this.height/2}}Flow.id="flow";Flow.defaults={colorFrom:"red",colorTo:"green",colorMode:"gradient",hoverColorFrom:(n,t)=>getHoverColor(t.colorFrom),hoverColorTo:(n,t)=>getHoverColor(t.colorTo)};/*! * chartjs-adapter-date-fns v3.0.0 * https://www.chartjs.org * (c) 2022 chartjs-adapter-date-fns Contributors @@ -50,4 +50,4 @@ ${e?'Expression: "'+e+`" `,r.append(o),r.classList.add("d-flex","justify-content-between"),o.addEventListener("click",l=>{this._searchInput.value=e.label,this._searchInput.focus()})}return a.addEventListener("mouseenter",o=>{this._keyboardNavigation||(this.removeSelection(),r.querySelector("a").classList.add(...this._activeClasses()))}),a.addEventListener("mousedown",o=>{o.preventDefault()}),a.addEventListener("click",o=>{o.preventDefault(),this._preventInput=!0,this._searchInput.value=decodeHtml(e.label),this._hiddenInput&&(this._hiddenInput.value=e.value),this._config.onSelectItem(e,this),this.hideSuggestions(),this._preventInput=!1}),r}_showSuggestions(){if(document.activeElement!=this._searchInput)return;const t=normalize$1(this._searchInput.value);this._dropElement.innerHTML="";const e=Object.keys(this._items);let i=0,r=null;const a=[];for(let o=0;o0&&this._config.searchFields.forEach(_=>{const y=normalize$1(u[_]);let w=!1;if(this._config.fuzzy)w=fuzzyMatch$1(y,t);else{const v=y.indexOf(t);w=this._config.startsWith?v===0:v>=0}w&&(m=!0)});const p=m||t.length===0;if(d||m){if(i++,u.group&&!a.includes(u.group)){const y=this._createGroup(u.group);this._dropElement.appendChild(y),a.push(u.group)}const _=this._createItem(t,u);if(!r&&p&&(r=_),this._dropElement.appendChild(_),this._config.maximumItems>0&&i>=this._config.maximumItems)break}}if(r&&this._config.autoselectFirst&&(this.removeSelection(),this._moveSelection(NEXT$1,r)),i===0)if(this._config.notFoundMessage){const o=this._createLi();o.innerHTML=`${this._config.notFoundMessage}`,this._dropElement.appendChild(o),this._showDropdown()}else this.hideSuggestions();else this._showDropdown()}_createLi(){const t=document.createElement("li");return t.setAttribute("role","presentation"),t}_showDropdown(){this._dropElement.classList.add(SHOW_CLASS$1),this._dropElement.setAttribute("role","menu"),attrs$1(this._searchInput,{"aria-expanded":"true"}),this._positionMenu()}toggleSuggestions(t=!0){this._dropElement.classList.contains(SHOW_CLASS$1)?this.hideSuggestions():this.showOrSearch(t)}hideSuggestions(){this._dropElement.classList.remove(SHOW_CLASS$1),attrs$1(this._searchInput,{"aria-expanded":"false"}),this.removeSelection()}getInput(){return this._searchInput}getDropMenu(){return this._dropElement}_positionMenu(){const t=window.getComputedStyle(this._searchInput),e=this._searchInput.getBoundingClientRect(),i=t.direction==="rtl",r=this._config.fullWidth,a=this._config.fixed;let o=null,l=null;a&&(o=e.x,l=e.y+e.height,i&&!r&&(o-=this._dropElement.offsetWidth-e.width)),this._dropElement.style.transform="unset",r&&(this._dropElement.style.width=this._searchInput.offsetWidth+"px"),o!==null&&(this._dropElement.style.left=o+"px"),l!==null&&(this._dropElement.style.top=l+"px");const u=this._dropElement.getBoundingClientRect(),d=window.innerHeight;if(u.y+u.height>d){const m=r?e.height+4:e.height;this._dropElement.style.transform="translateY(calc(-100.1% - "+m+"px))"}}_fetchData(){this._items={},this._addItems(this._config.items);const t=this._config.datalist;if(t){const e=document.querySelector(`#${t}`);if(e){const i=Array.from(e.children).map(r=>{const a=r.getAttribute("value")??r.innerHTML.toLowerCase(),o=r.innerHTML;return{value:a,label:o}});this._addItems(i)}else console.error(`Datalist not found ${t}`)}this._setHiddenVal(),this._config.server&&!this._config.liveServer&&this._loadFromServer()}_setHiddenVal(){if(this._config.hiddenInput&&!this._config.hiddenValue)for(const[t,e]of Object.entries(this._items))e.label==this._searchInput.value&&(this._hiddenInput.value=t)}_addItems(t){const e=Object.keys(t);for(let i=0;iu.group=a.group),this._addItems(a.items);continue}const o=typeof a=="string"?a:a.label,l=typeof a!="object"?{}:a;l.label=a[this._config.labelField]??o,l.value=a[this._config.valueField]??r,l.label&&(this._items[l.value]=l)}}_loadFromServer(t=!1){this._abortController&&this._abortController.abort(),this._abortController=new AbortController;let e=this._searchInput.dataset.serverParams||{};typeof e=="string"&&(e=JSON.parse(e));const i=Object.assign({},this._config.serverParams,e);if(i[this._config.queryParam]=this._searchInput.value,this._config.noCache&&(i.t=Date.now()),i.related){const l=document.getElementById(i.related);if(l){i.related=l.value;const u=l.getAttribute("name");u&&(i[u]=l.value)}}const r=new URLSearchParams(i);let a=this._config.server,o=Object.assign(this._config.fetchOptions,{method:this._config.serverMethod||"GET",signal:this._abortController.signal});o.method==="POST"?o.body=r:a+="?"+r.toString(),this._searchInput.classList.add(LOADING_CLASS$1),this._config.onBeforeFetch(this),fetch(a,o).then(l=>this._config.onServerResponse(l,this)).then(l=>{const u=nested$1(this._config.serverDataKey,l)||l;this.setData(u),this._setHiddenVal(),this._abortController=null,t&&this._showSuggestions()}).catch(l=>{l.name==="AbortError"||this._abortController.signal.aborted||console.error(l)}).finally(l=>{this._searchInput.classList.remove(LOADING_CLASS$1),this._config.onAfterFetch(this)})}}const DEFAULTS={items:[],allowNew:!1,showAllSuggestions:!1,badgeStyle:"primary",allowClear:!1,clearEnd:!1,selected:[],regex:"",separator:[],max:0,clearLabel:"Clear",searchLabel:"Type a value",showDropIcon:!0,keepOpen:!1,allowSame:!1,baseClass:"",placeholder:"",addOnBlur:!1,showDisabled:!1,hideNativeValidation:!1,suggestionsThreshold:-1,maximumItems:0,autoselectFirst:!0,updateOnSelect:!1,highlightTyped:!1,highlightClass:"",fullWidth:!0,fixed:!1,fuzzy:!1,startsWith:!1,singleBadge:!1,activeClasses:["bg-primary","text-white"],labelField:"label",valueField:"value",searchFields:["label"],queryParam:"query",server:"",serverMethod:"GET",serverParams:{},serverDataKey:"data",fetchOptions:{},liveServer:!1,noCache:!0,debounceTime:300,notFoundMessage:"",onRenderItem:(n,t,e)=>t,onSelectItem:(n,t)=>{},onClearItem:(n,t)=>{},onCreateItem:(n,t)=>{},onBlur:(n,t)=>{},onFocus:(n,t)=>{},onCanAdd:(n,t,e)=>{},confirmClear:(n,t)=>Promise.resolve(),confirmAdd:(n,t)=>Promise.resolve(),onServerResponse:(n,t)=>n.json()},CLASS_PREFIX="tags-",LOADING_CLASS="is-loading",ACTIVE_CLASS="is-active",INVALID_CLASS="is-invalid",MAX_REACHED_CLASS="is-max-reached",SHOW_CLASS="show",VALUE_ATTRIBUTE="data-value",NEXT="next",PREV="prev",FOCUS_CLASS="form-control-focus",PLACEHOLDER_CLASS="form-placeholder-shown",DISABLED_CLASS="form-control-disabled",INSTANCE_MAP=new WeakMap;let counter=0,tooltip=window.bootstrap&&window.bootstrap.Tooltip;function debounce(n,t=300){let e;return(...i)=>{clearTimeout(e),e=setTimeout(()=>{n.apply(this,i)},t)}}function calcTextWidth(n,t=null){const e=ce("span");document.body.appendChild(e),e.style.fontSize=t||"inherit",e.style.height="auto",e.style.width="auto",e.style.position="absolute",e.style.whiteSpace="no-wrap",e.innerHTML=n;const i=Math.ceil(e.clientWidth);return document.body.removeChild(e),i}function removeDiacritics(n){return n.normalize("NFD").replace(/[\u0300-\u036f]/g,"")}function normalize(n){return n?removeDiacritics(n.toString()).toLowerCase():""}function fuzzyMatch(n,t){if(n.indexOf(t)>=0)return!0;let e=0;for(let i=0;ie[i],t)}const elementsToBlur=new Set,documentEventHandler={handleEvent:n=>{elementsToBlur.forEach(t=>{let e=!1;n.type=="click"&&!n.composedPath().includes(t.getHolder())&&(e=!0),n.type=="focusin"&&["input","select","textarea"].includes(n.target.tagName.toLowerCase())&&(e=!0),e&&(t.afteronblur(n),elementsToBlur.delete(t))})}};class Tags{constructor(t,e={}){if(!(t instanceof HTMLElement)){console.error("Invalid element",t);return}INSTANCE_MAP.set(t,this),counter++,this._selectElement=t,this._configure(e),this._keyboardNavigation=!1,this._searchFunc=debounce(()=>{this._loadFromServer(!0)},this._config.debounceTime),this._fireEvents=!0,this._configureParent(),this._holderElement=ce("div"),this._containerElement=ce("div"),this._dropElement=ce("ul"),this._searchInput=ce("input"),this._holderElement.appendChild(this._containerElement),this._selectElement.parentElement.insertBefore(this._holderElement,this._selectElement),this._configureHolderElement(),this._configureContainerElement(),this._configureSelectElement(),this._configureSearchInput(),this._configureDropElement(),this.resetState(),this.handleEvent=i=>{this._handleEvent(i)},this._config.fixed&&(document.addEventListener("scroll",this,!0),window.addEventListener("resize",this)),["focus","blur","input","keydown","paste"].forEach(i=>{this._searchInput.addEventListener(i,this)}),["mousemove","mouseleave"].forEach(i=>{this._dropElement.addEventListener(i,this)}),["click","focusin"].forEach(i=>{document.addEventListener(i,documentEventHandler)}),this.loadData(!0)}static init(t="select[multiple]",e={},i=!1){let r=document.querySelectorAll(t);for(let a=0;a{this._searchInput.removeEventListener(t,this)}),["mousemove","mouseleave"].forEach(t=>{this._dropElement.removeEventListener(t,this)}),["click","focusin"].forEach(t=>{document.removeEventListener(t,documentEventHandler)}),this._config.fixed&&(document.removeEventListener("scroll",this,!0),window.removeEventListener("resize",this)),this._selectElement.style.display="block",this._holderElement.parentElement.removeChild(this._holderElement),this.parentForm&&this.parentForm.removeEventListener("reset",this),elementsToBlur.has(this)&&elementsToBlur.delete(this),INSTANCE_MAP.delete(this._selectElement)}handleEvent(t){this._handleEvent(t)}_handleEvent(t){["scroll","resize"].includes(t.type)?(this._timer&&window.cancelAnimationFrame(this._timer),this._timer=window.requestAnimationFrame(()=>{this[`on${t.type}`](t)})):this[`on${t.type}`](t)}_configure(t={}){this._config=Object.assign({},DEFAULTS,{showDropIcon:!!this._findOption()});const e=this._selectElement.dataset.config?JSON.parse(this._selectElement.dataset.config):{},i={...t,...e,...this._selectElement.dataset};for(const[r,a]of Object.entries(DEFAULTS)){if(r=="config"||i[r]===void 0)continue;const o=i[r];switch(typeof a){case"number":this._config[r]=parseInt(o);break;case"boolean":this._config[r]=parseBool(o);break;case"string":this._config[r]=o.toString();break;case"object":this._config[r]=o,typeof o=="string"&&(["{","["].includes(o[0])?this._config[r]=JSON.parse(o):this._config[r]=o.split(o.includes("|")?"|":","));break;case"function":this._config[r]=typeof o=="string"?o.split(".").reduce((l,u)=>l[u],window):o,this._config[r]||console.error("Invalid function",o);break;default:this._config[r]=o;break}}this._config.placeholder||(this._config.placeholder=this._getPlaceholder()),this._config.suggestionsThreshold==-1&&(this._config.suggestionsThreshold=this._config.liveServer?1:0)}config(t=null){return t?this._config[t]:this._config}setConfig(t,e){this._config[t]=e}_configureParent(){for(this.overflowParent=null,this.parentForm=this._selectElement.parentElement;this.parentForm&&(this.parentForm.style.overflow==="hidden"&&(this.overflowParent=this.parentForm),this.parentForm=this.parentForm.parentElement,!(this.parentForm&&this.parentForm.nodeName=="FORM")););this.parentForm&&this.parentForm.addEventListener("reset",this)}_getPlaceholder(){if(this._selectElement.hasAttribute("placeholder"))return this._selectElement.getAttribute("placeholder");if(this._selectElement.dataset.placeholder)return this._selectElement.dataset.placeholder;let t=this._selectElement.querySelector("option");return!t||!this._config.autoselectFirst?"":(rmAttr(t,"selected"),t.selected=!1,t.value?"":t.textContent)}_configureSelectElement(){const t=this._selectElement;this._config.hideNativeValidation?(t.style.position="absolute",t.style.left="-9999px"):t.style.cssText="height:1px;width:1px;opacity:0;padding:0;margin:0;border:0;float:left;flex-basis:100%;min-height:unset;",t.tabIndex=-1,t.addEventListener("focus",e=>{this.onclick(e)}),t.addEventListener("invalid",e=>{this._holderElement.classList.add(INVALID_CLASS)})}_configureDropElement(){const t=this._dropElement;t.classList.add("dropdown-menu",CLASS_PREFIX+"menu"),t.id=CLASS_PREFIX+"menu-"+counter,t.setAttribute("role","menu");const e=t.style;e.padding="0",e.maxHeight="280px",this._config.fullWidth||(e.maxWidth="360px"),this._config.fixed&&(e.position="fixed"),e.overflowY="auto",e.overscrollBehavior="contain",e.textAlign="unset",t.addEventListener("mouseenter",i=>{this._keyboardNavigation=!1}),this._holderElement.appendChild(t),this._searchInput.setAttribute("aria-controls",t.id)}_configureHolderElement(){const t=this._holderElement;t.classList.add("form-control","dropdown"),["form-select-lg","form-select-sm","is-invalid","is-valid"].forEach(e=>{this._selectElement.classList.contains(e)&&t.classList.add(e)}),this._config.suggestionsThreshold==0&&this._config.showDropIcon&&t.classList.add("form-select"),this.overflowParent&&(t.style.position="inherit"),t.style.height="auto",t.addEventListener("click",this)}_configureContainerElement(){this._containerElement.addEventListener("click",e=>{this.isDisabled()||this._searchInput.style.visibility!="hidden"&&this._searchInput.focus()});const t=this._containerElement.style;t.display="flex",t.alignItems="center",t.flexWrap="wrap"}_configureSearchInput(){const t=this._searchInput;t.type="text",t.autocomplete="off",t.spellcheck=!1,attrs(t,{"aria-autocomplete":"list","aria-haspopup":"menu","aria-expanded":"false","aria-label":this._config.searchLabel,role:"combobox"}),t.style.cssText="background-color:transparent;color:currentColor;border:0;padding:0;outline:0;max-width:100%",this.resetSearchInput(!0),this._containerElement.appendChild(t),this._rtl=window.getComputedStyle(t).direction==="rtl"}onfocus(t){elementsToBlur.has(this)&&elementsToBlur.delete(this),this._holderElement.classList.add(FOCUS_CLASS),this.showOrSearch(),this._config.onFocus(t,this)}onblur(t){elementsToBlur.add(this)}afteronblur(t){this._abortController&&this._abortController.abort();let e=!0;if(this._config.addOnBlur&&this._searchInput.value&&(e=this._enterValue()),this._holderElement.classList.remove(FOCUS_CLASS),this.hideSuggestions(e),this._fireEvents){const i=this.getSelection(),r={selection:i?i.dataset.value:null,input:this._searchInput.value};this._config.onBlur(t,this),this._selectElement.dispatchEvent(new CustomEvent("tags.blur",{bubbles:!0,detail:r}))}}onpaste(t){const i=(t.clipboardData||window.clipboardData).getData("text/plain").replace(/\r\n|\n/g," ");if(i.length>2&&this._config.separator.length){const r=splitMulti(i,this._config.separator).filter(a=>a);r.length>1&&(t.preventDefault(),r.forEach(a=>{this._addPastedValue(a)}))}}_addPastedValue(t){let e=t,i={};if(this._config.allowNew)i.new=1;else{const r=this.getSelection();if(!r)return;t=r.getAttribute(VALUE_ATTRIBUTE),e=r.dataset.label}this._config.confirmAdd(t,this).then(()=>{this._add(e,t,i)}).catch(()=>{})}oninput(t){const e=this._searchInput.value;if(e){const i=e.slice(-1);if(this._config.separator.length&&this._config.separator.includes(i)){this._searchInput.value=this._searchInput.value.slice(0,-1);let r=this._searchInput.value;this._addPastedValue(r);return}}setTimeout(()=>{this._adjustWidth()}),this.showOrSearch()}onkeydown(t){let e=t.keyCode||t.key;const i=t.target;switch(t.keyCode==229&&(e=i.value.charAt(i.selectionStart-1).charCodeAt(0)),e){case 13:case"Enter":t.preventDefault(),this._enterValue();break;case 38:case"ArrowUp":t.preventDefault(),this._keyboardNavigation=!0,this._moveSelection(PREV);break;case 40:case"ArrowDown":t.preventDefault(),this._keyboardNavigation=!0,this.isDropdownVisible()?this._moveSelection(NEXT):this.showOrSearch(!1);break;case 8:case"Backspace":const r=this.getLastItem();this._searchInput.value.length==0&&r&&this._config.confirmClear(r,this).then(()=>{this.removeLastItem(),this._adjustWidth(),this.showOrSearch()}).catch(()=>{});break;case 27:case"Escape":this._searchInput.focus(),this.hideSuggestions();break}}onmousemove(t){this._keyboardNavigation=!1}onmouseleave(t){this.removeSelection()}onscroll(t){this._positionMenu()}onresize(t){this._positionMenu()}onclick(t=null){!this.isSingle()&&this.isMaxReached()||this._searchInput.focus()}onreset(t){this.reset()}loadData(t=!1){Object.keys(this._config.items).length>0?this.setData(this._config.items,!0):this.resetSuggestions(!0),this._config.server&&(this._config.liveServer||this._loadFromServer(!t))}_setSelectedAttributes(){const t=this._selectElement.selectedOptions||[];for(let e=0;e({value:r.getAttribute("value"),label:r.textContent,disabled:r.disabled,selected:r.selected,data:Object.assign({disabled:r.disabled},r.dataset)});let i=Array.from(this._selectElement.children).filter(r=>r.hasAttribute("label")||!r.disabled||this._config.showDisabled).map(r=>r.hasAttribute("label")?{group:r.getAttribute("label"),items:Array.from(r.children).map(a=>e(a))}:e(r));this.setData(i,t)}_enterValue(){let t=this.getSelection();if(t)return t.click(),!0;if(this._config.allowNew&&this._searchInput.value){let e=this._searchInput.value;return this._config.confirmAdd(e,this).then(()=>{this._add(e,e,{new:1})}).catch(()=>{}),!0}return!1}_loadFromServer(t=!1){this._abortController&&this._abortController.abort(),this._abortController=new AbortController;let e=this._selectElement.dataset.serverParams||{};typeof e=="string"&&(e=JSON.parse(e));const i=Object.assign({},this._config.serverParams,e);if(i[this._config.queryParam]=this._searchInput.value,this._config.noCache&&(i.t=Date.now()),i.related){const l=document.getElementById(i.related);if(l){i.related=l.value;const u=l.getAttribute("name");u&&(i[u]=l.value)}}const r=new URLSearchParams(i);let a=this._config.server,o=Object.assign(this._config.fetchOptions,{method:this._config.serverMethod||"GET",signal:this._abortController.signal});o.method==="POST"?o.body=r:a+="?"+r.toString(),this._holderElement.classList.add(LOADING_CLASS),fetch(a,o).then(l=>this._config.onServerResponse(l,this)).then(l=>{const u=nested(this._config.serverDataKey,l)||l;this.setData(u,!t),this._abortController=null,t&&this._showSuggestions()}).catch(l=>{l.name==="AbortError"||this._abortController.signal.aborted||console.error(l)}).finally(l=>{this._holderElement.classList.remove(LOADING_CLASS)})}_add(t,e=null,i={}){if(!this.canAdd(t,i))return null;const r=this.addItem(t,e,i);return this._resetHtmlState(),this._config.keepOpen?this._showSuggestions():this.resetSearchInput(),r}_isItemEnabled(t){if(t.style.display==="none")return!1;const e=t.firstElementChild;return e.tagName==="A"&&!e.classList.contains("disabled")}_moveSelection(t=NEXT,e=null){const i=this.getSelection();if(i){const r=t===NEXT?"nextSibling":"previousSibling";e=i.parentNode;do e=e[r];while(e&&!this._isItemEnabled(e));e?i.classList.remove(...this._activeClasses()):i&&(e=i.parentElement)}else{if(t===PREV)return e;if(!e)for(e=this._dropElement.firstChild;e&&!this._isItemEnabled(e);)e=e.nextSibling}if(e){const r=e.offsetHeight,a=e.offsetTop,o=e.parentNode,l=o.offsetHeight,u=o.scrollHeight,d=o.offsetTop;if(r===0&&setTimeout(()=>{o.scrollTop=0}),t===PREV){const p=a-d>10?a-d:0;o.scrollTop=p}else a+r-(l+o.scrollTop)>0&&r>0&&(o.scrollTop=a+r-l+1,o.scrollTop+l>=u-10&&(o.scrollTop=a-d));const m=e.querySelector("a");m.classList.add(...this._activeClasses()),this._searchInput.setAttribute("aria-activedescendant",m.id),this._config.updateOnSelect&&(this._searchInput.value=m.dataset.label,this._adjustWidth())}else this._searchInput.setAttribute("aria-activedescendant","");return e}_adjustWidth(){this._holderElement.classList.remove(PLACEHOLDER_CLASS),this._searchInput.value?this._searchInput.size=this._searchInput.value.length:this.getSelectedValues().length?(this._searchInput.placeholder="",this._searchInput.size=1):(this._searchInput.size=this._config.placeholder.length>0?this._config.placeholder.length:1,this._searchInput.placeholder=this._config.placeholder,this._holderElement.classList.add(PLACEHOLDER_CLASS));const t=this._searchInput.value||this._searchInput.placeholder,e=window.getComputedStyle(this._holderElement).fontSize,i=calcTextWidth(t,e)+16;this._searchInput.style.width=i+"px"}_buildSuggestions(t){for(;this._dropElement.lastChild;)this._dropElement.removeChild(this._dropElement.lastChild);let e=0,i=1;for(let r=0;r',this._dropElement.appendChild(r)}}_buildSuggestionsItem(t,e){if(!t[this._config.valueField])return;const i=t[this._config.valueField],r=t[this._config.labelField];let a=this._config.onRenderItem(t,r,this);const o=ce("li");o.setAttribute("role","presentation"),t.group_id&&o.setAttribute("data-group-id",""+t.group_id);const l=ce("a");o.append(l),l.id=this._dropElement.id+"-"+e,l.classList.add("dropdown-item","text-truncate"),t.disabled&&l.classList.add("disabled"),l.setAttribute(VALUE_ATTRIBUTE,i),l.dataset.label=r;const u={};this._config.searchFields.forEach(d=>{u[d]=t[d]}),l.dataset.searchData=JSON.stringify(u),l.setAttribute("href","#"),l.innerHTML=a,this._dropElement.appendChild(o),l.addEventListener("mouseenter",d=>{this._keyboardNavigation||(this.removeSelection(),o.querySelector("a").classList.add(...this._activeClasses()))}),l.addEventListener("mousedown",d=>{d.preventDefault()}),l.addEventListener("click",d=>{d.preventDefault(),d.stopPropagation(),this._config.confirmAdd(i,this).then(()=>{this._add(r,i,t.data),this._config.onSelectItem(t,this)}).catch(()=>{})})}initialOptions(){return this._selectElement.querySelectorAll("option[data-init]")}_removeSelectedAttrs(){this._selectElement.querySelectorAll("option").forEach(t=>{rmAttr(t,"selected")})}reset(){this.removeAll(),this._fireEvents=!1;const t=this.initialOptions();this._removeSelectedAttrs();for(let e=0;ee.value)}getAvailableValues(){const t=this._selectElement.querySelectorAll("option");return Array.from(t).map(e=>e.value)}showOrSearch(t=!0){if(t&&!this._shouldShow()){this.hideSuggestions(!1);return}this._config.liveServer?this._searchFunc():this._showSuggestions()}hideSuggestions(t=!0){this._dropElement.classList.remove(SHOW_CLASS),attrs(this._searchInput,{"aria-expanded":"false"}),this.removeSelection(),t&&this._holderElement.classList.remove(INVALID_CLASS)}toggleSuggestions(t=!0,e=!0){this._dropElement.classList.contains(SHOW_CLASS)?this.hideSuggestions(e):this.showOrSearch(t)}_shouldShow(){return this.isDisabled()||this.isMaxReached()?!1:this._searchInput.value.length>=this._config.suggestionsThreshold}_showSuggestions(){if(this._searchInput.style.visibility=="hidden")return;setTimeout(()=>{elementsToBlur.has(this)||elementsToBlur.add(this)},0);const t=normalize(this._searchInput.value),e={},i=this._dropElement.querySelectorAll("li");let r=0,a=null,o=!1,l={};for(let u=0;u0){const w=JSON.parse(m.dataset.searchData);this._config.searchFields.forEach(v=>{const E=normalize(w[v]);let x=!1;if(this._config.fuzzy)x=fuzzyMatch(E,t);else{const S=E.indexOf(t);x=this._config.startsWith?S===0:S>=0}x&&(_=!0)})}const y=_||t.length===0;if(p||_?(r++,showItem(d),d.dataset.groupId&&(l[d.dataset.groupId]=!0),!a&&this._isItemEnabled(d)&&y&&(a=d),this._config.maximumItems>0&&r>this._config.maximumItems&&hideItem(d)):hideItem(d),this._config.highlightTyped){const w=m.textContent,v=normalize(w).indexOf(t),E=w.substring(0,v)+`${w.substring(v,v+t.length)}`+w.substring(v+t.length,w.length);m.innerHTML=E}this._isItemEnabled(d)&&(o=!0)}if(!this._config.allowNew&&!(t.length===0&&!o)&&this._holderElement.classList.add(INVALID_CLASS),this._config.allowNew&&this._config.regex&&this.isInvalid()&&this._holderElement.classList.remove(INVALID_CLASS),Array.from(i).filter(u=>u.dataset.id).forEach(u=>{l[u.dataset.id]===!0&&showItem(u)}),o&&(this._holderElement.classList.remove(INVALID_CLASS),a&&this._config.autoselectFirst&&(this.removeSelection(),this._moveSelection(NEXT,a))),r===0)if(this._config.notFoundMessage){const u=this._dropElement.querySelector("."+CLASS_PREFIX+"not-found");u.style.display="block";const d=this._config.notFoundMessage.replace("{{tag}}",this._searchInput.value);u.innerHTML=`${d}`,this._showDropdown()}else this.hideSuggestions(!1);else this._showDropdown()}_showDropdown(){const t=this._dropElement.classList.contains(SHOW_CLASS);t||(this._dropElement.classList.add(SHOW_CLASS),attrs(this._searchInput,{"aria-expanded":"true"})),this._positionMenu(t)}_positionMenu(t=!1){const e=this._rtl,i=this._config.fixed,r=this._config.fullWidth,a=this._searchInput.getBoundingClientRect(),o=this._holderElement.getBoundingClientRect();let l=0,u=0;if(i?r?(l=o.x,u=o.y+o.height+2):(l=a.x,u=a.y+a.height):r?(l=0,u=o.height+2):(l=this._searchInput.offsetLeft,u=this._searchInput.offsetHeight+this._searchInput.offsetTop),e&&!r&&(l-=this._dropElement.offsetWidth-a.width),!r){const p=Math.min(window.innerWidth,document.body.offsetWidth),_=e?a.x+a.width-this._dropElement.offsetWidth-1:p-1-(a.x+this._dropElement.offsetWidth);_<0&&(l=e?l-_:l+_)}r&&(this._dropElement.style.width=this._holderElement.offsetWidth+"px"),t||(this._dropElement.style.transform="unset"),Object.assign(this._dropElement.style,{left:l+"px",top:u+"px"});const d=this._dropElement.getBoundingClientRect(),m=window.innerHeight;if(d.y+d.height>m||this._dropElement.style.transform.includes("translateY")){const p=r?o.height+4:a.height;this._dropElement.style.transform="translateY(calc(-100.1% - "+p+"px))"}}_getBootstrapVersion(){let t=5,e=window.jQuery;return e&&e.fn.tooltip&&e.fn.tooltip.Constructor&&(t=parseInt(e.fn.tooltip.Constructor.VERSION.charAt(0))),t}_isSelected(t){return!!Array.from(this._selectElement.querySelectorAll("option")).find(r=>r.textContent==t&&r.getAttribute("selected"))}_isSelectable(t){const i=Array.from(this._selectElement.querySelectorAll("option")).filter(r=>r.textContent==t);return!(i.length>0&&!i.find(a=>!a.getAttribute("selected")))}hasItem(t){for(let e of this._config.items){const i=e.items||[e];for(let r of i)if(r[this._config.labelField]==t)return!0}return!1}getItem(t){for(let e of this._config.items){const i=e.items||[e];for(let r of i)if(r[this._config.valueField]==t)return r}return null}_validateRegex(t){return new RegExp(this._config.regex.trim()).test(t)}getSelection(){return this._dropElement.querySelector("a."+ACTIVE_CLASS)}removeSelection(){const t=this.getSelection();t&&t.classList.remove(...this._activeClasses())}_activeClasses(){return[...this._config.activeClasses,ACTIVE_CLASS]}getActiveSelection(){return this.getSelection()}removeActiveSelection(){return this.removeSelection()}removeAll(){this.getSelectedValues().forEach(e=>{this.removeItem(e,!0)}),this._adjustWidth()}removeLastItem(t=!1){let e=this.getLastItem();e&&this.removeItem(e,t)}getLastItem(){let t=this._containerElement.querySelectorAll("span."+CLASS_PREFIX+"badge");return t.length?t[t.length-1].getAttribute(VALUE_ATTRIBUTE):void 0}enable(){this._selectElement.setAttribute("disabled",""),this.resetState()}disable(){rmAttr(this._selectElement,"disabled"),this.resetState()}isDisabled(){return this._selectElement.hasAttribute("disabled")||this._selectElement.disabled||this._selectElement.hasAttribute("readonly")}isDropdownVisible(){return this._dropElement.classList.contains(SHOW_CLASS)}isInvalid(){return this._holderElement.classList.contains(INVALID_CLASS)}isSingle(){return!this._selectElement.hasAttribute("multiple")}isMaxReached(){return this._config.max&&this.getSelectedValues().length>=this._config.max}canAdd(t,e={}){if(!t||e.new&&!this._config.allowNew||!e.new&&!this.hasItem(t)||this.isDisabled())return!1;if(!this.isSingle()&&!this._config.allowSame){if(e.new){if(this._isSelected(t))return!1}else if(!this._isSelectable(t))return!1}return this.isMaxReached()?!1:this._config.regex&&e.new&&!this._validateRegex(t)?(this._holderElement.classList.add(INVALID_CLASS),!1):this._config.onCanAdd&&this._config.onCanAdd(t,e,this)===!1?(this._holderElement.classList.add(INVALID_CLASS),!1):!0}getData(){return this._config.items}setData(t,e=!1){Array.isArray(t)||(t=Object.entries(t).map(([i,r])=>({value:i,label:r}))),this._config.items!=t&&(this._config.items=t),e&&(this._removeSelectedAttrs(),t.forEach(i=>{const r=i[this._config.valueField],a=i[this._config.labelField];if(r&&(i.selected||this._config.selected.includes(r))){const o=this.addItem(a,r,i.data);o&&o.setAttribute("data-init","true")}})),this._buildSuggestions(t),this._resetHtmlState()}_findOption(t=null,e="",i=0){const a="option"+(t===null?"":'[value="'+CSS.escape(t)+'"]')+e;return this._selectElement.querySelectorAll(a)[i]||null}setItem(t,e={}){let i=null,r=this._findOption(t,":not([selected])");r&&(i=this.addItem(r.textContent,r.value,e));let a=this.getItem(t);if(a){const o=a[this._config.valueField],l=a[this._config.labelField];i=this.addItem(l,o,e)}return this._adjustWidth(),this._checkMax(),i}addItem(t,e=null,i={}){e||(e=t),this.isSingle()&&this.getSelectedValues().length&&this.removeLastItem(!0);let r=this._findOption(e,":not([selected])");if(!r){r=ce("option"),r.value=e,r.textContent=t;for(const[a,o]of Object.entries(i))r.dataset[a]=o;this._selectElement.appendChild(r),this._config.onCreateItem(r,this)}return r&&(i=Object.assign({title:r.getAttribute("title")},i,r.dataset)),r.setAttribute("selected","selected"),r.selected=!0,this._createBadge(t,e,i),this._fireEvents&&this._selectElement.dispatchEvent(new Event("change",{bubbles:!0})),r}_resetHtmlState(){const t=this._selectElement.innerHTML;this._selectElement.innerHTML="",this._selectElement.innerHTML=t,this._adjustWidth()}_createBadge(t,e=null,i={}){const r=this._getBootstrapVersion()===5,a=i.disabled&&parseBool(i.disabled),o=this._config.allowClear&&!a;let l=t,u=ce("span"),d=[CLASS_PREFIX+"badge"];const m=this.isSingle()&&!this._config.singleBadge;if(!m){d.push("badge");let _=this._config.badgeStyle;i.badgeStyle&&(_=i.badgeStyle),i.badgeClass&&d.push(...i.badgeClass.split(" ")),this._config.baseClass?d.push(...this._config.baseClass.split(" ")):r?d=[...d,"bg-"+_,"text-truncate"]:d=[...d,"badge-"+_],u.style.maxWidth="100%"}a&&d.push("disabled","opacity-50");const p=m?0:2;if(u.style.margin=p+"px 6px "+p+"px 0px",u.style.marginBlock=p+"px",u.style.marginInline="0px 6px",u.style.display="flex",u.style.alignItems="center",u.classList.add(...d),u.setAttribute(VALUE_ATTRIBUTE,e),i.title&&u.setAttribute("title",i.title),o){const _=d.includes("text-dark")||m?"btn-close":"btn-close btn-close-white";let y="margin-inline: 0px 6px;",w="left";this._config.clearEnd&&(w="right"),w=="right"&&(y="margin-inline: 6px 0px;");const v=r?'':'';l=w=="left"?v+l:l+v}u.innerHTML=l,this._containerElement.insertBefore(u,this._searchInput),i.title&&tooltip&&r&&tooltip.getOrCreateInstance(u),o&&u.querySelector("button").addEventListener("click",_=>{_.preventDefault(),_.stopPropagation(),this.isDisabled()||this._config.confirmClear(e,this).then(()=>{this.removeItem(e),document.activeElement.blur(),this._adjustWidth()}).catch(()=>{})})}getHolder(){return this._holderElement}clear(){this.hideSuggestions(),this.reset()}updateData(t){this.setData(t,!1),this.reset()}removeItem(t,e=!1){const i=CSS.escape(t);let r=this._containerElement.querySelectorAll("span["+VALUE_ATTRIBUTE+'="'+i+'"]');if(!r.length)return;const a=r.length-1,o=r[a];o&&(o.dataset.bsOriginalTitle&&tooltip.getOrCreateInstance(o).dispose(),o.remove());let l=this._findOption(t,"[selected]",a);l&&(rmAttr(l,"selected"),l.selected=!1,this._fireEvents&&!e&&this._selectElement.dispatchEvent(new Event("change",{bubbles:!0}))),this._searchInput.style.visibility=="hidden"&&!this.isMaxReached()&&(this._searchInput.style.visibility="visible",this._holderElement.classList.remove(MAX_REACHED_CLASS)),e||this._config.onClearItem(t,this)}}var leafletSrc={exports:{}};/* @preserve * Leaflet 1.9.4, a JS library for interactive maps. https://leafletjs.com * (c) 2010-2023 Vladimir Agafonkin, (c) 2010-2011 CloudMade - */(function(n,t){(function(e,i){i(t)})(commonjsGlobal,function(e){var i="1.9.4";function r(s){var c,h,g,b;for(h=1,g=arguments.length;h"u"||!L||!L.Mixin)){s=M(s)?s:[s];for(var c=0;c0?Math.floor(s):Math.ceil(s)};H.prototype={clone:function(){return new H(this.x,this.y)},add:function(s){return this.clone()._add(B(s))},_add:function(s){return this.x+=s.x,this.y+=s.y,this},subtract:function(s){return this.clone()._subtract(B(s))},_subtract:function(s){return this.x-=s.x,this.y-=s.y,this},divideBy:function(s){return this.clone()._divideBy(s)},_divideBy:function(s){return this.x/=s,this.y/=s,this},multiplyBy:function(s){return this.clone()._multiplyBy(s)},_multiplyBy:function(s){return this.x*=s,this.y*=s,this},scaleBy:function(s){return new H(this.x*s.x,this.y*s.y)},unscaleBy:function(s){return new H(this.x/s.x,this.y/s.y)},round:function(){return this.clone()._round()},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this},floor:function(){return this.clone()._floor()},_floor:function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this},ceil:function(){return this.clone()._ceil()},_ceil:function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this},trunc:function(){return this.clone()._trunc()},_trunc:function(){return this.x=X(this.x),this.y=X(this.y),this},distanceTo:function(s){s=B(s);var c=s.x-this.x,h=s.y-this.y;return Math.sqrt(c*c+h*h)},equals:function(s){return s=B(s),s.x===this.x&&s.y===this.y},contains:function(s){return s=B(s),Math.abs(s.x)<=Math.abs(this.x)&&Math.abs(s.y)<=Math.abs(this.y)},toString:function(){return"Point("+_(this.x)+", "+_(this.y)+")"}};function B(s,c,h){return s instanceof H?s:M(s)?new H(s[0],s[1]):s==null?s:typeof s=="object"&&"x"in s&&"y"in s?new H(s.x,s.y):new H(s,c,h)}function lt(s,c){if(s)for(var h=c?[s,c]:s,g=0,b=h.length;g=this.min.x&&h.x<=this.max.x&&c.y>=this.min.y&&h.y<=this.max.y},intersects:function(s){s=dt(s);var c=this.min,h=this.max,g=s.min,b=s.max,P=b.x>=c.x&&g.x<=h.x,T=b.y>=c.y&&g.y<=h.y;return P&&T},overlaps:function(s){s=dt(s);var c=this.min,h=this.max,g=s.min,b=s.max,P=b.x>c.x&&g.xc.y&&g.y=c.lat&&b.lat<=h.lat&&g.lng>=c.lng&&b.lng<=h.lng},intersects:function(s){s=rt(s);var c=this._southWest,h=this._northEast,g=s.getSouthWest(),b=s.getNorthEast(),P=b.lat>=c.lat&&g.lat<=h.lat,T=b.lng>=c.lng&&g.lng<=h.lng;return P&&T},overlaps:function(s){s=rt(s);var c=this._southWest,h=this._northEast,g=s.getSouthWest(),b=s.getNorthEast(),P=b.lat>c.lat&&g.latc.lng&&g.lng1,Bi=function(){var s=!1;try{var c=Object.defineProperty({},"passive",{get:function(){s=!0}});window.addEventListener("testPassiveEventSupport",p,c),window.removeEventListener("testPassiveEventSupport",p,c)}catch{}return s}(),Yi=function(){return!!document.createElement("canvas").getContext}(),tn=!!(document.createElementNS&&Ae("svg").createSVGRect),qi=!!tn&&function(){var s=document.createElement("div");return s.innerHTML="",(s.firstChild&&s.firstChild.namespaceURI)==="http://www.w3.org/2000/svg"}(),Ki=!tn&&function(){try{var s=document.createElement("div");s.innerHTML='';var c=s.firstChild;return c.style.behavior="url(#default#VML)",c&&typeof c.adj=="object"}catch{return!1}}(),Ui=navigator.platform.indexOf("Mac")===0,Gi=navigator.platform.indexOf("Linux")===0;function At(s){return navigator.userAgent.toLowerCase().indexOf(s)>=0}var G={ie:Zt,ielt9:Qe,edge:kt,webkit:Rt,android:he,android23:fe,androidStock:Le,opera:Qt,chrome:pe,gecko:ge,safari:Ni,phantom:An,opera12:Ln,win:Fi,ie3d:On,webkit3d:Je,gecko3d:Cn,any3d:Ii,mobile:_e,mobileWebkit:Ri,mobileWebkit3d:zi,msPointer:Dn,pointer:Nn,touch:Wi,touchNative:Fn,mobileOpera:Vi,mobileGecko:ji,retina:Hi,passiveEvents:Bi,canvas:Yi,svg:tn,vml:Ki,inlineSvg:qi,mac:Ui,linux:Gi},In=G.msPointer?"MSPointerDown":"pointerdown",Rn=G.msPointer?"MSPointerMove":"pointermove",zn=G.msPointer?"MSPointerUp":"pointerup",Wn=G.msPointer?"MSPointerCancel":"pointercancel",en={touchstart:In,touchmove:Rn,touchend:zn,touchcancel:Wn},Vn={touchstart:nr,touchmove:Oe,touchend:Oe,touchcancel:Oe},Jt={},jn=!1;function Xi(s,c,h){return c==="touchstart"&&er(),Vn[c]?(h=Vn[c].bind(this,h),s.addEventListener(en[c],h,!1),h):(console.warn("wrong event specified:",c),p)}function Zi(s,c,h){if(!en[c]){console.warn("wrong event specified:",c);return}s.removeEventListener(en[c],h,!1)}function Qi(s){Jt[s.pointerId]=s}function Ji(s){Jt[s.pointerId]&&(Jt[s.pointerId]=s)}function Hn(s){delete Jt[s.pointerId]}function er(){jn||(document.addEventListener(In,Qi,!0),document.addEventListener(Rn,Ji,!0),document.addEventListener(zn,Hn,!0),document.addEventListener(Wn,Hn,!0),jn=!0)}function Oe(s,c){if(c.pointerType!==(c.MSPOINTER_TYPE_MOUSE||"mouse")){c.touches=[];for(var h in Jt)c.touches.push(Jt[h]);c.changedTouches=[c],s(c)}}function nr(s,c){c.MSPOINTER_TYPE_TOUCH&&c.pointerType===c.MSPOINTER_TYPE_TOUCH&&yt(c),Oe(s,c)}function ir(s){var c={},h,g;for(g in s)h=s[g],c[g]=h&&h.bind?h.bind(s):h;return s=c,c.type="dblclick",c.detail=2,c.isTrusted=!1,c._simulated=!0,c}var rr=200;function ar(s,c){s.addEventListener("dblclick",c);var h=0,g;function b(P){if(P.detail!==1){g=P.detail;return}if(!(P.pointerType==="mouse"||P.sourceCapabilities&&!P.sourceCapabilities.firesTouchEvents)){var T=Un(P);if(!(T.some(function(D){return D instanceof HTMLLabelElement&&D.attributes.for})&&!T.some(function(D){return D instanceof HTMLInputElement||D instanceof HTMLSelectElement}))){var O=Date.now();O-h<=rr?(g++,g===2&&c(ir(P))):g=1,h=O}}}return s.addEventListener("click",b),{dblclick:c,simDblclick:b}}function sr(s,c){s.removeEventListener("dblclick",c.dblclick),s.removeEventListener("click",c.simDblclick)}var rn=Ne(["transform","webkitTransform","OTransform","MozTransform","msTransform"]),be=Ne(["webkitTransition","transition","OTransition","MozTransition","msTransition"]),Bn=be==="webkitTransition"||be==="OTransition"?be+"End":"transitionend";function Yn(s){return typeof s=="string"?document.getElementById(s):s}function ye(s,c){var h=s.style[c]||s.currentStyle&&s.currentStyle[c];if((!h||h==="auto")&&document.defaultView){var g=document.defaultView.getComputedStyle(s,null);h=g?g[c]:null}return h==="auto"?null:h}function ut(s,c,h){var g=document.createElement(s);return g.className=c||"",h&&h.appendChild(g),g}function ft(s){var c=s.parentNode;c&&c.removeChild(s)}function Ce(s){for(;s.firstChild;)s.removeChild(s.firstChild)}function te(s){var c=s.parentNode;c&&c.lastChild!==s&&c.appendChild(s)}function ee(s){var c=s.parentNode;c&&c.firstChild!==s&&c.insertBefore(s,c.firstChild)}function an(s,c){if(s.classList!==void 0)return s.classList.contains(c);var h=De(s);return h.length>0&&new RegExp("(^|\\s)"+c+"(\\s|$)").test(h)}function at(s,c){if(s.classList!==void 0)for(var h=w(c),g=0,b=h.length;g0?2*window.devicePixelRatio:1;function Xn(s){return G.edge?s.wheelDeltaY/2:s.deltaY&&s.deltaMode===0?-s.deltaY/cr:s.deltaY&&s.deltaMode===1?-s.deltaY*20:s.deltaY&&s.deltaMode===2?-s.deltaY*60:s.deltaX||s.deltaZ?0:s.wheelDelta?(s.wheelDeltaY||s.wheelDelta)/2:s.detail&&Math.abs(s.detail)<32765?-s.detail*20:s.detail?s.detail/-32765*60:0}function bn(s,c){var h=c.relatedTarget;if(!h)return!0;try{for(;h&&h!==s;)h=h.parentNode}catch{return!1}return h!==s}var ur={__proto__:null,on:et,off:ht,stopPropagation:Yt,disableScrollPropagation:_n,disableClickPropagation:Ee,preventDefault:yt,stop:qt,getPropagationPath:Un,getMousePosition:Gn,getWheelDelta:Xn,isExternalTarget:bn,addListener:et,removeListener:ht},Zn=V.extend({run:function(s,c,h,g){this.stop(),this._el=s,this._inProgress=!0,this._duration=h||.25,this._easeOutPower=1/Math.max(g||.5,.2),this._startPos=Bt(s),this._offset=c.subtract(this._startPos),this._startTime=+new Date,this.fire("start"),this._animate()},stop:function(){this._inProgress&&(this._step(!0),this._complete())},_animate:function(){this._animId=Y(this._animate,this),this._step()},_step:function(s){var c=+new Date-this._startTime,h=this._duration*1e3;cthis.options.maxZoom)?this.setZoom(s):this},panInsideBounds:function(s,c){this._enforcingBounds=!0;var h=this.getCenter(),g=this._limitCenter(h,this._zoom,rt(s));return h.equals(g)||this.panTo(g,c),this._enforcingBounds=!1,this},panInside:function(s,c){c=c||{};var h=B(c.paddingTopLeft||c.padding||[0,0]),g=B(c.paddingBottomRight||c.padding||[0,0]),b=this.project(this.getCenter()),P=this.project(s),T=this.getPixelBounds(),O=dt([T.min.add(h),T.max.subtract(g)]),D=O.getSize();if(!O.contains(P)){this._enforcingBounds=!0;var z=P.subtract(O.getCenter()),U=O.extend(P).getSize().subtract(D);b.x+=z.x<0?-U.x:U.x,b.y+=z.y<0?-U.y:U.y,this.panTo(this.unproject(b),c),this._enforcingBounds=!1}return this},invalidateSize:function(s){if(!this._loaded)return this;s=r({animate:!1,pan:!0},s===!0?{animate:!0}:s);var c=this.getSize();this._sizeChanged=!0,this._lastCenter=null;var h=this.getSize(),g=c.divideBy(2).round(),b=h.divideBy(2).round(),P=g.subtract(b);return!P.x&&!P.y?this:(s.animate&&s.pan?this.panBy(P):(s.pan&&this._rawPanBy(P),this.fire("move"),s.debounceMoveend?(clearTimeout(this._sizeTimer),this._sizeTimer=setTimeout(o(this.fire,this,"moveend"),200)):this.fire("moveend")),this.fire("resize",{oldSize:c,newSize:h}))},stop:function(){return this.setZoom(this._limitZoom(this._zoom)),this.options.zoomSnap||this.fire("viewreset"),this._stop()},locate:function(s){if(s=this._locateOptions=r({timeout:1e4,watch:!1},s),!("geolocation"in navigator))return this._handleGeolocationError({code:0,message:"Geolocation not supported."}),this;var c=o(this._handleGeolocationResponse,this),h=o(this._handleGeolocationError,this);return s.watch?this._locationWatchId=navigator.geolocation.watchPosition(c,h,s):navigator.geolocation.getCurrentPosition(c,h,s),this},stopLocate:function(){return navigator.geolocation&&navigator.geolocation.clearWatch&&navigator.geolocation.clearWatch(this._locationWatchId),this._locateOptions&&(this._locateOptions.setView=!1),this},_handleGeolocationError:function(s){if(this._container._leaflet_id){var c=s.code,h=s.message||(c===1?"permission denied":c===2?"position unavailable":"timeout");this._locateOptions.setView&&!this._loaded&&this.fitWorld(),this.fire("locationerror",{code:c,message:"Geolocation error: "+h+"."})}},_handleGeolocationResponse:function(s){if(this._container._leaflet_id){var c=s.coords.latitude,h=s.coords.longitude,g=new tt(c,h),b=g.toBounds(s.coords.accuracy*2),P=this._locateOptions;if(P.setView){var T=this.getBoundsZoom(b);this.setView(g,P.maxZoom?Math.min(T,P.maxZoom):T)}var O={latlng:g,bounds:b,timestamp:s.timestamp};for(var D in s.coords)typeof s.coords[D]=="number"&&(O[D]=s.coords[D]);this.fire("locationfound",O)}},addHandler:function(s,c){if(!c)return this;var h=this[s]=new c(this);return this._handlers.push(h),this.options[s]&&h.enable(),this},remove:function(){if(this._initEvents(!0),this.options.maxBounds&&this.off("moveend",this._panInsideMaxBounds),this._containerId!==this._container._leaflet_id)throw new Error("Map container is being reused by another instance");try{delete this._container._leaflet_id,delete this._containerId}catch{this._container._leaflet_id=void 0,this._containerId=void 0}this._locationWatchId!==void 0&&this.stopLocate(),this._stop(),ft(this._mapPane),this._clearControlPos&&this._clearControlPos(),this._resizeRequest&&(q(this._resizeRequest),this._resizeRequest=null),this._clearHandlers(),this._loaded&&this.fire("unload");var s;for(s in this._layers)this._layers[s].remove();for(s in this._panes)ft(this._panes[s]);return this._layers=[],this._panes=[],delete this._mapPane,delete this._renderer,this},createPane:function(s,c){var h="leaflet-pane"+(s?" leaflet-"+s.replace("Pane","")+"-pane":""),g=ut("div",h,c||this._mapPane);return s&&(this._panes[s]=g),g},getCenter:function(){return this._checkIfLoaded(),this._lastCenter&&!this._moved()?this._lastCenter.clone():this.layerPointToLatLng(this._getCenterLayerPoint())},getZoom:function(){return this._zoom},getBounds:function(){var s=this.getPixelBounds(),c=this.unproject(s.getBottomLeft()),h=this.unproject(s.getTopRight());return new st(c,h)},getMinZoom:function(){return this.options.minZoom===void 0?this._layersMinZoom||0:this.options.minZoom},getMaxZoom:function(){return this.options.maxZoom===void 0?this._layersMaxZoom===void 0?1/0:this._layersMaxZoom:this.options.maxZoom},getBoundsZoom:function(s,c,h){s=rt(s),h=B(h||[0,0]);var g=this.getZoom()||0,b=this.getMinZoom(),P=this.getMaxZoom(),T=s.getNorthWest(),O=s.getSouthEast(),D=this.getSize().subtract(h),z=dt(this.project(O,g),this.project(T,g)).getSize(),U=G.any3d?this.options.zoomSnap:1,Z=D.x/z.x,ot=D.y/z.y,wt=c?Math.max(Z,ot):Math.min(Z,ot);return g=this.getScaleZoom(wt,g),U&&(g=Math.round(g/(U/100))*(U/100),g=c?Math.ceil(g/U)*U:Math.floor(g/U)*U),Math.max(b,Math.min(P,g))},getSize:function(){return(!this._size||this._sizeChanged)&&(this._size=new H(this._container.clientWidth||0,this._container.clientHeight||0),this._sizeChanged=!1),this._size.clone()},getPixelBounds:function(s,c){var h=this._getTopLeftPoint(s,c);return new lt(h,h.add(this.getSize()))},getPixelOrigin:function(){return this._checkIfLoaded(),this._pixelOrigin},getPixelWorldBounds:function(s){return this.options.crs.getProjectedBounds(s===void 0?this.getZoom():s)},getPane:function(s){return typeof s=="string"?this._panes[s]:s},getPanes:function(){return this._panes},getContainer:function(){return this._container},getZoomScale:function(s,c){var h=this.options.crs;return c=c===void 0?this._zoom:c,h.scale(s)/h.scale(c)},getScaleZoom:function(s,c){var h=this.options.crs;c=c===void 0?this._zoom:c;var g=h.zoom(s*h.scale(c));return isNaN(g)?1/0:g},project:function(s,c){return c=c===void 0?this._zoom:c,this.options.crs.latLngToPoint(Q(s),c)},unproject:function(s,c){return c=c===void 0?this._zoom:c,this.options.crs.pointToLatLng(B(s),c)},layerPointToLatLng:function(s){var c=B(s).add(this.getPixelOrigin());return this.unproject(c)},latLngToLayerPoint:function(s){var c=this.project(Q(s))._round();return c._subtract(this.getPixelOrigin())},wrapLatLng:function(s){return this.options.crs.wrapLatLng(Q(s))},wrapLatLngBounds:function(s){return this.options.crs.wrapLatLngBounds(rt(s))},distance:function(s,c){return this.options.crs.distance(Q(s),Q(c))},containerPointToLayerPoint:function(s){return B(s).subtract(this._getMapPanePos())},layerPointToContainerPoint:function(s){return B(s).add(this._getMapPanePos())},containerPointToLatLng:function(s){var c=this.containerPointToLayerPoint(B(s));return this.layerPointToLatLng(c)},latLngToContainerPoint:function(s){return this.layerPointToContainerPoint(this.latLngToLayerPoint(Q(s)))},mouseEventToContainerPoint:function(s){return Gn(s,this._container)},mouseEventToLayerPoint:function(s){return this.containerPointToLayerPoint(this.mouseEventToContainerPoint(s))},mouseEventToLatLng:function(s){return this.layerPointToLatLng(this.mouseEventToLayerPoint(s))},_initContainer:function(s){var c=this._container=Yn(s);if(c){if(c._leaflet_id)throw new Error("Map container is already initialized.")}else throw new Error("Map container not found.");et(c,"scroll",this._onScroll,this),this._containerId=u(c)},_initLayout:function(){var s=this._container;this._fadeAnimated=this.options.fadeAnimation&&G.any3d,at(s,"leaflet-container"+(G.touch?" leaflet-touch":"")+(G.retina?" leaflet-retina":"")+(G.ielt9?" leaflet-oldie":"")+(G.safari?" leaflet-safari":"")+(this._fadeAnimated?" leaflet-fade-anim":""));var c=ye(s,"position");c!=="absolute"&&c!=="relative"&&c!=="fixed"&&c!=="sticky"&&(s.style.position="relative"),this._initPanes(),this._initControlPos&&this._initControlPos()},_initPanes:function(){var s=this._panes={};this._paneRenderers={},this._mapPane=this.createPane("mapPane",this._container),gt(this._mapPane,new H(0,0)),this.createPane("tilePane"),this.createPane("overlayPane"),this.createPane("shadowPane"),this.createPane("markerPane"),this.createPane("tooltipPane"),this.createPane("popupPane"),this.options.markerZoomAnimation||(at(s.markerPane,"leaflet-zoom-hide"),at(s.shadowPane,"leaflet-zoom-hide"))},_resetView:function(s,c,h){gt(this._mapPane,new H(0,0));var g=!this._loaded;this._loaded=!0,c=this._limitZoom(c),this.fire("viewprereset");var b=this._zoom!==c;this._moveStart(b,h)._move(s,c)._moveEnd(b),this.fire("viewreset"),g&&this.fire("load")},_moveStart:function(s,c){return s&&this.fire("zoomstart"),c||this.fire("movestart"),this},_move:function(s,c,h,g){c===void 0&&(c=this._zoom);var b=this._zoom!==c;return this._zoom=c,this._lastCenter=s,this._pixelOrigin=this._getNewPixelOrigin(s),g?h&&h.pinch&&this.fire("zoom",h):((b||h&&h.pinch)&&this.fire("zoom",h),this.fire("move",h)),this},_moveEnd:function(s){return s&&this.fire("zoomend"),this.fire("moveend")},_stop:function(){return q(this._flyToFrame),this._panAnim&&this._panAnim.stop(),this},_rawPanBy:function(s){gt(this._mapPane,this._getMapPanePos().subtract(s))},_getZoomSpan:function(){return this.getMaxZoom()-this.getMinZoom()},_panInsideMaxBounds:function(){this._enforcingBounds||this.panInsideBounds(this.options.maxBounds)},_checkIfLoaded:function(){if(!this._loaded)throw new Error("Set map center and zoom first.")},_initEvents:function(s){this._targets={},this._targets[u(this._container)]=this;var c=s?ht:et;c(this._container,"click dblclick mousedown mouseup mouseover mouseout mousemove contextmenu keypress keydown keyup",this._handleDOMEvent,this),this.options.trackResize&&c(window,"resize",this._onResize,this),G.any3d&&this.options.transform3DLimit&&(s?this.off:this.on).call(this,"moveend",this._onMoveEnd)},_onResize:function(){q(this._resizeRequest),this._resizeRequest=Y(function(){this.invalidateSize({debounceMoveend:!0})},this)},_onScroll:function(){this._container.scrollTop=0,this._container.scrollLeft=0},_onMoveEnd:function(){var s=this._getMapPanePos();Math.max(Math.abs(s.x),Math.abs(s.y))>=this.options.transform3DLimit&&this._resetView(this.getCenter(),this.getZoom())},_findEventTargets:function(s,c){for(var h=[],g,b=c==="mouseout"||c==="mouseover",P=s.target||s.srcElement,T=!1;P;){if(g=this._targets[u(P)],g&&(c==="click"||c==="preclick")&&this._draggableMoved(g)){T=!0;break}if(g&&g.listens(c,!0)&&(b&&!bn(P,s)||(h.push(g),b))||P===this._container)break;P=P.parentNode}return!h.length&&!T&&!b&&this.listens(c,!0)&&(h=[this]),h},_isClickDisabled:function(s){for(;s&&s!==this._container;){if(s._leaflet_disable_click)return!0;s=s.parentNode}},_handleDOMEvent:function(s){var c=s.target||s.srcElement;if(!(!this._loaded||c._leaflet_disable_events||s.type==="click"&&this._isClickDisabled(c))){var h=s.type;h==="mousedown"&&hn(c),this._fireDOMEvent(s,h)}},_mouseEvents:["click","dblclick","mouseover","mouseout","contextmenu"],_fireDOMEvent:function(s,c,h){if(s.type==="click"){var g=r({},s);g.type="preclick",this._fireDOMEvent(g,g.type,h)}var b=this._findEventTargets(s,c);if(h){for(var P=[],T=0;T0?Math.round(s-c)/2:Math.max(0,Math.ceil(s))-Math.max(0,Math.floor(c))},_limitZoom:function(s){var c=this.getMinZoom(),h=this.getMaxZoom(),g=G.any3d?this.options.zoomSnap:1;return g&&(s=Math.round(s/g)*g),Math.max(c,Math.min(h,s))},_onPanTransitionStep:function(){this.fire("move")},_onPanTransitionEnd:function(){mt(this._mapPane,"leaflet-pan-anim"),this.fire("moveend")},_tryAnimatedPan:function(s,c){var h=this._getCenterOffset(s)._trunc();return(c&&c.animate)!==!0&&!this.getSize().contains(h)?!1:(this.panBy(h,c),!0)},_createAnimProxy:function(){var s=this._proxy=ut("div","leaflet-proxy leaflet-zoom-animated");this._panes.mapPane.appendChild(s),this.on("zoomanim",function(c){var h=rn,g=this._proxy.style[h];Ht(this._proxy,this.project(c.center,c.zoom),this.getZoomScale(c.zoom,1)),g===this._proxy.style[h]&&this._animatingZoom&&this._onZoomTransitionEnd()},this),this.on("load moveend",this._animMoveEnd,this),this._on("unload",this._destroyAnimProxy,this)},_destroyAnimProxy:function(){ft(this._proxy),this.off("load moveend",this._animMoveEnd,this),delete this._proxy},_animMoveEnd:function(){var s=this.getCenter(),c=this.getZoom();Ht(this._proxy,this.project(s,c),this.getZoomScale(c,1))},_catchTransitionEnd:function(s){this._animatingZoom&&s.propertyName.indexOf("transform")>=0&&this._onZoomTransitionEnd()},_nothingToAnimate:function(){return!this._container.getElementsByClassName("leaflet-zoom-animated").length},_tryAnimatedZoom:function(s,c,h){if(this._animatingZoom)return!0;if(h=h||{},!this._zoomAnimated||h.animate===!1||this._nothingToAnimate()||Math.abs(c-this._zoom)>this.options.zoomAnimationThreshold)return!1;var g=this.getZoomScale(c),b=this._getCenterOffset(s)._divideBy(1-1/g);return h.animate!==!0&&!this.getSize().contains(b)?!1:(Y(function(){this._moveStart(!0,h.noMoveStart||!1)._animateZoom(s,c,!0)},this),!0)},_animateZoom:function(s,c,h,g){this._mapPane&&(h&&(this._animatingZoom=!0,this._animateToCenter=s,this._animateToZoom=c,at(this._mapPane,"leaflet-zoom-anim")),this.fire("zoomanim",{center:s,zoom:c,noUpdate:g}),this._tempFireZoomEvent||(this._tempFireZoomEvent=this._zoom!==this._animateToZoom),this._move(this._animateToCenter,this._animateToZoom,void 0,!0),setTimeout(o(this._onZoomTransitionEnd,this),250))},_onZoomTransitionEnd:function(){this._animatingZoom&&(this._mapPane&&mt(this._mapPane,"leaflet-zoom-anim"),this._animatingZoom=!1,this._move(this._animateToCenter,this._animateToZoom,void 0,!0),this._tempFireZoomEvent&&this.fire("zoom"),delete this._tempFireZoomEvent,this.fire("move"),this._moveEnd(!0))}});function dr(s,c){return new ct(s,c)}var $t=nt.extend({options:{position:"topright"},initialize:function(s){v(this,s)},getPosition:function(){return this.options.position},setPosition:function(s){var c=this._map;return c&&c.removeControl(this),this.options.position=s,c&&c.addControl(this),this},getContainer:function(){return this._container},addTo:function(s){this.remove(),this._map=s;var c=this._container=this.onAdd(s),h=this.getPosition(),g=s._controlCorners[h];return at(c,"leaflet-control"),h.indexOf("bottom")!==-1?g.insertBefore(c,g.firstChild):g.appendChild(c),this._map.on("unload",this.remove,this),this},remove:function(){return this._map?(ft(this._container),this.onRemove&&this.onRemove(this._map),this._map.off("unload",this.remove,this),this._map=null,this):this},_refocusOnMap:function(s){this._map&&s&&s.screenX>0&&s.screenY>0&&this._map.getContainer().focus()}}),xe=function(s){return new $t(s)};ct.include({addControl:function(s){return s.addTo(this),this},removeControl:function(s){return s.remove(),this},_initControlPos:function(){var s=this._controlCorners={},c="leaflet-",h=this._controlContainer=ut("div",c+"control-container",this._container);function g(b,P){var T=c+b+" "+c+P;s[b+P]=ut("div",T,h)}g("top","left"),g("top","right"),g("bottom","left"),g("bottom","right")},_clearControlPos:function(){for(var s in this._controlCorners)ft(this._controlCorners[s]);ft(this._controlContainer),delete this._controlCorners,delete this._controlContainer}});var Qn=$t.extend({options:{collapsed:!0,position:"topright",autoZIndex:!0,hideSingleBase:!1,sortLayers:!1,sortFunction:function(s,c,h,g){return h1,this._baseLayersList.style.display=s?"":"none"),this._separator.style.display=c&&s?"":"none",this},_onLayerChange:function(s){this._handlingClick||this._update();var c=this._getLayer(u(s.target)),h=c.overlay?s.type==="add"?"overlayadd":"overlayremove":s.type==="add"?"baselayerchange":null;h&&this._map.fire(h,c)},_createRadioElement:function(s,c){var h='",g=document.createElement("div");return g.innerHTML=h,g.firstChild},_addItem:function(s){var c=document.createElement("label"),h=this._map.hasLayer(s.layer),g;s.overlay?(g=document.createElement("input"),g.type="checkbox",g.className="leaflet-control-layers-selector",g.defaultChecked=h):g=this._createRadioElement("leaflet-base-layers_"+u(this),h),this._layerControlInputs.push(g),g.layerId=u(s.layer),et(g,"click",this._onInputClick,this);var b=document.createElement("span");b.innerHTML=" "+s.name;var P=document.createElement("span");c.appendChild(P),P.appendChild(g),P.appendChild(b);var T=s.overlay?this._overlaysList:this._baseLayersList;return T.appendChild(c),this._checkDisabledLayers(),c},_onInputClick:function(){if(!this._preventClick){var s=this._layerControlInputs,c,h,g=[],b=[];this._handlingClick=!0;for(var P=s.length-1;P>=0;P--)c=s[P],h=this._getLayer(c.layerId).layer,c.checked?g.push(h):c.checked||b.push(h);for(P=0;P=0;b--)c=s[b],h=this._getLayer(c.layerId).layer,c.disabled=h.options.minZoom!==void 0&&gh.options.maxZoom},_expandIfNotCollapsed:function(){return this._map&&!this.options.collapsed&&this.expand(),this},_expandSafely:function(){var s=this._section;this._preventClick=!0,et(s,"click",yt),this.expand();var c=this;setTimeout(function(){ht(s,"click",yt),c._preventClick=!1})}}),hr=function(s,c,h){return new Qn(s,c,h)},yn=$t.extend({options:{position:"topleft",zoomInText:'',zoomInTitle:"Zoom in",zoomOutText:'',zoomOutTitle:"Zoom out"},onAdd:function(s){var c="leaflet-control-zoom",h=ut("div",c+" leaflet-bar"),g=this.options;return this._zoomInButton=this._createButton(g.zoomInText,g.zoomInTitle,c+"-in",h,this._zoomIn),this._zoomOutButton=this._createButton(g.zoomOutText,g.zoomOutTitle,c+"-out",h,this._zoomOut),this._updateDisabled(),s.on("zoomend zoomlevelschange",this._updateDisabled,this),h},onRemove:function(s){s.off("zoomend zoomlevelschange",this._updateDisabled,this)},disable:function(){return this._disabled=!0,this._updateDisabled(),this},enable:function(){return this._disabled=!1,this._updateDisabled(),this},_zoomIn:function(s){!this._disabled&&this._map._zoomthis._map.getMinZoom()&&this._map.zoomOut(this._map.options.zoomDelta*(s.shiftKey?3:1))},_createButton:function(s,c,h,g,b){var P=ut("a",h,g);return P.innerHTML=s,P.href="#",P.title=c,P.setAttribute("role","button"),P.setAttribute("aria-label",c),Ee(P),et(P,"click",qt),et(P,"click",b,this),et(P,"click",this._refocusOnMap,this),P},_updateDisabled:function(){var s=this._map,c="leaflet-disabled";mt(this._zoomInButton,c),mt(this._zoomOutButton,c),this._zoomInButton.setAttribute("aria-disabled","false"),this._zoomOutButton.setAttribute("aria-disabled","false"),(this._disabled||s._zoom===s.getMinZoom())&&(at(this._zoomOutButton,c),this._zoomOutButton.setAttribute("aria-disabled","true")),(this._disabled||s._zoom===s.getMaxZoom())&&(at(this._zoomInButton,c),this._zoomInButton.setAttribute("aria-disabled","true"))}});ct.mergeOptions({zoomControl:!0}),ct.addInitHook(function(){this.options.zoomControl&&(this.zoomControl=new yn,this.addControl(this.zoomControl))});var mr=function(s){return new yn(s)},Jn=$t.extend({options:{position:"bottomleft",maxWidth:100,metric:!0,imperial:!0},onAdd:function(s){var c="leaflet-control-scale",h=ut("div",c),g=this.options;return this._addScales(g,c+"-line",h),s.on(g.updateWhenIdle?"moveend":"move",this._update,this),s.whenReady(this._update,this),h},onRemove:function(s){s.off(this.options.updateWhenIdle?"moveend":"move",this._update,this)},_addScales:function(s,c,h){s.metric&&(this._mScale=ut("div",c,h)),s.imperial&&(this._iScale=ut("div",c,h))},_update:function(){var s=this._map,c=s.getSize().y/2,h=s.distance(s.containerPointToLatLng([0,c]),s.containerPointToLatLng([this.options.maxWidth,c]));this._updateScales(h)},_updateScales:function(s){this.options.metric&&s&&this._updateMetric(s),this.options.imperial&&s&&this._updateImperial(s)},_updateMetric:function(s){var c=this._getRoundNum(s),h=c<1e3?c+" m":c/1e3+" km";this._updateScale(this._mScale,h,c/s)},_updateImperial:function(s){var c=s*3.2808399,h,g,b;c>5280?(h=c/5280,g=this._getRoundNum(h),this._updateScale(this._iScale,g+" mi",g/h)):(b=this._getRoundNum(c),this._updateScale(this._iScale,b+" ft",b/c))},_updateScale:function(s,c,h){s.style.width=Math.round(this.options.maxWidth*h)+"px",s.innerHTML=c},_getRoundNum:function(s){var c=Math.pow(10,(Math.floor(s)+"").length-1),h=s/c;return h=h>=10?10:h>=5?5:h>=3?3:h>=2?2:1,c*h}}),pr=function(s){return new Jn(s)},gr='',vn=$t.extend({options:{position:"bottomright",prefix:''+(G.inlineSvg?gr+" ":"")+"Leaflet"},initialize:function(s){v(this,s),this._attributions={}},onAdd:function(s){s.attributionControl=this,this._container=ut("div","leaflet-control-attribution"),Ee(this._container);for(var c in s._layers)s._layers[c].getAttribution&&this.addAttribution(s._layers[c].getAttribution());return this._update(),s.on("layeradd",this._addAttribution,this),this._container},onRemove:function(s){s.off("layeradd",this._addAttribution,this)},_addAttribution:function(s){s.layer.getAttribution&&(this.addAttribution(s.layer.getAttribution()),s.layer.once("remove",function(){this.removeAttribution(s.layer.getAttribution())},this))},setPrefix:function(s){return this.options.prefix=s,this._update(),this},addAttribution:function(s){return s?(this._attributions[s]||(this._attributions[s]=0),this._attributions[s]++,this._update(),this):this},removeAttribution:function(s){return s?(this._attributions[s]&&(this._attributions[s]--,this._update()),this):this},_update:function(){if(this._map){var s=[];for(var c in this._attributions)this._attributions[c]&&s.push(c);var h=[];this.options.prefix&&h.push(this.options.prefix),s.length&&h.push(s.join(", ")),this._container.innerHTML=h.join(' ')}}});ct.mergeOptions({attributionControl:!0}),ct.addInitHook(function(){this.options.attributionControl&&new vn().addTo(this)});var _r=function(s){return new vn(s)};$t.Layers=Qn,$t.Zoom=yn,$t.Scale=Jn,$t.Attribution=vn,xe.layers=hr,xe.zoom=mr,xe.scale=pr,xe.attribution=_r;var Ot=nt.extend({initialize:function(s){this._map=s},enable:function(){return this._enabled?this:(this._enabled=!0,this.addHooks(),this)},disable:function(){return this._enabled?(this._enabled=!1,this.removeHooks(),this):this},enabled:function(){return!!this._enabled}});Ot.addTo=function(s,c){return s.addHandler(c,this),this};var br={Events:N},ti=G.touch?"touchstart mousedown":"mousedown",zt=V.extend({options:{clickTolerance:3},initialize:function(s,c,h,g){v(this,g),this._element=s,this._dragStartTarget=c||s,this._preventOutline=h},enable:function(){this._enabled||(et(this._dragStartTarget,ti,this._onDown,this),this._enabled=!0)},disable:function(){this._enabled&&(zt._dragging===this&&this.finishDrag(!0),ht(this._dragStartTarget,ti,this._onDown,this),this._enabled=!1,this._moved=!1)},_onDown:function(s){if(this._enabled&&(this._moved=!1,!an(this._element,"leaflet-zoom-anim"))){if(s.touches&&s.touches.length!==1){zt._dragging===this&&this.finishDrag();return}if(!(zt._dragging||s.shiftKey||s.which!==1&&s.button!==1&&!s.touches)&&(zt._dragging=this,this._preventOutline&&hn(this._element),cn(),ve(),!this._moving)){this.fire("down");var c=s.touches?s.touches[0]:s,h=qn(this._element);this._startPoint=new H(c.clientX,c.clientY),this._startPos=Bt(this._element),this._parentScale=fn(h);var g=s.type==="mousedown";et(document,g?"mousemove":"touchmove",this._onMove,this),et(document,g?"mouseup":"touchend touchcancel",this._onUp,this)}}},_onMove:function(s){if(this._enabled){if(s.touches&&s.touches.length>1){this._moved=!0;return}var c=s.touches&&s.touches.length===1?s.touches[0]:s,h=new H(c.clientX,c.clientY)._subtract(this._startPoint);!h.x&&!h.y||Math.abs(h.x)+Math.abs(h.y)P&&(T=O,P=D);P>h&&(c[T]=1,Pn(s,c,h,g,T),Pn(s,c,h,T,b))}function Pr(s,c){for(var h=[s[0]],g=1,b=0,P=s.length;gc&&(h.push(s[g]),b=g);return bc.max.x&&(h|=2),s.yc.max.y&&(h|=8),h}function Er(s,c){var h=c.x-s.x,g=c.y-s.y;return h*h+g*g}function Se(s,c,h,g){var b=c.x,P=c.y,T=h.x-b,O=h.y-P,D=T*T+O*O,z;return D>0&&(z=((s.x-b)*T+(s.y-P)*O)/D,z>1?(b=h.x,P=h.y):z>0&&(b+=T*z,P+=O*z)),T=s.x-b,O=s.y-P,g?T*T+O*O:new H(b,P)}function St(s){return!M(s[0])||typeof s[0][0]!="object"&&typeof s[0][0]<"u"}function oi(s){return console.warn("Deprecated use of _flat, please use L.LineUtil.isFlat instead."),St(s)}function li(s,c){var h,g,b,P,T,O,D,z;if(!s||s.length===0)throw new Error("latlngs not passed");St(s)||(console.warn("latlngs are not flat! Only the first ring will be used"),s=s[0]);var U=Q([0,0]),Z=rt(s),ot=Z.getNorthWest().distanceTo(Z.getSouthWest())*Z.getNorthEast().distanceTo(Z.getNorthWest());ot<1700&&(U=wn(s));var wt=s.length,bt=[];for(h=0;hg){D=(P-g)/b,z=[O.x-D*(O.x-T.x),O.y-D*(O.y-T.y)];break}var Et=c.unproject(B(z));return Q([Et.lat+U.lat,Et.lng+U.lng])}var xr={__proto__:null,simplify:ii,pointToSegmentDistance:ri,closestPointOnSegment:vr,clipSegment:si,_getEdgeIntersection:Re,_getBitCode:Kt,_sqClosestPointOnSegment:Se,isFlat:St,_flat:oi,polylineCenter:li},En={project:function(s){return new H(s.lng,s.lat)},unproject:function(s){return new tt(s.y,s.x)},bounds:new lt([-180,-90],[180,90])},xn={R:6378137,R_MINOR:6356752314245179e-9,bounds:new lt([-2003750834279e-5,-1549657073972e-5],[2003750834279e-5,1876465623138e-5]),project:function(s){var c=Math.PI/180,h=this.R,g=s.lat*c,b=this.R_MINOR/h,P=Math.sqrt(1-b*b),T=P*Math.sin(g),O=Math.tan(Math.PI/4-g/2)/Math.pow((1-T)/(1+T),P/2);return g=-h*Math.log(Math.max(O,1e-10)),new H(s.lng*c*h,g)},unproject:function(s){for(var c=180/Math.PI,h=this.R,g=this.R_MINOR/h,b=Math.sqrt(1-g*g),P=Math.exp(-s.y/h),T=Math.PI/2-2*Math.atan(P),O=0,D=.1,z;O<15&&Math.abs(D)>1e-7;O++)z=b*Math.sin(T),z=Math.pow((1-z)/(1+z),b/2),D=Math.PI/2-2*Math.atan(P*z)-T,T+=D;return new tt(T*c,s.x*c/h)}},Sr={__proto__:null,LonLat:En,Mercator:xn,SphericalMercator:le},Tr=r({},vt,{code:"EPSG:3395",projection:xn,transformation:function(){var s=.5/(Math.PI*xn.R);return jt(s,.5,-s,.5)}()}),ci=r({},vt,{code:"EPSG:4326",projection:En,transformation:jt(1/180,1,-1/180,.5)}),$r=r({},Pt,{projection:En,transformation:jt(1,0,-1,0),scale:function(s){return Math.pow(2,s)},zoom:function(s){return Math.log(s)/Math.LN2},distance:function(s,c){var h=c.lng-s.lng,g=c.lat-s.lat;return Math.sqrt(h*h+g*g)},infinite:!0});Pt.Earth=vt,Pt.EPSG3395=Tr,Pt.EPSG3857=Gt,Pt.EPSG900913=Ze,Pt.EPSG4326=ci,Pt.Simple=$r;var Mt=V.extend({options:{pane:"overlayPane",attribution:null,bubblingMouseEvents:!0},addTo:function(s){return s.addLayer(this),this},remove:function(){return this.removeFrom(this._map||this._mapToAdd)},removeFrom:function(s){return s&&s.removeLayer(this),this},getPane:function(s){return this._map.getPane(s?this.options[s]||s:this.options.pane)},addInteractiveTarget:function(s){return this._map._targets[u(s)]=this,this},removeInteractiveTarget:function(s){return delete this._map._targets[u(s)],this},getAttribution:function(){return this.options.attribution},_layerAdd:function(s){var c=s.target;if(c.hasLayer(this)){if(this._map=c,this._zoomAnimated=c._zoomAnimated,this.getEvents){var h=this.getEvents();c.on(h,this),this.once("remove",function(){c.off(h,this)},this)}this.onAdd(c),this.fire("add"),c.fire("layeradd",{layer:this})}}});ct.include({addLayer:function(s){if(!s._layerAdd)throw new Error("The provided object is not a Layer.");var c=u(s);return this._layers[c]?this:(this._layers[c]=s,s._mapToAdd=this,s.beforeAdd&&s.beforeAdd(this),this.whenReady(s._layerAdd,s),this)},removeLayer:function(s){var c=u(s);return this._layers[c]?(this._loaded&&s.onRemove(this),delete this._layers[c],this._loaded&&(this.fire("layerremove",{layer:s}),s.fire("remove")),s._map=s._mapToAdd=null,this):this},hasLayer:function(s){return u(s)in this._layers},eachLayer:function(s,c){for(var h in this._layers)s.call(c,this._layers[h]);return this},_addLayers:function(s){s=s?M(s)?s:[s]:[];for(var c=0,h=s.length;cthis._layersMaxZoom&&this.setZoom(this._layersMaxZoom),this.options.minZoom===void 0&&this._layersMinZoom&&this.getZoom()=2&&c[0]instanceof tt&&c[0].equals(c[h-1])&&c.pop(),c},_setLatLngs:function(s){Nt.prototype._setLatLngs.call(this,s),St(this._latlngs)&&(this._latlngs=[this._latlngs])},_defaultShape:function(){return St(this._latlngs[0])?this._latlngs[0]:this._latlngs[0][0]},_clipPoints:function(){var s=this._renderer._bounds,c=this.options.weight,h=new H(c,c);if(s=new lt(s.min.subtract(h),s.max.add(h)),this._parts=[],!(!this._pxBounds||!this._pxBounds.intersects(s))){if(this.options.noClip){this._parts=this._rings;return}for(var g=0,b=this._rings.length,P;gs.y!=b.y>s.y&&s.x<(b.x-g.x)*(s.y-g.y)/(b.y-g.y)+g.x&&(c=!c);return c||Nt.prototype._containsPoint.call(this,s,!0)}});function Nr(s,c){return new re(s,c)}var Ft=Dt.extend({initialize:function(s,c){v(this,c),this._layers={},s&&this.addData(s)},addData:function(s){var c=M(s)?s:s.features,h,g,b;if(c){for(h=0,g=c.length;h0&&b.push(b[0].slice()),b}function ae(s,c){return s.feature?r({},s.feature,{geometry:c}):Be(c)}function Be(s){return s.type==="Feature"||s.type==="FeatureCollection"?s:{type:"Feature",properties:{},geometry:s}}var Mn={toGeoJSON:function(s){return ae(this,{type:"Point",coordinates:$n(this.getLatLng(),s)})}};ze.include(Mn),Sn.include(Mn),We.include(Mn),Nt.include({toGeoJSON:function(s){var c=!St(this._latlngs),h=He(this._latlngs,c?1:0,!1,s);return ae(this,{type:(c?"Multi":"")+"LineString",coordinates:h})}}),re.include({toGeoJSON:function(s){var c=!St(this._latlngs),h=c&&!St(this._latlngs[0]),g=He(this._latlngs,h?2:c?1:0,!0,s);return c||(g=[g]),ae(this,{type:(h?"Multi":"")+"Polygon",coordinates:g})}}),ne.include({toMultiPoint:function(s){var c=[];return this.eachLayer(function(h){c.push(h.toGeoJSON(s).geometry.coordinates)}),ae(this,{type:"MultiPoint",coordinates:c})},toGeoJSON:function(s){var c=this.feature&&this.feature.geometry&&this.feature.geometry.type;if(c==="MultiPoint")return this.toMultiPoint(s);var h=c==="GeometryCollection",g=[];return this.eachLayer(function(b){if(b.toGeoJSON){var P=b.toGeoJSON(s);if(h)g.push(P.geometry);else{var T=Be(P);T.type==="FeatureCollection"?g.push.apply(g,T.features):g.push(T)}}}),h?ae(this,{geometries:g,type:"GeometryCollection"}):{type:"FeatureCollection",features:g}}});function hi(s,c){return new Ft(s,c)}var Fr=hi,Ye=Mt.extend({options:{opacity:1,alt:"",interactive:!1,crossOrigin:!1,errorOverlayUrl:"",zIndex:1,className:""},initialize:function(s,c,h){this._url=s,this._bounds=rt(c),v(this,h)},onAdd:function(){this._image||(this._initImage(),this.options.opacity<1&&this._updateOpacity()),this.options.interactive&&(at(this._image,"leaflet-interactive"),this.addInteractiveTarget(this._image)),this.getPane().appendChild(this._image),this._reset()},onRemove:function(){ft(this._image),this.options.interactive&&this.removeInteractiveTarget(this._image)},setOpacity:function(s){return this.options.opacity=s,this._image&&this._updateOpacity(),this},setStyle:function(s){return s.opacity&&this.setOpacity(s.opacity),this},bringToFront:function(){return this._map&&te(this._image),this},bringToBack:function(){return this._map&&ee(this._image),this},setUrl:function(s){return this._url=s,this._image&&(this._image.src=s),this},setBounds:function(s){return this._bounds=rt(s),this._map&&this._reset(),this},getEvents:function(){var s={zoom:this._reset,viewreset:this._reset};return this._zoomAnimated&&(s.zoomanim=this._animateZoom),s},setZIndex:function(s){return this.options.zIndex=s,this._updateZIndex(),this},getBounds:function(){return this._bounds},getElement:function(){return this._image},_initImage:function(){var s=this._url.tagName==="IMG",c=this._image=s?this._url:ut("img");if(at(c,"leaflet-image-layer"),this._zoomAnimated&&at(c,"leaflet-zoom-animated"),this.options.className&&at(c,this.options.className),c.onselectstart=p,c.onmousemove=p,c.onload=o(this.fire,this,"load"),c.onerror=o(this._overlayOnError,this,"error"),(this.options.crossOrigin||this.options.crossOrigin==="")&&(c.crossOrigin=this.options.crossOrigin===!0?"":this.options.crossOrigin),this.options.zIndex&&this._updateZIndex(),s){this._url=c.src;return}c.src=this._url,c.alt=this.options.alt},_animateZoom:function(s){var c=this._map.getZoomScale(s.zoom),h=this._map._latLngBoundsToNewLayerBounds(this._bounds,s.zoom,s.center).min;Ht(this._image,h,c)},_reset:function(){var s=this._image,c=new lt(this._map.latLngToLayerPoint(this._bounds.getNorthWest()),this._map.latLngToLayerPoint(this._bounds.getSouthEast())),h=c.getSize();gt(s,c.min),s.style.width=h.x+"px",s.style.height=h.y+"px"},_updateOpacity:function(){xt(this._image,this.options.opacity)},_updateZIndex:function(){this._image&&this.options.zIndex!==void 0&&this.options.zIndex!==null&&(this._image.style.zIndex=this.options.zIndex)},_overlayOnError:function(){this.fire("error");var s=this.options.errorOverlayUrl;s&&this._url!==s&&(this._url=s,this._image.src=s)},getCenter:function(){return this._bounds.getCenter()}}),Ir=function(s,c,h){return new Ye(s,c,h)},mi=Ye.extend({options:{autoplay:!0,loop:!0,keepAspectRatio:!0,muted:!1,playsInline:!0},_initImage:function(){var s=this._url.tagName==="VIDEO",c=this._image=s?this._url:ut("video");if(at(c,"leaflet-image-layer"),this._zoomAnimated&&at(c,"leaflet-zoom-animated"),this.options.className&&at(c,this.options.className),c.onselectstart=p,c.onmousemove=p,c.onloadeddata=o(this.fire,this,"load"),s){for(var h=c.getElementsByTagName("source"),g=[],b=0;b0?g:[c.src];return}M(this._url)||(this._url=[this._url]),!this.options.keepAspectRatio&&Object.prototype.hasOwnProperty.call(c.style,"objectFit")&&(c.style.objectFit="fill"),c.autoplay=!!this.options.autoplay,c.loop=!!this.options.loop,c.muted=!!this.options.muted,c.playsInline=!!this.options.playsInline;for(var P=0;Pb?(c.height=b+"px",at(s,P)):mt(s,P),this._containerWidth=this._container.offsetWidth},_animateZoom:function(s){var c=this._map._latLngToNewLayerPoint(this._latlng,s.zoom,s.center),h=this._getAnchor();gt(this._container,c.add(h))},_adjustPan:function(){if(this.options.autoPan){if(this._map._panAnim&&this._map._panAnim.stop(),this._autopanning){this._autopanning=!1;return}var s=this._map,c=parseInt(ye(this._container,"marginBottom"),10)||0,h=this._container.offsetHeight+c,g=this._containerWidth,b=new H(this._containerLeft,-h-this._containerBottom);b._add(Bt(this._container));var P=s.layerPointToContainerPoint(b),T=B(this.options.autoPanPadding),O=B(this.options.autoPanPaddingTopLeft||T),D=B(this.options.autoPanPaddingBottomRight||T),z=s.getSize(),U=0,Z=0;P.x+g+D.x>z.x&&(U=P.x+g-z.x+D.x),P.x-U-O.x<0&&(U=P.x-O.x),P.y+h+D.y>z.y&&(Z=P.y+h-z.y+D.y),P.y-Z-O.y<0&&(Z=P.y-O.y),(U||Z)&&(this.options.keepInView&&(this._autopanning=!0),s.fire("autopanstart").panBy([U,Z]))}},_getAnchor:function(){return B(this._source&&this._source._getPopupAnchor?this._source._getPopupAnchor():[0,0])}}),Wr=function(s,c){return new qe(s,c)};ct.mergeOptions({closePopupOnClick:!0}),ct.include({openPopup:function(s,c,h){return this._initOverlay(qe,s,c,h).openOn(this),this},closePopup:function(s){return s=arguments.length?s:this._popup,s&&s.close(),this}}),Mt.include({bindPopup:function(s,c){return this._popup=this._initOverlay(qe,this._popup,s,c),this._popupHandlersAdded||(this.on({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!0),this},unbindPopup:function(){return this._popup&&(this.off({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!1,this._popup=null),this},openPopup:function(s){return this._popup&&(this instanceof Dt||(this._popup._source=this),this._popup._prepareOpen(s||this._latlng)&&this._popup.openOn(this._map)),this},closePopup:function(){return this._popup&&this._popup.close(),this},togglePopup:function(){return this._popup&&this._popup.toggle(this),this},isPopupOpen:function(){return this._popup?this._popup.isOpen():!1},setPopupContent:function(s){return this._popup&&this._popup.setContent(s),this},getPopup:function(){return this._popup},_openPopup:function(s){if(!(!this._popup||!this._map)){qt(s);var c=s.layer||s.target;if(this._popup._source===c&&!(c instanceof Wt)){this._map.hasLayer(this._popup)?this.closePopup():this.openPopup(s.latlng);return}this._popup._source=c,this.openPopup(s.latlng)}},_movePopup:function(s){this._popup.setLatLng(s.latlng)},_onKeyPress:function(s){s.originalEvent.keyCode===13&&this._openPopup(s)}});var Ke=Ct.extend({options:{pane:"tooltipPane",offset:[0,0],direction:"auto",permanent:!1,sticky:!1,opacity:.9},onAdd:function(s){Ct.prototype.onAdd.call(this,s),this.setOpacity(this.options.opacity),s.fire("tooltipopen",{tooltip:this}),this._source&&(this.addEventParent(this._source),this._source.fire("tooltipopen",{tooltip:this},!0))},onRemove:function(s){Ct.prototype.onRemove.call(this,s),s.fire("tooltipclose",{tooltip:this}),this._source&&(this.removeEventParent(this._source),this._source.fire("tooltipclose",{tooltip:this},!0))},getEvents:function(){var s=Ct.prototype.getEvents.call(this);return this.options.permanent||(s.preclick=this.close),s},_initLayout:function(){var s="leaflet-tooltip",c=s+" "+(this.options.className||"")+" leaflet-zoom-"+(this._zoomAnimated?"animated":"hide");this._contentNode=this._container=ut("div",c),this._container.setAttribute("role","tooltip"),this._container.setAttribute("id","leaflet-tooltip-"+u(this))},_updateLayout:function(){},_adjustPan:function(){},_setPosition:function(s){var c,h,g=this._map,b=this._container,P=g.latLngToContainerPoint(g.getCenter()),T=g.layerPointToContainerPoint(s),O=this.options.direction,D=b.offsetWidth,z=b.offsetHeight,U=B(this.options.offset),Z=this._getAnchor();O==="top"?(c=D/2,h=z):O==="bottom"?(c=D/2,h=0):O==="center"?(c=D/2,h=z/2):O==="right"?(c=0,h=z/2):O==="left"?(c=D,h=z/2):T.xthis.options.maxZoom||hg?this._retainParent(b,P,T,g):!1)},_retainChildren:function(s,c,h,g){for(var b=2*s;b<2*s+2;b++)for(var P=2*c;P<2*c+2;P++){var T=new H(b,P);T.z=h+1;var O=this._tileCoordsToKey(T),D=this._tiles[O];if(D&&D.active){D.retain=!0;continue}else D&&D.loaded&&(D.retain=!0);h+1this.options.maxZoom||this.options.minZoom!==void 0&&b1){this._setView(s,h);return}for(var Z=b.min.y;Z<=b.max.y;Z++)for(var ot=b.min.x;ot<=b.max.x;ot++){var wt=new H(ot,Z);if(wt.z=this._tileZoom,!!this._isValidTile(wt)){var bt=this._tiles[this._tileCoordsToKey(wt)];bt?bt.current=!0:T.push(wt)}}if(T.sort(function(Et,oe){return Et.distanceTo(P)-oe.distanceTo(P)}),T.length!==0){this._loading||(this._loading=!0,this.fire("loading"));var Tt=document.createDocumentFragment();for(ot=0;oth.max.x)||!c.wrapLat&&(s.yh.max.y))return!1}if(!this.options.bounds)return!0;var g=this._tileCoordsToBounds(s);return rt(this.options.bounds).overlaps(g)},_keyToBounds:function(s){return this._tileCoordsToBounds(this._keyToTileCoords(s))},_tileCoordsToNwSe:function(s){var c=this._map,h=this.getTileSize(),g=s.scaleBy(h),b=g.add(h),P=c.unproject(g,s.z),T=c.unproject(b,s.z);return[P,T]},_tileCoordsToBounds:function(s){var c=this._tileCoordsToNwSe(s),h=new st(c[0],c[1]);return this.options.noWrap||(h=this._map.wrapLatLngBounds(h)),h},_tileCoordsToKey:function(s){return s.x+":"+s.y+":"+s.z},_keyToTileCoords:function(s){var c=s.split(":"),h=new H(+c[0],+c[1]);return h.z=+c[2],h},_removeTile:function(s){var c=this._tiles[s];c&&(ft(c.el),delete this._tiles[s],this.fire("tileunload",{tile:c.el,coords:this._keyToTileCoords(s)}))},_initTile:function(s){at(s,"leaflet-tile");var c=this.getTileSize();s.style.width=c.x+"px",s.style.height=c.y+"px",s.onselectstart=p,s.onmousemove=p,G.ielt9&&this.options.opacity<1&&xt(s,this.options.opacity)},_addTile:function(s,c){var h=this._getTilePos(s),g=this._tileCoordsToKey(s),b=this.createTile(this._wrapCoords(s),o(this._tileReady,this,s));this._initTile(b),this.createTile.length<2&&Y(o(this._tileReady,this,s,null,b)),gt(b,h),this._tiles[g]={el:b,coords:s,current:!0},c.appendChild(b),this.fire("tileloadstart",{tile:b,coords:s})},_tileReady:function(s,c,h){c&&this.fire("tileerror",{error:c,tile:h,coords:s});var g=this._tileCoordsToKey(s);h=this._tiles[g],h&&(h.loaded=+new Date,this._map._fadeAnimated?(xt(h.el,0),q(this._fadeFrame),this._fadeFrame=Y(this._updateOpacity,this)):(h.active=!0,this._pruneTiles()),c||(at(h.el,"leaflet-tile-loaded"),this.fire("tileload",{tile:h.el,coords:s})),this._noTilesToLoad()&&(this._loading=!1,this.fire("load"),G.ielt9||!this._map._fadeAnimated?Y(this._pruneTiles,this):setTimeout(o(this._pruneTiles,this),250)))},_getTilePos:function(s){return s.scaleBy(this.getTileSize()).subtract(this._level.origin)},_wrapCoords:function(s){var c=new H(this._wrapX?m(s.x,this._wrapX):s.x,this._wrapY?m(s.y,this._wrapY):s.y);return c.z=s.z,c},_pxBoundsToTileRange:function(s){var c=this.getTileSize();return new lt(s.min.unscaleBy(c).floor(),s.max.unscaleBy(c).ceil().subtract([1,1]))},_noTilesToLoad:function(){for(var s in this._tiles)if(!this._tiles[s].loaded)return!1;return!0}});function Hr(s){return new $e(s)}var se=$e.extend({options:{minZoom:0,maxZoom:18,subdomains:"abc",errorTileUrl:"",zoomOffset:0,tms:!1,zoomReverse:!1,detectRetina:!1,crossOrigin:!1,referrerPolicy:!1},initialize:function(s,c){this._url=s,c=v(this,c),c.detectRetina&&G.retina&&c.maxZoom>0?(c.tileSize=Math.floor(c.tileSize/2),c.zoomReverse?(c.zoomOffset--,c.minZoom=Math.min(c.maxZoom,c.minZoom+1)):(c.zoomOffset++,c.maxZoom=Math.max(c.minZoom,c.maxZoom-1)),c.minZoom=Math.max(0,c.minZoom)):c.zoomReverse?c.minZoom=Math.min(c.maxZoom,c.minZoom):c.maxZoom=Math.max(c.minZoom,c.maxZoom),typeof c.subdomains=="string"&&(c.subdomains=c.subdomains.split("")),this.on("tileunload",this._onTileRemove)},setUrl:function(s,c){return this._url===s&&c===void 0&&(c=!0),this._url=s,c||this.redraw(),this},createTile:function(s,c){var h=document.createElement("img");return et(h,"load",o(this._tileOnLoad,this,c,h)),et(h,"error",o(this._tileOnError,this,c,h)),(this.options.crossOrigin||this.options.crossOrigin==="")&&(h.crossOrigin=this.options.crossOrigin===!0?"":this.options.crossOrigin),typeof this.options.referrerPolicy=="string"&&(h.referrerPolicy=this.options.referrerPolicy),h.alt="",h.src=this.getTileUrl(s),h},getTileUrl:function(s){var c={r:G.retina?"@2x":"",s:this._getSubdomain(s),x:s.x,y:s.y,z:this._getZoomForUrl()};if(this._map&&!this._map.options.crs.infinite){var h=this._globalTileRange.max.y-s.y;this.options.tms&&(c.y=h),c["-y"]=h}return S(this._url,r(c,this.options))},_tileOnLoad:function(s,c){G.ielt9?setTimeout(o(s,this,null,c),0):s(null,c)},_tileOnError:function(s,c,h){var g=this.options.errorTileUrl;g&&c.getAttribute("src")!==g&&(c.src=g),s(h,c)},_onTileRemove:function(s){s.tile.onload=null},_getZoomForUrl:function(){var s=this._tileZoom,c=this.options.maxZoom,h=this.options.zoomReverse,g=this.options.zoomOffset;return h&&(s=c-s),s+g},_getSubdomain:function(s){var c=Math.abs(s.x+s.y)%this.options.subdomains.length;return this.options.subdomains[c]},_abortLoading:function(){var s,c;for(s in this._tiles)if(this._tiles[s].coords.z!==this._tileZoom&&(c=this._tiles[s].el,c.onload=p,c.onerror=p,!c.complete)){c.src=A;var h=this._tiles[s].coords;ft(c),delete this._tiles[s],this.fire("tileabort",{tile:c,coords:h})}},_removeTile:function(s){var c=this._tiles[s];if(c)return c.el.setAttribute("src",A),$e.prototype._removeTile.call(this,s)},_tileReady:function(s,c,h){if(!(!this._map||h&&h.getAttribute("src")===A))return $e.prototype._tileReady.call(this,s,c,h)}});function _i(s,c){return new se(s,c)}var bi=se.extend({defaultWmsParams:{service:"WMS",request:"GetMap",layers:"",styles:"",format:"image/jpeg",transparent:!1,version:"1.1.1"},options:{crs:null,uppercase:!1},initialize:function(s,c){this._url=s;var h=r({},this.defaultWmsParams);for(var g in c)g in this.options||(h[g]=c[g]);c=v(this,c);var b=c.detectRetina&&G.retina?2:1,P=this.getTileSize();h.width=P.x*b,h.height=P.y*b,this.wmsParams=h},onAdd:function(s){this._crs=this.options.crs||s.options.crs,this._wmsVersion=parseFloat(this.wmsParams.version);var c=this._wmsVersion>=1.3?"crs":"srs";this.wmsParams[c]=this._crs.code,se.prototype.onAdd.call(this,s)},getTileUrl:function(s){var c=this._tileCoordsToNwSe(s),h=this._crs,g=dt(h.project(c[0]),h.project(c[1])),b=g.min,P=g.max,T=(this._wmsVersion>=1.3&&this._crs===ci?[b.y,b.x,P.y,P.x]:[b.x,b.y,P.x,P.y]).join(","),O=se.prototype.getTileUrl.call(this,s);return O+E(this.wmsParams,O,this.options.uppercase)+(this.options.uppercase?"&BBOX=":"&bbox=")+T},setParams:function(s,c){return r(this.wmsParams,s),c||this.redraw(),this}});function Br(s,c){return new bi(s,c)}se.WMS=bi,_i.wms=Br;var It=Mt.extend({options:{padding:.1},initialize:function(s){v(this,s),u(this),this._layers=this._layers||{}},onAdd:function(){this._container||(this._initContainer(),at(this._container,"leaflet-zoom-animated")),this.getPane().appendChild(this._container),this._update(),this.on("update",this._updatePaths,this)},onRemove:function(){this.off("update",this._updatePaths,this),this._destroyContainer()},getEvents:function(){var s={viewreset:this._reset,zoom:this._onZoom,moveend:this._update,zoomend:this._onZoomEnd};return this._zoomAnimated&&(s.zoomanim=this._onAnimZoom),s},_onAnimZoom:function(s){this._updateTransform(s.center,s.zoom)},_onZoom:function(){this._updateTransform(this._map.getCenter(),this._map.getZoom())},_updateTransform:function(s,c){var h=this._map.getZoomScale(c,this._zoom),g=this._map.getSize().multiplyBy(.5+this.options.padding),b=this._map.project(this._center,c),P=g.multiplyBy(-h).add(b).subtract(this._map._getNewPixelOrigin(s,c));G.any3d?Ht(this._container,P,h):gt(this._container,P)},_reset:function(){this._update(),this._updateTransform(this._center,this._zoom);for(var s in this._layers)this._layers[s]._reset()},_onZoomEnd:function(){for(var s in this._layers)this._layers[s]._project()},_updatePaths:function(){for(var s in this._layers)this._layers[s]._update()},_update:function(){var s=this.options.padding,c=this._map.getSize(),h=this._map.containerPointToLayerPoint(c.multiplyBy(-s)).round();this._bounds=new lt(h,h.add(c.multiplyBy(1+s*2)).round()),this._center=this._map.getCenter(),this._zoom=this._map.getZoom()}}),yi=It.extend({options:{tolerance:0},getEvents:function(){var s=It.prototype.getEvents.call(this);return s.viewprereset=this._onViewPreReset,s},_onViewPreReset:function(){this._postponeUpdatePaths=!0},onAdd:function(){It.prototype.onAdd.call(this),this._draw()},_initContainer:function(){var s=this._container=document.createElement("canvas");et(s,"mousemove",this._onMouseMove,this),et(s,"click dblclick mousedown mouseup contextmenu",this._onClick,this),et(s,"mouseout",this._handleMouseOut,this),s._leaflet_disable_events=!0,this._ctx=s.getContext("2d")},_destroyContainer:function(){q(this._redrawRequest),delete this._ctx,ft(this._container),ht(this._container),delete this._container},_updatePaths:function(){if(!this._postponeUpdatePaths){var s;this._redrawBounds=null;for(var c in this._layers)s=this._layers[c],s._update();this._redraw()}},_update:function(){if(!(this._map._animatingZoom&&this._bounds)){It.prototype._update.call(this);var s=this._bounds,c=this._container,h=s.getSize(),g=G.retina?2:1;gt(c,s.min),c.width=g*h.x,c.height=g*h.y,c.style.width=h.x+"px",c.style.height=h.y+"px",G.retina&&this._ctx.scale(2,2),this._ctx.translate(-s.min.x,-s.min.y),this.fire("update")}},_reset:function(){It.prototype._reset.call(this),this._postponeUpdatePaths&&(this._postponeUpdatePaths=!1,this._updatePaths())},_initPath:function(s){this._updateDashArray(s),this._layers[u(s)]=s;var c=s._order={layer:s,prev:this._drawLast,next:null};this._drawLast&&(this._drawLast.next=c),this._drawLast=c,this._drawFirst=this._drawFirst||this._drawLast},_addPath:function(s){this._requestRedraw(s)},_removePath:function(s){var c=s._order,h=c.next,g=c.prev;h?h.prev=g:this._drawLast=g,g?g.next=h:this._drawFirst=h,delete s._order,delete this._layers[u(s)],this._requestRedraw(s)},_updatePath:function(s){this._extendRedrawBounds(s),s._project(),s._update(),this._requestRedraw(s)},_updateStyle:function(s){this._updateDashArray(s),this._requestRedraw(s)},_updateDashArray:function(s){if(typeof s.options.dashArray=="string"){var c=s.options.dashArray.split(/[, ]+/),h=[],g,b;for(b=0;b')}}catch{}return function(s){return document.createElement("<"+s+' xmlns="urn:schemas-microsoft.com:vml" class="lvml">')}}(),Yr={_initContainer:function(){this._container=ut("div","leaflet-vml-container")},_update:function(){this._map._animatingZoom||(It.prototype._update.call(this),this.fire("update"))},_initPath:function(s){var c=s._container=Me("shape");at(c,"leaflet-vml-shape "+(this.options.className||"")),c.coordsize="1 1",s._path=Me("path"),c.appendChild(s._path),this._updateStyle(s),this._layers[u(s)]=s},_addPath:function(s){var c=s._container;this._container.appendChild(c),s.options.interactive&&s.addInteractiveTarget(c)},_removePath:function(s){var c=s._container;ft(c),s.removeInteractiveTarget(c),delete this._layers[u(s)]},_updateStyle:function(s){var c=s._stroke,h=s._fill,g=s.options,b=s._container;b.stroked=!!g.stroke,b.filled=!!g.fill,g.stroke?(c||(c=s._stroke=Me("stroke")),b.appendChild(c),c.weight=g.weight+"px",c.color=g.color,c.opacity=g.opacity,g.dashArray?c.dashStyle=M(g.dashArray)?g.dashArray.join(" "):g.dashArray.replace(/( *, *)/g," "):c.dashStyle="",c.endcap=g.lineCap.replace("butt","flat"),c.joinstyle=g.lineJoin):c&&(b.removeChild(c),s._stroke=null),g.fill?(h||(h=s._fill=Me("fill")),b.appendChild(h),h.color=g.fillColor||g.color,h.opacity=g.fillOpacity):h&&(b.removeChild(h),s._fill=null)},_updateCircle:function(s){var c=s._point.round(),h=Math.round(s._radius),g=Math.round(s._radiusY||h);this._setPath(s,s._empty()?"M0 0":"AL "+c.x+","+c.y+" "+h+","+g+" 0,"+65535*360)},_setPath:function(s,c){s._path.v=c},_bringToFront:function(s){te(s._container)},_bringToBack:function(s){ee(s._container)}},Ue=G.vml?Me:Ae,ke=It.extend({_initContainer:function(){this._container=Ue("svg"),this._container.setAttribute("pointer-events","none"),this._rootGroup=Ue("g"),this._container.appendChild(this._rootGroup)},_destroyContainer:function(){ft(this._container),ht(this._container),delete this._container,delete this._rootGroup,delete this._svgSize},_update:function(){if(!(this._map._animatingZoom&&this._bounds)){It.prototype._update.call(this);var s=this._bounds,c=s.getSize(),h=this._container;(!this._svgSize||!this._svgSize.equals(c))&&(this._svgSize=c,h.setAttribute("width",c.x),h.setAttribute("height",c.y)),gt(h,s.min),h.setAttribute("viewBox",[s.min.x,s.min.y,c.x,c.y].join(" ")),this.fire("update")}},_initPath:function(s){var c=s._path=Ue("path");s.options.className&&at(c,s.options.className),s.options.interactive&&at(c,"leaflet-interactive"),this._updateStyle(s),this._layers[u(s)]=s},_addPath:function(s){this._rootGroup||this._initContainer(),this._rootGroup.appendChild(s._path),s.addInteractiveTarget(s._path)},_removePath:function(s){ft(s._path),s.removeInteractiveTarget(s._path),delete this._layers[u(s)]},_updatePath:function(s){s._project(),s._update()},_updateStyle:function(s){var c=s._path,h=s.options;c&&(h.stroke?(c.setAttribute("stroke",h.color),c.setAttribute("stroke-opacity",h.opacity),c.setAttribute("stroke-width",h.weight),c.setAttribute("stroke-linecap",h.lineCap),c.setAttribute("stroke-linejoin",h.lineJoin),h.dashArray?c.setAttribute("stroke-dasharray",h.dashArray):c.removeAttribute("stroke-dasharray"),h.dashOffset?c.setAttribute("stroke-dashoffset",h.dashOffset):c.removeAttribute("stroke-dashoffset")):c.setAttribute("stroke","none"),h.fill?(c.setAttribute("fill",h.fillColor||h.color),c.setAttribute("fill-opacity",h.fillOpacity),c.setAttribute("fill-rule",h.fillRule||"evenodd")):c.setAttribute("fill","none"))},_updatePoly:function(s,c){this._setPath(s,ue(s._parts,c))},_updateCircle:function(s){var c=s._point,h=Math.max(Math.round(s._radius),1),g=Math.max(Math.round(s._radiusY),1)||h,b="a"+h+","+g+" 0 1,0 ",P=s._empty()?"M0 0":"M"+(c.x-h)+","+c.y+b+h*2+",0 "+b+-h*2+",0 ";this._setPath(s,P)},_setPath:function(s,c){s._path.setAttribute("d",c)},_bringToFront:function(s){te(s._path)},_bringToBack:function(s){ee(s._path)}});G.vml&&ke.include(Yr);function Pi(s){return G.svg||G.vml?new ke(s):null}ct.include({getRenderer:function(s){var c=s.options.renderer||this._getPaneRenderer(s.options.pane)||this.options.renderer||this._renderer;return c||(c=this._renderer=this._createRenderer()),this.hasLayer(c)||this.addLayer(c),c},_getPaneRenderer:function(s){if(s==="overlayPane"||s===void 0)return!1;var c=this._paneRenderers[s];return c===void 0&&(c=this._createRenderer({pane:s}),this._paneRenderers[s]=c),c},_createRenderer:function(s){return this.options.preferCanvas&&wi(s)||Pi(s)}});var Ei=re.extend({initialize:function(s,c){re.prototype.initialize.call(this,this._boundsToLatLngs(s),c)},setBounds:function(s){return this.setLatLngs(this._boundsToLatLngs(s))},_boundsToLatLngs:function(s){return s=rt(s),[s.getSouthWest(),s.getNorthWest(),s.getNorthEast(),s.getSouthEast()]}});function qr(s,c){return new Ei(s,c)}ke.create=Ue,ke.pointsToPath=ue,Ft.geometryToLayer=Ve,Ft.coordsToLatLng=Tn,Ft.coordsToLatLngs=je,Ft.latLngToCoords=$n,Ft.latLngsToCoords=He,Ft.getFeature=ae,Ft.asFeature=Be,ct.mergeOptions({boxZoom:!0});var xi=Ot.extend({initialize:function(s){this._map=s,this._container=s._container,this._pane=s._panes.overlayPane,this._resetStateTimeout=0,s.on("unload",this._destroy,this)},addHooks:function(){et(this._container,"mousedown",this._onMouseDown,this)},removeHooks:function(){ht(this._container,"mousedown",this._onMouseDown,this)},moved:function(){return this._moved},_destroy:function(){ft(this._pane),delete this._pane},_resetState:function(){this._resetStateTimeout=0,this._moved=!1},_clearDeferredResetState:function(){this._resetStateTimeout!==0&&(clearTimeout(this._resetStateTimeout),this._resetStateTimeout=0)},_onMouseDown:function(s){if(!s.shiftKey||s.which!==1&&s.button!==1)return!1;this._clearDeferredResetState(),this._resetState(),ve(),cn(),this._startPoint=this._map.mouseEventToContainerPoint(s),et(document,{contextmenu:qt,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseMove:function(s){this._moved||(this._moved=!0,this._box=ut("div","leaflet-zoom-box",this._container),at(this._container,"leaflet-crosshair"),this._map.fire("boxzoomstart")),this._point=this._map.mouseEventToContainerPoint(s);var c=new lt(this._point,this._startPoint),h=c.getSize();gt(this._box,c.min),this._box.style.width=h.x+"px",this._box.style.height=h.y+"px"},_finish:function(){this._moved&&(ft(this._box),mt(this._container,"leaflet-crosshair")),we(),un(),ht(document,{contextmenu:qt,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseUp:function(s){if(!(s.which!==1&&s.button!==1)&&(this._finish(),!!this._moved)){this._clearDeferredResetState(),this._resetStateTimeout=setTimeout(o(this._resetState,this),0);var c=new st(this._map.containerPointToLatLng(this._startPoint),this._map.containerPointToLatLng(this._point));this._map.fitBounds(c).fire("boxzoomend",{boxZoomBounds:c})}},_onKeyDown:function(s){s.keyCode===27&&(this._finish(),this._clearDeferredResetState(),this._resetState())}});ct.addInitHook("addHandler","boxZoom",xi),ct.mergeOptions({doubleClickZoom:!0});var Si=Ot.extend({addHooks:function(){this._map.on("dblclick",this._onDoubleClick,this)},removeHooks:function(){this._map.off("dblclick",this._onDoubleClick,this)},_onDoubleClick:function(s){var c=this._map,h=c.getZoom(),g=c.options.zoomDelta,b=s.originalEvent.shiftKey?h-g:h+g;c.options.doubleClickZoom==="center"?c.setZoom(b):c.setZoomAround(s.containerPoint,b)}});ct.addInitHook("addHandler","doubleClickZoom",Si),ct.mergeOptions({dragging:!0,inertia:!0,inertiaDeceleration:3400,inertiaMaxSpeed:1/0,easeLinearity:.2,worldCopyJump:!1,maxBoundsViscosity:0});var Ti=Ot.extend({addHooks:function(){if(!this._draggable){var s=this._map;this._draggable=new zt(s._mapPane,s._container),this._draggable.on({dragstart:this._onDragStart,drag:this._onDrag,dragend:this._onDragEnd},this),this._draggable.on("predrag",this._onPreDragLimit,this),s.options.worldCopyJump&&(this._draggable.on("predrag",this._onPreDragWrap,this),s.on("zoomend",this._onZoomEnd,this),s.whenReady(this._onZoomEnd,this))}at(this._map._container,"leaflet-grab leaflet-touch-drag"),this._draggable.enable(),this._positions=[],this._times=[]},removeHooks:function(){mt(this._map._container,"leaflet-grab"),mt(this._map._container,"leaflet-touch-drag"),this._draggable.disable()},moved:function(){return this._draggable&&this._draggable._moved},moving:function(){return this._draggable&&this._draggable._moving},_onDragStart:function(){var s=this._map;if(s._stop(),this._map.options.maxBounds&&this._map.options.maxBoundsViscosity){var c=rt(this._map.options.maxBounds);this._offsetLimit=dt(this._map.latLngToContainerPoint(c.getNorthWest()).multiplyBy(-1),this._map.latLngToContainerPoint(c.getSouthEast()).multiplyBy(-1).add(this._map.getSize())),this._viscosity=Math.min(1,Math.max(0,this._map.options.maxBoundsViscosity))}else this._offsetLimit=null;s.fire("movestart").fire("dragstart"),s.options.inertia&&(this._positions=[],this._times=[])},_onDrag:function(s){if(this._map.options.inertia){var c=this._lastTime=+new Date,h=this._lastPos=this._draggable._absPos||this._draggable._newPos;this._positions.push(h),this._times.push(c),this._prunePositions(c)}this._map.fire("move",s).fire("drag",s)},_prunePositions:function(s){for(;this._positions.length>1&&s-this._times[0]>50;)this._positions.shift(),this._times.shift()},_onZoomEnd:function(){var s=this._map.getSize().divideBy(2),c=this._map.latLngToLayerPoint([0,0]);this._initialWorldOffset=c.subtract(s).x,this._worldWidth=this._map.getPixelWorldBounds().getSize().x},_viscousLimit:function(s,c){return s-(s-c)*this._viscosity},_onPreDragLimit:function(){if(!(!this._viscosity||!this._offsetLimit)){var s=this._draggable._newPos.subtract(this._draggable._startPos),c=this._offsetLimit;s.xc.max.x&&(s.x=this._viscousLimit(s.x,c.max.x)),s.y>c.max.y&&(s.y=this._viscousLimit(s.y,c.max.y)),this._draggable._newPos=this._draggable._startPos.add(s)}},_onPreDragWrap:function(){var s=this._worldWidth,c=Math.round(s/2),h=this._initialWorldOffset,g=this._draggable._newPos.x,b=(g-c+h)%s+c-h,P=(g+c+h)%s-c-h,T=Math.abs(b+h)0?P:-P))-c;this._delta=0,this._startTime=null,T&&(s.options.scrollWheelZoom==="center"?s.setZoom(c+T):s.setZoomAround(this._lastMousePos,c+T))}});ct.addInitHook("addHandler","scrollWheelZoom",Mi);var Kr=600;ct.mergeOptions({tapHold:G.touchNative&&G.safari&&G.mobile,tapTolerance:15});var ki=Ot.extend({addHooks:function(){et(this._map._container,"touchstart",this._onDown,this)},removeHooks:function(){ht(this._map._container,"touchstart",this._onDown,this)},_onDown:function(s){if(clearTimeout(this._holdTimeout),s.touches.length===1){var c=s.touches[0];this._startPos=this._newPos=new H(c.clientX,c.clientY),this._holdTimeout=setTimeout(o(function(){this._cancel(),this._isTapValid()&&(et(document,"touchend",yt),et(document,"touchend touchcancel",this._cancelClickPrevent),this._simulateEvent("contextmenu",c))},this),Kr),et(document,"touchend touchcancel contextmenu",this._cancel,this),et(document,"touchmove",this._onMove,this)}},_cancelClickPrevent:function s(){ht(document,"touchend",yt),ht(document,"touchend touchcancel",s)},_cancel:function(){clearTimeout(this._holdTimeout),ht(document,"touchend touchcancel contextmenu",this._cancel,this),ht(document,"touchmove",this._onMove,this)},_onMove:function(s){var c=s.touches[0];this._newPos=new H(c.clientX,c.clientY)},_isTapValid:function(){return this._newPos.distanceTo(this._startPos)<=this._map.options.tapTolerance},_simulateEvent:function(s,c){var h=new MouseEvent(s,{bubbles:!0,cancelable:!0,view:window,screenX:c.screenX,screenY:c.screenY,clientX:c.clientX,clientY:c.clientY});h._simulated=!0,c.target.dispatchEvent(h)}});ct.addInitHook("addHandler","tapHold",ki),ct.mergeOptions({touchZoom:G.touch,bounceAtZoomLimits:!0});var Ai=Ot.extend({addHooks:function(){at(this._map._container,"leaflet-touch-zoom"),et(this._map._container,"touchstart",this._onTouchStart,this)},removeHooks:function(){mt(this._map._container,"leaflet-touch-zoom"),ht(this._map._container,"touchstart",this._onTouchStart,this)},_onTouchStart:function(s){var c=this._map;if(!(!s.touches||s.touches.length!==2||c._animatingZoom||this._zooming)){var h=c.mouseEventToContainerPoint(s.touches[0]),g=c.mouseEventToContainerPoint(s.touches[1]);this._centerPoint=c.getSize()._divideBy(2),this._startLatLng=c.containerPointToLatLng(this._centerPoint),c.options.touchZoom!=="center"&&(this._pinchStartLatLng=c.containerPointToLatLng(h.add(g)._divideBy(2))),this._startDist=h.distanceTo(g),this._startZoom=c.getZoom(),this._moved=!1,this._zooming=!0,c._stop(),et(document,"touchmove",this._onTouchMove,this),et(document,"touchend touchcancel",this._onTouchEnd,this),yt(s)}},_onTouchMove:function(s){if(!(!s.touches||s.touches.length!==2||!this._zooming)){var c=this._map,h=c.mouseEventToContainerPoint(s.touches[0]),g=c.mouseEventToContainerPoint(s.touches[1]),b=h.distanceTo(g)/this._startDist;if(this._zoom=c.getScaleZoom(b,this._startZoom),!c.options.bounceAtZoomLimits&&(this._zoomc.getMaxZoom()&&b>1)&&(this._zoom=c._limitZoom(this._zoom)),c.options.touchZoom==="center"){if(this._center=this._startLatLng,b===1)return}else{var P=h._add(g)._divideBy(2)._subtract(this._centerPoint);if(b===1&&P.x===0&&P.y===0)return;this._center=c.unproject(c.project(this._pinchStartLatLng,this._zoom).subtract(P),this._zoom)}this._moved||(c._moveStart(!0,!1),this._moved=!0),q(this._animRequest);var T=o(c._move,c,this._center,this._zoom,{pinch:!0,round:!1},void 0);this._animRequest=Y(T,this,!0),yt(s)}},_onTouchEnd:function(){if(!this._moved||!this._zooming){this._zooming=!1;return}this._zooming=!1,q(this._animRequest),ht(document,"touchmove",this._onTouchMove,this),ht(document,"touchend touchcancel",this._onTouchEnd,this),this._map.options.zoomAnimation?this._map._animateZoom(this._center,this._map._limitZoom(this._zoom),!0,this._map.options.zoomSnap):this._map._resetView(this._center,this._map._limitZoom(this._zoom))}});ct.addInitHook("addHandler","touchZoom",Ai),ct.BoxZoom=xi,ct.DoubleClickZoom=Si,ct.Drag=Ti,ct.Keyboard=$i,ct.ScrollWheelZoom=Mi,ct.TapHold=ki,ct.TouchZoom=Ai,e.Bounds=lt,e.Browser=G,e.CRS=Pt,e.Canvas=yi,e.Circle=Sn,e.CircleMarker=We,e.Class=nt,e.Control=$t,e.DivIcon=gi,e.DivOverlay=Ct,e.DomEvent=ur,e.DomUtil=lr,e.Draggable=zt,e.Evented=V,e.FeatureGroup=Dt,e.GeoJSON=Ft,e.GridLayer=$e,e.Handler=Ot,e.Icon=ie,e.ImageOverlay=Ye,e.LatLng=tt,e.LatLngBounds=st,e.Layer=Mt,e.LayerGroup=ne,e.LineUtil=xr,e.Map=ct,e.Marker=ze,e.Mixin=br,e.Path=Wt,e.Point=H,e.PolyUtil=yr,e.Polygon=re,e.Polyline=Nt,e.Popup=qe,e.PosAnimation=Zn,e.Projection=Sr,e.Rectangle=Ei,e.Renderer=It,e.SVG=ke,e.SVGOverlay=pi,e.TileLayer=se,e.Tooltip=Ke,e.Transformation=Vt,e.Util=J,e.VideoOverlay=mi,e.bind=o,e.bounds=dt,e.canvas=wi,e.circle=Cr,e.circleMarker=Or,e.control=xe,e.divIcon=jr,e.extend=r,e.featureGroup=kr,e.geoJSON=hi,e.geoJson=Fr,e.gridLayer=Hr,e.icon=Ar,e.imageOverlay=Ir,e.latLng=Q,e.latLngBounds=rt,e.layerGroup=Mr,e.map=dr,e.marker=Lr,e.point=B,e.polygon=Nr,e.polyline=Dr,e.popup=Wr,e.rectangle=qr,e.setOptions=v,e.stamp=u,e.svg=Pi,e.svgOverlay=zr,e.tileLayer=_i,e.tooltip=Vr,e.transformation=jt,e.version=i,e.videoOverlay=Rr;var Ur=window.L;e.noConflict=function(){return window.L=Ur,this},window.L=e})})(leafletSrc,leafletSrc.exports);var leafletSrcExports=leafletSrc.exports;const L$1=getDefaultExportFromCjs(leafletSrcExports);export{it as $,ArcElement as A,Backend$1 as B,Color as C,endOfWeek as D,startOfYear as E,Flow as F,subDays as G,store$1 as H,observePlugin$1 as I,module_default as J,bg as K,LineController as L,cs as M,da as N,de as O,PieController as P,el as Q,enGB as R,SankeyController as S,TimeScale as T,enUS as U,es as V,ca as W,fi as X,fr as Y,hu as Z,id as _,Chart as a,ja as a0,ko as a1,nb as a2,nn as a3,nl as a4,pl as a5,ptBR as a6,pt as a7,ro as a8,ru as a9,sk as aa,sl as ab,sv as ac,tr as ad,uk as ae,vi as af,zhTW as ag,zhCN as ah,addMonths as ai,subMonths as aj,Cache as b,Backend as c,LineElement as d,BarController as e,format as f,BarElement as g,index as h,instance as i,LinearScale as j,CategoryScale as k,PointElement as l,plugin_tooltip as m,plugin_legend as n,L$1 as o,plugin_colors as p,Tags as q,Autocomplete as r,axios$1 as s,startOfDay as t,endOfDay as u,startOfQuarter as v,endOfQuarter as w,startOfMonth as x,endOfMonth as y,startOfWeek as z}; + */(function(n,t){(function(e,i){i(t)})(commonjsGlobal,function(e){var i="1.9.4";function r(s){var c,h,g,b;for(h=1,g=arguments.length;h"u"||!L||!L.Mixin)){s=M(s)?s:[s];for(var c=0;c0?Math.floor(s):Math.ceil(s)};H.prototype={clone:function(){return new H(this.x,this.y)},add:function(s){return this.clone()._add(B(s))},_add:function(s){return this.x+=s.x,this.y+=s.y,this},subtract:function(s){return this.clone()._subtract(B(s))},_subtract:function(s){return this.x-=s.x,this.y-=s.y,this},divideBy:function(s){return this.clone()._divideBy(s)},_divideBy:function(s){return this.x/=s,this.y/=s,this},multiplyBy:function(s){return this.clone()._multiplyBy(s)},_multiplyBy:function(s){return this.x*=s,this.y*=s,this},scaleBy:function(s){return new H(this.x*s.x,this.y*s.y)},unscaleBy:function(s){return new H(this.x/s.x,this.y/s.y)},round:function(){return this.clone()._round()},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this},floor:function(){return this.clone()._floor()},_floor:function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this},ceil:function(){return this.clone()._ceil()},_ceil:function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this},trunc:function(){return this.clone()._trunc()},_trunc:function(){return this.x=X(this.x),this.y=X(this.y),this},distanceTo:function(s){s=B(s);var c=s.x-this.x,h=s.y-this.y;return Math.sqrt(c*c+h*h)},equals:function(s){return s=B(s),s.x===this.x&&s.y===this.y},contains:function(s){return s=B(s),Math.abs(s.x)<=Math.abs(this.x)&&Math.abs(s.y)<=Math.abs(this.y)},toString:function(){return"Point("+_(this.x)+", "+_(this.y)+")"}};function B(s,c,h){return s instanceof H?s:M(s)?new H(s[0],s[1]):s==null?s:typeof s=="object"&&"x"in s&&"y"in s?new H(s.x,s.y):new H(s,c,h)}function lt(s,c){if(s)for(var h=c?[s,c]:s,g=0,b=h.length;g=this.min.x&&h.x<=this.max.x&&c.y>=this.min.y&&h.y<=this.max.y},intersects:function(s){s=dt(s);var c=this.min,h=this.max,g=s.min,b=s.max,P=b.x>=c.x&&g.x<=h.x,T=b.y>=c.y&&g.y<=h.y;return P&&T},overlaps:function(s){s=dt(s);var c=this.min,h=this.max,g=s.min,b=s.max,P=b.x>c.x&&g.xc.y&&g.y=c.lat&&b.lat<=h.lat&&g.lng>=c.lng&&b.lng<=h.lng},intersects:function(s){s=rt(s);var c=this._southWest,h=this._northEast,g=s.getSouthWest(),b=s.getNorthEast(),P=b.lat>=c.lat&&g.lat<=h.lat,T=b.lng>=c.lng&&g.lng<=h.lng;return P&&T},overlaps:function(s){s=rt(s);var c=this._southWest,h=this._northEast,g=s.getSouthWest(),b=s.getNorthEast(),P=b.lat>c.lat&&g.latc.lng&&g.lng1,Bi=function(){var s=!1;try{var c=Object.defineProperty({},"passive",{get:function(){s=!0}});window.addEventListener("testPassiveEventSupport",p,c),window.removeEventListener("testPassiveEventSupport",p,c)}catch{}return s}(),Yi=function(){return!!document.createElement("canvas").getContext}(),tn=!!(document.createElementNS&&Ae("svg").createSVGRect),qi=!!tn&&function(){var s=document.createElement("div");return s.innerHTML="",(s.firstChild&&s.firstChild.namespaceURI)==="http://www.w3.org/2000/svg"}(),Ki=!tn&&function(){try{var s=document.createElement("div");s.innerHTML='';var c=s.firstChild;return c.style.behavior="url(#default#VML)",c&&typeof c.adj=="object"}catch{return!1}}(),Ui=navigator.platform.indexOf("Mac")===0,Gi=navigator.platform.indexOf("Linux")===0;function At(s){return navigator.userAgent.toLowerCase().indexOf(s)>=0}var G={ie:Zt,ielt9:Qe,edge:kt,webkit:Rt,android:he,android23:fe,androidStock:Le,opera:Qt,chrome:pe,gecko:ge,safari:Ni,phantom:An,opera12:Ln,win:Fi,ie3d:On,webkit3d:Je,gecko3d:Cn,any3d:Ii,mobile:_e,mobileWebkit:Ri,mobileWebkit3d:zi,msPointer:Dn,pointer:Nn,touch:Wi,touchNative:Fn,mobileOpera:Vi,mobileGecko:ji,retina:Hi,passiveEvents:Bi,canvas:Yi,svg:tn,vml:Ki,inlineSvg:qi,mac:Ui,linux:Gi},In=G.msPointer?"MSPointerDown":"pointerdown",Rn=G.msPointer?"MSPointerMove":"pointermove",zn=G.msPointer?"MSPointerUp":"pointerup",Wn=G.msPointer?"MSPointerCancel":"pointercancel",en={touchstart:In,touchmove:Rn,touchend:zn,touchcancel:Wn},Vn={touchstart:nr,touchmove:Oe,touchend:Oe,touchcancel:Oe},Jt={},jn=!1;function Xi(s,c,h){return c==="touchstart"&&er(),Vn[c]?(h=Vn[c].bind(this,h),s.addEventListener(en[c],h,!1),h):(console.warn("wrong event specified:",c),p)}function Zi(s,c,h){if(!en[c]){console.warn("wrong event specified:",c);return}s.removeEventListener(en[c],h,!1)}function Qi(s){Jt[s.pointerId]=s}function Ji(s){Jt[s.pointerId]&&(Jt[s.pointerId]=s)}function Hn(s){delete Jt[s.pointerId]}function er(){jn||(document.addEventListener(In,Qi,!0),document.addEventListener(Rn,Ji,!0),document.addEventListener(zn,Hn,!0),document.addEventListener(Wn,Hn,!0),jn=!0)}function Oe(s,c){if(c.pointerType!==(c.MSPOINTER_TYPE_MOUSE||"mouse")){c.touches=[];for(var h in Jt)c.touches.push(Jt[h]);c.changedTouches=[c],s(c)}}function nr(s,c){c.MSPOINTER_TYPE_TOUCH&&c.pointerType===c.MSPOINTER_TYPE_TOUCH&&yt(c),Oe(s,c)}function ir(s){var c={},h,g;for(g in s)h=s[g],c[g]=h&&h.bind?h.bind(s):h;return s=c,c.type="dblclick",c.detail=2,c.isTrusted=!1,c._simulated=!0,c}var rr=200;function ar(s,c){s.addEventListener("dblclick",c);var h=0,g;function b(P){if(P.detail!==1){g=P.detail;return}if(!(P.pointerType==="mouse"||P.sourceCapabilities&&!P.sourceCapabilities.firesTouchEvents)){var T=Un(P);if(!(T.some(function(D){return D instanceof HTMLLabelElement&&D.attributes.for})&&!T.some(function(D){return D instanceof HTMLInputElement||D instanceof HTMLSelectElement}))){var O=Date.now();O-h<=rr?(g++,g===2&&c(ir(P))):g=1,h=O}}}return s.addEventListener("click",b),{dblclick:c,simDblclick:b}}function sr(s,c){s.removeEventListener("dblclick",c.dblclick),s.removeEventListener("click",c.simDblclick)}var rn=Ne(["transform","webkitTransform","OTransform","MozTransform","msTransform"]),be=Ne(["webkitTransition","transition","OTransition","MozTransition","msTransition"]),Bn=be==="webkitTransition"||be==="OTransition"?be+"End":"transitionend";function Yn(s){return typeof s=="string"?document.getElementById(s):s}function ye(s,c){var h=s.style[c]||s.currentStyle&&s.currentStyle[c];if((!h||h==="auto")&&document.defaultView){var g=document.defaultView.getComputedStyle(s,null);h=g?g[c]:null}return h==="auto"?null:h}function ut(s,c,h){var g=document.createElement(s);return g.className=c||"",h&&h.appendChild(g),g}function ft(s){var c=s.parentNode;c&&c.removeChild(s)}function Ce(s){for(;s.firstChild;)s.removeChild(s.firstChild)}function te(s){var c=s.parentNode;c&&c.lastChild!==s&&c.appendChild(s)}function ee(s){var c=s.parentNode;c&&c.firstChild!==s&&c.insertBefore(s,c.firstChild)}function an(s,c){if(s.classList!==void 0)return s.classList.contains(c);var h=De(s);return h.length>0&&new RegExp("(^|\\s)"+c+"(\\s|$)").test(h)}function at(s,c){if(s.classList!==void 0)for(var h=w(c),g=0,b=h.length;g0?2*window.devicePixelRatio:1;function Xn(s){return G.edge?s.wheelDeltaY/2:s.deltaY&&s.deltaMode===0?-s.deltaY/cr:s.deltaY&&s.deltaMode===1?-s.deltaY*20:s.deltaY&&s.deltaMode===2?-s.deltaY*60:s.deltaX||s.deltaZ?0:s.wheelDelta?(s.wheelDeltaY||s.wheelDelta)/2:s.detail&&Math.abs(s.detail)<32765?-s.detail*20:s.detail?s.detail/-32765*60:0}function bn(s,c){var h=c.relatedTarget;if(!h)return!0;try{for(;h&&h!==s;)h=h.parentNode}catch{return!1}return h!==s}var ur={__proto__:null,on:et,off:ht,stopPropagation:Yt,disableScrollPropagation:_n,disableClickPropagation:Ee,preventDefault:yt,stop:qt,getPropagationPath:Un,getMousePosition:Gn,getWheelDelta:Xn,isExternalTarget:bn,addListener:et,removeListener:ht},Zn=V.extend({run:function(s,c,h,g){this.stop(),this._el=s,this._inProgress=!0,this._duration=h||.25,this._easeOutPower=1/Math.max(g||.5,.2),this._startPos=Bt(s),this._offset=c.subtract(this._startPos),this._startTime=+new Date,this.fire("start"),this._animate()},stop:function(){this._inProgress&&(this._step(!0),this._complete())},_animate:function(){this._animId=Y(this._animate,this),this._step()},_step:function(s){var c=+new Date-this._startTime,h=this._duration*1e3;cthis.options.maxZoom)?this.setZoom(s):this},panInsideBounds:function(s,c){this._enforcingBounds=!0;var h=this.getCenter(),g=this._limitCenter(h,this._zoom,rt(s));return h.equals(g)||this.panTo(g,c),this._enforcingBounds=!1,this},panInside:function(s,c){c=c||{};var h=B(c.paddingTopLeft||c.padding||[0,0]),g=B(c.paddingBottomRight||c.padding||[0,0]),b=this.project(this.getCenter()),P=this.project(s),T=this.getPixelBounds(),O=dt([T.min.add(h),T.max.subtract(g)]),D=O.getSize();if(!O.contains(P)){this._enforcingBounds=!0;var z=P.subtract(O.getCenter()),U=O.extend(P).getSize().subtract(D);b.x+=z.x<0?-U.x:U.x,b.y+=z.y<0?-U.y:U.y,this.panTo(this.unproject(b),c),this._enforcingBounds=!1}return this},invalidateSize:function(s){if(!this._loaded)return this;s=r({animate:!1,pan:!0},s===!0?{animate:!0}:s);var c=this.getSize();this._sizeChanged=!0,this._lastCenter=null;var h=this.getSize(),g=c.divideBy(2).round(),b=h.divideBy(2).round(),P=g.subtract(b);return!P.x&&!P.y?this:(s.animate&&s.pan?this.panBy(P):(s.pan&&this._rawPanBy(P),this.fire("move"),s.debounceMoveend?(clearTimeout(this._sizeTimer),this._sizeTimer=setTimeout(o(this.fire,this,"moveend"),200)):this.fire("moveend")),this.fire("resize",{oldSize:c,newSize:h}))},stop:function(){return this.setZoom(this._limitZoom(this._zoom)),this.options.zoomSnap||this.fire("viewreset"),this._stop()},locate:function(s){if(s=this._locateOptions=r({timeout:1e4,watch:!1},s),!("geolocation"in navigator))return this._handleGeolocationError({code:0,message:"Geolocation not supported."}),this;var c=o(this._handleGeolocationResponse,this),h=o(this._handleGeolocationError,this);return s.watch?this._locationWatchId=navigator.geolocation.watchPosition(c,h,s):navigator.geolocation.getCurrentPosition(c,h,s),this},stopLocate:function(){return navigator.geolocation&&navigator.geolocation.clearWatch&&navigator.geolocation.clearWatch(this._locationWatchId),this._locateOptions&&(this._locateOptions.setView=!1),this},_handleGeolocationError:function(s){if(this._container._leaflet_id){var c=s.code,h=s.message||(c===1?"permission denied":c===2?"position unavailable":"timeout");this._locateOptions.setView&&!this._loaded&&this.fitWorld(),this.fire("locationerror",{code:c,message:"Geolocation error: "+h+"."})}},_handleGeolocationResponse:function(s){if(this._container._leaflet_id){var c=s.coords.latitude,h=s.coords.longitude,g=new tt(c,h),b=g.toBounds(s.coords.accuracy*2),P=this._locateOptions;if(P.setView){var T=this.getBoundsZoom(b);this.setView(g,P.maxZoom?Math.min(T,P.maxZoom):T)}var O={latlng:g,bounds:b,timestamp:s.timestamp};for(var D in s.coords)typeof s.coords[D]=="number"&&(O[D]=s.coords[D]);this.fire("locationfound",O)}},addHandler:function(s,c){if(!c)return this;var h=this[s]=new c(this);return this._handlers.push(h),this.options[s]&&h.enable(),this},remove:function(){if(this._initEvents(!0),this.options.maxBounds&&this.off("moveend",this._panInsideMaxBounds),this._containerId!==this._container._leaflet_id)throw new Error("Map container is being reused by another instance");try{delete this._container._leaflet_id,delete this._containerId}catch{this._container._leaflet_id=void 0,this._containerId=void 0}this._locationWatchId!==void 0&&this.stopLocate(),this._stop(),ft(this._mapPane),this._clearControlPos&&this._clearControlPos(),this._resizeRequest&&(q(this._resizeRequest),this._resizeRequest=null),this._clearHandlers(),this._loaded&&this.fire("unload");var s;for(s in this._layers)this._layers[s].remove();for(s in this._panes)ft(this._panes[s]);return this._layers=[],this._panes=[],delete this._mapPane,delete this._renderer,this},createPane:function(s,c){var h="leaflet-pane"+(s?" leaflet-"+s.replace("Pane","")+"-pane":""),g=ut("div",h,c||this._mapPane);return s&&(this._panes[s]=g),g},getCenter:function(){return this._checkIfLoaded(),this._lastCenter&&!this._moved()?this._lastCenter.clone():this.layerPointToLatLng(this._getCenterLayerPoint())},getZoom:function(){return this._zoom},getBounds:function(){var s=this.getPixelBounds(),c=this.unproject(s.getBottomLeft()),h=this.unproject(s.getTopRight());return new st(c,h)},getMinZoom:function(){return this.options.minZoom===void 0?this._layersMinZoom||0:this.options.minZoom},getMaxZoom:function(){return this.options.maxZoom===void 0?this._layersMaxZoom===void 0?1/0:this._layersMaxZoom:this.options.maxZoom},getBoundsZoom:function(s,c,h){s=rt(s),h=B(h||[0,0]);var g=this.getZoom()||0,b=this.getMinZoom(),P=this.getMaxZoom(),T=s.getNorthWest(),O=s.getSouthEast(),D=this.getSize().subtract(h),z=dt(this.project(O,g),this.project(T,g)).getSize(),U=G.any3d?this.options.zoomSnap:1,Z=D.x/z.x,ot=D.y/z.y,wt=c?Math.max(Z,ot):Math.min(Z,ot);return g=this.getScaleZoom(wt,g),U&&(g=Math.round(g/(U/100))*(U/100),g=c?Math.ceil(g/U)*U:Math.floor(g/U)*U),Math.max(b,Math.min(P,g))},getSize:function(){return(!this._size||this._sizeChanged)&&(this._size=new H(this._container.clientWidth||0,this._container.clientHeight||0),this._sizeChanged=!1),this._size.clone()},getPixelBounds:function(s,c){var h=this._getTopLeftPoint(s,c);return new lt(h,h.add(this.getSize()))},getPixelOrigin:function(){return this._checkIfLoaded(),this._pixelOrigin},getPixelWorldBounds:function(s){return this.options.crs.getProjectedBounds(s===void 0?this.getZoom():s)},getPane:function(s){return typeof s=="string"?this._panes[s]:s},getPanes:function(){return this._panes},getContainer:function(){return this._container},getZoomScale:function(s,c){var h=this.options.crs;return c=c===void 0?this._zoom:c,h.scale(s)/h.scale(c)},getScaleZoom:function(s,c){var h=this.options.crs;c=c===void 0?this._zoom:c;var g=h.zoom(s*h.scale(c));return isNaN(g)?1/0:g},project:function(s,c){return c=c===void 0?this._zoom:c,this.options.crs.latLngToPoint(Q(s),c)},unproject:function(s,c){return c=c===void 0?this._zoom:c,this.options.crs.pointToLatLng(B(s),c)},layerPointToLatLng:function(s){var c=B(s).add(this.getPixelOrigin());return this.unproject(c)},latLngToLayerPoint:function(s){var c=this.project(Q(s))._round();return c._subtract(this.getPixelOrigin())},wrapLatLng:function(s){return this.options.crs.wrapLatLng(Q(s))},wrapLatLngBounds:function(s){return this.options.crs.wrapLatLngBounds(rt(s))},distance:function(s,c){return this.options.crs.distance(Q(s),Q(c))},containerPointToLayerPoint:function(s){return B(s).subtract(this._getMapPanePos())},layerPointToContainerPoint:function(s){return B(s).add(this._getMapPanePos())},containerPointToLatLng:function(s){var c=this.containerPointToLayerPoint(B(s));return this.layerPointToLatLng(c)},latLngToContainerPoint:function(s){return this.layerPointToContainerPoint(this.latLngToLayerPoint(Q(s)))},mouseEventToContainerPoint:function(s){return Gn(s,this._container)},mouseEventToLayerPoint:function(s){return this.containerPointToLayerPoint(this.mouseEventToContainerPoint(s))},mouseEventToLatLng:function(s){return this.layerPointToLatLng(this.mouseEventToLayerPoint(s))},_initContainer:function(s){var c=this._container=Yn(s);if(c){if(c._leaflet_id)throw new Error("Map container is already initialized.")}else throw new Error("Map container not found.");et(c,"scroll",this._onScroll,this),this._containerId=u(c)},_initLayout:function(){var s=this._container;this._fadeAnimated=this.options.fadeAnimation&&G.any3d,at(s,"leaflet-container"+(G.touch?" leaflet-touch":"")+(G.retina?" leaflet-retina":"")+(G.ielt9?" leaflet-oldie":"")+(G.safari?" leaflet-safari":"")+(this._fadeAnimated?" leaflet-fade-anim":""));var c=ye(s,"position");c!=="absolute"&&c!=="relative"&&c!=="fixed"&&c!=="sticky"&&(s.style.position="relative"),this._initPanes(),this._initControlPos&&this._initControlPos()},_initPanes:function(){var s=this._panes={};this._paneRenderers={},this._mapPane=this.createPane("mapPane",this._container),gt(this._mapPane,new H(0,0)),this.createPane("tilePane"),this.createPane("overlayPane"),this.createPane("shadowPane"),this.createPane("markerPane"),this.createPane("tooltipPane"),this.createPane("popupPane"),this.options.markerZoomAnimation||(at(s.markerPane,"leaflet-zoom-hide"),at(s.shadowPane,"leaflet-zoom-hide"))},_resetView:function(s,c,h){gt(this._mapPane,new H(0,0));var g=!this._loaded;this._loaded=!0,c=this._limitZoom(c),this.fire("viewprereset");var b=this._zoom!==c;this._moveStart(b,h)._move(s,c)._moveEnd(b),this.fire("viewreset"),g&&this.fire("load")},_moveStart:function(s,c){return s&&this.fire("zoomstart"),c||this.fire("movestart"),this},_move:function(s,c,h,g){c===void 0&&(c=this._zoom);var b=this._zoom!==c;return this._zoom=c,this._lastCenter=s,this._pixelOrigin=this._getNewPixelOrigin(s),g?h&&h.pinch&&this.fire("zoom",h):((b||h&&h.pinch)&&this.fire("zoom",h),this.fire("move",h)),this},_moveEnd:function(s){return s&&this.fire("zoomend"),this.fire("moveend")},_stop:function(){return q(this._flyToFrame),this._panAnim&&this._panAnim.stop(),this},_rawPanBy:function(s){gt(this._mapPane,this._getMapPanePos().subtract(s))},_getZoomSpan:function(){return this.getMaxZoom()-this.getMinZoom()},_panInsideMaxBounds:function(){this._enforcingBounds||this.panInsideBounds(this.options.maxBounds)},_checkIfLoaded:function(){if(!this._loaded)throw new Error("Set map center and zoom first.")},_initEvents:function(s){this._targets={},this._targets[u(this._container)]=this;var c=s?ht:et;c(this._container,"click dblclick mousedown mouseup mouseover mouseout mousemove contextmenu keypress keydown keyup",this._handleDOMEvent,this),this.options.trackResize&&c(window,"resize",this._onResize,this),G.any3d&&this.options.transform3DLimit&&(s?this.off:this.on).call(this,"moveend",this._onMoveEnd)},_onResize:function(){q(this._resizeRequest),this._resizeRequest=Y(function(){this.invalidateSize({debounceMoveend:!0})},this)},_onScroll:function(){this._container.scrollTop=0,this._container.scrollLeft=0},_onMoveEnd:function(){var s=this._getMapPanePos();Math.max(Math.abs(s.x),Math.abs(s.y))>=this.options.transform3DLimit&&this._resetView(this.getCenter(),this.getZoom())},_findEventTargets:function(s,c){for(var h=[],g,b=c==="mouseout"||c==="mouseover",P=s.target||s.srcElement,T=!1;P;){if(g=this._targets[u(P)],g&&(c==="click"||c==="preclick")&&this._draggableMoved(g)){T=!0;break}if(g&&g.listens(c,!0)&&(b&&!bn(P,s)||(h.push(g),b))||P===this._container)break;P=P.parentNode}return!h.length&&!T&&!b&&this.listens(c,!0)&&(h=[this]),h},_isClickDisabled:function(s){for(;s&&s!==this._container;){if(s._leaflet_disable_click)return!0;s=s.parentNode}},_handleDOMEvent:function(s){var c=s.target||s.srcElement;if(!(!this._loaded||c._leaflet_disable_events||s.type==="click"&&this._isClickDisabled(c))){var h=s.type;h==="mousedown"&&hn(c),this._fireDOMEvent(s,h)}},_mouseEvents:["click","dblclick","mouseover","mouseout","contextmenu"],_fireDOMEvent:function(s,c,h){if(s.type==="click"){var g=r({},s);g.type="preclick",this._fireDOMEvent(g,g.type,h)}var b=this._findEventTargets(s,c);if(h){for(var P=[],T=0;T0?Math.round(s-c)/2:Math.max(0,Math.ceil(s))-Math.max(0,Math.floor(c))},_limitZoom:function(s){var c=this.getMinZoom(),h=this.getMaxZoom(),g=G.any3d?this.options.zoomSnap:1;return g&&(s=Math.round(s/g)*g),Math.max(c,Math.min(h,s))},_onPanTransitionStep:function(){this.fire("move")},_onPanTransitionEnd:function(){mt(this._mapPane,"leaflet-pan-anim"),this.fire("moveend")},_tryAnimatedPan:function(s,c){var h=this._getCenterOffset(s)._trunc();return(c&&c.animate)!==!0&&!this.getSize().contains(h)?!1:(this.panBy(h,c),!0)},_createAnimProxy:function(){var s=this._proxy=ut("div","leaflet-proxy leaflet-zoom-animated");this._panes.mapPane.appendChild(s),this.on("zoomanim",function(c){var h=rn,g=this._proxy.style[h];Ht(this._proxy,this.project(c.center,c.zoom),this.getZoomScale(c.zoom,1)),g===this._proxy.style[h]&&this._animatingZoom&&this._onZoomTransitionEnd()},this),this.on("load moveend",this._animMoveEnd,this),this._on("unload",this._destroyAnimProxy,this)},_destroyAnimProxy:function(){ft(this._proxy),this.off("load moveend",this._animMoveEnd,this),delete this._proxy},_animMoveEnd:function(){var s=this.getCenter(),c=this.getZoom();Ht(this._proxy,this.project(s,c),this.getZoomScale(c,1))},_catchTransitionEnd:function(s){this._animatingZoom&&s.propertyName.indexOf("transform")>=0&&this._onZoomTransitionEnd()},_nothingToAnimate:function(){return!this._container.getElementsByClassName("leaflet-zoom-animated").length},_tryAnimatedZoom:function(s,c,h){if(this._animatingZoom)return!0;if(h=h||{},!this._zoomAnimated||h.animate===!1||this._nothingToAnimate()||Math.abs(c-this._zoom)>this.options.zoomAnimationThreshold)return!1;var g=this.getZoomScale(c),b=this._getCenterOffset(s)._divideBy(1-1/g);return h.animate!==!0&&!this.getSize().contains(b)?!1:(Y(function(){this._moveStart(!0,h.noMoveStart||!1)._animateZoom(s,c,!0)},this),!0)},_animateZoom:function(s,c,h,g){this._mapPane&&(h&&(this._animatingZoom=!0,this._animateToCenter=s,this._animateToZoom=c,at(this._mapPane,"leaflet-zoom-anim")),this.fire("zoomanim",{center:s,zoom:c,noUpdate:g}),this._tempFireZoomEvent||(this._tempFireZoomEvent=this._zoom!==this._animateToZoom),this._move(this._animateToCenter,this._animateToZoom,void 0,!0),setTimeout(o(this._onZoomTransitionEnd,this),250))},_onZoomTransitionEnd:function(){this._animatingZoom&&(this._mapPane&&mt(this._mapPane,"leaflet-zoom-anim"),this._animatingZoom=!1,this._move(this._animateToCenter,this._animateToZoom,void 0,!0),this._tempFireZoomEvent&&this.fire("zoom"),delete this._tempFireZoomEvent,this.fire("move"),this._moveEnd(!0))}});function dr(s,c){return new ct(s,c)}var $t=nt.extend({options:{position:"topright"},initialize:function(s){v(this,s)},getPosition:function(){return this.options.position},setPosition:function(s){var c=this._map;return c&&c.removeControl(this),this.options.position=s,c&&c.addControl(this),this},getContainer:function(){return this._container},addTo:function(s){this.remove(),this._map=s;var c=this._container=this.onAdd(s),h=this.getPosition(),g=s._controlCorners[h];return at(c,"leaflet-control"),h.indexOf("bottom")!==-1?g.insertBefore(c,g.firstChild):g.appendChild(c),this._map.on("unload",this.remove,this),this},remove:function(){return this._map?(ft(this._container),this.onRemove&&this.onRemove(this._map),this._map.off("unload",this.remove,this),this._map=null,this):this},_refocusOnMap:function(s){this._map&&s&&s.screenX>0&&s.screenY>0&&this._map.getContainer().focus()}}),xe=function(s){return new $t(s)};ct.include({addControl:function(s){return s.addTo(this),this},removeControl:function(s){return s.remove(),this},_initControlPos:function(){var s=this._controlCorners={},c="leaflet-",h=this._controlContainer=ut("div",c+"control-container",this._container);function g(b,P){var T=c+b+" "+c+P;s[b+P]=ut("div",T,h)}g("top","left"),g("top","right"),g("bottom","left"),g("bottom","right")},_clearControlPos:function(){for(var s in this._controlCorners)ft(this._controlCorners[s]);ft(this._controlContainer),delete this._controlCorners,delete this._controlContainer}});var Qn=$t.extend({options:{collapsed:!0,position:"topright",autoZIndex:!0,hideSingleBase:!1,sortLayers:!1,sortFunction:function(s,c,h,g){return h1,this._baseLayersList.style.display=s?"":"none"),this._separator.style.display=c&&s?"":"none",this},_onLayerChange:function(s){this._handlingClick||this._update();var c=this._getLayer(u(s.target)),h=c.overlay?s.type==="add"?"overlayadd":"overlayremove":s.type==="add"?"baselayerchange":null;h&&this._map.fire(h,c)},_createRadioElement:function(s,c){var h='",g=document.createElement("div");return g.innerHTML=h,g.firstChild},_addItem:function(s){var c=document.createElement("label"),h=this._map.hasLayer(s.layer),g;s.overlay?(g=document.createElement("input"),g.type="checkbox",g.className="leaflet-control-layers-selector",g.defaultChecked=h):g=this._createRadioElement("leaflet-base-layers_"+u(this),h),this._layerControlInputs.push(g),g.layerId=u(s.layer),et(g,"click",this._onInputClick,this);var b=document.createElement("span");b.innerHTML=" "+s.name;var P=document.createElement("span");c.appendChild(P),P.appendChild(g),P.appendChild(b);var T=s.overlay?this._overlaysList:this._baseLayersList;return T.appendChild(c),this._checkDisabledLayers(),c},_onInputClick:function(){if(!this._preventClick){var s=this._layerControlInputs,c,h,g=[],b=[];this._handlingClick=!0;for(var P=s.length-1;P>=0;P--)c=s[P],h=this._getLayer(c.layerId).layer,c.checked?g.push(h):c.checked||b.push(h);for(P=0;P=0;b--)c=s[b],h=this._getLayer(c.layerId).layer,c.disabled=h.options.minZoom!==void 0&&gh.options.maxZoom},_expandIfNotCollapsed:function(){return this._map&&!this.options.collapsed&&this.expand(),this},_expandSafely:function(){var s=this._section;this._preventClick=!0,et(s,"click",yt),this.expand();var c=this;setTimeout(function(){ht(s,"click",yt),c._preventClick=!1})}}),hr=function(s,c,h){return new Qn(s,c,h)},yn=$t.extend({options:{position:"topleft",zoomInText:'',zoomInTitle:"Zoom in",zoomOutText:'',zoomOutTitle:"Zoom out"},onAdd:function(s){var c="leaflet-control-zoom",h=ut("div",c+" leaflet-bar"),g=this.options;return this._zoomInButton=this._createButton(g.zoomInText,g.zoomInTitle,c+"-in",h,this._zoomIn),this._zoomOutButton=this._createButton(g.zoomOutText,g.zoomOutTitle,c+"-out",h,this._zoomOut),this._updateDisabled(),s.on("zoomend zoomlevelschange",this._updateDisabled,this),h},onRemove:function(s){s.off("zoomend zoomlevelschange",this._updateDisabled,this)},disable:function(){return this._disabled=!0,this._updateDisabled(),this},enable:function(){return this._disabled=!1,this._updateDisabled(),this},_zoomIn:function(s){!this._disabled&&this._map._zoomthis._map.getMinZoom()&&this._map.zoomOut(this._map.options.zoomDelta*(s.shiftKey?3:1))},_createButton:function(s,c,h,g,b){var P=ut("a",h,g);return P.innerHTML=s,P.href="#",P.title=c,P.setAttribute("role","button"),P.setAttribute("aria-label",c),Ee(P),et(P,"click",qt),et(P,"click",b,this),et(P,"click",this._refocusOnMap,this),P},_updateDisabled:function(){var s=this._map,c="leaflet-disabled";mt(this._zoomInButton,c),mt(this._zoomOutButton,c),this._zoomInButton.setAttribute("aria-disabled","false"),this._zoomOutButton.setAttribute("aria-disabled","false"),(this._disabled||s._zoom===s.getMinZoom())&&(at(this._zoomOutButton,c),this._zoomOutButton.setAttribute("aria-disabled","true")),(this._disabled||s._zoom===s.getMaxZoom())&&(at(this._zoomInButton,c),this._zoomInButton.setAttribute("aria-disabled","true"))}});ct.mergeOptions({zoomControl:!0}),ct.addInitHook(function(){this.options.zoomControl&&(this.zoomControl=new yn,this.addControl(this.zoomControl))});var mr=function(s){return new yn(s)},Jn=$t.extend({options:{position:"bottomleft",maxWidth:100,metric:!0,imperial:!0},onAdd:function(s){var c="leaflet-control-scale",h=ut("div",c),g=this.options;return this._addScales(g,c+"-line",h),s.on(g.updateWhenIdle?"moveend":"move",this._update,this),s.whenReady(this._update,this),h},onRemove:function(s){s.off(this.options.updateWhenIdle?"moveend":"move",this._update,this)},_addScales:function(s,c,h){s.metric&&(this._mScale=ut("div",c,h)),s.imperial&&(this._iScale=ut("div",c,h))},_update:function(){var s=this._map,c=s.getSize().y/2,h=s.distance(s.containerPointToLatLng([0,c]),s.containerPointToLatLng([this.options.maxWidth,c]));this._updateScales(h)},_updateScales:function(s){this.options.metric&&s&&this._updateMetric(s),this.options.imperial&&s&&this._updateImperial(s)},_updateMetric:function(s){var c=this._getRoundNum(s),h=c<1e3?c+" m":c/1e3+" km";this._updateScale(this._mScale,h,c/s)},_updateImperial:function(s){var c=s*3.2808399,h,g,b;c>5280?(h=c/5280,g=this._getRoundNum(h),this._updateScale(this._iScale,g+" mi",g/h)):(b=this._getRoundNum(c),this._updateScale(this._iScale,b+" ft",b/c))},_updateScale:function(s,c,h){s.style.width=Math.round(this.options.maxWidth*h)+"px",s.innerHTML=c},_getRoundNum:function(s){var c=Math.pow(10,(Math.floor(s)+"").length-1),h=s/c;return h=h>=10?10:h>=5?5:h>=3?3:h>=2?2:1,c*h}}),pr=function(s){return new Jn(s)},gr='',vn=$t.extend({options:{position:"bottomright",prefix:''+(G.inlineSvg?gr+" ":"")+"Leaflet"},initialize:function(s){v(this,s),this._attributions={}},onAdd:function(s){s.attributionControl=this,this._container=ut("div","leaflet-control-attribution"),Ee(this._container);for(var c in s._layers)s._layers[c].getAttribution&&this.addAttribution(s._layers[c].getAttribution());return this._update(),s.on("layeradd",this._addAttribution,this),this._container},onRemove:function(s){s.off("layeradd",this._addAttribution,this)},_addAttribution:function(s){s.layer.getAttribution&&(this.addAttribution(s.layer.getAttribution()),s.layer.once("remove",function(){this.removeAttribution(s.layer.getAttribution())},this))},setPrefix:function(s){return this.options.prefix=s,this._update(),this},addAttribution:function(s){return s?(this._attributions[s]||(this._attributions[s]=0),this._attributions[s]++,this._update(),this):this},removeAttribution:function(s){return s?(this._attributions[s]&&(this._attributions[s]--,this._update()),this):this},_update:function(){if(this._map){var s=[];for(var c in this._attributions)this._attributions[c]&&s.push(c);var h=[];this.options.prefix&&h.push(this.options.prefix),s.length&&h.push(s.join(", ")),this._container.innerHTML=h.join(' ')}}});ct.mergeOptions({attributionControl:!0}),ct.addInitHook(function(){this.options.attributionControl&&new vn().addTo(this)});var _r=function(s){return new vn(s)};$t.Layers=Qn,$t.Zoom=yn,$t.Scale=Jn,$t.Attribution=vn,xe.layers=hr,xe.zoom=mr,xe.scale=pr,xe.attribution=_r;var Ot=nt.extend({initialize:function(s){this._map=s},enable:function(){return this._enabled?this:(this._enabled=!0,this.addHooks(),this)},disable:function(){return this._enabled?(this._enabled=!1,this.removeHooks(),this):this},enabled:function(){return!!this._enabled}});Ot.addTo=function(s,c){return s.addHandler(c,this),this};var br={Events:N},ti=G.touch?"touchstart mousedown":"mousedown",zt=V.extend({options:{clickTolerance:3},initialize:function(s,c,h,g){v(this,g),this._element=s,this._dragStartTarget=c||s,this._preventOutline=h},enable:function(){this._enabled||(et(this._dragStartTarget,ti,this._onDown,this),this._enabled=!0)},disable:function(){this._enabled&&(zt._dragging===this&&this.finishDrag(!0),ht(this._dragStartTarget,ti,this._onDown,this),this._enabled=!1,this._moved=!1)},_onDown:function(s){if(this._enabled&&(this._moved=!1,!an(this._element,"leaflet-zoom-anim"))){if(s.touches&&s.touches.length!==1){zt._dragging===this&&this.finishDrag();return}if(!(zt._dragging||s.shiftKey||s.which!==1&&s.button!==1&&!s.touches)&&(zt._dragging=this,this._preventOutline&&hn(this._element),cn(),ve(),!this._moving)){this.fire("down");var c=s.touches?s.touches[0]:s,h=qn(this._element);this._startPoint=new H(c.clientX,c.clientY),this._startPos=Bt(this._element),this._parentScale=fn(h);var g=s.type==="mousedown";et(document,g?"mousemove":"touchmove",this._onMove,this),et(document,g?"mouseup":"touchend touchcancel",this._onUp,this)}}},_onMove:function(s){if(this._enabled){if(s.touches&&s.touches.length>1){this._moved=!0;return}var c=s.touches&&s.touches.length===1?s.touches[0]:s,h=new H(c.clientX,c.clientY)._subtract(this._startPoint);!h.x&&!h.y||Math.abs(h.x)+Math.abs(h.y)P&&(T=O,P=D);P>h&&(c[T]=1,Pn(s,c,h,g,T),Pn(s,c,h,T,b))}function Pr(s,c){for(var h=[s[0]],g=1,b=0,P=s.length;gc&&(h.push(s[g]),b=g);return bc.max.x&&(h|=2),s.yc.max.y&&(h|=8),h}function Er(s,c){var h=c.x-s.x,g=c.y-s.y;return h*h+g*g}function Se(s,c,h,g){var b=c.x,P=c.y,T=h.x-b,O=h.y-P,D=T*T+O*O,z;return D>0&&(z=((s.x-b)*T+(s.y-P)*O)/D,z>1?(b=h.x,P=h.y):z>0&&(b+=T*z,P+=O*z)),T=s.x-b,O=s.y-P,g?T*T+O*O:new H(b,P)}function St(s){return!M(s[0])||typeof s[0][0]!="object"&&typeof s[0][0]<"u"}function oi(s){return console.warn("Deprecated use of _flat, please use L.LineUtil.isFlat instead."),St(s)}function li(s,c){var h,g,b,P,T,O,D,z;if(!s||s.length===0)throw new Error("latlngs not passed");St(s)||(console.warn("latlngs are not flat! Only the first ring will be used"),s=s[0]);var U=Q([0,0]),Z=rt(s),ot=Z.getNorthWest().distanceTo(Z.getSouthWest())*Z.getNorthEast().distanceTo(Z.getNorthWest());ot<1700&&(U=wn(s));var wt=s.length,bt=[];for(h=0;hg){D=(P-g)/b,z=[O.x-D*(O.x-T.x),O.y-D*(O.y-T.y)];break}var Et=c.unproject(B(z));return Q([Et.lat+U.lat,Et.lng+U.lng])}var xr={__proto__:null,simplify:ii,pointToSegmentDistance:ri,closestPointOnSegment:vr,clipSegment:si,_getEdgeIntersection:Re,_getBitCode:Kt,_sqClosestPointOnSegment:Se,isFlat:St,_flat:oi,polylineCenter:li},En={project:function(s){return new H(s.lng,s.lat)},unproject:function(s){return new tt(s.y,s.x)},bounds:new lt([-180,-90],[180,90])},xn={R:6378137,R_MINOR:6356752314245179e-9,bounds:new lt([-2003750834279e-5,-1549657073972e-5],[2003750834279e-5,1876465623138e-5]),project:function(s){var c=Math.PI/180,h=this.R,g=s.lat*c,b=this.R_MINOR/h,P=Math.sqrt(1-b*b),T=P*Math.sin(g),O=Math.tan(Math.PI/4-g/2)/Math.pow((1-T)/(1+T),P/2);return g=-h*Math.log(Math.max(O,1e-10)),new H(s.lng*c*h,g)},unproject:function(s){for(var c=180/Math.PI,h=this.R,g=this.R_MINOR/h,b=Math.sqrt(1-g*g),P=Math.exp(-s.y/h),T=Math.PI/2-2*Math.atan(P),O=0,D=.1,z;O<15&&Math.abs(D)>1e-7;O++)z=b*Math.sin(T),z=Math.pow((1-z)/(1+z),b/2),D=Math.PI/2-2*Math.atan(P*z)-T,T+=D;return new tt(T*c,s.x*c/h)}},Sr={__proto__:null,LonLat:En,Mercator:xn,SphericalMercator:le},Tr=r({},vt,{code:"EPSG:3395",projection:xn,transformation:function(){var s=.5/(Math.PI*xn.R);return jt(s,.5,-s,.5)}()}),ci=r({},vt,{code:"EPSG:4326",projection:En,transformation:jt(1/180,1,-1/180,.5)}),$r=r({},Pt,{projection:En,transformation:jt(1,0,-1,0),scale:function(s){return Math.pow(2,s)},zoom:function(s){return Math.log(s)/Math.LN2},distance:function(s,c){var h=c.lng-s.lng,g=c.lat-s.lat;return Math.sqrt(h*h+g*g)},infinite:!0});Pt.Earth=vt,Pt.EPSG3395=Tr,Pt.EPSG3857=Gt,Pt.EPSG900913=Ze,Pt.EPSG4326=ci,Pt.Simple=$r;var Mt=V.extend({options:{pane:"overlayPane",attribution:null,bubblingMouseEvents:!0},addTo:function(s){return s.addLayer(this),this},remove:function(){return this.removeFrom(this._map||this._mapToAdd)},removeFrom:function(s){return s&&s.removeLayer(this),this},getPane:function(s){return this._map.getPane(s?this.options[s]||s:this.options.pane)},addInteractiveTarget:function(s){return this._map._targets[u(s)]=this,this},removeInteractiveTarget:function(s){return delete this._map._targets[u(s)],this},getAttribution:function(){return this.options.attribution},_layerAdd:function(s){var c=s.target;if(c.hasLayer(this)){if(this._map=c,this._zoomAnimated=c._zoomAnimated,this.getEvents){var h=this.getEvents();c.on(h,this),this.once("remove",function(){c.off(h,this)},this)}this.onAdd(c),this.fire("add"),c.fire("layeradd",{layer:this})}}});ct.include({addLayer:function(s){if(!s._layerAdd)throw new Error("The provided object is not a Layer.");var c=u(s);return this._layers[c]?this:(this._layers[c]=s,s._mapToAdd=this,s.beforeAdd&&s.beforeAdd(this),this.whenReady(s._layerAdd,s),this)},removeLayer:function(s){var c=u(s);return this._layers[c]?(this._loaded&&s.onRemove(this),delete this._layers[c],this._loaded&&(this.fire("layerremove",{layer:s}),s.fire("remove")),s._map=s._mapToAdd=null,this):this},hasLayer:function(s){return u(s)in this._layers},eachLayer:function(s,c){for(var h in this._layers)s.call(c,this._layers[h]);return this},_addLayers:function(s){s=s?M(s)?s:[s]:[];for(var c=0,h=s.length;cthis._layersMaxZoom&&this.setZoom(this._layersMaxZoom),this.options.minZoom===void 0&&this._layersMinZoom&&this.getZoom()=2&&c[0]instanceof tt&&c[0].equals(c[h-1])&&c.pop(),c},_setLatLngs:function(s){Nt.prototype._setLatLngs.call(this,s),St(this._latlngs)&&(this._latlngs=[this._latlngs])},_defaultShape:function(){return St(this._latlngs[0])?this._latlngs[0]:this._latlngs[0][0]},_clipPoints:function(){var s=this._renderer._bounds,c=this.options.weight,h=new H(c,c);if(s=new lt(s.min.subtract(h),s.max.add(h)),this._parts=[],!(!this._pxBounds||!this._pxBounds.intersects(s))){if(this.options.noClip){this._parts=this._rings;return}for(var g=0,b=this._rings.length,P;gs.y!=b.y>s.y&&s.x<(b.x-g.x)*(s.y-g.y)/(b.y-g.y)+g.x&&(c=!c);return c||Nt.prototype._containsPoint.call(this,s,!0)}});function Nr(s,c){return new re(s,c)}var Ft=Dt.extend({initialize:function(s,c){v(this,c),this._layers={},s&&this.addData(s)},addData:function(s){var c=M(s)?s:s.features,h,g,b;if(c){for(h=0,g=c.length;h0&&b.push(b[0].slice()),b}function ae(s,c){return s.feature?r({},s.feature,{geometry:c}):Be(c)}function Be(s){return s.type==="Feature"||s.type==="FeatureCollection"?s:{type:"Feature",properties:{},geometry:s}}var Mn={toGeoJSON:function(s){return ae(this,{type:"Point",coordinates:$n(this.getLatLng(),s)})}};ze.include(Mn),Sn.include(Mn),We.include(Mn),Nt.include({toGeoJSON:function(s){var c=!St(this._latlngs),h=He(this._latlngs,c?1:0,!1,s);return ae(this,{type:(c?"Multi":"")+"LineString",coordinates:h})}}),re.include({toGeoJSON:function(s){var c=!St(this._latlngs),h=c&&!St(this._latlngs[0]),g=He(this._latlngs,h?2:c?1:0,!0,s);return c||(g=[g]),ae(this,{type:(h?"Multi":"")+"Polygon",coordinates:g})}}),ne.include({toMultiPoint:function(s){var c=[];return this.eachLayer(function(h){c.push(h.toGeoJSON(s).geometry.coordinates)}),ae(this,{type:"MultiPoint",coordinates:c})},toGeoJSON:function(s){var c=this.feature&&this.feature.geometry&&this.feature.geometry.type;if(c==="MultiPoint")return this.toMultiPoint(s);var h=c==="GeometryCollection",g=[];return this.eachLayer(function(b){if(b.toGeoJSON){var P=b.toGeoJSON(s);if(h)g.push(P.geometry);else{var T=Be(P);T.type==="FeatureCollection"?g.push.apply(g,T.features):g.push(T)}}}),h?ae(this,{geometries:g,type:"GeometryCollection"}):{type:"FeatureCollection",features:g}}});function hi(s,c){return new Ft(s,c)}var Fr=hi,Ye=Mt.extend({options:{opacity:1,alt:"",interactive:!1,crossOrigin:!1,errorOverlayUrl:"",zIndex:1,className:""},initialize:function(s,c,h){this._url=s,this._bounds=rt(c),v(this,h)},onAdd:function(){this._image||(this._initImage(),this.options.opacity<1&&this._updateOpacity()),this.options.interactive&&(at(this._image,"leaflet-interactive"),this.addInteractiveTarget(this._image)),this.getPane().appendChild(this._image),this._reset()},onRemove:function(){ft(this._image),this.options.interactive&&this.removeInteractiveTarget(this._image)},setOpacity:function(s){return this.options.opacity=s,this._image&&this._updateOpacity(),this},setStyle:function(s){return s.opacity&&this.setOpacity(s.opacity),this},bringToFront:function(){return this._map&&te(this._image),this},bringToBack:function(){return this._map&&ee(this._image),this},setUrl:function(s){return this._url=s,this._image&&(this._image.src=s),this},setBounds:function(s){return this._bounds=rt(s),this._map&&this._reset(),this},getEvents:function(){var s={zoom:this._reset,viewreset:this._reset};return this._zoomAnimated&&(s.zoomanim=this._animateZoom),s},setZIndex:function(s){return this.options.zIndex=s,this._updateZIndex(),this},getBounds:function(){return this._bounds},getElement:function(){return this._image},_initImage:function(){var s=this._url.tagName==="IMG",c=this._image=s?this._url:ut("img");if(at(c,"leaflet-image-layer"),this._zoomAnimated&&at(c,"leaflet-zoom-animated"),this.options.className&&at(c,this.options.className),c.onselectstart=p,c.onmousemove=p,c.onload=o(this.fire,this,"load"),c.onerror=o(this._overlayOnError,this,"error"),(this.options.crossOrigin||this.options.crossOrigin==="")&&(c.crossOrigin=this.options.crossOrigin===!0?"":this.options.crossOrigin),this.options.zIndex&&this._updateZIndex(),s){this._url=c.src;return}c.src=this._url,c.alt=this.options.alt},_animateZoom:function(s){var c=this._map.getZoomScale(s.zoom),h=this._map._latLngBoundsToNewLayerBounds(this._bounds,s.zoom,s.center).min;Ht(this._image,h,c)},_reset:function(){var s=this._image,c=new lt(this._map.latLngToLayerPoint(this._bounds.getNorthWest()),this._map.latLngToLayerPoint(this._bounds.getSouthEast())),h=c.getSize();gt(s,c.min),s.style.width=h.x+"px",s.style.height=h.y+"px"},_updateOpacity:function(){xt(this._image,this.options.opacity)},_updateZIndex:function(){this._image&&this.options.zIndex!==void 0&&this.options.zIndex!==null&&(this._image.style.zIndex=this.options.zIndex)},_overlayOnError:function(){this.fire("error");var s=this.options.errorOverlayUrl;s&&this._url!==s&&(this._url=s,this._image.src=s)},getCenter:function(){return this._bounds.getCenter()}}),Ir=function(s,c,h){return new Ye(s,c,h)},mi=Ye.extend({options:{autoplay:!0,loop:!0,keepAspectRatio:!0,muted:!1,playsInline:!0},_initImage:function(){var s=this._url.tagName==="VIDEO",c=this._image=s?this._url:ut("video");if(at(c,"leaflet-image-layer"),this._zoomAnimated&&at(c,"leaflet-zoom-animated"),this.options.className&&at(c,this.options.className),c.onselectstart=p,c.onmousemove=p,c.onloadeddata=o(this.fire,this,"load"),s){for(var h=c.getElementsByTagName("source"),g=[],b=0;b0?g:[c.src];return}M(this._url)||(this._url=[this._url]),!this.options.keepAspectRatio&&Object.prototype.hasOwnProperty.call(c.style,"objectFit")&&(c.style.objectFit="fill"),c.autoplay=!!this.options.autoplay,c.loop=!!this.options.loop,c.muted=!!this.options.muted,c.playsInline=!!this.options.playsInline;for(var P=0;Pb?(c.height=b+"px",at(s,P)):mt(s,P),this._containerWidth=this._container.offsetWidth},_animateZoom:function(s){var c=this._map._latLngToNewLayerPoint(this._latlng,s.zoom,s.center),h=this._getAnchor();gt(this._container,c.add(h))},_adjustPan:function(){if(this.options.autoPan){if(this._map._panAnim&&this._map._panAnim.stop(),this._autopanning){this._autopanning=!1;return}var s=this._map,c=parseInt(ye(this._container,"marginBottom"),10)||0,h=this._container.offsetHeight+c,g=this._containerWidth,b=new H(this._containerLeft,-h-this._containerBottom);b._add(Bt(this._container));var P=s.layerPointToContainerPoint(b),T=B(this.options.autoPanPadding),O=B(this.options.autoPanPaddingTopLeft||T),D=B(this.options.autoPanPaddingBottomRight||T),z=s.getSize(),U=0,Z=0;P.x+g+D.x>z.x&&(U=P.x+g-z.x+D.x),P.x-U-O.x<0&&(U=P.x-O.x),P.y+h+D.y>z.y&&(Z=P.y+h-z.y+D.y),P.y-Z-O.y<0&&(Z=P.y-O.y),(U||Z)&&(this.options.keepInView&&(this._autopanning=!0),s.fire("autopanstart").panBy([U,Z]))}},_getAnchor:function(){return B(this._source&&this._source._getPopupAnchor?this._source._getPopupAnchor():[0,0])}}),Wr=function(s,c){return new qe(s,c)};ct.mergeOptions({closePopupOnClick:!0}),ct.include({openPopup:function(s,c,h){return this._initOverlay(qe,s,c,h).openOn(this),this},closePopup:function(s){return s=arguments.length?s:this._popup,s&&s.close(),this}}),Mt.include({bindPopup:function(s,c){return this._popup=this._initOverlay(qe,this._popup,s,c),this._popupHandlersAdded||(this.on({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!0),this},unbindPopup:function(){return this._popup&&(this.off({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!1,this._popup=null),this},openPopup:function(s){return this._popup&&(this instanceof Dt||(this._popup._source=this),this._popup._prepareOpen(s||this._latlng)&&this._popup.openOn(this._map)),this},closePopup:function(){return this._popup&&this._popup.close(),this},togglePopup:function(){return this._popup&&this._popup.toggle(this),this},isPopupOpen:function(){return this._popup?this._popup.isOpen():!1},setPopupContent:function(s){return this._popup&&this._popup.setContent(s),this},getPopup:function(){return this._popup},_openPopup:function(s){if(!(!this._popup||!this._map)){qt(s);var c=s.layer||s.target;if(this._popup._source===c&&!(c instanceof Wt)){this._map.hasLayer(this._popup)?this.closePopup():this.openPopup(s.latlng);return}this._popup._source=c,this.openPopup(s.latlng)}},_movePopup:function(s){this._popup.setLatLng(s.latlng)},_onKeyPress:function(s){s.originalEvent.keyCode===13&&this._openPopup(s)}});var Ke=Ct.extend({options:{pane:"tooltipPane",offset:[0,0],direction:"auto",permanent:!1,sticky:!1,opacity:.9},onAdd:function(s){Ct.prototype.onAdd.call(this,s),this.setOpacity(this.options.opacity),s.fire("tooltipopen",{tooltip:this}),this._source&&(this.addEventParent(this._source),this._source.fire("tooltipopen",{tooltip:this},!0))},onRemove:function(s){Ct.prototype.onRemove.call(this,s),s.fire("tooltipclose",{tooltip:this}),this._source&&(this.removeEventParent(this._source),this._source.fire("tooltipclose",{tooltip:this},!0))},getEvents:function(){var s=Ct.prototype.getEvents.call(this);return this.options.permanent||(s.preclick=this.close),s},_initLayout:function(){var s="leaflet-tooltip",c=s+" "+(this.options.className||"")+" leaflet-zoom-"+(this._zoomAnimated?"animated":"hide");this._contentNode=this._container=ut("div",c),this._container.setAttribute("role","tooltip"),this._container.setAttribute("id","leaflet-tooltip-"+u(this))},_updateLayout:function(){},_adjustPan:function(){},_setPosition:function(s){var c,h,g=this._map,b=this._container,P=g.latLngToContainerPoint(g.getCenter()),T=g.layerPointToContainerPoint(s),O=this.options.direction,D=b.offsetWidth,z=b.offsetHeight,U=B(this.options.offset),Z=this._getAnchor();O==="top"?(c=D/2,h=z):O==="bottom"?(c=D/2,h=0):O==="center"?(c=D/2,h=z/2):O==="right"?(c=0,h=z/2):O==="left"?(c=D,h=z/2):T.xthis.options.maxZoom||hg?this._retainParent(b,P,T,g):!1)},_retainChildren:function(s,c,h,g){for(var b=2*s;b<2*s+2;b++)for(var P=2*c;P<2*c+2;P++){var T=new H(b,P);T.z=h+1;var O=this._tileCoordsToKey(T),D=this._tiles[O];if(D&&D.active){D.retain=!0;continue}else D&&D.loaded&&(D.retain=!0);h+1this.options.maxZoom||this.options.minZoom!==void 0&&b1){this._setView(s,h);return}for(var Z=b.min.y;Z<=b.max.y;Z++)for(var ot=b.min.x;ot<=b.max.x;ot++){var wt=new H(ot,Z);if(wt.z=this._tileZoom,!!this._isValidTile(wt)){var bt=this._tiles[this._tileCoordsToKey(wt)];bt?bt.current=!0:T.push(wt)}}if(T.sort(function(Et,oe){return Et.distanceTo(P)-oe.distanceTo(P)}),T.length!==0){this._loading||(this._loading=!0,this.fire("loading"));var Tt=document.createDocumentFragment();for(ot=0;oth.max.x)||!c.wrapLat&&(s.yh.max.y))return!1}if(!this.options.bounds)return!0;var g=this._tileCoordsToBounds(s);return rt(this.options.bounds).overlaps(g)},_keyToBounds:function(s){return this._tileCoordsToBounds(this._keyToTileCoords(s))},_tileCoordsToNwSe:function(s){var c=this._map,h=this.getTileSize(),g=s.scaleBy(h),b=g.add(h),P=c.unproject(g,s.z),T=c.unproject(b,s.z);return[P,T]},_tileCoordsToBounds:function(s){var c=this._tileCoordsToNwSe(s),h=new st(c[0],c[1]);return this.options.noWrap||(h=this._map.wrapLatLngBounds(h)),h},_tileCoordsToKey:function(s){return s.x+":"+s.y+":"+s.z},_keyToTileCoords:function(s){var c=s.split(":"),h=new H(+c[0],+c[1]);return h.z=+c[2],h},_removeTile:function(s){var c=this._tiles[s];c&&(ft(c.el),delete this._tiles[s],this.fire("tileunload",{tile:c.el,coords:this._keyToTileCoords(s)}))},_initTile:function(s){at(s,"leaflet-tile");var c=this.getTileSize();s.style.width=c.x+"px",s.style.height=c.y+"px",s.onselectstart=p,s.onmousemove=p,G.ielt9&&this.options.opacity<1&&xt(s,this.options.opacity)},_addTile:function(s,c){var h=this._getTilePos(s),g=this._tileCoordsToKey(s),b=this.createTile(this._wrapCoords(s),o(this._tileReady,this,s));this._initTile(b),this.createTile.length<2&&Y(o(this._tileReady,this,s,null,b)),gt(b,h),this._tiles[g]={el:b,coords:s,current:!0},c.appendChild(b),this.fire("tileloadstart",{tile:b,coords:s})},_tileReady:function(s,c,h){c&&this.fire("tileerror",{error:c,tile:h,coords:s});var g=this._tileCoordsToKey(s);h=this._tiles[g],h&&(h.loaded=+new Date,this._map._fadeAnimated?(xt(h.el,0),q(this._fadeFrame),this._fadeFrame=Y(this._updateOpacity,this)):(h.active=!0,this._pruneTiles()),c||(at(h.el,"leaflet-tile-loaded"),this.fire("tileload",{tile:h.el,coords:s})),this._noTilesToLoad()&&(this._loading=!1,this.fire("load"),G.ielt9||!this._map._fadeAnimated?Y(this._pruneTiles,this):setTimeout(o(this._pruneTiles,this),250)))},_getTilePos:function(s){return s.scaleBy(this.getTileSize()).subtract(this._level.origin)},_wrapCoords:function(s){var c=new H(this._wrapX?m(s.x,this._wrapX):s.x,this._wrapY?m(s.y,this._wrapY):s.y);return c.z=s.z,c},_pxBoundsToTileRange:function(s){var c=this.getTileSize();return new lt(s.min.unscaleBy(c).floor(),s.max.unscaleBy(c).ceil().subtract([1,1]))},_noTilesToLoad:function(){for(var s in this._tiles)if(!this._tiles[s].loaded)return!1;return!0}});function Hr(s){return new $e(s)}var se=$e.extend({options:{minZoom:0,maxZoom:18,subdomains:"abc",errorTileUrl:"",zoomOffset:0,tms:!1,zoomReverse:!1,detectRetina:!1,crossOrigin:!1,referrerPolicy:!1},initialize:function(s,c){this._url=s,c=v(this,c),c.detectRetina&&G.retina&&c.maxZoom>0?(c.tileSize=Math.floor(c.tileSize/2),c.zoomReverse?(c.zoomOffset--,c.minZoom=Math.min(c.maxZoom,c.minZoom+1)):(c.zoomOffset++,c.maxZoom=Math.max(c.minZoom,c.maxZoom-1)),c.minZoom=Math.max(0,c.minZoom)):c.zoomReverse?c.minZoom=Math.min(c.maxZoom,c.minZoom):c.maxZoom=Math.max(c.minZoom,c.maxZoom),typeof c.subdomains=="string"&&(c.subdomains=c.subdomains.split("")),this.on("tileunload",this._onTileRemove)},setUrl:function(s,c){return this._url===s&&c===void 0&&(c=!0),this._url=s,c||this.redraw(),this},createTile:function(s,c){var h=document.createElement("img");return et(h,"load",o(this._tileOnLoad,this,c,h)),et(h,"error",o(this._tileOnError,this,c,h)),(this.options.crossOrigin||this.options.crossOrigin==="")&&(h.crossOrigin=this.options.crossOrigin===!0?"":this.options.crossOrigin),typeof this.options.referrerPolicy=="string"&&(h.referrerPolicy=this.options.referrerPolicy),h.alt="",h.src=this.getTileUrl(s),h},getTileUrl:function(s){var c={r:G.retina?"@2x":"",s:this._getSubdomain(s),x:s.x,y:s.y,z:this._getZoomForUrl()};if(this._map&&!this._map.options.crs.infinite){var h=this._globalTileRange.max.y-s.y;this.options.tms&&(c.y=h),c["-y"]=h}return S(this._url,r(c,this.options))},_tileOnLoad:function(s,c){G.ielt9?setTimeout(o(s,this,null,c),0):s(null,c)},_tileOnError:function(s,c,h){var g=this.options.errorTileUrl;g&&c.getAttribute("src")!==g&&(c.src=g),s(h,c)},_onTileRemove:function(s){s.tile.onload=null},_getZoomForUrl:function(){var s=this._tileZoom,c=this.options.maxZoom,h=this.options.zoomReverse,g=this.options.zoomOffset;return h&&(s=c-s),s+g},_getSubdomain:function(s){var c=Math.abs(s.x+s.y)%this.options.subdomains.length;return this.options.subdomains[c]},_abortLoading:function(){var s,c;for(s in this._tiles)if(this._tiles[s].coords.z!==this._tileZoom&&(c=this._tiles[s].el,c.onload=p,c.onerror=p,!c.complete)){c.src=A;var h=this._tiles[s].coords;ft(c),delete this._tiles[s],this.fire("tileabort",{tile:c,coords:h})}},_removeTile:function(s){var c=this._tiles[s];if(c)return c.el.setAttribute("src",A),$e.prototype._removeTile.call(this,s)},_tileReady:function(s,c,h){if(!(!this._map||h&&h.getAttribute("src")===A))return $e.prototype._tileReady.call(this,s,c,h)}});function _i(s,c){return new se(s,c)}var bi=se.extend({defaultWmsParams:{service:"WMS",request:"GetMap",layers:"",styles:"",format:"image/jpeg",transparent:!1,version:"1.1.1"},options:{crs:null,uppercase:!1},initialize:function(s,c){this._url=s;var h=r({},this.defaultWmsParams);for(var g in c)g in this.options||(h[g]=c[g]);c=v(this,c);var b=c.detectRetina&&G.retina?2:1,P=this.getTileSize();h.width=P.x*b,h.height=P.y*b,this.wmsParams=h},onAdd:function(s){this._crs=this.options.crs||s.options.crs,this._wmsVersion=parseFloat(this.wmsParams.version);var c=this._wmsVersion>=1.3?"crs":"srs";this.wmsParams[c]=this._crs.code,se.prototype.onAdd.call(this,s)},getTileUrl:function(s){var c=this._tileCoordsToNwSe(s),h=this._crs,g=dt(h.project(c[0]),h.project(c[1])),b=g.min,P=g.max,T=(this._wmsVersion>=1.3&&this._crs===ci?[b.y,b.x,P.y,P.x]:[b.x,b.y,P.x,P.y]).join(","),O=se.prototype.getTileUrl.call(this,s);return O+E(this.wmsParams,O,this.options.uppercase)+(this.options.uppercase?"&BBOX=":"&bbox=")+T},setParams:function(s,c){return r(this.wmsParams,s),c||this.redraw(),this}});function Br(s,c){return new bi(s,c)}se.WMS=bi,_i.wms=Br;var It=Mt.extend({options:{padding:.1},initialize:function(s){v(this,s),u(this),this._layers=this._layers||{}},onAdd:function(){this._container||(this._initContainer(),at(this._container,"leaflet-zoom-animated")),this.getPane().appendChild(this._container),this._update(),this.on("update",this._updatePaths,this)},onRemove:function(){this.off("update",this._updatePaths,this),this._destroyContainer()},getEvents:function(){var s={viewreset:this._reset,zoom:this._onZoom,moveend:this._update,zoomend:this._onZoomEnd};return this._zoomAnimated&&(s.zoomanim=this._onAnimZoom),s},_onAnimZoom:function(s){this._updateTransform(s.center,s.zoom)},_onZoom:function(){this._updateTransform(this._map.getCenter(),this._map.getZoom())},_updateTransform:function(s,c){var h=this._map.getZoomScale(c,this._zoom),g=this._map.getSize().multiplyBy(.5+this.options.padding),b=this._map.project(this._center,c),P=g.multiplyBy(-h).add(b).subtract(this._map._getNewPixelOrigin(s,c));G.any3d?Ht(this._container,P,h):gt(this._container,P)},_reset:function(){this._update(),this._updateTransform(this._center,this._zoom);for(var s in this._layers)this._layers[s]._reset()},_onZoomEnd:function(){for(var s in this._layers)this._layers[s]._project()},_updatePaths:function(){for(var s in this._layers)this._layers[s]._update()},_update:function(){var s=this.options.padding,c=this._map.getSize(),h=this._map.containerPointToLayerPoint(c.multiplyBy(-s)).round();this._bounds=new lt(h,h.add(c.multiplyBy(1+s*2)).round()),this._center=this._map.getCenter(),this._zoom=this._map.getZoom()}}),yi=It.extend({options:{tolerance:0},getEvents:function(){var s=It.prototype.getEvents.call(this);return s.viewprereset=this._onViewPreReset,s},_onViewPreReset:function(){this._postponeUpdatePaths=!0},onAdd:function(){It.prototype.onAdd.call(this),this._draw()},_initContainer:function(){var s=this._container=document.createElement("canvas");et(s,"mousemove",this._onMouseMove,this),et(s,"click dblclick mousedown mouseup contextmenu",this._onClick,this),et(s,"mouseout",this._handleMouseOut,this),s._leaflet_disable_events=!0,this._ctx=s.getContext("2d")},_destroyContainer:function(){q(this._redrawRequest),delete this._ctx,ft(this._container),ht(this._container),delete this._container},_updatePaths:function(){if(!this._postponeUpdatePaths){var s;this._redrawBounds=null;for(var c in this._layers)s=this._layers[c],s._update();this._redraw()}},_update:function(){if(!(this._map._animatingZoom&&this._bounds)){It.prototype._update.call(this);var s=this._bounds,c=this._container,h=s.getSize(),g=G.retina?2:1;gt(c,s.min),c.width=g*h.x,c.height=g*h.y,c.style.width=h.x+"px",c.style.height=h.y+"px",G.retina&&this._ctx.scale(2,2),this._ctx.translate(-s.min.x,-s.min.y),this.fire("update")}},_reset:function(){It.prototype._reset.call(this),this._postponeUpdatePaths&&(this._postponeUpdatePaths=!1,this._updatePaths())},_initPath:function(s){this._updateDashArray(s),this._layers[u(s)]=s;var c=s._order={layer:s,prev:this._drawLast,next:null};this._drawLast&&(this._drawLast.next=c),this._drawLast=c,this._drawFirst=this._drawFirst||this._drawLast},_addPath:function(s){this._requestRedraw(s)},_removePath:function(s){var c=s._order,h=c.next,g=c.prev;h?h.prev=g:this._drawLast=g,g?g.next=h:this._drawFirst=h,delete s._order,delete this._layers[u(s)],this._requestRedraw(s)},_updatePath:function(s){this._extendRedrawBounds(s),s._project(),s._update(),this._requestRedraw(s)},_updateStyle:function(s){this._updateDashArray(s),this._requestRedraw(s)},_updateDashArray:function(s){if(typeof s.options.dashArray=="string"){var c=s.options.dashArray.split(/[, ]+/),h=[],g,b;for(b=0;b')}}catch{}return function(s){return document.createElement("<"+s+' xmlns="urn:schemas-microsoft.com:vml" class="lvml">')}}(),Yr={_initContainer:function(){this._container=ut("div","leaflet-vml-container")},_update:function(){this._map._animatingZoom||(It.prototype._update.call(this),this.fire("update"))},_initPath:function(s){var c=s._container=Me("shape");at(c,"leaflet-vml-shape "+(this.options.className||"")),c.coordsize="1 1",s._path=Me("path"),c.appendChild(s._path),this._updateStyle(s),this._layers[u(s)]=s},_addPath:function(s){var c=s._container;this._container.appendChild(c),s.options.interactive&&s.addInteractiveTarget(c)},_removePath:function(s){var c=s._container;ft(c),s.removeInteractiveTarget(c),delete this._layers[u(s)]},_updateStyle:function(s){var c=s._stroke,h=s._fill,g=s.options,b=s._container;b.stroked=!!g.stroke,b.filled=!!g.fill,g.stroke?(c||(c=s._stroke=Me("stroke")),b.appendChild(c),c.weight=g.weight+"px",c.color=g.color,c.opacity=g.opacity,g.dashArray?c.dashStyle=M(g.dashArray)?g.dashArray.join(" "):g.dashArray.replace(/( *, *)/g," "):c.dashStyle="",c.endcap=g.lineCap.replace("butt","flat"),c.joinstyle=g.lineJoin):c&&(b.removeChild(c),s._stroke=null),g.fill?(h||(h=s._fill=Me("fill")),b.appendChild(h),h.color=g.fillColor||g.color,h.opacity=g.fillOpacity):h&&(b.removeChild(h),s._fill=null)},_updateCircle:function(s){var c=s._point.round(),h=Math.round(s._radius),g=Math.round(s._radiusY||h);this._setPath(s,s._empty()?"M0 0":"AL "+c.x+","+c.y+" "+h+","+g+" 0,"+65535*360)},_setPath:function(s,c){s._path.v=c},_bringToFront:function(s){te(s._container)},_bringToBack:function(s){ee(s._container)}},Ue=G.vml?Me:Ae,ke=It.extend({_initContainer:function(){this._container=Ue("svg"),this._container.setAttribute("pointer-events","none"),this._rootGroup=Ue("g"),this._container.appendChild(this._rootGroup)},_destroyContainer:function(){ft(this._container),ht(this._container),delete this._container,delete this._rootGroup,delete this._svgSize},_update:function(){if(!(this._map._animatingZoom&&this._bounds)){It.prototype._update.call(this);var s=this._bounds,c=s.getSize(),h=this._container;(!this._svgSize||!this._svgSize.equals(c))&&(this._svgSize=c,h.setAttribute("width",c.x),h.setAttribute("height",c.y)),gt(h,s.min),h.setAttribute("viewBox",[s.min.x,s.min.y,c.x,c.y].join(" ")),this.fire("update")}},_initPath:function(s){var c=s._path=Ue("path");s.options.className&&at(c,s.options.className),s.options.interactive&&at(c,"leaflet-interactive"),this._updateStyle(s),this._layers[u(s)]=s},_addPath:function(s){this._rootGroup||this._initContainer(),this._rootGroup.appendChild(s._path),s.addInteractiveTarget(s._path)},_removePath:function(s){ft(s._path),s.removeInteractiveTarget(s._path),delete this._layers[u(s)]},_updatePath:function(s){s._project(),s._update()},_updateStyle:function(s){var c=s._path,h=s.options;c&&(h.stroke?(c.setAttribute("stroke",h.color),c.setAttribute("stroke-opacity",h.opacity),c.setAttribute("stroke-width",h.weight),c.setAttribute("stroke-linecap",h.lineCap),c.setAttribute("stroke-linejoin",h.lineJoin),h.dashArray?c.setAttribute("stroke-dasharray",h.dashArray):c.removeAttribute("stroke-dasharray"),h.dashOffset?c.setAttribute("stroke-dashoffset",h.dashOffset):c.removeAttribute("stroke-dashoffset")):c.setAttribute("stroke","none"),h.fill?(c.setAttribute("fill",h.fillColor||h.color),c.setAttribute("fill-opacity",h.fillOpacity),c.setAttribute("fill-rule",h.fillRule||"evenodd")):c.setAttribute("fill","none"))},_updatePoly:function(s,c){this._setPath(s,ue(s._parts,c))},_updateCircle:function(s){var c=s._point,h=Math.max(Math.round(s._radius),1),g=Math.max(Math.round(s._radiusY),1)||h,b="a"+h+","+g+" 0 1,0 ",P=s._empty()?"M0 0":"M"+(c.x-h)+","+c.y+b+h*2+",0 "+b+-h*2+",0 ";this._setPath(s,P)},_setPath:function(s,c){s._path.setAttribute("d",c)},_bringToFront:function(s){te(s._path)},_bringToBack:function(s){ee(s._path)}});G.vml&&ke.include(Yr);function Pi(s){return G.svg||G.vml?new ke(s):null}ct.include({getRenderer:function(s){var c=s.options.renderer||this._getPaneRenderer(s.options.pane)||this.options.renderer||this._renderer;return c||(c=this._renderer=this._createRenderer()),this.hasLayer(c)||this.addLayer(c),c},_getPaneRenderer:function(s){if(s==="overlayPane"||s===void 0)return!1;var c=this._paneRenderers[s];return c===void 0&&(c=this._createRenderer({pane:s}),this._paneRenderers[s]=c),c},_createRenderer:function(s){return this.options.preferCanvas&&wi(s)||Pi(s)}});var Ei=re.extend({initialize:function(s,c){re.prototype.initialize.call(this,this._boundsToLatLngs(s),c)},setBounds:function(s){return this.setLatLngs(this._boundsToLatLngs(s))},_boundsToLatLngs:function(s){return s=rt(s),[s.getSouthWest(),s.getNorthWest(),s.getNorthEast(),s.getSouthEast()]}});function qr(s,c){return new Ei(s,c)}ke.create=Ue,ke.pointsToPath=ue,Ft.geometryToLayer=Ve,Ft.coordsToLatLng=Tn,Ft.coordsToLatLngs=je,Ft.latLngToCoords=$n,Ft.latLngsToCoords=He,Ft.getFeature=ae,Ft.asFeature=Be,ct.mergeOptions({boxZoom:!0});var xi=Ot.extend({initialize:function(s){this._map=s,this._container=s._container,this._pane=s._panes.overlayPane,this._resetStateTimeout=0,s.on("unload",this._destroy,this)},addHooks:function(){et(this._container,"mousedown",this._onMouseDown,this)},removeHooks:function(){ht(this._container,"mousedown",this._onMouseDown,this)},moved:function(){return this._moved},_destroy:function(){ft(this._pane),delete this._pane},_resetState:function(){this._resetStateTimeout=0,this._moved=!1},_clearDeferredResetState:function(){this._resetStateTimeout!==0&&(clearTimeout(this._resetStateTimeout),this._resetStateTimeout=0)},_onMouseDown:function(s){if(!s.shiftKey||s.which!==1&&s.button!==1)return!1;this._clearDeferredResetState(),this._resetState(),ve(),cn(),this._startPoint=this._map.mouseEventToContainerPoint(s),et(document,{contextmenu:qt,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseMove:function(s){this._moved||(this._moved=!0,this._box=ut("div","leaflet-zoom-box",this._container),at(this._container,"leaflet-crosshair"),this._map.fire("boxzoomstart")),this._point=this._map.mouseEventToContainerPoint(s);var c=new lt(this._point,this._startPoint),h=c.getSize();gt(this._box,c.min),this._box.style.width=h.x+"px",this._box.style.height=h.y+"px"},_finish:function(){this._moved&&(ft(this._box),mt(this._container,"leaflet-crosshair")),we(),un(),ht(document,{contextmenu:qt,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseUp:function(s){if(!(s.which!==1&&s.button!==1)&&(this._finish(),!!this._moved)){this._clearDeferredResetState(),this._resetStateTimeout=setTimeout(o(this._resetState,this),0);var c=new st(this._map.containerPointToLatLng(this._startPoint),this._map.containerPointToLatLng(this._point));this._map.fitBounds(c).fire("boxzoomend",{boxZoomBounds:c})}},_onKeyDown:function(s){s.keyCode===27&&(this._finish(),this._clearDeferredResetState(),this._resetState())}});ct.addInitHook("addHandler","boxZoom",xi),ct.mergeOptions({doubleClickZoom:!0});var Si=Ot.extend({addHooks:function(){this._map.on("dblclick",this._onDoubleClick,this)},removeHooks:function(){this._map.off("dblclick",this._onDoubleClick,this)},_onDoubleClick:function(s){var c=this._map,h=c.getZoom(),g=c.options.zoomDelta,b=s.originalEvent.shiftKey?h-g:h+g;c.options.doubleClickZoom==="center"?c.setZoom(b):c.setZoomAround(s.containerPoint,b)}});ct.addInitHook("addHandler","doubleClickZoom",Si),ct.mergeOptions({dragging:!0,inertia:!0,inertiaDeceleration:3400,inertiaMaxSpeed:1/0,easeLinearity:.2,worldCopyJump:!1,maxBoundsViscosity:0});var Ti=Ot.extend({addHooks:function(){if(!this._draggable){var s=this._map;this._draggable=new zt(s._mapPane,s._container),this._draggable.on({dragstart:this._onDragStart,drag:this._onDrag,dragend:this._onDragEnd},this),this._draggable.on("predrag",this._onPreDragLimit,this),s.options.worldCopyJump&&(this._draggable.on("predrag",this._onPreDragWrap,this),s.on("zoomend",this._onZoomEnd,this),s.whenReady(this._onZoomEnd,this))}at(this._map._container,"leaflet-grab leaflet-touch-drag"),this._draggable.enable(),this._positions=[],this._times=[]},removeHooks:function(){mt(this._map._container,"leaflet-grab"),mt(this._map._container,"leaflet-touch-drag"),this._draggable.disable()},moved:function(){return this._draggable&&this._draggable._moved},moving:function(){return this._draggable&&this._draggable._moving},_onDragStart:function(){var s=this._map;if(s._stop(),this._map.options.maxBounds&&this._map.options.maxBoundsViscosity){var c=rt(this._map.options.maxBounds);this._offsetLimit=dt(this._map.latLngToContainerPoint(c.getNorthWest()).multiplyBy(-1),this._map.latLngToContainerPoint(c.getSouthEast()).multiplyBy(-1).add(this._map.getSize())),this._viscosity=Math.min(1,Math.max(0,this._map.options.maxBoundsViscosity))}else this._offsetLimit=null;s.fire("movestart").fire("dragstart"),s.options.inertia&&(this._positions=[],this._times=[])},_onDrag:function(s){if(this._map.options.inertia){var c=this._lastTime=+new Date,h=this._lastPos=this._draggable._absPos||this._draggable._newPos;this._positions.push(h),this._times.push(c),this._prunePositions(c)}this._map.fire("move",s).fire("drag",s)},_prunePositions:function(s){for(;this._positions.length>1&&s-this._times[0]>50;)this._positions.shift(),this._times.shift()},_onZoomEnd:function(){var s=this._map.getSize().divideBy(2),c=this._map.latLngToLayerPoint([0,0]);this._initialWorldOffset=c.subtract(s).x,this._worldWidth=this._map.getPixelWorldBounds().getSize().x},_viscousLimit:function(s,c){return s-(s-c)*this._viscosity},_onPreDragLimit:function(){if(!(!this._viscosity||!this._offsetLimit)){var s=this._draggable._newPos.subtract(this._draggable._startPos),c=this._offsetLimit;s.xc.max.x&&(s.x=this._viscousLimit(s.x,c.max.x)),s.y>c.max.y&&(s.y=this._viscousLimit(s.y,c.max.y)),this._draggable._newPos=this._draggable._startPos.add(s)}},_onPreDragWrap:function(){var s=this._worldWidth,c=Math.round(s/2),h=this._initialWorldOffset,g=this._draggable._newPos.x,b=(g-c+h)%s+c-h,P=(g+c+h)%s-c-h,T=Math.abs(b+h)0?P:-P))-c;this._delta=0,this._startTime=null,T&&(s.options.scrollWheelZoom==="center"?s.setZoom(c+T):s.setZoomAround(this._lastMousePos,c+T))}});ct.addInitHook("addHandler","scrollWheelZoom",Mi);var Kr=600;ct.mergeOptions({tapHold:G.touchNative&&G.safari&&G.mobile,tapTolerance:15});var ki=Ot.extend({addHooks:function(){et(this._map._container,"touchstart",this._onDown,this)},removeHooks:function(){ht(this._map._container,"touchstart",this._onDown,this)},_onDown:function(s){if(clearTimeout(this._holdTimeout),s.touches.length===1){var c=s.touches[0];this._startPos=this._newPos=new H(c.clientX,c.clientY),this._holdTimeout=setTimeout(o(function(){this._cancel(),this._isTapValid()&&(et(document,"touchend",yt),et(document,"touchend touchcancel",this._cancelClickPrevent),this._simulateEvent("contextmenu",c))},this),Kr),et(document,"touchend touchcancel contextmenu",this._cancel,this),et(document,"touchmove",this._onMove,this)}},_cancelClickPrevent:function s(){ht(document,"touchend",yt),ht(document,"touchend touchcancel",s)},_cancel:function(){clearTimeout(this._holdTimeout),ht(document,"touchend touchcancel contextmenu",this._cancel,this),ht(document,"touchmove",this._onMove,this)},_onMove:function(s){var c=s.touches[0];this._newPos=new H(c.clientX,c.clientY)},_isTapValid:function(){return this._newPos.distanceTo(this._startPos)<=this._map.options.tapTolerance},_simulateEvent:function(s,c){var h=new MouseEvent(s,{bubbles:!0,cancelable:!0,view:window,screenX:c.screenX,screenY:c.screenY,clientX:c.clientX,clientY:c.clientY});h._simulated=!0,c.target.dispatchEvent(h)}});ct.addInitHook("addHandler","tapHold",ki),ct.mergeOptions({touchZoom:G.touch,bounceAtZoomLimits:!0});var Ai=Ot.extend({addHooks:function(){at(this._map._container,"leaflet-touch-zoom"),et(this._map._container,"touchstart",this._onTouchStart,this)},removeHooks:function(){mt(this._map._container,"leaflet-touch-zoom"),ht(this._map._container,"touchstart",this._onTouchStart,this)},_onTouchStart:function(s){var c=this._map;if(!(!s.touches||s.touches.length!==2||c._animatingZoom||this._zooming)){var h=c.mouseEventToContainerPoint(s.touches[0]),g=c.mouseEventToContainerPoint(s.touches[1]);this._centerPoint=c.getSize()._divideBy(2),this._startLatLng=c.containerPointToLatLng(this._centerPoint),c.options.touchZoom!=="center"&&(this._pinchStartLatLng=c.containerPointToLatLng(h.add(g)._divideBy(2))),this._startDist=h.distanceTo(g),this._startZoom=c.getZoom(),this._moved=!1,this._zooming=!0,c._stop(),et(document,"touchmove",this._onTouchMove,this),et(document,"touchend touchcancel",this._onTouchEnd,this),yt(s)}},_onTouchMove:function(s){if(!(!s.touches||s.touches.length!==2||!this._zooming)){var c=this._map,h=c.mouseEventToContainerPoint(s.touches[0]),g=c.mouseEventToContainerPoint(s.touches[1]),b=h.distanceTo(g)/this._startDist;if(this._zoom=c.getScaleZoom(b,this._startZoom),!c.options.bounceAtZoomLimits&&(this._zoomc.getMaxZoom()&&b>1)&&(this._zoom=c._limitZoom(this._zoom)),c.options.touchZoom==="center"){if(this._center=this._startLatLng,b===1)return}else{var P=h._add(g)._divideBy(2)._subtract(this._centerPoint);if(b===1&&P.x===0&&P.y===0)return;this._center=c.unproject(c.project(this._pinchStartLatLng,this._zoom).subtract(P),this._zoom)}this._moved||(c._moveStart(!0,!1),this._moved=!0),q(this._animRequest);var T=o(c._move,c,this._center,this._zoom,{pinch:!0,round:!1},void 0);this._animRequest=Y(T,this,!0),yt(s)}},_onTouchEnd:function(){if(!this._moved||!this._zooming){this._zooming=!1;return}this._zooming=!1,q(this._animRequest),ht(document,"touchmove",this._onTouchMove,this),ht(document,"touchend touchcancel",this._onTouchEnd,this),this._map.options.zoomAnimation?this._map._animateZoom(this._center,this._map._limitZoom(this._zoom),!0,this._map.options.zoomSnap):this._map._resetView(this._center,this._map._limitZoom(this._zoom))}});ct.addInitHook("addHandler","touchZoom",Ai),ct.BoxZoom=xi,ct.DoubleClickZoom=Si,ct.Drag=Ti,ct.Keyboard=$i,ct.ScrollWheelZoom=Mi,ct.TapHold=ki,ct.TouchZoom=Ai,e.Bounds=lt,e.Browser=G,e.CRS=Pt,e.Canvas=yi,e.Circle=Sn,e.CircleMarker=We,e.Class=nt,e.Control=$t,e.DivIcon=gi,e.DivOverlay=Ct,e.DomEvent=ur,e.DomUtil=lr,e.Draggable=zt,e.Evented=V,e.FeatureGroup=Dt,e.GeoJSON=Ft,e.GridLayer=$e,e.Handler=Ot,e.Icon=ie,e.ImageOverlay=Ye,e.LatLng=tt,e.LatLngBounds=st,e.Layer=Mt,e.LayerGroup=ne,e.LineUtil=xr,e.Map=ct,e.Marker=ze,e.Mixin=br,e.Path=Wt,e.Point=H,e.PolyUtil=yr,e.Polygon=re,e.Polyline=Nt,e.Popup=qe,e.PosAnimation=Zn,e.Projection=Sr,e.Rectangle=Ei,e.Renderer=It,e.SVG=ke,e.SVGOverlay=pi,e.TileLayer=se,e.Tooltip=Ke,e.Transformation=Vt,e.Util=J,e.VideoOverlay=mi,e.bind=o,e.bounds=dt,e.canvas=wi,e.circle=Cr,e.circleMarker=Or,e.control=xe,e.divIcon=jr,e.extend=r,e.featureGroup=kr,e.geoJSON=hi,e.geoJson=Fr,e.gridLayer=Hr,e.icon=Ar,e.imageOverlay=Ir,e.latLng=Q,e.latLngBounds=rt,e.layerGroup=Mr,e.map=dr,e.marker=Lr,e.point=B,e.polygon=Nr,e.polyline=Dr,e.popup=Wr,e.rectangle=qr,e.setOptions=v,e.stamp=u,e.svg=Pi,e.svgOverlay=zr,e.tileLayer=_i,e.tooltip=Vr,e.transformation=jt,e.version=i,e.videoOverlay=Rr;var Ur=window.L;e.noConflict=function(){return window.L=Ur,this},window.L=e})})(leafletSrc,leafletSrc.exports);var leafletSrcExports=leafletSrc.exports;const L$1=getDefaultExportFromCjs(leafletSrcExports);export{it as $,ArcElement as A,BarController as B,Color as C,Backend$1 as D,Cache as E,Flow as F,Backend as G,store$1 as H,observePlugin$1 as I,module_default as J,bg as K,LineController as L,cs as M,da as N,de as O,PieController as P,el as Q,enGB as R,SankeyController as S,TimeScale as T,enUS as U,es as V,ca as W,fi as X,fr as Y,hu as Z,id as _,Chart as a,ja as a0,ko as a1,nb as a2,nn as a3,nl as a4,pl as a5,ptBR as a6,pt as a7,ro as a8,ru as a9,sk as aa,sl as ab,sv as ac,tr as ad,uk as ae,vi as af,zhTW as ag,zhCN as ah,addMonths as ai,subMonths as aj,LineElement as b,BarElement as c,index as d,LinearScale as e,format as f,CategoryScale as g,PointElement as h,instance as i,plugin_tooltip as j,plugin_legend as k,L$1 as l,Tags as m,Autocomplete as n,axios$1 as o,plugin_colors as p,endOfDay as q,startOfQuarter as r,startOfDay as s,endOfQuarter as t,startOfMonth as u,endOfMonth as v,startOfWeek as w,endOfWeek as x,startOfYear as y,subDays as z}; diff --git a/public/build/manifest.json b/public/build/manifest.json index 3defedb100..a0849374c8 100644 --- a/public/build/manifest.json +++ b/public/build/manifest.json @@ -1,27 +1,50 @@ { - "_autocomplete-functions-3410a57d.js": { - "file": "assets/autocomplete-functions-3410a57d.js", + "_autocomplete-functions-ac0d2cb1.js": { + "file": "assets/autocomplete-functions-ac0d2cb1.js", "imports": [ - "_vendor-824d08a0.js", - "_get-51a7c3ed.js" + "_format-money-e259f5e4.js", + "_get-da167d5b.js", + "_vendor-fca45885.js" ], - "integrity": "sha384-o/3mERLcLYjxsZqqIwGnF4iaDtYbfp0p6ywZUw3LzaEKs8KenuVNJFbHEL+QvvF/" + "integrity": "sha384-ylbI7yXfy5qc0QwMwNSdc4QMHKM1eXXR6R2zLxLUSccW3OCkFCc5pEm1ZpCDbdXh" }, - "_get-51a7c3ed.js": { - "file": "assets/get-51a7c3ed.js", + "_create-empty-split-fb5bda92.js": { + "file": "assets/create-empty-split-fb5bda92.js", "imports": [ - "_vendor-824d08a0.js" + "_vendor-fca45885.js" ], - "integrity": "sha384-7rQLc8vRYEfvzGJkZK4O3GueHV9DYBPIONbhz38NdBNUvDS0FkwZGKW8C5ioVYx1" + "integrity": "sha384-hhKUcZf3xSLJgwkzufZGpLjOUeD5gulL71KQu72SoGIUVLPU3EIBT+ICT/znc01b" }, - "_get-c23f6e9c.js": { - "file": "assets/get-c23f6e9c.js", + "_format-money-e259f5e4.js": { + "file": "assets/format-money-e259f5e4.js", "imports": [ - "_get-51a7c3ed.js" + "_vendor-fca45885.js" ], - "integrity": "sha384-6GHrZICih75U9uAcpCdc9hKOJB1YOlJA0U4pthxpKBXg0PiuI144yADGDatP8qWc" + "integrity": "sha384-zfi6/58+Nb5L5Ryx5WARPOstXPNq+qioNeeQB0XP4V9ZAPg4Bi9bdC3+fVmNsE/M" }, - "_vendor-824d08a0.js": { + "_get-3bb14de5.js": { + "file": "assets/get-3bb14de5.js", + "imports": [ + "_format-money-e259f5e4.js" + ], + "integrity": "sha384-ZgD+gbjUNu1QpP5ZH5WE8+bJmZsLQOx73UT9vPxPRzBwxtGignJ2BC8h9WYdJxU3" + }, + "_get-da167d5b.js": { + "file": "assets/get-da167d5b.js", + "imports": [ + "_format-money-e259f5e4.js" + ], + "integrity": "sha384-ADxhKsFImio/UdUojkpvUHQ9lKqGcHbhsvCj5TEYLNuefhUlz0RIyWX/0/cFcasS" + }, + "_parse-downloaded-splits-7d781ebe.js": { + "file": "assets/parse-downloaded-splits-7d781ebe.js", + "imports": [ + "_create-empty-split-fb5bda92.js", + "_vendor-fca45885.js" + ], + "integrity": "sha384-aS2TUV4WV3MjjDkrhzSNLC2/qY5Y7aQnY9qYvhLIWiM464BEtuHS2KHKsyonykna" + }, + "_vendor-fca45885.js": { "assets": [ "assets/layers-1dbbe9d0.png", "assets/layers-2x-066daca8.png", @@ -30,8 +53,8 @@ "css": [ "assets/vendor-49001d3f.css" ], - "file": "assets/vendor-824d08a0.js", - "integrity": "sha384-RHD07rOX8oczLoy+ZfMln6IKmzXw0EUoyln808Rf9vNiUpXfO9dYspU2ugHkgnqE" + "file": "assets/vendor-fca45885.js", + "integrity": "sha384-xc7wHYzykc3pL46xJ1C3dJ/yReuYh0aAcdywRaE8sPW9QiKDkmpdip8ksd8qWp4b" }, "node_modules/@fortawesome/fontawesome-free/webfonts/fa-brands-400.ttf": { "file": "assets/fa-brands-400-5656d596.ttf", @@ -79,38 +102,57 @@ "integrity": "sha384-wg83fCOXjBtqzFAWhTL9Sd9vmLUNhfEEzfmNUX9zwv2igKlz/YQbdapF4ObdxF+R" }, "resources/assets/v2/pages/dashboard/dashboard.js": { - "file": "assets/dashboard-1d6bb3a8.js", + "file": "assets/dashboard-d274a3dc.js", "imports": [ - "_get-51a7c3ed.js", - "_vendor-824d08a0.js", - "_get-c23f6e9c.js" + "_format-money-e259f5e4.js", + "_vendor-fca45885.js", + "_get-3bb14de5.js", + "_get-da167d5b.js" ], "isEntry": true, "src": "resources/assets/v2/pages/dashboard/dashboard.js", - "integrity": "sha384-GI5sC1ea2MZL7jEH7nTxh0XeVPfvGXqLgMBSqnWJt5MCKuhPK8/J6+ptF46PE054" + "integrity": "sha384-yhbUCvDl5ePrqXSXJu1jJ6eGLWzC137n7Ee3gHZDaO9kOKqtajG3KbILBpYlM5u9" }, "resources/assets/v2/pages/transactions/create.js": { - "file": "assets/create-8992c704.js", + "file": "assets/create-9af1982c.js", "imports": [ - "_get-51a7c3ed.js", - "_autocomplete-functions-3410a57d.js", - "_vendor-824d08a0.js" + "_format-money-e259f5e4.js", + "_create-empty-split-fb5bda92.js", + "_autocomplete-functions-ac0d2cb1.js", + "_vendor-fca45885.js", + "_get-da167d5b.js" ], "isEntry": true, "src": "resources/assets/v2/pages/transactions/create.js", - "integrity": "sha384-F/oCKa2N6RMta8+C5lQ81oYNoKB6BUE4sbxJrpjixfBPNf3rwzXotyi+/mHL6ePE" + "integrity": "sha384-f1FX2idAuYuItQyu41hCRa1AtE+65Pqky4Dwn2+u+5Vmsm2gw1uoZp2sODAfpiS5" }, "resources/assets/v2/pages/transactions/edit.js": { - "file": "assets/edit-ab5008f2.js", + "file": "assets/edit-84831b47.js", "imports": [ - "_get-51a7c3ed.js", - "_vendor-824d08a0.js", - "_get-c23f6e9c.js", - "_autocomplete-functions-3410a57d.js" + "_format-money-e259f5e4.js", + "_get-3bb14de5.js", + "_parse-downloaded-splits-7d781ebe.js", + "_autocomplete-functions-ac0d2cb1.js", + "_vendor-fca45885.js", + "_create-empty-split-fb5bda92.js", + "_get-da167d5b.js" ], "isEntry": true, "src": "resources/assets/v2/pages/transactions/edit.js", - "integrity": "sha384-mkNpSNt8PSuqNxyiOObOFTfcaNuOapa+Snw8Ufj8GkuLQXHZXBXqyol2Qx1j0FwD" + "integrity": "sha384-Ummn9Rx5ZUkO+v3kL5fP+Djw6oSdbrKhxMc5hIhoDyZhsgNHm6BzKnouwzd+NHDF" + }, + "resources/assets/v2/pages/transactions/show.js": { + "file": "assets/show-18e47a07.js", + "imports": [ + "_format-money-e259f5e4.js", + "_vendor-fca45885.js", + "_get-3bb14de5.js", + "_parse-downloaded-splits-7d781ebe.js", + "_create-empty-split-fb5bda92.js" + ], + "isEntry": true, + "src": "resources/assets/v2/pages/transactions/show.js", + "integrity": "sha384-MLeDab/u+23tspn2M/cCjTtFIXNbIuMGeErOwjGMC5vKGOfLNcD3NUA1rXip9PQH" }, "resources/assets/v2/sass/app.scss": { "file": "assets/app-fb7b26ec.css", diff --git a/public/v2/i18n/bg.json b/public/v2/i18n/bg_BG.json similarity index 79% rename from public/v2/i18n/bg.json rename to public/v2/i18n/bg_BG.json index b612727071..007200c204 100644 --- a/public/v2/i18n/bg.json +++ b/public/v2/i18n/bg_BG.json @@ -1,6 +1,7 @@ { "config": { - "html_language": "bg" + "html_language": "bg", + "date_time_fns": "MMMM do, yyyy @ HH:mm:ss" }, "firefly": { "spent": "\u041f\u043e\u0445\u0430\u0440\u0447\u0435\u043d\u0438", @@ -22,6 +23,12 @@ "unknown_any_plain": "Unknown account", "unknown_budget_plain": "No budget", "stored_journal_js": "Successfully created new transaction \"%{description}\"", + "wait_loading_transaction": "Please wait for the form to load", + "nothing_found": "(nothing found)", + "wait_loading_data": "Please wait for your information to load...", + "Transfer": "\u041f\u0440\u0435\u0445\u0432\u044a\u0440\u043b\u044f\u043d\u0435", + "Withdrawal": "\u0422\u0435\u0433\u043b\u0435\u043d\u0435", + "Deposit": "\u0414\u0435\u043f\u043e\u0437\u0438\u0442", "expense_account": "Expense account", "revenue_account": "Revenue account", "budget": "\u0411\u044e\u0434\u0436\u0435\u0442", diff --git a/public/v2/i18n/ca.json b/public/v2/i18n/ca_ES.json similarity index 79% rename from public/v2/i18n/ca.json rename to public/v2/i18n/ca_ES.json index 48d81962a3..ed4d0ce71d 100644 --- a/public/v2/i18n/ca.json +++ b/public/v2/i18n/ca_ES.json @@ -1,6 +1,7 @@ { "config": { - "html_language": "ca" + "html_language": "ca", + "date_time_fns": "D [de\/d'] MMMM yyyy [a les] HH:mm:ss" }, "firefly": { "spent": "Gastat", @@ -22,6 +23,12 @@ "unknown_any_plain": "Compte desconegut", "unknown_budget_plain": "Cap pressupost", "stored_journal_js": "S'ha creat la transacci\u00f3 \"%{description}\" correctament", + "wait_loading_transaction": "Please wait for the form to load", + "nothing_found": "(nothing found)", + "wait_loading_data": "Please wait for your information to load...", + "Transfer": "Transfer\u00e8ncia", + "Withdrawal": "Retirada", + "Deposit": "Ingr\u00e9s", "expense_account": "Compte de despeses", "revenue_account": "Compte d'ingressos", "budget": "Pressupost", diff --git a/public/v2/i18n/cs.json b/public/v2/i18n/cs_CZ.json similarity index 80% rename from public/v2/i18n/cs.json rename to public/v2/i18n/cs_CZ.json index c7a49f98ae..e5a2884a2c 100644 --- a/public/v2/i18n/cs.json +++ b/public/v2/i18n/cs_CZ.json @@ -1,6 +1,7 @@ { "config": { - "html_language": "cs" + "html_language": "cs", + "date_time_fns": "MMMM do, yyyy @ HH:mm:ss" }, "firefly": { "spent": "Utraceno", @@ -22,6 +23,12 @@ "unknown_any_plain": "Unknown account", "unknown_budget_plain": "No budget", "stored_journal_js": "Successfully created new transaction \"%{description}\"", + "wait_loading_transaction": "Please wait for the form to load", + "nothing_found": "(nothing found)", + "wait_loading_data": "Please wait for your information to load...", + "Transfer": "P\u0159evod", + "Withdrawal": "V\u00fdb\u011br", + "Deposit": "Vklad", "expense_account": "Expense account", "revenue_account": "Revenue account", "budget": "Rozpo\u010det", diff --git a/public/v2/i18n/da.json b/public/v2/i18n/da_DK.json similarity index 78% rename from public/v2/i18n/da.json rename to public/v2/i18n/da_DK.json index 09a1e6c1de..3e0ff2113f 100644 --- a/public/v2/i18n/da.json +++ b/public/v2/i18n/da_DK.json @@ -1,6 +1,7 @@ { "config": { - "html_language": "da" + "html_language": "da", + "date_time_fns": "MMMM do, yyyy @ HH:mm:ss" }, "firefly": { "spent": "Spent", @@ -22,6 +23,12 @@ "unknown_any_plain": "Unknown account", "unknown_budget_plain": "No budget", "stored_journal_js": "Successfully created new transaction \"%{description}\"", + "wait_loading_transaction": "Please wait for the form to load", + "nothing_found": "(nothing found)", + "wait_loading_data": "Please wait for your information to load...", + "Transfer": "Overf\u00f8rsel", + "Withdrawal": "H\u00e6vet", + "Deposit": "Indbetaling", "expense_account": "Expense account", "revenue_account": "Revenue account", "budget": "Budget", diff --git a/public/v2/i18n/de.json b/public/v2/i18n/de_DE.json similarity index 80% rename from public/v2/i18n/de.json rename to public/v2/i18n/de_DE.json index b7a1be45a4..044a55970b 100644 --- a/public/v2/i18n/de.json +++ b/public/v2/i18n/de_DE.json @@ -1,6 +1,7 @@ { "config": { - "html_language": "de" + "html_language": "de", + "date_time_fns": "dd. MMM. yyyy um HH:mm:ss" }, "firefly": { "spent": "Ausgegeben", @@ -22,6 +23,12 @@ "unknown_any_plain": "Unbekanntes Konto", "unknown_budget_plain": "Kein Budget", "stored_journal_js": "Neue Buchung \u201e%{description}\u201d erfolgreich erstellt", + "wait_loading_transaction": "Please wait for the form to load", + "nothing_found": "(nothing found)", + "wait_loading_data": "Please wait for your information to load...", + "Transfer": "Umbuchung", + "Withdrawal": "Ausgabe", + "Deposit": "Einnahme", "expense_account": "Ausgabenkonto", "revenue_account": "Einnahmekonto", "budget": "Budget", diff --git a/public/v2/i18n/el.json b/public/v2/i18n/el_GR.json similarity index 82% rename from public/v2/i18n/el.json rename to public/v2/i18n/el_GR.json index 73713a6c08..dd44baca0a 100644 --- a/public/v2/i18n/el.json +++ b/public/v2/i18n/el_GR.json @@ -1,6 +1,7 @@ { "config": { - "html_language": "el" + "html_language": "el", + "date_time_fns": "do MMMM yyyy @ HH:mm:ss" }, "firefly": { "spent": "\u0394\u03b1\u03c0\u03b1\u03bd\u03ae\u03b8\u03b7\u03ba\u03b1\u03bd", @@ -22,6 +23,12 @@ "unknown_any_plain": "Unknown account", "unknown_budget_plain": "No budget", "stored_journal_js": "\u0394\u03b7\u03bc\u03b9\u03bf\u03c5\u03c1\u03b3\u03ae\u03b8\u03b7\u03ba\u03b5 \u03b5\u03c0\u03b9\u03c4\u03c5\u03c7\u03ce\u03c2 \u03b7 \u03bd\u03ad\u03b1 \u03c3\u03c5\u03bd\u03b1\u03bb\u03bb\u03b1\u03b3\u03ae \u00ab%{description}\u00bb", + "wait_loading_transaction": "Please wait for the form to load", + "nothing_found": "(nothing found)", + "wait_loading_data": "Please wait for your information to load...", + "Transfer": "\u039c\u03b5\u03c4\u03b1\u03c6\u03bf\u03c1\u03ac", + "Withdrawal": "\u0391\u03bd\u03ac\u03bb\u03b7\u03c8\u03b7", + "Deposit": "\u039a\u03b1\u03c4\u03ac\u03b8\u03b5\u03c3\u03b7", "expense_account": "Expense account", "revenue_account": "Revenue account", "budget": "\u03a0\u03c1\u03bf\u03cb\u03c0\u03bf\u03bb\u03bf\u03b3\u03b9\u03c3\u03bc\u03cc\u03c2", diff --git a/public/v2/i18n/en-gb.json b/public/v2/i18n/en_GB.json similarity index 79% rename from public/v2/i18n/en-gb.json rename to public/v2/i18n/en_GB.json index 6298a953c0..040eb51df8 100644 --- a/public/v2/i18n/en-gb.json +++ b/public/v2/i18n/en_GB.json @@ -1,6 +1,7 @@ { "config": { - "html_language": "en-gb" + "html_language": "en-gb", + "date_time_fns": "MMMM do, yyyy @ HH:mm:ss" }, "firefly": { "spent": "Spent", @@ -22,6 +23,12 @@ "unknown_any_plain": "Unknown account", "unknown_budget_plain": "No budget", "stored_journal_js": "Successfully created new transaction \"%{description}\"", + "wait_loading_transaction": "Please wait for the form to load", + "nothing_found": "(nothing found)", + "wait_loading_data": "Please wait for your information to load...", + "Transfer": "Transfer", + "Withdrawal": "Withdrawal", + "Deposit": "Deposit", "expense_account": "Expense account", "revenue_account": "Revenue account", "budget": "Budget", diff --git a/public/v2/i18n/en.json b/public/v2/i18n/en_US.json similarity index 79% rename from public/v2/i18n/en.json rename to public/v2/i18n/en_US.json index a9d0353335..abc58c0004 100644 --- a/public/v2/i18n/en.json +++ b/public/v2/i18n/en_US.json @@ -1,6 +1,7 @@ { "config": { - "html_language": "en" + "html_language": "en", + "date_time_fns": "MMMM do, yyyy @ HH:mm:ss" }, "firefly": { "spent": "Spent", @@ -22,6 +23,12 @@ "unknown_any_plain": "Unknown account", "unknown_budget_plain": "No budget", "stored_journal_js": "Successfully created new transaction \"%{description}\"", + "wait_loading_transaction": "Please wait for the form to load", + "nothing_found": "(nothing found)", + "wait_loading_data": "Please wait for your information to load...", + "Transfer": "Transfer", + "Withdrawal": "Withdrawal", + "Deposit": "Deposit", "expense_account": "Expense account", "revenue_account": "Revenue account", "budget": "Budget", diff --git a/public/v2/i18n/es.json b/public/v2/i18n/es_ES.json similarity index 79% rename from public/v2/i18n/es.json rename to public/v2/i18n/es_ES.json index 6ed8a41398..458319834a 100644 --- a/public/v2/i18n/es.json +++ b/public/v2/i18n/es_ES.json @@ -1,6 +1,7 @@ { "config": { - "html_language": "es" + "html_language": "es", + "date_time_fns": "El MMMM hacer, yyyy a las HH:mm:ss" }, "firefly": { "spent": "Gastado", @@ -22,6 +23,12 @@ "unknown_any_plain": "Cuenta desconocida", "unknown_budget_plain": "Sin presupuesto", "stored_journal_js": "Nueva transacci\u00f3n creada con \u00e9xito \"%{description}\"", + "wait_loading_transaction": "Please wait for the form to load", + "nothing_found": "(nothing found)", + "wait_loading_data": "Please wait for your information to load...", + "Transfer": "Transferencia", + "Withdrawal": "Gasto", + "Deposit": "Ingreso", "expense_account": "Cuenta de gastos", "revenue_account": "Cuenta de ingresos", "budget": "Presupuesto", diff --git a/public/v2/i18n/fi.json b/public/v2/i18n/fi_FI.json similarity index 80% rename from public/v2/i18n/fi.json rename to public/v2/i18n/fi_FI.json index 5ac440a600..9ddb5f0ee0 100644 --- a/public/v2/i18n/fi.json +++ b/public/v2/i18n/fi_FI.json @@ -1,6 +1,7 @@ { "config": { - "html_language": "fi" + "html_language": "fi", + "date_time_fns": "MMMM do, yyyy @ HH:mm:ss" }, "firefly": { "spent": "K\u00e4ytetty", @@ -22,6 +23,12 @@ "unknown_any_plain": "Unknown account", "unknown_budget_plain": "No budget", "stored_journal_js": "Successfully created new transaction \"%{description}\"", + "wait_loading_transaction": "Please wait for the form to load", + "nothing_found": "(nothing found)", + "wait_loading_data": "Please wait for your information to load...", + "Transfer": "Siirto", + "Withdrawal": "Nosto", + "Deposit": "Talletus", "expense_account": "Expense account", "revenue_account": "Revenue account", "budget": "Budjetti", diff --git a/public/v2/i18n/fr.json b/public/v2/i18n/fr_FR.json similarity index 80% rename from public/v2/i18n/fr.json rename to public/v2/i18n/fr_FR.json index 0c246d5b05..aa3ce8e153 100644 --- a/public/v2/i18n/fr.json +++ b/public/v2/i18n/fr_FR.json @@ -1,6 +1,7 @@ { "config": { - "html_language": "fr" + "html_language": "fr", + "date_time_fns": "do MMMM, yyyy @ HH:mm:ss" }, "firefly": { "spent": "D\u00e9pens\u00e9", @@ -22,6 +23,12 @@ "unknown_any_plain": "Compte inconnu", "unknown_budget_plain": "Pas de budget", "stored_journal_js": "Op\u00e9ration \"%{description}\" cr\u00e9\u00e9e avec succ\u00e8s", + "wait_loading_transaction": "Please wait for the form to load", + "nothing_found": "(nothing found)", + "wait_loading_data": "Please wait for your information to load...", + "Transfer": "Transfert", + "Withdrawal": "D\u00e9pense", + "Deposit": "D\u00e9p\u00f4t", "expense_account": "Compte de d\u00e9penses", "revenue_account": "Compte de recettes", "budget": "Budget", diff --git a/public/v2/i18n/hu.json b/public/v2/i18n/hu_HU.json similarity index 79% rename from public/v2/i18n/hu.json rename to public/v2/i18n/hu_HU.json index dbde293bef..501dbf5c41 100644 --- a/public/v2/i18n/hu.json +++ b/public/v2/i18n/hu_HU.json @@ -1,6 +1,7 @@ { "config": { - "html_language": "hu" + "html_language": "hu", + "date_time_fns": "MMMM do, yyyy @ HH:mm:ss" }, "firefly": { "spent": "Elk\u00f6lt\u00f6tt", @@ -22,6 +23,12 @@ "unknown_any_plain": "Unknown account", "unknown_budget_plain": "No budget", "stored_journal_js": "Successfully created new transaction \"%{description}\"", + "wait_loading_transaction": "Please wait for the form to load", + "nothing_found": "(nothing found)", + "wait_loading_data": "Please wait for your information to load...", + "Transfer": "\u00c1tvezet\u00e9s", + "Withdrawal": "K\u00f6lts\u00e9g", + "Deposit": "Bev\u00e9tel", "expense_account": "Expense account", "revenue_account": "Revenue account", "budget": "K\u00f6lts\u00e9gkeret", diff --git a/public/v2/i18n/id.json b/public/v2/i18n/id_ID.json similarity index 79% rename from public/v2/i18n/id.json rename to public/v2/i18n/id_ID.json index 5f6f2d62f7..3e5d62c6af 100644 --- a/public/v2/i18n/id.json +++ b/public/v2/i18n/id_ID.json @@ -1,6 +1,7 @@ { "config": { - "html_language": "id" + "html_language": "id", + "date_time_fns": "do MMMM yyyy @ HH:mm:ss" }, "firefly": { "spent": "Menghabiskan", @@ -22,6 +23,12 @@ "unknown_any_plain": "Unknown account", "unknown_budget_plain": "No budget", "stored_journal_js": "Successfully created new transaction \"%{description}\"", + "wait_loading_transaction": "Please wait for the form to load", + "nothing_found": "(nothing found)", + "wait_loading_data": "Please wait for your information to load...", + "Transfer": "Transfer", + "Withdrawal": "Penarikan", + "Deposit": "Deposit", "expense_account": "Expense account", "revenue_account": "Revenue account", "budget": "Anggaran", diff --git a/public/v2/i18n/it.json b/public/v2/i18n/it_IT.json similarity index 79% rename from public/v2/i18n/it.json rename to public/v2/i18n/it_IT.json index 7e56167e50..12810b772c 100644 --- a/public/v2/i18n/it.json +++ b/public/v2/i18n/it_IT.json @@ -1,6 +1,7 @@ { "config": { - "html_language": "it" + "html_language": "it", + "date_time_fns": "do MMMM yyyy @ HH:mm:ss" }, "firefly": { "spent": "Speso", @@ -22,6 +23,12 @@ "unknown_any_plain": "Unknown account", "unknown_budget_plain": "No budget", "stored_journal_js": "Successfully created new transaction \"%{description}\"", + "wait_loading_transaction": "Please wait for the form to load", + "nothing_found": "(nothing found)", + "wait_loading_data": "Please wait for your information to load...", + "Transfer": "Trasferimento", + "Withdrawal": "Prelievo", + "Deposit": "Entrata", "expense_account": "Expense account", "revenue_account": "Revenue account", "budget": "Budget", diff --git a/public/v2/i18n/ja.json b/public/v2/i18n/ja_JP.json similarity index 82% rename from public/v2/i18n/ja.json rename to public/v2/i18n/ja_JP.json index 2665510e27..d13dec5008 100644 --- a/public/v2/i18n/ja.json +++ b/public/v2/i18n/ja_JP.json @@ -1,6 +1,7 @@ { "config": { - "html_language": "ja" + "html_language": "ja", + "date_time_fns": "yyyy\u5e74MMMM\u6708do\u65e5 HH:mm:ss" }, "firefly": { "spent": "\u652f\u51fa", @@ -22,6 +23,12 @@ "unknown_any_plain": "\u4e0d\u660e\u306a\u53e3\u5ea7", "unknown_budget_plain": "\u4e88\u7b97\u306a\u3057", "stored_journal_js": "Successfully created new transaction \"%{description}\"", + "wait_loading_transaction": "Please wait for the form to load", + "nothing_found": "(nothing found)", + "wait_loading_data": "Please wait for your information to load...", + "Transfer": "\u9001\u91d1", + "Withdrawal": "\u51fa\u91d1", + "Deposit": "\u9810\u91d1", "expense_account": "\u652f\u51fa\u53e3\u5ea7", "revenue_account": "\u53ce\u5165\u53e3\u5ea7", "budget": "\u4e88\u7b97", diff --git a/public/v2/i18n/ko.json b/public/v2/i18n/ko_KR.json similarity index 81% rename from public/v2/i18n/ko.json rename to public/v2/i18n/ko_KR.json index 8f203b30bc..b2ee1bca05 100644 --- a/public/v2/i18n/ko.json +++ b/public/v2/i18n/ko_KR.json @@ -1,6 +1,7 @@ { "config": { - "html_language": "ko" + "html_language": "ko", + "date_time_fns": "YYYY\ub144 M\uc6d4 D\uc77c HH:mm:ss" }, "firefly": { "spent": "\uc9c0\ucd9c", @@ -22,6 +23,12 @@ "unknown_any_plain": "\uc54c \uc218 \uc5c6\ub294 \uacc4\uc815", "unknown_budget_plain": "\uc608\uc0b0 \uc5c6\uc74c", "stored_journal_js": "Successfully created new transaction \"%{description}\"", + "wait_loading_transaction": "Please wait for the form to load", + "nothing_found": "(nothing found)", + "wait_loading_data": "Please wait for your information to load...", + "Transfer": "\uc774\uccb4", + "Withdrawal": "\ucd9c\uae08", + "Deposit": "\uc785\uae08", "expense_account": "\uc9c0\ucd9c \uacc4\uc815", "revenue_account": "\uc218\uc775 \uacc4\uc815", "budget": "\uc608\uc0b0", diff --git a/public/v2/i18n/nb.json b/public/v2/i18n/nb_NO.json similarity index 79% rename from public/v2/i18n/nb.json rename to public/v2/i18n/nb_NO.json index 7932b8028c..6c7aade878 100644 --- a/public/v2/i18n/nb.json +++ b/public/v2/i18n/nb_NO.json @@ -1,6 +1,7 @@ { "config": { - "html_language": "nb" + "html_language": "nb", + "date_time_fns": "do MMMM, yyyy @ HH:mm:ss" }, "firefly": { "spent": "Brukt", @@ -22,6 +23,12 @@ "unknown_any_plain": "Ukjent konto", "unknown_budget_plain": "Mangler budsjett", "stored_journal_js": "Successfully created new transaction \"%{description}\"", + "wait_loading_transaction": "Please wait for the form to load", + "nothing_found": "(nothing found)", + "wait_loading_data": "Please wait for your information to load...", + "Transfer": "Overf\u00f8ring", + "Withdrawal": "Uttak", + "Deposit": "Innskudd", "expense_account": "Utgiftskonto", "revenue_account": "Inntektskonto", "budget": "Budsjett", diff --git a/public/v2/i18n/nl.json b/public/v2/i18n/nl_NL.json similarity index 79% rename from public/v2/i18n/nl.json rename to public/v2/i18n/nl_NL.json index 163fa9d648..7e9f74bb87 100644 --- a/public/v2/i18n/nl.json +++ b/public/v2/i18n/nl_NL.json @@ -1,6 +1,7 @@ { "config": { - "html_language": "nl" + "html_language": "nl", + "date_time_fns": "d MMMM yyyy @ HH:mm:ss" }, "firefly": { "spent": "Uitgegeven", @@ -22,6 +23,12 @@ "unknown_any_plain": "Onbekende rekening", "unknown_budget_plain": "Geen budget", "stored_journal_js": "Nieuw transactie \"%{description}\" opgeslagen", + "wait_loading_transaction": "Please wait for the form to load", + "nothing_found": "(nothing found)", + "wait_loading_data": "Please wait for your information to load...", + "Transfer": "Overschrijving", + "Withdrawal": "Uitgave", + "Deposit": "Inkomsten", "expense_account": "Crediteur", "revenue_account": "Debiteur", "budget": "Budget", diff --git a/public/v2/i18n/nn.json b/public/v2/i18n/nn_NO.json similarity index 79% rename from public/v2/i18n/nn.json rename to public/v2/i18n/nn_NO.json index a66e716743..c08eb08937 100644 --- a/public/v2/i18n/nn.json +++ b/public/v2/i18n/nn_NO.json @@ -1,6 +1,7 @@ { "config": { - "html_language": "nn" + "html_language": "nn", + "date_time_fns": "do MMMM, yyyy @ HH:mm:ss" }, "firefly": { "spent": "Brukt", @@ -22,6 +23,12 @@ "unknown_any_plain": "Unknown account", "unknown_budget_plain": "No budget", "stored_journal_js": "Transaksjonen \u00ab%{description}\u00bb vart oppretta", + "wait_loading_transaction": "Please wait for the form to load", + "nothing_found": "(nothing found)", + "wait_loading_data": "Please wait for your information to load...", + "Transfer": "Overf\u00f8ring", + "Withdrawal": "Uttak", + "Deposit": "Innskudd", "expense_account": "Expense account", "revenue_account": "Revenue account", "budget": "Budsjett", diff --git a/public/v2/i18n/pl.json b/public/v2/i18n/pl_PL.json similarity index 80% rename from public/v2/i18n/pl.json rename to public/v2/i18n/pl_PL.json index 3064437fa5..00999d2757 100644 --- a/public/v2/i18n/pl.json +++ b/public/v2/i18n/pl_PL.json @@ -1,6 +1,7 @@ { "config": { - "html_language": "pl" + "html_language": "pl", + "date_time_fns": "do MMMM yyyy @ HH:mm:ss" }, "firefly": { "spent": "Wydano", @@ -22,6 +23,12 @@ "unknown_any_plain": "Nieznane konto", "unknown_budget_plain": "Brak bud\u017cetu", "stored_journal_js": "Pomy\u015blnie utworzono now\u0105 transakcj\u0119 \"%{description}\"", + "wait_loading_transaction": "Please wait for the form to load", + "nothing_found": "(nothing found)", + "wait_loading_data": "Please wait for your information to load...", + "Transfer": "Transfer", + "Withdrawal": "Wyp\u0142ata", + "Deposit": "Wp\u0142ata", "expense_account": "Konto wydatk\u00f3w", "revenue_account": "Konto przychod\u00f3w", "budget": "Bud\u017cet", diff --git a/public/v2/i18n/pt-br.json b/public/v2/i18n/pt_BR.json similarity index 78% rename from public/v2/i18n/pt-br.json rename to public/v2/i18n/pt_BR.json index 3a86c8c970..9f9040f4c2 100644 --- a/public/v2/i18n/pt-br.json +++ b/public/v2/i18n/pt_BR.json @@ -1,6 +1,7 @@ { "config": { - "html_language": "pt-br" + "html_language": "pt-br", + "date_time_fns": "dd 'de' MMMM 'de' yyyy, '\u00e0s' HH:mm:ss" }, "firefly": { "spent": "Gasto", @@ -22,6 +23,12 @@ "unknown_any_plain": "Conta desconhecida", "unknown_budget_plain": "Nenhum or\u00e7amento", "stored_journal_js": "Transa\u00e7\u00e3o \"%{description}\" criada com sucesso", + "wait_loading_transaction": "Please wait for the form to load", + "nothing_found": "(nothing found)", + "wait_loading_data": "Please wait for your information to load...", + "Transfer": "Transfer\u00eancia", + "Withdrawal": "Retirada", + "Deposit": "Dep\u00f3sito", "expense_account": "Conta de despesas", "revenue_account": "Conta de Receitas", "budget": "Or\u00e7amento", diff --git a/public/v2/i18n/pt.json b/public/v2/i18n/pt_PT.json similarity index 78% rename from public/v2/i18n/pt.json rename to public/v2/i18n/pt_PT.json index fed4934b34..7ad775fb18 100644 --- a/public/v2/i18n/pt.json +++ b/public/v2/i18n/pt_PT.json @@ -1,6 +1,7 @@ { "config": { - "html_language": "pt" + "html_language": "pt", + "date_time_fns": "DO [de] MMMM YYYY, @ HH:mm:ss" }, "firefly": { "spent": "Gasto", @@ -22,6 +23,12 @@ "unknown_any_plain": "Unknown account", "unknown_budget_plain": "No budget", "stored_journal_js": "Successfully created new transaction \"%{description}\"", + "wait_loading_transaction": "Please wait for the form to load", + "nothing_found": "(nothing found)", + "wait_loading_data": "Please wait for your information to load...", + "Transfer": "Transfer\u00eancia", + "Withdrawal": "Levantamento", + "Deposit": "Dep\u00f3sito", "expense_account": "Expense account", "revenue_account": "Revenue account", "budget": "Or\u00e7amento", diff --git a/public/v2/i18n/ro.json b/public/v2/i18n/ro_RO.json similarity index 80% rename from public/v2/i18n/ro.json rename to public/v2/i18n/ro_RO.json index e24886f144..d6d9d5286b 100644 --- a/public/v2/i18n/ro.json +++ b/public/v2/i18n/ro_RO.json @@ -1,6 +1,7 @@ { "config": { - "html_language": "ro" + "html_language": "ro", + "date_time_fns": "MMMM do, yyyy @ HH:mm:ss" }, "firefly": { "spent": "Cheltuit", @@ -22,6 +23,12 @@ "unknown_any_plain": "Unknown account", "unknown_budget_plain": "No budget", "stored_journal_js": "Successfully created new transaction \"%{description}\"", + "wait_loading_transaction": "Please wait for the form to load", + "nothing_found": "(nothing found)", + "wait_loading_data": "Please wait for your information to load...", + "Transfer": "Transfer", + "Withdrawal": "Retragere", + "Deposit": "Depozit", "expense_account": "Expense account", "revenue_account": "Revenue account", "budget": "Buget", diff --git a/public/v2/i18n/ru.json b/public/v2/i18n/ru_RU.json similarity index 86% rename from public/v2/i18n/ru.json rename to public/v2/i18n/ru_RU.json index 94dc83d45e..90e7625214 100644 --- a/public/v2/i18n/ru.json +++ b/public/v2/i18n/ru_RU.json @@ -1,6 +1,7 @@ { "config": { - "html_language": "ru" + "html_language": "ru", + "date_time_fns": "Do MMMM yyyy, @ HH:mm:ss" }, "firefly": { "spent": "\u0420\u0430\u0441\u0445\u043e\u0434", @@ -22,6 +23,12 @@ "unknown_any_plain": "\u041d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0439 \u0441\u0447\u0435\u0442", "unknown_budget_plain": "\u0411\u0435\u0437 \u0431\u044e\u0434\u0436\u0435\u0442\u0430", "stored_journal_js": "\u041d\u043e\u0432\u0430\u044f \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044f \"%{description}\" \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u043d\u0430", + "wait_loading_transaction": "Please wait for the form to load", + "nothing_found": "(nothing found)", + "wait_loading_data": "Please wait for your information to load...", + "Transfer": "\u041f\u0435\u0440\u0435\u0432\u043e\u0434", + "Withdrawal": "\u0420\u0430\u0441\u0445\u043e\u0434", + "Deposit": "\u0414\u043e\u0445\u043e\u0434", "expense_account": "\u0421\u0447\u0435\u0442 \u0440\u0430\u0441\u0445\u043e\u0434\u043e\u0432", "revenue_account": "\u0421\u0447\u0435\u0442 \u0434\u043e\u0445\u043e\u0434\u043e\u0432", "budget": "\u0411\u044e\u0434\u0436\u0435\u0442", diff --git a/public/v2/i18n/sk.json b/public/v2/i18n/sk_SK.json similarity index 80% rename from public/v2/i18n/sk.json rename to public/v2/i18n/sk_SK.json index f8eae1432c..6f051ea35f 100644 --- a/public/v2/i18n/sk.json +++ b/public/v2/i18n/sk_SK.json @@ -1,6 +1,7 @@ { "config": { - "html_language": "sk" + "html_language": "sk", + "date_time_fns": "MMMM do, yyyy @ HH:mm:ss" }, "firefly": { "spent": "Utraten\u00e9", @@ -22,6 +23,12 @@ "unknown_any_plain": "Unknown account", "unknown_budget_plain": "No budget", "stored_journal_js": "Successfully created new transaction \"%{description}\"", + "wait_loading_transaction": "Please wait for the form to load", + "nothing_found": "(nothing found)", + "wait_loading_data": "Please wait for your information to load...", + "Transfer": "Prevod", + "Withdrawal": "V\u00fdber", + "Deposit": "Vklad", "expense_account": "Expense account", "revenue_account": "Revenue account", "budget": "Rozpo\u010det", diff --git a/public/v2/i18n/sl.json b/public/v2/i18n/sl_SI.json similarity index 81% rename from public/v2/i18n/sl.json rename to public/v2/i18n/sl_SI.json index 0c47d2dfe1..7f2658e6b9 100644 --- a/public/v2/i18n/sl.json +++ b/public/v2/i18n/sl_SI.json @@ -1,6 +1,7 @@ { "config": { - "html_language": "sl" + "html_language": "sl", + "date_time_fns": "MMMM do, yyyy @ HH:mm:ss" }, "firefly": { "spent": "Porabljeno", @@ -22,6 +23,12 @@ "unknown_any_plain": "Neznan ra\u010dun", "unknown_budget_plain": "Ni prora\u010duna", "stored_journal_js": "Nova transakcija \"%{description}\" je uspe\u0161no ustvarjena", + "wait_loading_transaction": "Please wait for the form to load", + "nothing_found": "(nothing found)", + "wait_loading_data": "Please wait for your information to load...", + "Transfer": "Prenos", + "Withdrawal": "Dvig", + "Deposit": "Polog", "expense_account": "Ra\u010dun stro\u0161kov", "revenue_account": "Ra\u010dun prihodkov", "budget": "Prora\u010dun", diff --git a/public/v2/i18n/sv.json b/public/v2/i18n/sv_SE.json similarity index 79% rename from public/v2/i18n/sv.json rename to public/v2/i18n/sv_SE.json index d34fff82a7..f6bd524852 100644 --- a/public/v2/i18n/sv.json +++ b/public/v2/i18n/sv_SE.json @@ -1,6 +1,7 @@ { "config": { - "html_language": "sv" + "html_language": "sv", + "date_time_fns": "MMMM do, yyyy @ HH:mm:ss" }, "firefly": { "spent": "Spenderat", @@ -22,6 +23,12 @@ "unknown_any_plain": "Unknown account", "unknown_budget_plain": "No budget", "stored_journal_js": "Successfully created new transaction \"%{description}\"", + "wait_loading_transaction": "Please wait for the form to load", + "nothing_found": "(nothing found)", + "wait_loading_data": "Please wait for your information to load...", + "Transfer": "\u00d6verf\u00f6ring", + "Withdrawal": "Uttag", + "Deposit": "Ins\u00e4ttning", "expense_account": "Expense account", "revenue_account": "Revenue account", "budget": "Budget", diff --git a/public/v2/i18n/tr.json b/public/v2/i18n/tr_TR.json similarity index 79% rename from public/v2/i18n/tr.json rename to public/v2/i18n/tr_TR.json index 6a9f99718a..1c87351faf 100644 --- a/public/v2/i18n/tr.json +++ b/public/v2/i18n/tr_TR.json @@ -1,6 +1,7 @@ { "config": { - "html_language": "tr" + "html_language": "tr", + "date_time_fns": "MMMM do, yyyy @ HH:mm:ss" }, "firefly": { "spent": "Harcanan", @@ -22,6 +23,12 @@ "unknown_any_plain": "Unknown account", "unknown_budget_plain": "No budget", "stored_journal_js": "Successfully created new transaction \"%{description}\"", + "wait_loading_transaction": "Please wait for the form to load", + "nothing_found": "(nothing found)", + "wait_loading_data": "Please wait for your information to load...", + "Transfer": "Havale", + "Withdrawal": "Para \u00c7ekme", + "Deposit": "Mevduat", "expense_account": "Expense account", "revenue_account": "Revenue account", "budget": "B\u00fct\u00e7e", diff --git a/public/v2/i18n/uk.json b/public/v2/i18n/uk_UA.json similarity index 78% rename from public/v2/i18n/uk.json rename to public/v2/i18n/uk_UA.json index b836e748b6..7ec335fbfa 100644 --- a/public/v2/i18n/uk.json +++ b/public/v2/i18n/uk_UA.json @@ -1,6 +1,7 @@ { "config": { - "html_language": "uk" + "html_language": "uk", + "date_time_fns": "MMMM do, yyyy @ HH:mm:ss" }, "firefly": { "spent": "Spent", @@ -22,6 +23,12 @@ "unknown_any_plain": "Unknown account", "unknown_budget_plain": "No budget", "stored_journal_js": "Successfully created new transaction \"%{description}\"", + "wait_loading_transaction": "Please wait for the form to load", + "nothing_found": "(nothing found)", + "wait_loading_data": "Please wait for your information to load...", + "Transfer": "\u041f\u0435\u0440\u0435\u043a\u0430\u0437", + "Withdrawal": "\u0412\u0438\u0442\u0440\u0430\u0442\u0430", + "Deposit": "Deposit", "expense_account": "Expense account", "revenue_account": "Revenue account", "budget": "Budget", diff --git a/public/v2/i18n/vi.json b/public/v2/i18n/vi_VN.json similarity index 79% rename from public/v2/i18n/vi.json rename to public/v2/i18n/vi_VN.json index adec4b3e84..9856c46bad 100644 --- a/public/v2/i18n/vi.json +++ b/public/v2/i18n/vi_VN.json @@ -1,6 +1,7 @@ { "config": { - "html_language": "vi" + "html_language": "vi", + "date_time_fns": "d MMMM yyyy @ HH:mm:ss" }, "firefly": { "spent": "\u0110\u00e3 chi", @@ -22,6 +23,12 @@ "unknown_any_plain": "Unknown account", "unknown_budget_plain": "No budget", "stored_journal_js": "Successfully created new transaction \"%{description}\"", + "wait_loading_transaction": "Please wait for the form to load", + "nothing_found": "(nothing found)", + "wait_loading_data": "Please wait for your information to load...", + "Transfer": "Chuy\u1ec3n kho\u1ea3n", + "Withdrawal": "R\u00fat ti\u1ec1n", + "Deposit": "Ti\u1ec1n g\u1eedi", "expense_account": "Expense account", "revenue_account": "Revenue account", "budget": "Ng\u00e2n s\u00e1ch", diff --git a/public/v2/i18n/zh-cn.json b/public/v2/i18n/zh_CN.json similarity index 80% rename from public/v2/i18n/zh-cn.json rename to public/v2/i18n/zh_CN.json index 3eaf152964..c7953d96e5 100644 --- a/public/v2/i18n/zh-cn.json +++ b/public/v2/i18n/zh_CN.json @@ -1,6 +1,7 @@ { "config": { - "html_language": "zh-cn" + "html_language": "zh-cn", + "date_time_fns": "YYYY\u5e74M\u6708D\u65e5 HH:mm:ss" }, "firefly": { "spent": "\u652f\u51fa", @@ -22,6 +23,12 @@ "unknown_any_plain": "\u672a\u77e5\u8d26\u6237", "unknown_budget_plain": "\u65e0\u9884\u7b97", "stored_journal_js": "Successfully created new transaction \"%{description}\"", + "wait_loading_transaction": "Please wait for the form to load", + "nothing_found": "(nothing found)", + "wait_loading_data": "Please wait for your information to load...", + "Transfer": "\u8f6c\u8d26", + "Withdrawal": "\u652f\u51fa", + "Deposit": "\u6536\u5165", "expense_account": "\u652f\u51fa\u8d26\u6237", "revenue_account": "\u6536\u5165\u8d26\u6237", "budget": "\u9884\u7b97", diff --git a/public/v2/i18n/zh-tw.json b/public/v2/i18n/zh_TW.json similarity index 78% rename from public/v2/i18n/zh-tw.json rename to public/v2/i18n/zh_TW.json index f5865a2773..be78459100 100644 --- a/public/v2/i18n/zh-tw.json +++ b/public/v2/i18n/zh_TW.json @@ -1,6 +1,7 @@ { "config": { - "html_language": "zh-tw" + "html_language": "zh-tw", + "date_time_fns": "YYYY\u5e74 M\u6708 D\u65e5 dddd \u65bc HH:mm:ss" }, "firefly": { "spent": "\u652f\u51fa", @@ -22,6 +23,12 @@ "unknown_any_plain": "Unknown account", "unknown_budget_plain": "No budget", "stored_journal_js": "Successfully created new transaction \"%{description}\"", + "wait_loading_transaction": "Please wait for the form to load", + "nothing_found": "(nothing found)", + "wait_loading_data": "Please wait for your information to load...", + "Transfer": "\u8f49\u5e33", + "Withdrawal": "\u63d0\u6b3e", + "Deposit": "\u5b58\u6b3e", "expense_account": "Expense account", "revenue_account": "Revenue account", "budget": "\u9810\u7b97", diff --git a/resources/assets/v2/boot/bootstrap.js b/resources/assets/v2/boot/bootstrap.js index a9da211fd2..ca6959b893 100644 --- a/resources/assets/v2/boot/bootstrap.js +++ b/resources/assets/v2/boot/bootstrap.js @@ -31,13 +31,12 @@ import observePlugin from 'store/plugins/observe'; import Alpine from "alpinejs"; import * as bootstrap from 'bootstrap'; import {getFreshVariable} from "../store/get-fresh-variable.js"; - -store.addPlugin(observePlugin); - - // import even more import {getVariable} from "../store/get-variable.js"; import {getViewRange} from "../support/get-viewrange.js"; +import {loadTranslations} from "../support/load-translations.js"; + +store.addPlugin(observePlugin); window.bootstrapped = false; window.store = store; @@ -69,16 +68,13 @@ getFreshVariable('lastActivity').then((serverValue) => { window.__localeId__ = values[2]; store.set('language', values[3]); store.set('locale', values[3]); - - const event = new Event('firefly-iii-bootstrapped'); - document.dispatchEvent(event); - window.bootstrapped = true; + loadTranslations(values[3]).then(() => { + const event = new Event('firefly-iii-bootstrapped'); + document.dispatchEvent(event); + window.bootstrapped = true; + }); }); }); -// wait for 3 promises, because we need those later on. - window.axios = axios; window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; - - window.Alpine = Alpine diff --git a/resources/assets/v2/pages/dashboard/dashboard.js b/resources/assets/v2/pages/dashboard/dashboard.js index d4d1ea6f25..e23dea9867 100644 --- a/resources/assets/v2/pages/dashboard/dashboard.js +++ b/resources/assets/v2/pages/dashboard/dashboard.js @@ -45,9 +45,6 @@ import { Tooltip } from "chart.js"; import 'chartjs-adapter-date-fns'; -import {loadTranslations} from "../../support/load-translations.js"; -import {getVariable} from "../../store/get-variable.js"; -import i18next from "i18next"; // register things Chart.register({ @@ -81,26 +78,20 @@ const comps = { //let i18n; function loadPage(comps) { - Promise.all([getVariable('language', 'en_US')]).then((values) => { - loadTranslations(values[0]).then(() => { - Object.keys(comps).forEach(comp => { - let data = comps[comp](); - Alpine.data(comp, () => data); - }); - Alpine.start(); - }); + Object.keys(comps).forEach(comp => { + let data = comps[comp](); + Alpine.data(comp, () => data); }); - - + Alpine.start(); } // wait for load until bootstrapped event is received. document.addEventListener('firefly-iii-bootstrapped', () => { - //console.log('Loaded through event listener.'); + console.log('Loaded through event listener.'); loadPage(comps); }); // or is bootstrapped before event is triggered. if (window.bootstrapped) { - //console.log('Loaded through window variable.'); + console.log('Loaded through window variable.'); loadPage(comps); } diff --git a/resources/assets/v2/pages/dashboard/sankey.js b/resources/assets/v2/pages/dashboard/sankey.js index 582aae33fc..0f2d841524 100644 --- a/resources/assets/v2/pages/dashboard/sankey.js +++ b/resources/assets/v2/pages/dashboard/sankey.js @@ -22,7 +22,6 @@ import Get from "../../api/v2/model/transaction/get.js"; import {getDefaultChartSettings} from "../../support/default-chart-settings.js"; import {Chart} from 'chart.js'; import {Flow, SankeyController} from 'chartjs-chart-sankey'; -import {loadTranslations} from "../../support/load-translations.js"; import {getCacheKey} from "../../support/get-cache-key.js"; import {format} from "date-fns"; import i18next from "i18next"; diff --git a/resources/assets/v2/pages/shared/dates.js b/resources/assets/v2/pages/shared/dates.js index 0942252c3c..b975f1d690 100644 --- a/resources/assets/v2/pages/shared/dates.js +++ b/resources/assets/v2/pages/shared/dates.js @@ -45,7 +45,6 @@ export default () => ({ language: 'en_US', init() { - console.log(`Loading page component "DATES" with language "${i18next.t('key')}".`); this.range = { start: new Date(window.store.get('start')), end: new Date(window.store.get('end')) diff --git a/resources/assets/v2/pages/template.js b/resources/assets/v2/pages/template.js new file mode 100644 index 0000000000..ce0ac609dd --- /dev/null +++ b/resources/assets/v2/pages/template.js @@ -0,0 +1,58 @@ +/* + * template.js + * Copyright (c) 2024 james@firefly-iii.org. + * + * This file is part of Firefly III (https://github.com/firefly-iii). + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see https://www.gnu.org/licenses/. + */ + +import '../../boot/bootstrap.js'; +import dates from "./shared/dates.js"; + + +let somethings = function() { + return { + pageProperties: {}, + functionName() { + + }, + init() { + + } + } +} + + +let comps = {somethings, dates}; + +function loadPage() { + Object.keys(comps).forEach(comp => { + console.log(`Loading page component "${comp}"`); + let data = comps[comp](); + Alpine.data(comp, () => data); + }); + Alpine.start(); +} + +// wait for load until bootstrapped event is received. +document.addEventListener('firefly-iii-bootstrapped', () => { + console.log('Loaded through event listener.'); + loadPage(); +}); +// or is bootstrapped before event is triggered. +if (window.bootstrapped) { + console.log('Loaded through window variable.'); + loadPage(); +} diff --git a/resources/assets/v2/pages/transactions/create.js b/resources/assets/v2/pages/transactions/create.js index f6557d603a..fc48787c1e 100644 --- a/resources/assets/v2/pages/transactions/create.js +++ b/resources/assets/v2/pages/transactions/create.js @@ -24,8 +24,6 @@ import {createEmptySplit, defaultErrorSet} from "./shared/create-empty-split.js" import {parseFromEntries} from "./shared/parse-from-entries.js"; import formatMoney from "../../util/format-money.js"; import Post from "../../api/v2/model/transaction/post.js"; -import {getVariable} from "../../store/get-variable.js"; -import {loadTranslations} from "../../support/load-translations.js"; import {loadCurrencies} from "./shared/load-currencies.js"; import {loadBudgets} from "./shared/load-budgets.js"; import {loadPiggyBanks} from "./shared/load-piggy-banks.js"; diff --git a/resources/assets/v2/pages/transactions/edit.js b/resources/assets/v2/pages/transactions/edit.js index 9785aec8ba..146632aa06 100644 --- a/resources/assets/v2/pages/transactions/edit.js +++ b/resources/assets/v2/pages/transactions/edit.js @@ -20,8 +20,6 @@ import '../../boot/bootstrap.js'; import dates from '../../pages/shared/dates.js'; -import {getVariable} from "../../store/get-variable.js"; -import {loadTranslations} from "../../support/load-translations.js"; import formatMoney from "../../util/format-money.js"; import Get from "../../api/v2/model/transaction/get.js"; import {parseDownloadedSplits} from "./shared/parse-downloaded-splits.js"; diff --git a/resources/assets/v2/pages/transactions/shared/parse-downloaded-splits.js b/resources/assets/v2/pages/transactions/shared/parse-downloaded-splits.js index eacee32453..1684dd2a2b 100644 --- a/resources/assets/v2/pages/transactions/shared/parse-downloaded-splits.js +++ b/resources/assets/v2/pages/transactions/shared/parse-downloaded-splits.js @@ -83,21 +83,8 @@ export function parseDownloadedSplits(downloads) { current.longitude = download.longitude; current.zoomLevel = download.zoom_level; } - - // hasLocation: false - // latitude: null - // longitude: null - // piggy_bank_id: null - // zoomLevel: null - // console.log('download:'); - // console.log(download); - // console.log('current:'); - // console.log(current); - console.log(current.tags); returnArray.push(current); } } - - return returnArray; } diff --git a/resources/assets/v2/pages/transactions/show.js b/resources/assets/v2/pages/transactions/show.js new file mode 100644 index 0000000000..1f4bfee41b --- /dev/null +++ b/resources/assets/v2/pages/transactions/show.js @@ -0,0 +1,129 @@ +/* + * show.js + * Copyright (c) 2024 james@firefly-iii.org. + * + * This file is part of Firefly III (https://github.com/firefly-iii). + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see https://www.gnu.org/licenses/. + */ + +import '../../boot/bootstrap.js'; +import dates from "../shared/dates.js"; +import i18next from "i18next"; +import Get from "../../api/v2/model/transaction/get.js"; +import {parseDownloadedSplits} from "./shared/parse-downloaded-splits.js"; +import {format} from "date-fns"; +import formatMoney from "../../util/format-money.js"; + +let show = function () { + return { + // notifications + notifications: { + error: { + show: false, text: '', url: '', + }, success: { + show: false, text: '', url: '', + }, wait: { + show: false, text: '', + + } + }, + groupProperties: { + id: 0, + transactionType: '', + transactionTypeTranslated: '', + title: '', + totalAmount: 0, + date: new Date, + }, + + // parse amounts per currency + amounts: {}, + + entries: [], + + pageProperties: {}, + formatMoney(amount, currencyCode) { + return formatMoney(amount, currencyCode); + }, + format(date) { + return format(date, i18next.t('config.date_time_fns')); + }, + init() { + this.notifications.wait.show = true; + this.notifications.wait.text = i18next.t('firefly.wait_loading_data') + const page = window.location.href.split('/'); + const groupId = parseInt(page[page.length - 1]); + const getter = new Get(); + getter.show(groupId, {}).then((response) => { + const data = response.data.data; + this.groupProperties.id = parseInt(data.id); + this.groupProperties.transactionType = data.attributes.transactions[0].type; + this.groupProperties.transactionTypeTranslated = i18next.t('firefly.' + data.attributes.transactions[0].type); + this.groupProperties.title = data.attributes.title ?? data.attributes.transactions[0].description; + this.groupProperties.totalAmount = 0; + this.entries = parseDownloadedSplits(data.attributes.transactions); + // remove waiting thing. + this.notifications.wait.show = false; + }).then(() => { + for (let i in this.entries) { + if (this.entries.hasOwnProperty(i)) { + const currencyCode = this.entries[i].currency_code; + const foreignCurrencyCode = this.entries[i].foreign_currency_code; + + if (undefined === this.amounts[currencyCode]) { + this.amounts[currencyCode] = 0; + this.amounts[currencyCode] += parseFloat(this.entries[i].amount); + } + if (null !== foreignCurrencyCode && '' !== foreignCurrencyCode && undefined === this.amounts[foreignCurrencyCode]) { + this.amounts[foreignCurrencyCode] = 0; + this.amounts[foreignCurrencyCode] += parseFloat(this.entries[i].foreign_amount); + } + + this.groupProperties.totalAmount = this.groupProperties.totalAmount + parseFloat(this.entries[i].amount); + if(0 === parseInt(i)) { + this.groupProperties.date = this.entries[i].date; + } + } + } + }).catch((error) => { + // todo auto generated. + this.notifications.error.show = true; + this.notifications.error.text = error.message; + }); + } + } +} + +let comps = {show, dates}; + +function loadPage() { + Object.keys(comps).forEach(comp => { + console.log(`Loading page component "${comp}"`); + let data = comps[comp](); + Alpine.data(comp, () => data); + }); + Alpine.start(); +} + +// wait for load until bootstrapped event is received. +document.addEventListener('firefly-iii-bootstrapped', () => { + console.log('Loaded through event listener.'); + loadPage(); +}); +// or is bootstrapped before event is triggered. +if (window.bootstrapped) { + console.log('Loaded through window variable.'); + loadPage(); +} diff --git a/resources/assets/v2/support/load-translations.js b/resources/assets/v2/support/load-translations.js index bab2a39fce..e493801c44 100644 --- a/resources/assets/v2/support/load-translations.js +++ b/resources/assets/v2/support/load-translations.js @@ -28,21 +28,19 @@ import LocalStorageBackend from "i18next-localstorage-backend"; let loaded = false; -let count = 0; function loadTranslations(locale) { - if (false === loaded && 0 === count) { - console.log('Loading translations: ' + count); + if (false === loaded) { const replacedLocale = locale.replace('-', '_'); loaded = true; - count++; - + console.log(import.meta.env.MODE); + const expireTime = import.meta.env.MODE === 'development' ? 1 : 7 * 24 * 60 * 60 * 1000; return i18next .use(ChainedBackend) .init({ fallbackLng: "en_US", lng: replacedLocale, - debug: true, + debug: import.meta.env.MODE === 'development', // ... your i18next config backend: { backends: [ @@ -50,7 +48,7 @@ function loadTranslations(locale) { HttpBackend ], backendOptions: [{ - expirationTime: 7 * 24 * 60 * 60 * 1000 // 7 days + expirationTime: expireTime }, { // const response = await fetch(`./v2/i18n/${locale}.json`); loadPath: './v2/i18n/{{lng}}.json' @@ -58,8 +56,7 @@ function loadTranslations(locale) { } }); } - count++; - console.warn('Loading translations skipped because count is:' + count); + console.warn('Loading translations skipped.'); return Promise.resolve(); } diff --git a/resources/lang/en_US/firefly.php b/resources/lang/en_US/firefly.php index dcc58a2fb5..1dff213e66 100644 --- a/resources/lang/en_US/firefly.php +++ b/resources/lang/en_US/firefly.php @@ -1898,6 +1898,7 @@ return [ // transactions: 'wait_loading_transaction' => 'Please wait for the form to load', + 'wait_loading_data' => 'Please wait for your information to load...', 'wait_attachments' => 'Please wait for the attachments to upload.', 'errors_upload' => 'The upload has failed. Please check your browser console for the error.', 'amount_foreign_if' => 'Amount in foreign currency, if any', diff --git a/resources/views/v2/partials/form/transaction/destination-account.blade.php b/resources/views/v2/partials/form/transaction/destination-account.blade.php index 32a173e334..6c507e78e6 100644 --- a/resources/views/v2/partials/form/transaction/destination-account.blade.php +++ b/resources/views/v2/partials/form/transaction/destination-account.blade.php @@ -1,7 +1,7 @@
+
+ +
+
+
+
+

{{ __('firefly.basic_journal_information') }}

+
+
+ + + + + + + + + + + +
+ + + + + + +
+
+
+
+
+
+
+

{{ __('firefly.transaction_journal_meta') }}

+
+
+ + + + + + + + + + + + + + + +
+ + + + + + + + +
+ + + +
+ + + +
+
+
+
+
+
+
+

{{ __('firefly.transaction_journal_information') }}

+
+
+
+
+
+
+

Description (X from X)

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ center + From A to B (summary) +
category iconcategory
budget iconbudget
subscription iconsubscription
dates (x6) iconsubscription
meta fieldsmeta
recurring thingsmeta
tagsmeta
notes
+
+
+
+
+

Transaction links

+
+
+
+
+
+
+

Piggy bank events.

+
+
+
+
+
+
+

Attachments

+
+
+
+
+
+
+

Audit log entries

+
+
+
+
+
+
+
+
+

{{ __('firefly.audit_log_entries') }}

+
+
+
+
+ +@endsection diff --git a/vite.config.js b/vite.config.js index 14322c3208..80b93e48d8 100644 --- a/vite.config.js +++ b/vite.config.js @@ -43,8 +43,11 @@ export default defineConfig({ input: [ 'resources/assets/v2/sass/app.scss', 'resources/assets/v2/pages/dashboard/dashboard.js', + + // transactions 'resources/assets/v2/pages/transactions/create.js', 'resources/assets/v2/pages/transactions/edit.js', + 'resources/assets/v2/pages/transactions/show.js', ], refresh: true, }),