From 17d6a993fc17d533460c5f40f3908c708e057c18 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Thu, 23 May 2024 18:45:17 +0200 Subject: Merging upstream version 18.2.3. Signed-off-by: Daniel Baumann --- .../frontend/dist/fr/119.5ef73bbadc71cad9.js | 1 + .../frontend/dist/fr/121.9dd4ed4e557d3110.js | 1 + .../frontend/dist/fr/3rdpartylicenses.txt | 4135 ++++++++++++++++++++ .../frontend/dist/fr/889.a4d8d718c0568f41.js | 1 + .../dist/fr/Ceph_Logo.beb815b55d2e7363.svg | 71 + .../assets/Ceph_Ceph_Logo_with_text_red_white.svg | 69 + .../fr/assets/Ceph_Ceph_Logo_with_text_white.svg | 69 + .../frontend/dist/fr/assets/Ceph_Logo.svg | 71 + .../frontend/dist/fr/assets/ceph_background.gif | Bin 0 -> 98115 bytes .../dashboard/frontend/dist/fr/assets/loading.gif | Bin 0 -> 35386 bytes .../frontend/dist/fr/assets/logo-mini.png | Bin 0 -> 1811 bytes .../frontend/dist/fr/assets/prometheus_logo.svg | 50 + .../dist/fr/ceph_background.3fbdf95cd52530d7.gif | Bin 0 -> 98115 bytes .../mgr/dashboard/frontend/dist/fr/favicon.ico | Bin 0 -> 1150 bytes .../fr/forkawesome-webfont.23671bdbd055fa7b.woff | Bin 0 -> 115148 bytes .../fr/forkawesome-webfont.3217b1b06e001045.svg | 2849 ++++++++++++++ .../fr/forkawesome-webfont.3b3951dce6cf5d60.ttf | Bin 0 -> 188756 bytes .../fr/forkawesome-webfont.c0fee260bb6fd5fd.eot | Bin 0 -> 188946 bytes .../fr/forkawesome-webfont.d0a4ad9e6369d510.woff2 | Bin 0 -> 91624 bytes .../mgr/dashboard/frontend/dist/fr/index.html | 23 + .../frontend/dist/fr/main.62dae25cb6f8afb5.js | 3 + .../frontend/dist/fr/polyfills.374f1f989f34e1be.js | 1 + .../dist/fr/prometheus_logo.8057911d27be9bb1.svg | 50 + .../frontend/dist/fr/runtime.bf967bb834d79a4e.js | 1 + .../frontend/dist/fr/styles.09190db38b7a2ca4.css | 17 + 25 files changed, 7412 insertions(+) create mode 100644 src/pybind/mgr/dashboard/frontend/dist/fr/119.5ef73bbadc71cad9.js create mode 100644 src/pybind/mgr/dashboard/frontend/dist/fr/121.9dd4ed4e557d3110.js create mode 100644 src/pybind/mgr/dashboard/frontend/dist/fr/3rdpartylicenses.txt create mode 100644 src/pybind/mgr/dashboard/frontend/dist/fr/889.a4d8d718c0568f41.js create mode 100644 src/pybind/mgr/dashboard/frontend/dist/fr/Ceph_Logo.beb815b55d2e7363.svg create mode 100644 src/pybind/mgr/dashboard/frontend/dist/fr/assets/Ceph_Ceph_Logo_with_text_red_white.svg create mode 100644 src/pybind/mgr/dashboard/frontend/dist/fr/assets/Ceph_Ceph_Logo_with_text_white.svg create mode 100644 src/pybind/mgr/dashboard/frontend/dist/fr/assets/Ceph_Logo.svg create mode 100644 src/pybind/mgr/dashboard/frontend/dist/fr/assets/ceph_background.gif create mode 100755 src/pybind/mgr/dashboard/frontend/dist/fr/assets/loading.gif create mode 100644 src/pybind/mgr/dashboard/frontend/dist/fr/assets/logo-mini.png create mode 100644 src/pybind/mgr/dashboard/frontend/dist/fr/assets/prometheus_logo.svg create mode 100644 src/pybind/mgr/dashboard/frontend/dist/fr/ceph_background.3fbdf95cd52530d7.gif create mode 100644 src/pybind/mgr/dashboard/frontend/dist/fr/favicon.ico create mode 100644 src/pybind/mgr/dashboard/frontend/dist/fr/forkawesome-webfont.23671bdbd055fa7b.woff create mode 100644 src/pybind/mgr/dashboard/frontend/dist/fr/forkawesome-webfont.3217b1b06e001045.svg create mode 100644 src/pybind/mgr/dashboard/frontend/dist/fr/forkawesome-webfont.3b3951dce6cf5d60.ttf create mode 100644 src/pybind/mgr/dashboard/frontend/dist/fr/forkawesome-webfont.c0fee260bb6fd5fd.eot create mode 100644 src/pybind/mgr/dashboard/frontend/dist/fr/forkawesome-webfont.d0a4ad9e6369d510.woff2 create mode 100644 src/pybind/mgr/dashboard/frontend/dist/fr/index.html create mode 100644 src/pybind/mgr/dashboard/frontend/dist/fr/main.62dae25cb6f8afb5.js create mode 100644 src/pybind/mgr/dashboard/frontend/dist/fr/polyfills.374f1f989f34e1be.js create mode 100644 src/pybind/mgr/dashboard/frontend/dist/fr/prometheus_logo.8057911d27be9bb1.svg create mode 100644 src/pybind/mgr/dashboard/frontend/dist/fr/runtime.bf967bb834d79a4e.js create mode 100644 src/pybind/mgr/dashboard/frontend/dist/fr/styles.09190db38b7a2ca4.css (limited to 'src/pybind/mgr/dashboard/frontend/dist/fr') diff --git a/src/pybind/mgr/dashboard/frontend/dist/fr/119.5ef73bbadc71cad9.js b/src/pybind/mgr/dashboard/frontend/dist/fr/119.5ef73bbadc71cad9.js new file mode 100644 index 000000000..c7d82a4a7 --- /dev/null +++ b/src/pybind/mgr/dashboard/frontend/dist/fr/119.5ef73bbadc71cad9.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkceph_dashboard=self.webpackChunkceph_dashboard||[]).push([[119],{22119:(xn,Ae,r)=>{r.r(Ae),r.d(Ae,{PoolModule:()=>qe,RoutedPoolModule:()=>Dn});var C=r(88692),l=r(20092),Oe=r(54247),f=r(51389),M=r(79512),f_=r(44466),E_=r(32121),g_=r(370),p_=r(23815),g=r.n(p_),R_=r(7357),m_=r(26504),ue=r(80842);class T{constructor(){this.nodes=[],this.idTree={},this.allDevices=[],this.buckets=[],this.failureDomains={},this.failureDomainKeys=[],this.devices=[],this.deviceCount=0}static searchFailureDomains(n,_){return this.getFailureDomains(this.search(n,_))}static search(n,_){const[o,i]=_.split("~"),s=n.find(c=>["name","id","type"].some(d=>c[d]===o));return s?(n=this.getSubNodes(s,this.createIdTreeFromNodes(n)),i&&(n=this.filterNodesByDeviceType(n,i)),n):[]}static createIdTreeFromNodes(n){const _={};return n.forEach(o=>{_[o.id]=o}),_}static getSubNodes(n,_){let o=[n];return n.children&&n.children.forEach(i=>{o=o.concat(this.getSubNodes(_[i],_))}),o}static filterNodesByDeviceType(n,_){let i,o=n.filter(c=>c.device_class&&c.device_class!==_).map(c=>c.id),s=o;do{i=!1,n=n.filter(d=>!o.includes(d.id));const c=[];n.forEach(d=>{d.children&&d.children.every(P=>o.includes(P))&&(c.push(d.id),i=!0)}),i&&(o=c,s=s.concat(c))}while(i);return(n=g().cloneDeep(n)).map(c=>(c.children&&(c.children=c.children.filter(d=>!s.includes(d))),c))}static getFailureDomains(n){const _={};return n.forEach(o=>{const i=o.type;_[i]||(_[i]=[]),_[i].push(o)}),_}initCrushNodeSelection(n,_,o,i){this.nodes=n,this.idTree=T.createIdTreeFromNodes(n),n.forEach(s=>{this.idTree[s.id]=s}),this.buckets=g().sortBy(n.filter(s=>s.children),"name"),this.controls={root:_,failure:o,device:i},this.preSelectRoot(),this.controls.root.valueChanges.subscribe(()=>this.onRootChange()),this.controls.failure.valueChanges.subscribe(()=>this.onFailureDomainChange()),this.controls.device.valueChanges.subscribe(()=>this.onDeviceChange())}preSelectRoot(){const n=this.nodes.find(_=>"root"===_.type);this.silentSet(this.controls.root,n),this.onRootChange()}silentSet(n,_){n.setValue(_,{emitEvent:!1})}onRootChange(){const n=T.getSubNodes(this.controls.root.value,this.idTree),_=T.getFailureDomains(n);Object.keys(_).forEach(o=>{_[o].length<=1&&delete _[o]}),this.failureDomains=_,this.failureDomainKeys=Object.keys(_).sort(),this.updateFailureDomain()}updateFailureDomain(){let n=this.getIncludedCustomValue(this.controls.failure,Object.keys(this.failureDomains));""===n&&(n=this.setMostCommonDomain(this.controls.failure)),this.updateDevices(n)}getIncludedCustomValue(n,_){return n.dirty&&_.includes(n.value)?n.value:""}setMostCommonDomain(n){let _={n:0,type:""};return Object.keys(this.failureDomains).forEach(o=>{const i=this.failureDomains[o].length;_.nT.getSubNodes(i,this.idTree)));this.allDevices=_.filter(i=>i.device_class).map(i=>i.device_class),this.devices=g().uniq(this.allDevices).sort();const o=1===this.devices.length?this.devices[0]:this.getIncludedCustomValue(this.controls.device,this.devices);this.silentSet(this.controls.device,o),this.onDeviceChange(o)}onDeviceChange(n=this.controls.device.value){this.deviceCount=""===n?this.allDevices.length:this.allDevices.filter(_=>_===n).length}}var Fe=r(30982),C_=r(14745),b=r(65862),M_=r(93614),Ne=r(95463),E=r(90070),h_=r(30633),v=r(76111),S_=r(47557),T_=r(28211),de=r(32337),e=r(64537),be=r(62862),ve=r(83608),Pe=r(18372),$e=r(60312),fe=r(30839),Ee=r(82945),ge=r(87925),pe=r(94276),Re=r(56310),me=r(41582),Ce=r(10545);function L_(t,n){1&t&&(e.TgZ(0,"span",30),e.SDv(1,31),e.qZA())}function A_(t,n){1&t&&(e.TgZ(0,"span",30),e.SDv(1,32),e.qZA())}function F_(t,n){1&t&&(e.TgZ(0,"span",30),e.SDv(1,33),e.qZA())}function N_(t,n){1&t&&(e.TgZ(0,"option",26),e.SDv(1,34),e.qZA())}function b_(t,n){if(1&t&&(e.TgZ(0,"option",35),e._uU(1),e.qZA()),2&t){const _=n.$implicit;e.Q6J("ngValue",_),e.xp6(1),e.hij(" ",_.name," ")}}function v_(t,n){1&t&&(e.TgZ(0,"span",30),e.SDv(1,36),e.qZA())}function $_(t,n){1&t&&(e.TgZ(0,"option",26),e.SDv(1,37),e.qZA())}function I_(t,n){if(1&t&&(e.TgZ(0,"option",35),e._uU(1),e.qZA()),2&t){const _=n.$implicit,o=e.oxw();e.Q6J("ngValue",_),e.xp6(1),e.AsE(" ",_," ( ",o.failureDomains[_].length," ) ")}}function D_(t,n){1&t&&(e.TgZ(0,"span",30),e.SDv(1,38),e.qZA())}function x_(t,n){if(1&t&&(e.TgZ(0,"option",35),e._uU(1),e.qZA()),2&t){const _=n.$implicit;e.Q6J("ngValue",_),e.xp6(1),e.hij(" ",_," ")}}let y_=(()=>{class t extends T{constructor(_,o,i,s,c){super(),this.formBuilder=_,this.activeModal=o,this.taskWrapper=i,this.crushRuleService=s,this.actionLabels=c,this.submitAction=new e.vpe,this.tooltips=this.crushRuleService.formTooltips,this.action=this.actionLabels.CREATE,this.resource="Crush Rule",this.createForm()}createForm(){this.form=this.formBuilder.group({name:["",[l.kI.required,l.kI.pattern("[A-Za-z0-9_-]+"),E.h.custom("uniqueName",_=>this.names&&-1!==this.names.indexOf(_))]],root:null,failure_domain:"",device_class:""})}ngOnInit(){this.crushRuleService.getInfo().subscribe(({names:_,nodes:o})=>{this.initCrushNodeSelection(o,this.form.get("root"),this.form.get("failure_domain"),this.form.get("device_class")),this.names=_})}onSubmit(){if(this.form.invalid)return void this.form.setErrors({cdSubmitButton:!0});const _=g().cloneDeep(this.form.value);_.root=_.root.name,""===_.device_class&&delete _.device_class,this.taskWrapper.wrapTaskAroundCall({task:new v.R("crushRule/create",_),call:this.crushRuleService.create(_)}).subscribe({error:()=>{this.form.setErrors({cdSubmitButton:!0})},complete:()=>{this.activeModal.close(),this.submitAction.emit(_)}})}}return t.\u0275fac=function(_){return new(_||t)(e.Y36(be.O),e.Y36(f.Kz),e.Y36(de.P),e.Y36(ve.H),e.Y36(M.p4))},t.\u0275cmp=e.Xpm({type:t,selectors:[["cd-crush-rule-form-modal"]],outputs:{submitAction:"submitAction"},features:[e.qOj],decls:55,vars:27,consts:function(){let n,_,o,i,s,c,d,P,p,R,h,S,m;return n="" + "\ufffd0\ufffd" + " " + "\ufffd1\ufffd" + "",_="Name",o="Root",i="Failure domain type",s="Device class",c="Let Ceph decide",d="Ce champ est obligatoire !",P="Le nom doit \xEAtre exclusivement compos\xE9 de caract\xE8res alphanum\xE9riques, de tirets et de traits de soulignement.",p="Le nom de profil du code d'effacement s\xE9lectionn\xE9 est d\xE9j\xE0 utilis\xE9.",R="Chargement...",h="Ce champ est obligatoire !",S="Chargement...",m="Ce champ est obligatoire !",[[3,"modalRef"],[1,"modal-title"],n,[1,"modal-content"],["novalidate","",3,"formGroup"],["frm","ngForm"],[1,"modal-body"],[1,"form-group","row"],["for","name",1,"cd-col-form-label"],_,[1,"required"],[1,"cd-col-form-input"],["type","text","id","name","name","name","placeholder","Name...","formControlName","name","autofocus","",1,"form-control"],["class","invalid-feedback",4,"ngIf"],["for","root",1,"cd-col-form-label"],o,[3,"html"],["id","root","name","root","formControlName","root",1,"form-select"],["ngValue","",4,"ngIf"],[3,"ngValue",4,"ngFor","ngForOf"],["for","failure_domain",1,"cd-col-form-label"],i,["id","failure_domain","name","failure_domain","formControlName","failure_domain",1,"form-select"],["for","device_class",1,"cd-col-form-label"],s,["id","device_class","name","device_class","formControlName","device_class",1,"form-select"],["ngValue",""],c,[1,"modal-footer"],[3,"form","submitText","submitActionEvent"],[1,"invalid-feedback"],d,P,p,R,[3,"ngValue"],h,S,m]},template:function(_,o){if(1&_&&(e.TgZ(0,"cd-modal",0),e.ynx(1,1),e.SDv(2,2),e.ALo(3,"titlecase"),e.ALo(4,"upperFirst"),e.BQk(),e.ynx(5,3),e.TgZ(6,"form",4,5)(8,"div",6)(9,"div",7)(10,"label",8),e.ynx(11),e.SDv(12,9),e.BQk(),e._UZ(13,"span",10),e.qZA(),e.TgZ(14,"div",11),e._UZ(15,"input",12),e.YNc(16,L_,2,0,"span",13),e.YNc(17,A_,2,0,"span",13),e.YNc(18,F_,2,0,"span",13),e.qZA()(),e.TgZ(19,"div",7)(20,"label",14),e.ynx(21),e.SDv(22,15),e.BQk(),e._UZ(23,"cd-helper",16)(24,"span",10),e.qZA(),e.TgZ(25,"div",11)(26,"select",17),e.YNc(27,N_,2,0,"option",18),e.YNc(28,b_,2,2,"option",19),e.qZA(),e.YNc(29,v_,2,0,"span",13),e.qZA()(),e.TgZ(30,"div",7)(31,"label",20),e.ynx(32),e.SDv(33,21),e.BQk(),e._UZ(34,"cd-helper",16)(35,"span",10),e.qZA(),e.TgZ(36,"div",11)(37,"select",22),e.YNc(38,$_,2,0,"option",18),e.YNc(39,I_,2,3,"option",19),e.qZA(),e.YNc(40,D_,2,0,"span",13),e.qZA()(),e.TgZ(41,"div",7)(42,"label",23),e.ynx(43),e.SDv(44,24),e.BQk(),e._UZ(45,"cd-helper",16),e.qZA(),e.TgZ(46,"div",11)(47,"select",25)(48,"option",26),e.SDv(49,27),e.qZA(),e.YNc(50,x_,2,2,"option",19),e.qZA()()()(),e.TgZ(51,"div",28)(52,"cd-form-button-panel",29),e.NdJ("submitActionEvent",function(){return o.onSubmit()}),e.ALo(53,"titlecase"),e.ALo(54,"upperFirst"),e.qZA()()(),e.BQk(),e.qZA()),2&_){const i=e.MAs(7);e.Q6J("modalRef",o.activeModal),e.xp6(4),e.pQV(e.lcZ(3,19,o.action))(e.lcZ(4,21,o.resource)),e.QtT(2),e.xp6(2),e.Q6J("formGroup",o.form),e.xp6(10),e.Q6J("ngIf",o.form.showError("name",i,"required")),e.xp6(1),e.Q6J("ngIf",o.form.showError("name",i,"pattern")),e.xp6(1),e.Q6J("ngIf",o.form.showError("name",i,"uniqueName")),e.xp6(5),e.Q6J("html",o.tooltips.root),e.xp6(4),e.Q6J("ngIf",!o.buckets),e.xp6(1),e.Q6J("ngForOf",o.buckets),e.xp6(1),e.Q6J("ngIf",o.form.showError("root",i,"required")),e.xp6(5),e.Q6J("html",o.tooltips.failure_domain),e.xp6(4),e.Q6J("ngIf",!o.failureDomains),e.xp6(1),e.Q6J("ngForOf",o.failureDomainKeys),e.xp6(1),e.Q6J("ngIf",o.form.showError("failure_domain",i,"required")),e.xp6(5),e.Q6J("html",o.tooltips.device_class),e.xp6(5),e.Q6J("ngForOf",o.devices),e.xp6(2),e.Q6J("form",o.form)("submitText",e.lcZ(53,23,o.action)+" "+e.lcZ(54,25,o.resource))}},dependencies:[C.sg,C.O5,Pe.S,$e.z,fe.p,Ee.U,ge.o,pe.b,Re.P,me.V,l._Y,l.YN,l.Kr,l.Fj,l.EJ,l.JJ,l.JL,l.sg,l.u,C.rS,Ce.m]}),t})();class Z_{}var U_=r(35732);let Me=(()=>{class t{constructor(_){this.http=_,this.apiPath="api/erasure_code_profile",this.formTooltips={k:"Each object is split in data-chunks parts, each stored on a different OSD.",m:"Compute coding chunks for each object and store them on different OSDs.\n The number of coding chunks is also the number of OSDs that can be down without losing data.",plugins:{jerasure:{description:"The jerasure plugin is the most generic and flexible plugin,\n it is also the default for Ceph erasure coded pools.",technique:"The more flexible technique is reed_sol_van : it is enough to set k\n and m. The cauchy_good technique can be faster but you need to chose the packetsize\n carefully. All of reed_sol_r6_op, liberation, blaum_roth, liber8tion are RAID6 equivalents\n in the sense that they can only be configured with m=2.",packetSize:"The encoding will be done on packets of bytes size at a time.\n Choosing the right packet size is difficult.\n The jerasure documentation contains extensive information on this topic."},lrc:{description:"With the jerasure plugin, when an erasure coded object is stored on\n multiple OSDs, recovering from the loss of one OSD requires reading from all the others.\n For instance if jerasure is configured with k=8 and m=4, losing one OSD requires reading\n from the eleven others to repair.\n\n The lrc erasure code plugin creates local parity chunks to be able to recover using\n less OSDs. For instance if lrc is configured with k=8, m=4 and l=4, it will create\n an additional parity chunk for every four OSDs. When a single OSD is lost, it can be\n recovered with only four OSDs instead of eleven.",l:"Group the coding and data chunks into sets of size locality. For instance,\n for k=4 and m=2, when locality=3 two groups of three are created. Each set can\n be recovered without reading chunks from another set.",crushLocality:"The type of the crush bucket in which each set of chunks defined\n by l will be stored. For instance, if it is set to rack, each group of l chunks will be\n placed in a different rack. It is used to create a CRUSH rule step such as step choose\n rack. If it is not set, no such grouping is done."},isa:{description:"The isa plugin encapsulates the ISA library. It only runs on Intel processors.",technique:"The ISA plugin comes in two Reed Solomon forms.\n If reed_sol_van is set, it is Vandermonde, if cauchy is set, it is Cauchy."},shec:{description:"The shec plugin encapsulates the multiple SHEC library.\n It allows ceph to recover data more efficiently than Reed Solomon codes.",c:"The number of parity chunks each of which includes each data chunk in its\n calculation range. The number is used as a durability estimator. For instance, if c=2,\n 2 OSDs can be down without losing data."},clay:{description:"CLAY (short for coupled-layer) codes are erasure codes designed to\n bring about significant savings in terms of network bandwidth and disk IO when a failed\n node/OSD/rack is being repaired.",d:"Number of OSDs requested to send data during recovery of a single chunk.\n d needs to be chosen such that k+1 <= d <= k+m-1. The larger the d, the better\n the savings.",scalar_mds:"scalar_mds specifies the plugin that is used as a building block\n in the layered construction. It can be one of jerasure, isa, shec.",technique:"technique specifies the technique that will be picked\n within the 'scalar_mds' plugin specified. Supported techniques\n are 'reed_sol_van', 'reed_sol_r6_op', 'cauchy_orig',\n 'cauchy_good', 'liber8tion' for jerasure, 'reed_sol_van',\n 'cauchy' for isa and 'single', 'multiple' for shec."}},crushRoot:"The name of the crush bucket used for the first step of the CRUSH rule.\n For instance step take default.",crushFailureDomain:"Ensure that no two chunks are in a bucket with the same failure\n domain. For instance, if the failure domain is host no two chunks will be stored on the same\n host. It is used to create a CRUSH rule step such as step chooseleaf host.",crushDeviceClass:"Restrict placement to devices of a specific class\n (e.g., ssd or hdd), using the crush device class names in the CRUSH map.",directory:"Set the directory name from which the erasure code plugin is loaded."}}list(){return this.http.get(this.apiPath)}create(_){return this.http.post(this.apiPath,_,{observe:"response"})}delete(_){return this.http.delete(`${this.apiPath}/${_}`,{observe:"response"})}getInfo(){return this.http.get(`ui-${this.apiPath}/info`)}}return t.\u0275fac=function(_){return new(_||t)(e.LFG(U_.eN))},t.\u0275prov=e.Yz7({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();function G_(t,n){1&t&&(e.TgZ(0,"span",46),e.SDv(1,47),e.qZA())}function H_(t,n){1&t&&(e.TgZ(0,"span",46),e.SDv(1,48),e.qZA())}function z_(t,n){1&t&&(e.TgZ(0,"span",46),e.SDv(1,49),e.qZA())}function q_(t,n){1&t&&(e.TgZ(0,"option",37),e.SDv(1,50),e.qZA())}function X_(t,n){if(1&t&&(e.TgZ(0,"option",51),e._uU(1),e.qZA()),2&t){const _=n.$implicit;e.Q6J("ngValue",_),e.xp6(1),e.hij(" ",_," ")}}function Q_(t,n){1&t&&(e.TgZ(0,"span",46),e.SDv(1,52),e.qZA())}function w_(t,n){1&t&&(e.TgZ(0,"span",46),e.SDv(1,53),e.qZA())}function J_(t,n){1&t&&(e.TgZ(0,"span",46),e.SDv(1,54),e.qZA())}function k_(t,n){if(1&t&&(e.TgZ(0,"span",46),e.SDv(1,55),e.qZA()),2&t){const _=e.oxw();e.xp6(1),e.pQV(_.deviceCount),e.QtT(1)}}function V_(t,n){1&t&&(e.TgZ(0,"span",46),e.SDv(1,56),e.qZA())}function Y_(t,n){1&t&&(e.TgZ(0,"span",46),e.SDv(1,57),e.qZA())}function B_(t,n){if(1&t&&(e.TgZ(0,"span",39),e.SDv(1,58),e.qZA()),2&t){const _=e.oxw();e.xp6(1),e.pQV(_.lrcMultiK),e.QtT(1)}}function j_(t,n){1&t&&(e.TgZ(0,"span",46),e.SDv(1,59),e.qZA())}function K_(t,n){1&t&&(e.TgZ(0,"span",46),e.SDv(1,60),e.qZA())}function W_(t,n){if(1&t&&(e.TgZ(0,"span",46),e.SDv(1,61),e.qZA()),2&t){const _=e.oxw();e.xp6(1),e.pQV(_.deviceCount),e.QtT(1)}}function eo(t,n){1&t&&(e.TgZ(0,"span",46),e.SDv(1,65),e.qZA())}function _o(t,n){1&t&&(e.TgZ(0,"span",46),e.SDv(1,66),e.qZA())}function oo(t,n){if(1&t&&(e.TgZ(0,"div",7)(1,"label",62)(2,"span",14),e.SDv(3,63),e.qZA(),e._UZ(4,"cd-helper",16),e.qZA(),e.TgZ(5,"div",10),e._UZ(6,"input",64),e.YNc(7,eo,2,0,"span",12),e.YNc(8,_o,2,0,"span",12),e.qZA()()),2&t){const _=e.oxw(),o=e.MAs(7);e.xp6(4),e.Q6J("html",_.tooltips.plugins.shec.c),e.xp6(3),e.Q6J("ngIf",_.form.showError("c",o,"min")),e.xp6(1),e.Q6J("ngIf",_.form.showError("c",o,"cGreaterM"))}}function to(t,n){1&t&&(e.TgZ(0,"span",39),e.SDv(1,74),e.qZA())}function no(t,n){if(1&t&&(e.TgZ(0,"span",39),e.SDv(1,75),e.qZA()),2&t){const _=e.oxw(3);e.xp6(1),e.pQV(_.getDMin())(_.getDMax()),e.QtT(1)}}function io(t,n){if(1&t&&(e.TgZ(0,"span",39),e.SDv(1,76),e.qZA()),2&t){const _=e.oxw(3);e.xp6(1),e.pQV(_.getDMax()),e.QtT(1)}}function so(t,n){if(1&t&&(e.ynx(0),e.YNc(1,no,2,2,"span",23),e.YNc(2,io,2,1,"span",23),e.BQk()),2&t){const _=e.oxw(2);e.xp6(1),e.Q6J("ngIf",_.getDMin()<_.getDMax()),e.xp6(1),e.Q6J("ngIf",_.getDMin()===_.getDMax())}}function ao(t,n){if(1&t&&(e.TgZ(0,"span",46),e.SDv(1,77),e.qZA()),2&t){const _=e.oxw(2);e.xp6(1),e.pQV(_.getDMin()),e.QtT(1)}}function lo(t,n){if(1&t&&(e.TgZ(0,"span",46),e.SDv(1,78),e.qZA()),2&t){const _=e.oxw(2);e.xp6(1),e.pQV(_.getDMax()),e.QtT(1)}}function ro(t,n){if(1&t){const _=e.EpF();e.TgZ(0,"div",7)(1,"label",67)(2,"span",14),e.SDv(3,68),e.qZA(),e._UZ(4,"cd-helper",16),e.qZA(),e.TgZ(5,"div",10)(6,"div",69),e._UZ(7,"input",70),e.TgZ(8,"button",71),e.NdJ("click",function(){e.CHM(_);const i=e.oxw();return e.KtG(i.toggleDCalc())}),e._UZ(9,"i",72),e.qZA()(),e.YNc(10,to,2,0,"span",23),e.YNc(11,so,3,2,"ng-container",73),e.YNc(12,ao,2,1,"span",12),e.YNc(13,lo,2,1,"span",12),e.qZA()()}if(2&t){const _=e.oxw(),o=e.MAs(7);e.xp6(4),e.Q6J("html",_.tooltips.plugins.clay.d),e.xp6(5),e.Q6J("ngClass",_.dCalc?_.icons.unlock:_.icons.lock),e.xp6(1),e.Q6J("ngIf",_.dCalc),e.xp6(1),e.Q6J("ngIf",!_.dCalc),e.xp6(1),e.Q6J("ngIf",_.form.showError("d",o,"dMin")),e.xp6(1),e.Q6J("ngIf",_.form.showError("d",o,"dMax"))}}function co(t,n){1&t&&(e.TgZ(0,"span",46),e.SDv(1,83),e.qZA())}function Oo(t,n){1&t&&(e.TgZ(0,"span",46),e.SDv(1,84),e.qZA())}function uo(t,n){1&t&&(e.TgZ(0,"span",46),e.SDv(1,85),e.qZA())}function Po(t,n){if(1&t&&(e.TgZ(0,"div",7)(1,"label",79)(2,"span",14),e.SDv(3,80),e.qZA(),e._UZ(4,"cd-helper",16),e.qZA(),e.TgZ(5,"div",10),e._UZ(6,"input",81),e.YNc(7,co,2,0,"span",12),e.YNc(8,Oo,2,0,"span",12),e.YNc(9,uo,2,0,"span",12),e.TgZ(10,"span",39),e.SDv(11,82),e.qZA()()()),2&t){const _=e.oxw(),o=e.MAs(7);e.xp6(4),e.Q6J("html",_.tooltips.plugins.lrc.l),e.xp6(3),e.Q6J("ngIf",_.form.showError("l",o,"required")),e.xp6(1),e.Q6J("ngIf",_.form.showError("l",o,"min")),e.xp6(1),e.Q6J("ngIf",_.form.showError("l",o,"unequal")),e.xp6(2),e.pQV(_.lrcGroups),e.QtT(11)}}function fo(t,n){1&t&&(e.TgZ(0,"option",37),e.SDv(1,86),e.qZA())}function Eo(t,n){if(1&t&&(e.TgZ(0,"option",51),e._uU(1),e.qZA()),2&t){const _=n.$implicit,o=e.oxw();e.Q6J("ngValue",_),e.xp6(1),e.AsE(" ",_," ( ",o.failureDomains[_].length," ) ")}}function go(t,n){1&t&&(e.TgZ(0,"option",37),e.SDv(1,90),e.qZA())}function po(t,n){1&t&&(e.TgZ(0,"option",37),e.SDv(1,91),e.qZA())}function Ro(t,n){if(1&t&&(e.TgZ(0,"option",51),e._uU(1),e.qZA()),2&t){const _=n.$implicit,o=e.oxw(2);e.Q6J("ngValue",_),e.xp6(1),e.AsE(" ",_," ( ",o.failureDomains[_].length," ) ")}}function mo(t,n){if(1&t&&(e.TgZ(0,"div",7)(1,"label",87),e.ynx(2),e.SDv(3,88),e.BQk(),e._UZ(4,"cd-helper",16),e.qZA(),e.TgZ(5,"div",10)(6,"select",89),e.YNc(7,go,2,0,"option",18),e.YNc(8,po,2,0,"option",18),e.YNc(9,Ro,2,3,"option",19),e.qZA()()()),2&t){const _=e.oxw();e.xp6(4),e.Q6J("html",_.tooltips.plugins.lrc.crushLocality),e.xp6(3),e.Q6J("ngIf",!_.failureDomains),e.xp6(1),e.Q6J("ngIf",_.failureDomainKeys.length>0),e.xp6(1),e.Q6J("ngForOf",_.failureDomainKeys)}}function Co(t,n){if(1&t&&(e.TgZ(0,"option",51),e._uU(1),e.qZA()),2&t){const _=n.$implicit;e.Q6J("ngValue",_),e.xp6(1),e.hij(" ",_," ")}}const Ie=function(t,n,_){return[t,n,_]};function Mo(t,n){if(1&t&&(e.TgZ(0,"div",7)(1,"label",92),e.ynx(2),e.SDv(3,93),e.BQk(),e._UZ(4,"cd-helper",16),e.qZA(),e.TgZ(5,"div",10)(6,"select",94),e.YNc(7,Co,2,2,"option",19),e.qZA()()()),2&t){const _=e.oxw();e.xp6(4),e.Q6J("html",_.tooltips.plugins.clay.scalar_mds),e.xp6(3),e.Q6J("ngForOf",e.kEZ(2,Ie,_.PLUGIN.JERASURE,_.PLUGIN.ISA,_.PLUGIN.SHEC))}}function ho(t,n){if(1&t&&(e.TgZ(0,"option",51),e._uU(1),e.qZA()),2&t){const _=n.$implicit;e.Q6J("ngValue",_),e.xp6(1),e.hij(" ",_," ")}}function So(t,n){if(1&t&&(e.TgZ(0,"div",7)(1,"label",95),e.ynx(2),e.SDv(3,96),e.BQk(),e._UZ(4,"cd-helper",16),e.qZA(),e.TgZ(5,"div",10)(6,"select",97),e.YNc(7,ho,2,2,"option",19),e.qZA()()()),2&t){const _=e.oxw();e.xp6(4),e.Q6J("html",_.tooltips.plugins[_.plugin].technique),e.xp6(3),e.Q6J("ngForOf",_.techniques)}}function To(t,n){1&t&&(e.TgZ(0,"span",46),e.SDv(1,101),e.qZA())}function Lo(t,n){if(1&t&&(e.TgZ(0,"div",7)(1,"label",98),e.ynx(2),e.SDv(3,99),e.BQk(),e._UZ(4,"cd-helper",16),e.qZA(),e.TgZ(5,"div",10),e._UZ(6,"input",100),e.YNc(7,To,2,0,"span",12),e.qZA()()),2&t){const _=e.oxw(),o=e.MAs(7);e.xp6(4),e.Q6J("html",_.tooltips.plugins.jerasure.packetSize),e.xp6(3),e.Q6J("ngIf",_.form.showError("packetSize",o,"min"))}}function Ao(t,n){1&t&&(e.TgZ(0,"option",37),e.SDv(1,102),e.qZA())}function Fo(t,n){if(1&t&&(e.TgZ(0,"option",51),e._uU(1),e.qZA()),2&t){const _=n.$implicit;e.Q6J("ngValue",_),e.xp6(1),e.hij(" ",_.name," ")}}function No(t,n){if(1&t&&(e.TgZ(0,"option",51),e._uU(1),e.qZA()),2&t){const _=n.$implicit;e.Q6J("ngValue",_),e.xp6(1),e.hij(" ",_," ")}}let bo=(()=>{class t extends T{constructor(_,o,i,s,c){super(),this.formBuilder=_,this.activeModal=o,this.taskWrapper=i,this.ecpService=s,this.actionLabels=c,this.submitAction=new e.vpe,this.tooltips=this.ecpService.formTooltips,this.PLUGIN={LRC:"lrc",SHEC:"shec",CLAY:"clay",JERASURE:"jerasure",ISA:"isa"},this.plugin=this.PLUGIN.JERASURE,this.icons=b.P,this.action=this.actionLabels.CREATE,this.resource="EC Profile",this.createForm(),this.setJerasureDefaults()}createForm(){this.form=this.formBuilder.group({name:[null,[l.kI.required,l.kI.pattern("[A-Za-z0-9_-]+"),E.h.custom("uniqueName",_=>this.names&&-1!==this.names.indexOf(_))]],plugin:[this.PLUGIN.JERASURE,[l.kI.required]],k:[4,[l.kI.required,E.h.custom("max",()=>this.baseValueValidation(!0)),E.h.custom("unequal",_=>this.lrcDataValidation(_)),E.h.custom("kLowerM",_=>this.shecDataValidation(_))]],m:[2,[l.kI.required,E.h.custom("max",()=>this.baseValueValidation())]],crushFailureDomain:"",crushRoot:null,crushDeviceClass:"",directory:"",technique:"reed_sol_van",packetSize:[2048],l:[3,[l.kI.required,E.h.custom("unequal",_=>this.lrcLocalityValidation(_))]],crushLocality:"",c:[2,[l.kI.required,E.h.custom("cGreaterM",_=>this.shecDurabilityValidation(_))]],d:[5,[l.kI.required,E.h.custom("dMin",_=>this.dMinValidation(_)),E.h.custom("dMax",_=>this.dMaxValidation(_))]],scalar_mds:[this.PLUGIN.JERASURE,[l.kI.required]]}),this.toggleDCalc(),this.form.get("k").valueChanges.subscribe(()=>this.updateValidityOnChange(["m","l","d"])),this.form.get("m").valueChanges.subscribe(()=>this.updateValidityOnChange(["k","l","c","d"])),this.form.get("l").valueChanges.subscribe(()=>this.updateValidityOnChange(["k","m"])),this.form.get("plugin").valueChanges.subscribe(_=>this.onPluginChange(_)),this.form.get("scalar_mds").valueChanges.subscribe(()=>this.setClayDefaultsForScalar())}baseValueValidation(_=!1){return this.validValidation(()=>this.getKMSum()>this.deviceCount&&this.form.getValue("k")>this.form.getValue("m")===_)}validValidation(_,o){return!((!this.form||o)&&this.plugin!==o)&&_()}getKMSum(){return this.form.getValue("k")+this.form.getValue("m")}lrcDataValidation(_){return this.validValidation(()=>{const o=this.form.getValue("m"),i=this.form.getValue("l"),s=_+o;return this.lrcMultiK=_/(s/i),_%(s/i)!=0},"lrc")}shecDataValidation(_){return this.validValidation(()=>this.form.getValue("m")>_,"shec")}lrcLocalityValidation(_){return this.validValidation(()=>{const o=this.getKMSum();return this.lrcGroups=_>0?o/_:0,_>0&&o%_!=0},"lrc")}shecDurabilityValidation(_){return this.validValidation(()=>{const o=this.form.getValue("m");return _>o},"shec")}dMinValidation(_){return this.validValidation(()=>this.getDMin()>_,"clay")}getDMin(){return this.form.getValue("k")+1}dMaxValidation(_){return this.validValidation(()=>_>this.getDMax(),"clay")}getDMax(){const _=this.form.getValue("m");return this.form.getValue("k")+_-1}toggleDCalc(){this.dCalc=!this.dCalc,this.form.get("d")[this.dCalc?"disable":"enable"](),this.calculateD()}calculateD(){this.plugin!==this.PLUGIN.CLAY||!this.dCalc||this.form.silentSet("d",this.getDMax())}updateValidityOnChange(_){_.forEach(o=>{"d"===o&&this.calculateD(),this.form.get(o).updateValueAndValidity({emitEvent:!1})})}onPluginChange(_){this.plugin=_,_===this.PLUGIN.JERASURE?this.setJerasureDefaults():_===this.PLUGIN.LRC?this.setLrcDefaults():_===this.PLUGIN.ISA?this.setIsaDefaults():_===this.PLUGIN.SHEC?this.setShecDefaults():_===this.PLUGIN.CLAY&&this.setClayDefaults(),this.updateValidityOnChange(["m"])}setJerasureDefaults(){this.techniques=["reed_sol_van","reed_sol_r6_op","cauchy_orig","cauchy_good","liberation","blaum_roth","liber8tion"],this.setDefaults({k:4,m:2,technique:"reed_sol_van"})}setLrcDefaults(){this.setDefaults({k:4,m:2,l:3})}setIsaDefaults(){this.techniques=["reed_sol_van","cauchy"],this.setDefaults({k:7,m:3,technique:"reed_sol_van"})}setShecDefaults(){this.setDefaults({k:4,m:3,c:2})}setClayDefaults(){this.setDefaults({k:4,m:2,scalar_mds:this.PLUGIN.JERASURE}),this.setClayDefaultsForScalar()}setClayDefaultsForScalar(){const _=this.form.getValue("scalar_mds");let o="reed_sol_van";_===this.PLUGIN.JERASURE?this.techniques=["reed_sol_van","reed_sol_r6_op","cauchy_orig","cauchy_good","liber8tion"]:_===this.PLUGIN.ISA?this.techniques=["reed_sol_van","cauchy"]:(o="single",this.techniques=["single","multiple"]),this.setDefaults({technique:o})}setDefaults(_){Object.keys(_).forEach(o=>{const i=this.form.get(o),s=i.value;i.pristine||"technique"===o&&!this.techniques.includes(s)||"k"===o&&[4,7].includes(s)||"m"===o&&[2,3].includes(s)?i.setValue(_[o]):i.updateValueAndValidity()})}ngOnInit(){this.ecpService.getInfo().subscribe(({plugins:_,names:o,directory:i,nodes:s})=>{this.initCrushNodeSelection(s,this.form.get("crushRoot"),this.form.get("crushFailureDomain"),this.form.get("crushDeviceClass")),this.plugins=_,this.names=o,this.form.silentSet("directory",i),this.preValidateNumericInputFields()})}preValidateNumericInputFields(){const _=["k","m","l","c","d"].map(o=>this.form.get(o));_.forEach(o=>{o.markAsTouched(),o.markAsDirty()}),_[1].updateValueAndValidity()}onSubmit(){if(this.form.invalid)return void this.form.setErrors({cdSubmitButton:!0});const _=this.createJson();this.taskWrapper.wrapTaskAroundCall({task:new v.R("ecp/create",{name:_.name}),call:this.ecpService.create(_)}).subscribe({error:()=>{this.form.setErrors({cdSubmitButton:!0})},complete:()=>{this.activeModal.close(),this.submitAction.emit(_)}})}createJson(){const _={technique:[this.PLUGIN.ISA,this.PLUGIN.JERASURE,this.PLUGIN.CLAY],packetSize:[this.PLUGIN.JERASURE],l:[this.PLUGIN.LRC],crushLocality:[this.PLUGIN.LRC],c:[this.PLUGIN.SHEC],d:[this.PLUGIN.CLAY],scalar_mds:[this.PLUGIN.CLAY]},o=new Z_,i=this.form.getValue("plugin");return Object.keys(this.form.controls).filter(s=>{const c=_[s],d=this.form.getValue(s);return(c&&c.includes(i)||!c)&&d&&""!==d}).forEach(s=>{this.extendJson(s,o)}),o}extendJson(_,o){const s=this.form.getValue(_);o[{crushFailureDomain:"crush-failure-domain",crushRoot:"crush-root",crushDeviceClass:"crush-device-class",packetSize:"packetsize",crushLocality:"crush-locality"}[_]||_]="crushRoot"===_?s.name:s}}return t.\u0275fac=function(_){return new(_||t)(e.Y36(be.O),e.Y36(f.Kz),e.Y36(de.P),e.Y36(Me),e.Y36(M.p4))},t.\u0275cmp=e.Xpm({type:t,selectors:[["cd-erasure-code-profile-form-modal"]],outputs:{submitAction:"submitAction"},features:[e.qOj],decls:98,vars:53,consts:function(){let n,_,o,i,s,c,d,P,p,R,h,S,m,u,A,$,I,D,x,y,Z,U,G,H,z,q,X,Q,w,J,k,V,Y,B,j,K,N,W,ee,_e,oe,te,ne,ie,se,ae,le,re,ce;return n="" + "\ufffd0\ufffd" + " " + "\ufffd1\ufffd" + "",_="Name",o="Plug-in",i="Blocs de donn\xE9es (k)",s="Blocs de codage (m)",c="Domaine de d\xE9faillance Crush",d="Racine Crush",P="Classe de p\xE9riph\xE9rique Crush",p="Let Ceph decide",R="Available OSDs: \n " + "\ufffd0\ufffd" + "\n ",h="R\xE9pertoire",S="Ce champ est obligatoire !",m="Le nom doit \xEAtre exclusivement compos\xE9 de caract\xE8res alphanum\xE9riques, de tirets et de traits de soulignement.",u="Le nom de profil du code d'effacement s\xE9lectionn\xE9 est d\xE9j\xE0 utilis\xE9.",A="Chargement...",$="Ce champ est obligatoire !",I="Ce champ est obligatoire !",D="Doit \xEAtre \xE9gal ou sup\xE9rieur \xE0 2.",x="Chunks (k+m) have exceeded the available OSDs of \n " + "\ufffd0\ufffd" + ".\n ",y="For an equal distribution k has to be a multiple of (k+m)/l.",Z="K has to be equal to or greater than m in order to recover data correctly through c.",U="Distribution factor: \n " + "\ufffd0\ufffd" + "\n ",G="Ce champ est obligatoire !",H="Doit \xEAtre \xE9gal ou sup\xE9rieur \xE0 1.",z="Chunks (k+m) have exceeded the available OSDs of \n " + "\ufffd0\ufffd" + ".\n ",q="Estimateur de durabilit\xE9 (c)",X="Doit \xEAtre \xE9gal ou sup\xE9rieur \xE0 1.",Q="C has to be equal to or lower than m as m defines the amount of chunks that can be used.",w="Helper chunks (d)",J="Set d manually or use the plugin's default calculation that maximizes d.",k="D is automatically updated on k and m changes",V="D can be set from \n " + "\ufffd0\ufffd" + " to \n " + "\ufffd1\ufffd" + "\n ",Y="D can only be set to \n " + "\ufffd0\ufffd" + "\n ",B="D has to be greater than k (\n " + "\ufffd0\ufffd" + ").\n ",j="D has to be lower than k + m (\n " + "\ufffd0\ufffd" + ").\n ",K="Localit\xE9 (l)",N="Locality groups: \n " + "\ufffd0\ufffd" + "\n ",W="Ce champ est obligatoire !",ee="Doit \xEAtre \xE9gal ou sup\xE9rieur \xE0 1.",_e="Can't split up chunks (k+m) correctly with the current locality.",oe="Chargement...",te="Localit\xE9 Crush",ne="Chargement...",ie="Aucun",se="Scalar mds",ae="Technique",le="Taille de paquet",re="Doit \xEAtre \xE9gal ou sup\xE9rieur \xE0 1.",ce="Chargement...",[[3,"modalRef"],[1,"modal-title"],n,[1,"modal-content"],["novalidate","",3,"formGroup"],["frm","ngForm"],[1,"modal-body"],[1,"form-group","row"],["for","name",1,"cd-col-form-label"],_,[1,"cd-col-form-input"],["type","text","id","name","name","name","placeholder","Name...","formControlName","name","autofocus","",1,"form-control"],["class","invalid-feedback",4,"ngIf"],["for","plugin",1,"cd-col-form-label"],[1,"required"],o,[3,"html"],["id","plugin","name","plugin","formControlName","plugin",1,"form-select"],["ngValue","",4,"ngIf"],[3,"ngValue",4,"ngFor","ngForOf"],["for","k",1,"cd-col-form-label"],i,["type","number","id","k","name","k","ng-model","$ctrl.erasureCodeProfile.k","placeholder","Data chunks...","formControlName","k","min","2",1,"form-control"],["class","form-text text-muted",4,"ngIf"],["for","m",1,"cd-col-form-label"],s,["type","number","id","m","name","m","placeholder","Coding chunks...","formControlName","m","min","1",1,"form-control"],["class","form-group row",4,"ngIf"],["for","crushFailureDomain",1,"cd-col-form-label"],c,["id","crushFailureDomain","name","crushFailureDomain","formControlName","crushFailureDomain",1,"form-select"],["for","crushRoot",1,"cd-col-form-label"],d,["id","crushRoot","name","crushRoot","formControlName","crushRoot",1,"form-select"],["for","crushDeviceClass",1,"cd-col-form-label"],P,["id","crushDeviceClass","name","crushDeviceClass","formControlName","crushDeviceClass",1,"form-select"],["ngValue",""],p,[1,"form-text","text-muted"],R,["for","directory",1,"cd-col-form-label"],h,["type","text","id","directory","name","directory","placeholder","Path...","formControlName","directory",1,"form-control"],[1,"modal-footer"],[3,"form","submitText","submitActionEvent"],[1,"invalid-feedback"],S,m,u,A,[3,"ngValue"],$,I,D,x,y,Z,U,G,H,z,["for","c",1,"cd-col-form-label"],q,["type","number","id","c","name","c","placeholder","Coding chunks...","formControlName","c","min","1",1,"form-control"],X,Q,["for","d",1,"cd-col-form-label"],w,[1,"input-group"],["type","number","id","d","name","d","placeholder","Helper chunks...","formControlName","d",1,"form-control"],["id","d-calc-btn","ngbTooltip",J,"type","button",1,"btn","btn-light",3,"click"],["aria-hidden","true",3,"ngClass"],[4,"ngIf"],k,V,Y,B,j,["for","l",1,"cd-col-form-label"],K,["type","number","id","l","name","l","placeholder","Coding chunks...","formControlName","l","min","1",1,"form-control"],N,W,ee,_e,oe,["for","crushLocality",1,"cd-col-form-label"],te,["id","crushLocality","name","crushLocality","formControlName","crushLocality",1,"form-select"],ne,ie,["for","scalar_mds",1,"cd-col-form-label"],se,["id","scalar_mds","name","scalar_mds","formControlName","scalar_mds",1,"form-select"],["for","technique",1,"cd-col-form-label"],ae,["id","technique","name","technique","formControlName","technique",1,"form-select"],["for","packetSize",1,"cd-col-form-label"],le,["type","number","id","packetSize","name","packetSize","placeholder","Packetsize...","formControlName","packetSize","min","1",1,"form-control"],re,ce]},template:function(_,o){if(1&_&&(e.TgZ(0,"cd-modal",0),e.ynx(1,1),e.SDv(2,2),e.ALo(3,"titlecase"),e.ALo(4,"upperFirst"),e.BQk(),e.ynx(5,3),e.TgZ(6,"form",4,5)(8,"div",6)(9,"div",7)(10,"label",8),e.SDv(11,9),e.qZA(),e.TgZ(12,"div",10),e._UZ(13,"input",11),e.YNc(14,G_,2,0,"span",12),e.YNc(15,H_,2,0,"span",12),e.YNc(16,z_,2,0,"span",12),e.qZA()(),e.TgZ(17,"div",7)(18,"label",13)(19,"span",14),e.SDv(20,15),e.qZA(),e._UZ(21,"cd-helper",16),e.qZA(),e.TgZ(22,"div",10)(23,"select",17),e.YNc(24,q_,2,0,"option",18),e.YNc(25,X_,2,2,"option",19),e.qZA(),e.YNc(26,Q_,2,0,"span",12),e.qZA()(),e.TgZ(27,"div",7)(28,"label",20)(29,"span",14),e.SDv(30,21),e.qZA(),e._UZ(31,"cd-helper",16),e.qZA(),e.TgZ(32,"div",10),e._UZ(33,"input",22),e.YNc(34,w_,2,0,"span",12),e.YNc(35,J_,2,0,"span",12),e.YNc(36,k_,2,1,"span",12),e.YNc(37,V_,2,0,"span",12),e.YNc(38,Y_,2,0,"span",12),e.YNc(39,B_,2,1,"span",23),e.qZA()(),e.TgZ(40,"div",7)(41,"label",24)(42,"span",14),e.SDv(43,25),e.qZA(),e._UZ(44,"cd-helper",16),e.qZA(),e.TgZ(45,"div",10),e._UZ(46,"input",26),e.YNc(47,j_,2,0,"span",12),e.YNc(48,K_,2,0,"span",12),e.YNc(49,W_,2,1,"span",12),e.qZA()(),e.YNc(50,oo,9,3,"div",27),e.YNc(51,ro,14,6,"div",27),e.YNc(52,Po,12,5,"div",27),e.TgZ(53,"div",7)(54,"label",28),e.ynx(55),e.SDv(56,29),e.BQk(),e._UZ(57,"cd-helper",16),e.qZA(),e.TgZ(58,"div",10)(59,"select",30),e.YNc(60,fo,2,0,"option",18),e.YNc(61,Eo,2,3,"option",19),e.qZA()()(),e.YNc(62,mo,10,4,"div",27),e.YNc(63,Mo,8,6,"div",27),e.YNc(64,So,8,2,"div",27),e.YNc(65,Lo,8,2,"div",27),e.TgZ(66,"div",7)(67,"label",31),e.ynx(68),e.SDv(69,32),e.BQk(),e._UZ(70,"cd-helper",16),e.qZA(),e.TgZ(71,"div",10)(72,"select",33),e.YNc(73,Ao,2,0,"option",18),e.YNc(74,Fo,2,2,"option",19),e.qZA()()(),e.TgZ(75,"div",7)(76,"label",34),e.ynx(77),e.SDv(78,35),e.BQk(),e._UZ(79,"cd-helper",16),e.qZA(),e.TgZ(80,"div",10)(81,"select",36)(82,"option",37),e.SDv(83,38),e.qZA(),e.YNc(84,No,2,2,"option",19),e.qZA(),e.TgZ(85,"span",39),e.SDv(86,40),e.qZA()()(),e.TgZ(87,"div",7)(88,"label",41),e.ynx(89),e.SDv(90,42),e.BQk(),e._UZ(91,"cd-helper",16),e.qZA(),e.TgZ(92,"div",10),e._UZ(93,"input",43),e.qZA()()(),e.TgZ(94,"div",44)(95,"cd-form-button-panel",45),e.NdJ("submitActionEvent",function(){return o.onSubmit()}),e.ALo(96,"titlecase"),e.ALo(97,"upperFirst"),e.qZA()()(),e.BQk(),e.qZA()),2&_){const i=e.MAs(7);e.Q6J("modalRef",o.activeModal),e.xp6(4),e.pQV(e.lcZ(3,41,o.action))(e.lcZ(4,43,o.resource)),e.QtT(2),e.xp6(2),e.Q6J("formGroup",o.form),e.xp6(8),e.Q6J("ngIf",o.form.showError("name",i,"required")),e.xp6(1),e.Q6J("ngIf",o.form.showError("name",i,"pattern")),e.xp6(1),e.Q6J("ngIf",o.form.showError("name",i,"uniqueName")),e.xp6(5),e.Q6J("html",o.tooltips.plugins[o.plugin].description),e.xp6(3),e.Q6J("ngIf",!o.plugins),e.xp6(1),e.Q6J("ngForOf",o.plugins),e.xp6(1),e.Q6J("ngIf",o.form.showError("name",i,"required")),e.xp6(5),e.Q6J("html",o.tooltips.k),e.xp6(3),e.Q6J("ngIf",o.form.showError("k",i,"required")),e.xp6(1),e.Q6J("ngIf",o.form.showError("k",i,"min")),e.xp6(1),e.Q6J("ngIf",o.form.showError("k",i,"max")),e.xp6(1),e.Q6J("ngIf",o.form.showError("k",i,"unequal")),e.xp6(1),e.Q6J("ngIf",o.form.showError("k",i,"kLowerM")),e.xp6(1),e.Q6J("ngIf","lrc"===o.plugin),e.xp6(5),e.Q6J("html",o.tooltips.m),e.xp6(3),e.Q6J("ngIf",o.form.showError("m",i,"required")),e.xp6(1),e.Q6J("ngIf",o.form.showError("m",i,"min")),e.xp6(1),e.Q6J("ngIf",o.form.showError("m",i,"max")),e.xp6(1),e.Q6J("ngIf","shec"===o.plugin),e.xp6(1),e.Q6J("ngIf","clay"===o.plugin),e.xp6(1),e.Q6J("ngIf",o.plugin===o.PLUGIN.LRC),e.xp6(5),e.Q6J("html",o.tooltips.crushFailureDomain),e.xp6(3),e.Q6J("ngIf",!o.failureDomains),e.xp6(1),e.Q6J("ngForOf",o.failureDomainKeys),e.xp6(1),e.Q6J("ngIf",o.plugin===o.PLUGIN.LRC),e.xp6(1),e.Q6J("ngIf",o.PLUGIN.CLAY===o.plugin),e.xp6(1),e.Q6J("ngIf",e.kEZ(49,Ie,o.PLUGIN.JERASURE,o.PLUGIN.ISA,o.PLUGIN.CLAY).includes(o.plugin)),e.xp6(1),e.Q6J("ngIf",o.plugin===o.PLUGIN.JERASURE),e.xp6(5),e.Q6J("html",o.tooltips.crushRoot),e.xp6(3),e.Q6J("ngIf",!o.buckets),e.xp6(1),e.Q6J("ngForOf",o.buckets),e.xp6(5),e.Q6J("html",o.tooltips.crushDeviceClass),e.xp6(5),e.Q6J("ngForOf",o.devices),e.xp6(2),e.pQV(o.deviceCount),e.QtT(86),e.xp6(5),e.Q6J("html",o.tooltips.directory),e.xp6(4),e.Q6J("form",o.form)("submitText",e.lcZ(96,45,o.action)+" "+e.lcZ(97,47,o.resource))}},dependencies:[C.mk,C.sg,C.O5,Pe.S,$e.z,fe.p,Ee.U,ge.o,pe.b,Re.P,me.V,l._Y,l.YN,l.Kr,l.Fj,l.wV,l.EJ,l.JJ,l.JL,l.qQ,l.sg,l.u,f._L,C.rS,Ce.m]}),t})();var vo=r(7022);class $o{constructor(){this.erasureInfo=!1,this.crushInfo=!1,this.pgs=1,this.poolTypes=["erasure","replicated"],this.applications={selected:[],default:["cephfs","rbd","rgw"],available:[],validators:[l.kI.pattern("[A-Za-z0-9_]+"),l.kI.maxLength(128)],messages:new vo.a({empty:"No applications added",selectionLimit:{text:"Applications limit reached",tooltip:"A pool can only have up to four applications definitions."},customValidations:{pattern:"Allowed characters '_a-zA-Z0-9'",maxlength:"Maximum length is 128 characters"},filter:"Filter or add applications'",add:"Add application"})}}}var De=r(63285),xe=r(47640),Io=r(60192),Do=r(30490),ye=r(61350),xo=r(17932),yo=r(63622),Zo=r(60950);const Uo=["crushInfoTabs"],Go=["crushDeletionBtn"],Ho=["ecpInfoTabs"],zo=["ecpDeletionBtn"];function qo(t,n){1&t&&(e.TgZ(0,"span",41),e.SDv(1,42),e.qZA())}function Xo(t,n){1&t&&(e.TgZ(0,"span",41),e.SDv(1,43),e.qZA())}function Qo(t,n){1&t&&(e.TgZ(0,"span",41),e.SDv(1,44),e.qZA())}function wo(t,n){1&t&&(e.TgZ(0,"span",41),e.SDv(1,45),e.qZA())}function Jo(t,n){if(1&t&&(e.TgZ(0,"option",46),e._uU(1),e.qZA()),2&t){const _=n.$implicit;e.Q6J("value",_),e.xp6(1),e.hij(" ",_," ")}}function ko(t,n){1&t&&(e.TgZ(0,"span",41),e.SDv(1,47),e.qZA())}function Vo(t,n){if(1&t&&(e.TgZ(0,"option",46),e._uU(1),e.qZA()),2&t){const _=n.$implicit;e.Q6J("value",_),e.xp6(1),e.hij(" ",_," ")}}function Yo(t,n){1&t&&(e.TgZ(0,"span",41),e.SDv(1,58),e.qZA())}function Bo(t,n){1&t&&(e.TgZ(0,"span",41),e.SDv(1,59),e.qZA())}function jo(t,n){1&t&&(e.TgZ(0,"span",41),e.SDv(1,60),e.qZA())}function Ko(t,n){1&t&&(e.TgZ(0,"span",55),e.SDv(1,61),e.qZA())}function Wo(t,n){if(1&t){const _=e.EpF();e.TgZ(0,"div",8)(1,"label",52),e.SDv(2,53),e.qZA(),e.TgZ(3,"div",11)(4,"input",54),e.NdJ("focus",function(){e.CHM(_);const i=e.oxw(3);return e.KtG(i.externalPgChange=!1)})("blur",function(){e.CHM(_);const i=e.oxw(3);return e.KtG(i.alignPgs())}),e.qZA(),e.YNc(5,Yo,2,0,"span",13),e.YNc(6,Bo,2,0,"span",13),e.YNc(7,jo,2,0,"span",13),e.TgZ(8,"span",55),e._UZ(9,"cd-doc",56),e.qZA(),e.YNc(10,Ko,2,0,"span",57),e.qZA()()}if(2&t){e.oxw(2);const _=e.MAs(2),o=e.oxw();e.xp6(5),e.Q6J("ngIf",o.form.showError("pgNum",_,"required")),e.xp6(1),e.Q6J("ngIf",o.form.showError("pgNum",_,"min")),e.xp6(1),e.Q6J("ngIf",o.form.showError("pgNum",_,"34")),e.xp6(3),e.Q6J("ngIf",o.externalPgChange)}}function et(t,n){if(1&t&&(e.TgZ(0,"span",41)(1,"ul",66)(2,"li"),e.SDv(3,67),e.qZA(),e.TgZ(4,"li"),e.SDv(5,68),e.qZA()()()),2&t){const _=e.oxw(4);e.xp6(3),e.pQV(_.getMinSize()),e.QtT(3),e.xp6(2),e.pQV(_.getMaxSize()),e.QtT(5)}}function _t(t,n){if(1&t&&(e.TgZ(0,"span",41),e.SDv(1,69),e.qZA()),2&t){const _=e.oxw(4);e.xp6(1),e.pQV(_.getMinSize())(_.getMaxSize()),e.QtT(1)}}function ot(t,n){1&t&&(e.TgZ(0,"span",70),e.SDv(1,71),e.qZA())}function tt(t,n){if(1&t&&(e.TgZ(0,"div",8)(1,"label",62),e.SDv(2,63),e.qZA(),e.TgZ(3,"div",11),e._UZ(4,"input",64),e.YNc(5,et,6,2,"span",13),e.YNc(6,_t,2,2,"span",13),e.YNc(7,ot,2,0,"span",65),e.qZA()()),2&t){e.oxw(2);const _=e.MAs(2),o=e.oxw();e.xp6(4),e.Q6J("max",o.getMaxSize())("min",o.getMinSize()),e.xp6(1),e.Q6J("ngIf",o.form.showError("size",_)),e.xp6(1),e.Q6J("ngIf",o.form.showError("size",_)),e.xp6(1),e.Q6J("ngIf",1===o.form.getValue("size"))}}function nt(t,n){1&t&&(e.TgZ(0,"div",8)(1,"label",72),e.SDv(2,73),e.qZA(),e.TgZ(3,"div",11)(4,"div",74),e._UZ(5,"input",75),e.TgZ(6,"label",76),e.SDv(7,77),e.qZA()()()())}function it(t,n){if(1&t&&(e.TgZ(0,"div")(1,"div",8)(2,"label",48),e.SDv(3,49),e.qZA(),e.TgZ(4,"div",11)(5,"select",50),e.YNc(6,Vo,2,2,"option",19),e.qZA()()(),e.YNc(7,Wo,11,4,"div",51),e.YNc(8,tt,8,5,"div",51),e.YNc(9,nt,8,0,"div",51),e.qZA()),2&t){const _=e.oxw(2);e.xp6(6),e.Q6J("ngForOf",_.pgAutoscaleModes),e.xp6(1),e.Q6J("ngIf","on"!==_.form.getValue("pgAutoscaleMode")),e.xp6(1),e.Q6J("ngIf",_.isReplicated),e.xp6(1),e.Q6J("ngIf",_.info.is_all_bluestore&&_.isErasure)}}function st(t,n){if(1&t&&e._UZ(0,"i",78),2&t){const _=e.oxw(2);e.Gre("",_.icons.warning," icon-warning-color")}}function at(t,n){1&t&&(e.TgZ(0,"option",17),e.SDv(1,92),e.qZA())}function lt(t,n){1&t&&(e.TgZ(0,"option",93),e.SDv(1,94),e.qZA()),2&t&&e.Q6J("ngValue",null)}function rt(t,n){1&t&&(e.TgZ(0,"option",93),e.SDv(1,95),e.qZA()),2&t&&e.Q6J("ngValue",null)}function ct(t,n){if(1&t&&(e.TgZ(0,"option",93),e._uU(1),e.qZA()),2&t){const _=n.$implicit;e.Q6J("ngValue",_),e.xp6(1),e.hij(" ",_.name," ")}}const F=function(t){return[t]};function Ot(t,n){if(1&t){const _=e.EpF();e.TgZ(0,"button",96),e.NdJ("click",function(){e.CHM(_);const i=e.oxw(4);return e.KtG(i.addErasureCodeProfile())}),e._UZ(1,"i",88),e.qZA()}if(2&t){const _=e.oxw(4);e.xp6(1),e.Q6J("ngClass",e.VKq(1,F,_.icons.add))}}function dt(t,n){if(1&t){const _=e.EpF();e.TgZ(0,"button",97,98),e.NdJ("click",function(){e.CHM(_);const i=e.oxw(4);return e.KtG(i.deleteErasureCodeProfile())}),e._UZ(2,"i",88),e.qZA()}if(2&t){const _=e.oxw(4);e.xp6(2),e.Q6J("ngClass",e.VKq(1,F,_.icons.trash))}}const ut=function(){return["name"]};function Pt(t,n){if(1&t&&e._UZ(0,"cd-table-key-value",109),2&t){const _=e.oxw(5);e.Q6J("renderObjects",!0)("hideKeys",e.DdM(4,ut))("data",_.form.getValue("erasureProfile"))("autoReload",!1)}}function ft(t,n){1&t&&(e.TgZ(0,"span"),e.SDv(1,112),e.qZA())}function Et(t,n){if(1&t&&(e.TgZ(0,"li"),e._uU(1),e.qZA()),2&t){const _=n.$implicit;e.xp6(1),e.hij(" ",_," ")}}function gt(t,n){if(1&t&&(e.TgZ(0,"ul"),e.YNc(1,Et,2,1,"li",113),e.qZA()),2&t){const _=e.oxw(6);e.xp6(1),e.Q6J("ngForOf",_.ecpUsage)}}function pt(t,n){if(1&t&&(e.YNc(0,ft,2,0,"ng-template",null,110,e.W1O),e.YNc(2,gt,2,1,"ul",111)),2&t){const _=e.MAs(1),o=e.oxw(5);e.xp6(2),e.Q6J("ngIf",o.ecpUsage)("ngIfElse",_)}}function Rt(t,n){if(1&t&&(e.TgZ(0,"span",99)(1,"nav",100,101),e.ynx(3,102),e.TgZ(4,"a",103),e.SDv(5,104),e.qZA(),e.YNc(6,Pt,1,5,"ng-template",105),e.BQk(),e.ynx(7,106),e.TgZ(8,"a",103),e.SDv(9,107),e.qZA(),e.YNc(10,pt,3,2,"ng-template",105),e.BQk(),e.qZA(),e._UZ(11,"div",108),e.qZA()),2&t){const _=e.MAs(2);e.xp6(11),e.Q6J("ngbNavOutlet",_)}}const Ze=function(t){return{active:t}};function mt(t,n){if(1&t){const _=e.EpF();e.TgZ(0,"div",8)(1,"label",80),e.SDv(2,81),e.qZA(),e.TgZ(3,"div",11)(4,"div",82)(5,"select",83),e.YNc(6,at,2,0,"option",84),e.YNc(7,lt,2,1,"option",85),e.YNc(8,rt,2,1,"option",85),e.YNc(9,ct,2,2,"option",86),e.qZA(),e.TgZ(10,"button",87),e.NdJ("click",function(){e.CHM(_);const i=e.oxw(3);return e.KtG(i.data.erasureInfo=!i.data.erasureInfo)}),e._UZ(11,"i",88),e.qZA(),e.YNc(12,Ot,2,3,"button",89),e.YNc(13,dt,3,3,"button",90),e.qZA(),e.YNc(14,Rt,12,1,"span",91),e.qZA()()}if(2&t){const _=e.oxw(3);e.xp6(6),e.Q6J("ngIf",!_.ecProfiles),e.xp6(1),e.Q6J("ngIf",_.ecProfiles&&0===_.ecProfiles.length),e.xp6(1),e.Q6J("ngIf",_.ecProfiles&&_.ecProfiles.length>0),e.xp6(1),e.Q6J("ngForOf",_.ecProfiles),e.xp6(1),e.Q6J("ngClass",e.VKq(9,Ze,_.data.erasureInfo)),e.xp6(1),e.Q6J("ngClass",e.VKq(11,F,_.icons.questionCircle)),e.xp6(1),e.Q6J("ngIf",!_.editing),e.xp6(1),e.Q6J("ngIf",!_.editing),e.xp6(1),e.Q6J("ngIf",_.data.erasureInfo&&_.form.getValue("erasureProfile"))}}function Ct(t,n){1&t&&(e.TgZ(0,"div",8)(1,"label",114),e.SDv(2,115),e.qZA(),e.TgZ(3,"div",11)(4,"span",55),e.SDv(5,116),e.qZA()()())}function Mt(t,n){1&t&&(e.TgZ(0,"span",55)(1,"span"),e.SDv(2,119),e.qZA(),e._uU(3,"\xa0 "),e.qZA())}function ht(t,n){if(1&t&&(e.TgZ(0,"option",93),e._uU(1),e.qZA()),2&t){const _=n.$implicit;e.Q6J("ngValue",_),e.xp6(1),e.hij(" ",_.rule_name," ")}}function St(t,n){if(1&t){const _=e.EpF();e.TgZ(0,"button",96),e.NdJ("click",function(){e.CHM(_);const i=e.oxw(5);return e.KtG(i.addCrushRule())}),e._UZ(1,"i",88),e.qZA()}if(2&t){const _=e.oxw(5);e.xp6(1),e.Q6J("ngClass",e.VKq(1,F,_.icons.add))}}function Tt(t,n){if(1&t){const _=e.EpF();e.TgZ(0,"button",126,127),e.NdJ("click",function(){e.CHM(_);const i=e.oxw(5);return e.KtG(i.deleteCrushRule())}),e._UZ(2,"i",88),e.qZA()}if(2&t){const _=e.oxw(5);e.xp6(2),e.Q6J("ngClass",e.VKq(1,F,_.icons.trash))}}const Lt=function(){return["steps","type","rule_name"]};function At(t,n){if(1&t&&e._UZ(0,"cd-table-key-value",109),2&t){const _=e.oxw(6);e.Q6J("renderObjects",!1)("hideKeys",e.DdM(4,Lt))("data",_.form.getValue("crushRule"))("autoReload",!1)}}function Ft(t,n){if(1&t&&(e.TgZ(0,"li"),e._uU(1),e.qZA()),2&t){const _=n.$implicit,o=e.oxw(7);e.xp6(1),e.hij(" ",o.describeCrushStep(_)," ")}}function Nt(t,n){if(1&t&&(e.TgZ(0,"ol"),e.YNc(1,Ft,2,1,"li",113),e.qZA()),2&t){const _=e.oxw(6);e.xp6(1),e.Q6J("ngForOf",_.form.get("crushRule").value.steps)}}function bt(t,n){1&t&&(e.TgZ(0,"span"),e.SDv(1,136),e.qZA())}function vt(t,n){if(1&t&&(e.TgZ(0,"li"),e._uU(1),e.qZA()),2&t){const _=n.$implicit;e.xp6(1),e.hij(" ",_," ")}}function $t(t,n){if(1&t&&(e.TgZ(0,"ul"),e.YNc(1,vt,2,1,"li",113),e.qZA()),2&t){const _=e.oxw(7);e.xp6(1),e.Q6J("ngForOf",_.crushUsage)}}function It(t,n){if(1&t&&(e.YNc(0,bt,2,0,"ng-template",null,135,e.W1O),e.YNc(2,$t,2,1,"ul",111)),2&t){const _=e.MAs(1),o=e.oxw(6);e.xp6(2),e.Q6J("ngIf",o.crushUsage)("ngIfElse",_)}}function Dt(t,n){if(1&t&&(e.TgZ(0,"div",128)(1,"nav",100,129),e.ynx(3,130),e.TgZ(4,"a",103),e.SDv(5,131),e.qZA(),e.YNc(6,At,1,5,"ng-template",105),e.BQk(),e.ynx(7,132),e.TgZ(8,"a",103),e.SDv(9,133),e.qZA(),e.YNc(10,Nt,2,1,"ng-template",105),e.BQk(),e.ynx(11,106),e.TgZ(12,"a",103),e.SDv(13,134),e.qZA(),e.YNc(14,It,3,2,"ng-template",105),e.BQk(),e.qZA(),e._UZ(15,"div",108),e.qZA()),2&t){const _=e.MAs(2);e.xp6(15),e.Q6J("ngbNavOutlet",_)}}function xt(t,n){1&t&&(e.TgZ(0,"span",41),e.SDv(1,137),e.qZA())}function yt(t,n){1&t&&(e.TgZ(0,"span",41),e.SDv(1,138),e.qZA())}function Zt(t,n){if(1&t){const _=e.EpF();e.TgZ(0,"div")(1,"div",120)(2,"select",121)(3,"option",93),e.SDv(4,122),e.qZA(),e.YNc(5,ht,2,2,"option",86),e.qZA(),e.TgZ(6,"button",123),e.NdJ("click",function(){e.CHM(_);const i=e.oxw(4);return e.KtG(i.data.crushInfo=!i.data.crushInfo)}),e._UZ(7,"i",88),e.qZA(),e.YNc(8,St,2,3,"button",89),e.YNc(9,Tt,3,3,"button",124),e.qZA(),e.YNc(10,Dt,16,1,"div",125),e.YNc(11,xt,2,0,"span",13),e.YNc(12,yt,2,0,"span",13),e.qZA()}if(2&t){e.oxw(3);const _=e.MAs(2),o=e.oxw();e.xp6(3),e.Q6J("ngValue",null),e.xp6(2),e.Q6J("ngForOf",o.current.rules),e.xp6(1),e.Q6J("ngClass",e.VKq(9,Ze,o.data.crushInfo)),e.xp6(1),e.Q6J("ngClass",e.VKq(11,F,o.icons.questionCircle)),e.xp6(1),e.Q6J("ngIf",o.isReplicated&&!o.editing),e.xp6(1),e.Q6J("ngIf",o.isReplicated&&!o.editing),e.xp6(1),e.Q6J("ngIf",o.data.crushInfo&&o.form.getValue("crushRule")),e.xp6(1),e.Q6J("ngIf",o.form.showError("crushRule",_,"required")),e.xp6(1),e.Q6J("ngIf",o.form.showError("crushRule",_,"tooFewOsds"))}}function Ut(t,n){if(1&t&&(e.TgZ(0,"div",8)(1,"label",114),e.SDv(2,117),e.qZA(),e.TgZ(3,"div",11),e.YNc(4,Mt,4,0,"ng-template",null,118,e.W1O),e.YNc(6,Zt,13,13,"div",111),e.qZA()()),2&t){const _=e.MAs(5),o=e.oxw(3);e.xp6(6),e.Q6J("ngIf",o.current.rules.length>0)("ngIfElse",_)}}function Gt(t,n){if(1&t&&(e.TgZ(0,"div")(1,"legend"),e.SDv(2,79),e.qZA(),e.YNc(3,mt,15,13,"div",51),e.YNc(4,Ct,6,0,"div",51),e.YNc(5,Ut,7,2,"div",51),e.qZA()),2&t){const _=e.oxw(2);e.xp6(3),e.Q6J("ngIf",_.isErasure),e.xp6(1),e.Q6J("ngIf",_.isErasure&&!_.editing),e.xp6(1),e.Q6J("ngIf",_.isReplicated||_.editing)}}function Ht(t,n){if(1&t&&(e.TgZ(0,"option",46),e._uU(1),e.qZA()),2&t){const _=n.$implicit;e.Q6J("value",_),e.xp6(1),e.hij(" ",_," ")}}function zt(t,n){1&t&&(e.TgZ(0,"option",17),e.SDv(1,156),e.qZA())}function qt(t,n){1&t&&(e.TgZ(0,"option",17),e.SDv(1,157),e.qZA())}function Xt(t,n){if(1&t&&(e.TgZ(0,"option",46),e._uU(1),e.qZA()),2&t){const _=n.$implicit;e.Q6J("value",_),e.xp6(1),e.hij(" ",_," ")}}function Qt(t,n){1&t&&(e.TgZ(0,"span",41),e.SDv(1,158),e.qZA())}function wt(t,n){1&t&&(e.TgZ(0,"span",41),e.SDv(1,159),e.qZA())}function Jt(t,n){1&t&&(e.TgZ(0,"span",41),e.SDv(1,160),e.qZA())}function kt(t,n){1&t&&(e.TgZ(0,"span",41),e.SDv(1,161),e.qZA())}function Vt(t,n){1&t&&(e.TgZ(0,"span",41),e.SDv(1,162),e.qZA())}function Yt(t,n){1&t&&(e.TgZ(0,"span",41),e.SDv(1,163),e.qZA())}function Bt(t,n){1&t&&(e.TgZ(0,"span",41),e.SDv(1,164),e.qZA())}function jt(t,n){if(1&t&&(e.TgZ(0,"div")(1,"div",8)(2,"label",144),e.SDv(3,145),e.qZA(),e.TgZ(4,"div",11)(5,"select",146),e.YNc(6,zt,2,0,"option",84),e.YNc(7,qt,2,0,"option",84),e.YNc(8,Xt,2,2,"option",19),e.qZA()()(),e.TgZ(9,"div",8)(10,"label",147),e.SDv(11,148),e.qZA(),e.TgZ(12,"div",11),e._UZ(13,"input",149),e.YNc(14,Qt,2,0,"span",13),e.YNc(15,wt,2,0,"span",13),e.YNc(16,Jt,2,0,"span",13),e.qZA()(),e.TgZ(17,"div",8)(18,"label",150),e.SDv(19,151),e.qZA(),e.TgZ(20,"div",11),e._UZ(21,"input",152),e.YNc(22,kt,2,0,"span",13),e.YNc(23,Vt,2,0,"span",13),e.YNc(24,Yt,2,0,"span",13),e.qZA()(),e.TgZ(25,"div",8)(26,"label",153),e.SDv(27,154),e.qZA(),e.TgZ(28,"div",11),e._UZ(29,"input",155),e.YNc(30,Bt,2,0,"span",13),e.qZA()()()),2&t){e.oxw(2);const _=e.MAs(2),o=e.oxw();e.xp6(6),e.Q6J("ngIf",!o.info.compression_algorithms),e.xp6(1),e.Q6J("ngIf",o.info.compression_algorithms&&0===o.info.compression_algorithms.length),e.xp6(1),e.Q6J("ngForOf",o.info.compression_algorithms),e.xp6(6),e.Q6J("ngIf",o.form.showError("minBlobSize",_,"min")),e.xp6(1),e.Q6J("ngIf",o.form.showError("minBlobSize",_,"maximum")),e.xp6(1),e.Q6J("ngIf",o.form.showError("minBlobSize",_,"pattern")),e.xp6(6),e.Q6J("ngIf",o.form.showError("maxBlobSize",_,"min")),e.xp6(1),e.Q6J("ngIf",o.form.showError("maxBlobSize",_,"minimum")),e.xp6(1),e.Q6J("ngIf",o.form.showError("maxBlobSize",_,"pattern")),e.xp6(6),e.Q6J("ngIf",o.form.showError("ratio",_,"min")||o.form.showError("ratio",_,"max"))}}function Kt(t,n){if(1&t&&(e.TgZ(0,"div",139)(1,"legend"),e.SDv(2,140),e.qZA(),e.TgZ(3,"div",8)(4,"label",141),e.SDv(5,142),e.qZA(),e.TgZ(6,"div",11)(7,"select",143),e.YNc(8,Ht,2,2,"option",19),e.qZA()()(),e.YNc(9,jt,31,10,"div",20),e.qZA()),2&t){const _=e.oxw(2);e.xp6(8),e.Q6J("ngForOf",_.info.compression_modes),e.xp6(1),e.Q6J("ngIf",_.hasCompressionEnabled())}}function Wt(t,n){1&t&&(e.TgZ(0,"span",41),e.SDv(1,165),e.qZA())}function en(t,n){1&t&&(e.TgZ(0,"span",41),e.SDv(1,166),e.qZA())}function _n(t,n){if(1&t){const _=e.EpF();e.TgZ(0,"div",1)(1,"form",2,3)(3,"div",4)(4,"div",5),e.SDv(5,6),e.ALo(6,"titlecase"),e.ALo(7,"upperFirst"),e.qZA(),e.TgZ(8,"div",7)(9,"div",8)(10,"label",9),e.SDv(11,10),e.qZA(),e.TgZ(12,"div",11),e._UZ(13,"input",12),e.YNc(14,qo,2,0,"span",13),e.YNc(15,Xo,2,0,"span",13),e.YNc(16,Qo,2,0,"span",13),e.YNc(17,wo,2,0,"span",13),e.qZA()(),e.TgZ(18,"div",8)(19,"label",14),e.SDv(20,15),e.qZA(),e.TgZ(21,"div",11)(22,"select",16)(23,"option",17),e.SDv(24,18),e.qZA(),e.YNc(25,Jo,2,2,"option",19),e.qZA(),e.YNc(26,ko,2,0,"span",13),e.qZA()(),e.YNc(27,it,10,4,"div",20),e.TgZ(28,"div",8)(29,"label",21),e.SDv(30,22),e.qZA(),e.TgZ(31,"div",11)(32,"cd-select-badges",23),e.NdJ("selection",function(){e.CHM(_);const i=e.oxw();return e.KtG(i.appSelection())}),e.qZA(),e.YNc(33,st,1,3,"i",24),e.qZA()(),e.YNc(34,Gt,6,3,"div",20),e.YNc(35,Kt,10,2,"div",25),e.TgZ(36,"div")(37,"legend"),e.SDv(38,26),e.qZA(),e.TgZ(39,"div",8)(40,"label",27),e.ynx(41),e.SDv(42,28),e.BQk(),e.TgZ(43,"cd-helper")(44,"span"),e.SDv(45,29),e.qZA(),e._UZ(46,"br"),e.TgZ(47,"span"),e.SDv(48,30),e.qZA()()(),e.TgZ(49,"div",11),e._UZ(50,"input",31),e.YNc(51,Wt,2,0,"span",13),e.qZA()(),e.TgZ(52,"div",8)(53,"label",32),e.ynx(54),e.SDv(55,33),e.BQk(),e.TgZ(56,"cd-helper")(57,"span"),e.SDv(58,34),e.qZA(),e._UZ(59,"br"),e.TgZ(60,"span"),e.SDv(61,35),e.qZA()()(),e.TgZ(62,"div",11),e._UZ(63,"input",36),e.YNc(64,en,2,0,"span",13),e.qZA()()(),e.TgZ(65,"div",37)(66,"cd-rbd-configuration-form",38),e.NdJ("changes",function(i){e.CHM(_);const s=e.oxw();return e.KtG(s.currentConfigurationValues=i())}),e.qZA()()(),e.TgZ(67,"div",39)(68,"cd-form-button-panel",40),e.NdJ("submitActionEvent",function(){e.CHM(_);const i=e.oxw();return e.KtG(i.submit())}),e.ALo(69,"titlecase"),e.ALo(70,"upperFirst"),e.qZA()()()()()}if(2&t){const _=e.MAs(2),o=e.oxw();e.xp6(1),e.Q6J("formGroup",o.form),e.xp6(6),e.pQV(e.lcZ(6,26,o.action))(e.lcZ(7,28,o.resource)),e.QtT(5),e.xp6(7),e.Q6J("ngIf",o.form.showError("name",_,"required")),e.xp6(1),e.Q6J("ngIf",o.form.showError("name",_,"uniqueName")),e.xp6(1),e.Q6J("ngIf",o.form.showError("name",_,"rbdPool")),e.xp6(1),e.Q6J("ngIf",o.form.showError("name",_,"pattern")),e.xp6(8),e.Q6J("ngForOf",o.data.poolTypes),e.xp6(1),e.Q6J("ngIf",o.form.showError("poolType",_,"required")),e.xp6(1),e.Q6J("ngIf",o.isReplicated||o.isErasure),e.xp6(5),e.Q6J("customBadges",!0)("customBadgeValidators",o.data.applications.validators)("messages",o.data.applications.messages)("data",o.data.applications.selected)("options",o.data.applications.available)("selectionLimit",4),e.xp6(1),e.Q6J("ngIf",o.data.applications.selected<=0),e.xp6(1),e.Q6J("ngIf",o.isErasure||o.isReplicated),e.xp6(1),e.Q6J("ngIf",o.info.is_all_bluestore),e.xp6(16),e.Q6J("ngIf",o.form.showError("max_bytes",_,"pattern")),e.xp6(13),e.Q6J("ngIf",o.form.showError("max_objects",_,"min")),e.xp6(1),e.Q6J("hidden",o.isErasure||-1===o.data.applications.selected.indexOf("rbd")),e.xp6(1),e.Q6J("form",o.form)("initializeData",o.initializeConfigData),e.xp6(2),e.Q6J("form",o.form)("submitText",e.lcZ(69,30,o.action)+" "+e.lcZ(70,32,o.resource))}}let Ue=(()=>{class t extends M_.E{constructor(_,o,i,s,c,d,P,p,R,h,S){super(),this.dimlessBinaryPipe=_,this.route=o,this.router=i,this.modalService=s,this.poolService=c,this.authStorageService=d,this.formatter=P,this.taskWrapper=p,this.ecpService=R,this.crushRuleService=h,this.actionLabels=S,this.editing=!1,this.isReplicated=!1,this.isErasure=!1,this.data=new $o,this.externalPgChange=!1,this.current={rules:[]},this.initializeConfigData=new R_.t(1),this.currentConfigurationValues={},this.icons=b.P,this.crushUsage=void 0,this.ecpUsage=void 0,this.crushRuleMaxSize=10,this.editing=this.router.url.startsWith(`/pool/${M.MQ.EDIT}`),this.action=this.editing?this.actionLabels.EDIT:this.actionLabels.CREATE,this.resource="pool",this.authenticate(),this.createForm()}authenticate(){if(this.permission=this.authStorageService.getPermissions().pool,!this.permission.read||!this.permission.update&&this.editing||!this.permission.create&&!this.editing)throw new m_._2}createForm(){const _=new Ne.d({mode:new l.p4("none"),algorithm:new l.p4(""),minBlobSize:new l.p4("",{updateOn:"blur"}),maxBlobSize:new l.p4("",{updateOn:"blur"}),ratio:new l.p4("",{updateOn:"blur"})});this.form=new Ne.d({name:new l.p4("",{validators:[l.kI.pattern(/^[.A-Za-z0-9_/-]+$/),l.kI.required,E.h.custom("rbdPool",()=>this.form&&this.form.getValue("name").includes("/")&&this.data&&-1!==this.data.applications.selected.indexOf("rbd"))]}),poolType:new l.p4("",{validators:[l.kI.required]}),crushRule:new l.p4(null,{validators:[E.h.custom("tooFewOsds",o=>this.info&&o&&this.info.osd_count<1),E.h.custom("required",o=>this.isReplicated&&this.info.crush_rules_replicated.length>0&&!o)]}),size:new l.p4("",{updateOn:"blur"}),erasureProfile:new l.p4(null),pgNum:new l.p4("",{validators:[l.kI.required]}),pgAutoscaleMode:new l.p4(null),ecOverwrites:new l.p4(!1),compression:_,max_bytes:new l.p4(""),max_objects:new l.p4(0)},[E.h.custom("form",()=>null)])}ngOnInit(){this.poolService.getInfo().subscribe(_=>{this.initInfo(_),this.editing?this.initEditMode():(this.setAvailableApps(),this.loadingReady()),this.listenToChanges(),this.setComplexValidators()})}initInfo(_){this.pgAutoscaleModes=_.pg_autoscale_modes,this.form.silentSet("pgAutoscaleMode",_.pg_autoscale_default_mode),this.form.silentSet("algorithm",_.bluestore_compression_algorithm),this.info=_,this.initEcp(_.erasure_code_profiles)}initEcp(_){this.setListControlStatus("erasureProfile",_),this.ecProfiles=_}setListControlStatus(_,o){const i=this.form.get(_),s=i.value;1!==o.length||s&&g().isEqual(s,o[0])?0===o.length&&s&&i.setValue(null):i.setValue(o[0]),o.length<=1?i.enabled&&i.disable():i.disabled&&i.enable()}initEditMode(){this.disableForEdit(),this.routeParamsSubscribe=this.route.params.subscribe(_=>this.poolService.get(_.name).subscribe(o=>{this.data.pool=o,this.initEditFormData(o),this.loadingReady()}))}disableForEdit(){["poolType","crushRule","size","erasureProfile","ecOverwrites"].forEach(_=>this.form.get(_).disable())}initEditFormData(_){this.initializeConfigData.next({initialData:_.configuration,sourceType:h_.h.pool}),this.poolTypeChange(_.type);const o=this.info.crush_rules_replicated.concat(this.info.crush_rules_erasure),i={name:_.pool_name,poolType:_.type,crushRule:o.find(s=>s.rule_name===_.crush_rule),size:_.size,erasureProfile:this.ecProfiles.find(s=>s.name===_.erasure_code_profile),pgAutoscaleMode:_.pg_autoscale_mode,pgNum:_.pg_num,ecOverwrites:_.flags_names.includes("ec_overwrites"),mode:_.options.compression_mode,algorithm:_.options.compression_algorithm,minBlobSize:this.dimlessBinaryPipe.transform(_.options.compression_min_blob_size),maxBlobSize:this.dimlessBinaryPipe.transform(_.options.compression_max_blob_size),ratio:_.options.compression_required_ratio,max_bytes:this.dimlessBinaryPipe.transform(_.quota_max_bytes),max_objects:_.quota_max_objects};Object.keys(i).forEach(s=>{const c=i[s];!g().isUndefined(c)&&""!==c&&this.form.silentSet(s,c)}),this.data.pgs=this.form.getValue("pgNum"),this.setAvailableApps(this.data.applications.default.concat(_.application_metadata)),this.data.applications.selected=_.application_metadata}setAvailableApps(_=this.data.applications.default){this.data.applications.available=g().uniq(_.sort()).map(o=>new C_.$(!1,o,""))}listenToChanges(){this.listenToChangesDuringAddEdit(),this.editing||this.listenToChangesDuringAdd()}listenToChangesDuringAddEdit(){this.form.get("pgNum").valueChanges.subscribe(_=>{const o=_-this.data.pgs;1===Math.abs(o)&&2!==_?this.doPgPowerJump(o):this.data.pgs=_})}doPgPowerJump(_){const o=this.calculatePgPower()+_;this.setPgs(-1===_?Math.round(o):Math.floor(o))}calculatePgPower(_=this.form.getValue("pgNum")){return Math.log(_)/Math.log(2)}setPgs(_){const o=Math.pow(2,_<0?0:_);this.data.pgs=o,this.form.silentSet("pgNum",o)}listenToChangesDuringAdd(){this.form.get("poolType").valueChanges.subscribe(_=>{this.poolTypeChange(_)}),this.form.get("crushRule").valueChanges.subscribe(_=>{this.crushDeletionBtn&&this.crushDeletionBtn.isOpen()&&this.crushDeletionBtn.close(),_&&(this.setCorrectMaxSize(_),this.crushRuleIsUsedBy(_.rule_name),this.replicatedRuleChange(),this.pgCalc())}),this.form.get("size").valueChanges.subscribe(()=>{this.pgCalc()}),this.form.get("erasureProfile").valueChanges.subscribe(_=>{this.ecpDeletionBtn&&this.ecpDeletionBtn.isOpen()&&this.ecpDeletionBtn.close(),_&&(this.ecpIsUsedBy(_.name),this.pgCalc())}),this.form.get("mode").valueChanges.subscribe(()=>{["minBlobSize","maxBlobSize","ratio"].forEach(_=>{this.form.get(_).updateValueAndValidity({emitEvent:!1})})}),this.form.get("minBlobSize").valueChanges.subscribe(()=>{this.form.get("maxBlobSize").updateValueAndValidity({emitEvent:!1})}),this.form.get("maxBlobSize").valueChanges.subscribe(()=>{this.form.get("minBlobSize").updateValueAndValidity({emitEvent:!1})})}poolTypeChange(_){if("replicated"===_?this.setTypeBooleans(!0,!1):this.setTypeBooleans(!1,"erasure"===_),!_||!this.info)return void(this.current.rules=[]);const o=this.info["crush_rules_"+_]||[];this.current.rules=o,!this.editing&&(this.isReplicated&&this.setListControlStatus("crushRule",o),this.replicatedRuleChange(),this.pgCalc())}setTypeBooleans(_,o){this.isReplicated=_,this.isErasure=o}replicatedRuleChange(){if(!this.isReplicated)return;const _=this.form.get("size");let o=this.form.getValue("size")||3;const i=this.getMinSize(),s=this.getMaxSize();os&&(o=s),o!==_.value&&this.form.silentSet("size",o)}getMinSize(){return!this.info||this.info.osd_count<1?0:1}getMaxSize(){const _=this.form.getValue("crushRule");return this.info?_?_.usable_size:Math.min(this.info.osd_count,3):0}pgCalc(){const _=this.form.getValue("poolType");if(!this.info||this.form.get("pgNum").dirty||!_)return;const o=100*this.info.osd_count,i=this.isReplicated?this.replicatedPgCalc(o):this.erasurePgCalc(o);if(!i)return;const s=this.data.pgs;this.alignPgs(i),this.externalPgChange||(this.externalPgChange=s!==this.data.pgs)}setCorrectMaxSize(_=this.form.getValue("crushRule")){if(!_)return;const i=T.searchFailureDomains(this.info.nodes,_.steps[0].item_name)[_.steps[1].type];_.usable_size=Math.min(i?i.length:this.crushRuleMaxSize,this.crushRuleMaxSize)}replicatedPgCalc(_){const o=this.form.get("size"),i=o.value;return o.valid&&i>0?_/i:0}erasurePgCalc(_){const o=this.form.get("erasureProfile"),i=o.value;return(o.valid||o.disabled)&&i?_/(i.k+i.m):0}alignPgs(_=this.form.getValue("pgNum")){this.setPgs(Math.round(this.calculatePgPower(_<1?1:_)))}setComplexValidators(){this.editing?this.form.get("name").setValidators([this.form.get("name").validator,E.h.custom("uniqueName",_=>this.data.pool&&this.info&&-1!==this.info.pool_names.indexOf(_)&&this.info.pool_names.indexOf(_)!==this.info.pool_names.indexOf(this.data.pool.pool_name))]):(E.h.validateIf(this.form.get("size"),()=>this.isReplicated,[E.h.custom("min",_=>this.form.getValue("size")&&_this.form.getValue("size")&&this.getMaxSize()<_)]),this.form.get("name").setValidators([this.form.get("name").validator,E.h.custom("uniqueName",_=>this.info&&-1!==this.info.pool_names.indexOf(_))])),this.setCompressionValidators()}setCompressionValidators(){E.h.validateIf(this.form.get("minBlobSize"),()=>this.hasCompressionEnabled(),[l.kI.min(0),E.h.custom("maximum",_=>this.oddBlobSize(_,this.form.getValue("maxBlobSize")))]),E.h.validateIf(this.form.get("maxBlobSize"),()=>this.hasCompressionEnabled(),[l.kI.min(0),E.h.custom("minimum",_=>this.oddBlobSize(this.form.getValue("minBlobSize"),_))]),E.h.validateIf(this.form.get("ratio"),()=>this.hasCompressionEnabled(),[l.kI.min(0),l.kI.max(1)])}oddBlobSize(_,o){const i=this.formatter.toBytes(_),s=this.formatter.toBytes(o);return Boolean(i&&s&&i>=s)}hasCompressionEnabled(){return this.form.getValue("mode")&&"none"!==this.form.get("mode").value.toLowerCase()}describeCrushStep(_){return[_.op.replace("_"," "),_.item_name||"",_.type?_.num+" type "+_.type:""].join(" ")}addErasureCodeProfile(){this.addModal(bo,_=>this.reloadECPs(_))}addModal(_,o){this.hideOpenTooltips(),this.modalService.show(_).componentInstance.submitAction.subscribe(s=>{o(s.name)})}hideOpenTooltips(){const _=o=>o&&o.isOpen()&&o.close();_(this.ecpDeletionBtn),_(this.crushDeletionBtn)}reloadECPs(_){this.reloadList({newItemName:_,getInfo:()=>this.ecpService.list(),initInfo:o=>this.initEcp(o),findNewItem:()=>this.ecProfiles.find(o=>o.name===_),controlName:"erasureProfile"})}reloadList({newItemName:_,getInfo:o,initInfo:i,findNewItem:s,controlName:c}){this.modalSubscription&&this.modalSubscription.unsubscribe(),o().subscribe(d=>{if(i(d),!_)return;const P=s();P&&this.form.get(c).setValue(P)})}deleteErasureCodeProfile(){this.deletionModal({value:this.form.getValue("erasureProfile"),usage:this.ecpUsage,deletionBtn:this.ecpDeletionBtn,dataName:"erasureInfo",getTabs:()=>this.ecpInfoTabs,tabPosition:"used-by-pools",nameAttribute:"name",itemDescription:"erasure code profile",reloadFn:()=>this.reloadECPs(),deleteFn:_=>this.ecpService.delete(_),taskName:"ecp/delete"})}deletionModal({value:_,usage:o,deletionBtn:i,dataName:s,getTabs:c,tabPosition:d,nameAttribute:P,itemDescription:p,reloadFn:R,deleteFn:h,taskName:S}){if(!_)return;if(o)return i.animation=!1,i.toggle(),this.data[s]=!0,void setTimeout(()=>{const u=c();u&&u.select(d)},50);const m=_[P];this.modalService.show(Fe.M,{itemDescription:p,itemNames:[m],submitActionObservable:()=>{const u=h(m);return u.subscribe(()=>R()),this.taskWrapper.wrapTaskAroundCall({task:new v.R(S,{name:m}),call:u})}})}addCrushRule(){this.addModal(y_,_=>this.reloadCrushRules(_))}reloadCrushRules(_){this.reloadList({newItemName:_,getInfo:()=>this.poolService.getInfo(),initInfo:o=>{this.initInfo(o),this.poolTypeChange("replicated")},findNewItem:()=>this.info.crush_rules_replicated.find(o=>o.rule_name===_),controlName:"crushRule"})}deleteCrushRule(){this.deletionModal({value:this.form.getValue("crushRule"),usage:this.crushUsage,deletionBtn:this.crushDeletionBtn,dataName:"crushInfo",getTabs:()=>this.crushInfoTabs,tabPosition:"used-by-pools",nameAttribute:"rule_name",itemDescription:"crush rule",reloadFn:()=>this.reloadCrushRules(),deleteFn:_=>this.crushRuleService.delete(_),taskName:"crushRule/delete"})}crushRuleIsUsedBy(_){this.crushUsage=_?this.info.used_rules[_]:void 0}ecpIsUsedBy(_){this.ecpUsage=_?this.info.used_profiles[_]:void 0}submit(){if(this.form.invalid)return void this.form.setErrors({cdSubmitButton:!0});const _={pool:this.form.getValue("name")};this.assignFormFields(_,[{externalFieldName:"pool_type",formControlName:"poolType"},{externalFieldName:"pg_autoscale_mode",formControlName:"pgAutoscaleMode",editable:!0},{externalFieldName:"pg_num",formControlName:"pgNum",replaceFn:i=>"on"===this.form.getValue("pgAutoscaleMode")?1:i,editable:!0},this.isReplicated?{externalFieldName:"size",formControlName:"size"}:{externalFieldName:"erasure_code_profile",formControlName:"erasureProfile",attr:"name"},{externalFieldName:"rule_name",formControlName:"crushRule",replaceFn:i=>this.isReplicated?i&&i.rule_name:void 0},{externalFieldName:"quota_max_bytes",formControlName:"max_bytes",replaceFn:this.formatter.toBytes,editable:!0,resetValue:this.editing?0:void 0},{externalFieldName:"quota_max_objects",formControlName:"max_objects",editable:!0,resetValue:this.editing?0:void 0}]),this.info.is_all_bluestore&&(this.assignFormField(_,{externalFieldName:"flags",formControlName:"ecOverwrites",replaceFn:()=>this.isErasure?["ec_overwrites"]:void 0}),"none"!==this.form.getValue("mode")?this.assignFormFields(_,[{externalFieldName:"compression_mode",formControlName:"mode",editable:!0,replaceFn:i=>this.hasCompressionEnabled()&&i},{externalFieldName:"compression_algorithm",formControlName:"algorithm",editable:!0},{externalFieldName:"compression_min_blob_size",formControlName:"minBlobSize",replaceFn:this.formatter.toBytes,editable:!0,resetValue:0},{externalFieldName:"compression_max_blob_size",formControlName:"maxBlobSize",replaceFn:this.formatter.toBytes,editable:!0,resetValue:0},{externalFieldName:"compression_required_ratio",formControlName:"ratio",editable:!0,resetValue:0}]):this.editing&&this.assignFormFields(_,[{externalFieldName:"compression_mode",formControlName:"mode",editable:!0,replaceFn:()=>"unset"},{externalFieldName:"srcpool",formControlName:"name",editable:!0,replaceFn:()=>this.data.pool.pool_name}]));const o=this.data.applications.selected;(o.length>0||this.editing)&&(_.application_metadata=o),this.isReplicated&&!g().isEmpty(this.currentConfigurationValues)&&(_.configuration=this.currentConfigurationValues),this.triggerApiTask(_)}assignFormFields(_,o){o.forEach(i=>this.assignFormField(_,i))}assignFormField(_,{externalFieldName:o,formControlName:i,attr:s,replaceFn:c,editable:d,resetValue:P}){if(this.editing&&(!d||this.form.get(i).pristine))return;const p=this.form.getValue(i);let R=c?c(p):s?g().get(p,s):p;if(!p||!R){if(!d||g().isUndefined(P))return;R=P}_[o]=R}triggerApiTask(_){this.taskWrapper.wrapTaskAroundCall({task:new v.R("pool/"+(this.editing?M.MQ.EDIT:M.MQ.CREATE),{pool_name:_.hasOwnProperty("srcpool")?_.srcpool:_.pool}),call:this.poolService[this.editing?M.MQ.UPDATE:M.MQ.CREATE](_)}).subscribe({error:o=>{g().isObject(o.error)&&"34"===o.error.code&&this.form.get("pgNum").setErrors({34:!0}),this.form.setErrors({cdSubmitButton:!0})},complete:()=>this.router.navigate(["/pool"])})}appSelection(){this.form.get("name").updateValueAndValidity({emitEvent:!1,onlySelf:!0})}}return t.\u0275fac=function(_){return new(_||t)(e.Y36(S_.$),e.Y36(Oe.gz),e.Y36(Oe.F0),e.Y36(De.Z),e.Y36(ue.q),e.Y36(xe.j),e.Y36(T_.H),e.Y36(de.P),e.Y36(Me),e.Y36(ve.H),e.Y36(M.p4))},t.\u0275cmp=e.Xpm({type:t,selectors:[["cd-pool-form"]],viewQuery:function(_,o){if(1&_&&(e.Gf(Uo,5),e.Gf(Go,5),e.Gf(Ho,5),e.Gf(zo,5)),2&_){let i;e.iGM(i=e.CRH())&&(o.crushInfoTabs=i.first),e.iGM(i=e.CRH())&&(o.crushDeletionBtn=i.first),e.iGM(i=e.CRH())&&(o.ecpInfoTabs=i.first),e.iGM(i=e.CRH())&&(o.ecpDeletionBtn=i.first)}},features:[e.qOj],decls:1,vars:1,consts:function(){let n,_,o,i,s,c,d,P,p,R,h,S,m,u,A,$,I,D,x,y,Z,U,G,H,z,q,X,Q,w,J,k,V,Y,B,j,K,N,W,ee,_e,oe,te,ne,ie,se,ae,le,re,ce,O,Xe,Qe,we,Je,ke,Ve,Ye,Be,je,Ke,We,e_,__,o_,t_,n_,i_,s_,a_,l_,r_,c_,O_,d_,u_,P_;return n="\n " + "\ufffd0\ufffd" + "\n " + "\ufffd1\ufffd" + "\n ",_="Name",o="Nom...",i="Type de r\xE9serve",s="-- S\xE9lectionner un type de r\xE9serve --",c="Applications",d="Pools should be associated with an application tag",P="Quotas",p="Max bytes",R="Leave it blank or specify 0 to disable this quota.",h="A valid quota should be greater than 0.",S="par exemple, 10 Gio",m="Max objects",u="Leave it blank or specify 0 to disable this quota.",A="A valid quota should be greater than 0.",$="Ce champ est obligatoire !",I="Le nom de r\xE9serve Ceph s\xE9lectionn\xE9 est d\xE9j\xE0 utilis\xE9.",D="It's not possible to create an RBD pool with '/' in the name. Please change the name or remove 'rbd' from the applications list.",x="Pool name can only contain letters, numbers, '.', '-', '_' or '/'.",y="Ce champ est obligatoire !",Z="PG Autoscale",U="Groupes de placements",G="Aide au calcul",H="Ce champ est obligatoire !",z="Au moins un groupe de placements est n\xE9cessaire.",q="Votre grappe ne peut pas g\xE9rer autant de groupes de placements. Veuillez recalculer le nombre de groupes de placements n\xE9cessaires.",X="The current PGs settings were calculated for you, you should make sure the values suit your needs before submit.",Q="Taille de r\xE9plication",w="Minimum: \n " + "\ufffd0\ufffd" + "\n ",J="Maximum: \n " + "\ufffd0\ufffd" + "\n ",k="The size specified is out of range. A value from \n " + "\ufffd0\ufffd" + " to \n " + "\ufffd1\ufffd" + " is usable.\n ",V="A size of 1 will not create a replication of the object. The 'Replicated size' includes the object itself.",Y="Flags",B="\xC9crasements EC",j="CRUSH",K="Profil de code d'effacement",N="This profile can't be deleted as it is in use.",W="Chargement...",ee="-- Aucun profil de code d'effacement n'est disponible --",_e="-- S\xE9lectionner un profil de code d'effacement --",oe="Profile",te="Used by pools",ne="Profile is not in use.",ie="Jeu de r\xE8gles Crush",se="A new crush ruleset will be implicitly created.",ae="Jeu de r\xE8gles Crush",le="There are no rules.",re="-- S\xE9lectionner une r\xE8gle crush --",ce="Placement and\n replication strategies or distribution policies that allow to\n specify how CRUSH places data replicas.",O="This rule can't be deleted as it is in use.",Xe="R\xE8gle Crush",Qe="\xC9tapes Crush",we="Used by pools",Je="Rule is not in use.",ke="Ce champ est obligatoire !",Ve="The rule can't be used in the current cluster as it has too few OSDs to meet the minimum required OSD by this rule.",Ye="Compression",Be="Mode",je="Algorithme",Ke="Taille de blob minimale",We="par ex. 128 Kio",e_="Taille de blob maximale",__="par ex., 512 Kio",o_="Rapport",t_="Rapport de compression",n_="Chargement...",i_="-- Aucun algorithme de compression d'effacement n'est disponible --",s_="La valeur doit \xEAtre sup\xE9rieure \xE0 0",a_="Value should be less than the maximum blob size",l_="Size must be a number or in a valid format. eg: 5 GiB",r_="La valeur doit \xEAtre sup\xE9rieure \xE0 0",c_="La valeur doit \xEAtre sup\xE9rieure \xE0 la taille de blob minimale.",O_="Size must be a number or in a valid format. eg: 5 GiB",d_="La valeur doit se situer entre 0.0 et 1.0",u_="Size must be a number or in a valid format. eg: 5 GiB",P_="The value should be greater or equal to 0",[["class","cd-col-form",4,"cdFormLoading"],[1,"cd-col-form"],["name","form","novalidate","",3,"formGroup"],["formDir","ngForm"],[1,"card"],[1,"card-header"],n,[1,"card-body"],[1,"form-group","row"],["for","name",1,"cd-col-form-label","required"],_,[1,"cd-col-form-input"],["id","name","name","name","type","text","placeholder",o,"formControlName","name","autofocus","",1,"form-control"],["class","invalid-feedback",4,"ngIf"],["for","poolType",1,"cd-col-form-label","required"],i,["id","poolType","formControlName","poolType","name","poolType",1,"form-select"],["ngValue",""],s,[3,"value",4,"ngFor","ngForOf"],[4,"ngIf"],["for","applications",1,"cd-col-form-label"],c,["id","applications",3,"customBadges","customBadgeValidators","messages","data","options","selectionLimit","selection"],["title",d,3,"class",4,"ngIf"],["formGroupName","compression",4,"ngIf"],P,["for","max_bytes",1,"cd-col-form-label"],p,R,h,["id","max_bytes","name","max_bytes","type","text","formControlName","max_bytes","placeholder",S,"defaultUnit","GiB","cdDimlessBinary","",1,"form-control"],["for","max_objects",1,"cd-col-form-label"],m,u,A,["id","max_objects","min","0","name","max_objects","type","number","formControlName","max_objects",1,"form-control"],[3,"hidden"],[3,"form","initializeData","changes"],[1,"card-footer"],["wrappingClass","text-right",3,"form","submitText","submitActionEvent"],[1,"invalid-feedback"],$,I,D,x,[3,"value"],y,["for","pgAutoscaleMode",1,"cd-col-form-label"],Z,["id","pgAutoscaleMode","name","pgAutoscaleMode","formControlName","pgAutoscaleMode",1,"form-select"],["class","form-group row",4,"ngIf"],["for","pgNum",1,"cd-col-form-label","required"],U,["id","pgNum","name","pgNum","formControlName","pgNum","min","1","type","number","required","",1,"form-control",3,"focus","blur"],[1,"form-text","text-muted"],["section","pgs","docText",G],["class","form-text text-muted",4,"ngIf"],H,z,q,X,["for","size",1,"cd-col-form-label","required"],Q,["id","size","name","size","type","number","formControlName","size",1,"form-control",3,"max","min"],["class","text-warning-dark",4,"ngIf"],[1,"list-inline"],w,J,k,[1,"text-warning-dark"],V,[1,"cd-col-form-label"],Y,[1,"custom-control","custom-checkbox"],["type","checkbox","id","ec-overwrites","formControlName","ecOverwrites",1,"custom-control-input"],["for","ec-overwrites",1,"custom-control-label"],B,["title",d],j,["for","erasureProfile",1,"cd-col-form-label"],K,[1,"input-group","mb-1"],["id","erasureProfile","name","erasureProfile","formControlName","erasureProfile",1,"form-select"],["ngValue","",4,"ngIf"],[3,"ngValue",4,"ngIf"],[3,"ngValue",4,"ngFor","ngForOf"],["id","ecp-info-button","type","button",1,"btn","btn-light",3,"ngClass","click"],["aria-hidden","true",3,"ngClass"],["class","btn btn-light","type","button",3,"click",4,"ngIf"],["class","btn btn-light","type","button","ngbTooltip",N,"triggers","manual",3,"click",4,"ngIf"],["class","form-text text-muted","id","ecp-info-block",4,"ngIf"],W,[3,"ngValue"],ee,_e,["type","button",1,"btn","btn-light",3,"click"],["type","button","ngbTooltip",N,"triggers","manual",1,"btn","btn-light",3,"click"],["ecpDeletionBtn","ngbTooltip"],["id","ecp-info-block",1,"form-text","text-muted"],["ngbNav","",1,"nav-tabs"],["ecpInfoTabs","ngbNav"],["ngbNavItem","ecp-info"],["ngbNavLink",""],oe,["ngbNavContent",""],["ngbNavItem","used-by-pools"],te,[3,"ngbNavOutlet"],[3,"renderObjects","hideKeys","data","autoReload"],["ecpIsNotUsed",""],[4,"ngIf","ngIfElse"],ne,[4,"ngFor","ngForOf"],["for","crushRule",1,"cd-col-form-label"],ie,se,ae,["noRules",""],le,[1,"input-group"],["id","crushRule","formControlName","crushRule","name","crushSet",1,"form-select"],re,["id","crush-info-button","type","button","ngbTooltip",ce,1,"btn","btn-light",3,"ngClass","click"],["class","btn btn-light","type","button","ngbTooltip",O,"triggers","manual",3,"click",4,"ngIf"],["class","form-text text-muted","id","crush-info-block",4,"ngIf"],["type","button","ngbTooltip",O,"triggers","manual",1,"btn","btn-light",3,"click"],["crushDeletionBtn","ngbTooltip"],["id","crush-info-block",1,"form-text","text-muted"],["crushInfoTabs","ngbNav"],["ngbNavItem","crush-rule-info"],Xe,["ngbNavItem","crush-rule-steps"],Qe,we,["ruleIsNotUsed",""],Je,ke,Ve,["formGroupName","compression"],Ye,["for","mode",1,"cd-col-form-label"],Be,["id","mode","name","mode","formControlName","mode",1,"form-select"],["for","algorithm",1,"cd-col-form-label"],je,["id","algorithm","name","algorithm","formControlName","algorithm",1,"form-select"],["for","minBlobSize",1,"cd-col-form-label"],Ke,["id","minBlobSize","name","minBlobSize","formControlName","minBlobSize","type","text","min","0","placeholder",We,"defaultUnit","KiB","cdDimlessBinary","",1,"form-control"],["for","maxBlobSize",1,"cd-col-form-label"],e_,["id","maxBlobSize","type","text","min","0","formControlName","maxBlobSize","placeholder",__,"defaultUnit","KiB","cdDimlessBinary","",1,"form-control"],["for","ratio",1,"cd-col-form-label"],o_,["id","ratio","name","ratio","formControlName","ratio","type","number","min","0","max","1","step","0.1","placeholder",t_,1,"form-control"],n_,i_,s_,a_,l_,r_,c_,O_,d_,u_,P_]},template:function(_,o){1&_&&e.YNc(0,_n,71,34,"div",0),2&_&&e.Q6J("cdFormLoading",o.loading)},dependencies:[C.mk,C.sg,C.O5,f.uN,f.Pz,f.nv,f.Vx,f.tO,f.Dy,Pe.S,Io.m,Do.K,fe.p,ye.b,Ee.U,xo.Q,yo.y,ge.o,pe.b,Re.P,me.V,l._Y,l.YN,l.Kr,l.Fj,l.wV,l.Wl,l.EJ,l.JJ,l.JL,l.Q7,l.qQ,l.Fd,l.sg,l.u,l.x0,f._L,Zo.d,C.rS,Ce.m],styles:[".icon-warning-color[_ngcontent-%COMP%]{margin-left:3px}"]}),t})();var on=r(19773),tn=r(20687),nn=r(68136),he=r(69158),Se=r(83697),L=r(99466),sn=r(91801),an=r(68774),ln=r(66369),Ge=r(38047),Te=r(51847);class rn{constructor(n){this.pool_name=n}}var cn=r(64724),On=r(60251),He=r(76317),dn=r(94928),un=r(23240),ze=r(51295),Pn=r(59376),fn=r(42176);function En(t,n){if(1&t&&e._UZ(0,"cd-table-key-value",12),2&t){const _=e.oxw(2);e.Q6J("renderObjects",!0)("data",_.poolDetails)("autoReload",!1)}}function gn(t,n){if(1&t&&e._UZ(0,"cd-grafana",15),2&t){const _=e.oxw(3);e.MGl("grafanaPath","ceph-pool-detail?var-pool_name=",_.selection.pool_name,""),e.Q6J("type","metrics")}}function pn(t,n){1&t&&(e.ynx(0,13),e.TgZ(1,"a",5),e.SDv(2,14),e.qZA(),e.YNc(3,gn,1,2,"ng-template",7),e.BQk())}function Rn(t,n){if(1&t&&e._UZ(0,"cd-rbd-configuration-table",18),2&t){const _=e.oxw(3);e.Q6J("data",_.selectedPoolConfiguration)}}function mn(t,n){1&t&&(e.ynx(0,16),e.TgZ(1,"a",5),e.SDv(2,17),e.qZA(),e.YNc(3,Rn,1,1,"ng-template",7),e.BQk())}function Cn(t,n){if(1&t&&e._UZ(0,"cd-table",21),2&t){const _=e.oxw(3);e.Q6J("data",_.cacheTiers)("columns",_.cacheTierColumns)("autoSave",!1)}}function Mn(t,n){1&t&&(e.ynx(0,19),e.TgZ(1,"a",5),e.SDv(2,20),e.qZA(),e.YNc(3,Cn,1,3,"ng-template",7),e.BQk())}function hn(t,n){if(1&t&&(e.ynx(0,1),e.TgZ(1,"nav",2,3),e.ynx(3,4),e.TgZ(4,"a",5),e.SDv(5,6),e.qZA(),e.YNc(6,En,1,3,"ng-template",7),e.BQk(),e.YNc(7,pn,4,0,"ng-container",8),e.YNc(8,mn,4,0,"ng-container",9),e.YNc(9,Mn,4,0,"ng-container",10),e.qZA(),e._UZ(10,"div",11),e.BQk()),2&t){const _=e.MAs(2),o=e.oxw();e.xp6(7),e.Q6J("ngIf",o.permissions.grafana.read),e.xp6(1),e.Q6J("ngIf","replicated"===o.selection.type),e.xp6(1),e.Q6J("ngIf",(null==o.selection.tiers?null:o.selection.tiers.length)>0),e.xp6(1),e.Q6J("ngbNavOutlet",_)}}let Sn=(()=>{class t{constructor(_){this.poolService=_,this.cacheTierColumns=[],this.omittedPoolAttributes=["cdExecuting","cdIsBinary","stats"],this.cacheTierColumns=[{prop:"pool_name",name:"Name",flexGrow:3},{prop:"cache_mode",name:"Cache Mode",flexGrow:2},{prop:"cache_min_evict_age",name:"Min Evict Age",flexGrow:2},{prop:"cache_min_flush_age",name:"Min Flush Age",flexGrow:2},{prop:"target_max_bytes",name:"Target Max Bytes",flexGrow:2},{prop:"target_max_objects",name:"Target Max Objects",flexGrow:2}]}ngOnChanges(){this.selection&&(this.poolService.getConfiguration(this.selection.pool_name).subscribe(_=>{ze.T.updateChanged(this,{selectedPoolConfiguration:_})}),ze.T.updateChanged(this,{poolDetails:g().omit(this.selection,this.omittedPoolAttributes)}))}}return t.\u0275fac=function(_){return new(_||t)(e.Y36(ue.q))},t.\u0275cmp=e.Xpm({type:t,selectors:[["cd-pool-details"]],inputs:{cacheTiers:"cacheTiers",permissions:"permissions",selection:"selection"},features:[e.TTD],decls:1,vars:1,consts:function(){let n,_,o,i,s;return n="D\xE9tails",_="D\xE9tails des performances",o="Pool details",i="Configuration",s="D\xE9tails des niveaux de mise en cache",[["cdTableDetail","",4,"ngIf"],["cdTableDetail",""],["ngbNav","","cdStatefulTab","pool-details",1,"nav-tabs"],["nav","ngbNav"],["ngbNavItem","details"],["ngbNavLink",""],n,["ngbNavContent",""],["ngbNavItem","performance-details",4,"ngIf"],["ngbNavItem","configuration",4,"ngIf"],["ngbNavItem","cache-tiers-details",4,"ngIf"],[3,"ngbNavOutlet"],[3,"renderObjects","data","autoReload"],["ngbNavItem","performance-details"],_,["title",o,"uid","-xyV8KCiz","grafanaStyle","three",3,"grafanaPath","type"],["ngbNavItem","configuration"],i,[3,"data"],["ngbNavItem","cache-tiers-details"],s,["columnMode","flex",3,"data","columns","autoSave"]]},template:function(_,o){1&_&&e.YNc(0,hn,11,4,"ng-container",0),2&_&&e.Q6J("ngIf",o.selection)},dependencies:[C.O5,f.uN,f.Pz,f.nv,f.Vx,f.tO,f.Dy,He.F,Se.a,ye.b,Pn.m,fn.P],changeDetection:0}),t})();const Tn=["poolUsageTpl"],Ln=["poolConfigurationSourceTpl"];function An(t,n){if(1&t){const _=e.EpF();e.TgZ(0,"cd-table",9,10),e.NdJ("fetchData",function(){e.CHM(_);const i=e.oxw();return e.KtG(i.taskListService.fetch())})("setExpandedRow",function(i){e.CHM(_);const s=e.oxw();return e.KtG(s.setExpandedRow(i))})("updateSelection",function(i){e.CHM(_);const s=e.oxw();return e.KtG(s.updateSelection(i))}),e._UZ(2,"cd-table-actions",11)(3,"cd-pool-details",12),e.qZA()}if(2&t){const _=e.oxw();e.Q6J("data",_.pools)("columns",_.columns)("hasDetails",!0)("status",_.tableStatus)("autoReload",-1),e.xp6(2),e.Q6J("permission",_.permissions.pool)("selection",_.selection)("tableActions",_.tableActions),e.xp6(1),e.Q6J("selection",_.expandedRow)("permissions",_.permissions)("cacheTiers",_.cacheTiers)}}function Fn(t,n){1&t&&e._UZ(0,"cd-grafana",14),2&t&&e.Q6J("grafanaPath","ceph-pools-overview?")("type","metrics")}function Nn(t,n){1&t&&(e.ynx(0,2),e.TgZ(1,"a",3),e.SDv(2,13),e.qZA(),e.YNc(3,Fn,1,2,"ng-template",5),e.BQk())}function bn(t,n){if(1&t&&e._UZ(0,"cd-usage-bar",16),2&t){const _=e.oxw().row;e.Q6J("total",_.stats.bytes_used.latest+_.stats.avail_raw.latest)("used",_.stats.bytes_used.latest)("title",_.pool_name)}}function vn(t,n){if(1&t&&e.YNc(0,bn,1,3,"cd-usage-bar",15),2&t){const _=n.row;e.Q6J("ngIf",null==_.stats||null==_.stats.avail_raw?null:_.stats.avail_raw.latest)}}const Le="pool";let $n=(()=>{class t extends nn.o{constructor(_,o,i,s,c,d,P,p,R,h,S){super(),this.poolService=_,this.taskWrapper=o,this.ecpService=i,this.authStorageService=s,this.taskListService=c,this.modalService=d,this.pgCategoryService=P,this.dimlessPipe=p,this.urlBuilder=R,this.configurationService=h,this.actionLabels=S,this.selection=new an.r,this.executingTasks=[],this.tableStatus=new he.E,this.cacheTiers=[],this.monAllowPoolDelete=!1,this.permissions=this.authStorageService.getPermissions(),this.tableActions=[{permission:"create",icon:b.P.add,routerLink:()=>this.urlBuilder.getCreate(),name:this.actionLabels.CREATE},{permission:"update",icon:b.P.edit,routerLink:()=>this.urlBuilder.getEdit(encodeURIComponent(this.selection.first().pool_name)),name:this.actionLabels.EDIT},{permission:"delete",icon:b.P.destroy,click:()=>this.deletePoolModal(),name:this.actionLabels.DELETE,disable:this.getDisableDesc.bind(this)}],this.permissions.configOpt.read&&this.configurationService.get("mon_allow_pool_delete").subscribe(m=>{if(g().has(m,"value")){const u=g().find(m.value,A=>"mon"===A.section)||{value:!1};this.monAllowPoolDelete="true"===u.value}})}ngOnInit(){const _=(o,i,s)=>g().get(i,o)>g().get(s,o)?1:-1;this.columns=[{prop:"pool_name",name:"Name",flexGrow:4,cellTransformation:L.e.executing},{prop:"data_protection",name:"Data Protection",cellTransformation:L.e.badge,customTemplateConfig:{class:"badge-background-gray"},flexGrow:1.3},{prop:"application_metadata",name:"Applications",cellTransformation:L.e.badge,customTemplateConfig:{class:"badge-background-primary"},flexGrow:1.5},{prop:"pg_status",name:"PG Status",flexGrow:1.2,cellClass:({row:o,column:i,value:s})=>this.getPgStatusCellClass(o,i,s)},{prop:"crush_rule",name:"Crush Ruleset",isHidden:!0,flexGrow:2},{name:"Usage",prop:"usage",cellTemplate:this.poolUsageTpl,flexGrow:1.2},{prop:"stats.rd_bytes.rates",name:"Read bytes",comparator:(o,i,s,c)=>_("stats.rd_bytes.latest",s,c),cellTransformation:L.e.sparkline,flexGrow:1.5},{prop:"stats.wr_bytes.rates",name:"Write bytes",comparator:(o,i,s,c)=>_("stats.wr_bytes.latest",s,c),cellTransformation:L.e.sparkline,flexGrow:1.5},{prop:"stats.rd.rate",name:"Read ops",flexGrow:1,pipe:this.dimlessPipe,cellTransformation:L.e.perSecond},{prop:"stats.wr.rate",name:"Write ops",flexGrow:1,pipe:this.dimlessPipe,cellTransformation:L.e.perSecond}],this.taskListService.init(()=>this.ecpService.list().pipe((0,on.zg)(o=>(this.ecProfileList=o,this.poolService.getList()))),void 0,o=>{this.pools=this.transformPoolsData(o),this.tableStatus=new he.E},()=>{this.table.reset(),this.tableStatus=new he.E(sn.T.ValueException)},o=>o.name.startsWith(`${Le}/`),(o,i)=>i.metadata.pool_name===o.pool_name,{default:o=>new rn(o.pool_name)})}updateSelection(_){this.selection=_}deletePoolModal(){const _=this.selection.first().pool_name;this.modalService.show(Fe.M,{itemDescription:"Pool",itemNames:[_],submitActionObservable:()=>this.taskWrapper.wrapTaskAroundCall({task:new v.R(`${Le}/${M.MQ.DELETE}`,{pool_name:_}),call:this.poolService.delete(_)})})}getPgStatusCellClass(_,o,i){return{"text-right":!0,[`pg-${this.pgCategoryService.getTypeByStates(i)}`]:!0}}getErasureCodeProfile(_){let o="";return g().forEach(this.ecProfileList,i=>{i.name===_&&(o=`EC: ${i.k}+${i.m}`)}),o}transformPoolsData(_){const o=["bytes_used","max_avail","avail_raw","percent_used","rd_bytes","wr_bytes","rd","wr"],i={latest:0,rate:0,rates:[]};return g().forEach(_,s=>{s.pg_status=this.transformPgStatus(s.pg_status);const c={};g().forEach(o,d=>{c[d]=s.stats&&s.stats[d]?s.stats[d]:i}),s.stats=c,s.usage=c.percent_used.latest,!s.cdExecuting&&s.pg_num+s.pg_placement_num!==s.pg_num_target+s.pg_placement_num_target&&(s.cdExecuting="Updating"),["rd_bytes","wr_bytes"].forEach(d=>{s.stats[d].rates=s.stats[d].rates.map(P=>P[1])}),s.cdIsBinary=!0,"erasure"===s.type&&(s.data_protection=this.getErasureCodeProfile(s.erasure_code_profile)),"replicated"===s.type&&(s.data_protection=`replica: \xd7${s.size}`)}),_}transformPgStatus(_){const o=[];return g().forEach(_,(i,s)=>{o.push(`${i} ${s}`)}),o.join(", ")}getSelectionTiers(){if(typeof this.expandedRow<"u"){const _=this.expandedRow.tiers;this.cacheTiers=this.pools.filter(o=>_.includes(o.pool))}}getDisableDesc(){return!this.selection?.hasSelection||!this.monAllowPoolDelete&&"Pool deletion is disabled by the mon_allow_pool_delete configuration setting."}setExpandedRow(_){super.setExpandedRow(_),this.getSelectionTiers()}}return t.\u0275fac=function(_){return new(_||t)(e.Y36(ue.q),e.Y36(de.P),e.Y36(Me),e.Y36(xe.j),e.Y36(Ge.j),e.Y36(De.Z),e.Y36(tn.j),e.Y36(ln.n),e.Y36(Te.F),e.Y36(cn.e),e.Y36(M.p4))},t.\u0275cmp=e.Xpm({type:t,selectors:[["cd-pool-list"]],viewQuery:function(_,o){if(1&_&&(e.Gf(Se.a,5),e.Gf(Tn,7),e.Gf(Ln,5)),2&_){let i;e.iGM(i=e.CRH())&&(o.table=i.first),e.iGM(i=e.CRH())&&(o.poolUsageTpl=i.first),e.iGM(i=e.CRH())&&(o.poolConfigurationSourceTpl=i.first)}},features:[e._Bn([Ge.j,{provide:Te.F,useValue:new Te.F(Le)}]),e.qOj],decls:10,vars:2,consts:function(){let n,_,o;return n="Liste des r\xE9serves",_="Performance globale",o="Ceph pools overview",[["ngbNav","",1,"nav-tabs"],["nav","ngbNav"],["ngbNavItem",""],["ngbNavLink",""],n,["ngbNavContent",""],["ngbNavItem","",4,"cdScope"],[3,"ngbNavOutlet"],["poolUsageTpl",""],["id","pool-list","selectionType","single",3,"data","columns","hasDetails","status","autoReload","fetchData","setExpandedRow","updateSelection"],["table",""],["id","pool-list-actions",1,"table-actions",3,"permission","selection","tableActions"],["cdTableDetail","","id","pool-list-details",3,"selection","permissions","cacheTiers"],_,["title",o,"uid","z99hzWtmk","grafanaStyle","two",3,"grafanaPath","type"],["decimals","2",3,"total","used","title",4,"ngIf"],["decimals","2",3,"total","used","title"]]},template:function(_,o){if(1&_&&(e.TgZ(0,"nav",0,1),e.ynx(2,2),e.TgZ(3,"a",3),e.SDv(4,4),e.qZA(),e.YNc(5,An,4,11,"ng-template",5),e.BQk(),e.YNc(6,Nn,4,0,"ng-container",6),e.qZA(),e._UZ(7,"div",7),e.YNc(8,vn,1,1,"ng-template",null,8,e.W1O)),2&_){const i=e.MAs(1);e.xp6(6),e.Q6J("cdScope","grafana"),e.xp6(1),e.Q6J("ngbNavOutlet",i)}},dependencies:[C.O5,f.uN,f.Pz,f.nv,f.Vx,f.tO,f.Dy,On.O,He.F,Se.a,dn.K,un.w,Sn],styles:["cd-pool-list .pg-clean{color:#008a00} cd-pool-list .pg-working{color:#25828e} cd-pool-list .pg-warning{color:#d48200} cd-pool-list .pg-unknown{color:#dc3545}"]}),t})(),qe=(()=>{class t{}return t.\u0275fac=function(_){return new(_||t)},t.\u0275mod=e.oAB({type:t}),t.\u0275inj=e.cJS({imports:[g_.t,C.ez,f.Oz,f_.m,Oe.Bz,l.UX,f.HK,E_.BlockModule]}),t})();const In=[{path:"",component:$n},{path:M.MQ.CREATE,component:Ue,data:{breadcrumbs:M.Qn.CREATE}},{path:`${M.MQ.EDIT}/:name`,component:Ue,data:{breadcrumbs:M.Qn.EDIT}}];let Dn=(()=>{class t{}return t.\u0275fac=function(_){return new(_||t)},t.\u0275mod=e.oAB({type:t}),t.\u0275inj=e.cJS({imports:[qe,Oe.Bz.forChild(In)]}),t})()}}]); \ No newline at end of file diff --git a/src/pybind/mgr/dashboard/frontend/dist/fr/121.9dd4ed4e557d3110.js b/src/pybind/mgr/dashboard/frontend/dist/fr/121.9dd4ed4e557d3110.js new file mode 100644 index 000000000..40012716a --- /dev/null +++ b/src/pybind/mgr/dashboard/frontend/dist/fr/121.9dd4ed4e557d3110.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkceph_dashboard=self.webpackChunkceph_dashboard||[]).push([[121],{32121:(et,ue,p)=>{p.r(ue),p.d(ue,{BlockModule:()=>Bt,RoutedBlockModule:()=>Or});var l=p(88692),r=p(20092),m=p(54247),ie=p(35512),b=p(51389),Oe=p(37496),N=p(79512),k=p(4222),U=p(54462),se=p(44466),j=p(23815),C=p.n(j),de=p(35758),L=p(64762),ae=p(35732),W=p(93523),e=p(64537);let Q=class{constructor(s){this.http=s}listTargets(){return this.http.get("api/iscsi/target")}getTarget(s){return this.http.get(`api/iscsi/target/${s}`)}updateTarget(s,t){return this.http.put(`api/iscsi/target/${s}`,t,{observe:"response"})}status(){return this.http.get("ui-api/iscsi/status")}settings(){return this.http.get("ui-api/iscsi/settings")}version(){return this.http.get("ui-api/iscsi/version")}portals(){return this.http.get("ui-api/iscsi/portals")}createTarget(s){return this.http.post("api/iscsi/target",s,{observe:"response"})}deleteTarget(s){return this.http.delete(`api/iscsi/target/${s}`,{observe:"response"})}getDiscovery(){return this.http.get("api/iscsi/discoveryauth")}updateDiscovery(s){return this.http.put("api/iscsi/discoveryauth",s)}overview(){return this.http.get("ui-api/iscsi/overview")}};Q.\u0275fac=function(s){return new(s||Q)(e.LFG(ae.eN))},Q.\u0275prov=e.Yz7({token:Q,factory:Q.\u0275fac,providedIn:"root"}),Q=(0,L.gn)([W.o,(0,L.w6)("design:paramtypes",[ae.eN])],Q);var Fe=p(88002),De=p(76189),v=p(19358),Ie=p(34089);let H=class extends De.S{constructor(s,t){super(),this.http=s,this.rbdConfigurationService=t}isRBDPool(s){return-1!==C().indexOf(s.application_metadata,"rbd")&&!s.pool_name.includes("/")}create(s){return this.http.post("api/block/image",s,{observe:"response"})}delete(s){return this.http.delete(`api/block/image/${s.toStringEncoded()}`,{observe:"response"})}update(s,t){return this.http.put(`api/block/image/${s.toStringEncoded()}`,t,{observe:"response"})}get(s){return this.http.get(`api/block/image/${s.toStringEncoded()}`)}list(s){return this.http.get("api/block/image",{params:s,headers:{Accept:this.getVersionHeaderValue(2,0)},observe:"response"}).pipe((0,Fe.U)(t=>t.body.map(o=>(o.value.map(i=>(i.configuration&&i.configuration.map(_=>Object.assign(_,this.rbdConfigurationService.getOptionByName(_.name))),i)),o.headers=t.headers,o))))}copy(s,t){return this.http.post(`api/block/image/${s.toStringEncoded()}/copy`,t,{observe:"response"})}flatten(s){return this.http.post(`api/block/image/${s.toStringEncoded()}/flatten`,null,{observe:"response"})}defaultFeatures(){return this.http.get("api/block/image/default_features")}cloneFormatVersion(){return this.http.get("api/block/image/clone_format_version")}createSnapshot(s,t,o){const i={snapshot_name:t,mirrorImageSnapshot:o};return this.http.post(`api/block/image/${s.toStringEncoded()}/snap`,i,{observe:"response"})}renameSnapshot(s,t,o){const i={new_snap_name:o};return this.http.put(`api/block/image/${s.toStringEncoded()}/snap/${t}`,i,{observe:"response"})}protectSnapshot(s,t,o){const i={is_protected:o};return this.http.put(`api/block/image/${s.toStringEncoded()}/snap/${t}`,i,{observe:"response"})}rollbackSnapshot(s,t){return this.http.post(`api/block/image/${s.toStringEncoded()}/snap/${t}/rollback`,null,{observe:"response"})}cloneSnapshot(s,t,o){return this.http.post(`api/block/image/${s.toStringEncoded()}/snap/${t}/clone`,o,{observe:"response"})}deleteSnapshot(s,t){return this.http.delete(`api/block/image/${s.toStringEncoded()}/snap/${t}`,{observe:"response"})}listTrash(){return this.http.get("api/block/image/trash/")}createNamespace(s,t){return this.http.post(`api/block/pool/${s}/namespace`,{namespace:t},{observe:"response"})}listNamespaces(s){return this.http.get(`api/block/pool/${s}/namespace/`)}deleteNamespace(s,t){return this.http.delete(`api/block/pool/${s}/namespace/${t}`,{observe:"response"})}moveTrash(s,t){return this.http.post(`api/block/image/${s.toStringEncoded()}/move_trash`,{delay:t},{observe:"response"})}purgeTrash(s){return this.http.post(`api/block/image/trash/purge/?pool_name=${s}`,null,{observe:"response"})}restoreTrash(s,t){return this.http.post(`api/block/image/trash/${s.toStringEncoded()}/restore`,{new_image_name:t},{observe:"response"})}removeTrash(s,t=!1){return this.http.delete(`api/block/image/trash/${s.toStringEncoded()}/?force=${t}`,{observe:"response"})}};H.\u0275fac=function(s){return new(s||H)(e.LFG(ae.eN),e.LFG(Ie.n))},H.\u0275prov=e.Yz7({token:H,factory:H.\u0275fac,providedIn:"root"}),(0,L.gn)([(0,L.fM)(1,W.G),(0,L.w6)("design:type",Function),(0,L.w6)("design:paramtypes",[v.N,String,Boolean]),(0,L.w6)("design:returntype",void 0)],H.prototype,"createSnapshot",null),(0,L.gn)([(0,L.fM)(2,W.G),(0,L.w6)("design:type",Function),(0,L.w6)("design:paramtypes",[v.N,String,String]),(0,L.w6)("design:returntype",void 0)],H.prototype,"renameSnapshot",null),(0,L.gn)([(0,L.fM)(2,W.G),(0,L.w6)("design:type",Function),(0,L.w6)("design:paramtypes",[v.N,String,Boolean]),(0,L.w6)("design:returntype",void 0)],H.prototype,"protectSnapshot",null),(0,L.gn)([(0,L.fM)(1,W.G),(0,L.w6)("design:type",Function),(0,L.w6)("design:paramtypes",[v.N,String]),(0,L.w6)("design:returntype",void 0)],H.prototype,"restoreTrash",null),H=(0,L.gn)([W.o,(0,L.w6)("design:paramtypes",[ae.eN,Ie.n])],H);var F=p(7022),x=p(14745),T=p(65862),K=p(93614),Z=p(95463),J=p(90070),h=p(48168),R=p(76111),u=p(32337),f=p(60312),A=p(30839),M=p(87925),B=p(94276),q=p(56310),Y=p(41582);function no(n,s){if(1&n&&(e.TgZ(0,"option",6),e._uU(1),e.qZA()),2&n){const t=s.$implicit;e.Q6J("ngValue",t),e.xp6(1),e.Oqu(t)}}function io(n,s){if(1&n&&(e.TgZ(0,"select",5),e._UZ(1,"option",6),e.YNc(2,no,2,2,"option",7),e.qZA()),2&n){const t=e.oxw();e.s9C("id",t.setting),e.s9C("name",t.setting),e.Q6J("formControlName",t.setting),e.xp6(1),e.Q6J("ngValue",null),e.xp6(1),e.Q6J("ngForOf",t.limits.values)}}function so(n,s){if(1&n&&e._UZ(0,"input",10),2&n){const t=e.oxw(2);e.Q6J("formControlName",t.setting)}}function _o(n,s){if(1&n&&e._UZ(0,"input",11),2&n){const t=e.oxw(2);e.Q6J("formControlName",t.setting)}}function ao(n,s){if(1&n&&(e.ynx(0),e._UZ(1,"br"),e.TgZ(2,"div",12),e._UZ(3,"input",13),e.TgZ(4,"label",14),e._uU(5,"Yes"),e.qZA()(),e.TgZ(6,"div",12),e._UZ(7,"input",13),e.TgZ(8,"label",14),e._uU(9,"No"),e.qZA()(),e.BQk()),2&n){const t=e.oxw(2);e.xp6(3),e.Q6J("id",t.setting+"True")("value",!0)("formControlName",t.setting),e.xp6(1),e.Q6J("for",t.setting+"True"),e.xp6(3),e.Q6J("id",t.setting+"False")("value",!1)("formControlName",t.setting),e.xp6(1),e.Q6J("for",t.setting+"False")}}function ro(n,s){if(1&n&&(e.TgZ(0,"span"),e.YNc(1,so,1,1,"input",8),e.YNc(2,_o,1,1,"input",9),e.YNc(3,ao,10,8,"ng-container",3),e.qZA()),2&n){const t=e.oxw();e.xp6(1),e.Q6J("ngIf","int"===t.limits.type),e.xp6(1),e.Q6J("ngIf","str"===t.limits.type),e.xp6(1),e.Q6J("ngIf","bool"===t.limits.type)}}function lo(n,s){if(1&n&&(e.TgZ(0,"span",15),e.ynx(1),e.SDv(2,16),e.BQk(),e.qZA()),2&n){const t=e.oxw();e.xp6(2),e.pQV(t.limits.min),e.QtT(2)}}function co(n,s){if(1&n&&(e.TgZ(0,"span",15),e.ynx(1),e.SDv(2,17),e.BQk(),e.qZA()),2&n){const t=e.oxw();e.xp6(2),e.pQV(t.limits.max),e.QtT(2)}}let ut=(()=>{class n{ngOnInit(){const t=[];"min"in this.limits&&t.push(r.kI.min(Number(this.limits.min))),"max"in this.limits&&t.push(r.kI.max(Number(this.limits.max))),this.settingsForm.get(this.setting).setValidators(t)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-iscsi-setting"]],inputs:{settingsForm:"settingsForm",formDir:"formDir",setting:"setting",limits:"limits"},decls:7,vars:7,consts:function(){let s,t;return s="Must be greater than or equal to \n " + "\ufffd0\ufffd" + ".\n ",t="Must be less than or equal to \n " + "\ufffd0\ufffd" + ".\n ",[[1,"form-group",3,"formGroup"],[1,"col-form-label",3,"for"],["class","form-control",3,"id","name","formControlName",4,"ngIf"],[4,"ngIf"],["class","invalid-feedback",4,"ngIf"],[1,"form-control",3,"id","name","formControlName"],[3,"ngValue"],[3,"ngValue",4,"ngFor","ngForOf"],["type","number","class","form-control",3,"formControlName",4,"ngIf"],["type","text","class","form-control",3,"formControlName",4,"ngIf"],["type","number",1,"form-control",3,"formControlName"],["type","text",1,"form-control",3,"formControlName"],[1,"custom-control","custom-radio","custom-control-inline"],["type","radio",1,"custom-control-input",3,"id","value","formControlName"],[1,"custom-control-label",3,"for"],[1,"invalid-feedback"],s,t]},template:function(t,o){1&t&&(e.TgZ(0,"div",0)(1,"label",1),e._uU(2),e.qZA(),e.YNc(3,io,3,5,"select",2),e.YNc(4,ro,4,3,"span",3),e.YNc(5,lo,3,1,"span",4),e.YNc(6,co,3,1,"span",4),e.qZA()),2&t&&(e.Q6J("formGroup",o.settingsForm),e.xp6(1),e.s9C("for",o.setting),e.xp6(1),e.Oqu(o.setting),e.xp6(1),e.Q6J("ngIf","enum"===o.limits.type),e.xp6(1),e.Q6J("ngIf","enum"!==o.limits.type),e.xp6(1),e.Q6J("ngIf",o.settingsForm.showError(o.setting,o.formDir,"min")),e.xp6(1),e.Q6J("ngIf",o.settingsForm.showError(o.setting,o.formDir,"max")))},dependencies:[l.sg,l.O5,r.YN,r.Kr,r.Fj,r.wV,r.EJ,r._,r.JJ,r.JL,r.sg,r.u,M.o,B.b,q.P,Y.V]}),n})();var Qe=p(88820);function po(n,s){1&n&&(e.TgZ(0,"span",29),e.SDv(1,30),e.qZA())}function uo(n,s){if(1&n&&(e.TgZ(0,"span")(1,"legend",10),e.SDv(2,21),e.qZA(),e.TgZ(3,"div",12)(4,"div",13)(5,"label",22),e.SDv(6,23),e.qZA(),e._UZ(7,"input",24),e.YNc(8,po,2,0,"span",25),e.qZA()(),e.TgZ(9,"div",12)(10,"div",13)(11,"label",26),e.SDv(12,27),e.qZA(),e._UZ(13,"input",28),e.qZA()()()),2&n){const t=e.oxw(),o=e.MAs(9);e.xp6(8),e.Q6J("ngIf",t.settingsForm.showError("lun",o,"required"))}}function mo(n,s){if(1&n&&(e.TgZ(0,"option",31),e._uU(1),e.ALo(2,"iscsiBackstore"),e.qZA()),2&n){const t=s.$implicit;e.Q6J("value",t),e.xp6(1),e.Oqu(e.lcZ(2,2,t))}}function go(n,s){if(1&n&&(e.TgZ(0,"div",12)(1,"div",13),e._UZ(2,"cd-iscsi-setting",33),e.qZA()()),2&n){const t=s.$implicit,o=e.oxw(2).$implicit,i=e.oxw(),_=e.MAs(9);e.xp6(2),e.Q6J("settingsForm",i.settingsForm)("formDir",_)("setting",t.key)("limits",i.getDiskControlLimits(o,t.key))}}function To(n,s){if(1&n&&(e.ynx(0),e.YNc(1,go,3,4,"div",32),e.ALo(2,"keyvalue"),e.BQk()),2&n){const t=e.oxw().$implicit,o=e.oxw();e.xp6(1),e.Q6J("ngForOf",e.lcZ(2,1,o.disk_default_controls[t]))}}function fo(n,s){if(1&n&&(e.ynx(0),e.YNc(1,To,3,3,"ng-container",9),e.BQk()),2&n){const t=s.$implicit,o=e.oxw();e.xp6(1),e.Q6J("ngIf",o.settingsForm.value.backstore===t)}}let Co=(()=>{class n{constructor(t,o,i){this.activeModal=t,this.iscsiService=o,this.actionLabels=i}ngOnInit(){const t={backstore:new r.p4(this.imagesSettings[this.image].backstore),lun:new r.p4(this.imagesSettings[this.image].lun),wwn:new r.p4(this.imagesSettings[this.image].wwn)};C().forEach(this.backstores,o=>{const i=this.imagesSettings[this.image][o]||{};C().forIn(this.disk_default_controls[o],(_,a)=>{t[a]=new r.p4(i[a])})}),this.settingsForm=new Z.d(t)}getDiskControlLimits(t,o){return this.disk_controls_limits?this.disk_controls_limits[t][o]:{type:"int"}}save(){const t=this.settingsForm.controls.backstore.value,o=this.settingsForm.controls.lun.value,i=this.settingsForm.controls.wwn.value,_={};C().forIn(this.settingsForm.controls,(a,c)=>{""!==a.value&&null!==a.value&&c in this.disk_default_controls[this.settingsForm.value.backstore]&&(_[c]=a.value,C().forEach(this.backstores,d=>{d!==t&&c in(this.imagesSettings[this.image][d]||{})&&(this.imagesSettings[this.image][d][c]=a.value)}))}),this.imagesSettings[this.image].backstore=t,this.imagesSettings[this.image].lun=o,this.imagesSettings[this.image].wwn=i,this.imagesSettings[this.image][t]=_,this.imagesSettings={...this.imagesSettings},this.control.updateValueAndValidity({emitEvent:!1}),this.activeModal.close()}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(b.Kz),e.Y36(Q),e.Y36(N.p4))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-iscsi-target-image-settings-modal"]],decls:25,vars:8,consts:function(){let s,t,o,i,_,a,c,d;return s="Configure",t="Il n'est g\xE9n\xE9ralement pas n\xE9cessaire de modifier ces param\xE8tres par d\xE9faut.",o="Param\xE8tres",i="Backstore",_="Identifier",a="lun",c="wwn",d="This field is required.",[[3,"modalRef"],[1,"modal-title"],s,[1,"modal-content"],["name","settingsForm","novalidate","",1,"form",3,"formGroup"],["formDir","ngForm"],[1,"modal-body"],[1,"alert-warning"],t,[4,"ngIf"],[1,"cd-header"],o,[1,"form-group","row"],[1,"col-sm-12"],[1,"col-form-label"],i,["id","backstore","name","backstore","formControlName","backstore",1,"form-select"],[3,"value",4,"ngFor","ngForOf"],[4,"ngFor","ngForOf"],[1,"modal-footer"],[3,"form","submitText","submitActionEvent"],_,["for","lun",1,"col-form-label","required"],a,["type","number","id","lun","name","lun","formControlName","lun",1,"form-control"],["class","invalid-feedback",4,"ngIf"],["for","wwn",1,"col-form-label"],c,["type","text","id","wwn","name","wwn","formControlName","wwn",1,"form-control"],[1,"invalid-feedback"],d,[3,"value"],["class","form-group row",4,"ngFor","ngForOf"],[3,"settingsForm","formDir","setting","limits"]]},template:function(t,o){1&t&&(e.TgZ(0,"cd-modal",0),e.ynx(1,1)(2),e.SDv(3,2),e.BQk(),e._uU(4,"\xa0 "),e.TgZ(5,"small"),e._uU(6),e.qZA(),e.BQk(),e.ynx(7,3),e.TgZ(8,"form",4,5)(10,"div",6)(11,"p",7),e.SDv(12,8),e.qZA(),e.YNc(13,uo,14,1,"span",9),e.TgZ(14,"legend",10),e.SDv(15,11),e.qZA(),e.TgZ(16,"div",12)(17,"div",13)(18,"label",14),e.SDv(19,15),e.qZA(),e.TgZ(20,"select",16),e.YNc(21,mo,3,4,"option",17),e.qZA()()(),e.YNc(22,fo,2,1,"ng-container",18),e.qZA(),e.TgZ(23,"div",19)(24,"cd-form-button-panel",20),e.NdJ("submitActionEvent",function(){return o.save()}),e.qZA()()(),e.BQk(),e.qZA()),2&t&&(e.Q6J("modalRef",o.activeModal),e.xp6(6),e.Oqu(o.image),e.xp6(2),e.Q6J("formGroup",o.settingsForm),e.xp6(5),e.Q6J("ngIf",o.api_version>=1),e.xp6(8),e.Q6J("ngForOf",o.backstores),e.xp6(1),e.Q6J("ngForOf",o.backstores),e.xp6(2),e.Q6J("form",o.settingsForm)("submitText",o.actionLabels.UPDATE))},dependencies:[l.sg,l.O5,r._Y,r.YN,r.Kr,r.Fj,r.wV,r.EJ,r.JJ,r.JL,r.sg,r.u,f.z,A.p,M.o,B.b,q.P,Y.V,ut,l.Nd,Qe.V]}),n})();function So(n,s){if(1&n&&(e.TgZ(0,"div",12)(1,"div",13),e._UZ(2,"cd-iscsi-setting",14),e.qZA()()),2&n){const t=s.$implicit,o=e.oxw(),i=e.MAs(5);e.xp6(2),e.Q6J("settingsForm",o.settingsForm)("formDir",i)("setting",t.key)("limits",o.getTargetControlLimits(t.key))}}let Eo=(()=>{class n{constructor(t,o,i){this.activeModal=t,this.iscsiService=o,this.actionLabels=i}ngOnInit(){const t={};C().forIn(this.target_default_controls,(o,i)=>{t[i]=new r.p4(this.target_controls.value[i])}),this.settingsForm=new Z.d(t)}save(){const t={};C().forIn(this.settingsForm.controls,(o,i)=>{""===o.value||null===o.value||(t[i]=o.value)}),this.target_controls.setValue(t),this.activeModal.close()}getTargetControlLimits(t){return this.target_controls_limits?this.target_controls_limits[t]:["Yes","No"].includes(this.target_default_controls[t])?{type:"bool"}:{type:"int"}}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(b.Kz),e.Y36(Q),e.Y36(N.p4))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-iscsi-target-iqn-settings-modal"]],decls:13,vars:7,consts:function(){let s,t;return s="Param\xE8tres avanc\xE9s",t="Il n'est g\xE9n\xE9ralement pas n\xE9cessaire de modifier ces param\xE8tres par d\xE9faut.",[[3,"modalRef"],[1,"modal-title"],s,[1,"modal-content"],["name","settingsForm","novalidate","",3,"formGroup"],["formDir","ngForm"],[1,"modal-body"],[1,"alert-warning"],t,["class","form-group row",4,"ngFor","ngForOf"],[1,"modal-footer"],[3,"form","submitText","submitActionEvent"],[1,"form-group","row"],[1,"col-sm-12"],[3,"settingsForm","formDir","setting","limits"]]},template:function(t,o){1&t&&(e.TgZ(0,"cd-modal",0),e.ynx(1,1),e.SDv(2,2),e.BQk(),e.ynx(3,3),e.TgZ(4,"form",4,5)(6,"div",6)(7,"p",7),e.SDv(8,8),e.qZA(),e.YNc(9,So,3,4,"div",9),e.ALo(10,"keyvalue"),e.qZA(),e.TgZ(11,"div",10)(12,"cd-form-button-panel",11),e.NdJ("submitActionEvent",function(){return o.save()}),e.qZA()()(),e.BQk(),e.qZA()),2&t&&(e.Q6J("modalRef",o.activeModal),e.xp6(4),e.Q6J("formGroup",o.settingsForm),e.xp6(5),e.Q6J("ngForOf",e.lcZ(10,5,o.settingsForm.controls)),e.xp6(3),e.Q6J("form",o.settingsForm)("submitText",o.actionLabels.UPDATE))},dependencies:[l.sg,r._Y,r.JL,r.sg,f.z,A.p,q.P,Y.V,ut,l.Nd]}),n})();var me=p(63285),Ro=p(39092),ze=p(58039),mt=p(4416),Mo=p(12594),gt=p(63622),tt=p(10545);function Oo(n,s){1&n&&(e.TgZ(0,"span",40),e.SDv(1,41),e.qZA())}function ho(n,s){1&n&&(e.TgZ(0,"span",40),e.SDv(1,42),e.qZA())}function Ao(n,s){1&n&&(e.TgZ(0,"span",40),e.ynx(1),e.SDv(2,43),e.BQk(),e._UZ(3,"br"),e.ynx(4),e.SDv(5,44),e.BQk(),e._UZ(6,"br"),e.TgZ(7,"a",45),e.SDv(8,46),e.qZA()())}function Po(n,s){1&n&&(e.TgZ(0,"span",47),e.SDv(1,48),e.qZA())}const ee=function(n){return[n]};function bo(n,s){if(1&n){const t=e.EpF();e.ynx(0),e.TgZ(1,"div",49),e._UZ(2,"input",50),e.TgZ(3,"button",51),e.NdJ("click",function(){const i=e.CHM(t),_=i.index,a=i.$implicit,c=e.oxw(2);return e.KtG(c.removePortal(_,a))}),e._UZ(4,"i",15),e.qZA()(),e.BQk()}if(2&n){const t=s.$implicit,o=e.oxw(2);e.xp6(2),e.Q6J("value",t),e.xp6(2),e.Q6J("ngClass",e.VKq(2,ee,o.icons.destroy))}}function Io(n,s){if(1&n&&(e.TgZ(0,"span",40),e.SDv(1,52),e.qZA()),2&n){const t=e.oxw(2);e.xp6(1),e.pQV(t.minimum_gateways),e.QtT(1)}}function No(n,s){if(1&n&&(e.TgZ(0,"div",55),e._uU(1),e.qZA()),2&n){const t=e.oxw().$implicit,o=e.oxw(2);e.xp6(1),e.hij("lun: ",o.imagesSettings[t].lun,"")}}function Fo(n,s){if(1&n&&(e.ynx(0),e.SDv(1,56),e.ALo(2,"iscsiBackstore"),e.BQk()),2&n){const t=e.oxw().$implicit,o=e.oxw(2);e.xp6(2),e.pQV(e.lcZ(2,1,o.imagesSettings[t].backstore)),e.QtT(1)}}function Do(n,s){1&n&&(e.ynx(0),e.SDv(1,57),e.BQk())}function Lo(n,s){if(1&n){const t=e.EpF();e.ynx(0),e.TgZ(1,"div",49),e._UZ(2,"input",50),e.YNc(3,No,2,1,"div",53),e.TgZ(4,"button",51),e.NdJ("click",function(){const _=e.CHM(t).$implicit,a=e.oxw(2);return e.KtG(a.imageSettingsModal(_))}),e._UZ(5,"i",15),e.qZA(),e.TgZ(6,"button",51),e.NdJ("click",function(){const i=e.CHM(t),_=i.index,a=i.$implicit,c=e.oxw(2);return e.KtG(c.removeImage(_,a))}),e._UZ(7,"i",15),e.qZA()(),e.TgZ(8,"span",47),e.YNc(9,Fo,3,3,"ng-container",54),e.YNc(10,Do,2,0,"ng-container",54),e.qZA(),e.BQk()}if(2&n){const t=s.$implicit,o=e.oxw(2);e.xp6(2),e.Q6J("value",t),e.xp6(1),e.Q6J("ngIf",o.api_version>=1),e.xp6(2),e.Q6J("ngClass",e.VKq(6,ee,o.icons.deepCheck)),e.xp6(2),e.Q6J("ngClass",e.VKq(8,ee,o.icons.destroy)),e.xp6(2),e.Q6J("ngIf",o.backstores.length>1),e.xp6(1),e.Q6J("ngIf",o.hasAdvancedSettings(o.imagesSettings[t][o.imagesSettings[t].backstore]))}}function vo(n,s){1&n&&(e.TgZ(0,"span",40),e.SDv(1,58),e.qZA())}function $o(n,s){1&n&&(e.TgZ(0,"span",40),e.SDv(1,59),e.qZA())}function Bo(n,s){1&n&&(e.TgZ(0,"span",40),e.SDv(1,77),e.qZA())}function Go(n,s){1&n&&(e.TgZ(0,"span",40),e.SDv(1,78),e.qZA())}function yo(n,s){1&n&&(e.TgZ(0,"span",40),e.SDv(1,79),e.qZA())}function xo(n,s){1&n&&(e.TgZ(0,"span",40),e.SDv(1,80),e.qZA())}function Zo(n,s){1&n&&(e.TgZ(0,"span",40),e.SDv(1,81),e.qZA())}function wo(n,s){1&n&&(e.TgZ(0,"span",40),e.SDv(1,82),e.qZA())}function Ho(n,s){1&n&&(e.TgZ(0,"span",40),e.SDv(1,83),e.qZA())}function ko(n,s){1&n&&(e.TgZ(0,"span",40),e.SDv(1,84),e.qZA())}function Ko(n,s){if(1&n&&(e.TgZ(0,"div",60)(1,"div",8)(2,"label",61),e.ynx(3),e.SDv(4,62),e.BQk(),e.qZA(),e.TgZ(5,"div",11),e._UZ(6,"input",63),e.YNc(7,Bo,2,0,"span",16),e.YNc(8,Go,2,0,"span",16),e.qZA()(),e.TgZ(9,"div",8)(10,"label",64),e.ynx(11),e.SDv(12,65),e.BQk(),e.qZA(),e.TgZ(13,"div",11)(14,"div",12),e._UZ(15,"input",66)(16,"button",67)(17,"cd-copy-2-clipboard-button",68),e.qZA(),e.YNc(18,yo,2,0,"span",16),e.YNc(19,xo,2,0,"span",16),e.qZA()(),e.TgZ(20,"div",8)(21,"label",69),e.ynx(22),e.SDv(23,70),e.BQk(),e.qZA(),e.TgZ(24,"div",11),e._UZ(25,"input",71),e.YNc(26,Zo,2,0,"span",16),e.YNc(27,wo,2,0,"span",16),e.qZA()(),e.TgZ(28,"div",8)(29,"label",72),e.ynx(30),e.SDv(31,73),e.BQk(),e.qZA(),e.TgZ(32,"div",11)(33,"div",12),e._UZ(34,"input",74)(35,"button",75)(36,"cd-copy-2-clipboard-button",76),e.qZA(),e.YNc(37,Ho,2,0,"span",16),e.YNc(38,ko,2,0,"span",16),e.qZA()()()),2&n){e.oxw();const t=e.MAs(2),o=e.oxw();e.xp6(7),e.Q6J("ngIf",o.targetForm.showError("user",t,"required")),e.xp6(1),e.Q6J("ngIf",o.targetForm.showError("user",t,"pattern")),e.xp6(10),e.Q6J("ngIf",o.targetForm.showError("password",t,"required")),e.xp6(1),e.Q6J("ngIf",o.targetForm.showError("password",t,"pattern")),e.xp6(7),e.Q6J("ngIf",o.targetForm.showError("mutual_user",t,"required")),e.xp6(1),e.Q6J("ngIf",o.targetForm.showError("mutual_user",t,"pattern")),e.xp6(10),e.Q6J("ngIf",o.targetForm.showError("mutual_password",t,"required")),e.xp6(1),e.Q6J("ngIf",o.targetForm.showError("mutual_password",t,"pattern"))}}function qo(n,s){1&n&&(e.TgZ(0,"span",40),e.SDv(1,114),e.qZA())}function Xo(n,s){1&n&&(e.TgZ(0,"span",40),e.SDv(1,115),e.qZA())}function Qo(n,s){1&n&&(e.TgZ(0,"span",40),e.SDv(1,116),e.qZA())}function zo(n,s){1&n&&(e.TgZ(0,"span",40),e.SDv(1,117),e.qZA())}function Jo(n,s){1&n&&(e.TgZ(0,"span",40),e.SDv(1,118),e.qZA())}function Yo(n,s){1&n&&(e.TgZ(0,"span",40),e.SDv(1,119),e.qZA())}function Vo(n,s){1&n&&(e.TgZ(0,"span",40),e.SDv(1,120),e.qZA())}function Uo(n,s){1&n&&(e.TgZ(0,"span",40),e.SDv(1,121),e.qZA())}function jo(n,s){1&n&&(e.TgZ(0,"span",40),e.SDv(1,122),e.qZA())}function Wo(n,s){1&n&&(e.TgZ(0,"span",40),e.SDv(1,123),e.qZA())}function en(n,s){1&n&&(e.TgZ(0,"span",40),e.SDv(1,124),e.qZA())}function tn(n,s){if(1&n){const t=e.EpF();e.ynx(0),e.TgZ(1,"div",49),e._UZ(2,"input",50),e.TgZ(3,"button",51),e.NdJ("click",function(){const i=e.CHM(t),_=i.index,a=i.$implicit,c=e.oxw(),d=c.$implicit,g=c.index,S=e.oxw(3);return e.KtG(S.removeInitiatorImage(d,_,g,a))}),e._UZ(4,"i",15),e.qZA()(),e.BQk()}if(2&n){const t=s.$implicit,o=e.oxw(4);e.xp6(2),e.Q6J("value",t),e.xp6(2),e.Q6J("ngClass",e.VKq(2,ee,o.icons.destroy))}}function on(n,s){1&n&&(e.TgZ(0,"span"),e.SDv(1,125),e.qZA())}function nn(n,s){if(1&n&&(e.TgZ(0,"div",21)(1,"div",22)(2,"cd-select",126),e._UZ(3,"i",24),e.ynx(4),e.SDv(5,127),e.BQk(),e.qZA()()()),2&n){const t=e.oxw(),o=t.$implicit,i=t.index,_=e.oxw(3);e.xp6(2),e.Q6J("data",o.getValue("luns"))("options",_.imagesInitiatorSelections[i])("messages",_.messages.initiatorImage),e.xp6(1),e.Q6J("ngClass",e.VKq(4,ee,_.icons.add))}}function sn(n,s){if(1&n){const t=e.EpF();e.TgZ(0,"div",91)(1,"div",5),e.ynx(2),e.SDv(3,92),e.BQk(),e._uU(4),e.TgZ(5,"button",93),e.NdJ("click",function(){const _=e.CHM(t).index,a=e.oxw(3);return e.KtG(a.removeInitiator(_))}),e.qZA()(),e.TgZ(6,"div",7)(7,"div",8)(8,"label",94),e.SDv(9,95),e.qZA(),e.TgZ(10,"div",11)(11,"input",96),e.NdJ("blur",function(){e.CHM(t);const i=e.oxw(3);return e.KtG(i.updatedInitiatorSelector())}),e.qZA(),e.YNc(12,qo,2,0,"span",16),e.YNc(13,Xo,2,0,"span",16),e.YNc(14,Qo,2,0,"span",16),e.qZA()(),e.ynx(15,60),e.TgZ(16,"div",8)(17,"label",97),e.SDv(18,98),e.qZA(),e.TgZ(19,"div",11),e._UZ(20,"input",99),e.YNc(21,zo,2,0,"span",16),e.YNc(22,Jo,2,0,"span",16),e.qZA()(),e.TgZ(23,"div",8)(24,"label",100),e.SDv(25,101),e.qZA(),e.TgZ(26,"div",11)(27,"div",12),e._UZ(28,"input",102)(29,"button",103)(30,"cd-copy-2-clipboard-button",104),e.qZA(),e.YNc(31,Yo,2,0,"span",16),e.YNc(32,Vo,2,0,"span",16),e.qZA()(),e.TgZ(33,"div",8)(34,"label",105),e.ynx(35),e.SDv(36,106),e.BQk(),e.qZA(),e.TgZ(37,"div",11),e._UZ(38,"input",107),e.YNc(39,Uo,2,0,"span",16),e.YNc(40,jo,2,0,"span",16),e.qZA()(),e.TgZ(41,"div",8)(42,"label",108),e.SDv(43,109),e.qZA(),e.TgZ(44,"div",11)(45,"div",12),e._UZ(46,"input",110)(47,"button",103)(48,"cd-copy-2-clipboard-button",104),e.qZA(),e.YNc(49,Wo,2,0,"span",16),e.YNc(50,en,2,0,"span",16),e.qZA()(),e.BQk(),e.TgZ(51,"div",8)(52,"label",111),e.SDv(53,112),e.qZA(),e.TgZ(54,"div",11),e.YNc(55,tn,5,4,"ng-container",20),e.YNc(56,on,2,0,"span",54),e.YNc(57,nn,6,6,"div",113),e.qZA()()()()}if(2&n){const t=s.$implicit,o=s.index;e.oxw(2);const i=e.MAs(2);e.Q6J("formGroup",t),e.xp6(4),e.hij(": ",t.getValue("client_iqn")," "),e.xp6(8),e.Q6J("ngIf",t.showError("client_iqn",i,"notUnique")),e.xp6(1),e.Q6J("ngIf",t.showError("client_iqn",i,"required")),e.xp6(1),e.Q6J("ngIf",t.showError("client_iqn",i,"pattern")),e.xp6(6),e.Q6J("id","user"+o),e.xp6(1),e.Q6J("ngIf",t.showError("user",i,"required")),e.xp6(1),e.Q6J("ngIf",t.showError("user",i,"pattern")),e.xp6(6),e.Q6J("id","password"+o),e.xp6(1),e.Q6J("cdPasswordButton","password"+o),e.xp6(1),e.Q6J("source","password"+o),e.xp6(1),e.Q6J("ngIf",t.showError("password",i,"required")),e.xp6(1),e.Q6J("ngIf",t.showError("password",i,"pattern")),e.xp6(6),e.Q6J("id","mutual_user"+o),e.xp6(1),e.Q6J("ngIf",t.showError("mutual_user",i,"required")),e.xp6(1),e.Q6J("ngIf",t.showError("mutual_user",i,"pattern")),e.xp6(6),e.Q6J("id","mutual_password"+o),e.xp6(1),e.Q6J("cdPasswordButton","mutual_password"+o),e.xp6(1),e.Q6J("source","mutual_password"+o),e.xp6(1),e.Q6J("ngIf",t.showError("mutual_password",i,"required")),e.xp6(1),e.Q6J("ngIf",t.showError("mutual_password",i,"pattern")),e.xp6(5),e.Q6J("ngForOf",t.getValue("luns")),e.xp6(1),e.Q6J("ngIf",t.getValue("cdIsInGroup")),e.xp6(1),e.Q6J("ngIf",!t.getValue("cdIsInGroup"))}}function _n(n,s){1&n&&(e.TgZ(0,"span",47),e.SDv(1,128),e.qZA())}function an(n,s){if(1&n){const t=e.EpF();e.TgZ(0,"div",8)(1,"label",85),e.SDv(2,86),e.qZA(),e.TgZ(3,"div",87),e.YNc(4,sn,58,24,"div",88),e.TgZ(5,"div",21)(6,"div",22),e.YNc(7,_n,2,0,"span",17),e.TgZ(8,"button",89),e.NdJ("click",function(){return e.CHM(t),e.oxw(2).addInitiator(),e.KtG(!1)}),e._UZ(9,"i",24),e.ynx(10),e.SDv(11,90),e.BQk(),e.qZA()()(),e._UZ(12,"hr"),e.qZA()()}if(2&n){const t=e.oxw(2);e.xp6(4),e.Q6J("ngForOf",t.initiators.controls),e.xp6(3),e.Q6J("ngIf",0===t.initiators.controls.length),e.xp6(2),e.Q6J("ngClass",e.VKq(3,ee,t.icons.add))}}function rn(n,s){if(1&n){const t=e.EpF();e.ynx(0),e.TgZ(1,"div",49),e._UZ(2,"input",50),e.TgZ(3,"button",51),e.NdJ("click",function(){const _=e.CHM(t).index,a=e.oxw(),c=a.$implicit,d=a.index,g=e.oxw(3);return e.KtG(g.removeGroupInitiator(c,_,d))}),e._UZ(4,"i",15),e.qZA()(),e.BQk()}if(2&n){const t=s.$implicit,o=e.oxw(4);e.xp6(2),e.Q6J("value",t),e.xp6(2),e.Q6J("ngClass",e.VKq(2,ee,o.icons.destroy))}}function ln(n,s){if(1&n){const t=e.EpF();e.ynx(0),e.TgZ(1,"div",49),e._UZ(2,"input",50),e.TgZ(3,"button",51),e.NdJ("click",function(){const _=e.CHM(t).index,a=e.oxw(),c=a.$implicit,d=a.index,g=e.oxw(3);return e.KtG(g.removeGroupDisk(c,_,d))}),e._UZ(4,"i",15),e.qZA()(),e.BQk()}if(2&n){const t=s.$implicit,o=e.oxw(4);e.xp6(2),e.Q6J("value",t),e.xp6(2),e.Q6J("ngClass",e.VKq(2,ee,o.icons.destroy))}}function cn(n,s){if(1&n){const t=e.EpF();e.TgZ(0,"div",91)(1,"div",5),e.ynx(2),e.SDv(3,132),e.BQk(),e._uU(4),e.TgZ(5,"button",93),e.NdJ("click",function(){const _=e.CHM(t).index,a=e.oxw(3);return e.KtG(a.removeGroup(_))}),e.qZA()(),e.TgZ(6,"div",7)(7,"div",8)(8,"label",133),e.SDv(9,134),e.qZA(),e.TgZ(10,"div",11),e._UZ(11,"input",135),e.qZA()(),e.TgZ(12,"div",8)(13,"label",136),e.ynx(14),e.SDv(15,137),e.BQk(),e.qZA(),e.TgZ(16,"div",11),e.YNc(17,rn,5,4,"ng-container",20),e.TgZ(18,"div",21)(19,"div",22)(20,"cd-select",23),e.NdJ("selection",function(i){const a=e.CHM(t).index,c=e.oxw(3);return e.KtG(c.onGroupMemberSelection(i,a))}),e._UZ(21,"i",24),e.ynx(22),e.SDv(23,138),e.BQk(),e.qZA()()(),e._UZ(24,"hr"),e.qZA()(),e.TgZ(25,"div",8)(26,"label",27),e.ynx(27),e.SDv(28,139),e.BQk(),e.qZA(),e.TgZ(29,"div",11),e.YNc(30,ln,5,4,"ng-container",20),e.TgZ(31,"div",21)(32,"div",22)(33,"cd-select",126),e._UZ(34,"i",24),e.ynx(35),e.SDv(36,140),e.BQk(),e.qZA()()(),e._UZ(37,"hr"),e.qZA()()()()}if(2&n){const t=s.$implicit,o=s.index,i=e.oxw(3);e.Q6J("formGroup",t),e.xp6(4),e.hij(": ",t.getValue("group_id")," "),e.xp6(13),e.Q6J("ngForOf",t.getValue("members")),e.xp6(3),e.Q6J("data",t.getValue("members"))("options",i.groupMembersSelections[o])("messages",i.messages.groupInitiator),e.xp6(1),e.Q6J("ngClass",e.VKq(12,ee,i.icons.add)),e.xp6(9),e.Q6J("ngForOf",t.getValue("disks")),e.xp6(3),e.Q6J("data",t.getValue("disks"))("options",i.groupDiskSelections[o])("messages",i.messages.initiatorImage),e.xp6(1),e.Q6J("ngClass",e.VKq(14,ee,i.icons.add))}}function dn(n,s){1&n&&(e.TgZ(0,"span",47),e.SDv(1,141),e.qZA())}function pn(n,s){if(1&n){const t=e.EpF();e.TgZ(0,"div",8)(1,"label",85),e.SDv(2,129),e.qZA(),e.TgZ(3,"div",130),e.YNc(4,cn,38,16,"div",88),e.TgZ(5,"div",21)(6,"div",22),e.YNc(7,dn,2,0,"span",17),e.TgZ(8,"button",89),e.NdJ("click",function(){return e.CHM(t),e.oxw(2).addGroup(),e.KtG(!1)}),e._UZ(9,"i",24),e.ynx(10),e.SDv(11,131),e.BQk(),e.qZA()()()()()}if(2&n){const t=e.oxw(2);e.xp6(4),e.Q6J("ngForOf",t.groups.controls),e.xp6(3),e.Q6J("ngIf",0===t.groups.controls.length),e.xp6(2),e.Q6J("ngClass",e.VKq(3,ee,t.icons.add))}}function un(n,s){if(1&n){const t=e.EpF();e.TgZ(0,"div",1)(1,"form",2,3)(3,"div",4)(4,"div",5),e.SDv(5,6),e.ALo(6,"titlecase"),e.ALo(7,"upperFirst"),e.qZA(),e.TgZ(8,"div",7)(9,"div",8)(10,"label",9),e.SDv(11,10),e.qZA(),e.TgZ(12,"div",11)(13,"div",12),e._UZ(14,"input",13),e.TgZ(15,"button",14),e.NdJ("click",function(){e.CHM(t);const i=e.oxw();return e.KtG(i.targetSettingsModal())}),e._UZ(16,"i",15),e.qZA()(),e.YNc(17,Oo,2,0,"span",16),e.YNc(18,ho,2,0,"span",16),e.YNc(19,Ao,9,0,"span",16),e.YNc(20,Po,2,0,"span",17),e._UZ(21,"hr"),e.qZA()(),e.TgZ(22,"div",8)(23,"label",18),e.SDv(24,19),e.qZA(),e.TgZ(25,"div",11),e.YNc(26,bo,5,4,"ng-container",20),e.TgZ(27,"div",21)(28,"div",22)(29,"cd-select",23),e.NdJ("selection",function(i){e.CHM(t);const _=e.oxw();return e.KtG(_.onPortalSelection(i))}),e._UZ(30,"i",24),e.ynx(31),e.SDv(32,25),e.BQk(),e.qZA()()(),e._UZ(33,"input",26),e.YNc(34,Io,2,1,"span",16),e._UZ(35,"hr"),e.qZA()(),e.TgZ(36,"div",8)(37,"label",27),e.SDv(38,28),e.qZA(),e.TgZ(39,"div",11),e.YNc(40,Lo,11,10,"ng-container",20),e._UZ(41,"input",29),e.YNc(42,vo,2,0,"span",16),e.YNc(43,$o,2,0,"span",16),e.TgZ(44,"div",21)(45,"div",22)(46,"cd-select",23),e.NdJ("selection",function(i){e.CHM(t);const _=e.oxw();return e.KtG(_.onImageSelection(i))}),e._UZ(47,"i",24),e.ynx(48),e.SDv(49,30),e.BQk(),e.qZA()()(),e._UZ(50,"hr"),e.qZA()(),e.TgZ(51,"div",8)(52,"div",31)(53,"div",32),e._UZ(54,"input",33),e.TgZ(55,"label",34),e.SDv(56,35),e.qZA()(),e._UZ(57,"hr"),e.qZA()(),e.YNc(58,Ko,39,8,"div",36),e.YNc(59,an,13,5,"div",37),e.YNc(60,pn,12,5,"div",37),e.qZA(),e.TgZ(61,"div",38)(62,"cd-form-button-panel",39),e.NdJ("submitActionEvent",function(){e.CHM(t);const i=e.oxw();return e.KtG(i.submit())}),e.ALo(63,"titlecase"),e.ALo(64,"upperFirst"),e.qZA()()()()()}if(2&n){const t=e.MAs(2),o=e.oxw();e.xp6(1),e.Q6J("formGroup",o.targetForm),e.xp6(6),e.pQV(e.lcZ(6,26,o.action))(e.lcZ(7,28,o.resource)),e.QtT(5),e.xp6(9),e.Q6J("ngClass",e.VKq(34,ee,o.icons.deepCheck)),e.xp6(1),e.Q6J("ngIf",o.targetForm.showError("target_iqn",t,"required")),e.xp6(1),e.Q6J("ngIf",o.targetForm.showError("target_iqn",t,"pattern")),e.xp6(1),e.Q6J("ngIf",o.targetForm.showError("target_iqn",t,"iqn")),e.xp6(1),e.Q6J("ngIf",o.hasAdvancedSettings(o.targetForm.getValue("target_controls"))),e.xp6(6),e.Q6J("ngForOf",o.portals.value),e.xp6(3),e.Q6J("data",o.portals.value)("options",o.portalsSelections)("messages",o.messages.portals),e.xp6(1),e.Q6J("ngClass",e.VKq(36,ee,o.icons.add)),e.xp6(4),e.Q6J("ngIf",o.targetForm.showError("portals",t,"minGateways")),e.xp6(6),e.Q6J("ngForOf",o.targetForm.getValue("disks")),e.xp6(2),e.Q6J("ngIf",o.targetForm.showError("disks",t,"dupLunId")),e.xp6(1),e.Q6J("ngIf",o.targetForm.showError("disks",t,"dupWwn")),e.xp6(3),e.Q6J("data",o.disks.value)("options",o.imagesSelections)("messages",o.messages.images),e.xp6(1),e.Q6J("ngClass",e.VKq(38,ee,o.icons.add)),e.xp6(11),e.Q6J("ngIf",o.cephIscsiConfigVersion>10&&!o.targetForm.getValue("acl_enabled")),e.xp6(1),e.Q6J("ngIf",o.targetForm.getValue("acl_enabled")),e.xp6(1),e.Q6J("ngIf",o.targetForm.getValue("acl_enabled")),e.xp6(2),e.Q6J("form",o.targetForm)("submitText",e.lcZ(63,30,o.action)+" "+e.lcZ(64,32,o.resource))}}let Tt=(()=>{class n extends K.E{constructor(t,o,i,_,a,c,d){super(),this.iscsiService=t,this.modalService=o,this.rbdService=i,this.router=_,this.route=a,this.taskWrapper=c,this.actionLabels=d,this.api_version=0,this.minimum_gateways=1,this.icons=T.P,this.isEdit=!1,this.portalsSelections=[],this.imagesInitiatorSelections=[],this.groupDiskSelections=[],this.groupMembersSelections=[],this.imagesSettings={},this.messages={portals:new F.a({noOptions:"There are no portals available."}),images:new F.a({noOptions:"There are no images available."}),initiatorImage:new F.a({noOptions:"There are no images available. Please make sure you add an image to the target."}),groupInitiator:new F.a({noOptions:"There are no initiators available. Please make sure you add an initiator to the target."})},this.IQN_REGEX=/^iqn\.(19|20)\d\d-(0[1-9]|1[0-2])\.\D{2,3}(\.[A-Za-z0-9-]+)+(:[A-Za-z0-9-\.]+)*$/,this.USER_REGEX=/^[\w\.:@_-]{8,64}$/,this.PASSWORD_REGEX=/^[\w@\-_\/]{12,16}$/,this.resource="target"}ngOnInit(){const t=new h.E(()=>{});t.pageInfo.limit=-1;const o=[this.iscsiService.listTargets(),this.rbdService.list(t.toParams()),this.iscsiService.portals(),this.iscsiService.settings(),this.iscsiService.version()];this.router.url.startsWith("/block/iscsi/targets/edit")&&(this.isEdit=!0,this.route.params.subscribe(i=>{this.target_iqn=decodeURIComponent(i.target_iqn),o.push(this.iscsiService.getTarget(this.target_iqn))})),this.action=this.isEdit?this.actionLabels.EDIT:this.actionLabels.CREATE,(0,de.D)(o).subscribe(i=>{const _=C()(i[0]).filter(c=>c.target_iqn!==this.target_iqn).flatMap(c=>c.disks).map(c=>`${c.pool}/${c.image}`).value();"api_version"in i[3]&&(this.api_version=i[3].api_version),this.minimum_gateways=i[3].config.minimum_gateways,this.target_default_controls=i[3].target_default_controls,this.target_controls_limits=i[3].target_controls_limits,this.disk_default_controls=i[3].disk_default_controls,this.disk_controls_limits=i[3].disk_controls_limits,this.backstores=i[3].backstores,this.default_backstore=i[3].default_backstore,this.unsupported_rbd_features=i[3].unsupported_rbd_features,this.required_rbd_features=i[3].required_rbd_features,this.imagesAll=C()(i[1]).flatMap(c=>c.value).filter(c=>!c.namespace&&!(-1!==_.indexOf(`${c.pool_name}/${c.name}`)||0===this.getValidBackstores(c).length)).value(),this.imagesSelections=this.imagesAll.map(c=>new x.$(!1,`${c.pool_name}/${c.name}`,""));const a=[];i[2].forEach(c=>{c.ip_addresses.forEach(d=>{a.push(new x.$(!1,c.name+":"+d,""))})}),this.portalsSelections=[...a],this.cephIscsiConfigVersion=i[4].ceph_iscsi_config_version,this.createForm(),i[5]&&this.resolveModel(i[5]),this.loadingReady()})}createForm(){if(this.targetForm=new Z.d({target_iqn:new r.p4("iqn.2001-07.com.ceph:"+Date.now(),{validators:[r.kI.required,r.kI.pattern(this.IQN_REGEX)]}),target_controls:new r.p4({}),portals:new r.p4([],{validators:[J.h.custom("minGateways",t=>C().uniq(t.map(i=>i.split(":")[0])).length{const o=this.getLunIds(t);return o.length!==C().uniq(o).length}),J.h.custom("dupWwn",t=>{const o=this.getWwns(t);return o.length!==C().uniq(o).length})]}),initiators:new r.vC([]),groups:new r.vC([]),acl_enabled:new r.p4(!1)}),this.cephIscsiConfigVersion>10){const t=new Z.d({user:new r.p4(""),password:new r.p4(""),mutual_user:new r.p4(""),mutual_password:new r.p4("")});this.setAuthValidator(t),this.targetForm.addControl("auth",t)}}resolveModel(t){this.targetForm.patchValue({target_iqn:t.target_iqn,target_controls:t.target_controls,acl_enabled:t.acl_enabled}),this.cephIscsiConfigVersion>10&&this.targetForm.patchValue({auth:t.auth});const o=[];C().forEach(t.portals,_=>{o.push(`${_.host}:${_.ip}`)}),this.targetForm.patchValue({portals:o});const i=[];C().forEach(t.disks,_=>{const a=`${_.pool}/${_.image}`;i.push(a),this.imagesSettings[a]={backstore:_.backstore},this.imagesSettings[a][_.backstore]=_.controls,"lun"in _&&(this.imagesSettings[a].lun=_.lun),"wwn"in _&&(this.imagesSettings[a].wwn=_.wwn),this.onImageSelection({option:{name:a,selected:!0}})}),this.targetForm.patchValue({disks:i}),C().forEach(t.clients,_=>{const a=this.addInitiator();_.luns=C().map(_.luns,c=>`${c.pool}/${c.image}`),a.patchValue(_)}),t.groups.forEach((_,a)=>{const c=this.addGroup();_.disks=C().map(_.disks,d=>`${d.pool}/${d.image}`),c.patchValue(_),C().forEach(_.members,d=>{this.onGroupMemberSelection({option:new x.$(!0,d,"")},a)})})}hasAdvancedSettings(t){return Object.values(t).length>0}get portals(){return this.targetForm.get("portals")}onPortalSelection(){this.portals.setValue(this.portals.value)}removePortal(t,o){return this.portalsSelections.forEach(i=>{i.name===o&&(i.selected=!1)}),this.portals.value.splice(t,1),this.portals.setValue(this.portals.value),!1}get disks(){return this.targetForm.get("disks")}removeImage(t,o){return this.imagesSelections.forEach(i=>{i.name===o&&(i.selected=!1)}),this.disks.value.splice(t,1),this.removeImageRefs(o),this.targetForm.get("disks").updateValueAndValidity({emitEvent:!1}),!1}removeImageRefs(t){this.initiators.controls.forEach(o=>{const i=o.value.luns.filter(_=>_!==t);o.get("luns").setValue(i)}),this.groups.controls.forEach(o=>{const i=o.value.disks.filter(_=>_!==t);o.get("disks").setValue(i)}),C().forEach(this.imagesInitiatorSelections,(o,i)=>{this.imagesInitiatorSelections[i]=o.filter(_=>_.name!==t)}),C().forEach(this.groupDiskSelections,(o,i)=>{this.groupDiskSelections[i]=o.filter(_=>_.name!==t)})}getDefaultBackstore(t){let o=this.default_backstore;const i=this.getImageById(t);return this.validFeatures(i,this.default_backstore)||this.backstores.forEach(_=>{_!==this.default_backstore&&this.validFeatures(i,_)&&(o=_)}),o}isLunIdInUse(t,o){const i=this.disks.value.filter(_=>_!==o);return this.getLunIds(i).includes(t)}getLunIds(t){return C().map(t,o=>this.imagesSettings[o].lun)}nextLunId(t){const o=this.disks.value.filter(a=>a!==t),i=this.getLunIds(o);let _=0;for(;i.includes(_);)_++;return _}getWwns(t){return C().map(t,i=>this.imagesSettings[i].wwn).filter(i=>C().isString(i)&&""!==i)}onImageSelection(t){const o=t.option;if(o.selected){if(this.imagesSettings[o.name])this.isLunIdInUse(this.imagesSettings[o.name].lun,o.name)&&(this.imagesSettings[o.name].lun=this.nextLunId(o.name));else{const i=this.getDefaultBackstore(o.name);this.imagesSettings[o.name]={backstore:i,lun:this.nextLunId(o.name)},this.imagesSettings[o.name][i]={}}C().forEach(this.imagesInitiatorSelections,(i,_)=>{i.push(new x.$(!1,o.name,"")),this.imagesInitiatorSelections[_]=[...i]}),C().forEach(this.groupDiskSelections,(i,_)=>{i.push(new x.$(!1,o.name,"")),this.groupDiskSelections[_]=[...i]})}else this.removeImageRefs(o.name);this.targetForm.get("disks").updateValueAndValidity({emitEvent:!1})}get initiators(){return this.targetForm.get("initiators")}addInitiator(){const t=new Z.d({client_iqn:new r.p4("",{validators:[r.kI.required,J.h.custom("notUnique",i=>{const _=this.initiators.controls.reduce(function(a,c){return a.concat(c.value.client_iqn)},[]);return _.indexOf(i)!==_.lastIndexOf(i)}),r.kI.pattern(this.IQN_REGEX)]}),auth:new Z.d({user:new r.p4(""),password:new r.p4(""),mutual_user:new r.p4(""),mutual_password:new r.p4("")}),luns:new r.p4([]),cdIsInGroup:new r.p4(!1)});this.setAuthValidator(t),this.initiators.push(t),C().forEach(this.groupMembersSelections,(i,_)=>{i.push(new x.$(!1,"","")),this.groupMembersSelections[_]=[...i]});const o=C().map(this.targetForm.getValue("disks"),i=>new x.$(!1,i,""));return this.imagesInitiatorSelections.push(o),t}setAuthValidator(t){J.h.validateIf(t.get("user"),()=>t.getValue("password")||t.getValue("mutual_user")||t.getValue("mutual_password"),[r.kI.required],[r.kI.pattern(this.USER_REGEX)],[t.get("password"),t.get("mutual_user"),t.get("mutual_password")]),J.h.validateIf(t.get("password"),()=>t.getValue("user")||t.getValue("mutual_user")||t.getValue("mutual_password"),[r.kI.required],[r.kI.pattern(this.PASSWORD_REGEX)],[t.get("user"),t.get("mutual_user"),t.get("mutual_password")]),J.h.validateIf(t.get("mutual_user"),()=>t.getValue("mutual_password"),[r.kI.required],[r.kI.pattern(this.USER_REGEX)],[t.get("user"),t.get("password"),t.get("mutual_password")]),J.h.validateIf(t.get("mutual_password"),()=>t.getValue("mutual_user"),[r.kI.required],[r.kI.pattern(this.PASSWORD_REGEX)],[t.get("user"),t.get("password"),t.get("mutual_user")])}removeInitiator(t){const o=this.initiators.value[t];this.initiators.removeAt(t),C().forEach(this.groupMembersSelections,(i,_)=>{i.splice(t,1),this.groupMembersSelections[_]=[...i]}),this.groups.controls.forEach(i=>{const _=i.value.members.filter(a=>a!==o.client_iqn);i.get("members").setValue(_)}),this.imagesInitiatorSelections.splice(t,1)}updatedInitiatorSelector(){this.initiators.controls.forEach(t=>{t.get("client_iqn").updateValueAndValidity({emitEvent:!1})}),C().forEach(this.groupMembersSelections,(t,o)=>{C().forEach(t,(i,_)=>{const a=i.name;i.name=this.initiators.controls[_].value.client_iqn,this.groups.controls.forEach(c=>{const d=c.value.members,g=d.indexOf(a);-1!==g&&(d[g]=i.name),c.get("members").setValue(d)})}),this.groupMembersSelections[o]=[...this.groupMembersSelections[o]]})}removeInitiatorImage(t,o,i,_){const a=t.getValue("luns");return a.splice(o,1),t.patchValue({luns:a}),this.imagesInitiatorSelections[i].forEach(c=>{c.name===_&&(c.selected=!1)}),!1}get groups(){return this.targetForm.get("groups")}addGroup(){const t=new Z.d({group_id:new r.p4("",{validators:[r.kI.required]}),members:new r.p4([]),disks:new r.p4([])});this.groups.push(t);const o=C().map(this.targetForm.getValue("disks"),_=>new x.$(!1,_,""));this.groupDiskSelections.push(o);const i=C().map(this.initiators.value,_=>new x.$(!1,_.client_iqn,"",!_.cdIsInGroup));return this.groupMembersSelections.push(i),t}removeGroup(t){this.groups.removeAt(t),this.groupMembersSelections[t].filter(i=>i.selected).forEach(i=>{i.selected=!1,this.onGroupMemberSelection({option:i},t)}),this.groupMembersSelections.splice(t,1),this.groupDiskSelections.splice(t,1)}onGroupMemberSelection(t,o){const i=t.option;let _=[];i.selected||(_=this.groupDiskSelections[o].filter(c=>c.selected).map(c=>c.name)),this.initiators.controls.forEach((a,c)=>{a.value.client_iqn===i.name&&(a.patchValue({luns:_}),a.get("cdIsInGroup").setValue(i.selected),C().forEach(this.groupMembersSelections,d=>{d[c].enabled=!i.selected}),this.imagesInitiatorSelections[c].forEach(d=>{d.selected=_.includes(d.name)}))})}removeGroupInitiator(t,o,i){const _=t.getValue("members")[o];t.getValue("members").splice(o,1),this.onGroupMemberSelection({option:new x.$(!1,_,"")},i)}removeGroupDisk(t,o,i){const _=t.getValue("disks")[o];t.getValue("disks").splice(o,1),this.groupDiskSelections[i].forEach(a=>{a.name===_&&(a.selected=!1)}),this.groupDiskSelections[i]=[...this.groupDiskSelections[i]]}submit(){const t=C().cloneDeep(this.targetForm.value),o={target_iqn:this.targetForm.getValue("target_iqn"),target_controls:this.targetForm.getValue("target_controls"),acl_enabled:this.targetForm.getValue("acl_enabled"),portals:[],disks:[],clients:[],groups:[]};if(this.cephIscsiConfigVersion>10){const _=this.targetForm.get("auth");_.getValue("user")||_.get("user").setValue(""),_.getValue("password")||_.get("password").setValue(""),_.getValue("mutual_user")||_.get("mutual_user").setValue(""),_.getValue("mutual_password")||_.get("mutual_password").setValue("");const a=this.targetForm.getValue("acl_enabled");o.auth={user:a?"":_.getValue("user"),password:a?"":_.getValue("password"),mutual_user:a?"":_.getValue("mutual_user"),mutual_password:a?"":_.getValue("mutual_password")}}let i;t.disks.forEach(_=>{const a=_.split("/"),c=this.imagesSettings[_].backstore;o.disks.push({pool:a[0],image:a[1],backstore:c,controls:this.imagesSettings[_][c],lun:this.imagesSettings[_].lun,wwn:this.imagesSettings[_].wwn})}),t.portals.forEach(_=>{const a=_.indexOf(":");o.portals.push({host:_.substring(0,a),ip:_.substring(a+1)})}),o.acl_enabled&&(t.initiators.forEach(_=>{_.auth.user||(_.auth.user=""),_.auth.password||(_.auth.password=""),_.auth.mutual_user||(_.auth.mutual_user=""),_.auth.mutual_password||(_.auth.mutual_password=""),delete _.cdIsInGroup;const a=[];_.luns.forEach(c=>{const d=c.split("/");a.push({pool:d[0],image:d[1]})}),_.luns=a}),o.clients=t.initiators),o.acl_enabled&&(t.groups.forEach(_=>{const a=[];_.disks.forEach(c=>{const d=c.split("/");a.push({pool:d[0],image:d[1]})}),_.disks=a}),o.groups=t.groups),this.isEdit?(o.new_target_iqn=o.target_iqn,o.target_iqn=this.target_iqn,i=this.taskWrapper.wrapTaskAroundCall({task:new R.R("iscsi/target/edit",{target_iqn:o.target_iqn}),call:this.iscsiService.updateTarget(this.target_iqn,o)})):i=this.taskWrapper.wrapTaskAroundCall({task:new R.R("iscsi/target/create",{target_iqn:o.target_iqn}),call:this.iscsiService.createTarget(o)}),i.subscribe({error:()=>{this.targetForm.setErrors({cdSubmitButton:!0})},complete:()=>this.router.navigate(["/block/iscsi/targets"])})}targetSettingsModal(){const t={target_controls:this.targetForm.get("target_controls"),target_default_controls:this.target_default_controls,target_controls_limits:this.target_controls_limits};this.modalRef=this.modalService.show(Eo,t)}imageSettingsModal(t){const o={imagesSettings:this.imagesSettings,image:t,api_version:this.api_version,disk_default_controls:this.disk_default_controls,disk_controls_limits:this.disk_controls_limits,backstores:this.getValidBackstores(this.getImageById(t)),control:this.targetForm.get("disks")};this.modalRef=this.modalService.show(Co,o)}validFeatures(t,o){const i=t.features,_=this.required_rbd_features[o];return(i&_)===_&&0==(i&this.unsupported_rbd_features[o])}getImageById(t){return this.imagesAll.find(o=>t===`${o.pool_name}/${o.name}`)}getValidBackstores(t){return this.backstores.filter(o=>this.validFeatures(t,o))}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(Q),e.Y36(me.Z),e.Y36(H),e.Y36(m.F0),e.Y36(m.gz),e.Y36(u.P),e.Y36(N.p4))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-iscsi-target-form"]],features:[e.qOj],decls:1,vars:1,consts:function(){let s,t,o,i,_,a,c,d,g,S,I,P,$,y,z,V,oe,ne,w,le,ce,O,Te,fe,Ce,Se,Ee,Re,Me,G,Ge,ye,xe,Ze,we,He,ke,Ke,qe,Xe,D,Gt,yt,xt,Zt,wt,Ht,kt,Kt,qt,Xt,Qt,zt,Jt,Yt,Vt,Ut,jt,Wt,eo,to,oo;return s="" + "\ufffd0\ufffd" + " " + "\ufffd1\ufffd" + "",t="IQN cible",o="Portals",i="Ajouter un portail",_="Images",a="Ajouter une image",c="Authentification ACL",d="This field is required.",g="Mod\xE8le IQN incorrect.",S="An IQN has the following notation 'iqn.$year-$month.$reversedAddress:$definedName'",I="Par exemple : iqn.2016-06.org.dashboard:storage:disk.sn-a8675309",P="Plus d'informations",$="Des param\xE8tres avanc\xE9s de cette cible ont \xE9t\xE9 modifi\xE9s.",y="At least \n " + "\ufffd0\ufffd" + " gateways are required.\n ",z="Backstore: \n " + "\ufffd0\ufffd" + ".\xA0\n ",V="Des param\xE8tres avanc\xE9s de cette image ont \xE9t\xE9 modifi\xE9s.",oe="Duplicated LUN numbers.",ne="Duplicated WWN.",w="Utilisateur",le="Mot de passe",ce="Utilisateur commun",O="Mot de passe commun",Te="This field is required.",fe="User names must have a length of 8 to 64 characters and can contain alphanumeric characters, '.', '@', '-', '_' or ':'.",Ce="This field is required.",Se="Passwords must have a length of 12 to 16 characters and can contain alphanumeric characters, '@', '-', '_' or '/'.",Ee="This field is required.",Re="User names must have a length of 8 to 64 characters and can contain alphanumeric characters, '.', '@', '-', '_' or ':'.",Me="This field is required.",G="Passwords must have a length of 12 to 16 characters and can contain alphanumeric characters, '@', '-', '_' or '/'.",Ge="Initiateurs",ye="Ajouter un initiateur",xe="Initiateur",Ze="IQN client",we="Utilisateur",He="Mot de passe",ke="Utilisateur commun",Ke="Mot de passe commun",qe="Images",Xe="L'IQN de l'initiateur doit \xEAtre unique.",D="This field is required.",Gt="Mod\xE8le IQN incorrect.",yt="This field is required.",xt="User names must have a length of 8 to 64 characters and can contain alphanumeric characters, '.', '@', '-', '_' or ':'.",Zt="This field is required.",wt="Passwords must have a length of 12 to 16 characters and can contain alphanumeric characters, '@', '-', '_' or '/'.",Ht="This field is required.",kt="User names must have a length of 8 to 64 characters and can contain alphanumeric characters, '.', '@', '-', '_' or ':'.",Kt="This field is required.",qt="Passwords must have a length of 12 to 16 characters and can contain alphanumeric characters, '@', '-', '_' or '/'.",Xt="L'initiateur appartient \xE0 un groupe dans lequel les images seront configur\xE9es.",Qt="Ajouter une image",zt="Aucun \xE9l\xE9ment ajout\xE9.",Jt="Groupes",Yt="Ajouter un groupe",Vt="Group",Ut="Name",jt="Initiateurs",Wt="Ajouter un initiateur",eo="Images",to="Ajouter une image",oo="Aucun \xE9l\xE9ment ajout\xE9.",[["class","cd-col-form",4,"cdFormLoading"],[1,"cd-col-form"],["name","targetForm","novalidate","",3,"formGroup"],["formDir","ngForm"],[1,"card"],[1,"card-header"],s,[1,"card-body"],[1,"form-group","row"],["for","target_iqn",1,"cd-col-form-label","required"],t,[1,"cd-col-form-input"],[1,"input-group"],["type","text","id","target_iqn","name","target_iqn","formControlName","target_iqn","cdTrim","",1,"form-control"],["id","ecp-info-button","type","button",1,"btn","btn-light",3,"click"],["aria-hidden","true",3,"ngClass"],["class","invalid-feedback",4,"ngIf"],["class","form-text text-muted",4,"ngIf"],["for","portals",1,"cd-col-form-label","required"],o,[4,"ngFor","ngForOf"],[1,"row"],[1,"col-md-12"],["elemClass","btn btn-light float-end",3,"data","options","messages","selection"],[3,"ngClass"],i,["type","hidden","id","portals","name","portals","formControlName","portals",1,"form-control"],["for","disks",1,"cd-col-form-label"],_,["type","hidden","id","disks","name","disks","formControlName","disks",1,"form-control"],a,[1,"cd-col-form-offset"],[1,"custom-control","custom-checkbox"],["type","checkbox","formControlName","acl_enabled","name","acl_enabled","id","acl_enabled",1,"custom-control-input"],["for","acl_enabled",1,"custom-control-label"],c,["formGroupName","auth",4,"ngIf"],["class","form-group row",4,"ngIf"],[1,"card-footer"],["wrappingClass","text-right",3,"form","submitText","submitActionEvent"],[1,"invalid-feedback"],d,g,S,I,["target","_blank","href","https://en.wikipedia.org/wiki/ISCSI#Addressing"],P,[1,"form-text","text-muted"],$,[1,"input-group","cd-mb"],["type","text","disabled","",1,"cd-form-control",3,"value"],["type","button",1,"btn","btn-light",3,"click"],y,["class","input-group-text",4,"ngIf"],[4,"ngIf"],[1,"input-group-text"],z,V,oe,ne,["formGroupName","auth"],["for","target_user",1,"cd-col-form-label"],w,["type","text","autocomplete","off","id","target_user","name","target_user","formControlName","user",1,"form-control"],["for","target_password",1,"cd-col-form-label"],le,["type","password","autocomplete","new-password","id","target_password","name","target_password","formControlName","password",1,"form-control"],["type","button","cdPasswordButton","target_password",1,"btn","btn-light"],["source","target_password"],["for","target_mutual_user",1,"cd-col-form-label"],ce,["type","text","autocomplete","off","id","target_mutual_user","name","target_mutual_user","formControlName","mutual_user",1,"form-control"],["for","target_mutual_password",1,"cd-col-form-label"],O,["type","password","autocomplete","new-password","id","target_mutual_password","name","target_mutual_password","formControlName","mutual_password",1,"form-control"],["type","button","cdPasswordButton","target_mutual_password",1,"btn","btn-light"],["source","target_mutual_password"],Te,fe,Ce,Se,Ee,Re,Me,G,["for","initiators",1,"cd-col-form-label"],Ge,["formArrayName","initiators",1,"cd-col-form-input"],["class","card mb-2",3,"formGroup",4,"ngFor","ngForOf"],[1,"btn","btn-light","float-end",3,"click"],ye,[1,"card","mb-2",3,"formGroup"],xe,["type","button",1,"btn-close","float-end",3,"click"],["for","client_iqn",1,"cd-col-form-label","required"],Ze,["type","text","formControlName","client_iqn","cdTrim","",1,"form-control",3,"blur"],["for","user",1,"cd-col-form-label"],we,["formControlName","user","autocomplete","off","type","text",1,"form-control",3,"id"],["for","password",1,"cd-col-form-label"],He,["formControlName","password","autocomplete","new-password","type","password",1,"form-control",3,"id"],["type","button",1,"btn","btn-light",3,"cdPasswordButton"],[3,"source"],["for","mutual_user",1,"cd-col-form-label"],ke,["formControlName","mutual_user","autocomplete","off","type","text",1,"form-control",3,"id"],["for","mutual_password",1,"cd-col-form-label"],Ke,["formControlName","mutual_password","autocomplete","new-password","type","password",1,"form-control",3,"id"],["for","luns",1,"cd-col-form-label"],qe,["class","row",4,"ngIf"],Xe,D,Gt,yt,xt,Zt,wt,Ht,kt,Kt,qt,Xt,["elemClass","btn btn-light float-end",3,"data","options","messages"],Qt,zt,Jt,["formArrayName","groups",1,"cd-col-form-input"],Yt,Vt,["for","group_id",1,"cd-col-form-label","required"],Ut,["type","text","formControlName","group_id",1,"form-control"],["for","members",1,"cd-col-form-label"],jt,Wt,eo,to,oo]},template:function(t,o){1&t&&e.YNc(0,un,65,40,"div",0),2&t&&e.Q6J("cdFormLoading",o.loading)},dependencies:[l.mk,l.sg,l.O5,r._Y,r.Fj,r.Wl,r.JJ,r.JL,r.sg,r.u,r.x0,r.CE,Ro.H,ze.s,A.p,mt.C,Mo.$,gt.y,M.o,B.b,q.P,Y.V,l.rS,Qe.V,tt.m],styles:[".cd-mb[_ngcontent-%COMP%]{margin-bottom:10px}"]}),n})();var ft=p(68136),ge=p(30982),te=p(83697),Le=p(99466),he=p(68774),Ct=p(55657),pe=p(38047),ot=p(18001),ve=p(97161),_e=p(47640);function mn(n,s){1&n&&(e.TgZ(0,"span",29),e.SDv(1,30),e.qZA())}function gn(n,s){1&n&&(e.TgZ(0,"span",29),e.SDv(1,31),e.qZA())}function Tn(n,s){1&n&&(e.TgZ(0,"span",29),e.SDv(1,32),e.qZA())}function fn(n,s){1&n&&(e.TgZ(0,"span",29),e.SDv(1,33),e.qZA())}function Cn(n,s){1&n&&(e.TgZ(0,"span",29),e.SDv(1,34),e.qZA())}function Sn(n,s){1&n&&(e.TgZ(0,"span",29),e.SDv(1,35),e.qZA())}function En(n,s){1&n&&(e.TgZ(0,"span",29),e.SDv(1,36),e.qZA())}function Rn(n,s){1&n&&(e.TgZ(0,"span",29),e.SDv(1,37),e.qZA())}let Mn=(()=>{class n{constructor(t,o,i,_,a){this.authStorageService=t,this.activeModal=o,this.actionLabels=i,this.iscsiService=_,this.notificationService=a,this.USER_REGEX=/^[\w\.:@_-]{8,64}$/,this.PASSWORD_REGEX=/^[\w@\-_\/]{12,16}$/,this.permission=this.authStorageService.getPermissions().iscsi}ngOnInit(){this.hasPermission=this.permission.update,this.createForm(),this.iscsiService.getDiscovery().subscribe(t=>{this.discoveryForm.patchValue(t)})}createForm(){this.discoveryForm=new Z.d({user:new r.p4({value:"",disabled:!this.hasPermission}),password:new r.p4({value:"",disabled:!this.hasPermission}),mutual_user:new r.p4({value:"",disabled:!this.hasPermission}),mutual_password:new r.p4({value:"",disabled:!this.hasPermission})}),J.h.validateIf(this.discoveryForm.get("user"),()=>this.discoveryForm.getValue("password")||this.discoveryForm.getValue("mutual_user")||this.discoveryForm.getValue("mutual_password"),[r.kI.required],[r.kI.pattern(this.USER_REGEX)],[this.discoveryForm.get("password"),this.discoveryForm.get("mutual_user"),this.discoveryForm.get("mutual_password")]),J.h.validateIf(this.discoveryForm.get("password"),()=>this.discoveryForm.getValue("user")||this.discoveryForm.getValue("mutual_user")||this.discoveryForm.getValue("mutual_password"),[r.kI.required],[r.kI.pattern(this.PASSWORD_REGEX)],[this.discoveryForm.get("user"),this.discoveryForm.get("mutual_user"),this.discoveryForm.get("mutual_password")]),J.h.validateIf(this.discoveryForm.get("mutual_user"),()=>this.discoveryForm.getValue("mutual_password"),[r.kI.required],[r.kI.pattern(this.USER_REGEX)],[this.discoveryForm.get("user"),this.discoveryForm.get("password"),this.discoveryForm.get("mutual_password")]),J.h.validateIf(this.discoveryForm.get("mutual_password"),()=>this.discoveryForm.getValue("mutual_user"),[r.kI.required],[r.kI.pattern(this.PASSWORD_REGEX)],[this.discoveryForm.get("user"),this.discoveryForm.get("password"),this.discoveryForm.get("mutual_user")])}submitAction(){this.iscsiService.updateDiscovery(this.discoveryForm.value).subscribe(()=>{this.notificationService.show(ot.k.success,"Updated discovery authentication"),this.activeModal.close()},()=>{this.discoveryForm.setErrors({cdSubmitButton:!0})})}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(_e.j),e.Y36(b.Kz),e.Y36(N.p4),e.Y36(Q),e.Y36(ve.g))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-iscsi-target-discovery-modal"]],decls:44,vars:13,consts:function(){let s,t,o,i,_,a,c,d,g,S,I,P,$;return s="Authentification de la d\xE9couverte",t="Utilisateur",o="Mot de passe",i="Utilisateur commun",_="Mot de passe commun",a="This field is required.",c="User names must have a length of 8 to 64 characters and can contain alphanumeric characters, '.', '@', '-', '_' or ':'.",d="This field is required.",g="Passwords must have a length of 12 to 16 characters and can contain alphanumeric characters, '@', '-', '_' or '/'.",S="This field is required.",I="User names must have a length of 8 to 64 characters and can contain alphanumeric characters, '.', '@', '-', '_' or ':'.",P="This field is required.",$="Passwords must have a length of 12 to 16 characters and can contain alphanumeric characters, '@', '-', '_' or '/'.",[[3,"modalRef"],[1,"modal-title"],s,[1,"modal-content"],["name","discoveryForm","novalidate","",3,"formGroup"],["formDir","ngForm"],[1,"modal-body"],[1,"form-group","row"],["for","user",1,"cd-col-form-label"],t,[1,"cd-col-form-input"],["id","user","formControlName","user","type","text","autocomplete","off",1,"form-control"],["class","invalid-feedback",4,"ngIf"],["for","password",1,"cd-col-form-label"],o,[1,"input-group"],["id","password","formControlName","password","type","password","autocomplete","new-password",1,"form-control"],["type","button","cdPasswordButton","password",1,"btn","btn-light"],["source","password"],["for","mutual_user",1,"cd-col-form-label"],i,["id","mutual_user","formControlName","mutual_user","type","text","autocomplete","off",1,"form-control"],["for","mutual_password",1,"cd-col-form-label"],_,["id","mutual_password","formControlName","mutual_password","type","password","autocomplete","new-password",1,"form-control"],["type","button","cdPasswordButton","mutual_password",1,"btn","btn-light"],["source","mutual_password"],[1,"modal-footer"],[3,"form","showSubmit","submitText","submitActionEvent"],[1,"invalid-feedback"],a,c,d,g,S,I,P,$]},template:function(t,o){if(1&t&&(e.TgZ(0,"cd-modal",0),e.ynx(1,1),e.SDv(2,2),e.BQk(),e.ynx(3,3),e.TgZ(4,"form",4,5)(6,"div",6)(7,"div",7)(8,"label",8),e.SDv(9,9),e.qZA(),e.TgZ(10,"div",10),e._UZ(11,"input",11),e.YNc(12,mn,2,0,"span",12),e.YNc(13,gn,2,0,"span",12),e.qZA()(),e.TgZ(14,"div",7)(15,"label",13),e.SDv(16,14),e.qZA(),e.TgZ(17,"div",10)(18,"div",15),e._UZ(19,"input",16)(20,"button",17)(21,"cd-copy-2-clipboard-button",18),e.qZA(),e.YNc(22,Tn,2,0,"span",12),e.YNc(23,fn,2,0,"span",12),e.qZA()(),e.TgZ(24,"div",7)(25,"label",19),e.ynx(26),e.SDv(27,20),e.BQk(),e.qZA(),e.TgZ(28,"div",10),e._UZ(29,"input",21),e.YNc(30,Cn,2,0,"span",12),e.YNc(31,Sn,2,0,"span",12),e.qZA()(),e.TgZ(32,"div",7)(33,"label",22),e.SDv(34,23),e.qZA(),e.TgZ(35,"div",10)(36,"div",15),e._UZ(37,"input",24)(38,"button",25)(39,"cd-copy-2-clipboard-button",26),e.qZA(),e.YNc(40,En,2,0,"span",12),e.YNc(41,Rn,2,0,"span",12),e.qZA()()(),e.TgZ(42,"div",27)(43,"cd-form-button-panel",28),e.NdJ("submitActionEvent",function(){return o.submitAction()}),e.qZA()()(),e.BQk(),e.qZA()),2&t){const i=e.MAs(5);e.Q6J("modalRef",o.activeModal),e.xp6(4),e.Q6J("formGroup",o.discoveryForm),e.xp6(8),e.Q6J("ngIf",o.discoveryForm.showError("user",i,"required")),e.xp6(1),e.Q6J("ngIf",o.discoveryForm.showError("user",i,"pattern")),e.xp6(9),e.Q6J("ngIf",o.discoveryForm.showError("password",i,"required")),e.xp6(1),e.Q6J("ngIf",o.discoveryForm.showError("password",i,"pattern")),e.xp6(7),e.Q6J("ngIf",o.discoveryForm.showError("mutual_user",i,"required")),e.xp6(1),e.Q6J("ngIf",o.discoveryForm.showError("mutual_user",i,"pattern")),e.xp6(9),e.Q6J("ngIf",o.discoveryForm.showError("mutual_password",i,"required")),e.xp6(1),e.Q6J("ngIf",o.discoveryForm.showError("mutual_password",i,"pattern")),e.xp6(2),e.Q6J("form",o.discoveryForm)("showSubmit",o.hasPermission)("submitText",o.actionLabels.SUBMIT)}},dependencies:[l.O5,r._Y,r.Fj,r.JJ,r.JL,r.sg,r.u,f.z,ze.s,A.p,mt.C,M.o,B.b,q.P,Y.V]}),n})();var On=p(86969),nt=p(34501),hn=p(30490),Ae=p(94928);let St=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-iscsi-tabs"]],decls:7,vars:0,consts:function(){let s,t;return s="Pr\xE9sentation",t="Cibles",[[1,"nav","nav-tabs"],[1,"nav-item"],["routerLink","/block/iscsi/overview","routerLinkActive","active","ariaCurrentWhenActive","page",1,"nav-link"],s,["routerLink","/block/iscsi/targets","routerLinkActive","active","ariaCurrentWhenActive","page",1,"nav-link"],t]},template:function(t,o){1&t&&(e.TgZ(0,"ul",0)(1,"li",1)(2,"a",2),e.SDv(3,3),e.qZA()(),e.TgZ(4,"li",1)(5,"a",4),e.SDv(6,5),e.qZA()()())},dependencies:[m.rH,m.Od]}),n})();var An=p(68962);const Pn=["highlightTpl"],bn=["detailTable"],In=["tree"],Nn=function(){return["logged_in"]},Fn=function(){return["logged_out"]},Dn=function(n,s){return{"badge-success":n,"badge-danger":s}};function Ln(n,s){if(1&n&&(e._UZ(0,"i"),e.TgZ(1,"span"),e._uU(2),e.qZA(),e._uU(3," \xa0 "),e.TgZ(4,"span",8),e._uU(5),e.qZA()),2&n){const t=s.$implicit;e.Tol(t.data.cdIcon),e.xp6(2),e.Oqu(t.data.name),e.xp6(2),e.Q6J("ngClass",e.WLB(7,Dn,e.DdM(5,Nn).includes(t.data.status),e.DdM(6,Fn).includes(t.data.status))),e.xp6(1),e.hij(" ",t.data.status," ")}}function vn(n,s){if(1&n&&(e.TgZ(0,"div",9)(1,"legend"),e._uU(2),e.qZA(),e._UZ(3,"cd-table",10,11),e.qZA()),2&n){const t=e.oxw();e.xp6(2),e.Oqu(t.title),e.xp6(1),e.Q6J("data",t.data)("columns",t.columns)("limit",0)}}function $n(n,s){if(1&n&&(e.TgZ(0,"span"),e._uU(1),e.qZA()),2&n){const t=e.oxw().value;e.xp6(1),e.Oqu(t)}}function Bn(n,s){if(1&n&&(e.TgZ(0,"strong"),e._uU(1),e.qZA()),2&n){const t=e.oxw().value;e.xp6(1),e.Oqu(t)}}function Gn(n,s){if(1&n&&(e.YNc(0,$n,2,1,"span",12),e.YNc(1,Bn,2,1,"strong",12)),2&n){const t=s.row;e.Q6J("ngIf",void 0===t.default||t.default===t.current),e.xp6(1),e.Q6J("ngIf",void 0!==t.default&&t.default!==t.current)}}let yn=(()=>{class n{set content(t){this.detailTable=t,t&&t.updateColumns()}constructor(t,o){this.iscsiBackstorePipe=t,this.booleanTextPipe=o,this.icons=T.P,this.metadata={},this.nodes=[],this.treeOptions={useVirtualScroll:!0,actionMapping:{mouse:{click:this.onNodeSelected.bind(this)}}}}ngOnInit(){this.columns=[{prop:"displayName",name:"Name",flexGrow:1,cellTemplate:this.highlightTpl},{prop:"current",name:"Current",flexGrow:1,cellTemplate:this.highlightTpl},{prop:"default",name:"Default",flexGrow:1,cellTemplate:this.highlightTpl}]}ngOnChanges(){this.selection&&(this.selectedItem=this.selection,this.generateTree()),this.data=void 0}generateTree(){const t=C().cloneDeep(this.selectedItem.target_controls);this.cephIscsiConfigVersion>10&&C().extend(t,C().cloneDeep(this.selectedItem.auth)),this.metadata={root:t};const o={target:{expanded:C().join(this.selectedItem.cdExecuting?[T.P.large,T.P.spinner,T.P.spin]:[T.P.large,T.P.bullseye]," ")},initiators:{expanded:C().join([T.P.large,T.P.user]," "),leaf:C().join([T.P.user]," ")},groups:{expanded:C().join([T.P.large,T.P.users]," "),leaf:C().join([T.P.users]," ")},disks:{expanded:C().join([T.P.large,T.P.disk]," "),leaf:C().join([T.P.disk]," ")},portals:{expanded:C().join([T.P.large,T.P.server]," "),leaf:C().join([T.P.server]," ")}},i=[];C().forEach(this.selectedItem.disks,d=>{const g="disk_"+d.pool+"_"+d.image;this.metadata[g]={controls:d.controls,backstore:d.backstore},["wwn","lun"].forEach(S=>{S in d&&(this.metadata[g][S]=d[S])}),i.push({name:`${d.pool}/${d.image}`,cdId:g,cdIcon:o.disks.leaf})});const _=[];C().forEach(this.selectedItem.portals,d=>{_.push({name:`${d.host}:${d.ip}`,cdIcon:o.portals.leaf})});const a=[];C().forEach(this.selectedItem.clients,d=>{const g=C().cloneDeep(d.auth);d.info&&(C().extend(g,d.info),delete g.state,C().forEach(Object.keys(d.info.state),P=>{g[P.toLowerCase()]=d.info.state[P]})),this.metadata["client_"+d.client_iqn]=g;const S=[];d.luns.forEach(P=>{S.push({name:`${P.pool}/${P.image}`,cdId:"disk_"+P.pool+"_"+P.image,cdIcon:o.disks.leaf})});let I="";d.info&&(I=Object.keys(d.info.state).includes("LOGGED_IN")?"logged_in":"logged_out"),a.push({name:d.client_iqn,status:I,cdId:"client_"+d.client_iqn,children:S,cdIcon:o.initiators.leaf})});const c=[];C().forEach(this.selectedItem.groups,d=>{const g=[];d.disks.forEach(I=>{g.push({name:`${I.pool}/${I.image}`,cdId:"disk_"+I.pool+"_"+I.image,cdIcon:o.disks.leaf})});const S=[];d.members.forEach(I=>{S.push({name:I,cdId:"client_"+I})}),c.push({name:d.group_id,cdIcon:o.groups.leaf,children:[{name:"Disks",children:g,cdIcon:o.disks.expanded},{name:"Initiators",children:S,cdIcon:o.initiators.expanded}]})}),this.nodes=[{name:this.selectedItem.target_iqn,cdId:"root",isExpanded:!0,cdIcon:o.target.expanded,children:[{name:"Disks",isExpanded:!0,children:i,cdIcon:o.disks.expanded},{name:"Portals",isExpanded:!0,children:_,cdIcon:o.portals.expanded},{name:"Initiators",isExpanded:!0,children:a,cdIcon:o.initiators.expanded},{name:"Groups",isExpanded:!0,children:c,cdIcon:o.groups.expanded}]}]}format(t){return"boolean"==typeof t?this.booleanTextPipe.transform(t):t}onNodeSelected(t,o){if(ie.iM.ACTIVATE(t,o,!0),o.data.cdId){this.title=o.data.name;const i=this.metadata[o.data.cdId]||{};"root"===o.data.cdId?(this.detailTable?.toggleColumn({prop:"default",isHidden:!0}),this.data=C().map(this.settings.target_default_controls,(_,a)=>({displayName:a,default:_=this.format(_),current:C().isUndefined(i[a])?_:this.format(i[a])})),this.cephIscsiConfigVersion>10&&["user","password","mutual_user","mutual_password"].forEach(_=>{this.data.push({displayName:_,default:null,current:i[_]})})):o.data.cdId.toString().startsWith("disk_")?(this.detailTable?.toggleColumn({prop:"default",isHidden:!0}),this.data=C().map(this.settings.disk_default_controls[i.backstore],(_,a)=>({displayName:a,default:_=this.format(_),current:C().isUndefined(i.controls[a])?_:this.format(i.controls[a])})),this.data.push({displayName:"backstore",default:this.iscsiBackstorePipe.transform(this.settings.default_backstore),current:this.iscsiBackstorePipe.transform(i.backstore)}),["wwn","lun"].forEach(_=>{_ in i&&this.data.push({displayName:_,default:void 0,current:i[_]})})):(this.detailTable?.toggleColumn({prop:"default",isHidden:!1}),this.data=C().map(i,(_,a)=>({displayName:a,default:void 0,current:this.format(_)})))}else this.data=void 0;this.detailTable?.updateColumns()}onUpdateData(){this.tree.treeModel.expandAll()}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(Qe.V),e.Y36(An.T))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-iscsi-target-details"]],viewQuery:function(t,o){if(1&t&&(e.Gf(Pn,7),e.Gf(bn,5),e.Gf(In,5)),2&t){let i;e.iGM(i=e.CRH())&&(o.highlightTpl=i.first),e.iGM(i=e.CRH())&&(o.content=i.first),e.iGM(i=e.CRH())&&(o.tree=i.first)}},inputs:{selection:"selection",settings:"settings",cephIscsiConfigVersion:"cephIscsiConfigVersion"},features:[e.TTD],decls:11,vars:3,consts:function(){let s;return s="Topologie iSCSI",[[1,"row"],[1,"col-6"],s,[3,"nodes","options","updateData"],["tree",""],["treeNodeTemplate",""],["class","col-6 metadata",4,"ngIf"],["highlightTpl",""],[1,"badge",3,"ngClass"],[1,"col-6","metadata"],["columnMode","flex",3,"data","columns","limit"],["detailTable",""],[4,"ngIf"]]},template:function(t,o){1&t&&(e.TgZ(0,"div",0)(1,"div",1)(2,"legend"),e.SDv(3,2),e.qZA(),e.TgZ(4,"tree-root",3,4),e.NdJ("updateData",function(){return o.onUpdateData()}),e.YNc(6,Ln,6,10,"ng-template",null,5,e.W1O),e.qZA()(),e.YNc(8,vn,5,4,"div",6),e.qZA(),e.YNc(9,Gn,2,2,"ng-template",null,7,e.W1O)),2&t&&(e.xp6(4),e.Q6J("nodes",o.nodes)("options",o.treeOptions),e.xp6(4),e.Q6J("ngIf",o.data))},dependencies:[l.mk,l.O5,te.a,ie.qr]}),n})();function xn(n,s){if(1&n&&(e.ynx(0),e._UZ(1,"br"),e.TgZ(2,"span"),e.SDv(3,6),e.qZA(),e.TgZ(4,"pre"),e._uU(5),e.qZA(),e.BQk()),2&n){const t=e.oxw(2);e.xp6(5),e.Oqu(t.status)}}function Zn(n,s){if(1&n&&(e.TgZ(0,"cd-alert-panel",2),e.ynx(1),e.tHW(2,3),e._UZ(3,"cd-doc",4),e.N_p(),e.BQk(),e.YNc(4,xn,6,1,"ng-container",5),e.qZA()),2&n){const t=e.oxw();e.xp6(4),e.Q6J("ngIf",t.status)}}function wn(n,s){if(1&n&&e._UZ(0,"cd-iscsi-target-details",15),2&n){const t=e.oxw(2);e.Q6J("cephIscsiConfigVersion",t.cephIscsiConfigVersion)("selection",t.expandedRow)("settings",t.settings)}}const Hn=function(n){return[n]};function kn(n,s){if(1&n){const t=e.EpF();e.TgZ(0,"cd-table",7,8),e.NdJ("fetchData",function(){e.CHM(t);const i=e.oxw();return e.KtG(i.getTargets())})("setExpandedRow",function(i){e.CHM(t);const _=e.oxw();return e.KtG(_.setExpandedRow(i))})("updateSelection",function(i){e.CHM(t);const _=e.oxw();return e.KtG(_.updateSelection(i))}),e.TgZ(2,"div",9),e._UZ(3,"cd-table-actions",10),e.TgZ(4,"button",11),e.NdJ("click",function(){e.CHM(t);const i=e.oxw();return e.KtG(i.configureDiscoveryAuth())}),e._UZ(5,"i",12),e.ynx(6),e.SDv(7,13),e.BQk(),e.qZA()(),e.YNc(8,wn,1,3,"cd-iscsi-target-details",14),e.qZA()}if(2&n){const t=e.oxw();e.Q6J("data",t.targets)("columns",t.columns)("hasDetails",!0)("autoReload",!1)("status",t.tableStatus),e.xp6(3),e.Q6J("permission",t.permission)("selection",t.selection)("tableActions",t.tableActions),e.xp6(2),e.Q6J("ngClass",e.VKq(10,Hn,t.icons.key)),e.xp6(3),e.Q6J("ngIf",t.expandedRow)}}let Kn=(()=>{class n extends ft.o{constructor(t,o,i,_,a,c,d,g,S){super(S),this.authStorageService=t,this.iscsiService=o,this.joinPipe=i,this.taskListService=_,this.notAvailablePipe=a,this.modalService=c,this.taskWrapper=d,this.actionLabels=g,this.ngZone=S,this.available=void 0,this.selection=new he.r,this.targets=[],this.icons=T.P,this.builders={"iscsi/target/create":I=>({target_iqn:I.target_iqn})},this.permission=this.authStorageService.getPermissions().iscsi,this.tableActions=[{permission:"create",icon:T.P.add,routerLink:()=>"/block/iscsi/targets/create",name:this.actionLabels.CREATE},{permission:"update",icon:T.P.edit,routerLink:()=>`/block/iscsi/targets/edit/${this.selection.first().target_iqn}`,name:this.actionLabels.EDIT,disable:()=>this.getEditDisableDesc()},{permission:"delete",icon:T.P.destroy,click:()=>this.deleteIscsiTargetModal(),name:this.actionLabels.DELETE,disable:()=>this.getDeleteDisableDesc()}]}ngOnInit(){this.columns=[{name:"Target",prop:"target_iqn",flexGrow:2,cellTransformation:Le.e.executing},{name:"Portals",prop:"cdPortals",pipe:this.joinPipe,flexGrow:2},{name:"Images",prop:"cdImages",pipe:this.joinPipe,flexGrow:2},{name:"# Sessions",prop:"info.num_sessions",pipe:this.notAvailablePipe,flexGrow:1}],this.iscsiService.status().subscribe(t=>{this.available=t.available,t.available||(this.status=t.message)})}getTargets(){this.available&&(this.setTableRefreshTimeout(),this.iscsiService.version().subscribe(t=>{this.cephIscsiConfigVersion=t.ceph_iscsi_config_version}),this.taskListService.init(()=>this.iscsiService.listTargets(),t=>this.prepareResponse(t),t=>this.targets=t,()=>this.onFetchError(),this.taskFilter,this.itemFilter,this.builders),this.iscsiService.settings().subscribe(t=>{this.settings=t}))}ngOnDestroy(){this.summaryDataSubscription&&this.summaryDataSubscription.unsubscribe()}getEditDisableDesc(){const t=this.selection.first();return t&&t?.cdExecuting?t.cdExecuting:t&&C().isUndefined(t?.info)?"Unavailable gateway(s)":!t}getDeleteDisableDesc(){const t=this.selection.first();return t?.cdExecuting?t.cdExecuting:t&&C().isUndefined(t?.info)?"Unavailable gateway(s)":t&&t?.info?.num_sessions?"Target has active sessions":!t}prepareResponse(t){return t.forEach(o=>{o.cdPortals=o.portals.map(i=>`${i.host}:${i.ip}`),o.cdImages=o.disks.map(i=>`${i.pool}/${i.image}`)}),t}onFetchError(){this.table.reset()}itemFilter(t,o){return t.target_iqn===o.metadata.target_iqn}taskFilter(t){return["iscsi/target/create","iscsi/target/edit","iscsi/target/delete"].includes(t.name)}updateSelection(t){this.selection=t}deleteIscsiTargetModal(){const t=this.selection.first().target_iqn;this.modalRef=this.modalService.show(ge.M,{itemDescription:"iSCSI target",itemNames:[t],submitActionObservable:()=>this.taskWrapper.wrapTaskAroundCall({task:new R.R("iscsi/target/delete",{target_iqn:t}),call:this.iscsiService.deleteTarget(t)})})}configureDiscoveryAuth(){this.modalService.show(Mn)}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(_e.j),e.Y36(Q),e.Y36(On.A),e.Y36(pe.j),e.Y36(Ct.g),e.Y36(me.Z),e.Y36(u.P),e.Y36(N.p4),e.Y36(e.R0b))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-iscsi-target-list"]],viewQuery:function(t,o){if(1&t&&e.Gf(te.a,5),2&t){let i;e.iGM(i=e.CRH())&&(o.table=i.first)}},features:[e._Bn([pe.j]),e.qOj],decls:3,vars:2,consts:function(){let s,t,o,i;return s="Cibles iSCSI non disponibles",t="Please consult the \n " + "\ufffd#3\ufffd" + "\n " + "\ufffd/#3\ufffd" + " on how to configure and enable the iSCSI Targets management functionality.\n ",o="Informations disponibles :",i="Discovery authentication",[["type","info","title",s,4,"ngIf"],["columnMode","flex","identifier","target_iqn","forceIdentifier","true","selectionType","single",3,"data","columns","hasDetails","autoReload","status","fetchData","setExpandedRow","updateSelection",4,"ngIf"],["type","info","title",s],t,["section","iscsi"],[4,"ngIf"],o,["columnMode","flex","identifier","target_iqn","forceIdentifier","true","selectionType","single",3,"data","columns","hasDetails","autoReload","status","fetchData","setExpandedRow","updateSelection"],["table",""],[1,"table-actions","btn-toolbar"],[1,"btn-group",3,"permission","selection","tableActions"],["type","button",1,"btn","btn-light",3,"click"],["aria-hidden","true",3,"ngClass"],i,["cdTableDetail","",3,"cephIscsiConfigVersion","selection","settings",4,"ngIf"],["cdTableDetail","",3,"cephIscsiConfigVersion","selection","settings"]]},template:function(t,o){1&t&&(e._UZ(0,"cd-iscsi-tabs"),e.YNc(1,Zn,5,1,"cd-alert-panel",0),e.YNc(2,kn,9,12,"cd-table",1)),2&t&&(e.xp6(1),e.Q6J("ngIf",!1===o.available),e.xp6(1),e.Q6J("ngIf",!0===o.available))},dependencies:[l.mk,l.O5,nt.G,hn.K,te.a,Ae.K,M.o,St,yn]}),n})();var it=p(66369),qn=p(76446),Xn=p(90068);const Qn=["iscsiSparklineTpl"],zn=["iscsiPerSecondTpl"],Jn=["iscsiRelativeDateTpl"];function Yn(n,s){if(1&n&&(e.TgZ(0,"span"),e._UZ(1,"cd-sparkline",9),e.qZA()),2&n){const t=e.oxw(),o=t.value,i=t.row;e.xp6(1),e.Q6J("data",o)("isBinary",i.cdIsBinary)}}function Vn(n,s){1&n&&(e.TgZ(0,"span",10),e._uU(1," n/a "),e.qZA())}function Un(n,s){if(1&n&&(e.YNc(0,Yn,2,2,"span",7),e.YNc(1,Vn,2,0,"span",8)),2&n){const t=s.row;e.Q6J("ngIf","user:rbd"===t.backstore),e.xp6(1),e.Q6J("ngIf","user:rbd"!==t.backstore)}}function jn(n,s){if(1&n&&(e.TgZ(0,"span"),e._uU(1),e.qZA()),2&n){const t=e.oxw().value;e.xp6(1),e.hij(" ",t," /s ")}}function Wn(n,s){1&n&&(e.TgZ(0,"span",10),e._uU(1," n/a "),e.qZA())}function ei(n,s){if(1&n&&(e.YNc(0,jn,2,1,"span",7),e.YNc(1,Wn,2,0,"span",8)),2&n){const t=s.row;e.Q6J("ngIf","user:rbd"===t.backstore),e.xp6(1),e.Q6J("ngIf","user:rbd"!==t.backstore)}}function ti(n,s){if(1&n&&(e.TgZ(0,"span"),e._uU(1),e.ALo(2,"notAvailable"),e.ALo(3,"relativeDate"),e.qZA()),2&n){const t=e.oxw().value;e.xp6(1),e.hij(" ",e.lcZ(2,1,e.lcZ(3,3,t))," ")}}function oi(n,s){1&n&&(e.TgZ(0,"span",10),e._uU(1," n/a "),e.qZA())}function ni(n,s){if(1&n&&(e.YNc(0,ti,4,5,"span",7),e.YNc(1,oi,2,0,"span",8)),2&n){const t=s.row;e.Q6J("ngIf","user:rbd"===t.backstore),e.xp6(1),e.Q6J("ngIf","user:rbd"!==t.backstore)}}let ii=(()=>{class n{constructor(t,o,i){this.iscsiService=t,this.dimlessPipe=o,this.iscsiBackstorePipe=i,this.gateways=[],this.images=[]}ngOnInit(){this.gatewaysColumns=[{name:"Name",prop:"name"},{name:"State",prop:"state",flexGrow:1,cellTransformation:Le.e.badge,customTemplateConfig:{map:{up:{class:"badge-success"},down:{class:"badge-danger"}}}},{name:"# Targets",prop:"num_targets"},{name:"# Sessions",prop:"num_sessions"}],this.imagesColumns=[{name:"Pool",prop:"pool"},{name:"Image",prop:"image"},{name:"Backstore",prop:"backstore",pipe:this.iscsiBackstorePipe},{name:"Read Bytes",prop:"stats_history.rd_bytes",cellTemplate:this.iscsiSparklineTpl},{name:"Write Bytes",prop:"stats_history.wr_bytes",cellTemplate:this.iscsiSparklineTpl},{name:"Read Ops",prop:"stats.rd",pipe:this.dimlessPipe,cellTemplate:this.iscsiPerSecondTpl},{name:"Write Ops",prop:"stats.wr",pipe:this.dimlessPipe,cellTemplate:this.iscsiPerSecondTpl},{name:"A/O Since",prop:"optimized_since",cellTemplate:this.iscsiRelativeDateTpl}]}refresh(){this.iscsiService.overview().subscribe(t=>{this.gateways=t.gateways,this.images=t.images,this.images.map(o=>(o.stats_history&&(o.stats_history.rd_bytes=o.stats_history.rd_bytes.map(i=>i[1]),o.stats_history.wr_bytes=o.stats_history.wr_bytes.map(i=>i[1])),o.cdIsBinary=!0,o))})}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(Q),e.Y36(it.n),e.Y36(Qe.V))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-iscsi"]],viewQuery:function(t,o){if(1&t&&(e.Gf(Qn,7),e.Gf(zn,7),e.Gf(Jn,7)),2&t){let i;e.iGM(i=e.CRH())&&(o.iscsiSparklineTpl=i.first),e.iGM(i=e.CRH())&&(o.iscsiPerSecondTpl=i.first),e.iGM(i=e.CRH())&&(o.iscsiRelativeDateTpl=i.first)}},decls:15,vars:4,consts:function(){let s,t;return s="Gateways",t="Images",[s,[3,"data","columns","fetchData"],t,[3,"data","columns"],["iscsiSparklineTpl",""],["iscsiPerSecondTpl",""],["iscsiRelativeDateTpl",""],[4,"ngIf"],["class","text-muted",4,"ngIf"],[3,"data","isBinary"],[1,"text-muted"]]},template:function(t,o){1&t&&(e._UZ(0,"cd-iscsi-tabs"),e.TgZ(1,"legend"),e.SDv(2,0),e.qZA(),e.TgZ(3,"div")(4,"cd-table",1),e.NdJ("fetchData",function(){return o.refresh()}),e.qZA()(),e.TgZ(5,"legend"),e.SDv(6,2),e.qZA(),e.TgZ(7,"div"),e._UZ(8,"cd-table",3),e.qZA(),e.YNc(9,Un,2,2,"ng-template",null,4,e.W1O),e.YNc(11,ei,2,2,"ng-template",null,5,e.W1O),e.YNc(13,ni,2,2,"ng-template",null,6,e.W1O)),2&t&&(e.xp6(4),e.Q6J("data",o.gateways)("columns",o.gatewaysColumns),e.xp6(4),e.Q6J("data",o.images)("columns",o.imagesColumns))},dependencies:[l.O5,qn.l,te.a,St,Xn.h,Ct.g]}),n})(),si=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=e.oAB({type:n}),n.\u0275inj=e.cJS({imports:[l.ez,se.m,b.Oz,m.Bz,r.u5,r.UX,b.ZQ,b.HK]}),n})();var _i=p(13464),ai=p(26215),ri=p(45435),Et=p(36848);let X=class{constructor(s,t){this.http=s,this.timerService=t,this.REFRESH_INTERVAL=3e4,this.summaryDataSource=new ai.X(null),this.summaryData$=this.summaryDataSource.asObservable()}startPolling(){return this.timerService.get(()=>this.retrieveSummaryObservable(),this.REFRESH_INTERVAL).subscribe(this.retrieveSummaryObserver())}refresh(){return this.retrieveSummaryObservable().subscribe(this.retrieveSummaryObserver())}retrieveSummaryObservable(){return this.http.get("api/block/mirroring/summary")}retrieveSummaryObserver(){return s=>{this.summaryDataSource.next(s)}}subscribeSummary(s,t){return this.summaryData$.pipe((0,ri.h)(o=>!!o)).subscribe(s,t)}getPool(s){return this.http.get(`api/block/mirroring/pool/${s}`)}updatePool(s,t){return this.http.put(`api/block/mirroring/pool/${s}`,t,{observe:"response"})}getSiteName(){return this.http.get("api/block/mirroring/site_name")}setSiteName(s){return this.http.put("api/block/mirroring/site_name",{site_name:s},{observe:"response"})}createBootstrapToken(s){return this.http.post(`api/block/mirroring/pool/${s}/bootstrap/token`,{})}importBootstrapToken(s,t,o){return this.http.post(`api/block/mirroring/pool/${s}/bootstrap/peer`,{direction:t,token:o},{observe:"response"})}getPeer(s,t){return this.http.get(`api/block/mirroring/pool/${s}/peer/${t}`)}getPeerForPool(s){return this.http.get(`api/block/mirroring/pool/${s}/peer`)}addPeer(s,t){return this.http.post(`api/block/mirroring/pool/${s}/peer`,t,{observe:"response"})}updatePeer(s,t,o){return this.http.put(`api/block/mirroring/pool/${s}/peer/${t}`,o,{observe:"response"})}deletePeer(s,t){return this.http.delete(`api/block/mirroring/pool/${s}/peer/${t}`,{observe:"response"})}};X.\u0275fac=function(s){return new(s||X)(e.LFG(ae.eN),e.LFG(Et.f))},X.\u0275prov=e.Yz7({token:X,factory:X.\u0275fac,providedIn:"root"}),(0,L.gn)([(0,L.fM)(0,W.G),(0,L.w6)("design:type",Function),(0,L.w6)("design:paramtypes",[String]),(0,L.w6)("design:returntype",void 0)],X.prototype,"setSiteName",null),(0,L.gn)([(0,L.fM)(1,W.G),(0,L.fM)(2,W.G),(0,L.w6)("design:type",Function),(0,L.w6)("design:paramtypes",[String,String,String]),(0,L.w6)("design:returntype",void 0)],X.prototype,"importBootstrapToken",null),X=(0,L.gn)([W.o,(0,L.w6)("design:paramtypes",[ae.eN,Et.f])],X);var st=p(6481),li=p(68307),Rt=p(12627),ci=p(39749),di=p(13472),Pe=p(82945);function pi(n,s){1&n&&(e.TgZ(0,"span",25),e.SDv(1,26),e.qZA())}function ui(n,s){if(1&n&&(e.TgZ(0,"div",27),e._UZ(1,"input",28),e.TgZ(2,"label",29),e._uU(3),e.qZA()()),2&n){const t=s.$implicit;e.xp6(1),e.s9C("id",t.name),e.s9C("name",t.name),e.s9C("formControlName",t.name),e.xp6(1),e.s9C("for",t.name),e.xp6(1),e.Oqu(t.name)}}function mi(n,s){1&n&&(e.TgZ(0,"span",25),e.SDv(1,30),e.qZA())}let gi=(()=>{class n{constructor(t,o,i){this.activeModal=t,this.rbdMirroringService=o,this.taskWrapper=i,this.pools=[],this.createForm()}createForm(){this.createBootstrapForm=new Z.d({siteName:new r.p4("",{validators:[r.kI.required]}),pools:new r.nJ({},{validators:[this.validatePools()]}),token:new r.p4("",{})})}ngOnInit(){this.createBootstrapForm.get("siteName").setValue(this.siteName),this.rbdMirroringService.getSiteName().subscribe(t=>{this.createBootstrapForm.get("siteName").setValue(t.site_name)}),this.subs=this.rbdMirroringService.subscribeSummary(t=>{this.pools=t.content_data.pools.reduce((_,a)=>(_.push({name:a.name,mirror_mode:a.mirror_mode}),_),[]);const i=this.createBootstrapForm.get("pools");C().each(this.pools,_=>{const a=_.name,c="disabled"===_.mirror_mode,d=i.controls[a];d?c&&d.disabled?d.enable():!c&&d.enabled&&(d.disable(),d.setValue(!0)):i.addControl(a,new r.p4({value:!c,disabled:!c}))})})}ngOnDestroy(){this.subs&&this.subs.unsubscribe()}validatePools(){return t=>{let o=0;return C().each(t.controls,i=>{!0===i.value&&++o}),o>0?null:{requirePool:!0}}}generate(){this.createBootstrapForm.get("token").setValue("");let t="";const o=[],i=this.createBootstrapForm.get("pools");C().each(i.controls,(g,S)=>{!0===g.value&&(t=S,g.disabled||o.push(S))});const _={mirror_mode:"image"},a=(0,st.z)(this.rbdMirroringService.setSiteName(this.createBootstrapForm.getValue("siteName")),(0,de.D)(o.map(g=>this.rbdMirroringService.updatePool(g,_))),this.rbdMirroringService.createBootstrapToken(t).pipe((0,li.b)(g=>this.createBootstrapForm.get("token").setValue(g.token)))).pipe((0,Rt.Z)()),c=()=>{this.rbdMirroringService.refresh(),this.createBootstrapForm.setErrors({cdSubmitButton:!0})};this.taskWrapper.wrapTaskAroundCall({task:new R.R("rbd/mirroring/bootstrap/create",{}),call:a}).subscribe({error:c,complete:c})}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(b.Kz),e.Y36(X),e.Y36(u.P))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-bootstrap-create-modal"]],decls:32,vars:6,consts:function(){let s,t,o,i,_,a,c,d,g,S,I;return s="Create Bootstrap Token",t="To create a bootstrap token which can be imported by a peer site cluster, provide the local site's name, select which pools will have mirroring enabled, and click\xA0 \n " + "\ufffd#10\ufffd" + "Generate\n " + "\ufffd/#10\ufffd" + ".\n ",o="Site Name",i="Nom...",_="R\xE9serves",a="Generate",c="Token",d="Generated token...",g="Fermer",S="This field is required.",I="At least one pool is required.",[[3,"modalRef"],[1,"modal-title"],s,[1,"modal-content"],["name","createBootstrapForm","novalidate","",1,"form",3,"formGroup"],["formDir","ngForm"],[1,"modal-body"],t,[1,"form-group"],["for","siteName",1,"col-form-label","required"],o,["type","text","placeholder",i,"id","siteName","name","siteName","formControlName","siteName","autofocus","",1,"form-control"],["class","invalid-feedback",4,"ngIf"],["formGroupName","pools",1,"form-group"],["for","pools",1,"col-form-label","required"],_,["class","custom-control custom-checkbox",4,"ngFor","ngForOf"],[1,"mb-4","float-end",3,"form","submitAction"],a,["for","token",1,"col-form-label"],c,["placeholder",d,"id","token","formControlName","token","readonly","",1,"form-control","resize-vertical"],["source","token",1,"float-end"],[1,"modal-footer"],["name",g,3,"backAction"],[1,"invalid-feedback"],S,[1,"custom-control","custom-checkbox"],["type","checkbox",1,"custom-control-input",3,"id","name","formControlName"],[1,"custom-control-label",3,"for"],I]},template:function(t,o){if(1&t&&(e.TgZ(0,"cd-modal",0),e.ynx(1,1),e.SDv(2,2),e.BQk(),e.ynx(3,3),e.TgZ(4,"form",4,5)(6,"div",6)(7,"p"),e.ynx(8),e.tHW(9,7),e._UZ(10,"kbd"),e.N_p(),e.BQk(),e.qZA(),e.TgZ(11,"div",8)(12,"label",9),e.SDv(13,10),e.qZA(),e._UZ(14,"input",11),e.YNc(15,pi,2,0,"span",12),e.qZA(),e.TgZ(16,"div",13)(17,"label",14),e.SDv(18,15),e.qZA(),e.YNc(19,ui,4,5,"div",16),e.YNc(20,mi,2,0,"span",12),e.qZA(),e.TgZ(21,"cd-submit-button",17),e.NdJ("submitAction",function(){return o.generate()}),e.SDv(22,18),e.qZA(),e.TgZ(23,"div",8)(24,"label",19)(25,"span"),e.SDv(26,20),e.qZA()(),e.TgZ(27,"textarea",21),e._uU(28," "),e.qZA()(),e._UZ(29,"cd-copy-2-clipboard-button",22),e.qZA(),e.TgZ(30,"div",23)(31,"cd-back-button",24),e.NdJ("backAction",function(){return o.activeModal.close()}),e.qZA()()(),e.BQk(),e.qZA()),2&t){const i=e.MAs(5);e.Q6J("modalRef",o.activeModal),e.xp6(4),e.Q6J("formGroup",o.createBootstrapForm),e.xp6(11),e.Q6J("ngIf",o.createBootstrapForm.showError("siteName",i,"required")),e.xp6(4),e.Q6J("ngForOf",o.pools),e.xp6(1),e.Q6J("ngIf",o.createBootstrapForm.showError("pools",i,"requirePool")),e.xp6(1),e.Q6J("form",o.createBootstrapForm)}},dependencies:[l.sg,l.O5,ci.w,di.W,f.z,ze.s,Pe.U,M.o,B.b,q.P,Y.V,r._Y,r.Fj,r.Wl,r.JJ,r.JL,r.sg,r.u,r.x0],styles:[".form-group.ng-invalid[_ngcontent-%COMP%] .invalid-feedback[_ngcontent-%COMP%]{display:block}"]}),n})();function Ti(n,s){1&n&&(e.TgZ(0,"span",26),e.SDv(1,27),e.qZA())}function fi(n,s){if(1&n&&(e.TgZ(0,"option",28),e._uU(1),e.qZA()),2&n){const t=s.$implicit;e.Q6J("value",t.key),e.xp6(1),e.Oqu(t.desc)}}function Ci(n,s){if(1&n&&(e.TgZ(0,"div",29),e._UZ(1,"input",30),e.TgZ(2,"label",31),e._uU(3),e.qZA()()),2&n){const t=s.$implicit;e.xp6(1),e.s9C("id",t.name),e.s9C("name",t.name),e.s9C("formControlName",t.name),e.xp6(1),e.s9C("for",t.name),e.xp6(1),e.Oqu(t.name)}}function Si(n,s){1&n&&(e.TgZ(0,"span",26),e.SDv(1,32),e.qZA())}function Ei(n,s){1&n&&(e.TgZ(0,"span",26),e.SDv(1,33),e.qZA())}function Ri(n,s){1&n&&(e.TgZ(0,"span",26),e.SDv(1,34),e.qZA())}let Mi=(()=>{class n{constructor(t,o,i,_){this.activeModal=t,this.actionLabels=o,this.rbdMirroringService=i,this.taskWrapper=_,this.pools=[],this.directions=[{key:"rx-tx",desc:"Bidirectional"},{key:"rx",desc:"Unidirectional (receive-only)"}],this.createForm()}createForm(){this.importBootstrapForm=new Z.d({siteName:new r.p4("",{validators:[r.kI.required]}),direction:new r.p4("rx-tx",{}),pools:new r.nJ({},{validators:[this.validatePools()]}),token:new r.p4("",{validators:[r.kI.required,this.validateToken()]})})}ngOnInit(){this.rbdMirroringService.getSiteName().subscribe(t=>{this.importBootstrapForm.get("siteName").setValue(t.site_name)}),this.subs=this.rbdMirroringService.subscribeSummary(t=>{this.pools=t.content_data.pools.reduce((_,a)=>(_.push({name:a.name,mirror_mode:a.mirror_mode}),_),[]);const i=this.importBootstrapForm.get("pools");C().each(this.pools,_=>{const a=_.name,c="disabled"===_.mirror_mode,d=i.controls[a];d?c&&d.disabled?d.enable():!c&&d.enabled&&(d.disable(),d.setValue(!0)):i.addControl(a,new r.p4({value:!c,disabled:!c}))})})}ngOnDestroy(){this.subs&&this.subs.unsubscribe()}validatePools(){return t=>{let o=0;return C().each(t.controls,i=>{!0===i.value&&++o}),o>0?null:{requirePool:!0}}}validateToken(){return t=>{try{if(JSON.parse(atob(t.value)))return null}catch{}return{invalidToken:!0}}}import(){const t=[],o=[],i=this.importBootstrapForm.get("pools");C().each(i.controls,(g,S)=>{!0===g.value&&(t.push(S),g.disabled||o.push(S))});const _={mirror_mode:"image"};let a=(0,st.z)(this.rbdMirroringService.setSiteName(this.importBootstrapForm.getValue("siteName")),(0,de.D)(o.map(g=>this.rbdMirroringService.updatePool(g,_))));a=t.reduce((g,S)=>(0,st.z)(g,this.rbdMirroringService.importBootstrapToken(S,this.importBootstrapForm.getValue("direction"),this.importBootstrapForm.getValue("token"))),a).pipe((0,Rt.Z)());const c=()=>{this.rbdMirroringService.refresh(),this.importBootstrapForm.setErrors({cdSubmitButton:!0})};this.taskWrapper.wrapTaskAroundCall({task:new R.R("rbd/mirroring/bootstrap/import",{}),call:a}).subscribe({error:c,complete:()=>{c(),this.activeModal.close()}})}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(b.Kz),e.Y36(N.p4),e.Y36(X),e.Y36(u.P))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-bootstrap-import-modal"]],decls:36,vars:10,consts:function(){let s,t,o,i,_,a,c,d,g,S,I,P;return s="Import Bootstrap Token",t="To import a bootstrap token which was created by a peer site cluster, provide the local site's name, select which pools will have mirroring enabled, provide the generated token, and click\xA0\n " + "\ufffd#10\ufffd" + "Import\n " + "\ufffd/#10\ufffd" + ".\n ",o="Site Name",i="Nom...",_="Direction",a="R\xE9serves",c="Token",d="Generated token...",g="This field is required.",S="At least one pool is required.",I="This field is required.",P="The token is invalid.",[[3,"modalRef"],[1,"modal-title"],s,[1,"modal-content"],["name","importBootstrapForm","novalidate","",1,"form",3,"formGroup"],["formDir","ngForm"],[1,"modal-body"],t,[1,"form-group"],["for","siteName",1,"col-form-label","required"],o,["type","text","placeholder",i,"id","siteName","name","siteName","formControlName","siteName","autofocus","",1,"form-control"],["class","invalid-feedback",4,"ngIf"],["for","direction",1,"col-form-label"],_,["id","direction","name","direction","formControlName","direction",1,"form-control"],[3,"value",4,"ngFor","ngForOf"],["formGroupName","pools",1,"form-group"],["for","pools",1,"col-form-label","required"],a,["class","custom-control custom-checkbox",4,"ngFor","ngForOf"],["for","token",1,"col-form-label","required"],c,["placeholder",d,"id","token","formControlName","token",1,"form-control","resize-vertical"],[1,"modal-footer"],[3,"form","submitText","submitActionEvent"],[1,"invalid-feedback"],g,[3,"value"],[1,"custom-control","custom-checkbox"],["type","checkbox",1,"custom-control-input",3,"id","name","formControlName"],[1,"custom-control-label",3,"for"],S,I,P]},template:function(t,o){if(1&t&&(e.TgZ(0,"cd-modal",0),e.ynx(1,1),e.SDv(2,2),e.BQk(),e.ynx(3,3),e.TgZ(4,"form",4,5)(6,"div",6)(7,"p"),e.ynx(8),e.tHW(9,7),e._UZ(10,"kbd"),e.N_p(),e.BQk(),e.qZA(),e.TgZ(11,"div",8)(12,"label",9),e.SDv(13,10),e.qZA(),e._UZ(14,"input",11),e.YNc(15,Ti,2,0,"span",12),e.qZA(),e.TgZ(16,"div",8)(17,"label",13)(18,"span"),e.SDv(19,14),e.qZA()(),e.TgZ(20,"select",15),e.YNc(21,fi,2,2,"option",16),e.qZA()(),e.TgZ(22,"div",17)(23,"label",18),e.SDv(24,19),e.qZA(),e.YNc(25,Ci,4,5,"div",20),e.YNc(26,Si,2,0,"span",12),e.qZA(),e.TgZ(27,"div",8)(28,"label",21),e.SDv(29,22),e.qZA(),e.TgZ(30,"textarea",23),e._uU(31," "),e.qZA(),e.YNc(32,Ei,2,0,"span",12),e.YNc(33,Ri,2,0,"span",12),e.qZA()(),e.TgZ(34,"div",24)(35,"cd-form-button-panel",25),e.NdJ("submitActionEvent",function(){return o.import()}),e.qZA()()(),e.BQk(),e.qZA()),2&t){const i=e.MAs(5);e.Q6J("modalRef",o.activeModal),e.xp6(4),e.Q6J("formGroup",o.importBootstrapForm),e.xp6(11),e.Q6J("ngIf",o.importBootstrapForm.showError("siteName",i,"required")),e.xp6(6),e.Q6J("ngForOf",o.directions),e.xp6(4),e.Q6J("ngForOf",o.pools),e.xp6(1),e.Q6J("ngIf",o.importBootstrapForm.showError("pools",i,"requirePool")),e.xp6(6),e.Q6J("ngIf",o.importBootstrapForm.showError("token",i,"required")),e.xp6(1),e.Q6J("ngIf",o.importBootstrapForm.showError("token",i,"invalidToken")),e.xp6(2),e.Q6J("form",o.importBootstrapForm)("submitText",o.actionLabels.SUBMIT)}},dependencies:[l.sg,l.O5,f.z,A.p,Pe.U,M.o,B.b,q.P,Y.V,r._Y,r.YN,r.Kr,r.Fj,r.Wl,r.EJ,r.JJ,r.JL,r.sg,r.u,r.x0]}),n})();var re=p(69158),Oi=p(58111);let _t=(()=>{class n{transform(t){return"warning"===t?"badge badge-warning":"error"===t?"badge badge-danger":"success"===t?"badge badge-success":"badge badge-info"}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275pipe=e.Yjl({name:"mirrorHealthColor",type:n,pure:!0}),n})();const hi=["healthTmpl"];function Ai(n,s){if(1&n&&(e.TgZ(0,"span",2),e.ALo(1,"mirrorHealthColor"),e._uU(2),e.qZA()),2&n){const o=s.value;e.Q6J("ngClass",e.lcZ(1,2,s.row.health_color)),e.xp6(2),e.Oqu(o)}}let Pi=(()=>{class n{constructor(t,o){this.rbdMirroringService=t,this.cephShortVersionPipe=o,this.tableStatus=new re.E}ngOnInit(){this.columns=[{prop:"instance_id",name:"Instance",flexGrow:2},{prop:"id",name:"ID",flexGrow:2},{prop:"server_hostname",name:"Hostname",flexGrow:2},{prop:"version",name:"Version",pipe:this.cephShortVersionPipe,flexGrow:2},{prop:"health",name:"Health",cellTemplate:this.healthTmpl,flexGrow:1}],this.subs=this.rbdMirroringService.subscribeSummary(t=>{this.data=t.content_data.daemons,this.tableStatus=new re.E(t.status)})}ngOnDestroy(){this.subs.unsubscribe()}refresh(){this.rbdMirroringService.refresh()}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(X),e.Y36(Oi.F))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-mirroring-daemons"]],viewQuery:function(t,o){if(1&t&&e.Gf(hi,7),2&t){let i;e.iGM(i=e.CRH())&&(o.healthTmpl=i.first)}},decls:3,vars:4,consts:[["columnMode","flex",3,"data","columns","autoReload","status","fetchData"],["healthTmpl",""],[3,"ngClass"]],template:function(t,o){1&t&&(e.TgZ(0,"cd-table",0),e.NdJ("fetchData",function(){return o.refresh()}),e.qZA(),e.YNc(1,Ai,3,4,"ng-template",null,1,e.W1O)),2&t&&e.Q6J("data",o.data)("columns",o.columns)("autoReload",-1)("status",o.tableStatus)},dependencies:[l.mk,te.a,_t]}),n})();var Mt=p(59376);const bi=["stateTmpl"],Ii=["syncTmpl"],Ni=["progressTmpl"],Fi=["entriesBehindPrimaryTpl"];function Di(n,s){if(1&n){const t=e.EpF();e.TgZ(0,"cd-table",14),e.NdJ("fetchData",function(){e.CHM(t);const i=e.oxw();return e.KtG(i.refresh())}),e.qZA()}if(2&n){const t=e.oxw();e.Q6J("data",t.image_error.data)("columns",t.image_error.columns)("autoReload",-1)("status",t.tableStatus)}}function Li(n,s){if(1&n){const t=e.EpF();e.TgZ(0,"cd-table",14),e.NdJ("fetchData",function(){e.CHM(t);const i=e.oxw();return e.KtG(i.refresh())}),e.qZA()}if(2&n){const t=e.oxw();e.Q6J("data",t.image_syncing.data)("columns",t.image_syncing.columns)("autoReload",-1)("status",t.tableStatus)}}function vi(n,s){if(1&n){const t=e.EpF();e.TgZ(0,"cd-table",14),e.NdJ("fetchData",function(){e.CHM(t);const i=e.oxw();return e.KtG(i.refresh())}),e.qZA()}if(2&n){const t=e.oxw();e.Q6J("data",t.image_ready.data)("columns",t.image_ready.columns)("autoReload",-1)("status",t.tableStatus)}}function $i(n,s){if(1&n&&(e.TgZ(0,"span",15),e.ALo(1,"mirrorHealthColor"),e._uU(2),e.qZA()),2&n){const o=s.value;e.Q6J("ngClass",e.lcZ(1,2,s.row.state_color)),e.xp6(2),e.Oqu(o)}}function Bi(n,s){1&n&&e._UZ(0,"div")}function Gi(n,s){if(1&n&&e._UZ(0,"ngb-progressbar",19),2&n){const t=e.oxw().value;e.Q6J("value",t)("showValue",!0)}}function yi(n,s){if(1&n&&(e.YNc(0,Bi,1,0,"div",16),e.TgZ(1,"div",17),e.YNc(2,Gi,1,2,"ngb-progressbar",18),e.qZA()),2&n){const t=s.row;e.Q6J("ngIf","Replaying"===t.state),e.xp6(2),e.Q6J("ngIf","Replaying"===t.state)}}function xi(n,s){if(1&n&&(e.TgZ(0,"span"),e._uU(1),e.qZA()),2&n){const t=e.oxw().value;e.xp6(1),e.hij(" ",t," ")}}function Zi(n,s){1&n&&(e.TgZ(0,"span",21),e._uU(1,"-"),e.qZA())}function wi(n,s){if(1&n&&(e.YNc(0,xi,2,1,"span",16),e.YNc(1,Zi,2,0,"span",20)),2&n){const t=s.row;e.Q6J("ngIf","journal"===t.mirror_mode),e.xp6(1),e.Q6J("ngIf","snapshot"===t.mirror_mode)}}let Hi=(()=>{class n{constructor(t){this.rbdMirroringService=t,this.image_error={data:[],columns:{}},this.image_syncing={data:[],columns:{}},this.image_ready={data:[],columns:{}},this.tableStatus=new re.E}ngOnInit(){this.image_error.columns=[{prop:"pool_name",name:"Pool",flexGrow:2},{prop:"name",name:"Image",flexGrow:2},{prop:"state",name:"State",cellTemplate:this.stateTmpl,flexGrow:1},{prop:"description",name:"Issue",flexGrow:4}],this.image_syncing.columns=[{prop:"pool_name",name:"Pool",flexGrow:2},{prop:"name",name:"Image",flexGrow:2},{prop:"state",name:"State",cellTemplate:this.stateTmpl,flexGrow:1},{prop:"syncing_percent",name:"Progress",cellTemplate:this.progressTmpl,flexGrow:2},{prop:"bytes_per_second",name:"Bytes per second",flexGrow:2},{prop:"entries_behind_primary",name:"Entries behind primary",cellTemplate:this.entriesBehindPrimaryTpl,flexGrow:2}],this.image_ready.columns=[{prop:"pool_name",name:"Pool",flexGrow:2},{prop:"name",name:"Image",flexGrow:2},{prop:"state",name:"State",cellTemplate:this.stateTmpl,flexGrow:1},{prop:"description",name:"Description",flexGrow:4}],this.subs=this.rbdMirroringService.subscribeSummary(t=>{this.image_error.data=t.content_data.image_error,this.image_syncing.data=t.content_data.image_syncing,this.image_ready.data=t.content_data.image_ready,this.tableStatus=new re.E(t.status)})}ngOnDestroy(){this.subs.unsubscribe()}refresh(){this.rbdMirroringService.refresh()}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(X))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-mirroring-images"]],viewQuery:function(t,o){if(1&t&&(e.Gf(bi,7),e.Gf(Ii,7),e.Gf(Ni,7),e.Gf(Fi,7)),2&t){let i;e.iGM(i=e.CRH())&&(o.stateTmpl=i.first),e.iGM(i=e.CRH())&&(o.syncTmpl=i.first),e.iGM(i=e.CRH())&&(o.progressTmpl=i.first),e.iGM(i=e.CRH())&&(o.entriesBehindPrimaryTpl=i.first)}},decls:21,vars:4,consts:function(){let s,t,o;return s="Issues (" + "\ufffd0\ufffd" + ")",t="Syncing (" + "\ufffd0\ufffd" + ")",o="Ready (" + "\ufffd0\ufffd" + ")",[["ngbNav","","cdStatefulTab","image-list",1,"nav-tabs"],["nav","ngbNav"],["ngbNavItem","issues"],["ngbNavLink",""],s,["ngbNavContent",""],["ngbNavItem","syncing"],t,["ngbNavItem","ready"],o,[3,"ngbNavOutlet"],["stateTmpl",""],["progressTmpl",""],["entriesBehindPrimaryTpl",""],["columnMode","flex",3,"data","columns","autoReload","status","fetchData"],[3,"ngClass"],[4,"ngIf"],[1,"w-100","h-100","d-flex","justify-content-center","align-items-center"],["type","info","class","w-100",3,"value","showValue",4,"ngIf"],["type","info",1,"w-100",3,"value","showValue"],["ngbTooltip","Not available with mirroring snapshot mode",4,"ngIf"],["ngbTooltip","Not available with mirroring snapshot mode"]]},template:function(t,o){if(1&t&&(e.TgZ(0,"nav",0,1),e.ynx(2,2),e.TgZ(3,"a",3),e.SDv(4,4),e.qZA(),e.YNc(5,Di,1,4,"ng-template",5),e.BQk(),e.ynx(6,6),e.TgZ(7,"a",3),e.SDv(8,7),e.qZA(),e.YNc(9,Li,1,4,"ng-template",5),e.BQk(),e.ynx(10,8),e.TgZ(11,"a",3),e.SDv(12,9),e.qZA(),e.YNc(13,vi,1,4,"ng-template",5),e.BQk(),e.qZA(),e._UZ(14,"div",10),e.YNc(15,$i,3,4,"ng-template",null,11,e.W1O),e.YNc(17,yi,3,2,"ng-template",null,12,e.W1O),e.YNc(19,wi,2,2,"ng-template",null,13,e.W1O)),2&t){const i=e.MAs(1);e.xp6(4),e.pQV(o.image_error.data.length),e.QtT(4),e.xp6(4),e.pQV(o.image_syncing.data.length),e.QtT(8),e.xp6(4),e.pQV(o.image_ready.data.length),e.QtT(12),e.xp6(2),e.Q6J("ngbNavOutlet",i)}},dependencies:[l.mk,l.O5,te.a,Mt.m,b.uN,b.Pz,b.nv,b.Vx,b.tO,b.Dy,b.Ly,b._L,_t]}),n})();var Ot=p(70882);class ki{}function Ki(n,s){1&n&&(e.TgZ(0,"span",24),e.SDv(1,25),e.qZA())}function qi(n,s){1&n&&(e.TgZ(0,"span",24),e.SDv(1,26),e.qZA())}function Xi(n,s){1&n&&(e.TgZ(0,"span",24),e.SDv(1,27),e.qZA())}function Qi(n,s){1&n&&(e.TgZ(0,"span",24),e.SDv(1,28),e.qZA())}function zi(n,s){1&n&&(e.TgZ(0,"span",24),e.SDv(1,29),e.qZA())}function Ji(n,s){1&n&&(e.TgZ(0,"span",24),e.SDv(1,30),e.qZA())}let Yi=(()=>{class n{constructor(t,o,i,_){this.activeModal=t,this.actionLabels=o,this.rbdMirroringService=i,this.taskWrapper=_,this.bsConfig={containerClass:"theme-default"},this.createForm()}createForm(){this.editPeerForm=new Z.d({clusterName:new r.p4("",{validators:[r.kI.required,this.validateClusterName]}),clientID:new r.p4("",{validators:[r.kI.required,this.validateClientID]}),monAddr:new r.p4("",{validators:[this.validateMonAddr]}),key:new r.p4("",{validators:[this.validateKey]})})}ngOnInit(){this.pattern=`${this.poolName}/${this.peerUUID}`,"edit"===this.mode&&this.rbdMirroringService.getPeer(this.poolName,this.peerUUID).subscribe(t=>{this.setResponse(t)})}validateClusterName(t){if(!t.value.match(/^[\w\-_]*$/))return{invalidClusterName:{value:t.value}}}validateClientID(t){if(!t.value.match(/^(?!client\.)[\w\-_.]*$/))return{invalidClientID:{value:t.value}}}validateMonAddr(t){if(!t.value.match(/^[,; ]*([\w.\-_\[\]]+(:[\d]+)?[,; ]*)*$/))return{invalidMonAddr:{value:t.value}}}validateKey(t){try{if(""===t.value||atob(t.value))return null}catch{}return{invalidKey:{value:t.value}}}setResponse(t){this.response=t,this.editPeerForm.get("clusterName").setValue(t.cluster_name),this.editPeerForm.get("clientID").setValue(t.client_id),this.editPeerForm.get("monAddr").setValue(t.mon_host),this.editPeerForm.get("key").setValue(t.key)}update(){const t=new ki;let o;t.cluster_name=this.editPeerForm.getValue("clusterName"),t.client_id=this.editPeerForm.getValue("clientID"),t.mon_host=this.editPeerForm.getValue("monAddr"),t.key=this.editPeerForm.getValue("key"),o=this.taskWrapper.wrapTaskAroundCall("edit"===this.mode?{task:new R.R("rbd/mirroring/peer/edit",{pool_name:this.poolName}),call:this.rbdMirroringService.updatePeer(this.poolName,this.peerUUID,t)}:{task:new R.R("rbd/mirroring/peer/add",{pool_name:this.poolName}),call:this.rbdMirroringService.addPeer(this.poolName,t)}),o.subscribe({error:()=>this.editPeerForm.setErrors({cdSubmitButton:!0}),complete:()=>{this.rbdMirroringService.refresh(),this.activeModal.close()}})}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(b.Kz),e.Y36(N.p4),e.Y36(X),e.Y36(u.P))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-pool-edit-peer-modal"]],decls:38,vars:13,consts:function(){let s,t,o,i,_,a,c,d,g,S,I,P,$,y,z,V,oe,ne;return s="{VAR_SELECT, select, edit {Edit} other {Add}}",s=e.Zx4(s,{VAR_SELECT:"\ufffd0\ufffd"}),t="\n " + s + " pool mirror peer\n ",o="{VAR_SELECT, select, edit {Edit} other {Add}}",o=e.Zx4(o,{VAR_SELECT:"\ufffd0\ufffd"}),i="\n " + o + " the pool mirror peer attributes for pool \n " + "[\ufffd#10\ufffd|\ufffd#11\ufffd]" + "\n " + "\ufffd1\ufffd" + "\n " + "[\ufffd/#10\ufffd|\ufffd/#11\ufffd]" + " and click \n " + "[\ufffd#10\ufffd|\ufffd#11\ufffd]" + "Submit\n " + "[\ufffd/#10\ufffd|\ufffd/#11\ufffd]" + ".\n ",i=e.Zx4(i),_="Nom de grappe",a="Nom...",c="ID CephX",d="ID CephX",g="Adresses du moniteur",S="Adresses s\xE9par\xE9es par une virgule...",I="Clef CephX",P="Clef Base64...",$="This field is required.",y="Le nom de grappe n'est pas valide.",z="This field is required.",V="L'ID CephX n'est pas valide.",oe="L'adresse du moniteur n'est pas valide.",ne="La clef CephX doit \xEAtre cod\xE9e en base64.",[[3,"modalRef"],[1,"modal-title"],t,[1,"modal-content"],["name","editPeerForm","novalidate","",1,"form",3,"formGroup"],["formDir","ngForm"],[1,"modal-body"],i,[1,"form-group"],["for","clusterName",1,"col-form-label","required"],_,["type","text","placeholder",a,"id","clusterName","name","clusterName","formControlName","clusterName","autofocus","",1,"form-control"],["class","invalid-feedback",4,"ngIf"],["for","clientID",1,"col-form-label","required"],c,["type","text","placeholder",d,"id","clientID","name","clientID","formControlName","clientID",1,"form-control"],["for","monAddr",1,"col-form-label"],g,["type","text","placeholder",S,"id","monAddr","name","monAddr","formControlName","monAddr",1,"form-control"],["for","key",1,"col-form-label"],I,["type","text","placeholder",P,"id","key","name","key","formControlName","key",1,"form-control"],[1,"modal-footer"],[3,"form","submitText","submitActionEvent"],[1,"invalid-feedback"],$,y,z,V,oe,ne]},template:function(t,o){if(1&t&&(e.TgZ(0,"cd-modal",0)(1,"span",1),e.SDv(2,2),e.qZA(),e.ynx(3,3),e.TgZ(4,"form",4,5)(6,"div",6)(7,"p")(8,"span"),e.tHW(9,7),e._UZ(10,"kbd")(11,"kbd"),e.N_p(),e.qZA()(),e.TgZ(12,"div",8)(13,"label",9),e.SDv(14,10),e.qZA(),e._UZ(15,"input",11),e.YNc(16,Ki,2,0,"span",12),e.YNc(17,qi,2,0,"span",12),e.qZA(),e.TgZ(18,"div",8)(19,"label",13),e.SDv(20,14),e.qZA(),e._UZ(21,"input",15),e.YNc(22,Xi,2,0,"span",12),e.YNc(23,Qi,2,0,"span",12),e.qZA(),e.TgZ(24,"div",8)(25,"label",16)(26,"span"),e.SDv(27,17),e.qZA()(),e._UZ(28,"input",18),e.YNc(29,zi,2,0,"span",12),e.qZA(),e.TgZ(30,"div",8)(31,"label",19)(32,"span"),e.SDv(33,20),e.qZA()(),e._UZ(34,"input",21),e.YNc(35,Ji,2,0,"span",12),e.qZA()(),e.TgZ(36,"div",22)(37,"cd-form-button-panel",23),e.NdJ("submitActionEvent",function(){return o.update()}),e.qZA()()(),e.BQk(),e.qZA()),2&t){const i=e.MAs(5);e.Q6J("modalRef",o.activeModal),e.xp6(2),e.pQV(o.mode),e.QtT(2),e.xp6(2),e.Q6J("formGroup",o.editPeerForm),e.xp6(7),e.pQV(o.mode)(o.poolName),e.QtT(9),e.xp6(5),e.Q6J("ngIf",o.editPeerForm.showError("clusterName",i,"required")),e.xp6(1),e.Q6J("ngIf",o.editPeerForm.showError("clusterName",i,"invalidClusterName")),e.xp6(5),e.Q6J("ngIf",o.editPeerForm.showError("clientID",i,"required")),e.xp6(1),e.Q6J("ngIf",o.editPeerForm.showError("clientID",i,"invalidClientID")),e.xp6(6),e.Q6J("ngIf",o.editPeerForm.showError("monAddr",i,"invalidMonAddr")),e.xp6(6),e.Q6J("ngIf",o.editPeerForm.showError("key",i,"invalidKey")),e.xp6(2),e.Q6J("form",o.editPeerForm)("submitText",o.actionLabels.SUBMIT)}},dependencies:[l.O5,f.z,A.p,Pe.U,M.o,B.b,q.P,Y.V,r._Y,r.Fj,r.JJ,r.JL,r.sg,r.u]}),n})();const Vi=["healthTmpl"],Ui=["localTmpl"],ji=["remoteTmpl"];function Wi(n,s){if(1&n&&(e.TgZ(0,"span",6),e.ALo(1,"mirrorHealthColor"),e._uU(2),e.qZA()),2&n){const o=s.value;e.Q6J("ngClass",e.lcZ(1,2,s.row.health_color)),e.xp6(2),e.Oqu(o)}}function es(n,s){1&n&&(e.TgZ(0,"span",7),e.SDv(1,8),e.qZA())}function ts(n,s){1&n&&(e.TgZ(0,"span",9),e.SDv(1,10),e.qZA())}let ns=(()=>{class n{constructor(t,o,i,_,a){this.authStorageService=t,this.rbdMirroringService=o,this.modalService=i,this.taskWrapper=_,this.router=a,this.selection=new he.r,this.tableStatus=new re.E,this.data=[],this.permission=this.authStorageService.getPermissions().rbdMirroring;const c={permission:"update",icon:T.P.edit,click:()=>this.editModeModal(),name:"Edit Mode",canBePrimary:()=>!0},d={permission:"create",icon:T.P.add,name:"Add Peer",click:()=>this.editPeersModal("add"),disable:()=>!this.selection.first()||"disabled"===this.selection.first().mirror_mode,visible:()=>!this.getPeerUUID(),canBePrimary:()=>!1},g={permission:"update",icon:T.P.exchange,name:"Edit Peer",click:()=>this.editPeersModal("edit"),visible:()=>!!this.getPeerUUID()},S={permission:"delete",icon:T.P.destroy,name:"Delete Peer",click:()=>this.deletePeersModal(),visible:()=>!!this.getPeerUUID()};this.tableActions=[c,d,g,S]}ngOnInit(){this.columns=[{prop:"name",name:"Name",flexGrow:2},{prop:"mirror_mode",name:"Mode",flexGrow:2},{prop:"leader_id",name:"Leader",flexGrow:2},{prop:"image_local_count",name:"# Local",headerTemplate:this.localTmpl,flexGrow:2},{prop:"image_remote_count",name:"# Remote",headerTemplate:this.remoteTmpl,flexGrow:2},{prop:"health",name:"Health",cellTemplate:this.healthTmpl,flexGrow:1}],this.subs=this.rbdMirroringService.subscribeSummary(t=>{this.data=t.content_data.pools,this.tableStatus=new re.E(t.status)})}ngOnDestroy(){this.subs.unsubscribe()}refresh(){this.rbdMirroringService.refresh()}editModeModal(){this.router.navigate(["/block/mirroring",{outlets:{modal:[N.MQ.EDIT,this.selection.first().name]}}])}editPeersModal(t){const o={poolName:this.selection.first().name,mode:t};"edit"===t&&(o.peerUUID=this.getPeerUUID()),this.modalRef=this.modalService.show(Yi,o)}deletePeersModal(){const t=this.selection.first().name,o=this.getPeerUUID();this.modalRef=this.modalService.show(ge.M,{itemDescription:"mirror peer",itemNames:[`${t} (${o})`],submitActionObservable:()=>new Ot.y(i=>{this.taskWrapper.wrapTaskAroundCall({task:new R.R("rbd/mirroring/peer/delete",{pool_name:t}),call:this.rbdMirroringService.deletePeer(t,o)}).subscribe({error:_=>i.error(_),complete:()=>{this.rbdMirroringService.refresh(),i.complete()}})})})}getPeerUUID(){const t=this.selection.first(),o=this.data.find(i=>t&&t.name===i.name);if(o&&o.peer_uuids)return o.peer_uuids[0]}updateSelection(t){this.selection=t}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(_e.j),e.Y36(X),e.Y36(me.Z),e.Y36(u.P),e.Y36(m.F0))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-mirroring-pools"]],viewQuery:function(t,o){if(1&t&&(e.Gf(Vi,7),e.Gf(Ui,7),e.Gf(ji,7)),2&t){let i;e.iGM(i=e.CRH())&&(o.healthTmpl=i.first),e.iGM(i=e.CRH())&&(o.localTmpl=i.first),e.iGM(i=e.CRH())&&(o.remoteTmpl=i.first)}},decls:9,vars:7,consts:function(){let s,t,o,i;return s="Local image count",t="# Local",o="Remote image count",i="# Remote",[["columnMode","flex","identifier","name","forceIdentifier","true","selectionType","single",3,"data","columns","autoReload","status","fetchData","updateSelection"],[1,"table-actions",3,"permission","selection","tableActions"],["healthTmpl",""],["localTmpl",""],["remoteTmpl",""],["name","modal"],[3,"ngClass"],["ngbTooltip",s],t,["ngbTooltip",o],i]},template:function(t,o){1&t&&(e.TgZ(0,"cd-table",0),e.NdJ("fetchData",function(){return o.refresh()})("updateSelection",function(_){return o.updateSelection(_)}),e._UZ(1,"cd-table-actions",1),e.qZA(),e.YNc(2,Wi,3,4,"ng-template",null,2,e.W1O),e.YNc(4,es,2,0,"ng-template",null,3,e.W1O),e.YNc(6,ts,2,0,"ng-template",null,4,e.W1O),e._UZ(8,"router-outlet",5)),2&t&&(e.Q6J("data",o.data)("columns",o.columns)("autoReload",-1)("status",o.tableStatus),e.xp6(1),e.Q6J("permission",o.permission)("selection",o.selection)("tableActions",o.tableActions))},dependencies:[l.mk,te.a,Ae.K,m.lC,b._L,_t]}),n})();function is(n,s){if(1&n&&e._UZ(0,"i",19),2&n){const t=e.oxw();e.Q6J("ngClass",t.icons.edit)}}function ss(n,s){if(1&n&&e._UZ(0,"i",19),2&n){const t=e.oxw();e.Q6J("ngClass",t.icons.check)}}let _s=(()=>{class n{constructor(t,o,i,_){this.authStorageService=t,this.rbdMirroringService=o,this.modalService=i,this.taskWrapper=_,this.selection=new he.r,this.peersExist=!0,this.subs=new _i.w,this.editing=!1,this.icons=T.P,this.permission=this.authStorageService.getPermissions().rbdMirroring;const a={permission:"update",icon:T.P.upload,click:()=>this.createBootstrapModal(),name:"Create Bootstrap Token",canBePrimary:()=>!0,disable:()=>!1},c={permission:"update",icon:T.P.download,click:()=>this.importBootstrapModal(),name:"Import Bootstrap Token",disable:()=>!1};this.tableActions=[a,c]}ngOnInit(){this.createForm(),this.subs.add(this.rbdMirroringService.startPolling()),this.subs.add(this.rbdMirroringService.subscribeSummary(t=>{this.status=t.content_data.status,this.peersExist=!!t.content_data.pools.find(o=>o.peer_uuids.length>0)})),this.rbdMirroringService.getSiteName().subscribe(t=>{this.siteName=t.site_name,this.rbdmirroringForm.get("siteName").setValue(this.siteName)})}createForm(){this.rbdmirroringForm=new Z.d({siteName:new r.p4({value:"",disabled:!0})})}ngOnDestroy(){this.subs.unsubscribe()}updateSiteName(){this.editing&&this.taskWrapper.wrapTaskAroundCall({task:new R.R("rbd/mirroring/site_name/edit",{}),call:this.rbdMirroringService.setSiteName(this.rbdmirroringForm.getValue("siteName"))}).subscribe({complete:()=>{this.rbdMirroringService.refresh()}}),this.editing=!this.editing}createBootstrapModal(){this.modalRef=this.modalService.show(gi,{siteName:this.siteName})}importBootstrapModal(){this.modalRef=this.modalService.show(Mi,{siteName:this.siteName})}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(_e.j),e.Y36(X),e.Y36(me.Z),e.Y36(u.P))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-mirroring"]],decls:31,vars:10,consts:function(){let s,t,o,i;return s="Site Name",t="Daemons",o="R\xE9serves",i="Images",[["name","rbdmirroringForm","novalidate","",3,"formGroup"],["formDir","ngForm"],[1,"row","mb-3"],[1,"col-md-auto"],["for","siteName",1,"col-form-label"],s,[1,"col-sm-4","d-flex"],["type","text","id","siteName","name","siteName","formControlName","siteName",1,"form-control"],["id","editSiteName",1,"btn","btn-light",3,"click"],[3,"ngClass",4,"ngIf"],[3,"source","byId"],[1,"col"],[1,"table-actions","float-end",3,"permission","selection","tableActions"],[1,"row"],[1,"col-sm-6"],t,o,[1,"col-md-12"],i,[3,"ngClass"]]},template:function(t,o){1&t&&(e.TgZ(0,"form",0,1)(2,"div",2)(3,"div",3)(4,"label",4),e.SDv(5,5),e.qZA()(),e.TgZ(6,"div",6),e._UZ(7,"input",7),e.TgZ(8,"button",8),e.NdJ("click",function(){return o.updateSiteName()}),e.YNc(9,is,1,1,"i",9),e.YNc(10,ss,1,1,"i",9),e.qZA(),e._UZ(11,"cd-copy-2-clipboard-button",10),e.qZA(),e.TgZ(12,"div",11),e._UZ(13,"cd-table-actions",12),e.qZA()()(),e.TgZ(14,"div",13)(15,"div",14)(16,"legend"),e.SDv(17,15),e.qZA(),e.TgZ(18,"div"),e._UZ(19,"cd-mirroring-daemons"),e.qZA()(),e.TgZ(20,"div",14)(21,"legend"),e.SDv(22,16),e.qZA(),e.TgZ(23,"div"),e._UZ(24,"cd-mirroring-pools"),e.qZA()()(),e.TgZ(25,"div",13)(26,"div",17)(27,"legend"),e.SDv(28,18),e.qZA(),e.TgZ(29,"div"),e._UZ(30,"cd-mirroring-images"),e.qZA()()()),2&t&&(e.Q6J("formGroup",o.rbdmirroringForm),e.xp6(7),e.uIk("disabled",!o.editing||null),e.xp6(1),e.uIk("title",o.editing?"Save":"Edit"),e.xp6(1),e.Q6J("ngIf",!o.editing),e.xp6(1),e.Q6J("ngIf",o.editing),e.xp6(1),e.Q6J("source",o.siteName)("byId",!1),e.xp6(2),e.Q6J("permission",o.permission)("selection",o.selection)("tableActions",o.tableActions))},dependencies:[l.mk,l.O5,ze.s,Ae.K,M.o,B.b,Y.V,r._Y,r.Fj,r.JJ,r.JL,r.sg,r.u,Pi,Hi,ns]}),n})();class as{}function rs(n,s){if(1&n&&(e.TgZ(0,"option",16),e._uU(1),e.qZA()),2&n){const t=s.$implicit;e.Q6J("value",t.id),e.xp6(1),e.Oqu(t.name)}}function ls(n,s){1&n&&(e.TgZ(0,"span",17),e.SDv(1,18),e.qZA())}let cs=(()=>{class n{constructor(t,o,i,_,a,c){this.activeModal=t,this.actionLabels=o,this.rbdMirroringService=i,this.taskWrapper=_,this.route=a,this.location=c,this.bsConfig={containerClass:"theme-default"},this.peerExists=!1,this.mirrorModes=[{id:"disabled",name:"Disabled"},{id:"pool",name:"Pool"},{id:"image",name:"Image"}],this.createForm()}createForm(){this.editModeForm=new Z.d({mirrorMode:new r.p4("",{validators:[r.kI.required,this.validateMode.bind(this)]})})}ngOnInit(){this.route.params.subscribe(t=>{this.poolName=t.pool_name}),this.pattern=`${this.poolName}`,this.rbdMirroringService.getPool(this.poolName).subscribe(t=>{this.setResponse(t)}),this.subs=this.rbdMirroringService.subscribeSummary(t=>{this.peerExists=!1;const i=t.content_data.pools.find(_=>this.poolName===_.name);this.peerExists=i&&i.peer_uuids.length})}ngOnDestroy(){this.subs.unsubscribe()}validateMode(t){return"disabled"===t.value&&this.peerExists?{cannotDisable:{value:t.value}}:null}setResponse(t){this.editModeForm.get("mirrorMode").setValue(t.mirror_mode)}update(){const t=new as;t.mirror_mode=this.editModeForm.getValue("mirrorMode"),this.taskWrapper.wrapTaskAroundCall({task:new R.R("rbd/mirroring/pool/edit",{pool_name:this.poolName}),call:this.rbdMirroringService.updatePool(this.poolName,t)}).subscribe({error:()=>this.editModeForm.setErrors({cdSubmitButton:!0}),complete:()=>{this.rbdMirroringService.refresh(),this.location.back()}})}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(b.Kz),e.Y36(N.p4),e.Y36(X),e.Y36(u.P),e.Y36(m.gz),e.Y36(l.Ye))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-pool-edit-mode-modal"]],decls:21,vars:7,consts:function(){let s,t,o,i;return s="Modifier le mode de mise en miroir de la r\xE9serve",t="To edit the mirror mode for pool\xA0 \n " + "[\ufffd#10\ufffd|\ufffd#11\ufffd]" + "\n " + "\ufffd0\ufffd" + "\n " + "[\ufffd/#10\ufffd|\ufffd/#11\ufffd]" + ", select a new mode from the list and click\xA0 \n " + "[\ufffd#10\ufffd|\ufffd#11\ufffd]" + "Update\n " + "[\ufffd/#10\ufffd|\ufffd/#11\ufffd]" + ".\n ",t=e.Zx4(t),o="Mode",i="Les grappes d'homologues doivent \xEAtre supprim\xE9es avant de d\xE9sactiver la mise en miroir.",[["pageURL","mirroring",3,"modalRef"],[1,"modal-title"],s,[1,"modal-content"],["name","editModeForm","novalidate","",1,"form",3,"formGroup"],["formDir","ngForm"],[1,"modal-body"],t,[1,"form-group"],["for","mirrorMode",1,"col-form-label"],o,["id","mirrorMode","name","mirrorMode","formControlName","mirrorMode",1,"form-select"],[3,"value",4,"ngFor","ngForOf"],["class","invalid-feedback",4,"ngIf"],[1,"modal-footer"],[3,"form","submitText","submitActionEvent"],[3,"value"],[1,"invalid-feedback"],i]},template:function(t,o){if(1&t&&(e.TgZ(0,"cd-modal",0),e.ynx(1,1),e.SDv(2,2),e.BQk(),e.ynx(3,3),e.TgZ(4,"form",4,5)(6,"div",6)(7,"p"),e.ynx(8),e.tHW(9,7),e._UZ(10,"kbd")(11,"kbd"),e.N_p(),e.BQk(),e.qZA(),e.TgZ(12,"div",8)(13,"label",9)(14,"span"),e.SDv(15,10),e.qZA()(),e.TgZ(16,"select",11),e.YNc(17,rs,2,2,"option",12),e.qZA(),e.YNc(18,ls,2,0,"span",13),e.qZA()(),e.TgZ(19,"div",14)(20,"cd-form-button-panel",15),e.NdJ("submitActionEvent",function(){return o.update()}),e.qZA()()(),e.BQk(),e.qZA()),2&t){const i=e.MAs(5);e.Q6J("modalRef",o.activeModal),e.xp6(4),e.Q6J("formGroup",o.editModeForm),e.xp6(7),e.pQV(o.poolName),e.QtT(9),e.xp6(6),e.Q6J("ngForOf",o.mirrorModes),e.xp6(1),e.Q6J("ngIf",o.editModeForm.showError("mirrorMode",i,"cannotDisable")),e.xp6(2),e.Q6J("form",o.editModeForm)("submitText",o.actionLabels.UPDATE)}},dependencies:[l.sg,l.O5,f.z,A.p,M.o,q.P,Y.V,r._Y,r.YN,r.Kr,r.EJ,r.JJ,r.JL,r.sg,r.u]}),n})();var ht=p(7357),ds=p(28049),ps=p(43190),Je=p(80842),at=p(30633),Ye=p(47557),us=p(28211);class ms{}var Ne=(()=>{return(n=Ne||(Ne={}))[n.V1=1]="V1",n[n.V2=2]="V2",Ne;var n})();class gs{constructor(){this.features=[]}}class Ts{constructor(){this.features=[]}}class fs{}class Cs extends fs{constructor(){super(...arguments),this.features=[]}}class rt{constructor(){this.features=[],this.remove_scheduling=!1}}var Ve=(()=>{return(n=Ve||(Ve={})).editing="editing",n.cloning="cloning",n.copying="copying",Ve;var n})(),At=p(18372),Ss=p(1372),Es=p(17932),Rs=p(60950);function Ms(n,s){if(1&n&&(e.TgZ(0,"div",9)(1,"label",52),e.SDv(2,53),e.ALo(3,"titlecase"),e.qZA(),e.TgZ(4,"div",12),e._UZ(5,"input",54)(6,"hr"),e.qZA()()),2&n){const t=e.oxw(2);e.xp6(3),e.pQV(e.lcZ(3,1,t.action)),e.QtT(2)}}function Os(n,s){1&n&&(e.TgZ(0,"span",55),e.ynx(1),e.SDv(2,56),e.BQk(),e.qZA())}function hs(n,s){1&n&&(e.TgZ(0,"span",55),e.ynx(1),e.SDv(2,57),e.BQk(),e.qZA())}function As(n,s){1&n&&e._UZ(0,"input",58)}function Ps(n,s){1&n&&(e.TgZ(0,"option",44),e.SDv(1,61),e.qZA()),2&n&&e.Q6J("ngValue",null)}function bs(n,s){1&n&&(e.TgZ(0,"option",44),e.SDv(1,62),e.qZA()),2&n&&e.Q6J("ngValue",null)}function Is(n,s){1&n&&(e.TgZ(0,"option",44),e.SDv(1,63),e.qZA()),2&n&&e.Q6J("ngValue",null)}function Ns(n,s){if(1&n&&(e.TgZ(0,"option",64),e._uU(1),e.qZA()),2&n){const t=s.$implicit;e.Q6J("value",t.pool_name),e.xp6(1),e.Oqu(t.pool_name)}}function Fs(n,s){if(1&n){const t=e.EpF();e.TgZ(0,"select",59),e.NdJ("change",function(){e.CHM(t);const i=e.oxw(2);return e.KtG(i.setPoolMirrorMode())}),e.YNc(1,Ps,2,1,"option",60),e.YNc(2,bs,2,1,"option",60),e.YNc(3,Is,2,1,"option",60),e.YNc(4,Ns,2,2,"option",40),e.qZA()}if(2&n){const t=e.oxw(2);e.xp6(1),e.Q6J("ngIf",null===t.pools),e.xp6(1),e.Q6J("ngIf",null!==t.pools&&0===t.pools.length),e.xp6(1),e.Q6J("ngIf",null!==t.pools&&t.pools.length>0),e.xp6(1),e.Q6J("ngForOf",t.pools)}}function Ds(n,s){1&n&&(e.TgZ(0,"span",55),e.SDv(1,65),e.qZA())}const Ls=function(n,s){return[n,s]};function vs(n,s){if(1&n&&(e.TgZ(0,"div",9)(1,"div",20),e._UZ(2,"i",66),e.qZA()()),2&n){const t=e.oxw(2);e.xp6(2),e.Q6J("ngClass",e.WLB(1,Ls,t.icons.spinner,t.icons.spin))}}function $s(n,s){1&n&&e._UZ(0,"input",70)}function Bs(n,s){1&n&&(e.TgZ(0,"option",44),e.SDv(1,72),e.qZA()),2&n&&e.Q6J("ngValue",null)}function Gs(n,s){1&n&&(e.TgZ(0,"option",44),e.SDv(1,73),e.qZA()),2&n&&e.Q6J("ngValue",null)}function ys(n,s){1&n&&(e.TgZ(0,"option",44),e.SDv(1,74),e.qZA()),2&n&&e.Q6J("ngValue",null)}function xs(n,s){if(1&n&&(e.TgZ(0,"option",64),e._uU(1),e.qZA()),2&n){const t=s.$implicit;e.Q6J("value",t),e.xp6(1),e.Oqu(t)}}function Zs(n,s){if(1&n&&(e.TgZ(0,"select",71),e.YNc(1,Bs,2,1,"option",60),e.YNc(2,Gs,2,1,"option",60),e.YNc(3,ys,2,1,"option",60),e.YNc(4,xs,2,2,"option",40),e.qZA()),2&n){const t=e.oxw(3);e.xp6(1),e.Q6J("ngIf",null===t.pools),e.xp6(1),e.Q6J("ngIf",null!==t.pools&&0===t.pools.length),e.xp6(1),e.Q6J("ngIf",null!==t.pools&&t.pools.length>0),e.xp6(1),e.Q6J("ngForOf",t.namespaces)}}function ws(n,s){if(1&n&&(e.TgZ(0,"div",9)(1,"label",67),e._uU(2," Namespace "),e.qZA(),e.TgZ(3,"div",12),e.YNc(4,$s,1,0,"input",68),e.YNc(5,Zs,5,4,"select",69),e.qZA()()),2&n){const t=e.oxw(2);e.xp6(4),e.Q6J("ngIf","editing"===t.mode||!t.poolPermission.read),e.xp6(1),e.Q6J("ngIf","editing"!==t.mode&&t.poolPermission.read)}}function Hs(n,s){1&n&&(e.TgZ(0,"cd-helper")(1,"span"),e.SDv(2,75),e.qZA()())}function ks(n,s){1&n&&e._UZ(0,"input",81)}function Ks(n,s){1&n&&(e.TgZ(0,"option",44),e.SDv(1,83),e.qZA()),2&n&&e.Q6J("ngValue",null)}function qs(n,s){1&n&&(e.TgZ(0,"option",44),e.SDv(1,84),e.qZA()),2&n&&e.Q6J("ngValue",null)}function Xs(n,s){1&n&&(e.TgZ(0,"option",44),e._uU(1,"-- Select a data pool -- "),e.qZA()),2&n&&e.Q6J("ngValue",null)}function Qs(n,s){if(1&n&&(e.TgZ(0,"option",64),e._uU(1),e.qZA()),2&n){const t=s.$implicit;e.Q6J("value",t.pool_name),e.xp6(1),e.Oqu(t.pool_name)}}function zs(n,s){if(1&n){const t=e.EpF();e.TgZ(0,"select",82),e.NdJ("change",function(i){e.CHM(t);const _=e.oxw(3);return e.KtG(_.onDataPoolChange(i.target.value))}),e.YNc(1,Ks,2,1,"option",60),e.YNc(2,qs,2,1,"option",60),e.YNc(3,Xs,2,1,"option",60),e.YNc(4,Qs,2,2,"option",40),e.qZA()}if(2&n){const t=e.oxw(3);e.xp6(1),e.Q6J("ngIf",null===t.dataPools),e.xp6(1),e.Q6J("ngIf",null!==t.dataPools&&0===t.dataPools.length),e.xp6(1),e.Q6J("ngIf",null!==t.dataPools&&t.dataPools.length>0),e.xp6(1),e.Q6J("ngForOf",t.dataPools)}}function Js(n,s){1&n&&(e.TgZ(0,"span",55),e.SDv(1,85),e.qZA())}const Ue=function(n){return{required:n}};function Ys(n,s){if(1&n&&(e.TgZ(0,"div",9)(1,"label",76)(2,"span",66),e.SDv(3,77),e.qZA(),e._UZ(4,"cd-helper",78),e.qZA(),e.TgZ(5,"div",12),e.YNc(6,ks,1,0,"input",79),e.YNc(7,zs,5,4,"select",80),e.YNc(8,Js,2,0,"span",14),e.qZA()()),2&n){e.oxw();const t=e.MAs(2),o=e.oxw();e.xp6(2),e.Q6J("ngClass",e.VKq(4,Ue,"editing"!==o.mode)),e.xp6(4),e.Q6J("ngIf","editing"===o.mode||!o.poolPermission.read),e.xp6(1),e.Q6J("ngIf","editing"!==o.mode&&o.poolPermission.read),e.xp6(1),e.Q6J("ngIf",o.rbdForm.showError("dataPool",t,"required"))}}function Vs(n,s){1&n&&(e.TgZ(0,"span",55),e.SDv(1,86),e.qZA())}function Us(n,s){1&n&&(e.TgZ(0,"span",55),e.SDv(1,87),e.qZA())}function js(n,s){1&n&&(e.TgZ(0,"span",55),e.SDv(1,88),e.qZA())}function Ws(n,s){if(1&n&&e._UZ(0,"cd-helper",92),2&n){const t=e.oxw().$implicit;e.s9C("html",t.helperHtml)}}function e_(n,s){if(1&n&&(e.TgZ(0,"div",21),e._UZ(1,"input",89),e.TgZ(2,"label",90),e._uU(3),e.qZA(),e.YNc(4,Ws,1,1,"cd-helper",91),e.qZA()),2&n){const t=s.$implicit;e.xp6(1),e.s9C("id",t.key),e.s9C("name",t.key),e.s9C("formControlName",t.key),e.xp6(1),e.s9C("for",t.key),e.xp6(1),e.Oqu(t.desc),e.xp6(1),e.Q6J("ngIf",t.helperHtml)}}const Pt=function(n){return["edit",n]},bt=function(n){return{modal:n}},It=function(n){return{outlets:n}},Nt=function(n){return["/block/mirroring",n]};function t_(n,s){if(1&n&&(e.TgZ(0,"cd-helper")(1,"span"),e.tHW(2,93),e._UZ(3,"b")(4,"a",94),e.N_p(),e.qZA()()),2&n){const t=e.oxw(2);e.xp6(4),e.Q6J("routerLink",e.VKq(7,Nt,e.VKq(5,It,e.VKq(3,bt,e.VKq(1,Pt,t.currentPoolName)))))}}function o_(n,s){if(1&n&&(e.TgZ(0,"cd-helper")(1,"span"),e.tHW(2,99),e._UZ(3,"b")(4,"a",94),e.N_p(),e.qZA()()),2&n){const t=e.oxw(4);e.xp6(4),e.Q6J("routerLink",e.VKq(7,Nt,e.VKq(5,It,e.VKq(3,bt,e.VKq(1,Pt,t.currentPoolName)))))}}function n_(n,s){if(1&n){const t=e.EpF();e.TgZ(0,"div",96)(1,"input",97),e.NdJ("change",function(){e.CHM(t);const i=e.oxw(3);return e.KtG(i.setExclusiveLock())}),e.qZA(),e.TgZ(2,"label",98),e._uU(3),e.ALo(4,"titlecase"),e.qZA(),e.YNc(5,o_,5,9,"cd-helper",25),e.qZA()}if(2&n){const t=s.$implicit,o=e.oxw(3);e.xp6(1),e.Q6J("id",t)("value",t),e.uIk("disabled","pool"===o.poolMirrorMode&&"snapshot"===t||null),e.xp6(1),e.Q6J("for",t),e.xp6(1),e.Oqu(e.lcZ(4,6,t)),e.xp6(2),e.Q6J("ngIf","pool"===o.poolMirrorMode&&"snapshot"===t)}}function i_(n,s){if(1&n&&(e.TgZ(0,"div"),e.YNc(1,n_,6,8,"div",95),e.qZA()),2&n){const t=e.oxw(2);e.xp6(1),e.Q6J("ngForOf",t.mirroringOptions)}}function s_(n,s){if(1&n&&(e.TgZ(0,"div",9)(1,"label",100),e.tHW(2,101),e._UZ(3,"cd-helper",102),e.N_p(),e.qZA(),e.TgZ(4,"div",12),e._UZ(5,"input",103),e.qZA()()),2&n){const t=e.oxw(2);e.xp6(5),e.uIk("disabled",!1===t.peerConfigured||null)}}function __(n,s){if(1&n&&(e.TgZ(0,"option",64),e._uU(1),e.qZA()),2&n){const t=s.$implicit;e.Q6J("value",t),e.xp6(1),e.Oqu(t)}}function a_(n,s){if(1&n&&(e.TgZ(0,"option",64),e._uU(1),e.qZA()),2&n){const t=s.$implicit;e.Q6J("value",t),e.xp6(1),e.Oqu(t)}}function r_(n,s){1&n&&(e.TgZ(0,"span",55),e.SDv(1,104),e.qZA())}function l_(n,s){1&n&&(e.TgZ(0,"span",55),e.SDv(1,105),e.qZA())}function c_(n,s){1&n&&(e.TgZ(0,"span",55),e.SDv(1,106),e.qZA())}function d_(n,s){1&n&&(e.TgZ(0,"span",55),e.SDv(1,107),e.qZA())}function p_(n,s){if(1&n){const t=e.EpF();e.TgZ(0,"div",1)(1,"form",2,3)(3,"div",4)(4,"div",5),e.SDv(5,6),e.ALo(6,"titlecase"),e.ALo(7,"upperFirst"),e.qZA(),e.TgZ(8,"div",7),e.YNc(9,Ms,7,3,"div",8),e.TgZ(10,"div",9)(11,"label",10),e.SDv(12,11),e.qZA(),e.TgZ(13,"div",12),e._UZ(14,"input",13),e.YNc(15,Os,3,0,"span",14),e.YNc(16,hs,3,0,"span",14),e.qZA()(),e.TgZ(17,"div",15),e.NdJ("change",function(i){e.CHM(t);const _=e.oxw();return e.KtG(_.onPoolChange(i.target.value))}),e.TgZ(18,"label",16),e.SDv(19,17),e.qZA(),e.TgZ(20,"div",12),e.YNc(21,As,1,0,"input",18),e.YNc(22,Fs,5,4,"select",19),e.YNc(23,Ds,2,0,"span",14),e.qZA()(),e.YNc(24,vs,3,4,"div",8),e.YNc(25,ws,6,2,"div",8),e.TgZ(26,"div",9)(27,"div",20)(28,"div",21)(29,"input",22),e.NdJ("change",function(){e.CHM(t);const i=e.oxw();return e.KtG(i.onUseDataPoolChange())}),e.qZA(),e.TgZ(30,"label",23),e.SDv(31,24),e.qZA(),e.YNc(32,Hs,3,0,"cd-helper",25),e.qZA()()(),e.YNc(33,Ys,9,6,"div",8),e.TgZ(34,"div",9)(35,"label",26),e.SDv(36,27),e.qZA(),e.TgZ(37,"div",12),e._UZ(38,"input",28),e.YNc(39,Vs,2,0,"span",14),e.YNc(40,Us,2,0,"span",14),e.YNc(41,js,2,0,"span",14),e.qZA()(),e.TgZ(42,"div",29)(43,"label",30),e.SDv(44,31),e.qZA(),e.TgZ(45,"div",12),e.YNc(46,e_,5,6,"div",32),e.qZA()(),e.TgZ(47,"div",9)(48,"div",20)(49,"div",21)(50,"input",33),e.NdJ("change",function(){e.CHM(t);const i=e.oxw();return e.KtG(i.setMirrorMode())}),e.qZA(),e.TgZ(51,"label",34),e._uU(52,"Mirroring"),e.qZA(),e.YNc(53,t_,5,9,"cd-helper",25),e.qZA(),e.YNc(54,i_,2,1,"div",25),e.qZA()(),e.YNc(55,s_,6,1,"div",8),e.TgZ(56,"cd-form-advanced-fieldset")(57,"h4",35),e.SDv(58,36),e.qZA(),e.TgZ(59,"div",9)(60,"label",37),e.tHW(61,38),e._UZ(62,"cd-helper"),e.N_p(),e.qZA(),e.TgZ(63,"div",12)(64,"select",39),e.YNc(65,__,2,2,"option",40),e.qZA()()(),e.TgZ(66,"div",9)(67,"label",41),e.tHW(68,42),e._UZ(69,"cd-helper"),e.N_p(),e.qZA(),e.TgZ(70,"div",12)(71,"select",43)(72,"option",44),e.SDv(73,45),e.qZA(),e.YNc(74,a_,2,2,"option",40),e.qZA(),e.YNc(75,r_,2,0,"span",14),e.YNc(76,l_,2,0,"span",14),e.qZA()(),e.TgZ(77,"div",9)(78,"label",46),e.tHW(79,47),e._UZ(80,"cd-helper"),e.N_p(),e.qZA(),e.TgZ(81,"div",12),e._UZ(82,"input",48),e.YNc(83,c_,2,0,"span",14),e.YNc(84,d_,2,0,"span",14),e.qZA()(),e.TgZ(85,"cd-rbd-configuration-form",49),e.NdJ("changes",function(i){e.CHM(t);const _=e.oxw();return e.KtG(_.getDirtyConfigurationValues=i)}),e.qZA()()(),e.TgZ(86,"div",50)(87,"cd-form-button-panel",51),e.NdJ("submitActionEvent",function(){e.CHM(t);const i=e.oxw();return e.KtG(i.submit())}),e.ALo(88,"titlecase"),e.ALo(89,"upperFirst"),e.qZA()()()()()}if(2&n){const t=e.MAs(2),o=e.oxw();e.xp6(1),e.Q6J("formGroup",o.rbdForm),e.xp6(6),e.pQV(e.lcZ(6,34,o.action))(e.lcZ(7,36,o.resource)),e.QtT(5),e.xp6(2),e.Q6J("ngIf",o.rbdForm.getValue("parent")),e.xp6(6),e.Q6J("ngIf",o.rbdForm.showError("name",t,"required")),e.xp6(1),e.Q6J("ngIf",o.rbdForm.showError("name",t,"pattern")),e.xp6(2),e.Q6J("ngClass",e.VKq(42,Ue,"editing"!==o.mode)),e.xp6(3),e.Q6J("ngIf","editing"===o.mode||!o.poolPermission.read),e.xp6(1),e.Q6J("ngIf","editing"!==o.mode&&o.poolPermission.read),e.xp6(1),e.Q6J("ngIf",o.rbdForm.showError("pool",t,"required")),e.xp6(1),e.Q6J("ngIf","editing"!==o.mode&&o.rbdForm.getValue("pool")&&null===o.namespaces),e.xp6(1),e.Q6J("ngIf","editing"===o.mode&&o.rbdForm.getValue("namespace")||"editing"!==o.mode&&(o.namespaces&&o.namespaces.length>0||!o.poolPermission.read)),e.xp6(7),e.Q6J("ngIf",o.allDataPools.length<=1),e.xp6(1),e.Q6J("ngIf",o.rbdForm.getValue("useDataPool")),e.xp6(6),e.Q6J("ngIf",o.rbdForm.showError("size",t,"required")),e.xp6(1),e.Q6J("ngIf",o.rbdForm.showError("size",t,"invalidSizeObject")),e.xp6(1),e.Q6J("ngIf",o.rbdForm.showError("size",t,"pattern")),e.xp6(5),e.Q6J("ngForOf",o.featuresList),e.xp6(7),e.Q6J("ngIf",!1===o.mirroring&&o.currentPoolName),e.xp6(1),e.Q6J("ngIf",o.mirroring),e.xp6(1),e.Q6J("ngIf","snapshot"===o.rbdForm.getValue("mirroringMode")&&o.mirroring),e.xp6(10),e.Q6J("ngForOf",o.objectSizes),e.xp6(2),e.Q6J("ngClass",e.VKq(44,Ue,o.rbdForm.getValue("stripingCount"))),e.xp6(5),e.Q6J("ngValue",null),e.xp6(2),e.Q6J("ngForOf",o.objectSizes),e.xp6(1),e.Q6J("ngIf",o.rbdForm.showError("stripingUnit",t,"required")),e.xp6(1),e.Q6J("ngIf",o.rbdForm.showError("stripingUnit",t,"invalidStripingUnit")),e.xp6(2),e.Q6J("ngClass",e.VKq(46,Ue,o.rbdForm.getValue("stripingUnit"))),e.xp6(5),e.Q6J("ngIf",o.rbdForm.showError("stripingCount",t,"required")),e.xp6(1),e.Q6J("ngIf",o.rbdForm.showError("stripingCount",t,"min")),e.xp6(1),e.Q6J("form",o.rbdForm)("initializeData",o.initializeConfigData),e.xp6(2),e.Q6J("form",t)("submitText",e.lcZ(88,38,o.action)+" "+e.lcZ(89,40,o.resource))}}let $e=(()=>{class n extends K.E{constructor(t,o,i,_,a,c,d,g,S,I){super(),this.authStorageService=t,this.route=o,this.poolService=i,this.rbdService=_,this.formatter=a,this.taskWrapper=c,this.dimlessBinaryPipe=d,this.actionLabels=g,this.router=S,this.rbdMirroringService=I,this.namespaces=[],this.namespacesByPoolCache={},this.pools=null,this.allPools=null,this.dataPools=null,this.allDataPools=[],this.featuresList=[],this.initializeConfigData=new ht.t(1),this.peerConfigured=!1,this.advancedEnabled=!1,this.rbdFormMode=Ve,this.defaultObjectSize="4 MiB",this.mirroringOptions=["journal","snapshot"],this.mirroring=!1,this.currentPoolName="",this.objectSizes=["4 KiB","8 KiB","16 KiB","32 KiB","64 KiB","128 KiB","256 KiB","512 KiB","1 MiB","2 MiB","4 MiB","8 MiB","16 MiB","32 MiB"],this.defaultStripingUnit="4 MiB",this.defaultStripingCount=1,this.rbdImage=new ht.t(1),this.icons=T.P,this.routerUrl=this.router.url,this.poolPermission=this.authStorageService.getPermissions().pool,this.resource="RBD",this.features={"deep-flatten":{desc:"Deep flatten",requires:null,allowEnable:!1,allowDisable:!0,helperHtml:"Feature can be disabled but can't be re-enabled later"},layering:{desc:"Layering",requires:null,allowEnable:!1,allowDisable:!1,helperHtml:"Feature flag can't be manipulated after the image is created. Disabling this option will also disable the Protect and Clone actions on Snapshot"},"exclusive-lock":{desc:"Exclusive lock",requires:null,allowEnable:!0,allowDisable:!0},"object-map":{desc:"Object map (requires exclusive-lock)",requires:"exclusive-lock",allowEnable:!0,allowDisable:!0,initDisabled:!0},"fast-diff":{desc:"Fast diff (interlocked with object-map)",requires:"object-map",allowEnable:!0,allowDisable:!0,interlockedWith:"object-map",initDisabled:!0}},this.featuresList=this.objToArray(this.features),this.createForm()}objToArray(t){return C().map(t,(o,i)=>Object.assign(o,{key:i}))}createForm(){this.rbdForm=new Z.d({parent:new r.p4(""),name:new r.p4("",{validators:[r.kI.required,r.kI.pattern(/^[^@/]+?$/)]}),pool:new r.p4(null,{validators:[r.kI.required]}),namespace:new r.p4(null),useDataPool:new r.p4(!1),dataPool:new r.p4(null),size:new r.p4(null,{updateOn:"blur"}),obj_size:new r.p4(this.defaultObjectSize),features:new Z.d(this.featuresList.reduce((t,o)=>(t[o.key]=new r.p4({value:!1,disabled:!!o.initDisabled}),t),{})),mirroring:new r.p4(""),schedule:new r.p4("",{validators:[r.kI.pattern(/^([0-9]+)d|([0-9]+)h|([0-9]+)m$/)]}),mirroringMode:new r.p4(""),stripingUnit:new r.p4(this.defaultStripingUnit),stripingCount:new r.p4(this.defaultStripingCount,{updateOn:"blur"})},this.validateRbdForm(this.formatter))}disableForEdit(){this.rbdForm.get("parent").disable(),this.rbdForm.get("pool").disable(),this.rbdForm.get("namespace").disable(),this.rbdForm.get("useDataPool").disable(),this.rbdForm.get("dataPool").disable(),this.rbdForm.get("obj_size").disable(),this.rbdForm.get("stripingUnit").disable(),this.rbdForm.get("stripingCount").disable(),this.rbdImage.subscribe(t=>{t.image_format===Ne.V1?(this.rbdForm.get("deep-flatten").disable(),this.rbdForm.get("layering").disable(),this.rbdForm.get("exclusive-lock").disable()):(this.rbdForm.get("deep-flatten").value||this.rbdForm.get("deep-flatten").disable(),this.rbdForm.get("layering").disable())})}disableForClone(){this.rbdForm.get("parent").disable(),this.rbdForm.get("size").disable()}disableForCopy(){this.rbdForm.get("parent").disable(),this.rbdForm.get("size").disable()}ngOnInit(){this.prepareFormForAction(),this.gatherNeededData().subscribe(this.handleExternalData.bind(this))}setExclusiveLock(){this.mirroring&&"journal"===this.rbdForm.get("mirroringMode").value?(this.rbdForm.get("exclusive-lock").setValue(!0),this.rbdForm.get("exclusive-lock").disable()):(this.rbdForm.get("exclusive-lock").enable(),"pool"===this.poolMirrorMode&&this.rbdForm.get("mirroringMode").setValue(this.mirroringOptions[0]))}setMirrorMode(){this.mirroring=!this.mirroring,this.setExclusiveLock(),this.checkPeersConfigured()}checkPeersConfigured(t){var o=t||this.rbdForm.get("pool").value;this.rbdMirroringService.getPeerForPool(o).subscribe(i=>{i.length>0&&(this.peerConfigured=!0)})}setPoolMirrorMode(){this.currentPoolName=this.mode===this.rbdFormMode.editing?this.response?.pool_name:this.rbdForm.getValue("pool"),this.currentPoolName&&(this.rbdMirroringService.refresh(),this.rbdMirroringService.subscribeSummary(t=>{const o=t.content_data.pools.find(i=>i.name===this.currentPoolName);this.poolMirrorMode=o.mirror_mode,"disabled"===o.mirror_mode&&(this.mirroring=!1,this.rbdForm.get("mirroring").setValue(this.mirroring),this.rbdForm.get("mirroring").disable())})),this.setExclusiveLock()}prepareFormForAction(){const t=this.routerUrl;t.startsWith("/block/rbd/edit")?(this.mode=this.rbdFormMode.editing,this.action=this.actionLabels.EDIT,this.disableForEdit()):t.startsWith("/block/rbd/clone")?(this.mode=this.rbdFormMode.cloning,this.disableForClone(),this.action=this.actionLabels.CLONE):t.startsWith("/block/rbd/copy")?(this.mode=this.rbdFormMode.copying,this.action=this.actionLabels.COPY,this.disableForCopy()):this.action=this.actionLabels.CREATE,C().each(this.features,o=>{this.rbdForm.get("features").get(o.key).valueChanges.subscribe(i=>this.featureFormUpdate(o.key,i))})}gatherNeededData(){const t={};return this.mode?this.route.params.subscribe(o=>{const i=v.N.fromString(decodeURIComponent(o.image_spec));o.snap&&(this.snapName=decodeURIComponent(o.snap)),t.rbd=this.rbdService.get(i),this.checkPeersConfigured(i.poolName)}):t.defaultFeatures=this.rbdService.defaultFeatures(),this.mode!==this.rbdFormMode.editing&&this.poolPermission.read&&(t.pools=this.poolService.list(["pool_name","type","flags_names","application_metadata"])),(0,de.D)(t)}handleExternalData(t){if(this.handlePoolData(t.pools),this.setPoolMirrorMode(),t.defaultFeatures&&this.setFeatures(t.defaultFeatures),t.rbd){const o=t.rbd;this.setResponse(o,this.snapName),this.rbdImage.next(o)}this.loadingReady()}handlePoolData(t){if(!t)return;const o=[],i=[];for(const _ of t)this.rbdService.isRBDPool(_)&&("replicated"===_.type?(o.push(_),i.push(_)):"erasure"===_.type&&-1!==_.flags_names.indexOf("ec_overwrites")&&i.push(_));if(this.pools=o,this.allPools=o,this.dataPools=i,this.allDataPools=i,1===this.pools.length){const _=this.pools[0].pool_name;this.rbdForm.get("pool").setValue(_),this.onPoolChange(_)}this.allDataPools.length<=1&&this.rbdForm.get("useDataPool").disable()}onPoolChange(t){const o=this.rbdForm.get("dataPool");o.value===t&&o.setValue(null),this.dataPools=this.allDataPools?this.allDataPools.filter(i=>i.pool_name!==t):[],this.namespaces=null,t in this.namespacesByPoolCache?this.namespaces=this.namespacesByPoolCache[t]:this.rbdService.listNamespaces(t).subscribe(i=>{i=i.map(_=>_.namespace),this.namespacesByPoolCache[t]=i,this.namespaces=i}),this.rbdForm.get("namespace").setValue(null)}onUseDataPoolChange(){this.rbdForm.getValue("useDataPool")||(this.rbdForm.get("dataPool").setValue(null),this.onDataPoolChange(null))}onDataPoolChange(t){const o=this.allPools.filter(i=>i.pool_name!==t);this.rbdForm.getValue("pool")===t&&this.rbdForm.get("pool").setValue(null),this.pools=o}validateRbdForm(t){return o=>{const i=o.get("useDataPool"),_=o.get("dataPool");let a=null;i.value&&null==_.value&&(a={required:!0}),_.setErrors(a);const c=o.get("size"),d=o.get("obj_size"),g=t.toBytes(null!=d.value?d.value:this.defaultObjectSize),S=o.get("stripingCount"),I=null!=S.value?S.value:this.defaultStripingCount;let P=null;null===c.value?P={required:!0}:I*g>t.toBytes(c.value)&&(P={invalidSizeObject:!0}),c.setErrors(P);const $=o.get("stripingUnit");let y=null;null===$.value&&null!==S.value?y={required:!0}:null!==$.value&&t.toBytes($.value)>g&&(y={invalidStripingUnit:!0}),$.setErrors(y);let z=null;return null===S.value&&null!==$.value?z={required:!0}:I<1&&(z={min:!0}),S.setErrors(z),null}}deepBoxCheck(t,o){this.getDependentChildFeatures(t).forEach(_=>{const a=this.rbdForm.get(_.key);o?a.enable({emitEvent:!1}):(a.disable({emitEvent:!1}),a.setValue(!1,{emitEvent:!1}),this.deepBoxCheck(_.key,o));const c=this.rbdForm.get("features");this.mode===this.rbdFormMode.editing&&c.get(_.key).enabled&&(-1!==this.response.features_name.indexOf(_.key)&&!_.allowDisable||-1===this.response.features_name.indexOf(_.key)&&!_.allowEnable)&&c.get(_.key).disable()})}getDependentChildFeatures(t){return C().filter(this.features,o=>o.requires===t)||[]}interlockCheck(t,o){const i=this.featuresList.find(_=>_.key===t);if(this.response){const _=null!=i.interlockedWith,a=this.featuresList.find(d=>d.interlockedWith===i.key),c=!!this.response.features_name.find(d=>d===i.key);if(_){if(c!==!!this.response.features_name.find(g=>g===i.interlockedWith))return}else if(a&&!!this.response.features_name.find(g=>g===a.key)!==c)return}o?C().filter(this.features,_=>_.interlockedWith===t).forEach(_=>this.rbdForm.get(_.key).setValue(!0,{emitEvent:!1})):i.interlockedWith&&this.rbdForm.get("features").get(i.interlockedWith).setValue(!1)}featureFormUpdate(t,o){if(o){const i=this.features[t].requires;if(i&&!this.rbdForm.getValue(i))return void this.rbdForm.get(`features.${t}`).setValue(!1)}this.deepBoxCheck(t,o),this.interlockCheck(t,o)}setFeatures(t){const o=this.rbdForm.get("features");C().forIn(this.features,i=>{-1!==t.indexOf(i.key)&&o.get(i.key).setValue(!0),this.featureFormUpdate(i.key,o.get(i.key).value)})}setResponse(t,o){this.response=t;const i=new v.N(t.pool_name,t.namespace,t.name).toString();if(this.mode===this.rbdFormMode.cloning)this.rbdForm.get("parent").setValue(`${i}@${o}`);else if(this.mode===this.rbdFormMode.copying)o?this.rbdForm.get("parent").setValue(`${i}@${o}`):this.rbdForm.get("parent").setValue(`${i}`);else if(t.parent){const _=t.parent;this.rbdForm.get("parent").setValue(`${_.pool_name}/${_.image_name}@${_.snap_name}`)}this.mode===this.rbdFormMode.editing&&(this.rbdForm.get("name").setValue(t.name),"snapshot"===t?.mirror_mode||t.features_name.includes("journaling")?(this.mirroring=!0,this.rbdForm.get("mirroring").setValue(this.mirroring),this.rbdForm.get("mirroringMode").setValue(t?.mirror_mode),this.rbdForm.get("schedule").setValue(t?.schedule_interval)):(this.mirroring=!1,this.rbdForm.get("mirroring").setValue(this.mirroring)),this.setPoolMirrorMode()),this.rbdForm.get("pool").setValue(t.pool_name),this.onPoolChange(t.pool_name),this.rbdForm.get("namespace").setValue(t.namespace),t.data_pool&&(this.rbdForm.get("useDataPool").setValue(!0),this.rbdForm.get("dataPool").setValue(t.data_pool)),this.rbdForm.get("size").setValue(this.dimlessBinaryPipe.transform(t.size)),this.rbdForm.get("obj_size").setValue(this.dimlessBinaryPipe.transform(t.obj_size)),this.setFeatures(t.features_name),this.rbdForm.get("stripingUnit").setValue(this.dimlessBinaryPipe.transform(t.stripe_unit)),this.rbdForm.get("stripingCount").setValue(t.stripe_count),this.initializeConfigData.next({initialData:this.response.configuration,sourceType:at.h.image})}createRequest(){const t=new Cs;return t.pool_name=this.rbdForm.getValue("pool"),t.namespace=this.rbdForm.getValue("namespace"),t.name=this.rbdForm.getValue("name"),t.schedule_interval=this.rbdForm.getValue("schedule"),t.size=this.formatter.toBytes(this.rbdForm.getValue("size")),"image"===this.poolMirrorMode&&(t.mirror_mode=this.rbdForm.getValue("mirroringMode")),this.addObjectSizeAndStripingToRequest(t),t.configuration=this.getDirtyConfigurationValues(),t}addObjectSizeAndStripingToRequest(t){t.obj_size=this.formatter.toBytes(this.rbdForm.getValue("obj_size")),C().forIn(this.features,o=>{this.rbdForm.getValue(o.key)&&t.features.push(o.key)}),this.mirroring&&"journal"===this.rbdForm.getValue("mirroringMode")&&t.features.push("journaling"),t.stripe_unit=this.formatter.toBytes(this.rbdForm.getValue("stripingUnit")),t.stripe_count=this.rbdForm.getValue("stripingCount"),t.data_pool=this.rbdForm.getValue("dataPool")}createAction(){const t=this.createRequest();return this.taskWrapper.wrapTaskAroundCall({task:new R.R("rbd/create",{pool_name:t.pool_name,namespace:t.namespace,image_name:t.name,schedule_interval:t.schedule_interval,start_time:t.start_time}),call:this.rbdService.create(t)})}editRequest(){const t=new rt;if(t.name=this.rbdForm.getValue("name"),t.schedule_interval=this.rbdForm.getValue("schedule"),t.name=this.rbdForm.getValue("name"),t.size=this.formatter.toBytes(this.rbdForm.getValue("size")),C().forIn(this.features,o=>{this.rbdForm.getValue(o.key)&&t.features.push(o.key)}),t.enable_mirror=this.rbdForm.getValue("mirroring"),t.enable_mirror)"journal"===this.rbdForm.getValue("mirroringMode")&&t.features.push("journaling"),"image"===this.poolMirrorMode&&(t.mirror_mode=this.rbdForm.getValue("mirroringMode"));else{const o=t.features.indexOf("journaling",0);o>-1&&t.features.splice(o,1)}return t.configuration=this.getDirtyConfigurationValues(),t}cloneRequest(){const t=new gs;return t.child_pool_name=this.rbdForm.getValue("pool"),t.child_namespace=this.rbdForm.getValue("namespace"),t.child_image_name=this.rbdForm.getValue("name"),this.addObjectSizeAndStripingToRequest(t),t.configuration=this.getDirtyConfigurationValues(!0,at.h.image),t}editAction(){const t=new v.N(this.response.pool_name,this.response.namespace,this.response.name);return this.taskWrapper.wrapTaskAroundCall({task:new R.R("rbd/edit",{image_spec:t.toString()}),call:this.rbdService.update(t,this.editRequest())})}cloneAction(){const t=this.cloneRequest(),o=new v.N(this.response.pool_name,this.response.namespace,this.response.name);return this.taskWrapper.wrapTaskAroundCall({task:new R.R("rbd/clone",{parent_image_spec:o.toString(),parent_snap_name:this.snapName,child_pool_name:t.child_pool_name,child_namespace:t.child_namespace,child_image_name:t.child_image_name}),call:this.rbdService.cloneSnapshot(o,this.snapName,t)})}copyRequest(){const t=new Ts;return this.snapName&&(t.snapshot_name=this.snapName),t.dest_pool_name=this.rbdForm.getValue("pool"),t.dest_namespace=this.rbdForm.getValue("namespace"),t.dest_image_name=this.rbdForm.getValue("name"),this.addObjectSizeAndStripingToRequest(t),t.configuration=this.getDirtyConfigurationValues(!0,at.h.image),t}copyAction(){const t=this.copyRequest(),o=new v.N(this.response.pool_name,this.response.namespace,this.response.name);return this.taskWrapper.wrapTaskAroundCall({task:new R.R("rbd/copy",{src_image_spec:o.toString(),dest_pool_name:t.dest_pool_name,dest_namespace:t.dest_namespace,dest_image_name:t.dest_image_name}),call:this.rbdService.copy(o,t)})}submit(){this.mode||this.rbdImage.next("create"),this.rbdImage.pipe((0,ds.P)(),(0,ps.w)(()=>this.mode===this.rbdFormMode.editing?this.editAction():this.mode===this.rbdFormMode.cloning?this.cloneAction():this.mode===this.rbdFormMode.copying?this.copyAction():this.createAction())).subscribe(()=>{},()=>this.rbdForm.setErrors({cdSubmitButton:!0}),()=>this.router.navigate(["/block/rbd"]))}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(_e.j),e.Y36(m.gz),e.Y36(Je.q),e.Y36(H),e.Y36(us.H),e.Y36(u.P),e.Y36(Ye.$),e.Y36(N.p4),e.Y36(m.F0),e.Y36(X))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-rbd-form"]],features:[e.qOj],decls:1,vars:1,consts:function(){let s,t,o,i,_,a,c,d,g,S,I,P,$,y,z,V,oe,ne,w,le,ce,O,Te,fe,Ce,Se,Ee,Re,Me,G,Ge,ye,xe,Ze,we,He,ke,Ke,qe,Xe;return s="" + "\ufffd0\ufffd" + " " + "\ufffd1\ufffd" + "",t="Name",o="Pool",i="Utiliser une r\xE9serve de donn\xE9es d\xE9di\xE9e",_="Size",a="par exemple, 10 Gio",c="Fonctionnalit\xE9s",d="Segmentation",g="Object size" + "\ufffd#62\ufffd" + "Objects in the Ceph Storage Cluster have a maximum configurable size (e.g., 2MB, 4MB, etc.). The object size should be large enough to accommodate many stripe units, and should be a multiple of the stripe unit." + "\ufffd/#62\ufffd" + "",S="Stripe unit" + "\ufffd#69\ufffd" + "Stripes have a configurable unit size (e.g., 64kb). The Ceph Client divides the data it will write to objects into equally sized stripe units, except for the last stripe unit. A stripe width, should be a fraction of the Object Size so that an object may contain many stripe units." + "\ufffd/#69\ufffd" + "",I="-- S\xE9lectionner une unit\xE9 de segmentation --",P="Stripe count" + "\ufffd#80\ufffd" + "The Ceph Client writes a sequence of stripe units over a series of objects determined by the stripe count. The series of objects is called an object set. After the Ceph Client writes to the last object in the object set, it returns to the first object in the object set." + "\ufffd/#80\ufffd" + "",$="\n " + "\ufffd0\ufffd" + " from\n ",y="This field is required.",z="Les caract\xE8res '/' et '@' ne sont pas autoris\xE9s.",V="Chargement...",oe="-- Aucune r\xE9serve RBD disponible --",ne="-- S\xE9lectionner une r\xE9serve --",w="This field is required.",le="Chargement...",ce="-- No namespaces available --",O="-- Select a namespace --",Te="You need more than one pool with the rbd application label use to use a dedicated data pool.",fe="R\xE9serve de donn\xE9es",Ce="R\xE9serve d\xE9di\xE9e qui stocke les donn\xE9es objet du RBD.",Se="Chargement...",Ee="-- Aucune r\xE9serve de donn\xE9es disponible --",Re="This field is required.",Me="This field is required.",G="Vous devez augmenter la taille.",Ge="Size must be a number or in a valid format. eg: 5 GiB",ye="You need to enable a " + "\ufffd#3\ufffd" + "mirror mode" + "\ufffd/#3\ufffd" + " in the selected pool. Please " + "\ufffd#4\ufffd" + "click here to select a mode and enable it in this pool." + "\ufffd/#4\ufffd" + "",xe="You need to enable " + "\ufffd#3\ufffd" + "image mirror mode" + "\ufffd/#3\ufffd" + " in the selected pool. Please " + "\ufffd#4\ufffd" + "click here to select a mode and enable it in this pool." + "\ufffd/#4\ufffd" + "",Ze="Create Mirror-Snapshots automatically on a periodic basis. The interval can be specified in days, hours, or minutes using d, h, m suffix respectively. To create mirror snapshots, you must import or create and have available peers to mirror",we="Schedule Interval " + "\ufffd#3\ufffd" + "" + "\ufffd/#3\ufffd" + "",He="e.g., 12h or 1d or 10m",ke="Ce champ est obligatoire, car le nombre de segments est d\xE9fini.",Ke="L'unit\xE9 de segmentation est sup\xE9rieure \xE0 la taille de l'objet.",qe="Ce champ est obligatoire, car l'unit\xE9 de segmentation est d\xE9finie.",Xe="Le nombre de segments doit \xEAtre sup\xE9rieur \xE0 0.",[["class","cd-col-form",4,"cdFormLoading"],[1,"cd-col-form"],["name","rbdForm","novalidate","",3,"formGroup"],["formDir","ngForm"],[1,"card"],[1,"card-header"],s,[1,"card-body"],["class","form-group row",4,"ngIf"],[1,"form-group","row"],["for","name",1,"cd-col-form-label","required"],t,[1,"cd-col-form-input"],["type","text","placeholder","Name...","id","name","name","name","formControlName","name","autofocus","",1,"form-control"],["class","invalid-feedback",4,"ngIf"],[1,"form-group","row",3,"change"],["for","pool",1,"cd-col-form-label",3,"ngClass"],o,["class","form-control","type","text","placeholder","Pool name...","id","pool","name","pool","formControlName","pool",4,"ngIf"],["id","pool","name","pool","class","form-select","formControlName","pool",3,"change",4,"ngIf"],[1,"cd-col-form-offset"],[1,"custom-control","custom-checkbox"],["type","checkbox","id","useDataPool","name","useDataPool","formControlName","useDataPool",1,"custom-control-input",3,"change"],["for","useDataPool",1,"custom-control-label"],i,[4,"ngIf"],["for","size",1,"cd-col-form-label","required"],_,["id","size","name","size","type","text","formControlName","size","placeholder",a,"defaultUnit","GiB","cdDimlessBinary","",1,"form-control"],["formGroupName","features",1,"form-group","row"],["for","features",1,"cd-col-form-label"],c,["class","custom-control custom-checkbox",4,"ngFor","ngForOf"],["type","checkbox","id","mirroring","name","mirroring","formControlName","mirroring",1,"custom-control-input",3,"change"],["for","mirroring",1,"custom-control-label"],[1,"cd-header"],d,["for","size",1,"cd-col-form-label"],g,["id","obj_size","name","obj_size","formControlName","obj_size",1,"form-select"],[3,"value",4,"ngFor","ngForOf"],["for","stripingUnit",1,"cd-col-form-label",3,"ngClass"],S,["id","stripingUnit","name","stripingUnit","formControlName","stripingUnit",1,"form-select"],[3,"ngValue"],I,["for","stripingCount",1,"cd-col-form-label",3,"ngClass"],P,["id","stripingCount","name","stripingCount","formControlName","stripingCount","type","number",1,"form-control"],[3,"form","initializeData","changes"],[1,"card-footer"],["wrappingClass","text-right",3,"form","submitText","submitActionEvent"],["for","name",1,"cd-col-form-label"],$,["type","text","id","parent","name","parent","formControlName","parent",1,"form-control"],[1,"invalid-feedback"],y,z,["type","text","placeholder","Pool name...","id","pool","name","pool","formControlName","pool",1,"form-control"],["id","pool","name","pool","formControlName","pool",1,"form-select",3,"change"],[3,"ngValue",4,"ngIf"],V,oe,ne,[3,"value"],w,[3,"ngClass"],["for","pool",1,"cd-col-form-label"],["class","form-control","type","text","placeholder","Namespace...","id","namespace","name","namespace","formControlName","namespace",4,"ngIf"],["id","namespace","name","namespace","class","form-select","formControlName","namespace",4,"ngIf"],["type","text","placeholder","Namespace...","id","namespace","name","namespace","formControlName","namespace",1,"form-control"],["id","namespace","name","namespace","formControlName","namespace",1,"form-select"],le,ce,O,Te,["for","dataPool",1,"cd-col-form-label"],fe,["html",Ce],["class","form-control","type","text","placeholder","Data pool name...","id","dataPool","name","dataPool","formControlName","dataPool",4,"ngIf"],["id","dataPool","name","dataPool","class","form-select","formControlName","dataPool",3,"change",4,"ngIf"],["type","text","placeholder","Data pool name...","id","dataPool","name","dataPool","formControlName","dataPool",1,"form-control"],["id","dataPool","name","dataPool","formControlName","dataPool",1,"form-select",3,"change"],Se,Ee,Re,Me,G,Ge,["type","checkbox",1,"custom-control-input",3,"id","name","formControlName"],[1,"custom-control-label",3,"for"],[3,"html",4,"ngIf"],[3,"html"],ye,[3,"routerLink"],["class","custom-control custom-radio ms-2",4,"ngFor","ngForOf"],[1,"custom-control","custom-radio","ms-2"],["type","radio","name","mirroringMode","formControlName","mirroringMode",1,"form-check-input",3,"id","value","change"],[1,"form-check-label",3,"for"],xe,[1,"cd-col-form-label"],we,["html",Ze],["id","schedule","name","schedule","type","text","formControlName","schedule","placeholder",He,1,"form-control"],ke,Ke,qe,Xe]},template:function(t,o){1&t&&e.YNc(0,p_,90,48,"div",0),2&t&&e.Q6J("cdFormLoading",o.loading)},dependencies:[l.mk,l.sg,l.O5,r._Y,r.YN,r.Kr,r.Fj,r.wV,r.Wl,r.EJ,r._,r.JJ,r.JL,r.sg,r.u,r.x0,At.S,A.p,Ss.B,Pe.U,Es.Q,gt.y,M.o,B.b,q.P,Y.V,m.rH,Rs.d,l.rS,tt.m]}),n})();var Ft=p(71225),lt=p(36169),u_=p(72427),ct=p(51847),m_=p(16738),be=p.n(m_),dt=p(62862),g_=p(52266);function T_(n,s){1&n&&(e.TgZ(0,"div",18)(1,"span"),e.SDv(2,19),e.qZA()())}function f_(n,s){1&n&&(e.TgZ(0,"span",20),e.SDv(1,21),e.qZA())}function C_(n,s){1&n&&(e.TgZ(0,"span",20),e.SDv(1,22),e.qZA())}function S_(n,s){if(1&n&&e._UZ(0,"cd-date-time-picker",23),2&n){const t=e.oxw();e.Q6J("control",t.moveForm.get("expiresAt"))}}let E_=(()=>{class n{constructor(t,o,i,_,a){this.rbdService=t,this.activeModal=o,this.actionLabels=i,this.fb=_,this.taskWrapper=a,this.createForm()}createForm(){this.moveForm=this.fb.group({expiresAt:["",[J.h.custom("format",t=>!(""===t||be()(t,"YYYY-MM-DD HH:mm:ss").isValid())),J.h.custom("expired",t=>be()().isAfter(t))]]})}ngOnInit(){this.imageSpec=new v.N(this.poolName,this.namespace,this.imageName),this.imageSpecStr=this.imageSpec.toString(),this.pattern=`${this.poolName}/${this.imageName}`}moveImage(){let t=0;const o=this.moveForm.getValue("expiresAt");o&&(t=be()(o,"YYYY-MM-DD HH:mm:ss").diff(be()(),"seconds",!0)),t<0&&(t=0),this.taskWrapper.wrapTaskAroundCall({task:new R.R("rbd/trash/move",{image_spec:this.imageSpecStr}),call:this.rbdService.moveTrash(this.imageSpec,t)}).subscribe({complete:()=>{this.activeModal.close()}})}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(H),e.Y36(b.Kz),e.Y36(N.p4),e.Y36(dt.O),e.Y36(u.P))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-rbd-trash-move-modal"]],decls:23,vars:9,consts:function(){let s,t,o,i,_,a,c;return s="D\xE9placer une image vers la corbeille.",t="To move " + "[\ufffd#10\ufffd|\ufffd#11\ufffd]" + "" + "\ufffd0\ufffd" + "" + "[\ufffd/#10\ufffd|\ufffd/#11\ufffd]" + " to trash, click " + "[\ufffd#10\ufffd|\ufffd#11\ufffd]" + "Move" + "[\ufffd/#10\ufffd|\ufffd/#11\ufffd]" + ". Optionally, you can pick an expiration date.",t=e.Zx4(t),o="La protection expire le ",i="NON PROT\xC9G\xC9",_="This image contains snapshot(s), which will prevent it from being removed after moved to trash.",a="Format de date incorrect. Veuillez utiliser \"AAAA-MM-JJ HH:mm:ss\"",c="La protection a d\xE9j\xE0 expir\xE9. Veuillez s\xE9lectionner une date ult\xE9rieure ou laisser le champ vide.",[[3,"modalRef"],[1,"modal-title"],s,[1,"modal-content"],["name","moveForm","novalidate","",1,"form",3,"formGroup"],["formDir","ngForm"],[1,"modal-body"],["class","alert alert-warning","role","alert",4,"ngIf"],t,[1,"form-group"],["for","expiresAt",1,"col-form-label"],o,["type","text","placeholder",i,"formControlName","expiresAt","triggers","manual",1,"form-control",3,"ngbPopover","click","keypress"],["p","ngbPopover"],["class","invalid-feedback",4,"ngIf"],[1,"modal-footer"],[3,"form","submitText","submitActionEvent"],["popContent",""],["role","alert",1,"alert","alert-warning"],_,[1,"invalid-feedback"],a,c,[3,"control"]]},template:function(t,o){if(1&t){const i=e.EpF();e.TgZ(0,"cd-modal",0),e.ynx(1,1),e.SDv(2,2),e.BQk(),e.ynx(3,3),e.TgZ(4,"form",4,5)(6,"div",6),e.YNc(7,T_,3,0,"div",7),e.TgZ(8,"p"),e.tHW(9,8),e._UZ(10,"kbd")(11,"kbd"),e.N_p(),e.qZA(),e.TgZ(12,"div",9)(13,"label",10),e.SDv(14,11),e.qZA(),e.TgZ(15,"input",12,13),e.NdJ("click",function(){e.CHM(i);const a=e.MAs(16);return e.KtG(a.open())})("keypress",function(){e.CHM(i);const a=e.MAs(16);return e.KtG(a.close())}),e.qZA(),e.YNc(17,f_,2,0,"span",14),e.YNc(18,C_,2,0,"span",14),e.qZA()(),e.TgZ(19,"div",15)(20,"cd-form-button-panel",16),e.NdJ("submitActionEvent",function(){return o.moveImage()}),e.qZA()()(),e.BQk(),e.qZA(),e.YNc(21,S_,1,1,"ng-template",null,17,e.W1O)}if(2&t){const i=e.MAs(5),_=e.MAs(22);e.Q6J("modalRef",o.activeModal),e.xp6(4),e.Q6J("formGroup",o.moveForm),e.xp6(3),e.Q6J("ngIf",o.hasSnapshots),e.xp6(4),e.pQV(o.imageSpecStr),e.QtT(9),e.xp6(4),e.Q6J("ngbPopover",_),e.xp6(2),e.Q6J("ngIf",o.moveForm.showError("expiresAt",i,"format")),e.xp6(1),e.Q6J("ngIf",o.moveForm.showError("expiresAt",i,"expired")),e.xp6(2),e.Q6J("form",o.moveForm)("submitText",o.actionLabels.MOVE)}},dependencies:[l.O5,r._Y,r.Fj,r.JJ,r.JL,r.sg,r.u,b.o8,f.z,g_.J,A.p,M.o,B.b,q.P,Y.V]}),n})();var R_=p(60251),Dt=p(76317),M_=p(25917),Lt=p(51295),pt=p(60737),Be=p(96102),O_=p(74255),vt=p(71099),$t=p(79765);function h_(n,s){1&n&&(e.TgZ(0,"span",16),e.SDv(1,17),e.qZA())}function A_(n,s){if(1&n&&(e.TgZ(0,"span"),e.tHW(1,18),e._UZ(2,"b"),e.N_p(),e.qZA()),2&n){const t=e.oxw();e.xp6(2),e.pQV(t.imageName),e.QtT(1)}}function P_(n,s){1&n&&(e.TgZ(0,"cd-helper"),e.SDv(1,25),e.qZA())}function b_(n,s){if(1&n){const t=e.EpF();e.TgZ(0,"div",7)(1,"div",20)(2,"div",21)(3,"input",22),e.NdJ("change",function(){e.CHM(t);const i=e.oxw(2);return e.KtG(i.onMirrorCheckBoxChange())}),e.qZA(),e.TgZ(4,"label",23),e.SDv(5,24),e.qZA(),e.YNc(6,P_,2,0,"cd-helper",13),e.qZA()()()}if(2&n){const t=s.ngIf;e.xp6(3),e.uIk("disabled",!(t.length>0)||null),e.xp6(3),e.Q6J("ngIf",!t.length>0)}}function I_(n,s){if(1&n&&(e.ynx(0),e.YNc(1,b_,7,2,"div",19),e.ALo(2,"async"),e.BQk()),2&n){const t=e.oxw();e.xp6(1),e.Q6J("ngIf",e.lcZ(2,1,t.peerConfigured$))}}let N_=(()=>{class n{constructor(t,o,i,_,a,c){this.activeModal=t,this.rbdService=o,this.taskManagerService=i,this.notificationService=_,this.actionLabels=a,this.rbdMirrorService=c,this.editing=!1,this.onSubmit=new $t.xQ,this.action=this.actionLabels.CREATE,this.resource="RBD Snapshot",this.createForm()}createForm(){this.snapshotForm=new Z.d({snapshotName:new r.p4("",{validators:[r.kI.required]}),mirrorImageSnapshot:new r.p4(!1,{})})}ngOnInit(){this.peerConfigured$=this.rbdMirrorService.getPeerForPool(this.poolName)}setSnapName(t){this.snapName=t,this.snapshotForm.get("snapshotName").setValue(t)}onMirrorCheckBoxChange(){!0===this.snapshotForm.getValue("mirrorImageSnapshot")?(this.snapshotForm.get("snapshotName").setValue(""),this.snapshotForm.get("snapshotName").clearValidators()):(this.snapshotForm.get("snapshotName").setValue(this.snapName),this.snapshotForm.get("snapshotName").setValidators([r.kI.required]),this.snapshotForm.get("snapshotName").updateValueAndValidity())}setEditing(t=!0){this.editing=t,this.action=this.editing?this.actionLabels.RENAME:this.actionLabels.CREATE}editAction(){const t=this.snapshotForm.getValue("snapshotName"),o=new v.N(this.poolName,this.namespace,this.imageName),i=new R.R;i.name="rbd/snap/edit",i.metadata={image_spec:o.toString(),snapshot_name:t},this.rbdService.renameSnapshot(o,this.snapName,t).toPromise().then(()=>{this.taskManagerService.subscribe(i.name,i.metadata,_=>{this.notificationService.notifyTask(_)}),this.activeModal.close(),this.onSubmit.next(this.snapName)}).catch(()=>{this.snapshotForm.setErrors({cdSubmitButton:!0})})}createAction(){const t=this.snapshotForm.getValue("snapshotName"),o=this.snapshotForm.getValue("mirrorImageSnapshot"),i=new v.N(this.poolName,this.namespace,this.imageName),_=new R.R;_.name="rbd/snap/create",_.metadata={image_spec:i.toString(),snapshot_name:t},this.rbdService.createSnapshot(i,t,o).toPromise().then(()=>{this.taskManagerService.subscribe(_.name,_.metadata,a=>{this.notificationService.notifyTask(a)}),this.activeModal.close(),this.onSubmit.next(t)}).catch(()=>{this.snapshotForm.setErrors({cdSubmitButton:!0})})}submit(){this.editing?this.editAction():this.createAction()}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(b.Kz),e.Y36(H),e.Y36(vt.k),e.Y36(ve.g),e.Y36(N.p4),e.Y36(X))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-rbd-snapshot-form-modal"]],decls:21,vars:18,consts:function(){let s,t,o,i,_,a;return s="" + "\ufffd0\ufffd" + " " + "\ufffd1\ufffd" + "",t="Name",o="This field is required.",i="Snapshot mode is enabled on image " + "\ufffd#2\ufffd" + "" + "\ufffd0\ufffd" + "" + "\ufffd/#2\ufffd" + ": snapshot names are auto generated",_="Mirror Image Snapshot",a="The peer must be registered to do this action.",[[3,"modalRef"],[1,"modal-title"],s,[1,"modal-content"],["name","snapshotForm","novalidate","",3,"formGroup"],["formDir","ngForm"],[1,"modal-body"],[1,"form-group","row"],["for","snapshotName",1,"cd-col-form-label","required"],t,[1,"cd-col-form-input"],["type","text","placeholder","Snapshot name...","id","snapshotName","name","snapshotName","formControlName","snapshotName","autofocus","",1,"form-control"],["class","invalid-feedback",4,"ngIf"],[4,"ngIf"],[1,"modal-footer"],[3,"form","submitText","submitActionEvent"],[1,"invalid-feedback"],o,i,["class","form-group row",4,"ngIf"],[1,"cd-col-form-offset"],[1,"custom-control","custom-checkbox"],["type","checkbox","formControlName","mirrorImageSnapshot","name","mirrorImageSnapshot","id","mirrorImageSnapshot",1,"custom-control-input",3,"change"],["for","mirrorImageSnapshot",1,"custom-control-label"],_,a]},template:function(t,o){if(1&t&&(e.TgZ(0,"cd-modal",0),e.ynx(1,1),e.SDv(2,2),e.ALo(3,"titlecase"),e.ALo(4,"upperFirst"),e.BQk(),e.ynx(5,3),e.TgZ(6,"form",4,5)(8,"div",6)(9,"div",7)(10,"label",8),e.SDv(11,9),e.qZA(),e.TgZ(12,"div",10),e._UZ(13,"input",11),e.YNc(14,h_,2,0,"span",12),e.YNc(15,A_,3,1,"span",13),e.qZA()(),e.YNc(16,I_,3,3,"ng-container",13),e.qZA(),e.TgZ(17,"div",14)(18,"cd-form-button-panel",15),e.NdJ("submitActionEvent",function(){return o.submit()}),e.ALo(19,"titlecase"),e.ALo(20,"upperFirst"),e.qZA()()(),e.BQk(),e.qZA()),2&t){const i=e.MAs(7);e.Q6J("modalRef",o.activeModal),e.xp6(4),e.pQV(e.lcZ(3,10,o.action))(e.lcZ(4,12,o.resource)),e.QtT(2),e.xp6(2),e.Q6J("formGroup",o.snapshotForm),e.xp6(7),e.uIk("disabled","snapshot"===o.mirroring&&!0===o.snapshotForm.getValue("mirrorImageSnapshot")||null),e.xp6(1),e.Q6J("ngIf",o.snapshotForm.showError("snapshotName",i,"required")),e.xp6(1),e.Q6J("ngIf","snapshot"===o.mirroring&&!0===o.snapshotForm.getValue("mirrorImageSnapshot")||null),e.xp6(1),e.Q6J("ngIf","snapshot"===o.mirroring||null),e.xp6(2),e.Q6J("form",o.snapshotForm)("submitText",e.lcZ(19,14,o.action)+" "+e.lcZ(20,16,o.resource))}},dependencies:[l.O5,r._Y,r.Fj,r.Wl,r.JJ,r.JL,r.sg,r.u,At.S,f.z,A.p,Pe.U,M.o,B.b,q.P,Y.V,l.Ov,l.rS,tt.m]}),n})();class F_{constructor(s,t,o){this.featuresName=t,this.cloneFormatVersion=1,o.cloneFormatVersion().subscribe(i=>{this.cloneFormatVersion=i}),this.create={permission:"create",icon:T.P.add,name:s.CREATE},this.rename={permission:"update",icon:T.P.edit,name:s.RENAME,disable:i=>this.disableForMirrorSnapshot(i)||!i.hasSingleSelection},this.protect={permission:"update",icon:T.P.lock,visible:i=>i.hasSingleSelection&&!i.first().is_protected,name:s.PROTECT,disable:i=>this.disableForMirrorSnapshot(i)||this.getProtectDisableDesc(i,this.featuresName)},this.unprotect={permission:"update",icon:T.P.unlock,visible:i=>i.hasSingleSelection&&i.first().is_protected,name:s.UNPROTECT,disable:i=>this.disableForMirrorSnapshot(i)},this.clone={permission:"create",canBePrimary:i=>i.hasSingleSelection,disable:i=>this.getCloneDisableDesc(i)||this.disableForMirrorSnapshot(i),icon:T.P.clone,name:s.CLONE},this.copy={permission:"create",canBePrimary:i=>i.hasSingleSelection,disable:i=>!i.hasSingleSelection||i.first().cdExecuting||this.disableForMirrorSnapshot(i),icon:T.P.copy,name:s.COPY},this.rollback={permission:"update",icon:T.P.undo,name:s.ROLLBACK,disable:i=>this.disableForMirrorSnapshot(i)||!i.hasSingleSelection},this.deleteSnap={permission:"delete",icon:T.P.destroy,disable:i=>{const _=i.first();return!i.hasSingleSelection||_.cdExecuting||_.is_protected||this.disableForMirrorSnapshot(i)},name:s.DELETE},this.ordering=[this.create,this.rename,this.protect,this.unprotect,this.clone,this.copy,this.rollback,this.deleteSnap]}getProtectDisableDesc(s,t){return!(s.hasSingleSelection&&!s.first().cdExecuting)||!t?.includes("layering")&&"The layering feature needs to be enabled on parent image"}getCloneDisableDesc(s){return!(s.hasSingleSelection&&!s.first().cdExecuting)||1===this.cloneFormatVersion&&!s.first().is_protected&&"Snapshot must be protected in order to clone."}disableForMirrorSnapshot(s){return s.hasSingleSelection&&"snapshot"===s.first().mirror_mode&&s.first().name.includes(".mirror.")}}class D_{}const L_=["nameTpl"],v_=["rollbackTpl"];function $_(n,s){if(1&n&&(e.ynx(0),e.SDv(1,3),e.BQk(),e.TgZ(2,"strong"),e._uU(3),e.qZA(),e._uU(4,".\n")),2&n){const t=s.$implicit;e.xp6(3),e.hij(" ",t.snapName,"")}}let B_=(()=>{class n{constructor(t,o,i,_,a,c,d,g,S,I,P){this.authStorageService=t,this.modalService=o,this.dimlessBinaryPipe=i,this.cdDatePipe=_,this.rbdService=a,this.taskManagerService=c,this.notificationService=d,this.summaryService=g,this.taskListService=S,this.actionLabels=I,this.cdr=P,this.snapshots=[],this.selection=new he.r,this.builders={"rbd/snap/create":$=>{const y=new D_;return y.name=$.snapshot_name,y}},this.permission=this.authStorageService.getPermissions().rbdImage}ngOnInit(){this.columns=[{name:"Name",prop:"name",cellTransformation:Le.e.executing,flexGrow:2},{name:"Size",prop:"size",flexGrow:1,cellClass:"text-right",pipe:this.dimlessBinaryPipe},{name:"Used",prop:"disk_usage",flexGrow:1,cellClass:"text-right",pipe:this.dimlessBinaryPipe},{name:"State",prop:"is_protected",flexGrow:1,cellTransformation:Le.e.badge,customTemplateConfig:{map:{true:{value:"PROTECTED",class:"badge-success"},false:{value:"UNPROTECTED",class:"badge-info"}}}},{name:"Created",prop:"timestamp",flexGrow:1,pipe:this.cdDatePipe}],this.imageSpec=new v.N(this.poolName,this.namespace,this.rbdName),this.rbdTableActions=new F_(this.actionLabels,this.featuresName,this.rbdService),this.rbdTableActions.create.click=()=>this.openCreateSnapshotModal(),this.rbdTableActions.rename.click=()=>this.openEditSnapshotModal(),this.rbdTableActions.protect.click=()=>this.toggleProtection(),this.rbdTableActions.unprotect.click=()=>this.toggleProtection();const t=()=>this.selection.first()&&`${this.imageSpec.toStringEncoded()}/${encodeURIComponent(this.selection.first().name)}`;this.rbdTableActions.clone.routerLink=()=>`/block/rbd/clone/${t()}`,this.rbdTableActions.copy.routerLink=()=>`/block/rbd/copy/${t()}`,this.rbdTableActions.rollback.click=()=>this.rollbackModal(),this.rbdTableActions.deleteSnap.click=()=>this.deleteSnapshotModal(),this.tableActions=this.rbdTableActions.ordering,this.taskListService.init(()=>(0,M_.of)(this.snapshots),null,_=>{Lt.T.updateChanged(this,{data:_})&&(this.cdr.detectChanges(),this.data=[...this.data])},()=>{Lt.T.updateChanged(this,{data:this.snapshots})&&(this.cdr.detectChanges(),this.data=[...this.data])},_=>["rbd/snap/create","rbd/snap/delete","rbd/snap/edit","rbd/snap/rollback"].includes(_.name)&&this.imageSpec.toString()===_.metadata.image_spec,(_,a)=>_.name===a.metadata.snapshot_name,this.builders)}ngOnChanges(){this.columns&&(this.imageSpec=new v.N(this.poolName,this.namespace,this.rbdName),this.rbdTableActions&&(this.rbdTableActions.featuresName=this.featuresName),this.taskListService.fetch())}openSnapshotModal(t,o=null){this.modalRef=this.modalService.show(N_,{mirroring:this.mirroring}),this.modalRef.componentInstance.poolName=this.poolName,this.modalRef.componentInstance.imageName=this.rbdName,this.modalRef.componentInstance.namespace=this.namespace,o?this.modalRef.componentInstance.setEditing():o=`${this.rbdName}_${be()().toISOString(!0)}`,this.modalRef.componentInstance.setSnapName(o),this.modalRef.componentInstance.onSubmit.subscribe(_=>{const a=new pt.o;a.name=t,a.metadata={image_spec:this.imageSpec.toString(),snapshot_name:_},this.summaryService.addRunningTask(a)})}openCreateSnapshotModal(){this.openSnapshotModal("rbd/snap/create")}openEditSnapshotModal(){this.openSnapshotModal("rbd/snap/edit",this.selection.first().name)}toggleProtection(){const t=this.selection.first().name,o=this.selection.first().is_protected,i=new R.R;i.name="rbd/snap/edit";const _=new v.N(this.poolName,this.namespace,this.rbdName);i.metadata={image_spec:_.toString(),snapshot_name:t},this.rbdService.protectSnapshot(_,t,!o).toPromise().then(()=>{const a=new pt.o;a.name=i.name,a.metadata=i.metadata,this.summaryService.addRunningTask(a),this.taskManagerService.subscribe(i.name,i.metadata,c=>{this.notificationService.notifyTask(c)})})}_asyncTask(t,o,i){const _=new R.R;_.name=o,_.metadata={image_spec:new v.N(this.poolName,this.namespace,this.rbdName).toString(),snapshot_name:i};const a=new v.N(this.poolName,this.namespace,this.rbdName);this.rbdService[t](a,i).toPromise().then(()=>{const c=new pt.o;c.name=_.name,c.metadata=_.metadata,this.summaryService.addRunningTask(c),this.modalRef.close(),this.taskManagerService.subscribe(c.name,c.metadata,d=>{this.notificationService.notifyTask(d)})}).catch(()=>{this.modalRef.componentInstance.stopLoadingSpinner()})}rollbackModal(){const t=this.selection.selected[0].name,o=new v.N(this.poolName,this.namespace,this.rbdName).toString(),i={titleText:"RBD snapshot rollback",buttonText:"Rollback",bodyTpl:this.rollbackTpl,bodyData:{snapName:`${o}@${t}`},onSubmit:()=>{this._asyncTask("rollbackSnapshot","rbd/snap/rollback",t)}};this.modalRef=this.modalService.show(lt.Y,i)}deleteSnapshotModal(){const t=this.selection.selected[0].name;this.modalRef=this.modalService.show(ge.M,{itemDescription:"RBD snapshot",itemNames:[t],submitAction:()=>this._asyncTask("deleteSnapshot","rbd/snap/delete",t)})}updateSelection(t){this.selection=t}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(_e.j),e.Y36(me.Z),e.Y36(Ye.$),e.Y36(Be.N),e.Y36(H),e.Y36(vt.k),e.Y36(ve.g),e.Y36(O_.J),e.Y36(pe.j),e.Y36(N.p4),e.Y36(e.sBO))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-rbd-snapshot-list"]],viewQuery:function(t,o){if(1&t&&(e.Gf(L_,5),e.Gf(v_,7)),2&t){let i;e.iGM(i=e.CRH())&&(o.nameTpl=i.first),e.iGM(i=e.CRH())&&(o.rollbackTpl=i.first)}},inputs:{snapshots:"snapshots",featuresName:"featuresName",poolName:"poolName",namespace:"namespace",mirroring:"mirroring",primary:"primary",rbdName:"rbdName"},features:[e._Bn([pe.j]),e.TTD],decls:4,vars:5,consts:function(){let s;return s="Vous \xEAtes sur le point de revenir \xE0 l'\xE9tat initial",[["columnMode","flex","selectionType","single",3,"data","columns","updateSelection"],[1,"table-actions",3,"permission","selection","tableActions"],["rollbackTpl",""],s]},template:function(t,o){1&t&&(e.TgZ(0,"cd-table",0),e.NdJ("updateSelection",function(_){return o.updateSelection(_)}),e._UZ(1,"cd-table-actions",1),e.qZA(),e.YNc(2,$_,5,1,"ng-template",null,2,e.W1O)),2&t&&(e.Q6J("data",o.data)("columns",o.columns),e.xp6(1),e.Q6J("permission",o.permission)("selection",o.selection)("tableActions",o.tableActions))},dependencies:[te.a,Ae.K],changeDetection:0}),n})();var G_=p(42176),y_=p(41039);const x_=["poolConfigurationSourceTpl"];function Z_(n,s){1&n&&(e.ynx(0),e.tHW(1,3),e._UZ(2,"strong"),e.N_p(),e.BQk())}function w_(n,s){if(1&n&&(e.TgZ(0,"span")(1,"span",38),e._uU(2),e.qZA()()),2&n){const t=s.$implicit;e.xp6(2),e.Oqu(t)}}function H_(n,s){if(1&n&&(e.TgZ(0,"span")(1,"span",39),e.SDv(2,40),e.qZA()()),2&n){e.oxw(3);const t=e.MAs(1);e.xp6(1),e.Q6J("ngbTooltip",t)}}function k_(n,s){if(1&n&&(e.TgZ(0,"span"),e._uU(1),e.ALo(2,"dimlessBinary"),e.qZA()),2&n){const t=e.oxw(3);e.xp6(1),e.hij(" ",e.lcZ(2,1,t.selection.disk_usage)," ")}}function K_(n,s){if(1&n&&(e.TgZ(0,"span")(1,"span",39),e.SDv(2,41),e.qZA()()),2&n){e.oxw(3);const t=e.MAs(1);e.xp6(1),e.Q6J("ngbTooltip",t)}}function q_(n,s){if(1&n&&(e.TgZ(0,"span"),e._uU(1),e.ALo(2,"dimlessBinary"),e.qZA()),2&n){const t=e.oxw(3);e.xp6(1),e.hij(" ",e.lcZ(2,1,t.selection.total_disk_usage)," ")}}function X_(n,s){if(1&n&&(e.TgZ(0,"span"),e._uU(1),e.qZA()),2&n){const t=e.oxw(4);e.xp6(1),e.hij("/",t.selection.parent.pool_namespace,"")}}function Q_(n,s){if(1&n&&(e.TgZ(0,"span"),e._uU(1),e.YNc(2,X_,2,1,"span",1),e._uU(3),e.qZA()),2&n){const t=e.oxw(3);e.xp6(1),e.Oqu(t.selection.parent.pool_name),e.xp6(1),e.Q6J("ngIf",t.selection.parent.pool_namespace),e.xp6(1),e.AsE("/",t.selection.parent.image_name,"@",t.selection.parent.snap_name,"")}}function z_(n,s){1&n&&(e.TgZ(0,"span"),e._uU(1,"-"),e.qZA())}function J_(n,s){if(1&n&&(e.TgZ(0,"table",17)(1,"tbody")(2,"tr")(3,"td",18),e.SDv(4,19),e.qZA(),e.TgZ(5,"td",20),e._uU(6),e.qZA()(),e.TgZ(7,"tr")(8,"td",21),e.SDv(9,22),e.qZA(),e.TgZ(10,"td"),e._uU(11),e.qZA()(),e.TgZ(12,"tr")(13,"td",21),e.SDv(14,23),e.qZA(),e.TgZ(15,"td"),e._uU(16),e.ALo(17,"empty"),e.qZA()(),e.TgZ(18,"tr")(19,"td",21),e.SDv(20,24),e.qZA(),e.TgZ(21,"td"),e._uU(22),e.ALo(23,"cdDate"),e.qZA()(),e.TgZ(24,"tr")(25,"td",21),e.SDv(26,25),e.qZA(),e.TgZ(27,"td"),e._uU(28),e.ALo(29,"dimlessBinary"),e.qZA()(),e.TgZ(30,"tr")(31,"td",21),e.SDv(32,26),e.qZA(),e.TgZ(33,"td"),e._uU(34),e.ALo(35,"dimless"),e.qZA()(),e.TgZ(36,"tr")(37,"td",21),e.SDv(38,27),e.qZA(),e.TgZ(39,"td"),e._uU(40),e.ALo(41,"dimlessBinary"),e.qZA()(),e.TgZ(42,"tr")(43,"td",21),e.SDv(44,28),e.qZA(),e.TgZ(45,"td"),e.YNc(46,w_,3,1,"span",29),e.qZA()(),e.TgZ(47,"tr")(48,"td",21),e.SDv(49,30),e.qZA(),e.TgZ(50,"td"),e.YNc(51,H_,3,1,"span",1),e.YNc(52,k_,3,3,"span",1),e.qZA()(),e.TgZ(53,"tr")(54,"td",21),e.SDv(55,31),e.qZA(),e.TgZ(56,"td"),e.YNc(57,K_,3,1,"span",1),e.YNc(58,q_,3,3,"span",1),e.qZA()(),e.TgZ(59,"tr")(60,"td",21),e.SDv(61,32),e.qZA(),e.TgZ(62,"td"),e._uU(63),e.ALo(64,"dimlessBinary"),e.qZA()(),e.TgZ(65,"tr")(66,"td",21),e.SDv(67,33),e.qZA(),e.TgZ(68,"td"),e._uU(69),e.qZA()(),e.TgZ(70,"tr")(71,"td",21),e.SDv(72,34),e.qZA(),e.TgZ(73,"td"),e.YNc(74,Q_,4,4,"span",1),e.YNc(75,z_,2,0,"span",1),e.qZA()(),e.TgZ(76,"tr")(77,"td",21),e.SDv(78,35),e.qZA(),e.TgZ(79,"td"),e._uU(80),e.qZA()(),e.TgZ(81,"tr")(82,"td",21),e.SDv(83,36),e.qZA(),e.TgZ(84,"td"),e._uU(85),e.qZA()(),e.TgZ(86,"tr")(87,"td",21),e.SDv(88,37),e.qZA(),e.TgZ(89,"td"),e._uU(90),e.qZA()()()()),2&n){const t=e.oxw(2);e.xp6(6),e.Oqu(t.selection.name),e.xp6(5),e.Oqu(t.selection.pool_name),e.xp6(5),e.Oqu(e.lcZ(17,19,t.selection.data_pool)),e.xp6(6),e.Oqu(e.lcZ(23,21,t.selection.timestamp)),e.xp6(6),e.Oqu(e.lcZ(29,23,t.selection.size)),e.xp6(6),e.Oqu(e.lcZ(35,25,t.selection.num_objs)),e.xp6(6),e.Oqu(e.lcZ(41,27,t.selection.obj_size)),e.xp6(6),e.Q6J("ngForOf",t.selection.features_name),e.xp6(5),e.Q6J("ngIf",-1===(null==t.selection.features_name?null:t.selection.features_name.indexOf("fast-diff"))),e.xp6(1),e.Q6J("ngIf",-1!==(null==t.selection.features_name?null:t.selection.features_name.indexOf("fast-diff"))),e.xp6(5),e.Q6J("ngIf",-1===(null==t.selection.features_name?null:t.selection.features_name.indexOf("fast-diff"))),e.xp6(1),e.Q6J("ngIf",-1!==(null==t.selection.features_name?null:t.selection.features_name.indexOf("fast-diff"))),e.xp6(5),e.Oqu(e.lcZ(64,29,t.selection.stripe_unit)),e.xp6(6),e.Oqu(t.selection.stripe_count),e.xp6(5),e.Q6J("ngIf",t.selection.parent),e.xp6(1),e.Q6J("ngIf",!t.selection.parent),e.xp6(5),e.Oqu(t.selection.block_name_prefix),e.xp6(5),e.Oqu(t.selection.order),e.xp6(5),e.Oqu(t.selection.image_format)}}function Y_(n,s){if(1&n&&e._UZ(0,"cd-rbd-snapshot-list",42),2&n){const t=e.oxw(2);e.Q6J("snapshots",t.selection.snapshots)("featuresName",t.selection.features_name)("poolName",t.selection.pool_name)("primary",t.selection.primary)("namespace",t.selection.namespace)("mirroring",t.selection.mirror_mode)("rbdName",t.selection.name)}}function V_(n,s){if(1&n&&e._UZ(0,"cd-rbd-configuration-table",43),2&n){const t=e.oxw(2);e.Q6J("data",t.selection.configuration)}}function U_(n,s){if(1&n&&e._UZ(0,"cd-grafana",44),2&n){const t=e.oxw(2);e.Q6J("grafanaPath",t.rbdDashboardUrl)("type","metrics")}}function j_(n,s){if(1&n&&(e.ynx(0),e.TgZ(1,"nav",4,5),e.ynx(3,6),e.TgZ(4,"a",7),e.SDv(5,8),e.qZA(),e.YNc(6,J_,91,31,"ng-template",9),e.BQk(),e.ynx(7,10),e.TgZ(8,"a",7),e.SDv(9,11),e.qZA(),e.YNc(10,Y_,1,7,"ng-template",9),e.BQk(),e.ynx(11,12),e.TgZ(12,"a",7),e.SDv(13,13),e.qZA(),e.YNc(14,V_,1,1,"ng-template",9),e.BQk(),e.ynx(15,14),e.TgZ(16,"a",7),e.SDv(17,15),e.qZA(),e.YNc(18,U_,1,2,"ng-template",9),e.BQk(),e.qZA(),e._UZ(19,"div",16),e.BQk()),2&n){const t=e.MAs(2);e.xp6(19),e.Q6J("ngbNavOutlet",t)}}function W_(n,s){1&n&&(e.ynx(0),e.TgZ(1,"cd-alert-panel",45),e.SDv(2,46),e.qZA(),e.BQk())}function ea(n,s){1&n&&(e.ynx(0),e.TgZ(1,"strong",49),e.SDv(2,50),e.qZA(),e.BQk())}function ta(n,s){1&n&&(e.TgZ(0,"span",51),e.SDv(1,52),e.qZA())}function oa(n,s){if(1&n&&(e.YNc(0,ea,3,0,"ng-container",47),e.YNc(1,ta,2,0,"ng-template",null,48,e.W1O)),2&n){const t=s.value,o=e.MAs(2);e.Q6J("ngIf",+t)("ngIfElse",o)}}let na=(()=>{class n{ngOnChanges(){this.selection&&(this.rbdDashboardUrl=`rbd-details?var-Pool=${this.selection.pool_name}&var-Image=${this.selection.name}`)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-rbd-details"]],viewQuery:function(t,o){if(1&t&&(e.Gf(x_,7),e.Gf(b.Pz,7)),2&t){let i;e.iGM(i=e.CRH())&&(o.poolConfigurationSourceTpl=i.first),e.iGM(i=e.CRH())&&(o.nav=i.first)}},inputs:{selection:"selection",images:"images"},features:[e.TTD],decls:6,vars:2,consts:function(){let s,t,o,i,_,a,c,d,g,S,I,P,$,y,z,V,oe,ne,w,le,ce,O,Te,fe,Ce,Se,Ee,Re,Me;return s="Only available for RBD images with \n " + "\ufffd#2\ufffd" + "fast-diff\n " + "\ufffd/#2\ufffd" + " enabled\n ",t="D\xE9tails",o="Instantan\xE9s",i="Configuration",_="Performance",a="Name",c="Pool",d="R\xE9serve de donn\xE9es",g="Created",S="Size",I="Objects",P="Object size",$="Fonctionnalit\xE9s",y="Provisioned",z="Total provisioned",V="Unit\xE9 de segmentation",oe="Nombre de segmentations",ne="Parent",w="Pr\xE9fixe du nom de bloc",le="Tri",ce="Format Version",O="N/A",Te="N/A",fe="RBD details",Ce="Information can not be displayed for RBD in status 'Removing'.",Se="Ce param\xE8tre remplace la valeur globale",Ee="Image",Re="Il s'agit de la valeur globale. Aucune valeur de cette option n'a \xE9t\xE9 d\xE9finie pour cette image.",Me="Global",[["usageNotAvailableTooltipTpl",""],[4,"ngIf"],["poolConfigurationSourceTpl",""],s,["ngbNav","","cdStatefulTab","rbd-details",1,"nav-tabs"],["nav","ngbNav"],["ngbNavItem","details"],["ngbNavLink",""],t,["ngbNavContent",""],["ngbNavItem","snapshots"],o,["ngbNavItem","configuration"],i,["ngbNavItem","performance"],_,[3,"ngbNavOutlet"],[1,"table","table-striped","table-bordered"],[1,"bold","w-25"],a,[1,"w-75"],[1,"bold"],c,d,g,S,I,P,$,[4,"ngFor","ngForOf"],y,z,V,oe,ne,w,le,ce,[1,"badge","badge-dark","me-2"],["placement","top",1,"form-text","text-muted",3,"ngbTooltip"],O,Te,[3,"snapshots","featuresName","poolName","primary","namespace","mirroring","rbdName"],[3,"data"],["title",fe,"uid","YhCYGcuZz","grafanaStyle","one",3,"grafanaPath","type"],["type","warning"],Ce,[4,"ngIf","ngIfElse"],["global",""],["ngbTooltip",Se],Ee,["ngbTooltip",Re],Me]},template:function(t,o){1&t&&(e.YNc(0,Z_,3,0,"ng-template",null,0,e.W1O),e.YNc(2,j_,20,1,"ng-container",1),e.YNc(3,W_,3,0,"ng-container",1),e.YNc(4,oa,3,2,"ng-template",null,2,e.W1O)),2&t&&(e.xp6(2),e.Q6J("ngIf",o.selection&&"REMOVING"!==o.selection.source),e.xp6(1),e.Q6J("ngIf",o.selection&&"REMOVING"===o.selection.source))},dependencies:[l.sg,l.O5,b.uN,b.Pz,b.nv,b.Vx,b.tO,b.Dy,b._L,Dt.F,nt.G,Mt.m,B_,G_.P,Ye.$,it.n,Be.N,y_.W]}),n})();const je=function(){return{exact:!0}};function ia(n,s){1&n&&(e.TgZ(0,"li",1)(1,"a",9),e.SDv(2,10),e.qZA()()),2&n&&(e.xp6(1),e.Q6J("routerLinkActiveOptions",e.DdM(1,je)))}let We=(()=>{class n{constructor(t){this.authStorageService=t,this.grafanaPermission=this.authStorageService.getPermissions().grafana}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(_e.j))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-rbd-tabs"]],decls:11,vars:7,consts:function(){let s,t,o,i;return s="Images",t="Namespaces",o="Corbeille",i="Performance globale",[[1,"nav","nav-tabs"],[1,"nav-item"],["routerLink","/block/rbd","routerLinkActive","active","ariaCurrentWhenActive","page",1,"nav-link",3,"routerLinkActiveOptions"],s,["routerLink","/block/rbd/namespaces","routerLinkActive","active","ariaCurrentWhenActive","page",1,"nav-link",3,"routerLinkActiveOptions"],t,["routerLink","/block/rbd/trash","routerLinkActive","active","ariaCurrentWhenActive","page",1,"nav-link",3,"routerLinkActiveOptions"],o,["class","nav-item",4,"ngIf"],["routerLink","/block/rbd/performance","routerLinkActive","active","ariaCurrentWhenActive","page",1,"nav-link",3,"routerLinkActiveOptions"],i]},template:function(t,o){1&t&&(e.TgZ(0,"ul",0)(1,"li",1)(2,"a",2),e.SDv(3,3),e.qZA()(),e.TgZ(4,"li",1)(5,"a",4),e.SDv(6,5),e.qZA()(),e.TgZ(7,"li",1)(8,"a",6),e.SDv(9,7),e.qZA()(),e.YNc(10,ia,3,2,"li",8),e.qZA()),2&t&&(e.xp6(2),e.Q6J("routerLinkActiveOptions",e.DdM(4,je)),e.xp6(3),e.Q6J("routerLinkActiveOptions",e.DdM(5,je)),e.xp6(3),e.Q6J("routerLinkActiveOptions",e.DdM(6,je)),e.xp6(2),e.Q6J("ngIf",o.grafanaPermission.read))},dependencies:[l.O5,m.rH,m.Od]}),n})();const sa=["usageTpl"],_a=["parentTpl"],aa=["nameTpl"],ra=["ScheduleTpl"],la=["mirroringTpl"],ca=["flattenTpl"],da=["deleteTpl"],pa=["removingStatTpl"],ua=["forcePromoteConfirmation"],ma=["usedTmpl"],ga=["totalUsedTmpl"],Ta=["imageUsageTpl"];function fa(n,s){if(1&n&&(e.TgZ(0,"span"),e._uU(1),e.qZA()),2&n){const t=e.oxw(2).value;e.xp6(1),e.hij("/",t.pool_namespace,"")}}function Ca(n,s){if(1&n&&(e.TgZ(0,"span"),e._uU(1),e.YNc(2,fa,2,1,"span",13),e._uU(3),e.qZA()),2&n){const t=e.oxw().value;e.xp6(1),e.Oqu(t.pool_name),e.xp6(1),e.Q6J("ngIf",t.pool_namespace),e.xp6(1),e.AsE("/",t.image_name,"@",t.snap_name,"")}}function Sa(n,s){1&n&&(e.TgZ(0,"span"),e._uU(1,"-"),e.qZA())}function Ea(n,s){if(1&n&&(e.YNc(0,Ca,4,4,"span",13),e.YNc(1,Sa,2,0,"span",13)),2&n){const t=s.value;e.Q6J("ngIf",t),e.xp6(1),e.Q6J("ngIf",!t)}}function Ra(n,s){if(1&n&&(e.TgZ(0,"span",17),e._uU(1),e.qZA()),2&n){const t=e.oxw().value;e.xp6(1),e.Oqu(t[0])}}function Ma(n,s){if(1&n&&(e.TgZ(0,"span",17),e._uU(1),e.qZA()),2&n){const t=e.oxw().value;e.xp6(1),e.Oqu(t[1])}}function Oa(n,s){1&n&&(e.TgZ(0,"span",17),e.SDv(1,18),e.qZA())}function ha(n,s){1&n&&(e.TgZ(0,"span",17),e.SDv(1,19),e.qZA())}function Aa(n,s){if(1&n&&(e.TgZ(0,"span",17),e._uU(1),e.qZA()),2&n){const t=e.oxw().value;e.xp6(1),e.Oqu(t)}}function Pa(n,s){if(1&n&&(e.YNc(0,Ra,2,1,"span",14),e._uU(1,"\xa0 "),e.YNc(2,Ma,2,1,"span",15),e._uU(3,"\xa0 "),e.YNc(4,Oa,2,0,"span",15),e.YNc(5,ha,2,0,"span",15),e.YNc(6,Aa,2,1,"ng-template",null,16,e.W1O)),2&n){const t=s.value,o=s.row,i=e.MAs(7);e.Q6J("ngIf",3===t.length)("ngIfElse",i),e.xp6(2),e.Q6J("ngIf",3===t.length),e.xp6(2),e.Q6J("ngIf",!0===o.primary),e.xp6(1),e.Q6J("ngIf",!1===o.primary)}}function ba(n,s){if(1&n&&(e.TgZ(0,"span",17),e._uU(1),e.ALo(2,"cdDate"),e.qZA()),2&n){const t=e.oxw().value;e.xp6(1),e.Oqu(e.lcZ(2,1,t[2]))}}function Ia(n,s){1&n&&e.YNc(0,ba,3,3,"span",15),2&n&&e.Q6J("ngIf",3===s.value.length)}function Na(n,s){if(1&n&&(e._uU(0," You are about to flatten "),e.TgZ(1,"strong"),e._uU(2),e.qZA(),e._uU(3,". "),e._UZ(4,"br")(5,"br"),e._uU(6," All blocks will be copied from parent "),e.TgZ(7,"strong"),e._uU(8),e.qZA(),e._uU(9," to child "),e.TgZ(10,"strong"),e._uU(11),e.qZA(),e._uU(12,".\n")),2&n){const t=s.$implicit;e.xp6(2),e.Oqu(t.child),e.xp6(6),e.Oqu(t.parent),e.xp6(3),e.Oqu(t.child)}}function Fa(n,s){if(1&n&&(e.TgZ(0,"li"),e._uU(1),e.qZA()),2&n){const t=s.$implicit;e.xp6(1),e.Oqu(t)}}function Da(n,s){if(1&n&&(e.ynx(0),e.TgZ(1,"span"),e.SDv(2,23),e.qZA(),e.TgZ(3,"ul"),e.YNc(4,Fa,2,1,"li",24),e.qZA(),e.BQk()),2&n){const t=e.oxw(2).snapshots;e.xp6(4),e.Q6J("ngForOf",t)}}function La(n,s){if(1&n&&(e.TgZ(0,"div",21)(1,"span"),e.SDv(2,22),e.qZA(),e._UZ(3,"br"),e.YNc(4,Da,5,1,"ng-container",13),e.qZA()),2&n){const t=e.oxw().snapshots;e.xp6(4),e.Q6J("ngIf",t.length>0)}}function va(n,s){1&n&&e.YNc(0,La,5,1,"div",20),2&n&&e.Q6J("ngIf",s.hasSnapshots)}const $a=function(n,s){return[n,s]};function Ba(n,s){if(1&n&&e._UZ(0,"i",26),2&n){const t=e.oxw(2);e.Q6J("ngClass",e.WLB(1,$a,t.icons.spinner,t.icons.spin))}}function Ga(n,s){if(1&n&&(e.TgZ(0,"span",26),e._uU(1),e.qZA()),2&n){const t=e.oxw(),o=t.column,i=t.row;e.Q6J("ngClass",null!=o&&null!=o.customTemplateConfig&&o.customTemplateConfig.executingClass?o.customTemplateConfig.executingClass:"text-muted italic"),e.xp6(1),e.hij(" (",i.cdExecuting,") ")}}function ya(n,s){if(1&n&&e._UZ(0,"i",28),2&n){const t=e.oxw(2);e.Gre("",t.icons.warning," warn")}}function xa(n,s){if(1&n&&(e.YNc(0,Ba,1,4,"i",25),e.TgZ(1,"span",26),e._uU(2),e.qZA(),e.YNc(3,Ga,2,2,"span",25),e.YNc(4,ya,1,3,"i",27)),2&n){const t=s.column,o=s.value,i=s.row;e.Q6J("ngIf",i.cdExecuting),e.xp6(1),e.Q6J("ngClass",null==t||null==t.customTemplateConfig?null:t.customTemplateConfig.valueClass),e.xp6(1),e.hij(" ",o," "),e.xp6(1),e.Q6J("ngIf",i.cdExecuting),e.xp6(1),e.Q6J("ngIf",i.source&&"REMOVING"===i.source)}}function Za(n,s){if(1&n&&(e.TgZ(0,"cd-alert-panel",29),e._uU(1),e.qZA(),e.TgZ(2,"div",30),e.tHW(3,31),e._UZ(4,"strong"),e.N_p(),e.qZA()),2&n){const t=e.oxw();e.xp6(1),e.Oqu(t.errorMessage)}}function wa(n,s){if(1&n&&(e.TgZ(0,"span",34)(1,"span"),e._uU(2,"-"),e.qZA()()),2&n){e.oxw(2);const t=e.MAs(22);e.Q6J("ngbTooltip",t)}}function Ha(n,s){if(1&n&&e._UZ(0,"cd-usage-bar",36),2&n){const t=e.oxw(2).row;e.Q6J("total",t.size)("used",t.disk_usage)("title",t.name)}}function ka(n,s){if(1&n&&e.YNc(0,Ha,1,3,"cd-usage-bar",35),2&n){const t=e.oxw().row;e.Q6J("ngIf",t)}}function Ka(n,s){if(1&n&&(e.YNc(0,wa,3,1,"span",32),e.YNc(1,ka,1,1,"ng-template",null,33,e.W1O)),2&n){const t=s.row,o=e.MAs(2);e.Q6J("ngIf",t.features_name&&(!t.features_name.includes("fast-diff")||"snapshot"===t.mirror_mode))("ngIfElse",o)}}function qa(n,s){1&n&&e._UZ(0,"div",37),2&n&&e.Q6J("innerHtml","Only available for RBD images with fast-diff enabled and without snapshot mirroring",e.oJD)}let Qa=(()=>{class n extends ft.o{createRbdFromTaskImageSpec(t){const o=v.N.fromString(t);return this.createRbdFromTask(o.poolName,o.namespace,o.imageName)}createRbdFromTask(t,o,i){const _=new ms;return _.id="-1",_.unique_id="-1",_.name=i,_.namespace=o,_.pool_name=t,_.image_format=Ne.V2,_}constructor(t,o,i,_,a,c,d,g,S){super(),this.authStorageService=t,this.rbdService=o,this.dimlessBinaryPipe=i,this.dimlessPipe=_,this.modalService=a,this.taskWrapper=c,this.taskListService=d,this.urlBuilder=g,this.actionLabels=S,this.tableStatus=new Ft.c("light"),this.selection=new he.r,this.icons=T.P,this.count=0,this.tableContext=null,this.builders={"rbd/create":O=>this.createRbdFromTask(O.pool_name,O.namespace,O.image_name),"rbd/delete":O=>this.createRbdFromTaskImageSpec(O.image_spec),"rbd/clone":O=>this.createRbdFromTask(O.child_pool_name,O.child_namespace,O.child_image_name),"rbd/copy":O=>this.createRbdFromTask(O.dest_pool_name,O.dest_namespace,O.dest_image_name)},this.permission=this.authStorageService.getPermissions().rbdImage;const I=()=>this.selection.first()&&new v.N(this.selection.first().pool_name,this.selection.first().namespace,this.selection.first().name).toStringEncoded();this.tableActions=[{permission:"create",icon:T.P.add,routerLink:()=>this.urlBuilder.getCreate(),canBePrimary:O=>!O.hasSingleSelection,name:this.actionLabels.CREATE},{permission:"update",icon:T.P.edit,routerLink:()=>this.urlBuilder.getEdit(I()),name:this.actionLabels.EDIT,disable:O=>this.getRemovingStatusDesc(O)||this.getInvalidNameDisable(O)},{permission:"create",canBePrimary:O=>O.hasSingleSelection,disable:O=>this.getRemovingStatusDesc(O)||this.getInvalidNameDisable(O)||!!O.first().cdExecuting,icon:T.P.copy,routerLink:()=>`/block/rbd/copy/${I()}`,name:this.actionLabels.COPY},{permission:"update",disable:O=>this.getRemovingStatusDesc(O)||this.getInvalidNameDisable(O)||O.first().cdExecuting||!O.first().parent,icon:T.P.flatten,click:()=>this.flattenRbdModal(),name:this.actionLabels.FLATTEN},{permission:"update",icon:T.P.refresh,click:()=>this.resyncRbdModal(),name:this.actionLabels.RESYNC,disable:O=>this.getResyncDisableDesc(O)},{permission:"delete",icon:T.P.destroy,click:()=>this.deleteRbdModal(),name:this.actionLabels.DELETE,disable:O=>this.getDeleteDisableDesc(O)},{permission:"delete",icon:T.P.trash,click:()=>this.trashRbdModal(),name:this.actionLabels.TRASH,disable:O=>this.getRemovingStatusDesc(O)||this.getInvalidNameDisable(O)||O.first().image_format===Ne.V1},{permission:"update",icon:T.P.edit,click:()=>this.removeSchedulingModal(),name:this.actionLabels.REMOVE_SCHEDULING,disable:O=>this.getRemovingStatusDesc(O)||this.getInvalidNameDisable(O)||void 0===O.first().schedule_info},{permission:"update",icon:T.P.edit,click:()=>this.actionPrimary(!0),name:this.actionLabels.PROMOTE,visible:()=>null!=this.selection.first()&&!this.selection.first().primary,disable:()=>"Disabled"===this.selection.first().mirror_mode?"Mirroring needs to be enabled on the image to perform this action":""},{permission:"update",icon:T.P.edit,click:()=>this.actionPrimary(!1),name:this.actionLabels.DEMOTE,visible:()=>null!=this.selection.first()&&this.selection.first().primary,disable:()=>"Disabled"===this.selection.first().mirror_mode?"Mirroring needs to be enabled on the image to perform this action":""}]}ngOnInit(){this.columns=[{name:"Name",prop:"name",flexGrow:2,cellTemplate:this.removingStatTpl},{name:"Pool",prop:"pool_name",flexGrow:2},{name:"Namespace",prop:"namespace",flexGrow:2},{name:"Size",prop:"size",flexGrow:1,cellClass:"text-right",sortable:!1,pipe:this.dimlessBinaryPipe},{name:"Usage",prop:"usage",cellTemplate:this.imageUsageTpl,flexGrow:1.5},{name:"Objects",prop:"num_objs",flexGrow:1,cellClass:"text-right",sortable:!1,pipe:this.dimlessPipe},{name:"Object size",prop:"obj_size",flexGrow:1,cellClass:"text-right",sortable:!1,pipe:this.dimlessBinaryPipe},{name:"Parent",prop:"parent",flexGrow:2,sortable:!1,cellTemplate:this.parentTpl},{name:"Mirroring",prop:"mirror_mode",flexGrow:3,sortable:!1,cellTemplate:this.mirroringTpl},{name:"Next Scheduled Snapshot",prop:"mirror_mode",flexGrow:3,sortable:!1,cellTemplate:this.ScheduleTpl}],this.taskListService.init(i=>this.getRbdImages(i),i=>this.prepareResponse(i),i=>this.images=i,()=>this.onFetchError(),i=>["rbd/clone","rbd/copy","rbd/create","rbd/delete","rbd/edit","rbd/flatten","rbd/trash/move"].includes(i.name),(i,_)=>{let a;switch(_.name){case"rbd/copy":a=new v.N(_.metadata.dest_pool_name,_.metadata.dest_namespace,_.metadata.dest_image_name).toString();break;case"rbd/clone":a=new v.N(_.metadata.child_pool_name,_.metadata.child_namespace,_.metadata.child_image_name).toString();break;case"rbd/create":a=new v.N(_.metadata.pool_name,_.metadata.namespace,_.metadata.image_name).toString();break;default:a=_.metadata.image_spec}return a===new v.N(i.pool_name,i.namespace,i.name).toString()},this.builders)}onFetchError(){this.table.reset(),this.tableStatus=new Ft.c("danger")}getRbdImages(t){return null!==t&&(this.tableContext=t),null==this.tableContext&&(this.tableContext=new h.E(()=>{})),this.rbdService.list(this.tableContext?.toParams())}prepareResponse(t){let o=[];return t.forEach(i=>{o=o.concat(i.value)}),o.forEach(i=>{if(void 0!==i.schedule_info){let _=[];const a="scheduled";let c=+new Date(i.schedule_info.schedule_time);const d=(new Date).getTimezoneOffset();c+=6e4*Math.abs(d),_.push(i.mirror_mode,a,c),i.mirror_mode=_,_=[]}}),this.count=o.length>0?u_.v.getCount(t[0]):0,o}updateSelection(t){this.selection=t}deleteRbdModal(){const t=this.selection.first().pool_name,o=this.selection.first().namespace,i=this.selection.first().name,_=new v.N(t,o,i);this.modalRef=this.modalService.show(ge.M,{itemDescription:"RBD",itemNames:[_],bodyTemplate:this.deleteTpl,bodyContext:{hasSnapshots:this.hasSnapshots(),snapshots:this.listProtectedSnapshots()},submitActionObservable:()=>this.taskWrapper.wrapTaskAroundCall({task:new R.R("rbd/delete",{image_spec:_.toString()}),call:this.rbdService.delete(_)})})}resyncRbdModal(){const t=this.selection.first().pool_name,o=this.selection.first().namespace,i=this.selection.first().name,_=new v.N(t,o,i);this.modalRef=this.modalService.show(ge.M,{itemDescription:"RBD",itemNames:[_],actionDescription:"resync",submitActionObservable:()=>this.taskWrapper.wrapTaskAroundCall({task:new R.R("rbd/edit",{image_spec:_.toString()}),call:this.rbdService.update(_,{resync:!0})})})}trashRbdModal(){const t={poolName:this.selection.first().pool_name,namespace:this.selection.first().namespace,imageName:this.selection.first().name,hasSnapshots:this.hasSnapshots()};this.modalRef=this.modalService.show(E_,t)}flattenRbd(t){this.taskWrapper.wrapTaskAroundCall({task:new R.R("rbd/flatten",{image_spec:t.toString()}),call:this.rbdService.flatten(t)}).subscribe({complete:()=>{this.modalRef.close()}})}flattenRbdModal(){const t=this.selection.first().pool_name,o=this.selection.first().namespace,i=this.selection.first().name,_=this.selection.first().parent,a=new v.N(_.pool_name,_.pool_namespace,_.image_name),c=new v.N(t,o,i),d={titleText:"RBD flatten",buttonText:"Flatten",bodyTpl:this.flattenTpl,bodyData:{parent:`${a}@${_.snap_name}`,child:c.toString()},onSubmit:()=>{this.flattenRbd(c)}};this.modalRef=this.modalService.show(lt.Y,d)}editRequest(){const t=new rt;return t.remove_scheduling=!t.remove_scheduling,t}removeSchedulingModal(){const t=this.selection.first().name,o=new v.N(this.selection.first().pool_name,this.selection.first().namespace,this.selection.first().name);this.modalRef=this.modalService.show(ge.M,{actionDescription:"remove scheduling on",itemDescription:"image",itemNames:[`${t}`],submitActionObservable:()=>new Ot.y(i=>{this.taskWrapper.wrapTaskAroundCall({task:new R.R("rbd/edit",{image_spec:o.toString()}),call:this.rbdService.update(o,this.editRequest())}).subscribe({error:_=>i.error(_),complete:()=>{this.modalRef.close()}})})})}actionPrimary(t){const o=new rt;o.primary=t,o.features=null;const i=new v.N(this.selection.first().pool_name,this.selection.first().namespace,this.selection.first().name);this.taskWrapper.wrapTaskAroundCall({task:new R.R("rbd/edit",{image_spec:i.toString()}),call:this.rbdService.update(i,o)}).subscribe(()=>{},_=>{_.preventDefault(),t&&(this.errorMessage=_.error.detail.replace(/\[.*?\]\s*/,""),o.force=!0,this.modalRef=this.modalService.show(lt.Y,{titleText:"Warning",buttonText:"Enforce",warning:!0,bodyTpl:this.forcePromoteConfirmation,onSubmit:()=>{this.rbdService.update(i,o).subscribe(()=>{this.modalRef.close()},()=>{this.modalRef.close()})}}))})}hasSnapshots(){return(this.selection.first().snapshots||[]).length>0}hasClonedSnapshots(t){return(t.snapshots||[]).some(i=>i.children&&i.children.length>0)}listProtectedSnapshots(){return this.selection.first().snapshots.reduce((i,_)=>(_.is_protected&&i.push(_.name),i),[])}getDeleteDisableDesc(t){const o=t.first();return o&&this.hasClonedSnapshots(o)?"This RBD has cloned snapshots. Please delete related RBDs before deleting this RBD.":this.getInvalidNameDisable(t)||this.hasClonedSnapshots(t.first())}getResyncDisableDesc(t){const o=t.first();return o&&this.imageIsPrimary(o)?"Primary RBD images cannot be resynced":this.getInvalidNameDisable(t)}imageIsPrimary(t){return t.primary}getInvalidNameDisable(t){return t.first()?.name?.match(/[@/]/)?"This RBD image has an invalid name and can't be managed by ceph.":!t.first()||!t.hasSingleSelection}getRemovingStatusDesc(t){return"REMOVING"===t.first()?.source&&"Action not possible for an RBD in status 'Removing'"}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(_e.j),e.Y36(H),e.Y36(Ye.$),e.Y36(it.n),e.Y36(me.Z),e.Y36(u.P),e.Y36(pe.j),e.Y36(ct.F),e.Y36(N.p4))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-rbd-list"]],viewQuery:function(t,o){if(1&t&&(e.Gf(te.a,7),e.Gf(sa,5),e.Gf(_a,7),e.Gf(aa,5),e.Gf(ra,7),e.Gf(la,7),e.Gf(ca,7),e.Gf(da,7),e.Gf(pa,7),e.Gf(ua,7),e.Gf(ma,7),e.Gf(ga,7),e.Gf(Ta,7)),2&t){let i;e.iGM(i=e.CRH())&&(o.table=i.first),e.iGM(i=e.CRH())&&(o.usageTpl=i.first),e.iGM(i=e.CRH())&&(o.parentTpl=i.first),e.iGM(i=e.CRH())&&(o.nameTpl=i.first),e.iGM(i=e.CRH())&&(o.ScheduleTpl=i.first),e.iGM(i=e.CRH())&&(o.mirroringTpl=i.first),e.iGM(i=e.CRH())&&(o.flattenTpl=i.first),e.iGM(i=e.CRH())&&(o.deleteTpl=i.first),e.iGM(i=e.CRH())&&(o.removingStatTpl=i.first),e.iGM(i=e.CRH())&&(o.forcePromoteConfirmation=i.first),e.iGM(i=e.CRH())&&(o.usedTmpl=i.first),e.iGM(i=e.CRH())&&(o.totalUsedTmpl=i.first),e.iGM(i=e.CRH())&&(o.imageUsageTpl=i.first)}},features:[e._Bn([pe.j,{provide:ct.F,useValue:new ct.F("block/rbd")}]),e.qOj],decls:23,vars:13,consts:function(){let s,t,o,i,_,a;return s="primary",t="secondary",o="Deleting this image will also delete all its snapshots.",i="The following snapshots are currently protected and will be removed:",_="RBD in status 'Removing'",a="" + "\ufffd#4\ufffd" + " Do you want to force the operation? " + "\ufffd/#4\ufffd" + "",[["columnMode","flex","identifier","unique_id","forceIdentifier","true","selectionType","single",3,"data","columns","searchableObjects","serverSide","count","hasDetails","status","maxLimit","autoReload","fetchData","setExpandedRow","updateSelection"],["table",""],[1,"table-actions",3,"permission","selection","tableActions"],["cdTableDetail","",3,"selection"],["parentTpl",""],["mirroringTpl",""],["ScheduleTpl",""],["flattenTpl",""],["deleteTpl",""],["removingStatTpl",""],["forcePromoteConfirmation",""],["imageUsageTpl",""],["usageTooltip",""],[4,"ngIf"],["class","badge badge-info",4,"ngIf","ngIfElse"],["class","badge badge-info",4,"ngIf"],["probb",""],[1,"badge","badge-info"],s,t,["class","alert alert-warning","role","alert",4,"ngIf"],["role","alert",1,"alert","alert-warning"],o,i,[4,"ngFor","ngForOf"],[3,"ngClass",4,"ngIf"],[3,"ngClass"],["title",_,3,"class",4,"ngIf"],["title",_],["type","warning"],[1,"m-4"],a,[3,"ngbTooltip",4,"ngIf","ngIfElse"],["usageBar",""],[3,"ngbTooltip"],["decimals","2",3,"total","used","title",4,"ngIf"],["decimals","2",3,"total","used","title"],[3,"innerHtml"]]},template:function(t,o){1&t&&(e._UZ(0,"cd-rbd-tabs"),e.TgZ(1,"cd-table",0,1),e.NdJ("fetchData",function(_){return o.taskListService.fetch(_)})("setExpandedRow",function(_){return o.setExpandedRow(_)})("updateSelection",function(_){return o.updateSelection(_)}),e._UZ(3,"cd-table-actions",2)(4,"cd-rbd-details",3),e.qZA(),e.YNc(5,Ea,2,2,"ng-template",null,4,e.W1O),e.YNc(7,Pa,8,5,"ng-template",null,5,e.W1O),e.YNc(9,Ia,1,1,"ng-template",null,6,e.W1O),e.YNc(11,Na,13,3,"ng-template",null,7,e.W1O),e.YNc(13,va,1,1,"ng-template",null,8,e.W1O),e.YNc(15,xa,5,5,"ng-template",null,9,e.W1O),e.YNc(17,Za,5,1,"ng-template",null,10,e.W1O),e.YNc(19,Ka,3,2,"ng-template",null,11,e.W1O),e.YNc(21,qa,1,1,"ng-template",null,12,e.W1O)),2&t&&(e.xp6(1),e.Q6J("data",o.images)("columns",o.columns)("searchableObjects",!0)("serverSide",!0)("count",o.count)("hasDetails",!0)("status",o.tableStatus)("maxLimit",25)("autoReload",-1),e.xp6(2),e.Q6J("permission",o.permission)("selection",o.selection)("tableActions",o.tableActions),e.xp6(1),e.Q6J("selection",o.expandedRow))},dependencies:[l.mk,l.sg,l.O5,b._L,R_.O,nt.G,te.a,Ae.K,na,We,Be.N],styles:[".warn[_ngcontent-%COMP%]{color:#d48200}"]}),n})();function za(n,s){1&n&&e._UZ(0,"input",19)}function Ja(n,s){1&n&&(e.TgZ(0,"option",23),e.SDv(1,24),e.qZA()),2&n&&e.Q6J("ngValue",null)}function Ya(n,s){1&n&&(e.TgZ(0,"option",23),e.SDv(1,25),e.qZA()),2&n&&e.Q6J("ngValue",null)}function Va(n,s){1&n&&(e.TgZ(0,"option",23),e.SDv(1,26),e.qZA()),2&n&&e.Q6J("ngValue",null)}function Ua(n,s){if(1&n&&(e.TgZ(0,"option",27),e._uU(1),e.qZA()),2&n){const t=s.$implicit;e.Q6J("value",t.pool_name),e.xp6(1),e.Oqu(t.pool_name)}}function ja(n,s){if(1&n&&(e.TgZ(0,"select",20),e.YNc(1,Ja,2,1,"option",21),e.YNc(2,Ya,2,1,"option",21),e.YNc(3,Va,2,1,"option",21),e.YNc(4,Ua,2,2,"option",22),e.qZA()),2&n){const t=e.oxw();e.xp6(1),e.Q6J("ngIf",null===t.pools),e.xp6(1),e.Q6J("ngIf",null!==t.pools&&0===t.pools.length),e.xp6(1),e.Q6J("ngIf",null!==t.pools&&t.pools.length>0),e.xp6(1),e.Q6J("ngForOf",t.pools)}}function Wa(n,s){1&n&&(e.TgZ(0,"span",28),e.SDv(1,29),e.qZA())}function er(n,s){1&n&&(e.TgZ(0,"span",28),e.SDv(1,30),e.qZA())}function tr(n,s){1&n&&(e.TgZ(0,"span",28),e.SDv(1,31),e.qZA())}let or=(()=>{class n{constructor(t,o,i,_,a,c){this.activeModal=t,this.actionLabels=o,this.authStorageService=i,this.notificationService=_,this.poolService=a,this.rbdService=c,this.pools=null,this.editing=!1,this.poolPermission=this.authStorageService.getPermissions().pool,this.createForm()}createForm(){this.namespaceForm=new Z.d({pool:new r.p4(""),namespace:new r.p4("")},this.validator(),this.asyncValidator())}validator(){return t=>{const o=t.get("pool"),i=t.get("namespace");let _=null;o.value||(_={required:!0}),o.setErrors(_);let a=null;return i.value||(a={required:!0}),i.setErrors(a),null}}asyncValidator(){return t=>new Promise(o=>{const i=t.get("pool"),_=t.get("namespace");this.rbdService.listNamespaces(i.value).subscribe(a=>{if(a.some(c=>c.namespace===_.value)){const c={namespaceExists:!0};_.setErrors(c),o(c)}else o(null)})})}ngOnInit(){this.onSubmit=new $t.xQ,this.poolPermission.read&&this.poolService.list(["pool_name","type","application_metadata"]).then(t=>{const o=[];for(const i of t)this.rbdService.isRBDPool(i)&&"replicated"===i.type&&o.push(i);if(this.pools=o,1===this.pools.length){const i=this.pools[0].pool_name;this.namespaceForm.get("pool").setValue(i)}})}submit(){const t=this.namespaceForm.getValue("pool"),o=this.namespaceForm.getValue("namespace"),i=new R.R;i.name="rbd/namespace/create",i.metadata={pool:t,namespace:o},this.rbdService.createNamespace(t,o).toPromise().then(()=>{this.notificationService.show(ot.k.success,"Created namespace '\n " + t + "/\n " + o + "'\n "),this.activeModal.close(),this.onSubmit.next()}).catch(()=>{this.namespaceForm.setErrors({cdSubmitButton:!0})})}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(b.Kz),e.Y36(N.p4),e.Y36(_e.j),e.Y36(ve.g),e.Y36(Je.q),e.Y36(H))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-rbd-namespace-form-modal"]],decls:23,vars:9,consts:function(){let s,t,o,i,_,a,c,d,g;return s="Create Namespace",t="Pool",o="Name",i="Chargement...",_="-- Aucune r\xE9serve RBD disponible --",a="-- S\xE9lectionner une r\xE9serve --",c="This field is required.",d="This field is required.",g="Namespace already exists.",[[3,"modalRef"],[1,"modal-title"],s,[1,"modal-content"],["name","namespaceForm","novalidate","",3,"formGroup"],["formDir","ngForm"],[1,"modal-body"],[1,"form-group","row"],["for","pool",1,"cd-col-form-label","required"],t,[1,"cd-col-form-input"],["class","form-control","type","text","placeholder","Pool name...","id","pool","name","pool","formControlName","pool",4,"ngIf"],["id","pool","name","pool","class","form-select","formControlName","pool",4,"ngIf"],["class","invalid-feedback",4,"ngIf"],["for","namespace",1,"cd-col-form-label","required"],o,["type","text","placeholder","Namespace name...","id","namespace","name","namespace","formControlName","namespace","autofocus","",1,"form-control"],[1,"modal-footer"],[3,"form","submitText","submitActionEvent"],["type","text","placeholder","Pool name...","id","pool","name","pool","formControlName","pool",1,"form-control"],["id","pool","name","pool","formControlName","pool",1,"form-select"],[3,"ngValue",4,"ngIf"],[3,"value",4,"ngFor","ngForOf"],[3,"ngValue"],i,_,a,[3,"value"],[1,"invalid-feedback"],c,d,g]},template:function(t,o){if(1&t&&(e.TgZ(0,"cd-modal",0),e.ynx(1,1),e.SDv(2,2),e.BQk(),e.ynx(3,3),e.TgZ(4,"form",4,5)(6,"div",6)(7,"div",7)(8,"label",8),e.SDv(9,9),e.qZA(),e.TgZ(10,"div",10),e.YNc(11,za,1,0,"input",11),e.YNc(12,ja,5,4,"select",12),e.YNc(13,Wa,2,0,"span",13),e.qZA()(),e.TgZ(14,"div",7)(15,"label",14),e.SDv(16,15),e.qZA(),e.TgZ(17,"div",10),e._UZ(18,"input",16),e.YNc(19,er,2,0,"span",13),e.YNc(20,tr,2,0,"span",13),e.qZA()()(),e.TgZ(21,"div",17)(22,"cd-form-button-panel",18),e.NdJ("submitActionEvent",function(){return o.submit()}),e.qZA()()(),e.BQk(),e.qZA()),2&t){const i=e.MAs(5);e.Q6J("modalRef",o.activeModal),e.xp6(4),e.Q6J("formGroup",o.namespaceForm),e.xp6(7),e.Q6J("ngIf",!o.poolPermission.read),e.xp6(1),e.Q6J("ngIf",o.poolPermission.read),e.xp6(1),e.Q6J("ngIf",o.namespaceForm.showError("pool",i,"required")),e.xp6(6),e.Q6J("ngIf",o.namespaceForm.showError("namespace",i,"required")),e.xp6(1),e.Q6J("ngIf",o.namespaceForm.showError("namespace",i,"namespaceExists")),e.xp6(2),e.Q6J("form",o.namespaceForm)("submitText",o.actionLabels.CREATE)}},dependencies:[l.sg,l.O5,r._Y,r.YN,r.Kr,r.Fj,r.EJ,r.JJ,r.JL,r.sg,r.u,f.z,A.p,Pe.U,M.o,B.b,q.P,Y.V]}),n})(),nr=(()=>{class n{constructor(t,o,i,_,a,c){this.authStorageService=t,this.rbdService=o,this.poolService=i,this.modalService=_,this.notificationService=a,this.actionLabels=c,this.selection=new he.r,this.permission=this.authStorageService.getPermissions().rbdImage,this.tableActions=[{permission:"create",icon:T.P.add,click:()=>this.createModal(),name:this.actionLabels.CREATE},{permission:"delete",icon:T.P.destroy,click:()=>this.deleteModal(),name:this.actionLabels.DELETE,disable:()=>this.getDeleteDisableDesc()}]}ngOnInit(){this.columns=[{name:"Namespace",prop:"namespace",flexGrow:1},{name:"Pool",prop:"pool",flexGrow:1},{name:"Total images",prop:"num_images",flexGrow:1}],this.refresh()}refresh(){this.poolService.list(["pool_name","type","application_metadata"]).then(t=>{t=t.filter(i=>this.rbdService.isRBDPool(i)&&"replicated"===i.type);const o=[];t.forEach(i=>{o.push(this.rbdService.listNamespaces(i.pool_name))}),o.length>0?(0,de.D)(o).subscribe(i=>{const _=[];for(let a=0;a{_.push({id:`${d}/${g.namespace}`,pool:d,namespace:g.namespace,num_images:g.num_images})})}this.namespaces=_}):this.namespaces=[]})}updateSelection(t){this.selection=t}createModal(){this.modalRef=this.modalService.show(or),this.modalRef.componentInstance.onSubmit.subscribe(()=>{this.refresh()})}deleteModal(){const t=this.selection.first().pool,o=this.selection.first().namespace;this.modalRef=this.modalService.show(ge.M,{itemDescription:"Namespace",itemNames:[`${t}/${o}`],submitAction:()=>this.rbdService.deleteNamespace(t,o).subscribe(()=>{this.notificationService.show(ot.k.success,"Deleted namespace '\n " + t + "/\n " + o + "'\n "),this.modalRef.close(),this.refresh()},()=>{this.modalRef.componentInstance.stopLoadingSpinner()})})}getDeleteDisableDesc(){return this.selection.first()?.num_images>0?"Namespace contains images":!this.selection?.first()}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(_e.j),e.Y36(H),e.Y36(Je.q),e.Y36(me.Z),e.Y36(ve.g),e.Y36(N.p4))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-rbd-namespace-list"]],features:[e._Bn([pe.j])],decls:4,vars:5,consts:[["columnMode","flex","identifier","id","forceIdentifier","true","selectionType","single",3,"data","columns","fetchData","updateSelection"],[1,"table-actions","btn-toolbar"],[1,"btn-group",3,"permission","selection","tableActions"]],template:function(t,o){1&t&&(e._UZ(0,"cd-rbd-tabs"),e.TgZ(1,"cd-table",0),e.NdJ("fetchData",function(){return o.refresh()})("updateSelection",function(_){return o.updateSelection(_)}),e.TgZ(2,"div",1),e._UZ(3,"cd-table-actions",2),e.qZA()()),2&t&&(e.xp6(1),e.Q6J("data",o.namespaces)("columns",o.columns),e.xp6(2),e.Q6J("permission",o.permission)("selection",o.selection)("tableActions",o.tableActions))},dependencies:[te.a,Ae.K,We]}),n})(),ir=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-rbd-performance"]],decls:2,vars:2,consts:function(){let s;return s="RBD overview",[["title",s,"uid","41FrpeUiz","grafanaStyle","two",3,"grafanaPath","type"]]},template:function(t,o){1&t&&e._UZ(0,"cd-rbd-tabs")(1,"cd-grafana",0),2&t&&(e.xp6(1),e.Q6J("grafanaPath","rbd-overview?")("type","metrics"))},dependencies:[Dt.F,We]}),n})();var sr=p(91801);function _r(n,s){1&n&&e._UZ(0,"input",15)}function ar(n,s){if(1&n&&(e.TgZ(0,"option",20),e._uU(1),e.qZA()),2&n){const t=s.$implicit;e.Q6J("value",t),e.xp6(1),e.Oqu(t)}}function rr(n,s){if(1&n&&(e.TgZ(0,"select",16)(1,"option",17),e.SDv(2,18),e.qZA(),e.YNc(3,ar,2,2,"option",19),e.qZA()),2&n){const t=e.oxw();e.xp6(3),e.Q6J("ngForOf",t.pools)}}let lr=(()=>{class n{constructor(t,o,i,_,a,c,d){this.authStorageService=t,this.rbdService=o,this.activeModal=i,this.actionLabels=_,this.fb=a,this.poolService=c,this.taskWrapper=d,this.poolPermission=this.authStorageService.getPermissions().pool}createForm(){this.purgeForm=this.fb.group({poolName:""})}ngOnInit(){this.poolPermission.read&&this.poolService.list(["pool_name","application_metadata"]).then(t=>{this.pools=t.filter(o=>o.application_metadata.includes("rbd")).map(o=>o.pool_name)}),this.createForm()}purge(){const t=this.purgeForm.getValue("poolName")||"";this.taskWrapper.wrapTaskAroundCall({task:new R.R("rbd/trash/purge",{pool_name:t}),call:this.rbdService.purgeTrash(t)}).subscribe({error:()=>{this.purgeForm.setErrors({cdSubmitButton:!0})},complete:()=>{this.activeModal.close()}})}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(_e.j),e.Y36(H),e.Y36(b.Kz),e.Y36(N.p4),e.Y36(dt.O),e.Y36(Je.q),e.Y36(u.P))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-rbd-trash-purge-modal"]],decls:18,vars:6,consts:function(){let s,t,o,i,_;return s="Vider la corbeille",t="To purge, select\xA0 " + "[\ufffd#9\ufffd|\ufffd#10\ufffd]" + "All" + "[\ufffd/#9\ufffd|\ufffd/#10\ufffd]" + "\xA0 or one pool and click\xA0 " + "[\ufffd#9\ufffd|\ufffd#10\ufffd]" + "Purge" + "[\ufffd/#9\ufffd|\ufffd/#10\ufffd]" + ".\xA0",t=e.Zx4(t),o="R\xE9serve :",i="Nom de la r\xE9serve...",_="All",[[3,"modalRef"],[1,"modal-title"],s,[1,"modal-content"],["name","purgeForm","novalidate","",1,"form",3,"formGroup"],["formDir","ngForm"],[1,"modal-body"],t,[1,"form-group"],[1,"col-form-label","mx-auto"],o,["class","form-control","type","text","placeholder",i,"formControlName","poolName",4,"ngIf"],["id","poolName","name","poolName","class","form-control","formControlName","poolName",4,"ngIf"],[1,"modal-footer"],[3,"form","submitText","submitActionEvent"],["type","text","placeholder",i,"formControlName","poolName",1,"form-control"],["id","poolName","name","poolName","formControlName","poolName",1,"form-control"],["value",""],_,[3,"value",4,"ngFor","ngForOf"],[3,"value"]]},template:function(t,o){1&t&&(e.TgZ(0,"cd-modal",0),e.ynx(1,1),e.SDv(2,2),e.BQk(),e.ynx(3,3),e.TgZ(4,"form",4,5)(6,"div",6)(7,"p"),e.tHW(8,7),e._UZ(9,"kbd")(10,"kbd"),e.N_p(),e.qZA(),e.TgZ(11,"div",8)(12,"label",9),e.SDv(13,10),e.qZA(),e.YNc(14,_r,1,0,"input",11),e.YNc(15,rr,4,1,"select",12),e.qZA()(),e.TgZ(16,"div",13)(17,"cd-form-button-panel",14),e.NdJ("submitActionEvent",function(){return o.purge()}),e.qZA()()(),e.BQk(),e.qZA()),2&t&&(e.Q6J("modalRef",o.activeModal),e.xp6(4),e.Q6J("formGroup",o.purgeForm),e.xp6(10),e.Q6J("ngIf",!o.poolPermission.read),e.xp6(1),e.Q6J("ngIf",o.poolPermission.read),e.xp6(2),e.Q6J("form",o.purgeForm)("submitText",o.actionLabels.PURGE))},dependencies:[l.sg,l.O5,r._Y,r.YN,r.Kr,r.Fj,r.EJ,r.JJ,r.JL,r.sg,r.u,f.z,A.p,M.o,B.b,q.P,Y.V]}),n})();function cr(n,s){1&n&&(e.TgZ(0,"span",15),e.SDv(1,16),e.qZA())}let dr=(()=>{class n{constructor(t,o,i,_,a){this.rbdService=t,this.activeModal=o,this.actionLabels=i,this.fb=_,this.taskWrapper=a}ngOnInit(){this.imageSpec=new v.N(this.poolName,this.namespace,this.imageName).toString(),this.restoreForm=this.fb.group({name:this.imageName})}restore(){const t=this.restoreForm.getValue("name"),o=new v.N(this.poolName,this.namespace,this.imageId);this.taskWrapper.wrapTaskAroundCall({task:new R.R("rbd/trash/restore",{image_id_spec:o.toString(),new_image_name:t}),call:this.rbdService.restoreTrash(o,t)}).subscribe({error:()=>{this.restoreForm.setErrors({cdSubmitButton:!0})},complete:()=>{this.activeModal.close()}})}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(H),e.Y36(b.Kz),e.Y36(N.p4),e.Y36(dt.O),e.Y36(u.P))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-rbd-trash-restore-modal"]],decls:18,vars:7,consts:function(){let s,t,o,i;return s="Restaurer l'image",t="To restore\xA0 " + "[\ufffd#9\ufffd|\ufffd#10\ufffd]" + "" + "\ufffd0\ufffd" + "@" + "\ufffd1\ufffd" + "" + "[\ufffd/#9\ufffd|\ufffd/#10\ufffd]" + ",\xA0 type the image's new name and click\xA0 " + "[\ufffd#9\ufffd|\ufffd#10\ufffd]" + "Restore" + "[\ufffd/#9\ufffd|\ufffd/#10\ufffd]" + ".",t=e.Zx4(t),o="Nouveau nom",i="This field is required.",[[3,"modalRef"],[1,"modal-title"],s,[1,"modal-content"],["name","restoreForm","novalidate","",1,"form",3,"formGroup"],["formDir","ngForm"],[1,"modal-body"],t,[1,"form-group"],["for","name",1,"col-form-label"],o,["type","text","name","name","id","name","autocomplete","off","formControlName","name","autofocus","",1,"form-control"],["class","invalid-feedback",4,"ngIf"],[1,"modal-footer"],[3,"form","submitText","submitActionEvent"],[1,"invalid-feedback"],i]},template:function(t,o){if(1&t&&(e.TgZ(0,"cd-modal",0),e.ynx(1,1),e.SDv(2,2),e.BQk(),e.ynx(3,3),e.TgZ(4,"form",4,5)(6,"div",6)(7,"p"),e.tHW(8,7),e._UZ(9,"kbd")(10,"kbd"),e.N_p(),e.qZA(),e.TgZ(11,"div",8)(12,"label",9),e.SDv(13,10),e.qZA(),e._UZ(14,"input",11),e.YNc(15,cr,2,0,"span",12),e.qZA()(),e.TgZ(16,"div",13)(17,"cd-form-button-panel",14),e.NdJ("submitActionEvent",function(){return o.restore()}),e.qZA()()(),e.BQk(),e.qZA()),2&t){const i=e.MAs(5);e.Q6J("modalRef",o.activeModal),e.xp6(4),e.Q6J("formGroup",o.restoreForm),e.xp6(6),e.pQV(o.imageSpec)(o.imageId),e.QtT(8),e.xp6(5),e.Q6J("ngIf",o.restoreForm.showError("name",i,"required")),e.xp6(2),e.Q6J("form",o.restoreForm)("submitText",o.actionLabels.RESTORE)}},dependencies:[l.O5,r._Y,r.Fj,r.JJ,r.JL,r.sg,r.u,f.z,A.p,Pe.U,M.o,B.b,q.P,Y.V]}),n})();const pr=["expiresTpl"],ur=["deleteTpl"],mr=function(n){return[n]};function gr(n,s){if(1&n){const t=e.EpF();e.TgZ(0,"button",6),e.NdJ("click",function(){e.CHM(t);const i=e.oxw();return e.KtG(i.purgeModal())}),e._UZ(1,"i",7),e.ynx(2),e.SDv(3,8),e.BQk(),e.qZA()}if(2&n){const t=e.oxw();e.Q6J("disabled",t.disablePurgeBtn),e.xp6(1),e.Q6J("ngClass",e.VKq(2,mr,t.icons.destroy))}}function Tr(n,s){1&n&&(e.ynx(0),e.SDv(1,10),e.BQk())}function fr(n,s){1&n&&(e.ynx(0),e.SDv(1,11),e.BQk())}function Cr(n,s){if(1&n&&(e.YNc(0,Tr,2,0,"ng-container",9),e.YNc(1,fr,2,0,"ng-container",9),e._uU(2),e.ALo(3,"cdDate")),2&n){const t=s.row,o=s.value;e.Q6J("ngIf",t.cdIsExpired),e.xp6(1),e.Q6J("ngIf",!t.cdIsExpired),e.xp6(1),e.hij(" ",e.lcZ(3,3,o),"\n")}}function Sr(n,s){if(1&n&&(e.TgZ(0,"p",13)(1,"strong"),e.ynx(2),e.SDv(3,14),e.ALo(4,"cdDate"),e.BQk(),e.qZA()()),2&n){const t=e.oxw().expiresAt;e.xp6(4),e.pQV(e.lcZ(4,1,t)),e.QtT(3)}}function Er(n,s){1&n&&e.YNc(0,Sr,5,3,"p",12),2&n&&e.Q6J("ngIf",!s.isExpired)}let Rr=(()=>{class n{constructor(t,o,i,_,a,c,d){this.authStorageService=t,this.rbdService=o,this.modalService=i,this.cdDatePipe=_,this.taskListService=a,this.taskWrapper=c,this.actionLabels=d,this.icons=T.P,this.executingTasks=[],this.selection=new he.r,this.tableStatus=new re.E,this.disablePurgeBtn=!0,this.permission=this.authStorageService.getPermissions().rbdImage,this.tableActions=[{permission:"update",icon:T.P.undo,click:()=>this.restoreModal(),name:this.actionLabels.RESTORE},{permission:"delete",icon:T.P.destroy,click:()=>this.deleteModal(),name:this.actionLabels.DELETE}]}ngOnInit(){this.columns=[{name:"ID",prop:"id",flexGrow:1,cellTransformation:Le.e.executing},{name:"Name",prop:"name",flexGrow:1},{name:"Pool",prop:"pool_name",flexGrow:1},{name:"Namespace",prop:"namespace",flexGrow:1},{name:"Status",prop:"deferment_end_time",flexGrow:1,cellTemplate:this.expiresTpl},{name:"Deleted At",prop:"deletion_time",flexGrow:1,pipe:this.cdDatePipe}],this.taskListService.init(()=>this.rbdService.listTrash(),i=>this.prepareResponse(i),i=>this.images=i,()=>this.onFetchError(),i=>["rbd/trash/remove","rbd/trash/restore"].includes(i.name),(i,_)=>new v.N(i.pool_name,i.namespace,i.id).toString()===_.metadata.image_id_spec,void 0)}prepareResponse(t){let o=[];const i={};let _;if(t.forEach(a=>{C().isUndefined(i[a.status])&&(i[a.status]=[]),i[a.status].push(a.pool_name),o=o.concat(a.value),this.disablePurgeBtn=!o.length}),i[3]?_=3:i[1]?_=1:i[2]&&(_=2),_){const a=(i[_].length>1?"pools ":"pool ")+i[_].join();this.tableStatus=new re.E(_,a)}else this.tableStatus=new re.E;return o.forEach(a=>{a.cdIsExpired=be()().isAfter(a.deferment_end_time)}),o}onFetchError(){this.table.reset(),this.tableStatus=new re.E(sr.T.ValueException)}updateSelection(t){this.selection=t}restoreModal(){const t={poolName:this.selection.first().pool_name,namespace:this.selection.first().namespace,imageName:this.selection.first().name,imageId:this.selection.first().id};this.modalRef=this.modalService.show(dr,t)}deleteModal(){const t=this.selection.first().pool_name,o=this.selection.first().namespace,i=this.selection.first().id,_=this.selection.first().deferment_end_time,a=be()().isAfter(_),c=new v.N(t,o,i);this.modalRef=this.modalService.show(ge.M,{itemDescription:"RBD",itemNames:[c],bodyTemplate:this.deleteTpl,bodyContext:{expiresAt:_,isExpired:a},submitActionObservable:()=>this.taskWrapper.wrapTaskAroundCall({task:new R.R("rbd/trash/remove",{image_id_spec:c.toString()}),call:this.rbdService.removeTrash(c,!0)})})}purgeModal(){this.modalService.show(lr)}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(_e.j),e.Y36(H),e.Y36(me.Z),e.Y36(Be.N),e.Y36(pe.j),e.Y36(u.P),e.Y36(N.p4))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-rbd-trash-list"]],viewQuery:function(t,o){if(1&t&&(e.Gf(te.a,7),e.Gf(pr,7),e.Gf(ur,7)),2&t){let i;e.iGM(i=e.CRH())&&(o.table=i.first),e.iGM(i=e.CRH())&&(o.expiresTpl=i.first),e.iGM(i=e.CRH())&&(o.deleteTpl=i.first)}},features:[e._Bn([pe.j])],decls:9,vars:8,consts:function(){let s,t,o,i;return s="Vider la corbeille",t="Expiration le ",o="Protection jusqu'au",i="This image is protected until \n " + "\ufffd0\ufffd" + ".\n ",[["columnMode","flex","identifier","id","forceIdentifier","true","selectionType","single",3,"data","columns","status","autoReload","fetchData","updateSelection"],[1,"table-actions","btn-toolbar"],[1,"btn-group",3,"permission","selection","tableActions"],["class","btn btn-light","type","button",3,"disabled","click",4,"ngIf"],["expiresTpl",""],["deleteTpl",""],["type","button",1,"btn","btn-light",3,"disabled","click"],["aria-hidden","true",3,"ngClass"],s,[4,"ngIf"],t,o,["class","text-danger",4,"ngIf"],[1,"text-danger"],i]},template:function(t,o){1&t&&(e._UZ(0,"cd-rbd-tabs"),e.TgZ(1,"cd-table",0),e.NdJ("fetchData",function(){return o.taskListService.fetch()})("updateSelection",function(_){return o.updateSelection(_)}),e.TgZ(2,"div",1),e._UZ(3,"cd-table-actions",2),e.YNc(4,gr,4,4,"button",3),e.qZA()(),e.YNc(5,Cr,4,5,"ng-template",null,4,e.W1O),e.YNc(7,Er,1,1,"ng-template",null,5,e.W1O)),2&t&&(e.xp6(1),e.Q6J("data",o.images)("columns",o.columns)("status",o.tableStatus)("autoReload",-1),e.xp6(2),e.Q6J("permission",o.permission)("selection",o.selection)("tableActions",o.tableActions),e.xp6(1),e.Q6J("ngIf",o.permission.delete))},dependencies:[l.mk,l.O5,te.a,Ae.K,M.o,We,Be.N]}),n})(),Bt=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=e.oAB({type:n}),n.\u0275inj=e.cJS({imports:[l.ez,si,r.u5,r.UX,b.Oz,b.dT,b.HK,Oe.b,se.m,m.Bz,ie.xc]}),n})();const Mr=[{path:"",redirectTo:"rbd",pathMatch:"full"},{path:"rbd",canActivate:[k.T,U.P],data:{moduleStatusGuardConfig:{uiApiPath:"block/rbd",redirectTo:"error",header:"No RBD pools available",button_name:"Create RBD pool",button_route:"/pool/create"},breadcrumbs:"Images"},children:[{path:"",component:Qa},{path:"namespaces",component:nr,data:{breadcrumbs:"Namespaces"}},{path:"trash",component:Rr,data:{breadcrumbs:"Trash"}},{path:"performance",component:ir,data:{breadcrumbs:"Overall Performance"}},{path:N.MQ.CREATE,component:$e,data:{breadcrumbs:N.Qn.CREATE}},{path:`${N.MQ.EDIT}/:image_spec`,component:$e,data:{breadcrumbs:N.Qn.EDIT}},{path:`${N.MQ.CLONE}/:image_spec/:snap`,component:$e,data:{breadcrumbs:N.Qn.CLONE}},{path:`${N.MQ.COPY}/:image_spec`,component:$e,data:{breadcrumbs:N.Qn.COPY}},{path:`${N.MQ.COPY}/:image_spec/:snap`,component:$e,data:{breadcrumbs:N.Qn.COPY}}]},{path:"mirroring",component:_s,canActivate:[k.T,U.P],data:{moduleStatusGuardConfig:{uiApiPath:"block/mirroring",redirectTo:"error",header:"RBD mirroring is not configured",button_name:"Configure RBD Mirroring",button_title:"This will create rbd-mirror service and a replicated RBD pool",component:"RBD Mirroring",uiConfig:!0},breadcrumbs:"Mirroring"},children:[{path:`${N.MQ.EDIT}/:pool_name`,component:cs,outlet:"modal"}]},{path:"iscsi",canActivate:[k.T],data:{breadcrumbs:"iSCSI"},children:[{path:"",redirectTo:"overview",pathMatch:"full"},{path:"overview",component:ii,data:{breadcrumbs:"Overview"}},{path:"targets",data:{breadcrumbs:"Targets"},children:[{path:"",component:Kn},{path:N.MQ.CREATE,component:Tt,data:{breadcrumbs:N.Qn.CREATE}},{path:`${N.MQ.EDIT}/:target_iqn`,component:Tt,data:{breadcrumbs:N.Qn.EDIT}}]}]}];let Or=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=e.oAB({type:n}),n.\u0275inj=e.cJS({imports:[Bt,m.Bz.forChild(Mr)]}),n})()},60950:(et,ue,p)=>{p.d(ue,{d:()=>J});var l=p(64537),r=p(20092),m=p(23815),ie=p.n(m),b=p(7357),Oe=p(65862),N=p(95463),k=p(30633),U=p(28211),se=p(34089),j=p(88692),C=p(18372),de=p(20044);let L=(()=>{class h{constructor(u,f,A,M){this.elementRef=u,this.control=f,this.dimlessBinaryPerSecondPipe=A,this.formatter=M,this.ngModelChange=new l.vpe,this.el=this.elementRef.nativeElement}ngOnInit(){this.setValue(this.el.value),this.ngDataReady&&this.ngDataReady.subscribe(()=>this.setValue(this.el.value))}setValue(u){/^[\d.]+$/.test(u)&&(u+=this.defaultUnit||"m");const f=this.formatter.toBytes(u,0),A=this.round(f);this.el.value=this.dimlessBinaryPerSecondPipe.transform(A),null!==f?(this.ngModelChange.emit(this.el.value),this.control.control.setValue(this.el.value)):(this.ngModelChange.emit(null),this.control.control.setValue(null))}round(u){if(null!==u&&0!==u){if(!ie().isUndefined(this.minBytes)&&uthis.maxBytes)return this.maxBytes;if(!ie().isUndefined(this.roundPower)){const f=Math.round(Math.log(u)/Math.log(this.roundPower));return Math.pow(this.roundPower,f)}}return u}onBlur(u){this.setValue(u)}}return h.\u0275fac=function(u){return new(u||h)(l.Y36(l.SBq),l.Y36(r.a5),l.Y36(de.O),l.Y36(U.H))},h.\u0275dir=l.lG2({type:h,selectors:[["","cdDimlessBinaryPerSecond",""]],hostBindings:function(u,f){1&u&&l.NdJ("blur",function(M){return f.onBlur(M.target.value)})},inputs:{ngDataReady:"ngDataReady",minBytes:"minBytes",maxBytes:"maxBytes",roundPower:"roundPower",defaultUnit:"defaultUnit"},outputs:{ngModelChange:"ngModelChange"}}),h})(),ae=(()=>{class h{constructor(u,f){this.control=u,this.formatter=f}setValue(u){const f=this.formatter.toMilliseconds(u);this.control.control.setValue(`${f} ms`)}ngOnInit(){this.setValue(this.control.value),this.ngDataReady&&this.ngDataReady.subscribe(()=>this.setValue(this.control.value))}onUpdate(u){this.setValue(u)}}return h.\u0275fac=function(u){return new(u||h)(l.Y36(r.a5),l.Y36(U.H))},h.\u0275dir=l.lG2({type:h,selectors:[["","cdMilliseconds",""]],hostBindings:function(u,f){1&u&&l.NdJ("blur",function(M){return f.onUpdate(M.target.value)})},inputs:{ngDataReady:"ngDataReady"}}),h})(),W=(()=>{class h{constructor(u,f){this.formatter=u,this.ngControl=f}setValue(u){const f=this.formatter.toIops(u);this.ngControl.control.setValue(`${f} IOPS`)}ngOnInit(){this.setValue(this.ngControl.value),this.ngDataReady&&this.ngDataReady.subscribe(()=>this.setValue(this.ngControl.value))}onUpdate(u){this.setValue(u)}}return h.\u0275fac=function(u){return new(u||h)(l.Y36(U.H),l.Y36(r.a5))},h.\u0275dir=l.lG2({type:h,selectors:[["","cdIops",""]],hostBindings:function(u,f){1&u&&l.NdJ("blur",function(M){return f.onUpdate(M.target.value)})},inputs:{ngDataReady:"ngDataReady"}}),h})();var e=p(87925),Q=p(94276),Fe=p(56310),De=p(41582);function v(h,R){if(1&h&&(l.ynx(0),l._UZ(1,"input",17),l.BQk()),2&h){const u=l.oxw().$implicit,f=l.oxw(2);l.xp6(1),l.Q6J("id",u.name)("name",u.name)("formControlName",u.name)("ngDataReady",f.ngDataReady)}}function Ie(h,R){if(1&h&&(l.ynx(0),l._UZ(1,"input",18),l.BQk()),2&h){const u=l.oxw().$implicit,f=l.oxw(2);l.xp6(1),l.Q6J("id",u.name)("name",u.name)("formControlName",u.name)("ngDataReady",f.ngDataReady)}}function H(h,R){if(1&h&&(l.ynx(0),l._UZ(1,"input",19),l.BQk()),2&h){const u=l.oxw().$implicit,f=l.oxw(2);l.xp6(1),l.Q6J("id",u.name)("name",u.name)("formControlName",u.name)("ngDataReady",f.ngDataReady)}}function F(h,R){1&h&&(l.TgZ(0,"span",20),l.SDv(1,21),l.qZA())}const x=function(h){return{active:h}},T=function(h){return[h]};function K(h,R){if(1&h){const u=l.EpF();l.TgZ(0,"div",10)(1,"label",11),l._uU(2),l.TgZ(3,"cd-helper"),l._uU(4),l.qZA()(),l.TgZ(5,"div")(6,"div",12),l.ynx(7,13),l.YNc(8,v,2,4,"ng-container",14),l.YNc(9,Ie,2,4,"ng-container",14),l.YNc(10,H,2,4,"ng-container",14),l.BQk(),l.TgZ(11,"button",15),l.NdJ("click",function(){const M=l.CHM(u).$implicit,B=l.oxw(2);return l.KtG(B.reset(M.name))}),l._UZ(12,"i",7),l.qZA()(),l.YNc(13,F,2,0,"span",16),l.qZA()()}if(2&h){const u=R.$implicit,f=l.oxw().$implicit,A=l.oxw(),M=l.MAs(1);l.xp6(1),l.Q6J("for",u.name),l.xp6(1),l.Oqu(u.displayName),l.xp6(2),l.Oqu(u.description),l.xp6(1),l.Gre("cd-col-form-input ",f.heading,""),l.xp6(2),l.Q6J("ngSwitch",u.type),l.xp6(1),l.Q6J("ngSwitchCase",A.configurationType.milliseconds),l.xp6(1),l.Q6J("ngSwitchCase",A.configurationType.bps),l.xp6(1),l.Q6J("ngSwitchCase",A.configurationType.iops),l.xp6(1),l.Q6J("ngClass",l.VKq(13,x,A.isDisabled(u.name))),l.xp6(1),l.Q6J("ngClass",l.VKq(15,T,A.icons.erase)),l.xp6(1),l.Q6J("ngIf",A.form.showError("configuration."+u.name,M,"min"))}}function Z(h,R){if(1&h){const u=l.EpF();l.TgZ(0,"div",4)(1,"h5",5)(2,"span",6),l.NdJ("click",function(){const M=l.CHM(u).$implicit,B=l.oxw();return l.KtG(B.toggleSectionVisibility(M.class))}),l._uU(3),l._UZ(4,"i",7),l.qZA()(),l.TgZ(5,"div",8),l.YNc(6,K,14,17,"div",9),l.qZA()()}if(2&h){const u=R.$implicit,f=l.oxw();l.xp6(3),l.hij(" ",u.heading," "),l.xp6(1),l.Q6J("ngClass",f.sectionVisibility[u.class]?f.icons.minusCircle:f.icons.addCircle),l.xp6(1),l.Tol(u.class),l.Q6J("hidden",!f.sectionVisibility[u.class]),l.xp6(1),l.Q6J("ngForOf",u.options)}}let J=(()=>{class h{constructor(u,f){this.formatterService=u,this.rbdConfigurationService=f,this.initializeData=new b.t(1),this.changes=new l.vpe,this.icons=Oe.P,this.ngDataReady=new l.vpe,this.configurationType=k.r,this.sectionVisibility={}}ngOnInit(){const u=this.createConfigurationFormGroup();this.form.addControl("configuration",u),u.valueChanges.subscribe(()=>{this.changes.emit(this.getDirtyValues.bind(this))}),this.initializeData&&this.initializeData.subscribe(f=>{this.initialData=f.initialData;const A=f.sourceType;this.rbdConfigurationService.getWritableOptionFields().forEach(M=>{const B=f.initialData.filter(q=>q.name===M.name).pop();B&&B.source===A&&this.form.get(`configuration.${M.name}`).setValue(B.value)}),this.ngDataReady.emit()}),this.rbdConfigurationService.getWritableSections().forEach(f=>this.sectionVisibility[f.class]=!1)}getDirtyValues(u=!1,f){if(u&&!f)throw new Error("ProgrammingError: If local values shall be included, a proper localFieldType argument has to be provided, too");const A={};return this.rbdConfigurationService.getWritableOptionFields().forEach(M=>{const B=this.form.get("configuration").get(M.name);this.initialData&&this.initialData[M.name]===B.value||(B.dirty||u&&B.source===f)&&(A[M.name]=null===B.value?B.value:M.type===k.r.bps?this.formatterService.toBytes(B.value):M.type===k.r.milliseconds?this.formatterService.toMilliseconds(B.value):M.type===k.r.iops?this.formatterService.toIops(B.value):B.value)}),A}createConfigurationFormGroup(){const u=new N.d({});return this.rbdConfigurationService.getWritableOptionFields().forEach(f=>{let A;if(f.type!==k.r.milliseconds&&f.type!==k.r.iops&&f.type!==k.r.bps)throw new Error(`Type ${f.type} is unknown, you may need to add it to RbdConfiguration class`);{let M=0;ie().forEach(this.initialData,B=>{B.name===f.name&&(M=B.value)}),A=new r.p4(M,r.kI.min(0))}u.addControl(f.name,A)}),u}reset(u){const f=this.form.get("configuration").get(u);f.disabled?(f.setValue(f.previousValue||0),f.enable(),f.previousValue||f.markAsPristine()):(f.previousValue=f.value,f.setValue(null),f.markAsDirty(),f.disable())}isDisabled(u){return this.form.get("configuration").get(u).disabled}toggleSectionVisibility(u){this.sectionVisibility[u]=!this.sectionVisibility[u]}}return h.\u0275fac=function(u){return new(u||h)(l.Y36(U.H),l.Y36(se.n))},h.\u0275cmp=l.Xpm({type:h,selectors:[["cd-rbd-configuration-form"]],inputs:{form:"form",initializeData:"initializeData"},outputs:{changes:"changes"},decls:5,vars:2,consts:function(){let R,u,f;return R="Configuration RBD",u="Supprimez la valeur de configuration locale. La valeur de configuration parent sera h\xE9rit\xE9e et utilis\xE9e \xE0 la place.",f="The minimum value is 0",[[3,"formGroup"],["cfgFormGroup",""],R,["class","col-12",4,"ngFor","ngForOf"],[1,"col-12"],[1,"cd-header"],[1,"collapsible",3,"click"],["aria-hidden","true",3,"ngClass"],[3,"hidden"],["class","form-group row",4,"ngFor","ngForOf"],[1,"form-group","row"],[1,"cd-col-form-label",3,"for"],[1,"input-group"],[3,"ngSwitch"],[4,"ngSwitchCase"],["type","button","data-toggle","button","title",u,1,"btn","btn-light",3,"ngClass","click"],["class","invalid-feedback",4,"ngIf"],["type","text","cdMilliseconds","",1,"form-control",3,"id","name","formControlName","ngDataReady"],["type","text","defaultUnit","b","cdDimlessBinaryPerSecond","",1,"form-control",3,"id","name","formControlName","ngDataReady"],["type","text","cdIops","",1,"form-control",3,"id","name","formControlName","ngDataReady"],[1,"invalid-feedback"],f]},template:function(u,f){1&u&&(l.TgZ(0,"fieldset",0,1)(2,"legend"),l.SDv(3,2),l.qZA(),l.YNc(4,Z,7,7,"div",3),l.qZA()),2&u&&(l.Q6J("formGroup",f.form.get("configuration")),l.xp6(4),l.Q6J("ngForOf",f.rbdConfigurationService.sections))},dependencies:[j.mk,j.sg,j.O5,j.RF,j.n9,r.Fj,r.JJ,r.JL,r.sg,r.u,C.S,L,ae,W,e.o,Q.b,Fe.P,De.V],styles:[".collapsible[_ngcontent-%COMP%]{cursor:pointer;user-select:none}"]}),h})()},42176:(et,ue,p)=>{p.d(ue,{P:()=>H});var l=p(83697),r=p(30633),m=p(64537);let ie=(()=>{class F{transform(T){return{0:"global",1:"pool",2:"image"}[T]}}return F.\u0275fac=function(T){return new(T||F)},F.\u0275pipe=m.Yjl({name:"rbdConfigurationSource",type:F,pure:!0}),F})();var b=p(28211),Oe=p(34089),N=p(88692),k=p(20044),U=p(48537),se=p(21766);const j=["configurationSourceTpl"],C=["configurationValueTpl"],de=["poolConfTable"];function L(F,x){1&F&&(m.TgZ(0,"span"),m.SDv(1,6),m.qZA())}function ae(F,x){1&F&&(m.TgZ(0,"strong"),m.SDv(1,7),m.qZA())}function W(F,x){1&F&&(m.TgZ(0,"strong"),m.SDv(1,8),m.qZA())}function e(F,x){1&F&&(m.TgZ(0,"div",4),m.YNc(1,L,2,0,"span",5),m.YNc(2,ae,2,0,"strong",5),m.YNc(3,W,2,0,"strong",5),m.qZA()),2&F&&(m.Q6J("ngSwitch",x.value),m.xp6(1),m.Q6J("ngSwitchCase","global"),m.xp6(1),m.Q6J("ngSwitchCase","image"),m.xp6(1),m.Q6J("ngSwitchCase","pool"))}function Q(F,x){if(1&F&&(m.TgZ(0,"span"),m._uU(1),m.ALo(2,"dimlessBinaryPerSecond"),m.qZA()),2&F){const T=m.oxw().value;m.xp6(1),m.Oqu(m.lcZ(2,1,T))}}function Fe(F,x){if(1&F&&(m.TgZ(0,"span"),m._uU(1),m.ALo(2,"milliseconds"),m.qZA()),2&F){const T=m.oxw().value;m.xp6(1),m.Oqu(m.lcZ(2,1,T))}}function De(F,x){if(1&F&&(m.TgZ(0,"span"),m._uU(1),m.ALo(2,"iops"),m.qZA()),2&F){const T=m.oxw().value;m.xp6(1),m.Oqu(m.lcZ(2,1,T))}}function v(F,x){if(1&F&&(m.TgZ(0,"span"),m._uU(1),m.qZA()),2&F){const T=m.oxw().value;m.xp6(1),m.Oqu(T)}}function Ie(F,x){if(1&F&&(m.TgZ(0,"div",4),m.YNc(1,Q,3,3,"span",5),m.YNc(2,Fe,3,3,"span",5),m.YNc(3,De,3,3,"span",5),m.YNc(4,v,2,1,"span",9),m.qZA()),2&F){const T=x.row,K=m.oxw();m.Q6J("ngSwitch",T.type),m.xp6(1),m.Q6J("ngSwitchCase",K.typeField.bps),m.xp6(1),m.Q6J("ngSwitchCase",K.typeField.milliseconds),m.xp6(1),m.Q6J("ngSwitchCase",K.typeField.iops)}}let H=(()=>{class F{constructor(T,K){this.formatterService=T,this.rbdConfigurationService=K,this.sourceField=r.h,this.typeField=r.r}ngOnInit(){this.poolConfigurationColumns=[{prop:"displayName",name:"Name"},{prop:"description",name:"Description"},{prop:"name",name:"Key"},{prop:"source",name:"Source",cellTemplate:this.configurationSourceTpl,pipe:new ie},{prop:"value",name:"Value",cellTemplate:this.configurationValueTpl}]}ngOnChanges(){this.data&&(this.data=this.data.filter(T=>this.rbdConfigurationService.getOptionFields().map(K=>K.name).includes(T.name)))}}return F.\u0275fac=function(T){return new(T||F)(m.Y36(b.H),m.Y36(Oe.n))},F.\u0275cmp=m.Xpm({type:F,selectors:[["cd-rbd-configuration-table"]],viewQuery:function(T,K){if(1&T&&(m.Gf(j,7),m.Gf(C,7),m.Gf(de,7)),2&T){let Z;m.iGM(Z=m.CRH())&&(K.configurationSourceTpl=Z.first),m.iGM(Z=m.CRH())&&(K.configurationValueTpl=Z.first),m.iGM(Z=m.CRH())&&(K.poolConfTable=Z.first)}},inputs:{data:"data"},features:[m.TTD],decls:6,vars:2,consts:function(){let x,T,K;return x="Global",T="Image",K="Pool",[["identifier","name",3,"data","columns"],["poolConfTable",""],["configurationSourceTpl",""],["configurationValueTpl",""],[3,"ngSwitch"],[4,"ngSwitchCase"],x,T,K,[4,"ngSwitchDefault"]]},template:function(T,K){1&T&&(m._UZ(0,"cd-table",0,1),m.YNc(2,e,4,4,"ng-template",null,2,m.W1O),m.YNc(4,Ie,5,4,"ng-template",null,3,m.W1O)),2&T&&m.Q6J("data",K.data)("columns",K.poolConfigurationColumns)},dependencies:[N.RF,N.n9,N.ED,l.a,k.O,U.J,se.A]}),F})()},1372:(et,ue,p)=>{p.d(ue,{B:()=>N});var l=p(64537),r=p(88692),m=p(87925);const ie=function(k){return{collapsed:k}},b=function(k){return{show:k}},Oe=["*"];let N=(()=>{class k{constructor(){this.showAdvanced=!1}}return k.\u0275fac=function(se){return new(se||k)},k.\u0275cmp=l.Xpm({type:k,selectors:[["cd-form-advanced-fieldset"]],ngContentSelectors:Oe,decls:9,vars:6,consts:function(){let U;return U="Advanced ",[[1,"cd-header"],[1,"accordion","accordion-flush"],["type","button","id","advanced-fieldset","aria-label","toggle advanced mode",1,"accordion-button","cd-form-advanced-fieldset-buttton","p-0",3,"ngClass","click"],U,[1,"accordion-collapse","collapse",3,"ngClass"],[1,"accordion-body"],[1,"card-body"]]},template:function(se,j){1&se&&(l.F$t(),l.TgZ(0,"fieldset")(1,"legend",0)(2,"div",1)(3,"button",2),l.NdJ("click",function(){return j.showAdvanced=!j.showAdvanced}),l.SDv(4,3),l.qZA()()(),l.TgZ(5,"div",4)(6,"div",5)(7,"div",6),l.Hsn(8),l.qZA()()()()),2&se&&(l.xp6(3),l.Q6J("ngClass",l.VKq(2,ie,!j.showAdvanced)),l.xp6(2),l.Q6J("ngClass",l.VKq(4,b,j.showAdvanced)))},dependencies:[r.mk,m.o],styles:[".cd-form-advanced-fieldset-buttton[_ngcontent-%COMP%]{--bs-accordion-btn-active-icon: var(--bs-accordion-btn-icon);background-color:inherit;border:hidden;border-color:inherit;box-shadow:none;color:inherit;font-size:inherit;outline:0;text-decoration:none}"]}),k})()}}]); \ No newline at end of file diff --git a/src/pybind/mgr/dashboard/frontend/dist/fr/3rdpartylicenses.txt b/src/pybind/mgr/dashboard/frontend/dist/fr/3rdpartylicenses.txt new file mode 100644 index 000000000..1be49a85b --- /dev/null +++ b/src/pybind/mgr/dashboard/frontend/dist/fr/3rdpartylicenses.txt @@ -0,0 +1,4135 @@ +@angular/animations +MIT + +@angular/common +MIT + +@angular/core +MIT + +@angular/forms +MIT + +@angular/platform-browser +MIT + +@angular/router +MIT + +@babel/runtime +MIT +MIT License + +Copyright (c) 2014-present Sebastian McKenzie and other contributors + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +@babel/runtime-corejs3 +MIT +MIT License + +Copyright (c) 2014-present Sebastian McKenzie and other contributors + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +@braintree/sanitize-url +MIT +MIT License + +Copyright (c) 2017 Braintree + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +@circlon/angular-tree-component +MIT +The MIT License (MIT) + +Copyright (c) 2020 Circlon Group + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +@juggle/resize-observer +Apache-2.0 + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2019 JUGGLE LTD + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + +@kurkle/color +MIT +The MIT License (MIT) + +Copyright (c) 2018-2021 Jukka Kurkela + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +@ng-bootstrap/ng-bootstrap +MIT +The MIT License (MIT) + +Copyright (c) 2015-2018 Angular ng-bootstrap team + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +@ngx-formly/bootstrap +MIT + +@ngx-formly/core +MIT + +@popperjs/core +MIT +The MIT License (MIT) + +Copyright (c) 2019 Federico Zivolo + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +@swagger-api/apidom-reference +Apache-2.0 + +@swimlane/ngx-datatable +MIT +(The MIT License) + +Copyright (c) 2019 Swimlane + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +async-mutex +MIT +The MIT License (MIT) + +Copyright (c) 2016 Christian Speckner + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +autolinker +MIT +The MIT License (MIT) + +Copyright (c) 2014 Gregory Jacobs (http://greg-jacobs.com) + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +balanced-match +MIT +(MIT) + +Copyright (c) 2013 Julian Gruber <julian@juliangruber.com> + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +base64-js +MIT +The MIT License (MIT) + +Copyright (c) 2014 Jameson Little + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +brace-expansion +MIT +MIT License + +Copyright (c) 2013 Julian Gruber + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +buffer +MIT +The MIT License (MIT) + +Copyright (c) Feross Aboukhadijeh, and other contributors. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +call-bind +MIT +MIT License + +Copyright (c) 2020 Jordan Harband + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +can-use-dom +MIT +The MIT License (MIT) + +Copyright (c) 2015 Kiran Abburi + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + + +chart.js +MIT +The MIT License (MIT) + +Copyright (c) 2014-2022 Chart.js Contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +chartjs-adapter-moment +MIT +The MIT License (MIT) + +Copyright (c) 2019 Chart.js Contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +classnames +MIT +The MIT License (MIT) + +Copyright (c) 2018 Jed Watson + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +concat-map +MIT +This software is released under the MIT license: + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +cookie +MIT +(The MIT License) + +Copyright (c) 2012-2014 Roman Shtylman +Copyright (c) 2015 Douglas Christopher Wilson + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + + +copy-to-clipboard +MIT +MIT License + +Copyright (c) 2017 sudodoki + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +core-js +MIT +Copyright (c) 2014-2024 Denis Pushkarev + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +core-js-pure +MIT +Copyright (c) 2014-2024 Denis Pushkarev + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +css.escape +MIT +Copyright Mathias Bynens + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +deepmerge +MIT +The MIT License (MIT) + +Copyright (c) 2012 James Halliday, Josh Duff, and other contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +define-data-property +MIT +MIT License + +Copyright (c) 2023 Jordan Harband + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +detect-browser +MIT +The MIT License (MIT) + +Copyright (c) 2019 Damon Oehlman + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +dompurify +(MPL-2.0 OR Apache-2.0) +DOMPurify +Copyright 2015 Mario Heiderich + +DOMPurify is free software; you can redistribute it and/or modify it under the +terms of either: + +a) the Apache License Version 2.0, or +b) the Mozilla Public License Version 2.0 + +----------------------------------------------------------------------------- + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +----------------------------------------------------------------------------- +Mozilla Public License, version 2.0 + +1. Definitions + +1.1. “Contributor” + + means each individual or legal entity that creates, contributes to the + creation of, or owns Covered Software. + +1.2. “Contributor Version” + + means the combination of the Contributions of others (if any) used by a + Contributor and that particular Contributor’s Contribution. + +1.3. “Contribution” + + means Covered Software of a particular Contributor. + +1.4. “Covered Software” + + means Source Code Form to which the initial Contributor has attached the + notice in Exhibit A, the Executable Form of such Source Code Form, and + Modifications of such Source Code Form, in each case including portions + thereof. + +1.5. “Incompatible With Secondary Licenses” + means + + a. that the initial Contributor has attached the notice described in + Exhibit B to the Covered Software; or + + b. that the Covered Software was made available under the terms of version + 1.1 or earlier of the License, but not also under the terms of a + Secondary License. + +1.6. “Executable Form” + + means any form of the work other than Source Code Form. + +1.7. “Larger Work” + + means a work that combines Covered Software with other material, in a separate + file or files, that is not Covered Software. + +1.8. “License” + + means this document. + +1.9. “Licensable” + + means having the right to grant, to the maximum extent possible, whether at the + time of the initial grant or subsequently, any and all of the rights conveyed by + this License. + +1.10. “Modifications” + + means any of the following: + + a. any file in Source Code Form that results from an addition to, deletion + from, or modification of the contents of Covered Software; or + + b. any new file in Source Code Form that contains any Covered Software. + +1.11. “Patent Claims” of a Contributor + + means any patent claim(s), including without limitation, method, process, + and apparatus claims, in any patent Licensable by such Contributor that + would be infringed, but for the grant of the License, by the making, + using, selling, offering for sale, having made, import, or transfer of + either its Contributions or its Contributor Version. + +1.12. “Secondary License” + + means either the GNU General Public License, Version 2.0, the GNU Lesser + General Public License, Version 2.1, the GNU Affero General Public + License, Version 3.0, or any later versions of those licenses. + +1.13. “Source Code Form” + + means the form of the work preferred for making modifications. + +1.14. “You” (or “Your”) + + means an individual or a legal entity exercising rights under this + License. For legal entities, “You” includes any entity that controls, is + controlled by, or is under common control with You. For purposes of this + definition, “control” means (a) the power, direct or indirect, to cause + the direction or management of such entity, whether by contract or + otherwise, or (b) ownership of more than fifty percent (50%) of the + outstanding shares or beneficial ownership of such entity. + + +2. License Grants and Conditions + +2.1. Grants + + Each Contributor hereby grants You a world-wide, royalty-free, + non-exclusive license: + + a. under intellectual property rights (other than patent or trademark) + Licensable by such Contributor to use, reproduce, make available, + modify, display, perform, distribute, and otherwise exploit its + Contributions, either on an unmodified basis, with Modifications, or as + part of a Larger Work; and + + b. under Patent Claims of such Contributor to make, use, sell, offer for + sale, have made, import, and otherwise transfer either its Contributions + or its Contributor Version. + +2.2. Effective Date + + The licenses granted in Section 2.1 with respect to any Contribution become + effective for each Contribution on the date the Contributor first distributes + such Contribution. + +2.3. Limitations on Grant Scope + + The licenses granted in this Section 2 are the only rights granted under this + License. No additional rights or licenses will be implied from the distribution + or licensing of Covered Software under this License. Notwithstanding Section + 2.1(b) above, no patent license is granted by a Contributor: + + a. for any code that a Contributor has removed from Covered Software; or + + b. for infringements caused by: (i) Your and any other third party’s + modifications of Covered Software, or (ii) the combination of its + Contributions with other software (except as part of its Contributor + Version); or + + c. under Patent Claims infringed by Covered Software in the absence of its + Contributions. + + This License does not grant any rights in the trademarks, service marks, or + logos of any Contributor (except as may be necessary to comply with the + notice requirements in Section 3.4). + +2.4. Subsequent Licenses + + No Contributor makes additional grants as a result of Your choice to + distribute the Covered Software under a subsequent version of this License + (see Section 10.2) or under the terms of a Secondary License (if permitted + under the terms of Section 3.3). + +2.5. Representation + + Each Contributor represents that the Contributor believes its Contributions + are its original creation(s) or it has sufficient rights to grant the + rights to its Contributions conveyed by this License. + +2.6. Fair Use + + This License is not intended to limit any rights You have under applicable + copyright doctrines of fair use, fair dealing, or other equivalents. + +2.7. Conditions + + Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in + Section 2.1. + + +3. Responsibilities + +3.1. Distribution of Source Form + + All distribution of Covered Software in Source Code Form, including any + Modifications that You create or to which You contribute, must be under the + terms of this License. You must inform recipients that the Source Code Form + of the Covered Software is governed by the terms of this License, and how + they can obtain a copy of this License. You may not attempt to alter or + restrict the recipients’ rights in the Source Code Form. + +3.2. Distribution of Executable Form + + If You distribute Covered Software in Executable Form then: + + a. such Covered Software must also be made available in Source Code Form, + as described in Section 3.1, and You must inform recipients of the + Executable Form how they can obtain a copy of such Source Code Form by + reasonable means in a timely manner, at a charge no more than the cost + of distribution to the recipient; and + + b. You may distribute such Executable Form under the terms of this License, + or sublicense it under different terms, provided that the license for + the Executable Form does not attempt to limit or alter the recipients’ + rights in the Source Code Form under this License. + +3.3. Distribution of a Larger Work + + You may create and distribute a Larger Work under terms of Your choice, + provided that You also comply with the requirements of this License for the + Covered Software. If the Larger Work is a combination of Covered Software + with a work governed by one or more Secondary Licenses, and the Covered + Software is not Incompatible With Secondary Licenses, this License permits + You to additionally distribute such Covered Software under the terms of + such Secondary License(s), so that the recipient of the Larger Work may, at + their option, further distribute the Covered Software under the terms of + either this License or such Secondary License(s). + +3.4. Notices + + You may not remove or alter the substance of any license notices (including + copyright notices, patent notices, disclaimers of warranty, or limitations + of liability) contained within the Source Code Form of the Covered + Software, except that You may alter any license notices to the extent + required to remedy known factual inaccuracies. + +3.5. Application of Additional Terms + + You may choose to offer, and to charge a fee for, warranty, support, + indemnity or liability obligations to one or more recipients of Covered + Software. However, You may do so only on Your own behalf, and not on behalf + of any Contributor. You must make it absolutely clear that any such + warranty, support, indemnity, or liability obligation is offered by You + alone, and You hereby agree to indemnify every Contributor for any + liability incurred by such Contributor as a result of warranty, support, + indemnity or liability terms You offer. You may include additional + disclaimers of warranty and limitations of liability specific to any + jurisdiction. + +4. Inability to Comply Due to Statute or Regulation + + If it is impossible for You to comply with any of the terms of this License + with respect to some or all of the Covered Software due to statute, judicial + order, or regulation then You must: (a) comply with the terms of this License + to the maximum extent possible; and (b) describe the limitations and the code + they affect. Such description must be placed in a text file included with all + distributions of the Covered Software under this License. Except to the + extent prohibited by statute or regulation, such description must be + sufficiently detailed for a recipient of ordinary skill to be able to + understand it. + +5. Termination + +5.1. The rights granted under this License will terminate automatically if You + fail to comply with any of its terms. However, if You become compliant, + then the rights granted under this License from a particular Contributor + are reinstated (a) provisionally, unless and until such Contributor + explicitly and finally terminates Your grants, and (b) on an ongoing basis, + if such Contributor fails to notify You of the non-compliance by some + reasonable means prior to 60 days after You have come back into compliance. + Moreover, Your grants from a particular Contributor are reinstated on an + ongoing basis if such Contributor notifies You of the non-compliance by + some reasonable means, this is the first time You have received notice of + non-compliance with this License from such Contributor, and You become + compliant prior to 30 days after Your receipt of the notice. + +5.2. If You initiate litigation against any entity by asserting a patent + infringement claim (excluding declaratory judgment actions, counter-claims, + and cross-claims) alleging that a Contributor Version directly or + indirectly infringes any patent, then the rights granted to You by any and + all Contributors for the Covered Software under Section 2.1 of this License + shall terminate. + +5.3. In the event of termination under Sections 5.1 or 5.2 above, all end user + license agreements (excluding distributors and resellers) which have been + validly granted by You or Your distributors under this License prior to + termination shall survive termination. + +6. Disclaimer of Warranty + + Covered Software is provided under this License on an “as is” basis, without + warranty of any kind, either expressed, implied, or statutory, including, + without limitation, warranties that the Covered Software is free of defects, + merchantable, fit for a particular purpose or non-infringing. The entire + risk as to the quality and performance of the Covered Software is with You. + Should any Covered Software prove defective in any respect, You (not any + Contributor) assume the cost of any necessary servicing, repair, or + correction. This disclaimer of warranty constitutes an essential part of this + License. No use of any Covered Software is authorized under this License + except under this disclaimer. + +7. Limitation of Liability + + Under no circumstances and under no legal theory, whether tort (including + negligence), contract, or otherwise, shall any Contributor, or anyone who + distributes Covered Software as permitted above, be liable to You for any + direct, indirect, special, incidental, or consequential damages of any + character including, without limitation, damages for lost profits, loss of + goodwill, work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses, even if such party shall have been + informed of the possibility of such damages. This limitation of liability + shall not apply to liability for death or personal injury resulting from such + party’s negligence to the extent applicable law prohibits such limitation. + Some jurisdictions do not allow the exclusion or limitation of incidental or + consequential damages, so this exclusion and limitation may not apply to You. + +8. Litigation + + Any litigation relating to this License may be brought only in the courts of + a jurisdiction where the defendant maintains its principal place of business + and such litigation shall be governed by laws of that jurisdiction, without + reference to its conflict-of-law provisions. Nothing in this Section shall + prevent a party’s ability to bring cross-claims or counter-claims. + +9. Miscellaneous + + This License represents the complete agreement concerning the subject matter + hereof. If any provision of this License is held to be unenforceable, such + provision shall be reformed only to the extent necessary to make it + enforceable. Any law or regulation which provides that the language of a + contract shall be construed against the drafter shall not be used to construe + this License against a Contributor. + + +10. Versions of the License + +10.1. New Versions + + Mozilla Foundation is the license steward. Except as provided in Section + 10.3, no one other than the license steward has the right to modify or + publish new versions of this License. Each version will be given a + distinguishing version number. + +10.2. Effect of New Versions + + You may distribute the Covered Software under the terms of the version of + the License under which You originally received the Covered Software, or + under the terms of any subsequent version published by the license + steward. + +10.3. Modified Versions + + If you create software not governed by this License, and you want to + create a new license for such software, you may create and use a modified + version of this License if you rename the license and remove any + references to the name of the license steward (except to note that such + modified license differs from this License). + +10.4. Distributing Source Code Form that is Incompatible With Secondary Licenses + If You choose to distribute Source Code Form that is Incompatible With + Secondary Licenses under the terms of this version of the License, the + notice described in Exhibit B of this License must be attached. + +Exhibit A - Source Code Form License Notice + + This Source Code Form is subject to the + terms of the Mozilla Public License, v. + 2.0. If a copy of the MPL was not + distributed with this file, You can + obtain one at + http://mozilla.org/MPL/2.0/. + +If it is not possible or desirable to put the notice in a particular file, then +You may include the notice in a location (such as a LICENSE file in a relevant +directory) where a recipient would be likely to look for such a notice. + +You may add additional accurate notices of copyright ownership. + +Exhibit B - “Incompatible With Secondary Licenses” Notice + + This Source Code Form is “Incompatible + With Secondary Licenses”, as defined by + the Mozilla Public License, v. 2.0. + + + +drange +MIT +The MIT License (MIT) + +Copyright (c) 2014 David Tudury + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +es-define-property +MIT +MIT License + +Copyright (c) 2024 Jordan Harband + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +es-errors +MIT +MIT License + +Copyright (c) 2024 Jordan Harband + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +events +MIT +MIT + +Copyright Joyent, Inc. and other Node contributors. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the +following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +USE OR OTHER DEALINGS IN THE SOFTWARE. + + +fast-json-patch +MIT +(The MIT License) + +Copyright (c) 2013, 2014, 2020 Joachim Wester + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +fault +MIT +(The MIT License) + +Copyright (c) 2015 Titus Wormer + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +file-saver +MIT +The MIT License + +Copyright © 2016 [Eli Grey][1]. + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + [1]: http://eligrey.com + + +format +MIT + +function-bind +MIT +Copyright (c) 2013 Raynos. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + + +get-intrinsic +MIT +MIT License + +Copyright (c) 2020 Jordan Harband + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +gopd +MIT +MIT License + +Copyright (c) 2022 Jordan Harband + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +has-property-descriptors +MIT +MIT License + +Copyright (c) 2022 Inspect JS + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +has-proto +MIT +MIT License + +Copyright (c) 2022 Inspect JS + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +has-symbols +MIT +MIT License + +Copyright (c) 2016 Jordan Harband + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +hasown +MIT +MIT License + +Copyright (c) Jordan Harband and contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +highlight.js +BSD-3-Clause +BSD 3-Clause License + +Copyright (c) 2006, Ivan Sagalaev. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +hoist-non-react-statics +BSD-3-Clause +Software License Agreement (BSD License) +======================================== + +Copyright (c) 2015, Yahoo! Inc. All rights reserved. +---------------------------------------------------- + +Redistribution and use of this software in source and binary forms, with or +without modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + * Neither the name of Yahoo! Inc. nor the names of YUI's contributors may be + used to endorse or promote products derived from this software without + specific prior written permission of Yahoo! Inc. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +ieee754 +BSD-3-Clause +Copyright 2008 Fair Oaks Labs, Inc. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +immutable +MIT +MIT License + +Copyright (c) 2014-present, Lee Byron and other contributors. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +inherits +ISC +The ISC License + +Copyright (c) Isaac Z. Schlueter + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. + + + +is-plain-object +MIT +The MIT License (MIT) + +Copyright (c) 2014-2017, Jon Schlinkert. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +js-file-download +MIT +Copyright 2017 Kenneth Jiang + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE + + +js-yaml +MIT +(The MIT License) + +Copyright (C) 2011-2015 by Vitaly Puzrin + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +lodash +MIT +Copyright OpenJS Foundation and other contributors + +Based on Underscore.js, copyright Jeremy Ashkenas, +DocumentCloud and Investigative Reporters & Editors + +This software consists of voluntary contributions made by many +individuals. For exact contribution history, see the revision history +available at https://github.com/lodash/lodash + +The following license applies to all parts of this software except as +documented below: + +==== + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +==== + +Copyright and related rights for sample code are waived via CC0. Sample +code is defined as all source code displayed within the prose of the +documentation. + +CC0: http://creativecommons.org/publicdomain/zero/1.0/ + +==== + +Files located in the node_modules and vendor directories are externally +maintained libraries used by this software which have their own +licenses; we recommend you read them, as their terms may differ from the +terms above. + + +lodash-es +MIT +Copyright OpenJS Foundation and other contributors + +Based on Underscore.js, copyright Jeremy Ashkenas, +DocumentCloud and Investigative Reporters & Editors + +This software consists of voluntary contributions made by many +individuals. For exact contribution history, see the revision history +available at https://github.com/lodash/lodash + +The following license applies to all parts of this software except as +documented below: + +==== + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +==== + +Copyright and related rights for sample code are waived via CC0. Sample +code is defined as all source code displayed within the prose of the +documentation. + +CC0: http://creativecommons.org/publicdomain/zero/1.0/ + +==== + +Files located in the node_modules and vendor directories are externally +maintained libraries used by this software which have their own +licenses; we recommend you read them, as their terms may differ from the +terms above. + + +lodash.debounce +MIT +Copyright jQuery Foundation and other contributors + +Based on Underscore.js, copyright Jeremy Ashkenas, +DocumentCloud and Investigative Reporters & Editors + +This software consists of voluntary contributions made by many +individuals. For exact contribution history, see the revision history +available at https://github.com/lodash/lodash + +The following license applies to all parts of this software except as +documented below: + +==== + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +==== + +Copyright and related rights for sample code are waived via CC0. Sample +code is defined as all source code displayed within the prose of the +documentation. + +CC0: http://creativecommons.org/publicdomain/zero/1.0/ + +==== + +Files located in the node_modules and vendor directories are externally +maintained libraries used by this software which have their own +licenses; we recommend you read them, as their terms may differ from the +terms above. + + +lodash.memoize +MIT +Copyright jQuery Foundation and other contributors + +Based on Underscore.js, copyright Jeremy Ashkenas, +DocumentCloud and Investigative Reporters & Editors + +This software consists of voluntary contributions made by many +individuals. For exact contribution history, see the revision history +available at https://github.com/lodash/lodash + +The following license applies to all parts of this software except as +documented below: + +==== + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +==== + +Copyright and related rights for sample code are waived via CC0. Sample +code is defined as all source code displayed within the prose of the +documentation. + +CC0: http://creativecommons.org/publicdomain/zero/1.0/ + +==== + +Files located in the node_modules and vendor directories are externally +maintained libraries used by this software which have their own +licenses; we recommend you read them, as their terms may differ from the +terms above. + + +lodash.throttle +MIT +Copyright jQuery Foundation and other contributors + +Based on Underscore.js, copyright Jeremy Ashkenas, +DocumentCloud and Investigative Reporters & Editors + +This software consists of voluntary contributions made by many +individuals. For exact contribution history, see the revision history +available at https://github.com/lodash/lodash + +The following license applies to all parts of this software except as +documented below: + +==== + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +==== + +Copyright and related rights for sample code are waived via CC0. Sample +code is defined as all source code displayed within the prose of the +documentation. + +CC0: http://creativecommons.org/publicdomain/zero/1.0/ + +==== + +Files located in the node_modules and vendor directories are externally +maintained libraries used by this software which have their own +licenses; we recommend you read them, as their terms may differ from the +terms above. + + +lowlight +MIT +(The MIT License) + +Copyright (c) 2016 Titus Wormer + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +mobx +MIT +The MIT License (MIT) + +Copyright (c) 2015 Michel Weststrate + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +moment +MIT +Copyright (c) JS Foundation and other contributors + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + + +ng-block-ui +MIT +MIT License + +Copyright (c) 2017 + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +ng-click-outside +MIT +The MIT License (MIT) + +Copyright (c) 2016 Eugene Cheung + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +ng2-charts +ISC + +ngx-pipe-function +MIT License + +Copyright (c) 2019 Artem Lanovyy + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +ngx-toastr +MIT +The MIT License (MIT) + +Copyright (c) Scott Cooper + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +object-assign +MIT +The MIT License (MIT) + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +object-inspect +MIT +MIT License + +Copyright (c) 2013 James Halliday + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +process +MIT +(The MIT License) + +Copyright (c) 2013 Roman Shtylman + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +prop-types +MIT +MIT License + +Copyright (c) 2013-present, Facebook, Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +qs +BSD-3-Clause +BSD 3-Clause License + +Copyright (c) 2014, Nathan LaFreniere and other [contributors](https://github.com/ljharb/qs/graphs/contributors) +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +querystringify +MIT +The MIT License (MIT) + +Copyright (c) 2015 Unshift.io, Arnout Kazemier, the Contributors. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + + +ramda +MIT +The MIT License (MIT) + +Copyright (c) 2013-2023 Scott Sauyet and Michael Hurley + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +ramda-adjunct +BSD-3-Clause +BSD 3-Clause License + +Copyright 2017-2019 Vladimír Gorej and the Ramda Adjunct contributors + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation and/or + other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors may be used + to endorse or promote products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, +INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, +EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +randexp +MIT +MIT License + +Copyright (C) 2011 by fent + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +react +MIT +MIT License + +Copyright (c) Facebook, Inc. and its affiliates. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +react-copy-to-clipboard +MIT +The MIT License (MIT) + +Copyright (c) 2016 Nik Butenko + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + + +react-debounce-input +MIT +The MIT License (MIT) + +Copyright (c) 2016 Nik Butenko + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + + +react-dom +MIT +MIT License + +Copyright (c) Facebook, Inc. and its affiliates. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +react-immutable-proptypes +MIT +The MIT License (MIT) + +Copyright (c) 2015 James Burnett + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + + +react-immutable-pure-component +MIT +The MIT License (MIT) + +Copyright (c) 2017 Piotr Tomasz Monarski + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +react-is +MIT +MIT License + +Copyright (c) Facebook, Inc. and its affiliates. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +react-redux +MIT +The MIT License (MIT) + +Copyright (c) 2015-present Dan Abramov + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +react-syntax-highlighter +MIT +MIT License + +Copyright (c) 2019 Conor Hastings + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +readable-stream +MIT +Node.js is licensed for use as follows: + +""" +Copyright Node.js contributors. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to +deal in the Software without restriction, including without limitation the +rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +sell copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +IN THE SOFTWARE. +""" + +This license applies to parts of Node.js originating from the +https://github.com/joyent/node repository: + +""" +Copyright Joyent, Inc. and other Node contributors. All rights reserved. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to +deal in the Software without restriction, including without limitation the +rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +sell copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +IN THE SOFTWARE. +""" + + +redux +MIT +The MIT License (MIT) + +Copyright (c) 2015-present Dan Abramov + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +redux-immutable +BSD-3-Clause +Copyright (c) 2016, Gajus Kuizinas (http://gajus.com/) +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the Gajus Kuizinas (http://gajus.com/) nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL ANUARY BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +remarkable +MIT +The MIT License (MIT) + +Copyright (c) 2014-2016, Jon Schlinkert +Copyright (c) 2014 Jon Schlinkert, Vitaly Puzrin. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +repeat-string +MIT +The MIT License (MIT) + +Copyright (c) 2014-2016, Jon Schlinkert. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +requires-port +MIT +The MIT License (MIT) + +Copyright (c) 2015 Unshift.io, Arnout Kazemier, the Contributors. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + + +reselect +MIT +The MIT License (MIT) + +Copyright (c) 2015-2018 Reselect Contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +ret +MIT +MIT License + +Copyright (C) 2011 by fent + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +rxjs +Apache-2.0 + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright (c) 2015-2018 Google, Inc., Netflix, Inc., Microsoft Corp. and contributors + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + + +safe-buffer +MIT +The MIT License (MIT) + +Copyright (c) Feross Aboukhadijeh + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +sax +ISC +The ISC License + +Copyright (c) 2010-2022 Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +==== + +`String.fromCodePoint` by Mathias Bynens used according to terms of MIT +License, as follows: + +Copyright (c) 2010-2022 Mathias Bynens + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to + permit persons to whom the Software is furnished to do so, subject to + the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +scheduler +MIT +MIT License + +Copyright (c) Facebook, Inc. and its affiliates. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +serialize-error +MIT +MIT License + +Copyright (c) Sindre Sorhus (https://sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +set-function-length +MIT +MIT License + +Copyright (c) Jordan Harband and contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +setimmediate +MIT +Copyright (c) 2012 Barnesandnoble.com, llc, Donavon West, and Domenic Denicola + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +side-channel +MIT +MIT License + +Copyright (c) 2019 Jordan Harband + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +simplebar +MIT +The MIT License (MIT) + +Copyright (c) 2015 Jonathan Nicol + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +simplebar-angular +The MIT License (MIT) + +Copyright (c) 2015 Jonathan Nicol + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +stream-browserify +MIT +MIT License + +Copyright (c) James Halliday + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +string_decoder +MIT +Node.js is licensed for use as follows: + +""" +Copyright Node.js contributors. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to +deal in the Software without restriction, including without limitation the +rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +sell copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +IN THE SOFTWARE. +""" + +This license applies to parts of Node.js originating from the +https://github.com/joyent/node repository: + +""" +Copyright Joyent, Inc. and other Node contributors. All rights reserved. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to +deal in the Software without restriction, including without limitation the +rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +sell copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +IN THE SOFTWARE. +""" + + + +swagger-client +Apache-2.0 + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + +swagger-ui +Apache-2.0 + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + +timers-browserify +MIT +# timers-browserify + +This project uses the [MIT](http://jryans.mit-license.org/) license: + + Copyright © 2012 J. Ryan Stinnett + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the “Software”), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. + +# lib/node + +The `lib/node` directory borrows files from joyent/node which uses the following license: + + Copyright Joyent, Inc. and other Node contributors. All rights reserved. + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to + deal in the Software without restriction, including without limitation the + rights to use, copy, modify, merge, publish, distribute, sublicense, and/or + sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + IN THE SOFTWARE. + + +toggle-selection +MIT + +traverse +MIT +MIT License + +Copyright (c) 2010 James Halliday and contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +tslib +0BSD +Copyright (c) Microsoft Corporation. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. + +url-parse +MIT +The MIT License (MIT) + +Copyright (c) 2015 Unshift.io, Arnout Kazemier, the Contributors. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + + +util-deprecate +MIT +(The MIT License) + +Copyright (c) 2014 Nathan Rajlich + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + + +xml-but-prettier +MIT +The MIT License (MIT) + +Copyright (c) 2015 Jonathan Persson + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +xml2js +MIT +Copyright 2010, 2011, 2012, 2013. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to +deal in the Software without restriction, including without limitation the +rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +sell copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +IN THE SOFTWARE. + + +xmlbuilder +MIT +The MIT License (MIT) + +Copyright (c) 2013 Ozgur Ozcitak + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + + +zenscroll +Unlicense +This is free and unencumbered software released into the public domain. + +Anyone is free to copy, modify, publish, use, compile, sell, or +distribute this software, either in source code form or as a compiled +binary, for any purpose, commercial or non-commercial, and by any +means. + +In jurisdictions that recognize copyright laws, the author or authors +of this software dedicate any and all copyright interest in the +software to the public domain. We make this dedication for the benefit +of the public at large and to the detriment of our heirs and +successors. We intend this dedication to be an overt act of +relinquishment in perpetuity of all present and future rights to this +software under copyright law. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +For more information, please refer to + + + +zone.js +MIT +The MIT License + +Copyright (c) 2010-2022 Google LLC. https://angular.io/license + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/src/pybind/mgr/dashboard/frontend/dist/fr/889.a4d8d718c0568f41.js b/src/pybind/mgr/dashboard/frontend/dist/fr/889.a4d8d718c0568f41.js new file mode 100644 index 000000000..ea855816a --- /dev/null +++ b/src/pybind/mgr/dashboard/frontend/dist/fr/889.a4d8d718c0568f41.js @@ -0,0 +1 @@ +(self.webpackChunkceph_dashboard=self.webpackChunkceph_dashboard||[]).push([[889],{3875:(K,Y,d)=>{"use strict";var g=d(96434),r=d(12658);Y.Buffer=l,Y.SlowBuffer=function G(T){return+T!=T&&(T=0),l.alloc(+T)},Y.INSPECT_MAX_BYTES=50;var A=2147483647;function Z(T){if(T>A)throw new RangeError('The value "'+T+'" is invalid for option "size"');var _=new Uint8Array(T);return _.__proto__=l.prototype,_}function l(T,_,s){if("number"==typeof T){if("string"==typeof _)throw new TypeError('The "string" argument must be of type string. Received type number');return N(T)}return h(T,_,s)}function h(T,_,s){if("string"==typeof T)return function v(T,_){if(("string"!=typeof _||""===_)&&(_="utf8"),!l.isEncoding(_))throw new TypeError("Unknown encoding: "+_);var s=0|B(T,_),F=Z(s),X=F.write(T,_);return X!==s&&(F=F.slice(0,X)),F}(T,_);if(ArrayBuffer.isView(T))return k(T);if(null==T)throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof T);if(b(T,ArrayBuffer)||T&&b(T.buffer,ArrayBuffer))return function P(T,_,s){if(_<0||T.byteLength<_)throw new RangeError('"offset" is outside of buffer bounds');if(T.byteLength<_+(s||0))throw new RangeError('"length" is outside of buffer bounds');var F;return(F=void 0===_&&void 0===s?new Uint8Array(T):void 0===s?new Uint8Array(T,_):new Uint8Array(T,_,s)).__proto__=l.prototype,F}(T,_,s);if("number"==typeof T)throw new TypeError('The "value" argument must not be of type number. Received type number');var F=T.valueOf&&T.valueOf();if(null!=F&&F!==T)return l.from(F,_,s);var X=function L(T){if(l.isBuffer(T)){var _=0|I(T.length),s=Z(_);return 0===s.length||T.copy(s,0,0,_),s}return void 0!==T.length?"number"!=typeof T.length||D(T.length)?Z(0):k(T):"Buffer"===T.type&&Array.isArray(T.data)?k(T.data):void 0}(T);if(X)return X;if(typeof Symbol<"u"&&null!=Symbol.toPrimitive&&"function"==typeof T[Symbol.toPrimitive])return l.from(T[Symbol.toPrimitive]("string"),_,s);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof T)}function R(T){if("number"!=typeof T)throw new TypeError('"size" argument must be of type number');if(T<0)throw new RangeError('The value "'+T+'" is invalid for option "size"')}function N(T){return R(T),Z(T<0?0:0|I(T))}function k(T){for(var _=T.length<0?0:0|I(T.length),s=Z(_),F=0;F<_;F+=1)s[F]=255&T[F];return s}function I(T){if(T>=A)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+A.toString(16)+" bytes");return 0|T}function B(T,_){if(l.isBuffer(T))return T.length;if(ArrayBuffer.isView(T)||b(T,ArrayBuffer))return T.byteLength;if("string"!=typeof T)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof T);var s=T.length,F=arguments.length>2&&!0===arguments[2];if(!F&&0===s)return 0;for(var X=!1;;)switch(_){case"ascii":case"latin1":case"binary":return s;case"utf8":case"utf-8":return a(T).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*s;case"hex":return s>>>1;case"base64":return ie(T).length;default:if(X)return F?-1:a(T).length;_=(""+_).toLowerCase(),X=!0}}function S(T,_,s){var F=!1;if((void 0===_||_<0)&&(_=0),_>this.length||((void 0===s||s>this.length)&&(s=this.length),s<=0)||(s>>>=0)<=(_>>>=0))return"";for(T||(T="utf8");;)switch(T){case"hex":return pe(this,_,s);case"utf8":case"utf-8":return z(this,_,s);case"ascii":return de(this,_,s);case"latin1":case"binary":return ne(this,_,s);case"base64":return q(this,_,s);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return ue(this,_,s);default:if(F)throw new TypeError("Unknown encoding: "+T);T=(T+"").toLowerCase(),F=!0}}function U(T,_,s){var F=T[_];T[_]=T[s],T[s]=F}function m(T,_,s,F,X){if(0===T.length)return-1;if("string"==typeof s?(F=s,s=0):s>2147483647?s=2147483647:s<-2147483648&&(s=-2147483648),D(s=+s)&&(s=X?0:T.length-1),s<0&&(s=T.length+s),s>=T.length){if(X)return-1;s=T.length-1}else if(s<0){if(!X)return-1;s=0}if("string"==typeof _&&(_=l.from(_,F)),l.isBuffer(_))return 0===_.length?-1:p(T,_,s,F,X);if("number"==typeof _)return _&=255,"function"==typeof Uint8Array.prototype.indexOf?X?Uint8Array.prototype.indexOf.call(T,_,s):Uint8Array.prototype.lastIndexOf.call(T,_,s):p(T,[_],s,F,X);throw new TypeError("val must be string, number or Buffer")}function p(T,_,s,F,X){var Ne,ee=1,te=T.length,ge=_.length;if(void 0!==F&&("ucs2"===(F=String(F).toLowerCase())||"ucs-2"===F||"utf16le"===F||"utf-16le"===F)){if(T.length<2||_.length<2)return-1;ee=2,te/=2,ge/=2,s/=2}function Ce(qe,Be){return 1===ee?qe[Be]:qe.readUInt16BE(Be*ee)}if(X){var Ze=-1;for(Ne=s;Nete&&(s=te-ge),Ne=s;Ne>=0;Ne--){for(var be=!0,ze=0;zeX&&(F=X):F=X;var ee=_.length;F>ee/2&&(F=ee/2);for(var te=0;te>8,ee.push(s%256),ee.push(F);return ee}(_,T.length-s),T,s,F)}function q(T,_,s){return g.fromByteArray(0===_&&s===T.length?T:T.slice(_,s))}function z(T,_,s){s=Math.min(T.length,s);for(var F=[],X=_;X239?4:ee>223?3:ee>191?2:1;if(X+ge<=s)switch(ge){case 1:ee<128&&(te=ee);break;case 2:128==(192&(Ce=T[X+1]))&&(be=(31&ee)<<6|63&Ce)>127&&(te=be);break;case 3:Ne=T[X+2],128==(192&(Ce=T[X+1]))&&128==(192&Ne)&&(be=(15&ee)<<12|(63&Ce)<<6|63&Ne)>2047&&(be<55296||be>57343)&&(te=be);break;case 4:Ne=T[X+2],Ze=T[X+3],128==(192&(Ce=T[X+1]))&&128==(192&Ne)&&128==(192&Ze)&&(be=(15&ee)<<18|(63&Ce)<<12|(63&Ne)<<6|63&Ze)>65535&&be<1114112&&(te=be)}null===te?(te=65533,ge=1):te>65535&&(F.push((te-=65536)>>>10&1023|55296),te=56320|1023&te),F.push(te),X+=ge}return function le(T){var _=T.length;if(_<=V)return String.fromCharCode.apply(String,T);for(var s="",F=0;F<_;)s+=String.fromCharCode.apply(String,T.slice(F,F+=V));return s}(F)}Y.kMaxLength=A,!(l.TYPED_ARRAY_SUPPORT=function x(){try{var T=new Uint8Array(1);return T.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===T.foo()}catch{return!1}}())&&typeof console<"u"&&"function"==typeof console.error&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."),Object.defineProperty(l.prototype,"parent",{enumerable:!0,get:function(){if(l.isBuffer(this))return this.buffer}}),Object.defineProperty(l.prototype,"offset",{enumerable:!0,get:function(){if(l.isBuffer(this))return this.byteOffset}}),typeof Symbol<"u"&&null!=Symbol.species&&l[Symbol.species]===l&&Object.defineProperty(l,Symbol.species,{value:null,configurable:!0,enumerable:!1,writable:!1}),l.poolSize=8192,l.from=function(T,_,s){return h(T,_,s)},l.prototype.__proto__=Uint8Array.prototype,l.__proto__=Uint8Array,l.alloc=function(T,_,s){return function y(T,_,s){return R(T),T<=0?Z(T):void 0!==_?"string"==typeof s?Z(T).fill(_,s):Z(T).fill(_):Z(T)}(T,_,s)},l.allocUnsafe=function(T){return N(T)},l.allocUnsafeSlow=function(T){return N(T)},l.isBuffer=function(_){return null!=_&&!0===_._isBuffer&&_!==l.prototype},l.compare=function(_,s){if(b(_,Uint8Array)&&(_=l.from(_,_.offset,_.byteLength)),b(s,Uint8Array)&&(s=l.from(s,s.offset,s.byteLength)),!l.isBuffer(_)||!l.isBuffer(s))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(_===s)return 0;for(var F=_.length,X=s.length,ee=0,te=Math.min(F,X);ees&&(_+=" ... "),""},l.prototype.compare=function(_,s,F,X,ee){if(b(_,Uint8Array)&&(_=l.from(_,_.offset,_.byteLength)),!l.isBuffer(_))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof _);if(void 0===s&&(s=0),void 0===F&&(F=_?_.length:0),void 0===X&&(X=0),void 0===ee&&(ee=this.length),s<0||F>_.length||X<0||ee>this.length)throw new RangeError("out of range index");if(X>=ee&&s>=F)return 0;if(X>=ee)return-1;if(s>=F)return 1;if(this===_)return 0;for(var te=(ee>>>=0)-(X>>>=0),ge=(F>>>=0)-(s>>>=0),Ce=Math.min(te,ge),Ne=this.slice(X,ee),Ze=_.slice(s,F),be=0;be>>=0,isFinite(F)?(F>>>=0,void 0===X&&(X="utf8")):(X=F,F=void 0)}var ee=this.length-s;if((void 0===F||F>ee)&&(F=ee),_.length>0&&(F<0||s<0)||s>this.length)throw new RangeError("Attempt to write outside buffer bounds");X||(X="utf8");for(var te=!1;;)switch(X){case"hex":return u(this,_,s,F);case"utf8":case"utf-8":return E(this,_,s,F);case"ascii":return e(this,_,s,F);case"latin1":case"binary":return f(this,_,s,F);case"base64":return $(this,_,s,F);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return M(this,_,s,F);default:if(te)throw new TypeError("Unknown encoding: "+X);X=(""+X).toLowerCase(),te=!0}},l.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var V=4096;function de(T,_,s){var F="";s=Math.min(T.length,s);for(var X=_;XF)&&(s=F);for(var X="",ee=_;ees)throw new RangeError("Trying to access beyond buffer length")}function fe(T,_,s,F,X,ee){if(!l.isBuffer(T))throw new TypeError('"buffer" argument must be a Buffer instance');if(_>X||_T.length)throw new RangeError("Index out of range")}function Ie(T,_,s,F,X,ee){if(s+F>T.length)throw new RangeError("Index out of range");if(s<0)throw new RangeError("Index out of range")}function we(T,_,s,F,X){return _=+_,s>>>=0,X||Ie(T,0,s,4),r.write(T,_,s,F,23,4),s+4}function Oe(T,_,s,F,X){return _=+_,s>>>=0,X||Ie(T,0,s,8),r.write(T,_,s,F,52,8),s+8}l.prototype.slice=function(_,s){var F=this.length;(_=~~_)<0?(_+=F)<0&&(_=0):_>F&&(_=F),(s=void 0===s?F:~~s)<0?(s+=F)<0&&(s=0):s>F&&(s=F),s<_&&(s=_);var X=this.subarray(_,s);return X.__proto__=l.prototype,X},l.prototype.readUIntLE=function(_,s,F){_>>>=0,s>>>=0,F||he(_,s,this.length);for(var X=this[_],ee=1,te=0;++te>>=0,s>>>=0,F||he(_,s,this.length);for(var X=this[_+--s],ee=1;s>0&&(ee*=256);)X+=this[_+--s]*ee;return X},l.prototype.readUInt8=function(_,s){return _>>>=0,s||he(_,1,this.length),this[_]},l.prototype.readUInt16LE=function(_,s){return _>>>=0,s||he(_,2,this.length),this[_]|this[_+1]<<8},l.prototype.readUInt16BE=function(_,s){return _>>>=0,s||he(_,2,this.length),this[_]<<8|this[_+1]},l.prototype.readUInt32LE=function(_,s){return _>>>=0,s||he(_,4,this.length),(this[_]|this[_+1]<<8|this[_+2]<<16)+16777216*this[_+3]},l.prototype.readUInt32BE=function(_,s){return _>>>=0,s||he(_,4,this.length),16777216*this[_]+(this[_+1]<<16|this[_+2]<<8|this[_+3])},l.prototype.readIntLE=function(_,s,F){_>>>=0,s>>>=0,F||he(_,s,this.length);for(var X=this[_],ee=1,te=0;++te=(ee*=128)&&(X-=Math.pow(2,8*s)),X},l.prototype.readIntBE=function(_,s,F){_>>>=0,s>>>=0,F||he(_,s,this.length);for(var X=s,ee=1,te=this[_+--X];X>0&&(ee*=256);)te+=this[_+--X]*ee;return te>=(ee*=128)&&(te-=Math.pow(2,8*s)),te},l.prototype.readInt8=function(_,s){return _>>>=0,s||he(_,1,this.length),128&this[_]?-1*(255-this[_]+1):this[_]},l.prototype.readInt16LE=function(_,s){_>>>=0,s||he(_,2,this.length);var F=this[_]|this[_+1]<<8;return 32768&F?4294901760|F:F},l.prototype.readInt16BE=function(_,s){_>>>=0,s||he(_,2,this.length);var F=this[_+1]|this[_]<<8;return 32768&F?4294901760|F:F},l.prototype.readInt32LE=function(_,s){return _>>>=0,s||he(_,4,this.length),this[_]|this[_+1]<<8|this[_+2]<<16|this[_+3]<<24},l.prototype.readInt32BE=function(_,s){return _>>>=0,s||he(_,4,this.length),this[_]<<24|this[_+1]<<16|this[_+2]<<8|this[_+3]},l.prototype.readFloatLE=function(_,s){return _>>>=0,s||he(_,4,this.length),r.read(this,_,!0,23,4)},l.prototype.readFloatBE=function(_,s){return _>>>=0,s||he(_,4,this.length),r.read(this,_,!1,23,4)},l.prototype.readDoubleLE=function(_,s){return _>>>=0,s||he(_,8,this.length),r.read(this,_,!0,52,8)},l.prototype.readDoubleBE=function(_,s){return _>>>=0,s||he(_,8,this.length),r.read(this,_,!1,52,8)},l.prototype.writeUIntLE=function(_,s,F,X){_=+_,s>>>=0,F>>>=0,X||fe(this,_,s,F,Math.pow(2,8*F)-1,0);var te=1,ge=0;for(this[s]=255&_;++ge>>=0,F>>>=0,X||fe(this,_,s,F,Math.pow(2,8*F)-1,0);var te=F-1,ge=1;for(this[s+te]=255&_;--te>=0&&(ge*=256);)this[s+te]=_/ge&255;return s+F},l.prototype.writeUInt8=function(_,s,F){return _=+_,s>>>=0,F||fe(this,_,s,1,255,0),this[s]=255&_,s+1},l.prototype.writeUInt16LE=function(_,s,F){return _=+_,s>>>=0,F||fe(this,_,s,2,65535,0),this[s]=255&_,this[s+1]=_>>>8,s+2},l.prototype.writeUInt16BE=function(_,s,F){return _=+_,s>>>=0,F||fe(this,_,s,2,65535,0),this[s]=_>>>8,this[s+1]=255&_,s+2},l.prototype.writeUInt32LE=function(_,s,F){return _=+_,s>>>=0,F||fe(this,_,s,4,4294967295,0),this[s+3]=_>>>24,this[s+2]=_>>>16,this[s+1]=_>>>8,this[s]=255&_,s+4},l.prototype.writeUInt32BE=function(_,s,F){return _=+_,s>>>=0,F||fe(this,_,s,4,4294967295,0),this[s]=_>>>24,this[s+1]=_>>>16,this[s+2]=_>>>8,this[s+3]=255&_,s+4},l.prototype.writeIntLE=function(_,s,F,X){if(_=+_,s>>>=0,!X){var ee=Math.pow(2,8*F-1);fe(this,_,s,F,ee-1,-ee)}var te=0,ge=1,Ce=0;for(this[s]=255&_;++te>0)-Ce&255;return s+F},l.prototype.writeIntBE=function(_,s,F,X){if(_=+_,s>>>=0,!X){var ee=Math.pow(2,8*F-1);fe(this,_,s,F,ee-1,-ee)}var te=F-1,ge=1,Ce=0;for(this[s+te]=255&_;--te>=0&&(ge*=256);)_<0&&0===Ce&&0!==this[s+te+1]&&(Ce=1),this[s+te]=(_/ge>>0)-Ce&255;return s+F},l.prototype.writeInt8=function(_,s,F){return _=+_,s>>>=0,F||fe(this,_,s,1,127,-128),_<0&&(_=255+_+1),this[s]=255&_,s+1},l.prototype.writeInt16LE=function(_,s,F){return _=+_,s>>>=0,F||fe(this,_,s,2,32767,-32768),this[s]=255&_,this[s+1]=_>>>8,s+2},l.prototype.writeInt16BE=function(_,s,F){return _=+_,s>>>=0,F||fe(this,_,s,2,32767,-32768),this[s]=_>>>8,this[s+1]=255&_,s+2},l.prototype.writeInt32LE=function(_,s,F){return _=+_,s>>>=0,F||fe(this,_,s,4,2147483647,-2147483648),this[s]=255&_,this[s+1]=_>>>8,this[s+2]=_>>>16,this[s+3]=_>>>24,s+4},l.prototype.writeInt32BE=function(_,s,F){return _=+_,s>>>=0,F||fe(this,_,s,4,2147483647,-2147483648),_<0&&(_=4294967295+_+1),this[s]=_>>>24,this[s+1]=_>>>16,this[s+2]=_>>>8,this[s+3]=255&_,s+4},l.prototype.writeFloatLE=function(_,s,F){return we(this,_,s,!0,F)},l.prototype.writeFloatBE=function(_,s,F){return we(this,_,s,!1,F)},l.prototype.writeDoubleLE=function(_,s,F){return Oe(this,_,s,!0,F)},l.prototype.writeDoubleBE=function(_,s,F){return Oe(this,_,s,!1,F)},l.prototype.copy=function(_,s,F,X){if(!l.isBuffer(_))throw new TypeError("argument should be a Buffer");if(F||(F=0),!X&&0!==X&&(X=this.length),s>=_.length&&(s=_.length),s||(s=0),X>0&&X=this.length)throw new RangeError("Index out of range");if(X<0)throw new RangeError("sourceEnd out of bounds");X>this.length&&(X=this.length),_.length-s=0;--te)_[te+s]=this[te+F];else Uint8Array.prototype.set.call(_,this.subarray(F,X),s);return ee},l.prototype.fill=function(_,s,F,X){if("string"==typeof _){if("string"==typeof s?(X=s,s=0,F=this.length):"string"==typeof F&&(X=F,F=this.length),void 0!==X&&"string"!=typeof X)throw new TypeError("encoding must be a string");if("string"==typeof X&&!l.isEncoding(X))throw new TypeError("Unknown encoding: "+X);if(1===_.length){var ee=_.charCodeAt(0);("utf8"===X&&ee<128||"latin1"===X)&&(_=ee)}}else"number"==typeof _&&(_&=255);if(s<0||this.length>>=0,F=void 0===F?this.length:F>>>0,_||(_=0),"number"==typeof _)for(te=s;te55295&&s<57344){if(!X){if(s>56319){(_-=3)>-1&&ee.push(239,191,189);continue}if(te+1===F){(_-=3)>-1&&ee.push(239,191,189);continue}X=s;continue}if(s<56320){(_-=3)>-1&&ee.push(239,191,189),X=s;continue}s=65536+(X-55296<<10|s-56320)}else X&&(_-=3)>-1&&ee.push(239,191,189);if(X=null,s<128){if((_-=1)<0)break;ee.push(s)}else if(s<2048){if((_-=2)<0)break;ee.push(s>>6|192,63&s|128)}else if(s<65536){if((_-=3)<0)break;ee.push(s>>12|224,s>>6&63|128,63&s|128)}else{if(!(s<1114112))throw new Error("Invalid code point");if((_-=4)<0)break;ee.push(s>>18|240,s>>12&63|128,s>>6&63|128,63&s|128)}}return ee}function ie(T){return g.toByteArray(function We(T){if((T=(T=T.split("=")[0]).trim().replace(Ae,"")).length<2)return"";for(;T.length%4!=0;)T+="=";return T}(T))}function ae(T,_,s,F){for(var X=0;X=_.length||X>=T.length);++X)_[X+s]=T[X];return X}function b(T,_){return T instanceof _||null!=T&&null!=T.constructor&&null!=T.constructor.name&&T.constructor.name===_.name}function D(T){return T!=T}},93105:K=>{var Y=Object.create||function m(E){var e=function(){};return e.prototype=E,new e},d=Object.keys||function p(E){var e=[];for(var f in E)Object.prototype.hasOwnProperty.call(E,f)&&e.push(f);return f},g=Function.prototype.bind||function u(E){var e=this;return function(){return e.apply(E,arguments)}};function r(){(!this._events||!Object.prototype.hasOwnProperty.call(this,"_events"))&&(this._events=Y(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0}K.exports=r,r.EventEmitter=r,r.prototype._events=void 0,r.prototype._maxListeners=void 0;var x,A=10;try{var Z={};Object.defineProperty&&Object.defineProperty(Z,"x",{value:0}),x=0===Z.x}catch{x=!1}function l(E){return void 0===E._maxListeners?r.defaultMaxListeners:E._maxListeners}function k(E,e,f,$){var M,q,z;if("function"!=typeof f)throw new TypeError('"listener" argument must be a function');if((q=E._events)?(q.newListener&&(E.emit("newListener",e,f.listener?f.listener:f),q=E._events),z=q[e]):(q=E._events=Y(null),E._eventsCount=0),z){if("function"==typeof z?z=q[e]=$?[f,z]:[z,f]:$?z.unshift(f):z.push(f),!z.warned&&(M=l(E))&&M>0&&z.length>M){z.warned=!0;var V=new Error("Possible EventEmitter memory leak detected. "+z.length+' "'+String(e)+'" listeners added. Use emitter.setMaxListeners() to increase limit.');V.name="MaxListenersExceededWarning",V.emitter=E,V.type=e,V.count=z.length,"object"==typeof console&&console.warn&&console.warn("%s: %s",V.name,V.message)}}else z=q[e]=f,++E._eventsCount;return E}function P(){if(!this.fired)switch(this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length){case 0:return this.listener.call(this.target);case 1:return this.listener.call(this.target,arguments[0]);case 2:return this.listener.call(this.target,arguments[0],arguments[1]);case 3:return this.listener.call(this.target,arguments[0],arguments[1],arguments[2]);default:for(var E=new Array(arguments.length),e=0;e1&&(f=arguments[1]),f instanceof Error)throw f;var de=new Error('Unhandled "error" event. ('+f+")");throw de.context=f,de}if(!($=V[e]))return!1;var ne="function"==typeof $;switch(M=arguments.length){case 1:!function h(E,e,f){if(e)E.call(f);else for(var $=E.length,M=S(E,$),q=0;q<$;++q)M[q].call(f)}($,ne,this);break;case 2:!function R(E,e,f,$){if(e)E.call(f,$);else for(var M=E.length,q=S(E,M),z=0;z=0;z--)if($[z]===f||$[z].listener===f){V=$[z].listener,q=z;break}if(q<0)return this;0===q?$.shift():function B(E,e){for(var f=e,$=f+1,M=E.length;$=0;M--)this.removeListener(e,f[M]);return this},r.prototype.listeners=function(e){return I(this,e,!0)},r.prototype.rawListeners=function(e){return I(this,e,!1)},r.listenerCount=function(E,e){return"function"==typeof E.listenerCount?E.listenerCount(e):G.call(E,e)},r.prototype.listenerCount=G,r.prototype.eventNames=function(){return this._eventsCount>0?Reflect.ownKeys(this._events):[]}},59879:K=>{K.exports="function"==typeof Object.create?function(d,g){g&&(d.super_=g,d.prototype=Object.create(g.prototype,{constructor:{value:d,enumerable:!1,writable:!0,configurable:!0}}))}:function(d,g){if(g){d.super_=g;var r=function(){};r.prototype=g.prototype,d.prototype=new r,d.prototype.constructor=d}}},55859:(K,Y,d)=>{var g=d(3875),r=g.Buffer;function A(Z,l){for(var h in Z)l[h]=Z[h]}function x(Z,l,h){return r(Z,l,h)}r.from&&r.alloc&&r.allocUnsafe&&r.allocUnsafeSlow?K.exports=g:(A(g,Y),Y.Buffer=x),x.prototype=Object.create(r.prototype),A(r,x),x.from=function(Z,l,h){if("number"==typeof Z)throw new TypeError("Argument must not be a number");return r(Z,l,h)},x.alloc=function(Z,l,h){if("number"!=typeof Z)throw new TypeError("Argument must be a number");var R=r(Z);return void 0!==l?"string"==typeof h?R.fill(l,h):R.fill(l):R.fill(0),R},x.allocUnsafe=function(Z){if("number"!=typeof Z)throw new TypeError("Argument must be a number");return r(Z)},x.allocUnsafeSlow=function(Z){if("number"!=typeof Z)throw new TypeError("Argument must be a number");return g.SlowBuffer(Z)}},5473:(K,Y,d)=>{!function(g){g.parser=function(C,a){return new A(C,a)},g.SAXParser=A,g.SAXStream=N,g.createStream=function y(C,a){return new N(C,a)},g.MAX_BUFFER_LENGTH=65536;var h,r=["comment","sgmlDecl","textNode","tagName","doctype","procInstName","procInstBody","entity","attribName","attribValue","cdata","script"];function A(C,a){if(!(this instanceof A))return new A(C,a);var w=this;(function Z(C){for(var a=0,w=r.length;a"===W?(q(a,"onsgmldeclaration",a.sgmlDecl),a.sgmlDecl="",a.state=f.TEXT):(p(W)&&(a.state=f.SGML_DECL_QUOTED),a.sgmlDecl+=W);continue;case f.SGML_DECL_QUOTED:W===a.q&&(a.state=f.SGML_DECL,a.q=""),a.sgmlDecl+=W;continue;case f.DOCTYPE:">"===W?(a.state=f.TEXT,q(a,"ondoctype",a.doctype),a.doctype=!0):(a.doctype+=W,"["===W?a.state=f.DOCTYPE_DTD:p(W)&&(a.state=f.DOCTYPE_QUOTED,a.q=W));continue;case f.DOCTYPE_QUOTED:a.doctype+=W,W===a.q&&(a.q="",a.state=f.DOCTYPE);continue;case f.DOCTYPE_DTD:a.doctype+=W,"]"===W?a.state=f.DOCTYPE:p(W)&&(a.state=f.DOCTYPE_DTD_QUOTED,a.q=W);continue;case f.DOCTYPE_DTD_QUOTED:a.doctype+=W,W===a.q&&(a.state=f.DOCTYPE_DTD,a.q="");continue;case f.COMMENT:"-"===W?a.state=f.COMMENT_ENDING:a.comment+=W;continue;case f.COMMENT_ENDING:"-"===W?(a.state=f.COMMENT_ENDED,a.comment=V(a.opt,a.comment),a.comment&&q(a,"oncomment",a.comment),a.comment=""):(a.comment+="-"+W,a.state=f.COMMENT);continue;case f.COMMENT_ENDED:">"!==W?(ne(a,"Malformed comment"),a.comment+="--"+W,a.state=f.COMMENT):a.state=f.TEXT;continue;case f.CDATA:"]"===W?a.state=f.CDATA_ENDING:a.cdata+=W;continue;case f.CDATA_ENDING:"]"===W?a.state=f.CDATA_ENDING_2:(a.cdata+="]"+W,a.state=f.CDATA);continue;case f.CDATA_ENDING_2:">"===W?(a.cdata&&q(a,"oncdata",a.cdata),q(a,"onclosecdata"),a.cdata="",a.state=f.TEXT):"]"===W?a.cdata+="]":(a.cdata+="]]"+W,a.state=f.CDATA);continue;case f.PROC_INST:"?"===W?a.state=f.PROC_INST_ENDING:m(W)?a.state=f.PROC_INST_BODY:a.procInstName+=W;continue;case f.PROC_INST_BODY:if(!a.procInstBody&&m(W))continue;"?"===W?a.state=f.PROC_INST_ENDING:a.procInstBody+=W;continue;case f.PROC_INST_ENDING:">"===W?(q(a,"onprocessinginstruction",{name:a.procInstName,body:a.procInstBody}),a.procInstName=a.procInstBody="",a.state=f.TEXT):(a.procInstBody+="?"+W,a.state=f.PROC_INST_BODY);continue;case f.OPEN_TAG:E(B,W)?a.tagName+=W:(pe(a),">"===W?fe(a):"/"===W?a.state=f.OPEN_TAG_SLASH:(m(W)||ne(a,"Invalid character in tag name"),a.state=f.ATTRIB));continue;case f.OPEN_TAG_SLASH:">"===W?(fe(a,!0),Ie(a)):(ne(a,"Forward-slash in opening tag not followed by >"),a.state=f.ATTRIB);continue;case f.ATTRIB:if(m(W))continue;">"===W?fe(a):"/"===W?a.state=f.OPEN_TAG_SLASH:E(G,W)?(a.attribName=W,a.attribValue="",a.state=f.ATTRIB_NAME):ne(a,"Invalid attribute name");continue;case f.ATTRIB_NAME:"="===W?a.state=f.ATTRIB_VALUE:">"===W?(ne(a,"Attribute without value"),a.attribValue=a.attribName,he(a),fe(a)):m(W)?a.state=f.ATTRIB_NAME_SAW_WHITE:E(B,W)?a.attribName+=W:ne(a,"Invalid attribute name");continue;case f.ATTRIB_NAME_SAW_WHITE:if("="===W)a.state=f.ATTRIB_VALUE;else{if(m(W))continue;ne(a,"Attribute without value"),a.tag.attributes[a.attribName]="",a.attribValue="",q(a,"onattribute",{name:a.attribName,value:""}),a.attribName="",">"===W?fe(a):E(G,W)?(a.attribName=W,a.state=f.ATTRIB_NAME):(ne(a,"Invalid attribute name"),a.state=f.ATTRIB)}continue;case f.ATTRIB_VALUE:if(m(W))continue;p(W)?(a.q=W,a.state=f.ATTRIB_VALUE_QUOTED):(ne(a,"Unquoted attribute value"),a.state=f.ATTRIB_VALUE_UNQUOTED,a.attribValue=W);continue;case f.ATTRIB_VALUE_QUOTED:if(W!==a.q){"&"===W?a.state=f.ATTRIB_VALUE_ENTITY_Q:a.attribValue+=W;continue}he(a),a.q="",a.state=f.ATTRIB_VALUE_CLOSED;continue;case f.ATTRIB_VALUE_CLOSED:m(W)?a.state=f.ATTRIB:">"===W?fe(a):"/"===W?a.state=f.OPEN_TAG_SLASH:E(G,W)?(ne(a,"No whitespace between attributes"),a.attribName=W,a.attribValue="",a.state=f.ATTRIB_NAME):ne(a,"Invalid attribute name");continue;case f.ATTRIB_VALUE_UNQUOTED:if(!u(W)){"&"===W?a.state=f.ATTRIB_VALUE_ENTITY_U:a.attribValue+=W;continue}he(a),">"===W?fe(a):a.state=f.ATTRIB;continue;case f.CLOSE_TAG:if(a.tagName)">"===W?Ie(a):E(B,W)?a.tagName+=W:a.script?(a.script+=""===W?Ie(a):ne(a,"Invalid characters in closing tag");continue;case f.TEXT_ENTITY:case f.ATTRIB_VALUE_ENTITY_Q:case f.ATTRIB_VALUE_ENTITY_U:var b,D;switch(a.state){case f.TEXT_ENTITY:b=f.TEXT,D="textNode";break;case f.ATTRIB_VALUE_ENTITY_Q:b=f.ATTRIB_VALUE_QUOTED,D="attribValue";break;case f.ATTRIB_VALUE_ENTITY_U:b=f.ATTRIB_VALUE_UNQUOTED,D="attribValue"}if(";"===W)if(a.opt.unparsedEntities){var T=we(a);a.entity="",a.state=b,a.write(T)}else a[D]+=we(a),a.entity="",a.state=b;else E(a.entity.length?U:S,W)?a.entity+=W:(ne(a,"Invalid character in entity name"),a[D]+="&"+a.entity+W,a.entity="",a.state=b);continue;default:throw new Error(a,"Unknown state: "+a.state)}return a.position>=a.bufferCheckPosition&&function x(C){for(var a=Math.max(g.MAX_BUFFER_LENGTH,10),w=0,W=0,ie=r.length;Wa)switch(r[W]){case"textNode":z(C);break;case"cdata":q(C,"oncdata",C.cdata),C.cdata="";break;case"script":q(C,"onscript",C.script),C.script="";break;default:le(C,"Max buffer length exceeded: "+r[W])}w=Math.max(w,ae)}C.bufferCheckPosition=g.MAX_BUFFER_LENGTH-w+C.position}(a),a},resume:function(){return this.error=null,this},close:function(){return this.write(null)},flush:function(){!function l(C){z(C),""!==C.cdata&&(q(C,"oncdata",C.cdata),C.cdata=""),""!==C.script&&(q(C,"onscript",C.script),C.script="")}(this)}};try{h=d(36917).Stream}catch{h=function(){}}h||(h=function(){});var R=g.EVENTS.filter(function(C){return"error"!==C&&"end"!==C});function N(C,a){if(!(this instanceof N))return new N(C,a);h.apply(this),this._parser=new A(C,a),this.writable=!0,this.readable=!0;var w=this;this._parser.onend=function(){w.emit("end")},this._parser.onerror=function(W){w.emit("error",W),w._parser.error=null},this._decoder=null,R.forEach(function(W){Object.defineProperty(w,"on"+W,{get:function(){return w._parser["on"+W]},set:function(ie){if(!ie)return w.removeAllListeners(W),w._parser["on"+W]=ie,ie;w.on(W,ie)},enumerable:!0,configurable:!1})})}(N.prototype=Object.create(h.prototype,{constructor:{value:N}})).write=function(C){if("function"==typeof Buffer&&"function"==typeof Buffer.isBuffer&&Buffer.isBuffer(C)){if(!this._decoder){var a=d(32519).s;this._decoder=new a("utf8")}C=this._decoder.write(C)}return this._parser.write(C.toString()),this.emit("data",C),!0},N.prototype.end=function(C){return C&&C.length&&this.write(C),this._parser.end(),!0},N.prototype.on=function(C,a){var w=this;return!w._parser["on"+C]&&-1!==R.indexOf(C)&&(w._parser["on"+C]=function(){var W=1===arguments.length?[arguments[0]]:Array.apply(null,arguments);W.splice(0,0,C),w.emit.apply(w,W)}),h.prototype.on.call(w,C,a)};var v="[CDATA[",k="DOCTYPE",P="http://www.w3.org/XML/1998/namespace",L="http://www.w3.org/2000/xmlns/",I={xml:P,xmlns:L},G=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,B=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/,S=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,U=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/;function m(C){return" "===C||"\n"===C||"\r"===C||"\t"===C}function p(C){return'"'===C||"'"===C}function u(C){return">"===C||m(C)}function E(C,a){return C.test(a)}function e(C,a){return!E(C,a)}var C,a,w,f=0;for(var $ in g.STATE={BEGIN:f++,BEGIN_WHITESPACE:f++,TEXT:f++,TEXT_ENTITY:f++,OPEN_WAKA:f++,SGML_DECL:f++,SGML_DECL_QUOTED:f++,DOCTYPE:f++,DOCTYPE_QUOTED:f++,DOCTYPE_DTD:f++,DOCTYPE_DTD_QUOTED:f++,COMMENT_STARTING:f++,COMMENT:f++,COMMENT_ENDING:f++,COMMENT_ENDED:f++,CDATA:f++,CDATA_ENDING:f++,CDATA_ENDING_2:f++,PROC_INST:f++,PROC_INST_BODY:f++,PROC_INST_ENDING:f++,OPEN_TAG:f++,OPEN_TAG_SLASH:f++,ATTRIB:f++,ATTRIB_NAME:f++,ATTRIB_NAME_SAW_WHITE:f++,ATTRIB_VALUE:f++,ATTRIB_VALUE_QUOTED:f++,ATTRIB_VALUE_CLOSED:f++,ATTRIB_VALUE_UNQUOTED:f++,ATTRIB_VALUE_ENTITY_Q:f++,ATTRIB_VALUE_ENTITY_U:f++,CLOSE_TAG:f++,CLOSE_TAG_SAW_WHITE:f++,SCRIPT:f++,SCRIPT_ENDING:f++},g.XML_ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'"},g.ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'",AElig:198,Aacute:193,Acirc:194,Agrave:192,Aring:197,Atilde:195,Auml:196,Ccedil:199,ETH:208,Eacute:201,Ecirc:202,Egrave:200,Euml:203,Iacute:205,Icirc:206,Igrave:204,Iuml:207,Ntilde:209,Oacute:211,Ocirc:212,Ograve:210,Oslash:216,Otilde:213,Ouml:214,THORN:222,Uacute:218,Ucirc:219,Ugrave:217,Uuml:220,Yacute:221,aacute:225,acirc:226,aelig:230,agrave:224,aring:229,atilde:227,auml:228,ccedil:231,eacute:233,ecirc:234,egrave:232,eth:240,euml:235,iacute:237,icirc:238,igrave:236,iuml:239,ntilde:241,oacute:243,ocirc:244,ograve:242,oslash:248,otilde:245,ouml:246,szlig:223,thorn:254,uacute:250,ucirc:251,ugrave:249,uuml:252,yacute:253,yuml:255,copy:169,reg:174,nbsp:160,iexcl:161,cent:162,pound:163,curren:164,yen:165,brvbar:166,sect:167,uml:168,ordf:170,laquo:171,not:172,shy:173,macr:175,deg:176,plusmn:177,sup1:185,sup2:178,sup3:179,acute:180,micro:181,para:182,middot:183,cedil:184,ordm:186,raquo:187,frac14:188,frac12:189,frac34:190,iquest:191,times:215,divide:247,OElig:338,oelig:339,Scaron:352,scaron:353,Yuml:376,fnof:402,circ:710,tilde:732,Alpha:913,Beta:914,Gamma:915,Delta:916,Epsilon:917,Zeta:918,Eta:919,Theta:920,Iota:921,Kappa:922,Lambda:923,Mu:924,Nu:925,Xi:926,Omicron:927,Pi:928,Rho:929,Sigma:931,Tau:932,Upsilon:933,Phi:934,Chi:935,Psi:936,Omega:937,alpha:945,beta:946,gamma:947,delta:948,epsilon:949,zeta:950,eta:951,theta:952,iota:953,kappa:954,lambda:955,mu:956,nu:957,xi:958,omicron:959,pi:960,rho:961,sigmaf:962,sigma:963,tau:964,upsilon:965,phi:966,chi:967,psi:968,omega:969,thetasym:977,upsih:978,piv:982,ensp:8194,emsp:8195,thinsp:8201,zwnj:8204,zwj:8205,lrm:8206,rlm:8207,ndash:8211,mdash:8212,lsquo:8216,rsquo:8217,sbquo:8218,ldquo:8220,rdquo:8221,bdquo:8222,dagger:8224,Dagger:8225,bull:8226,hellip:8230,permil:8240,prime:8242,Prime:8243,lsaquo:8249,rsaquo:8250,oline:8254,frasl:8260,euro:8364,image:8465,weierp:8472,real:8476,trade:8482,alefsym:8501,larr:8592,uarr:8593,rarr:8594,darr:8595,harr:8596,crarr:8629,lArr:8656,uArr:8657,rArr:8658,dArr:8659,hArr:8660,forall:8704,part:8706,exist:8707,empty:8709,nabla:8711,isin:8712,notin:8713,ni:8715,prod:8719,sum:8721,minus:8722,lowast:8727,radic:8730,prop:8733,infin:8734,ang:8736,and:8743,or:8744,cap:8745,cup:8746,int:8747,there4:8756,sim:8764,cong:8773,asymp:8776,ne:8800,equiv:8801,le:8804,ge:8805,sub:8834,sup:8835,nsub:8836,sube:8838,supe:8839,oplus:8853,otimes:8855,perp:8869,sdot:8901,lceil:8968,rceil:8969,lfloor:8970,rfloor:8971,lang:9001,rang:9002,loz:9674,spades:9824,clubs:9827,hearts:9829,diams:9830},Object.keys(g.ENTITIES).forEach(function(C){var a=g.ENTITIES[C],w="number"==typeof a?String.fromCharCode(a):a;g.ENTITIES[C]=w}),g.STATE)g.STATE[g.STATE[$]]=$;function M(C,a,w){C[a]&&C[a](w)}function q(C,a,w){C.textNode&&z(C),M(C,a,w)}function z(C){C.textNode=V(C.opt,C.textNode),C.textNode&&M(C,"ontext",C.textNode),C.textNode=""}function V(C,a){return C.trim&&(a=a.trim()),C.normalize&&(a=a.replace(/\s+/g," ")),a}function le(C,a){return z(C),C.trackPosition&&(a+="\nLine: "+C.line+"\nColumn: "+C.column+"\nChar: "+C.c),a=new Error(a),C.error=a,M(C,"onerror",a),C}function de(C){return C.sawRoot&&!C.closedRoot&&ne(C,"Unclosed root tag"),C.state!==f.BEGIN&&C.state!==f.BEGIN_WHITESPACE&&C.state!==f.TEXT&&le(C,"Unexpected end"),z(C),C.c="",C.closed=!0,M(C,"onend"),A.call(C,C.strict,C.opt),C}function ne(C,a){if("object"!=typeof C||!(C instanceof A))throw new Error("bad call to strictFail");C.strict&&le(C,a)}function pe(C){C.strict||(C.tagName=C.tagName[C.looseCase]());var a=C.tags[C.tags.length-1]||C,w=C.tag={name:C.tagName,attributes:{}};C.opt.xmlns&&(w.ns=a.ns),C.attribList.length=0,q(C,"onopentagstart",w)}function ue(C,a){var W=C.indexOf(":")<0?["",C]:C.split(":"),ie=W[0],ae=W[1];return a&&"xmlns"===C&&(ie="xmlns",ae=""),{prefix:ie,local:ae}}function he(C){if(C.strict||(C.attribName=C.attribName[C.looseCase]()),-1!==C.attribList.indexOf(C.attribName)||C.tag.attributes.hasOwnProperty(C.attribName))C.attribName=C.attribValue="";else{if(C.opt.xmlns){var a=ue(C.attribName,!0),W=a.local;if("xmlns"===a.prefix)if("xml"===W&&C.attribValue!==P)ne(C,"xml: prefix must be bound to "+P+"\nActual: "+C.attribValue);else if("xmlns"===W&&C.attribValue!==L)ne(C,"xmlns: prefix must be bound to "+L+"\nActual: "+C.attribValue);else{var ie=C.tag,ae=C.tags[C.tags.length-1]||C;ie.ns===ae.ns&&(ie.ns=Object.create(ae.ns)),ie.ns[W]=C.attribValue}C.attribList.push([C.attribName,C.attribValue])}else C.tag.attributes[C.attribName]=C.attribValue,q(C,"onattribute",{name:C.attribName,value:C.attribValue});C.attribName=C.attribValue=""}}function fe(C,a){if(C.opt.xmlns){var w=C.tag,W=ue(C.tagName);w.prefix=W.prefix,w.local=W.local,w.uri=w.ns[W.prefix]||"",w.prefix&&!w.uri&&(ne(C,"Unbound namespace prefix: "+JSON.stringify(C.tagName)),w.uri=W.prefix),w.ns&&(C.tags[C.tags.length-1]||C).ns!==w.ns&&Object.keys(w.ns).forEach(function(ge){q(C,"onopennamespace",{prefix:ge,uri:w.ns[ge]})});for(var ae=0,b=C.attribList.length;ae",C.tagName="",void(C.state=f.SCRIPT);q(C,"onscript",C.script),C.script=""}var a=C.tags.length,w=C.tagName;C.strict||(w=w[C.looseCase]());for(var W=w;a--&&C.tags[a].name!==W;)ne(C,"Unexpected close tag");if(a<0)return ne(C,"Unmatched closing tag: "+C.tagName),C.textNode+="",void(C.state=f.TEXT);C.tagName=w;for(var ae=C.tags.length;ae-- >a;){var b=C.tag=C.tags.pop();C.tagName=C.tag.name,q(C,"onclosetag",C.tagName);var D={};for(var T in b.ns)D[T]=b.ns[T];C.opt.xmlns&&b.ns!==(C.tags[C.tags.length-1]||C).ns&&Object.keys(b.ns).forEach(function(s){q(C,"onclosenamespace",{prefix:s,uri:b.ns[s]})})}0===a&&(C.closedRoot=!0),C.tagName=C.attribValue=C.attribName="",C.attribList.length=0,C.state=f.TEXT}function we(C){var W,a=C.entity,w=a.toLowerCase(),ie="";return C.ENTITIES[a]?C.ENTITIES[a]:C.ENTITIES[w]?C.ENTITIES[w]:("#"===(a=w).charAt(0)&&("x"===a.charAt(1)?(a=a.slice(2),ie=(W=parseInt(a,16)).toString(16)):(a=a.slice(1),ie=(W=parseInt(a,10)).toString(10))),a=a.replace(/^0+/,""),isNaN(W)||ie.toLowerCase()!==a?(ne(C,"Invalid character entity"),"&"+C.entity+";"):String.fromCodePoint(W))}function Oe(C,a){"<"===a?(C.state=f.OPEN_WAKA,C.startTagPosition=C.position):m(a)||(ne(C,"Non-whitespace before first tag."),C.textNode=a,C.state=f.TEXT)}function Ae(C,a){var w="";return a1114111||a(s)!==s)throw RangeError("Invalid code point: "+s);s<=65535?ie.push(s):ie.push(55296+((s-=65536)>>10),s%1024+56320),(D+1===T||ie.length>16384)&&(_+=C.apply(null,ie),ie.length=0)}return _},Object.defineProperty?Object.defineProperty(String,"fromCodePoint",{value:w,configurable:!0,writable:!0}):String.fromCodePoint=w)}(Y)},45470:function(){!function(K,Y){"use strict";if(!K.setImmediate){var x,d=1,g={},r=!1,A=K.document,I=Object.getPrototypeOf&&Object.getPrototypeOf(K);I=I&&I.setTimeout?I:K,"[object process]"==={}.toString.call(K.process)?function y(){x=function(G){process.nextTick(function(){R(G)})}}():function N(){if(K.postMessage&&!K.importScripts){var G=!0,B=K.onmessage;return K.onmessage=function(){G=!1},K.postMessage("","*"),K.onmessage=B,G}}()?function v(){var G="setImmediate$"+Math.random()+"$",B=function(S){S.source===K&&"string"==typeof S.data&&0===S.data.indexOf(G)&&R(+S.data.slice(G.length))};K.addEventListener?K.addEventListener("message",B,!1):K.attachEvent("onmessage",B),x=function(S){K.postMessage(G+S,"*")}}():K.MessageChannel?function k(){var G=new MessageChannel;G.port1.onmessage=function(B){R(B.data)},x=function(B){G.port2.postMessage(B)}}():A&&"onreadystatechange"in A.createElement("script")?function P(){var G=A.documentElement;x=function(B){var S=A.createElement("script");S.onreadystatechange=function(){R(B),S.onreadystatechange=null,G.removeChild(S),S=null},G.appendChild(S)}}():function L(){x=function(G){setTimeout(R,0,G)}}(),I.setImmediate=function Z(G){"function"!=typeof G&&(G=new Function(""+G));for(var B=new Array(arguments.length-1),S=0;S"u"?typeof global>"u"?this:global:self)},36917:(K,Y,d)=>{K.exports=A;var g=d(93105).EventEmitter;function A(){g.call(this)}d(59879)(A,g),A.Readable=d(88917),A.Writable=d(38908),A.Duplex=d(83500),A.Transform=d(83484),A.PassThrough=d(97567),A.finished=d(83770),A.pipeline=d(77882),A.Stream=A,A.prototype.pipe=function(x,Z){var l=this;function h(L){x.writable&&!1===x.write(L)&&l.pause&&l.pause()}function R(){l.readable&&l.resume&&l.resume()}l.on("data",h),x.on("drain",R),!x._isStdio&&(!Z||!1!==Z.end)&&(l.on("end",N),l.on("close",v));var y=!1;function N(){y||(y=!0,x.end())}function v(){y||(y=!0,"function"==typeof x.destroy&&x.destroy())}function k(L){if(P(),0===g.listenerCount(this,"error"))throw L}function P(){l.removeListener("data",h),x.removeListener("drain",R),l.removeListener("end",N),l.removeListener("close",v),l.removeListener("error",k),x.removeListener("error",k),l.removeListener("end",P),l.removeListener("close",P),x.removeListener("close",P)}return l.on("error",k),x.on("error",k),l.on("end",P),l.on("close",P),x.on("close",P),x.emit("pipe",l),x}},86985:K=>{"use strict";var d={};function g(l,h,R){R||(R=Error);var N=function(v){function k(P,L,I){return v.call(this,function y(v,k,P){return"string"==typeof h?h:h(v,k,P)}(P,L,I))||this}return function Y(l,h){l.prototype=Object.create(h.prototype),l.prototype.constructor=l,l.__proto__=h}(k,v),k}(R);N.prototype.name=R.name,N.prototype.code=l,d[l]=N}function r(l,h){if(Array.isArray(l)){var R=l.length;return l=l.map(function(y){return String(y)}),R>2?"one of ".concat(h," ").concat(l.slice(0,R-1).join(", "),", or ")+l[R-1]:2===R?"one of ".concat(h," ").concat(l[0]," or ").concat(l[1]):"of ".concat(h," ").concat(l[0])}return"of ".concat(h," ").concat(String(l))}g("ERR_INVALID_OPT_VALUE",function(l,h){return'The value "'+h+'" is invalid for option "'+l+'"'},TypeError),g("ERR_INVALID_ARG_TYPE",function(l,h,R){var y,N;if("string"==typeof h&&function A(l,h,R){return l.substr(!R||R<0?0:+R,h.length)===h}(h,"not ")?(y="must not be",h=h.replace(/^not /,"")):y="must be",function x(l,h,R){return(void 0===R||R>l.length)&&(R=l.length),l.substring(R-h.length,R)===h}(l," argument"))N="The ".concat(l," ").concat(y," ").concat(r(h,"type"));else{var v=function Z(l,h,R){return"number"!=typeof R&&(R=0),!(R+h.length>l.length)&&-1!==l.indexOf(h,R)}(l,".")?"property":"argument";N='The "'.concat(l,'" ').concat(v," ").concat(y," ").concat(r(h,"type"))}return N+". Received type ".concat(typeof R)},TypeError),g("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),g("ERR_METHOD_NOT_IMPLEMENTED",function(l){return"The "+l+" method is not implemented"}),g("ERR_STREAM_PREMATURE_CLOSE","Premature close"),g("ERR_STREAM_DESTROYED",function(l){return"Cannot call "+l+" after a stream was destroyed"}),g("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),g("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),g("ERR_STREAM_WRITE_AFTER_END","write after end"),g("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),g("ERR_UNKNOWN_ENCODING",function(l){return"Unknown encoding: "+l},TypeError),g("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),K.exports.q=d},83500:(K,Y,d)=>{"use strict";var g=Object.keys||function(N){var v=[];for(var k in N)v.push(k);return v};K.exports=h;var r=d(88917),A=d(38908);d(59879)(h,r);for(var x=g(A.prototype),Z=0;Z{"use strict";K.exports=r;var g=d(83484);function r(A){if(!(this instanceof r))return new r(A);g.call(this,A)}d(59879)(r,g),r.prototype._transform=function(A,x,Z){Z(null,A)}},88917:(K,Y,d)=>{"use strict";var g;K.exports=M,M.ReadableState=$,d(93105);var N,A=function(D,T){return D.listeners(T).length},x=d(27882),Z=d(3875).Buffer,l=(typeof global<"u"?global:typeof window<"u"?window:typeof self<"u"?self:{}).Uint8Array||function(){},y=d(40964);N=y&&y.debuglog?y.debuglog("stream"):function(){};var m,p,u,v=d(82319),k=d(87904),L=d(62632).getHighWaterMark,I=d(86985).q,G=I.ERR_INVALID_ARG_TYPE,B=I.ERR_STREAM_PUSH_AFTER_EOF,S=I.ERR_METHOD_NOT_IMPLEMENTED,U=I.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;d(59879)(M,x);var E=k.errorOrDestroy,e=["error","close","destroy","pause","resume"];function $(b,D,T){g=g||d(83500),"boolean"!=typeof T&&(T=D instanceof g),this.objectMode=!!(b=b||{}).objectMode,T&&(this.objectMode=this.objectMode||!!b.readableObjectMode),this.highWaterMark=L(this,b,"readableHighWaterMark",T),this.buffer=new v,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=!1!==b.emitClose,this.autoDestroy=!!b.autoDestroy,this.destroyed=!1,this.defaultEncoding=b.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,b.encoding&&(m||(m=d(32519).s),this.decoder=new m(b.encoding),this.encoding=b.encoding)}function M(b){if(g=g||d(83500),!(this instanceof M))return new M(b);this._readableState=new $(b,this,this instanceof g),this.readable=!0,b&&("function"==typeof b.read&&(this._read=b.read),"function"==typeof b.destroy&&(this._destroy=b.destroy)),x.call(this)}function q(b,D,T,_,s){N("readableAddChunk",D);var X,F=b._readableState;if(null===D)F.reading=!1,function pe(b,D){if(N("onEofChunk"),!D.ended){if(D.decoder){var T=D.decoder.end();T&&T.length&&(D.buffer.push(T),D.length+=D.objectMode?1:T.length)}D.ended=!0,D.sync?ue(b):(D.needReadable=!1,D.emittedReadable||(D.emittedReadable=!0,he(b)))}}(b,F);else if(s||(X=function V(b,D){var T;return!function R(b){return Z.isBuffer(b)||b instanceof l}(D)&&"string"!=typeof D&&void 0!==D&&!b.objectMode&&(T=new G("chunk",["string","Buffer","Uint8Array"],D)),T}(F,D)),X)E(b,X);else if(F.objectMode||D&&D.length>0)if("string"!=typeof D&&!F.objectMode&&Object.getPrototypeOf(D)!==Z.prototype&&(D=function h(b){return Z.from(b)}(D)),_)F.endEmitted?E(b,new U):z(b,F,D,!0);else if(F.ended)E(b,new B);else{if(F.destroyed)return!1;F.reading=!1,F.decoder&&!T?(D=F.decoder.write(D),F.objectMode||0!==D.length?z(b,F,D,!1):fe(b,F)):z(b,F,D,!1)}else _||(F.reading=!1,fe(b,F));return!F.ended&&(F.lengthD.highWaterMark&&(D.highWaterMark=function de(b){return b>=le?b=le:(b--,b|=b>>>1,b|=b>>>2,b|=b>>>4,b|=b>>>8,b|=b>>>16,b++),b}(b)),b<=D.length?b:D.ended?D.length:(D.needReadable=!0,0))}function ue(b){var D=b._readableState;N("emitReadable",D.needReadable,D.emittedReadable),D.needReadable=!1,D.emittedReadable||(N("emitReadable",D.flowing),D.emittedReadable=!0,process.nextTick(he,b))}function he(b){var D=b._readableState;N("emitReadable_",D.destroyed,D.length,D.ended),!D.destroyed&&(D.length||D.ended)&&(b.emit("readable"),D.emittedReadable=!1),D.needReadable=!D.flowing&&!D.ended&&D.length<=D.highWaterMark,a(b)}function fe(b,D){D.readingMore||(D.readingMore=!0,process.nextTick(Ie,b,D))}function Ie(b,D){for(;!D.reading&&!D.ended&&(D.length0,D.resumeScheduled&&!D.paused?D.flowing=!0:b.listenerCount("data")>0&&b.resume()}function Ae(b){N("readable nexttick read 0"),b.read(0)}function C(b,D){N("resume",D.reading),D.reading||b.read(0),D.resumeScheduled=!1,b.emit("resume"),a(b),D.flowing&&!D.reading&&b.read(0)}function a(b){var D=b._readableState;for(N("flow",D.flowing);D.flowing&&null!==b.read(););}function w(b,D){return 0===D.length?null:(D.objectMode?T=D.buffer.shift():!b||b>=D.length?(T=D.decoder?D.buffer.join(""):1===D.buffer.length?D.buffer.first():D.buffer.concat(D.length),D.buffer.clear()):T=D.buffer.consume(b,D.decoder),T);var T}function W(b){var D=b._readableState;N("endReadable",D.endEmitted),D.endEmitted||(D.ended=!0,process.nextTick(ie,D,b))}function ie(b,D){if(N("endReadableNT",b.endEmitted,b.length),!b.endEmitted&&0===b.length&&(b.endEmitted=!0,D.readable=!1,D.emit("end"),b.autoDestroy)){var T=D._writableState;(!T||T.autoDestroy&&T.finished)&&D.destroy()}}function ae(b,D){for(var T=0,_=b.length;T<_;T++)if(b[T]===D)return T;return-1}M.prototype.read=function(b){N("read",b),b=parseInt(b,10);var D=this._readableState,T=b;if(0!==b&&(D.emittedReadable=!1),0===b&&D.needReadable&&((0!==D.highWaterMark?D.length>=D.highWaterMark:D.length>0)||D.ended))return N("read: emitReadable",D.length,D.ended),0===D.length&&D.ended?W(this):ue(this),null;if(0===(b=ne(b,D))&&D.ended)return 0===D.length&&W(this),null;var s,_=D.needReadable;return N("need readable",_),(0===D.length||D.length-b0?w(b,D):null)?(D.needReadable=D.length<=D.highWaterMark,b=0):(D.length-=b,D.awaitDrain=0),0===D.length&&(D.ended||(D.needReadable=!0),T!==b&&D.ended&&W(this)),null!==s&&this.emit("data",s),s},M.prototype._read=function(b){E(this,new S("_read()"))},M.prototype.pipe=function(b,D){var T=this,_=this._readableState;switch(_.pipesCount){case 0:_.pipes=b;break;case 1:_.pipes=[_.pipes,b];break;default:_.pipes.push(b)}_.pipesCount+=1,N("pipe count=%d opts=%j",_.pipesCount,D);var F=D&&!1===D.end||b===process.stdout||b===process.stderr?qe:ee;function ee(){N("onend"),b.end()}_.endEmitted?process.nextTick(F):T.once("end",F),b.on("unpipe",function X(Be,Ke){N("onunpipe"),Be===T&&Ke&&!1===Ke.hasUnpiped&&(Ke.hasUnpiped=!0,function Ce(){N("cleanup"),b.removeListener("close",be),b.removeListener("finish",ze),b.removeListener("drain",te),b.removeListener("error",Ze),b.removeListener("unpipe",X),T.removeListener("end",ee),T.removeListener("end",qe),T.removeListener("data",Ne),ge=!0,_.awaitDrain&&(!b._writableState||b._writableState.needDrain)&&te()}())});var te=function we(b){return function(){var T=b._readableState;N("pipeOnDrain",T.awaitDrain),T.awaitDrain&&T.awaitDrain--,0===T.awaitDrain&&A(b,"data")&&(T.flowing=!0,a(b))}}(T);b.on("drain",te);var ge=!1;function Ne(Be){N("ondata");var Ke=b.write(Be);N("dest.write",Ke),!1===Ke&&((1===_.pipesCount&&_.pipes===b||_.pipesCount>1&&-1!==ae(_.pipes,b))&&!ge&&(N("false write response, pause",_.awaitDrain),_.awaitDrain++),T.pause())}function Ze(Be){N("onerror",Be),qe(),b.removeListener("error",Ze),0===A(b,"error")&&E(b,Be)}function be(){b.removeListener("finish",ze),qe()}function ze(){N("onfinish"),b.removeListener("close",be),qe()}function qe(){N("unpipe"),T.unpipe(b)}return T.on("data",Ne),function f(b,D,T){if("function"==typeof b.prependListener)return b.prependListener(D,T);b._events&&b._events[D]?Array.isArray(b._events[D])?b._events[D].unshift(T):b._events[D]=[T,b._events[D]]:b.on(D,T)}(b,"error",Ze),b.once("close",be),b.once("finish",ze),b.emit("pipe",T),_.flowing||(N("pipe resume"),T.resume()),b},M.prototype.unpipe=function(b){var D=this._readableState,T={hasUnpiped:!1};if(0===D.pipesCount)return this;if(1===D.pipesCount)return b&&b!==D.pipes||(b||(b=D.pipes),D.pipes=null,D.pipesCount=0,D.flowing=!1,b&&b.emit("unpipe",this,T)),this;if(!b){var _=D.pipes,s=D.pipesCount;D.pipes=null,D.pipesCount=0,D.flowing=!1;for(var F=0;F0,!1!==_.flowing&&this.resume()):"readable"===b&&!_.endEmitted&&!_.readableListening&&(_.readableListening=_.needReadable=!0,_.flowing=!1,_.emittedReadable=!1,N("on readable",_.length,_.reading),_.length?ue(this):_.reading||process.nextTick(Ae,this)),T},M.prototype.removeListener=function(b,D){var T=x.prototype.removeListener.call(this,b,D);return"readable"===b&&process.nextTick(Oe,this),T},M.prototype.removeAllListeners=function(b){var D=x.prototype.removeAllListeners.apply(this,arguments);return("readable"===b||void 0===b)&&process.nextTick(Oe,this),D},M.prototype.resume=function(){var b=this._readableState;return b.flowing||(N("resume"),b.flowing=!b.readableListening,function We(b,D){D.resumeScheduled||(D.resumeScheduled=!0,process.nextTick(C,b,D))}(this,b)),b.paused=!1,this},M.prototype.pause=function(){return N("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(N("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},M.prototype.wrap=function(b){var D=this,T=this._readableState,_=!1;for(var s in b.on("end",function(){if(N("wrapped end"),T.decoder&&!T.ended){var X=T.decoder.end();X&&X.length&&D.push(X)}D.push(null)}),b.on("data",function(X){N("wrapped data"),T.decoder&&(X=T.decoder.write(X)),T.objectMode&&null==X||!(T.objectMode||X&&X.length)||D.push(X)||(_=!0,b.pause())}),b)void 0===this[s]&&"function"==typeof b[s]&&(this[s]=function(ee){return function(){return b[ee].apply(b,arguments)}}(s));for(var F=0;F{"use strict";K.exports=R;var g=d(86985).q,r=g.ERR_METHOD_NOT_IMPLEMENTED,A=g.ERR_MULTIPLE_CALLBACK,x=g.ERR_TRANSFORM_ALREADY_TRANSFORMING,Z=g.ERR_TRANSFORM_WITH_LENGTH_0,l=d(83500);function h(v,k){var P=this._transformState;P.transforming=!1;var L=P.writecb;if(null===L)return this.emit("error",new A);P.writechunk=null,P.writecb=null,null!=k&&this.push(k),L(v);var I=this._readableState;I.reading=!1,(I.needReadable||I.length{"use strict";function r(a){var w=this;this.next=null,this.entry=null,this.finish=function(){!function C(a,w,W){var ie=a.entry;for(a.entry=null;ie;){var ae=ie.callback;w.pendingcb--,ae(W),ie=ie.next}w.corkedRequestsFree.next=a}(w,a)}}var A;K.exports=$,$.WritableState=e;var f,x={deprecate:d(15822)},Z=d(27882),l=d(3875).Buffer,h=(typeof global<"u"?global:typeof window<"u"?window:typeof self<"u"?self:{}).Uint8Array||function(){},N=d(87904),k=d(62632).getHighWaterMark,P=d(86985).q,L=P.ERR_INVALID_ARG_TYPE,I=P.ERR_METHOD_NOT_IMPLEMENTED,G=P.ERR_MULTIPLE_CALLBACK,B=P.ERR_STREAM_CANNOT_PIPE,S=P.ERR_STREAM_DESTROYED,U=P.ERR_STREAM_NULL_VALUES,m=P.ERR_STREAM_WRITE_AFTER_END,p=P.ERR_UNKNOWN_ENCODING,u=N.errorOrDestroy;function E(){}function e(a,w,W){A=A||d(83500),"boolean"!=typeof W&&(W=w instanceof A),this.objectMode=!!(a=a||{}).objectMode,W&&(this.objectMode=this.objectMode||!!a.writableObjectMode),this.highWaterMark=k(this,a,"writableHighWaterMark",W),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1,this.decodeStrings=!(!1===a.decodeStrings),this.defaultEncoding=a.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(ae){!function pe(a,w){var W=a._writableState,ie=W.sync,ae=W.writecb;if("function"!=typeof ae)throw new G;if(function ne(a){a.writing=!1,a.writecb=null,a.length-=a.writelen,a.writelen=0}(W),w)!function de(a,w,W,ie,ae){--w.pendingcb,W?(process.nextTick(ae,ie),process.nextTick(Ae,a,w),a._writableState.errorEmitted=!0,u(a,ie)):(ae(ie),a._writableState.errorEmitted=!0,u(a,ie),Ae(a,w))}(a,W,ie,w,ae);else{var b=Ie(W)||a.destroyed;!b&&!W.corked&&!W.bufferProcessing&&W.bufferedRequest&&fe(a,W),ie?process.nextTick(ue,a,W,b,ae):ue(a,W,b,ae)}}(w,ae)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!1!==a.emitClose,this.autoDestroy=!!a.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new r(this)}function $(a){var w=this instanceof(A=A||d(83500));if(!w&&!f.call($,this))return new $(a);this._writableState=new e(a,this,w),this.writable=!0,a&&("function"==typeof a.write&&(this._write=a.write),"function"==typeof a.writev&&(this._writev=a.writev),"function"==typeof a.destroy&&(this._destroy=a.destroy),"function"==typeof a.final&&(this._final=a.final)),Z.call(this)}function le(a,w,W,ie,ae,b,D){w.writelen=ie,w.writecb=D,w.writing=!0,w.sync=!0,w.destroyed?w.onwrite(new S("write")):W?a._writev(ae,w.onwrite):a._write(ae,b,w.onwrite),w.sync=!1}function ue(a,w,W,ie){W||function he(a,w){0===w.length&&w.needDrain&&(w.needDrain=!1,a.emit("drain"))}(a,w),w.pendingcb--,ie(),Ae(a,w)}function fe(a,w){w.bufferProcessing=!0;var W=w.bufferedRequest;if(a._writev&&W&&W.next){var ae=new Array(w.bufferedRequestCount),b=w.corkedRequestsFree;b.entry=W;for(var D=0,T=!0;W;)ae[D]=W,W.isBuf||(T=!1),W=W.next,D+=1;ae.allBuffers=T,le(a,w,!0,w.length,ae,"",b.finish),w.pendingcb++,w.lastBufferedRequest=null,b.next?(w.corkedRequestsFree=b.next,b.next=null):w.corkedRequestsFree=new r(w),w.bufferedRequestCount=0}else{for(;W;){var _=W.chunk;if(le(a,w,!1,w.objectMode?1:_.length,_,W.encoding,W.callback),W=W.next,w.bufferedRequestCount--,w.writing)break}null===W&&(w.lastBufferedRequest=null)}w.bufferedRequest=W,w.bufferProcessing=!1}function Ie(a){return a.ending&&0===a.length&&null===a.bufferedRequest&&!a.finished&&!a.writing}function we(a,w){a._final(function(W){w.pendingcb--,W&&u(a,W),w.prefinished=!0,a.emit("prefinish"),Ae(a,w)})}function Ae(a,w){var W=Ie(w);if(W&&(function Oe(a,w){!w.prefinished&&!w.finalCalled&&("function"!=typeof a._final||w.destroyed?(w.prefinished=!0,a.emit("prefinish")):(w.pendingcb++,w.finalCalled=!0,process.nextTick(we,a,w)))}(a,w),0===w.pendingcb&&(w.finished=!0,a.emit("finish"),w.autoDestroy))){var ie=a._readableState;(!ie||ie.autoDestroy&&ie.endEmitted)&&a.destroy()}return W}d(59879)($,Z),e.prototype.getBuffer=function(){for(var w=this.bufferedRequest,W=[];w;)W.push(w),w=w.next;return W},function(){try{Object.defineProperty(e.prototype,"buffer",{get:x.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch{}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(f=Function.prototype[Symbol.hasInstance],Object.defineProperty($,Symbol.hasInstance,{value:function(w){return!!f.call(this,w)||this===$&&w&&w._writableState instanceof e}})):f=function(w){return w instanceof this},$.prototype.pipe=function(){u(this,new B)},$.prototype.write=function(a,w,W){var ie=this._writableState,ae=!1,b=!ie.objectMode&&function y(a){return l.isBuffer(a)||a instanceof h}(a);return b&&!l.isBuffer(a)&&(a=function R(a){return l.from(a)}(a)),"function"==typeof w&&(W=w,w=null),b?w="buffer":w||(w=ie.defaultEncoding),"function"!=typeof W&&(W=E),ie.ending?function M(a,w){var W=new m;u(a,W),process.nextTick(w,W)}(this,W):(b||function q(a,w,W,ie){var ae;return null===W?ae=new U:"string"!=typeof W&&!w.objectMode&&(ae=new L("chunk",["string","Buffer"],W)),!ae||(u(a,ae),process.nextTick(ie,ae),!1)}(this,ie,a,W))&&(ie.pendingcb++,ae=function V(a,w,W,ie,ae,b){if(!W){var D=function z(a,w,W){return!a.objectMode&&!1!==a.decodeStrings&&"string"==typeof w&&(w=l.from(w,W)),w}(w,ie,ae);ie!==D&&(W=!0,ae="buffer",ie=D)}var T=w.objectMode?1:ie.length;w.length+=T;var _=w.length-1))throw new p(w);return this._writableState.defaultEncoding=w,this},Object.defineProperty($.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty($.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),$.prototype._write=function(a,w,W){W(new I("_write()"))},$.prototype._writev=null,$.prototype.end=function(a,w,W){var ie=this._writableState;return"function"==typeof a?(W=a,a=null,w=null):"function"==typeof w&&(W=w,w=null),null!=a&&this.write(a,w),ie.corked&&(ie.corked=1,this.uncork()),ie.ending||function We(a,w,W){w.ending=!0,Ae(a,w),W&&(w.finished?process.nextTick(W):a.once("finish",W)),w.ended=!0,a.writable=!1}(this,ie,W),this},Object.defineProperty($.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty($.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(w){this._writableState&&(this._writableState.destroyed=w)}}),$.prototype.destroy=N.destroy,$.prototype._undestroy=N.undestroy,$.prototype._destroy=function(a,w){w(a)}},94300:(K,Y,d)=>{"use strict";var g;function r(m,p,u){return p=function A(m){var p=function x(m,p){if("object"!=typeof m||null===m)return m;var u=m[Symbol.toPrimitive];if(void 0!==u){var E=u.call(m,p||"default");if("object"!=typeof E)return E;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===p?String:Number)(m)}(m,"string");return"symbol"==typeof p?p:String(p)}(p),p in m?Object.defineProperty(m,p,{value:u,enumerable:!0,configurable:!0,writable:!0}):m[p]=u,m}var Z=d(83770),l=Symbol("lastResolve"),h=Symbol("lastReject"),R=Symbol("error"),y=Symbol("ended"),N=Symbol("lastPromise"),v=Symbol("handlePromise"),k=Symbol("stream");function P(m,p){return{value:m,done:p}}function L(m){var p=m[l];if(null!==p){var u=m[k].read();null!==u&&(m[N]=null,m[l]=null,m[h]=null,p(P(u,!1)))}}function I(m){process.nextTick(L,m)}var B=Object.getPrototypeOf(function(){}),S=Object.setPrototypeOf((r(g={get stream(){return this[k]},next:function(){var p=this,u=this[R];if(null!==u)return Promise.reject(u);if(this[y])return Promise.resolve(P(void 0,!0));if(this[k].destroyed)return new Promise(function($,M){process.nextTick(function(){p[R]?M(p[R]):$(P(void 0,!0))})});var e,E=this[N];if(E)e=new Promise(function G(m,p){return function(u,E){m.then(function(){p[y]?u(P(void 0,!0)):p[v](u,E)},E)}}(E,this));else{var f=this[k].read();if(null!==f)return Promise.resolve(P(f,!1));e=new Promise(this[v])}return this[N]=e,e}},Symbol.asyncIterator,function(){return this}),r(g,"return",function(){var p=this;return new Promise(function(u,E){p[k].destroy(null,function(e){e?E(e):u(P(void 0,!0))})})}),g),B);K.exports=function(p){var u,E=Object.create(S,(r(u={},k,{value:p,writable:!0}),r(u,l,{value:null,writable:!0}),r(u,h,{value:null,writable:!0}),r(u,R,{value:null,writable:!0}),r(u,y,{value:p._readableState.endEmitted,writable:!0}),r(u,v,{value:function(f,$){var M=E[k].read();M?(E[N]=null,E[l]=null,E[h]=null,f(P(M,!1))):(E[l]=f,E[h]=$)},writable:!0}),u));return E[N]=null,Z(p,function(e){if(e&&"ERR_STREAM_PREMATURE_CLOSE"!==e.code){var f=E[h];return null!==f&&(E[N]=null,E[l]=null,E[h]=null,f(e)),void(E[R]=e)}var $=E[l];null!==$&&(E[N]=null,E[l]=null,E[h]=null,$(P(void 0,!0))),E[y]=!0}),p.on("readable",I.bind(null,E)),E}},82319:(K,Y,d)=>{"use strict";function g(I,G){var B=Object.keys(I);if(Object.getOwnPropertySymbols){var S=Object.getOwnPropertySymbols(I);G&&(S=S.filter(function(U){return Object.getOwnPropertyDescriptor(I,U).enumerable})),B.push.apply(B,S)}return B}function r(I){for(var G=1;G0?this.tail.next=S:this.head=S,this.tail=S,++this.length}},{key:"unshift",value:function(B){var S={data:B,next:this.head};0===this.length&&(this.tail=S),this.head=S,++this.length}},{key:"shift",value:function(){if(0!==this.length){var B=this.head.data;return this.head=1===this.length?this.tail=null:this.head.next,--this.length,B}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(B){if(0===this.length)return"";for(var S=this.head,U=""+S.data;S=S.next;)U+=B+S.data;return U}},{key:"concat",value:function(B){if(0===this.length)return N.alloc(0);for(var S=N.allocUnsafe(B>>>0),U=this.head,m=0;U;)L(U.data,S,m),m+=U.data.length,U=U.next;return S}},{key:"consume",value:function(B,S){var U;return Bp.length?p.length:B;if(m+=u===p.length?p:p.slice(0,B),0==(B-=u)){u===p.length?(++U,this.head=S.next?S.next:this.tail=null):(this.head=S,S.data=p.slice(u));break}++U}return this.length-=U,m}},{key:"_getBuffer",value:function(B){var S=N.allocUnsafe(B),U=this.head,m=1;for(U.data.copy(S),B-=U.data.length;U=U.next;){var p=U.data,u=B>p.length?p.length:B;if(p.copy(S,S.length-B,0,u),0==(B-=u)){u===p.length?(++m,this.head=U.next?U.next:this.tail=null):(this.head=U,U.data=p.slice(u));break}++m}return this.length-=m,S}},{key:P,value:function(B,S){return k(this,r(r({},S),{},{depth:0,customInspect:!1}))}}]),I}()},87904:K=>{"use strict";function d(Z,l){A(Z,l),g(Z)}function g(Z){Z._writableState&&!Z._writableState.emitClose||Z._readableState&&!Z._readableState.emitClose||Z.emit("close")}function A(Z,l){Z.emit("error",l)}K.exports={destroy:function Y(Z,l){var h=this;return this._readableState&&this._readableState.destroyed||this._writableState&&this._writableState.destroyed?(l?l(Z):Z&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,process.nextTick(A,this,Z)):process.nextTick(A,this,Z)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(Z||null,function(N){!l&&N?h._writableState?h._writableState.errorEmitted?process.nextTick(g,h):(h._writableState.errorEmitted=!0,process.nextTick(d,h,N)):process.nextTick(d,h,N):l?(process.nextTick(g,h),l(N)):process.nextTick(g,h)}),this)},undestroy:function r(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)},errorOrDestroy:function x(Z,l){var h=Z._readableState,R=Z._writableState;h&&h.autoDestroy||R&&R.autoDestroy?Z.destroy(l):Z.emit("error",l)}}},83770:(K,Y,d)=>{"use strict";var g=d(86985).q.ERR_STREAM_PREMATURE_CLOSE;function A(){}K.exports=function Z(l,h,R){if("function"==typeof h)return Z(l,null,h);h||(h={}),R=function r(l){var h=!1;return function(){if(!h){h=!0;for(var R=arguments.length,y=new Array(R),N=0;N{K.exports=function(){throw new Error("Readable.from is not available in the browser")}},77882:(K,Y,d)=>{"use strict";var g,A=d(86985).q,x=A.ERR_MISSING_ARGS,Z=A.ERR_STREAM_DESTROYED;function l(P){if(P)throw P}function y(P){P()}function N(P,L){return P.pipe(L)}K.exports=function k(){for(var P=arguments.length,L=new Array(P),I=0;I0,function(E){B||(B=E),E&&S.forEach(y),!p&&(S.forEach(y),G(B))})});return L.reduce(N)}},62632:(K,Y,d)=>{"use strict";var g=d(86985).q.ERR_INVALID_OPT_VALUE;K.exports={getHighWaterMark:function A(x,Z,l,h){var R=function r(x,Z,l){return null!=x.highWaterMark?x.highWaterMark:Z?x[l]:null}(Z,h,l);if(null!=R){if(!isFinite(R)||Math.floor(R)!==R||R<0)throw new g(h?l:"highWaterMark",R);return Math.floor(R)}return x.objectMode?16:16384}}},27882:(K,Y,d)=>{K.exports=d(93105).EventEmitter},32519:(K,Y,d)=>{"use strict";var g=d(55859).Buffer,r=g.isEncoding||function(S){switch((S=""+S)&&S.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function Z(S){var U;switch(this.encoding=function x(S){var U=function A(S){if(!S)return"utf8";for(var U;;)switch(S){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return S;default:if(U)return;S=(""+S).toLowerCase(),U=!0}}(S);if("string"!=typeof U&&(g.isEncoding===r||!r(S)))throw new Error("Unknown encoding: "+S);return U||S}(S),this.encoding){case"utf16le":this.text=k,this.end=P,U=4;break;case"utf8":this.fillLast=y,U=4;break;case"base64":this.text=L,this.end=I,U=3;break;default:return this.write=G,void(this.end=B)}this.lastNeed=0,this.lastTotal=0,this.lastChar=g.allocUnsafe(U)}function l(S){return S<=127?0:S>>5==6?2:S>>4==14?3:S>>3==30?4:S>>6==2?-1:-2}function y(S){var U=this.lastTotal-this.lastNeed,m=function R(S,U,m){if(128!=(192&U[0]))return S.lastNeed=0,"\ufffd";if(S.lastNeed>1&&U.length>1){if(128!=(192&U[1]))return S.lastNeed=1,"\ufffd";if(S.lastNeed>2&&U.length>2&&128!=(192&U[2]))return S.lastNeed=2,"\ufffd"}}(this,S);return void 0!==m?m:this.lastNeed<=S.length?(S.copy(this.lastChar,U,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(S.copy(this.lastChar,U,0,S.length),void(this.lastNeed-=S.length))}function k(S,U){if((S.length-U)%2==0){var m=S.toString("utf16le",U);if(m){var p=m.charCodeAt(m.length-1);if(p>=55296&&p<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=S[S.length-2],this.lastChar[1]=S[S.length-1],m.slice(0,-1)}return m}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=S[S.length-1],S.toString("utf16le",U,S.length-1)}function P(S){var U=S&&S.length?this.write(S):"";return this.lastNeed?U+this.lastChar.toString("utf16le",0,this.lastTotal-this.lastNeed):U}function L(S,U){var m=(S.length-U)%3;return 0===m?S.toString("base64",U):(this.lastNeed=3-m,this.lastTotal=3,1===m?this.lastChar[0]=S[S.length-1]:(this.lastChar[0]=S[S.length-2],this.lastChar[1]=S[S.length-1]),S.toString("base64",U,S.length-m))}function I(S){var U=S&&S.length?this.write(S):"";return this.lastNeed?U+this.lastChar.toString("base64",0,3-this.lastNeed):U}function G(S){return S.toString(this.encoding)}function B(S){return S&&S.length?this.write(S):""}Y.s=Z,Z.prototype.write=function(S){if(0===S.length)return"";var U,m;if(this.lastNeed){if(void 0===(U=this.fillLast(S)))return"";m=this.lastNeed,this.lastNeed=0}else m=0;return m=0?(u>0&&(S.lastNeed=u-1),u):--p=0?(u>0&&(S.lastNeed=u-2),u):--p=0?(u>0&&(2===u?u=0:S.lastNeed=u-3),u):0}(this,S,U);if(!this.lastNeed)return S.toString("utf8",U);this.lastTotal=m;var p=S.length-(m-this.lastNeed);return S.copy(this.lastChar,0,p),S.toString("utf8",U,p)},Z.prototype.fillLast=function(S){if(this.lastNeed<=S.length)return S.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);S.copy(this.lastChar,this.lastTotal-this.lastNeed,0,S.length),this.lastNeed-=S.length}},82584:function(K,Y,d){var g=typeof global<"u"&&global||typeof self<"u"&&self||window,r=Function.prototype.apply;function A(x,Z){this._id=x,this._clearFn=Z}Y.setTimeout=function(){return new A(r.call(setTimeout,g,arguments),clearTimeout)},Y.setInterval=function(){return new A(r.call(setInterval,g,arguments),clearInterval)},Y.clearTimeout=Y.clearInterval=function(x){x&&x.close()},A.prototype.unref=A.prototype.ref=function(){},A.prototype.close=function(){this._clearFn.call(g,this._id)},Y.enroll=function(x,Z){clearTimeout(x._idleTimeoutId),x._idleTimeout=Z},Y.unenroll=function(x){clearTimeout(x._idleTimeoutId),x._idleTimeout=-1},Y._unrefActive=Y.active=function(x){clearTimeout(x._idleTimeoutId);var Z=x._idleTimeout;Z>=0&&(x._idleTimeoutId=setTimeout(function(){x._onTimeout&&x._onTimeout()},Z))},d(45470),Y.setImmediate=typeof self<"u"&&self.setImmediate||typeof global<"u"&&global.setImmediate||this&&this.setImmediate,Y.clearImmediate=typeof self<"u"&&self.clearImmediate||typeof global<"u"&&global.clearImmediate||this&&this.clearImmediate},15822:K=>{function d(g){try{if(!global.localStorage)return!1}catch{return!1}var r=global.localStorage[g];return null!=r&&"true"===String(r).toLowerCase()}K.exports=function Y(g,r){if(d("noDeprecation"))return g;var A=!1;return function x(){if(!A){if(d("throwDeprecation"))throw new Error(r);d("traceDeprecation")?console.trace(r):console.warn(r),A=!0}return g.apply(this,arguments)}}},62655:function(K,Y){(function(){"use strict";Y.stripBOM=function(d){return"\ufeff"===d[0]?d.substring(1):d}}).call(this)},54408:function(K,Y,d){(function(){"use strict";var g,r,A,x,Z,l={}.hasOwnProperty;g=d(71741),r=d(81031).defaults,x=function(h){return"string"==typeof h&&(h.indexOf("&")>=0||h.indexOf(">")>=0||h.indexOf("<")>=0)},Z=function(h){return""},A=function(h){return h.replace("]]>","]]]]>")},Y.Builder=function(){function h(R){var y,N;for(y in this.options={},N=r[.2])l.call(N,y)&&(this.options[y]=N[y]);for(y in R)l.call(R,y)&&(this.options[y]=R[y])}return h.prototype.buildObject=function(R){var y,N,v,k,P,L;return y=this.options.attrkey,N=this.options.charkey,1===Object.keys(R).length&&this.options.rootName===r[.2].rootName?R=R[P=Object.keys(R)[0]]:P=this.options.rootName,L=this,v=function(I,G){var B,S,U,m,p;if("object"!=typeof G)L.options.cdata&&x(G)?I.raw(Z(G)):I.txt(G);else if(Array.isArray(G)){for(m in G)if(l.call(G,m))for(p in S=G[m])U=S[p],I=v(I.ele(p),U).up()}else for(p in G)if(l.call(G,p))if(S=G[p],p===y){if("object"==typeof S)for(B in S)I=I.att(B,S[B])}else if(p===N)I=L.options.cdata&&x(S)?I.raw(Z(S)):I.txt(S);else if(Array.isArray(S))for(m in S)l.call(S,m)&&(I="string"==typeof(U=S[m])?L.options.cdata&&x(U)?I.ele(p).raw(Z(U)).up():I.ele(p,U).up():v(I.ele(p),U).up());else"object"==typeof S?I=v(I.ele(p),S).up():"string"==typeof S&&L.options.cdata&&x(S)?I=I.ele(p).raw(Z(S)).up():(null==S&&(S=""),I=I.ele(p,S.toString()).up());return I},k=g.create(P,this.options.xmldec,this.options.doctype,{headless:this.options.headless,allowSurrogateChars:this.options.allowSurrogateChars}),v(k,R).end(this.options.renderOpts)},h}()}).call(this)},81031:function(K,Y){(function(){Y.defaults={.1:{explicitCharkey:!1,trim:!0,normalize:!0,normalizeTags:!1,attrkey:"@",charkey:"#",explicitArray:!1,ignoreAttrs:!1,mergeAttrs:!1,explicitRoot:!1,validator:null,xmlns:!1,explicitChildren:!1,childkey:"@@",charsAsChildren:!1,includeWhiteChars:!1,async:!1,strict:!0,attrNameProcessors:null,attrValueProcessors:null,tagNameProcessors:null,valueProcessors:null,emptyTag:""},.2:{explicitCharkey:!1,trim:!1,normalize:!1,normalizeTags:!1,attrkey:"$",charkey:"_",explicitArray:!0,ignoreAttrs:!1,mergeAttrs:!1,explicitRoot:!0,validator:null,xmlns:!1,explicitChildren:!1,preserveChildrenOrder:!1,childkey:"$$",charsAsChildren:!1,includeWhiteChars:!1,async:!1,strict:!0,attrNameProcessors:null,attrValueProcessors:null,tagNameProcessors:null,valueProcessors:null,rootName:"root",xmldec:{version:"1.0",encoding:"UTF-8",standalone:!0},doctype:null,renderOpts:{pretty:!0,indent:" ",newline:"\n"},headless:!1,chunkSize:1e4,emptyTag:"",cdata:!1}}}).call(this)},52972:function(K,Y,d){(function(){"use strict";var g,r,A,x,Z,l,h,R,y,N=function(P,L){return function(){return P.apply(L,arguments)}},k={}.hasOwnProperty;R=d(5473),x=d(93105),g=d(62655),h=d(65489),y=d(82584).setImmediate,r=d(81031).defaults,Z=function(P){return"object"==typeof P&&null!=P&&0===Object.keys(P).length},l=function(P,L,I){var G,B;for(G=0,B=P.length;G0&&(E[U.options.childkey]=f),f=E;return S.length>0?U.assignOrPush(q,e,f):(U.options.explicitRoot&&(M=f,A(f={},e,M)),U.resultObject=f,U.saxParser.ended=!0,U.emit("end",U.resultObject))}}(this),B=function(U){return function(m){var p,u;if(u=S[S.length-1])return u[G]+=m,U.options.explicitChildren&&U.options.preserveChildrenOrder&&U.options.charsAsChildren&&(U.options.includeWhiteChars||""!==m.replace(/\\n/g,"").trim())&&(u[U.options.childkey]=u[U.options.childkey]||[],(p={"#name":"__text__"})[G]=m,U.options.normalize&&(p[G]=p[G].replace(/\s{2,}/g," ").trim()),u[U.options.childkey].push(p)),u}}(this),this.saxParser.ontext=B,this.saxParser.oncdata=function(m){var p;if(p=B(m))return p.cdata=!0}},L.prototype.parseString=function(I,G){var B;null!=G&&"function"==typeof G&&(this.on("end",function(S){return this.reset(),G(null,S)}),this.on("error",function(S){return this.reset(),G(S)}));try{return""===(I=I.toString()).trim()?(this.emit("end",null),!0):(I=g.stripBOM(I),this.options.async?(this.remaining=I,y(this.processAsync),this.saxParser):this.saxParser.write(I).close())}catch(S){if(B=S,!this.saxParser.errThrown&&!this.saxParser.ended)return this.emit("error",B),this.saxParser.errThrown=!0;if(this.saxParser.ended)throw B}},L.prototype.parseStringPromise=function(I){return new Promise((G=this,function(B,S){return G.parseString(I,function(U,m){return U?S(U):B(m)})}));var G},L}(x),Y.parseString=function(P,L,I){var G,B;return null!=I?("function"==typeof I&&(G=I),"object"==typeof L&&(B=L)):("function"==typeof L&&(G=L),B={}),new Y.Parser(B).parseString(P,G)},Y.parseStringPromise=function(P,L){var I;return"object"==typeof L&&(I=L),new Y.Parser(I).parseStringPromise(P)}}).call(this)},65489:function(K,Y){(function(){"use strict";var d;d=new RegExp(/(?!xmlns)^.*:/),Y.normalize=function(g){return g.toLowerCase()},Y.firstCharLowerCase=function(g){return g.charAt(0).toLowerCase()+g.slice(1)},Y.stripPrefix=function(g){return g.replace(d,"")},Y.parseNumbers=function(g){return isNaN(g)||(g=g%1==0?parseInt(g,10):parseFloat(g)),g},Y.parseBooleans=function(g){return/^(?:true|false)$/i.test(g)&&(g="true"===g.toLowerCase()),g}}).call(this)},49277:function(K,Y,d){(function(){"use strict";var g,r,A,x,l={}.hasOwnProperty;r=d(81031),g=d(54408),A=d(52972),x=d(65489),Y.defaults=r.defaults,Y.processors=x,Y.ValidationError=function(h){function R(y){this.message=y}return function(h,R){for(var y in R)l.call(R,y)&&(h[y]=R[y]);function N(){this.constructor=h}N.prototype=R.prototype,h.prototype=new N,h.__super__=R.prototype}(R,Error),R}(),Y.Builder=g.Builder,Y.Parser=A.Parser,Y.parseString=A.parseString,Y.parseStringPromise=A.parseStringPromise}).call(this)},69053:function(K){(function(){K.exports={Disconnected:1,Preceding:2,Following:4,Contains:8,ContainedBy:16,ImplementationSpecific:32}}).call(this)},42870:function(K){(function(){K.exports={Element:1,Attribute:2,Text:3,CData:4,EntityReference:5,EntityDeclaration:6,ProcessingInstruction:7,Comment:8,Document:9,DocType:10,DocumentFragment:11,NotationDeclaration:12,Declaration:201,Raw:202,AttributeDeclaration:203,ElementDeclaration:204,Dummy:205}}).call(this)},63146:function(K){(function(){var Y,d,g,r,A,x,Z,l=[].slice,h={}.hasOwnProperty;Y=function(){var R,y,N,v,k,P;if(P=arguments[0],k=2<=arguments.length?l.call(arguments,1):[],A(Object.assign))Object.assign.apply(null,arguments);else for(R=0,N=k.length;R":"attribute: {"+Z+"}, parent: <"+this.parent.name+">"},x.prototype.isEqualNode=function(Z){return!(Z.namespaceURI!==this.namespaceURI||Z.prefix!==this.prefix||Z.localName!==this.localName||Z.value!==this.value)},x}()}).call(this)},19832:function(K,Y,d){(function(){var g,A,Z={}.hasOwnProperty;g=d(42870),A=d(26068),K.exports=function(l){function h(R,y){if(h.__super__.constructor.call(this,R),null==y)throw new Error("Missing CDATA text. "+this.debugInfo());this.name="#cdata-section",this.type=g.CData,this.value=this.stringify.cdata(y)}return function(l,h){for(var R in h)Z.call(h,R)&&(l[R]=h[R]);function y(){this.constructor=l}y.prototype=h.prototype,l.prototype=new y,l.__super__=h.prototype}(h,l),h.prototype.clone=function(){return Object.create(this)},h.prototype.toString=function(R){return this.options.writer.cdata(this,this.options.writer.filterOptions(R))},h}(A)}).call(this)},26068:function(K,Y,d){(function(){var r,x={}.hasOwnProperty;r=d(26627),K.exports=function(Z){function l(h){l.__super__.constructor.call(this,h),this.value=""}return function(Z,l){for(var h in l)x.call(l,h)&&(Z[h]=l[h]);function R(){this.constructor=Z}R.prototype=l.prototype,Z.prototype=new R,Z.__super__=l.prototype}(l,Z),Object.defineProperty(l.prototype,"data",{get:function(){return this.value},set:function(h){return this.value=h||""}}),Object.defineProperty(l.prototype,"length",{get:function(){return this.value.length}}),Object.defineProperty(l.prototype,"textContent",{get:function(){return this.value},set:function(h){return this.value=h||""}}),l.prototype.clone=function(){return Object.create(this)},l.prototype.substringData=function(h,R){throw new Error("This DOM method is not implemented."+this.debugInfo())},l.prototype.appendData=function(h){throw new Error("This DOM method is not implemented."+this.debugInfo())},l.prototype.insertData=function(h,R){throw new Error("This DOM method is not implemented."+this.debugInfo())},l.prototype.deleteData=function(h,R){throw new Error("This DOM method is not implemented."+this.debugInfo())},l.prototype.replaceData=function(h,R,y){throw new Error("This DOM method is not implemented."+this.debugInfo())},l.prototype.isEqualNode=function(h){return!(!l.__super__.isEqualNode.apply(this,arguments).isEqualNode(h)||h.data!==this.data)},l}(r)}).call(this)},73940:function(K,Y,d){(function(){var g,r,Z={}.hasOwnProperty;g=d(42870),r=d(26068),K.exports=function(l){function h(R,y){if(h.__super__.constructor.call(this,R),null==y)throw new Error("Missing comment text. "+this.debugInfo());this.name="#comment",this.type=g.Comment,this.value=this.stringify.comment(y)}return function(l,h){for(var R in h)Z.call(h,R)&&(l[R]=h[R]);function y(){this.constructor=l}y.prototype=h.prototype,l.prototype=new y,l.__super__=h.prototype}(h,l),h.prototype.clone=function(){return Object.create(this)},h.prototype.toString=function(R){return this.options.writer.comment(this,this.options.writer.filterOptions(R))},h}(r)}).call(this)},34817:function(K,Y,d){(function(){var r,A;r=d(34551),A=d(53569),K.exports=function(){function x(){this.defaultParams={"canonical-form":!1,"cdata-sections":!1,comments:!1,"datatype-normalization":!1,"element-content-whitespace":!0,entities:!0,"error-handler":new r,infoset:!0,"validate-if-schema":!1,namespaces:!0,"namespace-declarations":!0,"normalize-characters":!1,"schema-location":"","schema-type":"","split-cdata-sections":!0,validate:!1,"well-formed":!0},this.params=Object.create(this.defaultParams)}return Object.defineProperty(x.prototype,"parameterNames",{get:function(){return new A(Object.keys(this.defaultParams))}}),x.prototype.getParameter=function(Z){return this.params.hasOwnProperty(Z)?this.params[Z]:null},x.prototype.canSetParameter=function(Z,l){return!0},x.prototype.setParameter=function(Z,l){return null!=l?this.params[Z]=l:delete this.params[Z]},x}()}).call(this)},34551:function(K){(function(){K.exports=function(){function d(){}return d.prototype.handleError=function(g){throw new Error(g)},d}()}).call(this)},57951:function(K){(function(){K.exports=function(){function d(){}return d.prototype.hasFeature=function(g,r){return!0},d.prototype.createDocumentType=function(g,r,A){throw new Error("This DOM method is not implemented.")},d.prototype.createDocument=function(g,r,A){throw new Error("This DOM method is not implemented.")},d.prototype.createHTMLDocument=function(g){throw new Error("This DOM method is not implemented.")},d.prototype.getFeature=function(g,r){throw new Error("This DOM method is not implemented.")},d}()}).call(this)},53569:function(K){(function(){K.exports=function(){function d(g){this.arr=g||[]}return Object.defineProperty(d.prototype,"length",{get:function(){return this.arr.length}}),d.prototype.item=function(g){return this.arr[g]||null},d.prototype.contains=function(g){return-1!==this.arr.indexOf(g)},d}()}).call(this)},70438:function(K,Y,d){(function(){var g,A,Z={}.hasOwnProperty;A=d(26627),g=d(42870),K.exports=function(l){function h(R,y,N,v,k,P){if(h.__super__.constructor.call(this,R),null==y)throw new Error("Missing DTD element name. "+this.debugInfo());if(null==N)throw new Error("Missing DTD attribute name. "+this.debugInfo(y));if(!v)throw new Error("Missing DTD attribute type. "+this.debugInfo(y));if(!k)throw new Error("Missing DTD attribute default. "+this.debugInfo(y));if(0!==k.indexOf("#")&&(k="#"+k),!k.match(/^(#REQUIRED|#IMPLIED|#FIXED|#DEFAULT)$/))throw new Error("Invalid default value type; expected: #REQUIRED, #IMPLIED, #FIXED or #DEFAULT. "+this.debugInfo(y));if(P&&!k.match(/^(#FIXED|#DEFAULT)$/))throw new Error("Default value only applies to #FIXED or #DEFAULT. "+this.debugInfo(y));this.elementName=this.stringify.name(y),this.type=g.AttributeDeclaration,this.attributeName=this.stringify.name(N),this.attributeType=this.stringify.dtdAttType(v),P&&(this.defaultValue=this.stringify.dtdAttDefault(P)),this.defaultValueType=k}return function(l,h){for(var R in h)Z.call(h,R)&&(l[R]=h[R]);function y(){this.constructor=l}y.prototype=h.prototype,l.prototype=new y,l.__super__=h.prototype}(h,l),h.prototype.toString=function(R){return this.options.writer.dtdAttList(this,this.options.writer.filterOptions(R))},h}(A)}).call(this)},33020:function(K,Y,d){(function(){var g,A,Z={}.hasOwnProperty;A=d(26627),g=d(42870),K.exports=function(l){function h(R,y,N){if(h.__super__.constructor.call(this,R),null==y)throw new Error("Missing DTD element name. "+this.debugInfo());N||(N="(#PCDATA)"),Array.isArray(N)&&(N="("+N.join(",")+")"),this.name=this.stringify.name(y),this.type=g.ElementDeclaration,this.value=this.stringify.dtdElementValue(N)}return function(l,h){for(var R in h)Z.call(h,R)&&(l[R]=h[R]);function y(){this.constructor=l}y.prototype=h.prototype,l.prototype=new y,l.__super__=h.prototype}(h,l),h.prototype.toString=function(R){return this.options.writer.dtdElement(this,this.options.writer.filterOptions(R))},h}(A)}).call(this)},80015:function(K,Y,d){(function(){var g,A,x,l={}.hasOwnProperty;x=d(63146).isObject,A=d(26627),g=d(42870),K.exports=function(h){function R(y,N,v,k){if(R.__super__.constructor.call(this,y),null==v)throw new Error("Missing DTD entity name. "+this.debugInfo(v));if(null==k)throw new Error("Missing DTD entity value. "+this.debugInfo(v));if(this.pe=!!N,this.name=this.stringify.name(v),this.type=g.EntityDeclaration,x(k)){if(!k.pubID&&!k.sysID)throw new Error("Public and/or system identifiers are required for an external entity. "+this.debugInfo(v));if(k.pubID&&!k.sysID)throw new Error("System identifier is required for a public external entity. "+this.debugInfo(v));if(this.internal=!1,null!=k.pubID&&(this.pubID=this.stringify.dtdPubID(k.pubID)),null!=k.sysID&&(this.sysID=this.stringify.dtdSysID(k.sysID)),null!=k.nData&&(this.nData=this.stringify.dtdNData(k.nData)),this.pe&&this.nData)throw new Error("Notation declaration is not allowed in a parameter entity. "+this.debugInfo(v))}else this.value=this.stringify.dtdEntityValue(k),this.internal=!0}return function(h,R){for(var y in R)l.call(R,y)&&(h[y]=R[y]);function N(){this.constructor=h}N.prototype=R.prototype,h.prototype=new N,h.__super__=R.prototype}(R,h),Object.defineProperty(R.prototype,"publicId",{get:function(){return this.pubID}}),Object.defineProperty(R.prototype,"systemId",{get:function(){return this.sysID}}),Object.defineProperty(R.prototype,"notationName",{get:function(){return this.nData||null}}),Object.defineProperty(R.prototype,"inputEncoding",{get:function(){return null}}),Object.defineProperty(R.prototype,"xmlEncoding",{get:function(){return null}}),Object.defineProperty(R.prototype,"xmlVersion",{get:function(){return null}}),R.prototype.toString=function(y){return this.options.writer.dtdEntity(this,this.options.writer.filterOptions(y))},R}(A)}).call(this)},46600:function(K,Y,d){(function(){var g,A,Z={}.hasOwnProperty;A=d(26627),g=d(42870),K.exports=function(l){function h(R,y,N){if(h.__super__.constructor.call(this,R),null==y)throw new Error("Missing DTD notation name. "+this.debugInfo(y));if(!N.pubID&&!N.sysID)throw new Error("Public or system identifiers are required for an external entity. "+this.debugInfo(y));this.name=this.stringify.name(y),this.type=g.NotationDeclaration,null!=N.pubID&&(this.pubID=this.stringify.dtdPubID(N.pubID)),null!=N.sysID&&(this.sysID=this.stringify.dtdSysID(N.sysID))}return function(l,h){for(var R in h)Z.call(h,R)&&(l[R]=h[R]);function y(){this.constructor=l}y.prototype=h.prototype,l.prototype=new y,l.__super__=h.prototype}(h,l),Object.defineProperty(h.prototype,"publicId",{get:function(){return this.pubID}}),Object.defineProperty(h.prototype,"systemId",{get:function(){return this.sysID}}),h.prototype.toString=function(R){return this.options.writer.dtdNotation(this,this.options.writer.filterOptions(R))},h}(A)}).call(this)},29413:function(K,Y,d){(function(){var g,A,x,l={}.hasOwnProperty;x=d(63146).isObject,A=d(26627),g=d(42870),K.exports=function(h){function R(y,N,v,k){var P;R.__super__.constructor.call(this,y),x(N)&&(N=(P=N).version,v=P.encoding,k=P.standalone),N||(N="1.0"),this.type=g.Declaration,this.version=this.stringify.xmlVersion(N),null!=v&&(this.encoding=this.stringify.xmlEncoding(v)),null!=k&&(this.standalone=this.stringify.xmlStandalone(k))}return function(h,R){for(var y in R)l.call(R,y)&&(h[y]=R[y]);function N(){this.constructor=h}N.prototype=R.prototype,h.prototype=new N,h.__super__=R.prototype}(R,h),R.prototype.toString=function(y){return this.options.writer.declaration(this,this.options.writer.filterOptions(y))},R}(A)}).call(this)},67905:function(K,Y,d){(function(){var g,r,A,x,Z,h,R,y,v={}.hasOwnProperty;y=d(63146).isObject,R=d(26627),g=d(42870),r=d(70438),x=d(80015),A=d(33020),Z=d(46600),h=d(25631),K.exports=function(k){function P(L,I,G){var B,S,U,m,p,u;if(P.__super__.constructor.call(this,L),this.type=g.DocType,L.children)for(S=0,U=(m=L.children).length;S=0;)this.up();return this.onEnd()},$.prototype.openCurrent=function(){if(this.currentNode)return this.currentNode.children=!0,this.openNode(this.currentNode)},$.prototype.openNode=function(M){var z,V,le;if(!M.isOpen){if(!this.root&&0===this.currentLevel&&M.type===g.Element&&(this.root=M),z="",M.type===g.Element){for(V in this.writerOptions.state=r.OpenTag,z=this.writer.indent(M,this.writerOptions,this.currentLevel)+"<"+M.name,le=M.attribs)f.call(le,V)&&(z+=this.writer.attribute(le[V],this.writerOptions,this.currentLevel));z+=(M.children?">":"/>")+this.writer.endline(M,this.writerOptions,this.currentLevel),this.writerOptions.state=r.InsideTag}else this.writerOptions.state=r.OpenTag,z=this.writer.indent(M,this.writerOptions,this.currentLevel)+""),z+=this.writer.endline(M,this.writerOptions,this.currentLevel);return this.onData(z,this.currentLevel),M.isOpen=!0}},$.prototype.closeNode=function(M){var q;if(!M.isClosed)return"",this.writerOptions.state=r.CloseTag,q=M.type===g.Element?this.writer.indent(M,this.writerOptions,this.currentLevel)+""+this.writer.endline(M,this.writerOptions,this.currentLevel):this.writer.indent(M,this.writerOptions,this.currentLevel)+"]>"+this.writer.endline(M,this.writerOptions,this.currentLevel),this.writerOptions.state=r.None,this.onData(q,this.currentLevel),M.isClosed=!0},$.prototype.onData=function(M,q){return this.documentStarted=!0,this.onDataCallback(M,q+1)},$.prototype.onEnd=function(){return this.documentCompleted=!0,this.onEndCallback()},$.prototype.debugInfo=function(M){return null==M?"":"node: <"+M+">"},$.prototype.ele=function(){return this.element.apply(this,arguments)},$.prototype.nod=function(M,q,z){return this.node(M,q,z)},$.prototype.txt=function(M){return this.text(M)},$.prototype.dat=function(M){return this.cdata(M)},$.prototype.com=function(M){return this.comment(M)},$.prototype.ins=function(M,q){return this.instruction(M,q)},$.prototype.dec=function(M,q,z){return this.declaration(M,q,z)},$.prototype.dtd=function(M,q,z){return this.doctype(M,q,z)},$.prototype.e=function(M,q,z){return this.element(M,q,z)},$.prototype.n=function(M,q,z){return this.node(M,q,z)},$.prototype.t=function(M){return this.text(M)},$.prototype.d=function(M){return this.cdata(M)},$.prototype.c=function(M){return this.comment(M)},$.prototype.r=function(M){return this.raw(M)},$.prototype.i=function(M,q){return this.instruction(M,q)},$.prototype.att=function(){return this.currentNode&&this.currentNode.type===g.DocType?this.attList.apply(this,arguments):this.attribute.apply(this,arguments)},$.prototype.a=function(){return this.currentNode&&this.currentNode.type===g.DocType?this.attList.apply(this,arguments):this.attribute.apply(this,arguments)},$.prototype.ent=function(M,q){return this.entity(M,q)},$.prototype.pent=function(M,q){return this.pEntity(M,q)},$.prototype.not=function(M,q){return this.notation(M,q)},$}()}).call(this)},71616:function(K,Y,d){(function(){var g,A,Z={}.hasOwnProperty;A=d(26627),g=d(42870),K.exports=function(l){function h(R){h.__super__.constructor.call(this,R),this.type=g.Dummy}return function(l,h){for(var R in h)Z.call(h,R)&&(l[R]=h[R]);function y(){this.constructor=l}y.prototype=h.prototype,l.prototype=new y,l.__super__=h.prototype}(h,l),h.prototype.clone=function(){return Object.create(this)},h.prototype.toString=function(R){return""},h}(A)}).call(this)},17770:function(K,Y,d){(function(){var g,r,x,Z,l,h,R,y,v={}.hasOwnProperty;y=d(63146),R=y.isObject,h=y.isFunction,l=y.getValue,Z=d(26627),g=d(42870),r=d(88828),x=d(25631),K.exports=function(k){function P(L,I,G){var B,S,U,m;if(P.__super__.constructor.call(this,L),null==I)throw new Error("Missing element name. "+this.debugInfo());if(this.name=this.stringify.name(I),this.type=g.Element,this.attribs={},this.schemaTypeInfo=null,null!=G&&this.attribute(G),L.type===g.Document&&(this.isRoot=!0,this.documentObject=L,L.rootObject=this,L.children))for(S=0,U=(m=L.children).length;S=B;I=0<=B?++G:--G)if(!this.attribs[I].isEqualNode(L.attribs[I]))return!1;return!0},P}(Z)}).call(this)},25631:function(K){(function(){K.exports=function(){function d(g){this.nodes=g}return Object.defineProperty(d.prototype,"length",{get:function(){return Object.keys(this.nodes).length||0}}),d.prototype.clone=function(){return this.nodes=null},d.prototype.getNamedItem=function(g){return this.nodes[g]},d.prototype.setNamedItem=function(g){var r;return r=this.nodes[g.nodeName],this.nodes[g.nodeName]=g,r||null},d.prototype.removeNamedItem=function(g){var r;return r=this.nodes[g],delete this.nodes[g],r||null},d.prototype.item=function(g){return this.nodes[Object.keys(this.nodes)[g]]||null},d.prototype.getNamedItemNS=function(g,r){throw new Error("This DOM method is not implemented.")},d.prototype.setNamedItemNS=function(g){throw new Error("This DOM method is not implemented.")},d.prototype.removeNamedItemNS=function(g,r){throw new Error("This DOM method is not implemented.")},d}()}).call(this)},26627:function(K,Y,d){(function(){var g,r,A,x,Z,l,h,R,v,k,P,L,I,G,B,S,U,m={}.hasOwnProperty;U=d(63146),S=U.isObject,B=U.isFunction,G=U.isEmpty,I=U.getValue,R=null,A=null,x=null,Z=null,l=null,P=null,L=null,k=null,h=null,r=null,v=null,g=null,K.exports=function(){function p(u){this.parent=u,this.parent&&(this.options=this.parent.options,this.stringify=this.parent.stringify),this.value=null,this.children=[],this.baseURI=null,R||(R=d(17770),A=d(19832),x=d(73940),Z=d(29413),l=d(67905),P=d(99166),L=d(80504),k=d(12726),h=d(71616),r=d(42870),v=d(87137),d(25631),g=d(69053))}return Object.defineProperty(p.prototype,"nodeName",{get:function(){return this.name}}),Object.defineProperty(p.prototype,"nodeType",{get:function(){return this.type}}),Object.defineProperty(p.prototype,"nodeValue",{get:function(){return this.value}}),Object.defineProperty(p.prototype,"parentNode",{get:function(){return this.parent}}),Object.defineProperty(p.prototype,"childNodes",{get:function(){return(!this.childNodeList||!this.childNodeList.nodes)&&(this.childNodeList=new v(this.children)),this.childNodeList}}),Object.defineProperty(p.prototype,"firstChild",{get:function(){return this.children[0]||null}}),Object.defineProperty(p.prototype,"lastChild",{get:function(){return this.children[this.children.length-1]||null}}),Object.defineProperty(p.prototype,"previousSibling",{get:function(){var u;return u=this.parent.children.indexOf(this),this.parent.children[u-1]||null}}),Object.defineProperty(p.prototype,"nextSibling",{get:function(){var u;return u=this.parent.children.indexOf(this),this.parent.children[u+1]||null}}),Object.defineProperty(p.prototype,"ownerDocument",{get:function(){return this.document()||null}}),Object.defineProperty(p.prototype,"textContent",{get:function(){var u,E,e,f,$;if(this.nodeType===r.Element||this.nodeType===r.DocumentFragment){for($="",E=0,e=(f=this.children).length;E":null!=(e=this.parent)&&e.name?"node: <"+u+">, parent: <"+this.parent.name+">":"node: <"+u+">":""},p.prototype.ele=function(u,E,e){return this.element(u,E,e)},p.prototype.nod=function(u,E,e){return this.node(u,E,e)},p.prototype.txt=function(u){return this.text(u)},p.prototype.dat=function(u){return this.cdata(u)},p.prototype.com=function(u){return this.comment(u)},p.prototype.ins=function(u,E){return this.instruction(u,E)},p.prototype.doc=function(){return this.document()},p.prototype.dec=function(u,E,e){return this.declaration(u,E,e)},p.prototype.e=function(u,E,e){return this.element(u,E,e)},p.prototype.n=function(u,E,e){return this.node(u,E,e)},p.prototype.t=function(u){return this.text(u)},p.prototype.d=function(u){return this.cdata(u)},p.prototype.c=function(u){return this.comment(u)},p.prototype.r=function(u){return this.raw(u)},p.prototype.i=function(u,E){return this.instruction(u,E)},p.prototype.u=function(){return this.up()},p.prototype.importXMLBuilder=function(u){return this.importDocument(u)},p.prototype.replaceChild=function(u,E){throw new Error("This DOM method is not implemented."+this.debugInfo())},p.prototype.removeChild=function(u){throw new Error("This DOM method is not implemented."+this.debugInfo())},p.prototype.appendChild=function(u){throw new Error("This DOM method is not implemented."+this.debugInfo())},p.prototype.hasChildNodes=function(){return 0!==this.children.length},p.prototype.cloneNode=function(u){throw new Error("This DOM method is not implemented."+this.debugInfo())},p.prototype.normalize=function(){throw new Error("This DOM method is not implemented."+this.debugInfo())},p.prototype.isSupported=function(u,E){return!0},p.prototype.hasAttributes=function(){return 0!==this.attribs.length},p.prototype.compareDocumentPosition=function(u){var E,e;return(E=this)===u?0:this.document()!==u.document()?(e=g.Disconnected|g.ImplementationSpecific,Math.random()<.5?e|=g.Preceding:e|=g.Following,e):E.isAncestor(u)?g.Contains|g.Preceding:E.isDescendant(u)?g.Contains|g.Following:E.isPreceding(u)?g.Preceding:g.Following},p.prototype.isSameNode=function(u){throw new Error("This DOM method is not implemented."+this.debugInfo())},p.prototype.lookupPrefix=function(u){throw new Error("This DOM method is not implemented."+this.debugInfo())},p.prototype.isDefaultNamespace=function(u){throw new Error("This DOM method is not implemented."+this.debugInfo())},p.prototype.lookupNamespaceURI=function(u){throw new Error("This DOM method is not implemented."+this.debugInfo())},p.prototype.isEqualNode=function(u){var E,e,f;if(u.nodeType!==this.nodeType||u.children.length!==this.children.length)return!1;for(E=e=0,f=this.children.length-1;0<=f?e<=f:e>=f;E=0<=f?++e:--e)if(!this.children[E].isEqualNode(u.children[E]))return!1;return!0},p.prototype.getFeature=function(u,E){throw new Error("This DOM method is not implemented."+this.debugInfo())},p.prototype.setUserData=function(u,E,e){throw new Error("This DOM method is not implemented."+this.debugInfo())},p.prototype.getUserData=function(u){throw new Error("This DOM method is not implemented."+this.debugInfo())},p.prototype.contains=function(u){return!!u&&(u===this||this.isDescendant(u))},p.prototype.isDescendant=function(u){var E,f,$,M;for(f=0,$=(M=this.children).length;f<$;f++)if(u===(E=M[f])||E.isDescendant(u))return!0;return!1},p.prototype.isAncestor=function(u){return u.isDescendant(this)},p.prototype.isPreceding=function(u){var E,e;return E=this.treePosition(u),e=this.treePosition(this),-1!==E&&-1!==e&&Ee},p.prototype.treePosition=function(u){var E,e;return e=0,E=!1,this.foreachTreeNode(this.document(),function(f){if(e++,!E&&f===u)return E=!0}),E?e:-1},p.prototype.foreachTreeNode=function(u,E){var e,f,$,M,q;for(u||(u=this.document()),f=0,$=(M=u.children).length;f<$;f++){if(q=E(e=M[f]))return q;if(q=this.foreachTreeNode(e,E))return q}},p}()}).call(this)},87137:function(K){(function(){K.exports=function(){function d(g){this.nodes=g}return Object.defineProperty(d.prototype,"length",{get:function(){return this.nodes.length||0}}),d.prototype.clone=function(){return this.nodes=null},d.prototype.item=function(g){return this.nodes[g]||null},d}()}).call(this)},12726:function(K,Y,d){(function(){var g,r,Z={}.hasOwnProperty;g=d(42870),r=d(26068),K.exports=function(l){function h(R,y,N){if(h.__super__.constructor.call(this,R),null==y)throw new Error("Missing instruction target. "+this.debugInfo());this.type=g.ProcessingInstruction,this.target=this.stringify.insTarget(y),this.name=this.target,N&&(this.value=this.stringify.insValue(N))}return function(l,h){for(var R in h)Z.call(h,R)&&(l[R]=h[R]);function y(){this.constructor=l}y.prototype=h.prototype,l.prototype=new y,l.__super__=h.prototype}(h,l),h.prototype.clone=function(){return Object.create(this)},h.prototype.toString=function(R){return this.options.writer.processingInstruction(this,this.options.writer.filterOptions(R))},h.prototype.isEqualNode=function(R){return!(!h.__super__.isEqualNode.apply(this,arguments).isEqualNode(R)||R.target!==this.target)},h}(r)}).call(this)},99166:function(K,Y,d){(function(){var g,r,Z={}.hasOwnProperty;g=d(42870),r=d(26627),K.exports=function(l){function h(R,y){if(h.__super__.constructor.call(this,R),null==y)throw new Error("Missing raw text. "+this.debugInfo());this.type=g.Raw,this.value=this.stringify.raw(y)}return function(l,h){for(var R in h)Z.call(h,R)&&(l[R]=h[R]);function y(){this.constructor=l}y.prototype=h.prototype,l.prototype=new y,l.__super__=h.prototype}(h,l),h.prototype.clone=function(){return Object.create(this)},h.prototype.toString=function(R){return this.options.writer.raw(this,this.options.writer.filterOptions(R))},h}(r)}).call(this)},50864:function(K,Y,d){(function(){var g,r,x,l={}.hasOwnProperty;g=d(42870),x=d(56425),r=d(47159),K.exports=function(h){function R(y,N){this.stream=y,R.__super__.constructor.call(this,N)}return function(h,R){for(var y in R)l.call(R,y)&&(h[y]=R[y]);function N(){this.constructor=h}N.prototype=R.prototype,h.prototype=new N,h.__super__=R.prototype}(R,h),R.prototype.endline=function(y,N,v){return y.isLastRootNode&&N.state===r.CloseTag?"":R.__super__.endline.call(this,y,N,v)},R.prototype.document=function(y,N){var k,P,L,I,G,B,S,U;for(k=P=0,I=(B=y.children).length;P0){for(this.stream.write(" ["),this.stream.write(this.endline(y,N,v)),N.state=r.InsideTag,P=0,L=(I=y.children).length;P"),this.stream.write(this.endline(y,N,v)),N.state=r.None,this.closeNode(y,N,v)},R.prototype.element=function(y,N,v){var L,I,G,B,S,m,p;for(S in v||(v=0),this.openNode(y,N,v),N.state=r.OpenTag,this.stream.write(this.indent(y,N,v)+"<"+y.name),m=y.attribs)l.call(m,S)&&this.attribute(m[S],N,v);if(I=0===(L=y.children.length)?null:y.children[0],0===L||y.children.every(function(u){return(u.type===g.Text||u.type===g.Raw)&&""===u.value}))N.allowEmpty?(this.stream.write(">"),N.state=r.CloseTag,this.stream.write("")):(N.state=r.CloseTag,this.stream.write(N.spaceBeforeSlash+"/>"));else if(!N.pretty||1!==L||I.type!==g.Text&&I.type!==g.Raw||null==I.value){for(this.stream.write(">"+this.endline(y,N,v)),N.state=r.InsideTag,G=0,B=(p=y.children).length;G")}else this.stream.write(">"),N.state=r.InsideTag,N.suppressPrettyCount++,this.writeChildNode(I,N,v+1),N.suppressPrettyCount--,N.state=r.CloseTag,this.stream.write("");return this.stream.write(this.endline(y,N,v)),N.state=r.None,this.closeNode(y,N,v)},R.prototype.processingInstruction=function(y,N,v){return this.stream.write(R.__super__.processingInstruction.call(this,y,N,v))},R.prototype.raw=function(y,N,v){return this.stream.write(R.__super__.raw.call(this,y,N,v))},R.prototype.text=function(y,N,v){return this.stream.write(R.__super__.text.call(this,y,N,v))},R.prototype.dtdAttList=function(y,N,v){return this.stream.write(R.__super__.dtdAttList.call(this,y,N,v))},R.prototype.dtdElement=function(y,N,v){return this.stream.write(R.__super__.dtdElement.call(this,y,N,v))},R.prototype.dtdEntity=function(y,N,v){return this.stream.write(R.__super__.dtdEntity.call(this,y,N,v))},R.prototype.dtdNotation=function(y,N,v){return this.stream.write(R.__super__.dtdNotation.call(this,y,N,v))},R}(x)}).call(this)},28337:function(K,Y,d){(function(){var r,x={}.hasOwnProperty;r=d(56425),K.exports=function(Z){function l(h){l.__super__.constructor.call(this,h)}return function(Z,l){for(var h in l)x.call(l,h)&&(Z[h]=l[h]);function R(){this.constructor=Z}R.prototype=l.prototype,Z.prototype=new R,Z.__super__=l.prototype}(l,Z),l.prototype.document=function(h,R){var N,v,k,P;for(R=this.filterOptions(R),k="",N=0,v=(P=h.children).length;N","]]]]>"),this.assertLegalChar(A))},r.prototype.comment=function(A){if(this.options.noValidation)return A;if((A=""+A||"").match(/--/))throw new Error("Comment text cannot contain double-hypen: "+A);return this.assertLegalChar(A)},r.prototype.raw=function(A){return this.options.noValidation?A:""+A||""},r.prototype.attValue=function(A){return this.options.noValidation?A:this.assertLegalChar(this.attEscape(A=""+A||""))},r.prototype.insTarget=function(A){return this.options.noValidation?A:this.assertLegalChar(""+A||"")},r.prototype.insValue=function(A){if(this.options.noValidation)return A;if((A=""+A||"").match(/\?>/))throw new Error("Invalid processing instruction value: "+A);return this.assertLegalChar(A)},r.prototype.xmlVersion=function(A){if(this.options.noValidation)return A;if(!(A=""+A||"").match(/1\.[0-9]+/))throw new Error("Invalid version number: "+A);return A},r.prototype.xmlEncoding=function(A){if(this.options.noValidation)return A;if(!(A=""+A||"").match(/^[A-Za-z](?:[A-Za-z0-9._-])*$/))throw new Error("Invalid encoding: "+A);return this.assertLegalChar(A)},r.prototype.xmlStandalone=function(A){return this.options.noValidation?A:A?"yes":"no"},r.prototype.dtdPubID=function(A){return this.options.noValidation?A:this.assertLegalChar(""+A||"")},r.prototype.dtdSysID=function(A){return this.options.noValidation?A:this.assertLegalChar(""+A||"")},r.prototype.dtdElementValue=function(A){return this.options.noValidation?A:this.assertLegalChar(""+A||"")},r.prototype.dtdAttType=function(A){return this.options.noValidation?A:this.assertLegalChar(""+A||"")},r.prototype.dtdAttDefault=function(A){return this.options.noValidation?A:this.assertLegalChar(""+A||"")},r.prototype.dtdEntityValue=function(A){return this.options.noValidation?A:this.assertLegalChar(""+A||"")},r.prototype.dtdNData=function(A){return this.options.noValidation?A:this.assertLegalChar(""+A||"")},r.prototype.convertAttKey="@",r.prototype.convertPIKey="?",r.prototype.convertTextKey="#text",r.prototype.convertCDataKey="#cdata",r.prototype.convertCommentKey="#comment",r.prototype.convertRawKey="#raw",r.prototype.assertLegalChar=function(A){var Z;if(this.options.noValidation)return A;if("1.0"===this.options.version){if(Z=A.match(/[\0-\x08\x0B\f\x0E-\x1F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/))throw new Error("Invalid character in string: "+A+" at index "+Z.index)}else if("1.1"===this.options.version&&(Z=A.match(/[\0\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/)))throw new Error("Invalid character in string: "+A+" at index "+Z.index);return A},r.prototype.assertLegalName=function(A){if(this.options.noValidation)return A;if(this.assertLegalChar(A),!A.match(/^([:A-Z_a-z\xC0-\xD6\xD8-\xF6\xF8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])([\x2D\.0-:A-Z_a-z\xB7\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])*$/))throw new Error("Invalid character in name");return A},r.prototype.textEscape=function(A){return this.options.noValidation?A:A.replace(this.options.noDoubleEncoding?/(?!&\S+;)&/g:/&/g,"&").replace(//g,">").replace(/\r/g," ")},r.prototype.attEscape=function(A){return this.options.noValidation?A:A.replace(this.options.noDoubleEncoding?/(?!&\S+;)&/g:/&/g,"&").replace(/0?new Array(E).join(p.indent):""},U.prototype.endline=function(m,p,u){return!p.pretty||p.suppressPrettyCount?"":p.newline},U.prototype.attribute=function(m,p,u){var E;return this.openAttribute(m,p,u),E=" "+m.name+'="'+m.value+'"',this.closeAttribute(m,p,u),E},U.prototype.cdata=function(m,p,u){var E;return this.openNode(m,p,u),p.state=r.OpenTag,E=this.indent(m,p,u)+""+this.endline(m,p,u),p.state=r.None,this.closeNode(m,p,u),E},U.prototype.comment=function(m,p,u){var E;return this.openNode(m,p,u),p.state=r.OpenTag,E=this.indent(m,p,u)+"\x3c!-- ",p.state=r.InsideTag,E+=m.value,p.state=r.CloseTag,E+=" --\x3e"+this.endline(m,p,u),p.state=r.None,this.closeNode(m,p,u),E},U.prototype.declaration=function(m,p,u){var E;return this.openNode(m,p,u),p.state=r.OpenTag,E=this.indent(m,p,u)+"",E+=this.endline(m,p,u),p.state=r.None,this.closeNode(m,p,u),E},U.prototype.docType=function(m,p,u){var e,f,$,M;if(u||(u=0),this.openNode(m,p,u),p.state=r.OpenTag,$=this.indent(m,p,u),$+="0){for($+=" [",$+=this.endline(m,p,u),p.state=r.InsideTag,e=0,f=(M=m.children).length;e",$+=this.endline(m,p,u),p.state=r.None,this.closeNode(m,p,u),$},U.prototype.element=function(m,p,u){var e,f,$,M,q,z,V,le,de,ne,pe,ue,he;for(le in u||(u=0),de=!1,ne="",this.openNode(m,p,u),p.state=r.OpenTag,ne+=this.indent(m,p,u)+"<"+m.name,pe=m.attribs)S.call(pe,le)&&(ne+=this.attribute(pe[le],p,u));if($=0===(f=m.children.length)?null:m.children[0],0===f||m.children.every(function(fe){return(fe.type===g.Text||fe.type===g.Raw)&&""===fe.value}))p.allowEmpty?(ne+=">",p.state=r.CloseTag,ne+=""+this.endline(m,p,u)):(p.state=r.CloseTag,ne+=p.spaceBeforeSlash+"/>"+this.endline(m,p,u));else if(!p.pretty||1!==f||$.type!==g.Text&&$.type!==g.Raw||null==$.value){if(p.dontPrettyTextNodes)for(M=0,z=(ue=m.children).length;M"+this.endline(m,p,u),p.state=r.InsideTag,q=0,V=(he=m.children).length;q",de&&p.suppressPrettyCount--,ne+=this.endline(m,p,u),p.state=r.None}else ne+=">",p.state=r.InsideTag,p.suppressPrettyCount++,de=!0,ne+=this.writeChildNode($,p,u+1),p.suppressPrettyCount--,de=!1,p.state=r.CloseTag,ne+=""+this.endline(m,p,u);return this.closeNode(m,p,u),ne},U.prototype.writeChildNode=function(m,p,u){switch(m.type){case g.CData:return this.cdata(m,p,u);case g.Comment:return this.comment(m,p,u);case g.Element:return this.element(m,p,u);case g.Raw:return this.raw(m,p,u);case g.Text:return this.text(m,p,u);case g.ProcessingInstruction:return this.processingInstruction(m,p,u);case g.Dummy:return"";case g.Declaration:return this.declaration(m,p,u);case g.DocType:return this.docType(m,p,u);case g.AttributeDeclaration:return this.dtdAttList(m,p,u);case g.ElementDeclaration:return this.dtdElement(m,p,u);case g.EntityDeclaration:return this.dtdEntity(m,p,u);case g.NotationDeclaration:return this.dtdNotation(m,p,u);default:throw new Error("Unknown XML node type: "+m.constructor.name)}},U.prototype.processingInstruction=function(m,p,u){var E;return this.openNode(m,p,u),p.state=r.OpenTag,E=this.indent(m,p,u)+"",E+=this.endline(m,p,u),p.state=r.None,this.closeNode(m,p,u),E},U.prototype.raw=function(m,p,u){var E;return this.openNode(m,p,u),p.state=r.OpenTag,E=this.indent(m,p,u),p.state=r.InsideTag,E+=m.value,p.state=r.CloseTag,E+=this.endline(m,p,u),p.state=r.None,this.closeNode(m,p,u),E},U.prototype.text=function(m,p,u){var E;return this.openNode(m,p,u),p.state=r.OpenTag,E=this.indent(m,p,u),p.state=r.InsideTag,E+=m.value,p.state=r.CloseTag,E+=this.endline(m,p,u),p.state=r.None,this.closeNode(m,p,u),E},U.prototype.dtdAttList=function(m,p,u){var E;return this.openNode(m,p,u),p.state=r.OpenTag,E=this.indent(m,p,u)+""+this.endline(m,p,u),p.state=r.None,this.closeNode(m,p,u),E},U.prototype.dtdElement=function(m,p,u){var E;return this.openNode(m,p,u),p.state=r.OpenTag,E=this.indent(m,p,u)+""+this.endline(m,p,u),p.state=r.None,this.closeNode(m,p,u),E},U.prototype.dtdEntity=function(m,p,u){var E;return this.openNode(m,p,u),p.state=r.OpenTag,E=this.indent(m,p,u)+""+this.endline(m,p,u),p.state=r.None,this.closeNode(m,p,u),E},U.prototype.dtdNotation=function(m,p,u){var E;return this.openNode(m,p,u),p.state=r.OpenTag,E=this.indent(m,p,u)+""+this.endline(m,p,u),p.state=r.None,this.closeNode(m,p,u),E},U.prototype.openNode=function(m,p,u){},U.prototype.closeNode=function(m,p,u){},U.prototype.openAttribute=function(m,p,u){},U.prototype.closeAttribute=function(m,p,u){},U}()}).call(this)},71741:function(K,Y,d){(function(){var g,r,A,x,Z,l,h,R,y,N;N=d(63146),R=N.assign,y=N.isFunction,A=d(57951),x=d(32008),Z=d(25795),h=d(28337),l=d(50864),g=d(42870),r=d(47159),K.exports.create=function(v,k,P,L){var I,G;if(null==v)throw new Error("Root element needs a name.");return L=R({},k,P,L),G=(I=new x(L)).element(v),L.headless||(I.declaration(L),(null!=L.pubID||null!=L.sysID)&&I.dtd(L)),G},K.exports.begin=function(v,k,P){var L;return y(v)&&(k=(L=[v,k])[0],P=L[1],v={}),k?new Z(v,k,P):new x(v)},K.exports.stringWriter=function(v){return new h(v)},K.exports.streamWriter=function(v,k){return new l(v,k)},K.exports.implementation=new A,K.exports.nodeType=g,K.exports.writerState=r}).call(this)},59889:(K,Y,d)=>{"use strict";d.r(Y),d.d(Y,{RgwModule:()=>wn,RoutedRgwModule:()=>Mc});var g=d(88692),r=d(20092),A=d(54247),x=d(51389),Z=d(37496),l=d(79512),h=d(4268),R=d(44466),y=d(66265),N=d(23815),v=d.n(N),k=d(35758),P=d(49277),L=d(95152),I=d(33394),G=d(64762),B=d(35732),S=d(25917),U=d(19773),m=d(96736),p=d(5304),u=d(20523),E=d(93523),e=d(64537);let f=class{constructor(i,t){this.http=i,this.rgwDaemonService=t,this.url="api/rgw/user"}list(){return this.enumerate().pipe((0,U.zg)(i=>i.length>0?(0,k.D)(i.map(t=>this.get(t))):(0,S.of)([])))}enumerate(){return this.rgwDaemonService.request(i=>this.http.get(this.url,{params:i}))}enumerateEmail(){return this.rgwDaemonService.request(i=>this.http.get(`${this.url}/get_emails`,{params:i}))}get(i){return this.rgwDaemonService.request(t=>this.http.get(`${this.url}/${i}`,{params:t}))}getQuota(i){return this.rgwDaemonService.request(t=>this.http.get(`${this.url}/${i}/quota`,{params:t}))}create(i){return this.rgwDaemonService.request(t=>(v().keys(i).forEach(o=>{t=t.append(o,i[o])}),this.http.post(this.url,null,{params:t})))}update(i,t){return this.rgwDaemonService.request(o=>(v().keys(t).forEach(c=>{o=o.append(c,t[c])}),this.http.put(`${this.url}/${i}`,null,{params:o})))}updateQuota(i,t){return this.rgwDaemonService.request(o=>(v().keys(t).forEach(c=>{o=o.append(c,t[c])}),this.http.put(`${this.url}/${i}/quota`,null,{params:o})))}delete(i){return this.rgwDaemonService.request(t=>this.http.delete(`${this.url}/${i}`,{params:t}))}createSubuser(i,t){return this.rgwDaemonService.request(o=>(v().keys(t).forEach(c=>{o=o.append(c,t[c])}),this.http.post(`${this.url}/${i}/subuser`,null,{params:o})))}deleteSubuser(i,t){return this.rgwDaemonService.request(o=>this.http.delete(`${this.url}/${i}/subuser/${t}`,{params:o}))}addCapability(i,t,o){return this.rgwDaemonService.request(c=>(c=(c=c.append("type",t)).append("perm",o),this.http.post(`${this.url}/${i}/capability`,null,{params:c})))}deleteCapability(i,t,o){return this.rgwDaemonService.request(c=>(c=(c=c.append("type",t)).append("perm",o),this.http.delete(`${this.url}/${i}/capability`,{params:c})))}addS3Key(i,t){return this.rgwDaemonService.request(o=>(o=o.append("key_type","s3"),v().keys(t).forEach(c=>{o=o.append(c,t[c])}),this.http.post(`${this.url}/${i}/key`,null,{params:o})))}deleteS3Key(i,t){return this.rgwDaemonService.request(o=>(o=(o=o.append("key_type","s3")).append("access_key",t),this.http.delete(`${this.url}/${i}/key`,{params:o})))}exists(i){return this.get(i).pipe((0,m.h)(!0),(0,p.K)(t=>(v().isFunction(t.preventDefault)&&t.preventDefault(),(0,S.of)(!1))))}emailExists(i){return i=decodeURIComponent(i),this.enumerateEmail().pipe((0,U.zg)(t=>{const o=v().indexOf(t,i);return(0,S.of)(-1!==o)}))}};f.\u0275fac=function(i){return new(i||f)(e.LFG(B.eN),e.LFG(u.b))},f.\u0275prov=e.Yz7({token:f,factory:f.\u0275fac,providedIn:"root"}),f=(0,G.gn)([E.o,(0,G.w6)("design:paramtypes",[B.eN,u.b])],f);var $=d(65862),M=d(18001),q=d(93614),z=d(90070),V=d(97161);class le{constructor(){this.kmsProviders=["vault"],this.authMethods=["token","agent"],this.secretEngines=["kv","transit"],this.sse_s3="AES256",this.sse_kms="aws:kms"}}var de=(()=>{return(n=de||(de={})).ENABLED="Enabled",n.DISABLED="Disabled",de;var n})(),ne=(()=>{return(n=ne||(ne={})).Read="Read",n.Write="Write",n.All="Read and write",n.FullControl="Full control",ne;var n})(),pe=(()=>{return(n=pe||(pe={})).Owner="Owner",n.Everyone="Everyone",n.AuthenticatedUsers="Authenticated Users",pe;var n})(),ue=(()=>{return(n=ue||(ue={})).ENABLED="Enabled",n.SUSPENDED="Suspended",ue;var n})(),he=d(62862),fe=d(18372),Ie=d(60312),we=d(30839),Oe=d(87925),Ae=d(94276),We=d(56310),C=d(41582);function a(n,i){1&n&&(e.TgZ(0,"option",29),e.SDv(1,30),e.qZA()),2&n&&e.Q6J("ngValue",null)}function w(n,i){if(1&n&&(e.TgZ(0,"option",31),e._uU(1),e.qZA()),2&n){const t=i.$implicit;e.Q6J("value",t),e.xp6(1),e.Oqu(t)}}function W(n,i){1&n&&(e.TgZ(0,"span",32),e.SDv(1,33),e.qZA())}function ie(n,i){if(1&n&&(e.TgZ(0,"div")(1,"div",7)(2,"label",22),e.SDv(3,23),e.qZA(),e.TgZ(4,"div",24)(5,"select",25),e.YNc(6,a,2,1,"option",26),e.YNc(7,w,2,2,"option",27),e.qZA(),e.YNc(8,W,2,0,"span",28),e.qZA()()()),2&n){const t=e.oxw(),o=e.MAs(5);e.xp6(6),e.Q6J("ngIf",null!==t.kmsProviders),e.xp6(1),e.Q6J("ngForOf",t.kmsProviders),e.xp6(1),e.Q6J("ngIf",t.configForm.showError("kms_provider",o,"required"))}}function ae(n,i){if(1&n&&(e.TgZ(0,"option",31),e._uU(1),e.qZA()),2&n){const t=i.$implicit;e.Q6J("value",t),e.xp6(1),e.Oqu(t)}}function b(n,i){1&n&&(e.TgZ(0,"span",32),e.SDv(1,37),e.qZA())}function D(n,i){if(1&n&&(e.TgZ(0,"div")(1,"div",7)(2,"label",34),e.SDv(3,35),e.qZA(),e.TgZ(4,"div",24)(5,"select",36),e.YNc(6,ae,2,2,"option",27),e.qZA(),e.YNc(7,b,2,0,"span",28),e.qZA()()()),2&n){const t=e.oxw(),o=e.MAs(5);e.xp6(6),e.Q6J("ngForOf",t.authMethods),e.xp6(1),e.Q6J("ngIf",t.configForm.showError("auth_method",o,"required"))}}function T(n,i){if(1&n&&(e.TgZ(0,"option",31),e._uU(1),e.qZA()),2&n){const t=i.$implicit;e.Q6J("value",t),e.xp6(1),e.Oqu(t)}}function _(n,i){1&n&&(e.TgZ(0,"span",32),e.SDv(1,41),e.qZA())}function s(n,i){if(1&n&&(e.TgZ(0,"div")(1,"div",7)(2,"label",38),e.SDv(3,39),e.qZA(),e.TgZ(4,"div",24)(5,"select",40),e.YNc(6,T,2,2,"option",27),e.qZA(),e.YNc(7,_,2,0,"span",28),e.qZA()()()),2&n){const t=e.oxw(),o=e.MAs(5);e.xp6(6),e.Q6J("ngForOf",t.secretEngines),e.xp6(1),e.Q6J("ngIf",t.configForm.showError("secret_engine",o,"required"))}}function F(n,i){1&n&&(e.TgZ(0,"span",32),e.SDv(1,45),e.qZA())}function X(n,i){if(1&n&&(e.TgZ(0,"div")(1,"div",7)(2,"label",42),e.SDv(3,43),e.qZA(),e.TgZ(4,"div",24),e._UZ(5,"input",44),e.YNc(6,F,2,0,"span",28),e.qZA()()()),2&n){const t=e.oxw(),o=e.MAs(5);e.xp6(6),e.Q6J("ngIf",t.configForm.showError("secret_path",o,"required"))}}function ee(n,i){1&n&&(e.TgZ(0,"div")(1,"div",7)(2,"label",46),e.SDv(3,47),e.qZA(),e.TgZ(4,"div",24),e._UZ(5,"input",48),e.qZA()()())}function te(n,i){1&n&&(e.TgZ(0,"span",32),e.SDv(1,52),e.qZA())}function ge(n,i){if(1&n&&(e.TgZ(0,"div")(1,"div",7)(2,"label",49),e.SDv(3,50),e.qZA(),e.TgZ(4,"div",24),e._UZ(5,"input",51),e.YNc(6,te,2,0,"span",28),e.qZA()()()),2&n){const t=e.oxw(),o=e.MAs(5);e.xp6(6),e.Q6J("ngIf",t.configForm.showError("address",o,"required"))}}function Ce(n,i){1&n&&(e.TgZ(0,"span",32),e.SDv(1,57),e.qZA())}function Ne(n,i){if(1&n){const t=e.EpF();e.TgZ(0,"div",7)(1,"label",53)(2,"span"),e.SDv(3,54),e.qZA(),e.TgZ(4,"cd-helper"),e.SDv(5,55),e.qZA()(),e.TgZ(6,"div",24)(7,"input",56),e.NdJ("change",function(c){e.CHM(t);const O=e.oxw();return e.KtG(O.fileUpload(c.target.files,"token"))}),e.qZA(),e.YNc(8,Ce,2,0,"span",28),e.qZA()()}if(2&n){const t=e.oxw(),o=e.MAs(5);e.xp6(8),e.Q6J("ngIf",t.configForm.showError("token",o,"required"))}}function Ze(n,i){1&n&&(e.TgZ(0,"span",32),e.SDv(1,62),e.qZA())}function be(n,i){if(1&n){const t=e.EpF();e.TgZ(0,"div")(1,"div",7)(2,"label",58)(3,"span"),e.SDv(4,59),e.qZA(),e.TgZ(5,"cd-helper"),e.SDv(6,60),e.qZA()(),e.TgZ(7,"div",24)(8,"input",61),e.NdJ("change",function(c){e.CHM(t);const O=e.oxw();return e.KtG(O.fileUpload(c.target.files,"ssl_cert"))}),e.qZA(),e.YNc(9,Ze,2,0,"span",28),e.qZA()()()}if(2&n){const t=e.oxw(),o=e.MAs(5);e.xp6(9),e.Q6J("ngIf",t.configForm.showError("ssl_cert",o,"required"))}}function ze(n,i){1&n&&(e.TgZ(0,"span",32),e.SDv(1,67),e.qZA())}function qe(n,i){if(1&n){const t=e.EpF();e.TgZ(0,"div")(1,"div",7)(2,"label",63)(3,"span"),e.SDv(4,64),e.qZA(),e.TgZ(5,"cd-helper"),e.SDv(6,65),e.qZA()(),e.TgZ(7,"div",24)(8,"input",66),e.NdJ("change",function(c){e.CHM(t);const O=e.oxw();return e.KtG(O.fileUpload(c.target.files,"client_cert"))}),e.qZA(),e.YNc(9,ze,2,0,"span",28),e.qZA()()()}if(2&n){const t=e.oxw(),o=e.MAs(5);e.xp6(9),e.Q6J("ngIf",t.configForm.showError("client_cert",o,"required"))}}function Be(n,i){1&n&&(e.TgZ(0,"span",32),e.SDv(1,72),e.qZA())}function Ke(n,i){if(1&n){const t=e.EpF();e.TgZ(0,"div")(1,"div",7)(2,"label",68)(3,"span"),e.SDv(4,69),e.qZA(),e.TgZ(5,"cd-helper"),e.SDv(6,70),e.qZA()(),e.TgZ(7,"div",24)(8,"input",71),e.NdJ("change",function(c){e.CHM(t);const O=e.oxw();return e.KtG(O.fileUpload(c.target.files,"client_key"))}),e.qZA(),e.YNc(9,Be,2,0,"span",28),e.qZA()()()}if(2&n){const t=e.oxw(),o=e.MAs(5);e.xp6(9),e.Q6J("ngIf",t.configForm.showError("client_key",o,"required"))}}let $n=(()=>{class n{constructor(t,o,c,O,H,Q,J){this.formBuilder=t,this.activeModal=o,this.router=c,this.actionLabels=O,this.rgwBucketService=H,this.rgwEncryptionModal=Q,this.notificationService=J,this.vaultAddress=/^((https?:\/\/)|(www.))(?:([a-zA-Z]+)|(\d+\.\d+.\d+.\d+)):\d{4}$/,this.submitAction=new e.vpe,this.createForm()}ngOnInit(){this.kmsProviders=this.rgwEncryptionModal.kmsProviders,this.authMethods=this.rgwEncryptionModal.authMethods,this.secretEngines=this.rgwEncryptionModal.secretEngines}createForm(){this.configForm=this.formBuilder.group({address:[null,[r.kI.required,z.h.custom("vaultPattern",t=>!v().isEmpty(t)&&!this.vaultAddress.test(t))]],kms_provider:["vault",r.kI.required],encryptionType:["aws:kms",r.kI.required],auth_method:["token",r.kI.required],secret_engine:["kv",r.kI.required],secret_path:["/"],namespace:[null],token:[null,[z.h.requiredIf({auth_method:"token"})]],ssl_cert:[null,z.h.sslCert()],client_cert:[null,z.h.pemCert()],client_key:[null,z.h.sslPrivKey()],kmsEnabled:[{value:!1}],s3Enabled:[{value:!1}]})}fileUpload(t,o){const c=t[0];(new FileReader).addEventListener("load",()=>{const H=this.configForm.get(o);H.setValue(c),H.markAsDirty(),H.markAsTouched(),H.updateValueAndValidity()})}onSubmit(){const t=this.configForm.value;this.rgwBucketService.setEncryptionConfig(t.encryptionType,t.kms_provider,t.auth_method,t.secret_engine,t.secret_path,t.namespace,t.address,t.token,t.owner,t.ssl_cert,t.client_cert,t.client_key).subscribe({next:()=>{this.notificationService.show(M.k.success,"Updated RGW Encryption Configuration values")},error:o=>{this.notificationService.show(M.k.error,o),this.configForm.setErrors({cdSubmitButton:!0})},complete:()=>{this.activeModal.close(),this.router.routeReuseStrategy.shouldReuseRoute=()=>!1,this.router.onSameUrlNavigation="reload",this.router.navigate([this.router.url])}})}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(he.O),e.Y36(x.Kz),e.Y36(A.F0),e.Y36(l.p4),e.Y36(L.o),e.Y36(le),e.Y36(V.g))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-rgw-config-modal"]],outputs:{submitAction:"submitAction"},features:[e._Bn([le])],decls:30,vars:14,consts:function(){let i,t,o,c,O,H,Q,J,j,oe,Te,Me,Fe,Pe,me,Ge,ye,Le,Ee,Ue,$e,xe,De,ve,se,Re,ce,Je;return i="Update RGW Encryption Configurations",t="Encryption Type",o="SSE-S3 Encryption",c="SSE-KMS Encryption",O="Key management service provider",H="-- Select a provider --",Q="This field is required.",J="Authentication Method",j="This field is required.",oe="Secret Engine",Te="This field is required.",Me="Secret Path ",Fe="This field is required.",Pe="Namespace ",me="Vault Address ",Ge="This field is required.",ye="Token",Le=" The token authentication method expects a Vault token to be present in a plaintext file. ",Ee="This field is required.",Ue="CA Certificate",$e="The SSL certificate in PEM format.",xe="This field is required.",De="Client Certificate",ve="The Client certificate in PEM format.",se="This field is required.",Re="Client Private Key",ce="The Client Private Key in PEM format.",Je="This field is required.",[[3,"modalRef"],[1,"modal-title"],i,[1,"modal-content"],["name","configForm",3,"formGroup"],["frm","ngForm"],[1,"modal-body"],[1,"form-group","row"],["for","encryptionType",1,"cd-col-form-label","required"],t,[1,"col-md-auto","custom-checkbox","form-check-inline","ms-3"],["formControlName","encryptionType","id","s3Enabled","type","radio","name","encryptionType","value","AES256",1,"form-check-input"],["for","s3Enabled",1,"custom-check-label"],o,[1,"col-md-auto","custom-checkbox","form-check-inline"],["formControlName","encryptionType","id","kmsEnabled","name","encryptionType","value","aws:kms","type","radio",1,"form-check-input"],["for","kmsEnabled",1,"custom-check-label"],c,[4,"ngIf"],["class","form-group row",4,"ngIf"],[1,"modal-footer"],[3,"submitText","form","submitActionEvent"],["for","kms_provider",1,"cd-col-form-label","required"],O,[1,"cd-col-form-input"],["id","kms_provider","name","kms_provider","formControlName","kms_provider",1,"form-select"],[3,"ngValue",4,"ngIf"],[3,"value",4,"ngFor","ngForOf"],["class","invalid-feedback",4,"ngIf"],[3,"ngValue"],H,[3,"value"],[1,"invalid-feedback"],Q,["for","auth_method",1,"cd-col-form-label","required"],J,["id","auth_method","name","auth_method","formControlName","auth_method",1,"form-select"],j,["for","secret_engine",1,"cd-col-form-label","required"],oe,["id","secret_engine","name","secret_engine","formControlName","secret_engine",1,"form-select"],Te,["for","secret_path",1,"cd-col-form-label"],Me,["id","secret_path","name","secret_path","type","text","formControlName","secret_path",1,"form-control"],Fe,["for","namespace",1,"cd-col-form-label"],Pe,["id","namespace","name","namespace","type","text","formControlName","namespace",1,"form-control"],["for","address",1,"cd-col-form-label","required"],me,["id","address","name","address","formControlName","address","placeholder","http://127.0.0.1:8000",1,"form-control"],Ge,["for","token",1,"cd-col-form-label","required"],ye,Le,["type","file","formControlName","token",3,"change"],Ee,["for","ssl_cert",1,"cd-col-form-label"],Ue,$e,["type","file","formControlName","ssl_cert",3,"change"],xe,["for","client_cert",1,"cd-col-form-label"],De,ve,["type","file","formControlName","client_cert",3,"change"],se,["for","client_key",1,"cd-col-form-label"],Re,ce,["type","file",3,"change"],Je]},template:function(t,o){1&t&&(e.TgZ(0,"cd-modal",0),e.ynx(1,1),e.SDv(2,2),e.BQk(),e.ynx(3,3),e.TgZ(4,"form",4,5)(6,"div",6)(7,"div",7)(8,"label",8),e.SDv(9,9),e.qZA(),e.TgZ(10,"div",10),e._UZ(11,"input",11),e.TgZ(12,"label",12),e.SDv(13,13),e.qZA()(),e.TgZ(14,"div",14),e._UZ(15,"input",15),e.TgZ(16,"label",16),e.SDv(17,17),e.qZA()()(),e.YNc(18,ie,9,3,"div",18),e.YNc(19,D,8,2,"div",18),e.YNc(20,s,8,2,"div",18),e.YNc(21,X,7,1,"div",18),e.YNc(22,ee,6,0,"div",18),e.YNc(23,ge,7,1,"div",18),e.YNc(24,Ne,9,1,"div",19),e.YNc(25,be,10,1,"div",18),e.YNc(26,qe,10,1,"div",18),e.YNc(27,Ke,10,1,"div",18),e.qZA(),e.TgZ(28,"div",20)(29,"cd-form-button-panel",21),e.NdJ("submitActionEvent",function(){return o.onSubmit()}),e.qZA()()(),e.BQk(),e.qZA()),2&t&&(e.Q6J("modalRef",o.activeModal),e.xp6(4),e.Q6J("formGroup",o.configForm),e.xp6(14),e.Q6J("ngIf","aws:kms"===o.configForm.getValue("encryptionType")||"AES256"===o.configForm.getValue("encryptionType")),e.xp6(1),e.Q6J("ngIf","aws:kms"===o.configForm.getValue("encryptionType")||"AES256"===o.configForm.getValue("encryptionType")),e.xp6(1),e.Q6J("ngIf","aws:kms"===o.configForm.getValue("encryptionType")||"AES256"===o.configForm.getValue("encryptionType")),e.xp6(1),e.Q6J("ngIf","aws:kms"===o.configForm.getValue("encryptionType")||"AES256"===o.configForm.getValue("encryptionType")),e.xp6(1),e.Q6J("ngIf","aws:kms"===o.configForm.getValue("encryptionType")||"AES256"===o.configForm.getValue("encryptionType")),e.xp6(1),e.Q6J("ngIf","aws:kms"===o.configForm.getValue("encryptionType")||"AES256"===o.configForm.getValue("encryptionType")),e.xp6(1),e.Q6J("ngIf","token"===o.configForm.getValue("auth_method")),e.xp6(1),e.Q6J("ngIf","aws:kms"===o.configForm.getValue("encryptionType")||"AES256"===o.configForm.getValue("encryptionType")),e.xp6(1),e.Q6J("ngIf","aws:kms"===o.configForm.getValue("encryptionType")||"AES256"===o.configForm.getValue("encryptionType")),e.xp6(1),e.Q6J("ngIf","aws:kms"===o.configForm.getValue("encryptionType")||"AES256"===o.configForm.getValue("encryptionType")),e.xp6(2),e.Q6J("submitText",o.actionLabels.SUBMIT)("form",o.configForm))},dependencies:[g.sg,g.O5,fe.S,Ie.z,we.p,Oe.o,Ae.b,We.P,C.V,r._Y,r.YN,r.Kr,r.Fj,r.EJ,r._,r.JJ,r.JL,r.sg,r.u]}),n})();function xn(n,i){1&n&&(e.TgZ(0,"span",18),e.SDv(1,19),e.qZA())}function Zn(n,i){1&n&&(e.TgZ(0,"span",18),e.SDv(1,20),e.qZA())}function kn(n,i){1&n&&(e.TgZ(0,"span",18),e.SDv(1,21),e.qZA())}function Bn(n,i){1&n&&(e.TgZ(0,"span",18),e.SDv(1,22),e.qZA())}function zn(n,i){1&n&&(e.TgZ(0,"span",18),e.SDv(1,23),e.qZA())}let qn=(()=>{class n{constructor(t,o,c){this.formBuilder=t,this.activeModal=o,this.actionLabels=c,this.submitAction=new e.vpe,this.editMode=!1,this.createForm()}createForm(){this.form=this.formBuilder.group({key:[null,[r.kI.required,z.h.custom("unique",t=>!(v().isEmpty(t)&&!this.currentKeyTags)&&this.storedKey!==t&&this.currentKeyTags.includes(t)),z.h.custom("maxLength",t=>!v().isEmpty(t)&&t.length>128)]],value:[null,[r.kI.required,z.h.custom("maxLength",t=>!v().isEmpty(t)&&t.length>128)]]})}onSubmit(){this.submitAction.emit(this.form.value),this.activeModal.close()}getMode(){return this.editMode?this.actionLabels.EDIT:this.actionLabels.ADD}fillForm(t){this.form.setValue(t)}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(he.O),e.Y36(x.Kz),e.Y36(l.p4))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-bucket-tag-modal"]],outputs:{submitAction:"submitAction"},decls:24,vars:10,consts:function(){let i,t,o,c,O,H,Q,J;return i="" + "\ufffd0\ufffd" + " Tag",t="Key",o="Value",c="This field is required.",O="This key must be unique.",H="Length of the key must be maximum of 128 characters",Q="This field is required.",J="Length of the value must be a maximum of 128 characters",[[3,"modalRef"],[1,"modal-title"],i,[1,"modal-content"],[1,"form",3,"formGroup"],["formDir","ngForm"],[1,"modal-body"],[1,"form-group","row"],["for","key",1,"cd-col-form-label","required"],t,[1,"cd-col-form-input"],["type","text","formControlName","key","id","key",1,"form-control"],["class","invalid-feedback",4,"ngIf"],["for","value",1,"cd-col-form-label","required"],o,["id","value","type","text","formControlName","value",1,"form-control"],[1,"modal-footer"],[3,"form","submitText","submitActionEvent"],[1,"invalid-feedback"],c,O,H,Q,J]},template:function(t,o){if(1&t&&(e.TgZ(0,"cd-modal",0)(1,"span",1),e.SDv(2,2),e.qZA(),e.ynx(3,3),e.TgZ(4,"form",4,5)(6,"div",6)(7,"div",7)(8,"label",8),e.SDv(9,9),e.qZA(),e.TgZ(10,"div",10),e._UZ(11,"input",11),e.YNc(12,xn,2,0,"span",12),e.YNc(13,Zn,2,0,"span",12),e.YNc(14,kn,2,0,"span",12),e.qZA()(),e.TgZ(15,"div",7)(16,"label",13),e.SDv(17,14),e.qZA(),e.TgZ(18,"div",10),e._UZ(19,"input",15),e.YNc(20,Bn,2,0,"span",12),e.YNc(21,zn,2,0,"span",12),e.qZA()()(),e.TgZ(22,"div",16)(23,"cd-form-button-panel",17),e.NdJ("submitActionEvent",function(){return o.onSubmit()}),e.qZA()()(),e.BQk(),e.qZA()),2&t){const c=e.MAs(5);e.Q6J("modalRef",o.activeModal),e.xp6(2),e.pQV(o.getMode()),e.QtT(2),e.xp6(2),e.Q6J("formGroup",o.form),e.xp6(8),e.Q6J("ngIf",o.form.showError("key",c,"required")),e.xp6(1),e.Q6J("ngIf",o.form.showError("key",c,"unique")),e.xp6(1),e.Q6J("ngIf",o.form.showError("key",c,"maxLength")),e.xp6(6),e.Q6J("ngIf",o.form.showError("value",c,"required")),e.xp6(1),e.Q6J("ngIf",o.form.showError("value",c,"maxLength")),e.xp6(2),e.Q6J("form",o.form)("submitText",o.getMode())}},dependencies:[g.O5,Ie.z,we.p,Oe.o,Ae.b,We.P,C.V,r._Y,r.Fj,r.JJ,r.JL,r.sg,r.u]}),n})();var Qe=d(63285),Hn=d(24737),Ve=d(34501);const Xn=["*"];let Kn=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-help-text"]],ngContentSelectors:Xn,decls:2,vars:0,consts:[[1,"form-text","text-muted"]],template:function(t,o){1&t&&(e.F$t(),e.TgZ(0,"div",0),e.Hsn(1),e.qZA())},styles:["legend .text-muted{font-size:small}"]}),n})();var Qn=d(1372),st=d(82945),cn=d(63622),Ye=d(10545);const Yn=["bucketPolicyTextArea"];function Jn(n,i){1&n&&(e.TgZ(0,"div",10)(1,"label",39),e.SDv(2,60),e.qZA(),e.TgZ(3,"div",13),e._UZ(4,"input",61),e.qZA()())}function Vn(n,i){1&n&&(e.TgZ(0,"span",62),e.SDv(1,63),e.qZA())}function jn(n,i){1&n&&(e.TgZ(0,"span",62),e.SDv(1,64),e.qZA())}function eo(n,i){1&n&&(e.TgZ(0,"span",62),e.SDv(1,65),e.qZA())}function to(n,i){1&n&&(e.TgZ(0,"span",62),e.SDv(1,66),e.qZA())}function no(n,i){1&n&&(e.TgZ(0,"span",62),e.SDv(1,67),e.qZA())}function oo(n,i){1&n&&(e.TgZ(0,"span",62),e.SDv(1,68),e.qZA())}function io(n,i){1&n&&(e.TgZ(0,"span",62),e.SDv(1,69),e.qZA())}function _o(n,i){1&n&&(e.TgZ(0,"span",62),e.SDv(1,70),e.qZA())}function ro(n,i){1&n&&(e.TgZ(0,"option",71),e.SDv(1,72),e.qZA()),2&n&&e.Q6J("ngValue",null)}function so(n,i){1&n&&(e.TgZ(0,"option",71),e.SDv(1,73),e.qZA()),2&n&&e.Q6J("ngValue",null)}function ao(n,i){if(1&n&&(e.TgZ(0,"option",74),e._uU(1),e.qZA()),2&n){const t=i.$implicit;e.Q6J("value",t),e.xp6(1),e.Oqu(t)}}function lo(n,i){1&n&&(e.TgZ(0,"span",62),e.SDv(1,75),e.qZA())}function co(n,i){if(1&n){const t=e.EpF();e.TgZ(0,"fieldset")(1,"legend",22),e.SDv(2,76),e.qZA(),e.TgZ(3,"div",10)(4,"div",77)(5,"div",78)(6,"input",79),e.NdJ("change",function(){e.CHM(t);const c=e.oxw(2);return e.KtG(c.setMfaDeleteValidators())}),e.qZA(),e.TgZ(7,"label",80),e.SDv(8,81),e.qZA(),e.TgZ(9,"cd-helper")(10,"span"),e.SDv(11,82),e.qZA()()()()()()}}function uo(n,i){1&n&&(e.TgZ(0,"span",62),e.SDv(1,91),e.qZA())}function fo(n,i){if(1&n&&(e.TgZ(0,"div",10)(1,"label",88),e.SDv(2,89),e.qZA(),e.TgZ(3,"div",13),e._UZ(4,"input",90),e.YNc(5,uo,2,0,"span",15),e.qZA()()),2&n){e.oxw(2);const t=e.MAs(2),o=e.oxw();e.xp6(5),e.Q6J("ngIf",o.bucketForm.showError("mfa-token-serial",t,"required"))}}function po(n,i){1&n&&(e.TgZ(0,"span",62),e.SDv(1,95),e.qZA())}function go(n,i){if(1&n&&(e.TgZ(0,"div",10)(1,"label",92),e.SDv(2,93),e.qZA(),e.TgZ(3,"div",13),e._UZ(4,"input",94),e.YNc(5,po,2,0,"span",15),e.qZA()()),2&n){e.oxw(2);const t=e.MAs(2),o=e.oxw();e.xp6(5),e.Q6J("ngIf",o.bucketForm.showError("mfa-token-pin",t,"required"))}}function To(n,i){if(1&n){const t=e.EpF();e.TgZ(0,"fieldset")(1,"legend",22),e.SDv(2,83),e.qZA(),e.TgZ(3,"div",10)(4,"div",77)(5,"div",78)(6,"input",84),e.NdJ("change",function(){e.CHM(t);const c=e.oxw(2);return e.KtG(c.setMfaDeleteValidators())}),e.qZA(),e.TgZ(7,"label",85),e.SDv(8,86),e.qZA(),e.TgZ(9,"cd-helper")(10,"span"),e.SDv(11,87),e.qZA()()()()(),e.YNc(12,fo,6,1,"div",9),e.YNc(13,go,6,1,"div",9),e.qZA()}if(2&n){const t=e.oxw(2);e.xp6(12),e.Q6J("ngIf",t.areMfaCredentialsRequired()),e.xp6(1),e.Q6J("ngIf",t.areMfaCredentialsRequired())}}function Eo(n,i){1&n&&(e.TgZ(0,"span"),e.SDv(1,110),e.qZA())}function Ro(n,i){1&n&&(e.TgZ(0,"span"),e.SDv(1,111),e.qZA())}function mo(n,i){if(1&n&&(e.TgZ(0,"div",10)(1,"label",103),e.SDv(2,104),e.qZA(),e.TgZ(3,"div",13)(4,"select",105)(5,"option",106),e.SDv(6,107),e.qZA(),e.TgZ(7,"option",108),e.SDv(8,109),e.qZA()(),e.TgZ(9,"cd-help-text"),e.YNc(10,Eo,2,0,"span",21),e.YNc(11,Ro,2,0,"span",21),e.qZA()()()),2&n){const t=e.oxw(3);e.xp6(10),e.Q6J("ngIf","COMPLIANCE"===t.bucketForm.getValue("lock_mode")),e.xp6(1),e.Q6J("ngIf","GOVERNANCE"===t.bucketForm.getValue("lock_mode"))}}function ho(n,i){1&n&&(e.TgZ(0,"span",62),e.SDv(1,116),e.qZA())}function Mo(n,i){1&n&&(e.TgZ(0,"span",62),e.SDv(1,117),e.qZA())}function So(n,i){if(1&n&&(e.TgZ(0,"div",10)(1,"label",112),e.ynx(2),e.SDv(3,113),e.BQk(),e.qZA(),e.TgZ(4,"div",13),e._UZ(5,"input",114),e.TgZ(6,"cd-help-text")(7,"span"),e.SDv(8,115),e.qZA()(),e.YNc(9,ho,2,0,"span",15),e.YNc(10,Mo,2,0,"span",15),e.qZA()()),2&n){e.oxw(2);const t=e.MAs(2),o=e.oxw();e.xp6(9),e.Q6J("ngIf",o.bucketForm.showError("lock_retention_period_days",t,"pattern")),e.xp6(1),e.Q6J("ngIf",o.bucketForm.showError("lock_retention_period_days",t,"lockDays"))}}function Co(n,i){1&n&&(e.TgZ(0,"cd-alert-panel",118),e._uU(1," Bucket Versioning can't be disabled when Object Locking is enabled. "),e.qZA())}function Fo(n,i){1&n&&(e.TgZ(0,"cd-alert-panel",119),e._uU(1," Enabling Object Locking will allow the configuration of GOVERNANCE or COMPLIANCE modes, which will help ensure that an object version cannot be overwritten or deleted for the specified period. "),e.qZA())}function Oo(n,i){if(1&n&&(e.TgZ(0,"fieldset")(1,"legend",22),e.tHW(2,96),e._UZ(3,"cd-help-text"),e.N_p(),e.qZA(),e.TgZ(4,"div",10)(5,"label",97),e.SDv(6,98),e.qZA(),e.TgZ(7,"div",13),e._UZ(8,"input",99),e.TgZ(9,"cd-help-text")(10,"span"),e.SDv(11,100),e.qZA()()()(),e.YNc(12,mo,12,2,"div",9),e.YNc(13,So,11,2,"div",9),e.TgZ(14,"div",10),e._UZ(15,"div",49),e.TgZ(16,"div",13),e.YNc(17,Co,2,0,"cd-alert-panel",101),e.YNc(18,Fo,2,0,"cd-alert-panel",102),e.qZA()()()),2&n){const t=e.oxw(2);e.xp6(12),e.Q6J("ngIf",t.bucketForm.getValue("lock_enabled")),e.xp6(1),e.Q6J("ngIf",t.bucketForm.getValue("lock_enabled")),e.xp6(4),e.Q6J("ngIf",t.bucketForm.getValue("lock_enabled")),e.xp6(1),e.Q6J("ngIf",t.bucketForm.getValue("lock_enabled"))}}function No(n,i){1&n&&(e.TgZ(0,"option",71),e.SDv(1,130),e.qZA()),2&n&&e.Q6J("ngValue",null)}function Po(n,i){if(1&n&&(e.TgZ(0,"option",74),e._uU(1),e.qZA()),2&n){const t=i.$implicit;e.Q6J("value",t),e.xp6(1),e.Oqu(t)}}function Ao(n,i){1&n&&(e.TgZ(0,"span",62),e.SDv(1,131),e.qZA())}function bo(n,i){if(1&n&&(e.TgZ(0,"div")(1,"div",10)(2,"label",127),e.SDv(3,128),e.qZA(),e.TgZ(4,"div",13)(5,"select",129),e.YNc(6,No,2,1,"option",19),e.YNc(7,Po,2,2,"option",20),e.qZA(),e.YNc(8,Ao,2,0,"span",15),e.qZA()()()),2&n){e.oxw(2);const t=e.MAs(2),o=e.oxw();e.xp6(5),e.Q6J("autofocus",o.editing),e.xp6(1),e.Q6J("ngIf",null!==o.kmsProviders),e.xp6(1),e.Q6J("ngForOf",o.kmsProviders),e.xp6(1),e.Q6J("ngIf",o.bucketForm.showError("kms_provider",t,"required"))}}function Io(n,i){1&n&&(e.TgZ(0,"span",62),e.SDv(1,135),e.qZA())}function Go(n,i){if(1&n&&(e.TgZ(0,"div")(1,"div",10)(2,"label",132),e.SDv(3,133),e.qZA(),e.TgZ(4,"div",13),e._UZ(5,"input",134),e.YNc(6,Io,2,0,"span",15),e.qZA()()()),2&n){e.oxw(2);const t=e.MAs(2),o=e.oxw();e.xp6(6),e.Q6J("ngIf",o.bucketForm.showError("keyId",t,"required"))}}function yo(n,i){if(1&n&&(e.TgZ(0,"div")(1,"div",10)(2,"div",77)(3,"div",120),e._UZ(4,"input",121),e.TgZ(5,"label",122),e.SDv(6,123),e.qZA()()()(),e.TgZ(7,"div",10)(8,"div",77)(9,"div",120),e._UZ(10,"input",124),e.TgZ(11,"label",125),e.SDv(12,126),e.qZA()()()(),e.YNc(13,bo,9,4,"div",21),e.YNc(14,Go,7,1,"div",21),e.qZA()),2&n){const t=e.oxw(2);e.xp6(4),e.uIk("disabled",!t.s3VaultConfig||null),e.xp6(6),e.uIk("disabled",!t.kmsVaultConfig||null),e.xp6(3),e.Q6J("ngIf","aws:kms"===t.bucketForm.getValue("encryption_type")),e.xp6(1),e.Q6J("ngIf","aws:kms"===t.bucketForm.getValue("encryption_type"))}}function Lo(n,i){1&n&&e.GkF(0)}const Do=function(n,i){return{index:n,tag:i}};function vo(n,i){if(1&n&&(e.TgZ(0,"span"),e.YNc(1,Lo,1,0,"ng-container",136),e.qZA()),2&n){const t=i.$implicit,o=i.index;e.oxw(2);const c=e.MAs(2);e.xp6(1),e.Q6J("ngTemplateOutlet",c)("ngTemplateOutletContext",e.WLB(2,Do,o,t))}}function wo(n,i){1&n&&(e.TgZ(0,"strong",137),e.SDv(1,138),e.qZA())}function Wo(n,i){1&n&&(e.TgZ(0,"span",62),e.SDv(1,139),e.qZA())}function Uo(n,i){if(1&n&&(e.TgZ(0,"option",74),e.SDv(1,140),e.qZA()),2&n){const t=i.$implicit;e.Q6J("value",t),e.xp6(1),e.pQV(t),e.QtT(1)}}function $o(n,i){1&n&&(e.TgZ(0,"span",62),e.SDv(1,141),e.qZA())}function xo(n,i){if(1&n&&(e.TgZ(0,"option",74),e.SDv(1,142),e.qZA()),2&n){const t=i.$implicit;e.Q6J("value",t),e.xp6(1),e.pQV(t),e.QtT(1)}}function Zo(n,i){1&n&&(e.TgZ(0,"span",62),e.SDv(1,143),e.qZA())}function ko(n,i){1&n&&(e.TgZ(0,"option",71),e.SDv(1,148),e.qZA()),2&n&&e.Q6J("ngValue",null)}function Bo(n,i){1&n&&(e.TgZ(0,"option",71),e.SDv(1,149),e.qZA()),2&n&&e.Q6J("ngValue",null)}function zo(n,i){if(1&n&&(e.TgZ(0,"option",74),e._uU(1),e.qZA()),2&n){const t=i.$implicit;e.Q6J("value",t.name),e.xp6(1),e.Oqu(t.description)}}function qo(n,i){if(1&n&&(e.TgZ(0,"cd-form-advanced-fieldset")(1,"div",10)(2,"label",144),e.SDv(3,145),e.qZA(),e.TgZ(4,"div",13)(5,"select",146),e.YNc(6,ko,2,1,"option",19),e.YNc(7,Bo,2,1,"option",19),e.YNc(8,zo,2,2,"option",20),e.qZA(),e.TgZ(9,"cd-help-text")(10,"span"),e.SDv(11,147),e.qZA()()()()()),2&n){const t=e.oxw(2);e.xp6(6),e.Q6J("ngIf",null===t.placementTargets),e.xp6(1),e.Q6J("ngIf",null!==t.placementTargets),e.xp6(1),e.Q6J("ngForOf",t.placementTargets)}}const Ho=function(n){return{required:n}},je=function(n){return[n]};function Xo(n,i){if(1&n){const t=e.EpF();e.TgZ(0,"div",2)(1,"form",3,4)(3,"div",5)(4,"div",6),e.SDv(5,7),e.ALo(6,"titlecase"),e.ALo(7,"upperFirst"),e.qZA(),e.TgZ(8,"div",8),e.YNc(9,Jn,5,0,"div",9),e.TgZ(10,"div",10)(11,"label",11),e.SDv(12,12),e.qZA(),e.TgZ(13,"div",13),e._UZ(14,"input",14),e.YNc(15,Vn,2,0,"span",15),e.YNc(16,jn,2,0,"span",15),e.YNc(17,eo,2,0,"span",15),e.YNc(18,to,2,0,"span",15),e.YNc(19,no,2,0,"span",15),e.YNc(20,oo,2,0,"span",15),e.YNc(21,io,2,0,"span",15),e.YNc(22,_o,2,0,"span",15),e.qZA()(),e.TgZ(23,"div",10)(24,"label",16),e.SDv(25,17),e.qZA(),e.TgZ(26,"div",13)(27,"select",18),e.YNc(28,ro,2,1,"option",19),e.YNc(29,so,2,1,"option",19),e.YNc(30,ao,2,2,"option",20),e.qZA(),e.YNc(31,lo,2,0,"span",15),e.qZA()(),e.YNc(32,co,12,0,"fieldset",21),e.YNc(33,To,14,2,"fieldset",21),e.YNc(34,Oo,19,4,"fieldset",21),e.TgZ(35,"fieldset")(36,"legend",22),e.SDv(37,23),e.qZA(),e.TgZ(38,"div",10)(39,"label",24),e.SDv(40,25),e.qZA(),e.TgZ(41,"div",13),e._UZ(42,"input",26),e.TgZ(43,"cd-help-text",27)(44,"span"),e.tHW(45,28),e.TgZ(46,"a",29),e.NdJ("click",function(){e.CHM(t);const c=e.oxw();return e.KtG(c.openConfigModal())}),e.qZA(),e.N_p(),e.qZA()()()(),e.YNc(47,yo,15,4,"div",21),e.qZA(),e.TgZ(48,"fieldset")(49,"legend",22),e.tHW(50,30),e._UZ(51,"cd-help-text"),e.N_p(),e.qZA(),e.YNc(52,vo,2,5,"span",31),e.TgZ(53,"div",32)(54,"div",33),e.YNc(55,wo,2,0,"strong",34),e.TgZ(56,"button",35),e.NdJ("click",function(){e.CHM(t);const c=e.oxw();return e.KtG(c.showTagModal())}),e._UZ(57,"i",36),e.ynx(58),e.SDv(59,37),e.BQk(),e.qZA()()()(),e.TgZ(60,"fieldset")(61,"legend",22),e.SDv(62,38),e.qZA(),e.TgZ(63,"div",32)(64,"div",33)(65,"div",10)(66,"label",39),e.SDv(67,40),e.qZA(),e.TgZ(68,"div",13)(69,"textarea",41,42),e.NdJ("change",function(){e.CHM(t);const c=e.oxw();return e.KtG(c.bucketPolicyOnChange())}),e._uU(71," "),e.qZA(),e.YNc(72,Wo,2,0,"span",15),e.TgZ(73,"button",43),e.NdJ("click",function(){e.CHM(t);const c=e.oxw();return e.KtG(c.clearBucketPolicy())}),e.tHW(74,44),e._UZ(75,"i",36),e.N_p(),e.qZA(),e.TgZ(76,"div",45)(77,"button",46),e.NdJ("click",function(){e.CHM(t);const c=e.oxw();return e.KtG(c.openUrl("https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies.html?icmpid=docs_amazons3_console"))}),e.tHW(78,47),e._UZ(79,"i",36),e.N_p(),e.qZA(),e.TgZ(80,"button",46),e.NdJ("click",function(){e.CHM(t);const c=e.oxw();return e.KtG(c.openUrl("https://awspolicygen.s3.amazonaws.com/policygen.html"))}),e.tHW(81,48),e._UZ(82,"i",36),e.N_p(),e.qZA()()()(),e.TgZ(83,"div",10)(84,"label",49),e.tHW(85,50),e._UZ(86,"cd-helper"),e.N_p(),e.qZA(),e.TgZ(87,"div",13)(88,"div",51)(89,"span",52),e.tHW(90,53),e._UZ(91,"cd-helper"),e.N_p(),e.qZA(),e.TgZ(92,"select",54),e.NdJ("change",function(){e.CHM(t);const c=e.oxw();return e.KtG(c.onSelectionFilter())}),e.YNc(93,Uo,2,2,"option",20),e.qZA(),e.YNc(94,$o,2,0,"span",15),e.TgZ(95,"span",55),e.tHW(96,56),e._UZ(97,"cd-helper"),e.N_p(),e.qZA(),e.TgZ(98,"select",57),e.YNc(99,xo,2,2,"option",20),e.qZA(),e.YNc(100,Zo,2,0,"span",15),e.qZA()()()()()(),e.YNc(101,qo,12,3,"cd-form-advanced-fieldset",21),e.qZA(),e.TgZ(102,"div",58)(103,"cd-form-button-panel",59),e.NdJ("submitActionEvent",function(){e.CHM(t);const c=e.oxw();return e.KtG(c.submit())}),e.ALo(104,"titlecase"),e.ALo(105,"upperFirst"),e.qZA()()()()()}if(2&n){const t=e.MAs(2),o=e.oxw();e.xp6(1),e.Q6J("formGroup",o.bucketForm),e.xp6(6),e.pQV(e.lcZ(6,40,o.action))(e.lcZ(7,42,o.resource)),e.QtT(5),e.xp6(2),e.Q6J("ngIf",o.editing),e.xp6(2),e.Q6J("ngClass",e.VKq(48,Ho,!o.editing)),e.xp6(3),e.Q6J("readonly",o.editing)("autofocus",!o.editing),e.xp6(1),e.Q6J("ngIf",o.bucketForm.showError("bid",t,"required")),e.xp6(1),e.Q6J("ngIf",o.bucketForm.showError("bid",t,"bucketNameInvalid")),e.xp6(1),e.Q6J("ngIf",o.bucketForm.showError("bid",t,"bucketNameNotAllowed")),e.xp6(1),e.Q6J("ngIf",o.bucketForm.showError("bid",t,"containsUpperCase")),e.xp6(1),e.Q6J("ngIf",o.bucketForm.showError("bid",t,"lowerCaseOrNumber")),e.xp6(1),e.Q6J("ngIf",o.bucketForm.showError("bid",t,"ipAddress")),e.xp6(1),e.Q6J("ngIf",o.bucketForm.showError("bid",t,"onlyLowerCaseAndNumbers")),e.xp6(1),e.Q6J("ngIf",o.bucketForm.showError("bid",t,"shouldBeInRange")),e.xp6(5),e.Q6J("autofocus",o.editing),e.xp6(1),e.Q6J("ngIf",null===o.owners),e.xp6(1),e.Q6J("ngIf",null!==o.owners),e.xp6(1),e.Q6J("ngForOf",o.owners),e.xp6(1),e.Q6J("ngIf",o.bucketForm.showError("owner",t,"required")),e.xp6(1),e.Q6J("ngIf",o.editing),e.xp6(1),e.Q6J("ngIf",o.editing),e.xp6(1),e.Q6J("ngIf",!o.editing||o.editing&&o.bucketForm.getValue("lock_enabled")),e.xp6(8),e.uIk("disabled",!o.kmsVaultConfig&&!o.s3VaultConfig||null),e.xp6(5),e.Q6J("ngIf",o.bucketForm.getValue("encryption_enabled")),e.xp6(5),e.Q6J("ngForOf",o.tags),e.xp6(3),e.Q6J("ngIf",o.tags.length>19),e.xp6(1),e.Q6J("disabled",o.tags.length>19),e.xp6(1),e.Q6J("ngClass",e.VKq(50,je,o.icons.add)),e.xp6(15),e.Q6J("ngIf",o.bucketForm.showError("bucket_policy",t,"invalidJson")),e.xp6(3),e.Q6J("ngClass",e.VKq(52,je,o.icons.destroy)),e.xp6(4),e.Q6J("ngClass",e.VKq(54,je,o.icons.externalUrl)),e.xp6(3),e.Q6J("ngClass",e.VKq(56,je,o.icons.externalUrl)),e.xp6(11),e.Q6J("ngForOf",o.grantees),e.xp6(1),e.Q6J("ngIf",o.bucketForm.showError("grantee",t,"required")),e.xp6(5),e.Q6J("ngForOf",o.aclPermissions),e.xp6(1),e.Q6J("ngIf",o.bucketForm.showError("aclPermission",t,"required")),e.xp6(1),e.Q6J("ngIf",!o.editing),e.xp6(2),e.Q6J("form",o.bucketForm)("submitText",e.lcZ(104,44,o.action)+" "+e.lcZ(105,46,o.resource))}}function Ko(n,i){if(1&n&&(e.ynx(0),e._UZ(1,"input",153),e.BQk()),2&n){const t=i.$implicit,o=e.oxw(),c=o.index,O=o.tag;e.xp6(1),e.hYB("id","tag-",t.attribute,"-",c,""),e.Q6J("ngbTooltip",t.attribute)("value",O[t.attribute])}}function Qo(n,i){if(1&n){const t=e.EpF();e.TgZ(0,"div",150),e.YNc(1,Ko,2,4,"ng-container",31),e.TgZ(2,"button",151),e.NdJ("click",function(){const O=e.CHM(t).index,H=e.oxw();return e.KtG(H.showTagModal(O))}),e._UZ(3,"i",36),e.qZA(),e.TgZ(4,"button",152),e.NdJ("click",function(){const O=e.CHM(t).index,H=e.oxw();return e.KtG(H.deleteTag(O))}),e._UZ(5,"i",36),e.qZA()()}if(2&n){const t=i.index,o=e.oxw();e.xp6(1),e.Q6J("ngForOf",o.tagConfig),e.xp6(1),e.MGl("id","tag-edit-",t,""),e.xp6(1),e.Q6J("ngClass",e.VKq(5,je,o.icons.edit)),e.xp6(1),e.MGl("id","tag-delete-",t,""),e.xp6(1),e.Q6J("ngClass",e.VKq(7,je,o.icons.trash))}}let un=(()=>{class n extends q.E{get isVersioningEnabled(){return this.bucketForm.getValue("versioning")}get isMfaDeleteEnabled(){return this.bucketForm.getValue("mfa-delete")}constructor(t,o,c,O,H,Q,J,j,oe,Te,Me,Fe){super(),this.route=t,this.router=o,this.formBuilder=c,this.rgwBucketService=O,this.rgwSiteService=H,this.modalService=Q,this.rgwUserService=J,this.notificationService=j,this.rgwEncryptionModal=oe,this.textAreaJsonFormatterService=Te,this.actionLabels=Me,this.changeDetectorRef=Fe,this.editing=!1,this.owners=null,this.kmsProviders=null,this.placementTargets=[],this.isVersioningAlreadyEnabled=!1,this.isMfaDeleteAlreadyEnabled=!1,this.icons=$.P,this.kmsVaultConfig=!1,this.s3VaultConfig=!1,this.tags=[],this.dirtyTags=!1,this.tagConfig=[{attribute:"key"},{attribute:"value"}],this.grantees=[pe.Owner,pe.Everyone,pe.AuthenticatedUsers],this.aclPermissions=[ne.FullControl],this.editing=this.router.url.startsWith(`/rgw/bucket/${l.MQ.EDIT}`),this.action=this.editing?this.actionLabels.EDIT:this.actionLabels.CREATE,this.resource="bucket",this.createForm()}ngAfterViewChecked(){this.changeDetectorRef.detectChanges(),this.bucketPolicyOnChange()}createForm(){const t=this,o=z.h.custom("lockDays",()=>{if(!t.bucketForm||!v().get(t.bucketForm.getRawValue(),"lock_enabled"))return!1;const c=Number(t.bucketForm.getValue("lock_retention_period_days"));return!Number.isInteger(c)||0===c});this.bucketForm=this.formBuilder.group({id:[null],bid:[null,[r.kI.required],this.editing?[]:[z.h.bucketName(),z.h.bucketExistence(!1,this.rgwBucketService)]],owner:[null,[r.kI.required]],kms_provider:["vault"],"placement-target":[null],versioning:[null],"mfa-delete":[null],"mfa-token-serial":[""],"mfa-token-pin":[""],lock_enabled:[{value:!1,disabled:this.editing}],encryption_enabled:[null],encryption_type:[null,[z.h.requiredIf({encryption_enabled:!0})]],keyId:[null,[z.h.requiredIf({encryption_type:"aws:kms",encryption_enabled:!0})]],lock_mode:["COMPLIANCE"],lock_retention_period_days:[10,[z.h.number(!1),o]],bucket_policy:["{}",z.h.json()],grantee:[pe.Owner,[r.kI.required]],aclPermission:[[ne.FullControl],[r.kI.required]]})}ngOnInit(){const t={owners:this.rgwUserService.enumerate()};this.kmsProviders=this.rgwEncryptionModal.kmsProviders,this.rgwBucketService.getEncryptionConfig().subscribe(o=>{this.kmsVaultConfig=o[0],this.s3VaultConfig=o[1],this.kmsVaultConfig&&this.s3VaultConfig?this.bucketForm.get("encryption_type").setValue(""):this.kmsVaultConfig?this.bucketForm.get("encryption_type").setValue("aws:kms"):this.s3VaultConfig?this.bucketForm.get("encryption_type").setValue("AES256"):this.bucketForm.get("encryption_type").setValue("")}),this.editing||(t.getPlacementTargets=this.rgwSiteService.get("placement-targets")),this.route.params.subscribe(o=>{if(o.hasOwnProperty("bid")){const c=decodeURIComponent(o.bid);t.getBid=this.rgwBucketService.get(c)}(0,k.D)(t).subscribe(c=>{if(this.owners=c.owners.sort(),c.getPlacementTargets){const O=c.getPlacementTargets;this.zonegroup=O.zonegroup,v().forEach(O.placement_targets,H=>{H.description=`${H.name} (${"pool"}: ${H.data_pool})`,this.placementTargets.push(H)}),1===this.placementTargets.length&&this.bucketForm.get("placement-target").setValue(this.placementTargets[0].name)}if(c.getBid){const O=c.getBid,H=v().clone(this.bucketForm.getRawValue());let Q=v().pick(O,v().keys(H));if(Q.lock_retention_period_days=this.rgwBucketService.getLockDays(O),Q["placement-target"]=O.placement_rule,Q.versioning=O.versioning===ue.ENABLED,Q["mfa-delete"]=O.mfa_delete===de.ENABLED,Q.encryption_enabled="Enabled"===O.encryption,O.tagset)for(const[J,j]of Object.entries(O.tagset))this.tags.push({key:J,value:j.toString()});Q=v().merge(H,Q),this.editing&&([Q.grantee,Q.aclPermission]=this.aclXmlToFormValues(O.acl,O.owner)),this.bucketForm.setValue(Q),this.editing&&(this.isVersioningAlreadyEnabled=this.isVersioningEnabled,this.isMfaDeleteAlreadyEnabled=this.isMfaDeleteEnabled,this.setMfaDeleteValidators(),Q.lock_enabled&&this.bucketForm.controls.versioning.disable(),Q.bucket_policy&&this.bucketForm.get("bucket_policy").setValue(JSON.stringify(Q.bucket_policy,null,2)),this.filterAclPermissions())}this.loadingReady()})})}goToListView(){this.router.navigate(["/rgw/bucket"])}submit(){if(null==this.bucketForm.getValue("encryption_enabled")&&(this.bucketForm.get("encryption_enabled").setValue(!1),this.bucketForm.get("encryption_type").setValue(null)),this.bucketForm.pristine)return void this.goToListView();const t=this.bucketForm.value,o=this.tagsToXML(this.tags),c=this.getBucketPolicy(),O=this.permissionToCannedAcl();if(this.editing){const H=this.getVersioningStatus(),Q=this.getMfaDeleteStatus();this.rgwBucketService.update(t.bid,t.id,t.owner,H,t.encryption_enabled,t.encryption_type,t.keyId,Q,t["mfa-token-serial"],t["mfa-token-pin"],t.lock_mode,t.lock_retention_period_days,o,c,O).subscribe(()=>{this.notificationService.show(M.k.success,"Updated Object Gateway bucket '\n " + t.bid + "'.\n "),this.goToListView()},()=>{this.bucketForm.setErrors({cdSubmitButton:!0})})}else this.rgwBucketService.create(t.bid,t.owner,this.zonegroup,t["placement-target"],t.lock_enabled,t.lock_mode,t.lock_retention_period_days,t.encryption_enabled,t.encryption_type,t.keyId,o,c,O).subscribe(()=>{this.notificationService.show(M.k.success,"Created Object Gateway bucket '\n " + t.bid + "'\n "),this.goToListView()},()=>{this.bucketForm.setErrors({cdSubmitButton:!0})})}areMfaCredentialsRequired(){return this.isMfaDeleteEnabled!==this.isMfaDeleteAlreadyEnabled||this.isMfaDeleteAlreadyEnabled&&this.isVersioningEnabled!==this.isVersioningAlreadyEnabled}setMfaDeleteValidators(){const t=this.bucketForm.get("mfa-token-serial"),o=this.bucketForm.get("mfa-token-pin");this.areMfaCredentialsRequired()?(t.setValidators(r.kI.required),o.setValidators(r.kI.required)):(t.setValidators(null),o.setValidators(null)),t.updateValueAndValidity(),o.updateValueAndValidity()}getVersioningStatus(){return this.isVersioningEnabled?ue.ENABLED:ue.SUSPENDED}getMfaDeleteStatus(){return this.isMfaDeleteEnabled?de.ENABLED:de.DISABLED}getBucketPolicy(){return this.bucketForm.getValue("bucket_policy")||"{}"}fileUpload(t,o){const c=t[0];(new FileReader).addEventListener("load",()=>{const H=this.bucketForm.get(o);H.setValue(c),H.markAsDirty(),H.markAsTouched(),H.updateValueAndValidity()})}bucketPolicyOnChange(){this.bucketPolicyTextArea&&this.textAreaJsonFormatterService.format(this.bucketPolicyTextArea)}openUrl(t){window.open(t,"_blank")}clearBucketPolicy(){this.bucketForm.get("bucket_policy").setValue("{}"),this.bucketForm.markAsDirty(),this.bucketForm.updateValueAndValidity()}openConfigModal(){this.modalService.show($n,null,{size:"lg"}).componentInstance.configForm.get("encryptionType").setValue(this.bucketForm.getValue("encryption_type")||"AES256")}showTagModal(t){const c=this.modalService.show(qn).componentInstance;c.currentKeyTags=this.tags.map(O=>O.key),v().isNumber(t)&&(c.editMode=!0,c.fillForm(this.tags[t]),c.storedKey=this.tags[t].key),c.submitAction.subscribe(O=>{this.setTag(O,t)})}deleteTag(t){this.tags.splice(t,1),this.dirtyTags=!0,this.bucketForm.markAsDirty(),this.bucketForm.updateValueAndValidity()}setTag(t,o){v().isNumber(o)?this.tags[o]=t:this.tags.push(t),this.dirtyTags=!0,this.bucketForm.markAsDirty(),this.bucketForm.updateValueAndValidity()}tagsToXML(t){if(!this.dirtyTags&&0===t.length)return"";let o="";for(const c of t){o+="";for(const O in c)"key"===O?o+=`${c[O]}`:"value"===O&&(o+=`${c[O]}`);o+=""}return o+="",o}aclXmlToFormValues(t,o){const c=new P.Parser({explicitArray:!1,trim:!0});let O=ne.FullControl,H=pe.Owner;return c.parseString(t,(Q,J)=>{if(Q)return null;const j=J.AccessControlPolicy.AccessControlList.Grant;for(let oe=0;oe-1),e.xp6(4),e.Q6J("ngIf",t.selection.bucket_quota.max_objects<=-1),e.xp6(1),e.Q6J("ngIf",t.selection.bucket_quota.max_objects>-1)}}function ni(n,i){if(1&n&&(e.ynx(0),e.TgZ(1,"tr")(2,"td",14),e.SDv(3,28),e.qZA(),e.TgZ(4,"td"),e._uU(5),e.qZA()(),e.TgZ(6,"tr")(7,"td",14),e.SDv(8,29),e.qZA(),e.TgZ(9,"td"),e._uU(10),e.qZA()(),e.BQk()),2&n){const t=e.oxw(3);e.xp6(5),e.Oqu(t.selection.lock_mode),e.xp6(5),e.Oqu(t.selection.lock_retention_period_days)}}function oi(n,i){if(1&n&&(e.TgZ(0,"tr")(1,"td",11),e.SDv(2,32),e.qZA(),e.TgZ(3,"td",13),e._uU(4),e.qZA()()),2&n){const t=i.$implicit;e.xp6(2),e.pQV(t.key),e.QtT(2),e.xp6(2),e.Oqu(t.value)}}function ii(n,i){if(1&n&&(e.ynx(0),e.TgZ(1,"legend"),e.SDv(2,30),e.qZA(),e.TgZ(3,"table",10)(4,"tbody"),e.YNc(5,oi,5,2,"tr",31),e.ALo(6,"keyvalue"),e.qZA()(),e.BQk()),2&n){const t=e.oxw(3);e.xp6(5),e.Q6J("ngForOf",e.lcZ(6,1,t.selection.tagset))}}function _i(n,i){if(1&n&&(e.TgZ(0,"table",10)(1,"tbody")(2,"tr")(3,"td",11),e.SDv(4,12),e.qZA(),e.TgZ(5,"td",13),e._uU(6),e.qZA()(),e.TgZ(7,"tr")(8,"td",14),e.SDv(9,15),e.qZA(),e.TgZ(10,"td"),e._uU(11),e.qZA()(),e.TgZ(12,"tr")(13,"td",14),e.SDv(14,16),e.qZA(),e.TgZ(15,"td"),e._uU(16),e.qZA()(),e.TgZ(17,"tr")(18,"td",14),e.SDv(19,17),e.qZA(),e.TgZ(20,"td"),e._uU(21),e.qZA()(),e.TgZ(22,"tr")(23,"td",14),e.SDv(24,18),e.qZA(),e.TgZ(25,"td"),e._uU(26),e.qZA()(),e.TgZ(27,"tr")(28,"td",14),e.SDv(29,19),e.qZA(),e.TgZ(30,"td"),e._uU(31),e.ALo(32,"cdDate"),e.qZA()()()(),e.TgZ(33,"div")(34,"legend"),e.SDv(35,20),e.qZA(),e.TgZ(36,"table",10)(37,"tbody")(38,"tr")(39,"td",11),e.SDv(40,21),e.qZA(),e.TgZ(41,"td",13),e._uU(42),e.ALo(43,"booleanText"),e.qZA()(),e.YNc(44,ti,11,4,"ng-container",0),e.qZA()()(),e.TgZ(45,"legend"),e.SDv(46,22),e.qZA(),e.TgZ(47,"table",10)(48,"tbody")(49,"tr")(50,"td",11),e.SDv(51,23),e.qZA(),e.TgZ(52,"td",13),e._uU(53),e.ALo(54,"booleanText"),e.qZA()(),e.YNc(55,ni,11,2,"ng-container",0),e.qZA()(),e.YNc(56,ii,7,3,"ng-container",0),e.ALo(57,"keyvalue")),2&n){const t=e.oxw(2);let o;e.xp6(6),e.Oqu(t.selection.versioning),e.xp6(5),e.Oqu(t.selection.encryption),e.xp6(5),e.Oqu(t.selection.mfa_delete),e.xp6(5),e.Oqu(t.selection.index_type),e.xp6(5),e.Oqu(t.selection.placement_rule),e.xp6(5),e.Oqu(e.lcZ(32,11,t.selection.mtime)),e.xp6(11),e.Oqu(e.lcZ(43,13,t.selection.bucket_quota.enabled)),e.xp6(2),e.Q6J("ngIf",t.selection.bucket_quota.enabled),e.xp6(9),e.Oqu(e.lcZ(54,15,t.selection.lock_enabled)),e.xp6(2),e.Q6J("ngIf",t.selection.lock_enabled),e.xp6(1),e.Q6J("ngIf",null==(o=e.lcZ(57,17,t.selection.tagset))?null:o.length)}}function ri(n,i){if(1&n&&(e.TgZ(0,"table",10)(1,"tbody")(2,"tr")(3,"td",11),e.SDv(4,33),e.qZA(),e.TgZ(5,"td")(6,"pre"),e._uU(7),e.ALo(8,"json"),e.qZA()()(),e.TgZ(9,"tr")(10,"td",11),e.SDv(11,34),e.qZA(),e.TgZ(12,"td")(13,"table",35)(14,"thead")(15,"tr"),e.tHW(16,36),e._UZ(17,"th")(18,"th"),e.N_p(),e.qZA()(),e.TgZ(19,"tbody")(20,"tr"),e.tHW(21,37),e._UZ(22,"td")(23,"td"),e.N_p(),e.qZA(),e.TgZ(24,"tr"),e.tHW(25,38),e._UZ(26,"td")(27,"td"),e.N_p(),e.qZA(),e.TgZ(28,"tr"),e.tHW(29,39),e._UZ(30,"td")(31,"td"),e.N_p(),e.qZA()()()()()()()),2&n){const t=e.oxw(2);e.xp6(7),e.Oqu(e.lcZ(8,4,t.selection.bucket_policy)),e.xp6(16),e.pQV(t.aclPermissions.Owner||"-"),e.QtT(21),e.xp6(4),e.pQV(t.aclPermissions.AllUsers||"-"),e.QtT(25),e.xp6(4),e.pQV(t.aclPermissions.AuthenticatedUsers||"-"),e.QtT(29)}}function si(n,i){if(1&n&&(e.ynx(0),e.TgZ(1,"nav",1,2),e.ynx(3,3),e.TgZ(4,"a",4),e.SDv(5,5),e.qZA(),e.YNc(6,_i,58,19,"ng-template",6),e.BQk(),e.ynx(7,7),e.TgZ(8,"a",4),e.SDv(9,8),e.qZA(),e.YNc(10,ri,32,6,"ng-template",6),e.BQk(),e.qZA(),e._UZ(11,"div",9),e.BQk()),2&n){const t=e.MAs(2);e.xp6(11),e.Q6J("ngbNavOutlet",t)}}let ai=(()=>{class n{constructor(t){this.rgwBucketService=t,this.aclPermissions={}}ngOnChanges(){this.selection&&this.rgwBucketService.get(this.selection.bid).subscribe(t=>{t.lock_retention_period_days=this.rgwBucketService.getLockDays(t),this.selection=t,this.aclPermissions=this.parseXmlAcl(this.selection.acl,this.selection.owner)})}parseXmlAcl(t,o){const c=new P.Parser({explicitArray:!1,trim:!0});let O={Owner:["-"],AllUsers:["-"],AuthenticatedUsers:["-"]};return c.parseString(t,(H,Q)=>{if(H)return null;const J=Q.AccessControlPolicy.AccessControlList.Grant;if(Array.isArray(J))for(let j=0;j0&&t.bucket_quota.enabled)("ngIfElse",o)}}function pi(n,i){if(1&n&&e._UZ(0,"cd-usage-bar",12),2&n){const t=e.oxw().row;e.Q6J("total",t.bucket_quota.max_objects)("used",t.num_objects)("isBinary",!1)}}function gi(n,i){1&n&&e.SDv(0,13)}function Ti(n,i){if(1&n&&(e.YNc(0,pi,1,3,"cd-usage-bar",10),e.YNc(1,gi,1,0,"ng-template",null,11,e.W1O)),2&n){const t=i.row,o=e.MAs(2);e.Q6J("ngIf",t.bucket_quota.max_objects>0&&t.bucket_quota.enabled)("ngIfElse",o)}}let Ri=(()=>{class n extends en.o{constructor(t,o,c,O,H,Q,J,j){super(j),this.authStorageService=t,this.dimlessBinaryPipe=o,this.dimlessPipe=c,this.rgwBucketService=O,this.modalService=H,this.urlBuilder=Q,this.actionLabels=J,this.ngZone=j,this.columns=[],this.buckets=[],this.selection=new Vt.r}ngOnInit(){this.permission=this.authStorageService.getPermissions().rgw,this.columns=[{name:"Name",prop:"bid",flexGrow:2},{name:"Owner",prop:"owner",flexGrow:2.5},{name:"Used Capacity",prop:"bucket_size",flexGrow:.6,pipe:this.dimlessBinaryPipe},{name:"Capacity Limit %",prop:"size_usage",cellTemplate:this.bucketSizeTpl,flexGrow:.8},{name:"Objects",prop:"num_objects",flexGrow:.6,pipe:this.dimlessPipe},{name:"Object Limit %",prop:"object_usage",cellTemplate:this.bucketObjectTpl,flexGrow:.8}];const t=()=>this.selection.first()&&`${encodeURIComponent(this.selection.first().bid)}`;this.tableActions=[{permission:"create",icon:$.P.add,routerLink:()=>this.urlBuilder.getCreate(),name:this.actionLabels.CREATE,canBePrimary:H=>!H.hasSelection},{permission:"update",icon:$.P.edit,routerLink:()=>this.urlBuilder.getEdit(t()),name:this.actionLabels.EDIT},{permission:"delete",icon:$.P.destroy,click:()=>this.deleteAction(),disable:()=>!this.selection.hasSelection,name:this.actionLabels.DELETE,canBePrimary:H=>H.hasMultiSelection}],this.setTableRefreshTimeout()}transformBucketData(){v().forEach(this.buckets,t=>{const o=t.bucket_quota.max_size,c=t.bucket_quota.max_objects;t.bucket_size=0,t.num_objects=0,v().isEmpty(t.usage)||(t.bucket_size=t.usage["rgw.main"].size_actual,t.num_objects=t.usage["rgw.main"].num_objects),t.size_usage=o>0?t.bucket_size/o:void 0,t.object_usage=c>0?t.num_objects/c:void 0})}getBucketList(t){this.setTableRefreshTimeout(),this.rgwBucketService.list(!0).subscribe(o=>{this.buckets=o,this.transformBucketData()},()=>{t.error()})}updateSelection(t){this.selection=t}deleteAction(){this.modalService.show(tn.M,{itemDescription:this.selection.hasSingleSelection?"bucket":"buckets",itemNames:this.selection.selected.map(t=>t.bid),submitActionObservable:()=>new dn.y(t=>{(0,k.D)(this.selection.selected.map(o=>this.rgwBucketService.delete(o.bid))).subscribe({error:o=>{t.error(o),this.table.refreshBtn()},complete:()=>{t.complete(),this.table.refreshBtn()}})})})}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(nt.j),e.Y36(nn.$),e.Y36(fn.n),e.Y36(L.o),e.Y36(Qe.Z),e.Y36(tt.F),e.Y36(l.p4),e.Y36(e.R0b))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-rgw-bucket-list"]],viewQuery:function(t,o){if(1&t&&(e.Gf(et.a,7),e.Gf(li,7),e.Gf(ci,7)),2&t){let c;e.iGM(c=e.CRH())&&(o.table=c.first),e.iGM(c=e.CRH())&&(o.bucketSizeTpl=c.first),e.iGM(c=e.CRH())&&(o.bucketObjectTpl=c.first)}},features:[e._Bn([{provide:tt.F,useValue:new tt.F("rgw/bucket")}]),e.qOj],decls:8,vars:9,consts:function(){let i,t;return i="No Limit",t="No Limit",[["columnMode","flex","selectionType","multiClick","identifier","bid",3,"autoReload","data","columns","hasDetails","status","setExpandedRow","updateSelection","fetchData"],["table",""],[1,"table-actions",3,"permission","selection","tableActions"],["cdTableDetail","",3,"selection"],["bucketSizeTpl",""],["bucketObjectTpl",""],[3,"total","used",4,"ngIf","ngIfElse"],["noSizeQuota",""],[3,"total","used"],i,[3,"total","used","isBinary",4,"ngIf","ngIfElse"],["noObjectQuota",""],[3,"total","used","isBinary"],t]},template:function(t,o){1&t&&(e.TgZ(0,"cd-table",0,1),e.NdJ("setExpandedRow",function(O){return o.setExpandedRow(O)})("updateSelection",function(O){return o.updateSelection(O)})("fetchData",function(O){return o.getBucketList(O)}),e._UZ(2,"cd-table-actions",2)(3,"cd-rgw-bucket-details",3),e.qZA(),e.YNc(4,fi,3,2,"ng-template",null,4,e.W1O),e.YNc(6,Ti,3,2,"ng-template",null,5,e.W1O)),2&t&&(e.Q6J("autoReload",!1)("data",o.buckets)("columns",o.columns)("hasDetails",!0)("status",o.tableStatus),e.xp6(2),e.Q6J("permission",o.permission)("selection",o.selection)("tableActions",o.tableActions),e.xp6(1),e.Q6J("selection",o.expandedRow))},dependencies:[g.O5,pn.O,et.a,on.K,ai]}),n})();var mi=d(58111),En=d(76317),Rn=d(61350),hi=d(60351);function Mi(n,i){if(1&n){const t=e.EpF();e.TgZ(0,"cd-table-key-value",11),e.NdJ("fetchData",function(){e.CHM(t);const c=e.oxw(2);return e.KtG(c.getMetaData())}),e.qZA()}if(2&n){const t=e.oxw(2);e.Q6J("data",t.metadata)}}function Si(n,i){if(1&n&&e._UZ(0,"cd-table-performance-counter",12),2&n){const t=e.oxw(2);e.Q6J("serviceId",t.serviceMapId)}}function Ci(n,i){if(1&n&&e._UZ(0,"cd-grafana",15),2&n){const t=e.oxw(3);e.Q6J("grafanaPath","rgw-instance-detail?var-rgw_servers=rgw."+t.serviceId)("type","metrics")}}function Fi(n,i){1&n&&(e.ynx(0,13),e.TgZ(1,"a",4),e.SDv(2,14),e.qZA(),e.YNc(3,Ci,1,2,"ng-template",6),e.BQk())}function Oi(n,i){if(1&n&&(e.ynx(0),e.TgZ(1,"nav",1,2),e.ynx(3,3),e.TgZ(4,"a",4),e.SDv(5,5),e.qZA(),e.YNc(6,Mi,1,1,"ng-template",6),e.BQk(),e.ynx(7,7),e.TgZ(8,"a",4),e.SDv(9,8),e.qZA(),e.YNc(10,Si,1,1,"ng-template",6),e.BQk(),e.YNc(11,Fi,4,0,"ng-container",9),e.qZA(),e._UZ(12,"div",10),e.BQk()),2&n){const t=e.MAs(2),o=e.oxw();e.xp6(11),e.Q6J("ngIf",o.grafanaPermission.read),e.xp6(1),e.Q6J("ngbNavOutlet",t)}}let Ni=(()=>{class n{constructor(t,o){this.rgwDaemonService=t,this.authStorageService=o,this.serviceId="",this.serviceMapId="",this.grafanaPermission=this.authStorageService.getPermissions().grafana}ngOnChanges(){this.selection&&(this.serviceId=this.selection.id,this.serviceMapId=this.selection.service_map_id)}getMetaData(){v().isEmpty(this.serviceId)||this.rgwDaemonService.get(this.serviceId).subscribe(t=>{this.metadata=t.rgw_metadata})}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(u.b),e.Y36(nt.j))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-rgw-daemon-details"]],inputs:{selection:"selection"},features:[e.TTD],decls:1,vars:1,consts:function(){let i,t,o,c;return i="D\xE9tails",t="Compteurs de performance",o="D\xE9tails des performances",c="RGW instance details",[[4,"ngIf"],["ngbNav","","cdStatefulTab","rgw-daemon-details",1,"nav-tabs"],["nav","ngbNav"],["ngbNavItem","details"],["ngbNavLink",""],i,["ngbNavContent",""],["ngbNavItem","performance-counters"],t,["ngbNavItem","performance-details",4,"ngIf"],[3,"ngbNavOutlet"],[3,"data","fetchData"],["serviceType","rgw",3,"serviceId"],["ngbNavItem","performance-details"],o,["title",c,"uid","x5ARzZtmk","grafanaStyle","one",3,"grafanaPath","type"]]},template:function(t,o){1&t&&e.YNc(0,Oi,13,2,"ng-container",0),2&t&&e.Q6J("ngIf",o.selection)},dependencies:[g.O5,En.F,Rn.b,gn.m,hi.p,x.uN,x.Pz,x.nv,x.Vx,x.tO,x.Dy]}),n})();function Pi(n,i){if(1&n){const t=e.EpF();e.TgZ(0,"cd-table",8),e.NdJ("setExpandedRow",function(c){e.CHM(t);const O=e.oxw();return e.KtG(O.setExpandedRow(c))})("fetchData",function(c){e.CHM(t);const O=e.oxw();return e.KtG(O.getDaemonList(c))}),e._UZ(1,"cd-rgw-daemon-details",9),e.qZA()}if(2&n){const t=e.oxw();e.Q6J("data",t.daemons)("columns",t.columns)("hasDetails",!0),e.xp6(1),e.Q6J("selection",t.expandedRow)}}function Ai(n,i){1&n&&e._UZ(0,"cd-grafana",11),2&n&&e.Q6J("grafanaPath","rgw-overview?")("type","metrics")}function bi(n,i){1&n&&(e.ynx(0,2),e.TgZ(1,"a",3),e.SDv(2,10),e.qZA(),e.YNc(3,Ai,1,2,"ng-template",5),e.BQk())}function Ii(n,i){1&n&&e._UZ(0,"cd-grafana",13),2&n&&e.Q6J("grafanaPath","radosgw-sync-overview?")("type","metrics")}function Gi(n,i){1&n&&(e.ynx(0,2),e.TgZ(1,"a",3),e.SDv(2,12),e.qZA(),e.YNc(3,Ii,1,2,"ng-template",5),e.BQk())}let yi=(()=>{class n extends en.o{constructor(t,o,c,O){super(),this.rgwDaemonService=t,this.authStorageService=o,this.cephShortVersionPipe=c,this.rgwSiteService=O,this.columns=[],this.daemons=[],this.updateDaemons=H=>{this.daemons=H}}ngOnInit(){this.grafanaPermission=this.authStorageService.getPermissions().grafana,this.columns=[{name:"ID",prop:"id",flexGrow:2},{name:"Hostname",prop:"server_hostname",flexGrow:2},{name:"Port",prop:"port",flexGrow:1},{name:"Realm",prop:"realm_name",flexGrow:2},{name:"Zone Group",prop:"zonegroup_name",flexGrow:2},{name:"Zone",prop:"zone_name",flexGrow:2},{name:"Version",prop:"version",flexGrow:1,pipe:this.cephShortVersionPipe}],this.rgwSiteService.get("realms").subscribe(t=>this.isMultiSite=t.length>0)}getDaemonList(t){this.rgwDaemonService.list().subscribe(this.updateDaemons,()=>{t.error()})}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(u.b),e.Y36(nt.j),e.Y36(mi.F),e.Y36(I.I))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-rgw-daemon-list"]],features:[e.qOj],decls:9,vars:3,consts:function(){let i,t,o,c,O;return i="Gateways List",t="Performance globale",o="RGW overview",c="Sync Performance",O="Radosgw sync overview",[["ngbNav","",1,"nav-tabs"],["nav","ngbNav"],["ngbNavItem",""],["ngbNavLink",""],i,["ngbNavContent",""],["ngbNavItem","",4,"ngIf"],[3,"ngbNavOutlet"],["columnMode","flex",3,"data","columns","hasDetails","setExpandedRow","fetchData"],["cdTableDetail","",3,"selection"],t,["title",o,"uid","WAkugZpiz","grafanaStyle","two",3,"grafanaPath","type"],c,["title",O,"uid","rgw-sync-overview","grafanaStyle","two",3,"grafanaPath","type"]]},template:function(t,o){if(1&t&&(e.TgZ(0,"nav",0,1),e.ynx(2,2),e.TgZ(3,"a",3),e.SDv(4,4),e.qZA(),e.YNc(5,Pi,2,4,"ng-template",5),e.BQk(),e.YNc(6,bi,4,0,"ng-container",6),e.YNc(7,Gi,4,0,"ng-container",6),e.qZA(),e._UZ(8,"div",7)),2&t){const c=e.MAs(1);e.xp6(6),e.Q6J("ngIf",o.grafanaPermission.read),e.xp6(1),e.Q6J("ngIf",o.grafanaPermission.read&&o.isMultiSite),e.xp6(1),e.Q6J("ngbNavOutlet",c)}},dependencies:[g.O5,En.F,et.a,x.uN,x.Pz,x.nv,x.Vx,x.tO,x.Dy,Ni]}),n})();var Li=d(6481),_n=d(28211),jt=(()=>{return(n=jt||(jt={})).USERS="users",n.BUCKETS="buckets",n.METADATA="metadata",n.USAGE="usage",n.ZONE="zone",jt;var n})();let mn=(()=>{class n{static getAll(){return Object.values(n.capabilities)}}return n.capabilities=jt,n})();function Di(n,i){1&n&&e._UZ(0,"input",22),2&n&&e.Q6J("readonly",!0)}function vi(n,i){1&n&&(e.TgZ(0,"option",17),e.SDv(1,25),e.qZA()),2&n&&e.Q6J("ngValue",null)}function wi(n,i){if(1&n&&(e.TgZ(0,"option",26),e._uU(1),e.qZA()),2&n){const t=i.$implicit;e.Q6J("value",t),e.xp6(1),e.Oqu(t)}}function Wi(n,i){if(1&n&&(e.TgZ(0,"select",23),e.YNc(1,vi,2,1,"option",24),e.YNc(2,wi,2,2,"option",19),e.qZA()),2&n){const t=e.oxw();e.xp6(1),e.Q6J("ngIf",null!==t.types),e.xp6(1),e.Q6J("ngForOf",t.types)}}function Ui(n,i){1&n&&(e.TgZ(0,"span",27),e.SDv(1,28),e.qZA())}function $i(n,i){if(1&n&&(e.TgZ(0,"option",26),e._uU(1),e.qZA()),2&n){const t=i.$implicit;e.Q6J("value",t),e.xp6(1),e.hij(" ",t," ")}}function xi(n,i){1&n&&(e.TgZ(0,"span",27),e.SDv(1,29),e.qZA())}const Zi=function(n){return{required:n}},ki=function(){return["read","write","*"]};let Bi=(()=>{class n{constructor(t,o,c){this.formBuilder=t,this.activeModal=o,this.actionLabels=c,this.submitAction=new e.vpe,this.editing=!0,this.types=[],this.resource="capability",this.createForm()}createForm(){this.formGroup=this.formBuilder.group({type:[null,[r.kI.required]],perm:[null,[r.kI.required]]})}setEditing(t=!0){this.editing=t,this.action=this.editing?this.actionLabels.EDIT:this.actionLabels.ADD}setValues(t,o){this.formGroup.setValue({type:t,perm:o})}setCapabilities(t){const o=[];t.forEach(c=>{o.push(c.type)}),this.types=[],mn.getAll().forEach(c=>{-1===v().indexOf(o,c)&&this.types.push(c)})}onSubmit(){this.submitAction.emit(this.formGroup.value),this.activeModal.close()}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(he.O),e.Y36(x.Kz),e.Y36(l.p4))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-rgw-user-capability-modal"]],outputs:{submitAction:"submitAction"},decls:29,vars:24,consts:function(){let i,t,o,c,O,H,Q;return i="" + "\ufffd0\ufffd" + " " + "\ufffd1\ufffd" + "",t="Type",o="Autorisation",c="-- S\xE9lectionner une autorisation --",O="-- S\xE9lectionner un type --",H="This field is required.",Q="This field is required.",[[3,"modalRef"],[1,"modal-title"],i,[1,"modal-content"],["novalidate","",3,"formGroup"],["frm","ngForm"],[1,"modal-body"],[1,"form-group","row"],["for","type",1,"cd-col-form-label",3,"ngClass"],t,[1,"cd-col-form-input"],["id","type","class","form-control","type","text","formControlName","type",3,"readonly",4,"ngIf"],["id","type","class","form-select","formControlName","type","autofocus","",4,"ngIf"],["class","invalid-feedback",4,"ngIf"],["for","perm",1,"cd-col-form-label","required"],o,["id","perm","formControlName","perm",1,"form-select"],[3,"ngValue"],c,[3,"value",4,"ngFor","ngForOf"],[1,"modal-footer"],[3,"form","submitText","submitActionEvent"],["id","type","type","text","formControlName","type",1,"form-control",3,"readonly"],["id","type","formControlName","type","autofocus","",1,"form-select"],[3,"ngValue",4,"ngIf"],O,[3,"value"],[1,"invalid-feedback"],H,Q]},template:function(t,o){if(1&t&&(e.TgZ(0,"cd-modal",0),e.ynx(1,1),e.SDv(2,2),e.ALo(3,"titlecase"),e.ALo(4,"upperFirst"),e.BQk(),e.ynx(5,3),e.TgZ(6,"form",4,5)(8,"div",6)(9,"div",7)(10,"label",8),e.SDv(11,9),e.qZA(),e.TgZ(12,"div",10),e.YNc(13,Di,1,1,"input",11),e.YNc(14,Wi,3,2,"select",12),e.YNc(15,Ui,2,0,"span",13),e.qZA()(),e.TgZ(16,"div",7)(17,"label",14),e.SDv(18,15),e.qZA(),e.TgZ(19,"div",10)(20,"select",16)(21,"option",17),e.SDv(22,18),e.qZA(),e.YNc(23,$i,2,2,"option",19),e.qZA(),e.YNc(24,xi,2,0,"span",13),e.qZA()()(),e.TgZ(25,"div",20)(26,"cd-form-button-panel",21),e.NdJ("submitActionEvent",function(){return o.onSubmit()}),e.ALo(27,"titlecase"),e.ALo(28,"upperFirst"),e.qZA()()(),e.BQk(),e.qZA()),2&t){const c=e.MAs(7);e.Q6J("modalRef",o.activeModal),e.xp6(4),e.pQV(e.lcZ(3,13,o.action))(e.lcZ(4,15,o.resource)),e.QtT(2),e.xp6(2),e.Q6J("formGroup",o.formGroup),e.xp6(4),e.Q6J("ngClass",e.VKq(21,Zi,!o.editing)),e.xp6(3),e.Q6J("ngIf",o.editing),e.xp6(1),e.Q6J("ngIf",!o.editing),e.xp6(1),e.Q6J("ngIf",o.formGroup.showError("type",c,"required")),e.xp6(6),e.Q6J("ngValue",null),e.xp6(2),e.Q6J("ngForOf",e.DdM(23,ki)),e.xp6(1),e.Q6J("ngIf",o.formGroup.showError("perm",c,"required")),e.xp6(2),e.Q6J("form",o.formGroup)("submitText",e.lcZ(27,17,o.action)+" "+e.lcZ(28,19,o.resource))}},dependencies:[g.mk,g.sg,g.O5,Ie.z,we.p,st.U,Oe.o,Ae.b,We.P,C.V,r._Y,r.YN,r.Kr,r.Fj,r.EJ,r.JJ,r.JL,r.sg,r.u,g.rS,Ye.m]}),n})();var at=d(58039),lt=d(4416);function zi(n,i){1&n&&e._UZ(0,"input",17),2&n&&e.Q6J("readonly",!0)}function qi(n,i){1&n&&(e.TgZ(0,"option",21),e.SDv(1,22),e.qZA()),2&n&&e.Q6J("ngValue",null)}function Hi(n,i){if(1&n&&(e.TgZ(0,"option",23),e._uU(1),e.qZA()),2&n){const t=i.$implicit;e.Q6J("value",t),e.xp6(1),e.Oqu(t)}}function Xi(n,i){if(1&n&&(e.TgZ(0,"select",18),e.YNc(1,qi,2,1,"option",19),e.YNc(2,Hi,2,2,"option",20),e.qZA()),2&n){const t=e.oxw();e.xp6(1),e.Q6J("ngIf",null!==t.userCandidates),e.xp6(1),e.Q6J("ngForOf",t.userCandidates)}}function Ki(n,i){1&n&&(e.TgZ(0,"span",24),e.SDv(1,25),e.qZA())}function Qi(n,i){1&n&&(e.TgZ(0,"div",7)(1,"div",26)(2,"div",27),e._UZ(3,"input",28),e.TgZ(4,"label",29),e.SDv(5,30),e.qZA()()()())}function Yi(n,i){1&n&&(e.TgZ(0,"span",24),e.SDv(1,37),e.qZA())}const rn=function(n){return{required:n}};function Ji(n,i){if(1&n&&(e.TgZ(0,"div",7)(1,"label",31),e.SDv(2,32),e.qZA(),e.TgZ(3,"div",10)(4,"div",33),e._UZ(5,"input",34)(6,"button",35)(7,"cd-copy-2-clipboard-button",36),e.qZA(),e.YNc(8,Yi,2,0,"span",13),e.qZA()()),2&n){const t=e.oxw(),o=e.MAs(7);e.xp6(1),e.Q6J("ngClass",e.VKq(3,rn,!t.viewing)),e.xp6(4),e.Q6J("readonly",t.viewing),e.xp6(3),e.Q6J("ngIf",t.formGroup.showError("access_key",o,"required"))}}function Vi(n,i){1&n&&(e.TgZ(0,"span",24),e.SDv(1,43),e.qZA())}function ji(n,i){if(1&n&&(e.TgZ(0,"div",7)(1,"label",38),e.SDv(2,39),e.qZA(),e.TgZ(3,"div",10)(4,"div",33),e._UZ(5,"input",40)(6,"button",41)(7,"cd-copy-2-clipboard-button",42),e.qZA(),e.YNc(8,Vi,2,0,"span",13),e.qZA()()),2&n){const t=e.oxw(),o=e.MAs(7);e.xp6(1),e.Q6J("ngClass",e.VKq(3,rn,!t.viewing)),e.xp6(4),e.Q6J("readonly",t.viewing),e.xp6(3),e.Q6J("ngIf",t.formGroup.showError("secret_key",o,"required"))}}let hn=(()=>{class n{constructor(t,o,c){this.formBuilder=t,this.activeModal=o,this.actionLabels=c,this.submitAction=new e.vpe,this.viewing=!0,this.userCandidates=[],this.resource="S3 Key",this.createForm()}createForm(){this.formGroup=this.formBuilder.group({user:[null,[r.kI.required]],generate_key:[!0],access_key:[null,[z.h.requiredIf({generate_key:!1})]],secret_key:[null,[z.h.requiredIf({generate_key:!1})]]})}setViewing(t=!0){this.viewing=t,this.action=this.viewing?this.actionLabels.SHOW:this.actionLabels.CREATE}setValues(t,o,c){this.formGroup.setValue({user:t,generate_key:v().isEmpty(o),access_key:o,secret_key:c})}setUserCandidates(t){this.userCandidates=t}onSubmit(){this.submitAction.emit(this.formGroup.value),this.activeModal.close()}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(he.O),e.Y36(x.Kz),e.Y36(l.p4))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-rgw-user-s3-key-modal"]],outputs:{submitAction:"submitAction"},decls:23,vars:24,consts:function(){let i,t,o,c,O,H,Q,J,j;return i="" + "\ufffd0\ufffd" + " " + "\ufffd1\ufffd" + "",t="Username",o="-- S\xE9lectionner un nom d'utilisateur --",c="This field is required.",O="G\xE9n\xE9rer automatiquement la clef",H="Clef d'acc\xE8s",Q="This field is required.",J="Clef secr\xE8te",j="This field is required.",[[3,"modalRef"],[1,"modal-title"],i,[1,"modal-content"],["novalidate","",3,"formGroup"],["frm","ngForm"],[1,"modal-body"],[1,"form-group","row"],["for","user",1,"cd-col-form-label",3,"ngClass"],t,[1,"cd-col-form-input"],["id","user","class","form-control","type","text","formControlName","user",3,"readonly",4,"ngIf"],["id","user","class","form-control","formControlName","user","autofocus","",4,"ngIf"],["class","invalid-feedback",4,"ngIf"],["class","form-group row",4,"ngIf"],[1,"modal-footer"],[3,"form","submitText","showSubmit","submitActionEvent"],["id","user","type","text","formControlName","user",1,"form-control",3,"readonly"],["id","user","formControlName","user","autofocus","",1,"form-control"],[3,"ngValue",4,"ngIf"],[3,"value",4,"ngFor","ngForOf"],[3,"ngValue"],o,[3,"value"],[1,"invalid-feedback"],c,[1,"cd-col-form-offset"],[1,"custom-control","custom-checkbox"],["id","generate_key","type","checkbox","formControlName","generate_key",1,"custom-control-input"],["for","generate_key",1,"custom-control-label"],O,["for","access_key",1,"cd-col-form-label",3,"ngClass"],H,[1,"input-group"],["id","access_key","type","password","formControlName","access_key",1,"form-control",3,"readonly"],["type","button","cdPasswordButton","access_key",1,"btn","btn-light"],["source","access_key"],Q,["for","secret_key",1,"cd-col-form-label",3,"ngClass"],J,["id","secret_key","type","password","formControlName","secret_key",1,"form-control",3,"readonly"],["type","button","cdPasswordButton","secret_key",1,"btn","btn-light"],["source","secret_key"],j]},template:function(t,o){if(1&t&&(e.TgZ(0,"cd-modal",0),e.ynx(1,1),e.SDv(2,2),e.ALo(3,"titlecase"),e.ALo(4,"upperFirst"),e.BQk(),e.ynx(5,3),e.TgZ(6,"form",4,5)(8,"div",6)(9,"div",7)(10,"label",8),e.SDv(11,9),e.qZA(),e.TgZ(12,"div",10),e.YNc(13,zi,1,1,"input",11),e.YNc(14,Xi,3,2,"select",12),e.YNc(15,Ki,2,0,"span",13),e.qZA()(),e.YNc(16,Qi,6,0,"div",14),e.YNc(17,Ji,9,5,"div",14),e.YNc(18,ji,9,5,"div",14),e.qZA(),e.TgZ(19,"div",15)(20,"cd-form-button-panel",16),e.NdJ("submitActionEvent",function(){return o.onSubmit()}),e.ALo(21,"titlecase"),e.ALo(22,"upperFirst"),e.qZA()()(),e.BQk(),e.qZA()),2&t){const c=e.MAs(7);e.Q6J("modalRef",o.activeModal),e.xp6(4),e.pQV(e.lcZ(3,14,o.action))(e.lcZ(4,16,o.resource)),e.QtT(2),e.xp6(2),e.Q6J("formGroup",o.formGroup),e.xp6(4),e.Q6J("ngClass",e.VKq(22,rn,!o.viewing)),e.xp6(3),e.Q6J("ngIf",o.viewing),e.xp6(1),e.Q6J("ngIf",!o.viewing),e.xp6(1),e.Q6J("ngIf",o.formGroup.showError("user",c,"required")),e.xp6(1),e.Q6J("ngIf",!o.viewing),e.xp6(1),e.Q6J("ngIf",!o.formGroup.getValue("generate_key")),e.xp6(1),e.Q6J("ngIf",!o.formGroup.getValue("generate_key")),e.xp6(2),e.Q6J("form",o.formGroup)("submitText",e.lcZ(21,18,o.action)+" "+e.lcZ(22,20,o.resource))("showSubmit",!o.viewing)}},dependencies:[g.mk,g.sg,g.O5,Ie.z,at.s,we.p,st.U,lt.C,Oe.o,Ae.b,We.P,C.V,r._Y,r.YN,r.Kr,r.Fj,r.Wl,r.EJ,r.JJ,r.JL,r.sg,r.u,g.rS,Ye.m]}),n})();class e_{}function t_(n,i){1&n&&(e.TgZ(0,"span",29),e.SDv(1,30),e.qZA())}function n_(n,i){1&n&&(e.TgZ(0,"span",29),e.SDv(1,31),e.qZA())}function o_(n,i){if(1&n&&(e.TgZ(0,"option",32),e._uU(1),e.qZA()),2&n){const t=i.$implicit;e.Q6J("value",t),e.xp6(1),e.hij(" ",t," ")}}function i_(n,i){1&n&&(e.TgZ(0,"span",29),e.SDv(1,33),e.qZA())}function __(n,i){1&n&&(e.TgZ(0,"span",29),e.SDv(1,47),e.qZA())}function r_(n,i){if(1&n&&(e.TgZ(0,"div",7)(1,"label",41),e.SDv(2,42),e.qZA(),e.TgZ(3,"div",10)(4,"div",43),e._UZ(5,"input",44)(6,"button",45)(7,"cd-copy-2-clipboard-button",46),e.qZA(),e.YNc(8,__,2,0,"span",15),e.qZA()()),2&n){const t=e.oxw(2),o=e.MAs(7);e.xp6(8),e.Q6J("ngIf",t.formGroup.showError("secret_key",o,"required"))}}function s_(n,i){if(1&n&&(e.TgZ(0,"fieldset")(1,"legend"),e.SDv(2,34),e.qZA(),e.TgZ(3,"div",7)(4,"div",35)(5,"div",36),e._UZ(6,"input",37),e.TgZ(7,"label",38),e.SDv(8,39),e.qZA()()()(),e.YNc(9,r_,9,1,"div",40),e.qZA()),2&n){const t=e.oxw();e.xp6(9),e.Q6J("ngIf",!t.editing&&!t.formGroup.getValue("generate_secret"))}}const a_=function(n){return{required:n}},l_=function(){return["read","write"]};let c_=(()=>{class n{constructor(t,o,c){this.formBuilder=t,this.bsModalRef=o,this.actionLabels=c,this.submitAction=new e.vpe,this.editing=!0,this.subusers=[],this.resource="Subuser",this.createForm()}createForm(){this.formGroup=this.formBuilder.group({uid:[null],subuid:[null,[r.kI.required,this.subuserValidator()]],perm:[null,[r.kI.required]],generate_secret:[!0],secret_key:[null,[z.h.requiredIf({generate_secret:!1})]]})}subuserValidator(){const t=this;return o=>t.editing||(0,z.P)(o.value)?null:t.subusers.some(O=>v().isEqual(t.getSubuserName(O.id),o.value))?{subuserIdExists:!0}:null}getSubuserName(t){if(v().isEmpty(t))return t;const o=t.match(/([^:]+)(:(.+))?/);return v().isUndefined(o[3])?o[1]:o[3]}setEditing(t=!0){this.editing=t,this.action=this.editing?this.actionLabels.EDIT:this.actionLabels.CREATE}setValues(t,o="",c=""){this.formGroup.setValue({uid:t,subuid:this.getSubuserName(o),perm:c,generate_secret:!0,secret_key:null})}setSubusers(t){this.subusers=t}onSubmit(){const t=this.formGroup.value,o=new e_;o.id=`${t.uid}:${t.subuid}`,o.permissions=t.perm,o.generate_secret=t.generate_secret,o.secret_key=t.secret_key,this.submitAction.emit(o),this.bsModalRef.close()}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(he.O),e.Y36(x.Kz),e.Y36(l.p4))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-rgw-user-subuser-modal"]],outputs:{submitAction:"submitAction"},decls:39,vars:26,consts:function(){let i,t,o,c,O,H,Q,J,j,oe,Te,Me,Fe,Pe;return i="" + "\ufffd0\ufffd" + " " + "\ufffd1\ufffd" + "",t="Username",o="Subuser",c="Autorisation",O="-- S\xE9lectionner une autorisation --",H="lire, \xE9crire",Q="complet",J="This field is required.",j="L'ID d'utilisateur secondaire s\xE9lectionn\xE9 est d\xE9j\xE0 utilis\xE9.",oe="This field is required.",Te="Cl\xE9 Swift",Me="G\xE9n\xE9rer automatiquement le secret",Fe="Clef secr\xE8te",Pe="This field is required.",[[3,"modalRef"],[1,"modal-title"],i,[1,"modal-content"],["novalidate","",3,"formGroup"],["frm","ngForm"],[1,"modal-body"],[1,"form-group","row"],["for","uid",1,"cd-col-form-label"],t,[1,"cd-col-form-input"],["id","uid","type","text","formControlName","uid",1,"form-control",3,"readonly"],["for","subuid",1,"cd-col-form-label",3,"ngClass"],o,["id","subuid","type","text","formControlName","subuid","autofocus","",1,"form-control",3,"readonly"],["class","invalid-feedback",4,"ngIf"],["for","perm",1,"cd-col-form-label","required"],c,["id","perm","formControlName","perm",1,"form-select"],[3,"ngValue"],O,[3,"value",4,"ngFor","ngForOf"],["value","read-write"],H,["value","full-control"],Q,[4,"ngIf"],[1,"modal-footer"],[3,"form","submitText","submitActionEvent"],[1,"invalid-feedback"],J,j,[3,"value"],oe,Te,[1,"cd-col-form-offset"],[1,"custom-control","custom-checkbox"],["id","generate_secret","type","checkbox","formControlName","generate_secret",1,"custom-control-input"],["for","generate_secret",1,"custom-control-label"],Me,["class","form-group row",4,"ngIf"],["for","secret_key",1,"cd-col-form-label","required"],Fe,[1,"input-group"],["id","secret_key","type","password","formControlName","secret_key",1,"form-control"],["type","button","cdPasswordButton","secret_key",1,"btn","btn-light"],["source","secret_key"],Pe]},template:function(t,o){if(1&t&&(e.TgZ(0,"cd-modal",0),e.ynx(1,1),e.SDv(2,2),e.ALo(3,"titlecase"),e.ALo(4,"upperFirst"),e.BQk(),e.ynx(5,3),e.TgZ(6,"form",4,5)(8,"div",6)(9,"div",7)(10,"label",8),e.SDv(11,9),e.qZA(),e.TgZ(12,"div",10),e._UZ(13,"input",11),e.qZA()(),e.TgZ(14,"div",7)(15,"label",12),e.SDv(16,13),e.qZA(),e.TgZ(17,"div",10),e._UZ(18,"input",14),e.YNc(19,t_,2,0,"span",15),e.YNc(20,n_,2,0,"span",15),e.qZA()(),e.TgZ(21,"div",7)(22,"label",16),e.SDv(23,17),e.qZA(),e.TgZ(24,"div",10)(25,"select",18)(26,"option",19),e.SDv(27,20),e.qZA(),e.YNc(28,o_,2,2,"option",21),e.TgZ(29,"option",22),e.SDv(30,23),e.qZA(),e.TgZ(31,"option",24),e.SDv(32,25),e.qZA()(),e.YNc(33,i_,2,0,"span",15),e.qZA()(),e.YNc(34,s_,10,1,"fieldset",26),e.qZA(),e.TgZ(35,"div",27)(36,"cd-form-button-panel",28),e.NdJ("submitActionEvent",function(){return o.onSubmit()}),e.ALo(37,"titlecase"),e.ALo(38,"upperFirst"),e.qZA()()(),e.BQk(),e.qZA()),2&t){const c=e.MAs(7);e.Q6J("modalRef",o.bsModalRef),e.xp6(4),e.pQV(e.lcZ(3,15,o.action))(e.lcZ(4,17,o.resource)),e.QtT(2),e.xp6(2),e.Q6J("formGroup",o.formGroup),e.xp6(7),e.Q6J("readonly",!0),e.xp6(2),e.Q6J("ngClass",e.VKq(23,a_,!o.editing)),e.xp6(3),e.Q6J("readonly",o.editing),e.xp6(1),e.Q6J("ngIf",o.formGroup.showError("subuid",c,"required")),e.xp6(1),e.Q6J("ngIf",o.formGroup.showError("subuid",c,"subuserIdExists")),e.xp6(6),e.Q6J("ngValue",null),e.xp6(2),e.Q6J("ngForOf",e.DdM(25,l_)),e.xp6(5),e.Q6J("ngIf",o.formGroup.showError("perm",c,"required")),e.xp6(1),e.Q6J("ngIf",!o.editing),e.xp6(2),e.Q6J("form",o.formGroup)("submitText",e.lcZ(37,19,o.action)+" "+e.lcZ(38,21,o.resource))}},dependencies:[g.mk,g.sg,g.O5,Ie.z,at.s,we.p,st.U,lt.C,Oe.o,Ae.b,We.P,C.V,r._Y,r.YN,r.Kr,r.Fj,r.Wl,r.EJ,r.JJ,r.JL,r.sg,r.u,g.rS,Ye.m]}),n})();var Mn=d(13472);let Sn=(()=>{class n{constructor(t,o){this.activeModal=t,this.actionLabels=o,this.resource="Swift Key",this.action=this.actionLabels.SHOW}setValues(t,o){this.user=t,this.secret_key=o}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(x.Kz),e.Y36(l.p4))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-rgw-user-swift-key-modal"]],decls:23,vars:11,consts:function(){let i,t,o;return i="" + "\ufffd0\ufffd" + " " + "\ufffd1\ufffd" + "",t="Username",o="Clef secr\xE8te",[[3,"modalRef"],[1,"modal-title"],i,[1,"modal-content"],[1,"modal-body"],["novalidate",""],[1,"form-group","row"],["for","user",1,"cd-col-form-label"],t,[1,"cd-col-form-input"],["id","user","name","user","type","text",1,"form-control",3,"readonly","ngModel","ngModelChange"],["for","secret_key",1,"cd-col-form-label"],o,[1,"input-group"],["id","secret_key","name","secret_key","type","password",1,"form-control",3,"ngModel","readonly","ngModelChange"],["type","button","cdPasswordButton","secret_key",1,"btn","btn-light"],["source","secret_key"],[1,"modal-footer"],[3,"backAction"]]},template:function(t,o){1&t&&(e.TgZ(0,"cd-modal",0),e.ynx(1,1),e.SDv(2,2),e.ALo(3,"titlecase"),e.ALo(4,"upperFirst"),e.BQk(),e.ynx(5,3),e.TgZ(6,"div",4)(7,"form",5)(8,"div",6)(9,"label",7),e.SDv(10,8),e.qZA(),e.TgZ(11,"div",9)(12,"input",10),e.NdJ("ngModelChange",function(O){return o.user=O}),e.qZA()()(),e.TgZ(13,"div",6)(14,"label",11),e.SDv(15,12),e.qZA(),e.TgZ(16,"div",9)(17,"div",13)(18,"input",14),e.NdJ("ngModelChange",function(O){return o.secret_key=O}),e.qZA(),e._UZ(19,"button",15)(20,"cd-copy-2-clipboard-button",16),e.qZA()()()()(),e.TgZ(21,"div",17)(22,"cd-back-button",18),e.NdJ("backAction",function(){return o.activeModal.close()}),e.qZA()(),e.BQk(),e.qZA()),2&t&&(e.Q6J("modalRef",o.activeModal),e.xp6(4),e.pQV(e.lcZ(3,7,o.action))(e.lcZ(4,9,o.resource)),e.QtT(2),e.xp6(8),e.Q6J("readonly",!0)("ngModel",o.user),e.xp6(6),e.Q6J("ngModel",o.secret_key)("readonly",!0))},dependencies:[Mn.W,Ie.z,at.s,lt.C,Oe.o,Ae.b,We.P,r._Y,r.Fj,r.JJ,r.JL,r.On,r.F,g.rS,Ye.m]}),n})();var u_=d(17932);function d_(n,i){1&n&&(e.TgZ(0,"span",54),e.SDv(1,55),e.qZA())}function f_(n,i){1&n&&(e.TgZ(0,"span",54),e.SDv(1,56),e.qZA())}function p_(n,i){1&n&&(e.TgZ(0,"span",54),e.SDv(1,57),e.qZA())}function g_(n,i){1&n&&(e.TgZ(0,"span",54),e.SDv(1,61),e.qZA())}function T_(n,i){1&n&&(e.TgZ(0,"span",54),e.SDv(1,62),e.qZA())}function E_(n,i){if(1&n&&(e.TgZ(0,"div",8)(1,"label",58),e.SDv(2,59),e.qZA(),e.TgZ(3,"div",11),e._UZ(4,"input",60),e.YNc(5,g_,2,0,"span",13),e.YNc(6,T_,2,0,"span",13),e.qZA()()),2&n){e.oxw();const t=e.MAs(2),o=e.oxw();e.xp6(4),e.Q6J("readonly",o.editing),e.xp6(1),e.Q6J("ngIf",o.userForm.showError("tenant",t,"pattern")),e.xp6(1),e.Q6J("ngIf",o.userForm.showError("tenant",t,"notUnique"))}}function R_(n,i){1&n&&(e.TgZ(0,"span",54),e.SDv(1,63),e.qZA())}function m_(n,i){1&n&&(e.TgZ(0,"span",54),e.SDv(1,64),e.qZA())}function h_(n,i){1&n&&(e.TgZ(0,"span",54),e.SDv(1,65),e.qZA())}function M_(n,i){1&n&&(e.TgZ(0,"span",54),e.SDv(1,66),e.qZA())}function S_(n,i){1&n&&(e.TgZ(0,"span",54),e.SDv(1,69),e.qZA())}function C_(n,i){1&n&&(e.TgZ(0,"span",54),e.SDv(1,70),e.qZA())}function F_(n,i){if(1&n&&(e.TgZ(0,"div",8),e._UZ(1,"label",67),e.TgZ(2,"div",11),e._UZ(3,"input",68),e.YNc(4,S_,2,0,"span",13),e.YNc(5,C_,2,0,"span",13),e.qZA()()),2&n){e.oxw();const t=e.MAs(2),o=e.oxw();e.xp6(4),e.Q6J("ngIf",o.userForm.showError("max_buckets",t,"required")),e.xp6(1),e.Q6J("ngIf",o.userForm.showError("max_buckets",t,"min"))}}function O_(n,i){1&n&&(e.TgZ(0,"span",54),e.SDv(1,81),e.qZA())}function N_(n,i){if(1&n&&(e.TgZ(0,"div",8)(1,"label",75),e.SDv(2,76),e.qZA(),e.TgZ(3,"div",11)(4,"div",77),e._UZ(5,"input",78)(6,"button",79)(7,"cd-copy-2-clipboard-button",80),e.qZA(),e.YNc(8,O_,2,0,"span",13),e.qZA()()),2&n){e.oxw(2);const t=e.MAs(2),o=e.oxw();e.xp6(8),e.Q6J("ngIf",o.userForm.showError("access_key",t,"required"))}}function P_(n,i){1&n&&(e.TgZ(0,"span",54),e.SDv(1,87),e.qZA())}function A_(n,i){if(1&n&&(e.TgZ(0,"div",8)(1,"label",82),e.SDv(2,83),e.qZA(),e.TgZ(3,"div",11)(4,"div",77),e._UZ(5,"input",84)(6,"button",85)(7,"cd-copy-2-clipboard-button",86),e.qZA(),e.YNc(8,P_,2,0,"span",13),e.qZA()()),2&n){e.oxw(2);const t=e.MAs(2),o=e.oxw();e.xp6(8),e.Q6J("ngIf",o.userForm.showError("secret_key",t,"required"))}}function b_(n,i){if(1&n&&(e.TgZ(0,"fieldset")(1,"legend"),e.SDv(2,71),e.qZA(),e.TgZ(3,"div",8)(4,"div",14)(5,"div",15),e._UZ(6,"input",72),e.TgZ(7,"label",73),e.SDv(8,74),e.qZA()()()(),e.YNc(9,N_,9,1,"div",19),e.YNc(10,A_,9,1,"div",19),e.qZA()),2&n){const t=e.oxw(2);e.xp6(9),e.Q6J("ngIf",!t.editing&&!t.userForm.getValue("generate_key")),e.xp6(1),e.Q6J("ngIf",!t.editing&&!t.userForm.getValue("generate_key"))}}function I_(n,i){1&n&&(e.TgZ(0,"span",98)(1,"span",99),e.SDv(2,100),e.qZA()())}const He=function(n){return[n]};function G_(n,i){if(1&n){const t=e.EpF();e.TgZ(0,"span")(1,"div",77)(2,"span",101),e._UZ(3,"i"),e.qZA(),e._UZ(4,"input",102),e.TgZ(5,"span",101),e._UZ(6,"i"),e.qZA(),e._UZ(7,"input",102),e.TgZ(8,"button",103),e.NdJ("click",function(){const O=e.CHM(t).index,H=e.oxw(3);return e.KtG(H.showSubuserModal(O))}),e._UZ(9,"i",95),e.qZA(),e.TgZ(10,"button",104),e.NdJ("click",function(){const O=e.CHM(t).index,H=e.oxw(3);return e.KtG(H.deleteSubuser(O))}),e._UZ(11,"i",95),e.qZA()(),e._UZ(12,"span",99),e.qZA()}if(2&n){const t=i.$implicit,o=e.oxw(3);e.xp6(3),e.Tol(o.icons.user),e.xp6(1),e.s9C("value",t.id),e.xp6(2),e.Tol(o.icons.share),e.xp6(1),e.s9C("value","full-control"===t.permissions?"full":t.permissions),e.xp6(2),e.Q6J("ngClass",e.VKq(10,He,o.icons.edit)),e.xp6(2),e.Q6J("ngClass",e.VKq(12,He,o.icons.destroy))}}function y_(n,i){if(1&n){const t=e.EpF();e.TgZ(0,"fieldset")(1,"legend"),e.SDv(2,88),e.qZA(),e.TgZ(3,"div",89)(4,"div",14),e.YNc(5,I_,3,0,"span",90),e.YNc(6,G_,13,14,"span",91),e.TgZ(7,"div",92)(8,"div",93)(9,"button",94),e.NdJ("click",function(){e.CHM(t);const c=e.oxw(2);return e.KtG(c.showSubuserModal())}),e._UZ(10,"i",95),e.ynx(11),e.SDv(12,96),e.ALo(13,"titlecase"),e.ALo(14,"upperFirst"),e.BQk(),e.qZA()()(),e._UZ(15,"span",97),e.qZA()()()}if(2&n){const t=e.oxw(2);e.xp6(5),e.Q6J("ngIf",0===t.subusers.length),e.xp6(1),e.Q6J("ngForOf",t.subusers),e.xp6(4),e.Q6J("ngClass",e.VKq(9,He,t.icons.add)),e.xp6(4),e.pQV(e.lcZ(13,5,t.actionLabels.CREATE))(e.lcZ(14,7,t.subuserLabel)),e.QtT(12)}}function L_(n,i){1&n&&(e.TgZ(0,"span",98)(1,"span",99),e.SDv(2,110),e.qZA()())}function D_(n,i){if(1&n){const t=e.EpF();e.TgZ(0,"span")(1,"div",77)(2,"div",101),e._UZ(3,"i"),e.qZA(),e._UZ(4,"input",102),e.TgZ(5,"button",111),e.NdJ("click",function(){const O=e.CHM(t).index,H=e.oxw(3);return e.KtG(H.showS3KeyModal(O))}),e._UZ(6,"i",95),e.qZA(),e.TgZ(7,"button",112),e.NdJ("click",function(){const O=e.CHM(t).index,H=e.oxw(3);return e.KtG(H.deleteS3Key(O))}),e._UZ(8,"i",95),e.qZA()(),e._UZ(9,"span",99),e.qZA()}if(2&n){const t=i.$implicit,o=e.oxw(3);e.xp6(3),e.Tol(o.icons.key),e.xp6(1),e.s9C("value",t.user),e.xp6(2),e.Q6J("ngClass",e.VKq(6,He,o.icons.show)),e.xp6(2),e.Q6J("ngClass",e.VKq(8,He,o.icons.destroy))}}function v_(n,i){1&n&&(e.TgZ(0,"span",98)(1,"span",99),e.SDv(2,113),e.qZA()())}function w_(n,i){if(1&n){const t=e.EpF();e.TgZ(0,"span")(1,"div",77)(2,"span",101),e._UZ(3,"i"),e.qZA(),e._UZ(4,"input",102),e.TgZ(5,"button",114),e.NdJ("click",function(){const O=e.CHM(t).index,H=e.oxw(3);return e.KtG(H.showSwiftKeyModal(O))}),e._UZ(6,"i",95),e.qZA()(),e._UZ(7,"span",99),e.qZA()}if(2&n){const t=i.$implicit,o=e.oxw(3);e.xp6(3),e.Tol(o.icons.key),e.xp6(1),e.s9C("value",t.user),e.xp6(2),e.Q6J("ngClass",e.VKq(5,He,o.icons.show))}}function W_(n,i){if(1&n){const t=e.EpF();e.TgZ(0,"fieldset")(1,"legend"),e.SDv(2,105),e.qZA(),e.TgZ(3,"div",8)(4,"label",67),e.SDv(5,106),e.qZA(),e.TgZ(6,"div",11),e.YNc(7,L_,3,0,"span",90),e.YNc(8,D_,10,10,"span",91),e.TgZ(9,"div",92)(10,"div",93)(11,"button",107),e.NdJ("click",function(){e.CHM(t);const c=e.oxw(2);return e.KtG(c.showS3KeyModal())}),e._UZ(12,"i",95),e.ynx(13),e.SDv(14,108),e.ALo(15,"titlecase"),e.ALo(16,"upperFirst"),e.BQk(),e.qZA()()(),e._UZ(17,"span",97),e.qZA(),e._UZ(18,"hr"),e.qZA(),e.TgZ(19,"div",8)(20,"label",67),e.SDv(21,109),e.qZA(),e.TgZ(22,"div",11),e.YNc(23,v_,3,0,"span",90),e.YNc(24,w_,8,7,"span",91),e.qZA()()()}if(2&n){const t=e.oxw(2);e.xp6(7),e.Q6J("ngIf",0===t.s3Keys.length),e.xp6(1),e.Q6J("ngForOf",t.s3Keys),e.xp6(4),e.Q6J("ngClass",e.VKq(11,He,t.icons.add)),e.xp6(4),e.pQV(e.lcZ(15,7,t.actionLabels.CREATE))(e.lcZ(16,9,t.s3keyLabel)),e.QtT(14),e.xp6(7),e.Q6J("ngIf",0===t.swiftKeys.length),e.xp6(1),e.Q6J("ngForOf",t.swiftKeys)}}function U_(n,i){1&n&&(e.TgZ(0,"span",98)(1,"span",99),e.SDv(2,118),e.qZA()())}function $_(n,i){if(1&n){const t=e.EpF();e.TgZ(0,"span")(1,"div",77)(2,"div",101),e._UZ(3,"i"),e.qZA(),e._UZ(4,"input",102),e.TgZ(5,"button",119),e.NdJ("click",function(){const O=e.CHM(t).index,H=e.oxw(3);return e.KtG(H.showCapabilityModal(O))}),e._UZ(6,"i",95),e.qZA(),e.TgZ(7,"button",120),e.NdJ("click",function(){const O=e.CHM(t).index,H=e.oxw(3);return e.KtG(H.deleteCapability(O))}),e._UZ(8,"i",95),e.qZA()(),e._UZ(9,"span",99),e.qZA()}if(2&n){const t=i.$implicit,o=e.oxw(3);e.xp6(3),e.Tol(o.icons.share),e.xp6(1),e.hYB("value","",t.type,":",t.perm,""),e.xp6(2),e.Q6J("ngClass",e.VKq(7,He,o.icons.edit)),e.xp6(2),e.Q6J("ngClass",e.VKq(9,He,o.icons.destroy))}}function x_(n,i){if(1&n){const t=e.EpF();e.TgZ(0,"fieldset")(1,"legend"),e.SDv(2,115),e.qZA(),e.TgZ(3,"div",8)(4,"div",14),e.YNc(5,U_,3,0,"span",90),e.YNc(6,$_,10,11,"span",91),e.TgZ(7,"div",92)(8,"div",93)(9,"button",116),e.NdJ("click",function(){e.CHM(t);const c=e.oxw(2);return e.KtG(c.showCapabilityModal())}),e.ALo(10,"pipeFunction"),e.ALo(11,"pipeFunction"),e._UZ(12,"i",95),e.ynx(13),e.SDv(14,117),e.ALo(15,"titlecase"),e.ALo(16,"upperFirst"),e.BQk(),e.qZA()()(),e._UZ(17,"span",97),e.qZA()()()}if(2&n){const t=e.oxw(2);e.xp6(5),e.Q6J("ngIf",0===t.capabilities.length),e.xp6(1),e.Q6J("ngForOf",t.capabilities),e.xp6(3),e.Q6J("disabled",e.xi3(10,7,t.capabilities,t.hasAllCapabilities))("disableTooltip",!e.xi3(11,10,t.capabilities,t.hasAllCapabilities)),e.xp6(3),e.Q6J("ngClass",e.VKq(17,He,t.icons.add)),e.xp6(4),e.pQV(e.lcZ(15,13,t.actionLabels.ADD))(e.lcZ(16,15,t.capabilityLabel)),e.QtT(14)}}function Z_(n,i){1&n&&(e.TgZ(0,"div",8)(1,"div",14)(2,"div",15),e._UZ(3,"input",121),e.TgZ(4,"label",122),e.SDv(5,123),e.qZA()()()())}function k_(n,i){1&n&&(e.TgZ(0,"span",54),e.SDv(1,127),e.qZA())}function B_(n,i){1&n&&(e.TgZ(0,"span",54),e.SDv(1,128),e.qZA())}function z_(n,i){1&n&&(e.TgZ(0,"span",54),e.SDv(1,129),e.qZA())}function q_(n,i){if(1&n&&(e.TgZ(0,"div",8)(1,"label",124),e.SDv(2,125),e.qZA(),e.TgZ(3,"div",11),e._UZ(4,"input",126),e.YNc(5,k_,2,0,"span",13),e.YNc(6,B_,2,0,"span",13),e.YNc(7,z_,2,0,"span",13),e.qZA()()),2&n){e.oxw();const t=e.MAs(2),o=e.oxw();e.xp6(5),e.Q6J("ngIf",o.userForm.showError("user_quota_max_size",t,"required")),e.xp6(1),e.Q6J("ngIf",o.userForm.showError("user_quota_max_size",t,"quotaMaxSize")),e.xp6(1),e.Q6J("ngIf",o.userForm.showError("user_quota_max_size",o.formDir,"pattern"))}}function H_(n,i){1&n&&(e.TgZ(0,"div",8)(1,"div",14)(2,"div",15),e._UZ(3,"input",130),e.TgZ(4,"label",131),e.SDv(5,132),e.qZA()()()())}function X_(n,i){1&n&&(e.TgZ(0,"span",54),e.SDv(1,136),e.qZA())}function K_(n,i){1&n&&(e.TgZ(0,"span",54),e.SDv(1,137),e.qZA())}function Q_(n,i){if(1&n&&(e.TgZ(0,"div",8)(1,"label",133),e.SDv(2,134),e.qZA(),e.TgZ(3,"div",11),e._UZ(4,"input",135),e.YNc(5,X_,2,0,"span",13),e.YNc(6,K_,2,0,"span",13),e.qZA()()),2&n){e.oxw();const t=e.MAs(2),o=e.oxw();e.xp6(5),e.Q6J("ngIf",o.userForm.showError("user_quota_max_objects",t,"required")),e.xp6(1),e.Q6J("ngIf",o.userForm.showError("user_quota_max_objects",t,"min"))}}function Y_(n,i){1&n&&(e.TgZ(0,"div",8)(1,"div",14)(2,"div",15),e._UZ(3,"input",138),e.TgZ(4,"label",139),e.SDv(5,140),e.qZA()()()())}function J_(n,i){1&n&&(e.TgZ(0,"span",54),e.SDv(1,144),e.qZA())}function V_(n,i){1&n&&(e.TgZ(0,"span",54),e.SDv(1,145),e.qZA())}function j_(n,i){1&n&&(e.TgZ(0,"span",54),e.SDv(1,146),e.qZA())}function er(n,i){if(1&n&&(e.TgZ(0,"div",8)(1,"label",141),e.SDv(2,142),e.qZA(),e.TgZ(3,"div",11),e._UZ(4,"input",143),e.YNc(5,J_,2,0,"span",13),e.YNc(6,V_,2,0,"span",13),e.YNc(7,j_,2,0,"span",13),e.qZA()()),2&n){e.oxw();const t=e.MAs(2),o=e.oxw();e.xp6(5),e.Q6J("ngIf",o.userForm.showError("bucket_quota_max_size",t,"required")),e.xp6(1),e.Q6J("ngIf",o.userForm.showError("bucket_quota_max_size",t,"quotaMaxSize")),e.xp6(1),e.Q6J("ngIf",o.userForm.showError("bucket_quota_max_size",o.formDir,"pattern"))}}function tr(n,i){1&n&&(e.TgZ(0,"div",8)(1,"div",14)(2,"div",15),e._UZ(3,"input",147),e.TgZ(4,"label",148),e.SDv(5,149),e.qZA()()()())}function nr(n,i){1&n&&(e.TgZ(0,"span",54),e.SDv(1,153),e.qZA())}function or(n,i){1&n&&(e.TgZ(0,"span",54),e.SDv(1,154),e.qZA())}function ir(n,i){if(1&n&&(e.TgZ(0,"div",8)(1,"label",150),e.SDv(2,151),e.qZA(),e.TgZ(3,"div",11),e._UZ(4,"input",152),e.YNc(5,nr,2,0,"span",13),e.YNc(6,or,2,0,"span",13),e.qZA()()),2&n){e.oxw();const t=e.MAs(2),o=e.oxw();e.xp6(5),e.Q6J("ngIf",o.userForm.showError("bucket_quota_max_objects",t,"required")),e.xp6(1),e.Q6J("ngIf",o.userForm.showError("bucket_quota_max_objects",t,"min"))}}const Cn=function(n){return{required:n}};function _r(n,i){if(1&n){const t=e.EpF();e.TgZ(0,"div",1)(1,"form",2,3)(3,"div",4)(4,"div",5),e.SDv(5,6),e.ALo(6,"titlecase"),e.ALo(7,"upperFirst"),e.qZA(),e.TgZ(8,"div",7)(9,"div",8)(10,"label",9),e.SDv(11,10),e.qZA(),e.TgZ(12,"div",11),e._UZ(13,"input",12),e.YNc(14,d_,2,0,"span",13),e.YNc(15,f_,2,0,"span",13),e.YNc(16,p_,2,0,"span",13),e.qZA()(),e.TgZ(17,"div",8)(18,"div",14)(19,"div",15)(20,"input",16),e.NdJ("click",function(){e.CHM(t);const c=e.oxw();return e.KtG(c.updateFieldsWhenTenanted())}),e.qZA(),e.TgZ(21,"label",17),e.SDv(22,18),e.qZA()()()(),e.YNc(23,E_,7,3,"div",19),e.TgZ(24,"div",8)(25,"label",20),e.SDv(26,21),e.qZA(),e.TgZ(27,"div",11),e._UZ(28,"input",22),e.YNc(29,R_,2,0,"span",13),e.YNc(30,m_,2,0,"span",13),e.qZA()(),e.TgZ(31,"div",8)(32,"label",23),e.SDv(33,24),e.qZA(),e.TgZ(34,"div",11),e._UZ(35,"input",25),e.YNc(36,h_,2,0,"span",13),e.YNc(37,M_,2,0,"span",13),e.qZA()(),e.TgZ(38,"div",8)(39,"label",26),e.SDv(40,27),e.qZA(),e.TgZ(41,"div",11)(42,"select",28),e.NdJ("change",function(c){e.CHM(t);const O=e.oxw();return e.KtG(O.onMaxBucketsModeChange(c.target.value))}),e.TgZ(43,"option",29),e.SDv(44,30),e.qZA(),e.TgZ(45,"option",31),e.SDv(46,32),e.qZA(),e.TgZ(47,"option",33),e.SDv(48,34),e.qZA()()()(),e.YNc(49,F_,6,2,"div",19),e.TgZ(50,"div",8)(51,"div",14)(52,"div",15),e._UZ(53,"input",35),e.TgZ(54,"label",36),e.SDv(55,37),e.qZA(),e.TgZ(56,"cd-helper"),e.SDv(57,38),e.qZA()()()(),e.TgZ(58,"div",8)(59,"div",14)(60,"div",15),e._UZ(61,"input",39),e.TgZ(62,"label",40),e.SDv(63,41),e.qZA(),e.TgZ(64,"cd-helper"),e.SDv(65,42),e.qZA()()()(),e.YNc(66,b_,11,2,"fieldset",43),e.YNc(67,y_,16,11,"fieldset",43),e.YNc(68,W_,25,13,"fieldset",43),e.YNc(69,x_,18,19,"fieldset",43),e.TgZ(70,"fieldset")(71,"legend"),e.SDv(72,44),e.qZA(),e.TgZ(73,"div",8)(74,"div",14)(75,"div",15),e._UZ(76,"input",45),e.TgZ(77,"label",46),e.SDv(78,47),e.qZA()()()(),e.YNc(79,Z_,6,0,"div",19),e.YNc(80,q_,8,3,"div",19),e.YNc(81,H_,6,0,"div",19),e.YNc(82,Q_,7,2,"div",19),e.qZA(),e.TgZ(83,"fieldset")(84,"legend"),e.SDv(85,48),e.qZA(),e.TgZ(86,"div",8)(87,"div",14)(88,"div",15),e._UZ(89,"input",49),e.TgZ(90,"label",50),e.SDv(91,51),e.qZA()()()(),e.YNc(92,Y_,6,0,"div",19),e.YNc(93,er,8,3,"div",19),e.YNc(94,tr,6,0,"div",19),e.YNc(95,ir,7,2,"div",19),e.qZA()(),e.TgZ(96,"div",52)(97,"cd-form-button-panel",53),e.NdJ("submitActionEvent",function(){e.CHM(t);const c=e.oxw();return e.KtG(c.onSubmit())}),e.ALo(98,"titlecase"),e.ALo(99,"upperFirst"),e.qZA()()()()()}if(2&n){const t=e.MAs(2),o=e.oxw();e.xp6(1),e.Q6J("formGroup",o.userForm),e.xp6(6),e.pQV(e.lcZ(6,30,o.action))(e.lcZ(7,32,o.resource)),e.QtT(5),e.xp6(3),e.Q6J("ngClass",e.VKq(38,Cn,!o.editing)),e.xp6(3),e.Q6J("readonly",o.editing),e.xp6(1),e.Q6J("ngIf",o.userForm.showError("user_id",t,"required")),e.xp6(1),e.Q6J("ngIf",o.userForm.showError("user_id",t,"pattern")),e.xp6(1),e.Q6J("ngIf",!o.userForm.getValue("show_tenant")&&o.userForm.showError("user_id",t,"notUnique")),e.xp6(4),e.Q6J("readonly",!0),e.xp6(3),e.Q6J("ngIf",o.userForm.getValue("show_tenant")),e.xp6(2),e.Q6J("ngClass",e.VKq(40,Cn,!o.editing)),e.xp6(4),e.Q6J("ngIf",o.userForm.showError("display_name",t,"pattern")),e.xp6(1),e.Q6J("ngIf",o.userForm.showError("display_name",t,"required")),e.xp6(6),e.Q6J("ngIf",o.userForm.showError("email",t,"email")),e.xp6(1),e.Q6J("ngIf",o.userForm.showError("email",t,"notUnique")),e.xp6(12),e.Q6J("ngIf",1==o.userForm.get("max_buckets_mode").value),e.xp6(17),e.Q6J("ngIf",!o.editing),e.xp6(1),e.Q6J("ngIf",o.editing),e.xp6(1),e.Q6J("ngIf",o.editing),e.xp6(1),e.Q6J("ngIf",o.editing),e.xp6(10),e.Q6J("ngIf",o.userForm.controls.user_quota_enabled.value),e.xp6(1),e.Q6J("ngIf",o.userForm.controls.user_quota_enabled.value&&!o.userForm.getValue("user_quota_max_size_unlimited")),e.xp6(1),e.Q6J("ngIf",o.userForm.controls.user_quota_enabled.value),e.xp6(1),e.Q6J("ngIf",o.userForm.controls.user_quota_enabled.value&&!o.userForm.getValue("user_quota_max_objects_unlimited")),e.xp6(10),e.Q6J("ngIf",o.userForm.controls.bucket_quota_enabled.value),e.xp6(1),e.Q6J("ngIf",o.userForm.controls.bucket_quota_enabled.value&&!o.userForm.getValue("bucket_quota_max_size_unlimited")),e.xp6(1),e.Q6J("ngIf",o.userForm.controls.bucket_quota_enabled.value),e.xp6(1),e.Q6J("ngIf",o.userForm.controls.bucket_quota_enabled.value&&!o.userForm.getValue("bucket_quota_max_objects_unlimited")),e.xp6(2),e.Q6J("form",o.userForm)("submitText",e.lcZ(98,34,o.action)+" "+e.lcZ(99,36,o.resource))}}let Fn=(()=>{class n extends q.E{constructor(t,o,c,O,H,Q,J){super(),this.formBuilder=t,this.route=o,this.router=c,this.rgwUserService=O,this.modalService=H,this.notificationService=Q,this.actionLabels=J,this.editing=!1,this.submitObservables=[],this.icons=$.P,this.subusers=[],this.s3Keys=[],this.swiftKeys=[],this.capabilities=[],this.showTenant=!1,this.previousTenant=null,this.resource="user",this.subuserLabel="subuser",this.s3keyLabel="S3 Key",this.capabilityLabel="capability",this.editing=this.router.url.startsWith(`/rgw/user/${l.MQ.EDIT}`),this.action=this.editing?this.actionLabels.EDIT:this.actionLabels.CREATE,this.createForm()}createForm(){this.userForm=this.formBuilder.group({user_id:[null,[r.kI.required,r.kI.pattern(/^[a-zA-Z0-9!@#%^&*()_-]+$/)],this.editing?[]:[z.h.unique(this.rgwUserService.exists,this.rgwUserService,()=>this.userForm.getValue("tenant"))]],show_tenant:[this.editing],tenant:[null,[r.kI.pattern(/^[a-zA-Z0-9!@#%^&*()_-]+$/)],this.editing?[]:[z.h.unique(this.rgwUserService.exists,this.rgwUserService,()=>this.userForm.getValue("user_id"),!0)]],display_name:[null,[r.kI.required,r.kI.pattern(/^[a-zA-Z0-9!@#%^&*()._ -]+$/)]],email:[null,[z.h.email],[z.h.unique(this.rgwUserService.emailExists,this.rgwUserService)]],max_buckets_mode:[1],max_buckets:[1e3,[z.h.requiredIf({max_buckets_mode:"1"}),z.h.number(!1)]],system:[!1],suspended:[!1],generate_key:[!0],access_key:[null,[z.h.requiredIf({generate_key:!1})]],secret_key:[null,[z.h.requiredIf({generate_key:!1})]],user_quota_enabled:[!1],user_quota_max_size_unlimited:[!0],user_quota_max_size:[null,[z.h.composeIf({user_quota_enabled:!0,user_quota_max_size_unlimited:!1},[r.kI.required,this.quotaMaxSizeValidator])]],user_quota_max_objects_unlimited:[!0],user_quota_max_objects:[null,[z.h.requiredIf({user_quota_enabled:!0,user_quota_max_objects_unlimited:!1})]],bucket_quota_enabled:[!1],bucket_quota_max_size_unlimited:[!0],bucket_quota_max_size:[null,[z.h.composeIf({bucket_quota_enabled:!0,bucket_quota_max_size_unlimited:!1},[r.kI.required,this.quotaMaxSizeValidator])]],bucket_quota_max_objects_unlimited:[!0],bucket_quota_max_objects:[null,[z.h.requiredIf({bucket_quota_enabled:!0,bucket_quota_max_objects_unlimited:!1})]]})}ngOnInit(){this.route.params.subscribe(t=>{if(!t.hasOwnProperty("uid"))return void this.loadingReady();const o=decodeURIComponent(t.uid),c=[];c.push(this.rgwUserService.get(o)),c.push(this.rgwUserService.getQuota(o)),(0,k.D)(c).subscribe(O=>{const H=v().clone(this.userForm.value);let Q=v().pick(O[0],v().keys(this.userForm.value));switch(Q.max_buckets){case-1:Q.max_buckets_mode=-1,Q.max_buckets="";break;case 0:Q.max_buckets_mode=0,Q.max_buckets="";break;default:Q.max_buckets_mode=1}["user","bucket"].forEach(j=>{const oe=O[1][j+"_quota"];Q[j+"_quota_enabled"]=oe.enabled,oe.max_size<0?(Q[j+"_quota_max_size_unlimited"]=!0,Q[j+"_quota_max_size"]=null):(Q[j+"_quota_max_size_unlimited"]=!1,Q[j+"_quota_max_size"]=`${oe.max_size} B`),oe.max_objects<0?(Q[j+"_quota_max_objects_unlimited"]=!0,Q[j+"_quota_max_objects"]=null):(Q[j+"_quota_max_objects_unlimited"]=!1,Q[j+"_quota_max_objects"]=oe.max_objects)}),Q=v().merge(H,Q),this.userForm.setValue(Q),this.subusers=O[0].subusers,this.s3Keys=O[0].keys,this.swiftKeys=O[0].swift_keys;const J={"read, write":"*"};O[0].caps.forEach(j=>{j.perm in J&&(j.perm=J[j.perm])}),this.capabilities=O[0].caps,this.loadingReady()},()=>{this.loadingError()})})}goToListView(){this.router.navigate(["/rgw/user"])}onSubmit(){let t;if(this.userForm.pristine)return void this.goToListView();const o=this.getUID();if(this.editing){if(this._isGeneralDirty()){const c=this._getUpdateArgs();this.submitObservables.push(this.rgwUserService.update(o,c))}t="Updated Object Gateway user '\n " + o + "'\n "}else{const c=this._getCreateArgs();this.submitObservables.push(this.rgwUserService.create(c)),t="Created Object Gateway user '\n " + o + "'\n "}if(this._isUserQuotaDirty()){const c=this._getUserQuotaArgs();this.submitObservables.push(this.rgwUserService.updateQuota(o,c))}if(this._isBucketQuotaDirty()){const c=this._getBucketQuotaArgs();this.submitObservables.push(this.rgwUserService.updateQuota(o,c))}(0,Li.z)(...this.submitObservables).subscribe({error:()=>{this.userForm.setErrors({cdSubmitButton:!0})},complete:()=>{this.notificationService.show(M.k.success,t),this.goToListView()}})}updateFieldsWhenTenanted(){this.showTenant=this.userForm.getValue("show_tenant"),this.showTenant?(this.userForm.get("user_id").markAsTouched(),this.previousTenant=this.userForm.get("tenant").value,this.userForm.get("tenant").patchValue(null)):(this.userForm.get("user_id").markAsUntouched(),this.userForm.get("tenant").patchValue(this.previousTenant))}getUID(){let t=this.userForm.getValue("user_id");const o=this.userForm?.getValue("tenant");return o&&o.length>0&&(t=`${this.userForm.getValue("tenant")}$${t}`),t}quotaMaxSizeValidator(t){return(0,z.P)(t.value)?null:null===RegExp("^(\\d+(\\.\\d+)?)\\s*(B|K(B|iB)?|M(B|iB)?|G(B|iB)?|T(B|iB)?)?$","i").exec(t.value)||(new _n.H).toBytes(t.value)<1024?{quotaMaxSize:!0}:null}setSubuser(t,o){const c={"full-control":"full","read-write":"readwrite"},O=this.getUID();this.submitObservables.push(this.rgwUserService.createSubuser(O,{subuser:t.id,access:t.permissions in c?c[t.permissions]:t.permissions,key_type:"swift",secret_key:t.secret_key,generate_secret:t.generate_secret?"true":"false"})),v().isNumber(o)?this.subusers[o]=t:(this.subusers.push(t),this.swiftKeys.push({user:t.id,secret_key:t.generate_secret?"Apply your changes first...":t.secret_key})),this.userForm.markAsDirty()}deleteSubuser(t){const o=this.subusers[t];this.submitObservables.push(this.rgwUserService.deleteSubuser(this.getUID(),o.id)),this.s3Keys=this.s3Keys.filter(c=>c.user!==o.id),this.swiftKeys=this.swiftKeys.filter(c=>c.user!==o.id),this.subusers.splice(t,1),this.userForm.markAsDirty()}setCapability(t,o){const c=this.getUID();if(v().isNumber(o)){const O=this.capabilities[o];this.submitObservables.push(this.rgwUserService.deleteCapability(c,O.type,O.perm)),this.submitObservables.push(this.rgwUserService.addCapability(c,t.type,t.perm)),this.capabilities[o]=t}else this.submitObservables.push(this.rgwUserService.addCapability(c,t.type,t.perm)),this.capabilities=[...this.capabilities,t];this.userForm.markAsDirty()}deleteCapability(t){const o=this.capabilities[t];this.submitObservables.push(this.rgwUserService.deleteCapability(this.getUID(),o.type,o.perm)),this.capabilities.splice(t,1),this.capabilities=[...this.capabilities],this.userForm.markAsDirty()}hasAllCapabilities(t){return!v().difference(mn.getAll(),v().map(t,"type")).length}setS3Key(t,o){if(!v().isNumber(o)){const c=t.user.match(/([^:]+)(:(.+))?/),O=c[1],H={subuser:c[2]?c[3]:"",generate_key:t.generate_key?"true":"false"};"false"===H.generate_key&&(v().isNil(t.access_key)||(H.access_key=t.access_key),v().isNil(t.secret_key)||(H.secret_key=t.secret_key)),this.submitObservables.push(this.rgwUserService.addS3Key(O,H)),this.s3Keys.push({user:t.user,access_key:t.generate_key?"Apply your changes first...":t.access_key,secret_key:t.generate_key?"Apply your changes first...":t.secret_key})}this.userForm.markAsDirty()}deleteS3Key(t){const o=this.s3Keys[t];this.submitObservables.push(this.rgwUserService.deleteS3Key(this.getUID(),o.access_key)),this.s3Keys.splice(t,1),this.userForm.markAsDirty()}showSubuserModal(t){const o=this.getUID(),c=this.modalService.show(c_);if(v().isNumber(t)){const O=this.subusers[t];c.componentInstance.setEditing(),c.componentInstance.setValues(o,O.id,O.permissions)}else c.componentInstance.setEditing(!1),c.componentInstance.setValues(o),c.componentInstance.setSubusers(this.subusers);c.componentInstance.submitAction.subscribe(O=>{this.setSubuser(O,t)})}showS3KeyModal(t){const o=this.modalService.show(hn);if(v().isNumber(t)){const c=this.s3Keys[t];o.componentInstance.setViewing(),o.componentInstance.setValues(c.user,c.access_key,c.secret_key)}else{const c=this._getS3KeyUserCandidates();o.componentInstance.setViewing(!1),o.componentInstance.setUserCandidates(c),o.componentInstance.submitAction.subscribe(O=>{this.setS3Key(O)})}}showSwiftKeyModal(t){const o=this.modalService.show(Sn),c=this.swiftKeys[t];o.componentInstance.setValues(c.user,c.secret_key)}showCapabilityModal(t){const o=this.modalService.show(Bi);if(v().isNumber(t)){const c=this.capabilities[t];o.componentInstance.setEditing(),o.componentInstance.setValues(c.type,c.perm)}else o.componentInstance.setEditing(!1),o.componentInstance.setCapabilities(this.capabilities);o.componentInstance.submitAction.subscribe(c=>{this.setCapability(c,t)})}_isGeneralDirty(){return["display_name","email","max_buckets_mode","max_buckets","system","suspended"].some(t=>this.userForm.get(t).dirty)}_isUserQuotaDirty(){return["user_quota_enabled","user_quota_max_size_unlimited","user_quota_max_size","user_quota_max_objects_unlimited","user_quota_max_objects"].some(t=>this.userForm.get(t).dirty)}_isBucketQuotaDirty(){return["bucket_quota_enabled","bucket_quota_max_size_unlimited","bucket_quota_max_size","bucket_quota_max_objects_unlimited","bucket_quota_max_objects"].some(t=>this.userForm.get(t).dirty)}_getCreateArgs(){const t={uid:this.getUID(),display_name:this.userForm.getValue("display_name"),system:this.userForm.getValue("system"),suspended:this.userForm.getValue("suspended"),email:"",max_buckets:this.userForm.getValue("max_buckets"),generate_key:this.userForm.getValue("generate_key"),access_key:"",secret_key:""},o=this.userForm.getValue("email");v().isString(o)&&o.length>0&&v().merge(t,{email:o}),this.userForm.getValue("generate_key")||v().merge(t,{generate_key:!1,access_key:this.userForm.getValue("access_key"),secret_key:this.userForm.getValue("secret_key")});const O=parseInt(this.userForm.getValue("max_buckets_mode"),10);return v().includes([-1,0],O)&&v().merge(t,{max_buckets:O}),t}_getUpdateArgs(){const t={},o=["display_name","email","max_buckets","system","suspended"];for(const O of o)t[O]=this.userForm.getValue(O);const c=parseInt(this.userForm.getValue("max_buckets_mode"),10);return v().includes([-1,0],c)&&(t.max_buckets=c),t}_getUserQuotaArgs(){const t={quota_type:"user",enabled:this.userForm.getValue("user_quota_enabled"),max_size_kb:-1,max_objects:-1};if(!this.userForm.getValue("user_quota_max_size_unlimited")){const o=(new _n.H).toBytes(this.userForm.getValue("user_quota_max_size"));t.max_size_kb=(o/1024).toFixed(0)}return this.userForm.getValue("user_quota_max_objects_unlimited")||(t.max_objects=this.userForm.getValue("user_quota_max_objects")),t}_getBucketQuotaArgs(){const t={quota_type:"bucket",enabled:this.userForm.getValue("bucket_quota_enabled"),max_size_kb:-1,max_objects:-1};if(!this.userForm.getValue("bucket_quota_max_size_unlimited")){const o=(new _n.H).toBytes(this.userForm.getValue("bucket_quota_max_size"));t.max_size_kb=(o/1024).toFixed(0)}return this.userForm.getValue("bucket_quota_max_objects_unlimited")||(t.max_objects=this.userForm.getValue("bucket_quota_max_objects")),t}_getS3KeyUserCandidates(){let t=[];const o=this.getUID();return v().isString(o)&&!v().isEmpty(o)&&t.push(o),this.subusers.forEach(c=>{t.push(c.id)}),this.s3Keys.forEach(c=>{t.push(c.user)}),t=v().uniq(t),t}onMaxBucketsModeChange(t){"1"===t&&(this.userForm.get("max_buckets").valid||this.userForm.patchValue({max_buckets:1e3}))}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(he.O),e.Y36(A.gz),e.Y36(A.F0),e.Y36(f),e.Y36(Qe.Z),e.Y36(V.g),e.Y36(l.p4))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-rgw-user-form"]],features:[e.qOj],decls:1,vars:1,consts:function(){let i,t,o,c,O,H,Q,J,j,oe,Te,Me,Fe,Pe,me,Ge,ye,Le,Ee,Ue,$e,xe,De,ve,se,Re,ce,Je,Se,ut,dt,ft,pt,gt,Tt,Et,Rt,mt,ht,Mt,St,Ct,Ft,Ot,Nt,Pt,At,bt,It,Gt,yt,Lt,Dt,vt,wt,Wt,Ut,$t,xt,Zt,kt,Bt,zt,qt,Ht,Xt,Kt,Qt,Yt,Jt,_e,Wn,Un;return i="" + "\ufffd0\ufffd" + " " + "\ufffd1\ufffd" + "",t="User ID",o="Show Tenant",c="Full name",O="Email address",H="Max. buckets",Q="Disabled",J="Unlimited",j="Custom",oe="Suspended",Te="Suspending the user disables the user and subuser.",Me="System user",Fe="System users are distinct from regular users, they are used by the RGW service to perform administrative tasks, manage buckets and objects",Pe="Quota utilisateur",me="Enabled",Ge="Quota de compartiments",ye="Enabled",Le="This field is required.",Ee="La valeur n'est pas valide.",Ue="L'ID utilisateur sp\xE9cifi\xE9 est d\xE9j\xE0 utilis\xE9.",$e="Tenant",xe="La valeur n'est pas valide.",De="The chosen user ID exists in this tenant.",ve="La valeur n'est pas valide.",se="This field is required.",Re="Ceci n'est pas une adresse \xE9lectronique valide.",ce="L'adresse \xE9lectronique sp\xE9cifi\xE9e est d\xE9j\xE0 utilis\xE9e.",Je="This field is required.",Se="The entered value must be >= 1.",ut="Clef S3",dt="G\xE9n\xE9rer automatiquement la clef",ft="Clef d'acc\xE8s",pt="This field is required.",gt="Clef secr\xE8te",Tt="This field is required.",Et="Utilisateurs secondaires",Rt="\n " + "\ufffd0\ufffd" + "\n " + "\ufffd1\ufffd" + "\n ",mt="Il n'y a aucun utilisateur secondaire.",ht="Edit",Mt="Delete",St="Clefs",Ct="S3",Ft="\n " + "\ufffd0\ufffd" + "\n " + "\ufffd1\ufffd" + "\n ",Ot="Swift",Nt="Il n'y a pas de clefs.",Pt="Show",At="Delete",bt="Il n'y a pas de clefs.",It="Show",Gt="Fonctionnalit\xE9s",yt="All capabilities are already added.",Lt="\n " + "\ufffd0\ufffd" + "\n " + "\ufffd1\ufffd" + "\n ",Dt="Il n'y a aucune fonctionnalit\xE9.",vt="Edit",wt="Delete",Wt="Taille illimit\xE9e",Ut="Taille max.",$t="This field is required.",xt="La valeur n'est pas valide.",Zt="Size must be a number or in a valid format. eg: 5 GiB",kt="Objets illimit\xE9s",Bt="Nombre max. d'objets",zt="This field is required.",qt="La valeur saisie doit \xEAtre >= 0.",Ht="Taille illimit\xE9e",Xt="Taille max.",Kt="This field is required.",Qt="La valeur n'est pas valide.",Yt="Size must be a number or in a valid format. eg: 5 GiB",Jt="Objets illimit\xE9s",_e="Nombre max. d'objets",Wn="This field is required.",Un="La valeur saisie doit \xEAtre >= 0.",[["class","cd-col-form",4,"cdFormLoading"],[1,"cd-col-form"],["novalidate","",3,"formGroup"],["frm","ngForm"],[1,"card"],[1,"card-header"],i,[1,"card-body"],[1,"form-group","row"],["for","user_id",1,"cd-col-form-label",3,"ngClass"],t,[1,"cd-col-form-input"],["id","user_id","type","text","formControlName","user_id",1,"form-control",3,"readonly"],["class","invalid-feedback",4,"ngIf"],[1,"cd-col-form-offset"],[1,"custom-control","custom-checkbox"],["id","show_tenant","type","checkbox","formControlName","show_tenant",1,"custom-control-input",3,"readonly","click"],["for","show_tenant",1,"custom-control-label"],o,["class","form-group row",4,"ngIf"],["for","display_name",1,"cd-col-form-label",3,"ngClass"],c,["id","display_name","type","text","formControlName","display_name",1,"form-control"],["for","email",1,"cd-col-form-label"],O,["id","email","type","text","formControlName","email",1,"form-control"],["for","max_buckets_mode",1,"cd-col-form-label"],H,["formControlName","max_buckets_mode","name","max_buckets_mode","id","max_buckets_mode",1,"form-select",3,"change"],["value","-1"],Q,["value","0"],J,["value","1"],j,["id","suspended","type","checkbox","formControlName","suspended",1,"custom-control-input"],["for","suspended",1,"custom-control-label"],oe,Te,["id","system","type","checkbox","formControlName","system",1,"custom-control-input"],["for","system",1,"custom-control-label"],Me,Fe,[4,"ngIf"],Pe,["id","user_quota_enabled","type","checkbox","formControlName","user_quota_enabled",1,"custom-control-input"],["for","user_quota_enabled",1,"custom-control-label"],me,Ge,["id","bucket_quota_enabled","type","checkbox","formControlName","bucket_quota_enabled",1,"custom-control-input"],["for","bucket_quota_enabled",1,"custom-control-label"],ye,[1,"card-footer"],["wrappingClass","text-right",3,"form","submitText","submitActionEvent"],[1,"invalid-feedback"],Le,Ee,Ue,["for","tenant",1,"cd-col-form-label"],$e,["id","tenant","type","text","formControlName","tenant","autofocus","",1,"form-control",3,"readonly"],xe,De,ve,se,Re,ce,[1,"cd-col-form-label"],["id","max_buckets","type","number","formControlName","max_buckets","min","1",1,"form-control"],Je,Se,ut,["id","generate_key","type","checkbox","formControlName","generate_key",1,"custom-control-input"],["for","generate_key",1,"custom-control-label"],dt,["for","access_key",1,"cd-col-form-label","required"],ft,[1,"input-group"],["id","access_key","type","password","formControlName","access_key",1,"form-control"],["type","button","cdPasswordButton","access_key",1,"btn","btn-light"],["source","access_key"],pt,["for","secret_key",1,"cd-col-form-label","required"],gt,["id","secret_key","type","password","formControlName","secret_key",1,"form-control"],["type","button","cdPasswordButton","secret_key",1,"btn","btn-light"],["source","secret_key"],Tt,Et,[1,"row"],["class","no-border",4,"ngIf"],[4,"ngFor","ngForOf"],[1,"row","my-2"],[1,"col-12"],["type","button",1,"btn","btn-light","float-end","tc_addSubuserButton",3,"click"],[3,"ngClass"],Rt,[1,"help-block"],[1,"no-border"],[1,"form-text","text-muted"],mt,[1,"input-group-text"],["type","text","readonly","",1,"cd-form-control",3,"value"],["type","button","ngbTooltip",ht,1,"btn","btn-light","tc_showSubuserButton",3,"click"],["type","button","ngbTooltip",Mt,1,"btn","btn-light","tc_deleteSubuserButton",3,"click"],St,Ct,["type","button",1,"btn","btn-light","float-end","tc_addS3KeyButton",3,"click"],Ft,Ot,Nt,["type","button","ngbTooltip",Pt,1,"btn","btn-light","tc_showS3KeyButton",3,"click"],["type","button","ngbTooltip",At,1,"btn","btn-light","tc_deleteS3KeyButton",3,"click"],bt,["type","button","ngbTooltip",It,1,"btn","btn-light","tc_showSwiftKeyButton",3,"click"],Gt,["type","button","ngbTooltip",yt,"triggers","pointerenter:pointerleave",1,"btn","btn-light","float-end","tc_addCapButton",3,"disabled","disableTooltip","click"],Lt,Dt,["type","button","ngbTooltip",vt,1,"btn","btn-light","tc_editCapButton",3,"click"],["type","button","ngbTooltip",wt,1,"btn","btn-light","tc_deleteCapButton",3,"click"],["id","user_quota_max_size_unlimited","type","checkbox","formControlName","user_quota_max_size_unlimited",1,"custom-control-input"],["for","user_quota_max_size_unlimited",1,"custom-control-label"],Wt,["for","user_quota_max_size",1,"cd-col-form-label","required"],Ut,["id","user_quota_max_size","type","text","formControlName","user_quota_max_size","cdDimlessBinary","",1,"form-control"],$t,xt,Zt,["id","user_quota_max_objects_unlimited","type","checkbox","formControlName","user_quota_max_objects_unlimited",1,"custom-control-input"],["for","user_quota_max_objects_unlimited",1,"custom-control-label"],kt,["for","user_quota_max_objects",1,"cd-col-form-label","required"],Bt,["id","user_quota_max_objects","type","number","formControlName","user_quota_max_objects","min","0",1,"form-control"],zt,qt,["id","bucket_quota_max_size_unlimited","type","checkbox","formControlName","bucket_quota_max_size_unlimited",1,"custom-control-input"],["for","bucket_quota_max_size_unlimited",1,"custom-control-label"],Ht,["for","bucket_quota_max_size",1,"cd-col-form-label","required"],Xt,["id","bucket_quota_max_size","type","text","formControlName","bucket_quota_max_size","cdDimlessBinary","",1,"form-control"],Kt,Qt,Yt,["id","bucket_quota_max_objects_unlimited","type","checkbox","formControlName","bucket_quota_max_objects_unlimited",1,"custom-control-input"],["for","bucket_quota_max_objects_unlimited",1,"custom-control-label"],Jt,["for","bucket_quota_max_objects",1,"cd-col-form-label","required"],_e,["id","bucket_quota_max_objects","type","number","formControlName","bucket_quota_max_objects","min","0",1,"form-control"],Wn,Un]},template:function(t,o){1&t&&e.YNc(0,_r,100,42,"div",0),2&t&&e.Q6J("cdFormLoading",o.loading)},dependencies:[g.mk,g.sg,g.O5,fe.S,at.s,we.p,st.U,u_.Q,lt.C,cn.y,Oe.o,Ae.b,We.P,C.V,r._Y,r.YN,r.Kr,r.Fj,r.wV,r.Wl,r.EJ,r.JJ,r.JL,r.qQ,r.sg,r.u,x._L,g.rS,Ye.m,Z.i]}),n})();var On=d(99466),rr=d(86969),sr=d(78877);const ar=["accessKeyTpl"],lr=["secretKeyTpl"],cr=function(n){return[n]};function ur(n,i){if(1&n){const t=e.EpF();e.TgZ(0,"div")(1,"legend"),e.SDv(2,13),e.qZA(),e.TgZ(3,"div")(4,"cd-table",14),e.NdJ("updateSelection",function(c){e.CHM(t);const O=e.oxw(3);return e.KtG(O.updateKeysSelection(c))}),e.TgZ(5,"div",15)(6,"div",16)(7,"button",17),e.NdJ("click",function(){e.CHM(t);const c=e.oxw(3);return e.KtG(c.showKeyModal())}),e._UZ(8,"i",18),e.ynx(9),e.SDv(10,19),e.BQk(),e.qZA()()()()()()}if(2&n){const t=e.oxw(3);e.xp6(4),e.Q6J("data",t.keys)("columns",t.keysColumns),e.xp6(3),e.Q6J("disabled",!t.keysSelection.hasSingleSelection),e.xp6(1),e.Q6J("ngClass",e.VKq(4,cr,t.icons.show))}}function dr(n,i){if(1&n&&(e.TgZ(0,"tr")(1,"td",8),e.SDv(2,20),e.qZA(),e.TgZ(3,"td"),e._uU(4),e.qZA()()),2&n){const t=e.oxw(3);e.xp6(4),e.Oqu(t.user.email)}}function fr(n,i){if(1&n&&(e.TgZ(0,"div"),e._uU(1),e.qZA()),2&n){const t=i.$implicit;e.xp6(1),e.AsE(" ",t.id," (",t.permissions,") ")}}function pr(n,i){if(1&n&&(e.TgZ(0,"tr")(1,"td",8),e.SDv(2,21),e.qZA(),e.TgZ(3,"td"),e.YNc(4,fr,2,2,"div",22),e.qZA()()),2&n){const t=e.oxw(3);e.xp6(4),e.Q6J("ngForOf",t.user.subusers)}}function gr(n,i){if(1&n&&(e.TgZ(0,"div"),e._uU(1),e.qZA()),2&n){const t=i.$implicit;e.xp6(1),e.AsE(" ",t.type," (",t.perm,") ")}}function Tr(n,i){if(1&n&&(e.TgZ(0,"tr")(1,"td",8),e.SDv(2,23),e.qZA(),e.TgZ(3,"td"),e.YNc(4,gr,2,2,"div",22),e.qZA()()),2&n){const t=e.oxw(3);e.xp6(4),e.Q6J("ngForOf",t.user.caps)}}function Er(n,i){if(1&n&&(e.TgZ(0,"tr")(1,"td",8),e.SDv(2,24),e.qZA(),e.TgZ(3,"td"),e._uU(4),e.ALo(5,"join"),e.qZA()()),2&n){const t=e.oxw(3);e.xp6(4),e.Oqu(e.lcZ(5,1,t.user.mfa_ids))}}function Rr(n,i){1&n&&(e.TgZ(0,"td"),e._uU(1,"-"),e.qZA())}function mr(n,i){1&n&&(e.TgZ(0,"td"),e.SDv(1,29),e.qZA())}function hr(n,i){if(1&n&&(e.TgZ(0,"td"),e._uU(1),e.ALo(2,"dimlessBinary"),e.qZA()),2&n){const t=e.oxw(4);e.xp6(1),e.hij(" ",e.lcZ(2,1,t.user.user_quota.max_size)," ")}}function Mr(n,i){1&n&&(e.TgZ(0,"td"),e._uU(1,"-"),e.qZA())}function Sr(n,i){1&n&&(e.TgZ(0,"td"),e.SDv(1,30),e.qZA())}function Cr(n,i){if(1&n&&(e.TgZ(0,"td"),e._uU(1),e.qZA()),2&n){const t=e.oxw(4);e.xp6(1),e.hij(" ",t.user.user_quota.max_objects," ")}}function Fr(n,i){if(1&n&&(e.TgZ(0,"div")(1,"legend"),e.SDv(2,25),e.qZA(),e.TgZ(3,"table",2)(4,"tbody")(5,"tr")(6,"td",3),e.SDv(7,26),e.qZA(),e.TgZ(8,"td",5),e._uU(9),e.ALo(10,"booleanText"),e.qZA()(),e.TgZ(11,"tr")(12,"td",8),e.SDv(13,27),e.qZA(),e.YNc(14,Rr,2,0,"td",0),e.YNc(15,mr,2,0,"td",0),e.YNc(16,hr,3,3,"td",0),e.qZA(),e.TgZ(17,"tr")(18,"td",8),e.SDv(19,28),e.qZA(),e.YNc(20,Mr,2,0,"td",0),e.YNc(21,Sr,2,0,"td",0),e.YNc(22,Cr,2,1,"td",0),e.qZA()()()()),2&n){const t=e.oxw(3);e.xp6(9),e.Oqu(e.lcZ(10,7,t.user.user_quota.enabled)),e.xp6(5),e.Q6J("ngIf",!t.user.user_quota.enabled),e.xp6(1),e.Q6J("ngIf",t.user.user_quota.enabled&&t.user.user_quota.max_size<=-1),e.xp6(1),e.Q6J("ngIf",t.user.user_quota.enabled&&t.user.user_quota.max_size>-1),e.xp6(4),e.Q6J("ngIf",!t.user.user_quota.enabled),e.xp6(1),e.Q6J("ngIf",t.user.user_quota.enabled&&t.user.user_quota.max_objects<=-1),e.xp6(1),e.Q6J("ngIf",t.user.user_quota.enabled&&t.user.user_quota.max_objects>-1)}}function Or(n,i){1&n&&(e.TgZ(0,"td"),e._uU(1,"-"),e.qZA())}function Nr(n,i){1&n&&(e.TgZ(0,"td"),e.SDv(1,35),e.qZA())}function Pr(n,i){if(1&n&&(e.TgZ(0,"td"),e._uU(1),e.ALo(2,"dimlessBinary"),e.qZA()),2&n){const t=e.oxw(4);e.xp6(1),e.hij(" ",e.lcZ(2,1,t.user.bucket_quota.max_size)," ")}}function Ar(n,i){1&n&&(e.TgZ(0,"td"),e._uU(1,"-"),e.qZA())}function br(n,i){1&n&&(e.TgZ(0,"td"),e.SDv(1,36),e.qZA())}function Ir(n,i){if(1&n&&(e.TgZ(0,"td"),e._uU(1),e.qZA()),2&n){const t=e.oxw(4);e.xp6(1),e.hij(" ",t.user.bucket_quota.max_objects," ")}}function Gr(n,i){if(1&n&&(e.TgZ(0,"div")(1,"legend"),e.SDv(2,31),e.qZA(),e.TgZ(3,"table",2)(4,"tbody")(5,"tr")(6,"td",3),e.SDv(7,32),e.qZA(),e.TgZ(8,"td",5),e._uU(9),e.ALo(10,"booleanText"),e.qZA()(),e.TgZ(11,"tr")(12,"td",8),e.SDv(13,33),e.qZA(),e.YNc(14,Or,2,0,"td",0),e.YNc(15,Nr,2,0,"td",0),e.YNc(16,Pr,3,3,"td",0),e.qZA(),e.TgZ(17,"tr")(18,"td",8),e.SDv(19,34),e.qZA(),e.YNc(20,Ar,2,0,"td",0),e.YNc(21,br,2,0,"td",0),e.YNc(22,Ir,2,1,"td",0),e.qZA()()()()),2&n){const t=e.oxw(3);e.xp6(9),e.Oqu(e.lcZ(10,7,t.user.bucket_quota.enabled)),e.xp6(5),e.Q6J("ngIf",!t.user.bucket_quota.enabled),e.xp6(1),e.Q6J("ngIf",t.user.bucket_quota.enabled&&t.user.bucket_quota.max_size<=-1),e.xp6(1),e.Q6J("ngIf",t.user.bucket_quota.enabled&&t.user.bucket_quota.max_size>-1),e.xp6(4),e.Q6J("ngIf",!t.user.bucket_quota.enabled),e.xp6(1),e.Q6J("ngIf",t.user.bucket_quota.enabled&&t.user.bucket_quota.max_objects<=-1),e.xp6(1),e.Q6J("ngIf",t.user.bucket_quota.enabled&&t.user.bucket_quota.max_objects>-1)}}function yr(n,i){if(1&n&&(e.TgZ(0,"div"),e.YNc(1,ur,11,6,"div",0),e.TgZ(2,"legend"),e.SDv(3,1),e.qZA(),e.TgZ(4,"table",2)(5,"tbody")(6,"tr")(7,"td",3),e.SDv(8,4),e.qZA(),e.TgZ(9,"td",5),e._uU(10),e.qZA()(),e.TgZ(11,"tr")(12,"td",3),e.SDv(13,6),e.qZA(),e.TgZ(14,"td",5),e._uU(15),e.qZA()(),e.TgZ(16,"tr")(17,"td",3),e.SDv(18,7),e.qZA(),e.TgZ(19,"td",5),e._uU(20),e.qZA()(),e.TgZ(21,"tr")(22,"td",8),e.SDv(23,9),e.qZA(),e.TgZ(24,"td"),e._uU(25),e.qZA()(),e.YNc(26,dr,5,1,"tr",0),e.TgZ(27,"tr")(28,"td",8),e.SDv(29,10),e.qZA(),e.TgZ(30,"td"),e._uU(31),e.ALo(32,"booleanText"),e.qZA()(),e.TgZ(33,"tr")(34,"td",8),e.SDv(35,11),e.qZA(),e.TgZ(36,"td"),e._uU(37),e.ALo(38,"booleanText"),e.qZA()(),e.TgZ(39,"tr")(40,"td",8),e.SDv(41,12),e.qZA(),e.TgZ(42,"td"),e._uU(43),e.ALo(44,"map"),e.qZA()(),e.YNc(45,pr,5,1,"tr",0),e.YNc(46,Tr,5,1,"tr",0),e.YNc(47,Er,6,3,"tr",0),e.qZA()(),e.YNc(48,Fr,23,9,"div",0),e.YNc(49,Gr,23,9,"div",0),e.qZA()),2&n){const t=e.oxw(2);e.xp6(1),e.Q6J("ngIf",t.keys.length),e.xp6(9),e.Oqu(t.user.tenant),e.xp6(5),e.Oqu(t.user.user_id),e.xp6(5),e.Oqu(t.user.uid),e.xp6(5),e.Oqu(t.user.display_name),e.xp6(1),e.Q6J("ngIf",null==t.user.email?null:t.user.email.length),e.xp6(5),e.Oqu(e.lcZ(32,14,t.user.suspended)),e.xp6(6),e.Oqu(e.lcZ(38,16,t.user.system)),e.xp6(6),e.Oqu(e.xi3(44,18,t.user.max_buckets,t.maxBucketsMap)),e.xp6(2),e.Q6J("ngIf",t.user.subusers&&t.user.subusers.length),e.xp6(1),e.Q6J("ngIf",t.user.caps&&t.user.caps.length),e.xp6(1),e.Q6J("ngIf",null==t.user.mfa_ids?null:t.user.mfa_ids.length),e.xp6(1),e.Q6J("ngIf",t.user.user_quota),e.xp6(1),e.Q6J("ngIf",t.user.bucket_quota)}}function Lr(n,i){if(1&n&&(e.ynx(0),e.YNc(1,yr,50,21,"div",0),e.BQk()),2&n){const t=e.oxw();e.xp6(1),e.Q6J("ngIf",t.user)}}let Dr=(()=>{class n{constructor(t,o){this.rgwUserService=t,this.modalService=o,this.keys=[],this.keysColumns=[],this.keysSelection=new Vt.r,this.icons=$.P}ngOnInit(){this.keysColumns=[{name:"Username",prop:"username",flexGrow:1},{name:"Type",prop:"type",flexGrow:1}],this.maxBucketsMap={"-1":"Disabled",0:"Unlimited"}}ngOnChanges(){this.selection&&(this.user=this.selection,this.user.subusers=v().sortBy(this.user.subusers,"id"),this.user.caps=v().sortBy(this.user.caps,"type"),this.rgwUserService.getQuota(this.user.uid).subscribe(t=>{v().extend(this.user,t)}),this.keys=[],this.user.keys&&this.user.keys.forEach(t=>{this.keys.push({id:this.keys.length+1,type:"S3",username:t.user,ref:t})}),this.user.swift_keys&&this.user.swift_keys.forEach(t=>{this.keys.push({id:this.keys.length+1,type:"Swift",username:t.user,ref:t})}),this.keys=v().sortBy(this.keys,"user"))}updateKeysSelection(t){this.keysSelection=t}showKeyModal(){const t=this.keysSelection.first(),o=this.modalService.show("S3"===t.type?hn:Sn);switch(t.type){case"S3":o.componentInstance.setViewing(),o.componentInstance.setValues(t.ref.user,t.ref.access_key,t.ref.secret_key);break;case"Swift":o.componentInstance.setValues(t.ref.user,t.ref.secret_key)}}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(f),e.Y36(Qe.Z))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-rgw-user-details"]],viewQuery:function(t,o){if(1&t&&(e.Gf(ar,5),e.Gf(lr,5)),2&t){let c;e.iGM(c=e.CRH())&&(o.accessKeyTpl=c.first),e.iGM(c=e.CRH())&&(o.secretKeyTpl=c.first)}},inputs:{selection:"selection"},features:[e.TTD],decls:1,vars:1,consts:function(){let i,t,o,c,O,H,Q,J,j,oe,Te,Me,Fe,Pe,me,Ge,ye,Le,Ee,Ue,$e,xe,De,ve,se,Re;return i="D\xE9tails",t="Tenant",o="User ID",c="Username",O="Full name",H="Suspended",Q="System user",J="Nombre maximal de compartiments",j="Clefs",oe="Show",Te="Email address",Me="Utilisateurs secondaires",Fe="Fonctionnalit\xE9s",Pe="MFAs(Id)",me="Quota utilisateur",Ge="Enabled",ye="Taille maximale",Le="Nombre maximal d'objets",Ee="Unlimited",Ue="Unlimited",$e="Quota de compartiments",xe="Enabled",De="Taille maximale",ve="Nombre maximal d'objets",se="Unlimited",Re="Unlimited",[[4,"ngIf"],i,[1,"table","table-striped","table-bordered"],[1,"bold","w-25"],t,[1,"w-75"],o,c,[1,"bold"],O,H,Q,J,j,["columnMode","flex","selectionType","multi","forceIdentifier","true",3,"data","columns","updateSelection"],[1,"table-actions"],["dropdown","",1,"btn-group"],["type","button",1,"btn","btn-accent",3,"disabled","click"],[3,"ngClass"],oe,Te,Me,[4,"ngFor","ngForOf"],Fe,Pe,me,Ge,ye,Le,Ee,Ue,$e,xe,De,ve,se,Re]},template:function(t,o){1&t&&e.YNc(0,Lr,2,1,"ng-container",0),2&t&&e.Q6J("ngIf",o.selection)},dependencies:[g.mk,g.sg,g.O5,et.a,Oe.o,Tn.T,nn.$,rr.A,sr.b]}),n})();const Nn=function(){return{exact:!0}};let vr=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-rgw-user-tabs"]],decls:7,vars:4,consts:function(){let i,t;return i="Utilisateurs",t="Roles",[[1,"nav","nav-tabs"],[1,"nav-item"],["routerLink","/rgw/user","routerLinkActive","active","ariaCurrentWhenActive","page",1,"nav-link",3,"routerLinkActiveOptions"],i,["routerLink","/rgw/roles","routerLinkActive","active","ariaCurrentWhenActive","page",1,"nav-link",3,"routerLinkActiveOptions"],t]},template:function(t,o){1&t&&(e.TgZ(0,"ul",0)(1,"li",1)(2,"a",2),e.SDv(3,3),e.qZA()(),e.TgZ(4,"li",1)(5,"a",4),e.SDv(6,5),e.qZA()()()),2&t&&(e.xp6(2),e.Q6J("routerLinkActiveOptions",e.DdM(2,Nn)),e.xp6(3),e.Q6J("routerLinkActiveOptions",e.DdM(3,Nn)))},dependencies:[A.rH,A.Od]}),n})();const wr=["userSizeTpl"],Wr=["userObjectTpl"];function Ur(n,i){if(1&n&&e._UZ(0,"cd-usage-bar",8),2&n){const t=e.oxw().row;e.Q6J("total",t.user_quota.max_size)("used",t.stats.size_actual)}}function $r(n,i){1&n&&e.SDv(0,9)}function xr(n,i){if(1&n&&(e.YNc(0,Ur,1,2,"cd-usage-bar",6),e.YNc(1,$r,1,0,"ng-template",null,7,e.W1O)),2&n){const t=i.row,o=e.MAs(2);e.Q6J("ngIf",t.user_quota.max_size>0&&t.user_quota.enabled)("ngIfElse",o)}}function Zr(n,i){if(1&n&&e._UZ(0,"cd-usage-bar",12),2&n){const t=e.oxw().row;e.Q6J("total",t.user_quota.max_objects)("used",t.stats.num_objects)("isBinary",!1)}}function kr(n,i){1&n&&e.SDv(0,13)}function Br(n,i){if(1&n&&(e.YNc(0,Zr,1,3,"cd-usage-bar",10),e.YNc(1,kr,1,0,"ng-template",null,11,e.W1O)),2&n){const t=i.row,o=e.MAs(2);e.Q6J("ngIf",t.user_quota.max_objects>0&&t.user_quota.enabled)("ngIfElse",o)}}let qr=(()=>{class n extends en.o{constructor(t,o,c,O,H,Q){super(Q),this.authStorageService=t,this.rgwUserService=o,this.modalService=c,this.urlBuilder=O,this.actionLabels=H,this.ngZone=Q,this.columns=[],this.users=[],this.selection=new Vt.r}ngOnInit(){this.permission=this.authStorageService.getPermissions().rgw,this.columns=[{name:"Username",prop:"uid",flexGrow:1},{name:"Tenant",prop:"tenant",flexGrow:1},{name:"Full name",prop:"display_name",flexGrow:1},{name:"Email address",prop:"email",flexGrow:1},{name:"Suspended",prop:"suspended",flexGrow:1,cellClass:"text-center",cellTransformation:On.e.checkIcon},{name:"Max. buckets",prop:"max_buckets",flexGrow:1,cellTransformation:On.e.map,customTemplateConfig:{"-1":"Disabled",0:"Unlimited"}},{name:"Capacity Limit %",prop:"size_usage",cellTemplate:this.userSizeTpl,flexGrow:.8},{name:"Object Limit %",prop:"object_usage",cellTemplate:this.userObjectTpl,flexGrow:.8}];const t=()=>this.selection.first()&&`${encodeURIComponent(this.selection.first().uid)}`;this.tableActions=[{permission:"create",icon:$.P.add,routerLink:()=>this.urlBuilder.getCreate(),name:this.actionLabels.CREATE,canBePrimary:H=>!H.hasSelection},{permission:"update",icon:$.P.edit,routerLink:()=>this.urlBuilder.getEdit(t()),name:this.actionLabels.EDIT},{permission:"delete",icon:$.P.destroy,click:()=>this.deleteAction(),disable:()=>!this.selection.hasSelection,name:this.actionLabels.DELETE,canBePrimary:H=>H.hasMultiSelection}],this.setTableRefreshTimeout()}getUserList(t){this.setTableRefreshTimeout(),this.rgwUserService.list().subscribe(o=>{this.users=o},()=>{t.error()})}updateSelection(t){this.selection=t}deleteAction(){this.modalService.show(tn.M,{itemDescription:this.selection.hasSingleSelection?"user":"users",itemNames:this.selection.selected.map(t=>t.uid),submitActionObservable:()=>new dn.y(t=>{(0,k.D)(this.selection.selected.map(o=>this.rgwUserService.delete(o.uid))).subscribe({error:o=>{t.error(o),this.table.refreshBtn()},complete:()=>{t.complete(),this.table.refreshBtn()}})})})}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(nt.j),e.Y36(f),e.Y36(Qe.Z),e.Y36(tt.F),e.Y36(l.p4),e.Y36(e.R0b))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-rgw-user-list"]],viewQuery:function(t,o){if(1&t&&(e.Gf(et.a,7),e.Gf(wr,7),e.Gf(Wr,7)),2&t){let c;e.iGM(c=e.CRH())&&(o.table=c.first),e.iGM(c=e.CRH())&&(o.userSizeTpl=c.first),e.iGM(c=e.CRH())&&(o.userObjectTpl=c.first)}},features:[e._Bn([{provide:tt.F,useValue:new tt.F("rgw/user")}]),e.qOj],decls:9,vars:9,consts:function(){let i,t;return i="No Limit",t="No Limit",[["columnMode","flex","selectionType","multiClick","identifier","uid",3,"autoReload","data","columns","hasDetails","status","setExpandedRow","updateSelection","fetchData"],["table",""],[1,"table-actions",3,"permission","selection","tableActions"],["cdTableDetail","",3,"selection"],["userSizeTpl",""],["userObjectTpl",""],[3,"total","used",4,"ngIf","ngIfElse"],["noSizeQuota",""],[3,"total","used"],i,[3,"total","used","isBinary",4,"ngIf","ngIfElse"],["noObjectQuota",""],[3,"total","used","isBinary"],t]},template:function(t,o){1&t&&(e._UZ(0,"cd-rgw-user-tabs"),e.TgZ(1,"cd-table",0,1),e.NdJ("setExpandedRow",function(O){return o.setExpandedRow(O)})("updateSelection",function(O){return o.updateSelection(O)})("fetchData",function(O){return o.getUserList(O)}),e._UZ(3,"cd-table-actions",2)(4,"cd-rgw-user-details",3),e.qZA(),e.YNc(5,xr,3,2,"ng-template",null,4,e.W1O),e.YNc(7,Br,3,2,"ng-template",null,5,e.W1O)),2&t&&(e.xp6(1),e.Q6J("autoReload",!1)("data",o.users)("columns",o.columns)("hasDetails",!0)("status",o.tableStatus),e.xp6(2),e.Q6J("permission",o.permission)("selection",o.selection)("tableActions",o.tableActions),e.xp6(1),e.Q6J("selection",o.expandedRow))},dependencies:[g.O5,pn.O,et.a,on.K,Dr,vr]}),n})();var Pn=d(83357),sn=d(35512),An=d(13464),Hr=d(46797),ot=d(95596),an=d(80381),Xe=d(95463),ke=d(43186),it=d(97937),_t=d(98961);function Xr(n,i){1&n&&(e.TgZ(0,"span",32),e.SDv(1,33),e.qZA())}function Kr(n,i){1&n&&(e.TgZ(0,"span",32),e.SDv(1,34),e.qZA())}function Qr(n,i){1&n&&(e.TgZ(0,"span",32),e.SDv(1,35),e.qZA())}function Yr(n,i){1&n&&(e.TgZ(0,"span",32),e.SDv(1,36),e.qZA())}function Jr(n,i){1&n&&(e.TgZ(0,"span",32),e.SDv(1,37),e.qZA())}function Vr(n,i){1&n&&(e.TgZ(0,"span",32),e.SDv(1,38),e.qZA())}function jr(n,i){1&n&&(e.TgZ(0,"span",32),e.SDv(1,39),e.qZA())}function es(n,i){1&n&&(e.TgZ(0,"span",32),e.SDv(1,40),e.qZA())}function ts(n,i){1&n&&(e.TgZ(0,"span",32),e.SDv(1,41),e.qZA())}function ns(n,i){1&n&&(e.TgZ(0,"span",32),e.SDv(1,42),e.qZA())}let os=(()=>{class n{constructor(t,o,c,O,H,Q,J,j,oe){this.activeModal=t,this.actionLabels=o,this.rgwMultisiteService=c,this.rgwZoneService=O,this.notificationService=H,this.rgwZonegroupService=Q,this.rgwRealmService=J,this.rgwDaemonService=j,this.modalService=oe,this.endpoints=/^((https?:\/\/)|(www.))(?:([a-zA-Z]+)|(\d+\.\d+.\d+.\d+)):\d{2,4}$/,this.ipv4Rgx=/^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/i,this.ipv6Rgx=/^(?:[a-f0-9]{1,4}:){7}[a-f0-9]{1,4}$/i,this.submitAction=new e.vpe,this.multisiteInfo=[],this.createForm()}createForm(){this.multisiteMigrateForm=new Xe.d({realmName:new r.p4(null,{validators:[r.kI.required,z.h.custom("uniqueName",t=>this.realmNames&&-1!==this.zoneNames.indexOf(t))]}),zonegroupName:new r.p4(null,{validators:[r.kI.required,z.h.custom("uniqueName",t=>this.zonegroupNames&&-1!==this.zoneNames.indexOf(t))]}),zoneName:new r.p4(null,{validators:[r.kI.required,z.h.custom("uniqueName",t=>this.zoneNames&&-1!==this.zoneNames.indexOf(t))]}),zone_endpoints:new r.p4([],{validators:[z.h.custom("endpoint",t=>!(v().isEmpty(t)||(t.includes(",")?(t.split(",").forEach(o=>!this.endpoints.test(o)&&!this.ipv4Rgx.test(o)&&!this.ipv6Rgx.test(o)),1):this.endpoints.test(t)||this.ipv4Rgx.test(t)||this.ipv6Rgx.test(t)))),r.kI.required]}),zonegroup_endpoints:new r.p4([],[z.h.custom("endpoint",t=>!(v().isEmpty(t)||(t.includes(",")?(t.split(",").forEach(o=>!this.endpoints.test(o)&&!this.ipv4Rgx.test(o)&&!this.ipv6Rgx.test(o)),1):this.endpoints.test(t)||this.ipv4Rgx.test(t)||this.ipv6Rgx.test(t)))),r.kI.required]),access_key:new r.p4(null),secret_key:new r.p4(null)})}ngOnInit(){this.realmList=void 0!==this.multisiteInfo[0]&&this.multisiteInfo[0].hasOwnProperty("realms")?this.multisiteInfo[0].realms:[],this.realmNames=this.realmList.map(t=>t.name),this.zonegroupList=void 0!==this.multisiteInfo[1]&&this.multisiteInfo[1].hasOwnProperty("zonegroups")?this.multisiteInfo[1].zonegroups:[],this.zonegroupNames=this.zonegroupList.map(t=>t.name),this.zoneList=void 0!==this.multisiteInfo[2]&&this.multisiteInfo[2].hasOwnProperty("zones")?this.multisiteInfo[2].zones:[],this.zoneNames=this.zoneList.map(t=>t.name)}submit(){const t=this.multisiteMigrateForm.value;this.realm=new ke.L6,this.realm.name=t.realmName,this.zonegroup=new ke.iG,this.zonegroup.name=t.zonegroupName,this.zonegroup.endpoints=t.zonegroup_endpoints,this.zone=new ke.jb,this.zone.name=t.zoneName,this.zone.endpoints=t.zone_endpoints,this.zone.system_key=new ke.VY,this.zone.system_key.access_key=t.access_key,this.zone.system_key.secret_key=t.secret_key,this.rgwMultisiteService.migrate(this.realm,this.zonegroup,this.zone).subscribe(()=>{this.notificationService.show(M.k.success,"" + this.actionLabels.MIGRATE + " done successfully"),this.submitAction.emit(),this.activeModal.close()},()=>{this.notificationService.show(M.k.error,"Migration failed")})}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(x.Kz),e.Y36(l.p4),e.Y36(an.o),e.Y36(it.g),e.Y36(V.g),e.Y36(_t.K),e.Y36(ot.y),e.Y36(u.b),e.Y36(Qe.Z))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-rgw-multisite-migrate"]],outputs:{submitAction:"submitAction"},decls:68,vars:14,consts:function(){let i,t,o,c,O,H,Q,J,j,oe,Te,Me,Fe,Pe,me,Ge,ye,Le;return i="Migrate Single Site to Multi-site " + "\ufffd#3\ufffd" + "" + "\ufffd#4\ufffd" + "Migrate from a single-site deployment with a default zone group and zone to a multi-site system" + "\ufffd/#4\ufffd" + "" + "\ufffd/#3\ufffd" + "",t="Realm Name",o="Rename default zone group",c="Zone group Endpoints ",O="Rename default zone",H="Zone Endpoints ",Q="S3 access key " + "\ufffd#47\ufffd" + "" + "\ufffd#48\ufffd" + "To see or copy your S3 access key, go to " + "[\ufffd#49\ufffd|\ufffd#50\ufffd|\ufffd#51\ufffd|\ufffd#52\ufffd]" + "Object Gateway > Users" + "[\ufffd/#49\ufffd|\ufffd/#50\ufffd|\ufffd/#51\ufffd|\ufffd/#52\ufffd]" + " and click on your user name. In " + "[\ufffd#49\ufffd|\ufffd#50\ufffd|\ufffd#51\ufffd|\ufffd#52\ufffd]" + "Keys" + "[\ufffd/#49\ufffd|\ufffd/#50\ufffd|\ufffd/#51\ufffd|\ufffd/#52\ufffd]" + ", click " + "[\ufffd#49\ufffd|\ufffd#50\ufffd|\ufffd#51\ufffd|\ufffd#52\ufffd]" + "Show" + "[\ufffd/#49\ufffd|\ufffd/#50\ufffd|\ufffd/#51\ufffd|\ufffd/#52\ufffd]" + ". View the access key by clicking Show and copy the key by clicking " + "[\ufffd#49\ufffd|\ufffd#50\ufffd|\ufffd#51\ufffd|\ufffd#52\ufffd]" + "Copy to Clipboard" + "[\ufffd/#49\ufffd|\ufffd/#50\ufffd|\ufffd/#51\ufffd|\ufffd/#52\ufffd]" + "." + "\ufffd/#48\ufffd" + "" + "\ufffd/#47\ufffd" + "",Q=e.Zx4(Q),J="S3 secret key " + "\ufffd#58\ufffd" + "" + "\ufffd#59\ufffd" + "To see or copy your S3 access key, go to " + "[\ufffd#60\ufffd|\ufffd#61\ufffd|\ufffd#62\ufffd|\ufffd#63\ufffd]" + "Object Gateway > Users" + "[\ufffd/#60\ufffd|\ufffd/#61\ufffd|\ufffd/#62\ufffd|\ufffd/#63\ufffd]" + " and click on your user name. In " + "[\ufffd#60\ufffd|\ufffd#61\ufffd|\ufffd#62\ufffd|\ufffd#63\ufffd]" + "Keys" + "[\ufffd/#60\ufffd|\ufffd/#61\ufffd|\ufffd/#62\ufffd|\ufffd/#63\ufffd]" + ", click " + "[\ufffd#60\ufffd|\ufffd#61\ufffd|\ufffd#62\ufffd|\ufffd#63\ufffd]" + "Show" + "[\ufffd/#60\ufffd|\ufffd/#61\ufffd|\ufffd/#62\ufffd|\ufffd/#63\ufffd]" + ". View the secret key by clicking Show and copy the key by clicking " + "[\ufffd#60\ufffd|\ufffd#61\ufffd|\ufffd#62\ufffd|\ufffd#63\ufffd]" + "Copy to Clipboard" + "[\ufffd/#60\ufffd|\ufffd/#61\ufffd|\ufffd/#62\ufffd|\ufffd/#63\ufffd]" + "." + "\ufffd/#59\ufffd" + "" + "\ufffd/#58\ufffd" + "",J=e.Zx4(J),j="This field is required.",oe="The chosen realm name is already in use.",Te="This field is required.",Me="The chosen zone group name is already in use.",Fe="This field is required.",Pe="Please enter a valid IP address.",me="This field is required.",Ge="The chosen zone name is already in use.",ye="This field is required.",Le="Please enter a valid IP address.",[[3,"modalRef"],[1,"modal-title"],i,[1,"modal-content"],["name","multisiteMigrateForm","novalidate","",3,"formGroup"],["formDir","ngForm"],[1,"modal-body"],[1,"form-group","row"],["for","realmName",1,"cd-col-form-label","required"],t,[1,"cd-col-form-input"],["type","text","placeholder","Realm name...","id","realmName","name","realmName","formControlName","realmName",1,"form-control"],["class","invalid-feedback",4,"ngIf"],["for","zonegroupName",1,"cd-col-form-label","required"],o,["type","text","placeholder","Zone group name...","id","zonegroupName","name","zonegroupName","formControlName","zonegroupName",1,"form-control"],["for","zonegroup_endpoints",1,"cd-col-form-label","required"],c,["type","text","placeholder","e.g, http://ceph-node-00.com:80","id","zonegroup_endpoints","name","zonegroup_endpoints","formControlName","zonegroup_endpoints",1,"form-control"],["for","zoneName",1,"cd-col-form-label","required"],O,["type","text","placeholder","Zone name...","id","zoneName","name","zoneName","formControlName","zoneName",1,"form-control"],["for","zone_endpoints",1,"cd-col-form-label","required"],H,["type","text","placeholder","e.g, http://ceph-node-00.com:80","id","zone_endpoints","name","zone_endpoints","formControlName","zone_endpoints",1,"form-control"],["for","access_key",1,"cd-col-form-label","required"],Q,["type","text","placeholder","e.g.","id","access_key","name","access_key","formControlName","access_key",1,"form-control"],J,["type","text","placeholder","e.g.","id","secret_key","name","secret_key","formControlName","secret_key",1,"form-control"],[1,"modal-footer"],[3,"submitText","form","submitActionEvent"],[1,"invalid-feedback"],j,oe,Te,Me,Fe,Pe,me,Ge,ye,Le]},template:function(t,o){if(1&t&&(e.TgZ(0,"cd-modal",0),e.ynx(1,1),e.tHW(2,2),e.TgZ(3,"cd-helper"),e._UZ(4,"span"),e.qZA(),e.N_p(),e.BQk(),e.ynx(5,3),e.TgZ(6,"form",4,5)(8,"div",6)(9,"div",7)(10,"label",8),e.SDv(11,9),e.qZA(),e.TgZ(12,"div",10),e._UZ(13,"input",11),e.YNc(14,Xr,2,0,"span",12),e.YNc(15,Kr,2,0,"span",12),e.qZA()(),e.TgZ(16,"div",7)(17,"label",13),e.SDv(18,14),e.qZA(),e.TgZ(19,"div",10),e._UZ(20,"input",15),e.YNc(21,Qr,2,0,"span",12),e.YNc(22,Yr,2,0,"span",12),e.qZA()(),e.TgZ(23,"div",7)(24,"label",16),e.SDv(25,17),e.qZA(),e.TgZ(26,"div",10),e._UZ(27,"input",18),e.YNc(28,Jr,2,0,"span",12),e.YNc(29,Vr,2,0,"span",12),e.qZA()(),e.TgZ(30,"div",7)(31,"label",19),e.SDv(32,20),e.qZA(),e.TgZ(33,"div",10),e._UZ(34,"input",21),e.YNc(35,jr,2,0,"span",12),e.YNc(36,es,2,0,"span",12),e.qZA()(),e.TgZ(37,"div",7)(38,"label",22),e.SDv(39,23),e.qZA(),e.TgZ(40,"div",10),e._UZ(41,"input",24),e.YNc(42,ts,2,0,"span",12),e.YNc(43,ns,2,0,"span",12),e.qZA()(),e.TgZ(44,"div",7)(45,"label",25),e.tHW(46,26),e.TgZ(47,"cd-helper")(48,"span"),e._UZ(49,"b")(50,"b")(51,"b")(52,"b"),e.qZA()(),e.N_p(),e.qZA(),e.TgZ(53,"div",10),e._UZ(54,"input",27),e.qZA()(),e.TgZ(55,"div",7)(56,"label",25),e.tHW(57,28),e.TgZ(58,"cd-helper")(59,"span"),e._UZ(60,"b")(61,"b")(62,"b")(63,"b"),e.qZA()(),e.N_p(),e.qZA(),e.TgZ(64,"div",10),e._UZ(65,"input",29),e.qZA()()(),e.TgZ(66,"div",30)(67,"cd-form-button-panel",31),e.NdJ("submitActionEvent",function(){return o.submit()}),e.qZA()()(),e.BQk(),e.qZA()),2&t){const c=e.MAs(7);e.Q6J("modalRef",o.activeModal),e.xp6(6),e.Q6J("formGroup",o.multisiteMigrateForm),e.xp6(8),e.Q6J("ngIf",o.multisiteMigrateForm.showError("realmName",c,"required")),e.xp6(1),e.Q6J("ngIf",o.multisiteMigrateForm.showError("realmName",c,"uniqueName")),e.xp6(6),e.Q6J("ngIf",o.multisiteMigrateForm.showError("zonegroupName",c,"required")),e.xp6(1),e.Q6J("ngIf",o.multisiteMigrateForm.showError("zonegroupName",c,"uniqueName")),e.xp6(6),e.Q6J("ngIf",o.multisiteMigrateForm.showError("zonegroup_endpoints",c,"required")),e.xp6(1),e.Q6J("ngIf",o.multisiteMigrateForm.showError("zonegroup_endpoints",c,"endpoint")),e.xp6(6),e.Q6J("ngIf",o.multisiteMigrateForm.showError("zoneName",c,"required")),e.xp6(1),e.Q6J("ngIf",o.multisiteMigrateForm.showError("zoneName",c,"uniqueName")),e.xp6(6),e.Q6J("ngIf",o.multisiteMigrateForm.showError("zone_endpoints",c,"required")),e.xp6(1),e.Q6J("ngIf",o.multisiteMigrateForm.showError("zone_endpoints",c,"endpoint")),e.xp6(24),e.Q6J("submitText",o.actionLabels.MIGRATE)("form",o.multisiteMigrateForm)}},dependencies:[g.O5,fe.S,Ie.z,we.p,Oe.o,Ae.b,We.P,C.V,r._Y,r.Fj,r.JJ,r.JL,r.sg,r.u]}),n})();var bn=d(80842);function is(n,i){if(1&n&&(e.TgZ(0,"strong",21),e._uU(1),e.qZA()),2&n){const t=i.$implicit;e.xp6(1),e.Oqu(t)}}function _s(n,i){1&n&&(e.TgZ(0,"div",22)(1,"cd-alert-panel",23),e.SDv(2,24),e.qZA()())}function rs(n,i){if(1&n){const t=e.EpF();e.ynx(0),e.TgZ(1,"label",10),e.tHW(2,11),e._UZ(3,"strong"),e.N_p(),e.qZA(),e.TgZ(4,"label",12),e.SDv(5,13),e.qZA(),e.YNc(6,is,2,1,"strong",14),e.TgZ(7,"div",15)(8,"div",16)(9,"input",17),e.NdJ("change",function(){e.CHM(t);const c=e.oxw();return e.KtG(c.showDangerText())}),e.qZA(),e.TgZ(10,"label",18),e.SDv(11,19),e.qZA()(),e.YNc(12,_s,3,0,"div",20),e.qZA(),e.BQk()}if(2&n){const t=e.oxw();e.xp6(3),e.pQV(null==t.zone?null:t.zone.name),e.QtT(2),e.xp6(3),e.Q6J("ngForOf",t.includedPools),e.xp6(6),e.Q6J("ngIf",t.displayText)}}let ss=(()=>{class n{constructor(t,o,c,O,H){this.activeModal=t,this.actionLabels=o,this.notificationService=c,this.rgwZoneService=O,this.poolService=H,this.displayText=!1,this.includedPools=new Set,this.createForm()}ngOnInit(){this.zoneData$=this.rgwZoneService.get(this.zone),this.poolList$=this.poolService.getList()}ngAfterViewInit(){this.updateIncludedPools()}createForm(){this.zoneForm=new Xe.d({deletePools:new r.p4(!1)})}submit(){this.rgwZoneService.delete(this.zone.name,this.zoneForm.value.deletePools,this.includedPools,this.zone.parent).subscribe(()=>{this.notificationService.show(M.k.success,"Zone: '" + this.zone.name + "' deleted successfully"),this.activeModal.close()},()=>{this.zoneForm.setErrors({cdSubmitButton:!0})})}showDangerText(){this.displayText=!this.displayText}updateIncludedPools(){!this.zoneData$||!this.poolList$||this.zoneData$.subscribe(t=>{this.poolList$.subscribe(o=>{for(const c of o)for(const O of Object.values(t))if("string"==typeof O&&O.includes(c.pool_name))this.includedPools.add(c.pool_name);else if(Array.isArray(O)&&O[0].val)for(const H of O){const Q=H.val;Q.storage_classes.STANDARD.data_pool===c.pool_name&&this.includedPools.add(Q.storage_classes.STANDARD.data_pool),Q.data_extra_pool===c.pool_name&&this.includedPools.add(Q.data_extra_pool),Q.index_pool===c.pool_name&&this.includedPools.add(Q.index_pool)}})})}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(x.Kz),e.Y36(l.p4),e.Y36(V.g),e.Y36(it.g),e.Y36(bn.q))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-rgw-multisite-zone-deletion-form"]],decls:12,vars:6,consts:function(){let i,t,o,c,O,H;return i="Delete Zone",t=" This will delete your " + "\ufffd#8\ufffd" + "" + "\ufffd0\ufffd" + "" + "\ufffd/#8\ufffd" + " Zone. ",o=" Do you want to delete the associated pools with the " + "\ufffd#3\ufffd" + "" + "\ufffd0\ufffd" + "" + "\ufffd/#3\ufffd" + " Zone?",c=" This will delete the following pools and any data stored in these pools:",O="Yes, I want to delete the pools.",H=" This will delete all the data in the pools! ",[[3,"modalRef"],[1,"modal-title"],i,[1,"modal-content"],["name","zoneForm","novalidate","",3,"formGroup"],[1,"modal-body","ms-4"],t,[4,"ngIf"],[1,"modal-footer"],[3,"form","submitText","submitActionEvent"],[1,"mt-3"],o,[1,"mb-4"],c,["class","block",4,"ngFor","ngForOf"],[1,"form-group"],[1,"custom-control","custom-checkbox","mt-2"],["type","checkbox","name","deletePools","id","deletePools","formControlName","deletePools",1,"custom-control-input",3,"change"],["for","deletePools",1,"custom-control-label"],O,["class","me-4",4,"ngIf"],[1,"block"],[1,"me-4"],["type","danger"],H]},template:function(t,o){1&t&&(e.TgZ(0,"cd-modal",0),e.ynx(1,1),e.SDv(2,2),e.BQk(),e.ynx(3,3),e.TgZ(4,"form",4)(5,"div",5)(6,"label"),e.tHW(7,6),e._UZ(8,"strong"),e.N_p(),e.qZA(),e.YNc(9,rs,13,3,"ng-container",7),e.qZA(),e.TgZ(10,"div",8)(11,"cd-form-button-panel",9),e.NdJ("submitActionEvent",function(){return o.submit()}),e.qZA()()(),e.BQk(),e.qZA()),2&t&&(e.Q6J("modalRef",o.activeModal),e.xp6(4),e.Q6J("formGroup",o.zoneForm),e.xp6(4),e.pQV(null==o.zone?null:o.zone.name),e.QtT(7),e.xp6(1),e.Q6J("ngIf",o.includedPools.size),e.xp6(2),e.Q6J("form",o.zoneForm)("submitText",o.actionLabels.DELETE))},dependencies:[g.sg,g.O5,Ie.z,Ve.G,we.p,Oe.o,Ae.b,We.P,C.V,r._Y,r.Wl,r.JJ,r.JL,r.sg,r.u],styles:[".block[_ngcontent-%COMP%]{display:block}#scroll[_ngcontent-%COMP%]{height:100%;max-height:10rem;overflow:auto}"]}),n})();function as(n,i){1&n&&(e.ynx(0),e.TgZ(1,"label"),e.SDv(2,21),e.qZA(),e.BQk())}function ls(n,i){if(1&n&&(e.TgZ(0,"strong",22),e._uU(1),e.qZA()),2&n){const t=i.$implicit;e.xp6(1),e.Oqu(t)}}function cs(n,i){if(1&n&&(e.TgZ(0,"strong",22),e._uU(1),e.qZA()),2&n){const t=i.$implicit;e.xp6(1),e.Oqu(t)}}function us(n,i){if(1&n&&(e.ynx(0),e.TgZ(1,"strong",13),e._uU(2,"Pools:"),e.qZA(),e.TgZ(3,"div",23),e.YNc(4,cs,2,1,"strong",15),e.qZA(),e.BQk()),2&n){const t=e.oxw(2);e.xp6(4),e.Q6J("ngForOf",t.includedPools)}}function ds(n,i){1&n&&(e.ynx(0),e.TgZ(1,"label",24),e.SDv(2,25),e.qZA(),e.BQk())}function fs(n,i){1&n&&(e.TgZ(0,"div",26)(1,"cd-alert-panel",27),e.SDv(2,28),e.qZA()())}function ps(n,i){if(1&n){const t=e.EpF();e.ynx(0),e.TgZ(1,"label",11),e.tHW(2,12),e._UZ(3,"strong"),e.N_p(),e.qZA(),e.YNc(4,as,3,0,"ng-container",7),e.TgZ(5,"strong",13),e._uU(6,"Zones:"),e.qZA(),e.TgZ(7,"div",14),e.YNc(8,ls,2,1,"strong",15),e.qZA(),e.YNc(9,us,5,1,"ng-container",7),e.TgZ(10,"div",16)(11,"div",17)(12,"input",18),e.NdJ("change",function(){e.CHM(t);const c=e.oxw();return e.KtG(c.showDangerText())}),e.qZA(),e.YNc(13,ds,3,0,"ng-container",19),e.qZA(),e.YNc(14,fs,3,0,"div",20),e.qZA(),e.BQk()}if(2&n){const t=e.oxw(),o=e.MAs(13);e.xp6(3),e.pQV(null==t.zonegroup?null:t.zonegroup.name),e.QtT(2),e.xp6(1),e.Q6J("ngIf",t.includedPools.size>0),e.xp6(4),e.Q6J("ngForOf",t.zonesList),e.xp6(1),e.Q6J("ngIf",t.includedPools.size>0),e.xp6(4),e.Q6J("ngIf",t.includedPools.size>0)("ngIfElse",o),e.xp6(1),e.Q6J("ngIf",t.displayText)}}function gs(n,i){1&n&&(e.TgZ(0,"label",24),e.SDv(1,29),e.qZA())}let Ts=(()=>{class n{constructor(t,o,c,O,H,Q){this.activeModal=t,this.actionLabels=o,this.notificationService=c,this.rgwZonegroupService=O,this.poolService=H,this.rgwZoneService=Q,this.zonesPools=[],this.zonesList=[],this.displayText=!1,this.includedPools=new Set,this.createForm()}ngOnInit(){this.zonegroupData$=this.rgwZonegroupService.get(this.zonegroup),this.poolList$=this.poolService.getList()}ngAfterViewInit(){this.updateIncludedPools()}createForm(){this.zonegroupForm=new Xe.d({deletePools:new r.p4(!1)})}submit(){this.rgwZonegroupService.delete(this.zonegroup.name,this.zonegroupForm.value.deletePools,this.includedPools).subscribe(()=>{this.notificationService.show(M.k.success,"Zone: '" + this.zonegroup.name + "' deleted successfully"),this.activeModal.close()})}showDangerText(){this.includedPools.size>0&&(this.displayText=!this.displayText)}updateIncludedPools(){!this.zonegroupData$||!this.poolList$||this.zonegroupData$.subscribe(t=>{for(const o of t.zones)this.zonesList.push(o.name),this.rgwZoneService.get(o).subscribe(c=>{this.poolList$.subscribe(O=>{for(const H of Object.values(c))for(const Q of O)if("string"==typeof H&&H.includes(Q.pool_name))this.includedPools.add(Q.pool_name);else if(Array.isArray(H)&&H[0].val)for(const J of H){const j=J.val;j.storage_classes.STANDARD.data_pool===Q.pool_name&&this.includedPools.add(j.storage_classes.STANDARD.data_pool),j.data_extra_pool===Q.pool_name&&this.includedPools.add(j.data_extra_pool),j.index_pool===Q.pool_name&&this.includedPools.add(j.index_pool)}})})})}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(x.Kz),e.Y36(l.p4),e.Y36(V.g),e.Y36(_t.K),e.Y36(bn.q),e.Y36(it.g))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-rgw-multisite-zonegroup-deletion-form"]],decls:14,vars:6,consts:function(){let i,t,o,c,O,H,Q;return i="Delete Zone Group",t=" This will delete your " + "\ufffd#8\ufffd" + "" + "\ufffd0\ufffd" + "" + "\ufffd/#8\ufffd" + " Zone Group. ",o=" Do you want to delete the associated zones and pools with the " + "\ufffd#3\ufffd" + "" + "\ufffd0\ufffd" + "" + "\ufffd/#3\ufffd" + " Zone Group?",c=" This will delete the following:",O="Yes, I want to delete the zones and their pools.",H=" This will delete all the data in the pools! ",Q="Yes, I want to delete the zones.",[[3,"modalRef"],[1,"modal-title"],i,[1,"modal-content"],["name","zonegroupForm","novalidate","",3,"formGroup"],[1,"modal-body","ms-4"],t,[4,"ngIf"],[1,"modal-footer"],[3,"form","submitText","submitActionEvent"],["noPoolsConfirmation",""],[1,"mt-3"],o,[1,"mt-3","mb-2","h5","block"],["id","scroll"],["class","block",4,"ngFor","ngForOf"],[1,"form-group"],[1,"custom-control","custom-checkbox","mt-2"],["type","checkbox","name","deletePools","id","deletePools","formControlName","deletePools",1,"custom-control-input",3,"change"],[4,"ngIf","ngIfElse"],["class","me-4",4,"ngIf"],c,[1,"block"],["id","scroll",1,"mb-2"],["for","deletePools",1,"custom-control-label"],O,[1,"me-4"],["type","danger"],H,Q]},template:function(t,o){1&t&&(e.TgZ(0,"cd-modal",0),e.ynx(1,1),e.SDv(2,2),e.BQk(),e.ynx(3,3),e.TgZ(4,"form",4)(5,"div",5)(6,"label"),e.tHW(7,6),e._UZ(8,"strong"),e.N_p(),e.qZA(),e.YNc(9,ps,15,7,"ng-container",7),e.qZA(),e.TgZ(10,"div",8)(11,"cd-form-button-panel",9),e.NdJ("submitActionEvent",function(){return o.submit()}),e.qZA()()(),e.BQk(),e.qZA(),e.YNc(12,gs,2,0,"ng-template",null,10,e.W1O)),2&t&&(e.Q6J("modalRef",o.activeModal),e.xp6(4),e.Q6J("formGroup",o.zonegroupForm),e.xp6(4),e.pQV(null==o.zonegroup?null:o.zonegroup.name),e.QtT(7),e.xp6(1),e.Q6J("ngIf",o.zonesList.length>0),e.xp6(2),e.Q6J("form",o.zonegroupForm)("submitText",o.actionLabels.DELETE))},dependencies:[g.sg,g.O5,Ie.z,Ve.G,we.p,Oe.o,Ae.b,We.P,C.V,r._Y,r.Wl,r.JJ,r.JL,r.sg,r.u],styles:[".block[_ngcontent-%COMP%]{display:block}#scroll[_ngcontent-%COMP%]{height:100%;max-height:10rem;overflow:auto}"]}),n})();const Es=function(n,i,t){return[n,i,t]};function Rs(n,i){if(1&n&&(e.TgZ(0,"span",10),e._UZ(1,"i",11),e.qZA()),2&n){const t=e.oxw();e.xp6(1),e.Q6J("ngClass",e.kEZ(1,Es,t.icons.large3x,t.icons.spinner,t.icons.spin))}}function ms(n,i){if(1&n&&(e.tHW(0,16,1),e.TgZ(1,"div"),e._UZ(2,"b"),e.qZA(),e.N_p()),2&n){const t=i.$implicit;e.xp6(2),e.pQV(t.realm)(t.token),e.QtT(0)}}function hs(n,i){if(1&n&&(e.TgZ(0,"cd-alert-panel",15),e.tHW(1,16),e.YNc(2,ms,3,2,"div",14),e.N_p(),e.qZA()),2&n){const t=e.oxw(2);e.xp6(2),e.Q6J("ngForOf",t.realms)}}function Ms(n,i){1&n&&e._UZ(0,"hr")}function Ss(n,i){if(1&n&&(e.TgZ(0,"div")(1,"div",17)(2,"label",18),e.SDv(3,19),e.qZA(),e.TgZ(4,"div",20),e._UZ(5,"input",21),e.qZA()(),e.TgZ(6,"div",17)(7,"label",22),e.SDv(8,23),e.qZA(),e.TgZ(9,"div",20),e._UZ(10,"input",24)(11,"cd-copy-2-clipboard-button",25),e.qZA(),e.YNc(12,Ms,1,0,"hr",26),e.qZA()()),2&n){const t=i.$implicit,o=e.oxw(2);e.xp6(5),e.s9C("value",t.realm),e.xp6(5),e.s9C("value",t.token),e.xp6(1),e.s9C("source",t.token),e.Q6J("byId",!1),e.xp6(1),e.Q6J("ngIf",o.realms.length>1)}}function Cs(n,i){if(1&n&&(e.TgZ(0,"div",12),e.YNc(1,hs,3,1,"cd-alert-panel",13),e.YNc(2,Ss,13,5,"div",14),e.qZA()),2&n){const t=e.oxw();e.xp6(1),e.Q6J("ngIf",!t.tokenValid),e.xp6(1),e.Q6J("ngForOf",t.realms)}}let Fs=(()=>{class n{constructor(t,o,c,O,H){this.activeModal=t,this.rgwRealmService=o,this.actionLabels=c,this.notificationService=O,this.changeDetectorRef=H,this.tokenValid=!1,this.loading=!0,this.icons=$.P,this.createForm()}createForm(){this.exportTokenForm=new Xe.d({})}onSubmit(){this.activeModal.close()}ngOnInit(){this.rgwRealmService.getRealmTokens().subscribe(t=>{this.loading=!1,this.realms=t;var o=new RegExp("^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$");this.realms.forEach(c=>{this.tokenValid=!!o.test(c.token)})})}ngAfterViewChecked(){this.changeDetectorRef.detectChanges()}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(x.Kz),e.Y36(ot.y),e.Y36(l.p4),e.Y36(V.g),e.Y36(e.sBO))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-rgw-multisite-export"]],decls:10,vars:4,consts:function(){let i,t,o,c;return i="Export Multi-site Realm Token",t="" + "\ufffd*2:1\ufffd\ufffd#1:1\ufffd" + "" + "\ufffd#2:1\ufffd" + "" + "\ufffd0:1\ufffd" + "" + "\ufffd/#2:1\ufffd" + " - " + "\ufffd1:1\ufffd" + " " + "\ufffd/#1:1\ufffd\ufffd/*2:1\ufffd" + "",o="Realm Name ",c="Token ",[[3,"modalRef"],[1,"modal-title"],i,[1,"modal-content"],["name","exportTokenForm",3,"formGroup"],["frm","ngForm"],["class","d-flex justify-content-center",4,"ngIf"],["class","modal-body",4,"ngIf"],[1,"modal-footer"],["aria-label","Close",1,"m-2","float-end",3,"backAction"],[1,"d-flex","justify-content-center"],[3,"ngClass"],[1,"modal-body"],["type","warning","class","mx-3",4,"ngIf"],[4,"ngFor","ngForOf"],["type","warning",1,"mx-3"],t,[1,"form-group","row"],["for","realmName",1,"cd-col-form-label"],o,[1,"cd-col-form-input"],["id","realmName","name","realmName","type","text","readonly","",3,"value"],["for","token",1,"cd-col-form-label"],c,["id","realmToken","name","realmToken","type","text","readonly","",1,"me-2","mb-4",3,"value"],[3,"source","byId"],[4,"ngIf"]]},template:function(t,o){1&t&&(e.TgZ(0,"cd-modal",0),e.ynx(1,1),e.SDv(2,2),e.BQk(),e.ynx(3,3),e.TgZ(4,"form",4,5),e.YNc(6,Rs,2,5,"span",6),e.YNc(7,Cs,3,2,"div",7),e.TgZ(8,"div",8)(9,"cd-back-button",9),e.NdJ("backAction",function(){return o.activeModal.close()}),e.qZA()()(),e.BQk(),e.qZA()),2&t&&(e.Q6J("modalRef",o.activeModal),e.xp6(4),e.Q6J("formGroup",o.exportTokenForm),e.xp6(2),e.Q6J("ngIf",o.loading),e.xp6(1),e.Q6J("ngIf",!o.loading))},dependencies:[g.mk,g.sg,g.O5,Mn.W,Ie.z,Ve.G,at.s,Oe.o,We.P,C.V,r._Y,r.JL,r.sg]}),n})();var Os=d(7022),Ns=d(22120),Ps=d(48168),As=d(14745),In=d(79765),bs=d(66682),Is=d(54395),Gs=d(87519),ys=d(45435),Ls=d(88002),Gn=d(60192);function Ds(n,i){1&n&&(e.TgZ(0,"span",29),e.SDv(1,30),e.qZA())}function vs(n,i){1&n&&(e.TgZ(0,"span",29),e.SDv(1,31),e.qZA())}function ws(n,i){1&n&&(e.TgZ(0,"span",29),e.SDv(1,32),e.qZA())}function Ws(n,i){1&n&&(e.TgZ(0,"div",9)(1,"label",33),e.SDv(2,34),e.qZA(),e.TgZ(3,"div",12)(4,"select",35)(5,"option",36),e.SDv(6,37),e.qZA(),e.TgZ(7,"option",38),e.SDv(8,39),e.qZA()()()())}function Us(n,i){1&n&&(e.TgZ(0,"span",29),e.SDv(1,43),e.qZA())}function $s(n,i){if(1&n){const t=e.EpF();e.TgZ(0,"div",9)(1,"label",40),e.SDv(2,41),e.qZA(),e.TgZ(3,"div",12)(4,"input",42),e.NdJ("focus",function(c){e.CHM(t);const O=e.oxw();return e.KtG(O.labelFocus.next(c.target.value))})("click",function(c){e.CHM(t);const O=e.oxw();return e.KtG(O.labelClick.next(c.target.value))}),e.qZA(),e.YNc(5,Us,2,0,"span",14),e.qZA()()}if(2&n){const t=e.oxw(),o=e.MAs(5);e.xp6(4),e.Q6J("ngbTypeahead",t.searchLabels),e.xp6(1),e.Q6J("ngIf",t.importTokenForm.showError("label",o,"required"))}}function xs(n,i){if(1&n&&(e.TgZ(0,"div",9)(1,"label",44),e.SDv(2,45),e.qZA(),e.TgZ(3,"div",12),e._UZ(4,"cd-select-badges",46),e.qZA()()),2&n){const t=e.oxw();e.xp6(4),e.Q6J("data",t.importTokenForm.controls.hosts.value)("options",t.hosts.options)("messages",t.hosts.messages)}}function Zs(n,i){1&n&&(e.TgZ(0,"span",29),e.SDv(1,51),e.qZA())}function ks(n,i){1&n&&(e.TgZ(0,"span",29),e.SDv(1,52),e.qZA())}function Bs(n,i){if(1&n&&(e.TgZ(0,"div",9)(1,"label",47)(2,"span"),e.SDv(3,48),e.qZA(),e.TgZ(4,"cd-helper"),e.SDv(5,49),e.qZA()(),e.TgZ(6,"div",12),e._UZ(7,"input",50),e.YNc(8,Zs,2,0,"span",14),e.YNc(9,ks,2,0,"span",14),e.qZA()()),2&n){const t=e.oxw(),o=e.MAs(5);e.xp6(8),e.Q6J("ngIf",t.importTokenForm.showError("count",o,"min")),e.xp6(1),e.Q6J("ngIf",t.importTokenForm.showError("count",o,"pattern"))}}function zs(n,i){1&n&&(e.TgZ(0,"span",29),e.SDv(1,56),e.qZA())}function qs(n,i){1&n&&(e.TgZ(0,"span",29),e.SDv(1,57),e.qZA())}function Hs(n,i){1&n&&(e.TgZ(0,"span",29),e.SDv(1,58),e.qZA())}function Xs(n,i){if(1&n&&(e.ynx(0),e.TgZ(1,"div",9)(2,"label",53),e.SDv(3,54),e.qZA(),e.TgZ(4,"div",12),e._UZ(5,"input",55),e.YNc(6,zs,2,0,"span",14),e.YNc(7,qs,2,0,"span",14),e.YNc(8,Hs,2,0,"span",14),e.qZA()(),e.BQk()),2&n){const t=e.oxw(),o=e.MAs(5);e.xp6(6),e.Q6J("ngIf",t.importTokenForm.showError("rgw_frontend_port",o,"pattern")),e.xp6(1),e.Q6J("ngIf",t.importTokenForm.showError("rgw_frontend_port",o,"min")),e.xp6(1),e.Q6J("ngIf",t.importTokenForm.showError("rgw_frontend_port",o,"max"))}}let Ks=(()=>{class n{constructor(t,o,c,O,H){this.activeModal=t,this.hostService=o,this.rgwRealmService=c,this.actionLabels=O,this.notificationService=H,this.endpoints=/^((https?:\/\/)|(www.))(?:([a-zA-Z]+)|(\d+\.\d+.\d+.\d+)):\d{2,4}$/,this.ipv4Rgx=/^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/i,this.ipv6Rgx=/^(?:[a-f0-9]{1,4}:){7}[a-f0-9]{1,4}$/i,this.multisiteInfo=[],this.zoneList=[],this.labelClick=new In.xQ,this.labelFocus=new In.xQ,this.searchLabels=Q=>(0,bs.T)(Q.pipe((0,Is.b)(200),(0,Gs.x)()),this.labelFocus,this.labelClick.pipe((0,ys.h)(()=>!this.typeahead.isPopupOpen()))).pipe((0,Ls.U)(J=>this.labels.filter(j=>j.toLowerCase().indexOf(J.toLowerCase())>-1).slice(0,10))),this.hosts={options:[],messages:new Os.a({empty:"There are no hosts.",filter:"Filter hosts"})},this.createForm()}ngOnInit(){this.zoneList=void 0!==this.multisiteInfo[2]&&this.multisiteInfo[2].hasOwnProperty("zones")?this.multisiteInfo[2].zones:[],this.zoneNames=this.zoneList.map(o=>o.name);const t=new Ps.E(()=>{});this.hostService.list(t.toParams(),"false").subscribe(o=>{const c=[];v().forEach(o,O=>{if(v().get(O,"sources.orchestrator",!1)){const H=new As.$(!1,v().get(O,"hostname"),"");c.push(H)}}),this.hosts.options=[...c]}),this.hostService.getLabels().subscribe(o=>{this.labels=o})}createForm(){this.importTokenForm=new Xe.d({realmToken:new r.NI("",{validators:[r.kI.required]}),zoneName:new r.NI(null,{validators:[r.kI.required,z.h.custom("uniqueName",t=>this.zoneNames&&-1!==this.zoneNames.indexOf(t))]}),rgw_frontend_port:new r.NI(null,{validators:[r.kI.required,r.kI.pattern("^[0-9]*$")]}),placement:new r.NI("hosts"),label:new r.NI(null,[z.h.requiredIf({placement:"label",unmanaged:!1})]),hosts:new r.NI([]),count:new r.NI(null,[z.h.number(!1)]),unmanaged:new r.NI(!1)})}onSubmit(){const t=this.importTokenForm.value,o={placement:{}};if(!t.unmanaged){switch(t.placement){case"hosts":t.hosts.length>0&&(o.placement.hosts=t.hosts);break;case"label":o.placement.label=t.label}v().isNumber(t.count)&&t.count>0&&(o.placement.count=t.count)}this.rgwRealmService.importRealmToken(t.realmToken,t.zoneName,t.rgw_frontend_port,o).subscribe(()=>{this.notificationService.show(M.k.success,"Realm token import successfull"),this.activeModal.close()},()=>{this.importTokenForm.setErrors({cdSubmitButton:!0})})}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(x.Kz),e.Y36(Ns.x),e.Y36(ot.y),e.Y36(l.p4),e.Y36(V.g))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-rgw-multisite-import"]],viewQuery:function(t,o){if(1&t&&e.Gf(x.dR,5),2&t){let c;e.iGM(c=e.CRH())&&(o.typeahead=c.first)}},decls:47,vars:12,consts:function(){let i,t,o,c,O,H,Q,J,j,oe,Te,Me,Fe,Pe,me,Ge,ye,Le,Ee,Ue,$e,xe,De,ve;return i="Import Multi-site Token",t="Zone Details",o="Token ",c="Secondary Zone Name",O="Service Details",H="Unmanaged",Q="If set to true, the orchestrator will not start nor stop any daemon associated with this service. Placement and all other properties will be ignored.",J="This field is required.",j="This field is required.",oe="The chosen zone name is already in use.",Te="Placement",Me="Serveurs",Fe="Label",Pe="Label",me="This field is required.",Ge="Serveurs",ye="Count",Le="Only that number of daemons will be created.",Ee="The value must be at least 1.",Ue="La valeur entr\xE9e doit \xEAtre un nombre.",$e="Port",xe="La valeur entr\xE9e doit \xEAtre un nombre.",De="The value must be at least 1.",ve="The value cannot exceed 65535.",[[3,"modalRef"],[1,"modal-title"],i,[1,"modal-content"],["name","importTokenForm",3,"formGroup"],["frm","ngForm"],[1,"modal-body"],["type","info","spacingClass","mb-3"],t,[1,"form-group","row"],["for","realmToken",1,"cd-col-form-label","required"],o,[1,"cd-col-form-input"],["id","realmToken","name","realmToken","type","text","formControlName","realmToken",1,"form-control"],["class","invalid-feedback",4,"ngIf"],["for","zoneName",1,"cd-col-form-label","required"],c,["type","text","placeholder","Zone name...","id","zoneName","name","zoneName","formControlName","zoneName",1,"form-control"],O,[1,"cd-col-form-offset"],[1,"custom-control","custom-checkbox"],["id","unmanaged","type","checkbox","formControlName","unmanaged",1,"custom-control-input"],["for","unmanaged",1,"custom-control-label"],H,Q,["class","form-group row",4,"ngIf"],[4,"ngIf"],[1,"modal-footer"],[3,"submitText","form","submitActionEvent"],[1,"invalid-feedback"],J,j,oe,["for","placement",1,"cd-col-form-label"],Te,["id","placement","formControlName","placement",1,"form-select"],["value","hosts"],Me,["value","label"],Fe,["for","label",1,"cd-col-form-label"],Pe,["id","label","type","text","formControlName","label",1,"form-control",3,"ngbTypeahead","focus","click"],me,["for","hosts",1,"cd-col-form-label"],Ge,["id","hosts",3,"data","options","messages"],["for","count",1,"cd-col-form-label"],ye,Le,["id","count","type","number","formControlName","count","min","1",1,"form-control"],Ee,Ue,["for","rgw_frontend_port",1,"cd-col-form-label"],$e,["id","rgw_frontend_port","type","number","formControlName","rgw_frontend_port","min","1","max","65535",1,"form-control"],xe,De,ve]},template:function(t,o){if(1&t&&(e.TgZ(0,"cd-modal",0),e.ynx(1,1),e.SDv(2,2),e.BQk(),e.ynx(3,3),e.TgZ(4,"form",4,5)(6,"div",6)(7,"cd-alert-panel",7)(8,"ul")(9,"li"),e._uU(10,"This feature allows you to configure a connection between your primary and secondary Ceph clusters for data replication. By importing a token, you establish a link between the clusters, enabling data synchronization."),e.qZA(),e.TgZ(11,"li"),e._uU(12,"To obtain the token, generate it from your primary Ceph cluster. This token includes encoded information about the primary cluster's endpoint, access key, and secret key."),e.qZA(),e.TgZ(13,"li"),e._uU(14,"The secondary zone represents the destination cluster where your data will be replicated."),e.qZA()()(),e.TgZ(15,"legend"),e.SDv(16,8),e.qZA(),e.TgZ(17,"div",9)(18,"label",10),e.SDv(19,11),e.qZA(),e.TgZ(20,"div",12),e._UZ(21,"input",13),e.YNc(22,Ds,2,0,"span",14),e.qZA()(),e.TgZ(23,"div",9)(24,"label",15),e.SDv(25,16),e.qZA(),e.TgZ(26,"div",12),e._UZ(27,"input",17),e.YNc(28,vs,2,0,"span",14),e.YNc(29,ws,2,0,"span",14),e.qZA()(),e.TgZ(30,"legend"),e.SDv(31,18),e.qZA(),e.TgZ(32,"div",9)(33,"div",19)(34,"div",20),e._UZ(35,"input",21),e.TgZ(36,"label",22),e.SDv(37,23),e.qZA(),e.TgZ(38,"cd-helper"),e.SDv(39,24),e.qZA()()()(),e.YNc(40,Ws,9,0,"div",25),e.YNc(41,$s,6,2,"div",25),e.YNc(42,xs,5,3,"div",25),e.YNc(43,Bs,10,2,"div",25),e.YNc(44,Xs,9,3,"ng-container",26),e.qZA(),e.TgZ(45,"div",27)(46,"cd-form-button-panel",28),e.NdJ("submitActionEvent",function(){return o.onSubmit()}),e.qZA()()(),e.BQk(),e.qZA()),2&t){const c=e.MAs(5);e.Q6J("modalRef",o.activeModal),e.xp6(4),e.Q6J("formGroup",o.importTokenForm),e.xp6(18),e.Q6J("ngIf",o.importTokenForm.showError("realmToken",c,"required")),e.xp6(6),e.Q6J("ngIf",o.importTokenForm.showError("zoneName",c,"required")),e.xp6(1),e.Q6J("ngIf",o.importTokenForm.showError("zoneName",c,"uniqueName")),e.xp6(11),e.Q6J("ngIf",!o.importTokenForm.controls.unmanaged.value),e.xp6(1),e.Q6J("ngIf",!o.importTokenForm.controls.unmanaged.value&&"label"===o.importTokenForm.controls.placement.value),e.xp6(1),e.Q6J("ngIf",!o.importTokenForm.controls.unmanaged.value&&"hosts"===o.importTokenForm.controls.placement.value),e.xp6(1),e.Q6J("ngIf",!o.importTokenForm.controls.unmanaged.value),e.xp6(1),e.Q6J("ngIf",!o.importTokenForm.controls.unmanaged.value),e.xp6(2),e.Q6J("submitText",o.actionLabels.IMPORT)("form",o.importTokenForm)}},dependencies:[g.O5,fe.S,Gn.m,Ie.z,Ve.G,we.p,Oe.o,Ae.b,We.P,C.V,r._Y,r.YN,r.Kr,r.Fj,r.wV,r.Wl,r.EJ,r.JJ,r.JL,r.qQ,r.Fd,r.sg,r.u]}),n})();var Qs=d(72625);function Ys(n,i){1&n&&(e.TgZ(0,"span",20),e.SDv(1,21),e.qZA())}function Js(n,i){1&n&&(e.TgZ(0,"span",20),e.SDv(1,22),e.qZA())}function Vs(n,i){1&n&&(e.TgZ(0,"cd-helper")(1,"span"),e.SDv(2,23),e.qZA()())}function js(n,i){if(1&n&&(e.TgZ(0,"cd-helper")(1,"span"),e.tHW(2,24),e._UZ(3,"a",25),e.N_p(),e.qZA()()),2&n){const t=e.oxw();e.xp6(3),e.s9C("href",t.docUrl,e.LSH)}}function ea(n,i){1&n&&(e.TgZ(0,"cd-helper")(1,"span"),e.SDv(2,26),e.qZA()())}let ta=(()=>{class n{constructor(t,o,c,O,H){this.activeModal=t,this.actionLabels=o,this.rgwRealmService=c,this.notificationService=O,this.docService=H,this.editing=!1,this.multisiteInfo=[],this.realmList=[],this.zonegroupList=[],this.defaultRealmDisabled=!1,this.action=this.editing?this.actionLabels.EDIT+this.resource:this.actionLabels.CREATE+this.resource,this.createForm()}createForm(){this.multisiteRealmForm=new Xe.d({realmName:new r.p4(null,{validators:[r.kI.required,z.h.custom("uniqueName",t=>"create"===this.action&&this.realmNames&&-1!==this.realmNames.indexOf(t))]}),default_realm:new r.p4(!1)})}ngOnInit(){this.realmList=void 0!==this.multisiteInfo[0]&&this.multisiteInfo[0].hasOwnProperty("realms")?this.multisiteInfo[0].realms:[],this.realmNames=this.realmList.map(t=>t.name),"edit"===this.action&&(this.zonegroupList=void 0!==this.multisiteInfo[1]&&this.multisiteInfo[1].hasOwnProperty("zonegroups")?this.multisiteInfo[1].zonegroups:[],this.multisiteRealmForm.get("realmName").setValue(this.info.data.name),this.multisiteRealmForm.get("default_realm").setValue(this.info.data.is_default),this.info.data.is_default&&this.multisiteRealmForm.get("default_realm").disable()),this.zonegroupList.forEach(t=>{!0===t.is_master&&t.realm_id===this.info.data.id&&(this.isMaster=!0)}),this.defaultsInfo&&null!==this.defaultsInfo.defaultRealmName&&(this.multisiteRealmForm.get("default_realm").disable(),this.defaultRealmDisabled=!0),this.docUrl=this.docService.urlGenerator("rgw-multisite")}submit(){const t=this.multisiteRealmForm.getRawValue();this.realm=new ke.L6,"create"===this.action?(this.realm.name=t.realmName,this.rgwRealmService.create(this.realm,t.default_realm).subscribe(()=>{this.notificationService.show(M.k.success,"Realm: '" + t.realmName + "' created successfully"),this.activeModal.close()},()=>{this.multisiteRealmForm.setErrors({cdSubmitButton:!0})})):"edit"===this.action&&(this.realm.name=this.info.data.name,this.newRealmName=t.realmName,this.rgwRealmService.update(this.realm,t.default_realm,this.newRealmName).subscribe(()=>{this.notificationService.show(M.k.success,"Realm: '" + t.realmName + "' updated successfully"),this.activeModal.close()},()=>{this.multisiteRealmForm.setErrors({cdSubmitButton:!0})}))}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(x.Kz),e.Y36(l.p4),e.Y36(ot.y),e.Y36(V.g),e.Y36(Qs.R))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-rgw-multisite-realm-form"]],decls:27,vars:20,consts:function(){let i,t,o,c,O,H,Q,J;return i="" + "\ufffd0\ufffd" + " " + "\ufffd1\ufffd" + "",t="Realm Name",o="Default",c="This field is required.",O="The chosen realm name is already in use.",H="You cannot unset the default flag.",Q="Please consult the " + "\ufffd#3\ufffd" + "documentation" + "\ufffd/#3\ufffd" + " to follow the failover mechanism",J="Default realm already exists.",[[3,"modalRef"],[1,"modal-title"],i,[1,"modal-content"],["name","multisiteRealmForm","novalidate","",3,"formGroup"],["formDir","ngForm"],[1,"modal-body"],[1,"form-group","row"],["for","realmName",1,"cd-col-form-label","required"],t,[1,"cd-col-form-input"],["type","text","placeholder","Realm name...","id","realmName","name","realmName","formControlName","realmName",1,"form-control"],["class","invalid-feedback",4,"ngIf"],[1,"custom-control","custom-checkbox"],["id","default_realm","name","default_realm","formControlName","default_realm","type","checkbox",1,"form-check-input"],["for","default_realm",1,"form-check-label"],o,[4,"ngIf"],[1,"modal-footer"],[3,"form","submitText","submitActionEvent"],[1,"invalid-feedback"],c,O,H,Q,[3,"href"],J]},template:function(t,o){if(1&t&&(e.TgZ(0,"cd-modal",0),e.ynx(1,1),e.SDv(2,2),e.ALo(3,"titlecase"),e.ALo(4,"upperFirst"),e.BQk(),e.ynx(5,3),e.TgZ(6,"form",4,5)(8,"div",6)(9,"div",7)(10,"label",8),e.SDv(11,9),e.qZA(),e.TgZ(12,"div",10),e._UZ(13,"input",11),e.YNc(14,Ys,2,0,"span",12),e.YNc(15,Js,2,0,"span",12),e.TgZ(16,"div",13),e._UZ(17,"input",14),e.TgZ(18,"label",15),e.SDv(19,16),e.qZA(),e.YNc(20,Vs,3,0,"cd-helper",17),e.YNc(21,js,4,1,"cd-helper",17),e.YNc(22,ea,3,0,"cd-helper",17),e.qZA()()()(),e.TgZ(23,"div",18)(24,"cd-form-button-panel",19),e.NdJ("submitActionEvent",function(){return o.submit()}),e.ALo(25,"titlecase"),e.ALo(26,"upperFirst"),e.qZA()()(),e.BQk(),e.qZA()),2&t){const c=e.MAs(7);e.Q6J("modalRef",o.activeModal),e.xp6(4),e.pQV(e.lcZ(3,12,o.action))(e.lcZ(4,14,o.resource)),e.QtT(2),e.xp6(2),e.Q6J("formGroup",o.multisiteRealmForm),e.xp6(8),e.Q6J("ngIf",o.multisiteRealmForm.showError("realmName",c,"required")),e.xp6(1),e.Q6J("ngIf",o.multisiteRealmForm.showError("realmName",c,"uniqueName")),e.xp6(2),e.uIk("disabled","edit"===o.action||null),e.xp6(3),e.Q6J("ngIf","edit"===o.action&&o.info.data.is_default),e.xp6(1),e.Q6J("ngIf","edit"===o.action&&!o.info.data.is_default),e.xp6(1),e.Q6J("ngIf",o.defaultRealmDisabled&&"create"===o.action),e.xp6(2),e.Q6J("form",o.multisiteRealmForm)("submitText",e.lcZ(25,16,o.action)+" "+e.lcZ(26,18,o.resource))}},dependencies:[g.O5,fe.S,Ie.z,we.p,Oe.o,Ae.b,We.P,C.V,r._Y,r.Fj,r.Wl,r.JJ,r.JL,r.sg,r.u,g.rS,Ye.m]}),n})();function na(n,i){if(1&n&&(e.TgZ(0,"option",40),e._uU(1),e.qZA()),2&n){const t=i.$implicit,o=e.oxw();e.Q6J("value",t.name)("selected",t.name===o.multisiteZoneForm.getValue("selectedZonegroup")),e.xp6(1),e.hij(" ",t.name," ")}}function oa(n,i){1&n&&(e.TgZ(0,"span",41),e.SDv(1,42),e.qZA())}function ia(n,i){1&n&&(e.TgZ(0,"span",41),e.SDv(1,43),e.qZA())}function _a(n,i){1&n&&(e.TgZ(0,"span")(1,"cd-helper"),e.SDv(2,44),e.qZA()())}function ra(n,i){1&n&&(e.TgZ(0,"span")(1,"cd-helper"),e.SDv(2,45),e.qZA()())}function sa(n,i){if(1&n&&(e.TgZ(0,"cd-helper")(1,"span"),e.tHW(2,46),e._UZ(3,"a",47),e.N_p(),e.qZA()()),2&n){const t=e.oxw();e.xp6(3),e.s9C("href",t.docUrl,e.LSH)}}function aa(n,i){1&n&&(e.TgZ(0,"span")(1,"cd-helper"),e.SDv(2,48),e.qZA()())}function la(n,i){1&n&&(e.TgZ(0,"span")(1,"cd-helper"),e.SDv(2,49),e.qZA()())}function ca(n,i){if(1&n&&(e.TgZ(0,"cd-helper")(1,"span"),e.tHW(2,50),e._UZ(3,"a",47),e.N_p(),e.qZA()()),2&n){const t=e.oxw();e.xp6(3),e.s9C("href",t.docUrl,e.LSH)}}function ua(n,i){1&n&&(e.TgZ(0,"span",41),e.SDv(1,51),e.qZA())}function da(n,i){1&n&&(e.TgZ(0,"span",41),e.SDv(1,52),e.qZA())}function fa(n,i){if(1&n&&(e.TgZ(0,"option",40),e._uU(1),e.qZA()),2&n){const t=i.$implicit,o=e.oxw(3);e.Q6J("value",t.name)("selected",t.name===o.multisiteZoneForm.getValue("placementTarget")),e.xp6(1),e.hij(" ",t.name," ")}}function pa(n,i){if(1&n&&(e.TgZ(0,"option",40),e._uU(1),e.qZA()),2&n){const t=i.$implicit,o=e.oxw(3);e.Q6J("value",t.poolname)("selected",t.poolname===o.multisiteZoneForm.getValue("placementDataPool")),e.xp6(1),e.hij(" ",t.poolname," ")}}function ga(n,i){if(1&n&&(e.TgZ(0,"option",40),e._uU(1),e.qZA()),2&n){const t=i.$implicit,o=e.oxw(3);e.Q6J("value",t.poolname)("selected",t.poolname===o.multisiteZoneForm.getValue("placementIndexPool")),e.xp6(1),e.hij(" ",t.poolname," ")}}function Ta(n,i){if(1&n&&(e.TgZ(0,"option",40),e._uU(1),e.qZA()),2&n){const t=i.$implicit,o=e.oxw(3);e.Q6J("value",t.poolname)("selected",t.poolname===o.multisiteZoneForm.getValue("placementDataExtraPool")),e.xp6(1),e.hij(" ",t.poolname," ")}}function Ea(n,i){if(1&n&&(e.TgZ(0,"option",75),e._uU(1),e.qZA()),2&n){const t=i.$implicit;e.Q6J("value",t.value),e.xp6(1),e.hij(" ",t.value," ")}}function Ra(n,i){if(1&n&&(e.TgZ(0,"option",40),e._uU(1),e.qZA()),2&n){const t=i.$implicit,o=e.oxw(3);e.Q6J("value",t.poolname)("selected",t.poolname===o.multisiteZoneForm.getValue("storageDataPool")),e.xp6(1),e.hij(" ",t.poolname," ")}}function ma(n,i){if(1&n&&(e.TgZ(0,"option",75),e._uU(1),e.qZA()),2&n){const t=i.$implicit;e.Q6J("value",t),e.xp6(1),e.hij(" ",t," ")}}function ha(n,i){if(1&n){const t=e.EpF();e.TgZ(0,"div")(1,"legend"),e._uU(2,"Placement Targets"),e.qZA(),e.TgZ(3,"div",7)(4,"label",53),e.SDv(5,54),e.qZA(),e.TgZ(6,"div",10)(7,"select",55),e.NdJ("change",function(c){e.CHM(t);const O=e.oxw(2);return e.KtG(O.getZonePlacementData(c.target.value))}),e.YNc(8,fa,2,3,"option",12),e.qZA()()(),e.TgZ(9,"div",7)(10,"label",56),e.SDv(11,57),e.qZA(),e.TgZ(12,"div",10)(13,"select",58),e.YNc(14,pa,2,3,"option",12),e.qZA()()(),e.TgZ(15,"div",7)(16,"label",59),e.SDv(17,60),e.qZA(),e.TgZ(18,"div",10)(19,"select",61),e.YNc(20,ga,2,3,"option",12),e.qZA()()(),e.TgZ(21,"div",7)(22,"label",62),e.SDv(23,63),e.qZA(),e.TgZ(24,"div",10)(25,"select",64),e.YNc(26,Ta,2,3,"option",12),e.qZA()()(),e.TgZ(27,"div")(28,"legend"),e._uU(29,"Storage Classes"),e.qZA(),e.TgZ(30,"div",7)(31,"label",65),e.SDv(32,66),e.qZA(),e.TgZ(33,"div",10)(34,"select",67),e.NdJ("change",function(c){e.CHM(t);const O=e.oxw(2);return e.KtG(O.getStorageClassData(c.target.value))}),e.YNc(35,Ea,2,2,"option",68),e.qZA()()(),e.TgZ(36,"div",7)(37,"label",69),e.SDv(38,70),e.qZA(),e.TgZ(39,"div",10)(40,"select",71),e.YNc(41,Ra,2,3,"option",12),e.qZA()()(),e.TgZ(42,"div",7)(43,"label",72),e.SDv(44,73),e.qZA(),e.TgZ(45,"div",10)(46,"select",74),e.YNc(47,ma,2,2,"option",68),e.qZA()()()()()}if(2&n){const t=e.oxw(2);e.xp6(8),e.Q6J("ngForOf",t.placementTargets),e.xp6(5),e.Q6J("value",t.placementDataPool),e.xp6(1),e.Q6J("ngForOf",t.poolList),e.xp6(6),e.Q6J("ngForOf",t.poolList),e.xp6(6),e.Q6J("ngForOf",t.poolList),e.xp6(9),e.Q6J("ngForOf",t.storageClassList),e.xp6(6),e.Q6J("ngForOf",t.poolList),e.xp6(6),e.Q6J("ngForOf",t.compressionTypes)}}function Ma(n,i){if(1&n&&(e.TgZ(0,"div",7),e.YNc(1,ha,48,8,"div",21),e.qZA()),2&n){const t=e.oxw();e.xp6(1),e.Q6J("ngIf","edit"===t.action)}}let Sa=(()=>{class n{constructor(t,o,c,O,H,Q,J,j){this.activeModal=t,this.actionLabels=o,this.rgwMultisiteService=c,this.rgwZoneService=O,this.rgwZoneGroupService=H,this.notificationService=Q,this.rgwUserService=J,this.modalService=j,this.endpoints=/^((https?:\/\/)|(www.))(?:([a-zA-Z]+)|(\d+\.\d+.\d+.\d+)):\d{2,4}$/,this.ipv4Rgx=/^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/i,this.ipv6Rgx=/^(?:[a-f0-9]{1,4}:){7}[a-f0-9]{1,4}$/i,this.editing=!1,this.defaultsInfo=[],this.multisiteInfo=[],this.zonegroupList=[],this.zoneList=[],this.poolList=[],this.storageClassList=[],this.disableDefault=!1,this.disableMaster=!1,this.isMetadataSync=!1,this.syncStatusTimedOut=!1,this.createSystemUser=!1,this.compressionTypes=["lz4","zlib","snappy"],this.userListReady=!1,this.action=this.editing?this.actionLabels.EDIT+this.resource:this.actionLabels.CREATE+this.resource,this.createForm()}createForm(){this.multisiteZoneForm=new Xe.d({zoneName:new r.p4(null,{validators:[r.kI.required,z.h.custom("uniqueName",t=>"create"===this.action&&this.zoneNames&&-1!==this.zoneNames.indexOf(t))]}),default_zone:new r.p4(!1),master_zone:new r.p4(!1),selectedZonegroup:new r.p4(null),zone_endpoints:new r.p4(null,{validators:[z.h.custom("endpoint",t=>!(v().isEmpty(t)||(t.includes(",")?(t.split(",").forEach(o=>!this.endpoints.test(o)&&!this.ipv4Rgx.test(o)&&!this.ipv6Rgx.test(o)),1):this.endpoints.test(t)||this.ipv4Rgx.test(t)||this.ipv6Rgx.test(t)))),r.kI.required]}),access_key:new r.p4("",{}),secret_key:new r.p4("",{}),placementTarget:new r.p4(null),placementDataPool:new r.p4(""),placementIndexPool:new r.p4(null),placementDataExtraPool:new r.p4(null),storageClass:new r.p4(null),storageDataPool:new r.p4(null),storageCompression:new r.p4(null)})}onZoneGroupChange(t){let o=new ke.iG;o.name=t,this.rgwZoneGroupService.get(o).subscribe(c=>{v().isEmpty(c.master_zone)?(this.multisiteZoneForm.get("master_zone").setValue(!0),this.multisiteZoneForm.get("master_zone").disable(),this.disableMaster=!1):!v().isEmpty(c.master_zone)&&"create"===this.action&&(this.multisiteZoneForm.get("master_zone").setValue(!1),this.multisiteZoneForm.get("master_zone").disable(),this.disableMaster=!0)}),this.multisiteZoneForm.getValue("selectedZonegroup")!==this.defaultsInfo.defaultZonegroupName&&(this.disableDefault=!0,this.multisiteZoneForm.get("default_zone").disable())}ngOnInit(){this.zonegroupList=void 0!==this.multisiteInfo[1]&&this.multisiteInfo[1].hasOwnProperty("zonegroups")?this.multisiteInfo[1].zonegroups:[],this.zoneList=void 0!==this.multisiteInfo[2]&&this.multisiteInfo[2].hasOwnProperty("zones")?this.multisiteInfo[2].zones:[],this.zoneNames=this.zoneList.map(t=>t.name),"create"===this.action&&void 0!==this.defaultsInfo.defaultZonegroupName&&(this.multisiteZoneForm.get("selectedZonegroup").setValue(this.defaultsInfo.defaultZonegroupName),this.onZoneGroupChange(this.defaultsInfo.defaultZonegroupName)),"edit"===this.action&&(this.placementTargets=this.info.parent?this.info.parent.data.placement_targets:[],this.rgwZoneService.getPoolNames().subscribe(o=>{this.poolList=o}),this.multisiteZoneForm.get("zoneName").setValue(this.info.data.name),this.multisiteZoneForm.get("selectedZonegroup").setValue(this.info.data.parent),this.multisiteZoneForm.get("default_zone").setValue(this.info.data.is_default),this.multisiteZoneForm.get("master_zone").setValue(this.info.data.is_master),this.multisiteZoneForm.get("zone_endpoints").setValue(this.info.data.endpoints.toString()),this.multisiteZoneForm.get("access_key").setValue(this.info.data.access_key),this.multisiteZoneForm.get("secret_key").setValue(this.info.data.secret_key),this.multisiteZoneForm.get("placementTarget").setValue(this.info.parent.data.default_placement),this.getZonePlacementData(this.multisiteZoneForm.getValue("placementTarget")),this.info.data.is_default&&(this.isDefaultZone=!0,this.multisiteZoneForm.get("default_zone").disable()),this.info.data.is_master&&(this.isMasterZone=!0,this.multisiteZoneForm.get("master_zone").disable()),(new ke.jb).name=this.info.data.name,this.onZoneGroupChange(this.info.data.parent)),this.multisiteZoneForm.getValue("selectedZonegroup")!==this.defaultsInfo.defaultZonegroupName&&(this.disableDefault=!0,this.multisiteZoneForm.get("default_zone").disable())}getZonePlacementData(t){this.zone=new ke.jb,this.zone.name=this.info.data.name,this.placementTargets&&this.placementTargets.forEach(o=>{o.name===t&&(this.storageClassList=Object.entries(o.storage_classes).map(([O,H])=>({key:O,value:H})))}),this.rgwZoneService.get(this.zone).subscribe(o=>{this.zoneInfo=o,this.zoneInfo&&this.zoneInfo.placement_pools&&this.zoneInfo.placement_pools.forEach(c=>{if(c.key===t){let O=c.val.storage_classes,H=O.STANDARD?O.STANDARD.data_pool:"",Q=c.val.index_pool,J=c.val.data_extra_pool;this.poolList.push({poolname:H}),this.poolList.push({poolname:Q}),this.poolList.push({poolname:J}),this.multisiteZoneForm.get("storageClass").setValue(this.storageClassList[0].value),this.multisiteZoneForm.get("storageDataPool").setValue(H),this.multisiteZoneForm.get("storageCompression").setValue(this.compressionTypes[0]),this.multisiteZoneForm.get("placementDataPool").setValue(H),this.multisiteZoneForm.get("placementIndexPool").setValue(Q),this.multisiteZoneForm.get("placementDataExtraPool").setValue(J)}})})}getStorageClassData(t){let o=this.storageClassList.find(c=>c.value==t).value;this.poolList.push({poolname:o.data_pool}),this.multisiteZoneForm.get("storageDataPool").setValue(o.data_pool),this.multisiteZoneForm.get("storageCompression").setValue(o.compression_type)}submit(){const t=this.multisiteZoneForm.getRawValue();"create"===this.action?(this.zonegroup=new ke.iG,this.zonegroup.name=t.selectedZonegroup,this.zone=new ke.jb,this.zone.name=t.zoneName,this.zone.endpoints=t.zone_endpoints,this.zone.system_key=new ke.VY,this.zone.system_key.access_key=t.access_key,this.zone.system_key.secret_key=t.secret_key,this.rgwZoneService.create(this.zone,this.zonegroup,t.default_zone,t.master_zone,this.zone.endpoints).subscribe(()=>{this.notificationService.show(M.k.success,"Zone: '" + t.zoneName + "' created successfully"),this.activeModal.close()},()=>{this.multisiteZoneForm.setErrors({cdSubmitButton:!0})})):"edit"===this.action&&(this.zonegroup=new ke.iG,this.zonegroup.name=t.selectedZonegroup,this.zone=new ke.jb,this.zone.name=this.info.data.name,this.zone.endpoints=t.zone_endpoints,this.zone.system_key=new ke.VY,this.zone.system_key.access_key=t.access_key,this.zone.system_key.secret_key=t.secret_key,this.rgwZoneService.update(this.zone,this.zonegroup,t.zoneName,t.default_zone,t.master_zone,this.zone.endpoints,t.placementTarget,t.placementDataPool,t.placementIndexPool,t.placementDataExtraPool,t.storageClass,t.storageDataPool,t.storageCompression).subscribe(()=>{this.notificationService.show(M.k.success,"Zone: '" + t.zoneName + "' updated successfully"),this.activeModal.close()},()=>{this.multisiteZoneForm.setErrors({cdSubmitButton:!0})}))}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(x.Kz),e.Y36(l.p4),e.Y36(an.o),e.Y36(it.g),e.Y36(_t.K),e.Y36(V.g),e.Y36(f),e.Y36(Qe.Z))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-rgw-multisite-zone-form"]],decls:75,vars:29,consts:function(){let i,t,o,c,O,H,Q,J,j,oe,Te,Me,Fe,Pe,me,Ge,ye,Le,Ee,Ue,$e,xe,De,ve,se;return i="" + "\ufffd0\ufffd" + " " + "\ufffd1\ufffd" + "",t="Select Zone Group",o="Zone Name",c="Default",O="Master",H="Endpoints",Q="S3 access key " + "\ufffd#47\ufffd" + "" + "\ufffd#48\ufffd" + "To see or copy your S3 access key, go to " + "[\ufffd#49\ufffd|\ufffd#50\ufffd|\ufffd#51\ufffd|\ufffd#52\ufffd]" + "Object Gateway > Users" + "[\ufffd/#49\ufffd|\ufffd/#50\ufffd|\ufffd/#51\ufffd|\ufffd/#52\ufffd]" + " and click on your user name. In " + "[\ufffd#49\ufffd|\ufffd#50\ufffd|\ufffd#51\ufffd|\ufffd#52\ufffd]" + "Keys" + "[\ufffd/#49\ufffd|\ufffd/#50\ufffd|\ufffd/#51\ufffd|\ufffd/#52\ufffd]" + ", click " + "[\ufffd#49\ufffd|\ufffd#50\ufffd|\ufffd#51\ufffd|\ufffd#52\ufffd]" + "Show" + "[\ufffd/#49\ufffd|\ufffd/#50\ufffd|\ufffd/#51\ufffd|\ufffd/#52\ufffd]" + ". View the access key by clicking Show and copy the key by clicking " + "[\ufffd#49\ufffd|\ufffd#50\ufffd|\ufffd#51\ufffd|\ufffd#52\ufffd]" + "Copy to Clipboard" + "[\ufffd/#49\ufffd|\ufffd/#50\ufffd|\ufffd/#51\ufffd|\ufffd/#52\ufffd]" + "." + "\ufffd/#48\ufffd" + "" + "\ufffd/#47\ufffd" + "",Q=e.Zx4(Q),J="S3 secret key " + "\ufffd#60\ufffd" + "" + "\ufffd#61\ufffd" + "To see or copy your S3 access key, go to " + "[\ufffd#62\ufffd|\ufffd#63\ufffd|\ufffd#64\ufffd|\ufffd#65\ufffd]" + "Object Gateway > Users" + "[\ufffd/#62\ufffd|\ufffd/#63\ufffd|\ufffd/#64\ufffd|\ufffd/#65\ufffd]" + " and click on your user name. In " + "[\ufffd#62\ufffd|\ufffd#63\ufffd|\ufffd#64\ufffd|\ufffd#65\ufffd]" + "Keys" + "[\ufffd/#62\ufffd|\ufffd/#63\ufffd|\ufffd/#64\ufffd|\ufffd/#65\ufffd]" + ", click " + "[\ufffd#62\ufffd|\ufffd#63\ufffd|\ufffd#64\ufffd|\ufffd#65\ufffd]" + "Show" + "[\ufffd/#62\ufffd|\ufffd/#63\ufffd|\ufffd/#64\ufffd|\ufffd/#65\ufffd]" + ". View the secret key by clicking Show and copy the key by clicking " + "[\ufffd#62\ufffd|\ufffd#63\ufffd|\ufffd#64\ufffd|\ufffd#65\ufffd]" + "Copy to Clipboard" + "[\ufffd/#62\ufffd|\ufffd/#63\ufffd|\ufffd/#64\ufffd|\ufffd/#65\ufffd]" + "." + "\ufffd/#61\ufffd" + "" + "\ufffd/#60\ufffd" + "",J=e.Zx4(J),j="This field is required.",oe="The chosen zone name is already in use.",Te="Default zone can only exist in a default zone group. ",Me="You cannot unset the default flag. ",Fe="Please consult the " + "\ufffd#3\ufffd" + "documentation" + "\ufffd/#3\ufffd" + " to follow the failover mechanism",Pe="Master zone already exists for the selected zone group. ",me="You cannot unset the master flag. ",Ge="Please consult the " + "\ufffd#3\ufffd" + "documentation" + "\ufffd/#3\ufffd" + " to follow the failover mechanism",ye="This field is required.",Le="Please enter a valid IP address.",Ee="Placement target",Ue="R\xE9serve de donn\xE9es",$e="Index pool",xe="Data extra pool",De="Storage Class",ve="R\xE9serve de donn\xE9es",se="Compression",[[3,"modalRef"],[1,"modal-title"],i,[1,"modal-content"],["name","multisiteZoneForm","novalidate","",3,"formGroup"],["formDir","ngForm"],[1,"modal-body"],[1,"form-group","row"],["for","selectedZonegroup",1,"cd-col-form-label"],t,[1,"cd-col-form-input"],["id","selectedZonegroup","formControlName","selectedZonegroup","name","selectedZonegroup",1,"form-select",3,"change"],[3,"value","selected",4,"ngFor","ngForOf"],["for","zonegroupName",1,"cd-col-form-label","required"],o,["type","text","placeholder","Zone name...","id","zoneName","name","zoneName","formControlName","zoneName",1,"form-control"],["class","invalid-feedback",4,"ngIf"],[1,"custom-control","custom-checkbox"],["id","default_zone","name","default_zone","formControlName","default_zone","type","checkbox",1,"form-check-input"],["for","default_zone",1,"form-check-label"],c,[4,"ngIf"],["id","master_zone","name","master_zone","formControlName","master_zone","type","checkbox",1,"form-check-input"],["for","master_zone",1,"form-check-label"],O,["for","zone_endpoints",1,"cd-col-form-label","required"],H,["type","text","placeholder","e.g, http://ceph-node-00.com:80","id","zone_endpoints","name","zone_endpoints","formControlName","zone_endpoints",1,"form-control"],["for","access_key",1,"cd-col-form-label"],Q,[1,"input-group"],["type","password","placeholder","DiPt4V7WWvy2njL1z6aC","id","access_key","name","access_key","formControlName","access_key",1,"form-control"],["type","button","cdPasswordButton","access_key",1,"btn","btn-light"],["for","secret_key",1,"cd-col-form-label"],J,["type","password","placeholder","xSZUdYky0bTctAdCEEW8ikhfBVKsBV5LFYL82vvh","id","secret_key","name","secret_key","formControlName","secret_key",1,"form-control"],["type","button","cdPasswordButton","secret_key",1,"btn","btn-light"],["class","form-group row",4,"ngIf"],[1,"modal-footer"],[3,"form","submitText","submitActionEvent"],[3,"value","selected"],[1,"invalid-feedback"],j,oe,Te,Me,Fe,[3,"href"],Pe,me,Ge,ye,Le,["for","placementTarget",1,"cd-col-form-label"],Ee,["id","placementTarget","formControlName","placementTarget","name","placementTarget",1,"form-select",3,"change"],["for","placementDataPool",1,"cd-col-form-label"],Ue,["id","placementDataPool","formControlName","placementDataPool","name","placementDataPool",1,"form-select",3,"value"],["for","placementIndexPool",1,"cd-col-form-label"],$e,["id","placementIndexPool","formControlName","placementIndexPool","name","placementIndexPool",1,"form-select"],["for","placementDataExtraPool",1,"cd-col-form-label"],xe,["id","placementDataExtraPool","formControlName","placementDataExtraPool","name","placementDataExtraPool",1,"form-select"],["for","storageClass",1,"cd-col-form-label"],De,["id","storageClass","formControlName","storageClass","name","storageClass",1,"form-select",3,"change"],[3,"value",4,"ngFor","ngForOf"],["for","storageDataPool",1,"cd-col-form-label"],ve,["id","storageDataPool","formControlName","storageDataPool","name","storageDataPool",1,"form-select"],["for","storageCompression",1,"cd-col-form-label"],se,["id","storageCompression","formControlName","storageCompression","name","storageCompression",1,"form-select"],[3,"value"]]},template:function(t,o){if(1&t&&(e.TgZ(0,"cd-modal",0),e.ynx(1,1),e.SDv(2,2),e.ALo(3,"titlecase"),e.ALo(4,"upperFirst"),e.BQk(),e.ynx(5,3),e.TgZ(6,"form",4,5)(8,"div",6)(9,"div",7)(10,"label",8),e.SDv(11,9),e.qZA(),e.TgZ(12,"div",10)(13,"select",11),e.NdJ("change",function(O){return o.onZoneGroupChange(O.target.value)}),e.YNc(14,na,2,3,"option",12),e.qZA()()(),e.TgZ(15,"div",7)(16,"label",13),e.SDv(17,14),e.qZA(),e.TgZ(18,"div",10),e._UZ(19,"input",15),e.YNc(20,oa,2,0,"span",16),e.YNc(21,ia,2,0,"span",16),e.TgZ(22,"div",17),e._UZ(23,"input",18),e.TgZ(24,"label",19),e.SDv(25,20),e.qZA(),e.YNc(26,_a,3,0,"span",21),e.YNc(27,ra,3,0,"span",21),e.YNc(28,sa,4,1,"cd-helper",21),e._UZ(29,"br"),e.qZA(),e.TgZ(30,"div",17),e._UZ(31,"input",22),e.TgZ(32,"label",23),e.SDv(33,24),e.qZA(),e.YNc(34,aa,3,0,"span",21),e.YNc(35,la,3,0,"span",21),e.YNc(36,ca,4,1,"cd-helper",21),e.qZA()()(),e.TgZ(37,"div",7)(38,"label",25),e.SDv(39,26),e.qZA(),e.TgZ(40,"div",10),e._UZ(41,"input",27),e.YNc(42,ua,2,0,"span",16),e.YNc(43,da,2,0,"span",16),e.qZA()(),e.TgZ(44,"div",7)(45,"label",28),e.tHW(46,29),e.TgZ(47,"cd-helper")(48,"span"),e._UZ(49,"b")(50,"b")(51,"b")(52,"b"),e.qZA()(),e.N_p(),e.qZA(),e.TgZ(53,"div",10)(54,"div",30),e._UZ(55,"input",31)(56,"button",32),e.qZA()()(),e.TgZ(57,"div",7)(58,"label",33),e.tHW(59,34),e.TgZ(60,"cd-helper")(61,"span"),e._UZ(62,"b")(63,"b")(64,"b")(65,"b"),e.qZA()(),e.N_p(),e.qZA(),e.TgZ(66,"div",10)(67,"div",30),e._UZ(68,"input",35)(69,"button",36),e.qZA()()(),e.YNc(70,Ma,2,1,"div",37),e.qZA(),e.TgZ(71,"div",38)(72,"cd-form-button-panel",39),e.NdJ("submitActionEvent",function(){return o.submit()}),e.ALo(73,"titlecase"),e.ALo(74,"upperFirst"),e.qZA()()(),e.BQk(),e.qZA()),2&t){const c=e.MAs(7);e.Q6J("modalRef",o.activeModal),e.xp6(4),e.pQV(e.lcZ(3,21,o.action))(e.lcZ(4,23,o.resource)),e.QtT(2),e.xp6(2),e.Q6J("formGroup",o.multisiteZoneForm),e.xp6(7),e.uIk("disabled","edit"===o.action||null),e.xp6(1),e.Q6J("ngForOf",o.zonegroupList),e.xp6(6),e.Q6J("ngIf",o.multisiteZoneForm.showError("zoneName",c,"required")),e.xp6(1),e.Q6J("ngIf",o.multisiteZoneForm.showError("zoneName",c,"uniqueName")),e.xp6(2),e.uIk("disabled","edit"===o.action||null),e.xp6(3),e.Q6J("ngIf",o.disableDefault&&"create"===o.action),e.xp6(1),e.Q6J("ngIf",o.isDefaultZone),e.xp6(1),e.Q6J("ngIf","edit"===o.action&&!o.isDefaultZone),e.xp6(3),e.uIk("disabled","edit"===o.action||null),e.xp6(3),e.Q6J("ngIf",o.disableMaster),e.xp6(1),e.Q6J("ngIf",o.isMasterZone),e.xp6(1),e.Q6J("ngIf","edit"===o.action&&!o.isMasterZone),e.xp6(6),e.Q6J("ngIf",o.multisiteZoneForm.showError("zone_endpoints",c,"required")),e.xp6(1),e.Q6J("ngIf",o.multisiteZoneForm.showError("zone_endpoints",c,"endpoint")),e.xp6(27),e.Q6J("ngIf","edit"===o.action),e.xp6(2),e.Q6J("form",o.multisiteZoneForm)("submitText",e.lcZ(73,25,o.action)+" "+e.lcZ(74,27,o.resource))}},dependencies:[g.sg,g.O5,fe.S,Ie.z,we.p,lt.C,Oe.o,Ae.b,We.P,C.V,r._Y,r.YN,r.Kr,r.Fj,r.Wl,r.EJ,r.JJ,r.JL,r.sg,r.u,g.rS,Ye.m]}),n})();var Ca=d(36569);function Fa(n,i){if(1&n&&(e.TgZ(0,"option",33),e._uU(1),e.qZA()),2&n){const t=i.$implicit,o=e.oxw();e.Q6J("value",t.name)("selected",t.name===o.multisiteZonegroupForm.getValue("selectedRealm")),e.xp6(1),e.hij(" ",t.name," ")}}function Oa(n,i){1&n&&(e.TgZ(0,"span",34),e.SDv(1,35),e.qZA())}function Na(n,i){1&n&&(e.TgZ(0,"span",34),e.SDv(1,36),e.qZA())}function Pa(n,i){1&n&&(e.TgZ(0,"span")(1,"cd-helper"),e.SDv(2,37),e.qZA()())}function Aa(n,i){if(1&n&&(e.TgZ(0,"cd-helper")(1,"span"),e.tHW(2,38),e._UZ(3,"a",39),e.N_p(),e.qZA()()),2&n){const t=e.oxw();e.xp6(3),e.s9C("href",t.docUrl,e.LSH)}}function ba(n,i){1&n&&(e.TgZ(0,"cd-helper")(1,"span"),e.SDv(2,40),e.qZA()())}function Ia(n,i){1&n&&(e.TgZ(0,"span")(1,"cd-helper"),e.SDv(2,41),e.qZA()())}function Ga(n,i){if(1&n&&(e.TgZ(0,"cd-helper")(1,"span"),e.tHW(2,42),e._UZ(3,"a",39),e.N_p(),e.qZA()()),2&n){const t=e.oxw();e.xp6(3),e.s9C("href",t.docUrl,e.LSH)}}function ya(n,i){1&n&&(e.TgZ(0,"cd-helper")(1,"span"),e.SDv(2,43),e.qZA()())}function La(n,i){1&n&&(e.TgZ(0,"span",34),e.SDv(1,44),e.qZA())}function Da(n,i){1&n&&(e.TgZ(0,"span",34),e.SDv(1,45),e.qZA())}function va(n,i){1&n&&(e.TgZ(0,"span",34),e.SDv(1,49),e.qZA())}function wa(n,i){if(1&n&&(e.TgZ(0,"div",7)(1,"label",46),e.SDv(2,47),e.qZA(),e.TgZ(3,"div",10),e._UZ(4,"cd-select-badges",48)(5,"br"),e.YNc(6,va,2,0,"span",18),e.qZA()()),2&n){const t=e.oxw();e.xp6(4),e.Q6J("data",t.zonegroupZoneNames)("options",t.labelsOption)("customBadges",!0),e.xp6(2),e.Q6J("ngIf",t.isRemoveMasterZone)}}function Wa(n,i){1&n&&(e.TgZ(0,"span"),e.SDv(1,68),e.qZA())}function Ua(n,i){if(1&n){const t=e.EpF();e.TgZ(0,"div")(1,"div",55)(2,"div",56),e._uU(3),e.ALo(4,"ordinal"),e.TgZ(5,"span",57),e.NdJ("click",function(){const O=e.CHM(t).index,H=e.oxw(2);return e.KtG(H.removePlacementTarget(O))}),e._uU(6,"\xd7"),e.qZA()(),e.TgZ(7,"div",58)(8,"div",7)(9,"label",59),e.SDv(10,60),e.qZA(),e.TgZ(11,"div",10),e._UZ(12,"input",61),e.TgZ(13,"span",34),e.YNc(14,Wa,2,0,"span",23),e.qZA()()(),e.TgZ(15,"div",7)(16,"label",62),e.SDv(17,63),e.qZA(),e.TgZ(18,"div",10),e._UZ(19,"input",64),e.qZA()(),e.TgZ(20,"div",7)(21,"label",65),e.SDv(22,66),e.qZA(),e.TgZ(23,"div",10),e._UZ(24,"input",67),e.qZA()()()()()}if(2&n){const t=i.$implicit,o=i.index,c=e.oxw(2),O=e.MAs(6);e.xp6(1),e.Q6J("formGroup",t),e.xp6(2),e.hij(" ",e.lcZ(4,3,o+1)," "),e.xp6(11),e.Q6J("ngIf",c.showError(o,"placement_id",O,"required"))}}const $a=function(n){return[n]};function xa(n,i){if(1&n){const t=e.EpF();e.TgZ(0,"div")(1,"legend"),e._uU(2,"Placement targets"),e.qZA(),e.ynx(3,50),e.YNc(4,Ua,25,5,"div",51),e.BQk(),e.TgZ(5,"button",52),e.NdJ("click",function(){e.CHM(t);const c=e.oxw();return e.KtG(c.addPlacementTarget())}),e._UZ(6,"i",53),e.ynx(7),e.SDv(8,54),e.BQk(),e.qZA()()}if(2&n){const t=e.oxw();e.xp6(4),e.Q6J("ngForOf",t.placementTargets.controls)("ngForTrackBy",t.trackByFn),e.xp6(2),e.Q6J("ngClass",e.VKq(3,$a,t.icons.add))}}let Za=(()=>{class n{constructor(t,o,c,O,H){this.activeModal=t,this.actionLabels=o,this.rgwZonegroupService=c,this.notificationService=O,this.formBuilder=H,this.endpoints=/^((https?:\/\/)|(www.))(?:([a-zA-Z]+)|(\d+\.\d+.\d+.\d+)):\d{2,4}$/,this.ipv4Rgx=/^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/i,this.ipv6Rgx=/^(?:[a-f0-9]{1,4}:){7}[a-f0-9]{1,4}$/i,this.icons=$.P,this.editing=!1,this.defaultsInfo=[],this.multisiteInfo=[],this.realmList=[],this.zonegroupList=[],this.isMaster=!1,this.labelsOption=[],this.zoneList=[],this.isRemoveMasterZone=!1,this.disableDefault=!1,this.disableMaster=!1,this.action=this.editing?this.actionLabels.EDIT+this.resource:this.actionLabels.CREATE+this.resource,this.createForm()}createForm(){this.multisiteZonegroupForm=new Xe.d({default_zonegroup:new r.p4(!1),zonegroupName:new r.p4(null,{validators:[r.kI.required,z.h.custom("uniqueName",t=>"create"===this.action&&this.zonegroupNames&&-1!==this.zonegroupNames.indexOf(t))]}),master_zonegroup:new r.p4(!1),selectedRealm:new r.p4(null),zonegroup_endpoints:new r.p4(null,[z.h.custom("endpoint",t=>!(v().isEmpty(t)||(t.includes(",")?(t.split(",").forEach(o=>!this.endpoints.test(o)&&!this.ipv4Rgx.test(o)&&!this.ipv6Rgx.test(o)),1):this.endpoints.test(t)||this.ipv4Rgx.test(t)||this.ipv6Rgx.test(t)))),r.kI.required]),placementTargets:this.formBuilder.array([])})}ngOnInit(){v().forEach(this.multisiteZonegroupForm.get("placementTargets"),O=>{this.addPlacementTarget().patchValue(O)}),this.placementTargets=this.multisiteZonegroupForm.get("placementTargets"),this.realmList=void 0!==this.multisiteInfo[0]&&this.multisiteInfo[0].hasOwnProperty("realms")?this.multisiteInfo[0].realms:[],this.zonegroupList=void 0!==this.multisiteInfo[1]&&this.multisiteInfo[1].hasOwnProperty("zonegroups")?this.multisiteInfo[1].zonegroups:[],this.zonegroupList.forEach(O=>{!0===O.is_master&&!v().isEmpty(O.realm_id)&&(this.isMaster=!0,this.disableMaster=!0)}),this.isMaster||(this.multisiteZonegroupForm.get("master_zonegroup").setValue(!0),this.multisiteZonegroupForm.get("master_zonegroup").disable()),this.zoneList=void 0!==this.multisiteInfo[2]&&this.multisiteInfo[2].hasOwnProperty("zones")?this.multisiteInfo[2].zones:[],this.zonegroupNames=this.zonegroupList.map(O=>O.name);const c=this.zonegroupList.map(O=>O.zones).reduce((O,H)=>O.concat(H),[]).map(O=>O.name);if(this.allZoneNames=this.zoneList.map(O=>O.name),this.allZoneNames=v().difference(this.allZoneNames,c),"create"===this.action&&null!==this.defaultsInfo.defaultRealmName&&(this.multisiteZonegroupForm.get("selectedRealm").setValue(this.defaultsInfo.defaultRealmName),this.disableMaster&&this.multisiteZonegroupForm.get("master_zonegroup").disable()),"edit"===this.action){this.multisiteZonegroupForm.get("zonegroupName").setValue(this.info.data.name),this.multisiteZonegroupForm.get("selectedRealm").setValue(this.info.data.parent),this.multisiteZonegroupForm.get("default_zonegroup").setValue(this.info.data.is_default),this.multisiteZonegroupForm.get("master_zonegroup").setValue(this.info.data.is_master),this.multisiteZonegroupForm.get("zonegroup_endpoints").setValue(this.info.data.endpoints),this.info.data.is_default&&this.multisiteZonegroupForm.get("default_zonegroup").disable(),!this.info.data.is_default&&this.multisiteZonegroupForm.getValue("selectedRealm")!==this.defaultsInfo.defaultRealmName&&(this.multisiteZonegroupForm.get("default_zonegroup").disable(),this.disableDefault=!0),(this.info.data.is_master||this.disableMaster)&&this.multisiteZonegroupForm.get("master_zonegroup").disable(),this.zonegroupZoneNames=this.info.data.zones.map(H=>H.name),this.zgZoneNames=this.info.data.zones.map(H=>H.name),this.zgZoneIds=this.info.data.zones.map(H=>H.id);const O=new Set(this.allZoneNames);this.labelsOption=Array.from(O).map(H=>({enabled:!0,name:H,selected:!1,description:null})),this.info.data.placement_targets.forEach(H=>{const Q=this.addPlacementTarget();let J={placement_id:H.name,tags:H.tags.join(","),storage_class:"string"==typeof H.storage_classes?H.storage_classes:H.storage_classes.join(",")};Q.patchValue(J)})}}submit(){const t=this.multisiteZonegroupForm.getRawValue();if("create"===this.action)this.realm=new ke.L6,this.realm.name=t.selectedRealm,this.zonegroup=new ke.iG,this.zonegroup.name=t.zonegroupName,this.zonegroup.endpoints=t.zonegroup_endpoints,this.rgwZonegroupService.create(this.realm,this.zonegroup,t.default_zonegroup,t.master_zonegroup).subscribe(()=>{this.notificationService.show(M.k.success,"Zonegroup: '" + t.zonegroupName + "' created successfully"),this.activeModal.close()},()=>{this.multisiteZonegroupForm.setErrors({cdSubmitButton:!0})});else if("edit"===this.action){this.removedZones=v().difference(this.zgZoneNames,this.zonegroupZoneNames);const o=this.info.data.zones.filter(c=>c.id===this.info.data.master_zone);if(this.isRemoveMasterZone=this.removedZones.includes(o[0].name),this.isRemoveMasterZone)return void this.multisiteZonegroupForm.setErrors({cdSubmitButton:!0});this.addedZones=v().difference(this.zonegroupZoneNames,this.zgZoneNames),this.realm=new ke.L6,this.realm.name=t.selectedRealm,this.zonegroup=new ke.iG,this.zonegroup.name=this.info.data.name,this.newZonegroupName=t.zonegroupName,this.zonegroup.endpoints=t.zonegroup_endpoints.toString(),this.zonegroup.placement_targets=t.placementTargets,this.rgwZonegroupService.update(this.realm,this.zonegroup,this.newZonegroupName,t.default_zonegroup,t.master_zonegroup,this.removedZones,this.addedZones).subscribe(()=>{this.notificationService.show(M.k.success,"Zonegroup: '" + t.zonegroupName + "' updated successfully"),this.activeModal.close()},()=>{this.multisiteZonegroupForm.setErrors({cdSubmitButton:!0})})}}addPlacementTarget(){this.placementTargets=this.multisiteZonegroupForm.get("placementTargets");const t=new Xe.d({placement_id:new r.p4("",{validators:[r.kI.required]}),tags:new r.p4(""),storage_class:new r.p4([])});return this.placementTargets.push(t),t}trackByFn(t){return t}removePlacementTarget(t){this.placementTargets=this.multisiteZonegroupForm.get("placementTargets"),this.placementTargets.removeAt(t)}showError(t,o,c,O){return this.multisiteZonegroupForm.controls.placementTargets.controls[t].showError(o,c,O)}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(x.Kz),e.Y36(l.p4),e.Y36(_t.K),e.Y36(V.g),e.Y36(r.QS))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-rgw-multisite-zonegroup-form"]],decls:49,vars:24,consts:function(){let i,t,o,c,O,H,Q,J,j,oe,Te,Me,Fe,Pe,me,Ge,ye,Le,Ee,Ue,$e,xe,De,ve;return i="" + "\ufffd0\ufffd" + " Zone Group",t="Select Realm",o="-- Select a realm --",c="Zone Group Name",O="Default",H="Master",Q="Endpoints",J="This field is required.",j="The chosen zone group name is already in use.",oe="Zone group doesn't belong to the default realm.",Te="Please consult the " + "\ufffd#3\ufffd" + "documentation" + "\ufffd/#3\ufffd" + " to follow the failover mechanism",Me="You cannot unset the default flag.",Fe="Multiple master zone groups can't be configured. If you want to create a new zone group and make it the master zone group, you must delete the default zone group.",Pe="Please consult the " + "\ufffd#3\ufffd" + "documentation" + "\ufffd/#3\ufffd" + " to follow the failover mechanism",me="You cannot unset the master flag.",Ge="This field is required.",ye="Please enter a valid IP address.",Le="Zones",Ee="Cannot remove master zone.",Ue="Add placement target",$e="Placement Id",xe="Balises",De="Storage Class",ve="This field is required.",[[3,"modalRef"],[1,"modal-title"],i,[1,"modal-content"],["name","multisiteZonegroupForm","novalidate","",3,"formGroup"],["formDir","ngForm"],[1,"modal-body"],[1,"form-group","row"],["for","selectedRealm",1,"cd-col-form-label"],t,[1,"cd-col-form-input"],["id","selectedRealm","formControlName","selectedRealm","name","selectedRealm",1,"form-select"],["ngValue",""],o,[3,"value","selected",4,"ngFor","ngForOf"],["for","zonegroupName",1,"cd-col-form-label","required"],c,["type","text","placeholder","Zone group name...","id","zonegroupName","name","zonegroupName","formControlName","zonegroupName",1,"form-control"],["class","invalid-feedback",4,"ngIf"],[1,"custom-control","custom-checkbox"],["id","default_zonegroup","name","default_zonegroup","formControlName","default_zonegroup","type","checkbox",1,"form-check-input"],["for","default_zonegroup",1,"form-check-label"],O,[4,"ngIf"],["id","master_zonegroup","name","master_zonegroup","formControlName","master_zonegroup","type","checkbox",1,"form-check-input"],["for","master_zonegroup",1,"form-check-label"],H,["for","zonegroup_endpoints",1,"cd-col-form-label","required"],Q,["type","text","placeholder","e.g, http://ceph-node-00.com:80","id","zonegroup_endpoints","name","zonegroup_endpoints","formControlName","zonegroup_endpoints",1,"form-control"],["class","form-group row",4,"ngIf"],[1,"modal-footer"],[3,"form","submitText","submitActionEvent"],[3,"value","selected"],[1,"invalid-feedback"],J,j,oe,Te,[3,"href"],Me,Fe,Pe,me,Ge,ye,["for","zones",1,"cd-col-form-label"],Le,["id","zones",3,"data","options","customBadges"],Ee,["formArrayName","placementTargets"],[4,"ngFor","ngForOf","ngForTrackBy"],["type","button","id","add-plc",1,"btn","btn-light","float-end","my-3",3,"click"],[3,"ngClass"],Ue,[1,"card",3,"formGroup"],[1,"card-header"],["name","remove_placement_target","ngbTooltip","Remove",1,"float-end","clickable",3,"click"],[1,"card-body"],["for","placement_id",1,"cd-col-form-label","required"],$e,["type","text","name","placement_id","id","placement_id","formControlName","placement_id","placeholder","eg. default-placement",1,"form-control"],["for","tags",1,"cd-col-form-label"],xe,["type","text","name","tags","id","tags","formControlName","tags","placeholder","comma separated tags, eg. default-placement, ssd",1,"form-control"],["for","storage_class",1,"cd-col-form-label"],De,["type","text","name","storage_class","id","storage_class","formControlName","storage_class","placeholder","eg. Standard-tier",1,"form-control"],ve]},template:function(t,o){if(1&t&&(e.TgZ(0,"cd-modal",0),e.ynx(1,1),e.SDv(2,2),e.ALo(3,"titlecase"),e.BQk(),e.ynx(4,3),e.TgZ(5,"form",4,5)(7,"div",6)(8,"div",7)(9,"label",8),e.SDv(10,9),e.qZA(),e.TgZ(11,"div",10)(12,"select",11)(13,"option",12),e.SDv(14,13),e.qZA(),e.YNc(15,Fa,2,3,"option",14),e.qZA()()(),e.TgZ(16,"div",7)(17,"label",15),e.SDv(18,16),e.qZA(),e.TgZ(19,"div",10),e._UZ(20,"input",17),e.YNc(21,Oa,2,0,"span",18),e.YNc(22,Na,2,0,"span",18),e.TgZ(23,"div",19),e._UZ(24,"input",20),e.TgZ(25,"label",21),e.SDv(26,22),e.qZA(),e.YNc(27,Pa,3,0,"span",23),e.YNc(28,Aa,4,1,"cd-helper",23),e.YNc(29,ba,3,0,"cd-helper",23),e._UZ(30,"br")(31,"input",24),e.TgZ(32,"label",25),e.SDv(33,26),e.qZA(),e.YNc(34,Ia,3,0,"span",23),e.YNc(35,Ga,4,1,"cd-helper",23),e.YNc(36,ya,3,0,"cd-helper",23),e.qZA()()(),e.TgZ(37,"div",7)(38,"label",27),e.SDv(39,28),e.qZA(),e.TgZ(40,"div",10),e._UZ(41,"input",29),e.YNc(42,La,2,0,"span",18),e.YNc(43,Da,2,0,"span",18),e.qZA()(),e.YNc(44,wa,7,4,"div",30),e.YNc(45,xa,9,5,"div",23),e.qZA(),e.TgZ(46,"div",31)(47,"cd-form-button-panel",32),e.NdJ("submitActionEvent",function(){return o.submit()}),e.ALo(48,"titlecase"),e.qZA()()(),e.BQk(),e.qZA()),2&t){const c=e.MAs(6);e.Q6J("modalRef",o.activeModal),e.xp6(3),e.pQV(e.lcZ(3,20,o.action)),e.QtT(2),e.xp6(2),e.Q6J("formGroup",o.multisiteZonegroupForm),e.xp6(10),e.Q6J("ngForOf",o.realmList),e.xp6(6),e.Q6J("ngIf",o.multisiteZonegroupForm.showError("zonegroupName",c,"required")),e.xp6(1),e.Q6J("ngIf",o.multisiteZonegroupForm.showError("zonegroupName",c,"uniqueName")),e.xp6(2),e.uIk("disabled","edit"===o.action||null),e.xp6(3),e.Q6J("ngIf",o.disableDefault&&"create"===o.action),e.xp6(1),e.Q6J("ngIf","edit"===o.action&&!o.info.data.is_default),e.xp6(1),e.Q6J("ngIf","edit"===o.action&&o.info.data.is_default),e.xp6(2),e.uIk("disabled","edit"===o.action||null),e.xp6(3),e.Q6J("ngIf",o.disableMaster&&"create"===o.action),e.xp6(1),e.Q6J("ngIf","edit"===o.action&&!o.info.data.is_master),e.xp6(1),e.Q6J("ngIf","edit"===o.action&&o.info.data.is_master),e.xp6(6),e.Q6J("ngIf",o.multisiteZonegroupForm.showError("zonegroup_endpoints",c,"required")),e.xp6(1),e.Q6J("ngIf",o.multisiteZonegroupForm.showError("zonegroup_endpoints",c,"endpoint")),e.xp6(1),e.Q6J("ngIf","edit"===o.action),e.xp6(1),e.Q6J("ngIf","edit"===o.action),e.xp6(2),e.Q6J("form",o.multisiteZonegroupForm)("submitText",e.lcZ(48,22,o.action)+" Zone Group")}},dependencies:[g.mk,g.sg,g.O5,fe.S,Gn.m,Ie.z,we.p,Oe.o,Ae.b,We.P,C.V,r._Y,r.YN,r.Kr,r.Fj,r.Wl,r.EJ,r.JJ,r.JL,r.sg,r.u,r.CE,x._L,g.rS,Ca.f]}),n})();var ka=d(61717),Ba=d(36848),za=d(7273);const qa=["tree"];function Ha(n,i){if(1&n){const t=e.EpF();e.TgZ(0,"cd-alert-panel",17),e.tHW(1,18),e.TgZ(2,"button",19),e.NdJ("click",function(){e.CHM(t);const c=e.oxw();return e.KtG(c.enableRgwModule())}),e.qZA(),e.N_p(),e.qZA()}}function Xa(n,i){1&n&&(e.TgZ(0,"cd-alert-panel",20),e.tHW(1,21),e._UZ(2,"a",22),e.N_p(),e.qZA())}function Ka(n,i){if(1&n&&(e.TgZ(0,"span"),e._UZ(1,"cd-table-actions",23),e.qZA()),2&n){const t=e.oxw();e.xp6(1),e.Q6J("permission",t.permission)("btnColor","light")("selection",t.selection)("tableActions",t.migrateTableAction)}}const Qa=function(n,i,t){return[n,i,t]};function Ya(n,i){if(1&n&&e._UZ(0,"i",24),2&n){const t=e.oxw();e.Q6J("ngClass",e.kEZ(1,Qa,t.icons.large,t.icons.spinner,t.icons.spin))}}function Ja(n,i){if(1&n&&(e.TgZ(0,"span"),e._UZ(1,"i",30),e.qZA()),2&n){const t=e.oxw(2).$implicit,o=e.oxw();e.xp6(1),e.Q6J("title",t.data.warning_message)("ngClass",o.icons.danger)}}function Va(n,i){if(1&n&&(e.TgZ(0,"span",29),e.YNc(1,Ja,2,2,"span",5),e._UZ(2,"i",24),e._uU(3),e.qZA()),2&n){const t=e.oxw().$implicit;e.xp6(1),e.Q6J("ngIf",t.data.show_warning),e.xp6(1),e.Q6J("ngClass",t.data.icon),e.xp6(1),e.hij(" ",t.data.name," ")}}function ja(n,i){1&n&&(e.TgZ(0,"span",31),e._uU(1," default "),e.qZA())}function el(n,i){1&n&&(e.TgZ(0,"span",32),e._uU(1," master "),e.qZA())}function tl(n,i){1&n&&(e.TgZ(0,"span",32),e._uU(1," secondary-zone "),e.qZA())}const yn=function(n){return[n]};function nl(n,i){if(1&n){const t=e.EpF();e.TgZ(0,"div",33)(1,"div",34)(2,"button",35),e.NdJ("click",function(){e.CHM(t);const c=e.oxw().$implicit,O=e.oxw();return e.KtG(O.openModal(c,!0))}),e._UZ(3,"i",24),e.qZA()(),e.TgZ(4,"div",34)(5,"button",36),e.NdJ("click",function(){e.CHM(t);const c=e.oxw().$implicit,O=e.oxw();return e.KtG(O.delete(c))}),e._UZ(6,"i",24),e.qZA()()()}if(2&n){const t=e.oxw().$implicit,o=e.oxw();e.xp6(1),e.Q6J("title",o.editTitle),e.xp6(1),e.Q6J("disabled",o.getDisable()||t.data.secondary_zone),e.xp6(1),e.Q6J("ngClass",e.VKq(6,yn,o.icons.edit)),e.xp6(1),e.Q6J("title",o.deleteTitle),e.xp6(1),e.Q6J("disabled",o.isDeleteDisabled(t)||t.data.secondary_zone),e.xp6(1),e.Q6J("ngClass",e.VKq(8,yn,o.icons.destroy))}}function ol(n,i){if(1&n&&(e.YNc(0,Va,4,3,"span",25),e.YNc(1,ja,2,0,"span",26),e.YNc(2,el,2,0,"span",27),e.YNc(3,tl,2,0,"span",27),e.YNc(4,nl,7,10,"div",28)),2&n){const t=i.$implicit;e.Q6J("ngIf",t.data.name),e.xp6(1),e.Q6J("ngIf",t.data.is_default),e.xp6(1),e.Q6J("ngIf",t.data.is_master),e.xp6(1),e.Q6J("ngIf",t.data.secondary_zone),e.xp6(1),e.Q6J("ngIf",t.isFocused)}}function il(n,i){if(1&n&&(e.TgZ(0,"div",37)(1,"legend"),e._uU(2),e.qZA(),e.TgZ(3,"div"),e._UZ(4,"cd-table-key-value",38),e.qZA()()),2&n){const t=e.oxw();e.xp6(2),e.Oqu(t.metadataTitle),e.xp6(2),e.Q6J("data",t.metadata)}}class rt{constructor(i,t,o,c,O,H,Q,J,j,oe,Te,Me){this.modalService=i,this.timerService=t,this.authStorageService=o,this.actionLabels=c,this.timerServiceVariable=O,this.router=H,this.rgwRealmService=Q,this.rgwZonegroupService=J,this.rgwZoneService=j,this.rgwDaemonService=oe,this.mgrModuleService=Te,this.notificationService=Me,this.sub=new An.w,this.messages={noDefaultRealm:"Please create a default realm first to enable this feature",noMasterZone:"Please create a master zone for each zone group to enable this feature",noRealmExists:"No realm exists",disableExport:"Please create master zone group and master zone for each of the realms"},this.icons=$.P,this.selection=new Vt.r,this.loadingIndicator=!0,this.nodes=[],this.treeOptions={useVirtualScroll:!0,nodeHeight:22,levelPadding:20,actionMapping:{mouse:{click:this.onNodeSelected.bind(this)}}},this.realms=[],this.zonegroups=[],this.zones=[],this.realmIds=[],this.zoneIds=[],this.defaultRealmId="",this.defaultZonegroupId="",this.defaultZoneId="",this.multisiteInfo=[],this.defaultsInfo=[],this.showMigrateAction=!1,this.editTitle="Edit",this.deleteTitle="Delete",this.disableExport=!0,this.restartGatewayMessage=!1,this.rgwModuleData=[],this.permission=this.authStorageService.getPermissions().rgw}openModal(i,t=!1){const o=t?i.data.type:i;this.bsModalRef=this.modalService.show("realm"===o?ta:"zonegroup"===o?Za:Sa,{resource:o,action:t?"edit":"create",info:i,defaultsInfo:this.defaultsInfo,multisiteInfo:this.multisiteInfo},{size:"lg"})}openMigrateModal(){this.bsModalRef=this.modalService.show(os,{multisiteInfo:this.multisiteInfo},{size:"lg"})}openImportModal(){this.bsModalRef=this.modalService.show(Ks,{multisiteInfo:this.multisiteInfo},{size:"lg"})}openExportModal(){this.bsModalRef=this.modalService.show(Fs,{defaultsInfo:this.defaultsInfo,multisiteInfo:this.multisiteInfo},{size:"lg"})}getDisableExport(){return this.realms.forEach(i=>{this.zonegroups.forEach(t=>{i.id===t.realm_id&&t.is_master&&""!==t.master_zone&&(this.disableExport=!1)})}),!this.rgwModuleStatus||(this.realms.length<1?this.messages.noRealmExists:!!this.disableExport&&this.messages.disableExport)}getDisableImport(){return!this.rgwModuleStatus}ngOnInit(){const c={permission:"read",icon:$.P.exchange,name:this.actionLabels.MIGRATE,click:()=>this.openMigrateModal()},O={permission:"read",icon:$.P.download,name:this.actionLabels.IMPORT,click:()=>this.openImportModal(),disable:()=>this.getDisableImport()},H={permission:"read",icon:$.P.upload,name:this.actionLabels.EXPORT,click:()=>this.openExportModal(),disable:()=>this.getDisableExport()};this.createTableActions=[{permission:"create",icon:$.P.add,name:this.actionLabels.CREATE+" Realm",click:()=>this.openModal("realm")},{permission:"create",icon:$.P.add,name:this.actionLabels.CREATE+" Zone Group",click:()=>this.openModal("zonegroup"),disable:()=>this.getDisable()},{permission:"create",icon:$.P.add,name:this.actionLabels.CREATE+" Zone",click:()=>this.openModal("zone")}],this.migrateTableAction=[c],this.importAction=[O],this.exportAction=[H];const Q=[this.rgwRealmService.getAllRealmsInfo(),this.rgwZonegroupService.getAllZonegroupsInfo(),this.rgwZoneService.getAllZonesInfo()];this.sub=this.timerService.get(()=>(0,k.D)(Q),2*this.timerServiceVariable.TIMER_SERVICE_PERIOD).subscribe(J=>{this.multisiteInfo=J,this.loadingIndicator=!1,this.nodes=this.abstractTreeData(J)},J=>{}),this.mgrModuleService.list().subscribe(J=>{this.rgwModuleData=J.filter(j=>"rgw"===j.name),this.rgwModuleData.length>0&&(this.rgwModuleStatus=this.rgwModuleData[0].enabled)})}ngOnDestroy(){this.sub.unsubscribe()}abstractTreeData(i){let t=[],o={},c={},O=[],H={},Q=[];if(this.realms=i[0].realms,this.zonegroups=i[1].zonegroups,this.zones=i[2].zones,this.defaultRealmId=i[0].default_realm,this.defaultZonegroupId=i[1].default_zonegroup,this.defaultZoneId=i[2].default_zone,this.defaultsInfo=this.getDefaultsEntities(this.defaultRealmId,this.defaultZonegroupId,this.defaultZoneId),this.realms.length>0)for(const J of this.realms){const j=this.rgwRealmService.getRealmTree(J,this.defaultRealmId);o=j.nodes,this.realmIds=this.realmIds.concat(j.realmIds);for(const oe of this.zonegroups)if(oe.realm_id===J.id){c=this.rgwZonegroupService.getZonegroupTree(oe,this.defaultZonegroupId,J);for(const Te of oe.zones){const Me=this.rgwZoneService.getZoneTree(Te,this.defaultZoneId,this.zones,oe,J);H=Me.nodes,this.zoneIds=this.zoneIds.concat(Me.zoneIds),Q.push(H),H={}}c.children=Q,Q=[],O.push(c),c={}}o.children=O,t.push(o),c={},H={},o={},O=[],Q=[]}if(this.zonegroups.length>0)for(const J of this.zonegroups)if(!this.realmIds.includes(J.realm_id)){o=this.rgwZonegroupService.getZonegroupTree(J,this.defaultZonegroupId);for(const j of J.zones){const oe=this.rgwZoneService.getZoneTree(j,this.defaultZoneId,this.zones,J);c=oe.nodes,this.zoneIds=this.zoneIds.concat(oe.zoneIds),O.push(c),c={}}o.children=O,t.push(o),c={},o={},O=[]}if(this.zones.length>0)for(const J of this.zones)this.zoneIds.length>0&&!this.zoneIds.includes(J.id)&&(o=this.rgwZoneService.getZoneTree(J,this.defaultZoneId,this.zones).nodes,t.push(o),o={});return this.realms.length<1&&this.zonegroups.length<1&&this.zones.length<1?[{name:"No nodes!"}]:(this.realmIds=[],this.zoneIds=[],this.getDisableMigrate(),this.rgwDaemonService.list().subscribe(J=>{const j=J.map(oe=>oe.realm_name);""!=this.defaultRealmId&&""!=this.defaultZonegroupId&&""!=this.defaultZoneId&&j.includes("")&&(this.restartGatewayMessage=!0)}),t)}getDefaultsEntities(i,t,o){const c=this.realms.find(oe=>oe.id===i),O=this.zonegroups.find(oe=>oe.id===t),H=this.zones.find(oe=>oe.id===o);return{defaultRealmName:void 0!==c?c.name:null,defaultZonegroupName:void 0!==O?O.name:null,defaultZoneName:void 0!==H?H.name:null}}onNodeSelected(i,t){sn.iM.ACTIVATE(i,t,!0),this.metadataTitle=t.data.name,this.metadata=t.data.info,t.data.show=!0}onUpdateData(){this.tree.treeModel.expandAll()}getDisable(){let i=!0;return""===this.defaultRealmId?this.messages.noDefaultRealm:(this.zonegroups.forEach(t=>{v().isEmpty(t.master_zone)&&(i=!1)}),i?(this.editTitle="Edit",!1):(this.editTitle="Please create a master zone for each existing zonegroup to enable this feature",this.messages.noMasterZone))}getDisableMigrate(){return this.showMigrateAction=0===this.realms.length&&1===this.zonegroups.length&&"default"===this.zonegroups[0].name&&1===this.zones.length&&"default"===this.zones[0].name,this.showMigrateAction}isDeleteDisabled(i){let t=!1,o=0;if("realm"===i.data.type&&i.data.is_default&&this.realms.length<2&&(t=!0),"zonegroup"===i.data.type)if(this.zonegroups.length<2)this.deleteTitle="You can not delete the only zonegroup available",t=!0;else if(i.data.is_default)this.deleteTitle="You can not delete the default zonegroup",t=!0;else if(i.data.is_master){for(let c of this.zonegroups)if(!0===c.is_master&&(o++,o>1))break;o<2&&(this.deleteTitle="You can not delete the only master zonegroup available",t=!0)}return"zone"===i.data.type&&(this.zones.length<2?(this.deleteTitle="You can not delete the only zone available",t=!0):i.data.is_default?(this.deleteTitle="You can not delete the default zone",t=!0):i.data.is_master&&i.data.zone_zonegroup.zones.length<2&&(this.deleteTitle="You can not delete the master zone as there are no more zones in this zonegroup",t=!0)),t||(this.deleteTitle="Delete"),t}delete(i){"realm"===i.data.type?this.modalRef=this.modalService.show(tn.M,{itemDescription:"" + i.data.type + " " + i.data.name + "",itemNames:[`${i.data.name}`],submitAction:()=>{this.rgwRealmService.delete(i.data.name).subscribe(()=>{this.modalRef.close(),this.notificationService.show(M.k.success,"Realm: '" + i.data.name + "' deleted successfully")},()=>{this.modalRef.componentInstance.stopLoadingSpinner()})}}):"zonegroup"===i.data.type?this.modalRef=this.modalService.show(Ts,{zonegroup:i.data}):"zone"===i.data.type&&(this.modalRef=this.modalService.show(ss,{zone:i.data}))}enableRgwModule(){let i;const t=()=>{(0,Hr.H)(2e3).subscribe(()=>{this.mgrModuleService.list().subscribe(()=>{this.notificationService.suspendToasties(!1),this.blockUI.stop(),this.notificationService.show(M.k.success,"Enabled RGW Module"),this.router.navigateByUrl("/",{skipLocationChange:!0}).then(()=>{this.router.navigate(["/rgw/multisite"])})},()=>{t()})})};this.rgwModuleStatus||(i=this.mgrModuleService.enable("rgw")),i.subscribe(()=>{},()=>{this.notificationService.suspendToasties(!0),this.blockUI.start("Reconnecting, please wait ..."),t()})}}rt.\u0275fac=function(i){return new(i||rt)(e.Y36(Qe.Z),e.Y36(Ba.f),e.Y36(nt.j),e.Y36(l.p4),e.Y36(l.eu),e.Y36(A.F0),e.Y36(ot.y),e.Y36(_t.K),e.Y36(it.g),e.Y36(u.b),e.Y36(za.N),e.Y36(V.g))},rt.\u0275cmp=e.Xpm({type:rt,selectors:[["cd-rgw-multisite-details"]],viewQuery:function(i,t){if(1&i&&e.Gf(qa,5),2&i){let o;e.iGM(o=e.CRH())&&(t.tree=o.first)}},decls:21,vars:18,consts:function(){let n,i,t;return n="Topology Viewer",i="In order to access the import/export feature, the rgw module must be enabled " + "\ufffd#2\ufffd" + "Enable" + "\ufffd/#2\ufffd" + "",t="Please restart all Ceph Object Gateway instances in all zones to ensure consistent multisite configuration updates. " + "\ufffd#2\ufffd" + " Cluster->Services" + "\ufffd/#2\ufffd" + "",[[1,"row"],[1,"col-sm-12","col-lg-12"],["type","info","spacingClass","mb-3","class","d-flex align-items-center",4,"ngIf"],["type","warning","spacingClass","mb-3",4,"ngIf"],[1,"btn-group","mb-4","me-2",3,"permission","selection","tableActions"],[4,"ngIf"],[1,"btn-group","mb-4","me-2",3,"permission","btnColor","selection","tableActions"],[1,"card"],[1,"card-header"],n,[1,"card-body"],[1,"col-sm-6","col-lg-6","tree-container"],[3,"ngClass",4,"ngIf"],[3,"nodes","options","updateData"],["tree",""],["treeNodeTemplate",""],["class","col-sm-6 col-lg-6 metadata",4,"ngIf"],["type","info","spacingClass","mb-3",1,"d-flex","align-items-center"],i,["type","button",1,"btn","btn-light","mx-2",3,"click"],["type","warning","spacingClass","mb-3"],t,["routerLink","/services",1,"text-decoration-underline"],[1,"btn-group","mb-4","me-2","secondary",3,"permission","btnColor","selection","tableActions"],[3,"ngClass"],["class","me-3",4,"ngIf"],["class","badge badge-success me-2",4,"ngIf"],["class","badge badge-warning me-2",4,"ngIf"],["class","btn-group align-inline-btns","role","group",4,"ngIf"],[1,"me-3"],[1,"text-danger",3,"title","ngClass"],[1,"badge","badge-success","me-2"],[1,"badge","badge-warning","me-2"],["role","group",1,"btn-group","align-inline-btns"],[3,"title"],["type","button",1,"btn","btn-light","dropdown-toggle-split","ms-1",3,"disabled","click"],["type","button",1,"btn","btn-light","ms-1",3,"disabled","click"],[1,"col-sm-6","col-lg-6","metadata"],["cdTableDetail","",3,"data"]]},template:function(i,t){1&i&&(e.TgZ(0,"div",0)(1,"div",1)(2,"div"),e.YNc(3,Ha,3,0,"cd-alert-panel",2),e.YNc(4,Xa,3,0,"cd-alert-panel",3),e._UZ(5,"cd-table-actions",4),e.YNc(6,Ka,2,4,"span",5),e._UZ(7,"cd-table-actions",6)(8,"cd-table-actions",6),e.qZA(),e.TgZ(9,"div",7)(10,"div",8),e.SDv(11,9),e.qZA(),e.TgZ(12,"div",10)(13,"div",0)(14,"div",11),e.YNc(15,Ya,1,5,"i",12),e.TgZ(16,"tree-root",13,14),e.NdJ("updateData",function(){return t.onUpdateData()}),e.YNc(18,ol,5,5,"ng-template",null,15,e.W1O),e.qZA()(),e.YNc(20,il,5,2,"div",16),e.qZA()()()()()),2&i&&(e.xp6(3),e.Q6J("ngIf",!t.rgwModuleStatus),e.xp6(1),e.Q6J("ngIf",t.restartGatewayMessage),e.xp6(1),e.Q6J("permission",t.permission)("selection",t.selection)("tableActions",t.createTableActions),e.xp6(1),e.Q6J("ngIf",t.showMigrateAction),e.xp6(1),e.Q6J("permission",t.permission)("btnColor","light")("selection",t.selection)("tableActions",t.importAction),e.xp6(1),e.Q6J("permission",t.permission)("btnColor","light")("selection",t.selection)("tableActions",t.exportAction),e.xp6(7),e.Q6J("ngIf",t.loadingIndicator),e.xp6(1),e.Q6J("nodes",t.nodes)("options",t.treeOptions),e.xp6(4),e.Q6J("ngIf",t.metadata))},dependencies:[g.mk,g.O5,Ve.G,Rn.b,on.K,Oe.o,A.rH,sn.qr],styles:[".tree-container[_ngcontent-%COMP%]{height:calc(100vh - 200px)}.align-inline-btns[_ngcontent-%COMP%]{margin-left:5em}.btn[_ngcontent-%COMP%]:disabled{pointer-events:none}"]}),(0,G.gn)([(0,ka.bH)(),(0,G.w6)("design:type",Object)],rt.prototype,"blockUI",void 0);var _l=d(40267),rl=d(7357),sl=d(11656),al=d(4167),ll=d(43190),cl=d(68307),ul=d(47349),dl=d(79241),fl=d(98677),pl=d(30490),gl=d(9219),Tl=d(17401),El=d(9024),Rl=d(54740);const ct=function(n,i){return[n,i]};let ml=(()=>{class n{constructor(){this.icons=$.P}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-rgw-sync-primary-zone"]],inputs:{realm:"realm",zonegroup:"zonegroup",zone:"zone"},decls:17,vars:23,consts:[[1,"pb-5"],[1,"pt-2",3,"ngClass"],[1,"badge","badge-info","mt-2"],[1,"mt-2",3,"ngClass"]],template:function(t,o){1&t&&(e.TgZ(0,"ul",0)(1,"li"),e._UZ(2,"i",1),e.qZA(),e.TgZ(3,"li",2),e._uU(4),e.qZA(),e.TgZ(5,"li"),e._UZ(6,"i",3),e.qZA(),e.TgZ(7,"li"),e._UZ(8,"i",3),e.qZA(),e.TgZ(9,"p",2),e._uU(10),e.qZA(),e.TgZ(11,"li"),e._UZ(12,"i",3),e.qZA(),e.TgZ(13,"li"),e._UZ(14,"i",3),e.qZA(),e.TgZ(15,"li",2),e._uU(16),e.qZA()()),2&t&&(e.xp6(2),e.Q6J("ngClass",e.WLB(8,ct,o.icons.large2x,o.icons.reweight)),e.xp6(2),e.Oqu(o.realm),e.xp6(2),e.Q6J("ngClass",e.WLB(11,ct,o.icons.large2x,o.icons.down)),e.xp6(2),e.Q6J("ngClass",e.WLB(14,ct,o.icons.large2x,o.icons.cubes)),e.xp6(2),e.Oqu(o.zonegroup),e.xp6(2),e.Q6J("ngClass",e.WLB(17,ct,o.icons.large2x,o.icons.down)),e.xp6(2),e.Q6J("ngClass",e.WLB(20,ct,o.icons.large2x,o.icons.deploy)),e.xp6(2),e.Oqu(o.zone))},dependencies:[g.mk],styles:["ul[_ngcontent-%COMP%]{align-items:center;display:flex;flex-direction:column;list-style-type:none}.align-primary-zone[_ngcontent-%COMP%]{padding-left:4em}"]}),n})();var Ln=d(90068);function hl(n,i){1&n&&(e.TgZ(0,"span")(1,"ul",1)(2,"li")(3,"b"),e._uU(4,"Status:"),e.qZA()(),e.TgZ(5,"li"),e._uU(6,"No Sync"),e.qZA()()())}function Ml(n,i){if(1&n&&(e.TgZ(0,"span")(1,"b"),e._uU(2),e.ALo(3,"titlecase"),e.qZA(),e._uU(4),e.ALo(5,"titlecase"),e.qZA()),2&n){const t=e.oxw(2).$implicit;e.xp6(2),e.Oqu(e.lcZ(3,2,t.split(":")[0])),e.xp6(2),e.hij(":",e.lcZ(5,4,t.split(":")[1])," ")}}function Sl(n,i){if(1&n&&(e.TgZ(0,"span")(1,"b"),e._uU(2),e.ALo(3,"titlecase"),e.qZA()()),2&n){const t=e.oxw(2).$implicit;e.xp6(2),e.Oqu(e.lcZ(3,1,t))}}function Cl(n,i){if(1&n&&(e.TgZ(0,"span"),e.YNc(1,Ml,6,6,"span",0),e.YNc(2,Sl,4,3,"span",0),e.qZA()),2&n){const t=e.oxw().$implicit;e.xp6(1),e.Q6J("ngIf",null==t?null:t.includes(":")),e.xp6(1),e.Q6J("ngIf",!(null!=t&&t.includes(":")))}}function Fl(n,i){if(1&n&&(e.TgZ(0,"span"),e._uU(1),e.ALo(2,"titlecase"),e.qZA()),2&n){const t=e.oxw().$implicit;e.xp6(1),e.hij(" ",e.lcZ(2,1,t)," ")}}function Ol(n,i){if(1&n&&(e.TgZ(0,"li"),e.YNc(1,Cl,3,2,"span",0),e.YNc(2,Fl,3,3,"span",0),e.qZA()),2&n){const t=i.$implicit,o=e.oxw(3);e.xp6(1),e.Q6J("ngIf",!(null!=t&&t.includes(o.metadataSyncInfo.syncstatus)||null!=t&&t.includes("failed")||null!=t&&t.includes("error"))),e.xp6(1),e.Q6J("ngIf",(null==t?null:t.includes("failed"))||(null==t?null:t.includes("error")))}}function Nl(n,i){if(1&n&&(e.TgZ(0,"ul",8)(1,"li")(2,"h5")(3,"b"),e._uU(4,"Metadata Sync Status:"),e.qZA()()(),e.YNc(5,Ol,3,2,"li",9),e.qZA()),2&n){const t=e.oxw(2);e.xp6(5),e.Q6J("ngForOf",t.metadataSyncInfo.fullSyncStatus)}}function Pl(n,i){1&n&&(e.TgZ(0,"li",10),e._uU(1,"Up to Date"),e.qZA())}function Al(n,i){if(1&n&&(e.TgZ(0,"a",12),e.SDv(1,13),e.ALo(2,"titlecase"),e.qZA()),2&n){e.oxw(2);const t=e.MAs(2),o=e.oxw();e.Q6J("ngbPopover",t),e.xp6(2),e.pQV(e.lcZ(2,2,o.metadataSyncInfo.syncstatus)),e.QtT(1)}}function bl(n,i){if(1&n&&(e.TgZ(0,"a",12),e.SDv(1,14),e.qZA()),2&n){e.oxw(2);const t=e.MAs(2);e.Q6J("ngbPopover",t)}}function Il(n,i){if(1&n&&(e.YNc(0,Al,3,4,"a",11),e.YNc(1,bl,2,1,"a",11)),2&n){const t=e.oxw(2);e.Q6J("ngIf","Not Syncing From Zone"!==t.metadataSyncInfo.syncstatus),e.xp6(1),e.Q6J("ngIf","Not Syncing From Zone"===t.metadataSyncInfo.syncstatus)}}const Gl=function(n){return[n]};function yl(n,i){if(1&n&&(e.TgZ(0,"li"),e._UZ(1,"i",15),e.TgZ(2,"a",16),e.SDv(3,17),e.qZA()()),2&n){e.oxw();const t=e.MAs(2),o=e.oxw();e.xp6(1),e.Q6J("ngClass",e.VKq(2,Gl,o.icons.danger)),e.xp6(1),e.Q6J("ngbPopover",t)}}function Ll(n,i){if(1&n&&(e.TgZ(0,"li",18),e._uU(1),e.ALo(2,"relativeDate"),e.qZA()),2&n){const t=e.oxw(2);e.xp6(1),e.Oqu(e.lcZ(2,1,t.metadataSyncInfo.timestamp))}}function Dl(n,i){if(1&n&&(e.TgZ(0,"span"),e.YNc(1,Nl,6,1,"ng-template",null,2,e.W1O),e.TgZ(3,"ul",1),e.YNc(4,Pl,2,0,"ng-template",null,3,e.W1O),e.YNc(6,Il,2,2,"ng-template",null,4,e.W1O),e.TgZ(8,"li")(9,"b"),e._uU(10,"Status:"),e.qZA()(),e.YNc(11,yl,4,4,"li",5),e.TgZ(12,"li",6),e._uU(13," Last Synced: "),e.qZA(),e.YNc(14,Ll,3,3,"li",7),e.qZA()()),2&n){const t=e.MAs(5),o=e.MAs(7),c=e.oxw();e.xp6(11),e.Q6J("ngIf",(null==c.metadataSyncInfo.syncstatus?null:c.metadataSyncInfo.syncstatus.includes("failed"))||(null==c.metadataSyncInfo.syncstatus?null:c.metadataSyncInfo.syncstatus.includes("error")))("ngIfElse",o),e.xp6(3),e.Q6J("ngIf",c.metadataSyncInfo.timestamp)("ngIfElse",t)}}let vl=(()=>{class n{constructor(){this.icons=$.P,this.metadataSyncInfo={}}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-rgw-sync-metadata-info"]],inputs:{metadataSyncInfo:"metadataSyncInfo"},decls:2,vars:2,consts:function(){let i,t,o;return i="" + "\ufffd0\ufffd" + "",t="Not Syncing",o="Error",[[4,"ngIf"],[1,"me-2"],["metadataSyncPopover",""],["upToDateTpl",""],["showMetadataStatus",""],[4,"ngIf","ngIfElse"],[1,"mt-4","fw-bold"],["class","badge badge-info",4,"ngIf","ngIfElse"],[1,"text-center"],[4,"ngFor","ngForOf"],[1,"badge","badge-success"],["class","lead text-primary","placement","top","popoverClass","rgw-overview-card-popover",3,"ngbPopover",4,"ngIf"],["placement","top","popoverClass","rgw-overview-card-popover",1,"lead","text-primary",3,"ngbPopover"],i,t,[1,"text-danger",3,"ngClass"],["placement","top","popoverClass","rgw-overview-card-popover",1,"lead","text-danger",3,"ngbPopover"],o,[1,"badge","badge-info"]]},template:function(t,o){1&t&&(e.YNc(0,hl,7,0,"span",0),e.YNc(1,Dl,15,4,"span",0)),2&t&&(e.Q6J("ngIf","no sync (zone is master)"===o.metadataSyncInfo),e.xp6(1),e.Q6J("ngIf","no sync (zone is master)"!==o.metadataSyncInfo))},dependencies:[g.mk,g.sg,g.O5,x.o8,g.rS,Ln.h],styles:["ul[_ngcontent-%COMP%]{align-items:center;display:flex;flex-direction:column;list-style-type:none}"]}),n})();function wl(n,i){if(1&n&&(e.TgZ(0,"span")(1,"b"),e._uU(2),e.ALo(3,"titlecase"),e.qZA(),e._uU(4),e.ALo(5,"titlecase"),e.qZA()),2&n){const t=e.oxw(2).$implicit;e.xp6(2),e.Oqu(e.lcZ(3,2,t.split(": ")[0])),e.xp6(2),e.hij(":",e.lcZ(5,4,t.split(": ")[1])," ")}}function Wl(n,i){if(1&n&&(e.TgZ(0,"span")(1,"b"),e._uU(2),e.ALo(3,"titlecase"),e.qZA()()),2&n){const t=e.oxw(2).$implicit;e.xp6(2),e.Oqu(e.lcZ(3,1,t))}}function Ul(n,i){if(1&n&&(e.TgZ(0,"span"),e.YNc(1,wl,6,6,"span",9),e.YNc(2,Wl,4,3,"span",9),e.qZA()),2&n){const t=e.oxw().$implicit;e.xp6(1),e.Q6J("ngIf",null==t?null:t.includes(":")),e.xp6(1),e.Q6J("ngIf",!(null!=t&&t.includes(":")))}}function $l(n,i){if(1&n&&(e.TgZ(0,"span"),e._uU(1),e.ALo(2,"titlecase"),e.qZA()),2&n){const t=e.oxw().$implicit;e.xp6(1),e.hij(" ",e.lcZ(2,1,t)," ")}}function xl(n,i){if(1&n&&(e.TgZ(0,"li"),e.YNc(1,Ul,3,2,"span",9),e.YNc(2,$l,3,3,"span",9),e.qZA()),2&n){const t=i.$implicit,o=e.oxw(2);e.xp6(1),e.Q6J("ngIf",!(null!=t&&t.includes(o.zone.name)||null!=t&&t.includes(o.zone.syncstatus)||null!=t&&t.includes("failed")||null!=t&&t.includes("error"))),e.xp6(1),e.Q6J("ngIf",(null==t?null:t.includes("failed"))||(null==t?null:t.includes("error")))}}function Zl(n,i){if(1&n&&(e.TgZ(0,"ul",7)(1,"li")(2,"h5")(3,"b"),e._uU(4,"Sync Status:"),e.qZA()()(),e.YNc(5,xl,3,2,"li",8),e.qZA()),2&n){const t=e.oxw();e.xp6(5),e.Q6J("ngForOf",t.zone.fullSyncStatus)}}function kl(n,i){1&n&&(e.TgZ(0,"li",10),e._uU(1,"Up to Date"),e.qZA())}function Bl(n,i){if(1&n&&(e.TgZ(0,"a",12),e.SDv(1,13),e.ALo(2,"titlecase"),e.qZA()),2&n){const t=e.oxw(2),o=e.MAs(1);e.Q6J("ngbPopover",o),e.xp6(2),e.pQV(e.lcZ(2,2,t.zone.syncstatus)),e.QtT(1)}}function zl(n,i){if(1&n&&(e.TgZ(0,"a",12),e.SDv(1,14),e.qZA()),2&n){e.oxw(2);const t=e.MAs(1);e.Q6J("ngbPopover",t)}}function ql(n,i){if(1&n&&(e.YNc(0,Bl,3,4,"a",11),e.YNc(1,zl,2,1,"a",11)),2&n){const t=e.oxw();e.Q6J("ngIf","Not Syncing From Zone"!==t.zone.syncstatus),e.xp6(1),e.Q6J("ngIf","Not Syncing From Zone"===t.zone.syncstatus)}}const Hl=function(n){return[n]};function Xl(n,i){if(1&n&&(e.TgZ(0,"li"),e._UZ(1,"i",15),e.TgZ(2,"a",16),e.SDv(3,17),e.qZA()()),2&n){const t=e.oxw(),o=e.MAs(1);e.xp6(1),e.Q6J("ngClass",e.VKq(2,Hl,t.icons.danger)),e.xp6(1),e.Q6J("ngbPopover",o)}}function Kl(n,i){if(1&n&&(e.TgZ(0,"li",18),e._uU(1),e.ALo(2,"relativeDate"),e.qZA()),2&n){const t=e.oxw();e.xp6(1),e.Oqu(e.lcZ(2,1,t.zone.timestamp))}}let Ql=(()=>{class n{constructor(){this.icons=$.P,this.zone={}}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-rgw-sync-data-info"]],inputs:{zone:"zone"},decls:14,vars:4,consts:function(){let i,t,o;return i="" + "\ufffd0\ufffd" + "",t="Not Syncing",o="Error",[["syncPopover",""],[1,"me-2"],["upToDateTpl",""],["showStatus",""],[4,"ngIf","ngIfElse"],[1,"mt-4","fw-bold"],["class","badge badge-info",4,"ngIf","ngIfElse"],[1,"text-center"],[4,"ngFor","ngForOf"],[4,"ngIf"],[1,"badge","badge-success"],["class","lead text-primary","placement","top","popoverClass","rgw-overview-card-popover",3,"ngbPopover",4,"ngIf"],["placement","top","popoverClass","rgw-overview-card-popover",1,"lead","text-primary",3,"ngbPopover"],i,t,[1,"text-danger",3,"ngClass"],["placement","top","popoverClass","rgw-overview-card-popover",1,"lead","text-danger",3,"ngbPopover"],o,[1,"badge","badge-info"]]},template:function(t,o){if(1&t&&(e.YNc(0,Zl,6,1,"ng-template",null,0,e.W1O),e.TgZ(2,"ul",1),e.YNc(3,kl,2,0,"ng-template",null,2,e.W1O),e.YNc(5,ql,2,2,"ng-template",null,3,e.W1O),e.TgZ(7,"li")(8,"b"),e._uU(9,"Status:"),e.qZA()(),e.YNc(10,Xl,4,4,"li",4),e.TgZ(11,"li",5),e._uU(12," Last Synced: "),e.qZA(),e.YNc(13,Kl,3,3,"li",6),e.qZA()),2&t){const c=e.MAs(4),O=e.MAs(6);e.xp6(10),e.Q6J("ngIf",(null==o.zone.syncstatus?null:o.zone.syncstatus.includes("failed"))||(null==o.zone.syncstatus?null:o.zone.syncstatus.includes("error")))("ngIfElse",O),e.xp6(3),e.Q6J("ngIf",o.zone.timestamp)("ngIfElse",c)}},dependencies:[g.mk,g.sg,g.O5,x.o8,g.rS,Ln.h],styles:["ul[_ngcontent-%COMP%]{align-items:center;display:flex;flex-direction:column;list-style-type:none}"]}),n})();function Yl(n,i){if(1&n&&e._UZ(0,"cd-card-row",25),2&n){const t=e.oxw();e.Q6J("data",t.rgwDaemonCount)}}function Jl(n,i){if(1&n&&e._UZ(0,"cd-card-row",26),2&n){const t=e.oxw();e.Q6J("data",t.rgwRealmCount)}}function Vl(n,i){if(1&n&&e._UZ(0,"cd-card-row",27),2&n){const t=e.oxw();e.Q6J("data",t.rgwZonegroupCount)}}function jl(n,i){if(1&n&&e._UZ(0,"cd-card-row",28),2&n){const t=e.oxw();e.Q6J("data",t.rgwZoneCount)}}function ec(n,i){if(1&n&&e._UZ(0,"cd-card-row",29),2&n){const t=e.oxw();e.Q6J("data",t.rgwBucketCount)}}function tc(n,i){if(1&n&&e._UZ(0,"cd-card-row",30),2&n){const t=e.oxw();e.Q6J("data",t.UserCount)}}function nc(n,i){if(1&n&&e._UZ(0,"cd-card-row",31),2&n){const t=e.oxw();e.Q6J("data",t.objectCount)}}function oc(n,i){1&n&&(e.TgZ(0,"span",32)(1,"cd-alert-panel",33),e.tHW(2,34),e._UZ(3,"cd-doc",35),e.N_p(),e.qZA()())}const ln=function(n,i,t){return[n,i,t]};function ic(n,i){if(1&n&&(e.TgZ(0,"span",36),e._UZ(1,"i",37),e.qZA()),2&n){const t=e.oxw();e.xp6(1),e.Q6J("ngClass",e.kEZ(1,ln,t.icons.large3x,t.icons.spinner,t.icons.spin))}}function _c(n,i){if(1&n&&(e.TgZ(0,"span",36),e._UZ(1,"i",37),e.qZA()),2&n){const t=e.oxw(3);e.xp6(1),e.Q6J("ngClass",e.kEZ(1,ln,t.icons.large3x,t.icons.spinner,t.icons.spin))}}function rc(n,i){if(1&n&&(e.TgZ(0,"span",36),e._UZ(1,"cd-rgw-sync-primary-zone",43),e.qZA()),2&n){const t=e.oxw(3);e.xp6(1),e.Q6J("realm",t.realm)("zonegroup",t.zonegroup)("zone",t.zone)}}function sc(n,i){if(1&n&&(e.TgZ(0,"span",36),e._UZ(1,"i",37),e.qZA()),2&n){const t=e.oxw(3);e.xp6(1),e.Q6J("ngClass",e.kEZ(1,ln,t.icons.large3x,t.icons.spinner,t.icons.spin))}}function ac(n,i){if(1&n&&(e.TgZ(0,"span",51),e._UZ(1,"cd-rgw-sync-metadata-info",52),e.qZA()),2&n){const t=e.oxw(6);e.xp6(1),e.Q6J("metadataSyncInfo",t.metadataSyncInfo)}}function lc(n,i){if(1&n&&(e.TgZ(0,"span",53),e._UZ(1,"cd-rgw-sync-data-info",54),e.qZA()),2&n){const t=e.oxw(2).$implicit;e.xp6(1),e.Q6J("zone",t)}}const cc=function(n){return{"border-left":n}};function uc(n,i){if(1&n&&(e.TgZ(0,"cd-card",48),e.YNc(1,ac,2,1,"span",49),e.YNc(2,lc,2,1,"span",50),e.qZA()),2&n){const t=i.$implicit;e.Q6J("cardTitle",t)("ngClass",e.VKq(6,cc,"Data Sync"===t))("alignItemsCenter",!0)("justifyContentCenter",!0),e.xp6(1),e.Q6J("ngIf","Metadata Sync"===t),e.xp6(1),e.Q6J("ngIf","Data Sync"===t)}}function dc(n,i){if(1&n&&(e.TgZ(0,"cd-card",45)(1,"div",46),e.YNc(2,uc,3,8,"cd-card",47),e.qZA()()),2&n){const t=i.$implicit,o=e.oxw(4);e.s9C("cardTitle",t.name),e.xp6(2),e.Q6J("ngForOf",o.chartTitles)}}function fc(n,i){if(1&n&&(e.TgZ(0,"div",1),e.YNc(1,dc,3,2,"cd-card",44),e.qZA()),2&n){const t=e.oxw(3);e.xp6(1),e.Q6J("ngForOf",t.replicaZonesInfo)("ngForTrackBy",t.trackByFn)}}function pc(n,i){if(1&n&&(e.TgZ(0,"div",39)(1,"cd-card",40),e.YNc(2,_c,2,5,"span",23),e.YNc(3,rc,2,3,"span",23),e.qZA(),e.TgZ(4,"div",41)(5,"cd-card",42),e.YNc(6,sc,2,5,"span",23),e.YNc(7,fc,2,2,"div",24),e.qZA()()()),2&n){const t=e.oxw(2);e.xp6(1),e.Q6J("alignItemsCenter",!0)("justifyContentCenter",!0),e.xp6(1),e.Q6J("ngIf",t.loading),e.xp6(1),e.Q6J("ngIf",!t.loading),e.xp6(3),e.Q6J("ngIf",t.loading),e.xp6(1),e.Q6J("ngIf",!t.loading)}}function gc(n,i){if(1&n&&(e.TgZ(0,"div",1),e.YNc(1,pc,8,6,"div",38),e.qZA()),2&n){const t=e.oxw(),o=e.MAs(30);e.xp6(1),e.Q6J("ngIf",t.showMultisiteCard)("ngIfElse",o)}}const Tc=function(){return["Requests/sec"]},Ec=function(n){return[n]},Dn=function(){return["GET","PUT"]},vn=function(n,i){return[n,i]};let Rc=(()=>{class n{constructor(t,o,c,O,H,Q,J,j,oe,Te){this.authStorageService=t,this.healthService=o,this.refreshIntervalService=c,this.rgwDaemonService=O,this.rgwRealmService=H,this.rgwZonegroupService=Q,this.rgwZoneService=J,this.rgwBucketService=j,this.prometheusService=oe,this.rgwMultisiteService=Te,this.icons=$.P,this.interval=new An.w,this.rgwDaemonCount=0,this.rgwRealmCount=0,this.rgwZonegroupCount=0,this.rgwZoneCount=0,this.rgwBucketCount=0,this.objectCount=0,this.UserCount=0,this.totalPoolUsedBytes=0,this.averageObjectSize=0,this.multisiteInfo=[],this.queriesResults={RGW_REQUEST_PER_SECOND:[],BANDWIDTH:[],AVG_GET_LATENCY:[],AVG_PUT_LATENCY:[]},this.chartTitles=["Metadata Sync","Data Sync"],this.replicaZonesInfo=[],this.showMultisiteCard=!0,this.loading=!0,this.subject=new rl.t,this.syncCardLoading=!0,this.permissions=this.authStorageService.getPermissions()}ngOnInit(){this.interval=this.refreshIntervalService.intervalData$.subscribe(()=>{this.daemonSub=this.rgwDaemonService.list().subscribe(t=>{this.rgwDaemonCount=t.length}),this.HealthSub=this.healthService.getClusterCapacity().subscribe(t=>{this.objectCount=t.total_objects,this.totalPoolUsedBytes=t.total_pool_bytes_used,this.averageObjectSize=t.average_object_size}),this.getSyncStatus()}),this.BucketSub=this.rgwBucketService.getTotalBucketsAndUsersLength().subscribe(t=>{this.rgwBucketCount=t.buckets_count,this.UserCount=t.users_count}),this.realmSub=this.rgwRealmService.list().subscribe(t=>{this.rgwRealmCount=t.realms.length}),this.ZonegroupSub=this.rgwZonegroupService.list().subscribe(t=>{this.rgwZonegroupCount=t.zonegroups.length}),this.ZoneSUb=this.rgwZoneService.list().subscribe(t=>{this.rgwZoneCount=t.zones.length}),this.getPrometheusData(this.prometheusService.lastHourDateObject),this.multisiteSyncStatus$=this.subject.pipe((0,ll.w)(()=>this.rgwMultisiteService.getSyncStatus().pipe((0,cl.b)(t=>{this.loading=!1,this.replicaZonesInfo=t.dataSyncInfo,this.metadataSyncInfo=t.metadataSyncInfo,0===this.replicaZonesInfo.length&&(this.showMultisiteCard=!1,this.syncCardLoading=!1,this.loading=!1),[this.realm,this.zonegroup,this.zone]=t.primaryZoneData}),(0,p.K)(t=>(this.showMultisiteCard=!1,this.syncCardLoading=!1,this.loading=!1,t.preventDefault(),(0,S.of)(!0))))),(0,ul.d)(1))}ngOnDestroy(){this.interval.unsubscribe(),this.daemonSub.unsubscribe(),this.realmSub.unsubscribe(),this.ZonegroupSub.unsubscribe(),this.ZoneSUb.unsubscribe(),this.BucketSub.unsubscribe(),this.HealthSub.unsubscribe(),this.prometheusService.unsubscribe()}getPrometheusData(t){this.queriesResults=this.prometheusService.getPrometheusQueriesData(t,al.p,this.queriesResults,!0)}getSyncStatus(){this.subject.next()}trackByFn(t){return t}}return n.\u0275fac=function(t){return new(t||n)(e.Y36(nt.j),e.Y36(dl.z),e.Y36(fl.s),e.Y36(u.b),e.Y36(ot.y),e.Y36(_t.K),e.Y36(it.g),e.Y36(L.o),e.Y36(sl.Q),e.Y36(an.o))},n.\u0275cmp=e.Xpm({type:n,selectors:[["cd-rgw-overview-dashboard"]],decls:34,vars:38,consts:function(){let i;return i=" Multi-site needs to be configured in order to see the multi-site sync status. Please consult the " + "\ufffd#3\ufffd" + "" + "\ufffd/#3\ufffd" + " on how to configure and enable the multi-site functionality. ",[[1,"container-fluid"],[1,"row"],["cardTitle","Inventory","aria-label","Inventory card",1,"col-sm-3","px-3","d-flex"],["link","/rgw/daemon","title","Gateway","summaryType","simplified",3,"data",4,"ngIf"],["link","/rgw/multisite","title","Realm","summaryType","simplified",3,"data",4,"ngIf"],["link","/rgw/multisite","title","Zone Group","summaryType","simplified",3,"data",4,"ngIf"],["link","/rgw/multisite","title","Zone","summaryType","simplified",3,"data",4,"ngIf"],["link","/rgw/bucket","title","Bucket","summaryType","simplified",3,"data",4,"ngIf"],["link","/rgw/user","title","User","summaryType","simplified",3,"data",4,"ngIf"],["title","Object","summaryType","simplified",3,"data",4,"ngIf"],["cardTitle","Performance Statistics","ria-label","Performance Statistics card",1,"col-sm-6","d-flex"],[1,"ms-4","me-4","mt-0"],[3,"selectedTime"],["chartTitle","Requests/sec","dataUnits","",3,"labelsArray","dataArray"],["chartTitle","Latency","dataUnits","ms",3,"labelsArray","dataArray"],["chartTitle","Bandwidth","dataUnits","B",3,"labelsArray","dataArray"],[1,"col-lg-3"],["cardTitle","Used Capacity","aria-label","Used Capacity",1,"col-sm-2","d-flex","w-100","h-50","pb-3",3,"alignItemsCenter","justifyContentCenter"],[1,"ms-4","me-4","text-center"],["cardTitle","Average Object Size","aria-label","Avg Object Size",1,"col-sm-2","d-flex","w-100","h-50","pt-3",3,"alignItemsCenter","justifyContentCenter"],[1,"row","pt-4","pb-4"],["cardTitle","Multi-Site Sync Status"],["notConfigured",""],["class","d-flex justify-content-center",4,"ngIf"],["class","row",4,"ngIf"],["link","/rgw/daemon","title","Gateway","summaryType","simplified",3,"data"],["link","/rgw/multisite","title","Realm","summaryType","simplified",3,"data"],["link","/rgw/multisite","title","Zone Group","summaryType","simplified",3,"data"],["link","/rgw/multisite","title","Zone","summaryType","simplified",3,"data"],["link","/rgw/bucket","title","Bucket","summaryType","simplified",3,"data"],["link","/rgw/user","title","User","summaryType","simplified",3,"data"],["title","Object","summaryType","simplified",3,"data"],[1,"pe-5","ps-5"],["type","info"],i,["section","multisite"],[1,"d-flex","justify-content-center"],[3,"ngClass"],["class","row pt-2",4,"ngIf","ngIfElse"],[1,"row","pt-2"],["cardTitle","Primary Source Zone",1,"col-lg-3","d-flex","justify-content-center","align-primary-zone",3,"alignItemsCenter","justifyContentCenter"],[1,"col-lg-9"],["cardTitle","Source Zones",1,"d-flex","h-100"],[3,"realm","zonegroup","zone"],["cardType","zone","shadowClass","true","class","col-sm-9 col-lg-6 align-replica-zones d-flex pt-4","aria-label","Source Zones Card",3,"cardTitle",4,"ngFor","ngForOf","ngForTrackBy"],["cardType","zone","shadowClass","true","aria-label","Source Zones Card",1,"col-sm-9","col-lg-6","align-replica-zones","d-flex","pt-4",3,"cardTitle"],[1,"row","pb-4","ps-3","pe-3"],["cardType","syncCards","removeBorder","true","class","col-sm-9 col-lg-6","aria-label","Charts Card",3,"cardTitle","ngClass","alignItemsCenter","justifyContentCenter",4,"ngFor","ngForOf"],["cardType","syncCards","removeBorder","true","aria-label","Charts Card",1,"col-sm-9","col-lg-6",3,"cardTitle","ngClass","alignItemsCenter","justifyContentCenter"],["class","me-2 text-center",4,"ngIf"],["class","me-2",4,"ngIf"],[1,"me-2","text-center"],[3,"metadataSyncInfo"],[1,"me-2"],[3,"zone"]]},template:function(t,o){1&t&&(e.TgZ(0,"div",0)(1,"div",1)(2,"cd-card",2),e.YNc(3,Yl,1,1,"cd-card-row",3),e.YNc(4,Jl,1,1,"cd-card-row",4),e.YNc(5,Vl,1,1,"cd-card-row",5),e.YNc(6,jl,1,1,"cd-card-row",6),e.YNc(7,ec,1,1,"cd-card-row",7),e.YNc(8,tc,1,1,"cd-card-row",8),e.YNc(9,nc,1,1,"cd-card-row",9),e.qZA(),e.TgZ(10,"cd-card",10)(11,"div",11)(12,"cd-dashboard-time-selector",12),e.NdJ("selectedTime",function(O){return o.getPrometheusData(O)}),e.qZA(),e._UZ(13,"cd-dashboard-area-chart",13)(14,"cd-dashboard-area-chart",14)(15,"cd-dashboard-area-chart",15),e.qZA()(),e.TgZ(16,"div",16)(17,"cd-card",17)(18,"span",18)(19,"h1"),e._uU(20),e.ALo(21,"dimlessBinary"),e.qZA()()(),e.TgZ(22,"cd-card",19)(23,"span",18)(24,"h1"),e._uU(25),e.ALo(26,"dimlessBinary"),e.qZA()()()()(),e.TgZ(27,"div",20)(28,"cd-card",21),e.YNc(29,oc,4,0,"ng-template",null,22,e.W1O),e.YNc(31,ic,2,5,"span",23),e.YNc(32,gc,2,2,"div",24),e.ALo(33,"async"),e.qZA()()()),2&t&&(e.xp6(3),e.Q6J("ngIf",null!=o.rgwDaemonCount),e.xp6(1),e.Q6J("ngIf",null!=o.rgwRealmCount),e.xp6(1),e.Q6J("ngIf",null!=o.rgwZonegroupCount),e.xp6(1),e.Q6J("ngIf",null!=o.rgwZoneCount),e.xp6(1),e.Q6J("ngIf",null!=o.rgwBucketCount),e.xp6(1),e.Q6J("ngIf",null!=o.UserCount),e.xp6(1),e.Q6J("ngIf",null!=o.objectCount),e.xp6(4),e.Q6J("labelsArray",e.DdM(27,Tc))("dataArray",e.VKq(28,Ec,o.queriesResults.RGW_REQUEST_PER_SECOND)),e.xp6(1),e.Q6J("labelsArray",e.DdM(30,Dn))("dataArray",e.WLB(31,vn,o.queriesResults.AVG_GET_LATENCY,o.queriesResults.AVG_PUT_LATENCY)),e.xp6(1),e.Q6J("labelsArray",e.DdM(34,Dn))("dataArray",e.WLB(35,vn,o.queriesResults.GET_BANDWIDTH,o.queriesResults.PUT_BANDWIDTH)),e.xp6(2),e.Q6J("alignItemsCenter",!0)("justifyContentCenter",!0),e.xp6(3),e.Oqu(e.lcZ(21,21,o.totalPoolUsedBytes)),e.xp6(2),e.Q6J("alignItemsCenter",!0)("justifyContentCenter",!0),e.xp6(3),e.Oqu(e.lcZ(26,23,o.averageObjectSize)),e.xp6(6),e.Q6J("ngIf",o.loading),e.xp6(1),e.Q6J("ngIf",e.lcZ(33,25,o.multisiteSyncStatus$)))},dependencies:[g.mk,g.sg,g.O5,Ve.G,pl.K,gl.A,Tl.e,El.S,Rl.M,ml,vl,Ql,g.Ov,nn.$],styles:["hr[_ngcontent-%COMP%]{margin-bottom:2px;margin-top:2px}.list-group-item[_ngcontent-%COMP%]{border:0}.align-replica-zones[_ngcontent-%COMP%]{margin-left:auto;margin-right:auto;padding-left:2em;padding-right:2em}ul[_ngcontent-%COMP%]{align-items:center;display:flex;flex-direction:column;list-style-type:none}.align-primary-zone[_ngcontent-%COMP%]{padding-left:4em}.border-left[_ngcontent-%COMP%]{border-left:1px solid rgba(0,0,0,.1254901961)}"]}),n})();var mc=d(46767);let wn=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=e.oAB({type:n}),n.\u0275inj=e.cJS({imports:[g.ez,R.m,r.u5,r.UX,y.B,x.Oz,A.Bz,x.HK,x.dT,Z.b,sn.xc,_l.t,mc.d]}),n})();const hc=[{path:"",redirectTo:"rbd",pathMatch:"full"},{path:"daemon",component:yi,data:{breadcrumbs:"Gateways"}},{path:"user",data:{breadcrumbs:"Users"},children:[{path:"",component:qr},{path:l.MQ.CREATE,component:Fn,data:{breadcrumbs:l.Qn.CREATE}},{path:`${l.MQ.EDIT}/:uid`,component:Fn,data:{breadcrumbs:l.Qn.EDIT}}]},{path:"roles",data:{breadcrumbs:"Roles",resource:"api.rgw.roles@1.0",tabs:[{name:"Users",url:"/rgw/user"},{name:"Roles",url:"/rgw/roles"}]},children:[{path:"",component:h.c},{path:l.MQ.CREATE,component:Pn.U,data:{breadcrumbs:l.Qn.CREATE}},{path:l.MQ.EDIT,component:Pn.U,data:{breadcrumbs:l.Qn.EDIT}}]},{path:"bucket",data:{breadcrumbs:"Buckets"},children:[{path:"",component:Ri},{path:l.MQ.CREATE,component:un,data:{breadcrumbs:l.Qn.CREATE}},{path:`${l.MQ.EDIT}/:bid`,component:un,data:{breadcrumbs:l.Qn.EDIT}}]},{path:"overview",data:{breadcrumbs:"Overview"},children:[{path:"",component:Rc}]},{path:"multisite",data:{breadcrumbs:"Multi-site"},children:[{path:"",component:rt}]}];let Mc=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=e.oAB({type:n}),n.\u0275inj=e.cJS({imports:[wn,A.Bz.forChild(hc)]}),n})()},1372:(K,Y,d)=>{"use strict";d.d(Y,{B:()=>h});var g=d(64537),r=d(88692),A=d(87925);const x=function(R){return{collapsed:R}},Z=function(R){return{show:R}},l=["*"];let h=(()=>{class R{constructor(){this.showAdvanced=!1}}return R.\u0275fac=function(N){return new(N||R)},R.\u0275cmp=g.Xpm({type:R,selectors:[["cd-form-advanced-fieldset"]],ngContentSelectors:l,decls:9,vars:6,consts:function(){let y;return y="Advanced ",[[1,"cd-header"],[1,"accordion","accordion-flush"],["type","button","id","advanced-fieldset","aria-label","toggle advanced mode",1,"accordion-button","cd-form-advanced-fieldset-buttton","p-0",3,"ngClass","click"],y,[1,"accordion-collapse","collapse",3,"ngClass"],[1,"accordion-body"],[1,"card-body"]]},template:function(N,v){1&N&&(g.F$t(),g.TgZ(0,"fieldset")(1,"legend",0)(2,"div",1)(3,"button",2),g.NdJ("click",function(){return v.showAdvanced=!v.showAdvanced}),g.SDv(4,3),g.qZA()()(),g.TgZ(5,"div",4)(6,"div",5)(7,"div",6),g.Hsn(8),g.qZA()()()()),2&N&&(g.xp6(3),g.Q6J("ngClass",g.VKq(2,x,!v.showAdvanced)),g.xp6(2),g.Q6J("ngClass",g.VKq(4,Z,v.showAdvanced)))},dependencies:[r.mk,A.o],styles:[".cd-form-advanced-fieldset-buttton[_ngcontent-%COMP%]{--bs-accordion-btn-active-icon: var(--bs-accordion-btn-icon);background-color:inherit;border:hidden;border-color:inherit;box-shadow:none;color:inherit;font-size:inherit;outline:0;text-decoration:none}"]}),R})()},69862:()=>{},40964:()=>{}}]); \ No newline at end of file diff --git a/src/pybind/mgr/dashboard/frontend/dist/fr/Ceph_Logo.beb815b55d2e7363.svg b/src/pybind/mgr/dashboard/frontend/dist/fr/Ceph_Logo.beb815b55d2e7363.svg new file mode 100644 index 000000000..9426c300d --- /dev/null +++ b/src/pybind/mgr/dashboard/frontend/dist/fr/Ceph_Logo.beb815b55d2e7363.svg @@ -0,0 +1,71 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/src/pybind/mgr/dashboard/frontend/dist/fr/assets/Ceph_Ceph_Logo_with_text_red_white.svg b/src/pybind/mgr/dashboard/frontend/dist/fr/assets/Ceph_Ceph_Logo_with_text_red_white.svg new file mode 100644 index 000000000..a5b0602eb --- /dev/null +++ b/src/pybind/mgr/dashboard/frontend/dist/fr/assets/Ceph_Ceph_Logo_with_text_red_white.svg @@ -0,0 +1,69 @@ + +image/svg+xml diff --git a/src/pybind/mgr/dashboard/frontend/dist/fr/assets/Ceph_Ceph_Logo_with_text_white.svg b/src/pybind/mgr/dashboard/frontend/dist/fr/assets/Ceph_Ceph_Logo_with_text_white.svg new file mode 100644 index 000000000..35bcc8c0a --- /dev/null +++ b/src/pybind/mgr/dashboard/frontend/dist/fr/assets/Ceph_Ceph_Logo_with_text_white.svg @@ -0,0 +1,69 @@ + +image/svg+xml diff --git a/src/pybind/mgr/dashboard/frontend/dist/fr/assets/Ceph_Logo.svg b/src/pybind/mgr/dashboard/frontend/dist/fr/assets/Ceph_Logo.svg new file mode 100644 index 000000000..9426c300d --- /dev/null +++ b/src/pybind/mgr/dashboard/frontend/dist/fr/assets/Ceph_Logo.svg @@ -0,0 +1,71 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/src/pybind/mgr/dashboard/frontend/dist/fr/assets/ceph_background.gif b/src/pybind/mgr/dashboard/frontend/dist/fr/assets/ceph_background.gif new file mode 100644 index 000000000..0f7426ee0 Binary files /dev/null and b/src/pybind/mgr/dashboard/frontend/dist/fr/assets/ceph_background.gif differ diff --git a/src/pybind/mgr/dashboard/frontend/dist/fr/assets/loading.gif b/src/pybind/mgr/dashboard/frontend/dist/fr/assets/loading.gif new file mode 100755 index 000000000..8fb88dea3 Binary files /dev/null and b/src/pybind/mgr/dashboard/frontend/dist/fr/assets/loading.gif differ diff --git a/src/pybind/mgr/dashboard/frontend/dist/fr/assets/logo-mini.png b/src/pybind/mgr/dashboard/frontend/dist/fr/assets/logo-mini.png new file mode 100644 index 000000000..b3446a894 Binary files /dev/null and b/src/pybind/mgr/dashboard/frontend/dist/fr/assets/logo-mini.png differ diff --git a/src/pybind/mgr/dashboard/frontend/dist/fr/assets/prometheus_logo.svg b/src/pybind/mgr/dashboard/frontend/dist/fr/assets/prometheus_logo.svg new file mode 100644 index 000000000..5c51f66d9 --- /dev/null +++ b/src/pybind/mgr/dashboard/frontend/dist/fr/assets/prometheus_logo.svg @@ -0,0 +1,50 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/src/pybind/mgr/dashboard/frontend/dist/fr/ceph_background.3fbdf95cd52530d7.gif b/src/pybind/mgr/dashboard/frontend/dist/fr/ceph_background.3fbdf95cd52530d7.gif new file mode 100644 index 000000000..0f7426ee0 Binary files /dev/null and b/src/pybind/mgr/dashboard/frontend/dist/fr/ceph_background.3fbdf95cd52530d7.gif differ diff --git a/src/pybind/mgr/dashboard/frontend/dist/fr/favicon.ico b/src/pybind/mgr/dashboard/frontend/dist/fr/favicon.ico new file mode 100644 index 000000000..90e538ba7 Binary files /dev/null and b/src/pybind/mgr/dashboard/frontend/dist/fr/favicon.ico differ diff --git a/src/pybind/mgr/dashboard/frontend/dist/fr/forkawesome-webfont.23671bdbd055fa7b.woff b/src/pybind/mgr/dashboard/frontend/dist/fr/forkawesome-webfont.23671bdbd055fa7b.woff new file mode 100644 index 000000000..477da445a Binary files /dev/null and b/src/pybind/mgr/dashboard/frontend/dist/fr/forkawesome-webfont.23671bdbd055fa7b.woff differ diff --git a/src/pybind/mgr/dashboard/frontend/dist/fr/forkawesome-webfont.3217b1b06e001045.svg b/src/pybind/mgr/dashboard/frontend/dist/fr/forkawesome-webfont.3217b1b06e001045.svg new file mode 100644 index 000000000..e99720454 --- /dev/null +++ b/src/pybind/mgr/dashboard/frontend/dist/fr/forkawesome-webfont.3217b1b06e001045.svg @@ -0,0 +1,2849 @@ + + + + + +Created by FontForge 20180321 at Mon Feb 18 18:29:30 2019 + By Julien Deswaef +The Fork Awesome font is licensed under the SIL OFL 1.1 (http://scripts.sil.org/OFL). Fork Awesome is a fork based of off Font Awesome 4.7.0 by Dave Gandy. More info on licenses at https://forkawesome.github.io + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/pybind/mgr/dashboard/frontend/dist/fr/forkawesome-webfont.3b3951dce6cf5d60.ttf b/src/pybind/mgr/dashboard/frontend/dist/fr/forkawesome-webfont.3b3951dce6cf5d60.ttf new file mode 100644 index 000000000..6cf62efb8 Binary files /dev/null and b/src/pybind/mgr/dashboard/frontend/dist/fr/forkawesome-webfont.3b3951dce6cf5d60.ttf differ diff --git a/src/pybind/mgr/dashboard/frontend/dist/fr/forkawesome-webfont.c0fee260bb6fd5fd.eot b/src/pybind/mgr/dashboard/frontend/dist/fr/forkawesome-webfont.c0fee260bb6fd5fd.eot new file mode 100644 index 000000000..b96d208fa Binary files /dev/null and b/src/pybind/mgr/dashboard/frontend/dist/fr/forkawesome-webfont.c0fee260bb6fd5fd.eot differ diff --git a/src/pybind/mgr/dashboard/frontend/dist/fr/forkawesome-webfont.d0a4ad9e6369d510.woff2 b/src/pybind/mgr/dashboard/frontend/dist/fr/forkawesome-webfont.d0a4ad9e6369d510.woff2 new file mode 100644 index 000000000..f3520b533 Binary files /dev/null and b/src/pybind/mgr/dashboard/frontend/dist/fr/forkawesome-webfont.d0a4ad9e6369d510.woff2 differ diff --git a/src/pybind/mgr/dashboard/frontend/dist/fr/index.html b/src/pybind/mgr/dashboard/frontend/dist/fr/index.html new file mode 100644 index 000000000..5f18ae499 --- /dev/null +++ b/src/pybind/mgr/dashboard/frontend/dist/fr/index.html @@ -0,0 +1,23 @@ + + + Ceph + + + + + + + + + + + \ No newline at end of file diff --git a/src/pybind/mgr/dashboard/frontend/dist/fr/main.62dae25cb6f8afb5.js b/src/pybind/mgr/dashboard/frontend/dist/fr/main.62dae25cb6f8afb5.js new file mode 100644 index 000000000..c768a2e35 --- /dev/null +++ b/src/pybind/mgr/dashboard/frontend/dist/fr/main.62dae25cb6f8afb5.js @@ -0,0 +1,3 @@ +globalThis.$localize=Object.assign(globalThis.$localize || {},{locale:"fr"}); +"use strict";(function(global){global.ng=global.ng||{};global.ng.common=global.ng.common||{};global.ng.common.locales=global.ng.common.locales||{};const u=undefined;function plural(val){const n=val,i=Math.floor(Math.abs(val)),v=val.toString().replace(/^[^.]*\.?/,"").length,e=parseInt(val.toString().replace(/^[^e]*(e([-+]?\d+))?/,"$2"))||0;if(i===0||i===1)return 1;if(e===0&&!(i===0)&&i%1000000===0&&v===0||!(e>=0&&e<=5))return 4;return 5}global.ng.common.locales["fr"]=["fr",[["AM","PM"],u,u],u,[["D","L","M","M","J","V","S"],["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],["di","lu","ma","me","je","ve","sa"]],u,[["J","F","M","A","M","J","J","A","S","O","N","D"],["janv.","f\xE9vr.","mars","avr.","mai","juin","juil.","ao\xFBt","sept.","oct.","nov.","d\xE9c."],["janvier","f\xE9vrier","mars","avril","mai","juin","juillet","ao\xFBt","septembre","octobre","novembre","d\xE9cembre"]],u,[["av. J.-C.","ap. J.-C."],u,["avant J\xE9sus-Christ","apr\xE8s J\xE9sus-Christ"]],1,[6,0],["dd/MM/y","d MMM y","d MMMM y","EEEE d MMMM y"],["HH:mm","HH:mm:ss","HH:mm:ss z","HH:mm:ss zzzz"],["{1} {0}","{1}, {0}","{1} '\xE0' {0}",u],[",","\u202F",";","%","+","-","E","\xD7","\u2030","\u221E","NaN",":"],["#,##0.###","#,##0\xA0%","#,##0.00\xA0\xA4","#E0"],"EUR","\u20AC","euro",{"ARS":["$AR","$"],"AUD":["$AU","$"],"BEF":["FB"],"BMD":["$BM","$"],"BND":["$BN","$"],"BYN":[u,"\u0440."],"BZD":["$BZ","$"],"CAD":["$CA","$"],"CLP":["$CL","$"],"CNY":[u,"\xA5"],"COP":["$CO","$"],"CYP":["\xA3CY"],"EGP":[u,"\xA3E"],"FJD":["$FJ","$"],"FKP":["\xA3FK","\xA3"],"FRF":["F"],"GBP":["\xA3GB","\xA3"],"GIP":["\xA3GI","\xA3"],"HKD":[u,"$"],"IEP":["\xA3IE"],"ILP":["\xA3IL"],"ITL":["\u20A4IT"],"JPY":[u,"\xA5"],"KMF":[u,"FC"],"LBP":["\xA3LB","\xA3L"],"MTP":["\xA3MT"],"MXN":["$MX","$"],"NAD":["$NA","$"],"NIO":[u,"$C"],"NZD":["$NZ","$"],"PHP":[u,"\u20B1"],"RHD":["$RH"],"RON":[u,"L"],"RWF":[u,"FR"],"SBD":["$SB","$"],"SGD":["$SG","$"],"SRD":["$SR","$"],"TOP":[u,"$T"],"TTD":["$TT","$"],"TWD":[u,"NT$"],"USD":["$US","$"],"UYU":["$UY","$"],"WST":["$WS"],"XCD":[u,"$"],"XPF":["FCFP"],"ZMW":[u,"Kw"]},"ltr",plural,[[["minuit","midi","mat.","ap.m.","soir","nuit"],u,["minuit","midi","du matin","de l\u2019apr\xE8s-midi","du soir","du matin"]],[["minuit","midi","mat.","ap.m.","soir","nuit"],u,["minuit","midi","matin","apr\xE8s-midi","soir","nuit"]],["00:00","12:00",["04:00","12:00"],["12:00","18:00"],["18:00","24:00"],["00:00","04:00"]]]]})(typeof globalThis!=="undefined"&&globalThis||typeof global!=="undefined"&&global||typeof window!=="undefined"&&window);; +(self.webpackChunkceph_dashboard=self.webpackChunkceph_dashboard||[]).push([[179],{43155:(y,b)=>{"use strict";b.N=void 0;var r=/^([^\w]*)(javascript|data|vbscript)/im,a=/&#(\w+)(^\w|;)?/g,u=/[\u0000-\u001F\u007F-\u009F\u2000-\u200D\uFEFF]/gim,c=/^([^:]+):/gm,e=[".","/"];b.N=function E(T){var D=function h(T){return T.replace(a,function(D,A){return String.fromCharCode(A)})}(T||"").replace(u,"").trim();if(!D)return"about:blank";if(function f(T){return e.indexOf(T[0])>-1}(D))return D;var A=D.match(c);return A&&r.test(A[0])?"about:blank":D}},35512:(y,b,o)=>{"use strict";o.d(b,{iM:()=>Cp,qr:()=>Dv,xc:()=>Nv});var r=o(64537),a=o(88692),u=function(I,ee){return(u=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(z,xe){z.__proto__=xe}||function(z,xe){for(var Mt in xe)xe.hasOwnProperty(Mt)&&(z[Mt]=xe[Mt])})(I,ee)};function c(I,ee){function z(){this.constructor=I}u(I,ee),I.prototype=null===ee?Object.create(ee):(z.prototype=ee.prototype,new z)}var e=function(){return e=Object.assign||function(ee){for(var z,xe=1,Mt=arguments.length;xe0)&&!(Mt=xe.next()).done;)an.push(Mt.value)}catch(li){Er={error:li}}finally{try{Mt&&!Mt.done&&(z=xe.return)&&z.call(xe)}finally{if(Er)throw Er.error}}return an}function h(){for(var I=[],ee=0;ee2&&ke("box");var z=Pr(ee);return new Gi(I,Bo(z),z.name,!0,z.equals)},shallowBox:function(I,ee){return arguments.length>2&&ke("shallowBox"),Ut.box(I,{name:ee,deep:!1})},array:function(I,ee){arguments.length>2&&ke("array");var z=Pr(ee);return new qc(I,Bo(z),z.name)},shallowArray:function(I,ee){return arguments.length>2&&ke("shallowArray"),Ut.array(I,{name:ee,deep:!1})},map:function(I,ee){arguments.length>2&&ke("map");var z=Pr(ee);return new Ll(I,Bo(z),z.name)},shallowMap:function(I,ee){return arguments.length>2&&ke("shallowMap"),Ut.map(I,{name:ee,deep:!1})},set:function(I,ee){arguments.length>2&&ke("set");var z=Pr(ee);return new Ce(I,Bo(z),z.name)},object:function(I,ee,z){return"string"==typeof arguments[1]&&ke("object"),function ru(I,ee,z,xe){var an=(xe=Pr(xe)).defaultDecorator||(!1===xe.deep?io:cs);At(I),Gt(I,xe.name,an.enhancer),Ys();try{for(var Mt in ee){var Er=Object.getOwnPropertyDescriptor(ee,Mt),es=(z&&Mt in z?z[Mt]:Er.get?Ie:an)(I,Mt,Er,!0);es&&Object.defineProperty(I,Mt,es)}}finally{ra()}return I}({},I,ee,Pr(z))},shallowObject:function(I,ee){return"string"==typeof arguments[1]&&ke("shallowObject"),Ut.object(I,{},{name:ee,deep:!1})},ref:io,shallow:ts,deep:cs,struct:Vi},Ut=function Pn(I,ee,z){if("string"==typeof arguments[1])return cs.apply(null,arguments);if(gl(I))return I;var xe=me(I)?Ut.object(I,ee,z):Array.isArray(I)?Ut.array(I,ee):Ct(I)?Ut.map(I,ee):Qt(I)?Ut.set(I,ee):I;if(xe!==I)return xe;U(!1)};function ke(I){U("Expected one or two arguments to observable."+I+". Did you accidentally try to use observable."+I+" as decorator?")}Object.keys(Nn).forEach(function(I){return Ut[I]=Nn[I]});var Ie=Ln(!1,function(I,ee,z,xe,Mt){!function lr(I,ee,z){var xe=Gt(I);z.name=xe.name+"."+ee,z.context=I,xe.values[ee]=new Mo(z),Object.defineProperty(I,ee,function ei(I){return Oi[I]||(Oi[I]={configurable:mn.computedConfigurable,enumerable:!1,get:function(){return Dr(this).read(this,I)},set:function(ee){Dr(this).write(this,I,ee)}})}(ee))}(I,ee,e({get:z.get,set:z.set},Mt[0]||{}))}),Qe=Ie({equals:Ri.structural}),Ve=function(ee,z,xe){if("string"==typeof z||null!==ee&&"object"==typeof ee&&1===arguments.length)return Ie.apply(null,arguments);var Mt="object"==typeof z?z:{};return Mt.get=ee,Mt.set="function"==typeof z?z:Mt.set,Mt.name=Mt.name||ee.name||"",new Mo(Mt)};Ve.struct=Qe;var tn=(()=>{return(I=tn||(tn={}))[I.NOT_TRACKING=-1]="NOT_TRACKING",I[I.UP_TO_DATE=0]="UP_TO_DATE",I[I.POSSIBLY_STALE=1]="POSSIBLY_STALE",I[I.STALE=2]="STALE",tn;var I})(),ot=(()=>{return(I=ot||(ot={}))[I.NONE=0]="NONE",I[I.LOG=1]="LOG",I[I.BREAK=2]="BREAK",ot;var I})(),xt=function I(ee){this.cause=ee};function qt(I){return I instanceof xt}function tr(I){switch(I.dependenciesState){case tn.UP_TO_DATE:return!1;case tn.NOT_TRACKING:case tn.STALE:return!0;case tn.POSSIBLY_STALE:for(var ee=Wt(),z=I.observing,xe=z.length,Mt=0;Mt0;mn.computationDepth>0&&ee&&U(!1),!mn.allowStateChanges&&(ee||"strict"===mn.enforceActions)&&U(!1)}function Nr(I,ee,z){var xe=st(!0);er(I),I.newObserving=new Array(I.observing.length+100),I.unboundDepsCount=0,I.runId=++mn.runId;var an,Mt=mn.trackingDerivation;if(mn.trackingDerivation=I,!0===mn.disableErrorBoundaries)an=ee.call(z);else try{an=ee.call(z)}catch(Er){an=new xt(Er)}return mn.trackingDerivation=Mt,function Qn(I){for(var ee=I.observing,z=I.observing=I.newObserving,xe=tn.UP_TO_DATE,Mt=0,an=I.unboundDepsCount,Er=0;Erxe&&(xe=li.dependenciesState);for(z.length=Mt,I.newObserving=null,an=ee.length;an--;)0===(li=ee[an]).diffValue&&$s(li,I),li.diffValue=0;for(;Mt--;){var li;1===(li=z[Mt]).diffValue&&(li.diffValue=0,ko(li,I))}xe!==tn.UP_TO_DATE&&(I.dependenciesState=xe,I.onBecomeStale())}(I),zt(xe),an}function dr(I){var ee=I.observing;I.observing=[];for(var z=ee.length;z--;)$s(ee[z],I);I.dependenciesState=tn.NOT_TRACKING}function Wn(I){var ee=Wt(),z=I();return kt(ee),z}function Wt(){var I=mn.trackingDerivation;return mn.trackingDerivation=null,I}function kt(I){mn.trackingDerivation=I}function st(I){var ee=mn.allowStateReads;return mn.allowStateReads=I,ee}function zt(I){mn.allowStateReads=I}function er(I){if(I.dependenciesState!==tn.UP_TO_DATE){I.dependenciesState=tn.UP_TO_DATE;for(var ee=I.observing,z=ee.length;z--;)ee[z].lowestObserverState=tn.UP_TO_DATE}}var Kr=0,mi=1;function gi(I,ee){var z=function(){return function Jo(I,ee,z,xe){var Mt=function os(I,ee,z){var xe=ma()&&!!I,Mt=0;if(xe){Mt=Date.now();var an=z&&z.length||0,Er=new Array(an);if(an>0)for(var li=0;li0&&!I.__mobxGlobals&&($r=!1),I.__mobxGlobals&&I.__mobxGlobals.version!==(new qr).version&&($r=!1),$r?I.__mobxGlobals?(I.__mobxInstanceCount+=1,I.__mobxGlobals.UNCHANGED||(I.__mobxGlobals.UNCHANGED={}),I.__mobxGlobals):(I.__mobxInstanceCount=1,I.__mobxGlobals=new qr):(setTimeout(function(){U("There are multiple, different versions of MobX active. Make sure MobX is loaded only once or use `configure({ isolateGlobalState: true })`")},1),new qr));function ko(I,ee){var z=I.observers.length;z&&(I.observersIndexes[ee.__mapid]=z),I.observers[z]=ee,I.lowestObserverState>ee.dependenciesState&&(I.lowestObserverState=ee.dependenciesState)}function $s(I,ee){if(1===I.observers.length)I.observers.length=0,ps(I);else{var z=I.observers,xe=I.observersIndexes,Mt=z.pop();if(Mt!==ee){var an=xe[ee.__mapid]||0;an?xe[Mt.__mapid]=an:delete xe[Mt.__mapid],z[an]=Mt}delete xe[ee.__mapid]}}function ps(I){!1===I.isPendingUnobservation&&(I.isPendingUnobservation=!0,mn.pendingUnobservations.push(I))}function Ys(){mn.inBatch++}function ra(){if(0==--mn.inBatch){Cs();for(var I=mn.pendingUnobservations,ee=0;ee0&&ps(I),!1)}function Da(I,ee){if(console.log("[mobx.trace] '"+I.name+"' is invalidated due to a change in: '"+ee.name+"'"),I.isTracing===ot.BREAK){var z=[];Ga(function bl(I,ee){return Ou(Gr(I,ee))}(I),z,1),new Function("debugger;\n/*\nTracing '"+I.name+"'\n\nYou are entering this break point because derivation '"+I.name+"' is being traced and '"+ee.name+"' is now forcing it to update.\nJust follow the stacktrace you should now see in the devtools to see precisely what piece of your code is causing this update\nThe stackframe you are looking for is at least ~6-8 stack-frames up.\n\n"+(I instanceof Mo?I.derivation.toString().replace(/[*]\//g,"/"):"")+"\n\nThe dependencies for this derivation are:\n\n"+z.join("\n")+"\n*/\n ")()}}function Ga(I,ee,z){ee.length>=1e3?ee.push("(and many more)"):(ee.push(""+new Array(z).join("\t")+I.name),I.dependencies&&I.dependencies.forEach(function(xe){return Ga(xe,ee,z+1)}))}var Pl=function(){function I(ee,z,xe,Mt){void 0===ee&&(ee="Reaction@"+Q()),void 0===Mt&&(Mt=!1),this.name=ee,this.onInvalidate=z,this.errorHandler=xe,this.requiresObservable=Mt,this.observing=[],this.newObserving=[],this.dependenciesState=tn.NOT_TRACKING,this.diffValue=0,this.runId=0,this.unboundDepsCount=0,this.__mapid="#"+Q(),this.isDisposed=!1,this._isScheduled=!1,this._isTrackPending=!1,this._isRunning=!1,this.isTracing=ot.NONE}return I.prototype.onBecomeStale=function(){this.schedule()},I.prototype.schedule=function(){this._isScheduled||(this._isScheduled=!0,mn.pendingReactions.push(this),Cs())},I.prototype.isScheduled=function(){return this._isScheduled},I.prototype.runReaction=function(){if(!this.isDisposed){if(Ys(),this._isScheduled=!1,tr(this)){this._isTrackPending=!0;try{this.onInvalidate(),this._isTrackPending&&ma()&&Qo({name:this.name,type:"scheduled-reaction"})}catch(ee){this.reportExceptionInDerivation(ee)}}ra()}},I.prototype.track=function(ee){Ys();var xe,z=ma();z&&(xe=Date.now(),Go({name:this.name,type:"reaction"})),this._isRunning=!0;var Mt=Nr(this,ee,void 0);this._isRunning=!1,this._isTrackPending=!1,this.isDisposed&&dr(this),qt(Mt)&&this.reportExceptionInDerivation(Mt.cause),z&&rs({time:Date.now()-xe}),ra()},I.prototype.reportExceptionInDerivation=function(ee){var z=this;if(this.errorHandler)this.errorHandler(ee,this);else{if(mn.disableErrorBoundaries)throw ee;var xe="[mobx] Encountered an uncaught exception that was thrown by a reaction or observer component, in: '"+this+"'";mn.suppressReactionErrors?console.warn("[mobx] (error in reaction '"+this.name+"' suppressed, fix error of causing action below)"):console.error(xe,ee),ma()&&Qo({type:"error",name:this.name,message:xe,error:""+ee}),mn.globalReactionErrorHandlers.forEach(function(Mt){return Mt(ee,z)})}},I.prototype.dispose=function(){this.isDisposed||(this.isDisposed=!0,this._isRunning||(Ys(),dr(this),ra()))},I.prototype.getDisposer=function(){var ee=this.dispose.bind(this);return ee.$mobx=this,ee},I.prototype.toString=function(){return"Reaction["+this.name+"]"},I.prototype.trace=function(ee){void 0===ee&&(ee=!1),function Ac(){for(var I=[],ee=0;ee0||mn.isRunningReactions||Fo(Ks)}function Ks(){mn.isRunningReactions=!0;for(var I=mn.pendingReactions,ee=0;I.length>0;){++ee===Ra&&(console.error("Reaction doesn't converge to a stable state after "+Ra+" iterations. Probably there is a cycle in the reactive function: "+I[0]),I.splice(0));for(var z=I.splice(0),xe=0,Mt=z.length;xe",ee):2===arguments.length&&"function"==typeof z?gi(ee,z):1===arguments.length&&"string"==typeof ee?qi(ee):!0!==Mt?qi(z).apply(null,arguments):void(ee[z]=gi(ee.name||z,xe.value))};function yn(I,ee,z){Me(I,ee,gi(ee,z.bind(I)))}function Ei(I,ee){void 0===ee&&(ee=D);var Mt,z=ee&&ee.name||I.name||"Autorun@"+Q();if(ee.scheduler||ee.delay){var an=eo(ee),Er=!1;Mt=new Pl(z,function(){Er||(Er=!0,an(function(){Er=!1,Mt.isDisposed||Mt.track(li)}))},ee.onError,ee.requiresObservable)}else Mt=new Pl(z,function(){this.track(li)},ee.onError,ee.requiresObservable);function li(){I(Mt)}return Mt.schedule(),Mt.getDisposer()}ae.bound=function On(I,ee,z,xe){return!0===xe?(yn(I,ee,z.value),null):z?{configurable:!0,enumerable:!1,get:function(){return yn(this,ee,z.value||z.initializer.call(this)),this[ee]},set:Br}:{enumerable:!1,configurable:!0,set:function(Mt){yn(this,ee,Mt)},get:function(){}}};var Ui=function(I){return I()};function eo(I){return I.scheduler?I.scheduler:I.delay?function(ee){return setTimeout(ee,I.delay)}:Ui}function js(I,ee,z){void 0===z&&(z=D),"boolean"==typeof z&&(z={fireImmediately:z});var ws,xe=z.name||"Reaction@"+Q(),Mt=ae(xe,z.onError?function hs(I,ee){return function(){try{return ee.apply(this,arguments)}catch(z){I.call(this,z)}}}(z.onError,ee):ee),an=!z.scheduler&&!z.delay,Er=eo(z),li=!0,es=!1,Ha=z.compareStructural?Ri.structural:z.equals||Ri.default,cl=new Pl(xe,function(){li||an?Vl():es||(es=!0,Er(Vl))},z.onError,z.requiresObservable);function Vl(){if(es=!1,!cl.isDisposed){var zu=!1;cl.track(function(){var Lc=I(cl);zu=li||!Ha(ws,Lc),ws=Lc}),li&&z.fireImmediately&&Mt(ws,cl),!li&&!0===zu&&Mt(ws,cl),li&&(li=!1)}}return cl.schedule(),cl.getDisposer()}function ta(I,ee,z){return Ul("onBecomeUnobserved",I,ee,z)}function Ul(I,ee,z,xe){var Mt="function"==typeof xe?Gr(ee,z):Gr(ee),an="function"==typeof xe?xe:z,Er=Mt[I];return"function"!=typeof Er?U(!1):(Mt[I]=function(){Er.call(this),an.call(this)},function(){Mt[I]=Er})}function Ou(I){var ee={name:I.name};return I.observing&&I.observing.length>0&&(ee.dependencies=function ue(I){var ee=[];return I.forEach(function(z){-1===ee.indexOf(z)&&ee.push(z)}),ee}(I.observing).map(Ou)),ee}function gl(I){return 1!==arguments.length&&U(!1),function ka(I,ee){if(null==I)return!1;if(void 0!==ee){if(zr(I)){var z=I.$mobx;return z.values&&!!z.values[ee]}return!1}return zr(I)||!!I.$mobx||kn(I)||nl(I)||As(I)}(I)}function yl(I,ee){void 0===ee&&(ee=void 0),Ys();try{return I.apply(ee)}finally{ra()}}function St(I){return void 0!==I.interceptors&&I.interceptors.length>0}function ut(I,ee){var z=I.interceptors||(I.interceptors=[]);return z.push(ee),pe(function(){var xe=z.indexOf(ee);-1!==xe&&z.splice(xe,1)})}function Je(I,ee){var z=Wt();try{var xe=I.interceptors;if(xe)for(var Mt=0,an=xe.length;Mt0}function vi(I,ee){var z=I.changeListeners||(I.changeListeners=[]);return z.push(ee),pe(function(){var xe=z.indexOf(ee);-1!==xe&&z.splice(xe,1)})}function wo(I,ee){var z=Wt(),xe=I.changeListeners;if(xe){for(var Mt=0,an=(xe=xe.slice()).length;Mt0?ee.map(this.dehancer):ee},I.prototype.intercept=function(ee){return ut(this,ee)},I.prototype.observe=function(ee,z){return void 0===z&&(z=!1),z&&ee({object:this.array,type:"splice",index:0,added:this.values.slice(),addedCount:this.values.length,removed:[],removedCount:0}),vi(this,ee)},I.prototype.getArrayLength=function(){return this.atom.reportObserved(),this.values.length},I.prototype.setArrayLength=function(ee){if("number"!=typeof ee||ee<0)throw new Error("[mobx.array] Out of range: "+ee);var z=this.values.length;if(ee!==z)if(ee>z){for(var xe=new Array(ee-z),Mt=0;Mt0&&ee+z+1>ca&&eu(ee+z+1)},I.prototype.spliceWithArray=function(ee,z,xe){var Mt=this;An(this.atom);var an=this.values.length;if(void 0===ee?ee=0:ee>an?ee=an:ee<0&&(ee=Math.max(0,an+ee)),z=1===arguments.length?an-ee:null==z?0:Math.max(0,Math.min(z,an-ee)),void 0===xe&&(xe=T),St(this)){var Er=Je(this,{object:this.array,type:"splice",index:ee,removedCount:z,added:xe});if(!Er)return T;z=Er.removedCount,xe=Er.added}xe=0===xe.length?xe:xe.map(function(ws){return Mt.enhancer(ws,void 0)}),this.updateArrayLength(an,xe.length-z);var es=this.spliceItemsIntoValues(ee,z,xe);return(0!==z||0!==xe.length)&&this.notifyArraySplice(ee,xe,es),this.dehanceValues(es)},I.prototype.spliceItemsIntoValues=function(ee,z,xe){var Mt;if(xe.length<1e4)return(Mt=this.values).splice.apply(Mt,h([ee,z],xe));var an=this.values.slice(ee,ee+z);return this.values=this.values.slice(0,ee).concat(xe,this.values.slice(ee+z)),an},I.prototype.notifyArrayChildUpdate=function(ee,z,xe){var Mt=!this.owned&&ma(),an=hn(this),Er=an||Mt?{object:this.array,type:"update",index:ee,newValue:z,oldValue:xe}:null;Mt&&Go(e({},Er,{name:this.atom.name})),this.atom.reportChanged(),an&&wo(this,Er),Mt&&rs()},I.prototype.notifyArraySplice=function(ee,z,xe){var Mt=!this.owned&&ma(),an=hn(this),Er=an||Mt?{object:this.array,type:"splice",index:ee,removed:xe,added:z,removedCount:xe.length,addedCount:z.length}:null;Mt&&Go(e({},Er,{name:this.atom.name})),this.atom.reportChanged(),an&&wo(this,Er),Mt&&rs()},I}(),qc=function(I){function ee(z,xe,Mt,an){void 0===Mt&&(Mt="ObservableArray@"+Q()),void 0===an&&(an=!1);var Er=I.call(this)||this,li=new Zl(Mt,xe,Er,an);if(yt(Er,"$mobx",li),z&&z.length){var es=ni(!0);Er.spliceWithArray(0,0,z),Vr(es)}return Si&&Object.defineProperty(li.array,"0",gc),Er}return c(ee,I),ee.prototype.intercept=function(z){return this.$mobx.intercept(z)},ee.prototype.observe=function(z,xe){return void 0===xe&&(xe=!1),this.$mobx.observe(z,xe)},ee.prototype.clear=function(){return this.splice(0)},ee.prototype.concat=function(){for(var z=[],xe=0;xe-1&&(this.splice(xe,1),!0)},ee.prototype.move=function(z,xe){function Mt(li){if(li<0)throw new Error("[mobx.array] Index out of bounds: "+li+" is negative");var es=this.$mobx.values.length;if(li>=es)throw new Error("[mobx.array] Index out of bounds: "+li+" is not smaller than "+es)}if(Mt.call(this,z),Mt.call(this,xe),z!==xe){var Er,an=this.$mobx.values;Er=zMt?0:Mt+ee),(z=z>Mt?Mt:z)<0&&(z+=Mt),Mt=ee>z?0:z-ee>>>0,ee>>>=0;for(var an=Array(Mt);++xe0&&z(li)?ee>1?H_(li,ee-1,z,xe,Mt):fn(Mt,li):xe||(Mt[Mt.length]=li)}return Mt},S_=function pm(I){return null!=I&&I.length?E_(I,1):[]};var Zh=o(68643),Qp=o(82666);const Jd=function Ad(I){return(0,Qp.Z)((0,Zh.Z)(I,void 0,S_),I+"")};var bu=Jd(function(I,ee){var z={};if(null==I)return z;var xe=!1;ee=ao(ee,function(an){return an=uu(an,I),xe||(xe=an.length>1),an}),(0,Pc.Z)(I,pn(I),z),xe&&(z=Qm(z,7,k_));for(var Mt=ee.length;Mt--;)jh(z,ee[Mt]);return z});const qs=bu;const cf=function U_(I,ee){for(var z=-1,xe=null==I?0:I.length;++zli))return!1;var ws=an.get(I),Ha=an.get(ee);if(ws&&Ha)return ws==ee&&Ha==I;var cl=-1,Vl=!0,zu=2&z?new Np:void 0;for(an.set(I,ee),an.set(ee,I);++cl-1?Mt[an?ee[Er]:Er]:void 0}}(function nv(I,ee,z){var xe=null==I?0:I.length;if(!xe)return-1;var Mt=null==z?0:Dg(z);return Mt<0&&(Mt=a1(xe+Mt,0)),kf(I,R(ee),Mt)});const l1=iv;const Rg=function ov(I){return"string"==typeof I||!(0,ii.Z)(I)&&(0,qo.Z)(I)&&"[object String]"==(0,Ai.Z)(I)};var sv=o(58209);const Xh=function(){return Zn.Z.Date.now()};var Pg=Math.max,c1=Math.min;const Ng=function wg(I,ee,z){var xe=!0,Mt=!0;if("function"!=typeof I)throw new TypeError("Expected a function");return(0,us.Z)(z)&&(xe="leading"in z?!!z.leading:xe,Mt="trailing"in z?!!z.trailing:Mt),function xg(I,ee,z){var xe,Mt,an,Er,li,es,ws=0,Ha=!1,cl=!1,Vl=!0;if("function"!=typeof I)throw new TypeError("Expected a function");function zu(Pd){var nh=xe,Bm=Mt;return xe=Mt=void 0,ws=Pd,Er=I.apply(Bm,nh)}function ku(Pd){var nh=Pd-es;return void 0===es||nh>=ee||nh<0||cl&&Pd-ws>=an}function Vu(){var Pd=Xh();if(ku(Pd))return D_(Pd);li=setTimeout(Vu,function lu(Pd){var Iv=ee-(Pd-es);return cl?c1(Iv,an-(Pd-ws)):Iv}(Pd))}function D_(Pd){return li=void 0,Vl&&xe?zu(Pd):(xe=Mt=void 0,Er)}function th(){var Pd=Xh(),nh=ku(Pd);if(xe=arguments,Mt=this,es=Pd,nh){if(void 0===li)return function Lc(Pd){return ws=Pd,li=setTimeout(Vu,ee),Ha?zu(Pd):Er}(es);if(cl)return clearTimeout(li),li=setTimeout(Vu,ee),zu(es)}return void 0===li&&(li=setTimeout(Vu,ee)),Er}return ee=$p(ee)||0,(0,us.Z)(z)&&(Ha=!!z.leading,an=(cl="maxWait"in z)?Pg($p(z.maxWait)||0,ee):an,Vl="trailing"in z?!!z.trailing:Vl),th.cancel=function ug(){void 0!==li&&clearTimeout(li),ws=0,xe=es=Mt=li=void 0},th.flush=function Em(){return void 0===li?Er:D_(Xh())},th}(I,ee,{leading:xe,maxWait:ee,trailing:Mt})},cv=function d1(I){return I!=I},_1=function dv(I){return null==I?[]:function uv(I,ee){return ao(ee,function(z){return I[z]})}(I,nc(I))};var h1=Math.max;const fv=function qh(I,ee,z,xe){I=(0,Cd.Z)(I)?I:_1(I),z=z&&!xe?Dg(z):0;var Mt=I.length;return z<0&&(z=h1(Mt+z,0)),Rg(I)?z<=Mt&&I.indexOf(ee,z)>-1:!!Mt&&function tg(I,ee,z){return ee==ee?function f1(I,ee,z){for(var xe=z-1,Mt=I.length;++xe-1},Lg=function Fg(I,ee,z,xe){if(!(0,us.Z)(I))return I;for(var Mt=-1,an=(ee=uu(ee,I)).length,Er=an-1,li=I;null!=li&&++Mt{class I{constructor(z,xe){this.templateRef=z,this.viewContainer=xe,this.templateBindings={}}ngOnInit(){this.view=this.viewContainer.createEmbeddedView(this.templateRef),this.dispose&&this.dispose(),this.shouldDetach()&&this.view.detach(),this.autoDetect(this.view)}shouldDetach(){return this.treeMobxAutorun&&this.treeMobxAutorun.detach}autoDetect(z){this.dispose=Ei(()=>z.detectChanges())}ngOnDestroy(){this.dispose&&this.dispose()}}return I.\u0275fac=function(z){return new(z||I)(r.Y36(r.Rgc),r.Y36(r.s_b))},I.\u0275dir=r.lG2({type:I,selectors:[["","treeMobxAutorun",""]],inputs:{treeMobxAutorun:"treeMobxAutorun"}}),I})();const Cp={TOGGLE_ACTIVE:(I,ee,z)=>ee&&ee.toggleActivated(),TOGGLE_ACTIVE_MULTI:(I,ee,z)=>ee&&ee.toggleActivated(!0),TOGGLE_SELECTED:(I,ee,z)=>ee&&ee.toggleSelected(),ACTIVATE:(I,ee,z)=>ee.setIsActive(!0),DEACTIVATE:(I,ee,z)=>ee.setIsActive(!1),SELECT:(I,ee,z)=>ee.setIsSelected(!0),DESELECT:(I,ee,z)=>ee.setIsSelected(!1),FOCUS:(I,ee,z)=>ee.focus(),TOGGLE_EXPANDED:(I,ee,z)=>ee.hasChildren&&ee.toggleExpanded(),EXPAND:(I,ee,z)=>ee.expand(),COLLAPSE:(I,ee,z)=>ee.collapse(),DRILL_DOWN:(I,ee,z)=>I.focusDrillDown(),DRILL_UP:(I,ee,z)=>I.focusDrillUp(),NEXT_NODE:(I,ee,z)=>I.focusNextNode(),PREVIOUS_NODE:(I,ee,z)=>I.focusPreviousNode(),MOVE_NODE:(I,ee,z,{from:xe,to:Mt})=>{z.ctrlKey?I.copyNode(xe,Mt):I.moveNode(xe,Mt)}},Mv={mouse:{click:Cp.TOGGLE_ACTIVE,dblClick:null,contextMenu:null,expanderClick:Cp.TOGGLE_EXPANDED,checkboxClick:Cp.TOGGLE_SELECTED,drop:Cp.MOVE_NODE},keys:{39:Cp.DRILL_DOWN,37:Cp.DRILL_UP,40:Cp.NEXT_NODE,38:Cp.PREVIOUS_NODE,32:Cp.TOGGLE_ACTIVE,13:Cp.TOGGLE_ACTIVE}};class Bg{constructor(ee={}){this.options=ee,this.actionMapping=zn({},this.options.actionMapping,Mv),ee.rtl&&(this.actionMapping.keys[39]=xl(ee,["actionMapping","keys",39])||Cp.DRILL_UP,this.actionMapping.keys[37]=xl(ee,["actionMapping","keys",37])||Cp.DRILL_DOWN)}get hasChildrenField(){return this.options.hasChildrenField||"hasChildren"}get childrenField(){return this.options.childrenField||"children"}get displayField(){return this.options.displayField||"name"}get idField(){return this.options.idField||"id"}get isExpandedField(){return this.options.isExpandedField||"isExpanded"}get getChildren(){return this.options.getChildren}get levelPadding(){return this.options.levelPadding||0}get useVirtualScroll(){return this.options.useVirtualScroll}get animateExpand(){return this.options.animateExpand}get animateSpeed(){return this.options.animateSpeed||1}get animateAcceleration(){return this.options.animateAcceleration||1.2}get scrollOnActivate(){return void 0===this.options.scrollOnActivate||this.options.scrollOnActivate}get rtl(){return!!this.options.rtl}get rootId(){return this.options.rootId}get useCheckbox(){return this.options.useCheckbox}get useTriState(){return void 0===this.options.useTriState||this.options.useTriState}get scrollContainer(){return this.options.scrollContainer}get allowDragoverStyling(){return void 0===this.options.allowDragoverStyling||this.options.allowDragoverStyling}getNodeClone(ee){return this.options.getNodeClone?this.options.getNodeClone(ee):qs(Object.assign({},ee.data),["id"])}allowDrop(ee,z,xe){return this.options.allowDrop instanceof Function?this.options.allowDrop(ee,z,xe):void 0===this.options.allowDrop||this.options.allowDrop}allowDrag(ee){return this.options.allowDrag instanceof Function?this.options.allowDrag(ee):this.options.allowDrag}nodeClass(ee){return this.options.nodeClass?this.options.nodeClass(ee):""}nodeHeight(ee){if(ee.data.virtual)return 0;let z=this.options.nodeHeight||22;return"function"==typeof z&&(z=z(ee)),z+(0===ee.index?2:1)*this.dropSlotHeight}get dropSlotHeight(){return function C_(I){return"number"==typeof I||(0,qo.Z)(I)&&"[object Number]"==(0,Ai.Z)(I)}(this.options.dropSlotHeight)?this.options.dropSlotHeight:2}}const vd={toggleExpanded:"toggleExpanded",activate:"activate",deactivate:"deactivate",nodeActivate:"nodeActivate",nodeDeactivate:"nodeDeactivate",select:"select",deselect:"deselect",focus:"focus",blur:"blur",initialized:"initialized",updateData:"updateData",moveNode:"moveNode",copyNode:"copyNode",event:"event",loadNodeChildren:"loadNodeChildren",changeFilter:"changeFilter",stateChange:"stateChange"};var Cf=function(I,ee,z,xe){var Er,Mt=arguments.length,an=Mt<3?ee:null===xe?xe=Object.getOwnPropertyDescriptor(ee,z):xe;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)an=Reflect.decorate(I,ee,z,xe);else for(var li=I.length-1;li>=0;li--)(Er=I[li])&&(an=(Mt<3?Er(an):Mt>3?Er(ee,z,an):Er(ee,z))||an);return Mt>3&&an&&Object.defineProperty(ee,z,an),an},mu=function(I,ee){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(I,ee)};let Gg=(()=>{class I{constructor(z,xe,Mt,an){this.data=z,this.parent=xe,this.treeModel=Mt,this.position=0,this.allowDrop=(Er,li)=>this.options.allowDrop(Er,{parent:this,index:0},li),this.allowDragoverStyling=()=>this.options.allowDragoverStyling,null==this.id&&(this.id=function Ov(){return Math.floor(1e13*Math.random())}()),this.index=an,this.getField("children")&&this._initChildren(),this.autoLoadChildren()}get isHidden(){return this.treeModel.isHidden(this)}get isExpanded(){return this.treeModel.isExpanded(this)}get isActive(){return this.treeModel.isActive(this)}get isFocused(){return this.treeModel.isNodeFocused(this)}get isSelected(){return this.isSelectable()?this.treeModel.isSelected(this):function uo(I,ee,z){var xe=(0,ii.Z)(I)?cf:jo;return z&&(0,Ns.Z)(I,ee,z)&&(ee=void 0),xe(I,R(ee))}(this.children,z=>z.isSelected)}get isAllSelected(){return this.isSelectable()?this.treeModel.isSelected(this):function pi(I,ee,z){var xe=(0,ii.Z)(I)?ya:Jr;return z&&(0,Ns.Z)(I,ee,z)&&(ee=void 0),xe(I,R(ee))}(this.children,z=>z.isAllSelected)}get isPartiallySelected(){return this.isSelected&&!this.isAllSelected}get level(){return this.parent?this.parent.level+1:0}get path(){return this.parent?[...this.parent.path,this.id]:[]}get elementRef(){throw"Element Ref is no longer supported since introducing virtual scroll\n\n You may use a template to obtain a reference to the element"}get originalNode(){return this._originalNode}get hasChildren(){return!!(this.getField("hasChildren")||this.children&&this.children.length>0)}get isCollapsed(){return!this.isExpanded}get isLeaf(){return!this.hasChildren}get isRoot(){return this.parent.data.virtual}get realParent(){return this.isRoot?null:this.parent}get options(){return this.treeModel.options}fireEvent(z){this.treeModel.fireEvent(z)}get displayField(){return this.getField("display")}get id(){return this.getField("id")}set id(z){this.setField("id",z)}getField(z){return this.data[this.options[`${z}Field`]]}setField(z,xe){this.data[this.options[`${z}Field`]]=xe}_findAdjacentSibling(z,xe=!1){const Mt=this._getParentsChildren(xe),an=Mt.indexOf(this);return Mt.length>an+z?Mt[an+z]:null}findNextSibling(z=!1){return this._findAdjacentSibling(1,z)}findPreviousSibling(z=!1){return this._findAdjacentSibling(-1,z)}getVisibleChildren(){return this.visibleChildren}get visibleChildren(){return(this.children||[]).filter(z=>!z.isHidden)}getFirstChild(z=!1){return al((z?this.visibleChildren:this.children)||[])}getLastChild(z=!1){return Od((z?this.visibleChildren:this.children)||[])}findNextNode(z=!0,xe=!1){return z&&this.isExpanded&&this.getFirstChild(xe)||this.findNextSibling(xe)||this.parent&&this.parent.findNextNode(!1,xe)}findPreviousNode(z=!1){let xe=this.findPreviousSibling(z);return xe?xe._getLastOpenDescendant(z):this.realParent}_getLastOpenDescendant(z=!1){const xe=this.getLastChild(z);return this.isCollapsed||!xe?this:xe._getLastOpenDescendant(z)}_getParentsChildren(z=!1){return this.parent&&(z?this.parent.getVisibleChildren():this.parent.children)||[]}getIndexInParent(z=!1){return this._getParentsChildren(z).indexOf(this)}isDescendantOf(z){return this===z||this.parent&&this.parent.isDescendantOf(z)}getNodePadding(){return this.options.levelPadding*(this.level-1)+"px"}getClass(){return[this.options.nodeClass(this),`tree-node-level-${this.level}`].join(" ")}onDrop(z){this.mouseAction("drop",z.event,{from:z.element,to:{parent:this,index:0,dropOnNode:!0}})}allowDrag(){return this.options.allowDrag(this)}loadNodeChildren(){return this.options.getChildren?Promise.resolve(this.options.getChildren(this)).then(z=>{z&&(this.setField("children",z),this._initChildren(),this.options.useTriState&&this.treeModel.isSelected(this)&&this.setIsSelected(!0),this.children.forEach(xe=>{xe.getField("isExpanded")&&xe.hasChildren&&xe.expand()}))}).then(()=>{this.fireEvent({eventName:vd.loadNodeChildren,node:this})}):Promise.resolve()}expand(){return this.isExpanded||this.toggleExpanded(),this}collapse(){return this.isExpanded&&this.toggleExpanded(),this}doForAll(z){Promise.resolve(z(this)).then(()=>{this.children&&this.children.forEach(xe=>xe.doForAll(z))})}expandAll(){this.doForAll(z=>z.expand())}collapseAll(){this.doForAll(z=>z.collapse())}ensureVisible(){return this.realParent&&(this.realParent.expand(),this.realParent.ensureVisible()),this}toggleExpanded(){return this.setIsExpanded(!this.isExpanded),this}setIsExpanded(z){return this.hasChildren&&this.treeModel.setExpandedNode(this,z),this}autoLoadChildren(){this.handler=js(()=>this.isExpanded,z=>{!this.children&&this.hasChildren&&z&&this.loadNodeChildren()},{fireImmediately:!0})}dispose(){this.children&&this.children.forEach(z=>z.dispose()),this.handler&&this.handler(),this.parent=null,this.children=null}setIsActive(z,xe=!1){return this.treeModel.setActiveNode(this,z,xe),z&&this.focus(this.options.scrollOnActivate),this}isSelectable(){return this.isLeaf||!this.children||!this.options.useTriState}setIsSelected(z){return this.isSelectable()?this.treeModel.setSelectedNode(this,z):this.visibleChildren.forEach(xe=>xe.setIsSelected(z)),this}toggleSelected(){return this.setIsSelected(!this.isSelected),this}toggleActivated(z=!1){return this.setIsActive(!this.isActive,z),this}setActiveAndVisible(z=!1){return this.setIsActive(!0,z).ensureVisible(),setTimeout(this.scrollIntoView.bind(this)),this}scrollIntoView(z=!1){this.treeModel.virtualScroll.scrollIntoView(this,z)}focus(z=!0){let xe=this.treeModel.getFocusedNode();return this.treeModel.setFocusedNode(this),z&&this.scrollIntoView(),xe&&this.fireEvent({eventName:vd.blur,node:xe}),this.fireEvent({eventName:vd.focus,node:this}),this}blur(){let z=this.treeModel.getFocusedNode();return this.treeModel.setFocusedNode(null),z&&this.fireEvent({eventName:vd.blur,node:this}),this}setIsHidden(z){this.treeModel.setIsHidden(this,z)}hide(){this.setIsHidden(!0)}show(){this.setIsHidden(!1)}mouseAction(z,xe,Mt=null){this.treeModel.setFocus(!0);const Er=this.options.actionMapping.mouse[z];Er&&Er(this.treeModel,this,xe,Mt)}getSelfHeight(){return this.options.nodeHeight(this)}_initChildren(){this.children=this.getField("children").map((z,xe)=>new I(z,this,this.treeModel,xe))}}return Cf([Ve,mu("design:type",Object),mu("design:paramtypes",[])],I.prototype,"isHidden",null),Cf([Ve,mu("design:type",Object),mu("design:paramtypes",[])],I.prototype,"isExpanded",null),Cf([Ve,mu("design:type",Object),mu("design:paramtypes",[])],I.prototype,"isActive",null),Cf([Ve,mu("design:type",Object),mu("design:paramtypes",[])],I.prototype,"isFocused",null),Cf([Ve,mu("design:type",Object),mu("design:paramtypes",[])],I.prototype,"isSelected",null),Cf([Ve,mu("design:type",Object),mu("design:paramtypes",[])],I.prototype,"isAllSelected",null),Cf([Ve,mu("design:type",Object),mu("design:paramtypes",[])],I.prototype,"isPartiallySelected",null),Cf([Ut,mu("design:type",Array)],I.prototype,"children",void 0),Cf([Ut,mu("design:type",Number)],I.prototype,"index",void 0),Cf([Ut,mu("design:type",Object)],I.prototype,"position",void 0),Cf([Ut,mu("design:type",Number)],I.prototype,"height",void 0),Cf([Ve,mu("design:type",Number),mu("design:paramtypes",[])],I.prototype,"level",null),Cf([Ve,mu("design:type",Array),mu("design:paramtypes",[])],I.prototype,"path",null),Cf([Ve,mu("design:type",Object),mu("design:paramtypes",[])],I.prototype,"visibleChildren",null),Cf([ae,mu("design:type",Function),mu("design:paramtypes",[Object]),mu("design:returntype",void 0)],I.prototype,"setIsSelected",null),Cf([ae,mu("design:type",Function),mu("design:paramtypes",[]),mu("design:returntype",void 0)],I.prototype,"_initChildren",null),I})();var Wc=function(I,ee,z,xe){var Er,Mt=arguments.length,an=Mt<3?ee:null===xe?xe=Object.getOwnPropertyDescriptor(ee,z):xe;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)an=Reflect.decorate(I,ee,z,xe);else for(var li=I.length-1;li>=0;li--)(Er=I[li])&&(an=(Mt<3?Er(an):Mt>3?Er(ee,z,an):Er(ee,z))||an);return Mt>3&&an&&Object.defineProperty(ee,z,an),an},Os=function(I,ee){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(I,ee)};let wc=(()=>{class I{constructor(){this.options=new Bg,this.eventNames=Object.keys(vd),this.expandedNodeIds={},this.selectedLeafNodeIds={},this.activeNodeIds={},this.hiddenNodeIds={},this.focusedNodeId=null,this.firstUpdate=!0,this.subscriptions=[]}fireEvent(z){z.treeModel=this,this.events[z.eventName].emit(z),this.events.event.emit(z)}subscribe(z,xe){const Mt=this.events[z].subscribe(xe);this.subscriptions.push(Mt)}getFocusedNode(){return this.focusedNode}getActiveNode(){return this.activeNodes[0]}getActiveNodes(){return this.activeNodes}getVisibleRoots(){return this.virtualRoot.visibleChildren}getFirstRoot(z=!1){return al(z?this.getVisibleRoots():this.roots)}getLastRoot(z=!1){return Od(z?this.getVisibleRoots():this.roots)}get isFocused(){return I.focusedTree===this}isNodeFocused(z){return this.focusedNode===z}isEmptyTree(){return this.roots&&0===this.roots.length}get focusedNode(){return this.focusedNodeId?this.getNodeById(this.focusedNodeId):null}get expandedNodes(){const z=Object.keys(this.expandedNodeIds).filter(xe=>this.expandedNodeIds[xe]).map(xe=>this.getNodeById(xe));return Ja(z)}get activeNodes(){const z=Object.keys(this.activeNodeIds).filter(xe=>this.activeNodeIds[xe]).map(xe=>this.getNodeById(xe));return Ja(z)}get hiddenNodes(){const z=Object.keys(this.hiddenNodeIds).filter(xe=>this.hiddenNodeIds[xe]).map(xe=>this.getNodeById(xe));return Ja(z)}get selectedLeafNodes(){const z=Object.keys(this.selectedLeafNodeIds).filter(xe=>this.selectedLeafNodeIds[xe]).map(xe=>this.getNodeById(xe));return Ja(z)}getNodeByPath(z,xe=null){if(!z)return null;if(xe=xe||this.virtualRoot,0===z.length)return xe;if(!xe.children)return null;const Mt=z.shift(),an=l1(xe.children,{id:Mt});return an?this.getNodeByPath(z,an):null}getNodeById(z){const xe=z.toString();return this.getNodeBy(Mt=>Mt.id.toString()===xe)}getNodeBy(z,xe=null){if(!(xe=xe||this.virtualRoot).children)return null;const Mt=l1(xe.children,z);if(Mt)return Mt;for(let an of xe.children){const Er=this.getNodeBy(z,an);if(Er)return Er}}isExpanded(z){return this.expandedNodeIds[z.id]}isHidden(z){return this.hiddenNodeIds[z.id]}isActive(z){return this.activeNodeIds[z.id]}isSelected(z){return this.selectedLeafNodeIds[z.id]}ngOnDestroy(){this.dispose(),this.unsubscribeAll()}dispose(){this.virtualRoot&&this.virtualRoot.dispose()}unsubscribeAll(){this.subscriptions.forEach(z=>z.unsubscribe()),this.subscriptions=[]}setData({nodes:z,options:xe=null,events:Mt=null}){xe&&(this.options=new Bg(xe)),Mt&&(this.events=Mt),z&&(this.nodes=z),this.update()}update(){let z={id:this.options.rootId,virtual:!0,[this.options.childrenField]:this.nodes};this.dispose(),this.virtualRoot=new Gg(z,null,this,0),this.roots=this.virtualRoot.children,this.firstUpdate?this.roots&&(this.firstUpdate=!1,this._calculateExpandedNodes()):this.fireEvent({eventName:vd.updateData})}setFocusedNode(z){this.focusedNodeId=z?z.id:null}setFocus(z){I.focusedTree=z?this:null}doForAll(z){this.roots.forEach(xe=>xe.doForAll(z))}focusNextNode(){let z=this.getFocusedNode(),xe=z?z.findNextNode(!0,!0):this.getFirstRoot(!0);xe&&xe.focus()}focusPreviousNode(){let z=this.getFocusedNode(),xe=z?z.findPreviousNode(!0):this.getLastRoot(!0);xe&&xe.focus()}focusDrillDown(){let z=this.getFocusedNode();if(z&&z.isCollapsed&&z.hasChildren)z.toggleExpanded();else{let xe=z?z.getFirstChild(!0):this.getFirstRoot(!0);xe&&xe.focus()}}focusDrillUp(){let z=this.getFocusedNode();if(z)if(z.isExpanded)z.toggleExpanded();else{let xe=z.realParent;xe&&xe.focus()}}setActiveNode(z,xe,Mt=!1){Mt?this._setActiveNodeMulti(z,xe):this._setActiveNodeSingle(z,xe),xe?(z.focus(this.options.scrollOnActivate),this.fireEvent({eventName:vd.activate,node:z}),this.fireEvent({eventName:vd.nodeActivate,node:z})):(this.fireEvent({eventName:vd.deactivate,node:z}),this.fireEvent({eventName:vd.nodeDeactivate,node:z}))}setSelectedNode(z,xe){this.selectedLeafNodeIds=Object.assign({},this.selectedLeafNodeIds,{[z.id]:xe}),xe?(z.focus(),this.fireEvent({eventName:vd.select,node:z})):this.fireEvent({eventName:vd.deselect,node:z})}setExpandedNode(z,xe){this.expandedNodeIds=Object.assign({},this.expandedNodeIds,{[z.id]:xe}),this.fireEvent({eventName:vd.toggleExpanded,node:z,isExpanded:xe})}expandAll(){this.roots.forEach(z=>z.expandAll())}collapseAll(){this.roots.forEach(z=>z.collapseAll())}setIsHidden(z,xe){this.hiddenNodeIds=Object.assign({},this.hiddenNodeIds,{[z.id]:xe})}setHiddenNodeIds(z){this.hiddenNodeIds=z.reduce((xe,Mt)=>Object.assign(xe,{[Mt]:!0}),{})}performKeyAction(z,xe){const Mt=this.options.actionMapping.keys[xe.keyCode];return!!Mt&&(xe.preventDefault(),Mt(this,z,xe),!0)}filterNodes(z,xe=!0){let Mt;if(!z)return this.clearFilter();if(Rg(z))Mt=Er=>-1!==Er.displayField.toLowerCase().indexOf(z.toLowerCase());else{if(!(0,sv.Z)(z))return console.error("Don't know what to do with filter",z),void console.error("Should be either a string or function");Mt=z}const an={};this.roots.forEach(Er=>this._filterNode(an,Er,Mt,xe)),this.hiddenNodeIds=an,this.fireEvent({eventName:vd.changeFilter})}clearFilter(){this.hiddenNodeIds={},this.fireEvent({eventName:vd.changeFilter})}moveNode(z,xe){const Mt=z.getIndexInParent(),an=z.parent;if(!this.canMoveNode(z,xe,Mt))return;const Er=an.getField("children");xe.parent.getField("children")||xe.parent.setField("children",[]);const li=xe.parent.getField("children"),es=Er.splice(Mt,1)[0];let ws=an===xe.parent&&xe.index>Mt?xe.index-1:xe.index;li.splice(ws,0,es),an.treeModel.update(),xe.parent.treeModel!==an.treeModel&&xe.parent.treeModel.update(),this.fireEvent({eventName:vd.moveNode,node:es,to:{parent:xe.parent.data,index:ws},from:{parent:an.data,index:Mt}})}copyNode(z,xe){const Mt=z.getIndexInParent();if(!this.canMoveNode(z,xe,Mt))return;xe.parent.getField("children")||xe.parent.setField("children",[]);const an=xe.parent.getField("children"),Er=this.options.getNodeClone(z);an.splice(xe.index,0,Er),z.treeModel.update(),xe.parent.treeModel!==z.treeModel&&xe.parent.treeModel.update(),this.fireEvent({eventName:vd.copyNode,node:Er,to:{parent:xe.parent.data,index:xe.index}})}getState(){return{expandedNodeIds:this.expandedNodeIds,selectedLeafNodeIds:this.selectedLeafNodeIds,activeNodeIds:this.activeNodeIds,hiddenNodeIds:this.hiddenNodeIds,focusedNodeId:this.focusedNodeId}}setState(z){z&&Object.assign(this,{expandedNodeIds:z.expandedNodeIds||{},selectedLeafNodeIds:z.selectedLeafNodeIds||{},activeNodeIds:z.activeNodeIds||{},hiddenNodeIds:z.hiddenNodeIds||{},focusedNodeId:z.focusedNodeId})}subscribeToState(z){Ei(()=>z(this.getState()))}canMoveNode(z,xe,Mt){return Mt||z.getIndexInParent(),(z.parent!==xe.parent||Mt!==xe.index)&&!xe.parent.isDescendantOf(z)}calculateExpandedNodes(){this._calculateExpandedNodes()}_filterNode(z,xe,Mt,an){let Er=Mt(xe);return xe.children&&xe.children.forEach(li=>{this._filterNode(z,li,Mt,an)&&(Er=!0)}),Er||(z[xe.id]=!0),an&&Er&&xe.ensureVisible(),Er}_calculateExpandedNodes(z=null){(z=z||this.virtualRoot).data[this.options.isExpandedField]&&(this.expandedNodeIds=Object.assign({},this.expandedNodeIds,{[z.id]:!0})),z.children&&z.children.forEach(xe=>this._calculateExpandedNodes(xe))}_setActiveNodeSingle(z,xe){this.activeNodes.filter(Mt=>Mt!==z).forEach(Mt=>{this.fireEvent({eventName:vd.deactivate,node:Mt}),this.fireEvent({eventName:vd.nodeDeactivate,node:Mt})}),this.activeNodeIds=xe?{[z.id]:!0}:{}}_setActiveNodeMulti(z,xe){this.activeNodeIds=Object.assign({},this.activeNodeIds,{[z.id]:xe})}}return I.\u0275fac=function(z){return new(z||I)},I.\u0275prov=r.Yz7({token:I,factory:I.\u0275fac}),I.focusedTree=null,I})();Wc([Ut,Os("design:type",Array)],wc.prototype,"roots",void 0),Wc([Ut,Os("design:type",Object)],wc.prototype,"expandedNodeIds",void 0),Wc([Ut,Os("design:type",Object)],wc.prototype,"selectedLeafNodeIds",void 0),Wc([Ut,Os("design:type",Object)],wc.prototype,"activeNodeIds",void 0),Wc([Ut,Os("design:type",Object)],wc.prototype,"hiddenNodeIds",void 0),Wc([Ut,Os("design:type",Object)],wc.prototype,"focusedNodeId",void 0),Wc([Ut,Os("design:type",Gg)],wc.prototype,"virtualRoot",void 0),Wc([Ve,Os("design:type",Object),Os("design:paramtypes",[])],wc.prototype,"focusedNode",null),Wc([Ve,Os("design:type",Object),Os("design:paramtypes",[])],wc.prototype,"expandedNodes",null),Wc([Ve,Os("design:type",Object),Os("design:paramtypes",[])],wc.prototype,"activeNodes",null),Wc([Ve,Os("design:type",Object),Os("design:paramtypes",[])],wc.prototype,"hiddenNodes",null),Wc([Ve,Os("design:type",Object),Os("design:paramtypes",[])],wc.prototype,"selectedLeafNodes",null),Wc([ae,Os("design:type",Function),Os("design:paramtypes",[Object]),Os("design:returntype",void 0)],wc.prototype,"setData",null),Wc([ae,Os("design:type",Function),Os("design:paramtypes",[]),Os("design:returntype",void 0)],wc.prototype,"update",null),Wc([ae,Os("design:type",Function),Os("design:paramtypes",[Object]),Os("design:returntype",void 0)],wc.prototype,"setFocusedNode",null),Wc([ae,Os("design:type",Function),Os("design:paramtypes",[Object]),Os("design:returntype",void 0)],wc.prototype,"setFocus",null),Wc([ae,Os("design:type",Function),Os("design:paramtypes",[Object]),Os("design:returntype",void 0)],wc.prototype,"doForAll",null),Wc([ae,Os("design:type",Function),Os("design:paramtypes",[]),Os("design:returntype",void 0)],wc.prototype,"focusNextNode",null),Wc([ae,Os("design:type",Function),Os("design:paramtypes",[]),Os("design:returntype",void 0)],wc.prototype,"focusPreviousNode",null),Wc([ae,Os("design:type",Function),Os("design:paramtypes",[]),Os("design:returntype",void 0)],wc.prototype,"focusDrillDown",null),Wc([ae,Os("design:type",Function),Os("design:paramtypes",[]),Os("design:returntype",void 0)],wc.prototype,"focusDrillUp",null),Wc([ae,Os("design:type",Function),Os("design:paramtypes",[Object,Object,Object]),Os("design:returntype",void 0)],wc.prototype,"setActiveNode",null),Wc([ae,Os("design:type",Function),Os("design:paramtypes",[Object,Object]),Os("design:returntype",void 0)],wc.prototype,"setSelectedNode",null),Wc([ae,Os("design:type",Function),Os("design:paramtypes",[Object,Object]),Os("design:returntype",void 0)],wc.prototype,"setExpandedNode",null),Wc([ae,Os("design:type",Function),Os("design:paramtypes",[]),Os("design:returntype",void 0)],wc.prototype,"expandAll",null),Wc([ae,Os("design:type",Function),Os("design:paramtypes",[]),Os("design:returntype",void 0)],wc.prototype,"collapseAll",null),Wc([ae,Os("design:type",Function),Os("design:paramtypes",[Object,Object]),Os("design:returntype",void 0)],wc.prototype,"setIsHidden",null),Wc([ae,Os("design:type",Function),Os("design:paramtypes",[Object]),Os("design:returntype",void 0)],wc.prototype,"setHiddenNodeIds",null),Wc([ae,Os("design:type",Function),Os("design:paramtypes",[Object,Object]),Os("design:returntype",void 0)],wc.prototype,"filterNodes",null),Wc([ae,Os("design:type",Function),Os("design:paramtypes",[]),Os("design:returntype",void 0)],wc.prototype,"clearFilter",null),Wc([ae,Os("design:type",Function),Os("design:paramtypes",[Object,Object]),Os("design:returntype",void 0)],wc.prototype,"moveNode",null),Wc([ae,Os("design:type",Function),Os("design:paramtypes",[Object,Object]),Os("design:returntype",void 0)],wc.prototype,"copyNode",null),Wc([ae,Os("design:type",Function),Os("design:paramtypes",[Object]),Os("design:returntype",void 0)],wc.prototype,"setState",null);let Yg=(()=>{class I{constructor(){this._draggedElement=null}set(z){this._draggedElement=z}get(){return this._draggedElement}isDragging(){return!!this.get()}}return I.\u0275fac=function(z){return new(z||I)},I.\u0275prov=(0,r.Yz7)({factory:function(){return new I},token:I,providedIn:"root"}),I})();var q_=function(I,ee,z,xe){var Er,Mt=arguments.length,an=Mt<3?ee:null===xe?xe=Object.getOwnPropertyDescriptor(ee,z):xe;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)an=Reflect.decorate(I,ee,z,xe);else for(var li=I.length-1;li>=0;li--)(Er=I[li])&&(an=(Mt<3?Er(an):Mt>3?Er(ee,z,an):Er(ee,z))||an);return Mt>3&&an&&Object.defineProperty(ee,z,an),an},Ud=function(I,ee){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(I,ee)};let Tp=(()=>{class I{constructor(z){this.treeModel=z,this.yBlocks=0,this.x=0,this.viewportHeight=null,this.viewport=null,z.virtualScroll=this,this._dispose=[Ei(()=>this.fixScroll())]}get y(){return 150*this.yBlocks}get totalHeight(){return this.treeModel.virtualRoot?this.treeModel.virtualRoot.height:0}fireEvent(z){this.treeModel.fireEvent(z)}init(){const z=this.recalcPositions.bind(this);z(),this._dispose=[...this._dispose,js(()=>this.treeModel.roots,z),js(()=>this.treeModel.expandedNodeIds,z),js(()=>this.treeModel.hiddenNodeIds,z)],this.treeModel.subscribe(vd.loadNodeChildren,z)}isEnabled(){return this.treeModel.options.useVirtualScroll}_setYBlocks(z){this.yBlocks=z}recalcPositions(){this.treeModel.virtualRoot.height=this._getPositionAfter(this.treeModel.getVisibleRoots(),0)}_getPositionAfter(z,xe){let Mt=xe;return z.forEach(an=>{an.position=Mt,Mt=this._getPositionAfterNode(an,Mt)}),Mt}_getPositionAfterNode(z,xe){let Mt=z.getSelfHeight()+xe;return z.children&&z.isExpanded&&(Mt=this._getPositionAfter(z.visibleChildren,Mt)),z.height=Mt-xe,Mt}clear(){this._dispose.forEach(z=>z())}setViewport(z){Object.assign(this,{viewport:z,x:z.scrollLeft,yBlocks:Math.round(z.scrollTop/150),viewportHeight:z.getBoundingClientRect?z.getBoundingClientRect().height:0})}scrollIntoView(z,xe,Mt=!0){if(z.options.scrollContainer){const an=z.options.scrollContainer,Er=an.getBoundingClientRect().height,li=an.getBoundingClientRect().top,es=this.viewport.getBoundingClientRect().top+z.position-li;(xe||esan.scrollTop+Er)&&(an.scrollTop=Mt?es-Er/2:es)}else(xe||z.positionthis.y+this.viewportHeight)&&this.viewport&&(this.viewport.scrollTop=Mt?z.position-this.viewportHeight/2:z.position,this._setYBlocks(Math.floor(this.viewport.scrollTop/150)))}getViewportNodes(z){if(!z)return[];const xe=z.filter(ws=>!ws.isHidden);if(!this.isEnabled())return xe;if(!this.viewportHeight||!xe.length)return[];const Mt=sg(xe,ws=>ws.position+500>this.y||ws.position+ws.height>this.y),an=sg(xe,ws=>ws.position-500>this.y+this.viewportHeight,Mt),Er=[];if(an-Mt>(1e3+this.viewportHeight)/xe[0].treeModel.options.options.nodeHeight)return[];for(let ws=Mt;ws<=an;ws++)Er.push(xe[ws]);return Er}fixScroll(){const z=Math.max(0,this.totalHeight-this.viewportHeight);this.y<0&&this._setYBlocks(0),this.y>z&&this._setYBlocks(z/150)}}return I.\u0275fac=function(z){return new(z||I)(r.LFG(wc))},I.\u0275prov=r.Yz7({token:I,factory:I.\u0275fac}),I})();function sg(I,ee,z=0){let xe=z,Mt=I.length-1;for(;xe!==Mt;){let an=Math.floor((xe+Mt)/2);ee(I[an])?Mt=an:xe=xe===an?Mt:an}return xe}q_([Ut,Ud("design:type",Object)],Tp.prototype,"yBlocks",void 0),q_([Ut,Ud("design:type",Object)],Tp.prototype,"x",void 0),q_([Ut,Ud("design:type",Object)],Tp.prototype,"viewportHeight",void 0),q_([Ve,Ud("design:type",Object),Ud("design:paramtypes",[])],Tp.prototype,"y",null),q_([Ve,Ud("design:type",Object),Ud("design:paramtypes",[])],Tp.prototype,"totalHeight",null),q_([ae,Ud("design:type",Function),Ud("design:paramtypes",[Object]),Ud("design:returntype",void 0)],Tp.prototype,"_setYBlocks",null),q_([ae,Ud("design:type",Function),Ud("design:paramtypes",[]),Ud("design:returntype",void 0)],Tp.prototype,"recalcPositions",null),q_([ae,Ud("design:type",Function),Ud("design:paramtypes",[Object]),Ud("design:returntype",void 0)],Tp.prototype,"setViewport",null),q_([ae,Ud("design:type",Function),Ud("design:paramtypes",[Object,Object,Object]),Ud("design:returntype",void 0)],Tp.prototype,"scrollIntoView",null);let Av=(()=>{class I{}return I.\u0275fac=function(z){return new(z||I)},I.\u0275cmp=r.Xpm({type:I,selectors:[["tree-loading-component"]],inputs:{template:"template",node:"node"},decls:2,vars:5,consts:[[4,"ngIf"],[3,"ngTemplateOutlet","ngTemplateOutletContext"]],template:function(z,xe){1&z&&(r.YNc(0,O_,2,0,"span",0),r.GkF(1,1)),2&z&&(r.Q6J("ngIf",!xe.template),r.xp6(1),r.Q6J("ngTemplateOutlet",xe.template)("ngTemplateOutletContext",r.VKq(3,hv,xe.node)))},dependencies:[a.O5,a.tP],encapsulation:2}),I})(),T1=(()=>{class I{constructor(z,xe,Mt){this.elementRef=z,this.ngZone=xe,this.virtualScroll=Mt,this.setViewport=Ng(()=>{this.virtualScroll.setViewport(this.elementRef.nativeElement)},17),this.scrollEventHandler=this.setViewport.bind(this)}ngOnInit(){this.virtualScroll.init()}ngAfterViewInit(){setTimeout(()=>{this.setViewport(),this.virtualScroll.fireEvent({eventName:vd.initialized})});let z=this.elementRef.nativeElement;this.ngZone.runOutsideAngular(()=>{z.addEventListener("scroll",this.scrollEventHandler)})}ngOnDestroy(){this.virtualScroll.clear(),this.elementRef.nativeElement.removeEventListener("scroll",this.scrollEventHandler)}getTotalHeight(){return this.virtualScroll.isEnabled()&&this.virtualScroll.totalHeight+"px"||"auto"}}return I.\u0275fac=function(z){return new(z||I)(r.Y36(r.SBq),r.Y36(r.R0b),r.Y36(Tp))},I.\u0275cmp=r.Xpm({type:I,selectors:[["tree-viewport"]],features:[r._Bn([Tp])],ngContentSelectors:Gl,decls:1,vars:2,consts:[[4,"treeMobxAutorun"]],template:function(z,xe){1&z&&(r.F$t(),r.YNc(0,ym,3,2,"ng-container",0)),2&z&&r.Q6J("treeMobxAutorun",r.DdM(1,Hp))},dependencies:[Xf],encapsulation:2}),I})(),Dv=(()=>{class I{constructor(z,xe){this.treeModel=z,this.treeDraggedElement=xe,z.eventNames.forEach(Mt=>this[Mt]=new r.vpe),z.subscribeToState(Mt=>this.stateChange.emit(Mt))}set nodes(z){}set options(z){}set focused(z){this.treeModel.setFocus(z)}set state(z){this.treeModel.setState(z)}onKeydown(z){if(!this.treeModel.isFocused||fv(["input","textarea"],document.activeElement.tagName.toLowerCase()))return;const xe=this.treeModel.getFocusedNode();this.treeModel.performKeyAction(xe,z)}onMousedown(z){(function xe(Mt,an){return!Mt||Mt.localName!==an&&xe(Mt.parentElement,an)})(z.target,"tree-root")&&this.treeModel.setFocus(!1)}ngOnChanges(z){(z.options||z.nodes)&&this.treeModel.setData({options:z.options&&z.options.currentValue,nodes:z.nodes&&z.nodes.currentValue,events:m1(this,this.treeModel.eventNames)})}sizeChanged(){this.viewportComponent.setViewport()}}return I.\u0275fac=function(z){return new(z||I)(r.Y36(wc),r.Y36(Yg))},I.\u0275cmp=r.Xpm({type:I,selectors:[["Tree"],["tree-root"]],contentQueries:function(z,xe,Mt){if(1&z&&(r.Suo(Mt,ng,5),r.Suo(Mt,Kf,5),r.Suo(Mt,cd,5),r.Suo(Mt,mv,5)),2&z){let an;r.iGM(an=r.CRH())&&(xe.loadingTemplate=an.first),r.iGM(an=r.CRH())&&(xe.treeNodeTemplate=an.first),r.iGM(an=r.CRH())&&(xe.treeNodeWrapperTemplate=an.first),r.iGM(an=r.CRH())&&(xe.treeNodeFullTemplate=an.first)}},viewQuery:function(z,xe){if(1&z&&r.Gf(Oh,5),2&z){let Mt;r.iGM(Mt=r.CRH())&&(xe.viewportComponent=Mt.first)}},hostBindings:function(z,xe){1&z&&r.NdJ("keydown",function(an){return xe.onKeydown(an)},!1,r.pYS)("mousedown",function(an){return xe.onMousedown(an)},!1,r.pYS)},inputs:{nodes:"nodes",options:"options",focused:"focused",state:"state"},outputs:{toggleExpanded:"toggleExpanded",activate:"activate",deactivate:"deactivate",nodeActivate:"nodeActivate",nodeDeactivate:"nodeDeactivate",select:"select",deselect:"deselect",focus:"focus",blur:"blur",updateData:"updateData",initialized:"initialized",moveNode:"moveNode",copyNode:"copyNode",loadNodeChildren:"loadNodeChildren",changeFilter:"changeFilter",event:"event",stateChange:"stateChange"},features:[r._Bn([wc]),r.TTD],decls:5,vars:6,consts:[["viewport",""],[1,"angular-tree-component"],[3,"nodes","treeModel","templates",4,"ngIf"],["class","empty-tree-drop-slot",3,"dropIndex","node",4,"ngIf"],[3,"nodes","treeModel","templates"],[1,"empty-tree-drop-slot",3,"dropIndex","node"]],template:function(z,xe){1&z&&(r.TgZ(0,"tree-viewport",null,0)(2,"div",1),r.YNc(3,vv,1,8,"tree-node-collection",2),r.YNc(4,yv,1,2,"tree-node-drop-slot",3),r.qZA()()),2&z&&(r.xp6(2),r.ekj("node-dragging",xe.treeDraggedElement.isDragging())("angular-tree-component-rtl",xe.treeModel.options.rtl),r.xp6(1),r.Q6J("ngIf",xe.treeModel.roots),r.xp6(1),r.Q6J("ngIf",xe.treeModel.isEmptyTree()))},dependencies:function(){return[a.O5,ag,wh,T1]},encapsulation:2}),I})(),qd=(()=>{class I{}return I.\u0275fac=function(z){return new(z||I)},I.\u0275cmp=r.Xpm({type:I,selectors:[["TreeNode"],["tree-node"]],inputs:{node:"node",index:"index",templates:"templates"},decls:1,vars:2,consts:[[4,"treeMobxAutorun"],[3,"class","tree-node","tree-node-expanded","tree-node-collapsed","tree-node-leaf","tree-node-active","tree-node-focused",4,"ngIf"],[3,"ngTemplateOutlet","ngTemplateOutletContext"],[3,"dropIndex","node",4,"ngIf"],[3,"node","index","templates"],[3,"node","templates"],[3,"dropIndex","node"]],template:function(z,xe){1&z&&r.YNc(0,kg,3,8,"ng-container",0),2&z&&r.Q6J("treeMobxAutorun",r.DdM(1,Hp))},dependencies:function(){return[a.O5,a.tP,Pv,ag,Zg,Xf]},encapsulation:2}),I})(),ep=(()=>{class I{}return I.\u0275fac=function(z){return new(z||I)},I.\u0275cmp=r.Xpm({type:I,selectors:[["tree-node-content"]],inputs:{node:"node",index:"index",template:"template"},decls:2,vars:7,consts:[[4,"ngIf"],[3,"ngTemplateOutlet","ngTemplateOutletContext"]],template:function(z,xe){1&z&&(r.YNc(0,n_,2,1,"span",0),r.GkF(1,1)),2&z&&(r.Q6J("ngIf",!xe.template),r.xp6(1),r.Q6J("ngTemplateOutlet",xe.template)("ngTemplateOutletContext",r.kEZ(3,$g,xe.node,xe.node,xe.index)))},dependencies:[a.O5,a.tP],encapsulation:2}),I})(),ag=(()=>{class I{onDrop(z){this.node.mouseAction("drop",z.event,{from:z.element,to:{parent:this.node,index:this.dropIndex}})}allowDrop(z,xe){return this.node.options.allowDrop(z,{parent:this.node,index:this.dropIndex},xe)}}return I.\u0275fac=function(z){return new(z||I)},I.\u0275cmp=r.Xpm({type:I,selectors:[["TreeNodeDropSlot"],["tree-node-drop-slot"]],inputs:{node:"node",dropIndex:"dropIndex"},decls:1,vars:2,consts:[[1,"node-drop-slot",3,"treeAllowDrop","allowDragoverStyling","treeDrop"]],template:function(z,xe){1&z&&(r.TgZ(0,"div",0),r.NdJ("treeDrop",function(an){return xe.onDrop(an)}),r.qZA()),2&z&&r.Q6J("treeAllowDrop",xe.allowDrop.bind(xe))("allowDragoverStyling",!0)},dependencies:function(){return[Um]},encapsulation:2}),I})(),Rv=(()=>{class I{}return I.\u0275fac=function(z){return new(z||I)},I.\u0275cmp=r.Xpm({type:I,selectors:[["tree-node-expander"]],inputs:{node:"node"},decls:1,vars:2,consts:[[4,"treeMobxAutorun"],["class","toggle-children-wrapper",3,"toggle-children-wrapper-expanded","toggle-children-wrapper-collapsed","click",4,"ngIf"],["class","toggle-children-placeholder",4,"ngIf"],[1,"toggle-children-wrapper",3,"click"],[1,"toggle-children"],[1,"toggle-children-placeholder"]],template:function(z,xe){1&z&&r.YNc(0,au,3,2,"ng-container",0),2&z&&r.Q6J("treeMobxAutorun",r.DdM(1,Hp))},dependencies:[a.O5,Xf],encapsulation:2}),I})(),Pv=(()=>{class I{}return I.\u0275fac=function(z){return new(z||I)},I.\u0275cmp=r.Xpm({type:I,selectors:[["tree-node-children"]],inputs:{node:"node",templates:"templates"},decls:1,vars:2,consts:[[4,"treeMobxAutorun"],[3,"tree-children","tree-children-no-padding",4,"treeAnimateOpen","treeAnimateOpenSpeed","treeAnimateOpenAcceleration","treeAnimateOpenEnabled"],[3,"nodes","templates","treeModel",4,"ngIf"],["class","tree-node-loading",3,"padding-left","template","node",4,"ngIf"],[3,"nodes","templates","treeModel"],[1,"tree-node-loading",3,"template","node"]],template:function(z,xe){1&z&&r.YNc(0,y1,2,4,"ng-container",0),2&z&&r.Q6J("treeMobxAutorun",r.DdM(1,Hp))},dependencies:function(){return[a.O5,Av,wh,b1,Xf]},encapsulation:2}),I})();const km=Object.assign(function Lm(...I){return ae(...I)},ae),S0=Object.assign(function lg(...I){return Ve(...I)},Ve),xv=Object.assign(function cg(...I){return Ut(...I)},Ut);var $m=function(I,ee,z,xe){var Er,Mt=arguments.length,an=Mt<3?ee:null===xe?xe=Object.getOwnPropertyDescriptor(ee,z):xe;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)an=Reflect.decorate(I,ee,z,xe);else for(var li=I.length-1;li>=0;li--)(Er=I[li])&&(an=(Mt<3?Er(an):Mt>3?Er(ee,z,an):Er(ee,z))||an);return Mt>3&&an&&Object.defineProperty(ee,z,an),an},xh=function(I,ee){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(I,ee)};let wh=(()=>{class I{constructor(){this._dispose=[]}get nodes(){return this._nodes}set nodes(z){this.setNodes(z)}get marginTop(){const z=this.viewportNodes&&this.viewportNodes.length&&this.viewportNodes[0];return(z&&z.parent?z.position-z.parent.position-z.parent.getSelfHeight():0)+"px"}setNodes(z){this._nodes=z}ngOnInit(){this.virtualScroll=this.treeModel.virtualScroll,this._dispose=[js(()=>this.virtualScroll.getViewportNodes(this.nodes).map(z=>z.index),z=>{this.viewportNodes=z.map(xe=>this.nodes[xe])},{compareStructural:!0,fireImmediately:!0}),js(()=>this.nodes,z=>{this.viewportNodes=this.virtualScroll.getViewportNodes(z)})]}ngOnDestroy(){this._dispose.forEach(z=>z())}trackNode(z,xe){return xe.id}}return I.\u0275fac=function(z){return new(z||I)},I.\u0275cmp=r.Xpm({type:I,selectors:[["tree-node-collection"]],inputs:{nodes:"nodes",treeModel:"treeModel",templates:"templates"},decls:1,vars:2,consts:[[4,"treeMobxAutorun"],[3,"node","index","templates",4,"ngFor","ngForOf","ngForTrackBy"],[3,"node","index","templates"]],template:function(z,xe){1&z&&r.YNc(0,Cv,3,4,"ng-container",0),2&z&&r.Q6J("treeMobxAutorun",r.DdM(1,Hp))},dependencies:[a.sg,qd,Xf],encapsulation:2}),I})();$m([xv,xh("design:type",Object)],wh.prototype,"_nodes",void 0),$m([xv,xh("design:type",Array)],wh.prototype,"viewportNodes",void 0),$m([S0,xh("design:type",String),xh("design:paramtypes",[])],wh.prototype,"marginTop",null),$m([km,xh("design:type",Function),xh("design:paramtypes",[Object]),xh("design:returntype",void 0)],wh.prototype,"setNodes",null);let Zg=(()=>{class I{constructor(){}}return I.\u0275fac=function(z){return new(z||I)},I.\u0275cmp=r.Xpm({type:I,selectors:[["tree-node-wrapper"]],inputs:{node:"node",index:"index",templates:"templates"},decls:2,vars:8,consts:[["class","node-wrapper",3,"padding-left",4,"ngIf"],[3,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"node-wrapper"],[3,"node",4,"ngIf"],[3,"node"],[1,"node-content-wrapper",3,"treeAllowDrop","allowDragoverStyling","treeDrag","treeDragEnabled","click","dblclick","mouseover","mouseout","contextmenu","treeDrop","treeDropDragOver","treeDropDragLeave","treeDropDragEnter"],[3,"node","index","template"]],template:function(z,xe){1&z&&(r.YNc(0,Dh,5,15,"div",0),r.GkF(1,1)),2&z&&(r.Q6J("ngIf",!xe.templates.treeNodeWrapperTemplate),r.xp6(1),r.Q6J("ngTemplateOutlet",xe.templates.treeNodeWrapperTemplate)("ngTemplateOutletContext",r.l5B(3,em,xe.node,xe.node,xe.index,xe.templates)))},dependencies:function(){return[a.O5,a.tP,ep,Um,wv,Rv,zg]},encapsulation:2}),I})(),zg=(()=>{class I{}return I.\u0275fac=function(z){return new(z||I)},I.\u0275cmp=r.Xpm({type:I,selectors:[["tree-node-checkbox"]],inputs:{node:"node"},decls:1,vars:2,consts:[[4,"treeMobxAutorun"],["type","checkbox",1,"tree-node-checkbox",3,"checked","indeterminate","click"]],template:function(z,xe){1&z&&r.YNc(0,Xd,2,2,"ng-container",0),2&z&&r.Q6J("treeMobxAutorun",r.DdM(1,Hp))},dependencies:[Xf],encapsulation:2}),I})();const A_="is-dragging-over",Hm="is-dragging-over-disabled";let Um=(()=>{class I{constructor(z,xe,Mt,an){this.el=z,this.renderer=xe,this.treeDraggedElement=Mt,this.ngZone=an,this.allowDragoverStyling=!0,this.onDropCallback=new r.vpe,this.onDragOverCallback=new r.vpe,this.onDragLeaveCallback=new r.vpe,this.onDragEnterCallback=new r.vpe,this._allowDrop=(Er,li)=>!0,this.dragOverEventHandler=this.onDragOver.bind(this),this.dragEnterEventHandler=this.onDragEnter.bind(this),this.dragLeaveEventHandler=this.onDragLeave.bind(this)}set treeAllowDrop(z){this._allowDrop=z instanceof Function?z:(xe,Mt)=>z}allowDrop(z){return this._allowDrop(this.treeDraggedElement.get(),z)}ngAfterViewInit(){let z=this.el.nativeElement;this.ngZone.runOutsideAngular(()=>{z.addEventListener("dragover",this.dragOverEventHandler),z.addEventListener("dragenter",this.dragEnterEventHandler),z.addEventListener("dragleave",this.dragLeaveEventHandler)})}ngOnDestroy(){let z=this.el.nativeElement;z.removeEventListener("dragover",this.dragOverEventHandler),z.removeEventListener("dragenter",this.dragEnterEventHandler),z.removeEventListener("dragleave",this.dragLeaveEventHandler)}onDragOver(z){if(!this.allowDrop(z))return this.allowDragoverStyling?this.addDisabledClass():void 0;this.onDragOverCallback.emit({event:z,element:this.treeDraggedElement.get()}),z.preventDefault(),this.allowDragoverStyling&&this.addClass()}onDragEnter(z){this.allowDrop(z)&&(z.preventDefault(),this.onDragEnterCallback.emit({event:z,element:this.treeDraggedElement.get()}))}onDragLeave(z){if(!this.allowDrop(z))return this.allowDragoverStyling?this.removeDisabledClass():void 0;this.onDragLeaveCallback.emit({event:z,element:this.treeDraggedElement.get()}),this.allowDragoverStyling&&this.removeClass()}onDrop(z){this.allowDrop(z)&&(z.preventDefault(),this.onDropCallback.emit({event:z,element:this.treeDraggedElement.get()}),this.allowDragoverStyling&&this.removeClass(),this.treeDraggedElement.set(null))}addClass(){this.renderer.addClass(this.el.nativeElement,A_)}removeClass(){this.renderer.removeClass(this.el.nativeElement,A_)}addDisabledClass(){this.renderer.addClass(this.el.nativeElement,Hm)}removeDisabledClass(){this.renderer.removeClass(this.el.nativeElement,Hm)}}return I.\u0275fac=function(z){return new(z||I)(r.Y36(r.SBq),r.Y36(r.Qsj),r.Y36(Yg),r.Y36(r.R0b))},I.\u0275dir=r.lG2({type:I,selectors:[["","treeDrop",""]],hostBindings:function(z,xe){1&z&&r.NdJ("drop",function(an){return xe.onDrop(an)})},inputs:{allowDragoverStyling:"allowDragoverStyling",treeAllowDrop:"treeAllowDrop"},outputs:{onDropCallback:"treeDrop",onDragOverCallback:"treeDropDragOver",onDragLeaveCallback:"treeDropDragLeave",onDragEnterCallback:"treeDropDragEnter"}}),I})(),wv=(()=>{class I{constructor(z,xe,Mt,an){this.el=z,this.renderer=xe,this.treeDraggedElement=Mt,this.ngZone=an,this.dragEventHandler=this.onDrag.bind(this)}ngAfterViewInit(){let z=this.el.nativeElement;this.ngZone.runOutsideAngular(()=>{z.addEventListener("drag",this.dragEventHandler)})}ngDoCheck(){this.renderer.setAttribute(this.el.nativeElement,"draggable",this.treeDragEnabled?"true":"false")}ngOnDestroy(){this.el.nativeElement.removeEventListener("drag",this.dragEventHandler)}onDragStart(z){z.dataTransfer.setData("text",z.target.id),this.treeDraggedElement.set(this.draggedElement),this.draggedElement.mouseAction&&this.draggedElement.mouseAction("dragStart",z)}onDrag(z){this.draggedElement.mouseAction&&this.draggedElement.mouseAction("drag",z)}onDragEnd(){this.draggedElement.mouseAction&&this.draggedElement.mouseAction("dragEnd"),this.treeDraggedElement.set(null)}}return I.\u0275fac=function(z){return new(z||I)(r.Y36(r.SBq),r.Y36(r.Qsj),r.Y36(Yg),r.Y36(r.R0b))},I.\u0275dir=r.lG2({type:I,selectors:[["","treeDrag",""]],hostBindings:function(z,xe){1&z&&r.NdJ("dragstart",function(an){return xe.onDragStart(an)})("dragend",function(){return xe.onDragEnd()})},inputs:{draggedElement:["treeDrag","draggedElement"],treeDragEnabled:"treeDragEnabled"}}),I})(),b1=(()=>{class I{constructor(z,xe,Mt){this.renderer=z,this.templateRef=xe,this.viewContainerRef=Mt}set isOpen(z){z?(this._show(),this.isEnabled&&!1===this._isOpen&&this._animateOpen()):this.isEnabled?this._animateClose():this._hide(),this._isOpen=!!z}_show(){this.innerElement||(this.innerElement=this.viewContainerRef.createEmbeddedView(this.templateRef).rootNodes[0])}_hide(){this.viewContainerRef.clear(),this.innerElement=null}_animateOpen(){let z=this.animateSpeed,xe=this.animateAcceleration,Mt=0;this.renderer.setStyle(this.innerElement,"max-height","0"),setTimeout(()=>{const an=setInterval(()=>{if(!this._isOpen||!this.innerElement)return clearInterval(an);Mt+=z;const Er=Math.round(Mt);this.renderer.setStyle(this.innerElement,"max-height",`${Er}px`);const li=this.innerElement.getBoundingClientRect?this.innerElement.getBoundingClientRect().height:0;z*=xe,xe*=1.005,li{if(this._isOpen||!this.innerElement)return clearInterval(an);Mt-=z,this.renderer.setStyle(this.innerElement,"max-height",`${Mt}px`),z*=xe,xe*=1.005,Mt<=0&&(this.viewContainerRef.clear(),this.innerElement=null,clearInterval(an))},17)}}return I.\u0275fac=function(z){return new(z||I)(r.Y36(r.Qsj),r.Y36(r.Rgc),r.Y36(r.s_b))},I.\u0275dir=r.lG2({type:I,selectors:[["","treeAnimateOpen",""]],inputs:{isOpen:["treeAnimateOpen","isOpen"],animateSpeed:["treeAnimateOpenSpeed","animateSpeed"],animateAcceleration:["treeAnimateOpenAcceleration","animateAcceleration"],isEnabled:["treeAnimateOpenEnabled","isEnabled"]}}),I})(),Nv=(()=>{class I{}return I.\u0275fac=function(z){return new(z||I)},I.\u0275mod=r.oAB({type:I}),I.\u0275inj=r.cJS({imports:[a.ez]}),I})()},84051:(y,b,o)=>{"use strict";o.d(b,{$7:()=>er,AR:()=>zt,Hg:()=>Ut,Sr:()=>Do,dX:()=>Kr,ii:()=>ji,nE:()=>Da,vq:()=>Wt,xD:()=>Lo});var r=o(64537),a=o(88692),u=o(79765),c=o(22759),e=o(26215),f=o(46782),h=o(64762);const E=["*"];function T(_t,On){1&_t&&r._UZ(0,"datatable-progress")}function D(_t,On){if(1&_t&&r._UZ(0,"datatable-summary-row",9),2&_t){const ae=r.oxw(2);r.Q6J("rowHeight",ae.summaryHeight)("offsetX",ae.offsetX)("innerWidth",ae.innerWidth)("rows",ae.rows)("columns",ae.columns)}}function A(_t,On){if(1&_t){const ae=r.EpF();r.TgZ(0,"datatable-body-row",13),r.NdJ("treeAction",function(){r.CHM(ae);const on=r.oxw().$implicit,yn=r.oxw(2);return r.KtG(yn.onTreeAction(on))})("activate",function(on){r.CHM(ae);const yn=r.oxw().index,Ei=r.oxw(2),Ui=r.MAs(2);return r.KtG(Ui.onActivate(on,Ei.indexes.first+yn))}),r.qZA()}if(2&_t){const ae=r.oxw().$implicit,We=r.oxw(2),on=r.MAs(2);r.Q6J("isSelected",on.getRowSelected(ae))("innerWidth",We.innerWidth)("offsetX",We.offsetX)("columns",We.columns)("rowHeight",We.getRowHeight(ae))("row",ae)("rowIndex",We.getRowIndex(ae))("expanded",We.getRowExpanded(ae))("rowClass",We.rowClass)("displayCheck",We.displayCheck)("treeStatus",ae&&ae.treeStatus)}}function $(_t,On){if(1&_t){const ae=r.EpF();r.TgZ(0,"datatable-body-row",15),r.NdJ("activate",function(on){const Ei=r.CHM(ae).index;r.oxw(4);const Ui=r.MAs(2);return r.KtG(Ui.onActivate(on,Ei))}),r.qZA()}if(2&_t){const ae=On.$implicit,We=r.oxw(2).$implicit,on=r.oxw(2),yn=r.MAs(2);r.Q6J("isSelected",yn.getRowSelected(ae))("innerWidth",on.innerWidth)("offsetX",on.offsetX)("columns",on.columns)("rowHeight",on.getRowHeight(ae))("row",ae)("group",We.value)("rowIndex",on.getRowIndex(ae))("expanded",on.getRowExpanded(ae))("rowClass",on.rowClass)}}function Q(_t,On){if(1&_t&&r.YNc(0,$,1,10,"datatable-body-row",14),2&_t){const ae=r.oxw().$implicit,We=r.oxw(2);r.Q6J("ngForOf",ae.value)("ngForTrackBy",We.rowTrackingFn)}}function U(_t,On){if(1&_t){const ae=r.EpF();r.TgZ(0,"datatable-row-wrapper",10),r.NdJ("rowContextmenu",function(on){r.CHM(ae);const yn=r.oxw(2);return r.KtG(yn.rowContextmenu.emit(on))}),r.YNc(1,A,1,11,"datatable-body-row",11),r.YNc(2,Q,1,2,"ng-template",null,12,r.W1O),r.qZA()}if(2&_t){const ae=On.$implicit,We=On.index,on=r.MAs(3),yn=r.oxw(2);r.Q6J("groupedRows",yn.groupedRows)("innerWidth",yn.innerWidth)("ngStyle",yn.getRowsStyles(ae))("rowDetail",yn.rowDetail)("groupHeader",yn.groupHeader)("offsetX",yn.offsetX)("detailRowHeight",yn.getDetailRowHeight(ae&&ae[We],We))("row",ae)("expanded",yn.getRowExpanded(ae))("rowIndex",yn.getRowIndex(ae&&ae[We])),r.xp6(1),r.Q6J("ngIf",!yn.groupedRows)("ngIfElse",on)}}function q(_t,On){if(1&_t&&r._UZ(0,"datatable-summary-row",16),2&_t){const ae=r.oxw(2);r.Q6J("ngStyle",ae.getBottomSummaryRowStyles())("rowHeight",ae.summaryHeight)("offsetX",ae.offsetX)("innerWidth",ae.innerWidth)("rows",ae.rows)("columns",ae.columns)}}function L(_t,On){if(1&_t){const ae=r.EpF();r.TgZ(0,"datatable-scroller",5),r.NdJ("scroll",function(on){r.CHM(ae);const yn=r.oxw();return r.KtG(yn.onBodyScroll(on))}),r.YNc(1,D,1,5,"datatable-summary-row",6),r.YNc(2,U,4,12,"datatable-row-wrapper",7),r.YNc(3,q,1,6,"datatable-summary-row",8),r.qZA()}if(2&_t){const ae=r.oxw();r.Q6J("scrollbarV",ae.scrollbarV)("scrollbarH",ae.scrollbarH)("scrollHeight",ae.scrollHeight)("scrollWidth",null==ae.columnGroupWidths?null:ae.columnGroupWidths.total),r.xp6(1),r.Q6J("ngIf",ae.summaryRow&&"top"===ae.summaryPosition),r.xp6(1),r.Q6J("ngForOf",ae.temp)("ngForTrackBy",ae.rowTrackingFn),r.xp6(1),r.Q6J("ngIf",ae.summaryRow&&"bottom"===ae.summaryPosition)}}function J(_t,On){if(1&_t&&r._UZ(0,"div",17),2&_t){const ae=r.oxw();r.Q6J("innerHTML",ae.emptyMessage,r.oJD)}}function pe(_t,On){if(1&_t){const ae=r.EpF();r.TgZ(0,"datatable-header-cell",4),r.NdJ("resize",function(on){const Ei=r.CHM(ae).$implicit,Ui=r.oxw(2);return r.KtG(Ui.onColumnResized(on,Ei))})("longPressStart",function(on){r.CHM(ae);const yn=r.oxw(2);return r.KtG(yn.onLongPressStart(on))})("longPressEnd",function(on){r.CHM(ae);const yn=r.oxw(2);return r.KtG(yn.onLongPressEnd(on))})("sort",function(on){r.CHM(ae);const yn=r.oxw(2);return r.KtG(yn.onSort(on))})("select",function(on){r.CHM(ae);const yn=r.oxw(2);return r.KtG(yn.select.emit(on))})("columnContextmenu",function(on){r.CHM(ae);const yn=r.oxw(2);return r.KtG(yn.columnContextmenu.emit(on))}),r.qZA()}if(2&_t){const ae=On.$implicit,We=r.oxw(2);r.Q6J("resizeEnabled",ae.resizeable)("pressModel",ae)("pressEnabled",We.reorderable&&ae.draggable)("dragX",We.reorderable&&ae.draggable&&ae.dragging)("dragY",!1)("dragModel",ae)("dragEventTarget",We.dragEventTarget)("headerHeight",We.headerHeight)("isTarget",ae.isTarget)("targetMarkerTemplate",We.targetMarkerTemplate)("targetMarkerContext",ae.targetMarkerContext)("column",ae)("sortType",We.sortType)("sorts",We.sorts)("selectionType",We.selectionType)("sortAscendingIcon",We.sortAscendingIcon)("sortDescendingIcon",We.sortDescendingIcon)("sortUnsetIcon",We.sortUnsetIcon)("allRowsSelected",We.allRowsSelected)}}function j(_t,On){if(1&_t&&(r.TgZ(0,"div",2),r.YNc(1,pe,1,19,"datatable-header-cell",3),r.qZA()),2&_t){const ae=On.$implicit,We=r.oxw();r.Tol("datatable-row-"+ae.type),r.Q6J("ngStyle",We._styleByGroup[ae.type]),r.xp6(1),r.Q6J("ngForOf",ae.columns)("ngForTrackBy",We.columnTrackingFn)}}function ue(_t,On){if(1&_t){const ae=r.EpF();r.TgZ(0,"datatable-header",4),r.NdJ("sort",function(on){r.CHM(ae);const yn=r.oxw();return r.KtG(yn.onColumnSort(on))})("resize",function(on){r.CHM(ae);const yn=r.oxw();return r.KtG(yn.onColumnResize(on))})("reorder",function(on){r.CHM(ae);const yn=r.oxw();return r.KtG(yn.onColumnReorder(on))})("select",function(on){r.CHM(ae);const yn=r.oxw();return r.KtG(yn.onHeaderSelect(on))})("columnContextmenu",function(on){r.CHM(ae);const yn=r.oxw();return r.KtG(yn.onColumnContextmenu(on))}),r.ALo(1,"async"),r.qZA()}if(2&_t){const ae=r.oxw();r.Q6J("sorts",ae.sorts)("sortType",ae.sortType)("scrollbarH",ae.scrollbarH)("innerWidth",ae._innerWidth)("offsetX",r.lcZ(1,15,ae._offsetX))("dealsWithGroup",void 0!==ae.groupedRows)("columns",ae._internalColumns)("headerHeight",ae.headerHeight)("reorderable",ae.reorderable)("targetMarkerTemplate",ae.targetMarkerTemplate)("sortAscendingIcon",ae.cssClasses.sortAscending)("sortDescendingIcon",ae.cssClasses.sortDescending)("sortUnsetIcon",ae.cssClasses.sortUnset)("allRowsSelected",ae.allRowsSelected)("selectionType",ae.selectionType)}}function ie(_t,On){if(1&_t){const ae=r.EpF();r.TgZ(0,"datatable-footer",5),r.NdJ("page",function(on){r.CHM(ae);const yn=r.oxw();return r.KtG(yn.onFooterPage(on))}),r.qZA()}if(2&_t){const ae=r.oxw();r.Q6J("rowCount",ae.rowCount)("pageSize",ae.pageSize)("offset",ae.offset)("footerHeight",ae.footerHeight)("footerTemplate",ae.footer)("totalMessage",ae.messages.totalMessage)("pagerLeftArrowIcon",ae.cssClasses.pagerLeftArrow)("pagerRightArrowIcon",ae.cssClasses.pagerRightArrow)("pagerPreviousIcon",ae.cssClasses.pagerPrevious)("selectedCount",ae.selected.length)("selectedMessage",!!ae.selectionType&&ae.messages.selectedMessage)("pagerNextIcon",ae.cssClasses.pagerNext)}}function me(_t,On){}function Oe(_t,On){if(1&_t&&r.YNc(0,me,0,0,"ng-template",5),2&_t){const ae=r.oxw();r.Q6J("ngTemplateOutlet",ae.targetMarkerTemplate)("ngTemplateOutletContext",ae.targetMarkerContext)}}function Ue(_t,On){if(1&_t){const ae=r.EpF();r.TgZ(0,"label",6)(1,"input",7),r.NdJ("change",function(){r.CHM(ae);const on=r.oxw();return r.KtG(on.select.emit(!on.allRowsSelected))}),r.qZA()()}if(2&_t){const ae=r.oxw();r.xp6(1),r.Q6J("checked",ae.allRowsSelected)}}function Me(_t,On){if(1&_t){const ae=r.EpF();r.TgZ(0,"span",8)(1,"span",9),r.NdJ("click",function(){r.CHM(ae);const on=r.oxw();return r.KtG(on.onSort())}),r.qZA()()}if(2&_t){const ae=r.oxw();r.xp6(1),r.Q6J("innerHTML",ae.name,r.oJD)}}function yt(_t,On){}function et(_t,On){if(1&_t&&r.YNc(0,yt,0,0,"ng-template",5),2&_t){const ae=r.oxw();r.Q6J("ngTemplateOutlet",ae.column.headerTemplate)("ngTemplateOutletContext",ae.cellContext)}}function tt(_t,On){}const Et=function(_t,On,ae,We,on){return{rowCount:_t,pageSize:On,selectedCount:ae,curPage:We,offset:on}};function ze(_t,On){if(1&_t&&r.YNc(0,tt,0,0,"ng-template",4),2&_t){const ae=r.oxw();r.Q6J("ngTemplateOutlet",ae.footerTemplate.template)("ngTemplateOutletContext",r.qbA(2,Et,ae.rowCount,ae.pageSize,ae.selectedCount,ae.curPage,ae.offset))}}function bt(_t,On){if(1&_t&&(r.TgZ(0,"span"),r._uU(1),r.qZA()),2&_t){const ae=r.oxw(2);r.xp6(1),r.AsE(" ",null==ae.selectedCount?null:ae.selectedCount.toLocaleString()," ",ae.selectedMessage," / ")}}function Ct(_t,On){if(1&_t&&(r.TgZ(0,"div",5),r.YNc(1,bt,2,2,"span",1),r._uU(2),r.qZA()),2&_t){const ae=r.oxw();r.xp6(1),r.Q6J("ngIf",ae.selectedMessage),r.xp6(1),r.AsE(" ",null==ae.rowCount?null:ae.rowCount.toLocaleString()," ",ae.totalMessage," ")}}function Qt(_t,On){if(1&_t){const ae=r.EpF();r.TgZ(0,"datatable-pager",6),r.NdJ("change",function(on){r.CHM(ae);const yn=r.oxw();return r.KtG(yn.page.emit(on))}),r.qZA()}if(2&_t){const ae=r.oxw();r.Q6J("pagerLeftArrowIcon",ae.pagerLeftArrowIcon)("pagerRightArrowIcon",ae.pagerRightArrowIcon)("pagerPreviousIcon",ae.pagerPreviousIcon)("pagerNextIcon",ae.pagerNextIcon)("page",ae.curPage)("size",ae.pageSize)("count",ae.rowCount)("hidden",!ae.isVisible)}}const ht=function(_t){return{"selected-count":_t}};function en(_t,On){if(1&_t){const ae=r.EpF();r.TgZ(0,"li",6)(1,"a",7),r.NdJ("click",function(){const yn=r.CHM(ae).$implicit,Ei=r.oxw();return r.KtG(Ei.selectPage(yn.number))}),r._uU(2),r.qZA()()}if(2&_t){const ae=On.$implicit,We=r.oxw();r.ekj("active",ae.number===We.page),r.uIk("aria-label","page "+ae.number),r.xp6(2),r.hij(" ",ae.text," ")}}function nn(_t,On){if(1&_t){const ae=r.EpF();r.TgZ(0,"datatable-body-cell",3),r.NdJ("activate",function(on){const Ei=r.CHM(ae).index,Ui=r.oxw(2);return r.KtG(Ui.onActivate(on,Ei))})("treeAction",function(){r.CHM(ae);const on=r.oxw(2);return r.KtG(on.onTreeAction())}),r.qZA()}if(2&_t){const ae=On.$implicit,We=r.oxw(2);r.Q6J("row",We.row)("group",We.group)("expanded",We.expanded)("isSelected",We.isSelected)("rowIndex",We.rowIndex)("column",ae)("rowHeight",We.rowHeight)("displayCheck",We.displayCheck)("treeStatus",We.treeStatus)}}function bn(_t,On){if(1&_t&&(r.TgZ(0,"div",1),r.YNc(1,nn,1,9,"datatable-body-cell",2),r.qZA()),2&_t){const ae=On.$implicit,We=r.oxw();r.Gre("datatable-row-",ae.type," datatable-row-group"),r.Q6J("ngStyle",We._groupStyles[ae.type]),r.xp6(1),r.Q6J("ngForOf",ae.columns)("ngForTrackBy",We.columnTrackingFn)}}function Dn(_t,On){}function Rt(_t,On){if(1&_t&&r.YNc(0,Dn,0,0,"ng-template",4),2&_t){const ae=r.oxw(2);r.Q6J("ngTemplateOutlet",ae.groupHeader.template)("ngTemplateOutletContext",ae.groupContext)}}function Xt(_t,On){if(1&_t&&(r.TgZ(0,"div",3),r.YNc(1,Rt,1,2,null,1),r.qZA()),2&_t){const ae=r.oxw();r.Q6J("ngStyle",ae.getGroupHeaderStyle()),r.xp6(1),r.Q6J("ngIf",ae.groupHeader&&ae.groupHeader.template)}}function un(_t,On){1&_t&&r.Hsn(0,0,["*ngIf","(groupHeader && groupHeader.template && expanded) || !groupHeader || !groupHeader.template"])}function _n(_t,On){}function kn(_t,On){if(1&_t&&r.YNc(0,_n,0,0,"ng-template",4),2&_t){const ae=r.oxw(2);r.Q6J("ngTemplateOutlet",ae.rowDetail.template)("ngTemplateOutletContext",ae.rowContext)}}function ri(_t,On){if(1&_t&&(r.TgZ(0,"div",5),r.YNc(1,kn,1,2,null,1),r.qZA()),2&_t){const ae=r.oxw();r.Udp("height",ae.detailRowHeight,"px"),r.xp6(1),r.Q6J("ngIf",ae.rowDetail&&ae.rowDetail.template)}}const Ir=["cellTemplate"];function wr(_t,On){if(1&_t){const ae=r.EpF();r.TgZ(0,"label",4)(1,"input",5),r.NdJ("click",function(on){r.CHM(ae);const yn=r.oxw();return r.KtG(yn.onCheckboxChange(on))}),r.qZA()()}if(2&_t){const ae=r.oxw();r.xp6(1),r.Q6J("checked",ae.isSelected)}}function _r(_t,On){1&_t&&r._UZ(0,"i",11)}function oi(_t,On){1&_t&&r._UZ(0,"i",12)}function Ri(_t,On){1&_t&&r._UZ(0,"i",13)}function Tr(_t,On){if(1&_t){const ae=r.EpF();r.TgZ(0,"button",7),r.NdJ("click",function(){r.CHM(ae);const on=r.oxw(2);return r.KtG(on.onTreeAction())}),r.TgZ(1,"span"),r.YNc(2,_r,1,0,"i",8),r.YNc(3,oi,1,0,"i",9),r.YNc(4,Ri,1,0,"i",10),r.qZA()()}if(2&_t){const ae=r.oxw(2);r.Q6J("disabled","disabled"===ae.treeStatus),r.xp6(2),r.Q6J("ngIf","loading"===ae.treeStatus),r.xp6(1),r.Q6J("ngIf","collapsed"===ae.treeStatus),r.xp6(1),r.Q6J("ngIf","expanded"===ae.treeStatus||"disabled"===ae.treeStatus)}}function ft(_t,On){}const sn=function(_t){return{cellContext:_t}};function At(_t,On){if(1&_t&&r.YNc(0,ft,0,0,"ng-template",14),2&_t){const ae=r.oxw(2);r.Q6J("ngTemplateOutlet",ae.column.treeToggleTemplate)("ngTemplateOutletContext",r.VKq(2,sn,ae.cellContext))}}function Ln(_t,On){if(1&_t&&(r.ynx(0),r.YNc(1,Tr,5,4,"button",6),r.YNc(2,At,1,4,null,2),r.BQk()),2&_t){const ae=r.oxw();r.xp6(1),r.Q6J("ngIf",!ae.column.treeToggleTemplate),r.xp6(1),r.Q6J("ngIf",ae.column.treeToggleTemplate)}}function rr(_t,On){if(1&_t&&r._UZ(0,"span",15),2&_t){const ae=r.oxw();r.Q6J("title",ae.sanitizedValue)("innerHTML",ae.value,r.oJD)}}function Lr(_t,On){}function Fi(_t,On){if(1&_t&&r.YNc(0,Lr,0,0,"ng-template",14,16,r.W1O),2&_t){const ae=r.oxw();r.Q6J("ngTemplateOutlet",ae.column.cellTemplate)("ngTemplateOutletContext",ae.cellContext)}}function so(_t,On){if(1&_t&&r._UZ(0,"datatable-body-row",1),2&_t){const ae=r.oxw();r.Q6J("innerWidth",ae.innerWidth)("offsetX",ae.offsetX)("columns",ae._internalColumns)("rowHeight",ae.rowHeight)("row",ae.summaryRow)("rowIndex",-1)}}let Vo=(()=>{class _t{constructor(ae){this.document=ae,this.width=this.getWidth()}getWidth(){const ae=this.document.createElement("div");ae.style.visibility="hidden",ae.style.width="100px",ae.style.msOverflowStyle="scrollbar",this.document.body.appendChild(ae);const We=ae.offsetWidth;ae.style.overflow="scroll";const on=this.document.createElement("div");on.style.width="100%",ae.appendChild(on);const yn=on.offsetWidth;return ae.parentNode.removeChild(ae),We-yn}}return _t.\u0275fac=function(ae){return new(ae||_t)(r.LFG(a.K0))},_t.\u0275prov=r.Yz7({token:_t,factory:_t.\u0275fac}),_t})(),Xr=(()=>{class _t{getDimensions(ae){return ae.getBoundingClientRect()}}return _t.\u0275fac=function(ae){return new(ae||_t)},_t.\u0275prov=r.Yz7({token:_t,factory:_t.\u0275fac}),_t})(),Ni=(()=>{class _t{constructor(){this.columnInputChanges=new u.xQ}get columnInputChanges$(){return this.columnInputChanges.asObservable()}onInputChange(){this.columnInputChanges.next()}}return _t.\u0275fac=function(ae){return new(ae||_t)},_t.\u0275prov=r.Yz7({token:_t,factory:_t.\u0275fac}),_t})(),ji=(()=>{class _t{constructor(ae){this.template=ae}}return _t.\u0275fac=function(ae){return new(ae||_t)(r.Y36(r.Rgc))},_t.\u0275dir=r.lG2({type:_t,selectors:[["","ngx-datatable-footer-template",""]]}),_t})(),jr=(()=>{class _t{constructor(ae,We){this.element=ae,this.zone=We,this.isVisible=!1,this.visible=new r.vpe}ngOnInit(){this.runCheck()}ngOnDestroy(){clearTimeout(this.timeout)}onVisibilityChange(){this.zone.run(()=>{this.isVisible=!0,this.visible.emit(!0)})}runCheck(){const ae=()=>{const{offsetHeight:We,offsetWidth:on}=this.element.nativeElement;We&&on?(clearTimeout(this.timeout),this.onVisibilityChange()):(clearTimeout(this.timeout),this.zone.runOutsideAngular(()=>{this.timeout=setTimeout(()=>ae(),50)}))};this.timeout=setTimeout(()=>ae())}}return _t.\u0275fac=function(ae){return new(ae||_t)(r.Y36(r.SBq),r.Y36(r.R0b))},_t.\u0275dir=r.lG2({type:_t,selectors:[["","visibilityObserver",""]],hostVars:2,hostBindings:function(ae,We){2&ae&&r.ekj("visible",We.isVisible)},outputs:{visible:"visible"}}),_t})(),Pr=(()=>{class _t{constructor(ae){this.dragX=!0,this.dragY=!0,this.dragStart=new r.vpe,this.dragging=new r.vpe,this.dragEnd=new r.vpe,this.isDragging=!1,this.element=ae.nativeElement}ngOnChanges(ae){ae.dragEventTarget&&ae.dragEventTarget.currentValue&&this.dragModel.dragging&&this.onMousedown(ae.dragEventTarget.currentValue)}ngOnDestroy(){this._destroySubscription()}onMouseup(ae){this.isDragging&&(this.isDragging=!1,this.element.classList.remove("dragging"),this.subscription&&(this._destroySubscription(),this.dragEnd.emit({event:ae,element:this.element,model:this.dragModel})))}onMousedown(ae){if(ae.target.classList.contains("draggable")&&(this.dragX||this.dragY)){ae.preventDefault(),this.isDragging=!0;const on={x:ae.clientX,y:ae.clientY},yn=(0,c.R)(document,"mouseup");this.subscription=yn.subscribe(Ui=>this.onMouseup(Ui));const Ei=(0,c.R)(document,"mousemove").pipe((0,f.R)(yn)).subscribe(Ui=>this.move(Ui,on));this.subscription.add(Ei),this.dragStart.emit({event:ae,element:this.element,model:this.dragModel})}}move(ae,We){if(!this.isDragging)return;const yn=ae.clientY-We.y;this.dragX&&(this.element.style.left=ae.clientX-We.x+"px"),this.dragY&&(this.element.style.top=`${yn}px`),this.element.classList.add("dragging"),this.dragging.emit({event:ae,element:this.element,model:this.dragModel})}_destroySubscription(){this.subscription&&(this.subscription.unsubscribe(),this.subscription=void 0)}}return _t.\u0275fac=function(ae){return new(ae||_t)(r.Y36(r.SBq))},_t.\u0275dir=r.lG2({type:_t,selectors:[["","draggable",""]],inputs:{dragX:"dragX",dragY:"dragY",dragEventTarget:"dragEventTarget",dragModel:"dragModel"},outputs:{dragStart:"dragStart",dragging:"dragging",dragEnd:"dragEnd"},features:[r.TTD]}),_t})(),Bo=(()=>{class _t{constructor(ae,We){this.renderer=We,this.resizeEnabled=!0,this.resize=new r.vpe,this.resizing=!1,this.element=ae.nativeElement}ngAfterViewInit(){const ae=this.renderer;this.resizeHandle=ae.createElement("span"),ae.addClass(this.resizeHandle,this.resizeEnabled?"resize-handle":"resize-handle--not-resizable"),ae.appendChild(this.element,this.resizeHandle)}ngOnDestroy(){this._destroySubscription(),this.renderer.destroyNode?this.renderer.destroyNode(this.resizeHandle):this.resizeHandle&&this.renderer.removeChild(this.renderer.parentNode(this.resizeHandle),this.resizeHandle)}onMouseup(){this.resizing=!1,this.subscription&&!this.subscription.closed&&(this._destroySubscription(),this.resize.emit(this.element.clientWidth))}onMousedown(ae){const We=ae.target.classList.contains("resize-handle"),on=this.element.clientWidth,yn=ae.screenX;if(We){ae.stopPropagation(),this.resizing=!0;const Ei=(0,c.R)(document,"mouseup");this.subscription=Ei.subscribe(eo=>this.onMouseup());const Ui=(0,c.R)(document,"mousemove").pipe((0,f.R)(Ei)).subscribe(eo=>this.move(eo,on,yn));this.subscription.add(Ui)}}move(ae,We,on){const Ei=We+(ae.screenX-on);(!this.minWidth||Ei>=this.minWidth)&&(!this.maxWidth||Ei<=this.maxWidth)&&(this.element.style.width=`${Ei}px`)}_destroySubscription(){this.subscription&&(this.subscription.unsubscribe(),this.subscription=void 0)}}return _t.\u0275fac=function(ae){return new(ae||_t)(r.Y36(r.SBq),r.Y36(r.Qsj))},_t.\u0275dir=r.lG2({type:_t,selectors:[["","resizeable",""]],hostVars:2,hostBindings:function(ae,We){1&ae&&r.NdJ("mousedown",function(yn){return We.onMousedown(yn)}),2&ae&&r.ekj("resizeable",We.resizeEnabled)},inputs:{resizeEnabled:"resizeEnabled",minWidth:"minWidth",maxWidth:"maxWidth"},outputs:{resize:"resize"}}),_t})(),cs=(()=>{class _t{constructor(ae,We){this.document=We,this.reorder=new r.vpe,this.targetChanged=new r.vpe,this.differ=ae.find({}).create()}ngAfterContentInit(){this.updateSubscriptions(),this.draggables.changes.subscribe(this.updateSubscriptions.bind(this))}ngOnDestroy(){this.draggables.forEach(ae=>{ae.dragStart.unsubscribe(),ae.dragging.unsubscribe(),ae.dragEnd.unsubscribe()})}updateSubscriptions(){const ae=this.differ.diff(this.createMapDiffs());if(ae){const We=({currentValue:yn,previousValue:Ei})=>{on({previousValue:Ei}),yn&&(yn.dragStart.subscribe(this.onDragStart.bind(this)),yn.dragging.subscribe(this.onDragging.bind(this)),yn.dragEnd.subscribe(this.onDragEnd.bind(this)))},on=({previousValue:yn})=>{yn&&(yn.dragStart.unsubscribe(),yn.dragging.unsubscribe(),yn.dragEnd.unsubscribe())};ae.forEachAddedItem(We),ae.forEachRemovedItem(on)}}onDragStart(){this.positions={};let ae=0;for(const We of this.draggables.toArray()){const on=We.element,yn=parseInt(on.offsetLeft.toString(),0);this.positions[We.dragModel.prop]={left:yn,right:yn+parseInt(on.offsetWidth.toString(),0),index:ae++,element:on}}}onDragging({model:We,event:on}){const yn=this.positions[We.prop],Ei=this.isTarget(We,on);Ei?this.lastDraggingIndex!==Ei.i&&(this.targetChanged.emit({prevIndex:this.lastDraggingIndex,newIndex:Ei.i,initialIndex:yn.index}),this.lastDraggingIndex=Ei.i):this.lastDraggingIndex!==yn.index&&(this.targetChanged.emit({prevIndex:this.lastDraggingIndex,initialIndex:yn.index}),this.lastDraggingIndex=yn.index)}onDragEnd({element:ae,model:We,event:on}){const yn=this.positions[We.prop],Ei=this.isTarget(We,on);Ei&&this.reorder.emit({prevIndex:yn.index,newIndex:Ei.i,model:We}),this.lastDraggingIndex=void 0,ae.style.left="auto"}isTarget(ae,We){let on=0;const Ui=this.document.elementsFromPoint(We.x||We.clientX,We.y||We.clientY);for(const eo in this.positions){const js=this.positions[eo];if(ae.prop!==eo&&Ui.find(hs=>hs===js.element))return{pos:js,i:on};on++}}createMapDiffs(){return this.draggables.toArray().reduce((ae,We)=>(ae[We.dragModel.$$id]=We,ae),{})}}return _t.\u0275fac=function(ae){return new(ae||_t)(r.Y36(r.aQg),r.Y36(a.K0))},_t.\u0275dir=r.lG2({type:_t,selectors:[["","orderable",""]],contentQueries:function(ae,We,on){if(1&ae&&r.Suo(on,Pr,5),2&ae){let yn;r.iGM(yn=r.CRH())&&(We.draggables=yn)}},outputs:{reorder:"reorder",targetChanged:"targetChanged"}}),_t})(),ts=(()=>{class _t{constructor(){this.pressEnabled=!0,this.duration=500,this.longPressStart=new r.vpe,this.longPressing=new r.vpe,this.longPressEnd=new r.vpe,this.mouseX=0,this.mouseY=0}get press(){return this.pressing}get isLongPress(){return this.isLongPressing}onMouseDown(ae){if(1!==ae.which||!this.pressEnabled||ae.target.classList.contains("resize-handle"))return;this.mouseX=ae.clientX,this.mouseY=ae.clientY,this.pressing=!0,this.isLongPressing=!1;const on=(0,c.R)(document,"mouseup");this.subscription=on.subscribe(yn=>this.onMouseup()),this.timeout=setTimeout(()=>{this.isLongPressing=!0,this.longPressStart.emit({event:ae,model:this.pressModel}),this.subscription.add((0,c.R)(document,"mousemove").pipe((0,f.R)(on)).subscribe(yn=>this.onMouseMove(yn))),this.loop(ae)},this.duration),this.loop(ae)}onMouseMove(ae){if(this.pressing&&!this.isLongPressing){const We=Math.abs(ae.clientX-this.mouseX)>10,on=Math.abs(ae.clientY-this.mouseY)>10;(We||on)&&this.endPress()}}loop(ae){this.isLongPressing&&(this.timeout=setTimeout(()=>{this.longPressing.emit({event:ae,model:this.pressModel}),this.loop(ae)},50))}endPress(){clearTimeout(this.timeout),this.isLongPressing=!1,this.pressing=!1,this._destroySubscription(),this.longPressEnd.emit({model:this.pressModel})}onMouseup(){this.endPress()}ngOnDestroy(){this._destroySubscription()}_destroySubscription(){this.subscription&&(this.subscription.unsubscribe(),this.subscription=void 0)}}return _t.\u0275fac=function(ae){return new(ae||_t)},_t.\u0275dir=r.lG2({type:_t,selectors:[["","long-press",""]],hostVars:4,hostBindings:function(ae,We){1&ae&&r.NdJ("mousedown",function(yn){return We.onMouseDown(yn)}),2&ae&&r.ekj("press",We.press)("longpress",We.isLongPress)},inputs:{pressEnabled:"pressEnabled",duration:"duration",pressModel:"pressModel"},outputs:{longPressStart:"longPressStart",longPressing:"longPressing",longPressEnd:"longPressEnd"}}),_t})(),io=(()=>{class _t{constructor(ae,We,on){this.ngZone=ae,this.renderer=on,this.scrollbarV=!1,this.scrollbarH=!1,this.scroll=new r.vpe,this.scrollYPos=0,this.scrollXPos=0,this.prevScrollYPos=0,this.prevScrollXPos=0,this._scrollEventListener=null,this.element=We.nativeElement}ngOnInit(){if(this.scrollbarV||this.scrollbarH){const ae=this.renderer;this.parentElement=ae.parentNode(ae.parentNode(this.element)),this._scrollEventListener=this.onScrolled.bind(this),this.parentElement.addEventListener("scroll",this._scrollEventListener)}}ngOnDestroy(){this._scrollEventListener&&(this.parentElement.removeEventListener("scroll",this._scrollEventListener),this._scrollEventListener=null)}setOffset(ae){this.parentElement&&(this.parentElement.scrollTop=ae)}onScrolled(ae){const We=ae.currentTarget;requestAnimationFrame(()=>{this.scrollYPos=We.scrollTop,this.scrollXPos=We.scrollLeft,this.updateOffset()})}updateOffset(){let ae;this.scrollYPosthis.prevScrollYPos&&(ae="up"),this.scroll.emit({direction:ae,scrollYPos:this.scrollYPos,scrollXPos:this.scrollXPos}),this.prevScrollYPos=this.scrollYPos,this.prevScrollXPos=this.scrollXPos}}return _t.\u0275fac=function(ae){return new(ae||_t)(r.Y36(r.R0b),r.Y36(r.SBq),r.Y36(r.Qsj))},_t.\u0275cmp=r.Xpm({type:_t,selectors:[["datatable-scroller"]],hostAttrs:[1,"datatable-scroll"],hostVars:4,hostBindings:function(ae,We){2&ae&&r.Udp("height",We.scrollHeight,"px")("width",We.scrollWidth,"px")},inputs:{scrollbarV:"scrollbarV",scrollbarH:"scrollbarH",scrollHeight:"scrollHeight",scrollWidth:"scrollWidth"},outputs:{scroll:"scroll"},ngContentSelectors:E,decls:1,vars:0,template:function(ae,We){1&ae&&(r.F$t(),r.Hsn(0))},encapsulation:2,changeDetection:0}),_t})(),Vi=(()=>{class _t{constructor(ae){this.template=ae}}return _t.\u0275fac=function(ae){return new(ae||_t)(r.Y36(r.Rgc))},_t.\u0275dir=r.lG2({type:_t,selectors:[["","ngx-datatable-group-header-template",""]]}),_t})(),Pn=(()=>{class _t{constructor(){this.rowHeight=0,this.toggle=new r.vpe}get template(){return this._templateInput||this._templateQuery}toggleExpandGroup(ae){this.toggle.emit({type:"group",value:ae})}expandAllGroups(){this.toggle.emit({type:"all",value:!0})}collapseAllGroups(){this.toggle.emit({type:"all",value:!1})}}return _t.\u0275fac=function(ae){return new(ae||_t)},_t.\u0275dir=r.lG2({type:_t,selectors:[["ngx-datatable-group-header"]],contentQueries:function(ae,We,on){if(1&ae&&r.Suo(on,Vi,7,r.Rgc),2&ae){let yn;r.iGM(yn=r.CRH())&&(We._templateQuery=yn.first)}},inputs:{rowHeight:"rowHeight",_templateInput:["template","_templateInput"]},outputs:{toggle:"toggle"}}),_t})();function Nn(){return""}function Ut(_t){return null==_t?Nn:"number"==typeof _t?ke:-1!==_t.indexOf(".")?Qe:Ie}function ke(_t,On){return null==_t?"":_t&&null!=On?_t[On]??"":_t}function Ie(_t,On){return null==_t?"":_t&&On?_t[On]??"":_t}function Qe(_t,On){if(null==_t)return"";if(!_t||!On)return _t;let ae=_t[On];if(void 0!==ae)return ae;ae=_t;const We=On.split(".");if(We.length)for(let on=0;onUt(_t)(On,_t))}function tn(_t,On,ae){if(On&&ae){const We={},on=_t.length;let yn=null;We[0]=new ot;const Ei=_t.reduce((eo,js)=>{const hs=ae(js);return-1===eo.indexOf(hs)&&eo.push(hs),eo},[]);for(let eo=0;eo-1&&(js=hs),yn.parent=We[js],yn.row.level=yn.parent.row.level+1,yn.parent.children.push(yn)}let Ui=[];return We[0].flatten(function(){Ui=[...Ui,this.row]},!0),Ui}return _t}class ot{constructor(On=null){On||(On={level:-1,treeStatus:"expanded"}),this.row=On,this.parent=null,this.children=[]}flatten(On,ae){if("expanded"===this.row.treeStatus)for(let We=0,on=this.children.length;We` ${On}`).replace(/^./,On=>On.toUpperCase())}function vr(_t){if(!_t)return;let On=!1;for(const ae of _t)ae.$$id||(ae.$$id=("0000"+(Math.random()*Math.pow(36,4)<<0).toString(36)).slice(-4)),An(ae.prop)&&ae.name&&(ae.prop=xt(ae.name)),ae.$$valueGetter||(ae.$$valueGetter=Ut(ae.prop)),!An(ae.prop)&&An(ae.name)&&(ae.name=qt(String(ae.prop))),An(ae.prop)&&An(ae.name)&&(ae.name=""),ae.hasOwnProperty("resizeable")||(ae.resizeable=!0),ae.hasOwnProperty("sortable")||(ae.sortable=!0),ae.hasOwnProperty("draggable")||(ae.draggable=!0),ae.hasOwnProperty("canAutoResize")||(ae.canAutoResize=!0),ae.hasOwnProperty("width")||(ae.width=150),ae.hasOwnProperty("isTreeColumn")&&ae.isTreeColumn&&!On?On=!0:ae.isTreeColumn=!1}function An(_t){return null==_t}var Nr=(()=>{return(_t=Nr||(Nr={})).standard="standard",_t.flex="flex",_t.force="force",Nr;var _t})(),nr=(()=>{return(_t=nr||(nr={})).single="single",_t.multi="multi",_t.multiClick="multiClick",_t.cell="cell",_t.checkbox="checkbox",nr;var _t})(),Qn=(()=>{return(_t=Qn||(Qn={})).single="single",_t.multi="multi",Qn;var _t})(),dr=(()=>{return(_t=dr||(dr={})).header="header",_t.body="body",dr;var _t})();let Wn=(()=>{class _t{constructor(ae){this.template=ae}}return _t.\u0275fac=function(ae){return new(ae||_t)(r.Y36(r.Rgc))},_t.\u0275dir=r.lG2({type:_t,selectors:[["","ngx-datatable-header-template",""]]}),_t})(),Wt=(()=>{class _t{constructor(ae){this.template=ae}}return _t.\u0275fac=function(ae){return new(ae||_t)(r.Y36(r.Rgc))},_t.\u0275dir=r.lG2({type:_t,selectors:[["","ngx-datatable-cell-template",""]]}),_t})(),kt=(()=>{class _t{constructor(ae){this.template=ae}}return _t.\u0275fac=function(ae){return new(ae||_t)(r.Y36(r.Rgc))},_t.\u0275dir=r.lG2({type:_t,selectors:[["","ngx-datatable-tree-toggle",""]]}),_t})(),st=(()=>{class _t{constructor(ae){this.columnChangesService=ae,this.isFirstChange=!0}get cellTemplate(){return this._cellTemplateInput||this._cellTemplateQuery}get headerTemplate(){return this._headerTemplateInput||this._headerTemplateQuery}get treeToggleTemplate(){return this._treeToggleTemplateInput||this._treeToggleTemplateQuery}ngOnChanges(){this.isFirstChange?this.isFirstChange=!1:this.columnChangesService.onInputChange()}}return _t.\u0275fac=function(ae){return new(ae||_t)(r.Y36(Ni))},_t.\u0275dir=r.lG2({type:_t,selectors:[["ngx-datatable-column"]],contentQueries:function(ae,We,on){if(1&ae&&(r.Suo(on,Wt,7,r.Rgc),r.Suo(on,Wn,7,r.Rgc),r.Suo(on,kt,7,r.Rgc)),2&ae){let yn;r.iGM(yn=r.CRH())&&(We._cellTemplateQuery=yn.first),r.iGM(yn=r.CRH())&&(We._headerTemplateQuery=yn.first),r.iGM(yn=r.CRH())&&(We._treeToggleTemplateQuery=yn.first)}},inputs:{name:"name",prop:"prop",frozenLeft:"frozenLeft",frozenRight:"frozenRight",flexGrow:"flexGrow",resizeable:"resizeable",comparator:"comparator",pipe:"pipe",sortable:"sortable",draggable:"draggable",canAutoResize:"canAutoResize",minWidth:"minWidth",width:"width",maxWidth:"maxWidth",checkboxable:"checkboxable",headerCheckboxable:"headerCheckboxable",headerClass:"headerClass",cellClass:"cellClass",isTreeColumn:"isTreeColumn",treeLevelIndent:"treeLevelIndent",summaryFunc:"summaryFunc",summaryTemplate:"summaryTemplate",_cellTemplateInput:["cellTemplate","_cellTemplateInput"],_headerTemplateInput:["headerTemplate","_headerTemplateInput"],_treeToggleTemplateInput:["treeToggleTemplate","_treeToggleTemplateInput"]},features:[r.TTD]}),_t})(),zt=(()=>{class _t{constructor(ae){this.template=ae}}return _t.\u0275fac=function(ae){return new(ae||_t)(r.Y36(r.Rgc))},_t.\u0275dir=r.lG2({type:_t,selectors:[["","ngx-datatable-row-detail-template",""]]}),_t})(),er=(()=>{class _t{constructor(){this.rowHeight=0,this.toggle=new r.vpe}get template(){return this._templateInput||this._templateQuery}toggleExpandRow(ae){this.toggle.emit({type:"row",value:ae})}expandAllRows(){this.toggle.emit({type:"all",value:!0})}collapseAllRows(){this.toggle.emit({type:"all",value:!1})}}return _t.\u0275fac=function(ae){return new(ae||_t)},_t.\u0275dir=r.lG2({type:_t,selectors:[["ngx-datatable-row-detail"]],contentQueries:function(ae,We,on){if(1&ae&&r.Suo(on,zt,7,r.Rgc),2&ae){let yn;r.iGM(yn=r.CRH())&&(We._templateQuery=yn.first)}},inputs:{rowHeight:"rowHeight",_templateInput:["template","_templateInput"]},outputs:{toggle:"toggle"}}),_t})(),Kr=(()=>{class _t{get template(){return this._templateInput||this._templateQuery}}return _t.\u0275fac=function(ae){return new(ae||_t)},_t.\u0275dir=r.lG2({type:_t,selectors:[["ngx-datatable-footer"]],contentQueries:function(ae,We,on){if(1&ae&&r.Suo(on,ji,5,r.Rgc),2&ae){let yn;r.iGM(yn=r.CRH())&&(We._templateQuery=yn.first)}},inputs:{footerHeight:"footerHeight",totalMessage:"totalMessage",selectedMessage:"selectedMessage",pagerLeftArrowIcon:"pagerLeftArrowIcon",pagerRightArrowIcon:"pagerRightArrowIcon",pagerPreviousIcon:"pagerPreviousIcon",pagerNextIcon:"pagerNextIcon",_templateInput:["template","_templateInput"]}}),_t})();function mi(_t){const On={left:[],center:[],right:[]};if(_t)for(const ae of _t)ae.frozenLeft?On.left.push(ae):ae.frozenRight?On.right.push(ae):On.center.push(ae);return On}function gi(_t,On){return{left:Jo(_t.left),center:Jo(_t.center),right:Jo(_t.right),total:Math.floor(Jo(On))}}function Jo(_t,On){let ae=0;if(_t)for(const We of _t)ae+=parseFloat(On&&We[On]?We[On]:We.width);return ae}function hr(_t){const On=[],ae=mi(_t);return On.push({type:"left",columns:ae.left}),On.push({type:"center",columns:ae.center}),On.push({type:"right",columns:ae.right}),On}class Ii{constructor(){this.treeArray=[]}clearCache(){this.treeArray=[]}initCache(On){const{rows:ae,rowHeight:We,detailRowHeight:on,externalVirtual:yn,rowCount:Ei,rowIndexes:Ui,rowExpansions:eo}=On,js="function"==typeof We,hs="function"==typeof on;if(!js&&isNaN(We))throw new Error(`Row Height cache initialization failed. Please ensure that 'rowHeight' is a\n valid number or function value: (${We}) when 'scrollbarV' is enabled.`);if(!hs&&isNaN(on))throw new Error(`Row Height cache initialization failed. Please ensure that 'detailRowHeight' is a\n valid number or function value: (${on}) when 'scrollbarV' is enabled.`);const ia=yn?Ei:ae.length;this.treeArray=new Array(ia);for(let ta=0;ta=0;)ae+=this.treeArray[On],On=(On&On+1)-1;return ae}queryBetween(On,ae){return this.query(ae)-this.query(On-1)}calcRowIndex(On){if(!this.treeArray.length)return 0;let ae=-1;const We=this.treeArray.length;for(let yn=Math.pow(2,We.toString(2).length-1);0!==yn;yn>>=1){const Ei=ae+yn;Ei=this.treeArray[Ei]&&(On-=this.treeArray[Ei],ae=Ei)}return ae+1}}const ni={},Vr=typeof document<"u"?document.createElement("div").style:void 0,Gi=function(){const _t=typeof window<"u"?window.getComputedStyle(document.documentElement,""):void 0,On=typeof _t<"u"?Array.prototype.slice.call(_t).join("").match(/-(moz|webkit|ms)-/):null,ae=null!==On?On[1]:void 0,We=typeof ae<"u"?"WebKit|Moz|MS|O".match(new RegExp("("+ae+")","i"))[1]:void 0;return We?{dom:We,lowercase:ae,css:`-${ae}-`,js:ae[0].toUpperCase()+ae.substr(1)}:void 0}();function Wi(_t){const On=xt(_t);return ni[On]||(void 0!==Gi&&void 0!==Vr[Gi.css+_t]?ni[On]=Gi.css+_t:void 0!==Vr[_t]&&(ni[On]=_t)),ni[On]}const Mo=typeof window<"u"?Wi("transform"):void 0,As=typeof window<"u"?Wi("backfaceVisibility"):void 0,Ls=typeof window<"u"?!!Wi("transform"):void 0,qr=typeof window<"u"?!!Wi("perspective"):void 0,$r=typeof window<"u"?window.navigator.userAgent:"Chrome",Cn=/Safari\//.test($r)&&!/Chrome\//.test($r);function mn(_t,On,ae){typeof Mo<"u"&&Ls?!Cn&&qr?(_t[Mo]=`translate3d(${On}px, ${ae}px, 0)`,_t[As]="hidden"):_t[xt(Mo)]=`translate(${On}px, ${ae}px)`:(_t.top=`${ae}px`,_t.left=`${On}px`)}let kr=(()=>{class _t{constructor(ae){this.cd=ae,this.selected=[],this.scroll=new r.vpe,this.page=new r.vpe,this.activate=new r.vpe,this.select=new r.vpe,this.detailToggle=new r.vpe,this.rowContextmenu=new r.vpe(!1),this.treeAction=new r.vpe,this.rowHeightsCache=new Ii,this.temp=[],this.offsetY=0,this.indexes={},this.rowIndexes=new WeakMap,this.rowExpansions=[],this.getDetailRowHeight=(We,on)=>{if(!this.rowDetail)return 0;const yn=this.rowDetail.rowHeight;return"function"==typeof yn?yn(We,on):yn},this.rowTrackingFn=(We,on)=>{const yn=this.getRowIndex(on);return this.trackByProp?on[this.trackByProp]:yn}}set pageSize(ae){this._pageSize=ae,this.recalcLayout()}get pageSize(){return this._pageSize}set rows(ae){this._rows=ae,this.recalcLayout()}get rows(){return this._rows}set columns(ae){this._columns=ae;const We=mi(ae);this.columnGroupWidths=gi(We,ae)}get columns(){return this._columns}set offset(ae){this._offset=ae,(!this.scrollbarV||this.scrollbarV&&!this.virtualization)&&this.recalcLayout()}get offset(){return this._offset}set rowCount(ae){this._rowCount=ae,this.recalcLayout()}get rowCount(){return this._rowCount}get bodyWidth(){return this.scrollbarH?this.innerWidth+"px":"100%"}set bodyHeight(ae){this._bodyHeight=this.scrollbarV?ae+"px":"auto",this.recalcLayout()}get bodyHeight(){return this._bodyHeight}get selectEnabled(){return!!this.selectionType}get scrollHeight(){if(this.scrollbarV&&this.virtualization&&this.rowCount)return this.rowHeightsCache.query(this.rowCount-1)}ngOnInit(){this.rowDetail&&(this.listener=this.rowDetail.toggle.subscribe(({type:ae,value:We})=>{"row"===ae&&this.toggleRowExpansion(We),"all"===ae&&this.toggleAllRows(We),this.updateIndexes(),this.updateRows(),this.cd.markForCheck()})),this.groupHeader&&(this.listener=this.groupHeader.toggle.subscribe(({type:ae,value:We})=>{"group"===ae&&this.toggleRowExpansion(We),"all"===ae&&this.toggleAllRows(We),this.updateIndexes(),this.updateRows(),this.cd.markForCheck()}))}ngOnDestroy(){(this.rowDetail||this.groupHeader)&&this.listener.unsubscribe()}updateOffsetY(ae){this.scroller&&(this.scrollbarV&&this.virtualization&&ae?ae=this.rowHeightsCache.query(this.pageSize*ae-1):this.scrollbarV&&!this.virtualization&&(ae=0),this.scroller.setOffset(ae||0))}onBodyScroll(ae){const We=ae.scrollYPos,on=ae.scrollXPos;(this.offsetY!==We||this.offsetX!==on)&&this.scroll.emit({offsetY:We,offsetX:on}),this.offsetY=We,this.offsetX=on,this.updateIndexes(),this.updatePage(ae.direction),this.updateRows()}updatePage(ae){let We=this.indexes.first/this.pageSize;"up"===ae?We=Math.ceil(We):"down"===ae&&(We=Math.floor(We)),void 0!==ae&&!isNaN(We)&&this.page.emit({offset:We})}updateRows(){const{first:ae,last:We}=this.indexes;let on=ae,yn=0;const Ei=[];if(this.groupedRows){let Ui=3;for(1===this.groupedRows.length&&(Ui=this.groupedRows[0].value.length);on{this.rowIndexes.set(js,`${on}-${hs}`)}),Ei[yn]=eo,yn++,on++}}else for(;onthis.loadingIndicator=!1,500)}updateIndexes(){let ae=0,We=0;if(this.scrollbarV)if(this.virtualization){const on=parseInt(this.bodyHeight,0);ae=this.rowHeightsCache.getRowIndex(this.offsetY),We=this.rowHeightsCache.getRowIndex(on+this.offsetY)+1}else ae=0,We=this.rowCount;else this.externalPaging||(ae=Math.max(this.offset*this.pageSize,0)),We=Math.min(ae+this.pageSize,this.rowCount);this.indexes={first:ae,last:We}}refreshRowHeightCache(){if(this.scrollbarV&&(!this.scrollbarV||this.virtualization)&&(this.rowHeightsCache.clearCache(),this.rows&&this.rows.length)){const ae=new Set;for(const We of this.rows)this.getRowExpanded(We)&&ae.add(We);this.rowHeightsCache.initCache({rows:this.rows,rowHeight:this.rowHeight,detailRowHeight:this.getDetailRowHeight,externalVirtual:this.scrollbarV&&this.externalPaging,rowCount:this.rowCount,rowIndexes:this.rowIndexes,rowExpansions:ae})}}getAdjustedViewPortIndex(){const ae=this.indexes.first;return this.scrollbarV&&this.virtualization&&this.rowHeightsCache.query(ae-1)<=this.offsetY?ae-1:ae}toggleRowExpansion(ae){const We=this.getAdjustedViewPortIndex(),on=this.getRowExpandedIdx(ae,this.rowExpansions),yn=on>-1;if(this.scrollbarV&&this.virtualization){const Ei=this.getDetailRowHeight(ae)*(yn?-1:1),Ui=this.getRowIndex(ae);this.rowHeightsCache.update(Ui,Ei)}yn?this.rowExpansions.splice(on,1):this.rowExpansions.push(ae),this.detailToggle.emit({rows:[ae],currentIndex:We})}toggleAllRows(ae){this.rowExpansions=[];const We=this.getAdjustedViewPortIndex();if(ae)for(const on of this.rows)this.rowExpansions.push(on);this.scrollbarV&&this.recalcLayout(),this.detailToggle.emit({rows:this.rows,currentIndex:We})}recalcLayout(){this.refreshRowHeightCache(),this.updateIndexes(),this.updateRows()}columnTrackingFn(ae,We){return We.$$id}stylesByGroup(ae){const We=this.columnGroupWidths,on=this.offsetX,yn={width:`${We[ae]}px`};if("left"===ae)mn(yn,on,0);else if("right"===ae){const Ei=parseInt(this.innerWidth+"",0);mn(yn,-1*(We.total-Ei-on),0)}return yn}getRowExpanded(ae){if(0===this.rowExpansions.length&&this.groupExpansionDefault)for(const We of this.groupedRows)this.rowExpansions.push(We);return this.getRowExpandedIdx(ae,this.rowExpansions)>-1}getRowExpandedIdx(ae,We){if(!We||!We.length)return-1;const on=this.rowIdentity(ae);return We.findIndex(yn=>this.rowIdentity(yn)===on)}getRowIndex(ae){return this.rowIndexes.get(ae)||0}onTreeAction(ae){this.treeAction.emit({row:ae})}}return _t.\u0275fac=function(ae){return new(ae||_t)(r.Y36(r.sBO))},_t.\u0275cmp=r.Xpm({type:_t,selectors:[["datatable-body"]],viewQuery:function(ae,We){if(1&ae&&r.Gf(io,5),2&ae){let on;r.iGM(on=r.CRH())&&(We.scroller=on.first)}},hostAttrs:[1,"datatable-body"],hostVars:4,hostBindings:function(ae,We){2&ae&&r.Udp("width",We.bodyWidth)("height",We.bodyHeight)},inputs:{selected:"selected",pageSize:"pageSize",rows:"rows",columns:"columns",offset:"offset",rowCount:"rowCount",bodyHeight:"bodyHeight",offsetX:"offsetX",loadingIndicator:"loadingIndicator",scrollbarV:"scrollbarV",scrollbarH:"scrollbarH",externalPaging:"externalPaging",rowHeight:"rowHeight",emptyMessage:"emptyMessage",selectionType:"selectionType",rowIdentity:"rowIdentity",rowDetail:"rowDetail",groupHeader:"groupHeader",selectCheck:"selectCheck",displayCheck:"displayCheck",trackByProp:"trackByProp",rowClass:"rowClass",groupedRows:"groupedRows",groupExpansionDefault:"groupExpansionDefault",innerWidth:"innerWidth",groupRowsBy:"groupRowsBy",virtualization:"virtualization",summaryRow:"summaryRow",summaryPosition:"summaryPosition",summaryHeight:"summaryHeight"},outputs:{scroll:"scroll",page:"page",activate:"activate",select:"select",detailToggle:"detailToggle",rowContextmenu:"rowContextmenu",treeAction:"treeAction"},decls:5,vars:9,consts:[[4,"ngIf"],[3,"selected","rows","selectCheck","selectEnabled","selectionType","rowIdentity","select","activate"],["selector",""],[3,"scrollbarV","scrollbarH","scrollHeight","scrollWidth","scroll",4,"ngIf"],["class","empty-row",3,"innerHTML",4,"ngIf"],[3,"scrollbarV","scrollbarH","scrollHeight","scrollWidth","scroll"],[3,"rowHeight","offsetX","innerWidth","rows","columns",4,"ngIf"],[3,"groupedRows","innerWidth","ngStyle","rowDetail","groupHeader","offsetX","detailRowHeight","row","expanded","rowIndex","rowContextmenu",4,"ngFor","ngForOf","ngForTrackBy"],[3,"ngStyle","rowHeight","offsetX","innerWidth","rows","columns",4,"ngIf"],[3,"rowHeight","offsetX","innerWidth","rows","columns"],[3,"groupedRows","innerWidth","ngStyle","rowDetail","groupHeader","offsetX","detailRowHeight","row","expanded","rowIndex","rowContextmenu"],["tabindex","-1",3,"isSelected","innerWidth","offsetX","columns","rowHeight","row","rowIndex","expanded","rowClass","displayCheck","treeStatus","treeAction","activate",4,"ngIf","ngIfElse"],["groupedRowsTemplate",""],["tabindex","-1",3,"isSelected","innerWidth","offsetX","columns","rowHeight","row","rowIndex","expanded","rowClass","displayCheck","treeStatus","treeAction","activate"],["tabindex","-1",3,"isSelected","innerWidth","offsetX","columns","rowHeight","row","group","rowIndex","expanded","rowClass","activate",4,"ngFor","ngForOf","ngForTrackBy"],["tabindex","-1",3,"isSelected","innerWidth","offsetX","columns","rowHeight","row","group","rowIndex","expanded","rowClass","activate"],[3,"ngStyle","rowHeight","offsetX","innerWidth","rows","columns"],[1,"empty-row",3,"innerHTML"]],template:function(ae,We){1&ae&&(r.YNc(0,T,1,0,"datatable-progress",0),r.TgZ(1,"datatable-selection",1,2),r.NdJ("select",function(yn){return We.select.emit(yn)})("activate",function(yn){return We.activate.emit(yn)}),r.YNc(3,L,4,8,"datatable-scroller",3),r.YNc(4,J,1,1,"div",4),r.qZA()),2&ae&&(r.Q6J("ngIf",We.loadingIndicator),r.xp6(1),r.Q6J("selected",We.selected)("rows",We.rows)("selectCheck",We.selectCheck)("selectEnabled",We.selectEnabled)("selectionType",We.selectionType)("rowIdentity",We.rowIdentity),r.xp6(2),r.Q6J("ngIf",null==We.rows?null:We.rows.length),r.xp6(1),r.Q6J("ngIf",!(null!=We.rows&&We.rows.length||We.loadingIndicator)))},dependencies:function(){return[a.sg,a.O5,a.PC,io,Ra,Cs,Ks,Qo,rs]},encapsulation:2,changeDetection:0}),_t})(),Qi=(()=>{class _t{constructor(ae){this.cd=ae,this.sort=new r.vpe,this.reorder=new r.vpe,this.resize=new r.vpe,this.select=new r.vpe,this.columnContextmenu=new r.vpe(!1),this._columnGroupWidths={total:100},this._styleByGroup={left:{},center:{},right:{}},this.destroyed=!1}set innerWidth(ae){this._innerWidth=ae,setTimeout(()=>{if(this._columns){const We=mi(this._columns);this._columnGroupWidths=gi(We,this._columns),this.setStylesByGroup()}})}get innerWidth(){return this._innerWidth}set headerHeight(ae){this._headerHeight="auto"!==ae?`${ae}px`:ae}get headerHeight(){return this._headerHeight}set columns(ae){this._columns=ae;const We=mi(ae);this._columnsByPin=hr(ae),setTimeout(()=>{this._columnGroupWidths=gi(We,ae),this.setStylesByGroup()})}get columns(){return this._columns}set offsetX(ae){this._offsetX=ae,this.setStylesByGroup()}get offsetX(){return this._offsetX}ngOnDestroy(){this.destroyed=!0}onLongPressStart({event:ae,model:We}){We.dragging=!0,this.dragEventTarget=ae}onLongPressEnd({event:ae,model:We}){this.dragEventTarget=ae,setTimeout(()=>{const on=this._columns.find(yn=>yn.$$id===We.$$id);on&&(on.dragging=!1)},5)}get headerWidth(){return this.scrollbarH?this.innerWidth+"px":"100%"}trackByGroups(ae,We){return We.type}columnTrackingFn(ae,We){return We.$$id}onColumnResized(ae,We){ae<=We.minWidth?ae=We.minWidth:ae>=We.maxWidth&&(ae=We.maxWidth),this.resize.emit({column:We,prevValue:We.width,newValue:ae})}onColumnReordered({prevIndex:ae,newIndex:We,model:on}){const yn=this.getColumn(We);yn.isTarget=!1,yn.targetMarkerContext=void 0,this.reorder.emit({column:on,prevValue:ae,newValue:We})}onTargetChanged({prevIndex:ae,newIndex:We,initialIndex:on}){if(ae||0===ae){const yn=this.getColumn(ae);yn.isTarget=!1,yn.targetMarkerContext=void 0}if(We||0===We){const yn=this.getColumn(We);yn.isTarget=!0,on!==We&&(yn.targetMarkerContext={class:"targetMarker ".concat(on>We?"dragFromRight":"dragFromLeft")})}}getColumn(ae){const We=this._columnsByPin[0].columns.length;if(ae((Ui=Object.assign({},Ui)).prop===ae.prop&&(yn=eo),Ui));return void 0===on?Ei.splice(yn,1):We?Ei[yn].dir=on:(this.sortType===Qn.single&&Ei.splice(0,this.sorts.length),Ei.push({dir:on,prop:ae.prop})),Ei}setStylesByGroup(){this._styleByGroup.left=this.calcStylesByGroup("left"),this._styleByGroup.center=this.calcStylesByGroup("center"),this._styleByGroup.right=this.calcStylesByGroup("right"),this.destroyed||this.cd.detectChanges()}calcStylesByGroup(ae){const We=this._columnGroupWidths,yn={width:`${We[ae]}px`};return"center"===ae?mn(yn,-1*this.offsetX,0):"right"===ae&&mn(yn,-1*(We.total-this.innerWidth),0),yn}}return _t.\u0275fac=function(ae){return new(ae||_t)(r.Y36(r.sBO))},_t.\u0275cmp=r.Xpm({type:_t,selectors:[["datatable-header"]],hostAttrs:[1,"datatable-header"],hostVars:4,hostBindings:function(ae,We){2&ae&&r.Udp("height",We.headerHeight)("width",We.headerWidth)},inputs:{innerWidth:"innerWidth",headerHeight:"headerHeight",columns:"columns",offsetX:"offsetX",sorts:"sorts",sortAscendingIcon:"sortAscendingIcon",sortDescendingIcon:"sortDescendingIcon",sortUnsetIcon:"sortUnsetIcon",scrollbarH:"scrollbarH",dealsWithGroup:"dealsWithGroup",targetMarkerTemplate:"targetMarkerTemplate",sortType:"sortType",allRowsSelected:"allRowsSelected",selectionType:"selectionType",reorderable:"reorderable"},outputs:{sort:"sort",reorder:"reorder",resize:"resize",select:"select",columnContextmenu:"columnContextmenu"},decls:2,vars:4,consts:[["orderable","",1,"datatable-header-inner",3,"reorder","targetChanged"],[3,"class","ngStyle",4,"ngFor","ngForOf","ngForTrackBy"],[3,"ngStyle"],["resizeable","","long-press","","draggable","",3,"resizeEnabled","pressModel","pressEnabled","dragX","dragY","dragModel","dragEventTarget","headerHeight","isTarget","targetMarkerTemplate","targetMarkerContext","column","sortType","sorts","selectionType","sortAscendingIcon","sortDescendingIcon","sortUnsetIcon","allRowsSelected","resize","longPressStart","longPressEnd","sort","select","columnContextmenu",4,"ngFor","ngForOf","ngForTrackBy"],["resizeable","","long-press","","draggable","",3,"resizeEnabled","pressModel","pressEnabled","dragX","dragY","dragModel","dragEventTarget","headerHeight","isTarget","targetMarkerTemplate","targetMarkerContext","column","sortType","sorts","selectionType","sortAscendingIcon","sortDescendingIcon","sortUnsetIcon","allRowsSelected","resize","longPressStart","longPressEnd","sort","select","columnContextmenu"]],template:function(ae,We){1&ae&&(r.TgZ(0,"div",0),r.NdJ("reorder",function(yn){return We.onColumnReordered(yn)})("targetChanged",function(yn){return We.onTargetChanged(yn)}),r.YNc(1,j,2,5,"div",1),r.qZA()),2&ae&&(r.Udp("width",We._columnGroupWidths.total,"px"),r.xp6(1),r.Q6J("ngForOf",We._columnsByPin)("ngForTrackBy",We.trackByGroups))},dependencies:function(){return[a.sg,a.PC,Pr,Bo,cs,ts,Ga]},encapsulation:2,changeDetection:0}),_t})();function xo(_t,On,ae){ae=ae||{};let We,on,yn,Ei=null,Ui=0;function eo(){Ui=!1===ae.leading?0:+new Date,Ei=null,yn=_t.apply(We,on)}return function(){const js=+new Date;!Ui&&!1===ae.leading&&(Ui=js);const hs=On-(js-Ui);return We=this,on=arguments,hs<=0?(clearTimeout(Ei),Ei=null,Ui=js,yn=_t.apply(We,on)):!Ei&&!1!==ae.trailing&&(Ei=setTimeout(eo,hs)),yn}}function Ss(_t,On){return function(We,on,yn){return{configurable:!0,enumerable:yn.enumerable,get:function(){return Object.defineProperty(this,on,{configurable:!0,enumerable:yn.enumerable,value:xo(yn.value,_t,On)}),this[on]}}}}function Ys(_t,On){for(const ae of On){const We=_t.indexOf(ae);_t.splice(We,1)}}function ra(_t,On=300){let ae=0;for(const We of _t)ae+=We.width||On;return ae}var Do=(()=>{return(_t=Do||(Do={})).asc="asc",_t.desc="desc",Do;var _t})();function Ql(_t,On){if((null===_t||typeof _t>"u")&&(_t=0),(null===On||typeof On>"u")&&(On=0),_t instanceof Date&&On instanceof Date){if(_tOn)return 1}else if(isNaN(parseFloat(_t))||!isFinite(_t)||isNaN(parseFloat(On))||!isFinite(On)){if(_t=String(_t),On=String(On),_t.toLowerCase()On.toLowerCase())return 1}else{if(parseFloat(_t)parseFloat(On))return 1}return 0}let Da=(()=>{class _t{constructor(ae,We,on,yn,Ei,Ui,eo){this.scrollbarHelper=ae,this.dimensionsHelper=We,this.cd=on,this.columnChangesService=Ui,this.configuration=eo,this.selected=[],this.scrollbarV=!1,this.scrollbarH=!1,this.rowHeight=30,this.columnMode=Nr.standard,this.headerHeight=30,this.footerHeight=0,this.externalPaging=!1,this.externalSorting=!1,this.loadingIndicator=!1,this.reorderable=!0,this.swapColumns=!0,this.sortType=Qn.single,this.sorts=[],this.cssClasses={sortAscending:"datatable-icon-up",sortDescending:"datatable-icon-down",sortUnset:"datatable-icon-sort-unset",pagerLeftArrow:"datatable-icon-left",pagerRightArrow:"datatable-icon-right",pagerPrevious:"datatable-icon-prev",pagerNext:"datatable-icon-skip"},this.messages={emptyMessage:"No data to display",totalMessage:"total",selectedMessage:"selected"},this.groupExpansionDefault=!1,this.selectAllRowsOnPage=!1,this.virtualization=!0,this.summaryRow=!1,this.summaryHeight=30,this.summaryPosition="top",this.scroll=new r.vpe,this.activate=new r.vpe,this.select=new r.vpe,this.sort=new r.vpe,this.page=new r.vpe,this.reorder=new r.vpe,this.resize=new r.vpe,this.tableContextmenu=new r.vpe(!1),this.treeAction=new r.vpe,this.rowCount=0,this._offsetX=new e.X(0),this._count=0,this._offset=0,this._subscriptions=[],this.rowIdentity=js=>this._groupRowsBy?js.key:js,this.element=yn.nativeElement,this.rowDiffer=Ei.find({}).create(),this.configuration&&this.configuration.messages&&(this.messages=Object.assign({},this.configuration.messages))}set rows(ae){this._rows=ae,ae&&(this._internalRows=[...ae]),this.externalSorting||this.sortInternalRows(),this._internalRows=tn(this._internalRows,Ve(this.treeFromRelation),Ve(this.treeToRelation)),this.recalculate(),this._rows&&this._groupRowsBy&&(this.groupedRows=this.groupArrayBy(this._rows,this._groupRowsBy)),this.cd.markForCheck()}get rows(){return this._rows}set groupRowsBy(ae){ae&&(this._groupRowsBy=ae,this._rows&&this._groupRowsBy&&(this.groupedRows=this.groupArrayBy(this._rows,this._groupRowsBy)))}get groupRowsBy(){return this._groupRowsBy}set columns(ae){ae&&(this._internalColumns=[...ae],vr(this._internalColumns),this.recalculateColumns()),this._columns=ae}get columns(){return this._columns}set limit(ae){this._limit=ae,this.recalculate()}get limit(){return this._limit}set count(ae){this._count=ae,this.recalculate()}get count(){return this._count}set offset(ae){this._offset=ae}get offset(){return Math.max(Math.min(this._offset,Math.ceil(this.rowCount/this.pageSize)-1),0)}get isFixedHeader(){const ae=this.headerHeight;return"string"!=typeof ae||"auto"!==ae}get isFixedRow(){return"auto"!==this.rowHeight}get isVertScroll(){return this.scrollbarV}get isVirtualized(){return this.virtualization}get isHorScroll(){return this.scrollbarH}get isSelectable(){return void 0!==this.selectionType}get isCheckboxSelection(){return this.selectionType===nr.checkbox}get isCellSelection(){return this.selectionType===nr.cell}get isSingleSelection(){return this.selectionType===nr.single}get isMultiSelection(){return this.selectionType===nr.multi}get isMultiClickSelection(){return this.selectionType===nr.multiClick}set columnTemplates(ae){this._columnTemplates=ae,this.translateColumns(ae)}get columnTemplates(){return this._columnTemplates}get allRowsSelected(){let ae=this.rows&&this.selected&&this.selected.length===this.rows.length;if(this.bodyComponent&&this.selectAllRowsOnPage){const We=this.bodyComponent.indexes;ae=this.selected.length===We.last-We.first}return this.selected&&this.rows&&0!==this.rows.length&&ae}ngOnInit(){this.recalculate()}ngAfterViewInit(){this.externalSorting||this.sortInternalRows(),!(typeof requestAnimationFrame>"u")&&requestAnimationFrame(()=>{this.recalculate(),this.externalPaging&&this.scrollbarV&&this.page.emit({count:this.count,pageSize:this.pageSize,limit:this.limit,offset:0})})}ngAfterContentInit(){this.columnTemplates.changes.subscribe(ae=>this.translateColumns(ae)),this.listenForColumnInputChanges()}translateColumns(ae){if(ae){const We=ae.toArray();We.length&&(this._internalColumns=function yr(_t){const On=[];for(const ae of _t){const We={},on=Object.getOwnPropertyNames(ae);for(const yn of on)We[yn]=ae[yn];ae.headerTemplate&&(We.headerTemplate=ae.headerTemplate),ae.cellTemplate&&(We.cellTemplate=ae.cellTemplate),ae.summaryFunc&&(We.summaryFunc=ae.summaryFunc),ae.summaryTemplate&&(We.summaryTemplate=ae.summaryTemplate),On.push(We)}return On}(We),vr(this._internalColumns),this.recalculateColumns(),this.sortInternalRows(),this.cd.markForCheck())}}groupArrayBy(ae,We){const on=new Map;return ae.forEach(Ui=>{const eo=Ui[We];on.has(eo)?on.get(eo).push(Ui):on.set(eo,[Ui])}),Array.from(on,Ui=>((Ui,eo)=>({key:Ui,value:eo}))(Ui[0],Ui[1]))}ngDoCheck(){this.rowDiffer.diff(this.rows)&&(this.externalSorting?this._internalRows=[...this.rows]:this.sortInternalRows(),this._internalRows=tn(this._internalRows,Ve(this.treeFromRelation),Ve(this.treeToRelation)),this.recalculatePages(),this.cd.markForCheck())}recalculate(){this.recalculateDims(),this.recalculateColumns(),this.cd.markForCheck()}onWindowResize(){this.recalculate()}recalculateColumns(ae=this._internalColumns,We=-1,on=this.scrollbarH){if(!ae)return;let yn=this._innerWidth;return this.scrollbarV&&(yn-=this.scrollbarHelper.width),this.columnMode===Nr.force?function ps(_t,On,ae,We,on=300){const yn=_t.slice(ae+1,_t.length).filter(ta=>!1!==ta.canAutoResize);for(const ta of yn)ta.$$oldWidth||(ta.$$oldWidth=ta.width);let Ei=0,Ui=!1,eo=ra(_t,on),js=On-eo;const hs=[];do{Ei=js/yn.length,Ui=eo>=On;for(const ta of yn){if(Ui&&We)ta.width=ta.$$oldWidth||ta.width||on;else{const Ul=(ta.width||on)+Ei;ta.minWidth&&Ulta.maxWidth?(ta.width=ta.maxWidth,hs.push(ta)):ta.width=Ul}ta.width=Math.max(0,ta.width)}eo=ra(_t),js=On-eo,Ys(yn,hs)}while(js>1&&0!==yn.length)}(ae,yn,We,on):this.columnMode===Nr.flex&&function ko(_t,On){const ae=function os(_t,On){let ae=0;for(const We of _t)ae+=On&&We[On]?We[On]:We.width;return ae}(_t),We=function bs(_t){let On=0;for(const ae of _t)On+=ae.flexGrow||0;return On}(_t),on=mi(_t);ae!==On&&function $s(_t,On,ae){for(const yn in _t)for(const Ei of _t[yn])Ei.canAutoResize?Ei.width=0:(On-=Ei.width,ae-=Ei.flexGrow?Ei.flexGrow:0);const We={};let on=On;do{const yn=on/ae;on=0;for(const Ei in _t)for(const Ui of _t[Ei])if(Ui.canAutoResize&&!We[Ui.prop]){const eo=Ui.width+Ui.flexGrow*yn;void 0!==Ui.minWidth&&eo((Ei=Object.assign({},Ei)).$$id===ae.$$id&&(on=Ui,Ei.width=We,Ei.$$oldWidth=We),Ei));this.recalculateColumns(yn,on),this._internalColumns=yn,this.resize.emit({column:ae,newValue:We})}onColumnReorder({column:ae,newValue:We,prevValue:on}){const yn=this._internalColumns.map(Ei=>Object.assign({},Ei));if(this.swapColumns){const Ei=yn[We];yn[We]=ae,yn[on]=Ei}else if(We>on){const Ei=yn[on];for(let Ui=on;UiWe;Ui--)yn[Ui]=yn[Ui-1];yn[We]=Ei}this._internalColumns=yn,this.reorder.emit({column:ae,newValue:We,prevValue:on})}onColumnSort(ae){this.selectAllRowsOnPage&&(this.selected=[],this.select.emit({selected:this.selected})),this.sorts=ae.sorts,!1===this.externalSorting&&this.sortInternalRows(),this._internalRows=tn(this._internalRows,Ve(this.treeFromRelation),Ve(this.treeToRelation)),this.offset=0,this.bodyComponent.updateOffsetY(this.offset),this.sort.emit(ae)}onHeaderSelect(ae){if(this.bodyComponent&&this.selectAllRowsOnPage){const We=this.bodyComponent.indexes.first,on=this.bodyComponent.indexes.last,yn=this.selected.length===on-We;this.selected=[],yn||this.selected.push(...this._internalRows.slice(We,on))}else{const We=this.selected.length===this.rows.length;this.selected=[],We||this.selected.push(...this.rows)}this.select.emit({selected:this.selected})}onBodySelect(ae){this.select.emit(ae)}onTreeAction(ae){const We=ae.row,on=this._rows.findIndex(yn=>yn[this.treeToRelation]===ae.row[this.treeToRelation]);this.treeAction.emit({row:We,rowIndex:on})}ngOnDestroy(){this._subscriptions.forEach(ae=>ae.unsubscribe())}listenForColumnInputChanges(){this._subscriptions.push(this.columnChangesService.columnInputChanges$.subscribe(()=>{this.columnTemplates&&this.columnTemplates.notifyOnChanges()}))}sortInternalRows(){this._internalRows=function tl(_t,On,ae){if(!_t)return[];if(!ae||!ae.length||!On)return[..._t];const We=new Map;_t.forEach((Ui,eo)=>We.set(Ui,eo));const on=[..._t],yn=On.reduce((Ui,eo)=>(eo.comparator&&"function"==typeof eo.comparator&&(Ui[eo.prop]=eo.comparator),Ui),{}),Ei=ae.map(Ui=>{const eo=Ui.prop;return{prop:eo,dir:Ui.dir,valueGetter:Ut(eo),compareFn:yn[eo]||Ql}});return on.sort(function(Ui,eo){for(const js of Ei){const{prop:hs,valueGetter:ia}=js,ta=ia(Ui,hs),Ul=ia(eo,hs),Fl=js.dir!==Do.desc?js.compareFn(ta,Ul,Ui,eo,js.dir):-js.compareFn(ta,Ul,Ui,eo,js.dir);if(0!==Fl)return Fl}return We.has(Ui)&&We.has(eo)?We.get(Ui)div{display:flex}.ngx-datatable .datatable-footer{display:block;overflow:auto;width:100%}.ngx-datatable .datatable-footer .datatable-footer-inner{align-items:center;display:flex;width:100%}.ngx-datatable .datatable-footer .selected-count .page-count{flex:1 1 40%}.ngx-datatable .datatable-footer .selected-count .datatable-pager{flex:1 1 60%}.ngx-datatable .datatable-footer .page-count{flex:1 1 20%}.ngx-datatable .datatable-footer .datatable-pager{flex:1 1 80%;text-align:right}.ngx-datatable .datatable-footer .datatable-pager .pager,.ngx-datatable .datatable-footer .datatable-pager .pager li{display:inline-block;list-style:none;margin:0;padding:0}.ngx-datatable .datatable-footer .datatable-pager .pager li,.ngx-datatable .datatable-footer .datatable-pager .pager li a{outline:none}.ngx-datatable .datatable-footer .datatable-pager .pager li a{cursor:pointer;display:inline-block}.ngx-datatable .datatable-footer .datatable-pager .pager li.disabled a{cursor:not-allowed}"],encapsulation:2,changeDetection:0}),(0,h.gn)([Ss(5)],_t.prototype,"onWindowResize",null),_t})(),Ga=(()=>{class _t{constructor(ae){this.cd=ae,this.sort=new r.vpe,this.select=new r.vpe,this.columnContextmenu=new r.vpe(!1),this.sortFn=this.onSort.bind(this),this.selectFn=this.select.emit.bind(this.select),this.cellContext={column:this.column,sortDir:this.sortDir,sortFn:this.sortFn,allRowsSelected:this.allRowsSelected,selectFn:this.selectFn}}set allRowsSelected(ae){this._allRowsSelected=ae,this.cellContext.allRowsSelected=ae}get allRowsSelected(){return this._allRowsSelected}set column(ae){this._column=ae,this.cellContext.column=ae,this.cd.markForCheck()}get column(){return this._column}set sorts(ae){this._sorts=ae,this.sortDir=this.calcSortDir(ae),this.cellContext.sortDir=this.sortDir,this.sortClass=this.calcSortClass(this.sortDir),this.cd.markForCheck()}get sorts(){return this._sorts}get columnCssClasses(){let ae="datatable-header-cell";if(this.column.sortable&&(ae+=" sortable"),this.column.resizeable&&(ae+=" resizeable"),this.column.headerClass)if("string"==typeof this.column.headerClass)ae+=" "+this.column.headerClass;else if("function"==typeof this.column.headerClass){const on=this.column.headerClass({column:this.column});if("string"==typeof on)ae+=on;else if("object"==typeof on){const yn=Object.keys(on);for(const Ei of yn)!0===on[Ei]&&(ae+=` ${Ei}`)}}const We=this.sortDir;return We&&(ae+=` sort-active sort-${We}`),ae}get name(){return void 0===this.column.headerTemplate?this.column.name:void 0}get minWidth(){return this.column.minWidth}get maxWidth(){return this.column.maxWidth}get width(){return this.column.width}get isCheckboxable(){return this.column.checkboxable&&this.column.headerCheckboxable&&this.selectionType===nr.checkbox}onContextmenu(ae){this.columnContextmenu.emit({event:ae,column:this.column})}ngOnInit(){this.sortClass=this.calcSortClass(this.sortDir)}calcSortDir(ae){if(ae&&this.column){const We=ae.find(on=>on.prop===this.column.prop);if(We)return We.dir}}onSort(){if(!this.column.sortable)return;const ae=function oc(_t,On){return _t===Qn.single?On===Do.asc?Do.desc:Do.asc:On?On===Do.asc?Do.desc:void 0:Do.asc}(this.sortType,this.sortDir);this.sort.emit({column:this.column,prevValue:this.sortDir,newValue:ae})}calcSortClass(ae){if(this.cellContext.column.sortable)return ae===Do.asc?`sort-btn sort-asc ${this.sortAscendingIcon}`:ae===Do.desc?`sort-btn sort-desc ${this.sortDescendingIcon}`:`sort-btn ${this.sortUnsetIcon}`}}return _t.\u0275fac=function(ae){return new(ae||_t)(r.Y36(r.sBO))},_t.\u0275cmp=r.Xpm({type:_t,selectors:[["datatable-header-cell"]],hostAttrs:[1,"datatable-header-cell"],hostVars:11,hostBindings:function(ae,We){1&ae&&r.NdJ("contextmenu",function(yn){return We.onContextmenu(yn)}),2&ae&&(r.uIk("title",We.name),r.Tol(We.columnCssClasses),r.Udp("min-width",We.minWidth,"px")("max-width",We.maxWidth,"px")("width",We.width,"px")("height",We.headerHeight,"px"))},inputs:{allRowsSelected:"allRowsSelected",column:"column",sorts:"sorts",sortType:"sortType",sortAscendingIcon:"sortAscendingIcon",sortDescendingIcon:"sortDescendingIcon",sortUnsetIcon:"sortUnsetIcon",isTarget:"isTarget",targetMarkerTemplate:"targetMarkerTemplate",targetMarkerContext:"targetMarkerContext",selectionType:"selectionType",headerHeight:"headerHeight"},outputs:{sort:"sort",select:"select",columnContextmenu:"columnContextmenu"},decls:6,vars:6,consts:[[1,"datatable-header-cell-template-wrap"],[4,"ngIf"],["class","datatable-checkbox",4,"ngIf"],["class","datatable-header-cell-wrapper",4,"ngIf"],[3,"click"],[3,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"datatable-checkbox"],["type","checkbox",3,"checked","change"],[1,"datatable-header-cell-wrapper"],[1,"datatable-header-cell-label","draggable",3,"innerHTML","click"]],template:function(ae,We){1&ae&&(r.TgZ(0,"div",0),r.YNc(1,Oe,1,2,null,1),r.YNc(2,Ue,2,1,"label",2),r.YNc(3,Me,2,1,"span",3),r.YNc(4,et,1,2,null,1),r.TgZ(5,"span",4),r.NdJ("click",function(){return We.onSort()}),r.qZA()()),2&ae&&(r.xp6(1),r.Q6J("ngIf",We.isTarget),r.xp6(1),r.Q6J("ngIf",We.isCheckboxable),r.xp6(1),r.Q6J("ngIf",!We.column.headerTemplate),r.xp6(1),r.Q6J("ngIf",We.column.headerTemplate),r.xp6(1),r.Tol(We.sortClass))},dependencies:[a.O5,a.tP],encapsulation:2,changeDetection:0}),_t})(),Pl=(()=>{class _t{constructor(){this.selectedCount=0,this.page=new r.vpe}get isVisible(){return this.rowCount/this.pageSize>1}get curPage(){return this.offset+1}}return _t.\u0275fac=function(ae){return new(ae||_t)},_t.\u0275cmp=r.Xpm({type:_t,selectors:[["datatable-footer"]],hostAttrs:[1,"datatable-footer"],inputs:{selectedCount:"selectedCount",footerHeight:"footerHeight",rowCount:"rowCount",pageSize:"pageSize",offset:"offset",pagerLeftArrowIcon:"pagerLeftArrowIcon",pagerRightArrowIcon:"pagerRightArrowIcon",pagerPreviousIcon:"pagerPreviousIcon",pagerNextIcon:"pagerNextIcon",totalMessage:"totalMessage",footerTemplate:"footerTemplate",selectedMessage:"selectedMessage"},outputs:{page:"page"},decls:4,vars:8,consts:[[1,"datatable-footer-inner",3,"ngClass"],[4,"ngIf"],["class","page-count",4,"ngIf"],[3,"pagerLeftArrowIcon","pagerRightArrowIcon","pagerPreviousIcon","pagerNextIcon","page","size","count","hidden","change",4,"ngIf"],[3,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"page-count"],[3,"pagerLeftArrowIcon","pagerRightArrowIcon","pagerPreviousIcon","pagerNextIcon","page","size","count","hidden","change"]],template:function(ae,We){1&ae&&(r.TgZ(0,"div",0),r.YNc(1,ze,1,8,null,1),r.YNc(2,Ct,3,3,"div",2),r.YNc(3,Qt,1,8,"datatable-pager",3),r.qZA()),2&ae&&(r.Udp("height",We.footerHeight,"px"),r.Q6J("ngClass",r.VKq(6,ht,We.selectedMessage)),r.xp6(1),r.Q6J("ngIf",We.footerTemplate),r.xp6(1),r.Q6J("ngIf",!We.footerTemplate),r.xp6(1),r.Q6J("ngIf",!We.footerTemplate))},dependencies:function(){return[a.mk,a.O5,a.tP,Eo]},encapsulation:2,changeDetection:0}),_t})(),Eo=(()=>{class _t{constructor(){this.change=new r.vpe,this._count=0,this._page=1,this._size=0}set size(ae){this._size=ae,this.pages=this.calcPages()}get size(){return this._size}set count(ae){this._count=ae,this.pages=this.calcPages()}get count(){return this._count}set page(ae){this._page=ae,this.pages=this.calcPages()}get page(){return this._page}get totalPages(){const ae=this.size<1?1:Math.ceil(this.count/this.size);return Math.max(ae||0,1)}canPrevious(){return this.page>1}canNext(){return this.page0&&ae<=this.totalPages&&ae!==this.page&&(this.page=ae,this.change.emit({page:ae}))}calcPages(ae){const We=[];let on=1,yn=this.totalPages;ae=ae||this.page,5this.totalPages&&(on=Math.max(this.totalPages-5+1,1),yn=this.totalPages));for(let eo=on;eo<=yn;eo++)We.push({number:eo,text:eo});return We}}return _t.\u0275fac=function(ae){return new(ae||_t)},_t.\u0275cmp=r.Xpm({type:_t,selectors:[["datatable-pager"]],hostAttrs:[1,"datatable-pager"],inputs:{size:"size",count:"count",page:"page",pagerLeftArrowIcon:"pagerLeftArrowIcon",pagerRightArrowIcon:"pagerRightArrowIcon",pagerPreviousIcon:"pagerPreviousIcon",pagerNextIcon:"pagerNextIcon"},outputs:{change:"change"},decls:14,vars:21,consts:[[1,"pager"],["role","button","aria-label","go to first page","href","javascript:void(0)",3,"click"],["role","button","aria-label","go to previous page","href","javascript:void(0)",3,"click"],["role","button","class","pages",3,"active",4,"ngFor","ngForOf"],["role","button","aria-label","go to next page","href","javascript:void(0)",3,"click"],["role","button","aria-label","go to last page","href","javascript:void(0)",3,"click"],["role","button",1,"pages"],["href","javascript:void(0)",3,"click"]],template:function(ae,We){1&ae&&(r.TgZ(0,"ul",0)(1,"li")(2,"a",1),r.NdJ("click",function(){return We.selectPage(1)}),r._UZ(3,"i"),r.qZA()(),r.TgZ(4,"li")(5,"a",2),r.NdJ("click",function(){return We.prevPage()}),r._UZ(6,"i"),r.qZA()(),r.YNc(7,en,3,4,"li",3),r.TgZ(8,"li")(9,"a",4),r.NdJ("click",function(){return We.nextPage()}),r._UZ(10,"i"),r.qZA()(),r.TgZ(11,"li")(12,"a",5),r.NdJ("click",function(){return We.selectPage(We.totalPages)}),r._UZ(13,"i"),r.qZA()()()),2&ae&&(r.xp6(1),r.ekj("disabled",!We.canPrevious()),r.xp6(2),r.Tol(We.pagerPreviousIcon),r.xp6(1),r.ekj("disabled",!We.canPrevious()),r.xp6(2),r.Tol(We.pagerLeftArrowIcon),r.xp6(1),r.Q6J("ngForOf",We.pages),r.xp6(1),r.ekj("disabled",!We.canNext()),r.xp6(2),r.Tol(We.pagerRightArrowIcon),r.xp6(1),r.ekj("disabled",!We.canNext()),r.xp6(2),r.Tol(We.pagerNextIcon))},dependencies:[a.sg],encapsulation:2,changeDetection:0}),_t})(),Ra=(()=>{class _t{}return _t.\u0275fac=function(ae){return new(ae||_t)},_t.\u0275cmp=r.Xpm({type:_t,selectors:[["datatable-progress"]],decls:3,vars:0,consts:[["role","progressbar",1,"progress-linear"],[1,"container"],[1,"bar"]],template:function(ae,We){1&ae&&(r.TgZ(0,"div",0)(1,"div",1),r._UZ(2,"div",2),r.qZA()())},encapsulation:2,changeDetection:0}),_t})();var Fo=(()=>{return(_t=Fo||(Fo={}))[_t.up=38]="up",_t[_t.down=40]="down",_t[_t.return=13]="return",_t[_t.escape=27]="escape",_t[_t.left=37]="left",_t[_t.right=39]="right",Fo;var _t})();let Cs=(()=>{class _t{constructor(ae,We,on,yn){this.differs=ae,this.scrollbarHelper=We,this.cd=on,this.treeStatus="collapsed",this.activate=new r.vpe,this.treeAction=new r.vpe,this._groupStyles={left:{},center:{},right:{}},this._element=yn.nativeElement,this._rowDiffer=ae.find({}).create()}set columns(ae){this._columns=ae,this.recalculateColumns(ae),this.buildStylesByGroup()}get columns(){return this._columns}set innerWidth(ae){if(this._columns){const We=mi(this._columns);this._columnGroupWidths=gi(We,this._columns)}this._innerWidth=ae,this.recalculateColumns(),this.buildStylesByGroup()}get innerWidth(){return this._innerWidth}set offsetX(ae){this._offsetX=ae,this.buildStylesByGroup()}get offsetX(){return this._offsetX}get cssClass(){let ae="datatable-body-row";if(this.isSelected&&(ae+=" active"),this.rowIndex%2!=0&&(ae+=" datatable-row-odd"),this.rowIndex%2==0&&(ae+=" datatable-row-even"),this.rowClass){const We=this.rowClass(this.row);if("string"==typeof We)ae+=` ${We}`;else if("object"==typeof We){const on=Object.keys(We);for(const yn of on)!0===We[yn]&&(ae+=` ${yn}`)}}return ae}get columnsTotalWidths(){return this._columnGroupWidths.total}ngDoCheck(){this._rowDiffer.diff(this.row)&&this.cd.markForCheck()}trackByGroups(ae,We){return We.type}columnTrackingFn(ae,We){return We.$$id}buildStylesByGroup(){this._groupStyles.left=this.calcStylesByGroup("left"),this._groupStyles.center=this.calcStylesByGroup("center"),this._groupStyles.right=this.calcStylesByGroup("right"),this.cd.markForCheck()}calcStylesByGroup(ae){const We=this._columnGroupWidths,on=this.offsetX,yn={width:`${We[ae]}px`};if("left"===ae)mn(yn,on,0);else if("right"===ae){const Ei=parseInt(this.innerWidth+"",0);mn(yn,-1*(We.total-Ei-on+this.scrollbarHelper.width),0)}return yn}onActivate(ae,We){ae.cellIndex=We,ae.rowElement=this._element,this.activate.emit(ae)}onKeyDown(ae){const We=ae.keyCode;(We===Fo.return||We===Fo.down||We===Fo.up||We===Fo.left||We===Fo.right)&&ae.target===this._element&&(ae.preventDefault(),ae.stopPropagation(),this.activate.emit({type:"keydown",event:ae,row:this.row,rowElement:this._element}))}onMouseenter(ae){this.activate.emit({type:"mouseenter",event:ae,row:this.row,rowElement:this._element})}recalculateColumns(ae=this.columns){this._columns=ae;const We=mi(this._columns);this._columnsByPin=hr(this._columns),this._columnGroupWidths=gi(We,this._columns)}onTreeAction(){this.treeAction.emit()}}return _t.\u0275fac=function(ae){return new(ae||_t)(r.Y36(r.aQg),r.Y36(Vo,4),r.Y36(r.sBO),r.Y36(r.SBq))},_t.\u0275cmp=r.Xpm({type:_t,selectors:[["datatable-body-row"]],hostVars:6,hostBindings:function(ae,We){1&ae&&r.NdJ("keydown",function(yn){return We.onKeyDown(yn)})("mouseenter",function(yn){return We.onMouseenter(yn)}),2&ae&&(r.Tol(We.cssClass),r.Udp("width",We.columnsTotalWidths,"px")("height",We.rowHeight,"px"))},inputs:{treeStatus:"treeStatus",columns:"columns",innerWidth:"innerWidth",offsetX:"offsetX",expanded:"expanded",rowClass:"rowClass",row:"row",group:"group",isSelected:"isSelected",rowIndex:"rowIndex",displayCheck:"displayCheck",rowHeight:"rowHeight"},outputs:{activate:"activate",treeAction:"treeAction"},decls:1,vars:2,consts:[[3,"class","ngStyle",4,"ngFor","ngForOf","ngForTrackBy"],[3,"ngStyle"],["tabindex","-1",3,"row","group","expanded","isSelected","rowIndex","column","rowHeight","displayCheck","treeStatus","activate","treeAction",4,"ngFor","ngForOf","ngForTrackBy"],["tabindex","-1",3,"row","group","expanded","isSelected","rowIndex","column","rowHeight","displayCheck","treeStatus","activate","treeAction"]],template:function(ae,We){1&ae&&r.YNc(0,bn,2,6,"div",0),2&ae&&r.Q6J("ngForOf",We._columnsByPin)("ngForTrackBy",We.trackByGroups)},dependencies:function(){return[a.sg,a.PC,nl]},encapsulation:2,changeDetection:0}),_t})(),Ks=(()=>{class _t{constructor(ae,We){this.cd=ae,this.differs=We,this.rowContextmenu=new r.vpe(!1),this.groupContext={group:this.row,expanded:this.expanded,rowIndex:this.rowIndex},this.rowContext={row:this.row,expanded:this.expanded,rowIndex:this.rowIndex},this._expanded=!1,this.rowDiffer=We.find({}).create()}set rowIndex(ae){this._rowIndex=ae,this.rowContext.rowIndex=ae,this.groupContext.rowIndex=ae,this.cd.markForCheck()}get rowIndex(){return this._rowIndex}set expanded(ae){this._expanded=ae,this.groupContext.expanded=ae,this.rowContext.expanded=ae,this.cd.markForCheck()}get expanded(){return this._expanded}ngDoCheck(){this.rowDiffer.diff(this.row)&&(this.rowContext.row=this.row,this.groupContext.group=this.row,this.cd.markForCheck())}onContextmenu(ae){this.rowContextmenu.emit({event:ae,row:this.row})}getGroupHeaderStyle(){const ae={};return ae.transform="translate3d("+this.offsetX+"px, 0px, 0px)",ae["backface-visibility"]="hidden",ae.width=this.innerWidth,ae}}return _t.\u0275fac=function(ae){return new(ae||_t)(r.Y36(r.sBO),r.Y36(r.aQg))},_t.\u0275cmp=r.Xpm({type:_t,selectors:[["datatable-row-wrapper"]],hostAttrs:[1,"datatable-row-wrapper"],hostBindings:function(ae,We){1&ae&&r.NdJ("contextmenu",function(yn){return We.onContextmenu(yn)})},inputs:{rowIndex:"rowIndex",expanded:"expanded",innerWidth:"innerWidth",rowDetail:"rowDetail",groupHeader:"groupHeader",offsetX:"offsetX",detailRowHeight:"detailRowHeight",row:"row",groupedRows:"groupedRows"},outputs:{rowContextmenu:"rowContextmenu"},ngContentSelectors:E,decls:3,vars:3,consts:[["class","datatable-group-header",3,"ngStyle",4,"ngIf"],[4,"ngIf"],["class","datatable-row-detail",3,"height",4,"ngIf"],[1,"datatable-group-header",3,"ngStyle"],[3,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"datatable-row-detail"]],template:function(ae,We){1&ae&&(r.F$t(),r.YNc(0,Xt,2,2,"div",0),r.YNc(1,un,1,0,"ng-content",1),r.YNc(2,ri,2,3,"div",2)),2&ae&&(r.Q6J("ngIf",We.groupHeader&&We.groupHeader.template),r.xp6(1),r.Q6J("ngIf",We.groupHeader&&We.groupHeader.template&&We.expanded||!We.groupHeader||!We.groupHeader.template),r.xp6(1),r.Q6J("ngIf",We.rowDetail&&We.rowDetail.template&&We.expanded))},dependencies:[a.O5,a.tP,a.PC],encapsulation:2,changeDetection:0}),_t})(),nl=(()=>{class _t{constructor(ae,We){this.cd=We,this.activate=new r.vpe,this.treeAction=new r.vpe,this.isFocused=!1,this.onCheckboxChangeFn=this.onCheckboxChange.bind(this),this.activateFn=this.activate.emit.bind(this.activate),this.cellContext={onCheckboxChangeFn:this.onCheckboxChangeFn,activateFn:this.activateFn,row:this.row,group:this.group,value:this.value,column:this.column,rowHeight:this.rowHeight,isSelected:this.isSelected,rowIndex:this.rowIndex,treeStatus:this.treeStatus,onTreeAction:this.onTreeAction.bind(this)},this._element=ae.nativeElement}set group(ae){this._group=ae,this.cellContext.group=ae,this.checkValueUpdates(),this.cd.markForCheck()}get group(){return this._group}set rowHeight(ae){this._rowHeight=ae,this.cellContext.rowHeight=ae,this.checkValueUpdates(),this.cd.markForCheck()}get rowHeight(){return this._rowHeight}set isSelected(ae){this._isSelected=ae,this.cellContext.isSelected=ae,this.cd.markForCheck()}get isSelected(){return this._isSelected}set expanded(ae){this._expanded=ae,this.cellContext.expanded=ae,this.cd.markForCheck()}get expanded(){return this._expanded}set rowIndex(ae){this._rowIndex=ae,this.cellContext.rowIndex=ae,this.checkValueUpdates(),this.cd.markForCheck()}get rowIndex(){return this._rowIndex}set column(ae){this._column=ae,this.cellContext.column=ae,this.checkValueUpdates(),this.cd.markForCheck()}get column(){return this._column}set row(ae){this._row=ae,this.cellContext.row=ae,this.checkValueUpdates(),this.cd.markForCheck()}get row(){return this._row}set sorts(ae){this._sorts=ae,this.calcSortDir=this.calcSortDir(ae)}get sorts(){return this._sorts}set treeStatus(ae){this._treeStatus="collapsed"!==ae&&"expanded"!==ae&&"loading"!==ae&&"disabled"!==ae?"collapsed":ae,this.cellContext.treeStatus=this._treeStatus,this.checkValueUpdates(),this.cd.markForCheck()}get treeStatus(){return this._treeStatus}get columnCssClasses(){let ae="datatable-body-cell";if(this.column.cellClass)if("string"==typeof this.column.cellClass)ae+=" "+this.column.cellClass;else if("function"==typeof this.column.cellClass){const We=this.column.cellClass({row:this.row,group:this.group,column:this.column,value:this.value,rowHeight:this.rowHeight});if("string"==typeof We)ae+=" "+We;else if("object"==typeof We){const on=Object.keys(We);for(const yn of on)!0===We[yn]&&(ae+=` ${yn}`)}}return this.sortDir||(ae+=" sort-active"),this.isFocused&&(ae+=" active"),this.sortDir===Do.asc&&(ae+=" sort-asc"),this.sortDir===Do.desc&&(ae+=" sort-desc"),ae}get width(){return this.column.width}get minWidth(){return this.column.minWidth}get maxWidth(){return this.column.maxWidth}get height(){const ae=this.rowHeight;return isNaN(ae)?ae:ae+"px"}ngDoCheck(){this.checkValueUpdates()}ngOnDestroy(){this.cellTemplate&&this.cellTemplate.clear()}checkValueUpdates(){let ae="";if(this.row&&this.column){const We=this.column.$$valueGetter(this.row,this.column.prop),on=this.column.pipe;on?ae=on.transform(We):void 0!==ae&&(ae=We)}else ae="";this.value!==ae&&(this.value=ae,this.cellContext.value=ae,this.sanitizedValue=null!=ae?this.stripHtml(ae):ae,this.cd.markForCheck())}onFocus(){this.isFocused=!0}onBlur(){this.isFocused=!1}onClick(ae){this.activate.emit({type:"click",event:ae,row:this.row,group:this.group,rowHeight:this.rowHeight,column:this.column,value:this.value,cellElement:this._element})}onDblClick(ae){this.activate.emit({type:"dblclick",event:ae,row:this.row,group:this.group,rowHeight:this.rowHeight,column:this.column,value:this.value,cellElement:this._element})}onKeyDown(ae){const We=ae.keyCode;(We===Fo.return||We===Fo.down||We===Fo.up||We===Fo.left||We===Fo.right)&&ae.target===this._element&&(ae.preventDefault(),ae.stopPropagation(),this.activate.emit({type:"keydown",event:ae,row:this.row,group:this.group,rowHeight:this.rowHeight,column:this.column,value:this.value,cellElement:this._element}))}onCheckboxChange(ae){this.activate.emit({type:"checkbox",event:ae,row:this.row,group:this.group,rowHeight:this.rowHeight,column:this.column,value:this.value,cellElement:this._element,treeStatus:"collapsed"})}calcSortDir(ae){if(!ae)return;const We=ae.find(on=>on.prop===this.column.prop);return We?We.dir:void 0}stripHtml(ae){return ae.replace?ae.replace(/<\/?[^>]+(>|$)/g,""):ae}onTreeAction(){this.treeAction.emit(this.row)}calcLeftMargin(ae,We){return ae.isTreeColumn?We.level*(null!=ae.treeLevelIndent?ae.treeLevelIndent:50):0}}return _t.\u0275fac=function(ae){return new(ae||_t)(r.Y36(r.SBq),r.Y36(r.sBO))},_t.\u0275cmp=r.Xpm({type:_t,selectors:[["datatable-body-cell"]],viewQuery:function(ae,We){if(1&ae&&r.Gf(Ir,7,r.s_b),2&ae){let on;r.iGM(on=r.CRH())&&(We.cellTemplate=on.first)}},hostVars:10,hostBindings:function(ae,We){1&ae&&r.NdJ("focus",function(){return We.onFocus()})("blur",function(){return We.onBlur()})("click",function(yn){return We.onClick(yn)})("dblclick",function(yn){return We.onDblClick(yn)})("keydown",function(yn){return We.onKeyDown(yn)}),2&ae&&(r.Tol(We.columnCssClasses),r.Udp("width",We.width,"px")("min-width",We.minWidth,"px")("max-width",We.maxWidth,"px")("height",We.height))},inputs:{group:"group",rowHeight:"rowHeight",isSelected:"isSelected",expanded:"expanded",rowIndex:"rowIndex",column:"column",row:"row",sorts:"sorts",treeStatus:"treeStatus",displayCheck:"displayCheck"},outputs:{activate:"activate",treeAction:"treeAction"},decls:5,vars:6,consts:[[1,"datatable-body-cell-label"],["class","datatable-checkbox",4,"ngIf"],[4,"ngIf"],[3,"title","innerHTML",4,"ngIf"],[1,"datatable-checkbox"],["type","checkbox",3,"checked","click"],["class","datatable-tree-button",3,"disabled","click",4,"ngIf"],[1,"datatable-tree-button",3,"disabled","click"],["class","icon datatable-icon-collapse",4,"ngIf"],["class","icon datatable-icon-up",4,"ngIf"],["class","icon datatable-icon-down",4,"ngIf"],[1,"icon","datatable-icon-collapse"],[1,"icon","datatable-icon-up"],[1,"icon","datatable-icon-down"],[3,"ngTemplateOutlet","ngTemplateOutletContext"],[3,"title","innerHTML"],["cellTemplate",""]],template:function(ae,We){1&ae&&(r.TgZ(0,"div",0),r.YNc(1,wr,2,1,"label",1),r.YNc(2,Ln,3,2,"ng-container",2),r.YNc(3,rr,1,2,"span",3),r.YNc(4,Fi,2,2,null,2),r.qZA()),2&ae&&(r.Udp("margin-left",We.calcLeftMargin(We.column,We.row),"px"),r.xp6(1),r.Q6J("ngIf",We.column.checkboxable&&(!We.displayCheck||We.displayCheck(We.row,We.column,We.value))),r.xp6(1),r.Q6J("ngIf",We.column.isTreeColumn),r.xp6(1),r.Q6J("ngIf",!We.column.cellTemplate),r.xp6(1),r.Q6J("ngIf",We.column.cellTemplate))},dependencies:[a.O5,a.tP],encapsulation:2,changeDetection:0}),_t})();function ml(_t,On,ae){const We=ae(On,_t);return We>-1?_t.splice(We,1):_t.push(On),_t}let Qo=(()=>{class _t{constructor(){this.activate=new r.vpe,this.select=new r.vpe}selectRow(ae,We,on){if(!this.selectEnabled)return;const yn=this.selectionType===nr.checkbox,Ui=this.selectionType===nr.multiClick;let eo=[];eo=this.selectionType===nr.multi||yn||Ui?ae.shiftKey?function ma(_t,On,ae,We,on){const yn=ae=ae||!yn&&Ei>=We&&Ei<=ae)&&Ei>=hs.start&&Ei<=hs.end&&_t.push(On[Ei])}return _t}([],this.rows,We,this.prevIndex,this.getRowSelectedIdx.bind(this)):ml(ae.ctrlKey||ae.metaKey||Ui||yn?[...this.selected]:[],on,this.getRowSelectedIdx.bind(this)):ml([],on,this.getRowSelectedIdx.bind(this)),"function"==typeof this.selectCheck&&(eo=eo.filter(this.selectCheck.bind(this))),this.selected.splice(0,this.selected.length),this.selected.push(...eo),this.prevIndex=We,this.select.emit({selected:eo})}onActivate(ae,We){const{type:on,event:yn,row:Ei}=ae,Ui=this.selectionType===nr.checkbox;!Ui&&("click"===on||"dblclick"===on)||Ui&&"checkbox"===on?this.selectRow(yn,We,Ei):"keydown"===on&&(yn.keyCode===Fo.return?this.selectRow(yn,We,Ei):this.onKeyboardFocus(ae)),this.activate.emit(ae)}onKeyboardFocus(ae){const{keyCode:We}=ae.event;if(We===Fo.up||We===Fo.down||We===Fo.right||We===Fo.left){const yn=this.selectionType===nr.cell;ae.cellElement&&yn?yn&&this.focusCell(ae.cellElement,ae.rowElement,We,ae.cellIndex):this.focusRow(ae.rowElement,We)}}focusRow(ae,We){const on=this.getPrevNextRow(ae,We);on&&on.focus()}getPrevNextRow(ae,We){const on=ae.parentElement;if(on){let yn;if(We===Fo.up?yn=on.previousElementSibling:We===Fo.down&&(yn=on.nextElementSibling),yn&&yn.children.length)return yn.children[0]}}focusCell(ae,We,on,yn){let Ei;if(on===Fo.left)Ei=ae.previousElementSibling;else if(on===Fo.right)Ei=ae.nextElementSibling;else if(on===Fo.up||on===Fo.down){const Ui=this.getPrevNextRow(We,on);if(Ui){const eo=Ui.getElementsByClassName("datatable-body-cell");eo.length&&(Ei=eo[yn])}}Ei&&Ei.focus()}getRowSelected(ae){return this.getRowSelectedIdx(ae,this.selected)>-1}getRowSelectedIdx(ae,We){if(!We||!We.length)return-1;const on=this.rowIdentity(ae);return We.findIndex(yn=>this.rowIdentity(yn)===on)}}return _t.\u0275fac=function(ae){return new(ae||_t)},_t.\u0275cmp=r.Xpm({type:_t,selectors:[["datatable-selection"]],inputs:{rows:"rows",selected:"selected",selectEnabled:"selectEnabled",selectionType:"selectionType",rowIdentity:"rowIdentity",selectCheck:"selectCheck"},outputs:{activate:"activate",select:"select"},ngContentSelectors:E,decls:1,vars:0,template:function(ae,We){1&ae&&(r.F$t(),r.Hsn(0))},encapsulation:2,changeDetection:0}),_t})();function Go(_t){const On=_t.filter(ae=>!!ae);return!On.length||On.some(ae=>"number"!=typeof ae)?null:On.reduce((ae,We)=>ae+We)}function ys(_t){return null}let rs=(()=>{class _t{constructor(){this.summaryRow={}}ngOnChanges(){!this.columns||!this.rows||(this.updateInternalColumns(),this.updateValues())}updateInternalColumns(){this._internalColumns=this.columns.map(ae=>Object.assign(Object.assign({},ae),{cellTemplate:ae.summaryTemplate}))}updateValues(){this.summaryRow={},this.columns.filter(ae=>!ae.summaryTemplate).forEach(ae=>{const We=this.rows.map(yn=>yn[ae.prop]),on=this.getSummaryFunction(ae);this.summaryRow[ae.prop]=ae.pipe?ae.pipe.transform(on(We)):on(We)})}getSummaryFunction(ae){return void 0===ae.summaryFunc?Go:null===ae.summaryFunc?ys:ae.summaryFunc}}return _t.\u0275fac=function(ae){return new(ae||_t)},_t.\u0275cmp=r.Xpm({type:_t,selectors:[["datatable-summary-row"]],hostAttrs:[1,"datatable-summary-row"],inputs:{rows:"rows",columns:"columns",rowHeight:"rowHeight",offsetX:"offsetX",innerWidth:"innerWidth"},features:[r.TTD],decls:1,vars:1,consts:[["tabindex","-1",3,"innerWidth","offsetX","columns","rowHeight","row","rowIndex",4,"ngIf"],["tabindex","-1",3,"innerWidth","offsetX","columns","rowHeight","row","rowIndex"]],template:function(ae,We){1&ae&&r.YNc(0,so,1,6,"datatable-body-row",0),2&ae&&r.Q6J("ngIf",We.summaryRow&&We._internalColumns)},dependencies:[a.O5,Cs],encapsulation:2}),_t})(),Lo=(()=>{class _t{static forRoot(ae){return{ngModule:_t,providers:[{provide:"configuration",useValue:ae}]}}}return _t.\u0275fac=function(ae){return new(ae||_t)},_t.\u0275mod=r.oAB({type:_t}),_t.\u0275inj=r.cJS({providers:[Vo,Xr,Ni],imports:[a.ez]}),_t})();typeof document<"u"&&!document.elementsFromPoint&&(document.elementsFromPoint=function qi(_t,On){const ae=[],We=[];let on,yn,Ei;for(;(on=document.elementFromPoint(_t,On))&&-1===ae.indexOf(on)&&null!=on;)ae.push(on),We.push({value:on.style.getPropertyValue("pointer-events"),priority:on.style.getPropertyPriority("pointer-events")}),on.style.setProperty("pointer-events","none","important");for(yn=We.length;Ei=We[--yn];)ae[yn].style.setProperty("pointer-events",Ei.value?Ei.value:"",Ei.priority);return ae})},67506:y=>{"use strict";function b(a,u,c){a instanceof RegExp&&(a=o(a,c)),u instanceof RegExp&&(u=o(u,c));var e=r(a,u,c);return e&&{start:e[0],end:e[1],pre:c.slice(0,e[0]),body:c.slice(e[0]+a.length,e[1]),post:c.slice(e[1]+u.length)}}function o(a,u){var c=u.match(a);return c?c[0]:null}function r(a,u,c){var e,f,h,E,T,D=c.indexOf(a),A=c.indexOf(u,D+1),$=D;if(D>=0&&A>0){if(a===u)return[D,A];for(e=[],h=c.length;$>=0&&!T;)$==D?(e.push($),D=c.indexOf(a,$+1)):1==e.length?T=[e.pop(),A]:((f=e.pop())=0?D:A;e.length&&(T=[h,E])}return T}y.exports=b,b.range=r},96434:(y,b)=>{"use strict";b.byteLength=function h(Q){var U=f(Q),L=U[1];return 3*(U[0]+L)/4-L},b.toByteArray=function T(Q){var U,ie,q=f(Q),L=q[0],J=q[1],pe=new a(function E(Q,U,q){return 3*(U+q)/4-q}(0,L,J)),j=0,ue=J>0?L-4:L;for(ie=0;ie>16&255,pe[j++]=U>>8&255,pe[j++]=255&U;return 2===J&&(U=r[Q.charCodeAt(ie)]<<2|r[Q.charCodeAt(ie+1)]>>4,pe[j++]=255&U),1===J&&(U=r[Q.charCodeAt(ie)]<<10|r[Q.charCodeAt(ie+1)]<<4|r[Q.charCodeAt(ie+2)]>>2,pe[j++]=U>>8&255,pe[j++]=255&U),pe},b.fromByteArray=function $(Q){for(var U,q=Q.length,L=q%3,J=[],j=0,ue=q-L;jue?ue:j+16383));return 1===L?J.push(o[(U=Q[q-1])>>2]+o[U<<4&63]+"=="):2===L&&J.push(o[(U=(Q[q-2]<<8)+Q[q-1])>>10]+o[U>>4&63]+o[U<<2&63]+"="),J.join("")};for(var o=[],r=[],a=typeof Uint8Array<"u"?Uint8Array:Array,u="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",c=0,e=u.length;c0)throw new Error("Invalid string. Length must be a multiple of 4");var q=Q.indexOf("=");return-1===q&&(q=U),[q,q===U?0:4-q%4]}function D(Q){return o[Q>>18&63]+o[Q>>12&63]+o[Q>>6&63]+o[63&Q]}function A(Q,U,q){for(var J=[],pe=U;pe{var r=o(2665),a=o(67506);y.exports=function $(j){return j?("{}"===j.substr(0,2)&&(j="\\{\\}"+j.substr(2)),pe(function T(j){return j.split("\\\\").join(u).split("\\{").join(c).split("\\}").join(e).split("\\,").join(f).split("\\.").join(h)}(j),!0).map(D)):[]};var u="\0SLASH"+Math.random()+"\0",c="\0OPEN"+Math.random()+"\0",e="\0CLOSE"+Math.random()+"\0",f="\0COMMA"+Math.random()+"\0",h="\0PERIOD"+Math.random()+"\0";function E(j){return parseInt(j,10)==j?parseInt(j,10):j.charCodeAt(0)}function D(j){return j.split(u).join("\\").split(c).join("{").split(e).join("}").split(f).join(",").split(h).join(".")}function A(j){if(!j)return[""];var ue=[],ie=a("{","}",j);if(!ie)return j.split(",");var Oe=ie.body,Ue=ie.post,Me=ie.pre.split(",");Me[Me.length-1]+="{"+Oe+"}";var yt=A(Ue);return Ue.length&&(Me[Me.length-1]+=yt.shift(),Me.push.apply(Me,yt)),ue.push.apply(ue,Me),ue}function U(j){return"{"+j+"}"}function q(j){return/^-?0\d/.test(j)}function L(j,ue){return j<=ue}function J(j,ue){return j>=ue}function pe(j,ue){var ie=[],me=a("{","}",j);if(!me||/\$$/.test(me.pre))return[j];var et,Oe=/^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(me.body),Ue=/^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(me.body),Me=Oe||Ue,yt=me.body.indexOf(",")>=0;if(!Me&&!yt)return me.post.match(/,.*\}/)?pe(j=me.pre+"{"+me.body+e+me.post):[j];if(Me)et=me.body.split(/\.\./);else if(1===(et=A(me.body)).length&&1===(et=pe(et[0],!1).map(U)).length)return(Et=me.post.length?pe(me.post,!1):[""]).map(function(wr){return me.pre+et[0]+wr});var ze,tt=me.pre,Et=me.post.length?pe(me.post,!1):[""];if(Me){var bt=E(et[0]),Ct=E(et[1]),Qt=Math.max(et[0].length,et[1].length),ht=3==et.length?Math.abs(E(et[2])):1,en=L;Ct0){var un=new Array(Xt+1).join("0");Rt=Dn<0?"-"+un+Rt.slice(1):un+Rt}}ze.push(Rt)}}else ze=r(et,function(Ir){return pe(Ir,!1)});for(var _n=0;_n{"use strict";var r=o(18540),a=o(60044),u=a(r("String.prototype.indexOf"));y.exports=function(e,f){var h=r(e,!!f);return"function"==typeof h&&u(e,".prototype.")>-1?a(h):h}},60044:(y,b,o)=>{"use strict";var r=o(75396),a=o(18540),u=o(45364),c=o(83600),e=a("%Function.prototype.apply%"),f=a("%Function.prototype.call%"),h=a("%Reflect.apply%",!0)||r.call(f,e),E=o(14472),T=a("%Math.max%");y.exports=function($){if("function"!=typeof $)throw new c("a function is required");var Q=h(r,f,arguments);return u(Q,1+T(0,$.length-(arguments.length-1)),!0)};var D=function(){return h(r,e,arguments)};E?E(y.exports,"apply",{value:D}):y.exports.apply=D},72318:y=>{var b=!!(typeof window<"u"&&window.document&&window.document.createElement);y.exports=b},42085:(y,b,o)=>{"use strict";var r=o(16738),a=o.n(r),u=o(10172);const c={datetime:"MMM D, YYYY, h:mm:ss a",millisecond:"h:mm:ss.SSS a",second:"h:mm:ss a",minute:"h:mm a",hour:"hA",day:"MMM D",week:"ll",month:"MMM YYYY",quarter:"[Q]Q - YYYY",year:"YYYY"};u.IQ._date.override("function"==typeof a()?{_id:"moment",formats:function(){return c},parse:function(e,f){return"string"==typeof e&&"string"==typeof f?e=a()(e,f):e instanceof a()||(e=a()(e)),e.isValid()?e.valueOf():null},format:function(e,f){return a()(e).format(f)},add:function(e,f,h){return a()(e).add(f,h).valueOf()},diff:function(e,f,h){return a()(e).diff(a()(f),h)},startOf:function(e,f,h){return e=a()(e),"isoWeek"===f?(h=Math.trunc(Math.min(Math.max(0,h),6)),e.isoWeekday(h).startOf("day").valueOf()):e.startOf(f).valueOf()},endOf:function(e,f){return a()(e).endOf(f).valueOf()}}:{})},2665:y=>{y.exports=function(o,r){for(var a=[],u=0;u{"use strict";var r=o(35311),a={"text/plain":"Text","text/html":"Url",default:"Text"};y.exports=function e(f,h){var E,T,D,A,$,Q,U=!1;h||(h={}),E=h.debug||!1;try{if(D=r(),A=document.createRange(),$=document.getSelection(),(Q=document.createElement("span")).textContent=f,Q.ariaHidden="true",Q.style.all="unset",Q.style.position="fixed",Q.style.top=0,Q.style.clip="rect(0, 0, 0, 0)",Q.style.whiteSpace="pre",Q.style.webkitUserSelect="text",Q.style.MozUserSelect="text",Q.style.msUserSelect="text",Q.style.userSelect="text",Q.addEventListener("copy",function(L){L.stopPropagation(),h.format&&(L.preventDefault(),typeof L.clipboardData>"u"?(E&&console.warn("unable to use e.clipboardData"),E&&console.warn("trying IE specific stuff"),window.clipboardData.clearData(),window.clipboardData.setData(a[h.format]||a.default,f)):(L.clipboardData.clearData(),L.clipboardData.setData(h.format,f))),h.onCopy&&(L.preventDefault(),h.onCopy(L.clipboardData))}),document.body.appendChild(Q),A.selectNodeContents(Q),$.addRange(A),!document.execCommand("copy"))throw new Error("copy command was unsuccessful");U=!0}catch(L){E&&console.error("unable to copy using execCommand: ",L),E&&console.warn("trying IE specific stuff");try{window.clipboardData.setData(h.format||"text",f),h.onCopy&&h.onCopy(window.clipboardData),U=!0}catch(J){E&&console.error("unable to copy using clipboardData: ",J),E&&console.error("falling back to prompt"),T=function c(f){var h=(/mac os x/i.test(navigator.userAgent)?"\u2318":"Ctrl")+"+C";return f.replace(/#{\s*key\s*}/g,h)}("message"in h?h.message:"Copy to clipboard: #{key}, Enter"),window.prompt(T,f)}}finally{$&&("function"==typeof $.removeRange?$.removeRange(A):$.removeAllRanges()),Q&&document.body.removeChild(Q),D()}return U}},52243:function(y){var b;b=typeof global<"u"?global:this,y.exports=function(b){if(b.CSS&&b.CSS.escape)return b.CSS.escape;var o=function(r){if(0==arguments.length)throw new TypeError("`CSS.escape` requires an argument.");for(var e,a=String(r),u=a.length,c=-1,f="",h=a.charCodeAt(0);++c=1&&e<=31||127==e||0==c&&e>=48&&e<=57||1==c&&e>=48&&e<=57&&45==h?"\\"+e.toString(16)+" ":0==c&&1==u&&45==e||!(e>=128||45==e||95==e||e>=48&&e<=57||e>=65&&e<=90||e>=97&&e<=122)?"\\"+a.charAt(c):a.charAt(c):f+="\ufffd";return f};return b.CSS||(b.CSS={}),b.CSS.escape=o,o}(b)},40124:(y,b,o)=>{"use strict";var r=o(14472),a=o(41463),u=o(83600),c=o(81294);y.exports=function(f,h,E){if(!f||"object"!=typeof f&&"function"!=typeof f)throw new u("`obj` must be an object or a function`");if("string"!=typeof h&&"symbol"!=typeof h)throw new u("`property` must be a string or a symbol`");if(arguments.length>3&&"boolean"!=typeof arguments[3]&&null!==arguments[3])throw new u("`nonEnumerable`, if provided, must be a boolean or null");if(arguments.length>4&&"boolean"!=typeof arguments[4]&&null!==arguments[4])throw new u("`nonWritable`, if provided, must be a boolean or null");if(arguments.length>5&&"boolean"!=typeof arguments[5]&&null!==arguments[5])throw new u("`nonConfigurable`, if provided, must be a boolean or null");if(arguments.length>6&&"boolean"!=typeof arguments[6])throw new u("`loose`, if provided, must be a boolean");var T=arguments.length>3?arguments[3]:null,D=arguments.length>4?arguments[4]:null,A=arguments.length>5?arguments[5]:null,$=arguments.length>6&&arguments[6],Q=!!c&&c(f,h);if(r)r(f,h,{configurable:null===A&&Q?Q.configurable:!A,enumerable:null===T&&Q?Q.enumerable:!T,value:E,writable:null===D&&Q?Q.writable:!D});else{if(!$&&(T||D||A))throw new a("This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.");f[h]=E}}},97057:(y,b,o)=>{"use strict";o.d(b,{qY:()=>$});var r=function(){for(var j=0,ue=0,ie=arguments.length;ue"u"&&typeof navigator<"u"&&"ReactNative"===navigator.product?new f:typeof navigator<"u"?q(navigator.userAgent):function J(){return typeof process<"u"&&process.version?new u(process.version.slice(1)):null}()}function q(j){var ue=function Q(j){return""!==j&&D.reduce(function(ue,ie){var me=ie[0];if(ue)return ue;var Ue=ie[1].exec(j);return!!Ue&&[me,Ue]},!1)}(j);if(!ue)return null;var ie=ue[0],me=ue[1];if("searchbot"===ie)return new e;var Oe=me[1]&&me[1].split(/[._]/).slice(0,3);Oe?Oe.length1?sn-1:0),Ln=1;Ln/gm),Rt=f(/^data-[\-\w.\u00B7-\uFFFF]/),Xt=f(/^aria-[\-\w]+$/),un=f(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),_n=f(/^(?:\w+script|data):/i),kn=f(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),ri="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(Tr){return typeof Tr}:function(Tr){return Tr&&"function"==typeof Symbol&&Tr.constructor===Symbol&&Tr!==Symbol.prototype?"symbol":typeof Tr};function Ir(Tr){if(Array.isArray(Tr)){for(var ft=0,sn=Array(Tr.length);ft"u"?null:window},_r=function(ft,sn){if("object"!==(typeof ft>"u"?"undefined":ri(ft))||"function"!=typeof ft.createPolicy)return null;var At=null,Ln="data-tt-policy-suffix";sn.currentScript&&sn.currentScript.hasAttribute(Ln)&&(At=sn.currentScript.getAttribute(Ln));var rr="dompurify"+(At?"#"+At:"");try{return ft.createPolicy(rr,{createHTML:function(Fi){return Fi}})}catch{return console.warn("TrustedTypes policy "+rr+" could not be created."),null}};return function oi(){var Tr=arguments.length>0&&void 0!==arguments[0]?arguments[0]:wr(),ft=function(Br){return oi(Br)};if(ft.version="2.3.3",ft.removed=[],!Tr||!Tr.document||9!==Tr.document.nodeType)return ft.isSupported=!1,ft;var sn=Tr.document,At=Tr.document,Ln=Tr.DocumentFragment,rr=Tr.HTMLTemplateElement,Lr=Tr.Node,Fi=Tr.Element,so=Tr.NodeFilter,Vo=Tr.NamedNodeMap,Xr=void 0===Vo?Tr.NamedNodeMap||Tr.MozNamedAttrMap:Vo,Ni=Tr.Text,ji=Tr.Comment,jr=Tr.DOMParser,Pr=Tr.trustedTypes,Bo=Fi.prototype,cs=Me(Bo,"cloneNode"),ts=Me(Bo,"nextSibling"),io=Me(Bo,"childNodes"),Vi=Me(Bo,"parentNode");if("function"==typeof rr){var Pn=At.createElement("template");Pn.content&&Pn.content.ownerDocument&&(At=Pn.content.ownerDocument)}var Nn=_r(Pr,sn),Ut=Nn&&wi?Nn.createHTML(""):"",Ie=At.implementation,Qe=At.createNodeIterator,Ve=At.createDocumentFragment,tn=At.getElementsByTagName,ot=sn.importNode,xt={};try{xt=Ue(At).documentMode?At.documentMode:{}}catch{}var qt={};ft.isSupported="function"==typeof Vi&&Ie&&typeof Ie.createHTMLDocument<"u"&&9!==xt;var tr=bn,vr=Dn,An=Rt,yr=Xt,Nr=_n,nr=kn,Qn=un,dr=null,Wn=Oe({},[].concat(Ir(yt),Ir(et),Ir(tt),Ir(ze),Ir(Ct))),Wt=null,kt=Oe({},[].concat(Ir(Qt),Ir(ht),Ir(en),Ir(nn))),st=null,zt=null,er=!0,Kr=!0,mi=!1,gi=!1,Jo=!1,os=!1,hr=!1,Ii=!1,ni=!1,Vr=!0,wi=!1,Gi=!0,Wi=!0,Mo=!1,As={},Ls=null,qr=Oe({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]),$r=null,Cn=Oe({},["audio","video","img","source","image","track"]),mn=null,kr=Oe({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Qi="http://www.w3.org/1998/Math/MathML",xo="http://www.w3.org/2000/svg",Ss="http://www.w3.org/1999/xhtml",bs=Ss,ko=!1,$s=void 0,ps=["application/xhtml+xml","text/html"],ra=void 0,Do=null,oc=At.createElement("form"),Ql=function(Br){Do&&Do===Br||((!Br||"object"!==(typeof Br>"u"?"undefined":ri(Br)))&&(Br={}),Br=Ue(Br),dr="ALLOWED_TAGS"in Br?Oe({},Br.ALLOWED_TAGS):Wn,Wt="ALLOWED_ATTR"in Br?Oe({},Br.ALLOWED_ATTR):kt,mn="ADD_URI_SAFE_ATTR"in Br?Oe(Ue(kr),Br.ADD_URI_SAFE_ATTR):kr,$r="ADD_DATA_URI_TAGS"in Br?Oe(Ue(Cn),Br.ADD_DATA_URI_TAGS):Cn,Ls="FORBID_CONTENTS"in Br?Oe({},Br.FORBID_CONTENTS):qr,st="FORBID_TAGS"in Br?Oe({},Br.FORBID_TAGS):{},zt="FORBID_ATTR"in Br?Oe({},Br.FORBID_ATTR):{},As="USE_PROFILES"in Br&&Br.USE_PROFILES,er=!1!==Br.ALLOW_ARIA_ATTR,Kr=!1!==Br.ALLOW_DATA_ATTR,mi=Br.ALLOW_UNKNOWN_PROTOCOLS||!1,gi=Br.SAFE_FOR_TEMPLATES||!1,Jo=Br.WHOLE_DOCUMENT||!1,Ii=Br.RETURN_DOM||!1,ni=Br.RETURN_DOM_FRAGMENT||!1,Vr=!1!==Br.RETURN_DOM_IMPORT,wi=Br.RETURN_TRUSTED_TYPE||!1,hr=Br.FORCE_BODY||!1,Gi=!1!==Br.SANITIZE_DOM,Wi=!1!==Br.KEEP_CONTENT,Mo=Br.IN_PLACE||!1,Qn=Br.ALLOWED_URI_REGEXP||Qn,bs=Br.NAMESPACE||Ss,$s=$s=-1===ps.indexOf(Br.PARSER_MEDIA_TYPE)?"text/html":Br.PARSER_MEDIA_TYPE,ra="application/xhtml+xml"===$s?function(qi){return qi}:U,gi&&(Kr=!1),ni&&(Ii=!0),As&&(dr=Oe({},[].concat(Ir(Ct))),Wt=[],!0===As.html&&(Oe(dr,yt),Oe(Wt,Qt)),!0===As.svg&&(Oe(dr,et),Oe(Wt,ht),Oe(Wt,nn)),!0===As.svgFilters&&(Oe(dr,tt),Oe(Wt,ht),Oe(Wt,nn)),!0===As.mathMl&&(Oe(dr,ze),Oe(Wt,en),Oe(Wt,nn))),Br.ADD_TAGS&&(dr===Wn&&(dr=Ue(dr)),Oe(dr,Br.ADD_TAGS)),Br.ADD_ATTR&&(Wt===kt&&(Wt=Ue(Wt)),Oe(Wt,Br.ADD_ATTR)),Br.ADD_URI_SAFE_ATTR&&Oe(mn,Br.ADD_URI_SAFE_ATTR),Br.FORBID_CONTENTS&&(Ls===qr&&(Ls=Ue(Ls)),Oe(Ls,Br.FORBID_CONTENTS)),Wi&&(dr["#text"]=!0),Jo&&Oe(dr,["html","head","body"]),dr.table&&(Oe(dr,["tbody"]),delete st.tbody),e&&e(Br),Do=Br)},tl=Oe({},["mi","mo","mn","ms","mtext"]),Da=Oe({},["foreignobject","desc","title","annotation-xml"]),Ga=Oe({},et);Oe(Ga,tt),Oe(Ga,Et);var Pl=Oe({},ze);Oe(Pl,bt);var Ra=function(Br){Q(ft.removed,{element:Br});try{Br.parentNode.removeChild(Br)}catch{try{Br.outerHTML=Ut}catch{Br.remove()}}},Fo=function(Br,qi){try{Q(ft.removed,{attribute:qi.getAttributeNode(Br),from:qi})}catch{Q(ft.removed,{attribute:null,from:qi})}if(qi.removeAttribute(Br),"is"===Br&&!Wt[Br])if(Ii||ni)try{Ra(qi)}catch{}else try{qi.setAttribute(Br,"")}catch{}},Cs=function(Br){var qi=void 0,_t=void 0;if(hr)Br=""+Br;else{var On=q(Br,/^[\r\n\t ]+/);_t=On&&On[0]}"application/xhtml+xml"===$s&&(Br=''+Br+"");var ae=Nn?Nn.createHTML(Br):Br;if(bs===Ss)try{qi=(new jr).parseFromString(ae,$s)}catch{}if(!qi||!qi.documentElement){qi=Ie.createDocument(bs,"template",null);try{qi.documentElement.innerHTML=ko?"":ae}catch{}}var We=qi.body||qi.documentElement;return Br&&_t&&We.insertBefore(At.createTextNode(_t),We.childNodes[0]||null),bs===Ss?tn.call(qi,Jo?"html":"body")[0]:Jo?qi.documentElement:We},Ks=function(Br){return Qe.call(Br.ownerDocument||Br,Br,so.SHOW_ELEMENT|so.SHOW_COMMENT|so.SHOW_TEXT,null,!1)},ml=function(Br){return"object"===(typeof Lr>"u"?"undefined":ri(Lr))?Br instanceof Lr:Br&&"object"===(typeof Br>"u"?"undefined":ri(Br))&&"number"==typeof Br.nodeType&&"string"==typeof Br.nodeName},ma=function(Br,qi,_t){qt[Br]&&A(qt[Br],function(On){On.call(ft,qi,_t,Do)})},Qo=function(Br){var qi=void 0;if(ma("beforeSanitizeElements",Br,null),function(Br){return!(Br instanceof Ni||Br instanceof ji||"string"==typeof Br.nodeName&&"string"==typeof Br.textContent&&"function"==typeof Br.removeChild&&Br.attributes instanceof Xr&&"function"==typeof Br.removeAttribute&&"function"==typeof Br.setAttribute&&"string"==typeof Br.namespaceURI&&"function"==typeof Br.insertBefore)}(Br)||q(Br.nodeName,/[\u0080-\uFFFF]/))return Ra(Br),!0;var _t=ra(Br.nodeName);if(ma("uponSanitizeElement",Br,{tagName:_t,allowedTags:dr}),!ml(Br.firstElementChild)&&(!ml(Br.content)||!ml(Br.content.firstElementChild))&&j(/<[/\w]/g,Br.innerHTML)&&j(/<[/\w]/g,Br.textContent)||"select"===_t&&j(/