1"use strict";(self.webpackChunkesanum=self.webpackChunkesanum||[]).push([[2695,9134],{36132:(z,m,s)=>{s.d(m,{k:()=>l});var u,n=s(36895),h=s(30868),c=s(55062);class l{}(u=l).\u0275fac=function(O){return new(O||u)},u.\u0275mod=c.oAB({type:u}),u.\u0275inj=c.cJS({imports:[n.ez,h.pu]})},32695:(z,m,s)=>{s.r(m),s.d(m,{VideoPageRoutingModule:()=>W,getVideoMeta:()=>J});var A,n=s(93007),h=s(18945),c=s(75179),u=s(7625),l=s(92198),p=s(15941),O=s(68474),L=s(20960),a=s(55062),I=s(36895),R=s(22012),x=s(14421);function U(e,t){if(1&e){const o=a.EpF();a.TgZ(0,"sn-informer",2),a.NdJ("ok",function(){a.CHM(o);const i=a.oxw();return a.KtG(i.error=null)}),a._UZ(1,"sn-informer-message",3),a.qZA()}if(2&e){const o=a.oxw();a.xp6(1),a.Q6J("message",o.error.toString())}}const C=function(e,t){return{id:e,type:t}};class V extends O.Q{constructor(t){super(),this.route=t,this.analyticsOwner=p.K}ngOnInit(){this.route.data.pipe((0,u.R)(this.destroy$)).subscribe(({video:t})=>this.video=t),this.route.queryParams.pipe((0,u.R)(this.destroy$),(0,l.h)(({time:t})=>!!t)).subscribe(({time:t})=>this.startFrom=(0,L.T)(t))}}(A=V).\u0275fac=function(t){return new(t||A)(a.Y36(n.gz))},A.\u0275cmp=a.Xpm({type:A,selectors:[["esn-video-page"]],hostAttrs:[1,"panel-default"],features:[a.qOj],decls:2,vars:7,consts:[[3,"ok",4,"ngIf"],[3,"video","startFrom","owner"],[3,"ok"],[3,"message"]],template:function(t,o){1&t&&(a.YNc(0,U,2,1,"sn-informer",0),a._UZ(1,"esn-video-player",1)),2&t&&(a.Q6J("ngIf",!!o.error),a.xp6(1),a.Q6J("video",o.video)("startFrom",o.startFrom?o.startFrom:null==o.video?null:o.video.startFrom)("owner",a.WLB(4,C,null==o.video?null:o.video.id,o.analyticsOwner.video)))},dependencies:[I.O5,R.ZlA,R.mMx,x.p],styles:["[_nghost-%COMP%]{display:block}"]});var B,T=s(56498),E=s(67090),y=s(75121),f=s(66462),N=s(19134),b=s(23960),$=s(80393),F=s(75020),H=s(46511);class K extends N.an{constructor(t,o,r,i,d,v,D,M,S){super(o,r,i,d,v,D,M,S),this.videosService=t}checkObjectAccess(t,o){let r=t.params.VIDEO_SLUG;return new T.y(i=>this.videosService.checkAccess(r).subscribe(d=>i.next({pk:r,access:d}),d=>this.router.navigate([d instanceof F.d?"/404":"/"]).then(()=>i.error(d))))}}(B=K).\u0275fac=function(t){return new(t||B)(a.LFG(f.Y),a.LFG(y.X),a.LFG(R.Z7U),a.LFG(b.w),a.LFG(a.zs3),a.LFG(E.o),a.LFG(n.F0),a.LFG($.U),a.LFG(H.Kf))},B.\u0275prov=a.Yz7({token:B,factory:B.\u0275fac,providedIn:"root"});var j,P,g,G=s(21437);class Z{}(j=Z).\u0275fac=function(t){return new(t||j)},j.\u0275mod=a.oAB({type:j}),j.\u0275inj=a.cJS({imports:[I.ez,R.k85,G.VideoPlayerModule]});class _{constructor(t){this.videosService=t}resolve(t,o){return this.videosService.get(t.params.VIDEO_SLUG)}}function J({video:{title:e}}){return{title:e}}(P=_).\u0275fac=function(t){return new(t||P)(a.LFG(f.Y))},P.\u0275prov=a.Yz7({token:P,factory:P.\u0275fac,providedIn:"root"});class W{}(g=W).\u0275fac=function(t){return new(t||g)},g.\u0275mod=a.oAB({type:g}),g.\u0275inj=a.cJS({providers:[K],imports:[Z,n.Bz.forChild([{path:":VIDEO_SLUG",component:V,resolve:{video:_},canActivate:[K],canDeactivate:[c.e],data:{meta:J,directory:{owner:h.Q.video}}}])]})},21437:(z,m,s)=>{s.r(m),s.d(m,{VideoPlayerModule:()=>E});var C,T,n=s(36895),h=s(24006),c=s(22012),u=s(31838),l=s(6410),p=s(36132),O=s(87383),L=s(40022),a=s(34980),I=s(58032),R=s(77490),x=s(85166),A=s(14421),U=s(55062);class V{}(C=V).\u0275fac=function(f){return new(f||C)},C.\u0275mod=U.oAB({type:C}),C.\u0275inj=U.cJS({imports:[n.ez]});class E{getElement(f){return A.p}getComponent(f){if("VideoPlayerComponent"===f)return A.p;console.error("Unknown lazy-loaded component")}}(T=E).\u0275fac=function(f){return new(f||T)},T.\u0275mod=U.oAB({type:T}),T.\u0275inj=U.cJS({providers:[R.u],imports:[n.ez,h.UX,h.u5,c.hJ1,c.nDK,c.QX1,c.k85,c.IaM,c.Fme,c.iNp,I.z,x.o,a.n,u.mZ,l.Q,p.k,O.S,L.r,V]})},87383:(z,m,s)=>{s.d(m,{S:()=>p});var l,n=s(36895),h=s(22012),c=s(85166),u=s(55062);class p{}(l=p).\u0275fac=function(L){return new(L||l)},l.\u0275mod=u.oAB({type:l}),l.\u0275inj=u.cJS({imports:[n.ez,h.LOH,h.iNp,c.o]})},19134:(z,m,s)=>{s.d(m,{an:()=>J});var K,n=s(70655),h=s(22012),c=s(30800),l=s(17489),O=s(56498),L=s(36787),a=s(87224),I=s(92198),R=s(31126),x=s(57318),A=s(74248),U=s(84727),C=s(99700),V=s(77740),T=s(79368),E=s(52150),y=s(79333),f=s(47308),N=s(71479),b=s(76401),$=s(94639),F=s(43455),H=s(41277),B=s(22107);class P{}(K=P).identified="Identified",K.guests="Guests",K.logged="Logined";let _=class{constructor(e={}){(0,l.merge)(this,e)}};(0,n.gn)([(0,E.E)({serializer:new N.V}),(0,n.w6)("design:type",Date)],_.prototype,"created",void 0),(0,n.gn)([(0,E.E)(),(0,n.w6)("design:type",Number)],_.prototype,"sharedObjectsCount",void 0),(0,n.gn)([(0,E.E)(),(0,n.w6)("design:type",Number)],_.prototype,"sharedFlushTimeHours",void 0),_=(0,n.gn)([(0,E.o)(),(0,n.w6)("design:paramtypes",[Object])],_);let g=class{constructor(e={}){(0,l.merge)(this,e)}};(0,n.gn)([(0,E.E)(),(0,n.w6)("design:type",Number)],g.prototype,"accessTime",void 0),(0,n.gn)([(0,E.E)(),(0,n.w6)("design:type",Number)],g.prototype,"accessRepeatCount",void 0),g=(0,n.gn)([(0,E.o)(),(0,n.w6)("design:paramtypes",[Object])],g);class J{constructor(e,t,o,r,i,d,v,D){this.config=e,this.modal=t,this.navigation=o,this.injector=r,this.analytics=i,this.router=d,this.signals=v,this.logger=D}canActivate(e,t){return[this.route,this.state]=[e,t],new O.y(o=>this.checkAccess(o)).pipe((0,a.P)())}hasAccess(){const{requiredGroups:e,userSignup:t,mandatoryFields:o,deniedReason:r}=this.objectAccess.access,i=-1!==e.indexOf(P.identified),d=-1!==e.indexOf(P.guests);
1if(!i&&!d||this.config.userToken||!t)if(-1===e.indexOf(P.logged)||this.config.userToken)if(this.config.userToken&&o.length)this.checkMandatoryFields();else switch(r){case f.b.accessDenied:this.accessDenied();break;case f.b.approbationNeeded:this.callToApprobation()}else this.pleaseSingin();else this.userSignup()}get stateKey(){let{pk:e}=this.objectAccess;return R.unique(`object_${e}`)}loadState(){const e=localStorage[this.stateKey];if(e)try{return(0,c.deserialize)(JSON.parse(e),g)}catch(t){}return null}saveState(e){localStorage.setItem(this.stateKey,JSON.stringify((0,c.serialize)(e)))}get stateSharedKey(){let{id:e}=this.objectAccess.access;return R.unique(`permission_${e}`)}loadSharedState(){const e=localStorage[this.stateSharedKey];let t=null;if(e)try{t=(0,c.deserialize)(JSON.parse(e),_)}catch(o){}return t&&(0,$.Af)(t.created,new Date)<t.sharedFlushTimeHours?t:null}saveSharedState(e){localStorage.setItem(this.stateSharedKey,JSON.stringify((0,c.serialize)(e)))}trackAccess(){let{accessTime:e,accessRepeatInterval:t,accessRepeatCount:o,success:r}=this.objectAccess.access;const i_repeat=!!t||!!o,d=this.loadState()||new g({accessTime:e,accessRepeatCount:o});if(e=Math.max(0,d.accessTime),this.logger.debug(`access time ${e}`),!r){this.logger.debug("check access");let v=null,D=()=>{e>0?(void 0!==localStorage[V.D3]&&(e-=1,this.logger.debug(`set access time ${e}`),this.saveState((0,l.merge)(d,{accessTime:e}))),v=setTimeout(D,1e3)):this.hasAccess()};this.signals.signals$.pipe((0,I.h)(S=>S instanceof b.u&&S.route===this.route),(0,a.P)()).subscribe(()=>clearTimeout(v));const M=this.loadSharedState();(d.accessRepeatCount>0&&(!M||M.sharedObjectsCount>0)||!i_repeat)&&D()}}checkAccess(e=null){this.checkObjectAccess(this.route,this.state).subscribe(t=>{this.logger.debug(`check access for ${this.state.url}`),this.objectAccess=t;const{access:o}=t;o.isActive?(o.success||this.router.navigate(["/403",{source:(0,H.J)()}]),null==e||e.next(o.success)):(this.trackAccess(),null==e||e.next(!0))},t=>{this.logger.debug(t),null==e||e.next(!1)})}canceled(){let{cancelUrl:e,accessTime:t,accessRepeatInterval:o,accessRepeatCount:r,sharedObjectsCount:i,sharedFlushTimeHours:d}=this.objectAccess.access;const v_repeat=!!o||!!r,v_shared=!!i||!!d;if(r=(this.loadState()||{accessTime:t,accessRepeatCount:r}).accessRepeatCount,this.logger.debug(`access repeat count ${t}`),v_repeat){if(this.saveState(new g({accessTime:o,accessRepeatCount:Math.max(0,--r)})),r>0)this.trackAccess();else if(v_shared){const M=this.loadSharedState()||new _({created:new Date,sharedObjectsCount:i,sharedFlushTimeHours:d});i=M.sharedObjectsCount,this.logger.debug(`shared objects count ${i}`),this.saveSharedState(new _({created:M.created,sharedObjectsCount:Math.max(0,--i),sharedFlushTimeHours:d}))}}else e?T.hp.test(e)?document.location.href=e:this.router.navigate([e]):this.router.navigate(["/"])}openModal(e,t=new h.yBV,o=null){this.signals.signals$.pipe((0,I.h)(i=>i instanceof b.u&&i.route===this.route),(0,a.P)()).subscribe(()=>this.modal.close());const r=()=>{try{this.modal.open(e,(0,l.merge)(t,{closed:i=>{i===h.UI.modal.closedReason.user&&(null==o||o.call(null),this.canceled())}}))}catch(i){setTimeout(()=>r(),1e3)}};r()}accessDenied(){const{message:e,labels:t}=this.objectAccess.access;(0,F.y)(y.c.accessDenied,this.injector).subscribe(o=>{o.instance.message=e;const r="Sie haben hier keinen Zugriff";this.openModal(o,{title:{text:(null==t?void 0:t.title)||r}})})}pleaseSingin(){(0,F.y)(y.c.pleaseSignin,this.injector).subscribe(e=>{e.instance.signin.subscribe(()=>{this.modal.close(),this.checkAccess()});const t="Ihr esanum Login";this.openModal(e,{title:{text:t}})})}callToApprobation(){(0,F.y)(y.c.callToApprobation,this.injector).subscribe(e=>{const t="Aufruf zur Genehmigung";this.openModal(e,{title:{text:t}})})}userSignup(){(0,F.y)(y.c.userSignup,this.injector).subscribe(e=>{const{userSignup:t}=this.objectAccess.access,{instance:o}=e;o.userSignup=t,o.checkFilled().subscribe(r=>{if(r)return void this.checkAccess();const{slug:i,firstStep:d}=t;if(d){const{context:M,pk:S,siteContext:Q,feed:Y}=this.objectAccess,X=new C.n({context:M,pk:S,siteContext:Q,feed:Y,url:(0,B.qC)(this.route)}),k=btoa(JSON.stringify((0,c.serialize)(X)));this.router.navigate(["/signup",i,{target:k},d.slug]).then(()=>null)}else{var v,D;(0,L.T)(o.canceled,o.completed.pipe((0,I.h)(Q=>!Q))).subscribe(()=>this.modal.close());const M={canceled:()=>{this.analytics.track(new U.qo({category:x.N.signup,action:A.m.rejected,label:`${t.title} (${t.id})`}))}};o.canceled.subscribe(()=>
1{M.canceled(),this.canceled()}),o.completed.subscribe(()=>this.checkAccess()),o.listenFilled();const S="Hinweis";this.openModal(e,{title:{text:null!==(v=t.sections)&&void 0!==v&&v.includes("title")&&(null===(D=t.labels)||void 0===D?void 0:D.title)||S},closeOutside:!1},()=>M.canceled())}})})}checkMandatoryFields(){(0,F.y)(y.c.mandatoryFields,this.injector).subscribe(e=>{const{mandatoryFields:t}=this.objectAccess.access;e.instance.fields=t,(0,L.T)(e.instance.canceled,e.instance.saved).subscribe(()=>this.modal.close()),e.instance.saved.subscribe(()=>this.checkAccess()),e.instance.canceled.subscribe(()=>this.canceled());const o="Erforderliche Daten hinzuf\xFCgen";this.openModal(e,{title:{text:o},closeOutside:!1})})}}},20960:(z,m,s)=>{s.d(m,{T:()=>h});var n=s(96419);function h(c){let u=/(\d{2})(\d{2})(\d{2})/.exec(c);if(u){let[,l,p,O]=u;return+l*n.Jk+ +p*n.ks+ +O}return+c||0}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.