diff --git a/public/apps/webapp-schulverwaltung/chunk-2EI6QWJT.js b/public/apps/webapp-schulverwaltung/chunk-2EI6QWJT.js new file mode 100644 index 00000000..1b43e974 --- /dev/null +++ b/public/apps/webapp-schulverwaltung/chunk-2EI6QWJT.js @@ -0,0 +1 @@ +import{a as we,b as De}from"./chunk-QB4DIFWS.js";import{b as ve,d as Oe,e as $e}from"./chunk-CKFTESOV.js";import{b as Ie}from"./chunk-DTTSX64G.js";import"./chunk-Y4QYVF5K.js";import"./chunk-AYQPMCNZ.js";import{a as z}from"./chunk-3P6YOVUR.js";import{B as ke,D as Pe,F as Ee,G as Te,a as ge,p as ye,q as Se,r as xe,w as Ae,x as y}from"./chunk-UYCIECIQ.js";import{d as Q}from"./chunk-G6EB45SC.js";import"./chunk-WCDEMEW2.js";import{j as Le}from"./chunk-XFA6UPZX.js";import{b as Me}from"./chunk-PSYDBHTH.js";import{A as _e,z as Ce}from"./chunk-W4U7QKJF.js";import"./chunk-AVBHFGIF.js";import{$a as r,Ab as F,Bb as U,Cb as I,Db as ae,Eb as j,F as _,Fb as K,Ga as P,Gb as pe,Jb as a,Kb as l,Lb as B,M as N,Na as w,Od as he,P as V,Pd as fe,Qa as C,R as Y,Ra as se,Va as R,X as ie,Xa as oe,Ya as G,Za as J,_ as T,_a as c,ab as x,cc as q,dc as le,ea as O,eb as D,f as k,fa as $,g as W,gb as M,hb as f,k as ee,n as b,o as S,qb as re,rb as u,sb as v,tb as E,ub as ce,w as te,wc as de,x as ne,xa as s,xc as me,ya as h,yc as ue,zc as be}from"./chunk-2W7IS4PN.js";var Ue=["studentFullName","studyClassNumber"],A=(()=>{class n{constructor(e,t,i,o){this.lessonPresencesService=e,this.selectionService=t,this.loadingService=i,this.translate=o,this.loading$=this.loadingService.loading$,this.search$=new W(""),this.updateUnconfirmedAbsences$=new k,this.unconfirmedAbsences$=te(this.loadUnconfirmedAbsences(),this.updateUnconfirmedAbsences$).pipe(N(1)),this.entries$=this.unconfirmedAbsences$.pipe(b(ye),N(1)),this.sortCriteriaSubject$=new W({primarySortKey:"date",ascending:!1}),this.sortCriteria$=this.sortCriteriaSubject$.asObservable(),this.sortedEntries$=S([this.entries$,this.sortCriteria$]).pipe(b(Q(Se))),this.filteredEntries$=S([this.sortedEntries$,this.search$]).pipe(b(([d,p])=>De(d,Ue,p)),N(1)),this.currentDetail=null}getUnconfirmedAbsences(e,t){return this.entries$.pipe(b(i=>{let o=i.find(d=>d.dateString===e&&d.studentId===t);return o?o.absences:[]}))}getAllUnconfirmedAbsencesForStudent(e){return this.entries$.pipe(b(t=>t.filter(i=>i.studentId===e).reduce((i,o)=>i.concat(o.absences),[])))}toggleSort(e){this.sortCriteriaSubject$.pipe(_(1)).subscribe(t=>{t.primarySortKey===e?this.sortCriteriaSubject$.next({primarySortKey:e,ascending:!t.ascending}):this.sortCriteriaSubject$.next({primarySortKey:e,ascending:e==="name"})})}get confirmBackLink(){return this.currentDetail?["/open-absences/detail",this.currentDetail.personId,this.currentDetail.date]:["/open-absences"]}updateAfterConfirm(){S([this.unconfirmedAbsences$.pipe(_(1)),this.selectionService.selectedIds$.pipe(_(1))]).pipe(b(Q(xe))).subscribe(e=>{this.selectionService.clear(),this.updateUnconfirmedAbsences$.next(e)})}buildMailToString(e,t){let i=e.Email,o=this.translate.instant("open-absences.detail.mail.subject"),d=t.map(L=>Ae(L)).join("%0D%0A"),p=`${this.translate.instant("open-absences.detail.mail.body")}%0D%0A${d}`;return p.length>=1600&&(p=`${p.substring(0,1500)}%0D%0A${this.translate.instant("open-absences.detail.mail.bodyToLargeForEmailTo")}`),`${i}?subject=${o}&body=${p}`}loadUnconfirmedAbsences(){return this.loadingService.load(this.lessonPresencesService.getListOfUnconfirmed())}static{this.\u0275fac=function(t){return new(t||n)(T($e),T(y),T(Le),T(he))}}static{this.\u0275prov=ie({token:n,factory:n.\u0275fac})}}return n})();var qe=()=>["/open-absences"],Be=(()=>{class n{constructor(e,t,i,o,d,p,L){this.router=e,this.route=t,this.openAbsencesService=i,this.presenceTypesService=o,this.personService=d,this.selectionService=p,this.scrollPosition=L,this.absences$=this.route.paramMap.pipe(V(this.getAbsencesForParams.bind(this))),this.hasAbsences$=this.absences$.pipe(b(Ce(1))),this.studentFullName$=this.absences$.pipe(b(m=>m[0]&&m[0].StudentFullName||null)),this.allSelected$=S([this.absences$,this.selectionService.selection$]).pipe(b(([m,H])=>m.length===H.length)),this.studentEmail$=this.absences$.pipe(b(m=>m[0]&&m[0].StudentRef.Id||null),V(m=>m?this.personService.getByIdWithEmailInfos(m):ee)),this.allUnconfirmedAbsencesForStudent$=this.route.paramMap.pipe(V(this.getAbsencesForStudentParam.bind(this))),this.mailTo$=S([this.studentEmail$,this.allUnconfirmedAbsencesForStudent$]).pipe(b(([m,H])=>this.openAbsencesService.buildMailToString(m,H))),this.destroy$=new k}ngOnInit(){this.selectionService.clearNonLessonPresences(),this.route.paramMap.pipe(Y(this.destroy$)).subscribe(e=>this.openAbsencesService.currentDetail={date:String(e.get("date")),personId:Number(e.get("personId"))}),this.hasAbsences$.pipe(Y(this.destroy$),ne(ge(_e))).subscribe(()=>void this.router.navigate(["/open-absences"]))}ngAfterViewInit(){this.scrollPosition.restore()}ngOnDestroy(){this.destroy$.next()}toggleAll(e){e?this.absences$.pipe(_(1)).subscribe(t=>this.selectionService.clear(t)):this.selectionService.clear()}onRowClick(e,t){e.target!==t&&t.click()}getPresenceTypeDesignation(e){return this.presenceTypesService.displayedTypes$.pipe(b(t=>e.TypeRef.Id&&t.find(i=>i.Id===e.TypeRef.Id)?.Designation||null))}getAbsencesForParams(e){return this.openAbsencesService.getUnconfirmedAbsences(String(e.get("date")),Number(e.get("personId")))}getAbsencesForStudentParam(e){return this.openAbsencesService.getAllUnconfirmedAbsencesForStudent(Number(e.get("personId")))}static{this.\u0275fac=function(t){return new(t||n)(h(ue),h(de),h(A),h(ke),h(Ie),h(y),h(z))}}static{this.\u0275cmp=P({type:n,selectors:[["bkd-open-absences-detail"]],decls:6,vars:10,consts:[[3,"link"],[3,"absences$","selectionService","confirmLink","displayEmail","mailTo$"]],template:function(t,i){t&1&&(c(0,"div"),x(1,"bkd-backlink",0),c(2,"h1"),u(3),a(4,"async"),r()(),x(5,"bkd-student-dossier-absences",1)),t&2&&(s(),C("link",j(9,qe)),s(2),v(l(4,7,i.studentFullName$)),s(2),C("absences$",i.absences$)("selectionService",i.selectionService)("confirmLink","/open-absences/confirm")("displayEmail",!0)("mailTo$",i.mailTo$))},dependencies:[Te,Ee,q],styles:['.content[_ngcontent-%COMP%]{padding-left:1rem;padding-right:1rem}.back[_ngcontent-%COMP%]{color:#000;text-decoration:none}.back[_ngcontent-%COMP%]:hover span[_ngcontent-%COMP%], .back[_ngcontent-%COMP%]:active span[_ngcontent-%COMP%]{text-decoration:underline}.absence-entry[_ngcontent-%COMP%]{padding:1rem;border-bottom:1px solid #dee2e6;display:grid;grid-template-areas:"checkbox lesson-class time teacher" "checkbox presence-type date days-ago";grid-template-columns:min-content 2fr 1fr 2fr}.checkbox[_ngcontent-%COMP%]{grid-area:checkbox;margin:0;padding:.6rem .5rem 0 0}.checkbox[_ngcontent-%COMP%] input.form-check-input[_ngcontent-%COMP%]{position:static!important;margin:0!important;display:block}.all[_ngcontent-%COMP%]{grid-area:all}.lesson-class[_ngcontent-%COMP%]{grid-area:lesson-class;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.time[_ngcontent-%COMP%]{grid-area:time}.teacher[_ngcontent-%COMP%]{grid-area:teacher}.presence-type[_ngcontent-%COMP%]{color:#adb5bd;grid-area:presence-type}.date[_ngcontent-%COMP%]{grid-area:date}.days-ago[_ngcontent-%COMP%]{color:#adb5bd;grid-area:days-ago}.date-days-ago[_ngcontent-%COMP%]{grid-area:date-days-ago;display:none}@media (max-width: 750px){.content[_ngcontent-%COMP%]{padding-left:0;padding-right:0}.absence-entry[_ngcontent-%COMP%]{grid-template-areas:"checkbox lesson-class" "checkbox teacher" "checkbox date-days-ago" "checkbox time" "checkbox presence-type";grid-template-columns:min-content 1fr}.date-days-ago[_ngcontent-%COMP%]{display:block}.date[_ngcontent-%COMP%], .days-ago[_ngcontent-%COMP%]{display:none}}'],changeDetection:0})}}return n})();var ze=(n,g)=>g.id,Ne=()=>[],Z=n=>({count:n}),He=(n,g)=>["detail",n,g];function We(n,g){if(n&1&&(c(0,"div",2)(1,"div",5),u(2),a(3,"translate"),r(),c(4,"a",6)(5,"i",7),u(6,"edit"),r()()()),n&2){f();let e=I(0);s(2),E(" ",B(3,3,"open-absences.selected",K(6,Z,e.length))," "),s(2),se("disabled",e.length===0)}}function Ye(n,g){n&1&&x(0,"bkd-spinner")}function Ge(n,g){n&1&&(c(0,"p",3),u(1),a(2,"translate"),r()),n&2&&(s(),v(l(2,1,"open-absences.noEntries")))}function Je(n,g){if(n&1&&(c(0,"span",13),u(1),r()),n&2){let e=f().$implicit,t=f(2),i=I(4);s(),v(t.getSortDirectionCharacter(i,e))}}function Qe(n,g){if(n&1){let e=D();c(0,"div",12),M("click",function(){let i=O(e).$implicit,o=f(2);return $(o.openAbsencesService.toggleSort(i))}),u(1),a(2,"translate"),w(3,Je,2,1,"span",13),r()}if(n&2){let e=g.$implicit;f(2);let t=I(4);C("className",e),s(),E(" ",l(2,3,"open-absences.list.header."+e)," "),s(2),R(t?3:-1)}}function Xe(n,g){if(n&1){let e=D();c(0,"div")(1,"div",14)(2,"div",15),M("click",function(i){O(e);let o=re(4),d=f(2);return $(d.onCheckboxCellClick(i,o))}),c(3,"input",10,0),a(5,"async"),M("change",function(){let i=O(e).$implicit,o=f(2);return $(o.selectionService.toggle(i))}),r()(),c(6,"div",16)(7,"a",17),u(8),r()(),c(9,"div",18),u(10),r(),c(11,"div",19),u(12),a(13,"translate"),r(),c(14,"div",20),u(15),a(16,"translate"),r(),c(17,"div",21),u(18),a(19,"bkdDaysDifference"),r(),c(20,"div",22),u(21),a(22,"date"),r()()()}if(n&2){let e=g.$implicit,t=f(2);s(3),C("checked",l(5,9,t.selectionService.isSelected$(e))),s(4),C("routerLink",pe(22,He,e.studentId,e.dateString)),s(),v(e.studentFullName),s(2),E(" ",e.studyClassNumber," "),s(2),E(" ",B(13,11,t.getLessonsCountKey(e),K(25,Z,e.lessonsCount))," "),s(3),ce(" ",e.studyClassNumber,", ",B(16,14,t.getLessonsCountKey(e),K(27,Z,e.lessonsCount))," "),s(3),E(" ",l(19,17,e.date)," "),s(3),v(B(22,19,e.date,"dd.MM.yyyy"))}}function Ze(n,g){if(n&1){let e=D();c(0,"div",4)(1,"div",8)(2,"div",9)(3,"input",10),M("change",function(i){O(e);let o=f();return $(o.onToggleAll(i.currentTarget==null?null:i.currentTarget.checked))}),r()(),G(4,Qe,4,5,"div",11,oe),r(),G(6,Xe,23,29,"div",null,ze),r()}if(n&2){let e=f(),t=I(0),i=I(2);s(3),C("checked",t.length===i.length),s(),J(e.primarySortKeys),s(2),J(i)}}var Ve=(()=>{class n{constructor(e,t,i){this.openAbsencesService=e,this.selectionService=t,this.scrollPosition=i,this.primarySortKeys=["name","date"],this.destroy$=new k}ngOnInit(){this.openAbsencesService.currentDetail=null,this.selectionService.clearNonOpenAbsencesEntries()}ngAfterViewInit(){this.scrollPosition.restore()}ngOnDestroy(){this.destroy$.next()}onToggleAll(e){this.openAbsencesService.filteredEntries$.pipe(_(1)).subscribe(t=>{this.selectionService.clear(e?t:null)})}onCheckboxCellClick(e,t){e.target!==t&&t.click()}getSortDirectionCharacter(e,t){return e.primarySortKey!==t?"":e.ascending?"\u2193":"\u2191"}getLessonsCountKey(e){return`open-absences.list.content.lessonsCount.${e.lessonsCount===1?"singular":"plural"}`}static{this.\u0275fac=function(t){return new(t||n)(h(A),h(y),h(z))}}static{this.\u0275cmp=P({type:n,selectors:[["bkd-open-absences-list"]],decls:22,vars:29,consts:[["checkbox",""],[1,"d-flex","header-search",3,"valueChange","value","placeholder","label"],[1,"d-flex","align-items-center","justify-content-between","mt-1"],[1,"mt-3"],[1,"content"],[1,"selection-count","ps-1"],["routerLink","/open-absences/confirm",1,"edit","btn","btn-primary","btn-edit","mt-1","mb-2"],[1,"material-icons"],[1,"absence-header"],[1,"checkbox"],["type","checkbox",1,"form-check-input",3,"change","checked"],[3,"className"],[3,"click","className"],[1,"sort-direction"],[1,"absence-entry"],[1,"checkbox",3,"click"],[1,"name","pe-2"],[3,"routerLink"],[1,"study-class"],[1,"lessons-count"],[1,"study-class-lessons-count"],[1,"days-ago"],[1,"date"]],template:function(t,i){if(t&1){let o=D();F(0),a(1,"async"),F(2),a(3,"async"),F(4),a(5,"async"),F(6),a(7,"async"),c(8,"h1"),u(9),a(10,"translate"),r(),c(11,"div")(12,"div")(13,"bkd-resettable-input",1),a(14,"async"),a(15,"translate"),a(16,"translate"),M("valueChange",function(p){return O(o),$(i.openAbsencesService.search$.next(p))}),r(),w(17,We,7,8,"div",2),r(),w(18,Ye,1,0,"bkd-spinner"),a(19,"async"),w(20,Ge,3,3,"p",3)(21,Ze,8,1,"div",4),r()}if(t&2){let o,d,p;U((o=l(1,6,i.selectionService.selection$))!==null&&o!==void 0?o:j(27,Ne)),s(2);let L=U((d=l(3,9,i.openAbsencesService.filteredEntries$))!==null&&d!==void 0?d:j(28,Ne));s(2),U(l(5,12,i.openAbsencesService.sortCriteria$));let m=((p=(p=l(7,15,i.openAbsencesService.sortedEntries$))==null?null:p.length)!==null&&p!==void 0?p:0)===0||L.length===0;s(5),v(l(10,17,"open-absences.title")),s(4),C("value",l(14,19,i.openAbsencesService.search$))("placeholder",l(15,21,"open-absences.search-by-name-or-class"))("label",l(16,23,"open-absences.search")),s(4),R(m?-1:17),s(),R(l(19,25,i.openAbsencesService.loading$)?18:m?20:21)}},dependencies:[we,be,Me,q,le,fe,Pe],styles:['.header-search[_ngcontent-%COMP%]{max-width:500px}.absence-header[_ngcontent-%COMP%]{cursor:pointer;padding:1rem;display:grid;grid-template-areas:"checkbox name date";grid-template-columns:min-content 5fr 1fr;border-top:1px solid #dee2e6;border-bottom:2px solid #dee2e6;align-items:center}.absence-entry[_ngcontent-%COMP%]{padding:1rem;border-bottom:1px solid #dee2e6;display:grid;grid-template-areas:"checkbox name study-class lessons-count days-ago date";grid-template-columns:min-content 2fr 1fr 1fr 1fr 1fr;align-items:center}.checkbox[_ngcontent-%COMP%]{align-self:start;grid-area:checkbox;margin:0;padding:.3rem 1rem 0 0}.checkbox[_ngcontent-%COMP%] input.form-check-input[_ngcontent-%COMP%]{position:static!important;margin:0!important;display:block}.name[_ngcontent-%COMP%]{grid-area:name;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.lessons-count[_ngcontent-%COMP%]{grid-area:lessons-count}.study-class[_ngcontent-%COMP%]{grid-area:study-class}.study-class-lessons-count[_ngcontent-%COMP%]{grid-area:study-class-lessons-count;display:none}.days-ago[_ngcontent-%COMP%]{color:#6c757d;grid-area:days-ago}.date[_ngcontent-%COMP%]{grid-area:date}@media (max-width: 750px){.content[_ngcontent-%COMP%]{padding-left:0;padding-right:0}.absence-header[_ngcontent-%COMP%]{grid-template-areas:"checkbox name date";grid-template-columns:min-content 3fr 2fr}.absence-entry[_ngcontent-%COMP%]{grid-template-areas:"checkbox name date" "checkbox study-class-lessons-count days-ago";grid-template-columns:min-content 3fr 2fr}.study-class-lessons-count[_ngcontent-%COMP%]{display:block}.study-class[_ngcontent-%COMP%], .lessons-count[_ngcontent-%COMP%]{display:none}.days-ago[_ngcontent-%COMP%], .study-class-lessons-count[_ngcontent-%COMP%]{font-size:.875rem;color:#adb5bd}}'],changeDetection:0})}}return n})();var Re=(()=>{class n{constructor(){}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275cmp=P({type:n,selectors:[["bkd-open-absences"]],features:[ae([A,y,{provide:ve,useExisting:A}])],decls:1,vars:0,template:function(t,i){t&1&&x(0,"router-outlet")},dependencies:[me],encapsulation:2,changeDetection:0})}}return n})();var Bt=[{path:"",component:Re,children:[{path:"",component:Ve,data:{restoreScrollPositionFrom:["/open-absences/detail/:personId/:date","/open-absences/confirm"]}},{path:"detail/:personId/:date",component:Be,data:{restoreScrollPositionFrom:["/open-absences/confirm"]}},{path:"confirm",component:Oe}]}];export{Bt as OPEN_ABSENCES_ROUTES}; diff --git a/public/apps/webapp-schulverwaltung/chunk-4RWZ7N7L.js b/public/apps/webapp-schulverwaltung/chunk-2QM4IFNS.js similarity index 98% rename from public/apps/webapp-schulverwaltung/chunk-4RWZ7N7L.js rename to public/apps/webapp-schulverwaltung/chunk-2QM4IFNS.js index 4f08d225..22119785 100644 --- a/public/apps/webapp-schulverwaltung/chunk-4RWZ7N7L.js +++ b/public/apps/webapp-schulverwaltung/chunk-2QM4IFNS.js @@ -1 +1 @@ -import{a as Ae,b as De,c as Le,d as Ve,e as Fe}from"./chunk-5WNFCBTP.js";import"./chunk-HCNFZOWE.js";import{b as Be}from"./chunk-DTTSX64G.js";import"./chunk-AYQPMCNZ.js";import"./chunk-Z4YBXGVO.js";import{b as $e,d as Ne}from"./chunk-3L4RH6QP.js";import"./chunk-XAZECV42.js";import{a as W}from"./chunk-GOGVGWFJ.js";import{a as Ie}from"./chunk-OSOXMODN.js";import{b as Te}from"./chunk-PSYDBHTH.js";import{c as ge,d as be,e as Se,f as Pe,g as Me,w as ke}from"./chunk-W4U7QKJF.js";import{a as we}from"./chunk-AVBHFGIF.js";import{$a as o,Ab as F,Ad as he,B as K,Bb as R,Bd as xe,Cb as v,Db as le,F as U,Ga as x,J as Q,Jb as a,Kb as s,Lb as E,M as j,Na as _,O as X,Od as Ee,P as I,Pa as ne,Pd as D,Qa as y,Ra as oe,Va as u,X as ee,Xa as z,Ya as T,Za as $,_ as te,_a as r,ab as m,cc as A,da as ie,dc as G,ea as S,eb as w,fa as P,fd as ce,g as N,gb as M,h as Z,hb as c,hd as me,id as fe,jd as _e,kb as B,l as O,m as q,n as k,nd as ue,qb as b,rb as l,rd as ye,sb as C,sd as ve,tb as f,ub as re,vb as ae,x as J,xa as n,xc as pe,ya as g,yc as de,zc as se,zd as Ce}from"./chunk-2W7IS4PN.js";var Y="no_access",V=(()=>{class e{constructor(t){this.profileService=t,this.reset$=new N(void 0),this.rawProfile$=this.reset$.pipe(I(()=>this.loadProfile()),j(1)),this.profile$=this.rawProfile$.pipe(k(i=>i===Y?null:i)),this.noAccess$=this.rawProfile$.pipe(k(i=>i===Y)),this.loading$=this.profileService.loading$}reset(){this.reset$.next()}loadProfile(){return this.profileService.getMyProfile().pipe(K(t=>t.status===403?O(Y):q(()=>t)))}static{this.\u0275fac=function(i){return new(i||e)(te(Ae))}}static{this.\u0275prov=ee({token:e,factory:e.\u0275fac})}}return e})();function Ze(e,d){if(e&1&&(r(0,"div"),l(1),o()),e&2){c(2);let t=v(2);n(),f(" ",t.AddressLine2," ")}}function qe(e,d){if(e&1&&(r(0,"div",5),l(1),a(2,"translate"),o()),e&2){let t=d.$implicit;n(),f(" ",E(2,1,"global.validation-errors."+t.error,t.params)," ")}}function Je(e,d){if(e&1&&(r(0,"div",13),l(1),a(2,"translate"),o()),e&2){let t=d.$implicit;n(),f(" ",E(2,1,"global.validation-errors."+t.error,t.params)," ")}}function Ke(e,d){e&1&&(r(0,"div",18)(1,"span",19),l(2,"Loading..."),o()())}function Qe(e,d){if(e&1){let t=w();r(0,"form",2),M("ngSubmit",function(){S(t);let p=c();return P(p.onSubmit())}),r(1,"div",3)(2,"p"),l(3),a(4,"translate"),o(),r(5,"address",4)(6,"div"),l(7),o(),_(8,Ze,2,1,"div"),r(9,"div"),l(10),o()()(),T(11,qe,3,4,"div",5,z),a(13,"async"),r(14,"div",3)(15,"label",6),l(16),a(17,"translate"),o(),m(18,"input",7),o(),r(19,"div",3)(20,"label",8),l(21),a(22,"translate"),o(),m(23,"input",9),r(24,"small",10),l(25),a(26,"translate"),o()(),r(27,"div",3)(28,"label",11),l(29),a(30,"translate"),o(),m(31,"input",12),a(32,"async"),T(33,Je,3,4,"div",13,z),a(35,"async"),r(36,"small",14),l(37),a(38,"translate"),o()(),r(39,"div",15)(40,"button",16),a(41,"async"),M("click",function(){S(t);let p=c();return P(p.cancel())}),l(42),a(43,"translate"),o(),r(44,"button",17),a(45,"async"),l(46),a(47,"translate"),_(48,Ke,3,0,"div",18),a(49,"async"),o()()()}if(e&2){let t,i=c(),p=v(0),h=v(2);y("formGroup",p),n(3),C(s(4,18,"my-profile.edit.address-changes-remark")),n(4),C(h.AddressLine1),n(),u(h.AddressLine2?8:-1),n(2),re("",h.Zip||""," ",h.Location,""),n(),$(s(13,20,i.formErrors$)),n(5),f(" ",s(17,22,"my-profile.edit.fields.phone-private")," "),n(5),f(" ",s(22,24,"my-profile.edit.fields.phone-mobile")," "),n(4),C(s(26,26,"my-profile.edit.fields.phone-mobile-hint")),n(4),f(" ",s(30,28,"my-profile.edit.fields.email2")," "),n(2),oe("is-invalid",((t=(t=s(32,30,i.email2Errors$))==null?null:t.length)!==null&&t!==void 0?t:0)>0),n(2),$(s(35,32,i.email2Errors$)),n(4),C(s(38,34,"my-profile.edit.fields.email2-hint")),n(3),y("disabled",s(41,36,i.saving$)),n(2),f(" ",s(43,38,"my-profile.edit.cancel")," "),n(2),y("disabled",s(45,40,i.saving$)),n(2),f(" ",s(47,42,"my-profile.edit.save")," "),n(2),u(s(49,44,i.saving$)?48:-1)}}var Oe=(()=>{class e{constructor(t,i,p,h,H,We){this.fb=t,this.router=i,this.toastService=p,this.translate=h,this.profileService=H,this.personsService=We,this.student$=this.profileService.profile$.pipe(J(ke),k(({student:Ye})=>Ye)),this.formGroup$=this.student$.pipe(k(this.createFormGroup.bind(this)),j(1)),this.saving$=new N(!1),this.submitted$=new N(!1),this.formErrors$=W(this.formGroup$,this.submitted$),this.email2Errors$=W(this.formGroup$,this.submitted$,"email2")}cancel(){this.navigateBack()}onSubmit(){this.submitted$.next(!0),this.formGroup$.pipe(U(1)).subscribe(t=>{if(t.valid){let{phonePrivate:i,phoneMobile:p,email2:h}=t.value;this.save(i?.trim()||null,p?.trim()||null,h||null)}})}createFormGroup(t){return this.fb.group({phonePrivate:[t.PhonePrivate],phoneMobile:[t.PhoneMobile],email2:[t.Email2,me.email]})}save(t,i,p){this.saving$.next(!0),this.student$.pipe(U(1),I(h=>this.personsService.update(h.Id,t,i,p)),Q(()=>this.saving$.next(!1))).subscribe(this.onSaveSuccess.bind(this))}onSaveSuccess(){this.profileService.reset(),this.toastService.success(this.translate.instant("my-profile.edit.save-success")),this.navigateBack()}navigateBack(){this.router.navigate(["/my-profile"])}static{this.\u0275fac=function(i){return new(i||e)(g(Ce),g(de),g(we),g(Ee),g(V),g(Be))}}static{this.\u0275cmp=x({type:e,selectors:[["bkd-my-profile-edit"]],decls:9,vars:10,consts:[[1,"bkd-container","bkd-container-limited"],[3,"formGroup"],[3,"ngSubmit","formGroup"],[1,"mb-3"],[1,"text-muted"],[1,"alert","alert-danger"],["id","my-profile-phone-private",1,"form-label"],["id","my-profile-phone-private","formControlName","phonePrivate","type","tel",1,"form-control"],["id","my-profile-phone-mobile",1,"form-label"],["id","my-profile-phone-mobile","formControlName","phoneMobile","type","tel","aria-describedby","my-profile-phone-mobile-hint",1,"form-control"],["id","my-profile-phone-mobile-hint",1,"form-text"],["for","my-profile-email2",1,"form-label"],["id","my-profile-email2","formControlName","email2","type","email","aria-describedby","my-profile-email2-hint",1,"form-control"],[1,"invalid-feedback"],["id","my-profile-email2-hint",1,"form-text"],[1,"d-flex","justify-content-end"],["type","button",1,"btn","btn-outline-secondary",3,"click","disabled"],["type","submit",1,"btn","btn-primary","ms-2",3,"disabled"],["role","status",1,"spinner-border","spinner-border-sm","align-middle"],[1,"visually-hidden"]],template:function(i,p){if(i&1&&(F(0),a(1,"async"),F(2),a(3,"async"),r(4,"div",0)(5,"h1"),l(6),a(7,"translate"),o(),_(8,Qe,50,46,"form",1),o()),i&2){let h=R(s(1,2,p.formGroup$));n(2);let H=R(s(3,5,p.student$));n(4),C(s(7,8,"my-profile.edit.title")),n(2),u(h&&H?8:-1)}},dependencies:[he,ue,ce,fe,_e,xe,ye,ve,A,D],encapsulation:2,changeDetection:0})}}return e})();var je=(()=>{class e{constructor(){}static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275cmp=x({type:e,selectors:[["bkd-my-profile-address"]],inputs:{address:"address"},decls:2,vars:1,template:function(i,p){i&1&&(r(0,"address"),l(1),o()),i&2&&(n(),C(p.address))},styles:["[_nghost-%COMP%]{padding:1rem}address[_ngcontent-%COMP%]{white-space:pre-wrap}"],changeDetection:0})}}return e})();var Ge=(()=>{class e{constructor(){}static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275cmp=x({type:e,selectors:[["bkd-my-profile-entry"]],inputs:{label:"label",value:"value"},decls:6,vars:4,consts:[[1,"row"],[1,"col-md-6"]],template:function(i,p){i&1&&(r(0,"dl",0)(1,"dt",1),l(2),a(3,"translate"),o(),r(4,"dd",1),l(5),o()()),i&2&&(n(2),C(s(3,2,p.label)),n(3),C(p.value))},dependencies:[D],styles:["dl[_ngcontent-%COMP%]{padding:0 1rem}dt[_ngcontent-%COMP%]{font-weight:400;color:#00000080}"],changeDetection:0})}}return e})();function Xe(e,d){if(e&1&&(r(0,"span"),l(1),o()),e&2){let t=c(2);n(),f("(",t.student.Gender,")")}}function et(e,d){if(e&1&&(r(0,"div",0)(1,"div",2),m(2,"bkd-avatar",3),r(3,"div",4),l(4),_(5,Xe,2,1,"span"),r(6,"div",5),l(7),a(8,"date"),o()()(),m(9,"bkd-reports-link",6),a(10,"async"),o()),e&2){let t=c();n(2),y("studentId",t.student.Id),n(2),ae(" ",t.student.LastName," ",t.student.FirstName," ",t.student.MiddleName," "),n(),u(t.student.Gender?5:-1),n(2),f(" ",E(8,7,t.student.Birthdate,"dd.MM.yyyy")," "),n(2),y("reports",s(10,10,t.reports$))}}function tt(e,d){if(e&1&&(r(0,"div",1),l(1),o()),e&2){let t=c();n(),C(t.student.Email)}}var He=(()=>{class e{constructor(t){this.reportsService=t,this.studentId$=new Z(1),this.reports$=this.studentId$.pipe(I(i=>i?this.reportsService.getPersonMasterDataReports(i):O([])),X([]))}ngOnChanges(t){t.student&&this.studentId$.next(t.student.currentValue?.Id||null)}static{this.\u0275fac=function(i){return new(i||e)(g(Ne))}}static{this.\u0275cmp=x({type:e,selectors:[["bkd-my-profile-header"]],inputs:{student:"student"},features:[ie],decls:2,vars:2,consts:[[1,"avatar-person"],[1,"email"],[1,"d-flex"],[1,"me-3","avatar","large",3,"studentId"],[1,"person"],[1,"birthdate"],[3,"reports"]],template:function(i,p){i&1&&_(0,et,11,12,"div",0)(1,tt,2,1,"div",1),i&2&&(u(p.student?0:-1),n(),u(p.student?1:-1))},dependencies:[Fe,Ie,A,G],styles:[".avatar-person[_ngcontent-%COMP%]{display:flex;justify-content:space-between;padding-left:1rem 1rem 1rem 0}.person[_ngcontent-%COMP%]{align-self:center}.email[_ngcontent-%COMP%]{padding:1rem 1rem 0 0}.report[_ngcontent-%COMP%]{align-self:flex-start;line-height:1}"],changeDetection:0})}}return e})();var it=(e,d)=>d.apprenticeshipContract.Id,nt=(e,d)=>d.Id;function ot(e,d){e&1&&m(0,"bkd-spinner")}function rt(e,d){e&1&&(r(0,"p",7),l(1),a(2,"translate"),o()),e&2&&(n(),f(" ",s(2,1,"shared.profile.substitution-profile")," "))}function at(e,d){e&1&&(r(0,"p",8),l(1),a(2,"translate"),o()),e&2&&(n(),f(" ",s(2,1,"shared.profile.no-profile")," "))}function lt(e,d){if(e&1&&(_(0,rt,3,3,"p",7),a(1,"async"),_(2,at,3,3,"p",8)),e&2){let t=c();u(s(1,1,t.profileService.noAccess$)?0:2)}}function pt(e,d){if(e&1&&m(0,"bkd-my-profile-entry",12),e&2){c(2);let t=v(0);B("value",t.student.SocialSecurityNumber)}}function dt(e,d){if(e&1&&m(0,"bkd-my-profile-entry",13),e&2){c(2);let t=v(0);B("value",t.student.HomeTown||t.student.Nationality)}}function st(e,d){if(e&1&&m(0,"bkd-my-profile-entry",14),e&2){c(2);let t=v(0);B("value",t.student.NativeLanguage)}}function ct(e,d){if(e&1&&m(0,"bkd-my-profile-entry",15),e&2){c(2);let t=v(0);B("value",t.stayPermitValue)}}function mt(e,d){if(e&1&&(m(0,"bkd-my-profile-entry",16),a(1,"date")),e&2){c(2);let t=v(0);B("value",E(1,1,t.student.StayPermitExpiry,"mediumDate"))}}function ft(e,d){if(e&1&&(r(0,"div",24)(1,"a",25),a(2,"translate"),r(3,"i",26),l(4,"edit"),o()(),m(5,"bkd-student-dossier-address",27),o()),e&2){c(2);let t=v(0);n(),ne("aria-label",s(2,2,"my-profile.edit.title")),n(4),y("student",t.student)}}function _t(e,d){if(e&1&&m(0,"bkd-my-profile-address",28),e&2){c(3);let t=v(0);y("address",t.student.CorrespondenceAddress)}}function ut(e,d){if(e&1){let t=w();r(0,"div",18,1)(2,"div",19)(3,"bkd-student-dossier-entry-header",20),M("click",function(){S(t);let p=b(1);return P(p.toggle())}),l(4),a(5,"translate"),o()(),r(6,"div",21)(7,"div",22),_(8,_t,1,1,"ng-template"),o()()()}if(e&2){let t=b(1);n(3),y("opened",!t.collapsed),n(),f(" ",s(5,2,"shared.profile.correspondence-address")," ")}}function yt(e,d){if(e&1&&m(0,"bkd-my-profile-address",28),e&2){c(3);let t=v(0);y("address",t.student.BillingAddress)}}function vt(e,d){if(e&1){let t=w();r(0,"div",18,2)(2,"div",19)(3,"bkd-student-dossier-entry-header",20),M("click",function(){S(t);let p=b(1);return P(p.toggle())}),l(4),a(5,"translate"),o()(),r(6,"div",21)(7,"div",22),_(8,yt,1,1,"ng-template"),o()()()}if(e&2){let t=b(1);n(3),y("opened",!t.collapsed),n(),f(" ",s(5,2,"shared.profile.billing-address")," ")}}function Ct(e,d){if(e&1&&m(0,"bkd-student-dossier-legal-representative",29),e&2){let t=d.$implicit;y("person",t)}}function ht(e,d){if(e&1&&T(0,Ct,1,1,"bkd-student-dossier-legal-representative",29,nt),e&2){c(3);let t=v(0);$(t.legalRepresentativePersons)}}function xt(e,d){if(e&1){let t=w();r(0,"div",18,3)(2,"div",19)(3,"bkd-student-dossier-entry-header",20),M("click",function(){S(t);let p=b(1);return P(p.toggle())}),l(4),a(5,"translate"),o()(),r(6,"div",21)(7,"div",22),_(8,ht,2,0,"ng-template"),o()()()}if(e&2){let t=b(1);n(3),y("opened",!t.collapsed),n(),f(" ",s(5,2,"shared.profile.legal-representation")," ")}}function gt(e,d){if(e&1&&l(0),e&2){let t=c().$index;f(" ",t+1," ")}}function bt(e,d){if(e&1&&m(0,"bkd-student-dossier-apprenticeship-company",30),e&2){let t=c().$implicit;y("company",t)}}function St(e,d){if(e&1){let t=w();r(0,"div",23,4)(2,"div",19)(3,"bkd-student-dossier-entry-header",20),M("click",function(){S(t);let p=b(1);return P(p.toggle())}),l(4),a(5,"translate"),_(6,gt,1,1),o()(),r(7,"div",21)(8,"div",22),_(9,bt,1,1,"ng-template"),o()()()}if(e&2){let t=b(1);c(2);let i=v(0);n(3),y("opened",!t.collapsed),n(),f(" ",s(5,3,"shared.profile.apprenticeship-company")," "),n(2),u(i.apprenticeshipCompanies.length>1?6:-1)}}function Pt(e,d){if(e&1){let t=w();m(0,"bkd-my-profile-header",9),r(1,"div",10)(2,"div",11),_(3,pt,1,1,"bkd-my-profile-entry",12)(4,dt,1,1,"bkd-my-profile-entry",13)(5,st,1,1,"bkd-my-profile-entry",14)(6,ct,1,1,"bkd-my-profile-entry",15)(7,mt,2,4,"bkd-my-profile-entry",16),o(),r(8,"div",17)(9,"div",18,0)(11,"div",19)(12,"bkd-student-dossier-entry-header",20),M("click",function(){S(t);let p=b(10);return P(p.toggle())}),l(13),a(14,"translate"),o()(),r(15,"div",21)(16,"div",22),_(17,ft,6,4,"ng-template"),o()()(),_(18,ut,9,4,"div",18)(19,vt,9,4,"div",18)(20,xt,9,4,"div",18),T(21,St,10,5,"div",23,it),o()()}if(e&2){let t=b(10);c();let i=v(0);y("student",i.student),n(3),u(i.student.SocialSecurityNumber?3:-1),n(),u(i.student.HomeTown||i.student.Nationality?4:-1),n(),u(i.student.NativeLanguage?5:-1),n(),u(i.stayPermitValue?6:-1),n(),u(i.student.StayPermitExpiry?7:-1),n(5),y("opened",!t.collapsed),n(),f(" ",s(14,11,"shared.profile.student-address")," "),n(5),u(i.student.CorrespondenceAddress?18:-1),n(),u(i.student.BillingAddress?19:-1),n(),u(i.legalRepresentativePersons.length>0?20:-1),n(),$(i.apprenticeshipCompanies)}}var Ue=(()=>{class e{constructor(t){this.profileService=t}static{this.\u0275fac=function(i){return new(i||e)(g(V))}}static{this.\u0275cmp=x({type:e,selectors:[["bkd-my-profile-show"]],decls:10,vars:9,consts:[["studentAddress","ngbAccordionItem"],["correspondenceAddress","ngbAccordionItem"],["billingAddress","ngbAccordionItem"],["legalRepresentatives","ngbAccordionItem"],["apprenticeshipCompanies","ngbAccordionItem"],[1,"bkd-container","bkd-container-limited"],["data-testid","profile-title"],["data-testid","profile-substitution"],["data-testid","profile-none"],[3,"student"],["data-testid","profile-content",1,"profile-content"],[1,"profile-entries","pt-3"],["label","my-profile.show.social-security-number",3,"value"],["label","my-profile.show.hometown-nationality",3,"value"],["label","my-profile.show.native-language",3,"value"],["label","my-profile.show.stay-permit",3,"value"],["label","my-profile.show.stay-permit-expiry",3,"value"],["ngbAccordion",""],["ngbAccordionItem",""],["ngbAccordionHeader",""],[3,"click","opened"],["ngbAccordionCollapse",""],["ngbAccordionBody",""],[3,"ngbAccordionItem"],[1,"clearfix"],["routerLink","edit",1,"btn","btn-primary","btn-icon","float-end","me-2"],[1,"material-icons"],["emailProperty","Email2",1,"profile-entry",3,"student"],[1,"profile-entry",3,"address"],[1,"profile-entry",3,"person"],[1,"profile-entry",3,"company"]],template:function(i,p){if(i&1&&(F(0),a(1,"async"),r(2,"div",5)(3,"h1",6),l(4),a(5,"translate"),o(),_(6,ot,1,0,"bkd-spinner"),a(7,"async"),_(8,lt,3,3)(9,Pt,23,13),o()),i&2){let h=R(s(1,2,p.profileService.profile$));n(4),C(s(5,5,"my-profile.title")),n(2),u(s(7,7,p.profileService.loading$)?6:h?9:8)}},dependencies:[He,Ge,Me,Pe,Se,$e,be,ge,se,De,je,Ve,Le,Te,A,G,D],styles:[".profile-content[_ngcontent-%COMP%]{padding-top:1rem}.profile-entry[_ngcontent-%COMP%]{display:block;padding:0 1rem}.profile-entries[_ngcontent-%COMP%]:not(:empty){border-top:1px solid rgb(222,222,222)}"],changeDetection:0})}}return e})();var ze=(()=>{class e{constructor(){}static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275cmp=x({type:e,selectors:[["bkd-my-profile"]],features:[le([V])],decls:1,vars:0,template:function(i,p){i&1&&m(0,"router-outlet")},dependencies:[pe],encapsulation:2,changeDetection:0})}}return e})();var yi=[{path:"",component:ze,children:[{path:"",component:Ue},{path:"edit",component:Oe}]}];export{yi as MY_PROFILE_ROUTES}; +import{a as Ae,b as De,c as Le,d as Ve,e as Fe}from"./chunk-4UVNKLEN.js";import"./chunk-HCNFZOWE.js";import{b as Be}from"./chunk-DTTSX64G.js";import"./chunk-AYQPMCNZ.js";import"./chunk-Z4YBXGVO.js";import{b as $e,d as Ne}from"./chunk-3L4RH6QP.js";import"./chunk-XAZECV42.js";import{a as W}from"./chunk-G6EB45SC.js";import{i as Ie}from"./chunk-XFA6UPZX.js";import{b as Te}from"./chunk-PSYDBHTH.js";import{c as ge,d as be,e as Se,f as Pe,g as Me,w as ke}from"./chunk-W4U7QKJF.js";import{a as we}from"./chunk-AVBHFGIF.js";import{$a as o,Ab as F,Ad as he,B as K,Bb as R,Bd as xe,Cb as v,Db as le,F as U,Ga as x,J as Q,Jb as a,Kb as s,Lb as E,M as j,Na as _,O as X,Od as Ee,P as I,Pa as ne,Pd as D,Qa as y,Ra as oe,Va as u,X as ee,Xa as z,Ya as T,Za as $,_ as te,_a as r,ab as m,cc as A,da as ie,dc as G,ea as S,eb as w,fa as P,fd as ce,g as N,gb as M,h as Z,hb as c,hd as me,id as fe,jd as _e,kb as B,l as O,m as q,n as k,nd as ue,qb as b,rb as l,rd as ye,sb as C,sd as ve,tb as f,ub as re,vb as ae,x as J,xa as n,xc as pe,ya as g,yc as de,zc as se,zd as Ce}from"./chunk-2W7IS4PN.js";var Y="no_access",V=(()=>{class e{constructor(t){this.profileService=t,this.reset$=new N(void 0),this.rawProfile$=this.reset$.pipe(I(()=>this.loadProfile()),j(1)),this.profile$=this.rawProfile$.pipe(k(i=>i===Y?null:i)),this.noAccess$=this.rawProfile$.pipe(k(i=>i===Y)),this.loading$=this.profileService.loading$}reset(){this.reset$.next()}loadProfile(){return this.profileService.getMyProfile().pipe(K(t=>t.status===403?O(Y):q(()=>t)))}static{this.\u0275fac=function(i){return new(i||e)(te(Ae))}}static{this.\u0275prov=ee({token:e,factory:e.\u0275fac})}}return e})();function Ze(e,d){if(e&1&&(r(0,"div"),l(1),o()),e&2){c(2);let t=v(2);n(),f(" ",t.AddressLine2," ")}}function qe(e,d){if(e&1&&(r(0,"div",5),l(1),a(2,"translate"),o()),e&2){let t=d.$implicit;n(),f(" ",E(2,1,"global.validation-errors."+t.error,t.params)," ")}}function Je(e,d){if(e&1&&(r(0,"div",13),l(1),a(2,"translate"),o()),e&2){let t=d.$implicit;n(),f(" ",E(2,1,"global.validation-errors."+t.error,t.params)," ")}}function Ke(e,d){e&1&&(r(0,"div",18)(1,"span",19),l(2,"Loading..."),o()())}function Qe(e,d){if(e&1){let t=w();r(0,"form",2),M("ngSubmit",function(){S(t);let p=c();return P(p.onSubmit())}),r(1,"div",3)(2,"p"),l(3),a(4,"translate"),o(),r(5,"address",4)(6,"div"),l(7),o(),_(8,Ze,2,1,"div"),r(9,"div"),l(10),o()()(),T(11,qe,3,4,"div",5,z),a(13,"async"),r(14,"div",3)(15,"label",6),l(16),a(17,"translate"),o(),m(18,"input",7),o(),r(19,"div",3)(20,"label",8),l(21),a(22,"translate"),o(),m(23,"input",9),r(24,"small",10),l(25),a(26,"translate"),o()(),r(27,"div",3)(28,"label",11),l(29),a(30,"translate"),o(),m(31,"input",12),a(32,"async"),T(33,Je,3,4,"div",13,z),a(35,"async"),r(36,"small",14),l(37),a(38,"translate"),o()(),r(39,"div",15)(40,"button",16),a(41,"async"),M("click",function(){S(t);let p=c();return P(p.cancel())}),l(42),a(43,"translate"),o(),r(44,"button",17),a(45,"async"),l(46),a(47,"translate"),_(48,Ke,3,0,"div",18),a(49,"async"),o()()()}if(e&2){let t,i=c(),p=v(0),h=v(2);y("formGroup",p),n(3),C(s(4,18,"my-profile.edit.address-changes-remark")),n(4),C(h.AddressLine1),n(),u(h.AddressLine2?8:-1),n(2),re("",h.Zip||""," ",h.Location,""),n(),$(s(13,20,i.formErrors$)),n(5),f(" ",s(17,22,"my-profile.edit.fields.phone-private")," "),n(5),f(" ",s(22,24,"my-profile.edit.fields.phone-mobile")," "),n(4),C(s(26,26,"my-profile.edit.fields.phone-mobile-hint")),n(4),f(" ",s(30,28,"my-profile.edit.fields.email2")," "),n(2),oe("is-invalid",((t=(t=s(32,30,i.email2Errors$))==null?null:t.length)!==null&&t!==void 0?t:0)>0),n(2),$(s(35,32,i.email2Errors$)),n(4),C(s(38,34,"my-profile.edit.fields.email2-hint")),n(3),y("disabled",s(41,36,i.saving$)),n(2),f(" ",s(43,38,"my-profile.edit.cancel")," "),n(2),y("disabled",s(45,40,i.saving$)),n(2),f(" ",s(47,42,"my-profile.edit.save")," "),n(2),u(s(49,44,i.saving$)?48:-1)}}var Oe=(()=>{class e{constructor(t,i,p,h,H,We){this.fb=t,this.router=i,this.toastService=p,this.translate=h,this.profileService=H,this.personsService=We,this.student$=this.profileService.profile$.pipe(J(ke),k(({student:Ye})=>Ye)),this.formGroup$=this.student$.pipe(k(this.createFormGroup.bind(this)),j(1)),this.saving$=new N(!1),this.submitted$=new N(!1),this.formErrors$=W(this.formGroup$,this.submitted$),this.email2Errors$=W(this.formGroup$,this.submitted$,"email2")}cancel(){this.navigateBack()}onSubmit(){this.submitted$.next(!0),this.formGroup$.pipe(U(1)).subscribe(t=>{if(t.valid){let{phonePrivate:i,phoneMobile:p,email2:h}=t.value;this.save(i?.trim()||null,p?.trim()||null,h||null)}})}createFormGroup(t){return this.fb.group({phonePrivate:[t.PhonePrivate],phoneMobile:[t.PhoneMobile],email2:[t.Email2,me.email]})}save(t,i,p){this.saving$.next(!0),this.student$.pipe(U(1),I(h=>this.personsService.update(h.Id,t,i,p)),Q(()=>this.saving$.next(!1))).subscribe(this.onSaveSuccess.bind(this))}onSaveSuccess(){this.profileService.reset(),this.toastService.success(this.translate.instant("my-profile.edit.save-success")),this.navigateBack()}navigateBack(){this.router.navigate(["/my-profile"])}static{this.\u0275fac=function(i){return new(i||e)(g(Ce),g(de),g(we),g(Ee),g(V),g(Be))}}static{this.\u0275cmp=x({type:e,selectors:[["bkd-my-profile-edit"]],decls:9,vars:10,consts:[[1,"bkd-container","bkd-container-limited"],[3,"formGroup"],[3,"ngSubmit","formGroup"],[1,"mb-3"],[1,"text-muted"],[1,"alert","alert-danger"],["id","my-profile-phone-private",1,"form-label"],["id","my-profile-phone-private","formControlName","phonePrivate","type","tel",1,"form-control"],["id","my-profile-phone-mobile",1,"form-label"],["id","my-profile-phone-mobile","formControlName","phoneMobile","type","tel","aria-describedby","my-profile-phone-mobile-hint",1,"form-control"],["id","my-profile-phone-mobile-hint",1,"form-text"],["for","my-profile-email2",1,"form-label"],["id","my-profile-email2","formControlName","email2","type","email","aria-describedby","my-profile-email2-hint",1,"form-control"],[1,"invalid-feedback"],["id","my-profile-email2-hint",1,"form-text"],[1,"d-flex","justify-content-end"],["type","button",1,"btn","btn-outline-secondary",3,"click","disabled"],["type","submit",1,"btn","btn-primary","ms-2",3,"disabled"],["role","status",1,"spinner-border","spinner-border-sm","align-middle"],[1,"visually-hidden"]],template:function(i,p){if(i&1&&(F(0),a(1,"async"),F(2),a(3,"async"),r(4,"div",0)(5,"h1"),l(6),a(7,"translate"),o(),_(8,Qe,50,46,"form",1),o()),i&2){let h=R(s(1,2,p.formGroup$));n(2);let H=R(s(3,5,p.student$));n(4),C(s(7,8,"my-profile.edit.title")),n(2),u(h&&H?8:-1)}},dependencies:[he,ue,ce,fe,_e,xe,ye,ve,A,D],encapsulation:2,changeDetection:0})}}return e})();var je=(()=>{class e{constructor(){}static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275cmp=x({type:e,selectors:[["bkd-my-profile-address"]],inputs:{address:"address"},decls:2,vars:1,template:function(i,p){i&1&&(r(0,"address"),l(1),o()),i&2&&(n(),C(p.address))},styles:["[_nghost-%COMP%]{padding:1rem}address[_ngcontent-%COMP%]{white-space:pre-wrap}"],changeDetection:0})}}return e})();var Ge=(()=>{class e{constructor(){}static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275cmp=x({type:e,selectors:[["bkd-my-profile-entry"]],inputs:{label:"label",value:"value"},decls:6,vars:4,consts:[[1,"row"],[1,"col-md-6"]],template:function(i,p){i&1&&(r(0,"dl",0)(1,"dt",1),l(2),a(3,"translate"),o(),r(4,"dd",1),l(5),o()()),i&2&&(n(2),C(s(3,2,p.label)),n(3),C(p.value))},dependencies:[D],styles:["dl[_ngcontent-%COMP%]{padding:0 1rem}dt[_ngcontent-%COMP%]{font-weight:400;color:#00000080}"],changeDetection:0})}}return e})();function Xe(e,d){if(e&1&&(r(0,"span"),l(1),o()),e&2){let t=c(2);n(),f("(",t.student.Gender,")")}}function et(e,d){if(e&1&&(r(0,"div",0)(1,"div",2),m(2,"bkd-avatar",3),r(3,"div",4),l(4),_(5,Xe,2,1,"span"),r(6,"div",5),l(7),a(8,"date"),o()()(),m(9,"bkd-reports-link",6),a(10,"async"),o()),e&2){let t=c();n(2),y("studentId",t.student.Id),n(2),ae(" ",t.student.LastName," ",t.student.FirstName," ",t.student.MiddleName," "),n(),u(t.student.Gender?5:-1),n(2),f(" ",E(8,7,t.student.Birthdate,"dd.MM.yyyy")," "),n(2),y("reports",s(10,10,t.reports$))}}function tt(e,d){if(e&1&&(r(0,"div",1),l(1),o()),e&2){let t=c();n(),C(t.student.Email)}}var He=(()=>{class e{constructor(t){this.reportsService=t,this.studentId$=new Z(1),this.reports$=this.studentId$.pipe(I(i=>i?this.reportsService.getPersonMasterDataReports(i):O([])),X([]))}ngOnChanges(t){t.student&&this.studentId$.next(t.student.currentValue?.Id||null)}static{this.\u0275fac=function(i){return new(i||e)(g(Ne))}}static{this.\u0275cmp=x({type:e,selectors:[["bkd-my-profile-header"]],inputs:{student:"student"},features:[ie],decls:2,vars:2,consts:[[1,"avatar-person"],[1,"email"],[1,"d-flex"],[1,"me-3","avatar","large",3,"studentId"],[1,"person"],[1,"birthdate"],[3,"reports"]],template:function(i,p){i&1&&_(0,et,11,12,"div",0)(1,tt,2,1,"div",1),i&2&&(u(p.student?0:-1),n(),u(p.student?1:-1))},dependencies:[Fe,Ie,A,G],styles:[".avatar-person[_ngcontent-%COMP%]{display:flex;justify-content:space-between;padding-left:1rem 1rem 1rem 0}.person[_ngcontent-%COMP%]{align-self:center}.email[_ngcontent-%COMP%]{padding:1rem 1rem 0 0}.report[_ngcontent-%COMP%]{align-self:flex-start;line-height:1}"],changeDetection:0})}}return e})();var it=(e,d)=>d.apprenticeshipContract.Id,nt=(e,d)=>d.Id;function ot(e,d){e&1&&m(0,"bkd-spinner")}function rt(e,d){e&1&&(r(0,"p",7),l(1),a(2,"translate"),o()),e&2&&(n(),f(" ",s(2,1,"shared.profile.substitution-profile")," "))}function at(e,d){e&1&&(r(0,"p",8),l(1),a(2,"translate"),o()),e&2&&(n(),f(" ",s(2,1,"shared.profile.no-profile")," "))}function lt(e,d){if(e&1&&(_(0,rt,3,3,"p",7),a(1,"async"),_(2,at,3,3,"p",8)),e&2){let t=c();u(s(1,1,t.profileService.noAccess$)?0:2)}}function pt(e,d){if(e&1&&m(0,"bkd-my-profile-entry",12),e&2){c(2);let t=v(0);B("value",t.student.SocialSecurityNumber)}}function dt(e,d){if(e&1&&m(0,"bkd-my-profile-entry",13),e&2){c(2);let t=v(0);B("value",t.student.HomeTown||t.student.Nationality)}}function st(e,d){if(e&1&&m(0,"bkd-my-profile-entry",14),e&2){c(2);let t=v(0);B("value",t.student.NativeLanguage)}}function ct(e,d){if(e&1&&m(0,"bkd-my-profile-entry",15),e&2){c(2);let t=v(0);B("value",t.stayPermitValue)}}function mt(e,d){if(e&1&&(m(0,"bkd-my-profile-entry",16),a(1,"date")),e&2){c(2);let t=v(0);B("value",E(1,1,t.student.StayPermitExpiry,"mediumDate"))}}function ft(e,d){if(e&1&&(r(0,"div",24)(1,"a",25),a(2,"translate"),r(3,"i",26),l(4,"edit"),o()(),m(5,"bkd-student-dossier-address",27),o()),e&2){c(2);let t=v(0);n(),ne("aria-label",s(2,2,"my-profile.edit.title")),n(4),y("student",t.student)}}function _t(e,d){if(e&1&&m(0,"bkd-my-profile-address",28),e&2){c(3);let t=v(0);y("address",t.student.CorrespondenceAddress)}}function ut(e,d){if(e&1){let t=w();r(0,"div",18,1)(2,"div",19)(3,"bkd-student-dossier-entry-header",20),M("click",function(){S(t);let p=b(1);return P(p.toggle())}),l(4),a(5,"translate"),o()(),r(6,"div",21)(7,"div",22),_(8,_t,1,1,"ng-template"),o()()()}if(e&2){let t=b(1);n(3),y("opened",!t.collapsed),n(),f(" ",s(5,2,"shared.profile.correspondence-address")," ")}}function yt(e,d){if(e&1&&m(0,"bkd-my-profile-address",28),e&2){c(3);let t=v(0);y("address",t.student.BillingAddress)}}function vt(e,d){if(e&1){let t=w();r(0,"div",18,2)(2,"div",19)(3,"bkd-student-dossier-entry-header",20),M("click",function(){S(t);let p=b(1);return P(p.toggle())}),l(4),a(5,"translate"),o()(),r(6,"div",21)(7,"div",22),_(8,yt,1,1,"ng-template"),o()()()}if(e&2){let t=b(1);n(3),y("opened",!t.collapsed),n(),f(" ",s(5,2,"shared.profile.billing-address")," ")}}function Ct(e,d){if(e&1&&m(0,"bkd-student-dossier-legal-representative",29),e&2){let t=d.$implicit;y("person",t)}}function ht(e,d){if(e&1&&T(0,Ct,1,1,"bkd-student-dossier-legal-representative",29,nt),e&2){c(3);let t=v(0);$(t.legalRepresentativePersons)}}function xt(e,d){if(e&1){let t=w();r(0,"div",18,3)(2,"div",19)(3,"bkd-student-dossier-entry-header",20),M("click",function(){S(t);let p=b(1);return P(p.toggle())}),l(4),a(5,"translate"),o()(),r(6,"div",21)(7,"div",22),_(8,ht,2,0,"ng-template"),o()()()}if(e&2){let t=b(1);n(3),y("opened",!t.collapsed),n(),f(" ",s(5,2,"shared.profile.legal-representation")," ")}}function gt(e,d){if(e&1&&l(0),e&2){let t=c().$index;f(" ",t+1," ")}}function bt(e,d){if(e&1&&m(0,"bkd-student-dossier-apprenticeship-company",30),e&2){let t=c().$implicit;y("company",t)}}function St(e,d){if(e&1){let t=w();r(0,"div",23,4)(2,"div",19)(3,"bkd-student-dossier-entry-header",20),M("click",function(){S(t);let p=b(1);return P(p.toggle())}),l(4),a(5,"translate"),_(6,gt,1,1),o()(),r(7,"div",21)(8,"div",22),_(9,bt,1,1,"ng-template"),o()()()}if(e&2){let t=b(1);c(2);let i=v(0);n(3),y("opened",!t.collapsed),n(),f(" ",s(5,3,"shared.profile.apprenticeship-company")," "),n(2),u(i.apprenticeshipCompanies.length>1?6:-1)}}function Pt(e,d){if(e&1){let t=w();m(0,"bkd-my-profile-header",9),r(1,"div",10)(2,"div",11),_(3,pt,1,1,"bkd-my-profile-entry",12)(4,dt,1,1,"bkd-my-profile-entry",13)(5,st,1,1,"bkd-my-profile-entry",14)(6,ct,1,1,"bkd-my-profile-entry",15)(7,mt,2,4,"bkd-my-profile-entry",16),o(),r(8,"div",17)(9,"div",18,0)(11,"div",19)(12,"bkd-student-dossier-entry-header",20),M("click",function(){S(t);let p=b(10);return P(p.toggle())}),l(13),a(14,"translate"),o()(),r(15,"div",21)(16,"div",22),_(17,ft,6,4,"ng-template"),o()()(),_(18,ut,9,4,"div",18)(19,vt,9,4,"div",18)(20,xt,9,4,"div",18),T(21,St,10,5,"div",23,it),o()()}if(e&2){let t=b(10);c();let i=v(0);y("student",i.student),n(3),u(i.student.SocialSecurityNumber?3:-1),n(),u(i.student.HomeTown||i.student.Nationality?4:-1),n(),u(i.student.NativeLanguage?5:-1),n(),u(i.stayPermitValue?6:-1),n(),u(i.student.StayPermitExpiry?7:-1),n(5),y("opened",!t.collapsed),n(),f(" ",s(14,11,"shared.profile.student-address")," "),n(5),u(i.student.CorrespondenceAddress?18:-1),n(),u(i.student.BillingAddress?19:-1),n(),u(i.legalRepresentativePersons.length>0?20:-1),n(),$(i.apprenticeshipCompanies)}}var Ue=(()=>{class e{constructor(t){this.profileService=t}static{this.\u0275fac=function(i){return new(i||e)(g(V))}}static{this.\u0275cmp=x({type:e,selectors:[["bkd-my-profile-show"]],decls:10,vars:9,consts:[["studentAddress","ngbAccordionItem"],["correspondenceAddress","ngbAccordionItem"],["billingAddress","ngbAccordionItem"],["legalRepresentatives","ngbAccordionItem"],["apprenticeshipCompanies","ngbAccordionItem"],[1,"bkd-container","bkd-container-limited"],["data-testid","profile-title"],["data-testid","profile-substitution"],["data-testid","profile-none"],[3,"student"],["data-testid","profile-content",1,"profile-content"],[1,"profile-entries","pt-3"],["label","my-profile.show.social-security-number",3,"value"],["label","my-profile.show.hometown-nationality",3,"value"],["label","my-profile.show.native-language",3,"value"],["label","my-profile.show.stay-permit",3,"value"],["label","my-profile.show.stay-permit-expiry",3,"value"],["ngbAccordion",""],["ngbAccordionItem",""],["ngbAccordionHeader",""],[3,"click","opened"],["ngbAccordionCollapse",""],["ngbAccordionBody",""],[3,"ngbAccordionItem"],[1,"clearfix"],["routerLink","edit",1,"btn","btn-primary","btn-icon","float-end","me-2"],[1,"material-icons"],["emailProperty","Email2",1,"profile-entry",3,"student"],[1,"profile-entry",3,"address"],[1,"profile-entry",3,"person"],[1,"profile-entry",3,"company"]],template:function(i,p){if(i&1&&(F(0),a(1,"async"),r(2,"div",5)(3,"h1",6),l(4),a(5,"translate"),o(),_(6,ot,1,0,"bkd-spinner"),a(7,"async"),_(8,lt,3,3)(9,Pt,23,13),o()),i&2){let h=R(s(1,2,p.profileService.profile$));n(4),C(s(5,5,"my-profile.title")),n(2),u(s(7,7,p.profileService.loading$)?6:h?9:8)}},dependencies:[He,Ge,Me,Pe,Se,$e,be,ge,se,De,je,Ve,Le,Te,A,G,D],styles:[".profile-content[_ngcontent-%COMP%]{padding-top:1rem}.profile-entry[_ngcontent-%COMP%]{display:block;padding:0 1rem}.profile-entries[_ngcontent-%COMP%]:not(:empty){border-top:1px solid rgb(222,222,222)}"],changeDetection:0})}}return e})();var ze=(()=>{class e{constructor(){}static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275cmp=x({type:e,selectors:[["bkd-my-profile"]],features:[le([V])],decls:1,vars:0,template:function(i,p){i&1&&m(0,"router-outlet")},dependencies:[pe],encapsulation:2,changeDetection:0})}}return e})();var yi=[{path:"",component:ze,children:[{path:"",component:Ue},{path:"edit",component:Oe}]}];export{yi as MY_PROFILE_ROUTES}; diff --git a/public/apps/webapp-schulverwaltung/chunk-45PGF53G.js b/public/apps/webapp-schulverwaltung/chunk-45PGF53G.js deleted file mode 100644 index 3f402088..00000000 --- a/public/apps/webapp-schulverwaltung/chunk-45PGF53G.js +++ /dev/null @@ -1 +0,0 @@ -import{a as ye,b as Se,c as ge}from"./chunk-4KY7ONEQ.js";import{a as be}from"./chunk-W4ESFJ6M.js";import{a as _e}from"./chunk-YQAWVQ54.js";import{a as ue}from"./chunk-THL2WTJD.js";import"./chunk-5WNFCBTP.js";import"./chunk-LASWC23V.js";import"./chunk-HCNFZOWE.js";import{b as oe,e as M}from"./chunk-746ASKQ4.js";import"./chunk-DTTSX64G.js";import"./chunk-Y4QYVF5K.js";import"./chunk-AYQPMCNZ.js";import{a as ve,b as Ce,c as fe}from"./chunk-4RZQAAPF.js";import{f as de}from"./chunk-Z4YBXGVO.js";import{d as me}from"./chunk-3L4RH6QP.js";import"./chunk-DTYYCJHM.js";import"./chunk-XAZECV42.js";import{a as he}from"./chunk-3P6YOVUR.js";import{L as re,P as se}from"./chunk-SRCW6BUG.js";import"./chunk-GOGVGWFJ.js";import{a as le,b as pe}from"./chunk-OSOXMODN.js";import{b as ce}from"./chunk-PSYDBHTH.js";import{u as ae}from"./chunk-W4U7QKJF.js";import"./chunk-AVBHFGIF.js";import{$a as r,$b as Y,Ab as $,Bb as j,Cb as S,Db as J,Eb as K,F as W,Fb as N,Ga as x,Jb as s,Kb as l,M as q,Na as C,P as V,Pa as z,Pd as D,Qa as v,R as U,Va as b,X as G,Xb as Q,Ya as I,Za as F,_ as E,_a as o,ab as k,cc as Z,cd as ne,ea as L,eb as P,fa as T,gb as h,hb as p,ma as X,n as H,rb as m,sb as y,tb as f,wc as ee,xa as a,xb as w,xc as te,ya as _,yb as R,zb as B,zc as ie}from"./chunk-2W7IS4PN.js";var Ee=(()=>{class e{constructor(t,i,n){this.studentsService=t,this.educationalEventsService=i,this.studyClassesService=n,this.filter={student:null,educationalEvent:null,studyClass:null},this.filterChange=new X,this.classesHttpFilter={params:{fields:"IsActive","filter.IsActive":"=true"}}}show(){this.filterChange.emit(this.filter)}static{this.\u0275fac=function(i){return new(i||e)(_(de),_(ge),_(_e))}}static{this.\u0275cmp=x({type:e,selectors:[["bkd-evaluate-absences-header"]],inputs:{filter:"filter"},outputs:{filterChange:"filterChange"},decls:20,vars:19,consts:[[1,"row","g-3","align-items-end"],[1,"col-sm-12","col-md"],[1,"form-label"],[3,"valueChange","typeaheadService","value"],[3,"valueChange","typeaheadService","value","additionalHttpParams"],[1,"col-auto"],["type","button",1,"btn","btn-primary",3,"click"]],template:function(i,n){i&1&&(o(0,"div",0)(1,"div",1)(2,"label",2),m(3),s(4,"translate"),r(),o(5,"bkd-typeahead",3),B("valueChange",function(d){return R(n.filter.student,d)||(n.filter.student=d),d}),r()(),o(6,"div",1)(7,"label",2),m(8),s(9,"translate"),r(),o(10,"bkd-typeahead",3),B("valueChange",function(d){return R(n.filter.educationalEvent,d)||(n.filter.educationalEvent=d),d}),r()(),o(11,"div",1)(12,"label",2),m(13),s(14,"translate"),r(),o(15,"bkd-typeahead",4),B("valueChange",function(d){return R(n.filter.studyClass,d)||(n.filter.studyClass=d),d}),r()(),o(16,"div",5)(17,"button",6),h("click",function(){return n.show()}),m(18),s(19,"translate"),r()()()),i&2&&(a(3),y(l(4,11,"evaluate-absences.header.student")),a(2),v("typeaheadService",n.studentsService),w("value",n.filter.student),a(3),y(l(9,13,"evaluate-absences.header.module-instance")),a(2),v("typeaheadService",n.educationalEventsService),w("value",n.filter.educationalEvent),a(3),y(l(14,15,"evaluate-absences.header.study-class")),a(2),v("typeaheadService",n.studyClassesService),w("value",n.filter.studyClass),v("additionalHttpParams",n.classesHttpFilter),a(3),f(" ",l(19,17,"evaluate-absences.header.show")," "))},dependencies:[be,D],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;padding:1rem 1rem 1rem 0;border-bottom:1px solid #dee2e6}"],changeDetection:0})}}return e})();var g=(()=>{class e extends Ce{constructor(t,i,n,u,d){super(t,i,d,n,"/evaluate-absences"),this.lessonPresenceService=u,this.queryParamsString$.pipe(U(this.destroy$)).subscribe(A=>this.confirmBackLinkParams={returnparams:A})}updateAfterConfirm(){this.resetEntries()}getInitialFilter(){return{student:null,educationalEvent:null,studyClass:null}}isValidFilter(t){return!!(t.student||t.educationalEvent||t.studyClass)}getInitialSorting(){return{key:"StudentFullName",ascending:!0}}loadEntries(t,i,n){return this.loadingService.load(this.lessonPresenceService.getStatistics(t,i,n),ve)}buildParamsFromFilter(t){return ye(t)}static{this.\u0275fac=function(i){return new(i||e)(E(Q),E(pe),E(ne),E(M),E(fe))}}static{this.\u0275prov=G({token:e,factory:e.\u0275fac})}}return e})();var ke=(e,c)=>c.key,Pe=(e,c)=>c.StudentRef.Id,Ie=()=>[],Fe=e=>["student",e,"absences"],we=e=>({returnparams:e});function Re(e,c){e&1&&k(0,"bkd-spinner")}function Be(e,c){if(e&1){let t=P();o(0,"th",9),h("click",function(){let n=L(t).$implicit,u=p(4);return T(u.state.sortService.toggleSorting(n.key))}),o(1,"div",10)(2,"div",11),s(3,"translate"),m(4),s(5,"translate"),r(),o(6,"div",12),m(7),s(8,"async"),r()()()}if(e&2){let t=c.$implicit,i=p(4);v("ngClass",t.label),a(2),v("ngbTooltip",l(3,4,"evaluate-absences.list.header."+t.label)),a(2),f(" ",l(5,6,"evaluate-absences.list.header."+t.label)," "),a(3),f(" ",l(8,8,i.state.sortService.getSortingChar$(t.key))," ")}}function $e(e,c){if(e&1&&(o(0,"a",13),s(1,"async"),m(2),r()),e&2){let t=p().$implicit,i=p().$implicit,n=p(5);v("routerLink",N(5,Fe,i.StudentRef.Id))("queryParams",N(7,we,l(1,3,n.profileReturnParams$))),a(2),f(" ",i[t.key]," ")}}function je(e,c){if(e&1&&m(0),e&2){let t=p().$implicit,i=p().$implicit;f(" ",i[t.key]," ")}}function De(e,c){if(e&1&&(o(0,"td"),s(1,"translate"),C(2,$e,3,9,"a",13)(3,je,1,1),r()),e&2){let t=c.$implicit;z("data-label",l(1,2,"evaluate-absences.list.header."+t.label)),a(2),b(t.key==="StudentFullName"?2:3)}}function Me(e,c){if(e&1&&(o(0,"tr"),I(1,De,4,4,"td",null,ke),r()),e&2){let t=p(5);a(),F(t.columns)}}function Ve(e,c){if(e&1&&(o(0,"tbody"),I(1,Me,3,0,"tr",null,Pe),r()),e&2){p(4);let t=S(0);a(),F(t)}}function Ne(e,c){e&1&&k(0,"bkd-spinner",7)}function Oe(e,c){if(e&1){let t=P();o(0,"button",14),h("click",function(){L(t);let n=p(4);return T(n.state.nextPage())}),m(1),s(2,"translate"),r()}e&2&&(a(),f(" ",l(2,1,"global.pagination.load-more")," "))}function He(e,c){if(e&1){let t=P();o(0,"div",2)(1,"div",3),k(2,"bkd-reports-link",4),s(3,"async"),r(),o(4,"table",5),h("scrolled",function(){L(t);let n=p(3);return T(n.onScroll())}),o(5,"thead")(6,"tr"),I(7,Be,9,10,"th",6,ke),r()(),C(9,Ve,3,0,"tbody"),r(),C(10,Ne,1,0,"bkd-spinner",7)(11,Oe,3,3,"button",8),r()}if(e&2){let t,i=p(3),n=S(0),u=S(2),d=S(4);a(2),v("reports",(t=l(3,4,i.reports$))!==null&&t!==void 0?t:K(6,Ie)),a(5),F(i.columns),a(2),b(n&&n.length>0?9:-1),a(),b(d?10:-1),a(),b(u&&!d?11:-1)}}function We(e,c){e&1&&(o(0,"p",1),m(1),s(2,"translate"),r()),e&2&&(a(),f(" ",l(2,1,"evaluate-absences.no-entries")," "))}function qe(e,c){if(e&1&&C(0,He,12,7,"div",2)(1,We,3,3,"p",1),e&2){p(2);let t=S(0),i=S(4);b(t&&t.length>0||i?0:1)}}function Ue(e,c){if(e&1&&(C(0,Re,1,0,"bkd-spinner"),s(1,"async"),C(2,qe,2,1)),e&2){let t=p();b(l(1,1,t.state.loading$)?0:2)}}function Ge(e,c){e&1&&(o(0,"p",1),m(1),s(2,"translate"),r()),e&2&&(a(),y(l(2,1,"evaluate-absences.no-filter")))}var Ae=(()=>{class e{constructor(t,i,n,u,d,A){this.state=t,this.scrollPosition=i,this.route=n,this.presenceTypesService=u,this.reportsService=d,this.lessonPresencesService=A,this.reports$=this.loadReports(),this.columns=[{key:"StudentFullName",label:"student"},{key:"TotalAbsences",label:"total"},{key:"TotalAbsencesValidExcuse",label:"valid-excuse"},{key:"TotalAbsencesWithoutExcuse",label:"without-excuse"},{key:"TotalAbsencesUnconfirmed",label:"unconfirmed"},{key:"TotalAbsencesUnchecked",label:"unchecked"},{key:"TotalIncidents",label:"incident"}],this.filterFromParams$=this.route.queryParams.pipe(H(Xe)),this.profileReturnParams$=this.state.queryParamsString$}ngOnInit(){this.filterFromParams$.pipe(W(1)).subscribe(t=>this.state.setFilter(t)),this.presenceTypesService.halfDayActive$.subscribe(t=>{t&&(this.columns=[...this.columns,{key:"TotalHalfDays",label:"halfday"}])})}ngAfterViewInit(){this.scrollPosition.restore()}onScroll(){this.state.nextPage()}loadReports(){return this.state.validFilter$.pipe(V(t=>this.lessonPresencesService.getLessonRefs(t)),V(t=>t.length>0?this.reportsService.getEvaluateAbsencesReports(this.getReportRecordIds(t)):[]),q(1))}getReportRecordIds(t){return t.map(i=>`${i.LessonRef.Id}_${i.RegistrationRef.Id}`)}static{this.\u0275fac=function(i){return new(i||e)(_(g),_(he),_(ee),_(se),_(me),_(M))}}static{this.\u0275cmp=x({type:e,selectors:[["bkd-evaluate-absences-list"]],decls:14,vars:18,consts:[[3,"filterChange","filter"],[1,"mt-3"],[1,"py-3"],[1,"buttons"],[1,"mb-2",3,"reports"],["infiniteScroll","",1,"table","table-striped","table-fixed",3,"scrolled"],["scope","col",3,"ngClass"],[1,"inline"],["type","button",1,"btn","btn-outline-secondary","btn-sm","d-block","mx-auto"],["scope","col",3,"click","ngClass"],[1,"d-flex"],[1,"column-title",3,"ngbTooltip"],[1,"sort-direction"],[1,"student",3,"routerLink","queryParams"],["type","button",1,"btn","btn-outline-secondary","btn-sm","d-block","mx-auto",3,"click"]],template:function(i,n){if(i&1){let u=P();$(0),s(1,"async"),$(2),s(3,"async"),$(4),s(5,"async"),o(6,"h1"),m(7),s(8,"translate"),r(),o(9,"bkd-evaluate-absences-header",0),s(10,"async"),h("filterChange",function(A){return L(u),T(n.state.setFilter(A))}),r(),C(11,Ue,3,3),s(12,"async"),C(13,Ge,3,3,"p",1)}i&2&&(j(l(1,3,n.state.entries$)),a(2),j(l(3,6,n.state.hasMore$)),a(2),j(l(5,9,n.state.loadingPage$)),a(3),y(l(8,12,"evaluate-absences.title")),a(2),v("filter",l(10,14,n.filterFromParams$)),a(2),b(l(12,16,n.state.isFilterValid$)?11:13))},dependencies:[Ee,le,Se,Y,ae,ie,ce,Z,D],styles:["th[_ngcontent-%COMP%]{cursor:pointer}th.student[_ngcontent-%COMP%]{width:30%}.column-title[_ngcontent-%COMP%]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.buttons[_ngcontent-%COMP%]{display:flex;justify-content:flex-end}"],changeDetection:0})}}return e})();function Xe(e){return{student:e.student?Number(e.student):null,educationalEvent:e.educationalEvent?Number(e.educationalEvent):null,studyClass:e.studyClass?Number(e.studyClass):null}}var Le=(()=>{class e{constructor(t){this.state=t}static{this.\u0275fac=function(i){return new(i||e)(_(g))}}static{this.\u0275cmp=x({type:e,selectors:[["bkd-evaluate-absences"]],features:[J([g,{provide:oe,useExisting:g},re])],decls:1,vars:0,template:function(i,n){i&1&&k(0,"router-outlet")},dependencies:[te],styles:["[_nghost-%COMP%]{display:block}"],changeDetection:0})}}return e})();var Bt=[{path:"",component:Le,children:[{path:"",component:Ae,data:{restoreScrollPositionFrom:["/evaluate-absences/student/:id"]}},ue]}];export{Bt as EVALUATE_ABSENCES_ROUTES}; diff --git a/public/apps/webapp-schulverwaltung/chunk-5WNFCBTP.js b/public/apps/webapp-schulverwaltung/chunk-4UVNKLEN.js similarity index 99% rename from public/apps/webapp-schulverwaltung/chunk-5WNFCBTP.js rename to public/apps/webapp-schulverwaltung/chunk-4UVNKLEN.js index f8b27a2d..36e4af08 100644 --- a/public/apps/webapp-schulverwaltung/chunk-5WNFCBTP.js +++ b/public/apps/webapp-schulverwaltung/chunk-4UVNKLEN.js @@ -1 +1 @@ -import{a as Y}from"./chunk-HCNFZOWE.js";import{a as se,b as ce}from"./chunk-DTTSX64G.js";import{f as le,g as de}from"./chunk-Z4YBXGVO.js";import{j as q,k as O,l as K}from"./chunk-GOGVGWFJ.js";import{b as me}from"./chunk-OSOXMODN.js";import{a as J,c as Q}from"./chunk-PSYDBHTH.js";import{w as Z}from"./chunk-W4U7QKJF.js";import{$a as m,Ga as I,Hc as d,Ic as U,Ja as te,Jb as u,Kb as x,Lb as k,Na as b,Nc as z,P as F,Pd as pe,Qa as ne,Ra as ie,Rd as N,Uc as h,Va as p,Vc as R,X as L,_ as f,_a as c,ab as s,ac as ae,cd as j,da as ee,dc as re,hb as l,jc as B,l as M,lb as y,lc as w,n as G,o as E,rb as r,sb as _,tb as C,ub as v,wa as g,x as X,xa as a,ya as V,zc as oe}from"./chunk-2W7IS4PN.js";function ve(t,o){if(t&1&&(r(0),s(1,"br")),t&2){let e=l();C(" ",e.student.AddressLine2,"")}}function Se(t,o){if(t&1&&(c(0,"a",0),r(1),m(),s(2,"br")),t&2){let e=l();y("href","tel:",e.student.PhonePrivate,"",g),a(),C(" ",e.student.PhonePrivate," ")}}function _e(t,o){if(t&1&&(c(0,"a",0),r(1),m(),s(2,"br")),t&2){let e=l();y("href","tel:",e.student.PhoneMobile,"",g),a(),C(" ",e.student.PhoneMobile," ")}}function be(t,o){if(t&1&&(c(0,"a",0),r(1),m()),t&2){let e=l();y("href","mailto:",e.email,"",g),a(),C(" ",e.email," ")}}var Qe=(()=>{class t{constructor(){this.emailProperty="DisplayEmail"}get postalCode(){return"PostalCode"in this.student?this.student.PostalCode:this.student.Zip}get email(){return this.emailProperty==="Email2"&&"Email2"in this.student?this.student.Email2||null:this.student.DisplayEmail}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=I({type:t,selectors:[["bkd-student-dossier-address"]],inputs:{student:"student",emailProperty:"emailProperty"},decls:9,vars:7,consts:[[3,"href"]],template:function(i,n){i&1&&(c(0,"address"),r(1),s(2,"br"),b(3,ve,2,1),r(4),s(5,"br"),b(6,Se,3,3)(7,_e,3,3)(8,be,2,3,"a",0),m()),i&2&&(a(),C(" ",n.student.AddressLine1,""),a(2),p(n.student.AddressLine2?3:-1),a(),v(" ",n.postalCode||""," ",n.student.Location,""),a(2),p(n.student.PhonePrivate?6:-1),a(),p(n.student.PhoneMobile?7:-1),a(),p(n.email?8:-1))},encapsulation:2,changeDetection:0})}}return t})();var $=(()=>{class t{transform(e){return e?.DisplayEmail||e?.Email||e?.Email2||null}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275pipe=te({name:"bkdPersonEmail",type:t,pure:!0})}}return t})();function Pe(t,o){if(t&1&&(r(0),s(1,"br")),t&2){let e=l();C(" ",e.company.apprenticeshipManager==null?null:e.company.apprenticeshipManager.CompanyName,"")}}function Me(t,o){if(t&1&&(r(0),s(1,"br")),t&2){let e=l();C(" ",e.company.apprenticeshipManager==null?null:e.company.apprenticeshipManager.CompanyNameAddition,"")}}function Ie(t,o){if(t&1&&(r(0),s(1,"br")),t&2){let e=l();v(" ",(e.company.apprenticeshipManager==null?null:e.company.apprenticeshipManager.Lastname)||""," ",(e.company.apprenticeshipManager==null?null:e.company.apprenticeshipManager.Firstname)||"","")}}function Ae(t,o){if(t&1&&(r(0),s(1,"br")),t&2){let e=l();C(" ",e.company.apprenticeshipManager==null?null:e.company.apprenticeshipManager.AddressLine1,"")}}function Te(t,o){if(t&1&&(r(0),s(1,"br")),t&2){let e=l();C(" ",e.company.apprenticeshipManager==null?null:e.company.apprenticeshipManager.AddressLine2,"")}}function De(t,o){if(t&1&&(r(0),s(1,"br")),t&2){let e=l();v(" ",e.company.apprenticeshipManager==null?null:e.company.apprenticeshipManager.PostalCode," ",e.company.apprenticeshipManager==null?null:e.company.apprenticeshipManager.Location,"")}}function Ee(t,o){if(t&1&&(c(0,"a",0),r(1),s(2,"br"),m()),t&2){let e=l();y("href","tel:",e.company.apprenticeshipManager==null?null:e.company.apprenticeshipManager.PhoneBusiness,"",g),a(),_(e.company.apprenticeshipManager==null?null:e.company.apprenticeshipManager.PhoneBusiness)}}function Le(t,o){if(t&1&&(c(0,"a",0),u(1,"bkdPersonEmail"),r(2),u(3,"bkdPersonEmail"),m()),t&2){let e=l();y("href","mailto:",x(1,3,e.company.apprenticeshipManager),"",g),a(2),_(x(3,5,e.company.apprenticeshipManager))}}function je(t,o){if(t&1&&(c(0,"div",1),r(1),u(2,"translate"),u(3,"addSpace"),s(4,"br"),r(5),u(6,"date"),u(7,"date"),m()),t&2){let e=l();a(),v(" ",x(2,4,"shared.profile.apprenticeship-period"),"",k(3,6,":",":"),""),a(4),v(" ",k(6,9,e.company.apprenticeshipContract.ContractDateFrom,"dd.MM.yyyy"),"\u2013",k(7,12,e.company.apprenticeshipContract.ContractDateTo,"dd.MM.yyyy")," ")}}function ke(t,o){if(t&1&&(r(0),s(1,"br")),t&2){let e=l(2);v(" ",e.company.jobTrainer.Lastname||""," ",e.company.jobTrainer.Firstname||"","")}}function Re(t,o){if(t&1&&(c(0,"a",0),r(1),s(2,"br"),m()),t&2){let e=l(2);y("href","tel:",e.company.jobTrainer.PhoneBusiness,"",g),a(),_(e.company.jobTrainer.PhoneBusiness)}}function Fe(t,o){if(t&1&&(c(0,"a",0),r(1),s(2,"br"),m()),t&2){let e=l(2);y("href","tel:",e.company.jobTrainer.PhoneMobile,"",g),a(),_(e.company.jobTrainer.PhoneMobile)}}function Be(t,o){if(t&1&&(c(0,"a",0),u(1,"bkdPersonEmail"),r(2),u(3,"bkdPersonEmail"),m()),t&2){let e=l(2);y("href","mailto:",x(1,3,e.company.jobTrainer),"",g),a(2),_(x(3,5,e.company.jobTrainer))}}function we(t,o){if(t&1&&(c(0,"div",1),r(1),u(2,"translate"),u(3,"addSpace"),c(4,"address"),b(5,ke,2,2)(6,Re,3,3,"a",0)(7,Fe,3,3,"a",0)(8,Be,4,7,"a",0),u(9,"bkdPersonEmail"),m()()),t&2){let e=l();a(),v(" ",x(2,6,"shared.profile.job-trainer"),"",k(3,8,":",":")," "),a(4),p(e.company.jobTrainer.Lastname||e.company.jobTrainer.Firstname?5:-1),a(),p(e.company.jobTrainer.PhoneBusiness?6:-1),a(),p(e.company.jobTrainer.PhoneMobile?7:-1),a(),p(x(9,11,e.company.jobTrainer)?8:-1)}}var at=(()=>{class t{constructor(){}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=I({type:t,selectors:[["bkd-student-dossier-apprenticeship-company"]],inputs:{company:"company"},decls:12,vars:12,consts:[[3,"href"],[1,"subentry"]],template:function(i,n){i&1&&(c(0,"address"),b(1,Pe,2,1)(2,Me,2,1)(3,Ie,2,2)(4,Ae,2,1)(5,Te,2,1)(6,De,2,2)(7,Ee,3,3,"a",0)(8,Le,4,7,"a",0),u(9,"bkdPersonEmail"),m(),b(10,je,8,15,"div",1)(11,we,10,13,"div",1)),i&2&&(a(),p(n.company.apprenticeshipManager!=null&&n.company.apprenticeshipManager.CompanyName?1:-1),a(),p(n.company.apprenticeshipManager!=null&&n.company.apprenticeshipManager.CompanyNameAddition?2:-1),a(),p(n.company.apprenticeshipManager!=null&&n.company.apprenticeshipManager.Lastname||n.company.apprenticeshipManager!=null&&n.company.apprenticeshipManager.Firstname?3:-1),a(),p(n.company.apprenticeshipManager!=null&&n.company.apprenticeshipManager.AddressLine1?4:-1),a(),p(n.company.apprenticeshipManager!=null&&n.company.apprenticeshipManager.AddressLine2?5:-1),a(),p(n.company.apprenticeshipManager!=null&&n.company.apprenticeshipManager.PostalCode&&(n.company.apprenticeshipManager!=null&&n.company.apprenticeshipManager.Location)?6:-1),a(),p(n.company.apprenticeshipManager!=null&&n.company.apprenticeshipManager.PhoneBusiness?7:-1),a(),p(x(9,10,n.company.apprenticeshipManager)?8:-1),a(2),p(n.company.apprenticeshipContract.ContractDateFrom?10:-1),a(),p(n.company.jobTrainer?11:-1))},dependencies:[re,pe,de,$],styles:[".subentry[_ngcontent-%COMP%]{padding-bottom:1rem}"],changeDetection:0})}}return t})();function Ue(t,o){if(t&1&&(r(0),s(1,"br")),t&2){let e=l();C(" ",e.person.AddressLine1,"")}}function ze(t,o){if(t&1&&(r(0),s(1,"br")),t&2){let e=l();C(" ",e.person.AddressLine2,"")}}function Ne(t,o){if(t&1&&(r(0),s(1,"br")),t&2){let e=l();v(" ",e.person.Zip," ",e.person.Location,"")}}function Oe(t,o){if(t&1&&(c(0,"a",0),r(1),s(2,"br"),m()),t&2){let e=l();y("href","tel:",e.person.PhonePrivate,"",g),a(),_(e.person.PhonePrivate)}}function Je(t,o){if(t&1&&(c(0,"a",0),r(1),s(2,"br"),m()),t&2){let e=l();y("href","tel:",e.person.PhoneMobile,"",g),a(),_(e.person.PhoneMobile)}}function Ye(t,o){if(t&1&&(c(0,"a",0),u(1,"bkdPersonEmail"),r(2),u(3,"bkdPersonEmail"),m()),t&2){let e=l();y("href","mailto:",x(1,3,e.person),"",g),a(2),_(x(3,5,e.person))}}var pt=(()=>{class t{constructor(){}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=I({type:t,selectors:[["bkd-student-dossier-legal-representative"]],inputs:{person:"person"},decls:10,vars:10,consts:[[3,"href"]],template:function(i,n){i&1&&(c(0,"address"),r(1),s(2,"br"),b(3,Ue,2,1)(4,ze,2,1)(5,Ne,2,2)(6,Oe,3,3,"a",0)(7,Je,3,3,"a",0)(8,Ye,4,7,"a",0),u(9,"bkdPersonEmail"),m()),i&2&&(a(),v(" ",n.person.LastName," ",n.person.FirstName,""),a(2),p(n.person.AddressLine1?3:-1),a(),p(n.person.AddressLine2?4:-1),a(),p(n.person.Zip&&n.person.Zip?5:-1),a(),p(n.person.PhonePrivate?6:-1),a(),p(n.person.PhoneMobile?7:-1),a(),p(x(9,8,n.person)?8:-1))},dependencies:[$],encapsulation:2,changeDetection:0})}}return t})();function W(t,o){let e=+q(t)-+q(o);return e<0?-1:e>0?1:e}function ue(t,o,e){let[i,n]=O(e?.in,t,o);return i.getFullYear()-n.getFullYear()}function he(t,o,e){let[i,n]=O(e?.in,t,o),S=W(i,n),A=Math.abs(ue(i,n));i.setFullYear(1584),n.setFullYear(1584);let T=W(i,n)===-S,P=S*(A-+T);return P===0?0:P}var $e=18;function fe(t){return he(new Date,t.Birthdate||new Date)>=$e}var ge=z({Email:h(d),Email2:h(d),PhoneBusiness:h(d),CompanyName:R(d),CompanyNameAddition:R(d),Firstname:h(d),Lastname:h(d),AddressLine1:R(d),AddressLine2:R(d),PostalCode:h(d),Location:h(d),Id:U});var ye=(()=>{class t extends J{constructor(e,i){super(e,i,ge,"ApprenticeshipManagers")}static{this.\u0275fac=function(i){return new(i||t)(f(w),f(j))}}static{this.\u0275prov=L({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();var Ce=z({Email:h(d),Email2:h(d),PhoneBusiness:h(d),PhoneMobile:h(d),Firstname:h(d),Lastname:h(d),Id:U});var xe=(()=>{class t extends J{constructor(e,i){super(e,i,Ce,"JobTrainers")}static{this.\u0275fac=function(i){return new(i||t)(f(w),f(j))}}static{this.\u0275prov=L({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();var Ot=(()=>{class t{constructor(e,i,n,S,A,T,P){this.studentService=e,this.personsService=i,this.apprenticeshipManagersService=n,this.jobTrainersService=S,this.loadingService=A,this.dropDownItemsService=T,this.storageService=P,this.loading$=this.loadingService.loading$}getProfile(e){return this.loadingService.load(E([this.loadStudent(e),this.loadLegalRepresentatives(e),this.loadApprenticeshipContracts(e)]).pipe(F(K(this.mapToProfile.bind(this)))))}getMyProfile(){let i=(this.storageService.getPayload()?.roles?.split(";")??[]).includes("StudentRole");return this.loadingService.load(this.personsService.getMyself({context:new B().set(Y,{disableErrorHandlingForStatus:[403]})}).pipe(F(n=>E([M(n),i?this.loadLegalRepresentatives(n.Id):M([]),i?this.loadApprenticeshipContracts(n.Id):M([]),this.loadStayPermitValue(n.StayPermit)]))).pipe(F(K(this.mapToProfile.bind(this))),X(Z)))}loadStudent(e){return this.studentService.get(e,{context:new B().set(Y,{disableErrorHandlingForStatus:[404]})}).pipe(Q())}loadLegalRepresentatives(e){return this.studentService.getLegalRepresentatives(e)}loadApprenticeshipContracts(e){return this.studentService.getCurrentApprenticeshipContracts(e,{context:new B().set(Y,{disableErrorHandlingForStatus:[404]})}).pipe(Q([]))}loadStayPermitValue(e){return this.dropDownItemsService.getStayPermits().pipe(G(i=>i.find(n=>n.Key===e)?.Value||null))}mapToProfile(e,i,n,S=null){return e?(i=this.getRelevantLegalRepresentatives(e,i),E([this.loadLegalRepresentativPersons(i),this.loadJobTrainers(n),this.loadApprenticeshipManagers(n)]).pipe(G(([A,T,P])=>this.createProfile(e,S,i,A,n,P,T)))):M(null)}loadLegalRepresentativPersons(e){return e.length===0?M([]):this.personsService.getListForIds(e.map(i=>i.RepresentativeId))}loadJobTrainers(e){let i=e.map(n=>n.JobTrainer).filter(n=>typeof n=="number");return i.length===0?M([]):E(i.map(n=>this.jobTrainersService.get(n)))}loadApprenticeshipManagers(e){let i=e.map(n=>n.ApprenticeshipManagerId);return i.length===0?M([]):E(i.map(n=>this.apprenticeshipManagersService.get(n)))}createProfile(e,i,n,S,A,T,P){return{student:e,stayPermitValue:i||void 0,legalRepresentativePersons:n.map(H=>this.findPerson(H.RepresentativeId,S)).filter(Z),apprenticeshipCompanies:A.map(H=>this.createApprenticeshipCompany(H,T,P))}}getRelevantLegalRepresentatives(e,i){let n=fe(e);return i.filter(S=>!n||S.RepresentativeAfterMajority)}createApprenticeshipCompany(e,i,n){return{apprenticeshipContract:e,jobTrainer:this.findPerson(e.JobTrainer,n),apprenticeshipManager:this.findPerson(e.ApprenticeshipManagerId,i)}}findPerson(e,i){return e&&i.find(n=>n.Id===e)||null}static{this.\u0275fac=function(i){return new(i||t)(f(le),f(ce),f(ye),f(xe),f(me),f(se),f(N))}}static{this.\u0275prov=L({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();var Gt=(()=>{class t{constructor(e,i){this.settings=e,this.storageService=i,this.avatarStyles={}}ngOnChanges(e){e.studentId&&(this.avatarStyles=this.buildAvatarStyles(this.studentId))}buildAvatarStyles(e){return{"background-image":[this.buildAvatarUrl(e),this.fallbackAvatarUrl].map(i=>`url(${i})`).join(", ")}}buildAvatarUrl(e){let i=this.storageService.getAccessToken()||"";return`${this.settings.apiUrl}/Files/personPictures/${e}?token=${i}`}get fallbackAvatarUrl(){return`${this.settings.scriptsAndAssetsPath}/assets/images/avatar-placeholder.png`}static{this.\u0275fac=function(i){return new(i||t)(V(j),V(N))}}static{this.\u0275cmp=I({type:t,selectors:[["bkd-avatar"]],inputs:{studentId:"studentId",link:"link",linkParams:"linkParams"},features:[ee],decls:1,vars:5,consts:[[1,"avatar",3,"routerLink","queryParams","ngStyle"]],template:function(i,n){i&1&&s(0,"a",0),i&2&&(ie("disabled",!n.link),ne("routerLink",n.link)("queryParams",n.linkParams)("ngStyle",n.avatarStyles))},dependencies:[oe,ae],styles:["[_nghost-%COMP%]{display:flex}.small[_nghost-%COMP%]{width:40px;min-width:40px;height:50px}.medium[_nghost-%COMP%]{width:58px;min-width:58px;height:75px}.large[_nghost-%COMP%]{width:100px;min-width:100px;height:130px}.avatar[_ngcontent-%COMP%]{flex:1;border:1px solid rgba(0,0,0,.25);background-repeat:no-repeat;background-size:cover;background-position:center}a.disabled[_ngcontent-%COMP%]{pointer-events:none;cursor:default}"]})}}return t})();export{Ot as a,Qe as b,at as c,pt as d,Gt as e}; +import{a as Y}from"./chunk-HCNFZOWE.js";import{a as se,b as ce}from"./chunk-DTTSX64G.js";import{f as le,g as de}from"./chunk-Z4YBXGVO.js";import{d as K}from"./chunk-G6EB45SC.js";import{g as q,h as O,j as me}from"./chunk-XFA6UPZX.js";import{a as J,c as Q}from"./chunk-PSYDBHTH.js";import{w as Z}from"./chunk-W4U7QKJF.js";import{$a as m,Ga as I,Hc as d,Ic as U,Ja as te,Jb as u,Kb as x,Lb as k,Na as b,Nc as z,P as F,Pd as pe,Qa as ne,Ra as ie,Rd as N,Uc as h,Va as p,Vc as R,X as L,_ as f,_a as c,ab as s,ac as ae,cd as j,da as ee,dc as re,hb as l,jc as B,l as M,lb as y,lc as w,n as G,o as E,rb as r,sb as _,tb as C,ub as v,wa as g,x as X,xa as a,ya as V,zc as oe}from"./chunk-2W7IS4PN.js";function ve(t,o){if(t&1&&(r(0),s(1,"br")),t&2){let e=l();C(" ",e.student.AddressLine2,"")}}function Se(t,o){if(t&1&&(c(0,"a",0),r(1),m(),s(2,"br")),t&2){let e=l();y("href","tel:",e.student.PhonePrivate,"",g),a(),C(" ",e.student.PhonePrivate," ")}}function _e(t,o){if(t&1&&(c(0,"a",0),r(1),m(),s(2,"br")),t&2){let e=l();y("href","tel:",e.student.PhoneMobile,"",g),a(),C(" ",e.student.PhoneMobile," ")}}function be(t,o){if(t&1&&(c(0,"a",0),r(1),m()),t&2){let e=l();y("href","mailto:",e.email,"",g),a(),C(" ",e.email," ")}}var Qe=(()=>{class t{constructor(){this.emailProperty="DisplayEmail"}get postalCode(){return"PostalCode"in this.student?this.student.PostalCode:this.student.Zip}get email(){return this.emailProperty==="Email2"&&"Email2"in this.student?this.student.Email2||null:this.student.DisplayEmail}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=I({type:t,selectors:[["bkd-student-dossier-address"]],inputs:{student:"student",emailProperty:"emailProperty"},decls:9,vars:7,consts:[[3,"href"]],template:function(i,n){i&1&&(c(0,"address"),r(1),s(2,"br"),b(3,ve,2,1),r(4),s(5,"br"),b(6,Se,3,3)(7,_e,3,3)(8,be,2,3,"a",0),m()),i&2&&(a(),C(" ",n.student.AddressLine1,""),a(2),p(n.student.AddressLine2?3:-1),a(),v(" ",n.postalCode||""," ",n.student.Location,""),a(2),p(n.student.PhonePrivate?6:-1),a(),p(n.student.PhoneMobile?7:-1),a(),p(n.email?8:-1))},encapsulation:2,changeDetection:0})}}return t})();var $=(()=>{class t{transform(e){return e?.DisplayEmail||e?.Email||e?.Email2||null}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275pipe=te({name:"bkdPersonEmail",type:t,pure:!0})}}return t})();function Pe(t,o){if(t&1&&(r(0),s(1,"br")),t&2){let e=l();C(" ",e.company.apprenticeshipManager==null?null:e.company.apprenticeshipManager.CompanyName,"")}}function Me(t,o){if(t&1&&(r(0),s(1,"br")),t&2){let e=l();C(" ",e.company.apprenticeshipManager==null?null:e.company.apprenticeshipManager.CompanyNameAddition,"")}}function Ie(t,o){if(t&1&&(r(0),s(1,"br")),t&2){let e=l();v(" ",(e.company.apprenticeshipManager==null?null:e.company.apprenticeshipManager.Lastname)||""," ",(e.company.apprenticeshipManager==null?null:e.company.apprenticeshipManager.Firstname)||"","")}}function Ae(t,o){if(t&1&&(r(0),s(1,"br")),t&2){let e=l();C(" ",e.company.apprenticeshipManager==null?null:e.company.apprenticeshipManager.AddressLine1,"")}}function Te(t,o){if(t&1&&(r(0),s(1,"br")),t&2){let e=l();C(" ",e.company.apprenticeshipManager==null?null:e.company.apprenticeshipManager.AddressLine2,"")}}function De(t,o){if(t&1&&(r(0),s(1,"br")),t&2){let e=l();v(" ",e.company.apprenticeshipManager==null?null:e.company.apprenticeshipManager.PostalCode," ",e.company.apprenticeshipManager==null?null:e.company.apprenticeshipManager.Location,"")}}function Ee(t,o){if(t&1&&(c(0,"a",0),r(1),s(2,"br"),m()),t&2){let e=l();y("href","tel:",e.company.apprenticeshipManager==null?null:e.company.apprenticeshipManager.PhoneBusiness,"",g),a(),_(e.company.apprenticeshipManager==null?null:e.company.apprenticeshipManager.PhoneBusiness)}}function Le(t,o){if(t&1&&(c(0,"a",0),u(1,"bkdPersonEmail"),r(2),u(3,"bkdPersonEmail"),m()),t&2){let e=l();y("href","mailto:",x(1,3,e.company.apprenticeshipManager),"",g),a(2),_(x(3,5,e.company.apprenticeshipManager))}}function je(t,o){if(t&1&&(c(0,"div",1),r(1),u(2,"translate"),u(3,"addSpace"),s(4,"br"),r(5),u(6,"date"),u(7,"date"),m()),t&2){let e=l();a(),v(" ",x(2,4,"shared.profile.apprenticeship-period"),"",k(3,6,":",":"),""),a(4),v(" ",k(6,9,e.company.apprenticeshipContract.ContractDateFrom,"dd.MM.yyyy"),"\u2013",k(7,12,e.company.apprenticeshipContract.ContractDateTo,"dd.MM.yyyy")," ")}}function ke(t,o){if(t&1&&(r(0),s(1,"br")),t&2){let e=l(2);v(" ",e.company.jobTrainer.Lastname||""," ",e.company.jobTrainer.Firstname||"","")}}function Re(t,o){if(t&1&&(c(0,"a",0),r(1),s(2,"br"),m()),t&2){let e=l(2);y("href","tel:",e.company.jobTrainer.PhoneBusiness,"",g),a(),_(e.company.jobTrainer.PhoneBusiness)}}function Fe(t,o){if(t&1&&(c(0,"a",0),r(1),s(2,"br"),m()),t&2){let e=l(2);y("href","tel:",e.company.jobTrainer.PhoneMobile,"",g),a(),_(e.company.jobTrainer.PhoneMobile)}}function Be(t,o){if(t&1&&(c(0,"a",0),u(1,"bkdPersonEmail"),r(2),u(3,"bkdPersonEmail"),m()),t&2){let e=l(2);y("href","mailto:",x(1,3,e.company.jobTrainer),"",g),a(2),_(x(3,5,e.company.jobTrainer))}}function we(t,o){if(t&1&&(c(0,"div",1),r(1),u(2,"translate"),u(3,"addSpace"),c(4,"address"),b(5,ke,2,2)(6,Re,3,3,"a",0)(7,Fe,3,3,"a",0)(8,Be,4,7,"a",0),u(9,"bkdPersonEmail"),m()()),t&2){let e=l();a(),v(" ",x(2,6,"shared.profile.job-trainer"),"",k(3,8,":",":")," "),a(4),p(e.company.jobTrainer.Lastname||e.company.jobTrainer.Firstname?5:-1),a(),p(e.company.jobTrainer.PhoneBusiness?6:-1),a(),p(e.company.jobTrainer.PhoneMobile?7:-1),a(),p(x(9,11,e.company.jobTrainer)?8:-1)}}var at=(()=>{class t{constructor(){}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=I({type:t,selectors:[["bkd-student-dossier-apprenticeship-company"]],inputs:{company:"company"},decls:12,vars:12,consts:[[3,"href"],[1,"subentry"]],template:function(i,n){i&1&&(c(0,"address"),b(1,Pe,2,1)(2,Me,2,1)(3,Ie,2,2)(4,Ae,2,1)(5,Te,2,1)(6,De,2,2)(7,Ee,3,3,"a",0)(8,Le,4,7,"a",0),u(9,"bkdPersonEmail"),m(),b(10,je,8,15,"div",1)(11,we,10,13,"div",1)),i&2&&(a(),p(n.company.apprenticeshipManager!=null&&n.company.apprenticeshipManager.CompanyName?1:-1),a(),p(n.company.apprenticeshipManager!=null&&n.company.apprenticeshipManager.CompanyNameAddition?2:-1),a(),p(n.company.apprenticeshipManager!=null&&n.company.apprenticeshipManager.Lastname||n.company.apprenticeshipManager!=null&&n.company.apprenticeshipManager.Firstname?3:-1),a(),p(n.company.apprenticeshipManager!=null&&n.company.apprenticeshipManager.AddressLine1?4:-1),a(),p(n.company.apprenticeshipManager!=null&&n.company.apprenticeshipManager.AddressLine2?5:-1),a(),p(n.company.apprenticeshipManager!=null&&n.company.apprenticeshipManager.PostalCode&&(n.company.apprenticeshipManager!=null&&n.company.apprenticeshipManager.Location)?6:-1),a(),p(n.company.apprenticeshipManager!=null&&n.company.apprenticeshipManager.PhoneBusiness?7:-1),a(),p(x(9,10,n.company.apprenticeshipManager)?8:-1),a(2),p(n.company.apprenticeshipContract.ContractDateFrom?10:-1),a(),p(n.company.jobTrainer?11:-1))},dependencies:[re,pe,de,$],styles:[".subentry[_ngcontent-%COMP%]{padding-bottom:1rem}"],changeDetection:0})}}return t})();function Ue(t,o){if(t&1&&(r(0),s(1,"br")),t&2){let e=l();C(" ",e.person.AddressLine1,"")}}function ze(t,o){if(t&1&&(r(0),s(1,"br")),t&2){let e=l();C(" ",e.person.AddressLine2,"")}}function Ne(t,o){if(t&1&&(r(0),s(1,"br")),t&2){let e=l();v(" ",e.person.Zip," ",e.person.Location,"")}}function Oe(t,o){if(t&1&&(c(0,"a",0),r(1),s(2,"br"),m()),t&2){let e=l();y("href","tel:",e.person.PhonePrivate,"",g),a(),_(e.person.PhonePrivate)}}function Je(t,o){if(t&1&&(c(0,"a",0),r(1),s(2,"br"),m()),t&2){let e=l();y("href","tel:",e.person.PhoneMobile,"",g),a(),_(e.person.PhoneMobile)}}function Ye(t,o){if(t&1&&(c(0,"a",0),u(1,"bkdPersonEmail"),r(2),u(3,"bkdPersonEmail"),m()),t&2){let e=l();y("href","mailto:",x(1,3,e.person),"",g),a(2),_(x(3,5,e.person))}}var pt=(()=>{class t{constructor(){}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=I({type:t,selectors:[["bkd-student-dossier-legal-representative"]],inputs:{person:"person"},decls:10,vars:10,consts:[[3,"href"]],template:function(i,n){i&1&&(c(0,"address"),r(1),s(2,"br"),b(3,Ue,2,1)(4,ze,2,1)(5,Ne,2,2)(6,Oe,3,3,"a",0)(7,Je,3,3,"a",0)(8,Ye,4,7,"a",0),u(9,"bkdPersonEmail"),m()),i&2&&(a(),v(" ",n.person.LastName," ",n.person.FirstName,""),a(2),p(n.person.AddressLine1?3:-1),a(),p(n.person.AddressLine2?4:-1),a(),p(n.person.Zip&&n.person.Zip?5:-1),a(),p(n.person.PhonePrivate?6:-1),a(),p(n.person.PhoneMobile?7:-1),a(),p(x(9,8,n.person)?8:-1))},dependencies:[$],encapsulation:2,changeDetection:0})}}return t})();function W(t,o){let e=+q(t)-+q(o);return e<0?-1:e>0?1:e}function ue(t,o,e){let[i,n]=O(e?.in,t,o);return i.getFullYear()-n.getFullYear()}function he(t,o,e){let[i,n]=O(e?.in,t,o),S=W(i,n),A=Math.abs(ue(i,n));i.setFullYear(1584),n.setFullYear(1584);let T=W(i,n)===-S,P=S*(A-+T);return P===0?0:P}var $e=18;function fe(t){return he(new Date,t.Birthdate||new Date)>=$e}var ge=z({Email:h(d),Email2:h(d),PhoneBusiness:h(d),CompanyName:R(d),CompanyNameAddition:R(d),Firstname:h(d),Lastname:h(d),AddressLine1:R(d),AddressLine2:R(d),PostalCode:h(d),Location:h(d),Id:U});var ye=(()=>{class t extends J{constructor(e,i){super(e,i,ge,"ApprenticeshipManagers")}static{this.\u0275fac=function(i){return new(i||t)(f(w),f(j))}}static{this.\u0275prov=L({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();var Ce=z({Email:h(d),Email2:h(d),PhoneBusiness:h(d),PhoneMobile:h(d),Firstname:h(d),Lastname:h(d),Id:U});var xe=(()=>{class t extends J{constructor(e,i){super(e,i,Ce,"JobTrainers")}static{this.\u0275fac=function(i){return new(i||t)(f(w),f(j))}}static{this.\u0275prov=L({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();var Ot=(()=>{class t{constructor(e,i,n,S,A,T,P){this.studentService=e,this.personsService=i,this.apprenticeshipManagersService=n,this.jobTrainersService=S,this.loadingService=A,this.dropDownItemsService=T,this.storageService=P,this.loading$=this.loadingService.loading$}getProfile(e){return this.loadingService.load(E([this.loadStudent(e),this.loadLegalRepresentatives(e),this.loadApprenticeshipContracts(e)]).pipe(F(K(this.mapToProfile.bind(this)))))}getMyProfile(){let i=(this.storageService.getPayload()?.roles?.split(";")??[]).includes("StudentRole");return this.loadingService.load(this.personsService.getMyself({context:new B().set(Y,{disableErrorHandlingForStatus:[403]})}).pipe(F(n=>E([M(n),i?this.loadLegalRepresentatives(n.Id):M([]),i?this.loadApprenticeshipContracts(n.Id):M([]),this.loadStayPermitValue(n.StayPermit)]))).pipe(F(K(this.mapToProfile.bind(this))),X(Z)))}loadStudent(e){return this.studentService.get(e,{context:new B().set(Y,{disableErrorHandlingForStatus:[404]})}).pipe(Q())}loadLegalRepresentatives(e){return this.studentService.getLegalRepresentatives(e)}loadApprenticeshipContracts(e){return this.studentService.getCurrentApprenticeshipContracts(e,{context:new B().set(Y,{disableErrorHandlingForStatus:[404]})}).pipe(Q([]))}loadStayPermitValue(e){return this.dropDownItemsService.getStayPermits().pipe(G(i=>i.find(n=>n.Key===e)?.Value||null))}mapToProfile(e,i,n,S=null){return e?(i=this.getRelevantLegalRepresentatives(e,i),E([this.loadLegalRepresentativPersons(i),this.loadJobTrainers(n),this.loadApprenticeshipManagers(n)]).pipe(G(([A,T,P])=>this.createProfile(e,S,i,A,n,P,T)))):M(null)}loadLegalRepresentativPersons(e){return e.length===0?M([]):this.personsService.getListForIds(e.map(i=>i.RepresentativeId))}loadJobTrainers(e){let i=e.map(n=>n.JobTrainer).filter(n=>typeof n=="number");return i.length===0?M([]):E(i.map(n=>this.jobTrainersService.get(n)))}loadApprenticeshipManagers(e){let i=e.map(n=>n.ApprenticeshipManagerId);return i.length===0?M([]):E(i.map(n=>this.apprenticeshipManagersService.get(n)))}createProfile(e,i,n,S,A,T,P){return{student:e,stayPermitValue:i||void 0,legalRepresentativePersons:n.map(H=>this.findPerson(H.RepresentativeId,S)).filter(Z),apprenticeshipCompanies:A.map(H=>this.createApprenticeshipCompany(H,T,P))}}getRelevantLegalRepresentatives(e,i){let n=fe(e);return i.filter(S=>!n||S.RepresentativeAfterMajority)}createApprenticeshipCompany(e,i,n){return{apprenticeshipContract:e,jobTrainer:this.findPerson(e.JobTrainer,n),apprenticeshipManager:this.findPerson(e.ApprenticeshipManagerId,i)}}findPerson(e,i){return e&&i.find(n=>n.Id===e)||null}static{this.\u0275fac=function(i){return new(i||t)(f(le),f(ce),f(ye),f(xe),f(me),f(se),f(N))}}static{this.\u0275prov=L({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();var Gt=(()=>{class t{constructor(e,i){this.settings=e,this.storageService=i,this.avatarStyles={}}ngOnChanges(e){e.studentId&&(this.avatarStyles=this.buildAvatarStyles(this.studentId))}buildAvatarStyles(e){return{"background-image":[this.buildAvatarUrl(e),this.fallbackAvatarUrl].map(i=>`url(${i})`).join(", ")}}buildAvatarUrl(e){let i=this.storageService.getAccessToken()||"";return`${this.settings.apiUrl}/Files/personPictures/${e}?token=${i}`}get fallbackAvatarUrl(){return`${this.settings.scriptsAndAssetsPath}/assets/images/avatar-placeholder.png`}static{this.\u0275fac=function(i){return new(i||t)(V(j),V(N))}}static{this.\u0275cmp=I({type:t,selectors:[["bkd-avatar"]],inputs:{studentId:"studentId",link:"link",linkParams:"linkParams"},features:[ee],decls:1,vars:5,consts:[[1,"avatar",3,"routerLink","queryParams","ngStyle"]],template:function(i,n){i&1&&s(0,"a",0),i&2&&(ie("disabled",!n.link),ne("routerLink",n.link)("queryParams",n.linkParams)("ngStyle",n.avatarStyles))},dependencies:[oe,ae],styles:["[_nghost-%COMP%]{display:flex}.small[_nghost-%COMP%]{width:40px;min-width:40px;height:50px}.medium[_nghost-%COMP%]{width:58px;min-width:58px;height:75px}.large[_nghost-%COMP%]{width:100px;min-width:100px;height:130px}.avatar[_ngcontent-%COMP%]{flex:1;border:1px solid rgba(0,0,0,.25);background-repeat:no-repeat;background-size:cover;background-position:center}a.disabled[_ngcontent-%COMP%]{pointer-events:none;cursor:default}"]})}}return t})();export{Ot as a,Qe as b,at as c,pt as d,Gt as e}; diff --git a/public/apps/webapp-schulverwaltung/chunk-5V4FYHUO.js b/public/apps/webapp-schulverwaltung/chunk-5V4FYHUO.js deleted file mode 100644 index 6470a772..00000000 --- a/public/apps/webapp-schulverwaltung/chunk-5V4FYHUO.js +++ /dev/null @@ -1 +0,0 @@ -import{p as Y,r as z,s as Q,t as W,w as X}from"./chunk-LASWC23V.js";import"./chunk-Y4QYVF5K.js";import"./chunk-AYQPMCNZ.js";import{d as K}from"./chunk-3L4RH6QP.js";import{a as J,b as V}from"./chunk-OSOXMODN.js";import{b as U}from"./chunk-PSYDBHTH.js";import{C as w,w as x}from"./chunk-W4U7QKJF.js";import{$a as u,Ab as G,Bb as I,Cb as $,Db as b,Eb as O,Ga as l,Jb as o,Kb as a,M as E,Na as j,P as _,Pd as R,Qa as v,Rd as q,Va as B,X as P,_ as p,_a as g,ab as m,cc as M,cd as N,h as L,hb as A,n as d,o as k,rb as y,s as D,sb as C,xa as c,xc as H,ya as h}from"./chunk-2W7IS4PN.js";var f=(()=>{class e{constructor(s,t,n,S,se,ne,oe){this.storageService=s,this.loadingService=t,this.coursesRestService=n,this.subscriptionRestService=S,this.reportsService=se,this.gradingScalesRestService=ne,this.settings=oe,this.studentId$=new L(1),this.loading$=this.loadingService.loading$,this.studentCourses$=this.loadCourses().pipe(E(1)),this.studentCoursesSorted$=this.studentCourses$.pipe(d(i=>i.slice().sort((r,ae)=>r.Designation.localeCompare(ae.Designation)))),this.studentCourseIds$=this.studentCourses$.pipe(d(i=>i.flatMap(r=>r.Id))),this.subscriptionIds$=k([this.studentId$,this.studentCourseIds$]).pipe(_(([i,r])=>this.subscriptionRestService.getSubscriptionIdsByStudentAndCourse(i,r))),this.testReports$=this.subscriptionIds$.pipe(d(i=>this.reportsService.getStudentSubscriptionGradesReports(i))),this.tests$=this.studentCourses$.pipe(d(i=>i.flatMap(r=>r.Tests).filter(x))),this.gradingScaleIdsFromTests$=this.tests$.pipe(d(i=>[...i.map(r=>r.GradingScaleId)].filter(x).filter(w))),this.gradingScaleIdsFromCourses$=this.studentCourses$.pipe(d(i=>i.flatMap(r=>r.GradingScaleId).filter(x).filter(w))),this.gradingScaleIds$=k([this.gradingScaleIdsFromCourses$,this.gradingScaleIdsFromTests$]).pipe(d(([i,r])=>i.concat(r).filter(w))),this.gradingScales$=this.gradingScaleIds$.pipe(_(i=>D(i.map(r=>this.gradingScalesRestService.getGradingScale(r)))));let F=this.storageService.getPayload()?.id_person;F&&this.studentId$.next(Number(F))}loadCourses(){return this.loadingService.load(this.coursesRestService.getExpandedCoursesForStudent())}static{this.\u0275fac=function(t){return new(t||e)(p(q),p(V),p(Y),p(z),p(K),p(Q),p(N))}}static{this.\u0275prov=P({token:e,factory:e.\u0275fac})}}return e})();var de=()=>[],ee=(()=>{class e{constructor(s){this.myGradesService=s}static{this.\u0275fac=function(t){return new(t||e)(h(f))}}static{this.\u0275cmp=l({type:e,selectors:[["bkd-my-grades-header"]],decls:7,vars:7,consts:[[1,"d-flex","justify-content-between","header"],[3,"reports"]],template:function(t,n){if(t&1&&(g(0,"div",0)(1,"div"),y(2),o(3,"translate"),u(),g(4,"div"),m(5,"bkd-reports-link",1),o(6,"async"),u()()),t&2){let S;c(2),C(a(3,2,"my-grades.header")),c(3),v("reports",(S=a(6,4,n.myGradesService.testReports$))!==null&&S!==void 0?S:O(6,de))}},dependencies:[J,M,R],styles:[".header[_ngcontent-%COMP%]{padding-bottom:1rem}.report[_ngcontent-%COMP%]{margin-left:1rem}"]})}}return e})();function pe(e,re){e&1&&m(0,"bkd-spinner")}function ce(e,re){if(e&1&&m(0,"bkd-dossier-grades-view",1),e&2){A();let s=$(0),t=$(2),n=$(4);v("courses",s)("studentId",t)("gradingScales",n)("isEditable",!1)}}var te=(()=>{class e{constructor(s){this.myGradesService=s}static{this.\u0275fac=function(t){return new(t||e)(h(f))}}static{this.\u0275cmp=l({type:e,selectors:[["bkd-my-grades-show"]],features:[b([W])],decls:14,vars:15,consts:[[1,"bkd-container","bkd-container-limited"],[3,"courses","studentId","gradingScales","isEditable"]],template:function(t,n){t&1&&(G(0),o(1,"async"),G(2),o(3,"async"),G(4),o(5,"async"),g(6,"div",0)(7,"h1"),y(8),o(9,"translate"),u(),m(10,"bkd-my-grades-header"),j(11,pe,1,0,"bkd-spinner"),o(12,"async"),j(13,ce,1,4,"bkd-dossier-grades-view",1),u()),t&2&&(I(a(1,2,n.myGradesService.studentCoursesSorted$)),c(2),I(a(3,5,n.myGradesService.studentId$)),c(2),I(a(5,8,n.myGradesService.gradingScales$)),c(4),C(a(9,11,"my-grades.title")),c(3),B(a(12,13,n.myGradesService.loading$)?11:13))},dependencies:[ee,X,U,M,R],encapsulation:2})}}return e})();var ie=(()=>{class e{constructor(){}static{this.\u0275fac=function(t){return new(t||e)}}static{this.\u0275cmp=l({type:e,selectors:[["bkd-my-grades"]],features:[b([f])],decls:1,vars:0,template:function(t,n){t&1&&m(0,"router-outlet")},dependencies:[H],encapsulation:2})}}return e})();var Ee=[{path:"",component:ie,children:[{path:"",component:te}]}];export{Ee as MY_GRADES_ROUTES}; diff --git a/public/apps/webapp-schulverwaltung/chunk-THL2WTJD.js b/public/apps/webapp-schulverwaltung/chunk-5ZBE3UL7.js similarity index 98% rename from public/apps/webapp-schulverwaltung/chunk-THL2WTJD.js rename to public/apps/webapp-schulverwaltung/chunk-5ZBE3UL7.js index 0417ee65..0102b243 100644 --- a/public/apps/webapp-schulverwaltung/chunk-THL2WTJD.js +++ b/public/apps/webapp-schulverwaltung/chunk-5ZBE3UL7.js @@ -1 +1 @@ -import{a as we,b as Ee,c as je,d as Ve,e as Me}from"./chunk-5WNFCBTP.js";import{t as R,w as Fe}from"./chunk-LASWC23V.js";import{d as $e,e as Te}from"./chunk-746ASKQ4.js";import{b as te}from"./chunk-3L4RH6QP.js";import{a as Be}from"./chunk-DTYYCJHM.js";import{L as Ie,P as Z,T as Le,U as Re}from"./chunk-SRCW6BUG.js";import{a as Pe}from"./chunk-OSOXMODN.js";import{b as ee}from"./chunk-PSYDBHTH.js";import{c as Y,d as z,e as J,f as K,g as X}from"./chunk-W4U7QKJF.js";import{a as ke}from"./chunk-AVBHFGIF.js";import{$a as a,Ab as g,Ac as Se,Bb as y,Cb as v,Db as W,Eb as re,Fb as ae,Ga as I,Jb as d,Kb as m,L as me,Lb as ve,M as ue,Na as c,O as oe,Od as De,P as E,Pd as M,Qa as p,R as U,Ra as fe,Va as _,Wa as _e,X as Q,Ya as N,Za as O,_ as L,_a as r,a as j,ab as b,b as V,cc as w,cd as Ae,dc as Ce,ea as k,eb as F,f as q,fa as D,g as ce,gb as $,h as se,hb as l,ib as be,jb as he,k as de,l as pe,n as P,o as le,qb as h,rb as u,sb as H,tb as f,wc as xe,xa as n,xc as ge,ya as x,zc as ye}from"./chunk-2W7IS4PN.js";var ie=(()=>{class e{constructor(t,i,s,C,B){this.settings=t,this.lessonPresencesService=i,this.presenceTypesService=s,this.toastService=C,this.translate=B,this.studentId$=new se(1),this.checkableAbsences$=this.getAbsences(this.loadCheckableAbsences.bind(this)),this.openAbsences$=this.getAbsences(this.loadOpenAbsences.bind(this)),this.excusedAbsences$=this.getAbsences(this.loadExcusedAbsences.bind(this)),this.unexcusedAbsences$=this.getAbsences(this.loadUnexcusedAbsences.bind(this)),this.incidents$=this.getAbsences(this.loadIncidents.bind(this)),this.halfDays$=this.getAbsences(this.loadHalfDays.bind(this)),this.counts$=this.getCounts()}setStudentId(t){this.studentId$.next(t)}getAbsences(t){return this.studentId$.pipe(E(t),oe(null),me({connector:()=>new se(1)}))}getCounts(){return this.studentId$.pipe(E(t=>le([this.loadStatistics(t).pipe(oe(null)),this.openAbsences$.pipe(P(i=>i?.length??null)),this.checkableAbsences$.pipe(P(i=>i?.length??null))])),P(([t,i,s])=>({openAbsences:i,checkableAbsences:s,excusedAbsences:t?.TotalAbsencesValidExcuse??null,unexcusedAbsences:t?.TotalAbsencesWithoutExcuse??null,incidents:t?.TotalIncidents??null,halfDays:t?.TotalHalfDays??null})))}loadStatistics(t){return this.lessonPresencesService.getStatistics({student:t,educationalEvent:null,studyClass:null},null,0).pipe(E(({entries:i})=>i.length>0?pe(i[0]):(this.toastService.error(this.translate.instant("global.rest-errors.notfound-message"),this.translate.instant("global.rest-errors.notfound-title")),de)))}loadOpenAbsences(t){return this.lessonPresencesService.getListOfUnconfirmed(this.getBaseParams(t))}loadCheckableAbsences(t){return this.lessonPresencesService.getList({params:V(j({},this.getBaseParams(t)),{"filter.ConfirmationStateId":`=${this.settings.checkableAbsenceStateId}`})})}loadExcusedAbsences(t){return this.lessonPresencesService.getList({params:V(j({},this.getBaseParams(t)),{"filter.ConfirmationStateId":`=${this.settings.excusedAbsenceStateId}`})})}loadUnexcusedAbsences(t){return this.lessonPresencesService.getList({params:V(j({},this.getBaseParams(t)),{"filter.ConfirmationStateId":`=${this.settings.unexcusedAbsenceStateId}`})})}loadIncidents(t){return this.presenceTypesService.incidentTypes$.pipe(P(i=>V(j({},this.getBaseParams(t)),{"filter.TypeRef":`;${i.map(s=>s.Id).join(";")}`})),E(i=>this.lessonPresencesService.getList({params:i})))}loadHalfDays(t){return this.lessonPresencesService.getList({params:V(j({},this.getBaseParams(t)),{"filter.TypeRef":`=${this.settings.halfDayPresenceTypeId}`})})}getBaseParams(t){return{sort:"LessonDateTimeFrom.asc","filter.StudentRef":`=${t}`}}static{this.\u0275fac=function(i){return new(i||e)(L(Ae),L(Te),L(Z),L(ke),L(De))}}static{this.\u0275prov=Q({token:e,factory:e.\u0275fac})}}return e})();var T=(()=>{class e{constructor(t,i){this.profileService=t,this.route=i,this.currentDossier$=new ce("addresses"),this.studentId$=this.route.paramMap.pipe(P(s=>Number(s.get("id")))),this.profile$=this.studentId$.pipe(E(s=>this.profileService.getProfile(s)),ue(1)),this.returnParams$=this.route.queryParams.pipe(P(({returnparams:s})=>s)),this.backlinkQueryParams$=this.returnParams$.pipe(P(Be)),this.loading$=this.profileService.loading$}static{this.\u0275fac=function(i){return new(i||e)(L(we),L(xe))}}static{this.\u0275prov=Q({token:e,factory:e.\u0275fac})}}return e})();function ze(e,o){if(e&1&&u(0),e&2){l();let t=v(0);f(" (",t==null?null:t.checkableAbsences,") ")}}function Je(e,o){if(e&1&&b(0,"bkd-student-dossier-absences",13),e&2){let t=l();p("absences$",t.absencesService.checkableAbsences$)}}function Ke(e,o){if(e&1&&u(0),e&2){l();let t=v(0);f(" (",t==null?null:t.openAbsences,") ")}}function Xe(e,o){if(e&1&&b(0,"bkd-student-dossier-absences",14),e&2){let t=l();p("absences$",t.absencesService.openAbsences$)("selectionService",t.absencesSelectionService)}}function Ze(e,o){if(e&1&&u(0),e&2){l();let t=v(0);f(" (",t==null?null:t.excusedAbsences,") ")}}function et(e,o){if(e&1&&b(0,"bkd-student-dossier-absences",13),e&2){let t=l();p("absences$",t.absencesService.excusedAbsences$)}}function tt(e,o){if(e&1&&u(0),e&2){l();let t=v(0);f(" (",t==null?null:t.unexcusedAbsences,") ")}}function it(e,o){if(e&1&&b(0,"bkd-student-dossier-absences",15),e&2){let t=l();p("absences$",t.absencesService.unexcusedAbsences$)("displayPresenceType",!1)}}function nt(e,o){if(e&1&&u(0),e&2){l();let t=v(0);f(" (",t==null?null:t.incidents,") ")}}function st(e,o){if(e&1&&b(0,"bkd-student-dossier-absences",13),e&2){let t=l();p("absences$",t.absencesService.incidents$)}}function ot(e,o){if(e&1&&u(0),e&2){l(2);let t=v(0);f(" (",t==null?null:t.halfDays,") ")}}function rt(e,o){if(e&1&&b(0,"bkd-student-dossier-absences",15),e&2){let t=l(2);p("absences$",t.absencesService.halfDays$)("displayPresenceType",!1)}}function at(e,o){if(e&1){let t=F();r(0,"div",12,5)(2,"div",8)(3,"bkd-student-dossier-entry-header",9),$("click",function(){k(t);let s=h(1);return D(s.toggle())}),u(4),d(5,"translate"),c(6,ot,1,1),a()(),r(7,"div",10)(8,"div",11),c(9,rt,1,2,"ng-template"),a()()()}if(e&2){let t=h(1);l();let i=v(0);n(3),p("opened",!t.collapsed),n(),f(" ",m(5,3,"shared.profile.half-days")," "),n(2),_((i==null?null:i.halfDays)!==null?6:-1)}}var Ge=(()=>{class e{constructor(t,i,s,C){this.state=t,this.presenceTypesService=i,this.absencesService=s,this.absencesSelectionService=C,this.halfDayActive$=this.presenceTypesService.halfDayActive$,this.destroy$=new q,this.state.currentDossier$.next("absences")}ngOnInit(){this.state.studentId$.pipe(U(this.destroy$)).subscribe(t=>this.absencesService.setStudentId(t))}ngOnDestroy(){this.destroy$.next()}static{this.\u0275fac=function(i){return new(i||e)(x(T),x(Z),x(ie),x(Ie))}}static{this.\u0275cmp=I({type:e,selectors:[["bkd-dossier-absences"]],features:[W([ie])],decls:55,vars:31,consts:[["checkableAbsences","ngbAccordionItem"],["openAbsences","ngbAccordionItem"],["excusedAbsences","ngbAccordionItem"],["unexcusedAbsences","ngbAccordionItem"],["incidents","ngbAccordionItem"],["halfDays","ngbAccordionItem"],["ngbAccordion",""],["ngbAccordionItem",""],["ngbAccordionHeader",""],[3,"click","opened"],["ngbAccordionCollapse",""],["ngbAccordionBody",""],["ngbAccordionItem","","id","half-days"],[3,"absences$"],[3,"absences$","selectionService"],[3,"absences$","displayPresenceType"]],template:function(i,s){if(i&1){let C=F();g(0),d(1,"async"),r(2,"div",6)(3,"div",7,0)(5,"div",8)(6,"bkd-student-dossier-entry-header",9),$("click",function(){k(C);let S=h(4);return D(S.toggle())}),u(7),d(8,"translate"),c(9,ze,1,1),a()(),r(10,"div",10)(11,"div",11),c(12,Je,1,1,"ng-template"),a()()(),r(13,"div",7,1)(15,"div",8)(16,"bkd-student-dossier-entry-header",9),$("click",function(){k(C);let S=h(14);return D(S.toggle())}),u(17),d(18,"translate"),c(19,Ke,1,1),a()(),r(20,"div",10)(21,"div",11),c(22,Xe,1,2,"ng-template"),a()()(),r(23,"div",7,2)(25,"div",8)(26,"bkd-student-dossier-entry-header",9),$("click",function(){k(C);let S=h(24);return D(S.toggle())}),u(27),d(28,"translate"),c(29,Ze,1,1),a()(),r(30,"div",10)(31,"div",11),c(32,et,1,1,"ng-template"),a()()(),r(33,"div",7,3)(35,"div",8)(36,"bkd-student-dossier-entry-header",9),$("click",function(){k(C);let S=h(34);return D(S.toggle())}),u(37),d(38,"translate"),c(39,tt,1,1),a()(),r(40,"div",10)(41,"div",11),c(42,it,1,2,"ng-template"),a()()(),r(43,"div",7,4)(45,"div",8)(46,"bkd-student-dossier-entry-header",9),$("click",function(){k(C);let S=h(44);return D(S.toggle())}),u(47),d(48,"translate"),c(49,nt,1,1),a()(),r(50,"div",10)(51,"div",11),c(52,st,1,1,"ng-template"),a()()(),c(53,at,10,5,"div",12),d(54,"async"),a()}if(i&2){let C=h(4),B=h(14),S=h(24),Ue=h(34),Qe=h(44),A=y(m(1,16,s.absencesService.counts$));n(6),p("opened",!C.collapsed),n(),f(" ",m(8,19,"shared.profile.checkable-absences")," "),n(2),_((A==null?null:A.checkableAbsences)!==null?9:-1),n(7),p("opened",!B.collapsed),n(),f(" ",m(18,21,"shared.profile.open-absences")," "),n(2),_((A==null?null:A.openAbsences)!==null?19:-1),n(7),p("opened",!S.collapsed),n(),f(" ",m(28,23,"shared.profile.excused-absences")," "),n(2),_((A==null?null:A.excusedAbsences)!==null?29:-1),n(7),p("opened",!Ue.collapsed),n(),f(" ",m(38,25,"shared.profile.unexcused-absences")," "),n(2),_((A==null?null:A.unexcusedAbsences)!==null?39:-1),n(7),p("opened",!Qe.collapsed),n(),f(" ",m(48,27,"shared.profile.incidents")," "),n(2),_((A==null?null:A.incidents)!==null?49:-1),n(4),_(m(54,29,s.halfDayActive$)?53:-1)}},dependencies:[X,K,J,te,z,Y,Le,w,M],encapsulation:2,changeDetection:0})}}return e})();var ct=(e,o)=>o.apprenticeshipContract.Id,dt=(e,o)=>o.Id;function pt(e,o){if(e&1&&b(0,"bkd-student-dossier-legal-representative",9),e&2){let t=o.$implicit;p("person",t)}}function lt(e,o){if(e&1&&N(0,pt,1,1,"bkd-student-dossier-legal-representative",9,dt),e&2){l(3);let t=v(0);O(t.legalRepresentativePersons)}}function mt(e,o){if(e&1){let t=F();r(0,"div",4,0)(2,"div",5)(3,"bkd-student-dossier-entry-header",6),$("click",function(){k(t);let s=h(1);return D(s.toggle())}),u(4),d(5,"translate"),a()(),r(6,"div",7)(7,"div",8),c(8,lt,2,0,"ng-template"),a()()()}if(e&2){let t=h(1);n(3),p("opened",!t.collapsed),n(),f(" ",m(5,2,"shared.profile.legal-representation")," ")}}function ut(e,o){if(e&1&&u(0),e&2){let t=l().$index;f(" ",t+1," ")}}function ft(e,o){if(e&1&&b(0,"bkd-student-dossier-apprenticeship-company",10),e&2){let t=l().$implicit;p("company",t)}}function _t(e,o){if(e&1){let t=F();r(0,"div",4,1)(2,"div",5)(3,"bkd-student-dossier-entry-header",6),$("click",function(){k(t);let s=h(1);return D(s.toggle())}),u(4),d(5,"translate"),c(6,ut,1,1),a()(),r(7,"div",7)(8,"div",8),c(9,ft,1,1,"ng-template"),a()()()}if(e&2){let t=h(1);l(2);let i=v(0);n(3),p("opened",!t.collapsed),n(),f(" ",m(5,3,"shared.profile.apprenticeship-company")," "),n(2),_(i.apprenticeshipCompanies.length>1?6:-1)}}function bt(e,o){if(e&1&&(b(0,"bkd-student-dossier-address",2),r(1,"div",3),c(2,mt,9,4,"div",4),N(3,_t,10,5,"div",4,ct),a()),e&2){l();let t=v(0);p("student",t.student),n(2),_(t.legalRepresentativePersons.length>0?2:-1),n(),O(t.apprenticeshipCompanies)}}var Ne=(()=>{class e{constructor(t){this.state=t,this.state.currentDossier$.next("addresses")}static{this.\u0275fac=function(i){return new(i||e)(x(T))}}static{this.\u0275cmp=I({type:e,selectors:[["bkd-dossier-addresses"]],decls:3,vars:4,consts:[["legalRepresentatives","ngbAccordionItem"],["apprenticeshipCompanies","ngbAccordionItem"],[1,"profile-entry",3,"student"],["ngbAccordion",""],["ngbAccordionItem",""],["ngbAccordionHeader",""],[3,"click","opened"],["ngbAccordionCollapse",""],["ngbAccordionBody",""],[1,"profile-entry",3,"person"],[1,"profile-entry",3,"company"]],template:function(i,s){if(i&1&&(g(0),d(1,"async"),c(2,bt,5,2)),i&2){let C=y(m(1,1,s.state.profile$));n(2),_(C?2:-1)}},dependencies:[Ee,X,K,J,te,z,Y,Ve,je,w,M],styles:[".profile-entry[_ngcontent-%COMP%]{display:block;padding:0 1rem}"],changeDetection:0})}}return e})();function vt(e,o){e&1&&b(0,"bkd-spinner")}function Ct(e,o){if(e&1&&b(0,"bkd-dossier-grades-view",0),e&2){l();let t=v(0),i=v(2),s=v(4);p("courses",t)("studentId",i)("gradingScales",s)}}var Oe=(()=>{class e{constructor(t,i){this.state=t,this.dossierGradesService=i,this.destroy$=new q}ngOnInit(){this.state.currentDossier$.next("grades"),this.state.studentId$.pipe(U(this.destroy$)).subscribe(t=>this.dossierGradesService.setStudentId(t))}ngOnDestroy(){this.destroy$.next()}static{this.\u0275fac=function(i){return new(i||e)(x(T),x(R))}}static{this.\u0275cmp=I({type:e,selectors:[["bkd-dossier-grades"]],decls:9,vars:12,consts:[[3,"courses","studentId","gradingScales"]],template:function(i,s){i&1&&(g(0),d(1,"async"),g(2),d(3,"async"),g(4),d(5,"async"),c(6,vt,1,0,"bkd-spinner"),d(7,"async"),c(8,Ct,1,3,"bkd-dossier-grades-view",0)),i&2&&(y(m(1,1,s.dossierGradesService.studentCourses$)),n(2),y(m(3,4,s.state.studentId$)),n(2),y(m(5,7,s.dossierGradesService.gradingScales$)),n(2),_(m(7,10,s.dossierGradesService.loading$)?6:8))},dependencies:[Fe,ee,w],encapsulation:2})}}return e})();var xt=["*"];function gt(e,o){if(e&1&&(r(0,"div",5)(1,"span",6),u(2),d(3,"date"),a(),r(4,"span",7),u(5),a()()),e&2){let t=l();n(2),H(ve(3,2,t.student.Birthdate,"dd.MM.yyyy")),n(3),f("(",t.student.Gender,")")}}var He=(()=>{class e{constructor(){this.link="/"}static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275cmp=I({type:e,selectors:[["bkd-student-backlink"]],inputs:{link:"link",queryParams:"queryParams",studentId:"studentId",studentName:"studentName",student:"student"},ngContentSelectors:xt,decls:9,vars:5,consts:[[1,"d-flex","flex-column","w-100"],[3,"link","params"],[1,"d-flex","flex-row","align-items-start"],[1,"me-3","medium",3,"studentId"],[1,"d-flex","flex-column"],[1,"additional-info"],[1,"birthday"],[1,"gender"]],template:function(i,s){i&1&&(be(),r(0,"div",0)(1,"bkd-backlink",1),he(2),a(),r(3,"div",2),b(4,"bkd-avatar",3),r(5,"div",4)(6,"h1"),u(7),a(),c(8,gt,6,5,"div",5),a()()()),i&2&&(n(),p("link",s.link)("params",s.queryParams),n(3),p("studentId",s.studentId),n(3),H(s.student?s.student.FullName:s.studentName),n(),_(s.student?8:-1))},dependencies:[Re,Me,Ce],styles:["[_nghost-%COMP%]{display:flex;align-items:center;width:100%}h1[_ngcontent-%COMP%]{margin:-3px 0 0;display:flex;align-items:baseline;line-height:1}.additional-info[_ngcontent-%COMP%]{color:#adb5bd}.gender[_ngcontent-%COMP%]{margin-left:.8ch}"],changeDetection:0})}}return e})();var yt=()=>["addresses","absences","grades"],St=()=>[],At=e=>({returnparams:e}),kt=e=>[e];function Dt(e,o){e&1&&b(0,"bkd-spinner")}function It(e,o){if(e&1&&b(0,"bkd-reports-link",3),e&2){let t;l(2);let i=v(4);p("reports",(t=i)!==null&&t!==void 0?t:re(1,St))}}function $t(e,o){if(e&1&&(r(0,"a",5),d(1,"async"),r(2,"button",6,0),u(4),d(5,"translate"),a()()),e&2){let t=o.$implicit,i=h(3),s=l(2);p("queryParams",ae(9,At,m(1,5,s.state.returnParams$)))("routerLink",ae(11,kt,t)),n(2),fe("btn-outline-secondary",!i.isActive),n(2),f(" ",m(5,7,"dossier."+t)," ")}}function Tt(e,o){e&1&&(r(0,"div"),b(1,"router-outlet"),a())}function Pt(e,o){e&1&&(r(0,"p"),u(1),d(2,"translate"),a()),e&2&&(n(),H(m(2,1,"shared.profile.no-profile")))}function Lt(e,o){if(e&1&&(r(0,"bkd-student-backlink",2),d(1,"async"),d(2,"async"),c(3,It,1,2,"bkd-reports-link",3),a(),r(4,"div",4),N(5,$t,6,13,"a",5,_e),a(),c(7,Tt,2,0,"div")(8,Pt,3,3,"p")),e&2){let t=l(),i=v(0),s=v(2);p("link","../..")("queryParams",m(1,6,t.state.backlinkQueryParams$))("studentId",m(2,8,t.state.studentId$))("student",i&&i.student),n(3),_(s==="grades"?3:-1),n(2),O(re(10,yt)),n(2),_(i?7:8)}}var qe=(()=>{class e{constructor(t,i){this.state=t,this.dossierGradesService=i,this.state.currentDossier$.next("addresses")}static{this.\u0275fac=function(i){return new(i||e)(x(T),x(R))}}static{this.\u0275cmp=I({type:e,selectors:[["bkd-student-dossier"]],features:[W([T,R])],decls:10,vars:12,consts:[["rla","routerLinkActive"],[1,"bkd-container","bkd-container-limited"],[1,"mb-2",3,"link","queryParams","studentId","student"],[1,"ms-2",3,"reports"],[1,"d-flex","flex-row","py-3","flex-wrap"],[1,"me-1","mt-1","me-sm-2",3,"queryParams","routerLink"],["data-test-id","dossier-section-button","type","button","routerLinkActive","btn-primary",1,"btn","btn-outline-secondary"]],template:function(i,s){i&1&&(g(0),d(1,"async"),g(2),d(3,"async"),g(4),d(5,"async"),r(6,"div",1),c(7,Dt,1,0,"bkd-spinner"),d(8,"async"),c(9,Lt,9,11),a()),i&2&&(y(m(1,1,s.state.profile$)),n(2),y(m(3,4,s.state.currentDossier$)),n(2),y(m(5,7,s.dossierGradesService.testReports$)),n(3),_(m(8,10,s.state.loading$)?7:9))},dependencies:[He,Pe,ye,Se,ge,ee,w,M],encapsulation:2,changeDetection:0})}}return e})();var Li={path:"student/:id",children:[{path:"",component:qe,children:[{path:"addresses",component:Ne},{path:"absences",component:Ge},{path:"grades",component:Oe}]},{path:"absences/confirm",component:$e}]};export{Li as a}; +import{a as we,b as Ee,c as je,d as Ve,e as Me}from"./chunk-4UVNKLEN.js";import{t as R,w as Fe}from"./chunk-PXVJ3QLD.js";import{d as $e,e as Te}from"./chunk-CKFTESOV.js";import{b as te}from"./chunk-3L4RH6QP.js";import{a as Be}from"./chunk-DTYYCJHM.js";import{B as Z,F as Le,G as Re,x as Ie}from"./chunk-UYCIECIQ.js";import{i as Pe}from"./chunk-XFA6UPZX.js";import{b as ee}from"./chunk-PSYDBHTH.js";import{c as Y,d as z,e as J,f as K,g as X}from"./chunk-W4U7QKJF.js";import{a as ke}from"./chunk-AVBHFGIF.js";import{$a as a,Ab as g,Ac as Se,Bb as y,Cb as v,Db as W,Eb as re,Fb as ae,Ga as I,Jb as d,Kb as m,L as me,Lb as ve,M as ue,Na as c,O as oe,Od as De,P as E,Pd as M,Qa as p,R as U,Ra as fe,Va as _,Wa as _e,X as Q,Ya as N,Za as O,_ as L,_a as r,a as j,ab as b,b as V,cc as w,cd as Ae,dc as Ce,ea as k,eb as F,f as q,fa as D,g as ce,gb as $,h as se,hb as l,ib as be,jb as he,k as de,l as pe,n as P,o as le,qb as h,rb as u,sb as H,tb as f,wc as xe,xa as n,xc as ge,ya as x,zc as ye}from"./chunk-2W7IS4PN.js";var ie=(()=>{class e{constructor(t,i,s,C,B){this.settings=t,this.lessonPresencesService=i,this.presenceTypesService=s,this.toastService=C,this.translate=B,this.studentId$=new se(1),this.checkableAbsences$=this.getAbsences(this.loadCheckableAbsences.bind(this)),this.openAbsences$=this.getAbsences(this.loadOpenAbsences.bind(this)),this.excusedAbsences$=this.getAbsences(this.loadExcusedAbsences.bind(this)),this.unexcusedAbsences$=this.getAbsences(this.loadUnexcusedAbsences.bind(this)),this.incidents$=this.getAbsences(this.loadIncidents.bind(this)),this.halfDays$=this.getAbsences(this.loadHalfDays.bind(this)),this.counts$=this.getCounts()}setStudentId(t){this.studentId$.next(t)}getAbsences(t){return this.studentId$.pipe(E(t),oe(null),me({connector:()=>new se(1)}))}getCounts(){return this.studentId$.pipe(E(t=>le([this.loadStatistics(t).pipe(oe(null)),this.openAbsences$.pipe(P(i=>i?.length??null)),this.checkableAbsences$.pipe(P(i=>i?.length??null))])),P(([t,i,s])=>({openAbsences:i,checkableAbsences:s,excusedAbsences:t?.TotalAbsencesValidExcuse??null,unexcusedAbsences:t?.TotalAbsencesWithoutExcuse??null,incidents:t?.TotalIncidents??null,halfDays:t?.TotalHalfDays??null})))}loadStatistics(t){return this.lessonPresencesService.getStatistics({student:t,educationalEvent:null,studyClass:null},null,0).pipe(E(({entries:i})=>i.length>0?pe(i[0]):(this.toastService.error(this.translate.instant("global.rest-errors.notfound-message"),this.translate.instant("global.rest-errors.notfound-title")),de)))}loadOpenAbsences(t){return this.lessonPresencesService.getListOfUnconfirmed(this.getBaseParams(t))}loadCheckableAbsences(t){return this.lessonPresencesService.getList({params:V(j({},this.getBaseParams(t)),{"filter.ConfirmationStateId":`=${this.settings.checkableAbsenceStateId}`})})}loadExcusedAbsences(t){return this.lessonPresencesService.getList({params:V(j({},this.getBaseParams(t)),{"filter.ConfirmationStateId":`=${this.settings.excusedAbsenceStateId}`})})}loadUnexcusedAbsences(t){return this.lessonPresencesService.getList({params:V(j({},this.getBaseParams(t)),{"filter.ConfirmationStateId":`=${this.settings.unexcusedAbsenceStateId}`})})}loadIncidents(t){return this.presenceTypesService.incidentTypes$.pipe(P(i=>V(j({},this.getBaseParams(t)),{"filter.TypeRef":`;${i.map(s=>s.Id).join(";")}`})),E(i=>this.lessonPresencesService.getList({params:i})))}loadHalfDays(t){return this.lessonPresencesService.getList({params:V(j({},this.getBaseParams(t)),{"filter.TypeRef":`=${this.settings.halfDayPresenceTypeId}`})})}getBaseParams(t){return{sort:"LessonDateTimeFrom.asc","filter.StudentRef":`=${t}`}}static{this.\u0275fac=function(i){return new(i||e)(L(Ae),L(Te),L(Z),L(ke),L(De))}}static{this.\u0275prov=Q({token:e,factory:e.\u0275fac})}}return e})();var T=(()=>{class e{constructor(t,i){this.profileService=t,this.route=i,this.currentDossier$=new ce("addresses"),this.studentId$=this.route.paramMap.pipe(P(s=>Number(s.get("id")))),this.profile$=this.studentId$.pipe(E(s=>this.profileService.getProfile(s)),ue(1)),this.returnParams$=this.route.queryParams.pipe(P(({returnparams:s})=>s)),this.backlinkQueryParams$=this.returnParams$.pipe(P(Be)),this.loading$=this.profileService.loading$}static{this.\u0275fac=function(i){return new(i||e)(L(we),L(xe))}}static{this.\u0275prov=Q({token:e,factory:e.\u0275fac})}}return e})();function ze(e,o){if(e&1&&u(0),e&2){l();let t=v(0);f(" (",t==null?null:t.checkableAbsences,") ")}}function Je(e,o){if(e&1&&b(0,"bkd-student-dossier-absences",13),e&2){let t=l();p("absences$",t.absencesService.checkableAbsences$)}}function Ke(e,o){if(e&1&&u(0),e&2){l();let t=v(0);f(" (",t==null?null:t.openAbsences,") ")}}function Xe(e,o){if(e&1&&b(0,"bkd-student-dossier-absences",14),e&2){let t=l();p("absences$",t.absencesService.openAbsences$)("selectionService",t.absencesSelectionService)}}function Ze(e,o){if(e&1&&u(0),e&2){l();let t=v(0);f(" (",t==null?null:t.excusedAbsences,") ")}}function et(e,o){if(e&1&&b(0,"bkd-student-dossier-absences",13),e&2){let t=l();p("absences$",t.absencesService.excusedAbsences$)}}function tt(e,o){if(e&1&&u(0),e&2){l();let t=v(0);f(" (",t==null?null:t.unexcusedAbsences,") ")}}function it(e,o){if(e&1&&b(0,"bkd-student-dossier-absences",15),e&2){let t=l();p("absences$",t.absencesService.unexcusedAbsences$)("displayPresenceType",!1)}}function nt(e,o){if(e&1&&u(0),e&2){l();let t=v(0);f(" (",t==null?null:t.incidents,") ")}}function st(e,o){if(e&1&&b(0,"bkd-student-dossier-absences",13),e&2){let t=l();p("absences$",t.absencesService.incidents$)}}function ot(e,o){if(e&1&&u(0),e&2){l(2);let t=v(0);f(" (",t==null?null:t.halfDays,") ")}}function rt(e,o){if(e&1&&b(0,"bkd-student-dossier-absences",15),e&2){let t=l(2);p("absences$",t.absencesService.halfDays$)("displayPresenceType",!1)}}function at(e,o){if(e&1){let t=F();r(0,"div",12,5)(2,"div",8)(3,"bkd-student-dossier-entry-header",9),$("click",function(){k(t);let s=h(1);return D(s.toggle())}),u(4),d(5,"translate"),c(6,ot,1,1),a()(),r(7,"div",10)(8,"div",11),c(9,rt,1,2,"ng-template"),a()()()}if(e&2){let t=h(1);l();let i=v(0);n(3),p("opened",!t.collapsed),n(),f(" ",m(5,3,"shared.profile.half-days")," "),n(2),_((i==null?null:i.halfDays)!==null?6:-1)}}var Ge=(()=>{class e{constructor(t,i,s,C){this.state=t,this.presenceTypesService=i,this.absencesService=s,this.absencesSelectionService=C,this.halfDayActive$=this.presenceTypesService.halfDayActive$,this.destroy$=new q,this.state.currentDossier$.next("absences")}ngOnInit(){this.state.studentId$.pipe(U(this.destroy$)).subscribe(t=>this.absencesService.setStudentId(t))}ngOnDestroy(){this.destroy$.next()}static{this.\u0275fac=function(i){return new(i||e)(x(T),x(Z),x(ie),x(Ie))}}static{this.\u0275cmp=I({type:e,selectors:[["bkd-dossier-absences"]],features:[W([ie])],decls:55,vars:31,consts:[["checkableAbsences","ngbAccordionItem"],["openAbsences","ngbAccordionItem"],["excusedAbsences","ngbAccordionItem"],["unexcusedAbsences","ngbAccordionItem"],["incidents","ngbAccordionItem"],["halfDays","ngbAccordionItem"],["ngbAccordion",""],["ngbAccordionItem",""],["ngbAccordionHeader",""],[3,"click","opened"],["ngbAccordionCollapse",""],["ngbAccordionBody",""],["ngbAccordionItem","","id","half-days"],[3,"absences$"],[3,"absences$","selectionService"],[3,"absences$","displayPresenceType"]],template:function(i,s){if(i&1){let C=F();g(0),d(1,"async"),r(2,"div",6)(3,"div",7,0)(5,"div",8)(6,"bkd-student-dossier-entry-header",9),$("click",function(){k(C);let S=h(4);return D(S.toggle())}),u(7),d(8,"translate"),c(9,ze,1,1),a()(),r(10,"div",10)(11,"div",11),c(12,Je,1,1,"ng-template"),a()()(),r(13,"div",7,1)(15,"div",8)(16,"bkd-student-dossier-entry-header",9),$("click",function(){k(C);let S=h(14);return D(S.toggle())}),u(17),d(18,"translate"),c(19,Ke,1,1),a()(),r(20,"div",10)(21,"div",11),c(22,Xe,1,2,"ng-template"),a()()(),r(23,"div",7,2)(25,"div",8)(26,"bkd-student-dossier-entry-header",9),$("click",function(){k(C);let S=h(24);return D(S.toggle())}),u(27),d(28,"translate"),c(29,Ze,1,1),a()(),r(30,"div",10)(31,"div",11),c(32,et,1,1,"ng-template"),a()()(),r(33,"div",7,3)(35,"div",8)(36,"bkd-student-dossier-entry-header",9),$("click",function(){k(C);let S=h(34);return D(S.toggle())}),u(37),d(38,"translate"),c(39,tt,1,1),a()(),r(40,"div",10)(41,"div",11),c(42,it,1,2,"ng-template"),a()()(),r(43,"div",7,4)(45,"div",8)(46,"bkd-student-dossier-entry-header",9),$("click",function(){k(C);let S=h(44);return D(S.toggle())}),u(47),d(48,"translate"),c(49,nt,1,1),a()(),r(50,"div",10)(51,"div",11),c(52,st,1,1,"ng-template"),a()()(),c(53,at,10,5,"div",12),d(54,"async"),a()}if(i&2){let C=h(4),B=h(14),S=h(24),Ue=h(34),Qe=h(44),A=y(m(1,16,s.absencesService.counts$));n(6),p("opened",!C.collapsed),n(),f(" ",m(8,19,"shared.profile.checkable-absences")," "),n(2),_((A==null?null:A.checkableAbsences)!==null?9:-1),n(7),p("opened",!B.collapsed),n(),f(" ",m(18,21,"shared.profile.open-absences")," "),n(2),_((A==null?null:A.openAbsences)!==null?19:-1),n(7),p("opened",!S.collapsed),n(),f(" ",m(28,23,"shared.profile.excused-absences")," "),n(2),_((A==null?null:A.excusedAbsences)!==null?29:-1),n(7),p("opened",!Ue.collapsed),n(),f(" ",m(38,25,"shared.profile.unexcused-absences")," "),n(2),_((A==null?null:A.unexcusedAbsences)!==null?39:-1),n(7),p("opened",!Qe.collapsed),n(),f(" ",m(48,27,"shared.profile.incidents")," "),n(2),_((A==null?null:A.incidents)!==null?49:-1),n(4),_(m(54,29,s.halfDayActive$)?53:-1)}},dependencies:[X,K,J,te,z,Y,Le,w,M],encapsulation:2,changeDetection:0})}}return e})();var ct=(e,o)=>o.apprenticeshipContract.Id,dt=(e,o)=>o.Id;function pt(e,o){if(e&1&&b(0,"bkd-student-dossier-legal-representative",9),e&2){let t=o.$implicit;p("person",t)}}function lt(e,o){if(e&1&&N(0,pt,1,1,"bkd-student-dossier-legal-representative",9,dt),e&2){l(3);let t=v(0);O(t.legalRepresentativePersons)}}function mt(e,o){if(e&1){let t=F();r(0,"div",4,0)(2,"div",5)(3,"bkd-student-dossier-entry-header",6),$("click",function(){k(t);let s=h(1);return D(s.toggle())}),u(4),d(5,"translate"),a()(),r(6,"div",7)(7,"div",8),c(8,lt,2,0,"ng-template"),a()()()}if(e&2){let t=h(1);n(3),p("opened",!t.collapsed),n(),f(" ",m(5,2,"shared.profile.legal-representation")," ")}}function ut(e,o){if(e&1&&u(0),e&2){let t=l().$index;f(" ",t+1," ")}}function ft(e,o){if(e&1&&b(0,"bkd-student-dossier-apprenticeship-company",10),e&2){let t=l().$implicit;p("company",t)}}function _t(e,o){if(e&1){let t=F();r(0,"div",4,1)(2,"div",5)(3,"bkd-student-dossier-entry-header",6),$("click",function(){k(t);let s=h(1);return D(s.toggle())}),u(4),d(5,"translate"),c(6,ut,1,1),a()(),r(7,"div",7)(8,"div",8),c(9,ft,1,1,"ng-template"),a()()()}if(e&2){let t=h(1);l(2);let i=v(0);n(3),p("opened",!t.collapsed),n(),f(" ",m(5,3,"shared.profile.apprenticeship-company")," "),n(2),_(i.apprenticeshipCompanies.length>1?6:-1)}}function bt(e,o){if(e&1&&(b(0,"bkd-student-dossier-address",2),r(1,"div",3),c(2,mt,9,4,"div",4),N(3,_t,10,5,"div",4,ct),a()),e&2){l();let t=v(0);p("student",t.student),n(2),_(t.legalRepresentativePersons.length>0?2:-1),n(),O(t.apprenticeshipCompanies)}}var Ne=(()=>{class e{constructor(t){this.state=t,this.state.currentDossier$.next("addresses")}static{this.\u0275fac=function(i){return new(i||e)(x(T))}}static{this.\u0275cmp=I({type:e,selectors:[["bkd-dossier-addresses"]],decls:3,vars:4,consts:[["legalRepresentatives","ngbAccordionItem"],["apprenticeshipCompanies","ngbAccordionItem"],[1,"profile-entry",3,"student"],["ngbAccordion",""],["ngbAccordionItem",""],["ngbAccordionHeader",""],[3,"click","opened"],["ngbAccordionCollapse",""],["ngbAccordionBody",""],[1,"profile-entry",3,"person"],[1,"profile-entry",3,"company"]],template:function(i,s){if(i&1&&(g(0),d(1,"async"),c(2,bt,5,2)),i&2){let C=y(m(1,1,s.state.profile$));n(2),_(C?2:-1)}},dependencies:[Ee,X,K,J,te,z,Y,Ve,je,w,M],styles:[".profile-entry[_ngcontent-%COMP%]{display:block;padding:0 1rem}"],changeDetection:0})}}return e})();function vt(e,o){e&1&&b(0,"bkd-spinner")}function Ct(e,o){if(e&1&&b(0,"bkd-dossier-grades-view",0),e&2){l();let t=v(0),i=v(2),s=v(4);p("courses",t)("studentId",i)("gradingScales",s)}}var Oe=(()=>{class e{constructor(t,i){this.state=t,this.dossierGradesService=i,this.destroy$=new q}ngOnInit(){this.state.currentDossier$.next("grades"),this.state.studentId$.pipe(U(this.destroy$)).subscribe(t=>this.dossierGradesService.setStudentId(t))}ngOnDestroy(){this.destroy$.next()}static{this.\u0275fac=function(i){return new(i||e)(x(T),x(R))}}static{this.\u0275cmp=I({type:e,selectors:[["bkd-dossier-grades"]],decls:9,vars:12,consts:[[3,"courses","studentId","gradingScales"]],template:function(i,s){i&1&&(g(0),d(1,"async"),g(2),d(3,"async"),g(4),d(5,"async"),c(6,vt,1,0,"bkd-spinner"),d(7,"async"),c(8,Ct,1,3,"bkd-dossier-grades-view",0)),i&2&&(y(m(1,1,s.dossierGradesService.studentCourses$)),n(2),y(m(3,4,s.state.studentId$)),n(2),y(m(5,7,s.dossierGradesService.gradingScales$)),n(2),_(m(7,10,s.dossierGradesService.loading$)?6:8))},dependencies:[Fe,ee,w],encapsulation:2})}}return e})();var xt=["*"];function gt(e,o){if(e&1&&(r(0,"div",5)(1,"span",6),u(2),d(3,"date"),a(),r(4,"span",7),u(5),a()()),e&2){let t=l();n(2),H(ve(3,2,t.student.Birthdate,"dd.MM.yyyy")),n(3),f("(",t.student.Gender,")")}}var He=(()=>{class e{constructor(){this.link="/"}static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275cmp=I({type:e,selectors:[["bkd-student-backlink"]],inputs:{link:"link",queryParams:"queryParams",studentId:"studentId",studentName:"studentName",student:"student"},ngContentSelectors:xt,decls:9,vars:5,consts:[[1,"d-flex","flex-column","w-100"],[3,"link","params"],[1,"d-flex","flex-row","align-items-start"],[1,"me-3","medium",3,"studentId"],[1,"d-flex","flex-column"],[1,"additional-info"],[1,"birthday"],[1,"gender"]],template:function(i,s){i&1&&(be(),r(0,"div",0)(1,"bkd-backlink",1),he(2),a(),r(3,"div",2),b(4,"bkd-avatar",3),r(5,"div",4)(6,"h1"),u(7),a(),c(8,gt,6,5,"div",5),a()()()),i&2&&(n(),p("link",s.link)("params",s.queryParams),n(3),p("studentId",s.studentId),n(3),H(s.student?s.student.FullName:s.studentName),n(),_(s.student?8:-1))},dependencies:[Re,Me,Ce],styles:["[_nghost-%COMP%]{display:flex;align-items:center;width:100%}h1[_ngcontent-%COMP%]{margin:-3px 0 0;display:flex;align-items:baseline;line-height:1}.additional-info[_ngcontent-%COMP%]{color:#adb5bd}.gender[_ngcontent-%COMP%]{margin-left:.8ch}"],changeDetection:0})}}return e})();var yt=()=>["addresses","absences","grades"],St=()=>[],At=e=>({returnparams:e}),kt=e=>[e];function Dt(e,o){e&1&&b(0,"bkd-spinner")}function It(e,o){if(e&1&&b(0,"bkd-reports-link",3),e&2){let t;l(2);let i=v(4);p("reports",(t=i)!==null&&t!==void 0?t:re(1,St))}}function $t(e,o){if(e&1&&(r(0,"a",5),d(1,"async"),r(2,"button",6,0),u(4),d(5,"translate"),a()()),e&2){let t=o.$implicit,i=h(3),s=l(2);p("queryParams",ae(9,At,m(1,5,s.state.returnParams$)))("routerLink",ae(11,kt,t)),n(2),fe("btn-outline-secondary",!i.isActive),n(2),f(" ",m(5,7,"dossier."+t)," ")}}function Tt(e,o){e&1&&(r(0,"div"),b(1,"router-outlet"),a())}function Pt(e,o){e&1&&(r(0,"p"),u(1),d(2,"translate"),a()),e&2&&(n(),H(m(2,1,"shared.profile.no-profile")))}function Lt(e,o){if(e&1&&(r(0,"bkd-student-backlink",2),d(1,"async"),d(2,"async"),c(3,It,1,2,"bkd-reports-link",3),a(),r(4,"div",4),N(5,$t,6,13,"a",5,_e),a(),c(7,Tt,2,0,"div")(8,Pt,3,3,"p")),e&2){let t=l(),i=v(0),s=v(2);p("link","../..")("queryParams",m(1,6,t.state.backlinkQueryParams$))("studentId",m(2,8,t.state.studentId$))("student",i&&i.student),n(3),_(s==="grades"?3:-1),n(2),O(re(10,yt)),n(2),_(i?7:8)}}var qe=(()=>{class e{constructor(t,i){this.state=t,this.dossierGradesService=i,this.state.currentDossier$.next("addresses")}static{this.\u0275fac=function(i){return new(i||e)(x(T),x(R))}}static{this.\u0275cmp=I({type:e,selectors:[["bkd-student-dossier"]],features:[W([T,R])],decls:10,vars:12,consts:[["rla","routerLinkActive"],[1,"bkd-container","bkd-container-limited"],[1,"mb-2",3,"link","queryParams","studentId","student"],[1,"ms-2",3,"reports"],[1,"d-flex","flex-row","py-3","flex-wrap"],[1,"me-1","mt-1","me-sm-2",3,"queryParams","routerLink"],["data-test-id","dossier-section-button","type","button","routerLinkActive","btn-primary",1,"btn","btn-outline-secondary"]],template:function(i,s){i&1&&(g(0),d(1,"async"),g(2),d(3,"async"),g(4),d(5,"async"),r(6,"div",1),c(7,Dt,1,0,"bkd-spinner"),d(8,"async"),c(9,Lt,9,11),a()),i&2&&(y(m(1,1,s.state.profile$)),n(2),y(m(3,4,s.state.currentDossier$)),n(2),y(m(5,7,s.dossierGradesService.testReports$)),n(3),_(m(8,10,s.state.loading$)?7:9))},dependencies:[He,Pe,ye,Se,ge,ee,w,M],encapsulation:2,changeDetection:0})}}return e})();var Li={path:"student/:id",children:[{path:"",component:qe,children:[{path:"addresses",component:Ne},{path:"absences",component:Ge},{path:"grades",component:Oe}]},{path:"absences/confirm",component:$e}]};export{Li as a}; diff --git a/public/apps/webapp-schulverwaltung/chunk-24V6FPDD.js b/public/apps/webapp-schulverwaltung/chunk-6WAVBXLP.js similarity index 84% rename from public/apps/webapp-schulverwaltung/chunk-24V6FPDD.js rename to public/apps/webapp-schulverwaltung/chunk-6WAVBXLP.js index edffa8d8..fa5baa4a 100644 --- a/public/apps/webapp-schulverwaltung/chunk-24V6FPDD.js +++ b/public/apps/webapp-schulverwaltung/chunk-6WAVBXLP.js @@ -1,2 +1,2 @@ -import{a as ct}from"./chunk-ZCHQQKGF.js";import{a as lt,b as pt}from"./chunk-QB4DIFWS.js";import{a as Ai}from"./chunk-YQAWVQ54.js";import{a as It}from"./chunk-THL2WTJD.js";import{e as Vi}from"./chunk-5WNFCBTP.js";import{a as Et,b as ki,c as Pi,d as Mi,e as Oi,f as st,g as at,h as $i,i as Gi,j as Li,k as Di,l as Fi,m as Be,o as Ri,p as he,r as je,s as Bi,u as ji,v as dt}from"./chunk-LASWC23V.js";import{e as xi}from"./chunk-746ASKQ4.js";import{b as rt}from"./chunk-DTTSX64G.js";import{a as yi}from"./chunk-Y4QYVF5K.js";import{a as Hi}from"./chunk-BIDSHCYH.js";import{a as mt,c as Ni}from"./chunk-4RZQAAPF.js";import{a as Ei,b as Ii}from"./chunk-Z4YBXGVO.js";import{a as bi,d as ot}from"./chunk-3L4RH6QP.js";import{a as Ti,d as wi}from"./chunk-DTYYCJHM.js";import{L as Si,U as Ve,p as _i}from"./chunk-SRCW6BUG.js";import{a as Re,c as Ci,l as xe}from"./chunk-GOGVGWFJ.js";import{a as nt,b as be}from"./chunk-OSOXMODN.js";import{a as it,b as ue}from"./chunk-PSYDBHTH.js";import{a as ei,b as se,h as pi,i as ci,k as mi,l as ui,r as et,w as me}from"./chunk-W4U7QKJF.js";import{a as tt}from"./chunk-AVBHFGIF.js";import{$ as At,$a as a,$b as pe,Ab as R,Ad as De,B as Ft,Bb as A,Bd as li,C as Rt,Cb as O,D as Bt,Db as ne,Ea as bt,Eb as Oe,F as ae,Fa as Pe,Fb as D,Ga as _,Gb as wt,H as Z,Hd as hi,Ia as Yt,Id as gi,J as qe,Ja as Kt,Jb as l,K as jt,Kb as c,Kd as fi,Lb as F,M as J,Md as vi,Na as T,O as Vt,Ob as Qt,Od as X,P as M,Pd as I,Qa as m,R as Ce,Ra as de,Rd as Fe,Sb as z,Tb as Xt,Va as y,X as oe,Xa as Me,Ya as H,Za as N,_ as $,_a as s,a as L,ab as x,b as j,ba as Ht,ca as Nt,cc as Y,cd as ce,da as ke,dc as $e,ea as w,eb as G,f as ie,fa as E,fd as Ke,g as q,gb as b,h as xt,ha as Ut,hb as u,hd as Le,ib as Zt,id as Ze,jb as Jt,jd as ti,ka as Wt,kb as le,l as U,lb as Tt,lc as Ye,m as Dt,ma as ee,md as ii,n as S,nd as ni,o as W,od as Je,pa as zt,pd as ri,qa as V,qb as Se,ra as qt,rb as p,rd as si,sb as f,sd as ai,tb as v,ub as Ue,w as ze,wa as _e,wc as re,wd as Qe,x as fe,xa as r,xb as we,xc as ye,xd as Xe,ya as C,yb as Ee,yc as Ge,yd as oi,zb as Ie,zc as Q,zd as di}from"./chunk-2W7IS4PN.js";var zn=t=>[t,"tests"];function qn(t,o){if(t&1&&(s(0,"span"),p(1),l(2,"date"),x(3,"wbr"),p(4),l(5,"date"),a()),t&2){let e=u();r(),v("",F(2,2,e.event().dateFrom,"dd.MM.yyyy"),"\u2013"),r(3),f(F(5,5,e.event().dateTo,"dd.MM.yyyy"))}}function Yn(t,o){if(t&1&&(s(0,"a",6)(1,"i",7),p(2,"arrow_right_alt"),a(),s(3,"span",8),p(4),a()()),t&2){let e=u(2);m("routerLink",D(2,zn,e.event().id)),r(4),f(e.event().evaluationText)}}function Kn(t,o){if(t&1&&(s(0,"a",6)(1,"i",7),p(2,"arrow_right_alt"),a(),s(3,"span",8),p(4),a()()),t&2){let e=u(2);m("routerLink",e.event().evaluationLink),r(4),v("",e.event().evaluationText," ")}}function Zn(t,o){if(t&1&&(s(0,"div",5),T(1,Yn,5,4,"a",6)(2,Kn,5,2,"a",6),a()),t&2){let e=u();r(),y(e.event().evaluationLink?-1:1),r(),y(e.event().evaluationLink?2:-1)}}var Ui=(()=>{class t{constructor(){this.event=V.required(),this.withRatings=V(!0),this.link=z(()=>wi(this.event().detailLink))}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=_({type:t,selectors:[["bkd-events-list-entry"]],inputs:{event:[1,"event"],withRatings:[1,"withRatings"]},decls:11,vars:9,consts:[[1,"designation"],[3,"routerLink","queryParams"],[1,"date"],[1,"registrations"],[1,"registrations-label"],[1,"rating"],[1,"d-flex",3,"routerLink"],[1,"material-icons"],[1,"ps-1"]],template:function(i,n){i&1&&(s(0,"div",0)(1,"a",1),p(2),a()(),s(3,"div",2),T(4,qn,6,8,"span"),a(),s(5,"div",3),p(6),s(7,"span",4),p(8),l(9,"translate"),a()(),T(10,Zn,3,2,"div",5)),i&2&&(r(),m("routerLink",n.link().link)("queryParams",n.link().params),r(),f(n.event().designation),r(2),y(n.event().dateFrom&&n.event().dateTo?4:-1),r(2),v(" ",n.event().studentCount," "),r(2),f(c(9,7,n.event().studentCount===1?"events.registration":"events.registrations")),r(2),y(n.withRatings()&&n.event().evaluationText?10:-1))},dependencies:[Q,$e,I],styles:['[_nghost-%COMP%]{display:grid;padding:1rem;border-bottom:1px solid #dee2e6;grid-template-areas:"designation date registrations rating";grid-template-columns:4fr 2fr 2fr 3fr}.designation[_ngcontent-%COMP%]{grid-area:designation;padding-right:1rem}.date[_ngcontent-%COMP%]{grid-area:date;padding-right:1rem}.registrations[_ngcontent-%COMP%]{grid-area:registrations;padding-right:1rem}.rating[_ngcontent-%COMP%]{grid-area:rating}.rating[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{text-decoration:none}.rating[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{text-decoration:underline}.rating[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:hover{text-decoration-color:#ea161f}.registrations-label[_ngcontent-%COMP%]{display:none}@media (max-width: 575.98px){.registrations-label[_ngcontent-%COMP%]{display:inline}.designation[_ngcontent-%COMP%], .date[_ngcontent-%COMP%], .registrations[_ngcontent-%COMP%]{padding-right:0}[_nghost-%COMP%]{grid-template-areas:"designation" "date" "registrations" "rating";grid-template-columns:1fr}}']})}}return t})();var Jn=10300,Qn=10260,Xn=10250,er=14030,tr=10350;function ut(t){let{HasEvaluationStarted:o,EvaluationUntil:e,HasTestGrading:i}=t.EvaluationStatusRef;if(o===!0&&(t.StatusId===er||t.StatusId===tr))return{value:te.Rating};if(o===!0&&i===!1){if(e)return{value:te.RatingUntil};if(t.StatusId===Jn)return{value:te.IntermediateRating}}return o===!1&&i===!0&&t.StatusId!==Qn&&t.StatusId!==Xn?{value:te.Tests}:o===!0&&i===!0?e?{value:te.Tests,label:te.RatingUntil}:{value:te.Tests,label:te.IntermediateRating}:null}function Wi(t){return t.EvaluationStatusRef.HasEvaluationStarted===!0}function zi(t){return t.EvaluationStatusRef.HasReviewOfEvaluationStarted===!0&&!!t.FinalGrades?.length}function ht(t){let o=t.Classes?t.Classes.map(e=>e.Number).join(", "):null;return o?t.Designation+", "+o:t.Designation}function qi(t,o){return t?(o.Leadership??"").split(",").some(e=>e.trim()===t.fullname):!1}function Yi(t,o){let e=new URLSearchParams({returnlink:o});return o.startsWith("/dashboard")?`/dashboard/students/${t}?${e}`:o.startsWith("/events/current")?`/events/current/${t}?${e}`:`/events/${t}/students?${e}`}function Ki(t){let o=t.ParticipatingStudents?.map(e=>({id:e.Id,name:e.FullName,email:e.DisplayEmail??void 0}))??[];return{eventId:t.Id,eventDesignation:t.Designation,studyClasses:(t.Classes??[]).map(e=>e.Designation).sort(),entries:o}}function kt(t,o){return j(L({},t),{entries:t.entries.map(e=>{let i=o.find(d=>d.StudentId===e.id),n=i?[i.CompanyName,i.CompanyNameAddition].filter(Boolean).join(" \u2013 "):void 0;return j(L({},e),{company:n})})})}function Pt(t,o,e,{emailFallback:i}={}){return{eventId:t,eventDesignation:e[0]?.EventDesignation??"",studyClasses:[],entries:o.map(n=>({id:n.Id,subscriptionId:e.find(d=>d.PersonId===n.Id)?.Id,name:n.FullName,email:(i?n.DisplayEmail??n.Email:n.DisplayEmail)??void 0,status:e.find(d=>d.PersonId===n.Id)?.Status}))}}function Zi(t,o){return j(L({},t),{entries:t.entries.map(e=>j(L({},e),{studyClass:o.find(i=>i.StudentRef.Id===e.id)?.StudyClassNumber}))})}var te=function(t){return t.Rating="rating",t.RatingUntil="rating-until",t.IntermediateRating="intermediate-rating",t.Tests="add-tests",t}(te||{}),Ne=(()=>{class t{constructor(e,i,n,d,h,g,P,B,ge){this.coursesRestService=e,this.eventsRestService=i,this.studyClassRestService=n,this.subscriptionsRestService=d,this.loadingService=h,this.storageService=g,this.translate=P,this.router=B,this.settings=ge,this.loading$=this.loadingService.loading$,this.searchFields$=new q(["designation"]),this.searchSubject$=new q(""),this.search$=this.searchSubject$.asObservable(),this.roles$=new q(null),this.isClassTeacher$=this.roles$.pipe(S(ve=>yi(ve,"ClassTeacherRole")),J(1)),this.withStudyCourses$=new q(!1),this.unratedCourses$=this.roles$.pipe(M(this.loadUnratedCourses.bind(this)),J(1)),this.studyCourses$=this.withStudyCourses$.pipe(M(this.loadStudyCourses.bind(this)),J(1)),this.formativeAssessments$=this.isClassTeacher$.pipe(M(this.loadFormativeAssessments.bind(this)),J(1)),this.studyClasses$=this.isClassTeacher$.pipe(M(this.loadStudyClasses.bind(this)),J(1)),this.events$=this.getEvents().pipe(J(1)),this.filteredEvents$=W([this.events$,this.searchFields$,this.search$]).pipe(S(xe(pt)))}setSearch(e){this.searchSubject$.next(e)}setRoles(e){this.roles$.next(e)}setWithStudyCourses(e){this.withStudyCourses$.next(e)}setSearchFields(e){this.searchFields$.next(e)}getEntries(e=!1){return this.filteredEvents$.pipe(S(i=>e?i.filter(n=>n.evaluationText):i))}getEvents(){return this.loadingService.load(W([this.unratedCourses$,this.studyCourses$,this.formativeAssessments$,this.studyClasses$]),{stopOnFirstValue:!0}).pipe(S(xe(this.createAndSortEvents.bind(this))))}loadUnratedCourses(e){return this.coursesRestService.getExpandedCourses(e).pipe(S(i=>i.filter(n=>!zi(n))))}loadStudyCourses(e){if(!e)return U([]);let i=this.storageService.getPayload();return this.eventsRestService.getStudyCourseEvents().pipe(S(n=>n.filter(d=>qi(i,d))),M(n=>this.subscriptionsRestService.getSubscriptionCountsByEvents(n.map(d=>d.Id)).pipe(S(d=>n.map(h=>j(L({},h),{StudentCount:d[h.Id]??0}))))))}loadFormativeAssessments(e){return e?this.studyClassRestService.getActiveFormativeAssessments():U([])}loadStudyClasses(e){return e?this.studyClassRestService.getActive():U([])}createAndSortEvents(e,i,n,d){let h=d.filter(g=>!n.map(P=>P.Id).includes(g.Id));return[...this.createFromCourses(e),...this.createFromStudyCourses(i),...this.createFromAssessments(n),...this.createFromStudyClasses(h)].sort((g,P)=>g.designation.localeCompare(P.designation))}createFromCourses(e){return e.map(i=>{let n=ut(i);return{id:i.Id,designation:ht(i),detailLink:this.buildStudentsLink(i.Id),studentCount:i.AttendanceRef.StudentCount||0,dateFrom:i.DateFrom,dateTo:i.DateTo,state:n?.value||null,evaluationText:this.getEvaluationText(n,i.EvaluationStatusRef.EvaluationUntil),evaluationLink:n?.value&&n?.value!==te.Tests?this.buildEvaluationLink(i.Id):null}})}createFromStudyCourses(e){return e.map(i=>({id:i.Id,designation:i.Designation,detailLink:this.buildStudentsLink(i.Id),studentCount:i.StudentCount,state:null}))}createFromAssessments(e){return this.createFromStudyClasses(e).map(n=>j(L({},n),{state:te.Rating,evaluationText:this.translate.instant("events.state.rating"),evaluationLink:this.buildEvaluationLink(n.id)}))}createFromStudyClasses(e){return e.map(i=>({id:i.Id,designation:i.Number,detailLink:this.buildStudentsLink(i.Id),studentCount:i.StudentCount,state:null}))}getEvaluationText(e,i){let n=e?.label||e?.value;return n?this.translate.instant(`events.state.${n}`)+(n===te.RatingUntil?` ${i?_i(i,"dd.MM.yyyy"):""}`:""):""}buildStudentsLink(e){return Yi(e,this.router.url)}buildEvaluationLink(e){return(this.settings.eventlist.evaluation??"").replace(":id",String(e))}static{this.\u0275fac=function(i){return new(i||t)($(he),$(ct),$(Ai),$(je),$(be),$(Fe),$(X),$(Ge),$(ce))}}static{this.\u0275prov=oe({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();var rr=(t,o)=>o.id,sr=()=>[];function ar(t,o){t&1&&x(0,"bkd-spinner")}function or(t,o){t&1&&(s(0,"div",7),p(1),l(2,"translate"),a()),t&2&&(r(),v(" ",c(2,1,"events.rating")," "))}function dr(t,o){if(t&1&&x(0,"bkd-events-list-entry",8),t&2){let e=o.$implicit,i=u(3);m("event",e)("withRatings",i.withRatings)}}function lr(t,o){if(t&1&&(s(0,"div",3)(1,"div",4),p(2),l(3,"translate"),a(),s(4,"div",5),p(5),l(6,"translate"),a(),s(7,"div",6),p(8),l(9,"translate"),a(),T(10,or,3,3,"div",7),a(),H(11,dr,1,2,"bkd-events-list-entry",8,rr)),t&2){let e=u(2),i=O(0);r(2),f(c(3,4,"events.designation")),r(3),f(c(6,6,"events.date")),r(3),v(" ",c(9,8,"events.registrations")," "),r(2),y(e.withRatings?10:-1),r(),N(i)}}function pr(t,o){t&1&&(s(0,"p",2),p(1),l(2,"translate"),a()),t&2&&(r(),f(c(2,1,"events.no-events")))}function cr(t,o){if(t&1&&T(0,lr,13,10)(1,pr,3,3,"p",2),t&2){u();let e=O(0);y(e.length>0?0:1)}}var Xi=["designation"],mr=[...Xi,"evaluationText"],ft=(()=>{class t{constructor(e,i){this.state=e,this.storage=i,this.withStudyCourses=!1,this.withRatings=!0,this.state.setRoles(this.storage.getPayload()?.roles??null)}ngOnChanges(e){e.withStudyCourses&&this.state.setWithStudyCourses(e.withStudyCourses.currentValue),e.withRatings&&this.state.setSearchFields(e.withRatings.currentValue?mr:Xi)}static{this.\u0275fac=function(i){return new(i||t)(C(Ne),C(Fe))}}static{this.\u0275cmp=_({type:t,selectors:[["bkd-events-list"]],inputs:{withStudyCourses:"withStudyCourses",withRatings:"withRatings"},features:[ke],decls:10,vars:17,consts:[[1,"bkd-container"],[1,"d-flex","search",3,"valueChange","value","placeholder","label","disabled"],[1,"mt-3"],[1,"event-header"],[1,"designation"],[1,"date"],[1,"registrations"],[1,"rating"],[3,"event","withRatings"]],template:function(i,n){if(i&1){let d=G();R(0),l(1,"async"),s(2,"div",0)(3,"bkd-resettable-input",1),l(4,"async"),l(5,"translate"),l(6,"translate"),b("valueChange",function(g){return w(d),E(n.state.setSearch(g))}),a(),T(7,ar,1,0,"bkd-spinner"),l(8,"async"),T(9,cr,2,1),a()}if(i&2){let d,h=A((d=c(1,5,n.state.getEntries(n.withRatings)))!==null&&d!==void 0?d:Oe(16,sr));r(3),m("value",c(4,8,n.state.search$))("placeholder",c(5,10,"events.search-by"))("label",c(6,12,"events.search"))("disabled",!h),r(4),y(c(8,14,n.state.loading$)?7:9)}},dependencies:[lt,ue,Y,I,Ui],styles:['.search[_ngcontent-%COMP%]{max-width:500px}.event-header[_ngcontent-%COMP%]{display:grid;padding:1rem;border-bottom:2px solid #dee2e6;grid-template-areas:"designation date registrations rating";grid-template-columns:4fr 2fr 2fr 3fr}@media (max-width: 575.98px){.event-header[_ngcontent-%COMP%]{display:none}}']})}}return t})();var en=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=_({type:t,selectors:[["bkd-events-current-list"]],decls:4,vars:5,consts:[[3,"withStudyCourses","withRatings"]],template:function(i,n){i&1&&(s(0,"h1"),p(1),l(2,"translate"),a(),x(3,"bkd-events-list",0)),i&2&&(r(),f(c(2,3,"events.current.title")),r(2),m("withStudyCourses",!0)("withRatings",!1))},dependencies:[ft,I],encapsulation:2,changeDetection:0})}}return t})();var tn=(()=>{class t{constructor(){}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=_({type:t,selectors:[["bkd-events-current"]],decls:1,vars:0,template:function(i,n){i&1&&x(0,"router-outlet")},dependencies:[ye],encapsulation:2})}}return t})();var nn=(()=>{class t{constructor(){this.entry=V.required(),this.multipleStudyClasses=V(!1),this.returnLink=V(null),this.link=z(()=>["student",this.entry().id,"addresses"]),this.linkParams=z(()=>{let e=this.returnLink();return e?{returnparams:new URLSearchParams({returnlink:e}).toString()}:{}})}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=_({type:t,selectors:[["bkd-events-students-course-entry"]],inputs:{entry:[1,"entry"],multipleStudyClasses:[1,"multipleStudyClasses"],returnLink:[1,"returnLink"]},decls:7,vars:10,consts:[[1,"avatar","large",3,"studentId","link","linkParams"],[1,"name",3,"title","routerLink","queryParams"],[1,"study-class"],[1,"company",3,"title"]],template:function(i,n){i&1&&(x(0,"bkd-avatar",0),s(1,"a",1),p(2),a(),s(3,"div",2),p(4),a(),s(5,"div",3),p(6),a()),i&2&&(m("studentId",n.entry().id)("link",n.link())("linkParams",n.linkParams()),r(),m("title",n.entry().name)("routerLink",n.link())("queryParams",n.linkParams()),r(),f(n.entry().name),r(2),v(" ",n.multipleStudyClasses()?n.entry().studyClass:"",` +import{a as ct}from"./chunk-C7RLEXTD.js";import{a as lt,b as pt}from"./chunk-QB4DIFWS.js";import{a as Ai}from"./chunk-IGEPJF2N.js";import{a as It}from"./chunk-5ZBE3UL7.js";import{e as Vi}from"./chunk-4UVNKLEN.js";import{a as Et,b as ki,c as Pi,d as Mi,e as Oi,f as st,g as at,h as $i,i as Gi,j as Li,k as Di,l as Fi,m as Be,o as Ri,p as he,r as je,s as Bi,u as ji,v as dt}from"./chunk-PXVJ3QLD.js";import{e as xi}from"./chunk-CKFTESOV.js";import{b as rt}from"./chunk-DTTSX64G.js";import{a as yi}from"./chunk-Y4QYVF5K.js";import{a as Hi}from"./chunk-A3AAQWNQ.js";import{a as mt,c as Ni}from"./chunk-FH4OOWQM.js";import{a as Ei,b as Ii}from"./chunk-Z4YBXGVO.js";import{a as bi,d as ot}from"./chunk-3L4RH6QP.js";import{a as Ti,d as wi}from"./chunk-DTYYCJHM.js";import{G as Ve,x as Si}from"./chunk-UYCIECIQ.js";import{a as Re,c as Ci,d as xe}from"./chunk-G6EB45SC.js";import{o as _i}from"./chunk-WCDEMEW2.js";import{i as nt,j as be}from"./chunk-XFA6UPZX.js";import{a as it,b as ue}from"./chunk-PSYDBHTH.js";import{a as ei,b as se,h as pi,i as ci,k as mi,l as ui,r as et,w as me}from"./chunk-W4U7QKJF.js";import{a as tt}from"./chunk-AVBHFGIF.js";import{$ as At,$a as a,$b as pe,Ab as R,Ad as De,B as Ft,Bb as A,Bd as li,C as Rt,Cb as O,D as Bt,Db as ne,Ea as bt,Eb as Oe,F as ae,Fa as Pe,Fb as D,Ga as _,Gb as wt,H as Z,Hd as hi,Ia as Yt,Id as gi,J as qe,Ja as Kt,Jb as l,K as jt,Kb as c,Kd as fi,Lb as F,M as J,Md as vi,Na as T,O as Vt,Ob as Qt,Od as X,P as M,Pd as I,Qa as m,R as Ce,Ra as de,Rd as Fe,Sb as z,Tb as Xt,Va as y,X as oe,Xa as Me,Ya as H,Za as N,_ as $,_a as s,a as L,ab as x,b as j,ba as Ht,ca as Nt,cc as Y,cd as ce,da as ke,dc as $e,ea as w,eb as G,f as ie,fa as E,fd as Ke,g as q,gb as b,h as xt,ha as Ut,hb as u,hd as Le,ib as Zt,id as Ze,jb as Jt,jd as ti,ka as Wt,kb as le,l as U,lb as Tt,lc as Ye,m as Dt,ma as ee,md as ii,n as S,nd as ni,o as W,od as Je,pa as zt,pd as ri,qa as V,qb as Se,ra as qt,rb as p,rd as si,sb as f,sd as ai,tb as v,ub as Ue,w as ze,wa as _e,wc as re,wd as Qe,x as fe,xa as r,xb as we,xc as ye,xd as Xe,ya as C,yb as Ee,yc as Ge,yd as oi,zb as Ie,zc as Q,zd as di}from"./chunk-2W7IS4PN.js";var zn=t=>[t,"tests"];function qn(t,o){if(t&1&&(s(0,"span"),p(1),l(2,"date"),x(3,"wbr"),p(4),l(5,"date"),a()),t&2){let e=u();r(),v("",F(2,2,e.event().dateFrom,"dd.MM.yyyy"),"\u2013"),r(3),f(F(5,5,e.event().dateTo,"dd.MM.yyyy"))}}function Yn(t,o){if(t&1&&(s(0,"a",6)(1,"i",7),p(2,"arrow_right_alt"),a(),s(3,"span",8),p(4),a()()),t&2){let e=u(2);m("routerLink",D(2,zn,e.event().id)),r(4),f(e.event().evaluationText)}}function Kn(t,o){if(t&1&&(s(0,"a",6)(1,"i",7),p(2,"arrow_right_alt"),a(),s(3,"span",8),p(4),a()()),t&2){let e=u(2);m("routerLink",e.event().evaluationLink),r(4),v("",e.event().evaluationText," ")}}function Zn(t,o){if(t&1&&(s(0,"div",5),T(1,Yn,5,4,"a",6)(2,Kn,5,2,"a",6),a()),t&2){let e=u();r(),y(e.event().evaluationLink?-1:1),r(),y(e.event().evaluationLink?2:-1)}}var Ui=(()=>{class t{constructor(){this.event=V.required(),this.withRatings=V(!0),this.link=z(()=>wi(this.event().detailLink))}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=_({type:t,selectors:[["bkd-events-list-entry"]],inputs:{event:[1,"event"],withRatings:[1,"withRatings"]},decls:11,vars:9,consts:[[1,"designation"],[3,"routerLink","queryParams"],[1,"date"],[1,"registrations"],[1,"registrations-label"],[1,"rating"],[1,"d-flex",3,"routerLink"],[1,"material-icons"],[1,"ps-1"]],template:function(i,n){i&1&&(s(0,"div",0)(1,"a",1),p(2),a()(),s(3,"div",2),T(4,qn,6,8,"span"),a(),s(5,"div",3),p(6),s(7,"span",4),p(8),l(9,"translate"),a()(),T(10,Zn,3,2,"div",5)),i&2&&(r(),m("routerLink",n.link().link)("queryParams",n.link().params),r(),f(n.event().designation),r(2),y(n.event().dateFrom&&n.event().dateTo?4:-1),r(2),v(" ",n.event().studentCount," "),r(2),f(c(9,7,n.event().studentCount===1?"events.registration":"events.registrations")),r(2),y(n.withRatings()&&n.event().evaluationText?10:-1))},dependencies:[Q,$e,I],styles:['[_nghost-%COMP%]{display:grid;padding:1rem;border-bottom:1px solid #dee2e6;grid-template-areas:"designation date registrations rating";grid-template-columns:4fr 2fr 2fr 3fr}.designation[_ngcontent-%COMP%]{grid-area:designation;padding-right:1rem}.date[_ngcontent-%COMP%]{grid-area:date;padding-right:1rem}.registrations[_ngcontent-%COMP%]{grid-area:registrations;padding-right:1rem}.rating[_ngcontent-%COMP%]{grid-area:rating}.rating[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{text-decoration:none}.rating[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{text-decoration:underline}.rating[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:hover{text-decoration-color:#ea161f}.registrations-label[_ngcontent-%COMP%]{display:none}@media (max-width: 575.98px){.registrations-label[_ngcontent-%COMP%]{display:inline}.designation[_ngcontent-%COMP%], .date[_ngcontent-%COMP%], .registrations[_ngcontent-%COMP%]{padding-right:0}[_nghost-%COMP%]{grid-template-areas:"designation" "date" "registrations" "rating";grid-template-columns:1fr}}']})}}return t})();var Jn=10300,Qn=10260,Xn=10250,er=14030,tr=10350;function ut(t){let{HasEvaluationStarted:o,EvaluationUntil:e,HasTestGrading:i}=t.EvaluationStatusRef;if(o===!0&&(t.StatusId===er||t.StatusId===tr))return{value:te.Rating};if(o===!0&&i===!1){if(e)return{value:te.RatingUntil};if(t.StatusId===Jn)return{value:te.IntermediateRating}}return o===!1&&i===!0&&t.StatusId!==Qn&&t.StatusId!==Xn?{value:te.Tests}:o===!0&&i===!0?e?{value:te.Tests,label:te.RatingUntil}:{value:te.Tests,label:te.IntermediateRating}:null}function Wi(t){return t.EvaluationStatusRef.HasEvaluationStarted===!0}function zi(t){return t.EvaluationStatusRef.HasReviewOfEvaluationStarted===!0&&!!t.FinalGrades?.length}function ht(t){let o=t.Classes?t.Classes.map(e=>e.Number).join(", "):null;return o?t.Designation+", "+o:t.Designation}function qi(t,o){return t?(o.Leadership??"").split(",").some(e=>e.trim()===t.fullname):!1}function Yi(t,o){let e=new URLSearchParams({returnlink:o});return o.startsWith("/dashboard")?`/dashboard/students/${t}?${e}`:o.startsWith("/events/current")?`/events/current/${t}?${e}`:`/events/${t}/students?${e}`}function Ki(t){let o=t.ParticipatingStudents?.map(e=>({id:e.Id,name:e.FullName,email:e.DisplayEmail??void 0}))??[];return{eventId:t.Id,eventDesignation:t.Designation,studyClasses:(t.Classes??[]).map(e=>e.Designation).sort(),entries:o}}function kt(t,o){return j(L({},t),{entries:t.entries.map(e=>{let i=o.find(d=>d.StudentId===e.id),n=i?[i.CompanyName,i.CompanyNameAddition].filter(Boolean).join(" \u2013 "):void 0;return j(L({},e),{company:n})})})}function Pt(t,o,e,{emailFallback:i}={}){return{eventId:t,eventDesignation:e[0]?.EventDesignation??"",studyClasses:[],entries:o.map(n=>({id:n.Id,subscriptionId:e.find(d=>d.PersonId===n.Id)?.Id,name:n.FullName,email:(i?n.DisplayEmail??n.Email:n.DisplayEmail)??void 0,status:e.find(d=>d.PersonId===n.Id)?.Status}))}}function Zi(t,o){return j(L({},t),{entries:t.entries.map(e=>j(L({},e),{studyClass:o.find(i=>i.StudentRef.Id===e.id)?.StudyClassNumber}))})}var te=function(t){return t.Rating="rating",t.RatingUntil="rating-until",t.IntermediateRating="intermediate-rating",t.Tests="add-tests",t}(te||{}),Ne=(()=>{class t{constructor(e,i,n,d,h,g,P,B,ge){this.coursesRestService=e,this.eventsRestService=i,this.studyClassRestService=n,this.subscriptionsRestService=d,this.loadingService=h,this.storageService=g,this.translate=P,this.router=B,this.settings=ge,this.loading$=this.loadingService.loading$,this.searchFields$=new q(["designation"]),this.searchSubject$=new q(""),this.search$=this.searchSubject$.asObservable(),this.roles$=new q(null),this.isClassTeacher$=this.roles$.pipe(S(ve=>yi(ve,"ClassTeacherRole")),J(1)),this.withStudyCourses$=new q(!1),this.unratedCourses$=this.roles$.pipe(M(this.loadUnratedCourses.bind(this)),J(1)),this.studyCourses$=this.withStudyCourses$.pipe(M(this.loadStudyCourses.bind(this)),J(1)),this.formativeAssessments$=this.isClassTeacher$.pipe(M(this.loadFormativeAssessments.bind(this)),J(1)),this.studyClasses$=this.isClassTeacher$.pipe(M(this.loadStudyClasses.bind(this)),J(1)),this.events$=this.getEvents().pipe(J(1)),this.filteredEvents$=W([this.events$,this.searchFields$,this.search$]).pipe(S(xe(pt)))}setSearch(e){this.searchSubject$.next(e)}setRoles(e){this.roles$.next(e)}setWithStudyCourses(e){this.withStudyCourses$.next(e)}setSearchFields(e){this.searchFields$.next(e)}getEntries(e=!1){return this.filteredEvents$.pipe(S(i=>e?i.filter(n=>n.evaluationText):i))}getEvents(){return this.loadingService.load(W([this.unratedCourses$,this.studyCourses$,this.formativeAssessments$,this.studyClasses$]),{stopOnFirstValue:!0}).pipe(S(xe(this.createAndSortEvents.bind(this))))}loadUnratedCourses(e){return this.coursesRestService.getExpandedCourses(e).pipe(S(i=>i.filter(n=>!zi(n))))}loadStudyCourses(e){if(!e)return U([]);let i=this.storageService.getPayload();return this.eventsRestService.getStudyCourseEvents().pipe(S(n=>n.filter(d=>qi(i,d))),M(n=>this.subscriptionsRestService.getSubscriptionCountsByEvents(n.map(d=>d.Id)).pipe(S(d=>n.map(h=>j(L({},h),{StudentCount:d[h.Id]??0}))))))}loadFormativeAssessments(e){return e?this.studyClassRestService.getActiveFormativeAssessments():U([])}loadStudyClasses(e){return e?this.studyClassRestService.getActive():U([])}createAndSortEvents(e,i,n,d){let h=d.filter(g=>!n.map(P=>P.Id).includes(g.Id));return[...this.createFromCourses(e),...this.createFromStudyCourses(i),...this.createFromAssessments(n),...this.createFromStudyClasses(h)].sort((g,P)=>g.designation.localeCompare(P.designation))}createFromCourses(e){return e.map(i=>{let n=ut(i);return{id:i.Id,designation:ht(i),detailLink:this.buildStudentsLink(i.Id),studentCount:i.AttendanceRef.StudentCount||0,dateFrom:i.DateFrom,dateTo:i.DateTo,state:n?.value||null,evaluationText:this.getEvaluationText(n,i.EvaluationStatusRef.EvaluationUntil),evaluationLink:n?.value&&n?.value!==te.Tests?this.buildEvaluationLink(i.Id):null}})}createFromStudyCourses(e){return e.map(i=>({id:i.Id,designation:i.Designation,detailLink:this.buildStudentsLink(i.Id),studentCount:i.StudentCount,state:null}))}createFromAssessments(e){return this.createFromStudyClasses(e).map(n=>j(L({},n),{state:te.Rating,evaluationText:this.translate.instant("events.state.rating"),evaluationLink:this.buildEvaluationLink(n.id)}))}createFromStudyClasses(e){return e.map(i=>({id:i.Id,designation:i.Number,detailLink:this.buildStudentsLink(i.Id),studentCount:i.StudentCount,state:null}))}getEvaluationText(e,i){let n=e?.label||e?.value;return n?this.translate.instant(`events.state.${n}`)+(n===te.RatingUntil?` ${i?_i(i,"dd.MM.yyyy"):""}`:""):""}buildStudentsLink(e){return Yi(e,this.router.url)}buildEvaluationLink(e){return(this.settings.eventlist.evaluation??"").replace(":id",String(e))}static{this.\u0275fac=function(i){return new(i||t)($(he),$(ct),$(Ai),$(je),$(be),$(Fe),$(X),$(Ge),$(ce))}}static{this.\u0275prov=oe({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();var rr=(t,o)=>o.id,sr=()=>[];function ar(t,o){t&1&&x(0,"bkd-spinner")}function or(t,o){t&1&&(s(0,"div",7),p(1),l(2,"translate"),a()),t&2&&(r(),v(" ",c(2,1,"events.rating")," "))}function dr(t,o){if(t&1&&x(0,"bkd-events-list-entry",8),t&2){let e=o.$implicit,i=u(3);m("event",e)("withRatings",i.withRatings)}}function lr(t,o){if(t&1&&(s(0,"div",3)(1,"div",4),p(2),l(3,"translate"),a(),s(4,"div",5),p(5),l(6,"translate"),a(),s(7,"div",6),p(8),l(9,"translate"),a(),T(10,or,3,3,"div",7),a(),H(11,dr,1,2,"bkd-events-list-entry",8,rr)),t&2){let e=u(2),i=O(0);r(2),f(c(3,4,"events.designation")),r(3),f(c(6,6,"events.date")),r(3),v(" ",c(9,8,"events.registrations")," "),r(2),y(e.withRatings?10:-1),r(),N(i)}}function pr(t,o){t&1&&(s(0,"p",2),p(1),l(2,"translate"),a()),t&2&&(r(),f(c(2,1,"events.no-events")))}function cr(t,o){if(t&1&&T(0,lr,13,10)(1,pr,3,3,"p",2),t&2){u();let e=O(0);y(e.length>0?0:1)}}var Xi=["designation"],mr=[...Xi,"evaluationText"],ft=(()=>{class t{constructor(e,i){this.state=e,this.storage=i,this.withStudyCourses=!1,this.withRatings=!0,this.state.setRoles(this.storage.getPayload()?.roles??null)}ngOnChanges(e){e.withStudyCourses&&this.state.setWithStudyCourses(e.withStudyCourses.currentValue),e.withRatings&&this.state.setSearchFields(e.withRatings.currentValue?mr:Xi)}static{this.\u0275fac=function(i){return new(i||t)(C(Ne),C(Fe))}}static{this.\u0275cmp=_({type:t,selectors:[["bkd-events-list"]],inputs:{withStudyCourses:"withStudyCourses",withRatings:"withRatings"},features:[ke],decls:10,vars:17,consts:[[1,"bkd-container"],[1,"d-flex","search",3,"valueChange","value","placeholder","label","disabled"],[1,"mt-3"],[1,"event-header"],[1,"designation"],[1,"date"],[1,"registrations"],[1,"rating"],[3,"event","withRatings"]],template:function(i,n){if(i&1){let d=G();R(0),l(1,"async"),s(2,"div",0)(3,"bkd-resettable-input",1),l(4,"async"),l(5,"translate"),l(6,"translate"),b("valueChange",function(g){return w(d),E(n.state.setSearch(g))}),a(),T(7,ar,1,0,"bkd-spinner"),l(8,"async"),T(9,cr,2,1),a()}if(i&2){let d,h=A((d=c(1,5,n.state.getEntries(n.withRatings)))!==null&&d!==void 0?d:Oe(16,sr));r(3),m("value",c(4,8,n.state.search$))("placeholder",c(5,10,"events.search-by"))("label",c(6,12,"events.search"))("disabled",!h),r(4),y(c(8,14,n.state.loading$)?7:9)}},dependencies:[lt,ue,Y,I,Ui],styles:['.search[_ngcontent-%COMP%]{max-width:500px}.event-header[_ngcontent-%COMP%]{display:grid;padding:1rem;border-bottom:2px solid #dee2e6;grid-template-areas:"designation date registrations rating";grid-template-columns:4fr 2fr 2fr 3fr}@media (max-width: 575.98px){.event-header[_ngcontent-%COMP%]{display:none}}']})}}return t})();var en=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=_({type:t,selectors:[["bkd-events-current-list"]],decls:4,vars:5,consts:[[3,"withStudyCourses","withRatings"]],template:function(i,n){i&1&&(s(0,"h1"),p(1),l(2,"translate"),a(),x(3,"bkd-events-list",0)),i&2&&(r(),f(c(2,3,"events.current.title")),r(2),m("withStudyCourses",!0)("withRatings",!1))},dependencies:[ft,I],encapsulation:2,changeDetection:0})}}return t})();var tn=(()=>{class t{constructor(){}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=_({type:t,selectors:[["bkd-events-current"]],decls:1,vars:0,template:function(i,n){i&1&&x(0,"router-outlet")},dependencies:[ye],encapsulation:2})}}return t})();var nn=(()=>{class t{constructor(){this.entry=V.required(),this.multipleStudyClasses=V(!1),this.returnLink=V(null),this.link=z(()=>["student",this.entry().id,"addresses"]),this.linkParams=z(()=>{let e=this.returnLink();return e?{returnparams:new URLSearchParams({returnlink:e}).toString()}:{}})}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=_({type:t,selectors:[["bkd-events-students-course-entry"]],inputs:{entry:[1,"entry"],multipleStudyClasses:[1,"multipleStudyClasses"],returnLink:[1,"returnLink"]},decls:7,vars:10,consts:[[1,"avatar","large",3,"studentId","link","linkParams"],[1,"name",3,"title","routerLink","queryParams"],[1,"study-class"],[1,"company",3,"title"]],template:function(i,n){i&1&&(x(0,"bkd-avatar",0),s(1,"a",1),p(2),a(),s(3,"div",2),p(4),a(),s(5,"div",3),p(6),a()),i&2&&(m("studentId",n.entry().id)("link",n.link())("linkParams",n.linkParams()),r(),m("title",n.entry().name)("routerLink",n.link())("queryParams",n.linkParams()),r(),f(n.entry().name),r(2),v(" ",n.multipleStudyClasses()?n.entry().studyClass:"",` `),r(),m("title",n.entry().company),r(),f(n.entry().company))},dependencies:[Q,Vi],styles:['[_nghost-%COMP%]{display:grid;grid-template-columns:min-content 1fr;grid-template-rows:min-content min-content 1fr;grid-template-areas:"avatar name" "avatar study-class" "avatar company";padding:2rem 1rem}.avatar[_ngcontent-%COMP%]{grid-area:avatar;margin-right:1.5rem}.name[_ngcontent-%COMP%]{grid-area:name}.study-class[_ngcontent-%COMP%]{grid-area:study-class;font-size:.875rem}.company[_ngcontent-%COMP%]{grid-area:company;align-content:end;padding-bottom:1.5rem}.name[_ngcontent-%COMP%], .company[_ngcontent-%COMP%]{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}'],changeDetection:0})}}return t})();var ur=t=>({count:t});function hr(t,o){if(t&1&&(s(0,"div",0),p(1),l(2,"translate"),a()),t&2){u();let e=O(2);r(),v(" ",F(2,1,e===1?"events-students.registration":"events-students.registrations",D(4,ur,e))," ")}}var vt=(()=>{class t{constructor(){this.title=V.required(),this.count=V(null),this.searchTerm=Pe()}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=_({type:t,selectors:[["bkd-events-students-header"]],inputs:{title:[1,"title"],count:[1,"count"],searchTerm:[1,"searchTerm"]},outputs:{searchTerm:"searchTermChange"},decls:7,vars:10,consts:[[1,"additional-info"],[1,"search",3,"valueChange","value","placeholder","label"]],template:function(i,n){if(i&1){let d=G();s(0,"h1"),p(1),a(),R(2),T(3,hr,3,6,"div",0),s(4,"bkd-resettable-input",1),l(5,"translate"),l(6,"translate"),b("valueChange",function(g){return w(d),E(n.searchTerm.set(g))}),a()}if(i&2){r(),f(n.title()),r();let d=A(n.count());r(),y(d!==null?3:-1),r(),m("value",n.searchTerm())("placeholder",c(5,6,"events-students.search-placeholder"))("label",c(6,8,"events-students.search"))}},dependencies:[I,lt],styles:["h1[_ngcontent-%COMP%]{margin-bottom:0}.search[_ngcontent-%COMP%]{margin-top:1rem;display:flex;max-width:300px}.additional-info[_ngcontent-%COMP%]{color:#adb5bd}"],changeDetection:0})}}return t})();var gr=(t,o)=>o.id;function fr(t,o){t&1&&(s(0,"p"),p(1),l(2,"translate"),a()),t&2&&(r(),f(c(2,1,"events-students.no-entries")))}function vr(t,o){if(t&1&&x(0,"bkd-events-students-course-entry",2),t&2){let e=o.$implicit,i=u();m("entry",e)("multipleStudyClasses",i.multipleStudyClasses())("returnLink",i.returnLink())}}var rn=(()=>{class t{constructor(){this.title=V.required(),this.count=V.required(),this.entries=V.required(),this.multipleStudyClasses=V(!1),this.returnLink=V(null),this.searchTerm=Pe()}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=_({type:t,selectors:[["bkd-events-students-course-list"]],inputs:{title:[1,"title"],count:[1,"count"],entries:[1,"entries"],multipleStudyClasses:[1,"multipleStudyClasses"],returnLink:[1,"returnLink"],searchTerm:[1,"searchTerm"]},outputs:{searchTerm:"searchTermChange"},decls:5,vars:4,consts:[[3,"searchTermChange","title","count","searchTerm"],[1,"list"],[3,"entry","multipleStudyClasses","returnLink"]],template:function(i,n){i&1&&(s(0,"bkd-events-students-header",0),Ie("searchTermChange",function(h){return Ee(n.searchTerm,h)||(n.searchTerm=h),h}),a(),s(1,"section",1),T(2,fr,3,3,"p"),H(3,vr,1,3,"bkd-events-students-course-entry",2,gr),a()),i&2&&(m("title",n.title())("count",n.count()),we("searchTerm",n.searchTerm),r(2),y(n.entries().length===0?2:-1),r(),N(n.entries()))},dependencies:[I,vt,nn],styles:["[_nghost-%COMP%]{display:block;overflow:hidden}section.list[_ngcontent-%COMP%]{width:calc(100% + 1px);margin-top:1rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr))}bkd-events-students-course-entry[_ngcontent-%COMP%]{border-bottom:1px solid #dee2e6;border-right:1px solid #dee2e6}"],changeDetection:0})}}return t})();var sn=(()=>{class t{constructor(){this.entry=V.required(),this.returnLink=V(null),this.link=z(()=>["study-course-student",this.entry().id]),this.linkParams=z(()=>{let e=this.returnLink();return e?{returnparams:new URLSearchParams({returnlink:e}).toString()}:{}})}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=_({type:t,selectors:[["bkd-events-students-study-course-entry"]],inputs:{entry:[1,"entry"],returnLink:[1,"returnLink"]},decls:4,vars:4,consts:[[1,"name",3,"routerLink","queryParams"],[1,"status"]],template:function(i,n){i&1&&(s(0,"a",0),p(1),a(),s(2,"div",1),p(3),a()),i&2&&(m("routerLink",n.link())("queryParams",n.linkParams()),r(),f(n.entry().name),r(2),f(n.entry().status))},dependencies:[Q],styles:["[_nghost-%COMP%]{display:flex;flex-direction:row;align-items:stretch;border-bottom:1px solid #dee2e6}.name[_ngcontent-%COMP%], .status[_ngcontent-%COMP%]{padding:1rem}.name[_ngcontent-%COMP%]{flex:2;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.status[_ngcontent-%COMP%]{flex:1;padding-left:0}@media (max-width: 750px){[_nghost-%COMP%]{flex-direction:column}.name[_ngcontent-%COMP%]{padding-bottom:0}.status[_ngcontent-%COMP%]{padding-top:0;padding-left:1rem;font-size:.875rem}}"],changeDetection:0})}}return t})();var Cr=(t,o)=>o.id;function _r(t,o){if(t&1){let e=G();s(0,"div",2)(1,"div",4),b("click",function(){w(e);let n=u();return E(n.toggleSort.emit())}),p(2),l(3,"translate"),s(4,"span",5),p(5),a()()()}if(t&2){let e=u();r(),m("className",e.primarySortKey),r(),v(" ",c(3,3,"events-students.list.header."+e.primarySortKey)," "),r(3),f(e.getSortDirectionCharacter(e.sortCriteria()))}}function Sr(t,o){t&1&&(s(0,"p"),p(1),l(2,"translate"),a()),t&2&&(r(),f(c(2,1,"events-students.no-entries")))}function yr(t,o){if(t&1&&x(0,"bkd-events-students-study-course-entry",3),t&2){let e=o.$implicit,i=u();m("entry",e)("returnLink",i.returnLink())}}var an=(()=>{class t{constructor(){this.title=V.required(),this.count=V.required(),this.entries=V.required(),this.returnLink=V(null),this.sortCriteria=V.required(),this.toggleSort=zt(),this.searchTerm=Pe(),this.primarySortKey="name"}getSortDirectionCharacter(e){return e.ascending?"\u2191":"\u2193"}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=_({type:t,selectors:[["bkd-events-students-study-course-list"]],inputs:{title:[1,"title"],count:[1,"count"],entries:[1,"entries"],returnLink:[1,"returnLink"],sortCriteria:[1,"sortCriteria"],searchTerm:[1,"searchTerm"]},outputs:{toggleSort:"toggleSort",searchTerm:"searchTermChange"},features:[ne([])],decls:6,vars:4,consts:[[3,"searchTermChange","title","count","searchTerm"],[1,"list"],[1,"list-header"],[3,"entry","returnLink"],[1,"name",3,"click","className"],[1,"sort-direction"]],template:function(i,n){i&1&&(s(0,"bkd-events-students-header",0),Ie("searchTermChange",function(h){return Ee(n.searchTerm,h)||(n.searchTerm=h),h}),a(),s(1,"section",1),T(2,_r,6,5,"div",2)(3,Sr,3,3,"p"),H(4,yr,1,2,"bkd-events-students-study-course-entry",3,Cr),a()),i&2&&(m("title",n.title())("count",n.count()),we("searchTerm",n.searchTerm),r(2),y(n.entries().length>0?2:3),r(2),N(n.entries()))},dependencies:[I,vt,sn],styles:[".list-header[_ngcontent-%COMP%]{cursor:pointer;display:flex;align-items:center;border-bottom:2px solid #dee2e6}.name[_ngcontent-%COMP%]{padding:1rem}"],changeDetection:0})}}return t})();function on(t,o,e){o||Nt(t);let i=o??At(Wt);return e?Ht(i,e):i}function We(t,o){let e=on(We,o?.injector),i;return z(()=>(i||(i=Xt(()=>se(t,j(L({},o),{injector:e})))),i()))}var dn=(()=>{class t extends it{constructor(e,i){super(e,i,Ei,"ApprenticeshipContracts")}getCompaniesForStudents(e){let i=new Date,n={"filter.StudentId":`;${e.join(";")}`,"filter.ApprenticeshipDateFrom":`<${i.toISOString()}`,"filter.ApprenticeshipDateTo":`>${i.toISOString()}`,fields:"Id,StudentId,CompanyName,CompanyNameAddition"};return this.http.get(`${this.baseUrl}/`,{params:n}).pipe(M(vi(Ii)))}static{this.\u0275fac=function(i){return new(i||t)($(Ye),$(ce))}}static{this.\u0275prov=oe({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();var Ct=1;var ln=10,_t=(()=>{class t{constructor(e,i,n,d,h,g,P,B,ge){this.route=e,this.loadingService=i,this.eventsService=n,this.coursesService=d,this.subscriptionsService=h,this.personsService=g,this.apprenticeshipContractsService=P,this.lessonPresencesService=B,this.reportsService=ge,this.eventId$=W([this.route.paramMap,this.route.parent?.paramMap??U(null)]).pipe(S(([ve,Wn])=>Number(ve.get("id")||Wn?.get("id")))),this.eventTypeId$=this.eventId$.pipe(M(this.loadEventTypeId.bind(this))),this.eventTypeId=We(this.eventTypeId$,{initialValue:null}),this.studentEntries=We(this.loadStudentEntries(),{initialValue:null}),this.isStudyCourse=z(()=>this.eventTypeId()===Ct),this.loading=se(this.loadingService.loading(mt)),this.title=z(()=>this.getTitle(this.studentEntries())),this.multipleStudyClasses=z(()=>(this.studentEntries()?.studyClasses?.length??0)>1),this.searchTerm=bt(""),this.sortCriteria=bt({primarySortKey:"name",ascending:!0}),this.entries=z(()=>this.studentEntries()?.entries??[]),this.sortedEntries=z(()=>this.sortStudentEntries(this.entries(),this.sortCriteria())),this.filteredEntries=z(()=>pt(this.sortedEntries(),["name","status","company","studyClass"],this.searchTerm())),this.mailtoLink=z(()=>this.getMailtoLink(this.eventTypeId(),this.entries())),this.reports=We(W([this.eventId$,this.eventTypeId$.pipe(fe(me))]).pipe(M(xe(this.loadReports.bind(this)))),{initialValue:[]})}loadEventTypeId(e){return this.loadingService.load(this.eventsService.getEventTypeId(e),mt)}loadStudentEntries(){return W([this.eventId$,this.eventTypeId$]).pipe(M(([e,i])=>{let n=()=>{switch(i){case null:return U(null);case Ct:return this.loadStudyCourseStudents(e);case ln:return this.loadStudyClassStudents(e);default:return this.loadCourseStudents(e)}};return this.loadingService.load(n(),mt)}))}toggleSort(){this.sortCriteria.update(e=>j(L({},e),{ascending:!e.ascending}))}loadStudyCourseStudents(e){return this.subscriptionsService.getSubscriptionsByCourse(e).pipe(M(i=>this.personsService.getSummaries(i.map(({PersonId:n})=>n).filter(me)).pipe(S(n=>Pt(e,n,i)))))}loadStudyClassStudents(e){return this.subscriptionsService.getSubscriptionsByCourse(e,{"filter.IsOkay":"=1"}).pipe(M(i=>{let n=i.map(({PersonId:d})=>d).filter(me);return W([this.personsService.getSummaries(n),this.apprenticeshipContractsService.getCompaniesForStudents(n)]).pipe(S(([d,h])=>{let g=Pt(e,d,i,{emailFallback:!0});return kt(g,h)}))}))}loadCourseStudents(e){return this.coursesService.getExpandedCourseWithParticipants(e).pipe(S(Ki),M(i=>W([this.apprenticeshipContractsService.getCompaniesForStudents(i.entries.map(({id:n})=>n)),this.lessonPresencesService.getLessonStudyClassesByEvent(e)]).pipe(S(([n,d])=>{let h=kt(i,n);return Zi(h,d)}))))}getTitle(e){if(!e||!e.eventDesignation)return null;let{eventDesignation:i,studyClasses:n}=e;return[i,...n].join(", ")}getMailtoLink(e,i){if(e===null||e===Ct)return null;let n=i.map(d=>d.email).filter(Boolean);return n.length>0?`mailto:${n.join(";")}`:null}loadReports(e,i){switch(i){case null:case Ct:return U([]);case ln:return this.reportsService.getStudyClassStudentsReports(e);default:return this.reportsService.getCourseStudentsReports(e)}}sortStudentEntries(e,i){return[...e].sort(Er(i))}static{this.\u0275fac=function(i){return new(i||t)($(re),$(be),$(ct),$(he),$(je),$(rt),$(dn),$(xi),$(ot))}}static{this.\u0275prov=oe({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();function Er(t){return(o,e)=>t.ascending?o.name.localeCompare(e.name):e.name.localeCompare(o.name)}var kr=t=>[t];function Pr(t,o){if(t&1&&(s(0,"a",4)(1,"i",6),p(2,"mail"),a()()),t&2){let e=u(2);m("href",e.state.mailtoLink(),_e)}}function Mr(t,o){if(t&1&&(s(0,"bkd-backlink",0)(1,"div",3),T(2,Pr,3,1,"a",4),x(3,"bkd-reports-link",5),a()()),t&2){let e=u(),i=O(0);m("link",D(3,kr,i)),r(2),y(e.state.mailtoLink()?2:-1),r(),m("reports",e.state.reports())}}function Or(t,o){t&1&&x(0,"bkd-spinner")}function $r(t,o){t&1&&(s(0,"p"),p(1),l(2,"translate"),a()),t&2&&(r(),f(c(2,1,"events-students.no-entries")))}function Gr(t,o){if(t&1){let e=G();s(0,"bkd-events-students-study-course-list",7),b("toggleSort",function(){w(e);let n=u();return E(n.state.toggleSort())}),Ie("searchTermChange",function(n){w(e);let d=u();return Ee(d.state.searchTerm,n)||(d.state.searchTerm=n),E(n)}),a()}if(t&2){let e=u();m("title",e.state.title())("count",e.state.entries().length)("entries",e.state.filteredEntries())("returnLink",e.returnLink())("sortCriteria",e.state.sortCriteria()),we("searchTerm",e.state.searchTerm)}}function Lr(t,o){if(t&1){let e=G();s(0,"bkd-events-students-course-list",8),Ie("searchTermChange",function(n){w(e);let d=u();return Ee(d.state.searchTerm,n)||(d.state.searchTerm=n),E(n)}),a()}if(t&2){let e=u();m("title",e.state.title())("count",e.state.entries().length)("entries",e.state.filteredEntries())("multipleStudyClasses",e.state.multipleStudyClasses())("returnLink",e.returnLink()),we("searchTerm",e.state.searchTerm)}}var pn=(()=>{class t{constructor(e,i){this.state=e,this.route=i,this.returnLink=se(this.route.queryParams.pipe(S(({returnlink:n})=>n?decodeURIComponent(n):null)))}static{this.\u0275fac=function(i){return new(i||t)(C(_t),C(re))}}static{this.\u0275cmp=_({type:t,selectors:[["bkd-events-students-list"]],decls:6,vars:3,consts:[[3,"link"],[3,"title","count","entries","returnLink","sortCriteria","searchTerm"],[3,"title","count","entries","multipleStudyClasses","returnLink","searchTerm"],[1,"d-flex"],["target","_blank",1,"mail","btn","btn-primary","btn-icon","me-2",3,"href"],[1,"ms-2",3,"reports"],[1,"material-icons"],[3,"toggleSort","searchTermChange","title","count","entries","returnLink","sortCriteria","searchTerm"],[3,"searchTermChange","title","count","entries","multipleStudyClasses","returnLink","searchTerm"]],template:function(i,n){if(i&1&&(R(0),T(1,Mr,4,5,"bkd-backlink",0)(2,Or,1,0,"bkd-spinner")(3,$r,3,3,"p")(4,Gr,1,6,"bkd-events-students-study-course-list",1)(5,Lr,1,6,"bkd-events-students-course-list",2)),i&2){let d=A(n.returnLink());r(),y(d?1:-1),r(),y(n.state.loading()?2:n.state.entries().length===0?3:n.state.isStudyCourse()?4:5)}},dependencies:[I,ue,Ve,nt,rn,an],encapsulation:2,changeDetection:0})}}return t})();var Dr=(t,o)=>o.id;function Fr(t,o){if(t&1&&(p(0),l(1,"date")),t&2){u(2);let e=O(2);v(" ",F(1,1,e.Birthdate,"dd.MM.yyyy")," ")}}function Rr(t,o){if(t&1&&p(0),t&2){u(2);let e=O(2);v(" (",e.Gender,") ")}}function Br(t,o){if(t&1&&(p(0),x(1,"br")),t&2){u(2);let e=O(2);v(" ",e.AddressLine1,"")}}function jr(t,o){if(t&1&&(p(0),x(1,"br")),t&2){u(2);let e=O(2);Ue(" ",e.Zip," ",e.Location,"")}}function Vr(t,o){if(t&1&&(s(0,"a",4),p(1),a(),x(2,"br")),t&2){u(2);let e=O(2);Tt("href","tel:",e.PhonePrivate,"",_e),r(),f(e.PhonePrivate)}}function Ar(t,o){if(t&1&&(s(0,"a",4),p(1),a()),t&2){u(2);let e=O(2);Tt("href","tel:",e.PhoneMobile,"",_e),r(),f(e.PhoneMobile)}}function Hr(t,o){if(t&1&&(s(0,"h1"),p(1),a(),s(2,"span",3),T(3,Fr,2,4)(4,Rr,1,1),a(),s(5,"address"),T(6,Br,2,1)(7,jr,2,2)(8,Vr,3,3)(9,Ar,2,3,"a",4),a()),t&2){u();let e=O(2);r(),f(e.FullName),r(2),y(e.Birthdate?3:-1),r(),y(e.Gender?4:-1),r(2),y(e.AddressLine1?6:-1),r(),y(e.Zip&&e.Location?7:-1),r(),y(e.PhonePrivate?8:-1),r(),y(e.PhoneMobile?9:-1)}}function Nr(t,o){if(t&1&&(s(0,"div",2),p(1),l(2,"translate"),s(3,"span",5),p(4),a()()),t&2){u();let e=O(4);r(),v(" ",c(2,2,"events-students.study-course-detail.status"),": "),r(3),f(e)}}function Ur(t,o){if(t&1&&(s(0,"a",7),p(1),a()),t&2){let e=u(2).$implicit;le("href",e.file,_e),r(),f(e.value)}}function Wr(t,o){if(t&1&&p(0),t&2){let e=u(2).$implicit;v(" ",e.value," ")}}function zr(t,o){if(t&1&&(s(0,"div",6)(1,"div"),p(2),a(),T(3,Ur,2,2,"a",7)(4,Wr,1,1),a()),t&2){let e=u().$implicit;r(2),f(e.label),r(),y(e.file!==null?3:4)}}function qr(t,o){if(t&1&&T(0,zr,5,2,"div",6),t&2){let e=o.$implicit;y(e.value?0:-1)}}function Yr(t,o){t&1&&x(0,"bkd-spinner")}var cn=(()=>{class t{constructor(e,i,n,d,h,g,P){this.settings=e,this.route=i,this.personsService=n,this.subscriptionsService=d,this.storageService=h,this.loadingService=g,this.translate=P,this.eventId$=this.route.parent?.paramMap.pipe(S(B=>Number(B.get("id"))))??U(0),this.personId$=this.route.paramMap.pipe(S(B=>Number(B.get("id")))),this.person=se(this.personId$.pipe(M(B=>this.personsService.get(B))),{initialValue:null}),this.subscription=se(this.loadSubscription()),this.subscriptionId=z(()=>this.subscription()?.Id??null),this.subscriptionDetails=se(this.loadSubscriptionDetails(),{initialValue:[]}),this.backLink=se(this.route.queryParams.pipe(S(({returnparams:B})=>B),S(Ti))),this.loading=se(this.loadingService.loading$,{initialValue:!0})}loadSubscription(){return this.loadingService.load(W([this.eventId$,this.personId$]).pipe(M(([e,i])=>this.subscriptionsService.getSubscriptionsByCourse(e,{"filter.PersonId":`=${i}`})),S(e=>e[0]??null)),{stopOnFirstValue:!0})}loadSubscriptionDetails(){return this.loadingService.load(ei(this.subscriptionId).pipe(fe(me),M(e=>this.subscriptionsService.getSubscriptionDetailsById(e)),S(e=>e.map(i=>this.toSubscriptionDetailsEntry(i)))),{stopOnFirstValue:!0})}toSubscriptionDetailsEntry(e){let i=e.Value??"";return i=this.normalizeSubscriptionDetailsYesNoValue(e,i),i=this.normalizeSubscriptionDetailsDropdownValue(e,i),{id:e.Id,label:e.VssDesignation,value:i,file:this.buildFileUrl(e)}}normalizeSubscriptionDetailsYesNoValue(e,i){if((e.VssType==="isYes"||e.VssType==="isYesNo")&&e.ShowAsRadioButtons){if(i==="Ja")return this.translate.instant("events-students.study-course-detail.yes");if(i==="Nein")return this.translate.instant("events-students.study-course-detail.no")}return i}normalizeSubscriptionDetailsDropdownValue(e,i){return e.DropdownItems&&e.VssStyle!=="CB"?e.DropdownItems.find(n=>String(n.Key)===i)?.Value??i:i}buildFileUrl(e){if(e.VssStyle==="PD"||e.VssStyle==="PF"||e.VssStyle==="DA"){let i=this.storageService.getAccessToken()||"";return`${this.settings.apiUrl}/Files/SubscriptionDetails/${e.Id}?token=${i}`}return null}static{this.\u0275fac=function(i){return new(i||t)(C(ce),C(re),C(rt),C(je),C(Fe),C(be),C(X))}}static{this.\u0275cmp=_({type:t,selectors:[["bkd-events-students-study-course-detail"]],decls:9,vars:6,consts:[[1,"bkd-container","bkd-container-limited"],["link","../..",3,"params"],[1,"status"],[1,"additional-info"],[3,"href"],[1,"ms-2"],[1,"detail"],["target","_blank",3,"href"]],template:function(i,n){if(i&1&&(s(0,"div",0),x(1,"bkd-backlink",1),R(2),T(3,Hr,10,7),R(4),T(5,Nr,5,4,"div",2),H(6,qr,1,1,null,null,Dr),T(8,Yr,1,0,"bkd-spinner"),a()),i&2){let d;r(),m("params",n.backLink()),r();let h=A(n.person());r(),y(h?3:-1),r();let g=A((d=n.subscription())==null?null:d.Status);r(),y(g?5:-1),r(),N(n.subscriptionDetails()),r(2),y(n.loading()?8:-1)}},dependencies:[I,$e,Ve,ue],styles:["h1[_ngcontent-%COMP%]{margin-bottom:0}.additional-info[_ngcontent-%COMP%]{color:#adb5bd}address[_ngcontent-%COMP%]{margin:1rem 0}.status[_ngcontent-%COMP%]{display:flex;align-items:center;padding:1rem 0;border-top:1px solid #dee2e6;border-bottom:1px solid #dee2e6}.detail[_ngcontent-%COMP%]{max-width:70ch;padding-top:1rem}.detail[_ngcontent-%COMP%] div[_ngcontent-%COMP%]{font-weight:400;color:#00000080}"],changeDetection:0})}}return t})();var mn=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=_({type:t,selectors:[["bkd-events-students"]],features:[ne([_t])],decls:1,vars:0,template:function(i,n){i&1&&x(0,"router-outlet")},dependencies:[ye],encapsulation:2,changeDetection:0})}}return t})();var un=(()=>{class t{constructor(){}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=_({type:t,selectors:[["bkd-events-tests"]],decls:4,vars:4,consts:[[3,"withRatings"]],template:function(i,n){i&1&&(s(0,"h1"),p(1),l(2,"translate"),a(),x(3,"bkd-events-list",0)),i&2&&(r(),f(c(2,2,"events.title")),r(2),m("withRatings",!0))},dependencies:[ft,I],encapsulation:2})}}return t})();var hn=(()=>{class t{constructor(){}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=_({type:t,selectors:[["bkd-events"]],features:[ne([Ne,Si])],decls:1,vars:0,template:function(i,n){i&1&&x(0,"router-outlet")},dependencies:[ye],encapsulation:2})}}return t})();function gn(t){return o=>{let e=Number(o.value);return e<=t?{greaterThan:{value:e,greaterThanValue:t}}:null}}function Ot(t){return t.map(({finalGrade:o})=>o).filter(Kr)}function Kr(t){return t!==null}function Cn(t,o,e,i){return t?.map(n=>({student:n,finalGrade:Jr(n,e,i),grades:Zr(n,o)}))}function Zr(t,o){return o.map(e=>{if(e.Results===void 0||e.Results?.length===0)return{kind:"no-result",test:e};let i=e.Results?.find(n=>n.StudentId===t.Id);return i!==void 0?{kind:"grade",result:i,test:e}:{kind:"no-result",test:e}})}function Jr(t,o,e){let i=o.find(d=>d.StudentId===t.Id),n=e.find(d=>d.StudentId===t.Id);return i?{id:i.Id,average:Qr(i),finalGradeId:i.GradeId,freeHandGrade:n?Number(n.Grade):null,canGrade:i.CanGrade}:null}function Qr(t){return t.AverageTestResult===0?null:t.AverageTestResult}var _n=({key:t,ascending:o})=>(e,i)=>{let n=o?1:-1;switch(t){case"FullName":return n*e.student.FullName.localeCompare(i.student.FullName);case"FinalGrade":return!e.finalGrade?.finalGradeId||!i.finalGrade?.finalGradeId?n*-1:n*fn(e.finalGrade.finalGradeId,i.finalGrade.finalGradeId);case"TestsMean":return!e.finalGrade?.average||!i.finalGrade?.average?n*-1:n*fn(e.finalGrade.average,i.finalGrade.average)}return n*Xr(t,e,i)},Xr=(t,o,e)=>{let i=o.grades.filter(vn).find(d=>d.test.Id===t.Id),n=e.grades.filter(vn).find(d=>d.test.Id===t.Id);return t.IsPointGrading&&i?.result.GradeId===n?.result.GradeId?(i?.result.Points??0)-(n?.result.Points??0):((i?.result.GradeId??Number.POSITIVE_INFINITY)-(n?.result.GradeId??Number.POSITIVE_INFINITY))*-1};function fn(t,o){return t===o?0:te.average).filter(e=>e!=null&&e!==0).map(Number);return Et(o)}function xn(t,o){let e=t.map(n=>n.freeHandGrade).filter(n=>!!n),i=t.map(n=>n.finalGradeId).filter(n=>n!==null).map(n=>o.find(d=>d.Key===n)).filter(n=>n!==void 0).map(n=>n?.Value).filter(n=>n!==void 0).map(Number).filter(n=>!isNaN(n));return Et([...i,...e])}function $t(t,o){return[...o.filter(e=>e.Id!==t?.Id),t].filter(e=>e!=null)}function bn({id:t,selectedGradeId:o},e){return e.map(i=>i.Id!==t?i:j(L({},i),{GradeId:o}))}function Tn(t,o){switch(o.type){case"reset":return o.payload;case"updateResult":return t?j(L({},t),{Tests:Pi(o.payload.testResult,t.Tests||[],o.payload.ignore),Gradings:o.payload.grading?$t(o.payload.grading,t.Gradings||[]):t.Gradings}):null;case"deleteResult":return t?j(L({},t),{Tests:Mi(o.payload.testId,o.payload.studentId,t.Tests||[]),Gradings:o.payload.grading?$t(o.payload.grading,t.Gradings||[]):t.Gradings||[]}):null;case"toggle-test-state":return t?j(L({},t),{Tests:Oi(o.payload,t.Tests||[])}):null;case"final-grade-overwritten":return t?j(L({},t),{Gradings:bn({id:o.payload.id,selectedGradeId:o.payload.selectedGradeId},t.Gradings||[])}):null;case"replace-grades":return t?j(L({},t),{Gradings:o.payload}):null;case"delete-test":return t?j(L({},t),{Tests:$i(o.payload,t.Tests||[])}):null;default:return t}}var wn=(()=>{class t extends it{constructor(e,i){super(e,i,Ri,"Gradings")}updateGrade(e,i){return this.http.put(`${this.baseUrl}/${e}`,{GradeId:i}).pipe(S(()=>e))}static{this.\u0275fac=function(i){return new(i||t)($(Ye),$(ce))}}static{this.\u0275prov=oe({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();var Gt={onlyMine:!1,hidePublished:!1},K=(()=>{class t{constructor(e,i,n,d,h){this.coursesRestService=e,this.gradingScalesRestService=i,this.gradingsRestService=n,this.loadingService=d,this.sortService=h,this.action$=new xt(1),this.loading$=this.loadingService.loading$,this._courseId$=new xt(1),this.courseId$=this._courseId$.asObservable(),this.fetchedCourse$=this._courseId$.pipe(M(g=>this.loadingService.load(this.coursesRestService.getExpandedCourse(g))),J(1)),this.course$=ze(this.action$,this.fetchedCourse$.pipe(fe(me),S(g=>({type:"reset",payload:g})))).pipe(jt(Tn,null),fe(me),J(1)),this.tests$=this.course$.pipe(S(g=>g.Tests||[]),S(Gi)),this.hasTests$=this.tests$.pipe(S(g=>g.length>0)),this.filterSubject$=new q(Gt),this.filter$=this.filterSubject$.asObservable(),this.expandedHeaderSubject$=new q(!1),this.expandedHeader$=this.expandedHeaderSubject$.asObservable(),this.filteredTests$=W([this.tests$,this.filter$]).pipe(S(([g,P])=>g.filter(B=>(!P.onlyMine||B.IsOwner)&&(!P.hidePublished||!B.IsPublished)))),this.sorting$=this.sortService.sorting$,this.studentGrades$=W([this.course$,this.filteredTests$,this.sorting$]).pipe(S(xe(this.toStudentGrades.bind(this)))),this.canSetFinalGrade$=this.course$.pipe(S(Wi)),this.gradingScaleIds$=this.course$.pipe(S(g=>gi([...(g.Tests??[]).map(P=>P.GradingScaleId),g.GradingScaleId]).filter(me)),Z(hi),J(1)),this.gradingScales$=this.gradingScaleIds$.pipe(M(g=>this.gradingScalesRestService.getGradingScales(g)),J(1)),this.UNDEFINED_GRADINGSCALE_ID=-1,this.gradingScalesOptions$=this.gradingScales$.pipe(S(g=>g.map(P=>{let B=P?.Id||this.UNDEFINED_GRADINGSCALE_ID,ge=P?.Grades.map(ve=>({Key:ve.Id,Value:ve.Designation}))||[];return{id:B,options:ge}}).reduce((P,B)=>j(L({},P),{[B.id]:B.options}),{})),J(1)),this.meanOfStudentGradesForCourse$=this.studentGrades$.pipe(S(g=>yn(Ot(g)))),this.meanOfFinalGradesForCourse$=W([this.gradingScalesOptions$,this.studentGrades$]).pipe(M(xe(this.meanOfOverwrittenGradesForCourse.bind(this))))}setCourseId(e){this._courseId$.next(e)}setFilter(e){this.filterSubject$.next(e)}gradingOptionsForTest$(e){return this.gradingOptions$(e.GradingScaleId)}gradingOptionsForCourse$(){return this.course$.pipe(M(e=>this.gradingOptions$(e.GradingScaleId)))}toStudentGrades(e,i=[],n){return Cn(e.ParticipatingStudents??[],i,e.Gradings??[],e.FinalGrades??[]).sort(_n(n))}setSorting(e){this.sortService.setSorting(e)}getSortingChar$(e){return this.sortService.getSortingChar$(e)}sortBy(e){this.sortService.toggleSorting(e)}toggleHeader(e){this.expandedHeaderSubject$.next(e)}optimisticallyUpdateGrade(e){return this.course$.pipe(ae(1),S(i=>{let{originalResult:n,updatedResult:d}=this.buildOptimisticResultUpdate(i,e);return this.updateTestResult(d,null),n}))}saveGrade(e,i){this.course$.pipe(ae(1),M(n=>this.coursesRestService.updateTestResult(n.Id,e).pipe(Ft(d=>(i&&this.updateTestResult(L({},i),null),Dt(()=>d)))))).subscribe(({testResult:n,grading:d})=>this.updateOrDeleteTestResult(e.testId,e.studentId,n,d,"gradeId"in e?"grade":"points"))}publish(e){this.coursesRestService.publishTest(e.Id).subscribe(this.toggleTestPublishedState.bind(this))}unpublish(e){this.coursesRestService.unpublishTest(e.Id).subscribe(this.toggleTestPublishedState.bind(this))}deleteTest(e){this.action$.next({type:"delete-test",payload:e})}overwriteFinalGrade({id:e,selectedGradeId:i}){this.gradingsRestService.updateGrade(e,i).subscribe(()=>{this.action$.next({type:"final-grade-overwritten",payload:{id:e,selectedGradeId:i}})})}setAveragesAsFinalGrades(e){this.coursesRestService.setAverageAsFinalGrade(e).subscribe(i=>this.action$.next({type:"replace-grades",payload:i.Gradings}))}buildOptimisticResultUpdate(e,i){let n=ki(e,i.testId,i.studentId),d=n?L({},n):{Id:"",TestId:i.testId,StudentId:i.studentId,CourseRegistrationId:0,GradeId:null,GradeValue:null,GradeDesignation:null,Points:null};return d.GradeId="gradeId"in i?i.gradeId:n?.GradeId??null,d.Points="points"in i?i.points:n?.Points??null,{originalResult:n,updatedResult:d}}updateOrDeleteTestResult(e,i,n,d,h){n?this.updateTestResult(n,d,h):this.deleteTestResult(e,i,d)}updateTestResult(e,i,n){this.action$.next({type:"updateResult",payload:{testResult:e,grading:i??null,ignore:n}})}deleteTestResult(e,i,n){this.action$.next({type:"deleteResult",payload:{testId:e,studentId:i,grading:n}})}toggleTestPublishedState(e){this.action$.next({type:"toggle-test-state",payload:e})}gradingOptions$(e){return e===null?U(null):this.gradingScalesOptions$.pipe(S(i=>i[e]),J(1))}meanOfOverwrittenGradesForCourse(e,i){return this.course$.pipe(S(n=>{if(n.GradingScaleId===null||e[n.GradingScaleId]===void 0)return null;let d=e[n.GradingScaleId];return xn(Ot(i),d)}))}static{this.\u0275fac=function(i){return new(i||t)($(he),$(Bi),$(wn),$(be),$(Ni))}}static{this.\u0275prov=oe({token:t,factory:t.\u0275fac})}}return t})();var is=t=>["/events",t,"tests"];function ns(t,o){if(t&1&&(s(0,"div",7),p(1),l(2,"translate"),a()),t&2){let e=o.$implicit;r(),v(" ",F(2,1,"global.validation-errors."+e.error,e.params)," ")}}function rs(t,o){if(t&1&&(s(0,"div",7),p(1),l(2,"translate"),a()),t&2){let e=o.$implicit;r(),v(" ",F(2,1,"global.validation-errors."+e.error,e.params)," ")}}function ss(t,o){if(t&1&&(s(0,"div",7),p(1),l(2,"translate"),a()),t&2){let e=o.$implicit;r(),v(" ",F(2,1,"global.validation-errors."+e.error,e.params)," ")}}function as(t,o){if(t&1&&(s(0,"div",7),p(1),l(2,"translate"),a()),t&2){let e=o.$implicit;r(),v(" ",F(2,1,"global.validation-errors."+e.error,e.params)," ")}}function os(t,o){if(t&1&&(s(0,"div",7),p(1),l(2,"translate"),a()),t&2){let e=o.$implicit;r(),v(" ",F(2,1,"global.validation-errors."+e.error,e.params)," ")}}function ds(t,o){if(t&1&&(s(0,"div",29)(1,"div",30)(2,"div",16)(3,"label",31),p(4),l(5,"translate"),a(),s(6,"div",32),x(7,"input",33),l(8,"async"),H(9,as,3,4,"div",7,Me),l(11,"async"),a()()(),s(12,"div",30)(13,"div",16)(14,"label",34),p(15),l(16,"translate"),a(),s(17,"div",32),x(18,"input",35),l(19,"async"),H(20,os,3,4,"div",7,Me),l(22,"async"),a()()()(),s(23,"div",36),Ut(),s(24,"math")(25,"mi"),p(26),l(27,"translate"),a(),s(28,"mo"),p(29,"="),a(),s(30,"mfrac")(31,"mrow")(32,"mi"),p(33),l(34,"translate"),a(),s(35,"mo"),p(36,"\xD7"),a(),s(37,"mn"),p(38,"5"),a()(),s(39,"mi"),p(40),l(41,"translate"),a()(),s(42,"mo"),p(43,"+"),a(),s(44,"mn"),p(45,"1"),a()()()),t&2){let e,i,n=u(2);r(4),f(c(5,9,"tests.form.max-points")),r(3),de("is-invalid",((e=c(8,11,n.maxPointsErrors$))==null?null:e.length)||!1),r(2),N(c(11,13,n.maxPointsErrors$)),r(6),f(c(16,15,"tests.form.max-points-adjusted")),r(3),de("is-invalid",((i=c(19,17,n.maxPointsAdjustedErrors$))==null?null:i.length)||!1),r(2),N(c(22,19,n.maxPointsAdjustedErrors$)),r(6),v(" ",c(27,21,"tests.form.math.grade")," "),r(7),v(" ",c(34,23,"tests.form.math.points")," "),r(7),f(c(41,25,"tests.form.math.max-points"))}}function ls(t,o){t&1&&(s(0,"div",28)(1,"span",37),p(2,"Loading..."),a()())}function ps(t,o){if(t&1){let e=G();s(0,"form",2),b("ngSubmit",function(){w(e);let n=u();return E(n.onSubmit())}),s(1,"div",3)(2,"div",4)(3,"label",5),p(4),l(5,"translate"),a(),x(6,"input",6),l(7,"async"),l(8,"translate"),H(9,ns,3,4,"div",7,Me),l(11,"async"),a(),s(12,"div",8)(13,"label",9),p(14),l(15,"translate"),a(),s(16,"div",10)(17,"span",11)(18,"i",12),p(19,"calendar_today"),a()(),s(20,"input",13,0),l(22,"async"),l(23,"translate"),b("click",function(){w(e);let n=Se(21);return E(n.toggle())}),a(),H(24,rs,3,4,"div",7,Me),l(26,"async"),a()()(),s(27,"div",14)(28,"label",15),p(29),l(30,"translate"),a(),s(31,"div",4)(32,"div",16)(33,"label",17),p(34),l(35,"translate"),a(),s(36,"div",18),x(37,"input",19),l(38,"async"),H(39,ss,3,4,"div",7,Me),l(41,"async"),a()()()(),s(42,"div")(43,"label",15),p(44),l(45,"translate"),a(),s(46,"div",20),x(47,"input",21),s(48,"label",22),p(49),l(50,"translate"),a()(),s(51,"div",20),x(52,"input",23),s(53,"label",24),p(54),l(55,"translate"),a()(),T(56,ds,46,27),a(),s(57,"div",25)(58,"button",26),l(59,"async"),p(60),l(61,"translate"),a(),s(62,"button",27),p(63),l(64,"translate"),T(65,ls,3,0,"div",28),a()()()}if(t&2){let e,i,n,d,h=u();m("formGroup",h.formGroup),r(4),f(c(5,26,"tests.form.designation")),r(2),de("is-invalid",((e=c(7,28,h.designationErrors$))==null?null:e.length)||!1),m("placeholder",c(8,30,"tests.form.designation-placeholder")),r(3),N(c(11,32,h.designationErrors$)),r(5),f(c(15,34,"tests.form.date")),r(3),m("id",h.componentId),r(3),de("is-invalid",((i=c(22,36,h.dateErrors$))==null?null:i.length)||!1),m("placeholder",c(23,38,"shared.date-select.default-placeholder")),r(4),N(c(26,40,h.dateErrors$)),r(5),f(c(30,42,"tests.form.weight")),r(5),f(c(35,44,"tests.form.factor")),r(3),de("is-invalid",((n=c(38,46,h.weightErrors$))==null?null:n.length)||!1),r(2),N(c(41,48,h.weightErrors$)),r(5),f(c(45,50,"tests.form.grading-type")),r(3),m("value",!1),r(2),f(c(50,52,"tests.form.grades")),r(3),m("value",!0),r(2),f(c(55,54,"tests.form.points")),r(2),y((d=h.formGroup.get("isPointGrading"))!=null&&d.value?56:-1),r(2),m("disabled",h.saving)("routerLink",D(62,is,c(59,56,h.courseId$))),r(2),v(" ",c(61,58,"tests.form.cancel")," "),r(2),m("disabled",h.saving),r(),v(" ",c(64,60,"tests.form.save")," "),r(2),y(h.saving?65:-1)}}var St=(()=>{class t{constructor(e,i,n){this.fb=e,this.translate=i,this.testStateService=n,this.test=null,this.saving=!1,this.save=new ee,this.componentId=fi("bkd-tests-edit-form"),this.formGroup=this.createFormGroup(),this.submitted$=new q(!1),this.destroy$=new ie,this.designationErrors$=Re(U(this.formGroup),this.submitted$,"designation"),this.dateErrors$=Re(U(this.formGroup),this.submitted$,"date"),this.maxPointsErrors$=Re(U(this.formGroup),this.submitted$,"maxPoints"),this.maxPointsAdjustedErrors$=Re(U(this.formGroup),this.submitted$,"maxPointsAdjusted"),this.weightErrors$=Re(U(this.formGroup),this.submitted$,"weight"),this.courseId$=this.testStateService.courseId$}ngOnInit(){this.test&&this.setInitialValues(this.test),Ci(U(this.formGroup),"isPointGrading").pipe(Ce(this.destroy$)).subscribe(this.togglePointFieldsDisability.bind(this))}ngOnDestroy(){this.destroy$.next()}onSubmit(){this.submitted$.next(!0),this.formGroup.valid&&this.save.emit(this.formGroup.value)}createFormGroup(){return this.fb.group({designation:["",Le.required],date:[null,Le.required],weight:[1,Le.compose([Le.required,gn(0)])],isPointGrading:[!1],maxPoints:[{value:null,disabled:!0},Le.required],maxPointsAdjusted:[{value:null,disabled:!0},null]})}setInitialValues(e){this.formGroup.patchValue({designation:e.Designation,date:e.Date,weight:e.Weight,isPointGrading:e.IsPointGrading,maxPoints:e.MaxPoints,maxPointsAdjusted:e.MaxPointsAdjusted}),e.Results&&e.Results.length>0&&(this.formGroup.get("isPointGrading")?.disable(),this.formGroup.get("maxPoints")?.disable(),this.formGroup.get("maxPointsAdjusted")?.disable()),this.togglePointFieldsDisability()}togglePointFieldsDisability(){let e=this.formGroup.get("maxPoints"),i=this.formGroup.get("maxPointsAdjusted");this.formGroup.get("isPointGrading")?.value?(e?.enable(),i?.enable()):(e?.reset({value:this.test?.MaxPoints,disabled:!0}),i?.reset({value:this.test?.MaxPointsAdjusted,disabled:!0}))}static{this.\u0275fac=function(i){return new(i||t)(C(di),C(X),C(K))}}static{this.\u0275cmp=_({type:t,selectors:[["bkd-tests-edit-form"]],inputs:{test:"test",saving:"saving"},outputs:{save:"save"},features:[ne([{provide:pi,useClass:ui},{provide:ci,useClass:Hi}])],decls:1,vars:1,consts:[["dp","ngbDatepicker"],[3,"formGroup"],[3,"ngSubmit","formGroup"],[1,"row","g-3","mb-3"],[1,"col-md-6"],["for","designation",1,"form-label"],["id","designation","name","designation","type","text","formControlName","designation","required","",1,"form-control",3,"placeholder"],[1,"invalid-feedback"],[1,"col-md-6","mb-3"],["for","date",1,"form-label"],[1,"input-group"],[1,"input-group-text",3,"id"],[1,"material-icons"],["id","date","name","date","type","text","ngbDatepicker","","formControlName","date","required","",1,"form-control",3,"click","placeholder"],[1,"row","mb-3"],[1,"form-label"],[1,"row"],["for","factor",1,"form-label","col-3","col-sm-2"],[1,"col-9","col-sm-10"],["id","factor","name","factor","type","number","formControlName","weight","step","0.05","min","0","required","",1,"form-control"],[1,"form-check"],["type","radio","formControlName","isPointGrading","id","type-grades",1,"form-check-input",3,"value"],["for","type-grades",1,"form-check-label"],["type","radio","formControlName","isPointGrading","id","type-points",1,"form-check-input",3,"value"],["for","type-points",1,"form-check-label"],[1,"d-flex","justify-content-end","mt-4"],["type","button",1,"btn","btn-outline-secondary",3,"disabled","routerLink"],["type","submit",1,"btn","btn-primary","ms-2",3,"disabled"],["role","status",1,"spinner-border","spinner-border-sm","align-middle"],[1,"row","ms-4","mb-3","g-3"],[1,"col-sm-6","col-md-4"],["for","max-points",1,"ms-2","col-4","col-form-label"],[1,"col-6"],["type","number","name","maxPoints","id","max-points","formControlName","maxPoints","step","0.01","min","0","max","999","required","",1,"form-control"],["for","max-points-adjusted",1,"ms-2","col-4","col-form-label"],["type","number","name","maxPointsAdjusted","id","max-points-adjusted","formControlName","maxPointsAdjusted","step","0.01","min","0","max","999",1,"form-control"],[1,"ms-4","ps-3","py-3"],[1,"visually-hidden"]],template:function(i,n){i&1&&T(0,ps,66,64,"form",1),i&2&&y(n.formGroup?0:-1)},dependencies:[De,ni,Ke,Je,ri,Ze,ti,oi,Xe,Qe,li,si,ai,mi,Q,Y,I],styles:["#factor[_ngcontent-%COMP%], #max-points[_ngcontent-%COMP%], #max-points-adjusted[_ngcontent-%COMP%]{width:5em}"]})}}return t})();var En=(()=>{class t{constructor(e,i,n,d,h){this.route=e,this.courseService=i,this.toastService=n,this.translate=d,this.router=h,this.saving$=new q(!1),this.courseId$=this.route.paramMap.pipe(S(g=>Number(g.get("id"))),Z())}save(e){this.saving$.next(!0);let{designation:i,date:n,weight:d,isPointGrading:h,maxPoints:g,maxPointsAdjusted:P}=e;this.courseId$.pipe(M(B=>this.courseService.add(B,n,i,d,h,g,P)),qe(()=>this.saving$.next(!1))).subscribe(this.onSaveSuccess.bind(this))}onSaveSuccess(){this.toastService.success(this.translate.instant("tests.form.save-success")),this.navigateBack()}navigateBack(){this.courseId$.subscribe(e=>void this.router.navigate(["events",e,"tests"]))}static{this.\u0275fac=function(i){return new(i||t)(C(re),C(he),C(tt),C(X),C(Ge))}}static{this.\u0275cmp=_({type:t,selectors:[["bkd-tests-add"]],decls:6,vars:6,consts:[[1,"bkd-container","bkd-container-limited"],[3,"save","saving"]],template:function(i,n){i&1&&(s(0,"h1"),p(1),l(2,"translate"),a(),s(3,"div",0)(4,"bkd-tests-edit-form",1),l(5,"async"),b("save",function(h){return n.save(h)}),a()()),i&2&&(r(),f(c(2,2,"tests.add-title")),r(3),m("saving",c(5,4,n.saving$)))},dependencies:[St,Y,I],encapsulation:2})}}return t})();var In=(()=>{class t{constructor(e){this.activeModal=e}get canDeleteTest(){return(this.test?.Results?.filter(i=>i.GradeId!==null||i.GradeValue!==null||i.Points!==null)||[]).length===0}static{this.\u0275fac=function(i){return new(i||t)(C(et))}}static{this.\u0275cmp=_({type:t,selectors:[["bkd-tests-delete"]],inputs:{test:"test"},decls:13,vars:10,consts:[[1,"modal-body"],["data-testid","confirmation-message"],[1,"modal-footer"],["data-testid","cancel-button","type","button",1,"btn","btn-outline-secondary",3,"click","hidden"],[1,"px-2"],["data-testid","confirm-button","type","button",1,"btn","btn-primary",3,"click"],[1,"px-3"]],template:function(i,n){i&1&&(s(0,"div",0)(1,"p",1),p(2),l(3,"translate"),a()(),s(4,"div",2)(5,"button",3),b("click",function(){return n.activeModal.dismiss()}),s(6,"span",4),p(7),l(8,"translate"),a()(),s(9,"button",5),b("click",function(){return n.activeModal.close(n.canDeleteTest?n.test:null)}),s(10,"span",6),p(11),l(12,"translate"),a()()()),i&2&&(r(2),v(" ",c(3,4,n.canDeleteTest?"tests.form.confirm":"tests.form.delete-not-allowed")," "),r(3),m("hidden",!n.canDeleteTest),r(2),v(" ",c(8,6,"tests.dialog.no")," "),r(4),v(" ",c(12,8,n.canDeleteTest?"tests.dialog.yes":"tests.dialog.ok")," "))},dependencies:[I],encapsulation:2})}}return t})();var hs=t=>({test:t});function gs(t,o){t&1&&x(0,"bkd-spinner")}function fs(t,o){if(t&1){let e=G();s(0,"div",1)(1,"h1"),p(2),l(3,"translate"),a(),s(4,"button",2),b("click",function(){w(e);let n=u(),d=O(0);return E(n.openDeleteModal(d))}),s(5,"i",3),p(6,"delete"),a()()(),s(7,"bkd-tests-edit-form",4),b("save",function(n){w(e);let d=u();return E(d.save(n))}),a()}if(t&2){u();let e=O(0),i=O(2);r(2),v(" ",F(3,3,"tests.edit-title",D(6,hs,e.Designation))," "),r(5),m("test",e)("saving",i)}}var kn=(()=>{class t{constructor(e,i,n,d,h,g,P){this.state=e,this.courseService=i,this.route=n,this.toastService=d,this.translate=h,this.router=g,this.modalService=P,this.saving$=new q(!1),this.testId$=this.route.paramMap.pipe(S(B=>Number(B.get("testId"))),Z()),this.test$=W([this.state.tests$,this.testId$]).pipe(S(([B,ge])=>B.find(ve=>ve.Id===ge)))}openDeleteModal(e){let i=this.modalService.open(In);i.componentInstance.test=e,i.result.then(n=>{n&&this.courseService.delete(e.CourseId,e.Id).subscribe(this.onDeleteSuccess.bind(this))},()=>{})}save(e){this.saving$.next(!0);let{designation:i,date:n,weight:d,isPointGrading:h,maxPoints:g,maxPointsAdjusted:P}=e;W([this.state.courseId$,this.testId$]).pipe(ae(1),M(([B,ge])=>this.courseService.update(B,ge,i,n,d,h,g,P)),qe(()=>this.saving$.next(!1))).subscribe(this.onSaveSuccess.bind(this))}onSaveSuccess(){this.toastService.success(this.translate.instant("tests.form.save-success")),this.navigateBack()}onDeleteSuccess(e){this.toastService.success(this.translate.instant("tests.form.delete-success")),this.state.deleteTest(e),this.navigateBack()}navigateBack(){this.state.courseId$.pipe(ae(1)).subscribe(e=>void this.router.navigate(["events",e,"tests"]))}static{this.\u0275fac=function(i){return new(i||t)(C(K),C(he),C(re),C(tt),C(X),C(Ge),C(dt))}}static{this.\u0275cmp=_({type:t,selectors:[["bkd-tests-edit"]],decls:8,vars:9,consts:[[1,"bkd-container","bkd-container-limited"],[1,"d-flex","justify-content-between","align-items-center"],["type","button",1,"btn","btn-primary","btn-icon",3,"click"],[1,"material-icons"],[3,"save","test","saving"]],template:function(i,n){if(i&1&&(R(0),l(1,"async"),R(2),l(3,"async"),s(4,"div",0),T(5,gs,1,0,"bkd-spinner"),l(6,"async"),T(7,fs,8,8),a()),i&2){let d=A(c(1,1,n.test$));r(2),A(c(3,4,n.saving$)),r(3),y(c(6,7,n.state.loading$)?5:d?7:-1)}},dependencies:[St,ue,Y,I],encapsulation:2})}}return t})();var vs=t=>({designation:t}),Pn=(()=>{class t{constructor(e){this.activeModal=e}static{this.\u0275fac=function(i){return new(i||t)(C(et))}}static{this.\u0275cmp=_({type:t,selectors:[["bkd-publish-test"]],inputs:{test:"test"},decls:11,vars:12,consts:[[1,"modal-body"],["data-testid","confirmation-message"],[1,"modal-footer"],["data-testid","cancel-button","type","button",1,"btn","btn-outline-secondary",3,"click"],["data-testid","confirm-button","type","button",1,"btn","btn-primary",3,"click"]],template:function(i,n){i&1&&(s(0,"div",0)(1,"p",1),p(2),l(3,"translate"),a()(),s(4,"div",2)(5,"button",3),b("click",function(){return n.activeModal.dismiss()}),p(6),l(7,"translate"),a(),s(8,"button",4),b("click",function(){return n.activeModal.close(!0)}),p(9),l(10,"translate"),a()()),i&2&&(r(2),v(" ",F(3,3,n.test.IsPublished?"tests.publishing.unpublish":"tests.publishing.publish",D(10,vs,n.test.Designation))," "),r(4),v(" ",c(7,6,"tests.publishing.cancel")," "),r(3),v(" ",c(10,8,"tests.publishing.confirm")," "))},dependencies:[I],encapsulation:2})}}return t})();var Cs=t=>({maxPoints:t});function _s(t,o){if(t&1&&(s(0,"div",6),p(1),l(2,"translate"),a()),t&2){let e=u(2);r(),v(" ",F(2,1,"global.validation-errors.invalidPoints",D(4,Cs,e.maxPoints))," ")}}function Ss(t,o){if(t&1){let e=G();s(0,"div",3)(1,"input",5,0),b("ngModelChange",function(){w(e);let n=Se(2),d=u();return E(d.onPointsChange(n.value))}),a(),T(3,_s,3,6,"div",6),a()}if(t&2){let e=Se(2),i=u();r(),de("is-invalid",e.errors),le("max",i.maxPoints),le("tabindex",i.tabIndex),m("disabled",i.grade.test.IsPublished)("ngModel",i.grade.kind==="grade"?i.grade.result.Points:null),r(2),y(e.errors?3:-1)}}var ys=1250,Mn=(()=>{class t{constructor(e){this.state=e,this.maxPoints=0,this.pointsSubject$=new ie,this.gradeSubject$=new ie,this.gradingScaleDisabledSubject$=new q(!0),this.gradingScaleDisabled$=this.gradingScaleDisabledSubject$.asObservable(),this.destroy$=new ie}ngOnInit(){this.gradingScaleDisabledSubject$.next(this.disableGradingScale()),this.maxPoints=Sn(this.grade),this.initSave(this.pointsSubject$.pipe(fe(this.isValid.bind(this)),S(e=>({studentId:this.student.Id,testId:this.grade.test.Id,points:e?Number(e):null})))),this.initSave(this.gradeSubject$.pipe(S(e=>({studentId:this.student.Id,testId:this.grade.test.Id,gradeId:e}))))}ngOnChanges(){this.gradingScaleDisabledSubject$.next(this.disableGradingScale())}ngOnDestroy(){this.destroy$.next()}onPointsChange(e){this.pointsSubject$.next(e),this.gradingScaleDisabledSubject$.next(!(e===null||e===""))}onGradeChange(e){this.gradeSubject$.next(e)}isValid(e){return e===""||e===null?!0:isNaN(Number(e))?!1:!(Number(e)<0||Number(e)>this.maxPoints)}initSave(e){e.pipe(Rt(i=>this.state.optimisticallyUpdateGrade(i).pipe(S(n=>({params:i,originalResult:n})))),Bt(ys),Ce(this.destroy$)).subscribe(({params:i,originalResult:n})=>this.state.saveGrade(i,n))}disableGradingScale(){return this.grade.test.IsPublished?!0:this.grade.kind==="no-result"?!1:this.grade.result.Points!=null&&this.grade.test.IsPointGrading}static{this.\u0275fac=function(i){return new(i||t)(C(K))}}static{this.\u0275cmp=_({type:t,selectors:[["bkd-grade"]],inputs:{grade:"grade",student:"student",tabIndex:"tabIndex",gradeOptions:"gradeOptions"},features:[ke],decls:5,vars:8,consts:[["points","ngModel"],[1,"d-flex","flex-column","w-100"],[1,"d-flex","flex-row"],[1,"point-input-container","me-2","me-md-3"],["data-testid","grade-select",1,"grade-select",3,"valueChange","options","allowEmpty","value","disabled","tabindex"],["type","number","step","0.01","min","0","data-testid","point-input",1,"form-control",3,"ngModelChange","max","disabled","tabindex","ngModel"],["data-testid","validation-error-message",1,"invalid-feedback"]],template:function(i,n){i&1&&(s(0,"div",1)(1,"div",2),T(2,Ss,4,7,"div",3),s(3,"bkd-select",4),l(4,"async"),b("valueChange",function(h){return n.onGradeChange(h)}),a()()()),i&2&&(r(2),y(n.grade.test.IsPointGrading?2:-1),r(),m("options",n.gradeOptions)("allowEmpty",!0)("value",n.grade.kind==="grade"?n.grade.result.GradeId:null)("disabled",c(4,6,n.gradingScaleDisabled$))("tabindex",n.tabIndex))},dependencies:[De,Ke,Je,Ze,Xe,Qe,ii,Be,Y,I],styles:[".point-input-container[_ngcontent-%COMP%]{width:4em}[_nghost-%COMP%] select{width:127px}@media (min-width: 576px){.point-input-container[_ngcontent-%COMP%]{width:5em}}"]})}}return t})();function xs(t,o){if(t&1&&(s(0,"span",1),p(1),a()),t&2){let e=u();r(),f(e.calculatePointsAverage(e.test))}}var On=(()=>{class t{constructor(e){this.locale=e}calculatePointsAverage(e){return this.safeAverage(e,2,st)}calculateGradeAverage(e){return this.safeAverage(e,3,at)}safeAverage(e,i,n){try{return Fi(n(e),this.locale,i)}catch{return Li}}static{this.\u0275fac=function(i){return new(i||t)(C(Qt))}}static{this.\u0275cmp=_({type:t,selectors:[["bkd-average-grades"]],inputs:{test:"test"},decls:4,vars:2,consts:[[1,"d-flex","flex-row","w-100"],["data-testid","average-points",1,"mr-2","mr-md-3","average-points"],["data-testid","average-grade"]],template:function(i,n){i&1&&(s(0,"div",0),T(1,xs,2,1,"span",1),s(2,"span",2),p(3),a()()),i&2&&(r(),y(n.test.IsPointGrading?1:-1),r(2),f(n.calculateGradeAverage(n.test)))},styles:[".average-points[_ngcontent-%COMP%]{min-width:4.5em}@media (min-width: 576px){.average-points[_ngcontent-%COMP%]{min-width:6em}}"]})}}return t})();var $n=(()=>{class t{constructor(){this.disabled=!1,this.width="127px",this.gradeIdSelected=new ee}onGradeChange(e){this.gradeId?.valueOf()!==void 0&&this.gradeIdSelected.emit({id:this.gradeId?.valueOf(),selectedGradeId:e})}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=_({type:t,selectors:[["bkd-grade-select"]],inputs:{options:"options",valueId:"valueId",gradeId:"gradeId",disabled:"disabled",width:"width"},outputs:{gradeIdSelected:"gradeIdSelected"},decls:1,vars:5,consts:[["data-testid","grade-select",3,"valueChange","options","allowEmpty","value","disabled","width"]],template:function(i,n){i&1&&(s(0,"bkd-select",0),b("valueChange",function(h){return n.onGradeChange(h)}),a()),i&2&&m("options",n.options)("allowEmpty",!0)("value",n.valueId)("disabled",n.disabled)("width",n.width)},dependencies:[Be],encapsulation:2})}}return t})();var bs=576,Gn=(()=>{class t{constructor(e,i){this.portal=e,this.state=i,this.destroy$=new ie,this.handleWindowScroll=()=>{this.updateStickyVisibility(),this.updateStickyTopOffset()},this.handleWindowResize=()=>{this.updateStickyWidth(),this.updateStickyVisibility(),this.updateStickyTopOffset()},this.handleTableScroll=()=>{this.updateStickyLeftOffset()}}ngOnInit(){W([this.state.filteredTests$,this.state.expandedHeader$]).pipe(Ce(this.destroy$)).subscribe(()=>setTimeout(()=>this.updateStickyWidth()))}ngAfterViewInit(){this.handleWindowScroll(),this.handleTableScroll(),this.handleWindowResize(),this.window.addEventListener("scroll",this.handleWindowScroll),this.getTableScrollContainer()?.addEventListener("scroll",this.handleTableScroll),this.window.addEventListener("resize",this.handleWindowResize)}ngOnDestroy(){this.window.removeEventListener("scroll",this.handleWindowScroll),this.getTableScrollContainer()?.removeEventListener("scroll",this.handleTableScroll),this.window.removeEventListener("resize",this.handleWindowResize)}get window(){return this.portal.window??window}getTableScrollContainer(){return document.querySelector(".table-responsive-wrapper")??null}updateStickyVisibility(){if(this.isSmallBreakpointDown())return;let e=this.inlineHeader.getTop()+this.getIframeScrollY();this.stickyHeader.shown=this.getScrollTop()>e}updateStickyTopOffset(){this.isSmallBreakpointDown()||this.stickyHeader.setTopOffset(this.portal.inIframe?this.getScrollTop():0)}updateStickyLeftOffset(){this.isSmallBreakpointDown()||this.stickyHeader.setLeftOffset(this.inlineHeader.getLeft())}updateStickyWidth(){this.isSmallBreakpointDown()||(this.stickyHeader.setWidth(this.inlineHeader.getWidth()),this.stickyHeader.setColumnWidths(this.inlineHeader.getColumnWidths()),this.stickyHeader.setStickyColumnHeights(this.inlineHeader.getStickyColumnsHeights()))}getScrollTop(){return this.window.scrollY-this.portal.getIframeTop()}getIframeScrollY(){return window.scrollY}isSmallBreakpointDown(){return window.innerWidth({"btn-primary":t,"btn-outline-secondary":o}),Dn=(()=>{class t{constructor(){this.filter=Gt,this.filterChange=new ee}showOnlyMine(){this.filterChange.next(j(L({},this.filter),{onlyMine:!0}))}showAll(){this.filterChange.next(j(L({},this.filter),{onlyMine:!1}))}onHidePublishedChange(e){let i=(e.target&&e.target instanceof HTMLInputElement&&e.target?.checked)??!1;this.filterChange.next(j(L({},this.filter),{hidePublished:i}))}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=_({type:t,selectors:[["bkd-test-table-filter"]],inputs:{filter:"filter"},outputs:{filterChange:"filterChange"},decls:13,vars:18,consts:[[1,"only-mine-buttons"],["type","button",1,"btn","desktop",3,"click","ngClass"],["type","button",1,"btn","ms-2","desktop",3,"click","ngClass"],[1,"hide-published"],[1,"form-check"],["id","hide-published","type","checkbox",1,"form-check-input",3,"change","checked"],["for","hide-published",1,"form-check-label"]],template:function(i,n){i&1&&(s(0,"div",0)(1,"button",1),b("click",function(){return n.showAll()}),p(2),l(3,"translate"),a(),s(4,"button",2),b("click",function(){return n.showOnlyMine()}),p(5),l(6,"translate"),a()(),s(7,"div",3)(8,"div",4)(9,"input",5),b("change",function(h){return n.onHidePublishedChange(h)}),a(),s(10,"label",6),p(11),l(12,"translate"),a()()()),i&2&&(r(),m("ngClass",wt(12,Ln,!n.filter.onlyMine,n.filter.onlyMine)),r(),v(" ",c(3,6,"tests.all-tests")," "),r(2),m("ngClass",wt(15,Ln,n.filter.onlyMine,!n.filter.onlyMine)),r(),v(" ",c(6,8,"tests.owned-tests")," "),r(4),m("checked",n.filter.hidePublished),r(2),v(" ",c(12,10,"tests.hide-published")," "))},dependencies:[pe,De,I],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;justify-content:space-between;height:100%}.only-mine-buttons[_ngcontent-%COMP%]{display:flex;align-items:center;height:3.625rem}.hide-published[_ngcontent-%COMP%]{display:flex;align-items:center;height:2.375rem;margin-bottom:1rem}.hide-published[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{font-weight:300}.hide-published[_ngcontent-%COMP%] .form-check[_ngcontent-%COMP%]{margin-bottom:0}"]})}}return t})();var Ts=["*"],Fn=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=_({type:t,selectors:[["bkd-preserve-line-height"]],ngContentSelectors:Ts,decls:3,vars:0,template:function(i,n){i&1&&(Zt(),s(0,"div"),Jt(1),p(2,"\xA0"),a())},encapsulation:2})}}return t})();var Rn=(()=>{class t{constructor(e){this.translate=e}transform(e){return`${e.Weight} (${e.WeightPercent}%)${this.getPoints(e)}`}getPoints(e){return e.IsPointGrading?`, ${e.MaxPointsAdjusted??e.MaxPoints} ${this.translate.instant("tests.summary.points")}`:""}static{this.\u0275fac=function(i){return new(i||t)(C(X,16))}}static{this.\u0275pipe=Kt({name:"testSummaryShort",type:t,pure:!0})}}return t})();var ws=t=>[t,"edit"];function Es(t,o){t&1&&(s(0,"i",9),p(1,"edit"),a())}function Is(t,o){if(t&1&&(s(0,"div",5)(1,"div",7)(2,"bkd-preserve-line-height"),p(3),l(4,"date"),a(),s(5,"a",8),T(6,Es,2,0,"i",9),a()(),s(7,"bkd-preserve-line-height"),p(8),l(9,"testSummaryShort"),a(),s(10,"bkd-preserve-line-height"),p(11),a()()),t&2){let e=u();r(3),f(F(4,5,e.test.Date,"dd.MM.yyyy")),r(2),m("routerLink",D(10,ws,e.test.Id)),r(),y(e.test.IsOwner&&e.test.IsPublished===!1?6:-1),r(2),v(" ",c(9,8,e.test)," "),r(3),f(e.test.Owner)}}function ks(t,o){if(t&1){let e=G();s(0,"div",6)(1,"a",10),l(2,"translate"),b("click",function(){w(e);let n=u();return E(n.unpublishTest())}),s(3,"i",11),p(4,"lock"),a(),s(5,"span"),p(6),l(7,"translate"),a()(),s(8,"bkd-caret",12),b("click",function(){w(e);let n=u();return E(n.emitToggleHeader())}),a()()}if(t&2){let e=u();r(),le("title",c(2,3,"tests.edit")),r(5),f(c(7,5,"tests.published")),r(2),m("expanded",e.expanded)}}function Ps(t,o){if(t&1){let e=G();s(0,"div",6)(1,"a",13),l(2,"translate"),b("click",function(){w(e);let n=u();return E(n.publishTest())}),s(3,"i",11),p(4,"lock_open"),a(),s(5,"span"),p(6),l(7,"translate"),a()(),s(8,"bkd-caret",12),b("click",function(){w(e);let n=u();return E(n.emitToggleHeader())}),a()()}if(t&2){let e=u();r(),le("title",c(2,3,"tests.publish")),r(5),f(c(7,5,"tests.not-published")),r(2),m("expanded",e.expanded)}}var Bn=(()=>{class t{constructor(){this.toggleHeader=new ee,this.publish=new ee,this.unpublish=new ee}emitToggleHeader(){this.toggleHeader.emit(!this.expanded)}publishTest(){this.publish.emit(this.test)}unpublishTest(){this.unpublish.emit(this.test)}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=_({type:t,selectors:[["bkd-test-table-header"]],inputs:{test:"test",expanded:"expanded"},outputs:{toggleHeader:"toggleHeader",publish:"publish",unpublish:"unpublish"},decls:9,vars:5,consts:[[1,"d-flex","flex-column","h-100","justify-content-between"],["role","button",1,"test-designation","d-flex","flex-row","my-3","align-items-end","justify-content-between",3,"click"],[3,"ngClass"],[1,"align-self-start",3,"expanded"],[1,"d-flex","flex-column"],[1,"d-flex","flex-column","mb-3"],[1,"d-flex","align-items-center","justify-content-between","test-status"],[1,"d-flex","flex-row","justify-content-between"],[1,"btn","btn-link","p-0","edit",3,"routerLink"],[1,"material-icons"],[1,"d-flex","btn","btn-link","ps-0","edit",3,"click","title"],[1,"material-icons","me-1"],[1,"expand-mobile",3,"click","expanded"],[1,"d-flex","btn","btn-link","ps-0",3,"click","title"]],template:function(i,n){i&1&&(s(0,"div",0)(1,"div",1),b("click",function(){return n.emitToggleHeader()}),s(2,"div",2),p(3),a(),x(4,"bkd-caret",3),a(),s(5,"div",4),T(6,Is,12,12,"div",5)(7,ks,9,7,"div",6)(8,Ps,9,7,"div",6),a()()),i&2&&(r(2),m("ngClass",n.expanded?"expanded":"collapsed"),r(),v(" ",n.test.Designation," "),r(),m("expanded",n.expanded),r(2),y(n.expanded?6:-1),r(),y(n.test.IsPublished?7:8))},dependencies:[pe,bi,Fn,Q,$e,I,Rn],styles:["[_nghost-%COMP%]{font-weight:300}.collapsed[_ngcontent-%COMP%]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.test-designation[_ngcontent-%COMP%]{display:none!important}.test-status[_ngcontent-%COMP%]{order:-1;padding-bottom:1rem}.test-status[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{text-decoration:none}.test-status[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:hover{color:#000}.test-status[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{text-decoration:underline}.test-status[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:hover{text-decoration-color:#ea161f}.edit[_ngcontent-%COMP%]{color:#00000080;text-decoration:none}@media (min-width: 811px){.test-designation[_ngcontent-%COMP%]{display:inherit!important}.test-status[_ngcontent-%COMP%]{order:initial}.expand-mobile[_ngcontent-%COMP%]{display:none!important}}"]})}}return t})();var Ms=["bkdTestEditGradesHeader",""],Lt=(t,o)=>o.Id,Os=t=>({"test-point-grading":t}),$s=t=>({selected:t});function Gs(t,o){if(t&1){let e=G();s(0,"th",3)(1,"bkd-test-table-header",14),b("toggleHeader",function(n){w(e);let d=u();return E(d.state.toggleHeader(n))})("publish",function(n){w(e);let d=u();return E(d.publish.emit(n))})("unpublish",function(n){w(e);let d=u();return E(d.unpublish.emit(n))}),a()()}if(t&2){let e=o.$implicit,i=u(),n=O(4);m("ngClass",e.Id===(i.selectedTest==null?null:i.selectedTest.Id)?"selected":""),r(),m("test",e)("expanded",n)}}function Ls(t,o){if(t&1){let e=G();s(0,"th",4)(1,"bkd-test-table-header",14),b("toggleHeader",function(n){w(e);let d=u();return E(d.state.toggleHeader(n))})("publish",function(n){w(e);let d=u();return E(d.publish.emit(n))})("unpublish",function(n){w(e);let d=u();return E(d.unpublish.emit(n))}),a()()}if(t&2){let e=o.$implicit,i=u(),n=O(4);m("ngClass",e.Id===(i.selectedTest==null?null:i.selectedTest.Id)?"selected":""),r(),m("test",e)("expanded",n)}}function Ds(t,o){if(t&1){let e=G();s(0,"div",15)(1,"span",16),b("click",function(){w(e);let n=u().$implicit,d=u();return E(d.state.sortBy(n))}),p(2),l(3,"translate"),a()()}t&2&&(r(2),v("",c(3,1,"tests.points")," "))}function Fs(t,o){if(t&1){let e=G();s(0,"th",13)(1,"div",8),T(2,Ds,4,3,"div",15),s(3,"div",9)(4,"span",16),b("click",function(){let n=w(e).$implicit,d=u();return E(d.state.sortBy(n))}),p(5),l(6,"translate"),a()(),s(7,"div",10),p(8),l(9,"async"),a()()()}if(t&2){let e=o.$implicit,i=u();m("ngClass",e.Id===(i.selectedTest==null?null:i.selectedTest.Id)?"selected":""),r(2),y(e.IsPointGrading?2:-1),r(3),f(c(6,4,"tests.grade")),r(3),v(" ",c(9,6,i.state.getSortingChar$(e))," ")}}var jn=(()=>{class t{set shown(e){let i=this.element.nativeElement.classList;e?i.add("shown"):i.remove("shown")}constructor(e,i){this.state=e,this.element=i,this.sticky=!1,this.publish=new ee,this.unpublish=new ee}getTop(){return this.element.nativeElement.getBoundingClientRect().top}getLeft(){return this.element.nativeElement.getBoundingClientRect().left}setTopOffset(e){this.element.nativeElement.style.top=`${e}px`}setLeftOffset(e){this.element.nativeElement.style.left=`${e}px`}getWidth(){return this.element.nativeElement.getBoundingClientRect().width}setWidth(e){this.element.nativeElement.style.width=`${e}px`}getColumnWidths(){return this.getRowsAndColumns().map(e=>e.map(i=>i.getBoundingClientRect().width))}setColumnWidths(e){let i=this.getRowsAndColumns();if(i.length!==e.length||!i.every((n,d)=>n.length===e[d].length))throw new Error("Given column widths do not match number of header rows/columns");i.forEach((n,d)=>n.forEach((h,g)=>{h.style.width=`${e[d][g]}px`,h.style.minWidth=`${e[d][g]}px`}))}getStickyColumnsHeights(){return this.getRowsAndColumns(".sticky").map(e=>e.map(i=>i.getBoundingClientRect().height))}setStickyColumnHeights(e){let i=this.getRowsAndColumns(".sticky");if(i.length!==e.length||!i.every((n,d)=>n.length===e[d].length))throw new Error("Given column heights do not match number of sticky header columns");i.forEach((n,d)=>n.forEach((h,g)=>{h.style.height=`${e[d][g]}px`})),this.getRows().forEach((n,d)=>{let h=e[d].reduce((g,P)=>Math.max(g,P),0);n.style.height=`${h}px`})}getRowsAndColumns(e){return this.getRows().map(i=>Array.from(i.querySelectorAll(`th:not(.header-mobile)${e??""}`)))}getRows(){return Array.from(this.element.nativeElement.querySelectorAll("tr"))}static{this.\u0275fac=function(i){return new(i||t)(C(K),C(qt))}}static{this.\u0275cmp=_({type:t,selectors:[["thead","bkdTestEditGradesHeader",""]],hostVars:2,hostBindings:function(i,n){i&2&&de("sticky",n.sticky)},inputs:{selectedTest:"selectedTest",sticky:"sticky",shown:"shown"},outputs:{publish:"publish",unpublish:"unpublish"},attrs:Ms,decls:42,vars:32,consts:[[1,"header-collapsible"],["colspan","3",1,"desktop","sticky"],[3,"filterChange","filter"],["container","body",1,"test-grade","grade","test-info-desktop",3,"ngClass"],["container","body","colspan","3",1,"test-grade","header-mobile","test-info-mobile",3,"ngClass"],[1,"filler"],[3,"ngClass"],[1,"sticky","student-name",3,"click"],[1,"d-flex"],[1,"column-title"],[1,"sort-direction","ms-1"],[1,"sticky","student-grade","desktop",3,"click","ngClass"],[1,"border-end","sticky","student-average","desktop",3,"click"],["container","body",1,"test-grade",3,"ngClass"],[3,"toggleHeader","publish","unpublish","test","expanded"],[1,"column-title","point-input-container","me-2","me-md-3"],[3,"click"]],template:function(i,n){if(i&1){let d=G();R(0),l(1,"async"),R(2),l(3,"async"),R(4),l(5,"async"),s(6,"tr",0)(7,"th",1)(8,"bkd-test-table-filter",2),b("filterChange",function(g){return w(d),E(n.state.setFilter(g))}),a()(),H(9,Gs,2,3,"th",3,Lt),H(11,Ls,2,3,"th",4,Lt),x(13,"th",5),a(),s(14,"tr",6)(15,"th",7),b("click",function(){return w(d),E(n.state.sortBy("FullName"))}),s(16,"div",8)(17,"div",9),p(18),l(19,"translate"),a(),s(20,"div",10),p(21),l(22,"async"),a()()(),s(23,"th",11),b("click",function(){return w(d),E(n.state.sortBy("FinalGrade"))}),s(24,"div",8)(25,"div",9),p(26),l(27,"translate"),a(),s(28,"div",10),p(29),l(30,"async"),a()()(),s(31,"th",12),b("click",function(){return w(d),E(n.state.sortBy("TestsMean"))}),s(32,"div",8)(33,"div",9),p(34),l(35,"translate"),a(),s(36,"div",10),p(37),l(38,"async"),a()()(),H(39,Fs,10,8,"th",13,Lt),x(41,"th",5),a()}if(i&2){let d=c(1,9,n.state.filteredTests$),h=c(3,11,n.state.filter$);r(4),A(c(5,13,n.state.expandedHeader$)),r(4),m("filter",h),r(),N(d),r(2),N(d),r(3),m("ngClass",D(28,Os,n.selectedTest==null?null:n.selectedTest.IsPointGrading)),r(4),v(" ",c(19,16,"tests.student.name")," "),r(3),v(" ",c(22,18,n.state.getSortingChar$("FullName"))," "),r(2),m("ngClass",D(30,$s,n.selectedTest===void 0)),r(3),v(" ",c(27,20,"tests.grade")," "),r(3),v(" ",c(30,22,n.state.getSortingChar$("FinalGrade"))," "),r(5),v(" ",c(35,24,"tests.mean")," "),r(3),v(" ",c(38,26,n.state.getSortingChar$("TestsMean"))," "),r(2),N(d)}},dependencies:[Y,pe,I,Dn,Bn],styles:["[_nghost-%COMP%]{--spacer: 16px;--point-input-size: 4em;--grade-input-size: 127px;--points-grade-gap: 1rem;--student-name-column-width: 225px;--student-grade-column-width: calc( var(--spacer) + var(--grade-input-size) + var(--spacer) );--student-average-column-width: 100px;--test-grade-column-width: calc( var(--spacer) + var(--point-input-size) + var(--points-grade-gap) + var(--grade-input-size) + var(--spacer) );--student-grade-column-offset: var(--student-name-column-width);--student-average-column-offset: calc( var(--student-grade-column-offset) + var(--student-grade-column-width) );--test-columns-offset: calc( var(--student-average-column-offset) + var(--student-average-column-width) )}@media (min-width: 1000px){[_nghost-%COMP%]{--student-name-column-width: 275px}}@media (max-width: 767.98px){[_nghost-%COMP%]{--points-grade-gap: calc(.5 * var(--spacer))}}th[_ngcontent-%COMP%], td[_ngcontent-%COMP%]{padding:1rem}td[_ngcontent-%COMP%]{vertical-align:middle}@media (min-width: 576px){[_nghost-%COMP%]{--point-input-size: 5em}}tr[_ngcontent-%COMP%]:not(.header-collapsible) th.test-grade[_ngcontent-%COMP%], td.test-grade[_ngcontent-%COMP%]{width:var(--test-grade-column-width);min-width:var(--test-grade-column-width);max-width:var(--test-grade-column-width)}@media (max-width: 810px){tr[_ngcontent-%COMP%]:not(.header-collapsible):not(.test-point-grading) th.test-grade[_ngcontent-%COMP%], tr[_ngcontent-%COMP%]:not(.test-point-grading) th.student-grade[_ngcontent-%COMP%], table[_ngcontent-%COMP%]:not(.test-point-grading) td.test-grade[_ngcontent-%COMP%], table[_ngcontent-%COMP%]:not(.test-point-grading) td.student-grade[_ngcontent-%COMP%]{width:calc(var(--spacer) + var(--grade-input-size) + var(--spacer));min-width:calc(var(--spacer) + var(--grade-input-size) + var(--spacer));max-width:calc(var(--spacer) + var(--grade-input-size) + var(--spacer))}}th.filler[_ngcontent-%COMP%], .header-collapsible[_ngcontent-%COMP%] th.filler[_ngcontent-%COMP%], td.filler[_ngcontent-%COMP%]{padding:0;width:auto}@media (max-width: 810px){th.filler[_ngcontent-%COMP%], .header-collapsible[_ngcontent-%COMP%] th.filler[_ngcontent-%COMP%], td.filler[_ngcontent-%COMP%]{width:0}}th.test-grade[_ngcontent-%COMP%] .column-title.point-input-container[_ngcontent-%COMP%]{width:var(--point-input-size)}@media (max-width: 810px){.desktop[_ngcontent-%COMP%]:not(.selected), .student-grade[_ngcontent-%COMP%]:not(.selected), .student-average[_ngcontent-%COMP%], .test-grade[_ngcontent-%COMP%]:not(.selected){display:none}table[_ngcontent-%COMP%], tbody[_ngcontent-%COMP%], thead[_ngcontent-%COMP%]{display:flex;flex-direction:column;width:100%}th[_ngcontent-%COMP%], tr[_ngcontent-%COMP%]{display:flex;width:100%}.student-name[_ngcontent-%COMP%]{flex:1;display:block;padding-right:0}.test-grade[_ngcontent-%COMP%]{flex:none;display:block}}@media (min-width: 811px){.mobile[_ngcontent-%COMP%]{display:none}.student-name[_ngcontent-%COMP%]{width:var(--student-name-column-width);min-width:var(--student-name-column-width);max-width:var(--student-name-column-width)}.student-grade[_ngcontent-%COMP%]{width:var(--student-grade-column-width);min-width:var(--student-grade-column-width);max-width:var(--student-grade-column-width)}.student-average[_ngcontent-%COMP%]{width:var(--student-average-column-width);min-width:var(--student-average-column-width);max-width:var(--student-average-column-width)}.test-grade[_ngcontent-%COMP%]{width:var(--test-grade-column-width);min-width:var(--test-grade-column-width);max-width:var(--test-grade-column-width)}th.sticky[_ngcontent-%COMP%], td.sticky[_ngcontent-%COMP%]{position:sticky;left:0;background-color:#fff}th.sticky.student-grade[_ngcontent-%COMP%], td.sticky.student-grade[_ngcontent-%COMP%]{left:var(--student-grade-column-offset)}th.sticky.student-average[_ngcontent-%COMP%], td.sticky.student-average[_ngcontent-%COMP%]{left:var(--student-average-column-offset)}}@media (max-width: 1200px){[_nghost-%COMP%]{--student-average-column-width: 1px}.student-average[_ngcontent-%COMP%]{padding:0;overflow:hidden}}@media (min-width: 1201px){.student-average-inline[_ngcontent-%COMP%]{display:none}}.sticky[_nghost-%COMP%]{position:fixed;top:0;left:0;z-index:1000;display:none}tr[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{border-top:none;vertical-align:top}.header-collapsible[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{border-bottom:1px solid #dee2e6;padding:0 1rem}tr[_ngcontent-%COMP%] th.test-info-desktop[_ngcontent-%COMP%]{display:none!important}@media (min-width: 811px){.sticky.shown[_nghost-%COMP%]{display:table-header-group}tr[_ngcontent-%COMP%] th.test-info-mobile[_ngcontent-%COMP%]{display:none!important}tr[_ngcontent-%COMP%] th.test-info-desktop[_ngcontent-%COMP%]{display:table-cell!important}tr[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{border-top:none;padding-top:.25rem;padding-bottom:.25rem;border-top:initial}.sticky[_nghost-%COMP%]{margin-left:var(--test-columns-offset)}.sticky[_nghost-%COMP%] th.sticky[_ngcontent-%COMP%]{position:fixed}}"],changeDetection:0})}}return t})();var Rs=(t,o)=>o.student.Id,Bs=(t,o)=>o.Id,js=(t,o)=>o.id,Vs=t=>({"test-point-grading":t}),Vn=t=>({selected:t}),As=t=>["student",t,"grades"],Hs=t=>({"visible-on-mobile":t});function Ns(t,o){if(t&1){let e=G();s(0,"bkd-grade-select",19),l(1,"async"),l(2,"async"),b("gradeIdSelected",function(n){w(e);let d=u(2);return E(d.state.overwriteFinalGrade(n))}),a()}if(t&2){let e=u().$implicit,i=u();m("options",c(1,4,i.state.gradingOptionsForCourse$()))("valueId",e.finalGrade.finalGradeId)("gradeId",e.finalGrade.id)("disabled",c(2,6,i.isEditFinalGradesAllowed(e))===!1)}}function Us(t,o){if(t&1&&(s(0,"div"),p(1),a()),t&2){let e=u().$implicit;r(),v(" ",e.finalGrade.freeHandGrade," ")}}function Ws(t,o){if(t&1&&(R(0),s(1,"td",11),x(2,"bkd-grade",20),l(3,"async"),a()),t&2){let e=o.$implicit,i=o.$index,n=u(),d=n.$implicit,h=n.$index,g=u(),P=e.grade;r(),m("ngClass",g.selectedTest!==void 0&&P.test.Id===g.selectedTest.Id?"selected":""),r(),m("grade",P)("gradeOptions",c(3,5,g.state.gradingOptionsForTest$(P.test)))("student",d.student)("tabIndex",(1+i)*1e3+h)}}function zs(t,o){if(t&1&&(s(0,"tr")(1,"td",6)(2,"a",15)(3,"div"),p(4),a(),s(5,"div",8),p(6),l(7,"translate"),l(8,"decimalOrDash"),a()()(),s(9,"td",16),T(10,Ns,3,8,"bkd-grade-select",17)(11,Us,2,1,"div"),a(),s(12,"td",18),p(13),l(14,"decimalOrDash"),a(),H(15,Ws,4,7,"td",11,js),x(17,"td",12),a()),t&2){let e=o.$implicit,i=u();r(2),m("routerLink",D(16,As,e.student.Id)),r(2),f(e.student.FullName),r(2),Ue(" ",c(7,8,"tests.mean"),": ",F(8,10,e.finalGrade==null?null:e.finalGrade.average,"1-3")," "),r(3),m("ngClass",D(18,Vn,i.selectedTest===void 0)),r(),y(e.finalGrade&&!e.finalGrade.freeHandGrade?10:-1),r(),y(e.finalGrade&&e.finalGrade.freeHandGrade?11:-1),r(2),v(" ",F(14,13,e.finalGrade==null?null:e.finalGrade.average,"1-3")," "),r(2),N(i.getGrades(e))}}function qs(t,o){if(t&1&&(s(0,"td",11),x(1,"bkd-average-grades",21),a()),t&2){let e=o.$implicit,i=u();m("ngClass",e.Id===(i.selectedTest==null?null:i.selectedTest.Id)||e.Id===(i.selectedTest==null?null:i.selectedTest.Id)?"selected":""),r(),m("test",e)}}function Ys(t,o){if(t&1){let e=G();s(0,"button",22),b("click",function(){w(e);let n=u();return E(n.setAverageAsFinalGrade())}),p(1),l(2,"translate"),a()}if(t&2){let e=u(),i=O(2);m("ngClass",D(4,Hs,!i||!e.selectedTest)),r(),v(" ",c(2,2,"tests.set-final-grade")," ")}}var An=(()=>{class t{constructor(e,i){this.state=e,this.modalService=i}ngOnInit(){this.state.setSorting({key:"FullName",ascending:!0})}setAverageAsFinalGrade(){this.state.course$.pipe(ae(1)).subscribe(e=>this.state.setAveragesAsFinalGrades({CourseIds:[e.Id]}))}isEditFinalGradesAllowed(e){return this.state.course$.pipe(S(i=>!!(ut(i)?.value&&e.finalGrade?.canGrade)))}getGrades(e){return e.grades.flatMap(i=>({id:`${e.student.Id}-${i.test.Id}`,grade:i}))}publish(e){let i=this.openModal(e);this.onCloseModal(i,()=>this.state.publish(e))}unpublish(e){let i=this.openModal(e);this.onCloseModal(i,()=>this.state.unpublish(e))}calculatePointsAverage(e){return this.safeAverage(e,st)}calculateGradeAverage(e){return this.safeAverage(e,at)}safeAverage(e,i){try{return i(e).toString()}catch{return"\u2013"}}openModal(e){let i=this.modalService.open(Pn);return i.componentInstance.test=e,i}onCloseModal(e,i){e.result.then(n=>{n&&i()},()=>{})}static{this.\u0275fac=function(i){return new(i||t)(C(K),C(dt))}}static{this.\u0275cmp=_({type:t,selectors:[["bkd-test-edit-grades"]],inputs:{selectedTest:"selectedTest"},features:[ne([Ne])],decls:40,vars:45,consts:[["inlineHeader",""],["stickyHeader",""],[1,"table-responsive-wrapper"],["bkdTestEditGradesHeaderSticky","",1,"table","table-hover","h-100",3,"ngClass","inlineHeader","stickyHeader"],["bkdTestEditGradesHeader","",3,"publish","unpublish","selectedTest"],["bkdTestEditGradesHeader","",3,"publish","unpublish","sticky","selectedTest"],[1,"sticky","student-name"],[1,"d-flex","flex-column"],[1,"student-average-inline"],[1,"desktop","sticky","student-grade",3,"ngClass"],[1,"desktop","border-end","sticky","student-average"],[1,"test-grade",3,"ngClass"],[1,"filler"],[1,"action-buttons"],["data-testId","apply-average-button","type","button",1,"apply-average-button","btn","btn-primary","m-3",3,"ngClass"],[3,"routerLink"],[1,"sticky","student-grade",3,"ngClass"],[3,"options","valueId","gradeId","disabled"],[1,"border-end","sticky","student-average"],[3,"gradeIdSelected","options","valueId","gradeId","disabled"],[3,"grade","gradeOptions","student","tabIndex"],[3,"test"],["data-testId","apply-average-button","type","button",1,"apply-average-button","btn","btn-primary","m-3",3,"click","ngClass"]],template:function(i,n){if(i&1){let d=G();R(0),l(1,"async"),R(2),l(3,"async"),R(4),l(5,"async"),s(6,"div",2)(7,"table",3)(8,"thead",4,0),b("publish",function(g){return w(d),E(n.publish(g))})("unpublish",function(g){return w(d),E(n.unpublish(g))}),a(),s(10,"thead",5,1),b("publish",function(g){return w(d),E(n.publish(g))})("unpublish",function(g){return w(d),E(n.unpublish(g))}),a(),s(12,"tbody"),H(13,zs,18,20,"tr",null,Rs),s(15,"tr")(16,"td",6)(17,"div",7)(18,"div"),p(19),l(20,"translate"),a(),s(21,"div",8),p(22),l(23,"translate"),l(24,"async"),l(25,"decimalOrDash"),a()()(),s(26,"td",9),p(27),l(28,"async"),l(29,"decimalOrDash"),a(),s(30,"td",10),p(31),l(32,"async"),l(33,"decimalOrDash"),a(),H(34,qs,2,2,"td",11,Bs),x(36,"td",12),a()()(),s(37,"div",13),T(38,Ys,3,6,"button",14),l(39,"async"),a()()}if(i&2){let d=Se(9),h=Se(11),g=c(1,13,n.state.filteredTests$);r(2),A(c(3,15,n.state.hasTests$));let P=c(5,18,n.state.studentGrades$);r(5),m("ngClass",D(41,Vs,n.selectedTest==null?null:n.selectedTest.IsPointGrading))("inlineHeader",d)("stickyHeader",h),r(),m("selectedTest",n.selectedTest),r(2),m("sticky",!0)("selectedTest",n.selectedTest),r(3),N(P),r(6),f(c(20,20,"tests.average")),r(3),Ue(" ",c(23,22,"tests.mean"),": ",F(25,26,c(24,24,n.state.meanOfStudentGradesForCourse$),"1-3")," "),r(4),m("ngClass",D(43,Vn,n.selectedTest===void 0)),r(),v(" ",F(29,31,c(28,29,n.state.meanOfFinalGradesForCourse$),"1-3")," "),r(4),v(" ",F(33,36,c(32,34,n.state.meanOfStudentGradesForCourse$),"1-3")," "),r(3),N(g),r(4),y(c(39,39,n.state.canSetFinalGrade$)?38:-1)}},dependencies:[pe,Q,$n,Mn,On,Y,I,Di,Gn,jn],styles:["[_nghost-%COMP%]{--spacer: 16px;--point-input-size: 4em;--grade-input-size: 127px;--points-grade-gap: 1rem;--student-name-column-width: 225px;--student-grade-column-width: calc( var(--spacer) + var(--grade-input-size) + var(--spacer) );--student-average-column-width: 100px;--test-grade-column-width: calc( var(--spacer) + var(--point-input-size) + var(--points-grade-gap) + var(--grade-input-size) + var(--spacer) );--student-grade-column-offset: var(--student-name-column-width);--student-average-column-offset: calc( var(--student-grade-column-offset) + var(--student-grade-column-width) );--test-columns-offset: calc( var(--student-average-column-offset) + var(--student-average-column-width) )}@media (min-width: 1000px){[_nghost-%COMP%]{--student-name-column-width: 275px}}@media (max-width: 767.98px){[_nghost-%COMP%]{--points-grade-gap: calc(.5 * var(--spacer))}}th[_ngcontent-%COMP%], td[_ngcontent-%COMP%]{padding:1rem}td[_ngcontent-%COMP%]{vertical-align:middle}@media (min-width: 576px){[_nghost-%COMP%]{--point-input-size: 5em}}tr[_ngcontent-%COMP%]:not(.header-collapsible) th.test-grade[_ngcontent-%COMP%], td.test-grade[_ngcontent-%COMP%]{width:var(--test-grade-column-width);min-width:var(--test-grade-column-width);max-width:var(--test-grade-column-width)}@media (max-width: 810px){tr[_ngcontent-%COMP%]:not(.header-collapsible):not(.test-point-grading) th.test-grade[_ngcontent-%COMP%], tr[_ngcontent-%COMP%]:not(.test-point-grading) th.student-grade[_ngcontent-%COMP%], table[_ngcontent-%COMP%]:not(.test-point-grading) td.test-grade[_ngcontent-%COMP%], table[_ngcontent-%COMP%]:not(.test-point-grading) td.student-grade[_ngcontent-%COMP%]{width:calc(var(--spacer) + var(--grade-input-size) + var(--spacer));min-width:calc(var(--spacer) + var(--grade-input-size) + var(--spacer));max-width:calc(var(--spacer) + var(--grade-input-size) + var(--spacer))}}th.filler[_ngcontent-%COMP%], .header-collapsible[_ngcontent-%COMP%] th.filler[_ngcontent-%COMP%], td.filler[_ngcontent-%COMP%]{padding:0;width:auto}@media (max-width: 810px){th.filler[_ngcontent-%COMP%], .header-collapsible[_ngcontent-%COMP%] th.filler[_ngcontent-%COMP%], td.filler[_ngcontent-%COMP%]{width:0}}th.test-grade[_ngcontent-%COMP%] .column-title.point-input-container[_ngcontent-%COMP%]{width:var(--point-input-size)}@media (max-width: 810px){.desktop[_ngcontent-%COMP%]:not(.selected), .student-grade[_ngcontent-%COMP%]:not(.selected), .student-average[_ngcontent-%COMP%], .test-grade[_ngcontent-%COMP%]:not(.selected){display:none}table[_ngcontent-%COMP%], tbody[_ngcontent-%COMP%], thead[_ngcontent-%COMP%]{display:flex;flex-direction:column;width:100%}th[_ngcontent-%COMP%], tr[_ngcontent-%COMP%]{display:flex;width:100%}.student-name[_ngcontent-%COMP%]{flex:1;display:block;padding-right:0}.test-grade[_ngcontent-%COMP%]{flex:none;display:block}}@media (min-width: 811px){.mobile[_ngcontent-%COMP%]{display:none}.student-name[_ngcontent-%COMP%]{width:var(--student-name-column-width);min-width:var(--student-name-column-width);max-width:var(--student-name-column-width)}.student-grade[_ngcontent-%COMP%]{width:var(--student-grade-column-width);min-width:var(--student-grade-column-width);max-width:var(--student-grade-column-width)}.student-average[_ngcontent-%COMP%]{width:var(--student-average-column-width);min-width:var(--student-average-column-width);max-width:var(--student-average-column-width)}.test-grade[_ngcontent-%COMP%]{width:var(--test-grade-column-width);min-width:var(--test-grade-column-width);max-width:var(--test-grade-column-width)}th.sticky[_ngcontent-%COMP%], td.sticky[_ngcontent-%COMP%]{position:sticky;left:0;background-color:#fff}th.sticky.student-grade[_ngcontent-%COMP%], td.sticky.student-grade[_ngcontent-%COMP%]{left:var(--student-grade-column-offset)}th.sticky.student-average[_ngcontent-%COMP%], td.sticky.student-average[_ngcontent-%COMP%]{left:var(--student-average-column-offset)}}@media (max-width: 1200px){[_nghost-%COMP%]{--student-average-column-width: 1px}.student-average[_ngcontent-%COMP%]{padding:0;overflow:hidden}}@media (min-width: 1201px){.student-average-inline[_ngcontent-%COMP%]{display:none}}tbody[_ngcontent-%COMP%] td.student-name[_ngcontent-%COMP%], tbody[_ngcontent-%COMP%] td.student-name[_ngcontent-%COMP%] *[_ngcontent-%COMP%]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}tbody[_ngcontent-%COMP%] td.student-name[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{text-decoration:none}tbody[_ngcontent-%COMP%] td.student-name[_ngcontent-%COMP%] a[_ngcontent-%COMP%] div[_ngcontent-%COMP%]:first-child{text-decoration:underline}tbody[_ngcontent-%COMP%] td.student-name[_ngcontent-%COMP%] a[_ngcontent-%COMP%] div[_ngcontent-%COMP%]:first-child:hover{text-decoration-color:#ea161f}.student-average-inline[_ngcontent-%COMP%]{color:#4e4e4ef2;font-size:.875rem;line-height:1}@media (min-width: 811px){.table-responsive-wrapper[_ngcontent-%COMP%]{display:block;overflow-x:auto}table[_ngcontent-%COMP%]{border-collapse:separate;border-spacing:0}.action-buttons[_ngcontent-%COMP%]{position:sticky;left:0}}@media (max-width: 810px){.apply-average-button[_ngcontent-%COMP%]:not(.visible-on-mobile){display:none!important}}"]})}}return t})();var Ks=()=>["/events"],Zs=t=>({count:t});function Js(t,o){if(t&1&&(s(0,"div",7),p(1),l(2,"translate"),a()),t&2){let e=u();r(),v(" ",F(2,1,e.course.ParticipatingStudents.length===1?"courses.registration":"courses.registrations",D(4,Zs,e.course.ParticipatingStudents.length))," ")}}var Hn=(()=>{class t{constructor(e){this.reportsService=e,this.course$=new q(null),this.reports$=this.course$.pipe(S(i=>i?.Id),Z(),M(i=>i?this.reportsService.getCourseTestsReports(i):U([])),Vt([]))}ngOnChanges(e){e.course&&this.course$.next(e.course.currentValue)}getDesignation(){return ht(this.course)}static{this.\u0275fac=function(i){return new(i||t)(C(ot))}}static{this.\u0275cmp=_({type:t,selectors:[["bkd-tests-header"]],inputs:{course:"course"},features:[ke],decls:12,vars:7,consts:[[3,"link"],[1,"d-flex"],["routerLink","add",1,"edit","btn","btn-primary","btn-icon","ms-2"],[1,"material-icons"],[1,"ms-2",3,"reports"],["id","excel-import"],[1,"d-flex","flex-column","header"],[1,"additional-info"]],template:function(i,n){i&1&&(s(0,"bkd-backlink",0)(1,"div",1)(2,"a",2)(3,"i",3),p(4,"add"),a()(),x(5,"bkd-reports-link",4),l(6,"async"),x(7,"div",5),a()(),s(8,"div",6)(9,"h1"),p(10),a(),T(11,Js,3,6,"div",7),a()),i&2&&(m("link",Oe(6,Ks)),r(5),m("reports",c(6,4,n.reports$)),r(5),f(n.getDesignation()),r(),y(n.course.ParticipatingStudents?11:-1))},dependencies:[Ve,Q,nt,Y,I],styles:[".header[_ngcontent-%COMP%]{padding-bottom:1rem;border-bottom:1px solid #dee2e6}h1[_ngcontent-%COMP%]{margin-bottom:0}.additional-info[_ngcontent-%COMP%]{color:#adb5bd}"]})}}return t})();var Qs=()=>[],Xs=t=>({"visible-on-mobile":t});function ea(t,o){t&1&&x(0,"bkd-spinner")}function ta(t,o){if(t&1){let e=G();s(0,"bkd-select",4),b("valueChange",function(n){w(e);let d=u(2);return E(n&&d.testSelected(n))}),a(),x(1,"bkd-test-edit-grades",5)}if(t&2){u(2);let e=O(6),i=O(8),n=O(10);m("options",e)("value",i)("allowEmpty",!1),r(),m("selectedTest",n)}}function ia(t,o){t&1&&(s(0,"p",2),p(1),l(2,"translate"),a()),t&2&&(r(),f(c(2,1,"tests.no-tests")))}function na(t,o){if(t&1&&(s(0,"a",3),l(1,"async"),s(2,"i",6),p(3,"arrow_right_alt"),a(),s(4,"span",7),p(5),l(6,"translate"),a()()),t&2){let e=u(2),i=O(4),n=O(10);le("href",c(1,3,e.buildLinkToRatingOverview()),_e),m("ngClass",D(7,Xs,!i||!n)),r(5),f(c(6,5,"tests.link-to-rating-overview"))}}function ra(t,o){if(t&1&&(x(0,"bkd-tests-header",1),T(1,ta,2,4)(2,ia,3,3,"p",2)(3,na,7,9,"a",3),l(4,"async")),t&2){let e=u(),i=O(0),n=O(2);m("course",i),r(),y(n.length>0?1:2),r(2),y(c(4,3,e.state.canSetFinalGrade$)?3:-1)}}var Nn=(()=>{class t{constructor(e,i,n){this.settings=e,this.state=i,this.translate=n,this.selectTest$=new ie,this.testOptions$=this.state.tests$.pipe(S(d=>[{Key:-1,Value:this.translate.instant("tests.grade")},...d.map(h=>({Key:h.Id,Value:h.Designation}))]),Z()),this.selectedTestId$=ze(this.selectTest$,this.state.tests$.pipe(ae(1),S(d=>d[0]?.Id))).pipe(Z()),this.selectedTest$=this.selectedTestId$.pipe(M(d=>this.state.tests$.pipe(S(h=>h.find(g=>g.Id===d)))),Z())}testSelected(e){this.selectTest$.next(e)}buildLinkToRatingOverview(){return this.state.course$.pipe(ae(1),S(e=>this.settings.eventlist.evaluation.replace(":id",String(e.Id))))}static{this.\u0275fac=function(i){return new(i||t)(C(ce),C(K),C(X))}}static{this.\u0275cmp=_({type:t,selectors:[["bkd-tests-list"]],decls:16,vars:22,consts:[[1,"bkd-container"],[3,"course"],[1,"mt-3","px-3"],[1,"rating-overview","d-flex","justify-content-end","pe-3","border-top","pt-3",3,"ngClass","href"],["width","100%",1,"tests-dropdown",3,"valueChange","options","value","allowEmpty"],[3,"selectedTest"],[1,"material-icons","fw-bold"],[1,"ps-1"]],template:function(i,n){if(i&1&&(R(0),l(1,"async"),R(2),l(3,"async"),R(4),l(5,"async"),R(6),l(7,"async"),R(8),l(9,"async"),R(10),l(11,"async"),s(12,"div",0),T(13,ea,1,0,"bkd-spinner"),l(14,"async"),T(15,ra,5,5),a()),i&2){let d;A(c(1,1,n.state.course$)),r(2),A((d=c(3,4,n.state.tests$))!==null&&d!==void 0?d:Oe(21,Qs)),r(2),A(c(5,7,n.state.hasTests$)),r(2),A(c(7,10,n.testOptions$)),r(2),A(c(9,13,n.selectedTestId$)),r(2),A(c(11,16,n.selectedTest$)),r(3),y(c(14,19,n.state.loading$)?13:15)}},dependencies:[Hn,Be,An,pe,ue,Y,I],styles:[".tests-dropdown[_ngcontent-%COMP%]{display:block;padding:1rem 0}@media (min-width: 811px){.tests-dropdown[_ngcontent-%COMP%]{display:none}}a.rating-overview[_ngcontent-%COMP%]{text-decoration:none}a.rating-overview[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{text-decoration:underline}a.rating-overview[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:hover{text-decoration-color:#ea161f}@media (max-width: 810px){a.rating-overview[_ngcontent-%COMP%]:not(.visible-on-mobile){display:none!important}}"]})}}return t})();var yt=(()=>{class t{constructor(e,i){this.state=e,this.route=i,this.courseId$=this.route.paramMap.pipe(S(n=>Number(n.get("id"))),Z()),this.destroy$=new ie}ngOnInit(){this.courseId$.pipe(Ce(this.destroy$)).subscribe(e=>this.state.setCourseId(e))}ngOnDestroy(){this.destroy$.next()}static{this.\u0275fac=function(i){return new(i||t)(C(K),C(re))}}static{this.\u0275cmp=_({type:t,selectors:[["bkd-tests"]],features:[ne([K])],decls:1,vars:0,template:function(i,n){i&1&&x(0,"router-outlet")},dependencies:[ye],encapsulation:2})}}return t})();function Un(t){return{path:t,component:mn,children:[{path:"",component:pn},{path:"study-course-student/:id",component:cn},It]}}var xc=[{path:"",component:hn,children:[{path:"",component:un},{path:"current",component:tn,children:[{path:"",component:en},Un(":id")]},{path:":id",component:yt,children:[{path:"tests",component:Nn},Un("students")]},{path:":id/tests/:testId/edit",component:yt,children:[{path:"",component:kn}]},{path:":id/tests/add",component:yt,children:[{path:"",component:En}]},{path:":id/tests",children:[It]}]}];export{Yi as a,Un as b,xc as c}; diff --git a/public/apps/webapp-schulverwaltung/chunk-6WEK6KVH.js b/public/apps/webapp-schulverwaltung/chunk-6WEK6KVH.js new file mode 100644 index 00000000..10b668d2 --- /dev/null +++ b/public/apps/webapp-schulverwaltung/chunk-6WEK6KVH.js @@ -0,0 +1 @@ +import{a as pe,b as Pe}from"./chunk-DJH5AAGM.js";import{a as bn}from"./chunk-C7RLEXTD.js";import{a as _n,b as vn}from"./chunk-QB4DIFWS.js";import{b as Pn}from"./chunk-DM5T4OMV.js";import{a as Cn}from"./chunk-5ZBE3UL7.js";import{e as fn}from"./chunk-4UVNKLEN.js";import{q as gn,v as ye}from"./chunk-PXVJ3QLD.js";import{a as ct}from"./chunk-HCNFZOWE.js";import{b as zt,c as Xt,e as Qe}from"./chunk-CKFTESOV.js";import{a as rn}from"./chunk-DTTSX64G.js";import"./chunk-Y4QYVF5K.js";import"./chunk-AYQPMCNZ.js";import{a as yn}from"./chunk-A3AAQWNQ.js";import{c as at,g as un}from"./chunk-Z4YBXGVO.js";import{a as cn}from"./chunk-3L4RH6QP.js";import{a as an,b as pn}from"./chunk-DTYYCJHM.js";import"./chunk-XAZECV42.js";import{a as Sn}from"./chunk-3P6YOVUR.js";import{B as ve,C as sn,E as st,G as hn,g as Zt,h as He,l as qe,m as en,n as tn,o as rt,t as nn,x as on}from"./chunk-UYCIECIQ.js";import{d as se}from"./chunk-G6EB45SC.js";import{e as Jt,o as Yt}from"./chunk-WCDEMEW2.js";import{g as z,j as ce}from"./chunk-XFA6UPZX.js";import{a as We,b as be,f as ln,g as dn,h as mn}from"./chunk-PSYDBHTH.js";import{h as At,i as Rt,j as Ge,k as Gt,l as Nt,m as Ut,o as Ht,p as qt,q as Le,r as re,w as Kt,y as Ue}from"./chunk-W4U7QKJF.js";import{a as _e}from"./chunk-AVBHFGIF.js";import{$a as a,$b as Ot,Ab as G,Ad as oe,B as ht,Bb as Y,C as Ct,Cb as Q,Cd as ot,D as tt,Db as ue,Eb as ke,F as O,Fb as ne,Ga as D,Gb as $t,H as Be,Hd as Ne,Id as $e,Jb as p,K as _t,Kb as m,L as vt,Lb as U,M as E,Md as Wt,N as nt,Na as L,O as je,Od as K,P as T,Pd as V,Qa as x,R as q,Ra as J,Rd as Qt,Sa as Pt,Ta as Ve,Tc as Bt,Va as k,X as R,Xa as St,Xb as Dt,Ya as B,Za as j,_,_a as c,a as le,ab as W,b as de,cc as ie,cd as H,da as bt,dc as ge,ea as v,eb as S,f as $,fa as b,fd as jt,g as me,gb as C,h as we,hb as f,ia as yt,id as Vt,jc as it,jd as fe,kd as he,l as Z,lb as X,lc as Fe,ma as te,md as Ft,n as u,nb as xt,nd as Ce,o as M,ob as It,pb as wt,qb as Mt,rb as d,s as Me,sb as I,tb as y,u as ft,ub as Tt,vb as kt,w as ee,wb as Lt,wc as Ae,x as Te,xa as s,xc as Et,ya as h,zc as Re}from"./chunk-2W7IS4PN.js";function xn(n,r){return+z(n)<+z(r)}function In(n,r){return+z(n)==+z(r)}function wn(n,r,e){let t=+z(n,e?.in),[i,o]=[+z(r.start,e?.in),+z(r.end,e?.in)].sort((l,g)=>l-g);return t>=i&&t<=o}function Mn(n,r,e){let t=r.map(o=>({eventId:o,group:n})),i=e.map(o=>t.find(l=>l.eventId===o.eventId)||o);return[...new Set([...i,...t])].filter(o=>o.group!==null)}var Ke=(()=>{class n extends nn{static{this.\u0275fac=(()=>{let e;return function(i){return(e||(e=yt(n)))(i||n)}})()}static{this.\u0275prov=R({token:n,factory:n.\u0275fac})}}return n})();function Tn(n,r){return[...n].sort(oi(r))}function oi(n){return(r,e)=>{switch(n.primarySortKey){case"name":{let t=r.name.localeCompare(e.name);return n.ascending?t*-1:t}case"group":{let t=(r.detail.Value||"").localeCompare(e.detail.Value||"");return n.ascending?t*-1:t}}}}function kn(n,r){return n.map(e=>ri(e,r))}function ri(n,r){return{id:n.IdPerson,name:r.find(e=>e.StudentRef.Id===n.IdPerson)?.StudentFullName||"",group:n.Value,detail:n}}function Ln(n,r){return n.filter(e=>e.VssId===r.subscriptionDetailGroupId)}function pt(n,r){return n.find(e=>e.VssId===r.subscriptionDetailGroupId)}var si=(n,r)=>r.id;function ci(n,r){if(n&1){let e=S();c(0,"div",1)(1,"input",5),C("change",function(){let i=v(e).$implicit,o=f();return b(o.onSelectionChange(i))}),a(),c(2,"label",6),d(3),a()()}if(n&2){let e=r.$implicit,t=r.$index,i=f();s(),X("id","group-",t,""),x("checked",e.id===i.selected.id)("value",e.id),s(),X("for","group-",t,""),s(),y(" ",e.label," ")}}var De=function(n){return n.Select="select",n.Assign="assign",n}(De||{}),$n=(()=>{class n{constructor(e,t){this.activeModal=e,this.translate=t,this.groupOptions=[]}ngOnInit(){this.title=`presence-control.groups.${this.dialogMode}.title`;let e=this.createEmtpyOption();this.groupOptions=this.createGroupOptions(this.subscriptionDetailsDefinitions),this.groupOptions.unshift(e),this.selected=this.groupOptions.find(t=>t.id===this.group)||e}createEmtpyOption(){let e=this.dialogMode===De.Select?"presence-control.groups.all":"presence-control.groups.none";return{id:null,label:this.translate.instant(e)}}createGroupOptions(e){return e.DropdownItems?e.DropdownItems.map(t=>({id:t.Key,label:`${this.translate.instant("presence-control.groups.group")} ${t.Value}`})):[]}getSelectedGroup(){return this.selected}onSelectionChange(e){this.selected=e}static{this.\u0275fac=function(t){return new(t||n)(h(re),h(K))}}static{this.\u0275cmp=D({type:n,selectors:[["bkd-presence-control-group-dialog"]],inputs:{dialogMode:"dialogMode",subscriptionDetailsDefinitions:"subscriptionDetailsDefinitions",group:"group"},decls:14,vars:9,consts:[[1,"modal-body"],[1,"form-check"],[1,"modal-footer"],["type","button",1,"btn","btn-outline-secondary",3,"click"],["type","button",1,"btn","btn-primary",3,"click"],["type","radio","name","groups",1,"form-check-input",3,"change","id","checked","value"],[1,"form-check-label",3,"for"]],template:function(t,i){t&1&&(c(0,"div",0)(1,"p"),d(2),p(3,"translate"),a(),c(4,"form"),B(5,ci,4,7,"div",1,si),a()(),c(7,"div",2)(8,"button",3),C("click",function(){return i.activeModal.dismiss()}),d(9),p(10,"translate"),a(),c(11,"button",4),C("click",function(){return i.activeModal.close(i.getSelectedGroup())}),d(12),p(13,"translate"),a()()),t&2&&(s(2),y(" ",m(3,3,i.title)," "),s(3),j(i.groupOptions),s(4),y(" ",m(10,5,"presence-control.groups.cancel")," "),s(3),y(" ",m(13,7,"presence-control.groups.save")," "))},dependencies:[oe,Ce,fe,he,V],encapsulation:2})}}return n})();function Dn(n,r){return n===null&&r===null||n!==null&&r!==null&&n.TeacherInformation===r.TeacherInformation&&n.LessonDateTimeFrom.getTime()===r.LessonDateTimeFrom.getTime()&&n.LessonDateTimeTo.getTime()===r.LessonDateTimeTo.getTime()}function On(n){let r=new dt(n.TeacherInformation,n.LessonDateTimeFrom,n.LessonDateTimeTo);return r.addLesson(n),r}var dt=class{constructor(r,e,t){this.TeacherInformation=r,this.LessonDateTimeFrom=e,this.LessonDateTimeTo=t,this.lessons=[]}addLesson(r){this.lessons.some(e=>qe(e,r))||(this.lessons.push(r),this.updateId(),this.updateStudyClassNumbers(),this.updateEventDesignations())}getIds(){return[...new Set(this.lessons.map(r=>r.LessonRef.Id))]}getEventIds(){return[...new Set(this.lessons.map(r=>r.EventRef.Id))]}updateId(){this.id=[...new Set(this.lessons.map(r=>r.LessonRef.Id).sort())].join("-")}updateStudyClassNumbers(){this.studyClassNumbers=[...new Set(this.lessons.map(r=>r.StudyClassNumber).sort((r,e)=>r.localeCompare(e)))].join(", ")}updateEventDesignations(){this.eventDesignations=[...new Set(this.lessons.map(r=>r.EventDesignation).sort())].join(", ")}};function En(n){return ai(n).reduce((r,e)=>{let t=r.find(o=>Dn(o,e));if(t)return t.addLesson(e),r;let i=On(e);return[...r,i]},[]).sort(rt)}function Bn(n){if(n.length===0)return null;let r=new Date;if(n=[...n].sort(rt),Xt(r,n[0].LessonDateTimeFrom)){for(let e of n)if(xn(r,e.LessonDateTimeFrom)||wn(r,{start:e.LessonDateTimeFrom,end:e.LessonDateTimeTo}))return e;return n[n.length-1]}return n[0]}function ai(n){return n.reduce((r,e)=>r.some(t=>qe(t,e))?r:[...r,e],[])}function jn(n,r,e,t){return n.map(i=>{let o=r.find(l=>pi(l.presence,i));if(o){let l;return!o.newPresenceTypeId&&i.Comment?l=e.find(g=>g.IsComment)||null:l=e.find(g=>g.Id===o.newPresenceTypeId)||null,de(le({},i),{TypeRef:li(l),Date:null,Type:l?l.Designation:null,ConfirmationStateId:He(l,t)})}return i})}function pi(n,r){return n.LessonRef.Id===r.LessonRef.Id&&n.StudentRef.Id===r.StudentRef.Id}function li(n){return{Id:n?n.Id:null,HRef:null}}function Xe(n){return r=>r.reduce((e,t)=>e+(t.presenceCategory===n?1:0),0)}function Vn(){return n=>n.reduce((r,e)=>r+(e.precedingAbsences&&e.precedingAbsences.length>0?1:0),0)}var Fn=(()=>{class n extends We{constructor(e,t){super(e,t,at,"LessonTeachers")}loadOtherTeachersLessonAbsences(e,t,i){let o=`${this.baseUrl}/except/${e}/LessonAbsences?expand=LessonRef`;return t&&t.length>0&&(o=o.concat("&filter.StudentRef=;"+t.join(";"))),this.http.get(o,{params:i}).pipe(T(Wt(at)))}static{this.\u0275fac=function(t){return new(t||n)(_(Fe),_(H))}}static{this.\u0275prov=R({token:n,factory:n.\u0275fac,providedIn:"root"})}}return n})();var Ye=(()=>{class n extends We{constructor(e,t){super(e,t,gn,"SubscriptionDetails")}getListForEvent(e){return this.getList({params:{IdEvent:String(e)}})}update(e,t){let i={IdPerson:t.IdPerson,EventId:t.EventId,Value:e};return this.http.put(`${this.baseUrl}/${t.Id}`,i).pipe(u(()=>{}))}static{this.\u0275fac=function(t){return new(t||n)(_(Fe),_(H))}}static{this.\u0275prov=R({token:n,factory:n.\u0275fac,providedIn:"root"})}}return n})();var Rn="presence-control-group",ae=(()=>{class n{constructor(e,t,i,o,l){this.userSettings=e,this.eventService=t,this.subscriptionDetailsService=i,this.loadingService=o,this.settings=l,this.selectGroup$=new $,this.selectedLesson$=new we,this.lessonPresences$=new we,this.reloadSubscriptionDetails$=new $,this.defaultGroup=null,this.savedGroup$=this.selectedLesson$.pipe(T(g=>this.userSettings.getPresenceControlGroupView().pipe(u(w=>this.findGroupByLesson(w,g))))),this.group$=ee(this.selectGroup$,this.savedGroup$).pipe(je(this.defaultGroup),E(1)),this.loading$=this.loadingService.loading(Rn),this.subscriptionDetailsDefinitions$=this.selectedLesson$.pipe(u(g=>g?.getEventIds()||[]),T(g=>Me(g.map(w=>this.eventService.getSubscriptionDetailsDefinitions(w)))),E(1)),this.groupsAvailability$=this.subscriptionDetailsDefinitions$.pipe(u(g=>g.every(w=>pt(w,this.settings))),E(1)),this.subscriptionDetails$=M([this.selectedLesson$,this.groupsAvailability$,this.reloadSubscriptionDetails$.pipe(u(()=>!1),je(!0))]).pipe(T(([g,w,F])=>g&&w?this.loadSubscriptionDetailsForLesson(g,F):Z([])),u(g=>Ln(g,this.settings)),E(1)),this.subscriptionDetailPersonIds$=M([this.group$,this.subscriptionDetails$]).pipe(u(([g,w])=>w.filter(F=>F.Value===g).map(F=>F.IdPerson)),je([]))}selectGroup(e){this.selectGroup$.next(e)}setSelectedLesson(e){this.selectedLesson$.next(e)}setLessonPresences(e){this.lessonPresences$.next(e)}getSubscriptionDetailsDefinitions(){return this.subscriptionDetailsDefinitions$.pipe(u(ot),u(e=>pt(e,this.settings)))}getSubscriptionDetailsForStudents(){return M([this.subscriptionDetails$,this.lessonPresences$]).pipe(u(se(kn)))}reloadSubscriptionDetails(){this.reloadSubscriptionDetails$.next(void 0)}loadSubscriptionDetailsForLesson(e,t=!0){return this.loadingService.load(Me($e(e.getEventIds()).map(i=>this.subscriptionDetailsService.getListForEvent(i))),t?void 0:Rn).pipe(u(ot))}findGroupByLesson(e,t){return e.find(o=>o.eventId===t?.getEventIds()[0])?.group||this.defaultGroup}static{this.\u0275fac=function(t){return new(t||n)(_(Pe),_(bn),_(Ye),_(ce),_(H))}}static{this.\u0275prov=R({token:n,factory:n.\u0275fac})}}return n})();var Un=Object.values(pe),N=(()=>{class n{constructor(e,t,i,o,l,g,w,F,Se,xe){this.userSettings=e,this.lessonPresencesService=t,this.lessonTeacherService=i,this.presenceTypesService=o,this.groupService=l,this.dropDownItemsService=g,this.loadingService=w,this.storageService=F,this.settings=Se,this.location=xe,this.selectedDateSubject$=new me(new Date),this.selectedDate$=this.selectedDateSubject$.asObservable().pipe(u(P=>Jt(P)),Be(Ne)),this.viewModeSubject$=new $,this.viewMode$=ee(this.viewModeSubject$,this.userSettings.getPresenceControlViewMode().pipe(O(1))),this.lessons$=this.selectedDate$.pipe(T(P=>this.loadLessonsByDate(P)),E(1)),this.selectLessonId$=new $,this.selectLesson$=this.selectLessonId$.pipe(T(P=>this.getLessonById(P))),this.selectedLesson$=M([ln(this.selectLesson$.pipe(Be((P,Ie)=>Ne(P,Ie))),dn(this.settings.lessonPresencesRefreshTime)),this.lessons$]).pipe(u(([P,Ie])=>Ie.find(ni=>ni.id===P.id)?P:null),E(1)),this.studyClassCount$=this.selectedLesson$.pipe(u(P=>P?.lessons.length||0)),this.updateLessonPresences$=new $,this.reloadLessonPresences$=new $,this.lessonPresences$=ee(mn(this.selectedLesson$,this.reloadLessonPresences$).pipe(T(P=>P?this.loadLessonPresencesByLesson(P):Z([]))),this.updateLessonPresences$).pipe(E(1)),this.presenceTypes$=this.loadPresenceTypes().pipe(E(1)),this.reloadStudentIdsWithUnconfirmedAbsences$=new $,this.studentIdsWithUnconfirmedAbsences$=ee(this.selectedDate$,this.selectedLesson$.pipe(nt(1)),this.reloadStudentIdsWithUnconfirmedAbsences$).pipe(T(()=>this.loadStudentIdsWithUnconfirmedAbsences()),E(1)),this.loading$=this.loadingService.loading$,this.absenceConfirmationStates$=this.dropDownItemsService.getAbsenceConfirmationStates().pipe(E(1)),this.studentIds$=this.lessonPresences$.pipe(u(P=>$e(P.map(Ie=>Ie.StudentRef.Id))),E(1)),this.otherTeachersAbsences$=this.studentIds$.pipe(Be(Ne),T(P=>P.length>0?this.lessonTeacherService.loadOtherTeachersLessonAbsences(this.getMyself(),P):Z([])),E(1)),this.groupsAvailability$=this.groupService.groupsAvailability$,this.presenceControlEntries$=M([this.selectedLesson$,this.lessonPresences$,this.presenceTypes$,this.absenceConfirmationStates$,this.otherTeachersAbsences$]).pipe(u(se(en))),this.presenceControlEntriesByGroup$=M([this.groupService.group$,this.presenceControlEntries$,this.groupService.subscriptionDetailPersonIds$]).pipe(u(se(Pn)),E(1)),this.presentCount$=this.presenceControlEntriesByGroup$.pipe(u(Xe("present"))),this.absentCount$=this.presenceControlEntriesByGroup$.pipe(u(Xe("absent"))),this.unapprovedCount$=this.presenceControlEntriesByGroup$.pipe(u(Xe("unapproved"))),this.absentPrecedingCount$=this.presenceControlEntriesByGroup$.pipe(u(Vn())),this.queryParamsString$=M([this.selectedDate$,this.selectedLesson$,this.viewMode$]).pipe(u(se(this.buildQueryParams.bind(this))),u(pn)),this.destroy$=new $,this.queryParamsString$.pipe(q(this.destroy$)).subscribe(P=>{this.location.replaceState("/presence-control",P),this.confirmBackLinkParams={returnparams:P}}),this.viewMode$.pipe(nt(1),T(P=>this.userSettings.savePresenceControlViewMode(P)),q(this.destroy$)).subscribe(),this.selectedLesson$.pipe(q(this.destroy$)).subscribe(P=>{this.groupService.setSelectedLesson(P)}),this.lessonPresences$.pipe(q(this.destroy$)).subscribe(P=>this.groupService.setLessonPresences(P))}ngOnDestroy(){this.destroy$.next()}setDate(e){this.selectedDateSubject$.next(e)}setLessonId(e){this.selectLessonId$.next(e)}setViewMode(e){this.viewModeSubject$.next(e)}updateLessonPresencesTypes(e){M([this.lessonPresences$.pipe(O(1)),this.presenceTypes$.pipe(O(1))]).pipe(u(([t,i])=>jn(t,e,i,this.settings))).subscribe(t=>this.updateLessonPresences$.next(t))}getNextPresenceType(e){return this.presenceTypes$.pipe(O(1),u(t=>e.getNextPresenceType(t)))}hasUnconfirmedAbsences(e){return this.studentIdsWithUnconfirmedAbsences$.pipe(u(t=>t.includes(e.lessonPresence.StudentRef.Id)))}updateAfterConfirm(){this.reloadLessonPresences$.next(),this.reloadStudentIdsWithUnconfirmedAbsences$.next()}loadLessonPresencesByLesson(e){return this.loadingService.load(this.lessonPresencesService.getListByLessons(e.lessons))}loadLessonsByDate(e){return this.loadingService.load(this.lessonPresencesService.getLessonsByDate(e)).pipe(u(En))}loadPresenceTypes(){return this.loadingService.load(this.presenceTypesService.presenceTypes$)}loadStudentIdsWithUnconfirmedAbsences(){return ft(0,this.settings.unconfirmedAbsencesRefreshTime||-1).pipe(T(()=>this.lessonPresencesService.getListOfUnconfirmed()),u(e=>$e(e.map(t=>t.StudentRef.Id))))}buildQueryParams(e,t,i){let o={date:Yt(e,"yyyy-MM-dd"),viewMode:i};return t&&(o.lesson=String(t.id)),o}getLessonById(e){let t=String(e);return this.lessons$.pipe(u(i=>t&&i.find(o=>o.id===t)||Bn(i)),Te(Boolean))}getMyself(){let e=this.storageService.getPayload();return Number(e?.holder_id||e?.id_person)}static{this.\u0275fac=function(t){return new(t||n)(_(Pe),_(Qe),_(Fn),_(ve),_(ae),_(rn),_(ce),_(Qt),_(H),_(Dt))}}static{this.\u0275prov=R({token:n,factory:n.\u0275fac})}}return n})();var fi=(n,r)=>r.id,hi=()=>[],Ci=()=>["/presence-control"];function _i(n,r){if(n&1&&(c(0,"span",12),d(1),a()),n&2){let e=f().$implicit,t=f(),i=Q(0);s(),I(t.getSortDirectionCharacter(i,e))}}function vi(n,r){if(n&1){let e=S();c(0,"div",11),C("click",function(){let i=v(e).$implicit,o=f();return b(o.toggleSort(i))}),d(1),p(2,"translate"),L(3,_i,2,1,"span",12),a()}if(n&2){let e=r.$implicit;f();let t=Q(0);x("className",e),s(),y(" ",m(2,3,"presence-control.groups.list.header."+e)," "),s(2),k(t?3:-1)}}function bi(n,r){n&1&&W(0,"bkd-spinner")}function yi(n,r){n&1&&W(0,"bkd-spinner",18)}function Pi(n,r){if(n&1){let e=S();c(0,"div",13)(1,"div",14)(2,"input",15,0),p(4,"async"),C("change",function(){let i=v(e).$implicit,o=f(2);return b(o.selectionService.toggle(i))}),a()(),c(5,"div",16),d(6),a(),c(7,"div",17)(8,"span"),d(9),a(),L(10,yi,1,0,"bkd-spinner",18),p(11,"async"),a()()}if(n&2){let e=r.$implicit,t=f(2);s(2),x("checked",m(4,4,t.selectionService.isSelected$(e))),s(4),y(" ",e.name," "),s(3),I(e.group?e.group:""),s(),k(m(11,6,t.groupService.loading$)?10:-1)}}function Si(n,r){if(n&1&&B(0,Pi,12,8,"div",13,fi),n&2){f();let e=Q(2);j(e)}}var Wn=(()=>{class n{constructor(e,t,i,o,l,g,w,F,Se){this.route=e,this.state=t,this.selectionService=i,this.groupService=o,this.userSettings=l,this.subscriptionDetailService=g,this.toastService=w,this.translate=F,this.modalService=Se,this.primarySortKeys=["name","group"],this.backlinkQueryParams$=this.route.queryParams.pipe(u(({returnparams:xe})=>xe),u(an)),this.eventIds$=this.state.selectedLesson$.pipe(u(xe=>xe?.getEventIds()||[])),this.sortCriteriaSubject$=new me({primarySortKey:"name",ascending:!1}),this.sortCriteria$=this.sortCriteriaSubject$.asObservable(),this.sortedEntries$=M([this.groupService.getSubscriptionDetailsForStudents(),this.sortCriteria$]).pipe(u(se(Tn))),this.selected=[]}ngOnInit(){this.selectionService.selection$.subscribe(e=>this.selected=e)}selectGroup(){this.openGroupModal(De.Select,this.selectCallback.bind(this))}assignGroup(){this.openGroupModal(De.Assign,this.assignCallback.bind(this))}openGroupModal(e,t){M([this.groupService.getSubscriptionDetailsDefinitions(),this.groupService.group$]).pipe(O(1)).subscribe(([i,o])=>{let l=this.modalService.open($n);l.componentInstance.dialogMode=e,l.componentInstance.subscriptionDetailsDefinitions=i,l.componentInstance.group=o,l.result.then(g=>{t(g)},()=>{})})}selectCallback(e){M([this.eventIds$,this.userSettings.getPresenceControlGroupView()]).pipe(O(1),T(([t,i])=>this.userSettings.savePresenceControlGroupView(Mn(e.id,t,i))),u(()=>e.id)).subscribe(t=>this.groupService.selectGroup(t))}assignCallback(e){Me(this.selected.map(t=>this.subscriptionDetailService.update(e.id,t.detail))).subscribe(this.onSaveSuccess.bind(this))}onSaveSuccess(){this.groupService.reloadSubscriptionDetails(),this.selectionService.clear(),this.toastService.success(this.translate.instant("presence-control.groups.notifications.save-success"))}getSortDirectionCharacter(e,t){return e.primarySortKey!==t?"":e.ascending?"\u2193":"\u2191"}toggleSort(e){this.sortCriteriaSubject$.pipe(O(1)).subscribe(t=>{t.primarySortKey===e?this.sortCriteriaSubject$.next({primarySortKey:e,ascending:!t.ascending}):this.sortCriteriaSubject$.next({primarySortKey:e,ascending:e==="name"})})}static{this.\u0275fac=function(t){return new(t||n)(h(Ae),h(N),h(Ke),h(ae),h(Pe),h(Ye),h(_e),h(K),h(ye))}}static{this.\u0275cmp=D({type:n,selectors:[["bkd-presence-control-group"]],features:[ue([Ke])],decls:33,vars:32,consts:[["checkbox",""],[3,"link","params"],[1,"group-header","mb-2","d-flex","justify-content-between"],[1,"d-flex","align-items-baseline"],[1,"ps-3"],["type","button",1,"show","btn","btn-link",3,"click"],["aria-label","edit",1,"btn","btn-primary","btn-icon","me-2",3,"click"],[1,"material-icons"],[1,"group-list"],[1,"group-list-header"],[3,"className"],[3,"click","className"],[1,"sort-direction"],[1,"group-list-entry"],[1,"checkbox"],["type","checkbox",1,"form-check-input",3,"change","checked"],[1,"name","pe-2"],[1,"group","d-flex","justify-content-between"],[1,"inline","small"]],template:function(t,i){if(t&1){let o=S();G(0),p(1,"async"),G(2),p(3,"async"),G(4),p(5,"async"),G(6),p(7,"async"),c(8,"div"),W(9,"bkd-backlink",1),p(10,"async"),c(11,"h1"),d(12),p(13,"translate"),a(),c(14,"div",2)(15,"div",3)(16,"span",4),d(17),p(18,"translate"),a(),c(19,"button",5),C("click",function(){return v(o),b(i.selectGroup())}),d(20),p(21,"translate"),p(22,"translate"),a()(),c(23,"a",6),C("click",function(){return v(o),b(i.assignGroup())}),c(24,"i",7),d(25,"edit"),a()()(),c(26,"div",8)(27,"div",9),B(28,vi,4,5,"div",10,St),a(),L(30,bi,1,0,"bkd-spinner"),p(31,"async"),L(32,Si,2,0),a()()}if(t&2){let o;Y(m(1,8,i.sortCriteria$)),s(2),Y(m(3,11,i.sortedEntries$));let l=(o=m(5,14,i.selectionService.selection$))!==null&&o!==void 0?o:ke(30,hi),g=m(7,16,i.groupService.group$);s(7),x("link",ke(31,Ci))("params",m(10,18,i.backlinkQueryParams$)),s(3),I(m(13,20,"presence-control.groups.title")),s(5),I(m(18,22,"presence-control.groups.show")),s(3),y(" ",g?m(21,24,"presence-control.groups.group")+" "+g:m(22,26,"presence-control.groups.all")," "),s(3),J("disabled",l.length===0),s(5),j(i.primarySortKeys),s(2),k(m(31,28,i.state.loading$)?30:32)}},dependencies:[hn,be,ie,V],styles:['[_nghost-%COMP%]{display:block}.group-header[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{color:#000;font-weight:300;text-decoration:underline;padding-left:.5rem}.group-header[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:hover{text-decoration-color:#ea161f}.group-list-header[_ngcontent-%COMP%]{cursor:pointer;padding:1rem;display:grid;grid-template-areas:"name group";grid-template-columns:3fr 2fr;border-top:1px solid #dee2e6;border-bottom:2px solid #dee2e6}.group-list-entry[_ngcontent-%COMP%]{padding:1rem;border-bottom:1px solid #dee2e6;display:grid;grid-template-areas:"checkbox name group";grid-template-columns:min-content 3fr 2fr}.checkbox[_ngcontent-%COMP%]{grid-area:checkbox;margin:0;padding:.3rem 1rem 0 0}.checkbox[_ngcontent-%COMP%] input.form-check-input[_ngcontent-%COMP%]{position:static!important;margin:0!important;display:block}.name[_ngcontent-%COMP%]{grid-area:name;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.group[_ngcontent-%COMP%]{grid-area:group}@media (max-width: 750px){.group-list[_ngcontent-%COMP%]{padding-left:0;padding-right:0}.group-list-header[_ngcontent-%COMP%]{grid-template-columns:3fr 1fr}.group-list-entry[_ngcontent-%COMP%]{grid-template-columns:min-content 3fr 1fr}}'],changeDetection:0})}}return n})();var xi=(n,r)=>r.entry.id;function Ii(n,r){if(n&1){let e=S();c(0,"div",1)(1,"input",5),C("change",function(){let i=v(e).$implicit;return b(i.selected=!i.selected)}),a(),c(2,"label",6)(3,"i"),d(4),a(),c(5,"div",7),d(6),p(7,"date"),p(8,"date"),a()()()}if(n&2){let e=r.$implicit,t=r.$index,i=f();s(),X("id","lesson-presence-",t,""),x("checked",e.selected),s(),J("fw-bold",i.isCurrentLesson(e)),X("for","lesson-presence-",t,""),s(),Ve("",e.entry.presenceCategory," material-icons pe-2"),s(),I(e.entry.presenceCategoryIcon),s(2),kt(" ",U(7,14,e.entry.lessonPresence.LessonDateTimeFrom,"HH:mm"),"\u2013",U(8,17,e.entry.lessonPresence.LessonDateTimeTo,"HH:mm")," ",e.entry.lessonPresence.EventDesignation," ")}}var Qn=(()=>{class n{constructor(e){this.activeModal=e,this.blockLessonOptions=[]}ngOnInit(){this.blockLessonOptions=this.buildLessonPresenceOptions()}getSelectedEntries(){return this.blockLessonOptions.filter(({selected:e})=>e).map(({entry:e})=>e)}isCurrentLesson(e){return In(e.entry.lessonPresence.LessonDateTimeFrom,this.entry.lessonPresence.LessonDateTimeFrom)}buildLessonPresenceOptions(){return this.blockPresenceControlEntries.map(e=>({entry:e,selected:this.entry.confirmationState===e.confirmationState}))}static{this.\u0275fac=function(t){return new(t||n)(h(re))}}static{this.\u0275cmp=D({type:n,selectors:[["bkd-presence-control-block-lesson-component"]],inputs:{entry:"entry",blockPresenceControlEntries:"blockPresenceControlEntries"},decls:15,vars:11,consts:[[1,"modal-body"],[1,"form-check"],[1,"modal-footer"],["type","button",1,"btn","btn-outline-secondary",3,"click"],["type","button",1,"btn","btn-primary",3,"click","disabled"],["type","checkbox",1,"form-check-input",3,"change","id","checked"],[1,"form-check-label","d-flex",3,"for"],[1,"d-block","text-truncate"]],template:function(t,i){if(t&1){let o=S();c(0,"div",0)(1,"p"),d(2),p(3,"translate"),a(),c(4,"form"),B(5,Ii,9,20,"div",1,xi),a()(),G(7),c(8,"div",2)(9,"button",3),C("click",function(){return v(o),b(i.activeModal.close())}),d(10),p(11,"translate"),a(),c(12,"button",4),C("click",function(){v(o);let g=Q(7);return b(i.activeModal.close(g))}),d(13),p(14,"translate"),a()()}if(t&2){s(2),y(" ",m(3,4,"presence-control.block-lesson.text")," "),s(3),j(i.blockLessonOptions),s(2);let o=Y(i.getSelectedEntries());s(3),y(" ",m(11,7,"presence-control.block-lesson.cancel")," "),s(2),x("disabled",o.length===0),s(),y(" ",m(14,9,"presence-control.block-lesson.save")," ")}},dependencies:[oe,Ce,fe,he,ge,V],styles:[".checkbox[_ngcontent-%COMP%] input.form-check-input[_ngcontent-%COMP%]{position:static!important;margin:0!important;display:block}.absent[_ngcontent-%COMP%]{color:#ea161f}.present[_ngcontent-%COMP%]{color:#3d8608}.unapproved[_ngcontent-%COMP%]{color:#ffa814}"]})}}return n})();var wi=30;function gt(n){return`blockLesson${n.lessonPresence.Id}`}var Ze=(()=>{class n{constructor(e,t,i,o){this.state=e,this.lessonPresencesService=t,this.loadingService=i,this.settings=o}getBlockLessonPresenceControlEntries(e){return M([this.state.lessons$.pipe(O(1)),this.loadChangeableLessonPresences(e),this.state.presenceTypes$.pipe(O(1)),this.state.absenceConfirmationStates$.pipe(O(1)),this.state.otherTeachersAbsences$.pipe(O(1))]).pipe(u(([t,i,o,l,g])=>this.filterBlockLessonPresences(e,i).map(w=>tn(t.find(F=>F.id===w.LessonRef.Id.toString()),w,o,l,g))))}filterBlockLessonPresences(e,t){return[...t].sort((i,o)=>i.LessonDateTimeFrom>o.LessonDateTimeFrom?1:-1).reduce((i,o)=>{let l=i[i.length-1];return this.isWithinBlockTime(o,l)?(i.push(o),i):i.find(g=>g.Id===e.lessonPresence.Id)?i:[o]},[])}isWithinBlockTime(e,t){return t?e.LessonDateTimeFrom.getTime()-t.LessonDateTimeTo.getTime()<=wi*60*1e3:!0}loadChangeableLessonPresences(e){return M([this.loadLessonPresences(e),this.state.presenceTypes$.pipe(O(1))]).pipe(u(([t,i])=>t.filter(o=>Zt(o,i.find(l=>l.Id===o.TypeRef.Id)||null,this.settings))))}loadLessonPresences(e){return this.loadingService.load(this.lessonPresencesService.getListByDateStudentClass(e.lessonPresence.LessonDateTimeFrom,e.lessonPresence.StudentRef.Id,e.lessonPresence.StudyClassRef.Id??void 0).pipe(u(t=>t.filter(i=>i.TeacherInformation===e.lessonPresence.TeacherInformation))),gt(e))}static{this.\u0275fac=function(t){return new(t||n)(_(N),_(Qe),_(ce),_(H))}}static{this.\u0275prov=R({token:n,factory:n.\u0275fac})}}return n})();var Ti=(n,r)=>r.Id;function ki(n,r){if(n&1&&(c(0,"div"),d(1),p(2,"date"),p(3,"date"),p(4,"addSpace"),a()),n&2){let e=r.$implicit;s(),Lt(" ",U(2,5,e.LessonRef.From,"HH:mm"),"\u2013",U(3,8,e.LessonRef.To,"HH:mm")," ",e.LessonRef.EventDesignation,"",U(4,11,":",":")," ",e.Type," ")}}var Kn=(()=>{class n{constructor(e){this.activeModal=e}static{this.\u0275fac=function(t){return new(t||n)(h(re))}}static{this.\u0275cmp=D({type:n,selectors:[["bkd-presence-control-preceding-absence"]],inputs:{precedingAbsences:"precedingAbsences"},decls:10,vars:6,consts:[[1,"modal-body"],[1,"modal-footer"],["type","button",1,"btn","btn-outline-secondary",3,"click"]],template:function(t,i){t&1&&(c(0,"div",0)(1,"p"),d(2),p(3,"translate"),a(),B(4,ki,5,14,"div",null,Ti),a(),c(6,"div",1)(7,"button",2),C("click",function(){return i.activeModal.dismiss()}),d(8),p(9,"translate"),a()()),t&2&&(s(2),y(" ",m(3,2,"presence-control.preceding-absence.text")," "),s(2),j(i.precedingAbsences),s(4),y(" ",m(9,4,"presence-control.preceding-absence.cancel")," "))},dependencies:[ge,V,un],encapsulation:2})}}return n})();var Li=n=>["student",n,"absences"],$i=n=>["/presence-control/student",n,"absences"];function Di(n,r){if(n&1&&(W(0,"bkd-avatar",0),p(1,"async")),n&2){let e=f();x("studentId",m(1,3,e.studentId$))("link",ne(5,$i,e.entry.lessonPresence.StudentRef.Id.toString()))("linkParams",e.profileReturnParams)}}function Oi(n,r){if(n&1&&(c(0,"span"),d(1),a()),n&2){let e=f(2);s(),I(e.entry.presenceType==null?null:e.entry.presenceType.Designation)}}function Ei(n,r){if(n&1){let e=S();c(0,"button",12),C("click",function(){v(e);let i=f();return b(i.updatePresenceType(i.entry))}),L(1,Oi,2,1,"span"),a()}if(n&2){let e=f();s(),k(e.entry.presenceType!=null&&e.entry.presenceType.IsIncident?-1:1)}}function Bi(n,r){n&1&&W(0,"bkd-spinner",5)}function ji(n,r){if(n&1){let e=S();c(0,"button",13),C("click",function(){v(e);let i=f();return b(i.showPrecedingAbsences(i.entry))}),c(1,"i",14),d(2,"info"),a()()}}function Vi(n,r){if(n&1&&(c(0,"span",9),d(1),a()),n&2){let e=f();s(),y(" ",e.entry.lessonPresence.StudyClassNumber," ")}}function Fi(n,r){if(n&1){let e=S();c(0,"a",15),C("click",function(){v(e);let i=f();return b(i.updateIncident(i.entry))}),c(1,"i",4),d(2,"edit"),a(),c(3,"span"),d(4),p(5,"translate"),a()()}if(n&2){let e=f();s(4),I(m(5,1,(e.entry.presenceType==null?null:e.entry.presenceType.IsIncident)&&(e.entry.presenceType==null?null:e.entry.presenceType.Designation)||"presence-control.entry.incident"))}}var zn=(()=>{class n{get classNames(){return[this.entry.presenceCategory,this.viewMode].join(" ")}constructor(e,t,i,o){this.toastService=e,this.translate=t,this.modalService=i,this.loadingService=o,this.hasUnconfirmedAbsences=!1,this.showClassName=!1,this.togglePresenceType=new te,this.changeIncident=new te,this.entry$=new we(1),this.studentId$=this.entry$.pipe(u(({lessonPresence:l})=>l.StudentRef.Id)),this.loading$=this.entry$.pipe(T(l=>this.loadingService.loading(gt(l))))}ngOnChanges(e){e.entry&&this.entry$.next(e.entry.currentValue)}get isListViewMode(){return this.viewMode===pe.List}updatePresenceType(e){e.canChangePresenceType?this.togglePresenceType.emit(e):this.toastService.warning(this.translate.instant("presence-control.entry.update-warning"))}updateIncident(e){e.canChangeIncident&&this.changeIncident.emit(e)}showPrecedingAbsences(e){let t=this.modalService.open(Kn);t.componentInstance.precedingAbsences=e.precedingAbsences}static{this.\u0275fac=function(t){return new(t||n)(h(_e),h(K),h(ye),h(ce))}}static{this.\u0275cmp=D({type:n,selectors:[["bkd-presence-control-entry"]],hostVars:2,hostBindings:function(t,i){t&2&&Pt(i.classNames)},inputs:{entry:"entry",hasUnconfirmedAbsences:"hasUnconfirmedAbsences",viewMode:"viewMode",showClassName:"showClassName",profileReturnParams:"profileReturnParams"},outputs:{togglePresenceType:"togglePresenceType",changeIncident:"changeIncident"},features:[bt],decls:18,vars:20,consts:[[1,"avatar","large",3,"studentId","link","linkParams"],["type","button",1,"presence-category","designation","btn","btn-link"],["type","button",1,"presence-category","status","btn","btn-link",3,"click","disabled"],[1,"position-relative"],[1,"material-icons"],[1,"inline","small"],["type","button",1,"previously-absent","d-flex","btn","btn-link"],[1,"student-info",3,"routerLink","queryParams"],[1,"student-name","text-truncate"],[1,"study-class","text-truncate"],[1,"unconfirmed-absences"],[1,"incident","btn","btn-link"],["type","button",1,"presence-category","designation","btn","btn-link",3,"click"],["type","button",1,"previously-absent","d-flex","btn","btn-link",3,"click"],[1,"material-icons-outlined"],[1,"incident","btn","btn-link",3,"click"]],template:function(t,i){if(t&1){let o=S();L(0,Di,2,7,"bkd-avatar",0)(1,Ei,2,1,"button",1),G(2),p(3,"async"),c(4,"button",2),C("click",function(){return v(o),b(i.updatePresenceType(i.entry))}),c(5,"div",3)(6,"i",4),d(7),a(),L(8,Bi,1,0,"bkd-spinner",5),a()(),L(9,ji,3,0,"button",6),c(10,"a",7)(11,"span",8),d(12),a(),L(13,Vi,2,1,"span",9),c(14,"span",10),d(15),p(16,"translate"),a()(),L(17,Fi,6,3,"a",11)}if(t&2){k(i.isListViewMode?-1:0),s(),k(i.entry.showDesignation?1:-1);let o=m(3,14,i.loading$);s(3),x("disabled",o),s(2),J("invisible",o),s(),I(i.entry.presenceCategoryIcon),s(),k(o?8:-1),s(),k(i.entry.precedingAbsences!=null&&i.entry.precedingAbsences.length?9:-1),s(),x("routerLink",ne(18,Li,i.entry.lessonPresence.StudentRef.Id))("queryParams",i.profileReturnParams),s(2),I(i.entry.lessonPresence.StudentFullName),s(),k(i.isListViewMode&&i.showClassName?13:-1),s(2),y(" ",i.hasUnconfirmedAbsences?m(16,16,"presence-control.entry.unconfirmed-absences"):""," "),s(2),k(i.entry.canChangeIncident?17:-1)}},dependencies:[fn,be,Re,ie,V],styles:['[_nghost-%COMP%]{padding:2rem 1rem;background-color:#fff;display:grid;grid-template-areas:"avatar status designation previously-absent" "avatar student-info student-info student-info" "avatar incident incident incident";grid-template-columns:min-content min-content 3fr min-content}[_nghost-%COMP%] > *[_ngcontent-%COMP%]{align-self:center}.presence-category[_ngcontent-%COMP%]{text-decoration:none}.presence-category[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{top:.1875rem}.absent[_nghost-%COMP%] .presence-category[_ngcontent-%COMP%]{color:#ea161f}.present[_nghost-%COMP%] .presence-category[_ngcontent-%COMP%]{color:#3d8608}.unapproved[_nghost-%COMP%] .presence-category[_ngcontent-%COMP%]{color:#ffa814}.presence-category[_ngcontent-%COMP%] bkd-spinner[_ngcontent-%COMP%]{color:#000;position:absolute;top:4px;left:5px}.designation[_ngcontent-%COMP%], .student-info[_ngcontent-%COMP%], a.incident[_ngcontent-%COMP%], .incident[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.avatar[_ngcontent-%COMP%]{grid-area:avatar;margin-right:1.5rem}.status[_ngcontent-%COMP%]{grid-area:status}.status[_ngcontent-%COMP%] .material-icons[_ngcontent-%COMP%]{font-size:2rem}.designation[_ngcontent-%COMP%]{grid-area:designation;text-align:left;line-height:2.375rem}.previously-absent[_ngcontent-%COMP%]{grid-area:previously-absent;text-decoration:none;color:#00000080;justify-self:end}.student-info[_ngcontent-%COMP%]{grid-area:student-info;display:flex;flex-direction:column;text-decoration:none}.student-info[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:first-child{text-decoration:underline}.student-info[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:first-child:hover{text-decoration-color:#ea161f}.unconfirmed-absences[_ngcontent-%COMP%]{color:#ea161f;font-size:.875rem;line-height:1}.study-class[_ngcontent-%COMP%]{font-size:.875rem;line-height:1}.incident[_ngcontent-%COMP%]{color:#00000080;padding-right:1.5rem;grid-area:incident;display:flex;text-decoration:none}.incident[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{text-decoration:underline}.incident[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:hover{text-decoration-color:#ea161f}.incident[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{margin-right:.3em}.grid[_nghost-%COMP%] .status[_ngcontent-%COMP%], .grid[_nghost-%COMP%] .designation[_ngcontent-%COMP%]{align-self:start;margin-left:-1.5rem;margin-top:-.375rem}.grid[_nghost-%COMP%] .incident[_ngcontent-%COMP%]{align-self:end;margin-left:-1.5rem;margin-bottom:-.375rem}.grid[_nghost-%COMP%] .previously-absent[_ngcontent-%COMP%]{padding-right:0;align-self:start}.grid[_nghost-%COMP%] .unconfirmed-absences[_ngcontent-%COMP%]{height:.875rem}.list[_nghost-%COMP%]{grid-template-areas:"student-info status incidentordesignation previously-absent";grid-template-columns:3fr min-content 4fr 3em;padding:.5rem 1rem}.list[_nghost-%COMP%] .status[_ngcontent-%COMP%]{justify-self:start}.list[_nghost-%COMP%] .student-name[_ngcontent-%COMP%]{line-height:1;margin-bottom:.5rem}.list[_nghost-%COMP%] .incident[_ngcontent-%COMP%], .list[_nghost-%COMP%] .designation[_ngcontent-%COMP%]{grid-area:incidentordesignation}.list[_nghost-%COMP%] .previously-absent[_ngcontent-%COMP%]{padding-right:0}@media (max-width: 750px){.list[_nghost-%COMP%]{grid-template-areas:"student-info student-info student-info previously-absent" "status incidentordesignation incidentordesignation incidentordesignation";grid-template-columns:min-content 1fr 1fr min-content;row-gap:1rem}.list[_nghost-%COMP%] .status[_ngcontent-%COMP%]{padding-left:0;padding-right:0}.list[_nghost-%COMP%] .student-name[_ngcontent-%COMP%]{margin-top:.5rem}.list[_nghost-%COMP%] .previously-absent[_ngcontent-%COMP%]{align-self:start}}']})}}return n})();var Ai=(n,r)=>r.viewMode,Ri=(n,r)=>r.id,Gi=(n,r)=>({"btn-link":n,"btn-danger":r}),Ni=n=>["groups",n],Ui=n=>({returnparams:n});function Hi(n,r){if(n&1){let e=S();c(0,"div",22),C("click",function(){v(e);let i=f();return b(i.lessonDropdown==null?null:i.lessonDropdown.toggle())}),d(1),p(2,"date"),c(3,"span",23),d(4),p(5,"date"),a()()}if(n&2){let e=f();s(),y(" ",U(2,2,e.selectedLesson.LessonDateTimeFrom,"HH:mm"),"\u2013"),s(3),I(U(5,5,e.selectedLesson.LessonDateTimeTo,"HH:mm"))}}function qi(n,r){if(n&1){let e=S();c(0,"div",28),C("click",function(){let i=v(e).$implicit,o=f(2);return b(o.selectLessonChange.emit(i))}),c(1,"div",29)(2,"div"),d(3),p(4,"date"),p(5,"date"),a(),c(6,"div",25),d(7),a(),c(8,"div",25),d(9),a()()()}if(n&2){let e=r.$implicit,t=f(2);J("active",e.id===t.selectedLesson.id),s(3),Tt(" ",U(4,6,e.LessonDateTimeFrom,"HH:mm"),"\u2013",U(5,9,e.LessonDateTimeTo,"HH:mm")," "),s(4),y(" ",e.eventDesignations," "),s(2),y(" ",e.studyClassNumbers," ")}}function Wi(n,r){if(n&1&&(c(0,"div",7)(1,"div",24)(2,"div",25),d(3),a(),c(4,"div",25),d(5),a()(),c(6,"div",26),B(7,qi,10,12,"div",27,Ri),a()()),n&2){let e=f();s(3),I(e.selectedLesson.eventDesignations),s(2),I(e.selectedLesson.studyClassNumbers),s(2),j(e.lessons)}}function Qi(n,r){if(n&1){let e=S();c(0,"bkd-caret",30),C("click",function(){v(e);let i=f();return b(i.lessonDropdown==null?null:i.lessonDropdown.toggle())}),a()}if(n&2){let e=f();x("expanded",(e.lessonDropdown==null?null:e.lessonDropdown.isOpen())||!1)}}function Ki(n,r){if(n&1&&(c(0,"a",19),p(1,"async"),p(2,"async"),p(3,"async"),c(4,"i",31),d(5,"groups"),a()()),n&2){let e=f();x("ngClass",$t(9,Gi,m(1,3,e.isGroupSelected$)===!1,m(2,5,e.isGroupSelected$)))("routerLink",ne(12,Ni,e.selectedLesson.id))("queryParams",ne(14,Ui,m(3,7,e.state.queryParamsString$)))}}function zi(n,r){if(n&1){let e=S();c(0,"button",32),C("click",function(){let i=v(e).$implicit,o=f();return b(o.viewModeChange.emit(i.viewMode))}),c(1,"i",31),d(2),a()()}if(n&2){let e=r.$implicit,t=f();J("btn-outline-secondary",e.viewMode===t.viewMode)("btn-link",e.viewMode!==t.viewMode)("active",e.viewMode===t.viewMode),x("disabled",!t.selectedLesson),s(2),I(e.icon)}}var Ji=Le.prototype._positionMenu;Le.prototype._positionMenu=function(...r){let e=Ji.apply(this,r);if(this._anchor.nativeElement.id==="lesson-dropdown"){let t=this._bodyContainer||this._menu.nativeElement,i=t.style.transform?.match(/translate\(([0-9-.]+)px, ([0-9-.]+)px\)/);i&&parseFloat(i[1])<0&&(t.style.transform=`translate(0px, ${i[2]}px)`)}return e};var Jn=(()=>{class n{constructor(e,t,i){this.state=e,this.groupService=t,this.presentCount=null,this.absentCount=null,this.unapprovedCount=null,this.absentPrecedingCount=null,this.search="",this.selectLessonChange=new te,this.selectDateChange=new te,this.searchChange=new te,this.viewModeChange=new te,this.viewModeOptions=[{viewMode:pe.List,icon:"list"},{viewMode:pe.Grid,icon:"view_module"}],this.isGroupSelected$=this.groupService.group$.pipe(u(Kt)),i.popperOptions=o=>de(le({},o),{modifiers:o.modifiers?.map(l=>(l.name==="offset"&&(l.options={offset:({placement:g,reference:w,popper:F})=>g==="bottom-start"?[(window.innerWidth-F.width)/2-w.x,0]:[]}),l))})}static{this.\u0275fac=function(t){return new(t||n)(h(N),h(ae),h(Ge))}}static{this.\u0275cmp=D({type:n,selectors:[["bkd-presence-control-header"]],viewQuery:function(t,i){if(t&1&&xt(Le,5),t&2){let o;It(o=wt())&&(i.lessonDropdown=o.first)}},inputs:{selectedLesson:"selectedLesson",lessons:"lessons",presentCount:"presentCount",absentCount:"absentCount",unapprovedCount:"unapprovedCount",absentPrecedingCount:"absentPrecedingCount",viewMode:"viewMode",selectDate:"selectDate",search:"search"},outputs:{selectLessonChange:"selectLessonChange",selectDateChange:"selectDateChange",searchChange:"searchChange",viewModeChange:"viewModeChange"},features:[ue([Ge,{provide:At,useClass:Nt},{provide:Rt,useClass:yn}])],decls:41,vars:19,consts:[["d","ngbDatepicker"],[1,"navigation"],[1,"lesson-date"],["type","button",1,"btn","btn-link",3,"click"],[1,"material-icons"],["positionTarget",".lesson-date-input","ngbDatepicker","","placement","bottom-start",1,"lesson-date-input",3,"ngModelChange","ngModel"],[1,"lesson-time"],["ngbDropdown","","container","body","display","dynamic","placement","bottom",1,"lesson-description"],[1,"dropdown-caret",3,"expanded"],[1,"states"],[1,"state","present"],[1,"count"],[1,"state","absent"],[1,"state","unapproved"],[1,"state","previously-absent"],[1,"material-icons-outlined"],[1,"search-and-views"],[1,"search",3,"valueChange","value","disabled","placeholder","label"],[1,"group-and-views","d-flex","align-items-center"],["type","button",1,"group","btn","me-2","me-sm-4",3,"ngClass","routerLink","queryParams"],[1,"views"],["type","button",1,"view","btn","btn-primary","btn-icon",3,"disabled","btn-outline-secondary","btn-link","active"],[1,"lesson-time",3,"click"],[1,"lesson-time-to"],["id","lesson-dropdown","ngbDropdownToggle",""],[1,"text-truncate"],["ngbDropdownMenu","","aria-labelledby","lesson-dropdown"],["ngbDropdownItem","",3,"active"],["ngbDropdownItem","",3,"click"],[1,"lesson-entry"],[1,"dropdown-caret",3,"click","expanded"],[1,"material-icons","align-middle"],["type","button",1,"view","btn","btn-primary","btn-icon",3,"click","disabled"]],template:function(t,i){if(t&1){let o=S();c(0,"div",1)(1,"div",2)(2,"button",3),C("click",function(){v(o);let g=Mt(6);return b(g.toggle())}),c(3,"i",4),d(4,"calendar_today"),a()(),c(5,"input",5,0),C("ngModelChange",function(g){return v(o),b(i.selectDateChange.emit(g))}),a()(),L(7,Hi,6,8,"div",6)(8,Wi,9,2,"div",7)(9,Qi,1,1,"bkd-caret",8),a(),c(10,"div",9)(11,"div",10)(12,"i",4),d(13,"check_circle"),a(),c(14,"span",11),d(15),a()(),c(16,"div",12)(17,"i",4),d(18,"cancel"),a(),c(19,"span",11),d(20),a()(),c(21,"div",13)(22,"i",4),d(23,"help"),a(),c(24,"span",11),d(25),a()(),c(26,"div",14)(27,"i",15),d(28,"info"),a(),c(29,"span",11),d(30),a()()(),c(31,"div",16)(32,"bkd-resettable-input",17),p(33,"translate"),p(34,"translate"),C("valueChange",function(g){return v(o),b(i.searchChange.emit(g))}),a(),c(35,"div",18),L(36,Ki,6,16,"a",19),p(37,"async"),c(38,"div",20),B(39,zi,3,8,"button",21,Ai),a()()()}t&2&&(s(5),x("ngModel",i.selectDate),s(2),k(i.selectedLesson?7:-1),s(),k(i.selectedLesson?8:-1),s(),k(i.lessons.length>0?9:-1),s(6),I(i.presentCount!==null?i.presentCount:"?"),s(5),I(i.absentCount!==null?i.absentCount:"?"),s(5),I(i.unapprovedCount!==null?i.unapprovedCount:"?"),s(5),I(i.absentPrecedingCount!==null?i.absentPrecedingCount:"?"),s(2),x("value",i.search)("disabled",!i.selectedLesson)("placeholder",m(33,13,"presence-control.header.search-by-name"))("label",m(34,15,"presence-control.header.search")),s(4),k(m(37,17,i.selectedLesson&&i.state.groupsAvailability$)?36:-1),s(3),j(i.viewModeOptions))},dependencies:[Gt,oe,jt,Vt,Ft,Le,qt,Ht,Ut,cn,_n,Ot,Re,ie,ge,V],styles:['[_nghost-%COMP%]{display:flex;flex-direction:column;padding:.75rem 0}.navigation[_ngcontent-%COMP%]{display:grid;grid-template-areas:". date time dropdown-caret" ". description description dropdown-caret";grid-template-columns:1fr auto auto 1fr;align-items:center}.lesson-date[_ngcontent-%COMP%]{grid-area:date;justify-self:end;display:flex;align-items:center;justify-content:flex-end}.lesson-date[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{padding:0 .5ch 0 0}.lesson-date[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:#000;position:relative}.lesson-date-input[_ngcontent-%COMP%]{font-weight:600;background:transparent;border:none;width:11ch}.lesson-time[_ngcontent-%COMP%]{grid-area:time;cursor:pointer}.lesson-description[_ngcontent-%COMP%]{grid-area:description;overflow:hidden;text-align:center;cursor:pointer}.dropdown-toggle[_ngcontent-%COMP%]{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.dropdown-toggle[_ngcontent-%COMP%]:after{display:none}.dropdown-caret[_ngcontent-%COMP%]{grid-area:dropdown-caret;line-height:100%;text-align:left;color:#000}.dropdown-menu[_ngcontent-%COMP%]{width:50ch;padding:0;box-shadow:2px 2px 3px -1px #0003}@media (max-width: 800px){.dropdown-menu[_ngcontent-%COMP%]{width:100vw}}.dropdown-item[_ngcontent-%COMP%]{padding:1rem;border-bottom:1px solid #dee2e6}.states[_ngcontent-%COMP%]{margin:.75rem 0;display:flex;justify-content:center}.state[_ngcontent-%COMP%]{margin-right:7%;display:flex}.state[_ngcontent-%COMP%]:last-child{margin-right:0}@media (min-width: 1000px){.state[_ngcontent-%COMP%]{margin-right:4rem}}.state.present[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:#3d8608}.state.absent[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:#ea161f}.state.unapproved[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:#ffa814}.state.previously-absent[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:#00000080}.state[_ngcontent-%COMP%] .count[_ngcontent-%COMP%]{margin-left:.3em;margin-top:1px}.search-and-views[_ngcontent-%COMP%]{padding-top:.75rem;display:flex;justify-content:space-between;border-top:1px solid #dee2e6}.search[_ngcontent-%COMP%]{flex:auto;max-width:300px;margin-right:1rem}.views[_ngcontent-%COMP%]{display:flex}.view[_ngcontent-%COMP%]{color:#4e4e4ef2;background-color:#fff}.view.active[_ngcontent-%COMP%]{color:#fff;background-color:#4e4e4ef2;border:none}.group[_ngcontent-%COMP%], .view[_ngcontent-%COMP%]{text-decoration:none;padding-left:0;padding-right:0;aspect-ratio:1/1;width:calc(.75rem + 2 * var(--bs-border-width) + 1.625rem);border-radius:50%}.group.btn-link[_ngcontent-%COMP%]{color:#000}@media (max-width: 380px){[_nghost-%COMP%]{padding-left:.5rem;padding-right:.5rem}#search-addon[_ngcontent-%COMP%]{padding-left:.5rem;padding-right:.5rem}}@media (max-width: 365px){.lesson-time[_ngcontent-%COMP%]{line-height:1}.lesson-time-to[_ngcontent-%COMP%]{display:block}.dropdown-caret[_ngcontent-%COMP%]{padding-left:0}}']})}}return n})();var Xi=(n,r)=>r.id;function Yi(n,r){if(n&1){let e=S();c(0,"div",1)(1,"input",5),C("change",function(){let i=v(e).$implicit,o=f();return b(o.onSelectionChange(i))}),a(),c(2,"label",6),d(3),a()()}if(n&2){let e=r.$implicit,t=r.$index,i=f();s(),X("id","incident-",t,""),x("checked",e.id===i.selected.id)("value",e.id),s(),X("for","incident-",t,""),s(),y(" ",e.label," ")}}var Xn=(()=>{class n{constructor(e,t){this.activeModal=e,this.translate=t,this.incidentOptions=[]}ngOnInit(){let e=this.createIncidentOption();this.incidentOptions=this.incidentTypes.map(t=>this.createIncidentOption(t)),this.incidentOptions.unshift(e),this.selected=this.incidentOptions.find(t=>t.id===this.incident?.Id)||e}createIncidentOption(e){return{id:e?e.Id:null,label:e?e.Designation:this.translate.instant("presence-control.incident.no-incident")}}onSelectionChange(e){this.selected=e}getSelectedIncident(){return this.incidentTypes.find(e=>e.Id===this.selected?.id)||null}static{this.\u0275fac=function(t){return new(t||n)(h(re),h(K))}}static{this.\u0275cmp=D({type:n,selectors:[["bkd-presence-control-incident"]],inputs:{incident:"incident",incidentTypes:"incidentTypes"},decls:14,vars:9,consts:[[1,"modal-body"],[1,"form-check"],[1,"modal-footer"],["type","button",1,"btn","btn-outline-secondary",3,"click"],["type","button",1,"btn","btn-primary",3,"click"],["type","radio","name","incident",1,"form-check-input",3,"change","id","checked","value"],[1,"form-check-label",3,"for"]],template:function(t,i){t&1&&(c(0,"div",0)(1,"p"),d(2),p(3,"translate"),a(),c(4,"form"),B(5,Yi,4,7,"div",1,Xi),a()(),c(7,"div",2)(8,"button",3),C("click",function(){return i.activeModal.dismiss()}),d(9),p(10,"translate"),a(),c(11,"button",4),C("click",function(){return i.activeModal.close(i.getSelectedIncident())}),d(12),p(13,"translate"),a()()),t&2&&(s(2),y(" ",m(3,3,"presence-control.incident.text")," "),s(3),j(i.incidentOptions),s(4),y(" ",m(10,5,"presence-control.incident.cancel")," "),s(3),y(" ",m(13,7,"presence-control.incident.save")," "))},dependencies:[oe,Ce,fe,he,V],styles:["form[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]:first-child{border-bottom:1px solid #dee2e6;padding-bottom:1rem;margin-bottom:1rem}"]})}}return n})();var Zi=20,eo=100,Ee=function(n){return n.AddUpdateAction="ADD",n.RemoveUpdateAction="REMOVE",n}(Ee||{}),et=(()=>{class n{constructor(e,t,i,o,l){this.toastService=e,this.translate=t,this.restService=i,this.presenceTypesService=o,this.settings=l,this.destroy$=new $,this.action$=new $,this.pendingUpdates$=this.action$.pipe(_t(this.reduceUpdates.bind(this),[]),vt()),this.revertUpdates$=new $,this.performUpdates$=this.pendingUpdates$.pipe(tt(eo),Te(Ue(st)),Ct(this.performUpdates.bind(this))),this.stateUpdates$=ee(this.pendingUpdates$,this.revertUpdates$).pipe(tt(Zi),Te(Ue(st))),this.performUpdates$.pipe(q(this.destroy$)).subscribe()}ngOnDestroy(){this.destroy$.next()}updatePresenceType(e,t=null){this.dispatchAddUpdate(e.lessonPresence,t)}performUpdates(e){let t=this.groupUpdates(e);return M(Object.keys(t).reduce((i,o)=>{let l=t[o];return Object.keys(l).forEach(g=>{let w=l[g];i.push(this.performUpdateForGroup(w))}),i},[])).pipe(u(()=>t))}performUpdateForGroup(e){return e.forEach(t=>this.dispatchRemoveUpdate(t.presence)),this.performLessonPresencesUpdatesByIds(e[0].presence.LessonRef.Id,e.map(t=>t.presence.StudentRef.Id),e[0].newPresenceTypeId).pipe(ht(t=>this.revertUpdatesAfterError(e,t)))}performLessonPresencesUpdatesByIds(e,t,i=null){return i?(i?this.presenceTypesService.getPresenceType(i):Z(null)).pipe(T(l=>this.restService.editLessonPresences([e],t,l?.Id,He(l,this.settings)||void 0,{context:new it().set(ct,{disableErrorHandling:!0})}))):this.restService.removeLessonPresences([e],t,{context:new it().set(ct,{disableErrorHandling:!0})})}revertUpdatesAfterError(e,t){return console.error("Bulk-update of lesson presences failed"),console.error(t),this.toastService.error(this.translate.instant("shared.lesson-presences-update.error")),this.revertUpdates$.next(e.map(i=>de(le({},i),{newPresenceTypeId:i.presence.TypeRef.Id}))),Z(void 0)}groupUpdates(e){return e.reduce((t,i)=>{let o=String(i.newPresenceTypeId&&i.newPresenceTypeId);return t[o]||(t[o]={}),Array.isArray(t[o][i.presence.LessonRef.Id])||(t[o][i.presence.LessonRef.Id]=[]),t[o][i.presence.LessonRef.Id].push(i),t},{})}reduceUpdates(e,t){switch(t.type){case Ee.AddUpdateAction:{let{presence:i,newPresenceTypeId:o}=t.payload,l=e.findIndex(Yn(i));return l===-1?[...e,{presence:i,newPresenceTypeId:o}]:[...e.slice(0,l),{presence:e[l].presence,newPresenceTypeId:o},...e.slice(l+1)]}case Ee.RemoveUpdateAction:return e.filter(Ue(Yn(t.payload)));default:return e}}dispatchAddUpdate(e,t){this.action$.next({type:Ee.AddUpdateAction,payload:{presence:e,newPresenceTypeId:t}})}dispatchRemoveUpdate(e){this.action$.next({type:Ee.RemoveUpdateAction,payload:e})}static{this.\u0275fac=function(t){return new(t||n)(_(_e),_(K),_(sn),_(ve),_(H))}}static{this.\u0275prov=R({token:n,factory:n.\u0275fac,providedIn:"root"})}}return n})();function Yn(n){return r=>r.presence.LessonRef.Id===n.LessonRef.Id&&r.presence.StudentRef.Id===n.StudentRef.Id}var to=(n,r)=>r.id,no=()=>[],io=n=>({returnparams:n});function oo(n,r){n&1&&W(0,"bkd-spinner")}function ro(n,r){n&1&&(c(0,"p",1),d(1),p(2,"translate"),a()),n&2&&(s(),I(m(2,1,"presence-control.no-lessons")))}function so(n,r){n&1&&(c(0,"p",1),d(1),p(2,"translate"),a()),n&2&&(s(),y(" ",m(2,1,"presence-control.no-lesson-presences")," "))}function co(n,r){if(n&1){let e=S();c(0,"bkd-presence-control-entry",4),p(1,"async"),p(2,"async"),p(3,"async"),p(4,"async"),C("togglePresenceType",function(i){v(e);let o=f(3);return b(o.togglePresenceType(i))})("changeIncident",function(i){v(e);let o=f(3);return b(o.changeIncident(i))}),a()}if(n&2){let e,t=r.$implicit,i=f(3);x("entry",t)("hasUnconfirmedAbsences",m(1,5,i.state.hasUnconfirmedAbsences(t)))("viewMode",m(2,7,i.state.viewMode$))("showClassName",((e=m(3,9,i.state.studyClassCount$))!==null&&e!==void 0?e:0)>1)("profileReturnParams",ne(13,io,m(4,11,i.state.queryParamsString$)))}}function ao(n,r){if(n&1&&(c(0,"div"),p(1,"async"),B(2,co,5,15,"bkd-presence-control-entry",3,to),a()),n&2){let e=f(2),t=Q(4);Ve("default-entries entries view-mode-",m(1,3,e.state.viewMode$),""),s(2),j(t)}}function po(n,r){if(n&1){let e=S();c(0,"bkd-presence-control-header",0),p(1,"async"),p(2,"async"),p(3,"async"),p(4,"async"),p(5,"async"),p(6,"async"),p(7,"async"),C("searchChange",function(i){v(e);let o=f();return b(o.search$.next(i))})("viewModeChange",function(i){v(e);let o=f();return b(o.state.setViewMode(i))})("selectDateChange",function(i){v(e);let o=f();return b(o.state.setDate(i))})("selectLessonChange",function(i){v(e);let o=f();return b(o.state.setLessonId(i.id))}),a(),L(8,ro,3,3,"p",1)(9,so,3,3,"p",1)(10,ao,4,5,"div",2)}if(n&2){let e=f(),t=Q(0),i=Q(2),o=Q(4);x("selectedLesson",t)("lessons",i)("presentCount",m(1,10,e.state.presentCount$))("absentCount",m(2,12,e.state.absentCount$))("unapprovedCount",m(3,14,e.state.unapprovedCount$))("absentPrecedingCount",m(4,16,e.state.absentPrecedingCount$))("viewMode",m(5,18,e.state.viewMode$))("selectDate",m(6,20,e.state.selectedDate$))("search",m(7,22,e.search$)),s(8),k(t?o.length===0?9:10:8)}}var lo=["studentFullName"],ei=(()=>{class n{constructor(e,t,i,o,l,g,w){this.state=e,this.blockLessons=t,this.lessonPresencesUpdateService=i,this.presenceTypesService=o,this.modalService=l,this.scrollPosition=g,this.route=w,this.search$=new me(""),this.entries$=M([this.state.presenceControlEntriesByGroup$,this.search$]).pipe(u(([F,Se])=>vn(F,lo,Se)),E(1)),this.destroy$=new $}ngOnInit(){this.route.queryParams.pipe(q(this.destroy$)).subscribe(this.restoreStateFromParams.bind(this))}ngAfterViewInit(){this.scrollPosition.restore()}ngOnDestroy(){this.destroy$.next()}doTogglePresenceType(e){e.forEach(t=>this.state.getNextPresenceType(t).subscribe(i=>this.lessonPresencesUpdateService.updatePresenceType(t,i?i.Id:null)))}togglePresenceType(e){this.blockLessons.getBlockLessonPresenceControlEntries(e).pipe(O(1)).subscribe(t=>{if(t.length===1){let i=t[0];this.doTogglePresenceType([i])}else{let i=this.modalService.open(Qn);i.componentInstance.entry=e,i.componentInstance.blockPresenceControlEntries=t,i.result.then(o=>{o&&this.doTogglePresenceType(o)},()=>{})}})}updateIncident(e,t){this.lessonPresencesUpdateService.updatePresenceType(e,t)}changeIncident(e){this.presenceTypesService.incidentTypes$.subscribe(t=>{let i=this.modalService.open(Xn);i.componentInstance.incident=t.find(o=>o.Id===e.presenceType?.Id)||null,i.componentInstance.incidentTypes=t,i.result.then(o=>{this.updateIncident(e,o?.Id||null)},()=>{})})}restoreStateFromParams(e){e.date&&this.state.setDate(Bt(e.date));let t=String(e.lesson);t&&this.state.setLessonId(t),e.viewMode&&Un.includes(e.viewMode)&&this.state.setViewMode(e.viewMode)}static{this.\u0275fac=function(t){return new(t||n)(h(N),h(Ze),h(et),h(ve),h(ye),h(Sn),h(Ae))}}static{this.\u0275cmp=D({type:n,selectors:[["bkd-presence-control-list"]],decls:12,vars:16,consts:[[3,"searchChange","viewModeChange","selectDateChange","selectLessonChange","selectedLesson","lessons","presentCount","absentCount","unapprovedCount","absentPrecedingCount","viewMode","selectDate","search"],[1,"mt-3"],[3,"class"],[3,"entry","hasUnconfirmedAbsences","viewMode","showClassName","profileReturnParams"],[3,"togglePresenceType","changeIncident","entry","hasUnconfirmedAbsences","viewMode","showClassName","profileReturnParams"]],template:function(t,i){if(t&1&&(G(0),p(1,"async"),G(2),p(3,"async"),G(4),p(5,"async"),c(6,"h1"),d(7),p(8,"translate"),a(),L(9,oo,1,0,"bkd-spinner"),p(10,"async"),L(11,po,11,24)),t&2){let o;Y(m(1,2,i.state.selectedLesson$)),s(2),Y(m(3,5,i.state.lessons$)),s(2),Y((o=m(5,8,i.entries$))!==null&&o!==void 0?o:ke(15,no)),s(3),I(m(8,11,"presence-control.title")),s(2),k(m(10,13,i.state.loading$)?9:11)}},dependencies:[Jn,zn,be,ie,V],styles:["bkd-presence-control-entry[_ngcontent-%COMP%]{border-bottom:1px solid #dee2e6}.entries.view-mode-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr))}.entries.view-mode-grid[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{border-right:1px solid #dee2e6}[_nghost-%COMP%]{display:block;overflow:hidden;width:100%}.entries.view-mode-grid[_ngcontent-%COMP%]{width:calc(100% + 1px)}"],changeDetection:0})}}return n})();var ti=(()=>{class n{constructor(e,t){this.state=e,this.lessonPresencesUpdateService=t,this.destroy$=new $}ngOnInit(){this.lessonPresencesUpdateService.stateUpdates$.pipe(q(this.destroy$)).subscribe(e=>this.state.updateLessonPresencesTypes(e))}ngOnDestroy(){this.destroy$.next()}static{this.\u0275fac=function(t){return new(t||n)(h(N),h(et))}}static{this.\u0275cmp=D({type:n,selectors:[["bkd-presence-control"]],features:[ue([N,Ze,ae,on,{provide:zt,useExisting:N}])],decls:1,vars:0,template:function(t,i){t&1&&W(0,"router-outlet")},dependencies:[Et],encapsulation:2,changeDetection:0})}}return n})();var sc=[{path:"",component:ti,children:[{path:"",component:ei,data:{restoreScrollPositionFrom:["/presence-control/student/:id/addresses","/presence-control/student/:id/absences","/presence-control/student/:id/grades"]}},Cn,{path:"groups/:id",component:Wn}]}];export{sc as PRESENCE_CONTROL_ROUTES}; diff --git a/public/apps/webapp-schulverwaltung/chunk-746ASKQ4.js b/public/apps/webapp-schulverwaltung/chunk-746ASKQ4.js deleted file mode 100644 index e81a3db2..00000000 --- a/public/apps/webapp-schulverwaltung/chunk-746ASKQ4.js +++ /dev/null @@ -1 +0,0 @@ -import{a as it}from"./chunk-DTTSX64G.js";import{a as J}from"./chunk-Y4QYVF5K.js";import{G as et,L as tt,P as st,Q as rt,b as Qe,g as pe,p as E,q as Ze}from"./chunk-SRCW6BUG.js";import{a as ce,b as N,c as Je,k as Ye,l as ot}from"./chunk-GOGVGWFJ.js";import{a as nt}from"./chunk-PSYDBHTH.js";import{w as _}from"./chunk-W4U7QKJF.js";import{a as Ke}from"./chunk-AVBHFGIF.js";import{$a as m,$c as je,Ab as w,Ad as Fe,Bb as H,Bd as He,Cb as K,Eb as $e,F as L,Fb as Ie,Ga as Ce,Hc as d,Ic as g,J as ge,Jb as a,Jc as Be,Kb as c,Lb as q,M as ie,Md as S,Na as j,Nc as v,Od as qe,P as l,Pd as We,Qa as C,R as M,Ra as Re,Rd as ze,Uc as I,Va as P,X as ve,Xa as re,Xc as u,Ya as G,Yc as W,Z as Se,Za as X,_ as O,_a as p,_c as k,a as V,ab as F,ad as ae,b as U,cc as _e,cd as z,ea as ne,eb as Te,f as ye,fa as se,fd as Pe,g as ee,gb as oe,gc as xe,hb as x,hc as $,hd as we,id as Ne,jd as Ve,l as te,lc as Ee,n as y,nd as Ue,o as D,pd as Me,rb as f,rd as Oe,s as be,sb as Le,sd as Ge,tb as b,wc as Ae,x as T,xa as o,ya as h,yc as De,zc as ke,zd as Xe}from"./chunk-2W7IS4PN.js";function de(i,r){return i.pipe(y(e=>e.find(t=>t.Key===r)||null))}function _t(i){return i.slice().sort((r,e)=>r.Value.localeCompare(e.Value))}var at=new Se("Confirm Absences Service");function ct(i,r,e){let[t,n]=Ye(e?.in,i,r);return+pe(t)==+pe(n)}var ht=(i,r)=>r.Id,yt=i=>({count:i}),bt=()=>["/edit-absences"];function gt(i,r){if(i&1&&(p(0,"div",4),f(1),a(2,"translate"),m()),i&2){let e=r.$implicit;o(),b(" ",q(2,1,"global.validation-errors."+e.error,e.params)," ")}}function vt(i,r){if(i&1&&(p(0,"div",21),f(1),a(2,"translate"),m()),i&2){let e=r.$implicit;o(),b(" ",q(2,1,"global.validation-errors."+e.error,e.params)," ")}}function St(i,r){if(i&1&&(G(0,vt,3,4,"div",21,re),a(2,"async")),i&2){let e=x(4);X(c(2,0,e.absenceTypeIdErrors$))}}function Ct(i,r){if(i&1&&(p(0,"div",16),F(1,"input",19),a(2,"async"),p(3,"label",20),f(4),m(),j(5,St,3,2),a(6,"async"),m()),i&2){let e,t,n=r.$implicit,s=r.$index,R=x(3);o(),Re("is-invalid",((e=(e=c(2,7,R.absenceTypeIdErrors$))==null?null:e.length)!==null&&e!==void 0?e:0)>0),C("id","absence-type-"+s)("value",n.Id),o(2),C("for","absence-type-"+s),o(),b(" ",n.Designation," "),o(),P(((t=(t=c(6,9,R.absenceTypes$))==null?null:t.length)!==null&&t!==void 0?t:0)-1===s?5:-1)}}function Rt(i,r){if(i&1&&(G(0,Ct,7,11,"div",16,ht),a(2,"async"),p(3,"div",17),f(4),a(5,"translate"),p(6,"a",18),f(7),a(8,"translate"),m()()),i&2){let e=x(2);X(c(2,3,e.absenceTypes$)),o(4),b(" ",c(5,5,"open-absences.edit.remark")," "),o(2),C("routerLink",$e(9,bt)),o(),b(" ",c(8,7,"edit-absences.title")," ")}}function Tt(i,r){i&1&&(p(0,"div",15)(1,"span",22),f(2,"Loading..."),m()())}function Lt(i,r){if(i&1){let e=Te();p(0,"form",3),oe("ngSubmit",function(){ne(e);let n=x();return se(n.onSubmit())}),G(1,gt,3,4,"div",4,re),a(3,"async"),p(4,"div",5)(5,"div",6),F(6,"input",7),p(7,"label",8),f(8),m(),j(9,Rt,9,10),m(),p(10,"div",9),F(11,"input",10),p(12,"label",11),f(13),m()()(),p(14,"div",12)(15,"button",13),a(16,"async"),oe("click",function(){ne(e);let n=x();return se(n.cancel())}),f(17),a(18,"translate"),m(),p(19,"button",14),a(20,"async"),f(21),a(22,"translate"),j(23,Tt,3,0,"div",15),a(24,"async"),m()()()}if(i&2){let e=x(),t=K(0),n=K(2),s=K(4);C("formGroup",t),o(),X(c(3,11,e.formErrors$)),o(5),C("value",s.Key),o(2),b(" ",s.Value," "),o(),P(t.get("absenceTypeId")?9:-1),o(2),C("value",n.Key),o(2),b(" ",n.Value," "),o(2),C("disabled",c(16,13,e.saving$)),o(2),b(" ",c(18,15,"open-absences.edit.cancel")," "),o(2),C("disabled",c(20,17,e.saving$)),o(2),b(" ",c(22,19,"open-absences.edit.save")," "),o(2),P(c(24,21,e.saving$)?23:-1)}}var Zt=(()=>{class i{constructor(e,t,n,s,R,B,A,dt,mt,lt,ft){this.fb=e,this.router=t,this.activatedRoute=n,this.toastService=s,this.translate=R,this.selectionService=B,this.dropDownItemsService=A,this.presenceTypesService=dt,this.updateService=mt,this.settings=lt,this.openAbsencesEditService=ft,this.formGroup$=this.selectionService.selectedWithoutPresenceType$.pipe(y(this.createFormGroup.bind(this)),ie(1)),this.saving$=new ee(!1),this.submitted$=new ee(!1),this.formErrors$=ce(this.formGroup$,this.submitted$),this.absenceTypeIdErrors$=ce(this.formGroup$,this.submitted$,"absenceTypeId"),this.confirmationStates$=this.dropDownItemsService.getAbsenceConfirmationStates().pipe(ie(1)),this.excusedState$=de(this.confirmationStates$,this.settings.excusedAbsenceStateId),this.unexcusedState$=de(this.confirmationStates$,this.settings.unexcusedAbsenceStateId),this.absenceTypes$=this.presenceTypesService.confirmationTypes$,this.destroy$=new ye}ngOnInit(){this.selectionService.selectedIds$.pipe(L(1)).subscribe(e=>{e.length===0&&this.navigateBack()}),Je(this.formGroup$,"confirmationValue").pipe(M(this.destroy$)).subscribe(e=>{typeof e=="number"&&this.updateAbsenceTypeIdDisabled(e)}),D([N(this.formGroup$,"confirmationValue").pipe(T(_)),N(this.formGroup$,"absenceTypeId").pipe(T(_)),this.saving$]).pipe(M(this.destroy$)).subscribe(([e,t,n])=>{n?(e.disable(),t.disable()):(e.enable(),this.updateAbsenceTypeIdDisabled(e.value))}),D([N(this.formGroup$,"confirmationValue").pipe(T(_)),this.excusedState$.pipe(L(1),T(_))]).pipe(M(this.destroy$)).subscribe(([e,t])=>e.setValue(t.Key))}ngOnDestroy(){this.destroy$.next()}onSubmit(){this.submitted$.next(!0),this.formGroup$.pipe(L(1)).subscribe(e=>{if(e.valid){let{confirmationValue:t,absenceTypeId:n}=e.value;this.save(t,n)}})}cancel(){this.navigateBack()}getSelectedCount(){return this.selectionService.selectedLessons$.pipe(y(e=>e.length))}createFormGroup(e){return e.length>0?this.fb.group({confirmationValue:[null],absenceTypeId:[null,we.required]}):this.fb.group({confirmationValue:[null]})}updateAbsenceTypeIdDisabled(e){D([N(this.formGroup$,"absenceTypeId").pipe(L(1),T(_)),this.excusedState$.pipe(L(1),T(_))]).subscribe(([t,n])=>{e===n.Key?t.enable():t.disable()})}save(e,t){this.saving$.next(!0),D([this.selectionService.selectedIds$.pipe(L(1)),this.unexcusedState$.pipe(L(1),T(_))]).pipe(l(([n,s])=>D(n.map(({lessonIds:R,personId:B,presenceTypeId:A})=>this.updateService.confirmLessonPresences(R,[B],this.getNewAbsenceTypeId(A,e,Number(s.Key),t),e)))),ge(()=>this.saving$.next(!1))).subscribe(this.onSaveSuccess.bind(this))}getNewAbsenceTypeId(e,t,n,s){if(!e)throw new Error("absence type id cannot be null");return t===n?this.settings.absencePresenceTypeId:e===this.settings.absencePresenceTypeId?s:e}onSaveSuccess(){this.openAbsencesEditService?.updateAfterConfirm&&this.openAbsencesEditService.updateAfterConfirm(),this.toastService.success(this.translate.instant("open-absences.edit.save-success")),this.navigateBack()}navigateBack(){this.router.navigate(this.openAbsencesEditService?.confirmBackLink||[".."],{relativeTo:this.activatedRoute,queryParams:this.openAbsencesEditService?.confirmBackLinkParams})}static{this.\u0275fac=function(t){return new(t||i)(h(Xe),h(De),h(Ae),h(Ke),h(qe),h(tt),h(it),h(st),h(rt),h(z),h(at,8))}}static{this.\u0275cmp=Ce({type:i,selectors:[["bkd-confirm-absences"]],decls:16,vars:21,consts:[[1,"bkd-container","bkd-container-limited"],[1,"mb-3","pb-3","border-bottom"],[3,"formGroup"],[3,"ngSubmit","formGroup"],[1,"alert","alert-danger"],[1,"form-group","pb-4"],[1,"form-check","mt-2","mb-3","pb-3","border-bottom"],["type","radio","id","excused","formControlName","confirmationValue",1,"form-check-input",3,"value"],["for","excused",1,"form-check-label"],[1,"form-check","mt-3","mb-3","pb-3","border-bottom"],["type","radio","id","unexcused","formControlName","confirmationValue",1,"form-check-input",3,"value"],["for","unexcused",1,"form-check-label"],[1,"d-flex","justify-content-end"],["type","button",1,"btn","btn-outline-secondary",3,"click","disabled"],["type","submit",1,"btn","btn-primary","ms-2",3,"disabled"],["role","status",1,"spinner-border","spinner-border-sm","align-middle"],[1,"form-check","my-3"],[1,"remark"],[3,"routerLink"],["type","radio","formControlName","absenceTypeId",1,"form-check-input",3,"id","value"],[1,"form-check-label",3,"for"],[1,"invalid-feedback"],[1,"visually-hidden"]],template:function(t,n){if(t&1&&(w(0),a(1,"async"),w(2),a(3,"async"),w(4),a(5,"async"),p(6,"div",0)(7,"h1"),f(8),a(9,"translate"),m(),p(10,"div",1),w(11),a(12,"async"),f(13),a(14,"translate"),m(),j(15,Lt,25,23,"form",2),m()),t&2){let s=H(c(1,3,n.formGroup$));o(2);let R=H(c(3,6,n.unexcusedState$));o(2);let B=H(c(5,9,n.excusedState$));o(4),Le(c(9,12,"open-absences.edit.title"));let A=c(12,14,n.getSelectedCount());o(5),b(" ",q(14,16,A===1?"open-absences.edit.lesson-selected":"open-absences.edit.lessons-selected",Ie(19,yt,A))," "),o(2),P(s&&R&&B?15:-1)}},dependencies:[Fe,Ue,Pe,Me,Ne,Ve,He,Oe,Ge,ke,_e,We],encapsulation:2,changeDetection:0})}}return i})();var pt=v({StudentRef:u,StudentFullName:d,TotalAbsences:g,TotalAbsencesUnconfirmed:g,TotalAbsencesValidExcuse:g,TotalAbsencesWithoutExcuse:g,TotalAbsencesUnchecked:g,TotalDispensations:g,TotalHalfDays:g,TotalIncidents:g});var me=v({Id:d,LessonRef:u,StudentRef:u,EventRef:u,TypeRef:W,RegistrationRef:W,StudyClassRef:W,ConfirmationStateId:I(g),EventDesignation:d,HasStudyCourseConfirmationCode:Be,LessonDateTimeFrom:k,LessonDateTimeTo:k,Comment:I(d),Date:I(je),Type:I(d),StudentFullName:d,StudyClassNumber:d,TeacherInformation:I(d)});var Y=v({LessonRef:u,EventRef:u,StudyClassNumber:d,StudentRef:u});var le=v({LessonRef:u,EventRef:u,EventDesignation:d,StudyClassNumber:d,TeacherInformation:I(d),LessonDateTimeFrom:k,LessonDateTimeTo:k});function fe(i){return r=>r.pipe(l(e=>{let t=Number(e.headers.get("X-Pagination-Offset")),n=Number(e.headers.get("X-Pagination-Total"));return S(i)(e.body).pipe(y(s=>({offset:t,total:n,entries:s})))}))}function Z(i,r,e=new $){return e.set("offset",String(i)).set("limit",String(r))}function ue(i=new xe){return i.set("X-Pagination-Total","on")}var Di=(()=>{class i extends nt{constructor(e,t,n){super(e,t,me,"LessonPresences"),this.storage=n,this.lessonPresenceRefCodec=v(ae(this.codec.props,["LessonRef","RegistrationRef","StudentRef","EventRef","StudyClassRef","TypeRef"])),this.lessonPresenceIdCodec=v(ae(this.codec.props,["Id"]))}getLessonsByDate(e){let t={fields:Object.keys(le.props).join(","),"filter.LessonDateTimeFrom":`=${E(e,"yyyy-MM-dd")}`,sort:"LessonDateTimeFrom"},n={"X-Role-Restriction":"LessonTeacherRole"};return this.http.get(`${this.baseUrl}/`,{params:t,headers:n}).pipe(l(S(le)))}getLessonStudyClassesByDate(e){let t={fields:Object.keys(Y.props).join(","),"filter.LessonDateTimeFrom":`=${E(e,"yyyy-MM-dd")}`,sort:"LessonDateTimeFrom"},n={"X-Role-Restriction":"LessonTeacherRole"};return this.http.get(`${this.baseUrl}/`,{params:t,headers:n}).pipe(l(S(Y)))}getLessonStudyClassesByEvent(e){let t={"filter.EventRef":`=${e}`,sort:"LessonDateTimeFrom"},n={"X-Role-Restriction":"LessonTeacherRole"};return this.http.get(`${this.baseUrl}/`,{params:t,headers:n}).pipe(l(S(Y)))}getListByLessons(e){if(e.length===0)return te([]);let n={"filter.LessonRef":`;${e.map(s=>s.LessonRef.Id).join(";")}`};return this.getList({params:n,headers:{"X-Role-Restriction":"LessonTeacherRole"}})}getListByDateStudentClass(e,t,n){let s={"filter.LessonDateTimeFrom":`=${E(e,"yyyy-MM-dd")}`,"filter.StudentRef":`=${t}`};return n!=null&&(s["filter.StudyClassRef"]=`=${n}`),this.getList({params:s,headers:{"X-Role-Restriction":"LessonTeacherRole"}})}getListForToday(){return this.http.get(`${this.baseUrl}/Today`,{headers:{"X-Role-Restriction":"LessonTeacherRole"}}).pipe(l(S(this.codec)))}getListOfUnconfirmed(e){return J(this.storage.getPayload()?.roles,"ClassTeacherRole")?be([this.getListOfUnconfirmedClassTeacher(e),this.getListOfUnconfirmedLessonTeacher(e)]).pipe(y(ot(et))):J(this.storage.getPayload()?.roles,"LessonTeacherRole")?this.getListOfUnconfirmedLessonTeacher(e):J(this.storage.getPayload()?.roles,"AbsenceAdministratorRole")?this.getListOfUnconfirmedAbsenceAdministrator(e):te([])}getStatistics(e,t,n){let s=he([[e.student,"StudentRef"],[e.educationalEvent,"EventRef"],[e.studyClass,"StudyClassRef"]]);return s=$t(t,s),s=Z(n,this.settings.paginationLimit,s),this.http.get(`${this.baseUrl}/Statistics`,{params:s,headers:ue(),observe:"response"}).pipe(fe(pt))}getLessonRefs(e){let t=he([[e.student,"StudentRef"],[e.educationalEvent,"EventRef"],[e.studyClass,"StudyClassRef"]]);return t=t.set("filter.TypeRef",">0"),t=t.set("fields",["LessonRef","RegistrationRef","StudentRef","EventRef","StudyClassRef","TypeRef"].join(",")),t=t.set("limit","1500"),this.http.get(`${this.baseUrl}/`,{params:t}).pipe(l(S(this.lessonPresenceRefCodec)))}getRegistrationRefsByEventIds(e){let t=new $;return t.set("filter.EventRef",`;${e.join(";")}`),t=t.set("fields",["LessonRef","RegistrationRef","StudentRef","EventRef","StudyClassRef","TypeRef"].join(",")),this.http.get(`${this.baseUrl}/`,{params:t}).pipe(l(S(this.lessonPresenceRefCodec)))}getFilteredList(e,t,n){let s=he([[e.student,"StudentRef"],[e.educationalEvent,"EventRef"],[e.studyClass,"StudyClassRef"]],new $({fromObject:n}));return e.teacher&&(s=s.set("filter.TeacherInformation",`~*${e.teacher}*`)),e.dateFrom&&e.dateTo&&ct(e.dateFrom,e.dateTo)?s=s.set("filter.LessonDateTimeFrom",`=${E(e.dateFrom,"yyyy-MM-dd")}`):(e.dateFrom&&(s=s.set("filter.LessonDateTimeFrom",`>${E(Ze(e.dateFrom,1),"yyyy-MM-dd")}`)),e.dateTo&&(s=s.set("filter.LessonDateTimeTo",`<${E(Qe(e.dateTo,1),"yyyy-MM-dd")}`))),e.weekdays&&(s=s.set("filter.WeekdayId",`;${e.weekdays.join(";")}`)),e.confirmationStates&&(s=s.set("filter.ConfirmationStateId",`;${e.confirmationStates.join(";")}`)),e.incidentTypes&&(s=s.set("filter.TypeRef",`;${e.incidentTypes.join(";")}`)),e.presenceTypes&&(s=s.set("filter.TypeRef",`;${e.presenceTypes.join(";")}`)),e.incidentTypes&&e.presenceTypes&&(s=s.set("filter.TypeRef",`;${e.presenceTypes.join(";")};${e.incidentTypes.join(";")}`)),this.http.get(`${this.baseUrl}/`,{params:Z(t,this.settings.paginationLimit,s),headers:ue(),observe:"response"}).pipe(fe(me))}hasLessonsLessonTeacher(){let e=new $().set("fields","Id");return this.http.get(`${this.baseUrl}/`,{params:Z(0,1,e),headers:{"X-Role-Restriction":"LessonTeacherRole"}}).pipe(l(S(this.lessonPresenceIdCodec)),y(t=>t.length>0))}checkableAbsencesCount(){return this.http.get(`${this.baseUrl}/`,{headers:{"X-Role-Restriction":"LessonTeacherRole"},params:{"filter.ConfirmationStateId":`;${this.settings.checkableAbsenceStateId}`,fields:"Id,ConfirmationStateId"}}).pipe(l(S(this.lessonPresenceIdCodec)),y(e=>e.length))}getListOfUnconfirmedLessonTeacher(e){return this.getList({headers:{"X-Role-Restriction":"LessonTeacherRole"},params:U(V({},e),{"filter.ConfirmationStateId":`=${this.settings.unconfirmedAbsenceStateId}`,"filter.HasStudyCourseConfirmationCode":"=false"})})}getListOfUnconfirmedClassTeacher(e){return this.getList({headers:{"X-Role-Restriction":"ClassTeacherRole"},params:U(V({},e),{"filter.ConfirmationStateId":`=${this.settings.unconfirmedAbsenceStateId}`,"filter.HasStudyCourseConfirmationCode":"=true"})})}getListOfUnconfirmedAbsenceAdministrator(e){return this.getList({headers:{"X-Role-Restriction":"AbsenceAdministratorRole"},params:U(V({},e),{"filter.ConfirmationStateId":`=${this.settings.unconfirmedAbsenceStateId}`})})}static{this.\u0275fac=function(t){return new(t||i)(O(Ee),O(z),O(ze))}}static{this.\u0275prov=ve({token:i,factory:i.\u0275fac,providedIn:"root"})}}return i})();function he(i,r=new $){return i.reduce((e,[t,n])=>t&&n?e.set(`filter.${n}`,`=${t}`):e,r)}function $t(i,r=new $){return i?r.set("sort",`${i.key}.${i.ascending?"asc":"desc"}`):r}export{_t as a,at as b,ct as c,Zt as d,Di as e}; diff --git a/public/apps/webapp-schulverwaltung/chunk-7LHHIW7H.js b/public/apps/webapp-schulverwaltung/chunk-7LHHIW7H.js deleted file mode 100644 index bd115f54..00000000 --- a/public/apps/webapp-schulverwaltung/chunk-7LHHIW7H.js +++ /dev/null @@ -1,2 +0,0 @@ -import{a as Gt}from"./chunk-W3JKHGP4.js";import{a as Nt}from"./chunk-BIDSHCYH.js";import{a as jt,b as Ot,c as Vt}from"./chunk-4RZQAAPF.js";import{f as Fe,g as Ee}from"./chunk-Z4YBXGVO.js";import{b as Dt,d as Et}from"./chunk-3L4RH6QP.js";import"./chunk-DTYYCJHM.js";import"./chunk-XAZECV42.js";import{a as Ht}from"./chunk-3P6YOVUR.js";import{H as Tt,I as kt,J as Mt,L as de,P as Y,Q as me,R as Lt,S as Rt,T as Pt,U as Bt,b as xt,g as At,p as _e,q as It,t as De,w as he,x as Ue}from"./chunk-SRCW6BUG.js";import{a as St,l as ue}from"./chunk-GOGVGWFJ.js";import{a as $t,b as Ft}from"./chunk-OSOXMODN.js";import{b as wt}from"./chunk-PSYDBHTH.js";import{c as ut,d as ft,e as bt,f as yt,g as _t,h as ht,i as vt,l as gt,w as te,y as Ct}from"./chunk-W4U7QKJF.js";import{a as pe}from"./chunk-AVBHFGIF.js";import{$a as c,$b as Se,Ab as N,Ad as we,Bb as J,Bd as Pe,Cb as w,Cd as ee,Db as se,Eb as Z,F as E,Fb as oe,Ga as k,Id as ce,J as Qe,Jb as r,Ka as ge,Kb as l,L as ze,Lb as P,M as B,Na as h,O as Ye,Od as le,P as L,Pd as D,Qa as b,R as Xe,Ra as ne,Rd as G,Ta as et,Tc as qe,Va as C,X as ie,Xa as Ce,Xb as at,Ya as K,Za as Q,_ as j,_a as a,a as Ve,ab as S,bd as dt,cc as z,cd as H,dc as ct,ea as I,eb as O,f as ve,fa as T,fd as Ie,g as He,gb as g,h as Ge,hb as _,hc as pt,hd as mt,ia as Je,id as Te,jd as ke,l as q,ma as Ze,n as y,nb as tt,nd as Me,o as x,ob as it,pb as nt,pd as Le,qb as R,rb as d,rd as Re,sb as $,sd as $e,tb as f,ub as X,wc as lt,x as W,xa as o,xb as st,xc as xe,ya as u,yb as ot,yc as re,zb as rt,zc as Ae,zd as ae}from"./chunk-2W7IS4PN.js";var je=(()=>{class t{constructor(e,i,n,s,p,v,A,F){this.fb=e,this.router=i,this.toastService=n,this.translate=s,this.presenceTypesService=p,this.updateService=v,this.storageService=A,this.settings=F,this.formGroup=this.createFormGroup(),this.saving$=new He(!1),this.submitted$=new He(!1),this.absenceTypes$=x([this.getConfirmationTypes(),this.getHalfDayType()]).pipe(y(([U,M])=>M?[...U,M]:U)),this.absenceTypeIdErrors$=St(q(this.formGroup),this.submitted$,"absenceTypeId"),this.destroy$=new ve}ngOnInit(){this.selectedLessonIds$.pipe(E(1),W(Rt)).subscribe(()=>this.navigateBack())}ngOnDestroy(){this.destroy$.next()}onSubmit(){if(this.submitted$.next(!0),this.formGroup.valid){let{absenceTypeId:e}=this.formGroup.value;this.save(e)}}cancel(){this.navigateBack()}getSelectedCount(){return this.selectedLessonIds$.pipe(y(e=>e.length))}getConfirmationTypes(){return this.presenceTypesService.confirmationTypes$.pipe(y(e=>e.filter(i=>i.IsAbsence&&i.Id!==this.settings.halfDayPresenceTypeId)))}getHalfDayType(){return q(null)}createFormGroup(){return this.fb.group({absenceTypeId:[null,mt.required]})}save(e){this.saving$.next(!0),this.selectedLessonIds$.pipe(E(1),L(i=>this.updateService.editLessonPresences(i,[Number(this.storageService.getPayload()?.id_person)],e)),Qe(()=>this.saving$.next(!1))).subscribe(this.onSaveSuccess.bind(this))}onSaveSuccess(){this.toastService.success(this.translate.instant("my-absences.confirm.save-success")),this.navigateBack()}static{this.\u0275fac=function(i){return new(i||t)(u(ae),u(re),u(pe),u(le),u(Y),u(me),u(G),u(dt))}}static{this.\u0275cmp=k({type:t,selectors:[["ng-component"]],decls:0,vars:0,template:function(i,n){},encapsulation:2})}}return t})();var fe=(()=>{class t{constructor(e,i,n){this.settings=e,this.storageService=i,this.studentsService=n,this.studentId$=new Ge(1),this.lessonAbsences$=this.studentId$.pipe(L(this.loadLessonAbsences.bind(this)),B(1)),this.lessonIncidents$=this.studentId$.pipe(L(this.loadLessonIncidents.bind(this)),B(1)),this.lessonPresences$=this.getLessonPresences(),this.checkableAbsences$=this.getAbsences(this.settings.checkableAbsenceStateId),this.openAbsences$=this.getAbsences(this.settings.unconfirmedAbsenceStateId),this.excusedAbsences$=this.getAbsences(this.settings.excusedAbsenceStateId),this.unexcusedAbsences$=this.getAbsences(this.settings.unexcusedAbsenceStateId),this.incidents$=this.getAbsences(null),this.openLessonAbsences$=x([this.openAbsences$.pipe(W(te)),this.lessonAbsences$]).pipe(y(ue(this.getLessonAbsences.bind(this))),B(1)),this.checkableLessonAbsences$=x([this.checkableAbsences$.pipe(W(te)),this.lessonAbsences$]).pipe(y(ue(this.getLessonAbsences.bind(this))),B(1)),this.excusedLessonAbsences$=x([this.excusedAbsences$.pipe(W(te)),this.lessonAbsences$]).pipe(y(ue(this.getLessonAbsences.bind(this))),B(1)),this.unexcusedLessonAbsences$=x([this.unexcusedAbsences$.pipe(W(te)),this.lessonAbsences$]).pipe(y(ue(this.getLessonAbsences.bind(this))),B(1)),this.incidentsLessonAbsences$=x([this.incidents$.pipe(W(te)),this.lessonIncidents$]).pipe(y(ue(this.getLessonIncidents.bind(this))),B(1)),this.counts$=this.getCounts();let s=this.storageService.getPayload()?.id_person;s&&this.studentId$.next(Number(s))}reset(){this.studentId$.pipe(E(1)).subscribe(e=>this.studentId$.next(e))}getLessonPresences(){return this.getCached(x([this.studentId$,this.lessonAbsences$,this.lessonIncidents$]).pipe(L(([e,i,n])=>this.loadTimetableEntries(e,i,n).pipe(y(s=>this.buildLessonPresences(i,n,s)))),y(Mt)))}getAbsences(e){return this.getCached(this.lessonPresences$.pipe(y(i=>i?.filter(n=>n.ConfirmationStateId===e)||null)))}getLessonAbsences(e,i){let n=e.map(s=>s.LessonRef.Id);return i.filter(s=>n.includes(s.LessonRef.Id))}getLessonIncidents(e,i){let n=e.map(s=>s.LessonRef.Id);return i.filter(s=>n.includes(s.LessonRef.Id))}getCounts(){return x([this.getCount(this.checkableAbsences$),this.getCount(this.openAbsences$),this.getCount(this.excusedAbsences$),this.getCount(this.unexcusedAbsences$),this.getCount(this.incidents$)]).pipe(y(([e,i,n,s,p])=>({checkableAbsences:e,openAbsences:i,excusedAbsences:n,unexcusedAbsences:s,incidents:p,halfDays:null})))}getCached(e){return e.pipe(Ye(null),ze({connector:()=>new Ge(1)}))}getCount(e){return e.pipe(y(i=>i?.length??null))}loadLessonAbsences(e){return this.studentsService.getLessonAbsences(e)}loadLessonIncidents(e){return this.studentsService.getLessonIncidents(e)}loadTimetableEntries(e,i,n){return this.studentsService.getTimetableEntries(e,{"filter.Id":`;${[...i,...n].map(s=>s.LessonRef.Id).join(";")}`})}buildLessonPresences(e,i,n){return[...e,...i].map(s=>this.buildLessonPresence(s,n)).filter(te)}buildLessonPresence(e,i){let n=i.find(s=>s.Id===e.LessonRef.Id);return n?{Id:"",LessonRef:{Id:e.LessonRef.Id,HRef:e.LessonRef.HRef?e.LessonRef.HRef:null},StudentRef:e.StudentRef,EventRef:{Id:0,HRef:null},TypeRef:e.TypeRef,RegistrationRef:{Id:0,HRef:null},StudyClassRef:{Id:0,HRef:null},ConfirmationStateId:"ConfirmationStateId"in e?e.ConfirmationStateId:null,EventDesignation:n.EventDesignation,HasStudyCourseConfirmationCode:!1,LessonDateTimeFrom:n.From,LessonDateTimeTo:n.To,Comment:null,Date:n.From,Type:e.Type,StudentFullName:e.StudentFullName,StudyClassNumber:"",TeacherInformation:n.EventManagerInformation??null}:null}static{this.\u0275fac=function(i){return new(i||t)(j(H),j(G),j(Fe))}}static{this.\u0275prov=ie({token:t,factory:t.\u0275fac})}}return t})();var pi=(t,m)=>m.Id,li=t=>({count:t}),di=t=>({"border-top pt-3":t});function mi(t,m){if(t&1&&(a(0,"div",13),d(1),r(2,"translate"),c()),t&2){let e=m.$implicit;o(),f(" ",P(2,1,"global.validation-errors."+e.error,e.params)," ")}}function ui(t,m){if(t&1&&(K(0,mi,3,4,"div",13,Ce),r(2,"async")),t&2){let e=_(2);Q(l(2,0,e.absenceTypeIdErrors$))}}function fi(t,m){if(t&1&&(a(0,"div",5),S(1,"input",11),r(2,"async"),a(3,"label",12),d(4),c(),h(5,ui,3,2),r(6,"async"),c()),t&2){let e,i,n=m.$implicit,s=m.$index,p=_();b("ngClass",oe(12,di,n.IsHalfDay)),o(),ne("is-invalid",((e=(e=l(2,8,p.absenceTypeIdErrors$))==null?null:e.length)!==null&&e!==void 0?e:0)>0),b("id","absence-type-"+s)("value",n.Id),o(2),b("for","absence-type-"+s),o(),f(" ",n.Designation," "),o(),C(((i=(i=l(6,10,p.absenceTypes$))==null?null:i.length)!==null&&i!==void 0?i:0)-1===s?5:-1)}}function bi(t,m){t&1&&(a(0,"div",10)(1,"span",14),d(2,"Loading..."),c()())}var zt=(()=>{class t extends je{constructor(e,i,n,s,p,v,A,F,U,M){super(e,i,n,s,p,v,A,F),this.myAbsencesService=U,this.selectionService=M,this.titleKey="my-absences.confirm.title",this.selectedLessonIds$=this.selectionService.selectedIds$.pipe(y(Oe=>ce(ee(Oe.map(Ne=>Ne.lessonIds))))),this.confirmationStateId=this.settings.unconfirmedAbsencesRefreshTime}onSaveSuccess(){this.selectionService.clear(),this.myAbsencesService.reset(),super.onSaveSuccess()}navigateBack(){this.router.navigate(["/my-absences"])}static{this.\u0275fac=function(i){return new(i||t)(u(ae),u(re),u(pe),u(le),u(Y),u(me),u(G),u(H),u(fe),u(de))}}static{this.\u0275cmp=k({type:t,selectors:[["bkd-my-absences-confirm"]],features:[ge],decls:32,vars:39,consts:[[1,"bkd-container","bkd-container-limited"],[1,"mb-3","pb-3","border-bottom"],[3,"ngSubmit","formGroup"],[1,"form-group","mb-3","border-bottom"],[1,"form-label"],[1,"form-check","my-3",3,"ngClass"],[1,"remark"],[1,"d-flex","justify-content-end"],["type","button",1,"btn","btn-outline-secondary",3,"click","disabled"],["type","submit",1,"btn","btn-primary","ms-2",3,"disabled"],["role","status",1,"spinner-border","spinner-border-sm","align-middle"],["type","radio","formControlName","absenceTypeId",1,"form-check-input",3,"id","value"],[1,"form-check-label",3,"for"],[1,"invalid-feedback","mt-4"],[1,"visually-hidden"]],template:function(i,n){if(i&1){let s=O();a(0,"div",0)(1,"h1"),d(2),r(3,"translate"),c(),a(4,"div",1),N(5),r(6,"async"),d(7),r(8,"translate"),c(),a(9,"form",2),g("ngSubmit",function(){return I(s),T(n.onSubmit())}),a(10,"div",3)(11,"label",4),d(12),r(13,"translate"),r(14,"addSpace"),c(),K(15,fi,7,14,"div",5,pi),r(17,"async"),c(),a(18,"div",6),d(19),r(20,"translate"),c(),a(21,"div",7)(22,"button",8),r(23,"async"),g("click",function(){return I(s),T(n.cancel())}),d(24),r(25,"translate"),c(),a(26,"button",9),r(27,"async"),d(28),r(29,"translate"),h(30,bi,3,0,"div",10),r(31,"async"),c()()()()}if(i&2){o(2),$(l(3,11,n.titleKey));let s=l(6,13,n.getSelectedCount());o(5),f(" ",P(8,15,s===1?"my-absences.confirm.lesson-selected":"my-absences.confirm.lessons-selected",oe(37,li,s))," "),o(2),b("formGroup",n.formGroup),o(3),X("",l(13,18,"my-absences.confirm.choose-presence-type"),"",P(14,20,":",":"),""),o(3),Q(l(17,23,n.absenceTypes$)),o(4),f(" ",l(20,25,"my-absences.confirm.remark")," "),o(3),b("disabled",l(23,27,n.saving$)),o(2),f(" ",l(25,29,"my-absences.confirm.cancel")," "),o(2),b("disabled",l(27,31,n.saving$)),o(2),f(" ",l(29,33,"my-absences.confirm.save")," "),o(2),C(l(31,35,n.saving$)?30:-1)}},dependencies:[we,Me,Ie,Le,Te,ke,Pe,Re,$e,Se,z,D,Ee],encapsulation:2,changeDetection:0})}}return t})();var be=(()=>{class t extends Ot{get preventAbsencesAfterStart(){if(this._preventAbsencesAfterStart==null){let e=this.storageService.getPayload()?.instance_id,i=this.settings.preventStudentAbsenceAfterLessonStart;this._preventAbsencesAfterStart=e?i.includes(e):!1}return this._preventAbsencesAfterStart}constructor(e,i,n,s,p,v){super(e,i,v,n,"/my-absences/report"),this.studentsService=s,this.storageService=p}getInitialFilter(){return{dateFrom:null,dateTo:null}}isValidFilter(e){return!!(e.dateFrom||e.dateTo)}loadEntries(e,i,n){let s=this.buildRequestParamsFromFilter(e).set("sort","From.asc");return this.loadingService.load(this.loadTimetableEntries(s).pipe(y(p=>this.filterAbsencesAfterLessonStart(p)),L(p=>x([q(p),this.loadLessonAbsences(p),this.loadLessonDispensations(p)])),y(([p,v,A])=>this.buildLessonPresences(p,v,A)),y(p=>({offset:0,total:p.length,entries:p}))),jt)}filterAbsencesAfterLessonStart(e){return this.preventAbsencesAfterStart?e.filter(i=>i.From.getTime()>=new Date().getTime()):e}buildParamsFromFilter(e){let{dateFrom:i,dateTo:n}=e,s={};return i&&(s.dateFrom=_e(i,"yyyy-MM-dd")),n&&(s.dateTo=_e(n,"yyyy-MM-dd")),s}buildRequestParamsFromFilter(e){let i=new pt;return e.dateFrom&&(i=i.set("filter.From",`>${_e(It(e.dateFrom,1),"yyyy-MM-dd")}`)),e.dateTo&&(i=i.set("filter.To",`<${_e(xt(e.dateTo,1),"yyyy-MM-dd")}`)),i}get studentId(){let e=this.storageService.getPayload()?.id_person;if(e==null)throw new Error("No student id available");return Number(e)}loadTimetableEntries(e){return this.studentsService.getTimetableEntries(this.studentId,e)}loadLessonAbsences(e){return e.length>0?this.studentsService.getLessonAbsences(this.studentId,{"filter.Id":`;${e.map(i=>i.Id).join(";")}`}):q([])}loadLessonDispensations(e){return e.length>0?this.studentsService.getLessonDispensations(this.studentId,{"filter.Id":`;${e.map(i=>i.Id).join(";")}`}):q([])}buildLessonPresences(e,i,n){return e.map(s=>this.buildLessonPresence(s,i,n))}buildLessonPresence(e,i,n){let s=i.find(A=>A.LessonRef.Id===e.Id),p=n.find(A=>A.LessonRef.Id===e.Id),v=this.buildLessonPresenceTypeRef(s,p);return{Id:"",LessonRef:{Id:e.Id,HRef:null},StudentRef:(s||p)?.StudentRef||{Id:this.studentId,HRef:null},EventRef:{Id:0,HRef:null},TypeRef:v,RegistrationRef:{Id:0,HRef:null},StudyClassRef:{Id:0,HRef:null},ConfirmationStateId:s?.ConfirmationStateId||p&&this.settings.excusedAbsenceStateId||null,EventDesignation:e.EventDesignation||"",HasStudyCourseConfirmationCode:!1,LessonDateTimeFrom:e.From||new Date,LessonDateTimeTo:e.To||new Date,Comment:null,Date:e.From||new Date,Type:(s||p)?.Type||null,StudentFullName:(s||p)?.StudentFullName||"",StudyClassNumber:"",TeacherInformation:e.EventManagerInformation??null}}buildLessonPresenceTypeRef(e,i){return e?Ve({},e.TypeRef):i?Ve({},i.TypeRef):{Id:null,HRef:null}}static{this.\u0275fac=function(i){return new(i||t)(j(at),j(Ft),j(H),j(Fe),j(G),j(Vt))}}static{this.\u0275prov=ie({token:t,factory:t.\u0275fac})}}return t})();var ye=(()=>{class t extends Tt{constructor(){super(...arguments),this.selectedIds$=this.selection$.pipe(y(kt))}static{this.\u0275fac=(()=>{let e;return function(n){return(e||(e=Je(t)))(n||t)}})()}static{this.\u0275prov=ie({token:t,factory:t.\u0275fac})}}return t})();var yi=(t,m)=>m.Id,_i=t=>({count:t}),hi=t=>({"border-top pt-3":t});function vi(t,m){if(t&1&&(a(0,"div",13),d(1),r(2,"translate"),c()),t&2){let e=m.$implicit;o(),f(" ",P(2,1,"global.validation-errors."+e.error,e.params)," ")}}function gi(t,m){if(t&1&&(K(0,vi,3,4,"div",13,Ce),r(2,"async")),t&2){let e=_(2);Q(l(2,0,e.absenceTypeIdErrors$))}}function Ci(t,m){if(t&1&&(a(0,"div",5),S(1,"input",11),r(2,"async"),a(3,"label",12),d(4),c(),h(5,gi,3,2),r(6,"async"),c()),t&2){let e,i,n=m.$implicit,s=m.$index,p=_();b("ngClass",oe(12,hi,n.IsHalfDay)),o(),ne("is-invalid",((e=(e=l(2,8,p.absenceTypeIdErrors$))==null?null:e.length)!==null&&e!==void 0?e:0)>0),b("id","absence-type-"+s)("value",n.Id),o(2),b("for","absence-type-"+s),o(),f(" ",n.Designation," "),o(),C(((i=(i=l(6,10,p.absenceTypes$))==null?null:i.length)!==null&&i!==void 0?i:0)-1===s?5:-1)}}function Si(t,m){t&1&&(a(0,"div",10)(1,"span",14),d(2,"Loading..."),c()())}var Jt=(()=>{class t extends je{constructor(e,i,n,s,p,v,A,F,U,M){super(e,i,n,s,p,v,A,F),this.state=U,this.selectionService=M,this.titleKey="my-absences.report.title",this.selectedLessonIds$=this.selectionService.selectedIds$.pipe(y(Oe=>ce(ee(Oe.map(Ne=>Ne.lessonIds))))),this.confirmationStateId=this.settings.checkableAbsenceStateId}getHalfDayType(){return this.presenceTypesService.getPresenceType(this.settings.halfDayPresenceTypeId).pipe(y(e=>e.Active?e:null))}onSaveSuccess(){this.selectionService.clear(),this.state.resetEntries(),super.onSaveSuccess()}navigateBack(){this.state.queryParams$.pipe(E(1)).subscribe(e=>{this.router.navigate(["/my-absences/report"],{queryParams:e})})}static{this.\u0275fac=function(i){return new(i||t)(u(ae),u(re),u(pe),u(le),u(Y),u(me),u(G),u(H),u(be),u(ye))}}static{this.\u0275cmp=k({type:t,selectors:[["bkd-my-absences-confirm"]],features:[ge],decls:32,vars:39,consts:[[1,"bkd-container","bkd-container-limited"],[1,"mb-3","pb-3","border-bottom"],[3,"ngSubmit","formGroup"],[1,"form-group","mb-3","border-bottom"],[1,"form-label"],[1,"form-check","my-3",3,"ngClass"],[1,"remark"],[1,"d-flex","justify-content-end"],["type","button",1,"btn","btn-outline-secondary",3,"click","disabled"],["type","submit",1,"btn","btn-primary","ms-2",3,"disabled"],["role","status",1,"spinner-border","spinner-border-sm","align-middle"],["type","radio","formControlName","absenceTypeId",1,"form-check-input",3,"id","value"],[1,"form-check-label",3,"for"],[1,"invalid-feedback","mt-4"],[1,"visually-hidden"]],template:function(i,n){if(i&1){let s=O();a(0,"div",0)(1,"h1"),d(2),r(3,"translate"),c(),a(4,"div",1),N(5),r(6,"async"),d(7),r(8,"translate"),c(),a(9,"form",2),g("ngSubmit",function(){return I(s),T(n.onSubmit())}),a(10,"div",3)(11,"label",4),d(12),r(13,"translate"),r(14,"addSpace"),c(),K(15,Ci,7,14,"div",5,yi),r(17,"async"),c(),a(18,"div",6),d(19),r(20,"translate"),c(),a(21,"div",7)(22,"button",8),r(23,"async"),g("click",function(){return I(s),T(n.cancel())}),d(24),r(25,"translate"),c(),a(26,"button",9),r(27,"async"),d(28),r(29,"translate"),h(30,Si,3,0,"div",10),r(31,"async"),c()()()()}if(i&2){o(2),$(l(3,11,n.titleKey));let s=l(6,13,n.getSelectedCount());o(5),f(" ",P(8,15,s===1?"my-absences.confirm.lesson-selected":"my-absences.confirm.lessons-selected",oe(37,_i,s))," "),o(2),b("formGroup",n.formGroup),o(3),X("",l(13,18,"my-absences.confirm.choose-presence-type"),"",P(14,20,":",":"),""),o(3),Q(l(17,23,n.absenceTypes$)),o(4),f(" ",l(20,25,"my-absences.confirm.remark")," "),o(3),b("disabled",l(23,27,n.saving$)),o(2),f(" ",l(25,29,"my-absences.confirm.cancel")," "),o(2),b("disabled",l(27,31,n.saving$)),o(2),f(" ",l(29,33,"my-absences.confirm.save")," "),o(2),C(l(31,35,n.saving$)?30:-1)}},dependencies:[we,Me,Ie,Le,Te,ke,Pe,Re,$e,Se,z,D,Ee],encapsulation:2,changeDetection:0})}}return t})();var xi=()=>["/my-absences"],ei=(()=>{class t{constructor(){this.filter={dateFrom:null,dateTo:null},this.filterChange=new Ze,this.minDate={year:new Date().getFullYear(),month:new Date().getMonth()+1,day:new Date().getDate()}}updateDateFrom(e){this.filter.dateFrom=e,e&&(this.filter.dateTo=e)}show(){this.filterChange.emit({dateFrom:Zt(this.filter.dateFrom),dateTo:Zt(this.filter.dateTo)})}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=k({type:t,selectors:[["bkd-my-absences-report-header"]],inputs:{filter:"filter"},outputs:{filterChange:"filterChange"},features:[se([{provide:ht,useClass:gt},{provide:vt,useClass:Nt}])],decls:19,vars:18,consts:[[3,"link"],[1,"filters"],[1,"form-group"],[1,"form-label"],[3,"valueChange","minDate","value"],[1,"buttons"],["type","button",1,"btn","btn-primary",3,"click"]],template:function(i,n){i&1&&(S(0,"bkd-backlink",0),a(1,"h1"),d(2),r(3,"translate"),c(),a(4,"div",1)(5,"div",2)(6,"label",3),d(7),r(8,"translate"),c(),a(9,"bkd-date-select",4),g("valueChange",function(p){return n.updateDateFrom(p)}),c()(),a(10,"div",2)(11,"label",3),d(12),r(13,"translate"),c(),a(14,"bkd-date-select",4),rt("valueChange",function(p){return ot(n.filter.dateTo,p)||(n.filter.dateTo=p),p}),c()(),a(15,"div",5)(16,"button",6),g("click",function(){return n.show()}),d(17),r(18,"translate"),c()()()),i&2&&(b("link",Z(17,xi)),o(2),$(l(3,9,"my-absences.report.title")),o(5),$(l(8,11,"my-absences.report.header.date-from")),o(2),b("minDate",n.minDate)("value",n.filter.dateFrom),o(3),$(l(13,13,"my-absences.report.header.date-to")),o(2),b("minDate",n.minDate),st("value",n.filter.dateTo),o(3),f(" ",l(18,15,"my-absences.report.header.show")," "))},dependencies:[Bt,Gt,D],styles:["[_nghost-%COMP%]{display:block;padding-bottom:1rem;border-bottom:1px solid #dee2e6}.filters[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap}.form-group[_ngcontent-%COMP%]{flex:1;min-width:20rem;max-width:40rem;margin-right:1rem;margin-bottom:.5rem}.buttons[_ngcontent-%COMP%]{flex:none;margin-top:1.625rem;margin-right:0}@media (max-width: 575.98px){[_nghost-%COMP%]{padding-bottom:0}.buttons[_ngcontent-%COMP%]{width:100%;margin-top:1rem;margin-bottom:1rem}}"],changeDetection:0})}}return t})();function Zt(t){return t?At(t):null}var Ai=(t,m)=>m.Id;function Ii(t,m){t&1&&S(0,"bkd-spinner")}function Ti(t,m){if(t&1){let e=O();a(0,"div",8)(1,"input",9,2),r(3,"async"),g("change",function(){I(e);let n=_().$implicit,s=_(5);return T(s.selectionService.toggle(n))}),c()()}if(t&2){let e=_().$implicit,i=_(5);o(),b("checked",l(3,1,i.selectionService.isSelected$(e)))}}function ki(t,m){if(t&1&&(a(0,"div")(1,"i",13),d(2),c()()),t&2){_();let e=w(2);et("checkbox presence-category ",e.category,""),o(2),$(e.icon)}}function Mi(t,m){if(t&1&&d(0),t&2){let e=_().$implicit;f(" , ",e.StudyClassNumber," ")}}function Li(t,m){if(t&1&&(a(0,"div",20),d(1),c()),t&2){_();let e=w(15);o(),f(" ",e," ")}}function Ri(t,m){if(t&1){let e=O();a(0,"div",15,1),g("click",function(n){I(e);let s=R(1),p=_(5);return T(p.onRowClick(n,s))}),N(2),r(3,"async"),h(4,Ti,4,3,"div",8)(5,ki,3,4,"div",16),a(6,"div",17),d(7),h(8,Mi,1,1),c(),a(9,"div",18),d(10),r(11,"date"),r(12,"date"),c(),a(13,"div",19),d(14),c(),N(15),r(16,"async"),h(17,Li,2,1,"div",20),a(18,"div",21),d(19),r(20,"date"),c(),a(21,"div",22),d(22),r(23,"bkdDaysDifference"),c(),a(24,"div",23),d(25),r(26,"date"),r(27,"bkdDaysDifference"),c()()}if(t&2){let e=m.$implicit,i=_(5);o(2);let n=J(l(3,11,i.getPresenceCategory(e)));o(2),C(n?5:4),o(3),f(" ",e.EventDesignation," "),o(),C(e.StudyClassNumber?8:-1),o(2),X(" ",P(11,14,e.LessonDateTimeFrom,"HH:mm"),"\u2013",P(12,17,e.LessonDateTimeTo,"HH:mm")," "),o(4),f(" ",e.TeacherInformation," "),o();let s=J(l(16,20,i.getPresenceTypeDesignation(e)));o(2),C(s?17:-1),o(2),f(" ",P(20,23,e.LessonDateTimeFrom,"dd.MM.yyyy")," "),o(3),f(" ",l(23,26,e.LessonDateTimeFrom)," "),o(3),X(" ",P(26,28,e.LessonDateTimeFrom,"dd.MM.yyyy"),", ",l(27,31,e.LessonDateTimeFrom)," ")}}function $i(t,m){if(t&1){let e=O();a(0,"div")(1,"div",7,0),g("click",function(n){I(e);let s=R(2),p=_(4);return T(p.onRowClick(n,s))}),a(3,"div",8)(4,"input",9),r(5,"async"),g("change",function(n){I(e);let s=_(4);return T(s.toggleAll(n.target==null?null:n.target.checked))}),c()(),a(6,"div",10),d(7),r(8,"translate"),c(),a(9,"div",11)(10,"a",12),r(11,"async"),a(12,"i",13),d(13,"edit"),c()()()(),K(14,Ri,28,33,"div",14,Ai),c()}if(t&2){let e,i=_(4),n=w(0);o(4),b("checked",l(5,4,i.allSelected$)),o(3),f(" ",l(8,6,"my-absences.report.list.all")," "),o(3),ne("disabled",((e=l(11,8,i.selectionService.selection$))==null?null:e.length)===0),o(4),Q(n)}}function wi(t,m){t&1&&S(0,"bkd-spinner",6)}function Pi(t,m){if(t&1&&(a(0,"div",5),h(1,$i,16,10,"div")(2,wi,1,0,"bkd-spinner",6),c()),t&2){_(3);let e=w(0),i=w(2);o(),C(e&&e.length>0?1:-1),o(),C(i?2:-1)}}function Di(t,m){t&1&&(a(0,"p",4),d(1),r(2,"translate"),c()),t&2&&(o(),f(" ",l(2,1,"my-absences.report.no-entries")," "))}function Fi(t,m){if(t&1&&h(0,Pi,3,2,"div",5)(1,Di,3,3,"p",4),t&2){_(2);let e=w(0),i=w(2);C(e&&e.length>0||i?0:1)}}function Ei(t,m){if(t&1&&(h(0,Ii,1,0,"bkd-spinner"),r(1,"async"),h(2,Fi,2,1)),t&2){let e=_();C(l(1,1,e.state.loading$)?0:2)}}function Bi(t,m){t&1&&(a(0,"p",4),d(1),r(2,"translate"),c()),t&2&&(o(),$(l(2,1,"my-absences.report.no-filter")))}var ti=(()=>{class t{constructor(e,i,n,s,p,v){this.state=e,this.selectionService=i,this.route=n,this.scrollPosition=s,this.presenceTypesService=p,this.settings=v,this.filterFromParams$=this.route.queryParams.pipe(y(ji)),this.allSelected$=x([this.selectionService.selection$,this.state.entries$.pipe(L(A=>x(A.map(F=>this.getPresenceType(F)))))]).pipe(y(([A,F])=>A.length>0&&A.length===F.filter(Ct(De)).length)),this.destroy$=new ve}ngOnInit(){this.filterFromParams$.pipe(E(1)).subscribe(e=>this.state.setFilter(e)),this.state.validFilter$.pipe(Xe(this.destroy$)).subscribe(()=>this.selectionService.clear())}ngAfterViewInit(){this.scrollPosition.restore()}ngOnDestroy(){this.destroy$.next()}getPresenceCategory(e){return this.getPresenceType(e).pipe(y(i=>De(i)?e.ConfirmationStateId===this.settings.checkableAbsenceStateId?{category:he.Unapproved,icon:Ue(he.Unapproved)}:{category:he.Absent,icon:Ue(he.Absent)}:null))}getPresenceTypeDesignation(e){return this.presenceTypesService.displayedTypes$.pipe(y(i=>e.TypeRef.Id&&i.find(n=>n.Id===e.TypeRef.Id)?.Designation||null))}toggleAll(e){x([this.state.entries$.pipe(E(1)),this.presenceTypesService.presenceTypes$.pipe(E(1))]).subscribe(([i,n])=>{let s=n.filter(p=>De(p)).map(p=>p.Id);this.selectionService.clear(e?i.filter(p=>p.TypeRef.Id==null||!s.includes(p.TypeRef.Id)):null)})}onRowClick(e,i){let n=i.querySelector('input[type="checkbox"]');n&&e.target!==n&&!e.target.closest(".buttons")&&n.click()}getPresenceType(e){return this.presenceTypesService.presenceTypes$.pipe(y(i=>e.TypeRef.Id&&i.find(n=>n.Id===e.TypeRef.Id)||null))}static{this.\u0275fac=function(i){return new(i||t)(u(be),u(ye),u(lt),u(Ht),u(Y),u(H))}}static{this.\u0275cmp=k({type:t,selectors:[["bkd-my-absences-report-list"]],decls:9,vars:12,consts:[["all",""],["row",""],["checkbox",""],[3,"filterChange","filter"],[1,"mt-3"],[1,"py-3"],[1,"inline"],[1,"entries-all",3,"click"],[1,"checkbox"],["type","checkbox",1,"form-check-input",3,"change","checked"],[1,"all"],[1,"buttons"],["routerLink","confirm",1,"edit","btn","btn-primary","btn-icon","me-2"],[1,"material-icons"],[1,"entry"],[1,"entry",3,"click"],[3,"class"],[1,"lesson-class"],[1,"time","pe-2"],[1,"teacher"],[1,"presence-type"],[1,"date"],[1,"days-ago"],[1,"date-days-ago"]],template:function(i,n){if(i&1){let s=O();N(0),r(1,"async"),N(2),r(3,"async"),a(4,"bkd-my-absences-report-header",3),r(5,"async"),g("filterChange",function(v){return I(s),T(n.state.setFilter(v))}),c(),h(6,Ei,3,3),r(7,"async"),h(8,Bi,3,3,"p",4)}i&2&&(J(l(1,2,n.state.entries$)),o(2),J(l(3,5,n.state.loadingPage$)),o(2),b("filter",l(5,8,n.filterFromParams$)),o(2),C(l(7,10,n.state.isFilterValid$)?6:8))},dependencies:[ei,Ae,wt,z,ct,D,Lt],styles:['.entries-all[_ngcontent-%COMP%]{padding:0 0 .5rem 1rem;border-bottom:1px solid #dee2e6;display:grid;grid-template-areas:"checkbox all buttons";grid-template-columns:min-content 1fr min-content}.entry[_ngcontent-%COMP%]{padding:1rem;border-bottom:1px solid #dee2e6;display:grid;grid-template-areas:"checkbox lesson-class time teacher" "checkbox presence-type date days-ago";grid-template-columns:min-content 2fr 1fr 2fr}.entry[_ngcontent-%COMP%]:first-child{padding-top:0}.entries-all[_ngcontent-%COMP%] + .entry[_ngcontent-%COMP%]{padding-top:1rem}.presence-category.absent[_ngcontent-%COMP%]{color:#ea161f}.presence-category.unapproved[_ngcontent-%COMP%]{color:#ffa814}.checkbox[_ngcontent-%COMP%]{grid-area:checkbox;margin:0;padding:.3rem 1rem 0 0}.presence-category[_ngcontent-%COMP%] .material-icons[_ngcontent-%COMP%]{display:block;font-size:16px}.entries-all[_ngcontent-%COMP%] .checkbox[_ngcontent-%COMP%]{padding-top:.2rem}.checkbox[_ngcontent-%COMP%] input.form-check-input[_ngcontent-%COMP%]{position:static!important;margin:0!important;display:block}.all[_ngcontent-%COMP%]{grid-area:all}.buttons[_ngcontent-%COMP%]{grid-area:buttons;display:flex}.lesson-class[_ngcontent-%COMP%]{grid-area:lesson-class;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.time[_ngcontent-%COMP%]{grid-area:time}.teacher[_ngcontent-%COMP%]{grid-area:teacher}.presence-type[_ngcontent-%COMP%]{color:#adb5bd;grid-area:presence-type}.date[_ngcontent-%COMP%]{grid-area:date}.days-ago[_ngcontent-%COMP%]{color:#adb5bd;grid-area:days-ago}.date-days-ago[_ngcontent-%COMP%]{grid-area:date-days-ago;display:none}@media (max-width: 750px){.entry[_ngcontent-%COMP%]{grid-template-areas:"checkbox lesson-class" "checkbox teacher" "checkbox date-days-ago" "checkbox time" "checkbox presence-type";grid-template-columns:min-content 1fr}.date-days-ago[_ngcontent-%COMP%]{display:block}.date[_ngcontent-%COMP%], .days-ago[_ngcontent-%COMP%]{display:none}}'],changeDetection:0})}}return t})();function ji(t){return{dateFrom:t.dateFrom?qe(t.dateFrom):null,dateTo:t.dateTo?qe(t.dateTo):null}}var ii=(()=>{class t{constructor(){}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=k({type:t,selectors:[["bkd-my-absences-report"]],features:[se([be,ye])],decls:1,vars:0,template:function(i,n){i&1&&S(0,"router-outlet")},dependencies:[xe],encapsulation:2,changeDetection:0})}}return t})();var Oi=["link"],Ni=()=>["/my-absences/report"],ni=(()=>{class t{onClick(){this.link.nativeElement.click()}constructor(){}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=k({type:t,selectors:[["bkd-my-absences-report-link"]],viewQuery:function(i,n){if(i&1&&tt(Oi,5),i&2){let s;it(s=nt())&&(n.link=s.first)}},hostBindings:function(i,n){i&1&&g("click",function(p){return n.onClick(p)})},decls:8,vars:5,consts:[["link",""],[1,"m-0"],[1,"btn","btn-link","p-0",3,"routerLink"],[1,"d-flex","align-items-center"],[1,"material-icons"]],template:function(i,n){i&1&&(a(0,"h5",1),d(1),r(2,"translate"),c(),a(3,"a",2,0)(5,"div",3)(6,"i",4),d(7,"keyboard_arrow_right"),c()()()),i&2&&(o(),f(" ",l(2,2,"my-absences.report.title"),` -`),o(2),b("routerLink",Z(4,Ni)))},dependencies:[Ae,D],styles:["[_nghost-%COMP%]{display:flex;align-items:center;justify-content:space-between;padding:1rem;cursor:pointer}.btn[_ngcontent-%COMP%]{color:#000;text-decoration:none}"],changeDetection:0})}}return t})();var si=()=>[];function Vi(t,m){}function Hi(t,m){if(t&1&&d(0),t&2){_();let e=w(0);f(" (",e==null?null:e.checkableAbsences,") ")}}function Gi(t,m){if(t&1&&S(0,"bkd-student-dossier-absences",15),t&2){let e=_();b("absences$",e.myAbsencesService.checkableAbsences$)}}function qi(t,m){if(t&1&&d(0),t&2){_();let e=w(0);f(" (",e==null?null:e.openAbsences,") ")}}function Ui(t,m){if(t&1&&(S(0,"bkd-student-dossier-absences",16),r(1,"translate"),r(2,"async")),t&2){let e,i=_();b("absences$",i.myAbsencesService.openAbsences$)("selectionService",i.absencesSelectionService)("defaultAbsenceSelectionMessage",l(1,4,"my-absences.show.default-absence-selection-message"))("reports",(e=l(2,6,i.openAbsencesReports$))!==null&&e!==void 0?e:Z(8,si))}}function Wi(t,m){if(t&1&&d(0),t&2){_();let e=w(0);f(" (",e==null?null:e.excusedAbsences,") ")}}function Ki(t,m){if(t&1&&S(0,"bkd-student-dossier-absences",15),t&2){let e=_();b("absences$",e.myAbsencesService.excusedAbsences$)}}function Qi(t,m){if(t&1&&d(0),t&2){_();let e=w(0);f(" (",e==null?null:e.unexcusedAbsences,") ")}}function zi(t,m){if(t&1&&S(0,"bkd-student-dossier-absences",17),t&2){let e=_();b("absences$",e.myAbsencesService.unexcusedAbsences$)("displayPresenceType",!1)}}function Yi(t,m){if(t&1&&d(0),t&2){_();let e=w(0);f(" (",e==null?null:e.incidents,") ")}}function Xi(t,m){if(t&1&&S(0,"bkd-student-dossier-absences",15),t&2){let e=_();b("absences$",e.myAbsencesService.incidents$)}}var oi=(()=>{class t{constructor(e,i,n){this.reportsService=e,this.myAbsencesService=i,this.absencesSelectionService=n,this.openAbsencesReports$=this.loadOpenAbsencesReports(),this.allAbsencesReports$=this.loadAllAbsencesReports()}loadOpenAbsencesReports(){return x([this.absencesSelectionService.selectedWithoutPresenceType$,this.absencesSelectionService.selectedIds$]).pipe(L(([e,i])=>e.length===0&&i.length>0?this.getOpenAbsencesRecordIds(ce(ee(i.map(n=>n.lessonIds)))):q([])),L(e=>this.reportsService.getStudentConfirmationReports(e)),B(1))}loadAllAbsencesReports(){return x([this.myAbsencesService.openLessonAbsences$,this.myAbsencesService.checkableLessonAbsences$,this.myAbsencesService.excusedLessonAbsences$,this.myAbsencesService.unexcusedLessonAbsences$,this.myAbsencesService.incidentsLessonAbsences$]).pipe(y(e=>this.getAllAbsencesRecordIds(ee(e))),L(e=>this.reportsService.getMyAbsencesReports(e)),B(1))}getAllAbsencesRecordIds(e){return e.map(i=>`${i.LessonRef.Id}_${i.RegistrationId}`)}getOpenAbsencesRecordIds(e){return this.myAbsencesService.openLessonAbsences$.pipe(y(i=>i.filter(n=>e.includes(n.LessonRef.Id)).map(n=>`${n.LessonRef.Id}_${n.RegistrationId}`)))}static{this.\u0275fac=function(i){return new(i||t)(u(Et),u(fe),u(de))}}static{this.\u0275cmp=k({type:t,selectors:[["bkd-my-absences-show"]],decls:70,vars:38,consts:[["checkableAbsences","ngbAccordionItem"],["openAbsences","ngbAccordionItem"],["excusedAbsences","ngbAccordionItem"],["unexcusedAbsences","ngbAccordionItem"],["incidents","ngbAccordionItem"],[1,"bkd-container","bkd-container-limited"],[1,"d-flex","justify-content-between","border-bottom","header"],[1,"ps-3"],[3,"reports"],["ngbAccordion",""],["ngbAccordionItem",""],["ngbAccordionHeader",""],["ngbAccordionCollapse",""],["ngbAccordionBody",""],[3,"click","opened"],[3,"absences$"],[3,"absences$","selectionService","defaultAbsenceSelectionMessage","reports"],[3,"absences$","displayPresenceType"]],template:function(i,n){if(i&1){let s=O();N(0),r(1,"async"),a(2,"div",5)(3,"h1"),d(4),r(5,"translate"),c(),a(6,"div",6)(7,"div"),d(8),r(9,"translate"),c(),a(10,"div",7),S(11,"bkd-reports-link",8),r(12,"async"),c()(),a(13,"div",9)(14,"div",10)(15,"div",11),S(16,"bkd-my-absences-report-link"),c(),a(17,"div",12)(18,"div",13),h(19,Vi,0,0,"ng-template"),c()()(),a(20,"div",10,0)(22,"div",11)(23,"bkd-student-dossier-entry-header",14),g("click",function(){I(s);let v=R(21);return T(v.toggle())}),d(24),r(25,"translate"),h(26,Hi,1,1),c()(),a(27,"div",12)(28,"div",13),h(29,Gi,1,1,"ng-template"),c()()(),a(30,"div",10,1)(32,"div",11)(33,"bkd-student-dossier-entry-header",14),g("click",function(){I(s);let v=R(31);return T(v.toggle())}),d(34),r(35,"translate"),h(36,qi,1,1),c()(),a(37,"div",12)(38,"div",13),h(39,Ui,3,9,"ng-template"),c()()(),a(40,"div",10,2)(42,"div",11)(43,"bkd-student-dossier-entry-header",14),g("click",function(){I(s);let v=R(41);return T(v.toggle())}),d(44),r(45,"translate"),h(46,Wi,1,1),c()(),a(47,"div",12)(48,"div",13),h(49,Ki,1,1,"ng-template"),c()()(),a(50,"div",10,3)(52,"div",11)(53,"bkd-student-dossier-entry-header",14),g("click",function(){I(s);let v=R(51);return T(v.toggle())}),d(54),r(55,"translate"),h(56,Qi,1,1),c()(),a(57,"div",12)(58,"div",13),h(59,zi,1,2,"ng-template"),c()()(),a(60,"div",10,4)(62,"div",11)(63,"bkd-student-dossier-entry-header",14),g("click",function(){I(s);let v=R(61);return T(v.toggle())}),d(64),r(65,"translate"),h(66,Yi,1,1),c()(),a(67,"div",12)(68,"div",13),h(69,Xi,1,1,"ng-template"),c()()()()()}if(i&2){let s,p=R(21),v=R(31),A=R(41),F=R(51),U=R(61),M=J(l(1,18,n.myAbsencesService.counts$));o(4),$(l(5,21,"my-absences.title")),o(4),$(l(9,23,"my-absences.description")),o(3),b("reports",(s=l(12,25,n.allAbsencesReports$))!==null&&s!==void 0?s:Z(37,si)),o(12),b("opened",!p.collapsed),o(),f(" ",l(25,27,"shared.profile.checkable-absences")," "),o(2),C((M==null?null:M.checkableAbsences)!==null?26:-1),o(7),b("opened",!v.collapsed),o(),f(" ",l(35,29,"shared.profile.open-absences")," "),o(2),C((M==null?null:M.openAbsences)!==null?36:-1),o(7),b("opened",!A.collapsed),o(),f(" ",l(45,31,"shared.profile.excused-absences")," "),o(2),C((M==null?null:M.excusedAbsences)!==null?46:-1),o(7),b("opened",!F.collapsed),o(),f(" ",l(55,33,"shared.profile.unexcused-absences")," "),o(2),C((M==null?null:M.unexcusedAbsences)!==null?56:-1),o(7),b("opened",!U.collapsed),o(),f(" ",l(65,35,"shared.profile.incidents")," "),o(2),C((M==null?null:M.incidents)!==null?66:-1)}},dependencies:[$t,_t,yt,bt,ni,ft,ut,Dt,Pt,z,D],styles:[".header[_ngcontent-%COMP%]{padding-bottom:1rem}"],changeDetection:0})}}return t})();var ri=(()=>{class t{constructor(){}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=k({type:t,selectors:[["bkd-my-absences"]],features:[se([fe,de])],decls:1,vars:0,template:function(i,n){i&1&&S(0,"router-outlet")},dependencies:[xe],encapsulation:2,changeDetection:0})}}return t})();var Ws=[{path:"",component:ri,children:[{path:"",component:oi},{path:"confirm",component:zt},{path:"report",component:ii,children:[{path:"",component:ti,data:{restoreScrollPositionFrom:["/my-absences/report/confirm"]}},{path:"confirm",component:Jt}]}]}];export{Ws as MY_ABSENCES_ROUTES}; diff --git a/public/apps/webapp-schulverwaltung/chunk-7Q4JYW24.js b/public/apps/webapp-schulverwaltung/chunk-7Q4JYW24.js new file mode 100644 index 00000000..683df495 --- /dev/null +++ b/public/apps/webapp-schulverwaltung/chunk-7Q4JYW24.js @@ -0,0 +1,2 @@ +import{a as Gt}from"./chunk-W3JKHGP4.js";import{a as Nt}from"./chunk-A3AAQWNQ.js";import{a as jt,b as Ot,c as Vt}from"./chunk-FH4OOWQM.js";import{f as Fe,g as Ee}from"./chunk-Z4YBXGVO.js";import{b as Dt,d as Et}from"./chunk-3L4RH6QP.js";import"./chunk-DTYYCJHM.js";import"./chunk-XAZECV42.js";import{a as Ht}from"./chunk-3P6YOVUR.js";import{B as Y,C as me,D as Lt,E as Rt,F as Pt,G as Bt,b as xt,c as It,f as De,i as he,j as Ue,t as Tt,u as kt,v as Mt,x as de}from"./chunk-UYCIECIQ.js";import{a as St,d as ue}from"./chunk-G6EB45SC.js";import{e as At,o as _e}from"./chunk-WCDEMEW2.js";import{i as $t,j as Ft}from"./chunk-XFA6UPZX.js";import{b as wt}from"./chunk-PSYDBHTH.js";import{c as ut,d as ft,e as bt,f as yt,g as _t,h as ht,i as vt,l as gt,w as te,y as Ct}from"./chunk-W4U7QKJF.js";import{a as pe}from"./chunk-AVBHFGIF.js";import{$a as c,$b as Se,Ab as N,Ad as we,Bb as J,Bd as Pe,Cb as w,Cd as ee,Db as se,Eb as Z,F as E,Fb as oe,Ga as k,Id as ce,J as Qe,Jb as r,Ka as ge,Kb as l,L as ze,Lb as P,M as B,Na as h,O as Ye,Od as le,P as L,Pd as D,Qa as b,R as Xe,Ra as ne,Rd as G,Ta as et,Tc as qe,Va as C,X as ie,Xa as Ce,Xb as at,Ya as K,Za as Q,_ as j,_a as a,a as Ve,ab as S,bd as dt,cc as z,cd as H,dc as ct,ea as I,eb as O,f as ve,fa as T,fd as Ie,g as He,gb as g,h as Ge,hb as _,hc as pt,hd as mt,ia as Je,id as Te,jd as ke,l as q,ma as Ze,n as y,nb as tt,nd as Me,o as x,ob as it,pb as nt,pd as Le,qb as R,rb as d,rd as Re,sb as $,sd as $e,tb as f,ub as X,wc as lt,x as W,xa as o,xb as st,xc as xe,ya as u,yb as ot,yc as re,zb as rt,zc as Ae,zd as ae}from"./chunk-2W7IS4PN.js";var je=(()=>{class t{constructor(e,i,n,s,p,v,A,F){this.fb=e,this.router=i,this.toastService=n,this.translate=s,this.presenceTypesService=p,this.updateService=v,this.storageService=A,this.settings=F,this.formGroup=this.createFormGroup(),this.saving$=new He(!1),this.submitted$=new He(!1),this.absenceTypes$=x([this.getConfirmationTypes(),this.getHalfDayType()]).pipe(y(([U,M])=>M?[...U,M]:U)),this.absenceTypeIdErrors$=St(q(this.formGroup),this.submitted$,"absenceTypeId"),this.destroy$=new ve}ngOnInit(){this.selectedLessonIds$.pipe(E(1),W(Rt)).subscribe(()=>this.navigateBack())}ngOnDestroy(){this.destroy$.next()}onSubmit(){if(this.submitted$.next(!0),this.formGroup.valid){let{absenceTypeId:e}=this.formGroup.value;this.save(e)}}cancel(){this.navigateBack()}getSelectedCount(){return this.selectedLessonIds$.pipe(y(e=>e.length))}getConfirmationTypes(){return this.presenceTypesService.confirmationTypes$.pipe(y(e=>e.filter(i=>i.IsAbsence&&i.Id!==this.settings.halfDayPresenceTypeId)))}getHalfDayType(){return q(null)}createFormGroup(){return this.fb.group({absenceTypeId:[null,mt.required]})}save(e){this.saving$.next(!0),this.selectedLessonIds$.pipe(E(1),L(i=>this.updateService.editLessonPresences(i,[Number(this.storageService.getPayload()?.id_person)],e)),Qe(()=>this.saving$.next(!1))).subscribe(this.onSaveSuccess.bind(this))}onSaveSuccess(){this.toastService.success(this.translate.instant("my-absences.confirm.save-success")),this.navigateBack()}static{this.\u0275fac=function(i){return new(i||t)(u(ae),u(re),u(pe),u(le),u(Y),u(me),u(G),u(dt))}}static{this.\u0275cmp=k({type:t,selectors:[["ng-component"]],decls:0,vars:0,template:function(i,n){},encapsulation:2})}}return t})();var fe=(()=>{class t{constructor(e,i,n){this.settings=e,this.storageService=i,this.studentsService=n,this.studentId$=new Ge(1),this.lessonAbsences$=this.studentId$.pipe(L(this.loadLessonAbsences.bind(this)),B(1)),this.lessonIncidents$=this.studentId$.pipe(L(this.loadLessonIncidents.bind(this)),B(1)),this.lessonPresences$=this.getLessonPresences(),this.checkableAbsences$=this.getAbsences(this.settings.checkableAbsenceStateId),this.openAbsences$=this.getAbsences(this.settings.unconfirmedAbsenceStateId),this.excusedAbsences$=this.getAbsences(this.settings.excusedAbsenceStateId),this.unexcusedAbsences$=this.getAbsences(this.settings.unexcusedAbsenceStateId),this.incidents$=this.getAbsences(null),this.openLessonAbsences$=x([this.openAbsences$.pipe(W(te)),this.lessonAbsences$]).pipe(y(ue(this.getLessonAbsences.bind(this))),B(1)),this.checkableLessonAbsences$=x([this.checkableAbsences$.pipe(W(te)),this.lessonAbsences$]).pipe(y(ue(this.getLessonAbsences.bind(this))),B(1)),this.excusedLessonAbsences$=x([this.excusedAbsences$.pipe(W(te)),this.lessonAbsences$]).pipe(y(ue(this.getLessonAbsences.bind(this))),B(1)),this.unexcusedLessonAbsences$=x([this.unexcusedAbsences$.pipe(W(te)),this.lessonAbsences$]).pipe(y(ue(this.getLessonAbsences.bind(this))),B(1)),this.incidentsLessonAbsences$=x([this.incidents$.pipe(W(te)),this.lessonIncidents$]).pipe(y(ue(this.getLessonIncidents.bind(this))),B(1)),this.counts$=this.getCounts();let s=this.storageService.getPayload()?.id_person;s&&this.studentId$.next(Number(s))}reset(){this.studentId$.pipe(E(1)).subscribe(e=>this.studentId$.next(e))}getLessonPresences(){return this.getCached(x([this.studentId$,this.lessonAbsences$,this.lessonIncidents$]).pipe(L(([e,i,n])=>this.loadTimetableEntries(e,i,n).pipe(y(s=>this.buildLessonPresences(i,n,s)))),y(Mt)))}getAbsences(e){return this.getCached(this.lessonPresences$.pipe(y(i=>i?.filter(n=>n.ConfirmationStateId===e)||null)))}getLessonAbsences(e,i){let n=e.map(s=>s.LessonRef.Id);return i.filter(s=>n.includes(s.LessonRef.Id))}getLessonIncidents(e,i){let n=e.map(s=>s.LessonRef.Id);return i.filter(s=>n.includes(s.LessonRef.Id))}getCounts(){return x([this.getCount(this.checkableAbsences$),this.getCount(this.openAbsences$),this.getCount(this.excusedAbsences$),this.getCount(this.unexcusedAbsences$),this.getCount(this.incidents$)]).pipe(y(([e,i,n,s,p])=>({checkableAbsences:e,openAbsences:i,excusedAbsences:n,unexcusedAbsences:s,incidents:p,halfDays:null})))}getCached(e){return e.pipe(Ye(null),ze({connector:()=>new Ge(1)}))}getCount(e){return e.pipe(y(i=>i?.length??null))}loadLessonAbsences(e){return this.studentsService.getLessonAbsences(e)}loadLessonIncidents(e){return this.studentsService.getLessonIncidents(e)}loadTimetableEntries(e,i,n){return this.studentsService.getTimetableEntries(e,{"filter.Id":`;${[...i,...n].map(s=>s.LessonRef.Id).join(";")}`})}buildLessonPresences(e,i,n){return[...e,...i].map(s=>this.buildLessonPresence(s,n)).filter(te)}buildLessonPresence(e,i){let n=i.find(s=>s.Id===e.LessonRef.Id);return n?{Id:"",LessonRef:{Id:e.LessonRef.Id,HRef:e.LessonRef.HRef?e.LessonRef.HRef:null},StudentRef:e.StudentRef,EventRef:{Id:0,HRef:null},TypeRef:e.TypeRef,RegistrationRef:{Id:0,HRef:null},StudyClassRef:{Id:0,HRef:null},ConfirmationStateId:"ConfirmationStateId"in e?e.ConfirmationStateId:null,EventDesignation:n.EventDesignation,HasStudyCourseConfirmationCode:!1,LessonDateTimeFrom:n.From,LessonDateTimeTo:n.To,Comment:null,Date:n.From,Type:e.Type,StudentFullName:e.StudentFullName,StudyClassNumber:"",TeacherInformation:n.EventManagerInformation??null}:null}static{this.\u0275fac=function(i){return new(i||t)(j(H),j(G),j(Fe))}}static{this.\u0275prov=ie({token:t,factory:t.\u0275fac})}}return t})();var pi=(t,m)=>m.Id,li=t=>({count:t}),di=t=>({"border-top pt-3":t});function mi(t,m){if(t&1&&(a(0,"div",13),d(1),r(2,"translate"),c()),t&2){let e=m.$implicit;o(),f(" ",P(2,1,"global.validation-errors."+e.error,e.params)," ")}}function ui(t,m){if(t&1&&(K(0,mi,3,4,"div",13,Ce),r(2,"async")),t&2){let e=_(2);Q(l(2,0,e.absenceTypeIdErrors$))}}function fi(t,m){if(t&1&&(a(0,"div",5),S(1,"input",11),r(2,"async"),a(3,"label",12),d(4),c(),h(5,ui,3,2),r(6,"async"),c()),t&2){let e,i,n=m.$implicit,s=m.$index,p=_();b("ngClass",oe(12,di,n.IsHalfDay)),o(),ne("is-invalid",((e=(e=l(2,8,p.absenceTypeIdErrors$))==null?null:e.length)!==null&&e!==void 0?e:0)>0),b("id","absence-type-"+s)("value",n.Id),o(2),b("for","absence-type-"+s),o(),f(" ",n.Designation," "),o(),C(((i=(i=l(6,10,p.absenceTypes$))==null?null:i.length)!==null&&i!==void 0?i:0)-1===s?5:-1)}}function bi(t,m){t&1&&(a(0,"div",10)(1,"span",14),d(2,"Loading..."),c()())}var zt=(()=>{class t extends je{constructor(e,i,n,s,p,v,A,F,U,M){super(e,i,n,s,p,v,A,F),this.myAbsencesService=U,this.selectionService=M,this.titleKey="my-absences.confirm.title",this.selectedLessonIds$=this.selectionService.selectedIds$.pipe(y(Oe=>ce(ee(Oe.map(Ne=>Ne.lessonIds))))),this.confirmationStateId=this.settings.unconfirmedAbsencesRefreshTime}onSaveSuccess(){this.selectionService.clear(),this.myAbsencesService.reset(),super.onSaveSuccess()}navigateBack(){this.router.navigate(["/my-absences"])}static{this.\u0275fac=function(i){return new(i||t)(u(ae),u(re),u(pe),u(le),u(Y),u(me),u(G),u(H),u(fe),u(de))}}static{this.\u0275cmp=k({type:t,selectors:[["bkd-my-absences-confirm"]],features:[ge],decls:32,vars:39,consts:[[1,"bkd-container","bkd-container-limited"],[1,"mb-3","pb-3","border-bottom"],[3,"ngSubmit","formGroup"],[1,"form-group","mb-3","border-bottom"],[1,"form-label"],[1,"form-check","my-3",3,"ngClass"],[1,"remark"],[1,"d-flex","justify-content-end"],["type","button",1,"btn","btn-outline-secondary",3,"click","disabled"],["type","submit",1,"btn","btn-primary","ms-2",3,"disabled"],["role","status",1,"spinner-border","spinner-border-sm","align-middle"],["type","radio","formControlName","absenceTypeId",1,"form-check-input",3,"id","value"],[1,"form-check-label",3,"for"],[1,"invalid-feedback","mt-4"],[1,"visually-hidden"]],template:function(i,n){if(i&1){let s=O();a(0,"div",0)(1,"h1"),d(2),r(3,"translate"),c(),a(4,"div",1),N(5),r(6,"async"),d(7),r(8,"translate"),c(),a(9,"form",2),g("ngSubmit",function(){return I(s),T(n.onSubmit())}),a(10,"div",3)(11,"label",4),d(12),r(13,"translate"),r(14,"addSpace"),c(),K(15,fi,7,14,"div",5,pi),r(17,"async"),c(),a(18,"div",6),d(19),r(20,"translate"),c(),a(21,"div",7)(22,"button",8),r(23,"async"),g("click",function(){return I(s),T(n.cancel())}),d(24),r(25,"translate"),c(),a(26,"button",9),r(27,"async"),d(28),r(29,"translate"),h(30,bi,3,0,"div",10),r(31,"async"),c()()()()}if(i&2){o(2),$(l(3,11,n.titleKey));let s=l(6,13,n.getSelectedCount());o(5),f(" ",P(8,15,s===1?"my-absences.confirm.lesson-selected":"my-absences.confirm.lessons-selected",oe(37,li,s))," "),o(2),b("formGroup",n.formGroup),o(3),X("",l(13,18,"my-absences.confirm.choose-presence-type"),"",P(14,20,":",":"),""),o(3),Q(l(17,23,n.absenceTypes$)),o(4),f(" ",l(20,25,"my-absences.confirm.remark")," "),o(3),b("disabled",l(23,27,n.saving$)),o(2),f(" ",l(25,29,"my-absences.confirm.cancel")," "),o(2),b("disabled",l(27,31,n.saving$)),o(2),f(" ",l(29,33,"my-absences.confirm.save")," "),o(2),C(l(31,35,n.saving$)?30:-1)}},dependencies:[we,Me,Ie,Le,Te,ke,Pe,Re,$e,Se,z,D,Ee],encapsulation:2,changeDetection:0})}}return t})();var be=(()=>{class t extends Ot{get preventAbsencesAfterStart(){if(this._preventAbsencesAfterStart==null){let e=this.storageService.getPayload()?.instance_id,i=this.settings.preventStudentAbsenceAfterLessonStart;this._preventAbsencesAfterStart=e?i.includes(e):!1}return this._preventAbsencesAfterStart}constructor(e,i,n,s,p,v){super(e,i,v,n,"/my-absences/report"),this.studentsService=s,this.storageService=p}getInitialFilter(){return{dateFrom:null,dateTo:null}}isValidFilter(e){return!!(e.dateFrom||e.dateTo)}loadEntries(e,i,n){let s=this.buildRequestParamsFromFilter(e).set("sort","From.asc");return this.loadingService.load(this.loadTimetableEntries(s).pipe(y(p=>this.filterAbsencesAfterLessonStart(p)),L(p=>x([q(p),this.loadLessonAbsences(p),this.loadLessonDispensations(p)])),y(([p,v,A])=>this.buildLessonPresences(p,v,A)),y(p=>({offset:0,total:p.length,entries:p}))),jt)}filterAbsencesAfterLessonStart(e){return this.preventAbsencesAfterStart?e.filter(i=>i.From.getTime()>=new Date().getTime()):e}buildParamsFromFilter(e){let{dateFrom:i,dateTo:n}=e,s={};return i&&(s.dateFrom=_e(i,"yyyy-MM-dd")),n&&(s.dateTo=_e(n,"yyyy-MM-dd")),s}buildRequestParamsFromFilter(e){let i=new pt;return e.dateFrom&&(i=i.set("filter.From",`>${_e(It(e.dateFrom,1),"yyyy-MM-dd")}`)),e.dateTo&&(i=i.set("filter.To",`<${_e(xt(e.dateTo,1),"yyyy-MM-dd")}`)),i}get studentId(){let e=this.storageService.getPayload()?.id_person;if(e==null)throw new Error("No student id available");return Number(e)}loadTimetableEntries(e){return this.studentsService.getTimetableEntries(this.studentId,e)}loadLessonAbsences(e){return e.length>0?this.studentsService.getLessonAbsences(this.studentId,{"filter.Id":`;${e.map(i=>i.Id).join(";")}`}):q([])}loadLessonDispensations(e){return e.length>0?this.studentsService.getLessonDispensations(this.studentId,{"filter.Id":`;${e.map(i=>i.Id).join(";")}`}):q([])}buildLessonPresences(e,i,n){return e.map(s=>this.buildLessonPresence(s,i,n))}buildLessonPresence(e,i,n){let s=i.find(A=>A.LessonRef.Id===e.Id),p=n.find(A=>A.LessonRef.Id===e.Id),v=this.buildLessonPresenceTypeRef(s,p);return{Id:"",LessonRef:{Id:e.Id,HRef:null},StudentRef:(s||p)?.StudentRef||{Id:this.studentId,HRef:null},EventRef:{Id:0,HRef:null},TypeRef:v,RegistrationRef:{Id:0,HRef:null},StudyClassRef:{Id:0,HRef:null},ConfirmationStateId:s?.ConfirmationStateId||p&&this.settings.excusedAbsenceStateId||null,EventDesignation:e.EventDesignation||"",HasStudyCourseConfirmationCode:!1,LessonDateTimeFrom:e.From||new Date,LessonDateTimeTo:e.To||new Date,Comment:null,Date:e.From||new Date,Type:(s||p)?.Type||null,StudentFullName:(s||p)?.StudentFullName||"",StudyClassNumber:"",TeacherInformation:e.EventManagerInformation??null}}buildLessonPresenceTypeRef(e,i){return e?Ve({},e.TypeRef):i?Ve({},i.TypeRef):{Id:null,HRef:null}}static{this.\u0275fac=function(i){return new(i||t)(j(at),j(Ft),j(H),j(Fe),j(G),j(Vt))}}static{this.\u0275prov=ie({token:t,factory:t.\u0275fac})}}return t})();var ye=(()=>{class t extends Tt{constructor(){super(...arguments),this.selectedIds$=this.selection$.pipe(y(kt))}static{this.\u0275fac=(()=>{let e;return function(n){return(e||(e=Je(t)))(n||t)}})()}static{this.\u0275prov=ie({token:t,factory:t.\u0275fac})}}return t})();var yi=(t,m)=>m.Id,_i=t=>({count:t}),hi=t=>({"border-top pt-3":t});function vi(t,m){if(t&1&&(a(0,"div",13),d(1),r(2,"translate"),c()),t&2){let e=m.$implicit;o(),f(" ",P(2,1,"global.validation-errors."+e.error,e.params)," ")}}function gi(t,m){if(t&1&&(K(0,vi,3,4,"div",13,Ce),r(2,"async")),t&2){let e=_(2);Q(l(2,0,e.absenceTypeIdErrors$))}}function Ci(t,m){if(t&1&&(a(0,"div",5),S(1,"input",11),r(2,"async"),a(3,"label",12),d(4),c(),h(5,gi,3,2),r(6,"async"),c()),t&2){let e,i,n=m.$implicit,s=m.$index,p=_();b("ngClass",oe(12,hi,n.IsHalfDay)),o(),ne("is-invalid",((e=(e=l(2,8,p.absenceTypeIdErrors$))==null?null:e.length)!==null&&e!==void 0?e:0)>0),b("id","absence-type-"+s)("value",n.Id),o(2),b("for","absence-type-"+s),o(),f(" ",n.Designation," "),o(),C(((i=(i=l(6,10,p.absenceTypes$))==null?null:i.length)!==null&&i!==void 0?i:0)-1===s?5:-1)}}function Si(t,m){t&1&&(a(0,"div",10)(1,"span",14),d(2,"Loading..."),c()())}var Jt=(()=>{class t extends je{constructor(e,i,n,s,p,v,A,F,U,M){super(e,i,n,s,p,v,A,F),this.state=U,this.selectionService=M,this.titleKey="my-absences.report.title",this.selectedLessonIds$=this.selectionService.selectedIds$.pipe(y(Oe=>ce(ee(Oe.map(Ne=>Ne.lessonIds))))),this.confirmationStateId=this.settings.checkableAbsenceStateId}getHalfDayType(){return this.presenceTypesService.getPresenceType(this.settings.halfDayPresenceTypeId).pipe(y(e=>e.Active?e:null))}onSaveSuccess(){this.selectionService.clear(),this.state.resetEntries(),super.onSaveSuccess()}navigateBack(){this.state.queryParams$.pipe(E(1)).subscribe(e=>{this.router.navigate(["/my-absences/report"],{queryParams:e})})}static{this.\u0275fac=function(i){return new(i||t)(u(ae),u(re),u(pe),u(le),u(Y),u(me),u(G),u(H),u(be),u(ye))}}static{this.\u0275cmp=k({type:t,selectors:[["bkd-my-absences-confirm"]],features:[ge],decls:32,vars:39,consts:[[1,"bkd-container","bkd-container-limited"],[1,"mb-3","pb-3","border-bottom"],[3,"ngSubmit","formGroup"],[1,"form-group","mb-3","border-bottom"],[1,"form-label"],[1,"form-check","my-3",3,"ngClass"],[1,"remark"],[1,"d-flex","justify-content-end"],["type","button",1,"btn","btn-outline-secondary",3,"click","disabled"],["type","submit",1,"btn","btn-primary","ms-2",3,"disabled"],["role","status",1,"spinner-border","spinner-border-sm","align-middle"],["type","radio","formControlName","absenceTypeId",1,"form-check-input",3,"id","value"],[1,"form-check-label",3,"for"],[1,"invalid-feedback","mt-4"],[1,"visually-hidden"]],template:function(i,n){if(i&1){let s=O();a(0,"div",0)(1,"h1"),d(2),r(3,"translate"),c(),a(4,"div",1),N(5),r(6,"async"),d(7),r(8,"translate"),c(),a(9,"form",2),g("ngSubmit",function(){return I(s),T(n.onSubmit())}),a(10,"div",3)(11,"label",4),d(12),r(13,"translate"),r(14,"addSpace"),c(),K(15,Ci,7,14,"div",5,yi),r(17,"async"),c(),a(18,"div",6),d(19),r(20,"translate"),c(),a(21,"div",7)(22,"button",8),r(23,"async"),g("click",function(){return I(s),T(n.cancel())}),d(24),r(25,"translate"),c(),a(26,"button",9),r(27,"async"),d(28),r(29,"translate"),h(30,Si,3,0,"div",10),r(31,"async"),c()()()()}if(i&2){o(2),$(l(3,11,n.titleKey));let s=l(6,13,n.getSelectedCount());o(5),f(" ",P(8,15,s===1?"my-absences.confirm.lesson-selected":"my-absences.confirm.lessons-selected",oe(37,_i,s))," "),o(2),b("formGroup",n.formGroup),o(3),X("",l(13,18,"my-absences.confirm.choose-presence-type"),"",P(14,20,":",":"),""),o(3),Q(l(17,23,n.absenceTypes$)),o(4),f(" ",l(20,25,"my-absences.confirm.remark")," "),o(3),b("disabled",l(23,27,n.saving$)),o(2),f(" ",l(25,29,"my-absences.confirm.cancel")," "),o(2),b("disabled",l(27,31,n.saving$)),o(2),f(" ",l(29,33,"my-absences.confirm.save")," "),o(2),C(l(31,35,n.saving$)?30:-1)}},dependencies:[we,Me,Ie,Le,Te,ke,Pe,Re,$e,Se,z,D,Ee],encapsulation:2,changeDetection:0})}}return t})();var xi=()=>["/my-absences"],ei=(()=>{class t{constructor(){this.filter={dateFrom:null,dateTo:null},this.filterChange=new Ze,this.minDate={year:new Date().getFullYear(),month:new Date().getMonth()+1,day:new Date().getDate()}}updateDateFrom(e){this.filter.dateFrom=e,e&&(this.filter.dateTo=e)}show(){this.filterChange.emit({dateFrom:Zt(this.filter.dateFrom),dateTo:Zt(this.filter.dateTo)})}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=k({type:t,selectors:[["bkd-my-absences-report-header"]],inputs:{filter:"filter"},outputs:{filterChange:"filterChange"},features:[se([{provide:ht,useClass:gt},{provide:vt,useClass:Nt}])],decls:19,vars:18,consts:[[3,"link"],[1,"filters"],[1,"form-group"],[1,"form-label"],[3,"valueChange","minDate","value"],[1,"buttons"],["type","button",1,"btn","btn-primary",3,"click"]],template:function(i,n){i&1&&(S(0,"bkd-backlink",0),a(1,"h1"),d(2),r(3,"translate"),c(),a(4,"div",1)(5,"div",2)(6,"label",3),d(7),r(8,"translate"),c(),a(9,"bkd-date-select",4),g("valueChange",function(p){return n.updateDateFrom(p)}),c()(),a(10,"div",2)(11,"label",3),d(12),r(13,"translate"),c(),a(14,"bkd-date-select",4),rt("valueChange",function(p){return ot(n.filter.dateTo,p)||(n.filter.dateTo=p),p}),c()(),a(15,"div",5)(16,"button",6),g("click",function(){return n.show()}),d(17),r(18,"translate"),c()()()),i&2&&(b("link",Z(17,xi)),o(2),$(l(3,9,"my-absences.report.title")),o(5),$(l(8,11,"my-absences.report.header.date-from")),o(2),b("minDate",n.minDate)("value",n.filter.dateFrom),o(3),$(l(13,13,"my-absences.report.header.date-to")),o(2),b("minDate",n.minDate),st("value",n.filter.dateTo),o(3),f(" ",l(18,15,"my-absences.report.header.show")," "))},dependencies:[Bt,Gt,D],styles:["[_nghost-%COMP%]{display:block;padding-bottom:1rem;border-bottom:1px solid #dee2e6}.filters[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap}.form-group[_ngcontent-%COMP%]{flex:1;min-width:20rem;max-width:40rem;margin-right:1rem;margin-bottom:.5rem}.buttons[_ngcontent-%COMP%]{flex:none;margin-top:1.625rem;margin-right:0}@media (max-width: 575.98px){[_nghost-%COMP%]{padding-bottom:0}.buttons[_ngcontent-%COMP%]{width:100%;margin-top:1rem;margin-bottom:1rem}}"],changeDetection:0})}}return t})();function Zt(t){return t?At(t):null}var Ai=(t,m)=>m.Id;function Ii(t,m){t&1&&S(0,"bkd-spinner")}function Ti(t,m){if(t&1){let e=O();a(0,"div",8)(1,"input",9,2),r(3,"async"),g("change",function(){I(e);let n=_().$implicit,s=_(5);return T(s.selectionService.toggle(n))}),c()()}if(t&2){let e=_().$implicit,i=_(5);o(),b("checked",l(3,1,i.selectionService.isSelected$(e)))}}function ki(t,m){if(t&1&&(a(0,"div")(1,"i",13),d(2),c()()),t&2){_();let e=w(2);et("checkbox presence-category ",e.category,""),o(2),$(e.icon)}}function Mi(t,m){if(t&1&&d(0),t&2){let e=_().$implicit;f(" , ",e.StudyClassNumber," ")}}function Li(t,m){if(t&1&&(a(0,"div",20),d(1),c()),t&2){_();let e=w(15);o(),f(" ",e," ")}}function Ri(t,m){if(t&1){let e=O();a(0,"div",15,1),g("click",function(n){I(e);let s=R(1),p=_(5);return T(p.onRowClick(n,s))}),N(2),r(3,"async"),h(4,Ti,4,3,"div",8)(5,ki,3,4,"div",16),a(6,"div",17),d(7),h(8,Mi,1,1),c(),a(9,"div",18),d(10),r(11,"date"),r(12,"date"),c(),a(13,"div",19),d(14),c(),N(15),r(16,"async"),h(17,Li,2,1,"div",20),a(18,"div",21),d(19),r(20,"date"),c(),a(21,"div",22),d(22),r(23,"bkdDaysDifference"),c(),a(24,"div",23),d(25),r(26,"date"),r(27,"bkdDaysDifference"),c()()}if(t&2){let e=m.$implicit,i=_(5);o(2);let n=J(l(3,11,i.getPresenceCategory(e)));o(2),C(n?5:4),o(3),f(" ",e.EventDesignation," "),o(),C(e.StudyClassNumber?8:-1),o(2),X(" ",P(11,14,e.LessonDateTimeFrom,"HH:mm"),"\u2013",P(12,17,e.LessonDateTimeTo,"HH:mm")," "),o(4),f(" ",e.TeacherInformation," "),o();let s=J(l(16,20,i.getPresenceTypeDesignation(e)));o(2),C(s?17:-1),o(2),f(" ",P(20,23,e.LessonDateTimeFrom,"dd.MM.yyyy")," "),o(3),f(" ",l(23,26,e.LessonDateTimeFrom)," "),o(3),X(" ",P(26,28,e.LessonDateTimeFrom,"dd.MM.yyyy"),", ",l(27,31,e.LessonDateTimeFrom)," ")}}function $i(t,m){if(t&1){let e=O();a(0,"div")(1,"div",7,0),g("click",function(n){I(e);let s=R(2),p=_(4);return T(p.onRowClick(n,s))}),a(3,"div",8)(4,"input",9),r(5,"async"),g("change",function(n){I(e);let s=_(4);return T(s.toggleAll(n.target==null?null:n.target.checked))}),c()(),a(6,"div",10),d(7),r(8,"translate"),c(),a(9,"div",11)(10,"a",12),r(11,"async"),a(12,"i",13),d(13,"edit"),c()()()(),K(14,Ri,28,33,"div",14,Ai),c()}if(t&2){let e,i=_(4),n=w(0);o(4),b("checked",l(5,4,i.allSelected$)),o(3),f(" ",l(8,6,"my-absences.report.list.all")," "),o(3),ne("disabled",((e=l(11,8,i.selectionService.selection$))==null?null:e.length)===0),o(4),Q(n)}}function wi(t,m){t&1&&S(0,"bkd-spinner",6)}function Pi(t,m){if(t&1&&(a(0,"div",5),h(1,$i,16,10,"div")(2,wi,1,0,"bkd-spinner",6),c()),t&2){_(3);let e=w(0),i=w(2);o(),C(e&&e.length>0?1:-1),o(),C(i?2:-1)}}function Di(t,m){t&1&&(a(0,"p",4),d(1),r(2,"translate"),c()),t&2&&(o(),f(" ",l(2,1,"my-absences.report.no-entries")," "))}function Fi(t,m){if(t&1&&h(0,Pi,3,2,"div",5)(1,Di,3,3,"p",4),t&2){_(2);let e=w(0),i=w(2);C(e&&e.length>0||i?0:1)}}function Ei(t,m){if(t&1&&(h(0,Ii,1,0,"bkd-spinner"),r(1,"async"),h(2,Fi,2,1)),t&2){let e=_();C(l(1,1,e.state.loading$)?0:2)}}function Bi(t,m){t&1&&(a(0,"p",4),d(1),r(2,"translate"),c()),t&2&&(o(),$(l(2,1,"my-absences.report.no-filter")))}var ti=(()=>{class t{constructor(e,i,n,s,p,v){this.state=e,this.selectionService=i,this.route=n,this.scrollPosition=s,this.presenceTypesService=p,this.settings=v,this.filterFromParams$=this.route.queryParams.pipe(y(ji)),this.allSelected$=x([this.selectionService.selection$,this.state.entries$.pipe(L(A=>x(A.map(F=>this.getPresenceType(F)))))]).pipe(y(([A,F])=>A.length>0&&A.length===F.filter(Ct(De)).length)),this.destroy$=new ve}ngOnInit(){this.filterFromParams$.pipe(E(1)).subscribe(e=>this.state.setFilter(e)),this.state.validFilter$.pipe(Xe(this.destroy$)).subscribe(()=>this.selectionService.clear())}ngAfterViewInit(){this.scrollPosition.restore()}ngOnDestroy(){this.destroy$.next()}getPresenceCategory(e){return this.getPresenceType(e).pipe(y(i=>De(i)?e.ConfirmationStateId===this.settings.checkableAbsenceStateId?{category:he.Unapproved,icon:Ue(he.Unapproved)}:{category:he.Absent,icon:Ue(he.Absent)}:null))}getPresenceTypeDesignation(e){return this.presenceTypesService.displayedTypes$.pipe(y(i=>e.TypeRef.Id&&i.find(n=>n.Id===e.TypeRef.Id)?.Designation||null))}toggleAll(e){x([this.state.entries$.pipe(E(1)),this.presenceTypesService.presenceTypes$.pipe(E(1))]).subscribe(([i,n])=>{let s=n.filter(p=>De(p)).map(p=>p.Id);this.selectionService.clear(e?i.filter(p=>p.TypeRef.Id==null||!s.includes(p.TypeRef.Id)):null)})}onRowClick(e,i){let n=i.querySelector('input[type="checkbox"]');n&&e.target!==n&&!e.target.closest(".buttons")&&n.click()}getPresenceType(e){return this.presenceTypesService.presenceTypes$.pipe(y(i=>e.TypeRef.Id&&i.find(n=>n.Id===e.TypeRef.Id)||null))}static{this.\u0275fac=function(i){return new(i||t)(u(be),u(ye),u(lt),u(Ht),u(Y),u(H))}}static{this.\u0275cmp=k({type:t,selectors:[["bkd-my-absences-report-list"]],decls:9,vars:12,consts:[["all",""],["row",""],["checkbox",""],[3,"filterChange","filter"],[1,"mt-3"],[1,"py-3"],[1,"inline"],[1,"entries-all",3,"click"],[1,"checkbox"],["type","checkbox",1,"form-check-input",3,"change","checked"],[1,"all"],[1,"buttons"],["routerLink","confirm",1,"edit","btn","btn-primary","btn-icon","me-2"],[1,"material-icons"],[1,"entry"],[1,"entry",3,"click"],[3,"class"],[1,"lesson-class"],[1,"time","pe-2"],[1,"teacher"],[1,"presence-type"],[1,"date"],[1,"days-ago"],[1,"date-days-ago"]],template:function(i,n){if(i&1){let s=O();N(0),r(1,"async"),N(2),r(3,"async"),a(4,"bkd-my-absences-report-header",3),r(5,"async"),g("filterChange",function(v){return I(s),T(n.state.setFilter(v))}),c(),h(6,Ei,3,3),r(7,"async"),h(8,Bi,3,3,"p",4)}i&2&&(J(l(1,2,n.state.entries$)),o(2),J(l(3,5,n.state.loadingPage$)),o(2),b("filter",l(5,8,n.filterFromParams$)),o(2),C(l(7,10,n.state.isFilterValid$)?6:8))},dependencies:[ei,Ae,wt,z,ct,D,Lt],styles:['.entries-all[_ngcontent-%COMP%]{padding:0 0 .5rem 1rem;border-bottom:1px solid #dee2e6;display:grid;grid-template-areas:"checkbox all buttons";grid-template-columns:min-content 1fr min-content}.entry[_ngcontent-%COMP%]{padding:1rem;border-bottom:1px solid #dee2e6;display:grid;grid-template-areas:"checkbox lesson-class time teacher" "checkbox presence-type date days-ago";grid-template-columns:min-content 2fr 1fr 2fr}.entry[_ngcontent-%COMP%]:first-child{padding-top:0}.entries-all[_ngcontent-%COMP%] + .entry[_ngcontent-%COMP%]{padding-top:1rem}.presence-category.absent[_ngcontent-%COMP%]{color:#ea161f}.presence-category.unapproved[_ngcontent-%COMP%]{color:#ffa814}.checkbox[_ngcontent-%COMP%]{grid-area:checkbox;margin:0;padding:.3rem 1rem 0 0}.presence-category[_ngcontent-%COMP%] .material-icons[_ngcontent-%COMP%]{display:block;font-size:16px}.entries-all[_ngcontent-%COMP%] .checkbox[_ngcontent-%COMP%]{padding-top:.2rem}.checkbox[_ngcontent-%COMP%] input.form-check-input[_ngcontent-%COMP%]{position:static!important;margin:0!important;display:block}.all[_ngcontent-%COMP%]{grid-area:all}.buttons[_ngcontent-%COMP%]{grid-area:buttons;display:flex}.lesson-class[_ngcontent-%COMP%]{grid-area:lesson-class;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.time[_ngcontent-%COMP%]{grid-area:time}.teacher[_ngcontent-%COMP%]{grid-area:teacher}.presence-type[_ngcontent-%COMP%]{color:#adb5bd;grid-area:presence-type}.date[_ngcontent-%COMP%]{grid-area:date}.days-ago[_ngcontent-%COMP%]{color:#adb5bd;grid-area:days-ago}.date-days-ago[_ngcontent-%COMP%]{grid-area:date-days-ago;display:none}@media (max-width: 750px){.entry[_ngcontent-%COMP%]{grid-template-areas:"checkbox lesson-class" "checkbox teacher" "checkbox date-days-ago" "checkbox time" "checkbox presence-type";grid-template-columns:min-content 1fr}.date-days-ago[_ngcontent-%COMP%]{display:block}.date[_ngcontent-%COMP%], .days-ago[_ngcontent-%COMP%]{display:none}}'],changeDetection:0})}}return t})();function ji(t){return{dateFrom:t.dateFrom?qe(t.dateFrom):null,dateTo:t.dateTo?qe(t.dateTo):null}}var ii=(()=>{class t{constructor(){}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=k({type:t,selectors:[["bkd-my-absences-report"]],features:[se([be,ye])],decls:1,vars:0,template:function(i,n){i&1&&S(0,"router-outlet")},dependencies:[xe],encapsulation:2,changeDetection:0})}}return t})();var Oi=["link"],Ni=()=>["/my-absences/report"],ni=(()=>{class t{onClick(){this.link.nativeElement.click()}constructor(){}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=k({type:t,selectors:[["bkd-my-absences-report-link"]],viewQuery:function(i,n){if(i&1&&tt(Oi,5),i&2){let s;it(s=nt())&&(n.link=s.first)}},hostBindings:function(i,n){i&1&&g("click",function(p){return n.onClick(p)})},decls:8,vars:5,consts:[["link",""],[1,"m-0"],[1,"btn","btn-link","p-0",3,"routerLink"],[1,"d-flex","align-items-center"],[1,"material-icons"]],template:function(i,n){i&1&&(a(0,"h5",1),d(1),r(2,"translate"),c(),a(3,"a",2,0)(5,"div",3)(6,"i",4),d(7,"keyboard_arrow_right"),c()()()),i&2&&(o(),f(" ",l(2,2,"my-absences.report.title"),` +`),o(2),b("routerLink",Z(4,Ni)))},dependencies:[Ae,D],styles:["[_nghost-%COMP%]{display:flex;align-items:center;justify-content:space-between;padding:1rem;cursor:pointer}.btn[_ngcontent-%COMP%]{color:#000;text-decoration:none}"],changeDetection:0})}}return t})();var si=()=>[];function Vi(t,m){}function Hi(t,m){if(t&1&&d(0),t&2){_();let e=w(0);f(" (",e==null?null:e.checkableAbsences,") ")}}function Gi(t,m){if(t&1&&S(0,"bkd-student-dossier-absences",15),t&2){let e=_();b("absences$",e.myAbsencesService.checkableAbsences$)}}function qi(t,m){if(t&1&&d(0),t&2){_();let e=w(0);f(" (",e==null?null:e.openAbsences,") ")}}function Ui(t,m){if(t&1&&(S(0,"bkd-student-dossier-absences",16),r(1,"translate"),r(2,"async")),t&2){let e,i=_();b("absences$",i.myAbsencesService.openAbsences$)("selectionService",i.absencesSelectionService)("defaultAbsenceSelectionMessage",l(1,4,"my-absences.show.default-absence-selection-message"))("reports",(e=l(2,6,i.openAbsencesReports$))!==null&&e!==void 0?e:Z(8,si))}}function Wi(t,m){if(t&1&&d(0),t&2){_();let e=w(0);f(" (",e==null?null:e.excusedAbsences,") ")}}function Ki(t,m){if(t&1&&S(0,"bkd-student-dossier-absences",15),t&2){let e=_();b("absences$",e.myAbsencesService.excusedAbsences$)}}function Qi(t,m){if(t&1&&d(0),t&2){_();let e=w(0);f(" (",e==null?null:e.unexcusedAbsences,") ")}}function zi(t,m){if(t&1&&S(0,"bkd-student-dossier-absences",17),t&2){let e=_();b("absences$",e.myAbsencesService.unexcusedAbsences$)("displayPresenceType",!1)}}function Yi(t,m){if(t&1&&d(0),t&2){_();let e=w(0);f(" (",e==null?null:e.incidents,") ")}}function Xi(t,m){if(t&1&&S(0,"bkd-student-dossier-absences",15),t&2){let e=_();b("absences$",e.myAbsencesService.incidents$)}}var oi=(()=>{class t{constructor(e,i,n){this.reportsService=e,this.myAbsencesService=i,this.absencesSelectionService=n,this.openAbsencesReports$=this.loadOpenAbsencesReports(),this.allAbsencesReports$=this.loadAllAbsencesReports()}loadOpenAbsencesReports(){return x([this.absencesSelectionService.selectedWithoutPresenceType$,this.absencesSelectionService.selectedIds$]).pipe(L(([e,i])=>e.length===0&&i.length>0?this.getOpenAbsencesRecordIds(ce(ee(i.map(n=>n.lessonIds)))):q([])),L(e=>this.reportsService.getStudentConfirmationReports(e)),B(1))}loadAllAbsencesReports(){return x([this.myAbsencesService.openLessonAbsences$,this.myAbsencesService.checkableLessonAbsences$,this.myAbsencesService.excusedLessonAbsences$,this.myAbsencesService.unexcusedLessonAbsences$,this.myAbsencesService.incidentsLessonAbsences$]).pipe(y(e=>this.getAllAbsencesRecordIds(ee(e))),L(e=>this.reportsService.getMyAbsencesReports(e)),B(1))}getAllAbsencesRecordIds(e){return e.map(i=>`${i.LessonRef.Id}_${i.RegistrationId}`)}getOpenAbsencesRecordIds(e){return this.myAbsencesService.openLessonAbsences$.pipe(y(i=>i.filter(n=>e.includes(n.LessonRef.Id)).map(n=>`${n.LessonRef.Id}_${n.RegistrationId}`)))}static{this.\u0275fac=function(i){return new(i||t)(u(Et),u(fe),u(de))}}static{this.\u0275cmp=k({type:t,selectors:[["bkd-my-absences-show"]],decls:70,vars:38,consts:[["checkableAbsences","ngbAccordionItem"],["openAbsences","ngbAccordionItem"],["excusedAbsences","ngbAccordionItem"],["unexcusedAbsences","ngbAccordionItem"],["incidents","ngbAccordionItem"],[1,"bkd-container","bkd-container-limited"],[1,"d-flex","justify-content-between","border-bottom","header"],[1,"ps-3"],[3,"reports"],["ngbAccordion",""],["ngbAccordionItem",""],["ngbAccordionHeader",""],["ngbAccordionCollapse",""],["ngbAccordionBody",""],[3,"click","opened"],[3,"absences$"],[3,"absences$","selectionService","defaultAbsenceSelectionMessage","reports"],[3,"absences$","displayPresenceType"]],template:function(i,n){if(i&1){let s=O();N(0),r(1,"async"),a(2,"div",5)(3,"h1"),d(4),r(5,"translate"),c(),a(6,"div",6)(7,"div"),d(8),r(9,"translate"),c(),a(10,"div",7),S(11,"bkd-reports-link",8),r(12,"async"),c()(),a(13,"div",9)(14,"div",10)(15,"div",11),S(16,"bkd-my-absences-report-link"),c(),a(17,"div",12)(18,"div",13),h(19,Vi,0,0,"ng-template"),c()()(),a(20,"div",10,0)(22,"div",11)(23,"bkd-student-dossier-entry-header",14),g("click",function(){I(s);let v=R(21);return T(v.toggle())}),d(24),r(25,"translate"),h(26,Hi,1,1),c()(),a(27,"div",12)(28,"div",13),h(29,Gi,1,1,"ng-template"),c()()(),a(30,"div",10,1)(32,"div",11)(33,"bkd-student-dossier-entry-header",14),g("click",function(){I(s);let v=R(31);return T(v.toggle())}),d(34),r(35,"translate"),h(36,qi,1,1),c()(),a(37,"div",12)(38,"div",13),h(39,Ui,3,9,"ng-template"),c()()(),a(40,"div",10,2)(42,"div",11)(43,"bkd-student-dossier-entry-header",14),g("click",function(){I(s);let v=R(41);return T(v.toggle())}),d(44),r(45,"translate"),h(46,Wi,1,1),c()(),a(47,"div",12)(48,"div",13),h(49,Ki,1,1,"ng-template"),c()()(),a(50,"div",10,3)(52,"div",11)(53,"bkd-student-dossier-entry-header",14),g("click",function(){I(s);let v=R(51);return T(v.toggle())}),d(54),r(55,"translate"),h(56,Qi,1,1),c()(),a(57,"div",12)(58,"div",13),h(59,zi,1,2,"ng-template"),c()()(),a(60,"div",10,4)(62,"div",11)(63,"bkd-student-dossier-entry-header",14),g("click",function(){I(s);let v=R(61);return T(v.toggle())}),d(64),r(65,"translate"),h(66,Yi,1,1),c()(),a(67,"div",12)(68,"div",13),h(69,Xi,1,1,"ng-template"),c()()()()()}if(i&2){let s,p=R(21),v=R(31),A=R(41),F=R(51),U=R(61),M=J(l(1,18,n.myAbsencesService.counts$));o(4),$(l(5,21,"my-absences.title")),o(4),$(l(9,23,"my-absences.description")),o(3),b("reports",(s=l(12,25,n.allAbsencesReports$))!==null&&s!==void 0?s:Z(37,si)),o(12),b("opened",!p.collapsed),o(),f(" ",l(25,27,"shared.profile.checkable-absences")," "),o(2),C((M==null?null:M.checkableAbsences)!==null?26:-1),o(7),b("opened",!v.collapsed),o(),f(" ",l(35,29,"shared.profile.open-absences")," "),o(2),C((M==null?null:M.openAbsences)!==null?36:-1),o(7),b("opened",!A.collapsed),o(),f(" ",l(45,31,"shared.profile.excused-absences")," "),o(2),C((M==null?null:M.excusedAbsences)!==null?46:-1),o(7),b("opened",!F.collapsed),o(),f(" ",l(55,33,"shared.profile.unexcused-absences")," "),o(2),C((M==null?null:M.unexcusedAbsences)!==null?56:-1),o(7),b("opened",!U.collapsed),o(),f(" ",l(65,35,"shared.profile.incidents")," "),o(2),C((M==null?null:M.incidents)!==null?66:-1)}},dependencies:[$t,_t,yt,bt,ni,ft,ut,Dt,Pt,z,D],styles:[".header[_ngcontent-%COMP%]{padding-bottom:1rem}"],changeDetection:0})}}return t})();var ri=(()=>{class t{constructor(){}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=k({type:t,selectors:[["bkd-my-absences"]],features:[se([fe,de])],decls:1,vars:0,template:function(i,n){i&1&&S(0,"router-outlet")},dependencies:[xe],encapsulation:2,changeDetection:0})}}return t})();var Ws=[{path:"",component:ri,children:[{path:"",component:oi},{path:"confirm",component:zt},{path:"report",component:ii,children:[{path:"",component:ti,data:{restoreScrollPositionFrom:["/my-absences/report/confirm"]}},{path:"confirm",component:Jt}]}]}];export{Ws as MY_ABSENCES_ROUTES}; diff --git a/public/apps/webapp-schulverwaltung/chunk-A3AAQWNQ.js b/public/apps/webapp-schulverwaltung/chunk-A3AAQWNQ.js new file mode 100644 index 00000000..d355e426 --- /dev/null +++ b/public/apps/webapp-schulverwaltung/chunk-A3AAQWNQ.js @@ -0,0 +1 @@ +import{b as _}from"./chunk-UYCIECIQ.js";import{a as O,b as M,c as Y,d as I,g as Yr,h as Ir,i as Er,j as Hr,k as hr,l as qr,m as Lr,n as yr,o as vr}from"./chunk-WCDEMEW2.js";import{c as Mr,d as _r,e as Or,f as d,g as w}from"./chunk-XFA6UPZX.js";import{i as Nr}from"./chunk-W4U7QKJF.js";import{X as Tr,ia as kr}from"./chunk-2W7IS4PN.js";function Qr(){return Object.assign({},O())}function Rr(o,r){let t=w(o,r?.in).getDay();return t===0?7:t}function Fr(o,r){let t=Vr(r)?new r(0):d(r,0);return t.setFullYear(o.getFullYear(),o.getMonth(),o.getDate()),t.setHours(o.getHours(),o.getMinutes(),o.getSeconds(),o.getMilliseconds()),t}function Vr(o){return typeof o=="function"&&o.prototype?.constructor===o}var Zr=10,E=class{subPriority=0;validate(r,t){return!0}},H=class extends E{constructor(r,t,e,s,i){super(),this.value=r,this.validateValue=t,this.setValue=e,this.priority=s,i&&(this.subPriority=i)}validate(r,t){return this.validateValue(r,this.value,t)}set(r,t,e){return this.setValue(r,t,this.value,e)}},q=class extends E{priority=Zr;subPriority=-1;constructor(r,t){super(),this.context=r||(e=>d(t,e))}set(r,t){return t.timestampIsSet?r:d(r,Fr(r,this.context))}};var n=class{run(r,t,e,s){let i=this.parse(r,t,e,s);return i?{setter:new H(i.value,this.validate,this.set,this.priority,this.subPriority),rest:i.rest}:null}validate(r,t,e){return!0}};var L=class extends n{priority=140;parse(r,t,e){switch(t){case"G":case"GG":case"GGG":return e.era(r,{width:"abbreviated"})||e.era(r,{width:"narrow"});case"GGGGG":return e.era(r,{width:"narrow"});case"GGGG":default:return e.era(r,{width:"wide"})||e.era(r,{width:"abbreviated"})||e.era(r,{width:"narrow"})}}set(r,t,e){return t.era=e,r.setFullYear(e,0,1),r.setHours(0,0,0,0),r}incompatibleTokens=["R","u","t","T"]};var c={month:/^(1[0-2]|0?\d)/,date:/^(3[0-1]|[0-2]?\d)/,dayOfYear:/^(36[0-6]|3[0-5]\d|[0-2]?\d?\d)/,week:/^(5[0-3]|[0-4]?\d)/,hour23h:/^(2[0-3]|[0-1]?\d)/,hour24h:/^(2[0-4]|[0-1]?\d)/,hour11h:/^(1[0-1]|0?\d)/,hour12h:/^(1[0-2]|0?\d)/,minute:/^[0-5]?\d/,second:/^[0-5]?\d/,singleDigit:/^\d/,twoDigits:/^\d{1,2}/,threeDigits:/^\d{1,3}/,fourDigits:/^\d{1,4}/,anyDigitsSigned:/^-?\d+/,singleDigitSigned:/^-?\d/,twoDigitsSigned:/^-?\d{1,2}/,threeDigitsSigned:/^-?\d{1,3}/,fourDigitsSigned:/^-?\d{1,4}/},x={basicOptionalMinutes:/^([+-])(\d{2})(\d{2})?|Z/,basic:/^([+-])(\d{2})(\d{2})|Z/,basicOptionalSeconds:/^([+-])(\d{2})(\d{2})((\d{2}))?|Z/,extended:/^([+-])(\d{2}):(\d{2})|Z/,extendedOptionalSeconds:/^([+-])(\d{2}):(\d{2})(:(\d{2}))?|Z/};function p(o,r){return o&&{value:r(o.value),rest:o.rest}}function u(o,r){let t=r.match(o);return t?{value:parseInt(t[0],10),rest:r.slice(t[0].length)}:null}function h(o,r){let t=r.match(o);if(!t)return null;if(t[0]==="Z")return{value:0,rest:r.slice(1)};let e=t[1]==="+"?1:-1,s=t[2]?parseInt(t[2],10):0,i=t[3]?parseInt(t[3],10):0,l=t[5]?parseInt(t[5],10):0;return{value:e*(s*_r+i*Mr+l*Or),rest:r.slice(t[0].length)}}function v(o){return u(c.anyDigitsSigned,o)}function a(o,r){switch(o){case 1:return u(c.singleDigit,r);case 2:return u(c.twoDigits,r);case 3:return u(c.threeDigits,r);case 4:return u(c.fourDigits,r);default:return u(new RegExp("^\\d{1,"+o+"}"),r)}}function P(o,r){switch(o){case 1:return u(c.singleDigitSigned,r);case 2:return u(c.twoDigitsSigned,r);case 3:return u(c.threeDigitsSigned,r);case 4:return u(c.fourDigitsSigned,r);default:return u(new RegExp("^-?\\d{1,"+o+"}"),r)}}function T(o){switch(o){case"morning":return 4;case"evening":return 17;case"pm":case"noon":case"afternoon":return 12;case"am":case"midnight":case"night":default:return 0}}function Q(o,r){let t=r>0,e=t?r:1-r,s;if(e<=50)s=o||100;else{let i=e+50,l=Math.trunc(i/100)*100,y=o>=i%100;s=o+l-(y?100:0)}return t?s:1-s}function R(o){return o%400===0||o%4===0&&o%100!==0}var F=class extends n{priority=130;incompatibleTokens=["Y","R","u","w","I","i","e","c","t","T"];parse(r,t,e){let s=i=>({year:i,isTwoDigitYear:t==="yy"});switch(t){case"y":return p(a(4,r),s);case"yo":return p(e.ordinalNumber(r,{unit:"year"}),s);default:return p(a(t.length,r),s)}}validate(r,t){return t.isTwoDigitYear||t.year>0}set(r,t,e){let s=r.getFullYear();if(e.isTwoDigitYear){let l=Q(e.year,s);return r.setFullYear(l,0,1),r.setHours(0,0,0,0),r}let i=!("era"in t)||t.era===1?e.year:1-e.year;return r.setFullYear(i,0,1),r.setHours(0,0,0,0),r}};var W=class extends n{priority=130;parse(r,t,e){let s=i=>({year:i,isTwoDigitYear:t==="YY"});switch(t){case"Y":return p(a(4,r),s);case"Yo":return p(e.ordinalNumber(r,{unit:"year"}),s);default:return p(a(t.length,r),s)}}validate(r,t){return t.isTwoDigitYear||t.year>0}set(r,t,e,s){let i=Er(r,s);if(e.isTwoDigitYear){let y=Q(e.year,i);return r.setFullYear(y,0,s.firstWeekContainsDate),r.setHours(0,0,0,0),M(r,s)}let l=!("era"in t)||t.era===1?e.year:1-e.year;return r.setFullYear(l,0,s.firstWeekContainsDate),r.setHours(0,0,0,0),M(r,s)}incompatibleTokens=["y","R","u","Q","q","M","L","I","d","D","i","t","T"]};var C=class extends n{priority=130;parse(r,t){return t==="R"?P(4,r):P(t.length,r)}set(r,t,e){let s=d(r,0);return s.setFullYear(e,0,4),s.setHours(0,0,0,0),Y(s)}incompatibleTokens=["G","y","Y","u","Q","q","M","L","w","d","D","e","c","t","T"]};var B=class extends n{priority=130;parse(r,t){return t==="u"?P(4,r):P(t.length,r)}set(r,t,e){return r.setFullYear(e,0,1),r.setHours(0,0,0,0),r}incompatibleTokens=["G","y","Y","R","w","I","i","e","c","t","T"]};var G=class extends n{priority=120;parse(r,t,e){switch(t){case"Q":case"QQ":return a(t.length,r);case"Qo":return e.ordinalNumber(r,{unit:"quarter"});case"QQQ":return e.quarter(r,{width:"abbreviated",context:"formatting"})||e.quarter(r,{width:"narrow",context:"formatting"});case"QQQQQ":return e.quarter(r,{width:"narrow",context:"formatting"});case"QQQQ":default:return e.quarter(r,{width:"wide",context:"formatting"})||e.quarter(r,{width:"abbreviated",context:"formatting"})||e.quarter(r,{width:"narrow",context:"formatting"})}}validate(r,t){return t>=1&&t<=4}set(r,t,e){return r.setMonth((e-1)*3,1),r.setHours(0,0,0,0),r}incompatibleTokens=["Y","R","q","M","L","w","I","d","D","i","e","c","t","T"]};var X=class extends n{priority=120;parse(r,t,e){switch(t){case"q":case"qq":return a(t.length,r);case"qo":return e.ordinalNumber(r,{unit:"quarter"});case"qqq":return e.quarter(r,{width:"abbreviated",context:"standalone"})||e.quarter(r,{width:"narrow",context:"standalone"});case"qqqqq":return e.quarter(r,{width:"narrow",context:"standalone"});case"qqqq":default:return e.quarter(r,{width:"wide",context:"standalone"})||e.quarter(r,{width:"abbreviated",context:"standalone"})||e.quarter(r,{width:"narrow",context:"standalone"})}}validate(r,t){return t>=1&&t<=4}set(r,t,e){return r.setMonth((e-1)*3,1),r.setHours(0,0,0,0),r}incompatibleTokens=["Y","R","Q","M","L","w","I","d","D","i","e","c","t","T"]};var z=class extends n{incompatibleTokens=["Y","R","q","Q","L","w","I","D","i","e","c","t","T"];priority=110;parse(r,t,e){let s=i=>i-1;switch(t){case"M":return p(u(c.month,r),s);case"MM":return p(a(2,r),s);case"Mo":return p(e.ordinalNumber(r,{unit:"month"}),s);case"MMM":return e.month(r,{width:"abbreviated",context:"formatting"})||e.month(r,{width:"narrow",context:"formatting"});case"MMMMM":return e.month(r,{width:"narrow",context:"formatting"});case"MMMM":default:return e.month(r,{width:"wide",context:"formatting"})||e.month(r,{width:"abbreviated",context:"formatting"})||e.month(r,{width:"narrow",context:"formatting"})}}validate(r,t){return t>=0&&t<=11}set(r,t,e){return r.setMonth(e,1),r.setHours(0,0,0,0),r}};var A=class extends n{priority=110;parse(r,t,e){let s=i=>i-1;switch(t){case"L":return p(u(c.month,r),s);case"LL":return p(a(2,r),s);case"Lo":return p(e.ordinalNumber(r,{unit:"month"}),s);case"LLL":return e.month(r,{width:"abbreviated",context:"standalone"})||e.month(r,{width:"narrow",context:"standalone"});case"LLLLL":return e.month(r,{width:"narrow",context:"standalone"});case"LLLL":default:return e.month(r,{width:"wide",context:"standalone"})||e.month(r,{width:"abbreviated",context:"standalone"})||e.month(r,{width:"narrow",context:"standalone"})}}validate(r,t){return t>=0&&t<=11}set(r,t,e){return r.setMonth(e,1),r.setHours(0,0,0,0),r}incompatibleTokens=["Y","R","q","Q","M","w","I","D","i","e","c","t","T"]};function Wr(o,r,t){let e=w(o,t?.in),s=Hr(e,t)-r;return e.setDate(e.getDate()-s*7),w(e,t?.in)}var V=class extends n{priority=100;parse(r,t,e){switch(t){case"w":return u(c.week,r);case"wo":return e.ordinalNumber(r,{unit:"week"});default:return a(t.length,r)}}validate(r,t){return t>=1&&t<=53}set(r,t,e,s){return M(Wr(r,e,s),s)}incompatibleTokens=["y","R","u","q","Q","M","L","I","d","D","i","t","T"]};function Cr(o,r,t){let e=w(o,t?.in),s=Ir(e,t)-r;return e.setDate(e.getDate()-s*7),e}var Z=class extends n{priority=100;parse(r,t,e){switch(t){case"I":return u(c.week,r);case"Io":return e.ordinalNumber(r,{unit:"week"});default:return a(t.length,r)}}validate(r,t){return t>=1&&t<=53}set(r,t,e){return Y(Cr(r,e))}incompatibleTokens=["y","Y","u","q","Q","M","L","w","d","D","e","c","t","T"]};var Kr=[31,28,31,30,31,30,31,31,30,31,30,31],$r=[31,29,31,30,31,30,31,31,30,31,30,31],K=class extends n{priority=90;subPriority=1;parse(r,t,e){switch(t){case"d":return u(c.date,r);case"do":return e.ordinalNumber(r,{unit:"date"});default:return a(t.length,r)}}validate(r,t){let e=r.getFullYear(),s=R(e),i=r.getMonth();return s?t>=1&&t<=$r[i]:t>=1&&t<=Kr[i]}set(r,t,e){return r.setDate(e),r.setHours(0,0,0,0),r}incompatibleTokens=["Y","R","q","Q","w","I","D","i","e","c","t","T"]};var $=class extends n{priority=90;subpriority=1;parse(r,t,e){switch(t){case"D":case"DD":return u(c.dayOfYear,r);case"Do":return e.ordinalNumber(r,{unit:"date"});default:return a(t.length,r)}}validate(r,t){let e=r.getFullYear();return R(e)?t>=1&&t<=366:t>=1&&t<=365}set(r,t,e){return r.setMonth(0,e),r.setHours(0,0,0,0),r}incompatibleTokens=["Y","R","q","Q","M","L","w","I","d","E","i","e","c","t","T"]};function k(o,r,t){let e=O(),s=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??e.weekStartsOn??e.locale?.options?.weekStartsOn??0,i=w(o,t?.in),l=i.getDay(),dr=(r%7+7)%7,D=7-s,N=r<0||r>6?r-(l+D)%7:(dr+D)%7-(l+D)%7;return _(i,N,t)}var j=class extends n{priority=90;parse(r,t,e){switch(t){case"E":case"EE":case"EEE":return e.day(r,{width:"abbreviated",context:"formatting"})||e.day(r,{width:"short",context:"formatting"})||e.day(r,{width:"narrow",context:"formatting"});case"EEEEE":return e.day(r,{width:"narrow",context:"formatting"});case"EEEEEE":return e.day(r,{width:"short",context:"formatting"})||e.day(r,{width:"narrow",context:"formatting"});case"EEEE":default:return e.day(r,{width:"wide",context:"formatting"})||e.day(r,{width:"abbreviated",context:"formatting"})||e.day(r,{width:"short",context:"formatting"})||e.day(r,{width:"narrow",context:"formatting"})}}validate(r,t){return t>=0&&t<=6}set(r,t,e,s){return r=k(r,e,s),r.setHours(0,0,0,0),r}incompatibleTokens=["D","i","e","c","t","T"]};var U=class extends n{priority=90;parse(r,t,e,s){let i=l=>{let y=Math.floor((l-1)/7)*7;return(l+s.weekStartsOn+6)%7+y};switch(t){case"e":case"ee":return p(a(t.length,r),i);case"eo":return p(e.ordinalNumber(r,{unit:"day"}),i);case"eee":return e.day(r,{width:"abbreviated",context:"formatting"})||e.day(r,{width:"short",context:"formatting"})||e.day(r,{width:"narrow",context:"formatting"});case"eeeee":return e.day(r,{width:"narrow",context:"formatting"});case"eeeeee":return e.day(r,{width:"short",context:"formatting"})||e.day(r,{width:"narrow",context:"formatting"});case"eeee":default:return e.day(r,{width:"wide",context:"formatting"})||e.day(r,{width:"abbreviated",context:"formatting"})||e.day(r,{width:"short",context:"formatting"})||e.day(r,{width:"narrow",context:"formatting"})}}validate(r,t){return t>=0&&t<=6}set(r,t,e,s){return r=k(r,e,s),r.setHours(0,0,0,0),r}incompatibleTokens=["y","R","u","q","Q","M","L","I","d","D","E","i","c","t","T"]};var J=class extends n{priority=90;parse(r,t,e,s){let i=l=>{let y=Math.floor((l-1)/7)*7;return(l+s.weekStartsOn+6)%7+y};switch(t){case"c":case"cc":return p(a(t.length,r),i);case"co":return p(e.ordinalNumber(r,{unit:"day"}),i);case"ccc":return e.day(r,{width:"abbreviated",context:"standalone"})||e.day(r,{width:"short",context:"standalone"})||e.day(r,{width:"narrow",context:"standalone"});case"ccccc":return e.day(r,{width:"narrow",context:"standalone"});case"cccccc":return e.day(r,{width:"short",context:"standalone"})||e.day(r,{width:"narrow",context:"standalone"});case"cccc":default:return e.day(r,{width:"wide",context:"standalone"})||e.day(r,{width:"abbreviated",context:"standalone"})||e.day(r,{width:"short",context:"standalone"})||e.day(r,{width:"narrow",context:"standalone"})}}validate(r,t){return t>=0&&t<=6}set(r,t,e,s){return r=k(r,e,s),r.setHours(0,0,0,0),r}incompatibleTokens=["y","R","u","q","Q","M","L","I","d","D","E","i","e","t","T"]};function Br(o,r,t){let e=w(o,t?.in),s=Rr(e,t),i=r-s;return _(e,i,t)}var S=class extends n{priority=90;parse(r,t,e){let s=i=>i===0?7:i;switch(t){case"i":case"ii":return a(t.length,r);case"io":return e.ordinalNumber(r,{unit:"day"});case"iii":return p(e.day(r,{width:"abbreviated",context:"formatting"})||e.day(r,{width:"short",context:"formatting"})||e.day(r,{width:"narrow",context:"formatting"}),s);case"iiiii":return p(e.day(r,{width:"narrow",context:"formatting"}),s);case"iiiiii":return p(e.day(r,{width:"short",context:"formatting"})||e.day(r,{width:"narrow",context:"formatting"}),s);case"iiii":default:return p(e.day(r,{width:"wide",context:"formatting"})||e.day(r,{width:"abbreviated",context:"formatting"})||e.day(r,{width:"short",context:"formatting"})||e.day(r,{width:"narrow",context:"formatting"}),s)}}validate(r,t){return t>=1&&t<=7}set(r,t,e){return r=Br(r,e),r.setHours(0,0,0,0),r}incompatibleTokens=["y","Y","u","q","Q","M","L","w","d","D","E","e","c","t","T"]};var rr=class extends n{priority=80;parse(r,t,e){switch(t){case"a":case"aa":case"aaa":return e.dayPeriod(r,{width:"abbreviated",context:"formatting"})||e.dayPeriod(r,{width:"narrow",context:"formatting"});case"aaaaa":return e.dayPeriod(r,{width:"narrow",context:"formatting"});case"aaaa":default:return e.dayPeriod(r,{width:"wide",context:"formatting"})||e.dayPeriod(r,{width:"abbreviated",context:"formatting"})||e.dayPeriod(r,{width:"narrow",context:"formatting"})}}set(r,t,e){return r.setHours(T(e),0,0,0),r}incompatibleTokens=["b","B","H","k","t","T"]};var er=class extends n{priority=80;parse(r,t,e){switch(t){case"b":case"bb":case"bbb":return e.dayPeriod(r,{width:"abbreviated",context:"formatting"})||e.dayPeriod(r,{width:"narrow",context:"formatting"});case"bbbbb":return e.dayPeriod(r,{width:"narrow",context:"formatting"});case"bbbb":default:return e.dayPeriod(r,{width:"wide",context:"formatting"})||e.dayPeriod(r,{width:"abbreviated",context:"formatting"})||e.dayPeriod(r,{width:"narrow",context:"formatting"})}}set(r,t,e){return r.setHours(T(e),0,0,0),r}incompatibleTokens=["a","B","H","k","t","T"]};var tr=class extends n{priority=80;parse(r,t,e){switch(t){case"B":case"BB":case"BBB":return e.dayPeriod(r,{width:"abbreviated",context:"formatting"})||e.dayPeriod(r,{width:"narrow",context:"formatting"});case"BBBBB":return e.dayPeriod(r,{width:"narrow",context:"formatting"});case"BBBB":default:return e.dayPeriod(r,{width:"wide",context:"formatting"})||e.dayPeriod(r,{width:"abbreviated",context:"formatting"})||e.dayPeriod(r,{width:"narrow",context:"formatting"})}}set(r,t,e){return r.setHours(T(e),0,0,0),r}incompatibleTokens=["a","b","t","T"]};var or=class extends n{priority=70;parse(r,t,e){switch(t){case"h":return u(c.hour12h,r);case"ho":return e.ordinalNumber(r,{unit:"hour"});default:return a(t.length,r)}}validate(r,t){return t>=1&&t<=12}set(r,t,e){let s=r.getHours()>=12;return s&&e<12?r.setHours(e+12,0,0,0):!s&&e===12?r.setHours(0,0,0,0):r.setHours(e,0,0,0),r}incompatibleTokens=["H","K","k","t","T"]};var sr=class extends n{priority=70;parse(r,t,e){switch(t){case"H":return u(c.hour23h,r);case"Ho":return e.ordinalNumber(r,{unit:"hour"});default:return a(t.length,r)}}validate(r,t){return t>=0&&t<=23}set(r,t,e){return r.setHours(e,0,0,0),r}incompatibleTokens=["a","b","h","K","k","t","T"]};var nr=class extends n{priority=70;parse(r,t,e){switch(t){case"K":return u(c.hour11h,r);case"Ko":return e.ordinalNumber(r,{unit:"hour"});default:return a(t.length,r)}}validate(r,t){return t>=0&&t<=11}set(r,t,e){return r.getHours()>=12&&e<12?r.setHours(e+12,0,0,0):r.setHours(e,0,0,0),r}incompatibleTokens=["h","H","k","t","T"]};var ir=class extends n{priority=70;parse(r,t,e){switch(t){case"k":return u(c.hour24h,r);case"ko":return e.ordinalNumber(r,{unit:"hour"});default:return a(t.length,r)}}validate(r,t){return t>=1&&t<=24}set(r,t,e){let s=e<=24?e%24:e;return r.setHours(s,0,0,0),r}incompatibleTokens=["a","b","h","H","K","t","T"]};var ar=class extends n{priority=60;parse(r,t,e){switch(t){case"m":return u(c.minute,r);case"mo":return e.ordinalNumber(r,{unit:"minute"});default:return a(t.length,r)}}validate(r,t){return t>=0&&t<=59}set(r,t,e){return r.setMinutes(e,0,0),r}incompatibleTokens=["t","T"]};var ur=class extends n{priority=50;parse(r,t,e){switch(t){case"s":return u(c.second,r);case"so":return e.ordinalNumber(r,{unit:"second"});default:return a(t.length,r)}}validate(r,t){return t>=0&&t<=59}set(r,t,e){return r.setSeconds(e,0),r}incompatibleTokens=["t","T"]};var cr=class extends n{priority=30;parse(r,t){let e=s=>Math.trunc(s*Math.pow(10,-t.length+3));return p(a(t.length,r),e)}set(r,t,e){return r.setMilliseconds(e),r}incompatibleTokens=["t","T"]};var mr=class extends n{priority=10;parse(r,t){switch(t){case"X":return h(x.basicOptionalMinutes,r);case"XX":return h(x.basic,r);case"XXXX":return h(x.basicOptionalSeconds,r);case"XXXXX":return h(x.extendedOptionalSeconds,r);case"XXX":default:return h(x.extended,r)}}set(r,t,e){return t.timestampIsSet?r:d(r,r.getTime()-I(r)-e)}incompatibleTokens=["t","T","x"]};var pr=class extends n{priority=10;parse(r,t){switch(t){case"x":return h(x.basicOptionalMinutes,r);case"xx":return h(x.basic,r);case"xxxx":return h(x.basicOptionalSeconds,r);case"xxxxx":return h(x.extendedOptionalSeconds,r);case"xxx":default:return h(x.extended,r)}}set(r,t,e){return t.timestampIsSet?r:d(r,r.getTime()-I(r)-e)}incompatibleTokens=["t","T","X"]};var fr=class extends n{priority=40;parse(r){return v(r)}set(r,t,e){return[d(r,e*1e3),{timestampIsSet:!0}]}incompatibleTokens="*"};var lr=class extends n{priority=20;parse(r){return v(r)}set(r,t,e){return[d(r,e),{timestampIsSet:!0}]}incompatibleTokens="*"};var Gr={G:new L,y:new F,Y:new W,R:new C,u:new B,Q:new G,q:new X,M:new z,L:new A,w:new V,I:new Z,d:new K,D:new $,E:new j,e:new U,c:new J,i:new S,a:new rr,b:new er,B:new tr,h:new or,H:new sr,K:new nr,k:new ir,m:new ar,s:new ur,S:new cr,X:new mr,x:new pr,t:new fr,T:new lr};var jr=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,Ur=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,Jr=/^'([^]*?)'?$/,Sr=/''/g,re=/\S/,ee=/[a-zA-Z]/;function Xr(o,r,t,e){let s=()=>d(e?.in||t,NaN),i=Qr(),l=e?.locale??i.locale??Yr,y=e?.firstWeekContainsDate??e?.locale?.options?.firstWeekContainsDate??i.firstWeekContainsDate??i.locale?.options?.firstWeekContainsDate??1,dr=e?.weekStartsOn??e?.locale?.options?.weekStartsOn??i.weekStartsOn??i.locale?.options?.weekStartsOn??0;if(!r)return o?s():w(t,e?.in);let D={firstWeekContainsDate:y,weekStartsOn:dr,locale:l},N=[new q(e?.in,t)],zr=r.match(Ur).map(m=>{let f=m[0];if(f in hr){let b=hr[f];return b(m,l.formatLong)}return m}).join("").match(jr),wr=[];for(let m of zr){!e?.useAdditionalWeekYearTokens&&Lr(m)&&yr(m,r,o),!e?.useAdditionalDayOfYearTokens&&qr(m)&&yr(m,r,o);let f=m[0],b=Gr[f];if(b){let{incompatibleTokens:Dr}=b;if(Array.isArray(Dr)){let gr=wr.find(Pr=>Dr.includes(Pr.token)||Pr.token===f);if(gr)throw new RangeError(`The format string mustn't contain \`${gr.fullToken}\` and \`${m}\` at the same time`)}else if(b.incompatibleTokens==="*"&&wr.length>0)throw new RangeError(`The format string mustn't contain \`${m}\` and any other token at the same time`);wr.push({token:f,fullToken:m});let xr=b.run(o,m,l.match,D);if(!xr)return s();N.push(xr.setter),o=xr.rest}else{if(f.match(ee))throw new RangeError("Format string contains an unescaped latin alphabet character `"+f+"`");if(m==="''"?m="'":f==="'"&&(m=te(m)),o.indexOf(m)===0)o=o.slice(m.length);else return s()}}if(o.length>0&&re.test(o))return s();let Ar=N.map(m=>m.priority).sort((m,f)=>f-m).filter((m,f,b)=>b.indexOf(m)===f).map(m=>N.filter(f=>f.priority===m).sort((f,b)=>b.subPriority-f.subPriority)).map(m=>m[0]),g=w(t,e?.in);if(isNaN(+g))return s();let br={};for(let m of Ar){if(!m.validate(g,D))return s();let f=m.set(g,br,D);Array.isArray(f)?(g=f[0],Object.assign(br,f[1])):g=f}return g}function te(o){return o.match(Jr)[1].replace(Sr,"'")}var Fs=(()=>{class o extends Nr{parse(t){let e=t?Xr(t,"dd.MM.yyyy",new Date):null;return e?{year:e.getFullYear(),month:e.getMonth(),day:e.getDay()}:null}format(t){return t?vr(new Date(t.year,t.month-1,t.day),"dd.MM.yyyy"):""}static{this.\u0275fac=(()=>{let t;return function(s){return(t||(t=kr(o)))(s||o)}})()}static{this.\u0275prov=Tr({token:o,factory:o.\u0275fac})}}return o})();export{Fs as a}; diff --git a/public/apps/webapp-schulverwaltung/chunk-A7BPIB5B.js b/public/apps/webapp-schulverwaltung/chunk-A7BPIB5B.js new file mode 100644 index 00000000..78de8454 --- /dev/null +++ b/public/apps/webapp-schulverwaltung/chunk-A7BPIB5B.js @@ -0,0 +1,2 @@ +import{a as Bi}from"./chunk-DM5T4OMV.js";import{a as Pi,b as Ni,c as Mi}from"./chunk-UKQD2IRQ.js";import{a as Li}from"./chunk-W4ESFJ6M.js";import{a as wi}from"./chunk-IGEPJF2N.js";import{a as xi}from"./chunk-5ZBE3UL7.js";import"./chunk-4UVNKLEN.js";import"./chunk-PXVJ3QLD.js";import"./chunk-HCNFZOWE.js";import{a as ui,b as hi,e as vi}from"./chunk-CKFTESOV.js";import{a as je}from"./chunk-DTTSX64G.js";import"./chunk-Y4QYVF5K.js";import"./chunk-AYQPMCNZ.js";import{a as Vi}from"./chunk-W3JKHGP4.js";import{a as ki}from"./chunk-A3AAQWNQ.js";import{a as Ai,b as Fi,c as Di}from"./chunk-FH4OOWQM.js";import{e as Ti,f as Si}from"./chunk-Z4YBXGVO.js";import"./chunk-3L4RH6QP.js";import{a as yi}from"./chunk-DTYYCJHM.js";import"./chunk-XAZECV42.js";import{a as Oi}from"./chunk-3P6YOVUR.js";import{A as Ae,B as He,C as bi,d as fi,e as rt,t as _i,u as at,x as gi,y as ot,z as lt}from"./chunk-UYCIECIQ.js";import{a as $e,c as st,d as Ci}from"./chunk-G6EB45SC.js";import{e as mi}from"./chunk-WCDEMEW2.js";import{j as Ii}from"./chunk-XFA6UPZX.js";import{b as Ei}from"./chunk-PSYDBHTH.js";import{A as pi,h as ri,i as ai,l as oi,y as we}from"./chunk-W4U7QKJF.js";import{a as ci}from"./chunk-AVBHFGIF.js";import{$a as c,$b as Mt,A as gt,Aa as S,Ab as oe,Ad as Me,Bb as le,Bd as si,Ca as wt,Cb as Y,D as bt,Db as pe,Eb as Dt,F as ie,Fb as X,Ga as H,Gb as Lt,Ha as At,Hb as Bt,Hc as tt,Ia as W,Ib as Ot,Ic as it,Id as li,J as Ct,Jb as d,Kb as u,Lb as ne,M as ue,Ma as Pe,Md as di,Na as b,Nb as ce,Nc as Gt,O as vt,Od as Re,P as ye,Pa as J,Pb as Pt,Pd as me,Qa as _,Qb as B,R as N,Ra as G,Rb as Ie,S as Et,Tc as nt,Ua as Ke,Va as y,W as yt,Wb as Nt,X as Z,Xa as Se,Xb as Vt,Y as Tt,Ya as V,Z as St,Za as M,_ as j,_a as l,a as be,ab as L,b as De,bb as Ft,bc as et,cb as kt,cc as ve,cd as he,da as Te,db as Ye,dc as Rt,dd as qt,ea as v,eb as P,ed as Ut,f as re,fa as E,fd as zt,g as ze,gb as x,hb as h,hd as xe,i as mt,ia as It,ib as Ze,id as Ve,j as ft,ja as Qe,jb as Je,jd as Qt,kb as fe,l as _t,lb as Xe,lc as $t,ma as F,mb as q,md as Kt,n as T,na as xt,nb as _e,nd as Yt,o as Le,ob as k,pb as D,pd as Zt,qb as U,ra as ae,rb as p,rd as Jt,sb as I,sd as Xt,t as Ee,tb as C,td as ei,ub as Ce,ud as ti,vd as ii,w as Be,wc as Ne,x as Oe,xa as o,xb as z,xc as jt,ya as f,yb as Q,yc as Ht,zb as K,zc as Wt,zd as ni}from"./chunk-2W7IS4PN.js";var O=function(t){return t.Absent="absent",t.Dispensation="dispensation",t.HalfDay="half-day",t.Incident="incident",t.Present="present",t}(O||{}),$i=(()=>{class t{constructor(e,i){this.updateService=e,this.settings=i}update(e,i,n,r,a,m){let g=[];switch(n){case O.Present:g=this.createResetBulkRequests(e);break;case O.Absent:g=this.createAbsentEditBulkRequests(e,i,r,a);break;case O.Dispensation:g=this.createEditBulkRequests(e,null,this.settings.dispensationPresenceTypeId);break;case O.HalfDay:g=this.createEditBulkRequests(e,null,this.settings.halfDayPresenceTypeId);break;case O.Incident:g=this.createEditBulkRequests(e,null,m);break}return Le(g).pipe(T(()=>{}))}createAbsentEditBulkRequests(e,i,n,r){return n===this.settings.excusedAbsenceStateId?this.createEditBulkRequests(e,n,r):n===this.settings.unexcusedAbsenceStateId?this.createEditBulkRequests(e,n,this.settings.absencePresenceTypeId):[...this.createEditBulkRequests(e.filter(Ri(i,this.settings)),n,this.settings.absencePresenceTypeId),...this.createEditBulkRequests(e.filter(we(Ri(i,this.settings))),n,null)]}createResetBulkRequests(e){return at(e).map(({lessonIds:i,personIds:n})=>this.updateService.removeLessonPresences(i,n))}createEditBulkRequests(e,i,n){return at(e).map(({lessonIds:r,personIds:a})=>this.updateService.editLessonPresences(r,a,n||void 0,i||void 0))}static{this.\u0275fac=function(i){return new(i||t)(j(bi),j(he))}}static{this.\u0275prov=Z({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();function Ri(t,s){return e=>{let i=t.find(n=>n.Id===e.TypeRef.Id);return!i||i.Id===s.dispensationPresenceTypeId||i.Id===s.halfDayPresenceTypeId||i.IsIncident}}var te=(()=>{class t extends Fi{constructor(e,i,n,r,a,m,g){super(e,i,n,r,"/edit-absences"),this.lessonPresencesService=a,this.presenceTypesService=m,this.dropDownItemsService=g,this.weekdays$=this.loadWeekdays().pipe(ue(1)),this.presenceTypes$=this.loadPresenceTypes().pipe(ue(1)),this.absenceConfirmationStates$=this.loadAbsenceConfirmationStates().pipe(T(ui),ue(1)),this.presenceControlEntries$=Le([this.entries$,this.presenceTypes$,this.absenceConfirmationStates$]).pipe(T(Ci(Bi)),ue(1)),this.selected=[],this.queryParamsString$.pipe(N(this.destroy$)).subscribe(A=>this.confirmBackLinkParams={returnparams:A})}resetSelection(){this.selected=[]}updateAfterConfirm(){this.resetEntries()}getInitialFilter(){return{student:null,educationalEvent:null,studyClass:null,teacher:null,dateFrom:null,dateTo:null,weekdays:null,presenceTypes:null,confirmationStates:null,incidentTypes:null}}isValidFilter(e){return!!(e.student||e.educationalEvent||e.studyClass||e.teacher||e.dateFrom||e.dateTo||e.weekdays||e.presenceTypes||e.confirmationStates||e.incidentTypes)}loadEntries(e,i,n){let r={sort:"StudentFullName.asc,LessonDateTimeFrom.asc"};return this.loadingService.load(this.lessonPresencesService.getFilteredList(e,n,r),Ai)}buildParamsFromFilter(e){return Pi(e)}loadWeekdays(){return this.loadingService.load(this.dropDownItemsService.getWeekdays())}loadPresenceTypes(){return this.loadingService.load(this.presenceTypesService.activePresenceTypes$)}loadAbsenceConfirmationStates(){return this.loadingService.load(this.dropDownItemsService.getAbsenceConfirmationStates())}static{this.\u0275fac=function(i){return new(i||t)(j(Vt),j(Ii),j(Di),j(he),j(vi),j(He),j(je))}}static{this.\u0275prov=Z({token:t,factory:t.\u0275fac})}}return t})();var fn=(t,s)=>s.Key,ji=(t,s)=>s.Id;function _n(t,s){if(t&1&&(l(0,"div",3),p(1),d(2,"translate"),c()),t&2){let e=s.$implicit;o(),C(" ",ne(2,1,"global.validation-errors."+e.error,e.params)," ")}}function gn(t,s){if(t&1&&(l(0,"option",18),p(1),c()),t&2){let e=s.$implicit;_("ngValue",e.Id),o(),C(" ",e.Designation," ")}}function bn(t,s){if(t&1&&(l(0,"select",17),d(1,"async"),l(2,"option",18),p(3),d(4,"translate"),c(),V(5,gn,2,2,"option",18,ji),d(7,"async"),c()),t&2){let e,i=h(5);G("is-invalid",((e=u(1,4,i.absenceTypeIdErrors$))==null?null:e.length)||!1),o(2),_("ngValue",null),o(),C(" ",u(4,6,"edit-absences.edit.absence-type-placeholder")," "),o(2),M(u(7,8,i.absenceTypes$))}}function Cn(t,s){if(t&1&&(l(0,"div",16),p(1),d(2,"translate"),c()),t&2){let e=s.$implicit;o(),C(" ",ne(2,1,"global.validation-errors."+e.error,e.params)," ")}}function vn(t,s){if(t&1&&(l(0,"div",13),L(1,"input",14),l(2,"label",11),p(3),c(),b(4,bn,8,10,"select",15),V(5,Cn,3,4,"div",16,Se),d(7,"async"),c()),t&2){let e=s.$implicit,i=h(4);o(),_("id","state-"+e.Key)("value",e.Key),o(),fe("for","state-"+e.Key),o(),C(" ",e.Value," "),o(),y(i.isExcused(e)?4:-1),o(),M(u(7,5,i.absenceTypeIdErrors$))}}function En(t,s){if(t&1&&(l(0,"div",12),V(1,vn,8,7,"div",13,fn),c()),t&2){h(3);let e=Y(0);o(),M(e)}}function yn(t,s){if(t&1&&(l(0,"option",18),p(1),c()),t&2){let e=s.$implicit;_("ngValue",e.Id),o(),C(" ",e.Designation," ")}}function Tn(t,s){if(t&1&&(l(0,"div",16),p(1),d(2,"translate"),c()),t&2){let e=s.$implicit;o(),C(" ",ne(2,1,"global.validation-errors."+e.error,e.params)," ")}}function Sn(t,s){if(t&1&&(l(0,"div",12)(1,"select",19),d(2,"async"),l(3,"option",18),p(4),d(5,"translate"),c(),V(6,yn,2,2,"option",18,ji),d(8,"async"),c(),V(9,Tn,3,4,"div",16,Se),d(11,"async"),c()),t&2){let e,i=h(3);o(),G("is-invalid",((e=u(2,4,i.incidentIdErrors$))==null?null:e.length)||!1),o(2),_("ngValue",null),o(),C(" ",u(5,6,"edit-absences.edit.incident-placeholder")," "),o(2),M(u(8,8,i.incidents$)),o(3),M(u(11,10,i.incidentIdErrors$))}}function In(t,s){if(t&1&&(l(0,"div",5),L(1,"input",10),l(2,"label",11),p(3),d(4,"translate"),c(),b(5,En,3,0,"div",12)(6,Sn,12,12,"div",12),c()),t&2){let e=s.$implicit,i=h(2);o(),_("id","category-"+e)("value",e),o(),fe("for","category-"+e),o(),C(" ",u(4,6,"edit-absences.edit.categories."+e)," "),o(2),y(i.isAbsent(e)?5:-1),o(),y(i.isIncident(e)?6:-1)}}function xn(t,s){t&1&&(l(0,"div",9)(1,"span",20),p(2,"Loading..."),c()())}function wn(t,s){if(t&1){let e=P();l(0,"form",2),x("ngSubmit",function(){v(e);let n=h();return E(n.onSubmit())}),V(1,_n,3,4,"div",3,Se),d(3,"async"),l(4,"div",4),V(5,In,7,8,"div",5,Se),c(),l(7,"div",6)(8,"button",7),d(9,"async"),x("click",function(){v(e);let n=h();return E(n.cancel())}),p(10),d(11,"translate"),c(),l(12,"button",8),d(13,"async"),p(14),d(15,"translate"),b(16,xn,3,0,"div",9),d(17,"async"),c()()()}if(t&2){let e=h(),i=Y(2),n=Y(4);_("formGroup",n),o(),M(u(3,6,e.formErrors$)),o(4),M(i),o(3),_("disabled",u(9,8,e.saving$)),o(2),C(" ",u(11,10,"edit-absences.edit.cancel")," "),o(2),_("disabled",u(13,12,e.saving$)),o(2),C(" ",u(15,14,"edit-absences.edit.save")," "),o(2),y(u(17,16,e.saving$)?16:-1)}}var Hi=(()=>{class t{constructor(e,i,n,r,a,m,g,A,ee,R){this.fb=e,this.router=i,this.route=n,this.toastService=r,this.translate=a,this.state=m,this.dropDownItemsService=g,this.presenceTypesService=A,this.updateService=ee,this.settings=R,this.absenceTypes$=this.presenceTypesService.confirmationTypes$,this.incidents$=this.presenceTypesService.incidentTypes$,this.formGroup$=this.createFormGroup(),this.saving$=new ze(!1),this.submitted$=new ze(!1),this.formErrors$=$e(this.formGroup$,this.submitted$),this.absenceTypeIdErrors$=$e(this.formGroup$,this.submitted$,"absenceTypeId"),this.incidentIdErrors$=$e(this.formGroup$,this.submitted$,"incidentId"),this.availableCategories=[O.Absent,O.Dispensation,O.HalfDay,O.Incident,O.Present],this.confirmationStates$=this.dropDownItemsService.getAbsenceConfirmationStates().pipe(T(this.sortAbsenceConfirmationStates.bind(this)),ue(1)),this.activeCategories$=this.presenceTypesService.halfDayActive$.pipe(T($=>$?this.availableCategories:this.availableCategories.filter(ge=>ge!==O.HalfDay))),this.destroy$=new re}ngOnInit(){this.state.selected.length===0&&this.navigateBack(),st(this.formGroup$,"category").pipe(N(this.destroy$)).subscribe(this.updateConfirmationValueDisabled.bind(this)),st(this.formGroup$,"confirmationValue").pipe(N(this.destroy$)).subscribe(this.updateAbsenceTypeIdDisabled.bind(this))}ngOnDestroy(){this.destroy$.next()}isAbsent(e){return e===O.Absent}isExcused(e){return e.Key===this.settings.excusedAbsenceStateId}isIncident(e){return e===O.Incident}onSubmit(){this.submitted$.next(!0),this.formGroup$.pipe(ie(1)).subscribe(e=>{e.valid&&this.save(e)})}cancel(){this.navigateBack()}createFormGroup(){return this.getInitialAbsenceTypeId().pipe(T(e=>this.fb.group({category:[O.Absent,xe.required],confirmationValue:[this.settings.excusedAbsenceStateId,xe.required],absenceTypeId:[e,xe.required],incidentId:[{value:null,disabled:!0},xe.required]})),ue(1))}getInitialAbsenceTypeId(){return this.absenceTypes$.pipe(ie(1),T(e=>{let i=e.map(r=>r.Id),n=li(this.state.selected.map(r=>r.TypeRef.Id));return n.length===1&&n[0]!=null&&i.includes(n[0])?n[0]:null}))}updateConfirmationValueDisabled(){this.formGroup$.pipe(ie(1)).subscribe(e=>{let i=e.get("category"),n=e.get("confirmationValue"),r=e.get("absenceTypeId"),a=e.get("incidentId");i&&n&&r&&a&&(i.value===O.Absent?(n.enable(),this.updateAbsenceTypeIdDisabled()):(n.disable(),r.disable()),i.value===O.Incident?a.enable():a.disable())})}updateAbsenceTypeIdDisabled(){this.formGroup$.pipe(ie(1)).subscribe(e=>{let i=e.get("confirmationValue"),n=e.get("absenceTypeId");i&&n&&(i.value===this.settings.excusedAbsenceStateId?n.enable():n.disable())})}save(e){this.saving$.next(!0);let{category:i,confirmationValue:n,absenceTypeId:r,incidentId:a}=e.value;this.presenceTypesService.presenceTypes$.pipe(ye(m=>this.updateService.update(this.state.selected,m,i,n,r,a)),Ct(()=>this.saving$.next(!1))).subscribe(this.onSaveSuccess.bind(this))}onSaveSuccess(){this.state.resetSelection(),this.toastService.success(this.translate.instant("edit-absences.edit.save-success")),this.navigateBack(!0)}navigateBack(e){this.route.queryParams.pipe(ie(1)).subscribe(i=>{this.router.navigate(["/edit-absences"],{queryParams:De(be({},yi(i.returnparams)),{reload:e})})})}sortAbsenceConfirmationStates(e){return e.slice().sort((i,n)=>i.Key===this.settings.excusedAbsenceStateId?-1:n.Key===this.settings.excusedAbsenceStateId?1:i.Value.localeCompare(n.Value))}static{this.\u0275fac=function(i){return new(i||t)(f(ni),f(Ht),f(Ne),f(ci),f(Re),f(te),f(je),f(He),f($i),f(he))}}static{this.\u0275cmp=H({type:t,selectors:[["bkd-edit-absences-edit"]],decls:11,vars:13,consts:[[1,"bkd-container","bkd-container-limited"],[3,"formGroup"],[3,"ngSubmit","formGroup"],[1,"alert","alert-danger"],[1,"form-group","pb-4"],[1,"form-check","mt-2","mb-3"],[1,"d-flex","justify-content-end"],["type","button",1,"btn","btn-outline-secondary",3,"click","disabled"],["type","submit",1,"btn","btn-primary","ms-2",3,"disabled"],["role","status",1,"spinner-border","spinner-border-sm","align-middle"],["type","radio","formControlName","category",1,"form-check-input",3,"id","value"],[1,"form-check-label",3,"for"],[1,"ms-5"],[1,"form-check","mt-2","mb-2"],["type","radio","formControlName","confirmationValue",1,"form-check-input",3,"id","value"],["formControlName","absenceTypeId",1,"form-select","mt-1",3,"is-invalid"],[1,"invalid-feedback"],["formControlName","absenceTypeId",1,"form-select","mt-1"],[3,"ngValue"],["formControlName","incidentId",1,"form-select","mt-1"],[1,"visually-hidden"]],template:function(i,n){if(i&1&&(oe(0),d(1,"async"),oe(2),d(3,"async"),oe(4),d(5,"async"),l(6,"h1"),p(7),d(8,"translate"),c(),l(9,"div",0),b(10,wn,18,18,"form",1),c()),i&2){let r=le(u(1,2,n.confirmationStates$));o(2),le(u(3,5,n.activeCategories$)),o(2);let a=le(u(5,8,n.formGroup$));o(3),I(u(8,11,"edit-absences.title")),o(3),y(a&&r?10:-1)}},dependencies:[Me,Yt,ti,ii,zt,ei,Zt,Ve,Qt,si,Jt,Xt,ve,me],encapsulation:2,changeDetection:0})}}return t})();var Ge=(()=>{class t extends _i{static{this.\u0275fac=(()=>{let e;return function(n){return(e||(e=It(t)))(n||t)}})()}static{this.\u0275prov=Z({token:t,factory:t.\u0275fac})}}return t})();var Fn=["content"],kn=["scroll"],Dn=["padding"],qi=["*"],ke=t=>({searchTerm:t});function Ln(t,s){if(t&1&&(l(0,"div",3),Ye(1,6),c()),t&2){let e=h();o(),_("ngTemplateOutlet",e.headerTemplate)("ngTemplateOutletContext",X(2,ke,e.filterValue))}}function Bn(t,s){if(t&1&&(l(0,"div",5),Ye(1,6),c()),t&2){let e=h();o(),_("ngTemplateOutlet",e.footerTemplate)("ngTemplateOutletContext",X(2,ke,e.filterValue))}}var On=["searchInput"],Pn=["clearButton"],Nn=(t,s,e)=>({item:t,clear:s,label:e}),Vn=(t,s)=>({items:t,clear:s}),Mn=(t,s,e,i)=>({item:t,item$:s,index:e,searchTerm:i});function Rn(t,s){if(t&1&&(l(0,"div",20),p(1),c()),t&2){let e=h(2);o(),I(e.placeholder)}}function $n(t,s){}function jn(t,s){if(t&1&&b(0,Rn,2,1,"ng-template",null,1,ce)(2,$n,0,0,"ng-template",19),t&2){let e=U(1),i=h();o(2),_("ngTemplateOutlet",i.placeholderTemplate||e)}}function Hn(t,s){if(t&1){let e=P();l(0,"span",23),x("click",function(){v(e);let n=h().$implicit,r=h(2);return E(r.unselect(n))}),p(1,"\xD7"),c(),L(2,"span",24)}if(t&2){let e=h().$implicit,i=h(2);o(2),_("ngItemLabel",e.label)("escape",i.escapeHTML)}}function Wn(t,s){}function Gn(t,s){if(t&1&&(l(0,"div",22),b(1,Hn,3,2,"ng-template",null,2,ce)(3,Wn,0,0,"ng-template",12),c()),t&2){let e=s.$implicit,i=U(2),n=h(2);G("ng-value-disabled",e.disabled),o(3),_("ngTemplateOutlet",n.labelTemplate||i)("ngTemplateOutletContext",Bt(4,Nn,e.value,n.clearItem,e.label))}}function qn(t,s){if(t&1&&V(0,Gn,4,8,"div",21,Ke().trackByOption,!0),t&2){let e=h();M(e.selectedItems)}}function Un(t,s){}function zn(t,s){if(t&1&&b(0,Un,0,0,"ng-template",12),t&2){let e=h();_("ngTemplateOutlet",e.multiLabelTemplate)("ngTemplateOutletContext",Lt(2,Vn,e.selectedValues,e.clearItem))}}function Qn(t,s){t&1&&L(0,"div",25)}function Kn(t,s){}function Yn(t,s){if(t&1&&b(0,Qn,1,0,"ng-template",null,3,ce)(2,Kn,0,0,"ng-template",19),t&2){let e=U(1),i=h();o(2),_("ngTemplateOutlet",i.loadingSpinnerTemplate||e)}}function Zn(t,s){if(t&1&&(l(0,"span",15,4)(2,"span",26),p(3,"\xD7"),c()()),t&2){let e=h();fe("title",e.clearAllText)}}function Jn(t,s){if(t&1&&L(0,"span",31),t&2){let e=h().$implicit,i=h(2);_("ngItemLabel",e.label)("escape",i.escapeHTML)}}function Xn(t,s){}function es(t,s){if(t&1){let e=P();l(0,"div",30),x("click",function(){let n=v(e).$implicit,r=h(2);return E(r.toggleItem(n))})("mouseover",function(){let n=v(e).$implicit,r=h(2);return E(r.onItemHover(n))}),b(1,Jn,1,2,"ng-template",null,5,ce)(3,Xn,0,0,"ng-template",12),c()}if(t&2){let e=s.$implicit,i=U(2),n=h(2);G("ng-option-disabled",e.disabled)("ng-option-selected",e.selected)("ng-optgroup",e.children)("ng-option",!e.children)("ng-option-child",!!e.parent)("ng-option-marked",e===n.itemsList.markedItem),J("role",e.children?"group":"option")("aria-selected",e.selected)("id",e==null?null:e.htmlId),o(3),_("ngTemplateOutlet",e.children?n.optgroupTemplate||i:n.optionTemplate||i)("ngTemplateOutletContext",Ot(17,Mn,e.value,e,e.index,n.searchTerm))}}function ts(t,s){if(t&1&&(l(0,"span")(1,"span",33),p(2),c(),p(3),c()),t&2){let e=h(3);o(2),I(e.addTagText),o(),C('"',e.searchTerm,'"')}}function is(t,s){}function ns(t,s){if(t&1){let e=P();l(0,"div",32),x("mouseover",function(){v(e);let n=h(2);return E(n.itemsList.unmarkItem())})("click",function(){v(e);let n=h(2);return E(n.selectTag())}),b(1,ts,4,2,"ng-template",null,6,ce)(3,is,0,0,"ng-template",12),c()}if(t&2){let e=U(2),i=h(2);G("ng-option-marked",!i.itemsList.markedItem),o(3),_("ngTemplateOutlet",i.tagTemplate||e)("ngTemplateOutletContext",X(4,ke,i.searchTerm))}}function ss(t,s){if(t&1&&(l(0,"div",34),p(1),c()),t&2){let e=h(3);o(),I(e.notFoundText)}}function rs(t,s){}function as(t,s){if(t&1&&b(0,ss,2,1,"ng-template",null,7,ce)(2,rs,0,0,"ng-template",12),t&2){let e=U(1),i=h(2);o(2),_("ngTemplateOutlet",i.notFoundTemplate||e)("ngTemplateOutletContext",X(2,ke,i.searchTerm))}}function os(t,s){if(t&1&&(l(0,"div",34),p(1),c()),t&2){let e=h(3);o(),I(e.typeToSearchText)}}function ls(t,s){}function cs(t,s){if(t&1&&b(0,os,2,1,"ng-template",null,8,ce)(2,ls,0,0,"ng-template",19),t&2){let e=U(1),i=h(2);o(2),_("ngTemplateOutlet",i.typeToSearchTemplate||e)}}function ds(t,s){if(t&1&&(l(0,"div",34),p(1),c()),t&2){let e=h(3);o(),I(e.loadingText)}}function us(t,s){}function ps(t,s){if(t&1&&b(0,ds,2,1,"ng-template",null,9,ce)(2,us,0,0,"ng-template",12),t&2){let e=U(1),i=h(2);o(2),_("ngTemplateOutlet",i.loadingTextTemplate||e)("ngTemplateOutletContext",X(2,ke,i.searchTerm))}}function hs(t,s){if(t&1){let e=P();l(0,"ng-dropdown-panel",27),x("update",function(n){v(e);let r=h();return E(r.viewPortItems=n)})("scroll",function(n){v(e);let r=h();return E(r.scroll.emit(n))})("scrollToEnd",function(n){v(e);let r=h();return E(r.scrollToEnd.emit(n))})("outsideClick",function(){v(e);let n=h();return E(n.close())}),Ft(1),V(2,es,4,22,"div",28,Ke().trackByOption,!0),b(4,ns,4,6,"div",29),kt(),b(5,as,3,4)(6,cs,3,1)(7,ps,3,4),c()}if(t&2){let e=h();G("ng-select-multiple",e.multiple),_("virtualScroll",e.virtualScroll)("bufferAmount",e.bufferAmount)("appendTo",e.appendTo)("position",e.dropdownPosition)("headerTemplate",e.headerTemplate)("footerTemplate",e.footerTemplate)("filterValue",e.searchTerm)("items",e.itemsList.filteredItems)("markedItem",e.itemsList.markedItem)("ngClass",e.appendTo?e.ngClass?e.ngClass:e.classes:null)("id",e.dropdownId),J("aria-label",e.ariaLabelDropdown),o(2),M(e.viewPortItems),o(2),y(e.showAddTag?4:-1),o(),y(e.showNoItemsFound()?5:-1),o(),y(e.showTypeToSearch()?6:-1),o(),y(e.loading&&e.itemsList.filteredItems.length===0?7:-1)}}var Ui=/[&<>"']/g,ms=RegExp(Ui.source),fs={"&":"&","<":"<",">":">",'"':""","'":"'"};function _s(t){return t&&ms.test(t)?t.replace(Ui,s=>fs[s]):t}function w(t){return t!=null}function Fe(t){return typeof t=="object"&&w(t)}function gs(t){return t instanceof Promise}function Ue(t){return t instanceof Function}var bs=(()=>{class t{constructor(e){this.element=e,this.escape=!0}ngOnChanges(e){this.element.nativeElement.innerHTML=this.escape?_s(this.ngItemLabel):this.ngItemLabel}static{this.\u0275fac=function(i){return new(i||t)(f(ae))}}static{this.\u0275dir=W({type:t,selectors:[["","ngItemLabel",""]],inputs:{ngItemLabel:"ngItemLabel",escape:"escape"},features:[Te]})}}return t})(),ut=(()=>{class t{constructor(e){this.template=e}static{this.\u0275fac=function(i){return new(i||t)(f(S))}}static{this.\u0275dir=W({type:t,selectors:[["","ng-option-tmp",""]]})}}return t})(),pt=(()=>{class t{constructor(e){this.template=e}static{this.\u0275fac=function(i){return new(i||t)(f(S))}}static{this.\u0275dir=W({type:t,selectors:[["","ng-optgroup-tmp",""]]})}}return t})(),Cs=(()=>{class t{constructor(e){this.template=e}static{this.\u0275fac=function(i){return new(i||t)(f(S))}}static{this.\u0275dir=W({type:t,selectors:[["","ng-label-tmp",""]]})}}return t})(),ht=(()=>{class t{constructor(e){this.template=e}static{this.\u0275fac=function(i){return new(i||t)(f(S))}}static{this.\u0275dir=W({type:t,selectors:[["","ng-multi-label-tmp",""]]})}}return t})(),vs=(()=>{class t{constructor(e){this.template=e}static{this.\u0275fac=function(i){return new(i||t)(f(S))}}static{this.\u0275dir=W({type:t,selectors:[["","ng-header-tmp",""]]})}}return t})(),Es=(()=>{class t{constructor(e){this.template=e}static{this.\u0275fac=function(i){return new(i||t)(f(S))}}static{this.\u0275dir=W({type:t,selectors:[["","ng-footer-tmp",""]]})}}return t})(),ys=(()=>{class t{constructor(e){this.template=e}static{this.\u0275fac=function(i){return new(i||t)(f(S))}}static{this.\u0275dir=W({type:t,selectors:[["","ng-notfound-tmp",""]]})}}return t})(),Ts=(()=>{class t{constructor(e){this.template=e}static{this.\u0275fac=function(i){return new(i||t)(f(S))}}static{this.\u0275dir=W({type:t,selectors:[["","ng-placeholder-tmp",""]]})}}return t})(),Ss=(()=>{class t{constructor(e){this.template=e}static{this.\u0275fac=function(i){return new(i||t)(f(S))}}static{this.\u0275dir=W({type:t,selectors:[["","ng-typetosearch-tmp",""]]})}}return t})(),Is=(()=>{class t{constructor(e){this.template=e}static{this.\u0275fac=function(i){return new(i||t)(f(S))}}static{this.\u0275dir=W({type:t,selectors:[["","ng-loadingtext-tmp",""]]})}}return t})(),xs=(()=>{class t{constructor(e){this.template=e}static{this.\u0275fac=function(i){return new(i||t)(f(S))}}static{this.\u0275dir=W({type:t,selectors:[["","ng-tag-tmp",""]]})}}return t})(),ws=(()=>{class t{constructor(e){this.template=e}static{this.\u0275fac=function(i){return new(i||t)(f(S))}}static{this.\u0275dir=W({type:t,selectors:[["","ng-loadingspinner-tmp",""]]})}}return t})();function zi(){return"axxxxxxxxxxx".replace(/[x]/g,()=>(Math.random()*16|0).toString(16))}var As={"\u24B6":"A",\uFF21:"A",\u00C0:"A",\u00C1:"A",\u00C2:"A",\u1EA6:"A",\u1EA4:"A",\u1EAA:"A",\u1EA8:"A",\u00C3:"A",\u0100:"A",\u0102:"A",\u1EB0:"A",\u1EAE:"A",\u1EB4:"A",\u1EB2:"A",\u0226:"A",\u01E0:"A",\u00C4:"A",\u01DE:"A",\u1EA2:"A",\u00C5:"A",\u01FA:"A",\u01CD:"A",\u0200:"A",\u0202:"A",\u1EA0:"A",\u1EAC:"A",\u1EB6:"A",\u1E00:"A",\u0104:"A","\u023A":"A","\u2C6F":"A","\uA732":"AA",\u00C6:"AE",\u01FC:"AE",\u01E2:"AE","\uA734":"AO","\uA736":"AU","\uA738":"AV","\uA73A":"AV","\uA73C":"AY","\u24B7":"B",\uFF22:"B",\u1E02:"B",\u1E04:"B",\u1E06:"B","\u0243":"B",\u0182:"B",\u0181:"B","\u24B8":"C",\uFF23:"C",\u0106:"C",\u0108:"C",\u010A:"C",\u010C:"C",\u00C7:"C",\u1E08:"C",\u0187:"C","\u023B":"C","\uA73E":"C","\u24B9":"D",\uFF24:"D",\u1E0A:"D",\u010E:"D",\u1E0C:"D",\u1E10:"D",\u1E12:"D",\u1E0E:"D",\u0110:"D",\u018B:"D",\u018A:"D",\u0189:"D","\uA779":"D",\u01F1:"DZ",\u01C4:"DZ",\u01F2:"Dz",\u01C5:"Dz","\u24BA":"E",\uFF25:"E",\u00C8:"E",\u00C9:"E",\u00CA:"E",\u1EC0:"E",\u1EBE:"E",\u1EC4:"E",\u1EC2:"E",\u1EBC:"E",\u0112:"E",\u1E14:"E",\u1E16:"E",\u0114:"E",\u0116:"E",\u00CB:"E",\u1EBA:"E",\u011A:"E",\u0204:"E",\u0206:"E",\u1EB8:"E",\u1EC6:"E",\u0228:"E",\u1E1C:"E",\u0118:"E",\u1E18:"E",\u1E1A:"E",\u0190:"E",\u018E:"E","\u24BB":"F",\uFF26:"F",\u1E1E:"F",\u0191:"F","\uA77B":"F","\u24BC":"G",\uFF27:"G",\u01F4:"G",\u011C:"G",\u1E20:"G",\u011E:"G",\u0120:"G",\u01E6:"G",\u0122:"G",\u01E4:"G",\u0193:"G","\uA7A0":"G","\uA77D":"G","\uA77E":"G","\u24BD":"H",\uFF28:"H",\u0124:"H",\u1E22:"H",\u1E26:"H",\u021E:"H",\u1E24:"H",\u1E28:"H",\u1E2A:"H",\u0126:"H","\u2C67":"H","\u2C75":"H","\uA78D":"H","\u24BE":"I",\uFF29:"I",\u00CC:"I",\u00CD:"I",\u00CE:"I",\u0128:"I",\u012A:"I",\u012C:"I",\u0130:"I",\u00CF:"I",\u1E2E:"I",\u1EC8:"I",\u01CF:"I",\u0208:"I",\u020A:"I",\u1ECA:"I",\u012E:"I",\u1E2C:"I",\u0197:"I","\u24BF":"J",\uFF2A:"J",\u0134:"J","\u0248":"J","\u24C0":"K",\uFF2B:"K",\u1E30:"K",\u01E8:"K",\u1E32:"K",\u0136:"K",\u1E34:"K",\u0198:"K","\u2C69":"K","\uA740":"K","\uA742":"K","\uA744":"K","\uA7A2":"K","\u24C1":"L",\uFF2C:"L",\u013F:"L",\u0139:"L",\u013D:"L",\u1E36:"L",\u1E38:"L",\u013B:"L",\u1E3C:"L",\u1E3A:"L",\u0141:"L","\u023D":"L","\u2C62":"L","\u2C60":"L","\uA748":"L","\uA746":"L","\uA780":"L",\u01C7:"LJ",\u01C8:"Lj","\u24C2":"M",\uFF2D:"M",\u1E3E:"M",\u1E40:"M",\u1E42:"M","\u2C6E":"M",\u019C:"M","\u24C3":"N",\uFF2E:"N",\u01F8:"N",\u0143:"N",\u00D1:"N",\u1E44:"N",\u0147:"N",\u1E46:"N",\u0145:"N",\u1E4A:"N",\u1E48:"N","\u0220":"N",\u019D:"N","\uA790":"N","\uA7A4":"N",\u01CA:"NJ",\u01CB:"Nj","\u24C4":"O",\uFF2F:"O",\u00D2:"O",\u00D3:"O",\u00D4:"O",\u1ED2:"O",\u1ED0:"O",\u1ED6:"O",\u1ED4:"O",\u00D5:"O",\u1E4C:"O",\u022C:"O",\u1E4E:"O",\u014C:"O",\u1E50:"O",\u1E52:"O",\u014E:"O",\u022E:"O",\u0230:"O",\u00D6:"O",\u022A:"O",\u1ECE:"O",\u0150:"O",\u01D1:"O",\u020C:"O",\u020E:"O",\u01A0:"O",\u1EDC:"O",\u1EDA:"O",\u1EE0:"O",\u1EDE:"O",\u1EE2:"O",\u1ECC:"O",\u1ED8:"O",\u01EA:"O",\u01EC:"O",\u00D8:"O",\u01FE:"O",\u0186:"O",\u019F:"O","\uA74A":"O","\uA74C":"O",\u01A2:"OI","\uA74E":"OO",\u0222:"OU","\u24C5":"P",\uFF30:"P",\u1E54:"P",\u1E56:"P",\u01A4:"P","\u2C63":"P","\uA750":"P","\uA752":"P","\uA754":"P","\u24C6":"Q",\uFF31:"Q","\uA756":"Q","\uA758":"Q","\u024A":"Q","\u24C7":"R",\uFF32:"R",\u0154:"R",\u1E58:"R",\u0158:"R",\u0210:"R",\u0212:"R",\u1E5A:"R",\u1E5C:"R",\u0156:"R",\u1E5E:"R","\u024C":"R","\u2C64":"R","\uA75A":"R","\uA7A6":"R","\uA782":"R","\u24C8":"S",\uFF33:"S","\u1E9E":"S",\u015A:"S",\u1E64:"S",\u015C:"S",\u1E60:"S",\u0160:"S",\u1E66:"S",\u1E62:"S",\u1E68:"S",\u0218:"S",\u015E:"S","\u2C7E":"S","\uA7A8":"S","\uA784":"S","\u24C9":"T",\uFF34:"T",\u1E6A:"T",\u0164:"T",\u1E6C:"T",\u021A:"T",\u0162:"T",\u1E70:"T",\u1E6E:"T",\u0166:"T",\u01AC:"T",\u01AE:"T","\u023E":"T","\uA786":"T","\uA728":"TZ","\u24CA":"U",\uFF35:"U",\u00D9:"U",\u00DA:"U",\u00DB:"U",\u0168:"U",\u1E78:"U",\u016A:"U",\u1E7A:"U",\u016C:"U",\u00DC:"U",\u01DB:"U",\u01D7:"U",\u01D5:"U",\u01D9:"U",\u1EE6:"U",\u016E:"U",\u0170:"U",\u01D3:"U",\u0214:"U",\u0216:"U",\u01AF:"U",\u1EEA:"U",\u1EE8:"U",\u1EEE:"U",\u1EEC:"U",\u1EF0:"U",\u1EE4:"U",\u1E72:"U",\u0172:"U",\u1E76:"U",\u1E74:"U","\u0244":"U","\u24CB":"V",\uFF36:"V",\u1E7C:"V",\u1E7E:"V",\u01B2:"V","\uA75E":"V","\u0245":"V","\uA760":"VY","\u24CC":"W",\uFF37:"W",\u1E80:"W",\u1E82:"W",\u0174:"W",\u1E86:"W",\u1E84:"W",\u1E88:"W","\u2C72":"W","\u24CD":"X",\uFF38:"X",\u1E8A:"X",\u1E8C:"X","\u24CE":"Y",\uFF39:"Y",\u1EF2:"Y",\u00DD:"Y",\u0176:"Y",\u1EF8:"Y",\u0232:"Y",\u1E8E:"Y",\u0178:"Y",\u1EF6:"Y",\u1EF4:"Y",\u01B3:"Y","\u024E":"Y","\u1EFE":"Y","\u24CF":"Z",\uFF3A:"Z",\u0179:"Z",\u1E90:"Z",\u017B:"Z",\u017D:"Z",\u1E92:"Z",\u1E94:"Z",\u01B5:"Z",\u0224:"Z","\u2C7F":"Z","\u2C6B":"Z","\uA762":"Z","\u24D0":"a",\uFF41:"a",\u1E9A:"a",\u00E0:"a",\u00E1:"a",\u00E2:"a",\u1EA7:"a",\u1EA5:"a",\u1EAB:"a",\u1EA9:"a",\u00E3:"a",\u0101:"a",\u0103:"a",\u1EB1:"a",\u1EAF:"a",\u1EB5:"a",\u1EB3:"a",\u0227:"a",\u01E1:"a",\u00E4:"a",\u01DF:"a",\u1EA3:"a",\u00E5:"a",\u01FB:"a",\u01CE:"a",\u0201:"a",\u0203:"a",\u1EA1:"a",\u1EAD:"a",\u1EB7:"a",\u1E01:"a",\u0105:"a","\u2C65":"a",\u0250:"a","\uA733":"aa",\u00E6:"ae",\u01FD:"ae",\u01E3:"ae","\uA735":"ao","\uA737":"au","\uA739":"av","\uA73B":"av","\uA73D":"ay","\u24D1":"b",\uFF42:"b",\u1E03:"b",\u1E05:"b",\u1E07:"b",\u0180:"b",\u0183:"b",\u0253:"b","\u24D2":"c",\uFF43:"c",\u0107:"c",\u0109:"c",\u010B:"c",\u010D:"c",\u00E7:"c",\u1E09:"c",\u0188:"c","\u023C":"c","\uA73F":"c","\u2184":"c","\u24D3":"d",\uFF44:"d",\u1E0B:"d",\u010F:"d",\u1E0D:"d",\u1E11:"d",\u1E13:"d",\u1E0F:"d",\u0111:"d",\u018C:"d",\u0256:"d",\u0257:"d","\uA77A":"d",\u01F3:"dz",\u01C6:"dz","\u24D4":"e",\uFF45:"e",\u00E8:"e",\u00E9:"e",\u00EA:"e",\u1EC1:"e",\u1EBF:"e",\u1EC5:"e",\u1EC3:"e",\u1EBD:"e",\u0113:"e",\u1E15:"e",\u1E17:"e",\u0115:"e",\u0117:"e",\u00EB:"e",\u1EBB:"e",\u011B:"e",\u0205:"e",\u0207:"e",\u1EB9:"e",\u1EC7:"e",\u0229:"e",\u1E1D:"e",\u0119:"e",\u1E19:"e",\u1E1B:"e","\u0247":"e",\u025B:"e",\u01DD:"e","\u24D5":"f",\uFF46:"f",\u1E1F:"f",\u0192:"f","\uA77C":"f","\u24D6":"g",\uFF47:"g",\u01F5:"g",\u011D:"g",\u1E21:"g",\u011F:"g",\u0121:"g",\u01E7:"g",\u0123:"g",\u01E5:"g",\u0260:"g","\uA7A1":"g","\u1D79":"g","\uA77F":"g","\u24D7":"h",\uFF48:"h",\u0125:"h",\u1E23:"h",\u1E27:"h",\u021F:"h",\u1E25:"h",\u1E29:"h",\u1E2B:"h",\u1E96:"h",\u0127:"h","\u2C68":"h","\u2C76":"h",\u0265:"h",\u0195:"hv","\u24D8":"i",\uFF49:"i",\u00EC:"i",\u00ED:"i",\u00EE:"i",\u0129:"i",\u012B:"i",\u012D:"i",\u00EF:"i",\u1E2F:"i",\u1EC9:"i",\u01D0:"i",\u0209:"i",\u020B:"i",\u1ECB:"i",\u012F:"i",\u1E2D:"i",\u0268:"i",\u0131:"i","\u24D9":"j",\uFF4A:"j",\u0135:"j",\u01F0:"j","\u0249":"j","\u24DA":"k",\uFF4B:"k",\u1E31:"k",\u01E9:"k",\u1E33:"k",\u0137:"k",\u1E35:"k",\u0199:"k","\u2C6A":"k","\uA741":"k","\uA743":"k","\uA745":"k","\uA7A3":"k","\u24DB":"l",\uFF4C:"l",\u0140:"l",\u013A:"l",\u013E:"l",\u1E37:"l",\u1E39:"l",\u013C:"l",\u1E3D:"l",\u1E3B:"l",\u017F:"l",\u0142:"l",\u019A:"l",\u026B:"l","\u2C61":"l","\uA749":"l","\uA781":"l","\uA747":"l",\u01C9:"lj","\u24DC":"m",\uFF4D:"m",\u1E3F:"m",\u1E41:"m",\u1E43:"m",\u0271:"m",\u026F:"m","\u24DD":"n",\uFF4E:"n",\u01F9:"n",\u0144:"n",\u00F1:"n",\u1E45:"n",\u0148:"n",\u1E47:"n",\u0146:"n",\u1E4B:"n",\u1E49:"n",\u019E:"n",\u0272:"n",\u0149:"n","\uA791":"n","\uA7A5":"n",\u01CC:"nj","\u24DE":"o",\uFF4F:"o",\u00F2:"o",\u00F3:"o",\u00F4:"o",\u1ED3:"o",\u1ED1:"o",\u1ED7:"o",\u1ED5:"o",\u00F5:"o",\u1E4D:"o",\u022D:"o",\u1E4F:"o",\u014D:"o",\u1E51:"o",\u1E53:"o",\u014F:"o",\u022F:"o",\u0231:"o",\u00F6:"o",\u022B:"o",\u1ECF:"o",\u0151:"o",\u01D2:"o",\u020D:"o",\u020F:"o",\u01A1:"o",\u1EDD:"o",\u1EDB:"o",\u1EE1:"o",\u1EDF:"o",\u1EE3:"o",\u1ECD:"o",\u1ED9:"o",\u01EB:"o",\u01ED:"o",\u00F8:"o",\u01FF:"o",\u0254:"o","\uA74B":"o","\uA74D":"o",\u0275:"o",\u01A3:"oi",\u0223:"ou","\uA74F":"oo","\u24DF":"p",\uFF50:"p",\u1E55:"p",\u1E57:"p",\u01A5:"p","\u1D7D":"p","\uA751":"p","\uA753":"p","\uA755":"p","\u24E0":"q",\uFF51:"q","\u024B":"q","\uA757":"q","\uA759":"q","\u24E1":"r",\uFF52:"r",\u0155:"r",\u1E59:"r",\u0159:"r",\u0211:"r",\u0213:"r",\u1E5B:"r",\u1E5D:"r",\u0157:"r",\u1E5F:"r","\u024D":"r",\u027D:"r","\uA75B":"r","\uA7A7":"r","\uA783":"r","\u24E2":"s",\uFF53:"s",\u00DF:"s",\u015B:"s",\u1E65:"s",\u015D:"s",\u1E61:"s",\u0161:"s",\u1E67:"s",\u1E63:"s",\u1E69:"s",\u0219:"s",\u015F:"s","\u023F":"s","\uA7A9":"s","\uA785":"s",\u1E9B:"s","\u24E3":"t",\uFF54:"t",\u1E6B:"t",\u1E97:"t",\u0165:"t",\u1E6D:"t",\u021B:"t",\u0163:"t",\u1E71:"t",\u1E6F:"t",\u0167:"t",\u01AD:"t",\u0288:"t","\u2C66":"t","\uA787":"t","\uA729":"tz","\u24E4":"u",\uFF55:"u",\u00F9:"u",\u00FA:"u",\u00FB:"u",\u0169:"u",\u1E79:"u",\u016B:"u",\u1E7B:"u",\u016D:"u",\u00FC:"u",\u01DC:"u",\u01D8:"u",\u01D6:"u",\u01DA:"u",\u1EE7:"u",\u016F:"u",\u0171:"u",\u01D4:"u",\u0215:"u",\u0217:"u",\u01B0:"u",\u1EEB:"u",\u1EE9:"u",\u1EEF:"u",\u1EED:"u",\u1EF1:"u",\u1EE5:"u",\u1E73:"u",\u0173:"u",\u1E77:"u",\u1E75:"u",\u0289:"u","\u24E5":"v",\uFF56:"v",\u1E7D:"v",\u1E7F:"v",\u028B:"v","\uA75F":"v",\u028C:"v","\uA761":"vy","\u24E6":"w",\uFF57:"w",\u1E81:"w",\u1E83:"w",\u0175:"w",\u1E87:"w",\u1E85:"w",\u1E98:"w",\u1E89:"w","\u2C73":"w","\u24E7":"x",\uFF58:"x",\u1E8B:"x",\u1E8D:"x","\u24E8":"y",\uFF59:"y",\u1EF3:"y",\u00FD:"y",\u0177:"y",\u1EF9:"y",\u0233:"y",\u1E8F:"y",\u00FF:"y",\u1EF7:"y",\u1E99:"y",\u1EF5:"y",\u01B4:"y","\u024F":"y","\u1EFF":"y","\u24E9":"z",\uFF5A:"z",\u017A:"z",\u1E91:"z",\u017C:"z",\u017E:"z",\u1E93:"z",\u1E95:"z",\u01B6:"z",\u0225:"z","\u0240":"z","\u2C6C":"z","\uA763":"z",\u0386:"\u0391",\u0388:"\u0395",\u0389:"\u0397",\u038A:"\u0399",\u03AA:"\u0399",\u038C:"\u039F",\u038E:"\u03A5",\u03AB:"\u03A5",\u038F:"\u03A9",\u03AC:"\u03B1",\u03AD:"\u03B5",\u03AE:"\u03B7",\u03AF:"\u03B9",\u03CA:"\u03B9",\u0390:"\u03B9",\u03CC:"\u03BF",\u03CD:"\u03C5",\u03CB:"\u03C5",\u03B0:"\u03C5",\u03C9:"\u03C9",\u03C2:"\u03C3"};function qe(t){let s=e=>As[e]||e;return t.replace(/[^\u0000-\u007E]/g,s)}var ct=class{constructor(s,e){this._ngSelect=s,this._selectionModel=e,this._items=[],this._filteredItems=[],this._markedIndex=-1}get items(){return this._items}get filteredItems(){return this._filteredItems}get markedIndex(){return this._markedIndex}get selectedItems(){return this._selectionModel.value}get markedItem(){return this._filteredItems[this._markedIndex]}get noItemsToSelect(){return this._ngSelect.hideSelected&&this._items.length===this.selectedItems.length}get maxItemsSelected(){return this._ngSelect.multiple&&this._ngSelect.maxSelectedItems<=this.selectedItems.length}get lastSelectedItem(){let s=this.selectedItems.length-1;for(;s>=0;s--){let e=this.selectedItems[s];if(!e.disabled)return e}return null}setItems(s){this._items=s.map((e,i)=>this.mapItem(e,i)),this._ngSelect.groupBy?(this._groups=this._groupBy(this._items,this._ngSelect.groupBy),this._items=this._flatten(this._groups)):(this._groups=new Map,this._groups.set(void 0,this._items)),this._filteredItems=[...this._items]}select(s){if(s.selected||this.maxItemsSelected)return;let e=this._ngSelect.multiple;e||this.clearSelected(),this._selectionModel.select(s,e,this._ngSelect.selectableGroupAsModel),this._ngSelect.hideSelected&&this._hideSelected(s)}unselect(s){s.selected&&(this._selectionModel.unselect(s,this._ngSelect.multiple),this._ngSelect.hideSelected&&w(s.index)&&this._ngSelect.multiple&&this._showSelected(s))}findItem(s){let e;return this._ngSelect.compareWith?e=i=>this._ngSelect.compareWith(i.value,s):this._ngSelect.bindValue?e=i=>!i.children&&this.resolveNested(i.value,this._ngSelect.bindValue)===s:e=i=>i.value===s||!i.children&&i.label&&i.label===this.resolveNested(s,this._ngSelect.bindLabel),this._items.find(i=>e(i))}addItem(s){let e=this.mapItem(s,this._items.length);return this._items.push(e),this._filteredItems.push(e),e}clearSelected(s=!1){this._selectionModel.clear(s),this._items.forEach(e=>{e.selected=s&&e.selected&&e.disabled,e.marked=!1}),this._ngSelect.hideSelected&&this.resetFilteredItems()}findByLabel(s){return s=qe(s).toLocaleLowerCase(),this.filteredItems.find(e=>qe(e.label).toLocaleLowerCase().substr(0,s.length)===s)}filter(s){if(!s){this.resetFilteredItems();return}this._filteredItems=[],s=this._ngSelect.searchFn?s:qe(s).toLocaleLowerCase();let e=this._ngSelect.searchFn||this._defaultSearchFn,i=this._ngSelect.hideSelected;for(let n of Array.from(this._groups.keys())){let r=[];for(let a of this._groups.get(n)){if(i&&(a.parent&&a.parent.selected||a.selected))continue;let m=this._ngSelect.searchFn?a.value:a;e(s,m)&&r.push(a)}if(r.length>0){let[a]=r.slice(-1);if(a.parent){let m=this._items.find(g=>g===a.parent);this._filteredItems.push(m)}this._filteredItems.push(...r)}}}resetFilteredItems(){this._filteredItems.length!==this._items.length&&(this._ngSelect.hideSelected&&this.selectedItems.length>0?this._filteredItems=this._items.filter(s=>!s.selected):this._filteredItems=this._items)}unmarkItem(){this._markedIndex=-1}markNextItem(){this._stepToItem(1)}markPreviousItem(){this._stepToItem(-1)}markItem(s){this._markedIndex=this._filteredItems.indexOf(s)}markSelectedOrDefault(s){if(this._filteredItems.length===0)return;let e=this._getLastMarkedIndex();e>-1?this._markedIndex=e:this._markedIndex=s?this.filteredItems.findIndex(i=>!i.disabled):-1}resolveNested(s,e){if(!Fe(s))return s;if(e.indexOf(".")===-1)return s[e];{let i=e.split("."),n=s;for(let r=0,a=i.length;rthis.selectedItems.indexOf(e)===-1))}_showSelected(s){if(this._filteredItems.push(s),s.parent){let e=s.parent;this._filteredItems.find(n=>n===e)||this._filteredItems.push(e)}else if(s.children)for(let e of s.children)e.selected=!1,this._filteredItems.push(e);this._filteredItems=[...this._filteredItems.sort((e,i)=>e.index-i.index)]}_hideSelected(s){this._filteredItems=this._filteredItems.filter(e=>e!==s),s.parent?s.parent.children.every(i=>i.selected)&&(this._filteredItems=this._filteredItems.filter(i=>i!==s.parent)):s.children&&(this._filteredItems=this.filteredItems.filter(e=>e.parent!==s))}_defaultSearchFn(s,e){return qe(e.label).toLocaleLowerCase().indexOf(s)>-1}_getNextItemIndex(s){return s>0?this._markedIndex>=this._filteredItems.length-1?0:this._markedIndex+1:this._markedIndex<=0?this._filteredItems.length-1:this._markedIndex-1}_stepToItem(s){this._filteredItems.length===0||this._filteredItems.every(e=>e.disabled)||(this._markedIndex=this._getNextItemIndex(s),this.markedItem.disabled&&this._stepToItem(s))}_getLastMarkedIndex(){if(this._ngSelect.hideSelected||this._markedIndex>-1&&this.markedItem===void 0)return-1;let s=this._filteredItems.indexOf(this.lastSelectedItem);return this.lastSelectedItem&&s<0?-1:Math.max(this.markedIndex,s)}_groupBy(s,e){let i=new Map;if(s.length===0)return i;if(Array.isArray(s[0].value[e])){for(let a of s){let m=(a.value[e]||[]).map((g,A)=>this.mapItem(g,A));i.set(a,m)}return i}let n=Ue(this._ngSelect.groupBy),r=a=>{let m=n?e(a.value):a.value[e];return w(m)?m:void 0};for(let a of s){let m=r(a),g=i.get(m);g?g.push(a):i.set(m,[a])}return i}_flatten(s){let e=Ue(this._ngSelect.groupBy),i=[];for(let n of Array.from(s.keys())){let r=i.length;if(n===void 0){let R=s.get(void 0)||[];i.push(...R.map($=>($.index=r++,$)));continue}let a=Fe(n),m={label:a?"":String(n),children:void 0,parent:null,index:r++,disabled:!this._ngSelect.selectableGroup,htmlId:zi()},g=e?this._ngSelect.bindLabel:this._ngSelect.groupBy,A=this._ngSelect.groupValue||(()=>a?n.value:{[g]:n}),ee=s.get(n).map(R=>(R.parent=m,R.children=void 0,R.index=r++,R));m.children=ee,m.value=A(n,ee.map(R=>R.value)),i.push(m),i.push(...ee)}return i}},Qi=(()=>{class t{constructor(){this._dimensions={itemHeight:0,panelHeight:0,itemsPerViewport:0}}get dimensions(){return this._dimensions}calculateItems(e,i,n){let r=this._dimensions,a=r.itemHeight*i,g=Math.max(0,e)/a*i,A=Math.min(i,Math.ceil(g)+(r.itemsPerViewport+1)),R=Math.max(0,A-r.itemsPerViewport),$=Math.min(R,Math.floor(g)),ge=r.itemHeight*Math.ceil($)-r.itemHeight*Math.min($,n);return ge=isNaN(ge)?0:ge,$=isNaN($)?-1:$,A=isNaN(A)?-1:A,$-=n,$=Math.max(0,$),A+=n,A=Math.min(i,A),{topPadding:ge,scrollHeight:a,start:$,end:A}}setDimensions(e,i){let n=Math.max(1,Math.floor(i/e));this._dimensions={itemHeight:e,panelHeight:i,itemsPerViewport:n}}getScrollTo(e,i,n){let{panelHeight:r}=this.dimensions,a=e+i,m=n,g=m+r;return r>=a&&n===e?null:a>g?m+a-g:e<=m?e:null}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=Z({token:t,factory:t.\u0275fac})}}return t})(),Wi=["top","right","bottom","left"],Fs=typeof requestAnimationFrame<"u"?ft:mt,Gi=(()=>{class t{constructor(e,i,n,r,a){this._renderer=e,this._zone=i,this._panelService=n,this._document=a,this.items=[],this.position="auto",this.virtualScroll=!1,this.filterValue=null,this.update=new F,this.scroll=new F,this.scrollToEnd=new F,this.outsideClick=new F,this._destroy$=new re,this._scrollToEndFired=!1,this._updateScrollHeight=!1,this._lastScrollPosition=0,this._dropdown=r.nativeElement}get currentPosition(){return this._currentPosition}get itemsLength(){return this._itemsLength}set itemsLength(e){e!==this._itemsLength&&(this._itemsLength=e,this._onItemsLengthChanged())}get _startOffset(){if(this.markedItem){let{itemHeight:e,panelHeight:i}=this._panelService.dimensions,n=this.markedItem.index*e;return i>n?0:n}return 0}ngOnInit(){this._select=this._dropdown.parentElement,this._virtualPadding=this.paddingElementRef.nativeElement,this._scrollablePanel=this.scrollElementRef.nativeElement,this._contentPanel=this.contentElementRef.nativeElement,this._handleScroll(),this._handleOutsideClick(),this._appendDropdown(),this._setupMousedownListener()}ngOnChanges(e){if(e.items){let i=e.items;this._onItemsChange(i.currentValue,i.firstChange)}}ngOnDestroy(){this._destroy$.next(),this._destroy$.complete(),this._destroy$.unsubscribe(),this.appendTo&&this._renderer.removeChild(this._dropdown.parentNode,this._dropdown)}scrollTo(e,i=!1){if(!e)return;let n=this.items.indexOf(e);if(n<0||n>=this.itemsLength)return;let r;if(this.virtualScroll){let a=this._panelService.dimensions.itemHeight;r=this._panelService.getScrollTo(n*a,a,this._lastScrollPosition)}else{let a=this._dropdown.querySelector(`#${e.htmlId}`),m=i?a.offsetTop:this._lastScrollPosition;r=this._panelService.getScrollTo(a.offsetTop,a.clientHeight,m)}w(r)&&(this._scrollablePanel.scrollTop=r)}scrollToTag(){let e=this._scrollablePanel;e.scrollTop=e.scrollHeight-e.clientHeight}adjustPosition(){this._updateYPosition()}_handleDropdownPosition(){this._currentPosition=this._calculateCurrentPosition(this._dropdown),Wi.includes(this._currentPosition)?this._updateDropdownClass(this._currentPosition):this._updateDropdownClass("bottom"),this.appendTo&&this._updateYPosition(),this._dropdown.style.opacity="1"}_updateDropdownClass(e){Wi.forEach(n=>{let r=`ng-select-${n}`;this._renderer.removeClass(this._dropdown,r),this._renderer.removeClass(this._select,r)});let i=`ng-select-${e}`;this._renderer.addClass(this._dropdown,i),this._renderer.addClass(this._select,i)}_handleScroll(){this._zone.runOutsideAngular(()=>{Ee(this.scrollElementRef.nativeElement,"scroll").pipe(N(this._destroy$),gt(0,Fs)).subscribe(e=>{let i=e.path||e.composedPath&&e.composedPath();if(!i||i.length===0&&!e.target)return;let n=!i||i.length===0?e.target.scrollTop:i[0].scrollTop;this._onContentScrolled(n)})})}_handleOutsideClick(){this._document&&this._zone.runOutsideAngular(()=>{Be(Ee(this._document,"touchstart",{capture:!0}),Ee(this._document,"click",{capture:!0})).pipe(N(this._destroy$)).subscribe(e=>this._checkToClose(e))})}_checkToClose(e){if(this._select.contains(e.target)||this._dropdown.contains(e.target))return;let i=e.path||e.composedPath&&e.composedPath();e.target&&e.target.shadowRoot&&i&&i[0]&&this._select.contains(i[0])||this._zone.run(()=>this.outsideClick.emit())}_onItemsChange(e,i){this.items=e||[],this._scrollToEndFired=!1,this.itemsLength=e.length,this.virtualScroll?this._updateItemsRange(i):(this._setVirtualHeight(),this._updateItems(i))}_updateItems(e){this.update.emit(this.items),e!==!1&&this._zone.runOutsideAngular(()=>{Promise.resolve().then(()=>{let i=this._scrollablePanel.clientHeight;this._panelService.setDimensions(0,i),this._handleDropdownPosition(),this.scrollTo(this.markedItem,e)})})}_updateItemsRange(e){this._zone.runOutsideAngular(()=>{this._measureDimensions().then(()=>{e?(this._renderItemsRange(this._startOffset),this._handleDropdownPosition()):this._renderItemsRange()})})}_onContentScrolled(e){this.virtualScroll&&this._renderItemsRange(e),this._lastScrollPosition=e,this._fireScrollToEnd(e)}_updateVirtualHeight(e){this._updateScrollHeight&&(this._virtualPadding.style.height=`${e}px`,this._updateScrollHeight=!1)}_setVirtualHeight(){this._virtualPadding&&(this._virtualPadding.style.height="0px")}_onItemsLengthChanged(){this._updateScrollHeight=!0}_renderItemsRange(e=null){if(e&&this._lastScrollPosition===e)return;e=e||this._scrollablePanel.scrollTop;let i=this._panelService.calculateItems(e,this.itemsLength,this.bufferAmount);this._updateVirtualHeight(i.scrollHeight),this._contentPanel.style.transform=`translateY(${i.topPadding}px)`,this._zone.run(()=>{this.update.emit(this.items.slice(i.start,i.end)),this.scroll.emit({start:i.start,end:i.end})}),w(e)&&this._lastScrollPosition===0&&(this._scrollablePanel.scrollTop=e,this._lastScrollPosition=e)}_measureDimensions(){if(this._panelService.dimensions.itemHeight>0||this.itemsLength===0)return Promise.resolve(this._panelService.dimensions);let[e]=this.items;return this.update.emit([e]),Promise.resolve().then(()=>{let n=this._dropdown.querySelector(`#${e.htmlId}`).clientHeight;this._virtualPadding.style.height=`${n*this.itemsLength}px`;let r=this._scrollablePanel.clientHeight;return this._panelService.setDimensions(n,r),this._panelService.dimensions})}_fireScrollToEnd(e){if(this._scrollToEndFired||e===0)return;let i=this.virtualScroll?this._virtualPadding:this._contentPanel;e+this._dropdown.clientHeight>=i.clientHeight-1&&(this._zone.run(()=>this.scrollToEnd.emit()),this._scrollToEndFired=!0)}_calculateCurrentPosition(e){if(this.position!=="auto")return this.position;let i=this._select.getBoundingClientRect(),n=document.documentElement.scrollTop||document.body.scrollTop,r=i.top+window.pageYOffset,a=i.height,m=e.getBoundingClientRect().height;return r+a+m>n+document.documentElement.clientHeight?"top":"bottom"}_appendDropdown(){if(this.appendTo){if(this._parent=document.querySelector(this.appendTo),!this._parent)throw new Error(`appendTo selector ${this.appendTo} did not found any parent element`);this._updateXPosition(),this._parent.appendChild(this._dropdown)}}_updateXPosition(){let e=this._select.getBoundingClientRect(),i=this._parent.getBoundingClientRect(),n=e.left-i.left;this._dropdown.style.left=n+"px",this._dropdown.style.width=e.width+"px",this._dropdown.style.minWidth=e.width+"px"}_updateYPosition(){let e=this._select.getBoundingClientRect(),i=this._parent.getBoundingClientRect(),n=e.height;if(this._currentPosition==="top"){let r=i.bottom-e.bottom;this._dropdown.style.bottom=r+n+"px",this._dropdown.style.top="auto"}else if(this._currentPosition==="bottom"){let r=e.top-i.top;this._dropdown.style.top=r+n+"px",this._dropdown.style.bottom="auto"}}_setupMousedownListener(){this._zone.runOutsideAngular(()=>{Ee(this._dropdown,"mousedown").pipe(N(this._destroy$)).subscribe(e=>{e.target.tagName!=="INPUT"&&e.preventDefault()})})}static{this.\u0275fac=function(i){return new(i||t)(f(wt),f(xt),f(Qi),f(ae),f(Nt,8))}}static{this.\u0275cmp=H({type:t,selectors:[["ng-dropdown-panel"]],viewQuery:function(i,n){if(i&1&&(_e(Fn,7,ae),_e(kn,7,ae),_e(Dn,7,ae)),i&2){let r;k(r=D())&&(n.contentElementRef=r.first),k(r=D())&&(n.scrollElementRef=r.first),k(r=D())&&(n.paddingElementRef=r.first)}},inputs:{items:"items",markedItem:"markedItem",position:"position",appendTo:"appendTo",bufferAmount:"bufferAmount",virtualScroll:[2,"virtualScroll","virtualScroll",B],headerTemplate:"headerTemplate",footerTemplate:"footerTemplate",filterValue:"filterValue"},outputs:{update:"update",scroll:"scroll",scrollToEnd:"scrollToEnd",outsideClick:"outsideClick"},features:[Pe,Te],ngContentSelectors:qi,decls:9,vars:6,consts:[["scroll",""],["padding",""],["content",""],[1,"ng-dropdown-header"],["role","listbox",1,"ng-dropdown-panel-items","scroll-host"],[1,"ng-dropdown-footer"],[3,"ngTemplateOutlet","ngTemplateOutletContext"]],template:function(i,n){i&1&&(Ze(),b(0,Ln,2,4,"div",3),l(1,"div",4,0),L(3,"div",null,1),l(5,"div",null,2),Je(7),c()(),b(8,Bn,2,4,"div",5)),i&2&&(y(n.headerTemplate?0:-1),o(3),G("total-padding",n.virtualScroll),o(2),G("scrollable-content",n.virtualScroll&&n.items.length),o(3),y(n.footerTemplate?8:-1))},dependencies:[et],encapsulation:2,changeDetection:0})}}return t})(),ks=(()=>{class t{constructor(e){this.elementRef=e,this.disabled=!1,this.stateChange$=new re}get label(){return(this.elementRef.nativeElement.textContent||"").trim()}ngOnChanges(e){e.disabled&&this.stateChange$.next({value:this.value,disabled:this.disabled})}ngAfterViewChecked(){this.label!==this._previousLabel&&(this._previousLabel=this.label,this.stateChange$.next({value:this.value,disabled:this.disabled,label:this.elementRef.nativeElement.innerHTML}))}ngOnDestroy(){this.stateChange$.complete()}static{this.\u0275fac=function(i){return new(i||t)(f(ae))}}static{this.\u0275cmp=H({type:t,selectors:[["ng-option"]],inputs:{value:"value",disabled:[2,"disabled","disabled",B]},features:[Pe,Te],ngContentSelectors:qi,decls:1,vars:0,template:function(i,n){i&1&&(Ze(),Je(0))},encapsulation:2,changeDetection:0})}}return t})(),se=function(t){return t[t.Tab=9]="Tab",t[t.Enter=13]="Enter",t[t.Esc=27]="Esc",t[t.Space=32]="Space",t[t.ArrowUp=38]="ArrowUp",t[t.ArrowDown=40]="ArrowDown",t[t.Backspace=8]="Backspace",t}(se||{});function Ki(){return new dt}var dt=class{constructor(){this._selected=[]}get value(){return this._selected}select(s,e,i){if(s.selected=!0,(!s.children||!e&&i)&&this._selected.push(s),e)if(s.parent){let n=s.parent.children.length,r=s.parent.children.filter(a=>a.selected).length;s.parent.selected=n===r}else s.children&&(this._setChildrenSelectedState(s.children,!0),this._removeChildren(s),i&&this._activeChildren(s)?this._selected=[...this._selected.filter(n=>n.parent!==s),s]:this._selected=[...this._selected,...s.children.filter(n=>!n.disabled)])}unselect(s,e){if(this._selected=this._selected.filter(i=>i!==s),s.selected=!1,e)if(s.parent&&s.parent.selected){let i=s.parent.children;this._removeParent(s.parent),this._removeChildren(s.parent),this._selected.push(...i.filter(n=>n!==s&&!n.disabled)),s.parent.selected=!1}else s.children&&(this._setChildrenSelectedState(s.children,!1),this._removeChildren(s))}clear(s){this._selected=s?this._selected.filter(e=>e.disabled):[]}_setChildrenSelectedState(s,e){for(let i of s)i.disabled||(i.selected=e)}_removeChildren(s){this._selected=[...this._selected.filter(e=>e.parent!==s),...s.children.filter(e=>e.parent===s&&e.disabled&&e.selected)]}_removeParent(s){this._selected=this._selected.filter(e=>e!==s)}_activeChildren(s){return s.children.every(e=>!e.disabled||e.selected)}},Ds=(()=>{class t{constructor(){this.fixedPlaceholder=!0,this.notFoundText="No items found",this.typeToSearchText="Type to search",this.addTagText="Add item",this.loadingText="Loading...",this.clearAllText="Clear all",this.disableVirtualScroll=!0,this.openOnEnter=!0,this.appearance="underline"}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=Z({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})(),Ls=(()=>{class t{warn(e){console.warn(e)}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=Z({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})(),Yi=new St("ng-select-selection-model"),Zi=(()=>{class t{constructor(e,i,n,r,a,m,g){this.classes=e,this.autoFocus=i,this.config=n,this._cd=m,this._console=g,this.ariaLabelDropdown="Options List",this.markFirst=!0,this.fixedPlaceholder=!0,this.preventToggleOnRightClick=!1,this.dropdownPosition="auto",this.loading=!1,this.closeOnSelect=!0,this.hideSelected=!1,this.selectOnTab=!1,this.bufferAmount=4,this.selectableGroup=!1,this.selectableGroupAsModel=!0,this.searchFn=null,this.trackByFn=null,this.clearOnBackspace=!0,this.labelForId=null,this.inputAttrs={},this.readonly=!1,this.searchWhileComposing=!0,this.minTermLength=0,this.editableSearchTerm=!1,this.ngClass=null,this.multiple=!1,this.addTag=!1,this.searchable=!0,this.clearable=!0,this.isOpen=!1,this.blurEvent=new F,this.focusEvent=new F,this.changeEvent=new F,this.openEvent=new F,this.closeEvent=new F,this.searchEvent=new F,this.clearEvent=new F,this.addEvent=new F,this.removeEvent=new F,this.scroll=new F,this.scrollToEnd=new F,this.useDefaultClass=!0,this.viewPortItems=[],this.searchTerm=null,this.dropdownId=zi(),this.escapeHTML=!0,this._defaultLabel="label",this._pressedKeys=[],this._isComposing=!1,this._destroy$=new re,this._keyPress$=new re,this._items=[],this.keyDownFn=A=>!0,this.clearItem=A=>{let ee=this.selectedItems.find(R=>R.value===A);this.unselect(ee)},this.trackByOption=(A,ee)=>this.trackByFn?this.trackByFn(ee.value):ee,this._onChange=A=>{},this._onTouched=()=>{},this._mergeGlobalConfig(n),this.itemsList=new ct(this,r?r():Ki()),this.element=a.nativeElement}get filtered(){return!!this.searchTerm&&this.searchable||this._isComposing}get single(){return!this.multiple}get items(){return this._items}set items(e){this._itemsAreUsed=!0,this._items=e??[]}get disabled(){return this.readonly||this._disabled}get compareWith(){return this._compareWith}set compareWith(e){if(e!=null&&!Ue(e))throw Error("`compareWith` must be a function.");this._compareWith=e}get clearSearchOnAdd(){return w(this._clearSearchOnAdd)?this._clearSearchOnAdd:w(this.config.clearSearchOnAdd)?this.config.clearSearchOnAdd:this.closeOnSelect}set clearSearchOnAdd(e){this._clearSearchOnAdd=e}get deselectOnClick(){return w(this._deselectOnClick)?this._deselectOnClick:w(this.config.deselectOnClick)?this.config.deselectOnClick:this.multiple}set deselectOnClick(e){this._deselectOnClick=e}get selectedItems(){return this.itemsList.selectedItems}get selectedValues(){return this.selectedItems.map(e=>e.value)}get hasValue(){return this.selectedItems.length>0}get currentPanelPosition(){if(this.dropdownPanel)return this.dropdownPanel.currentPosition}get showAddTag(){if(!this._validTerm)return!1;let e=this.searchTerm.toLowerCase().trim();return this.addTag&&!this.itemsList.filteredItems.some(i=>i.label.toLowerCase()===e)&&(!this.hideSelected&&this.isOpen||!this.selectedItems.some(i=>i.label.toLowerCase()===e))&&!this.loading}get _editableSearchTerm(){return this.editableSearchTerm&&!this.multiple}get _isTypeahead(){return this.typeahead&&this.typeahead.observers.length>0}get _validTerm(){let e=this.searchTerm&&this.searchTerm.trim();return e&&e.length>=this.minTermLength}ngOnInit(){this._handleKeyPresses(),this._setInputAttributes()}ngOnChanges(e){e.multiple&&this.itemsList.clearSelected(),e.items&&this._setItems(e.items.currentValue||[]),e.isOpen&&(this._manualOpen=w(e.isOpen.currentValue))}ngAfterViewInit(){this._itemsAreUsed||(this.escapeHTML=!1,this._setItemsFromNgOptions()),w(this.autoFocus)&&this.focus()}ngOnDestroy(){this._destroy$.next(),this._destroy$.complete()}handleKeyDown(e){if(se[e.which]){if(this.keyDownFn(e)===!1)return;this.handleKeyCode(e)}else e.key&&e.key.length===1&&this._keyPress$.next(e.key.toLocaleLowerCase())}handleKeyCode(e){let i=e.target;this.clearButton&&this.clearButton.nativeElement===i?this.handleKeyCodeClear(e):this.handleKeyCodeInput(e)}handleKeyCodeInput(e){switch(e.which){case se.ArrowDown:this._handleArrowDown(e);break;case se.ArrowUp:this._handleArrowUp(e);break;case se.Space:this._handleSpace(e);break;case se.Enter:this._handleEnter(e);break;case se.Tab:this._handleTab(e);break;case se.Esc:this.close(),e.preventDefault();break;case se.Backspace:this._handleBackspace();break}}handleKeyCodeClear(e){switch(e.which){case se.Enter:this.handleClearClick(),e.preventDefault();break}}handleMousedown(e){if(this.preventToggleOnRightClick&&e.button===2)return!1;let i=e.target;if(i.tagName!=="INPUT"&&e.preventDefault(),i.classList.contains("ng-clear-wrapper")){this.handleClearClick();return}if(i.classList.contains("ng-arrow-wrapper")){this.handleArrowClick();return}i.classList.contains("ng-value-icon")||(this.focused||this.focus(),this.searchable?this.open():this.toggle())}handleArrowClick(){this.isOpen?this.close():this.open()}handleClearClick(){this.hasValue&&(this.itemsList.clearSelected(!0),this._updateNgModel()),this._clearSearch(),this.focus(),this.clearEvent.emit(),this._onSelectionChanged()}clearModel(){this.clearable&&(this.itemsList.clearSelected(),this._updateNgModel())}writeValue(e){this.itemsList.clearSelected(),this._handleWriteValue(e),this._cd.markForCheck()}registerOnChange(e){this._onChange=e}registerOnTouched(e){this._onTouched=e}setDisabledState(e){this._disabled=e,this._cd.markForCheck()}toggle(){this.isOpen?this.close():this.open()}open(){this.disabled||this.isOpen||this._manualOpen||!this._isTypeahead&&!this.addTag&&this.itemsList.noItemsToSelect||(this.isOpen=!0,this.itemsList.markSelectedOrDefault(this.markFirst),this.openEvent.emit(),this.searchTerm||this.focus(),this.detectChanges())}close(){!this.isOpen||this._manualOpen||(this.isOpen=!1,this._isComposing=!1,this._editableSearchTerm?this.itemsList.resetFilteredItems():this._clearSearch(),this.itemsList.unmarkItem(),this._onTouched(),this.closeEvent.emit(),this._cd.markForCheck())}toggleItem(e){!e||e.disabled||this.disabled||(this.deselectOnClick&&e.selected?this.unselect(e):this.select(e),this._editableSearchTerm&&this._setSearchTermFromItems())}select(e){e.selected||(this.itemsList.select(e),this.clearSearchOnAdd&&!this._editableSearchTerm&&this._clearSearch(),this._updateNgModel(),this.multiple&&this.addEvent.emit(e.value)),(this.closeOnSelect||this.itemsList.noItemsToSelect)&&this.close(),this._onSelectionChanged()}focus(){this.searchInput.nativeElement.focus()}blur(){this.searchInput.nativeElement.blur()}unselect(e){e&&(this.itemsList.unselect(e),this.focus(),this._updateNgModel(),this.removeEvent.emit(e.value),this._onSelectionChanged())}selectTag(){let e;Ue(this.addTag)?e=this.addTag(this.searchTerm):e=this._primitive?this.searchTerm:{[this.bindLabel]:this.searchTerm};let i=n=>this._isTypeahead||!this.isOpen?this.itemsList.mapItem(n,null):this.itemsList.addItem(n);gs(e)?e.then(n=>this.select(i(n))).catch(()=>{}):e&&this.select(i(e))}showClear(){return this.clearable&&(this.hasValue||this.searchTerm)&&!this.disabled}focusOnClear(){this.blur(),this.clearButton&&this.clearButton.nativeElement.focus()}showNoItemsFound(){let e=this.itemsList.filteredItems.length===0;return(e&&!this._isTypeahead&&!this.loading||e&&this._isTypeahead&&this._validTerm&&!this.loading)&&!this.showAddTag}showTypeToSearch(){return this.itemsList.filteredItems.length===0&&this._isTypeahead&&!this._validTerm&&!this.loading}onCompositionStart(){this._isComposing=!0}onCompositionEnd(e){this._isComposing=!1,!this.searchWhileComposing&&this.filter(e)}filter(e){this._isComposing&&!this.searchWhileComposing||(this.searchTerm=e,this._isTypeahead&&(this._validTerm||this.minTermLength===0)&&this.typeahead.next(e),this._isTypeahead||(this.itemsList.filter(this.searchTerm),this.isOpen&&this.itemsList.markSelectedOrDefault(this.markFirst)),this.searchEvent.emit({term:e,items:this.itemsList.filteredItems.map(i=>i.value)}),this.open())}onInputFocus(e){this.focused||(this._editableSearchTerm&&this._setSearchTermFromItems(),this.element.classList.add("ng-select-focused"),this.focusEvent.emit(e),this.focused=!0)}onInputBlur(e){this.element.classList.remove("ng-select-focused"),this.blurEvent.emit(e),!this.isOpen&&!this.disabled&&this._onTouched(),this._editableSearchTerm&&this._setSearchTermFromItems(),this.focused=!1}onItemHover(e){e.disabled||this.itemsList.markItem(e)}detectChanges(){this._cd.destroyed||this._cd.detectChanges()}_setSearchTermFromItems(){let e=this.selectedItems&&this.selectedItems[0];this.searchTerm=e&&e.label||null}_setItems(e){let i=e[0];this.bindLabel=this.bindLabel||this._defaultLabel,this._primitive=w(i)?!Fe(i):this._primitive||this.bindLabel===this._defaultLabel,this.itemsList.setItems(e),e.length>0&&this.hasValue&&this.itemsList.mapSelectedItems(),this.isOpen&&w(this.searchTerm)&&!this._isTypeahead&&this.itemsList.filter(this.searchTerm),(this._isTypeahead||this.isOpen)&&this.itemsList.markSelectedOrDefault(this.markFirst)}_setItemsFromNgOptions(){let e=n=>{this.items=n.map(r=>({$ngOptionValue:r.value,$ngOptionLabel:r.elementRef.nativeElement.innerHTML,disabled:r.disabled})),this.itemsList.setItems(this.items),this.hasValue&&this.itemsList.mapSelectedItems(),this.detectChanges()},i=()=>{let n=Be(this.ngOptions.changes,this._destroy$);Be(...this.ngOptions.map(r=>r.stateChange$)).pipe(N(n)).subscribe(r=>{let a=this.itemsList.findItem(r.value);a.disabled=r.disabled,a.label=r.label||a.label,this._cd.detectChanges()})};this.ngOptions.changes.pipe(vt(this.ngOptions),N(this._destroy$)).subscribe(n=>{this.bindLabel=this._defaultLabel,e(n),i()})}_isValidWriteValue(e){if(!w(e)||this.multiple&&e===""||Array.isArray(e)&&e.length===0)return!1;let i=n=>!w(this.compareWith)&&Fe(n)&&this.bindValue?(this._console.warn(`Setting object(${JSON.stringify(n)}) as your model with bindValue is not allowed unless [compareWith] is used.`),!1):!0;return this.multiple?Array.isArray(e)?e.every(n=>i(n)):(this._console.warn("Multiple select ngModel should be array."),!1):i(e)}_handleWriteValue(e){if(!this._isValidWriteValue(e))return;let i=n=>{let r=this.itemsList.findItem(n);if(r)this.itemsList.select(r);else{let a=Fe(n),m=!a&&!this.bindValue;a||m?this.itemsList.select(this.itemsList.mapItem(n,null)):this.bindValue&&(r={[this.bindLabel]:null,[this.bindValue]:n},this.itemsList.select(this.itemsList.mapItem(r,null)))}};this.multiple?e.forEach(n=>i(n)):i(e)}_handleKeyPresses(){this.searchable||this._keyPress$.pipe(N(this._destroy$),Et(e=>this._pressedKeys.push(e)),bt(200),Oe(()=>this._pressedKeys.length>0),T(()=>this._pressedKeys.join(""))).subscribe(e=>{let i=this.itemsList.findByLabel(e);i&&(this.isOpen?(this.itemsList.markItem(i),this._scrollToMarked(),this._cd.markForCheck()):this.select(i)),this._pressedKeys=[]})}_setInputAttributes(){let e=this.searchInput.nativeElement,i=be({type:"text",autocorrect:"off",autocapitalize:"off",autocomplete:this.labelForId?"off":this.dropdownId},this.inputAttrs);for(let n of Object.keys(i))e.setAttribute(n,i[n])}_updateNgModel(){let e=[];for(let n of this.selectedItems)if(this.bindValue){let r=null;if(n.children){let a=this.groupValue?this.bindValue:this.groupBy;r=n.value[a||this.groupBy]}else r=this.itemsList.resolveNested(n.value,this.bindValue);e.push(r)}else e.push(n.value);let i=this.selectedItems.map(n=>n.value);this.multiple?(this._onChange(e),this.changeEvent.emit(i)):(this._onChange(w(e[0])?e[0]:null),this.changeEvent.emit(i[0])),this._cd.markForCheck()}_clearSearch(){this.searchTerm&&(this._changeSearch(null),this.itemsList.resetFilteredItems())}_changeSearch(e){this.searchTerm=e,this._isTypeahead&&this.typeahead.next(e)}_scrollToMarked(){!this.isOpen||!this.dropdownPanel||this.dropdownPanel.scrollTo(this.itemsList.markedItem)}_scrollToTag(){!this.isOpen||!this.dropdownPanel||this.dropdownPanel.scrollToTag()}_onSelectionChanged(){this.isOpen&&this.deselectOnClick&&this.appendTo&&(this._cd.detectChanges(),this.dropdownPanel.adjustPosition())}_handleTab(e){if(this.isOpen===!1){if(this.showClear()&&!e.shiftKey)this.focusOnClear(),e.preventDefault();else if(!this.addTag)return}this.selectOnTab?this.itemsList.markedItem?(this.toggleItem(this.itemsList.markedItem),e.preventDefault()):this.showAddTag?(this.selectTag(),e.preventDefault()):this.close():this.close()}_handleEnter(e){if(this.isOpen||this._manualOpen)this.itemsList.markedItem?this.toggleItem(this.itemsList.markedItem):this.showAddTag&&this.selectTag();else if(this.openOnEnter)this.open();else return;e.preventDefault()}_handleSpace(e){this.isOpen||this._manualOpen||(this.open(),e.preventDefault())}_handleArrowDown(e){this._nextItemIsTag(1)?(this.itemsList.unmarkItem(),this._scrollToTag()):(this.itemsList.markNextItem(),this._scrollToMarked()),this.open(),e.preventDefault()}_handleArrowUp(e){this.isOpen&&(this._nextItemIsTag(-1)?(this.itemsList.unmarkItem(),this._scrollToTag()):(this.itemsList.markPreviousItem(),this._scrollToMarked()),e.preventDefault())}_nextItemIsTag(e){let i=this.itemsList.markedIndex+e;return this.addTag&&this.searchTerm&&this.itemsList.markedItem&&(i<0||i===this.itemsList.filteredItems.length)}_handleBackspace(){this.searchTerm||!this.clearable||!this.clearOnBackspace||!this.hasValue||(this.multiple?this.unselect(this.itemsList.lastSelectedItem):this.clearModel())}_mergeGlobalConfig(e){this.placeholder=this.placeholder||e.placeholder,this.fixedPlaceholder=this.fixedPlaceholder||e.fixedPlaceholder,this.notFoundText=this.notFoundText||e.notFoundText,this.typeToSearchText=this.typeToSearchText||e.typeToSearchText,this.addTagText=this.addTagText||e.addTagText,this.loadingText=this.loadingText||e.loadingText,this.clearAllText=this.clearAllText||e.clearAllText,this.virtualScroll=w(this.virtualScroll)?this.virtualScroll:w(e.disableVirtualScroll)?!e.disableVirtualScroll:!1,this.openOnEnter=w(this.openOnEnter)?this.openOnEnter:e.openOnEnter,this.appendTo=this.appendTo||e.appendTo,this.bindValue=this.bindValue||e.bindValue,this.bindLabel=this.bindLabel||e.bindLabel,this.appearance=this.appearance||e.appearance}static{this.\u0275fac=function(i){return new(i||t)(Qe("class"),Qe("autofocus"),f(Ds),f(Yi,8),f(ae),f(Pt),f(Ls))}}static{this.\u0275cmp=H({type:t,selectors:[["ng-select"]],contentQueries:function(i,n,r){if(i&1&&(q(r,ut,5,S),q(r,pt,5,S),q(r,Cs,5,S),q(r,ht,5,S),q(r,vs,5,S),q(r,Es,5,S),q(r,ys,5,S),q(r,Ts,5,S),q(r,Ss,5,S),q(r,Is,5,S),q(r,xs,5,S),q(r,ws,5,S),q(r,ks,5)),i&2){let a;k(a=D())&&(n.optionTemplate=a.first),k(a=D())&&(n.optgroupTemplate=a.first),k(a=D())&&(n.labelTemplate=a.first),k(a=D())&&(n.multiLabelTemplate=a.first),k(a=D())&&(n.headerTemplate=a.first),k(a=D())&&(n.footerTemplate=a.first),k(a=D())&&(n.notFoundTemplate=a.first),k(a=D())&&(n.placeholderTemplate=a.first),k(a=D())&&(n.typeToSearchTemplate=a.first),k(a=D())&&(n.loadingTextTemplate=a.first),k(a=D())&&(n.tagTemplate=a.first),k(a=D())&&(n.loadingSpinnerTemplate=a.first),k(a=D())&&(n.ngOptions=a)}},viewQuery:function(i,n){if(i&1&&(_e(Gi,5),_e(On,7),_e(Pn,5)),i&2){let r;k(r=D())&&(n.dropdownPanel=r.first),k(r=D())&&(n.searchInput=r.first),k(r=D())&&(n.clearButton=r.first)}},hostVars:20,hostBindings:function(i,n){i&1&&x("keydown",function(a){return n.handleKeyDown(a)}),i&2&&G("ng-select-typeahead",n.typeahead)("ng-select-multiple",n.multiple)("ng-select-taggable",n.addTag)("ng-select-searchable",n.searchable)("ng-select-clearable",n.clearable)("ng-select-opened",n.isOpen)("ng-select",n.useDefaultClass)("ng-select-filtered",n.filtered)("ng-select-single",n.single)("ng-select-disabled",n.disabled)},inputs:{ariaLabelDropdown:"ariaLabelDropdown",bindLabel:"bindLabel",bindValue:"bindValue",ariaLabel:"ariaLabel",markFirst:[2,"markFirst","markFirst",B],placeholder:"placeholder",fixedPlaceholder:"fixedPlaceholder",notFoundText:"notFoundText",typeToSearchText:"typeToSearchText",preventToggleOnRightClick:"preventToggleOnRightClick",addTagText:"addTagText",loadingText:"loadingText",clearAllText:"clearAllText",appearance:"appearance",dropdownPosition:"dropdownPosition",appendTo:"appendTo",loading:[2,"loading","loading",B],closeOnSelect:[2,"closeOnSelect","closeOnSelect",B],hideSelected:[2,"hideSelected","hideSelected",B],selectOnTab:[2,"selectOnTab","selectOnTab",B],openOnEnter:[2,"openOnEnter","openOnEnter",B],maxSelectedItems:[2,"maxSelectedItems","maxSelectedItems",Ie],groupBy:"groupBy",groupValue:"groupValue",bufferAmount:[2,"bufferAmount","bufferAmount",Ie],virtualScroll:[2,"virtualScroll","virtualScroll",B],selectableGroup:[2,"selectableGroup","selectableGroup",B],selectableGroupAsModel:[2,"selectableGroupAsModel","selectableGroupAsModel",B],searchFn:"searchFn",trackByFn:"trackByFn",clearOnBackspace:[2,"clearOnBackspace","clearOnBackspace",B],labelForId:"labelForId",inputAttrs:"inputAttrs",tabIndex:[2,"tabIndex","tabIndex",Ie],readonly:[2,"readonly","readonly",B],searchWhileComposing:[2,"searchWhileComposing","searchWhileComposing",B],minTermLength:[2,"minTermLength","minTermLength",Ie],editableSearchTerm:[2,"editableSearchTerm","editableSearchTerm",B],ngClass:"ngClass",typeahead:"typeahead",multiple:[2,"multiple","multiple",B],addTag:"addTag",searchable:[2,"searchable","searchable",B],clearable:[2,"clearable","clearable",B],isOpen:"isOpen",items:"items",compareWith:"compareWith",clearSearchOnAdd:"clearSearchOnAdd",deselectOnClick:"deselectOnClick",keyDownFn:"keyDownFn"},outputs:{blurEvent:"blur",focusEvent:"focus",changeEvent:"change",openEvent:"open",closeEvent:"close",searchEvent:"search",clearEvent:"clear",addEvent:"add",removeEvent:"remove",scroll:"scroll",scrollToEnd:"scrollToEnd"},features:[pe([{provide:qt,useExisting:yt(()=>t),multi:!0},Qi]),Pe,Te],decls:13,vars:19,consts:[["searchInput",""],["defaultPlaceholderTemplate",""],["defaultLabelTemplate",""],["defaultLoadingSpinnerTemplate",""],["clearButton",""],["defaultOptionTemplate",""],["defaultTagTemplate",""],["defaultNotFoundTemplate",""],["defaultTypeToSearchTemplate",""],["defaultLoadingTextTemplate",""],[1,"ng-select-container",3,"mousedown"],[1,"ng-value-container"],[3,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"ng-input"],["aria-autocomplete","list","role","combobox",3,"blur","change","compositionend","compositionstart","focus","input","disabled","readOnly","value"],["role","button","tabindex","0",1,"ng-clear-wrapper",3,"title"],[1,"ng-arrow-wrapper"],[1,"ng-arrow"],["role","listbox",1,"ng-dropdown-panel",3,"virtualScroll","bufferAmount","appendTo","position","headerTemplate","footerTemplate","filterValue","items","markedItem","ng-select-multiple","ngClass","id"],[3,"ngTemplateOutlet"],[1,"ng-placeholder"],[1,"ng-value",3,"ng-value-disabled"],[1,"ng-value"],["aria-hidden","true",1,"ng-value-icon","left",3,"click"],[1,"ng-value-label",3,"ngItemLabel","escape"],[1,"ng-spinner-loader"],["aria-hidden","true",1,"ng-clear"],["role","listbox",1,"ng-dropdown-panel",3,"update","scroll","scrollToEnd","outsideClick","virtualScroll","bufferAmount","appendTo","position","headerTemplate","footerTemplate","filterValue","items","markedItem","ngClass","id"],[1,"ng-option",3,"ng-option-disabled","ng-option-selected","ng-optgroup","ng-option","ng-option-child","ng-option-marked"],["role","option",1,"ng-option",3,"ng-option-marked"],[1,"ng-option",3,"click","mouseover"],[1,"ng-option-label",3,"ngItemLabel","escape"],["role","option",1,"ng-option",3,"mouseover","click"],[1,"ng-tag-label"],[1,"ng-option","ng-option-disabled"]],template:function(i,n){if(i&1){let r=P();l(0,"div",10),x("mousedown",function(m){return v(r),E(n.handleMousedown(m))}),l(1,"div",11),b(2,jn,3,1)(3,qn,2,0)(4,zn,1,5,null,12),l(5,"div",13)(6,"input",14,0),x("blur",function(m){return v(r),E(n.onInputBlur(m))})("change",function(m){return v(r),E(m.stopPropagation())})("compositionend",function(){v(r);let m=U(7);return E(n.onCompositionEnd(m.value))})("compositionstart",function(){return v(r),E(n.onCompositionStart())})("focus",function(m){return v(r),E(n.onInputFocus(m))})("input",function(){v(r);let m=U(7);return E(n.filter(m.value))}),c()()(),b(8,Yn,3,1)(9,Zn,4,1,"span",15),l(10,"span",16),L(11,"span",17),c()(),b(12,hs,8,18,"ng-dropdown-panel",18)}i&2&&(G("ng-appearance-outline",n.appearance==="outline")("ng-has-value",n.hasValue),o(2),y(n.selectedItems.length===0&&!n.searchTerm||n.fixedPlaceholder===!0?2:-1),o(),y((!n.multiLabelTemplate||!n.multiple)&&n.selectedItems.length>0?3:-1),o(),y(n.multiple&&n.multiLabelTemplate&&n.selectedValues.length>0?4:-1),o(2),_("disabled",n.disabled)("readOnly",!n.searchable||n.itemsList.maxItemsSelected)("value",n.searchTerm?n.searchTerm:""),J("aria-activedescendant",n.isOpen?n.itemsList==null||n.itemsList.markedItem==null?null:n.itemsList.markedItem.htmlId:null)("aria-controls",n.isOpen?n.dropdownId:null)("aria-expanded",n.isOpen)("aria-label",n.ariaLabel)("id",n.labelForId)("tabindex",n.tabIndex),o(2),y(n.loading?8:-1),o(),y(n.showClear()?9:-1),o(3),y(n.isOpen?12:-1))},dependencies:[et,bs,Gi,Mt],styles:[`@charset "UTF-8";.ng-select{position:relative;display:block;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.ng-select div,.ng-select input,.ng-select span{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.ng-select [hidden]{display:none}.ng-select.ng-select-searchable .ng-select-container .ng-value-container .ng-input{opacity:1}.ng-select.ng-select-opened .ng-select-container{z-index:1001}.ng-select.ng-select-disabled .ng-select-container .ng-value-container .ng-placeholder,.ng-select.ng-select-disabled .ng-select-container .ng-value-container .ng-value{-webkit-user-select:none;user-select:none;cursor:default}.ng-select.ng-select-disabled .ng-arrow-wrapper{cursor:default}.ng-select.ng-select-filtered .ng-placeholder{display:none}.ng-select .ng-select-container{cursor:default;display:flex;outline:none;overflow:hidden;position:relative;width:100%}.ng-select .ng-select-container .ng-value-container{display:flex;flex:1}.ng-select .ng-select-container .ng-value-container .ng-input{opacity:0}.ng-select .ng-select-container .ng-value-container .ng-input>input{box-sizing:content-box;background:none transparent;border:0 none;box-shadow:none;outline:none;padding:0;cursor:default;width:100%}.ng-select .ng-select-container .ng-value-container .ng-input>input::-ms-clear{display:none}.ng-select .ng-select-container .ng-value-container .ng-input>input[readonly]{-webkit-user-select:unset;user-select:unset;width:0;padding:0}.ng-select.ng-select-single.ng-select-filtered .ng-select-container .ng-value-container .ng-value{visibility:hidden}.ng-select.ng-select-single .ng-select-container .ng-value-container,.ng-select.ng-select-single .ng-select-container .ng-value-container .ng-value{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ng-select.ng-select-single .ng-select-container .ng-value-container .ng-value .ng-value-icon{display:none}.ng-select.ng-select-single .ng-select-container .ng-value-container .ng-input{position:absolute;left:0;width:100%}.ng-select.ng-select-multiple.ng-select-disabled>.ng-select-container .ng-value-container .ng-value .ng-value-icon{display:none}.ng-select.ng-select-multiple .ng-select-container .ng-value-container{flex-wrap:wrap}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{position:absolute}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{white-space:nowrap}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled .ng-value-icon{display:none}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon{cursor:pointer}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input{flex:1;z-index:2}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{z-index:1}.ng-select .ng-clear-wrapper{cursor:pointer;position:relative;width:17px;-webkit-user-select:none;user-select:none}.ng-select .ng-clear-wrapper .ng-clear{display:inline-block;font-size:18px;line-height:1;pointer-events:none}.ng-select .ng-spinner-loader{border-radius:50%;width:17px;height:17px;margin-right:5px;font-size:10px;position:relative;text-indent:-9999em;border-top:2px solid rgba(66,66,66,.2);border-right:2px solid rgba(66,66,66,.2);border-bottom:2px solid rgba(66,66,66,.2);border-left:2px solid #424242;transform:translateZ(0);animation:load8 .8s infinite linear}.ng-select .ng-spinner-loader:after{border-radius:50%;width:17px;height:17px}@-webkit-keyframes load8{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes load8{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.ng-select .ng-arrow-wrapper{cursor:pointer;position:relative;text-align:center;-webkit-user-select:none;user-select:none}.ng-select .ng-arrow-wrapper .ng-arrow{pointer-events:none;display:inline-block;height:0;width:0;position:relative}.ng-dropdown-panel{box-sizing:border-box;position:absolute;opacity:0;width:100%;z-index:1050;-webkit-overflow-scrolling:touch}.ng-dropdown-panel .ng-dropdown-panel-items{display:block;height:auto;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;max-height:240px;overflow-y:auto}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option{box-sizing:border-box;cursor:pointer;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .ng-option-label:empty:before{content:"\\200b"}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .highlighted{font-weight:700;text-decoration:underline}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.disabled{cursor:default}.ng-dropdown-panel .scroll-host{overflow:hidden;overflow-y:auto;position:relative;display:block;-webkit-overflow-scrolling:touch}.ng-dropdown-panel .scrollable-content{top:0;left:0;width:100%;height:100%;position:absolute}.ng-dropdown-panel .total-padding{width:1px;opacity:0} +`],encapsulation:2,changeDetection:0})}}return t})(),Ji=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=At({type:t})}static{this.\u0275inj=Tt({providers:[{provide:Yi,useValue:Ki}]})}}return t})();var Os=(t,s)=>s.Key;function Ps(t,s){if(t&1){let e=P();l(0,"div",4),p(1),l(2,"span",5),x("click",function(){let n=v(e).$implicit,r=h().clear;return E(r(n))}),p(3,"\xD7"),c()()}if(t&2){let e=s.$implicit;o(),C(" ",e.Value," ")}}function Ns(t,s){if(t&1&&V(0,Ps,4,1,"div",4,Os),t&2){let e=s.items;M(e)}}function Vs(t,s){if(t&1&&(L(0,"input",6),p(1)),t&2){let e=s.item,i=s.item$,n=s.index;Xe("id","item-",n,""),_("ngModel",i.selected),o(),C(" ",e.Group," ")}}function Ms(t,s){if(t&1&&(L(0,"input",6),p(1)),t&2){let e=s.item,i=s.item$,n=s.index;Xe("id","item-",n,""),_("ngModel",i.selected),o(),C(" ",e.Value," ")}}var Xi=(()=>{class t{constructor(){this.options=[],this.values=[],this.valuesChange=new F}itemsChanged(){this.valuesChange.emit(this.values)}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=H({type:t,selectors:[["bkd-multiselect"]],inputs:{options:"options",values:"values"},outputs:{valuesChange:"valuesChange"},decls:5,vars:10,consts:[["groupBy","Group","bindValue","Key","bindLabel","Value","dropdownPosition","bottom",1,"multiselect",3,"ngModelChange","click","clear","items","multiple","selectableGroup","selectableGroupAsModel","closeOnSelect","ngModel","placeholder","clearable"],["ng-multi-label-tmp",""],["ng-optgroup-tmp",""],["ng-option-tmp",""],[1,"ng-value"],["aria-hidden","true",1,"ng-value-icon","right",3,"click"],["type","checkbox",3,"id","ngModel"]],template:function(i,n){i&1&&(l(0,"ng-select",0),d(1,"translate"),K("ngModelChange",function(a){return Q(n.values,a)||(n.values=a),a}),x("click",function(){return n.itemsChanged()})("clear",function(){return n.itemsChanged()}),b(2,Ns,2,0,"ng-template",1)(3,Vs,2,4,"ng-template",2)(4,Ms,2,4,"ng-template",3),c()),i&2&&(fe("placeholder",u(1,8,"shared.select.empty-option")),_("items",n.options)("multiple",!0)("selectableGroup",!0)("selectableGroupAsModel",!1)("closeOnSelect",!1),z("ngModel",n.values),_("clearable",!0))},dependencies:[Ji,Zi,pt,ut,ht,Me,Ut,Ve,Kt,me],encapsulation:2})}}return t})();var en=Gt({HRef:tt,Id:it,TeacherId:it,FullName:tt});var tn=(()=>{class t extends Ti{constructor(e,i){super(e,i,en,"TeacherResources","FullName","FullName")}getTypeaheadItemByKey(e){return this.http.get(`${this.baseUrl}/`,{params:{fields:[this.keyAttr,this.labelAttr].join(","),[`filter.${this.labelAttr}`]:`~*${e}*`}}).pipe(ye(di(this.typeaheadCodec)),ye(i=>_t({Key:i[0].FullName,Value:`${i[0].FullName}`})))}static{this.\u0275fac=function(i){return new(i||t)(j($t),j(he))}}static{this.\u0275prov=Z({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();var sn=(()=>{class t{constructor(e,i,n,r,a,m){this.studentsService=e,this.educationalEventsService=i,this.studyClassService=n,this.teacherResourcesService=r,this.state=a,this.translate=m,this.filter={student:null,educationalEvent:null,studyClass:null,teacher:null,dateFrom:null,dateTo:null,weekdays:null,presenceTypes:null,confirmationStates:null,incidentTypes:null},this.filterChange=new F,this.weekdaysGrouped$=this.state.weekdays$.pipe(T(g=>Ae(g,this.translate.instant("shared.multiselect.all-option")))),this.absenceConfirmationStatesGrouped$=this.state.absenceConfirmationStates$.pipe(T(g=>Ae(g,this.translate.instant("shared.multiselect.all-option")))),this.presenceTypesGrouped$=this.state.presenceTypes$.pipe(T(g=>g.filter(we(fi)).filter(we(rt))),T(ot),T(lt),T(g=>Ae(g,this.translate.instant("shared.multiselect.all-option")))),this.incidentTypesGrouped$=this.state.presenceTypes$.pipe(T(g=>g.filter(rt)),T(ot),T(lt),T(g=>Ae(g,this.translate.instant("shared.multiselect.all-option")))),this.classesHttpFilter={params:{fields:"IsActive","filter.IsActive":"=true"}}}show(){this.filterChange.emit(De(be({},this.filter),{dateFrom:nn(this.filter.dateFrom),dateTo:nn(this.filter.dateTo)}))}static{this.\u0275fac=function(i){return new(i||t)(f(Si),f(Mi),f(wi),f(tn),f(te),f(Re))}}static{this.\u0275cmp=H({type:t,selectors:[["bkd-edit-absences-header"]],inputs:{filter:"filter"},outputs:{filterChange:"filterChange"},features:[pe([{provide:ri,useClass:oi},{provide:ai,useClass:ki}])],decls:60,vars:60,consts:[[1,"row","g-3","mb-5"],[1,"col-md-6","col-lg-3"],[1,"form-label"],[3,"valueChange","typeaheadService","value"],[3,"valueChange","typeaheadService","value","additionalHttpParams"],[3,"valueChange","value"],[3,"valuesChange","options","values"],[1,"row","g-3","align-items-end"],[1,"col-sm-12","col-md"],[1,"col-auto"],["type","button",1,"btn","btn-primary",3,"click"]],template:function(i,n){i&1&&(l(0,"div",0)(1,"div",1)(2,"label",2),p(3),d(4,"translate"),c(),l(5,"bkd-typeahead",3),K("valueChange",function(a){return Q(n.filter.student,a)||(n.filter.student=a),a}),c()(),l(6,"div",1)(7,"label",2),p(8),d(9,"translate"),c(),l(10,"bkd-typeahead",3),K("valueChange",function(a){return Q(n.filter.educationalEvent,a)||(n.filter.educationalEvent=a),a}),c()(),l(11,"div",1)(12,"label",2),p(13),d(14,"translate"),c(),l(15,"bkd-typeahead",4),K("valueChange",function(a){return Q(n.filter.studyClass,a)||(n.filter.studyClass=a),a}),c()(),l(16,"div",1)(17,"label",2),p(18),d(19,"translate"),c(),l(20,"bkd-typeahead",3),K("valueChange",function(a){return Q(n.filter.teacher,a)||(n.filter.teacher=a),a}),c()(),l(21,"div",1)(22,"label",2),p(23),d(24,"translate"),c(),l(25,"bkd-date-select",5),K("valueChange",function(a){return Q(n.filter.dateFrom,a)||(n.filter.dateFrom=a),a}),c()(),l(26,"div",1)(27,"label",2),p(28),d(29,"translate"),c(),l(30,"bkd-date-select",5),K("valueChange",function(a){return Q(n.filter.dateTo,a)||(n.filter.dateTo=a),a}),c()(),l(31,"div",1)(32,"label",2),p(33),d(34,"translate"),c(),l(35,"bkd-multiselect",6),d(36,"async"),K("valuesChange",function(a){return Q(n.filter.weekdays,a)||(n.filter.weekdays=a),a}),c()()(),l(37,"div",7)(38,"div",8)(39,"label",2),p(40),d(41,"translate"),c(),l(42,"bkd-multiselect",6),d(43,"async"),K("valuesChange",function(a){return Q(n.filter.confirmationStates,a)||(n.filter.confirmationStates=a),a}),c()(),l(44,"div",8)(45,"label",2),p(46),d(47,"translate"),c(),l(48,"bkd-multiselect",6),d(49,"async"),K("valuesChange",function(a){return Q(n.filter.presenceTypes,a)||(n.filter.presenceTypes=a),a}),c()(),l(50,"div",8)(51,"label",2),p(52),d(53,"translate"),c(),l(54,"bkd-multiselect",6),d(55,"async"),K("valuesChange",function(a){return Q(n.filter.incidentTypes,a)||(n.filter.incidentTypes=a),a}),c()(),l(56,"div",9)(57,"button",10),x("click",function(){return n.show()}),p(58),d(59,"translate"),c()()()),i&2&&(o(3),I(u(4,30,"edit-absences.header.student")),o(2),_("typeaheadService",n.studentsService),z("value",n.filter.student),o(3),I(u(9,32,"edit-absences.header.module-instance")),o(2),_("typeaheadService",n.educationalEventsService),z("value",n.filter.educationalEvent),o(3),I(u(14,34,"edit-absences.header.study-class")),o(2),_("typeaheadService",n.studyClassService),z("value",n.filter.studyClass),_("additionalHttpParams",n.classesHttpFilter),o(3),I(u(19,36,"edit-absences.header.teacher")),o(2),_("typeaheadService",n.teacherResourcesService),z("value",n.filter.teacher),o(3),I(u(24,38,"edit-absences.header.date-from")),o(2),z("value",n.filter.dateFrom),o(3),I(u(29,40,"edit-absences.header.date-to")),o(2),z("value",n.filter.dateTo),o(3),I(u(34,42,"edit-absences.header.weekdays")),o(2),_("options",u(36,44,n.weekdaysGrouped$)),z("values",n.filter.weekdays),o(5),I(u(41,46,"edit-absences.header.confirmation-state")),o(2),_("options",u(43,48,n.absenceConfirmationStatesGrouped$)),z("values",n.filter.confirmationStates),o(4),I(u(47,50,"edit-absences.header.presence-type")),o(2),_("options",u(49,52,n.presenceTypesGrouped$)),z("values",n.filter.presenceTypes),o(4),I(u(53,54,"edit-absences.header.incident")),o(2),_("options",u(55,56,n.incidentTypesGrouped$)),z("values",n.filter.incidentTypes),o(4),C(" ",u(59,58,"edit-absences.header.show")," "))},dependencies:[Li,Vi,Xi,ve,me],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;padding:0 1rem 1rem 0;border-bottom:1px solid #dee2e6}"],changeDetection:0})}}return t})();function nn(t){return t?mi(t):null}var $s=(t,s)=>s.id,js=()=>[],rn=t=>({count:t}),an=t=>({returnparams:t}),Hs=t=>["student",t,"absences"];function Ws(t,s){t&1&&L(0,"bkd-spinner")}function Gs(t,s){if(t&1&&(l(0,"div",5)(1,"div",9),p(2),d(3,"async"),d(4,"translate"),d(5,"translate"),c(),l(6,"a",10),d(7,"async"),l(8,"i",11),p(9,"edit"),c()()()),t&2){let e=h(4),i=Y(0);o(2),Ce(" ",ne(4,7,"edit-absences.list.total",X(15,rn,u(3,5,e.state.total$)||0)),", ",ne(5,10,"edit-absences.list.selected",X(17,rn,i.length))," "),o(4),G("disabled",i.length===0),_("queryParams",X(19,an,u(7,13,e.state.queryParamsString$)))}}function qs(t,s){if(t&1){let e=P();l(0,"tr")(1,"td",14),x("click",function(n){v(e);let r=U(3),a=h(5);return E(a.onCheckboxCellClick(n,r))}),l(2,"input",12,0),d(4,"async"),x("change",function(){let n=v(e).$implicit,r=h(5);return E(r.selectionService.toggle(n.lessonPresence))}),c()(),l(5,"td",13),d(6,"translate"),l(7,"span",15)(8,"i",11),p(9),c()()(),l(10,"td"),d(11,"translate"),l(12,"a",16),d(13,"async"),p(14),c(),L(15,"br"),p(16),c(),l(17,"td"),d(18,"translate"),p(19),d(20,"date"),c(),l(21,"td"),d(22,"translate"),p(23),d(24,"date"),d(25,"date"),c(),l(26,"td"),d(27,"translate"),p(28),c(),l(29,"td",17),d(30,"translate"),p(31),c(),l(32,"td"),d(33,"translate"),p(34),c()()}if(t&2){let e=s.$implicit,i=h(5);o(2),_("checked",u(4,21,i.selectionService.isSelected$(e.lessonPresence))),o(3),J("data-label",u(6,23,"edit-absences.list.header.presence")),o(2),_("className",e.presenceCategory),o(2),I(e.presenceCategoryIcon),o(),J("data-label",u(11,25,"edit-absences.list.header.mobil-student-module-instance-study-class")),o(2),_("routerLink",X(48,Hs,e.lessonPresence.StudentRef.Id))("queryParams",X(50,an,u(13,27,i.profileReturnParams$))),o(2),C(" ",e.lessonPresence.StudentFullName," "),o(2),Ce(" ",e.lessonPresence.EventDesignation,", ",e.lessonPresence.StudyClassNumber," "),o(),J("data-label",u(18,29,"edit-absences.list.header.date")),o(2),C(" ",ne(20,31,e.lessonPresence.LessonDateTimeFrom,"mediumDate")," "),o(2),J("data-label",u(22,34,"edit-absences.list.header.time")),o(2),Ce(" ",ne(24,36,e.lessonPresence.LessonDateTimeFrom,"shortTime"),"\u2013",ne(25,39,e.lessonPresence.LessonDateTimeTo,"shortTime")," "),o(3),J("data-label",u(27,42,"edit-absences.list.header.confirmation-state")),o(2),C(" ",e.confirmationState==null?null:e.confirmationState.Value," "),o(),J("data-label",u(30,44,"edit-absences.list.header.mobil-presence-type-incident")),o(2),C(" ",e.presenceType==null?null:e.presenceType.Designation," "),o(),J("data-label",u(33,46,"edit-absences.list.header.teacher")),o(2),C(" ",e.lessonPresence.TeacherInformation," ")}}function Us(t,s){if(t&1){let e=P();l(0,"table",6)(1,"thead")(2,"tr")(3,"th")(4,"input",12),x("change",function(n){v(e);let r=h(4);return E(r.toggleAll(n.currentTarget==null?null:n.currentTarget.checked))}),c()(),l(5,"th",13),p(6),d(7,"translate"),c(),l(8,"th"),p(9),d(10,"translate"),L(11,"br"),p(12),d(13,"translate"),d(14,"translate"),c(),l(15,"th"),p(16),d(17,"translate"),c(),l(18,"th"),p(19),d(20,"translate"),c(),l(21,"th"),p(22),d(23,"translate"),c(),l(24,"th"),p(25),d(26,"translate"),d(27,"translate"),c(),l(28,"th"),p(29),d(30,"translate"),c()()(),l(31,"tbody"),V(32,qs,35,52,"tr",null,$s),c()()}if(t&2){h(4);let e=Y(0),i=Y(2);o(4),_("checked",e.length===i.length),o(2),C(" ",u(7,11,"edit-absences.list.header.presence")," "),o(3),C(" ",u(10,13,"edit-absences.list.header.student")," "),o(3),Ce(" ",u(13,15,"edit-absences.list.header.module-instance"),", ",u(14,17,"edit-absences.list.header.study-class")," "),o(4),C(" ",u(17,19,"edit-absences.list.header.date")," "),o(3),I(u(20,21,"edit-absences.list.header.time")),o(3),C(" ",u(23,23,"edit-absences.list.header.confirmation-state")," "),o(3),Ce(" ",u(26,25,"edit-absences.list.header.presence-type")," / ",u(27,27,"edit-absences.list.header.incident")," "),o(4),I(u(30,29,"edit-absences.list.header.teacher")),o(3),M(i)}}function zs(t,s){t&1&&L(0,"bkd-spinner",7)}function Qs(t,s){if(t&1){let e=P();l(0,"button",18),x("click",function(){v(e);let n=h(4);return E(n.state.nextPage())}),p(1),d(2,"translate"),c()}t&2&&(o(),C(" ",u(2,1,"global.pagination.load-more")," "))}function Ks(t,s){if(t&1){let e=P();l(0,"div",4),x("scrolled",function(){v(e);let n=h(3);return E(n.onScroll())}),b(1,Gs,10,21,"div",5)(2,Us,34,31,"table",6)(3,zs,1,0,"bkd-spinner",7)(4,Qs,3,3,"button",8),c()}if(t&2){h(3);let e=Y(2),i=Y(4),n=Y(6);o(),y(e&&e.length>0?1:-1),o(),y(e&&e.length>0?2:-1),o(),y(n?3:-1),o(),y(i&&!n?4:-1)}}function Ys(t,s){t&1&&(l(0,"p",2),p(1),d(2,"translate"),c()),t&2&&(o(),I(u(2,1,"edit-absences.no-entries")))}function Zs(t,s){if(t&1&&b(0,Ks,5,4,"div",3)(1,Ys,3,3,"p",2),t&2){h(2);let e=Y(2),i=Y(6);y(e&&e.length>0||i?0:1)}}function Js(t,s){if(t&1&&(b(0,Ws,1,0,"bkd-spinner"),d(1,"async"),b(2,Zs,2,1)),t&2){let e=h();y(u(1,1,e.state.loading$)?0:2)}}function Xs(t,s){t&1&&(l(0,"p",2),p(1),d(2,"translate"),c()),t&2&&(o(),I(u(2,1,"edit-absences.no-filter")))}var on=(()=>{class t{constructor(e,i,n,r){this.state=e,this.selectionService=i,this.scrollPosition=n,this.route=r,this.filterFromParams$=this.route.queryParams.pipe(T(er)),this.profileReturnParams$=this.state.queryParamsString$,this.destroy$=new re}ngOnInit(){this.filterFromParams$.pipe(ie(1)).subscribe(e=>this.state.setFilter(e)),this.state.validFilter$.pipe(N(this.destroy$)).subscribe(()=>this.selectionService.clear()),this.selectionService.selection$.pipe(N(this.destroy$)).subscribe(e=>this.state.selected=e),this.route.queryParams.pipe(ie(1),T(({reload:e})=>e),Oe(pi)).subscribe(()=>this.state.resetEntries())}ngAfterViewInit(){this.scrollPosition.restore()}ngOnDestroy(){this.destroy$.next()}toggleAll(e){this.state.entries$.pipe(ie(1)).subscribe(i=>this.selectionService.clear(e?i:null))}onCheckboxCellClick(e,i){e.target!==i&&i.click()}onScroll(){this.state.nextPage()}static{this.\u0275fac=function(i){return new(i||t)(f(te),f(Ge),f(Oi),f(Ne))}}static{this.\u0275cmp=H({type:t,selectors:[["bkd-edit-absences-list"]],features:[pe([Ge])],decls:16,vars:22,consts:[["checkbox",""],[3,"filterChange","filter"],[1,"mt-3"],["infiniteScroll","",1,"py-3"],["infiniteScroll","",1,"py-3",3,"scrolled"],[1,"d-flex","align-items-center","justify-content-between"],[1,"table","table-striped"],[1,"inline"],["type","button",1,"btn","btn-outline-secondary","btn-sm","d-block","mx-auto"],[1,"total"],["routerLink","/edit-absences/edit",1,"edit","btn","btn-primary","btn-icon","mt-1","mb-2",3,"queryParams"],[1,"material-icons"],["type","checkbox",3,"change","checked"],[1,"presence-category"],[1,"edit-absences-checkbox",3,"click"],[3,"className"],[1,"student",3,"routerLink","queryParams"],[1,"designation-incident"],["type","button",1,"btn","btn-outline-secondary","btn-sm","d-block","mx-auto",3,"click"]],template:function(i,n){if(i&1){let r=P();oe(0),d(1,"async"),oe(2),d(3,"async"),oe(4),d(5,"async"),oe(6),d(7,"async"),l(8,"h1"),p(9),d(10,"translate"),c(),l(11,"bkd-edit-absences-header",1),d(12,"async"),x("filterChange",function(m){return v(r),E(n.state.setFilter(m))}),c(),b(13,Js,3,3),d(14,"async"),b(15,Xs,3,3,"p",2)}if(i&2){let r;le((r=u(1,3,n.selectionService.selection$))!==null&&r!==void 0?r:Dt(21,js)),o(2),le(u(3,6,n.state.presenceControlEntries$)),o(2),le(u(5,9,n.state.hasMore$)),o(2),le(u(7,12,n.state.loadingPage$)),o(3),I(u(10,15,"edit-absences.title")),o(2),_("filter",u(12,17,n.filterFromParams$)),o(2),y(u(14,19,n.state.isFilterValid$)?13:15)}},dependencies:[sn,Ni,Wt,Ei,ve,Rt,me],styles:[".presence-category[_ngcontent-%COMP%]{text-align:center}.presence-category[_ngcontent-%COMP%] .absent[_ngcontent-%COMP%]{color:#ea161f}.presence-category[_ngcontent-%COMP%] .present[_ngcontent-%COMP%]{color:#3d8608}.presence-category[_ngcontent-%COMP%] .unapproved[_ngcontent-%COMP%]{color:#ffa814}.designation-incident[_ngcontent-%COMP%]{max-width:50ch}@media screen and (max-width: 820px){.edit-absences-checkbox[_ngcontent-%COMP%]{text-align:left}.presence-category[_ngcontent-%COMP%]{text-align:right}.designation-incident[_ngcontent-%COMP%]{max-width:initial}}"],changeDetection:0})}}return t})();function er(t){return{student:t.student?Number(t.student):null,educationalEvent:t.educationalEvent?Number(t.educationalEvent):null,studyClass:t.studyClass?Number(t.studyClass):null,teacher:t.teacher??null,dateFrom:t.dateFrom?nt(t.dateFrom):null,dateTo:t.dateTo?nt(t.dateTo):null,weekdays:t.weekdays?t.weekdays.split(","):null,presenceTypes:t.presenceTypes?t.presenceTypes.split(",").map(Number):null,confirmationStates:t.confirmationStates?t.confirmationStates.split(",").map(Number):null,incidentTypes:t.incidentTypes?t.incidentTypes.split(",").map(Number):null}}var ln=(()=>{class t{constructor(e){this.state=e}static{this.\u0275fac=function(i){return new(i||t)(f(te))}}static{this.\u0275cmp=H({type:t,selectors:[["bkd-edit-absences"]],features:[pe([te,{provide:hi,useExisting:te},gi])],decls:1,vars:0,template:function(i,n){i&1&&L(0,"router-outlet")},dependencies:[jt],styles:["[_nghost-%COMP%]{display:block}"],changeDetection:0})}}return t})();var lo=[{path:"",component:ln,children:[{path:"",component:on,data:{restoreScrollPositionFrom:["/edit-absences/edit","/edit-absences/student/:id/addresses","/edit-absences/student/:id/absences","/edit-absences/student/:id/grades"]}},{path:"edit",component:Hi},xi]}];export{lo as EDIT_ABSENCES_ROUTES}; diff --git a/public/apps/webapp-schulverwaltung/chunk-BIDSHCYH.js b/public/apps/webapp-schulverwaltung/chunk-BIDSHCYH.js deleted file mode 100644 index 16b19089..00000000 --- a/public/apps/webapp-schulverwaltung/chunk-BIDSHCYH.js +++ /dev/null @@ -1 +0,0 @@ -import{b as _,c as O,d as M,e as Y,f as I,h as Yr,i as Ir,j as Er,k as Hr,l as hr,m as qr,n as Lr,o as yr,p as vr}from"./chunk-SRCW6BUG.js";import{f as Mr,g as _r,h as Or,i as d,j as w}from"./chunk-GOGVGWFJ.js";import{i as Nr}from"./chunk-W4U7QKJF.js";import{X as Tr,ia as kr}from"./chunk-2W7IS4PN.js";function Qr(){return Object.assign({},O())}function Rr(o,r){let t=w(o,r?.in).getDay();return t===0?7:t}function Fr(o,r){let t=Vr(r)?new r(0):d(r,0);return t.setFullYear(o.getFullYear(),o.getMonth(),o.getDate()),t.setHours(o.getHours(),o.getMinutes(),o.getSeconds(),o.getMilliseconds()),t}function Vr(o){return typeof o=="function"&&o.prototype?.constructor===o}var Zr=10,E=class{subPriority=0;validate(r,t){return!0}},H=class extends E{constructor(r,t,e,s,i){super(),this.value=r,this.validateValue=t,this.setValue=e,this.priority=s,i&&(this.subPriority=i)}validate(r,t){return this.validateValue(r,this.value,t)}set(r,t,e){return this.setValue(r,t,this.value,e)}},q=class extends E{priority=Zr;subPriority=-1;constructor(r,t){super(),this.context=r||(e=>d(t,e))}set(r,t){return t.timestampIsSet?r:d(r,Fr(r,this.context))}};var n=class{run(r,t,e,s){let i=this.parse(r,t,e,s);return i?{setter:new H(i.value,this.validate,this.set,this.priority,this.subPriority),rest:i.rest}:null}validate(r,t,e){return!0}};var L=class extends n{priority=140;parse(r,t,e){switch(t){case"G":case"GG":case"GGG":return e.era(r,{width:"abbreviated"})||e.era(r,{width:"narrow"});case"GGGGG":return e.era(r,{width:"narrow"});case"GGGG":default:return e.era(r,{width:"wide"})||e.era(r,{width:"abbreviated"})||e.era(r,{width:"narrow"})}}set(r,t,e){return t.era=e,r.setFullYear(e,0,1),r.setHours(0,0,0,0),r}incompatibleTokens=["R","u","t","T"]};var c={month:/^(1[0-2]|0?\d)/,date:/^(3[0-1]|[0-2]?\d)/,dayOfYear:/^(36[0-6]|3[0-5]\d|[0-2]?\d?\d)/,week:/^(5[0-3]|[0-4]?\d)/,hour23h:/^(2[0-3]|[0-1]?\d)/,hour24h:/^(2[0-4]|[0-1]?\d)/,hour11h:/^(1[0-1]|0?\d)/,hour12h:/^(1[0-2]|0?\d)/,minute:/^[0-5]?\d/,second:/^[0-5]?\d/,singleDigit:/^\d/,twoDigits:/^\d{1,2}/,threeDigits:/^\d{1,3}/,fourDigits:/^\d{1,4}/,anyDigitsSigned:/^-?\d+/,singleDigitSigned:/^-?\d/,twoDigitsSigned:/^-?\d{1,2}/,threeDigitsSigned:/^-?\d{1,3}/,fourDigitsSigned:/^-?\d{1,4}/},x={basicOptionalMinutes:/^([+-])(\d{2})(\d{2})?|Z/,basic:/^([+-])(\d{2})(\d{2})|Z/,basicOptionalSeconds:/^([+-])(\d{2})(\d{2})((\d{2}))?|Z/,extended:/^([+-])(\d{2}):(\d{2})|Z/,extendedOptionalSeconds:/^([+-])(\d{2}):(\d{2})(:(\d{2}))?|Z/};function p(o,r){return o&&{value:r(o.value),rest:o.rest}}function u(o,r){let t=r.match(o);return t?{value:parseInt(t[0],10),rest:r.slice(t[0].length)}:null}function h(o,r){let t=r.match(o);if(!t)return null;if(t[0]==="Z")return{value:0,rest:r.slice(1)};let e=t[1]==="+"?1:-1,s=t[2]?parseInt(t[2],10):0,i=t[3]?parseInt(t[3],10):0,l=t[5]?parseInt(t[5],10):0;return{value:e*(s*_r+i*Mr+l*Or),rest:r.slice(t[0].length)}}function v(o){return u(c.anyDigitsSigned,o)}function a(o,r){switch(o){case 1:return u(c.singleDigit,r);case 2:return u(c.twoDigits,r);case 3:return u(c.threeDigits,r);case 4:return u(c.fourDigits,r);default:return u(new RegExp("^\\d{1,"+o+"}"),r)}}function P(o,r){switch(o){case 1:return u(c.singleDigitSigned,r);case 2:return u(c.twoDigitsSigned,r);case 3:return u(c.threeDigitsSigned,r);case 4:return u(c.fourDigitsSigned,r);default:return u(new RegExp("^-?\\d{1,"+o+"}"),r)}}function T(o){switch(o){case"morning":return 4;case"evening":return 17;case"pm":case"noon":case"afternoon":return 12;case"am":case"midnight":case"night":default:return 0}}function Q(o,r){let t=r>0,e=t?r:1-r,s;if(e<=50)s=o||100;else{let i=e+50,l=Math.trunc(i/100)*100,y=o>=i%100;s=o+l-(y?100:0)}return t?s:1-s}function R(o){return o%400===0||o%4===0&&o%100!==0}var F=class extends n{priority=130;incompatibleTokens=["Y","R","u","w","I","i","e","c","t","T"];parse(r,t,e){let s=i=>({year:i,isTwoDigitYear:t==="yy"});switch(t){case"y":return p(a(4,r),s);case"yo":return p(e.ordinalNumber(r,{unit:"year"}),s);default:return p(a(t.length,r),s)}}validate(r,t){return t.isTwoDigitYear||t.year>0}set(r,t,e){let s=r.getFullYear();if(e.isTwoDigitYear){let l=Q(e.year,s);return r.setFullYear(l,0,1),r.setHours(0,0,0,0),r}let i=!("era"in t)||t.era===1?e.year:1-e.year;return r.setFullYear(i,0,1),r.setHours(0,0,0,0),r}};var W=class extends n{priority=130;parse(r,t,e){let s=i=>({year:i,isTwoDigitYear:t==="YY"});switch(t){case"Y":return p(a(4,r),s);case"Yo":return p(e.ordinalNumber(r,{unit:"year"}),s);default:return p(a(t.length,r),s)}}validate(r,t){return t.isTwoDigitYear||t.year>0}set(r,t,e,s){let i=Er(r,s);if(e.isTwoDigitYear){let y=Q(e.year,i);return r.setFullYear(y,0,s.firstWeekContainsDate),r.setHours(0,0,0,0),M(r,s)}let l=!("era"in t)||t.era===1?e.year:1-e.year;return r.setFullYear(l,0,s.firstWeekContainsDate),r.setHours(0,0,0,0),M(r,s)}incompatibleTokens=["y","R","u","Q","q","M","L","I","d","D","i","t","T"]};var C=class extends n{priority=130;parse(r,t){return t==="R"?P(4,r):P(t.length,r)}set(r,t,e){let s=d(r,0);return s.setFullYear(e,0,4),s.setHours(0,0,0,0),Y(s)}incompatibleTokens=["G","y","Y","u","Q","q","M","L","w","d","D","e","c","t","T"]};var B=class extends n{priority=130;parse(r,t){return t==="u"?P(4,r):P(t.length,r)}set(r,t,e){return r.setFullYear(e,0,1),r.setHours(0,0,0,0),r}incompatibleTokens=["G","y","Y","R","w","I","i","e","c","t","T"]};var G=class extends n{priority=120;parse(r,t,e){switch(t){case"Q":case"QQ":return a(t.length,r);case"Qo":return e.ordinalNumber(r,{unit:"quarter"});case"QQQ":return e.quarter(r,{width:"abbreviated",context:"formatting"})||e.quarter(r,{width:"narrow",context:"formatting"});case"QQQQQ":return e.quarter(r,{width:"narrow",context:"formatting"});case"QQQQ":default:return e.quarter(r,{width:"wide",context:"formatting"})||e.quarter(r,{width:"abbreviated",context:"formatting"})||e.quarter(r,{width:"narrow",context:"formatting"})}}validate(r,t){return t>=1&&t<=4}set(r,t,e){return r.setMonth((e-1)*3,1),r.setHours(0,0,0,0),r}incompatibleTokens=["Y","R","q","M","L","w","I","d","D","i","e","c","t","T"]};var X=class extends n{priority=120;parse(r,t,e){switch(t){case"q":case"qq":return a(t.length,r);case"qo":return e.ordinalNumber(r,{unit:"quarter"});case"qqq":return e.quarter(r,{width:"abbreviated",context:"standalone"})||e.quarter(r,{width:"narrow",context:"standalone"});case"qqqqq":return e.quarter(r,{width:"narrow",context:"standalone"});case"qqqq":default:return e.quarter(r,{width:"wide",context:"standalone"})||e.quarter(r,{width:"abbreviated",context:"standalone"})||e.quarter(r,{width:"narrow",context:"standalone"})}}validate(r,t){return t>=1&&t<=4}set(r,t,e){return r.setMonth((e-1)*3,1),r.setHours(0,0,0,0),r}incompatibleTokens=["Y","R","Q","M","L","w","I","d","D","i","e","c","t","T"]};var z=class extends n{incompatibleTokens=["Y","R","q","Q","L","w","I","D","i","e","c","t","T"];priority=110;parse(r,t,e){let s=i=>i-1;switch(t){case"M":return p(u(c.month,r),s);case"MM":return p(a(2,r),s);case"Mo":return p(e.ordinalNumber(r,{unit:"month"}),s);case"MMM":return e.month(r,{width:"abbreviated",context:"formatting"})||e.month(r,{width:"narrow",context:"formatting"});case"MMMMM":return e.month(r,{width:"narrow",context:"formatting"});case"MMMM":default:return e.month(r,{width:"wide",context:"formatting"})||e.month(r,{width:"abbreviated",context:"formatting"})||e.month(r,{width:"narrow",context:"formatting"})}}validate(r,t){return t>=0&&t<=11}set(r,t,e){return r.setMonth(e,1),r.setHours(0,0,0,0),r}};var A=class extends n{priority=110;parse(r,t,e){let s=i=>i-1;switch(t){case"L":return p(u(c.month,r),s);case"LL":return p(a(2,r),s);case"Lo":return p(e.ordinalNumber(r,{unit:"month"}),s);case"LLL":return e.month(r,{width:"abbreviated",context:"standalone"})||e.month(r,{width:"narrow",context:"standalone"});case"LLLLL":return e.month(r,{width:"narrow",context:"standalone"});case"LLLL":default:return e.month(r,{width:"wide",context:"standalone"})||e.month(r,{width:"abbreviated",context:"standalone"})||e.month(r,{width:"narrow",context:"standalone"})}}validate(r,t){return t>=0&&t<=11}set(r,t,e){return r.setMonth(e,1),r.setHours(0,0,0,0),r}incompatibleTokens=["Y","R","q","Q","M","w","I","D","i","e","c","t","T"]};function Wr(o,r,t){let e=w(o,t?.in),s=Hr(e,t)-r;return e.setDate(e.getDate()-s*7),w(e,t?.in)}var V=class extends n{priority=100;parse(r,t,e){switch(t){case"w":return u(c.week,r);case"wo":return e.ordinalNumber(r,{unit:"week"});default:return a(t.length,r)}}validate(r,t){return t>=1&&t<=53}set(r,t,e,s){return M(Wr(r,e,s),s)}incompatibleTokens=["y","R","u","q","Q","M","L","I","d","D","i","t","T"]};function Cr(o,r,t){let e=w(o,t?.in),s=Ir(e,t)-r;return e.setDate(e.getDate()-s*7),e}var Z=class extends n{priority=100;parse(r,t,e){switch(t){case"I":return u(c.week,r);case"Io":return e.ordinalNumber(r,{unit:"week"});default:return a(t.length,r)}}validate(r,t){return t>=1&&t<=53}set(r,t,e){return Y(Cr(r,e))}incompatibleTokens=["y","Y","u","q","Q","M","L","w","d","D","e","c","t","T"]};var Kr=[31,28,31,30,31,30,31,31,30,31,30,31],$r=[31,29,31,30,31,30,31,31,30,31,30,31],K=class extends n{priority=90;subPriority=1;parse(r,t,e){switch(t){case"d":return u(c.date,r);case"do":return e.ordinalNumber(r,{unit:"date"});default:return a(t.length,r)}}validate(r,t){let e=r.getFullYear(),s=R(e),i=r.getMonth();return s?t>=1&&t<=$r[i]:t>=1&&t<=Kr[i]}set(r,t,e){return r.setDate(e),r.setHours(0,0,0,0),r}incompatibleTokens=["Y","R","q","Q","w","I","D","i","e","c","t","T"]};var $=class extends n{priority=90;subpriority=1;parse(r,t,e){switch(t){case"D":case"DD":return u(c.dayOfYear,r);case"Do":return e.ordinalNumber(r,{unit:"date"});default:return a(t.length,r)}}validate(r,t){let e=r.getFullYear();return R(e)?t>=1&&t<=366:t>=1&&t<=365}set(r,t,e){return r.setMonth(0,e),r.setHours(0,0,0,0),r}incompatibleTokens=["Y","R","q","Q","M","L","w","I","d","E","i","e","c","t","T"]};function k(o,r,t){let e=O(),s=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??e.weekStartsOn??e.locale?.options?.weekStartsOn??0,i=w(o,t?.in),l=i.getDay(),dr=(r%7+7)%7,D=7-s,N=r<0||r>6?r-(l+D)%7:(dr+D)%7-(l+D)%7;return _(i,N,t)}var j=class extends n{priority=90;parse(r,t,e){switch(t){case"E":case"EE":case"EEE":return e.day(r,{width:"abbreviated",context:"formatting"})||e.day(r,{width:"short",context:"formatting"})||e.day(r,{width:"narrow",context:"formatting"});case"EEEEE":return e.day(r,{width:"narrow",context:"formatting"});case"EEEEEE":return e.day(r,{width:"short",context:"formatting"})||e.day(r,{width:"narrow",context:"formatting"});case"EEEE":default:return e.day(r,{width:"wide",context:"formatting"})||e.day(r,{width:"abbreviated",context:"formatting"})||e.day(r,{width:"short",context:"formatting"})||e.day(r,{width:"narrow",context:"formatting"})}}validate(r,t){return t>=0&&t<=6}set(r,t,e,s){return r=k(r,e,s),r.setHours(0,0,0,0),r}incompatibleTokens=["D","i","e","c","t","T"]};var U=class extends n{priority=90;parse(r,t,e,s){let i=l=>{let y=Math.floor((l-1)/7)*7;return(l+s.weekStartsOn+6)%7+y};switch(t){case"e":case"ee":return p(a(t.length,r),i);case"eo":return p(e.ordinalNumber(r,{unit:"day"}),i);case"eee":return e.day(r,{width:"abbreviated",context:"formatting"})||e.day(r,{width:"short",context:"formatting"})||e.day(r,{width:"narrow",context:"formatting"});case"eeeee":return e.day(r,{width:"narrow",context:"formatting"});case"eeeeee":return e.day(r,{width:"short",context:"formatting"})||e.day(r,{width:"narrow",context:"formatting"});case"eeee":default:return e.day(r,{width:"wide",context:"formatting"})||e.day(r,{width:"abbreviated",context:"formatting"})||e.day(r,{width:"short",context:"formatting"})||e.day(r,{width:"narrow",context:"formatting"})}}validate(r,t){return t>=0&&t<=6}set(r,t,e,s){return r=k(r,e,s),r.setHours(0,0,0,0),r}incompatibleTokens=["y","R","u","q","Q","M","L","I","d","D","E","i","c","t","T"]};var J=class extends n{priority=90;parse(r,t,e,s){let i=l=>{let y=Math.floor((l-1)/7)*7;return(l+s.weekStartsOn+6)%7+y};switch(t){case"c":case"cc":return p(a(t.length,r),i);case"co":return p(e.ordinalNumber(r,{unit:"day"}),i);case"ccc":return e.day(r,{width:"abbreviated",context:"standalone"})||e.day(r,{width:"short",context:"standalone"})||e.day(r,{width:"narrow",context:"standalone"});case"ccccc":return e.day(r,{width:"narrow",context:"standalone"});case"cccccc":return e.day(r,{width:"short",context:"standalone"})||e.day(r,{width:"narrow",context:"standalone"});case"cccc":default:return e.day(r,{width:"wide",context:"standalone"})||e.day(r,{width:"abbreviated",context:"standalone"})||e.day(r,{width:"short",context:"standalone"})||e.day(r,{width:"narrow",context:"standalone"})}}validate(r,t){return t>=0&&t<=6}set(r,t,e,s){return r=k(r,e,s),r.setHours(0,0,0,0),r}incompatibleTokens=["y","R","u","q","Q","M","L","I","d","D","E","i","e","t","T"]};function Br(o,r,t){let e=w(o,t?.in),s=Rr(e,t),i=r-s;return _(e,i,t)}var S=class extends n{priority=90;parse(r,t,e){let s=i=>i===0?7:i;switch(t){case"i":case"ii":return a(t.length,r);case"io":return e.ordinalNumber(r,{unit:"day"});case"iii":return p(e.day(r,{width:"abbreviated",context:"formatting"})||e.day(r,{width:"short",context:"formatting"})||e.day(r,{width:"narrow",context:"formatting"}),s);case"iiiii":return p(e.day(r,{width:"narrow",context:"formatting"}),s);case"iiiiii":return p(e.day(r,{width:"short",context:"formatting"})||e.day(r,{width:"narrow",context:"formatting"}),s);case"iiii":default:return p(e.day(r,{width:"wide",context:"formatting"})||e.day(r,{width:"abbreviated",context:"formatting"})||e.day(r,{width:"short",context:"formatting"})||e.day(r,{width:"narrow",context:"formatting"}),s)}}validate(r,t){return t>=1&&t<=7}set(r,t,e){return r=Br(r,e),r.setHours(0,0,0,0),r}incompatibleTokens=["y","Y","u","q","Q","M","L","w","d","D","E","e","c","t","T"]};var rr=class extends n{priority=80;parse(r,t,e){switch(t){case"a":case"aa":case"aaa":return e.dayPeriod(r,{width:"abbreviated",context:"formatting"})||e.dayPeriod(r,{width:"narrow",context:"formatting"});case"aaaaa":return e.dayPeriod(r,{width:"narrow",context:"formatting"});case"aaaa":default:return e.dayPeriod(r,{width:"wide",context:"formatting"})||e.dayPeriod(r,{width:"abbreviated",context:"formatting"})||e.dayPeriod(r,{width:"narrow",context:"formatting"})}}set(r,t,e){return r.setHours(T(e),0,0,0),r}incompatibleTokens=["b","B","H","k","t","T"]};var er=class extends n{priority=80;parse(r,t,e){switch(t){case"b":case"bb":case"bbb":return e.dayPeriod(r,{width:"abbreviated",context:"formatting"})||e.dayPeriod(r,{width:"narrow",context:"formatting"});case"bbbbb":return e.dayPeriod(r,{width:"narrow",context:"formatting"});case"bbbb":default:return e.dayPeriod(r,{width:"wide",context:"formatting"})||e.dayPeriod(r,{width:"abbreviated",context:"formatting"})||e.dayPeriod(r,{width:"narrow",context:"formatting"})}}set(r,t,e){return r.setHours(T(e),0,0,0),r}incompatibleTokens=["a","B","H","k","t","T"]};var tr=class extends n{priority=80;parse(r,t,e){switch(t){case"B":case"BB":case"BBB":return e.dayPeriod(r,{width:"abbreviated",context:"formatting"})||e.dayPeriod(r,{width:"narrow",context:"formatting"});case"BBBBB":return e.dayPeriod(r,{width:"narrow",context:"formatting"});case"BBBB":default:return e.dayPeriod(r,{width:"wide",context:"formatting"})||e.dayPeriod(r,{width:"abbreviated",context:"formatting"})||e.dayPeriod(r,{width:"narrow",context:"formatting"})}}set(r,t,e){return r.setHours(T(e),0,0,0),r}incompatibleTokens=["a","b","t","T"]};var or=class extends n{priority=70;parse(r,t,e){switch(t){case"h":return u(c.hour12h,r);case"ho":return e.ordinalNumber(r,{unit:"hour"});default:return a(t.length,r)}}validate(r,t){return t>=1&&t<=12}set(r,t,e){let s=r.getHours()>=12;return s&&e<12?r.setHours(e+12,0,0,0):!s&&e===12?r.setHours(0,0,0,0):r.setHours(e,0,0,0),r}incompatibleTokens=["H","K","k","t","T"]};var sr=class extends n{priority=70;parse(r,t,e){switch(t){case"H":return u(c.hour23h,r);case"Ho":return e.ordinalNumber(r,{unit:"hour"});default:return a(t.length,r)}}validate(r,t){return t>=0&&t<=23}set(r,t,e){return r.setHours(e,0,0,0),r}incompatibleTokens=["a","b","h","K","k","t","T"]};var nr=class extends n{priority=70;parse(r,t,e){switch(t){case"K":return u(c.hour11h,r);case"Ko":return e.ordinalNumber(r,{unit:"hour"});default:return a(t.length,r)}}validate(r,t){return t>=0&&t<=11}set(r,t,e){return r.getHours()>=12&&e<12?r.setHours(e+12,0,0,0):r.setHours(e,0,0,0),r}incompatibleTokens=["h","H","k","t","T"]};var ir=class extends n{priority=70;parse(r,t,e){switch(t){case"k":return u(c.hour24h,r);case"ko":return e.ordinalNumber(r,{unit:"hour"});default:return a(t.length,r)}}validate(r,t){return t>=1&&t<=24}set(r,t,e){let s=e<=24?e%24:e;return r.setHours(s,0,0,0),r}incompatibleTokens=["a","b","h","H","K","t","T"]};var ar=class extends n{priority=60;parse(r,t,e){switch(t){case"m":return u(c.minute,r);case"mo":return e.ordinalNumber(r,{unit:"minute"});default:return a(t.length,r)}}validate(r,t){return t>=0&&t<=59}set(r,t,e){return r.setMinutes(e,0,0),r}incompatibleTokens=["t","T"]};var ur=class extends n{priority=50;parse(r,t,e){switch(t){case"s":return u(c.second,r);case"so":return e.ordinalNumber(r,{unit:"second"});default:return a(t.length,r)}}validate(r,t){return t>=0&&t<=59}set(r,t,e){return r.setSeconds(e,0),r}incompatibleTokens=["t","T"]};var cr=class extends n{priority=30;parse(r,t){let e=s=>Math.trunc(s*Math.pow(10,-t.length+3));return p(a(t.length,r),e)}set(r,t,e){return r.setMilliseconds(e),r}incompatibleTokens=["t","T"]};var mr=class extends n{priority=10;parse(r,t){switch(t){case"X":return h(x.basicOptionalMinutes,r);case"XX":return h(x.basic,r);case"XXXX":return h(x.basicOptionalSeconds,r);case"XXXXX":return h(x.extendedOptionalSeconds,r);case"XXX":default:return h(x.extended,r)}}set(r,t,e){return t.timestampIsSet?r:d(r,r.getTime()-I(r)-e)}incompatibleTokens=["t","T","x"]};var pr=class extends n{priority=10;parse(r,t){switch(t){case"x":return h(x.basicOptionalMinutes,r);case"xx":return h(x.basic,r);case"xxxx":return h(x.basicOptionalSeconds,r);case"xxxxx":return h(x.extendedOptionalSeconds,r);case"xxx":default:return h(x.extended,r)}}set(r,t,e){return t.timestampIsSet?r:d(r,r.getTime()-I(r)-e)}incompatibleTokens=["t","T","X"]};var fr=class extends n{priority=40;parse(r){return v(r)}set(r,t,e){return[d(r,e*1e3),{timestampIsSet:!0}]}incompatibleTokens="*"};var lr=class extends n{priority=20;parse(r){return v(r)}set(r,t,e){return[d(r,e),{timestampIsSet:!0}]}incompatibleTokens="*"};var Gr={G:new L,y:new F,Y:new W,R:new C,u:new B,Q:new G,q:new X,M:new z,L:new A,w:new V,I:new Z,d:new K,D:new $,E:new j,e:new U,c:new J,i:new S,a:new rr,b:new er,B:new tr,h:new or,H:new sr,K:new nr,k:new ir,m:new ar,s:new ur,S:new cr,X:new mr,x:new pr,t:new fr,T:new lr};var jr=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,Ur=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,Jr=/^'([^]*?)'?$/,Sr=/''/g,re=/\S/,ee=/[a-zA-Z]/;function Xr(o,r,t,e){let s=()=>d(e?.in||t,NaN),i=Qr(),l=e?.locale??i.locale??Yr,y=e?.firstWeekContainsDate??e?.locale?.options?.firstWeekContainsDate??i.firstWeekContainsDate??i.locale?.options?.firstWeekContainsDate??1,dr=e?.weekStartsOn??e?.locale?.options?.weekStartsOn??i.weekStartsOn??i.locale?.options?.weekStartsOn??0;if(!r)return o?s():w(t,e?.in);let D={firstWeekContainsDate:y,weekStartsOn:dr,locale:l},N=[new q(e?.in,t)],zr=r.match(Ur).map(m=>{let f=m[0];if(f in hr){let b=hr[f];return b(m,l.formatLong)}return m}).join("").match(jr),wr=[];for(let m of zr){!e?.useAdditionalWeekYearTokens&&Lr(m)&&yr(m,r,o),!e?.useAdditionalDayOfYearTokens&&qr(m)&&yr(m,r,o);let f=m[0],b=Gr[f];if(b){let{incompatibleTokens:Dr}=b;if(Array.isArray(Dr)){let gr=wr.find(Pr=>Dr.includes(Pr.token)||Pr.token===f);if(gr)throw new RangeError(`The format string mustn't contain \`${gr.fullToken}\` and \`${m}\` at the same time`)}else if(b.incompatibleTokens==="*"&&wr.length>0)throw new RangeError(`The format string mustn't contain \`${m}\` and any other token at the same time`);wr.push({token:f,fullToken:m});let xr=b.run(o,m,l.match,D);if(!xr)return s();N.push(xr.setter),o=xr.rest}else{if(f.match(ee))throw new RangeError("Format string contains an unescaped latin alphabet character `"+f+"`");if(m==="''"?m="'":f==="'"&&(m=te(m)),o.indexOf(m)===0)o=o.slice(m.length);else return s()}}if(o.length>0&&re.test(o))return s();let Ar=N.map(m=>m.priority).sort((m,f)=>f-m).filter((m,f,b)=>b.indexOf(m)===f).map(m=>N.filter(f=>f.priority===m).sort((f,b)=>b.subPriority-f.subPriority)).map(m=>m[0]),g=w(t,e?.in);if(isNaN(+g))return s();let br={};for(let m of Ar){if(!m.validate(g,D))return s();let f=m.set(g,br,D);Array.isArray(f)?(g=f[0],Object.assign(br,f[1])):g=f}return g}function te(o){return o.match(Jr)[1].replace(Sr,"'")}var Fs=(()=>{class o extends Nr{parse(t){let e=t?Xr(t,"dd.MM.yyyy",new Date):null;return e?{year:e.getFullYear(),month:e.getMonth(),day:e.getDay()}:null}format(t){return t?vr(new Date(t.year,t.month-1,t.day),"dd.MM.yyyy"):""}static{this.\u0275fac=(()=>{let t;return function(s){return(t||(t=kr(o)))(s||o)}})()}static{this.\u0275prov=Tr({token:o,factory:o.\u0275fac})}}return o})();export{Fs as a}; diff --git a/public/apps/webapp-schulverwaltung/chunk-ZCHQQKGF.js b/public/apps/webapp-schulverwaltung/chunk-C7RLEXTD.js similarity index 93% rename from public/apps/webapp-schulverwaltung/chunk-ZCHQQKGF.js rename to public/apps/webapp-schulverwaltung/chunk-C7RLEXTD.js index 11f0d9e9..e6178aae 100644 --- a/public/apps/webapp-schulverwaltung/chunk-ZCHQQKGF.js +++ b/public/apps/webapp-schulverwaltung/chunk-C7RLEXTD.js @@ -1 +1 @@ -import{q as l}from"./chunk-LASWC23V.js";import{a as y}from"./chunk-PSYDBHTH.js";import{Hc as n,Ic as i,Md as m,Nc as p,P as o,Vc as d,X as c,_ as s,cd as v,hc as f,lc as u,n as a}from"./chunk-2W7IS4PN.js";var E=p({Id:i,Designation:n,Leadership:d(n),StudentCount:i}),I=p({Id:i,EventType:n,EventTypeId:i});var M=(()=>{class e extends y{constructor(t,r){super(t,r,E,"Events")}getStudyCourseEvents(){let t=new f().set("filter.EventTypeId","=1");return this.getList({params:t})}getSubscriptionDetailsDefinitions(t){return this.http.get(`${this.baseUrl}/${t}/SubscriptionDetails`).pipe(o(m(l)))}getEventTypeId(t){let r={fields:"Id,EventTypeId,EventType","filter.Id":`=${t}`};return this.http.get(`${this.baseUrl}/`,{params:r}).pipe(o(m(I)),a(b=>b[0]?.EventTypeId??null))}static{this.\u0275fac=function(r){return new(r||e)(s(u),s(v))}}static{this.\u0275prov=c({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})();export{M as a}; +import{q as l}from"./chunk-PXVJ3QLD.js";import{a as y}from"./chunk-PSYDBHTH.js";import{Hc as n,Ic as i,Md as m,Nc as p,P as o,Vc as d,X as c,_ as s,cd as v,hc as f,lc as u,n as a}from"./chunk-2W7IS4PN.js";var E=p({Id:i,Designation:n,Leadership:d(n),StudentCount:i}),I=p({Id:i,EventType:n,EventTypeId:i});var M=(()=>{class e extends y{constructor(t,r){super(t,r,E,"Events")}getStudyCourseEvents(){let t=new f().set("filter.EventTypeId","=1");return this.getList({params:t})}getSubscriptionDetailsDefinitions(t){return this.http.get(`${this.baseUrl}/${t}/SubscriptionDetails`).pipe(o(m(l)))}getEventTypeId(t){let r={fields:"Id,EventTypeId,EventType","filter.Id":`=${t}`};return this.http.get(`${this.baseUrl}/`,{params:r}).pipe(o(m(I)),a(b=>b[0]?.EventTypeId??null))}static{this.\u0275fac=function(r){return new(r||e)(s(u),s(v))}}static{this.\u0275prov=c({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})();export{M as a}; diff --git a/public/apps/webapp-schulverwaltung/chunk-CKFTESOV.js b/public/apps/webapp-schulverwaltung/chunk-CKFTESOV.js new file mode 100644 index 00000000..51821aff --- /dev/null +++ b/public/apps/webapp-schulverwaltung/chunk-CKFTESOV.js @@ -0,0 +1 @@ +import{a as it}from"./chunk-DTTSX64G.js";import{a as J}from"./chunk-Y4QYVF5K.js";import{B as st,C as rt,b as Qe,c as Ze,s as et,x as tt}from"./chunk-UYCIECIQ.js";import{a as ce,b as N,c as Je,d as ot}from"./chunk-G6EB45SC.js";import{e as pe,o as E}from"./chunk-WCDEMEW2.js";import{h as Ye}from"./chunk-XFA6UPZX.js";import{a as nt}from"./chunk-PSYDBHTH.js";import{w as _}from"./chunk-W4U7QKJF.js";import{a as Ke}from"./chunk-AVBHFGIF.js";import{$a as m,$c as je,Ab as w,Ad as Fe,Bb as H,Bd as He,Cb as K,Eb as $e,F as L,Fb as Ie,Ga as Ce,Hc as d,Ic as g,J as ge,Jb as a,Jc as Be,Kb as c,Lb as q,M as ie,Md as S,Na as j,Nc as v,Od as qe,P as l,Pd as We,Qa as C,R as M,Ra as Re,Rd as ze,Uc as I,Va as P,X as ve,Xa as re,Xc as u,Ya as G,Yc as W,Z as Se,Za as X,_ as O,_a as p,_c as k,a as V,ab as F,ad as ae,b as U,cc as _e,cd as z,ea as ne,eb as Te,f as ye,fa as se,fd as Pe,g as ee,gb as oe,gc as xe,hb as x,hc as $,hd as we,id as Ne,jd as Ve,l as te,lc as Ee,n as y,nd as Ue,o as D,pd as Me,rb as f,rd as Oe,s as be,sb as Le,sd as Ge,tb as b,wc as Ae,x as T,xa as o,ya as h,yc as De,zc as ke,zd as Xe}from"./chunk-2W7IS4PN.js";function de(i,r){return i.pipe(y(e=>e.find(t=>t.Key===r)||null))}function _t(i){return i.slice().sort((r,e)=>r.Value.localeCompare(e.Value))}var at=new Se("Confirm Absences Service");function ct(i,r,e){let[t,n]=Ye(e?.in,i,r);return+pe(t)==+pe(n)}var ht=(i,r)=>r.Id,yt=i=>({count:i}),bt=()=>["/edit-absences"];function gt(i,r){if(i&1&&(p(0,"div",4),f(1),a(2,"translate"),m()),i&2){let e=r.$implicit;o(),b(" ",q(2,1,"global.validation-errors."+e.error,e.params)," ")}}function vt(i,r){if(i&1&&(p(0,"div",21),f(1),a(2,"translate"),m()),i&2){let e=r.$implicit;o(),b(" ",q(2,1,"global.validation-errors."+e.error,e.params)," ")}}function St(i,r){if(i&1&&(G(0,vt,3,4,"div",21,re),a(2,"async")),i&2){let e=x(4);X(c(2,0,e.absenceTypeIdErrors$))}}function Ct(i,r){if(i&1&&(p(0,"div",16),F(1,"input",19),a(2,"async"),p(3,"label",20),f(4),m(),j(5,St,3,2),a(6,"async"),m()),i&2){let e,t,n=r.$implicit,s=r.$index,R=x(3);o(),Re("is-invalid",((e=(e=c(2,7,R.absenceTypeIdErrors$))==null?null:e.length)!==null&&e!==void 0?e:0)>0),C("id","absence-type-"+s)("value",n.Id),o(2),C("for","absence-type-"+s),o(),b(" ",n.Designation," "),o(),P(((t=(t=c(6,9,R.absenceTypes$))==null?null:t.length)!==null&&t!==void 0?t:0)-1===s?5:-1)}}function Rt(i,r){if(i&1&&(G(0,Ct,7,11,"div",16,ht),a(2,"async"),p(3,"div",17),f(4),a(5,"translate"),p(6,"a",18),f(7),a(8,"translate"),m()()),i&2){let e=x(2);X(c(2,3,e.absenceTypes$)),o(4),b(" ",c(5,5,"open-absences.edit.remark")," "),o(2),C("routerLink",$e(9,bt)),o(),b(" ",c(8,7,"edit-absences.title")," ")}}function Tt(i,r){i&1&&(p(0,"div",15)(1,"span",22),f(2,"Loading..."),m()())}function Lt(i,r){if(i&1){let e=Te();p(0,"form",3),oe("ngSubmit",function(){ne(e);let n=x();return se(n.onSubmit())}),G(1,gt,3,4,"div",4,re),a(3,"async"),p(4,"div",5)(5,"div",6),F(6,"input",7),p(7,"label",8),f(8),m(),j(9,Rt,9,10),m(),p(10,"div",9),F(11,"input",10),p(12,"label",11),f(13),m()()(),p(14,"div",12)(15,"button",13),a(16,"async"),oe("click",function(){ne(e);let n=x();return se(n.cancel())}),f(17),a(18,"translate"),m(),p(19,"button",14),a(20,"async"),f(21),a(22,"translate"),j(23,Tt,3,0,"div",15),a(24,"async"),m()()()}if(i&2){let e=x(),t=K(0),n=K(2),s=K(4);C("formGroup",t),o(),X(c(3,11,e.formErrors$)),o(5),C("value",s.Key),o(2),b(" ",s.Value," "),o(),P(t.get("absenceTypeId")?9:-1),o(2),C("value",n.Key),o(2),b(" ",n.Value," "),o(2),C("disabled",c(16,13,e.saving$)),o(2),b(" ",c(18,15,"open-absences.edit.cancel")," "),o(2),C("disabled",c(20,17,e.saving$)),o(2),b(" ",c(22,19,"open-absences.edit.save")," "),o(2),P(c(24,21,e.saving$)?23:-1)}}var Zt=(()=>{class i{constructor(e,t,n,s,R,B,A,dt,mt,lt,ft){this.fb=e,this.router=t,this.activatedRoute=n,this.toastService=s,this.translate=R,this.selectionService=B,this.dropDownItemsService=A,this.presenceTypesService=dt,this.updateService=mt,this.settings=lt,this.openAbsencesEditService=ft,this.formGroup$=this.selectionService.selectedWithoutPresenceType$.pipe(y(this.createFormGroup.bind(this)),ie(1)),this.saving$=new ee(!1),this.submitted$=new ee(!1),this.formErrors$=ce(this.formGroup$,this.submitted$),this.absenceTypeIdErrors$=ce(this.formGroup$,this.submitted$,"absenceTypeId"),this.confirmationStates$=this.dropDownItemsService.getAbsenceConfirmationStates().pipe(ie(1)),this.excusedState$=de(this.confirmationStates$,this.settings.excusedAbsenceStateId),this.unexcusedState$=de(this.confirmationStates$,this.settings.unexcusedAbsenceStateId),this.absenceTypes$=this.presenceTypesService.confirmationTypes$,this.destroy$=new ye}ngOnInit(){this.selectionService.selectedIds$.pipe(L(1)).subscribe(e=>{e.length===0&&this.navigateBack()}),Je(this.formGroup$,"confirmationValue").pipe(M(this.destroy$)).subscribe(e=>{typeof e=="number"&&this.updateAbsenceTypeIdDisabled(e)}),D([N(this.formGroup$,"confirmationValue").pipe(T(_)),N(this.formGroup$,"absenceTypeId").pipe(T(_)),this.saving$]).pipe(M(this.destroy$)).subscribe(([e,t,n])=>{n?(e.disable(),t.disable()):(e.enable(),this.updateAbsenceTypeIdDisabled(e.value))}),D([N(this.formGroup$,"confirmationValue").pipe(T(_)),this.excusedState$.pipe(L(1),T(_))]).pipe(M(this.destroy$)).subscribe(([e,t])=>e.setValue(t.Key))}ngOnDestroy(){this.destroy$.next()}onSubmit(){this.submitted$.next(!0),this.formGroup$.pipe(L(1)).subscribe(e=>{if(e.valid){let{confirmationValue:t,absenceTypeId:n}=e.value;this.save(t,n)}})}cancel(){this.navigateBack()}getSelectedCount(){return this.selectionService.selectedLessons$.pipe(y(e=>e.length))}createFormGroup(e){return e.length>0?this.fb.group({confirmationValue:[null],absenceTypeId:[null,we.required]}):this.fb.group({confirmationValue:[null]})}updateAbsenceTypeIdDisabled(e){D([N(this.formGroup$,"absenceTypeId").pipe(L(1),T(_)),this.excusedState$.pipe(L(1),T(_))]).subscribe(([t,n])=>{e===n.Key?t.enable():t.disable()})}save(e,t){this.saving$.next(!0),D([this.selectionService.selectedIds$.pipe(L(1)),this.unexcusedState$.pipe(L(1),T(_))]).pipe(l(([n,s])=>D(n.map(({lessonIds:R,personId:B,presenceTypeId:A})=>this.updateService.confirmLessonPresences(R,[B],this.getNewAbsenceTypeId(A,e,Number(s.Key),t),e)))),ge(()=>this.saving$.next(!1))).subscribe(this.onSaveSuccess.bind(this))}getNewAbsenceTypeId(e,t,n,s){if(!e)throw new Error("absence type id cannot be null");return t===n?this.settings.absencePresenceTypeId:e===this.settings.absencePresenceTypeId?s:e}onSaveSuccess(){this.openAbsencesEditService?.updateAfterConfirm&&this.openAbsencesEditService.updateAfterConfirm(),this.toastService.success(this.translate.instant("open-absences.edit.save-success")),this.navigateBack()}navigateBack(){this.router.navigate(this.openAbsencesEditService?.confirmBackLink||[".."],{relativeTo:this.activatedRoute,queryParams:this.openAbsencesEditService?.confirmBackLinkParams})}static{this.\u0275fac=function(t){return new(t||i)(h(Xe),h(De),h(Ae),h(Ke),h(qe),h(tt),h(it),h(st),h(rt),h(z),h(at,8))}}static{this.\u0275cmp=Ce({type:i,selectors:[["bkd-confirm-absences"]],decls:16,vars:21,consts:[[1,"bkd-container","bkd-container-limited"],[1,"mb-3","pb-3","border-bottom"],[3,"formGroup"],[3,"ngSubmit","formGroup"],[1,"alert","alert-danger"],[1,"form-group","pb-4"],[1,"form-check","mt-2","mb-3","pb-3","border-bottom"],["type","radio","id","excused","formControlName","confirmationValue",1,"form-check-input",3,"value"],["for","excused",1,"form-check-label"],[1,"form-check","mt-3","mb-3","pb-3","border-bottom"],["type","radio","id","unexcused","formControlName","confirmationValue",1,"form-check-input",3,"value"],["for","unexcused",1,"form-check-label"],[1,"d-flex","justify-content-end"],["type","button",1,"btn","btn-outline-secondary",3,"click","disabled"],["type","submit",1,"btn","btn-primary","ms-2",3,"disabled"],["role","status",1,"spinner-border","spinner-border-sm","align-middle"],[1,"form-check","my-3"],[1,"remark"],[3,"routerLink"],["type","radio","formControlName","absenceTypeId",1,"form-check-input",3,"id","value"],[1,"form-check-label",3,"for"],[1,"invalid-feedback"],[1,"visually-hidden"]],template:function(t,n){if(t&1&&(w(0),a(1,"async"),w(2),a(3,"async"),w(4),a(5,"async"),p(6,"div",0)(7,"h1"),f(8),a(9,"translate"),m(),p(10,"div",1),w(11),a(12,"async"),f(13),a(14,"translate"),m(),j(15,Lt,25,23,"form",2),m()),t&2){let s=H(c(1,3,n.formGroup$));o(2);let R=H(c(3,6,n.unexcusedState$));o(2);let B=H(c(5,9,n.excusedState$));o(4),Le(c(9,12,"open-absences.edit.title"));let A=c(12,14,n.getSelectedCount());o(5),b(" ",q(14,16,A===1?"open-absences.edit.lesson-selected":"open-absences.edit.lessons-selected",Ie(19,yt,A))," "),o(2),P(s&&R&&B?15:-1)}},dependencies:[Fe,Ue,Pe,Me,Ne,Ve,He,Oe,Ge,ke,_e,We],encapsulation:2,changeDetection:0})}}return i})();var pt=v({StudentRef:u,StudentFullName:d,TotalAbsences:g,TotalAbsencesUnconfirmed:g,TotalAbsencesValidExcuse:g,TotalAbsencesWithoutExcuse:g,TotalAbsencesUnchecked:g,TotalDispensations:g,TotalHalfDays:g,TotalIncidents:g});var me=v({Id:d,LessonRef:u,StudentRef:u,EventRef:u,TypeRef:W,RegistrationRef:W,StudyClassRef:W,ConfirmationStateId:I(g),EventDesignation:d,HasStudyCourseConfirmationCode:Be,LessonDateTimeFrom:k,LessonDateTimeTo:k,Comment:I(d),Date:I(je),Type:I(d),StudentFullName:d,StudyClassNumber:d,TeacherInformation:I(d)});var Y=v({LessonRef:u,EventRef:u,StudyClassNumber:d,StudentRef:u});var le=v({LessonRef:u,EventRef:u,EventDesignation:d,StudyClassNumber:d,TeacherInformation:I(d),LessonDateTimeFrom:k,LessonDateTimeTo:k});function fe(i){return r=>r.pipe(l(e=>{let t=Number(e.headers.get("X-Pagination-Offset")),n=Number(e.headers.get("X-Pagination-Total"));return S(i)(e.body).pipe(y(s=>({offset:t,total:n,entries:s})))}))}function Z(i,r,e=new $){return e.set("offset",String(i)).set("limit",String(r))}function ue(i=new xe){return i.set("X-Pagination-Total","on")}var Di=(()=>{class i extends nt{constructor(e,t,n){super(e,t,me,"LessonPresences"),this.storage=n,this.lessonPresenceRefCodec=v(ae(this.codec.props,["LessonRef","RegistrationRef","StudentRef","EventRef","StudyClassRef","TypeRef"])),this.lessonPresenceIdCodec=v(ae(this.codec.props,["Id"]))}getLessonsByDate(e){let t={fields:Object.keys(le.props).join(","),"filter.LessonDateTimeFrom":`=${E(e,"yyyy-MM-dd")}`,sort:"LessonDateTimeFrom"},n={"X-Role-Restriction":"LessonTeacherRole"};return this.http.get(`${this.baseUrl}/`,{params:t,headers:n}).pipe(l(S(le)))}getLessonStudyClassesByDate(e){let t={fields:Object.keys(Y.props).join(","),"filter.LessonDateTimeFrom":`=${E(e,"yyyy-MM-dd")}`,sort:"LessonDateTimeFrom"},n={"X-Role-Restriction":"LessonTeacherRole"};return this.http.get(`${this.baseUrl}/`,{params:t,headers:n}).pipe(l(S(Y)))}getLessonStudyClassesByEvent(e){let t={"filter.EventRef":`=${e}`,sort:"LessonDateTimeFrom"},n={"X-Role-Restriction":"LessonTeacherRole"};return this.http.get(`${this.baseUrl}/`,{params:t,headers:n}).pipe(l(S(Y)))}getListByLessons(e){if(e.length===0)return te([]);let n={"filter.LessonRef":`;${e.map(s=>s.LessonRef.Id).join(";")}`};return this.getList({params:n,headers:{"X-Role-Restriction":"LessonTeacherRole"}})}getListByDateStudentClass(e,t,n){let s={"filter.LessonDateTimeFrom":`=${E(e,"yyyy-MM-dd")}`,"filter.StudentRef":`=${t}`};return n!=null&&(s["filter.StudyClassRef"]=`=${n}`),this.getList({params:s,headers:{"X-Role-Restriction":"LessonTeacherRole"}})}getListForToday(){return this.http.get(`${this.baseUrl}/Today`,{headers:{"X-Role-Restriction":"LessonTeacherRole"}}).pipe(l(S(this.codec)))}getListOfUnconfirmed(e){return J(this.storage.getPayload()?.roles,"ClassTeacherRole")?be([this.getListOfUnconfirmedClassTeacher(e),this.getListOfUnconfirmedLessonTeacher(e)]).pipe(y(ot(et))):J(this.storage.getPayload()?.roles,"LessonTeacherRole")?this.getListOfUnconfirmedLessonTeacher(e):J(this.storage.getPayload()?.roles,"AbsenceAdministratorRole")?this.getListOfUnconfirmedAbsenceAdministrator(e):te([])}getStatistics(e,t,n){let s=he([[e.student,"StudentRef"],[e.educationalEvent,"EventRef"],[e.studyClass,"StudyClassRef"]]);return s=$t(t,s),s=Z(n,this.settings.paginationLimit,s),this.http.get(`${this.baseUrl}/Statistics`,{params:s,headers:ue(),observe:"response"}).pipe(fe(pt))}getLessonRefs(e){let t=he([[e.student,"StudentRef"],[e.educationalEvent,"EventRef"],[e.studyClass,"StudyClassRef"]]);return t=t.set("filter.TypeRef",">0"),t=t.set("fields",["LessonRef","RegistrationRef","StudentRef","EventRef","StudyClassRef","TypeRef"].join(",")),t=t.set("limit","1500"),this.http.get(`${this.baseUrl}/`,{params:t}).pipe(l(S(this.lessonPresenceRefCodec)))}getRegistrationRefsByEventIds(e){let t=new $;return t.set("filter.EventRef",`;${e.join(";")}`),t=t.set("fields",["LessonRef","RegistrationRef","StudentRef","EventRef","StudyClassRef","TypeRef"].join(",")),this.http.get(`${this.baseUrl}/`,{params:t}).pipe(l(S(this.lessonPresenceRefCodec)))}getFilteredList(e,t,n){let s=he([[e.student,"StudentRef"],[e.educationalEvent,"EventRef"],[e.studyClass,"StudyClassRef"]],new $({fromObject:n}));return e.teacher&&(s=s.set("filter.TeacherInformation",`~*${e.teacher}*`)),e.dateFrom&&e.dateTo&&ct(e.dateFrom,e.dateTo)?s=s.set("filter.LessonDateTimeFrom",`=${E(e.dateFrom,"yyyy-MM-dd")}`):(e.dateFrom&&(s=s.set("filter.LessonDateTimeFrom",`>${E(Ze(e.dateFrom,1),"yyyy-MM-dd")}`)),e.dateTo&&(s=s.set("filter.LessonDateTimeTo",`<${E(Qe(e.dateTo,1),"yyyy-MM-dd")}`))),e.weekdays&&(s=s.set("filter.WeekdayId",`;${e.weekdays.join(";")}`)),e.confirmationStates&&(s=s.set("filter.ConfirmationStateId",`;${e.confirmationStates.join(";")}`)),e.incidentTypes&&(s=s.set("filter.TypeRef",`;${e.incidentTypes.join(";")}`)),e.presenceTypes&&(s=s.set("filter.TypeRef",`;${e.presenceTypes.join(";")}`)),e.incidentTypes&&e.presenceTypes&&(s=s.set("filter.TypeRef",`;${e.presenceTypes.join(";")};${e.incidentTypes.join(";")}`)),this.http.get(`${this.baseUrl}/`,{params:Z(t,this.settings.paginationLimit,s),headers:ue(),observe:"response"}).pipe(fe(me))}hasLessonsLessonTeacher(){let e=new $().set("fields","Id");return this.http.get(`${this.baseUrl}/`,{params:Z(0,1,e),headers:{"X-Role-Restriction":"LessonTeacherRole"}}).pipe(l(S(this.lessonPresenceIdCodec)),y(t=>t.length>0))}checkableAbsencesCount(){return this.http.get(`${this.baseUrl}/`,{headers:{"X-Role-Restriction":"LessonTeacherRole"},params:{"filter.ConfirmationStateId":`;${this.settings.checkableAbsenceStateId}`,fields:"Id,ConfirmationStateId"}}).pipe(l(S(this.lessonPresenceIdCodec)),y(e=>e.length))}getListOfUnconfirmedLessonTeacher(e){return this.getList({headers:{"X-Role-Restriction":"LessonTeacherRole"},params:U(V({},e),{"filter.ConfirmationStateId":`=${this.settings.unconfirmedAbsenceStateId}`,"filter.HasStudyCourseConfirmationCode":"=false"})})}getListOfUnconfirmedClassTeacher(e){return this.getList({headers:{"X-Role-Restriction":"ClassTeacherRole"},params:U(V({},e),{"filter.ConfirmationStateId":`=${this.settings.unconfirmedAbsenceStateId}`,"filter.HasStudyCourseConfirmationCode":"=true"})})}getListOfUnconfirmedAbsenceAdministrator(e){return this.getList({headers:{"X-Role-Restriction":"AbsenceAdministratorRole"},params:U(V({},e),{"filter.ConfirmationStateId":`=${this.settings.unconfirmedAbsenceStateId}`})})}static{this.\u0275fac=function(t){return new(t||i)(O(Ee),O(z),O(ze))}}static{this.\u0275prov=ve({token:i,factory:i.\u0275fac,providedIn:"root"})}}return i})();function he(i,r=new $){return i.reduce((e,[t,n])=>t&&n?e.set(`filter.${n}`,`=${t}`):e,r)}function $t(i,r=new $){return i?r.set("sort",`${i.key}.${i.ascending?"asc":"desc"}`):r}export{_t as a,at as b,ct as c,Zt as d,Di as e}; diff --git a/public/apps/webapp-schulverwaltung/chunk-6XR42WAQ.js b/public/apps/webapp-schulverwaltung/chunk-DM5T4OMV.js similarity index 81% rename from public/apps/webapp-schulverwaltung/chunk-6XR42WAQ.js rename to public/apps/webapp-schulverwaltung/chunk-DM5T4OMV.js index c1c69a53..8129366b 100644 --- a/public/apps/webapp-schulverwaltung/chunk-6XR42WAQ.js +++ b/public/apps/webapp-schulverwaltung/chunk-DM5T4OMV.js @@ -1 +1 @@ -import{y as u}from"./chunk-SRCW6BUG.js";function l(e,n,i){return e.map(t=>{let r=null;t.TypeRef.Id&&(r=n.find(f=>f.Id===t.TypeRef.Id)||null);let o;return t.ConfirmationStateId&&(o=i.find(f=>f.Key===t.ConfirmationStateId)),new u(t,r,null,o)})}function p(e,n,i){return e?n.filter(t=>i.find(r=>r===t.lessonPresence.StudentRef.Id)):n}export{l as a,p as b}; +import{k as u}from"./chunk-UYCIECIQ.js";function l(e,n,i){return e.map(t=>{let r=null;t.TypeRef.Id&&(r=n.find(f=>f.Id===t.TypeRef.Id)||null);let o;return t.ConfirmationStateId&&(o=i.find(f=>f.Key===t.ConfirmationStateId)),new u(t,r,null,o)})}function p(e,n,i){return e?n.filter(t=>i.find(r=>r===t.lessonPresence.StudentRef.Id)):n}export{l as a,p as b}; diff --git a/public/apps/webapp-schulverwaltung/chunk-EMYBIMWP.js b/public/apps/webapp-schulverwaltung/chunk-EMYBIMWP.js new file mode 100644 index 00000000..f5e57c94 --- /dev/null +++ b/public/apps/webapp-schulverwaltung/chunk-EMYBIMWP.js @@ -0,0 +1 @@ +import{p as Y,r as z,s as Q,t as W,w as X}from"./chunk-PXVJ3QLD.js";import"./chunk-Y4QYVF5K.js";import"./chunk-AYQPMCNZ.js";import{d as K}from"./chunk-3L4RH6QP.js";import"./chunk-WCDEMEW2.js";import{i as J,j as V}from"./chunk-XFA6UPZX.js";import{b as U}from"./chunk-PSYDBHTH.js";import{C as w,w as x}from"./chunk-W4U7QKJF.js";import{$a as u,Ab as G,Bb as I,Cb as $,Db as b,Eb as O,Ga as l,Jb as o,Kb as a,M as E,Na as j,P as _,Pd as R,Qa as v,Rd as q,Va as B,X as P,_ as p,_a as g,ab as m,cc as M,cd as N,h as L,hb as A,n as d,o as k,rb as y,s as D,sb as C,xa as c,xc as H,ya as h}from"./chunk-2W7IS4PN.js";var f=(()=>{class e{constructor(s,t,n,S,se,ne,oe){this.storageService=s,this.loadingService=t,this.coursesRestService=n,this.subscriptionRestService=S,this.reportsService=se,this.gradingScalesRestService=ne,this.settings=oe,this.studentId$=new L(1),this.loading$=this.loadingService.loading$,this.studentCourses$=this.loadCourses().pipe(E(1)),this.studentCoursesSorted$=this.studentCourses$.pipe(d(i=>i.slice().sort((r,ae)=>r.Designation.localeCompare(ae.Designation)))),this.studentCourseIds$=this.studentCourses$.pipe(d(i=>i.flatMap(r=>r.Id))),this.subscriptionIds$=k([this.studentId$,this.studentCourseIds$]).pipe(_(([i,r])=>this.subscriptionRestService.getSubscriptionIdsByStudentAndCourse(i,r))),this.testReports$=this.subscriptionIds$.pipe(d(i=>this.reportsService.getStudentSubscriptionGradesReports(i))),this.tests$=this.studentCourses$.pipe(d(i=>i.flatMap(r=>r.Tests).filter(x))),this.gradingScaleIdsFromTests$=this.tests$.pipe(d(i=>[...i.map(r=>r.GradingScaleId)].filter(x).filter(w))),this.gradingScaleIdsFromCourses$=this.studentCourses$.pipe(d(i=>i.flatMap(r=>r.GradingScaleId).filter(x).filter(w))),this.gradingScaleIds$=k([this.gradingScaleIdsFromCourses$,this.gradingScaleIdsFromTests$]).pipe(d(([i,r])=>i.concat(r).filter(w))),this.gradingScales$=this.gradingScaleIds$.pipe(_(i=>D(i.map(r=>this.gradingScalesRestService.getGradingScale(r)))));let F=this.storageService.getPayload()?.id_person;F&&this.studentId$.next(Number(F))}loadCourses(){return this.loadingService.load(this.coursesRestService.getExpandedCoursesForStudent())}static{this.\u0275fac=function(t){return new(t||e)(p(q),p(V),p(Y),p(z),p(K),p(Q),p(N))}}static{this.\u0275prov=P({token:e,factory:e.\u0275fac})}}return e})();var de=()=>[],ee=(()=>{class e{constructor(s){this.myGradesService=s}static{this.\u0275fac=function(t){return new(t||e)(h(f))}}static{this.\u0275cmp=l({type:e,selectors:[["bkd-my-grades-header"]],decls:7,vars:7,consts:[[1,"d-flex","justify-content-between","header"],[3,"reports"]],template:function(t,n){if(t&1&&(g(0,"div",0)(1,"div"),y(2),o(3,"translate"),u(),g(4,"div"),m(5,"bkd-reports-link",1),o(6,"async"),u()()),t&2){let S;c(2),C(a(3,2,"my-grades.header")),c(3),v("reports",(S=a(6,4,n.myGradesService.testReports$))!==null&&S!==void 0?S:O(6,de))}},dependencies:[J,M,R],styles:[".header[_ngcontent-%COMP%]{padding-bottom:1rem}.report[_ngcontent-%COMP%]{margin-left:1rem}"]})}}return e})();function pe(e,re){e&1&&m(0,"bkd-spinner")}function ce(e,re){if(e&1&&m(0,"bkd-dossier-grades-view",1),e&2){A();let s=$(0),t=$(2),n=$(4);v("courses",s)("studentId",t)("gradingScales",n)("isEditable",!1)}}var te=(()=>{class e{constructor(s){this.myGradesService=s}static{this.\u0275fac=function(t){return new(t||e)(h(f))}}static{this.\u0275cmp=l({type:e,selectors:[["bkd-my-grades-show"]],features:[b([W])],decls:14,vars:15,consts:[[1,"bkd-container","bkd-container-limited"],[3,"courses","studentId","gradingScales","isEditable"]],template:function(t,n){t&1&&(G(0),o(1,"async"),G(2),o(3,"async"),G(4),o(5,"async"),g(6,"div",0)(7,"h1"),y(8),o(9,"translate"),u(),m(10,"bkd-my-grades-header"),j(11,pe,1,0,"bkd-spinner"),o(12,"async"),j(13,ce,1,4,"bkd-dossier-grades-view",1),u()),t&2&&(I(a(1,2,n.myGradesService.studentCoursesSorted$)),c(2),I(a(3,5,n.myGradesService.studentId$)),c(2),I(a(5,8,n.myGradesService.gradingScales$)),c(4),C(a(9,11,"my-grades.title")),c(3),B(a(12,13,n.myGradesService.loading$)?11:13))},dependencies:[ee,X,U,M,R],encapsulation:2})}}return e})();var ie=(()=>{class e{constructor(){}static{this.\u0275fac=function(t){return new(t||e)}}static{this.\u0275cmp=l({type:e,selectors:[["bkd-my-grades"]],features:[b([f])],decls:1,vars:0,template:function(t,n){t&1&&m(0,"router-outlet")},dependencies:[H],encapsulation:2})}}return e})();var Ee=[{path:"",component:ie,children:[{path:"",component:te}]}];export{Ee as MY_GRADES_ROUTES}; diff --git a/public/apps/webapp-schulverwaltung/chunk-4RZQAAPF.js b/public/apps/webapp-schulverwaltung/chunk-FH4OOWQM.js similarity index 95% rename from public/apps/webapp-schulverwaltung/chunk-4RZQAAPF.js rename to public/apps/webapp-schulverwaltung/chunk-FH4OOWQM.js index d28a42e5..23bdd24d 100644 --- a/public/apps/webapp-schulverwaltung/chunk-4RZQAAPF.js +++ b/public/apps/webapp-schulverwaltung/chunk-FH4OOWQM.js @@ -1 +1 @@ -import{b as P}from"./chunk-DTYYCJHM.js";import{l as F}from"./chunk-GOGVGWFJ.js";import{C as b,D as S,F as p,Fd as x,H as c,Hd as g,K as u,M as n,R as y,X as l,f as o,g as h,n as s,o as f,w as a,x as m,za as v}from"./chunk-2W7IS4PN.js";var R="page",L=(()=>{class r{constructor(t,i,$,j,E){this.location=t,this.loadingService=i,this.sortService=$,this.settings=j,this.loading$=this.loadingService.loading$,this.loadingPage$=this.loadingService.loading(R),this.sorting$=this.sortService.sorting$,this.filter$=new h(this.getInitialFilter()),this.isFilterValid$=this.filter$.pipe(s(this.isValidFilter.bind(this))),this.validFilter$=this.filter$.pipe(m(this.isValidFilter.bind(this)),c(g),n(1)),this.resetEntries$=new o,this.nextPage$=new o,this.page$=a(this.nextPage$.pipe(s(()=>"next")),a(this.resetEntries$,this.validFilter$,this.sorting$).pipe(s(()=>"reset"))).pipe(u((e,d)=>d==="next"?e+1:0,0)),this.offset$=this.page$.pipe(s(e=>e*this.settings.paginationLimit)),this.pageResult$=f([this.validFilter$,this.sorting$,this.offset$]).pipe(S(10),b(F(this.loadEntries.bind(this))),n(1)),this.entries$=a(a(this.resetEntries$,this.validFilter$,this.sorting$).pipe(s(()=>({action:"reset"}))),this.pageResult$.pipe(s(e=>e.offset===0?{action:"reset",entries:e.entries}:{action:"append",entries:e.entries}))).pipe(u(this.entriesActionReducer.bind(this),[]),n(1)),this.total$=this.pageResult$.pipe(s(({total:e})=>e)),this.hasMore$=this.pageResult$.pipe(s(({offset:e,total:d})=>ethis.location.replaceState(E,e)),this.sortService.setSorting(this.getInitialSorting())}ngOnDestroy(){this.destroy$.next()}setFilter(t){this.filter$.next(x(t))}nextPage(){this.hasMore$.pipe(p(1)).subscribe(t=>{t&&this.nextPage$.next()})}resetEntries(){this.resetEntries$.next()}getInitialSorting(){return null}entriesActionReducer(t,i){switch(i.action){case"append":return[...t,...i.entries];case"reset":return i.entries?i.entries:[];default:return t}}static{this.\u0275fac=function(i){v()}}static{this.\u0275prov=l({token:r,factory:r.\u0275fac})}}return r})();var M=(()=>{class r{getSortingChar$(t){return this.sorting$.pipe(s(i=>i&&t===i.key?i.ascending?"\u2193":"\u2191":""))}constructor(){this.sortingSubject$=new h(null),this.sorting$=this.sortingSubject$.asObservable().pipe(c(g),n(1))}setSorting(t){this.sortingSubject$.next(t)}toggleSorting(t){this.sorting$.pipe(p(1)).subscribe(i=>{let $=i&&i.key===t?!i.ascending:!0;this.sortingSubject$.next({key:t,ascending:$})})}static{this.\u0275fac=function(i){return new(i||r)}}static{this.\u0275prov=l({token:r,factory:r.\u0275fac,providedIn:"root"})}}return r})();export{R as a,L as b,M as c}; +import{b as P}from"./chunk-DTYYCJHM.js";import{d as F}from"./chunk-G6EB45SC.js";import{C as b,D as S,F as p,Fd as x,H as c,Hd as g,K as u,M as n,R as y,X as l,f as o,g as h,n as s,o as f,w as a,x as m,za as v}from"./chunk-2W7IS4PN.js";var R="page",L=(()=>{class r{constructor(t,i,$,j,E){this.location=t,this.loadingService=i,this.sortService=$,this.settings=j,this.loading$=this.loadingService.loading$,this.loadingPage$=this.loadingService.loading(R),this.sorting$=this.sortService.sorting$,this.filter$=new h(this.getInitialFilter()),this.isFilterValid$=this.filter$.pipe(s(this.isValidFilter.bind(this))),this.validFilter$=this.filter$.pipe(m(this.isValidFilter.bind(this)),c(g),n(1)),this.resetEntries$=new o,this.nextPage$=new o,this.page$=a(this.nextPage$.pipe(s(()=>"next")),a(this.resetEntries$,this.validFilter$,this.sorting$).pipe(s(()=>"reset"))).pipe(u((e,d)=>d==="next"?e+1:0,0)),this.offset$=this.page$.pipe(s(e=>e*this.settings.paginationLimit)),this.pageResult$=f([this.validFilter$,this.sorting$,this.offset$]).pipe(S(10),b(F(this.loadEntries.bind(this))),n(1)),this.entries$=a(a(this.resetEntries$,this.validFilter$,this.sorting$).pipe(s(()=>({action:"reset"}))),this.pageResult$.pipe(s(e=>e.offset===0?{action:"reset",entries:e.entries}:{action:"append",entries:e.entries}))).pipe(u(this.entriesActionReducer.bind(this),[]),n(1)),this.total$=this.pageResult$.pipe(s(({total:e})=>e)),this.hasMore$=this.pageResult$.pipe(s(({offset:e,total:d})=>ethis.location.replaceState(E,e)),this.sortService.setSorting(this.getInitialSorting())}ngOnDestroy(){this.destroy$.next()}setFilter(t){this.filter$.next(x(t))}nextPage(){this.hasMore$.pipe(p(1)).subscribe(t=>{t&&this.nextPage$.next()})}resetEntries(){this.resetEntries$.next()}getInitialSorting(){return null}entriesActionReducer(t,i){switch(i.action){case"append":return[...t,...i.entries];case"reset":return i.entries?i.entries:[];default:return t}}static{this.\u0275fac=function(i){v()}}static{this.\u0275prov=l({token:r,factory:r.\u0275fac})}}return r})();var M=(()=>{class r{getSortingChar$(t){return this.sorting$.pipe(s(i=>i&&t===i.key?i.ascending?"\u2193":"\u2191":""))}constructor(){this.sortingSubject$=new h(null),this.sorting$=this.sortingSubject$.asObservable().pipe(c(g),n(1))}setSorting(t){this.sortingSubject$.next(t)}toggleSorting(t){this.sorting$.pipe(p(1)).subscribe(i=>{let $=i&&i.key===t?!i.ascending:!0;this.sortingSubject$.next({key:t,ascending:$})})}static{this.\u0275fac=function(i){return new(i||r)}}static{this.\u0275prov=l({token:r,factory:r.\u0275fac,providedIn:"root"})}}return r})();export{R as a,L as b,M as c}; diff --git a/public/apps/webapp-schulverwaltung/chunk-FHLJK5I2.js b/public/apps/webapp-schulverwaltung/chunk-FHLJK5I2.js deleted file mode 100644 index 1a23c958..00000000 --- a/public/apps/webapp-schulverwaltung/chunk-FHLJK5I2.js +++ /dev/null @@ -1 +0,0 @@ -import{a as pe,b as Pe}from"./chunk-DJH5AAGM.js";import{a as bn}from"./chunk-ZCHQQKGF.js";import{a as _n,b as vn}from"./chunk-QB4DIFWS.js";import{b as Pn}from"./chunk-6XR42WAQ.js";import{a as Cn}from"./chunk-THL2WTJD.js";import{e as fn}from"./chunk-5WNFCBTP.js";import{q as gn,v as ye}from"./chunk-LASWC23V.js";import{a as ct}from"./chunk-HCNFZOWE.js";import{b as zt,c as Xt,e as Qe}from"./chunk-746ASKQ4.js";import{a as rn}from"./chunk-DTTSX64G.js";import"./chunk-Y4QYVF5K.js";import"./chunk-AYQPMCNZ.js";import{a as yn}from"./chunk-BIDSHCYH.js";import{c as at,g as un}from"./chunk-Z4YBXGVO.js";import{a as cn}from"./chunk-3L4RH6QP.js";import{a as an,b as pn}from"./chunk-DTYYCJHM.js";import"./chunk-XAZECV42.js";import{a as Sn}from"./chunk-3P6YOVUR.js";import{A as en,B as tn,C as rt,H as nn,L as on,P as ve,Q as sn,S as st,U as hn,g as Jt,p as Yt,u as Zt,v as He,z as qe}from"./chunk-SRCW6BUG.js";import{j as z,l as se}from"./chunk-GOGVGWFJ.js";import{b as ce}from"./chunk-OSOXMODN.js";import{a as We,b as be,f as ln,g as dn,h as mn}from"./chunk-PSYDBHTH.js";import{h as At,i as Rt,j as Ge,k as Gt,l as Nt,m as Ut,o as Ht,p as qt,q as Le,r as re,w as Kt,y as Ue}from"./chunk-W4U7QKJF.js";import{a as _e}from"./chunk-AVBHFGIF.js";import{$a as a,$b as Ot,Ab as G,Ad as oe,B as ht,Bb as Y,C as Ct,Cb as Q,Cd as ot,D as tt,Db as ue,Eb as ke,F as O,Fb as ne,Ga as D,Gb as $t,H as Be,Hd as Ne,Id as $e,Jb as p,K as _t,Kb as m,L as vt,Lb as U,M as E,Md as Wt,N as nt,Na as L,O as je,Od as K,P as T,Pd as V,Qa as x,R as q,Ra as J,Rd as Qt,Sa as Pt,Ta as Ve,Tc as Bt,Va as k,X as R,Xa as St,Xb as Dt,Ya as B,Za as j,_,_a as c,a as le,ab as W,b as de,cc as ie,cd as H,da as bt,dc as ge,ea as v,eb as S,f as $,fa as b,fd as jt,g as me,gb as C,h as we,hb as f,ia as yt,id as Vt,jc as it,jd as fe,kd as he,l as Z,lb as X,lc as Fe,ma as te,md as Ft,n as u,nb as xt,nd as Ce,o as M,ob as It,pb as wt,qb as Mt,rb as d,s as Me,sb as I,tb as y,u as ft,ub as Tt,vb as kt,w as ee,wb as Lt,wc as Ae,x as Te,xa as s,xc as Et,ya as h,zc as Re}from"./chunk-2W7IS4PN.js";function xn(n,r){return+z(n)<+z(r)}function In(n,r){return+z(n)==+z(r)}function wn(n,r,e){let t=+z(n,e?.in),[i,o]=[+z(r.start,e?.in),+z(r.end,e?.in)].sort((l,g)=>l-g);return t>=i&&t<=o}function Mn(n,r,e){let t=r.map(o=>({eventId:o,group:n})),i=e.map(o=>t.find(l=>l.eventId===o.eventId)||o);return[...new Set([...i,...t])].filter(o=>o.group!==null)}var Ke=(()=>{class n extends nn{static{this.\u0275fac=(()=>{let e;return function(i){return(e||(e=yt(n)))(i||n)}})()}static{this.\u0275prov=R({token:n,factory:n.\u0275fac})}}return n})();function Tn(n,r){return[...n].sort(oi(r))}function oi(n){return(r,e)=>{switch(n.primarySortKey){case"name":{let t=r.name.localeCompare(e.name);return n.ascending?t*-1:t}case"group":{let t=(r.detail.Value||"").localeCompare(e.detail.Value||"");return n.ascending?t*-1:t}}}}function kn(n,r){return n.map(e=>ri(e,r))}function ri(n,r){return{id:n.IdPerson,name:r.find(e=>e.StudentRef.Id===n.IdPerson)?.StudentFullName||"",group:n.Value,detail:n}}function Ln(n,r){return n.filter(e=>e.VssId===r.subscriptionDetailGroupId)}function pt(n,r){return n.find(e=>e.VssId===r.subscriptionDetailGroupId)}var si=(n,r)=>r.id;function ci(n,r){if(n&1){let e=S();c(0,"div",1)(1,"input",5),C("change",function(){let i=v(e).$implicit,o=f();return b(o.onSelectionChange(i))}),a(),c(2,"label",6),d(3),a()()}if(n&2){let e=r.$implicit,t=r.$index,i=f();s(),X("id","group-",t,""),x("checked",e.id===i.selected.id)("value",e.id),s(),X("for","group-",t,""),s(),y(" ",e.label," ")}}var De=function(n){return n.Select="select",n.Assign="assign",n}(De||{}),$n=(()=>{class n{constructor(e,t){this.activeModal=e,this.translate=t,this.groupOptions=[]}ngOnInit(){this.title=`presence-control.groups.${this.dialogMode}.title`;let e=this.createEmtpyOption();this.groupOptions=this.createGroupOptions(this.subscriptionDetailsDefinitions),this.groupOptions.unshift(e),this.selected=this.groupOptions.find(t=>t.id===this.group)||e}createEmtpyOption(){let e=this.dialogMode===De.Select?"presence-control.groups.all":"presence-control.groups.none";return{id:null,label:this.translate.instant(e)}}createGroupOptions(e){return e.DropdownItems?e.DropdownItems.map(t=>({id:t.Key,label:`${this.translate.instant("presence-control.groups.group")} ${t.Value}`})):[]}getSelectedGroup(){return this.selected}onSelectionChange(e){this.selected=e}static{this.\u0275fac=function(t){return new(t||n)(h(re),h(K))}}static{this.\u0275cmp=D({type:n,selectors:[["bkd-presence-control-group-dialog"]],inputs:{dialogMode:"dialogMode",subscriptionDetailsDefinitions:"subscriptionDetailsDefinitions",group:"group"},decls:14,vars:9,consts:[[1,"modal-body"],[1,"form-check"],[1,"modal-footer"],["type","button",1,"btn","btn-outline-secondary",3,"click"],["type","button",1,"btn","btn-primary",3,"click"],["type","radio","name","groups",1,"form-check-input",3,"change","id","checked","value"],[1,"form-check-label",3,"for"]],template:function(t,i){t&1&&(c(0,"div",0)(1,"p"),d(2),p(3,"translate"),a(),c(4,"form"),B(5,ci,4,7,"div",1,si),a()(),c(7,"div",2)(8,"button",3),C("click",function(){return i.activeModal.dismiss()}),d(9),p(10,"translate"),a(),c(11,"button",4),C("click",function(){return i.activeModal.close(i.getSelectedGroup())}),d(12),p(13,"translate"),a()()),t&2&&(s(2),y(" ",m(3,3,i.title)," "),s(3),j(i.groupOptions),s(4),y(" ",m(10,5,"presence-control.groups.cancel")," "),s(3),y(" ",m(13,7,"presence-control.groups.save")," "))},dependencies:[oe,Ce,fe,he,V],encapsulation:2})}}return n})();function Dn(n,r){return n===null&&r===null||n!==null&&r!==null&&n.TeacherInformation===r.TeacherInformation&&n.LessonDateTimeFrom.getTime()===r.LessonDateTimeFrom.getTime()&&n.LessonDateTimeTo.getTime()===r.LessonDateTimeTo.getTime()}function On(n){let r=new dt(n.TeacherInformation,n.LessonDateTimeFrom,n.LessonDateTimeTo);return r.addLesson(n),r}var dt=class{constructor(r,e,t){this.TeacherInformation=r,this.LessonDateTimeFrom=e,this.LessonDateTimeTo=t,this.lessons=[]}addLesson(r){this.lessons.some(e=>qe(e,r))||(this.lessons.push(r),this.updateId(),this.updateStudyClassNumbers(),this.updateEventDesignations())}getIds(){return[...new Set(this.lessons.map(r=>r.LessonRef.Id))]}getEventIds(){return[...new Set(this.lessons.map(r=>r.EventRef.Id))]}updateId(){this.id=[...new Set(this.lessons.map(r=>r.LessonRef.Id).sort())].join("-")}updateStudyClassNumbers(){this.studyClassNumbers=[...new Set(this.lessons.map(r=>r.StudyClassNumber).sort((r,e)=>r.localeCompare(e)))].join(", ")}updateEventDesignations(){this.eventDesignations=[...new Set(this.lessons.map(r=>r.EventDesignation).sort())].join(", ")}};function En(n){return ai(n).reduce((r,e)=>{let t=r.find(o=>Dn(o,e));if(t)return t.addLesson(e),r;let i=On(e);return[...r,i]},[]).sort(rt)}function Bn(n){if(n.length===0)return null;let r=new Date;if(n=[...n].sort(rt),Xt(r,n[0].LessonDateTimeFrom)){for(let e of n)if(xn(r,e.LessonDateTimeFrom)||wn(r,{start:e.LessonDateTimeFrom,end:e.LessonDateTimeTo}))return e;return n[n.length-1]}return n[0]}function ai(n){return n.reduce((r,e)=>r.some(t=>qe(t,e))?r:[...r,e],[])}function jn(n,r,e,t){return n.map(i=>{let o=r.find(l=>pi(l.presence,i));if(o){let l;return!o.newPresenceTypeId&&i.Comment?l=e.find(g=>g.IsComment)||null:l=e.find(g=>g.Id===o.newPresenceTypeId)||null,de(le({},i),{TypeRef:li(l),Date:null,Type:l?l.Designation:null,ConfirmationStateId:He(l,t)})}return i})}function pi(n,r){return n.LessonRef.Id===r.LessonRef.Id&&n.StudentRef.Id===r.StudentRef.Id}function li(n){return{Id:n?n.Id:null,HRef:null}}function Xe(n){return r=>r.reduce((e,t)=>e+(t.presenceCategory===n?1:0),0)}function Vn(){return n=>n.reduce((r,e)=>r+(e.precedingAbsences&&e.precedingAbsences.length>0?1:0),0)}var Fn=(()=>{class n extends We{constructor(e,t){super(e,t,at,"LessonTeachers")}loadOtherTeachersLessonAbsences(e,t,i){let o=`${this.baseUrl}/except/${e}/LessonAbsences?expand=LessonRef`;return t&&t.length>0&&(o=o.concat("&filter.StudentRef=;"+t.join(";"))),this.http.get(o,{params:i}).pipe(T(Wt(at)))}static{this.\u0275fac=function(t){return new(t||n)(_(Fe),_(H))}}static{this.\u0275prov=R({token:n,factory:n.\u0275fac,providedIn:"root"})}}return n})();var Ye=(()=>{class n extends We{constructor(e,t){super(e,t,gn,"SubscriptionDetails")}getListForEvent(e){return this.getList({params:{IdEvent:String(e)}})}update(e,t){let i={IdPerson:t.IdPerson,EventId:t.EventId,Value:e};return this.http.put(`${this.baseUrl}/${t.Id}`,i).pipe(u(()=>{}))}static{this.\u0275fac=function(t){return new(t||n)(_(Fe),_(H))}}static{this.\u0275prov=R({token:n,factory:n.\u0275fac,providedIn:"root"})}}return n})();var Rn="presence-control-group",ae=(()=>{class n{constructor(e,t,i,o,l){this.userSettings=e,this.eventService=t,this.subscriptionDetailsService=i,this.loadingService=o,this.settings=l,this.selectGroup$=new $,this.selectedLesson$=new we,this.lessonPresences$=new we,this.reloadSubscriptionDetails$=new $,this.defaultGroup=null,this.savedGroup$=this.selectedLesson$.pipe(T(g=>this.userSettings.getPresenceControlGroupView().pipe(u(w=>this.findGroupByLesson(w,g))))),this.group$=ee(this.selectGroup$,this.savedGroup$).pipe(je(this.defaultGroup),E(1)),this.loading$=this.loadingService.loading(Rn),this.subscriptionDetailsDefinitions$=this.selectedLesson$.pipe(u(g=>g?.getEventIds()||[]),T(g=>Me(g.map(w=>this.eventService.getSubscriptionDetailsDefinitions(w)))),E(1)),this.groupsAvailability$=this.subscriptionDetailsDefinitions$.pipe(u(g=>g.every(w=>pt(w,this.settings))),E(1)),this.subscriptionDetails$=M([this.selectedLesson$,this.groupsAvailability$,this.reloadSubscriptionDetails$.pipe(u(()=>!1),je(!0))]).pipe(T(([g,w,F])=>g&&w?this.loadSubscriptionDetailsForLesson(g,F):Z([])),u(g=>Ln(g,this.settings)),E(1)),this.subscriptionDetailPersonIds$=M([this.group$,this.subscriptionDetails$]).pipe(u(([g,w])=>w.filter(F=>F.Value===g).map(F=>F.IdPerson)),je([]))}selectGroup(e){this.selectGroup$.next(e)}setSelectedLesson(e){this.selectedLesson$.next(e)}setLessonPresences(e){this.lessonPresences$.next(e)}getSubscriptionDetailsDefinitions(){return this.subscriptionDetailsDefinitions$.pipe(u(ot),u(e=>pt(e,this.settings)))}getSubscriptionDetailsForStudents(){return M([this.subscriptionDetails$,this.lessonPresences$]).pipe(u(se(kn)))}reloadSubscriptionDetails(){this.reloadSubscriptionDetails$.next(void 0)}loadSubscriptionDetailsForLesson(e,t=!0){return this.loadingService.load(Me($e(e.getEventIds()).map(i=>this.subscriptionDetailsService.getListForEvent(i))),t?void 0:Rn).pipe(u(ot))}findGroupByLesson(e,t){return e.find(o=>o.eventId===t?.getEventIds()[0])?.group||this.defaultGroup}static{this.\u0275fac=function(t){return new(t||n)(_(Pe),_(bn),_(Ye),_(ce),_(H))}}static{this.\u0275prov=R({token:n,factory:n.\u0275fac})}}return n})();var Un=Object.values(pe),N=(()=>{class n{constructor(e,t,i,o,l,g,w,F,Se,xe){this.userSettings=e,this.lessonPresencesService=t,this.lessonTeacherService=i,this.presenceTypesService=o,this.groupService=l,this.dropDownItemsService=g,this.loadingService=w,this.storageService=F,this.settings=Se,this.location=xe,this.selectedDateSubject$=new me(new Date),this.selectedDate$=this.selectedDateSubject$.asObservable().pipe(u(P=>Jt(P)),Be(Ne)),this.viewModeSubject$=new $,this.viewMode$=ee(this.viewModeSubject$,this.userSettings.getPresenceControlViewMode().pipe(O(1))),this.lessons$=this.selectedDate$.pipe(T(P=>this.loadLessonsByDate(P)),E(1)),this.selectLessonId$=new $,this.selectLesson$=this.selectLessonId$.pipe(T(P=>this.getLessonById(P))),this.selectedLesson$=M([ln(this.selectLesson$.pipe(Be((P,Ie)=>Ne(P,Ie))),dn(this.settings.lessonPresencesRefreshTime)),this.lessons$]).pipe(u(([P,Ie])=>Ie.find(ni=>ni.id===P.id)?P:null),E(1)),this.studyClassCount$=this.selectedLesson$.pipe(u(P=>P?.lessons.length||0)),this.updateLessonPresences$=new $,this.reloadLessonPresences$=new $,this.lessonPresences$=ee(mn(this.selectedLesson$,this.reloadLessonPresences$).pipe(T(P=>P?this.loadLessonPresencesByLesson(P):Z([]))),this.updateLessonPresences$).pipe(E(1)),this.presenceTypes$=this.loadPresenceTypes().pipe(E(1)),this.reloadStudentIdsWithUnconfirmedAbsences$=new $,this.studentIdsWithUnconfirmedAbsences$=ee(this.selectedDate$,this.selectedLesson$.pipe(nt(1)),this.reloadStudentIdsWithUnconfirmedAbsences$).pipe(T(()=>this.loadStudentIdsWithUnconfirmedAbsences()),E(1)),this.loading$=this.loadingService.loading$,this.absenceConfirmationStates$=this.dropDownItemsService.getAbsenceConfirmationStates().pipe(E(1)),this.studentIds$=this.lessonPresences$.pipe(u(P=>$e(P.map(Ie=>Ie.StudentRef.Id))),E(1)),this.otherTeachersAbsences$=this.studentIds$.pipe(Be(Ne),T(P=>P.length>0?this.lessonTeacherService.loadOtherTeachersLessonAbsences(this.getMyself(),P):Z([])),E(1)),this.groupsAvailability$=this.groupService.groupsAvailability$,this.presenceControlEntries$=M([this.selectedLesson$,this.lessonPresences$,this.presenceTypes$,this.absenceConfirmationStates$,this.otherTeachersAbsences$]).pipe(u(se(en))),this.presenceControlEntriesByGroup$=M([this.groupService.group$,this.presenceControlEntries$,this.groupService.subscriptionDetailPersonIds$]).pipe(u(se(Pn)),E(1)),this.presentCount$=this.presenceControlEntriesByGroup$.pipe(u(Xe("present"))),this.absentCount$=this.presenceControlEntriesByGroup$.pipe(u(Xe("absent"))),this.unapprovedCount$=this.presenceControlEntriesByGroup$.pipe(u(Xe("unapproved"))),this.absentPrecedingCount$=this.presenceControlEntriesByGroup$.pipe(u(Vn())),this.queryParamsString$=M([this.selectedDate$,this.selectedLesson$,this.viewMode$]).pipe(u(se(this.buildQueryParams.bind(this))),u(pn)),this.destroy$=new $,this.queryParamsString$.pipe(q(this.destroy$)).subscribe(P=>{this.location.replaceState("/presence-control",P),this.confirmBackLinkParams={returnparams:P}}),this.viewMode$.pipe(nt(1),T(P=>this.userSettings.savePresenceControlViewMode(P)),q(this.destroy$)).subscribe(),this.selectedLesson$.pipe(q(this.destroy$)).subscribe(P=>{this.groupService.setSelectedLesson(P)}),this.lessonPresences$.pipe(q(this.destroy$)).subscribe(P=>this.groupService.setLessonPresences(P))}ngOnDestroy(){this.destroy$.next()}setDate(e){this.selectedDateSubject$.next(e)}setLessonId(e){this.selectLessonId$.next(e)}setViewMode(e){this.viewModeSubject$.next(e)}updateLessonPresencesTypes(e){M([this.lessonPresences$.pipe(O(1)),this.presenceTypes$.pipe(O(1))]).pipe(u(([t,i])=>jn(t,e,i,this.settings))).subscribe(t=>this.updateLessonPresences$.next(t))}getNextPresenceType(e){return this.presenceTypes$.pipe(O(1),u(t=>e.getNextPresenceType(t)))}hasUnconfirmedAbsences(e){return this.studentIdsWithUnconfirmedAbsences$.pipe(u(t=>t.includes(e.lessonPresence.StudentRef.Id)))}updateAfterConfirm(){this.reloadLessonPresences$.next(),this.reloadStudentIdsWithUnconfirmedAbsences$.next()}loadLessonPresencesByLesson(e){return this.loadingService.load(this.lessonPresencesService.getListByLessons(e.lessons))}loadLessonsByDate(e){return this.loadingService.load(this.lessonPresencesService.getLessonsByDate(e)).pipe(u(En))}loadPresenceTypes(){return this.loadingService.load(this.presenceTypesService.presenceTypes$)}loadStudentIdsWithUnconfirmedAbsences(){return ft(0,this.settings.unconfirmedAbsencesRefreshTime||-1).pipe(T(()=>this.lessonPresencesService.getListOfUnconfirmed()),u(e=>$e(e.map(t=>t.StudentRef.Id))))}buildQueryParams(e,t,i){let o={date:Yt(e,"yyyy-MM-dd"),viewMode:i};return t&&(o.lesson=String(t.id)),o}getLessonById(e){let t=String(e);return this.lessons$.pipe(u(i=>t&&i.find(o=>o.id===t)||Bn(i)),Te(Boolean))}getMyself(){let e=this.storageService.getPayload();return Number(e?.holder_id||e?.id_person)}static{this.\u0275fac=function(t){return new(t||n)(_(Pe),_(Qe),_(Fn),_(ve),_(ae),_(rn),_(ce),_(Qt),_(H),_(Dt))}}static{this.\u0275prov=R({token:n,factory:n.\u0275fac})}}return n})();var fi=(n,r)=>r.id,hi=()=>[],Ci=()=>["/presence-control"];function _i(n,r){if(n&1&&(c(0,"span",12),d(1),a()),n&2){let e=f().$implicit,t=f(),i=Q(0);s(),I(t.getSortDirectionCharacter(i,e))}}function vi(n,r){if(n&1){let e=S();c(0,"div",11),C("click",function(){let i=v(e).$implicit,o=f();return b(o.toggleSort(i))}),d(1),p(2,"translate"),L(3,_i,2,1,"span",12),a()}if(n&2){let e=r.$implicit;f();let t=Q(0);x("className",e),s(),y(" ",m(2,3,"presence-control.groups.list.header."+e)," "),s(2),k(t?3:-1)}}function bi(n,r){n&1&&W(0,"bkd-spinner")}function yi(n,r){n&1&&W(0,"bkd-spinner",18)}function Pi(n,r){if(n&1){let e=S();c(0,"div",13)(1,"div",14)(2,"input",15,0),p(4,"async"),C("change",function(){let i=v(e).$implicit,o=f(2);return b(o.selectionService.toggle(i))}),a()(),c(5,"div",16),d(6),a(),c(7,"div",17)(8,"span"),d(9),a(),L(10,yi,1,0,"bkd-spinner",18),p(11,"async"),a()()}if(n&2){let e=r.$implicit,t=f(2);s(2),x("checked",m(4,4,t.selectionService.isSelected$(e))),s(4),y(" ",e.name," "),s(3),I(e.group?e.group:""),s(),k(m(11,6,t.groupService.loading$)?10:-1)}}function Si(n,r){if(n&1&&B(0,Pi,12,8,"div",13,fi),n&2){f();let e=Q(2);j(e)}}var Wn=(()=>{class n{constructor(e,t,i,o,l,g,w,F,Se){this.route=e,this.state=t,this.selectionService=i,this.groupService=o,this.userSettings=l,this.subscriptionDetailService=g,this.toastService=w,this.translate=F,this.modalService=Se,this.primarySortKeys=["name","group"],this.backlinkQueryParams$=this.route.queryParams.pipe(u(({returnparams:xe})=>xe),u(an)),this.eventIds$=this.state.selectedLesson$.pipe(u(xe=>xe?.getEventIds()||[])),this.sortCriteriaSubject$=new me({primarySortKey:"name",ascending:!1}),this.sortCriteria$=this.sortCriteriaSubject$.asObservable(),this.sortedEntries$=M([this.groupService.getSubscriptionDetailsForStudents(),this.sortCriteria$]).pipe(u(se(Tn))),this.selected=[]}ngOnInit(){this.selectionService.selection$.subscribe(e=>this.selected=e)}selectGroup(){this.openGroupModal(De.Select,this.selectCallback.bind(this))}assignGroup(){this.openGroupModal(De.Assign,this.assignCallback.bind(this))}openGroupModal(e,t){M([this.groupService.getSubscriptionDetailsDefinitions(),this.groupService.group$]).pipe(O(1)).subscribe(([i,o])=>{let l=this.modalService.open($n);l.componentInstance.dialogMode=e,l.componentInstance.subscriptionDetailsDefinitions=i,l.componentInstance.group=o,l.result.then(g=>{t(g)},()=>{})})}selectCallback(e){M([this.eventIds$,this.userSettings.getPresenceControlGroupView()]).pipe(O(1),T(([t,i])=>this.userSettings.savePresenceControlGroupView(Mn(e.id,t,i))),u(()=>e.id)).subscribe(t=>this.groupService.selectGroup(t))}assignCallback(e){Me(this.selected.map(t=>this.subscriptionDetailService.update(e.id,t.detail))).subscribe(this.onSaveSuccess.bind(this))}onSaveSuccess(){this.groupService.reloadSubscriptionDetails(),this.selectionService.clear(),this.toastService.success(this.translate.instant("presence-control.groups.notifications.save-success"))}getSortDirectionCharacter(e,t){return e.primarySortKey!==t?"":e.ascending?"\u2193":"\u2191"}toggleSort(e){this.sortCriteriaSubject$.pipe(O(1)).subscribe(t=>{t.primarySortKey===e?this.sortCriteriaSubject$.next({primarySortKey:e,ascending:!t.ascending}):this.sortCriteriaSubject$.next({primarySortKey:e,ascending:e==="name"})})}static{this.\u0275fac=function(t){return new(t||n)(h(Ae),h(N),h(Ke),h(ae),h(Pe),h(Ye),h(_e),h(K),h(ye))}}static{this.\u0275cmp=D({type:n,selectors:[["bkd-presence-control-group"]],features:[ue([Ke])],decls:33,vars:32,consts:[["checkbox",""],[3,"link","params"],[1,"group-header","mb-2","d-flex","justify-content-between"],[1,"d-flex","align-items-baseline"],[1,"ps-3"],["type","button",1,"show","btn","btn-link",3,"click"],["aria-label","edit",1,"btn","btn-primary","btn-icon","me-2",3,"click"],[1,"material-icons"],[1,"group-list"],[1,"group-list-header"],[3,"className"],[3,"click","className"],[1,"sort-direction"],[1,"group-list-entry"],[1,"checkbox"],["type","checkbox",1,"form-check-input",3,"change","checked"],[1,"name","pe-2"],[1,"group","d-flex","justify-content-between"],[1,"inline","small"]],template:function(t,i){if(t&1){let o=S();G(0),p(1,"async"),G(2),p(3,"async"),G(4),p(5,"async"),G(6),p(7,"async"),c(8,"div"),W(9,"bkd-backlink",1),p(10,"async"),c(11,"h1"),d(12),p(13,"translate"),a(),c(14,"div",2)(15,"div",3)(16,"span",4),d(17),p(18,"translate"),a(),c(19,"button",5),C("click",function(){return v(o),b(i.selectGroup())}),d(20),p(21,"translate"),p(22,"translate"),a()(),c(23,"a",6),C("click",function(){return v(o),b(i.assignGroup())}),c(24,"i",7),d(25,"edit"),a()()(),c(26,"div",8)(27,"div",9),B(28,vi,4,5,"div",10,St),a(),L(30,bi,1,0,"bkd-spinner"),p(31,"async"),L(32,Si,2,0),a()()}if(t&2){let o;Y(m(1,8,i.sortCriteria$)),s(2),Y(m(3,11,i.sortedEntries$));let l=(o=m(5,14,i.selectionService.selection$))!==null&&o!==void 0?o:ke(30,hi),g=m(7,16,i.groupService.group$);s(7),x("link",ke(31,Ci))("params",m(10,18,i.backlinkQueryParams$)),s(3),I(m(13,20,"presence-control.groups.title")),s(5),I(m(18,22,"presence-control.groups.show")),s(3),y(" ",g?m(21,24,"presence-control.groups.group")+" "+g:m(22,26,"presence-control.groups.all")," "),s(3),J("disabled",l.length===0),s(5),j(i.primarySortKeys),s(2),k(m(31,28,i.state.loading$)?30:32)}},dependencies:[hn,be,ie,V],styles:['[_nghost-%COMP%]{display:block}.group-header[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{color:#000;font-weight:300;text-decoration:underline;padding-left:.5rem}.group-header[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:hover{text-decoration-color:#ea161f}.group-list-header[_ngcontent-%COMP%]{cursor:pointer;padding:1rem;display:grid;grid-template-areas:"name group";grid-template-columns:3fr 2fr;border-top:1px solid #dee2e6;border-bottom:2px solid #dee2e6}.group-list-entry[_ngcontent-%COMP%]{padding:1rem;border-bottom:1px solid #dee2e6;display:grid;grid-template-areas:"checkbox name group";grid-template-columns:min-content 3fr 2fr}.checkbox[_ngcontent-%COMP%]{grid-area:checkbox;margin:0;padding:.3rem 1rem 0 0}.checkbox[_ngcontent-%COMP%] input.form-check-input[_ngcontent-%COMP%]{position:static!important;margin:0!important;display:block}.name[_ngcontent-%COMP%]{grid-area:name;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.group[_ngcontent-%COMP%]{grid-area:group}@media (max-width: 750px){.group-list[_ngcontent-%COMP%]{padding-left:0;padding-right:0}.group-list-header[_ngcontent-%COMP%]{grid-template-columns:3fr 1fr}.group-list-entry[_ngcontent-%COMP%]{grid-template-columns:min-content 3fr 1fr}}'],changeDetection:0})}}return n})();var xi=(n,r)=>r.entry.id;function Ii(n,r){if(n&1){let e=S();c(0,"div",1)(1,"input",5),C("change",function(){let i=v(e).$implicit;return b(i.selected=!i.selected)}),a(),c(2,"label",6)(3,"i"),d(4),a(),c(5,"div",7),d(6),p(7,"date"),p(8,"date"),a()()()}if(n&2){let e=r.$implicit,t=r.$index,i=f();s(),X("id","lesson-presence-",t,""),x("checked",e.selected),s(),J("fw-bold",i.isCurrentLesson(e)),X("for","lesson-presence-",t,""),s(),Ve("",e.entry.presenceCategory," material-icons pe-2"),s(),I(e.entry.presenceCategoryIcon),s(2),kt(" ",U(7,14,e.entry.lessonPresence.LessonDateTimeFrom,"HH:mm"),"\u2013",U(8,17,e.entry.lessonPresence.LessonDateTimeTo,"HH:mm")," ",e.entry.lessonPresence.EventDesignation," ")}}var Qn=(()=>{class n{constructor(e){this.activeModal=e,this.blockLessonOptions=[]}ngOnInit(){this.blockLessonOptions=this.buildLessonPresenceOptions()}getSelectedEntries(){return this.blockLessonOptions.filter(({selected:e})=>e).map(({entry:e})=>e)}isCurrentLesson(e){return In(e.entry.lessonPresence.LessonDateTimeFrom,this.entry.lessonPresence.LessonDateTimeFrom)}buildLessonPresenceOptions(){return this.blockPresenceControlEntries.map(e=>({entry:e,selected:this.entry.confirmationState===e.confirmationState}))}static{this.\u0275fac=function(t){return new(t||n)(h(re))}}static{this.\u0275cmp=D({type:n,selectors:[["bkd-presence-control-block-lesson-component"]],inputs:{entry:"entry",blockPresenceControlEntries:"blockPresenceControlEntries"},decls:15,vars:11,consts:[[1,"modal-body"],[1,"form-check"],[1,"modal-footer"],["type","button",1,"btn","btn-outline-secondary",3,"click"],["type","button",1,"btn","btn-primary",3,"click","disabled"],["type","checkbox",1,"form-check-input",3,"change","id","checked"],[1,"form-check-label","d-flex",3,"for"],[1,"d-block","text-truncate"]],template:function(t,i){if(t&1){let o=S();c(0,"div",0)(1,"p"),d(2),p(3,"translate"),a(),c(4,"form"),B(5,Ii,9,20,"div",1,xi),a()(),G(7),c(8,"div",2)(9,"button",3),C("click",function(){return v(o),b(i.activeModal.close())}),d(10),p(11,"translate"),a(),c(12,"button",4),C("click",function(){v(o);let g=Q(7);return b(i.activeModal.close(g))}),d(13),p(14,"translate"),a()()}if(t&2){s(2),y(" ",m(3,4,"presence-control.block-lesson.text")," "),s(3),j(i.blockLessonOptions),s(2);let o=Y(i.getSelectedEntries());s(3),y(" ",m(11,7,"presence-control.block-lesson.cancel")," "),s(2),x("disabled",o.length===0),s(),y(" ",m(14,9,"presence-control.block-lesson.save")," ")}},dependencies:[oe,Ce,fe,he,ge,V],styles:[".checkbox[_ngcontent-%COMP%] input.form-check-input[_ngcontent-%COMP%]{position:static!important;margin:0!important;display:block}.absent[_ngcontent-%COMP%]{color:#ea161f}.present[_ngcontent-%COMP%]{color:#3d8608}.unapproved[_ngcontent-%COMP%]{color:#ffa814}"]})}}return n})();var wi=30;function gt(n){return`blockLesson${n.lessonPresence.Id}`}var Ze=(()=>{class n{constructor(e,t,i,o){this.state=e,this.lessonPresencesService=t,this.loadingService=i,this.settings=o}getBlockLessonPresenceControlEntries(e){return M([this.state.lessons$.pipe(O(1)),this.loadChangeableLessonPresences(e),this.state.presenceTypes$.pipe(O(1)),this.state.absenceConfirmationStates$.pipe(O(1)),this.state.otherTeachersAbsences$.pipe(O(1))]).pipe(u(([t,i,o,l,g])=>this.filterBlockLessonPresences(e,i).map(w=>tn(t.find(F=>F.id===w.LessonRef.Id.toString()),w,o,l,g))))}filterBlockLessonPresences(e,t){return[...t].sort((i,o)=>i.LessonDateTimeFrom>o.LessonDateTimeFrom?1:-1).reduce((i,o)=>{let l=i[i.length-1];return this.isWithinBlockTime(o,l)?(i.push(o),i):i.find(g=>g.Id===e.lessonPresence.Id)?i:[o]},[])}isWithinBlockTime(e,t){return t?e.LessonDateTimeFrom.getTime()-t.LessonDateTimeTo.getTime()<=wi*60*1e3:!0}loadChangeableLessonPresences(e){return M([this.loadLessonPresences(e),this.state.presenceTypes$.pipe(O(1))]).pipe(u(([t,i])=>t.filter(o=>Zt(o,i.find(l=>l.Id===o.TypeRef.Id)||null,this.settings))))}loadLessonPresences(e){return this.loadingService.load(this.lessonPresencesService.getListByDateStudentClass(e.lessonPresence.LessonDateTimeFrom,e.lessonPresence.StudentRef.Id,e.lessonPresence.StudyClassRef.Id??void 0).pipe(u(t=>t.filter(i=>i.TeacherInformation===e.lessonPresence.TeacherInformation))),gt(e))}static{this.\u0275fac=function(t){return new(t||n)(_(N),_(Qe),_(ce),_(H))}}static{this.\u0275prov=R({token:n,factory:n.\u0275fac})}}return n})();var Ti=(n,r)=>r.Id;function ki(n,r){if(n&1&&(c(0,"div"),d(1),p(2,"date"),p(3,"date"),p(4,"addSpace"),a()),n&2){let e=r.$implicit;s(),Lt(" ",U(2,5,e.LessonRef.From,"HH:mm"),"\u2013",U(3,8,e.LessonRef.To,"HH:mm")," ",e.LessonRef.EventDesignation,"",U(4,11,":",":")," ",e.Type," ")}}var Kn=(()=>{class n{constructor(e){this.activeModal=e}static{this.\u0275fac=function(t){return new(t||n)(h(re))}}static{this.\u0275cmp=D({type:n,selectors:[["bkd-presence-control-preceding-absence"]],inputs:{precedingAbsences:"precedingAbsences"},decls:10,vars:6,consts:[[1,"modal-body"],[1,"modal-footer"],["type","button",1,"btn","btn-outline-secondary",3,"click"]],template:function(t,i){t&1&&(c(0,"div",0)(1,"p"),d(2),p(3,"translate"),a(),B(4,ki,5,14,"div",null,Ti),a(),c(6,"div",1)(7,"button",2),C("click",function(){return i.activeModal.dismiss()}),d(8),p(9,"translate"),a()()),t&2&&(s(2),y(" ",m(3,2,"presence-control.preceding-absence.text")," "),s(2),j(i.precedingAbsences),s(4),y(" ",m(9,4,"presence-control.preceding-absence.cancel")," "))},dependencies:[ge,V,un],encapsulation:2})}}return n})();var Li=n=>["student",n,"absences"],$i=n=>["/presence-control/student",n,"absences"];function Di(n,r){if(n&1&&(W(0,"bkd-avatar",0),p(1,"async")),n&2){let e=f();x("studentId",m(1,3,e.studentId$))("link",ne(5,$i,e.entry.lessonPresence.StudentRef.Id.toString()))("linkParams",e.profileReturnParams)}}function Oi(n,r){if(n&1&&(c(0,"span"),d(1),a()),n&2){let e=f(2);s(),I(e.entry.presenceType==null?null:e.entry.presenceType.Designation)}}function Ei(n,r){if(n&1){let e=S();c(0,"button",12),C("click",function(){v(e);let i=f();return b(i.updatePresenceType(i.entry))}),L(1,Oi,2,1,"span"),a()}if(n&2){let e=f();s(),k(e.entry.presenceType!=null&&e.entry.presenceType.IsIncident?-1:1)}}function Bi(n,r){n&1&&W(0,"bkd-spinner",5)}function ji(n,r){if(n&1){let e=S();c(0,"button",13),C("click",function(){v(e);let i=f();return b(i.showPrecedingAbsences(i.entry))}),c(1,"i",14),d(2,"info"),a()()}}function Vi(n,r){if(n&1&&(c(0,"span",9),d(1),a()),n&2){let e=f();s(),y(" ",e.entry.lessonPresence.StudyClassNumber," ")}}function Fi(n,r){if(n&1){let e=S();c(0,"a",15),C("click",function(){v(e);let i=f();return b(i.updateIncident(i.entry))}),c(1,"i",4),d(2,"edit"),a(),c(3,"span"),d(4),p(5,"translate"),a()()}if(n&2){let e=f();s(4),I(m(5,1,(e.entry.presenceType==null?null:e.entry.presenceType.IsIncident)&&(e.entry.presenceType==null?null:e.entry.presenceType.Designation)||"presence-control.entry.incident"))}}var zn=(()=>{class n{get classNames(){return[this.entry.presenceCategory,this.viewMode].join(" ")}constructor(e,t,i,o){this.toastService=e,this.translate=t,this.modalService=i,this.loadingService=o,this.hasUnconfirmedAbsences=!1,this.showClassName=!1,this.togglePresenceType=new te,this.changeIncident=new te,this.entry$=new we(1),this.studentId$=this.entry$.pipe(u(({lessonPresence:l})=>l.StudentRef.Id)),this.loading$=this.entry$.pipe(T(l=>this.loadingService.loading(gt(l))))}ngOnChanges(e){e.entry&&this.entry$.next(e.entry.currentValue)}get isListViewMode(){return this.viewMode===pe.List}updatePresenceType(e){e.canChangePresenceType?this.togglePresenceType.emit(e):this.toastService.warning(this.translate.instant("presence-control.entry.update-warning"))}updateIncident(e){e.canChangeIncident&&this.changeIncident.emit(e)}showPrecedingAbsences(e){let t=this.modalService.open(Kn);t.componentInstance.precedingAbsences=e.precedingAbsences}static{this.\u0275fac=function(t){return new(t||n)(h(_e),h(K),h(ye),h(ce))}}static{this.\u0275cmp=D({type:n,selectors:[["bkd-presence-control-entry"]],hostVars:2,hostBindings:function(t,i){t&2&&Pt(i.classNames)},inputs:{entry:"entry",hasUnconfirmedAbsences:"hasUnconfirmedAbsences",viewMode:"viewMode",showClassName:"showClassName",profileReturnParams:"profileReturnParams"},outputs:{togglePresenceType:"togglePresenceType",changeIncident:"changeIncident"},features:[bt],decls:18,vars:20,consts:[[1,"avatar","large",3,"studentId","link","linkParams"],["type","button",1,"presence-category","designation","btn","btn-link"],["type","button",1,"presence-category","status","btn","btn-link",3,"click","disabled"],[1,"position-relative"],[1,"material-icons"],[1,"inline","small"],["type","button",1,"previously-absent","d-flex","btn","btn-link"],[1,"student-info",3,"routerLink","queryParams"],[1,"student-name","text-truncate"],[1,"study-class","text-truncate"],[1,"unconfirmed-absences"],[1,"incident","btn","btn-link"],["type","button",1,"presence-category","designation","btn","btn-link",3,"click"],["type","button",1,"previously-absent","d-flex","btn","btn-link",3,"click"],[1,"material-icons-outlined"],[1,"incident","btn","btn-link",3,"click"]],template:function(t,i){if(t&1){let o=S();L(0,Di,2,7,"bkd-avatar",0)(1,Ei,2,1,"button",1),G(2),p(3,"async"),c(4,"button",2),C("click",function(){return v(o),b(i.updatePresenceType(i.entry))}),c(5,"div",3)(6,"i",4),d(7),a(),L(8,Bi,1,0,"bkd-spinner",5),a()(),L(9,ji,3,0,"button",6),c(10,"a",7)(11,"span",8),d(12),a(),L(13,Vi,2,1,"span",9),c(14,"span",10),d(15),p(16,"translate"),a()(),L(17,Fi,6,3,"a",11)}if(t&2){k(i.isListViewMode?-1:0),s(),k(i.entry.showDesignation?1:-1);let o=m(3,14,i.loading$);s(3),x("disabled",o),s(2),J("invisible",o),s(),I(i.entry.presenceCategoryIcon),s(),k(o?8:-1),s(),k(i.entry.precedingAbsences!=null&&i.entry.precedingAbsences.length?9:-1),s(),x("routerLink",ne(18,Li,i.entry.lessonPresence.StudentRef.Id))("queryParams",i.profileReturnParams),s(2),I(i.entry.lessonPresence.StudentFullName),s(),k(i.isListViewMode&&i.showClassName?13:-1),s(2),y(" ",i.hasUnconfirmedAbsences?m(16,16,"presence-control.entry.unconfirmed-absences"):""," "),s(2),k(i.entry.canChangeIncident?17:-1)}},dependencies:[fn,be,Re,ie,V],styles:['[_nghost-%COMP%]{padding:2rem 1rem;background-color:#fff;display:grid;grid-template-areas:"avatar status designation previously-absent" "avatar student-info student-info student-info" "avatar incident incident incident";grid-template-columns:min-content min-content 3fr min-content}[_nghost-%COMP%] > *[_ngcontent-%COMP%]{align-self:center}.presence-category[_ngcontent-%COMP%]{text-decoration:none}.presence-category[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{top:.1875rem}.absent[_nghost-%COMP%] .presence-category[_ngcontent-%COMP%]{color:#ea161f}.present[_nghost-%COMP%] .presence-category[_ngcontent-%COMP%]{color:#3d8608}.unapproved[_nghost-%COMP%] .presence-category[_ngcontent-%COMP%]{color:#ffa814}.presence-category[_ngcontent-%COMP%] bkd-spinner[_ngcontent-%COMP%]{color:#000;position:absolute;top:4px;left:5px}.designation[_ngcontent-%COMP%], .student-info[_ngcontent-%COMP%], a.incident[_ngcontent-%COMP%], .incident[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.avatar[_ngcontent-%COMP%]{grid-area:avatar;margin-right:1.5rem}.status[_ngcontent-%COMP%]{grid-area:status}.status[_ngcontent-%COMP%] .material-icons[_ngcontent-%COMP%]{font-size:2rem}.designation[_ngcontent-%COMP%]{grid-area:designation;text-align:left;line-height:2.375rem}.previously-absent[_ngcontent-%COMP%]{grid-area:previously-absent;text-decoration:none;color:#00000080;justify-self:end}.student-info[_ngcontent-%COMP%]{grid-area:student-info;display:flex;flex-direction:column;text-decoration:none}.student-info[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:first-child{text-decoration:underline}.student-info[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:first-child:hover{text-decoration-color:#ea161f}.unconfirmed-absences[_ngcontent-%COMP%]{color:#ea161f;font-size:.875rem;line-height:1}.study-class[_ngcontent-%COMP%]{font-size:.875rem;line-height:1}.incident[_ngcontent-%COMP%]{color:#00000080;padding-right:1.5rem;grid-area:incident;display:flex;text-decoration:none}.incident[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{text-decoration:underline}.incident[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:hover{text-decoration-color:#ea161f}.incident[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{margin-right:.3em}.grid[_nghost-%COMP%] .status[_ngcontent-%COMP%], .grid[_nghost-%COMP%] .designation[_ngcontent-%COMP%]{align-self:start;margin-left:-1.5rem;margin-top:-.375rem}.grid[_nghost-%COMP%] .incident[_ngcontent-%COMP%]{align-self:end;margin-left:-1.5rem;margin-bottom:-.375rem}.grid[_nghost-%COMP%] .previously-absent[_ngcontent-%COMP%]{padding-right:0;align-self:start}.grid[_nghost-%COMP%] .unconfirmed-absences[_ngcontent-%COMP%]{height:.875rem}.list[_nghost-%COMP%]{grid-template-areas:"student-info status incidentordesignation previously-absent";grid-template-columns:3fr min-content 4fr 3em;padding:.5rem 1rem}.list[_nghost-%COMP%] .status[_ngcontent-%COMP%]{justify-self:start}.list[_nghost-%COMP%] .student-name[_ngcontent-%COMP%]{line-height:1;margin-bottom:.5rem}.list[_nghost-%COMP%] .incident[_ngcontent-%COMP%], .list[_nghost-%COMP%] .designation[_ngcontent-%COMP%]{grid-area:incidentordesignation}.list[_nghost-%COMP%] .previously-absent[_ngcontent-%COMP%]{padding-right:0}@media (max-width: 750px){.list[_nghost-%COMP%]{grid-template-areas:"student-info student-info student-info previously-absent" "status incidentordesignation incidentordesignation incidentordesignation";grid-template-columns:min-content 1fr 1fr min-content;row-gap:1rem}.list[_nghost-%COMP%] .status[_ngcontent-%COMP%]{padding-left:0;padding-right:0}.list[_nghost-%COMP%] .student-name[_ngcontent-%COMP%]{margin-top:.5rem}.list[_nghost-%COMP%] .previously-absent[_ngcontent-%COMP%]{align-self:start}}']})}}return n})();var Ai=(n,r)=>r.viewMode,Ri=(n,r)=>r.id,Gi=(n,r)=>({"btn-link":n,"btn-danger":r}),Ni=n=>["groups",n],Ui=n=>({returnparams:n});function Hi(n,r){if(n&1){let e=S();c(0,"div",22),C("click",function(){v(e);let i=f();return b(i.lessonDropdown==null?null:i.lessonDropdown.toggle())}),d(1),p(2,"date"),c(3,"span",23),d(4),p(5,"date"),a()()}if(n&2){let e=f();s(),y(" ",U(2,2,e.selectedLesson.LessonDateTimeFrom,"HH:mm"),"\u2013"),s(3),I(U(5,5,e.selectedLesson.LessonDateTimeTo,"HH:mm"))}}function qi(n,r){if(n&1){let e=S();c(0,"div",28),C("click",function(){let i=v(e).$implicit,o=f(2);return b(o.selectLessonChange.emit(i))}),c(1,"div",29)(2,"div"),d(3),p(4,"date"),p(5,"date"),a(),c(6,"div",25),d(7),a(),c(8,"div",25),d(9),a()()()}if(n&2){let e=r.$implicit,t=f(2);J("active",e.id===t.selectedLesson.id),s(3),Tt(" ",U(4,6,e.LessonDateTimeFrom,"HH:mm"),"\u2013",U(5,9,e.LessonDateTimeTo,"HH:mm")," "),s(4),y(" ",e.eventDesignations," "),s(2),y(" ",e.studyClassNumbers," ")}}function Wi(n,r){if(n&1&&(c(0,"div",7)(1,"div",24)(2,"div",25),d(3),a(),c(4,"div",25),d(5),a()(),c(6,"div",26),B(7,qi,10,12,"div",27,Ri),a()()),n&2){let e=f();s(3),I(e.selectedLesson.eventDesignations),s(2),I(e.selectedLesson.studyClassNumbers),s(2),j(e.lessons)}}function Qi(n,r){if(n&1){let e=S();c(0,"bkd-caret",30),C("click",function(){v(e);let i=f();return b(i.lessonDropdown==null?null:i.lessonDropdown.toggle())}),a()}if(n&2){let e=f();x("expanded",(e.lessonDropdown==null?null:e.lessonDropdown.isOpen())||!1)}}function Ki(n,r){if(n&1&&(c(0,"a",19),p(1,"async"),p(2,"async"),p(3,"async"),c(4,"i",31),d(5,"groups"),a()()),n&2){let e=f();x("ngClass",$t(9,Gi,m(1,3,e.isGroupSelected$)===!1,m(2,5,e.isGroupSelected$)))("routerLink",ne(12,Ni,e.selectedLesson.id))("queryParams",ne(14,Ui,m(3,7,e.state.queryParamsString$)))}}function zi(n,r){if(n&1){let e=S();c(0,"button",32),C("click",function(){let i=v(e).$implicit,o=f();return b(o.viewModeChange.emit(i.viewMode))}),c(1,"i",31),d(2),a()()}if(n&2){let e=r.$implicit,t=f();J("btn-outline-secondary",e.viewMode===t.viewMode)("btn-link",e.viewMode!==t.viewMode)("active",e.viewMode===t.viewMode),x("disabled",!t.selectedLesson),s(2),I(e.icon)}}var Ji=Le.prototype._positionMenu;Le.prototype._positionMenu=function(...r){let e=Ji.apply(this,r);if(this._anchor.nativeElement.id==="lesson-dropdown"){let t=this._bodyContainer||this._menu.nativeElement,i=t.style.transform?.match(/translate\(([0-9-.]+)px, ([0-9-.]+)px\)/);i&&parseFloat(i[1])<0&&(t.style.transform=`translate(0px, ${i[2]}px)`)}return e};var Jn=(()=>{class n{constructor(e,t,i){this.state=e,this.groupService=t,this.presentCount=null,this.absentCount=null,this.unapprovedCount=null,this.absentPrecedingCount=null,this.search="",this.selectLessonChange=new te,this.selectDateChange=new te,this.searchChange=new te,this.viewModeChange=new te,this.viewModeOptions=[{viewMode:pe.List,icon:"list"},{viewMode:pe.Grid,icon:"view_module"}],this.isGroupSelected$=this.groupService.group$.pipe(u(Kt)),i.popperOptions=o=>de(le({},o),{modifiers:o.modifiers?.map(l=>(l.name==="offset"&&(l.options={offset:({placement:g,reference:w,popper:F})=>g==="bottom-start"?[(window.innerWidth-F.width)/2-w.x,0]:[]}),l))})}static{this.\u0275fac=function(t){return new(t||n)(h(N),h(ae),h(Ge))}}static{this.\u0275cmp=D({type:n,selectors:[["bkd-presence-control-header"]],viewQuery:function(t,i){if(t&1&&xt(Le,5),t&2){let o;It(o=wt())&&(i.lessonDropdown=o.first)}},inputs:{selectedLesson:"selectedLesson",lessons:"lessons",presentCount:"presentCount",absentCount:"absentCount",unapprovedCount:"unapprovedCount",absentPrecedingCount:"absentPrecedingCount",viewMode:"viewMode",selectDate:"selectDate",search:"search"},outputs:{selectLessonChange:"selectLessonChange",selectDateChange:"selectDateChange",searchChange:"searchChange",viewModeChange:"viewModeChange"},features:[ue([Ge,{provide:At,useClass:Nt},{provide:Rt,useClass:yn}])],decls:41,vars:19,consts:[["d","ngbDatepicker"],[1,"navigation"],[1,"lesson-date"],["type","button",1,"btn","btn-link",3,"click"],[1,"material-icons"],["positionTarget",".lesson-date-input","ngbDatepicker","","placement","bottom-start",1,"lesson-date-input",3,"ngModelChange","ngModel"],[1,"lesson-time"],["ngbDropdown","","container","body","display","dynamic","placement","bottom",1,"lesson-description"],[1,"dropdown-caret",3,"expanded"],[1,"states"],[1,"state","present"],[1,"count"],[1,"state","absent"],[1,"state","unapproved"],[1,"state","previously-absent"],[1,"material-icons-outlined"],[1,"search-and-views"],[1,"search",3,"valueChange","value","disabled","placeholder","label"],[1,"group-and-views","d-flex","align-items-center"],["type","button",1,"group","btn","me-2","me-sm-4",3,"ngClass","routerLink","queryParams"],[1,"views"],["type","button",1,"view","btn","btn-primary","btn-icon",3,"disabled","btn-outline-secondary","btn-link","active"],[1,"lesson-time",3,"click"],[1,"lesson-time-to"],["id","lesson-dropdown","ngbDropdownToggle",""],[1,"text-truncate"],["ngbDropdownMenu","","aria-labelledby","lesson-dropdown"],["ngbDropdownItem","",3,"active"],["ngbDropdownItem","",3,"click"],[1,"lesson-entry"],[1,"dropdown-caret",3,"click","expanded"],[1,"material-icons","align-middle"],["type","button",1,"view","btn","btn-primary","btn-icon",3,"click","disabled"]],template:function(t,i){if(t&1){let o=S();c(0,"div",1)(1,"div",2)(2,"button",3),C("click",function(){v(o);let g=Mt(6);return b(g.toggle())}),c(3,"i",4),d(4,"calendar_today"),a()(),c(5,"input",5,0),C("ngModelChange",function(g){return v(o),b(i.selectDateChange.emit(g))}),a()(),L(7,Hi,6,8,"div",6)(8,Wi,9,2,"div",7)(9,Qi,1,1,"bkd-caret",8),a(),c(10,"div",9)(11,"div",10)(12,"i",4),d(13,"check_circle"),a(),c(14,"span",11),d(15),a()(),c(16,"div",12)(17,"i",4),d(18,"cancel"),a(),c(19,"span",11),d(20),a()(),c(21,"div",13)(22,"i",4),d(23,"help"),a(),c(24,"span",11),d(25),a()(),c(26,"div",14)(27,"i",15),d(28,"info"),a(),c(29,"span",11),d(30),a()()(),c(31,"div",16)(32,"bkd-resettable-input",17),p(33,"translate"),p(34,"translate"),C("valueChange",function(g){return v(o),b(i.searchChange.emit(g))}),a(),c(35,"div",18),L(36,Ki,6,16,"a",19),p(37,"async"),c(38,"div",20),B(39,zi,3,8,"button",21,Ai),a()()()}t&2&&(s(5),x("ngModel",i.selectDate),s(2),k(i.selectedLesson?7:-1),s(),k(i.selectedLesson?8:-1),s(),k(i.lessons.length>0?9:-1),s(6),I(i.presentCount!==null?i.presentCount:"?"),s(5),I(i.absentCount!==null?i.absentCount:"?"),s(5),I(i.unapprovedCount!==null?i.unapprovedCount:"?"),s(5),I(i.absentPrecedingCount!==null?i.absentPrecedingCount:"?"),s(2),x("value",i.search)("disabled",!i.selectedLesson)("placeholder",m(33,13,"presence-control.header.search-by-name"))("label",m(34,15,"presence-control.header.search")),s(4),k(m(37,17,i.selectedLesson&&i.state.groupsAvailability$)?36:-1),s(3),j(i.viewModeOptions))},dependencies:[Gt,oe,jt,Vt,Ft,Le,qt,Ht,Ut,cn,_n,Ot,Re,ie,ge,V],styles:['[_nghost-%COMP%]{display:flex;flex-direction:column;padding:.75rem 0}.navigation[_ngcontent-%COMP%]{display:grid;grid-template-areas:". date time dropdown-caret" ". description description dropdown-caret";grid-template-columns:1fr auto auto 1fr;align-items:center}.lesson-date[_ngcontent-%COMP%]{grid-area:date;justify-self:end;display:flex;align-items:center;justify-content:flex-end}.lesson-date[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{padding:0 .5ch 0 0}.lesson-date[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:#000;position:relative}.lesson-date-input[_ngcontent-%COMP%]{font-weight:600;background:transparent;border:none;width:11ch}.lesson-time[_ngcontent-%COMP%]{grid-area:time;cursor:pointer}.lesson-description[_ngcontent-%COMP%]{grid-area:description;overflow:hidden;text-align:center;cursor:pointer}.dropdown-toggle[_ngcontent-%COMP%]{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.dropdown-toggle[_ngcontent-%COMP%]:after{display:none}.dropdown-caret[_ngcontent-%COMP%]{grid-area:dropdown-caret;line-height:100%;text-align:left;color:#000}.dropdown-menu[_ngcontent-%COMP%]{width:50ch;padding:0;box-shadow:2px 2px 3px -1px #0003}@media (max-width: 800px){.dropdown-menu[_ngcontent-%COMP%]{width:100vw}}.dropdown-item[_ngcontent-%COMP%]{padding:1rem;border-bottom:1px solid #dee2e6}.states[_ngcontent-%COMP%]{margin:.75rem 0;display:flex;justify-content:center}.state[_ngcontent-%COMP%]{margin-right:7%;display:flex}.state[_ngcontent-%COMP%]:last-child{margin-right:0}@media (min-width: 1000px){.state[_ngcontent-%COMP%]{margin-right:4rem}}.state.present[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:#3d8608}.state.absent[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:#ea161f}.state.unapproved[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:#ffa814}.state.previously-absent[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{color:#00000080}.state[_ngcontent-%COMP%] .count[_ngcontent-%COMP%]{margin-left:.3em;margin-top:1px}.search-and-views[_ngcontent-%COMP%]{padding-top:.75rem;display:flex;justify-content:space-between;border-top:1px solid #dee2e6}.search[_ngcontent-%COMP%]{flex:auto;max-width:300px;margin-right:1rem}.views[_ngcontent-%COMP%]{display:flex}.view[_ngcontent-%COMP%]{color:#4e4e4ef2;background-color:#fff}.view.active[_ngcontent-%COMP%]{color:#fff;background-color:#4e4e4ef2;border:none}.group[_ngcontent-%COMP%], .view[_ngcontent-%COMP%]{text-decoration:none;padding-left:0;padding-right:0;aspect-ratio:1/1;width:calc(.75rem + 2 * var(--bs-border-width) + 1.625rem);border-radius:50%}.group.btn-link[_ngcontent-%COMP%]{color:#000}@media (max-width: 380px){[_nghost-%COMP%]{padding-left:.5rem;padding-right:.5rem}#search-addon[_ngcontent-%COMP%]{padding-left:.5rem;padding-right:.5rem}}@media (max-width: 365px){.lesson-time[_ngcontent-%COMP%]{line-height:1}.lesson-time-to[_ngcontent-%COMP%]{display:block}.dropdown-caret[_ngcontent-%COMP%]{padding-left:0}}']})}}return n})();var Xi=(n,r)=>r.id;function Yi(n,r){if(n&1){let e=S();c(0,"div",1)(1,"input",5),C("change",function(){let i=v(e).$implicit,o=f();return b(o.onSelectionChange(i))}),a(),c(2,"label",6),d(3),a()()}if(n&2){let e=r.$implicit,t=r.$index,i=f();s(),X("id","incident-",t,""),x("checked",e.id===i.selected.id)("value",e.id),s(),X("for","incident-",t,""),s(),y(" ",e.label," ")}}var Xn=(()=>{class n{constructor(e,t){this.activeModal=e,this.translate=t,this.incidentOptions=[]}ngOnInit(){let e=this.createIncidentOption();this.incidentOptions=this.incidentTypes.map(t=>this.createIncidentOption(t)),this.incidentOptions.unshift(e),this.selected=this.incidentOptions.find(t=>t.id===this.incident?.Id)||e}createIncidentOption(e){return{id:e?e.Id:null,label:e?e.Designation:this.translate.instant("presence-control.incident.no-incident")}}onSelectionChange(e){this.selected=e}getSelectedIncident(){return this.incidentTypes.find(e=>e.Id===this.selected?.id)||null}static{this.\u0275fac=function(t){return new(t||n)(h(re),h(K))}}static{this.\u0275cmp=D({type:n,selectors:[["bkd-presence-control-incident"]],inputs:{incident:"incident",incidentTypes:"incidentTypes"},decls:14,vars:9,consts:[[1,"modal-body"],[1,"form-check"],[1,"modal-footer"],["type","button",1,"btn","btn-outline-secondary",3,"click"],["type","button",1,"btn","btn-primary",3,"click"],["type","radio","name","incident",1,"form-check-input",3,"change","id","checked","value"],[1,"form-check-label",3,"for"]],template:function(t,i){t&1&&(c(0,"div",0)(1,"p"),d(2),p(3,"translate"),a(),c(4,"form"),B(5,Yi,4,7,"div",1,Xi),a()(),c(7,"div",2)(8,"button",3),C("click",function(){return i.activeModal.dismiss()}),d(9),p(10,"translate"),a(),c(11,"button",4),C("click",function(){return i.activeModal.close(i.getSelectedIncident())}),d(12),p(13,"translate"),a()()),t&2&&(s(2),y(" ",m(3,3,"presence-control.incident.text")," "),s(3),j(i.incidentOptions),s(4),y(" ",m(10,5,"presence-control.incident.cancel")," "),s(3),y(" ",m(13,7,"presence-control.incident.save")," "))},dependencies:[oe,Ce,fe,he,V],styles:["form[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]:first-child{border-bottom:1px solid #dee2e6;padding-bottom:1rem;margin-bottom:1rem}"]})}}return n})();var Zi=20,eo=100,Ee=function(n){return n.AddUpdateAction="ADD",n.RemoveUpdateAction="REMOVE",n}(Ee||{}),et=(()=>{class n{constructor(e,t,i,o,l){this.toastService=e,this.translate=t,this.restService=i,this.presenceTypesService=o,this.settings=l,this.destroy$=new $,this.action$=new $,this.pendingUpdates$=this.action$.pipe(_t(this.reduceUpdates.bind(this),[]),vt()),this.revertUpdates$=new $,this.performUpdates$=this.pendingUpdates$.pipe(tt(eo),Te(Ue(st)),Ct(this.performUpdates.bind(this))),this.stateUpdates$=ee(this.pendingUpdates$,this.revertUpdates$).pipe(tt(Zi),Te(Ue(st))),this.performUpdates$.pipe(q(this.destroy$)).subscribe()}ngOnDestroy(){this.destroy$.next()}updatePresenceType(e,t=null){this.dispatchAddUpdate(e.lessonPresence,t)}performUpdates(e){let t=this.groupUpdates(e);return M(Object.keys(t).reduce((i,o)=>{let l=t[o];return Object.keys(l).forEach(g=>{let w=l[g];i.push(this.performUpdateForGroup(w))}),i},[])).pipe(u(()=>t))}performUpdateForGroup(e){return e.forEach(t=>this.dispatchRemoveUpdate(t.presence)),this.performLessonPresencesUpdatesByIds(e[0].presence.LessonRef.Id,e.map(t=>t.presence.StudentRef.Id),e[0].newPresenceTypeId).pipe(ht(t=>this.revertUpdatesAfterError(e,t)))}performLessonPresencesUpdatesByIds(e,t,i=null){return i?(i?this.presenceTypesService.getPresenceType(i):Z(null)).pipe(T(l=>this.restService.editLessonPresences([e],t,l?.Id,He(l,this.settings)||void 0,{context:new it().set(ct,{disableErrorHandling:!0})}))):this.restService.removeLessonPresences([e],t,{context:new it().set(ct,{disableErrorHandling:!0})})}revertUpdatesAfterError(e,t){return console.error("Bulk-update of lesson presences failed"),console.error(t),this.toastService.error(this.translate.instant("shared.lesson-presences-update.error")),this.revertUpdates$.next(e.map(i=>de(le({},i),{newPresenceTypeId:i.presence.TypeRef.Id}))),Z(void 0)}groupUpdates(e){return e.reduce((t,i)=>{let o=String(i.newPresenceTypeId&&i.newPresenceTypeId);return t[o]||(t[o]={}),Array.isArray(t[o][i.presence.LessonRef.Id])||(t[o][i.presence.LessonRef.Id]=[]),t[o][i.presence.LessonRef.Id].push(i),t},{})}reduceUpdates(e,t){switch(t.type){case Ee.AddUpdateAction:{let{presence:i,newPresenceTypeId:o}=t.payload,l=e.findIndex(Yn(i));return l===-1?[...e,{presence:i,newPresenceTypeId:o}]:[...e.slice(0,l),{presence:e[l].presence,newPresenceTypeId:o},...e.slice(l+1)]}case Ee.RemoveUpdateAction:return e.filter(Ue(Yn(t.payload)));default:return e}}dispatchAddUpdate(e,t){this.action$.next({type:Ee.AddUpdateAction,payload:{presence:e,newPresenceTypeId:t}})}dispatchRemoveUpdate(e){this.action$.next({type:Ee.RemoveUpdateAction,payload:e})}static{this.\u0275fac=function(t){return new(t||n)(_(_e),_(K),_(sn),_(ve),_(H))}}static{this.\u0275prov=R({token:n,factory:n.\u0275fac,providedIn:"root"})}}return n})();function Yn(n){return r=>r.presence.LessonRef.Id===n.LessonRef.Id&&r.presence.StudentRef.Id===n.StudentRef.Id}var to=(n,r)=>r.id,no=()=>[],io=n=>({returnparams:n});function oo(n,r){n&1&&W(0,"bkd-spinner")}function ro(n,r){n&1&&(c(0,"p",1),d(1),p(2,"translate"),a()),n&2&&(s(),I(m(2,1,"presence-control.no-lessons")))}function so(n,r){n&1&&(c(0,"p",1),d(1),p(2,"translate"),a()),n&2&&(s(),y(" ",m(2,1,"presence-control.no-lesson-presences")," "))}function co(n,r){if(n&1){let e=S();c(0,"bkd-presence-control-entry",4),p(1,"async"),p(2,"async"),p(3,"async"),p(4,"async"),C("togglePresenceType",function(i){v(e);let o=f(3);return b(o.togglePresenceType(i))})("changeIncident",function(i){v(e);let o=f(3);return b(o.changeIncident(i))}),a()}if(n&2){let e,t=r.$implicit,i=f(3);x("entry",t)("hasUnconfirmedAbsences",m(1,5,i.state.hasUnconfirmedAbsences(t)))("viewMode",m(2,7,i.state.viewMode$))("showClassName",((e=m(3,9,i.state.studyClassCount$))!==null&&e!==void 0?e:0)>1)("profileReturnParams",ne(13,io,m(4,11,i.state.queryParamsString$)))}}function ao(n,r){if(n&1&&(c(0,"div"),p(1,"async"),B(2,co,5,15,"bkd-presence-control-entry",3,to),a()),n&2){let e=f(2),t=Q(4);Ve("default-entries entries view-mode-",m(1,3,e.state.viewMode$),""),s(2),j(t)}}function po(n,r){if(n&1){let e=S();c(0,"bkd-presence-control-header",0),p(1,"async"),p(2,"async"),p(3,"async"),p(4,"async"),p(5,"async"),p(6,"async"),p(7,"async"),C("searchChange",function(i){v(e);let o=f();return b(o.search$.next(i))})("viewModeChange",function(i){v(e);let o=f();return b(o.state.setViewMode(i))})("selectDateChange",function(i){v(e);let o=f();return b(o.state.setDate(i))})("selectLessonChange",function(i){v(e);let o=f();return b(o.state.setLessonId(i.id))}),a(),L(8,ro,3,3,"p",1)(9,so,3,3,"p",1)(10,ao,4,5,"div",2)}if(n&2){let e=f(),t=Q(0),i=Q(2),o=Q(4);x("selectedLesson",t)("lessons",i)("presentCount",m(1,10,e.state.presentCount$))("absentCount",m(2,12,e.state.absentCount$))("unapprovedCount",m(3,14,e.state.unapprovedCount$))("absentPrecedingCount",m(4,16,e.state.absentPrecedingCount$))("viewMode",m(5,18,e.state.viewMode$))("selectDate",m(6,20,e.state.selectedDate$))("search",m(7,22,e.search$)),s(8),k(t?o.length===0?9:10:8)}}var lo=["studentFullName"],ei=(()=>{class n{constructor(e,t,i,o,l,g,w){this.state=e,this.blockLessons=t,this.lessonPresencesUpdateService=i,this.presenceTypesService=o,this.modalService=l,this.scrollPosition=g,this.route=w,this.search$=new me(""),this.entries$=M([this.state.presenceControlEntriesByGroup$,this.search$]).pipe(u(([F,Se])=>vn(F,lo,Se)),E(1)),this.destroy$=new $}ngOnInit(){this.route.queryParams.pipe(q(this.destroy$)).subscribe(this.restoreStateFromParams.bind(this))}ngAfterViewInit(){this.scrollPosition.restore()}ngOnDestroy(){this.destroy$.next()}doTogglePresenceType(e){e.forEach(t=>this.state.getNextPresenceType(t).subscribe(i=>this.lessonPresencesUpdateService.updatePresenceType(t,i?i.Id:null)))}togglePresenceType(e){this.blockLessons.getBlockLessonPresenceControlEntries(e).pipe(O(1)).subscribe(t=>{if(t.length===1){let i=t[0];this.doTogglePresenceType([i])}else{let i=this.modalService.open(Qn);i.componentInstance.entry=e,i.componentInstance.blockPresenceControlEntries=t,i.result.then(o=>{o&&this.doTogglePresenceType(o)},()=>{})}})}updateIncident(e,t){this.lessonPresencesUpdateService.updatePresenceType(e,t)}changeIncident(e){this.presenceTypesService.incidentTypes$.subscribe(t=>{let i=this.modalService.open(Xn);i.componentInstance.incident=t.find(o=>o.Id===e.presenceType?.Id)||null,i.componentInstance.incidentTypes=t,i.result.then(o=>{this.updateIncident(e,o?.Id||null)},()=>{})})}restoreStateFromParams(e){e.date&&this.state.setDate(Bt(e.date));let t=String(e.lesson);t&&this.state.setLessonId(t),e.viewMode&&Un.includes(e.viewMode)&&this.state.setViewMode(e.viewMode)}static{this.\u0275fac=function(t){return new(t||n)(h(N),h(Ze),h(et),h(ve),h(ye),h(Sn),h(Ae))}}static{this.\u0275cmp=D({type:n,selectors:[["bkd-presence-control-list"]],decls:12,vars:16,consts:[[3,"searchChange","viewModeChange","selectDateChange","selectLessonChange","selectedLesson","lessons","presentCount","absentCount","unapprovedCount","absentPrecedingCount","viewMode","selectDate","search"],[1,"mt-3"],[3,"class"],[3,"entry","hasUnconfirmedAbsences","viewMode","showClassName","profileReturnParams"],[3,"togglePresenceType","changeIncident","entry","hasUnconfirmedAbsences","viewMode","showClassName","profileReturnParams"]],template:function(t,i){if(t&1&&(G(0),p(1,"async"),G(2),p(3,"async"),G(4),p(5,"async"),c(6,"h1"),d(7),p(8,"translate"),a(),L(9,oo,1,0,"bkd-spinner"),p(10,"async"),L(11,po,11,24)),t&2){let o;Y(m(1,2,i.state.selectedLesson$)),s(2),Y(m(3,5,i.state.lessons$)),s(2),Y((o=m(5,8,i.entries$))!==null&&o!==void 0?o:ke(15,no)),s(3),I(m(8,11,"presence-control.title")),s(2),k(m(10,13,i.state.loading$)?9:11)}},dependencies:[Jn,zn,be,ie,V],styles:["bkd-presence-control-entry[_ngcontent-%COMP%]{border-bottom:1px solid #dee2e6}.entries.view-mode-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr))}.entries.view-mode-grid[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{border-right:1px solid #dee2e6}[_nghost-%COMP%]{display:block;overflow:hidden;width:100%}.entries.view-mode-grid[_ngcontent-%COMP%]{width:calc(100% + 1px)}"],changeDetection:0})}}return n})();var ti=(()=>{class n{constructor(e,t){this.state=e,this.lessonPresencesUpdateService=t,this.destroy$=new $}ngOnInit(){this.lessonPresencesUpdateService.stateUpdates$.pipe(q(this.destroy$)).subscribe(e=>this.state.updateLessonPresencesTypes(e))}ngOnDestroy(){this.destroy$.next()}static{this.\u0275fac=function(t){return new(t||n)(h(N),h(et))}}static{this.\u0275cmp=D({type:n,selectors:[["bkd-presence-control"]],features:[ue([N,Ze,ae,on,{provide:zt,useExisting:N}])],decls:1,vars:0,template:function(t,i){t&1&&W(0,"router-outlet")},dependencies:[Et],encapsulation:2,changeDetection:0})}}return n})();var sc=[{path:"",component:ti,children:[{path:"",component:ei,data:{restoreScrollPositionFrom:["/presence-control/student/:id/addresses","/presence-control/student/:id/absences","/presence-control/student/:id/grades"]}},Cn,{path:"groups/:id",component:Wn}]}];export{sc as PRESENCE_CONTROL_ROUTES}; diff --git a/public/apps/webapp-schulverwaltung/chunk-G6EB45SC.js b/public/apps/webapp-schulverwaltung/chunk-G6EB45SC.js new file mode 100644 index 00000000..46341781 --- /dev/null +++ b/public/apps/webapp-schulverwaltung/chunk-G6EB45SC.js @@ -0,0 +1 @@ +import{M as g,O as s,P as i,k as p,l as f,n as a,o as l,x as c}from"./chunk-2W7IS4PN.js";function b(r,t,e){return l([r,t]).pipe(c(([n,u])=>u),i(([n,u])=>{let o=e?n?.get(e)||null:n;return o?o.statusChanges.pipe(s(o.status),a(()=>h(o))):f([])}),s([]),g(1))}function m(r,t){return r.pipe(a(e=>e.get(t)||null))}function d(r,t){return m(r,t).pipe(i(e=>e?e.valueChanges:p))}function h(r){return r?Object.keys(r.errors||{}).map(t=>({error:t,params:r.errors&&r.errors[t]instanceof Object?r.errors[t]:null})):[]}function E(r){return t=>r(...t)}export{b as a,m as b,d as c,E as d}; diff --git a/public/apps/webapp-schulverwaltung/chunk-GOGVGWFJ.js b/public/apps/webapp-schulverwaltung/chunk-GOGVGWFJ.js deleted file mode 100644 index 3047c8b9..00000000 --- a/public/apps/webapp-schulverwaltung/chunk-GOGVGWFJ.js +++ /dev/null @@ -1 +0,0 @@ -import{M as I,O as i,P as p,k as m,l as x,n as c,o as f,x as l}from"./chunk-2W7IS4PN.js";function C(t,o,n){return f([t,o]).pipe(l(([r,a])=>a),p(([r,a])=>{let e=n?r?.get(n)||null:r;return e?e.statusChanges.pipe(i(e.status),c(()=>h(e))):x([])}),i([]),I(1))}function y(t,o){return t.pipe(c(n=>n.get(o)||null))}function j(t,o){return y(t,o).pipe(p(n=>n?n.valueChanges:m))}function h(t){return t?Object.keys(t.errors||{}).map(o=>({error:o,params:t.errors&&t.errors[o]instanceof Object?t.errors[o]:null})):[]}function w(t){return o=>t(...o)}var b=Math.pow(10,8)*24*60*60*1e3,T=-b,W=6048e5,E=864e5,H=6e4,z=36e5,O=1e3;var D=3600;var d=D*24,Q=d*7,M=d*365.2425,Y=M/12,V=Y*3,u=Symbol.for("constructDateFrom");function s(t,o){return typeof t=="function"?t(o):t&&typeof t=="object"&&u in t?t[u](o):t instanceof Date?new t.constructor(o):new Date(o)}function P(t,o){return s(o||t,t)}function G(t,...o){let n=s.bind(null,t||o.find(r=>typeof r=="object"));return o.map(n)}export{C as a,y as b,j as c,W as d,E as e,H as f,z as g,O as h,s as i,P as j,G as k,w as l}; diff --git a/public/apps/webapp-schulverwaltung/chunk-GPCFUPHW.js b/public/apps/webapp-schulverwaltung/chunk-GPCFUPHW.js deleted file mode 100644 index 1faf8b82..00000000 --- a/public/apps/webapp-schulverwaltung/chunk-GPCFUPHW.js +++ /dev/null @@ -1 +0,0 @@ -import{b as a,c as b}from"./chunk-24V6FPDD.js";import"./chunk-ZCHQQKGF.js";import"./chunk-QB4DIFWS.js";import"./chunk-YQAWVQ54.js";import"./chunk-THL2WTJD.js";import"./chunk-5WNFCBTP.js";import"./chunk-LASWC23V.js";import"./chunk-HCNFZOWE.js";import"./chunk-746ASKQ4.js";import"./chunk-DTTSX64G.js";import"./chunk-Y4QYVF5K.js";import"./chunk-AYQPMCNZ.js";import"./chunk-BIDSHCYH.js";import"./chunk-4RZQAAPF.js";import"./chunk-Z4YBXGVO.js";import"./chunk-3L4RH6QP.js";import"./chunk-DTYYCJHM.js";import"./chunk-XAZECV42.js";import"./chunk-SRCW6BUG.js";import"./chunk-GOGVGWFJ.js";import"./chunk-OSOXMODN.js";import"./chunk-PSYDBHTH.js";import"./chunk-W4U7QKJF.js";import"./chunk-AVBHFGIF.js";import"./chunk-2W7IS4PN.js";export{b as EVENTS_ROUTES,a as getStudentsRoute}; diff --git a/public/apps/webapp-schulverwaltung/chunk-YQAWVQ54.js b/public/apps/webapp-schulverwaltung/chunk-IGEPJF2N.js similarity index 91% rename from public/apps/webapp-schulverwaltung/chunk-YQAWVQ54.js rename to public/apps/webapp-schulverwaltung/chunk-IGEPJF2N.js index 60d6a881..04a9647a 100644 --- a/public/apps/webapp-schulverwaltung/chunk-YQAWVQ54.js +++ b/public/apps/webapp-schulverwaltung/chunk-IGEPJF2N.js @@ -1 +1 @@ -import{n as e}from"./chunk-LASWC23V.js";import{e as p}from"./chunk-Z4YBXGVO.js";import{Md as o,P as i,X as c,_ as s,cd as m,lc as n}from"./chunk-2W7IS4PN.js";var I=(()=>{class t extends p{constructor(a,r){super(a,r,e,"StudyClasses","Number")}getActive(){return this.http.get(`${this.baseUrl}/?filter.IsActive==true`,{headers:{"X-Role-Restriction":"ClassTeacherRole"}}).pipe(i(o(e)))}getActiveFormativeAssessments(){return this.http.get(`${this.baseUrl}/FormativeAssessments?filter.IsActive==true`,{headers:{"X-Role-Restriction":"ClassTeacherRole"}}).pipe(i(o(e)))}static{this.\u0275fac=function(r){return new(r||t)(s(n),s(m))}}static{this.\u0275prov=c({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();export{I as a}; +import{n as e}from"./chunk-PXVJ3QLD.js";import{e as p}from"./chunk-Z4YBXGVO.js";import{Md as o,P as i,X as c,_ as s,cd as m,lc as n}from"./chunk-2W7IS4PN.js";var I=(()=>{class t extends p{constructor(a,r){super(a,r,e,"StudyClasses","Number")}getActive(){return this.http.get(`${this.baseUrl}/?filter.IsActive==true`,{headers:{"X-Role-Restriction":"ClassTeacherRole"}}).pipe(i(o(e)))}getActiveFormativeAssessments(){return this.http.get(`${this.baseUrl}/FormativeAssessments?filter.IsActive==true`,{headers:{"X-Role-Restriction":"ClassTeacherRole"}}).pipe(i(o(e)))}static{this.\u0275fac=function(r){return new(r||t)(s(n),s(m))}}static{this.\u0275prov=c({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();export{I as a}; diff --git a/public/apps/webapp-schulverwaltung/chunk-LASWC23V.js b/public/apps/webapp-schulverwaltung/chunk-LASWC23V.js deleted file mode 100644 index 39e416c7..00000000 --- a/public/apps/webapp-schulverwaltung/chunk-LASWC23V.js +++ /dev/null @@ -1,3 +0,0 @@ -import{a as yt}from"./chunk-Y4QYVF5K.js";import{a as xt}from"./chunk-AYQPMCNZ.js";import{b as Tt,c as _t,d as wt}from"./chunk-3L4RH6QP.js";import{b as Gt}from"./chunk-OSOXMODN.js";import{a as se}from"./chunk-PSYDBHTH.js";import{C as Ce,c as ft,d as ht,e as It,f as St,g as bt,r as vt,s as Ct,w as ve}from"./chunk-W4U7QKJF.js";import{$a as d,Ab as pe,Ad as Se,Bb as ce,Bd as gt,Cb as U,D as we,Eb as Xe,Fb as fe,Ga as D,H as qe,Hc as h,Ic as o,Ja as Q,Jb as c,Jc as j,K as Ke,Kb as f,Lb as L,Ld as q,M as Ee,Mb as Je,Mc as w,Md as N,Na as T,Nc as b,Ob as Ye,Oc as he,Od as be,P as v,Pd as M,Qa as G,Qc as $e,R as Pe,Ra as De,Uc as u,Va as _,Wc as it,X as R,Ya as Z,Za as ee,Zb as Qe,_ as x,_a as l,_c as re,a as O,ab as te,ac as Ze,ad as nt,b as F,c as He,cc as k,cd as W,da as H,dc as et,ea as J,eb as ie,ec as tt,f as ue,fa as Y,fd as rt,g as A,gb as V,h as oe,hb as S,hd as Re,id as Ie,kb as ge,l as Ge,lc as ne,ld as st,m as Ue,ma as ze,md as at,n as m,o as de,od as ot,qb as le,qd as dt,rb as p,s as me,sb as $,tb as C,td as lt,ud as pt,vd as ct,w as Le,wd as ut,x as We,xa as a,xd as mt,ya as P}from"./chunk-2W7IS4PN.js";var ri=(t,r)=>r.Key,si=t=>({width:t});function ai(t,r){if(t&1&&(l(0,"option",1),p(1),c(2,"translate"),d()),t&2){let e=S();G("ngValue",null),a(),C(" ",f(2,2,e.emptyLabel)," ")}}function oi(t,r){if(t&1&&(l(0,"option",1),p(1),d()),t&2){let e=r.$implicit;G("ngValue",e),a(),C(" ",e.Value," ")}}var Et=(()=>{class t{constructor(){this.options=[],this.allowEmpty=!0,this.emptyLabel="",this.value=null,this.disabled=!1,this.tabindex=0,this.width="auto",this.valueChange=new ze,this.options$=new A([]),this.rawValue$=new A(null),this.value$=de([this.rawValue$,this.options$]).pipe(m(([e,i])=>i&&i.find(n=>n.Key===e)||null))}ngOnChanges(e){e.value&&this.rawValue$.next(e.value.currentValue),e.options&&this.options$.next(e.options.currentValue)}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=D({type:t,selectors:[["bkd-select"]],inputs:{options:"options",allowEmpty:"allowEmpty",emptyLabel:"emptyLabel",value:"value",disabled:"disabled",tabindex:"tabindex",width:"width"},outputs:{valueChange:"valueChange"},features:[H],decls:6,vars:9,consts:[[1,"form-select",3,"ngModelChange","tabindex","ngStyle","disabled","ngModel"],[3,"ngValue"]],template:function(i,n){i&1&&(l(0,"select",0),c(1,"async"),V("ngModelChange",function(y){return n.valueChange.emit(y&&y.Key)}),T(2,ai,3,4,"option",1),Z(3,oi,2,2,"option",1,ri),p(5,` > -`),d()),i&2&&(ge("tabindex",n.tabindex),G("ngStyle",fe(7,si,n.width))("disabled",n.disabled)("ngModel",f(1,5,n.value$)),a(2),_(n.allowEmpty?2:-1),a(),ee(n.options))},dependencies:[Se,pt,ct,lt,Ie,at,k,Ze,M],encapsulation:2,changeDetection:0})}}return t})();var Pt=b({Id:o,Designation:h,StudentCount:o,Number:h});var Me=b({Id:h,TestId:o,CourseRegistrationId:o,GradeId:u(o),GradeValue:u(o),GradeDesignation:u(h),Points:u(o),StudentId:o});var Dt=b({Id:o,CourseId:o,Date:re,Designation:h,Weight:o,WeightPercent:o,IsPointGrading:j,MaxPoints:u(o),MaxPointsAdjusted:u(o),IsPublished:j,IsOwner:j,Owner:u(h),GradingScaleId:u(o),Results:u(w(Me))});var $t=b({Id:o}),Rt=he({HRef:u(h)}),di=he({HasEvaluationStarted:j,EvaluationUntil:u(re),HasReviewOfEvaluationStarted:j,HasTestGrading:j,Id:o}),li=$e([$t,Rt,di]),pi=he({Id:o,StudentCount:o}),ci=$e([$t,Rt,pi]),ui=b({Grade:h,AverageTestResult:o,Id:o,StudentId:o}),Oe=b({AverageTestResult:o,CanGrade:j,EventId:o,GradeId:u(o),GradeValue:u(o),Id:o,StudentId:o}),K=b({HRef:h,Id:o,Number:h,Designation:h,DateFrom:u(re),DateTo:u(re),StatusId:o,GradingScaleId:u(o),FinalGrades:u(w(ui)),Gradings:u(w(Oe)),Tests:u(w(Dt)),EvaluationStatusRef:li,AttendanceRef:ci,ParticipatingStudents:u(w(_t)),Classes:u(w(Pt))}),Mt=b({TestResults:w(Me),Gradings:w(Oe)}),Ot=b({Gradings:w(Oe)});var xe=(()=>{class t extends se{constructor(e,i){super(e,i,K,"Courses"),this.statusCodec=b(nt(this.codec.props,["Id","StatusId","EvaluationStatusRef"]))}getNumberOfCoursesForRating(){return this.http.get(`${this.baseUrl}/?expand=EvaluationStatusRef&fields=Id,StatusId,EvaluationStatusRef&filter.StatusId=;10300;10240`,{headers:{"X-Role-Restriction":"TeacherRole"}}).pipe(v(N(this.statusCodec)),m(e=>e.filter(i=>i.EvaluationStatusRef.HasEvaluationStarted===!0)),m(e=>e.length))}getExpandedCourses(e){return yt(e,"TeacherRole")?this.http.get(`${this.baseUrl}/?expand=EvaluationStatusRef,AttendanceRef,Classes,FinalGrades&filter.StatusId=;${this.settings.eventlist.statusfilter}`,{headers:{"X-Role-Restriction":"TeacherRole"}}).pipe(v(N(K))):Ge([])}getExpandedCourse(e){return this.http.get(`${this.baseUrl}/${e}?expand=ParticipatingStudents,EvaluationStatusRef,Tests,Gradings,FinalGrades,Classes`).pipe(v(q(K)))}getExpandedCourseWithParticipants(e){return this.http.get(`${this.baseUrl}/${e}?expand=ParticipatingStudents,Classes,AttendanceRef`).pipe(v(q(K)))}getExpandedCoursesForDossier(){return this.http.get(`${this.baseUrl}/?expand=Tests,Gradings,FinalGrades,EvaluationStatusRef,ParticipatingStudents,Classes&filter.StatusId=;${this.settings.eventlist.statusfilter}`).pipe(v(N(K)))}getExpandedCoursesForStudent(){return this.http.get(`${this.baseUrl}/?expand=Tests,Gradings,FinalGrades&filter.StatusId=;${this.settings.eventlist.statusfilter}`,{headers:{"X-Role-Restriction":"StudentRole"}}).pipe(v(N(K)))}add(e,i,n,s,y,B,g){let I={Tests:[{Date:i,Designation:n,Weight:s,IsPointGrading:y,MaxPoints:B,MaxPointsAdjusted:g}]};return this.http.put(`${this.baseUrl}/${e}/Tests/New`,I).pipe(m(()=>{}))}update(e,i,n,s,y,B,g,I){let X={Tests:[{Id:i,Designation:n,Date:s,Weight:y,IsPointGrading:B,MaxPoints:g,MaxPointsAdjusted:I}]};return this.http.put(`${this.baseUrl}/${e}/Tests/Update`,X).pipe(m(()=>{}))}delete(e,i){let n={TestIds:[i]};return this.http.put(`${this.baseUrl}/${e}/Tests/Delete`,n).pipe(m(()=>i))}updateTestResult(e,i){let I=i,{studentId:n,testId:s}=I,y=He(I,["studentId","testId"]),B={StudentIds:[n],TestId:s},g="gradeId"in y?F(O({},B),{GradeId:y.gradeId}):F(O({},B),{Points:y.points});return this.http.put(`${this.baseUrl}/${e}/SetTestResult`,g).pipe(v(q(Mt)),v(({TestResults:X,Gradings:Ne})=>X.length<=1&&Ne.length===1?Ge({courseId:e,testResult:X[0]??null,grading:Ne[0]}):Ue(()=>new Error("`TestResults` or `Gradings` does not contain a single value"))))}setAverageAsFinalGrade(e){return this.http.put(`${this.baseUrl}/SetAverageTestResult`,e).pipe(v(q(Ot)))}publishTest(e){let i={TestIds:[e]};return this.http.put(`${this.baseUrl}/PublishTest`,i).pipe(m(()=>e))}unpublishTest(e){let i={TestIds:[e]};return this.http.put(`${this.baseUrl}/UnpublishTest`,i).pipe(m(()=>e))}static{this.\u0275fac=function(i){return new(i||t)(x(ne),x(W))}}static{this.\u0275prov=R({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();var Bt=b({Id:h,SubscriptionId:o,VssId:o,EventId:o,DropdownItems:u(w(xt)),IdPerson:o,ShowAsRadioButtons:j,Value:u(h),VssDesignation:h,VssStyle:h,VssType:h}),Fe=b({Id:o,EventId:u(o),PersonId:u(o),Status:h,EventDesignation:u(h)});var At=(()=>{class t extends se{constructor(e,i){super(e,i,Fe,"Subscriptions")}getSubscriptionIdsByStudentAndCourse(e,i){return this.http.get(`${this.baseUrl}/`,{params:{"filter.PersonId":`=${e}`,"filter.EventId":`;${i}`}}).pipe(v(N(it)),m(n=>n.map(s=>s.Id)))}getSubscriptionCountsByEvents(e){return this.http.get(`${this.baseUrl}/`,{params:{"filter.EventId":`;${e.join(";")}`,fields:["Id","EventId"].join(",")}}).pipe(v(N(b({Id:o,EventId:o}))),m(i=>i.reduce((n,s)=>(n[s.EventId]=n[s.EventId]?n[s.EventId]+1:1,n),{})))}getSubscriptionsByCourse(e,i){return this.http.get(`${this.baseUrl}/`,{params:F(O({"filter.EventId":`=${e}`},i),{fields:["Id","EventId","EventDesignation","PersonId","Status"].join(",")})}).pipe(v(N(Fe)))}getSubscriptionDetailsById(e){return this.http.get(`${this.baseUrl}/${e}/SubscriptionDetails`).pipe(v(N(Bt)))}static{this.\u0275fac=function(i){return new(i||t)(x(ne),x(W))}}static{this.\u0275prov=R({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();function Vt(t){return t.length===0?0:je(t.map(({value:r,weight:e})=>r*e))/je(t.map(({weight:r})=>r))}function Be(t){return t.length===0?0:Number(je(t)/t.length)}function je(t){return t.reduce(gi,0)}function gi(t,r){return t+r}function Mn(t,r,e){return t?t.Tests?.reduce((i,n)=>i||n.Id===r&&n.Results?.find(s=>s.TestId===r&&s.StudentId===e)||null,null)??null:null}function On(t,r,e){return r.map(i=>i.Id===t.TestId?Ve(t,i,e):i)}function Fn(t,r,e){return e.map(i=>i.Id===t?fi(r,i):i)}function jn(t,r){return r.map(e=>e.Id===t?F(O({},e),{IsPublished:!e.IsPublished}):e)}function Bn(t){let r=Ii(t);if(r.length===0)throw new Error("unable to calculate averages without results");return Be(r)}function Ae(t){return t.MaxPointsAdjusted||t.MaxPoints}function An(t){let r=hi(t);if(r.length===0)throw new Error("unable to calculate averages without results");return Be(r)}function z(t,r){return r.Results?.find(e=>e.StudentId===t)}function Vn(t,r){return r===null?null:r.filter(e=>e.Id!==t)}function Ve(t,r,e){let i=e&&r.Results?.find(s=>s.TestId===t.TestId&&s.StudentId===t.StudentId),n=r.Results?.filter(s=>!(s.TestId===t.TestId&&s.StudentId===t.StudentId))||[];return i&&e==="grade"?t.GradeId=i.GradeId:i&&e==="points"&&(t.Points=i.Points),F(O({},r),{Results:[...n,t]})}function Nt(t){return t.slice().sort((r,e)=>e.Date.getTime()-r.Date.getTime())}function ye(t,r){return r?.find(e=>e.Id===t.GradingScaleId)||null}function fi(t,r){return F(O({},r),{Results:r.Results?.filter(e=>e.StudentId!==t)||[]})}function hi(t){return t.Results?.filter(r=>r.GradeDesignation!==null).map(r=>Number(r.GradeDesignation)).filter(r=>!isNaN(r))||[]}function Ii(t){return t.Results?.map(r=>r.Points!==null?r.Points:kt).filter(r=>r>kt)||[]}var kt=-1;var Si=b({Id:o,Designation:h}),ke=b({Id:o,Grades:w(Si)});var Ht=(()=>{class t extends se{constructor(e,i){super(e,i,ke,"GradingScales")}getGradingScale(e){return this.http.get(`${this.baseUrl}/${e}`).pipe(v(q(ke)))}getGradingScales(e){return me(e.map(this.getGradingScale.bind(this)))}static{this.\u0275fac=function(i){return new(i||t)(x(ne),x(W))}}static{this.\u0275prov=R({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();var Te=(()=>{class t{constructor(e,i,n,s,y,B){this.coursesRestService=e,this.subscriptionRestService=i,this.reportsService=n,this.loadingService=s,this.gradingScalesRestService=y,this.settings=B,this.studentId$=new oe(1),this.initialStudentCourses$=this.studentId$.pipe(qe(),v(this.loadCourses.bind(this)),m(g=>g.sort((I,X)=>I.Designation.localeCompare(X.Designation))),Ee(1)),this.action$=new oe(1),this.studentCourses$=Le(this.action$,this.initialStudentCourses$.pipe(m(g=>({type:"initializeCourses",payload:g})))).pipe(Ke(this.coursesReducer.bind(this),[]),Ee(1)),this.loading$=this.loadingService.loading$,this.studentCourseIds$=this.studentCourses$.pipe(m(g=>g.flatMap(I=>I.Id))),this.subscriptionIds$=de([this.studentId$,this.studentCourseIds$]).pipe(v(([g,I])=>this.subscriptionRestService.getSubscriptionIdsByStudentAndCourse(g,I))),this.testReports$=this.subscriptionIds$.pipe(m(g=>this.reportsService.getTeacherSubscriptionGradesReports(g))),this.tests$=this.studentCourses$.pipe(m(g=>g.flatMap(I=>I.Tests).filter(ve))),this.gradingScaleIdsFromTests$=this.tests$.pipe(m(g=>[...g.map(I=>I.GradingScaleId)].filter(ve).filter(Ce))),this.gradingScaleIdsFromCourses$=this.studentCourses$.pipe(m(g=>g.flatMap(I=>I.GradingScaleId).filter(ve).filter(Ce))),this.gradingScaleIds$=de([this.gradingScaleIdsFromCourses$,this.gradingScaleIdsFromTests$]).pipe(m(([g,I])=>g.concat(I).filter(Ce))),this.gradingScales$=this.gradingScaleIds$.pipe(v(g=>me(g.map(I=>this.gradingScalesRestService.getGradingScale(I)))))}setStudentId(e){this.studentId$.next(e)}getFinalGradeForStudent(e,i){return e?.FinalGrades?.find(n=>n.StudentId===i)}getGradingForStudent(e,i){return e?.Gradings?.find(n=>n.StudentId===i)}getGradingScaleOfCourse(e,i){return i?.find(n=>n.Id===e.GradingScaleId)}getGradesForStudent(e,i,n){return e.Tests?.flatMap(s=>({value:Number(ye(s,n)?.Grades.find(B=>B.Id===z(i,s)?.GradeId)?.Designation),weight:s.Weight})).filter(({value:s})=>!!s)||[]}updateStudentCourses(e){this.action$.next({type:"updateCourses",payload:e})}loadCourses(e){return this.loadingService.load(this.coursesRestService.getExpandedCoursesForDossier().pipe(m(i=>i.filter(n=>n.ParticipatingStudents?.find(s=>s.Id===e)))))}coursesReducer(e,i){switch(i.type){case"initializeCourses":return i.payload;case"updateCourses":return this.updateCourses([...e],i.payload);default:return e}}updateCourses(e,i){return e.map(n=>F(O({},n),{Tests:n.Tests!==null?n.Tests.map(s=>s.Id===i.Id?i:s):null}))}static{this.\u0275fac=function(i){return new(i||t)(x(xe),x(At),x(wt),x(Gt),x(Ht),x(W))}}static{this.\u0275prov=R({token:t,factory:t.\u0275fac})}}return t})();var Lt=(()=>{class t{constructor(){}get inIframe(){return window.parent!==window}get window(){return this.inIframe?window.parent:null}get document(){return this.window?.document.documentElement??null}querySelector(e){return this.window?.document?.querySelector("bkd-portal")?.shadowRoot?.querySelector(e)??null}getIframeElement(){return this.querySelector("bkd-content")?.shadowRoot?.querySelector("iframe")??null}getIframeTop(){return this.getIframeElement()?.offsetTop??0}getIFrameBottom(){let e=this.getIframeElement();return e?e.offsetTop+e.offsetHeight:0}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=R({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();var Wt=(()=>{class t{constructor(e,i){this.modal=e,this.portal=i}open(...e){let i=this.modal.open(...e);return this.applyPortalOffsetAndMaxHeight(i),this.disablePortalScrolling(i),i}get activeInstances(){return this.modal.activeInstances}dismissAll(...e){return this.modal.dismissAll(...e)}hasOpenModals(...e){return this.modal.hasOpenModals(...e)}applyPortalOffsetAndMaxHeight(e){let i=this.getModalWindowElement(e);if(!i){console.warn("Trying to apply portal offset to , but element is not present!");return}this.portal.window&&(i.style.top=`${this.getModalIframeOffset()}px`,i.style.maxHeight=`${this.getModalHeight()}px`)}disablePortalScrolling(e){if(this.portal.window&&this.portal.document){let i=this.portal.window.innerWidth-this.portal.document.clientWidth;this.portal.document.style.paddingRight=`${i}px`,this.portal.document.style.overflow="hidden"}e.hidden.subscribe(()=>{this.portal.document&&(this.portal.document.style.paddingRight="0px",this.portal.document.style.overflow="auto")})}getModalWindowElement(e){return e._windowCmptRef?.instance?._elRef?.nativeElement??null}getModalIframeOffset(){return Math.max(this.getViewportTop()-this.portal.getIframeTop(),0)}getModalTop(){return Math.max(this.getViewportTop(),this.portal.getIframeTop())}getModalBottom(){return Math.min(this.getViewportBottom(),this.portal.getIFrameBottom())}getModalHeight(){return this.getModalBottom()-this.getModalTop()}getViewportTop(){return this.portal.window?.scrollY??0}getViewportBottom(){return this.getViewportTop()+this.getViewportHeight()}getViewportHeight(){return this.portal.window?.innerHeight??0}static{this.\u0275fac=function(i){return new(i||t)(x(Ct),x(Lt))}}static{this.\u0275prov=R({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();function _e(t,r,e){return r?r.Grade:yi(t,e)||t?.GradeValue}function yi(t,r){return r?.Grades.find(e=>e.Id===t?.GradeId)?.Designation}var Ti="1-3",Kt="\u2013",zt=(()=>{class t{constructor(e){this.locale=e}transform(e,i,n){let s=Number(e??null);return isNaN(s)?Kt:_i(Number(e??null),n??this.locale,i)}static{this.\u0275fac=function(i){return new(i||t)(P(Ye,16))}}static{this.\u0275pipe=Q({name:"decimalOrDash",type:t,pure:!0})}}return t})();function _i(t,r,e){return t===0?Kt:Qe(t,r,`1.${Gi(e)}`)}function Gi(t){return t?String(t).includes("-")?String(t):`${t}-${t}`:Ti}var Xt=(()=>{class t{constructor(){}getGradeForStudent(){return _e(this.grading,this.finalGrade,this.gradingScale)}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=D({type:t,selectors:[["bkd-dossier-grades-final-grade"]],inputs:{finalGrade:"finalGrade",grading:"grading",gradingScale:"gradingScale",average:"average"},decls:14,vars:11,consts:[[1,"final-entry"],["data-testid","final-grade"],["data-testid","average-test-results"]],template:function(i,n){i&1&&(l(0,"div",0)(1,"div"),p(2),c(3,"translate"),d(),l(4,"div",1)(5,"span"),p(6),d()(),l(7,"div"),p(8),c(9,"translate"),d(),l(10,"div",2)(11,"span"),p(12),c(13,"decimalOrDash"),d()()()),i&2&&(a(2),$(f(3,4,"dossier.grade")),a(4),$(n.getGradeForStudent()||"\u2013"),a(2),$(f(9,6,"dossier.average")),a(4),$(L(13,8,n.average,"1-3")))},dependencies:[M,zt],styles:[".final-entry[_ngcontent-%COMP%]{padding:1rem;display:grid;grid-template-columns:repeat(2,1fr)}span[_ngcontent-%COMP%]{margin-left:2em}"]})}}return t})();var Jt=(()=>{class t{constructor(e){this.translate=e}transform(e,i,n,s="tests.points"){return e.IsPointGrading&&(e.IsPublished||n)?`${z(i,e)?.Points||"\u2013"} / ${e.MaxPointsAdjusted||e.MaxPoints} ${this.translate.instant(s)}`:""}static{this.\u0275fac=function(i){return new(i||t)(P(be,16))}}static{this.\u0275pipe=Q({name:"bkdTestPoints",type:t,pure:!0})}}return t})();var Yt=(()=>{class t{constructor(e){this.translate=e}transform(e){return`${this.translate.instant("tests.factor")} ${e.Weight} (${e.WeightPercent}%)`}static{this.\u0275fac=function(i){return new(i||t)(P(be,16))}}static{this.\u0275pipe=Q({name:"bkdTestWeight",type:t,pure:!0})}}return t})();var Ei=t=>({maxPoints:t});function Pi(t,r){if(t&1&&(l(0,"div",13),p(1),c(2,"translate"),d()),t&2){let e=S(2);a(),C(" ",L(2,1,"global.validation-errors.invalidPoints",fe(4,Ei,e.maxPoints))," ")}}function Di(t,r){if(t&1){let e=ie();l(0,"div",3)(1,"label",11),p(2),c(3,"translate"),d(),l(4,"div",6)(5,"input",12,0),V("input",function(){J(e);let n=le(6),s=S();return Y(s.onPointsChange(n.value))}),d()(),T(7,Pi,3,6,"div",13),d()}if(t&2){let e=S();a(2),$(f(3,8,"dossier.dialog.points")),a(2),De("is-invalid",e.pointsInput.errors),a(),De("is-invalid",e.pointsInput.errors),ge("max",e.maxPoints),G("formControl",e.pointsInput),a(2),_(e.pointsInput.errors?7:-1)}}var Qt=500,Zt=(()=>{class t{constructor(e,i){this.activeModal=e,this.courseService=i,this.maxPoints=0,this.gradeSubject$=new ue,this.pointsSubject$=new ue,this.closeButtonDisabled$=new A(!1),this.gradingScaleDisabled$=new A(!0),this.grade$=this.gradeSubject$.pipe(we(Qt)),this.points$=this.pointsSubject$.pipe(we(Qt),We(this.isValid.bind(this)),m(Number)),this.destroy$=new ue}ngOnInit(){this.maxPoints=Ae(this.test),this.pointsInput=new st({value:this.points,disabled:!1},[Re.min(0),Re.pattern("[0-9]+([\\.][0-9]+)?"),this.maxPointValidator()]),this.gradingScaleDisabled$.next(this.test.IsPointGrading&&this.points>0),this.points$.pipe(Pe(this.destroy$)).subscribe(e=>this.updateTestResult({studentId:this.studentId,testId:this.test.Id,points:e})),this.grade$.pipe(Pe(this.destroy$)).subscribe(e=>this.updateTestResult({studentId:this.studentId,testId:this.test.Id,gradeId:e}))}onGradeChange(e){this.gradeSubject$.next(e)}onPointsChange(e){this.pointsSubject$.next(e),this.gradingScaleDisabled$.next(e.length>0)}updateTestResult(e){this.closeButtonDisabled$.next(!0),this.courseService.updateTestResult(this.test.CourseId,e).subscribe(({testResult:i})=>{this.gradeId=i?.GradeId??null,this.updatedTestResult=i,this.closeButtonDisabled$.next(!1)})}isValid(e){return e===""||isNaN(Number(e))?!1:!(Number(e)<0||Number(e)>this.maxPoints)}maxPointValidator(){return e=>Number(e.value)>Ae(this.test)?{customMax:!0}:null}static{this.\u0275fac=function(i){return new(i||t)(P(vt),P(xe))}}static{this.\u0275cmp=D({type:t,selectors:[["bkd-dossier-grades-edit"]],inputs:{test:"test",gradeId:"gradeId",gradeOptions:"gradeOptions",points:"points",studentId:"studentId"},decls:19,vars:20,consts:[["pointInput",""],[1,"modal-body"],[1,"mb-4"],[1,"form-group","row"],[1,"form-group","row","mt-2"],["for","grade",1,"col-6","col-form-label"],[1,"col-6"],["id","grade",3,"valueChange","options","value","allowEmpty","disabled"],[1,"text-muted","mt-4"],[1,"modal-footer"],["type","button",1,"btn","btn-primary",3,"click","disabled"],["for","points",1,"col-6","col-form-label"],["id","points","type","number","step","0.01","min","0",1,"form-control",3,"input","max","formControl"],["data-testid","validation-error-message",1,"invalid-feedback","col-6","offset-6"]],template:function(i,n){i&1&&(l(0,"div",1)(1,"p",2),p(2),d(),T(3,Di,8,10,"div",3),l(4,"div",4)(5,"label",5),p(6),c(7,"translate"),d(),l(8,"div",6)(9,"bkd-select",7),c(10,"async"),V("valueChange",function(y){return y&&n.onGradeChange(y)}),d()()(),l(11,"p",8),p(12),c(13,"translate"),d()(),l(14,"div",9)(15,"button",10),c(16,"async"),V("click",function(){return n.activeModal.close(n.updatedTestResult)}),p(17),c(18,"translate"),d()()),i&2&&(a(2),$(n.test.Designation),a(),_(n.test.IsPointGrading?3:-1),a(3),$(f(7,10,"dossier.dialog.grade")),a(3),G("options",n.gradeOptions)("value",n.gradeId)("allowEmpty",!1)("disabled",f(10,12,n.gradingScaleDisabled$)),a(3),C(" ",f(13,14,n.test.IsPointGrading?"dossier.dialog.hint.points":"dossier.dialog.hint.grade")," "),a(3),G("disabled",f(16,16,n.closeButtonDisabled$)),a(2),C(" ",f(18,18,"dossier.dialog.close")," "))},dependencies:[Se,rt,ot,Ie,mt,ut,gt,dt,Et,k,M],encapsulation:2})}}return t})();function $i(t,r){if(t&1){let e=ie();l(0,"a",10),V("click",function(){J(e);let n=S(2),s=U(0);return Y(n.editGrading(s))}),l(1,"i",11),p(2,"edit"),d(),l(3,"span",5),p(4),d()()}if(t&2){S(2);let e=U(2);a(4),$(e)}}function Ri(t,r){if(t&1&&(l(0,"span",5),p(1),d()),t&2){S(2);let e=U(2);a(),$(e)}}function Mi(t,r){if(t&1&&(l(0,"div",9),p(1),c(2,"translate"),d()),t&2){S(2);let e=U(0);a(),C(" ",f(2,1,e.IsPublished?"tests.published":"tests.not-published")," ")}}function Oi(t,r){if(t&1&&(l(0,"div",0)(1,"div",1),p(2),d(),l(3,"div",2),p(4),c(5,"date"),d(),l(6,"div",3),T(7,$i,5,1,"a",4)(8,Ri,2,1,"span",5),d(),l(9,"div",6),p(10),c(11,"bkdTestWeight"),d(),l(12,"div",7)(13,"span"),p(14),c(15,"bkdTestPoints"),d()(),l(16,"div",8),p(17),d(),T(18,Mi,3,3,"div",9),d()),t&2){let e=S(),i=U(0);a(2),C(" ",i.Designation," "),a(2),C(" ",L(5,7,i.Date,"dd.MM.yyyy")," "),a(3),_(e.isEditable&&i.IsOwner?7:8),a(3),C(" ",f(11,10,i)," "),a(4),$(Je(15,12,i,e.studentId,e.isEditable,"dossier.points")),a(3),C(" ",i.Owner," "),a(),_(e.isEditable?18:-1)}}var ei=(()=>{class t{constructor(e,i){this.gradeService=e,this.modalService=i,this.test$=new oe(1),this.grading$=this.test$.pipe(m(this.getGrading.bind(this)))}ngOnChanges(e){e.test&&this.test$.next(this.test)}editGrading(e){let i=this.modalService.open(Zt,{backdrop:"static"});i.componentInstance.test=e,i.componentInstance.gradeId=this.getGradeId(e),i.componentInstance.gradeOptions=t.mapToOptions(this.gradingScale),i.componentInstance.studentId=this.studentId,i.componentInstance.points=this.getPoints(e),i.result.then(n=>{n&&this.updateStudentGrade(n,e)},()=>{})}updateStudentGrade(e,i){let n=Ve(e,i);this.gradeService.updateStudentCourses(n)}getGrading(e){return this.gradingScale?.Grades.find(i=>i.Id===this.getGradeId(e))?.Designation||"\u2013"}getGradeId(e){return z(this.studentId,e)?.GradeId||null}getPoints(e){return z(this.studentId,e)?.Points||null}static mapToOptions(e){return e?.Grades.map(i=>({Key:i.Id,Value:i.Designation}))||null}static{this.\u0275fac=function(i){return new(i||t)(P(Te),P(Wt))}}static{this.\u0275cmp=D({type:t,selectors:[["bkd-dossier-single-test"]],inputs:{test:"test",studentId:"studentId",gradingScale:"gradingScale",isEditable:"isEditable"},features:[H],decls:5,vars:7,consts:[[1,"test-entry"],["data-testid","test-designation",1,"designation"],["data-testid","test-date",1,"date"],[1,"grade"],["aria-label","edit grade",1,"btn","btn-link"],["data-testid","test-grade"],["data-testid","test-factor",1,"factor"],["data-testid","test-points",1,"points"],["data-testid","test-teacher",1,"teacher"],["data-testid","test-status",1,"state"],["aria-label","edit grade",1,"btn","btn-link",3,"click"],["data-testid","test-grade-edit-icon",1,"material-icons"]],template:function(i,n){if(i&1&&(pe(0),c(1,"async"),pe(2),c(3,"async"),T(4,Oi,19,17,"div",0)),i&2){let s=ce(f(1,1,n.test$));a(2),ce(f(3,4,n.grading$)),a(2),_(s?4:-1)}},dependencies:[k,et,M,Jt,Yt],styles:['.test-entry[_ngcontent-%COMP%]{border-top:1px solid #dee2e6;padding:1rem;display:grid;grid-template-areas:"designation designation grade factor" "date date points ." "teacher teacher . ." "state state . .";grid-template-columns:repeat(4,1fr)}span[_ngcontent-%COMP%]{margin-left:2em}.designation[_ngcontent-%COMP%]{grid-area:designation}.date[_ngcontent-%COMP%]{grid-area:date}.grade[_ngcontent-%COMP%]{grid-area:grade}.grade[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{display:flex;color:#000;padding:0;text-decoration:none}.grade[_ngcontent-%COMP%] a[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{text-decoration:underline}.grade[_ngcontent-%COMP%] a[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:hover{text-decoration-color:#ea161f}.grade[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{margin-right:-1em;color:#00000080}.points[_ngcontent-%COMP%]{grid-area:points;color:#00000080}.teacher[_ngcontent-%COMP%]{grid-area:teacher}.state[_ngcontent-%COMP%]{grid-area:state}@media (max-width: 575.98px){.test-entry[_ngcontent-%COMP%]{grid-template-areas:"designation designation" "date grade" "factor points" "teacher teacher" "state state";grid-template-columns:repeat(2,1fr)}}']})}}return t})();var Fi=(t,r)=>r.Id,ji=()=>[];function Bi(t,r){if(t&1&&te(0,"bkd-dossier-single-test",2),t&2){let e=r.$implicit,i=S(2);G("test",e)("studentId",i.studentId)("gradingScale",i.getGradingScaleOfTest(e))("isEditable",i.isEditable)}}function Ai(t,r){if(t&1&&(l(0,"div"),te(1,"bkd-dossier-grades-final-grade",1),Z(2,Bi,1,4,"bkd-dossier-single-test",2,Fi),d()),t&2){let e=S(),i=U(0);a(),G("finalGrade",e.decoratedCourse.finalGrade)("grading",e.decoratedCourse.grading)("gradingScale",e.decoratedCourse.gradingScale)("average",e.decoratedCourse.average),a(),ee(i)}}function Vi(t,r){t&1&&(l(0,"p",0),p(1),c(2,"translate"),d()),t&2&&(a(),C(" ",f(2,1,"dossier.no-tests")," "))}var ti=(()=>{class t{ngOnChanges(e){e.decoratedCourse&&this.sortedTests$.next(this.sortedTests())}constructor(){this.sortedTests$=new A([])}sortedTests(){return this.decoratedCourse.course.Tests?Nt(this.decoratedCourse.course.Tests):[]}getGradingScaleOfTest(e){return ye(e,this.gradingScales)}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=D({type:t,selectors:[["bkd-dossier-course-tests"]],inputs:{studentId:"studentId",decoratedCourse:"decoratedCourse",gradingScales:"gradingScales",isEditable:"isEditable"},features:[H],decls:4,vars:5,consts:[["data-testid","message-no-tests",1,"p-3"],[3,"finalGrade","grading","gradingScale","average"],[3,"test","studentId","gradingScale","isEditable"]],template:function(i,n){if(i&1&&(pe(0),c(1,"async"),T(2,Ai,4,4,"div")(3,Vi,3,3,"p",0)),i&2){let s,y=ce((s=f(1,1,n.sortedTests$))!==null&&s!==void 0?s:Xe(4,ji));a(2),_(y.length>0?2:3)}},dependencies:[Xt,ei,k,M],encapsulation:2})}}return t})();function ki(t,r){if(t&1&&(l(0,"span",0),p(1),d()),t&2){let e=S();a(),C(" (",e.grade,")")}}function Ni(t,r){if(t&1&&(l(0,"span",1),p(1),c(2,"number"),d()),t&2){let e=S();a(),C(" (",L(2,1,e.average,"1.1-3"),")")}}var ii=(()=>{class t{constructor(){}get grade(){return this.getGradeForStudent()}getGradeForStudent(){return _e(this.grading,this.finalGrade,this.gradingScale)}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=D({type:t,selectors:[["bkd-dossier-grades-course-header"]],inputs:{designation:"designation",finalGrade:"finalGrade",grading:"grading",gradingScale:"gradingScale",average:"average"},decls:3,vars:3,consts:[["data-testId","grade",1,"grade"],["data-testId","average",1,"average"]],template:function(i,n){i&1&&(p(0),T(1,ki,2,1,"span",0)(2,Ni,3,4,"span",1)),i&2&&(C("",n.designation,` -`),a(),_(n.grade?1:-1),a(),_(!n.grade&&n.average?2:-1))},dependencies:[tt],styles:[".average[_ngcontent-%COMP%]{color:#00000080}"]})}}return t})();var Hi=(t,r)=>r.course.Id;function Ui(t,r){if(t&1&&te(0,"bkd-dossier-course-tests",9),t&2){let e=S().$implicit,i=S(2);G("decoratedCourse",e)("studentId",i.studentId)("gradingScales",i.gradingScales)("isEditable",i.isEditable)}}function Li(t,r){if(t&1){let e=ie();l(0,"div")(1,"div",2)(2,"div",3,0)(4,"div",4)(5,"bkd-student-dossier-entry-header",5),V("click",function(){J(e);let n=le(3);return Y(n.toggle())}),te(6,"bkd-dossier-grades-course-header",6),d()(),l(7,"div",7)(8,"div",8),T(9,Ui,1,4,"ng-template"),d()()()()()}if(t&2){let e=r.$implicit,i=le(3);a(5),G("opened",!i.collapsed),a(),G("designation",e.course.Designation)("finalGrade",e.finalGrade)("grading",e.grading)("gradingScale",e.gradingScale)("average",e.average)}}function Wi(t,r){if(t&1&&(Z(0,Li,10,6,"div",null,Hi),c(2,"async")),t&2){let e=S();ee(f(2,0,e.decoratedCoursesSubject$))}}function qi(t,r){t&1&&(l(0,"p",1),p(1),c(2,"translate"),d()),t&2&&(a(),C(" ",f(2,1,"dossier.no-courses")," "))}var qr=(()=>{class t{constructor(e){this.dossierGradesService=e,this.isEditable=!0,this.decoratedCoursesSubject$=new A([])}ngOnChanges(){this.decoratedCoursesSubject$.next(this.decorateCourses())}decorateCourses(){return this.courses.map(e=>{let i=this.dossierGradesService.getFinalGradeForStudent(e,this.studentId),n=this.dossierGradesService.getGradesForStudent(e,this.studentId,this.gradingScales);return{course:e,finalGrade:i,grading:this.dossierGradesService.getGradingForStudent(e,this.studentId),gradingScale:this.dossierGradesService.getGradingScaleOfCourse(e,this.gradingScales),average:i?.AverageTestResult||Vt(n)}})}static{this.\u0275fac=function(i){return new(i||t)(P(Te))}}static{this.\u0275cmp=D({type:t,selectors:[["bkd-dossier-grades-view"]],inputs:{courses:"courses",studentId:"studentId",gradingScales:"gradingScales",isEditable:"isEditable"},features:[H],decls:2,vars:1,consts:[["courses","ngbAccordionItem"],["data-testid","message-no-courses",1,"py-3"],["ngbAccordion",""],["ngbAccordionItem",""],["ngbAccordionHeader",""],[3,"click","opened"],[3,"designation","finalGrade","grading","gradingScale","average"],["ngbAccordionCollapse",""],["ngbAccordionBody",""],[3,"decoratedCourse","studentId","gradingScales","isEditable"]],template:function(i,n){i&1&&T(0,Wi,3,2)(1,qi,3,3,"p",1),i&2&&_(n.courses.length>0?0:1)},dependencies:[bt,St,It,Tt,ii,ht,ft,ti,k,M],encapsulation:2})}}return t})();export{Be as a,Mn as b,On as c,Fn as d,jn as e,Bn as f,An as g,Vn as h,Nt as i,Kt as j,zt as k,_i as l,Et as m,Pt as n,Oe as o,xe as p,Bt as q,At as r,Ht as s,Te as t,Lt as u,Wt as v,qr as w}; diff --git a/public/apps/webapp-schulverwaltung/chunk-OSOXMODN.js b/public/apps/webapp-schulverwaltung/chunk-OSOXMODN.js deleted file mode 100644 index 14d80ce0..00000000 --- a/public/apps/webapp-schulverwaltung/chunk-OSOXMODN.js +++ /dev/null @@ -1 +0,0 @@ -import{d as B}from"./chunk-PSYDBHTH.js";import{m as V,n as j,o as z,p as P,q}from"./chunk-W4U7QKJF.js";import{$a as l,Ga as $,H as w,J as v,K as x,Kd as A,Na as R,O as k,Pa as S,Qa as m,Ra as U,S as I,Va as u,X as y,Ya as F,Za as E,_a as a,ea as D,eb as M,f as h,fa as L,gb as N,h as _,hb as s,n as d,r as C,rb as p,tb as O,wa as T,xa as o}from"./chunk-2W7IS4PN.js";var Z=(e,r)=>r.id;function G(e,r){if(e&1&&(a(0,"a",2)(1,"i",3),p(2,"description"),l()()),e&2){let t=s();U("disabled",t.disableIfUnavailable&&t.reports.length===0),m("href",t.reports.length>0&&t.reports[0].url,T)}}function H(e,r){if(e&1){let t=M();a(0,"button",7),N("click",function(){let i=D(t).$implicit,c=s(2);return L(c.openReport(i))}),p(1),l()}if(e&2){let t=r.$implicit;o(),O(" ",t.title," ")}}function J(e,r){if(e&1&&(a(0,"div",1)(1,"a",4)(2,"i",3),p(3,"description"),l()(),a(4,"div",5),F(5,H,2,1,"button",6,Z),l()()),e&2){let t=s();o(),m("id",t.dropdownId),o(3),S("aria-labelledby",t.dropdownId),o(),E(t.reports)}}var tt=(()=>{class e{constructor(){this.reports=[],this.disableIfUnavailable=!1,this.dropdownId=A("reports-link-dropdown")}openReport(t){window.open(t.url,"_blank")}static{this.\u0275fac=function(n){return new(n||e)}}static{this.\u0275cmp=$({type:e,selectors:[["bkd-reports-link"]],inputs:{reports:"reports",disableIfUnavailable:"disableIfUnavailable"},decls:2,vars:2,consts:[["target","_blank",1,"btn","btn-primary","btn-icon",3,"href","disabled"],["ngbDropdown","",1,"d-inline-block"],["target","_blank",1,"btn","btn-primary","btn-icon",3,"href"],[1,"material-icons"],["ngbDropdownToggle","",1,"btn","btn-primary","btn-icon","d-flex","align-items-center",3,"id"],["ngbDropdownMenu",""],["ngbDropdownItem",""],["ngbDropdownItem","",3,"click"]],template:function(n,i){n&1&&R(0,G,3,3,"a",0)(1,J,7,2,"div",1),n&2&&(u(i.reports.length===1||i.reports.length===0&&i.disableIfUnavailable?0:-1),o(),u(i.reports.length>1?1:-1))},dependencies:[q,P,z,j,V],styles:["a[_ngcontent-%COMP%]{text-decoration:none;color:#fff}"]})}}return e})();var f="default",rt=(()=>{class e{constructor(){this.action$=new h,this.loadingCounts$=C(this.action$.pipe(x((t,{action:n,context:i})=>{switch(n){case"increment":return t[i]=(t[i]||0)+1,t;case"decrement":return t[i]=Math.max(0,(t[i]||0)-1),t;default:return t}},{}),k({})),{connector:()=>new _(1)}),this.loading$=this.loading(),this.loadingCountsSub=this.loadingCounts$.connect()}ngOnDestroy(){this.loadingCountsSub.unsubscribe()}loading(t=f){return this.loadingCounts$.pipe(d(n=>n[t]),d(K),w())}load(t,n=f){let i=typeof n=="string"?n:n.context||f,c=typeof n=="object"&&n.stopOnFirstValue||!1,b=this.decrementLoadingCount(i),g=!0;function W(){g&&(b(),g=!1)}return t.pipe(B(this.incrementLoadingCount(i)),c?I(W):v(b))}incrementLoadingCount(t){return()=>this.action$.next({action:"increment",context:t})}decrementLoadingCount(t){return()=>this.action$.next({action:"decrement",context:t})}static{this.\u0275fac=function(n){return new(n||e)}}static{this.\u0275prov=y({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})();function K(e){return(e||0)!==0}export{tt as a,rt as b}; diff --git a/public/apps/webapp-schulverwaltung/chunk-P3FNPE6I.js b/public/apps/webapp-schulverwaltung/chunk-P3FNPE6I.js new file mode 100644 index 00000000..e455f84a --- /dev/null +++ b/public/apps/webapp-schulverwaltung/chunk-P3FNPE6I.js @@ -0,0 +1 @@ +import{a as ye,b as Se,c as ge}from"./chunk-UKQD2IRQ.js";import{a as be}from"./chunk-W4ESFJ6M.js";import{a as _e}from"./chunk-IGEPJF2N.js";import{a as ue}from"./chunk-5ZBE3UL7.js";import"./chunk-4UVNKLEN.js";import"./chunk-PXVJ3QLD.js";import"./chunk-HCNFZOWE.js";import{b as oe,e as M}from"./chunk-CKFTESOV.js";import"./chunk-DTTSX64G.js";import"./chunk-Y4QYVF5K.js";import"./chunk-AYQPMCNZ.js";import{a as ve,b as Ce,c as fe}from"./chunk-FH4OOWQM.js";import{f as de}from"./chunk-Z4YBXGVO.js";import{d as me}from"./chunk-3L4RH6QP.js";import"./chunk-DTYYCJHM.js";import"./chunk-XAZECV42.js";import{a as he}from"./chunk-3P6YOVUR.js";import{B as se,x as re}from"./chunk-UYCIECIQ.js";import"./chunk-G6EB45SC.js";import"./chunk-WCDEMEW2.js";import{i as le,j as pe}from"./chunk-XFA6UPZX.js";import{b as ce}from"./chunk-PSYDBHTH.js";import{u as ae}from"./chunk-W4U7QKJF.js";import"./chunk-AVBHFGIF.js";import{$a as r,$b as Y,Ab as $,Bb as j,Cb as S,Db as J,Eb as K,F as W,Fb as N,Ga as x,Jb as s,Kb as l,M as q,Na as C,P as V,Pa as z,Pd as D,Qa as v,R as U,Va as b,X as G,Xb as Q,Ya as I,Za as F,_ as E,_a as o,ab as k,cc as Z,cd as ne,ea as L,eb as P,fa as T,gb as h,hb as p,ma as X,n as H,rb as m,sb as y,tb as f,wc as ee,xa as a,xb as w,xc as te,ya as _,yb as R,zb as B,zc as ie}from"./chunk-2W7IS4PN.js";var Ee=(()=>{class e{constructor(t,i,n){this.studentsService=t,this.educationalEventsService=i,this.studyClassesService=n,this.filter={student:null,educationalEvent:null,studyClass:null},this.filterChange=new X,this.classesHttpFilter={params:{fields:"IsActive","filter.IsActive":"=true"}}}show(){this.filterChange.emit(this.filter)}static{this.\u0275fac=function(i){return new(i||e)(_(de),_(ge),_(_e))}}static{this.\u0275cmp=x({type:e,selectors:[["bkd-evaluate-absences-header"]],inputs:{filter:"filter"},outputs:{filterChange:"filterChange"},decls:20,vars:19,consts:[[1,"row","g-3","align-items-end"],[1,"col-sm-12","col-md"],[1,"form-label"],[3,"valueChange","typeaheadService","value"],[3,"valueChange","typeaheadService","value","additionalHttpParams"],[1,"col-auto"],["type","button",1,"btn","btn-primary",3,"click"]],template:function(i,n){i&1&&(o(0,"div",0)(1,"div",1)(2,"label",2),m(3),s(4,"translate"),r(),o(5,"bkd-typeahead",3),B("valueChange",function(d){return R(n.filter.student,d)||(n.filter.student=d),d}),r()(),o(6,"div",1)(7,"label",2),m(8),s(9,"translate"),r(),o(10,"bkd-typeahead",3),B("valueChange",function(d){return R(n.filter.educationalEvent,d)||(n.filter.educationalEvent=d),d}),r()(),o(11,"div",1)(12,"label",2),m(13),s(14,"translate"),r(),o(15,"bkd-typeahead",4),B("valueChange",function(d){return R(n.filter.studyClass,d)||(n.filter.studyClass=d),d}),r()(),o(16,"div",5)(17,"button",6),h("click",function(){return n.show()}),m(18),s(19,"translate"),r()()()),i&2&&(a(3),y(l(4,11,"evaluate-absences.header.student")),a(2),v("typeaheadService",n.studentsService),w("value",n.filter.student),a(3),y(l(9,13,"evaluate-absences.header.module-instance")),a(2),v("typeaheadService",n.educationalEventsService),w("value",n.filter.educationalEvent),a(3),y(l(14,15,"evaluate-absences.header.study-class")),a(2),v("typeaheadService",n.studyClassesService),w("value",n.filter.studyClass),v("additionalHttpParams",n.classesHttpFilter),a(3),f(" ",l(19,17,"evaluate-absences.header.show")," "))},dependencies:[be,D],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;padding:1rem 1rem 1rem 0;border-bottom:1px solid #dee2e6}"],changeDetection:0})}}return e})();var g=(()=>{class e extends Ce{constructor(t,i,n,u,d){super(t,i,d,n,"/evaluate-absences"),this.lessonPresenceService=u,this.queryParamsString$.pipe(U(this.destroy$)).subscribe(A=>this.confirmBackLinkParams={returnparams:A})}updateAfterConfirm(){this.resetEntries()}getInitialFilter(){return{student:null,educationalEvent:null,studyClass:null}}isValidFilter(t){return!!(t.student||t.educationalEvent||t.studyClass)}getInitialSorting(){return{key:"StudentFullName",ascending:!0}}loadEntries(t,i,n){return this.loadingService.load(this.lessonPresenceService.getStatistics(t,i,n),ve)}buildParamsFromFilter(t){return ye(t)}static{this.\u0275fac=function(i){return new(i||e)(E(Q),E(pe),E(ne),E(M),E(fe))}}static{this.\u0275prov=G({token:e,factory:e.\u0275fac})}}return e})();var ke=(e,c)=>c.key,Pe=(e,c)=>c.StudentRef.Id,Ie=()=>[],Fe=e=>["student",e,"absences"],we=e=>({returnparams:e});function Re(e,c){e&1&&k(0,"bkd-spinner")}function Be(e,c){if(e&1){let t=P();o(0,"th",9),h("click",function(){let n=L(t).$implicit,u=p(4);return T(u.state.sortService.toggleSorting(n.key))}),o(1,"div",10)(2,"div",11),s(3,"translate"),m(4),s(5,"translate"),r(),o(6,"div",12),m(7),s(8,"async"),r()()()}if(e&2){let t=c.$implicit,i=p(4);v("ngClass",t.label),a(2),v("ngbTooltip",l(3,4,"evaluate-absences.list.header."+t.label)),a(2),f(" ",l(5,6,"evaluate-absences.list.header."+t.label)," "),a(3),f(" ",l(8,8,i.state.sortService.getSortingChar$(t.key))," ")}}function $e(e,c){if(e&1&&(o(0,"a",13),s(1,"async"),m(2),r()),e&2){let t=p().$implicit,i=p().$implicit,n=p(5);v("routerLink",N(5,Fe,i.StudentRef.Id))("queryParams",N(7,we,l(1,3,n.profileReturnParams$))),a(2),f(" ",i[t.key]," ")}}function je(e,c){if(e&1&&m(0),e&2){let t=p().$implicit,i=p().$implicit;f(" ",i[t.key]," ")}}function De(e,c){if(e&1&&(o(0,"td"),s(1,"translate"),C(2,$e,3,9,"a",13)(3,je,1,1),r()),e&2){let t=c.$implicit;z("data-label",l(1,2,"evaluate-absences.list.header."+t.label)),a(2),b(t.key==="StudentFullName"?2:3)}}function Me(e,c){if(e&1&&(o(0,"tr"),I(1,De,4,4,"td",null,ke),r()),e&2){let t=p(5);a(),F(t.columns)}}function Ve(e,c){if(e&1&&(o(0,"tbody"),I(1,Me,3,0,"tr",null,Pe),r()),e&2){p(4);let t=S(0);a(),F(t)}}function Ne(e,c){e&1&&k(0,"bkd-spinner",7)}function Oe(e,c){if(e&1){let t=P();o(0,"button",14),h("click",function(){L(t);let n=p(4);return T(n.state.nextPage())}),m(1),s(2,"translate"),r()}e&2&&(a(),f(" ",l(2,1,"global.pagination.load-more")," "))}function He(e,c){if(e&1){let t=P();o(0,"div",2)(1,"div",3),k(2,"bkd-reports-link",4),s(3,"async"),r(),o(4,"table",5),h("scrolled",function(){L(t);let n=p(3);return T(n.onScroll())}),o(5,"thead")(6,"tr"),I(7,Be,9,10,"th",6,ke),r()(),C(9,Ve,3,0,"tbody"),r(),C(10,Ne,1,0,"bkd-spinner",7)(11,Oe,3,3,"button",8),r()}if(e&2){let t,i=p(3),n=S(0),u=S(2),d=S(4);a(2),v("reports",(t=l(3,4,i.reports$))!==null&&t!==void 0?t:K(6,Ie)),a(5),F(i.columns),a(2),b(n&&n.length>0?9:-1),a(),b(d?10:-1),a(),b(u&&!d?11:-1)}}function We(e,c){e&1&&(o(0,"p",1),m(1),s(2,"translate"),r()),e&2&&(a(),f(" ",l(2,1,"evaluate-absences.no-entries")," "))}function qe(e,c){if(e&1&&C(0,He,12,7,"div",2)(1,We,3,3,"p",1),e&2){p(2);let t=S(0),i=S(4);b(t&&t.length>0||i?0:1)}}function Ue(e,c){if(e&1&&(C(0,Re,1,0,"bkd-spinner"),s(1,"async"),C(2,qe,2,1)),e&2){let t=p();b(l(1,1,t.state.loading$)?0:2)}}function Ge(e,c){e&1&&(o(0,"p",1),m(1),s(2,"translate"),r()),e&2&&(a(),y(l(2,1,"evaluate-absences.no-filter")))}var Ae=(()=>{class e{constructor(t,i,n,u,d,A){this.state=t,this.scrollPosition=i,this.route=n,this.presenceTypesService=u,this.reportsService=d,this.lessonPresencesService=A,this.reports$=this.loadReports(),this.columns=[{key:"StudentFullName",label:"student"},{key:"TotalAbsences",label:"total"},{key:"TotalAbsencesValidExcuse",label:"valid-excuse"},{key:"TotalAbsencesWithoutExcuse",label:"without-excuse"},{key:"TotalAbsencesUnconfirmed",label:"unconfirmed"},{key:"TotalAbsencesUnchecked",label:"unchecked"},{key:"TotalIncidents",label:"incident"}],this.filterFromParams$=this.route.queryParams.pipe(H(Xe)),this.profileReturnParams$=this.state.queryParamsString$}ngOnInit(){this.filterFromParams$.pipe(W(1)).subscribe(t=>this.state.setFilter(t)),this.presenceTypesService.halfDayActive$.subscribe(t=>{t&&(this.columns=[...this.columns,{key:"TotalHalfDays",label:"halfday"}])})}ngAfterViewInit(){this.scrollPosition.restore()}onScroll(){this.state.nextPage()}loadReports(){return this.state.validFilter$.pipe(V(t=>this.lessonPresencesService.getLessonRefs(t)),V(t=>t.length>0?this.reportsService.getEvaluateAbsencesReports(this.getReportRecordIds(t)):[]),q(1))}getReportRecordIds(t){return t.map(i=>`${i.LessonRef.Id}_${i.RegistrationRef.Id}`)}static{this.\u0275fac=function(i){return new(i||e)(_(g),_(he),_(ee),_(se),_(me),_(M))}}static{this.\u0275cmp=x({type:e,selectors:[["bkd-evaluate-absences-list"]],decls:14,vars:18,consts:[[3,"filterChange","filter"],[1,"mt-3"],[1,"py-3"],[1,"buttons"],[1,"mb-2",3,"reports"],["infiniteScroll","",1,"table","table-striped","table-fixed",3,"scrolled"],["scope","col",3,"ngClass"],[1,"inline"],["type","button",1,"btn","btn-outline-secondary","btn-sm","d-block","mx-auto"],["scope","col",3,"click","ngClass"],[1,"d-flex"],[1,"column-title",3,"ngbTooltip"],[1,"sort-direction"],[1,"student",3,"routerLink","queryParams"],["type","button",1,"btn","btn-outline-secondary","btn-sm","d-block","mx-auto",3,"click"]],template:function(i,n){if(i&1){let u=P();$(0),s(1,"async"),$(2),s(3,"async"),$(4),s(5,"async"),o(6,"h1"),m(7),s(8,"translate"),r(),o(9,"bkd-evaluate-absences-header",0),s(10,"async"),h("filterChange",function(A){return L(u),T(n.state.setFilter(A))}),r(),C(11,Ue,3,3),s(12,"async"),C(13,Ge,3,3,"p",1)}i&2&&(j(l(1,3,n.state.entries$)),a(2),j(l(3,6,n.state.hasMore$)),a(2),j(l(5,9,n.state.loadingPage$)),a(3),y(l(8,12,"evaluate-absences.title")),a(2),v("filter",l(10,14,n.filterFromParams$)),a(2),b(l(12,16,n.state.isFilterValid$)?11:13))},dependencies:[Ee,le,Se,Y,ae,ie,ce,Z,D],styles:["th[_ngcontent-%COMP%]{cursor:pointer}th.student[_ngcontent-%COMP%]{width:30%}.column-title[_ngcontent-%COMP%]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.buttons[_ngcontent-%COMP%]{display:flex;justify-content:flex-end}"],changeDetection:0})}}return e})();function Xe(e){return{student:e.student?Number(e.student):null,educationalEvent:e.educationalEvent?Number(e.educationalEvent):null,studyClass:e.studyClass?Number(e.studyClass):null}}var Le=(()=>{class e{constructor(t){this.state=t}static{this.\u0275fac=function(i){return new(i||e)(_(g))}}static{this.\u0275cmp=x({type:e,selectors:[["bkd-evaluate-absences"]],features:[J([g,{provide:oe,useExisting:g},re])],decls:1,vars:0,template:function(i,n){i&1&&k(0,"router-outlet")},dependencies:[te],styles:["[_nghost-%COMP%]{display:block}"],changeDetection:0})}}return e})();var Bt=[{path:"",component:Le,children:[{path:"",component:Ae,data:{restoreScrollPositionFrom:["/evaluate-absences/student/:id"]}},ue]}];export{Bt as EVALUATE_ABSENCES_ROUTES}; diff --git a/public/apps/webapp-schulverwaltung/chunk-PVDOFFJE.js b/public/apps/webapp-schulverwaltung/chunk-PVDOFFJE.js new file mode 100644 index 00000000..8f9a57b3 --- /dev/null +++ b/public/apps/webapp-schulverwaltung/chunk-PVDOFFJE.js @@ -0,0 +1 @@ +import{b as a,c as b}from"./chunk-6WAVBXLP.js";import"./chunk-C7RLEXTD.js";import"./chunk-QB4DIFWS.js";import"./chunk-IGEPJF2N.js";import"./chunk-5ZBE3UL7.js";import"./chunk-4UVNKLEN.js";import"./chunk-PXVJ3QLD.js";import"./chunk-HCNFZOWE.js";import"./chunk-CKFTESOV.js";import"./chunk-DTTSX64G.js";import"./chunk-Y4QYVF5K.js";import"./chunk-AYQPMCNZ.js";import"./chunk-A3AAQWNQ.js";import"./chunk-FH4OOWQM.js";import"./chunk-Z4YBXGVO.js";import"./chunk-3L4RH6QP.js";import"./chunk-DTYYCJHM.js";import"./chunk-XAZECV42.js";import"./chunk-UYCIECIQ.js";import"./chunk-G6EB45SC.js";import"./chunk-WCDEMEW2.js";import"./chunk-XFA6UPZX.js";import"./chunk-PSYDBHTH.js";import"./chunk-W4U7QKJF.js";import"./chunk-AVBHFGIF.js";import"./chunk-2W7IS4PN.js";export{b as EVENTS_ROUTES,a as getStudentsRoute}; diff --git a/public/apps/webapp-schulverwaltung/chunk-PXVJ3QLD.js b/public/apps/webapp-schulverwaltung/chunk-PXVJ3QLD.js new file mode 100644 index 00000000..c650f266 --- /dev/null +++ b/public/apps/webapp-schulverwaltung/chunk-PXVJ3QLD.js @@ -0,0 +1,3 @@ +import{a as _e}from"./chunk-Y4QYVF5K.js";import{a as Te}from"./chunk-AYQPMCNZ.js";import{b as Ge,c as we,d as De}from"./chunk-3L4RH6QP.js";import{e as Rt,o as Ot}from"./chunk-WCDEMEW2.js";import{j as Ee}from"./chunk-XFA6UPZX.js";import{a as st}from"./chunk-PSYDBHTH.js";import{C as Ct,c as Ie,d as Se,e as be,f as ve,g as Ce,r as xe,s as ye,w as vt}from"./chunk-W4U7QKJF.js";import{$a as d,Ab as pt,Ad as St,Bb as ct,Bd as he,Cb as U,D as wt,Eb as Yt,Fb as ft,Ga as P,H as zt,Hc as h,Ic as o,Ja as Q,Jb as c,Jc as j,K as Xt,Kb as f,Lb as L,Ld as q,M as Et,Mb as Qt,Mc as w,Md as N,Na as T,Nc as b,Ob as Zt,Oc as ht,Od as bt,P as v,Pd as R,Qa as G,Qc as $t,R as Dt,Ra as Pt,Uc as u,Va as _,Wc as re,X as M,Ya as Z,Za as tt,Zb as te,_ as x,_a as l,_c as rt,a as O,ab as et,ac as ee,ad as se,b as F,c as Lt,cc as k,cd as W,da as H,dc as ie,ea as J,eb as it,ec as ne,f as ut,fa as Y,fd as ae,g as A,gb as V,h as ot,hb as S,hd as Mt,id as It,kb as gt,l as Gt,lc as nt,ld as oe,m as Wt,ma as Jt,md as de,n as m,o as dt,od as le,qb as lt,qd as pe,rb as p,s as mt,sb as $,tb as C,td as ce,ud as ue,vd as me,w as qt,wd as ge,x as Kt,xa as a,xd as fe,ya as D}from"./chunk-2W7IS4PN.js";var ai=(e,r)=>r.Key,oi=e=>({width:e});function di(e,r){if(e&1&&(l(0,"option",1),p(1),c(2,"translate"),d()),e&2){let t=S();G("ngValue",null),a(),C(" ",f(2,2,t.emptyLabel)," ")}}function li(e,r){if(e&1&&(l(0,"option",1),p(1),d()),e&2){let t=r.$implicit;G("ngValue",t),a(),C(" ",t.Value," ")}}var Pe=(()=>{class e{constructor(){this.options=[],this.allowEmpty=!0,this.emptyLabel="",this.value=null,this.disabled=!1,this.tabindex=0,this.width="auto",this.valueChange=new Jt,this.options$=new A([]),this.rawValue$=new A(null),this.value$=dt([this.rawValue$,this.options$]).pipe(m(([t,i])=>i&&i.find(n=>n.Key===t)||null))}ngOnChanges(t){t.value&&this.rawValue$.next(t.value.currentValue),t.options&&this.options$.next(t.options.currentValue)}static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275cmp=P({type:e,selectors:[["bkd-select"]],inputs:{options:"options",allowEmpty:"allowEmpty",emptyLabel:"emptyLabel",value:"value",disabled:"disabled",tabindex:"tabindex",width:"width"},outputs:{valueChange:"valueChange"},features:[H],decls:6,vars:9,consts:[[1,"form-select",3,"ngModelChange","tabindex","ngStyle","disabled","ngModel"],[3,"ngValue"]],template:function(i,n){i&1&&(l(0,"select",0),c(1,"async"),V("ngModelChange",function(y){return n.valueChange.emit(y&&y.Key)}),T(2,di,3,4,"option",1),Z(3,li,2,2,"option",1,ai),p(5,` > +`),d()),i&2&&(gt("tabindex",n.tabindex),G("ngStyle",ft(7,oi,n.width))("disabled",n.disabled)("ngModel",f(1,5,n.value$)),a(2),_(n.allowEmpty?2:-1),a(),tt(n.options))},dependencies:[St,ue,me,ce,It,de,k,ee,R],encapsulation:2,changeDetection:0})}}return e})();var $e=b({Id:o,Designation:h,StudentCount:o,Number:h});var Ft=b({Id:h,TestId:o,CourseRegistrationId:o,GradeId:u(o),GradeValue:u(o),GradeDesignation:u(h),Points:u(o),StudentId:o});var Me=b({Id:o,CourseId:o,Date:rt,Designation:h,Weight:o,WeightPercent:o,IsPointGrading:j,MaxPoints:u(o),MaxPointsAdjusted:u(o),IsPublished:j,IsOwner:j,Owner:u(h),GradingScaleId:u(o),Results:u(w(Ft))});var Re=b({Id:o}),Oe=ht({HRef:u(h)}),pi=ht({HasEvaluationStarted:j,EvaluationUntil:u(rt),HasReviewOfEvaluationStarted:j,HasTestGrading:j,Id:o}),ci=$t([Re,Oe,pi]),ui=ht({Id:o,StudentCount:o}),mi=$t([Re,Oe,ui]),gi=b({Grade:h,AverageTestResult:o,Id:o,StudentId:o}),jt=b({AverageTestResult:o,CanGrade:j,EventId:o,GradeId:u(o),GradeValue:u(o),Id:o,StudentId:o}),K=b({HRef:h,Id:o,Number:h,Designation:h,DateFrom:u(rt),DateTo:u(rt),StatusId:o,GradingScaleId:u(o),FinalGrades:u(w(gi)),Gradings:u(w(jt)),Tests:u(w(Me)),EvaluationStatusRef:ci,AttendanceRef:mi,ParticipatingStudents:u(w(we)),Classes:u(w($e))}),Fe=b({TestResults:w(Ft),Gradings:w(jt)}),je=b({Gradings:w(jt)});var xt=(()=>{class e extends st{constructor(t,i){super(t,i,K,"Courses"),this.statusCodec=b(se(this.codec.props,["Id","StatusId","EvaluationStatusRef"]))}getNumberOfCoursesForRating(){return this.http.get(`${this.baseUrl}/?expand=EvaluationStatusRef&fields=Id,StatusId,EvaluationStatusRef&filter.StatusId=;10300;10240`,{headers:{"X-Role-Restriction":"TeacherRole"}}).pipe(v(N(this.statusCodec)),m(t=>t.filter(i=>i.EvaluationStatusRef.HasEvaluationStarted===!0)),m(t=>t.length))}getExpandedCourses(t){return _e(t,"TeacherRole")?this.http.get(`${this.baseUrl}/?expand=EvaluationStatusRef,AttendanceRef,Classes,FinalGrades&filter.StatusId=;${this.settings.eventlist.statusfilter}`,{headers:{"X-Role-Restriction":"TeacherRole"}}).pipe(v(N(K))):Gt([])}getExpandedCourse(t){return this.http.get(`${this.baseUrl}/${t}?expand=ParticipatingStudents,EvaluationStatusRef,Tests,Gradings,FinalGrades,Classes`).pipe(v(q(K)))}getExpandedCourseWithParticipants(t){return this.http.get(`${this.baseUrl}/${t}?expand=ParticipatingStudents,Classes,AttendanceRef`).pipe(v(q(K)))}getExpandedCoursesForDossier(){return this.http.get(`${this.baseUrl}/?expand=Tests,Gradings,FinalGrades,EvaluationStatusRef,ParticipatingStudents,Classes&filter.StatusId=;${this.settings.eventlist.statusfilter}`).pipe(v(N(K)))}getExpandedCoursesForStudent(){return this.http.get(`${this.baseUrl}/?expand=Tests,Gradings,FinalGrades&filter.StatusId=;${this.settings.eventlist.statusfilter}`,{headers:{"X-Role-Restriction":"StudentRole"}}).pipe(v(N(K)))}add(t,i,n,s,y,B,g){let I={Tests:[{Date:Ot(Rt(i),"yyyy-MM-dd'T'HH:mm:ss"),Designation:n,Weight:s,IsPointGrading:y,MaxPoints:B,MaxPointsAdjusted:g}]};return this.http.put(`${this.baseUrl}/${t}/Tests/New`,I).pipe(m(()=>{}))}update(t,i,n,s,y,B,g,I){let X={Tests:[{Id:i,Designation:n,Date:Ot(Rt(s),"yyyy-MM-dd'T'HH:mm:ss"),Weight:y,IsPointGrading:B,MaxPoints:g,MaxPointsAdjusted:I}]};return this.http.put(`${this.baseUrl}/${t}/Tests/Update`,X).pipe(m(()=>{}))}delete(t,i){let n={TestIds:[i]};return this.http.put(`${this.baseUrl}/${t}/Tests/Delete`,n).pipe(m(()=>i))}updateTestResult(t,i){let I=i,{studentId:n,testId:s}=I,y=Lt(I,["studentId","testId"]),B={StudentIds:[n],TestId:s},g="gradeId"in y?F(O({},B),{GradeId:y.gradeId}):F(O({},B),{Points:y.points});return this.http.put(`${this.baseUrl}/${t}/SetTestResult`,g).pipe(v(q(Fe)),v(({TestResults:X,Gradings:Ut})=>X.length<=1&&Ut.length===1?Gt({courseId:t,testResult:X[0]??null,grading:Ut[0]}):Wt(()=>new Error("`TestResults` or `Gradings` does not contain a single value"))))}setAverageAsFinalGrade(t){return this.http.put(`${this.baseUrl}/SetAverageTestResult`,t).pipe(v(q(je)))}publishTest(t){let i={TestIds:[t]};return this.http.put(`${this.baseUrl}/PublishTest`,i).pipe(m(()=>t))}unpublishTest(t){let i={TestIds:[t]};return this.http.put(`${this.baseUrl}/UnpublishTest`,i).pipe(m(()=>t))}static{this.\u0275fac=function(i){return new(i||e)(x(nt),x(W))}}static{this.\u0275prov=M({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})();var Ve=b({Id:h,SubscriptionId:o,VssId:o,EventId:o,DropdownItems:u(w(Te)),IdPerson:o,ShowAsRadioButtons:j,Value:u(h),VssDesignation:h,VssStyle:h,VssType:h}),Bt=b({Id:o,EventId:u(o),PersonId:u(o),Status:h,EventDesignation:u(h)});var ke=(()=>{class e extends st{constructor(t,i){super(t,i,Bt,"Subscriptions")}getSubscriptionIdsByStudentAndCourse(t,i){return this.http.get(`${this.baseUrl}/`,{params:{"filter.PersonId":`=${t}`,"filter.EventId":`;${i}`}}).pipe(v(N(re)),m(n=>n.map(s=>s.Id)))}getSubscriptionCountsByEvents(t){return this.http.get(`${this.baseUrl}/`,{params:{"filter.EventId":`;${t.join(";")}`,fields:["Id","EventId"].join(",")}}).pipe(v(N(b({Id:o,EventId:o}))),m(i=>i.reduce((n,s)=>(n[s.EventId]=n[s.EventId]?n[s.EventId]+1:1,n),{})))}getSubscriptionsByCourse(t,i){return this.http.get(`${this.baseUrl}/`,{params:F(O({"filter.EventId":`=${t}`},i),{fields:["Id","EventId","EventDesignation","PersonId","Status"].join(",")})}).pipe(v(N(Bt)))}getSubscriptionDetailsById(t){return this.http.get(`${this.baseUrl}/${t}/SubscriptionDetails`).pipe(v(N(Ve)))}static{this.\u0275fac=function(i){return new(i||e)(x(nt),x(W))}}static{this.\u0275prov=M({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})();function Ne(e){return e.length===0?0:At(e.map(({value:r,weight:t})=>r*t))/At(e.map(({weight:r})=>r))}function Vt(e){return e.length===0?0:Number(At(e)/e.length)}function At(e){return e.reduce(hi,0)}function hi(e,r){return e+r}function jn(e,r,t){return e?e.Tests?.reduce((i,n)=>i||n.Id===r&&n.Results?.find(s=>s.TestId===r&&s.StudentId===t)||null,null)??null:null}function Bn(e,r,t){return r.map(i=>i.Id===e.TestId?Nt(e,i,t):i)}function An(e,r,t){return t.map(i=>i.Id===e?Ii(r,i):i)}function Vn(e,r){return r.map(t=>t.Id===e?F(O({},t),{IsPublished:!t.IsPublished}):t)}function kn(e){let r=bi(e);if(r.length===0)throw new Error("unable to calculate averages without results");return Vt(r)}function kt(e){return e.MaxPointsAdjusted||e.MaxPoints}function Nn(e){let r=Si(e);if(r.length===0)throw new Error("unable to calculate averages without results");return Vt(r)}function z(e,r){return r.Results?.find(t=>t.StudentId===e)}function Hn(e,r){return r===null?null:r.filter(t=>t.Id!==e)}function Nt(e,r,t){let i=t&&r.Results?.find(s=>s.TestId===e.TestId&&s.StudentId===e.StudentId),n=r.Results?.filter(s=>!(s.TestId===e.TestId&&s.StudentId===e.StudentId))||[];return i&&t==="grade"?e.GradeId=i.GradeId:i&&t==="points"&&(e.Points=i.Points),F(O({},r),{Results:[...n,e]})}function Ue(e){return e.slice().sort((r,t)=>t.Date.getTime()-r.Date.getTime())}function yt(e,r){return r?.find(t=>t.Id===e.GradingScaleId)||null}function Ii(e,r){return F(O({},r),{Results:r.Results?.filter(t=>t.StudentId!==e)||[]})}function Si(e){return e.Results?.filter(r=>r.GradeDesignation!==null).map(r=>Number(r.GradeDesignation)).filter(r=>!isNaN(r))||[]}function bi(e){return e.Results?.map(r=>r.Points!==null?r.Points:He).filter(r=>r>He)||[]}var He=-1;var vi=b({Id:o,Designation:h}),Ht=b({Id:o,Grades:w(vi)});var Le=(()=>{class e extends st{constructor(t,i){super(t,i,Ht,"GradingScales")}getGradingScale(t){return this.http.get(`${this.baseUrl}/${t}`).pipe(v(q(Ht)))}getGradingScales(t){return mt(t.map(this.getGradingScale.bind(this)))}static{this.\u0275fac=function(i){return new(i||e)(x(nt),x(W))}}static{this.\u0275prov=M({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})();var Tt=(()=>{class e{constructor(t,i,n,s,y,B){this.coursesRestService=t,this.subscriptionRestService=i,this.reportsService=n,this.loadingService=s,this.gradingScalesRestService=y,this.settings=B,this.studentId$=new ot(1),this.initialStudentCourses$=this.studentId$.pipe(zt(),v(this.loadCourses.bind(this)),m(g=>g.sort((I,X)=>I.Designation.localeCompare(X.Designation))),Et(1)),this.action$=new ot(1),this.studentCourses$=qt(this.action$,this.initialStudentCourses$.pipe(m(g=>({type:"initializeCourses",payload:g})))).pipe(Xt(this.coursesReducer.bind(this),[]),Et(1)),this.loading$=this.loadingService.loading$,this.studentCourseIds$=this.studentCourses$.pipe(m(g=>g.flatMap(I=>I.Id))),this.subscriptionIds$=dt([this.studentId$,this.studentCourseIds$]).pipe(v(([g,I])=>this.subscriptionRestService.getSubscriptionIdsByStudentAndCourse(g,I))),this.testReports$=this.subscriptionIds$.pipe(m(g=>this.reportsService.getTeacherSubscriptionGradesReports(g))),this.tests$=this.studentCourses$.pipe(m(g=>g.flatMap(I=>I.Tests).filter(vt))),this.gradingScaleIdsFromTests$=this.tests$.pipe(m(g=>[...g.map(I=>I.GradingScaleId)].filter(vt).filter(Ct))),this.gradingScaleIdsFromCourses$=this.studentCourses$.pipe(m(g=>g.flatMap(I=>I.GradingScaleId).filter(vt).filter(Ct))),this.gradingScaleIds$=dt([this.gradingScaleIdsFromCourses$,this.gradingScaleIdsFromTests$]).pipe(m(([g,I])=>g.concat(I).filter(Ct))),this.gradingScales$=this.gradingScaleIds$.pipe(v(g=>mt(g.map(I=>this.gradingScalesRestService.getGradingScale(I)))))}setStudentId(t){this.studentId$.next(t)}getFinalGradeForStudent(t,i){return t?.FinalGrades?.find(n=>n.StudentId===i)}getGradingForStudent(t,i){return t?.Gradings?.find(n=>n.StudentId===i)}getGradingScaleOfCourse(t,i){return i?.find(n=>n.Id===t.GradingScaleId)}getGradesForStudent(t,i,n){return t.Tests?.flatMap(s=>({value:Number(yt(s,n)?.Grades.find(B=>B.Id===z(i,s)?.GradeId)?.Designation),weight:s.Weight})).filter(({value:s})=>!!s)||[]}updateStudentCourses(t){this.action$.next({type:"updateCourses",payload:t})}loadCourses(t){return this.loadingService.load(this.coursesRestService.getExpandedCoursesForDossier().pipe(m(i=>i.filter(n=>n.ParticipatingStudents?.find(s=>s.Id===t)))))}coursesReducer(t,i){switch(i.type){case"initializeCourses":return i.payload;case"updateCourses":return this.updateCourses([...t],i.payload);default:return t}}updateCourses(t,i){return t.map(n=>F(O({},n),{Tests:n.Tests!==null?n.Tests.map(s=>s.Id===i.Id?i:s):null}))}static{this.\u0275fac=function(i){return new(i||e)(x(xt),x(ke),x(De),x(Ee),x(Le),x(W))}}static{this.\u0275prov=M({token:e,factory:e.\u0275fac})}}return e})();var qe=(()=>{class e{constructor(){}get inIframe(){return window.parent!==window}get window(){return this.inIframe?window.parent:null}get document(){return this.window?.document.documentElement??null}querySelector(t){return this.window?.document?.querySelector("bkd-portal")?.shadowRoot?.querySelector(t)??null}getIframeElement(){return this.querySelector("bkd-content")?.shadowRoot?.querySelector("iframe")??null}getIframeTop(){return this.getIframeElement()?.offsetTop??0}getIFrameBottom(){let t=this.getIframeElement();return t?t.offsetTop+t.offsetHeight:0}static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275prov=M({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})();var Ke=(()=>{class e{constructor(t,i){this.modal=t,this.portal=i}open(...t){let i=this.modal.open(...t);return this.applyPortalOffsetAndMaxHeight(i),this.disablePortalScrolling(i),i}get activeInstances(){return this.modal.activeInstances}dismissAll(...t){return this.modal.dismissAll(...t)}hasOpenModals(...t){return this.modal.hasOpenModals(...t)}applyPortalOffsetAndMaxHeight(t){let i=this.getModalWindowElement(t);if(!i){console.warn("Trying to apply portal offset to , but element is not present!");return}this.portal.window&&(i.style.top=`${this.getModalIframeOffset()}px`,i.style.maxHeight=`${this.getModalHeight()}px`)}disablePortalScrolling(t){if(this.portal.window&&this.portal.document){let i=this.portal.window.innerWidth-this.portal.document.clientWidth;this.portal.document.style.paddingRight=`${i}px`,this.portal.document.style.overflow="hidden"}t.hidden.subscribe(()=>{this.portal.document&&(this.portal.document.style.paddingRight="0px",this.portal.document.style.overflow="auto")})}getModalWindowElement(t){return t._windowCmptRef?.instance?._elRef?.nativeElement??null}getModalIframeOffset(){return Math.max(this.getViewportTop()-this.portal.getIframeTop(),0)}getModalTop(){return Math.max(this.getViewportTop(),this.portal.getIframeTop())}getModalBottom(){return Math.min(this.getViewportBottom(),this.portal.getIFrameBottom())}getModalHeight(){return this.getModalBottom()-this.getModalTop()}getViewportTop(){return this.portal.window?.scrollY??0}getViewportBottom(){return this.getViewportTop()+this.getViewportHeight()}getViewportHeight(){return this.portal.window?.innerHeight??0}static{this.\u0275fac=function(i){return new(i||e)(x(ye),x(qe))}}static{this.\u0275prov=M({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})();function _t(e,r,t){return r?r.Grade:_i(e,t)||e?.GradeValue}function _i(e,r){return r?.Grades.find(t=>t.Id===e?.GradeId)?.Designation}var Gi="1-3",Xe="\u2013",Je=(()=>{class e{constructor(t){this.locale=t}transform(t,i,n){let s=Number(t??null);return isNaN(s)?Xe:wi(Number(t??null),n??this.locale,i)}static{this.\u0275fac=function(i){return new(i||e)(D(Zt,16))}}static{this.\u0275pipe=Q({name:"decimalOrDash",type:e,pure:!0})}}return e})();function wi(e,r,t){return e===0?Xe:te(e,r,`1.${Ei(t)}`)}function Ei(e){return e?String(e).includes("-")?String(e):`${e}-${e}`:Gi}var Ye=(()=>{class e{constructor(){}getGradeForStudent(){return _t(this.grading,this.finalGrade,this.gradingScale)}static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275cmp=P({type:e,selectors:[["bkd-dossier-grades-final-grade"]],inputs:{finalGrade:"finalGrade",grading:"grading",gradingScale:"gradingScale",average:"average"},decls:14,vars:11,consts:[[1,"final-entry"],["data-testid","final-grade"],["data-testid","average-test-results"]],template:function(i,n){i&1&&(l(0,"div",0)(1,"div"),p(2),c(3,"translate"),d(),l(4,"div",1)(5,"span"),p(6),d()(),l(7,"div"),p(8),c(9,"translate"),d(),l(10,"div",2)(11,"span"),p(12),c(13,"decimalOrDash"),d()()()),i&2&&(a(2),$(f(3,4,"dossier.grade")),a(4),$(n.getGradeForStudent()||"\u2013"),a(2),$(f(9,6,"dossier.average")),a(4),$(L(13,8,n.average,"1-3")))},dependencies:[R,Je],styles:[".final-entry[_ngcontent-%COMP%]{padding:1rem;display:grid;grid-template-columns:repeat(2,1fr)}span[_ngcontent-%COMP%]{margin-left:2em}"]})}}return e})();var Qe=(()=>{class e{constructor(t){this.translate=t}transform(t,i,n,s="tests.points"){return t.IsPointGrading&&(t.IsPublished||n)?`${z(i,t)?.Points||"\u2013"} / ${t.MaxPointsAdjusted||t.MaxPoints} ${this.translate.instant(s)}`:""}static{this.\u0275fac=function(i){return new(i||e)(D(bt,16))}}static{this.\u0275pipe=Q({name:"bkdTestPoints",type:e,pure:!0})}}return e})();var Ze=(()=>{class e{constructor(t){this.translate=t}transform(t){return`${this.translate.instant("tests.factor")} ${t.Weight} (${t.WeightPercent}%)`}static{this.\u0275fac=function(i){return new(i||e)(D(bt,16))}}static{this.\u0275pipe=Q({name:"bkdTestWeight",type:e,pure:!0})}}return e})();var Pi=e=>({maxPoints:e});function $i(e,r){if(e&1&&(l(0,"div",13),p(1),c(2,"translate"),d()),e&2){let t=S(2);a(),C(" ",L(2,1,"global.validation-errors.invalidPoints",ft(4,Pi,t.maxPoints))," ")}}function Mi(e,r){if(e&1){let t=it();l(0,"div",3)(1,"label",11),p(2),c(3,"translate"),d(),l(4,"div",6)(5,"input",12,0),V("input",function(){J(t);let n=lt(6),s=S();return Y(s.onPointsChange(n.value))}),d()(),T(7,$i,3,6,"div",13),d()}if(e&2){let t=S();a(2),$(f(3,8,"dossier.dialog.points")),a(2),Pt("is-invalid",t.pointsInput.errors),a(),Pt("is-invalid",t.pointsInput.errors),gt("max",t.maxPoints),G("formControl",t.pointsInput),a(2),_(t.pointsInput.errors?7:-1)}}var ti=500,ei=(()=>{class e{constructor(t,i){this.activeModal=t,this.courseService=i,this.maxPoints=0,this.gradeSubject$=new ut,this.pointsSubject$=new ut,this.closeButtonDisabled$=new A(!1),this.gradingScaleDisabled$=new A(!0),this.grade$=this.gradeSubject$.pipe(wt(ti)),this.points$=this.pointsSubject$.pipe(wt(ti),Kt(this.isValid.bind(this)),m(Number)),this.destroy$=new ut}ngOnInit(){this.maxPoints=kt(this.test),this.pointsInput=new oe({value:this.points,disabled:!1},[Mt.min(0),Mt.pattern("[0-9]+([\\.][0-9]+)?"),this.maxPointValidator()]),this.gradingScaleDisabled$.next(this.test.IsPointGrading&&this.points>0),this.points$.pipe(Dt(this.destroy$)).subscribe(t=>this.updateTestResult({studentId:this.studentId,testId:this.test.Id,points:t})),this.grade$.pipe(Dt(this.destroy$)).subscribe(t=>this.updateTestResult({studentId:this.studentId,testId:this.test.Id,gradeId:t}))}onGradeChange(t){this.gradeSubject$.next(t)}onPointsChange(t){this.pointsSubject$.next(t),this.gradingScaleDisabled$.next(t.length>0)}updateTestResult(t){this.closeButtonDisabled$.next(!0),this.courseService.updateTestResult(this.test.CourseId,t).subscribe(({testResult:i})=>{this.gradeId=i?.GradeId??null,this.updatedTestResult=i,this.closeButtonDisabled$.next(!1)})}isValid(t){return t===""||isNaN(Number(t))?!1:!(Number(t)<0||Number(t)>this.maxPoints)}maxPointValidator(){return t=>Number(t.value)>kt(this.test)?{customMax:!0}:null}static{this.\u0275fac=function(i){return new(i||e)(D(xe),D(xt))}}static{this.\u0275cmp=P({type:e,selectors:[["bkd-dossier-grades-edit"]],inputs:{test:"test",gradeId:"gradeId",gradeOptions:"gradeOptions",points:"points",studentId:"studentId"},decls:19,vars:20,consts:[["pointInput",""],[1,"modal-body"],[1,"mb-4"],[1,"form-group","row"],[1,"form-group","row","mt-2"],["for","grade",1,"col-6","col-form-label"],[1,"col-6"],["id","grade",3,"valueChange","options","value","allowEmpty","disabled"],[1,"text-muted","mt-4"],[1,"modal-footer"],["type","button",1,"btn","btn-primary",3,"click","disabled"],["for","points",1,"col-6","col-form-label"],["id","points","type","number","step","0.01","min","0",1,"form-control",3,"input","max","formControl"],["data-testid","validation-error-message",1,"invalid-feedback","col-6","offset-6"]],template:function(i,n){i&1&&(l(0,"div",1)(1,"p",2),p(2),d(),T(3,Mi,8,10,"div",3),l(4,"div",4)(5,"label",5),p(6),c(7,"translate"),d(),l(8,"div",6)(9,"bkd-select",7),c(10,"async"),V("valueChange",function(y){return y&&n.onGradeChange(y)}),d()()(),l(11,"p",8),p(12),c(13,"translate"),d()(),l(14,"div",9)(15,"button",10),c(16,"async"),V("click",function(){return n.activeModal.close(n.updatedTestResult)}),p(17),c(18,"translate"),d()()),i&2&&(a(2),$(n.test.Designation),a(),_(n.test.IsPointGrading?3:-1),a(3),$(f(7,10,"dossier.dialog.grade")),a(3),G("options",n.gradeOptions)("value",n.gradeId)("allowEmpty",!1)("disabled",f(10,12,n.gradingScaleDisabled$)),a(3),C(" ",f(13,14,n.test.IsPointGrading?"dossier.dialog.hint.points":"dossier.dialog.hint.grade")," "),a(3),G("disabled",f(16,16,n.closeButtonDisabled$)),a(2),C(" ",f(18,18,"dossier.dialog.close")," "))},dependencies:[St,ae,le,It,fe,ge,he,pe,Pe,k,R],encapsulation:2})}}return e})();function Ri(e,r){if(e&1){let t=it();l(0,"a",10),V("click",function(){J(t);let n=S(2),s=U(0);return Y(n.editGrading(s))}),l(1,"i",11),p(2,"edit"),d(),l(3,"span",5),p(4),d()()}if(e&2){S(2);let t=U(2);a(4),$(t)}}function Oi(e,r){if(e&1&&(l(0,"span",5),p(1),d()),e&2){S(2);let t=U(2);a(),$(t)}}function Fi(e,r){if(e&1&&(l(0,"div",9),p(1),c(2,"translate"),d()),e&2){S(2);let t=U(0);a(),C(" ",f(2,1,t.IsPublished?"tests.published":"tests.not-published")," ")}}function ji(e,r){if(e&1&&(l(0,"div",0)(1,"div",1),p(2),d(),l(3,"div",2),p(4),c(5,"date"),d(),l(6,"div",3),T(7,Ri,5,1,"a",4)(8,Oi,2,1,"span",5),d(),l(9,"div",6),p(10),c(11,"bkdTestWeight"),d(),l(12,"div",7)(13,"span"),p(14),c(15,"bkdTestPoints"),d()(),l(16,"div",8),p(17),d(),T(18,Fi,3,3,"div",9),d()),e&2){let t=S(),i=U(0);a(2),C(" ",i.Designation," "),a(2),C(" ",L(5,7,i.Date,"dd.MM.yyyy")," "),a(3),_(t.isEditable&&i.IsOwner?7:8),a(3),C(" ",f(11,10,i)," "),a(4),$(Qt(15,12,i,t.studentId,t.isEditable,"dossier.points")),a(3),C(" ",i.Owner," "),a(),_(t.isEditable?18:-1)}}var ii=(()=>{class e{constructor(t,i){this.gradeService=t,this.modalService=i,this.test$=new ot(1),this.grading$=this.test$.pipe(m(this.getGrading.bind(this)))}ngOnChanges(t){t.test&&this.test$.next(this.test)}editGrading(t){let i=this.modalService.open(ei,{backdrop:"static"});i.componentInstance.test=t,i.componentInstance.gradeId=this.getGradeId(t),i.componentInstance.gradeOptions=e.mapToOptions(this.gradingScale),i.componentInstance.studentId=this.studentId,i.componentInstance.points=this.getPoints(t),i.result.then(n=>{n&&this.updateStudentGrade(n,t)},()=>{})}updateStudentGrade(t,i){let n=Nt(t,i);this.gradeService.updateStudentCourses(n)}getGrading(t){return this.gradingScale?.Grades.find(i=>i.Id===this.getGradeId(t))?.Designation||"\u2013"}getGradeId(t){return z(this.studentId,t)?.GradeId||null}getPoints(t){return z(this.studentId,t)?.Points||null}static mapToOptions(t){return t?.Grades.map(i=>({Key:i.Id,Value:i.Designation}))||null}static{this.\u0275fac=function(i){return new(i||e)(D(Tt),D(Ke))}}static{this.\u0275cmp=P({type:e,selectors:[["bkd-dossier-single-test"]],inputs:{test:"test",studentId:"studentId",gradingScale:"gradingScale",isEditable:"isEditable"},features:[H],decls:5,vars:7,consts:[[1,"test-entry"],["data-testid","test-designation",1,"designation"],["data-testid","test-date",1,"date"],[1,"grade"],["aria-label","edit grade",1,"btn","btn-link"],["data-testid","test-grade"],["data-testid","test-factor",1,"factor"],["data-testid","test-points",1,"points"],["data-testid","test-teacher",1,"teacher"],["data-testid","test-status",1,"state"],["aria-label","edit grade",1,"btn","btn-link",3,"click"],["data-testid","test-grade-edit-icon",1,"material-icons"]],template:function(i,n){if(i&1&&(pt(0),c(1,"async"),pt(2),c(3,"async"),T(4,ji,19,17,"div",0)),i&2){let s=ct(f(1,1,n.test$));a(2),ct(f(3,4,n.grading$)),a(2),_(s?4:-1)}},dependencies:[k,ie,R,Qe,Ze],styles:['.test-entry[_ngcontent-%COMP%]{border-top:1px solid #dee2e6;padding:1rem;display:grid;grid-template-areas:"designation designation grade factor" "date date points ." "teacher teacher . ." "state state . .";grid-template-columns:repeat(4,1fr)}span[_ngcontent-%COMP%]{margin-left:2em}.designation[_ngcontent-%COMP%]{grid-area:designation}.date[_ngcontent-%COMP%]{grid-area:date}.grade[_ngcontent-%COMP%]{grid-area:grade}.grade[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{display:flex;color:#000;padding:0;text-decoration:none}.grade[_ngcontent-%COMP%] a[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{text-decoration:underline}.grade[_ngcontent-%COMP%] a[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:hover{text-decoration-color:#ea161f}.grade[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{margin-right:-1em;color:#00000080}.points[_ngcontent-%COMP%]{grid-area:points;color:#00000080}.teacher[_ngcontent-%COMP%]{grid-area:teacher}.state[_ngcontent-%COMP%]{grid-area:state}@media (max-width: 575.98px){.test-entry[_ngcontent-%COMP%]{grid-template-areas:"designation designation" "date grade" "factor points" "teacher teacher" "state state";grid-template-columns:repeat(2,1fr)}}']})}}return e})();var Bi=(e,r)=>r.Id,Ai=()=>[];function Vi(e,r){if(e&1&&et(0,"bkd-dossier-single-test",2),e&2){let t=r.$implicit,i=S(2);G("test",t)("studentId",i.studentId)("gradingScale",i.getGradingScaleOfTest(t))("isEditable",i.isEditable)}}function ki(e,r){if(e&1&&(l(0,"div"),et(1,"bkd-dossier-grades-final-grade",1),Z(2,Vi,1,4,"bkd-dossier-single-test",2,Bi),d()),e&2){let t=S(),i=U(0);a(),G("finalGrade",t.decoratedCourse.finalGrade)("grading",t.decoratedCourse.grading)("gradingScale",t.decoratedCourse.gradingScale)("average",t.decoratedCourse.average),a(),tt(i)}}function Ni(e,r){e&1&&(l(0,"p",0),p(1),c(2,"translate"),d()),e&2&&(a(),C(" ",f(2,1,"dossier.no-tests")," "))}var ni=(()=>{class e{ngOnChanges(t){t.decoratedCourse&&this.sortedTests$.next(this.sortedTests())}constructor(){this.sortedTests$=new A([])}sortedTests(){return this.decoratedCourse.course.Tests?Ue(this.decoratedCourse.course.Tests):[]}getGradingScaleOfTest(t){return yt(t,this.gradingScales)}static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275cmp=P({type:e,selectors:[["bkd-dossier-course-tests"]],inputs:{studentId:"studentId",decoratedCourse:"decoratedCourse",gradingScales:"gradingScales",isEditable:"isEditable"},features:[H],decls:4,vars:5,consts:[["data-testid","message-no-tests",1,"p-3"],[3,"finalGrade","grading","gradingScale","average"],[3,"test","studentId","gradingScale","isEditable"]],template:function(i,n){if(i&1&&(pt(0),c(1,"async"),T(2,ki,4,4,"div")(3,Ni,3,3,"p",0)),i&2){let s,y=ct((s=f(1,1,n.sortedTests$))!==null&&s!==void 0?s:Yt(4,Ai));a(2),_(y.length>0?2:3)}},dependencies:[Ye,ii,k,R],encapsulation:2})}}return e})();function Hi(e,r){if(e&1&&(l(0,"span",0),p(1),d()),e&2){let t=S();a(),C(" (",t.grade,")")}}function Ui(e,r){if(e&1&&(l(0,"span",1),p(1),c(2,"number"),d()),e&2){let t=S();a(),C(" (",L(2,1,t.average,"1.1-3"),")")}}var ri=(()=>{class e{constructor(){}get grade(){return this.getGradeForStudent()}getGradeForStudent(){return _t(this.grading,this.finalGrade,this.gradingScale)}static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275cmp=P({type:e,selectors:[["bkd-dossier-grades-course-header"]],inputs:{designation:"designation",finalGrade:"finalGrade",grading:"grading",gradingScale:"gradingScale",average:"average"},decls:3,vars:3,consts:[["data-testId","grade",1,"grade"],["data-testId","average",1,"average"]],template:function(i,n){i&1&&(p(0),T(1,Hi,2,1,"span",0)(2,Ui,3,4,"span",1)),i&2&&(C("",n.designation,` +`),a(),_(n.grade?1:-1),a(),_(!n.grade&&n.average?2:-1))},dependencies:[ne],styles:[".average[_ngcontent-%COMP%]{color:#00000080}"]})}}return e})();var Li=(e,r)=>r.course.Id;function Wi(e,r){if(e&1&&et(0,"bkd-dossier-course-tests",9),e&2){let t=S().$implicit,i=S(2);G("decoratedCourse",t)("studentId",i.studentId)("gradingScales",i.gradingScales)("isEditable",i.isEditable)}}function qi(e,r){if(e&1){let t=it();l(0,"div")(1,"div",2)(2,"div",3,0)(4,"div",4)(5,"bkd-student-dossier-entry-header",5),V("click",function(){J(t);let n=lt(3);return Y(n.toggle())}),et(6,"bkd-dossier-grades-course-header",6),d()(),l(7,"div",7)(8,"div",8),T(9,Wi,1,4,"ng-template"),d()()()()()}if(e&2){let t=r.$implicit,i=lt(3);a(5),G("opened",!i.collapsed),a(),G("designation",t.course.Designation)("finalGrade",t.finalGrade)("grading",t.grading)("gradingScale",t.gradingScale)("average",t.average)}}function Ki(e,r){if(e&1&&(Z(0,qi,10,6,"div",null,Li),c(2,"async")),e&2){let t=S();tt(f(2,0,t.decoratedCoursesSubject$))}}function zi(e,r){e&1&&(l(0,"p",1),p(1),c(2,"translate"),d()),e&2&&(a(),C(" ",f(2,1,"dossier.no-courses")," "))}var Xr=(()=>{class e{constructor(t){this.dossierGradesService=t,this.isEditable=!0,this.decoratedCoursesSubject$=new A([])}ngOnChanges(){this.decoratedCoursesSubject$.next(this.decorateCourses())}decorateCourses(){return this.courses.map(t=>{let i=this.dossierGradesService.getFinalGradeForStudent(t,this.studentId),n=this.dossierGradesService.getGradesForStudent(t,this.studentId,this.gradingScales);return{course:t,finalGrade:i,grading:this.dossierGradesService.getGradingForStudent(t,this.studentId),gradingScale:this.dossierGradesService.getGradingScaleOfCourse(t,this.gradingScales),average:i?.AverageTestResult||Ne(n)}})}static{this.\u0275fac=function(i){return new(i||e)(D(Tt))}}static{this.\u0275cmp=P({type:e,selectors:[["bkd-dossier-grades-view"]],inputs:{courses:"courses",studentId:"studentId",gradingScales:"gradingScales",isEditable:"isEditable"},features:[H],decls:2,vars:1,consts:[["courses","ngbAccordionItem"],["data-testid","message-no-courses",1,"py-3"],["ngbAccordion",""],["ngbAccordionItem",""],["ngbAccordionHeader",""],[3,"click","opened"],[3,"designation","finalGrade","grading","gradingScale","average"],["ngbAccordionCollapse",""],["ngbAccordionBody",""],[3,"decoratedCourse","studentId","gradingScales","isEditable"]],template:function(i,n){i&1&&T(0,Ki,3,2)(1,zi,3,3,"p",1),i&2&&_(n.courses.length>0?0:1)},dependencies:[Ce,ve,be,Ge,ri,Se,Ie,ni,k,R],encapsulation:2})}}return e})();export{Vt as a,jn as b,Bn as c,An as d,Vn as e,kn as f,Nn as g,Hn as h,Ue as i,Xe as j,Je as k,wi as l,Pe as m,$e as n,jt as o,xt as p,Ve as q,ke as r,Le as s,Tt as t,qe as u,Ke as v,Xr as w}; diff --git a/public/apps/webapp-schulverwaltung/chunk-RENI6OUS.js b/public/apps/webapp-schulverwaltung/chunk-RENI6OUS.js deleted file mode 100644 index 40c1be11..00000000 --- a/public/apps/webapp-schulverwaltung/chunk-RENI6OUS.js +++ /dev/null @@ -1,2 +0,0 @@ -import{a as Bi}from"./chunk-6XR42WAQ.js";import{a as Pi,b as Ni,c as Mi}from"./chunk-4KY7ONEQ.js";import{a as Li}from"./chunk-W4ESFJ6M.js";import{a as wi}from"./chunk-YQAWVQ54.js";import{a as xi}from"./chunk-THL2WTJD.js";import"./chunk-5WNFCBTP.js";import"./chunk-LASWC23V.js";import"./chunk-HCNFZOWE.js";import{a as ui,b as hi,e as vi}from"./chunk-746ASKQ4.js";import{a as je}from"./chunk-DTTSX64G.js";import"./chunk-Y4QYVF5K.js";import"./chunk-AYQPMCNZ.js";import{a as Vi}from"./chunk-W3JKHGP4.js";import{a as ki}from"./chunk-BIDSHCYH.js";import{a as Ai,b as Fi,c as Di}from"./chunk-4RZQAAPF.js";import{e as Ti,f as Si}from"./chunk-Z4YBXGVO.js";import"./chunk-3L4RH6QP.js";import{a as yi}from"./chunk-DTYYCJHM.js";import"./chunk-XAZECV42.js";import{a as Oi}from"./chunk-3P6YOVUR.js";import{H as _i,I as at,L as gi,M as ot,N as lt,O as Ae,P as He,Q as bi,g as mi,r as fi,s as rt}from"./chunk-SRCW6BUG.js";import{a as $e,c as st,l as Ci}from"./chunk-GOGVGWFJ.js";import{b as Ii}from"./chunk-OSOXMODN.js";import{b as Ei}from"./chunk-PSYDBHTH.js";import{A as pi,h as ri,i as ai,l as oi,y as we}from"./chunk-W4U7QKJF.js";import{a as ci}from"./chunk-AVBHFGIF.js";import{$a as c,$b as Mt,A as gt,Aa as S,Ab as oe,Ad as Me,Bb as le,Bd as si,Ca as wt,Cb as Y,D as bt,Db as pe,Eb as Dt,F as ie,Fb as X,Ga as H,Gb as Lt,Ha as At,Hb as Bt,Hc as tt,Ia as W,Ib as Ot,Ic as it,Id as li,J as Ct,Jb as d,Kb as u,Lb as ne,M as ue,Ma as Pe,Md as di,Na as b,Nb as ce,Nc as Gt,O as vt,Od as Re,P as ye,Pa as J,Pb as Pt,Pd as me,Qa as _,Qb as B,R as N,Ra as G,Rb as Ie,S as Et,Tc as nt,Ua as Ke,Va as y,W as yt,Wb as Nt,X as Z,Xa as Se,Xb as Vt,Y as Tt,Ya as V,Z as St,Za as M,_ as j,_a as l,a as be,ab as L,b as De,bb as Ft,bc as et,cb as kt,cc as ve,cd as he,da as Te,db as Ye,dc as Rt,dd as qt,ea as v,eb as P,ed as Ut,f as re,fa as E,fd as zt,g as ze,gb as x,hb as h,hd as xe,i as mt,ia as It,ib as Ze,id as Ve,j as ft,ja as Qe,jb as Je,jd as Qt,kb as fe,l as _t,lb as Xe,lc as $t,ma as F,mb as q,md as Kt,n as T,na as xt,nb as _e,nd as Yt,o as Le,ob as k,pb as D,pd as Zt,qb as U,ra as ae,rb as p,rd as Jt,sb as I,sd as Xt,t as Ee,tb as C,td as ei,ub as Ce,ud as ti,vd as ii,w as Be,wc as Ne,x as Oe,xa as o,xb as z,xc as jt,ya as f,yb as Q,yc as Ht,zb as K,zc as Wt,zd as ni}from"./chunk-2W7IS4PN.js";var O=function(t){return t.Absent="absent",t.Dispensation="dispensation",t.HalfDay="half-day",t.Incident="incident",t.Present="present",t}(O||{}),$i=(()=>{class t{constructor(e,i){this.updateService=e,this.settings=i}update(e,i,n,r,a,m){let g=[];switch(n){case O.Present:g=this.createResetBulkRequests(e);break;case O.Absent:g=this.createAbsentEditBulkRequests(e,i,r,a);break;case O.Dispensation:g=this.createEditBulkRequests(e,null,this.settings.dispensationPresenceTypeId);break;case O.HalfDay:g=this.createEditBulkRequests(e,null,this.settings.halfDayPresenceTypeId);break;case O.Incident:g=this.createEditBulkRequests(e,null,m);break}return Le(g).pipe(T(()=>{}))}createAbsentEditBulkRequests(e,i,n,r){return n===this.settings.excusedAbsenceStateId?this.createEditBulkRequests(e,n,r):n===this.settings.unexcusedAbsenceStateId?this.createEditBulkRequests(e,n,this.settings.absencePresenceTypeId):[...this.createEditBulkRequests(e.filter(Ri(i,this.settings)),n,this.settings.absencePresenceTypeId),...this.createEditBulkRequests(e.filter(we(Ri(i,this.settings))),n,null)]}createResetBulkRequests(e){return at(e).map(({lessonIds:i,personIds:n})=>this.updateService.removeLessonPresences(i,n))}createEditBulkRequests(e,i,n){return at(e).map(({lessonIds:r,personIds:a})=>this.updateService.editLessonPresences(r,a,n||void 0,i||void 0))}static{this.\u0275fac=function(i){return new(i||t)(j(bi),j(he))}}static{this.\u0275prov=Z({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();function Ri(t,s){return e=>{let i=t.find(n=>n.Id===e.TypeRef.Id);return!i||i.Id===s.dispensationPresenceTypeId||i.Id===s.halfDayPresenceTypeId||i.IsIncident}}var te=(()=>{class t extends Fi{constructor(e,i,n,r,a,m,g){super(e,i,n,r,"/edit-absences"),this.lessonPresencesService=a,this.presenceTypesService=m,this.dropDownItemsService=g,this.weekdays$=this.loadWeekdays().pipe(ue(1)),this.presenceTypes$=this.loadPresenceTypes().pipe(ue(1)),this.absenceConfirmationStates$=this.loadAbsenceConfirmationStates().pipe(T(ui),ue(1)),this.presenceControlEntries$=Le([this.entries$,this.presenceTypes$,this.absenceConfirmationStates$]).pipe(T(Ci(Bi)),ue(1)),this.selected=[],this.queryParamsString$.pipe(N(this.destroy$)).subscribe(A=>this.confirmBackLinkParams={returnparams:A})}resetSelection(){this.selected=[]}updateAfterConfirm(){this.resetEntries()}getInitialFilter(){return{student:null,educationalEvent:null,studyClass:null,teacher:null,dateFrom:null,dateTo:null,weekdays:null,presenceTypes:null,confirmationStates:null,incidentTypes:null}}isValidFilter(e){return!!(e.student||e.educationalEvent||e.studyClass||e.teacher||e.dateFrom||e.dateTo||e.weekdays||e.presenceTypes||e.confirmationStates||e.incidentTypes)}loadEntries(e,i,n){let r={sort:"StudentFullName.asc,LessonDateTimeFrom.asc"};return this.loadingService.load(this.lessonPresencesService.getFilteredList(e,n,r),Ai)}buildParamsFromFilter(e){return Pi(e)}loadWeekdays(){return this.loadingService.load(this.dropDownItemsService.getWeekdays())}loadPresenceTypes(){return this.loadingService.load(this.presenceTypesService.activePresenceTypes$)}loadAbsenceConfirmationStates(){return this.loadingService.load(this.dropDownItemsService.getAbsenceConfirmationStates())}static{this.\u0275fac=function(i){return new(i||t)(j(Vt),j(Ii),j(Di),j(he),j(vi),j(He),j(je))}}static{this.\u0275prov=Z({token:t,factory:t.\u0275fac})}}return t})();var fn=(t,s)=>s.Key,ji=(t,s)=>s.Id;function _n(t,s){if(t&1&&(l(0,"div",3),p(1),d(2,"translate"),c()),t&2){let e=s.$implicit;o(),C(" ",ne(2,1,"global.validation-errors."+e.error,e.params)," ")}}function gn(t,s){if(t&1&&(l(0,"option",18),p(1),c()),t&2){let e=s.$implicit;_("ngValue",e.Id),o(),C(" ",e.Designation," ")}}function bn(t,s){if(t&1&&(l(0,"select",17),d(1,"async"),l(2,"option",18),p(3),d(4,"translate"),c(),V(5,gn,2,2,"option",18,ji),d(7,"async"),c()),t&2){let e,i=h(5);G("is-invalid",((e=u(1,4,i.absenceTypeIdErrors$))==null?null:e.length)||!1),o(2),_("ngValue",null),o(),C(" ",u(4,6,"edit-absences.edit.absence-type-placeholder")," "),o(2),M(u(7,8,i.absenceTypes$))}}function Cn(t,s){if(t&1&&(l(0,"div",16),p(1),d(2,"translate"),c()),t&2){let e=s.$implicit;o(),C(" ",ne(2,1,"global.validation-errors."+e.error,e.params)," ")}}function vn(t,s){if(t&1&&(l(0,"div",13),L(1,"input",14),l(2,"label",11),p(3),c(),b(4,bn,8,10,"select",15),V(5,Cn,3,4,"div",16,Se),d(7,"async"),c()),t&2){let e=s.$implicit,i=h(4);o(),_("id","state-"+e.Key)("value",e.Key),o(),fe("for","state-"+e.Key),o(),C(" ",e.Value," "),o(),y(i.isExcused(e)?4:-1),o(),M(u(7,5,i.absenceTypeIdErrors$))}}function En(t,s){if(t&1&&(l(0,"div",12),V(1,vn,8,7,"div",13,fn),c()),t&2){h(3);let e=Y(0);o(),M(e)}}function yn(t,s){if(t&1&&(l(0,"option",18),p(1),c()),t&2){let e=s.$implicit;_("ngValue",e.Id),o(),C(" ",e.Designation," ")}}function Tn(t,s){if(t&1&&(l(0,"div",16),p(1),d(2,"translate"),c()),t&2){let e=s.$implicit;o(),C(" ",ne(2,1,"global.validation-errors."+e.error,e.params)," ")}}function Sn(t,s){if(t&1&&(l(0,"div",12)(1,"select",19),d(2,"async"),l(3,"option",18),p(4),d(5,"translate"),c(),V(6,yn,2,2,"option",18,ji),d(8,"async"),c(),V(9,Tn,3,4,"div",16,Se),d(11,"async"),c()),t&2){let e,i=h(3);o(),G("is-invalid",((e=u(2,4,i.incidentIdErrors$))==null?null:e.length)||!1),o(2),_("ngValue",null),o(),C(" ",u(5,6,"edit-absences.edit.incident-placeholder")," "),o(2),M(u(8,8,i.incidents$)),o(3),M(u(11,10,i.incidentIdErrors$))}}function In(t,s){if(t&1&&(l(0,"div",5),L(1,"input",10),l(2,"label",11),p(3),d(4,"translate"),c(),b(5,En,3,0,"div",12)(6,Sn,12,12,"div",12),c()),t&2){let e=s.$implicit,i=h(2);o(),_("id","category-"+e)("value",e),o(),fe("for","category-"+e),o(),C(" ",u(4,6,"edit-absences.edit.categories."+e)," "),o(2),y(i.isAbsent(e)?5:-1),o(),y(i.isIncident(e)?6:-1)}}function xn(t,s){t&1&&(l(0,"div",9)(1,"span",20),p(2,"Loading..."),c()())}function wn(t,s){if(t&1){let e=P();l(0,"form",2),x("ngSubmit",function(){v(e);let n=h();return E(n.onSubmit())}),V(1,_n,3,4,"div",3,Se),d(3,"async"),l(4,"div",4),V(5,In,7,8,"div",5,Se),c(),l(7,"div",6)(8,"button",7),d(9,"async"),x("click",function(){v(e);let n=h();return E(n.cancel())}),p(10),d(11,"translate"),c(),l(12,"button",8),d(13,"async"),p(14),d(15,"translate"),b(16,xn,3,0,"div",9),d(17,"async"),c()()()}if(t&2){let e=h(),i=Y(2),n=Y(4);_("formGroup",n),o(),M(u(3,6,e.formErrors$)),o(4),M(i),o(3),_("disabled",u(9,8,e.saving$)),o(2),C(" ",u(11,10,"edit-absences.edit.cancel")," "),o(2),_("disabled",u(13,12,e.saving$)),o(2),C(" ",u(15,14,"edit-absences.edit.save")," "),o(2),y(u(17,16,e.saving$)?16:-1)}}var Hi=(()=>{class t{constructor(e,i,n,r,a,m,g,A,ee,R){this.fb=e,this.router=i,this.route=n,this.toastService=r,this.translate=a,this.state=m,this.dropDownItemsService=g,this.presenceTypesService=A,this.updateService=ee,this.settings=R,this.absenceTypes$=this.presenceTypesService.confirmationTypes$,this.incidents$=this.presenceTypesService.incidentTypes$,this.formGroup$=this.createFormGroup(),this.saving$=new ze(!1),this.submitted$=new ze(!1),this.formErrors$=$e(this.formGroup$,this.submitted$),this.absenceTypeIdErrors$=$e(this.formGroup$,this.submitted$,"absenceTypeId"),this.incidentIdErrors$=$e(this.formGroup$,this.submitted$,"incidentId"),this.availableCategories=[O.Absent,O.Dispensation,O.HalfDay,O.Incident,O.Present],this.confirmationStates$=this.dropDownItemsService.getAbsenceConfirmationStates().pipe(T(this.sortAbsenceConfirmationStates.bind(this)),ue(1)),this.activeCategories$=this.presenceTypesService.halfDayActive$.pipe(T($=>$?this.availableCategories:this.availableCategories.filter(ge=>ge!==O.HalfDay))),this.destroy$=new re}ngOnInit(){this.state.selected.length===0&&this.navigateBack(),st(this.formGroup$,"category").pipe(N(this.destroy$)).subscribe(this.updateConfirmationValueDisabled.bind(this)),st(this.formGroup$,"confirmationValue").pipe(N(this.destroy$)).subscribe(this.updateAbsenceTypeIdDisabled.bind(this))}ngOnDestroy(){this.destroy$.next()}isAbsent(e){return e===O.Absent}isExcused(e){return e.Key===this.settings.excusedAbsenceStateId}isIncident(e){return e===O.Incident}onSubmit(){this.submitted$.next(!0),this.formGroup$.pipe(ie(1)).subscribe(e=>{e.valid&&this.save(e)})}cancel(){this.navigateBack()}createFormGroup(){return this.getInitialAbsenceTypeId().pipe(T(e=>this.fb.group({category:[O.Absent,xe.required],confirmationValue:[this.settings.excusedAbsenceStateId,xe.required],absenceTypeId:[e,xe.required],incidentId:[{value:null,disabled:!0},xe.required]})),ue(1))}getInitialAbsenceTypeId(){return this.absenceTypes$.pipe(ie(1),T(e=>{let i=e.map(r=>r.Id),n=li(this.state.selected.map(r=>r.TypeRef.Id));return n.length===1&&n[0]!=null&&i.includes(n[0])?n[0]:null}))}updateConfirmationValueDisabled(){this.formGroup$.pipe(ie(1)).subscribe(e=>{let i=e.get("category"),n=e.get("confirmationValue"),r=e.get("absenceTypeId"),a=e.get("incidentId");i&&n&&r&&a&&(i.value===O.Absent?(n.enable(),this.updateAbsenceTypeIdDisabled()):(n.disable(),r.disable()),i.value===O.Incident?a.enable():a.disable())})}updateAbsenceTypeIdDisabled(){this.formGroup$.pipe(ie(1)).subscribe(e=>{let i=e.get("confirmationValue"),n=e.get("absenceTypeId");i&&n&&(i.value===this.settings.excusedAbsenceStateId?n.enable():n.disable())})}save(e){this.saving$.next(!0);let{category:i,confirmationValue:n,absenceTypeId:r,incidentId:a}=e.value;this.presenceTypesService.presenceTypes$.pipe(ye(m=>this.updateService.update(this.state.selected,m,i,n,r,a)),Ct(()=>this.saving$.next(!1))).subscribe(this.onSaveSuccess.bind(this))}onSaveSuccess(){this.state.resetSelection(),this.toastService.success(this.translate.instant("edit-absences.edit.save-success")),this.navigateBack(!0)}navigateBack(e){this.route.queryParams.pipe(ie(1)).subscribe(i=>{this.router.navigate(["/edit-absences"],{queryParams:De(be({},yi(i.returnparams)),{reload:e})})})}sortAbsenceConfirmationStates(e){return e.slice().sort((i,n)=>i.Key===this.settings.excusedAbsenceStateId?-1:n.Key===this.settings.excusedAbsenceStateId?1:i.Value.localeCompare(n.Value))}static{this.\u0275fac=function(i){return new(i||t)(f(ni),f(Ht),f(Ne),f(ci),f(Re),f(te),f(je),f(He),f($i),f(he))}}static{this.\u0275cmp=H({type:t,selectors:[["bkd-edit-absences-edit"]],decls:11,vars:13,consts:[[1,"bkd-container","bkd-container-limited"],[3,"formGroup"],[3,"ngSubmit","formGroup"],[1,"alert","alert-danger"],[1,"form-group","pb-4"],[1,"form-check","mt-2","mb-3"],[1,"d-flex","justify-content-end"],["type","button",1,"btn","btn-outline-secondary",3,"click","disabled"],["type","submit",1,"btn","btn-primary","ms-2",3,"disabled"],["role","status",1,"spinner-border","spinner-border-sm","align-middle"],["type","radio","formControlName","category",1,"form-check-input",3,"id","value"],[1,"form-check-label",3,"for"],[1,"ms-5"],[1,"form-check","mt-2","mb-2"],["type","radio","formControlName","confirmationValue",1,"form-check-input",3,"id","value"],["formControlName","absenceTypeId",1,"form-select","mt-1",3,"is-invalid"],[1,"invalid-feedback"],["formControlName","absenceTypeId",1,"form-select","mt-1"],[3,"ngValue"],["formControlName","incidentId",1,"form-select","mt-1"],[1,"visually-hidden"]],template:function(i,n){if(i&1&&(oe(0),d(1,"async"),oe(2),d(3,"async"),oe(4),d(5,"async"),l(6,"h1"),p(7),d(8,"translate"),c(),l(9,"div",0),b(10,wn,18,18,"form",1),c()),i&2){let r=le(u(1,2,n.confirmationStates$));o(2),le(u(3,5,n.activeCategories$)),o(2);let a=le(u(5,8,n.formGroup$));o(3),I(u(8,11,"edit-absences.title")),o(3),y(a&&r?10:-1)}},dependencies:[Me,Yt,ti,ii,zt,ei,Zt,Ve,Qt,si,Jt,Xt,ve,me],encapsulation:2,changeDetection:0})}}return t})();var Ge=(()=>{class t extends _i{static{this.\u0275fac=(()=>{let e;return function(n){return(e||(e=It(t)))(n||t)}})()}static{this.\u0275prov=Z({token:t,factory:t.\u0275fac})}}return t})();var Fn=["content"],kn=["scroll"],Dn=["padding"],qi=["*"],ke=t=>({searchTerm:t});function Ln(t,s){if(t&1&&(l(0,"div",3),Ye(1,6),c()),t&2){let e=h();o(),_("ngTemplateOutlet",e.headerTemplate)("ngTemplateOutletContext",X(2,ke,e.filterValue))}}function Bn(t,s){if(t&1&&(l(0,"div",5),Ye(1,6),c()),t&2){let e=h();o(),_("ngTemplateOutlet",e.footerTemplate)("ngTemplateOutletContext",X(2,ke,e.filterValue))}}var On=["searchInput"],Pn=["clearButton"],Nn=(t,s,e)=>({item:t,clear:s,label:e}),Vn=(t,s)=>({items:t,clear:s}),Mn=(t,s,e,i)=>({item:t,item$:s,index:e,searchTerm:i});function Rn(t,s){if(t&1&&(l(0,"div",20),p(1),c()),t&2){let e=h(2);o(),I(e.placeholder)}}function $n(t,s){}function jn(t,s){if(t&1&&b(0,Rn,2,1,"ng-template",null,1,ce)(2,$n,0,0,"ng-template",19),t&2){let e=U(1),i=h();o(2),_("ngTemplateOutlet",i.placeholderTemplate||e)}}function Hn(t,s){if(t&1){let e=P();l(0,"span",23),x("click",function(){v(e);let n=h().$implicit,r=h(2);return E(r.unselect(n))}),p(1,"\xD7"),c(),L(2,"span",24)}if(t&2){let e=h().$implicit,i=h(2);o(2),_("ngItemLabel",e.label)("escape",i.escapeHTML)}}function Wn(t,s){}function Gn(t,s){if(t&1&&(l(0,"div",22),b(1,Hn,3,2,"ng-template",null,2,ce)(3,Wn,0,0,"ng-template",12),c()),t&2){let e=s.$implicit,i=U(2),n=h(2);G("ng-value-disabled",e.disabled),o(3),_("ngTemplateOutlet",n.labelTemplate||i)("ngTemplateOutletContext",Bt(4,Nn,e.value,n.clearItem,e.label))}}function qn(t,s){if(t&1&&V(0,Gn,4,8,"div",21,Ke().trackByOption,!0),t&2){let e=h();M(e.selectedItems)}}function Un(t,s){}function zn(t,s){if(t&1&&b(0,Un,0,0,"ng-template",12),t&2){let e=h();_("ngTemplateOutlet",e.multiLabelTemplate)("ngTemplateOutletContext",Lt(2,Vn,e.selectedValues,e.clearItem))}}function Qn(t,s){t&1&&L(0,"div",25)}function Kn(t,s){}function Yn(t,s){if(t&1&&b(0,Qn,1,0,"ng-template",null,3,ce)(2,Kn,0,0,"ng-template",19),t&2){let e=U(1),i=h();o(2),_("ngTemplateOutlet",i.loadingSpinnerTemplate||e)}}function Zn(t,s){if(t&1&&(l(0,"span",15,4)(2,"span",26),p(3,"\xD7"),c()()),t&2){let e=h();fe("title",e.clearAllText)}}function Jn(t,s){if(t&1&&L(0,"span",31),t&2){let e=h().$implicit,i=h(2);_("ngItemLabel",e.label)("escape",i.escapeHTML)}}function Xn(t,s){}function es(t,s){if(t&1){let e=P();l(0,"div",30),x("click",function(){let n=v(e).$implicit,r=h(2);return E(r.toggleItem(n))})("mouseover",function(){let n=v(e).$implicit,r=h(2);return E(r.onItemHover(n))}),b(1,Jn,1,2,"ng-template",null,5,ce)(3,Xn,0,0,"ng-template",12),c()}if(t&2){let e=s.$implicit,i=U(2),n=h(2);G("ng-option-disabled",e.disabled)("ng-option-selected",e.selected)("ng-optgroup",e.children)("ng-option",!e.children)("ng-option-child",!!e.parent)("ng-option-marked",e===n.itemsList.markedItem),J("role",e.children?"group":"option")("aria-selected",e.selected)("id",e==null?null:e.htmlId),o(3),_("ngTemplateOutlet",e.children?n.optgroupTemplate||i:n.optionTemplate||i)("ngTemplateOutletContext",Ot(17,Mn,e.value,e,e.index,n.searchTerm))}}function ts(t,s){if(t&1&&(l(0,"span")(1,"span",33),p(2),c(),p(3),c()),t&2){let e=h(3);o(2),I(e.addTagText),o(),C('"',e.searchTerm,'"')}}function is(t,s){}function ns(t,s){if(t&1){let e=P();l(0,"div",32),x("mouseover",function(){v(e);let n=h(2);return E(n.itemsList.unmarkItem())})("click",function(){v(e);let n=h(2);return E(n.selectTag())}),b(1,ts,4,2,"ng-template",null,6,ce)(3,is,0,0,"ng-template",12),c()}if(t&2){let e=U(2),i=h(2);G("ng-option-marked",!i.itemsList.markedItem),o(3),_("ngTemplateOutlet",i.tagTemplate||e)("ngTemplateOutletContext",X(4,ke,i.searchTerm))}}function ss(t,s){if(t&1&&(l(0,"div",34),p(1),c()),t&2){let e=h(3);o(),I(e.notFoundText)}}function rs(t,s){}function as(t,s){if(t&1&&b(0,ss,2,1,"ng-template",null,7,ce)(2,rs,0,0,"ng-template",12),t&2){let e=U(1),i=h(2);o(2),_("ngTemplateOutlet",i.notFoundTemplate||e)("ngTemplateOutletContext",X(2,ke,i.searchTerm))}}function os(t,s){if(t&1&&(l(0,"div",34),p(1),c()),t&2){let e=h(3);o(),I(e.typeToSearchText)}}function ls(t,s){}function cs(t,s){if(t&1&&b(0,os,2,1,"ng-template",null,8,ce)(2,ls,0,0,"ng-template",19),t&2){let e=U(1),i=h(2);o(2),_("ngTemplateOutlet",i.typeToSearchTemplate||e)}}function ds(t,s){if(t&1&&(l(0,"div",34),p(1),c()),t&2){let e=h(3);o(),I(e.loadingText)}}function us(t,s){}function ps(t,s){if(t&1&&b(0,ds,2,1,"ng-template",null,9,ce)(2,us,0,0,"ng-template",12),t&2){let e=U(1),i=h(2);o(2),_("ngTemplateOutlet",i.loadingTextTemplate||e)("ngTemplateOutletContext",X(2,ke,i.searchTerm))}}function hs(t,s){if(t&1){let e=P();l(0,"ng-dropdown-panel",27),x("update",function(n){v(e);let r=h();return E(r.viewPortItems=n)})("scroll",function(n){v(e);let r=h();return E(r.scroll.emit(n))})("scrollToEnd",function(n){v(e);let r=h();return E(r.scrollToEnd.emit(n))})("outsideClick",function(){v(e);let n=h();return E(n.close())}),Ft(1),V(2,es,4,22,"div",28,Ke().trackByOption,!0),b(4,ns,4,6,"div",29),kt(),b(5,as,3,4)(6,cs,3,1)(7,ps,3,4),c()}if(t&2){let e=h();G("ng-select-multiple",e.multiple),_("virtualScroll",e.virtualScroll)("bufferAmount",e.bufferAmount)("appendTo",e.appendTo)("position",e.dropdownPosition)("headerTemplate",e.headerTemplate)("footerTemplate",e.footerTemplate)("filterValue",e.searchTerm)("items",e.itemsList.filteredItems)("markedItem",e.itemsList.markedItem)("ngClass",e.appendTo?e.ngClass?e.ngClass:e.classes:null)("id",e.dropdownId),J("aria-label",e.ariaLabelDropdown),o(2),M(e.viewPortItems),o(2),y(e.showAddTag?4:-1),o(),y(e.showNoItemsFound()?5:-1),o(),y(e.showTypeToSearch()?6:-1),o(),y(e.loading&&e.itemsList.filteredItems.length===0?7:-1)}}var Ui=/[&<>"']/g,ms=RegExp(Ui.source),fs={"&":"&","<":"<",">":">",'"':""","'":"'"};function _s(t){return t&&ms.test(t)?t.replace(Ui,s=>fs[s]):t}function w(t){return t!=null}function Fe(t){return typeof t=="object"&&w(t)}function gs(t){return t instanceof Promise}function Ue(t){return t instanceof Function}var bs=(()=>{class t{constructor(e){this.element=e,this.escape=!0}ngOnChanges(e){this.element.nativeElement.innerHTML=this.escape?_s(this.ngItemLabel):this.ngItemLabel}static{this.\u0275fac=function(i){return new(i||t)(f(ae))}}static{this.\u0275dir=W({type:t,selectors:[["","ngItemLabel",""]],inputs:{ngItemLabel:"ngItemLabel",escape:"escape"},features:[Te]})}}return t})(),ut=(()=>{class t{constructor(e){this.template=e}static{this.\u0275fac=function(i){return new(i||t)(f(S))}}static{this.\u0275dir=W({type:t,selectors:[["","ng-option-tmp",""]]})}}return t})(),pt=(()=>{class t{constructor(e){this.template=e}static{this.\u0275fac=function(i){return new(i||t)(f(S))}}static{this.\u0275dir=W({type:t,selectors:[["","ng-optgroup-tmp",""]]})}}return t})(),Cs=(()=>{class t{constructor(e){this.template=e}static{this.\u0275fac=function(i){return new(i||t)(f(S))}}static{this.\u0275dir=W({type:t,selectors:[["","ng-label-tmp",""]]})}}return t})(),ht=(()=>{class t{constructor(e){this.template=e}static{this.\u0275fac=function(i){return new(i||t)(f(S))}}static{this.\u0275dir=W({type:t,selectors:[["","ng-multi-label-tmp",""]]})}}return t})(),vs=(()=>{class t{constructor(e){this.template=e}static{this.\u0275fac=function(i){return new(i||t)(f(S))}}static{this.\u0275dir=W({type:t,selectors:[["","ng-header-tmp",""]]})}}return t})(),Es=(()=>{class t{constructor(e){this.template=e}static{this.\u0275fac=function(i){return new(i||t)(f(S))}}static{this.\u0275dir=W({type:t,selectors:[["","ng-footer-tmp",""]]})}}return t})(),ys=(()=>{class t{constructor(e){this.template=e}static{this.\u0275fac=function(i){return new(i||t)(f(S))}}static{this.\u0275dir=W({type:t,selectors:[["","ng-notfound-tmp",""]]})}}return t})(),Ts=(()=>{class t{constructor(e){this.template=e}static{this.\u0275fac=function(i){return new(i||t)(f(S))}}static{this.\u0275dir=W({type:t,selectors:[["","ng-placeholder-tmp",""]]})}}return t})(),Ss=(()=>{class t{constructor(e){this.template=e}static{this.\u0275fac=function(i){return new(i||t)(f(S))}}static{this.\u0275dir=W({type:t,selectors:[["","ng-typetosearch-tmp",""]]})}}return t})(),Is=(()=>{class t{constructor(e){this.template=e}static{this.\u0275fac=function(i){return new(i||t)(f(S))}}static{this.\u0275dir=W({type:t,selectors:[["","ng-loadingtext-tmp",""]]})}}return t})(),xs=(()=>{class t{constructor(e){this.template=e}static{this.\u0275fac=function(i){return new(i||t)(f(S))}}static{this.\u0275dir=W({type:t,selectors:[["","ng-tag-tmp",""]]})}}return t})(),ws=(()=>{class t{constructor(e){this.template=e}static{this.\u0275fac=function(i){return new(i||t)(f(S))}}static{this.\u0275dir=W({type:t,selectors:[["","ng-loadingspinner-tmp",""]]})}}return t})();function zi(){return"axxxxxxxxxxx".replace(/[x]/g,()=>(Math.random()*16|0).toString(16))}var As={"\u24B6":"A",\uFF21:"A",\u00C0:"A",\u00C1:"A",\u00C2:"A",\u1EA6:"A",\u1EA4:"A",\u1EAA:"A",\u1EA8:"A",\u00C3:"A",\u0100:"A",\u0102:"A",\u1EB0:"A",\u1EAE:"A",\u1EB4:"A",\u1EB2:"A",\u0226:"A",\u01E0:"A",\u00C4:"A",\u01DE:"A",\u1EA2:"A",\u00C5:"A",\u01FA:"A",\u01CD:"A",\u0200:"A",\u0202:"A",\u1EA0:"A",\u1EAC:"A",\u1EB6:"A",\u1E00:"A",\u0104:"A","\u023A":"A","\u2C6F":"A","\uA732":"AA",\u00C6:"AE",\u01FC:"AE",\u01E2:"AE","\uA734":"AO","\uA736":"AU","\uA738":"AV","\uA73A":"AV","\uA73C":"AY","\u24B7":"B",\uFF22:"B",\u1E02:"B",\u1E04:"B",\u1E06:"B","\u0243":"B",\u0182:"B",\u0181:"B","\u24B8":"C",\uFF23:"C",\u0106:"C",\u0108:"C",\u010A:"C",\u010C:"C",\u00C7:"C",\u1E08:"C",\u0187:"C","\u023B":"C","\uA73E":"C","\u24B9":"D",\uFF24:"D",\u1E0A:"D",\u010E:"D",\u1E0C:"D",\u1E10:"D",\u1E12:"D",\u1E0E:"D",\u0110:"D",\u018B:"D",\u018A:"D",\u0189:"D","\uA779":"D",\u01F1:"DZ",\u01C4:"DZ",\u01F2:"Dz",\u01C5:"Dz","\u24BA":"E",\uFF25:"E",\u00C8:"E",\u00C9:"E",\u00CA:"E",\u1EC0:"E",\u1EBE:"E",\u1EC4:"E",\u1EC2:"E",\u1EBC:"E",\u0112:"E",\u1E14:"E",\u1E16:"E",\u0114:"E",\u0116:"E",\u00CB:"E",\u1EBA:"E",\u011A:"E",\u0204:"E",\u0206:"E",\u1EB8:"E",\u1EC6:"E",\u0228:"E",\u1E1C:"E",\u0118:"E",\u1E18:"E",\u1E1A:"E",\u0190:"E",\u018E:"E","\u24BB":"F",\uFF26:"F",\u1E1E:"F",\u0191:"F","\uA77B":"F","\u24BC":"G",\uFF27:"G",\u01F4:"G",\u011C:"G",\u1E20:"G",\u011E:"G",\u0120:"G",\u01E6:"G",\u0122:"G",\u01E4:"G",\u0193:"G","\uA7A0":"G","\uA77D":"G","\uA77E":"G","\u24BD":"H",\uFF28:"H",\u0124:"H",\u1E22:"H",\u1E26:"H",\u021E:"H",\u1E24:"H",\u1E28:"H",\u1E2A:"H",\u0126:"H","\u2C67":"H","\u2C75":"H","\uA78D":"H","\u24BE":"I",\uFF29:"I",\u00CC:"I",\u00CD:"I",\u00CE:"I",\u0128:"I",\u012A:"I",\u012C:"I",\u0130:"I",\u00CF:"I",\u1E2E:"I",\u1EC8:"I",\u01CF:"I",\u0208:"I",\u020A:"I",\u1ECA:"I",\u012E:"I",\u1E2C:"I",\u0197:"I","\u24BF":"J",\uFF2A:"J",\u0134:"J","\u0248":"J","\u24C0":"K",\uFF2B:"K",\u1E30:"K",\u01E8:"K",\u1E32:"K",\u0136:"K",\u1E34:"K",\u0198:"K","\u2C69":"K","\uA740":"K","\uA742":"K","\uA744":"K","\uA7A2":"K","\u24C1":"L",\uFF2C:"L",\u013F:"L",\u0139:"L",\u013D:"L",\u1E36:"L",\u1E38:"L",\u013B:"L",\u1E3C:"L",\u1E3A:"L",\u0141:"L","\u023D":"L","\u2C62":"L","\u2C60":"L","\uA748":"L","\uA746":"L","\uA780":"L",\u01C7:"LJ",\u01C8:"Lj","\u24C2":"M",\uFF2D:"M",\u1E3E:"M",\u1E40:"M",\u1E42:"M","\u2C6E":"M",\u019C:"M","\u24C3":"N",\uFF2E:"N",\u01F8:"N",\u0143:"N",\u00D1:"N",\u1E44:"N",\u0147:"N",\u1E46:"N",\u0145:"N",\u1E4A:"N",\u1E48:"N","\u0220":"N",\u019D:"N","\uA790":"N","\uA7A4":"N",\u01CA:"NJ",\u01CB:"Nj","\u24C4":"O",\uFF2F:"O",\u00D2:"O",\u00D3:"O",\u00D4:"O",\u1ED2:"O",\u1ED0:"O",\u1ED6:"O",\u1ED4:"O",\u00D5:"O",\u1E4C:"O",\u022C:"O",\u1E4E:"O",\u014C:"O",\u1E50:"O",\u1E52:"O",\u014E:"O",\u022E:"O",\u0230:"O",\u00D6:"O",\u022A:"O",\u1ECE:"O",\u0150:"O",\u01D1:"O",\u020C:"O",\u020E:"O",\u01A0:"O",\u1EDC:"O",\u1EDA:"O",\u1EE0:"O",\u1EDE:"O",\u1EE2:"O",\u1ECC:"O",\u1ED8:"O",\u01EA:"O",\u01EC:"O",\u00D8:"O",\u01FE:"O",\u0186:"O",\u019F:"O","\uA74A":"O","\uA74C":"O",\u01A2:"OI","\uA74E":"OO",\u0222:"OU","\u24C5":"P",\uFF30:"P",\u1E54:"P",\u1E56:"P",\u01A4:"P","\u2C63":"P","\uA750":"P","\uA752":"P","\uA754":"P","\u24C6":"Q",\uFF31:"Q","\uA756":"Q","\uA758":"Q","\u024A":"Q","\u24C7":"R",\uFF32:"R",\u0154:"R",\u1E58:"R",\u0158:"R",\u0210:"R",\u0212:"R",\u1E5A:"R",\u1E5C:"R",\u0156:"R",\u1E5E:"R","\u024C":"R","\u2C64":"R","\uA75A":"R","\uA7A6":"R","\uA782":"R","\u24C8":"S",\uFF33:"S","\u1E9E":"S",\u015A:"S",\u1E64:"S",\u015C:"S",\u1E60:"S",\u0160:"S",\u1E66:"S",\u1E62:"S",\u1E68:"S",\u0218:"S",\u015E:"S","\u2C7E":"S","\uA7A8":"S","\uA784":"S","\u24C9":"T",\uFF34:"T",\u1E6A:"T",\u0164:"T",\u1E6C:"T",\u021A:"T",\u0162:"T",\u1E70:"T",\u1E6E:"T",\u0166:"T",\u01AC:"T",\u01AE:"T","\u023E":"T","\uA786":"T","\uA728":"TZ","\u24CA":"U",\uFF35:"U",\u00D9:"U",\u00DA:"U",\u00DB:"U",\u0168:"U",\u1E78:"U",\u016A:"U",\u1E7A:"U",\u016C:"U",\u00DC:"U",\u01DB:"U",\u01D7:"U",\u01D5:"U",\u01D9:"U",\u1EE6:"U",\u016E:"U",\u0170:"U",\u01D3:"U",\u0214:"U",\u0216:"U",\u01AF:"U",\u1EEA:"U",\u1EE8:"U",\u1EEE:"U",\u1EEC:"U",\u1EF0:"U",\u1EE4:"U",\u1E72:"U",\u0172:"U",\u1E76:"U",\u1E74:"U","\u0244":"U","\u24CB":"V",\uFF36:"V",\u1E7C:"V",\u1E7E:"V",\u01B2:"V","\uA75E":"V","\u0245":"V","\uA760":"VY","\u24CC":"W",\uFF37:"W",\u1E80:"W",\u1E82:"W",\u0174:"W",\u1E86:"W",\u1E84:"W",\u1E88:"W","\u2C72":"W","\u24CD":"X",\uFF38:"X",\u1E8A:"X",\u1E8C:"X","\u24CE":"Y",\uFF39:"Y",\u1EF2:"Y",\u00DD:"Y",\u0176:"Y",\u1EF8:"Y",\u0232:"Y",\u1E8E:"Y",\u0178:"Y",\u1EF6:"Y",\u1EF4:"Y",\u01B3:"Y","\u024E":"Y","\u1EFE":"Y","\u24CF":"Z",\uFF3A:"Z",\u0179:"Z",\u1E90:"Z",\u017B:"Z",\u017D:"Z",\u1E92:"Z",\u1E94:"Z",\u01B5:"Z",\u0224:"Z","\u2C7F":"Z","\u2C6B":"Z","\uA762":"Z","\u24D0":"a",\uFF41:"a",\u1E9A:"a",\u00E0:"a",\u00E1:"a",\u00E2:"a",\u1EA7:"a",\u1EA5:"a",\u1EAB:"a",\u1EA9:"a",\u00E3:"a",\u0101:"a",\u0103:"a",\u1EB1:"a",\u1EAF:"a",\u1EB5:"a",\u1EB3:"a",\u0227:"a",\u01E1:"a",\u00E4:"a",\u01DF:"a",\u1EA3:"a",\u00E5:"a",\u01FB:"a",\u01CE:"a",\u0201:"a",\u0203:"a",\u1EA1:"a",\u1EAD:"a",\u1EB7:"a",\u1E01:"a",\u0105:"a","\u2C65":"a",\u0250:"a","\uA733":"aa",\u00E6:"ae",\u01FD:"ae",\u01E3:"ae","\uA735":"ao","\uA737":"au","\uA739":"av","\uA73B":"av","\uA73D":"ay","\u24D1":"b",\uFF42:"b",\u1E03:"b",\u1E05:"b",\u1E07:"b",\u0180:"b",\u0183:"b",\u0253:"b","\u24D2":"c",\uFF43:"c",\u0107:"c",\u0109:"c",\u010B:"c",\u010D:"c",\u00E7:"c",\u1E09:"c",\u0188:"c","\u023C":"c","\uA73F":"c","\u2184":"c","\u24D3":"d",\uFF44:"d",\u1E0B:"d",\u010F:"d",\u1E0D:"d",\u1E11:"d",\u1E13:"d",\u1E0F:"d",\u0111:"d",\u018C:"d",\u0256:"d",\u0257:"d","\uA77A":"d",\u01F3:"dz",\u01C6:"dz","\u24D4":"e",\uFF45:"e",\u00E8:"e",\u00E9:"e",\u00EA:"e",\u1EC1:"e",\u1EBF:"e",\u1EC5:"e",\u1EC3:"e",\u1EBD:"e",\u0113:"e",\u1E15:"e",\u1E17:"e",\u0115:"e",\u0117:"e",\u00EB:"e",\u1EBB:"e",\u011B:"e",\u0205:"e",\u0207:"e",\u1EB9:"e",\u1EC7:"e",\u0229:"e",\u1E1D:"e",\u0119:"e",\u1E19:"e",\u1E1B:"e","\u0247":"e",\u025B:"e",\u01DD:"e","\u24D5":"f",\uFF46:"f",\u1E1F:"f",\u0192:"f","\uA77C":"f","\u24D6":"g",\uFF47:"g",\u01F5:"g",\u011D:"g",\u1E21:"g",\u011F:"g",\u0121:"g",\u01E7:"g",\u0123:"g",\u01E5:"g",\u0260:"g","\uA7A1":"g","\u1D79":"g","\uA77F":"g","\u24D7":"h",\uFF48:"h",\u0125:"h",\u1E23:"h",\u1E27:"h",\u021F:"h",\u1E25:"h",\u1E29:"h",\u1E2B:"h",\u1E96:"h",\u0127:"h","\u2C68":"h","\u2C76":"h",\u0265:"h",\u0195:"hv","\u24D8":"i",\uFF49:"i",\u00EC:"i",\u00ED:"i",\u00EE:"i",\u0129:"i",\u012B:"i",\u012D:"i",\u00EF:"i",\u1E2F:"i",\u1EC9:"i",\u01D0:"i",\u0209:"i",\u020B:"i",\u1ECB:"i",\u012F:"i",\u1E2D:"i",\u0268:"i",\u0131:"i","\u24D9":"j",\uFF4A:"j",\u0135:"j",\u01F0:"j","\u0249":"j","\u24DA":"k",\uFF4B:"k",\u1E31:"k",\u01E9:"k",\u1E33:"k",\u0137:"k",\u1E35:"k",\u0199:"k","\u2C6A":"k","\uA741":"k","\uA743":"k","\uA745":"k","\uA7A3":"k","\u24DB":"l",\uFF4C:"l",\u0140:"l",\u013A:"l",\u013E:"l",\u1E37:"l",\u1E39:"l",\u013C:"l",\u1E3D:"l",\u1E3B:"l",\u017F:"l",\u0142:"l",\u019A:"l",\u026B:"l","\u2C61":"l","\uA749":"l","\uA781":"l","\uA747":"l",\u01C9:"lj","\u24DC":"m",\uFF4D:"m",\u1E3F:"m",\u1E41:"m",\u1E43:"m",\u0271:"m",\u026F:"m","\u24DD":"n",\uFF4E:"n",\u01F9:"n",\u0144:"n",\u00F1:"n",\u1E45:"n",\u0148:"n",\u1E47:"n",\u0146:"n",\u1E4B:"n",\u1E49:"n",\u019E:"n",\u0272:"n",\u0149:"n","\uA791":"n","\uA7A5":"n",\u01CC:"nj","\u24DE":"o",\uFF4F:"o",\u00F2:"o",\u00F3:"o",\u00F4:"o",\u1ED3:"o",\u1ED1:"o",\u1ED7:"o",\u1ED5:"o",\u00F5:"o",\u1E4D:"o",\u022D:"o",\u1E4F:"o",\u014D:"o",\u1E51:"o",\u1E53:"o",\u014F:"o",\u022F:"o",\u0231:"o",\u00F6:"o",\u022B:"o",\u1ECF:"o",\u0151:"o",\u01D2:"o",\u020D:"o",\u020F:"o",\u01A1:"o",\u1EDD:"o",\u1EDB:"o",\u1EE1:"o",\u1EDF:"o",\u1EE3:"o",\u1ECD:"o",\u1ED9:"o",\u01EB:"o",\u01ED:"o",\u00F8:"o",\u01FF:"o",\u0254:"o","\uA74B":"o","\uA74D":"o",\u0275:"o",\u01A3:"oi",\u0223:"ou","\uA74F":"oo","\u24DF":"p",\uFF50:"p",\u1E55:"p",\u1E57:"p",\u01A5:"p","\u1D7D":"p","\uA751":"p","\uA753":"p","\uA755":"p","\u24E0":"q",\uFF51:"q","\u024B":"q","\uA757":"q","\uA759":"q","\u24E1":"r",\uFF52:"r",\u0155:"r",\u1E59:"r",\u0159:"r",\u0211:"r",\u0213:"r",\u1E5B:"r",\u1E5D:"r",\u0157:"r",\u1E5F:"r","\u024D":"r",\u027D:"r","\uA75B":"r","\uA7A7":"r","\uA783":"r","\u24E2":"s",\uFF53:"s",\u00DF:"s",\u015B:"s",\u1E65:"s",\u015D:"s",\u1E61:"s",\u0161:"s",\u1E67:"s",\u1E63:"s",\u1E69:"s",\u0219:"s",\u015F:"s","\u023F":"s","\uA7A9":"s","\uA785":"s",\u1E9B:"s","\u24E3":"t",\uFF54:"t",\u1E6B:"t",\u1E97:"t",\u0165:"t",\u1E6D:"t",\u021B:"t",\u0163:"t",\u1E71:"t",\u1E6F:"t",\u0167:"t",\u01AD:"t",\u0288:"t","\u2C66":"t","\uA787":"t","\uA729":"tz","\u24E4":"u",\uFF55:"u",\u00F9:"u",\u00FA:"u",\u00FB:"u",\u0169:"u",\u1E79:"u",\u016B:"u",\u1E7B:"u",\u016D:"u",\u00FC:"u",\u01DC:"u",\u01D8:"u",\u01D6:"u",\u01DA:"u",\u1EE7:"u",\u016F:"u",\u0171:"u",\u01D4:"u",\u0215:"u",\u0217:"u",\u01B0:"u",\u1EEB:"u",\u1EE9:"u",\u1EEF:"u",\u1EED:"u",\u1EF1:"u",\u1EE5:"u",\u1E73:"u",\u0173:"u",\u1E77:"u",\u1E75:"u",\u0289:"u","\u24E5":"v",\uFF56:"v",\u1E7D:"v",\u1E7F:"v",\u028B:"v","\uA75F":"v",\u028C:"v","\uA761":"vy","\u24E6":"w",\uFF57:"w",\u1E81:"w",\u1E83:"w",\u0175:"w",\u1E87:"w",\u1E85:"w",\u1E98:"w",\u1E89:"w","\u2C73":"w","\u24E7":"x",\uFF58:"x",\u1E8B:"x",\u1E8D:"x","\u24E8":"y",\uFF59:"y",\u1EF3:"y",\u00FD:"y",\u0177:"y",\u1EF9:"y",\u0233:"y",\u1E8F:"y",\u00FF:"y",\u1EF7:"y",\u1E99:"y",\u1EF5:"y",\u01B4:"y","\u024F":"y","\u1EFF":"y","\u24E9":"z",\uFF5A:"z",\u017A:"z",\u1E91:"z",\u017C:"z",\u017E:"z",\u1E93:"z",\u1E95:"z",\u01B6:"z",\u0225:"z","\u0240":"z","\u2C6C":"z","\uA763":"z",\u0386:"\u0391",\u0388:"\u0395",\u0389:"\u0397",\u038A:"\u0399",\u03AA:"\u0399",\u038C:"\u039F",\u038E:"\u03A5",\u03AB:"\u03A5",\u038F:"\u03A9",\u03AC:"\u03B1",\u03AD:"\u03B5",\u03AE:"\u03B7",\u03AF:"\u03B9",\u03CA:"\u03B9",\u0390:"\u03B9",\u03CC:"\u03BF",\u03CD:"\u03C5",\u03CB:"\u03C5",\u03B0:"\u03C5",\u03C9:"\u03C9",\u03C2:"\u03C3"};function qe(t){let s=e=>As[e]||e;return t.replace(/[^\u0000-\u007E]/g,s)}var ct=class{constructor(s,e){this._ngSelect=s,this._selectionModel=e,this._items=[],this._filteredItems=[],this._markedIndex=-1}get items(){return this._items}get filteredItems(){return this._filteredItems}get markedIndex(){return this._markedIndex}get selectedItems(){return this._selectionModel.value}get markedItem(){return this._filteredItems[this._markedIndex]}get noItemsToSelect(){return this._ngSelect.hideSelected&&this._items.length===this.selectedItems.length}get maxItemsSelected(){return this._ngSelect.multiple&&this._ngSelect.maxSelectedItems<=this.selectedItems.length}get lastSelectedItem(){let s=this.selectedItems.length-1;for(;s>=0;s--){let e=this.selectedItems[s];if(!e.disabled)return e}return null}setItems(s){this._items=s.map((e,i)=>this.mapItem(e,i)),this._ngSelect.groupBy?(this._groups=this._groupBy(this._items,this._ngSelect.groupBy),this._items=this._flatten(this._groups)):(this._groups=new Map,this._groups.set(void 0,this._items)),this._filteredItems=[...this._items]}select(s){if(s.selected||this.maxItemsSelected)return;let e=this._ngSelect.multiple;e||this.clearSelected(),this._selectionModel.select(s,e,this._ngSelect.selectableGroupAsModel),this._ngSelect.hideSelected&&this._hideSelected(s)}unselect(s){s.selected&&(this._selectionModel.unselect(s,this._ngSelect.multiple),this._ngSelect.hideSelected&&w(s.index)&&this._ngSelect.multiple&&this._showSelected(s))}findItem(s){let e;return this._ngSelect.compareWith?e=i=>this._ngSelect.compareWith(i.value,s):this._ngSelect.bindValue?e=i=>!i.children&&this.resolveNested(i.value,this._ngSelect.bindValue)===s:e=i=>i.value===s||!i.children&&i.label&&i.label===this.resolveNested(s,this._ngSelect.bindLabel),this._items.find(i=>e(i))}addItem(s){let e=this.mapItem(s,this._items.length);return this._items.push(e),this._filteredItems.push(e),e}clearSelected(s=!1){this._selectionModel.clear(s),this._items.forEach(e=>{e.selected=s&&e.selected&&e.disabled,e.marked=!1}),this._ngSelect.hideSelected&&this.resetFilteredItems()}findByLabel(s){return s=qe(s).toLocaleLowerCase(),this.filteredItems.find(e=>qe(e.label).toLocaleLowerCase().substr(0,s.length)===s)}filter(s){if(!s){this.resetFilteredItems();return}this._filteredItems=[],s=this._ngSelect.searchFn?s:qe(s).toLocaleLowerCase();let e=this._ngSelect.searchFn||this._defaultSearchFn,i=this._ngSelect.hideSelected;for(let n of Array.from(this._groups.keys())){let r=[];for(let a of this._groups.get(n)){if(i&&(a.parent&&a.parent.selected||a.selected))continue;let m=this._ngSelect.searchFn?a.value:a;e(s,m)&&r.push(a)}if(r.length>0){let[a]=r.slice(-1);if(a.parent){let m=this._items.find(g=>g===a.parent);this._filteredItems.push(m)}this._filteredItems.push(...r)}}}resetFilteredItems(){this._filteredItems.length!==this._items.length&&(this._ngSelect.hideSelected&&this.selectedItems.length>0?this._filteredItems=this._items.filter(s=>!s.selected):this._filteredItems=this._items)}unmarkItem(){this._markedIndex=-1}markNextItem(){this._stepToItem(1)}markPreviousItem(){this._stepToItem(-1)}markItem(s){this._markedIndex=this._filteredItems.indexOf(s)}markSelectedOrDefault(s){if(this._filteredItems.length===0)return;let e=this._getLastMarkedIndex();e>-1?this._markedIndex=e:this._markedIndex=s?this.filteredItems.findIndex(i=>!i.disabled):-1}resolveNested(s,e){if(!Fe(s))return s;if(e.indexOf(".")===-1)return s[e];{let i=e.split("."),n=s;for(let r=0,a=i.length;rthis.selectedItems.indexOf(e)===-1))}_showSelected(s){if(this._filteredItems.push(s),s.parent){let e=s.parent;this._filteredItems.find(n=>n===e)||this._filteredItems.push(e)}else if(s.children)for(let e of s.children)e.selected=!1,this._filteredItems.push(e);this._filteredItems=[...this._filteredItems.sort((e,i)=>e.index-i.index)]}_hideSelected(s){this._filteredItems=this._filteredItems.filter(e=>e!==s),s.parent?s.parent.children.every(i=>i.selected)&&(this._filteredItems=this._filteredItems.filter(i=>i!==s.parent)):s.children&&(this._filteredItems=this.filteredItems.filter(e=>e.parent!==s))}_defaultSearchFn(s,e){return qe(e.label).toLocaleLowerCase().indexOf(s)>-1}_getNextItemIndex(s){return s>0?this._markedIndex>=this._filteredItems.length-1?0:this._markedIndex+1:this._markedIndex<=0?this._filteredItems.length-1:this._markedIndex-1}_stepToItem(s){this._filteredItems.length===0||this._filteredItems.every(e=>e.disabled)||(this._markedIndex=this._getNextItemIndex(s),this.markedItem.disabled&&this._stepToItem(s))}_getLastMarkedIndex(){if(this._ngSelect.hideSelected||this._markedIndex>-1&&this.markedItem===void 0)return-1;let s=this._filteredItems.indexOf(this.lastSelectedItem);return this.lastSelectedItem&&s<0?-1:Math.max(this.markedIndex,s)}_groupBy(s,e){let i=new Map;if(s.length===0)return i;if(Array.isArray(s[0].value[e])){for(let a of s){let m=(a.value[e]||[]).map((g,A)=>this.mapItem(g,A));i.set(a,m)}return i}let n=Ue(this._ngSelect.groupBy),r=a=>{let m=n?e(a.value):a.value[e];return w(m)?m:void 0};for(let a of s){let m=r(a),g=i.get(m);g?g.push(a):i.set(m,[a])}return i}_flatten(s){let e=Ue(this._ngSelect.groupBy),i=[];for(let n of Array.from(s.keys())){let r=i.length;if(n===void 0){let R=s.get(void 0)||[];i.push(...R.map($=>($.index=r++,$)));continue}let a=Fe(n),m={label:a?"":String(n),children:void 0,parent:null,index:r++,disabled:!this._ngSelect.selectableGroup,htmlId:zi()},g=e?this._ngSelect.bindLabel:this._ngSelect.groupBy,A=this._ngSelect.groupValue||(()=>a?n.value:{[g]:n}),ee=s.get(n).map(R=>(R.parent=m,R.children=void 0,R.index=r++,R));m.children=ee,m.value=A(n,ee.map(R=>R.value)),i.push(m),i.push(...ee)}return i}},Qi=(()=>{class t{constructor(){this._dimensions={itemHeight:0,panelHeight:0,itemsPerViewport:0}}get dimensions(){return this._dimensions}calculateItems(e,i,n){let r=this._dimensions,a=r.itemHeight*i,g=Math.max(0,e)/a*i,A=Math.min(i,Math.ceil(g)+(r.itemsPerViewport+1)),R=Math.max(0,A-r.itemsPerViewport),$=Math.min(R,Math.floor(g)),ge=r.itemHeight*Math.ceil($)-r.itemHeight*Math.min($,n);return ge=isNaN(ge)?0:ge,$=isNaN($)?-1:$,A=isNaN(A)?-1:A,$-=n,$=Math.max(0,$),A+=n,A=Math.min(i,A),{topPadding:ge,scrollHeight:a,start:$,end:A}}setDimensions(e,i){let n=Math.max(1,Math.floor(i/e));this._dimensions={itemHeight:e,panelHeight:i,itemsPerViewport:n}}getScrollTo(e,i,n){let{panelHeight:r}=this.dimensions,a=e+i,m=n,g=m+r;return r>=a&&n===e?null:a>g?m+a-g:e<=m?e:null}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=Z({token:t,factory:t.\u0275fac})}}return t})(),Wi=["top","right","bottom","left"],Fs=typeof requestAnimationFrame<"u"?ft:mt,Gi=(()=>{class t{constructor(e,i,n,r,a){this._renderer=e,this._zone=i,this._panelService=n,this._document=a,this.items=[],this.position="auto",this.virtualScroll=!1,this.filterValue=null,this.update=new F,this.scroll=new F,this.scrollToEnd=new F,this.outsideClick=new F,this._destroy$=new re,this._scrollToEndFired=!1,this._updateScrollHeight=!1,this._lastScrollPosition=0,this._dropdown=r.nativeElement}get currentPosition(){return this._currentPosition}get itemsLength(){return this._itemsLength}set itemsLength(e){e!==this._itemsLength&&(this._itemsLength=e,this._onItemsLengthChanged())}get _startOffset(){if(this.markedItem){let{itemHeight:e,panelHeight:i}=this._panelService.dimensions,n=this.markedItem.index*e;return i>n?0:n}return 0}ngOnInit(){this._select=this._dropdown.parentElement,this._virtualPadding=this.paddingElementRef.nativeElement,this._scrollablePanel=this.scrollElementRef.nativeElement,this._contentPanel=this.contentElementRef.nativeElement,this._handleScroll(),this._handleOutsideClick(),this._appendDropdown(),this._setupMousedownListener()}ngOnChanges(e){if(e.items){let i=e.items;this._onItemsChange(i.currentValue,i.firstChange)}}ngOnDestroy(){this._destroy$.next(),this._destroy$.complete(),this._destroy$.unsubscribe(),this.appendTo&&this._renderer.removeChild(this._dropdown.parentNode,this._dropdown)}scrollTo(e,i=!1){if(!e)return;let n=this.items.indexOf(e);if(n<0||n>=this.itemsLength)return;let r;if(this.virtualScroll){let a=this._panelService.dimensions.itemHeight;r=this._panelService.getScrollTo(n*a,a,this._lastScrollPosition)}else{let a=this._dropdown.querySelector(`#${e.htmlId}`),m=i?a.offsetTop:this._lastScrollPosition;r=this._panelService.getScrollTo(a.offsetTop,a.clientHeight,m)}w(r)&&(this._scrollablePanel.scrollTop=r)}scrollToTag(){let e=this._scrollablePanel;e.scrollTop=e.scrollHeight-e.clientHeight}adjustPosition(){this._updateYPosition()}_handleDropdownPosition(){this._currentPosition=this._calculateCurrentPosition(this._dropdown),Wi.includes(this._currentPosition)?this._updateDropdownClass(this._currentPosition):this._updateDropdownClass("bottom"),this.appendTo&&this._updateYPosition(),this._dropdown.style.opacity="1"}_updateDropdownClass(e){Wi.forEach(n=>{let r=`ng-select-${n}`;this._renderer.removeClass(this._dropdown,r),this._renderer.removeClass(this._select,r)});let i=`ng-select-${e}`;this._renderer.addClass(this._dropdown,i),this._renderer.addClass(this._select,i)}_handleScroll(){this._zone.runOutsideAngular(()=>{Ee(this.scrollElementRef.nativeElement,"scroll").pipe(N(this._destroy$),gt(0,Fs)).subscribe(e=>{let i=e.path||e.composedPath&&e.composedPath();if(!i||i.length===0&&!e.target)return;let n=!i||i.length===0?e.target.scrollTop:i[0].scrollTop;this._onContentScrolled(n)})})}_handleOutsideClick(){this._document&&this._zone.runOutsideAngular(()=>{Be(Ee(this._document,"touchstart",{capture:!0}),Ee(this._document,"click",{capture:!0})).pipe(N(this._destroy$)).subscribe(e=>this._checkToClose(e))})}_checkToClose(e){if(this._select.contains(e.target)||this._dropdown.contains(e.target))return;let i=e.path||e.composedPath&&e.composedPath();e.target&&e.target.shadowRoot&&i&&i[0]&&this._select.contains(i[0])||this._zone.run(()=>this.outsideClick.emit())}_onItemsChange(e,i){this.items=e||[],this._scrollToEndFired=!1,this.itemsLength=e.length,this.virtualScroll?this._updateItemsRange(i):(this._setVirtualHeight(),this._updateItems(i))}_updateItems(e){this.update.emit(this.items),e!==!1&&this._zone.runOutsideAngular(()=>{Promise.resolve().then(()=>{let i=this._scrollablePanel.clientHeight;this._panelService.setDimensions(0,i),this._handleDropdownPosition(),this.scrollTo(this.markedItem,e)})})}_updateItemsRange(e){this._zone.runOutsideAngular(()=>{this._measureDimensions().then(()=>{e?(this._renderItemsRange(this._startOffset),this._handleDropdownPosition()):this._renderItemsRange()})})}_onContentScrolled(e){this.virtualScroll&&this._renderItemsRange(e),this._lastScrollPosition=e,this._fireScrollToEnd(e)}_updateVirtualHeight(e){this._updateScrollHeight&&(this._virtualPadding.style.height=`${e}px`,this._updateScrollHeight=!1)}_setVirtualHeight(){this._virtualPadding&&(this._virtualPadding.style.height="0px")}_onItemsLengthChanged(){this._updateScrollHeight=!0}_renderItemsRange(e=null){if(e&&this._lastScrollPosition===e)return;e=e||this._scrollablePanel.scrollTop;let i=this._panelService.calculateItems(e,this.itemsLength,this.bufferAmount);this._updateVirtualHeight(i.scrollHeight),this._contentPanel.style.transform=`translateY(${i.topPadding}px)`,this._zone.run(()=>{this.update.emit(this.items.slice(i.start,i.end)),this.scroll.emit({start:i.start,end:i.end})}),w(e)&&this._lastScrollPosition===0&&(this._scrollablePanel.scrollTop=e,this._lastScrollPosition=e)}_measureDimensions(){if(this._panelService.dimensions.itemHeight>0||this.itemsLength===0)return Promise.resolve(this._panelService.dimensions);let[e]=this.items;return this.update.emit([e]),Promise.resolve().then(()=>{let n=this._dropdown.querySelector(`#${e.htmlId}`).clientHeight;this._virtualPadding.style.height=`${n*this.itemsLength}px`;let r=this._scrollablePanel.clientHeight;return this._panelService.setDimensions(n,r),this._panelService.dimensions})}_fireScrollToEnd(e){if(this._scrollToEndFired||e===0)return;let i=this.virtualScroll?this._virtualPadding:this._contentPanel;e+this._dropdown.clientHeight>=i.clientHeight-1&&(this._zone.run(()=>this.scrollToEnd.emit()),this._scrollToEndFired=!0)}_calculateCurrentPosition(e){if(this.position!=="auto")return this.position;let i=this._select.getBoundingClientRect(),n=document.documentElement.scrollTop||document.body.scrollTop,r=i.top+window.pageYOffset,a=i.height,m=e.getBoundingClientRect().height;return r+a+m>n+document.documentElement.clientHeight?"top":"bottom"}_appendDropdown(){if(this.appendTo){if(this._parent=document.querySelector(this.appendTo),!this._parent)throw new Error(`appendTo selector ${this.appendTo} did not found any parent element`);this._updateXPosition(),this._parent.appendChild(this._dropdown)}}_updateXPosition(){let e=this._select.getBoundingClientRect(),i=this._parent.getBoundingClientRect(),n=e.left-i.left;this._dropdown.style.left=n+"px",this._dropdown.style.width=e.width+"px",this._dropdown.style.minWidth=e.width+"px"}_updateYPosition(){let e=this._select.getBoundingClientRect(),i=this._parent.getBoundingClientRect(),n=e.height;if(this._currentPosition==="top"){let r=i.bottom-e.bottom;this._dropdown.style.bottom=r+n+"px",this._dropdown.style.top="auto"}else if(this._currentPosition==="bottom"){let r=e.top-i.top;this._dropdown.style.top=r+n+"px",this._dropdown.style.bottom="auto"}}_setupMousedownListener(){this._zone.runOutsideAngular(()=>{Ee(this._dropdown,"mousedown").pipe(N(this._destroy$)).subscribe(e=>{e.target.tagName!=="INPUT"&&e.preventDefault()})})}static{this.\u0275fac=function(i){return new(i||t)(f(wt),f(xt),f(Qi),f(ae),f(Nt,8))}}static{this.\u0275cmp=H({type:t,selectors:[["ng-dropdown-panel"]],viewQuery:function(i,n){if(i&1&&(_e(Fn,7,ae),_e(kn,7,ae),_e(Dn,7,ae)),i&2){let r;k(r=D())&&(n.contentElementRef=r.first),k(r=D())&&(n.scrollElementRef=r.first),k(r=D())&&(n.paddingElementRef=r.first)}},inputs:{items:"items",markedItem:"markedItem",position:"position",appendTo:"appendTo",bufferAmount:"bufferAmount",virtualScroll:[2,"virtualScroll","virtualScroll",B],headerTemplate:"headerTemplate",footerTemplate:"footerTemplate",filterValue:"filterValue"},outputs:{update:"update",scroll:"scroll",scrollToEnd:"scrollToEnd",outsideClick:"outsideClick"},features:[Pe,Te],ngContentSelectors:qi,decls:9,vars:6,consts:[["scroll",""],["padding",""],["content",""],[1,"ng-dropdown-header"],["role","listbox",1,"ng-dropdown-panel-items","scroll-host"],[1,"ng-dropdown-footer"],[3,"ngTemplateOutlet","ngTemplateOutletContext"]],template:function(i,n){i&1&&(Ze(),b(0,Ln,2,4,"div",3),l(1,"div",4,0),L(3,"div",null,1),l(5,"div",null,2),Je(7),c()(),b(8,Bn,2,4,"div",5)),i&2&&(y(n.headerTemplate?0:-1),o(3),G("total-padding",n.virtualScroll),o(2),G("scrollable-content",n.virtualScroll&&n.items.length),o(3),y(n.footerTemplate?8:-1))},dependencies:[et],encapsulation:2,changeDetection:0})}}return t})(),ks=(()=>{class t{constructor(e){this.elementRef=e,this.disabled=!1,this.stateChange$=new re}get label(){return(this.elementRef.nativeElement.textContent||"").trim()}ngOnChanges(e){e.disabled&&this.stateChange$.next({value:this.value,disabled:this.disabled})}ngAfterViewChecked(){this.label!==this._previousLabel&&(this._previousLabel=this.label,this.stateChange$.next({value:this.value,disabled:this.disabled,label:this.elementRef.nativeElement.innerHTML}))}ngOnDestroy(){this.stateChange$.complete()}static{this.\u0275fac=function(i){return new(i||t)(f(ae))}}static{this.\u0275cmp=H({type:t,selectors:[["ng-option"]],inputs:{value:"value",disabled:[2,"disabled","disabled",B]},features:[Pe,Te],ngContentSelectors:qi,decls:1,vars:0,template:function(i,n){i&1&&(Ze(),Je(0))},encapsulation:2,changeDetection:0})}}return t})(),se=function(t){return t[t.Tab=9]="Tab",t[t.Enter=13]="Enter",t[t.Esc=27]="Esc",t[t.Space=32]="Space",t[t.ArrowUp=38]="ArrowUp",t[t.ArrowDown=40]="ArrowDown",t[t.Backspace=8]="Backspace",t}(se||{});function Ki(){return new dt}var dt=class{constructor(){this._selected=[]}get value(){return this._selected}select(s,e,i){if(s.selected=!0,(!s.children||!e&&i)&&this._selected.push(s),e)if(s.parent){let n=s.parent.children.length,r=s.parent.children.filter(a=>a.selected).length;s.parent.selected=n===r}else s.children&&(this._setChildrenSelectedState(s.children,!0),this._removeChildren(s),i&&this._activeChildren(s)?this._selected=[...this._selected.filter(n=>n.parent!==s),s]:this._selected=[...this._selected,...s.children.filter(n=>!n.disabled)])}unselect(s,e){if(this._selected=this._selected.filter(i=>i!==s),s.selected=!1,e)if(s.parent&&s.parent.selected){let i=s.parent.children;this._removeParent(s.parent),this._removeChildren(s.parent),this._selected.push(...i.filter(n=>n!==s&&!n.disabled)),s.parent.selected=!1}else s.children&&(this._setChildrenSelectedState(s.children,!1),this._removeChildren(s))}clear(s){this._selected=s?this._selected.filter(e=>e.disabled):[]}_setChildrenSelectedState(s,e){for(let i of s)i.disabled||(i.selected=e)}_removeChildren(s){this._selected=[...this._selected.filter(e=>e.parent!==s),...s.children.filter(e=>e.parent===s&&e.disabled&&e.selected)]}_removeParent(s){this._selected=this._selected.filter(e=>e!==s)}_activeChildren(s){return s.children.every(e=>!e.disabled||e.selected)}},Ds=(()=>{class t{constructor(){this.fixedPlaceholder=!0,this.notFoundText="No items found",this.typeToSearchText="Type to search",this.addTagText="Add item",this.loadingText="Loading...",this.clearAllText="Clear all",this.disableVirtualScroll=!0,this.openOnEnter=!0,this.appearance="underline"}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=Z({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})(),Ls=(()=>{class t{warn(e){console.warn(e)}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=Z({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})(),Yi=new St("ng-select-selection-model"),Zi=(()=>{class t{constructor(e,i,n,r,a,m,g){this.classes=e,this.autoFocus=i,this.config=n,this._cd=m,this._console=g,this.ariaLabelDropdown="Options List",this.markFirst=!0,this.fixedPlaceholder=!0,this.preventToggleOnRightClick=!1,this.dropdownPosition="auto",this.loading=!1,this.closeOnSelect=!0,this.hideSelected=!1,this.selectOnTab=!1,this.bufferAmount=4,this.selectableGroup=!1,this.selectableGroupAsModel=!0,this.searchFn=null,this.trackByFn=null,this.clearOnBackspace=!0,this.labelForId=null,this.inputAttrs={},this.readonly=!1,this.searchWhileComposing=!0,this.minTermLength=0,this.editableSearchTerm=!1,this.ngClass=null,this.multiple=!1,this.addTag=!1,this.searchable=!0,this.clearable=!0,this.isOpen=!1,this.blurEvent=new F,this.focusEvent=new F,this.changeEvent=new F,this.openEvent=new F,this.closeEvent=new F,this.searchEvent=new F,this.clearEvent=new F,this.addEvent=new F,this.removeEvent=new F,this.scroll=new F,this.scrollToEnd=new F,this.useDefaultClass=!0,this.viewPortItems=[],this.searchTerm=null,this.dropdownId=zi(),this.escapeHTML=!0,this._defaultLabel="label",this._pressedKeys=[],this._isComposing=!1,this._destroy$=new re,this._keyPress$=new re,this._items=[],this.keyDownFn=A=>!0,this.clearItem=A=>{let ee=this.selectedItems.find(R=>R.value===A);this.unselect(ee)},this.trackByOption=(A,ee)=>this.trackByFn?this.trackByFn(ee.value):ee,this._onChange=A=>{},this._onTouched=()=>{},this._mergeGlobalConfig(n),this.itemsList=new ct(this,r?r():Ki()),this.element=a.nativeElement}get filtered(){return!!this.searchTerm&&this.searchable||this._isComposing}get single(){return!this.multiple}get items(){return this._items}set items(e){this._itemsAreUsed=!0,this._items=e??[]}get disabled(){return this.readonly||this._disabled}get compareWith(){return this._compareWith}set compareWith(e){if(e!=null&&!Ue(e))throw Error("`compareWith` must be a function.");this._compareWith=e}get clearSearchOnAdd(){return w(this._clearSearchOnAdd)?this._clearSearchOnAdd:w(this.config.clearSearchOnAdd)?this.config.clearSearchOnAdd:this.closeOnSelect}set clearSearchOnAdd(e){this._clearSearchOnAdd=e}get deselectOnClick(){return w(this._deselectOnClick)?this._deselectOnClick:w(this.config.deselectOnClick)?this.config.deselectOnClick:this.multiple}set deselectOnClick(e){this._deselectOnClick=e}get selectedItems(){return this.itemsList.selectedItems}get selectedValues(){return this.selectedItems.map(e=>e.value)}get hasValue(){return this.selectedItems.length>0}get currentPanelPosition(){if(this.dropdownPanel)return this.dropdownPanel.currentPosition}get showAddTag(){if(!this._validTerm)return!1;let e=this.searchTerm.toLowerCase().trim();return this.addTag&&!this.itemsList.filteredItems.some(i=>i.label.toLowerCase()===e)&&(!this.hideSelected&&this.isOpen||!this.selectedItems.some(i=>i.label.toLowerCase()===e))&&!this.loading}get _editableSearchTerm(){return this.editableSearchTerm&&!this.multiple}get _isTypeahead(){return this.typeahead&&this.typeahead.observers.length>0}get _validTerm(){let e=this.searchTerm&&this.searchTerm.trim();return e&&e.length>=this.minTermLength}ngOnInit(){this._handleKeyPresses(),this._setInputAttributes()}ngOnChanges(e){e.multiple&&this.itemsList.clearSelected(),e.items&&this._setItems(e.items.currentValue||[]),e.isOpen&&(this._manualOpen=w(e.isOpen.currentValue))}ngAfterViewInit(){this._itemsAreUsed||(this.escapeHTML=!1,this._setItemsFromNgOptions()),w(this.autoFocus)&&this.focus()}ngOnDestroy(){this._destroy$.next(),this._destroy$.complete()}handleKeyDown(e){if(se[e.which]){if(this.keyDownFn(e)===!1)return;this.handleKeyCode(e)}else e.key&&e.key.length===1&&this._keyPress$.next(e.key.toLocaleLowerCase())}handleKeyCode(e){let i=e.target;this.clearButton&&this.clearButton.nativeElement===i?this.handleKeyCodeClear(e):this.handleKeyCodeInput(e)}handleKeyCodeInput(e){switch(e.which){case se.ArrowDown:this._handleArrowDown(e);break;case se.ArrowUp:this._handleArrowUp(e);break;case se.Space:this._handleSpace(e);break;case se.Enter:this._handleEnter(e);break;case se.Tab:this._handleTab(e);break;case se.Esc:this.close(),e.preventDefault();break;case se.Backspace:this._handleBackspace();break}}handleKeyCodeClear(e){switch(e.which){case se.Enter:this.handleClearClick(),e.preventDefault();break}}handleMousedown(e){if(this.preventToggleOnRightClick&&e.button===2)return!1;let i=e.target;if(i.tagName!=="INPUT"&&e.preventDefault(),i.classList.contains("ng-clear-wrapper")){this.handleClearClick();return}if(i.classList.contains("ng-arrow-wrapper")){this.handleArrowClick();return}i.classList.contains("ng-value-icon")||(this.focused||this.focus(),this.searchable?this.open():this.toggle())}handleArrowClick(){this.isOpen?this.close():this.open()}handleClearClick(){this.hasValue&&(this.itemsList.clearSelected(!0),this._updateNgModel()),this._clearSearch(),this.focus(),this.clearEvent.emit(),this._onSelectionChanged()}clearModel(){this.clearable&&(this.itemsList.clearSelected(),this._updateNgModel())}writeValue(e){this.itemsList.clearSelected(),this._handleWriteValue(e),this._cd.markForCheck()}registerOnChange(e){this._onChange=e}registerOnTouched(e){this._onTouched=e}setDisabledState(e){this._disabled=e,this._cd.markForCheck()}toggle(){this.isOpen?this.close():this.open()}open(){this.disabled||this.isOpen||this._manualOpen||!this._isTypeahead&&!this.addTag&&this.itemsList.noItemsToSelect||(this.isOpen=!0,this.itemsList.markSelectedOrDefault(this.markFirst),this.openEvent.emit(),this.searchTerm||this.focus(),this.detectChanges())}close(){!this.isOpen||this._manualOpen||(this.isOpen=!1,this._isComposing=!1,this._editableSearchTerm?this.itemsList.resetFilteredItems():this._clearSearch(),this.itemsList.unmarkItem(),this._onTouched(),this.closeEvent.emit(),this._cd.markForCheck())}toggleItem(e){!e||e.disabled||this.disabled||(this.deselectOnClick&&e.selected?this.unselect(e):this.select(e),this._editableSearchTerm&&this._setSearchTermFromItems())}select(e){e.selected||(this.itemsList.select(e),this.clearSearchOnAdd&&!this._editableSearchTerm&&this._clearSearch(),this._updateNgModel(),this.multiple&&this.addEvent.emit(e.value)),(this.closeOnSelect||this.itemsList.noItemsToSelect)&&this.close(),this._onSelectionChanged()}focus(){this.searchInput.nativeElement.focus()}blur(){this.searchInput.nativeElement.blur()}unselect(e){e&&(this.itemsList.unselect(e),this.focus(),this._updateNgModel(),this.removeEvent.emit(e.value),this._onSelectionChanged())}selectTag(){let e;Ue(this.addTag)?e=this.addTag(this.searchTerm):e=this._primitive?this.searchTerm:{[this.bindLabel]:this.searchTerm};let i=n=>this._isTypeahead||!this.isOpen?this.itemsList.mapItem(n,null):this.itemsList.addItem(n);gs(e)?e.then(n=>this.select(i(n))).catch(()=>{}):e&&this.select(i(e))}showClear(){return this.clearable&&(this.hasValue||this.searchTerm)&&!this.disabled}focusOnClear(){this.blur(),this.clearButton&&this.clearButton.nativeElement.focus()}showNoItemsFound(){let e=this.itemsList.filteredItems.length===0;return(e&&!this._isTypeahead&&!this.loading||e&&this._isTypeahead&&this._validTerm&&!this.loading)&&!this.showAddTag}showTypeToSearch(){return this.itemsList.filteredItems.length===0&&this._isTypeahead&&!this._validTerm&&!this.loading}onCompositionStart(){this._isComposing=!0}onCompositionEnd(e){this._isComposing=!1,!this.searchWhileComposing&&this.filter(e)}filter(e){this._isComposing&&!this.searchWhileComposing||(this.searchTerm=e,this._isTypeahead&&(this._validTerm||this.minTermLength===0)&&this.typeahead.next(e),this._isTypeahead||(this.itemsList.filter(this.searchTerm),this.isOpen&&this.itemsList.markSelectedOrDefault(this.markFirst)),this.searchEvent.emit({term:e,items:this.itemsList.filteredItems.map(i=>i.value)}),this.open())}onInputFocus(e){this.focused||(this._editableSearchTerm&&this._setSearchTermFromItems(),this.element.classList.add("ng-select-focused"),this.focusEvent.emit(e),this.focused=!0)}onInputBlur(e){this.element.classList.remove("ng-select-focused"),this.blurEvent.emit(e),!this.isOpen&&!this.disabled&&this._onTouched(),this._editableSearchTerm&&this._setSearchTermFromItems(),this.focused=!1}onItemHover(e){e.disabled||this.itemsList.markItem(e)}detectChanges(){this._cd.destroyed||this._cd.detectChanges()}_setSearchTermFromItems(){let e=this.selectedItems&&this.selectedItems[0];this.searchTerm=e&&e.label||null}_setItems(e){let i=e[0];this.bindLabel=this.bindLabel||this._defaultLabel,this._primitive=w(i)?!Fe(i):this._primitive||this.bindLabel===this._defaultLabel,this.itemsList.setItems(e),e.length>0&&this.hasValue&&this.itemsList.mapSelectedItems(),this.isOpen&&w(this.searchTerm)&&!this._isTypeahead&&this.itemsList.filter(this.searchTerm),(this._isTypeahead||this.isOpen)&&this.itemsList.markSelectedOrDefault(this.markFirst)}_setItemsFromNgOptions(){let e=n=>{this.items=n.map(r=>({$ngOptionValue:r.value,$ngOptionLabel:r.elementRef.nativeElement.innerHTML,disabled:r.disabled})),this.itemsList.setItems(this.items),this.hasValue&&this.itemsList.mapSelectedItems(),this.detectChanges()},i=()=>{let n=Be(this.ngOptions.changes,this._destroy$);Be(...this.ngOptions.map(r=>r.stateChange$)).pipe(N(n)).subscribe(r=>{let a=this.itemsList.findItem(r.value);a.disabled=r.disabled,a.label=r.label||a.label,this._cd.detectChanges()})};this.ngOptions.changes.pipe(vt(this.ngOptions),N(this._destroy$)).subscribe(n=>{this.bindLabel=this._defaultLabel,e(n),i()})}_isValidWriteValue(e){if(!w(e)||this.multiple&&e===""||Array.isArray(e)&&e.length===0)return!1;let i=n=>!w(this.compareWith)&&Fe(n)&&this.bindValue?(this._console.warn(`Setting object(${JSON.stringify(n)}) as your model with bindValue is not allowed unless [compareWith] is used.`),!1):!0;return this.multiple?Array.isArray(e)?e.every(n=>i(n)):(this._console.warn("Multiple select ngModel should be array."),!1):i(e)}_handleWriteValue(e){if(!this._isValidWriteValue(e))return;let i=n=>{let r=this.itemsList.findItem(n);if(r)this.itemsList.select(r);else{let a=Fe(n),m=!a&&!this.bindValue;a||m?this.itemsList.select(this.itemsList.mapItem(n,null)):this.bindValue&&(r={[this.bindLabel]:null,[this.bindValue]:n},this.itemsList.select(this.itemsList.mapItem(r,null)))}};this.multiple?e.forEach(n=>i(n)):i(e)}_handleKeyPresses(){this.searchable||this._keyPress$.pipe(N(this._destroy$),Et(e=>this._pressedKeys.push(e)),bt(200),Oe(()=>this._pressedKeys.length>0),T(()=>this._pressedKeys.join(""))).subscribe(e=>{let i=this.itemsList.findByLabel(e);i&&(this.isOpen?(this.itemsList.markItem(i),this._scrollToMarked(),this._cd.markForCheck()):this.select(i)),this._pressedKeys=[]})}_setInputAttributes(){let e=this.searchInput.nativeElement,i=be({type:"text",autocorrect:"off",autocapitalize:"off",autocomplete:this.labelForId?"off":this.dropdownId},this.inputAttrs);for(let n of Object.keys(i))e.setAttribute(n,i[n])}_updateNgModel(){let e=[];for(let n of this.selectedItems)if(this.bindValue){let r=null;if(n.children){let a=this.groupValue?this.bindValue:this.groupBy;r=n.value[a||this.groupBy]}else r=this.itemsList.resolveNested(n.value,this.bindValue);e.push(r)}else e.push(n.value);let i=this.selectedItems.map(n=>n.value);this.multiple?(this._onChange(e),this.changeEvent.emit(i)):(this._onChange(w(e[0])?e[0]:null),this.changeEvent.emit(i[0])),this._cd.markForCheck()}_clearSearch(){this.searchTerm&&(this._changeSearch(null),this.itemsList.resetFilteredItems())}_changeSearch(e){this.searchTerm=e,this._isTypeahead&&this.typeahead.next(e)}_scrollToMarked(){!this.isOpen||!this.dropdownPanel||this.dropdownPanel.scrollTo(this.itemsList.markedItem)}_scrollToTag(){!this.isOpen||!this.dropdownPanel||this.dropdownPanel.scrollToTag()}_onSelectionChanged(){this.isOpen&&this.deselectOnClick&&this.appendTo&&(this._cd.detectChanges(),this.dropdownPanel.adjustPosition())}_handleTab(e){if(this.isOpen===!1){if(this.showClear()&&!e.shiftKey)this.focusOnClear(),e.preventDefault();else if(!this.addTag)return}this.selectOnTab?this.itemsList.markedItem?(this.toggleItem(this.itemsList.markedItem),e.preventDefault()):this.showAddTag?(this.selectTag(),e.preventDefault()):this.close():this.close()}_handleEnter(e){if(this.isOpen||this._manualOpen)this.itemsList.markedItem?this.toggleItem(this.itemsList.markedItem):this.showAddTag&&this.selectTag();else if(this.openOnEnter)this.open();else return;e.preventDefault()}_handleSpace(e){this.isOpen||this._manualOpen||(this.open(),e.preventDefault())}_handleArrowDown(e){this._nextItemIsTag(1)?(this.itemsList.unmarkItem(),this._scrollToTag()):(this.itemsList.markNextItem(),this._scrollToMarked()),this.open(),e.preventDefault()}_handleArrowUp(e){this.isOpen&&(this._nextItemIsTag(-1)?(this.itemsList.unmarkItem(),this._scrollToTag()):(this.itemsList.markPreviousItem(),this._scrollToMarked()),e.preventDefault())}_nextItemIsTag(e){let i=this.itemsList.markedIndex+e;return this.addTag&&this.searchTerm&&this.itemsList.markedItem&&(i<0||i===this.itemsList.filteredItems.length)}_handleBackspace(){this.searchTerm||!this.clearable||!this.clearOnBackspace||!this.hasValue||(this.multiple?this.unselect(this.itemsList.lastSelectedItem):this.clearModel())}_mergeGlobalConfig(e){this.placeholder=this.placeholder||e.placeholder,this.fixedPlaceholder=this.fixedPlaceholder||e.fixedPlaceholder,this.notFoundText=this.notFoundText||e.notFoundText,this.typeToSearchText=this.typeToSearchText||e.typeToSearchText,this.addTagText=this.addTagText||e.addTagText,this.loadingText=this.loadingText||e.loadingText,this.clearAllText=this.clearAllText||e.clearAllText,this.virtualScroll=w(this.virtualScroll)?this.virtualScroll:w(e.disableVirtualScroll)?!e.disableVirtualScroll:!1,this.openOnEnter=w(this.openOnEnter)?this.openOnEnter:e.openOnEnter,this.appendTo=this.appendTo||e.appendTo,this.bindValue=this.bindValue||e.bindValue,this.bindLabel=this.bindLabel||e.bindLabel,this.appearance=this.appearance||e.appearance}static{this.\u0275fac=function(i){return new(i||t)(Qe("class"),Qe("autofocus"),f(Ds),f(Yi,8),f(ae),f(Pt),f(Ls))}}static{this.\u0275cmp=H({type:t,selectors:[["ng-select"]],contentQueries:function(i,n,r){if(i&1&&(q(r,ut,5,S),q(r,pt,5,S),q(r,Cs,5,S),q(r,ht,5,S),q(r,vs,5,S),q(r,Es,5,S),q(r,ys,5,S),q(r,Ts,5,S),q(r,Ss,5,S),q(r,Is,5,S),q(r,xs,5,S),q(r,ws,5,S),q(r,ks,5)),i&2){let a;k(a=D())&&(n.optionTemplate=a.first),k(a=D())&&(n.optgroupTemplate=a.first),k(a=D())&&(n.labelTemplate=a.first),k(a=D())&&(n.multiLabelTemplate=a.first),k(a=D())&&(n.headerTemplate=a.first),k(a=D())&&(n.footerTemplate=a.first),k(a=D())&&(n.notFoundTemplate=a.first),k(a=D())&&(n.placeholderTemplate=a.first),k(a=D())&&(n.typeToSearchTemplate=a.first),k(a=D())&&(n.loadingTextTemplate=a.first),k(a=D())&&(n.tagTemplate=a.first),k(a=D())&&(n.loadingSpinnerTemplate=a.first),k(a=D())&&(n.ngOptions=a)}},viewQuery:function(i,n){if(i&1&&(_e(Gi,5),_e(On,7),_e(Pn,5)),i&2){let r;k(r=D())&&(n.dropdownPanel=r.first),k(r=D())&&(n.searchInput=r.first),k(r=D())&&(n.clearButton=r.first)}},hostVars:20,hostBindings:function(i,n){i&1&&x("keydown",function(a){return n.handleKeyDown(a)}),i&2&&G("ng-select-typeahead",n.typeahead)("ng-select-multiple",n.multiple)("ng-select-taggable",n.addTag)("ng-select-searchable",n.searchable)("ng-select-clearable",n.clearable)("ng-select-opened",n.isOpen)("ng-select",n.useDefaultClass)("ng-select-filtered",n.filtered)("ng-select-single",n.single)("ng-select-disabled",n.disabled)},inputs:{ariaLabelDropdown:"ariaLabelDropdown",bindLabel:"bindLabel",bindValue:"bindValue",ariaLabel:"ariaLabel",markFirst:[2,"markFirst","markFirst",B],placeholder:"placeholder",fixedPlaceholder:"fixedPlaceholder",notFoundText:"notFoundText",typeToSearchText:"typeToSearchText",preventToggleOnRightClick:"preventToggleOnRightClick",addTagText:"addTagText",loadingText:"loadingText",clearAllText:"clearAllText",appearance:"appearance",dropdownPosition:"dropdownPosition",appendTo:"appendTo",loading:[2,"loading","loading",B],closeOnSelect:[2,"closeOnSelect","closeOnSelect",B],hideSelected:[2,"hideSelected","hideSelected",B],selectOnTab:[2,"selectOnTab","selectOnTab",B],openOnEnter:[2,"openOnEnter","openOnEnter",B],maxSelectedItems:[2,"maxSelectedItems","maxSelectedItems",Ie],groupBy:"groupBy",groupValue:"groupValue",bufferAmount:[2,"bufferAmount","bufferAmount",Ie],virtualScroll:[2,"virtualScroll","virtualScroll",B],selectableGroup:[2,"selectableGroup","selectableGroup",B],selectableGroupAsModel:[2,"selectableGroupAsModel","selectableGroupAsModel",B],searchFn:"searchFn",trackByFn:"trackByFn",clearOnBackspace:[2,"clearOnBackspace","clearOnBackspace",B],labelForId:"labelForId",inputAttrs:"inputAttrs",tabIndex:[2,"tabIndex","tabIndex",Ie],readonly:[2,"readonly","readonly",B],searchWhileComposing:[2,"searchWhileComposing","searchWhileComposing",B],minTermLength:[2,"minTermLength","minTermLength",Ie],editableSearchTerm:[2,"editableSearchTerm","editableSearchTerm",B],ngClass:"ngClass",typeahead:"typeahead",multiple:[2,"multiple","multiple",B],addTag:"addTag",searchable:[2,"searchable","searchable",B],clearable:[2,"clearable","clearable",B],isOpen:"isOpen",items:"items",compareWith:"compareWith",clearSearchOnAdd:"clearSearchOnAdd",deselectOnClick:"deselectOnClick",keyDownFn:"keyDownFn"},outputs:{blurEvent:"blur",focusEvent:"focus",changeEvent:"change",openEvent:"open",closeEvent:"close",searchEvent:"search",clearEvent:"clear",addEvent:"add",removeEvent:"remove",scroll:"scroll",scrollToEnd:"scrollToEnd"},features:[pe([{provide:qt,useExisting:yt(()=>t),multi:!0},Qi]),Pe,Te],decls:13,vars:19,consts:[["searchInput",""],["defaultPlaceholderTemplate",""],["defaultLabelTemplate",""],["defaultLoadingSpinnerTemplate",""],["clearButton",""],["defaultOptionTemplate",""],["defaultTagTemplate",""],["defaultNotFoundTemplate",""],["defaultTypeToSearchTemplate",""],["defaultLoadingTextTemplate",""],[1,"ng-select-container",3,"mousedown"],[1,"ng-value-container"],[3,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"ng-input"],["aria-autocomplete","list","role","combobox",3,"blur","change","compositionend","compositionstart","focus","input","disabled","readOnly","value"],["role","button","tabindex","0",1,"ng-clear-wrapper",3,"title"],[1,"ng-arrow-wrapper"],[1,"ng-arrow"],["role","listbox",1,"ng-dropdown-panel",3,"virtualScroll","bufferAmount","appendTo","position","headerTemplate","footerTemplate","filterValue","items","markedItem","ng-select-multiple","ngClass","id"],[3,"ngTemplateOutlet"],[1,"ng-placeholder"],[1,"ng-value",3,"ng-value-disabled"],[1,"ng-value"],["aria-hidden","true",1,"ng-value-icon","left",3,"click"],[1,"ng-value-label",3,"ngItemLabel","escape"],[1,"ng-spinner-loader"],["aria-hidden","true",1,"ng-clear"],["role","listbox",1,"ng-dropdown-panel",3,"update","scroll","scrollToEnd","outsideClick","virtualScroll","bufferAmount","appendTo","position","headerTemplate","footerTemplate","filterValue","items","markedItem","ngClass","id"],[1,"ng-option",3,"ng-option-disabled","ng-option-selected","ng-optgroup","ng-option","ng-option-child","ng-option-marked"],["role","option",1,"ng-option",3,"ng-option-marked"],[1,"ng-option",3,"click","mouseover"],[1,"ng-option-label",3,"ngItemLabel","escape"],["role","option",1,"ng-option",3,"mouseover","click"],[1,"ng-tag-label"],[1,"ng-option","ng-option-disabled"]],template:function(i,n){if(i&1){let r=P();l(0,"div",10),x("mousedown",function(m){return v(r),E(n.handleMousedown(m))}),l(1,"div",11),b(2,jn,3,1)(3,qn,2,0)(4,zn,1,5,null,12),l(5,"div",13)(6,"input",14,0),x("blur",function(m){return v(r),E(n.onInputBlur(m))})("change",function(m){return v(r),E(m.stopPropagation())})("compositionend",function(){v(r);let m=U(7);return E(n.onCompositionEnd(m.value))})("compositionstart",function(){return v(r),E(n.onCompositionStart())})("focus",function(m){return v(r),E(n.onInputFocus(m))})("input",function(){v(r);let m=U(7);return E(n.filter(m.value))}),c()()(),b(8,Yn,3,1)(9,Zn,4,1,"span",15),l(10,"span",16),L(11,"span",17),c()(),b(12,hs,8,18,"ng-dropdown-panel",18)}i&2&&(G("ng-appearance-outline",n.appearance==="outline")("ng-has-value",n.hasValue),o(2),y(n.selectedItems.length===0&&!n.searchTerm||n.fixedPlaceholder===!0?2:-1),o(),y((!n.multiLabelTemplate||!n.multiple)&&n.selectedItems.length>0?3:-1),o(),y(n.multiple&&n.multiLabelTemplate&&n.selectedValues.length>0?4:-1),o(2),_("disabled",n.disabled)("readOnly",!n.searchable||n.itemsList.maxItemsSelected)("value",n.searchTerm?n.searchTerm:""),J("aria-activedescendant",n.isOpen?n.itemsList==null||n.itemsList.markedItem==null?null:n.itemsList.markedItem.htmlId:null)("aria-controls",n.isOpen?n.dropdownId:null)("aria-expanded",n.isOpen)("aria-label",n.ariaLabel)("id",n.labelForId)("tabindex",n.tabIndex),o(2),y(n.loading?8:-1),o(),y(n.showClear()?9:-1),o(3),y(n.isOpen?12:-1))},dependencies:[et,bs,Gi,Mt],styles:[`@charset "UTF-8";.ng-select{position:relative;display:block;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.ng-select div,.ng-select input,.ng-select span{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.ng-select [hidden]{display:none}.ng-select.ng-select-searchable .ng-select-container .ng-value-container .ng-input{opacity:1}.ng-select.ng-select-opened .ng-select-container{z-index:1001}.ng-select.ng-select-disabled .ng-select-container .ng-value-container .ng-placeholder,.ng-select.ng-select-disabled .ng-select-container .ng-value-container .ng-value{-webkit-user-select:none;user-select:none;cursor:default}.ng-select.ng-select-disabled .ng-arrow-wrapper{cursor:default}.ng-select.ng-select-filtered .ng-placeholder{display:none}.ng-select .ng-select-container{cursor:default;display:flex;outline:none;overflow:hidden;position:relative;width:100%}.ng-select .ng-select-container .ng-value-container{display:flex;flex:1}.ng-select .ng-select-container .ng-value-container .ng-input{opacity:0}.ng-select .ng-select-container .ng-value-container .ng-input>input{box-sizing:content-box;background:none transparent;border:0 none;box-shadow:none;outline:none;padding:0;cursor:default;width:100%}.ng-select .ng-select-container .ng-value-container .ng-input>input::-ms-clear{display:none}.ng-select .ng-select-container .ng-value-container .ng-input>input[readonly]{-webkit-user-select:unset;user-select:unset;width:0;padding:0}.ng-select.ng-select-single.ng-select-filtered .ng-select-container .ng-value-container .ng-value{visibility:hidden}.ng-select.ng-select-single .ng-select-container .ng-value-container,.ng-select.ng-select-single .ng-select-container .ng-value-container .ng-value{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ng-select.ng-select-single .ng-select-container .ng-value-container .ng-value .ng-value-icon{display:none}.ng-select.ng-select-single .ng-select-container .ng-value-container .ng-input{position:absolute;left:0;width:100%}.ng-select.ng-select-multiple.ng-select-disabled>.ng-select-container .ng-value-container .ng-value .ng-value-icon{display:none}.ng-select.ng-select-multiple .ng-select-container .ng-value-container{flex-wrap:wrap}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{position:absolute}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{white-space:nowrap}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled .ng-value-icon{display:none}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon{cursor:pointer}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input{flex:1;z-index:2}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{z-index:1}.ng-select .ng-clear-wrapper{cursor:pointer;position:relative;width:17px;-webkit-user-select:none;user-select:none}.ng-select .ng-clear-wrapper .ng-clear{display:inline-block;font-size:18px;line-height:1;pointer-events:none}.ng-select .ng-spinner-loader{border-radius:50%;width:17px;height:17px;margin-right:5px;font-size:10px;position:relative;text-indent:-9999em;border-top:2px solid rgba(66,66,66,.2);border-right:2px solid rgba(66,66,66,.2);border-bottom:2px solid rgba(66,66,66,.2);border-left:2px solid #424242;transform:translateZ(0);animation:load8 .8s infinite linear}.ng-select .ng-spinner-loader:after{border-radius:50%;width:17px;height:17px}@-webkit-keyframes load8{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes load8{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.ng-select .ng-arrow-wrapper{cursor:pointer;position:relative;text-align:center;-webkit-user-select:none;user-select:none}.ng-select .ng-arrow-wrapper .ng-arrow{pointer-events:none;display:inline-block;height:0;width:0;position:relative}.ng-dropdown-panel{box-sizing:border-box;position:absolute;opacity:0;width:100%;z-index:1050;-webkit-overflow-scrolling:touch}.ng-dropdown-panel .ng-dropdown-panel-items{display:block;height:auto;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;max-height:240px;overflow-y:auto}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option{box-sizing:border-box;cursor:pointer;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .ng-option-label:empty:before{content:"\\200b"}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .highlighted{font-weight:700;text-decoration:underline}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.disabled{cursor:default}.ng-dropdown-panel .scroll-host{overflow:hidden;overflow-y:auto;position:relative;display:block;-webkit-overflow-scrolling:touch}.ng-dropdown-panel .scrollable-content{top:0;left:0;width:100%;height:100%;position:absolute}.ng-dropdown-panel .total-padding{width:1px;opacity:0} -`],encapsulation:2,changeDetection:0})}}return t})(),Ji=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=At({type:t})}static{this.\u0275inj=Tt({providers:[{provide:Yi,useValue:Ki}]})}}return t})();var Os=(t,s)=>s.Key;function Ps(t,s){if(t&1){let e=P();l(0,"div",4),p(1),l(2,"span",5),x("click",function(){let n=v(e).$implicit,r=h().clear;return E(r(n))}),p(3,"\xD7"),c()()}if(t&2){let e=s.$implicit;o(),C(" ",e.Value," ")}}function Ns(t,s){if(t&1&&V(0,Ps,4,1,"div",4,Os),t&2){let e=s.items;M(e)}}function Vs(t,s){if(t&1&&(L(0,"input",6),p(1)),t&2){let e=s.item,i=s.item$,n=s.index;Xe("id","item-",n,""),_("ngModel",i.selected),o(),C(" ",e.Group," ")}}function Ms(t,s){if(t&1&&(L(0,"input",6),p(1)),t&2){let e=s.item,i=s.item$,n=s.index;Xe("id","item-",n,""),_("ngModel",i.selected),o(),C(" ",e.Value," ")}}var Xi=(()=>{class t{constructor(){this.options=[],this.values=[],this.valuesChange=new F}itemsChanged(){this.valuesChange.emit(this.values)}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=H({type:t,selectors:[["bkd-multiselect"]],inputs:{options:"options",values:"values"},outputs:{valuesChange:"valuesChange"},decls:5,vars:10,consts:[["groupBy","Group","bindValue","Key","bindLabel","Value","dropdownPosition","bottom",1,"multiselect",3,"ngModelChange","click","clear","items","multiple","selectableGroup","selectableGroupAsModel","closeOnSelect","ngModel","placeholder","clearable"],["ng-multi-label-tmp",""],["ng-optgroup-tmp",""],["ng-option-tmp",""],[1,"ng-value"],["aria-hidden","true",1,"ng-value-icon","right",3,"click"],["type","checkbox",3,"id","ngModel"]],template:function(i,n){i&1&&(l(0,"ng-select",0),d(1,"translate"),K("ngModelChange",function(a){return Q(n.values,a)||(n.values=a),a}),x("click",function(){return n.itemsChanged()})("clear",function(){return n.itemsChanged()}),b(2,Ns,2,0,"ng-template",1)(3,Vs,2,4,"ng-template",2)(4,Ms,2,4,"ng-template",3),c()),i&2&&(fe("placeholder",u(1,8,"shared.select.empty-option")),_("items",n.options)("multiple",!0)("selectableGroup",!0)("selectableGroupAsModel",!1)("closeOnSelect",!1),z("ngModel",n.values),_("clearable",!0))},dependencies:[Ji,Zi,pt,ut,ht,Me,Ut,Ve,Kt,me],encapsulation:2})}}return t})();var en=Gt({HRef:tt,Id:it,TeacherId:it,FullName:tt});var tn=(()=>{class t extends Ti{constructor(e,i){super(e,i,en,"TeacherResources","FullName","FullName")}getTypeaheadItemByKey(e){return this.http.get(`${this.baseUrl}/`,{params:{fields:[this.keyAttr,this.labelAttr].join(","),[`filter.${this.labelAttr}`]:`~*${e}*`}}).pipe(ye(di(this.typeaheadCodec)),ye(i=>_t({Key:i[0].FullName,Value:`${i[0].FullName}`})))}static{this.\u0275fac=function(i){return new(i||t)(j($t),j(he))}}static{this.\u0275prov=Z({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();var sn=(()=>{class t{constructor(e,i,n,r,a,m){this.studentsService=e,this.educationalEventsService=i,this.studyClassService=n,this.teacherResourcesService=r,this.state=a,this.translate=m,this.filter={student:null,educationalEvent:null,studyClass:null,teacher:null,dateFrom:null,dateTo:null,weekdays:null,presenceTypes:null,confirmationStates:null,incidentTypes:null},this.filterChange=new F,this.weekdaysGrouped$=this.state.weekdays$.pipe(T(g=>Ae(g,this.translate.instant("shared.multiselect.all-option")))),this.absenceConfirmationStatesGrouped$=this.state.absenceConfirmationStates$.pipe(T(g=>Ae(g,this.translate.instant("shared.multiselect.all-option")))),this.presenceTypesGrouped$=this.state.presenceTypes$.pipe(T(g=>g.filter(we(fi)).filter(we(rt))),T(ot),T(lt),T(g=>Ae(g,this.translate.instant("shared.multiselect.all-option")))),this.incidentTypesGrouped$=this.state.presenceTypes$.pipe(T(g=>g.filter(rt)),T(ot),T(lt),T(g=>Ae(g,this.translate.instant("shared.multiselect.all-option")))),this.classesHttpFilter={params:{fields:"IsActive","filter.IsActive":"=true"}}}show(){this.filterChange.emit(De(be({},this.filter),{dateFrom:nn(this.filter.dateFrom),dateTo:nn(this.filter.dateTo)}))}static{this.\u0275fac=function(i){return new(i||t)(f(Si),f(Mi),f(wi),f(tn),f(te),f(Re))}}static{this.\u0275cmp=H({type:t,selectors:[["bkd-edit-absences-header"]],inputs:{filter:"filter"},outputs:{filterChange:"filterChange"},features:[pe([{provide:ri,useClass:oi},{provide:ai,useClass:ki}])],decls:60,vars:60,consts:[[1,"row","g-3","mb-5"],[1,"col-md-6","col-lg-3"],[1,"form-label"],[3,"valueChange","typeaheadService","value"],[3,"valueChange","typeaheadService","value","additionalHttpParams"],[3,"valueChange","value"],[3,"valuesChange","options","values"],[1,"row","g-3","align-items-end"],[1,"col-sm-12","col-md"],[1,"col-auto"],["type","button",1,"btn","btn-primary",3,"click"]],template:function(i,n){i&1&&(l(0,"div",0)(1,"div",1)(2,"label",2),p(3),d(4,"translate"),c(),l(5,"bkd-typeahead",3),K("valueChange",function(a){return Q(n.filter.student,a)||(n.filter.student=a),a}),c()(),l(6,"div",1)(7,"label",2),p(8),d(9,"translate"),c(),l(10,"bkd-typeahead",3),K("valueChange",function(a){return Q(n.filter.educationalEvent,a)||(n.filter.educationalEvent=a),a}),c()(),l(11,"div",1)(12,"label",2),p(13),d(14,"translate"),c(),l(15,"bkd-typeahead",4),K("valueChange",function(a){return Q(n.filter.studyClass,a)||(n.filter.studyClass=a),a}),c()(),l(16,"div",1)(17,"label",2),p(18),d(19,"translate"),c(),l(20,"bkd-typeahead",3),K("valueChange",function(a){return Q(n.filter.teacher,a)||(n.filter.teacher=a),a}),c()(),l(21,"div",1)(22,"label",2),p(23),d(24,"translate"),c(),l(25,"bkd-date-select",5),K("valueChange",function(a){return Q(n.filter.dateFrom,a)||(n.filter.dateFrom=a),a}),c()(),l(26,"div",1)(27,"label",2),p(28),d(29,"translate"),c(),l(30,"bkd-date-select",5),K("valueChange",function(a){return Q(n.filter.dateTo,a)||(n.filter.dateTo=a),a}),c()(),l(31,"div",1)(32,"label",2),p(33),d(34,"translate"),c(),l(35,"bkd-multiselect",6),d(36,"async"),K("valuesChange",function(a){return Q(n.filter.weekdays,a)||(n.filter.weekdays=a),a}),c()()(),l(37,"div",7)(38,"div",8)(39,"label",2),p(40),d(41,"translate"),c(),l(42,"bkd-multiselect",6),d(43,"async"),K("valuesChange",function(a){return Q(n.filter.confirmationStates,a)||(n.filter.confirmationStates=a),a}),c()(),l(44,"div",8)(45,"label",2),p(46),d(47,"translate"),c(),l(48,"bkd-multiselect",6),d(49,"async"),K("valuesChange",function(a){return Q(n.filter.presenceTypes,a)||(n.filter.presenceTypes=a),a}),c()(),l(50,"div",8)(51,"label",2),p(52),d(53,"translate"),c(),l(54,"bkd-multiselect",6),d(55,"async"),K("valuesChange",function(a){return Q(n.filter.incidentTypes,a)||(n.filter.incidentTypes=a),a}),c()(),l(56,"div",9)(57,"button",10),x("click",function(){return n.show()}),p(58),d(59,"translate"),c()()()),i&2&&(o(3),I(u(4,30,"edit-absences.header.student")),o(2),_("typeaheadService",n.studentsService),z("value",n.filter.student),o(3),I(u(9,32,"edit-absences.header.module-instance")),o(2),_("typeaheadService",n.educationalEventsService),z("value",n.filter.educationalEvent),o(3),I(u(14,34,"edit-absences.header.study-class")),o(2),_("typeaheadService",n.studyClassService),z("value",n.filter.studyClass),_("additionalHttpParams",n.classesHttpFilter),o(3),I(u(19,36,"edit-absences.header.teacher")),o(2),_("typeaheadService",n.teacherResourcesService),z("value",n.filter.teacher),o(3),I(u(24,38,"edit-absences.header.date-from")),o(2),z("value",n.filter.dateFrom),o(3),I(u(29,40,"edit-absences.header.date-to")),o(2),z("value",n.filter.dateTo),o(3),I(u(34,42,"edit-absences.header.weekdays")),o(2),_("options",u(36,44,n.weekdaysGrouped$)),z("values",n.filter.weekdays),o(5),I(u(41,46,"edit-absences.header.confirmation-state")),o(2),_("options",u(43,48,n.absenceConfirmationStatesGrouped$)),z("values",n.filter.confirmationStates),o(4),I(u(47,50,"edit-absences.header.presence-type")),o(2),_("options",u(49,52,n.presenceTypesGrouped$)),z("values",n.filter.presenceTypes),o(4),I(u(53,54,"edit-absences.header.incident")),o(2),_("options",u(55,56,n.incidentTypesGrouped$)),z("values",n.filter.incidentTypes),o(4),C(" ",u(59,58,"edit-absences.header.show")," "))},dependencies:[Li,Vi,Xi,ve,me],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;padding:0 1rem 1rem 0;border-bottom:1px solid #dee2e6}"],changeDetection:0})}}return t})();function nn(t){return t?mi(t):null}var $s=(t,s)=>s.id,js=()=>[],rn=t=>({count:t}),an=t=>({returnparams:t}),Hs=t=>["student",t,"absences"];function Ws(t,s){t&1&&L(0,"bkd-spinner")}function Gs(t,s){if(t&1&&(l(0,"div",5)(1,"div",9),p(2),d(3,"async"),d(4,"translate"),d(5,"translate"),c(),l(6,"a",10),d(7,"async"),l(8,"i",11),p(9,"edit"),c()()()),t&2){let e=h(4),i=Y(0);o(2),Ce(" ",ne(4,7,"edit-absences.list.total",X(15,rn,u(3,5,e.state.total$)||0)),", ",ne(5,10,"edit-absences.list.selected",X(17,rn,i.length))," "),o(4),G("disabled",i.length===0),_("queryParams",X(19,an,u(7,13,e.state.queryParamsString$)))}}function qs(t,s){if(t&1){let e=P();l(0,"tr")(1,"td",14),x("click",function(n){v(e);let r=U(3),a=h(5);return E(a.onCheckboxCellClick(n,r))}),l(2,"input",12,0),d(4,"async"),x("change",function(){let n=v(e).$implicit,r=h(5);return E(r.selectionService.toggle(n.lessonPresence))}),c()(),l(5,"td",13),d(6,"translate"),l(7,"span",15)(8,"i",11),p(9),c()()(),l(10,"td"),d(11,"translate"),l(12,"a",16),d(13,"async"),p(14),c(),L(15,"br"),p(16),c(),l(17,"td"),d(18,"translate"),p(19),d(20,"date"),c(),l(21,"td"),d(22,"translate"),p(23),d(24,"date"),d(25,"date"),c(),l(26,"td"),d(27,"translate"),p(28),c(),l(29,"td",17),d(30,"translate"),p(31),c(),l(32,"td"),d(33,"translate"),p(34),c()()}if(t&2){let e=s.$implicit,i=h(5);o(2),_("checked",u(4,21,i.selectionService.isSelected$(e.lessonPresence))),o(3),J("data-label",u(6,23,"edit-absences.list.header.presence")),o(2),_("className",e.presenceCategory),o(2),I(e.presenceCategoryIcon),o(),J("data-label",u(11,25,"edit-absences.list.header.mobil-student-module-instance-study-class")),o(2),_("routerLink",X(48,Hs,e.lessonPresence.StudentRef.Id))("queryParams",X(50,an,u(13,27,i.profileReturnParams$))),o(2),C(" ",e.lessonPresence.StudentFullName," "),o(2),Ce(" ",e.lessonPresence.EventDesignation,", ",e.lessonPresence.StudyClassNumber," "),o(),J("data-label",u(18,29,"edit-absences.list.header.date")),o(2),C(" ",ne(20,31,e.lessonPresence.LessonDateTimeFrom,"mediumDate")," "),o(2),J("data-label",u(22,34,"edit-absences.list.header.time")),o(2),Ce(" ",ne(24,36,e.lessonPresence.LessonDateTimeFrom,"shortTime"),"\u2013",ne(25,39,e.lessonPresence.LessonDateTimeTo,"shortTime")," "),o(3),J("data-label",u(27,42,"edit-absences.list.header.confirmation-state")),o(2),C(" ",e.confirmationState==null?null:e.confirmationState.Value," "),o(),J("data-label",u(30,44,"edit-absences.list.header.mobil-presence-type-incident")),o(2),C(" ",e.presenceType==null?null:e.presenceType.Designation," "),o(),J("data-label",u(33,46,"edit-absences.list.header.teacher")),o(2),C(" ",e.lessonPresence.TeacherInformation," ")}}function Us(t,s){if(t&1){let e=P();l(0,"table",6)(1,"thead")(2,"tr")(3,"th")(4,"input",12),x("change",function(n){v(e);let r=h(4);return E(r.toggleAll(n.currentTarget==null?null:n.currentTarget.checked))}),c()(),l(5,"th",13),p(6),d(7,"translate"),c(),l(8,"th"),p(9),d(10,"translate"),L(11,"br"),p(12),d(13,"translate"),d(14,"translate"),c(),l(15,"th"),p(16),d(17,"translate"),c(),l(18,"th"),p(19),d(20,"translate"),c(),l(21,"th"),p(22),d(23,"translate"),c(),l(24,"th"),p(25),d(26,"translate"),d(27,"translate"),c(),l(28,"th"),p(29),d(30,"translate"),c()()(),l(31,"tbody"),V(32,qs,35,52,"tr",null,$s),c()()}if(t&2){h(4);let e=Y(0),i=Y(2);o(4),_("checked",e.length===i.length),o(2),C(" ",u(7,11,"edit-absences.list.header.presence")," "),o(3),C(" ",u(10,13,"edit-absences.list.header.student")," "),o(3),Ce(" ",u(13,15,"edit-absences.list.header.module-instance"),", ",u(14,17,"edit-absences.list.header.study-class")," "),o(4),C(" ",u(17,19,"edit-absences.list.header.date")," "),o(3),I(u(20,21,"edit-absences.list.header.time")),o(3),C(" ",u(23,23,"edit-absences.list.header.confirmation-state")," "),o(3),Ce(" ",u(26,25,"edit-absences.list.header.presence-type")," / ",u(27,27,"edit-absences.list.header.incident")," "),o(4),I(u(30,29,"edit-absences.list.header.teacher")),o(3),M(i)}}function zs(t,s){t&1&&L(0,"bkd-spinner",7)}function Qs(t,s){if(t&1){let e=P();l(0,"button",18),x("click",function(){v(e);let n=h(4);return E(n.state.nextPage())}),p(1),d(2,"translate"),c()}t&2&&(o(),C(" ",u(2,1,"global.pagination.load-more")," "))}function Ks(t,s){if(t&1){let e=P();l(0,"div",4),x("scrolled",function(){v(e);let n=h(3);return E(n.onScroll())}),b(1,Gs,10,21,"div",5)(2,Us,34,31,"table",6)(3,zs,1,0,"bkd-spinner",7)(4,Qs,3,3,"button",8),c()}if(t&2){h(3);let e=Y(2),i=Y(4),n=Y(6);o(),y(e&&e.length>0?1:-1),o(),y(e&&e.length>0?2:-1),o(),y(n?3:-1),o(),y(i&&!n?4:-1)}}function Ys(t,s){t&1&&(l(0,"p",2),p(1),d(2,"translate"),c()),t&2&&(o(),I(u(2,1,"edit-absences.no-entries")))}function Zs(t,s){if(t&1&&b(0,Ks,5,4,"div",3)(1,Ys,3,3,"p",2),t&2){h(2);let e=Y(2),i=Y(6);y(e&&e.length>0||i?0:1)}}function Js(t,s){if(t&1&&(b(0,Ws,1,0,"bkd-spinner"),d(1,"async"),b(2,Zs,2,1)),t&2){let e=h();y(u(1,1,e.state.loading$)?0:2)}}function Xs(t,s){t&1&&(l(0,"p",2),p(1),d(2,"translate"),c()),t&2&&(o(),I(u(2,1,"edit-absences.no-filter")))}var on=(()=>{class t{constructor(e,i,n,r){this.state=e,this.selectionService=i,this.scrollPosition=n,this.route=r,this.filterFromParams$=this.route.queryParams.pipe(T(er)),this.profileReturnParams$=this.state.queryParamsString$,this.destroy$=new re}ngOnInit(){this.filterFromParams$.pipe(ie(1)).subscribe(e=>this.state.setFilter(e)),this.state.validFilter$.pipe(N(this.destroy$)).subscribe(()=>this.selectionService.clear()),this.selectionService.selection$.pipe(N(this.destroy$)).subscribe(e=>this.state.selected=e),this.route.queryParams.pipe(ie(1),T(({reload:e})=>e),Oe(pi)).subscribe(()=>this.state.resetEntries())}ngAfterViewInit(){this.scrollPosition.restore()}ngOnDestroy(){this.destroy$.next()}toggleAll(e){this.state.entries$.pipe(ie(1)).subscribe(i=>this.selectionService.clear(e?i:null))}onCheckboxCellClick(e,i){e.target!==i&&i.click()}onScroll(){this.state.nextPage()}static{this.\u0275fac=function(i){return new(i||t)(f(te),f(Ge),f(Oi),f(Ne))}}static{this.\u0275cmp=H({type:t,selectors:[["bkd-edit-absences-list"]],features:[pe([Ge])],decls:16,vars:22,consts:[["checkbox",""],[3,"filterChange","filter"],[1,"mt-3"],["infiniteScroll","",1,"py-3"],["infiniteScroll","",1,"py-3",3,"scrolled"],[1,"d-flex","align-items-center","justify-content-between"],[1,"table","table-striped"],[1,"inline"],["type","button",1,"btn","btn-outline-secondary","btn-sm","d-block","mx-auto"],[1,"total"],["routerLink","/edit-absences/edit",1,"edit","btn","btn-primary","btn-icon","mt-1","mb-2",3,"queryParams"],[1,"material-icons"],["type","checkbox",3,"change","checked"],[1,"presence-category"],[1,"edit-absences-checkbox",3,"click"],[3,"className"],[1,"student",3,"routerLink","queryParams"],[1,"designation-incident"],["type","button",1,"btn","btn-outline-secondary","btn-sm","d-block","mx-auto",3,"click"]],template:function(i,n){if(i&1){let r=P();oe(0),d(1,"async"),oe(2),d(3,"async"),oe(4),d(5,"async"),oe(6),d(7,"async"),l(8,"h1"),p(9),d(10,"translate"),c(),l(11,"bkd-edit-absences-header",1),d(12,"async"),x("filterChange",function(m){return v(r),E(n.state.setFilter(m))}),c(),b(13,Js,3,3),d(14,"async"),b(15,Xs,3,3,"p",2)}if(i&2){let r;le((r=u(1,3,n.selectionService.selection$))!==null&&r!==void 0?r:Dt(21,js)),o(2),le(u(3,6,n.state.presenceControlEntries$)),o(2),le(u(5,9,n.state.hasMore$)),o(2),le(u(7,12,n.state.loadingPage$)),o(3),I(u(10,15,"edit-absences.title")),o(2),_("filter",u(12,17,n.filterFromParams$)),o(2),y(u(14,19,n.state.isFilterValid$)?13:15)}},dependencies:[sn,Ni,Wt,Ei,ve,Rt,me],styles:[".presence-category[_ngcontent-%COMP%]{text-align:center}.presence-category[_ngcontent-%COMP%] .absent[_ngcontent-%COMP%]{color:#ea161f}.presence-category[_ngcontent-%COMP%] .present[_ngcontent-%COMP%]{color:#3d8608}.presence-category[_ngcontent-%COMP%] .unapproved[_ngcontent-%COMP%]{color:#ffa814}.designation-incident[_ngcontent-%COMP%]{max-width:50ch}@media screen and (max-width: 820px){.edit-absences-checkbox[_ngcontent-%COMP%]{text-align:left}.presence-category[_ngcontent-%COMP%]{text-align:right}.designation-incident[_ngcontent-%COMP%]{max-width:initial}}"],changeDetection:0})}}return t})();function er(t){return{student:t.student?Number(t.student):null,educationalEvent:t.educationalEvent?Number(t.educationalEvent):null,studyClass:t.studyClass?Number(t.studyClass):null,teacher:t.teacher??null,dateFrom:t.dateFrom?nt(t.dateFrom):null,dateTo:t.dateTo?nt(t.dateTo):null,weekdays:t.weekdays?t.weekdays.split(","):null,presenceTypes:t.presenceTypes?t.presenceTypes.split(",").map(Number):null,confirmationStates:t.confirmationStates?t.confirmationStates.split(",").map(Number):null,incidentTypes:t.incidentTypes?t.incidentTypes.split(",").map(Number):null}}var ln=(()=>{class t{constructor(e){this.state=e}static{this.\u0275fac=function(i){return new(i||t)(f(te))}}static{this.\u0275cmp=H({type:t,selectors:[["bkd-edit-absences"]],features:[pe([te,{provide:hi,useExisting:te},gi])],decls:1,vars:0,template:function(i,n){i&1&&L(0,"router-outlet")},dependencies:[jt],styles:["[_nghost-%COMP%]{display:block}"],changeDetection:0})}}return t})();var lo=[{path:"",component:ln,children:[{path:"",component:on,data:{restoreScrollPositionFrom:["/edit-absences/edit","/edit-absences/student/:id/addresses","/edit-absences/student/:id/absences","/edit-absences/student/:id/grades"]}},{path:"edit",component:Hi},xi]}];export{lo as EDIT_ABSENCES_ROUTES}; diff --git a/public/apps/webapp-schulverwaltung/chunk-S4T5K3GB.js b/public/apps/webapp-schulverwaltung/chunk-S4T5K3GB.js deleted file mode 100644 index 17280119..00000000 --- a/public/apps/webapp-schulverwaltung/chunk-S4T5K3GB.js +++ /dev/null @@ -1 +0,0 @@ -import{a as we,b as De}from"./chunk-QB4DIFWS.js";import{b as ve,d as Oe,e as $e}from"./chunk-746ASKQ4.js";import{b as Ie}from"./chunk-DTTSX64G.js";import"./chunk-Y4QYVF5K.js";import"./chunk-AYQPMCNZ.js";import{a as z}from"./chunk-3P6YOVUR.js";import{D as ye,E as Se,F as xe,K as Ae,L as y,P as ke,R as Pe,T as Ee,U as Te,a as ge}from"./chunk-SRCW6BUG.js";import{l as Q}from"./chunk-GOGVGWFJ.js";import{b as Le}from"./chunk-OSOXMODN.js";import{b as Me}from"./chunk-PSYDBHTH.js";import{A as _e,z as Ce}from"./chunk-W4U7QKJF.js";import"./chunk-AVBHFGIF.js";import{$a as r,Ab as F,Bb as U,Cb as I,Db as ae,Eb as j,F as _,Fb as K,Ga as P,Gb as pe,Jb as a,Kb as l,Lb as B,M as N,Na as w,Od as he,P as V,Pd as fe,Qa as C,R as Y,Ra as se,Va as R,X as ie,Xa as oe,Ya as G,Za as J,_ as T,_a as c,ab as x,cc as q,dc as le,ea as O,eb as D,f as k,fa as $,g as W,gb as M,hb as f,k as ee,n as b,o as S,qb as re,rb as u,sb as v,tb as E,ub as ce,w as te,wc as de,x as ne,xa as s,xc as me,ya as h,yc as ue,zc as be}from"./chunk-2W7IS4PN.js";var Ue=["studentFullName","studyClassNumber"],A=(()=>{class n{constructor(e,t,i,o){this.lessonPresencesService=e,this.selectionService=t,this.loadingService=i,this.translate=o,this.loading$=this.loadingService.loading$,this.search$=new W(""),this.updateUnconfirmedAbsences$=new k,this.unconfirmedAbsences$=te(this.loadUnconfirmedAbsences(),this.updateUnconfirmedAbsences$).pipe(N(1)),this.entries$=this.unconfirmedAbsences$.pipe(b(ye),N(1)),this.sortCriteriaSubject$=new W({primarySortKey:"date",ascending:!1}),this.sortCriteria$=this.sortCriteriaSubject$.asObservable(),this.sortedEntries$=S([this.entries$,this.sortCriteria$]).pipe(b(Q(Se))),this.filteredEntries$=S([this.sortedEntries$,this.search$]).pipe(b(([d,p])=>De(d,Ue,p)),N(1)),this.currentDetail=null}getUnconfirmedAbsences(e,t){return this.entries$.pipe(b(i=>{let o=i.find(d=>d.dateString===e&&d.studentId===t);return o?o.absences:[]}))}getAllUnconfirmedAbsencesForStudent(e){return this.entries$.pipe(b(t=>t.filter(i=>i.studentId===e).reduce((i,o)=>i.concat(o.absences),[])))}toggleSort(e){this.sortCriteriaSubject$.pipe(_(1)).subscribe(t=>{t.primarySortKey===e?this.sortCriteriaSubject$.next({primarySortKey:e,ascending:!t.ascending}):this.sortCriteriaSubject$.next({primarySortKey:e,ascending:e==="name"})})}get confirmBackLink(){return this.currentDetail?["/open-absences/detail",this.currentDetail.personId,this.currentDetail.date]:["/open-absences"]}updateAfterConfirm(){S([this.unconfirmedAbsences$.pipe(_(1)),this.selectionService.selectedIds$.pipe(_(1))]).pipe(b(Q(xe))).subscribe(e=>{this.selectionService.clear(),this.updateUnconfirmedAbsences$.next(e)})}buildMailToString(e,t){let i=e.Email,o=this.translate.instant("open-absences.detail.mail.subject"),d=t.map(L=>Ae(L)).join("%0D%0A"),p=`${this.translate.instant("open-absences.detail.mail.body")}%0D%0A${d}`;return p.length>=1600&&(p=`${p.substring(0,1500)}%0D%0A${this.translate.instant("open-absences.detail.mail.bodyToLargeForEmailTo")}`),`${i}?subject=${o}&body=${p}`}loadUnconfirmedAbsences(){return this.loadingService.load(this.lessonPresencesService.getListOfUnconfirmed())}static{this.\u0275fac=function(t){return new(t||n)(T($e),T(y),T(Le),T(he))}}static{this.\u0275prov=ie({token:n,factory:n.\u0275fac})}}return n})();var qe=()=>["/open-absences"],Be=(()=>{class n{constructor(e,t,i,o,d,p,L){this.router=e,this.route=t,this.openAbsencesService=i,this.presenceTypesService=o,this.personService=d,this.selectionService=p,this.scrollPosition=L,this.absences$=this.route.paramMap.pipe(V(this.getAbsencesForParams.bind(this))),this.hasAbsences$=this.absences$.pipe(b(Ce(1))),this.studentFullName$=this.absences$.pipe(b(m=>m[0]&&m[0].StudentFullName||null)),this.allSelected$=S([this.absences$,this.selectionService.selection$]).pipe(b(([m,H])=>m.length===H.length)),this.studentEmail$=this.absences$.pipe(b(m=>m[0]&&m[0].StudentRef.Id||null),V(m=>m?this.personService.getByIdWithEmailInfos(m):ee)),this.allUnconfirmedAbsencesForStudent$=this.route.paramMap.pipe(V(this.getAbsencesForStudentParam.bind(this))),this.mailTo$=S([this.studentEmail$,this.allUnconfirmedAbsencesForStudent$]).pipe(b(([m,H])=>this.openAbsencesService.buildMailToString(m,H))),this.destroy$=new k}ngOnInit(){this.selectionService.clearNonLessonPresences(),this.route.paramMap.pipe(Y(this.destroy$)).subscribe(e=>this.openAbsencesService.currentDetail={date:String(e.get("date")),personId:Number(e.get("personId"))}),this.hasAbsences$.pipe(Y(this.destroy$),ne(ge(_e))).subscribe(()=>void this.router.navigate(["/open-absences"]))}ngAfterViewInit(){this.scrollPosition.restore()}ngOnDestroy(){this.destroy$.next()}toggleAll(e){e?this.absences$.pipe(_(1)).subscribe(t=>this.selectionService.clear(t)):this.selectionService.clear()}onRowClick(e,t){e.target!==t&&t.click()}getPresenceTypeDesignation(e){return this.presenceTypesService.displayedTypes$.pipe(b(t=>e.TypeRef.Id&&t.find(i=>i.Id===e.TypeRef.Id)?.Designation||null))}getAbsencesForParams(e){return this.openAbsencesService.getUnconfirmedAbsences(String(e.get("date")),Number(e.get("personId")))}getAbsencesForStudentParam(e){return this.openAbsencesService.getAllUnconfirmedAbsencesForStudent(Number(e.get("personId")))}static{this.\u0275fac=function(t){return new(t||n)(h(ue),h(de),h(A),h(ke),h(Ie),h(y),h(z))}}static{this.\u0275cmp=P({type:n,selectors:[["bkd-open-absences-detail"]],decls:6,vars:10,consts:[[3,"link"],[3,"absences$","selectionService","confirmLink","displayEmail","mailTo$"]],template:function(t,i){t&1&&(c(0,"div"),x(1,"bkd-backlink",0),c(2,"h1"),u(3),a(4,"async"),r()(),x(5,"bkd-student-dossier-absences",1)),t&2&&(s(),C("link",j(9,qe)),s(2),v(l(4,7,i.studentFullName$)),s(2),C("absences$",i.absences$)("selectionService",i.selectionService)("confirmLink","/open-absences/confirm")("displayEmail",!0)("mailTo$",i.mailTo$))},dependencies:[Te,Ee,q],styles:['.content[_ngcontent-%COMP%]{padding-left:1rem;padding-right:1rem}.back[_ngcontent-%COMP%]{color:#000;text-decoration:none}.back[_ngcontent-%COMP%]:hover span[_ngcontent-%COMP%], .back[_ngcontent-%COMP%]:active span[_ngcontent-%COMP%]{text-decoration:underline}.absence-entry[_ngcontent-%COMP%]{padding:1rem;border-bottom:1px solid #dee2e6;display:grid;grid-template-areas:"checkbox lesson-class time teacher" "checkbox presence-type date days-ago";grid-template-columns:min-content 2fr 1fr 2fr}.checkbox[_ngcontent-%COMP%]{grid-area:checkbox;margin:0;padding:.6rem .5rem 0 0}.checkbox[_ngcontent-%COMP%] input.form-check-input[_ngcontent-%COMP%]{position:static!important;margin:0!important;display:block}.all[_ngcontent-%COMP%]{grid-area:all}.lesson-class[_ngcontent-%COMP%]{grid-area:lesson-class;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.time[_ngcontent-%COMP%]{grid-area:time}.teacher[_ngcontent-%COMP%]{grid-area:teacher}.presence-type[_ngcontent-%COMP%]{color:#adb5bd;grid-area:presence-type}.date[_ngcontent-%COMP%]{grid-area:date}.days-ago[_ngcontent-%COMP%]{color:#adb5bd;grid-area:days-ago}.date-days-ago[_ngcontent-%COMP%]{grid-area:date-days-ago;display:none}@media (max-width: 750px){.content[_ngcontent-%COMP%]{padding-left:0;padding-right:0}.absence-entry[_ngcontent-%COMP%]{grid-template-areas:"checkbox lesson-class" "checkbox teacher" "checkbox date-days-ago" "checkbox time" "checkbox presence-type";grid-template-columns:min-content 1fr}.date-days-ago[_ngcontent-%COMP%]{display:block}.date[_ngcontent-%COMP%], .days-ago[_ngcontent-%COMP%]{display:none}}'],changeDetection:0})}}return n})();var ze=(n,g)=>g.id,Ne=()=>[],Z=n=>({count:n}),He=(n,g)=>["detail",n,g];function We(n,g){if(n&1&&(c(0,"div",2)(1,"div",5),u(2),a(3,"translate"),r(),c(4,"a",6)(5,"i",7),u(6,"edit"),r()()()),n&2){f();let e=I(0);s(2),E(" ",B(3,3,"open-absences.selected",K(6,Z,e.length))," "),s(2),se("disabled",e.length===0)}}function Ye(n,g){n&1&&x(0,"bkd-spinner")}function Ge(n,g){n&1&&(c(0,"p",3),u(1),a(2,"translate"),r()),n&2&&(s(),v(l(2,1,"open-absences.noEntries")))}function Je(n,g){if(n&1&&(c(0,"span",13),u(1),r()),n&2){let e=f().$implicit,t=f(2),i=I(4);s(),v(t.getSortDirectionCharacter(i,e))}}function Qe(n,g){if(n&1){let e=D();c(0,"div",12),M("click",function(){let i=O(e).$implicit,o=f(2);return $(o.openAbsencesService.toggleSort(i))}),u(1),a(2,"translate"),w(3,Je,2,1,"span",13),r()}if(n&2){let e=g.$implicit;f(2);let t=I(4);C("className",e),s(),E(" ",l(2,3,"open-absences.list.header."+e)," "),s(2),R(t?3:-1)}}function Xe(n,g){if(n&1){let e=D();c(0,"div")(1,"div",14)(2,"div",15),M("click",function(i){O(e);let o=re(4),d=f(2);return $(d.onCheckboxCellClick(i,o))}),c(3,"input",10,0),a(5,"async"),M("change",function(){let i=O(e).$implicit,o=f(2);return $(o.selectionService.toggle(i))}),r()(),c(6,"div",16)(7,"a",17),u(8),r()(),c(9,"div",18),u(10),r(),c(11,"div",19),u(12),a(13,"translate"),r(),c(14,"div",20),u(15),a(16,"translate"),r(),c(17,"div",21),u(18),a(19,"bkdDaysDifference"),r(),c(20,"div",22),u(21),a(22,"date"),r()()()}if(n&2){let e=g.$implicit,t=f(2);s(3),C("checked",l(5,9,t.selectionService.isSelected$(e))),s(4),C("routerLink",pe(22,He,e.studentId,e.dateString)),s(),v(e.studentFullName),s(2),E(" ",e.studyClassNumber," "),s(2),E(" ",B(13,11,t.getLessonsCountKey(e),K(25,Z,e.lessonsCount))," "),s(3),ce(" ",e.studyClassNumber,", ",B(16,14,t.getLessonsCountKey(e),K(27,Z,e.lessonsCount))," "),s(3),E(" ",l(19,17,e.date)," "),s(3),v(B(22,19,e.date,"dd.MM.yyyy"))}}function Ze(n,g){if(n&1){let e=D();c(0,"div",4)(1,"div",8)(2,"div",9)(3,"input",10),M("change",function(i){O(e);let o=f();return $(o.onToggleAll(i.currentTarget==null?null:i.currentTarget.checked))}),r()(),G(4,Qe,4,5,"div",11,oe),r(),G(6,Xe,23,29,"div",null,ze),r()}if(n&2){let e=f(),t=I(0),i=I(2);s(3),C("checked",t.length===i.length),s(),J(e.primarySortKeys),s(2),J(i)}}var Ve=(()=>{class n{constructor(e,t,i){this.openAbsencesService=e,this.selectionService=t,this.scrollPosition=i,this.primarySortKeys=["name","date"],this.destroy$=new k}ngOnInit(){this.openAbsencesService.currentDetail=null,this.selectionService.clearNonOpenAbsencesEntries()}ngAfterViewInit(){this.scrollPosition.restore()}ngOnDestroy(){this.destroy$.next()}onToggleAll(e){this.openAbsencesService.filteredEntries$.pipe(_(1)).subscribe(t=>{this.selectionService.clear(e?t:null)})}onCheckboxCellClick(e,t){e.target!==t&&t.click()}getSortDirectionCharacter(e,t){return e.primarySortKey!==t?"":e.ascending?"\u2193":"\u2191"}getLessonsCountKey(e){return`open-absences.list.content.lessonsCount.${e.lessonsCount===1?"singular":"plural"}`}static{this.\u0275fac=function(t){return new(t||n)(h(A),h(y),h(z))}}static{this.\u0275cmp=P({type:n,selectors:[["bkd-open-absences-list"]],decls:22,vars:29,consts:[["checkbox",""],[1,"d-flex","header-search",3,"valueChange","value","placeholder","label"],[1,"d-flex","align-items-center","justify-content-between","mt-1"],[1,"mt-3"],[1,"content"],[1,"selection-count","ps-1"],["routerLink","/open-absences/confirm",1,"edit","btn","btn-primary","btn-edit","mt-1","mb-2"],[1,"material-icons"],[1,"absence-header"],[1,"checkbox"],["type","checkbox",1,"form-check-input",3,"change","checked"],[3,"className"],[3,"click","className"],[1,"sort-direction"],[1,"absence-entry"],[1,"checkbox",3,"click"],[1,"name","pe-2"],[3,"routerLink"],[1,"study-class"],[1,"lessons-count"],[1,"study-class-lessons-count"],[1,"days-ago"],[1,"date"]],template:function(t,i){if(t&1){let o=D();F(0),a(1,"async"),F(2),a(3,"async"),F(4),a(5,"async"),F(6),a(7,"async"),c(8,"h1"),u(9),a(10,"translate"),r(),c(11,"div")(12,"div")(13,"bkd-resettable-input",1),a(14,"async"),a(15,"translate"),a(16,"translate"),M("valueChange",function(p){return O(o),$(i.openAbsencesService.search$.next(p))}),r(),w(17,We,7,8,"div",2),r(),w(18,Ye,1,0,"bkd-spinner"),a(19,"async"),w(20,Ge,3,3,"p",3)(21,Ze,8,1,"div",4),r()}if(t&2){let o,d,p;U((o=l(1,6,i.selectionService.selection$))!==null&&o!==void 0?o:j(27,Ne)),s(2);let L=U((d=l(3,9,i.openAbsencesService.filteredEntries$))!==null&&d!==void 0?d:j(28,Ne));s(2),U(l(5,12,i.openAbsencesService.sortCriteria$));let m=((p=(p=l(7,15,i.openAbsencesService.sortedEntries$))==null?null:p.length)!==null&&p!==void 0?p:0)===0||L.length===0;s(5),v(l(10,17,"open-absences.title")),s(4),C("value",l(14,19,i.openAbsencesService.search$))("placeholder",l(15,21,"open-absences.search-by-name-or-class"))("label",l(16,23,"open-absences.search")),s(4),R(m?-1:17),s(),R(l(19,25,i.openAbsencesService.loading$)?18:m?20:21)}},dependencies:[we,be,Me,q,le,fe,Pe],styles:['.header-search[_ngcontent-%COMP%]{max-width:500px}.absence-header[_ngcontent-%COMP%]{cursor:pointer;padding:1rem;display:grid;grid-template-areas:"checkbox name date";grid-template-columns:min-content 5fr 1fr;border-top:1px solid #dee2e6;border-bottom:2px solid #dee2e6;align-items:center}.absence-entry[_ngcontent-%COMP%]{padding:1rem;border-bottom:1px solid #dee2e6;display:grid;grid-template-areas:"checkbox name study-class lessons-count days-ago date";grid-template-columns:min-content 2fr 1fr 1fr 1fr 1fr;align-items:center}.checkbox[_ngcontent-%COMP%]{align-self:start;grid-area:checkbox;margin:0;padding:.3rem 1rem 0 0}.checkbox[_ngcontent-%COMP%] input.form-check-input[_ngcontent-%COMP%]{position:static!important;margin:0!important;display:block}.name[_ngcontent-%COMP%]{grid-area:name;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.lessons-count[_ngcontent-%COMP%]{grid-area:lessons-count}.study-class[_ngcontent-%COMP%]{grid-area:study-class}.study-class-lessons-count[_ngcontent-%COMP%]{grid-area:study-class-lessons-count;display:none}.days-ago[_ngcontent-%COMP%]{color:#6c757d;grid-area:days-ago}.date[_ngcontent-%COMP%]{grid-area:date}@media (max-width: 750px){.content[_ngcontent-%COMP%]{padding-left:0;padding-right:0}.absence-header[_ngcontent-%COMP%]{grid-template-areas:"checkbox name date";grid-template-columns:min-content 3fr 2fr}.absence-entry[_ngcontent-%COMP%]{grid-template-areas:"checkbox name date" "checkbox study-class-lessons-count days-ago";grid-template-columns:min-content 3fr 2fr}.study-class-lessons-count[_ngcontent-%COMP%]{display:block}.study-class[_ngcontent-%COMP%], .lessons-count[_ngcontent-%COMP%]{display:none}.days-ago[_ngcontent-%COMP%], .study-class-lessons-count[_ngcontent-%COMP%]{font-size:.875rem;color:#adb5bd}}'],changeDetection:0})}}return n})();var Re=(()=>{class n{constructor(){}static{this.\u0275fac=function(t){return new(t||n)}}static{this.\u0275cmp=P({type:n,selectors:[["bkd-open-absences"]],features:[ae([A,y,{provide:ve,useExisting:A}])],decls:1,vars:0,template:function(t,i){t&1&&x(0,"router-outlet")},dependencies:[me],encapsulation:2,changeDetection:0})}}return n})();var Bt=[{path:"",component:Re,children:[{path:"",component:Ve,data:{restoreScrollPositionFrom:["/open-absences/detail/:personId/:date","/open-absences/confirm"]}},{path:"detail/:personId/:date",component:Be,data:{restoreScrollPositionFrom:["/open-absences/confirm"]}},{path:"confirm",component:Oe}]}];export{Bt as OPEN_ABSENCES_ROUTES}; diff --git a/public/apps/webapp-schulverwaltung/chunk-SRCW6BUG.js b/public/apps/webapp-schulverwaltung/chunk-SRCW6BUG.js deleted file mode 100644 index 4a982644..00000000 --- a/public/apps/webapp-schulverwaltung/chunk-SRCW6BUG.js +++ /dev/null @@ -1,2 +0,0 @@ -import{d as ue,e as dt,i as C,j as l,k as lt}from"./chunk-GOGVGWFJ.js";import{a as ft}from"./chunk-OSOXMODN.js";import{a as mt,b as pt}from"./chunk-PSYDBHTH.js";import{B as Ce,w as ct,y as ut}from"./chunk-W4U7QKJF.js";import{$a as p,Ab as Ze,Bb as et,Cb as tt,F as G,Ga as re,H as te,Hc as it,Ic as Te,Ja as Be,Jb as f,Jc as L,Jd as se,K as $e,Kb as h,Lb as K,M as T,Na as _,Nc as ot,O as W,Od as st,P as xe,Pd as ce,Q as Re,Qa as B,Ra as je,Uc as at,Va as P,X as D,Ya as qe,Za as He,_ as S,_a as m,a as Ie,ab as we,b as Oe,cc as nt,cd as F,da as Ne,dc as rt,ea as Q,eb as ie,f as Me,fa as U,g as Le,gb as X,h as V,hb as b,ib as Ve,jb as Ge,kb as Qe,l as Fe,lb as Ue,lc as oe,n as c,nb as Xe,o as Ae,ob as Je,pb as Ke,qb as ze,r as Ee,rb as y,sb as J,tb as I,ub as ve,wa as Ye,x as We,xa as u,ya as ne,zc as ae}from"./chunk-2W7IS4PN.js";var ht=function(e){return function(n){return!e(n)}};function Xt(e){return!e}function Jt(e){return!!(e&&e.IsComment)}function Kt(e){return!!(e&&e.IsIncident)}function de(e){return!!(e&&(e.IsAbsence||e.IsDispensation||e.IsHalfDay))}function Se(e,n){return!!(e&&n&&e.Id===n.absencePresenceTypeId)}function _e(e,n){return!!(e&&n&&n===e.checkableAbsenceStateId)}function gt(e,n,t){return!!(Xt(n)&&e.ConfirmationStateId===null||Jt(n)||Kt(n)||de(n)&&e.ConfirmationStateId===t.unconfirmedAbsenceStateId||_e(t,e.ConfirmationStateId))}function lr(e,n){return e?.IsAbsence?n.unconfirmedAbsenceStateId:null}var v=function(e){return e.Present="present",e.Unapproved="unapproved",e.Absent="absent",e}(v||{});function zt(e){switch(e){case v.Absent:return"cancel";case v.Unapproved:return"help";default:return"check_circle"}}var le=class{constructor(n,t,r,i){this.lessonPresence=n,this.presenceType=t,this.precedingAbsences=r,this.confirmationState=i,this.studentFullName=n.StudentFullName}get id(){return`${this.lessonPresence.LessonRef.Id}-${this.lessonPresence.StudentRef.Id}`}get presenceCategory(){return _e(this.settings,this.confirmationState&&Number(this.confirmationState.Key))?v.Unapproved:de(this.presenceType)?v.Absent:v.Present}get nextPresenceCategory(){return this.presenceCategory===v.Absent?v.Present:v.Absent}getNextPresenceType(n){switch(this.nextPresenceCategory){case v.Absent:return this.presenceCategory===v.Unapproved?this.presenceType:n.find(t=>Se(t,this.settings))||null;default:return null}}get canChangePresenceType(){return gt(this.lessonPresence,this.presenceType,this.settings)}get canChangeIncident(){return!de(this.presenceType)}get showDesignation(){return!this.canChangePresenceType||this.presenceCategory===v.Absent&&!Se(this.presenceType,this.settings)||this.presenceCategory===v.Unapproved}get presenceCategoryIcon(){return zt(this.presenceCategory)}get settings(){return window.schulverwaltung.settings}};function yt(e,n,t){let r=l(e,t?.in);return isNaN(n)?C(t?.in||e,NaN):(n&&r.setDate(r.getDate()+n),r)}var Zt={};function A(){return Zt}function O(e,n){let t=A(),r=n?.weekStartsOn??n?.locale?.options?.weekStartsOn??t.weekStartsOn??t.locale?.options?.weekStartsOn??0,i=l(e,n?.in),o=i.getDay(),a=(o=o.getTime()?r+1:t.getTime()>=d.getTime()?r:r-1}function Pe(e){let n=l(e),t=new Date(Date.UTC(n.getFullYear(),n.getMonth(),n.getDate(),n.getHours(),n.getMinutes(),n.getSeconds(),n.getMilliseconds()));return t.setUTCFullYear(n.getFullYear()),+e-+t}function z(e,n){let t=l(e,n?.in);return t.setHours(0,0,0,0),t}function fe(e,n,t){let[r,i]=lt(t?.in,e,n),o=z(r),a=z(i),d=+o-Pe(o),x=+a-Pe(a);return Math.round((d-x)/dt)}function bt(e,n){let t=me(e,n),r=C(n?.in||e,0);return r.setFullYear(t,0,4),r.setHours(0,0,0,0),$(r)}function xt(e){return e instanceof Date||typeof e=="object"&&Object.prototype.toString.call(e)==="[object Date]"}function wt(e){return!(!xt(e)&&typeof e!="number"||isNaN(+l(e)))}function vt(e,n){let t=l(e,n?.in);return t.setFullYear(t.getFullYear(),0,1),t.setHours(0,0,0,0),t}var en={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}},Tt=(e,n,t)=>{let r,i=en[e];return typeof i=="string"?r=i:n===1?r=i.one:r=i.other.replace("{{count}}",n.toString()),t?.addSuffix?t.comparison&&t.comparison>0?"in "+r:r+" ago":r};function pe(e){return(n={})=>{let t=n.width?String(n.width):e.defaultWidth;return e.formats[t]||e.formats[e.defaultWidth]}}var tn={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},nn={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},rn={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},Ct={date:pe({formats:tn,defaultWidth:"full"}),time:pe({formats:nn,defaultWidth:"full"}),dateTime:pe({formats:rn,defaultWidth:"full"})};var on={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},St=(e,n,t,r)=>on[e];function j(e){return(n,t)=>{let r=t?.context?String(t.context):"standalone",i;if(r==="formatting"&&e.formattingValues){let a=e.defaultFormattingWidth||e.defaultWidth,d=t?.width?String(t.width):a;i=e.formattingValues[d]||e.formattingValues[a]}else{let a=e.defaultWidth,d=t?.width?String(t.width):e.defaultWidth;i=e.values[d]||e.values[a]}let o=e.argumentCallback?e.argumentCallback(n):n;return i[o]}}var an={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},sn={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},cn={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},un={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},dn={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},ln={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},mn=(e,n)=>{let t=Number(e),r=t%100;if(r>20||r<10)switch(r%10){case 1:return t+"st";case 2:return t+"nd";case 3:return t+"rd"}return t+"th"},_t={ordinalNumber:mn,era:j({values:an,defaultWidth:"wide"}),quarter:j({values:sn,defaultWidth:"wide",argumentCallback:e=>e-1}),month:j({values:cn,defaultWidth:"wide"}),day:j({values:un,defaultWidth:"wide"}),dayPeriod:j({values:dn,defaultWidth:"wide",formattingValues:ln,defaultFormattingWidth:"wide"})};function q(e){return(n,t={})=>{let r=t.width,i=r&&e.matchPatterns[r]||e.matchPatterns[e.defaultMatchWidth],o=n.match(i);if(!o)return null;let a=o[0],d=r&&e.parsePatterns[r]||e.parsePatterns[e.defaultParseWidth],x=Array.isArray(d)?pn(d,g=>g.test(a)):fn(d,g=>g.test(a)),k;k=e.valueCallback?e.valueCallback(x):x,k=t.valueCallback?t.valueCallback(k):k;let w=n.slice(a.length);return{value:k,rest:w}}}function fn(e,n){for(let t in e)if(Object.prototype.hasOwnProperty.call(e,t)&&n(e[t]))return t}function pn(e,n){for(let t=0;t{let r=n.match(e.matchPattern);if(!r)return null;let i=r[0],o=n.match(e.parsePattern);if(!o)return null;let a=e.valueCallback?e.valueCallback(o[0]):o[0];a=t.valueCallback?t.valueCallback(a):a;let d=n.slice(i.length);return{value:a,rest:d}}}var hn=/^(\d+)(th|st|nd|rd)?/i,gn=/\d+/i,yn={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},bn={any:[/^b/i,/^(a|c)/i]},xn={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},wn={any:[/1/i,/2/i,/3/i,/4/i]},vn={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},Tn={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},Cn={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},Sn={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},_n={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},Pn={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},Dt={ordinalNumber:Pt({matchPattern:hn,parsePattern:gn,valueCallback:e=>parseInt(e,10)}),era:q({matchPatterns:yn,defaultMatchWidth:"wide",parsePatterns:bn,defaultParseWidth:"any"}),quarter:q({matchPatterns:xn,defaultMatchWidth:"wide",parsePatterns:wn,defaultParseWidth:"any",valueCallback:e=>e+1}),month:q({matchPatterns:vn,defaultMatchWidth:"wide",parsePatterns:Tn,defaultParseWidth:"any"}),day:q({matchPatterns:Cn,defaultMatchWidth:"wide",parsePatterns:Sn,defaultParseWidth:"any"}),dayPeriod:q({matchPatterns:_n,defaultMatchWidth:"any",parsePatterns:Pn,defaultParseWidth:"any"})};var De={code:"en-US",formatDistance:Tt,formatLong:Ct,formatRelative:St,localize:_t,match:Dt,options:{weekStartsOn:0,firstWeekContainsDate:1}};function kt(e,n){let t=l(e,n?.in);return fe(t,vt(t))+1}function It(e,n){let t=l(e,n?.in),r=+$(t)-+bt(t);return Math.round(r/ue)+1}function he(e,n){let t=l(e,n?.in),r=t.getFullYear(),i=A(),o=n?.firstWeekContainsDate??n?.locale?.options?.firstWeekContainsDate??i.firstWeekContainsDate??i.locale?.options?.firstWeekContainsDate??1,a=C(n?.in||e,0);a.setFullYear(r+1,0,o),a.setHours(0,0,0,0);let d=O(a,n),x=C(n?.in||e,0);x.setFullYear(r,0,o),x.setHours(0,0,0,0);let k=O(x,n);return+t>=+d?r+1:+t>=+k?r:r-1}function Ot(e,n){let t=A(),r=n?.firstWeekContainsDate??n?.locale?.options?.firstWeekContainsDate??t.firstWeekContainsDate??t.locale?.options?.firstWeekContainsDate??1,i=he(e,n),o=C(n?.in||e,0);return o.setFullYear(i,0,r),o.setHours(0,0,0,0),O(o,n)}function Mt(e,n){let t=l(e,n?.in),r=+O(t,n)-+Ot(t,n);return Math.round(r/ue)+1}function s(e,n){let t=e<0?"-":"",r=Math.abs(e).toString().padStart(n,"0");return t+r}var M={y(e,n){let t=e.getFullYear(),r=t>0?t:1-t;return s(n==="yy"?r%100:r,n.length)},M(e,n){let t=e.getMonth();return n==="M"?String(t+1):s(t+1,2)},d(e,n){return s(e.getDate(),n.length)},a(e,n){let t=e.getHours()/12>=1?"pm":"am";switch(n){case"a":case"aa":return t.toUpperCase();case"aaa":return t;case"aaaaa":return t[0];case"aaaa":default:return t==="am"?"a.m.":"p.m."}},h(e,n){return s(e.getHours()%12||12,n.length)},H(e,n){return s(e.getHours(),n.length)},m(e,n){return s(e.getMinutes(),n.length)},s(e,n){return s(e.getSeconds(),n.length)},S(e,n){let t=n.length,r=e.getMilliseconds(),i=Math.trunc(r*Math.pow(10,t-3));return s(i,n.length)}};var H={am:"am",pm:"pm",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},ke={G:function(e,n,t){let r=e.getFullYear()>0?1:0;switch(n){case"G":case"GG":case"GGG":return t.era(r,{width:"abbreviated"});case"GGGGG":return t.era(r,{width:"narrow"});case"GGGG":default:return t.era(r,{width:"wide"})}},y:function(e,n,t){if(n==="yo"){let r=e.getFullYear(),i=r>0?r:1-r;return t.ordinalNumber(i,{unit:"year"})}return M.y(e,n)},Y:function(e,n,t,r){let i=he(e,r),o=i>0?i:1-i;if(n==="YY"){let a=o%100;return s(a,2)}return n==="Yo"?t.ordinalNumber(o,{unit:"year"}):s(o,n.length)},R:function(e,n){let t=me(e);return s(t,n.length)},u:function(e,n){let t=e.getFullYear();return s(t,n.length)},Q:function(e,n,t){let r=Math.ceil((e.getMonth()+1)/3);switch(n){case"Q":return String(r);case"QQ":return s(r,2);case"Qo":return t.ordinalNumber(r,{unit:"quarter"});case"QQQ":return t.quarter(r,{width:"abbreviated",context:"formatting"});case"QQQQQ":return t.quarter(r,{width:"narrow",context:"formatting"});case"QQQQ":default:return t.quarter(r,{width:"wide",context:"formatting"})}},q:function(e,n,t){let r=Math.ceil((e.getMonth()+1)/3);switch(n){case"q":return String(r);case"qq":return s(r,2);case"qo":return t.ordinalNumber(r,{unit:"quarter"});case"qqq":return t.quarter(r,{width:"abbreviated",context:"standalone"});case"qqqqq":return t.quarter(r,{width:"narrow",context:"standalone"});case"qqqq":default:return t.quarter(r,{width:"wide",context:"standalone"})}},M:function(e,n,t){let r=e.getMonth();switch(n){case"M":case"MM":return M.M(e,n);case"Mo":return t.ordinalNumber(r+1,{unit:"month"});case"MMM":return t.month(r,{width:"abbreviated",context:"formatting"});case"MMMMM":return t.month(r,{width:"narrow",context:"formatting"});case"MMMM":default:return t.month(r,{width:"wide",context:"formatting"})}},L:function(e,n,t){let r=e.getMonth();switch(n){case"L":return String(r+1);case"LL":return s(r+1,2);case"Lo":return t.ordinalNumber(r+1,{unit:"month"});case"LLL":return t.month(r,{width:"abbreviated",context:"standalone"});case"LLLLL":return t.month(r,{width:"narrow",context:"standalone"});case"LLLL":default:return t.month(r,{width:"wide",context:"standalone"})}},w:function(e,n,t,r){let i=Mt(e,r);return n==="wo"?t.ordinalNumber(i,{unit:"week"}):s(i,n.length)},I:function(e,n,t){let r=It(e);return n==="Io"?t.ordinalNumber(r,{unit:"week"}):s(r,n.length)},d:function(e,n,t){return n==="do"?t.ordinalNumber(e.getDate(),{unit:"date"}):M.d(e,n)},D:function(e,n,t){let r=kt(e);return n==="Do"?t.ordinalNumber(r,{unit:"dayOfYear"}):s(r,n.length)},E:function(e,n,t){let r=e.getDay();switch(n){case"E":case"EE":case"EEE":return t.day(r,{width:"abbreviated",context:"formatting"});case"EEEEE":return t.day(r,{width:"narrow",context:"formatting"});case"EEEEEE":return t.day(r,{width:"short",context:"formatting"});case"EEEE":default:return t.day(r,{width:"wide",context:"formatting"})}},e:function(e,n,t,r){let i=e.getDay(),o=(i-r.weekStartsOn+8)%7||7;switch(n){case"e":return String(o);case"ee":return s(o,2);case"eo":return t.ordinalNumber(o,{unit:"day"});case"eee":return t.day(i,{width:"abbreviated",context:"formatting"});case"eeeee":return t.day(i,{width:"narrow",context:"formatting"});case"eeeeee":return t.day(i,{width:"short",context:"formatting"});case"eeee":default:return t.day(i,{width:"wide",context:"formatting"})}},c:function(e,n,t,r){let i=e.getDay(),o=(i-r.weekStartsOn+8)%7||7;switch(n){case"c":return String(o);case"cc":return s(o,n.length);case"co":return t.ordinalNumber(o,{unit:"day"});case"ccc":return t.day(i,{width:"abbreviated",context:"standalone"});case"ccccc":return t.day(i,{width:"narrow",context:"standalone"});case"cccccc":return t.day(i,{width:"short",context:"standalone"});case"cccc":default:return t.day(i,{width:"wide",context:"standalone"})}},i:function(e,n,t){let r=e.getDay(),i=r===0?7:r;switch(n){case"i":return String(i);case"ii":return s(i,n.length);case"io":return t.ordinalNumber(i,{unit:"day"});case"iii":return t.day(r,{width:"abbreviated",context:"formatting"});case"iiiii":return t.day(r,{width:"narrow",context:"formatting"});case"iiiiii":return t.day(r,{width:"short",context:"formatting"});case"iiii":default:return t.day(r,{width:"wide",context:"formatting"})}},a:function(e,n,t){let i=e.getHours()/12>=1?"pm":"am";switch(n){case"a":case"aa":return t.dayPeriod(i,{width:"abbreviated",context:"formatting"});case"aaa":return t.dayPeriod(i,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return t.dayPeriod(i,{width:"narrow",context:"formatting"});case"aaaa":default:return t.dayPeriod(i,{width:"wide",context:"formatting"})}},b:function(e,n,t){let r=e.getHours(),i;switch(r===12?i=H.noon:r===0?i=H.midnight:i=r/12>=1?"pm":"am",n){case"b":case"bb":return t.dayPeriod(i,{width:"abbreviated",context:"formatting"});case"bbb":return t.dayPeriod(i,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return t.dayPeriod(i,{width:"narrow",context:"formatting"});case"bbbb":default:return t.dayPeriod(i,{width:"wide",context:"formatting"})}},B:function(e,n,t){let r=e.getHours(),i;switch(r>=17?i=H.evening:r>=12?i=H.afternoon:r>=4?i=H.morning:i=H.night,n){case"B":case"BB":case"BBB":return t.dayPeriod(i,{width:"abbreviated",context:"formatting"});case"BBBBB":return t.dayPeriod(i,{width:"narrow",context:"formatting"});case"BBBB":default:return t.dayPeriod(i,{width:"wide",context:"formatting"})}},h:function(e,n,t){if(n==="ho"){let r=e.getHours()%12;return r===0&&(r=12),t.ordinalNumber(r,{unit:"hour"})}return M.h(e,n)},H:function(e,n,t){return n==="Ho"?t.ordinalNumber(e.getHours(),{unit:"hour"}):M.H(e,n)},K:function(e,n,t){let r=e.getHours()%12;return n==="Ko"?t.ordinalNumber(r,{unit:"hour"}):s(r,n.length)},k:function(e,n,t){let r=e.getHours();return r===0&&(r=24),n==="ko"?t.ordinalNumber(r,{unit:"hour"}):s(r,n.length)},m:function(e,n,t){return n==="mo"?t.ordinalNumber(e.getMinutes(),{unit:"minute"}):M.m(e,n)},s:function(e,n,t){return n==="so"?t.ordinalNumber(e.getSeconds(),{unit:"second"}):M.s(e,n)},S:function(e,n){return M.S(e,n)},X:function(e,n,t){let r=e.getTimezoneOffset();if(r===0)return"Z";switch(n){case"X":return Ft(r);case"XXXX":case"XX":return R(r);case"XXXXX":case"XXX":default:return R(r,":")}},x:function(e,n,t){let r=e.getTimezoneOffset();switch(n){case"x":return Ft(r);case"xxxx":case"xx":return R(r);case"xxxxx":case"xxx":default:return R(r,":")}},O:function(e,n,t){let r=e.getTimezoneOffset();switch(n){case"O":case"OO":case"OOO":return"GMT"+Lt(r,":");case"OOOO":default:return"GMT"+R(r,":")}},z:function(e,n,t){let r=e.getTimezoneOffset();switch(n){case"z":case"zz":case"zzz":return"GMT"+Lt(r,":");case"zzzz":default:return"GMT"+R(r,":")}},t:function(e,n,t){let r=Math.trunc(+e/1e3);return s(r,n.length)},T:function(e,n,t){return s(+e,n.length)}};function Lt(e,n=""){let t=e>0?"-":"+",r=Math.abs(e),i=Math.trunc(r/60),o=r%60;return o===0?t+String(i):t+String(i)+n+s(o,2)}function Ft(e,n){return e%60===0?(e>0?"-":"+")+s(Math.abs(e)/60,2):R(e,n)}function R(e,n=""){let t=e>0?"-":"+",r=Math.abs(e),i=s(Math.trunc(r/60),2),o=s(r%60,2);return t+i+n+o}var At=(e,n)=>{switch(e){case"P":return n.date({width:"short"});case"PP":return n.date({width:"medium"});case"PPP":return n.date({width:"long"});case"PPPP":default:return n.date({width:"full"})}},Et=(e,n)=>{switch(e){case"p":return n.time({width:"short"});case"pp":return n.time({width:"medium"});case"ppp":return n.time({width:"long"});case"pppp":default:return n.time({width:"full"})}},Dn=(e,n)=>{let t=e.match(/(P+)(p+)?/)||[],r=t[1],i=t[2];if(!i)return At(e,n);let o;switch(r){case"P":o=n.dateTime({width:"short"});break;case"PP":o=n.dateTime({width:"medium"});break;case"PPP":o=n.dateTime({width:"long"});break;case"PPPP":default:o=n.dateTime({width:"full"});break}return o.replace("{{date}}",At(r,n)).replace("{{time}}",Et(i,n))},Wt={p:Et,P:Dn};var kn=/^D+$/,In=/^Y+$/,On=["D","DD","YY","YYYY"];function $t(e){return kn.test(e)}function Rt(e){return In.test(e)}function Nt(e,n,t){let r=Mn(e,n,t);if(console.warn(r),On.includes(e))throw new RangeError(r)}function Mn(e,n,t){let r=e[0]==="Y"?"years":"days of the month";return`Use \`${e.toLowerCase()}\` instead of \`${e}\` (in \`${n}\`) for formatting ${r} to the input \`${t}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}var Ln=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,Fn=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,An=/^'([^]*?)'?$/,En=/''/g,Wn=/[a-zA-Z]/;function E(e,n,t){let r=A(),i=t?.locale??r.locale??De,o=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??r.firstWeekContainsDate??r.locale?.options?.firstWeekContainsDate??1,a=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??r.weekStartsOn??r.locale?.options?.weekStartsOn??0,d=l(e,t?.in);if(!wt(d))throw new RangeError("Invalid time value");let x=n.match(Fn).map(w=>{let g=w[0];if(g==="p"||g==="P"){let be=Wt[g];return be(w,i.formatLong)}return w}).join("").match(Ln).map(w=>{if(w==="''")return{isToken:!1,value:"'"};let g=w[0];if(g==="'")return{isToken:!1,value:$n(w)};if(ke[g])return{isToken:!0,value:w};if(g.match(Wn))throw new RangeError("Format string contains an unescaped latin alphabet character `"+g+"`");return{isToken:!1,value:w}});i.localize.preprocessor&&(x=i.localize.preprocessor(d,x));let k={firstWeekContainsDate:o,weekStartsOn:a,locale:i};return x.map(w=>{if(!w.isToken)return w.value;let g=w.value;(!t?.useAdditionalWeekYearTokens&&Rt(g)||!t?.useAdditionalDayOfYearTokens&&$t(g))&&Nt(g,n,String(e));let be=ke[g[0]];return be(d,g,i.localize,k)}).join("")}function $n(e){let n=e.match(An);return n?n[1].replace(En,"'"):e}function so(e,n,t){return yt(e,-n,t)}var N=class{constructor(n){if(this.absences=n,n.length===0)throw new Error("Absences array is empty");this.date=z(this.absences[0].LessonDateTimeFrom),this.dateString=E(this.date,"yyyy-MM-dd"),this.studentId=this.absences[0].StudentRef.Id,this.studentFullName=this.absences[0].StudentFullName,this.studyClassNumber=this.absences[0].StudyClassNumber,this.lessonsCount=this.absences.length}get id(){return`${this.dateString}-${this.studentId}`}};function po(e,n){return e===null&&n===null||e!==null&&n!==null&&e.LessonRef.Id===n.LessonRef.Id&&e.EventDesignation===n.EventDesignation&&e.StudyClassNumber===n.StudyClassNumber&&e.TeacherInformation===n.TeacherInformation&&e.LessonDateTimeFrom.getTime()===n.LessonDateTimeFrom.getTime()&&e.LessonDateTimeTo.getTime()===n.LessonDateTimeTo.getTime()}function Rn(e,n){return e?n.filter(t=>e.lessons.map(r=>r.LessonRef.Id).indexOf(t.LessonRef.Id)>=0).sort(Bn):[]}function Nn(e,n,t){return se(e.filter(r=>r.StudentRef.Id===n.StudentRef.Id&&r.LessonRef.From&&r.LessonRef.From.toDateString()===t?.LessonDateTimeFrom.toDateString()&&r.LessonRef.FromYn(e,o,t,r,i))}function Yn(e,n,t,r,i){let o=null;n.TypeRef.Id&&(o=t.find(x=>x.Id===n.TypeRef.Id)||null);let a=Nn(i,n,e),d;return n.ConfirmationStateId&&(d=r.find(x=>x.Key===n.ConfirmationStateId)),new le(n,o,a,d)}function Yt(e,n){let t=e.LessonDateTimeFrom.getTime(),r=n.LessonDateTimeFrom.getTime();return t-r===0?e.LessonDateTimeTo.getTime()-n.LessonDateTimeTo.getTime():t-r}function Bn(e,n){return e.StudentFullName.localeCompare(n.StudentFullName)}function jn(e,n){return e.LessonRef.From&&e.LessonRef.To&&n.LessonRef.From&&n.LessonRef.To?e.LessonRef.From.getTime()-n.LessonRef.From.getTime()===0?e.LessonRef.To.getTime()-n.LessonRef.To.getTime():e.LessonRef.From.getTime()-n.LessonRef.From.getTime():0}var ge=class extends Error{constructor(n,t){super(`TypeScript thought we could never end up here -${t}`)}};function Co(e){let n=Hn(e);return Object.keys(n).reduce((t,r)=>(Object.keys(n[r]).forEach(i=>{t=[...t,new N(n[r][i].sort(Yt))]}),t),[])}function So(e,n){return[...e].sort(qn(n))}function ye(e){return e.reduce((n,t)=>n.concat(t.absences),[])}function _o(e,n){return e.filter(t=>!n.some(({lessonIds:r,personId:i})=>r.includes(t.LessonRef.Id)&&i===t.StudentRef.Id))}function Po(e,n){return se([...e,...n],"Id")}function qn(e){return(n,t)=>{switch(e.primarySortKey){case"date":{let r=n.date.getTime(),i=t.date.getTime();return r===i?n.studentFullName.localeCompare(t.studentFullName):e.ascending?r-i:i-r}case"name":{let r=e.ascending?n.studentFullName.localeCompare(t.studentFullName):t.studentFullName.localeCompare(n.studentFullName);return r===0?t.date.getTime()-n.date.getTime():r}default:throw new ge(e.primarySortKey,"Unhandled sort criteria")}}}function Hn(e){return e.reduce((n,t)=>{let r=E(t.LessonDateTimeFrom,"yyyy-MM-dd"),i=t.StudentRef.Id;return n[r]||(n[r]={}),n[r][i]||(n[r][i]=[]),n[r][i].push(t),n},{})}var Z=function(e){return e.ToggleSelection="TOGGLE",e.ClearSelection="CLEAR",e}(Z||{}),Bt=(()=>{class e{constructor(){this.action$=new Me,this.selection$=Ee(this.action$.pipe($e(this.reduceSelection.bind(this),[]),W([])),{connector:()=>new V(1)}),this.selectionSub=this.selection$.connect()}ngOnDestroy(){this.selectionSub.unsubscribe()}toggle(t){this.action$.next({type:Z.ToggleSelection,payload:t})}clear(t=null){this.action$.next({type:Z.ClearSelection,payload:t})}isSelected$(t){return this.selection$.pipe(c(r=>r.includes(t)),te())}reduceSelection(t,r){switch(r.type){case Z.ToggleSelection:return t.includes(r.payload)?t.filter(i=>i!==r.payload):[...t,r.payload];case Z.ClearSelection:return r.payload||[];default:return t}}static{this.\u0275fac=function(r){return new(r||e)}}static{this.\u0275prov=D({token:e,factory:e.\u0275fac})}}return e})();function Lo(e){let n=e.reduce((t,r)=>(t[r.StudentRef.Id]||(t[r.StudentRef.Id]=[]),t[r.StudentRef.Id].push(r.LessonRef.Id),t),{});return Object.keys(n).map(t=>({personIds:[Number(t)],lessonIds:n[t]}))}function jt(e){let n={};return e.forEach(t=>{n[t.StudentRef.Id]||(n[t.StudentRef.Id]={}),n[t.StudentRef.Id][String(t.TypeRef.Id)]||(n[t.StudentRef.Id][String(t.TypeRef.Id)]=[]),n[t.StudentRef.Id][String(t.TypeRef.Id)].push(t.LessonRef.Id)}),Object.keys(n).reduce((t,r)=>[...t,...Object.keys(n[r]).map(i=>({personId:Number(r),presenceTypeId:i==="null"?null:Number(i),lessonIds:n[r][String(i)]}))],[])}function Fo(e){return e.slice().sort((n,t)=>n.LessonDateTimeFrom.getTime()-t.LessonDateTimeFrom.getTime())}function Ao(e){return`${e.EventDesignation}, ${E(e.LessonDateTimeFrom,"dd.MM.yyyy")}, ${E(e.LessonDateTimeFrom,"HH:mm")}-${E(e.LessonDateTimeTo,"HH:mm")}`}var Ho=(()=>{class e extends Bt{constructor(t){super(),this.settings=t,this.selectedIds$=this.selection$.pipe(c(ee),c(({openAbsencesEntries:r,lessonPresences:i})=>jt([...ye(r),...i])),T(1)),this.selectedLessons$=this.selection$.pipe(c(ee),c(({openAbsencesEntries:r,lessonPresences:i})=>[...ye(r),...i]),T(1)),this.selectedWithoutPresenceType$=this.selection$.pipe(c(ee),c(({openAbsencesEntries:r,lessonPresences:i})=>[...ye(r),...i].filter(o=>o.TypeRef.Id===this.settings.absencePresenceTypeId)))}clearNonOpenAbsencesEntries(){this.selection$.pipe(G(1),c(ee)).subscribe(({openAbsencesEntries:t})=>this.clear(t))}clearNonLessonPresences(){this.selection$.pipe(G(1),c(ee)).subscribe(({lessonPresences:t})=>this.clear(t))}static{this.\u0275fac=function(r){return new(r||e)(S(F))}}static{this.\u0275prov=D({token:e,factory:e.\u0275fac})}}return e})();function ee(e){return{openAbsencesEntries:e.filter(Ce(N)),lessonPresences:e.filter(ht(Ce(N)))}}function qt(e){return e.slice().sort((n,t)=>n.Sort-t.Sort)}function Go(e){return e.map(n=>({Key:n.Id,Value:n.Designation||""}))}function Qo(e,n){return e.map(t=>Object.assign(t,{Group:n}))}var Ht=ot({Id:Te,Active:L,Designation:at(it),IsAbsence:L,IsComment:L,IsDispensation:L,IsIncident:L,IsHalfDay:L,NeedsConfirmation:L,Sort:Te});var Vt=(()=>{class e extends mt{constructor(t,r){super(t,r,Ht,"PresenceTypes")}static{this.\u0275fac=function(r){return new(r||e)(S(oe),S(F))}}static{this.\u0275prov=D({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})();var Gt=(()=>{class e{constructor(t,r){this.restService=t,this.settings=r,this.presenceTypes$=this.loadPresenceTypes().pipe(T(1)),this.activePresenceTypes$=this.presenceTypes$.pipe(c(this.filterActiveTypes.bind(this)),T(1)),this.confirmationTypes$=this.presenceTypes$.pipe(c(this.filterConfirmationTypes.bind(this)),T(1)),this.incidentTypes$=this.presenceTypes$.pipe(c(this.filterIncidentTypes.bind(this)),T(1)),this.displayedTypes$=this.presenceTypes$.pipe(c(this.filterDisplayedTypes.bind(this)),T(1)),this.halfDayActive$=this.presenceTypes$.pipe(c(this.isHalfDayActive.bind(this)),W(!1),te(),T(1))}getPresenceType(t){return this.presenceTypes$.pipe(c(r=>{let i=r.find(o=>o.Id===t);if(!i)throw new Error("presence type not found");return i}))}loadPresenceTypes(){return this.restService.getList().pipe(c(qt))}filterActiveTypes(t){return t.filter(r=>r.Active)}filterConfirmationTypes(t){return t.filter(r=>r.NeedsConfirmation&&r.Active&&r.Id!==this.settings.absencePresenceTypeId)}filterIncidentTypes(t){return t.filter(r=>r.IsIncident&&r.Active)}filterDisplayedTypes(t){return t.filter(r=>r.Id!==this.settings.absencePresenceTypeId)}isHalfDayActive(t){return!!t.find(r=>r.Id===this.settings.halfDayPresenceTypeId)?.Active}static{this.\u0275fac=function(r){return new(r||e)(S(Vt),S(F))}}static{this.\u0275prov=D({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})();var aa=(()=>{class e{constructor(t,r){this.http=t,this.settings=r}editLessonPresences(t,r,i,o,a){let d={LessonIds:t,PersonIds:r};return i!==void 0&&(d.PresenceTypeId=i),o!==void 0&&(d.ConfirmationValue=o),this.http.put(`${this.settings.apiUrl}/LessonPresences/Edit`,d,a).pipe(c(()=>{}))}removeLessonPresences(t,r,i){return this.http.put(`${this.settings.apiUrl}/LessonPresences/Reset`,{LessonIds:t,PersonIds:r,WithComment:!0},i).pipe(c(()=>{}))}confirmLessonPresences(t,r,i,o){let a={LessonIds:t,PersonIds:r,AbsenceTypeId:i,ConfirmationValue:o};return this.http.put(`${this.settings.apiUrl}/LessonAbsences/Confirm`,a).pipe(c(()=>{}))}static{this.\u0275fac=function(r){return new(r||e)(S(oe),S(F))}}static{this.\u0275prov=D({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})();var Qt=(()=>{class e{constructor(t){this.translate=t}transform(t){if(!t)return"";let r=fe(t,new Date);return this.translate.instant(`shared.daysDifference.${this.getKey(r)}`,{count:Math.abs(r)})}getKey(t){return t===0?"today":t===1?"tomorrow":t===-1?"yesterday":t>0?"in":"ago"}static{this.\u0275fac=function(r){return new(r||e)(ne(st,16))}}static{this.\u0275pipe=Be({name:"bkdDaysDifference",type:e,pure:!0})}}return e})();function la(e){return e.length===0}function Ut(e){return Array.isArray(e)}var Un=["checkbox"],Xn=(e,n)=>n.Id;function Jn(e,n){e&1&&we(0,"bkd-spinner",2)}function Kn(e,n){if(e&1&&we(0,"bkd-reports-link",13),e&2){let t=b(4);B("reports",t.reports)("disableIfUnavailable",!0)}}function zn(e,n){if(e&1&&(m(0,"a",14),f(1,"async"),m(2,"i",12),y(3,"mail"),p()()),e&2){let t=b(4);Ue("href","mailto:",h(1,2,t.mailTo$),"",Ye)}}function Zn(e,n){if(e&1&&(m(0,"div",15),y(1),p()),e&2){let t=b(4);u(),I(" ",t.defaultAbsenceSelectionMessage," ")}}function er(e,n){if(e&1){let t=ie();m(0,"div",6),X("click",function(i){Q(t);let o=ze(3),a=b(3);return U(a.onRowClick(i,o))}),m(1,"div",7)(2,"input",8,0),f(4,"async"),X("change",function(i){Q(t);let o=b(3);return U(o.toggleAll(i.target==null?null:i.target.checked))}),p()(),m(5,"div",9),y(6),f(7,"translate"),p(),m(8,"div",10)(9,"a",11),f(10,"async"),m(11,"i",12),y(12,"edit"),p()(),_(13,Kn,1,2,"bkd-reports-link",13)(14,zn,4,4,"a",14),p(),_(15,Zn,2,1,"div",15),f(16,"async"),p()}if(e&2){let t,r,i=b(3);u(2),B("checked",h(4,8,i.allSelected$)),u(4),J(h(7,10,"open-absences.detail.all")),u(3),je("disabled",((t=h(10,12,i.selectionService==null?null:i.selectionService.selection$))==null?null:t.length)===0),Qe("routerLink",i.confirmLink),u(4),P(i.reports?13:-1),u(),P(i.displayEmail?14:-1),u(),P(i.defaultAbsenceSelectionMessage&&((r=h(16,14,i.selectionService==null?null:i.selectionService.selectedWithoutPresenceType$))!=null&&r.length)?15:-1)}}function tr(e,n){if(e&1){let t=ie();m(0,"div",7)(1,"input",8,1),f(3,"async"),X("change",function(){Q(t);let i=b().$implicit,o=b(3);return U(o.selectionService==null?null:o.selectionService.toggle(i))}),p()()}if(e&2){let t=b().$implicit,r=b(3);u(),B("checked",h(3,1,r.selectionService==null?null:r.selectionService.isSelected$(t)))}}function nr(e,n){if(e&1&&y(0),e&2){let t=b().$implicit;I(" , ",t.StudyClassNumber," ")}}function rr(e,n){if(e&1&&(m(0,"div",20),y(1),p()),e&2){b();let t=tt(12);u(),I(" ",t," ")}}function ir(e,n){e&1&&(m(0,"div",21),y(1),f(2,"translate"),p()),e&2&&(u(),I(" ",h(2,1,"my-absences.show.confirm-presence-type")," "))}function or(e,n){if(e&1){let t=ie();m(0,"div",16),X("click",function(i){let o=Q(t).$index,a=b(3);return U(a.onRowClick(i,o))}),_(1,tr,4,3,"div",7),f(2,"async"),m(3,"div",17),y(4),_(5,nr,1,1),p(),m(6,"div",18),y(7),f(8,"date"),f(9,"date"),p(),m(10,"div",19),y(11),p(),Ze(12),f(13,"async"),_(14,rr,2,1,"div",20)(15,ir,3,3,"div",21),m(16,"div",22),y(17),f(18,"date"),p(),m(19,"div",23),y(20),f(21,"bkdDaysDifference"),p(),m(22,"div",24),y(23),f(24,"date"),f(25,"bkdDaysDifference"),p()()}if(e&2){let t=n.$implicit,r=b(3);u(),P(h(2,12,r.editable$)?1:-1),u(3),I(" ",t.EventDesignation," "),u(),P(t.StudyClassNumber?5:-1),u(2),ve(" ",K(8,14,t.LessonDateTimeFrom,"HH:mm"),"\u2013",K(9,17,t.LessonDateTimeTo,"HH:mm")," "),u(4),I(" ",t.TeacherInformation," "),u();let i=et(h(13,20,r.getPresenceTypeDesignation(t)));u(2),P(i?14:-1),u(),P(r.displayPresenceType&&!i&&r.defaultAbsenceSelectionMessage?15:-1),u(2),I(" ",K(18,23,t.LessonDateTimeFrom,"dd.MM.yyyy")," "),u(3),I(" ",h(21,26,t.LessonDateTimeFrom)," "),u(3),ve(" ",K(24,28,t.LessonDateTimeFrom,"dd.MM.yyyy"),", ",h(25,31,t.LessonDateTimeFrom)," ")}}function ar(e,n){if(e&1&&(_(0,er,17,16,"div",4),f(1,"async"),qe(2,or,26,33,"div",5,Xn),f(4,"async")),e&2){let t=b(2);P(h(1,1,t.editable$)?0:-1),u(2),He(h(4,3,t.lessonPresences$))}}function sr(e,n){e&1&&(m(0,"p",3),y(1),f(2,"translate"),p()),e&2&&(u(),J(h(2,1,"shared.profile.no-absences")))}function cr(e,n){if(e&1&&(_(0,ar,5,5),f(1,"async"),_(2,sr,3,3,"p",3)),e&2){let t,r=b();P(((t=(t=h(1,1,r.lessonPresences$))==null?null:t.length)!==null&&t!==void 0?t:0)>0?0:2)}}var Ca=(()=>{class e{constructor(t){this.presenceTypesService=t,this.selectionService=null,this.displayPresenceType=!0,this.defaultAbsenceSelectionMessage=null,this.reports=null,this.confirmLink="confirm",this.displayEmail=!1,this.lessonPresences$$=new V(1),this.lessonPresences$=this.lessonPresences$$.pipe(Re(),W(null),T(1)),this.loading$=this.lessonPresences$.pipe(c(ut(Ut))),this.selectionService$=new V(1),this.editable$=this.selectionService$.pipe(c(()=>!0),W(!1)),this.displayPresenceType$=new Le(!0),this.allSelected$=Ae([this.lessonPresences$.pipe(We(ct)),this.selectionService$.pipe(xe(r=>r.selection$))]).pipe(c(([r,i])=>r.length===i.length))}ngOnChanges(t){t.absences$&&this.lessonPresences$$.next(t.absences$.currentValue),t.selectionService&&t.selectionService.currentValue&&(t.selectionService.currentValue.clear(),this.selectionService$.next(t.selectionService.currentValue)),t.displayPresenceType&&this.displayPresenceType$.next(t.displayPresenceType.currentValue)}toggleAll(t){t?this.lessonPresences$.pipe(G(1)).subscribe(r=>this.selectionService?.clear(r)):this.selectionService?.clear()}onRowClick(t,r){if(this.checkboxes.length===0)return;let i;typeof r=="number"?i=this.checkboxes.toArray()[r].nativeElement:i=r,t.target!==i&&!t.target.closest(".buttons")&&i.click()}getPresenceTypeDesignation(t){return this.displayPresenceType$.pipe(xe(r=>r?this.presenceTypesService.displayedTypes$:Fe([])),c(r=>t.TypeRef.Id&&r.find(i=>i.Id===t.TypeRef.Id)?.Designation||null))}static{this.\u0275fac=function(r){return new(r||e)(ne(Gt))}}static{this.\u0275cmp=re({type:e,selectors:[["bkd-student-dossier-absences"]],viewQuery:function(r,i){if(r&1&&Xe(Un,5),r&2){let o;Je(o=Ke())&&(i.checkboxes=o)}},inputs:{absences$:"absences$",selectionService:"selectionService",displayPresenceType:"displayPresenceType",defaultAbsenceSelectionMessage:"defaultAbsenceSelectionMessage",reports:"reports",confirmLink:"confirmLink",displayEmail:"displayEmail",mailTo$:"mailTo$"},features:[Ne],decls:3,vars:3,consts:[["allCheckbox",""],["checkbox",""],[1,"inline","d-block","mb-3"],[1,"mx-3"],[1,"absence-all"],[1,"absence-entry"],[1,"absence-all",3,"click"],[1,"checkbox"],["type","checkbox",1,"form-check-input",3,"change","checked"],[1,"all"],[1,"buttons"],[1,"edit","btn","btn-primary","btn-icon","me-2",3,"routerLink"],[1,"material-icons"],[1,"me-2",3,"reports","disableIfUnavailable"],["target","_blank",1,"mail","btn","btn-primary","btn-icon","me-2",3,"href"],[1,"validation"],[1,"absence-entry",3,"click"],[1,"lesson-class"],[1,"time","pe-2"],[1,"teacher"],[1,"presence-type"],[1,"presence-type","confirm"],[1,"date"],[1,"days-ago"],[1,"date-days-ago"]],template:function(r,i){r&1&&(_(0,Jn,1,0,"bkd-spinner",2),f(1,"async"),_(2,cr,3,3)),r&2&&P(h(1,1,i.loading$)?0:2)},dependencies:[ae,ft,pt,nt,rt,ce,Qt],styles:['.absence-all[_ngcontent-%COMP%]{padding:0 0 .5rem 1rem;border-bottom:1px solid #dee2e6;display:grid;grid-template-areas:"checkbox all buttons" "validation validation validation";grid-template-columns:min-content 1fr min-content}.absence-entry[_ngcontent-%COMP%]{padding:1rem;border-bottom:1px solid #dee2e6;display:grid;grid-template-areas:"checkbox lesson-class time teacher" "checkbox presence-type date days-ago";grid-template-columns:min-content 2fr 1fr 2fr}.absence-entry[_ngcontent-%COMP%]:first-child{padding-top:0}.absence-all[_ngcontent-%COMP%] + .absence-entry[_ngcontent-%COMP%]{padding-top:1rem}.checkbox[_ngcontent-%COMP%]{grid-area:checkbox;margin:0;padding:.3rem 1rem 0 0}.checkbox[_ngcontent-%COMP%] input.form-check-input[_ngcontent-%COMP%]{position:static!important;margin:0!important;display:block}.all[_ngcontent-%COMP%]{grid-area:all}.buttons[_ngcontent-%COMP%]{grid-area:buttons;display:flex}.validation[_ngcontent-%COMP%]{grid-area:validation}.validation[_ngcontent-%COMP%], .presence-type.confirm[_ngcontent-%COMP%]{color:#ea161f}.lesson-class[_ngcontent-%COMP%]{grid-area:lesson-class;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.time[_ngcontent-%COMP%]{grid-area:time}.teacher[_ngcontent-%COMP%]{grid-area:teacher}.presence-type[_ngcontent-%COMP%]{color:#adb5bd;grid-area:presence-type}.date[_ngcontent-%COMP%]{grid-area:date}.days-ago[_ngcontent-%COMP%]{color:#adb5bd;grid-area:days-ago}.date-days-ago[_ngcontent-%COMP%]{grid-area:date-days-ago;display:none}@media (max-width: 750px){.absence-entry[_ngcontent-%COMP%]{grid-template-areas:"checkbox lesson-class" "checkbox teacher" "checkbox date-days-ago" "checkbox time" "checkbox presence-type";grid-template-columns:min-content 1fr}.date-days-ago[_ngcontent-%COMP%]{display:block}.date[_ngcontent-%COMP%], .days-ago[_ngcontent-%COMP%]{display:none}}'],changeDetection:0})}}return e})();var ur=["*"],Da=(()=>{class e{constructor(){this.link=[]}static{this.\u0275fac=function(r){return new(r||e)}}static{this.\u0275cmp=re({type:e,selectors:[["bkd-backlink"]],inputs:{link:"link",params:"params"},ngContentSelectors:ur,decls:8,vars:5,consts:[[1,"d-flex","align-items-start","justify-content-between","w-100","mb-3"],[3,"routerLink","queryParams"],[1,"material-icons"],[1,"label"]],template:function(r,i){r&1&&(Ve(),m(0,"div",0)(1,"a",1)(2,"span",2),y(3,"arrow_back"),p(),m(4,"span",3),y(5),f(6,"translate"),p()(),Ge(7),p()),r&2&&(u(),B("routerLink",i.link)("queryParams",i.params),u(4),J(h(6,3,"global.back")))},dependencies:[ae,ce],styles:["[_nghost-%COMP%]{display:flex}[_nghost-%COMP%] > div[_ngcontent-%COMP%]{height:calc(var(--bs-body-font-size) * var(--bs-body-line-height))}a[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.3rem}a[_ngcontent-%COMP%], a[_ngcontent-%COMP%]:hover, a[_ngcontent-%COMP%]:focus{text-decoration:none}a[_ngcontent-%COMP%]:hover .label[_ngcontent-%COMP%], a[_ngcontent-%COMP%]:focus .label[_ngcontent-%COMP%]{text-decoration:underline;text-decoration-color:#ea161f}"]})}}return e})();export{ht as a,yt as b,A as c,O as d,$ as e,Pe as f,z as g,De as h,It as i,he as j,Mt as k,Wt as l,$t as m,Rt as n,Nt as o,E as p,so as q,Jt as r,Kt as s,de as t,gt as u,lr as v,v as w,zt as x,le as y,po as z,ho as A,Yn as B,Yt as C,Co as D,So as E,_o as F,Po as G,Bt as H,Lo as I,Fo as J,Ao as K,Ho as L,qt as M,Go as N,Qo as O,Gt as P,aa as Q,Qt as R,la as S,Ca as T,Da as U}; diff --git a/public/apps/webapp-schulverwaltung/chunk-4KY7ONEQ.js b/public/apps/webapp-schulverwaltung/chunk-UKQD2IRQ.js similarity index 99% rename from public/apps/webapp-schulverwaltung/chunk-4KY7ONEQ.js rename to public/apps/webapp-schulverwaltung/chunk-UKQD2IRQ.js index 39c2ea99..ed8166da 100644 --- a/public/apps/webapp-schulverwaltung/chunk-4KY7ONEQ.js +++ b/public/apps/webapp-schulverwaltung/chunk-UKQD2IRQ.js @@ -1 +1 @@ -import{p as A}from"./chunk-SRCW6BUG.js";import{a as B}from"./chunk-PSYDBHTH.js";import{a as V}from"./chunk-AVBHFGIF.js";import{Hc as D,Ia as k,Ic as R,Md as b,Nc as S,Od as x,P as m,S as w,T as P,X as M,_ as d,a as p,ad as Y,b as h,cd as $,da as j,k as W,l as g,lc as z,ma as T,n as u,na as U,p as O,ra as F,t as K,x as N,ya as y}from"./chunk-2W7IS4PN.js";function _(t,e,o,i){let n=window&&!!window.document&&window.document.documentElement,r=n&&e?window:o;if(t&&(r=t&&n&&typeof t=="string"?tt(t,o.nativeElement,i):t,!r))throw new Error("ngx-infinite-scroll {resolveContainerElement()}: selector for");return r}function tt(t,e,o){return(o?window.document:e).querySelector(t)}function E(t){return t&&!t.firstChange}function et(){return typeof window<"u"}var ot={clientHeight:"clientHeight",offsetHeight:"offsetHeight",scrollHeight:"scrollHeight",pageYOffset:"pageYOffset",offsetTop:"offsetTop",scrollTop:"scrollTop",top:"top"},it={clientHeight:"clientWidth",offsetHeight:"offsetWidth",scrollHeight:"scrollWidth",pageYOffset:"pageXOffset",offsetTop:"offsetLeft",scrollTop:"scrollLeft",top:"left"},v=class{constructor(e=!0){this.vertical=e,this.propsMap=e?ot:it}clientHeightKey(){return this.propsMap.clientHeight}offsetHeightKey(){return this.propsMap.offsetHeight}scrollHeightKey(){return this.propsMap.scrollHeight}pageYOffsetKey(){return this.propsMap.pageYOffset}offsetTopKey(){return this.propsMap.offsetTop}scrollTopKey(){return this.propsMap.scrollTop}topKey(){return this.propsMap.top}};function nt(t,e,o){return!!(t&&e||!o&&e)}function rt({windowElement:t,axis:e}){return lt({axis:e,isWindow:st(t)},t)}function lt(t,e){let o=t.isWindow||e&&!e.nativeElement?e:e.nativeElement;return h(p({},t),{container:o})}function st(t){return["Window","global"].some(o=>Object.prototype.toString.call(t).includes(o))}function I(t,e){return t?e.document.documentElement:null}function G(t,e){let o=ft(e);return e.isWindow?ct(o,t,e):at(o,t,e)}function ct(t,e,o){let{axis:i,container:n,isWindow:r}=o,{offsetHeightKey:l,clientHeightKey:c}=X(i),a=t+q(I(r,n),i,r),s=L(e.nativeElement,r,l,c),f=ut(e.nativeElement,i,r)+s;return{height:t,scrolled:a,totalToScroll:f,isWindow:r}}function at(t,e,o){let{axis:i,container:n}=o,r=n[i.scrollTopKey()],l=n[i.scrollHeightKey()];return{height:t,scrolled:r,totalToScroll:l,isWindow:!1}}function X(t){return{offsetHeightKey:t.offsetHeightKey(),clientHeightKey:t.clientHeightKey()}}function ft({container:t,isWindow:e,axis:o}){let{offsetHeightKey:i,clientHeightKey:n}=X(o);return L(t,e,i,n)}function L(t,e,o,i){if(isNaN(t[o])){let n=I(e,t);return n?n[i]:0}else return t[o]}function ut(t,e,o){let i=e.topKey();if(t.getBoundingClientRect)return t.getBoundingClientRect()[i]+q(t,e,o)}function q(t,e,o){let i=e.pageYOffsetKey(),n=e.scrollTopKey(),r=e.offsetTopKey();return isNaN(window.pageYOffset)?I(o,t)[n]:t.ownerDocument?t.ownerDocument.defaultView[i]:t[r]}function dt(t,e={down:0,up:0},o){let i,n;if(t.totalToScroll<=0)return!1;let r=t.isWindow?t.scrolled:t.height+t.scrolled;if(o)i=(t.totalToScroll-r)/t.totalToScroll,n=(e?.down?e.down:0)/10;else{let c=t.scrolled+(t.totalToScroll-r);i=t.scrolled/c,n=(e?.up?e.up:0)/10}return i<=n}function pt(t,e){return tg(G(i,r))),u(s=>St(l.lastScrollPosition,s,a)),w(({stats:s})=>l.updateScroll(s.scrolled,s.totalToScroll)),N(({fire:s,scrollDown:f,stats:{totalToScroll:J}})=>nt(t.alwaysCallback,s,l.isTriggeredScroll(J,f))),w(({scrollDown:s,stats:{totalToScroll:f}})=>{l.updateTriggeredFlag(f,s)}),u(wt))}function mt(t){let e=K(t.container,"scroll");return t.throttle&&(e=e.pipe(P(t.throttle,void 0,{leading:!0,trailing:!0}))),e}function St(t,e,o){let{scrollDown:i,fire:n}=ht(t,e,o);return{scrollDown:i,fire:n,stats:e}}var H={DOWN:"[NGX_ISE] DOWN",UP:"[NGX_ISE] UP"};function wt(t){let{scrollDown:e,stats:{scrolled:o}}=t;return{type:e?H.DOWN:H.UP,payload:{currentScrollPosition:o}}}var Nt=(()=>{class t{constructor(o,i){this.element=o,this.zone=i,this.scrolled=new T,this.scrolledUp=new T,this.infiniteScrollDistance=2,this.infiniteScrollUpDistance=1.5,this.infiniteScrollThrottle=150,this.infiniteScrollDisabled=!1,this.infiniteScrollContainer=null,this.scrollWindow=!0,this.immediateCheck=!1,this.horizontal=!1,this.alwaysCallback=!1,this.fromRoot=!1}ngAfterViewInit(){this.infiniteScrollDisabled||this.setup()}ngOnChanges({infiniteScrollContainer:o,infiniteScrollDisabled:i,infiniteScrollDistance:n}){let r=E(o),l=E(i),c=E(n),a=!l&&!this.infiniteScrollDisabled||l&&!i.currentValue||c;(r||l||c)&&(this.destroyScroller(),a&&this.setup())}ngOnDestroy(){this.destroyScroller()}setup(){et()&&this.zone.runOutsideAngular(()=>{this.disposeScroller=gt({fromRoot:this.fromRoot,alwaysCallback:this.alwaysCallback,disable:this.infiniteScrollDisabled,downDistance:this.infiniteScrollDistance,element:this.element,horizontal:this.horizontal,scrollContainer:this.infiniteScrollContainer,scrollWindow:this.scrollWindow,throttle:this.infiniteScrollThrottle,upDistance:this.infiniteScrollUpDistance}).subscribe(o=>this.handleOnScroll(o))})}handleOnScroll({type:o,payload:i}){let n=o===H.DOWN?this.scrolled:this.scrolledUp;Tt(n)&&this.zone.run(()=>n.emit(i))}destroyScroller(){this.disposeScroller&&this.disposeScroller.unsubscribe()}static{this.\u0275fac=function(i){return new(i||t)(y(F),y(U))}}static{this.\u0275dir=k({type:t,selectors:[["","infiniteScroll",""],["","infinite-scroll",""],["","data-infinite-scroll",""]],inputs:{infiniteScrollDistance:"infiniteScrollDistance",infiniteScrollUpDistance:"infiniteScrollUpDistance",infiniteScrollThrottle:"infiniteScrollThrottle",infiniteScrollDisabled:"infiniteScrollDisabled",infiniteScrollContainer:"infiniteScrollContainer",scrollWindow:"scrollWindow",immediateCheck:"immediateCheck",horizontal:"horizontal",alwaysCallback:"alwaysCallback",fromRoot:"fromRoot"},outputs:{scrolled:"scrolled",scrolledUp:"scrolledUp"},features:[j]})}}return t})();function Tt(t){return t.observed??t.observers.length>0}function Ut(t){return Object.keys(t).reduce((e,o)=>{let i=yt(t[o]);return i?h(p({},e),{[o]:i}):e},{})}function yt(t){return t?t instanceof Date?A(t,"yyyy-MM-dd"):String(t):null}var Z=S({Id:R,Designation:D,Number:D});var qt=(()=>{class t extends B{constructor(o,i,n,r){super(o,i,Z,"EducationalEvents"),this.translate=n,this.toastService=r,this.typeaheadCodec=S(Y(this.codec.props,["Id","Designation","Number"]))}getTypeaheadItems(o){return this.http.get(`${this.baseUrl}/CurrentSemester`,{params:{fields:["Id","Designation","Number"].join(","),"filter.Designation":`~*${o}*`}}).pipe(m(b(this.typeaheadCodec)),u(i=>i.map(n=>({Key:n.Id,Value:`${n.Designation} (${n.Number})`}))))}getTypeaheadItemByKey(o){return this.http.get(`${this.baseUrl}/CurrentSemester`,{params:{fields:["Id","Designation","Number"].join(","),"filter.Id":`=${o}`}}).pipe(m(b(this.typeaheadCodec)),m(i=>i.length===0?(this.toastService.error(this.translate.instant("global.rest-errors.notfound-message"),this.translate.instant("global.rest-errors.notfound-title")),W):g({Key:i[0].Id,Value:`${i[0].Designation} (${i[0].Number})`})))}static{this.\u0275fac=function(i){return new(i||t)(d(z),d($),d(x),d(V))}}static{this.\u0275prov=M({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();export{Ut as a,Nt as b,qt as c}; +import{o as A}from"./chunk-WCDEMEW2.js";import{a as B}from"./chunk-PSYDBHTH.js";import{a as V}from"./chunk-AVBHFGIF.js";import{Hc as D,Ia as k,Ic as R,Md as b,Nc as S,Od as x,P as m,S as w,T as P,X as M,_ as d,a as p,ad as Y,b as h,cd as $,da as j,k as W,l as g,lc as z,ma as T,n as u,na as U,p as O,ra as F,t as K,x as N,ya as y}from"./chunk-2W7IS4PN.js";function _(t,e,o,i){let n=window&&!!window.document&&window.document.documentElement,r=n&&e?window:o;if(t&&(r=t&&n&&typeof t=="string"?tt(t,o.nativeElement,i):t,!r))throw new Error("ngx-infinite-scroll {resolveContainerElement()}: selector for");return r}function tt(t,e,o){return(o?window.document:e).querySelector(t)}function E(t){return t&&!t.firstChange}function et(){return typeof window<"u"}var ot={clientHeight:"clientHeight",offsetHeight:"offsetHeight",scrollHeight:"scrollHeight",pageYOffset:"pageYOffset",offsetTop:"offsetTop",scrollTop:"scrollTop",top:"top"},it={clientHeight:"clientWidth",offsetHeight:"offsetWidth",scrollHeight:"scrollWidth",pageYOffset:"pageXOffset",offsetTop:"offsetLeft",scrollTop:"scrollLeft",top:"left"},v=class{constructor(e=!0){this.vertical=e,this.propsMap=e?ot:it}clientHeightKey(){return this.propsMap.clientHeight}offsetHeightKey(){return this.propsMap.offsetHeight}scrollHeightKey(){return this.propsMap.scrollHeight}pageYOffsetKey(){return this.propsMap.pageYOffset}offsetTopKey(){return this.propsMap.offsetTop}scrollTopKey(){return this.propsMap.scrollTop}topKey(){return this.propsMap.top}};function nt(t,e,o){return!!(t&&e||!o&&e)}function rt({windowElement:t,axis:e}){return lt({axis:e,isWindow:st(t)},t)}function lt(t,e){let o=t.isWindow||e&&!e.nativeElement?e:e.nativeElement;return h(p({},t),{container:o})}function st(t){return["Window","global"].some(o=>Object.prototype.toString.call(t).includes(o))}function I(t,e){return t?e.document.documentElement:null}function G(t,e){let o=ft(e);return e.isWindow?ct(o,t,e):at(o,t,e)}function ct(t,e,o){let{axis:i,container:n,isWindow:r}=o,{offsetHeightKey:l,clientHeightKey:c}=X(i),a=t+q(I(r,n),i,r),s=L(e.nativeElement,r,l,c),f=ut(e.nativeElement,i,r)+s;return{height:t,scrolled:a,totalToScroll:f,isWindow:r}}function at(t,e,o){let{axis:i,container:n}=o,r=n[i.scrollTopKey()],l=n[i.scrollHeightKey()];return{height:t,scrolled:r,totalToScroll:l,isWindow:!1}}function X(t){return{offsetHeightKey:t.offsetHeightKey(),clientHeightKey:t.clientHeightKey()}}function ft({container:t,isWindow:e,axis:o}){let{offsetHeightKey:i,clientHeightKey:n}=X(o);return L(t,e,i,n)}function L(t,e,o,i){if(isNaN(t[o])){let n=I(e,t);return n?n[i]:0}else return t[o]}function ut(t,e,o){let i=e.topKey();if(t.getBoundingClientRect)return t.getBoundingClientRect()[i]+q(t,e,o)}function q(t,e,o){let i=e.pageYOffsetKey(),n=e.scrollTopKey(),r=e.offsetTopKey();return isNaN(window.pageYOffset)?I(o,t)[n]:t.ownerDocument?t.ownerDocument.defaultView[i]:t[r]}function dt(t,e={down:0,up:0},o){let i,n;if(t.totalToScroll<=0)return!1;let r=t.isWindow?t.scrolled:t.height+t.scrolled;if(o)i=(t.totalToScroll-r)/t.totalToScroll,n=(e?.down?e.down:0)/10;else{let c=t.scrolled+(t.totalToScroll-r);i=t.scrolled/c,n=(e?.up?e.up:0)/10}return i<=n}function pt(t,e){return tg(G(i,r))),u(s=>St(l.lastScrollPosition,s,a)),w(({stats:s})=>l.updateScroll(s.scrolled,s.totalToScroll)),N(({fire:s,scrollDown:f,stats:{totalToScroll:J}})=>nt(t.alwaysCallback,s,l.isTriggeredScroll(J,f))),w(({scrollDown:s,stats:{totalToScroll:f}})=>{l.updateTriggeredFlag(f,s)}),u(wt))}function mt(t){let e=K(t.container,"scroll");return t.throttle&&(e=e.pipe(P(t.throttle,void 0,{leading:!0,trailing:!0}))),e}function St(t,e,o){let{scrollDown:i,fire:n}=ht(t,e,o);return{scrollDown:i,fire:n,stats:e}}var H={DOWN:"[NGX_ISE] DOWN",UP:"[NGX_ISE] UP"};function wt(t){let{scrollDown:e,stats:{scrolled:o}}=t;return{type:e?H.DOWN:H.UP,payload:{currentScrollPosition:o}}}var Nt=(()=>{class t{constructor(o,i){this.element=o,this.zone=i,this.scrolled=new T,this.scrolledUp=new T,this.infiniteScrollDistance=2,this.infiniteScrollUpDistance=1.5,this.infiniteScrollThrottle=150,this.infiniteScrollDisabled=!1,this.infiniteScrollContainer=null,this.scrollWindow=!0,this.immediateCheck=!1,this.horizontal=!1,this.alwaysCallback=!1,this.fromRoot=!1}ngAfterViewInit(){this.infiniteScrollDisabled||this.setup()}ngOnChanges({infiniteScrollContainer:o,infiniteScrollDisabled:i,infiniteScrollDistance:n}){let r=E(o),l=E(i),c=E(n),a=!l&&!this.infiniteScrollDisabled||l&&!i.currentValue||c;(r||l||c)&&(this.destroyScroller(),a&&this.setup())}ngOnDestroy(){this.destroyScroller()}setup(){et()&&this.zone.runOutsideAngular(()=>{this.disposeScroller=gt({fromRoot:this.fromRoot,alwaysCallback:this.alwaysCallback,disable:this.infiniteScrollDisabled,downDistance:this.infiniteScrollDistance,element:this.element,horizontal:this.horizontal,scrollContainer:this.infiniteScrollContainer,scrollWindow:this.scrollWindow,throttle:this.infiniteScrollThrottle,upDistance:this.infiniteScrollUpDistance}).subscribe(o=>this.handleOnScroll(o))})}handleOnScroll({type:o,payload:i}){let n=o===H.DOWN?this.scrolled:this.scrolledUp;Tt(n)&&this.zone.run(()=>n.emit(i))}destroyScroller(){this.disposeScroller&&this.disposeScroller.unsubscribe()}static{this.\u0275fac=function(i){return new(i||t)(y(F),y(U))}}static{this.\u0275dir=k({type:t,selectors:[["","infiniteScroll",""],["","infinite-scroll",""],["","data-infinite-scroll",""]],inputs:{infiniteScrollDistance:"infiniteScrollDistance",infiniteScrollUpDistance:"infiniteScrollUpDistance",infiniteScrollThrottle:"infiniteScrollThrottle",infiniteScrollDisabled:"infiniteScrollDisabled",infiniteScrollContainer:"infiniteScrollContainer",scrollWindow:"scrollWindow",immediateCheck:"immediateCheck",horizontal:"horizontal",alwaysCallback:"alwaysCallback",fromRoot:"fromRoot"},outputs:{scrolled:"scrolled",scrolledUp:"scrolledUp"},features:[j]})}}return t})();function Tt(t){return t.observed??t.observers.length>0}function Ut(t){return Object.keys(t).reduce((e,o)=>{let i=yt(t[o]);return i?h(p({},e),{[o]:i}):e},{})}function yt(t){return t?t instanceof Date?A(t,"yyyy-MM-dd"):String(t):null}var Z=S({Id:R,Designation:D,Number:D});var qt=(()=>{class t extends B{constructor(o,i,n,r){super(o,i,Z,"EducationalEvents"),this.translate=n,this.toastService=r,this.typeaheadCodec=S(Y(this.codec.props,["Id","Designation","Number"]))}getTypeaheadItems(o){return this.http.get(`${this.baseUrl}/CurrentSemester`,{params:{fields:["Id","Designation","Number"].join(","),"filter.Designation":`~*${o}*`}}).pipe(m(b(this.typeaheadCodec)),u(i=>i.map(n=>({Key:n.Id,Value:`${n.Designation} (${n.Number})`}))))}getTypeaheadItemByKey(o){return this.http.get(`${this.baseUrl}/CurrentSemester`,{params:{fields:["Id","Designation","Number"].join(","),"filter.Id":`=${o}`}}).pipe(m(b(this.typeaheadCodec)),m(i=>i.length===0?(this.toastService.error(this.translate.instant("global.rest-errors.notfound-message"),this.translate.instant("global.rest-errors.notfound-title")),W):g({Key:i[0].Id,Value:`${i[0].Designation} (${i[0].Number})`})))}static{this.\u0275fac=function(i){return new(i||t)(d(z),d($),d(x),d(V))}}static{this.\u0275prov=M({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();export{Ut as a,Nt as b,qt as c}; diff --git a/public/apps/webapp-schulverwaltung/chunk-UYCIECIQ.js b/public/apps/webapp-schulverwaltung/chunk-UYCIECIQ.js new file mode 100644 index 00000000..086772be --- /dev/null +++ b/public/apps/webapp-schulverwaltung/chunk-UYCIECIQ.js @@ -0,0 +1,2 @@ +import{e as je,f as Ue,o as S}from"./chunk-WCDEMEW2.js";import{f as Be,g as Ne,i as He}from"./chunk-XFA6UPZX.js";import{a as Ve,b as Ge}from"./chunk-PSYDBHTH.js";import{B as ne,w as Me,y as Oe}from"./chunk-W4U7QKJF.js";import{$a as p,Ab as Pe,Bb as Le,Cb as Ae,F as $,Ga as U,H as N,Hc as Re,Ic as te,Ja as ye,Jb as l,Jc as T,Jd as q,K as de,Kb as d,Lb as M,M as y,Na as g,Nc as we,O as I,Od as Ee,P as Y,Pd as K,Q as ue,Qa as A,Ra as he,Uc as Fe,Va as b,X as _,Ya as ge,Za as be,_ as h,_a as c,ab as Z,cc as ke,cd as v,da as me,dc as $e,ea as R,eb as V,f as re,fa as w,g as se,gb as F,h as k,hb as m,ib as _e,jb as xe,kb as Ce,l as ae,lb as Te,lc as H,n as r,nb as ve,o as ce,ob as Se,pb as Ie,qb as De,r as le,rb as u,sb as E,tb as C,ub as ee,wa as fe,x as pe,xa as s,ya as j,zc as G}from"./chunk-2W7IS4PN.js";var qe=function(e){return function(i){return!e(i)}};function it(e){return!e}function ot(e){return!!(e&&e.IsComment)}function rt(e){return!!(e&&e.IsIncident)}function W(e){return!!(e&&(e.IsAbsence||e.IsDispensation||e.IsHalfDay))}function ie(e,i){return!!(e&&i&&e.Id===i.absencePresenceTypeId)}function oe(e,i){return!!(e&&i&&i===e.checkableAbsenceStateId)}function Ke(e,i,t){return!!(it(i)&&e.ConfirmationStateId===null||ot(i)||rt(i)||W(i)&&e.ConfirmationStateId===t.unconfirmedAbsenceStateId||oe(t,e.ConfirmationStateId))}function Ft(e,i){return e?.IsAbsence?i.unconfirmedAbsenceStateId:null}var f=function(e){return e.Present="present",e.Unapproved="unapproved",e.Absent="absent",e}(f||{});function st(e){switch(e){case f.Absent:return"cancel";case f.Unapproved:return"help";default:return"check_circle"}}var Q=class{constructor(i,t,n,o){this.lessonPresence=i,this.presenceType=t,this.precedingAbsences=n,this.confirmationState=o,this.studentFullName=i.StudentFullName}get id(){return`${this.lessonPresence.LessonRef.Id}-${this.lessonPresence.StudentRef.Id}`}get presenceCategory(){return oe(this.settings,this.confirmationState&&Number(this.confirmationState.Key))?f.Unapproved:W(this.presenceType)?f.Absent:f.Present}get nextPresenceCategory(){return this.presenceCategory===f.Absent?f.Present:f.Absent}getNextPresenceType(i){switch(this.nextPresenceCategory){case f.Absent:return this.presenceCategory===f.Unapproved?this.presenceType:i.find(t=>ie(t,this.settings))||null;default:return null}}get canChangePresenceType(){return Ke(this.lessonPresence,this.presenceType,this.settings)}get canChangeIncident(){return!W(this.presenceType)}get showDesignation(){return!this.canChangePresenceType||this.presenceCategory===f.Absent&&!ie(this.presenceType,this.settings)||this.presenceCategory===f.Unapproved}get presenceCategoryIcon(){return st(this.presenceCategory)}get settings(){return window.schulverwaltung.settings}};function We(e,i,t){let n=Ne(e,t?.in);return isNaN(i)?Be(t?.in||e,NaN):(i&&n.setDate(n.getDate()+i),n)}function Vt(e,i,t){return We(e,-i,t)}var D=class{constructor(i){if(this.absences=i,i.length===0)throw new Error("Absences array is empty");this.date=je(this.absences[0].LessonDateTimeFrom),this.dateString=S(this.date,"yyyy-MM-dd"),this.studentId=this.absences[0].StudentRef.Id,this.studentFullName=this.absences[0].StudentFullName,this.studyClassNumber=this.absences[0].StudyClassNumber,this.lessonsCount=this.absences.length}get id(){return`${this.dateString}-${this.studentId}`}};function Qt(e,i){return e===null&&i===null||e!==null&&i!==null&&e.LessonRef.Id===i.LessonRef.Id&&e.EventDesignation===i.EventDesignation&&e.StudyClassNumber===i.StudyClassNumber&&e.TeacherInformation===i.TeacherInformation&&e.LessonDateTimeFrom.getTime()===i.LessonDateTimeFrom.getTime()&&e.LessonDateTimeTo.getTime()===i.LessonDateTimeTo.getTime()}function at(e,i){return e?i.filter(t=>e.lessons.map(n=>n.LessonRef.Id).indexOf(t.LessonRef.Id)>=0).sort(pt):[]}function ct(e,i,t){return q(e.filter(n=>n.StudentRef.Id===i.StudentRef.Id&&n.LessonRef.From&&n.LessonRef.From.toDateString()===t?.LessonDateTimeFrom.toDateString()&&n.LessonRef.Fromlt(e,a,t,n,o))}function lt(e,i,t,n,o){let a=null;i.TypeRef.Id&&(a=t.find(X=>X.Id===i.TypeRef.Id)||null);let x=ct(o,i,e),L;return i.ConfirmationStateId&&(L=n.find(X=>X.Key===i.ConfirmationStateId)),new Q(i,a,x,L)}function Qe(e,i){let t=e.LessonDateTimeFrom.getTime(),n=i.LessonDateTimeFrom.getTime();return t-n===0?e.LessonDateTimeTo.getTime()-i.LessonDateTimeTo.getTime():t-n}function pt(e,i){return e.StudentFullName.localeCompare(i.StudentFullName)}function dt(e,i){return e.LessonRef.From&&e.LessonRef.To&&i.LessonRef.From&&i.LessonRef.To?e.LessonRef.From.getTime()-i.LessonRef.From.getTime()===0?e.LessonRef.To.getTime()-i.LessonRef.To.getTime():e.LessonRef.From.getTime()-i.LessonRef.From.getTime():0}var z=class extends Error{constructor(i,t){super(`TypeScript thought we could never end up here +${t}`)}};function on(e){let i=mt(e);return Object.keys(i).reduce((t,n)=>(Object.keys(i[n]).forEach(o=>{t=[...t,new D(i[n][o].sort(Qe))]}),t),[])}function rn(e,i){return[...e].sort(ut(i))}function J(e){return e.reduce((i,t)=>i.concat(t.absences),[])}function sn(e,i){return e.filter(t=>!i.some(({lessonIds:n,personId:o})=>n.includes(t.LessonRef.Id)&&o===t.StudentRef.Id))}function an(e,i){return q([...e,...i],"Id")}function ut(e){return(i,t)=>{switch(e.primarySortKey){case"date":{let n=i.date.getTime(),o=t.date.getTime();return n===o?i.studentFullName.localeCompare(t.studentFullName):e.ascending?n-o:o-n}case"name":{let n=e.ascending?i.studentFullName.localeCompare(t.studentFullName):t.studentFullName.localeCompare(i.studentFullName);return n===0?t.date.getTime()-i.date.getTime():n}default:throw new z(e.primarySortKey,"Unhandled sort criteria")}}}function mt(e){return e.reduce((i,t)=>{let n=S(t.LessonDateTimeFrom,"yyyy-MM-dd"),o=t.StudentRef.Id;return i[n]||(i[n]={}),i[n][o]||(i[n][o]=[]),i[n][o].push(t),i},{})}var O=function(e){return e.ToggleSelection="TOGGLE",e.ClearSelection="CLEAR",e}(O||{}),ze=(()=>{class e{constructor(){this.action$=new re,this.selection$=le(this.action$.pipe(de(this.reduceSelection.bind(this),[]),I([])),{connector:()=>new k(1)}),this.selectionSub=this.selection$.connect()}ngOnDestroy(){this.selectionSub.unsubscribe()}toggle(t){this.action$.next({type:O.ToggleSelection,payload:t})}clear(t=null){this.action$.next({type:O.ClearSelection,payload:t})}isSelected$(t){return this.selection$.pipe(r(n=>n.includes(t)),N())}reduceSelection(t,n){switch(n.type){case O.ToggleSelection:return t.includes(n.payload)?t.filter(o=>o!==n.payload):[...t,n.payload];case O.ClearSelection:return n.payload||[];default:return t}}static{this.\u0275fac=function(n){return new(n||e)}}static{this.\u0275prov=_({token:e,factory:e.\u0275fac})}}return e})();function mn(e){let i=e.reduce((t,n)=>(t[n.StudentRef.Id]||(t[n.StudentRef.Id]=[]),t[n.StudentRef.Id].push(n.LessonRef.Id),t),{});return Object.keys(i).map(t=>({personIds:[Number(t)],lessonIds:i[t]}))}function Je(e){let i={};return e.forEach(t=>{i[t.StudentRef.Id]||(i[t.StudentRef.Id]={}),i[t.StudentRef.Id][String(t.TypeRef.Id)]||(i[t.StudentRef.Id][String(t.TypeRef.Id)]=[]),i[t.StudentRef.Id][String(t.TypeRef.Id)].push(t.LessonRef.Id)}),Object.keys(i).reduce((t,n)=>[...t,...Object.keys(i[n]).map(o=>({personId:Number(n),presenceTypeId:o==="null"?null:Number(o),lessonIds:i[n][String(o)]}))],[])}function fn(e){return e.slice().sort((i,t)=>i.LessonDateTimeFrom.getTime()-t.LessonDateTimeFrom.getTime())}function yn(e){return`${e.EventDesignation}, ${S(e.LessonDateTimeFrom,"dd.MM.yyyy")}, ${S(e.LessonDateTimeFrom,"HH:mm")}-${S(e.LessonDateTimeTo,"HH:mm")}`}var In=(()=>{class e extends ze{constructor(t){super(),this.settings=t,this.selectedIds$=this.selection$.pipe(r(B),r(({openAbsencesEntries:n,lessonPresences:o})=>Je([...J(n),...o])),y(1)),this.selectedLessons$=this.selection$.pipe(r(B),r(({openAbsencesEntries:n,lessonPresences:o})=>[...J(n),...o]),y(1)),this.selectedWithoutPresenceType$=this.selection$.pipe(r(B),r(({openAbsencesEntries:n,lessonPresences:o})=>[...J(n),...o].filter(a=>a.TypeRef.Id===this.settings.absencePresenceTypeId)))}clearNonOpenAbsencesEntries(){this.selection$.pipe($(1),r(B)).subscribe(({openAbsencesEntries:t})=>this.clear(t))}clearNonLessonPresences(){this.selection$.pipe($(1),r(B)).subscribe(({lessonPresences:t})=>this.clear(t))}static{this.\u0275fac=function(n){return new(n||e)(h(v))}}static{this.\u0275prov=_({token:e,factory:e.\u0275fac})}}return e})();function B(e){return{openAbsencesEntries:e.filter(ne(D)),lessonPresences:e.filter(qe(ne(D)))}}function Xe(e){return e.slice().sort((i,t)=>i.Sort-t.Sort)}function Pn(e){return e.map(i=>({Key:i.Id,Value:i.Designation||""}))}function Ln(e,i){return e.map(t=>Object.assign(t,{Group:i}))}var Ye=we({Id:te,Active:T,Designation:Fe(Re),IsAbsence:T,IsComment:T,IsDispensation:T,IsIncident:T,IsHalfDay:T,NeedsConfirmation:T,Sort:te});var Ze=(()=>{class e extends Ve{constructor(t,n){super(t,n,Ye,"PresenceTypes")}static{this.\u0275fac=function(n){return new(n||e)(h(H),h(v))}}static{this.\u0275prov=_({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})();var et=(()=>{class e{constructor(t,n){this.restService=t,this.settings=n,this.presenceTypes$=this.loadPresenceTypes().pipe(y(1)),this.activePresenceTypes$=this.presenceTypes$.pipe(r(this.filterActiveTypes.bind(this)),y(1)),this.confirmationTypes$=this.presenceTypes$.pipe(r(this.filterConfirmationTypes.bind(this)),y(1)),this.incidentTypes$=this.presenceTypes$.pipe(r(this.filterIncidentTypes.bind(this)),y(1)),this.displayedTypes$=this.presenceTypes$.pipe(r(this.filterDisplayedTypes.bind(this)),y(1)),this.halfDayActive$=this.presenceTypes$.pipe(r(this.isHalfDayActive.bind(this)),I(!1),N(),y(1))}getPresenceType(t){return this.presenceTypes$.pipe(r(n=>{let o=n.find(a=>a.Id===t);if(!o)throw new Error("presence type not found");return o}))}loadPresenceTypes(){return this.restService.getList().pipe(r(Xe))}filterActiveTypes(t){return t.filter(n=>n.Active)}filterConfirmationTypes(t){return t.filter(n=>n.NeedsConfirmation&&n.Active&&n.Id!==this.settings.absencePresenceTypeId)}filterIncidentTypes(t){return t.filter(n=>n.IsIncident&&n.Active)}filterDisplayedTypes(t){return t.filter(n=>n.Id!==this.settings.absencePresenceTypeId)}isHalfDayActive(t){return!!t.find(n=>n.Id===this.settings.halfDayPresenceTypeId)?.Active}static{this.\u0275fac=function(n){return new(n||e)(h(Ze),h(v))}}static{this.\u0275prov=_({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})();var Un=(()=>{class e{constructor(t,n){this.http=t,this.settings=n}editLessonPresences(t,n,o,a,x){let L={LessonIds:t,PersonIds:n};return o!==void 0&&(L.PresenceTypeId=o),a!==void 0&&(L.ConfirmationValue=a),this.http.put(`${this.settings.apiUrl}/LessonPresences/Edit`,L,x).pipe(r(()=>{}))}removeLessonPresences(t,n,o){return this.http.put(`${this.settings.apiUrl}/LessonPresences/Reset`,{LessonIds:t,PersonIds:n,WithComment:!0},o).pipe(r(()=>{}))}confirmLessonPresences(t,n,o,a){let x={LessonIds:t,PersonIds:n,AbsenceTypeId:o,ConfirmationValue:a};return this.http.put(`${this.settings.apiUrl}/LessonAbsences/Confirm`,x).pipe(r(()=>{}))}static{this.\u0275fac=function(n){return new(n||e)(h(H),h(v))}}static{this.\u0275prov=_({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})();var tt=(()=>{class e{constructor(t){this.translate=t}transform(t){if(!t)return"";let n=Ue(t,new Date);return this.translate.instant(`shared.daysDifference.${this.getKey(n)}`,{count:Math.abs(n)})}getKey(t){return t===0?"today":t===1?"tomorrow":t===-1?"yesterday":t>0?"in":"ago"}static{this.\u0275fac=function(n){return new(n||e)(j(Ee,16))}}static{this.\u0275pipe=ye({name:"bkdDaysDifference",type:e,pure:!0})}}return e})();function Kn(e){return e.length===0}function nt(e){return Array.isArray(e)}var gt=["checkbox"],bt=(e,i)=>i.Id;function _t(e,i){e&1&&Z(0,"bkd-spinner",2)}function xt(e,i){if(e&1&&Z(0,"bkd-reports-link",13),e&2){let t=m(4);A("reports",t.reports)("disableIfUnavailable",!0)}}function Ct(e,i){if(e&1&&(c(0,"a",14),l(1,"async"),c(2,"i",12),u(3,"mail"),p()()),e&2){let t=m(4);Te("href","mailto:",d(1,2,t.mailTo$),"",fe)}}function Tt(e,i){if(e&1&&(c(0,"div",15),u(1),p()),e&2){let t=m(4);s(),C(" ",t.defaultAbsenceSelectionMessage," ")}}function vt(e,i){if(e&1){let t=V();c(0,"div",6),F("click",function(o){R(t);let a=De(3),x=m(3);return w(x.onRowClick(o,a))}),c(1,"div",7)(2,"input",8,0),l(4,"async"),F("change",function(o){R(t);let a=m(3);return w(a.toggleAll(o.target==null?null:o.target.checked))}),p()(),c(5,"div",9),u(6),l(7,"translate"),p(),c(8,"div",10)(9,"a",11),l(10,"async"),c(11,"i",12),u(12,"edit"),p()(),g(13,xt,1,2,"bkd-reports-link",13)(14,Ct,4,4,"a",14),p(),g(15,Tt,2,1,"div",15),l(16,"async"),p()}if(e&2){let t,n,o=m(3);s(2),A("checked",d(4,8,o.allSelected$)),s(4),E(d(7,10,"open-absences.detail.all")),s(3),he("disabled",((t=d(10,12,o.selectionService==null?null:o.selectionService.selection$))==null?null:t.length)===0),Ce("routerLink",o.confirmLink),s(4),b(o.reports?13:-1),s(),b(o.displayEmail?14:-1),s(),b(o.defaultAbsenceSelectionMessage&&((n=d(16,14,o.selectionService==null?null:o.selectionService.selectedWithoutPresenceType$))!=null&&n.length)?15:-1)}}function St(e,i){if(e&1){let t=V();c(0,"div",7)(1,"input",8,1),l(3,"async"),F("change",function(){R(t);let o=m().$implicit,a=m(3);return w(a.selectionService==null?null:a.selectionService.toggle(o))}),p()()}if(e&2){let t=m().$implicit,n=m(3);s(),A("checked",d(3,1,n.selectionService==null?null:n.selectionService.isSelected$(t)))}}function It(e,i){if(e&1&&u(0),e&2){let t=m().$implicit;C(" , ",t.StudyClassNumber," ")}}function Dt(e,i){if(e&1&&(c(0,"div",20),u(1),p()),e&2){m();let t=Ae(12);s(),C(" ",t," ")}}function Pt(e,i){e&1&&(c(0,"div",21),u(1),l(2,"translate"),p()),e&2&&(s(),C(" ",d(2,1,"my-absences.show.confirm-presence-type")," "))}function Lt(e,i){if(e&1){let t=V();c(0,"div",16),F("click",function(o){let a=R(t).$index,x=m(3);return w(x.onRowClick(o,a))}),g(1,St,4,3,"div",7),l(2,"async"),c(3,"div",17),u(4),g(5,It,1,1),p(),c(6,"div",18),u(7),l(8,"date"),l(9,"date"),p(),c(10,"div",19),u(11),p(),Pe(12),l(13,"async"),g(14,Dt,2,1,"div",20)(15,Pt,3,3,"div",21),c(16,"div",22),u(17),l(18,"date"),p(),c(19,"div",23),u(20),l(21,"bkdDaysDifference"),p(),c(22,"div",24),u(23),l(24,"date"),l(25,"bkdDaysDifference"),p()()}if(e&2){let t=i.$implicit,n=m(3);s(),b(d(2,12,n.editable$)?1:-1),s(3),C(" ",t.EventDesignation," "),s(),b(t.StudyClassNumber?5:-1),s(2),ee(" ",M(8,14,t.LessonDateTimeFrom,"HH:mm"),"\u2013",M(9,17,t.LessonDateTimeTo,"HH:mm")," "),s(4),C(" ",t.TeacherInformation," "),s();let o=Le(d(13,20,n.getPresenceTypeDesignation(t)));s(2),b(o?14:-1),s(),b(n.displayPresenceType&&!o&&n.defaultAbsenceSelectionMessage?15:-1),s(2),C(" ",M(18,23,t.LessonDateTimeFrom,"dd.MM.yyyy")," "),s(3),C(" ",d(21,26,t.LessonDateTimeFrom)," "),s(3),ee(" ",M(24,28,t.LessonDateTimeFrom,"dd.MM.yyyy"),", ",d(25,31,t.LessonDateTimeFrom)," ")}}function At(e,i){if(e&1&&(g(0,vt,17,16,"div",4),l(1,"async"),ge(2,Lt,26,33,"div",5,bt),l(4,"async")),e&2){let t=m(2);b(d(1,1,t.editable$)?0:-1),s(2),be(d(4,3,t.lessonPresences$))}}function kt(e,i){e&1&&(c(0,"p",3),u(1),l(2,"translate"),p()),e&2&&(s(),E(d(2,1,"shared.profile.no-absences")))}function $t(e,i){if(e&1&&(g(0,At,5,5),l(1,"async"),g(2,kt,3,3,"p",3)),e&2){let t,n=m();b(((t=(t=d(1,1,n.lessonPresences$))==null?null:t.length)!==null&&t!==void 0?t:0)>0?0:2)}}var oi=(()=>{class e{constructor(t){this.presenceTypesService=t,this.selectionService=null,this.displayPresenceType=!0,this.defaultAbsenceSelectionMessage=null,this.reports=null,this.confirmLink="confirm",this.displayEmail=!1,this.lessonPresences$$=new k(1),this.lessonPresences$=this.lessonPresences$$.pipe(ue(),I(null),y(1)),this.loading$=this.lessonPresences$.pipe(r(Oe(nt))),this.selectionService$=new k(1),this.editable$=this.selectionService$.pipe(r(()=>!0),I(!1)),this.displayPresenceType$=new se(!0),this.allSelected$=ce([this.lessonPresences$.pipe(pe(Me)),this.selectionService$.pipe(Y(n=>n.selection$))]).pipe(r(([n,o])=>n.length===o.length))}ngOnChanges(t){t.absences$&&this.lessonPresences$$.next(t.absences$.currentValue),t.selectionService&&t.selectionService.currentValue&&(t.selectionService.currentValue.clear(),this.selectionService$.next(t.selectionService.currentValue)),t.displayPresenceType&&this.displayPresenceType$.next(t.displayPresenceType.currentValue)}toggleAll(t){t?this.lessonPresences$.pipe($(1)).subscribe(n=>this.selectionService?.clear(n)):this.selectionService?.clear()}onRowClick(t,n){if(this.checkboxes.length===0)return;let o;typeof n=="number"?o=this.checkboxes.toArray()[n].nativeElement:o=n,t.target!==o&&!t.target.closest(".buttons")&&o.click()}getPresenceTypeDesignation(t){return this.displayPresenceType$.pipe(Y(n=>n?this.presenceTypesService.displayedTypes$:ae([])),r(n=>t.TypeRef.Id&&n.find(o=>o.Id===t.TypeRef.Id)?.Designation||null))}static{this.\u0275fac=function(n){return new(n||e)(j(et))}}static{this.\u0275cmp=U({type:e,selectors:[["bkd-student-dossier-absences"]],viewQuery:function(n,o){if(n&1&&ve(gt,5),n&2){let a;Se(a=Ie())&&(o.checkboxes=a)}},inputs:{absences$:"absences$",selectionService:"selectionService",displayPresenceType:"displayPresenceType",defaultAbsenceSelectionMessage:"defaultAbsenceSelectionMessage",reports:"reports",confirmLink:"confirmLink",displayEmail:"displayEmail",mailTo$:"mailTo$"},features:[me],decls:3,vars:3,consts:[["allCheckbox",""],["checkbox",""],[1,"inline","d-block","mb-3"],[1,"mx-3"],[1,"absence-all"],[1,"absence-entry"],[1,"absence-all",3,"click"],[1,"checkbox"],["type","checkbox",1,"form-check-input",3,"change","checked"],[1,"all"],[1,"buttons"],[1,"edit","btn","btn-primary","btn-icon","me-2",3,"routerLink"],[1,"material-icons"],[1,"me-2",3,"reports","disableIfUnavailable"],["target","_blank",1,"mail","btn","btn-primary","btn-icon","me-2",3,"href"],[1,"validation"],[1,"absence-entry",3,"click"],[1,"lesson-class"],[1,"time","pe-2"],[1,"teacher"],[1,"presence-type"],[1,"presence-type","confirm"],[1,"date"],[1,"days-ago"],[1,"date-days-ago"]],template:function(n,o){n&1&&(g(0,_t,1,0,"bkd-spinner",2),l(1,"async"),g(2,$t,3,3)),n&2&&b(d(1,1,o.loading$)?0:2)},dependencies:[G,He,Ge,ke,$e,K,tt],styles:['.absence-all[_ngcontent-%COMP%]{padding:0 0 .5rem 1rem;border-bottom:1px solid #dee2e6;display:grid;grid-template-areas:"checkbox all buttons" "validation validation validation";grid-template-columns:min-content 1fr min-content}.absence-entry[_ngcontent-%COMP%]{padding:1rem;border-bottom:1px solid #dee2e6;display:grid;grid-template-areas:"checkbox lesson-class time teacher" "checkbox presence-type date days-ago";grid-template-columns:min-content 2fr 1fr 2fr}.absence-entry[_ngcontent-%COMP%]:first-child{padding-top:0}.absence-all[_ngcontent-%COMP%] + .absence-entry[_ngcontent-%COMP%]{padding-top:1rem}.checkbox[_ngcontent-%COMP%]{grid-area:checkbox;margin:0;padding:.3rem 1rem 0 0}.checkbox[_ngcontent-%COMP%] input.form-check-input[_ngcontent-%COMP%]{position:static!important;margin:0!important;display:block}.all[_ngcontent-%COMP%]{grid-area:all}.buttons[_ngcontent-%COMP%]{grid-area:buttons;display:flex}.validation[_ngcontent-%COMP%]{grid-area:validation}.validation[_ngcontent-%COMP%], .presence-type.confirm[_ngcontent-%COMP%]{color:#ea161f}.lesson-class[_ngcontent-%COMP%]{grid-area:lesson-class;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.time[_ngcontent-%COMP%]{grid-area:time}.teacher[_ngcontent-%COMP%]{grid-area:teacher}.presence-type[_ngcontent-%COMP%]{color:#adb5bd;grid-area:presence-type}.date[_ngcontent-%COMP%]{grid-area:date}.days-ago[_ngcontent-%COMP%]{color:#adb5bd;grid-area:days-ago}.date-days-ago[_ngcontent-%COMP%]{grid-area:date-days-ago;display:none}@media (max-width: 750px){.absence-entry[_ngcontent-%COMP%]{grid-template-areas:"checkbox lesson-class" "checkbox teacher" "checkbox date-days-ago" "checkbox time" "checkbox presence-type";grid-template-columns:min-content 1fr}.date-days-ago[_ngcontent-%COMP%]{display:block}.date[_ngcontent-%COMP%], .days-ago[_ngcontent-%COMP%]{display:none}}'],changeDetection:0})}}return e})();var Rt=["*"],ci=(()=>{class e{constructor(){this.link=[]}static{this.\u0275fac=function(n){return new(n||e)}}static{this.\u0275cmp=U({type:e,selectors:[["bkd-backlink"]],inputs:{link:"link",params:"params"},ngContentSelectors:Rt,decls:8,vars:5,consts:[[1,"d-flex","align-items-start","justify-content-between","w-100","mb-3"],[3,"routerLink","queryParams"],[1,"material-icons"],[1,"label"]],template:function(n,o){n&1&&(_e(),c(0,"div",0)(1,"a",1)(2,"span",2),u(3,"arrow_back"),p(),c(4,"span",3),u(5),l(6,"translate"),p()(),xe(7),p()),n&2&&(s(),A("routerLink",o.link)("queryParams",o.params),s(4),E(d(6,3,"global.back")))},dependencies:[G,K],styles:["[_nghost-%COMP%]{display:flex}[_nghost-%COMP%] > div[_ngcontent-%COMP%]{height:calc(var(--bs-body-font-size) * var(--bs-body-line-height))}a[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.3rem}a[_ngcontent-%COMP%], a[_ngcontent-%COMP%]:hover, a[_ngcontent-%COMP%]:focus{text-decoration:none}a[_ngcontent-%COMP%]:hover .label[_ngcontent-%COMP%], a[_ngcontent-%COMP%]:focus .label[_ngcontent-%COMP%]{text-decoration:underline;text-decoration-color:#ea161f}"]})}}return e})();export{qe as a,We as b,Vt as c,ot as d,rt as e,W as f,Ke as g,Ft as h,f as i,st as j,Q as k,Qt as l,zt as m,lt as n,Qe as o,on as p,rn as q,sn as r,an as s,ze as t,mn as u,fn as v,yn as w,In as x,Xe as y,Pn as z,Ln as A,et as B,Un as C,tt as D,Kn as E,oi as F,ci as G}; diff --git a/public/apps/webapp-schulverwaltung/chunk-WCDEMEW2.js b/public/apps/webapp-schulverwaltung/chunk-WCDEMEW2.js new file mode 100644 index 00000000..9dd8fa7e --- /dev/null +++ b/public/apps/webapp-schulverwaltung/chunk-WCDEMEW2.js @@ -0,0 +1 @@ +import{a as P,b as q,f as h,g as u,h as N}from"./chunk-XFA6UPZX.js";import{a as E,b as C}from"./chunk-2W7IS4PN.js";function Y(t,r){let e=u(t,r?.in);return e.setHours(0,0,0,0),e}function S(t){let r=u(t),e=new Date(Date.UTC(r.getFullYear(),r.getMonth(),r.getDate(),r.getHours(),r.getMinutes(),r.getSeconds(),r.getMilliseconds()));return e.setUTCFullYear(r.getFullYear()),+t-+e}function L(t,r,e){let[n,a]=N(e?.in,t,r),o=Y(n),i=Y(a),c=+o-S(o),f=+i-S(i);return Math.round((c-f)/q)}var ot={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}},H=(t,r,e)=>{let n,a=ot[t];return typeof a=="string"?n=a:r===1?n=a.one:n=a.other.replace("{{count}}",r.toString()),e?.addSuffix?e.comparison&&e.comparison>0?"in "+n:n+" ago":n};function M(t){return(r={})=>{let e=r.width?String(r.width):t.defaultWidth;return t.formats[e]||t.formats[t.defaultWidth]}}var it={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},st={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},ut={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},Q={date:M({formats:it,defaultWidth:"full"}),time:M({formats:st,defaultWidth:"full"}),dateTime:M({formats:ut,defaultWidth:"full"})};var ct={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},I=(t,r,e,n)=>ct[t];function x(t){return(r,e)=>{let n=e?.context?String(e.context):"standalone",a;if(n==="formatting"&&t.formattingValues){let i=t.defaultFormattingWidth||t.defaultWidth,c=e?.width?String(e.width):i;a=t.formattingValues[c]||t.formattingValues[i]}else{let i=t.defaultWidth,c=e?.width?String(e.width):t.defaultWidth;a=t.values[c]||t.values[i]}let o=t.argumentCallback?t.argumentCallback(r):r;return a[o]}}var dt={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},mt={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},ft={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},ht={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},lt={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},gt={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},pt=(t,r)=>{let e=Number(t),n=e%100;if(n>20||n<10)switch(n%10){case 1:return e+"st";case 2:return e+"nd";case 3:return e+"rd"}return e+"th"},X={ordinalNumber:pt,era:x({values:dt,defaultWidth:"wide"}),quarter:x({values:mt,defaultWidth:"wide",argumentCallback:t=>t-1}),month:x({values:ft,defaultWidth:"wide"}),day:x({values:ht,defaultWidth:"wide"}),dayPeriod:x({values:lt,defaultWidth:"wide",formattingValues:gt,defaultFormattingWidth:"wide"})};function O(t){return(r,e={})=>{let n=e.width,a=n&&t.matchPatterns[n]||t.matchPatterns[t.defaultMatchWidth],o=r.match(a);if(!o)return null;let i=o[0],c=n&&t.parsePatterns[n]||t.parsePatterns[t.defaultParseWidth],f=Array.isArray(c)?yt(c,d=>d.test(i)):wt(c,d=>d.test(i)),l;l=t.valueCallback?t.valueCallback(f):f,l=e.valueCallback?e.valueCallback(l):l;let m=r.slice(i.length);return{value:l,rest:m}}}function wt(t,r){for(let e in t)if(Object.prototype.hasOwnProperty.call(t,e)&&r(t[e]))return e}function yt(t,r){for(let e=0;e{let n=r.match(t.matchPattern);if(!n)return null;let a=n[0],o=r.match(t.parsePattern);if(!o)return null;let i=t.valueCallback?t.valueCallback(o[0]):o[0];i=e.valueCallback?e.valueCallback(i):i;let c=r.slice(a.length);return{value:i,rest:c}}}var bt=/^(\d+)(th|st|nd|rd)?/i,xt=/\d+/i,Ot={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},kt={any:[/^b/i,/^(a|c)/i]},Pt={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},Mt={any:[/1/i,/2/i,/3/i,/4/i]},Dt={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},Wt={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},vt={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},Yt={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},St={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},Tt={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},G={ordinalNumber:_({matchPattern:bt,parsePattern:xt,valueCallback:t=>parseInt(t,10)}),era:O({matchPatterns:Ot,defaultMatchWidth:"wide",parsePatterns:kt,defaultParseWidth:"any"}),quarter:O({matchPatterns:Pt,defaultMatchWidth:"wide",parsePatterns:Mt,defaultParseWidth:"any",valueCallback:t=>t+1}),month:O({matchPatterns:Dt,defaultMatchWidth:"wide",parsePatterns:Wt,defaultParseWidth:"any"}),day:O({matchPatterns:vt,defaultMatchWidth:"wide",parsePatterns:Yt,defaultParseWidth:"any"}),dayPeriod:O({matchPatterns:St,defaultMatchWidth:"any",parsePatterns:Tt,defaultParseWidth:"any"})};var T={code:"en-US",formatDistance:H,formatLong:Q,formatRelative:I,localize:X,match:G,options:{weekStartsOn:0,firstWeekContainsDate:1}};var Ft={};function w(){return Ft}function B(t,r){let e=u(t,r?.in);return e.setFullYear(e.getFullYear(),0,1),e.setHours(0,0,0,0),e}function R(t,r){let e=u(t,r?.in);return L(e,B(e))+1}function g(t,r){let e=w(),n=r?.weekStartsOn??r?.locale?.options?.weekStartsOn??e.weekStartsOn??e.locale?.options?.weekStartsOn??0,a=u(t,r?.in),o=a.getDay(),i=(o=o.getTime()?n+1:e.getTime()>=c.getTime()?n:n-1}function j(t,r){let e=D(t,r),n=h(r?.in||t,0);return n.setFullYear(e,0,4),n.setHours(0,0,0,0),y(n)}function A(t,r){let e=u(t,r?.in),n=+y(e)-+j(e);return Math.round(n/P)+1}function W(t,r){let e=u(t,r?.in),n=e.getFullYear(),a=w(),o=r?.firstWeekContainsDate??r?.locale?.options?.firstWeekContainsDate??a.firstWeekContainsDate??a.locale?.options?.firstWeekContainsDate??1,i=h(r?.in||t,0);i.setFullYear(n+1,0,o),i.setHours(0,0,0,0);let c=g(i,r),f=h(r?.in||t,0);f.setFullYear(n,0,o),f.setHours(0,0,0,0);let l=g(f,r);return+e>=+c?n+1:+e>=+l?n:n-1}function V(t,r){let e=w(),n=r?.firstWeekContainsDate??r?.locale?.options?.firstWeekContainsDate??e.firstWeekContainsDate??e.locale?.options?.firstWeekContainsDate??1,a=W(t,r),o=h(r?.in||t,0);return o.setFullYear(a,0,n),o.setHours(0,0,0,0),g(o,r)}function J(t,r){let e=u(t,r?.in),n=+g(e,r)-+V(e,r);return Math.round(n/P)+1}function s(t,r){let e=t<0?"-":"",n=Math.abs(t).toString().padStart(r,"0");return e+n}var p={y(t,r){let e=t.getFullYear(),n=e>0?e:1-e;return s(r==="yy"?n%100:n,r.length)},M(t,r){let e=t.getMonth();return r==="M"?String(e+1):s(e+1,2)},d(t,r){return s(t.getDate(),r.length)},a(t,r){let e=t.getHours()/12>=1?"pm":"am";switch(r){case"a":case"aa":return e.toUpperCase();case"aaa":return e;case"aaaaa":return e[0];case"aaaa":default:return e==="am"?"a.m.":"p.m."}},h(t,r){return s(t.getHours()%12||12,r.length)},H(t,r){return s(t.getHours(),r.length)},m(t,r){return s(t.getMinutes(),r.length)},s(t,r){return s(t.getSeconds(),r.length)},S(t,r){let e=r.length,n=t.getMilliseconds(),a=Math.trunc(n*Math.pow(10,e-3));return s(a,r.length)}};var k={am:"am",pm:"pm",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},F={G:function(t,r,e){let n=t.getFullYear()>0?1:0;switch(r){case"G":case"GG":case"GGG":return e.era(n,{width:"abbreviated"});case"GGGGG":return e.era(n,{width:"narrow"});case"GGGG":default:return e.era(n,{width:"wide"})}},y:function(t,r,e){if(r==="yo"){let n=t.getFullYear(),a=n>0?n:1-n;return e.ordinalNumber(a,{unit:"year"})}return p.y(t,r)},Y:function(t,r,e,n){let a=W(t,n),o=a>0?a:1-a;if(r==="YY"){let i=o%100;return s(i,2)}return r==="Yo"?e.ordinalNumber(o,{unit:"year"}):s(o,r.length)},R:function(t,r){let e=D(t);return s(e,r.length)},u:function(t,r){let e=t.getFullYear();return s(e,r.length)},Q:function(t,r,e){let n=Math.ceil((t.getMonth()+1)/3);switch(r){case"Q":return String(n);case"QQ":return s(n,2);case"Qo":return e.ordinalNumber(n,{unit:"quarter"});case"QQQ":return e.quarter(n,{width:"abbreviated",context:"formatting"});case"QQQQQ":return e.quarter(n,{width:"narrow",context:"formatting"});case"QQQQ":default:return e.quarter(n,{width:"wide",context:"formatting"})}},q:function(t,r,e){let n=Math.ceil((t.getMonth()+1)/3);switch(r){case"q":return String(n);case"qq":return s(n,2);case"qo":return e.ordinalNumber(n,{unit:"quarter"});case"qqq":return e.quarter(n,{width:"abbreviated",context:"standalone"});case"qqqqq":return e.quarter(n,{width:"narrow",context:"standalone"});case"qqqq":default:return e.quarter(n,{width:"wide",context:"standalone"})}},M:function(t,r,e){let n=t.getMonth();switch(r){case"M":case"MM":return p.M(t,r);case"Mo":return e.ordinalNumber(n+1,{unit:"month"});case"MMM":return e.month(n,{width:"abbreviated",context:"formatting"});case"MMMMM":return e.month(n,{width:"narrow",context:"formatting"});case"MMMM":default:return e.month(n,{width:"wide",context:"formatting"})}},L:function(t,r,e){let n=t.getMonth();switch(r){case"L":return String(n+1);case"LL":return s(n+1,2);case"Lo":return e.ordinalNumber(n+1,{unit:"month"});case"LLL":return e.month(n,{width:"abbreviated",context:"standalone"});case"LLLLL":return e.month(n,{width:"narrow",context:"standalone"});case"LLLL":default:return e.month(n,{width:"wide",context:"standalone"})}},w:function(t,r,e,n){let a=J(t,n);return r==="wo"?e.ordinalNumber(a,{unit:"week"}):s(a,r.length)},I:function(t,r,e){let n=A(t);return r==="Io"?e.ordinalNumber(n,{unit:"week"}):s(n,r.length)},d:function(t,r,e){return r==="do"?e.ordinalNumber(t.getDate(),{unit:"date"}):p.d(t,r)},D:function(t,r,e){let n=R(t);return r==="Do"?e.ordinalNumber(n,{unit:"dayOfYear"}):s(n,r.length)},E:function(t,r,e){let n=t.getDay();switch(r){case"E":case"EE":case"EEE":return e.day(n,{width:"abbreviated",context:"formatting"});case"EEEEE":return e.day(n,{width:"narrow",context:"formatting"});case"EEEEEE":return e.day(n,{width:"short",context:"formatting"});case"EEEE":default:return e.day(n,{width:"wide",context:"formatting"})}},e:function(t,r,e,n){let a=t.getDay(),o=(a-n.weekStartsOn+8)%7||7;switch(r){case"e":return String(o);case"ee":return s(o,2);case"eo":return e.ordinalNumber(o,{unit:"day"});case"eee":return e.day(a,{width:"abbreviated",context:"formatting"});case"eeeee":return e.day(a,{width:"narrow",context:"formatting"});case"eeeeee":return e.day(a,{width:"short",context:"formatting"});case"eeee":default:return e.day(a,{width:"wide",context:"formatting"})}},c:function(t,r,e,n){let a=t.getDay(),o=(a-n.weekStartsOn+8)%7||7;switch(r){case"c":return String(o);case"cc":return s(o,r.length);case"co":return e.ordinalNumber(o,{unit:"day"});case"ccc":return e.day(a,{width:"abbreviated",context:"standalone"});case"ccccc":return e.day(a,{width:"narrow",context:"standalone"});case"cccccc":return e.day(a,{width:"short",context:"standalone"});case"cccc":default:return e.day(a,{width:"wide",context:"standalone"})}},i:function(t,r,e){let n=t.getDay(),a=n===0?7:n;switch(r){case"i":return String(a);case"ii":return s(a,r.length);case"io":return e.ordinalNumber(a,{unit:"day"});case"iii":return e.day(n,{width:"abbreviated",context:"formatting"});case"iiiii":return e.day(n,{width:"narrow",context:"formatting"});case"iiiiii":return e.day(n,{width:"short",context:"formatting"});case"iiii":default:return e.day(n,{width:"wide",context:"formatting"})}},a:function(t,r,e){let a=t.getHours()/12>=1?"pm":"am";switch(r){case"a":case"aa":return e.dayPeriod(a,{width:"abbreviated",context:"formatting"});case"aaa":return e.dayPeriod(a,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return e.dayPeriod(a,{width:"narrow",context:"formatting"});case"aaaa":default:return e.dayPeriod(a,{width:"wide",context:"formatting"})}},b:function(t,r,e){let n=t.getHours(),a;switch(n===12?a=k.noon:n===0?a=k.midnight:a=n/12>=1?"pm":"am",r){case"b":case"bb":return e.dayPeriod(a,{width:"abbreviated",context:"formatting"});case"bbb":return e.dayPeriod(a,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return e.dayPeriod(a,{width:"narrow",context:"formatting"});case"bbbb":default:return e.dayPeriod(a,{width:"wide",context:"formatting"})}},B:function(t,r,e){let n=t.getHours(),a;switch(n>=17?a=k.evening:n>=12?a=k.afternoon:n>=4?a=k.morning:a=k.night,r){case"B":case"BB":case"BBB":return e.dayPeriod(a,{width:"abbreviated",context:"formatting"});case"BBBBB":return e.dayPeriod(a,{width:"narrow",context:"formatting"});case"BBBB":default:return e.dayPeriod(a,{width:"wide",context:"formatting"})}},h:function(t,r,e){if(r==="ho"){let n=t.getHours()%12;return n===0&&(n=12),e.ordinalNumber(n,{unit:"hour"})}return p.h(t,r)},H:function(t,r,e){return r==="Ho"?e.ordinalNumber(t.getHours(),{unit:"hour"}):p.H(t,r)},K:function(t,r,e){let n=t.getHours()%12;return r==="Ko"?e.ordinalNumber(n,{unit:"hour"}):s(n,r.length)},k:function(t,r,e){let n=t.getHours();return n===0&&(n=24),r==="ko"?e.ordinalNumber(n,{unit:"hour"}):s(n,r.length)},m:function(t,r,e){return r==="mo"?e.ordinalNumber(t.getMinutes(),{unit:"minute"}):p.m(t,r)},s:function(t,r,e){return r==="so"?e.ordinalNumber(t.getSeconds(),{unit:"second"}):p.s(t,r)},S:function(t,r){return p.S(t,r)},X:function(t,r,e){let n=t.getTimezoneOffset();if(n===0)return"Z";switch(r){case"X":return z(n);case"XXXX":case"XX":return b(n);case"XXXXX":case"XXX":default:return b(n,":")}},x:function(t,r,e){let n=t.getTimezoneOffset();switch(r){case"x":return z(n);case"xxxx":case"xx":return b(n);case"xxxxx":case"xxx":default:return b(n,":")}},O:function(t,r,e){let n=t.getTimezoneOffset();switch(r){case"O":case"OO":case"OOO":return"GMT"+$(n,":");case"OOOO":default:return"GMT"+b(n,":")}},z:function(t,r,e){let n=t.getTimezoneOffset();switch(r){case"z":case"zz":case"zzz":return"GMT"+$(n,":");case"zzzz":default:return"GMT"+b(n,":")}},t:function(t,r,e){let n=Math.trunc(+t/1e3);return s(n,r.length)},T:function(t,r,e){return s(+t,r.length)}};function $(t,r=""){let e=t>0?"-":"+",n=Math.abs(t),a=Math.trunc(n/60),o=n%60;return o===0?e+String(a):e+String(a)+r+s(o,2)}function z(t,r){return t%60===0?(t>0?"-":"+")+s(Math.abs(t)/60,2):b(t,r)}function b(t,r=""){let e=t>0?"-":"+",n=Math.abs(t),a=s(Math.trunc(n/60),2),o=s(n%60,2);return e+a+r+o}var U=(t,r)=>{switch(t){case"P":return r.date({width:"short"});case"PP":return r.date({width:"medium"});case"PPP":return r.date({width:"long"});case"PPPP":default:return r.date({width:"full"})}},Z=(t,r)=>{switch(t){case"p":return r.time({width:"short"});case"pp":return r.time({width:"medium"});case"ppp":return r.time({width:"long"});case"pppp":default:return r.time({width:"full"})}},Et=(t,r)=>{let e=t.match(/(P+)(p+)?/)||[],n=e[1],a=e[2];if(!a)return U(t,r);let o;switch(n){case"P":o=r.dateTime({width:"short"});break;case"PP":o=r.dateTime({width:"medium"});break;case"PPP":o=r.dateTime({width:"long"});break;case"PPPP":default:o=r.dateTime({width:"full"});break}return o.replace("{{date}}",U(n,r)).replace("{{time}}",Z(a,r))},K={p:Z,P:Et};var Ct=/^D+$/,qt=/^Y+$/,Nt=["D","DD","YY","YYYY"];function tt(t){return Ct.test(t)}function et(t){return qt.test(t)}function rt(t,r,e){let n=Lt(t,r,e);if(console.warn(n),Nt.includes(t))throw new RangeError(n)}function Lt(t,r,e){let n=t[0]==="Y"?"years":"days of the month";return`Use \`${t.toLowerCase()}\` instead of \`${t}\` (in \`${r}\`) for formatting ${n} to the input \`${e}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}function nt(t){return t instanceof Date||typeof t=="object"&&Object.prototype.toString.call(t)==="[object Date]"}function at(t){return!(!nt(t)&&typeof t!="number"||isNaN(+u(t)))}var Ht=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,Qt=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,It=/^'([^]*?)'?$/,Xt=/''/g,_t=/[a-zA-Z]/;function Tr(t,r,e){let n=w(),a=e?.locale??n.locale??T,o=e?.firstWeekContainsDate??e?.locale?.options?.firstWeekContainsDate??n.firstWeekContainsDate??n.locale?.options?.firstWeekContainsDate??1,i=e?.weekStartsOn??e?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,c=u(t,e?.in);if(!at(c))throw new RangeError("Invalid time value");let f=r.match(Qt).map(m=>{let d=m[0];if(d==="p"||d==="P"){let v=K[d];return v(m,a.formatLong)}return m}).join("").match(Ht).map(m=>{if(m==="''")return{isToken:!1,value:"'"};let d=m[0];if(d==="'")return{isToken:!1,value:Gt(m)};if(F[d])return{isToken:!0,value:m};if(d.match(_t))throw new RangeError("Format string contains an unescaped latin alphabet character `"+d+"`");return{isToken:!1,value:m}});a.localize.preprocessor&&(f=a.localize.preprocessor(c,f));let l={firstWeekContainsDate:o,weekStartsOn:i,locale:a};return f.map(m=>{if(!m.isToken)return m.value;let d=m.value;(!e?.useAdditionalWeekYearTokens&&et(d)||!e?.useAdditionalDayOfYearTokens&&tt(d))&&rt(d,r,String(t));let v=F[d[0]];return v(c,d,a.localize,l)}).join("")}function Gt(t){let r=t.match(It);return r?r[1].replace(Xt,"'"):t}export{w as a,g as b,y as c,S as d,Y as e,L as f,T as g,A as h,W as i,J as j,K as k,tt as l,et as m,rt as n,Tr as o}; diff --git a/public/apps/webapp-schulverwaltung/chunk-XFA6UPZX.js b/public/apps/webapp-schulverwaltung/chunk-XFA6UPZX.js new file mode 100644 index 00000000..ca556bc9 --- /dev/null +++ b/public/apps/webapp-schulverwaltung/chunk-XFA6UPZX.js @@ -0,0 +1 @@ +import{d as Q}from"./chunk-PSYDBHTH.js";import{m as Y,n as z,o as W,p as H,q}from"./chunk-W4U7QKJF.js";import{$a as c,Ga as M,H as y,J as w,K as D,Kd as P,Na as $,O as k,Pa as R,Qa as u,Ra as U,S as v,Va as f,X as F,Ya as j,Za as E,_a as s,ea as T,eb as N,f as h,fa as S,gb as O,h as _,hb as a,n as m,r as C,rb as p,tb as V,wa as L,xa as i}from"./chunk-2W7IS4PN.js";var Z=(t,o)=>o.id;function G(t,o){if(t&1&&(s(0,"a",2)(1,"i",3),p(2,"description"),c()()),t&2){let n=a();U("disabled",n.disableIfUnavailable&&n.reports.length===0),u("href",n.reports.length>0&&n.reports[0].url,L)}}function J(t,o){if(t&1){let n=N();s(0,"button",7),O("click",function(){let r=T(n).$implicit,d=a(2);return S(d.openReport(r))}),p(1),c()}if(t&2){let n=o.$implicit;i(),V(" ",n.title," ")}}function K(t,o){if(t&1&&(s(0,"div",1)(1,"a",4)(2,"i",3),p(3,"description"),c()(),s(4,"div",5),j(5,J,2,1,"button",6,Z),c()()),t&2){let n=a();i(),u("id",n.dropdownId),i(3),R("aria-labelledby",n.dropdownId),i(),E(n.reports)}}var ct=(()=>{class t{constructor(){this.reports=[],this.disableIfUnavailable=!1,this.dropdownId=P("reports-link-dropdown")}openReport(n){window.open(n.url,"_blank")}static{this.\u0275fac=function(e){return new(e||t)}}static{this.\u0275cmp=M({type:t,selectors:[["bkd-reports-link"]],inputs:{reports:"reports",disableIfUnavailable:"disableIfUnavailable"},decls:2,vars:2,consts:[["target","_blank",1,"btn","btn-primary","btn-icon",3,"href","disabled"],["ngbDropdown","",1,"d-inline-block"],["target","_blank",1,"btn","btn-primary","btn-icon",3,"href"],[1,"material-icons"],["ngbDropdownToggle","",1,"btn","btn-primary","btn-icon","d-flex","align-items-center",3,"id"],["ngbDropdownMenu",""],["ngbDropdownItem",""],["ngbDropdownItem","",3,"click"]],template:function(e,r){e&1&&$(0,G,3,3,"a",0)(1,K,7,2,"div",1),e&2&&(f(r.reports.length===1||r.reports.length===0&&r.disableIfUnavailable?0:-1),i(),f(r.reports.length>1?1:-1))},dependencies:[q,H,W,z,Y],styles:["a[_ngcontent-%COMP%]{text-decoration:none;color:#fff}"]})}}return t})();var b="default",mt=(()=>{class t{constructor(){this.action$=new h,this.loadingCounts$=C(this.action$.pipe(D((n,{action:e,context:r})=>{switch(e){case"increment":return n[r]=(n[r]||0)+1,n;case"decrement":return n[r]=Math.max(0,(n[r]||0)-1),n;default:return n}},{}),k({})),{connector:()=>new _(1)}),this.loading$=this.loading(),this.loadingCountsSub=this.loadingCounts$.connect()}ngOnDestroy(){this.loadingCountsSub.unsubscribe()}loading(n=b){return this.loadingCounts$.pipe(m(e=>e[n]),m(tt),y())}load(n,e=b){let r=typeof e=="string"?e:e.context||b,d=typeof e=="object"&&e.stopOnFirstValue||!1,g=this.decrementLoadingCount(r),I=!0;function B(){I&&(g(),I=!1)}return n.pipe(Q(this.incrementLoadingCount(r)),d?v(B):w(g))}incrementLoadingCount(n){return()=>this.action$.next({action:"increment",context:n})}decrementLoadingCount(n){return()=>this.action$.next({action:"decrement",context:n})}static{this.\u0275fac=function(e){return new(e||t)}}static{this.\u0275prov=F({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();function tt(t){return(t||0)!==0}var nt=Math.pow(10,8)*24*60*60*1e3,ft=-nt,bt=6048e5,xt=864e5,gt=6e4,It=36e5,ht=1e3;var et=3600;var A=et*24,_t=A*7,ot=A*365.2425,rt=ot/12,Ct=rt*3,x=Symbol.for("constructDateFrom");function l(t,o){return typeof t=="function"?t(o):t&&typeof t=="object"&&x in t?t[x](o):t instanceof Date?new t.constructor(o):new Date(o)}function vt(t,o){return l(o||t,t)}function St(t,...o){let n=l.bind(null,t||o.find(e=>typeof e=="object"));return o.map(n)}export{bt as a,xt as b,gt as c,It as d,ht as e,l as f,vt as g,St as h,ct as i,mt as j}; diff --git a/public/apps/webapp-schulverwaltung/chunk-QRYQOPD4.js b/public/apps/webapp-schulverwaltung/chunk-YHJ5WP4O.js similarity index 84% rename from public/apps/webapp-schulverwaltung/chunk-QRYQOPD4.js rename to public/apps/webapp-schulverwaltung/chunk-YHJ5WP4O.js index 8e78a2cf..20d86a27 100644 --- a/public/apps/webapp-schulverwaltung/chunk-QRYQOPD4.js +++ b/public/apps/webapp-schulverwaltung/chunk-YHJ5WP4O.js @@ -1,2 +1,2 @@ -import{a as We,b as Ye}from"./chunk-24V6FPDD.js";import{b as ie}from"./chunk-DJH5AAGM.js";import"./chunk-ZCHQQKGF.js";import"./chunk-QB4DIFWS.js";import{a as Ze}from"./chunk-W4ESFJ6M.js";import"./chunk-YQAWVQ54.js";import{a as Ke}from"./chunk-THL2WTJD.js";import"./chunk-5WNFCBTP.js";import{p as Ge}from"./chunk-LASWC23V.js";import"./chunk-HCNFZOWE.js";import{e as ee}from"./chunk-746ASKQ4.js";import{b as He}from"./chunk-DTTSX64G.js";import"./chunk-Y4QYVF5K.js";import"./chunk-AYQPMCNZ.js";import"./chunk-BIDSHCYH.js";import"./chunk-4RZQAAPF.js";import{d as Ue,f as F,g as qe}from"./chunk-Z4YBXGVO.js";import"./chunk-3L4RH6QP.js";import{d as ze}from"./chunk-DTYYCJHM.js";import"./chunk-XAZECV42.js";import{L as Ne,b as Be,g as de,p as je,q as Fe}from"./chunk-SRCW6BUG.js";import"./chunk-GOGVGWFJ.js";import{b as Ve}from"./chunk-OSOXMODN.js";import{a as X,b as te}from"./chunk-PSYDBHTH.js";import{w as we}from"./chunk-W4U7QKJF.js";import"./chunk-AVBHFGIF.js";import{$a as c,Ab as E,Bb as U,Cb as H,Db as Te,Eb as w,Ga as S,Hc as Ie,Ic as Ee,Id as Re,Ja as fe,Jb as a,Jd as Ae,Kb as r,Lb as R,M as y,Md as Oe,Na as p,Nb as Pe,Nc as Q,O as be,P as D,Pa as oe,Pd as M,Qa as _,Ra as _e,Rd as Le,Va as m,X as B,Ya as Ce,Za as ge,_ as x,_a as d,a as V,ab as C,b as q,bc as De,cc as O,cd as L,d as pe,db as ae,dc as Y,ea as K,eb as ve,fa as W,g as me,ga as ue,gb as j,h as he,hb as f,hc as ce,ib as ye,jb as Se,l as A,lc as Z,n as u,o as G,qb as re,qc as $e,rb as l,sb as P,tb as T,ub as se,vb as xe,wa as z,xa as n,xc as ke,ya as v,yc as Me,zc as J}from"./chunk-2W7IS4PN.js";var ut=["*"];function ft(e,s){e&1&&ae(0)}function _t(e,s){if(e&1&&(d(0,"a",1),p(1,ft,1,0,"ng-container",3),c()),e&2){let t=f(),i=re(3);_("routerLink",t.link)("queryParams",t.linkParams),n(),_("ngTemplateOutlet",i)}}function Ct(e,s){e&1&&ae(0)}function gt(e,s){if(e&1&&(d(0,"a",2),p(1,Ct,1,0,"ng-container",3),c()),e&2){let t=f(),i=re(3);_("href",t.externalLink,z),n(),_("ngTemplateOutlet",i)}}function vt(e,s){if(e&1&&(d(0,"span",5),l(1),c()),e&2){let t=f(2);n(),P(t.count)}}function yt(e,s){e&1&&(ue(),d(0,"svg",6),C(1,"path",7),c())}function St(e,s){if(e&1&&(d(0,"span",4),l(1),a(2,"translate"),c(),d(3,"div"),Se(4),p(5,vt,2,1,"span",5)(6,yt,2,0,":svg:svg",6),c()),e&2){let t=f();n(),P(r(2,2,t.label)),n(4),m(t.hasCount(t.count)?5:6)}}var Je=(()=>{class e{constructor(){}hasCount(t){return typeof t=="number"&&t>=0}static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275cmp=S({type:e,selectors:[["bkd-dashboard-action"]],inputs:{label:"label",count:"count",link:"link",linkParams:"linkParams",externalLink:"externalLink"},ngContentSelectors:ut,decls:4,vars:2,consts:[["actionContent",""],[3,"routerLink","queryParams"],[3,"href"],[4,"ngTemplateOutlet"],[1,"label"],[1,"count"],["xmlns","http://www.w3.org/2000/svg","width","24","height","24","fill","none"],["fill","currentColor","d","m12 20-1.425-1.4 5.6-5.6H4v-2h12.175l-5.6-5.6L12 4l8 8-8 8Z"]],template:function(i,o){i&1&&(ye(),p(0,_t,2,3,"a",1)(1,gt,2,2,"a",2)(2,St,7,4,"ng-template",null,0,Pe)),i&2&&(m(o.externalLink?-1:0),n(),m(o.externalLink?1:-1))},dependencies:[J,De,M],styles:["a[_ngcontent-%COMP%]{display:flex;gap:1rem;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:#f7e9d2;text-decoration:none;line-height:1}a[_ngcontent-%COMP%]:hover{background:#f2e0c3}a[_ngcontent-%COMP%]:focus-visible{outline-width:2px;outline-offset:-2px}div[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;gap:1rem}.label[_ngcontent-%COMP%]{font-weight:400}.count[_ngcontent-%COMP%]{font-size:1.5rem}"]})}}return e})();var Qe=(()=>{class e{constructor(){}static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275cmp=S({type:e,selectors:[["bkd-dashboard-deadline"]],inputs:{count:"count"},decls:3,vars:8,template:function(i,o){i&1&&(l(0),a(1,"translate"),a(2,"addSpace")),i&2&&xe("",r(1,3,"dashboard.actions.deadline"),"",R(2,5,": ",":"),"",o.count,` +import{a as We,b as Ye}from"./chunk-6WAVBXLP.js";import{b as ie}from"./chunk-DJH5AAGM.js";import"./chunk-C7RLEXTD.js";import"./chunk-QB4DIFWS.js";import{a as Ze}from"./chunk-W4ESFJ6M.js";import"./chunk-IGEPJF2N.js";import{a as Ke}from"./chunk-5ZBE3UL7.js";import"./chunk-4UVNKLEN.js";import{p as Ge}from"./chunk-PXVJ3QLD.js";import"./chunk-HCNFZOWE.js";import{e as ee}from"./chunk-CKFTESOV.js";import{b as He}from"./chunk-DTTSX64G.js";import"./chunk-Y4QYVF5K.js";import"./chunk-AYQPMCNZ.js";import"./chunk-A3AAQWNQ.js";import"./chunk-FH4OOWQM.js";import{d as Ue,f as F,g as qe}from"./chunk-Z4YBXGVO.js";import"./chunk-3L4RH6QP.js";import{d as ze}from"./chunk-DTYYCJHM.js";import"./chunk-XAZECV42.js";import{b as Be,c as Fe,x as Ne}from"./chunk-UYCIECIQ.js";import"./chunk-G6EB45SC.js";import{e as de,o as je}from"./chunk-WCDEMEW2.js";import{j as Ve}from"./chunk-XFA6UPZX.js";import{a as X,b as te}from"./chunk-PSYDBHTH.js";import{w as we}from"./chunk-W4U7QKJF.js";import"./chunk-AVBHFGIF.js";import{$a as c,Ab as E,Bb as U,Cb as H,Db as Te,Eb as w,Ga as S,Hc as Ie,Ic as Ee,Id as Re,Ja as fe,Jb as a,Jd as Ae,Kb as r,Lb as R,M as y,Md as Oe,Na as p,Nb as Pe,Nc as Q,O as be,P as D,Pa as oe,Pd as M,Qa as _,Ra as _e,Rd as Le,Va as m,X as B,Ya as Ce,Za as ge,_ as x,_a as d,a as V,ab as C,b as q,bc as De,cc as O,cd as L,d as pe,db as ae,dc as Y,ea as K,eb as ve,fa as W,g as me,ga as ue,gb as j,h as he,hb as f,hc as ce,ib as ye,jb as Se,l as A,lc as Z,n as u,o as G,qb as re,qc as $e,rb as l,sb as P,tb as T,ub as se,vb as xe,wa as z,xa as n,xc as ke,ya as v,yc as Me,zc as J}from"./chunk-2W7IS4PN.js";var ut=["*"];function ft(e,s){e&1&&ae(0)}function _t(e,s){if(e&1&&(d(0,"a",1),p(1,ft,1,0,"ng-container",3),c()),e&2){let t=f(),i=re(3);_("routerLink",t.link)("queryParams",t.linkParams),n(),_("ngTemplateOutlet",i)}}function Ct(e,s){e&1&&ae(0)}function gt(e,s){if(e&1&&(d(0,"a",2),p(1,Ct,1,0,"ng-container",3),c()),e&2){let t=f(),i=re(3);_("href",t.externalLink,z),n(),_("ngTemplateOutlet",i)}}function vt(e,s){if(e&1&&(d(0,"span",5),l(1),c()),e&2){let t=f(2);n(),P(t.count)}}function yt(e,s){e&1&&(ue(),d(0,"svg",6),C(1,"path",7),c())}function St(e,s){if(e&1&&(d(0,"span",4),l(1),a(2,"translate"),c(),d(3,"div"),Se(4),p(5,vt,2,1,"span",5)(6,yt,2,0,":svg:svg",6),c()),e&2){let t=f();n(),P(r(2,2,t.label)),n(4),m(t.hasCount(t.count)?5:6)}}var Je=(()=>{class e{constructor(){}hasCount(t){return typeof t=="number"&&t>=0}static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275cmp=S({type:e,selectors:[["bkd-dashboard-action"]],inputs:{label:"label",count:"count",link:"link",linkParams:"linkParams",externalLink:"externalLink"},ngContentSelectors:ut,decls:4,vars:2,consts:[["actionContent",""],[3,"routerLink","queryParams"],[3,"href"],[4,"ngTemplateOutlet"],[1,"label"],[1,"count"],["xmlns","http://www.w3.org/2000/svg","width","24","height","24","fill","none"],["fill","currentColor","d","m12 20-1.425-1.4 5.6-5.6H4v-2h12.175l-5.6-5.6L12 4l8 8-8 8Z"]],template:function(i,o){i&1&&(ye(),p(0,_t,2,3,"a",1)(1,gt,2,2,"a",2)(2,St,7,4,"ng-template",null,0,Pe)),i&2&&(m(o.externalLink?-1:0),n(),m(o.externalLink?1:-1))},dependencies:[J,De,M],styles:["a[_ngcontent-%COMP%]{display:flex;gap:1rem;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:#f7e9d2;text-decoration:none;line-height:1}a[_ngcontent-%COMP%]:hover{background:#f2e0c3}a[_ngcontent-%COMP%]:focus-visible{outline-width:2px;outline-offset:-2px}div[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;gap:1rem}.label[_ngcontent-%COMP%]{font-weight:400}.count[_ngcontent-%COMP%]{font-size:1.5rem}"]})}}return e})();var Qe=(()=>{class e{constructor(){}static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275cmp=S({type:e,selectors:[["bkd-dashboard-deadline"]],inputs:{count:"count"},decls:3,vars:8,template:function(i,o){i&1&&(l(0),a(1,"translate"),a(2,"addSpace")),i&2&&xe("",r(1,3,"dashboard.actions.deadline"),"",R(2,5,": ",":"),"",o.count,` `)},dependencies:[M,qe],styles:["[_nghost-%COMP%]{background:#ea161f;color:#fff;white-space:nowrap;font-weight:500;font-size:.875rem;min-height:1.5rem;display:flex;padding:.375rem .5rem;align-items:center;border-radius:2.5rem}"]})}}return e})();var Xe=Q({Id:Ee,Holder:Ie});var et=(()=>{class e extends X{constructor(t,i){super(t,i,Xe,"TeacherSubstitutions")}getTeacherSubstitution(t){return this.getList({params:{"filter.Id":`=${t}`}}).pipe(u(i=>i[0]||null))}static{this.\u0275fac=function(i){return new(i||e)(x(Z),x(L))}}static{this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})();var kt=["LessonTeacherRole","ClassTeacherRole","TeacherRole","AbsenceAdministratorRole"],Mt=["LessonTeacherRole","TeacherRole","StudentRole","SubstituteAdministratorRole"],It=["LessonTeacherRole","StudentRole"],I=(()=>{class e{constructor(t,i,o,h,b,$,N,bt){this.settingsService=t,this.lessonPresencesService=i,this.studentsService=o,this.courseService=h,this.teacherSubstitutionService=b,this.personService=$,this.storageService=N,this.settings=bt,this.rolesAndPermissions$=this.settingsService.getRolesAndPermissions(),this.userId$=new he(1),this.lessonAbsences$=this.userId$.pipe(D(g=>this.studentsService.getLessonAbsences(g)),y(1)),this.lessonIncidents$=this.userId$.pipe(D(g=>this.studentsService.getLessonIncidents(g)),y(1)),this.loading$=this.rolesAndPermissions$.pipe(u(g=>g==null)),this.hasSearch$=this.rolesAndPermissions$.pipe(u(this.hasRoles(kt))),this.hasActions$=this.rolesAndPermissions$.pipe(u(this.hasRoles(Mt))),this.hasTimetable$=this.rolesAndPermissions$.pipe(u(this.hasRoles(It))),this.hasLessonTeacherRole$=this.rolesAndPermissions$.pipe(u(this.hasRoles(["LessonTeacherRole"])),y(1)),this.hasTeacherRole$=this.rolesAndPermissions$.pipe(u(this.hasRoles(["TeacherRole"])),y(1)),this.hasStudentRole$=this.rolesAndPermissions$.pipe(u(this.hasRoles(["StudentRole"])),y(1)),this.hasSubstituteAdministratorRole$=this.rolesAndPermissions$.pipe(u(this.hasRoles(["SubstituteAdministratorRole"])),y(1)),this.editAbsencesCount$=this.hasLessonTeacherRole$.pipe(D(g=>g?this.lessonPresencesService.checkableAbsencesCount():A(!1)),y(1)),this.openAbsencesCount$=this.rolesAndPermissions$.pipe(u(this.hasRoles(["LessonTeacherRole","ClassTeacherRole"])),D(g=>g?this.lessonPresencesService.getListOfUnconfirmed():A([])),u(g=>g.length),y(1)),this.myAbsencesCount$=this.hasStudentRole$.pipe(D(g=>g?this.getMyAbsences():A([])),u(this.getMyAbsencesCount.bind(this)),y(1)),this.coursesToRateCount$=this.courseService.getNumberOfCoursesForRating().pipe(be(0),y(1)),this.hasPresenceControl$=this.hasLessonTeacherRole$.pipe(D(g=>g?this.lessonPresencesService.hasLessonsLessonTeacher():A(!1)),y(1)),this.hasOpenAbsences$=this.openAbsencesCount$.pipe(u(g=>g>0),y(1)),this.editAbsencesParams$=this.getFullName().pipe(u(g=>({confirmationStates:this.settings.checkableAbsenceStateId,teacher:g})),y(1));let le=this.storageService.getPayload()?.id_person;le&&this.userId$.next(Number(le))}hasRoles(t){return i=>(i??[]).some(o=>t.includes(o))}getMyAbsences(){return G([this.userId$,this.lessonAbsences$,this.lessonIncidents$]).pipe(D(([t,i,o])=>this.loadTimetableEntries(t,i,o).pipe(u(h=>[...i,...o].map(b=>this.withTimetableEntry(b,h)).filter(we)))))}getMyAbsencesCount(t){return t?.filter(i=>("ConfirmationStateId"in i?i.ConfirmationStateId:null)===this.settings.unconfirmedAbsenceStateId).length||0}getFullName(){let t=Number(this.storageService.getPayload()?.substitution_id)||null;return t?this.teacherSubstitutionService.getTeacherSubstitution(t).pipe(u(i=>i?.Holder)):this.personService.getMyself().pipe(u(i=>i.FullName))}withTimetableEntry(t,i){return i.find(o=>o.Id===t.LessonRef.Id)?t:null}loadTimetableEntries(t,i,o){return this.studentsService.getTimetableEntries(t,{"filter.Id":`;${[...i,...o].map(h=>h.LessonRef.Id).join(";")}`})}static{this.\u0275fac=function(i){return new(i||e)(x(ie),x(ee),x(F),x(Ge),x(et),x(He),x(Le),x(L))}}static{this.\u0275prov=B({token:e,factory:e.\u0275fac})}}return e})();var Et=()=>["/presence-control"],Rt=()=>["/edit-absences"],At=()=>["/open-absences"],Ot=()=>["/events"],Lt=()=>["/my-absences","report"],wt=()=>["/my-absences"];function Bt(e,s){e&1&&C(0,"bkd-dashboard-action",0),e&2&&_("label","dashboard.actions.presence-control")("link",w(2,Et))}function jt(e,s){if(e&1&&(C(0,"bkd-dashboard-action",1),a(1,"async"),a(2,"async")),e&2){let t=f();_("label","dashboard.actions.edit-absences")("link",w(8,Rt))("linkParams",r(1,4,t.dashboardService.editAbsencesParams$))("count",r(2,6,t.dashboardService.editAbsencesCount$))}}function Ft(e,s){if(e&1&&(C(0,"bkd-dashboard-action",2),a(1,"async")),e&2){let t=f();_("label","dashboard.actions.open-absences")("link",w(5,At))("count",r(1,3,t.dashboardService.openAbsencesCount$))}}function Nt(e,s){if(e&1&&(C(0,"bkd-dashboard-deadline",4),a(1,"async")),e&2){let t=f(2);_("count",r(1,1,t.dashboardService.coursesToRateCount$))}}function zt(e,s){if(e&1&&(d(0,"bkd-dashboard-action",0),p(1,Nt,2,3,"bkd-dashboard-deadline",4),a(2,"async"),c()),e&2){let t,i=f();_("label","dashboard.actions.tests")("link",w(5,Ot)),n(),m((t=r(2,3,i.dashboardService.coursesToRateCount$))!==null&&t!==void 0&&t?1:-1)}}function Ut(e,s){e&1&&C(0,"bkd-dashboard-action",0),e&2&&_("label","dashboard.actions.my-absences-report")("link",w(2,Lt))}function Ht(e,s){if(e&1&&(C(0,"bkd-dashboard-action",2),a(1,"async")),e&2){let t=f();_("label","dashboard.actions.my-absences")("link",w(5,wt))("count",r(1,3,t.dashboardService.myAbsencesCount$))}}function Vt(e,s){if(e&1&&C(0,"bkd-dashboard-action",3),e&2){let t=f();_("label","dashboard.actions.substitutions")("externalLink",t.substitutionsAdminLink)}}var it=(()=>{class e{constructor(t,i){this.dashboardService=t,this.settings=i}get substitutionsAdminLink(){return this.settings.dashboard.substitutionsAdminLink}static{this.\u0275fac=function(i){return new(i||e)(v(I),v(L))}}static{this.\u0275cmp=S({type:e,selectors:[["bkd-dashboard-actions"]],decls:15,vars:23,consts:[[3,"label","link"],[3,"label","link","linkParams","count"],[3,"label","link","count"],[3,"label","externalLink"],[3,"count"]],template:function(i,o){i&1&&(p(0,Bt,1,3,"bkd-dashboard-action",0),a(1,"async"),p(2,jt,3,9,"bkd-dashboard-action",1),a(3,"async"),a(4,"async"),p(5,Ft,2,6,"bkd-dashboard-action",2),a(6,"async"),p(7,zt,3,6,"bkd-dashboard-action",0),a(8,"async"),p(9,Ut,1,3,"bkd-dashboard-action",0),a(10,"async"),p(11,Ht,2,6,"bkd-dashboard-action",2),a(12,"async"),p(13,Vt,1,2,"bkd-dashboard-action",3),a(14,"async")),i&2&&(m(r(1,7,o.dashboardService.hasPresenceControl$)?0:-1),n(2),m(r(3,9,o.dashboardService.hasLessonTeacherRole$)&&r(4,11,o.dashboardService.editAbsencesParams$)?2:-1),n(3),m(r(6,13,o.dashboardService.hasOpenAbsences$)?5:-1),n(2),m(r(8,15,o.dashboardService.hasTeacherRole$)?7:-1),n(2),m(r(10,17,o.dashboardService.hasStudentRole$)?9:-1),n(2),m(r(12,19,o.dashboardService.hasStudentRole$)?11:-1),n(2),m(r(14,21,o.dashboardService.hasSubstituteAdministratorRole$)?13:-1))},dependencies:[Je,Qe,O],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;gap:.5rem}"]})}}return e})();var nt=(()=>{class e{constructor(t,i){this.studentsRestService=t,this.router=i}navigateToDossier(t){return pe(this,null,function*(){let i=Number(t);yield this.router.navigate(["dashboard","student",i,"addresses"])})}static{this.\u0275fac=function(i){return new(i||e)(v(F),v(Me))}}static{this.\u0275cmp=S({type:e,selectors:[["bkd-dashboard-search"]],decls:1,vars:2,consts:[[3,"valueChange","typeaheadService","placeholder"]],template:function(i,o){i&1&&(d(0,"bkd-typeahead",0),j("valueChange",function(b){return b&&o.navigateToDossier(b)}),c()),i&2&&_("typeaheadService",o.studentsRestService)("placeholder","dashboard.search.placeholder")},dependencies:[Ze],styles:["[_nghost-%COMP%]{display:block;padding:.75rem;background:#f7e9d2}"]})}}return e})();var ot=(()=>{class e{constructor(t){this.sanitizer=t}transform(t,i){switch(i){case"html":return this.sanitizer.bypassSecurityTrustHtml(t);case"style":return this.sanitizer.bypassSecurityTrustStyle(t);case"script":return this.sanitizer.bypassSecurityTrustScript(t);case"url":return this.sanitizer.bypassSecurityTrustUrl(t);case"resourceUrl":return this.sanitizer.bypassSecurityTrustResourceUrl(t);default:throw new Error(`Invalid safe type specified: ${i}`)}}static{this.\u0275fac=function(i){return new(i||e)(v($e,16))}}static{this.\u0275pipe=fe({name:"safe",type:e,pure:!0})}}return e})();function at(e){return{id:ct(e.EventId,e.Id),from:e.From,until:e.To,eventId:e.EventId,subject:e.EventDesignation,room:e.EventLocation||void 0,teacher:e.EventManagerInformation||void 0}}function rt(e){let s=e.reduce((t,i)=>{let o=ct(i.EventRef.Id,i.LessonRef.Id);return q(V({},t),{[o]:[...t[o]??[],i.StudyClassNumber]})},{});return Object.keys(s).reduce((t,i)=>q(V({},t),{[i]:Re([...s[i]].sort())}),{})}function st(e,s){return e.map(t=>q(V({},t),{studyClass:s[t.id]?.join(", ")}))}function ct(e,s){return`${e}-${s}`}var qt=(e,s)=>s.id;function Gt(e,s){e&1&&(d(0,"th"),l(1),a(2,"translate"),c()),e&2&&(n(),T(" ",r(2,1,"dashboard.timetable.table.teacher")," "))}function Kt(e,s){if(e&1&&(E(0),d(1,"a",3),l(2),d(3,"span",8),l(4),c()()),e&2){let t=f().$implicit,i=f(2).buildLink(t.eventId);n(),_("routerLink",i.link)("queryParams",i.params),n(),T(" ",t.subject,""),n(2),T(", ",t.studyClass,"")}}function Wt(e,s){if(e&1&&l(0),e&2){let t=f().$implicit;T(" ",t.subject," ")}}function Yt(e,s){if(e&1&&(d(0,"td",4),l(1),a(2,"translate"),c()),e&2){let t=f().$implicit;n(),se(" ",r(2,2,"dashboard.timetable.table.study-class"),": ",t.studyClass," ")}}function Zt(e,s){if(e&1&&(d(0,"td",5),l(1),c()),e&2){let t=f().$implicit;n(),T(" ",t.teacher," ")}}function Jt(e,s){e&1&&(d(0,"span",7),l(1),a(2,"translate"),c()),e&2&&(n(),P(r(2,1,"dashboard.timetable.table.room")))}function Qt(e,s){if(e&1&&(d(0,"tr")(1,"td",1),l(2),a(3,"date"),a(4,"date"),c(),d(5,"td",2),p(6,Kt,5,4,"a",3),a(7,"async"),p(8,Wt,1,1),c(),p(9,Yt,3,4,"td",4),a(10,"async"),p(11,Zt,2,1,"td",5),a(12,"async"),d(13,"td",6),p(14,Jt,3,3,"span",7),l(15),c()()),e&2){let t=s.$implicit,i=f(2);n(2),se(" ",R(3,7,t.from,"HH:mm"),"\u2013",R(4,10,t.until,"HH:mm")," "),n(4),m(r(7,13,i.isTeacher$)?6:8),n(3),m(r(10,15,i.isTeacher$)?9:-1),n(2),m(r(12,17,i.isStudent$)?11:-1),n(3),m(t.room?14:-1),n(),T(" ",t.room," ")}}function Xt(e,s){if(e&1&&(d(0,"table",0)(1,"thead")(2,"tr")(3,"th"),l(4),a(5,"translate"),c(),d(6,"th"),l(7),a(8,"translate"),c(),p(9,Gt,3,3,"th"),a(10,"async"),d(11,"th"),l(12),a(13,"translate"),c()()(),d(14,"tbody"),Ce(15,Qt,16,19,"tr",null,qt),c()()),e&2){let t=f();n(4),P(r(5,4,"dashboard.timetable.table.time")),n(3),P(r(8,6,"dashboard.timetable.table.subject")),n(2),m(r(10,8,t.isStudent$)?9:-1),n(3),T(" ",r(13,10,"dashboard.timetable.table.room")," "),n(3),ge(t.entries)}}function ei(e,s){e&1&&(d(0,"p"),l(1),a(2,"translate"),c()),e&2&&(n(),P(r(2,1,"dashboard.timetable.no-entries")))}var dt=(()=>{class e{constructor(t){this.dashboardService=t,this.entries=[],this.isStudent$=this.dashboardService.hasStudentRole$,this.isTeacher$=this.dashboardService.hasLessonTeacherRole$}buildLink(t){return ze(We(t,"/dashboard"))}static{this.\u0275fac=function(i){return new(i||e)(v(I))}}static{this.\u0275cmp=S({type:e,selectors:[["bkd-dashboard-timetable-table"]],inputs:{entries:"entries"},decls:2,vars:1,consts:[[1,"table"],[1,"time"],[1,"subject"],[3,"routerLink","queryParams"],[1,"study-class"],[1,"teacher"],[1,"room"],[1,"room-label"],[1,"subject-study-class"]],template:function(i,o){i&1&&p(0,Xt,17,12,"table",0)(1,ei,3,3,"p"),i&2&&m(o.entries.length>0?0:1)},dependencies:[O,Y,M,J],styles:['td[_ngcontent-%COMP%], th[_ngcontent-%COMP%]{padding:1rem 1.75rem}.room-label[_ngcontent-%COMP%], td.study-class[_ngcontent-%COMP%]{display:none}@media (max-width: 767.98px){table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%]{display:none}table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%]{border-top:1px solid var(--bs-border-color)}table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr 1fr;grid-template-areas:"time room" "subject subject" "study-class study-class" "teacher teacher";gap:.5rem;padding:1rem;border-bottom:1px solid var(--bs-border-color)}table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{border-bottom:0;padding:0}table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] td.time[_ngcontent-%COMP%]{grid-area:time;font-size:.875rem;line-height:1.125rem;font-weight:300}table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] td.subject[_ngcontent-%COMP%]{grid-area:subject;font-size:1rem;line-height:1.25rem;font-weight:400}table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] td.teacher[_ngcontent-%COMP%]{grid-area:teacher;font-size:.8125rem;line-height:1.0625rem;font-weight:300}table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] td.room[_ngcontent-%COMP%]{grid-area:room;text-align:right;font-size:.875rem;line-height:1.125rem;font-weight:300}table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] td.study-class[_ngcontent-%COMP%]{grid-area:study-class;font-size:.8125rem;line-height:1.0625rem;font-weight:300}td.study-class[_ngcontent-%COMP%]{display:block}.subject-study-class[_ngcontent-%COMP%]{display:none}.room-label[_ngcontent-%COMP%]{display:inline}}']})}}return e})();var ti=Q({}),lt=(()=>{class e extends X{constructor(t,i){super(t,i,ti,"Teachers")}getTimetableEntries(t,i={}){let o=i instanceof ce?i:new ce({fromObject:i});return o=o.set("fields","Id,From,To,EventId,EventNumber,EventDesignation,EventLocation"),this.http.get(`${this.baseUrl}/${t}/TimetableEntries/CurrentSemester`,{params:o}).pipe(D(Oe(Ue)))}static{this.\u0275fac=function(i){return new(i||e)(x(Z),x(L))}}static{this.\u0275prov=B({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})();function ni(e,s){e&1&&(d(0,"a",6),a(1,"safe"),l(2),a(3,"translate"),c()),e&2&&(_("href",R(1,2,s,"url"),z),n(2),T(" ",r(3,5,"dashboard.timetable.subscribe-calendar")," "))}function oi(e,s){e&1&&C(0,"bkd-spinner")}function ai(e,s){e&1&&(d(0,"a",8),a(1,"safe"),l(2),a(3,"translate"),c()),e&2&&(_("href",R(1,2,s,"url"),z),n(2),T(" ",r(3,5,"dashboard.timetable.subscribe-calendar")," "))}function ri(e,s){if(e&1&&(C(0,"bkd-dashboard-timetable-table",7),p(1,ai,4,7,"a",8),a(2,"async")),e&2){let t,i=f(),o=H(18);_("entries",o),n(),m((t=r(2,2,i.getSubscribeCalendarUrl()))?1:-1,t)}}var si="cal",pt=(()=>{class e{constructor(t,i,o,h,b,$){this.teachersService=t,this.studentsService=i,this.lessonPresencesService=o,this.userSettings=h,this.dashboardService=b,this.loadingService=$,this.userId$=this.dashboardService.userId$,this.isTeacher$=this.dashboardService.hasLessonTeacherRole$,this.isStudent$=this.dashboardService.hasStudentRole$,this.date$=new me(de(new Date)),this.loading$=this.loadingService.loading$,this.timetableEntries$=this.loadTimetableEntries()}gotoToday(){this.date$.next(de(new Date))}gotoPreviousDay(){this.date$.next(Fe(this.date$.getValue(),1))}gotoNextDay(){this.date$.next(Be(this.date$.getValue(),1))}getSubscribeCalendarUrl(){return this.userSettings.getSetting(si)}loadTimetableEntries(){return G([this.isTeacher$,this.isStudent$,this.userId$,this.date$]).pipe(D(([t,i,o,h])=>{let b=()=>t?this.fetchTimetableEntries("teacher",o,h):i?this.fetchTimetableEntries("student",o,h):A([]);return this.loadingService.load(b())}),y(1))}fetchTimetableEntries(t,i,o){let h={"filter.From":`=${je(o,"yyyy-MM-dd")}`,sort:"From,To"};return(t==="teacher"?this.teachersService.getTimetableEntries(i,h):this.studentsService.getTimetableEntries(i,h)).pipe(u(b=>b.map(at)),u(b=>Ae(b,$=>$.id)),D(b=>t==="teacher"?this.loadStudyClasses(o).pipe(u($=>st(b,$))):A(b)))}loadStudyClasses(t){return this.lessonPresencesService.getLessonStudyClassesByDate(t).pipe(u(rt))}static{this.\u0275fac=function(i){return new(i||e)(v(lt),v(F),v(ee),v(ie),v(I),v(Ve))}}static{this.\u0275cmp=S({type:e,selectors:[["bkd-dashboard-timetable"]],decls:23,vars:24,consts:[[1,"header"],["type","button",1,"btn","btn-primary","today",3,"click"],["type","button",1,"btn","btn-secondary","previous-day",3,"click"],[1,"material-icons"],["type","button",1,"btn","btn-secondary","next-day",3,"click"],[1,"date"],["target","_parent",1,"btn","btn-secondary","subscribe-calendar-header",3,"href"],[3,"entries"],["target","_parent",1,"btn","btn-secondary","subscribe-calendar-bottom",3,"href"]],template:function(i,o){if(i&1){let h=ve();d(0,"div",0)(1,"button",1),j("click",function(){return K(h),W(o.gotoToday())}),l(2),a(3,"translate"),c(),d(4,"button",2),a(5,"translate"),j("click",function(){return K(h),W(o.gotoPreviousDay())}),d(6,"span",3),l(7,"chevron_left"),c()(),d(8,"button",4),a(9,"translate"),j("click",function(){return K(h),W(o.gotoNextDay())}),d(10,"span",3),l(11,"chevron_right"),c()(),d(12,"div",5),l(13),a(14,"async"),a(15,"date"),c(),p(16,ni,4,7,"a",6),a(17,"async"),c(),E(18),a(19,"async"),p(20,oi,1,0,"bkd-spinner"),a(21,"async"),p(22,ri,3,4)}if(i&2){let h;n(2),T(" ",r(3,6,"dashboard.timetable.today")," "),n(2),oe("aria-label",r(5,8,"dashboard.timetable.previousDay")),n(4),oe("aria-label",r(9,10,"dashboard.timetable.nextDay")),n(5),P(R(15,14,r(14,12,o.date$),"E, dd. MMMM yyyy")),n(3),m((h=r(17,17,o.getSubscribeCalendarUrl()))?16:-1,h),n(2),U(r(19,19,o.timetableEntries$)),n(2),m(r(21,22,o.loading$)?20:22)}},dependencies:[dt,te,O,Y,M,ot],styles:["[_nghost-%COMP%]{display:block;margin-bottom:1rem}.header[_ngcontent-%COMP%]{margin-top:1rem;margin-bottom:2rem;display:flex;align-items:center;gap:1rem}.previous-day[_ngcontent-%COMP%], .next-day[_ngcontent-%COMP%]{padding-left:.375rem;padding-right:.375rem}.date[_ngcontent-%COMP%]{font-size:1.25rem;font-weight:600}.subscribe-calendar-header[_ngcontent-%COMP%]{margin-left:auto}.subscribe-calendar-bottom[_ngcontent-%COMP%]{display:none}a.btn[_ngcontent-%COMP%]{text-decoration:none}@media (max-width: 767.98px){.subscribe-calendar-header[_ngcontent-%COMP%]{display:none}.subscribe-calendar-bottom[_ngcontent-%COMP%]{display:block;margin-top:2rem}}@media (max-width: 767.98px) and (max-width: 575.98px){.header[_ngcontent-%COMP%]{flex-wrap:wrap-reverse}.header[_ngcontent-%COMP%] .date[_ngcontent-%COMP%]{width:100%}}"]})}}return e})();function ci(e,s){e&1&&C(0,"bkd-spinner")}function di(e,s){e&1&&(d(0,"p"),l(1),a(2,"translate"),c()),e&2&&(n(),T(" ",r(2,1,"dashboard.no-access")," "))}function li(e,s){e&1&&(d(0,"div")(1,"h2"),l(2),a(3,"translate"),c(),C(4,"bkd-dashboard-search"),c()),e&2&&(n(2),P(r(3,1,"dashboard.search.title")))}function pi(e,s){e&1&&(d(0,"div")(1,"h2"),l(2),a(3,"translate"),c(),C(4,"bkd-dashboard-actions"),c()),e&2&&(n(2),P(r(3,1,"dashboard.actions.title")))}function mi(e,s){if(e&1&&(d(0,"div",1),p(1,li,5,3,"div")(2,pi,5,3,"div"),c()),e&2){f();let t=H(2),i=H(4);n(),m(t?1:-1),n(),m(i?2:-1)}}function hi(e,s){e&1&&(d(0,"div",2)(1,"h2"),l(2),a(3,"translate"),c(),C(4,"bkd-dashboard-timetable"),c()),e&2&&(n(2),P(r(3,1,"dashboard.timetable.title")))}var mt=(()=>{class e{constructor(t){this.dashboardService=t}static{this.\u0275fac=function(i){return new(i||e)(v(I))}}static{this.\u0275cmp=S({type:e,selectors:[["bkd-dashboard-layout"]],decls:17,vars:19,consts:[[1,"columns"],[1,"search-actions-column"],[1,"timetable-column"]],template:function(i,o){if(i&1&&(E(0),a(1,"async"),E(2),a(3,"async"),E(4),a(5,"async"),E(6),a(7,"async"),d(8,"div")(9,"h1"),l(10),a(11,"translate"),c(),p(12,ci,1,0,"bkd-spinner")(13,di,3,3,"p"),d(14,"div",0),p(15,mi,3,2,"div",1)(16,hi,5,3,"div",2),c()()),i&2){let h=r(1,7,o.dashboardService.loading$);n(2);let b=U(r(3,9,o.dashboardService.hasSearch$));n(2);let $=U(r(5,12,o.dashboardService.hasActions$)),N=r(7,15,o.dashboardService.hasTimetable$);n(5),_e("visually-hidden",h||b||$||N),n(),T(" ",r(11,17,"dashboard.heading")," "),n(2),m(h?12:-1),n(),m(!h&&!b&&!$&&!N?13:-1),n(2),m(b||$?15:-1),n(),m(N?16:-1)}},dependencies:[te,nt,it,pt,O,M],styles:[".columns[_ngcontent-%COMP%]{display:flex;flex-direction:column}.columns[_ngcontent-%COMP%], .search-actions-column[_ngcontent-%COMP%]{gap:3rem}.search-actions-column[_ngcontent-%COMP%]{flex:1;display:flex;flex-direction:column;max-width:40rem}.timetable-column[_ngcontent-%COMP%]{flex:2}@media (min-width: 992px){.columns[_ngcontent-%COMP%]{flex-direction:row;gap:1.5rem}.search-actions-column[_ngcontent-%COMP%]{max-width:33%}}"],changeDetection:0})}}return e})();var ht=(()=>{class e{constructor(){}static{this.\u0275fac=function(i){return new(i||e)}}static{this.\u0275cmp=S({type:e,selectors:[["bkd-dashboard"]],features:[Te([I,Ne])],decls:1,vars:0,template:function(i,o){i&1&&C(0,"router-outlet")},dependencies:[ke],encapsulation:2,changeDetection:0})}}return e})();var En=[{path:"",component:ht,children:[{path:"",component:mt},Ke,Ye("students/:id")]}];export{En as DASHBOARD_ROUTES}; diff --git a/public/apps/webapp-schulverwaltung/main.js b/public/apps/webapp-schulverwaltung/main.js index 348acdea..6e6a8664 100644 --- a/public/apps/webapp-schulverwaltung/main.js +++ b/public/apps/webapp-schulverwaltung/main.js @@ -1 +1 @@ -import{b as Mn}from"./chunk-HCNFZOWE.js";import{c as An}from"./chunk-DTYYCJHM.js";import{a as bn,b as wn}from"./chunk-XAZECV42.js";import{t as gn}from"./chunk-W4U7QKJF.js";import{a as ge}from"./chunk-AVBHFGIF.js";import{$ as H,$a as Y,B as jt,Ba as Gt,Bc as mn,Cc as fn,Ed as yn,Ga as J,Jb as fe,Kb as pe,Ld as _n,Na as xt,Nd as Sn,Od as En,Pd as Oe,Qa as Ne,Qd as vn,Rd as Tn,Sa as Wt,V as v,Va as Jt,Wa as Yt,Wb as nn,X as W,Xa as Xt,Ya as Ce,Z as qt,Za as Fe,_ as j,_a as U,_b as rt,a as Pe,ab as Zt,bd as pn,c as Bt,cc as sn,cd as X,ea as Ut,eb as en,fa as Qt,gb as tn,hb as st,k as Kt,kc as rn,lc as on,mc as an,na as De,nc as ln,oa as Vt,oc as cn,pc as un,rb as re,sa as nt,sb as it,ta as Ht,tb as Re,xa as q,xc as hn,ya as ie,yc as ke,zc as dn}from"./chunk-2W7IS4PN.js";function _s(s){let e=s,t=Math.floor(Math.abs(s)),n=s.toString().replace(/^[^.]*\.?/,"").length;return t===1&&n===0?1:5}var Pn=["de-CH",[["AM","PM"],void 0,void 0],void 0,[["S","M","D","M","D","F","S"],["So.","Mo.","Di.","Mi.","Do.","Fr.","Sa."],["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],["So","Mo","Di","Mi","Do","Fr","Sa"]],[["S","M","D","M","D","F","S"],["So","Mo","Di","Mi","Do","Fr","Sa"],["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],["So.","Mo.","Di.","Mi.","Do.","Fr.","Sa."]],[["J","F","M","A","M","J","J","A","S","O","N","D"],["Jan.","Feb.","M\xE4rz","Apr.","Mai","Juni","Juli","Aug.","Sept.","Okt.","Nov.","Dez."],["Januar","Februar","M\xE4rz","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"]],[["J","F","M","A","M","J","J","A","S","O","N","D"],["Jan","Feb","M\xE4r","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"],["Januar","Februar","M\xE4rz","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"]],[["v. Chr.","n. Chr."],void 0,void 0],1,[6,0],["dd.MM.yy","dd.MM.y","d. MMMM y","EEEE, d. MMMM y"],["HH:mm","HH:mm:ss","HH:mm:ss z","HH:mm:ss zzzz"],["{1}, {0}",void 0,"{1} 'um' {0}",void 0],[".","\u2019",";","%","+","-","E","\xB7","\u2030","\u221E","NaN",":"],["#,##0.###","#,##0%","\xA4\xA0#,##0.00;\xA4-#,##0.00","#E0"],"CHF","CHF","Schweizer Franken",{ATS:["\xF6S"],AUD:["AU$","$"],BGM:["BGK"],BGO:["BGJ"],BYN:[void 0,"\u0440."],CUC:[void 0,"Cub$"],DEM:["DM"],EUR:[],FKP:[void 0,"Fl\xA3"],GHS:[void 0,"\u20B5"],GNF:[void 0,"F.G."],KMF:[void 0,"FC"],PHP:[void 0,"\u20B1"],RON:[void 0,"L"],RUR:[void 0,"\u0440."],RWF:[void 0,"F.Rw"],SYP:[],THB:["\u0E3F"],TWD:["NT$"],XXX:[],ZMW:[void 0,"K"]},"ltr",_s];function Ss(s){let e=s,t=Math.floor(Math.abs(s)),n=s.toString().replace(/^[^.]*\.?/,"").length,i=parseInt(s.toString().replace(/^[^e]*(e([-+]?\d+))?/,"$2"))||0;return t===0||t===1?1:i===0&&t!==0&&t%1e6===0&&n===0||!(i>=0&&i<=5)?4:5}var Dn=["fr-CH",[["AM","PM"],void 0,void 0],void 0,[["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"]],void 0,[["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"]],void 0,[["av. J.-C.","ap. J.-C."],void 0,["avant J\xE9sus-Christ","apr\xE8s J\xE9sus-Christ"]],1,[6,0],["dd.MM.yy","d MMM y","d MMMM y","EEEE, d MMMM y"],["HH:mm","HH:mm:ss","HH:mm:ss z","HH.mm:ss 'h' zzzz"],["{1} {0}","{1}, {0}","{1} '\xE0' {0}",void 0],[",","\u202F",";","%","+","-","E","\xD7","\u2030","\u221E","NaN",":","."],["#,##0.###","#,##0%","#,##0.00\xA0\xA4","#E0"],"CHF","CHF","franc suisse",{ARS:["$AR","$"],AUD:["$AU","$"],BEF:["FB"],BMD:["$BM","$"],BND:["$BN","$"],BYN:[void 0,"\u0440."],BZD:["$BZ","$"],CAD:["$CA","$"],CLP:["$CL","$"],CNY:[void 0,"\xA5"],COP:["$CO","$"],CYP:["\xA3CY"],EGP:[void 0,"\xA3E"],FJD:["$FJ","$"],FKP:["\xA3FK","\xA3"],FRF:["F"],GBP:["\xA3GB","\xA3"],GIP:["\xA3GI","\xA3"],HKD:[void 0,"$"],IEP:["\xA3IE"],ILP:["\xA3IL"],ITL:["\u20A4IT"],JPY:[void 0,"\xA5"],KMF:[void 0,"FC"],LBP:["\xA3LB","\xA3L"],MTP:["\xA3MT"],MXN:["$MX","$"],NAD:["$NA","$"],NIO:[void 0,"$C"],NZD:["$NZ","$"],PHP:[void 0,"\u20B1"],RHD:["$RH"],RON:[void 0,"L"],RWF:[void 0,"FR"],SBD:["$SB","$"],SGD:["$SG","$"],SRD:["$SR","$"],TOP:[void 0,"$T"],TTD:["$TT","$"],TWD:[void 0,"NT$"],USD:["$US","$"],UYU:["$UY","$"],WST:["$WS"],XCD:[void 0,"$"],XPF:["FCFP"],ZMW:[void 0,"Kw"]},"ltr",Ss];function Es(s,e){if(s&1&&(U(0,"i",3),re(1),Y()),s&2){let t=st().$implicit;q(),it(t.icon)}}function vs(s,e){if(s&1){let t=en();U(0,"ngb-toast",1),tn("hidden",function(){let i=Ut(t).$implicit,r=st();return Qt(r.toastService.remove(i))}),U(1,"div",2),xt(2,Es,2,1,"i",3),U(3,"span"),re(4),Y()()()}if(s&2){let t=e.$implicit;Wt(t.classname),Ne("header",t.header||"")("autohide",!0),q(2),Jt(t.icon?2:-1),q(2),it(t.message)}}var Cn=(()=>{class s{constructor(t){this.toastService=t}static{this.\u0275fac=function(n){return new(n||s)(ie(ge))}}static{this.\u0275cmp=J({type:s,selectors:[["bkd-toast"]],decls:3,vars:2,consts:[[3,"header","class","autohide"],[3,"hidden","header","autohide"],[1,"d-flex","gap-2"],[1,"material-icons"]],template:function(n,i){n&1&&(Ce(0,vs,5,6,"ngb-toast",0,Xt),fe(2,"async")),n&2&&Fe(pe(2,0,i.toastService.toasts$))},dependencies:[gn,sn],styles:["[_nghost-%COMP%]{position:fixed;top:0;right:0;margin:.5em;z-index:1200}[_nghost-%COMP%] > *[_ngcontent-%COMP%]{font-size:medium}"]})}}return s})();var Fn=new qt("Navigator API",{providedIn:"root",factory:()=>navigator});var Rn=(()=>{class s{constructor(t,n,i,r){this.toastService=n,this.settings=i,this.navigator=r,t.initialize(),this.checkSettings()}checkSettings(){_n(pn)(this.settings).pipe(jt(t=>(console.error(String(t)),this.toastService.error("Please check the contents of the settings.js file (see Console output for more details).","Invalid Settings"),Kt))).subscribe()}static{this.\u0275fac=function(n){return new(n||s)(ie(wn),ie(ge),ie(X),ie(Fn))}}static{this.\u0275cmp=J({type:s,selectors:[["bkd-app"]],decls:2,vars:0,consts:[["aria-live","polite","aria-atomic","true"]],template:function(n,i){n&1&&Zt(0,"bkd-toast",0)(1,"router-outlet")},dependencies:[Cn,hn],styles:["[_nghost-%COMP%]{width:100%}"],changeDetection:0})}}return s})();var _=function(s){return s[s.State=0]="State",s[s.Transition=1]="Transition",s[s.Sequence=2]="Sequence",s[s.Group=3]="Group",s[s.Animate=4]="Animate",s[s.Keyframes=5]="Keyframes",s[s.Style=6]="Style",s[s.Trigger=7]="Trigger",s[s.Reference=8]="Reference",s[s.AnimateChild=9]="AnimateChild",s[s.AnimateRef=10]="AnimateRef",s[s.Query=11]="Query",s[s.Stagger=12]="Stagger",s}(_||{}),Q="*";function kn(s,e=null){return{type:_.Sequence,steps:s,options:e}}function ot(s){return{type:_.Style,styles:s,offset:null}}var Z=class{_onDoneFns=[];_onStartFns=[];_onDestroyFns=[];_originalOnDoneFns=[];_originalOnStartFns=[];_started=!1;_destroyed=!1;_finished=!1;_position=0;parentPlayer=null;totalTime;constructor(e=0,t=0){this.totalTime=e+t}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(e=>e()),this._onDoneFns=[])}onStart(e){this._originalOnStartFns.push(e),this._onStartFns.push(e)}onDone(e){this._originalOnDoneFns.push(e),this._onDoneFns.push(e)}onDestroy(e){this._onDestroyFns.push(e)}hasStarted(){return this._started}init(){}play(){this.hasStarted()||(this._onStart(),this.triggerMicrotask()),this._started=!0}triggerMicrotask(){queueMicrotask(()=>this._onFinish())}_onStart(){this._onStartFns.forEach(e=>e()),this._onStartFns=[]}pause(){}restart(){}finish(){this._onFinish()}destroy(){this._destroyed||(this._destroyed=!0,this.hasStarted()||this._onStart(),this.finish(),this._onDestroyFns.forEach(e=>e()),this._onDestroyFns=[])}reset(){this._started=!1,this._finished=!1,this._onStartFns=this._originalOnStartFns,this._onDoneFns=this._originalOnDoneFns}setPosition(e){this._position=this.totalTime?e*this.totalTime:1}getPosition(){return this.totalTime?this._position/this.totalTime:1}triggerCallback(e){let t=e=="start"?this._onStartFns:this._onDoneFns;t.forEach(n=>n()),t.length=0}},Se=class{_onDoneFns=[];_onStartFns=[];_finished=!1;_started=!1;_destroyed=!1;_onDestroyFns=[];parentPlayer=null;totalTime=0;players;constructor(e){this.players=e;let t=0,n=0,i=0,r=this.players.length;r==0?queueMicrotask(()=>this._onFinish()):this.players.forEach(o=>{o.onDone(()=>{++t==r&&this._onFinish()}),o.onDestroy(()=>{++n==r&&this._onDestroy()}),o.onStart(()=>{++i==r&&this._onStart()})}),this.totalTime=this.players.reduce((o,a)=>Math.max(o,a.totalTime),0)}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(e=>e()),this._onDoneFns=[])}init(){this.players.forEach(e=>e.init())}onStart(e){this._onStartFns.push(e)}_onStart(){this.hasStarted()||(this._started=!0,this._onStartFns.forEach(e=>e()),this._onStartFns=[])}onDone(e){this._onDoneFns.push(e)}onDestroy(e){this._onDestroyFns.push(e)}hasStarted(){return this._started}play(){this.parentPlayer||this.init(),this._onStart(),this.players.forEach(e=>e.play())}pause(){this.players.forEach(e=>e.pause())}restart(){this.players.forEach(e=>e.restart())}finish(){this._onFinish(),this.players.forEach(e=>e.finish())}destroy(){this._onDestroy()}_onDestroy(){this._destroyed||(this._destroyed=!0,this._onFinish(),this.players.forEach(e=>e.destroy()),this._onDestroyFns.forEach(e=>e()),this._onDestroyFns=[])}reset(){this.players.forEach(e=>e.reset()),this._destroyed=!1,this._finished=!1,this._started=!1}setPosition(e){let t=e*this.totalTime;this.players.forEach(n=>{let i=n.totalTime?Math.min(1,t/n.totalTime):1;n.setPosition(i)})}getPosition(){let e=this.players.reduce((t,n)=>t===null||n.totalTime>t.totalTime?n:t,null);return e!=null?e.getPosition():0}beforeDestroy(){this.players.forEach(e=>{e.beforeDestroy&&e.beforeDestroy()})}triggerCallback(e){let t=e=="start"?this._onStartFns:this._onDoneFns;t.forEach(n=>n()),t.length=0}},Ie="!";function On(s){return new v(3e3,!1)}function Ts(){return new v(3100,!1)}function bs(){return new v(3101,!1)}function ws(s){return new v(3001,!1)}function As(s){return new v(3003,!1)}function Ms(s){return new v(3004,!1)}function Ps(s,e){return new v(3005,!1)}function Ds(){return new v(3006,!1)}function Ns(){return new v(3007,!1)}function Cs(s,e){return new v(3008,!1)}function Fs(s){return new v(3002,!1)}function Rs(s,e,t,n,i){return new v(3010,!1)}function ks(){return new v(3011,!1)}function Os(){return new v(3012,!1)}function Is(){return new v(3200,!1)}function Ls(){return new v(3202,!1)}function $s(){return new v(3013,!1)}function zs(s){return new v(3014,!1)}function Bs(s){return new v(3015,!1)}function Ks(s){return new v(3016,!1)}function js(s,e){return new v(3404,!1)}function qs(s){return new v(3502,!1)}function Us(s){return new v(3503,!1)}function Qs(){return new v(3300,!1)}function Vs(s){return new v(3504,!1)}function Hs(s){return new v(3301,!1)}function Gs(s,e){return new v(3302,!1)}function xs(s){return new v(3303,!1)}function Ws(s,e){return new v(3400,!1)}function Js(s){return new v(3401,!1)}function Ys(s){return new v(3402,!1)}function Xs(s,e){return new v(3505,!1)}function ee(s){switch(s.length){case 0:return new Z;case 1:return s[0];default:return new Se(s)}}function xn(s,e,t=new Map,n=new Map){let i=[],r=[],o=-1,a=null;if(e.forEach(l=>{let c=l.get("offset"),h=c==o,u=h&&a||new Map;l.forEach((S,y)=>{let m=y,g=S;if(y!=="offset")switch(m=s.normalizePropertyName(m,i),g){case Ie:g=t.get(y);break;case Q:g=n.get(y);break;default:g=s.normalizeStyleValue(y,m,g,i);break}u.set(m,g)}),h||r.push(u),a=u,o=c}),i.length)throw qs(i);return r}function Dt(s,e,t,n){switch(e){case"start":s.onStart(()=>n(t&&at(t,"start",s)));break;case"done":s.onDone(()=>n(t&&at(t,"done",s)));break;case"destroy":s.onDestroy(()=>n(t&&at(t,"destroy",s)));break}}function at(s,e,t){let n=t.totalTime,i=!!t.disabled,r=Nt(s.element,s.triggerName,s.fromState,s.toState,e||s.phaseName,n??s.totalTime,i),o=s._data;return o!=null&&(r._data=o),r}function Nt(s,e,t,n,i="",r=0,o){return{element:s,triggerName:e,fromState:t,toState:n,phaseName:i,totalTime:r,disabled:!!o}}function O(s,e,t){let n=s.get(e);return n||s.set(e,n=t),n}function In(s){let e=s.indexOf(":"),t=s.substring(1,e),n=s.slice(e+1);return[t,n]}var Zs=typeof document>"u"?null:document.documentElement;function Ct(s){let e=s.parentNode||s.host||null;return e===Zs?null:e}function ei(s){return s.substring(1,6)=="ebkit"}var ae=null,Ln=!1;function ti(s){ae||(ae=ni()||{},Ln=ae.style?"WebkitAppearance"in ae.style:!1);let e=!0;return ae.style&&!ei(s)&&(e=s in ae.style,!e&&Ln&&(e="Webkit"+s.charAt(0).toUpperCase()+s.slice(1)in ae.style)),e}function ni(){return typeof document<"u"?document.body:null}function Wn(s,e){for(;e;){if(e===s)return!0;e=Ct(e)}return!1}function Jn(s,e,t){if(t)return Array.from(s.querySelectorAll(e));let n=s.querySelector(e);return n?[n]:[]}var Ft=(()=>{class s{validateStyleProperty(t){return ti(t)}containsElement(t,n){return Wn(t,n)}getParentElement(t){return Ct(t)}query(t,n,i){return Jn(t,n,i)}computeStyle(t,n,i){return i||""}animate(t,n,i,r,o,a=[],l){return new Z(i,r)}static \u0275fac=function(n){return new(n||s)};static \u0275prov=W({token:s,factory:s.\u0275fac})}return s})(),ue=class{static NOOP=new Ft},he=class{};var si=1e3,Yn="{{",ii="}}",Xn="ng-enter",mt="ng-leave",Le="ng-trigger",je=".ng-trigger",$n="ng-animating",ft=".ng-animating";function G(s){if(typeof s=="number")return s;let e=s.match(/^(-?[\.\d]+)(m?s)/);return!e||e.length<2?0:pt(parseFloat(e[1]),e[2])}function pt(s,e){switch(e){case"s":return s*si;default:return s}}function qe(s,e,t){return s.hasOwnProperty("duration")?s:ri(s,e,t)}function ri(s,e,t){let n=/^(-?[\.\d]+)(m?s)(?:\s+(-?[\.\d]+)(m?s))?(?:\s+([-a-z]+(?:\(.+?\))?))?$/i,i,r=0,o="";if(typeof s=="string"){let a=s.match(n);if(a===null)return e.push(On(s)),{duration:0,delay:0,easing:""};i=pt(parseFloat(a[1]),a[2]);let l=a[3];l!=null&&(r=pt(parseFloat(l),a[4]));let c=a[5];c&&(o=c)}else i=s;if(!t){let a=!1,l=e.length;i<0&&(e.push(Ts()),a=!0),r<0&&(e.push(bs()),a=!0),a&&e.splice(l,0,On(s))}return{duration:i,delay:r,easing:o}}function oi(s){return s.length?s[0]instanceof Map?s:s.map(e=>new Map(Object.entries(e))):[]}function V(s,e,t){e.forEach((n,i)=>{let r=Rt(i);t&&!t.has(i)&&t.set(i,s.style[r]),s.style[r]=n})}function ce(s,e){e.forEach((t,n)=>{let i=Rt(n);s.style[i]=""})}function Ee(s){return Array.isArray(s)?s.length==1?s[0]:kn(s):s}function ai(s,e,t){let n=e.params||{},i=Zn(s);i.length&&i.forEach(r=>{n.hasOwnProperty(r)||t.push(ws(r))})}var gt=new RegExp(`${Yn}\\s*(.+?)\\s*${ii}`,"g");function Zn(s){let e=[];if(typeof s=="string"){let t;for(;t=gt.exec(s);)e.push(t[1]);gt.lastIndex=0}return e}function Te(s,e,t){let n=`${s}`,i=n.replace(gt,(r,o)=>{let a=e[o];return a==null&&(t.push(As(o)),a=""),a.toString()});return i==n?s:i}var li=/-+([a-z0-9])/g;function Rt(s){return s.replace(li,(...e)=>e[1].toUpperCase())}function ci(s,e){return s===0||e===0}function ui(s,e,t){if(t.size&&e.length){let n=e[0],i=[];if(t.forEach((r,o)=>{n.has(o)||i.push(o),n.set(o,r)}),i.length)for(let r=1;ro.set(a,kt(s,a)))}}return e}function k(s,e,t){switch(e.type){case _.Trigger:return s.visitTrigger(e,t);case _.State:return s.visitState(e,t);case _.Transition:return s.visitTransition(e,t);case _.Sequence:return s.visitSequence(e,t);case _.Group:return s.visitGroup(e,t);case _.Animate:return s.visitAnimate(e,t);case _.Keyframes:return s.visitKeyframes(e,t);case _.Style:return s.visitStyle(e,t);case _.Reference:return s.visitReference(e,t);case _.AnimateChild:return s.visitAnimateChild(e,t);case _.AnimateRef:return s.visitAnimateRef(e,t);case _.Query:return s.visitQuery(e,t);case _.Stagger:return s.visitStagger(e,t);default:throw Ms(e.type)}}function kt(s,e){return window.getComputedStyle(s)[e]}var hi=new Set(["width","height","minWidth","minHeight","maxWidth","maxHeight","left","top","bottom","right","fontSize","outlineWidth","outlineOffset","paddingTop","paddingLeft","paddingBottom","paddingRight","marginTop","marginLeft","marginBottom","marginRight","borderRadius","borderWidth","borderTopWidth","borderLeftWidth","borderRightWidth","borderBottomWidth","textIndent","perspective"]),Ue=class extends he{normalizePropertyName(e,t){return Rt(e)}normalizeStyleValue(e,t,n,i){let r="",o=n.toString().trim();if(hi.has(t)&&n!==0&&n!=="0")if(typeof n=="number")r="px";else{let a=n.match(/^[+-]?[\d\.]+([a-z]*)$/);a&&a[1].length==0&&i.push(Ps(e,n))}return o+r}};var Qe="*";function di(s,e){let t=[];return typeof s=="string"?s.split(/\s*,\s*/).forEach(n=>mi(n,t,e)):t.push(s),t}function mi(s,e,t){if(s[0]==":"){let l=fi(s,t);if(typeof l=="function"){e.push(l);return}s=l}let n=s.match(/^(\*|[-\w]+)\s*()\s*(\*|[-\w]+)$/);if(n==null||n.length<4)return t.push(Bs(s)),e;let i=n[1],r=n[2],o=n[3];e.push(zn(i,o));let a=i==Qe&&o==Qe;r[0]=="<"&&!a&&e.push(zn(o,i))}function fi(s,e){switch(s){case":enter":return"void => *";case":leave":return"* => void";case":increment":return(t,n)=>parseFloat(n)>parseFloat(t);case":decrement":return(t,n)=>parseFloat(n) *"}}var $e=new Set(["true","1"]),ze=new Set(["false","0"]);function zn(s,e){let t=$e.has(s)||ze.has(s),n=$e.has(e)||ze.has(e);return(i,r)=>{let o=s==Qe||s==i,a=e==Qe||e==r;return!o&&t&&typeof i=="boolean"&&(o=i?$e.has(s):ze.has(s)),!a&&n&&typeof r=="boolean"&&(a=r?$e.has(e):ze.has(e)),o&&a}}var es=":self",pi=new RegExp(`s*${es}s*,?`,"g");function ts(s,e,t,n){return new yt(s).build(e,t,n)}var Bn="",yt=class{_driver;constructor(e){this._driver=e}build(e,t,n){let i=new _t(t);return this._resetContextStyleTimingState(i),k(this,Ee(e),i)}_resetContextStyleTimingState(e){e.currentQuerySelector=Bn,e.collectedStyles=new Map,e.collectedStyles.set(Bn,new Map),e.currentTime=0}visitTrigger(e,t){let n=t.queryCount=0,i=t.depCount=0,r=[],o=[];return e.name.charAt(0)=="@"&&t.errors.push(Ds()),e.definitions.forEach(a=>{if(this._resetContextStyleTimingState(t),a.type==_.State){let l=a,c=l.name;c.toString().split(/\s*,\s*/).forEach(h=>{l.name=h,r.push(this.visitState(l,t))}),l.name=c}else if(a.type==_.Transition){let l=this.visitTransition(a,t);n+=l.queryCount,i+=l.depCount,o.push(l)}else t.errors.push(Ns())}),{type:_.Trigger,name:e.name,states:r,transitions:o,queryCount:n,depCount:i,options:null}}visitState(e,t){let n=this.visitStyle(e.styles,t),i=e.options&&e.options.params||null;if(n.containsDynamicStyles){let r=new Set,o=i||{};n.styles.forEach(a=>{a instanceof Map&&a.forEach(l=>{Zn(l).forEach(c=>{o.hasOwnProperty(c)||r.add(c)})})}),r.size&&t.errors.push(Cs(e.name,[...r.values()]))}return{type:_.State,name:e.name,style:n,options:i?{params:i}:null}}visitTransition(e,t){t.queryCount=0,t.depCount=0;let n=k(this,Ee(e.animation),t),i=di(e.expr,t.errors);return{type:_.Transition,matchers:i,animation:n,queryCount:t.queryCount,depCount:t.depCount,options:le(e.options)}}visitSequence(e,t){return{type:_.Sequence,steps:e.steps.map(n=>k(this,n,t)),options:le(e.options)}}visitGroup(e,t){let n=t.currentTime,i=0,r=e.steps.map(o=>{t.currentTime=n;let a=k(this,o,t);return i=Math.max(i,t.currentTime),a});return t.currentTime=i,{type:_.Group,steps:r,options:le(e.options)}}visitAnimate(e,t){let n=Si(e.timings,t.errors);t.currentAnimateTimings=n;let i,r=e.styles?e.styles:ot({});if(r.type==_.Keyframes)i=this.visitKeyframes(r,t);else{let o=e.styles,a=!1;if(!o){a=!0;let c={};n.easing&&(c.easing=n.easing),o=ot(c)}t.currentTime+=n.duration+n.delay;let l=this.visitStyle(o,t);l.isEmptyStep=a,i=l}return t.currentAnimateTimings=null,{type:_.Animate,timings:n,style:i,options:null}}visitStyle(e,t){let n=this._makeStyleAst(e,t);return this._validateStyleAst(n,t),n}_makeStyleAst(e,t){let n=[],i=Array.isArray(e.styles)?e.styles:[e.styles];for(let a of i)typeof a=="string"?a===Q?n.push(a):t.errors.push(Fs(a)):n.push(new Map(Object.entries(a)));let r=!1,o=null;return n.forEach(a=>{if(a instanceof Map&&(a.has("easing")&&(o=a.get("easing"),a.delete("easing")),!r)){for(let l of a.values())if(l.toString().indexOf(Yn)>=0){r=!0;break}}}),{type:_.Style,styles:n,easing:o,offset:e.offset,containsDynamicStyles:r,options:null}}_validateStyleAst(e,t){let n=t.currentAnimateTimings,i=t.currentTime,r=t.currentTime;n&&r>0&&(r-=n.duration+n.delay),e.styles.forEach(o=>{typeof o!="string"&&o.forEach((a,l)=>{let c=t.collectedStyles.get(t.currentQuerySelector),h=c.get(l),u=!0;h&&(r!=i&&r>=h.startTime&&i<=h.endTime&&(t.errors.push(Rs(l,h.startTime,h.endTime,r,i)),u=!1),r=h.startTime),u&&c.set(l,{startTime:r,endTime:i}),t.options&&ai(a,t.options,t.errors)})})}visitKeyframes(e,t){let n={type:_.Keyframes,styles:[],options:null};if(!t.currentAnimateTimings)return t.errors.push(ks()),n;let i=1,r=0,o=[],a=!1,l=!1,c=0,h=e.steps.map(w=>{let A=this._makeStyleAst(w,t),N=A.offset!=null?A.offset:_i(A.styles),P=0;return N!=null&&(r++,P=A.offset=N),l=l||P<0||P>1,a=a||P0&&r{let N=S>0?A==y?1:S*A:o[A],P=N*T;t.currentTime=m+g.delay+P,g.duration=P,this._validateStyleAst(w,t),w.offset=N,n.styles.push(w)}),n}visitReference(e,t){return{type:_.Reference,animation:k(this,Ee(e.animation),t),options:le(e.options)}}visitAnimateChild(e,t){return t.depCount++,{type:_.AnimateChild,options:le(e.options)}}visitAnimateRef(e,t){return{type:_.AnimateRef,animation:this.visitReference(e.animation,t),options:le(e.options)}}visitQuery(e,t){let n=t.currentQuerySelector,i=e.options||{};t.queryCount++,t.currentQuery=e;let[r,o]=gi(e.selector);t.currentQuerySelector=n.length?n+" "+r:r,O(t.collectedStyles,t.currentQuerySelector,new Map);let a=k(this,Ee(e.animation),t);return t.currentQuery=null,t.currentQuerySelector=n,{type:_.Query,selector:r,limit:i.limit||0,optional:!!i.optional,includeSelf:o,animation:a,originalSelector:e.selector,options:le(e.options)}}visitStagger(e,t){t.currentQuery||t.errors.push($s());let n=e.timings==="full"?{duration:0,delay:0,easing:"full"}:qe(e.timings,t.errors,!0);return{type:_.Stagger,animation:k(this,Ee(e.animation),t),timings:n,options:null}}};function gi(s){let e=!!s.split(/\s*,\s*/).find(t=>t==es);return e&&(s=s.replace(pi,"")),s=s.replace(/@\*/g,je).replace(/@\w+/g,t=>je+"-"+t.slice(1)).replace(/:animating/g,ft),[s,e]}function yi(s){return s?Pe({},s):null}var _t=class{errors;queryCount=0;depCount=0;currentTransition=null;currentQuery=null;currentQuerySelector=null;currentAnimateTimings=null;currentTime=0;collectedStyles=new Map;options=null;unsupportedCSSPropertiesFound=new Set;constructor(e){this.errors=e}};function _i(s){if(typeof s=="string")return null;let e=null;if(Array.isArray(s))s.forEach(t=>{if(t instanceof Map&&t.has("offset")){let n=t;e=parseFloat(n.get("offset")),n.delete("offset")}});else if(s instanceof Map&&s.has("offset")){let t=s;e=parseFloat(t.get("offset")),t.delete("offset")}return e}function Si(s,e){if(s.hasOwnProperty("duration"))return s;if(typeof s=="number"){let r=qe(s,e).duration;return lt(r,0,"")}let t=s;if(t.split(/\s+/).some(r=>r.charAt(0)=="{"&&r.charAt(1)=="{")){let r=lt(0,0,"");return r.dynamic=!0,r.strValue=t,r}let i=qe(t,e);return lt(i.duration,i.delay,i.easing)}function le(s){return s?(s=Pe({},s),s.params&&(s.params=yi(s.params))):s={},s}function lt(s,e,t){return{duration:s,delay:e,easing:t}}function Ot(s,e,t,n,i,r,o=null,a=!1){return{type:1,element:s,keyframes:e,preStyleProps:t,postStyleProps:n,duration:i,delay:r,totalTime:i+r,easing:o,subTimeline:a}}var be=class{_map=new Map;get(e){return this._map.get(e)||[]}append(e,t){let n=this._map.get(e);n||this._map.set(e,n=[]),n.push(...t)}has(e){return this._map.has(e)}clear(){this._map.clear()}},Ei=1,vi=":enter",Ti=new RegExp(vi,"g"),bi=":leave",wi=new RegExp(bi,"g");function ns(s,e,t,n,i,r=new Map,o=new Map,a,l,c=[]){return new St().buildKeyframes(s,e,t,n,i,r,o,a,l,c)}var St=class{buildKeyframes(e,t,n,i,r,o,a,l,c,h=[]){c=c||new be;let u=new Et(e,t,c,i,r,h,[]);u.options=l;let S=l.delay?G(l.delay):0;u.currentTimeline.delayNextStep(S),u.currentTimeline.setStyles([o],null,u.errors,l),k(this,n,u);let y=u.timelines.filter(m=>m.containsAnimation());if(y.length&&a.size){let m;for(let g=y.length-1;g>=0;g--){let T=y[g];if(T.element===t){m=T;break}}m&&!m.allowOnlyTimelineStyles()&&m.setStyles([a],null,u.errors,l)}return y.length?y.map(m=>m.buildKeyframes()):[Ot(t,[],[],[],0,S,"",!1)]}visitTrigger(e,t){}visitState(e,t){}visitTransition(e,t){}visitAnimateChild(e,t){let n=t.subInstructions.get(t.element);if(n){let i=t.createSubContext(e.options),r=t.currentTimeline.currentTime,o=this._visitSubInstructions(n,i,i.options);r!=o&&t.transformIntoNewTimeline(o)}t.previousNode=e}visitAnimateRef(e,t){let n=t.createSubContext(e.options);n.transformIntoNewTimeline(),this._applyAnimationRefDelays([e.options,e.animation.options],t,n),this.visitReference(e.animation,n),t.transformIntoNewTimeline(n.currentTimeline.currentTime),t.previousNode=e}_applyAnimationRefDelays(e,t,n){for(let i of e){let r=i?.delay;if(r){let o=typeof r=="number"?r:G(Te(r,i?.params??{},t.errors));n.delayNextStep(o)}}}_visitSubInstructions(e,t,n){let r=t.currentTimeline.currentTime,o=n.duration!=null?G(n.duration):null,a=n.delay!=null?G(n.delay):null;return o!==0&&e.forEach(l=>{let c=t.appendInstructionToTimeline(l,o,a);r=Math.max(r,c.duration+c.delay)}),r}visitReference(e,t){t.updateOptions(e.options,!0),k(this,e.animation,t),t.previousNode=e}visitSequence(e,t){let n=t.subContextCount,i=t,r=e.options;if(r&&(r.params||r.delay)&&(i=t.createSubContext(r),i.transformIntoNewTimeline(),r.delay!=null)){i.previousNode.type==_.Style&&(i.currentTimeline.snapshotCurrentStyles(),i.previousNode=Ve);let o=G(r.delay);i.delayNextStep(o)}e.steps.length&&(e.steps.forEach(o=>k(this,o,i)),i.currentTimeline.applyStylesToKeyframe(),i.subContextCount>n&&i.transformIntoNewTimeline()),t.previousNode=e}visitGroup(e,t){let n=[],i=t.currentTimeline.currentTime,r=e.options&&e.options.delay?G(e.options.delay):0;e.steps.forEach(o=>{let a=t.createSubContext(e.options);r&&a.delayNextStep(r),k(this,o,a),i=Math.max(i,a.currentTimeline.currentTime),n.push(a.currentTimeline)}),n.forEach(o=>t.currentTimeline.mergeTimelineCollectedStyles(o)),t.transformIntoNewTimeline(i),t.previousNode=e}_visitTiming(e,t){if(e.dynamic){let n=e.strValue,i=t.params?Te(n,t.params,t.errors):n;return qe(i,t.errors)}else return{duration:e.duration,delay:e.delay,easing:e.easing}}visitAnimate(e,t){let n=t.currentAnimateTimings=this._visitTiming(e.timings,t),i=t.currentTimeline;n.delay&&(t.incrementTime(n.delay),i.snapshotCurrentStyles());let r=e.style;r.type==_.Keyframes?this.visitKeyframes(r,t):(t.incrementTime(n.duration),this.visitStyle(r,t),i.applyStylesToKeyframe()),t.currentAnimateTimings=null,t.previousNode=e}visitStyle(e,t){let n=t.currentTimeline,i=t.currentAnimateTimings;!i&&n.hasCurrentStyleProperties()&&n.forwardFrame();let r=i&&i.easing||e.easing;e.isEmptyStep?n.applyEmptyStep(r):n.setStyles(e.styles,r,t.errors,t.options),t.previousNode=e}visitKeyframes(e,t){let n=t.currentAnimateTimings,i=t.currentTimeline.duration,r=n.duration,a=t.createSubContext().currentTimeline;a.easing=n.easing,e.styles.forEach(l=>{let c=l.offset||0;a.forwardTime(c*r),a.setStyles(l.styles,l.easing,t.errors,t.options),a.applyStylesToKeyframe()}),t.currentTimeline.mergeTimelineCollectedStyles(a),t.transformIntoNewTimeline(i+r),t.previousNode=e}visitQuery(e,t){let n=t.currentTimeline.currentTime,i=e.options||{},r=i.delay?G(i.delay):0;r&&(t.previousNode.type===_.Style||n==0&&t.currentTimeline.hasCurrentStyleProperties())&&(t.currentTimeline.snapshotCurrentStyles(),t.previousNode=Ve);let o=n,a=t.invokeQuery(e.selector,e.originalSelector,e.limit,e.includeSelf,!!i.optional,t.errors);t.currentQueryTotal=a.length;let l=null;a.forEach((c,h)=>{t.currentQueryIndex=h;let u=t.createSubContext(e.options,c);r&&u.delayNextStep(r),c===t.element&&(l=u.currentTimeline),k(this,e.animation,u),u.currentTimeline.applyStylesToKeyframe();let S=u.currentTimeline.currentTime;o=Math.max(o,S)}),t.currentQueryIndex=0,t.currentQueryTotal=0,t.transformIntoNewTimeline(o),l&&(t.currentTimeline.mergeTimelineCollectedStyles(l),t.currentTimeline.snapshotCurrentStyles()),t.previousNode=e}visitStagger(e,t){let n=t.parentContext,i=t.currentTimeline,r=e.timings,o=Math.abs(r.duration),a=o*(t.currentQueryTotal-1),l=o*t.currentQueryIndex;switch(r.duration<0?"reverse":r.easing){case"reverse":l=a-l;break;case"full":l=n.currentStaggerTime;break}let h=t.currentTimeline;l&&h.delayNextStep(l);let u=h.currentTime;k(this,e.animation,t),t.previousNode=e,n.currentStaggerTime=i.currentTime-u+(i.startTime-n.currentTimeline.startTime)}},Ve={},Et=class s{_driver;element;subInstructions;_enterClassName;_leaveClassName;errors;timelines;parentContext=null;currentTimeline;currentAnimateTimings=null;previousNode=Ve;subContextCount=0;options={};currentQueryIndex=0;currentQueryTotal=0;currentStaggerTime=0;constructor(e,t,n,i,r,o,a,l){this._driver=e,this.element=t,this.subInstructions=n,this._enterClassName=i,this._leaveClassName=r,this.errors=o,this.timelines=a,this.currentTimeline=l||new He(this._driver,t,0),a.push(this.currentTimeline)}get params(){return this.options.params}updateOptions(e,t){if(!e)return;let n=e,i=this.options;n.duration!=null&&(i.duration=G(n.duration)),n.delay!=null&&(i.delay=G(n.delay));let r=n.params;if(r){let o=i.params;o||(o=this.options.params={}),Object.keys(r).forEach(a=>{(!t||!o.hasOwnProperty(a))&&(o[a]=Te(r[a],o,this.errors))})}}_copyOptions(){let e={};if(this.options){let t=this.options.params;if(t){let n=e.params={};Object.keys(t).forEach(i=>{n[i]=t[i]})}}return e}createSubContext(e=null,t,n){let i=t||this.element,r=new s(this._driver,i,this.subInstructions,this._enterClassName,this._leaveClassName,this.errors,this.timelines,this.currentTimeline.fork(i,n||0));return r.previousNode=this.previousNode,r.currentAnimateTimings=this.currentAnimateTimings,r.options=this._copyOptions(),r.updateOptions(e),r.currentQueryIndex=this.currentQueryIndex,r.currentQueryTotal=this.currentQueryTotal,r.parentContext=this,this.subContextCount++,r}transformIntoNewTimeline(e){return this.previousNode=Ve,this.currentTimeline=this.currentTimeline.fork(this.element,e),this.timelines.push(this.currentTimeline),this.currentTimeline}appendInstructionToTimeline(e,t,n){let i={duration:t??e.duration,delay:this.currentTimeline.currentTime+(n??0)+e.delay,easing:""},r=new vt(this._driver,e.element,e.keyframes,e.preStyleProps,e.postStyleProps,i,e.stretchStartingKeyframe);return this.timelines.push(r),i}incrementTime(e){this.currentTimeline.forwardTime(this.currentTimeline.duration+e)}delayNextStep(e){e>0&&this.currentTimeline.delayNextStep(e)}invokeQuery(e,t,n,i,r,o){let a=[];if(i&&a.push(this.element),e.length>0){e=e.replace(Ti,"."+this._enterClassName),e=e.replace(wi,"."+this._leaveClassName);let l=n!=1,c=this._driver.query(this.element,e,l);n!==0&&(c=n<0?c.slice(c.length+n,c.length):c.slice(0,n)),a.push(...c)}return!r&&a.length==0&&o.push(zs(t)),a}},He=class s{_driver;element;startTime;_elementTimelineStylesLookup;duration=0;easing=null;_previousKeyframe=new Map;_currentKeyframe=new Map;_keyframes=new Map;_styleSummary=new Map;_localTimelineStyles=new Map;_globalTimelineStyles;_pendingStyles=new Map;_backFill=new Map;_currentEmptyStepKeyframe=null;constructor(e,t,n,i){this._driver=e,this.element=t,this.startTime=n,this._elementTimelineStylesLookup=i,this._elementTimelineStylesLookup||(this._elementTimelineStylesLookup=new Map),this._globalTimelineStyles=this._elementTimelineStylesLookup.get(t),this._globalTimelineStyles||(this._globalTimelineStyles=this._localTimelineStyles,this._elementTimelineStylesLookup.set(t,this._localTimelineStyles)),this._loadKeyframe()}containsAnimation(){switch(this._keyframes.size){case 0:return!1;case 1:return this.hasCurrentStyleProperties();default:return!0}}hasCurrentStyleProperties(){return this._currentKeyframe.size>0}get currentTime(){return this.startTime+this.duration}delayNextStep(e){let t=this._keyframes.size===1&&this._pendingStyles.size;this.duration||t?(this.forwardTime(this.currentTime+e),t&&this.snapshotCurrentStyles()):this.startTime+=e}fork(e,t){return this.applyStylesToKeyframe(),new s(this._driver,e,t||this.currentTime,this._elementTimelineStylesLookup)}_loadKeyframe(){this._currentKeyframe&&(this._previousKeyframe=this._currentKeyframe),this._currentKeyframe=this._keyframes.get(this.duration),this._currentKeyframe||(this._currentKeyframe=new Map,this._keyframes.set(this.duration,this._currentKeyframe))}forwardFrame(){this.duration+=Ei,this._loadKeyframe()}forwardTime(e){this.applyStylesToKeyframe(),this.duration=e,this._loadKeyframe()}_updateStyle(e,t){this._localTimelineStyles.set(e,t),this._globalTimelineStyles.set(e,t),this._styleSummary.set(e,{time:this.currentTime,value:t})}allowOnlyTimelineStyles(){return this._currentEmptyStepKeyframe!==this._currentKeyframe}applyEmptyStep(e){e&&this._previousKeyframe.set("easing",e);for(let[t,n]of this._globalTimelineStyles)this._backFill.set(t,n||Q),this._currentKeyframe.set(t,Q);this._currentEmptyStepKeyframe=this._currentKeyframe}setStyles(e,t,n,i){t&&this._previousKeyframe.set("easing",t);let r=i&&i.params||{},o=Ai(e,this._globalTimelineStyles);for(let[a,l]of o){let c=Te(l,r,n);this._pendingStyles.set(a,c),this._localTimelineStyles.has(a)||this._backFill.set(a,this._globalTimelineStyles.get(a)??Q),this._updateStyle(a,c)}}applyStylesToKeyframe(){this._pendingStyles.size!=0&&(this._pendingStyles.forEach((e,t)=>{this._currentKeyframe.set(t,e)}),this._pendingStyles.clear(),this._localTimelineStyles.forEach((e,t)=>{this._currentKeyframe.has(t)||this._currentKeyframe.set(t,e)}))}snapshotCurrentStyles(){for(let[e,t]of this._localTimelineStyles)this._pendingStyles.set(e,t),this._updateStyle(e,t)}getFinalKeyframe(){return this._keyframes.get(this.duration)}get properties(){let e=[];for(let t in this._currentKeyframe)e.push(t);return e}mergeTimelineCollectedStyles(e){e._styleSummary.forEach((t,n)=>{let i=this._styleSummary.get(n);(!i||t.time>i.time)&&this._updateStyle(n,t.value)})}buildKeyframes(){this.applyStylesToKeyframe();let e=new Set,t=new Set,n=this._keyframes.size===1&&this.duration===0,i=[];this._keyframes.forEach((a,l)=>{let c=new Map([...this._backFill,...a]);c.forEach((h,u)=>{h===Ie?e.add(u):h===Q&&t.add(u)}),n||c.set("offset",l/this.duration),i.push(c)});let r=[...e.values()],o=[...t.values()];if(n){let a=i[0],l=new Map(a);a.set("offset",0),l.set("offset",1),i=[a,l]}return Ot(this.element,i,r,o,this.duration,this.startTime,this.easing,!1)}},vt=class extends He{keyframes;preStyleProps;postStyleProps;_stretchStartingKeyframe;timings;constructor(e,t,n,i,r,o,a=!1){super(e,t,o.delay),this.keyframes=n,this.preStyleProps=i,this.postStyleProps=r,this._stretchStartingKeyframe=a,this.timings={duration:o.duration,delay:o.delay,easing:o.easing}}containsAnimation(){return this.keyframes.length>1}buildKeyframes(){let e=this.keyframes,{delay:t,duration:n,easing:i}=this.timings;if(this._stretchStartingKeyframe&&t){let r=[],o=n+t,a=t/o,l=new Map(e[0]);l.set("offset",0),r.push(l);let c=new Map(e[0]);c.set("offset",Kn(a)),r.push(c);let h=e.length-1;for(let u=1;u<=h;u++){let S=new Map(e[u]),y=S.get("offset"),m=t+y*n;S.set("offset",Kn(m/o)),r.push(S)}n=o,t=0,i="",e=r}return Ot(this.element,e,this.preStyleProps,this.postStyleProps,n,t,i,!0)}};function Kn(s,e=3){let t=Math.pow(10,e-1);return Math.round(s*t)/t}function Ai(s,e){let t=new Map,n;return s.forEach(i=>{if(i==="*"){n??=e.keys();for(let r of n)t.set(r,Q)}else for(let[r,o]of i)t.set(r,o)}),t}function jn(s,e,t,n,i,r,o,a,l,c,h,u,S){return{type:0,element:s,triggerName:e,isRemovalTransition:i,fromState:t,fromStyles:r,toState:n,toStyles:o,timelines:a,queriedElements:l,preStyleProps:c,postStyleProps:h,totalTime:u,errors:S}}var ct={},Ge=class{_triggerName;ast;_stateStyles;constructor(e,t,n){this._triggerName=e,this.ast=t,this._stateStyles=n}match(e,t,n,i){return Mi(this.ast.matchers,e,t,n,i)}buildStyles(e,t,n){let i=this._stateStyles.get("*");return e!==void 0&&(i=this._stateStyles.get(e?.toString())||i),i?i.buildStyles(t,n):new Map}build(e,t,n,i,r,o,a,l,c,h){let u=[],S=this.ast.options&&this.ast.options.params||ct,y=a&&a.params||ct,m=this.buildStyles(n,y,u),g=l&&l.params||ct,T=this.buildStyles(i,g,u),w=new Set,A=new Map,N=new Map,P=i==="void",de={params:ss(g,S),delay:this.ast.options?.delay},B=h?[]:ns(e,t,this.ast.animation,r,o,m,T,de,c,u),C=0;return B.forEach(F=>{C=Math.max(F.duration+F.delay,C)}),u.length?jn(t,this._triggerName,n,i,P,m,T,[],[],A,N,C,u):(B.forEach(F=>{let te=F.element,me=O(A,te,new Set);F.preStyleProps.forEach(ne=>me.add(ne));let It=O(N,te,new Set);F.postStyleProps.forEach(ne=>It.add(ne)),te!==t&&w.add(te)}),jn(t,this._triggerName,n,i,P,m,T,B,[...w.values()],A,N,C))}};function Mi(s,e,t,n,i){return s.some(r=>r(e,t,n,i))}function ss(s,e){let t=Pe({},e);return Object.entries(s).forEach(([n,i])=>{i!=null&&(t[n]=i)}),t}var Tt=class{styles;defaultParams;normalizer;constructor(e,t,n){this.styles=e,this.defaultParams=t,this.normalizer=n}buildStyles(e,t){let n=new Map,i=ss(e,this.defaultParams);return this.styles.styles.forEach(r=>{typeof r!="string"&&r.forEach((o,a)=>{o&&(o=Te(o,i,t));let l=this.normalizer.normalizePropertyName(a,t);o=this.normalizer.normalizeStyleValue(a,l,o,t),n.set(a,o)})}),n}};function Pi(s,e,t){return new bt(s,e,t)}var bt=class{name;ast;_normalizer;transitionFactories=[];fallbackTransition;states=new Map;constructor(e,t,n){this.name=e,this.ast=t,this._normalizer=n,t.states.forEach(i=>{let r=i.options&&i.options.params||{};this.states.set(i.name,new Tt(i.style,r,n))}),qn(this.states,"true","1"),qn(this.states,"false","0"),t.transitions.forEach(i=>{this.transitionFactories.push(new Ge(e,i,this.states))}),this.fallbackTransition=Di(e,this.states,this._normalizer)}get containsQueries(){return this.ast.queryCount>0}matchTransition(e,t,n,i){return this.transitionFactories.find(o=>o.match(e,t,n,i))||null}matchStyles(e,t,n){return this.fallbackTransition.buildStyles(e,t,n)}};function Di(s,e,t){let n=[(o,a)=>!0],i={type:_.Sequence,steps:[],options:null},r={type:_.Transition,animation:i,matchers:n,options:null,queryCount:0,depCount:0};return new Ge(s,r,e)}function qn(s,e,t){s.has(e)?s.has(t)||s.set(t,s.get(e)):s.has(t)&&s.set(e,s.get(t))}var Ni=new be,wt=class{bodyNode;_driver;_normalizer;_animations=new Map;_playersById=new Map;players=[];constructor(e,t,n){this.bodyNode=e,this._driver=t,this._normalizer=n}register(e,t){let n=[],i=[],r=ts(this._driver,t,n,i);if(n.length)throw Us(n);i.length&&void 0,this._animations.set(e,r)}_buildPlayer(e,t,n){let i=e.element,r=xn(this._normalizer,e.keyframes,t,n);return this._driver.animate(i,r,e.duration,e.delay,e.easing,[],!0)}create(e,t,n={}){let i=[],r=this._animations.get(e),o,a=new Map;if(r?(o=ns(this._driver,t,r,Xn,mt,new Map,new Map,n,Ni,i),o.forEach(h=>{let u=O(a,h.element,new Map);h.postStyleProps.forEach(S=>u.set(S,null))})):(i.push(Qs()),o=[]),i.length)throw Vs(i);a.forEach((h,u)=>{h.forEach((S,y)=>{h.set(y,this._driver.computeStyle(u,y,Q))})});let l=o.map(h=>{let u=a.get(h.element);return this._buildPlayer(h,new Map,u)}),c=ee(l);return this._playersById.set(e,c),c.onDestroy(()=>this.destroy(e)),this.players.push(c),c}destroy(e){let t=this._getPlayer(e);t.destroy(),this._playersById.delete(e);let n=this.players.indexOf(t);n>=0&&this.players.splice(n,1)}_getPlayer(e){let t=this._playersById.get(e);if(!t)throw Hs(e);return t}listen(e,t,n,i){let r=Nt(t,"","","");return Dt(this._getPlayer(e),n,r,i),()=>{}}command(e,t,n,i){if(n=="register"){this.register(e,i[0]);return}if(n=="create"){let o=i[0]||{};this.create(e,t,o);return}let r=this._getPlayer(e);switch(n){case"play":r.play();break;case"pause":r.pause();break;case"reset":r.reset();break;case"restart":r.restart();break;case"finish":r.finish();break;case"init":r.init();break;case"setPosition":r.setPosition(parseFloat(i[0]));break;case"destroy":this.destroy(e);break}}},Un="ng-animate-queued",Ci=".ng-animate-queued",ut="ng-animate-disabled",Fi=".ng-animate-disabled",Ri="ng-star-inserted",ki=".ng-star-inserted",Oi=[],is={namespaceId:"",setForRemoval:!1,setForMove:!1,hasAnimation:!1,removedBeforeQueried:!1},Ii={namespaceId:"",setForMove:!1,setForRemoval:!1,hasAnimation:!1,removedBeforeQueried:!0},$="__ng_removed",we=class{namespaceId;value;options;get params(){return this.options.params}constructor(e,t=""){this.namespaceId=t;let n=e&&e.hasOwnProperty("value"),i=n?e.value:e;if(this.value=$i(i),n){let r=e,{value:o}=r,a=Bt(r,["value"]);this.options=a}else this.options={};this.options.params||(this.options.params={})}absorbOptions(e){let t=e.params;if(t){let n=this.options.params;Object.keys(t).forEach(i=>{n[i]==null&&(n[i]=t[i])})}}},ve="void",ht=new we(ve),At=class{id;hostElement;_engine;players=[];_triggers=new Map;_queue=[];_elementListeners=new Map;_hostClassName;constructor(e,t,n){this.id=e,this.hostElement=t,this._engine=n,this._hostClassName="ng-tns-"+e,L(t,this._hostClassName)}listen(e,t,n,i){if(!this._triggers.has(t))throw Gs(n,t);if(n==null||n.length==0)throw xs(t);if(!zi(n))throw Ws(n,t);let r=O(this._elementListeners,e,[]),o={name:t,phase:n,callback:i};r.push(o);let a=O(this._engine.statesByElement,e,new Map);return a.has(t)||(L(e,Le),L(e,Le+"-"+t),a.set(t,ht)),()=>{this._engine.afterFlush(()=>{let l=r.indexOf(o);l>=0&&r.splice(l,1),this._triggers.has(t)||a.delete(t)})}}register(e,t){return this._triggers.has(e)?!1:(this._triggers.set(e,t),!0)}_getTrigger(e){let t=this._triggers.get(e);if(!t)throw Js(e);return t}trigger(e,t,n,i=!0){let r=this._getTrigger(t),o=new Ae(this.id,t,e),a=this._engine.statesByElement.get(e);a||(L(e,Le),L(e,Le+"-"+t),this._engine.statesByElement.set(e,a=new Map));let l=a.get(t),c=new we(n,this.id);if(!(n&&n.hasOwnProperty("value"))&&l&&c.absorbOptions(l.options),a.set(t,c),l||(l=ht),!(c.value===ve)&&l.value===c.value){if(!ji(l.params,c.params)){let g=[],T=r.matchStyles(l.value,l.params,g),w=r.matchStyles(c.value,c.params,g);g.length?this._engine.reportError(g):this._engine.afterFlush(()=>{ce(e,T),V(e,w)})}return}let S=O(this._engine.playersByElement,e,[]);S.forEach(g=>{g.namespaceId==this.id&&g.triggerName==t&&g.queued&&g.destroy()});let y=r.matchTransition(l.value,c.value,e,c.params),m=!1;if(!y){if(!i)return;y=r.fallbackTransition,m=!0}return this._engine.totalQueuedPlayers++,this._queue.push({element:e,triggerName:t,transition:y,fromState:l,toState:c,player:o,isFallbackTransition:m}),m||(L(e,Un),o.onStart(()=>{ye(e,Un)})),o.onDone(()=>{let g=this.players.indexOf(o);g>=0&&this.players.splice(g,1);let T=this._engine.playersByElement.get(e);if(T){let w=T.indexOf(o);w>=0&&T.splice(w,1)}}),this.players.push(o),S.push(o),o}deregister(e){this._triggers.delete(e),this._engine.statesByElement.forEach(t=>t.delete(e)),this._elementListeners.forEach((t,n)=>{this._elementListeners.set(n,t.filter(i=>i.name!=e))})}clearElementCache(e){this._engine.statesByElement.delete(e),this._elementListeners.delete(e);let t=this._engine.playersByElement.get(e);t&&(t.forEach(n=>n.destroy()),this._engine.playersByElement.delete(e))}_signalRemovalForInnerTriggers(e,t){let n=this._engine.driver.query(e,je,!0);n.forEach(i=>{if(i[$])return;let r=this._engine.fetchNamespacesByElement(i);r.size?r.forEach(o=>o.triggerLeaveAnimation(i,t,!1,!0)):this.clearElementCache(i)}),this._engine.afterFlushAnimationsDone(()=>n.forEach(i=>this.clearElementCache(i)))}triggerLeaveAnimation(e,t,n,i){let r=this._engine.statesByElement.get(e),o=new Map;if(r){let a=[];if(r.forEach((l,c)=>{if(o.set(c,l.value),this._triggers.has(c)){let h=this.trigger(e,c,ve,i);h&&a.push(h)}}),a.length)return this._engine.markElementAsRemoved(this.id,e,!0,t,o),n&&ee(a).onDone(()=>this._engine.processLeaveNode(e)),!0}return!1}prepareLeaveAnimationListeners(e){let t=this._elementListeners.get(e),n=this._engine.statesByElement.get(e);if(t&&n){let i=new Set;t.forEach(r=>{let o=r.name;if(i.has(o))return;i.add(o);let l=this._triggers.get(o).fallbackTransition,c=n.get(o)||ht,h=new we(ve),u=new Ae(this.id,o,e);this._engine.totalQueuedPlayers++,this._queue.push({element:e,triggerName:o,transition:l,fromState:c,toState:h,player:u,isFallbackTransition:!0})})}}removeNode(e,t){let n=this._engine;if(e.childElementCount&&this._signalRemovalForInnerTriggers(e,t),this.triggerLeaveAnimation(e,t,!0))return;let i=!1;if(n.totalAnimations){let r=n.players.length?n.playersByQueriedElement.get(e):[];if(r&&r.length)i=!0;else{let o=e;for(;o=o.parentNode;)if(n.statesByElement.get(o)){i=!0;break}}}if(this.prepareLeaveAnimationListeners(e),i)n.markElementAsRemoved(this.id,e,!1,t);else{let r=e[$];(!r||r===is)&&(n.afterFlush(()=>this.clearElementCache(e)),n.destroyInnerAnimations(e),n._onRemovalComplete(e,t))}}insertNode(e,t){L(e,this._hostClassName)}drainQueuedTransitions(e){let t=[];return this._queue.forEach(n=>{let i=n.player;if(i.destroyed)return;let r=n.element,o=this._elementListeners.get(r);o&&o.forEach(a=>{if(a.name==n.triggerName){let l=Nt(r,n.triggerName,n.fromState.value,n.toState.value);l._data=e,Dt(n.player,a.phase,l,a.callback)}}),i.markedForDestroy?this._engine.afterFlush(()=>{i.destroy()}):t.push(n)}),this._queue=[],t.sort((n,i)=>{let r=n.transition.ast.depCount,o=i.transition.ast.depCount;return r==0||o==0?r-o:this._engine.driver.containsElement(n.element,i.element)?1:-1})}destroy(e){this.players.forEach(t=>t.destroy()),this._signalRemovalForInnerTriggers(this.hostElement,e)}},Mt=class{bodyNode;driver;_normalizer;players=[];newHostElements=new Map;playersByElement=new Map;playersByQueriedElement=new Map;statesByElement=new Map;disabledNodes=new Set;totalAnimations=0;totalQueuedPlayers=0;_namespaceLookup={};_namespaceList=[];_flushFns=[];_whenQuietFns=[];namespacesByHostElement=new Map;collectedEnterElements=[];collectedLeaveElements=[];onRemovalComplete=(e,t)=>{};_onRemovalComplete(e,t){this.onRemovalComplete(e,t)}constructor(e,t,n){this.bodyNode=e,this.driver=t,this._normalizer=n}get queuedPlayers(){let e=[];return this._namespaceList.forEach(t=>{t.players.forEach(n=>{n.queued&&e.push(n)})}),e}createNamespace(e,t){let n=new At(e,t,this);return this.bodyNode&&this.driver.containsElement(this.bodyNode,t)?this._balanceNamespaceList(n,t):(this.newHostElements.set(t,n),this.collectEnterElement(t)),this._namespaceLookup[e]=n}_balanceNamespaceList(e,t){let n=this._namespaceList,i=this.namespacesByHostElement;if(n.length-1>=0){let o=!1,a=this.driver.getParentElement(t);for(;a;){let l=i.get(a);if(l){let c=n.indexOf(l);n.splice(c+1,0,e),o=!0;break}a=this.driver.getParentElement(a)}o||n.unshift(e)}else n.push(e);return i.set(t,e),e}register(e,t){let n=this._namespaceLookup[e];return n||(n=this.createNamespace(e,t)),n}registerTrigger(e,t,n){let i=this._namespaceLookup[e];i&&i.register(t,n)&&this.totalAnimations++}destroy(e,t){e&&(this.afterFlush(()=>{}),this.afterFlushAnimationsDone(()=>{let n=this._fetchNamespace(e);this.namespacesByHostElement.delete(n.hostElement);let i=this._namespaceList.indexOf(n);i>=0&&this._namespaceList.splice(i,1),n.destroy(t),delete this._namespaceLookup[e]}))}_fetchNamespace(e){return this._namespaceLookup[e]}fetchNamespacesByElement(e){let t=new Set,n=this.statesByElement.get(e);if(n){for(let i of n.values())if(i.namespaceId){let r=this._fetchNamespace(i.namespaceId);r&&t.add(r)}}return t}trigger(e,t,n,i){if(Be(t)){let r=this._fetchNamespace(e);if(r)return r.trigger(t,n,i),!0}return!1}insertNode(e,t,n,i){if(!Be(t))return;let r=t[$];if(r&&r.setForRemoval){r.setForRemoval=!1,r.setForMove=!0;let o=this.collectedLeaveElements.indexOf(t);o>=0&&this.collectedLeaveElements.splice(o,1)}if(e){let o=this._fetchNamespace(e);o&&o.insertNode(t,n)}i&&this.collectEnterElement(t)}collectEnterElement(e){this.collectedEnterElements.push(e)}markElementAsDisabled(e,t){t?this.disabledNodes.has(e)||(this.disabledNodes.add(e),L(e,ut)):this.disabledNodes.has(e)&&(this.disabledNodes.delete(e),ye(e,ut))}removeNode(e,t,n){if(Be(t)){let i=e?this._fetchNamespace(e):null;i?i.removeNode(t,n):this.markElementAsRemoved(e,t,!1,n);let r=this.namespacesByHostElement.get(t);r&&r.id!==e&&r.removeNode(t,n)}else this._onRemovalComplete(t,n)}markElementAsRemoved(e,t,n,i,r){this.collectedLeaveElements.push(t),t[$]={namespaceId:e,setForRemoval:i,hasAnimation:n,removedBeforeQueried:!1,previousTriggersValues:r}}listen(e,t,n,i,r){return Be(t)?this._fetchNamespace(e).listen(t,n,i,r):()=>{}}_buildInstruction(e,t,n,i,r){return e.transition.build(this.driver,e.element,e.fromState.value,e.toState.value,n,i,e.fromState.options,e.toState.options,t,r)}destroyInnerAnimations(e){let t=this.driver.query(e,je,!0);t.forEach(n=>this.destroyActiveAnimationsForElement(n)),this.playersByQueriedElement.size!=0&&(t=this.driver.query(e,ft,!0),t.forEach(n=>this.finishActiveQueriedAnimationOnElement(n)))}destroyActiveAnimationsForElement(e){let t=this.playersByElement.get(e);t&&t.forEach(n=>{n.queued?n.markedForDestroy=!0:n.destroy()})}finishActiveQueriedAnimationOnElement(e){let t=this.playersByQueriedElement.get(e);t&&t.forEach(n=>n.finish())}whenRenderingDone(){return new Promise(e=>{if(this.players.length)return ee(this.players).onDone(()=>e());e()})}processLeaveNode(e){let t=e[$];if(t&&t.setForRemoval){if(e[$]=is,t.namespaceId){this.destroyInnerAnimations(e);let n=this._fetchNamespace(t.namespaceId);n&&n.clearElementCache(e)}this._onRemovalComplete(e,t.setForRemoval)}e.classList?.contains(ut)&&this.markElementAsDisabled(e,!1),this.driver.query(e,Fi,!0).forEach(n=>{this.markElementAsDisabled(n,!1)})}flush(e=-1){let t=[];if(this.newHostElements.size&&(this.newHostElements.forEach((n,i)=>this._balanceNamespaceList(n,i)),this.newHostElements.clear()),this.totalAnimations&&this.collectedEnterElements.length)for(let n=0;nn()),this._flushFns=[],this._whenQuietFns.length){let n=this._whenQuietFns;this._whenQuietFns=[],t.length?ee(t).onDone(()=>{n.forEach(i=>i())}):n.forEach(i=>i())}}reportError(e){throw Ys(e)}_flushAnimations(e,t){let n=new be,i=[],r=new Map,o=[],a=new Map,l=new Map,c=new Map,h=new Set;this.disabledNodes.forEach(d=>{h.add(d);let f=this.driver.query(d,Ci,!0);for(let p=0;p{let p=Xn+g++;m.set(f,p),d.forEach(E=>L(E,p))});let T=[],w=new Set,A=new Set;for(let d=0;dw.add(E)):A.add(f))}let N=new Map,P=Hn(S,Array.from(w));P.forEach((d,f)=>{let p=mt+g++;N.set(f,p),d.forEach(E=>L(E,p))}),e.push(()=>{y.forEach((d,f)=>{let p=m.get(f);d.forEach(E=>ye(E,p))}),P.forEach((d,f)=>{let p=N.get(f);d.forEach(E=>ye(E,p))}),T.forEach(d=>{this.processLeaveNode(d)})});let de=[],B=[];for(let d=this._namespaceList.length-1;d>=0;d--)this._namespaceList[d].drainQueuedTransitions(t).forEach(p=>{let E=p.player,M=p.element;if(de.push(E),this.collectedEnterElements.length){let D=M[$];if(D&&D.setForMove){if(D.previousTriggersValues&&D.previousTriggersValues.has(p.triggerName)){let se=D.previousTriggersValues.get(p.triggerName),I=this.statesByElement.get(p.element);if(I&&I.has(p.triggerName)){let Me=I.get(p.triggerName);Me.value=se,I.set(p.triggerName,Me)}}E.destroy();return}}let K=!u||!this.driver.containsElement(u,M),R=N.get(M),x=m.get(M),b=this._buildInstruction(p,n,x,R,K);if(b.errors&&b.errors.length){B.push(b);return}if(K){E.onStart(()=>ce(M,b.fromStyles)),E.onDestroy(()=>V(M,b.toStyles)),i.push(E);return}if(p.isFallbackTransition){E.onStart(()=>ce(M,b.fromStyles)),E.onDestroy(()=>V(M,b.toStyles)),i.push(E);return}let zt=[];b.timelines.forEach(D=>{D.stretchStartingKeyframe=!0,this.disabledNodes.has(D.element)||zt.push(D)}),b.timelines=zt,n.append(M,b.timelines);let ys={instruction:b,player:E,element:M};o.push(ys),b.queriedElements.forEach(D=>O(a,D,[]).push(E)),b.preStyleProps.forEach((D,se)=>{if(D.size){let I=l.get(se);I||l.set(se,I=new Set),D.forEach((Me,tt)=>I.add(tt))}}),b.postStyleProps.forEach((D,se)=>{let I=c.get(se);I||c.set(se,I=new Set),D.forEach((Me,tt)=>I.add(tt))})});if(B.length){let d=[];B.forEach(f=>{d.push(Xs(f.triggerName,f.errors))}),de.forEach(f=>f.destroy()),this.reportError(d)}let C=new Map,F=new Map;o.forEach(d=>{let f=d.element;n.has(f)&&(F.set(f,f),this._beforeAnimationBuild(d.player.namespaceId,d.instruction,C))}),i.forEach(d=>{let f=d.element;this._getPreviousPlayers(f,!1,d.namespaceId,d.triggerName,null).forEach(E=>{O(C,f,[]).push(E),E.destroy()})});let te=T.filter(d=>Gn(d,l,c)),me=new Map;Vn(me,this.driver,A,c,Q).forEach(d=>{Gn(d,l,c)&&te.push(d)});let ne=new Map;y.forEach((d,f)=>{Vn(ne,this.driver,new Set(d),l,Ie)}),te.forEach(d=>{let f=me.get(d),p=ne.get(d);me.set(d,new Map([...f?.entries()??[],...p?.entries()??[]]))});let et=[],Lt=[],$t={};o.forEach(d=>{let{element:f,player:p,instruction:E}=d;if(n.has(f)){if(h.has(f)){p.onDestroy(()=>V(f,E.toStyles)),p.disabled=!0,p.overrideTotalTime(E.totalTime),i.push(p);return}let M=$t;if(F.size>1){let R=f,x=[];for(;R=R.parentNode;){let b=F.get(R);if(b){M=b;break}x.push(R)}x.forEach(b=>F.set(b,M))}let K=this._buildAnimation(p.namespaceId,E,C,r,ne,me);if(p.setRealPlayer(K),M===$t)et.push(p);else{let R=this.playersByElement.get(M);R&&R.length&&(p.parentPlayer=ee(R)),i.push(p)}}else ce(f,E.fromStyles),p.onDestroy(()=>V(f,E.toStyles)),Lt.push(p),h.has(f)&&i.push(p)}),Lt.forEach(d=>{let f=r.get(d.element);if(f&&f.length){let p=ee(f);d.setRealPlayer(p)}}),i.forEach(d=>{d.parentPlayer?d.syncPlayerEvents(d.parentPlayer):d.destroy()});for(let d=0;d!K.destroyed);M.length?Bi(this,f,M):this.processLeaveNode(f)}return T.length=0,et.forEach(d=>{this.players.push(d),d.onDone(()=>{d.destroy();let f=this.players.indexOf(d);this.players.splice(f,1)}),d.play()}),et}afterFlush(e){this._flushFns.push(e)}afterFlushAnimationsDone(e){this._whenQuietFns.push(e)}_getPreviousPlayers(e,t,n,i,r){let o=[];if(t){let a=this.playersByQueriedElement.get(e);a&&(o=a)}else{let a=this.playersByElement.get(e);if(a){let l=!r||r==ve;a.forEach(c=>{c.queued||!l&&c.triggerName!=i||o.push(c)})}}return(n||i)&&(o=o.filter(a=>!(n&&n!=a.namespaceId||i&&i!=a.triggerName))),o}_beforeAnimationBuild(e,t,n){let i=t.triggerName,r=t.element,o=t.isRemovalTransition?void 0:e,a=t.isRemovalTransition?void 0:i;for(let l of t.timelines){let c=l.element,h=c!==r,u=O(n,c,[]);this._getPreviousPlayers(c,h,o,a,t.toState).forEach(y=>{let m=y.getRealPlayer();m.beforeDestroy&&m.beforeDestroy(),y.destroy(),u.push(y)})}ce(r,t.fromStyles)}_buildAnimation(e,t,n,i,r,o){let a=t.triggerName,l=t.element,c=[],h=new Set,u=new Set,S=t.timelines.map(m=>{let g=m.element;h.add(g);let T=g[$];if(T&&T.removedBeforeQueried)return new Z(m.duration,m.delay);let w=g!==l,A=Ki((n.get(g)||Oi).map(C=>C.getRealPlayer())).filter(C=>{let F=C;return F.element?F.element===g:!1}),N=r.get(g),P=o.get(g),de=xn(this._normalizer,m.keyframes,N,P),B=this._buildPlayer(m,de,A);if(m.subTimeline&&i&&u.add(g),w){let C=new Ae(e,a,g);C.setRealPlayer(B),c.push(C)}return B});c.forEach(m=>{O(this.playersByQueriedElement,m.element,[]).push(m),m.onDone(()=>Li(this.playersByQueriedElement,m.element,m))}),h.forEach(m=>L(m,$n));let y=ee(S);return y.onDestroy(()=>{h.forEach(m=>ye(m,$n)),V(l,t.toStyles)}),u.forEach(m=>{O(i,m,[]).push(y)}),y}_buildPlayer(e,t,n){return t.length>0?this.driver.animate(e.element,t,e.duration,e.delay,e.easing,n):new Z(e.duration,e.delay)}},Ae=class{namespaceId;triggerName;element;_player=new Z;_containsRealPlayer=!1;_queuedCallbacks=new Map;destroyed=!1;parentPlayer=null;markedForDestroy=!1;disabled=!1;queued=!0;totalTime=0;constructor(e,t,n){this.namespaceId=e,this.triggerName=t,this.element=n}setRealPlayer(e){this._containsRealPlayer||(this._player=e,this._queuedCallbacks.forEach((t,n)=>{t.forEach(i=>Dt(e,n,void 0,i))}),this._queuedCallbacks.clear(),this._containsRealPlayer=!0,this.overrideTotalTime(e.totalTime),this.queued=!1)}getRealPlayer(){return this._player}overrideTotalTime(e){this.totalTime=e}syncPlayerEvents(e){let t=this._player;t.triggerCallback&&e.onStart(()=>t.triggerCallback("start")),e.onDone(()=>this.finish()),e.onDestroy(()=>this.destroy())}_queueEvent(e,t){O(this._queuedCallbacks,e,[]).push(t)}onDone(e){this.queued&&this._queueEvent("done",e),this._player.onDone(e)}onStart(e){this.queued&&this._queueEvent("start",e),this._player.onStart(e)}onDestroy(e){this.queued&&this._queueEvent("destroy",e),this._player.onDestroy(e)}init(){this._player.init()}hasStarted(){return this.queued?!1:this._player.hasStarted()}play(){!this.queued&&this._player.play()}pause(){!this.queued&&this._player.pause()}restart(){!this.queued&&this._player.restart()}finish(){this._player.finish()}destroy(){this.destroyed=!0,this._player.destroy()}reset(){!this.queued&&this._player.reset()}setPosition(e){this.queued||this._player.setPosition(e)}getPosition(){return this.queued?0:this._player.getPosition()}triggerCallback(e){let t=this._player;t.triggerCallback&&t.triggerCallback(e)}};function Li(s,e,t){let n=s.get(e);if(n){if(n.length){let i=n.indexOf(t);n.splice(i,1)}n.length==0&&s.delete(e)}return n}function $i(s){return s??null}function Be(s){return s&&s.nodeType===1}function zi(s){return s=="start"||s=="done"}function Qn(s,e){let t=s.style.display;return s.style.display=e??"none",t}function Vn(s,e,t,n,i){let r=[];t.forEach(l=>r.push(Qn(l)));let o=[];n.forEach((l,c)=>{let h=new Map;l.forEach(u=>{let S=e.computeStyle(c,u,i);h.set(u,S),(!S||S.length==0)&&(c[$]=Ii,o.push(c))}),s.set(c,h)});let a=0;return t.forEach(l=>Qn(l,r[a++])),o}function Hn(s,e){let t=new Map;if(s.forEach(a=>t.set(a,[])),e.length==0)return t;let n=1,i=new Set(e),r=new Map;function o(a){if(!a)return n;let l=r.get(a);if(l)return l;let c=a.parentNode;return t.has(c)?l=c:i.has(c)?l=n:l=o(c),r.set(a,l),l}return e.forEach(a=>{let l=o(a);l!==n&&t.get(l).push(a)}),t}function L(s,e){s.classList?.add(e)}function ye(s,e){s.classList?.remove(e)}function Bi(s,e,t){ee(t).onDone(()=>s.processLeaveNode(e))}function Ki(s){let e=[];return rs(s,e),e}function rs(s,e){for(let t=0;ti.add(r)):e.set(s,n),t.delete(s),!0}var _e=class{_driver;_normalizer;_transitionEngine;_timelineEngine;_triggerCache={};onRemovalComplete=(e,t)=>{};constructor(e,t,n){this._driver=t,this._normalizer=n,this._transitionEngine=new Mt(e.body,t,n),this._timelineEngine=new wt(e.body,t,n),this._transitionEngine.onRemovalComplete=(i,r)=>this.onRemovalComplete(i,r)}registerTrigger(e,t,n,i,r){let o=e+"-"+i,a=this._triggerCache[o];if(!a){let l=[],c=[],h=ts(this._driver,r,l,c);if(l.length)throw js(i,l);c.length&&void 0,a=Pi(i,h,this._normalizer),this._triggerCache[o]=a}this._transitionEngine.registerTrigger(t,i,a)}register(e,t){this._transitionEngine.register(e,t)}destroy(e,t){this._transitionEngine.destroy(e,t)}onInsert(e,t,n,i){this._transitionEngine.insertNode(e,t,n,i)}onRemove(e,t,n){this._transitionEngine.removeNode(e,t,n)}disableAnimations(e,t){this._transitionEngine.markElementAsDisabled(e,t)}process(e,t,n,i){if(n.charAt(0)=="@"){let[r,o]=In(n),a=i;this._timelineEngine.command(r,t,o,a)}else this._transitionEngine.trigger(e,t,n,i)}listen(e,t,n,i,r){if(n.charAt(0)=="@"){let[o,a]=In(n);return this._timelineEngine.listen(o,t,a,r)}return this._transitionEngine.listen(e,t,n,i,r)}flush(e=-1){this._transitionEngine.flush(e)}get players(){return[...this._transitionEngine.players,...this._timelineEngine.players]}whenRenderingDone(){return this._transitionEngine.whenRenderingDone()}afterFlushAnimationsDone(e){this._transitionEngine.afterFlushAnimationsDone(e)}};function qi(s,e){let t=null,n=null;return Array.isArray(e)&&e.length?(t=dt(e[0]),e.length>1&&(n=dt(e[e.length-1]))):e instanceof Map&&(t=dt(e)),t||n?new Ui(s,t,n):null}var Ui=(()=>{class s{_element;_startStyles;_endStyles;static initialStylesByElement=new WeakMap;_state=0;_initialStyles;constructor(t,n,i){this._element=t,this._startStyles=n,this._endStyles=i;let r=s.initialStylesByElement.get(t);r||s.initialStylesByElement.set(t,r=new Map),this._initialStyles=r}start(){this._state<1&&(this._startStyles&&V(this._element,this._startStyles,this._initialStyles),this._state=1)}finish(){this.start(),this._state<2&&(V(this._element,this._initialStyles),this._endStyles&&(V(this._element,this._endStyles),this._endStyles=null),this._state=1)}destroy(){this.finish(),this._state<3&&(s.initialStylesByElement.delete(this._element),this._startStyles&&(ce(this._element,this._startStyles),this._endStyles=null),this._endStyles&&(ce(this._element,this._endStyles),this._endStyles=null),V(this._element,this._initialStyles),this._state=3)}}return s})();function dt(s){let e=null;return s.forEach((t,n)=>{Qi(n)&&(e=e||new Map,e.set(n,t))}),e}function Qi(s){return s==="display"||s==="position"}var xe=class{element;keyframes;options;_specialStyles;_onDoneFns=[];_onStartFns=[];_onDestroyFns=[];_duration;_delay;_initialized=!1;_finished=!1;_started=!1;_destroyed=!1;_finalKeyframe;_originalOnDoneFns=[];_originalOnStartFns=[];domPlayer;time=0;parentPlayer=null;currentSnapshot=new Map;constructor(e,t,n,i){this.element=e,this.keyframes=t,this.options=n,this._specialStyles=i,this._duration=n.duration,this._delay=n.delay||0,this.time=this._duration+this._delay}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(e=>e()),this._onDoneFns=[])}init(){this._buildPlayer(),this._preparePlayerBeforeStart()}_buildPlayer(){if(this._initialized)return;this._initialized=!0;let e=this.keyframes;this.domPlayer=this._triggerWebAnimation(this.element,e,this.options),this._finalKeyframe=e.length?e[e.length-1]:new Map;let t=()=>this._onFinish();this.domPlayer.addEventListener("finish",t),this.onDestroy(()=>{this.domPlayer.removeEventListener("finish",t)})}_preparePlayerBeforeStart(){this._delay?this._resetDomPlayerState():this.domPlayer.pause()}_convertKeyframesToObject(e){let t=[];return e.forEach(n=>{t.push(Object.fromEntries(n))}),t}_triggerWebAnimation(e,t,n){return e.animate(this._convertKeyframesToObject(t),n)}onStart(e){this._originalOnStartFns.push(e),this._onStartFns.push(e)}onDone(e){this._originalOnDoneFns.push(e),this._onDoneFns.push(e)}onDestroy(e){this._onDestroyFns.push(e)}play(){this._buildPlayer(),this.hasStarted()||(this._onStartFns.forEach(e=>e()),this._onStartFns=[],this._started=!0,this._specialStyles&&this._specialStyles.start()),this.domPlayer.play()}pause(){this.init(),this.domPlayer.pause()}finish(){this.init(),this._specialStyles&&this._specialStyles.finish(),this._onFinish(),this.domPlayer.finish()}reset(){this._resetDomPlayerState(),this._destroyed=!1,this._finished=!1,this._started=!1,this._onStartFns=this._originalOnStartFns,this._onDoneFns=this._originalOnDoneFns}_resetDomPlayerState(){this.domPlayer&&this.domPlayer.cancel()}restart(){this.reset(),this.play()}hasStarted(){return this._started}destroy(){this._destroyed||(this._destroyed=!0,this._resetDomPlayerState(),this._onFinish(),this._specialStyles&&this._specialStyles.destroy(),this._onDestroyFns.forEach(e=>e()),this._onDestroyFns=[])}setPosition(e){this.domPlayer===void 0&&this.init(),this.domPlayer.currentTime=e*this.time}getPosition(){return+(this.domPlayer.currentTime??0)/this.time}get totalTime(){return this._delay+this._duration}beforeDestroy(){let e=new Map;this.hasStarted()&&this._finalKeyframe.forEach((n,i)=>{i!=="offset"&&e.set(i,this._finished?n:kt(this.element,i))}),this.currentSnapshot=e}triggerCallback(e){let t=e==="start"?this._onStartFns:this._onDoneFns;t.forEach(n=>n()),t.length=0}},We=class{validateStyleProperty(e){return!0}validateAnimatableStyleProperty(e){return!0}containsElement(e,t){return Wn(e,t)}getParentElement(e){return Ct(e)}query(e,t,n){return Jn(e,t,n)}computeStyle(e,t,n){return kt(e,t)}animate(e,t,n,i,r,o=[]){let a=i==0?"both":"forwards",l={duration:n,delay:i,fill:a};r&&(l.easing=r);let c=new Map,h=o.filter(y=>y instanceof xe);ci(n,i)&&h.forEach(y=>{y.currentSnapshot.forEach((m,g)=>c.set(g,m))});let u=oi(t).map(y=>new Map(y));u=ui(e,u,c);let S=qi(e,u);return new xe(e,u,l,S)}};var Ke="@",os="@.disabled",Je=class{namespaceId;delegate;engine;_onDestroy;\u0275type=0;constructor(e,t,n,i){this.namespaceId=e,this.delegate=t,this.engine=n,this._onDestroy=i}get data(){return this.delegate.data}destroyNode(e){this.delegate.destroyNode?.(e)}destroy(){this.engine.destroy(this.namespaceId,this.delegate),this.engine.afterFlushAnimationsDone(()=>{queueMicrotask(()=>{this.delegate.destroy()})}),this._onDestroy?.()}createElement(e,t){return this.delegate.createElement(e,t)}createComment(e){return this.delegate.createComment(e)}createText(e){return this.delegate.createText(e)}appendChild(e,t){this.delegate.appendChild(e,t),this.engine.onInsert(this.namespaceId,t,e,!1)}insertBefore(e,t,n,i=!0){this.delegate.insertBefore(e,t,n),this.engine.onInsert(this.namespaceId,t,e,i)}removeChild(e,t,n){this.parentNode(t)&&this.engine.onRemove(this.namespaceId,t,this.delegate)}selectRootElement(e,t){return this.delegate.selectRootElement(e,t)}parentNode(e){return this.delegate.parentNode(e)}nextSibling(e){return this.delegate.nextSibling(e)}setAttribute(e,t,n,i){this.delegate.setAttribute(e,t,n,i)}removeAttribute(e,t,n){this.delegate.removeAttribute(e,t,n)}addClass(e,t){this.delegate.addClass(e,t)}removeClass(e,t){this.delegate.removeClass(e,t)}setStyle(e,t,n,i){this.delegate.setStyle(e,t,n,i)}removeStyle(e,t,n){this.delegate.removeStyle(e,t,n)}setProperty(e,t,n){t.charAt(0)==Ke&&t==os?this.disableAnimations(e,!!n):this.delegate.setProperty(e,t,n)}setValue(e,t){this.delegate.setValue(e,t)}listen(e,t,n){return this.delegate.listen(e,t,n)}disableAnimations(e,t){this.engine.disableAnimations(e,t)}},Pt=class extends Je{factory;constructor(e,t,n,i,r){super(t,n,i,r),this.factory=e,this.namespaceId=t}setProperty(e,t,n){t.charAt(0)==Ke?t.charAt(1)=="."&&t==os?(n=n===void 0?!0:!!n,this.disableAnimations(e,n)):this.engine.process(this.namespaceId,e,t.slice(1),n):this.delegate.setProperty(e,t,n)}listen(e,t,n){if(t.charAt(0)==Ke){let i=Vi(e),r=t.slice(1),o="";return r.charAt(0)!=Ke&&([r,o]=Hi(r)),this.engine.listen(this.namespaceId,i,r,o,a=>{let l=a._data||-1;this.factory.scheduleListenerCallback(l,n,a)})}return this.delegate.listen(e,t,n)}};function Vi(s){switch(s){case"body":return document.body;case"document":return document;case"window":return window;default:return s}}function Hi(s){let e=s.indexOf("."),t=s.substring(0,e),n=s.slice(e+1);return[t,n]}var Ye=class{delegate;engine;_zone;_currentId=0;_microtaskId=1;_animationCallbacksBuffer=[];_rendererCache=new Map;_cdRecurDepth=0;constructor(e,t,n){this.delegate=e,this.engine=t,this._zone=n,t.onRemovalComplete=(i,r)=>{r?.removeChild(null,i)}}createRenderer(e,t){let n="",i=this.delegate.createRenderer(e,t);if(!e||!t?.data?.animation){let c=this._rendererCache,h=c.get(i);if(!h){let u=()=>c.delete(i);h=new Je(n,i,this.engine,u),c.set(i,h)}return h}let r=t.id,o=t.id+"-"+this._currentId;this._currentId++,this.engine.register(o,e);let a=c=>{Array.isArray(c)?c.forEach(a):this.engine.registerTrigger(r,o,e,c.name,c)};return t.data.animation.forEach(a),new Pt(this,o,i,this.engine)}begin(){this._cdRecurDepth++,this.delegate.begin&&this.delegate.begin()}_scheduleCountTask(){queueMicrotask(()=>{this._microtaskId++})}scheduleListenerCallback(e,t,n){if(e>=0&&et(n));return}let i=this._animationCallbacksBuffer;i.length==0&&queueMicrotask(()=>{this._zone.run(()=>{i.forEach(r=>{let[o,a]=r;o(a)}),this._animationCallbacksBuffer=[]})}),i.push([t,n])}end(){this._cdRecurDepth--,this._cdRecurDepth==0&&this._zone.runOutsideAngular(()=>{this._scheduleCountTask(),this.engine.flush(this._microtaskId)}),this.delegate.end&&this.delegate.end()}whenRenderingDone(){return this.engine.whenRenderingDone()}};var xi=(()=>{class s extends _e{constructor(t,n,i){super(t,n,i)}ngOnDestroy(){this.flush()}static \u0275fac=function(n){return new(n||s)(j(nn),j(ue),j(he))};static \u0275prov=W({token:s,factory:s.\u0275fac})}return s})();function Wi(){return new Ue}function Ji(s,e,t){return new Ye(s,e,t)}var as=[{provide:he,useFactory:Wi},{provide:_e,useClass:xi},{provide:Gt,useFactory:Ji,deps:[cn,_e,De]}],Yi=[{provide:ue,useFactory:()=>new We},{provide:nt,useValue:"BrowserAnimations"},...as],kr=[{provide:ue,useClass:Ft},{provide:nt,useValue:"NoopAnimations"},...as];function ls(){return Ht("NgEagerAnimations"),[...Yi]}var Xe=class{http;prefix;suffix;constructor(e,t="/assets/i18n/",n=".json"){this.http=e,this.prefix=t,this.suffix=n}getTranslation(e){return this.http.get(`${this.prefix}${e}${this.suffix}`)}};function Xi(s,e){if(s&1&&(U(0,"li")(1,"h2")(2,"a",1),re(3),fe(4,"translate"),Y()()()),s&2){let t,n=e.$implicit;q(2),Ne("routerLink","/"+n.path),q(),Re(" ",pe(4,2,((t=n.name)!==null&&t!==void 0?t:n.path)+".title")," ")}}var cs=(()=>{class s{constructor(){this.sections=[{path:"dashboard"},{path:"presence-control"},{path:"open-absences"},{path:"edit-absences"},{path:"evaluate-absences"},{path:"events"},{path:"events/current",name:"events.current"},{path:"my-absences"},{path:"my-profile"},{path:"my-grades"},{path:"my-settings"}]}static{this.\u0275fac=function(n){return new(n||s)}}static{this.\u0275cmp=J({type:s,selectors:[["bkd-home"]],decls:3,vars:0,consts:[[1,"mt-3"],[3,"routerLink"]],template:function(n,i){n&1&&(U(0,"ul",0),Ce(1,Xi,5,4,"li",null,Yt),Y()),n&2&&(q(),Fe(i.sections))},dependencies:[dn,Oe],encapsulation:2,changeDetection:0})}}return s})();var us=(()=>{class s{constructor(){}static{this.\u0275fac=function(n){return new(n||s)}}static{this.\u0275cmp=J({type:s,selectors:[["bkd-unauthenticated"]],decls:4,vars:3,consts:[[1,"bkd-container"],[1,"alert","alert-danger","my-3"]],template:function(n,i){n&1&&(U(0,"div",0)(1,"div",1),re(2),fe(3,"translate"),Y()()),n&2&&(q(2),Re(" ",pe(3,1,"unauthenticated.message")," "))},dependencies:[Oe],encapsulation:2})}}return s})();var Ze=(()=>{class s{constructor(t){this.storage=t}get isAuthenticated(){return!!this.accessToken}get accessToken(){return this.storage.getAccessToken()}static{this.\u0275fac=function(n){return new(n||s)(j(Tn))}}static{this.\u0275prov=W({token:s,factory:s.\u0275fac,providedIn:"root"})}}return s})();function z(){return()=>{let s=H(Ze),e=H(ke);return s.isAuthenticated?!0:(e.navigate(["/unauthenticated"]),!1)}}var hs=[{path:"dashboard",canActivate:[z()],loadChildren:()=>import("./chunk-QRYQOPD4.js").then(s=>s.DASHBOARD_ROUTES)},{path:"presence-control",canActivate:[z()],loadChildren:()=>import("./chunk-FHLJK5I2.js").then(s=>s.PRESENCE_CONTROL_ROUTES)},{path:"open-absences",canActivate:[z()],loadChildren:()=>import("./chunk-S4T5K3GB.js").then(s=>s.OPEN_ABSENCES_ROUTES)},{path:"edit-absences",canActivate:[z()],loadChildren:()=>import("./chunk-RENI6OUS.js").then(s=>s.EDIT_ABSENCES_ROUTES)},{path:"evaluate-absences",canActivate:[z()],loadChildren:()=>import("./chunk-45PGF53G.js").then(s=>s.EVALUATE_ABSENCES_ROUTES)},{path:"events",canActivate:[z()],loadChildren:()=>import("./chunk-GPCFUPHW.js").then(s=>s.EVENTS_ROUTES)},{path:"my-absences",canActivate:[z()],loadChildren:()=>import("./chunk-7LHHIW7H.js").then(s=>s.MY_ABSENCES_ROUTES)},{path:"my-profile",canActivate:[z()],loadChildren:()=>import("./chunk-4RWZ7N7L.js").then(s=>s.MY_PROFILE_ROUTES)},{path:"my-grades",canActivate:[z()],loadChildren:()=>import("./chunk-5V4FYHUO.js").then(s=>s.MY_GRADES_ROUTES)},{path:"my-settings",canActivate:[z()],loadChildren:()=>import("./chunk-B47FYJ6R.js").then(s=>s.MY_SETTINGS_ROUTES)},{path:"unauthenticated",component:us},{path:"",component:cs,pathMatch:"full"}];function ds(){return(s,e)=>{let t=H(Ze),n=H(X);if(s.url.startsWith(n.apiUrl)&&t.accessToken){let i=s.headers.set("Authorization",`Bearer ${t.accessToken}`);return e(s.clone({headers:i}))}return e(s)}}function ms(){return(s,e)=>{let t=H(X);if(!s.headers.has("X-Role-Restriction")&&t.headerRoleRestriction){let n=Zi();if(n&&t.headerRoleRestriction[n]){let i=s.headers.set("X-Role-Restriction",t.headerRoleRestriction[n]);return e(s.clone({headers:i}))}}return e(s)}}function Zi(){let s=H(ke),e=s.url?An(s.url):null;return e?yn(e):null}function fs(){return[{provide:Vt,useClass:er}]}var er=(()=>{class s{constructor(t,n,i){this.ngZone=t,this.translate=n,this.toastService=i}handleError(t){console.error(String(t)),t instanceof rn||this.notifyError()}notifyError(){this.ngZone.run(()=>{this.toastService.error(this.translate.instant("global.app-errors.exception-message"),this.translate.instant("global.app-errors.exception-title"))})}static{this.\u0275fac=function(n){return new(n||s)(j(De),j(En),j(ge))}}static{this.\u0275prov=W({token:s,factory:s.\u0275fac})}}return s})();function tr(s,e){return new Xe(s,`${e.scriptsAndAssetsPath}/assets/locales/`,".json")}var ps={providers:[mn(hs,fn()),an(ln([Mn(),ds(),ms()])),ls(),fs(),vn({loader:{provide:Sn,useFactory:tr,deps:[on,X]}}),bn()]};var gs={production:!0};gs.production&&void 0;rt(Pn);rt(Dn);un(Rn,ps).catch(s=>console.error(s)); +import{b as Mn}from"./chunk-HCNFZOWE.js";import{c as An}from"./chunk-DTYYCJHM.js";import{a as bn,b as wn}from"./chunk-XAZECV42.js";import{t as gn}from"./chunk-W4U7QKJF.js";import{a as ge}from"./chunk-AVBHFGIF.js";import{$ as H,$a as Y,B as jt,Ba as Gt,Bc as mn,Cc as fn,Ed as yn,Ga as J,Jb as fe,Kb as pe,Ld as _n,Na as xt,Nd as Sn,Od as En,Pd as Oe,Qa as Ne,Qd as vn,Rd as Tn,Sa as Wt,V as v,Va as Jt,Wa as Yt,Wb as nn,X as W,Xa as Xt,Ya as Ce,Z as qt,Za as Fe,_ as j,_a as U,_b as rt,a as Pe,ab as Zt,bd as pn,c as Bt,cc as sn,cd as X,ea as Ut,eb as en,fa as Qt,gb as tn,hb as st,k as Kt,kc as rn,lc as on,mc as an,na as De,nc as ln,oa as Vt,oc as cn,pc as un,rb as re,sa as nt,sb as it,ta as Ht,tb as Re,xa as q,xc as hn,ya as ie,yc as ke,zc as dn}from"./chunk-2W7IS4PN.js";function _s(s){let e=s,t=Math.floor(Math.abs(s)),n=s.toString().replace(/^[^.]*\.?/,"").length;return t===1&&n===0?1:5}var Pn=["de-CH",[["AM","PM"],void 0,void 0],void 0,[["S","M","D","M","D","F","S"],["So.","Mo.","Di.","Mi.","Do.","Fr.","Sa."],["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],["So","Mo","Di","Mi","Do","Fr","Sa"]],[["S","M","D","M","D","F","S"],["So","Mo","Di","Mi","Do","Fr","Sa"],["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],["So.","Mo.","Di.","Mi.","Do.","Fr.","Sa."]],[["J","F","M","A","M","J","J","A","S","O","N","D"],["Jan.","Feb.","M\xE4rz","Apr.","Mai","Juni","Juli","Aug.","Sept.","Okt.","Nov.","Dez."],["Januar","Februar","M\xE4rz","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"]],[["J","F","M","A","M","J","J","A","S","O","N","D"],["Jan","Feb","M\xE4r","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"],["Januar","Februar","M\xE4rz","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"]],[["v. Chr.","n. Chr."],void 0,void 0],1,[6,0],["dd.MM.yy","dd.MM.y","d. MMMM y","EEEE, d. MMMM y"],["HH:mm","HH:mm:ss","HH:mm:ss z","HH:mm:ss zzzz"],["{1}, {0}",void 0,"{1} 'um' {0}",void 0],[".","\u2019",";","%","+","-","E","\xB7","\u2030","\u221E","NaN",":"],["#,##0.###","#,##0%","\xA4\xA0#,##0.00;\xA4-#,##0.00","#E0"],"CHF","CHF","Schweizer Franken",{ATS:["\xF6S"],AUD:["AU$","$"],BGM:["BGK"],BGO:["BGJ"],BYN:[void 0,"\u0440."],CUC:[void 0,"Cub$"],DEM:["DM"],EUR:[],FKP:[void 0,"Fl\xA3"],GHS:[void 0,"\u20B5"],GNF:[void 0,"F.G."],KMF:[void 0,"FC"],PHP:[void 0,"\u20B1"],RON:[void 0,"L"],RUR:[void 0,"\u0440."],RWF:[void 0,"F.Rw"],SYP:[],THB:["\u0E3F"],TWD:["NT$"],XXX:[],ZMW:[void 0,"K"]},"ltr",_s];function Ss(s){let e=s,t=Math.floor(Math.abs(s)),n=s.toString().replace(/^[^.]*\.?/,"").length,i=parseInt(s.toString().replace(/^[^e]*(e([-+]?\d+))?/,"$2"))||0;return t===0||t===1?1:i===0&&t!==0&&t%1e6===0&&n===0||!(i>=0&&i<=5)?4:5}var Dn=["fr-CH",[["AM","PM"],void 0,void 0],void 0,[["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"]],void 0,[["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"]],void 0,[["av. J.-C.","ap. J.-C."],void 0,["avant J\xE9sus-Christ","apr\xE8s J\xE9sus-Christ"]],1,[6,0],["dd.MM.yy","d MMM y","d MMMM y","EEEE, d MMMM y"],["HH:mm","HH:mm:ss","HH:mm:ss z","HH.mm:ss 'h' zzzz"],["{1} {0}","{1}, {0}","{1} '\xE0' {0}",void 0],[",","\u202F",";","%","+","-","E","\xD7","\u2030","\u221E","NaN",":","."],["#,##0.###","#,##0%","#,##0.00\xA0\xA4","#E0"],"CHF","CHF","franc suisse",{ARS:["$AR","$"],AUD:["$AU","$"],BEF:["FB"],BMD:["$BM","$"],BND:["$BN","$"],BYN:[void 0,"\u0440."],BZD:["$BZ","$"],CAD:["$CA","$"],CLP:["$CL","$"],CNY:[void 0,"\xA5"],COP:["$CO","$"],CYP:["\xA3CY"],EGP:[void 0,"\xA3E"],FJD:["$FJ","$"],FKP:["\xA3FK","\xA3"],FRF:["F"],GBP:["\xA3GB","\xA3"],GIP:["\xA3GI","\xA3"],HKD:[void 0,"$"],IEP:["\xA3IE"],ILP:["\xA3IL"],ITL:["\u20A4IT"],JPY:[void 0,"\xA5"],KMF:[void 0,"FC"],LBP:["\xA3LB","\xA3L"],MTP:["\xA3MT"],MXN:["$MX","$"],NAD:["$NA","$"],NIO:[void 0,"$C"],NZD:["$NZ","$"],PHP:[void 0,"\u20B1"],RHD:["$RH"],RON:[void 0,"L"],RWF:[void 0,"FR"],SBD:["$SB","$"],SGD:["$SG","$"],SRD:["$SR","$"],TOP:[void 0,"$T"],TTD:["$TT","$"],TWD:[void 0,"NT$"],USD:["$US","$"],UYU:["$UY","$"],WST:["$WS"],XCD:[void 0,"$"],XPF:["FCFP"],ZMW:[void 0,"Kw"]},"ltr",Ss];function Es(s,e){if(s&1&&(U(0,"i",3),re(1),Y()),s&2){let t=st().$implicit;q(),it(t.icon)}}function vs(s,e){if(s&1){let t=en();U(0,"ngb-toast",1),tn("hidden",function(){let i=Ut(t).$implicit,r=st();return Qt(r.toastService.remove(i))}),U(1,"div",2),xt(2,Es,2,1,"i",3),U(3,"span"),re(4),Y()()()}if(s&2){let t=e.$implicit;Wt(t.classname),Ne("header",t.header||"")("autohide",!0),q(2),Jt(t.icon?2:-1),q(2),it(t.message)}}var Cn=(()=>{class s{constructor(t){this.toastService=t}static{this.\u0275fac=function(n){return new(n||s)(ie(ge))}}static{this.\u0275cmp=J({type:s,selectors:[["bkd-toast"]],decls:3,vars:2,consts:[[3,"header","class","autohide"],[3,"hidden","header","autohide"],[1,"d-flex","gap-2"],[1,"material-icons"]],template:function(n,i){n&1&&(Ce(0,vs,5,6,"ngb-toast",0,Xt),fe(2,"async")),n&2&&Fe(pe(2,0,i.toastService.toasts$))},dependencies:[gn,sn],styles:["[_nghost-%COMP%]{position:fixed;top:0;right:0;margin:.5em;z-index:1200}[_nghost-%COMP%] > *[_ngcontent-%COMP%]{font-size:medium}"]})}}return s})();var Fn=new qt("Navigator API",{providedIn:"root",factory:()=>navigator});var Rn=(()=>{class s{constructor(t,n,i,r){this.toastService=n,this.settings=i,this.navigator=r,t.initialize(),this.checkSettings()}checkSettings(){_n(pn)(this.settings).pipe(jt(t=>(console.error(String(t)),this.toastService.error("Please check the contents of the settings.js file (see Console output for more details).","Invalid Settings"),Kt))).subscribe()}static{this.\u0275fac=function(n){return new(n||s)(ie(wn),ie(ge),ie(X),ie(Fn))}}static{this.\u0275cmp=J({type:s,selectors:[["bkd-app"]],decls:2,vars:0,consts:[["aria-live","polite","aria-atomic","true"]],template:function(n,i){n&1&&Zt(0,"bkd-toast",0)(1,"router-outlet")},dependencies:[Cn,hn],styles:["[_nghost-%COMP%]{width:100%}"],changeDetection:0})}}return s})();var _=function(s){return s[s.State=0]="State",s[s.Transition=1]="Transition",s[s.Sequence=2]="Sequence",s[s.Group=3]="Group",s[s.Animate=4]="Animate",s[s.Keyframes=5]="Keyframes",s[s.Style=6]="Style",s[s.Trigger=7]="Trigger",s[s.Reference=8]="Reference",s[s.AnimateChild=9]="AnimateChild",s[s.AnimateRef=10]="AnimateRef",s[s.Query=11]="Query",s[s.Stagger=12]="Stagger",s}(_||{}),Q="*";function kn(s,e=null){return{type:_.Sequence,steps:s,options:e}}function ot(s){return{type:_.Style,styles:s,offset:null}}var Z=class{_onDoneFns=[];_onStartFns=[];_onDestroyFns=[];_originalOnDoneFns=[];_originalOnStartFns=[];_started=!1;_destroyed=!1;_finished=!1;_position=0;parentPlayer=null;totalTime;constructor(e=0,t=0){this.totalTime=e+t}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(e=>e()),this._onDoneFns=[])}onStart(e){this._originalOnStartFns.push(e),this._onStartFns.push(e)}onDone(e){this._originalOnDoneFns.push(e),this._onDoneFns.push(e)}onDestroy(e){this._onDestroyFns.push(e)}hasStarted(){return this._started}init(){}play(){this.hasStarted()||(this._onStart(),this.triggerMicrotask()),this._started=!0}triggerMicrotask(){queueMicrotask(()=>this._onFinish())}_onStart(){this._onStartFns.forEach(e=>e()),this._onStartFns=[]}pause(){}restart(){}finish(){this._onFinish()}destroy(){this._destroyed||(this._destroyed=!0,this.hasStarted()||this._onStart(),this.finish(),this._onDestroyFns.forEach(e=>e()),this._onDestroyFns=[])}reset(){this._started=!1,this._finished=!1,this._onStartFns=this._originalOnStartFns,this._onDoneFns=this._originalOnDoneFns}setPosition(e){this._position=this.totalTime?e*this.totalTime:1}getPosition(){return this.totalTime?this._position/this.totalTime:1}triggerCallback(e){let t=e=="start"?this._onStartFns:this._onDoneFns;t.forEach(n=>n()),t.length=0}},Se=class{_onDoneFns=[];_onStartFns=[];_finished=!1;_started=!1;_destroyed=!1;_onDestroyFns=[];parentPlayer=null;totalTime=0;players;constructor(e){this.players=e;let t=0,n=0,i=0,r=this.players.length;r==0?queueMicrotask(()=>this._onFinish()):this.players.forEach(o=>{o.onDone(()=>{++t==r&&this._onFinish()}),o.onDestroy(()=>{++n==r&&this._onDestroy()}),o.onStart(()=>{++i==r&&this._onStart()})}),this.totalTime=this.players.reduce((o,a)=>Math.max(o,a.totalTime),0)}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(e=>e()),this._onDoneFns=[])}init(){this.players.forEach(e=>e.init())}onStart(e){this._onStartFns.push(e)}_onStart(){this.hasStarted()||(this._started=!0,this._onStartFns.forEach(e=>e()),this._onStartFns=[])}onDone(e){this._onDoneFns.push(e)}onDestroy(e){this._onDestroyFns.push(e)}hasStarted(){return this._started}play(){this.parentPlayer||this.init(),this._onStart(),this.players.forEach(e=>e.play())}pause(){this.players.forEach(e=>e.pause())}restart(){this.players.forEach(e=>e.restart())}finish(){this._onFinish(),this.players.forEach(e=>e.finish())}destroy(){this._onDestroy()}_onDestroy(){this._destroyed||(this._destroyed=!0,this._onFinish(),this.players.forEach(e=>e.destroy()),this._onDestroyFns.forEach(e=>e()),this._onDestroyFns=[])}reset(){this.players.forEach(e=>e.reset()),this._destroyed=!1,this._finished=!1,this._started=!1}setPosition(e){let t=e*this.totalTime;this.players.forEach(n=>{let i=n.totalTime?Math.min(1,t/n.totalTime):1;n.setPosition(i)})}getPosition(){let e=this.players.reduce((t,n)=>t===null||n.totalTime>t.totalTime?n:t,null);return e!=null?e.getPosition():0}beforeDestroy(){this.players.forEach(e=>{e.beforeDestroy&&e.beforeDestroy()})}triggerCallback(e){let t=e=="start"?this._onStartFns:this._onDoneFns;t.forEach(n=>n()),t.length=0}},Ie="!";function On(s){return new v(3e3,!1)}function Ts(){return new v(3100,!1)}function bs(){return new v(3101,!1)}function ws(s){return new v(3001,!1)}function As(s){return new v(3003,!1)}function Ms(s){return new v(3004,!1)}function Ps(s,e){return new v(3005,!1)}function Ds(){return new v(3006,!1)}function Ns(){return new v(3007,!1)}function Cs(s,e){return new v(3008,!1)}function Fs(s){return new v(3002,!1)}function Rs(s,e,t,n,i){return new v(3010,!1)}function ks(){return new v(3011,!1)}function Os(){return new v(3012,!1)}function Is(){return new v(3200,!1)}function Ls(){return new v(3202,!1)}function $s(){return new v(3013,!1)}function zs(s){return new v(3014,!1)}function Bs(s){return new v(3015,!1)}function Ks(s){return new v(3016,!1)}function js(s,e){return new v(3404,!1)}function qs(s){return new v(3502,!1)}function Us(s){return new v(3503,!1)}function Qs(){return new v(3300,!1)}function Vs(s){return new v(3504,!1)}function Hs(s){return new v(3301,!1)}function Gs(s,e){return new v(3302,!1)}function xs(s){return new v(3303,!1)}function Ws(s,e){return new v(3400,!1)}function Js(s){return new v(3401,!1)}function Ys(s){return new v(3402,!1)}function Xs(s,e){return new v(3505,!1)}function ee(s){switch(s.length){case 0:return new Z;case 1:return s[0];default:return new Se(s)}}function xn(s,e,t=new Map,n=new Map){let i=[],r=[],o=-1,a=null;if(e.forEach(l=>{let c=l.get("offset"),h=c==o,u=h&&a||new Map;l.forEach((S,y)=>{let m=y,g=S;if(y!=="offset")switch(m=s.normalizePropertyName(m,i),g){case Ie:g=t.get(y);break;case Q:g=n.get(y);break;default:g=s.normalizeStyleValue(y,m,g,i);break}u.set(m,g)}),h||r.push(u),a=u,o=c}),i.length)throw qs(i);return r}function Dt(s,e,t,n){switch(e){case"start":s.onStart(()=>n(t&&at(t,"start",s)));break;case"done":s.onDone(()=>n(t&&at(t,"done",s)));break;case"destroy":s.onDestroy(()=>n(t&&at(t,"destroy",s)));break}}function at(s,e,t){let n=t.totalTime,i=!!t.disabled,r=Nt(s.element,s.triggerName,s.fromState,s.toState,e||s.phaseName,n??s.totalTime,i),o=s._data;return o!=null&&(r._data=o),r}function Nt(s,e,t,n,i="",r=0,o){return{element:s,triggerName:e,fromState:t,toState:n,phaseName:i,totalTime:r,disabled:!!o}}function O(s,e,t){let n=s.get(e);return n||s.set(e,n=t),n}function In(s){let e=s.indexOf(":"),t=s.substring(1,e),n=s.slice(e+1);return[t,n]}var Zs=typeof document>"u"?null:document.documentElement;function Ct(s){let e=s.parentNode||s.host||null;return e===Zs?null:e}function ei(s){return s.substring(1,6)=="ebkit"}var ae=null,Ln=!1;function ti(s){ae||(ae=ni()||{},Ln=ae.style?"WebkitAppearance"in ae.style:!1);let e=!0;return ae.style&&!ei(s)&&(e=s in ae.style,!e&&Ln&&(e="Webkit"+s.charAt(0).toUpperCase()+s.slice(1)in ae.style)),e}function ni(){return typeof document<"u"?document.body:null}function Wn(s,e){for(;e;){if(e===s)return!0;e=Ct(e)}return!1}function Jn(s,e,t){if(t)return Array.from(s.querySelectorAll(e));let n=s.querySelector(e);return n?[n]:[]}var Ft=(()=>{class s{validateStyleProperty(t){return ti(t)}containsElement(t,n){return Wn(t,n)}getParentElement(t){return Ct(t)}query(t,n,i){return Jn(t,n,i)}computeStyle(t,n,i){return i||""}animate(t,n,i,r,o,a=[],l){return new Z(i,r)}static \u0275fac=function(n){return new(n||s)};static \u0275prov=W({token:s,factory:s.\u0275fac})}return s})(),ue=class{static NOOP=new Ft},he=class{};var si=1e3,Yn="{{",ii="}}",Xn="ng-enter",mt="ng-leave",Le="ng-trigger",je=".ng-trigger",$n="ng-animating",ft=".ng-animating";function G(s){if(typeof s=="number")return s;let e=s.match(/^(-?[\.\d]+)(m?s)/);return!e||e.length<2?0:pt(parseFloat(e[1]),e[2])}function pt(s,e){switch(e){case"s":return s*si;default:return s}}function qe(s,e,t){return s.hasOwnProperty("duration")?s:ri(s,e,t)}function ri(s,e,t){let n=/^(-?[\.\d]+)(m?s)(?:\s+(-?[\.\d]+)(m?s))?(?:\s+([-a-z]+(?:\(.+?\))?))?$/i,i,r=0,o="";if(typeof s=="string"){let a=s.match(n);if(a===null)return e.push(On(s)),{duration:0,delay:0,easing:""};i=pt(parseFloat(a[1]),a[2]);let l=a[3];l!=null&&(r=pt(parseFloat(l),a[4]));let c=a[5];c&&(o=c)}else i=s;if(!t){let a=!1,l=e.length;i<0&&(e.push(Ts()),a=!0),r<0&&(e.push(bs()),a=!0),a&&e.splice(l,0,On(s))}return{duration:i,delay:r,easing:o}}function oi(s){return s.length?s[0]instanceof Map?s:s.map(e=>new Map(Object.entries(e))):[]}function V(s,e,t){e.forEach((n,i)=>{let r=Rt(i);t&&!t.has(i)&&t.set(i,s.style[r]),s.style[r]=n})}function ce(s,e){e.forEach((t,n)=>{let i=Rt(n);s.style[i]=""})}function Ee(s){return Array.isArray(s)?s.length==1?s[0]:kn(s):s}function ai(s,e,t){let n=e.params||{},i=Zn(s);i.length&&i.forEach(r=>{n.hasOwnProperty(r)||t.push(ws(r))})}var gt=new RegExp(`${Yn}\\s*(.+?)\\s*${ii}`,"g");function Zn(s){let e=[];if(typeof s=="string"){let t;for(;t=gt.exec(s);)e.push(t[1]);gt.lastIndex=0}return e}function Te(s,e,t){let n=`${s}`,i=n.replace(gt,(r,o)=>{let a=e[o];return a==null&&(t.push(As(o)),a=""),a.toString()});return i==n?s:i}var li=/-+([a-z0-9])/g;function Rt(s){return s.replace(li,(...e)=>e[1].toUpperCase())}function ci(s,e){return s===0||e===0}function ui(s,e,t){if(t.size&&e.length){let n=e[0],i=[];if(t.forEach((r,o)=>{n.has(o)||i.push(o),n.set(o,r)}),i.length)for(let r=1;ro.set(a,kt(s,a)))}}return e}function k(s,e,t){switch(e.type){case _.Trigger:return s.visitTrigger(e,t);case _.State:return s.visitState(e,t);case _.Transition:return s.visitTransition(e,t);case _.Sequence:return s.visitSequence(e,t);case _.Group:return s.visitGroup(e,t);case _.Animate:return s.visitAnimate(e,t);case _.Keyframes:return s.visitKeyframes(e,t);case _.Style:return s.visitStyle(e,t);case _.Reference:return s.visitReference(e,t);case _.AnimateChild:return s.visitAnimateChild(e,t);case _.AnimateRef:return s.visitAnimateRef(e,t);case _.Query:return s.visitQuery(e,t);case _.Stagger:return s.visitStagger(e,t);default:throw Ms(e.type)}}function kt(s,e){return window.getComputedStyle(s)[e]}var hi=new Set(["width","height","minWidth","minHeight","maxWidth","maxHeight","left","top","bottom","right","fontSize","outlineWidth","outlineOffset","paddingTop","paddingLeft","paddingBottom","paddingRight","marginTop","marginLeft","marginBottom","marginRight","borderRadius","borderWidth","borderTopWidth","borderLeftWidth","borderRightWidth","borderBottomWidth","textIndent","perspective"]),Ue=class extends he{normalizePropertyName(e,t){return Rt(e)}normalizeStyleValue(e,t,n,i){let r="",o=n.toString().trim();if(hi.has(t)&&n!==0&&n!=="0")if(typeof n=="number")r="px";else{let a=n.match(/^[+-]?[\d\.]+([a-z]*)$/);a&&a[1].length==0&&i.push(Ps(e,n))}return o+r}};var Qe="*";function di(s,e){let t=[];return typeof s=="string"?s.split(/\s*,\s*/).forEach(n=>mi(n,t,e)):t.push(s),t}function mi(s,e,t){if(s[0]==":"){let l=fi(s,t);if(typeof l=="function"){e.push(l);return}s=l}let n=s.match(/^(\*|[-\w]+)\s*()\s*(\*|[-\w]+)$/);if(n==null||n.length<4)return t.push(Bs(s)),e;let i=n[1],r=n[2],o=n[3];e.push(zn(i,o));let a=i==Qe&&o==Qe;r[0]=="<"&&!a&&e.push(zn(o,i))}function fi(s,e){switch(s){case":enter":return"void => *";case":leave":return"* => void";case":increment":return(t,n)=>parseFloat(n)>parseFloat(t);case":decrement":return(t,n)=>parseFloat(n) *"}}var $e=new Set(["true","1"]),ze=new Set(["false","0"]);function zn(s,e){let t=$e.has(s)||ze.has(s),n=$e.has(e)||ze.has(e);return(i,r)=>{let o=s==Qe||s==i,a=e==Qe||e==r;return!o&&t&&typeof i=="boolean"&&(o=i?$e.has(s):ze.has(s)),!a&&n&&typeof r=="boolean"&&(a=r?$e.has(e):ze.has(e)),o&&a}}var es=":self",pi=new RegExp(`s*${es}s*,?`,"g");function ts(s,e,t,n){return new yt(s).build(e,t,n)}var Bn="",yt=class{_driver;constructor(e){this._driver=e}build(e,t,n){let i=new _t(t);return this._resetContextStyleTimingState(i),k(this,Ee(e),i)}_resetContextStyleTimingState(e){e.currentQuerySelector=Bn,e.collectedStyles=new Map,e.collectedStyles.set(Bn,new Map),e.currentTime=0}visitTrigger(e,t){let n=t.queryCount=0,i=t.depCount=0,r=[],o=[];return e.name.charAt(0)=="@"&&t.errors.push(Ds()),e.definitions.forEach(a=>{if(this._resetContextStyleTimingState(t),a.type==_.State){let l=a,c=l.name;c.toString().split(/\s*,\s*/).forEach(h=>{l.name=h,r.push(this.visitState(l,t))}),l.name=c}else if(a.type==_.Transition){let l=this.visitTransition(a,t);n+=l.queryCount,i+=l.depCount,o.push(l)}else t.errors.push(Ns())}),{type:_.Trigger,name:e.name,states:r,transitions:o,queryCount:n,depCount:i,options:null}}visitState(e,t){let n=this.visitStyle(e.styles,t),i=e.options&&e.options.params||null;if(n.containsDynamicStyles){let r=new Set,o=i||{};n.styles.forEach(a=>{a instanceof Map&&a.forEach(l=>{Zn(l).forEach(c=>{o.hasOwnProperty(c)||r.add(c)})})}),r.size&&t.errors.push(Cs(e.name,[...r.values()]))}return{type:_.State,name:e.name,style:n,options:i?{params:i}:null}}visitTransition(e,t){t.queryCount=0,t.depCount=0;let n=k(this,Ee(e.animation),t),i=di(e.expr,t.errors);return{type:_.Transition,matchers:i,animation:n,queryCount:t.queryCount,depCount:t.depCount,options:le(e.options)}}visitSequence(e,t){return{type:_.Sequence,steps:e.steps.map(n=>k(this,n,t)),options:le(e.options)}}visitGroup(e,t){let n=t.currentTime,i=0,r=e.steps.map(o=>{t.currentTime=n;let a=k(this,o,t);return i=Math.max(i,t.currentTime),a});return t.currentTime=i,{type:_.Group,steps:r,options:le(e.options)}}visitAnimate(e,t){let n=Si(e.timings,t.errors);t.currentAnimateTimings=n;let i,r=e.styles?e.styles:ot({});if(r.type==_.Keyframes)i=this.visitKeyframes(r,t);else{let o=e.styles,a=!1;if(!o){a=!0;let c={};n.easing&&(c.easing=n.easing),o=ot(c)}t.currentTime+=n.duration+n.delay;let l=this.visitStyle(o,t);l.isEmptyStep=a,i=l}return t.currentAnimateTimings=null,{type:_.Animate,timings:n,style:i,options:null}}visitStyle(e,t){let n=this._makeStyleAst(e,t);return this._validateStyleAst(n,t),n}_makeStyleAst(e,t){let n=[],i=Array.isArray(e.styles)?e.styles:[e.styles];for(let a of i)typeof a=="string"?a===Q?n.push(a):t.errors.push(Fs(a)):n.push(new Map(Object.entries(a)));let r=!1,o=null;return n.forEach(a=>{if(a instanceof Map&&(a.has("easing")&&(o=a.get("easing"),a.delete("easing")),!r)){for(let l of a.values())if(l.toString().indexOf(Yn)>=0){r=!0;break}}}),{type:_.Style,styles:n,easing:o,offset:e.offset,containsDynamicStyles:r,options:null}}_validateStyleAst(e,t){let n=t.currentAnimateTimings,i=t.currentTime,r=t.currentTime;n&&r>0&&(r-=n.duration+n.delay),e.styles.forEach(o=>{typeof o!="string"&&o.forEach((a,l)=>{let c=t.collectedStyles.get(t.currentQuerySelector),h=c.get(l),u=!0;h&&(r!=i&&r>=h.startTime&&i<=h.endTime&&(t.errors.push(Rs(l,h.startTime,h.endTime,r,i)),u=!1),r=h.startTime),u&&c.set(l,{startTime:r,endTime:i}),t.options&&ai(a,t.options,t.errors)})})}visitKeyframes(e,t){let n={type:_.Keyframes,styles:[],options:null};if(!t.currentAnimateTimings)return t.errors.push(ks()),n;let i=1,r=0,o=[],a=!1,l=!1,c=0,h=e.steps.map(w=>{let A=this._makeStyleAst(w,t),N=A.offset!=null?A.offset:_i(A.styles),P=0;return N!=null&&(r++,P=A.offset=N),l=l||P<0||P>1,a=a||P0&&r{let N=S>0?A==y?1:S*A:o[A],P=N*T;t.currentTime=m+g.delay+P,g.duration=P,this._validateStyleAst(w,t),w.offset=N,n.styles.push(w)}),n}visitReference(e,t){return{type:_.Reference,animation:k(this,Ee(e.animation),t),options:le(e.options)}}visitAnimateChild(e,t){return t.depCount++,{type:_.AnimateChild,options:le(e.options)}}visitAnimateRef(e,t){return{type:_.AnimateRef,animation:this.visitReference(e.animation,t),options:le(e.options)}}visitQuery(e,t){let n=t.currentQuerySelector,i=e.options||{};t.queryCount++,t.currentQuery=e;let[r,o]=gi(e.selector);t.currentQuerySelector=n.length?n+" "+r:r,O(t.collectedStyles,t.currentQuerySelector,new Map);let a=k(this,Ee(e.animation),t);return t.currentQuery=null,t.currentQuerySelector=n,{type:_.Query,selector:r,limit:i.limit||0,optional:!!i.optional,includeSelf:o,animation:a,originalSelector:e.selector,options:le(e.options)}}visitStagger(e,t){t.currentQuery||t.errors.push($s());let n=e.timings==="full"?{duration:0,delay:0,easing:"full"}:qe(e.timings,t.errors,!0);return{type:_.Stagger,animation:k(this,Ee(e.animation),t),timings:n,options:null}}};function gi(s){let e=!!s.split(/\s*,\s*/).find(t=>t==es);return e&&(s=s.replace(pi,"")),s=s.replace(/@\*/g,je).replace(/@\w+/g,t=>je+"-"+t.slice(1)).replace(/:animating/g,ft),[s,e]}function yi(s){return s?Pe({},s):null}var _t=class{errors;queryCount=0;depCount=0;currentTransition=null;currentQuery=null;currentQuerySelector=null;currentAnimateTimings=null;currentTime=0;collectedStyles=new Map;options=null;unsupportedCSSPropertiesFound=new Set;constructor(e){this.errors=e}};function _i(s){if(typeof s=="string")return null;let e=null;if(Array.isArray(s))s.forEach(t=>{if(t instanceof Map&&t.has("offset")){let n=t;e=parseFloat(n.get("offset")),n.delete("offset")}});else if(s instanceof Map&&s.has("offset")){let t=s;e=parseFloat(t.get("offset")),t.delete("offset")}return e}function Si(s,e){if(s.hasOwnProperty("duration"))return s;if(typeof s=="number"){let r=qe(s,e).duration;return lt(r,0,"")}let t=s;if(t.split(/\s+/).some(r=>r.charAt(0)=="{"&&r.charAt(1)=="{")){let r=lt(0,0,"");return r.dynamic=!0,r.strValue=t,r}let i=qe(t,e);return lt(i.duration,i.delay,i.easing)}function le(s){return s?(s=Pe({},s),s.params&&(s.params=yi(s.params))):s={},s}function lt(s,e,t){return{duration:s,delay:e,easing:t}}function Ot(s,e,t,n,i,r,o=null,a=!1){return{type:1,element:s,keyframes:e,preStyleProps:t,postStyleProps:n,duration:i,delay:r,totalTime:i+r,easing:o,subTimeline:a}}var be=class{_map=new Map;get(e){return this._map.get(e)||[]}append(e,t){let n=this._map.get(e);n||this._map.set(e,n=[]),n.push(...t)}has(e){return this._map.has(e)}clear(){this._map.clear()}},Ei=1,vi=":enter",Ti=new RegExp(vi,"g"),bi=":leave",wi=new RegExp(bi,"g");function ns(s,e,t,n,i,r=new Map,o=new Map,a,l,c=[]){return new St().buildKeyframes(s,e,t,n,i,r,o,a,l,c)}var St=class{buildKeyframes(e,t,n,i,r,o,a,l,c,h=[]){c=c||new be;let u=new Et(e,t,c,i,r,h,[]);u.options=l;let S=l.delay?G(l.delay):0;u.currentTimeline.delayNextStep(S),u.currentTimeline.setStyles([o],null,u.errors,l),k(this,n,u);let y=u.timelines.filter(m=>m.containsAnimation());if(y.length&&a.size){let m;for(let g=y.length-1;g>=0;g--){let T=y[g];if(T.element===t){m=T;break}}m&&!m.allowOnlyTimelineStyles()&&m.setStyles([a],null,u.errors,l)}return y.length?y.map(m=>m.buildKeyframes()):[Ot(t,[],[],[],0,S,"",!1)]}visitTrigger(e,t){}visitState(e,t){}visitTransition(e,t){}visitAnimateChild(e,t){let n=t.subInstructions.get(t.element);if(n){let i=t.createSubContext(e.options),r=t.currentTimeline.currentTime,o=this._visitSubInstructions(n,i,i.options);r!=o&&t.transformIntoNewTimeline(o)}t.previousNode=e}visitAnimateRef(e,t){let n=t.createSubContext(e.options);n.transformIntoNewTimeline(),this._applyAnimationRefDelays([e.options,e.animation.options],t,n),this.visitReference(e.animation,n),t.transformIntoNewTimeline(n.currentTimeline.currentTime),t.previousNode=e}_applyAnimationRefDelays(e,t,n){for(let i of e){let r=i?.delay;if(r){let o=typeof r=="number"?r:G(Te(r,i?.params??{},t.errors));n.delayNextStep(o)}}}_visitSubInstructions(e,t,n){let r=t.currentTimeline.currentTime,o=n.duration!=null?G(n.duration):null,a=n.delay!=null?G(n.delay):null;return o!==0&&e.forEach(l=>{let c=t.appendInstructionToTimeline(l,o,a);r=Math.max(r,c.duration+c.delay)}),r}visitReference(e,t){t.updateOptions(e.options,!0),k(this,e.animation,t),t.previousNode=e}visitSequence(e,t){let n=t.subContextCount,i=t,r=e.options;if(r&&(r.params||r.delay)&&(i=t.createSubContext(r),i.transformIntoNewTimeline(),r.delay!=null)){i.previousNode.type==_.Style&&(i.currentTimeline.snapshotCurrentStyles(),i.previousNode=Ve);let o=G(r.delay);i.delayNextStep(o)}e.steps.length&&(e.steps.forEach(o=>k(this,o,i)),i.currentTimeline.applyStylesToKeyframe(),i.subContextCount>n&&i.transformIntoNewTimeline()),t.previousNode=e}visitGroup(e,t){let n=[],i=t.currentTimeline.currentTime,r=e.options&&e.options.delay?G(e.options.delay):0;e.steps.forEach(o=>{let a=t.createSubContext(e.options);r&&a.delayNextStep(r),k(this,o,a),i=Math.max(i,a.currentTimeline.currentTime),n.push(a.currentTimeline)}),n.forEach(o=>t.currentTimeline.mergeTimelineCollectedStyles(o)),t.transformIntoNewTimeline(i),t.previousNode=e}_visitTiming(e,t){if(e.dynamic){let n=e.strValue,i=t.params?Te(n,t.params,t.errors):n;return qe(i,t.errors)}else return{duration:e.duration,delay:e.delay,easing:e.easing}}visitAnimate(e,t){let n=t.currentAnimateTimings=this._visitTiming(e.timings,t),i=t.currentTimeline;n.delay&&(t.incrementTime(n.delay),i.snapshotCurrentStyles());let r=e.style;r.type==_.Keyframes?this.visitKeyframes(r,t):(t.incrementTime(n.duration),this.visitStyle(r,t),i.applyStylesToKeyframe()),t.currentAnimateTimings=null,t.previousNode=e}visitStyle(e,t){let n=t.currentTimeline,i=t.currentAnimateTimings;!i&&n.hasCurrentStyleProperties()&&n.forwardFrame();let r=i&&i.easing||e.easing;e.isEmptyStep?n.applyEmptyStep(r):n.setStyles(e.styles,r,t.errors,t.options),t.previousNode=e}visitKeyframes(e,t){let n=t.currentAnimateTimings,i=t.currentTimeline.duration,r=n.duration,a=t.createSubContext().currentTimeline;a.easing=n.easing,e.styles.forEach(l=>{let c=l.offset||0;a.forwardTime(c*r),a.setStyles(l.styles,l.easing,t.errors,t.options),a.applyStylesToKeyframe()}),t.currentTimeline.mergeTimelineCollectedStyles(a),t.transformIntoNewTimeline(i+r),t.previousNode=e}visitQuery(e,t){let n=t.currentTimeline.currentTime,i=e.options||{},r=i.delay?G(i.delay):0;r&&(t.previousNode.type===_.Style||n==0&&t.currentTimeline.hasCurrentStyleProperties())&&(t.currentTimeline.snapshotCurrentStyles(),t.previousNode=Ve);let o=n,a=t.invokeQuery(e.selector,e.originalSelector,e.limit,e.includeSelf,!!i.optional,t.errors);t.currentQueryTotal=a.length;let l=null;a.forEach((c,h)=>{t.currentQueryIndex=h;let u=t.createSubContext(e.options,c);r&&u.delayNextStep(r),c===t.element&&(l=u.currentTimeline),k(this,e.animation,u),u.currentTimeline.applyStylesToKeyframe();let S=u.currentTimeline.currentTime;o=Math.max(o,S)}),t.currentQueryIndex=0,t.currentQueryTotal=0,t.transformIntoNewTimeline(o),l&&(t.currentTimeline.mergeTimelineCollectedStyles(l),t.currentTimeline.snapshotCurrentStyles()),t.previousNode=e}visitStagger(e,t){let n=t.parentContext,i=t.currentTimeline,r=e.timings,o=Math.abs(r.duration),a=o*(t.currentQueryTotal-1),l=o*t.currentQueryIndex;switch(r.duration<0?"reverse":r.easing){case"reverse":l=a-l;break;case"full":l=n.currentStaggerTime;break}let h=t.currentTimeline;l&&h.delayNextStep(l);let u=h.currentTime;k(this,e.animation,t),t.previousNode=e,n.currentStaggerTime=i.currentTime-u+(i.startTime-n.currentTimeline.startTime)}},Ve={},Et=class s{_driver;element;subInstructions;_enterClassName;_leaveClassName;errors;timelines;parentContext=null;currentTimeline;currentAnimateTimings=null;previousNode=Ve;subContextCount=0;options={};currentQueryIndex=0;currentQueryTotal=0;currentStaggerTime=0;constructor(e,t,n,i,r,o,a,l){this._driver=e,this.element=t,this.subInstructions=n,this._enterClassName=i,this._leaveClassName=r,this.errors=o,this.timelines=a,this.currentTimeline=l||new He(this._driver,t,0),a.push(this.currentTimeline)}get params(){return this.options.params}updateOptions(e,t){if(!e)return;let n=e,i=this.options;n.duration!=null&&(i.duration=G(n.duration)),n.delay!=null&&(i.delay=G(n.delay));let r=n.params;if(r){let o=i.params;o||(o=this.options.params={}),Object.keys(r).forEach(a=>{(!t||!o.hasOwnProperty(a))&&(o[a]=Te(r[a],o,this.errors))})}}_copyOptions(){let e={};if(this.options){let t=this.options.params;if(t){let n=e.params={};Object.keys(t).forEach(i=>{n[i]=t[i]})}}return e}createSubContext(e=null,t,n){let i=t||this.element,r=new s(this._driver,i,this.subInstructions,this._enterClassName,this._leaveClassName,this.errors,this.timelines,this.currentTimeline.fork(i,n||0));return r.previousNode=this.previousNode,r.currentAnimateTimings=this.currentAnimateTimings,r.options=this._copyOptions(),r.updateOptions(e),r.currentQueryIndex=this.currentQueryIndex,r.currentQueryTotal=this.currentQueryTotal,r.parentContext=this,this.subContextCount++,r}transformIntoNewTimeline(e){return this.previousNode=Ve,this.currentTimeline=this.currentTimeline.fork(this.element,e),this.timelines.push(this.currentTimeline),this.currentTimeline}appendInstructionToTimeline(e,t,n){let i={duration:t??e.duration,delay:this.currentTimeline.currentTime+(n??0)+e.delay,easing:""},r=new vt(this._driver,e.element,e.keyframes,e.preStyleProps,e.postStyleProps,i,e.stretchStartingKeyframe);return this.timelines.push(r),i}incrementTime(e){this.currentTimeline.forwardTime(this.currentTimeline.duration+e)}delayNextStep(e){e>0&&this.currentTimeline.delayNextStep(e)}invokeQuery(e,t,n,i,r,o){let a=[];if(i&&a.push(this.element),e.length>0){e=e.replace(Ti,"."+this._enterClassName),e=e.replace(wi,"."+this._leaveClassName);let l=n!=1,c=this._driver.query(this.element,e,l);n!==0&&(c=n<0?c.slice(c.length+n,c.length):c.slice(0,n)),a.push(...c)}return!r&&a.length==0&&o.push(zs(t)),a}},He=class s{_driver;element;startTime;_elementTimelineStylesLookup;duration=0;easing=null;_previousKeyframe=new Map;_currentKeyframe=new Map;_keyframes=new Map;_styleSummary=new Map;_localTimelineStyles=new Map;_globalTimelineStyles;_pendingStyles=new Map;_backFill=new Map;_currentEmptyStepKeyframe=null;constructor(e,t,n,i){this._driver=e,this.element=t,this.startTime=n,this._elementTimelineStylesLookup=i,this._elementTimelineStylesLookup||(this._elementTimelineStylesLookup=new Map),this._globalTimelineStyles=this._elementTimelineStylesLookup.get(t),this._globalTimelineStyles||(this._globalTimelineStyles=this._localTimelineStyles,this._elementTimelineStylesLookup.set(t,this._localTimelineStyles)),this._loadKeyframe()}containsAnimation(){switch(this._keyframes.size){case 0:return!1;case 1:return this.hasCurrentStyleProperties();default:return!0}}hasCurrentStyleProperties(){return this._currentKeyframe.size>0}get currentTime(){return this.startTime+this.duration}delayNextStep(e){let t=this._keyframes.size===1&&this._pendingStyles.size;this.duration||t?(this.forwardTime(this.currentTime+e),t&&this.snapshotCurrentStyles()):this.startTime+=e}fork(e,t){return this.applyStylesToKeyframe(),new s(this._driver,e,t||this.currentTime,this._elementTimelineStylesLookup)}_loadKeyframe(){this._currentKeyframe&&(this._previousKeyframe=this._currentKeyframe),this._currentKeyframe=this._keyframes.get(this.duration),this._currentKeyframe||(this._currentKeyframe=new Map,this._keyframes.set(this.duration,this._currentKeyframe))}forwardFrame(){this.duration+=Ei,this._loadKeyframe()}forwardTime(e){this.applyStylesToKeyframe(),this.duration=e,this._loadKeyframe()}_updateStyle(e,t){this._localTimelineStyles.set(e,t),this._globalTimelineStyles.set(e,t),this._styleSummary.set(e,{time:this.currentTime,value:t})}allowOnlyTimelineStyles(){return this._currentEmptyStepKeyframe!==this._currentKeyframe}applyEmptyStep(e){e&&this._previousKeyframe.set("easing",e);for(let[t,n]of this._globalTimelineStyles)this._backFill.set(t,n||Q),this._currentKeyframe.set(t,Q);this._currentEmptyStepKeyframe=this._currentKeyframe}setStyles(e,t,n,i){t&&this._previousKeyframe.set("easing",t);let r=i&&i.params||{},o=Ai(e,this._globalTimelineStyles);for(let[a,l]of o){let c=Te(l,r,n);this._pendingStyles.set(a,c),this._localTimelineStyles.has(a)||this._backFill.set(a,this._globalTimelineStyles.get(a)??Q),this._updateStyle(a,c)}}applyStylesToKeyframe(){this._pendingStyles.size!=0&&(this._pendingStyles.forEach((e,t)=>{this._currentKeyframe.set(t,e)}),this._pendingStyles.clear(),this._localTimelineStyles.forEach((e,t)=>{this._currentKeyframe.has(t)||this._currentKeyframe.set(t,e)}))}snapshotCurrentStyles(){for(let[e,t]of this._localTimelineStyles)this._pendingStyles.set(e,t),this._updateStyle(e,t)}getFinalKeyframe(){return this._keyframes.get(this.duration)}get properties(){let e=[];for(let t in this._currentKeyframe)e.push(t);return e}mergeTimelineCollectedStyles(e){e._styleSummary.forEach((t,n)=>{let i=this._styleSummary.get(n);(!i||t.time>i.time)&&this._updateStyle(n,t.value)})}buildKeyframes(){this.applyStylesToKeyframe();let e=new Set,t=new Set,n=this._keyframes.size===1&&this.duration===0,i=[];this._keyframes.forEach((a,l)=>{let c=new Map([...this._backFill,...a]);c.forEach((h,u)=>{h===Ie?e.add(u):h===Q&&t.add(u)}),n||c.set("offset",l/this.duration),i.push(c)});let r=[...e.values()],o=[...t.values()];if(n){let a=i[0],l=new Map(a);a.set("offset",0),l.set("offset",1),i=[a,l]}return Ot(this.element,i,r,o,this.duration,this.startTime,this.easing,!1)}},vt=class extends He{keyframes;preStyleProps;postStyleProps;_stretchStartingKeyframe;timings;constructor(e,t,n,i,r,o,a=!1){super(e,t,o.delay),this.keyframes=n,this.preStyleProps=i,this.postStyleProps=r,this._stretchStartingKeyframe=a,this.timings={duration:o.duration,delay:o.delay,easing:o.easing}}containsAnimation(){return this.keyframes.length>1}buildKeyframes(){let e=this.keyframes,{delay:t,duration:n,easing:i}=this.timings;if(this._stretchStartingKeyframe&&t){let r=[],o=n+t,a=t/o,l=new Map(e[0]);l.set("offset",0),r.push(l);let c=new Map(e[0]);c.set("offset",Kn(a)),r.push(c);let h=e.length-1;for(let u=1;u<=h;u++){let S=new Map(e[u]),y=S.get("offset"),m=t+y*n;S.set("offset",Kn(m/o)),r.push(S)}n=o,t=0,i="",e=r}return Ot(this.element,e,this.preStyleProps,this.postStyleProps,n,t,i,!0)}};function Kn(s,e=3){let t=Math.pow(10,e-1);return Math.round(s*t)/t}function Ai(s,e){let t=new Map,n;return s.forEach(i=>{if(i==="*"){n??=e.keys();for(let r of n)t.set(r,Q)}else for(let[r,o]of i)t.set(r,o)}),t}function jn(s,e,t,n,i,r,o,a,l,c,h,u,S){return{type:0,element:s,triggerName:e,isRemovalTransition:i,fromState:t,fromStyles:r,toState:n,toStyles:o,timelines:a,queriedElements:l,preStyleProps:c,postStyleProps:h,totalTime:u,errors:S}}var ct={},Ge=class{_triggerName;ast;_stateStyles;constructor(e,t,n){this._triggerName=e,this.ast=t,this._stateStyles=n}match(e,t,n,i){return Mi(this.ast.matchers,e,t,n,i)}buildStyles(e,t,n){let i=this._stateStyles.get("*");return e!==void 0&&(i=this._stateStyles.get(e?.toString())||i),i?i.buildStyles(t,n):new Map}build(e,t,n,i,r,o,a,l,c,h){let u=[],S=this.ast.options&&this.ast.options.params||ct,y=a&&a.params||ct,m=this.buildStyles(n,y,u),g=l&&l.params||ct,T=this.buildStyles(i,g,u),w=new Set,A=new Map,N=new Map,P=i==="void",de={params:ss(g,S),delay:this.ast.options?.delay},B=h?[]:ns(e,t,this.ast.animation,r,o,m,T,de,c,u),C=0;return B.forEach(F=>{C=Math.max(F.duration+F.delay,C)}),u.length?jn(t,this._triggerName,n,i,P,m,T,[],[],A,N,C,u):(B.forEach(F=>{let te=F.element,me=O(A,te,new Set);F.preStyleProps.forEach(ne=>me.add(ne));let It=O(N,te,new Set);F.postStyleProps.forEach(ne=>It.add(ne)),te!==t&&w.add(te)}),jn(t,this._triggerName,n,i,P,m,T,B,[...w.values()],A,N,C))}};function Mi(s,e,t,n,i){return s.some(r=>r(e,t,n,i))}function ss(s,e){let t=Pe({},e);return Object.entries(s).forEach(([n,i])=>{i!=null&&(t[n]=i)}),t}var Tt=class{styles;defaultParams;normalizer;constructor(e,t,n){this.styles=e,this.defaultParams=t,this.normalizer=n}buildStyles(e,t){let n=new Map,i=ss(e,this.defaultParams);return this.styles.styles.forEach(r=>{typeof r!="string"&&r.forEach((o,a)=>{o&&(o=Te(o,i,t));let l=this.normalizer.normalizePropertyName(a,t);o=this.normalizer.normalizeStyleValue(a,l,o,t),n.set(a,o)})}),n}};function Pi(s,e,t){return new bt(s,e,t)}var bt=class{name;ast;_normalizer;transitionFactories=[];fallbackTransition;states=new Map;constructor(e,t,n){this.name=e,this.ast=t,this._normalizer=n,t.states.forEach(i=>{let r=i.options&&i.options.params||{};this.states.set(i.name,new Tt(i.style,r,n))}),qn(this.states,"true","1"),qn(this.states,"false","0"),t.transitions.forEach(i=>{this.transitionFactories.push(new Ge(e,i,this.states))}),this.fallbackTransition=Di(e,this.states,this._normalizer)}get containsQueries(){return this.ast.queryCount>0}matchTransition(e,t,n,i){return this.transitionFactories.find(o=>o.match(e,t,n,i))||null}matchStyles(e,t,n){return this.fallbackTransition.buildStyles(e,t,n)}};function Di(s,e,t){let n=[(o,a)=>!0],i={type:_.Sequence,steps:[],options:null},r={type:_.Transition,animation:i,matchers:n,options:null,queryCount:0,depCount:0};return new Ge(s,r,e)}function qn(s,e,t){s.has(e)?s.has(t)||s.set(t,s.get(e)):s.has(t)&&s.set(e,s.get(t))}var Ni=new be,wt=class{bodyNode;_driver;_normalizer;_animations=new Map;_playersById=new Map;players=[];constructor(e,t,n){this.bodyNode=e,this._driver=t,this._normalizer=n}register(e,t){let n=[],i=[],r=ts(this._driver,t,n,i);if(n.length)throw Us(n);i.length&&void 0,this._animations.set(e,r)}_buildPlayer(e,t,n){let i=e.element,r=xn(this._normalizer,e.keyframes,t,n);return this._driver.animate(i,r,e.duration,e.delay,e.easing,[],!0)}create(e,t,n={}){let i=[],r=this._animations.get(e),o,a=new Map;if(r?(o=ns(this._driver,t,r,Xn,mt,new Map,new Map,n,Ni,i),o.forEach(h=>{let u=O(a,h.element,new Map);h.postStyleProps.forEach(S=>u.set(S,null))})):(i.push(Qs()),o=[]),i.length)throw Vs(i);a.forEach((h,u)=>{h.forEach((S,y)=>{h.set(y,this._driver.computeStyle(u,y,Q))})});let l=o.map(h=>{let u=a.get(h.element);return this._buildPlayer(h,new Map,u)}),c=ee(l);return this._playersById.set(e,c),c.onDestroy(()=>this.destroy(e)),this.players.push(c),c}destroy(e){let t=this._getPlayer(e);t.destroy(),this._playersById.delete(e);let n=this.players.indexOf(t);n>=0&&this.players.splice(n,1)}_getPlayer(e){let t=this._playersById.get(e);if(!t)throw Hs(e);return t}listen(e,t,n,i){let r=Nt(t,"","","");return Dt(this._getPlayer(e),n,r,i),()=>{}}command(e,t,n,i){if(n=="register"){this.register(e,i[0]);return}if(n=="create"){let o=i[0]||{};this.create(e,t,o);return}let r=this._getPlayer(e);switch(n){case"play":r.play();break;case"pause":r.pause();break;case"reset":r.reset();break;case"restart":r.restart();break;case"finish":r.finish();break;case"init":r.init();break;case"setPosition":r.setPosition(parseFloat(i[0]));break;case"destroy":this.destroy(e);break}}},Un="ng-animate-queued",Ci=".ng-animate-queued",ut="ng-animate-disabled",Fi=".ng-animate-disabled",Ri="ng-star-inserted",ki=".ng-star-inserted",Oi=[],is={namespaceId:"",setForRemoval:!1,setForMove:!1,hasAnimation:!1,removedBeforeQueried:!1},Ii={namespaceId:"",setForMove:!1,setForRemoval:!1,hasAnimation:!1,removedBeforeQueried:!0},$="__ng_removed",we=class{namespaceId;value;options;get params(){return this.options.params}constructor(e,t=""){this.namespaceId=t;let n=e&&e.hasOwnProperty("value"),i=n?e.value:e;if(this.value=$i(i),n){let r=e,{value:o}=r,a=Bt(r,["value"]);this.options=a}else this.options={};this.options.params||(this.options.params={})}absorbOptions(e){let t=e.params;if(t){let n=this.options.params;Object.keys(t).forEach(i=>{n[i]==null&&(n[i]=t[i])})}}},ve="void",ht=new we(ve),At=class{id;hostElement;_engine;players=[];_triggers=new Map;_queue=[];_elementListeners=new Map;_hostClassName;constructor(e,t,n){this.id=e,this.hostElement=t,this._engine=n,this._hostClassName="ng-tns-"+e,L(t,this._hostClassName)}listen(e,t,n,i){if(!this._triggers.has(t))throw Gs(n,t);if(n==null||n.length==0)throw xs(t);if(!zi(n))throw Ws(n,t);let r=O(this._elementListeners,e,[]),o={name:t,phase:n,callback:i};r.push(o);let a=O(this._engine.statesByElement,e,new Map);return a.has(t)||(L(e,Le),L(e,Le+"-"+t),a.set(t,ht)),()=>{this._engine.afterFlush(()=>{let l=r.indexOf(o);l>=0&&r.splice(l,1),this._triggers.has(t)||a.delete(t)})}}register(e,t){return this._triggers.has(e)?!1:(this._triggers.set(e,t),!0)}_getTrigger(e){let t=this._triggers.get(e);if(!t)throw Js(e);return t}trigger(e,t,n,i=!0){let r=this._getTrigger(t),o=new Ae(this.id,t,e),a=this._engine.statesByElement.get(e);a||(L(e,Le),L(e,Le+"-"+t),this._engine.statesByElement.set(e,a=new Map));let l=a.get(t),c=new we(n,this.id);if(!(n&&n.hasOwnProperty("value"))&&l&&c.absorbOptions(l.options),a.set(t,c),l||(l=ht),!(c.value===ve)&&l.value===c.value){if(!ji(l.params,c.params)){let g=[],T=r.matchStyles(l.value,l.params,g),w=r.matchStyles(c.value,c.params,g);g.length?this._engine.reportError(g):this._engine.afterFlush(()=>{ce(e,T),V(e,w)})}return}let S=O(this._engine.playersByElement,e,[]);S.forEach(g=>{g.namespaceId==this.id&&g.triggerName==t&&g.queued&&g.destroy()});let y=r.matchTransition(l.value,c.value,e,c.params),m=!1;if(!y){if(!i)return;y=r.fallbackTransition,m=!0}return this._engine.totalQueuedPlayers++,this._queue.push({element:e,triggerName:t,transition:y,fromState:l,toState:c,player:o,isFallbackTransition:m}),m||(L(e,Un),o.onStart(()=>{ye(e,Un)})),o.onDone(()=>{let g=this.players.indexOf(o);g>=0&&this.players.splice(g,1);let T=this._engine.playersByElement.get(e);if(T){let w=T.indexOf(o);w>=0&&T.splice(w,1)}}),this.players.push(o),S.push(o),o}deregister(e){this._triggers.delete(e),this._engine.statesByElement.forEach(t=>t.delete(e)),this._elementListeners.forEach((t,n)=>{this._elementListeners.set(n,t.filter(i=>i.name!=e))})}clearElementCache(e){this._engine.statesByElement.delete(e),this._elementListeners.delete(e);let t=this._engine.playersByElement.get(e);t&&(t.forEach(n=>n.destroy()),this._engine.playersByElement.delete(e))}_signalRemovalForInnerTriggers(e,t){let n=this._engine.driver.query(e,je,!0);n.forEach(i=>{if(i[$])return;let r=this._engine.fetchNamespacesByElement(i);r.size?r.forEach(o=>o.triggerLeaveAnimation(i,t,!1,!0)):this.clearElementCache(i)}),this._engine.afterFlushAnimationsDone(()=>n.forEach(i=>this.clearElementCache(i)))}triggerLeaveAnimation(e,t,n,i){let r=this._engine.statesByElement.get(e),o=new Map;if(r){let a=[];if(r.forEach((l,c)=>{if(o.set(c,l.value),this._triggers.has(c)){let h=this.trigger(e,c,ve,i);h&&a.push(h)}}),a.length)return this._engine.markElementAsRemoved(this.id,e,!0,t,o),n&&ee(a).onDone(()=>this._engine.processLeaveNode(e)),!0}return!1}prepareLeaveAnimationListeners(e){let t=this._elementListeners.get(e),n=this._engine.statesByElement.get(e);if(t&&n){let i=new Set;t.forEach(r=>{let o=r.name;if(i.has(o))return;i.add(o);let l=this._triggers.get(o).fallbackTransition,c=n.get(o)||ht,h=new we(ve),u=new Ae(this.id,o,e);this._engine.totalQueuedPlayers++,this._queue.push({element:e,triggerName:o,transition:l,fromState:c,toState:h,player:u,isFallbackTransition:!0})})}}removeNode(e,t){let n=this._engine;if(e.childElementCount&&this._signalRemovalForInnerTriggers(e,t),this.triggerLeaveAnimation(e,t,!0))return;let i=!1;if(n.totalAnimations){let r=n.players.length?n.playersByQueriedElement.get(e):[];if(r&&r.length)i=!0;else{let o=e;for(;o=o.parentNode;)if(n.statesByElement.get(o)){i=!0;break}}}if(this.prepareLeaveAnimationListeners(e),i)n.markElementAsRemoved(this.id,e,!1,t);else{let r=e[$];(!r||r===is)&&(n.afterFlush(()=>this.clearElementCache(e)),n.destroyInnerAnimations(e),n._onRemovalComplete(e,t))}}insertNode(e,t){L(e,this._hostClassName)}drainQueuedTransitions(e){let t=[];return this._queue.forEach(n=>{let i=n.player;if(i.destroyed)return;let r=n.element,o=this._elementListeners.get(r);o&&o.forEach(a=>{if(a.name==n.triggerName){let l=Nt(r,n.triggerName,n.fromState.value,n.toState.value);l._data=e,Dt(n.player,a.phase,l,a.callback)}}),i.markedForDestroy?this._engine.afterFlush(()=>{i.destroy()}):t.push(n)}),this._queue=[],t.sort((n,i)=>{let r=n.transition.ast.depCount,o=i.transition.ast.depCount;return r==0||o==0?r-o:this._engine.driver.containsElement(n.element,i.element)?1:-1})}destroy(e){this.players.forEach(t=>t.destroy()),this._signalRemovalForInnerTriggers(this.hostElement,e)}},Mt=class{bodyNode;driver;_normalizer;players=[];newHostElements=new Map;playersByElement=new Map;playersByQueriedElement=new Map;statesByElement=new Map;disabledNodes=new Set;totalAnimations=0;totalQueuedPlayers=0;_namespaceLookup={};_namespaceList=[];_flushFns=[];_whenQuietFns=[];namespacesByHostElement=new Map;collectedEnterElements=[];collectedLeaveElements=[];onRemovalComplete=(e,t)=>{};_onRemovalComplete(e,t){this.onRemovalComplete(e,t)}constructor(e,t,n){this.bodyNode=e,this.driver=t,this._normalizer=n}get queuedPlayers(){let e=[];return this._namespaceList.forEach(t=>{t.players.forEach(n=>{n.queued&&e.push(n)})}),e}createNamespace(e,t){let n=new At(e,t,this);return this.bodyNode&&this.driver.containsElement(this.bodyNode,t)?this._balanceNamespaceList(n,t):(this.newHostElements.set(t,n),this.collectEnterElement(t)),this._namespaceLookup[e]=n}_balanceNamespaceList(e,t){let n=this._namespaceList,i=this.namespacesByHostElement;if(n.length-1>=0){let o=!1,a=this.driver.getParentElement(t);for(;a;){let l=i.get(a);if(l){let c=n.indexOf(l);n.splice(c+1,0,e),o=!0;break}a=this.driver.getParentElement(a)}o||n.unshift(e)}else n.push(e);return i.set(t,e),e}register(e,t){let n=this._namespaceLookup[e];return n||(n=this.createNamespace(e,t)),n}registerTrigger(e,t,n){let i=this._namespaceLookup[e];i&&i.register(t,n)&&this.totalAnimations++}destroy(e,t){e&&(this.afterFlush(()=>{}),this.afterFlushAnimationsDone(()=>{let n=this._fetchNamespace(e);this.namespacesByHostElement.delete(n.hostElement);let i=this._namespaceList.indexOf(n);i>=0&&this._namespaceList.splice(i,1),n.destroy(t),delete this._namespaceLookup[e]}))}_fetchNamespace(e){return this._namespaceLookup[e]}fetchNamespacesByElement(e){let t=new Set,n=this.statesByElement.get(e);if(n){for(let i of n.values())if(i.namespaceId){let r=this._fetchNamespace(i.namespaceId);r&&t.add(r)}}return t}trigger(e,t,n,i){if(Be(t)){let r=this._fetchNamespace(e);if(r)return r.trigger(t,n,i),!0}return!1}insertNode(e,t,n,i){if(!Be(t))return;let r=t[$];if(r&&r.setForRemoval){r.setForRemoval=!1,r.setForMove=!0;let o=this.collectedLeaveElements.indexOf(t);o>=0&&this.collectedLeaveElements.splice(o,1)}if(e){let o=this._fetchNamespace(e);o&&o.insertNode(t,n)}i&&this.collectEnterElement(t)}collectEnterElement(e){this.collectedEnterElements.push(e)}markElementAsDisabled(e,t){t?this.disabledNodes.has(e)||(this.disabledNodes.add(e),L(e,ut)):this.disabledNodes.has(e)&&(this.disabledNodes.delete(e),ye(e,ut))}removeNode(e,t,n){if(Be(t)){let i=e?this._fetchNamespace(e):null;i?i.removeNode(t,n):this.markElementAsRemoved(e,t,!1,n);let r=this.namespacesByHostElement.get(t);r&&r.id!==e&&r.removeNode(t,n)}else this._onRemovalComplete(t,n)}markElementAsRemoved(e,t,n,i,r){this.collectedLeaveElements.push(t),t[$]={namespaceId:e,setForRemoval:i,hasAnimation:n,removedBeforeQueried:!1,previousTriggersValues:r}}listen(e,t,n,i,r){return Be(t)?this._fetchNamespace(e).listen(t,n,i,r):()=>{}}_buildInstruction(e,t,n,i,r){return e.transition.build(this.driver,e.element,e.fromState.value,e.toState.value,n,i,e.fromState.options,e.toState.options,t,r)}destroyInnerAnimations(e){let t=this.driver.query(e,je,!0);t.forEach(n=>this.destroyActiveAnimationsForElement(n)),this.playersByQueriedElement.size!=0&&(t=this.driver.query(e,ft,!0),t.forEach(n=>this.finishActiveQueriedAnimationOnElement(n)))}destroyActiveAnimationsForElement(e){let t=this.playersByElement.get(e);t&&t.forEach(n=>{n.queued?n.markedForDestroy=!0:n.destroy()})}finishActiveQueriedAnimationOnElement(e){let t=this.playersByQueriedElement.get(e);t&&t.forEach(n=>n.finish())}whenRenderingDone(){return new Promise(e=>{if(this.players.length)return ee(this.players).onDone(()=>e());e()})}processLeaveNode(e){let t=e[$];if(t&&t.setForRemoval){if(e[$]=is,t.namespaceId){this.destroyInnerAnimations(e);let n=this._fetchNamespace(t.namespaceId);n&&n.clearElementCache(e)}this._onRemovalComplete(e,t.setForRemoval)}e.classList?.contains(ut)&&this.markElementAsDisabled(e,!1),this.driver.query(e,Fi,!0).forEach(n=>{this.markElementAsDisabled(n,!1)})}flush(e=-1){let t=[];if(this.newHostElements.size&&(this.newHostElements.forEach((n,i)=>this._balanceNamespaceList(n,i)),this.newHostElements.clear()),this.totalAnimations&&this.collectedEnterElements.length)for(let n=0;nn()),this._flushFns=[],this._whenQuietFns.length){let n=this._whenQuietFns;this._whenQuietFns=[],t.length?ee(t).onDone(()=>{n.forEach(i=>i())}):n.forEach(i=>i())}}reportError(e){throw Ys(e)}_flushAnimations(e,t){let n=new be,i=[],r=new Map,o=[],a=new Map,l=new Map,c=new Map,h=new Set;this.disabledNodes.forEach(d=>{h.add(d);let f=this.driver.query(d,Ci,!0);for(let p=0;p{let p=Xn+g++;m.set(f,p),d.forEach(E=>L(E,p))});let T=[],w=new Set,A=new Set;for(let d=0;dw.add(E)):A.add(f))}let N=new Map,P=Hn(S,Array.from(w));P.forEach((d,f)=>{let p=mt+g++;N.set(f,p),d.forEach(E=>L(E,p))}),e.push(()=>{y.forEach((d,f)=>{let p=m.get(f);d.forEach(E=>ye(E,p))}),P.forEach((d,f)=>{let p=N.get(f);d.forEach(E=>ye(E,p))}),T.forEach(d=>{this.processLeaveNode(d)})});let de=[],B=[];for(let d=this._namespaceList.length-1;d>=0;d--)this._namespaceList[d].drainQueuedTransitions(t).forEach(p=>{let E=p.player,M=p.element;if(de.push(E),this.collectedEnterElements.length){let D=M[$];if(D&&D.setForMove){if(D.previousTriggersValues&&D.previousTriggersValues.has(p.triggerName)){let se=D.previousTriggersValues.get(p.triggerName),I=this.statesByElement.get(p.element);if(I&&I.has(p.triggerName)){let Me=I.get(p.triggerName);Me.value=se,I.set(p.triggerName,Me)}}E.destroy();return}}let K=!u||!this.driver.containsElement(u,M),R=N.get(M),x=m.get(M),b=this._buildInstruction(p,n,x,R,K);if(b.errors&&b.errors.length){B.push(b);return}if(K){E.onStart(()=>ce(M,b.fromStyles)),E.onDestroy(()=>V(M,b.toStyles)),i.push(E);return}if(p.isFallbackTransition){E.onStart(()=>ce(M,b.fromStyles)),E.onDestroy(()=>V(M,b.toStyles)),i.push(E);return}let zt=[];b.timelines.forEach(D=>{D.stretchStartingKeyframe=!0,this.disabledNodes.has(D.element)||zt.push(D)}),b.timelines=zt,n.append(M,b.timelines);let ys={instruction:b,player:E,element:M};o.push(ys),b.queriedElements.forEach(D=>O(a,D,[]).push(E)),b.preStyleProps.forEach((D,se)=>{if(D.size){let I=l.get(se);I||l.set(se,I=new Set),D.forEach((Me,tt)=>I.add(tt))}}),b.postStyleProps.forEach((D,se)=>{let I=c.get(se);I||c.set(se,I=new Set),D.forEach((Me,tt)=>I.add(tt))})});if(B.length){let d=[];B.forEach(f=>{d.push(Xs(f.triggerName,f.errors))}),de.forEach(f=>f.destroy()),this.reportError(d)}let C=new Map,F=new Map;o.forEach(d=>{let f=d.element;n.has(f)&&(F.set(f,f),this._beforeAnimationBuild(d.player.namespaceId,d.instruction,C))}),i.forEach(d=>{let f=d.element;this._getPreviousPlayers(f,!1,d.namespaceId,d.triggerName,null).forEach(E=>{O(C,f,[]).push(E),E.destroy()})});let te=T.filter(d=>Gn(d,l,c)),me=new Map;Vn(me,this.driver,A,c,Q).forEach(d=>{Gn(d,l,c)&&te.push(d)});let ne=new Map;y.forEach((d,f)=>{Vn(ne,this.driver,new Set(d),l,Ie)}),te.forEach(d=>{let f=me.get(d),p=ne.get(d);me.set(d,new Map([...f?.entries()??[],...p?.entries()??[]]))});let et=[],Lt=[],$t={};o.forEach(d=>{let{element:f,player:p,instruction:E}=d;if(n.has(f)){if(h.has(f)){p.onDestroy(()=>V(f,E.toStyles)),p.disabled=!0,p.overrideTotalTime(E.totalTime),i.push(p);return}let M=$t;if(F.size>1){let R=f,x=[];for(;R=R.parentNode;){let b=F.get(R);if(b){M=b;break}x.push(R)}x.forEach(b=>F.set(b,M))}let K=this._buildAnimation(p.namespaceId,E,C,r,ne,me);if(p.setRealPlayer(K),M===$t)et.push(p);else{let R=this.playersByElement.get(M);R&&R.length&&(p.parentPlayer=ee(R)),i.push(p)}}else ce(f,E.fromStyles),p.onDestroy(()=>V(f,E.toStyles)),Lt.push(p),h.has(f)&&i.push(p)}),Lt.forEach(d=>{let f=r.get(d.element);if(f&&f.length){let p=ee(f);d.setRealPlayer(p)}}),i.forEach(d=>{d.parentPlayer?d.syncPlayerEvents(d.parentPlayer):d.destroy()});for(let d=0;d!K.destroyed);M.length?Bi(this,f,M):this.processLeaveNode(f)}return T.length=0,et.forEach(d=>{this.players.push(d),d.onDone(()=>{d.destroy();let f=this.players.indexOf(d);this.players.splice(f,1)}),d.play()}),et}afterFlush(e){this._flushFns.push(e)}afterFlushAnimationsDone(e){this._whenQuietFns.push(e)}_getPreviousPlayers(e,t,n,i,r){let o=[];if(t){let a=this.playersByQueriedElement.get(e);a&&(o=a)}else{let a=this.playersByElement.get(e);if(a){let l=!r||r==ve;a.forEach(c=>{c.queued||!l&&c.triggerName!=i||o.push(c)})}}return(n||i)&&(o=o.filter(a=>!(n&&n!=a.namespaceId||i&&i!=a.triggerName))),o}_beforeAnimationBuild(e,t,n){let i=t.triggerName,r=t.element,o=t.isRemovalTransition?void 0:e,a=t.isRemovalTransition?void 0:i;for(let l of t.timelines){let c=l.element,h=c!==r,u=O(n,c,[]);this._getPreviousPlayers(c,h,o,a,t.toState).forEach(y=>{let m=y.getRealPlayer();m.beforeDestroy&&m.beforeDestroy(),y.destroy(),u.push(y)})}ce(r,t.fromStyles)}_buildAnimation(e,t,n,i,r,o){let a=t.triggerName,l=t.element,c=[],h=new Set,u=new Set,S=t.timelines.map(m=>{let g=m.element;h.add(g);let T=g[$];if(T&&T.removedBeforeQueried)return new Z(m.duration,m.delay);let w=g!==l,A=Ki((n.get(g)||Oi).map(C=>C.getRealPlayer())).filter(C=>{let F=C;return F.element?F.element===g:!1}),N=r.get(g),P=o.get(g),de=xn(this._normalizer,m.keyframes,N,P),B=this._buildPlayer(m,de,A);if(m.subTimeline&&i&&u.add(g),w){let C=new Ae(e,a,g);C.setRealPlayer(B),c.push(C)}return B});c.forEach(m=>{O(this.playersByQueriedElement,m.element,[]).push(m),m.onDone(()=>Li(this.playersByQueriedElement,m.element,m))}),h.forEach(m=>L(m,$n));let y=ee(S);return y.onDestroy(()=>{h.forEach(m=>ye(m,$n)),V(l,t.toStyles)}),u.forEach(m=>{O(i,m,[]).push(y)}),y}_buildPlayer(e,t,n){return t.length>0?this.driver.animate(e.element,t,e.duration,e.delay,e.easing,n):new Z(e.duration,e.delay)}},Ae=class{namespaceId;triggerName;element;_player=new Z;_containsRealPlayer=!1;_queuedCallbacks=new Map;destroyed=!1;parentPlayer=null;markedForDestroy=!1;disabled=!1;queued=!0;totalTime=0;constructor(e,t,n){this.namespaceId=e,this.triggerName=t,this.element=n}setRealPlayer(e){this._containsRealPlayer||(this._player=e,this._queuedCallbacks.forEach((t,n)=>{t.forEach(i=>Dt(e,n,void 0,i))}),this._queuedCallbacks.clear(),this._containsRealPlayer=!0,this.overrideTotalTime(e.totalTime),this.queued=!1)}getRealPlayer(){return this._player}overrideTotalTime(e){this.totalTime=e}syncPlayerEvents(e){let t=this._player;t.triggerCallback&&e.onStart(()=>t.triggerCallback("start")),e.onDone(()=>this.finish()),e.onDestroy(()=>this.destroy())}_queueEvent(e,t){O(this._queuedCallbacks,e,[]).push(t)}onDone(e){this.queued&&this._queueEvent("done",e),this._player.onDone(e)}onStart(e){this.queued&&this._queueEvent("start",e),this._player.onStart(e)}onDestroy(e){this.queued&&this._queueEvent("destroy",e),this._player.onDestroy(e)}init(){this._player.init()}hasStarted(){return this.queued?!1:this._player.hasStarted()}play(){!this.queued&&this._player.play()}pause(){!this.queued&&this._player.pause()}restart(){!this.queued&&this._player.restart()}finish(){this._player.finish()}destroy(){this.destroyed=!0,this._player.destroy()}reset(){!this.queued&&this._player.reset()}setPosition(e){this.queued||this._player.setPosition(e)}getPosition(){return this.queued?0:this._player.getPosition()}triggerCallback(e){let t=this._player;t.triggerCallback&&t.triggerCallback(e)}};function Li(s,e,t){let n=s.get(e);if(n){if(n.length){let i=n.indexOf(t);n.splice(i,1)}n.length==0&&s.delete(e)}return n}function $i(s){return s??null}function Be(s){return s&&s.nodeType===1}function zi(s){return s=="start"||s=="done"}function Qn(s,e){let t=s.style.display;return s.style.display=e??"none",t}function Vn(s,e,t,n,i){let r=[];t.forEach(l=>r.push(Qn(l)));let o=[];n.forEach((l,c)=>{let h=new Map;l.forEach(u=>{let S=e.computeStyle(c,u,i);h.set(u,S),(!S||S.length==0)&&(c[$]=Ii,o.push(c))}),s.set(c,h)});let a=0;return t.forEach(l=>Qn(l,r[a++])),o}function Hn(s,e){let t=new Map;if(s.forEach(a=>t.set(a,[])),e.length==0)return t;let n=1,i=new Set(e),r=new Map;function o(a){if(!a)return n;let l=r.get(a);if(l)return l;let c=a.parentNode;return t.has(c)?l=c:i.has(c)?l=n:l=o(c),r.set(a,l),l}return e.forEach(a=>{let l=o(a);l!==n&&t.get(l).push(a)}),t}function L(s,e){s.classList?.add(e)}function ye(s,e){s.classList?.remove(e)}function Bi(s,e,t){ee(t).onDone(()=>s.processLeaveNode(e))}function Ki(s){let e=[];return rs(s,e),e}function rs(s,e){for(let t=0;ti.add(r)):e.set(s,n),t.delete(s),!0}var _e=class{_driver;_normalizer;_transitionEngine;_timelineEngine;_triggerCache={};onRemovalComplete=(e,t)=>{};constructor(e,t,n){this._driver=t,this._normalizer=n,this._transitionEngine=new Mt(e.body,t,n),this._timelineEngine=new wt(e.body,t,n),this._transitionEngine.onRemovalComplete=(i,r)=>this.onRemovalComplete(i,r)}registerTrigger(e,t,n,i,r){let o=e+"-"+i,a=this._triggerCache[o];if(!a){let l=[],c=[],h=ts(this._driver,r,l,c);if(l.length)throw js(i,l);c.length&&void 0,a=Pi(i,h,this._normalizer),this._triggerCache[o]=a}this._transitionEngine.registerTrigger(t,i,a)}register(e,t){this._transitionEngine.register(e,t)}destroy(e,t){this._transitionEngine.destroy(e,t)}onInsert(e,t,n,i){this._transitionEngine.insertNode(e,t,n,i)}onRemove(e,t,n){this._transitionEngine.removeNode(e,t,n)}disableAnimations(e,t){this._transitionEngine.markElementAsDisabled(e,t)}process(e,t,n,i){if(n.charAt(0)=="@"){let[r,o]=In(n),a=i;this._timelineEngine.command(r,t,o,a)}else this._transitionEngine.trigger(e,t,n,i)}listen(e,t,n,i,r){if(n.charAt(0)=="@"){let[o,a]=In(n);return this._timelineEngine.listen(o,t,a,r)}return this._transitionEngine.listen(e,t,n,i,r)}flush(e=-1){this._transitionEngine.flush(e)}get players(){return[...this._transitionEngine.players,...this._timelineEngine.players]}whenRenderingDone(){return this._transitionEngine.whenRenderingDone()}afterFlushAnimationsDone(e){this._transitionEngine.afterFlushAnimationsDone(e)}};function qi(s,e){let t=null,n=null;return Array.isArray(e)&&e.length?(t=dt(e[0]),e.length>1&&(n=dt(e[e.length-1]))):e instanceof Map&&(t=dt(e)),t||n?new Ui(s,t,n):null}var Ui=(()=>{class s{_element;_startStyles;_endStyles;static initialStylesByElement=new WeakMap;_state=0;_initialStyles;constructor(t,n,i){this._element=t,this._startStyles=n,this._endStyles=i;let r=s.initialStylesByElement.get(t);r||s.initialStylesByElement.set(t,r=new Map),this._initialStyles=r}start(){this._state<1&&(this._startStyles&&V(this._element,this._startStyles,this._initialStyles),this._state=1)}finish(){this.start(),this._state<2&&(V(this._element,this._initialStyles),this._endStyles&&(V(this._element,this._endStyles),this._endStyles=null),this._state=1)}destroy(){this.finish(),this._state<3&&(s.initialStylesByElement.delete(this._element),this._startStyles&&(ce(this._element,this._startStyles),this._endStyles=null),this._endStyles&&(ce(this._element,this._endStyles),this._endStyles=null),V(this._element,this._initialStyles),this._state=3)}}return s})();function dt(s){let e=null;return s.forEach((t,n)=>{Qi(n)&&(e=e||new Map,e.set(n,t))}),e}function Qi(s){return s==="display"||s==="position"}var xe=class{element;keyframes;options;_specialStyles;_onDoneFns=[];_onStartFns=[];_onDestroyFns=[];_duration;_delay;_initialized=!1;_finished=!1;_started=!1;_destroyed=!1;_finalKeyframe;_originalOnDoneFns=[];_originalOnStartFns=[];domPlayer;time=0;parentPlayer=null;currentSnapshot=new Map;constructor(e,t,n,i){this.element=e,this.keyframes=t,this.options=n,this._specialStyles=i,this._duration=n.duration,this._delay=n.delay||0,this.time=this._duration+this._delay}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(e=>e()),this._onDoneFns=[])}init(){this._buildPlayer(),this._preparePlayerBeforeStart()}_buildPlayer(){if(this._initialized)return;this._initialized=!0;let e=this.keyframes;this.domPlayer=this._triggerWebAnimation(this.element,e,this.options),this._finalKeyframe=e.length?e[e.length-1]:new Map;let t=()=>this._onFinish();this.domPlayer.addEventListener("finish",t),this.onDestroy(()=>{this.domPlayer.removeEventListener("finish",t)})}_preparePlayerBeforeStart(){this._delay?this._resetDomPlayerState():this.domPlayer.pause()}_convertKeyframesToObject(e){let t=[];return e.forEach(n=>{t.push(Object.fromEntries(n))}),t}_triggerWebAnimation(e,t,n){return e.animate(this._convertKeyframesToObject(t),n)}onStart(e){this._originalOnStartFns.push(e),this._onStartFns.push(e)}onDone(e){this._originalOnDoneFns.push(e),this._onDoneFns.push(e)}onDestroy(e){this._onDestroyFns.push(e)}play(){this._buildPlayer(),this.hasStarted()||(this._onStartFns.forEach(e=>e()),this._onStartFns=[],this._started=!0,this._specialStyles&&this._specialStyles.start()),this.domPlayer.play()}pause(){this.init(),this.domPlayer.pause()}finish(){this.init(),this._specialStyles&&this._specialStyles.finish(),this._onFinish(),this.domPlayer.finish()}reset(){this._resetDomPlayerState(),this._destroyed=!1,this._finished=!1,this._started=!1,this._onStartFns=this._originalOnStartFns,this._onDoneFns=this._originalOnDoneFns}_resetDomPlayerState(){this.domPlayer&&this.domPlayer.cancel()}restart(){this.reset(),this.play()}hasStarted(){return this._started}destroy(){this._destroyed||(this._destroyed=!0,this._resetDomPlayerState(),this._onFinish(),this._specialStyles&&this._specialStyles.destroy(),this._onDestroyFns.forEach(e=>e()),this._onDestroyFns=[])}setPosition(e){this.domPlayer===void 0&&this.init(),this.domPlayer.currentTime=e*this.time}getPosition(){return+(this.domPlayer.currentTime??0)/this.time}get totalTime(){return this._delay+this._duration}beforeDestroy(){let e=new Map;this.hasStarted()&&this._finalKeyframe.forEach((n,i)=>{i!=="offset"&&e.set(i,this._finished?n:kt(this.element,i))}),this.currentSnapshot=e}triggerCallback(e){let t=e==="start"?this._onStartFns:this._onDoneFns;t.forEach(n=>n()),t.length=0}},We=class{validateStyleProperty(e){return!0}validateAnimatableStyleProperty(e){return!0}containsElement(e,t){return Wn(e,t)}getParentElement(e){return Ct(e)}query(e,t,n){return Jn(e,t,n)}computeStyle(e,t,n){return kt(e,t)}animate(e,t,n,i,r,o=[]){let a=i==0?"both":"forwards",l={duration:n,delay:i,fill:a};r&&(l.easing=r);let c=new Map,h=o.filter(y=>y instanceof xe);ci(n,i)&&h.forEach(y=>{y.currentSnapshot.forEach((m,g)=>c.set(g,m))});let u=oi(t).map(y=>new Map(y));u=ui(e,u,c);let S=qi(e,u);return new xe(e,u,l,S)}};var Ke="@",os="@.disabled",Je=class{namespaceId;delegate;engine;_onDestroy;\u0275type=0;constructor(e,t,n,i){this.namespaceId=e,this.delegate=t,this.engine=n,this._onDestroy=i}get data(){return this.delegate.data}destroyNode(e){this.delegate.destroyNode?.(e)}destroy(){this.engine.destroy(this.namespaceId,this.delegate),this.engine.afterFlushAnimationsDone(()=>{queueMicrotask(()=>{this.delegate.destroy()})}),this._onDestroy?.()}createElement(e,t){return this.delegate.createElement(e,t)}createComment(e){return this.delegate.createComment(e)}createText(e){return this.delegate.createText(e)}appendChild(e,t){this.delegate.appendChild(e,t),this.engine.onInsert(this.namespaceId,t,e,!1)}insertBefore(e,t,n,i=!0){this.delegate.insertBefore(e,t,n),this.engine.onInsert(this.namespaceId,t,e,i)}removeChild(e,t,n){this.parentNode(t)&&this.engine.onRemove(this.namespaceId,t,this.delegate)}selectRootElement(e,t){return this.delegate.selectRootElement(e,t)}parentNode(e){return this.delegate.parentNode(e)}nextSibling(e){return this.delegate.nextSibling(e)}setAttribute(e,t,n,i){this.delegate.setAttribute(e,t,n,i)}removeAttribute(e,t,n){this.delegate.removeAttribute(e,t,n)}addClass(e,t){this.delegate.addClass(e,t)}removeClass(e,t){this.delegate.removeClass(e,t)}setStyle(e,t,n,i){this.delegate.setStyle(e,t,n,i)}removeStyle(e,t,n){this.delegate.removeStyle(e,t,n)}setProperty(e,t,n){t.charAt(0)==Ke&&t==os?this.disableAnimations(e,!!n):this.delegate.setProperty(e,t,n)}setValue(e,t){this.delegate.setValue(e,t)}listen(e,t,n){return this.delegate.listen(e,t,n)}disableAnimations(e,t){this.engine.disableAnimations(e,t)}},Pt=class extends Je{factory;constructor(e,t,n,i,r){super(t,n,i,r),this.factory=e,this.namespaceId=t}setProperty(e,t,n){t.charAt(0)==Ke?t.charAt(1)=="."&&t==os?(n=n===void 0?!0:!!n,this.disableAnimations(e,n)):this.engine.process(this.namespaceId,e,t.slice(1),n):this.delegate.setProperty(e,t,n)}listen(e,t,n){if(t.charAt(0)==Ke){let i=Vi(e),r=t.slice(1),o="";return r.charAt(0)!=Ke&&([r,o]=Hi(r)),this.engine.listen(this.namespaceId,i,r,o,a=>{let l=a._data||-1;this.factory.scheduleListenerCallback(l,n,a)})}return this.delegate.listen(e,t,n)}};function Vi(s){switch(s){case"body":return document.body;case"document":return document;case"window":return window;default:return s}}function Hi(s){let e=s.indexOf("."),t=s.substring(0,e),n=s.slice(e+1);return[t,n]}var Ye=class{delegate;engine;_zone;_currentId=0;_microtaskId=1;_animationCallbacksBuffer=[];_rendererCache=new Map;_cdRecurDepth=0;constructor(e,t,n){this.delegate=e,this.engine=t,this._zone=n,t.onRemovalComplete=(i,r)=>{r?.removeChild(null,i)}}createRenderer(e,t){let n="",i=this.delegate.createRenderer(e,t);if(!e||!t?.data?.animation){let c=this._rendererCache,h=c.get(i);if(!h){let u=()=>c.delete(i);h=new Je(n,i,this.engine,u),c.set(i,h)}return h}let r=t.id,o=t.id+"-"+this._currentId;this._currentId++,this.engine.register(o,e);let a=c=>{Array.isArray(c)?c.forEach(a):this.engine.registerTrigger(r,o,e,c.name,c)};return t.data.animation.forEach(a),new Pt(this,o,i,this.engine)}begin(){this._cdRecurDepth++,this.delegate.begin&&this.delegate.begin()}_scheduleCountTask(){queueMicrotask(()=>{this._microtaskId++})}scheduleListenerCallback(e,t,n){if(e>=0&&et(n));return}let i=this._animationCallbacksBuffer;i.length==0&&queueMicrotask(()=>{this._zone.run(()=>{i.forEach(r=>{let[o,a]=r;o(a)}),this._animationCallbacksBuffer=[]})}),i.push([t,n])}end(){this._cdRecurDepth--,this._cdRecurDepth==0&&this._zone.runOutsideAngular(()=>{this._scheduleCountTask(),this.engine.flush(this._microtaskId)}),this.delegate.end&&this.delegate.end()}whenRenderingDone(){return this.engine.whenRenderingDone()}};var xi=(()=>{class s extends _e{constructor(t,n,i){super(t,n,i)}ngOnDestroy(){this.flush()}static \u0275fac=function(n){return new(n||s)(j(nn),j(ue),j(he))};static \u0275prov=W({token:s,factory:s.\u0275fac})}return s})();function Wi(){return new Ue}function Ji(s,e,t){return new Ye(s,e,t)}var as=[{provide:he,useFactory:Wi},{provide:_e,useClass:xi},{provide:Gt,useFactory:Ji,deps:[cn,_e,De]}],Yi=[{provide:ue,useFactory:()=>new We},{provide:nt,useValue:"BrowserAnimations"},...as],kr=[{provide:ue,useClass:Ft},{provide:nt,useValue:"NoopAnimations"},...as];function ls(){return Ht("NgEagerAnimations"),[...Yi]}var Xe=class{http;prefix;suffix;constructor(e,t="/assets/i18n/",n=".json"){this.http=e,this.prefix=t,this.suffix=n}getTranslation(e){return this.http.get(`${this.prefix}${e}${this.suffix}`)}};function Xi(s,e){if(s&1&&(U(0,"li")(1,"h2")(2,"a",1),re(3),fe(4,"translate"),Y()()()),s&2){let t,n=e.$implicit;q(2),Ne("routerLink","/"+n.path),q(),Re(" ",pe(4,2,((t=n.name)!==null&&t!==void 0?t:n.path)+".title")," ")}}var cs=(()=>{class s{constructor(){this.sections=[{path:"dashboard"},{path:"presence-control"},{path:"open-absences"},{path:"edit-absences"},{path:"evaluate-absences"},{path:"events"},{path:"events/current",name:"events.current"},{path:"my-absences"},{path:"my-profile"},{path:"my-grades"},{path:"my-settings"}]}static{this.\u0275fac=function(n){return new(n||s)}}static{this.\u0275cmp=J({type:s,selectors:[["bkd-home"]],decls:3,vars:0,consts:[[1,"mt-3"],[3,"routerLink"]],template:function(n,i){n&1&&(U(0,"ul",0),Ce(1,Xi,5,4,"li",null,Yt),Y()),n&2&&(q(),Fe(i.sections))},dependencies:[dn,Oe],encapsulation:2,changeDetection:0})}}return s})();var us=(()=>{class s{constructor(){}static{this.\u0275fac=function(n){return new(n||s)}}static{this.\u0275cmp=J({type:s,selectors:[["bkd-unauthenticated"]],decls:4,vars:3,consts:[[1,"bkd-container"],[1,"alert","alert-danger","my-3"]],template:function(n,i){n&1&&(U(0,"div",0)(1,"div",1),re(2),fe(3,"translate"),Y()()),n&2&&(q(2),Re(" ",pe(3,1,"unauthenticated.message")," "))},dependencies:[Oe],encapsulation:2})}}return s})();var Ze=(()=>{class s{constructor(t){this.storage=t}get isAuthenticated(){return!!this.accessToken}get accessToken(){return this.storage.getAccessToken()}static{this.\u0275fac=function(n){return new(n||s)(j(Tn))}}static{this.\u0275prov=W({token:s,factory:s.\u0275fac,providedIn:"root"})}}return s})();function z(){return()=>{let s=H(Ze),e=H(ke);return s.isAuthenticated?!0:(e.navigate(["/unauthenticated"]),!1)}}var hs=[{path:"dashboard",canActivate:[z()],loadChildren:()=>import("./chunk-YHJ5WP4O.js").then(s=>s.DASHBOARD_ROUTES)},{path:"presence-control",canActivate:[z()],loadChildren:()=>import("./chunk-6WEK6KVH.js").then(s=>s.PRESENCE_CONTROL_ROUTES)},{path:"open-absences",canActivate:[z()],loadChildren:()=>import("./chunk-2EI6QWJT.js").then(s=>s.OPEN_ABSENCES_ROUTES)},{path:"edit-absences",canActivate:[z()],loadChildren:()=>import("./chunk-A7BPIB5B.js").then(s=>s.EDIT_ABSENCES_ROUTES)},{path:"evaluate-absences",canActivate:[z()],loadChildren:()=>import("./chunk-P3FNPE6I.js").then(s=>s.EVALUATE_ABSENCES_ROUTES)},{path:"events",canActivate:[z()],loadChildren:()=>import("./chunk-PVDOFFJE.js").then(s=>s.EVENTS_ROUTES)},{path:"my-absences",canActivate:[z()],loadChildren:()=>import("./chunk-7Q4JYW24.js").then(s=>s.MY_ABSENCES_ROUTES)},{path:"my-profile",canActivate:[z()],loadChildren:()=>import("./chunk-2QM4IFNS.js").then(s=>s.MY_PROFILE_ROUTES)},{path:"my-grades",canActivate:[z()],loadChildren:()=>import("./chunk-EMYBIMWP.js").then(s=>s.MY_GRADES_ROUTES)},{path:"my-settings",canActivate:[z()],loadChildren:()=>import("./chunk-B47FYJ6R.js").then(s=>s.MY_SETTINGS_ROUTES)},{path:"unauthenticated",component:us},{path:"",component:cs,pathMatch:"full"}];function ds(){return(s,e)=>{let t=H(Ze),n=H(X);if(s.url.startsWith(n.apiUrl)&&t.accessToken){let i=s.headers.set("Authorization",`Bearer ${t.accessToken}`);return e(s.clone({headers:i}))}return e(s)}}function ms(){return(s,e)=>{let t=H(X);if(!s.headers.has("X-Role-Restriction")&&t.headerRoleRestriction){let n=Zi();if(n&&t.headerRoleRestriction[n]){let i=s.headers.set("X-Role-Restriction",t.headerRoleRestriction[n]);return e(s.clone({headers:i}))}}return e(s)}}function Zi(){let s=H(ke),e=s.url?An(s.url):null;return e?yn(e):null}function fs(){return[{provide:Vt,useClass:er}]}var er=(()=>{class s{constructor(t,n,i){this.ngZone=t,this.translate=n,this.toastService=i}handleError(t){console.error(String(t)),t instanceof rn||this.notifyError()}notifyError(){this.ngZone.run(()=>{this.toastService.error(this.translate.instant("global.app-errors.exception-message"),this.translate.instant("global.app-errors.exception-title"))})}static{this.\u0275fac=function(n){return new(n||s)(j(De),j(En),j(ge))}}static{this.\u0275prov=W({token:s,factory:s.\u0275fac})}}return s})();function tr(s,e){return new Xe(s,`${e.scriptsAndAssetsPath}/assets/locales/`,".json")}var ps={providers:[mn(hs,fn()),an(ln([Mn(),ds(),ms()])),ls(),fs(),vn({loader:{provide:Sn,useFactory:tr,deps:[on,X]}}),bn()]};var gs={production:!0};gs.production&&void 0;rt(Pn);rt(Dn);un(Rn,ps).catch(s=>console.error(s)); diff --git a/public/apps/webapp-schulverwaltung/styles.css b/public/apps/webapp-schulverwaltung/styles.css index 47771cca..38e174c9 100644 --- a/public/apps/webapp-schulverwaltung/styles.css +++ b/public/apps/webapp-schulverwaltung/styles.css @@ -1 +1 @@ -@charset "UTF-8";@font-face{font-family:Material Icons;font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/materialicons/v142/flUhRq6tzZclQEJ-Vdg-IuiaDsNc.woff2) format("woff2")}@font-face{font-family:Material Icons Outlined;font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/materialiconsoutlined/v109/gok-H7zzDkdnRel8-DQ6KAXJ69wP1tGnf4ZGhUce.woff2) format("woff2")}.material-icons{font-family:Material Icons;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased}.material-icons-outlined{font-family:Material Icons Outlined;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased}.ng-select.ng-select-opened>.ng-select-container{background:#fff;border-color:hsl(0,0%,70%) #ccc hsl(0,0%,85%)}.ng-select.ng-select-opened>.ng-select-container:hover{box-shadow:none}.ng-select.ng-select-opened>.ng-select-container .ng-arrow{top:-2px;border-color:rgba(0,0,0,0) rgba(0,0,0,0) #999;border-width:0 5px 5px}.ng-select.ng-select-opened>.ng-select-container .ng-arrow:hover{border-color:rgba(0,0,0,0) rgba(0,0,0,0) #333}.ng-select.ng-select-opened.ng-select-top>.ng-select-container{border-top-right-radius:0;border-top-left-radius:0}.ng-select.ng-select-opened.ng-select-right>.ng-select-container{border-top-right-radius:0;border-bottom-right-radius:0}.ng-select.ng-select-opened.ng-select-bottom>.ng-select-container{border-bottom-right-radius:0;border-bottom-left-radius:0}.ng-select.ng-select-opened.ng-select-left>.ng-select-container{border-top-left-radius:0;border-bottom-left-radius:0}.ng-select.ng-select-focused:not(.ng-select-opened)>.ng-select-container{border-color:#007eff;box-shadow:inset 0 1px 1px #00000013,0 0 0 3px #007eff1a}.ng-select.ng-select-disabled>.ng-select-container{background-color:#f9f9f9}.ng-select .ng-has-value .ng-placeholder{display:none}.ng-select .ng-select-container{color:#333;background-color:#fff;border-radius:4px;border:1px solid #ccc;min-height:36px;align-items:center}.ng-select .ng-select-container:hover{box-shadow:0 1px #0000000f}.ng-select .ng-select-container .ng-value-container{align-items:center;padding-left:10px}[dir=rtl] .ng-select .ng-select-container .ng-value-container{padding-right:10px;padding-left:0}.ng-select .ng-select-container .ng-value-container .ng-placeholder{color:#999}.ng-select.ng-select-single .ng-select-container{height:36px}.ng-select.ng-select-single .ng-select-container .ng-value-container .ng-input{top:5px;left:0;padding-left:10px;padding-right:50px}[dir=rtl] .ng-select.ng-select-single .ng-select-container .ng-value-container .ng-input{padding-right:10px;padding-left:50px}.ng-select.ng-select-multiple.ng-select-disabled>.ng-select-container .ng-value-container .ng-value{background-color:#f9f9f9;border:1px solid hsl(0,0%,90%)}.ng-select.ng-select-multiple.ng-select-disabled>.ng-select-container .ng-value-container .ng-value .ng-value-label{padding:0 5px}.ng-select.ng-select-multiple .ng-select-container .ng-value-container{padding-top:5px;padding-left:7px}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container{padding-right:7px;padding-left:0}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{font-size:.9em;margin-bottom:5px;color:#333;background-color:#ebf5ff;border-radius:2px;margin-right:5px}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{margin-right:0;margin-left:5px}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled{background-color:#f9f9f9}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled .ng-value-label{padding-left:5px}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled .ng-value-label{padding-left:0;padding-right:5px}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-label,.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon{display:inline-block;padding:1px 5px}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon:hover{background-color:#d1e8ff}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.left{border-right:1px solid rgb(183.6,218.88,255)}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.left{border-left:1px solid rgb(183.6,218.88,255);border-right:none}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.right{border-left:1px solid rgb(183.6,218.88,255)}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.right{border-left:0;border-right:1px solid rgb(183.6,218.88,255)}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input{padding:0 0 3px 3px}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input{padding:0 3px 3px 0}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input>input{color:#000}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{top:5px;padding-bottom:5px;padding-left:3px}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{padding-right:3px;padding-left:0}.ng-select .ng-clear-wrapper{color:#999}.ng-select .ng-clear-wrapper:hover .ng-clear{color:#d0021b}.ng-select .ng-clear-wrapper:focus .ng-clear{color:#d0021b}.ng-select .ng-clear-wrapper:focus{outline:none}.ng-select .ng-spinner-zone{padding:5px 5px 0 0}[dir=rtl] .ng-select .ng-spinner-zone{padding:5px 0 0 5px}.ng-select .ng-arrow-wrapper{width:25px;padding-right:5px}[dir=rtl] .ng-select .ng-arrow-wrapper{padding-left:5px;padding-right:0}.ng-select .ng-arrow-wrapper:hover .ng-arrow{border-top-color:#666}.ng-select .ng-arrow-wrapper .ng-arrow{border-color:#999 rgba(0,0,0,0) rgba(0,0,0,0);border-style:solid;border-width:5px 5px 2.5px}.ng-dropdown-panel{background-color:#fff;border:1px solid #ccc;box-shadow:0 1px #0000000f;left:0}.ng-dropdown-panel.ng-select-top{bottom:100%;border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-color:#e6e6e6;margin-bottom:-1px}.ng-dropdown-panel.ng-select-top .ng-dropdown-panel-items .ng-option:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.ng-dropdown-panel.ng-select-right{left:100%;top:0;border-top-right-radius:4px;border-bottom-right-radius:4px;border-bottom-left-radius:4px;border-bottom-color:#e6e6e6;margin-bottom:-1px}.ng-dropdown-panel.ng-select-right .ng-dropdown-panel-items .ng-option:first-child{border-top-right-radius:4px}.ng-dropdown-panel.ng-select-bottom{top:100%;border-bottom-right-radius:4px;border-bottom-left-radius:4px;border-top-color:#e6e6e6;margin-top:-1px}.ng-dropdown-panel.ng-select-bottom .ng-dropdown-panel-items .ng-option:last-child{border-bottom-right-radius:4px;border-bottom-left-radius:4px}.ng-dropdown-panel.ng-select-left{left:-100%;top:0;border-top-left-radius:4px;border-bottom-right-radius:4px;border-bottom-left-radius:4px;border-bottom-color:#e6e6e6;margin-bottom:-1px}.ng-dropdown-panel.ng-select-left .ng-dropdown-panel-items .ng-option:first-child{border-top-left-radius:4px}.ng-dropdown-panel .ng-dropdown-header{border-bottom:1px solid #ccc;padding:5px 7px}.ng-dropdown-panel .ng-dropdown-footer{border-top:1px solid #ccc;padding:5px 7px}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup{-webkit-user-select:none;user-select:none;padding:8px 10px;font-weight:500;color:#0000008a;cursor:pointer}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-disabled{cursor:default}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-marked{background-color:#f5faff}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-selected,.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-selected.ng-option-marked{color:#0000008a;background-color:#ebf5ff;font-weight:600}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option{background-color:#fff;color:#000000de;padding:8px 10px}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected,.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected.ng-option-marked{color:#333;background-color:#ebf5ff}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected .ng-option-label,.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected.ng-option-marked .ng-option-label{font-weight:600}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-marked{background-color:#f5faff;color:#333}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-disabled{color:#ccc}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-child{padding-left:22px}[dir=rtl] .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-child{padding-right:22px;padding-left:0}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .ng-tag-label{font-size:80%;font-weight:400;padding-right:5px}[dir=rtl] .ng-dropdown-panel .ng-dropdown-panel-items .ng-option .ng-tag-label{padding-left:5px;padding-right:0}[dir=rtl] .ng-dropdown-panel{direction:rtl;text-align:right}:root,[data-bs-theme=light]{--bs-blue: #0d6efd;--bs-indigo: #6610f2;--bs-purple: #6f42c1;--bs-pink: #d63384;--bs-red: rgb(234, 22, 31);--bs-orange: rgb(239, 124, 0);--bs-yellow: rgb(255, 168, 20);--bs-green: rgb(61, 134, 8);--bs-teal: #20c997;--bs-cyan: #0dcaf0;--bs-black: #000;--bs-white: #fff;--bs-gray: #6c757d;--bs-gray-dark: #343a40;--bs-gray-100: #f8f9fa;--bs-gray-200: #e9ecef;--bs-gray-300: #dee2e6;--bs-gray-400: #ced4da;--bs-gray-500: #adb5bd;--bs-gray-600: #6c757d;--bs-gray-700: #495057;--bs-gray-800: #343a40;--bs-gray-900: #212529;--bs-primary: rgba(78, 78, 78, .95);--bs-secondary: rgb(222, 222, 222);--bs-success: rgb(61, 134, 8);--bs-info: #0dcaf0;--bs-warning: rgb(255, 168, 20);--bs-danger: rgb(234, 22, 31);--bs-light: #f8f9fa;--bs-dark: #212529;--bs-primary-rgb: 78, 78, 78;--bs-secondary-rgb: 222, 222, 222;--bs-success-rgb: 61, 134, 8;--bs-info-rgb: 13, 202, 240;--bs-warning-rgb: 255, 168, 20;--bs-danger-rgb: 234, 22, 31;--bs-light-rgb: 248, 249, 250;--bs-dark-rgb: 33, 37, 41;--bs-primary-text-emphasis: rgba(29.3465346535, 29.3465346535, 29.3465346535, .98);--bs-secondary-text-emphasis: rgb(88.8, 88.8, 88.8);--bs-success-text-emphasis: rgb(24.4, 53.6, 3.2);--bs-info-text-emphasis: rgb(5.2, 80.8, 96);--bs-warning-text-emphasis: rgb(102, 67.2, 8);--bs-danger-text-emphasis: rgb(93.6, 8.8, 12.4);--bs-light-text-emphasis: #495057;--bs-dark-text-emphasis: #495057;--bs-primary-bg-subtle: rgba(222.3495145631, 222.3495145631, 222.3495145631, .99);--bs-secondary-bg-subtle: rgb(248.4, 248.4, 248.4);--bs-success-bg-subtle: rgb(216.2, 230.8, 205.6);--bs-info-bg-subtle: rgb(206.6, 244.4, 252);--bs-warning-bg-subtle: rgb(255, 237.6, 208);--bs-danger-bg-subtle: rgb(250.8, 208.4, 210.2);--bs-light-bg-subtle: rgb(251.5, 252, 252.5);--bs-dark-bg-subtle: #ced4da;--bs-primary-border-subtle: rgba(188.4059405941, 188.4059405941, 188.4059405941, .98);--bs-secondary-border-subtle: rgb(241.8, 241.8, 241.8);--bs-success-border-subtle: rgb(177.4, 206.6, 156.2);--bs-info-border-subtle: rgb(158.2, 233.8, 249);--bs-warning-border-subtle: rgb(255, 220.2, 161);--bs-danger-border-subtle: rgb(246.6, 161.8, 165.4);--bs-light-border-subtle: #e9ecef;--bs-dark-border-subtle: #adb5bd;--bs-white-rgb: 255, 255, 255;--bs-black-rgb: 0, 0, 0;--bs-font-sans-serif: "Roboto", sans-serif;--bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, .15), rgba(255, 255, 255, 0));--bs-body-font-family: var(--bs-font-sans-serif);--bs-body-font-size: 1rem;--bs-body-font-weight: 300;--bs-body-line-height: 1.625;--bs-body-color: rgb(0, 0, 0);--bs-body-color-rgb: 0, 0, 0;--bs-body-bg: rgb(255, 255, 255);--bs-body-bg-rgb: 255, 255, 255;--bs-emphasis-color: #000;--bs-emphasis-color-rgb: 0, 0, 0;--bs-secondary-color: rgba(0, 0, 0, .75);--bs-secondary-color-rgb: 0, 0, 0;--bs-secondary-bg: #e9ecef;--bs-secondary-bg-rgb: 233, 236, 239;--bs-tertiary-color: rgba(0, 0, 0, .5);--bs-tertiary-color-rgb: 0, 0, 0;--bs-tertiary-bg: #f8f9fa;--bs-tertiary-bg-rgb: 248, 249, 250;--bs-heading-color: inherit;--bs-link-color: rgb(0, 0, 0);--bs-link-color-rgb: 0, 0, 0;--bs-link-decoration: underline;--bs-link-hover-color: rgb(234, 22, 31);--bs-link-hover-color-rgb: 234, 22, 31;--bs-code-color: #d63384;--bs-highlight-color: rgb(0, 0, 0);--bs-highlight-bg: rgb(255, 237.6, 208);--bs-border-width: 1px;--bs-border-style: solid;--bs-border-color: #dee2e6;--bs-border-color-translucent: rgba(0, 0, 0, .175);--bs-border-radius: .375rem;--bs-border-radius-sm: .25rem;--bs-border-radius-lg: .5rem;--bs-border-radius-xl: 1rem;--bs-border-radius-xxl: 2rem;--bs-border-radius-2xl: var(--bs-border-radius-xxl);--bs-border-radius-pill: 50rem;--bs-box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15);--bs-box-shadow-sm: 0 .125rem .25rem rgba(0, 0, 0, .075);--bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, .175);--bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, .075);--bs-focus-ring-width: .25rem;--bs-focus-ring-opacity: .25;--bs-focus-ring-color: rgba(78, 78, 78, .25);--bs-form-valid-color: rgb(61, 134, 8);--bs-form-valid-border-color: rgb(61, 134, 8);--bs-form-invalid-color: rgb(234, 22, 31);--bs-form-invalid-border-color: rgb(234, 22, 31)}[data-bs-theme=dark]{color-scheme:dark;--bs-body-color: #dee2e6;--bs-body-color-rgb: 222, 226, 230;--bs-body-bg: #212529;--bs-body-bg-rgb: 33, 37, 41;--bs-emphasis-color: #fff;--bs-emphasis-color-rgb: 255, 255, 255;--bs-secondary-color: rgba(222, 226, 230, .75);--bs-secondary-color-rgb: 222, 226, 230;--bs-secondary-bg: #343a40;--bs-secondary-bg-rgb: 52, 58, 64;--bs-tertiary-color: rgba(222, 226, 230, .5);--bs-tertiary-color-rgb: 222, 226, 230;--bs-tertiary-bg: rgb(42.5, 47.5, 52.5);--bs-tertiary-bg-rgb: 43, 48, 53;--bs-primary-text-emphasis: rgba(153.0909090909, 153.0909090909, 153.0909090909, .97);--bs-secondary-text-emphasis: rgb(235.2, 235.2, 235.2);--bs-success-text-emphasis: rgb(138.6, 182.4, 106.8);--bs-info-text-emphasis: rgb(109.8, 223.2, 246);--bs-warning-text-emphasis: rgb(255, 202.8, 114);--bs-danger-text-emphasis: rgb(242.4, 115.2, 120.6);--bs-light-text-emphasis: #f8f9fa;--bs-dark-text-emphasis: #dee2e6;--bs-primary-bg-subtle: rgba(14.3883495146, 14.3883495146, 14.3883495146, .99);--bs-secondary-bg-subtle: rgb(44.4, 44.4, 44.4);--bs-success-bg-subtle: rgb(12.2, 26.8, 1.6);--bs-info-bg-subtle: rgb(2.6, 40.4, 48);--bs-warning-bg-subtle: rgb(51, 33.6, 4);--bs-danger-bg-subtle: rgb(46.8, 4.4, 6.2);--bs-light-bg-subtle: #343a40;--bs-dark-bg-subtle: #1a1d20;--bs-primary-border-subtle: rgba(44.9090909091, 44.9090909091, 44.9090909091, .97);--bs-secondary-border-subtle: rgb(133.2, 133.2, 133.2);--bs-success-border-subtle: rgb(36.6, 80.4, 4.8);--bs-info-border-subtle: rgb(7.8, 121.2, 144);--bs-warning-border-subtle: rgb(153, 100.8, 12);--bs-danger-border-subtle: rgb(140.4, 13.2, 18.6);--bs-light-border-subtle: #495057;--bs-dark-border-subtle: #343a40;--bs-heading-color: inherit;--bs-link-color: rgba(153.0909090909, 153.0909090909, 153.0909090909, .97);--bs-link-hover-color: rgba(174.4689872246, 174.4689872246, 174.4689872246, .976);--bs-link-color-rgb: 153, 153, 153;--bs-link-hover-color-rgb: 174, 174, 174;--bs-code-color: rgb(230.4, 132.6, 181.2);--bs-highlight-color: #dee2e6;--bs-highlight-bg: rgb(102, 67.2, 8);--bs-border-color: #495057;--bs-border-color-translucent: rgba(255, 255, 255, .15);--bs-form-valid-color: rgb(138.6, 182.4, 106.8);--bs-form-valid-border-color: rgb(138.6, 182.4, 106.8);--bs-form-invalid-color: rgb(242.4, 115.2, 120.6);--bs-form-invalid-border-color: rgb(242.4, 115.2, 120.6)}*,*:before,*:after{box-sizing:border-box}@media (prefers-reduced-motion: no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}hr{margin:1rem 0;color:inherit;border:0;border-top:var(--bs-border-width) solid;opacity:.25}h6,.h6,h5,.h5,h4,.h4,h3,.h3,h2,.h2,h1,.h1{margin-top:0;margin-bottom:.5rem;font-weight:300;line-height:1.2;color:var(--bs-heading-color)}h1,.h1{font-size:calc(1.4625rem + 2.55vw)}@media (min-width: 1200px){h1,.h1{font-size:3.375rem}}h2,.h2{font-size:calc(1.3125rem + .75vw)}@media (min-width: 1200px){h2,.h2{font-size:1.875rem}}h3,.h3{font-size:calc(1.2875rem + .45vw)}@media (min-width: 1200px){h3,.h3{font-size:1.625rem}}h4,.h4{font-size:calc(1.275rem + .3vw)}@media (min-width: 1200px){h4,.h4{font-size:1.5rem}}h5,.h5{font-size:calc(1.25625rem + .075vw)}@media (min-width: 1200px){h5,.h5{font-size:1.3125rem}}h6,.h6{font-size:1.125rem}p{margin-top:0;margin-bottom:1rem}abbr[title]{text-decoration:underline dotted;cursor:help;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}ol,ul,dl{margin-top:0;margin-bottom:1rem}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small,.small{font-size:.875em}mark,.mark{padding:.1875em;color:var(--bs-highlight-color);background-color:var(--bs-highlight-bg)}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity, 1));text-decoration:underline}a:hover{--bs-link-color-rgb: var(--bs-link-hover-color-rgb)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}pre,code,kbd,samp{font-family:var(--bs-font-monospace);font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:var(--bs-code-color);word-wrap:break-word}a>code{color:inherit}kbd{padding:.1875rem .375rem;font-size:.875em;color:var(--bs-body-bg);background-color:var(--bs-body-color);border-radius:.25rem}kbd kbd{padding:0;font-size:1em}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-secondary-color);text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}thead,tbody,tfoot,tr,td,th{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}input,button,select,optgroup,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none!important}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button:not(:disabled),[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width: 1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-text,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-1{font-size:5rem}}.display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-2{font-size:4.5rem}}.display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-3{font-size:4rem}}.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-4{font-size:3.5rem}}.display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-5{font-size:3rem}}.display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-6{font-size:2.5rem}}.list-unstyled,.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:.875em;color:#6c757d}.blockquote-footer:before{content:"\2014\a0"}:root{--bs-breakpoint-xs: 0;--bs-breakpoint-sm: 576px;--bs-breakpoint-md: 768px;--bs-breakpoint-lg: 992px;--bs-breakpoint-xl: 1200px;--bs-breakpoint-xxl: 1400px}.row{--bs-gutter-x: 1.5rem;--bs-gutter-y: 0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-.5 * var(--bs-gutter-x));margin-left:calc(-.5 * var(--bs-gutter-x))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.66666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--bs-gutter-x: 0}.g-0,.gy-0{--bs-gutter-y: 0}.g-1,.gx-1{--bs-gutter-x: .25rem}.g-1,.gy-1{--bs-gutter-y: .25rem}.g-2,.gx-2{--bs-gutter-x: .5rem}.g-2,.gy-2{--bs-gutter-y: .5rem}.g-3,.gx-3{--bs-gutter-x: 1rem}.g-3,.gy-3{--bs-gutter-y: 1rem}.g-4,.gx-4{--bs-gutter-x: 1.5rem}.g-4,.gy-4{--bs-gutter-y: 1.5rem}.g-5,.gx-5{--bs-gutter-x: 3rem}.g-5,.gy-5{--bs-gutter-y: 3rem}@media (min-width: 576px){.col-sm{flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.66666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x: 0}.g-sm-0,.gy-sm-0{--bs-gutter-y: 0}.g-sm-1,.gx-sm-1{--bs-gutter-x: .25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y: .25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x: .5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y: .5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x: 1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y: 1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x: 1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y: 1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x: 3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y: 3rem}}@media (min-width: 768px){.col-md{flex:1 0 0%}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.66666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x: 0}.g-md-0,.gy-md-0{--bs-gutter-y: 0}.g-md-1,.gx-md-1{--bs-gutter-x: .25rem}.g-md-1,.gy-md-1{--bs-gutter-y: .25rem}.g-md-2,.gx-md-2{--bs-gutter-x: .5rem}.g-md-2,.gy-md-2{--bs-gutter-y: .5rem}.g-md-3,.gx-md-3{--bs-gutter-x: 1rem}.g-md-3,.gy-md-3{--bs-gutter-y: 1rem}.g-md-4,.gx-md-4{--bs-gutter-x: 1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y: 1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x: 3rem}.g-md-5,.gy-md-5{--bs-gutter-y: 3rem}}@media (min-width: 992px){.col-lg{flex:1 0 0%}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.66666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x: 0}.g-lg-0,.gy-lg-0{--bs-gutter-y: 0}.g-lg-1,.gx-lg-1{--bs-gutter-x: .25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y: .25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x: .5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y: .5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x: 1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y: 1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x: 1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y: 1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x: 3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y: 3rem}}@media (min-width: 1200px){.col-xl{flex:1 0 0%}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.66666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x: 0}.g-xl-0,.gy-xl-0{--bs-gutter-y: 0}.g-xl-1,.gx-xl-1{--bs-gutter-x: .25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y: .25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x: .5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y: .5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x: 1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y: 1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x: 1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y: 1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x: 3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y: 3rem}}@media (min-width: 1400px){.col-xxl{flex:1 0 0%}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.66666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x: 0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y: 0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x: .25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y: .25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x: .5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y: .5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x: 1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y: 1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x: 1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y: 1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x: 3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y: 3rem}}.table{--bs-table-color-type: initial;--bs-table-bg-type: initial;--bs-table-color-state: initial;--bs-table-bg-state: initial;--bs-table-color: var(--bs-emphasis-color);--bs-table-bg: var(--bs-body-bg);--bs-table-border-color: var(--bs-border-color);--bs-table-accent-bg: transparent;--bs-table-striped-color: var(--bs-emphasis-color);--bs-table-striped-bg: rgba(var(--bs-emphasis-color-rgb), .05);--bs-table-active-color: var(--bs-emphasis-color);--bs-table-active-bg: rgba(var(--bs-emphasis-color-rgb), .1);--bs-table-hover-color: var(--bs-emphasis-color);--bs-table-hover-bg: rgba(var(--bs-emphasis-color-rgb), .075);width:100%;margin-bottom:1rem;vertical-align:top;border-color:var(--bs-table-border-color)}.table>:not(caption)>*>*{padding:.5rem;color:var(--bs-table-color-state, var(--bs-table-color-type, var(--bs-table-color)));background-color:var(--bs-table-bg);border-bottom-width:var(--bs-border-width);box-shadow:inset 0 0 0 9999px var(--bs-table-bg-state, var(--bs-table-bg-type, var(--bs-table-accent-bg)))}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table-group-divider{border-top:calc(var(--bs-border-width) * 2) solid currentcolor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem}.table-bordered>:not(caption)>*{border-width:var(--bs-border-width) 0}.table-bordered>:not(caption)>*>*{border-width:0 var(--bs-border-width)}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-borderless>:not(:first-child){border-top-width:0}.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-color-type: var(--bs-table-striped-color);--bs-table-bg-type: var(--bs-table-striped-bg)}.table-striped-columns>:not(caption)>tr>:nth-child(2n){--bs-table-color-type: var(--bs-table-striped-color);--bs-table-bg-type: var(--bs-table-striped-bg)}.table-active{--bs-table-color-state: var(--bs-table-active-color);--bs-table-bg-state: var(--bs-table-active-bg)}.table-hover>tbody>tr:hover>*{--bs-table-color-state: var(--bs-table-hover-color);--bs-table-bg-state: var(--bs-table-hover-bg)}.table-primary{--bs-table-color: #000;--bs-table-bg: rgba(222.3495145631, 222.3495145631, 222.3495145631, .99);--bs-table-border-color: rgba(177.1637983239, 177.1637983239, 177.1637983239, .992);--bs-table-striped-bg: rgba(211.0188884426, 211.0188884426, 211.0188884426, .9905);--bs-table-striped-color: #000;--bs-table-active-bg: rgba(199.7111063263, 199.7111063263, 199.7111063263, .991);--bs-table-active-color: #000;--bs-table-hover-bg: rgba(205.3621462039, 205.3621462039, 205.3621462039, .99075);--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-secondary{--bs-table-color: #000;--bs-table-bg: rgb(248.4, 248.4, 248.4);--bs-table-border-color: rgb(198.72, 198.72, 198.72);--bs-table-striped-bg: rgb(235.98, 235.98, 235.98);--bs-table-striped-color: #000;--bs-table-active-bg: rgb(223.56, 223.56, 223.56);--bs-table-active-color: #000;--bs-table-hover-bg: rgb(229.77, 229.77, 229.77);--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-success{--bs-table-color: #000;--bs-table-bg: rgb(216.2, 230.8, 205.6);--bs-table-border-color: rgb(172.96, 184.64, 164.48);--bs-table-striped-bg: rgb(205.39, 219.26, 195.32);--bs-table-striped-color: #000;--bs-table-active-bg: rgb(194.58, 207.72, 185.04);--bs-table-active-color: #000;--bs-table-hover-bg: rgb(199.985, 213.49, 190.18);--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-info{--bs-table-color: #000;--bs-table-bg: rgb(206.6, 244.4, 252);--bs-table-border-color: rgb(165.28, 195.52, 201.6);--bs-table-striped-bg: rgb(196.27, 232.18, 239.4);--bs-table-striped-color: #000;--bs-table-active-bg: rgb(185.94, 219.96, 226.8);--bs-table-active-color: #000;--bs-table-hover-bg: rgb(191.105, 226.07, 233.1);--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-warning{--bs-table-color: #000;--bs-table-bg: rgb(255, 237.6, 208);--bs-table-border-color: rgb(204, 190.08, 166.4);--bs-table-striped-bg: rgb(242.25, 225.72, 197.6);--bs-table-striped-color: #000;--bs-table-active-bg: rgb(229.5, 213.84, 187.2);--bs-table-active-color: #000;--bs-table-hover-bg: rgb(235.875, 219.78, 192.4);--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-danger{--bs-table-color: #000;--bs-table-bg: rgb(250.8, 208.4, 210.2);--bs-table-border-color: rgb(200.64, 166.72, 168.16);--bs-table-striped-bg: rgb(238.26, 197.98, 199.69);--bs-table-striped-color: #000;--bs-table-active-bg: rgb(225.72, 187.56, 189.18);--bs-table-active-color: #000;--bs-table-hover-bg: rgb(231.99, 192.77, 194.435);--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-light{--bs-table-color: #000;--bs-table-bg: #f8f9fa;--bs-table-border-color: rgb(198.4, 199.2, 200);--bs-table-striped-bg: rgb(235.6, 236.55, 237.5);--bs-table-striped-color: #000;--bs-table-active-bg: rgb(223.2, 224.1, 225);--bs-table-active-color: #000;--bs-table-hover-bg: rgb(229.4, 230.325, 231.25);--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-dark{--bs-table-color: #fff;--bs-table-bg: #212529;--bs-table-border-color: rgb(77.4, 80.6, 83.8);--bs-table-striped-bg: rgb(44.1, 47.9, 51.7);--bs-table-striped-color: #fff;--bs-table-active-bg: rgb(55.2, 58.8, 62.4);--bs-table-active-color: #fff;--bs-table-hover-bg: rgb(49.65, 53.35, 57.05);--bs-table-hover-color: #fff;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width: 575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(.375rem + var(--bs-border-width));padding-bottom:calc(.375rem + var(--bs-border-width));margin-bottom:0;font-size:inherit;line-height:1.625}.col-form-label-lg{padding-top:calc(.5rem + var(--bs-border-width));padding-bottom:calc(.5rem + var(--bs-border-width));font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + var(--bs-border-width));padding-bottom:calc(.25rem + var(--bs-border-width));font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:var(--bs-secondary-color)}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:300;line-height:1.625;color:var(--bs-body-color);appearance:none;background-color:var(--bs-body-bg);background-clip:padding-box;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:0;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:var(--bs-body-color);background-color:var(--bs-body-bg);border-color:#abababf9;outline:0;box-shadow:0 0 0 .25rem #4e4e4e40}.form-control::-webkit-date-and-time-value{min-width:85px;height:1.625em;margin:0}.form-control::-webkit-datetime-edit{display:block;padding:0}.form-control::placeholder{color:var(--bs-secondary-color);opacity:1}.form-control:disabled{background-color:var(--bs-secondary-bg);opacity:1}.form-control::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;margin-inline-end:.75rem;color:var(--bs-body-color);background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:var(--bs-secondary-bg)}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.625;color:var(--bs-body-color);background-color:transparent;border:solid transparent;border-width:var(--bs-border-width) 0}.form-control-plaintext:focus{outline:0}.form-control-plaintext.form-control-sm,.form-control-plaintext.form-control-lg{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.625em + .5rem + calc(var(--bs-border-width) * 2));padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.625em + 1rem + calc(var(--bs-border-width) * 2));padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.625em + .75rem + calc(var(--bs-border-width) * 2))}textarea.form-control-sm{min-height:calc(1.625em + .5rem + calc(var(--bs-border-width) * 2))}textarea.form-control-lg{min-height:calc(1.625em + 1rem + calc(var(--bs-border-width) * 2))}.form-control-color{width:3rem;height:calc(1.625em + .75rem + calc(var(--bs-border-width) * 2));padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{border:0!important;border-radius:0}.form-control-color::-webkit-color-swatch{border:0!important;border-radius:0}.form-control-color.form-control-sm{height:calc(1.625em + .5rem + calc(var(--bs-border-width) * 2))}.form-control-color.form-control-lg{height:calc(1.625em + 1rem + calc(var(--bs-border-width) * 2))}.form-select{--bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;font-size:1rem;font-weight:300;line-height:1.625;color:var(--bs-body-color);appearance:none;background-color:var(--bs-body-bg);background-image:var(--bs-form-select-bg-img),var(--bs-form-select-bg-icon, none);background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:0;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-select{transition:none}}.form-select:focus{border-color:#abababf9;outline:0;box-shadow:0 0 0 .25rem #4e4e4e40}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}.form-select:disabled{background-color:var(--bs-secondary-bg)}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 var(--bs-body-color)}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}[data-bs-theme=dark] .form-select{--bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")}.form-check{display:block;min-height:1.625rem;padding-left:1.5em;margin-bottom:1rem}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-reverse{padding-right:1.5em;padding-left:0;text-align:right}.form-check-reverse .form-check-input{float:right;margin-right:-1.5em;margin-left:0}.form-check-input{--bs-form-check-bg: var(--bs-body-bg);flex-shrink:0;width:1em;height:1em;margin-top:.3125em;vertical-align:top;appearance:none;background-color:var(--bs-form-check-bg);background-image:var(--bs-form-check-bg-image);background-repeat:no-repeat;background-position:center;background-size:contain;border:var(--bs-border-width) solid var(--bs-border-color);-webkit-print-color-adjust:exact;print-color-adjust:exact}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#abababf9;outline:0;box-shadow:0 0 0 .25rem #4e4e4e40}.form-check-input:checked{background-color:#4e4e4ef2;border-color:#4e4e4ef2}.form-check-input:checked[type=checkbox]{--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:#4e4e4ef2;border-color:#4e4e4ef2;--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input[disabled]~.form-check-label,.form-check-input:disabled~.form-check-label{cursor:default;opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");width:2em;margin-left:-2.5em;background-image:var(--bs-form-switch-bg);background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28170.925, 170.925, 170.925, 0.975%29'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.form-switch.form-check-reverse{padding-right:2.5em;padding-left:0}.form-switch.form-check-reverse .form-check-input{margin-right:-2.5em;margin-left:0}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.btn-check[disabled]+.btn,.btn-check:disabled+.btn{pointer-events:none;filter:none;opacity:.65}[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus){--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e")}.form-range{width:100%;height:1.5rem;padding:0;appearance:none;background-color:transparent}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem #4e4e4e40}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem #4e4e4e40}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;appearance:none;background-color:#4e4e4ef2;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-range::-webkit-slider-thumb{transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#cececefb}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-secondary-bg);border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;appearance:none;background-color:#4e4e4ef2;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-range::-moz-range-thumb{transition:none}}.form-range::-moz-range-thumb:active{background-color:#cececefb}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-secondary-bg);border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:var(--bs-secondary-color)}.form-range:disabled::-moz-range-thumb{background-color:var(--bs-secondary-color)}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-control-plaintext,.form-floating>.form-select{height:calc(3.5rem + calc(var(--bs-border-width) * 2));min-height:calc(3.5rem + calc(var(--bs-border-width) * 2));line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;z-index:2;height:100%;padding:1rem .75rem;overflow:hidden;text-align:start;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;border:var(--bs-border-width) solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media (prefers-reduced-motion: reduce){.form-floating>label{transition:none}}.form-floating>.form-control,.form-floating>.form-control-plaintext{padding:1rem .75rem}.form-floating>.form-control::placeholder,.form-floating>.form-control-plaintext::placeholder{color:transparent}.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown),.form-floating>.form-control-plaintext:focus,.form-floating>.form-control-plaintext:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:-webkit-autofill,.form-floating>.form-control-plaintext:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-control-plaintext~label,.form-floating>.form-select~label{color:rgba(var(--bs-body-color-rgb),.65);transform:scale(.85) translateY(-.5rem) translate(.15rem)}.form-floating>.form-control:focus~label:after,.form-floating>.form-control:not(:placeholder-shown)~label:after,.form-floating>.form-control-plaintext~label:after,.form-floating>.form-select~label:after{position:absolute;inset:1rem .375rem;z-index:-1;height:1.5em;content:"";background-color:var(--bs-body-bg);border-radius:0}.form-floating>.form-control:-webkit-autofill~label{color:rgba(var(--bs-body-color-rgb),.65);transform:scale(.85) translateY(-.5rem) translate(.15rem)}.form-floating>.form-control-plaintext~label{border-width:var(--bs-border-width) 0}.form-floating>:disabled~label,.form-floating>.form-control:disabled~label{color:#6c757d}.form-floating>:disabled~label:after,.form-floating>.form-control:disabled~label:after{background-color:var(--bs-secondary-bg)}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-select,.input-group>.form-floating{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-select:focus,.input-group>.form-floating:focus-within{z-index:5}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:5}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:300;line-height:1.625;color:var(--bs-body-color);text-align:center;white-space:nowrap;background-color:var(--bs-tertiary-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:0}.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text,.input-group-lg>.btn{padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text,.input-group-sm>.btn{padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-control,.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select{border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-control,.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-select{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:calc(var(--bs-border-width) * -1);border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.form-floating:not(:first-child)>.form-control,.input-group>.form-floating:not(:first-child)>.form-select{border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-valid-color)}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-success);border-radius:var(--bs-border-radius)}.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip,.is-valid~.valid-feedback,.is-valid~.valid-tooltip{display:block}.was-validated .form-control:valid,.form-control.is-valid{border-color:var(--bs-form-valid-border-color);padding-right:calc(1.625em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='rgb%2861, 134, 8%29' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.40625em + .1875rem) center;background-size:calc(.8125em + .375rem) calc(.8125em + .375rem)}.was-validated .form-control:valid:focus,.form-control.is-valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.625em + .75rem);background-position:top calc(.40625em + .1875rem) right calc(.40625em + .1875rem)}.was-validated .form-select:valid,.form-select.is-valid{border-color:var(--bs-form-valid-border-color)}.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"],.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"]{--bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='rgb%2861, 134, 8%29' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.8125em + .375rem) calc(.8125em + .375rem)}.was-validated .form-select:valid:focus,.form-select.is-valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated .form-control-color:valid,.form-control-color.is-valid{width:calc(3.75rem + 1.625em)}.was-validated .form-check-input:valid,.form-check-input.is-valid{border-color:var(--bs-form-valid-border-color)}.was-validated .form-check-input:valid:checked,.form-check-input.is-valid:checked{background-color:var(--bs-form-valid-color)}.was-validated .form-check-input:valid:focus,.form-check-input.is-valid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated .form-check-input:valid~.form-check-label,.form-check-input.is-valid~.form-check-label{color:var(--bs-form-valid-color)}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.was-validated .input-group>.form-control:not(:focus):valid,.input-group>.form-control:not(:focus).is-valid,.was-validated .input-group>.form-select:not(:focus):valid,.input-group>.form-select:not(:focus).is-valid,.was-validated .input-group>.form-floating:not(:focus-within):valid,.input-group>.form-floating:not(:focus-within).is-valid{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-invalid-color)}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-danger);border-radius:var(--bs-border-radius)}.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip,.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip{display:block}.was-validated .form-control:invalid,.form-control.is-invalid{border-color:var(--bs-form-invalid-border-color);padding-right:calc(1.625em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='rgb%28234, 22, 31%29'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='rgb%28234, 22, 31%29' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.40625em + .1875rem) center;background-size:calc(.8125em + .375rem) calc(.8125em + .375rem)}.was-validated .form-control:invalid:focus,.form-control.is-invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.625em + .75rem);background-position:top calc(.40625em + .1875rem) right calc(.40625em + .1875rem)}.was-validated .form-select:invalid,.form-select.is-invalid{border-color:var(--bs-form-invalid-border-color)}.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"],.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"]{--bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='rgb%28234, 22, 31%29'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='rgb%28234, 22, 31%29' stroke='none'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.8125em + .375rem) calc(.8125em + .375rem)}.was-validated .form-select:invalid:focus,.form-select.is-invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated .form-control-color:invalid,.form-control-color.is-invalid{width:calc(3.75rem + 1.625em)}.was-validated .form-check-input:invalid,.form-check-input.is-invalid{border-color:var(--bs-form-invalid-border-color)}.was-validated .form-check-input:invalid:checked,.form-check-input.is-invalid:checked{background-color:var(--bs-form-invalid-color)}.was-validated .form-check-input:invalid:focus,.form-check-input.is-invalid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated .form-check-input:invalid~.form-check-label,.form-check-input.is-invalid~.form-check-label{color:var(--bs-form-invalid-color)}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.was-validated .input-group>.form-control:not(:focus):invalid,.input-group>.form-control:not(:focus).is-invalid,.was-validated .input-group>.form-select:not(:focus):invalid,.input-group>.form-select:not(:focus).is-invalid,.was-validated .input-group>.form-floating:not(:focus-within):invalid,.input-group>.form-floating:not(:focus-within).is-invalid{z-index:4}.btn{--bs-btn-padding-x: 1.5rem;--bs-btn-padding-y: .375rem;--bs-btn-font-family: ;--bs-btn-font-size: 1rem;--bs-btn-font-weight: 400;--bs-btn-line-height: 1.625;--bs-btn-color: var(--bs-body-color);--bs-btn-bg: transparent;--bs-btn-border-width: var(--bs-border-width);--bs-btn-border-color: transparent;--bs-btn-border-radius: 2.5rem;--bs-btn-hover-border-color: transparent;--bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075);--bs-btn-disabled-opacity: .25;--bs-btn-focus-box-shadow: 0 0 0 .25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);display:inline-block;padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);font-family:var(--bs-btn-font-family);font-size:var(--bs-btn-font-size);font-weight:var(--bs-btn-font-weight);line-height:var(--bs-btn-line-height);color:var(--bs-btn-color);text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;user-select:none;border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);border-radius:var(--bs-btn-border-radius);background-color:var(--bs-btn-bg);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.btn{transition:none}}.btn:hover{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color)}.btn-check+.btn:hover{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color)}.btn:focus-visible{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:focus-visible+.btn{border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked+.btn,:not(.btn-check)+.btn:active,.btn:first-child:active,.btn.active,.btn.show{color:var(--bs-btn-active-color);background-color:var(--bs-btn-active-bg);border-color:var(--bs-btn-active-border-color)}.btn-check:checked+.btn:focus-visible,:not(.btn-check)+.btn:active:focus-visible,.btn:first-child:active:focus-visible,.btn.active:focus-visible,.btn.show:focus-visible{box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked:focus-visible+.btn{box-shadow:var(--bs-btn-focus-box-shadow)}.btn:disabled,.btn.disabled,fieldset:disabled .btn{color:var(--bs-btn-disabled-color);pointer-events:none;background-color:var(--bs-btn-disabled-bg);border-color:var(--bs-btn-disabled-border-color);opacity:var(--bs-btn-disabled-opacity)}.btn-primary{--bs-btn-color: #fff;--bs-btn-bg: rgba(78, 78, 78, .95);--bs-btn-border-color: rgba(78, 78, 78, .95);--bs-btn-hover-color: #fff;--bs-btn-hover-bg: rgba(65.2694300518, 65.2694300518, 65.2694300518, .9575);--bs-btn-hover-border-color: rgba(61.1134020619, 61.1134020619, 61.1134020619, .96);--bs-btn-focus-shadow-rgb: 107, 107, 107;--bs-btn-active-color: #fff;--bs-btn-active-bg: rgba(61.1134020619, 61.1134020619, 61.1134020619, .96);--bs-btn-active-border-color: rgba(57, 57, 57, .9625);--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: rgba(78, 78, 78, .95);--bs-btn-disabled-border-color: rgba(78, 78, 78, .95)}.btn-secondary{--bs-btn-color: #000;--bs-btn-bg: rgb(222, 222, 222);--bs-btn-border-color: rgb(222, 222, 222);--bs-btn-hover-color: #000;--bs-btn-hover-bg: rgb(226.95, 226.95, 226.95);--bs-btn-hover-border-color: rgb(225.3, 225.3, 225.3);--bs-btn-focus-shadow-rgb: 189, 189, 189;--bs-btn-active-color: #000;--bs-btn-active-bg: rgb(228.6, 228.6, 228.6);--bs-btn-active-border-color: rgb(225.3, 225.3, 225.3);--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: rgb(222, 222, 222);--bs-btn-disabled-border-color: rgb(222, 222, 222)}.btn-success{--bs-btn-color: #fff;--bs-btn-bg: rgb(61, 134, 8);--bs-btn-border-color: rgb(61, 134, 8);--bs-btn-hover-color: #fff;--bs-btn-hover-bg: rgb(51.85, 113.9, 6.8);--bs-btn-hover-border-color: rgb(48.8, 107.2, 6.4);--bs-btn-focus-shadow-rgb: 90, 152, 45;--bs-btn-active-color: #fff;--bs-btn-active-bg: rgb(48.8, 107.2, 6.4);--bs-btn-active-border-color: rgb(45.75, 100.5, 6);--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: rgb(61, 134, 8);--bs-btn-disabled-border-color: rgb(61, 134, 8)}.btn-info{--bs-btn-color: #000;--bs-btn-bg: #0dcaf0;--bs-btn-border-color: #0dcaf0;--bs-btn-hover-color: #000;--bs-btn-hover-bg: rgb(49.3, 209.95, 242.25);--bs-btn-hover-border-color: rgb(37.2, 207.3, 241.5);--bs-btn-focus-shadow-rgb: 11, 172, 204;--bs-btn-active-color: #000;--bs-btn-active-bg: rgb(61.4, 212.6, 243);--bs-btn-active-border-color: rgb(37.2, 207.3, 241.5);--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #0dcaf0;--bs-btn-disabled-border-color: #0dcaf0}.btn-warning{--bs-btn-color: #000;--bs-btn-bg: rgb(255, 168, 20);--bs-btn-border-color: rgb(255, 168, 20);--bs-btn-hover-color: #000;--bs-btn-hover-bg: rgb(255, 181.05, 55.25);--bs-btn-hover-border-color: rgb(255, 176.7, 43.5);--bs-btn-focus-shadow-rgb: 217, 143, 17;--bs-btn-active-color: #000;--bs-btn-active-bg: rgb(255, 185.4, 67);--bs-btn-active-border-color: rgb(255, 176.7, 43.5);--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: rgb(255, 168, 20);--bs-btn-disabled-border-color: rgb(255, 168, 20)}.btn-danger{--bs-btn-color: #fff;--bs-btn-bg: rgb(234, 22, 31);--bs-btn-border-color: rgb(234, 22, 31);--bs-btn-hover-color: #fff;--bs-btn-hover-bg: rgb(198.9, 18.7, 26.35);--bs-btn-hover-border-color: rgb(187.2, 17.6, 24.8);--bs-btn-focus-shadow-rgb: 237, 57, 65;--bs-btn-active-color: #fff;--bs-btn-active-bg: rgb(187.2, 17.6, 24.8);--bs-btn-active-border-color: rgb(175.5, 16.5, 23.25);--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: rgb(234, 22, 31);--bs-btn-disabled-border-color: rgb(234, 22, 31)}.btn-light{--bs-btn-color: #000;--bs-btn-bg: #f8f9fa;--bs-btn-border-color: #f8f9fa;--bs-btn-hover-color: #000;--bs-btn-hover-bg: rgb(210.8, 211.65, 212.5);--bs-btn-hover-border-color: rgb(198.4, 199.2, 200);--bs-btn-focus-shadow-rgb: 211, 212, 213;--bs-btn-active-color: #000;--bs-btn-active-bg: rgb(198.4, 199.2, 200);--bs-btn-active-border-color: rgb(186, 186.75, 187.5);--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #f8f9fa;--bs-btn-disabled-border-color: #f8f9fa}.btn-dark{--bs-btn-color: #fff;--bs-btn-bg: #212529;--bs-btn-border-color: #212529;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: rgb(66.3, 69.7, 73.1);--bs-btn-hover-border-color: rgb(55.2, 58.8, 62.4);--bs-btn-focus-shadow-rgb: 66, 70, 73;--bs-btn-active-color: #fff;--bs-btn-active-bg: rgb(77.4, 80.6, 83.8);--bs-btn-active-border-color: rgb(55.2, 58.8, 62.4);--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #212529;--bs-btn-disabled-border-color: #212529}.btn-outline-primary{--bs-btn-color: rgba(78, 78, 78, .95);--bs-btn-border-color: rgba(78, 78, 78, .95);--bs-btn-hover-color: #fff;--bs-btn-hover-bg: rgba(78, 78, 78, .95);--bs-btn-hover-border-color: rgba(78, 78, 78, .95);--bs-btn-focus-shadow-rgb: 78, 78, 78;--bs-btn-active-color: #fff;--bs-btn-active-bg: rgba(78, 78, 78, .95);--bs-btn-active-border-color: rgba(78, 78, 78, .95);--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: rgba(78, 78, 78, .95);--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: rgba(78, 78, 78, .95);--bs-gradient: none}.btn-outline-secondary{--bs-btn-color: rgb(222, 222, 222);--bs-btn-border-color: rgb(222, 222, 222);--bs-btn-hover-color: #000;--bs-btn-hover-bg: rgb(222, 222, 222);--bs-btn-hover-border-color: rgb(222, 222, 222);--bs-btn-focus-shadow-rgb: 222, 222, 222;--bs-btn-active-color: #000;--bs-btn-active-bg: rgb(222, 222, 222);--bs-btn-active-border-color: rgb(222, 222, 222);--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: rgb(222, 222, 222);--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: rgb(222, 222, 222);--bs-gradient: none}.btn-outline-success{--bs-btn-color: rgb(61, 134, 8);--bs-btn-border-color: rgb(61, 134, 8);--bs-btn-hover-color: #fff;--bs-btn-hover-bg: rgb(61, 134, 8);--bs-btn-hover-border-color: rgb(61, 134, 8);--bs-btn-focus-shadow-rgb: 61, 134, 8;--bs-btn-active-color: #fff;--bs-btn-active-bg: rgb(61, 134, 8);--bs-btn-active-border-color: rgb(61, 134, 8);--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: rgb(61, 134, 8);--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: rgb(61, 134, 8);--bs-gradient: none}.btn-outline-info{--bs-btn-color: #0dcaf0;--bs-btn-border-color: #0dcaf0;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #0dcaf0;--bs-btn-hover-border-color: #0dcaf0;--bs-btn-focus-shadow-rgb: 13, 202, 240;--bs-btn-active-color: #000;--bs-btn-active-bg: #0dcaf0;--bs-btn-active-border-color: #0dcaf0;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #0dcaf0;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #0dcaf0;--bs-gradient: none}.btn-outline-warning{--bs-btn-color: rgb(255, 168, 20);--bs-btn-border-color: rgb(255, 168, 20);--bs-btn-hover-color: #000;--bs-btn-hover-bg: rgb(255, 168, 20);--bs-btn-hover-border-color: rgb(255, 168, 20);--bs-btn-focus-shadow-rgb: 255, 168, 20;--bs-btn-active-color: #000;--bs-btn-active-bg: rgb(255, 168, 20);--bs-btn-active-border-color: rgb(255, 168, 20);--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: rgb(255, 168, 20);--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: rgb(255, 168, 20);--bs-gradient: none}.btn-outline-danger{--bs-btn-color: rgb(234, 22, 31);--bs-btn-border-color: rgb(234, 22, 31);--bs-btn-hover-color: #fff;--bs-btn-hover-bg: rgb(234, 22, 31);--bs-btn-hover-border-color: rgb(234, 22, 31);--bs-btn-focus-shadow-rgb: 234, 22, 31;--bs-btn-active-color: #fff;--bs-btn-active-bg: rgb(234, 22, 31);--bs-btn-active-border-color: rgb(234, 22, 31);--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: rgb(234, 22, 31);--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: rgb(234, 22, 31);--bs-gradient: none}.btn-outline-light{--bs-btn-color: #f8f9fa;--bs-btn-border-color: #f8f9fa;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #f8f9fa;--bs-btn-hover-border-color: #f8f9fa;--bs-btn-focus-shadow-rgb: 248, 249, 250;--bs-btn-active-color: #000;--bs-btn-active-bg: #f8f9fa;--bs-btn-active-border-color: #f8f9fa;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #f8f9fa;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #f8f9fa;--bs-gradient: none}.btn-outline-dark{--bs-btn-color: #212529;--bs-btn-border-color: #212529;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #212529;--bs-btn-hover-border-color: #212529;--bs-btn-focus-shadow-rgb: 33, 37, 41;--bs-btn-active-color: #fff;--bs-btn-active-bg: #212529;--bs-btn-active-border-color: #212529;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #212529;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #212529;--bs-gradient: none}.btn-link{--bs-btn-font-weight: 400;--bs-btn-color: var(--bs-link-color);--bs-btn-bg: transparent;--bs-btn-border-color: transparent;--bs-btn-hover-color: var(--bs-link-hover-color);--bs-btn-hover-border-color: transparent;--bs-btn-active-color: var(--bs-link-hover-color);--bs-btn-active-border-color: transparent;--bs-btn-disabled-color: #6c757d;--bs-btn-disabled-border-color: transparent;--bs-btn-box-shadow: 0 0 0 #000;--bs-btn-focus-shadow-rgb: 38, 38, 38;text-decoration:underline}.btn-link:focus-visible{color:var(--bs-btn-color)}.btn-link:hover{color:var(--bs-btn-hover-color)}.btn-lg{--bs-btn-padding-y: .5rem;--bs-btn-padding-x: 1rem;--bs-btn-font-size: 1.25rem;--bs-btn-border-radius: var(--bs-border-radius-lg)}.btn-sm{--bs-btn-padding-y: .25rem;--bs-btn-padding-x: .5rem;--bs-btn-font-size: .875rem;--bs-btn-border-radius: var(--bs-border-radius-sm)}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion: reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion: reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media (prefers-reduced-motion: reduce){.collapsing.collapse-horizontal{transition:none}}.dropup,.dropend,.dropdown,.dropstart,.dropup-center,.dropdown-center{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty:after{margin-left:0}.dropdown-menu{--bs-dropdown-zindex: 1000;--bs-dropdown-min-width: 10rem;--bs-dropdown-padding-x: 0;--bs-dropdown-padding-y: .5rem;--bs-dropdown-spacer: .125rem;--bs-dropdown-font-size: 1rem;--bs-dropdown-color: var(--bs-body-color);--bs-dropdown-bg: var(--bs-body-bg);--bs-dropdown-border-color: var(--bs-border-color-translucent);--bs-dropdown-border-radius: var(--bs-border-radius);--bs-dropdown-border-width: var(--bs-border-width);--bs-dropdown-inner-border-radius: calc(var(--bs-border-radius) - var(--bs-border-width));--bs-dropdown-divider-bg: var(--bs-border-color-translucent);--bs-dropdown-divider-margin-y: .5rem;--bs-dropdown-box-shadow: var(--bs-box-shadow);--bs-dropdown-link-color: var(--bs-body-color);--bs-dropdown-link-hover-color: var(--bs-body-color);--bs-dropdown-link-hover-bg: var(--bs-tertiary-bg);--bs-dropdown-link-active-color: #fff;--bs-dropdown-link-active-bg: rgba(78, 78, 78, .95);--bs-dropdown-link-disabled-color: var(--bs-tertiary-color);--bs-dropdown-item-padding-x: 1rem;--bs-dropdown-item-padding-y: .25rem;--bs-dropdown-header-color: #6c757d;--bs-dropdown-header-padding-x: 1rem;--bs-dropdown-header-padding-y: .5rem;position:absolute;z-index:var(--bs-dropdown-zindex);display:none;min-width:var(--bs-dropdown-min-width);padding:var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);margin:0;font-size:var(--bs-dropdown-font-size);color:var(--bs-dropdown-color);text-align:left;list-style:none;background-color:var(--bs-dropdown-bg);background-clip:padding-box;border:var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);border-radius:var(--bs-dropdown-border-radius)}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:var(--bs-dropdown-spacer)}.dropdown-menu-start{--bs-position: start}.dropdown-menu-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-end{--bs-position: end}.dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media (min-width: 576px){.dropdown-menu-sm-start{--bs-position: start}.dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-sm-end{--bs-position: end}.dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 768px){.dropdown-menu-md-start{--bs-position: start}.dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-md-end{--bs-position: end}.dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 992px){.dropdown-menu-lg-start{--bs-position: start}.dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-lg-end{--bs-position: end}.dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 1200px){.dropdown-menu-xl-start{--bs-position: start}.dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xl-end{--bs-position: end}.dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 1400px){.dropdown-menu-xxl-start{--bs-position: start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xxl-end{--bs-position: end}.dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:var(--bs-dropdown-spacer)}.dropup .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty:after{margin-left:0}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:var(--bs-dropdown-spacer)}.dropend .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropend .dropdown-toggle:empty:after{margin-left:0}.dropend .dropdown-toggle:after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:var(--bs-dropdown-spacer)}.dropstart .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle:after{display:none}.dropstart .dropdown-toggle:before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropstart .dropdown-toggle:empty:after{margin-left:0}.dropstart .dropdown-toggle:before{vertical-align:0}.dropdown-divider{height:0;margin:var(--bs-dropdown-divider-margin-y) 0;overflow:hidden;border-top:1px solid var(--bs-dropdown-divider-bg);opacity:1}.dropdown-item{display:block;width:100%;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);clear:both;font-weight:400;color:var(--bs-dropdown-link-color);text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0;border-radius:var(--bs-dropdown-item-border-radius, 0)}.dropdown-item:hover,.dropdown-item:focus{color:var(--bs-dropdown-link-hover-color);background-color:var(--bs-dropdown-link-hover-bg)}.dropdown-item.active,.dropdown-item:active{color:var(--bs-dropdown-link-active-color);text-decoration:none;background-color:var(--bs-dropdown-link-active-bg)}.dropdown-item.disabled,.dropdown-item:disabled{color:var(--bs-dropdown-link-disabled-color);pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);margin-bottom:0;font-size:.875rem;color:var(--bs-dropdown-header-color);white-space:nowrap}.dropdown-item-text{display:block;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);color:var(--bs-dropdown-link-color)}.dropdown-menu-dark{--bs-dropdown-color: #dee2e6;--bs-dropdown-bg: #343a40;--bs-dropdown-border-color: var(--bs-border-color-translucent);--bs-dropdown-box-shadow: ;--bs-dropdown-link-color: #dee2e6;--bs-dropdown-link-hover-color: #fff;--bs-dropdown-divider-bg: var(--bs-border-color-translucent);--bs-dropdown-link-hover-bg: rgba(255, 255, 255, .15);--bs-dropdown-link-active-color: #fff;--bs-dropdown-link-active-bg: rgba(78, 78, 78, .95);--bs-dropdown-link-disabled-color: #adb5bd;--bs-dropdown-header-color: #adb5bd}.alert{--bs-alert-bg: transparent;--bs-alert-padding-x: 1rem;--bs-alert-padding-y: 1rem;--bs-alert-margin-bottom: 1rem;--bs-alert-color: inherit;--bs-alert-border-color: transparent;--bs-alert-border: var(--bs-border-width) solid var(--bs-alert-border-color);--bs-alert-border-radius: var(--bs-border-radius);--bs-alert-link-color: inherit;position:relative;padding:var(--bs-alert-padding-y) var(--bs-alert-padding-x);margin-bottom:var(--bs-alert-margin-bottom);color:var(--bs-alert-color);background-color:var(--bs-alert-bg);border:var(--bs-alert-border);border-radius:var(--bs-alert-border-radius)}.alert-heading{color:inherit}.alert-link{font-weight:700;color:var(--bs-alert-link-color)}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-primary{--bs-alert-color: var(--bs-primary-text-emphasis);--bs-alert-bg: var(--bs-primary-bg-subtle);--bs-alert-border-color: var(--bs-primary-border-subtle);--bs-alert-link-color: var(--bs-primary-text-emphasis)}.alert-secondary{--bs-alert-color: var(--bs-secondary-text-emphasis);--bs-alert-bg: var(--bs-secondary-bg-subtle);--bs-alert-border-color: var(--bs-secondary-border-subtle);--bs-alert-link-color: var(--bs-secondary-text-emphasis)}.alert-success{--bs-alert-color: var(--bs-success-text-emphasis);--bs-alert-bg: var(--bs-success-bg-subtle);--bs-alert-border-color: var(--bs-success-border-subtle);--bs-alert-link-color: var(--bs-success-text-emphasis)}.alert-info{--bs-alert-color: var(--bs-info-text-emphasis);--bs-alert-bg: var(--bs-info-bg-subtle);--bs-alert-border-color: var(--bs-info-border-subtle);--bs-alert-link-color: var(--bs-info-text-emphasis)}.alert-warning{--bs-alert-color: var(--bs-warning-text-emphasis);--bs-alert-bg: var(--bs-warning-bg-subtle);--bs-alert-border-color: var(--bs-warning-border-subtle);--bs-alert-link-color: var(--bs-warning-text-emphasis)}.alert-danger{--bs-alert-color: var(--bs-danger-text-emphasis);--bs-alert-bg: var(--bs-danger-bg-subtle);--bs-alert-border-color: var(--bs-danger-border-subtle);--bs-alert-link-color: var(--bs-danger-text-emphasis)}.alert-light{--bs-alert-color: var(--bs-light-text-emphasis);--bs-alert-bg: var(--bs-light-bg-subtle);--bs-alert-border-color: var(--bs-light-border-subtle);--bs-alert-link-color: var(--bs-light-text-emphasis)}.alert-dark{--bs-alert-color: var(--bs-dark-text-emphasis);--bs-alert-bg: var(--bs-dark-bg-subtle);--bs-alert-border-color: var(--bs-dark-border-subtle);--bs-alert-link-color: var(--bs-dark-text-emphasis)}.btn-close{--bs-btn-close-color: #000;--bs-btn-close-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e");--bs-btn-close-opacity: .5;--bs-btn-close-hover-opacity: .75;--bs-btn-close-focus-shadow: 0 0 0 .25rem rgba(78, 78, 78, .25);--bs-btn-close-focus-opacity: 1;--bs-btn-close-disabled-opacity: .25;--bs-btn-close-white-filter: invert(1) grayscale(100%) brightness(200%);box-sizing:content-box;width:1em;height:1em;padding:.25em;color:var(--bs-btn-close-color);background:transparent var(--bs-btn-close-bg) center/1em auto no-repeat;border:0;border-radius:.375rem;opacity:var(--bs-btn-close-opacity)}.btn-close:hover{color:var(--bs-btn-close-color);text-decoration:none;opacity:var(--bs-btn-close-hover-opacity)}.btn-close:focus{outline:0;box-shadow:var(--bs-btn-close-focus-shadow);opacity:var(--bs-btn-close-focus-opacity)}.btn-close:disabled,.btn-close.disabled{pointer-events:none;-webkit-user-select:none;user-select:none;opacity:var(--bs-btn-close-disabled-opacity)}.btn-close-white,[data-bs-theme=dark] .btn-close{filter:var(--bs-btn-close-white-filter)}.toast{--bs-toast-zindex: 1090;--bs-toast-padding-x: .75rem;--bs-toast-padding-y: .5rem;--bs-toast-spacing: 1.5rem;--bs-toast-max-width: 350px;--bs-toast-font-size: .875rem;--bs-toast-color: ;--bs-toast-bg: rgba(var(--bs-body-bg-rgb), .85);--bs-toast-border-width: var(--bs-border-width);--bs-toast-border-color: var(--bs-border-color-translucent);--bs-toast-border-radius: var(--bs-border-radius);--bs-toast-box-shadow: var(--bs-box-shadow);--bs-toast-header-color: var(--bs-secondary-color);--bs-toast-header-bg: rgba(var(--bs-body-bg-rgb), .85);--bs-toast-header-border-color: var(--bs-border-color-translucent);width:var(--bs-toast-max-width);max-width:100%;font-size:var(--bs-toast-font-size);color:var(--bs-toast-color);pointer-events:auto;background-color:var(--bs-toast-bg);background-clip:padding-box;border:var(--bs-toast-border-width) solid var(--bs-toast-border-color);box-shadow:var(--bs-toast-box-shadow);border-radius:var(--bs-toast-border-radius)}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{--bs-toast-zindex: 1090;position:absolute;z-index:var(--bs-toast-zindex);width:max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:var(--bs-toast-spacing)}.toast-header{display:flex;align-items:center;padding:var(--bs-toast-padding-y) var(--bs-toast-padding-x);color:var(--bs-toast-header-color);background-color:var(--bs-toast-header-bg);background-clip:padding-box;border-bottom:var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);border-top-left-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));border-top-right-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width))}.toast-header .btn-close{margin-right:calc(-.5 * var(--bs-toast-padding-x));margin-left:var(--bs-toast-padding-x)}.toast-body{padding:var(--bs-toast-padding-x);word-wrap:break-word}.modal{--bs-modal-zindex: 1055;--bs-modal-width: 500px;--bs-modal-padding: 1rem;--bs-modal-margin: .5rem;--bs-modal-color: ;--bs-modal-bg: var(--bs-body-bg);--bs-modal-border-color: var(--bs-border-color-translucent);--bs-modal-border-width: var(--bs-border-width);--bs-modal-border-radius: var(--bs-border-radius-lg);--bs-modal-box-shadow: var(--bs-box-shadow-sm);--bs-modal-inner-border-radius: calc(var(--bs-border-radius-lg) - (var(--bs-border-width)));--bs-modal-header-padding-x: 1rem;--bs-modal-header-padding-y: 1rem;--bs-modal-header-padding: 1rem 1rem;--bs-modal-header-border-color: var(--bs-border-color);--bs-modal-header-border-width: var(--bs-border-width);--bs-modal-title-line-height: 1.625;--bs-modal-footer-gap: .5rem;--bs-modal-footer-bg: ;--bs-modal-footer-border-color: var(--bs-border-color);--bs-modal-footer-border-width: var(--bs-border-width);position:fixed;top:0;left:0;z-index:var(--bs-modal-zindex);display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:var(--bs-modal-margin);pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translateY(-50px)}@media (prefers-reduced-motion: reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - var(--bs-modal-margin) * 2)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - var(--bs-modal-margin) * 2)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;color:var(--bs-modal-color);pointer-events:auto;background-color:var(--bs-modal-bg);background-clip:padding-box;border:var(--bs-modal-border-width) solid var(--bs-modal-border-color);border-radius:var(--bs-modal-border-radius);outline:0}.modal-backdrop{--bs-backdrop-zindex: 1050;--bs-backdrop-bg: #000;--bs-backdrop-opacity: .5;position:fixed;top:0;left:0;z-index:var(--bs-backdrop-zindex);width:100vw;height:100vh;background-color:var(--bs-backdrop-bg)}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:var(--bs-backdrop-opacity)}.modal-header{display:flex;flex-shrink:0;align-items:center;padding:var(--bs-modal-header-padding);border-bottom:var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);border-top-left-radius:var(--bs-modal-inner-border-radius);border-top-right-radius:var(--bs-modal-inner-border-radius)}.modal-header .btn-close{padding:calc(var(--bs-modal-header-padding-y) * .5) calc(var(--bs-modal-header-padding-x) * .5);margin:calc(-.5 * var(--bs-modal-header-padding-y)) calc(-.5 * var(--bs-modal-header-padding-x)) calc(-.5 * var(--bs-modal-header-padding-y)) auto}.modal-title{margin-bottom:0;line-height:var(--bs-modal-title-line-height)}.modal-body{position:relative;flex:1 1 auto;padding:var(--bs-modal-padding)}.modal-footer{display:flex;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * .5);background-color:var(--bs-modal-footer-bg);border-top:var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);border-bottom-right-radius:var(--bs-modal-inner-border-radius);border-bottom-left-radius:var(--bs-modal-inner-border-radius)}.modal-footer>*{margin:calc(var(--bs-modal-footer-gap) * .5)}@media (min-width: 576px){.modal{--bs-modal-margin: 1.75rem;--bs-modal-box-shadow: var(--bs-box-shadow)}.modal-dialog{max-width:var(--bs-modal-width);margin-right:auto;margin-left:auto}.modal-sm{--bs-modal-width: 300px}}@media (min-width: 992px){.modal-lg,.modal-xl{--bs-modal-width: 800px}}@media (min-width: 1200px){.modal-xl{--bs-modal-width: 1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-header,.modal-fullscreen .modal-footer{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}@media (max-width: 575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-header,.modal-fullscreen-sm-down .modal-footer{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}}@media (max-width: 767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-header,.modal-fullscreen-md-down .modal-footer{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}}@media (max-width: 991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-header,.modal-fullscreen-lg-down .modal-footer{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}}@media (max-width: 1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-header,.modal-fullscreen-xl-down .modal-footer{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}}@media (max-width: 1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-header,.modal-fullscreen-xxl-down .modal-footer{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}}.tooltip{--bs-tooltip-zindex: 1080;--bs-tooltip-max-width: 200px;--bs-tooltip-padding-x: .5rem;--bs-tooltip-padding-y: .25rem;--bs-tooltip-margin: ;--bs-tooltip-font-size: .875rem;--bs-tooltip-color: var(--bs-body-bg);--bs-tooltip-bg: var(--bs-emphasis-color);--bs-tooltip-border-radius: var(--bs-border-radius);--bs-tooltip-opacity: .9;--bs-tooltip-arrow-width: .8rem;--bs-tooltip-arrow-height: .4rem;z-index:var(--bs-tooltip-zindex);display:block;margin:var(--bs-tooltip-margin);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.625;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-tooltip-font-size);word-wrap:break-word;opacity:0}.tooltip.show{opacity:var(--bs-tooltip-opacity)}.tooltip .tooltip-arrow{display:block;width:var(--bs-tooltip-arrow-width);height:var(--bs-tooltip-arrow-height)}.tooltip .tooltip-arrow:before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-top .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow{bottom:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-top .tooltip-arrow:before,.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow:before{top:-1px;border-width:var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-top-color:var(--bs-tooltip-bg)}.bs-tooltip-end .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow{left:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-end .tooltip-arrow:before,.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow:before{right:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-right-color:var(--bs-tooltip-bg)}.bs-tooltip-bottom .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow{top:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-bottom .tooltip-arrow:before,.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow:before{bottom:-1px;border-width:0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-bottom-color:var(--bs-tooltip-bg)}.bs-tooltip-start .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow{right:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-start .tooltip-arrow:before,.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow:before{left:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) 0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-left-color:var(--bs-tooltip-bg)}.tooltip-inner{max-width:var(--bs-tooltip-max-width);padding:var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);color:var(--bs-tooltip-color);text-align:center;background-color:var(--bs-tooltip-bg);border-radius:var(--bs-tooltip-border-radius)}.spinner-grow,.spinner-border{display:inline-block;width:var(--bs-spinner-width);height:var(--bs-spinner-height);vertical-align:var(--bs-spinner-vertical-align);border-radius:50%;animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name)}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{--bs-spinner-width: 2rem;--bs-spinner-height: 2rem;--bs-spinner-vertical-align: -.125em;--bs-spinner-border-width: .25em;--bs-spinner-animation-speed: .75s;--bs-spinner-animation-name: spinner-border;border:var(--bs-spinner-border-width) solid currentcolor;border-right-color:transparent}.spinner-border-sm{--bs-spinner-width: 1rem;--bs-spinner-height: 1rem;--bs-spinner-border-width: .2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{--bs-spinner-width: 2rem;--bs-spinner-height: 2rem;--bs-spinner-vertical-align: -.125em;--bs-spinner-animation-speed: .75s;--bs-spinner-animation-name: spinner-grow;background-color:currentcolor;opacity:0}.spinner-grow-sm{--bs-spinner-width: 1rem;--bs-spinner-height: 1rem}@media (prefers-reduced-motion: reduce){.spinner-border,.spinner-grow{--bs-spinner-animation-speed: 1.5s}}.clearfix:after{display:block;clear:both;content:""}.text-bg-primary{color:#fff!important;background-color:RGBA(var(--bs-primary-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-secondary{color:#000!important;background-color:RGBA(var(--bs-secondary-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-success{color:#fff!important;background-color:RGBA(var(--bs-success-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-info{color:#000!important;background-color:RGBA(var(--bs-info-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-warning{color:#000!important;background-color:RGBA(var(--bs-warning-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-danger{color:#fff!important;background-color:RGBA(var(--bs-danger-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-light{color:#000!important;background-color:RGBA(var(--bs-light-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-dark{color:#fff!important;background-color:RGBA(var(--bs-dark-rgb),var(--bs-bg-opacity, 1))!important}.link-primary{color:RGBA(var(--bs-primary-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-primary-rgb),var(--bs-link-underline-opacity, 1))!important}.link-primary:hover,.link-primary:focus{color:RGBA(61,61,61,var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(61,61,61,var(--bs-link-underline-opacity, 1))!important}.link-secondary{color:RGBA(var(--bs-secondary-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-secondary-rgb),var(--bs-link-underline-opacity, 1))!important}.link-secondary:hover,.link-secondary:focus{color:RGBA(229,229,229,var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(229,229,229,var(--bs-link-underline-opacity, 1))!important}.link-success{color:RGBA(var(--bs-success-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-success-rgb),var(--bs-link-underline-opacity, 1))!important}.link-success:hover,.link-success:focus{color:RGBA(49,107,6,var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(49,107,6,var(--bs-link-underline-opacity, 1))!important}.link-info{color:RGBA(var(--bs-info-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-info-rgb),var(--bs-link-underline-opacity, 1))!important}.link-info:hover,.link-info:focus{color:RGBA(61,213,243,var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(61,213,243,var(--bs-link-underline-opacity, 1))!important}.link-warning{color:RGBA(var(--bs-warning-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-warning-rgb),var(--bs-link-underline-opacity, 1))!important}.link-warning:hover,.link-warning:focus{color:RGBA(255,185,67,var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(255,185,67,var(--bs-link-underline-opacity, 1))!important}.link-danger{color:RGBA(var(--bs-danger-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-danger-rgb),var(--bs-link-underline-opacity, 1))!important}.link-danger:hover,.link-danger:focus{color:RGBA(187,18,25,var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(187,18,25,var(--bs-link-underline-opacity, 1))!important}.link-light{color:RGBA(var(--bs-light-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-light-rgb),var(--bs-link-underline-opacity, 1))!important}.link-light:hover,.link-light:focus{color:RGBA(249,250,251,var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(249,250,251,var(--bs-link-underline-opacity, 1))!important}.link-dark{color:RGBA(var(--bs-dark-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-dark-rgb),var(--bs-link-underline-opacity, 1))!important}.link-dark:hover,.link-dark:focus{color:RGBA(26,30,33,var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(26,30,33,var(--bs-link-underline-opacity, 1))!important}.link-body-emphasis{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity, 1))!important}.link-body-emphasis:hover,.link-body-emphasis:focus{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity, .75))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity, .75))!important}.focus-ring:focus{outline:0;box-shadow:var(--bs-focus-ring-x, 0) var(--bs-focus-ring-y, 0) var(--bs-focus-ring-blur, 0) var(--bs-focus-ring-width) var(--bs-focus-ring-color)}.icon-link{display:inline-flex;gap:.375rem;align-items:center;text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity, .5));text-underline-offset:.25em;backface-visibility:hidden}.icon-link>.bi{flex-shrink:0;width:1em;height:1em;fill:currentcolor;transition:.2s ease-in-out transform}@media (prefers-reduced-motion: reduce){.icon-link>.bi{transition:none}}.icon-link-hover:hover>.bi,.icon-link-hover:focus-visible>.bi{transform:var(--bs-icon-link-transform, translate3d(.25em, 0, 0))}.ratio{position:relative;width:100%}.ratio:before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio: 100%}.ratio-4x3{--bs-aspect-ratio: 75%}.ratio-16x9{--bs-aspect-ratio: 56.25%}.ratio-21x9{--bs-aspect-ratio: 42.8571428571%}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top{position:sticky;top:0;z-index:1020}.sticky-bottom{position:sticky;bottom:0;z-index:1020}@media (min-width: 576px){.sticky-sm-top{position:sticky;top:0;z-index:1020}.sticky-sm-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 768px){.sticky-md-top{position:sticky;top:0;z-index:1020}.sticky-md-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 992px){.sticky-lg-top{position:sticky;top:0;z-index:1020}.sticky-lg-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 1200px){.sticky-xl-top{position:sticky;top:0;z-index:1020}.sticky-xl-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 1400px){.sticky-xxl-top{position:sticky;top:0;z-index:1020}.sticky-xxl-bottom{position:sticky;bottom:0;z-index:1020}}.hstack{display:flex;flex-direction:row;align-items:center;align-self:stretch}.vstack{display:flex;flex:1 1 auto;flex-direction:column;align-self:stretch}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.visually-hidden:not(caption),.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption){position:absolute!important}.stretched-link:after{position:absolute;inset:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;align-self:stretch;width:var(--bs-border-width);min-height:1em;background-color:currentcolor;opacity:.25}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.float-start{float:left!important}.float-end{float:right!important}.float-none{float:none!important}.object-fit-contain{object-fit:contain!important}.object-fit-cover{object-fit:cover!important}.object-fit-fill{object-fit:fill!important}.object-fit-scale{object-fit:scale-down!important}.object-fit-none{object-fit:none!important}.opacity-0{opacity:0!important}.opacity-25{opacity:.25!important}.opacity-50{opacity:.5!important}.opacity-75{opacity:.75!important}.opacity-100{opacity:1!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow:scroll!important}.overflow-x-auto{overflow-x:auto!important}.overflow-x-hidden{overflow-x:hidden!important}.overflow-x-visible{overflow-x:visible!important}.overflow-x-scroll{overflow-x:scroll!important}.overflow-y-auto{overflow-y:auto!important}.overflow-y-hidden{overflow-y:hidden!important}.overflow-y-visible{overflow-y:visible!important}.overflow-y-scroll{overflow-y:scroll!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-inline-grid{display:inline-grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.shadow{box-shadow:var(--bs-box-shadow)!important}.shadow-sm{box-shadow:var(--bs-box-shadow-sm)!important}.shadow-lg{box-shadow:var(--bs-box-shadow-lg)!important}.shadow-none{box-shadow:none!important}.focus-ring-primary{--bs-focus-ring-color: rgba(var(--bs-primary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-secondary{--bs-focus-ring-color: rgba(var(--bs-secondary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-success{--bs-focus-ring-color: rgba(var(--bs-success-rgb), var(--bs-focus-ring-opacity))}.focus-ring-info{--bs-focus-ring-color: rgba(var(--bs-info-rgb), var(--bs-focus-ring-opacity))}.focus-ring-warning{--bs-focus-ring-color: rgba(var(--bs-warning-rgb), var(--bs-focus-ring-opacity))}.focus-ring-danger{--bs-focus-ring-color: rgba(var(--bs-danger-rgb), var(--bs-focus-ring-opacity))}.focus-ring-light{--bs-focus-ring-color: rgba(var(--bs-light-rgb), var(--bs-focus-ring-opacity))}.focus-ring-dark{--bs-focus-ring-color: rgba(var(--bs-dark-rgb), var(--bs-focus-ring-opacity))}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:sticky!important}.top-0{top:0!important}.top-50{top:50%!important}.top-100{top:100%!important}.bottom-0{bottom:0!important}.bottom-50{bottom:50%!important}.bottom-100{bottom:100%!important}.start-0{left:0!important}.start-50{left:50%!important}.start-100{left:100%!important}.end-0{right:0!important}.end-50{right:50%!important}.end-100{right:100%!important}.translate-middle{transform:translate(-50%,-50%)!important}.translate-middle-x{transform:translate(-50%)!important}.translate-middle-y{transform:translateY(-50%)!important}.border{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-0{border:0!important}.border-top{border-top:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-top-0{border-top:0!important}.border-end{border-right:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-end-0{border-right:0!important}.border-bottom{border-bottom:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-bottom-0{border-bottom:0!important}.border-start{border-left:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-start-0{border-left:0!important}.border-primary{--bs-border-opacity: 1;border-color:rgba(var(--bs-primary-rgb),var(--bs-border-opacity))!important}.border-secondary{--bs-border-opacity: 1;border-color:rgba(var(--bs-secondary-rgb),var(--bs-border-opacity))!important}.border-success{--bs-border-opacity: 1;border-color:rgba(var(--bs-success-rgb),var(--bs-border-opacity))!important}.border-info{--bs-border-opacity: 1;border-color:rgba(var(--bs-info-rgb),var(--bs-border-opacity))!important}.border-warning{--bs-border-opacity: 1;border-color:rgba(var(--bs-warning-rgb),var(--bs-border-opacity))!important}.border-danger{--bs-border-opacity: 1;border-color:rgba(var(--bs-danger-rgb),var(--bs-border-opacity))!important}.border-light{--bs-border-opacity: 1;border-color:rgba(var(--bs-light-rgb),var(--bs-border-opacity))!important}.border-dark{--bs-border-opacity: 1;border-color:rgba(var(--bs-dark-rgb),var(--bs-border-opacity))!important}.border-black{--bs-border-opacity: 1;border-color:rgba(var(--bs-black-rgb),var(--bs-border-opacity))!important}.border-white{--bs-border-opacity: 1;border-color:rgba(var(--bs-white-rgb),var(--bs-border-opacity))!important}.border-primary-subtle{border-color:var(--bs-primary-border-subtle)!important}.border-secondary-subtle{border-color:var(--bs-secondary-border-subtle)!important}.border-success-subtle{border-color:var(--bs-success-border-subtle)!important}.border-info-subtle{border-color:var(--bs-info-border-subtle)!important}.border-warning-subtle{border-color:var(--bs-warning-border-subtle)!important}.border-danger-subtle{border-color:var(--bs-danger-border-subtle)!important}.border-light-subtle{border-color:var(--bs-light-border-subtle)!important}.border-dark-subtle{border-color:var(--bs-dark-border-subtle)!important}.border-1{border-width:1px!important}.border-2{border-width:2px!important}.border-3{border-width:3px!important}.border-4{border-width:4px!important}.border-5{border-width:5px!important}.border-opacity-10{--bs-border-opacity: .1}.border-opacity-25{--bs-border-opacity: .25}.border-opacity-50{--bs-border-opacity: .5}.border-opacity-75{--bs-border-opacity: .75}.border-opacity-100{--bs-border-opacity: 1}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.me-0{margin-right:0!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.me-3{margin-right:1rem!important}.me-4{margin-right:1.5rem!important}.me-5{margin-right:3rem!important}.me-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ms-0{margin-left:0!important}.ms-1{margin-left:.25rem!important}.ms-2{margin-left:.5rem!important}.ms-3{margin-left:1rem!important}.ms-4{margin-left:1.5rem!important}.ms-5{margin-left:3rem!important}.ms-auto{margin-left:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pe-0{padding-right:0!important}.pe-1{padding-right:.25rem!important}.pe-2{padding-right:.5rem!important}.pe-3{padding-right:1rem!important}.pe-4{padding-right:1.5rem!important}.pe-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.ps-0{padding-left:0!important}.ps-1{padding-left:.25rem!important}.ps-2{padding-left:.5rem!important}.ps-3{padding-left:1rem!important}.ps-4{padding-left:1.5rem!important}.ps-5{padding-left:3rem!important}.gap-0{gap:0!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.gap-4{gap:1.5rem!important}.gap-5{gap:3rem!important}.row-gap-0{row-gap:0!important}.row-gap-1{row-gap:.25rem!important}.row-gap-2{row-gap:.5rem!important}.row-gap-3{row-gap:1rem!important}.row-gap-4{row-gap:1.5rem!important}.row-gap-5{row-gap:3rem!important}.column-gap-0{column-gap:0!important}.column-gap-1{column-gap:.25rem!important}.column-gap-2{column-gap:.5rem!important}.column-gap-3{column-gap:1rem!important}.column-gap-4{column-gap:1.5rem!important}.column-gap-5{column-gap:3rem!important}.font-monospace{font-family:var(--bs-font-monospace)!important}.fs-1{font-size:calc(1.4625rem + 2.55vw)!important}.fs-2{font-size:calc(1.3125rem + .75vw)!important}.fs-3{font-size:calc(1.2875rem + .45vw)!important}.fs-4{font-size:calc(1.275rem + .3vw)!important}.fs-5{font-size:calc(1.25625rem + .075vw)!important}.fs-6{font-size:1.125rem!important}.fst-italic{font-style:italic!important}.fst-normal{font-style:normal!important}.fw-lighter{font-weight:lighter!important}.fw-light{font-weight:300!important}.fw-normal{font-weight:400!important}.fw-medium,.fw-semibold{font-weight:500!important}.fw-bold{font-weight:700!important}.fw-bolder{font-weight:bolder!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.25!important}.lh-base{line-height:1.625!important}.lh-lg{line-height:2!important}.text-start{text-align:left!important}.text-end{text-align:right!important}.text-center{text-align:center!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-decoration-line-through{text-decoration:line-through!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-break{word-wrap:break-word!important;word-break:break-word!important}.text-primary{--bs-text-opacity: 1;color:rgba(var(--bs-primary-rgb),var(--bs-text-opacity))!important}.text-secondary{--bs-text-opacity: 1;color:rgba(var(--bs-secondary-rgb),var(--bs-text-opacity))!important}.text-success{--bs-text-opacity: 1;color:rgba(var(--bs-success-rgb),var(--bs-text-opacity))!important}.text-info{--bs-text-opacity: 1;color:rgba(var(--bs-info-rgb),var(--bs-text-opacity))!important}.text-warning{--bs-text-opacity: 1;color:rgba(var(--bs-warning-rgb),var(--bs-text-opacity))!important}.text-danger{--bs-text-opacity: 1;color:rgba(var(--bs-danger-rgb),var(--bs-text-opacity))!important}.text-light{--bs-text-opacity: 1;color:rgba(var(--bs-light-rgb),var(--bs-text-opacity))!important}.text-dark{--bs-text-opacity: 1;color:rgba(var(--bs-dark-rgb),var(--bs-text-opacity))!important}.text-black{--bs-text-opacity: 1;color:rgba(var(--bs-black-rgb),var(--bs-text-opacity))!important}.text-white{--bs-text-opacity: 1;color:rgba(var(--bs-white-rgb),var(--bs-text-opacity))!important}.text-body{--bs-text-opacity: 1;color:rgba(var(--bs-body-color-rgb),var(--bs-text-opacity))!important}.text-muted{--bs-text-opacity: 1;color:var(--bs-secondary-color)!important}.text-black-50{--bs-text-opacity: 1;color:#00000080!important}.text-white-50{--bs-text-opacity: 1;color:#ffffff80!important}.text-body-secondary{--bs-text-opacity: 1;color:var(--bs-secondary-color)!important}.text-body-tertiary{--bs-text-opacity: 1;color:var(--bs-tertiary-color)!important}.text-body-emphasis{--bs-text-opacity: 1;color:var(--bs-emphasis-color)!important}.text-reset{--bs-text-opacity: 1;color:inherit!important}.text-opacity-25{--bs-text-opacity: .25}.text-opacity-50{--bs-text-opacity: .5}.text-opacity-75{--bs-text-opacity: .75}.text-opacity-100{--bs-text-opacity: 1}.text-primary-emphasis{color:var(--bs-primary-text-emphasis)!important}.text-secondary-emphasis{color:var(--bs-secondary-text-emphasis)!important}.text-success-emphasis{color:var(--bs-success-text-emphasis)!important}.text-info-emphasis{color:var(--bs-info-text-emphasis)!important}.text-warning-emphasis{color:var(--bs-warning-text-emphasis)!important}.text-danger-emphasis{color:var(--bs-danger-text-emphasis)!important}.text-light-emphasis{color:var(--bs-light-text-emphasis)!important}.text-dark-emphasis{color:var(--bs-dark-text-emphasis)!important}.link-opacity-10,.link-opacity-10-hover:hover{--bs-link-opacity: .1}.link-opacity-25,.link-opacity-25-hover:hover{--bs-link-opacity: .25}.link-opacity-50,.link-opacity-50-hover:hover{--bs-link-opacity: .5}.link-opacity-75,.link-opacity-75-hover:hover{--bs-link-opacity: .75}.link-opacity-100,.link-opacity-100-hover:hover{--bs-link-opacity: 1}.link-offset-1,.link-offset-1-hover:hover{text-underline-offset:.125em!important}.link-offset-2,.link-offset-2-hover:hover{text-underline-offset:.25em!important}.link-offset-3,.link-offset-3-hover:hover{text-underline-offset:.375em!important}.link-underline-primary{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-primary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-secondary{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-secondary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-success{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-success-rgb),var(--bs-link-underline-opacity))!important}.link-underline-info{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-info-rgb),var(--bs-link-underline-opacity))!important}.link-underline-warning{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-warning-rgb),var(--bs-link-underline-opacity))!important}.link-underline-danger{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-danger-rgb),var(--bs-link-underline-opacity))!important}.link-underline-light{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-light-rgb),var(--bs-link-underline-opacity))!important}.link-underline-dark{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-dark-rgb),var(--bs-link-underline-opacity))!important}.link-underline{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-underline-opacity, 1))!important}.link-underline-opacity-0,.link-underline-opacity-0-hover:hover{--bs-link-underline-opacity: 0}.link-underline-opacity-10,.link-underline-opacity-10-hover:hover{--bs-link-underline-opacity: .1}.link-underline-opacity-25,.link-underline-opacity-25-hover:hover{--bs-link-underline-opacity: .25}.link-underline-opacity-50,.link-underline-opacity-50-hover:hover{--bs-link-underline-opacity: .5}.link-underline-opacity-75,.link-underline-opacity-75-hover:hover{--bs-link-underline-opacity: .75}.link-underline-opacity-100,.link-underline-opacity-100-hover:hover{--bs-link-underline-opacity: 1}.bg-primary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-primary-rgb),var(--bs-bg-opacity))!important}.bg-secondary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-secondary-rgb),var(--bs-bg-opacity))!important}.bg-success{--bs-bg-opacity: 1;background-color:rgba(var(--bs-success-rgb),var(--bs-bg-opacity))!important}.bg-info{--bs-bg-opacity: 1;background-color:rgba(var(--bs-info-rgb),var(--bs-bg-opacity))!important}.bg-warning{--bs-bg-opacity: 1;background-color:rgba(var(--bs-warning-rgb),var(--bs-bg-opacity))!important}.bg-danger{--bs-bg-opacity: 1;background-color:rgba(var(--bs-danger-rgb),var(--bs-bg-opacity))!important}.bg-light{--bs-bg-opacity: 1;background-color:rgba(var(--bs-light-rgb),var(--bs-bg-opacity))!important}.bg-dark{--bs-bg-opacity: 1;background-color:rgba(var(--bs-dark-rgb),var(--bs-bg-opacity))!important}.bg-black{--bs-bg-opacity: 1;background-color:rgba(var(--bs-black-rgb),var(--bs-bg-opacity))!important}.bg-white{--bs-bg-opacity: 1;background-color:rgba(var(--bs-white-rgb),var(--bs-bg-opacity))!important}.bg-body{--bs-bg-opacity: 1;background-color:rgba(var(--bs-body-bg-rgb),var(--bs-bg-opacity))!important}.bg-transparent{--bs-bg-opacity: 1;background-color:transparent!important}.bg-body-secondary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-secondary-bg-rgb),var(--bs-bg-opacity))!important}.bg-body-tertiary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-tertiary-bg-rgb),var(--bs-bg-opacity))!important}.bg-opacity-10{--bs-bg-opacity: .1}.bg-opacity-25{--bs-bg-opacity: .25}.bg-opacity-50{--bs-bg-opacity: .5}.bg-opacity-75{--bs-bg-opacity: .75}.bg-opacity-100{--bs-bg-opacity: 1}.bg-primary-subtle{background-color:var(--bs-primary-bg-subtle)!important}.bg-secondary-subtle{background-color:var(--bs-secondary-bg-subtle)!important}.bg-success-subtle{background-color:var(--bs-success-bg-subtle)!important}.bg-info-subtle{background-color:var(--bs-info-bg-subtle)!important}.bg-warning-subtle{background-color:var(--bs-warning-bg-subtle)!important}.bg-danger-subtle{background-color:var(--bs-danger-bg-subtle)!important}.bg-light-subtle{background-color:var(--bs-light-bg-subtle)!important}.bg-dark-subtle{background-color:var(--bs-dark-bg-subtle)!important}.bg-gradient{background-image:var(--bs-gradient)!important}.user-select-all{-webkit-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.rounded{border-radius:var(--bs-border-radius)!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:var(--bs-border-radius-sm)!important}.rounded-2{border-radius:var(--bs-border-radius)!important}.rounded-3{border-radius:var(--bs-border-radius-lg)!important}.rounded-4{border-radius:var(--bs-border-radius-xl)!important}.rounded-5{border-radius:var(--bs-border-radius-xxl)!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:var(--bs-border-radius-pill)!important}.rounded-top{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-0{border-top-left-radius:0!important;border-top-right-radius:0!important}.rounded-top-1{border-top-left-radius:var(--bs-border-radius-sm)!important;border-top-right-radius:var(--bs-border-radius-sm)!important}.rounded-top-2{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-3{border-top-left-radius:var(--bs-border-radius-lg)!important;border-top-right-radius:var(--bs-border-radius-lg)!important}.rounded-top-4{border-top-left-radius:var(--bs-border-radius-xl)!important;border-top-right-radius:var(--bs-border-radius-xl)!important}.rounded-top-5{border-top-left-radius:var(--bs-border-radius-xxl)!important;border-top-right-radius:var(--bs-border-radius-xxl)!important}.rounded-top-circle{border-top-left-radius:50%!important;border-top-right-radius:50%!important}.rounded-top-pill{border-top-left-radius:var(--bs-border-radius-pill)!important;border-top-right-radius:var(--bs-border-radius-pill)!important}.rounded-end{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-0{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.rounded-end-1{border-top-right-radius:var(--bs-border-radius-sm)!important;border-bottom-right-radius:var(--bs-border-radius-sm)!important}.rounded-end-2{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-3{border-top-right-radius:var(--bs-border-radius-lg)!important;border-bottom-right-radius:var(--bs-border-radius-lg)!important}.rounded-end-4{border-top-right-radius:var(--bs-border-radius-xl)!important;border-bottom-right-radius:var(--bs-border-radius-xl)!important}.rounded-end-5{border-top-right-radius:var(--bs-border-radius-xxl)!important;border-bottom-right-radius:var(--bs-border-radius-xxl)!important}.rounded-end-circle{border-top-right-radius:50%!important;border-bottom-right-radius:50%!important}.rounded-end-pill{border-top-right-radius:var(--bs-border-radius-pill)!important;border-bottom-right-radius:var(--bs-border-radius-pill)!important}.rounded-bottom{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-0{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.rounded-bottom-1{border-bottom-right-radius:var(--bs-border-radius-sm)!important;border-bottom-left-radius:var(--bs-border-radius-sm)!important}.rounded-bottom-2{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-3{border-bottom-right-radius:var(--bs-border-radius-lg)!important;border-bottom-left-radius:var(--bs-border-radius-lg)!important}.rounded-bottom-4{border-bottom-right-radius:var(--bs-border-radius-xl)!important;border-bottom-left-radius:var(--bs-border-radius-xl)!important}.rounded-bottom-5{border-bottom-right-radius:var(--bs-border-radius-xxl)!important;border-bottom-left-radius:var(--bs-border-radius-xxl)!important}.rounded-bottom-circle{border-bottom-right-radius:50%!important;border-bottom-left-radius:50%!important}.rounded-bottom-pill{border-bottom-right-radius:var(--bs-border-radius-pill)!important;border-bottom-left-radius:var(--bs-border-radius-pill)!important}.rounded-start{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-0{border-bottom-left-radius:0!important;border-top-left-radius:0!important}.rounded-start-1{border-bottom-left-radius:var(--bs-border-radius-sm)!important;border-top-left-radius:var(--bs-border-radius-sm)!important}.rounded-start-2{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-3{border-bottom-left-radius:var(--bs-border-radius-lg)!important;border-top-left-radius:var(--bs-border-radius-lg)!important}.rounded-start-4{border-bottom-left-radius:var(--bs-border-radius-xl)!important;border-top-left-radius:var(--bs-border-radius-xl)!important}.rounded-start-5{border-bottom-left-radius:var(--bs-border-radius-xxl)!important;border-top-left-radius:var(--bs-border-radius-xxl)!important}.rounded-start-circle{border-bottom-left-radius:50%!important;border-top-left-radius:50%!important}.rounded-start-pill{border-bottom-left-radius:var(--bs-border-radius-pill)!important;border-top-left-radius:var(--bs-border-radius-pill)!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}.z-n1{z-index:-1!important}.z-0{z-index:0!important}.z-1{z-index:1!important}.z-2{z-index:2!important}.z-3{z-index:3!important}@media (min-width: 576px){.float-sm-start{float:left!important}.float-sm-end{float:right!important}.float-sm-none{float:none!important}.object-fit-sm-contain{object-fit:contain!important}.object-fit-sm-cover{object-fit:cover!important}.object-fit-sm-fill{object-fit:fill!important}.object-fit-sm-scale{object-fit:scale-down!important}.object-fit-sm-none{object-fit:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-inline-grid{display:inline-grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.me-sm-0{margin-right:0!important}.me-sm-1{margin-right:.25rem!important}.me-sm-2{margin-right:.5rem!important}.me-sm-3{margin-right:1rem!important}.me-sm-4{margin-right:1.5rem!important}.me-sm-5{margin-right:3rem!important}.me-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ms-sm-0{margin-left:0!important}.ms-sm-1{margin-left:.25rem!important}.ms-sm-2{margin-left:.5rem!important}.ms-sm-3{margin-left:1rem!important}.ms-sm-4{margin-left:1.5rem!important}.ms-sm-5{margin-left:3rem!important}.ms-sm-auto{margin-left:auto!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pe-sm-0{padding-right:0!important}.pe-sm-1{padding-right:.25rem!important}.pe-sm-2{padding-right:.5rem!important}.pe-sm-3{padding-right:1rem!important}.pe-sm-4{padding-right:1.5rem!important}.pe-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.ps-sm-0{padding-left:0!important}.ps-sm-1{padding-left:.25rem!important}.ps-sm-2{padding-left:.5rem!important}.ps-sm-3{padding-left:1rem!important}.ps-sm-4{padding-left:1.5rem!important}.ps-sm-5{padding-left:3rem!important}.gap-sm-0{gap:0!important}.gap-sm-1{gap:.25rem!important}.gap-sm-2{gap:.5rem!important}.gap-sm-3{gap:1rem!important}.gap-sm-4{gap:1.5rem!important}.gap-sm-5{gap:3rem!important}.row-gap-sm-0{row-gap:0!important}.row-gap-sm-1{row-gap:.25rem!important}.row-gap-sm-2{row-gap:.5rem!important}.row-gap-sm-3{row-gap:1rem!important}.row-gap-sm-4{row-gap:1.5rem!important}.row-gap-sm-5{row-gap:3rem!important}.column-gap-sm-0{column-gap:0!important}.column-gap-sm-1{column-gap:.25rem!important}.column-gap-sm-2{column-gap:.5rem!important}.column-gap-sm-3{column-gap:1rem!important}.column-gap-sm-4{column-gap:1.5rem!important}.column-gap-sm-5{column-gap:3rem!important}.text-sm-start{text-align:left!important}.text-sm-end{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width: 768px){.float-md-start{float:left!important}.float-md-end{float:right!important}.float-md-none{float:none!important}.object-fit-md-contain{object-fit:contain!important}.object-fit-md-cover{object-fit:cover!important}.object-fit-md-fill{object-fit:fill!important}.object-fit-md-scale{object-fit:scale-down!important}.object-fit-md-none{object-fit:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-inline-grid{display:inline-grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.me-md-0{margin-right:0!important}.me-md-1{margin-right:.25rem!important}.me-md-2{margin-right:.5rem!important}.me-md-3{margin-right:1rem!important}.me-md-4{margin-right:1.5rem!important}.me-md-5{margin-right:3rem!important}.me-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ms-md-0{margin-left:0!important}.ms-md-1{margin-left:.25rem!important}.ms-md-2{margin-left:.5rem!important}.ms-md-3{margin-left:1rem!important}.ms-md-4{margin-left:1.5rem!important}.ms-md-5{margin-left:3rem!important}.ms-md-auto{margin-left:auto!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pe-md-0{padding-right:0!important}.pe-md-1{padding-right:.25rem!important}.pe-md-2{padding-right:.5rem!important}.pe-md-3{padding-right:1rem!important}.pe-md-4{padding-right:1.5rem!important}.pe-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.ps-md-0{padding-left:0!important}.ps-md-1{padding-left:.25rem!important}.ps-md-2{padding-left:.5rem!important}.ps-md-3{padding-left:1rem!important}.ps-md-4{padding-left:1.5rem!important}.ps-md-5{padding-left:3rem!important}.gap-md-0{gap:0!important}.gap-md-1{gap:.25rem!important}.gap-md-2{gap:.5rem!important}.gap-md-3{gap:1rem!important}.gap-md-4{gap:1.5rem!important}.gap-md-5{gap:3rem!important}.row-gap-md-0{row-gap:0!important}.row-gap-md-1{row-gap:.25rem!important}.row-gap-md-2{row-gap:.5rem!important}.row-gap-md-3{row-gap:1rem!important}.row-gap-md-4{row-gap:1.5rem!important}.row-gap-md-5{row-gap:3rem!important}.column-gap-md-0{column-gap:0!important}.column-gap-md-1{column-gap:.25rem!important}.column-gap-md-2{column-gap:.5rem!important}.column-gap-md-3{column-gap:1rem!important}.column-gap-md-4{column-gap:1.5rem!important}.column-gap-md-5{column-gap:3rem!important}.text-md-start{text-align:left!important}.text-md-end{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width: 992px){.float-lg-start{float:left!important}.float-lg-end{float:right!important}.float-lg-none{float:none!important}.object-fit-lg-contain{object-fit:contain!important}.object-fit-lg-cover{object-fit:cover!important}.object-fit-lg-fill{object-fit:fill!important}.object-fit-lg-scale{object-fit:scale-down!important}.object-fit-lg-none{object-fit:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-inline-grid{display:inline-grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.me-lg-0{margin-right:0!important}.me-lg-1{margin-right:.25rem!important}.me-lg-2{margin-right:.5rem!important}.me-lg-3{margin-right:1rem!important}.me-lg-4{margin-right:1.5rem!important}.me-lg-5{margin-right:3rem!important}.me-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ms-lg-0{margin-left:0!important}.ms-lg-1{margin-left:.25rem!important}.ms-lg-2{margin-left:.5rem!important}.ms-lg-3{margin-left:1rem!important}.ms-lg-4{margin-left:1.5rem!important}.ms-lg-5{margin-left:3rem!important}.ms-lg-auto{margin-left:auto!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pe-lg-0{padding-right:0!important}.pe-lg-1{padding-right:.25rem!important}.pe-lg-2{padding-right:.5rem!important}.pe-lg-3{padding-right:1rem!important}.pe-lg-4{padding-right:1.5rem!important}.pe-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.ps-lg-0{padding-left:0!important}.ps-lg-1{padding-left:.25rem!important}.ps-lg-2{padding-left:.5rem!important}.ps-lg-3{padding-left:1rem!important}.ps-lg-4{padding-left:1.5rem!important}.ps-lg-5{padding-left:3rem!important}.gap-lg-0{gap:0!important}.gap-lg-1{gap:.25rem!important}.gap-lg-2{gap:.5rem!important}.gap-lg-3{gap:1rem!important}.gap-lg-4{gap:1.5rem!important}.gap-lg-5{gap:3rem!important}.row-gap-lg-0{row-gap:0!important}.row-gap-lg-1{row-gap:.25rem!important}.row-gap-lg-2{row-gap:.5rem!important}.row-gap-lg-3{row-gap:1rem!important}.row-gap-lg-4{row-gap:1.5rem!important}.row-gap-lg-5{row-gap:3rem!important}.column-gap-lg-0{column-gap:0!important}.column-gap-lg-1{column-gap:.25rem!important}.column-gap-lg-2{column-gap:.5rem!important}.column-gap-lg-3{column-gap:1rem!important}.column-gap-lg-4{column-gap:1.5rem!important}.column-gap-lg-5{column-gap:3rem!important}.text-lg-start{text-align:left!important}.text-lg-end{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width: 1200px){.float-xl-start{float:left!important}.float-xl-end{float:right!important}.float-xl-none{float:none!important}.object-fit-xl-contain{object-fit:contain!important}.object-fit-xl-cover{object-fit:cover!important}.object-fit-xl-fill{object-fit:fill!important}.object-fit-xl-scale{object-fit:scale-down!important}.object-fit-xl-none{object-fit:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-inline-grid{display:inline-grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.me-xl-0{margin-right:0!important}.me-xl-1{margin-right:.25rem!important}.me-xl-2{margin-right:.5rem!important}.me-xl-3{margin-right:1rem!important}.me-xl-4{margin-right:1.5rem!important}.me-xl-5{margin-right:3rem!important}.me-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ms-xl-0{margin-left:0!important}.ms-xl-1{margin-left:.25rem!important}.ms-xl-2{margin-left:.5rem!important}.ms-xl-3{margin-left:1rem!important}.ms-xl-4{margin-left:1.5rem!important}.ms-xl-5{margin-left:3rem!important}.ms-xl-auto{margin-left:auto!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pe-xl-0{padding-right:0!important}.pe-xl-1{padding-right:.25rem!important}.pe-xl-2{padding-right:.5rem!important}.pe-xl-3{padding-right:1rem!important}.pe-xl-4{padding-right:1.5rem!important}.pe-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.ps-xl-0{padding-left:0!important}.ps-xl-1{padding-left:.25rem!important}.ps-xl-2{padding-left:.5rem!important}.ps-xl-3{padding-left:1rem!important}.ps-xl-4{padding-left:1.5rem!important}.ps-xl-5{padding-left:3rem!important}.gap-xl-0{gap:0!important}.gap-xl-1{gap:.25rem!important}.gap-xl-2{gap:.5rem!important}.gap-xl-3{gap:1rem!important}.gap-xl-4{gap:1.5rem!important}.gap-xl-5{gap:3rem!important}.row-gap-xl-0{row-gap:0!important}.row-gap-xl-1{row-gap:.25rem!important}.row-gap-xl-2{row-gap:.5rem!important}.row-gap-xl-3{row-gap:1rem!important}.row-gap-xl-4{row-gap:1.5rem!important}.row-gap-xl-5{row-gap:3rem!important}.column-gap-xl-0{column-gap:0!important}.column-gap-xl-1{column-gap:.25rem!important}.column-gap-xl-2{column-gap:.5rem!important}.column-gap-xl-3{column-gap:1rem!important}.column-gap-xl-4{column-gap:1.5rem!important}.column-gap-xl-5{column-gap:3rem!important}.text-xl-start{text-align:left!important}.text-xl-end{text-align:right!important}.text-xl-center{text-align:center!important}}@media (min-width: 1400px){.float-xxl-start{float:left!important}.float-xxl-end{float:right!important}.float-xxl-none{float:none!important}.object-fit-xxl-contain{object-fit:contain!important}.object-fit-xxl-cover{object-fit:cover!important}.object-fit-xxl-fill{object-fit:fill!important}.object-fit-xxl-scale{object-fit:scale-down!important}.object-fit-xxl-none{object-fit:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-inline-grid{display:inline-grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:3rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-right:0!important;margin-left:0!important}.mx-xxl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xxl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xxl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xxl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xxl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:3rem!important}.mt-xxl-auto{margin-top:auto!important}.me-xxl-0{margin-right:0!important}.me-xxl-1{margin-right:.25rem!important}.me-xxl-2{margin-right:.5rem!important}.me-xxl-3{margin-right:1rem!important}.me-xxl-4{margin-right:1.5rem!important}.me-xxl-5{margin-right:3rem!important}.me-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:3rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ms-xxl-0{margin-left:0!important}.ms-xxl-1{margin-left:.25rem!important}.ms-xxl-2{margin-left:.5rem!important}.ms-xxl-3{margin-left:1rem!important}.ms-xxl-4{margin-left:1.5rem!important}.ms-xxl-5{margin-left:3rem!important}.ms-xxl-auto{margin-left:auto!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:3rem!important}.px-xxl-0{padding-right:0!important;padding-left:0!important}.px-xxl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xxl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xxl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xxl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xxl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:3rem!important}.pe-xxl-0{padding-right:0!important}.pe-xxl-1{padding-right:.25rem!important}.pe-xxl-2{padding-right:.5rem!important}.pe-xxl-3{padding-right:1rem!important}.pe-xxl-4{padding-right:1.5rem!important}.pe-xxl-5{padding-right:3rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:3rem!important}.ps-xxl-0{padding-left:0!important}.ps-xxl-1{padding-left:.25rem!important}.ps-xxl-2{padding-left:.5rem!important}.ps-xxl-3{padding-left:1rem!important}.ps-xxl-4{padding-left:1.5rem!important}.ps-xxl-5{padding-left:3rem!important}.gap-xxl-0{gap:0!important}.gap-xxl-1{gap:.25rem!important}.gap-xxl-2{gap:.5rem!important}.gap-xxl-3{gap:1rem!important}.gap-xxl-4{gap:1.5rem!important}.gap-xxl-5{gap:3rem!important}.row-gap-xxl-0{row-gap:0!important}.row-gap-xxl-1{row-gap:.25rem!important}.row-gap-xxl-2{row-gap:.5rem!important}.row-gap-xxl-3{row-gap:1rem!important}.row-gap-xxl-4{row-gap:1.5rem!important}.row-gap-xxl-5{row-gap:3rem!important}.column-gap-xxl-0{column-gap:0!important}.column-gap-xxl-1{column-gap:.25rem!important}.column-gap-xxl-2{column-gap:.5rem!important}.column-gap-xxl-3{column-gap:1rem!important}.column-gap-xxl-4{column-gap:1.5rem!important}.column-gap-xxl-5{column-gap:3rem!important}.text-xxl-start{text-align:left!important}.text-xxl-end{text-align:right!important}.text-xxl-center{text-align:center!important}}@media (min-width: 1200px){.fs-1{font-size:3.375rem!important}.fs-2{font-size:1.875rem!important}.fs-3{font-size:1.625rem!important}.fs-4{font-size:1.5rem!important}.fs-5{font-size:1.3125rem!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-inline-grid{display:inline-grid!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.d-print-none{display:none!important}}@font-face{font-family:Roboto;font-style:normal;font-weight:100;src:url("./media/roboto-v30-latin-ext_latin-100.woff") format("woff")}@font-face{font-family:Roboto;font-style:normal;font-weight:300;src:url("./media/roboto-v30-latin-ext_latin-300.woff") format("woff")}@font-face{font-family:Roboto;font-style:normal;font-weight:400;src:url("./media/roboto-v30-latin-ext_latin-400.woff") format("woff")}@font-face{font-family:Roboto;font-style:normal;font-weight:500;src:url("./media/roboto-v30-latin-ext_latin-500.woff") format("woff")}@font-face{font-family:Roboto;font-style:normal;font-weight:700;src:url("./media/roboto-v30-latin-ext_latin-700.woff") format("woff")}h1,.h1{font-weight:100;line-height:1.15;margin:0 0 .5em}h2,.h2{font-weight:300;line-height:1.2;margin:0 0 .5em}h3,.h3{font-weight:300;line-height:1.23;margin:0 0 .5em}h4,.h4{font-weight:300;line-height:1.16;margin:0 0 .5em}h5,.h5{font-weight:300;line-height:1.19;margin:0 0 .5em}h6,.h6{font-weight:300;line-height:1.16;margin:0 0 .5em}.bkd-container{margin:0 auto;padding:0}.bkd-container-limited{max-width:960px;margin-left:0}.table th{padding-top:.25rem;padding-bottom:.25rem;font-weight:500}.table-fixed{table-layout:fixed}@media screen and (max-width: 820px){bkd-evaluate-absences-list>div>table thead,bkd-edit-absences-list>div>table thead{border:none;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}bkd-evaluate-absences-list>div>table tr,bkd-edit-absences-list>div>table tr{border-bottom:2px solid #ddd;display:block}bkd-evaluate-absences-list>div>table td,bkd-edit-absences-list>div>table td{border-bottom:1px solid #ddd;display:block;text-align:right;min-height:50px}bkd-evaluate-absences-list>div>table td:before,bkd-edit-absences-list>div>table td:before{content:attr(data-label);float:left}}a:hover,a:focus{text-decoration:underline;text-decoration-color:#ea161f;color:#000}.btn-link{text-decoration:none}.btn-outline-secondary{color:#000;border-color:#000}.btn-outline-secondary:hover{border-color:#000;background:#e6e6e6}.btn-icon{padding:.5rem;text-decoration:none}.btn-icon:hover{text-decoration:none}ngb-datepicker-navigation-select>.custom-select{font-size:1rem!important}.ngb-dp-day,.ngb-dp-week-number,.ngb-dp-weekday{width:2.5rem!important;height:2.5rem!important}[ngbDatepickerDayView]{width:2.5rem!important;height:2.5rem!important;line-height:2.5rem!important}.ngb-dp-months{padding:.5rem 2rem;background:#f8f9fa}.ngb-dp-weekday{color:#ea161f!important}@media (max-width: 575.98px){.ngb-dp-months{padding:.5rem}}.btn .material-icons{display:block}math,mi,mo,mn{font-size:1rem}mi{font-style:italic}mo{margin-right:.2em;margin-left:.2em}.ng-select-container{border-radius:.25rem!important}.ng-optgroup{border-bottom:1px solid #ccc;color:inherit!important;font-weight:400!important;color:#33333d!important}.ng-option{padding-left:10px!important;padding-top:3px!important;padding-bottom:3px!important;font-weight:400!important;color:#33333d!important}.ng-option-selected{font-weight:400!important;color:#33333d!important}.ng-placeholder{color:#495057!important}.ng-value{padding-left:4px!important}.tooltip-template .tooltip-inner{max-width:100%;border:2px solid;background-color:#fff;color:#000} +@charset "UTF-8";@font-face{font-family:Material Icons;font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/materialicons/v143/flUhRq6tzZclQEJ-Vdg-IuiaDsNc.woff2) format("woff2")}@font-face{font-family:Material Icons Outlined;font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/materialiconsoutlined/v109/gok-H7zzDkdnRel8-DQ6KAXJ69wP1tGnf4ZGhUce.woff2) format("woff2")}.material-icons{font-family:Material Icons;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased}.material-icons-outlined{font-family:Material Icons Outlined;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased}.ng-select.ng-select-opened>.ng-select-container{background:#fff;border-color:hsl(0,0%,70%) #ccc hsl(0,0%,85%)}.ng-select.ng-select-opened>.ng-select-container:hover{box-shadow:none}.ng-select.ng-select-opened>.ng-select-container .ng-arrow{top:-2px;border-color:rgba(0,0,0,0) rgba(0,0,0,0) #999;border-width:0 5px 5px}.ng-select.ng-select-opened>.ng-select-container .ng-arrow:hover{border-color:rgba(0,0,0,0) rgba(0,0,0,0) #333}.ng-select.ng-select-opened.ng-select-top>.ng-select-container{border-top-right-radius:0;border-top-left-radius:0}.ng-select.ng-select-opened.ng-select-right>.ng-select-container{border-top-right-radius:0;border-bottom-right-radius:0}.ng-select.ng-select-opened.ng-select-bottom>.ng-select-container{border-bottom-right-radius:0;border-bottom-left-radius:0}.ng-select.ng-select-opened.ng-select-left>.ng-select-container{border-top-left-radius:0;border-bottom-left-radius:0}.ng-select.ng-select-focused:not(.ng-select-opened)>.ng-select-container{border-color:#007eff;box-shadow:inset 0 1px 1px #00000013,0 0 0 3px #007eff1a}.ng-select.ng-select-disabled>.ng-select-container{background-color:#f9f9f9}.ng-select .ng-has-value .ng-placeholder{display:none}.ng-select .ng-select-container{color:#333;background-color:#fff;border-radius:4px;border:1px solid #ccc;min-height:36px;align-items:center}.ng-select .ng-select-container:hover{box-shadow:0 1px #0000000f}.ng-select .ng-select-container .ng-value-container{align-items:center;padding-left:10px}[dir=rtl] .ng-select .ng-select-container .ng-value-container{padding-right:10px;padding-left:0}.ng-select .ng-select-container .ng-value-container .ng-placeholder{color:#999}.ng-select.ng-select-single .ng-select-container{height:36px}.ng-select.ng-select-single .ng-select-container .ng-value-container .ng-input{top:5px;left:0;padding-left:10px;padding-right:50px}[dir=rtl] .ng-select.ng-select-single .ng-select-container .ng-value-container .ng-input{padding-right:10px;padding-left:50px}.ng-select.ng-select-multiple.ng-select-disabled>.ng-select-container .ng-value-container .ng-value{background-color:#f9f9f9;border:1px solid hsl(0,0%,90%)}.ng-select.ng-select-multiple.ng-select-disabled>.ng-select-container .ng-value-container .ng-value .ng-value-label{padding:0 5px}.ng-select.ng-select-multiple .ng-select-container .ng-value-container{padding-top:5px;padding-left:7px}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container{padding-right:7px;padding-left:0}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{font-size:.9em;margin-bottom:5px;color:#333;background-color:#ebf5ff;border-radius:2px;margin-right:5px}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{margin-right:0;margin-left:5px}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled{background-color:#f9f9f9}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled .ng-value-label{padding-left:5px}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled .ng-value-label{padding-left:0;padding-right:5px}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-label,.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon{display:inline-block;padding:1px 5px}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon:hover{background-color:#d1e8ff}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.left{border-right:1px solid rgb(183.6,218.88,255)}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.left{border-left:1px solid rgb(183.6,218.88,255);border-right:none}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.right{border-left:1px solid rgb(183.6,218.88,255)}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon.right{border-left:0;border-right:1px solid rgb(183.6,218.88,255)}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input{padding:0 0 3px 3px}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input{padding:0 3px 3px 0}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input>input{color:#000}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{top:5px;padding-bottom:5px;padding-left:3px}[dir=rtl] .ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{padding-right:3px;padding-left:0}.ng-select .ng-clear-wrapper{color:#999}.ng-select .ng-clear-wrapper:hover .ng-clear{color:#d0021b}.ng-select .ng-clear-wrapper:focus .ng-clear{color:#d0021b}.ng-select .ng-clear-wrapper:focus{outline:none}.ng-select .ng-spinner-zone{padding:5px 5px 0 0}[dir=rtl] .ng-select .ng-spinner-zone{padding:5px 0 0 5px}.ng-select .ng-arrow-wrapper{width:25px;padding-right:5px}[dir=rtl] .ng-select .ng-arrow-wrapper{padding-left:5px;padding-right:0}.ng-select .ng-arrow-wrapper:hover .ng-arrow{border-top-color:#666}.ng-select .ng-arrow-wrapper .ng-arrow{border-color:#999 rgba(0,0,0,0) rgba(0,0,0,0);border-style:solid;border-width:5px 5px 2.5px}.ng-dropdown-panel{background-color:#fff;border:1px solid #ccc;box-shadow:0 1px #0000000f;left:0}.ng-dropdown-panel.ng-select-top{bottom:100%;border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-color:#e6e6e6;margin-bottom:-1px}.ng-dropdown-panel.ng-select-top .ng-dropdown-panel-items .ng-option:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.ng-dropdown-panel.ng-select-right{left:100%;top:0;border-top-right-radius:4px;border-bottom-right-radius:4px;border-bottom-left-radius:4px;border-bottom-color:#e6e6e6;margin-bottom:-1px}.ng-dropdown-panel.ng-select-right .ng-dropdown-panel-items .ng-option:first-child{border-top-right-radius:4px}.ng-dropdown-panel.ng-select-bottom{top:100%;border-bottom-right-radius:4px;border-bottom-left-radius:4px;border-top-color:#e6e6e6;margin-top:-1px}.ng-dropdown-panel.ng-select-bottom .ng-dropdown-panel-items .ng-option:last-child{border-bottom-right-radius:4px;border-bottom-left-radius:4px}.ng-dropdown-panel.ng-select-left{left:-100%;top:0;border-top-left-radius:4px;border-bottom-right-radius:4px;border-bottom-left-radius:4px;border-bottom-color:#e6e6e6;margin-bottom:-1px}.ng-dropdown-panel.ng-select-left .ng-dropdown-panel-items .ng-option:first-child{border-top-left-radius:4px}.ng-dropdown-panel .ng-dropdown-header{border-bottom:1px solid #ccc;padding:5px 7px}.ng-dropdown-panel .ng-dropdown-footer{border-top:1px solid #ccc;padding:5px 7px}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup{-webkit-user-select:none;user-select:none;padding:8px 10px;font-weight:500;color:#0000008a;cursor:pointer}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-disabled{cursor:default}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-marked{background-color:#f5faff}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-selected,.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup.ng-option-selected.ng-option-marked{color:#0000008a;background-color:#ebf5ff;font-weight:600}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option{background-color:#fff;color:#000000de;padding:8px 10px}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected,.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected.ng-option-marked{color:#333;background-color:#ebf5ff}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected .ng-option-label,.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-selected.ng-option-marked .ng-option-label{font-weight:600}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-marked{background-color:#f5faff;color:#333}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-disabled{color:#ccc}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-child{padding-left:22px}[dir=rtl] .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-child{padding-right:22px;padding-left:0}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .ng-tag-label{font-size:80%;font-weight:400;padding-right:5px}[dir=rtl] .ng-dropdown-panel .ng-dropdown-panel-items .ng-option .ng-tag-label{padding-left:5px;padding-right:0}[dir=rtl] .ng-dropdown-panel{direction:rtl;text-align:right}:root,[data-bs-theme=light]{--bs-blue: #0d6efd;--bs-indigo: #6610f2;--bs-purple: #6f42c1;--bs-pink: #d63384;--bs-red: rgb(234, 22, 31);--bs-orange: rgb(239, 124, 0);--bs-yellow: rgb(255, 168, 20);--bs-green: rgb(61, 134, 8);--bs-teal: #20c997;--bs-cyan: #0dcaf0;--bs-black: #000;--bs-white: #fff;--bs-gray: #6c757d;--bs-gray-dark: #343a40;--bs-gray-100: #f8f9fa;--bs-gray-200: #e9ecef;--bs-gray-300: #dee2e6;--bs-gray-400: #ced4da;--bs-gray-500: #adb5bd;--bs-gray-600: #6c757d;--bs-gray-700: #495057;--bs-gray-800: #343a40;--bs-gray-900: #212529;--bs-primary: rgba(78, 78, 78, .95);--bs-secondary: rgb(222, 222, 222);--bs-success: rgb(61, 134, 8);--bs-info: #0dcaf0;--bs-warning: rgb(255, 168, 20);--bs-danger: rgb(234, 22, 31);--bs-light: #f8f9fa;--bs-dark: #212529;--bs-primary-rgb: 78, 78, 78;--bs-secondary-rgb: 222, 222, 222;--bs-success-rgb: 61, 134, 8;--bs-info-rgb: 13, 202, 240;--bs-warning-rgb: 255, 168, 20;--bs-danger-rgb: 234, 22, 31;--bs-light-rgb: 248, 249, 250;--bs-dark-rgb: 33, 37, 41;--bs-primary-text-emphasis: rgba(29.3465346535, 29.3465346535, 29.3465346535, .98);--bs-secondary-text-emphasis: rgb(88.8, 88.8, 88.8);--bs-success-text-emphasis: rgb(24.4, 53.6, 3.2);--bs-info-text-emphasis: rgb(5.2, 80.8, 96);--bs-warning-text-emphasis: rgb(102, 67.2, 8);--bs-danger-text-emphasis: rgb(93.6, 8.8, 12.4);--bs-light-text-emphasis: #495057;--bs-dark-text-emphasis: #495057;--bs-primary-bg-subtle: rgba(222.3495145631, 222.3495145631, 222.3495145631, .99);--bs-secondary-bg-subtle: rgb(248.4, 248.4, 248.4);--bs-success-bg-subtle: rgb(216.2, 230.8, 205.6);--bs-info-bg-subtle: rgb(206.6, 244.4, 252);--bs-warning-bg-subtle: rgb(255, 237.6, 208);--bs-danger-bg-subtle: rgb(250.8, 208.4, 210.2);--bs-light-bg-subtle: rgb(251.5, 252, 252.5);--bs-dark-bg-subtle: #ced4da;--bs-primary-border-subtle: rgba(188.4059405941, 188.4059405941, 188.4059405941, .98);--bs-secondary-border-subtle: rgb(241.8, 241.8, 241.8);--bs-success-border-subtle: rgb(177.4, 206.6, 156.2);--bs-info-border-subtle: rgb(158.2, 233.8, 249);--bs-warning-border-subtle: rgb(255, 220.2, 161);--bs-danger-border-subtle: rgb(246.6, 161.8, 165.4);--bs-light-border-subtle: #e9ecef;--bs-dark-border-subtle: #adb5bd;--bs-white-rgb: 255, 255, 255;--bs-black-rgb: 0, 0, 0;--bs-font-sans-serif: "Roboto", sans-serif;--bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, .15), rgba(255, 255, 255, 0));--bs-body-font-family: var(--bs-font-sans-serif);--bs-body-font-size: 1rem;--bs-body-font-weight: 300;--bs-body-line-height: 1.625;--bs-body-color: rgb(0, 0, 0);--bs-body-color-rgb: 0, 0, 0;--bs-body-bg: rgb(255, 255, 255);--bs-body-bg-rgb: 255, 255, 255;--bs-emphasis-color: #000;--bs-emphasis-color-rgb: 0, 0, 0;--bs-secondary-color: rgba(0, 0, 0, .75);--bs-secondary-color-rgb: 0, 0, 0;--bs-secondary-bg: #e9ecef;--bs-secondary-bg-rgb: 233, 236, 239;--bs-tertiary-color: rgba(0, 0, 0, .5);--bs-tertiary-color-rgb: 0, 0, 0;--bs-tertiary-bg: #f8f9fa;--bs-tertiary-bg-rgb: 248, 249, 250;--bs-heading-color: inherit;--bs-link-color: rgb(0, 0, 0);--bs-link-color-rgb: 0, 0, 0;--bs-link-decoration: underline;--bs-link-hover-color: rgb(234, 22, 31);--bs-link-hover-color-rgb: 234, 22, 31;--bs-code-color: #d63384;--bs-highlight-color: rgb(0, 0, 0);--bs-highlight-bg: rgb(255, 237.6, 208);--bs-border-width: 1px;--bs-border-style: solid;--bs-border-color: #dee2e6;--bs-border-color-translucent: rgba(0, 0, 0, .175);--bs-border-radius: .375rem;--bs-border-radius-sm: .25rem;--bs-border-radius-lg: .5rem;--bs-border-radius-xl: 1rem;--bs-border-radius-xxl: 2rem;--bs-border-radius-2xl: var(--bs-border-radius-xxl);--bs-border-radius-pill: 50rem;--bs-box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15);--bs-box-shadow-sm: 0 .125rem .25rem rgba(0, 0, 0, .075);--bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, .175);--bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, .075);--bs-focus-ring-width: .25rem;--bs-focus-ring-opacity: .25;--bs-focus-ring-color: rgba(78, 78, 78, .25);--bs-form-valid-color: rgb(61, 134, 8);--bs-form-valid-border-color: rgb(61, 134, 8);--bs-form-invalid-color: rgb(234, 22, 31);--bs-form-invalid-border-color: rgb(234, 22, 31)}[data-bs-theme=dark]{color-scheme:dark;--bs-body-color: #dee2e6;--bs-body-color-rgb: 222, 226, 230;--bs-body-bg: #212529;--bs-body-bg-rgb: 33, 37, 41;--bs-emphasis-color: #fff;--bs-emphasis-color-rgb: 255, 255, 255;--bs-secondary-color: rgba(222, 226, 230, .75);--bs-secondary-color-rgb: 222, 226, 230;--bs-secondary-bg: #343a40;--bs-secondary-bg-rgb: 52, 58, 64;--bs-tertiary-color: rgba(222, 226, 230, .5);--bs-tertiary-color-rgb: 222, 226, 230;--bs-tertiary-bg: rgb(42.5, 47.5, 52.5);--bs-tertiary-bg-rgb: 43, 48, 53;--bs-primary-text-emphasis: rgba(153.0909090909, 153.0909090909, 153.0909090909, .97);--bs-secondary-text-emphasis: rgb(235.2, 235.2, 235.2);--bs-success-text-emphasis: rgb(138.6, 182.4, 106.8);--bs-info-text-emphasis: rgb(109.8, 223.2, 246);--bs-warning-text-emphasis: rgb(255, 202.8, 114);--bs-danger-text-emphasis: rgb(242.4, 115.2, 120.6);--bs-light-text-emphasis: #f8f9fa;--bs-dark-text-emphasis: #dee2e6;--bs-primary-bg-subtle: rgba(14.3883495146, 14.3883495146, 14.3883495146, .99);--bs-secondary-bg-subtle: rgb(44.4, 44.4, 44.4);--bs-success-bg-subtle: rgb(12.2, 26.8, 1.6);--bs-info-bg-subtle: rgb(2.6, 40.4, 48);--bs-warning-bg-subtle: rgb(51, 33.6, 4);--bs-danger-bg-subtle: rgb(46.8, 4.4, 6.2);--bs-light-bg-subtle: #343a40;--bs-dark-bg-subtle: #1a1d20;--bs-primary-border-subtle: rgba(44.9090909091, 44.9090909091, 44.9090909091, .97);--bs-secondary-border-subtle: rgb(133.2, 133.2, 133.2);--bs-success-border-subtle: rgb(36.6, 80.4, 4.8);--bs-info-border-subtle: rgb(7.8, 121.2, 144);--bs-warning-border-subtle: rgb(153, 100.8, 12);--bs-danger-border-subtle: rgb(140.4, 13.2, 18.6);--bs-light-border-subtle: #495057;--bs-dark-border-subtle: #343a40;--bs-heading-color: inherit;--bs-link-color: rgba(153.0909090909, 153.0909090909, 153.0909090909, .97);--bs-link-hover-color: rgba(174.4689872246, 174.4689872246, 174.4689872246, .976);--bs-link-color-rgb: 153, 153, 153;--bs-link-hover-color-rgb: 174, 174, 174;--bs-code-color: rgb(230.4, 132.6, 181.2);--bs-highlight-color: #dee2e6;--bs-highlight-bg: rgb(102, 67.2, 8);--bs-border-color: #495057;--bs-border-color-translucent: rgba(255, 255, 255, .15);--bs-form-valid-color: rgb(138.6, 182.4, 106.8);--bs-form-valid-border-color: rgb(138.6, 182.4, 106.8);--bs-form-invalid-color: rgb(242.4, 115.2, 120.6);--bs-form-invalid-border-color: rgb(242.4, 115.2, 120.6)}*,*:before,*:after{box-sizing:border-box}@media (prefers-reduced-motion: no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}hr{margin:1rem 0;color:inherit;border:0;border-top:var(--bs-border-width) solid;opacity:.25}h6,.h6,h5,.h5,h4,.h4,h3,.h3,h2,.h2,h1,.h1{margin-top:0;margin-bottom:.5rem;font-weight:300;line-height:1.2;color:var(--bs-heading-color)}h1,.h1{font-size:calc(1.4625rem + 2.55vw)}@media (min-width: 1200px){h1,.h1{font-size:3.375rem}}h2,.h2{font-size:calc(1.3125rem + .75vw)}@media (min-width: 1200px){h2,.h2{font-size:1.875rem}}h3,.h3{font-size:calc(1.2875rem + .45vw)}@media (min-width: 1200px){h3,.h3{font-size:1.625rem}}h4,.h4{font-size:calc(1.275rem + .3vw)}@media (min-width: 1200px){h4,.h4{font-size:1.5rem}}h5,.h5{font-size:calc(1.25625rem + .075vw)}@media (min-width: 1200px){h5,.h5{font-size:1.3125rem}}h6,.h6{font-size:1.125rem}p{margin-top:0;margin-bottom:1rem}abbr[title]{text-decoration:underline dotted;cursor:help;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}ol,ul,dl{margin-top:0;margin-bottom:1rem}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small,.small{font-size:.875em}mark,.mark{padding:.1875em;color:var(--bs-highlight-color);background-color:var(--bs-highlight-bg)}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity, 1));text-decoration:underline}a:hover{--bs-link-color-rgb: var(--bs-link-hover-color-rgb)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}pre,code,kbd,samp{font-family:var(--bs-font-monospace);font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:var(--bs-code-color);word-wrap:break-word}a>code{color:inherit}kbd{padding:.1875rem .375rem;font-size:.875em;color:var(--bs-body-bg);background-color:var(--bs-body-color);border-radius:.25rem}kbd kbd{padding:0;font-size:1em}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-secondary-color);text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}thead,tbody,tfoot,tr,td,th{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}input,button,select,optgroup,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none!important}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button:not(:disabled),[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width: 1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-text,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-1{font-size:5rem}}.display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-2{font-size:4.5rem}}.display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-3{font-size:4rem}}.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-4{font-size:3.5rem}}.display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-5{font-size:3rem}}.display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.2}@media (min-width: 1200px){.display-6{font-size:2.5rem}}.list-unstyled,.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:.875em;color:#6c757d}.blockquote-footer:before{content:"\2014\a0"}:root{--bs-breakpoint-xs: 0;--bs-breakpoint-sm: 576px;--bs-breakpoint-md: 768px;--bs-breakpoint-lg: 992px;--bs-breakpoint-xl: 1200px;--bs-breakpoint-xxl: 1400px}.row{--bs-gutter-x: 1.5rem;--bs-gutter-y: 0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-.5 * var(--bs-gutter-x));margin-left:calc(-.5 * var(--bs-gutter-x))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.66666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--bs-gutter-x: 0}.g-0,.gy-0{--bs-gutter-y: 0}.g-1,.gx-1{--bs-gutter-x: .25rem}.g-1,.gy-1{--bs-gutter-y: .25rem}.g-2,.gx-2{--bs-gutter-x: .5rem}.g-2,.gy-2{--bs-gutter-y: .5rem}.g-3,.gx-3{--bs-gutter-x: 1rem}.g-3,.gy-3{--bs-gutter-y: 1rem}.g-4,.gx-4{--bs-gutter-x: 1.5rem}.g-4,.gy-4{--bs-gutter-y: 1.5rem}.g-5,.gx-5{--bs-gutter-x: 3rem}.g-5,.gy-5{--bs-gutter-y: 3rem}@media (min-width: 576px){.col-sm{flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.66666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x: 0}.g-sm-0,.gy-sm-0{--bs-gutter-y: 0}.g-sm-1,.gx-sm-1{--bs-gutter-x: .25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y: .25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x: .5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y: .5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x: 1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y: 1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x: 1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y: 1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x: 3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y: 3rem}}@media (min-width: 768px){.col-md{flex:1 0 0%}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.66666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x: 0}.g-md-0,.gy-md-0{--bs-gutter-y: 0}.g-md-1,.gx-md-1{--bs-gutter-x: .25rem}.g-md-1,.gy-md-1{--bs-gutter-y: .25rem}.g-md-2,.gx-md-2{--bs-gutter-x: .5rem}.g-md-2,.gy-md-2{--bs-gutter-y: .5rem}.g-md-3,.gx-md-3{--bs-gutter-x: 1rem}.g-md-3,.gy-md-3{--bs-gutter-y: 1rem}.g-md-4,.gx-md-4{--bs-gutter-x: 1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y: 1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x: 3rem}.g-md-5,.gy-md-5{--bs-gutter-y: 3rem}}@media (min-width: 992px){.col-lg{flex:1 0 0%}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.66666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x: 0}.g-lg-0,.gy-lg-0{--bs-gutter-y: 0}.g-lg-1,.gx-lg-1{--bs-gutter-x: .25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y: .25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x: .5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y: .5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x: 1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y: 1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x: 1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y: 1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x: 3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y: 3rem}}@media (min-width: 1200px){.col-xl{flex:1 0 0%}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.66666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x: 0}.g-xl-0,.gy-xl-0{--bs-gutter-y: 0}.g-xl-1,.gx-xl-1{--bs-gutter-x: .25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y: .25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x: .5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y: .5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x: 1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y: 1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x: 1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y: 1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x: 3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y: 3rem}}@media (min-width: 1400px){.col-xxl{flex:1 0 0%}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.66666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x: 0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y: 0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x: .25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y: .25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x: .5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y: .5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x: 1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y: 1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x: 1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y: 1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x: 3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y: 3rem}}.table{--bs-table-color-type: initial;--bs-table-bg-type: initial;--bs-table-color-state: initial;--bs-table-bg-state: initial;--bs-table-color: var(--bs-emphasis-color);--bs-table-bg: var(--bs-body-bg);--bs-table-border-color: var(--bs-border-color);--bs-table-accent-bg: transparent;--bs-table-striped-color: var(--bs-emphasis-color);--bs-table-striped-bg: rgba(var(--bs-emphasis-color-rgb), .05);--bs-table-active-color: var(--bs-emphasis-color);--bs-table-active-bg: rgba(var(--bs-emphasis-color-rgb), .1);--bs-table-hover-color: var(--bs-emphasis-color);--bs-table-hover-bg: rgba(var(--bs-emphasis-color-rgb), .075);width:100%;margin-bottom:1rem;vertical-align:top;border-color:var(--bs-table-border-color)}.table>:not(caption)>*>*{padding:.5rem;color:var(--bs-table-color-state, var(--bs-table-color-type, var(--bs-table-color)));background-color:var(--bs-table-bg);border-bottom-width:var(--bs-border-width);box-shadow:inset 0 0 0 9999px var(--bs-table-bg-state, var(--bs-table-bg-type, var(--bs-table-accent-bg)))}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table-group-divider{border-top:calc(var(--bs-border-width) * 2) solid currentcolor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem}.table-bordered>:not(caption)>*{border-width:var(--bs-border-width) 0}.table-bordered>:not(caption)>*>*{border-width:0 var(--bs-border-width)}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-borderless>:not(:first-child){border-top-width:0}.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-color-type: var(--bs-table-striped-color);--bs-table-bg-type: var(--bs-table-striped-bg)}.table-striped-columns>:not(caption)>tr>:nth-child(2n){--bs-table-color-type: var(--bs-table-striped-color);--bs-table-bg-type: var(--bs-table-striped-bg)}.table-active{--bs-table-color-state: var(--bs-table-active-color);--bs-table-bg-state: var(--bs-table-active-bg)}.table-hover>tbody>tr:hover>*{--bs-table-color-state: var(--bs-table-hover-color);--bs-table-bg-state: var(--bs-table-hover-bg)}.table-primary{--bs-table-color: #000;--bs-table-bg: rgba(222.3495145631, 222.3495145631, 222.3495145631, .99);--bs-table-border-color: rgba(177.1637983239, 177.1637983239, 177.1637983239, .992);--bs-table-striped-bg: rgba(211.0188884426, 211.0188884426, 211.0188884426, .9905);--bs-table-striped-color: #000;--bs-table-active-bg: rgba(199.7111063263, 199.7111063263, 199.7111063263, .991);--bs-table-active-color: #000;--bs-table-hover-bg: rgba(205.3621462039, 205.3621462039, 205.3621462039, .99075);--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-secondary{--bs-table-color: #000;--bs-table-bg: rgb(248.4, 248.4, 248.4);--bs-table-border-color: rgb(198.72, 198.72, 198.72);--bs-table-striped-bg: rgb(235.98, 235.98, 235.98);--bs-table-striped-color: #000;--bs-table-active-bg: rgb(223.56, 223.56, 223.56);--bs-table-active-color: #000;--bs-table-hover-bg: rgb(229.77, 229.77, 229.77);--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-success{--bs-table-color: #000;--bs-table-bg: rgb(216.2, 230.8, 205.6);--bs-table-border-color: rgb(172.96, 184.64, 164.48);--bs-table-striped-bg: rgb(205.39, 219.26, 195.32);--bs-table-striped-color: #000;--bs-table-active-bg: rgb(194.58, 207.72, 185.04);--bs-table-active-color: #000;--bs-table-hover-bg: rgb(199.985, 213.49, 190.18);--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-info{--bs-table-color: #000;--bs-table-bg: rgb(206.6, 244.4, 252);--bs-table-border-color: rgb(165.28, 195.52, 201.6);--bs-table-striped-bg: rgb(196.27, 232.18, 239.4);--bs-table-striped-color: #000;--bs-table-active-bg: rgb(185.94, 219.96, 226.8);--bs-table-active-color: #000;--bs-table-hover-bg: rgb(191.105, 226.07, 233.1);--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-warning{--bs-table-color: #000;--bs-table-bg: rgb(255, 237.6, 208);--bs-table-border-color: rgb(204, 190.08, 166.4);--bs-table-striped-bg: rgb(242.25, 225.72, 197.6);--bs-table-striped-color: #000;--bs-table-active-bg: rgb(229.5, 213.84, 187.2);--bs-table-active-color: #000;--bs-table-hover-bg: rgb(235.875, 219.78, 192.4);--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-danger{--bs-table-color: #000;--bs-table-bg: rgb(250.8, 208.4, 210.2);--bs-table-border-color: rgb(200.64, 166.72, 168.16);--bs-table-striped-bg: rgb(238.26, 197.98, 199.69);--bs-table-striped-color: #000;--bs-table-active-bg: rgb(225.72, 187.56, 189.18);--bs-table-active-color: #000;--bs-table-hover-bg: rgb(231.99, 192.77, 194.435);--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-light{--bs-table-color: #000;--bs-table-bg: #f8f9fa;--bs-table-border-color: rgb(198.4, 199.2, 200);--bs-table-striped-bg: rgb(235.6, 236.55, 237.5);--bs-table-striped-color: #000;--bs-table-active-bg: rgb(223.2, 224.1, 225);--bs-table-active-color: #000;--bs-table-hover-bg: rgb(229.4, 230.325, 231.25);--bs-table-hover-color: #000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-dark{--bs-table-color: #fff;--bs-table-bg: #212529;--bs-table-border-color: rgb(77.4, 80.6, 83.8);--bs-table-striped-bg: rgb(44.1, 47.9, 51.7);--bs-table-striped-color: #fff;--bs-table-active-bg: rgb(55.2, 58.8, 62.4);--bs-table-active-color: #fff;--bs-table-hover-bg: rgb(49.65, 53.35, 57.05);--bs-table-hover-color: #fff;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width: 575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width: 1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(.375rem + var(--bs-border-width));padding-bottom:calc(.375rem + var(--bs-border-width));margin-bottom:0;font-size:inherit;line-height:1.625}.col-form-label-lg{padding-top:calc(.5rem + var(--bs-border-width));padding-bottom:calc(.5rem + var(--bs-border-width));font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + var(--bs-border-width));padding-bottom:calc(.25rem + var(--bs-border-width));font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:var(--bs-secondary-color)}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:300;line-height:1.625;color:var(--bs-body-color);appearance:none;background-color:var(--bs-body-bg);background-clip:padding-box;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:0;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:var(--bs-body-color);background-color:var(--bs-body-bg);border-color:#abababf9;outline:0;box-shadow:0 0 0 .25rem #4e4e4e40}.form-control::-webkit-date-and-time-value{min-width:85px;height:1.625em;margin:0}.form-control::-webkit-datetime-edit{display:block;padding:0}.form-control::placeholder{color:var(--bs-secondary-color);opacity:1}.form-control:disabled{background-color:var(--bs-secondary-bg);opacity:1}.form-control::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;margin-inline-end:.75rem;color:var(--bs-body-color);background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:var(--bs-secondary-bg)}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.625;color:var(--bs-body-color);background-color:transparent;border:solid transparent;border-width:var(--bs-border-width) 0}.form-control-plaintext:focus{outline:0}.form-control-plaintext.form-control-sm,.form-control-plaintext.form-control-lg{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.625em + .5rem + calc(var(--bs-border-width) * 2));padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.625em + 1rem + calc(var(--bs-border-width) * 2));padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.625em + .75rem + calc(var(--bs-border-width) * 2))}textarea.form-control-sm{min-height:calc(1.625em + .5rem + calc(var(--bs-border-width) * 2))}textarea.form-control-lg{min-height:calc(1.625em + 1rem + calc(var(--bs-border-width) * 2))}.form-control-color{width:3rem;height:calc(1.625em + .75rem + calc(var(--bs-border-width) * 2));padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{border:0!important;border-radius:0}.form-control-color::-webkit-color-swatch{border:0!important;border-radius:0}.form-control-color.form-control-sm{height:calc(1.625em + .5rem + calc(var(--bs-border-width) * 2))}.form-control-color.form-control-lg{height:calc(1.625em + 1rem + calc(var(--bs-border-width) * 2))}.form-select{--bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;font-size:1rem;font-weight:300;line-height:1.625;color:var(--bs-body-color);appearance:none;background-color:var(--bs-body-bg);background-image:var(--bs-form-select-bg-img),var(--bs-form-select-bg-icon, none);background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:0;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-select{transition:none}}.form-select:focus{border-color:#abababf9;outline:0;box-shadow:0 0 0 .25rem #4e4e4e40}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}.form-select:disabled{background-color:var(--bs-secondary-bg)}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 var(--bs-body-color)}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}[data-bs-theme=dark] .form-select{--bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e")}.form-check{display:block;min-height:1.625rem;padding-left:1.5em;margin-bottom:1rem}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-reverse{padding-right:1.5em;padding-left:0;text-align:right}.form-check-reverse .form-check-input{float:right;margin-right:-1.5em;margin-left:0}.form-check-input{--bs-form-check-bg: var(--bs-body-bg);flex-shrink:0;width:1em;height:1em;margin-top:.3125em;vertical-align:top;appearance:none;background-color:var(--bs-form-check-bg);background-image:var(--bs-form-check-bg-image);background-repeat:no-repeat;background-position:center;background-size:contain;border:var(--bs-border-width) solid var(--bs-border-color);-webkit-print-color-adjust:exact;print-color-adjust:exact}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#abababf9;outline:0;box-shadow:0 0 0 .25rem #4e4e4e40}.form-check-input:checked{background-color:#4e4e4ef2;border-color:#4e4e4ef2}.form-check-input:checked[type=checkbox]{--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:#4e4e4ef2;border-color:#4e4e4ef2;--bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input[disabled]~.form-check-label,.form-check-input:disabled~.form-check-label{cursor:default;opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");width:2em;margin-left:-2.5em;background-image:var(--bs-form-switch-bg);background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28170.925, 170.925, 170.925, 0.975%29'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.form-switch.form-check-reverse{padding-right:2.5em;padding-left:0}.form-switch.form-check-reverse .form-check-input{margin-right:-2.5em;margin-left:0}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.btn-check[disabled]+.btn,.btn-check:disabled+.btn{pointer-events:none;filter:none;opacity:.65}[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus){--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e")}.form-range{width:100%;height:1.5rem;padding:0;appearance:none;background-color:transparent}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem #4e4e4e40}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem #4e4e4e40}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;appearance:none;background-color:#4e4e4ef2;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-range::-webkit-slider-thumb{transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#cececefb}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-secondary-bg);border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;appearance:none;background-color:#4e4e4ef2;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-range::-moz-range-thumb{transition:none}}.form-range::-moz-range-thumb:active{background-color:#cececefb}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-secondary-bg);border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:var(--bs-secondary-color)}.form-range:disabled::-moz-range-thumb{background-color:var(--bs-secondary-color)}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-control-plaintext,.form-floating>.form-select{height:calc(3.5rem + calc(var(--bs-border-width) * 2));min-height:calc(3.5rem + calc(var(--bs-border-width) * 2));line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;z-index:2;height:100%;padding:1rem .75rem;overflow:hidden;text-align:start;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;border:var(--bs-border-width) solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media (prefers-reduced-motion: reduce){.form-floating>label{transition:none}}.form-floating>.form-control,.form-floating>.form-control-plaintext{padding:1rem .75rem}.form-floating>.form-control::placeholder,.form-floating>.form-control-plaintext::placeholder{color:transparent}.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown),.form-floating>.form-control-plaintext:focus,.form-floating>.form-control-plaintext:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:-webkit-autofill,.form-floating>.form-control-plaintext:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-control-plaintext~label,.form-floating>.form-select~label{color:rgba(var(--bs-body-color-rgb),.65);transform:scale(.85) translateY(-.5rem) translate(.15rem)}.form-floating>.form-control:focus~label:after,.form-floating>.form-control:not(:placeholder-shown)~label:after,.form-floating>.form-control-plaintext~label:after,.form-floating>.form-select~label:after{position:absolute;inset:1rem .375rem;z-index:-1;height:1.5em;content:"";background-color:var(--bs-body-bg);border-radius:0}.form-floating>.form-control:-webkit-autofill~label{color:rgba(var(--bs-body-color-rgb),.65);transform:scale(.85) translateY(-.5rem) translate(.15rem)}.form-floating>.form-control-plaintext~label{border-width:var(--bs-border-width) 0}.form-floating>:disabled~label,.form-floating>.form-control:disabled~label{color:#6c757d}.form-floating>:disabled~label:after,.form-floating>.form-control:disabled~label:after{background-color:var(--bs-secondary-bg)}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-select,.input-group>.form-floating{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-select:focus,.input-group>.form-floating:focus-within{z-index:5}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:5}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:300;line-height:1.625;color:var(--bs-body-color);text-align:center;white-space:nowrap;background-color:var(--bs-tertiary-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:0}.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text,.input-group-lg>.btn{padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text,.input-group-sm>.btn{padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-control,.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select{border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-control,.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-select{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:calc(var(--bs-border-width) * -1);border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.form-floating:not(:first-child)>.form-control,.input-group>.form-floating:not(:first-child)>.form-select{border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-valid-color)}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-success);border-radius:var(--bs-border-radius)}.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip,.is-valid~.valid-feedback,.is-valid~.valid-tooltip{display:block}.was-validated .form-control:valid,.form-control.is-valid{border-color:var(--bs-form-valid-border-color);padding-right:calc(1.625em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='rgb%2861, 134, 8%29' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.40625em + .1875rem) center;background-size:calc(.8125em + .375rem) calc(.8125em + .375rem)}.was-validated .form-control:valid:focus,.form-control.is-valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.625em + .75rem);background-position:top calc(.40625em + .1875rem) right calc(.40625em + .1875rem)}.was-validated .form-select:valid,.form-select.is-valid{border-color:var(--bs-form-valid-border-color)}.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"],.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"]{--bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='rgb%2861, 134, 8%29' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.8125em + .375rem) calc(.8125em + .375rem)}.was-validated .form-select:valid:focus,.form-select.is-valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated .form-control-color:valid,.form-control-color.is-valid{width:calc(3.75rem + 1.625em)}.was-validated .form-check-input:valid,.form-check-input.is-valid{border-color:var(--bs-form-valid-border-color)}.was-validated .form-check-input:valid:checked,.form-check-input.is-valid:checked{background-color:var(--bs-form-valid-color)}.was-validated .form-check-input:valid:focus,.form-check-input.is-valid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated .form-check-input:valid~.form-check-label,.form-check-input.is-valid~.form-check-label{color:var(--bs-form-valid-color)}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.was-validated .input-group>.form-control:not(:focus):valid,.input-group>.form-control:not(:focus).is-valid,.was-validated .input-group>.form-select:not(:focus):valid,.input-group>.form-select:not(:focus).is-valid,.was-validated .input-group>.form-floating:not(:focus-within):valid,.input-group>.form-floating:not(:focus-within).is-valid{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-invalid-color)}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-danger);border-radius:var(--bs-border-radius)}.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip,.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip{display:block}.was-validated .form-control:invalid,.form-control.is-invalid{border-color:var(--bs-form-invalid-border-color);padding-right:calc(1.625em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='rgb%28234, 22, 31%29'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='rgb%28234, 22, 31%29' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.40625em + .1875rem) center;background-size:calc(.8125em + .375rem) calc(.8125em + .375rem)}.was-validated .form-control:invalid:focus,.form-control.is-invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.625em + .75rem);background-position:top calc(.40625em + .1875rem) right calc(.40625em + .1875rem)}.was-validated .form-select:invalid,.form-select.is-invalid{border-color:var(--bs-form-invalid-border-color)}.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"],.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"]{--bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='rgb%28234, 22, 31%29'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='rgb%28234, 22, 31%29' stroke='none'/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.8125em + .375rem) calc(.8125em + .375rem)}.was-validated .form-select:invalid:focus,.form-select.is-invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated .form-control-color:invalid,.form-control-color.is-invalid{width:calc(3.75rem + 1.625em)}.was-validated .form-check-input:invalid,.form-check-input.is-invalid{border-color:var(--bs-form-invalid-border-color)}.was-validated .form-check-input:invalid:checked,.form-check-input.is-invalid:checked{background-color:var(--bs-form-invalid-color)}.was-validated .form-check-input:invalid:focus,.form-check-input.is-invalid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated .form-check-input:invalid~.form-check-label,.form-check-input.is-invalid~.form-check-label{color:var(--bs-form-invalid-color)}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.was-validated .input-group>.form-control:not(:focus):invalid,.input-group>.form-control:not(:focus).is-invalid,.was-validated .input-group>.form-select:not(:focus):invalid,.input-group>.form-select:not(:focus).is-invalid,.was-validated .input-group>.form-floating:not(:focus-within):invalid,.input-group>.form-floating:not(:focus-within).is-invalid{z-index:4}.btn{--bs-btn-padding-x: 1.5rem;--bs-btn-padding-y: .375rem;--bs-btn-font-family: ;--bs-btn-font-size: 1rem;--bs-btn-font-weight: 400;--bs-btn-line-height: 1.625;--bs-btn-color: var(--bs-body-color);--bs-btn-bg: transparent;--bs-btn-border-width: var(--bs-border-width);--bs-btn-border-color: transparent;--bs-btn-border-radius: 2.5rem;--bs-btn-hover-border-color: transparent;--bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075);--bs-btn-disabled-opacity: .25;--bs-btn-focus-box-shadow: 0 0 0 .25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);display:inline-block;padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);font-family:var(--bs-btn-font-family);font-size:var(--bs-btn-font-size);font-weight:var(--bs-btn-font-weight);line-height:var(--bs-btn-line-height);color:var(--bs-btn-color);text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;user-select:none;border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);border-radius:var(--bs-btn-border-radius);background-color:var(--bs-btn-bg);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.btn{transition:none}}.btn:hover{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color)}.btn-check+.btn:hover{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color)}.btn:focus-visible{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:focus-visible+.btn{border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked+.btn,:not(.btn-check)+.btn:active,.btn:first-child:active,.btn.active,.btn.show{color:var(--bs-btn-active-color);background-color:var(--bs-btn-active-bg);border-color:var(--bs-btn-active-border-color)}.btn-check:checked+.btn:focus-visible,:not(.btn-check)+.btn:active:focus-visible,.btn:first-child:active:focus-visible,.btn.active:focus-visible,.btn.show:focus-visible{box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked:focus-visible+.btn{box-shadow:var(--bs-btn-focus-box-shadow)}.btn:disabled,.btn.disabled,fieldset:disabled .btn{color:var(--bs-btn-disabled-color);pointer-events:none;background-color:var(--bs-btn-disabled-bg);border-color:var(--bs-btn-disabled-border-color);opacity:var(--bs-btn-disabled-opacity)}.btn-primary{--bs-btn-color: #fff;--bs-btn-bg: rgba(78, 78, 78, .95);--bs-btn-border-color: rgba(78, 78, 78, .95);--bs-btn-hover-color: #fff;--bs-btn-hover-bg: rgba(65.2694300518, 65.2694300518, 65.2694300518, .9575);--bs-btn-hover-border-color: rgba(61.1134020619, 61.1134020619, 61.1134020619, .96);--bs-btn-focus-shadow-rgb: 107, 107, 107;--bs-btn-active-color: #fff;--bs-btn-active-bg: rgba(61.1134020619, 61.1134020619, 61.1134020619, .96);--bs-btn-active-border-color: rgba(57, 57, 57, .9625);--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: rgba(78, 78, 78, .95);--bs-btn-disabled-border-color: rgba(78, 78, 78, .95)}.btn-secondary{--bs-btn-color: #000;--bs-btn-bg: rgb(222, 222, 222);--bs-btn-border-color: rgb(222, 222, 222);--bs-btn-hover-color: #000;--bs-btn-hover-bg: rgb(226.95, 226.95, 226.95);--bs-btn-hover-border-color: rgb(225.3, 225.3, 225.3);--bs-btn-focus-shadow-rgb: 189, 189, 189;--bs-btn-active-color: #000;--bs-btn-active-bg: rgb(228.6, 228.6, 228.6);--bs-btn-active-border-color: rgb(225.3, 225.3, 225.3);--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: rgb(222, 222, 222);--bs-btn-disabled-border-color: rgb(222, 222, 222)}.btn-success{--bs-btn-color: #fff;--bs-btn-bg: rgb(61, 134, 8);--bs-btn-border-color: rgb(61, 134, 8);--bs-btn-hover-color: #fff;--bs-btn-hover-bg: rgb(51.85, 113.9, 6.8);--bs-btn-hover-border-color: rgb(48.8, 107.2, 6.4);--bs-btn-focus-shadow-rgb: 90, 152, 45;--bs-btn-active-color: #fff;--bs-btn-active-bg: rgb(48.8, 107.2, 6.4);--bs-btn-active-border-color: rgb(45.75, 100.5, 6);--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: rgb(61, 134, 8);--bs-btn-disabled-border-color: rgb(61, 134, 8)}.btn-info{--bs-btn-color: #000;--bs-btn-bg: #0dcaf0;--bs-btn-border-color: #0dcaf0;--bs-btn-hover-color: #000;--bs-btn-hover-bg: rgb(49.3, 209.95, 242.25);--bs-btn-hover-border-color: rgb(37.2, 207.3, 241.5);--bs-btn-focus-shadow-rgb: 11, 172, 204;--bs-btn-active-color: #000;--bs-btn-active-bg: rgb(61.4, 212.6, 243);--bs-btn-active-border-color: rgb(37.2, 207.3, 241.5);--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #0dcaf0;--bs-btn-disabled-border-color: #0dcaf0}.btn-warning{--bs-btn-color: #000;--bs-btn-bg: rgb(255, 168, 20);--bs-btn-border-color: rgb(255, 168, 20);--bs-btn-hover-color: #000;--bs-btn-hover-bg: rgb(255, 181.05, 55.25);--bs-btn-hover-border-color: rgb(255, 176.7, 43.5);--bs-btn-focus-shadow-rgb: 217, 143, 17;--bs-btn-active-color: #000;--bs-btn-active-bg: rgb(255, 185.4, 67);--bs-btn-active-border-color: rgb(255, 176.7, 43.5);--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: rgb(255, 168, 20);--bs-btn-disabled-border-color: rgb(255, 168, 20)}.btn-danger{--bs-btn-color: #fff;--bs-btn-bg: rgb(234, 22, 31);--bs-btn-border-color: rgb(234, 22, 31);--bs-btn-hover-color: #fff;--bs-btn-hover-bg: rgb(198.9, 18.7, 26.35);--bs-btn-hover-border-color: rgb(187.2, 17.6, 24.8);--bs-btn-focus-shadow-rgb: 237, 57, 65;--bs-btn-active-color: #fff;--bs-btn-active-bg: rgb(187.2, 17.6, 24.8);--bs-btn-active-border-color: rgb(175.5, 16.5, 23.25);--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: rgb(234, 22, 31);--bs-btn-disabled-border-color: rgb(234, 22, 31)}.btn-light{--bs-btn-color: #000;--bs-btn-bg: #f8f9fa;--bs-btn-border-color: #f8f9fa;--bs-btn-hover-color: #000;--bs-btn-hover-bg: rgb(210.8, 211.65, 212.5);--bs-btn-hover-border-color: rgb(198.4, 199.2, 200);--bs-btn-focus-shadow-rgb: 211, 212, 213;--bs-btn-active-color: #000;--bs-btn-active-bg: rgb(198.4, 199.2, 200);--bs-btn-active-border-color: rgb(186, 186.75, 187.5);--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #000;--bs-btn-disabled-bg: #f8f9fa;--bs-btn-disabled-border-color: #f8f9fa}.btn-dark{--bs-btn-color: #fff;--bs-btn-bg: #212529;--bs-btn-border-color: #212529;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: rgb(66.3, 69.7, 73.1);--bs-btn-hover-border-color: rgb(55.2, 58.8, 62.4);--bs-btn-focus-shadow-rgb: 66, 70, 73;--bs-btn-active-color: #fff;--bs-btn-active-bg: rgb(77.4, 80.6, 83.8);--bs-btn-active-border-color: rgb(55.2, 58.8, 62.4);--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #fff;--bs-btn-disabled-bg: #212529;--bs-btn-disabled-border-color: #212529}.btn-outline-primary{--bs-btn-color: rgba(78, 78, 78, .95);--bs-btn-border-color: rgba(78, 78, 78, .95);--bs-btn-hover-color: #fff;--bs-btn-hover-bg: rgba(78, 78, 78, .95);--bs-btn-hover-border-color: rgba(78, 78, 78, .95);--bs-btn-focus-shadow-rgb: 78, 78, 78;--bs-btn-active-color: #fff;--bs-btn-active-bg: rgba(78, 78, 78, .95);--bs-btn-active-border-color: rgba(78, 78, 78, .95);--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: rgba(78, 78, 78, .95);--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: rgba(78, 78, 78, .95);--bs-gradient: none}.btn-outline-secondary{--bs-btn-color: rgb(222, 222, 222);--bs-btn-border-color: rgb(222, 222, 222);--bs-btn-hover-color: #000;--bs-btn-hover-bg: rgb(222, 222, 222);--bs-btn-hover-border-color: rgb(222, 222, 222);--bs-btn-focus-shadow-rgb: 222, 222, 222;--bs-btn-active-color: #000;--bs-btn-active-bg: rgb(222, 222, 222);--bs-btn-active-border-color: rgb(222, 222, 222);--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: rgb(222, 222, 222);--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: rgb(222, 222, 222);--bs-gradient: none}.btn-outline-success{--bs-btn-color: rgb(61, 134, 8);--bs-btn-border-color: rgb(61, 134, 8);--bs-btn-hover-color: #fff;--bs-btn-hover-bg: rgb(61, 134, 8);--bs-btn-hover-border-color: rgb(61, 134, 8);--bs-btn-focus-shadow-rgb: 61, 134, 8;--bs-btn-active-color: #fff;--bs-btn-active-bg: rgb(61, 134, 8);--bs-btn-active-border-color: rgb(61, 134, 8);--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: rgb(61, 134, 8);--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: rgb(61, 134, 8);--bs-gradient: none}.btn-outline-info{--bs-btn-color: #0dcaf0;--bs-btn-border-color: #0dcaf0;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #0dcaf0;--bs-btn-hover-border-color: #0dcaf0;--bs-btn-focus-shadow-rgb: 13, 202, 240;--bs-btn-active-color: #000;--bs-btn-active-bg: #0dcaf0;--bs-btn-active-border-color: #0dcaf0;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #0dcaf0;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #0dcaf0;--bs-gradient: none}.btn-outline-warning{--bs-btn-color: rgb(255, 168, 20);--bs-btn-border-color: rgb(255, 168, 20);--bs-btn-hover-color: #000;--bs-btn-hover-bg: rgb(255, 168, 20);--bs-btn-hover-border-color: rgb(255, 168, 20);--bs-btn-focus-shadow-rgb: 255, 168, 20;--bs-btn-active-color: #000;--bs-btn-active-bg: rgb(255, 168, 20);--bs-btn-active-border-color: rgb(255, 168, 20);--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: rgb(255, 168, 20);--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: rgb(255, 168, 20);--bs-gradient: none}.btn-outline-danger{--bs-btn-color: rgb(234, 22, 31);--bs-btn-border-color: rgb(234, 22, 31);--bs-btn-hover-color: #fff;--bs-btn-hover-bg: rgb(234, 22, 31);--bs-btn-hover-border-color: rgb(234, 22, 31);--bs-btn-focus-shadow-rgb: 234, 22, 31;--bs-btn-active-color: #fff;--bs-btn-active-bg: rgb(234, 22, 31);--bs-btn-active-border-color: rgb(234, 22, 31);--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: rgb(234, 22, 31);--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: rgb(234, 22, 31);--bs-gradient: none}.btn-outline-light{--bs-btn-color: #f8f9fa;--bs-btn-border-color: #f8f9fa;--bs-btn-hover-color: #000;--bs-btn-hover-bg: #f8f9fa;--bs-btn-hover-border-color: #f8f9fa;--bs-btn-focus-shadow-rgb: 248, 249, 250;--bs-btn-active-color: #000;--bs-btn-active-bg: #f8f9fa;--bs-btn-active-border-color: #f8f9fa;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #f8f9fa;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #f8f9fa;--bs-gradient: none}.btn-outline-dark{--bs-btn-color: #212529;--bs-btn-border-color: #212529;--bs-btn-hover-color: #fff;--bs-btn-hover-bg: #212529;--bs-btn-hover-border-color: #212529;--bs-btn-focus-shadow-rgb: 33, 37, 41;--bs-btn-active-color: #fff;--bs-btn-active-bg: #212529;--bs-btn-active-border-color: #212529;--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);--bs-btn-disabled-color: #212529;--bs-btn-disabled-bg: transparent;--bs-btn-disabled-border-color: #212529;--bs-gradient: none}.btn-link{--bs-btn-font-weight: 400;--bs-btn-color: var(--bs-link-color);--bs-btn-bg: transparent;--bs-btn-border-color: transparent;--bs-btn-hover-color: var(--bs-link-hover-color);--bs-btn-hover-border-color: transparent;--bs-btn-active-color: var(--bs-link-hover-color);--bs-btn-active-border-color: transparent;--bs-btn-disabled-color: #6c757d;--bs-btn-disabled-border-color: transparent;--bs-btn-box-shadow: 0 0 0 #000;--bs-btn-focus-shadow-rgb: 38, 38, 38;text-decoration:underline}.btn-link:focus-visible{color:var(--bs-btn-color)}.btn-link:hover{color:var(--bs-btn-hover-color)}.btn-lg{--bs-btn-padding-y: .5rem;--bs-btn-padding-x: 1rem;--bs-btn-font-size: 1.25rem;--bs-btn-border-radius: var(--bs-border-radius-lg)}.btn-sm{--bs-btn-padding-y: .25rem;--bs-btn-padding-x: .5rem;--bs-btn-font-size: .875rem;--bs-btn-border-radius: var(--bs-border-radius-sm)}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion: reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion: reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media (prefers-reduced-motion: reduce){.collapsing.collapse-horizontal{transition:none}}.dropup,.dropend,.dropdown,.dropstart,.dropup-center,.dropdown-center{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty:after{margin-left:0}.dropdown-menu{--bs-dropdown-zindex: 1000;--bs-dropdown-min-width: 10rem;--bs-dropdown-padding-x: 0;--bs-dropdown-padding-y: .5rem;--bs-dropdown-spacer: .125rem;--bs-dropdown-font-size: 1rem;--bs-dropdown-color: var(--bs-body-color);--bs-dropdown-bg: var(--bs-body-bg);--bs-dropdown-border-color: var(--bs-border-color-translucent);--bs-dropdown-border-radius: var(--bs-border-radius);--bs-dropdown-border-width: var(--bs-border-width);--bs-dropdown-inner-border-radius: calc(var(--bs-border-radius) - var(--bs-border-width));--bs-dropdown-divider-bg: var(--bs-border-color-translucent);--bs-dropdown-divider-margin-y: .5rem;--bs-dropdown-box-shadow: var(--bs-box-shadow);--bs-dropdown-link-color: var(--bs-body-color);--bs-dropdown-link-hover-color: var(--bs-body-color);--bs-dropdown-link-hover-bg: var(--bs-tertiary-bg);--bs-dropdown-link-active-color: #fff;--bs-dropdown-link-active-bg: rgba(78, 78, 78, .95);--bs-dropdown-link-disabled-color: var(--bs-tertiary-color);--bs-dropdown-item-padding-x: 1rem;--bs-dropdown-item-padding-y: .25rem;--bs-dropdown-header-color: #6c757d;--bs-dropdown-header-padding-x: 1rem;--bs-dropdown-header-padding-y: .5rem;position:absolute;z-index:var(--bs-dropdown-zindex);display:none;min-width:var(--bs-dropdown-min-width);padding:var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);margin:0;font-size:var(--bs-dropdown-font-size);color:var(--bs-dropdown-color);text-align:left;list-style:none;background-color:var(--bs-dropdown-bg);background-clip:padding-box;border:var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);border-radius:var(--bs-dropdown-border-radius)}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:var(--bs-dropdown-spacer)}.dropdown-menu-start{--bs-position: start}.dropdown-menu-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-end{--bs-position: end}.dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media (min-width: 576px){.dropdown-menu-sm-start{--bs-position: start}.dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-sm-end{--bs-position: end}.dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 768px){.dropdown-menu-md-start{--bs-position: start}.dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-md-end{--bs-position: end}.dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 992px){.dropdown-menu-lg-start{--bs-position: start}.dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-lg-end{--bs-position: end}.dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 1200px){.dropdown-menu-xl-start{--bs-position: start}.dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xl-end{--bs-position: end}.dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media (min-width: 1400px){.dropdown-menu-xxl-start{--bs-position: start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xxl-end{--bs-position: end}.dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:var(--bs-dropdown-spacer)}.dropup .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty:after{margin-left:0}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:var(--bs-dropdown-spacer)}.dropend .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropend .dropdown-toggle:empty:after{margin-left:0}.dropend .dropdown-toggle:after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:var(--bs-dropdown-spacer)}.dropstart .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle:after{display:none}.dropstart .dropdown-toggle:before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropstart .dropdown-toggle:empty:after{margin-left:0}.dropstart .dropdown-toggle:before{vertical-align:0}.dropdown-divider{height:0;margin:var(--bs-dropdown-divider-margin-y) 0;overflow:hidden;border-top:1px solid var(--bs-dropdown-divider-bg);opacity:1}.dropdown-item{display:block;width:100%;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);clear:both;font-weight:400;color:var(--bs-dropdown-link-color);text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0;border-radius:var(--bs-dropdown-item-border-radius, 0)}.dropdown-item:hover,.dropdown-item:focus{color:var(--bs-dropdown-link-hover-color);background-color:var(--bs-dropdown-link-hover-bg)}.dropdown-item.active,.dropdown-item:active{color:var(--bs-dropdown-link-active-color);text-decoration:none;background-color:var(--bs-dropdown-link-active-bg)}.dropdown-item.disabled,.dropdown-item:disabled{color:var(--bs-dropdown-link-disabled-color);pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);margin-bottom:0;font-size:.875rem;color:var(--bs-dropdown-header-color);white-space:nowrap}.dropdown-item-text{display:block;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);color:var(--bs-dropdown-link-color)}.dropdown-menu-dark{--bs-dropdown-color: #dee2e6;--bs-dropdown-bg: #343a40;--bs-dropdown-border-color: var(--bs-border-color-translucent);--bs-dropdown-box-shadow: ;--bs-dropdown-link-color: #dee2e6;--bs-dropdown-link-hover-color: #fff;--bs-dropdown-divider-bg: var(--bs-border-color-translucent);--bs-dropdown-link-hover-bg: rgba(255, 255, 255, .15);--bs-dropdown-link-active-color: #fff;--bs-dropdown-link-active-bg: rgba(78, 78, 78, .95);--bs-dropdown-link-disabled-color: #adb5bd;--bs-dropdown-header-color: #adb5bd}.alert{--bs-alert-bg: transparent;--bs-alert-padding-x: 1rem;--bs-alert-padding-y: 1rem;--bs-alert-margin-bottom: 1rem;--bs-alert-color: inherit;--bs-alert-border-color: transparent;--bs-alert-border: var(--bs-border-width) solid var(--bs-alert-border-color);--bs-alert-border-radius: var(--bs-border-radius);--bs-alert-link-color: inherit;position:relative;padding:var(--bs-alert-padding-y) var(--bs-alert-padding-x);margin-bottom:var(--bs-alert-margin-bottom);color:var(--bs-alert-color);background-color:var(--bs-alert-bg);border:var(--bs-alert-border);border-radius:var(--bs-alert-border-radius)}.alert-heading{color:inherit}.alert-link{font-weight:700;color:var(--bs-alert-link-color)}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-primary{--bs-alert-color: var(--bs-primary-text-emphasis);--bs-alert-bg: var(--bs-primary-bg-subtle);--bs-alert-border-color: var(--bs-primary-border-subtle);--bs-alert-link-color: var(--bs-primary-text-emphasis)}.alert-secondary{--bs-alert-color: var(--bs-secondary-text-emphasis);--bs-alert-bg: var(--bs-secondary-bg-subtle);--bs-alert-border-color: var(--bs-secondary-border-subtle);--bs-alert-link-color: var(--bs-secondary-text-emphasis)}.alert-success{--bs-alert-color: var(--bs-success-text-emphasis);--bs-alert-bg: var(--bs-success-bg-subtle);--bs-alert-border-color: var(--bs-success-border-subtle);--bs-alert-link-color: var(--bs-success-text-emphasis)}.alert-info{--bs-alert-color: var(--bs-info-text-emphasis);--bs-alert-bg: var(--bs-info-bg-subtle);--bs-alert-border-color: var(--bs-info-border-subtle);--bs-alert-link-color: var(--bs-info-text-emphasis)}.alert-warning{--bs-alert-color: var(--bs-warning-text-emphasis);--bs-alert-bg: var(--bs-warning-bg-subtle);--bs-alert-border-color: var(--bs-warning-border-subtle);--bs-alert-link-color: var(--bs-warning-text-emphasis)}.alert-danger{--bs-alert-color: var(--bs-danger-text-emphasis);--bs-alert-bg: var(--bs-danger-bg-subtle);--bs-alert-border-color: var(--bs-danger-border-subtle);--bs-alert-link-color: var(--bs-danger-text-emphasis)}.alert-light{--bs-alert-color: var(--bs-light-text-emphasis);--bs-alert-bg: var(--bs-light-bg-subtle);--bs-alert-border-color: var(--bs-light-border-subtle);--bs-alert-link-color: var(--bs-light-text-emphasis)}.alert-dark{--bs-alert-color: var(--bs-dark-text-emphasis);--bs-alert-bg: var(--bs-dark-bg-subtle);--bs-alert-border-color: var(--bs-dark-border-subtle);--bs-alert-link-color: var(--bs-dark-text-emphasis)}.btn-close{--bs-btn-close-color: #000;--bs-btn-close-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e");--bs-btn-close-opacity: .5;--bs-btn-close-hover-opacity: .75;--bs-btn-close-focus-shadow: 0 0 0 .25rem rgba(78, 78, 78, .25);--bs-btn-close-focus-opacity: 1;--bs-btn-close-disabled-opacity: .25;--bs-btn-close-white-filter: invert(1) grayscale(100%) brightness(200%);box-sizing:content-box;width:1em;height:1em;padding:.25em;color:var(--bs-btn-close-color);background:transparent var(--bs-btn-close-bg) center/1em auto no-repeat;border:0;border-radius:.375rem;opacity:var(--bs-btn-close-opacity)}.btn-close:hover{color:var(--bs-btn-close-color);text-decoration:none;opacity:var(--bs-btn-close-hover-opacity)}.btn-close:focus{outline:0;box-shadow:var(--bs-btn-close-focus-shadow);opacity:var(--bs-btn-close-focus-opacity)}.btn-close:disabled,.btn-close.disabled{pointer-events:none;-webkit-user-select:none;user-select:none;opacity:var(--bs-btn-close-disabled-opacity)}.btn-close-white,[data-bs-theme=dark] .btn-close{filter:var(--bs-btn-close-white-filter)}.toast{--bs-toast-zindex: 1090;--bs-toast-padding-x: .75rem;--bs-toast-padding-y: .5rem;--bs-toast-spacing: 1.5rem;--bs-toast-max-width: 350px;--bs-toast-font-size: .875rem;--bs-toast-color: ;--bs-toast-bg: rgba(var(--bs-body-bg-rgb), .85);--bs-toast-border-width: var(--bs-border-width);--bs-toast-border-color: var(--bs-border-color-translucent);--bs-toast-border-radius: var(--bs-border-radius);--bs-toast-box-shadow: var(--bs-box-shadow);--bs-toast-header-color: var(--bs-secondary-color);--bs-toast-header-bg: rgba(var(--bs-body-bg-rgb), .85);--bs-toast-header-border-color: var(--bs-border-color-translucent);width:var(--bs-toast-max-width);max-width:100%;font-size:var(--bs-toast-font-size);color:var(--bs-toast-color);pointer-events:auto;background-color:var(--bs-toast-bg);background-clip:padding-box;border:var(--bs-toast-border-width) solid var(--bs-toast-border-color);box-shadow:var(--bs-toast-box-shadow);border-radius:var(--bs-toast-border-radius)}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{--bs-toast-zindex: 1090;position:absolute;z-index:var(--bs-toast-zindex);width:max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:var(--bs-toast-spacing)}.toast-header{display:flex;align-items:center;padding:var(--bs-toast-padding-y) var(--bs-toast-padding-x);color:var(--bs-toast-header-color);background-color:var(--bs-toast-header-bg);background-clip:padding-box;border-bottom:var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);border-top-left-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));border-top-right-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width))}.toast-header .btn-close{margin-right:calc(-.5 * var(--bs-toast-padding-x));margin-left:var(--bs-toast-padding-x)}.toast-body{padding:var(--bs-toast-padding-x);word-wrap:break-word}.modal{--bs-modal-zindex: 1055;--bs-modal-width: 500px;--bs-modal-padding: 1rem;--bs-modal-margin: .5rem;--bs-modal-color: ;--bs-modal-bg: var(--bs-body-bg);--bs-modal-border-color: var(--bs-border-color-translucent);--bs-modal-border-width: var(--bs-border-width);--bs-modal-border-radius: var(--bs-border-radius-lg);--bs-modal-box-shadow: var(--bs-box-shadow-sm);--bs-modal-inner-border-radius: calc(var(--bs-border-radius-lg) - (var(--bs-border-width)));--bs-modal-header-padding-x: 1rem;--bs-modal-header-padding-y: 1rem;--bs-modal-header-padding: 1rem 1rem;--bs-modal-header-border-color: var(--bs-border-color);--bs-modal-header-border-width: var(--bs-border-width);--bs-modal-title-line-height: 1.625;--bs-modal-footer-gap: .5rem;--bs-modal-footer-bg: ;--bs-modal-footer-border-color: var(--bs-border-color);--bs-modal-footer-border-width: var(--bs-border-width);position:fixed;top:0;left:0;z-index:var(--bs-modal-zindex);display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:var(--bs-modal-margin);pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translateY(-50px)}@media (prefers-reduced-motion: reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - var(--bs-modal-margin) * 2)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - var(--bs-modal-margin) * 2)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;color:var(--bs-modal-color);pointer-events:auto;background-color:var(--bs-modal-bg);background-clip:padding-box;border:var(--bs-modal-border-width) solid var(--bs-modal-border-color);border-radius:var(--bs-modal-border-radius);outline:0}.modal-backdrop{--bs-backdrop-zindex: 1050;--bs-backdrop-bg: #000;--bs-backdrop-opacity: .5;position:fixed;top:0;left:0;z-index:var(--bs-backdrop-zindex);width:100vw;height:100vh;background-color:var(--bs-backdrop-bg)}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:var(--bs-backdrop-opacity)}.modal-header{display:flex;flex-shrink:0;align-items:center;padding:var(--bs-modal-header-padding);border-bottom:var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);border-top-left-radius:var(--bs-modal-inner-border-radius);border-top-right-radius:var(--bs-modal-inner-border-radius)}.modal-header .btn-close{padding:calc(var(--bs-modal-header-padding-y) * .5) calc(var(--bs-modal-header-padding-x) * .5);margin:calc(-.5 * var(--bs-modal-header-padding-y)) calc(-.5 * var(--bs-modal-header-padding-x)) calc(-.5 * var(--bs-modal-header-padding-y)) auto}.modal-title{margin-bottom:0;line-height:var(--bs-modal-title-line-height)}.modal-body{position:relative;flex:1 1 auto;padding:var(--bs-modal-padding)}.modal-footer{display:flex;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * .5);background-color:var(--bs-modal-footer-bg);border-top:var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);border-bottom-right-radius:var(--bs-modal-inner-border-radius);border-bottom-left-radius:var(--bs-modal-inner-border-radius)}.modal-footer>*{margin:calc(var(--bs-modal-footer-gap) * .5)}@media (min-width: 576px){.modal{--bs-modal-margin: 1.75rem;--bs-modal-box-shadow: var(--bs-box-shadow)}.modal-dialog{max-width:var(--bs-modal-width);margin-right:auto;margin-left:auto}.modal-sm{--bs-modal-width: 300px}}@media (min-width: 992px){.modal-lg,.modal-xl{--bs-modal-width: 800px}}@media (min-width: 1200px){.modal-xl{--bs-modal-width: 1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-header,.modal-fullscreen .modal-footer{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}@media (max-width: 575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-header,.modal-fullscreen-sm-down .modal-footer{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}}@media (max-width: 767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-header,.modal-fullscreen-md-down .modal-footer{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}}@media (max-width: 991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-header,.modal-fullscreen-lg-down .modal-footer{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}}@media (max-width: 1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-header,.modal-fullscreen-xl-down .modal-footer{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}}@media (max-width: 1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-header,.modal-fullscreen-xxl-down .modal-footer{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}}.tooltip{--bs-tooltip-zindex: 1080;--bs-tooltip-max-width: 200px;--bs-tooltip-padding-x: .5rem;--bs-tooltip-padding-y: .25rem;--bs-tooltip-margin: ;--bs-tooltip-font-size: .875rem;--bs-tooltip-color: var(--bs-body-bg);--bs-tooltip-bg: var(--bs-emphasis-color);--bs-tooltip-border-radius: var(--bs-border-radius);--bs-tooltip-opacity: .9;--bs-tooltip-arrow-width: .8rem;--bs-tooltip-arrow-height: .4rem;z-index:var(--bs-tooltip-zindex);display:block;margin:var(--bs-tooltip-margin);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.625;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-tooltip-font-size);word-wrap:break-word;opacity:0}.tooltip.show{opacity:var(--bs-tooltip-opacity)}.tooltip .tooltip-arrow{display:block;width:var(--bs-tooltip-arrow-width);height:var(--bs-tooltip-arrow-height)}.tooltip .tooltip-arrow:before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-top .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow{bottom:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-top .tooltip-arrow:before,.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow:before{top:-1px;border-width:var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-top-color:var(--bs-tooltip-bg)}.bs-tooltip-end .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow{left:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-end .tooltip-arrow:before,.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow:before{right:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-right-color:var(--bs-tooltip-bg)}.bs-tooltip-bottom .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow{top:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-bottom .tooltip-arrow:before,.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow:before{bottom:-1px;border-width:0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-bottom-color:var(--bs-tooltip-bg)}.bs-tooltip-start .tooltip-arrow,.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow{right:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-start .tooltip-arrow:before,.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow:before{left:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) 0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-left-color:var(--bs-tooltip-bg)}.tooltip-inner{max-width:var(--bs-tooltip-max-width);padding:var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);color:var(--bs-tooltip-color);text-align:center;background-color:var(--bs-tooltip-bg);border-radius:var(--bs-tooltip-border-radius)}.spinner-grow,.spinner-border{display:inline-block;width:var(--bs-spinner-width);height:var(--bs-spinner-height);vertical-align:var(--bs-spinner-vertical-align);border-radius:50%;animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name)}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{--bs-spinner-width: 2rem;--bs-spinner-height: 2rem;--bs-spinner-vertical-align: -.125em;--bs-spinner-border-width: .25em;--bs-spinner-animation-speed: .75s;--bs-spinner-animation-name: spinner-border;border:var(--bs-spinner-border-width) solid currentcolor;border-right-color:transparent}.spinner-border-sm{--bs-spinner-width: 1rem;--bs-spinner-height: 1rem;--bs-spinner-border-width: .2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{--bs-spinner-width: 2rem;--bs-spinner-height: 2rem;--bs-spinner-vertical-align: -.125em;--bs-spinner-animation-speed: .75s;--bs-spinner-animation-name: spinner-grow;background-color:currentcolor;opacity:0}.spinner-grow-sm{--bs-spinner-width: 1rem;--bs-spinner-height: 1rem}@media (prefers-reduced-motion: reduce){.spinner-border,.spinner-grow{--bs-spinner-animation-speed: 1.5s}}.clearfix:after{display:block;clear:both;content:""}.text-bg-primary{color:#fff!important;background-color:RGBA(var(--bs-primary-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-secondary{color:#000!important;background-color:RGBA(var(--bs-secondary-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-success{color:#fff!important;background-color:RGBA(var(--bs-success-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-info{color:#000!important;background-color:RGBA(var(--bs-info-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-warning{color:#000!important;background-color:RGBA(var(--bs-warning-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-danger{color:#fff!important;background-color:RGBA(var(--bs-danger-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-light{color:#000!important;background-color:RGBA(var(--bs-light-rgb),var(--bs-bg-opacity, 1))!important}.text-bg-dark{color:#fff!important;background-color:RGBA(var(--bs-dark-rgb),var(--bs-bg-opacity, 1))!important}.link-primary{color:RGBA(var(--bs-primary-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-primary-rgb),var(--bs-link-underline-opacity, 1))!important}.link-primary:hover,.link-primary:focus{color:RGBA(61,61,61,var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(61,61,61,var(--bs-link-underline-opacity, 1))!important}.link-secondary{color:RGBA(var(--bs-secondary-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-secondary-rgb),var(--bs-link-underline-opacity, 1))!important}.link-secondary:hover,.link-secondary:focus{color:RGBA(229,229,229,var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(229,229,229,var(--bs-link-underline-opacity, 1))!important}.link-success{color:RGBA(var(--bs-success-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-success-rgb),var(--bs-link-underline-opacity, 1))!important}.link-success:hover,.link-success:focus{color:RGBA(49,107,6,var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(49,107,6,var(--bs-link-underline-opacity, 1))!important}.link-info{color:RGBA(var(--bs-info-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-info-rgb),var(--bs-link-underline-opacity, 1))!important}.link-info:hover,.link-info:focus{color:RGBA(61,213,243,var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(61,213,243,var(--bs-link-underline-opacity, 1))!important}.link-warning{color:RGBA(var(--bs-warning-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-warning-rgb),var(--bs-link-underline-opacity, 1))!important}.link-warning:hover,.link-warning:focus{color:RGBA(255,185,67,var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(255,185,67,var(--bs-link-underline-opacity, 1))!important}.link-danger{color:RGBA(var(--bs-danger-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-danger-rgb),var(--bs-link-underline-opacity, 1))!important}.link-danger:hover,.link-danger:focus{color:RGBA(187,18,25,var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(187,18,25,var(--bs-link-underline-opacity, 1))!important}.link-light{color:RGBA(var(--bs-light-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-light-rgb),var(--bs-link-underline-opacity, 1))!important}.link-light:hover,.link-light:focus{color:RGBA(249,250,251,var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(249,250,251,var(--bs-link-underline-opacity, 1))!important}.link-dark{color:RGBA(var(--bs-dark-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-dark-rgb),var(--bs-link-underline-opacity, 1))!important}.link-dark:hover,.link-dark:focus{color:RGBA(26,30,33,var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(26,30,33,var(--bs-link-underline-opacity, 1))!important}.link-body-emphasis{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity, 1))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity, 1))!important}.link-body-emphasis:hover,.link-body-emphasis:focus{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity, .75))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity, .75))!important}.focus-ring:focus{outline:0;box-shadow:var(--bs-focus-ring-x, 0) var(--bs-focus-ring-y, 0) var(--bs-focus-ring-blur, 0) var(--bs-focus-ring-width) var(--bs-focus-ring-color)}.icon-link{display:inline-flex;gap:.375rem;align-items:center;text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity, .5));text-underline-offset:.25em;backface-visibility:hidden}.icon-link>.bi{flex-shrink:0;width:1em;height:1em;fill:currentcolor;transition:.2s ease-in-out transform}@media (prefers-reduced-motion: reduce){.icon-link>.bi{transition:none}}.icon-link-hover:hover>.bi,.icon-link-hover:focus-visible>.bi{transform:var(--bs-icon-link-transform, translate3d(.25em, 0, 0))}.ratio{position:relative;width:100%}.ratio:before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio: 100%}.ratio-4x3{--bs-aspect-ratio: 75%}.ratio-16x9{--bs-aspect-ratio: 56.25%}.ratio-21x9{--bs-aspect-ratio: 42.8571428571%}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top{position:sticky;top:0;z-index:1020}.sticky-bottom{position:sticky;bottom:0;z-index:1020}@media (min-width: 576px){.sticky-sm-top{position:sticky;top:0;z-index:1020}.sticky-sm-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 768px){.sticky-md-top{position:sticky;top:0;z-index:1020}.sticky-md-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 992px){.sticky-lg-top{position:sticky;top:0;z-index:1020}.sticky-lg-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 1200px){.sticky-xl-top{position:sticky;top:0;z-index:1020}.sticky-xl-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 1400px){.sticky-xxl-top{position:sticky;top:0;z-index:1020}.sticky-xxl-bottom{position:sticky;bottom:0;z-index:1020}}.hstack{display:flex;flex-direction:row;align-items:center;align-self:stretch}.vstack{display:flex;flex:1 1 auto;flex-direction:column;align-self:stretch}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.visually-hidden:not(caption),.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption){position:absolute!important}.stretched-link:after{position:absolute;inset:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;align-self:stretch;width:var(--bs-border-width);min-height:1em;background-color:currentcolor;opacity:.25}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.float-start{float:left!important}.float-end{float:right!important}.float-none{float:none!important}.object-fit-contain{object-fit:contain!important}.object-fit-cover{object-fit:cover!important}.object-fit-fill{object-fit:fill!important}.object-fit-scale{object-fit:scale-down!important}.object-fit-none{object-fit:none!important}.opacity-0{opacity:0!important}.opacity-25{opacity:.25!important}.opacity-50{opacity:.5!important}.opacity-75{opacity:.75!important}.opacity-100{opacity:1!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow:scroll!important}.overflow-x-auto{overflow-x:auto!important}.overflow-x-hidden{overflow-x:hidden!important}.overflow-x-visible{overflow-x:visible!important}.overflow-x-scroll{overflow-x:scroll!important}.overflow-y-auto{overflow-y:auto!important}.overflow-y-hidden{overflow-y:hidden!important}.overflow-y-visible{overflow-y:visible!important}.overflow-y-scroll{overflow-y:scroll!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-inline-grid{display:inline-grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.shadow{box-shadow:var(--bs-box-shadow)!important}.shadow-sm{box-shadow:var(--bs-box-shadow-sm)!important}.shadow-lg{box-shadow:var(--bs-box-shadow-lg)!important}.shadow-none{box-shadow:none!important}.focus-ring-primary{--bs-focus-ring-color: rgba(var(--bs-primary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-secondary{--bs-focus-ring-color: rgba(var(--bs-secondary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-success{--bs-focus-ring-color: rgba(var(--bs-success-rgb), var(--bs-focus-ring-opacity))}.focus-ring-info{--bs-focus-ring-color: rgba(var(--bs-info-rgb), var(--bs-focus-ring-opacity))}.focus-ring-warning{--bs-focus-ring-color: rgba(var(--bs-warning-rgb), var(--bs-focus-ring-opacity))}.focus-ring-danger{--bs-focus-ring-color: rgba(var(--bs-danger-rgb), var(--bs-focus-ring-opacity))}.focus-ring-light{--bs-focus-ring-color: rgba(var(--bs-light-rgb), var(--bs-focus-ring-opacity))}.focus-ring-dark{--bs-focus-ring-color: rgba(var(--bs-dark-rgb), var(--bs-focus-ring-opacity))}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:sticky!important}.top-0{top:0!important}.top-50{top:50%!important}.top-100{top:100%!important}.bottom-0{bottom:0!important}.bottom-50{bottom:50%!important}.bottom-100{bottom:100%!important}.start-0{left:0!important}.start-50{left:50%!important}.start-100{left:100%!important}.end-0{right:0!important}.end-50{right:50%!important}.end-100{right:100%!important}.translate-middle{transform:translate(-50%,-50%)!important}.translate-middle-x{transform:translate(-50%)!important}.translate-middle-y{transform:translateY(-50%)!important}.border{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-0{border:0!important}.border-top{border-top:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-top-0{border-top:0!important}.border-end{border-right:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-end-0{border-right:0!important}.border-bottom{border-bottom:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-bottom-0{border-bottom:0!important}.border-start{border-left:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-start-0{border-left:0!important}.border-primary{--bs-border-opacity: 1;border-color:rgba(var(--bs-primary-rgb),var(--bs-border-opacity))!important}.border-secondary{--bs-border-opacity: 1;border-color:rgba(var(--bs-secondary-rgb),var(--bs-border-opacity))!important}.border-success{--bs-border-opacity: 1;border-color:rgba(var(--bs-success-rgb),var(--bs-border-opacity))!important}.border-info{--bs-border-opacity: 1;border-color:rgba(var(--bs-info-rgb),var(--bs-border-opacity))!important}.border-warning{--bs-border-opacity: 1;border-color:rgba(var(--bs-warning-rgb),var(--bs-border-opacity))!important}.border-danger{--bs-border-opacity: 1;border-color:rgba(var(--bs-danger-rgb),var(--bs-border-opacity))!important}.border-light{--bs-border-opacity: 1;border-color:rgba(var(--bs-light-rgb),var(--bs-border-opacity))!important}.border-dark{--bs-border-opacity: 1;border-color:rgba(var(--bs-dark-rgb),var(--bs-border-opacity))!important}.border-black{--bs-border-opacity: 1;border-color:rgba(var(--bs-black-rgb),var(--bs-border-opacity))!important}.border-white{--bs-border-opacity: 1;border-color:rgba(var(--bs-white-rgb),var(--bs-border-opacity))!important}.border-primary-subtle{border-color:var(--bs-primary-border-subtle)!important}.border-secondary-subtle{border-color:var(--bs-secondary-border-subtle)!important}.border-success-subtle{border-color:var(--bs-success-border-subtle)!important}.border-info-subtle{border-color:var(--bs-info-border-subtle)!important}.border-warning-subtle{border-color:var(--bs-warning-border-subtle)!important}.border-danger-subtle{border-color:var(--bs-danger-border-subtle)!important}.border-light-subtle{border-color:var(--bs-light-border-subtle)!important}.border-dark-subtle{border-color:var(--bs-dark-border-subtle)!important}.border-1{border-width:1px!important}.border-2{border-width:2px!important}.border-3{border-width:3px!important}.border-4{border-width:4px!important}.border-5{border-width:5px!important}.border-opacity-10{--bs-border-opacity: .1}.border-opacity-25{--bs-border-opacity: .25}.border-opacity-50{--bs-border-opacity: .5}.border-opacity-75{--bs-border-opacity: .75}.border-opacity-100{--bs-border-opacity: 1}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.me-0{margin-right:0!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.me-3{margin-right:1rem!important}.me-4{margin-right:1.5rem!important}.me-5{margin-right:3rem!important}.me-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ms-0{margin-left:0!important}.ms-1{margin-left:.25rem!important}.ms-2{margin-left:.5rem!important}.ms-3{margin-left:1rem!important}.ms-4{margin-left:1.5rem!important}.ms-5{margin-left:3rem!important}.ms-auto{margin-left:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pe-0{padding-right:0!important}.pe-1{padding-right:.25rem!important}.pe-2{padding-right:.5rem!important}.pe-3{padding-right:1rem!important}.pe-4{padding-right:1.5rem!important}.pe-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.ps-0{padding-left:0!important}.ps-1{padding-left:.25rem!important}.ps-2{padding-left:.5rem!important}.ps-3{padding-left:1rem!important}.ps-4{padding-left:1.5rem!important}.ps-5{padding-left:3rem!important}.gap-0{gap:0!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.gap-4{gap:1.5rem!important}.gap-5{gap:3rem!important}.row-gap-0{row-gap:0!important}.row-gap-1{row-gap:.25rem!important}.row-gap-2{row-gap:.5rem!important}.row-gap-3{row-gap:1rem!important}.row-gap-4{row-gap:1.5rem!important}.row-gap-5{row-gap:3rem!important}.column-gap-0{column-gap:0!important}.column-gap-1{column-gap:.25rem!important}.column-gap-2{column-gap:.5rem!important}.column-gap-3{column-gap:1rem!important}.column-gap-4{column-gap:1.5rem!important}.column-gap-5{column-gap:3rem!important}.font-monospace{font-family:var(--bs-font-monospace)!important}.fs-1{font-size:calc(1.4625rem + 2.55vw)!important}.fs-2{font-size:calc(1.3125rem + .75vw)!important}.fs-3{font-size:calc(1.2875rem + .45vw)!important}.fs-4{font-size:calc(1.275rem + .3vw)!important}.fs-5{font-size:calc(1.25625rem + .075vw)!important}.fs-6{font-size:1.125rem!important}.fst-italic{font-style:italic!important}.fst-normal{font-style:normal!important}.fw-lighter{font-weight:lighter!important}.fw-light{font-weight:300!important}.fw-normal{font-weight:400!important}.fw-medium,.fw-semibold{font-weight:500!important}.fw-bold{font-weight:700!important}.fw-bolder{font-weight:bolder!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.25!important}.lh-base{line-height:1.625!important}.lh-lg{line-height:2!important}.text-start{text-align:left!important}.text-end{text-align:right!important}.text-center{text-align:center!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-decoration-line-through{text-decoration:line-through!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-break{word-wrap:break-word!important;word-break:break-word!important}.text-primary{--bs-text-opacity: 1;color:rgba(var(--bs-primary-rgb),var(--bs-text-opacity))!important}.text-secondary{--bs-text-opacity: 1;color:rgba(var(--bs-secondary-rgb),var(--bs-text-opacity))!important}.text-success{--bs-text-opacity: 1;color:rgba(var(--bs-success-rgb),var(--bs-text-opacity))!important}.text-info{--bs-text-opacity: 1;color:rgba(var(--bs-info-rgb),var(--bs-text-opacity))!important}.text-warning{--bs-text-opacity: 1;color:rgba(var(--bs-warning-rgb),var(--bs-text-opacity))!important}.text-danger{--bs-text-opacity: 1;color:rgba(var(--bs-danger-rgb),var(--bs-text-opacity))!important}.text-light{--bs-text-opacity: 1;color:rgba(var(--bs-light-rgb),var(--bs-text-opacity))!important}.text-dark{--bs-text-opacity: 1;color:rgba(var(--bs-dark-rgb),var(--bs-text-opacity))!important}.text-black{--bs-text-opacity: 1;color:rgba(var(--bs-black-rgb),var(--bs-text-opacity))!important}.text-white{--bs-text-opacity: 1;color:rgba(var(--bs-white-rgb),var(--bs-text-opacity))!important}.text-body{--bs-text-opacity: 1;color:rgba(var(--bs-body-color-rgb),var(--bs-text-opacity))!important}.text-muted{--bs-text-opacity: 1;color:var(--bs-secondary-color)!important}.text-black-50{--bs-text-opacity: 1;color:#00000080!important}.text-white-50{--bs-text-opacity: 1;color:#ffffff80!important}.text-body-secondary{--bs-text-opacity: 1;color:var(--bs-secondary-color)!important}.text-body-tertiary{--bs-text-opacity: 1;color:var(--bs-tertiary-color)!important}.text-body-emphasis{--bs-text-opacity: 1;color:var(--bs-emphasis-color)!important}.text-reset{--bs-text-opacity: 1;color:inherit!important}.text-opacity-25{--bs-text-opacity: .25}.text-opacity-50{--bs-text-opacity: .5}.text-opacity-75{--bs-text-opacity: .75}.text-opacity-100{--bs-text-opacity: 1}.text-primary-emphasis{color:var(--bs-primary-text-emphasis)!important}.text-secondary-emphasis{color:var(--bs-secondary-text-emphasis)!important}.text-success-emphasis{color:var(--bs-success-text-emphasis)!important}.text-info-emphasis{color:var(--bs-info-text-emphasis)!important}.text-warning-emphasis{color:var(--bs-warning-text-emphasis)!important}.text-danger-emphasis{color:var(--bs-danger-text-emphasis)!important}.text-light-emphasis{color:var(--bs-light-text-emphasis)!important}.text-dark-emphasis{color:var(--bs-dark-text-emphasis)!important}.link-opacity-10,.link-opacity-10-hover:hover{--bs-link-opacity: .1}.link-opacity-25,.link-opacity-25-hover:hover{--bs-link-opacity: .25}.link-opacity-50,.link-opacity-50-hover:hover{--bs-link-opacity: .5}.link-opacity-75,.link-opacity-75-hover:hover{--bs-link-opacity: .75}.link-opacity-100,.link-opacity-100-hover:hover{--bs-link-opacity: 1}.link-offset-1,.link-offset-1-hover:hover{text-underline-offset:.125em!important}.link-offset-2,.link-offset-2-hover:hover{text-underline-offset:.25em!important}.link-offset-3,.link-offset-3-hover:hover{text-underline-offset:.375em!important}.link-underline-primary{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-primary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-secondary{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-secondary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-success{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-success-rgb),var(--bs-link-underline-opacity))!important}.link-underline-info{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-info-rgb),var(--bs-link-underline-opacity))!important}.link-underline-warning{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-warning-rgb),var(--bs-link-underline-opacity))!important}.link-underline-danger{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-danger-rgb),var(--bs-link-underline-opacity))!important}.link-underline-light{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-light-rgb),var(--bs-link-underline-opacity))!important}.link-underline-dark{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-dark-rgb),var(--bs-link-underline-opacity))!important}.link-underline{--bs-link-underline-opacity: 1;text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-underline-opacity, 1))!important}.link-underline-opacity-0,.link-underline-opacity-0-hover:hover{--bs-link-underline-opacity: 0}.link-underline-opacity-10,.link-underline-opacity-10-hover:hover{--bs-link-underline-opacity: .1}.link-underline-opacity-25,.link-underline-opacity-25-hover:hover{--bs-link-underline-opacity: .25}.link-underline-opacity-50,.link-underline-opacity-50-hover:hover{--bs-link-underline-opacity: .5}.link-underline-opacity-75,.link-underline-opacity-75-hover:hover{--bs-link-underline-opacity: .75}.link-underline-opacity-100,.link-underline-opacity-100-hover:hover{--bs-link-underline-opacity: 1}.bg-primary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-primary-rgb),var(--bs-bg-opacity))!important}.bg-secondary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-secondary-rgb),var(--bs-bg-opacity))!important}.bg-success{--bs-bg-opacity: 1;background-color:rgba(var(--bs-success-rgb),var(--bs-bg-opacity))!important}.bg-info{--bs-bg-opacity: 1;background-color:rgba(var(--bs-info-rgb),var(--bs-bg-opacity))!important}.bg-warning{--bs-bg-opacity: 1;background-color:rgba(var(--bs-warning-rgb),var(--bs-bg-opacity))!important}.bg-danger{--bs-bg-opacity: 1;background-color:rgba(var(--bs-danger-rgb),var(--bs-bg-opacity))!important}.bg-light{--bs-bg-opacity: 1;background-color:rgba(var(--bs-light-rgb),var(--bs-bg-opacity))!important}.bg-dark{--bs-bg-opacity: 1;background-color:rgba(var(--bs-dark-rgb),var(--bs-bg-opacity))!important}.bg-black{--bs-bg-opacity: 1;background-color:rgba(var(--bs-black-rgb),var(--bs-bg-opacity))!important}.bg-white{--bs-bg-opacity: 1;background-color:rgba(var(--bs-white-rgb),var(--bs-bg-opacity))!important}.bg-body{--bs-bg-opacity: 1;background-color:rgba(var(--bs-body-bg-rgb),var(--bs-bg-opacity))!important}.bg-transparent{--bs-bg-opacity: 1;background-color:transparent!important}.bg-body-secondary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-secondary-bg-rgb),var(--bs-bg-opacity))!important}.bg-body-tertiary{--bs-bg-opacity: 1;background-color:rgba(var(--bs-tertiary-bg-rgb),var(--bs-bg-opacity))!important}.bg-opacity-10{--bs-bg-opacity: .1}.bg-opacity-25{--bs-bg-opacity: .25}.bg-opacity-50{--bs-bg-opacity: .5}.bg-opacity-75{--bs-bg-opacity: .75}.bg-opacity-100{--bs-bg-opacity: 1}.bg-primary-subtle{background-color:var(--bs-primary-bg-subtle)!important}.bg-secondary-subtle{background-color:var(--bs-secondary-bg-subtle)!important}.bg-success-subtle{background-color:var(--bs-success-bg-subtle)!important}.bg-info-subtle{background-color:var(--bs-info-bg-subtle)!important}.bg-warning-subtle{background-color:var(--bs-warning-bg-subtle)!important}.bg-danger-subtle{background-color:var(--bs-danger-bg-subtle)!important}.bg-light-subtle{background-color:var(--bs-light-bg-subtle)!important}.bg-dark-subtle{background-color:var(--bs-dark-bg-subtle)!important}.bg-gradient{background-image:var(--bs-gradient)!important}.user-select-all{-webkit-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.rounded{border-radius:var(--bs-border-radius)!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:var(--bs-border-radius-sm)!important}.rounded-2{border-radius:var(--bs-border-radius)!important}.rounded-3{border-radius:var(--bs-border-radius-lg)!important}.rounded-4{border-radius:var(--bs-border-radius-xl)!important}.rounded-5{border-radius:var(--bs-border-radius-xxl)!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:var(--bs-border-radius-pill)!important}.rounded-top{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-0{border-top-left-radius:0!important;border-top-right-radius:0!important}.rounded-top-1{border-top-left-radius:var(--bs-border-radius-sm)!important;border-top-right-radius:var(--bs-border-radius-sm)!important}.rounded-top-2{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-3{border-top-left-radius:var(--bs-border-radius-lg)!important;border-top-right-radius:var(--bs-border-radius-lg)!important}.rounded-top-4{border-top-left-radius:var(--bs-border-radius-xl)!important;border-top-right-radius:var(--bs-border-radius-xl)!important}.rounded-top-5{border-top-left-radius:var(--bs-border-radius-xxl)!important;border-top-right-radius:var(--bs-border-radius-xxl)!important}.rounded-top-circle{border-top-left-radius:50%!important;border-top-right-radius:50%!important}.rounded-top-pill{border-top-left-radius:var(--bs-border-radius-pill)!important;border-top-right-radius:var(--bs-border-radius-pill)!important}.rounded-end{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-0{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.rounded-end-1{border-top-right-radius:var(--bs-border-radius-sm)!important;border-bottom-right-radius:var(--bs-border-radius-sm)!important}.rounded-end-2{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-3{border-top-right-radius:var(--bs-border-radius-lg)!important;border-bottom-right-radius:var(--bs-border-radius-lg)!important}.rounded-end-4{border-top-right-radius:var(--bs-border-radius-xl)!important;border-bottom-right-radius:var(--bs-border-radius-xl)!important}.rounded-end-5{border-top-right-radius:var(--bs-border-radius-xxl)!important;border-bottom-right-radius:var(--bs-border-radius-xxl)!important}.rounded-end-circle{border-top-right-radius:50%!important;border-bottom-right-radius:50%!important}.rounded-end-pill{border-top-right-radius:var(--bs-border-radius-pill)!important;border-bottom-right-radius:var(--bs-border-radius-pill)!important}.rounded-bottom{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-0{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.rounded-bottom-1{border-bottom-right-radius:var(--bs-border-radius-sm)!important;border-bottom-left-radius:var(--bs-border-radius-sm)!important}.rounded-bottom-2{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-3{border-bottom-right-radius:var(--bs-border-radius-lg)!important;border-bottom-left-radius:var(--bs-border-radius-lg)!important}.rounded-bottom-4{border-bottom-right-radius:var(--bs-border-radius-xl)!important;border-bottom-left-radius:var(--bs-border-radius-xl)!important}.rounded-bottom-5{border-bottom-right-radius:var(--bs-border-radius-xxl)!important;border-bottom-left-radius:var(--bs-border-radius-xxl)!important}.rounded-bottom-circle{border-bottom-right-radius:50%!important;border-bottom-left-radius:50%!important}.rounded-bottom-pill{border-bottom-right-radius:var(--bs-border-radius-pill)!important;border-bottom-left-radius:var(--bs-border-radius-pill)!important}.rounded-start{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-0{border-bottom-left-radius:0!important;border-top-left-radius:0!important}.rounded-start-1{border-bottom-left-radius:var(--bs-border-radius-sm)!important;border-top-left-radius:var(--bs-border-radius-sm)!important}.rounded-start-2{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-3{border-bottom-left-radius:var(--bs-border-radius-lg)!important;border-top-left-radius:var(--bs-border-radius-lg)!important}.rounded-start-4{border-bottom-left-radius:var(--bs-border-radius-xl)!important;border-top-left-radius:var(--bs-border-radius-xl)!important}.rounded-start-5{border-bottom-left-radius:var(--bs-border-radius-xxl)!important;border-top-left-radius:var(--bs-border-radius-xxl)!important}.rounded-start-circle{border-bottom-left-radius:50%!important;border-top-left-radius:50%!important}.rounded-start-pill{border-bottom-left-radius:var(--bs-border-radius-pill)!important;border-top-left-radius:var(--bs-border-radius-pill)!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}.z-n1{z-index:-1!important}.z-0{z-index:0!important}.z-1{z-index:1!important}.z-2{z-index:2!important}.z-3{z-index:3!important}@media (min-width: 576px){.float-sm-start{float:left!important}.float-sm-end{float:right!important}.float-sm-none{float:none!important}.object-fit-sm-contain{object-fit:contain!important}.object-fit-sm-cover{object-fit:cover!important}.object-fit-sm-fill{object-fit:fill!important}.object-fit-sm-scale{object-fit:scale-down!important}.object-fit-sm-none{object-fit:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-inline-grid{display:inline-grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.me-sm-0{margin-right:0!important}.me-sm-1{margin-right:.25rem!important}.me-sm-2{margin-right:.5rem!important}.me-sm-3{margin-right:1rem!important}.me-sm-4{margin-right:1.5rem!important}.me-sm-5{margin-right:3rem!important}.me-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ms-sm-0{margin-left:0!important}.ms-sm-1{margin-left:.25rem!important}.ms-sm-2{margin-left:.5rem!important}.ms-sm-3{margin-left:1rem!important}.ms-sm-4{margin-left:1.5rem!important}.ms-sm-5{margin-left:3rem!important}.ms-sm-auto{margin-left:auto!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pe-sm-0{padding-right:0!important}.pe-sm-1{padding-right:.25rem!important}.pe-sm-2{padding-right:.5rem!important}.pe-sm-3{padding-right:1rem!important}.pe-sm-4{padding-right:1.5rem!important}.pe-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.ps-sm-0{padding-left:0!important}.ps-sm-1{padding-left:.25rem!important}.ps-sm-2{padding-left:.5rem!important}.ps-sm-3{padding-left:1rem!important}.ps-sm-4{padding-left:1.5rem!important}.ps-sm-5{padding-left:3rem!important}.gap-sm-0{gap:0!important}.gap-sm-1{gap:.25rem!important}.gap-sm-2{gap:.5rem!important}.gap-sm-3{gap:1rem!important}.gap-sm-4{gap:1.5rem!important}.gap-sm-5{gap:3rem!important}.row-gap-sm-0{row-gap:0!important}.row-gap-sm-1{row-gap:.25rem!important}.row-gap-sm-2{row-gap:.5rem!important}.row-gap-sm-3{row-gap:1rem!important}.row-gap-sm-4{row-gap:1.5rem!important}.row-gap-sm-5{row-gap:3rem!important}.column-gap-sm-0{column-gap:0!important}.column-gap-sm-1{column-gap:.25rem!important}.column-gap-sm-2{column-gap:.5rem!important}.column-gap-sm-3{column-gap:1rem!important}.column-gap-sm-4{column-gap:1.5rem!important}.column-gap-sm-5{column-gap:3rem!important}.text-sm-start{text-align:left!important}.text-sm-end{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width: 768px){.float-md-start{float:left!important}.float-md-end{float:right!important}.float-md-none{float:none!important}.object-fit-md-contain{object-fit:contain!important}.object-fit-md-cover{object-fit:cover!important}.object-fit-md-fill{object-fit:fill!important}.object-fit-md-scale{object-fit:scale-down!important}.object-fit-md-none{object-fit:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-inline-grid{display:inline-grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.me-md-0{margin-right:0!important}.me-md-1{margin-right:.25rem!important}.me-md-2{margin-right:.5rem!important}.me-md-3{margin-right:1rem!important}.me-md-4{margin-right:1.5rem!important}.me-md-5{margin-right:3rem!important}.me-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ms-md-0{margin-left:0!important}.ms-md-1{margin-left:.25rem!important}.ms-md-2{margin-left:.5rem!important}.ms-md-3{margin-left:1rem!important}.ms-md-4{margin-left:1.5rem!important}.ms-md-5{margin-left:3rem!important}.ms-md-auto{margin-left:auto!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pe-md-0{padding-right:0!important}.pe-md-1{padding-right:.25rem!important}.pe-md-2{padding-right:.5rem!important}.pe-md-3{padding-right:1rem!important}.pe-md-4{padding-right:1.5rem!important}.pe-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.ps-md-0{padding-left:0!important}.ps-md-1{padding-left:.25rem!important}.ps-md-2{padding-left:.5rem!important}.ps-md-3{padding-left:1rem!important}.ps-md-4{padding-left:1.5rem!important}.ps-md-5{padding-left:3rem!important}.gap-md-0{gap:0!important}.gap-md-1{gap:.25rem!important}.gap-md-2{gap:.5rem!important}.gap-md-3{gap:1rem!important}.gap-md-4{gap:1.5rem!important}.gap-md-5{gap:3rem!important}.row-gap-md-0{row-gap:0!important}.row-gap-md-1{row-gap:.25rem!important}.row-gap-md-2{row-gap:.5rem!important}.row-gap-md-3{row-gap:1rem!important}.row-gap-md-4{row-gap:1.5rem!important}.row-gap-md-5{row-gap:3rem!important}.column-gap-md-0{column-gap:0!important}.column-gap-md-1{column-gap:.25rem!important}.column-gap-md-2{column-gap:.5rem!important}.column-gap-md-3{column-gap:1rem!important}.column-gap-md-4{column-gap:1.5rem!important}.column-gap-md-5{column-gap:3rem!important}.text-md-start{text-align:left!important}.text-md-end{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width: 992px){.float-lg-start{float:left!important}.float-lg-end{float:right!important}.float-lg-none{float:none!important}.object-fit-lg-contain{object-fit:contain!important}.object-fit-lg-cover{object-fit:cover!important}.object-fit-lg-fill{object-fit:fill!important}.object-fit-lg-scale{object-fit:scale-down!important}.object-fit-lg-none{object-fit:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-inline-grid{display:inline-grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.me-lg-0{margin-right:0!important}.me-lg-1{margin-right:.25rem!important}.me-lg-2{margin-right:.5rem!important}.me-lg-3{margin-right:1rem!important}.me-lg-4{margin-right:1.5rem!important}.me-lg-5{margin-right:3rem!important}.me-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ms-lg-0{margin-left:0!important}.ms-lg-1{margin-left:.25rem!important}.ms-lg-2{margin-left:.5rem!important}.ms-lg-3{margin-left:1rem!important}.ms-lg-4{margin-left:1.5rem!important}.ms-lg-5{margin-left:3rem!important}.ms-lg-auto{margin-left:auto!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pe-lg-0{padding-right:0!important}.pe-lg-1{padding-right:.25rem!important}.pe-lg-2{padding-right:.5rem!important}.pe-lg-3{padding-right:1rem!important}.pe-lg-4{padding-right:1.5rem!important}.pe-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.ps-lg-0{padding-left:0!important}.ps-lg-1{padding-left:.25rem!important}.ps-lg-2{padding-left:.5rem!important}.ps-lg-3{padding-left:1rem!important}.ps-lg-4{padding-left:1.5rem!important}.ps-lg-5{padding-left:3rem!important}.gap-lg-0{gap:0!important}.gap-lg-1{gap:.25rem!important}.gap-lg-2{gap:.5rem!important}.gap-lg-3{gap:1rem!important}.gap-lg-4{gap:1.5rem!important}.gap-lg-5{gap:3rem!important}.row-gap-lg-0{row-gap:0!important}.row-gap-lg-1{row-gap:.25rem!important}.row-gap-lg-2{row-gap:.5rem!important}.row-gap-lg-3{row-gap:1rem!important}.row-gap-lg-4{row-gap:1.5rem!important}.row-gap-lg-5{row-gap:3rem!important}.column-gap-lg-0{column-gap:0!important}.column-gap-lg-1{column-gap:.25rem!important}.column-gap-lg-2{column-gap:.5rem!important}.column-gap-lg-3{column-gap:1rem!important}.column-gap-lg-4{column-gap:1.5rem!important}.column-gap-lg-5{column-gap:3rem!important}.text-lg-start{text-align:left!important}.text-lg-end{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width: 1200px){.float-xl-start{float:left!important}.float-xl-end{float:right!important}.float-xl-none{float:none!important}.object-fit-xl-contain{object-fit:contain!important}.object-fit-xl-cover{object-fit:cover!important}.object-fit-xl-fill{object-fit:fill!important}.object-fit-xl-scale{object-fit:scale-down!important}.object-fit-xl-none{object-fit:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-inline-grid{display:inline-grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.me-xl-0{margin-right:0!important}.me-xl-1{margin-right:.25rem!important}.me-xl-2{margin-right:.5rem!important}.me-xl-3{margin-right:1rem!important}.me-xl-4{margin-right:1.5rem!important}.me-xl-5{margin-right:3rem!important}.me-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ms-xl-0{margin-left:0!important}.ms-xl-1{margin-left:.25rem!important}.ms-xl-2{margin-left:.5rem!important}.ms-xl-3{margin-left:1rem!important}.ms-xl-4{margin-left:1.5rem!important}.ms-xl-5{margin-left:3rem!important}.ms-xl-auto{margin-left:auto!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pe-xl-0{padding-right:0!important}.pe-xl-1{padding-right:.25rem!important}.pe-xl-2{padding-right:.5rem!important}.pe-xl-3{padding-right:1rem!important}.pe-xl-4{padding-right:1.5rem!important}.pe-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.ps-xl-0{padding-left:0!important}.ps-xl-1{padding-left:.25rem!important}.ps-xl-2{padding-left:.5rem!important}.ps-xl-3{padding-left:1rem!important}.ps-xl-4{padding-left:1.5rem!important}.ps-xl-5{padding-left:3rem!important}.gap-xl-0{gap:0!important}.gap-xl-1{gap:.25rem!important}.gap-xl-2{gap:.5rem!important}.gap-xl-3{gap:1rem!important}.gap-xl-4{gap:1.5rem!important}.gap-xl-5{gap:3rem!important}.row-gap-xl-0{row-gap:0!important}.row-gap-xl-1{row-gap:.25rem!important}.row-gap-xl-2{row-gap:.5rem!important}.row-gap-xl-3{row-gap:1rem!important}.row-gap-xl-4{row-gap:1.5rem!important}.row-gap-xl-5{row-gap:3rem!important}.column-gap-xl-0{column-gap:0!important}.column-gap-xl-1{column-gap:.25rem!important}.column-gap-xl-2{column-gap:.5rem!important}.column-gap-xl-3{column-gap:1rem!important}.column-gap-xl-4{column-gap:1.5rem!important}.column-gap-xl-5{column-gap:3rem!important}.text-xl-start{text-align:left!important}.text-xl-end{text-align:right!important}.text-xl-center{text-align:center!important}}@media (min-width: 1400px){.float-xxl-start{float:left!important}.float-xxl-end{float:right!important}.float-xxl-none{float:none!important}.object-fit-xxl-contain{object-fit:contain!important}.object-fit-xxl-cover{object-fit:cover!important}.object-fit-xxl-fill{object-fit:fill!important}.object-fit-xxl-scale{object-fit:scale-down!important}.object-fit-xxl-none{object-fit:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-inline-grid{display:inline-grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:3rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-right:0!important;margin-left:0!important}.mx-xxl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xxl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xxl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xxl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xxl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:3rem!important}.mt-xxl-auto{margin-top:auto!important}.me-xxl-0{margin-right:0!important}.me-xxl-1{margin-right:.25rem!important}.me-xxl-2{margin-right:.5rem!important}.me-xxl-3{margin-right:1rem!important}.me-xxl-4{margin-right:1.5rem!important}.me-xxl-5{margin-right:3rem!important}.me-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:3rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ms-xxl-0{margin-left:0!important}.ms-xxl-1{margin-left:.25rem!important}.ms-xxl-2{margin-left:.5rem!important}.ms-xxl-3{margin-left:1rem!important}.ms-xxl-4{margin-left:1.5rem!important}.ms-xxl-5{margin-left:3rem!important}.ms-xxl-auto{margin-left:auto!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:3rem!important}.px-xxl-0{padding-right:0!important;padding-left:0!important}.px-xxl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xxl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xxl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xxl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xxl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:3rem!important}.pe-xxl-0{padding-right:0!important}.pe-xxl-1{padding-right:.25rem!important}.pe-xxl-2{padding-right:.5rem!important}.pe-xxl-3{padding-right:1rem!important}.pe-xxl-4{padding-right:1.5rem!important}.pe-xxl-5{padding-right:3rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:3rem!important}.ps-xxl-0{padding-left:0!important}.ps-xxl-1{padding-left:.25rem!important}.ps-xxl-2{padding-left:.5rem!important}.ps-xxl-3{padding-left:1rem!important}.ps-xxl-4{padding-left:1.5rem!important}.ps-xxl-5{padding-left:3rem!important}.gap-xxl-0{gap:0!important}.gap-xxl-1{gap:.25rem!important}.gap-xxl-2{gap:.5rem!important}.gap-xxl-3{gap:1rem!important}.gap-xxl-4{gap:1.5rem!important}.gap-xxl-5{gap:3rem!important}.row-gap-xxl-0{row-gap:0!important}.row-gap-xxl-1{row-gap:.25rem!important}.row-gap-xxl-2{row-gap:.5rem!important}.row-gap-xxl-3{row-gap:1rem!important}.row-gap-xxl-4{row-gap:1.5rem!important}.row-gap-xxl-5{row-gap:3rem!important}.column-gap-xxl-0{column-gap:0!important}.column-gap-xxl-1{column-gap:.25rem!important}.column-gap-xxl-2{column-gap:.5rem!important}.column-gap-xxl-3{column-gap:1rem!important}.column-gap-xxl-4{column-gap:1.5rem!important}.column-gap-xxl-5{column-gap:3rem!important}.text-xxl-start{text-align:left!important}.text-xxl-end{text-align:right!important}.text-xxl-center{text-align:center!important}}@media (min-width: 1200px){.fs-1{font-size:3.375rem!important}.fs-2{font-size:1.875rem!important}.fs-3{font-size:1.625rem!important}.fs-4{font-size:1.5rem!important}.fs-5{font-size:1.3125rem!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-inline-grid{display:inline-grid!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.d-print-none{display:none!important}}@font-face{font-family:Roboto;font-style:normal;font-weight:100;src:url("./media/roboto-v30-latin-ext_latin-100.woff") format("woff")}@font-face{font-family:Roboto;font-style:normal;font-weight:300;src:url("./media/roboto-v30-latin-ext_latin-300.woff") format("woff")}@font-face{font-family:Roboto;font-style:normal;font-weight:400;src:url("./media/roboto-v30-latin-ext_latin-400.woff") format("woff")}@font-face{font-family:Roboto;font-style:normal;font-weight:500;src:url("./media/roboto-v30-latin-ext_latin-500.woff") format("woff")}@font-face{font-family:Roboto;font-style:normal;font-weight:700;src:url("./media/roboto-v30-latin-ext_latin-700.woff") format("woff")}h1,.h1{font-weight:100;line-height:1.15;margin:0 0 .5em}h2,.h2{font-weight:300;line-height:1.2;margin:0 0 .5em}h3,.h3{font-weight:300;line-height:1.23;margin:0 0 .5em}h4,.h4{font-weight:300;line-height:1.16;margin:0 0 .5em}h5,.h5{font-weight:300;line-height:1.19;margin:0 0 .5em}h6,.h6{font-weight:300;line-height:1.16;margin:0 0 .5em}.bkd-container{margin:0 auto;padding:0}.bkd-container-limited{max-width:960px;margin-left:0}.table th{padding-top:.25rem;padding-bottom:.25rem;font-weight:500}.table-fixed{table-layout:fixed}@media screen and (max-width: 820px){bkd-evaluate-absences-list>div>table thead,bkd-edit-absences-list>div>table thead{border:none;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}bkd-evaluate-absences-list>div>table tr,bkd-edit-absences-list>div>table tr{border-bottom:2px solid #ddd;display:block}bkd-evaluate-absences-list>div>table td,bkd-edit-absences-list>div>table td{border-bottom:1px solid #ddd;display:block;text-align:right;min-height:50px}bkd-evaluate-absences-list>div>table td:before,bkd-edit-absences-list>div>table td:before{content:attr(data-label);float:left}}a:hover,a:focus{text-decoration:underline;text-decoration-color:#ea161f;color:#000}.btn-link{text-decoration:none}.btn-outline-secondary{color:#000;border-color:#000}.btn-outline-secondary:hover{border-color:#000;background:#e6e6e6}.btn-icon{padding:.5rem;text-decoration:none}.btn-icon:hover{text-decoration:none}ngb-datepicker-navigation-select>.custom-select{font-size:1rem!important}.ngb-dp-day,.ngb-dp-week-number,.ngb-dp-weekday{width:2.5rem!important;height:2.5rem!important}[ngbDatepickerDayView]{width:2.5rem!important;height:2.5rem!important;line-height:2.5rem!important}.ngb-dp-months{padding:.5rem 2rem;background:#f8f9fa}.ngb-dp-weekday{color:#ea161f!important}@media (max-width: 575.98px){.ngb-dp-months{padding:.5rem}}.btn .material-icons{display:block}math,mi,mo,mn{font-size:1rem}mi{font-style:italic}mo{margin-right:.2em;margin-left:.2em}.ng-select-container{border-radius:.25rem!important}.ng-optgroup{border-bottom:1px solid #ccc;color:inherit!important;font-weight:400!important;color:#33333d!important}.ng-option{padding-left:10px!important;padding-top:3px!important;padding-bottom:3px!important;font-weight:400!important;color:#33333d!important}.ng-option-selected{font-weight:400!important;color:#33333d!important}.ng-placeholder{color:#495057!important}.ng-value{padding-left:4px!important}.tooltip-template .tooltip-inner{max-width:100%;border:2px solid;background-color:#fff;color:#000}