diff --git a/index.html b/index.html index 1372baa..0d8fa95 100644 --- a/index.html +++ b/index.html @@ -47,6 +47,6 @@ - + \ No newline at end of file diff --git a/main.34d4cc028960740d.js b/main.34d4cc028960740d.js new file mode 100644 index 0000000..11cfdbe --- /dev/null +++ b/main.34d4cc028960740d.js @@ -0,0 +1 @@ +(self.webpackChunkprovenance_widgets_showcase=self.webpackChunkprovenance_widgets_showcase||[]).push([[179],{999:(ko,eu,on)=>{"use strict";var Ss={};on.r(Ss),on.d(Ss,{JsonPatchError:()=>ur,_areEquals:()=>jT,applyOperation:()=>Gg,applyPatch:()=>$w,applyReducer:()=>d8e,deepClone:()=>c8e,getValueByPointer:()=>zw,validate:()=>yX,validator:()=>Uw});var xt={};on.r(xt),on.d(xt,{compare:()=>v8e,generate:()=>S9,observe:()=>_8e,unobserve:()=>y8e});var Lr={};on.r(Lr),on.d(Lr,{aggregate:()=>Pf,bin:()=>Y7,collect:()=>V7,compare:()=>gJ,countpattern:()=>z7,cross:()=>$7,density:()=>U7,dotbin:()=>W7,expression:()=>bJ,extent:()=>q7,facet:()=>_x,field:()=>AJ,filter:()=>Z7,flatten:()=>X7,fold:()=>Q7,formula:()=>J7,generate:()=>SJ,impute:()=>eL,joinaggregate:()=>tL,kde:()=>nL,key:()=>wJ,load:()=>xJ,lookup:()=>rL,multiextent:()=>FJ,multivalues:()=>DJ,params:()=>EJ,pivot:()=>oL,prefacet:()=>IJ,project:()=>aL,proxy:()=>RJ,quantile:()=>sL,relay:()=>LJ,sample:()=>lL,sequence:()=>cL,sieve:()=>MJ,subflow:()=>K7,timeunit:()=>uL,tupleindex:()=>PJ,values:()=>NJ,window:()=>dL});var gi={};on.r(gi),on.d(gi,{interpolate:()=>Ud,interpolateArray:()=>$3e,interpolateBasis:()=>Rq,interpolateBasisClosed:()=>Lq,interpolateCubehelix:()=>mHe,interpolateCubehelixLong:()=>yHe,interpolateDate:()=>Hq,interpolateDiscrete:()=>iHe,interpolateHcl:()=>fHe,interpolateHclLong:()=>hHe,interpolateHsl:()=>cHe,interpolateHslLong:()=>uHe,interpolateHue:()=>rHe,interpolateLab:()=>pHe,interpolateNumber:()=>Cl,interpolateNumberArray:()=>Z6,interpolateObject:()=>Gq,interpolateRgb:()=>TT,interpolateRgbBasis:()=>Pq,interpolateRgbBasisClosed:()=>z3e,interpolateRound:()=>DT,interpolateString:()=>J6,interpolateTransformCss:()=>Zq,interpolateTransformSvg:()=>Xq,interpolateZoom:()=>lHe,piecewise:()=>TL,quantize:()=>_He});var $a={};on.r($a),on.d($a,{bound:()=>Yne,identifier:()=>$M,mark:()=>zne,overlap:()=>$ne,render:()=>Zne,viewlayout:()=>nie});var Ii={};on.r(Ii),on.d(Ii,{axisticks:()=>rie,datajoin:()=>oie,encode:()=>aie,legendentries:()=>sie,linkpath:()=>UM,pie:()=>jM,scale:()=>fie,sortitems:()=>mie,stack:()=>qM});var Ni={};on.r(Ni),on.d(Ni,{contour:()=>xk,geojson:()=>Ek,geopath:()=>Ik,geopoint:()=>Rk,geoshape:()=>Lk,graticule:()=>Mk,heatmap:()=>kk,isocontour:()=>Ak,kde2d:()=>wk,projection:()=>Pre});var Ua={};on.r(Ua),on.d(Ua,{force:()=>Hk});var Xr={};on.r(Xr),on.d(Xr,{nest:()=>Wk,pack:()=>Kk,partition:()=>Xk,stratify:()=>Qk,tree:()=>e8,treelinks:()=>t8,treemap:()=>r8});var ua={};on.r(ua),on.d(ua,{label:()=>h8});var Mr={};on.r(Mr),on.d(Mr,{loess:()=>g8,regression:()=>y8});var Qr={};on.r(Qr),on.d(Qr,{voronoi:()=>j8});var sl={};on.r(sl),on.d(sl,{wordcloud:()=>q8});var ja={};on.r(ja),on.d(ja,{crossfilter:()=>K8,resolvefilter:()=>Z8});var $t={};on.r($t),on.d($t,{Bounds:()=>Ir,CanvasHandler:()=>PC,CanvasRenderer:()=>fF,DATE:()=>us,DAY:()=>Jo,DAYOFYEAR:()=>Nu,Dataflow:()=>s_,Debug:()=>CX,Error:()=>F9,EventStream:()=>cx,Gradient:()=>ote,GroupItem:()=>zx,HOURS:()=>Vs,Handler:()=>CM,HybridHandler:()=>Tne,HybridRenderer:()=>MM,Info:()=>TX,Item:()=>Vx,MILLISECONDS:()=>bc,MINUTES:()=>zs,MONTH:()=>Qo,Marks:()=>js,MultiPulse:()=>g7,None:()=>vX,Operator:()=>bi,Parameters:()=>lx,Pulse:()=>kf,QUARTER:()=>cs,RenderType:()=>Wf,Renderer:()=>MC,ResourceLoader:()=>mte,SECONDS:()=>Dl,SVGHandler:()=>tne,SVGRenderer:()=>LM,SVGStringRenderer:()=>vne,Scenegraph:()=>zte,TIME_UNITS:()=>V9,Transform:()=>be,View:()=>use,WEEK:()=>$r,Warn:()=>D9,YEAR:()=>wo,accessor:()=>ss,accessorFields:()=>qo,accessorName:()=>dr,array:()=>nt,ascending:()=>Zw,bandwidthNRD:()=>A7,bin:()=>ZQ,bootstrapCI:()=>XQ,boundClip:()=>Ine,boundContext:()=>xC,boundItem:()=>vM,boundMark:()=>Gte,boundStroke:()=>up,changeset:()=>Vg,clampRange:()=>MX,codegenExpression:()=>oae,compare:()=>M9,constant:()=>Xo,cumulativeLogNormal:()=>E7,cumulativeNormal:()=>hx,cumulativeUniform:()=>M7,dayofyear:()=>KX,debounce:()=>k9,defaultLocale:()=>e7,definition:()=>zQ,densityLogNormal:()=>D7,densityNormal:()=>S7,densityUniform:()=>L7,domChild:()=>jr,domClear:()=>kl,domCreate:()=>Uf,domFind:()=>TM,dotbin:()=>QQ,error:()=>xe,expressionFunction:()=>Tr,extend:()=>yn,extent:()=>Pu,extentIndex:()=>kX,falsy:()=>Df,fastmap:()=>t_,field:()=>xl,flush:()=>PX,font:()=>nF,fontFamily:()=>RC,fontSize:()=>Vu,format:()=>tx,formatLocale:()=>Jw,formats:()=>c7,hasOwnProperty:()=>kt,id:()=>WT,identity:()=>Ko,inferType:()=>wQ,inferTypes:()=>xQ,ingest:()=>ei,inherits:()=>Ze,inrange:()=>n_,interpolate:()=>BL,interpolateColors:()=>Ox,interpolateRange:()=>Vee,intersect:()=>xne,intersectBoxLine:()=>v_,intersectPath:()=>rM,intersectPoint:()=>oM,intersectRule:()=>Ste,isArray:()=>De,isBoolean:()=>Ef,isDate:()=>If,isFunction:()=>mn,isIterable:()=>NX,isNumber:()=>Gn,isObject:()=>Je,isRegExp:()=>OX,isString:()=>it,isTuple:()=>ox,key:()=>P9,lerp:()=>HX,lineHeight:()=>zf,loader:()=>nx,locale:()=>bQ,logger:()=>E9,lruCache:()=>GX,markup:()=>RM,merge:()=>BX,mergeConfig:()=>Jy,multiLineOffset:()=>mM,one:()=>Qy,pad:()=>YX,panLinear:()=>FX,panLog:()=>DX,panPow:()=>EX,panSymlog:()=>IX,parse:()=>Iet,parseExpression:()=>oP,parseSelector:()=>ch,path:()=>iw,pathCurves:()=>jL,pathEqual:()=>Rne,pathParse:()=>m_,pathRectangle:()=>pte,pathRender:()=>CC,pathSymbols:()=>dte,pathTrail:()=>fte,peek:()=>Ln,point:()=>rF,projection:()=>bk,quantileLogNormal:()=>I7,quantileNormal:()=>gx,quantileUniform:()=>k7,quantiles:()=>C7,quantizeInterpolator:()=>zee,quarter:()=>RX,quartiles:()=>b7,random:()=>El,randomInteger:()=>dNe,randomKDE:()=>x7,randomLCG:()=>uNe,randomLogNormal:()=>eJ,randomMixture:()=>tJ,randomNormal:()=>w7,randomUniform:()=>nJ,read:()=>IQ,regressionConstant:()=>P7,regressionExp:()=>rJ,regressionLinear:()=>N7,regressionLoess:()=>cJ,regressionLog:()=>iJ,regressionPoly:()=>aJ,regressionPow:()=>oJ,regressionQuad:()=>O7,renderModule:()=>yF,repeat:()=>qT,resetDefaultLocale:()=>oPe,resetSVGClipId:()=>gte,resetSVGDefIds:()=>MYe,responseType:()=>EQ,runtimeContext:()=>$ae,sampleCurve:()=>yx,sampleLogNormal:()=>F7,sampleNormal:()=>fx,sampleUniform:()=>R7,scale:()=>qn,sceneEqual:()=>PM,sceneFromJSON:()=>Yte,scenePickVisit:()=>Zx,sceneToJSON:()=>Bte,sceneVisit:()=>wc,sceneZOrder:()=>aM,scheme:()=>YL,serializeXML:()=>pne,setHybridRendererOptions:()=>EYe,setRandom:()=>lNe,span:()=>KT,splitAccessPath:()=>ku,stringValue:()=>We,textMetrics:()=>Us,timeBin:()=>hQ,timeFloor:()=>nQ,timeFormatLocale:()=>oC,timeInterval:()=>r_,timeOffset:()=>oQ,timeSequence:()=>lQ,timeUnitSpecifier:()=>qX,timeUnits:()=>$9,toBoolean:()=>N9,toDate:()=>O9,toNumber:()=>Zo,toSet:()=>Cc,toString:()=>H9,transform:()=>$Q,transforms:()=>l_,truncate:()=>VX,truthy:()=>Fl,tupleid:()=>Pt,typeParsers:()=>a7,utcFloor:()=>iQ,utcInterval:()=>o_,utcOffset:()=>aQ,utcSequence:()=>cQ,utcdayofyear:()=>QX,utcquarter:()=>LX,utcweek:()=>JX,version:()=>Ret,visitArray:()=>Rf,week:()=>ZX,writeConfig:()=>e_,zero:()=>Ff,zoomLinear:()=>I9,zoomLog:()=>R9,zoomPow:()=>Kw,zoomSymlog:()=>L9});var Et={};on.r(Et),on.d(Et,{accessPathDepth:()=>n1,accessPathWithDatum:()=>vN,compile:()=>ect,contains:()=>Fn,deepEqual:()=>il,deleteNestedProperty:()=>c5,duplicate:()=>rn,entries:()=>dh,every:()=>gN,fieldIntersection:()=>_N,flatAccessWithDatum:()=>yle,getFirstDefined:()=>Cr,hasIntersection:()=>mN,hash:()=>In,internalField:()=>Tle,isBoolean:()=>Nb,isEmpty:()=>fi,isEqual:()=>$et,isInternalField:()=>Cle,isNullOrFalse:()=>hN,isNumeric:()=>u5,keys:()=>Oe,logicalExpr:()=>Ob,mergeDeep:()=>gle,never:()=>hle,normalize:()=>ide,normalizeAngle:()=>Gb,omit:()=>vs,pick:()=>J_,prefixGenerator:()=>yN,removePathFromField:()=>t1,replaceAll:()=>Am,replacePathInField:()=>Bl,resetIdCounter:()=>jet,setEqual:()=>mle,some:()=>e1,stringify:()=>hi,titleCase:()=>Hb,unique:()=>td,uniqueId:()=>vle,vals:()=>Ro,varName:()=>Vi,version:()=>ict});var er={};function rt(e){return"function"==typeof e}function Wl(e){const t=e(i=>{Error.call(i),i.stack=(new Error).stack});return t.prototype=Object.create(Error.prototype),t.prototype.constructor=t,t}on.r(er),on.d(er,{carbong10:()=>tut,carbong100:()=>iut,carbong90:()=>nut,carbonwhite:()=>eut,dark:()=>Sct,excel:()=>wct,fivethirtyeight:()=>Dct,ggplot2:()=>Ect,googlecharts:()=>Yct,latimes:()=>Mct,powerbi:()=>Zct,quartz:()=>kct,urbaninstitute:()=>Bct,version:()=>rut,vox:()=>Pct});const yo=Wl(e=>function(t){e(this),this.message=t?`${t.length} errors occurred during unsubscription:\n${t.map((i,r)=>`${r+1}) ${i.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=t});function kr(e,n){if(e){const t=e.indexOf(n);0<=t&&e.splice(t,1)}}class Sr{constructor(n){this.initialTeardown=n,this.closed=!1,this._parentage=null,this._finalizers=null}unsubscribe(){let n;if(!this.closed){this.closed=!0;const{_parentage:t}=this;if(t)if(this._parentage=null,Array.isArray(t))for(const o of t)o.remove(this);else t.remove(this);const{initialTeardown:i}=this;if(rt(i))try{i()}catch(o){n=o instanceof yo?o.errors:[o]}const{_finalizers:r}=this;if(r){this._finalizers=null;for(const o of r)try{tu(o)}catch(a){n=n??[],a instanceof yo?n=[...n,...a.errors]:n.push(a)}}if(n)throw new yo(n)}}add(n){var t;if(n&&n!==this)if(this.closed)tu(n);else{if(n instanceof Sr){if(n.closed||n._hasParent(this))return;n._addParent(this)}(this._finalizers=null!==(t=this._finalizers)&&void 0!==t?t:[]).push(n)}}_hasParent(n){const{_parentage:t}=this;return t===n||Array.isArray(t)&&t.includes(n)}_addParent(n){const{_parentage:t}=this;this._parentage=Array.isArray(t)?(t.push(n),t):t?[t,n]:n}_removeParent(n){const{_parentage:t}=this;t===n?this._parentage=null:Array.isArray(t)&&kr(t,n)}remove(n){const{_finalizers:t}=this;t&&kr(t,n),n instanceof Sr&&n._removeParent(this)}}Sr.EMPTY=(()=>{const e=new Sr;return e.closed=!0,e})();const Pp=Sr.EMPTY;function D(e){return e instanceof Sr||e&&"closed"in e&&rt(e.remove)&&rt(e.add)&&rt(e.unsubscribe)}function tu(e){rt(e)?e():e.unsubscribe()}const Dn={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},ql={setTimeout(e,n,...t){const{delegate:i}=ql;return i?.setTimeout?i.setTimeout(e,n,...t):setTimeout(e,n,...t)},clearTimeout(e){const{delegate:n}=ql;return(n?.clearTimeout||clearTimeout)(e)},delegate:void 0};function Qm(e){ql.setTimeout(()=>{const{onUnhandledError:n}=Dn;if(!n)throw e;n(e)})}function Jm(){}const zn=kh("C",void 0,void 0);function kh(e,n,t){return{kind:e,value:n,error:t}}let Pr=null;function nu(e){if(Dn.useDeprecatedSynchronousErrorHandling){const n=!Pr;if(n&&(Pr={errorThrown:!1,error:null}),e(),n){const{errorThrown:t,error:i}=Pr;if(Pr=null,t)throw i}}else e()}class Np extends Sr{constructor(n){super(),this.isStopped=!1,n?(this.destination=n,D(n)&&n.add(this)):this.destination=t0}static create(n,t,i){return new Kl(n,t,i)}next(n){this.isStopped?Gp(function k1(e){return kh("N",e,void 0)}(n),this):this._next(n)}error(n){this.isStopped?Gp(function _d(e){return kh("E",void 0,e)}(n),this):(this.isStopped=!0,this._error(n))}complete(){this.isStopped?Gp(zn,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(n){this.destination.next(n)}_error(n){try{this.destination.error(n)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}}const e0=Function.prototype.bind;function Op(e,n){return e0.call(e,n)}class Zn{constructor(n){this.partialObserver=n}next(n){const{partialObserver:t}=this;if(t.next)try{t.next(n)}catch(i){Hp(i)}}error(n){const{partialObserver:t}=this;if(t.error)try{t.error(n)}catch(i){Hp(i)}else Hp(n)}complete(){const{partialObserver:n}=this;if(n.complete)try{n.complete()}catch(t){Hp(t)}}}class Kl extends Np{constructor(n,t,i){let r;if(super(),rt(n)||!n)r={next:n??void 0,error:t??void 0,complete:i??void 0};else{let o;this&&Dn.useDeprecatedNextContext?(o=Object.create(n),o.unsubscribe=()=>this.unsubscribe(),r={next:n.next&&Op(n.next,o),error:n.error&&Op(n.error,o),complete:n.complete&&Op(n.complete,o)}):r=n}this.destination=new Zn(r)}}function Hp(e){Dn.useDeprecatedSynchronousErrorHandling?function iu(e){Dn.useDeprecatedSynchronousErrorHandling&&Pr&&(Pr.errorThrown=!0,Pr.error=e)}(e):Qm(e)}function Gp(e,n){const{onStoppedNotification:t}=Dn;t&&ql.setTimeout(()=>t(e,n))}const t0={closed:!0,next:Jm,error:function ws(e){throw e},complete:Jm},vd="function"==typeof Symbol&&Symbol.observable||"@@observable";function tr(e){return e}function ll(e){return 0===e.length?tr:1===e.length?e[0]:function(t){return e.reduce((i,r)=>r(i),t)}}let ui=(()=>{class e{constructor(t){t&&(this._subscribe=t)}lift(t){const i=new e;return i.source=this,i.operator=t,i}subscribe(t,i,r){const o=function Nh(e){return e&&e instanceof Np||function P1(e){return e&&rt(e.next)&&rt(e.error)&&rt(e.complete)}(e)&&D(e)}(t)?t:new Kl(t,i,r);return nu(()=>{const{operator:a,source:s}=this;o.add(a?a.call(o,s):s?this._subscribe(o):this._trySubscribe(o))}),o}_trySubscribe(t){try{return this._subscribe(t)}catch(i){t.error(i)}}forEach(t,i){return new(i=Ph(i))((r,o)=>{const a=new Kl({next:s=>{try{t(s)}catch(l){o(l),a.unsubscribe()}},error:o,complete:r});this.subscribe(a)})}_subscribe(t){var i;return null===(i=this.source)||void 0===i?void 0:i.subscribe(t)}[vd](){return this}pipe(...t){return ll(t)(this)}toPromise(t){return new(t=Ph(t))((i,r)=>{let o;this.subscribe(a=>o=a,a=>r(a),()=>i(o))})}}return e.create=n=>new e(n),e})();function Ph(e){var n;return null!==(n=e??Dn.Promise)&&void 0!==n?n:Promise}const Bp=Wl(e=>function(){e(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});let Ui=(()=>{class e extends ui{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(t){const i=new r0(this,this);return i.operator=t,i}_throwIfClosed(){if(this.closed)throw new Bp}next(t){nu(()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(const i of this.currentObservers)i.next(t)}})}error(t){nu(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=t;const{observers:i}=this;for(;i.length;)i.shift().error(t)}})}complete(){nu(()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;const{observers:t}=this;for(;t.length;)t.shift().complete()}})}unsubscribe(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null}get observed(){var t;return(null===(t=this.observers)||void 0===t?void 0:t.length)>0}_trySubscribe(t){return this._throwIfClosed(),super._trySubscribe(t)}_subscribe(t){return this._throwIfClosed(),this._checkFinalizedStatuses(t),this._innerSubscribe(t)}_innerSubscribe(t){const{hasError:i,isStopped:r,observers:o}=this;return i||r?Pp:(this.currentObservers=null,o.push(t),new Sr(()=>{this.currentObservers=null,kr(o,t)}))}_checkFinalizedStatuses(t){const{hasError:i,thrownError:r,isStopped:o}=this;i?t.error(r):o&&t.complete()}asObservable(){const t=new ui;return t.source=this,t}}return e.create=(n,t)=>new r0(n,t),e})();class r0 extends Ui{constructor(n,t){super(),this.destination=n,this.source=t}next(n){var t,i;null===(i=null===(t=this.destination)||void 0===t?void 0:t.next)||void 0===i||i.call(t,n)}error(n){var t,i;null===(i=null===(t=this.destination)||void 0===t?void 0:t.error)||void 0===i||i.call(t,n)}complete(){var n,t;null===(t=null===(n=this.destination)||void 0===n?void 0:n.complete)||void 0===t||t.call(n)}_subscribe(n){var t,i;return null!==(i=null===(t=this.source)||void 0===t?void 0:t.subscribe(n))&&void 0!==i?i:Pp}}function o0(e){return rt(e?.lift)}function nr(e){return n=>{if(o0(n))return n.lift(function(t){try{return e(t,this)}catch(i){this.error(i)}});throw new TypeError("Unable to lift unknown Observable type")}}function $n(e,n,t,i,r){return new Td(e,n,t,i,r)}class Td extends Np{constructor(n,t,i,r,o,a){super(n),this.onFinalize=o,this.shouldUnsubscribe=a,this._next=t?function(s){try{t(s)}catch(l){n.error(l)}}:super._next,this._error=r?function(s){try{r(s)}catch(l){n.error(l)}finally{this.unsubscribe()}}:super._error,this._complete=i?function(){try{i()}catch(s){n.error(s)}finally{this.unsubscribe()}}:super._complete}unsubscribe(){var n;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){const{closed:t}=this;super.unsubscribe(),!t&&(null===(n=this.onFinalize)||void 0===n||n.call(this))}}}function Qt(e,n){return nr((t,i)=>{let r=0;t.subscribe($n(i,o=>{i.next(e.call(n,o,r++))}))})}function s0(e,n,t,i){return new(t||(t=Promise))(function(o,a){function s(u){try{c(i.next(u))}catch(d){a(d)}}function l(u){try{c(i.throw(u))}catch(d){a(d)}}function c(u){u.done?o(u.value):function r(o){return o instanceof t?o:new t(function(a){a(o)})}(u.value).then(s,l)}c((i=i.apply(e,n||[])).next())})}function mi(e){return this instanceof mi?(this.v=e,this):new mi(e)}function ji(e,n,t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r,i=t.apply(e,n||[]),o=[];return r={},a("next"),a("throw"),a("return"),r[Symbol.asyncIterator]=function(){return this},r;function a(p){i[p]&&(r[p]=function(f){return new Promise(function(h,g){o.push([p,f,h,g])>1||s(p,f)})})}function s(p,f){try{!function l(p){p.value instanceof mi?Promise.resolve(p.value.v).then(c,u):d(o[0][2],p)}(i[p](f))}catch(h){d(o[0][3],h)}}function c(p){s("next",p)}function u(p){s("throw",p)}function d(p,f){p(f),o.shift(),o.length&&s(o[0][0],o[0][1])}}function u0(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e=function l0(e){var n="function"==typeof Symbol&&Symbol.iterator,t=n&&e[n],i=0;if(t)return t.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&i>=e.length&&(e=void 0),{value:e&&e[i++],done:!e}}};throw new TypeError(n?"Object is not iterable.":"Symbol.iterator is not defined.")}(e),t={},i("next"),i("throw"),i("return"),t[Symbol.asyncIterator]=function(){return this},t);function i(o){t[o]=e[o]&&function(a){return new Promise(function(s,l){!function r(o,a,s,l){Promise.resolve(l).then(function(c){o({value:c,done:s})},a)}(s,l,(a=e[o](a)).done,a.value)})}}}const p0=e=>e&&"number"==typeof e.length&&"function"!=typeof e;function f0(e){return rt(e?.then)}function Bh(e){return rt(e[vd])}function h0(e){return Symbol.asyncIterator&&rt(e?.[Symbol.asyncIterator])}function Wa(e){return new TypeError(`You provided ${null!==e&&"object"==typeof e?"an invalid object":`'${e}'`} where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`)}const m0=function g0(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}();function Xl(e){return rt(e?.[m0])}function Yh(e){return ji(this,arguments,function*(){const t=e.getReader();try{for(;;){const{value:i,done:r}=yield mi(t.read());if(r)return yield mi(void 0);yield yield mi(i)}}finally{t.releaseLock()}})}function zp(e){return rt(e?.getReader)}function Oi(e){if(e instanceof ui)return e;if(null!=e){if(Bh(e))return function $p(e){return new ui(n=>{const t=e[vd]();if(rt(t.subscribe))return t.subscribe(n);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}(e);if(p0(e))return function y0(e){return new ui(n=>{for(let t=0;t{e.then(t=>{n.closed||(n.next(t),n.complete())},t=>n.error(t)).then(null,Qm)})}(e);if(h0(e))return Vh(e);if(Xl(e))return function Ad(e){return new ui(n=>{for(const t of e)if(n.next(t),n.closed)return;n.complete()})}(e);if(zp(e))return function Sd(e){return Vh(Yh(e))}(e)}throw Wa(e)}function Vh(e){return new ui(n=>{(function _0(e,n){var t,i,r,o;return s0(this,void 0,void 0,function*(){try{for(t=u0(e);!(i=yield t.next()).done;)if(n.next(i.value),n.closed)return}catch(a){r={error:a}}finally{try{i&&!i.done&&(o=t.return)&&(yield o.call(t))}finally{if(r)throw r.error}}n.complete()})})(e,n).catch(t=>n.error(t))})}function qa(e,n,t,i=0,r=!1){const o=n.schedule(function(){t(),r?e.add(this.schedule(null,i)):this.unsubscribe()},i);if(e.add(o),!r)return o}function Wi(e,n,t=1/0){return rt(n)?Wi((i,r)=>Qt((o,a)=>n(i,o,r,a))(Oi(e(i,r))),t):("number"==typeof n&&(t=n),nr((i,r)=>function dl(e,n,t,i,r,o,a,s){const l=[];let c=0,u=0,d=!1;const p=()=>{d&&!l.length&&!c&&n.complete()},f=g=>c{o&&n.next(g),c++;let m=!1;Oi(t(g,u++)).subscribe($n(n,_=>{r?.(_),o?f(_):n.next(_)},()=>{m=!0},void 0,()=>{if(m)try{for(c--;l.length&&ch(_)):h(_)}p()}catch(_){n.error(_)}}))};return e.subscribe($n(n,f,()=>{d=!0,p()})),()=>{s?.()}}(i,r,e,t)))}function au(e=1/0){return Wi(tr,e)}const Ka=new ui(e=>e.complete());function Ql(e){return e[e.length-1]}function Or(e){return rt(Ql(e))?e.pop():void 0}function Jr(e){return function zh(e){return e&&rt(e.schedule)}(Ql(e))?e.pop():void 0}function $h(e,n=0){return nr((t,i)=>{t.subscribe($n(i,r=>qa(i,e,()=>i.next(r),n),()=>qa(i,e,()=>i.complete(),n),r=>qa(i,e,()=>i.error(r),n)))})}function T0(e,n=0){return nr((t,i)=>{i.add(e.schedule(()=>t.subscribe(i),n))})}function b0(e,n){if(!e)throw new Error("Iterable cannot be null");return new ui(t=>{qa(t,n,()=>{const i=e[Symbol.asyncIterator]();qa(t,n,()=>{i.next().then(r=>{r.done?t.complete():t.next(r.value)})},0,!0)})})}function di(e,n){return n?function Po(e,n){if(null!=e){if(Bh(e))return function Uh(e,n){return Oi(e).pipe(T0(n),$h(n))}(e,n);if(p0(e))return function Up(e,n){return new ui(t=>{let i=0;return n.schedule(function(){i===e.length?t.complete():(t.next(e[i++]),t.closed||this.schedule())})})}(e,n);if(f0(e))return function C0(e,n){return Oi(e).pipe(T0(n),$h(n))}(e,n);if(h0(e))return b0(e,n);if(Xl(e))return function jh(e,n){return new ui(t=>{let i;return qa(t,n,()=>{i=e[m0](),qa(t,n,()=>{let r,o;try{({value:r,done:o}=i.next())}catch(a){return void t.error(a)}o?t.complete():t.next(r)},0,!0)}),()=>rt(i?.return)&&i.return()})}(e,n);if(zp(e))return function V1(e,n){return b0(Yh(e),n)}(e,n)}throw Wa(e)}(e,n):Oi(e)}function Wh(e,n,...t){if(!0===n)return void e();if(!1===n)return;const i=new Kl({next:()=>{i.unsubscribe(),e()}});return Oi(n(...t)).subscribe(i)}function cn(e){for(let n in e)if(e[n]===cn)return n;throw Error("Could not find renamed property on target object.")}function Es(e,n){for(const t in n)n.hasOwnProperty(t)&&!e.hasOwnProperty(t)&&(e[t]=n[t])}function Un(e){if("string"==typeof e)return e;if(Array.isArray(e))return"["+e.map(Un).join(", ")+"]";if(null==e)return""+e;if(e.overriddenName)return`${e.overriddenName}`;if(e.name)return`${e.name}`;const n=e.toString();if(null==n)return""+n;const t=n.indexOf("\n");return-1===t?n:n.substring(0,t)}function qh(e,n){return null==e||""===e?null===n?"":n:null==n||""===n?e:e+" "+n}const xd=cn({__forward_ref__:cn});function pn(e){return e.__forward_ref__=pn,e.toString=function(){return Un(this())},e}function Ct(e){return Fd(e)?e():e}function Fd(e){return"function"==typeof e&&e.hasOwnProperty(xd)&&e.__forward_ref__===pn}function jp(e){return e&&!!e.\u0275providers}const Zh="https://g.co/ng/security#xss";class Ae extends Error{constructor(n,t){super(Wp(n,t)),this.code=n}}function Wp(e,n){return`NG0${Math.abs(e)}${n?": "+n.trim():""}`}function jt(e){return"string"==typeof e?e:null==e?"":String(e)}function Kp(e,n){throw new Ae(-201,!1)}function vi(e,n){null==e&&function Wt(e,n,t,i){throw new Error(`ASSERTION ERROR: ${e}`+(null==i?"":` [Expected=> ${t} ${i} ${n} <=Actual]`))}(n,e,null,"!=")}function y(e){return{token:e.token,providedIn:e.providedIn||null,factory:e.factory,value:void 0}}function b(e){return{providers:e.providers||[],imports:e.imports||[]}}function x(e){return H(e,ne)||H(e,Ce)}function H(e,n){return e.hasOwnProperty(n)?e[n]:null}function ae(e){return e&&(e.hasOwnProperty(ue)||e.hasOwnProperty(Fe))?e[ue]:null}const ne=cn({\u0275prov:cn}),ue=cn({\u0275inj:cn}),Ce=cn({ngInjectableDef:cn}),Fe=cn({ngInjectorDef:cn});var le=(()=>((le=le||{})[le.Default=0]="Default",le[le.Host=1]="Host",le[le.Self=2]="Self",le[le.SkipSelf=4]="SkipSelf",le[le.Optional=8]="Optional",le))();let Ve;function tn(e){const n=Ve;return Ve=e,n}function fn(e,n,t){const i=x(e);return i&&"root"==i.providedIn?void 0===i.value?i.value=i.factory():i.value:t&le.Optional?null:void 0!==n?n:void Kp(Un(e))}const sn=(()=>typeof globalThis<"u"&&globalThis||typeof global<"u"&&global||typeof window<"u"&&window||typeof self<"u"&&typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&self)(),Is={},Sn="__NG_DI_FLAG__",Ti="ngTempTokenPath",Xh="ngTokenPath",$1=/\n/gm,pl="\u0275",Zp="__source";let No;function ha(e){const n=No;return No=e,n}function su(e,n=le.Default){if(void 0===No)throw new Ae(-203,!1);return null===No?fn(e,void 0,n):No.get(e,n&le.Optional?null:void 0,n)}function Qe(e,n=le.Default){return(function Jt(){return Ve}()||su)(Ct(e),n)}function Kt(e,n=le.Default){return Qe(e,Xa(n))}function Xa(e){return typeof e>"u"||"number"==typeof e?e:0|(e.optional&&8)|(e.host&&1)|(e.self&&2)|(e.skipSelf&&4)}function U1(e){const n=[];for(let t=0;t((vo=vo||{})[vo.OnPush=0]="OnPush",vo[vo.Default=1]="Default",vo))(),Rs=(()=>{return(e=Rs||(Rs={}))[e.Emulated=0]="Emulated",e[e.None=2]="None",e[e.ShadowDom=3]="ShadowDom",Rs;var e})();const nc={},kn=[],fl=cn({\u0275cmp:cn}),Jh=cn({\u0275dir:cn}),hl=cn({\u0275pipe:cn}),j1=cn({\u0275mod:cn}),ga=cn({\u0275fac:cn}),lu=cn({__NG_ELEMENT_ID__:cn});let F0=0;function mt(e){return hr(()=>{const n=ot(e),t={...n,decls:e.decls,vars:e.vars,template:e.template,consts:e.consts||null,ngContentSelectors:e.ngContentSelectors,onPush:e.changeDetection===vo.OnPush,directiveDefs:null,pipeDefs:null,dependencies:n.standalone&&e.dependencies||null,getStandaloneInjector:null,data:e.data||{},encapsulation:e.encapsulation||Rs.Emulated,id:"c"+F0++,styles:e.styles||kn,_:null,schemas:e.schemas||null,tView:null};Tt(t);const i=e.dependencies;return t.directiveDefs=et(i,!1),t.pipeDefs=et(i,!0),t})}function D0(e){return re(e)||pe(e)}function W1(e){return null!==e}function en(e){return hr(()=>({type:e.type,bootstrap:e.bootstrap||kn,declarations:e.declarations||kn,imports:e.imports||kn,exports:e.exports||kn,transitiveCompileScopes:null,schemas:e.schemas||null,id:e.id||null}))}function E0(e,n){if(null==e)return nc;const t={};for(const i in e)if(e.hasOwnProperty(i)){let r=e[i],o=r;Array.isArray(r)&&(o=r[1],r=r[0]),t[r]=i,n&&(n[r]=o)}return t}function Ft(e){return hr(()=>{const n=ot(e);return Tt(n),n})}function re(e){return e[fl]||null}function pe(e){return e[Jh]||null}function _e(e){return e[hl]||null}function $e(e,n){const t=e[j1]||null;if(!t&&!0===n)throw new Error(`Type ${Un(e)} does not have '\u0275mod' property.`);return t}function ot(e){const n={};return{type:e.type,providersResolver:null,factory:null,hostBindings:e.hostBindings||null,hostVars:e.hostVars||0,hostAttrs:e.hostAttrs||null,contentQueries:e.contentQueries||null,declaredInputs:n,exportAs:e.exportAs||null,standalone:!0===e.standalone,selectors:e.selectors||kn,viewQuery:e.viewQuery||null,features:e.features||null,setInput:null,findHostDirectiveDefs:null,hostDirectives:null,inputs:E0(e.inputs,n),outputs:E0(e.outputs)}}function Tt(e){e.features?.forEach(n=>n(e))}function et(e,n){if(!e)return null;const t=n?_e:D0;return()=>("function"==typeof e?e():e).map(i=>t(i)).filter(W1)}const nn=0,Me=1,Ke=2,wt=3,vt=4,Pn=5,Qn=6,qi=7,Nn=8,ma=9,ic=10,Lt=11,VD=12,q1=13,zH=14,I0=15,Oo=16,K1=17,R0=18,cu=19,Z1=20,$H=21,Ri=22,zD=1,UH=2,T2=7,C2=8,L0=9,ya=10;function Ls(e){return Array.isArray(e)&&"object"==typeof e[zD]}function rc(e){return Array.isArray(e)&&!0===e[zD]}function $D(e){return 0!=(4&e.flags)}function X1(e){return e.componentOffset>-1}function b2(e){return 1==(1&e.flags)}function oc(e){return!!e.template}function She(e){return 0!=(256&e[Ke])}function eg(e,n){return e.hasOwnProperty(ga)?e[ga]:null}class Fhe{constructor(n,t,i){this.previousValue=n,this.currentValue=t,this.firstChange=i}isFirstChange(){return this.firstChange}}function To(){return qH}function qH(e){return e.type.prototype.ngOnChanges&&(e.setInput=Ehe),Dhe}function Dhe(){const e=ZH(this),n=e?.current;if(n){const t=e.previous;if(t===nc)e.previous=n;else for(let i in n)t[i]=n[i];e.current=null,this.ngOnChanges(n)}}function Ehe(e,n,t,i){const r=this.declaredInputs[t],o=ZH(e)||function Ihe(e,n){return e[KH]=n}(e,{previous:nc,current:null}),a=o.current||(o.current={}),s=o.previous,l=s[r];a[r]=new Fhe(l&&l.currentValue,n,s===nc),e[i]=n}To.ngInherit=!0;const KH="__ngSimpleChanges__";function ZH(e){return e[KH]||null}const gl=function(e,n,t){},XH="svg";function Co(e){for(;Array.isArray(e);)e=e[nn];return e}function A2(e,n){return Co(n[e])}function Ms(e,n){return Co(n[e.index])}function JH(e,n){return e.data[n]}function Qa(e,n){const t=n[e];return Ls(t)?t:t[nn]}function S2(e){return 64==(64&e[Ke])}function Xp(e,n){return null==n?null:e[n]}function eG(e){e[R0]=0}function jD(e,n){e[Pn]+=n;let t=e,i=e[wt];for(;null!==i&&(1===n&&1===t[Pn]||-1===n&&0===t[Pn]);)i[Pn]+=n,t=i,i=i[wt]}const un={lFrame:uG(null),bindingsEnabled:!0};function nG(){return un.bindingsEnabled}function He(){return un.lFrame.lView}function On(){return un.lFrame.tView}function X(e){return un.lFrame.contextLView=e,e[Nn]}function Q(e){return un.lFrame.contextLView=null,e}function bo(){let e=iG();for(;null!==e&&64===e.type;)e=e.parent;return e}function iG(){return un.lFrame.currentTNode}function uu(e,n){const t=un.lFrame;t.currentTNode=e,t.isParent=n}function WD(){return un.lFrame.isParent}function qD(){un.lFrame.isParent=!1}function _a(){const e=un.lFrame;let n=e.bindingRootIndex;return-1===n&&(n=e.bindingRootIndex=e.tView.bindingStartIndex),n}function k0(){return un.lFrame.bindingIndex++}function Ed(e){const n=un.lFrame,t=n.bindingIndex;return n.bindingIndex=n.bindingIndex+e,t}function zhe(e,n){const t=un.lFrame;t.bindingIndex=t.bindingRootIndex=e,KD(n)}function KD(e){un.lFrame.currentDirectiveIndex=e}function sG(){return un.lFrame.currentQueryIndex}function XD(e){un.lFrame.currentQueryIndex=e}function Uhe(e){const n=e[Me];return 2===n.type?n.declTNode:1===n.type?e[Qn]:null}function lG(e,n,t){if(t&le.SkipSelf){let r=n,o=e;for(;!(r=r.parent,null!==r||t&le.Host||(r=Uhe(o),null===r||(o=o[I0],10&r.type))););if(null===r)return!1;n=r,e=o}const i=un.lFrame=cG();return i.currentTNode=n,i.lView=e,!0}function QD(e){const n=cG(),t=e[Me];un.lFrame=n,n.currentTNode=t.firstChild,n.lView=e,n.tView=t,n.contextLView=e,n.bindingIndex=t.bindingStartIndex,n.inI18n=!1}function cG(){const e=un.lFrame,n=null===e?null:e.child;return null===n?uG(e):n}function uG(e){const n={currentTNode:null,isParent:!0,lView:null,tView:null,selectedIndex:-1,contextLView:null,elementDepthCount:0,currentNamespace:null,currentDirectiveIndex:-1,bindingRootIndex:-1,bindingIndex:-1,currentQueryIndex:0,parent:e,child:null,inI18n:!1};return null!==e&&(e.child=n),n}function dG(){const e=un.lFrame;return un.lFrame=e.parent,e.currentTNode=null,e.lView=null,e}const pG=dG;function JD(){const e=dG();e.isParent=!0,e.tView=null,e.selectedIndex=-1,e.contextLView=null,e.elementDepthCount=0,e.currentDirectiveIndex=-1,e.currentNamespace=null,e.bindingRootIndex=-1,e.bindingIndex=-1,e.currentQueryIndex=0}function va(){return un.lFrame.selectedIndex}function tg(e){un.lFrame.selectedIndex=e}function Ki(){const e=un.lFrame;return JH(e.tView,e.selectedIndex)}function Jn(){un.lFrame.currentNamespace=XH}function Qp(){!function Khe(){un.lFrame.currentNamespace=null}()}function w2(e,n){for(let t=n.directiveStart,i=n.directiveEnd;t=i)break}else n[l]<0&&(e[R0]+=65536),(s>11>16&&(3&e[Ke])===n){e[Ke]+=2048,gl(4,s,o);try{o.call(s)}finally{gl(5,s,o)}}}else{gl(4,s,o);try{o.call(s)}finally{gl(5,s,o)}}}const P0=-1;class J1{constructor(n,t,i){this.factory=n,this.resolving=!1,this.canSeeViewProviders=t,this.injectImpl=i}}function n4(e,n,t){let i=0;for(;in){a=o-1;break}}}for(;o>16}(e),i=n;for(;t>0;)i=i[I0],t--;return i}let r4=!0;function I2(e){const n=r4;return r4=e,n}const _G=255,vG=5;let ige=0;const du={};function R2(e,n){const t=TG(e,n);if(-1!==t)return t;const i=n[Me];i.firstCreatePass&&(e.injectorIndex=n.length,o4(i.data,e),o4(n,null),o4(i.blueprint,null));const r=a4(e,n),o=e.injectorIndex;if(yG(r)){const a=D2(r),s=E2(r,n),l=s[Me].data;for(let c=0;c<8;c++)n[o+c]=s[a+c]|l[a+c]}return n[o+8]=r,o}function o4(e,n){e.push(0,0,0,0,0,0,0,0,n)}function TG(e,n){return-1===e.injectorIndex||e.parent&&e.parent.injectorIndex===e.injectorIndex||null===n[e.injectorIndex+8]?-1:e.injectorIndex}function a4(e,n){if(e.parent&&-1!==e.parent.injectorIndex)return e.parent.injectorIndex;let t=0,i=null,r=n;for(;null!==r;){if(i=FG(r),null===i)return P0;if(t++,r=r[I0],-1!==i.injectorIndex)return i.injectorIndex|t<<16}return P0}function s4(e,n,t){!function rge(e,n,t){let i;"string"==typeof t?i=t.charCodeAt(0)||0:t.hasOwnProperty(lu)&&(i=t[lu]),null==i&&(i=t[lu]=ige++);const r=i&_G;n.data[e+(r>>vG)]|=1<=0?n&_G:lge:n}(t);if("function"==typeof o){if(!lG(n,e,i))return i&le.Host?CG(r,0,i):bG(n,t,i,r);try{const a=o(i);if(null!=a||i&le.Optional)return a;Kp()}finally{pG()}}else if("number"==typeof o){let a=null,s=TG(e,n),l=P0,c=i&le.Host?n[Oo][Qn]:null;for((-1===s||i&le.SkipSelf)&&(l=-1===s?a4(e,n):n[s+8],l!==P0&&xG(i,!1)?(a=n[Me],s=D2(l),n=E2(l,n)):s=-1);-1!==s;){const u=n[Me];if(wG(o,s,u.data)){const d=age(s,n,t,a,i,c);if(d!==du)return d}l=n[s+8],l!==P0&&xG(i,n[Me].data[s+8]===c)&&wG(o,s,n)?(a=u,s=D2(l),n=E2(l,n)):s=-1}}return r}function age(e,n,t,i,r,o){const a=n[Me],s=a.data[e+8],u=L2(s,a,t,null==i?X1(s)&&r4:i!=a&&0!=(3&s.type),r&le.Host&&o===s);return null!==u?ng(n,a,u,s):du}function L2(e,n,t,i,r){const o=e.providerIndexes,a=n.data,s=1048575&o,l=e.directiveStart,u=o>>20,p=r?s+u:e.directiveEnd;for(let f=i?s:s+u;f=l&&h.type===t)return f}if(r){const f=a[l];if(f&&oc(f)&&f.type===t)return l}return null}function ng(e,n,t,i){let r=e[t];const o=n.data;if(function Jhe(e){return e instanceof J1}(r)){const a=r;a.resolving&&function A0(e,n){const t=n?`. Dependency path: ${n.join(" > ")} > ${e}`:"";throw new Ae(-200,`Circular dependency in DI detected for ${e}${t}`)}(function Rn(e){return"function"==typeof e?e.name||e.toString():"object"==typeof e&&null!=e&&"function"==typeof e.type?e.type.name||e.type.toString():jt(e)}(o[t]));const s=I2(a.canSeeViewProviders);a.resolving=!0;const l=a.injectImpl?tn(a.injectImpl):null;lG(e,i,le.Default);try{r=e[t]=a.factory(void 0,o,e,i),n.firstCreatePass&&t>=i.directiveStart&&function Xhe(e,n,t){const{ngOnChanges:i,ngOnInit:r,ngDoCheck:o}=n.type.prototype;if(i){const a=qH(n);(t.preOrderHooks??(t.preOrderHooks=[])).push(e,a),(t.preOrderCheckHooks??(t.preOrderCheckHooks=[])).push(e,a)}r&&(t.preOrderHooks??(t.preOrderHooks=[])).push(0-e,r),o&&((t.preOrderHooks??(t.preOrderHooks=[])).push(e,o),(t.preOrderCheckHooks??(t.preOrderCheckHooks=[])).push(e,o))}(t,o[t],n)}finally{null!==l&&tn(l),I2(s),a.resolving=!1,pG()}}return r}function wG(e,n,t){return!!(t[n+(e>>vG)]&1<{const n=e.prototype.constructor,t=n[ga]||l4(n),i=Object.prototype;let r=Object.getPrototypeOf(e.prototype).constructor;for(;r&&r!==i;){const o=r[ga]||l4(r);if(o&&o!==t)return o;r=Object.getPrototypeOf(r)}return o=>new o})}function l4(e){return Fd(e)?()=>{const n=l4(Ct(e));return n&&n()}:eg(e)}function FG(e){const n=e[Me],t=n.type;return 2===t?n.declTNode:1===t?e[Qn]:null}const H0="__parameters__";function B0(e,n,t){return hr(()=>{const i=function c4(e){return function(...t){if(e){const i=e(...t);for(const r in i)this[r]=i[r]}}}(n);function r(...o){if(this instanceof r)return i.apply(this,o),this;const a=new r(...o);return s.annotation=a,s;function s(l,c,u){const d=l.hasOwnProperty(H0)?l[H0]:Object.defineProperty(l,H0,{value:[]})[H0];for(;d.length<=u;)d.push(null);return(d[u]=d[u]||[]).push(a),l}}return t&&(r.prototype=Object.create(t.prototype)),r.prototype.ngMetadataName=e,r.annotationCls=r,r})}class bt{constructor(n,t){this._desc=n,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof t?this.__NG_ELEMENT_ID__=t:void 0!==t&&(this.\u0275prov=y({token:this,providedIn:t.providedIn||"root",factory:t.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}}function ig(e,n){e.forEach(t=>Array.isArray(t)?ig(t,n):n(t))}function EG(e,n,t){n>=e.length?e.push(t):e.splice(n,0,t)}function k2(e,n){return n>=e.length-1?e.pop():e.splice(n,1)[0]}function iv(e,n){const t=[];for(let i=0;i=0?e[1|i]=t:(i=~i,function fge(e,n,t,i){let r=e.length;if(r==n)e.push(t,i);else if(1===r)e.push(i,e[0]),e[0]=t;else{for(r--,e.push(e[r-1],e[r]);r>n;)e[r]=e[r-2],r--;e[n]=t,e[n+1]=i}}(e,i,n,t)),i}function d4(e,n){const t=Y0(e,n);if(t>=0)return e[1|t]}function Y0(e,n){return function IG(e,n,t){let i=0,r=e.length>>t;for(;r!==i;){const o=i+(r-i>>1),a=e[o<n?r=o:i=o+1}return~(r<((Ja=Ja||{})[Ja.Important=1]="Important",Ja[Ja.DashCase=2]="DashCase",Ja))();const y4=new Map;let Pge=0;const v4="__ngContext__";function Ho(e,n){Ls(n)?(e[v4]=n[Z1],function Oge(e){y4.set(e[Z1],e)}(n)):e[v4]=n}let T4;function C4(e,n){return T4(e,n)}function cv(e){const n=e[wt];return rc(n)?n[wt]:n}function b4(e){return ZG(e[q1])}function A4(e){return ZG(e[vt])}function ZG(e){for(;null!==e&&!rc(e);)e=e[vt];return e}function z0(e,n,t,i,r){if(null!=i){let o,a=!1;rc(i)?o=i:Ls(i)&&(a=!0,i=i[nn]);const s=Co(i);0===e&&null!==t?null==r?nB(n,t,s):rg(n,t,s,r||null,!0):1===e&&null!==t?rg(n,t,s,r||null,!0):2===e?function I4(e,n,t){const i=H2(e,n);i&&function ime(e,n,t,i){e.removeChild(n,t,i)}(e,i,n,t)}(n,s,a):3===e&&n.destroyNode(s),null!=o&&function ame(e,n,t,i,r){const o=t[T2];o!==Co(t)&&z0(n,e,i,o,r);for(let s=ya;s0&&(e[t-1][vt]=i[vt]);const o=k2(e,ya+n);!function Kge(e,n){uv(e,n,n[Lt],2,null,null),n[nn]=null,n[Qn]=null}(i[Me],i);const a=o[cu];null!==a&&a.detachView(o[Me]),i[wt]=null,i[vt]=null,i[Ke]&=-65}return i}function JG(e,n){if(!(128&n[Ke])){const t=n[Lt];t.destroyNode&&uv(e,n,t,3,null,null),function Qge(e){let n=e[q1];if(!n)return F4(e[Me],e);for(;n;){let t=null;if(Ls(n))t=n[q1];else{const i=n[ya];i&&(t=i)}if(!t){for(;n&&!n[vt]&&n!==e;)Ls(n)&&F4(n[Me],n),n=n[wt];null===n&&(n=e),Ls(n)&&F4(n[Me],n),t=n&&n[vt]}n=t}}(n)}}function F4(e,n){if(!(128&n[Ke])){n[Ke]&=-65,n[Ke]|=128,function nme(e,n){let t;if(null!=e&&null!=(t=e.destroyHooks))for(let i=0;i=0?i[r=a]():i[r=-a].unsubscribe(),o+=2}else{const a=i[r=t[o+1]];t[o].call(a)}if(null!==i){for(let o=r+1;o-1){const{encapsulation:o}=e.data[i.directiveStart+r];if(o===Rs.None||o===Rs.Emulated)return null}return Ms(i,t)}}(e,n.parent,t)}function rg(e,n,t,i,r){e.insertBefore(n,t,i,r)}function nB(e,n,t){e.appendChild(n,t)}function iB(e,n,t,i,r){null!==i?rg(e,n,t,i,r):nB(e,n,t)}function H2(e,n){return e.parentNode(n)}function rB(e,n,t){return aB(e,n,t)}let D4,Y2,M4,V2,aB=function oB(e,n,t){return 40&e.type?Ms(e,t):null};function G2(e,n,t,i){const r=eB(e,i,n),o=n[Lt],s=rB(i.parent||n[Qn],i,n);if(null!=r)if(Array.isArray(t))for(let l=0;le,createScript:e=>e,createScriptURL:e=>e})}catch{}return Y2}()?.createHTML(e)||e}function fB(e){return function k4(){if(void 0===V2&&(V2=null,sn.trustedTypes))try{V2=sn.trustedTypes.createPolicy("angular#unsafe-bypass",{createHTML:e=>e,createScript:e=>e,createScriptURL:e=>e})}catch{}return V2}()?.createHTML(e)||e}class mB{constructor(n){this.changingThisBreaksApplicationSecurity=n}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see ${Zh})`}}function Jp(e){return e instanceof mB?e.changingThisBreaksApplicationSecurity:e}function dv(e,n){const t=function _me(e){return e instanceof mB&&e.getTypeName()||null}(e);if(null!=t&&t!==n){if("ResourceURL"===t&&"URL"===n)return!0;throw new Error(`Required a safe ${n}, got a ${t} (see ${Zh})`)}return t===n}class vme{constructor(n){this.inertDocumentHelper=n}getInertBodyElement(n){n=""+n;try{const t=(new window.DOMParser).parseFromString($0(n),"text/html").body;return null===t?this.inertDocumentHelper.getInertBodyElement(n):(t.removeChild(t.firstChild),t)}catch{return null}}}class Tme{constructor(n){this.defaultDoc=n,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert")}getInertBodyElement(n){const t=this.inertDocument.createElement("template");return t.innerHTML=$0(n),t}}const bme=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:\/?#]*(?:[\/?#]|$))/i;function P4(e){return(e=String(e)).match(bme)?e:"unsafe:"+e}function Id(e){const n={};for(const t of e.split(","))n[t]=!0;return n}function pv(...e){const n={};for(const t of e)for(const i in t)t.hasOwnProperty(i)&&(n[i]=!0);return n}const _B=Id("area,br,col,hr,img,wbr"),vB=Id("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),TB=Id("rp,rt"),N4=pv(_B,pv(vB,Id("address,article,aside,blockquote,caption,center,del,details,dialog,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,main,map,menu,nav,ol,pre,section,summary,table,ul")),pv(TB,Id("a,abbr,acronym,audio,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,picture,q,ruby,rp,rt,s,samp,small,source,span,strike,strong,sub,sup,time,track,tt,u,var,video")),pv(TB,vB)),O4=Id("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),CB=pv(O4,Id("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,srcset,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"),Id("aria-activedescendant,aria-atomic,aria-autocomplete,aria-busy,aria-checked,aria-colcount,aria-colindex,aria-colspan,aria-controls,aria-current,aria-describedby,aria-details,aria-disabled,aria-dropeffect,aria-errormessage,aria-expanded,aria-flowto,aria-grabbed,aria-haspopup,aria-hidden,aria-invalid,aria-keyshortcuts,aria-label,aria-labelledby,aria-level,aria-live,aria-modal,aria-multiline,aria-multiselectable,aria-orientation,aria-owns,aria-placeholder,aria-posinset,aria-pressed,aria-readonly,aria-relevant,aria-required,aria-roledescription,aria-rowcount,aria-rowindex,aria-rowspan,aria-selected,aria-setsize,aria-sort,aria-valuemax,aria-valuemin,aria-valuenow,aria-valuetext")),Ame=Id("script,style,template");class Sme{constructor(){this.sanitizedSomething=!1,this.buf=[]}sanitizeChildren(n){let t=n.firstChild,i=!0;for(;t;)if(t.nodeType===Node.ELEMENT_NODE?i=this.startElement(t):t.nodeType===Node.TEXT_NODE?this.chars(t.nodeValue):this.sanitizedSomething=!0,i&&t.firstChild)t=t.firstChild;else for(;t;){t.nodeType===Node.ELEMENT_NODE&&this.endElement(t);let r=this.checkClobberedElement(t,t.nextSibling);if(r){t=r;break}t=this.checkClobberedElement(t,t.parentNode)}return this.buf.join("")}startElement(n){const t=n.nodeName.toLowerCase();if(!N4.hasOwnProperty(t))return this.sanitizedSomething=!0,!Ame.hasOwnProperty(t);this.buf.push("<"),this.buf.push(t);const i=n.attributes;for(let r=0;r"),!0}endElement(n){const t=n.nodeName.toLowerCase();N4.hasOwnProperty(t)&&!_B.hasOwnProperty(t)&&(this.buf.push(""))}chars(n){this.buf.push(bB(n))}checkClobberedElement(n,t){if(t&&(n.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_CONTAINED_BY)===Node.DOCUMENT_POSITION_CONTAINED_BY)throw new Error(`Failed to sanitize html because the element is clobbered: ${n.outerHTML}`);return t}}const wme=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,xme=/([^\#-~ |!])/g;function bB(e){return e.replace(/&/g,"&").replace(wme,function(n){return"&#"+(1024*(n.charCodeAt(0)-55296)+(n.charCodeAt(1)-56320)+65536)+";"}).replace(xme,function(n){return"&#"+n.charCodeAt(0)+";"}).replace(//g,">")}let z2;function H4(e){return"content"in e&&function Dme(e){return e.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===e.nodeName}(e)?e.content:null}var Fr=(()=>((Fr=Fr||{})[Fr.NONE=0]="NONE",Fr[Fr.HTML=1]="HTML",Fr[Fr.STYLE=2]="STYLE",Fr[Fr.SCRIPT=3]="SCRIPT",Fr[Fr.URL=4]="URL",Fr[Fr.RESOURCE_URL=5]="RESOURCE_URL",Fr))();function AB(e){const n=fv();return n?fB(n.sanitize(Fr.HTML,e)||""):dv(e,"HTML")?fB(Jp(e)):function Fme(e,n){let t=null;try{z2=z2||function yB(e){const n=new Tme(e);return function Cme(){try{return!!(new window.DOMParser).parseFromString($0(""),"text/html")}catch{return!1}}()?new vme(n):n}(e);let i=n?String(n):"";t=z2.getInertBodyElement(i);let r=5,o=i;do{if(0===r)throw new Error("Failed to sanitize html because the input is unstable");r--,i=o,o=t.innerHTML,t=z2.getInertBodyElement(i)}while(i!==o);return $0((new Sme).sanitizeChildren(H4(t)||t))}finally{if(t){const i=H4(t)||t;for(;i.firstChild;)i.removeChild(i.firstChild)}}}(function pB(){return void 0!==M4?M4:typeof document<"u"?document:void 0}(),jt(e))}function G4(e){const n=fv();return n?n.sanitize(Fr.URL,e)||"":dv(e,"URL")?Jp(e):P4(jt(e))}function fv(){const e=He();return e&&e[VD]}const $2=new bt("ENVIRONMENT_INITIALIZER"),xB=new bt("INJECTOR",-1),FB=new bt("INJECTOR_DEF_TYPES");class DB{get(n,t=Is){if(t===Is){const i=new Error(`NullInjectorError: No provider for ${Un(n)}!`);throw i.name="NullInjectorError",i}return t}}function Pme(...e){return{\u0275providers:EB(0,e),\u0275fromNgModule:!0}}function EB(e,...n){const t=[],i=new Set;let r;return ig(n,o=>{const a=o;B4(a,t,[],i)&&(r||(r=[]),r.push(a))}),void 0!==r&&IB(r,t),t}function IB(e,n){for(let t=0;t{n.push(o)})}}function B4(e,n,t,i){if(!(e=Ct(e)))return!1;let r=null,o=ae(e);const a=!o&&re(e);if(o||a){if(a&&!a.standalone)return!1;r=e}else{const l=e.ngModule;if(o=ae(l),!o)return!1;r=l}const s=i.has(r);if(a){if(s)return!1;if(i.add(r),a.dependencies){const l="function"==typeof a.dependencies?a.dependencies():a.dependencies;for(const c of l)B4(c,n,t,i)}}else{if(!o)return!1;{if(null!=o.imports&&!s){let c;i.add(r);try{ig(o.imports,u=>{B4(u,n,t,i)&&(c||(c=[]),c.push(u))})}finally{}void 0!==c&&IB(c,n)}if(!s){const c=eg(r)||(()=>new r);n.push({provide:r,useFactory:c,deps:kn},{provide:FB,useValue:r,multi:!0},{provide:$2,useValue:()=>Qe(r),multi:!0})}const l=o.providers;null==l||s||Y4(l,u=>{n.push(u)})}}return r!==e&&void 0!==e.providers}function Y4(e,n){for(let t of e)jp(t)&&(t=t.\u0275providers),Array.isArray(t)?Y4(t,n):n(t)}const Nme=cn({provide:String,useValue:cn});function V4(e){return null!==e&&"object"==typeof e&&Nme in e}function og(e){return"function"==typeof e}const z4=new bt("Set Injector scope."),U2={},Hme={};let $4;function j2(){return void 0===$4&&($4=new DB),$4}class pu{}class MB extends pu{get destroyed(){return this._destroyed}constructor(n,t,i,r){super(),this.parent=t,this.source=i,this.scopes=r,this.records=new Map,this._ngOnDestroyHooks=new Set,this._onDestroyHooks=[],this._destroyed=!1,j4(n,a=>this.processProvider(a)),this.records.set(xB,U0(void 0,this)),r.has("environment")&&this.records.set(pu,U0(void 0,this));const o=this.records.get(z4);null!=o&&"string"==typeof o.value&&this.scopes.add(o.value),this.injectorDefTypes=new Set(this.get(FB.multi,kn,le.Self))}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{for(const n of this._ngOnDestroyHooks)n.ngOnDestroy();for(const n of this._onDestroyHooks)n()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear(),this._onDestroyHooks.length=0}}onDestroy(n){this._onDestroyHooks.push(n)}runInContext(n){this.assertNotDestroyed();const t=ha(this),i=tn(void 0);try{return n()}finally{ha(t),tn(i)}}get(n,t=Is,i=le.Default){this.assertNotDestroyed(),i=Xa(i);const r=ha(this),o=tn(void 0);try{if(!(i&le.SkipSelf)){let s=this.records.get(n);if(void 0===s){const l=function zme(e){return"function"==typeof e||"object"==typeof e&&e instanceof bt}(n)&&x(n);s=l&&this.injectableDefInScope(l)?U0(U4(n),U2):null,this.records.set(n,s)}if(null!=s)return this.hydrate(n,s)}return(i&le.Self?j2():this.parent).get(n,t=i&le.Optional&&t===Is?null:t)}catch(a){if("NullInjectorError"===a.name){if((a[Ti]=a[Ti]||[]).unshift(Un(n)),r)throw a;return function Xn(e,n,t,i){const r=e[Ti];throw n[Zp]&&r.unshift(n[Zp]),e.message=function x0(e,n,t,i=null){e=e&&"\n"===e.charAt(0)&&e.charAt(1)==pl?e.slice(2):e;let r=Un(n);if(Array.isArray(n))r=n.map(Un).join(" -> ");else if("object"==typeof n){let o=[];for(let a in n)if(n.hasOwnProperty(a)){let s=n[a];o.push(a+":"+("string"==typeof s?JSON.stringify(s):Un(s)))}r=`{${o.join(", ")}}`}return`${t}${i?"("+i+")":""}[${r}]: ${e.replace($1,"\n ")}`}("\n"+e.message,r,t,i),e[Xh]=r,e[Ti]=null,e}(a,n,"R3InjectorError",this.source)}throw a}finally{tn(o),ha(r)}}resolveInjectorInitializers(){const n=ha(this),t=tn(void 0);try{const i=this.get($2.multi,kn,le.Self);for(const r of i)r()}finally{ha(n),tn(t)}}toString(){const n=[],t=this.records;for(const i of t.keys())n.push(Un(i));return`R3Injector[${n.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new Ae(205,!1)}processProvider(n){let t=og(n=Ct(n))?n:Ct(n&&n.provide);const i=function Bme(e){return V4(e)?U0(void 0,e.useValue):U0(kB(e),U2)}(n);if(og(n)||!0!==n.multi)this.records.get(t);else{let r=this.records.get(t);r||(r=U0(void 0,U2,!0),r.factory=()=>U1(r.multi),this.records.set(t,r)),t=n,r.multi.push(n)}this.records.set(t,i)}hydrate(n,t){return t.value===U2&&(t.value=Hme,t.value=t.factory()),"object"==typeof t.value&&t.value&&function Vme(e){return null!==e&&"object"==typeof e&&"function"==typeof e.ngOnDestroy}(t.value)&&this._ngOnDestroyHooks.add(t.value),t.value}injectableDefInScope(n){if(!n.providedIn)return!1;const t=Ct(n.providedIn);return"string"==typeof t?"any"===t||this.scopes.has(t):this.injectorDefTypes.has(t)}}function U4(e){const n=x(e),t=null!==n?n.factory:eg(e);if(null!==t)return t;if(e instanceof bt)throw new Ae(204,!1);if(e instanceof Function)return function Gme(e){const n=e.length;if(n>0)throw iv(n,"?"),new Ae(204,!1);const t=function z(e){return e&&(e[ne]||e[Ce])||null}(e);return null!==t?()=>t.factory(e):()=>new e}(e);throw new Ae(204,!1)}function kB(e,n,t){let i;if(og(e)){const r=Ct(e);return eg(r)||U4(r)}if(V4(e))i=()=>Ct(e.useValue);else if(function LB(e){return!(!e||!e.useFactory)}(e))i=()=>e.useFactory(...U1(e.deps||[]));else if(function RB(e){return!(!e||!e.useExisting)}(e))i=()=>Qe(Ct(e.useExisting));else{const r=Ct(e&&(e.useClass||e.provide));if(!function Yme(e){return!!e.deps}(e))return eg(r)||U4(r);i=()=>new r(...U1(e.deps))}return i}function U0(e,n,t=!1){return{factory:e,value:n,multi:t?[]:void 0}}function j4(e,n){for(const t of e)Array.isArray(t)?j4(t,n):t&&jp(t)?j4(t.\u0275providers,n):n(t)}class $me{}class PB{}class jme{resolveComponentFactory(n){throw function Ume(e){const n=Error(`No component factory found for ${Un(e)}. Did you add it to @NgModule.entryComponents?`);return n.ngComponent=e,n}(n)}}let hv=(()=>{class e{}return e.NULL=new jme,e})();function Wme(){return j0(bo(),He())}function j0(e,n){return new En(Ms(e,n))}let En=(()=>{class e{constructor(t){this.nativeElement=t}}return e.__NG_ELEMENT_ID__=Wme,e})();function qme(e){return e instanceof En?e.nativeElement:e}class gv{}let Si=(()=>{class e{}return e.__NG_ELEMENT_ID__=()=>function Kme(){const e=He(),t=Qa(bo().index,e);return(Ls(t)?t:e)[Lt]}(),e})(),Zme=(()=>{class e{}return e.\u0275prov=y({token:e,providedIn:"root",factory:()=>null}),e})();class mv{constructor(n){this.full=n,this.major=n.split(".")[0],this.minor=n.split(".")[1],this.patch=n.split(".").slice(2).join(".")}}const Xme=new mv("15.2.10"),W4={},q4="ngOriginalError";function K4(e){return e[q4]}class W0{constructor(){this._console=console}handleError(n){const t=this._findOriginalError(n);this._console.error("ERROR",n),t&&this._console.error("ORIGINAL ERROR",t)}_findOriginalError(n){let t=n&&K4(n);for(;t&&K4(t);)t=K4(t);return t||null}}function OB(e){return e.ownerDocument.defaultView}function HB(e){return e.ownerDocument}function Rd(e){return e instanceof Function?e():e}function BB(e,n,t){let i=e.length;for(;;){const r=e.indexOf(n,t);if(-1===r)return r;if(0===r||e.charCodeAt(r-1)<=32){const o=n.length;if(r+o===i||e.charCodeAt(r+o)<=32)return r}t=r+1}}const YB="ng-template";function a0e(e,n,t){let i=0,r=!0;for(;io?"":r[d+1].toLowerCase();const f=8&i?p:null;if(f&&-1!==BB(f,c,0)||2&i&&c!==p){if(ac(i))return!1;a=!0}}}}else{if(!a&&!ac(i)&&!ac(l))return!1;if(a&&ac(l))continue;a=!1,i=l|1&i}}return ac(i)||a}function ac(e){return 0==(1&e)}function c0e(e,n,t,i){if(null===n)return-1;let r=0;if(i||!t){let o=!1;for(;r-1)for(t++;t0?'="'+s+'"':"")+"]"}else 8&i?r+="."+a:4&i&&(r+=" "+a);else""!==r&&!ac(a)&&(n+=$B(o,r),r=""),i=a,o=o||!ac(i);t++}return""!==r&&(n+=$B(o,r)),n}const dn={};function G(e){UB(On(),He(),va()+e,!1)}function UB(e,n,t,i){if(!i)if(3==(3&n[Ke])){const o=e.preOrderCheckHooks;null!==o&&x2(n,o,t)}else{const o=e.preOrderHooks;null!==o&&F2(n,o,0,t)}tg(t)}function KB(e,n=null,t=null,i){const r=ZB(e,n,t,i);return r.resolveInjectorInitializers(),r}function ZB(e,n=null,t=null,i,r=new Set){const o=[t||kn,Pme(e)];return i=i||("object"==typeof e?void 0:Un(e)),new MB(o,n||j2(),i||null,r)}let sc=(()=>{class e{static create(t,i){if(Array.isArray(t))return KB({name:""},i,t,"");{const r=t.name??"";return KB({name:r},t.parent,t.providers,r)}}}return e.THROW_IF_NOT_FOUND=Is,e.NULL=new DB,e.\u0275prov=y({token:e,providedIn:"any",factory:()=>Qe(xB)}),e.__NG_ELEMENT_ID__=-1,e})();function ie(e,n=le.Default){const t=He();return null===t?Qe(e,n):AG(bo(),t,Ct(e),n)}function rY(e,n){const t=e.contentQueries;if(null!==t)for(let i=0;iRi&&UB(e,n,Ri,!1),gl(a?2:0,r),t(i,r)}finally{tg(o),gl(a?3:1,r)}}function nE(e,n,t){if($D(n)){const r=n.directiveEnd;for(let o=n.directiveStart;o0;){const t=e[--n];if("number"==typeof t&&t<0)return t}return 0})(a)!=s&&a.push(s),a.push(t,i,o)}}(e,n,i,yv(e,t,r.hostVars,dn),r)}function fu(e,n,t,i,r,o){const a=Ms(e,n);!function lE(e,n,t,i,r,o,a){if(null==o)e.removeAttribute(n,r,t);else{const s=null==a?jt(o):a(o,i||"",r);e.setAttribute(n,r,s,t)}}(n[Lt],a,o,e.value,t,i,r)}function tye(e,n,t,i,r,o){const a=o[n];if(null!==a){const s=i.setInput;for(let l=0;l0&&cE(t)}}function cE(e){for(let i=b4(e);null!==i;i=A4(i))for(let r=ya;r0&&cE(o)}const t=e[Me].components;if(null!==t)for(let i=0;i0&&cE(r)}}function aye(e,n){const t=Qa(n,e),i=t[Me];(function sye(e,n){for(let t=n.length;t-1&&(x4(n,i),k2(t,i))}this._attachedToViewContainer=!1}JG(this._lView[Me],this._lView)}onDestroy(n){sY(this._lView[Me],this._lView,null,n)}markForCheck(){X2(this._cdRefInjectingView||this._lView)}detach(){this._lView[Ke]&=-65}reattach(){this._lView[Ke]|=64}detectChanges(){Q2(this._lView[Me],this._lView,this.context)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new Ae(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,function Xge(e,n){uv(e,n,n[Lt],2,null,null)}(this._lView[Me],this._lView)}attachToAppRef(n){if(this._attachedToViewContainer)throw new Ae(902,!1);this._appRef=n}}class lye extends _v{constructor(n){super(n),this._view=n}detectChanges(){const n=this._view;Q2(n[Me],n,n[Nn],!1)}checkNoChanges(){}get context(){return null}}class yY extends hv{constructor(n){super(),this.ngModule=n}resolveComponentFactory(n){const t=re(n);return new vv(t,this.ngModule)}}function _Y(e){const n=[];for(let t in e)e.hasOwnProperty(t)&&n.push({propName:e[t],templateName:t});return n}class uye{constructor(n,t){this.injector=n,this.parentInjector=t}get(n,t,i){i=Xa(i);const r=this.injector.get(n,W4,i);return r!==W4||t===W4?r:this.parentInjector.get(n,t,i)}}class vv extends PB{get inputs(){return _Y(this.componentDef.inputs)}get outputs(){return _Y(this.componentDef.outputs)}constructor(n,t){super(),this.componentDef=n,this.ngModule=t,this.componentType=n.type,this.selector=function g0e(e){return e.map(h0e).join(",")}(n.selectors),this.ngContentSelectors=n.ngContentSelectors?n.ngContentSelectors:[],this.isBoundToModule=!!t}create(n,t,i,r){let o=(r=r||this.ngModule)instanceof pu?r:r?.injector;o&&null!==this.componentDef.getStandaloneInjector&&(o=this.componentDef.getStandaloneInjector(o)||o);const a=o?new uye(n,o):n,s=a.get(gv,null);if(null===s)throw new Ae(407,!1);const l=a.get(Zme,null),c=s.createRenderer(null,this.componentDef),u=this.componentDef.selectors[0][0]||"div",d=i?function G0e(e,n,t){return e.selectRootElement(n,t===Rs.ShadowDom)}(c,i,this.componentDef.encapsulation):w4(c,u,function cye(e){const n=e.toLowerCase();return"svg"===n?XH:"math"===n?"math":null}(u)),p=this.componentDef.onPush?288:272,f=oE(0,null,null,1,0,null,null,null,null,null),h=q2(null,f,null,p,null,null,s,c,l,a,null);let g,m;QD(h);try{const _=this.componentDef;let v,C=null;_.findHostDirectiveDefs?(v=[],C=new Map,_.findHostDirectiveDefs(_,v,C),v.push(_)):v=[_];const A=function pye(e,n){const t=e[Me],i=Ri;return e[i]=n,Z0(t,i,2,"#host",null)}(h,d),S=function fye(e,n,t,i,r,o,a,s){const l=r[Me];!function hye(e,n,t,i){for(const r of e)n.mergedAttrs=ev(n.mergedAttrs,r.hostAttrs);null!==n.mergedAttrs&&(J2(n,n.mergedAttrs,!0),null!==t&&dB(i,t,n))}(i,e,n,a);const c=o.createRenderer(n,t),u=q2(r,aY(t),null,t.onPush?32:16,r[e.index],e,o,c,s||null,null,null);return l.firstCreatePass&&sE(l,e,i.length-1),Z2(r,u),r[e.index]=u}(A,d,_,v,h,s,c);m=JH(f,Ri),d&&function mye(e,n,t,i){if(i)n4(e,t,["ng-version",Xme.full]);else{const{attrs:r,classes:o}=function m0e(e){const n=[],t=[];let i=1,r=2;for(;i0&&uB(e,t,o.join(" "))}}(c,_,d,i),void 0!==t&&function yye(e,n,t){const i=e.projection=[];for(let r=0;r=0;i--){const r=e[i];r.hostVars=n+=r.hostVars,r.hostAttrs=ev(r.hostAttrs,t=ev(t,r.hostAttrs))}}(i)}function pE(e){return e===nc?{}:e===kn?[]:e}function Tye(e,n){const t=e.viewQuery;e.viewQuery=t?(i,r)=>{n(i,r),t(i,r)}:n}function Cye(e,n){const t=e.contentQueries;e.contentQueries=t?(i,r,o)=>{n(i,r,o),t(i,r,o)}:n}function bye(e,n){const t=e.hostBindings;e.hostBindings=t?(i,r)=>{n(i,r),t(i,r)}:n}function tA(e){return!!fE(e)&&(Array.isArray(e)||!(e instanceof Map)&&Symbol.iterator in e)}function fE(e){return null!==e&&("function"==typeof e||"object"==typeof e)}function hu(e,n,t){return e[n]=t}function Tv(e,n){return e[n]}function Go(e,n,t){return!Object.is(e[n],t)&&(e[n]=t,!0)}function ag(e,n,t,i){const r=Go(e,n,t);return Go(e,n+1,i)||r}function yl(e,n,t,i,r,o){const a=ag(e,n,t,i);return ag(e,n+2,r,o)||a}function tt(e,n,t,i){const r=He();return Go(r,k0(),n)&&(On(),fu(Ki(),r,e,n,t,i)),tt}function Q0(e,n,t,i){return Go(e,k0(),t)?n+jt(t)+i:dn}function J0(e,n,t,i,r,o){const s=ag(e,function Dd(){return un.lFrame.bindingIndex}(),t,r);return Ed(2),s?n+jt(t)+i+jt(r)+o:dn}function N(e,n,t,i,r,o,a,s){const l=He(),c=On(),u=e+Ri,d=c.firstCreatePass?function Lye(e,n,t,i,r,o,a,s,l){const c=n.consts,u=Z0(n,e,4,a||null,Xp(c,s));aE(n,t,u,Xp(c,l)),w2(n,u);const d=u.tView=oE(2,u,i,r,o,n.directiveRegistry,n.pipeRegistry,null,n.schemas,c);return null!==n.queries&&(n.queries.template(n,u),d.queries=n.queries.embeddedTView(u)),u}(u,c,l,n,t,i,r,o,a):c.data[u];uu(d,!1);const p=l[Lt].createComment("");G2(c,l,p,d),Ho(p,l),Z2(l,l[u]=pY(p,l,p,d)),b2(d)&&iE(c,l,d),null!=a&&rE(l,d,s)}function gn(e){return function M0(e,n){return e[n]}(function Yhe(){return un.lFrame.contextLView}(),Ri+e)}function R(e,n,t){const i=He();return Go(i,k0(),n)&&Ps(On(),Ki(),i,e,n,i[Lt],t,!1),R}function hE(e,n,t,i,r){const a=r?"class":"style";dE(e,t,n.inputs[a],a,i)}function V(e,n,t,i){const r=He(),o=On(),a=Ri+e,s=r[Lt],l=o.firstCreatePass?function kye(e,n,t,i,r,o){const a=n.consts,l=Z0(n,e,2,i,Xp(a,r));return aE(n,t,l,Xp(a,o)),null!==l.attrs&&J2(l,l.attrs,!1),null!==l.mergedAttrs&&J2(l,l.mergedAttrs,!0),null!==n.queries&&n.queries.elementStart(n,l),l}(a,o,r,n,t,i):o.data[a],c=r[a]=w4(s,n,function Zhe(){return un.lFrame.currentNamespace}()),u=b2(l);return uu(l,!0),dB(s,c,l),32!=(32&l.flags)&&G2(o,r,c,l),0===function Nhe(){return un.lFrame.elementDepthCount}()&&Ho(c,r),function Ohe(){un.lFrame.elementDepthCount++}(),u&&(iE(o,r,l),nE(o,l,r)),null!==i&&rE(r,l),V}function j(){let e=bo();WD()?qD():(e=e.parent,uu(e,!1));const n=e;!function Hhe(){un.lFrame.elementDepthCount--}();const t=On();return t.firstCreatePass&&(w2(t,e),$D(e)&&t.queries.elementEnd(e)),null!=n.classesWithoutHost&&function ege(e){return 0!=(8&e.flags)}(n)&&hE(t,n,He(),n.classesWithoutHost,!0),null!=n.stylesWithoutHost&&function tge(e){return 0!=(16&e.flags)}(n)&&hE(t,n,He(),n.stylesWithoutHost,!1),j}function Te(e,n,t,i){return V(e,n,t,i),j(),Te}function dt(e,n,t){const i=He(),r=On(),o=e+Ri,a=r.firstCreatePass?function Pye(e,n,t,i,r){const o=n.consts,a=Xp(o,i),s=Z0(n,e,8,"ng-container",a);return null!==a&&J2(s,a,!0),aE(n,t,s,Xp(o,r)),null!==n.queries&&n.queries.elementStart(n,s),s}(o,r,i,n,t):r.data[o];uu(a,!0);const s=i[o]=i[Lt].createComment("");return G2(r,i,s,a),Ho(s,i),b2(a)&&(iE(r,i,a),nE(r,a,i)),null!=t&&rE(i,a),dt}function pt(){let e=bo();const n=On();return WD()?qD():(e=e.parent,uu(e,!1)),n.firstCreatePass&&(w2(n,e),$D(e)&&n.queries.elementEnd(e)),pt}function It(e,n,t){return dt(e,n,t),pt(),It}function Be(){return He()}function Cv(e){return!!e&&"function"==typeof e.then}const gE=function LY(e){return!!e&&"function"==typeof e.subscribe};function ge(e,n,t,i){const r=He(),o=On(),a=bo();return function kY(e,n,t,i,r,o,a){const s=b2(i),c=e.firstCreatePass&&hY(e),u=n[Nn],d=fY(n);let p=!0;if(3&i.type||a){const g=Ms(i,n),m=a?a(g):g,_=d.length,v=a?A=>a(Co(A[i.index])):i.index;let C=null;if(!a&&s&&(C=function Nye(e,n,t,i){const r=e.cleanup;if(null!=r)for(let o=0;ol?s[l]:null}"string"==typeof a&&(o+=2)}return null}(e,n,r,i.index)),null!==C)(C.__ngLastListenerFn__||C).__ngNextListenerFn__=o,C.__ngLastListenerFn__=o,p=!1;else{o=NY(i,n,u,o,!1);const A=t.listen(m,r,o);d.push(o,A),c&&c.push(r,v,_,_+1)}}else o=NY(i,n,u,o,!1);const f=i.outputs;let h;if(p&&null!==f&&(h=f[r])){const g=h.length;if(g)for(let m=0;m-1?Qa(e.index,n):n);let l=PY(n,t,i,a),c=o.__ngNextListenerFn__;for(;c;)l=PY(n,t,c,a)&&l,c=c.__ngNextListenerFn__;return r&&!1===l&&(a.preventDefault(),a.returnValue=!1),l}}function E(e=1){return function jhe(e){return(un.lFrame.contextLView=function Whe(e,n){for(;e>0;)n=n[I0],e--;return n}(e,un.lFrame.contextLView))[Nn]}(e)}function Oye(e,n){let t=null;const i=function u0e(e){const n=e.attrs;if(null!=n){const t=n.indexOf(5);if(!(1&t))return n[t+1]}return null}(e);for(let r=0;r>17&32767}function yE(e){return 2|e}function sg(e){return(131068&e)>>2}function _E(e,n){return-131069&e|n<<2}function vE(e){return 1|e}function UY(e,n,t,i,r){const o=e[t+1],a=null===n;let s=i?ef(o):sg(o),l=!1;for(;0!==s&&(!1===l||a);){const u=e[s+1];zye(e[s],n)&&(l=!0,e[s+1]=i?vE(u):yE(u)),s=i?ef(u):sg(u)}l&&(e[t+1]=i?yE(o):vE(o))}function zye(e,n){return null===e||null==n||(Array.isArray(e)?e[1]:e)===n||!(!Array.isArray(e)||"string"!=typeof n)&&Y0(e,n)>=0}const Gr={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function jY(e){return e.substring(Gr.key,Gr.keyEnd)}function $ye(e){return e.substring(Gr.value,Gr.valueEnd)}function WY(e,n){const t=Gr.textEnd;return t===n?-1:(n=Gr.keyEnd=function Wye(e,n,t){for(;n32;)n++;return n}(e,Gr.key=n,t),ay(e,n,t))}function qY(e,n){const t=Gr.textEnd;let i=Gr.key=ay(e,n,t);return t===i?-1:(i=Gr.keyEnd=function qye(e,n,t){let i;for(;n=65&&(-33&i)<=90||i>=48&&i<=57);)n++;return n}(e,i,t),i=ZY(e,i,t),i=Gr.value=ay(e,i,t),i=Gr.valueEnd=function Kye(e,n,t){let i=-1,r=-1,o=-1,a=n,s=a;for(;a32&&(s=a),o=r,r=i,i=-33&l}return s}(e,i,t),ZY(e,i,t))}function KY(e){Gr.key=0,Gr.keyEnd=0,Gr.value=0,Gr.valueEnd=0,Gr.textEnd=e.length}function ay(e,n,t){for(;n=0;t=qY(n,t))eV(e,jY(n),$ye(n))}function Ot(e){uc(n_e,yu,e,!0)}function yu(e,n){for(let t=function Uye(e){return KY(e),WY(e,ay(e,0,Gr.textEnd))}(n);t>=0;t=WY(n,t))ks(e,jY(n),!0)}function cc(e,n,t,i){const r=He(),o=On(),a=Ed(2);o.firstUpdatePass&&JY(o,e,a,i),n!==dn&&Go(r,a,n)&&tV(o,o.data[va()],r,r[Lt],e,r[a+1]=function r_e(e,n){return null==e||""===e||("string"==typeof n?e+=n:"object"==typeof e&&(e=Un(Jp(e)))),e}(n,t),i,a)}function uc(e,n,t,i){const r=On(),o=Ed(2);r.firstUpdatePass&&JY(r,null,o,i);const a=He();if(t!==dn&&Go(a,o,t)){const s=r.data[va()];if(iV(s,i)&&!QY(r,o)){let l=i?s.classesWithoutHost:s.stylesWithoutHost;null!==l&&(t=qh(l,t||"")),hE(r,s,a,t,i)}else!function i_e(e,n,t,i,r,o,a,s){r===dn&&(r=kn);let l=0,c=0,u=0=e.expandoStartIndex}function JY(e,n,t,i){const r=e.data;if(null===r[t+1]){const o=r[va()],a=QY(e,t);iV(o,i)&&null===n&&!a&&(n=!1),n=function Xye(e,n,t,i){const r=function ZD(e){const n=un.lFrame.currentDirectiveIndex;return-1===n?null:e[n]}(e);let o=i?n.residualClasses:n.residualStyles;if(null===r)0===(i?n.classBindings:n.styleBindings)&&(t=bv(t=TE(null,e,n,t,i),n.attrs,i),o=null);else{const a=n.directiveStylingLast;if(-1===a||e[a]!==r)if(t=TE(r,e,n,t,i),null===o){let l=function Qye(e,n,t){const i=t?n.classBindings:n.styleBindings;if(0!==sg(i))return e[ef(i)]}(e,n,i);void 0!==l&&Array.isArray(l)&&(l=TE(null,e,n,l[1],i),l=bv(l,n.attrs,i),function Jye(e,n,t,i){e[ef(t?n.classBindings:n.styleBindings)]=i}(e,n,i,l))}else o=function e_e(e,n,t){let i;const r=n.directiveEnd;for(let o=1+n.directiveStylingLast;o0)&&(c=!0)):u=t,r)if(0!==l){const p=ef(e[s+1]);e[i+1]=iA(p,s),0!==p&&(e[p+1]=_E(e[p+1],i)),e[s+1]=function Gye(e,n){return 131071&e|n<<17}(e[s+1],i)}else e[i+1]=iA(s,0),0!==s&&(e[s+1]=_E(e[s+1],i)),s=i;else e[i+1]=iA(l,0),0===s?s=i:e[l+1]=_E(e[l+1],i),l=i;c&&(e[i+1]=yE(e[i+1])),UY(e,u,i,!0),UY(e,u,i,!1),function Vye(e,n,t,i,r){const o=r?e.residualClasses:e.residualStyles;null!=o&&"string"==typeof n&&Y0(o,n)>=0&&(t[i+1]=vE(t[i+1]))}(n,u,e,i,o),a=iA(s,l),o?n.classBindings=a:n.styleBindings=a}(r,o,n,t,a,i)}}function TE(e,n,t,i,r){let o=null;const a=t.directiveEnd;let s=t.directiveStylingLast;for(-1===s?s=t.directiveStart:s++;s0;){const l=e[r],c=Array.isArray(l),u=c?l[1]:l,d=null===u;let p=t[r+1];p===dn&&(p=d?kn:void 0);let f=d?d4(p,i):u===i?p:void 0;if(c&&!rA(f)&&(f=d4(l,i)),rA(f)&&(s=f,a))return s;const h=e[r+1];r=a?ef(h):sg(h)}if(null!==n){let l=o?n.residualClasses:n.residualStyles;null!=l&&(s=d4(l,i))}return s}function rA(e){return void 0!==e}function iV(e,n){return 0!=(e.flags&(n?8:16))}function Ie(e,n=""){const t=He(),i=On(),r=e+Ri,o=i.firstCreatePass?Z0(i,r,1,n,null):i.data[r],a=t[r]=function S4(e,n){return e.createText(n)}(t[Lt],n);G2(i,t,a,o),uu(o,!1)}function Ci(e){return gr("",e,""),Ci}function gr(e,n,t){const i=He(),r=Q0(i,e,n,t);return r!==dn&&Ld(i,va(),r),gr}function CE(e,n,t,i,r){const o=He(),a=J0(o,e,n,t,i,r);return a!==dn&&Ld(o,va(),a),CE}const ly="en-US";let SV=ly;function SE(e,n,t,i,r){if(e=Ct(e),Array.isArray(e))for(let o=0;o>20;if(og(e)||!e.multi){const f=new J1(l,r,ie),h=xE(s,n,r?u:u+p,d);-1===h?(s4(R2(c,a),o,s),wE(o,e,n.length),n.push(s),c.directiveStart++,c.directiveEnd++,r&&(c.providerIndexes+=1048576),t.push(f),a.push(f)):(t[h]=f,a[h]=f)}else{const f=xE(s,n,u+p,d),h=xE(s,n,u,u+p),m=h>=0&&t[h];if(r&&!m||!r&&!(f>=0&&t[f])){s4(R2(c,a),o,s);const _=function b1e(e,n,t,i,r){const o=new J1(e,t,ie);return o.multi=[],o.index=n,o.componentProviders=0,KV(o,r,i&&!t),o}(r?C1e:T1e,t.length,r,i,l);!r&&m&&(t[h].providerFactory=_),wE(o,e,n.length,0),n.push(s),c.directiveStart++,c.directiveEnd++,r&&(c.providerIndexes+=1048576),t.push(_),a.push(_)}else wE(o,e,f>-1?f:h,KV(t[r?h:f],l,!r&&i));!r&&i&&m&&t[h].componentProviders++}}}function wE(e,n,t,i){const r=og(n),o=function Ome(e){return!!e.useClass}(n);if(r||o){const l=(o?Ct(n.useClass):n).prototype.ngOnDestroy;if(l){const c=e.destroyHooks||(e.destroyHooks=[]);if(!r&&n.multi){const u=c.indexOf(t);-1===u?c.push(t,[i,l]):c[u+1].push(i,l)}else c.push(t,l)}}}function KV(e,n,t){return t&&e.componentProviders++,e.multi.push(n)-1}function xE(e,n,t,i){for(let r=t;r{t.providersResolver=(i,r)=>function v1e(e,n,t){const i=On();if(i.firstCreatePass){const r=oc(e);SE(t,i.data,i.blueprint,r,!0),SE(n,i.data,i.blueprint,r,!1)}}(i,r?r(e):e,n)}}class cy{}class ZV{}class XV extends cy{constructor(n,t){super(),this._parent=t,this._bootstrapComponents=[],this.destroyCbs=[],this.componentFactoryResolver=new yY(this);const i=$e(n);this._bootstrapComponents=Rd(i.bootstrap),this._r3Injector=ZB(n,t,[{provide:cy,useValue:this},{provide:hv,useValue:this.componentFactoryResolver}],Un(n),new Set(["environment"])),this._r3Injector.resolveInjectorInitializers(),this.instance=this._r3Injector.get(n)}get injector(){return this._r3Injector}destroy(){const n=this._r3Injector;!n.destroyed&&n.destroy(),this.destroyCbs.forEach(t=>t()),this.destroyCbs=null}onDestroy(n){this.destroyCbs.push(n)}}class DE extends ZV{constructor(n){super(),this.moduleType=n}create(n){return new XV(this.moduleType,n)}}class S1e extends cy{constructor(n,t,i){super(),this.componentFactoryResolver=new yY(this),this.instance=null;const r=new MB([...n,{provide:cy,useValue:this},{provide:hv,useValue:this.componentFactoryResolver}],t||j2(),i,new Set(["environment"]));this.injector=r,r.resolveInjectorInitializers()}destroy(){this.injector.destroy()}onDestroy(n){this.injector.onDestroy(n)}}function cA(e,n,t=null){return new S1e(e,n,t).injector}let w1e=(()=>{class e{constructor(t){this._injector=t,this.cachedInjectors=new Map}getOrCreateStandaloneInjector(t){if(!t.standalone)return null;if(!this.cachedInjectors.has(t.id)){const i=EB(0,t.type),r=i.length>0?cA([i],this._injector,`Standalone[${t.type.name}]`):null;this.cachedInjectors.set(t.id,r)}return this.cachedInjectors.get(t.id)}ngOnDestroy(){try{for(const t of this.cachedInjectors.values())null!==t&&t.destroy()}finally{this.cachedInjectors.clear()}}}return e.\u0275prov=y({token:e,providedIn:"environment",factory:()=>new e(Qe(pu))}),e})();function Li(e){e.getStandaloneInjector=n=>n.get(w1e).getOrCreateStandaloneInjector(e)}function Bo(e,n,t){const i=_a()+e,r=He();return r[i]===dn?hu(r,i,t?n.call(t):n()):Tv(r,i)}function yt(e,n,t,i){return function az(e,n,t,i,r,o){const a=n+t;return Go(e,a,r)?hu(e,a+1,o?i.call(o,r):i(r)):Ev(e,a+1)}(He(),_a(),e,n,t,i)}function Hn(e,n,t,i,r){return function sz(e,n,t,i,r,o,a){const s=n+t;return ag(e,s,r,o)?hu(e,s+2,a?i.call(a,r,o):i(r,o)):Ev(e,s+2)}(He(),_a(),e,n,t,i,r)}function ba(e,n,t,i,r,o){return function lz(e,n,t,i,r,o,a,s){const l=n+t;return function nA(e,n,t,i,r){const o=ag(e,n,t,i);return Go(e,n+2,r)||o}(e,l,r,o,a)?hu(e,l+3,s?i.call(s,r,o,a):i(r,o,a)):Ev(e,l+3)}(He(),_a(),e,n,t,i,r,o)}function Dv(e,n,t,i,r,o,a){return function cz(e,n,t,i,r,o,a,s,l){const c=n+t;return yl(e,c,r,o,a,s)?hu(e,c+4,l?i.call(l,r,o,a,s):i(r,o,a,s)):Ev(e,c+4)}(He(),_a(),e,n,t,i,r,o,a)}function oz(e,n,t,i){return function uz(e,n,t,i,r,o){let a=n+t,s=!1;for(let l=0;l{setTimeout(e,void 0,n)}}const Pe=class $1e extends Ui{constructor(n=!1){super(),this.__isAsync=n}emit(n){super.next(n)}subscribe(n,t,i){let r=n,o=t||(()=>null),a=i;if(n&&"object"==typeof n){const l=n;r=l.next?.bind(l),o=l.error?.bind(l),a=l.complete?.bind(l)}this.__isAsync&&(o=IE(o),r&&(r=IE(r)),a&&(a=IE(a)));const s=super.subscribe({next:r,error:o,complete:a});return n instanceof Sr&&n.add(s),s}};function U1e(){return this._results[Symbol.iterator]()}class RE{get changes(){return this._changes||(this._changes=new Pe)}constructor(n=!1){this._emitDistinctChangesOnly=n,this.dirty=!0,this._results=[],this._changesDetected=!1,this._changes=null,this.length=0,this.first=void 0,this.last=void 0;const t=RE.prototype;t[Symbol.iterator]||(t[Symbol.iterator]=U1e)}get(n){return this._results[n]}map(n){return this._results.map(n)}filter(n){return this._results.filter(n)}find(n){return this._results.find(n)}reduce(n,t){return this._results.reduce(n,t)}forEach(n){this._results.forEach(n)}some(n){return this._results.some(n)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(n,t){const i=this;i.dirty=!1;const r=function ml(e){return e.flat(Number.POSITIVE_INFINITY)}(n);(this._changesDetected=!function dge(e,n,t){if(e.length!==n.length)return!1;for(let i=0;i{class e{}return e.__NG_ELEMENT_ID__=q1e,e})();const j1e=dc,W1e=class extends j1e{constructor(n,t,i){super(),this._declarationLView=n,this._declarationTContainer=t,this.elementRef=i}createEmbeddedView(n,t){const i=this._declarationTContainer.tView,r=q2(this._declarationLView,i,n,16,null,i.declTNode,null,null,null,null,t||null);r[K1]=this._declarationLView[this._declarationTContainer.index];const a=this._declarationLView[cu];return null!==a&&(r[cu]=a.createEmbeddedView(i)),tE(i,r,n),new _v(r)}};function q1e(){return uA(bo(),He())}function uA(e,n){return 4&e.type?new W1e(n,e,j0(e,n)):null}let pc=(()=>{class e{}return e.__NG_ELEMENT_ID__=K1e,e})();function K1e(){return fz(bo(),He())}const Z1e=pc,dz=class extends Z1e{constructor(n,t,i){super(),this._lContainer=n,this._hostTNode=t,this._hostLView=i}get element(){return j0(this._hostTNode,this._hostLView)}get injector(){return new N0(this._hostTNode,this._hostLView)}get parentInjector(){const n=a4(this._hostTNode,this._hostLView);if(yG(n)){const t=E2(n,this._hostLView),i=D2(n);return new N0(t[Me].data[i+8],t)}return new N0(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(n){const t=pz(this._lContainer);return null!==t&&t[n]||null}get length(){return this._lContainer.length-ya}createEmbeddedView(n,t,i){let r,o;"number"==typeof i?r=i:null!=i&&(r=i.index,o=i.injector);const a=n.createEmbeddedView(t||{},o);return this.insert(a,r),a}createComponent(n,t,i,r,o){const a=n&&!function nv(e){return"function"==typeof e}(n);let s;if(a)s=t;else{const d=t||{};s=d.index,i=d.injector,r=d.projectableNodes,o=d.environmentInjector||d.ngModuleRef}const l=a?n:new vv(re(n)),c=i||this.parentInjector;if(!o&&null==l.ngModule){const p=(a?c:this.parentInjector).get(pu,null);p&&(o=p)}const u=l.create(c,r,void 0,o);return this.insert(u.hostView,s),u}insert(n,t){const i=n._lView,r=i[Me];if(function Phe(e){return rc(e[wt])}(i)){const u=this.indexOf(n);if(-1!==u)this.detach(u);else{const d=i[wt],p=new dz(d,d[Qn],d[wt]);p.detach(p.indexOf(n))}}const o=this._adjustIndex(t),a=this._lContainer;!function Jge(e,n,t,i){const r=ya+i,o=t.length;i>0&&(t[r-1][vt]=n),i0)i.push(a[s/2]);else{const c=o[s+1],u=n[-l];for(let d=ya;d{class e{constructor(t){this.appInits=t,this.resolve=pA,this.reject=pA,this.initialized=!1,this.done=!1,this.donePromise=new Promise((i,r)=>{this.resolve=i,this.reject=r})}runInitializers(){if(this.initialized)return;const t=[],i=()=>{this.done=!0,this.resolve()};if(this.appInits)for(let r=0;r{o.subscribe({complete:s,error:l})});t.push(a)}}Promise.all(t).then(()=>{i()}).catch(r=>{this.reject(r)}),0===t.length&&i(),this.initialized=!0}}return e.\u0275fac=function(t){return new(t||e)(Qe(fA,8))},e.\u0275prov=y({token:e,factory:e.\u0275fac,providedIn:"root"}),e})();const Lv=new bt("AppId",{providedIn:"root",factory:function Nz(){return`${zE()}${zE()}${zE()}`}});function zE(){return String.fromCharCode(97+Math.floor(25*Math.random()))}const Oz=new bt("Platform Initializer"),Md=new bt("Platform ID",{providedIn:"platform",factory:()=>"unknown"}),Hz=new bt("AnimationModuleType");let bve=(()=>{class e{log(t){console.log(t)}warn(t){console.warn(t)}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=y({token:e,factory:e.\u0275fac,providedIn:"platform"}),e})();const kd=new bt("LocaleId",{providedIn:"root",factory:()=>Kt(kd,le.Optional|le.SkipSelf)||function Ave(){return typeof $localize<"u"&&$localize.locale||ly}()});class wve{constructor(n,t){this.ngModuleFactory=n,this.componentFactories=t}}let Gz=(()=>{class e{compileModuleSync(t){return new DE(t)}compileModuleAsync(t){return Promise.resolve(this.compileModuleSync(t))}compileModuleAndAllComponentsSync(t){const i=this.compileModuleSync(t),o=Rd($e(t).declarations).reduce((a,s)=>{const l=re(s);return l&&a.push(new vv(l)),a},[]);return new wve(i,o)}compileModuleAndAllComponentsAsync(t){return Promise.resolve(this.compileModuleAndAllComponentsSync(t))}clearCache(){}clearCacheFor(t){}getModuleId(t){}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=y({token:e,factory:e.\u0275fac,providedIn:"root"}),e})();const Dve=(()=>Promise.resolve(0))();function $E(e){typeof Zone>"u"?Dve.then(()=>{e&&e.apply(null,null)}):Zone.current.scheduleMicroTask("scheduleMicrotask",e)}class wn{constructor({enableLongStackTrace:n=!1,shouldCoalesceEventChangeDetection:t=!1,shouldCoalesceRunChangeDetection:i=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new Pe(!1),this.onMicrotaskEmpty=new Pe(!1),this.onStable=new Pe(!1),this.onError=new Pe(!1),typeof Zone>"u")throw new Ae(908,!1);Zone.assertZonePatched();const r=this;r._nesting=0,r._outer=r._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(r._inner=r._inner.fork(new Zone.TaskTrackingZoneSpec)),n&&Zone.longStackTraceZoneSpec&&(r._inner=r._inner.fork(Zone.longStackTraceZoneSpec)),r.shouldCoalesceEventChangeDetection=!i&&t,r.shouldCoalesceRunChangeDetection=i,r.lastRequestAnimationFrameId=-1,r.nativeRequestAnimationFrame=function Eve(){let e=sn.requestAnimationFrame,n=sn.cancelAnimationFrame;if(typeof Zone<"u"&&e&&n){const t=e[Zone.__symbol__("OriginalDelegate")];t&&(e=t);const i=n[Zone.__symbol__("OriginalDelegate")];i&&(n=i)}return{nativeRequestAnimationFrame:e,nativeCancelAnimationFrame:n}}().nativeRequestAnimationFrame,function Lve(e){const n=()=>{!function Rve(e){e.isCheckStableRunning||-1!==e.lastRequestAnimationFrameId||(e.lastRequestAnimationFrameId=e.nativeRequestAnimationFrame.call(sn,()=>{e.fakeTopEventTask||(e.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{e.lastRequestAnimationFrameId=-1,jE(e),e.isCheckStableRunning=!0,UE(e),e.isCheckStableRunning=!1},void 0,()=>{},()=>{})),e.fakeTopEventTask.invoke()}),jE(e))}(e)};e._inner=e._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(t,i,r,o,a,s)=>{try{return Vz(e),t.invokeTask(r,o,a,s)}finally{(e.shouldCoalesceEventChangeDetection&&"eventTask"===o.type||e.shouldCoalesceRunChangeDetection)&&n(),zz(e)}},onInvoke:(t,i,r,o,a,s,l)=>{try{return Vz(e),t.invoke(r,o,a,s,l)}finally{e.shouldCoalesceRunChangeDetection&&n(),zz(e)}},onHasTask:(t,i,r,o)=>{t.hasTask(r,o),i===r&&("microTask"==o.change?(e._hasPendingMicrotasks=o.microTask,jE(e),UE(e)):"macroTask"==o.change&&(e.hasPendingMacrotasks=o.macroTask))},onHandleError:(t,i,r,o)=>(t.handleError(r,o),e.runOutsideAngular(()=>e.onError.emit(o)),!1)})}(r)}static isInAngularZone(){return typeof Zone<"u"&&!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!wn.isInAngularZone())throw new Ae(909,!1)}static assertNotInAngularZone(){if(wn.isInAngularZone())throw new Ae(909,!1)}run(n,t,i){return this._inner.run(n,t,i)}runTask(n,t,i,r){const o=this._inner,a=o.scheduleEventTask("NgZoneEvent: "+r,n,Ive,pA,pA);try{return o.runTask(a,t,i)}finally{o.cancelTask(a)}}runGuarded(n,t,i){return this._inner.runGuarded(n,t,i)}runOutsideAngular(n){return this._outer.run(n)}}const Ive={};function UE(e){if(0==e._nesting&&!e.hasPendingMicrotasks&&!e.isStable)try{e._nesting++,e.onMicrotaskEmpty.emit(null)}finally{if(e._nesting--,!e.hasPendingMicrotasks)try{e.runOutsideAngular(()=>e.onStable.emit(null))}finally{e.isStable=!0}}}function jE(e){e.hasPendingMicrotasks=!!(e._hasPendingMicrotasks||(e.shouldCoalesceEventChangeDetection||e.shouldCoalesceRunChangeDetection)&&-1!==e.lastRequestAnimationFrameId)}function Vz(e){e._nesting++,e.isStable&&(e.isStable=!1,e.onUnstable.emit(null))}function zz(e){e._nesting--,UE(e)}class Mve{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new Pe,this.onMicrotaskEmpty=new Pe,this.onStable=new Pe,this.onError=new Pe}run(n,t,i){return n.apply(t,i)}runGuarded(n,t,i){return n.apply(t,i)}runOutsideAngular(n){return n()}runTask(n,t,i,r){return n.apply(t,i)}}const $z=new bt(""),gA=new bt("");let KE,WE=(()=>{class e{constructor(t,i,r){this._ngZone=t,this.registry=i,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,KE||(function kve(e){KE=e}(r),r.addToWindow(i)),this._watchAngularEvents(),t.run(()=>{this.taskTrackingZone=typeof Zone>"u"?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._didWork=!0,this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{wn.assertNotInAngularZone(),$E(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}increasePendingRequestCount(){return this._pendingCount+=1,this._didWork=!0,this._pendingCount}decreasePendingRequestCount(){if(this._pendingCount-=1,this._pendingCount<0)throw new Error("pending async requests below zero");return this._runCallbacksIfReady(),this._pendingCount}isStable(){return this._isZoneStable&&0===this._pendingCount&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())$E(()=>{for(;0!==this._callbacks.length;){let t=this._callbacks.pop();clearTimeout(t.timeoutId),t.doneCb(this._didWork)}this._didWork=!1});else{let t=this.getPendingTasks();this._callbacks=this._callbacks.filter(i=>!i.updateCb||!i.updateCb(t)||(clearTimeout(i.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(t=>({source:t.source,creationLocation:t.creationLocation,data:t.data})):[]}addCallback(t,i,r){let o=-1;i&&i>0&&(o=setTimeout(()=>{this._callbacks=this._callbacks.filter(a=>a.timeoutId!==o),t(this._didWork,this.getPendingTasks())},i)),this._callbacks.push({doneCb:t,timeoutId:o,updateCb:r})}whenStable(t,i,r){if(r&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(t,i,r),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}registerApplication(t){this.registry.registerApplication(t,this)}unregisterApplication(t){this.registry.unregisterApplication(t)}findProviders(t,i,r){return[]}}return e.\u0275fac=function(t){return new(t||e)(Qe(wn),Qe(qE),Qe(gA))},e.\u0275prov=y({token:e,factory:e.\u0275fac}),e})(),qE=(()=>{class e{constructor(){this._applications=new Map}registerApplication(t,i){this._applications.set(t,i)}unregisterApplication(t){this._applications.delete(t)}unregisterAllApplications(){this._applications.clear()}getTestability(t){return this._applications.get(t)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(t,i=!0){return KE?.findTestabilityInTree(this,t,i)??null}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=y({token:e,factory:e.\u0275fac,providedIn:"platform"}),e})();const Pd=!1;let tf=null;const Uz=new bt("AllowMultipleToken"),ZE=new bt("PlatformDestroyListeners"),jz=new bt("appBootstrapListener");class Wz{constructor(n,t){this.name=n,this.token=t}}function Kz(e,n,t=[]){const i=`Platform: ${n}`,r=new bt(i);return(o=[])=>{let a=XE();if(!a||a.injector.get(Uz,!1)){const s=[...t,...o,{provide:r,useValue:!0}];e?e(s):function Ove(e){if(tf&&!tf.get(Uz,!1))throw new Ae(400,!1);tf=e;const n=e.get(Xz);(function qz(e){const n=e.get(Oz,null);n&&n.forEach(t=>t())})(e)}(function Zz(e=[],n){return sc.create({name:n,providers:[{provide:z4,useValue:"platform"},{provide:ZE,useValue:new Set([()=>tf=null])},...e]})}(s,i))}return function Gve(e){const n=XE();if(!n)throw new Ae(401,!1);return n}()}}function XE(){return tf?.get(Xz)??null}let Xz=(()=>{class e{constructor(t){this._injector=t,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(t,i){const r=function Jz(e,n){let t;return t="noop"===e?new Mve:("zone.js"===e?void 0:e)||new wn(n),t}(i?.ngZone,function Qz(e){return{enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:!(!e||!e.ngZoneEventCoalescing)||!1,shouldCoalesceRunChangeDetection:!(!e||!e.ngZoneRunCoalescing)||!1}}(i)),o=[{provide:wn,useValue:r}];return r.run(()=>{const a=sc.create({providers:o,parent:this.injector,name:t.moduleType.name}),s=t.create(a),l=s.injector.get(W0,null);if(!l)throw new Ae(402,!1);return r.runOutsideAngular(()=>{const c=r.onError.subscribe({next:u=>{l.handleError(u)}});s.onDestroy(()=>{mA(this._modules,s),c.unsubscribe()})}),function e$(e,n,t){try{const i=t();return Cv(i)?i.catch(r=>{throw n.runOutsideAngular(()=>e.handleError(r)),r}):i}catch(i){throw n.runOutsideAngular(()=>e.handleError(i)),i}}(l,r,()=>{const c=s.injector.get(hA);return c.runInitializers(),c.donePromise.then(()=>(function wV(e){vi(e,"Expected localeId to be defined"),"string"==typeof e&&(SV=e.toLowerCase().replace(/_/g,"-"))}(s.injector.get(kd,ly)||ly),this._moduleDoBootstrap(s),s))})})}bootstrapModule(t,i=[]){const r=t$({},i);return function Pve(e,n,t){const i=new DE(t);return Promise.resolve(i)}(0,0,t).then(o=>this.bootstrapModuleFactory(o,r))}_moduleDoBootstrap(t){const i=t.injector.get(Mv);if(t._bootstrapComponents.length>0)t._bootstrapComponents.forEach(r=>i.bootstrap(r));else{if(!t.instance.ngDoBootstrap)throw new Ae(-403,!1);t.instance.ngDoBootstrap(i)}this._modules.push(t)}onDestroy(t){this._destroyListeners.push(t)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new Ae(404,!1);this._modules.slice().forEach(i=>i.destroy()),this._destroyListeners.forEach(i=>i());const t=this._injector.get(ZE,null);t&&(t.forEach(i=>i()),t.clear()),this._destroyed=!0}get destroyed(){return this._destroyed}}return e.\u0275fac=function(t){return new(t||e)(Qe(sc))},e.\u0275prov=y({token:e,factory:e.\u0275fac,providedIn:"platform"}),e})();function t$(e,n){return Array.isArray(n)?n.reduce(t$,e):{...e,...n}}let Mv=(()=>{class e{get destroyed(){return this._destroyed}get injector(){return this._injector}constructor(t,i,r){this._zone=t,this._injector=i,this._exceptionHandler=r,this._bootstrapListeners=[],this._views=[],this._runningTick=!1,this._stable=!0,this._destroyed=!1,this._destroyListeners=[],this.componentTypes=[],this.components=[],this._onMicrotaskEmptySubscription=this._zone.onMicrotaskEmpty.subscribe({next:()=>{this._zone.run(()=>{this.tick()})}});const o=new ui(s=>{this._stable=this._zone.isStable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks,this._zone.runOutsideAngular(()=>{s.next(this._stable),s.complete()})}),a=new ui(s=>{let l;this._zone.runOutsideAngular(()=>{l=this._zone.onStable.subscribe(()=>{wn.assertNotInAngularZone(),$E(()=>{!this._stable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks&&(this._stable=!0,s.next(!0))})})});const c=this._zone.onUnstable.subscribe(()=>{wn.assertInAngularZone(),this._stable&&(this._stable=!1,this._zone.runOutsideAngular(()=>{s.next(!1)}))});return()=>{l.unsubscribe(),c.unsubscribe()}});this.isStable=function Za(...e){const n=Jr(e),t=function wd(e,n){return"number"==typeof Ql(e)?e.pop():n}(e,1/0),i=e;return i.length?1===i.length?Oi(i[0]):au(t)(di(i,n)):Ka}(o,a.pipe(function z1(e={}){const{connector:n=(()=>new Ui),resetOnError:t=!0,resetOnComplete:i=!0,resetOnRefCountZero:r=!0}=e;return o=>{let a,s,l,c=0,u=!1,d=!1;const p=()=>{s?.unsubscribe(),s=void 0},f=()=>{p(),a=l=void 0,u=d=!1},h=()=>{const g=a;f(),g?.unsubscribe()};return nr((g,m)=>{c++,!d&&!u&&p();const _=l=l??n();m.add(()=>{c--,0===c&&!d&&!u&&(s=Wh(h,r))}),_.subscribe(m),!a&&c>0&&(a=new Kl({next:v=>_.next(v),error:v=>{d=!0,p(),s=Wh(f,t,v),_.error(v)},complete:()=>{u=!0,p(),s=Wh(f,i),_.complete()}}),Oi(g).subscribe(a))})(o)}}()))}bootstrap(t,i){const r=t instanceof PB;if(!this._injector.get(hA).done){!r&&function Se(e){const n=re(e)||pe(e)||_e(e);return null!==n&&n.standalone}(t);throw new Ae(405,Pd)}let a;a=r?t:this._injector.get(hv).resolveComponentFactory(t),this.componentTypes.push(a.componentType);const s=function Nve(e){return e.isBoundToModule}(a)?void 0:this._injector.get(cy),c=a.create(sc.NULL,[],i||a.selector,s),u=c.location.nativeElement,d=c.injector.get($z,null);return d?.registerApplication(u),c.onDestroy(()=>{this.detachView(c.hostView),mA(this.components,c),d?.unregisterApplication(u)}),this._loadComponent(c),c}tick(){if(this._runningTick)throw new Ae(101,!1);try{this._runningTick=!0;for(let t of this._views)t.detectChanges()}catch(t){this._zone.runOutsideAngular(()=>this._exceptionHandler.handleError(t))}finally{this._runningTick=!1}}attachView(t){const i=t;this._views.push(i),i.attachToAppRef(this)}detachView(t){const i=t;mA(this._views,i),i.detachFromAppRef()}_loadComponent(t){this.attachView(t.hostView),this.tick(),this.components.push(t);const i=this._injector.get(jz,[]);i.push(...this._bootstrapListeners),i.forEach(r=>r(t))}ngOnDestroy(){if(!this._destroyed)try{this._destroyListeners.forEach(t=>t()),this._views.slice().forEach(t=>t.destroy()),this._onMicrotaskEmptySubscription.unsubscribe()}finally{this._destroyed=!0,this._views=[],this._bootstrapListeners=[],this._destroyListeners=[]}}onDestroy(t){return this._destroyListeners.push(t),()=>mA(this._destroyListeners,t)}destroy(){if(this._destroyed)throw new Ae(406,!1);const t=this._injector;t.destroy&&!t.destroyed&&t.destroy()}get viewCount(){return this._views.length}warnIfDestroyed(){}}return e.\u0275fac=function(t){return new(t||e)(Qe(wn),Qe(pu),Qe(W0))},e.\u0275prov=y({token:e,factory:e.\u0275fac,providedIn:"root"}),e})();function mA(e,n){const t=e.indexOf(n);t>-1&&e.splice(t,1)}let wi=(()=>{class e{}return e.__NG_ELEMENT_ID__=Yve,e})();function Yve(e){return function Vve(e,n,t){if(X1(e)&&!t){const i=Qa(e.index,n);return new _v(i,i)}return 47&e.type?new _v(n[Oo],n):null}(bo(),He(),16==(16&e))}class a${constructor(){}supports(n){return tA(n)}create(n){return new qve(n)}}const Wve=(e,n)=>n;class qve{constructor(n){this.length=0,this._linkedRecords=null,this._unlinkedRecords=null,this._previousItHead=null,this._itHead=null,this._itTail=null,this._additionsHead=null,this._additionsTail=null,this._movesHead=null,this._movesTail=null,this._removalsHead=null,this._removalsTail=null,this._identityChangesHead=null,this._identityChangesTail=null,this._trackByFn=n||Wve}forEachItem(n){let t;for(t=this._itHead;null!==t;t=t._next)n(t)}forEachOperation(n){let t=this._itHead,i=this._removalsHead,r=0,o=null;for(;t||i;){const a=!i||t&&t.currentIndex{a=this._trackByFn(r,s),null!==t&&Object.is(t.trackById,a)?(i&&(t=this._verifyReinsertion(t,s,a,r)),Object.is(t.item,s)||this._addIdentityChange(t,s)):(t=this._mismatch(t,s,a,r),i=!0),t=t._next,r++}),this.length=r;return this._truncate(t),this.collection=n,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let n;for(n=this._previousItHead=this._itHead;null!==n;n=n._next)n._nextPrevious=n._next;for(n=this._additionsHead;null!==n;n=n._nextAdded)n.previousIndex=n.currentIndex;for(this._additionsHead=this._additionsTail=null,n=this._movesHead;null!==n;n=n._nextMoved)n.previousIndex=n.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(n,t,i,r){let o;return null===n?o=this._itTail:(o=n._prev,this._remove(n)),null!==(n=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null))?(Object.is(n.item,t)||this._addIdentityChange(n,t),this._reinsertAfter(n,o,r)):null!==(n=null===this._linkedRecords?null:this._linkedRecords.get(i,r))?(Object.is(n.item,t)||this._addIdentityChange(n,t),this._moveAfter(n,o,r)):n=this._addAfter(new Kve(t,i),o,r),n}_verifyReinsertion(n,t,i,r){let o=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null);return null!==o?n=this._reinsertAfter(o,n._prev,r):n.currentIndex!=r&&(n.currentIndex=r,this._addToMoves(n,r)),n}_truncate(n){for(;null!==n;){const t=n._next;this._addToRemovals(this._unlink(n)),n=t}null!==this._unlinkedRecords&&this._unlinkedRecords.clear(),null!==this._additionsTail&&(this._additionsTail._nextAdded=null),null!==this._movesTail&&(this._movesTail._nextMoved=null),null!==this._itTail&&(this._itTail._next=null),null!==this._removalsTail&&(this._removalsTail._nextRemoved=null),null!==this._identityChangesTail&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(n,t,i){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(n);const r=n._prevRemoved,o=n._nextRemoved;return null===r?this._removalsHead=o:r._nextRemoved=o,null===o?this._removalsTail=r:o._prevRemoved=r,this._insertAfter(n,t,i),this._addToMoves(n,i),n}_moveAfter(n,t,i){return this._unlink(n),this._insertAfter(n,t,i),this._addToMoves(n,i),n}_addAfter(n,t,i){return this._insertAfter(n,t,i),this._additionsTail=null===this._additionsTail?this._additionsHead=n:this._additionsTail._nextAdded=n,n}_insertAfter(n,t,i){const r=null===t?this._itHead:t._next;return n._next=r,n._prev=t,null===r?this._itTail=n:r._prev=n,null===t?this._itHead=n:t._next=n,null===this._linkedRecords&&(this._linkedRecords=new s$),this._linkedRecords.put(n),n.currentIndex=i,n}_remove(n){return this._addToRemovals(this._unlink(n))}_unlink(n){null!==this._linkedRecords&&this._linkedRecords.remove(n);const t=n._prev,i=n._next;return null===t?this._itHead=i:t._next=i,null===i?this._itTail=t:i._prev=t,n}_addToMoves(n,t){return n.previousIndex===t||(this._movesTail=null===this._movesTail?this._movesHead=n:this._movesTail._nextMoved=n),n}_addToRemovals(n){return null===this._unlinkedRecords&&(this._unlinkedRecords=new s$),this._unlinkedRecords.put(n),n.currentIndex=null,n._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=n,n._prevRemoved=null):(n._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=n),n}_addIdentityChange(n,t){return n.item=t,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=n:this._identityChangesTail._nextIdentityChange=n,n}}class Kve{constructor(n,t){this.item=n,this.trackById=t,this.currentIndex=null,this.previousIndex=null,this._nextPrevious=null,this._prev=null,this._next=null,this._prevDup=null,this._nextDup=null,this._prevRemoved=null,this._nextRemoved=null,this._nextAdded=null,this._nextMoved=null,this._nextIdentityChange=null}}class Zve{constructor(){this._head=null,this._tail=null}add(n){null===this._head?(this._head=this._tail=n,n._nextDup=null,n._prevDup=null):(this._tail._nextDup=n,n._prevDup=this._tail,n._nextDup=null,this._tail=n)}get(n,t){let i;for(i=this._head;null!==i;i=i._nextDup)if((null===t||t<=i.currentIndex)&&Object.is(i.trackById,n))return i;return null}remove(n){const t=n._prevDup,i=n._nextDup;return null===t?this._head=i:t._nextDup=i,null===i?this._tail=t:i._prevDup=t,null===this._head}}class s${constructor(){this.map=new Map}put(n){const t=n.trackById;let i=this.map.get(t);i||(i=new Zve,this.map.set(t,i)),i.add(n)}get(n,t){const r=this.map.get(n);return r?r.get(n,t):null}remove(n){const t=n.trackById;return this.map.get(t).remove(n)&&this.map.delete(t),n}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function l$(e,n,t){const i=e.previousIndex;if(null===i)return i;let r=0;return t&&i{if(t&&t.key===r)this._maybeAddToChanges(t,i),this._appendAfter=t,t=t._next;else{const o=this._getOrCreateRecordForKey(r,i);t=this._insertBeforeOrAppend(t,o)}}),t){t._prev&&(t._prev._next=null),this._removalsHead=t;for(let i=t;null!==i;i=i._nextRemoved)i===this._mapHead&&(this._mapHead=null),this._records.delete(i.key),i._nextRemoved=i._next,i.previousValue=i.currentValue,i.currentValue=null,i._prev=null,i._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(n,t){if(n){const i=n._prev;return t._next=n,t._prev=i,n._prev=t,i&&(i._next=t),n===this._mapHead&&(this._mapHead=t),this._appendAfter=n,n}return this._appendAfter?(this._appendAfter._next=t,t._prev=this._appendAfter):this._mapHead=t,this._appendAfter=t,null}_getOrCreateRecordForKey(n,t){if(this._records.has(n)){const r=this._records.get(n);this._maybeAddToChanges(r,t);const o=r._prev,a=r._next;return o&&(o._next=a),a&&(a._prev=o),r._next=null,r._prev=null,r}const i=new Qve(n);return this._records.set(n,i),i.currentValue=t,this._addToAdditions(i),i}_reset(){if(this.isDirty){let n;for(this._previousMapHead=this._mapHead,n=this._previousMapHead;null!==n;n=n._next)n._nextPrevious=n._next;for(n=this._changesHead;null!==n;n=n._nextChanged)n.previousValue=n.currentValue;for(n=this._additionsHead;null!=n;n=n._nextAdded)n.previousValue=n.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(n,t){Object.is(t,n.currentValue)||(n.previousValue=n.currentValue,n.currentValue=t,this._addToChanges(n))}_addToAdditions(n){null===this._additionsHead?this._additionsHead=this._additionsTail=n:(this._additionsTail._nextAdded=n,this._additionsTail=n)}_addToChanges(n){null===this._changesHead?this._changesHead=this._changesTail=n:(this._changesTail._nextChanged=n,this._changesTail=n)}_forEach(n,t){n instanceof Map?n.forEach(t):Object.keys(n).forEach(i=>t(n[i],i))}}class Qve{constructor(n){this.key=n,this.previousValue=null,this.currentValue=null,this._nextPrevious=null,this._next=null,this._prev=null,this._nextAdded=null,this._nextRemoved=null,this._nextChanged=null}}function u$(){return new kv([new a$])}let kv=(()=>{class e{constructor(t){this.factories=t}static create(t,i){if(null!=i){const r=i.factories.slice();t=t.concat(r)}return new e(t)}static extend(t){return{provide:e,useFactory:i=>e.create(t,i||u$()),deps:[[e,new ov,new rv]]}}find(t){const i=this.factories.find(r=>r.supports(t));if(null!=i)return i;throw new Ae(901,!1)}}return e.\u0275prov=y({token:e,providedIn:"root",factory:u$}),e})();function d$(){return new Pv([new c$])}let Pv=(()=>{class e{constructor(t){this.factories=t}static create(t,i){if(i){const r=i.factories.slice();t=t.concat(r)}return new e(t)}static extend(t){return{provide:e,useFactory:i=>e.create(t,i||d$()),deps:[[e,new ov,new rv]]}}find(t){const i=this.factories.find(r=>r.supports(t));if(i)return i;throw new Ae(901,!1)}}return e.\u0275prov=y({token:e,providedIn:"root",factory:d$}),e})();const tTe=Kz(null,"core",[]);let nTe=(()=>{class e{constructor(t){}}return e.\u0275fac=function(t){return new(t||e)(Qe(Mv))},e.\u0275mod=en({type:e}),e.\u0275inj=b({}),e})();function py(e){return"boolean"==typeof e?e:null!=e&&"false"!==e}let nI=null;function Nd(){return nI}class oTe{}const xi=new bt("DocumentToken");let iI=(()=>{class e{historyGo(t){throw new Error("Not implemented")}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=y({token:e,factory:function(){return function aTe(){return Qe(p$)}()},providedIn:"platform"}),e})();const sTe=new bt("Location Initialized");let p$=(()=>{class e extends iI{constructor(t){super(),this._doc=t,this._location=window.location,this._history=window.history}getBaseHrefFromDOM(){return Nd().getBaseHref(this._doc)}onPopState(t){const i=Nd().getGlobalEventTarget(this._doc,"window");return i.addEventListener("popstate",t,!1),()=>i.removeEventListener("popstate",t)}onHashChange(t){const i=Nd().getGlobalEventTarget(this._doc,"window");return i.addEventListener("hashchange",t,!1),()=>i.removeEventListener("hashchange",t)}get href(){return this._location.href}get protocol(){return this._location.protocol}get hostname(){return this._location.hostname}get port(){return this._location.port}get pathname(){return this._location.pathname}get search(){return this._location.search}get hash(){return this._location.hash}set pathname(t){this._location.pathname=t}pushState(t,i,r){f$()?this._history.pushState(t,i,r):this._location.hash=r}replaceState(t,i,r){f$()?this._history.replaceState(t,i,r):this._location.hash=r}forward(){this._history.forward()}back(){this._history.back()}historyGo(t=0){this._history.go(t)}getState(){return this._history.state}}return e.\u0275fac=function(t){return new(t||e)(Qe(xi))},e.\u0275prov=y({token:e,factory:function(){return function lTe(){return new p$(Qe(xi))}()},providedIn:"platform"}),e})();function f$(){return!!window.history.pushState}function rI(e,n){if(0==e.length)return n;if(0==n.length)return e;let t=0;return e.endsWith("/")&&t++,n.startsWith("/")&&t++,2==t?e+n.substring(1):1==t?e+n:e+"/"+n}function h$(e){const n=e.match(/#|\?|$/),t=n&&n.index||e.length;return e.slice(0,t-("/"===e[t-1]?1:0))+e.slice(t)}function Od(e){return e&&"?"!==e[0]?"?"+e:e}let ug=(()=>{class e{historyGo(t){throw new Error("Not implemented")}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=y({token:e,factory:function(){return Kt(m$)},providedIn:"root"}),e})();const g$=new bt("appBaseHref");let m$=(()=>{class e extends ug{constructor(t,i){super(),this._platformLocation=t,this._removeListenerFns=[],this._baseHref=i??this._platformLocation.getBaseHrefFromDOM()??Kt(xi).location?.origin??""}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(t){this._removeListenerFns.push(this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t))}getBaseHref(){return this._baseHref}prepareExternalUrl(t){return rI(this._baseHref,t)}path(t=!1){const i=this._platformLocation.pathname+Od(this._platformLocation.search),r=this._platformLocation.hash;return r&&t?`${i}${r}`:i}pushState(t,i,r,o){const a=this.prepareExternalUrl(r+Od(o));this._platformLocation.pushState(t,i,a)}replaceState(t,i,r,o){const a=this.prepareExternalUrl(r+Od(o));this._platformLocation.replaceState(t,i,a)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(t=0){this._platformLocation.historyGo?.(t)}}return e.\u0275fac=function(t){return new(t||e)(Qe(iI),Qe(g$,8))},e.\u0275prov=y({token:e,factory:e.\u0275fac,providedIn:"root"}),e})(),cTe=(()=>{class e extends ug{constructor(t,i){super(),this._platformLocation=t,this._baseHref="",this._removeListenerFns=[],null!=i&&(this._baseHref=i)}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(t){this._removeListenerFns.push(this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t))}getBaseHref(){return this._baseHref}path(t=!1){let i=this._platformLocation.hash;return null==i&&(i="#"),i.length>0?i.substring(1):i}prepareExternalUrl(t){const i=rI(this._baseHref,t);return i.length>0?"#"+i:i}pushState(t,i,r,o){let a=this.prepareExternalUrl(r+Od(o));0==a.length&&(a=this._platformLocation.pathname),this._platformLocation.pushState(t,i,a)}replaceState(t,i,r,o){let a=this.prepareExternalUrl(r+Od(o));0==a.length&&(a=this._platformLocation.pathname),this._platformLocation.replaceState(t,i,a)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(t=0){this._platformLocation.historyGo?.(t)}}return e.\u0275fac=function(t){return new(t||e)(Qe(iI),Qe(g$,8))},e.\u0275prov=y({token:e,factory:e.\u0275fac}),e})(),oI=(()=>{class e{constructor(t){this._subject=new Pe,this._urlChangeListeners=[],this._urlChangeSubscription=null,this._locationStrategy=t;const i=this._locationStrategy.getBaseHref();this._basePath=function pTe(e){if(new RegExp("^(https?:)?//").test(e)){const[,t]=e.split(/\/\/[^\/]+/);return t}return e}(h$(y$(i))),this._locationStrategy.onPopState(r=>{this._subject.emit({url:this.path(!0),pop:!0,state:r.state,type:r.type})})}ngOnDestroy(){this._urlChangeSubscription?.unsubscribe(),this._urlChangeListeners=[]}path(t=!1){return this.normalize(this._locationStrategy.path(t))}getState(){return this._locationStrategy.getState()}isCurrentPathEqualTo(t,i=""){return this.path()==this.normalize(t+Od(i))}normalize(t){return e.stripTrailingSlash(function dTe(e,n){if(!e||!n.startsWith(e))return n;const t=n.substring(e.length);return""===t||["/",";","?","#"].includes(t[0])?t:n}(this._basePath,y$(t)))}prepareExternalUrl(t){return t&&"/"!==t[0]&&(t="/"+t),this._locationStrategy.prepareExternalUrl(t)}go(t,i="",r=null){this._locationStrategy.pushState(r,"",t,i),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+Od(i)),r)}replaceState(t,i="",r=null){this._locationStrategy.replaceState(r,"",t,i),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+Od(i)),r)}forward(){this._locationStrategy.forward()}back(){this._locationStrategy.back()}historyGo(t=0){this._locationStrategy.historyGo?.(t)}onUrlChange(t){return this._urlChangeListeners.push(t),this._urlChangeSubscription||(this._urlChangeSubscription=this.subscribe(i=>{this._notifyUrlChangeListeners(i.url,i.state)})),()=>{const i=this._urlChangeListeners.indexOf(t);this._urlChangeListeners.splice(i,1),0===this._urlChangeListeners.length&&(this._urlChangeSubscription?.unsubscribe(),this._urlChangeSubscription=null)}}_notifyUrlChangeListeners(t="",i){this._urlChangeListeners.forEach(r=>r(t,i))}subscribe(t,i,r){return this._subject.subscribe({next:t,error:i,complete:r})}}return e.normalizeQueryParams=Od,e.joinWithSlash=rI,e.stripTrailingSlash=h$,e.\u0275fac=function(t){return new(t||e)(Qe(ug))},e.\u0275prov=y({token:e,factory:function(){return function uTe(){return new oI(Qe(ug))}()},providedIn:"root"}),e})();function y$(e){return e.replace(/\/index.html$/,"")}function x$(e,n){n=encodeURIComponent(n);for(const t of e.split(";")){const i=t.indexOf("="),[r,o]=-1==i?[t,""]:[t.slice(0,i),t.slice(i+1)];if(r.trim()===n)return decodeURIComponent(o)}return null}const gI=/\s+/,F$=[];let to=(()=>{class e{constructor(t,i,r,o){this._iterableDiffers=t,this._keyValueDiffers=i,this._ngEl=r,this._renderer=o,this.initialClasses=F$,this.stateMap=new Map}set klass(t){this.initialClasses=null!=t?t.trim().split(gI):F$}set ngClass(t){this.rawClass="string"==typeof t?t.trim().split(gI):t}ngDoCheck(){for(const i of this.initialClasses)this._updateState(i,!0);const t=this.rawClass;if(Array.isArray(t)||t instanceof Set)for(const i of t)this._updateState(i,!0);else if(null!=t)for(const i of Object.keys(t))this._updateState(i,Boolean(t[i]));this._applyStateDiff()}_updateState(t,i){const r=this.stateMap.get(t);void 0!==r?(r.enabled!==i&&(r.changed=!0,r.enabled=i),r.touched=!0):this.stateMap.set(t,{enabled:i,changed:!0,touched:!0})}_applyStateDiff(){for(const t of this.stateMap){const i=t[0],r=t[1];r.changed?(this._toggleClass(i,r.enabled),r.changed=!1):r.touched||(r.enabled&&this._toggleClass(i,!1),this.stateMap.delete(i)),r.touched=!1}}_toggleClass(t,i){(t=t.trim()).length>0&&t.split(gI).forEach(r=>{i?this._renderer.addClass(this._ngEl.nativeElement,r):this._renderer.removeClass(this._ngEl.nativeElement,r)})}}return e.\u0275fac=function(t){return new(t||e)(ie(kv),ie(Pv),ie(En),ie(Si))},e.\u0275dir=Ft({type:e,selectors:[["","ngClass",""]],inputs:{klass:["class","klass"],ngClass:"ngClass"},standalone:!0}),e})();class ZTe{constructor(n,t,i,r){this.$implicit=n,this.ngForOf=t,this.index=i,this.count=r}get first(){return 0===this.index}get last(){return this.index===this.count-1}get even(){return this.index%2==0}get odd(){return!this.even}}let _u=(()=>{class e{set ngForOf(t){this._ngForOf=t,this._ngForOfDirty=!0}set ngForTrackBy(t){this._trackByFn=t}get ngForTrackBy(){return this._trackByFn}constructor(t,i,r){this._viewContainer=t,this._template=i,this._differs=r,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForTemplate(t){t&&(this._template=t)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const t=this._ngForOf;!this._differ&&t&&(this._differ=this._differs.find(t).create(this.ngForTrackBy))}if(this._differ){const t=this._differ.diff(this._ngForOf);t&&this._applyChanges(t)}}_applyChanges(t){const i=this._viewContainer;t.forEachOperation((r,o,a)=>{if(null==r.previousIndex)i.createEmbeddedView(this._template,new ZTe(r.item,this._ngForOf,-1,-1),null===a?void 0:a);else if(null==a)i.remove(null===o?void 0:o);else if(null!==o){const s=i.get(o);i.move(s,a),I$(s,r)}});for(let r=0,o=i.length;r{I$(i.get(r.currentIndex),r)})}static ngTemplateContextGuard(t,i){return!0}}return e.\u0275fac=function(t){return new(t||e)(ie(pc),ie(dc),ie(kv))},e.\u0275dir=Ft({type:e,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"},standalone:!0}),e})();function I$(e,n){e.context.$implicit=n.item}let Mi=(()=>{class e{constructor(t,i){this._viewContainer=t,this._context=new QTe,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=i}set ngIf(t){this._context.$implicit=this._context.ngIf=t,this._updateView()}set ngIfThen(t){R$("ngIfThen",t),this._thenTemplateRef=t,this._thenViewRef=null,this._updateView()}set ngIfElse(t){R$("ngIfElse",t),this._elseTemplateRef=t,this._elseViewRef=null,this._updateView()}_updateView(){this._context.$implicit?this._thenViewRef||(this._viewContainer.clear(),this._elseViewRef=null,this._thenTemplateRef&&(this._thenViewRef=this._viewContainer.createEmbeddedView(this._thenTemplateRef,this._context))):this._elseViewRef||(this._viewContainer.clear(),this._thenViewRef=null,this._elseTemplateRef&&(this._elseViewRef=this._viewContainer.createEmbeddedView(this._elseTemplateRef,this._context)))}static ngTemplateContextGuard(t,i){return!0}}return e.\u0275fac=function(t){return new(t||e)(ie(pc),ie(dc))},e.\u0275dir=Ft({type:e,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"},standalone:!0}),e})();class QTe{constructor(){this.$implicit=null,this.ngIf=null}}function R$(e,n){if(n&&!n.createEmbeddedView)throw new Error(`${e} must be a TemplateRef, but received '${Un(n)}'.`)}let or=(()=>{class e{constructor(t,i,r){this._ngEl=t,this._differs=i,this._renderer=r,this._ngStyle=null,this._differ=null}set ngStyle(t){this._ngStyle=t,!this._differ&&t&&(this._differ=this._differs.find(t).create())}ngDoCheck(){if(this._differ){const t=this._differ.diff(this._ngStyle);t&&this._applyChanges(t)}}_setStyle(t,i){const[r,o]=t.split("."),a=-1===r.indexOf("-")?void 0:Ja.DashCase;null!=i?this._renderer.setStyle(this._ngEl.nativeElement,r,o?`${i}${o}`:i,a):this._renderer.removeStyle(this._ngEl.nativeElement,r,a)}_applyChanges(t){t.forEachRemovedItem(i=>this._setStyle(i.key,null)),t.forEachAddedItem(i=>this._setStyle(i.key,i.currentValue)),t.forEachChangedItem(i=>this._setStyle(i.key,i.currentValue))}}return e.\u0275fac=function(t){return new(t||e)(ie(En),ie(Pv),ie(Si))},e.\u0275dir=Ft({type:e,selectors:[["","ngStyle",""]],inputs:{ngStyle:"ngStyle"},standalone:!0}),e})(),Yo=(()=>{class e{constructor(t){this._viewContainerRef=t,this._viewRef=null,this.ngTemplateOutletContext=null,this.ngTemplateOutlet=null,this.ngTemplateOutletInjector=null}ngOnChanges(t){if(t.ngTemplateOutlet||t.ngTemplateOutletInjector){const i=this._viewContainerRef;if(this._viewRef&&i.remove(i.indexOf(this._viewRef)),this.ngTemplateOutlet){const{ngTemplateOutlet:r,ngTemplateOutletContext:o,ngTemplateOutletInjector:a}=this;this._viewRef=i.createEmbeddedView(r,o,a?{injector:a}:void 0)}else this._viewRef=null}else this._viewRef&&t.ngTemplateOutletContext&&this.ngTemplateOutletContext&&(this._viewRef.context=this.ngTemplateOutletContext)}}return e.\u0275fac=function(t){return new(t||e)(ie(pc))},e.\u0275dir=Ft({type:e,selectors:[["","ngTemplateOutlet",""]],inputs:{ngTemplateOutletContext:"ngTemplateOutletContext",ngTemplateOutlet:"ngTemplateOutlet",ngTemplateOutletInjector:"ngTemplateOutletInjector"},standalone:!0,features:[To]}),e})(),jn=(()=>{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=en({type:e}),e.\u0275inj=b({}),e})();const k$="browser";function Gd(e){return e===k$}let FCe=(()=>{class e{}return e.\u0275prov=y({token:e,providedIn:"root",factory:()=>new DCe(Qe(xi),window)}),e})();class DCe{constructor(n,t){this.document=n,this.window=t,this.offset=()=>[0,0]}setOffset(n){this.offset=Array.isArray(n)?()=>n:n}getScrollPosition(){return this.supportsScrolling()?[this.window.pageXOffset,this.window.pageYOffset]:[0,0]}scrollToPosition(n){this.supportsScrolling()&&this.window.scrollTo(n[0],n[1])}scrollToAnchor(n){if(!this.supportsScrolling())return;const t=function ECe(e,n){const t=e.getElementById(n)||e.getElementsByName(n)[0];if(t)return t;if("function"==typeof e.createTreeWalker&&e.body&&(e.body.createShadowRoot||e.body.attachShadow)){const i=e.createTreeWalker(e.body,NodeFilter.SHOW_ELEMENT);let r=i.currentNode;for(;r;){const o=r.shadowRoot;if(o){const a=o.getElementById(n)||o.querySelector(`[name="${n}"]`);if(a)return a}r=i.nextNode()}}return null}(this.document,n);t&&(this.scrollToElement(t),t.focus())}setHistoryScrollRestoration(n){if(this.supportScrollRestoration()){const t=this.window.history;t&&t.scrollRestoration&&(t.scrollRestoration=n)}}scrollToElement(n){const t=n.getBoundingClientRect(),i=t.left+this.window.pageXOffset,r=t.top+this.window.pageYOffset,o=this.offset();this.window.scrollTo(i-o[0],r-o[1])}supportScrollRestoration(){try{if(!this.supportsScrolling())return!1;const n=P$(this.window.history)||P$(Object.getPrototypeOf(this.window.history));return!(!n||!n.writable&&!n.set)}catch{return!1}}supportsScrolling(){try{return!!this.window&&!!this.window.scrollTo&&"pageXOffset"in this.window}catch{return!1}}}function P$(e){return Object.getOwnPropertyDescriptor(e,"scrollRestoration")}class N${}class nbe extends oTe{constructor(){super(...arguments),this.supportsDOMEvents=!0}}class bI extends nbe{static makeCurrent(){!function rTe(e){nI||(nI=e)}(new bI)}onAndCancel(n,t,i){return n.addEventListener(t,i,!1),()=>{n.removeEventListener(t,i,!1)}}dispatchEvent(n,t){n.dispatchEvent(t)}remove(n){n.parentNode&&n.parentNode.removeChild(n)}createElement(n,t){return(t=t||this.getDefaultDocument()).createElement(n)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(n){return n.nodeType===Node.ELEMENT_NODE}isShadowRoot(n){return n instanceof DocumentFragment}getGlobalEventTarget(n,t){return"window"===t?window:"document"===t?n:"body"===t?n.body:null}getBaseHref(n){const t=function ibe(){return Gv=Gv||document.querySelector("base"),Gv?Gv.getAttribute("href"):null}();return null==t?null:function rbe(e){IA=IA||document.createElement("a"),IA.setAttribute("href",e);const n=IA.pathname;return"/"===n.charAt(0)?n:`/${n}`}(t)}resetBaseElement(){Gv=null}getUserAgent(){return window.navigator.userAgent}getCookie(n){return x$(document.cookie,n)}}let IA,Gv=null;const Y$=new bt("TRANSITION_ID"),abe=[{provide:fA,useFactory:function obe(e,n,t){return()=>{t.get(hA).donePromise.then(()=>{const i=Nd(),r=n.querySelectorAll(`style[ng-transition="${e}"]`);for(let o=0;o{class e{build(){return new XMLHttpRequest}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=y({token:e,factory:e.\u0275fac}),e})();const RA=new bt("EventManagerPlugins");let LA=(()=>{class e{constructor(t,i){this._zone=i,this._eventNameToPlugin=new Map,t.forEach(r=>{r.manager=this}),this._plugins=t.slice().reverse()}addEventListener(t,i,r){return this._findPluginFor(i).addEventListener(t,i,r)}addGlobalEventListener(t,i,r){return this._findPluginFor(i).addGlobalEventListener(t,i,r)}getZone(){return this._zone}_findPluginFor(t){const i=this._eventNameToPlugin.get(t);if(i)return i;const r=this._plugins;for(let o=0;o{class e{constructor(){this.usageCount=new Map}addStyles(t){for(const i of t)1===this.changeUsageCount(i,1)&&this.onStyleAdded(i)}removeStyles(t){for(const i of t)0===this.changeUsageCount(i,-1)&&this.onStyleRemoved(i)}onStyleRemoved(t){}onStyleAdded(t){}getAllStyles(){return this.usageCount.keys()}changeUsageCount(t,i){const r=this.usageCount;let o=r.get(t)??0;return o+=i,o>0?r.set(t,o):r.delete(t),o}ngOnDestroy(){for(const t of this.getAllStyles())this.onStyleRemoved(t);this.usageCount.clear()}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=y({token:e,factory:e.\u0275fac}),e})(),Bv=(()=>{class e extends z${constructor(t){super(),this.doc=t,this.styleRef=new Map,this.hostNodes=new Set,this.resetHostNodes()}onStyleAdded(t){for(const i of this.hostNodes)this.addStyleToHost(i,t)}onStyleRemoved(t){const i=this.styleRef;i.get(t)?.forEach(o=>o.remove()),i.delete(t)}ngOnDestroy(){super.ngOnDestroy(),this.styleRef.clear(),this.resetHostNodes()}addHost(t){this.hostNodes.add(t);for(const i of this.getAllStyles())this.addStyleToHost(t,i)}removeHost(t){this.hostNodes.delete(t)}addStyleToHost(t,i){const r=this.doc.createElement("style");r.textContent=i,t.appendChild(r);const o=this.styleRef.get(i);o?o.push(r):this.styleRef.set(i,[r])}resetHostNodes(){const t=this.hostNodes;t.clear(),t.add(this.doc.head)}}return e.\u0275fac=function(t){return new(t||e)(Qe(xi))},e.\u0275prov=y({token:e,factory:e.\u0275fac}),e})();const AI={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/",math:"http://www.w3.org/1998/MathML/"},SI=/%COMP%/g,j$=new bt("RemoveStylesOnCompDestory",{providedIn:"root",factory:()=>!1});function W$(e,n){return n.flat(100).map(t=>t.replace(SI,e))}function q$(e){return n=>{if("__ngUnwrap__"===n)return e;!1===e(n)&&(n.preventDefault(),n.returnValue=!1)}}let MA=(()=>{class e{constructor(t,i,r,o){this.eventManager=t,this.sharedStylesHost=i,this.appId=r,this.removeStylesOnCompDestory=o,this.rendererByCompId=new Map,this.defaultRenderer=new wI(t)}createRenderer(t,i){if(!t||!i)return this.defaultRenderer;const r=this.getOrCreateRenderer(t,i);return r instanceof X$?r.applyToHost(t):r instanceof xI&&r.applyStyles(),r}getOrCreateRenderer(t,i){const r=this.rendererByCompId;let o=r.get(i.id);if(!o){const a=this.eventManager,s=this.sharedStylesHost,l=this.removeStylesOnCompDestory;switch(i.encapsulation){case Rs.Emulated:o=new X$(a,s,i,this.appId,l);break;case Rs.ShadowDom:return new gbe(a,s,t,i);default:o=new xI(a,s,i,l)}o.onDestroy=()=>r.delete(i.id),r.set(i.id,o)}return o}ngOnDestroy(){this.rendererByCompId.clear()}begin(){}end(){}}return e.\u0275fac=function(t){return new(t||e)(Qe(LA),Qe(Bv),Qe(Lv),Qe(j$))},e.\u0275prov=y({token:e,factory:e.\u0275fac}),e})();class wI{constructor(n){this.eventManager=n,this.data=Object.create(null),this.destroyNode=null}destroy(){}createElement(n,t){return t?document.createElementNS(AI[t]||t,n):document.createElement(n)}createComment(n){return document.createComment(n)}createText(n){return document.createTextNode(n)}appendChild(n,t){(Z$(n)?n.content:n).appendChild(t)}insertBefore(n,t,i){n&&(Z$(n)?n.content:n).insertBefore(t,i)}removeChild(n,t){n&&n.removeChild(t)}selectRootElement(n,t){let i="string"==typeof n?document.querySelector(n):n;if(!i)throw new Error(`The selector "${n}" did not match any elements`);return t||(i.textContent=""),i}parentNode(n){return n.parentNode}nextSibling(n){return n.nextSibling}setAttribute(n,t,i,r){if(r){t=r+":"+t;const o=AI[r];o?n.setAttributeNS(o,t,i):n.setAttribute(t,i)}else n.setAttribute(t,i)}removeAttribute(n,t,i){if(i){const r=AI[i];r?n.removeAttributeNS(r,t):n.removeAttribute(`${i}:${t}`)}else n.removeAttribute(t)}addClass(n,t){n.classList.add(t)}removeClass(n,t){n.classList.remove(t)}setStyle(n,t,i,r){r&(Ja.DashCase|Ja.Important)?n.style.setProperty(t,i,r&Ja.Important?"important":""):n.style[t]=i}removeStyle(n,t,i){i&Ja.DashCase?n.style.removeProperty(t):n.style[t]=""}setProperty(n,t,i){n[t]=i}setValue(n,t){n.nodeValue=t}listen(n,t,i){return"string"==typeof n?this.eventManager.addGlobalEventListener(n,t,q$(i)):this.eventManager.addEventListener(n,t,q$(i))}}function Z$(e){return"TEMPLATE"===e.tagName&&void 0!==e.content}class gbe extends wI{constructor(n,t,i,r){super(n),this.sharedStylesHost=t,this.hostEl=i,this.shadowRoot=i.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const o=W$(r.id,r.styles);for(const a of o){const s=document.createElement("style");s.textContent=a,this.shadowRoot.appendChild(s)}}nodeOrShadowRoot(n){return n===this.hostEl?this.shadowRoot:n}appendChild(n,t){return super.appendChild(this.nodeOrShadowRoot(n),t)}insertBefore(n,t,i){return super.insertBefore(this.nodeOrShadowRoot(n),t,i)}removeChild(n,t){return super.removeChild(this.nodeOrShadowRoot(n),t)}parentNode(n){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(n)))}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}}class xI extends wI{constructor(n,t,i,r,o=i.id){super(n),this.sharedStylesHost=t,this.removeStylesOnCompDestory=r,this.rendererUsageCount=0,this.styles=W$(o,i.styles)}applyStyles(){this.sharedStylesHost.addStyles(this.styles),this.rendererUsageCount++}destroy(){this.removeStylesOnCompDestory&&(this.sharedStylesHost.removeStyles(this.styles),this.rendererUsageCount--,0===this.rendererUsageCount&&this.onDestroy?.())}}class X$ extends xI{constructor(n,t,i,r,o){const a=r+"-"+i.id;super(n,t,i,o,a),this.contentAttr=function pbe(e){return"_ngcontent-%COMP%".replace(SI,e)}(a),this.hostAttr=function fbe(e){return"_nghost-%COMP%".replace(SI,e)}(a)}applyToHost(n){this.applyStyles(),this.setAttribute(n,this.hostAttr,"")}createElement(n,t){const i=super.createElement(n,t);return super.setAttribute(i,this.contentAttr,""),i}}let mbe=(()=>{class e extends V${constructor(t){super(t)}supports(t){return!0}addEventListener(t,i,r){return t.addEventListener(i,r,!1),()=>this.removeEventListener(t,i,r)}removeEventListener(t,i,r){return t.removeEventListener(i,r)}}return e.\u0275fac=function(t){return new(t||e)(Qe(xi))},e.\u0275prov=y({token:e,factory:e.\u0275fac}),e})();const Q$=["alt","control","meta","shift"],ybe={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},_be={alt:e=>e.altKey,control:e=>e.ctrlKey,meta:e=>e.metaKey,shift:e=>e.shiftKey};let vbe=(()=>{class e extends V${constructor(t){super(t)}supports(t){return null!=e.parseEventName(t)}addEventListener(t,i,r){const o=e.parseEventName(i),a=e.eventCallback(o.fullKey,r,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>Nd().onAndCancel(t,o.domEventName,a))}static parseEventName(t){const i=t.toLowerCase().split("."),r=i.shift();if(0===i.length||"keydown"!==r&&"keyup"!==r)return null;const o=e._normalizeKey(i.pop());let a="",s=i.indexOf("code");if(s>-1&&(i.splice(s,1),a="code."),Q$.forEach(c=>{const u=i.indexOf(c);u>-1&&(i.splice(u,1),a+=c+".")}),a+=o,0!=i.length||0===o.length)return null;const l={};return l.domEventName=r,l.fullKey=a,l}static matchEventFullKeyCode(t,i){let r=ybe[t.key]||t.key,o="";return i.indexOf("code.")>-1&&(r=t.code,o="code."),!(null==r||!r)&&(r=r.toLowerCase()," "===r?r="space":"."===r&&(r="dot"),Q$.forEach(a=>{a!==r&&(0,_be[a])(t)&&(o+=a+".")}),o+=r,o===i)}static eventCallback(t,i,r){return o=>{e.matchEventFullKeyCode(o,t)&&r.runGuarded(()=>i(o))}}static _normalizeKey(t){return"esc"===t?"escape":t}}return e.\u0275fac=function(t){return new(t||e)(Qe(xi))},e.\u0275prov=y({token:e,factory:e.\u0275fac}),e})();const eU=[{provide:Md,useValue:k$},{provide:Oz,useValue:function Tbe(){bI.makeCurrent()},multi:!0},{provide:xi,useFactory:function bbe(){return function pme(e){M4=e}(document),document},deps:[]}],Abe=Kz(tTe,"browser",eU),tU=new bt(""),nU=[{provide:gA,useClass:class sbe{addToWindow(n){sn.getAngularTestability=(i,r=!0)=>{const o=n.findTestabilityInTree(i,r);if(null==o)throw new Error("Could not find testability for element.");return o},sn.getAllAngularTestabilities=()=>n.getAllTestabilities(),sn.getAllAngularRootElements=()=>n.getAllRootElements(),sn.frameworkStabilizers||(sn.frameworkStabilizers=[]),sn.frameworkStabilizers.push(i=>{const r=sn.getAllAngularTestabilities();let o=r.length,a=!1;const s=function(l){a=a||l,o--,0==o&&i(a)};r.forEach(function(l){l.whenStable(s)})})}findTestabilityInTree(n,t,i){return null==t?null:n.getTestability(t)??(i?Nd().isShadowRoot(t)?this.findTestabilityInTree(n,t.host,!0):this.findTestabilityInTree(n,t.parentElement,!0):null)}},deps:[]},{provide:$z,useClass:WE,deps:[wn,qE,gA]},{provide:WE,useClass:WE,deps:[wn,qE,gA]}],iU=[{provide:z4,useValue:"root"},{provide:W0,useFactory:function Cbe(){return new W0},deps:[]},{provide:RA,useClass:mbe,multi:!0,deps:[xi,wn,Md]},{provide:RA,useClass:vbe,multi:!0,deps:[xi]},{provide:MA,useClass:MA,deps:[LA,Bv,Lv,j$]},{provide:gv,useExisting:MA},{provide:z$,useExisting:Bv},{provide:Bv,useClass:Bv,deps:[xi]},{provide:LA,useClass:LA,deps:[RA,wn]},{provide:N$,useClass:lbe,deps:[]},[]];let rU=(()=>{class e{constructor(t){}static withServerTransition(t){return{ngModule:e,providers:[{provide:Lv,useValue:t.appId},{provide:Y$,useExisting:Lv},abe]}}}return e.\u0275fac=function(t){return new(t||e)(Qe(tU,12))},e.\u0275mod=en({type:e}),e.\u0275inj=b({providers:[...iU,...nU],imports:[jn,nTe]}),e})(),DI=(()=>{class e{constructor(t){this._doc=t}getTitle(){return this._doc.title}setTitle(t){this._doc.title=t||""}}return e.\u0275fac=function(t){return new(t||e)(Qe(xi))},e.\u0275prov=y({token:e,factory:function(t){let i=null;return i=t?new t:function wbe(){return new DI(Qe(xi))}(),i},providedIn:"root"}),e})();function Yt(...e){return di(e,Jr(e))}typeof window<"u"&&window;class mc extends Ui{constructor(n){super(),this._value=n}get value(){return this.getValue()}_subscribe(n){const t=super._subscribe(n);return!t.closed&&n.next(this._value),t}getValue(){const{hasError:n,thrownError:t,_value:i}=this;if(n)throw t;return this._throwIfClosed(),i}next(n){super.next(this._value=n)}}const kA=Wl(e=>function(){e(this),this.name="EmptyError",this.message="no elements in sequence"}),{isArray:Rbe}=Array,{getPrototypeOf:Lbe,prototype:Mbe,keys:kbe}=Object;function sU(e){if(1===e.length){const n=e[0];if(Rbe(n))return{args:n,keys:null};if(function Pbe(e){return e&&"object"==typeof e&&Lbe(e)===Mbe}(n)){const t=kbe(n);return{args:t.map(i=>n[i]),keys:t}}}return{args:e,keys:null}}const{isArray:Nbe}=Array;function lU(e){return Qt(n=>function Obe(e,n){return Nbe(n)?e(...n):e(n)}(e,n))}function cU(e,n){return e.reduce((t,i,r)=>(t[i]=n[r],t),{})}function uU(...e){const n=Jr(e),t=Or(e),{args:i,keys:r}=sU(e);if(0===i.length)return di([],n);const o=new ui(function Hbe(e,n,t=tr){return i=>{dU(n,()=>{const{length:r}=e,o=new Array(r);let a=r,s=r;for(let l=0;l{const c=di(e[l],n);let u=!1;c.subscribe($n(i,d=>{o[l]=d,u||(u=!0,s--),s||i.next(t(o.slice()))},()=>{--a||i.complete()}))},i)},i)}}(i,n,r?a=>cU(r,a):tr));return t?o.pipe(lU(t)):o}function dU(e,n,t){e?qa(t,e,n):n()}function II(...e){return function Gbe(){return au(1)}()(di(e,Jr(e)))}function pU(e){return new ui(n=>{Oi(e()).subscribe(n)})}function Yv(e,n){const t=rt(e)?e:()=>e,i=r=>r.error(t());return new ui(n?r=>n.schedule(i,0,r):i)}function RI(){return nr((e,n)=>{let t=null;e._refCount++;const i=$n(n,void 0,void 0,void 0,()=>{if(!e||e._refCount<=0||0<--e._refCount)return void(t=null);const r=e._connection,o=t;t=null,r&&(!o||r===o)&&r.unsubscribe(),n.unsubscribe()});e.subscribe(i),i.closed||(t=e.connect())})}class fU extends ui{constructor(n,t){super(),this.source=n,this.subjectFactory=t,this._subject=null,this._refCount=0,this._connection=null,o0(n)&&(this.lift=n.lift)}_subscribe(n){return this.getSubject().subscribe(n)}getSubject(){const n=this._subject;return(!n||n.isStopped)&&(this._subject=this.subjectFactory()),this._subject}_teardown(){this._refCount=0;const{_connection:n}=this;this._subject=this._connection=null,n?.unsubscribe()}connect(){let n=this._connection;if(!n){n=this._connection=new Sr;const t=this.getSubject();n.add(this.source.subscribe($n(t,void 0,()=>{this._teardown(),t.complete()},i=>{this._teardown(),t.error(i)},()=>this._teardown()))),n.closed&&(this._connection=null,n=Sr.EMPTY)}return n}refCount(){return RI()(this)}}function vu(e,n){return nr((t,i)=>{let r=null,o=0,a=!1;const s=()=>a&&!r&&i.complete();t.subscribe($n(i,l=>{r?.unsubscribe();let c=0;const u=o++;Oi(e(l,u)).subscribe(r=$n(i,d=>i.next(n?n(l,d,u,c++):d),()=>{r=null,s()}))},()=>{a=!0,s()}))})}function fy(e){return e<=0?()=>Ka:nr((n,t)=>{let i=0;n.subscribe($n(t,r=>{++i<=e&&(t.next(r),e<=i&&t.complete())}))})}function Bd(e,n){return nr((t,i)=>{let r=0;t.subscribe($n(i,o=>e.call(n,o,r++)&&i.next(o)))})}function PA(e){return nr((n,t)=>{let i=!1;n.subscribe($n(t,r=>{i=!0,t.next(r)},()=>{i||t.next(e),t.complete()}))})}function hU(e=Ybe){return nr((n,t)=>{let i=!1;n.subscribe($n(t,r=>{i=!0,t.next(r)},()=>i?t.complete():t.error(e())))})}function Ybe(){return new kA}function rf(e,n){const t=arguments.length>=2;return i=>i.pipe(e?Bd((r,o)=>e(r,o,i)):tr,fy(1),t?PA(n):hU(()=>new kA))}function af(e,n){return rt(n)?Wi(e,n,1):Wi(e,1)}function Vo(e,n,t){const i=rt(e)||n||t?{next:e,error:n,complete:t}:e;return i?nr((r,o)=>{var a;null===(a=i.subscribe)||void 0===a||a.call(i);let s=!0;r.subscribe($n(o,l=>{var c;null===(c=i.next)||void 0===c||c.call(i,l),o.next(l)},()=>{var l;s=!1,null===(l=i.complete)||void 0===l||l.call(i),o.complete()},l=>{var c;s=!1,null===(c=i.error)||void 0===c||c.call(i,l),o.error(l)},()=>{var l,c;s&&(null===(l=i.unsubscribe)||void 0===l||l.call(i)),null===(c=i.finalize)||void 0===c||c.call(i)}))}):tr}function sf(e){return nr((n,t)=>{let o,i=null,r=!1;i=n.subscribe($n(t,void 0,void 0,a=>{o=Oi(e(a,sf(e)(n))),i?(i.unsubscribe(),i=null,o.subscribe(t)):r=!0})),r&&(i.unsubscribe(),i=null,o.subscribe(t))})}function gU(e,n){return nr(function Vbe(e,n,t,i,r){return(o,a)=>{let s=t,l=n,c=0;o.subscribe($n(a,u=>{const d=c++;l=s?e(l,u,d):(s=!0,u),i&&a.next(l)},r&&(()=>{s&&a.next(l),a.complete()})))}}(e,n,arguments.length>=2,!0))}function LI(e){return e<=0?()=>Ka:nr((n,t)=>{let i=[];n.subscribe($n(t,r=>{i.push(r),e{for(const r of i)t.next(r);t.complete()},void 0,()=>{i=null}))})}function mU(e,n){const t=arguments.length>=2;return i=>i.pipe(e?Bd((r,o)=>e(r,o,i)):tr,LI(1),t?PA(n):hU(()=>new kA))}function MI(e){return nr((n,t)=>{try{n.subscribe(t)}finally{t.add(e)}})}const hn="primary",Vv=Symbol("RouteTitle");class Ube{constructor(n){this.params=n||{}}has(n){return Object.prototype.hasOwnProperty.call(this.params,n)}get(n){if(this.has(n)){const t=this.params[n];return Array.isArray(t)?t[0]:t}return null}getAll(n){if(this.has(n)){const t=this.params[n];return Array.isArray(t)?t:[t]}return[]}get keys(){return Object.keys(this.params)}}function hy(e){return new Ube(e)}function jbe(e,n,t){const i=t.path.split("/");if(i.length>e.length||"full"===t.pathMatch&&(n.hasChildren()||i.lengthi[o]===r)}return e===n}function _U(e){return Array.prototype.concat.apply([],e)}function vU(e){return e.length>0?e[e.length-1]:null}function Ao(e,n){for(const t in e)e.hasOwnProperty(t)&&n(e[t],t)}function lf(e){return gE(e)?e:Cv(e)?di(Promise.resolve(e)):Yt(e)}const NA=!1,qbe={exact:function bU(e,n,t){if(!dg(e.segments,n.segments)||!OA(e.segments,n.segments,t)||e.numberOfChildren!==n.numberOfChildren)return!1;for(const i in n.children)if(!e.children[i]||!bU(e.children[i],n.children[i],t))return!1;return!0},subset:AU},TU={exact:function Kbe(e,n){return Tu(e,n)},subset:function Zbe(e,n){return Object.keys(n).length<=Object.keys(e).length&&Object.keys(n).every(t=>yU(e[t],n[t]))},ignored:()=>!0};function CU(e,n,t){return qbe[t.paths](e.root,n.root,t.matrixParams)&&TU[t.queryParams](e.queryParams,n.queryParams)&&!("exact"===t.fragment&&e.fragment!==n.fragment)}function AU(e,n,t){return SU(e,n,n.segments,t)}function SU(e,n,t,i){if(e.segments.length>t.length){const r=e.segments.slice(0,t.length);return!(!dg(r,t)||n.hasChildren()||!OA(r,t,i))}if(e.segments.length===t.length){if(!dg(e.segments,t)||!OA(e.segments,t,i))return!1;for(const r in n.children)if(!e.children[r]||!AU(e.children[r],n.children[r],i))return!1;return!0}{const r=t.slice(0,e.segments.length),o=t.slice(e.segments.length);return!!(dg(e.segments,r)&&OA(e.segments,r,i)&&e.children[hn])&&SU(e.children[hn],n,o,i)}}function OA(e,n,t){return n.every((i,r)=>TU[t](e[r].parameters,i.parameters))}class cf{constructor(n=new Tn([],{}),t={},i=null){this.root=n,this.queryParams=t,this.fragment=i}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=hy(this.queryParams)),this._queryParamMap}toString(){return Jbe.serialize(this)}}class Tn{constructor(n,t){this.segments=n,this.children=t,this.parent=null,Ao(t,(i,r)=>i.parent=this)}hasChildren(){return this.numberOfChildren>0}get numberOfChildren(){return Object.keys(this.children).length}toString(){return HA(this)}}class zv{constructor(n,t){this.path=n,this.parameters=t}get parameterMap(){return this._parameterMap||(this._parameterMap=hy(this.parameters)),this._parameterMap}toString(){return FU(this)}}function dg(e,n){return e.length===n.length&&e.every((t,i)=>t.path===n[i].path)}let $v=(()=>{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=y({token:e,factory:function(){return new kI},providedIn:"root"}),e})();class kI{parse(n){const t=new l2e(n);return new cf(t.parseRootSegment(),t.parseQueryParams(),t.parseFragment())}serialize(n){const t=`/${Uv(n.root,!0)}`,i=function n2e(e){const n=Object.keys(e).map(t=>{const i=e[t];return Array.isArray(i)?i.map(r=>`${GA(t)}=${GA(r)}`).join("&"):`${GA(t)}=${GA(i)}`}).filter(t=>!!t);return n.length?`?${n.join("&")}`:""}(n.queryParams);return`${t}${i}${"string"==typeof n.fragment?`#${function e2e(e){return encodeURI(e)}(n.fragment)}`:""}`}}const Jbe=new kI;function HA(e){return e.segments.map(n=>FU(n)).join("/")}function Uv(e,n){if(!e.hasChildren())return HA(e);if(n){const t=e.children[hn]?Uv(e.children[hn],!1):"",i=[];return Ao(e.children,(r,o)=>{o!==hn&&i.push(`${o}:${Uv(r,!1)}`)}),i.length>0?`${t}(${i.join("//")})`:t}{const t=function Qbe(e,n){let t=[];return Ao(e.children,(i,r)=>{r===hn&&(t=t.concat(n(i,r)))}),Ao(e.children,(i,r)=>{r!==hn&&(t=t.concat(n(i,r)))}),t}(e,(i,r)=>r===hn?[Uv(e.children[hn],!1)]:[`${r}:${Uv(i,!1)}`]);return 1===Object.keys(e.children).length&&null!=e.children[hn]?`${HA(e)}/${t[0]}`:`${HA(e)}/(${t.join("//")})`}}function wU(e){return encodeURIComponent(e).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",")}function GA(e){return wU(e).replace(/%3B/gi,";")}function PI(e){return wU(e).replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/%26/gi,"&")}function BA(e){return decodeURIComponent(e)}function xU(e){return BA(e.replace(/\+/g,"%20"))}function FU(e){return`${PI(e.path)}${function t2e(e){return Object.keys(e).map(n=>`;${PI(n)}=${PI(e[n])}`).join("")}(e.parameters)}`}const i2e=/^[^\/()?;=#]+/;function YA(e){const n=e.match(i2e);return n?n[0]:""}const r2e=/^[^=?&#]+/,a2e=/^[^&#]+/;class l2e{constructor(n){this.url=n,this.remaining=n}parseRootSegment(){return this.consumeOptional("/"),""===this.remaining||this.peekStartsWith("?")||this.peekStartsWith("#")?new Tn([],{}):new Tn([],this.parseChildren())}parseQueryParams(){const n={};if(this.consumeOptional("?"))do{this.parseQueryParam(n)}while(this.consumeOptional("&"));return n}parseFragment(){return this.consumeOptional("#")?decodeURIComponent(this.remaining):null}parseChildren(){if(""===this.remaining)return{};this.consumeOptional("/");const n=[];for(this.peekStartsWith("(")||n.push(this.parseSegment());this.peekStartsWith("/")&&!this.peekStartsWith("//")&&!this.peekStartsWith("/(");)this.capture("/"),n.push(this.parseSegment());let t={};this.peekStartsWith("/(")&&(this.capture("/"),t=this.parseParens(!0));let i={};return this.peekStartsWith("(")&&(i=this.parseParens(!1)),(n.length>0||Object.keys(t).length>0)&&(i[hn]=new Tn(n,t)),i}parseSegment(){const n=YA(this.remaining);if(""===n&&this.peekStartsWith(";"))throw new Ae(4009,NA);return this.capture(n),new zv(BA(n),this.parseMatrixParams())}parseMatrixParams(){const n={};for(;this.consumeOptional(";");)this.parseParam(n);return n}parseParam(n){const t=YA(this.remaining);if(!t)return;this.capture(t);let i="";if(this.consumeOptional("=")){const r=YA(this.remaining);r&&(i=r,this.capture(i))}n[BA(t)]=BA(i)}parseQueryParam(n){const t=function o2e(e){const n=e.match(r2e);return n?n[0]:""}(this.remaining);if(!t)return;this.capture(t);let i="";if(this.consumeOptional("=")){const a=function s2e(e){const n=e.match(a2e);return n?n[0]:""}(this.remaining);a&&(i=a,this.capture(i))}const r=xU(t),o=xU(i);if(n.hasOwnProperty(r)){let a=n[r];Array.isArray(a)||(a=[a],n[r]=a),a.push(o)}else n[r]=o}parseParens(n){const t={};for(this.capture("(");!this.consumeOptional(")")&&this.remaining.length>0;){const i=YA(this.remaining),r=this.remaining[i.length];if("/"!==r&&")"!==r&&";"!==r)throw new Ae(4010,NA);let o;i.indexOf(":")>-1?(o=i.slice(0,i.indexOf(":")),this.capture(o),this.capture(":")):n&&(o=hn);const a=this.parseChildren();t[o]=1===Object.keys(a).length?a[hn]:new Tn([],a),this.consumeOptional("//")}return t}peekStartsWith(n){return this.remaining.startsWith(n)}consumeOptional(n){return!!this.peekStartsWith(n)&&(this.remaining=this.remaining.substring(n.length),!0)}capture(n){if(!this.consumeOptional(n))throw new Ae(4011,NA)}}function NI(e){return e.segments.length>0?new Tn([],{[hn]:e}):e}function VA(e){const n={};for(const i of Object.keys(e.children)){const o=VA(e.children[i]);(o.segments.length>0||o.hasChildren())&&(n[i]=o)}return function c2e(e){if(1===e.numberOfChildren&&e.children[hn]){const n=e.children[hn];return new Tn(e.segments.concat(n.segments),n.children)}return e}(new Tn(e.segments,n))}function pg(e){return e instanceof cf}const OI=!1;function u2e(e,n,t,i,r){if(0===t.length)return gy(n.root,n.root,n.root,i,r);const o=function LU(e){if("string"==typeof e[0]&&1===e.length&&"/"===e[0])return new RU(!0,0,e);let n=0,t=!1;const i=e.reduce((r,o,a)=>{if("object"==typeof o&&null!=o){if(o.outlets){const s={};return Ao(o.outlets,(l,c)=>{s[c]="string"==typeof l?l.split("/"):l}),[...r,{outlets:s}]}if(o.segmentPath)return[...r,o.segmentPath]}return"string"!=typeof o?[...r,o]:0===a?(o.split("/").forEach((s,l)=>{0==l&&"."===s||(0==l&&""===s?t=!0:".."===s?n++:""!=s&&r.push(s))}),r):[...r,o]},[]);return new RU(t,n,i)}(t);return o.toRoot()?gy(n.root,n.root,new Tn([],{}),i,r):function a(l){const c=function p2e(e,n,t,i){if(e.isAbsolute)return new my(n.root,!0,0);if(-1===i)return new my(t,t===n.root,0);return function MU(e,n,t){let i=e,r=n,o=t;for(;o>r;){if(o-=r,i=i.parent,!i)throw new Ae(4005,OI&&"Invalid number of '../'");r=i.segments.length}return new my(i,!1,r-o)}(t,i+(jv(e.commands[0])?0:1),e.numberOfDoubleDots)}(o,n,e.snapshot?._urlSegment,l),u=c.processChildren?yy(c.segmentGroup,c.index,o.commands):HI(c.segmentGroup,c.index,o.commands);return gy(n.root,c.segmentGroup,u,i,r)}(e.snapshot?._lastPathIndex)}function jv(e){return"object"==typeof e&&null!=e&&!e.outlets&&!e.segmentPath}function Wv(e){return"object"==typeof e&&null!=e&&e.outlets}function gy(e,n,t,i,r){let a,o={};i&&Ao(i,(l,c)=>{o[c]=Array.isArray(l)?l.map(u=>`${u}`):`${l}`}),a=e===n?t:IU(e,n,t);const s=NI(VA(a));return new cf(s,o,r)}function IU(e,n,t){const i={};return Ao(e.children,(r,o)=>{i[o]=r===n?t:IU(r,n,t)}),new Tn(e.segments,i)}class RU{constructor(n,t,i){if(this.isAbsolute=n,this.numberOfDoubleDots=t,this.commands=i,n&&i.length>0&&jv(i[0]))throw new Ae(4003,OI&&"Root segment cannot have matrix parameters");const r=i.find(Wv);if(r&&r!==vU(i))throw new Ae(4004,OI&&"{outlets:{}} has to be the last command")}toRoot(){return this.isAbsolute&&1===this.commands.length&&"/"==this.commands[0]}}class my{constructor(n,t,i){this.segmentGroup=n,this.processChildren=t,this.index=i}}function HI(e,n,t){if(e||(e=new Tn([],{})),0===e.segments.length&&e.hasChildren())return yy(e,n,t);const i=function h2e(e,n,t){let i=0,r=n;const o={match:!1,pathIndex:0,commandIndex:0};for(;r=t.length)return o;const a=e.segments[r],s=t[i];if(Wv(s))break;const l=`${s}`,c=i0&&void 0===l)break;if(l&&c&&"object"==typeof c&&void 0===c.outlets){if(!PU(l,c,a))return o;i+=2}else{if(!PU(l,{},a))return o;i++}r++}return{match:!0,pathIndex:r,commandIndex:i}}(e,n,t),r=t.slice(i.commandIndex);if(i.match&&i.pathIndex{"string"==typeof o&&(o=[o]),null!==o&&(r[a]=HI(e.children[a],n,o))}),Ao(e.children,(o,a)=>{void 0===i[a]&&(r[a]=o)}),new Tn(e.segments,r)}}function GI(e,n,t){const i=e.segments.slice(0,n);let r=0;for(;r{"string"==typeof t&&(t=[t]),null!==t&&(n[i]=GI(new Tn([],{}),0,t))}),n}function kU(e){const n={};return Ao(e,(t,i)=>n[i]=`${t}`),n}function PU(e,n,t){return e==t.path&&Tu(n,t.parameters)}const qv="imperative";class Cu{constructor(n,t){this.id=n,this.url=t}}class BI extends Cu{constructor(n,t,i="imperative",r=null){super(n,t),this.type=0,this.navigationTrigger=i,this.restoredState=r}toString(){return`NavigationStart(id: ${this.id}, url: '${this.url}')`}}class fg extends Cu{constructor(n,t,i){super(n,t),this.urlAfterRedirects=i,this.type=1}toString(){return`NavigationEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}')`}}class zA extends Cu{constructor(n,t,i,r){super(n,t),this.reason=i,this.code=r,this.type=2}toString(){return`NavigationCancel(id: ${this.id}, url: '${this.url}')`}}class $A extends Cu{constructor(n,t,i,r){super(n,t),this.reason=i,this.code=r,this.type=16}}class YI extends Cu{constructor(n,t,i,r){super(n,t),this.error=i,this.target=r,this.type=3}toString(){return`NavigationError(id: ${this.id}, url: '${this.url}', error: ${this.error})`}}class m2e extends Cu{constructor(n,t,i,r){super(n,t),this.urlAfterRedirects=i,this.state=r,this.type=4}toString(){return`RoutesRecognized(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class y2e extends Cu{constructor(n,t,i,r){super(n,t),this.urlAfterRedirects=i,this.state=r,this.type=7}toString(){return`GuardsCheckStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class _2e extends Cu{constructor(n,t,i,r,o){super(n,t),this.urlAfterRedirects=i,this.state=r,this.shouldActivate=o,this.type=8}toString(){return`GuardsCheckEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state}, shouldActivate: ${this.shouldActivate})`}}class v2e extends Cu{constructor(n,t,i,r){super(n,t),this.urlAfterRedirects=i,this.state=r,this.type=5}toString(){return`ResolveStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class T2e extends Cu{constructor(n,t,i,r){super(n,t),this.urlAfterRedirects=i,this.state=r,this.type=6}toString(){return`ResolveEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class C2e{constructor(n){this.route=n,this.type=9}toString(){return`RouteConfigLoadStart(path: ${this.route.path})`}}class b2e{constructor(n){this.route=n,this.type=10}toString(){return`RouteConfigLoadEnd(path: ${this.route.path})`}}class A2e{constructor(n){this.snapshot=n,this.type=11}toString(){return`ChildActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class S2e{constructor(n){this.snapshot=n,this.type=12}toString(){return`ChildActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class w2e{constructor(n){this.snapshot=n,this.type=13}toString(){return`ActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class x2e{constructor(n){this.snapshot=n,this.type=14}toString(){return`ActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class NU{constructor(n,t,i){this.routerEvent=n,this.position=t,this.anchor=i,this.type=15}toString(){return`Scroll(anchor: '${this.anchor}', position: '${this.position?`${this.position[0]}, ${this.position[1]}`:null}')`}}let E2e=(()=>{class e{createUrlTree(t,i,r,o,a,s){return u2e(t||i.root,r,o,a,s)}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=y({token:e,factory:e.\u0275fac}),e})(),R2e=(()=>{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=y({token:e,factory:function(n){return E2e.\u0275fac(n)},providedIn:"root"}),e})();class OU{constructor(n){this._root=n}get root(){return this._root.value}parent(n){const t=this.pathFromRoot(n);return t.length>1?t[t.length-2]:null}children(n){const t=VI(n,this._root);return t?t.children.map(i=>i.value):[]}firstChild(n){const t=VI(n,this._root);return t&&t.children.length>0?t.children[0].value:null}siblings(n){const t=zI(n,this._root);return t.length<2?[]:t[t.length-2].children.map(r=>r.value).filter(r=>r!==n)}pathFromRoot(n){return zI(n,this._root).map(t=>t.value)}}function VI(e,n){if(e===n.value)return n;for(const t of n.children){const i=VI(e,t);if(i)return i}return null}function zI(e,n){if(e===n.value)return[n];for(const t of n.children){const i=zI(e,t);if(i.length)return i.unshift(n),i}return[]}class Yd{constructor(n,t){this.value=n,this.children=t}toString(){return`TreeNode(${this.value})`}}function _y(e){const n={};return e&&e.children.forEach(t=>n[t.value.outlet]=t),n}class HU extends OU{constructor(n,t){super(n),this.snapshot=t,$I(this,n)}toString(){return this.snapshot.toString()}}function GU(e,n){const t=function L2e(e,n){const a=new UA([],{},{},"",{},hn,n,null,e.root,-1,{});return new YU("",new Yd(a,[]))}(e,n),i=new mc([new zv("",{})]),r=new mc({}),o=new mc({}),a=new mc({}),s=new mc(""),l=new rs(i,r,a,s,o,hn,n,t.root);return l.snapshot=t.root,new HU(new Yd(l,[]),t)}class rs{constructor(n,t,i,r,o,a,s,l){this.url=n,this.params=t,this.queryParams=i,this.fragment=r,this.data=o,this.outlet=a,this.component=s,this.title=this.data?.pipe(Qt(c=>c[Vv]))??Yt(void 0),this._futureSnapshot=l}get routeConfig(){return this._futureSnapshot.routeConfig}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap||(this._paramMap=this.params.pipe(Qt(n=>hy(n)))),this._paramMap}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=this.queryParams.pipe(Qt(n=>hy(n)))),this._queryParamMap}toString(){return this.snapshot?this.snapshot.toString():`Future(${this._futureSnapshot})`}}function BU(e,n="emptyOnly"){const t=e.pathFromRoot;let i=0;if("always"!==n)for(i=t.length-1;i>=1;){const r=t[i],o=t[i-1];if(r.routeConfig&&""===r.routeConfig.path)i--;else{if(o.component)break;i--}}return function M2e(e){return e.reduce((n,t)=>({params:{...n.params,...t.params},data:{...n.data,...t.data},resolve:{...t.data,...n.resolve,...t.routeConfig?.data,...t._resolvedData}}),{params:{},data:{},resolve:{}})}(t.slice(i))}class UA{get title(){return this.data?.[Vv]}constructor(n,t,i,r,o,a,s,l,c,u,d){this.url=n,this.params=t,this.queryParams=i,this.fragment=r,this.data=o,this.outlet=a,this.component=s,this.routeConfig=l,this._urlSegment=c,this._lastPathIndex=u,this._resolve=d}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap||(this._paramMap=hy(this.params)),this._paramMap}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=hy(this.queryParams)),this._queryParamMap}toString(){return`Route(url:'${this.url.map(i=>i.toString()).join("/")}', path:'${this.routeConfig?this.routeConfig.path:""}')`}}class YU extends OU{constructor(n,t){super(t),this.url=n,$I(this,t)}toString(){return VU(this._root)}}function $I(e,n){n.value._routerState=e,n.children.forEach(t=>$I(e,t))}function VU(e){const n=e.children.length>0?` { ${e.children.map(VU).join(", ")} } `:"";return`${e.value}${n}`}function UI(e){if(e.snapshot){const n=e.snapshot,t=e._futureSnapshot;e.snapshot=t,Tu(n.queryParams,t.queryParams)||e.queryParams.next(t.queryParams),n.fragment!==t.fragment&&e.fragment.next(t.fragment),Tu(n.params,t.params)||e.params.next(t.params),function Wbe(e,n){if(e.length!==n.length)return!1;for(let t=0;tTu(t.parameters,n[i].parameters))}(e.url,n.url);return t&&!(!e.parent!=!n.parent)&&(!e.parent||jI(e.parent,n.parent))}function Kv(e,n,t){if(t&&e.shouldReuseRoute(n.value,t.value.snapshot)){const i=t.value;i._futureSnapshot=n.value;const r=function P2e(e,n,t){return n.children.map(i=>{for(const r of t.children)if(e.shouldReuseRoute(i.value,r.value.snapshot))return Kv(e,i,r);return Kv(e,i)})}(e,n,t);return new Yd(i,r)}{if(e.shouldAttach(n.value)){const o=e.retrieve(n.value);if(null!==o){const a=o.route;return a.value._futureSnapshot=n.value,a.children=n.children.map(s=>Kv(e,s)),a}}const i=function N2e(e){return new rs(new mc(e.url),new mc(e.params),new mc(e.queryParams),new mc(e.fragment),new mc(e.data),e.outlet,e.component,e)}(n.value),r=n.children.map(o=>Kv(e,o));return new Yd(i,r)}}const WI="ngNavigationCancelingError";function zU(e,n){const{redirectTo:t,navigationBehaviorOptions:i}=pg(n)?{redirectTo:n,navigationBehaviorOptions:void 0}:n,r=$U(!1,0,n);return r.url=t,r.navigationBehaviorOptions=i,r}function $U(e,n,t){const i=new Error("NavigationCancelingError: "+(e||""));return i[WI]=!0,i.cancellationCode=n,t&&(i.url=t),i}function UU(e){return jU(e)&&pg(e.url)}function jU(e){return e&&e[WI]}class O2e{constructor(){this.outlet=null,this.route=null,this.resolver=null,this.injector=null,this.children=new Zv,this.attachRef=null}}let Zv=(()=>{class e{constructor(){this.contexts=new Map}onChildOutletCreated(t,i){const r=this.getOrCreateContext(t);r.outlet=i,this.contexts.set(t,r)}onChildOutletDestroyed(t){const i=this.getContext(t);i&&(i.outlet=null,i.attachRef=null)}onOutletDeactivated(){const t=this.contexts;return this.contexts=new Map,t}onOutletReAttached(t){this.contexts=t}getOrCreateContext(t){let i=this.getContext(t);return i||(i=new O2e,this.contexts.set(t,i)),i}getContext(t){return this.contexts.get(t)||null}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=y({token:e,factory:e.\u0275fac,providedIn:"root"}),e})();const jA=!1;let qI=(()=>{class e{constructor(){this.activated=null,this._activatedRoute=null,this.name=hn,this.activateEvents=new Pe,this.deactivateEvents=new Pe,this.attachEvents=new Pe,this.detachEvents=new Pe,this.parentContexts=Kt(Zv),this.location=Kt(pc),this.changeDetector=Kt(wi),this.environmentInjector=Kt(pu)}ngOnChanges(t){if(t.name){const{firstChange:i,previousValue:r}=t.name;if(i)return;this.isTrackedInParentContexts(r)&&(this.deactivate(),this.parentContexts.onChildOutletDestroyed(r)),this.initializeOutletWithName()}}ngOnDestroy(){this.isTrackedInParentContexts(this.name)&&this.parentContexts.onChildOutletDestroyed(this.name)}isTrackedInParentContexts(t){return this.parentContexts.getContext(t)?.outlet===this}ngOnInit(){this.initializeOutletWithName()}initializeOutletWithName(){if(this.parentContexts.onChildOutletCreated(this.name,this),this.activated)return;const t=this.parentContexts.getContext(this.name);t?.route&&(t.attachRef?this.attach(t.attachRef,t.route):this.activateWith(t.route,t.injector))}get isActivated(){return!!this.activated}get component(){if(!this.activated)throw new Ae(4012,jA);return this.activated.instance}get activatedRoute(){if(!this.activated)throw new Ae(4012,jA);return this._activatedRoute}get activatedRouteData(){return this._activatedRoute?this._activatedRoute.snapshot.data:{}}detach(){if(!this.activated)throw new Ae(4012,jA);this.location.detach();const t=this.activated;return this.activated=null,this._activatedRoute=null,this.detachEvents.emit(t.instance),t}attach(t,i){this.activated=t,this._activatedRoute=i,this.location.insert(t.hostView),this.attachEvents.emit(t.instance)}deactivate(){if(this.activated){const t=this.component;this.activated.destroy(),this.activated=null,this._activatedRoute=null,this.deactivateEvents.emit(t)}}activateWith(t,i){if(this.isActivated)throw new Ae(4013,jA);this._activatedRoute=t;const r=this.location,a=t.snapshot.component,s=this.parentContexts.getOrCreateContext(this.name).children,l=new H2e(t,s,r.injector);if(i&&function G2e(e){return!!e.resolveComponentFactory}(i)){const c=i.resolveComponentFactory(a);this.activated=r.createComponent(c,r.length,l)}else this.activated=r.createComponent(a,{index:r.length,injector:l,environmentInjector:i??this.environmentInjector});this.changeDetector.markForCheck(),this.activateEvents.emit(this.activated.instance)}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275dir=Ft({type:e,selectors:[["router-outlet"]],inputs:{name:"name"},outputs:{activateEvents:"activate",deactivateEvents:"deactivate",attachEvents:"attach",detachEvents:"detach"},exportAs:["outlet"],standalone:!0,features:[To]}),e})();class H2e{constructor(n,t,i){this.route=n,this.childContexts=t,this.parent=i}get(n,t){return n===rs?this.route:n===Zv?this.childContexts:this.parent.get(n,t)}}let KI=(()=>{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=mt({type:e,selectors:[["ng-component"]],standalone:!0,features:[Li],decls:1,vars:0,template:function(t,i){1&t&&Te(0,"router-outlet")},dependencies:[qI],encapsulation:2}),e})();function WU(e,n){return e.providers&&!e._injector&&(e._injector=cA(e.providers,n,`Route: ${e.path}`)),e._injector??n}function XI(e){const n=e.children&&e.children.map(XI),t=n?{...e,children:n}:{...e};return!t.component&&!t.loadComponent&&(n||t.loadChildren)&&t.outlet&&t.outlet!==hn&&(t.component=KI),t}function Tl(e){return e.outlet||hn}function qU(e,n){const t=e.filter(i=>Tl(i)===n);return t.push(...e.filter(i=>Tl(i)!==n)),t}function Xv(e){if(!e)return null;if(e.routeConfig?._injector)return e.routeConfig._injector;for(let n=e.parent;n;n=n.parent){const t=n.routeConfig;if(t?._loadedInjector)return t._loadedInjector;if(t?._injector)return t._injector}return null}class $2e{constructor(n,t,i,r){this.routeReuseStrategy=n,this.futureState=t,this.currState=i,this.forwardEvent=r}activate(n){const t=this.futureState._root,i=this.currState?this.currState._root:null;this.deactivateChildRoutes(t,i,n),UI(this.futureState.root),this.activateChildRoutes(t,i,n)}deactivateChildRoutes(n,t,i){const r=_y(t);n.children.forEach(o=>{const a=o.value.outlet;this.deactivateRoutes(o,r[a],i),delete r[a]}),Ao(r,(o,a)=>{this.deactivateRouteAndItsChildren(o,i)})}deactivateRoutes(n,t,i){const r=n.value,o=t?t.value:null;if(r===o)if(r.component){const a=i.getContext(r.outlet);a&&this.deactivateChildRoutes(n,t,a.children)}else this.deactivateChildRoutes(n,t,i);else o&&this.deactivateRouteAndItsChildren(t,i)}deactivateRouteAndItsChildren(n,t){n.value.component&&this.routeReuseStrategy.shouldDetach(n.value.snapshot)?this.detachAndStoreRouteSubtree(n,t):this.deactivateRouteAndOutlet(n,t)}detachAndStoreRouteSubtree(n,t){const i=t.getContext(n.value.outlet),r=i&&n.value.component?i.children:t,o=_y(n);for(const a of Object.keys(o))this.deactivateRouteAndItsChildren(o[a],r);if(i&&i.outlet){const a=i.outlet.detach(),s=i.children.onOutletDeactivated();this.routeReuseStrategy.store(n.value.snapshot,{componentRef:a,route:n,contexts:s})}}deactivateRouteAndOutlet(n,t){const i=t.getContext(n.value.outlet),r=i&&n.value.component?i.children:t,o=_y(n);for(const a of Object.keys(o))this.deactivateRouteAndItsChildren(o[a],r);i&&(i.outlet&&(i.outlet.deactivate(),i.children.onOutletDeactivated()),i.attachRef=null,i.resolver=null,i.route=null)}activateChildRoutes(n,t,i){const r=_y(t);n.children.forEach(o=>{this.activateRoutes(o,r[o.value.outlet],i),this.forwardEvent(new x2e(o.value.snapshot))}),n.children.length&&this.forwardEvent(new S2e(n.value.snapshot))}activateRoutes(n,t,i){const r=n.value,o=t?t.value:null;if(UI(r),r===o)if(r.component){const a=i.getOrCreateContext(r.outlet);this.activateChildRoutes(n,t,a.children)}else this.activateChildRoutes(n,t,i);else if(r.component){const a=i.getOrCreateContext(r.outlet);if(this.routeReuseStrategy.shouldAttach(r.snapshot)){const s=this.routeReuseStrategy.retrieve(r.snapshot);this.routeReuseStrategy.store(r.snapshot,null),a.children.onOutletReAttached(s.contexts),a.attachRef=s.componentRef,a.route=s.route.value,a.outlet&&a.outlet.attach(s.componentRef,s.route.value),UI(s.route.value),this.activateChildRoutes(n,null,a.children)}else{const s=Xv(r.snapshot),l=s?.get(hv)??null;a.attachRef=null,a.route=r,a.resolver=l,a.injector=s,a.outlet&&a.outlet.activateWith(r,a.injector),this.activateChildRoutes(n,null,a.children)}}else this.activateChildRoutes(n,null,i)}}class KU{constructor(n){this.path=n,this.route=this.path[this.path.length-1]}}class WA{constructor(n,t){this.component=n,this.route=t}}function U2e(e,n,t){const i=e._root;return Qv(i,n?n._root:null,t,[i.value])}function vy(e,n){const t=Symbol(),i=n.get(e,t);return i===t?"function"!=typeof e||function k(e){return null!==x(e)}(e)?n.get(e):e:i}function Qv(e,n,t,i,r={canDeactivateChecks:[],canActivateChecks:[]}){const o=_y(n);return e.children.forEach(a=>{(function W2e(e,n,t,i,r={canDeactivateChecks:[],canActivateChecks:[]}){const o=e.value,a=n?n.value:null,s=t?t.getContext(e.value.outlet):null;if(a&&o.routeConfig===a.routeConfig){const l=function q2e(e,n,t){if("function"==typeof t)return t(e,n);switch(t){case"pathParamsChange":return!dg(e.url,n.url);case"pathParamsOrQueryParamsChange":return!dg(e.url,n.url)||!Tu(e.queryParams,n.queryParams);case"always":return!0;case"paramsOrQueryParamsChange":return!jI(e,n)||!Tu(e.queryParams,n.queryParams);default:return!jI(e,n)}}(a,o,o.routeConfig.runGuardsAndResolvers);l?r.canActivateChecks.push(new KU(i)):(o.data=a.data,o._resolvedData=a._resolvedData),Qv(e,n,o.component?s?s.children:null:t,i,r),l&&s&&s.outlet&&s.outlet.isActivated&&r.canDeactivateChecks.push(new WA(s.outlet.component,a))}else a&&Jv(n,s,r),r.canActivateChecks.push(new KU(i)),Qv(e,null,o.component?s?s.children:null:t,i,r)})(a,o[a.value.outlet],t,i.concat([a.value]),r),delete o[a.value.outlet]}),Ao(o,(a,s)=>Jv(a,t.getContext(s),r)),r}function Jv(e,n,t){const i=_y(e),r=e.value;Ao(i,(o,a)=>{Jv(o,r.component?n?n.children.getContext(a):null:n,t)}),t.canDeactivateChecks.push(new WA(r.component&&n&&n.outlet&&n.outlet.isActivated?n.outlet.component:null,r))}function eT(e){return"function"==typeof e}function QI(e){return e instanceof kA||"EmptyError"===e?.name}const qA=Symbol("INITIAL_VALUE");function Ty(){return vu(e=>uU(e.map(n=>n.pipe(fy(1),function Bbe(...e){const n=Jr(e);return nr((t,i)=>{(n?II(e,t,n):II(e,t)).subscribe(i)})}(qA)))).pipe(Qt(n=>{for(const t of n)if(!0!==t){if(t===qA)return qA;if(!1===t||t instanceof cf)return t}return!0}),Bd(n=>n!==qA),fy(1)))}function ZU(e){return function n0(...e){return ll(e)}(Vo(n=>{if(pg(n))throw zU(0,n)}),Qt(n=>!0===n))}const JI={matched:!1,consumedSegments:[],remainingSegments:[],parameters:{},positionalParamSegments:{}};function XU(e,n,t,i,r){const o=e6(e,n,t);return o.matched?function dAe(e,n,t,i){const r=n.canMatch;return r&&0!==r.length?Yt(r.map(a=>{const s=vy(a,e);return lf(function eAe(e){return e&&eT(e.canMatch)}(s)?s.canMatch(n,t):e.runInContext(()=>s(n,t)))})).pipe(Ty(),ZU()):Yt(!0)}(i=WU(n,i),n,t).pipe(Qt(a=>!0===a?o:{...JI})):Yt(o)}function e6(e,n,t){if(""===n.path)return"full"===n.pathMatch&&(e.hasChildren()||t.length>0)?{...JI}:{matched:!0,consumedSegments:[],remainingSegments:t,parameters:{},positionalParamSegments:{}};const r=(n.matcher||jbe)(t,e,n);if(!r)return{...JI};const o={};Ao(r.posParams,(s,l)=>{o[l]=s.path});const a=r.consumed.length>0?{...o,...r.consumed[r.consumed.length-1].parameters}:o;return{matched:!0,consumedSegments:r.consumed,remainingSegments:t.slice(r.consumed.length),parameters:a,positionalParamSegments:r.posParams??{}}}function KA(e,n,t,i){if(t.length>0&&function hAe(e,n,t){return t.some(i=>ZA(e,n,i)&&Tl(i)!==hn)}(e,t,i)){const o=new Tn(n,function fAe(e,n,t,i){const r={};r[hn]=i,i._sourceSegment=e,i._segmentIndexShift=n.length;for(const o of t)if(""===o.path&&Tl(o)!==hn){const a=new Tn([],{});a._sourceSegment=e,a._segmentIndexShift=n.length,r[Tl(o)]=a}return r}(e,n,i,new Tn(t,e.children)));return o._sourceSegment=e,o._segmentIndexShift=n.length,{segmentGroup:o,slicedSegments:[]}}if(0===t.length&&function gAe(e,n,t){return t.some(i=>ZA(e,n,i))}(e,t,i)){const o=new Tn(e.segments,function pAe(e,n,t,i,r){const o={};for(const a of i)if(ZA(e,t,a)&&!r[Tl(a)]){const s=new Tn([],{});s._sourceSegment=e,s._segmentIndexShift=n.length,o[Tl(a)]=s}return{...r,...o}}(e,n,t,i,e.children));return o._sourceSegment=e,o._segmentIndexShift=n.length,{segmentGroup:o,slicedSegments:t}}const r=new Tn(e.segments,e.children);return r._sourceSegment=e,r._segmentIndexShift=n.length,{segmentGroup:r,slicedSegments:t}}function ZA(e,n,t){return(!(e.hasChildren()||n.length>0)||"full"!==t.pathMatch)&&""===t.path}function QU(e,n,t,i){return!!(Tl(e)===i||i!==hn&&ZA(n,t,e))&&("**"===e.path||e6(n,e,t).matched)}function JU(e,n,t){return 0===n.length&&!e.children[t]}const XA=!1;class QA{constructor(n){this.segmentGroup=n||null}}class ej{constructor(n){this.urlTree=n}}function tT(e){return Yv(new QA(e))}function tj(e){return Yv(new ej(e))}class vAe{constructor(n,t,i,r,o){this.injector=n,this.configLoader=t,this.urlSerializer=i,this.urlTree=r,this.config=o,this.allowRedirects=!0}apply(){const n=KA(this.urlTree.root,[],[],this.config).segmentGroup,t=new Tn(n.segments,n.children);return this.expandSegmentGroup(this.injector,this.config,t,hn).pipe(Qt(o=>this.createUrlTree(VA(o),this.urlTree.queryParams,this.urlTree.fragment))).pipe(sf(o=>{if(o instanceof ej)return this.allowRedirects=!1,this.match(o.urlTree);throw o instanceof QA?this.noMatchError(o):o}))}match(n){return this.expandSegmentGroup(this.injector,this.config,n.root,hn).pipe(Qt(r=>this.createUrlTree(VA(r),n.queryParams,n.fragment))).pipe(sf(r=>{throw r instanceof QA?this.noMatchError(r):r}))}noMatchError(n){return new Ae(4002,XA)}createUrlTree(n,t,i){const r=NI(n);return new cf(r,t,i)}expandSegmentGroup(n,t,i,r){return 0===i.segments.length&&i.hasChildren()?this.expandChildren(n,t,i).pipe(Qt(o=>new Tn([],o))):this.expandSegment(n,i,t,i.segments,r,!0)}expandChildren(n,t,i){const r=[];for(const o of Object.keys(i.children))"primary"===o?r.unshift(o):r.push(o);return di(r).pipe(af(o=>{const a=i.children[o],s=qU(t,o);return this.expandSegmentGroup(n,s,a,o).pipe(Qt(l=>({segment:l,outlet:o})))}),gU((o,a)=>(o[a.outlet]=a.segment,o),{}),mU())}expandSegment(n,t,i,r,o,a){return di(i).pipe(af(s=>this.expandSegmentAgainstRoute(n,t,i,s,r,o,a).pipe(sf(c=>{if(c instanceof QA)return Yt(null);throw c}))),rf(s=>!!s),sf((s,l)=>{if(QI(s))return JU(t,r,o)?Yt(new Tn([],{})):tT(t);throw s}))}expandSegmentAgainstRoute(n,t,i,r,o,a,s){return QU(r,t,o,a)?void 0===r.redirectTo?this.matchSegmentAgainstRoute(n,t,r,o,a):s&&this.allowRedirects?this.expandSegmentAgainstRouteUsingRedirect(n,t,i,r,o,a):tT(t):tT(t)}expandSegmentAgainstRouteUsingRedirect(n,t,i,r,o,a){return"**"===r.path?this.expandWildCardWithParamsAgainstRouteUsingRedirect(n,i,r,a):this.expandRegularSegmentAgainstRouteUsingRedirect(n,t,i,r,o,a)}expandWildCardWithParamsAgainstRouteUsingRedirect(n,t,i,r){const o=this.applyRedirectCommands([],i.redirectTo,{});return i.redirectTo.startsWith("/")?tj(o):this.lineralizeSegments(i,o).pipe(Wi(a=>{const s=new Tn(a,{});return this.expandSegment(n,s,t,a,r,!1)}))}expandRegularSegmentAgainstRouteUsingRedirect(n,t,i,r,o,a){const{matched:s,consumedSegments:l,remainingSegments:c,positionalParamSegments:u}=e6(t,r,o);if(!s)return tT(t);const d=this.applyRedirectCommands(l,r.redirectTo,u);return r.redirectTo.startsWith("/")?tj(d):this.lineralizeSegments(r,d).pipe(Wi(p=>this.expandSegment(n,t,i,p.concat(c),a,!1)))}matchSegmentAgainstRoute(n,t,i,r,o){return"**"===i.path?(n=WU(i,n),i.loadChildren?(i._loadedRoutes?Yt({routes:i._loadedRoutes,injector:i._loadedInjector}):this.configLoader.loadChildren(n,i)).pipe(Qt(s=>(i._loadedRoutes=s.routes,i._loadedInjector=s.injector,new Tn(r,{})))):Yt(new Tn(r,{}))):XU(t,i,r,n).pipe(vu(({matched:a,consumedSegments:s,remainingSegments:l})=>a?this.getChildConfig(n=i._injector??n,i,r).pipe(Wi(u=>{const d=u.injector??n,p=u.routes,{segmentGroup:f,slicedSegments:h}=KA(t,s,l,p),g=new Tn(f.segments,f.children);if(0===h.length&&g.hasChildren())return this.expandChildren(d,p,g).pipe(Qt(C=>new Tn(s,C)));if(0===p.length&&0===h.length)return Yt(new Tn(s,{}));const m=Tl(i)===o;return this.expandSegment(d,g,p,h,m?hn:o,!0).pipe(Qt(v=>new Tn(s.concat(v.segments),v.children)))})):tT(t)))}getChildConfig(n,t,i){return t.children?Yt({routes:t.children,injector:n}):t.loadChildren?void 0!==t._loadedRoutes?Yt({routes:t._loadedRoutes,injector:t._loadedInjector}):function uAe(e,n,t,i){const r=n.canLoad;return void 0===r||0===r.length?Yt(!0):Yt(r.map(a=>{const s=vy(a,e);return lf(function Z2e(e){return e&&eT(e.canLoad)}(s)?s.canLoad(n,t):e.runInContext(()=>s(n,t)))})).pipe(Ty(),ZU())}(n,t,i).pipe(Wi(r=>r?this.configLoader.loadChildren(n,t).pipe(Vo(o=>{t._loadedRoutes=o.routes,t._loadedInjector=o.injector})):function yAe(e){return Yv($U(XA,3))}())):Yt({routes:[],injector:n})}lineralizeSegments(n,t){let i=[],r=t.root;for(;;){if(i=i.concat(r.segments),0===r.numberOfChildren)return Yt(i);if(r.numberOfChildren>1||!r.children[hn])return n.redirectTo,Yv(new Ae(4e3,XA));r=r.children[hn]}}applyRedirectCommands(n,t,i){return this.applyRedirectCreateUrlTree(t,this.urlSerializer.parse(t),n,i)}applyRedirectCreateUrlTree(n,t,i,r){const o=this.createSegmentGroup(n,t.root,i,r);return new cf(o,this.createQueryParams(t.queryParams,this.urlTree.queryParams),t.fragment)}createQueryParams(n,t){const i={};return Ao(n,(r,o)=>{if("string"==typeof r&&r.startsWith(":")){const s=r.substring(1);i[o]=t[s]}else i[o]=r}),i}createSegmentGroup(n,t,i,r){const o=this.createSegments(n,t.segments,i,r);let a={};return Ao(t.children,(s,l)=>{a[l]=this.createSegmentGroup(n,s,i,r)}),new Tn(o,a)}createSegments(n,t,i,r){return t.map(o=>o.path.startsWith(":")?this.findPosParam(n,o,r):this.findOrReturn(o,i))}findPosParam(n,t,i){const r=i[t.path.substring(1)];if(!r)throw new Ae(4001,XA);return r}findOrReturn(n,t){let i=0;for(const r of t){if(r.path===n.path)return t.splice(i),r;i++}return n}}class CAe{}class SAe{constructor(n,t,i,r,o,a,s){this.injector=n,this.rootComponentType=t,this.config=i,this.urlTree=r,this.url=o,this.paramsInheritanceStrategy=a,this.urlSerializer=s}recognize(){const n=KA(this.urlTree.root,[],[],this.config.filter(t=>void 0===t.redirectTo)).segmentGroup;return this.processSegmentGroup(this.injector,this.config,n,hn).pipe(Qt(t=>{if(null===t)return null;const i=new UA([],Object.freeze({}),Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,{},hn,this.rootComponentType,null,this.urlTree.root,-1,{}),r=new Yd(i,t),o=new YU(this.url,r);return this.inheritParamsAndData(o._root),o}))}inheritParamsAndData(n){const t=n.value,i=BU(t,this.paramsInheritanceStrategy);t.params=Object.freeze(i.params),t.data=Object.freeze(i.data),n.children.forEach(r=>this.inheritParamsAndData(r))}processSegmentGroup(n,t,i,r){return 0===i.segments.length&&i.hasChildren()?this.processChildren(n,t,i):this.processSegment(n,t,i,i.segments,r)}processChildren(n,t,i){return di(Object.keys(i.children)).pipe(af(r=>{const o=i.children[r],a=qU(t,r);return this.processSegmentGroup(n,a,o,r)}),gU((r,o)=>r&&o?(r.push(...o),r):null),function zbe(e,n=!1){return nr((t,i)=>{let r=0;t.subscribe($n(i,o=>{const a=e(o,r++);(a||n)&&i.next(o),!a&&i.complete()}))})}(r=>null!==r),PA(null),mU(),Qt(r=>{if(null===r)return null;const o=ij(r);return function wAe(e){e.sort((n,t)=>n.value.outlet===hn?-1:t.value.outlet===hn?1:n.value.outlet.localeCompare(t.value.outlet))}(o),o}))}processSegment(n,t,i,r,o){return di(t).pipe(af(a=>this.processSegmentAgainstRoute(a._injector??n,a,i,r,o)),rf(a=>!!a),sf(a=>{if(QI(a))return JU(i,r,o)?Yt([]):Yt(null);throw a}))}processSegmentAgainstRoute(n,t,i,r,o){if(t.redirectTo||!QU(t,i,r,o))return Yt(null);let a;if("**"===t.path){const s=r.length>0?vU(r).parameters:{},l=oj(i)+r.length;a=Yt({snapshot:new UA(r,s,Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,aj(t),Tl(t),t.component??t._loadedComponent??null,t,rj(i),l,sj(t)),consumedSegments:[],remainingSegments:[]})}else a=XU(i,t,r,n).pipe(Qt(({matched:s,consumedSegments:l,remainingSegments:c,parameters:u})=>{if(!s)return null;const d=oj(i)+l.length;return{snapshot:new UA(l,u,Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,aj(t),Tl(t),t.component??t._loadedComponent??null,t,rj(i),d,sj(t)),consumedSegments:l,remainingSegments:c}}));return a.pipe(vu(s=>{if(null===s)return Yt(null);const{snapshot:l,consumedSegments:c,remainingSegments:u}=s;n=t._injector??n;const d=t._loadedInjector??n,p=function xAe(e){return e.children?e.children:e.loadChildren?e._loadedRoutes:[]}(t),{segmentGroup:f,slicedSegments:h}=KA(i,c,u,p.filter(m=>void 0===m.redirectTo));if(0===h.length&&f.hasChildren())return this.processChildren(d,p,f).pipe(Qt(m=>null===m?null:[new Yd(l,m)]));if(0===p.length&&0===h.length)return Yt([new Yd(l,[])]);const g=Tl(t)===o;return this.processSegment(d,p,f,h,g?hn:o).pipe(Qt(m=>null===m?null:[new Yd(l,m)]))}))}}function FAe(e){const n=e.value.routeConfig;return n&&""===n.path&&void 0===n.redirectTo}function ij(e){const n=[],t=new Set;for(const i of e){if(!FAe(i)){n.push(i);continue}const r=n.find(o=>i.value.routeConfig===o.value.routeConfig);void 0!==r?(r.children.push(...i.children),t.add(r)):n.push(i)}for(const i of t){const r=ij(i.children);n.push(new Yd(i.value,r))}return n.filter(i=>!t.has(i))}function rj(e){let n=e;for(;n._sourceSegment;)n=n._sourceSegment;return n}function oj(e){let n=e,t=n._segmentIndexShift??0;for(;n._sourceSegment;)n=n._sourceSegment,t+=n._segmentIndexShift??0;return t-1}function aj(e){return e.data||{}}function sj(e){return e.resolve||{}}function lj(e){return"string"==typeof e.title||null===e.title}function t6(e){return vu(n=>{const t=e(n);return t?di(t).pipe(Qt(()=>n)):Yt(n)})}const Cy=new bt("ROUTES");let n6=(()=>{class e{constructor(){this.componentLoaders=new WeakMap,this.childrenLoaders=new WeakMap,this.compiler=Kt(Gz)}loadComponent(t){if(this.componentLoaders.get(t))return this.componentLoaders.get(t);if(t._loadedComponent)return Yt(t._loadedComponent);this.onLoadStartListener&&this.onLoadStartListener(t);const i=lf(t.loadComponent()).pipe(Qt(uj),Vo(o=>{this.onLoadEndListener&&this.onLoadEndListener(t),t._loadedComponent=o}),MI(()=>{this.componentLoaders.delete(t)})),r=new fU(i,()=>new Ui).pipe(RI());return this.componentLoaders.set(t,r),r}loadChildren(t,i){if(this.childrenLoaders.get(i))return this.childrenLoaders.get(i);if(i._loadedRoutes)return Yt({routes:i._loadedRoutes,injector:i._loadedInjector});this.onLoadStartListener&&this.onLoadStartListener(i);const o=this.loadModuleFactoryOrRoutes(i.loadChildren).pipe(Qt(s=>{this.onLoadEndListener&&this.onLoadEndListener(i);let l,c,u=!1;Array.isArray(s)?c=s:(l=s.create(t).injector,c=_U(l.get(Cy,[],le.Self|le.Optional)));return{routes:c.map(XI),injector:l}}),MI(()=>{this.childrenLoaders.delete(i)})),a=new fU(o,()=>new Ui).pipe(RI());return this.childrenLoaders.set(i,a),a}loadModuleFactoryOrRoutes(t){return lf(t()).pipe(Qt(uj),Wi(i=>i instanceof ZV||Array.isArray(i)?Yt(i):di(this.compiler.compileModuleAsync(i))))}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=y({token:e,factory:e.\u0275fac,providedIn:"root"}),e})();function uj(e){return function PAe(e){return e&&"object"==typeof e&&"default"in e}(e)?e.default:e}let eS=(()=>{class e{get hasRequestedNavigation(){return 0!==this.navigationId}constructor(){this.currentNavigation=null,this.lastSuccessfulNavigation=null,this.events=new Ui,this.configLoader=Kt(n6),this.environmentInjector=Kt(pu),this.urlSerializer=Kt($v),this.rootContexts=Kt(Zv),this.navigationId=0,this.afterPreactivation=()=>Yt(void 0),this.rootComponentType=null,this.configLoader.onLoadEndListener=r=>this.events.next(new b2e(r)),this.configLoader.onLoadStartListener=r=>this.events.next(new C2e(r))}complete(){this.transitions?.complete()}handleNavigationRequest(t){const i=++this.navigationId;this.transitions?.next({...this.transitions.value,...t,id:i})}setupNavigations(t){return this.transitions=new mc({id:0,targetPageId:0,currentUrlTree:t.currentUrlTree,currentRawUrl:t.currentUrlTree,extractedUrl:t.urlHandlingStrategy.extract(t.currentUrlTree),urlAfterRedirects:t.urlHandlingStrategy.extract(t.currentUrlTree),rawUrl:t.currentUrlTree,extras:{},resolve:null,reject:null,promise:Promise.resolve(!0),source:qv,restoredState:null,currentSnapshot:t.routerState.snapshot,targetSnapshot:null,currentRouterState:t.routerState,targetRouterState:null,guards:{canActivateChecks:[],canDeactivateChecks:[]},guardsResult:null}),this.transitions.pipe(Bd(i=>0!==i.id),Qt(i=>({...i,extractedUrl:t.urlHandlingStrategy.extract(i.rawUrl)})),vu(i=>{let r=!1,o=!1;return Yt(i).pipe(Vo(a=>{this.currentNavigation={id:a.id,initialUrl:a.rawUrl,extractedUrl:a.extractedUrl,trigger:a.source,extras:a.extras,previousNavigation:this.lastSuccessfulNavigation?{...this.lastSuccessfulNavigation,previousNavigation:null}:null}}),vu(a=>{const s=t.browserUrlTree.toString(),l=!t.navigated||a.extractedUrl.toString()!==s||s!==t.currentUrlTree.toString();if(!l&&"reload"!==(a.extras.onSameUrlNavigation??t.onSameUrlNavigation)){const u="";return this.events.next(new $A(a.id,t.serializeUrl(i.rawUrl),u,0)),t.rawUrlTree=a.rawUrl,a.resolve(null),Ka}if(t.urlHandlingStrategy.shouldProcessUrl(a.rawUrl))return dj(a.source)&&(t.browserUrlTree=a.extractedUrl),Yt(a).pipe(vu(u=>{const d=this.transitions?.getValue();return this.events.next(new BI(u.id,this.urlSerializer.serialize(u.extractedUrl),u.source,u.restoredState)),d!==this.transitions?.getValue()?Ka:Promise.resolve(u)}),function TAe(e,n,t,i){return vu(r=>function _Ae(e,n,t,i,r){return new vAe(e,n,t,i,r).apply()}(e,n,t,r.extractedUrl,i).pipe(Qt(o=>({...r,urlAfterRedirects:o}))))}(this.environmentInjector,this.configLoader,this.urlSerializer,t.config),Vo(u=>{this.currentNavigation={...this.currentNavigation,finalUrl:u.urlAfterRedirects},i.urlAfterRedirects=u.urlAfterRedirects}),function EAe(e,n,t,i,r){return Wi(o=>function AAe(e,n,t,i,r,o,a="emptyOnly"){return new SAe(e,n,t,i,r,a,o).recognize().pipe(vu(s=>null===s?function bAe(e){return new ui(n=>n.error(e))}(new CAe):Yt(s)))}(e,n,t,o.urlAfterRedirects,i.serialize(o.urlAfterRedirects),i,r).pipe(Qt(a=>({...o,targetSnapshot:a}))))}(this.environmentInjector,this.rootComponentType,t.config,this.urlSerializer,t.paramsInheritanceStrategy),Vo(u=>{if(i.targetSnapshot=u.targetSnapshot,"eager"===t.urlUpdateStrategy){if(!u.extras.skipLocationChange){const p=t.urlHandlingStrategy.merge(u.urlAfterRedirects,u.rawUrl);t.setBrowserUrl(p,u)}t.browserUrlTree=u.urlAfterRedirects}const d=new m2e(u.id,this.urlSerializer.serialize(u.extractedUrl),this.urlSerializer.serialize(u.urlAfterRedirects),u.targetSnapshot);this.events.next(d)}));if(l&&t.urlHandlingStrategy.shouldProcessUrl(t.rawUrlTree)){const{id:u,extractedUrl:d,source:p,restoredState:f,extras:h}=a,g=new BI(u,this.urlSerializer.serialize(d),p,f);this.events.next(g);const m=GU(d,this.rootComponentType).snapshot;return Yt(i={...a,targetSnapshot:m,urlAfterRedirects:d,extras:{...h,skipLocationChange:!1,replaceUrl:!1}})}{const u="";return this.events.next(new $A(a.id,t.serializeUrl(i.extractedUrl),u,1)),t.rawUrlTree=a.rawUrl,a.resolve(null),Ka}}),Vo(a=>{const s=new y2e(a.id,this.urlSerializer.serialize(a.extractedUrl),this.urlSerializer.serialize(a.urlAfterRedirects),a.targetSnapshot);this.events.next(s)}),Qt(a=>i={...a,guards:U2e(a.targetSnapshot,a.currentSnapshot,this.rootContexts)}),function nAe(e,n){return Wi(t=>{const{targetSnapshot:i,currentSnapshot:r,guards:{canActivateChecks:o,canDeactivateChecks:a}}=t;return 0===a.length&&0===o.length?Yt({...t,guardsResult:!0}):function iAe(e,n,t,i){return di(e).pipe(Wi(r=>function cAe(e,n,t,i,r){const o=n&&n.routeConfig?n.routeConfig.canDeactivate:null;return o&&0!==o.length?Yt(o.map(s=>{const l=Xv(n)??r,c=vy(s,l);return lf(function J2e(e){return e&&eT(e.canDeactivate)}(c)?c.canDeactivate(e,n,t,i):l.runInContext(()=>c(e,n,t,i))).pipe(rf())})).pipe(Ty()):Yt(!0)}(r.component,r.route,t,n,i)),rf(r=>!0!==r,!0))}(a,i,r,e).pipe(Wi(s=>s&&function K2e(e){return"boolean"==typeof e}(s)?function rAe(e,n,t,i){return di(n).pipe(af(r=>II(function aAe(e,n){return null!==e&&n&&n(new A2e(e)),Yt(!0)}(r.route.parent,i),function oAe(e,n){return null!==e&&n&&n(new w2e(e)),Yt(!0)}(r.route,i),function lAe(e,n,t){const i=n[n.length-1],o=n.slice(0,n.length-1).reverse().map(a=>function j2e(e){const n=e.routeConfig?e.routeConfig.canActivateChild:null;return n&&0!==n.length?{node:e,guards:n}:null}(a)).filter(a=>null!==a).map(a=>pU(()=>Yt(a.guards.map(l=>{const c=Xv(a.node)??t,u=vy(l,c);return lf(function Q2e(e){return e&&eT(e.canActivateChild)}(u)?u.canActivateChild(i,e):c.runInContext(()=>u(i,e))).pipe(rf())})).pipe(Ty())));return Yt(o).pipe(Ty())}(e,r.path,t),function sAe(e,n,t){const i=n.routeConfig?n.routeConfig.canActivate:null;if(!i||0===i.length)return Yt(!0);const r=i.map(o=>pU(()=>{const a=Xv(n)??t,s=vy(o,a);return lf(function X2e(e){return e&&eT(e.canActivate)}(s)?s.canActivate(n,e):a.runInContext(()=>s(n,e))).pipe(rf())}));return Yt(r).pipe(Ty())}(e,r.route,t))),rf(r=>!0!==r,!0))}(i,o,e,n):Yt(s)),Qt(s=>({...t,guardsResult:s})))})}(this.environmentInjector,a=>this.events.next(a)),Vo(a=>{if(i.guardsResult=a.guardsResult,pg(a.guardsResult))throw zU(0,a.guardsResult);const s=new _2e(a.id,this.urlSerializer.serialize(a.extractedUrl),this.urlSerializer.serialize(a.urlAfterRedirects),a.targetSnapshot,!!a.guardsResult);this.events.next(s)}),Bd(a=>!!a.guardsResult||(t.restoreHistory(a),this.cancelNavigationTransition(a,"",3),!1)),t6(a=>{if(a.guards.canActivateChecks.length)return Yt(a).pipe(Vo(s=>{const l=new v2e(s.id,this.urlSerializer.serialize(s.extractedUrl),this.urlSerializer.serialize(s.urlAfterRedirects),s.targetSnapshot);this.events.next(l)}),vu(s=>{let l=!1;return Yt(s).pipe(function IAe(e,n){return Wi(t=>{const{targetSnapshot:i,guards:{canActivateChecks:r}}=t;if(!r.length)return Yt(t);let o=0;return di(r).pipe(af(a=>function RAe(e,n,t,i){const r=e.routeConfig,o=e._resolve;return void 0!==r?.title&&!lj(r)&&(o[Vv]=r.title),function LAe(e,n,t,i){const r=function MAe(e){return[...Object.keys(e),...Object.getOwnPropertySymbols(e)]}(e);if(0===r.length)return Yt({});const o={};return di(r).pipe(Wi(a=>function kAe(e,n,t,i){const r=Xv(n)??i,o=vy(e,r);return lf(o.resolve?o.resolve(n,t):r.runInContext(()=>o(n,t)))}(e[a],n,t,i).pipe(rf(),Vo(s=>{o[a]=s}))),LI(1),function $be(e){return Qt(()=>e)}(o),sf(a=>QI(a)?Ka:Yv(a)))}(o,e,n,i).pipe(Qt(a=>(e._resolvedData=a,e.data=BU(e,t).resolve,r&&lj(r)&&(e.data[Vv]=r.title),null)))}(a.route,i,e,n)),Vo(()=>o++),LI(1),Wi(a=>o===r.length?Yt(t):Ka))})}(t.paramsInheritanceStrategy,this.environmentInjector),Vo({next:()=>l=!0,complete:()=>{l||(t.restoreHistory(s),this.cancelNavigationTransition(s,"",2))}}))}),Vo(s=>{const l=new T2e(s.id,this.urlSerializer.serialize(s.extractedUrl),this.urlSerializer.serialize(s.urlAfterRedirects),s.targetSnapshot);this.events.next(l)}))}),t6(a=>{const s=l=>{const c=[];l.routeConfig?.loadComponent&&!l.routeConfig._loadedComponent&&c.push(this.configLoader.loadComponent(l.routeConfig).pipe(Vo(u=>{l.component=u}),Qt(()=>{})));for(const u of l.children)c.push(...s(u));return c};return uU(s(a.targetSnapshot.root)).pipe(PA(),fy(1))}),t6(()=>this.afterPreactivation()),Qt(a=>{const s=function k2e(e,n,t){const i=Kv(e,n._root,t?t._root:void 0);return new HU(i,n)}(t.routeReuseStrategy,a.targetSnapshot,a.currentRouterState);return i={...a,targetRouterState:s}}),Vo(a=>{t.currentUrlTree=a.urlAfterRedirects,t.rawUrlTree=t.urlHandlingStrategy.merge(a.urlAfterRedirects,a.rawUrl),t.routerState=a.targetRouterState,"deferred"===t.urlUpdateStrategy&&(a.extras.skipLocationChange||t.setBrowserUrl(t.rawUrlTree,a),t.browserUrlTree=a.urlAfterRedirects)}),((e,n,t)=>Qt(i=>(new $2e(n,i.targetRouterState,i.currentRouterState,t).activate(e),i)))(this.rootContexts,t.routeReuseStrategy,a=>this.events.next(a)),fy(1),Vo({next:a=>{r=!0,this.lastSuccessfulNavigation=this.currentNavigation,t.navigated=!0,this.events.next(new fg(a.id,this.urlSerializer.serialize(a.extractedUrl),this.urlSerializer.serialize(t.currentUrlTree))),t.titleStrategy?.updateTitle(a.targetRouterState.snapshot),a.resolve(!0)},complete:()=>{r=!0}}),MI(()=>{r||o||this.cancelNavigationTransition(i,"",1),this.currentNavigation?.id===i.id&&(this.currentNavigation=null)}),sf(a=>{if(o=!0,jU(a)){UU(a)||(t.navigated=!0,t.restoreHistory(i,!0));const s=new zA(i.id,this.urlSerializer.serialize(i.extractedUrl),a.message,a.cancellationCode);if(this.events.next(s),UU(a)){const l=t.urlHandlingStrategy.merge(a.url,t.rawUrlTree),c={skipLocationChange:i.extras.skipLocationChange,replaceUrl:"eager"===t.urlUpdateStrategy||dj(i.source)};t.scheduleNavigation(l,qv,null,c,{resolve:i.resolve,reject:i.reject,promise:i.promise})}else i.resolve(!1)}else{t.restoreHistory(i,!0);const s=new YI(i.id,this.urlSerializer.serialize(i.extractedUrl),a,i.targetSnapshot??void 0);this.events.next(s);try{i.resolve(t.errorHandler(a))}catch(l){i.reject(l)}}return Ka}))}))}cancelNavigationTransition(t,i,r){const o=new zA(t.id,this.urlSerializer.serialize(t.extractedUrl),i,r);this.events.next(o),t.resolve(!1)}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=y({token:e,factory:e.\u0275fac,providedIn:"root"}),e})();function dj(e){return e!==qv}let pj=(()=>{class e{buildTitle(t){let i,r=t.root;for(;void 0!==r;)i=this.getResolvedTitleForRoute(r)??i,r=r.children.find(o=>o.outlet===hn);return i}getResolvedTitleForRoute(t){return t.data[Vv]}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=y({token:e,factory:function(){return Kt(NAe)},providedIn:"root"}),e})(),NAe=(()=>{class e extends pj{constructor(t){super(),this.title=t}updateTitle(t){const i=this.buildTitle(t);void 0!==i&&this.title.setTitle(i)}}return e.\u0275fac=function(t){return new(t||e)(Qe(DI))},e.\u0275prov=y({token:e,factory:e.\u0275fac,providedIn:"root"}),e})(),OAe=(()=>{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=y({token:e,factory:function(){return Kt(GAe)},providedIn:"root"}),e})();class HAe{shouldDetach(n){return!1}store(n,t){}shouldAttach(n){return!1}retrieve(n){return null}shouldReuseRoute(n,t){return n.routeConfig===t.routeConfig}}let GAe=(()=>{class e extends HAe{}return e.\u0275fac=function(){let n;return function(i){return(n||(n=vn(e)))(i||e)}}(),e.\u0275prov=y({token:e,factory:e.\u0275fac,providedIn:"root"}),e})();const tS=new bt("",{providedIn:"root",factory:()=>({})});let YAe=(()=>{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=y({token:e,factory:function(){return Kt(VAe)},providedIn:"root"}),e})(),VAe=(()=>{class e{shouldProcessUrl(t){return!0}extract(t){return t}merge(t,i){return t}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=y({token:e,factory:e.\u0275fac,providedIn:"root"}),e})();function zAe(e){throw e}function $Ae(e,n,t){return n.parse("/")}const UAe={paths:"exact",fragment:"ignored",matrixParams:"ignored",queryParams:"exact"},jAe={paths:"subset",fragment:"ignored",matrixParams:"ignored",queryParams:"subset"};let ar=(()=>{class e{get navigationId(){return this.navigationTransitions.navigationId}get browserPageId(){if("computed"===this.canceledNavigationResolution)return this.location.getState()?.\u0275routerPageId}get events(){return this.navigationTransitions.events}constructor(){this.disposed=!1,this.currentPageId=0,this.console=Kt(bve),this.isNgZoneEnabled=!1,this.options=Kt(tS,{optional:!0})||{},this.errorHandler=this.options.errorHandler||zAe,this.malformedUriErrorHandler=this.options.malformedUriErrorHandler||$Ae,this.navigated=!1,this.lastSuccessfulId=-1,this.urlHandlingStrategy=Kt(YAe),this.routeReuseStrategy=Kt(OAe),this.urlCreationStrategy=Kt(R2e),this.titleStrategy=Kt(pj),this.onSameUrlNavigation=this.options.onSameUrlNavigation||"ignore",this.paramsInheritanceStrategy=this.options.paramsInheritanceStrategy||"emptyOnly",this.urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred",this.canceledNavigationResolution=this.options.canceledNavigationResolution||"replace",this.config=_U(Kt(Cy,{optional:!0})??[]),this.navigationTransitions=Kt(eS),this.urlSerializer=Kt($v),this.location=Kt(oI),this.isNgZoneEnabled=Kt(wn)instanceof wn&&wn.isInAngularZone(),this.resetConfig(this.config),this.currentUrlTree=new cf,this.rawUrlTree=this.currentUrlTree,this.browserUrlTree=this.currentUrlTree,this.routerState=GU(this.currentUrlTree,null),this.navigationTransitions.setupNavigations(this).subscribe(t=>{this.lastSuccessfulId=t.id,this.currentPageId=this.browserPageId??0},t=>{this.console.warn(`Unhandled Navigation Error: ${t}`)})}resetRootComponentType(t){this.routerState.root.component=t,this.navigationTransitions.rootComponentType=t}initialNavigation(){if(this.setUpLocationChangeListener(),!this.navigationTransitions.hasRequestedNavigation){const t=this.location.getState();this.navigateToSyncWithBrowser(this.location.path(!0),qv,t)}}setUpLocationChangeListener(){this.locationSubscription||(this.locationSubscription=this.location.subscribe(t=>{const i="popstate"===t.type?"popstate":"hashchange";"popstate"===i&&setTimeout(()=>{this.navigateToSyncWithBrowser(t.url,i,t.state)},0)}))}navigateToSyncWithBrowser(t,i,r){const o={replaceUrl:!0},a=r?.navigationId?r:null;if(r){const l={...r};delete l.navigationId,delete l.\u0275routerPageId,0!==Object.keys(l).length&&(o.state=l)}const s=this.parseUrl(t);this.scheduleNavigation(s,i,a,o)}get url(){return this.serializeUrl(this.currentUrlTree)}getCurrentNavigation(){return this.navigationTransitions.currentNavigation}resetConfig(t){this.config=t.map(XI),this.navigated=!1,this.lastSuccessfulId=-1}ngOnDestroy(){this.dispose()}dispose(){this.navigationTransitions.complete(),this.locationSubscription&&(this.locationSubscription.unsubscribe(),this.locationSubscription=void 0),this.disposed=!0}createUrlTree(t,i={}){const{relativeTo:r,queryParams:o,fragment:a,queryParamsHandling:s,preserveFragment:l}=i,c=l?this.currentUrlTree.fragment:a;let u=null;switch(s){case"merge":u={...this.currentUrlTree.queryParams,...o};break;case"preserve":u=this.currentUrlTree.queryParams;break;default:u=o||null}return null!==u&&(u=this.removeEmptyProps(u)),this.urlCreationStrategy.createUrlTree(r,this.routerState,this.currentUrlTree,t,u,c??null)}navigateByUrl(t,i={skipLocationChange:!1}){const r=pg(t)?t:this.parseUrl(t),o=this.urlHandlingStrategy.merge(r,this.rawUrlTree);return this.scheduleNavigation(o,qv,null,i)}navigate(t,i={skipLocationChange:!1}){return function WAe(e){for(let n=0;n{const o=t[r];return null!=o&&(i[r]=o),i},{})}scheduleNavigation(t,i,r,o,a){if(this.disposed)return Promise.resolve(!1);let s,l,c,u;return a?(s=a.resolve,l=a.reject,c=a.promise):c=new Promise((d,p)=>{s=d,l=p}),u="computed"===this.canceledNavigationResolution?r&&r.\u0275routerPageId?r.\u0275routerPageId:(this.browserPageId??0)+1:0,this.navigationTransitions.handleNavigationRequest({targetPageId:u,source:i,restoredState:r,currentUrlTree:this.currentUrlTree,currentRawUrl:this.currentUrlTree,rawUrl:t,extras:o,resolve:s,reject:l,promise:c,currentSnapshot:this.routerState.snapshot,currentRouterState:this.routerState}),c.catch(d=>Promise.reject(d))}setBrowserUrl(t,i){const r=this.urlSerializer.serialize(t);if(this.location.isCurrentPathEqualTo(r)||i.extras.replaceUrl){const a={...i.extras.state,...this.generateNgRouterState(i.id,this.browserPageId)};this.location.replaceState(r,"",a)}else{const o={...i.extras.state,...this.generateNgRouterState(i.id,i.targetPageId)};this.location.go(r,"",o)}}restoreHistory(t,i=!1){if("computed"===this.canceledNavigationResolution){const o=this.currentPageId-(this.browserPageId??this.currentPageId);0!==o?this.location.historyGo(o):this.currentUrlTree===this.getCurrentNavigation()?.finalUrl&&0===o&&(this.resetState(t),this.browserUrlTree=t.currentUrlTree,this.resetUrlToCurrentUrlTree())}else"replace"===this.canceledNavigationResolution&&(i&&this.resetState(t),this.resetUrlToCurrentUrlTree())}resetState(t){this.routerState=t.currentRouterState,this.currentUrlTree=t.currentUrlTree,this.rawUrlTree=this.urlHandlingStrategy.merge(this.currentUrlTree,t.rawUrl)}resetUrlToCurrentUrlTree(){this.location.replaceState(this.urlSerializer.serialize(this.rawUrlTree),"",this.generateNgRouterState(this.lastSuccessfulId,this.currentPageId))}generateNgRouterState(t,i){return"computed"===this.canceledNavigationResolution?{navigationId:t,\u0275routerPageId:i}:{navigationId:t}}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=y({token:e,factory:e.\u0275fac,providedIn:"root"}),e})();class fj{}let ZAe=(()=>{class e{constructor(t,i,r,o,a){this.router=t,this.injector=r,this.preloadingStrategy=o,this.loader=a}setUpPreloading(){this.subscription=this.router.events.pipe(Bd(t=>t instanceof fg),af(()=>this.preload())).subscribe(()=>{})}preload(){return this.processRoutes(this.injector,this.router.config)}ngOnDestroy(){this.subscription&&this.subscription.unsubscribe()}processRoutes(t,i){const r=[];for(const o of i){o.providers&&!o._injector&&(o._injector=cA(o.providers,t,`Route: ${o.path}`));const a=o._injector??t,s=o._loadedInjector??a;(o.loadChildren&&!o._loadedRoutes&&void 0===o.canLoad||o.loadComponent&&!o._loadedComponent)&&r.push(this.preloadConfig(a,o)),(o.children||o._loadedRoutes)&&r.push(this.processRoutes(s,o.children??o._loadedRoutes))}return di(r).pipe(au())}preloadConfig(t,i){return this.preloadingStrategy.preload(i,()=>{let r;r=i.loadChildren&&void 0===i.canLoad?this.loader.loadChildren(t,i):Yt(null);const o=r.pipe(Wi(a=>null===a?Yt(void 0):(i._loadedRoutes=a.routes,i._loadedInjector=a.injector,this.processRoutes(a.injector??t,a.routes))));return i.loadComponent&&!i._loadedComponent?di([o,this.loader.loadComponent(i)]).pipe(au()):o})}}return e.\u0275fac=function(t){return new(t||e)(Qe(ar),Qe(Gz),Qe(pu),Qe(fj),Qe(n6))},e.\u0275prov=y({token:e,factory:e.\u0275fac,providedIn:"root"}),e})();const a6=new bt("");let hj=(()=>{class e{constructor(t,i,r,o,a={}){this.urlSerializer=t,this.transitions=i,this.viewportScroller=r,this.zone=o,this.options=a,this.lastId=0,this.lastSource="imperative",this.restoredId=0,this.store={},a.scrollPositionRestoration=a.scrollPositionRestoration||"disabled",a.anchorScrolling=a.anchorScrolling||"disabled"}init(){"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.setHistoryScrollRestoration("manual"),this.routerEventsSubscription=this.createScrollEvents(),this.scrollEventsSubscription=this.consumeScrollEvents()}createScrollEvents(){return this.transitions.events.subscribe(t=>{t instanceof BI?(this.store[this.lastId]=this.viewportScroller.getScrollPosition(),this.lastSource=t.navigationTrigger,this.restoredId=t.restoredState?t.restoredState.navigationId:0):t instanceof fg&&(this.lastId=t.id,this.scheduleScrollEvent(t,this.urlSerializer.parse(t.urlAfterRedirects).fragment))})}consumeScrollEvents(){return this.transitions.events.subscribe(t=>{t instanceof NU&&(t.position?"top"===this.options.scrollPositionRestoration?this.viewportScroller.scrollToPosition([0,0]):"enabled"===this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition(t.position):t.anchor&&"enabled"===this.options.anchorScrolling?this.viewportScroller.scrollToAnchor(t.anchor):"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition([0,0]))})}scheduleScrollEvent(t,i){this.zone.runOutsideAngular(()=>{setTimeout(()=>{this.zone.run(()=>{this.transitions.events.next(new NU(t,"popstate"===this.lastSource?this.store[this.restoredId]:null,i))})},0)})}ngOnDestroy(){this.routerEventsSubscription?.unsubscribe(),this.scrollEventsSubscription?.unsubscribe()}}return e.\u0275fac=function(t){!function iY(){throw new Error("invalid")}()},e.\u0275prov=y({token:e,factory:e.\u0275fac}),e})();var Ns=(()=>((Ns=Ns||{})[Ns.COMPLETE=0]="COMPLETE",Ns[Ns.FAILED=1]="FAILED",Ns[Ns.REDIRECTING=2]="REDIRECTING",Ns))();const by=!1;function uf(e,n){return{\u0275kind:e,\u0275providers:n}}const s6=new bt("",{providedIn:"root",factory:()=>!1});function mj(){const e=Kt(sc);return n=>{const t=e.get(Mv);if(n!==t.components[0])return;const i=e.get(ar),r=e.get(yj);1===e.get(l6)&&i.initialNavigation(),e.get(_j,null,le.Optional)?.setUpPreloading(),e.get(a6,null,le.Optional)?.init(),i.resetRootComponentType(t.componentTypes[0]),r.closed||(r.next(),r.complete(),r.unsubscribe())}}const yj=new bt(by?"bootstrap done indicator":"",{factory:()=>new Ui}),l6=new bt(by?"initial navigation":"",{providedIn:"root",factory:()=>1});function tSe(){let e=[];return e=by?[{provide:$2,multi:!0,useFactory:()=>{const n=Kt(ar);return()=>n.events.subscribe(t=>{console.group?.(`Router Event: ${t.constructor.name}`),console.log(function F2e(e){if(!("type"in e))return`Unknown Router Event: ${e.constructor.name}`;switch(e.type){case 14:return`ActivationEnd(path: '${e.snapshot.routeConfig?.path||""}')`;case 13:return`ActivationStart(path: '${e.snapshot.routeConfig?.path||""}')`;case 12:return`ChildActivationEnd(path: '${e.snapshot.routeConfig?.path||""}')`;case 11:return`ChildActivationStart(path: '${e.snapshot.routeConfig?.path||""}')`;case 8:return`GuardsCheckEnd(id: ${e.id}, url: '${e.url}', urlAfterRedirects: '${e.urlAfterRedirects}', state: ${e.state}, shouldActivate: ${e.shouldActivate})`;case 7:return`GuardsCheckStart(id: ${e.id}, url: '${e.url}', urlAfterRedirects: '${e.urlAfterRedirects}', state: ${e.state})`;case 2:return`NavigationCancel(id: ${e.id}, url: '${e.url}')`;case 16:return`NavigationSkipped(id: ${e.id}, url: '${e.url}')`;case 1:return`NavigationEnd(id: ${e.id}, url: '${e.url}', urlAfterRedirects: '${e.urlAfterRedirects}')`;case 3:return`NavigationError(id: ${e.id}, url: '${e.url}', error: ${e.error})`;case 0:return`NavigationStart(id: ${e.id}, url: '${e.url}')`;case 6:return`ResolveEnd(id: ${e.id}, url: '${e.url}', urlAfterRedirects: '${e.urlAfterRedirects}', state: ${e.state})`;case 5:return`ResolveStart(id: ${e.id}, url: '${e.url}', urlAfterRedirects: '${e.urlAfterRedirects}', state: ${e.state})`;case 10:return`RouteConfigLoadEnd(path: ${e.route.path})`;case 9:return`RouteConfigLoadStart(path: ${e.route.path})`;case 4:return`RoutesRecognized(id: ${e.id}, url: '${e.url}', urlAfterRedirects: '${e.urlAfterRedirects}', state: ${e.state})`;case 15:return`Scroll(anchor: '${e.anchor}', position: '${e.position?`${e.position[0]}, ${e.position[1]}`:null}')`}}(t)),console.log(t),console.groupEnd?.()})}}]:[],uf(1,e)}const _j=new bt(by?"router preloader":"");function nSe(e){return uf(0,[{provide:_j,useExisting:ZAe},{provide:fj,useExisting:e}])}const nT=!1,vj=new bt(nT?"router duplicate forRoot guard":"ROUTER_FORROOT_GUARD"),iSe=[oI,{provide:$v,useClass:kI},ar,Zv,{provide:rs,useFactory:function gj(e){return e.routerState.root},deps:[ar]},n6,nT?{provide:s6,useValue:!0}:[]];function rSe(){return new Wz("Router",ar)}let Tj=(()=>{class e{constructor(t){}static forRoot(t,i){return{ngModule:e,providers:[iSe,nT&&i?.enableTracing?tSe().\u0275providers:[],{provide:Cy,multi:!0,useValue:t},{provide:vj,useFactory:lSe,deps:[[ar,new rv,new ov]]},{provide:tS,useValue:i||{}},i?.useHash?{provide:ug,useClass:cTe}:{provide:ug,useClass:m$},{provide:a6,useFactory:()=>{const e=Kt(FCe),n=Kt(wn),t=Kt(tS),i=Kt(eS),r=Kt($v);return t.scrollOffset&&e.setOffset(t.scrollOffset),new hj(r,i,e,n,t)}},i?.preloadingStrategy?nSe(i.preloadingStrategy).\u0275providers:[],{provide:Wz,multi:!0,useFactory:rSe},i?.initialNavigation?cSe(i):[],[{provide:Cj,useFactory:mj},{provide:jz,multi:!0,useExisting:Cj}]]}}static forChild(t){return{ngModule:e,providers:[{provide:Cy,multi:!0,useValue:t}]}}}return e.\u0275fac=function(t){return new(t||e)(Qe(vj,8))},e.\u0275mod=en({type:e}),e.\u0275inj=b({imports:[KI]}),e})();function lSe(e){if(nT&&e)throw new Ae(4007,"The Router was provided more than once. This can happen if 'forRoot' is used outside of the root injector. Lazy loaded modules should use RouterModule.forChild() instead.");return"guarded"}function cSe(e){return["disabled"===e.initialNavigation?uf(3,[{provide:fA,multi:!0,useFactory:()=>{const n=Kt(ar);return()=>{n.setUpLocationChangeListener()}}},{provide:l6,useValue:2}]).\u0275providers:[],"enabledBlocking"===e.initialNavigation?uf(2,[{provide:l6,useValue:0},{provide:fA,multi:!0,deps:[sc],useFactory:n=>{const t=n.get(sTe,Promise.resolve());return()=>t.then(()=>new Promise(i=>{const r=n.get(ar),o=n.get(yj);(function XAe(e,n){e.events.pipe(Bd(t=>t instanceof fg||t instanceof zA||t instanceof YI||t instanceof $A),Qt(t=>t instanceof fg||t instanceof $A?Ns.COMPLETE:t instanceof zA&&(0===t.code||1===t.code)?Ns.REDIRECTING:Ns.FAILED),Bd(t=>t!==Ns.REDIRECTING),fy(1)).subscribe(()=>{n()})})(r,()=>{i(!0)}),n.get(eS).afterPreactivation=()=>(i(!0),o.closed?Yt(void 0):o),r.initialNavigation()}))}}]).\u0275providers:[]]}const Cj=new bt(nT?"Router Initializer":"");let bj=(()=>{class e{constructor(t,i){this._renderer=t,this._elementRef=i,this.onChange=r=>{},this.onTouched=()=>{}}setProperty(t,i){this._renderer.setProperty(this._elementRef.nativeElement,t,i)}registerOnTouched(t){this.onTouched=t}registerOnChange(t){this.onChange=t}setDisabledState(t){this.setProperty("disabled",t)}}return e.\u0275fac=function(t){return new(t||e)(ie(Si),ie(En))},e.\u0275dir=Ft({type:e}),e})(),hg=(()=>{class e extends bj{}return e.\u0275fac=function(){let n;return function(i){return(n||(n=vn(e)))(i||e)}}(),e.\u0275dir=Ft({type:e,features:[Dt]}),e})();const sr=new bt("NgValueAccessor"),fSe={provide:sr,useExisting:pn(()=>bu),multi:!0},gSe=new bt("CompositionEventMode");let bu=(()=>{class e extends bj{constructor(t,i,r){super(t,i),this._compositionMode=r,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function hSe(){const e=Nd()?Nd().getUserAgent():"";return/android (\d+)/.test(e.toLowerCase())}())}writeValue(t){this.setProperty("value",t??"")}_handleInput(t){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(t)}_compositionStart(){this._composing=!0}_compositionEnd(t){this._composing=!1,this._compositionMode&&this.onChange(t)}}return e.\u0275fac=function(t){return new(t||e)(ie(Si),ie(En),ie(gSe,8))},e.\u0275dir=Ft({type:e,selectors:[["input","formControlName","",3,"type","checkbox"],["textarea","formControlName",""],["input","formControl","",3,"type","checkbox"],["textarea","formControl",""],["input","ngModel","",3,"type","checkbox"],["textarea","ngModel",""],["","ngDefaultControl",""]],hostBindings:function(t,i){1&t&&ge("input",function(o){return i._handleInput(o.target.value)})("blur",function(){return i.onTouched()})("compositionstart",function(){return i._compositionStart()})("compositionend",function(o){return i._compositionEnd(o.target.value)})},features:[Zt([fSe]),Dt]}),e})();const mSe=!1;const zo=new bt("NgValidators"),pf=new bt("NgAsyncValidators");function Fj(e){return function df(e){return null==e||("string"==typeof e||Array.isArray(e))&&0===e.length}(e.value)?{required:!0}:null}function nS(e){return null}function Mj(e){return null!=e}function kj(e){const n=Cv(e)?di(e):e;if(mSe&&!gE(n)){let t="Expected async validator to return Promise or Observable.";throw"object"==typeof e&&(t+=" Are you using a synchronous validator where an async validator is expected?"),new Ae(-1101,t)}return n}function Pj(e){let n={};return e.forEach(t=>{n=null!=t?{...n,...t}:n}),0===Object.keys(n).length?null:n}function Nj(e,n){return n.map(t=>t(e))}function Oj(e){return e.map(n=>function _Se(e){return!e.validate}(n)?n:t=>n.validate(t))}function c6(e){return null!=e?function Hj(e){if(!e)return null;const n=e.filter(Mj);return 0==n.length?null:function(t){return Pj(Nj(t,n))}}(Oj(e)):null}function u6(e){return null!=e?function Gj(e){if(!e)return null;const n=e.filter(Mj);return 0==n.length?null:function(t){return function dSe(...e){const n=Or(e),{args:t,keys:i}=sU(e),r=new ui(o=>{const{length:a}=t;if(!a)return void o.complete();const s=new Array(a);let l=a,c=a;for(let u=0;u{d||(d=!0,c--),s[u]=p},()=>l--,void 0,()=>{(!l||!d)&&(c||o.next(i?cU(i,s):s),o.complete())}))}});return n?r.pipe(lU(n)):r}(Nj(t,n).map(kj)).pipe(Qt(Pj))}}(Oj(e)):null}function Bj(e,n){return null===e?[n]:Array.isArray(e)?[...e,n]:[e,n]}function d6(e){return e?Array.isArray(e)?e:[e]:[]}function iS(e,n){return Array.isArray(e)?e.includes(n):e===n}function zj(e,n){const t=d6(n);return d6(e).forEach(r=>{iS(t,r)||t.push(r)}),t}function $j(e,n){return d6(n).filter(t=>!iS(e,t))}class Uj{constructor(){this._rawValidators=[],this._rawAsyncValidators=[],this._onDestroyCallbacks=[]}get value(){return this.control?this.control.value:null}get valid(){return this.control?this.control.valid:null}get invalid(){return this.control?this.control.invalid:null}get pending(){return this.control?this.control.pending:null}get disabled(){return this.control?this.control.disabled:null}get enabled(){return this.control?this.control.enabled:null}get errors(){return this.control?this.control.errors:null}get pristine(){return this.control?this.control.pristine:null}get dirty(){return this.control?this.control.dirty:null}get touched(){return this.control?this.control.touched:null}get status(){return this.control?this.control.status:null}get untouched(){return this.control?this.control.untouched:null}get statusChanges(){return this.control?this.control.statusChanges:null}get valueChanges(){return this.control?this.control.valueChanges:null}get path(){return null}_setValidators(n){this._rawValidators=n||[],this._composedValidatorFn=c6(this._rawValidators)}_setAsyncValidators(n){this._rawAsyncValidators=n||[],this._composedAsyncValidatorFn=u6(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_registerOnDestroy(n){this._onDestroyCallbacks.push(n)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(n=>n()),this._onDestroyCallbacks=[]}reset(n){this.control&&this.control.reset(n)}hasError(n,t){return!!this.control&&this.control.hasError(n,t)}getError(n,t){return this.control?this.control.getError(n,t):null}}class Sa extends Uj{get formDirective(){return null}get path(){return null}}class Vd extends Uj{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}class jj{constructor(n){this._cd=n}get isTouched(){return!!this._cd?.control?.touched}get isUntouched(){return!!this._cd?.control?.untouched}get isPristine(){return!!this._cd?.control?.pristine}get isDirty(){return!!this._cd?.control?.dirty}get isValid(){return!!this._cd?.control?.valid}get isInvalid(){return!!this._cd?.control?.invalid}get isPending(){return!!this._cd?.control?.pending}get isSubmitted(){return!!this._cd?.submitted}}let Ay=(()=>{class e extends jj{constructor(t){super(t)}}return e.\u0275fac=function(t){return new(t||e)(ie(Vd,2))},e.\u0275dir=Ft({type:e,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(t,i){2&t&&Ta("ng-untouched",i.isUntouched)("ng-touched",i.isTouched)("ng-pristine",i.isPristine)("ng-dirty",i.isDirty)("ng-valid",i.isValid)("ng-invalid",i.isInvalid)("ng-pending",i.isPending)},features:[Dt]}),e})(),iT=(()=>{class e extends jj{constructor(t){super(t)}}return e.\u0275fac=function(t){return new(t||e)(ie(Sa,10))},e.\u0275dir=Ft({type:e,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(t,i){2&t&&Ta("ng-untouched",i.isUntouched)("ng-touched",i.isTouched)("ng-pristine",i.isPristine)("ng-dirty",i.isDirty)("ng-valid",i.isValid)("ng-invalid",i.isInvalid)("ng-pending",i.isPending)("ng-submitted",i.isSubmitted)},features:[Dt]}),e})();function Wj(e,n){return e?`with name: '${n}'`:`at index: ${n}`}const h6=!1,rT="VALID",oS="INVALID",Sy="PENDING",oT="DISABLED";function g6(e){return(aS(e)?e.validators:e)||null}function m6(e,n){return(aS(n)?n.asyncValidators:e)||null}function aS(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}class Zj{constructor(n,t){this._pendingDirty=!1,this._hasOwnPendingAsyncValidator=!1,this._pendingTouched=!1,this._onCollectionChange=()=>{},this._parent=null,this.pristine=!0,this.touched=!1,this._onDisabledChange=[],this._assignValidators(n),this._assignAsyncValidators(t)}get validator(){return this._composedValidatorFn}set validator(n){this._rawValidators=this._composedValidatorFn=n}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(n){this._rawAsyncValidators=this._composedAsyncValidatorFn=n}get parent(){return this._parent}get valid(){return this.status===rT}get invalid(){return this.status===oS}get pending(){return this.status==Sy}get disabled(){return this.status===oT}get enabled(){return this.status!==oT}get dirty(){return!this.pristine}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(n){this._assignValidators(n)}setAsyncValidators(n){this._assignAsyncValidators(n)}addValidators(n){this.setValidators(zj(n,this._rawValidators))}addAsyncValidators(n){this.setAsyncValidators(zj(n,this._rawAsyncValidators))}removeValidators(n){this.setValidators($j(n,this._rawValidators))}removeAsyncValidators(n){this.setAsyncValidators($j(n,this._rawAsyncValidators))}hasValidator(n){return iS(this._rawValidators,n)}hasAsyncValidator(n){return iS(this._rawAsyncValidators,n)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(n={}){this.touched=!0,this._parent&&!n.onlySelf&&this._parent.markAsTouched(n)}markAllAsTouched(){this.markAsTouched({onlySelf:!0}),this._forEachChild(n=>n.markAllAsTouched())}markAsUntouched(n={}){this.touched=!1,this._pendingTouched=!1,this._forEachChild(t=>{t.markAsUntouched({onlySelf:!0})}),this._parent&&!n.onlySelf&&this._parent._updateTouched(n)}markAsDirty(n={}){this.pristine=!1,this._parent&&!n.onlySelf&&this._parent.markAsDirty(n)}markAsPristine(n={}){this.pristine=!0,this._pendingDirty=!1,this._forEachChild(t=>{t.markAsPristine({onlySelf:!0})}),this._parent&&!n.onlySelf&&this._parent._updatePristine(n)}markAsPending(n={}){this.status=Sy,!1!==n.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!n.onlySelf&&this._parent.markAsPending(n)}disable(n={}){const t=this._parentMarkedDirty(n.onlySelf);this.status=oT,this.errors=null,this._forEachChild(i=>{i.disable({...n,onlySelf:!0})}),this._updateValue(),!1!==n.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors({...n,skipPristineCheck:t}),this._onDisabledChange.forEach(i=>i(!0))}enable(n={}){const t=this._parentMarkedDirty(n.onlySelf);this.status=rT,this._forEachChild(i=>{i.enable({...n,onlySelf:!0})}),this.updateValueAndValidity({onlySelf:!0,emitEvent:n.emitEvent}),this._updateAncestors({...n,skipPristineCheck:t}),this._onDisabledChange.forEach(i=>i(!1))}_updateAncestors(n){this._parent&&!n.onlySelf&&(this._parent.updateValueAndValidity(n),n.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())}setParent(n){this._parent=n}getRawValue(){return this.value}updateValueAndValidity(n={}){this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===rT||this.status===Sy)&&this._runAsyncValidator(n.emitEvent)),!1!==n.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!n.onlySelf&&this._parent.updateValueAndValidity(n)}_updateTreeValidity(n={emitEvent:!0}){this._forEachChild(t=>t._updateTreeValidity(n)),this.updateValueAndValidity({onlySelf:!0,emitEvent:n.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?oT:rT}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(n){if(this.asyncValidator){this.status=Sy,this._hasOwnPendingAsyncValidator=!0;const t=kj(this.asyncValidator(this));this._asyncValidationSubscription=t.subscribe(i=>{this._hasOwnPendingAsyncValidator=!1,this.setErrors(i,{emitEvent:n})})}}_cancelExistingSubscription(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}setErrors(n,t={}){this.errors=n,this._updateControlsErrors(!1!==t.emitEvent)}get(n){let t=n;return null==t||(Array.isArray(t)||(t=t.split(".")),0===t.length)?null:t.reduce((i,r)=>i&&i._find(r),this)}getError(n,t){const i=t?this.get(t):this;return i&&i.errors?i.errors[n]:null}hasError(n,t){return!!this.getError(n,t)}get root(){let n=this;for(;n._parent;)n=n._parent;return n}_updateControlsErrors(n){this.status=this._calculateStatus(),n&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(n)}_initObservables(){this.valueChanges=new Pe,this.statusChanges=new Pe}_calculateStatus(){return this._allControlsDisabled()?oT:this.errors?oS:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(Sy)?Sy:this._anyControlsHaveStatus(oS)?oS:rT}_anyControlsHaveStatus(n){return this._anyControls(t=>t.status===n)}_anyControlsDirty(){return this._anyControls(n=>n.dirty)}_anyControlsTouched(){return this._anyControls(n=>n.touched)}_updatePristine(n={}){this.pristine=!this._anyControlsDirty(),this._parent&&!n.onlySelf&&this._parent._updatePristine(n)}_updateTouched(n={}){this.touched=this._anyControlsTouched(),this._parent&&!n.onlySelf&&this._parent._updateTouched(n)}_registerOnCollectionChange(n){this._onCollectionChange=n}_setUpdateStrategy(n){aS(n)&&null!=n.updateOn&&(this._updateOn=n.updateOn)}_parentMarkedDirty(n){return!n&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()}_find(n){return null}_assignValidators(n){this._rawValidators=Array.isArray(n)?n.slice():n,this._composedValidatorFn=function wSe(e){return Array.isArray(e)?c6(e):e||null}(this._rawValidators)}_assignAsyncValidators(n){this._rawAsyncValidators=Array.isArray(n)?n.slice():n,this._composedAsyncValidatorFn=function xSe(e){return Array.isArray(e)?u6(e):e||null}(this._rawAsyncValidators)}}class y6 extends Zj{constructor(n,t,i){super(g6(t),m6(i,t)),this.controls=n,this._initObservables(),this._setUpdateStrategy(t),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}registerControl(n,t){return this.controls[n]?this.controls[n]:(this.controls[n]=t,t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange),t)}addControl(n,t,i={}){this.registerControl(n,t),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}removeControl(n,t={}){this.controls[n]&&this.controls[n]._registerOnCollectionChange(()=>{}),delete this.controls[n],this.updateValueAndValidity({emitEvent:t.emitEvent}),this._onCollectionChange()}setControl(n,t,i={}){this.controls[n]&&this.controls[n]._registerOnCollectionChange(()=>{}),delete this.controls[n],t&&this.registerControl(n,t),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}contains(n){return this.controls.hasOwnProperty(n)&&this.controls[n].enabled}setValue(n,t={}){(function Kj(e,n,t){e._forEachChild((i,r)=>{if(void 0===t[r])throw new Ae(1002,h6?function SSe(e,n){return`Must supply a value for form control ${Wj(e,n)}`}(n,r):"")})})(this,!0,n),Object.keys(n).forEach(i=>{(function qj(e,n,t){const i=e.controls;if(!(n?Object.keys(i):i).length)throw new Ae(1e3,h6?function bSe(e){return`\n There are no form controls registered with this ${e?"group":"array"} yet. If you're using ngModel,\n you may want to check next tick (e.g. use setTimeout).\n `}(n):"");if(!i[t])throw new Ae(1001,h6?function ASe(e,n){return`Cannot find form control ${Wj(e,n)}`}(n,t):"")})(this,!0,i),this.controls[i].setValue(n[i],{onlySelf:!0,emitEvent:t.emitEvent})}),this.updateValueAndValidity(t)}patchValue(n,t={}){null!=n&&(Object.keys(n).forEach(i=>{const r=this.controls[i];r&&r.patchValue(n[i],{onlySelf:!0,emitEvent:t.emitEvent})}),this.updateValueAndValidity(t))}reset(n={},t={}){this._forEachChild((i,r)=>{i.reset(n[r],{onlySelf:!0,emitEvent:t.emitEvent})}),this._updatePristine(t),this._updateTouched(t),this.updateValueAndValidity(t)}getRawValue(){return this._reduceChildren({},(n,t,i)=>(n[i]=t.getRawValue(),n))}_syncPendingControls(){let n=this._reduceChildren(!1,(t,i)=>!!i._syncPendingControls()||t);return n&&this.updateValueAndValidity({onlySelf:!0}),n}_forEachChild(n){Object.keys(this.controls).forEach(t=>{const i=this.controls[t];i&&n(i,t)})}_setUpControls(){this._forEachChild(n=>{n.setParent(this),n._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(n){for(const[t,i]of Object.entries(this.controls))if(this.contains(t)&&n(i))return!0;return!1}_reduceValue(){return this._reduceChildren({},(t,i,r)=>((i.enabled||this.disabled)&&(t[r]=i.value),t))}_reduceChildren(n,t){let i=n;return this._forEachChild((r,o)=>{i=t(i,r,o)}),i}_allControlsDisabled(){for(const n of Object.keys(this.controls))if(this.controls[n].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_find(n){return this.controls.hasOwnProperty(n)?this.controls[n]:null}}const gg=new bt("CallSetDisabledState",{providedIn:"root",factory:()=>aT}),aT="always";function sT(e,n,t=aT){_6(e,n),n.valueAccessor.writeValue(e.value),(e.disabled||"always"===t)&&n.valueAccessor.setDisabledState?.(e.disabled),function ESe(e,n){n.valueAccessor.registerOnChange(t=>{e._pendingValue=t,e._pendingChange=!0,e._pendingDirty=!0,"change"===e.updateOn&&Xj(e,n)})}(e,n),function RSe(e,n){const t=(i,r)=>{n.valueAccessor.writeValue(i),r&&n.viewToModelUpdate(i)};e.registerOnChange(t),n._registerOnDestroy(()=>{e._unregisterOnChange(t)})}(e,n),function ISe(e,n){n.valueAccessor.registerOnTouched(()=>{e._pendingTouched=!0,"blur"===e.updateOn&&e._pendingChange&&Xj(e,n),"submit"!==e.updateOn&&e.markAsTouched()})}(e,n),function DSe(e,n){if(n.valueAccessor.setDisabledState){const t=i=>{n.valueAccessor.setDisabledState(i)};e.registerOnDisabledChange(t),n._registerOnDestroy(()=>{e._unregisterOnDisabledChange(t)})}}(e,n)}function cS(e,n){e.forEach(t=>{t.registerOnValidatorChange&&t.registerOnValidatorChange(n)})}function _6(e,n){const t=function Yj(e){return e._rawValidators}(e);null!==n.validator?e.setValidators(Bj(t,n.validator)):"function"==typeof t&&e.setValidators([t]);const i=function Vj(e){return e._rawAsyncValidators}(e);null!==n.asyncValidator?e.setAsyncValidators(Bj(i,n.asyncValidator)):"function"==typeof i&&e.setAsyncValidators([i]);const r=()=>e.updateValueAndValidity();cS(n._rawValidators,r),cS(n._rawAsyncValidators,r)}function Xj(e,n){e._pendingDirty&&e.markAsDirty(),e.setValue(e._pendingValue,{emitModelToViewChange:!1}),n.viewToModelUpdate(e._pendingValue),e._pendingChange=!1}const NSe={provide:Sa,useExisting:pn(()=>mg)},lT=(()=>Promise.resolve())();let mg=(()=>{class e extends Sa{constructor(t,i,r){super(),this.callSetDisabledState=r,this.submitted=!1,this._directives=new Set,this.ngSubmit=new Pe,this.form=new y6({},c6(t),u6(i))}ngAfterViewInit(){this._setUpdateStrategy()}get formDirective(){return this}get control(){return this.form}get path(){return[]}get controls(){return this.form.controls}addControl(t){lT.then(()=>{const i=this._findContainer(t.path);t.control=i.registerControl(t.name,t.control),sT(t.control,t,this.callSetDisabledState),t.control.updateValueAndValidity({emitEvent:!1}),this._directives.add(t)})}getControl(t){return this.form.get(t.path)}removeControl(t){lT.then(()=>{const i=this._findContainer(t.path);i&&i.removeControl(t.name),this._directives.delete(t)})}addFormGroup(t){lT.then(()=>{const i=this._findContainer(t.path),r=new y6({});(function Qj(e,n){_6(e,n)})(r,t),i.registerControl(t.name,r),r.updateValueAndValidity({emitEvent:!1})})}removeFormGroup(t){lT.then(()=>{const i=this._findContainer(t.path);i&&i.removeControl(t.name)})}getFormGroup(t){return this.form.get(t.path)}updateModel(t,i){lT.then(()=>{this.form.get(t.path).setValue(i)})}setValue(t){this.control.setValue(t)}onSubmit(t){return this.submitted=!0,function Jj(e,n){e._syncPendingControls(),n.forEach(t=>{const i=t.control;"submit"===i.updateOn&&i._pendingChange&&(t.viewToModelUpdate(i._pendingValue),i._pendingChange=!1)})}(this.form,this._directives),this.ngSubmit.emit(t),"dialog"===t?.target?.method}onReset(){this.resetForm()}resetForm(t){this.form.reset(t),this.submitted=!1}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.form._updateOn=this.options.updateOn)}_findContainer(t){return t.pop(),t.length?this.form.get(t):this.form}}return e.\u0275fac=function(t){return new(t||e)(ie(zo,10),ie(pf,10),ie(gg,8))},e.\u0275dir=Ft({type:e,selectors:[["form",3,"ngNoForm","",3,"formGroup",""],["ng-form"],["","ngForm",""]],hostBindings:function(t,i){1&t&&ge("submit",function(o){return i.onSubmit(o)})("reset",function(){return i.onReset()})},inputs:{options:["ngFormOptions","options"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[Zt([NSe]),Dt]}),e})();function eW(e,n){const t=e.indexOf(n);t>-1&&e.splice(t,1)}function tW(e){return"object"==typeof e&&null!==e&&2===Object.keys(e).length&&"value"in e&&"disabled"in e}const nW=class extends Zj{constructor(n=null,t,i){super(g6(t),m6(i,t)),this.defaultValue=null,this._onChange=[],this._pendingChange=!1,this._applyFormState(n),this._setUpdateStrategy(t),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),aS(t)&&(t.nonNullable||t.initialValueIsDefault)&&(this.defaultValue=tW(n)?n.value:n)}setValue(n,t={}){this.value=this._pendingValue=n,this._onChange.length&&!1!==t.emitModelToViewChange&&this._onChange.forEach(i=>i(this.value,!1!==t.emitViewToModelChange)),this.updateValueAndValidity(t)}patchValue(n,t={}){this.setValue(n,t)}reset(n=this.defaultValue,t={}){this._applyFormState(n),this.markAsPristine(t),this.markAsUntouched(t),this.setValue(this.value,t),this._pendingChange=!1}_updateValue(){}_anyControls(n){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(n){this._onChange.push(n)}_unregisterOnChange(n){eW(this._onChange,n)}registerOnDisabledChange(n){this._onDisabledChange.push(n)}_unregisterOnDisabledChange(n){eW(this._onDisabledChange,n)}_forEachChild(n){}_syncPendingControls(){return!("submit"!==this.updateOn||(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),!this._pendingChange)||(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),0))}_applyFormState(n){tW(n)?(this.value=this._pendingValue=n.value,n.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=n}},GSe={provide:Vd,useExisting:pn(()=>ff)},oW=(()=>Promise.resolve())();let ff=(()=>{class e extends Vd{constructor(t,i,r,o,a,s){super(),this._changeDetectorRef=a,this.callSetDisabledState=s,this.control=new nW,this._registered=!1,this.update=new Pe,this._parent=t,this._setValidators(i),this._setAsyncValidators(r),this.valueAccessor=function C6(e,n){if(!n)return null;let t,i,r;return Array.isArray(n),n.forEach(o=>{o.constructor===bu?t=o:function kSe(e){return Object.getPrototypeOf(e.constructor)===hg}(o)?i=o:r=o}),r||i||t||null}(0,o)}ngOnChanges(t){if(this._checkForErrors(),!this._registered||"name"in t){if(this._registered&&(this._checkName(),this.formDirective)){const i=t.name.previousValue;this.formDirective.removeControl({name:i,path:this._getPath(i)})}this._setUpControl()}"isDisabled"in t&&this._updateDisabled(t),function T6(e,n){if(!e.hasOwnProperty("model"))return!1;const t=e.model;return!!t.isFirstChange()||!Object.is(n,t.currentValue)}(t,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}get path(){return this._getPath(this.name)}get formDirective(){return this._parent?this._parent.formDirective:null}viewToModelUpdate(t){this.viewModel=t,this.update.emit(t)}_setUpControl(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.control._updateOn=this.options.updateOn)}_isStandalone(){return!this._parent||!(!this.options||!this.options.standalone)}_setUpStandalone(){sT(this.control,this,this.callSetDisabledState),this.control.updateValueAndValidity({emitEvent:!1})}_checkForErrors(){this._isStandalone()||this._checkParentType(),this._checkName()}_checkParentType(){}_checkName(){this.options&&this.options.name&&(this.name=this.options.name),this._isStandalone()}_updateValue(t){oW.then(()=>{this.control.setValue(t,{emitViewToModelChange:!1}),this._changeDetectorRef?.markForCheck()})}_updateDisabled(t){const i=t.isDisabled.currentValue,r=0!==i&&py(i);oW.then(()=>{r&&!this.control.disabled?this.control.disable():!r&&this.control.disabled&&this.control.enable(),this._changeDetectorRef?.markForCheck()})}_getPath(t){return this._parent?function sS(e,n){return[...n.path,e]}(t,this._parent):[t]}}return e.\u0275fac=function(t){return new(t||e)(ie(Sa,9),ie(zo,10),ie(pf,10),ie(sr,10),ie(wi,8),ie(gg,8))},e.\u0275dir=Ft({type:e,selectors:[["","ngModel","",3,"formControlName","",3,"formControl",""]],inputs:{name:"name",isDisabled:["disabled","isDisabled"],model:["ngModel","model"],options:["ngModelOptions","options"]},outputs:{update:"ngModelChange"},exportAs:["ngModel"],features:[Zt([GSe]),Dt,To]}),e})(),cT=(()=>{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275dir=Ft({type:e,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""]}),e})(),sW=(()=>{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=en({type:e}),e.\u0275inj=b({}),e})();const b6=new bt("NgModelWithFormControlWarning");let yg=(()=>{class e{constructor(){this._validator=nS}ngOnChanges(t){if(this.inputName in t){const i=this.normalizeInput(t[this.inputName].currentValue);this._enabled=this.enabled(i),this._validator=this._enabled?this.createValidator(i):nS,this._onChange&&this._onChange()}}validate(t){return this._validator(t)}registerOnValidatorChange(t){this._onChange=t}enabled(t){return null!=t}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275dir=Ft({type:e,features:[To]}),e})();const iwe={provide:zo,useExisting:pn(()=>uT),multi:!0};let uT=(()=>{class e extends yg{constructor(){super(...arguments),this.inputName="required",this.normalizeInput=py,this.createValidator=t=>Fj}enabled(t){return t}}return e.\u0275fac=function(){let n;return function(i){return(n||(n=vn(e)))(i||e)}}(),e.\u0275dir=Ft({type:e,selectors:[["","required","","formControlName","",3,"type","checkbox"],["","required","","formControl","",3,"type","checkbox"],["","required","","ngModel","",3,"type","checkbox"]],hostVars:1,hostBindings:function(t,i){2&t&&tt("required",i._enabled?"":null)},inputs:{required:"required"},features:[Zt([iwe]),Dt]}),e})();const swe={provide:zo,useExisting:pn(()=>D6),multi:!0};let D6=(()=>{class e extends yg{constructor(){super(...arguments),this.inputName="maxlength",this.normalizeInput=t=>function gW(e){return"number"==typeof e?e:parseInt(e,10)}(t),this.createValidator=t=>function Rj(e){return n=>function Sj(e){return null!=e&&"number"==typeof e.length}(n.value)&&n.value.length>e?{maxlength:{requiredLength:e,actualLength:n.value.length}}:null}(t)}}return e.\u0275fac=function(){let n;return function(i){return(n||(n=vn(e)))(i||e)}}(),e.\u0275dir=Ft({type:e,selectors:[["","maxlength","","formControlName",""],["","maxlength","","formControl",""],["","maxlength","","ngModel",""]],hostVars:1,hostBindings:function(t,i){2&t&&tt("maxlength",i._enabled?i.maxlength:null)},inputs:{maxlength:"maxlength"},features:[Zt([swe]),Dt]}),e})(),AW=(()=>{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=en({type:e}),e.\u0275inj=b({imports:[sW]}),e})(),dT=(()=>{class e{static withConfig(t){return{ngModule:e,providers:[{provide:gg,useValue:t.callSetDisabledState??aT}]}}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=en({type:e}),e.\u0275inj=b({imports:[AW]}),e})(),uwe=(()=>{class e{static withConfig(t){return{ngModule:e,providers:[{provide:b6,useValue:t.warnOnNgModelWithFormControl??"always"},{provide:gg,useValue:t.callSetDisabledState??aT}]}}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=en({type:e}),e.\u0275inj=b({imports:[AW]}),e})();class Ht{static equals(n,t,i){return i?this.resolveFieldData(n,i)===this.resolveFieldData(t,i):this.equalsByValue(n,t)}static equalsByValue(n,t){if(n===t)return!0;if(n&&t&&"object"==typeof n&&"object"==typeof t){var o,a,s,i=Array.isArray(n),r=Array.isArray(t);if(i&&r){if((a=n.length)!=t.length)return!1;for(o=a;0!=o--;)if(!this.equalsByValue(n[o],t[o]))return!1;return!0}if(i!=r)return!1;var l=this.isDate(n),c=this.isDate(t);if(l!=c)return!1;if(l&&c)return n.getTime()==t.getTime();var u=n instanceof RegExp,d=t instanceof RegExp;if(u!=d)return!1;if(u&&d)return n.toString()==t.toString();var p=Object.keys(n);if((a=p.length)!==Object.keys(t).length)return!1;for(o=a;0!=o--;)if(!Object.prototype.hasOwnProperty.call(t,p[o]))return!1;for(o=a;0!=o--;)if(!this.equalsByValue(n[s=p[o]],t[s]))return!1;return!0}return n!=n&&t!=t}static resolveFieldData(n,t){if(n&&t){if(this.isFunction(t))return t(n);if(-1==t.indexOf("."))return n[t];{let i=t.split("."),r=n;for(let o=0,a=i.length;o=n.length&&(i%=n.length,t%=n.length),n.splice(i,0,n.splice(t,1)[0]))}static insertIntoOrderedArray(n,t,i,r){if(i.length>0){let o=!1;for(let a=0;at){i.splice(a,0,n),o=!0;break}o||i.push(n)}else i.push(n)}static findIndexInList(n,t){let i=-1;if(t)for(let r=0;r-1&&(n=n.replace(/[\xC0-\xC5]/g,"A").replace(/[\xC6]/g,"AE").replace(/[\xC7]/g,"C").replace(/[\xC8-\xCB]/g,"E").replace(/[\xCC-\xCF]/g,"I").replace(/[\xD0]/g,"D").replace(/[\xD1]/g,"N").replace(/[\xD2-\xD6\xD8]/g,"O").replace(/[\xD9-\xDC]/g,"U").replace(/[\xDD]/g,"Y").replace(/[\xDE]/g,"P").replace(/[\xE0-\xE5]/g,"a").replace(/[\xE6]/g,"ae").replace(/[\xE7]/g,"c").replace(/[\xE8-\xEB]/g,"e").replace(/[\xEC-\xEF]/g,"i").replace(/[\xF1]/g,"n").replace(/[\xF2-\xF6\xF8]/g,"o").replace(/[\xF9-\xFC]/g,"u").replace(/[\xFE]/g,"p").replace(/[\xFD\xFF]/g,"y")),n}static isDate(n){return"[object Date]"===Object.prototype.toString.call(n)}static isEmpty(n){return null==n||""===n||Array.isArray(n)&&0===n.length||!this.isDate(n)&&"object"==typeof n&&0===Object.keys(n).length}static isNotEmpty(n){return!this.isEmpty(n)}static compare(n,t,i,r=1){let o=-1;const a=this.isEmpty(n),s=this.isEmpty(t);return o=a&&s?0:a?r:s?-r:"string"==typeof n&&"string"==typeof t?n.localeCompare(t,i,{numeric:!0}):nt?1:0,o}static sort(n,t,i=1,r,o=1){return(1===o?i:o)*Ht.compare(n,t,r,i)}static merge(n,t){if(null!=n||null!=t)return null!=n&&"object"!=typeof n||null!=t&&"object"!=typeof t?null!=n&&"string"!=typeof n||null!=t&&"string"!=typeof t?t||n:[n||"",t||""].join(" "):{...n||{},...t||{}}}}var SW=0;function E6(){return"pr_id_"+ ++SW}var Os=function dwe(){let e=[];const r=o=>o&&parseInt(o.style.zIndex,10)||0;return{get:r,set:(o,a,s)=>{a&&(a.style.zIndex=String(((o,a)=>{let s=e.length>0?e[e.length-1]:{key:o,value:a},l=s.value+(s.key===o?0:a)+1;return e.push({key:o,value:l}),l})(o,s)))},clear:o=>{o&&((o=>{e=e.filter(a=>a.value!==o)})(r(o)),o.style.zIndex="")},getCurrent:()=>e.length>0?e[e.length-1].value:0}}();const wW=["*"];let $o=(()=>{class e{}return e.STARTS_WITH="startsWith",e.CONTAINS="contains",e.NOT_CONTAINS="notContains",e.ENDS_WITH="endsWith",e.EQUALS="equals",e.NOT_EQUALS="notEquals",e.IN="in",e.LESS_THAN="lt",e.LESS_THAN_OR_EQUAL_TO="lte",e.GREATER_THAN="gt",e.GREATER_THAN_OR_EQUAL_TO="gte",e.BETWEEN="between",e.IS="is",e.IS_NOT="isNot",e.BEFORE="before",e.AFTER="after",e.DATE_IS="dateIs",e.DATE_IS_NOT="dateIsNot",e.DATE_BEFORE="dateBefore",e.DATE_AFTER="dateAfter",e})(),dS=(()=>{class e{constructor(){this.filters={startsWith:(t,i,r)=>{if(null==i||""===i.trim())return!0;if(null==t)return!1;let o=Ht.removeAccents(i.toString()).toLocaleLowerCase(r);return Ht.removeAccents(t.toString()).toLocaleLowerCase(r).slice(0,o.length)===o},contains:(t,i,r)=>{if(null==i||"string"==typeof i&&""===i.trim())return!0;if(null==t)return!1;let o=Ht.removeAccents(i.toString()).toLocaleLowerCase(r);return-1!==Ht.removeAccents(t.toString()).toLocaleLowerCase(r).indexOf(o)},notContains:(t,i,r)=>{if(null==i||"string"==typeof i&&""===i.trim())return!0;if(null==t)return!1;let o=Ht.removeAccents(i.toString()).toLocaleLowerCase(r);return-1===Ht.removeAccents(t.toString()).toLocaleLowerCase(r).indexOf(o)},endsWith:(t,i,r)=>{if(null==i||""===i.trim())return!0;if(null==t)return!1;let o=Ht.removeAccents(i.toString()).toLocaleLowerCase(r),a=Ht.removeAccents(t.toString()).toLocaleLowerCase(r);return-1!==a.indexOf(o,a.length-o.length)},equals:(t,i,r)=>null==i||"string"==typeof i&&""===i.trim()||null!=t&&(t.getTime&&i.getTime?t.getTime()===i.getTime():Ht.removeAccents(t.toString()).toLocaleLowerCase(r)==Ht.removeAccents(i.toString()).toLocaleLowerCase(r)),notEquals:(t,i,r)=>!(null==i||"string"==typeof i&&""===i.trim()||null!=t&&(t.getTime&&i.getTime?t.getTime()===i.getTime():Ht.removeAccents(t.toString()).toLocaleLowerCase(r)==Ht.removeAccents(i.toString()).toLocaleLowerCase(r))),in:(t,i)=>{if(null==i||0===i.length)return!0;for(let r=0;rnull==i||null==i[0]||null==i[1]||null!=t&&(t.getTime?i[0].getTime()<=t.getTime()&&t.getTime()<=i[1].getTime():i[0]<=t&&t<=i[1]),lt:(t,i,r)=>null==i||null!=t&&(t.getTime&&i.getTime?t.getTime()null==i||null!=t&&(t.getTime&&i.getTime?t.getTime()<=i.getTime():t<=i),gt:(t,i,r)=>null==i||null!=t&&(t.getTime&&i.getTime?t.getTime()>i.getTime():t>i),gte:(t,i,r)=>null==i||null!=t&&(t.getTime&&i.getTime?t.getTime()>=i.getTime():t>=i),is:(t,i,r)=>this.filters.equals(t,i,r),isNot:(t,i,r)=>this.filters.notEquals(t,i,r),before:(t,i,r)=>this.filters.lt(t,i,r),after:(t,i,r)=>this.filters.gt(t,i,r),dateIs:(t,i)=>null==i||null!=t&&t.toDateString()===i.toDateString(),dateIsNot:(t,i)=>null==i||null!=t&&t.toDateString()!==i.toDateString(),dateBefore:(t,i)=>null==i||null!=t&&t.getTime()null==i||null!=t&&t.getTime()>i.getTime()}}filter(t,i,r,o,a){let s=[];if(t)for(let l of t)for(let c of i){let u=Ht.resolveFieldData(l,c);if(this.filters[o](u,r,a)){s.push(l);break}}return s}register(t,i){this.filters[t]=i}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=y({token:e,factory:e.\u0275fac,providedIn:"root"}),e})(),wy=(()=>{class e{constructor(){this.clickSource=new Ui,this.clickObservable=this.clickSource.asObservable()}add(t){t&&this.clickSource.next(t)}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=y({token:e,factory:e.\u0275fac,providedIn:"root"}),e})(),Au=(()=>{class e{constructor(){this.ripple=!1,this.overlayOptions={},this.filterMatchModeOptions={text:[$o.STARTS_WITH,$o.CONTAINS,$o.NOT_CONTAINS,$o.ENDS_WITH,$o.EQUALS,$o.NOT_EQUALS],numeric:[$o.EQUALS,$o.NOT_EQUALS,$o.LESS_THAN,$o.LESS_THAN_OR_EQUAL_TO,$o.GREATER_THAN,$o.GREATER_THAN_OR_EQUAL_TO],date:[$o.DATE_IS,$o.DATE_IS_NOT,$o.DATE_BEFORE,$o.DATE_AFTER]},this.translation={startsWith:"Starts with",contains:"Contains",notContains:"Not contains",endsWith:"Ends with",equals:"Equals",notEquals:"Not equals",noFilter:"No Filter",lt:"Less than",lte:"Less than or equal to",gt:"Greater than",gte:"Greater than or equal to",is:"Is",isNot:"Is not",before:"Before",after:"After",dateIs:"Date is",dateIsNot:"Date is not",dateBefore:"Date is before",dateAfter:"Date is after",clear:"Clear",apply:"Apply",matchAll:"Match All",matchAny:"Match Any",addRule:"Add Rule",removeRule:"Remove Rule",accept:"Yes",reject:"No",choose:"Choose",upload:"Upload",cancel:"Cancel",dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dateFormat:"mm/dd/yy",firstDayOfWeek:0,today:"Today",weekHeader:"Wk",weak:"Weak",medium:"Medium",strong:"Strong",passwordPrompt:"Enter a password",emptyMessage:"No results found",emptyFilterMessage:"No results found"},this.zIndex={modal:1100,overlay:1e3,menu:1e3,tooltip:1100},this.translationSource=new Ui,this.translationObserver=this.translationSource.asObservable()}getTranslation(t){return this.translation[t]}setTranslation(t){this.translation={...this.translation,...t},this.translationSource.next(this.translation)}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=y({token:e,factory:e.\u0275fac,providedIn:"root"}),e})(),xW=(()=>{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=mt({type:e,selectors:[["p-header"]],ngContentSelectors:wW,decls:1,vars:0,template:function(t,i){1&t&&(gu(),ts(0))},encapsulation:2}),e})(),FW=(()=>{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=mt({type:e,selectors:[["p-footer"]],ngContentSelectors:wW,decls:1,vars:0,template:function(t,i){1&t&&(gu(),ts(0))},encapsulation:2}),e})(),lr=(()=>{class e{constructor(t){this.template=t}getType(){return this.name}}return e.\u0275fac=function(t){return new(t||e)(ie(dc))},e.\u0275dir=Ft({type:e,selectors:[["","pTemplate",""]],inputs:{type:"type",name:["pTemplate","name"]}}),e})(),ti=(()=>{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=en({type:e}),e.\u0275inj=b({imports:[jn]}),e})(),wa=(()=>{class e{}return e.STARTS_WITH="startsWith",e.CONTAINS="contains",e.NOT_CONTAINS="notContains",e.ENDS_WITH="endsWith",e.EQUALS="equals",e.NOT_EQUALS="notEquals",e.NO_FILTER="noFilter",e.LT="lt",e.LTE="lte",e.GT="gt",e.GTE="gte",e.IS="is",e.IS_NOT="isNot",e.BEFORE="before",e.AFTER="after",e.CLEAR="clear",e.APPLY="apply",e.MATCH_ALL="matchAll",e.MATCH_ANY="matchAny",e.ADD_RULE="addRule",e.REMOVE_RULE="removeRule",e.ACCEPT="accept",e.REJECT="reject",e.CHOOSE="choose",e.UPLOAD="upload",e.CANCEL="cancel",e.DAY_NAMES="dayNames",e.DAY_NAMES_SHORT="dayNamesShort",e.DAY_NAMES_MIN="dayNamesMin",e.MONTH_NAMES="monthNames",e.MONTH_NAMES_SHORT="monthNamesShort",e.FIRST_DAY_OF_WEEK="firstDayOfWeek",e.TODAY="today",e.WEEK_HEADER="weekHeader",e.WEAK="weak",e.MEDIUM="medium",e.STRONG="strong",e.PASSWORD_PROMPT="passwordPrompt",e.EMPTY_MESSAGE="emptyMessage",e.EMPTY_FILTER_MESSAGE="emptyFilterMessage",e})();function pwe(e,n){1&e&&It(0)}function fwe(e,n){if(1&e&&(V(0,"div",8),ts(1,1),N(2,pwe,1,0,"ng-container",6),j()),2&e){const t=E();G(2),R("ngTemplateOutlet",t.headerTemplate)}}function hwe(e,n){1&e&&It(0)}function gwe(e,n){if(1&e&&(V(0,"div",9),Ie(1),N(2,hwe,1,0,"ng-container",6),j()),2&e){const t=E();G(1),gr(" ",t.header," "),G(1),R("ngTemplateOutlet",t.titleTemplate)}}function mwe(e,n){1&e&&It(0)}function ywe(e,n){if(1&e&&(V(0,"div",10),Ie(1),N(2,mwe,1,0,"ng-container",6),j()),2&e){const t=E();G(1),gr(" ",t.subheader," "),G(1),R("ngTemplateOutlet",t.subtitleTemplate)}}function _we(e,n){1&e&&It(0)}function vwe(e,n){1&e&&It(0)}function Twe(e,n){if(1&e&&(V(0,"div",11),ts(1,2),N(2,vwe,1,0,"ng-container",6),j()),2&e){const t=E();G(2),R("ngTemplateOutlet",t.footerTemplate)}}const Cwe=["*",[["p-header"]],[["p-footer"]]],bwe=["*","p-header","p-footer"];let pT=(()=>{class e{constructor(t){this.el=t}ngAfterContentInit(){this.templates.forEach(t=>{switch(t.getType()){case"header":this.headerTemplate=t.template;break;case"title":this.titleTemplate=t.template;break;case"subtitle":this.subtitleTemplate=t.template;break;case"content":default:this.contentTemplate=t.template;break;case"footer":this.footerTemplate=t.template}})}getBlockableElement(){return this.el.nativeElement.children[0]}}return e.\u0275fac=function(t){return new(t||e)(ie(En))},e.\u0275cmp=mt({type:e,selectors:[["p-card"]],contentQueries:function(t,i,r){if(1&t&&(Br(r,xW,5),Br(r,FW,5),Br(r,lr,4)),2&t){let o;at(o=st())&&(i.headerFacet=o.first),at(o=st())&&(i.footerFacet=o.first),at(o=st())&&(i.templates=o)}},hostAttrs:[1,"p-element"],inputs:{header:"header",subheader:"subheader",style:"style",styleClass:"styleClass"},ngContentSelectors:bwe,decls:9,vars:9,consts:[[3,"ngClass","ngStyle"],["class","p-card-header",4,"ngIf"],[1,"p-card-body"],["class","p-card-title",4,"ngIf"],["class","p-card-subtitle",4,"ngIf"],[1,"p-card-content"],[4,"ngTemplateOutlet"],["class","p-card-footer",4,"ngIf"],[1,"p-card-header"],[1,"p-card-title"],[1,"p-card-subtitle"],[1,"p-card-footer"]],template:function(t,i){1&t&&(gu(Cwe),V(0,"div",0),N(1,fwe,3,1,"div",1),V(2,"div",2),N(3,gwe,3,2,"div",3),N(4,ywe,3,2,"div",4),V(5,"div",5),ts(6),N(7,_we,1,0,"ng-container",6),j(),N(8,Twe,3,1,"div",7),j()()),2&t&&(Ot(i.styleClass),R("ngClass","p-card p-component")("ngStyle",i.style),G(1),R("ngIf",i.headerFacet||i.headerTemplate),G(2),R("ngIf",i.header||i.titleTemplate),G(1),R("ngIf",i.subheader||i.subtitleTemplate),G(3),R("ngTemplateOutlet",i.contentTemplate),G(1),R("ngIf",i.footerFacet||i.footerTemplate))},dependencies:[to,Mi,Yo,or],styles:[".p-card-header img{width:100%}\n"],encapsulation:2,changeDetection:0}),e})(),Awe=(()=>{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=en({type:e}),e.\u0275inj=b({imports:[jn,ti]}),e})();function no(e){return"function"==typeof e}function DW(e){const t=e(i=>{Error.call(i),i.stack=(new Error).stack});return t.prototype=Object.create(Error.prototype),t.prototype.constructor=t,t}const I6=DW(e=>function(t){e(this),this.message=t?`${t.length} errors occurred during unsubscription:\n${t.map((i,r)=>`${r+1}) ${i.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=t});function pS(e,n){if(e){const t=e.indexOf(n);0<=t&&e.splice(t,1)}}class Su{constructor(n){this.initialTeardown=n,this.closed=!1,this._parentage=null,this._finalizers=null}unsubscribe(){let n;if(!this.closed){this.closed=!0;const{_parentage:t}=this;if(t)if(this._parentage=null,Array.isArray(t))for(const o of t)o.remove(this);else t.remove(this);const{initialTeardown:i}=this;if(no(i))try{i()}catch(o){n=o instanceof I6?o.errors:[o]}const{_finalizers:r}=this;if(r){this._finalizers=null;for(const o of r)try{RW(o)}catch(a){n=n??[],a instanceof I6?n=[...n,...a.errors]:n.push(a)}}if(n)throw new I6(n)}}add(n){var t;if(n&&n!==this)if(this.closed)RW(n);else{if(n instanceof Su){if(n.closed||n._hasParent(this))return;n._addParent(this)}(this._finalizers=null!==(t=this._finalizers)&&void 0!==t?t:[]).push(n)}}_hasParent(n){const{_parentage:t}=this;return t===n||Array.isArray(t)&&t.includes(n)}_addParent(n){const{_parentage:t}=this;this._parentage=Array.isArray(t)?(t.push(n),t):t?[t,n]:n}_removeParent(n){const{_parentage:t}=this;t===n?this._parentage=null:Array.isArray(t)&&pS(t,n)}remove(n){const{_finalizers:t}=this;t&&pS(t,n),n instanceof Su&&n._removeParent(this)}}Su.EMPTY=(()=>{const e=new Su;return e.closed=!0,e})();const EW=Su.EMPTY;function IW(e){return e instanceof Su||e&&"closed"in e&&no(e.remove)&&no(e.add)&&no(e.unsubscribe)}function RW(e){no(e)?e():e.unsubscribe()}const _g={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},fS={setTimeout(e,n,...t){const{delegate:i}=fS;return i?.setTimeout?i.setTimeout(e,n,...t):setTimeout(e,n,...t)},clearTimeout(e){const{delegate:n}=fS;return(n?.clearTimeout||clearTimeout)(e)},delegate:void 0};function LW(e){fS.setTimeout(()=>{const{onUnhandledError:n}=_g;if(!n)throw e;n(e)})}function MW(){}const Swe=R6("C",void 0,void 0);function R6(e,n,t){return{kind:e,value:n,error:t}}let vg=null;function hS(e){if(_g.useDeprecatedSynchronousErrorHandling){const n=!vg;if(n&&(vg={errorThrown:!1,error:null}),e(),n){const{errorThrown:t,error:i}=vg;if(vg=null,t)throw i}}else e()}class L6 extends Su{constructor(n){super(),this.isStopped=!1,n?(this.destination=n,IW(n)&&n.add(this)):this.destination=Rwe}static create(n,t,i){return new k6(n,t,i)}next(n){this.isStopped?P6(function xwe(e){return R6("N",e,void 0)}(n),this):this._next(n)}error(n){this.isStopped?P6(function wwe(e){return R6("E",void 0,e)}(n),this):(this.isStopped=!0,this._error(n))}complete(){this.isStopped?P6(Swe,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(n){this.destination.next(n)}_error(n){try{this.destination.error(n)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}}const Dwe=Function.prototype.bind;function M6(e,n){return Dwe.call(e,n)}class Ewe{constructor(n){this.partialObserver=n}next(n){const{partialObserver:t}=this;if(t.next)try{t.next(n)}catch(i){gS(i)}}error(n){const{partialObserver:t}=this;if(t.error)try{t.error(n)}catch(i){gS(i)}else gS(n)}complete(){const{partialObserver:n}=this;if(n.complete)try{n.complete()}catch(t){gS(t)}}}class k6 extends L6{constructor(n,t,i){let r;if(super(),no(n)||!n)r={next:n??void 0,error:t??void 0,complete:i??void 0};else{let o;this&&_g.useDeprecatedNextContext?(o=Object.create(n),o.unsubscribe=()=>this.unsubscribe(),r={next:n.next&&M6(n.next,o),error:n.error&&M6(n.error,o),complete:n.complete&&M6(n.complete,o)}):r=n}this.destination=new Ewe(r)}}function gS(e){_g.useDeprecatedSynchronousErrorHandling?function Fwe(e){_g.useDeprecatedSynchronousErrorHandling&&vg&&(vg.errorThrown=!0,vg.error=e)}(e):LW(e)}function P6(e,n){const{onStoppedNotification:t}=_g;t&&fS.setTimeout(()=>t(e,n))}const Rwe={closed:!0,next:MW,error:function Iwe(e){throw e},complete:MW},N6="function"==typeof Symbol&&Symbol.observable||"@@observable";function O6(e){return e}let zd=(()=>{class e{constructor(t){t&&(this._subscribe=t)}lift(t){const i=new e;return i.source=this,i.operator=t,i}subscribe(t,i,r){const o=function Mwe(e){return e&&e instanceof L6||function Lwe(e){return e&&no(e.next)&&no(e.error)&&no(e.complete)}(e)&&IW(e)}(t)?t:new k6(t,i,r);return hS(()=>{const{operator:a,source:s}=this;o.add(a?a.call(o,s):s?this._subscribe(o):this._trySubscribe(o))}),o}_trySubscribe(t){try{return this._subscribe(t)}catch(i){t.error(i)}}forEach(t,i){return new(i=PW(i))((r,o)=>{const a=new k6({next:s=>{try{t(s)}catch(l){o(l),a.unsubscribe()}},error:o,complete:r});this.subscribe(a)})}_subscribe(t){var i;return null===(i=this.source)||void 0===i?void 0:i.subscribe(t)}[N6](){return this}pipe(...t){return function kW(e){return 0===e.length?O6:1===e.length?e[0]:function(t){return e.reduce((i,r)=>r(i),t)}}(t)(this)}toPromise(t){return new(t=PW(t))((i,r)=>{let o;this.subscribe(a=>o=a,a=>r(a),()=>i(o))})}}return e.create=n=>new e(n),e})();function PW(e){var n;return null!==(n=e??_g.Promise)&&void 0!==n?n:Promise}const kwe=DW(e=>function(){e(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});let fT=(()=>{class e extends zd{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(t){const i=new NW(this,this);return i.operator=t,i}_throwIfClosed(){if(this.closed)throw new kwe}next(t){hS(()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(const i of this.currentObservers)i.next(t)}})}error(t){hS(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=t;const{observers:i}=this;for(;i.length;)i.shift().error(t)}})}complete(){hS(()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;const{observers:t}=this;for(;t.length;)t.shift().complete()}})}unsubscribe(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null}get observed(){var t;return(null===(t=this.observers)||void 0===t?void 0:t.length)>0}_trySubscribe(t){return this._throwIfClosed(),super._trySubscribe(t)}_subscribe(t){return this._throwIfClosed(),this._checkFinalizedStatuses(t),this._innerSubscribe(t)}_innerSubscribe(t){const{hasError:i,isStopped:r,observers:o}=this;return i||r?EW:(this.currentObservers=null,o.push(t),new Su(()=>{this.currentObservers=null,pS(o,t)}))}_checkFinalizedStatuses(t){const{hasError:i,thrownError:r,isStopped:o}=this;i?t.error(r):o&&t.complete()}asObservable(){const t=new zd;return t.source=this,t}}return e.create=(n,t)=>new NW(n,t),e})();class NW extends fT{constructor(n,t){super(),this.destination=n,this.source=t}next(n){var t,i;null===(i=null===(t=this.destination)||void 0===t?void 0:t.next)||void 0===i||i.call(t,n)}error(n){var t,i;null===(i=null===(t=this.destination)||void 0===t?void 0:t.error)||void 0===i||i.call(t,n)}complete(){var n,t;null===(t=null===(n=this.destination)||void 0===n?void 0:n.complete)||void 0===t||t.call(n)}_subscribe(n){var t,i;return null!==(i=null===(t=this.source)||void 0===t?void 0:t.subscribe(n))&&void 0!==i?i:EW}}class Pwe extends Su{constructor(n,t){super()}schedule(n,t=0){return this}}const mS={setInterval(e,n,...t){const{delegate:i}=mS;return i?.setInterval?i.setInterval(e,n,...t):setInterval(e,n,...t)},clearInterval(e){const{delegate:n}=mS;return(n?.clearInterval||clearInterval)(e)},delegate:void 0},OW={now:()=>(OW.delegate||Date).now(),delegate:void 0};class hT{constructor(n,t=hT.now){this.schedulerActionCtor=n,this.now=t}schedule(n,t=0,i){return new this.schedulerActionCtor(this,n).schedule(i,t)}}hT.now=OW.now;const HW=new class Owe extends hT{constructor(n,t=hT.now){super(n,t),this.actions=[],this._active=!1}flush(n){const{actions:t}=this;if(this._active)return void t.push(n);let i;this._active=!0;do{if(i=n.execute(n.state,n.delay))break}while(n=t.shift());if(this._active=!1,i){for(;n=t.shift();)n.unsubscribe();throw i}}}(class Nwe extends Pwe{constructor(n,t){super(n,t),this.scheduler=n,this.work=t,this.pending=!1}schedule(n,t=0){var i;if(this.closed)return this;this.state=n;const r=this.id,o=this.scheduler;return null!=r&&(this.id=this.recycleAsyncId(o,r,t)),this.pending=!0,this.delay=t,this.id=null!==(i=this.id)&&void 0!==i?i:this.requestAsyncId(o,this.id,t),this}requestAsyncId(n,t,i=0){return mS.setInterval(n.flush.bind(n,this),i)}recycleAsyncId(n,t,i=0){if(null!=i&&this.delay===i&&!1===this.pending)return t;null!=t&&mS.clearInterval(t)}execute(n,t){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const i=this._execute(n,t);if(i)return i;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(n,t){let r,i=!1;try{this.work(n)}catch(o){i=!0,r=o||new Error("Scheduled action threw falsy error")}if(i)return this.unsubscribe(),r}unsubscribe(){if(!this.closed){const{id:n,scheduler:t}=this,{actions:i}=t;this.work=this.state=this.scheduler=null,this.pending=!1,pS(i,this),null!=n&&(this.id=this.recycleAsyncId(t,n,null)),this.delay=null,super.unsubscribe()}}}),Hwe=HW;function yS(e){return n=>{if(function Gwe(e){return no(e?.lift)}(n))return n.lift(function(t){try{return e(t,this)}catch(i){this.error(i)}});throw new TypeError("Unable to lift unknown Observable type")}}function gT(e,n,t,i,r){return new Bwe(e,n,t,i,r)}class Bwe extends L6{constructor(n,t,i,r,o,a){super(n),this.onFinalize=o,this.shouldUnsubscribe=a,this._next=t?function(s){try{t(s)}catch(l){n.error(l)}}:super._next,this._error=r?function(s){try{r(s)}catch(l){n.error(l)}finally{this.unsubscribe()}}:super._error,this._complete=i?function(){try{i()}catch(s){n.error(s)}finally{this.unsubscribe()}}:super._complete}unsubscribe(){var n;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){const{closed:t}=this;super.unsubscribe(),!t&&(null===(n=this.onFinalize)||void 0===n||n.call(this))}}}const Ywe=e=>e&&"number"==typeof e.length&&"function"!=typeof e,Wwe=function jwe(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}();function GW(e){return new zd(n=>{(function ixe(e,n){var t,i,r,o;return s0(this,void 0,void 0,function*(){try{for(t=u0(e);!(i=yield t.next()).done;)if(n.next(i.value),n.closed)return}catch(a){r={error:a}}finally{try{i&&!i.done&&(o=t.return)&&(yield o.call(t))}finally{if(r)throw r.error}}n.complete()})})(e,n).catch(t=>n.error(t))})}const BW={leading:!0,trailing:!1};function YW(e,n=HW,t=BW){const i=function sxe(e=0,n,t=Hwe){let i=-1;return null!=n&&(function oxe(e){return e&&no(e.schedule)}(n)?t=n:i=n),new zd(r=>{let o=function axe(e){return e instanceof Date&&!isNaN(e)}(e)?+e-t.now():e;o<0&&(o=0);let a=0;return t.schedule(function(){r.closed||(r.next(a++),0<=i?this.schedule(void 0,i):r.complete())},o)})}(e,n);return function rxe(e,n=BW){return yS((t,i)=>{const{leading:r,trailing:o}=n;let a=!1,s=null,l=null,c=!1;const u=()=>{l?.unsubscribe(),l=null,o&&(f(),c&&i.complete())},d=()=>{l=null,c&&i.complete()},p=h=>l=function Xwe(e){if(e instanceof zd)return e;if(null!=e){if(function zwe(e){return no(e[N6])}(e))return function Qwe(e){return new zd(n=>{const t=e[N6]();if(no(t.subscribe))return t.subscribe(n);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}(e);if(Ywe(e))return function Jwe(e){return new zd(n=>{for(let t=0;t{e.then(t=>{n.closed||(n.next(t),n.complete())},t=>n.error(t)).then(null,LW)})}(e);if(function $we(e){return Symbol.asyncIterator&&no(e?.[Symbol.asyncIterator])}(e))return GW(e);if(function qwe(e){return no(e?.[Wwe])}(e))return function txe(e){return new zd(n=>{for(const t of e)if(n.next(t),n.closed)return;n.complete()})}(e);if(function Zwe(e){return no(e?.getReader)}(e))return function nxe(e){return GW(function Kwe(e){return ji(this,arguments,function*(){const t=e.getReader();try{for(;;){const{value:i,done:r}=yield mi(t.read());if(r)return yield mi(void 0);yield yield mi(i)}}finally{t.releaseLock()}})}(e))}(e)}throw function Uwe(e){return new TypeError(`You provided ${null!==e&&"object"==typeof e?"an invalid object":`'${e}'`} where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`)}(e)}(e(h)).subscribe(gT(i,u,d)),f=()=>{if(a){a=!1;const h=s;s=null,i.next(h),!c&&p(h)}};t.subscribe(gT(i,h=>{a=!0,s=h,(!l||l.closed)&&(r?f():p(h))},()=>{c=!0,(!(o&&a&&l)||l.closed)&&i.complete()}))})}(()=>i,t)}function VW(e,n,t){const i=no(e)||n||t?{next:e,error:n,complete:t}:e;return i?yS((r,o)=>{var a;null===(a=i.subscribe)||void 0===a||a.call(i);let s=!0;r.subscribe(gT(o,l=>{var c;null===(c=i.next)||void 0===c||c.call(i,l),o.next(l)},()=>{var l;s=!1,null===(l=i.complete)||void 0===l||l.call(i),o.complete()},l=>{var c;s=!1,null===(c=i.error)||void 0===c||c.call(i,l),o.error(l)},()=>{var l,c;s&&(null===(l=i.unsubscribe)||void 0===l||l.call(i)),null===(c=i.finalize)||void 0===c||c.call(i)}))}):O6}function zW(e,n=O6){return e=e??lxe,yS((t,i)=>{let r,o=!0;t.subscribe(gT(i,a=>{const s=n(a);(o||!e(r,s))&&(o=!1,r=s,i.next(a))}))})}function lxe(e,n){return e===n}var Hs=typeof window<"u"?window:{screen:{},navigator:{}},xy=(Hs.matchMedia||function(){return{matches:!1}}).bind(Hs),$W=!1,UW=function(){};Hs.addEventListener&&Hs.addEventListener("p",UW,{get passive(){return $W=!0}}),Hs.removeEventListener&&Hs.removeEventListener("p",UW,!1);var jW=$W,H6="ontouchstart"in Hs,qW=(H6||"TouchEvent"in Hs&&xy("(any-pointer: coarse)"),Hs.navigator.userAgent||"");xy("(pointer: coarse)").matches&&/iPad|Macintosh/.test(qW)&&Math.min(Hs.screen.width||0,Hs.screen.height||0);function gxe(e,n){}function mxe(e,n){1&e&&N(0,gxe,0,0,"ng-template")}(xy("(pointer: coarse)").matches||!xy("(pointer: fine)").matches&&H6)&&/Windows.*Firefox/.test(qW),xy("(any-pointer: fine)").matches||xy("(any-hover: hover)");const yxe=function(e,n,t){return{tooltip:e,placement:n,content:t}};function _xe(e,n){if(1&e&&(dt(0),N(1,mxe,1,0,null,1),pt()),2&e){const t=E();G(1),R("ngTemplateOutlet",t.template)("ngTemplateOutletContext",ba(2,yxe,t.tooltip,t.placement,t.content))}}function vxe(e,n){if(1&e&&(dt(0),V(1,"div",2),Ie(2),j(),pt()),2&e){const t=E();G(1),tt("title",t.tooltip)("data-tooltip-placement",t.placement),G(1),gr(" ",t.content," ")}}const Txe=["tooltipTemplate"],Cxe=["leftOuterSelectionBar"],bxe=["rightOuterSelectionBar"],Axe=["fullBar"],Sxe=["selectionBar"],wxe=["minHandle"],xxe=["maxHandle"],Fxe=["floorLabel"],Dxe=["ceilLabel"],Exe=["minHandleLabel"],Ixe=["maxHandleLabel"],Rxe=["combinedLabel"],Lxe=["ticksElement"];function Mxe(e,n){if(1&e&&Te(0,"ngx-slider-tooltip-wrapper",32),2&e){const t=E().$implicit;R("template",E().tooltipTemplate)("tooltip",t.valueTooltip)("placement",t.valueTooltipPlacement)("content",t.value)}}function kxe(e,n){1&e&&Te(0,"span",33),2&e&&R("innerText",E().$implicit.legend)}function Pxe(e,n){1&e&&Te(0,"span",34),2&e&&R("innerHTML",E().$implicit.legend,AB)}const Nxe=function(e){return{"ngx-slider-selected":e}};function Oxe(e,n){if(1&e&&(V(0,"span",27),Te(1,"ngx-slider-tooltip-wrapper",28),N(2,Mxe,1,4,"ngx-slider-tooltip-wrapper",29),N(3,kxe,1,1,"span",30),N(4,Pxe,1,1,"span",31),j()),2&e){const t=n.$implicit,i=E();R("ngClass",yt(8,Nxe,t.selected))("ngStyle",t.style),G(1),R("template",i.tooltipTemplate)("tooltip",t.tooltip)("placement",t.tooltipPlacement),G(1),R("ngIf",null!=t.value),G(1),R("ngIf",null!=t.legend&&!1===i.allowUnsafeHtmlInSlider),G(1),R("ngIf",null!=t.legend&&(null==i.allowUnsafeHtmlInSlider||i.allowUnsafeHtmlInSlider))}}var os=(()=>{return(e=os||(os={}))[e.Low=0]="Low",e[e.High=1]="High",e[e.Floor=2]="Floor",e[e.Ceil=3]="Ceil",e[e.TickValue=4]="TickValue",os;var e})();class _S{constructor(){this.floor=0,this.ceil=null,this.step=1,this.minRange=null,this.maxRange=null,this.pushRange=!1,this.minLimit=null,this.maxLimit=null,this.translate=null,this.combineLabels=null,this.getLegend=null,this.getStepLegend=null,this.stepsArray=null,this.bindIndexForStepsArray=!1,this.draggableRange=!1,this.draggableRangeOnly=!1,this.showSelectionBar=!1,this.showSelectionBarEnd=!1,this.showSelectionBarFromValue=null,this.showOuterSelectionBars=!1,this.hidePointerLabels=!1,this.hideLimitLabels=!1,this.autoHideLimitLabels=!0,this.readOnly=!1,this.disabled=!1,this.showTicks=!1,this.showTicksValues=!1,this.tickStep=null,this.tickValueStep=null,this.ticksArray=null,this.ticksTooltip=null,this.ticksValuesTooltip=null,this.vertical=!1,this.getSelectionBarColor=null,this.getTickColor=null,this.getPointerColor=null,this.keyboardSupport=!0,this.scale=1,this.rotate=0,this.enforceStep=!0,this.enforceRange=!0,this.enforceStepsArray=!0,this.noSwitching=!1,this.onlyBindHandles=!1,this.rightToLeft=!1,this.reversedControls=!1,this.boundPointerLabels=!0,this.logScale=!1,this.customValueToPosition=null,this.customPositionToValue=null,this.precisionLimit=12,this.selectionBarGradient=null,this.ariaLabel="ngx-slider",this.ariaLabelledBy=null,this.ariaLabelHigh="ngx-slider-max",this.ariaLabelledByHigh=null,this.handleDimension=null,this.barDimension=null,this.animate=!0,this.animateOnMove=!1}}const XW=new bt("AllowUnsafeHtmlInSlider");var ft=(()=>{return(e=ft||(ft={}))[e.Min=0]="Min",e[e.Max=1]="Max",ft;var e})();class Hxe{}class Ne{static isNullOrUndefined(n){return null==n}static areArraysEqual(n,t){if(n.length!==t.length)return!1;for(let i=0;iMath.abs(n-o.value));let r=0;for(let o=0;o{o.events.next(s)};return n.addEventListener(t,a,{passive:!0,capture:!1}),o.teardownCallback=()=>{n.removeEventListener(t,a,{passive:!0,capture:!1})},o.eventsSubscription=o.events.pipe(Ne.isNullOrUndefined(r)?VW(()=>{}):YW(r,void 0,{leading:!0,trailing:!0})).subscribe(s=>{i(s)}),o}detachEventListener(n){Ne.isNullOrUndefined(n.eventsSubscription)||(n.eventsSubscription.unsubscribe(),n.eventsSubscription=null),Ne.isNullOrUndefined(n.events)||(n.events.complete(),n.events=null),Ne.isNullOrUndefined(n.teardownCallback)||(n.teardownCallback(),n.teardownCallback=null)}attachEventListener(n,t,i,r){const o=new QW;return o.eventName=t,o.events=new fT,o.teardownCallback=this.renderer.listen(n,t,s=>{o.events.next(s)}),o.eventsSubscription=o.events.pipe(Ne.isNullOrUndefined(r)?VW(()=>{}):YW(r,void 0,{leading:!0,trailing:!0})).subscribe(s=>{i(s)}),o}}let gf=(()=>{class e{constructor(t,i,r){this.elemRef=t,this.renderer=i,this.changeDetectionRef=r,this._position=0,this._dimension=0,this._alwaysHide=!1,this._vertical=!1,this._scale=1,this._rotate=0,this.opacity=1,this.visibility="visible",this.left="",this.bottom="",this.height="",this.width="",this.transform="",this.eventListeners=[],this.eventListenerHelper=new JW(this.renderer)}get position(){return this._position}get dimension(){return this._dimension}get alwaysHide(){return this._alwaysHide}get vertical(){return this._vertical}get scale(){return this._scale}get rotate(){return this._rotate}setAlwaysHide(t){this._alwaysHide=t,this.visibility=t?"hidden":"visible"}hide(){this.opacity=0}show(){this.alwaysHide||(this.opacity=1)}isVisible(){return!this.alwaysHide&&0!==this.opacity}setVertical(t){this._vertical=t,this._vertical?(this.left="",this.width=""):(this.bottom="",this.height="")}setScale(t){this._scale=t}setRotate(t){this._rotate=t,this.transform="rotate("+t+"deg)"}getRotate(){return this._rotate}setPosition(t){this._position!==t&&!this.isRefDestroyed()&&this.changeDetectionRef.markForCheck(),this._position=t,this._vertical?this.bottom=Math.round(t)+"px":this.left=Math.round(t)+"px"}calculateDimension(){const t=this.getBoundingClientRect();this._dimension=this.vertical?(t.bottom-t.top)*this.scale:(t.right-t.left)*this.scale}setDimension(t){this._dimension!==t&&!this.isRefDestroyed()&&this.changeDetectionRef.markForCheck(),this._dimension=t,this._vertical?this.height=Math.round(t)+"px":this.width=Math.round(t)+"px"}getBoundingClientRect(){return this.elemRef.nativeElement.getBoundingClientRect()}on(t,i,r){const o=this.eventListenerHelper.attachEventListener(this.elemRef.nativeElement,t,i,r);this.eventListeners.push(o)}onPassive(t,i,r){const o=this.eventListenerHelper.attachPassiveEventListener(this.elemRef.nativeElement,t,i,r);this.eventListeners.push(o)}off(t){let i,r;Ne.isNullOrUndefined(t)?(i=[],r=this.eventListeners):(i=this.eventListeners.filter(o=>o.eventName!==t),r=this.eventListeners.filter(o=>o.eventName===t));for(const o of r)this.eventListenerHelper.detachEventListener(o);this.eventListeners=i}isRefDestroyed(){return Ne.isNullOrUndefined(this.changeDetectionRef)||this.changeDetectionRef.destroyed}}return e.\u0275fac=function(t){return new(t||e)(ie(En),ie(Si),ie(wi))},e.\u0275dir=Ft({type:e,selectors:[["","ngxSliderElement",""]],hostVars:14,hostBindings:function(t,i){2&t&&lc("opacity",i.opacity)("visibility",i.visibility)("left",i.left)("bottom",i.bottom)("height",i.height)("width",i.width)("transform",i.transform)}}),e})(),G6=(()=>{class e extends gf{constructor(t,i,r){super(t,i,r),this.active=!1,this.role="",this.tabindex="",this.ariaOrientation="",this.ariaLabel="",this.ariaLabelledBy="",this.ariaValueNow="",this.ariaValueText="",this.ariaValueMin="",this.ariaValueMax=""}focus(){this.elemRef.nativeElement.focus()}focusIfNeeded(){document.activeElement!==this.elemRef.nativeElement&&this.elemRef.nativeElement.focus()}}return e.\u0275fac=function(t){return new(t||e)(ie(En),ie(Si),ie(wi))},e.\u0275dir=Ft({type:e,selectors:[["","ngxSliderHandle",""]],hostVars:11,hostBindings:function(t,i){2&t&&(tt("role",i.role)("tabindex",i.tabindex)("aria-orientation",i.ariaOrientation)("aria-label",i.ariaLabel)("aria-labelledby",i.ariaLabelledBy)("aria-valuenow",i.ariaValueNow)("aria-valuetext",i.ariaValueText)("aria-valuemin",i.ariaValueMin)("aria-valuemax",i.ariaValueMax),Ta("ngx-slider-active",i.active))},features:[Dt]}),e})(),Fy=(()=>{class e extends gf{constructor(t,i,r,o){super(t,i,r),this.allowUnsafeHtmlInSlider=o,this._value=null}get value(){return this._value}setValue(t){let i=!1;!this.alwaysHide&&(Ne.isNullOrUndefined(this.value)||this.value.length!==t.length||this.value.length>0&&0===this.dimension)&&(i=!0),this._value=t,!1===this.allowUnsafeHtmlInSlider?this.elemRef.nativeElement.innerText=t:this.elemRef.nativeElement.innerHTML=t,i&&this.calculateDimension()}}return e.\u0275fac=function(t){return new(t||e)(ie(En),ie(Si),ie(wi),ie(XW,8))},e.\u0275dir=Ft({type:e,selectors:[["","ngxSliderLabel",""]],features:[Dt]}),e})(),Gxe=(()=>{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=mt({type:e,selectors:[["ngx-slider-tooltip-wrapper"]],inputs:{template:"template",tooltip:"tooltip",placement:"placement",content:"content"},decls:2,vars:2,consts:[[4,"ngIf"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"ngx-slider-inner-tooltip"]],template:function(t,i){1&t&&(N(0,_xe,2,6,"ng-container",0),N(1,vxe,3,3,"ng-container",0)),2&t&&(R("ngIf",i.template),G(1),R("ngIf",!i.template))},dependencies:[Mi,Yo],styles:[".ngx-slider-inner-tooltip[_ngcontent-%COMP%]{height:100%}"]}),e})();class Bxe{constructor(){this.selected=!1,this.style={},this.tooltip=null,this.tooltipPlacement=null,this.value=null,this.valueTooltip=null,this.valueTooltipPlacement=null,this.legend=null}}class eq{constructor(){this.active=!1,this.value=0,this.difference=0,this.position=0,this.lowLimit=0,this.highLimit=0}}class vS{static compare(n,t){return!(Ne.isNullOrUndefined(n)&&Ne.isNullOrUndefined(t)||Ne.isNullOrUndefined(n)!==Ne.isNullOrUndefined(t))&&n.value===t.value&&n.highValue===t.highValue}}class tq extends vS{static compare(n,t){return!(Ne.isNullOrUndefined(n)&&Ne.isNullOrUndefined(t)||Ne.isNullOrUndefined(n)!==Ne.isNullOrUndefined(t))&&n.value===t.value&&n.highValue===t.highValue&&n.forceChange===t.forceChange}}const Yxe={provide:sr,useExisting:pn(()=>Tg),multi:!0};let Tg=(()=>{class e{constructor(t,i,r,o,a){this.renderer=t,this.elementRef=i,this.changeDetectionRef=r,this.zone=o,this.allowUnsafeHtmlInSlider=a,this.sliderElementNgxSliderClass=!0,this.value=null,this.valueChange=new Pe,this.highValue=null,this.highValueChange=new Pe,this.options=new _S,this.userChangeStart=new Pe,this.userChange=new Pe,this.userChangeEnd=new Pe,this.initHasRun=!1,this.inputModelChangeSubject=new fT,this.inputModelChangeSubscription=null,this.outputModelChangeSubject=new fT,this.outputModelChangeSubscription=null,this.viewLowValue=null,this.viewHighValue=null,this.viewOptions=new _S,this.handleHalfDimension=0,this.maxHandlePosition=0,this.currentTrackingPointer=null,this.currentFocusPointer=null,this.firstKeyDown=!1,this.touchId=null,this.dragging=new eq,this.sliderElementVerticalClass=!1,this.sliderElementAnimateClass=!1,this.sliderElementWithLegendClass=!1,this.sliderElementDisabledAttr=null,this.sliderElementAriaLabel="ngx-slider",this.barStyle={},this.minPointerStyle={},this.maxPointerStyle={},this.fullBarTransparentClass=!1,this.selectionBarDraggableClass=!1,this.ticksUnderValuesClass=!1,this.intermediateTicks=!1,this.ticks=[],this.eventListenerHelper=null,this.onMoveEventListener=null,this.onEndEventListener=null,this.moving=!1,this.resizeObserver=null,this.onTouchedCallback=null,this.onChangeCallback=null,this.eventListenerHelper=new JW(this.renderer)}set manualRefresh(t){this.unsubscribeManualRefresh(),this.manualRefreshSubscription=t.subscribe(()=>{setTimeout(()=>this.calculateViewDimensionsAndDetectChanges())})}set triggerFocus(t){this.unsubscribeTriggerFocus(),this.triggerFocusSubscription=t.subscribe(i=>{this.focusPointer(i)})}get range(){return!Ne.isNullOrUndefined(this.value)&&!Ne.isNullOrUndefined(this.highValue)}get showTicks(){return this.viewOptions.showTicks}ngOnInit(){this.viewOptions=new _S,Object.assign(this.viewOptions,this.options),this.updateDisabledState(),this.updateVerticalState(),this.updateAriaLabel()}ngAfterViewInit(){this.applyOptions(),this.subscribeInputModelChangeSubject(),this.subscribeOutputModelChangeSubject(),this.renormaliseModelValues(),this.viewLowValue=this.modelValueToViewValue(this.value),this.viewHighValue=this.range?this.modelValueToViewValue(this.highValue):null,this.updateVerticalState(),this.manageElementsStyle(),this.updateDisabledState(),this.calculateViewDimensions(),this.addAccessibility(),this.updateCeilLabel(),this.updateFloorLabel(),this.initHandles(),this.manageEventsBindings(),this.updateAriaLabel(),this.subscribeResizeObserver(),this.initHasRun=!0,this.isRefDestroyed()||this.changeDetectionRef.detectChanges()}ngOnChanges(t){!Ne.isNullOrUndefined(t.options)&&JSON.stringify(t.options.previousValue)!==JSON.stringify(t.options.currentValue)&&this.onChangeOptions(),(!Ne.isNullOrUndefined(t.value)||!Ne.isNullOrUndefined(t.highValue))&&this.inputModelChangeSubject.next({value:this.value,highValue:this.highValue,forceChange:!1,internalChange:!1})}ngOnDestroy(){this.unbindEvents(),this.unsubscribeResizeObserver(),this.unsubscribeInputModelChangeSubject(),this.unsubscribeOutputModelChangeSubject(),this.unsubscribeManualRefresh(),this.unsubscribeTriggerFocus()}writeValue(t){t instanceof Array?(this.value=t[0],this.highValue=t[1]):this.value=t,this.inputModelChangeSubject.next({value:this.value,highValue:this.highValue,forceChange:!1,internalChange:!1})}registerOnChange(t){this.onChangeCallback=t}registerOnTouched(t){this.onTouchedCallback=t}setDisabledState(t){this.viewOptions.disabled=t,this.updateDisabledState()}setAriaLabel(t){this.viewOptions.ariaLabel=t,this.updateAriaLabel()}onResize(t){this.calculateViewDimensionsAndDetectChanges()}subscribeInputModelChangeSubject(){this.inputModelChangeSubscription=this.inputModelChangeSubject.pipe(zW(tq.compare),function cxe(e,n){return yS((t,i)=>{let r=0;t.subscribe(gT(i,o=>e.call(n,o,r++)&&i.next(o)))})}(t=>!t.forceChange&&!t.internalChange)).subscribe(t=>this.applyInputModelChange(t))}subscribeOutputModelChangeSubject(){this.outputModelChangeSubscription=this.outputModelChangeSubject.pipe(zW(tq.compare)).subscribe(t=>this.publishOutputModelChange(t))}subscribeResizeObserver(){hf.isResizeObserverAvailable()&&(this.resizeObserver=new ResizeObserver(()=>this.calculateViewDimensionsAndDetectChanges()),this.resizeObserver.observe(this.elementRef.nativeElement))}unsubscribeResizeObserver(){hf.isResizeObserverAvailable()&&null!==this.resizeObserver&&(this.resizeObserver.disconnect(),this.resizeObserver=null)}unsubscribeOnMove(){Ne.isNullOrUndefined(this.onMoveEventListener)||(this.eventListenerHelper.detachEventListener(this.onMoveEventListener),this.onMoveEventListener=null)}unsubscribeOnEnd(){Ne.isNullOrUndefined(this.onEndEventListener)||(this.eventListenerHelper.detachEventListener(this.onEndEventListener),this.onEndEventListener=null)}unsubscribeInputModelChangeSubject(){Ne.isNullOrUndefined(this.inputModelChangeSubscription)||(this.inputModelChangeSubscription.unsubscribe(),this.inputModelChangeSubscription=null)}unsubscribeOutputModelChangeSubject(){Ne.isNullOrUndefined(this.outputModelChangeSubscription)||(this.outputModelChangeSubscription.unsubscribe(),this.outputModelChangeSubscription=null)}unsubscribeManualRefresh(){Ne.isNullOrUndefined(this.manualRefreshSubscription)||(this.manualRefreshSubscription.unsubscribe(),this.manualRefreshSubscription=null)}unsubscribeTriggerFocus(){Ne.isNullOrUndefined(this.triggerFocusSubscription)||(this.triggerFocusSubscription.unsubscribe(),this.triggerFocusSubscription=null)}getPointerElement(t){return t===ft.Min?this.minHandleElement:t===ft.Max?this.maxHandleElement:null}getCurrentTrackingValue(){return this.currentTrackingPointer===ft.Min?this.viewLowValue:this.currentTrackingPointer===ft.Max?this.viewHighValue:null}modelValueToViewValue(t){return Ne.isNullOrUndefined(t)?NaN:Ne.isNullOrUndefined(this.viewOptions.stepsArray)||this.viewOptions.bindIndexForStepsArray?+t:Ne.findStepIndex(+t,this.viewOptions.stepsArray)}viewValueToModelValue(t){return Ne.isNullOrUndefined(this.viewOptions.stepsArray)||this.viewOptions.bindIndexForStepsArray?t:this.getStepValue(t)}getStepValue(t){const i=this.viewOptions.stepsArray[t];return Ne.isNullOrUndefined(i)?NaN:i.value}applyViewChange(){this.value=this.viewValueToModelValue(this.viewLowValue),this.range&&(this.highValue=this.viewValueToModelValue(this.viewHighValue)),this.outputModelChangeSubject.next({value:this.value,highValue:this.highValue,userEventInitiated:!0,forceChange:!1}),this.inputModelChangeSubject.next({value:this.value,highValue:this.highValue,forceChange:!1,internalChange:!0})}applyInputModelChange(t){const i=this.normaliseModelValues(t),r=!vS.compare(t,i);r&&(this.value=i.value,this.highValue=i.highValue),this.viewLowValue=this.modelValueToViewValue(i.value),this.viewHighValue=this.range?this.modelValueToViewValue(i.highValue):null,this.updateLowHandle(this.valueToPosition(this.viewLowValue)),this.range&&this.updateHighHandle(this.valueToPosition(this.viewHighValue)),this.updateSelectionBar(),this.updateTicksScale(),this.updateAriaAttributes(),this.range&&this.updateCombinedLabel(),this.outputModelChangeSubject.next({value:i.value,highValue:i.highValue,forceChange:r,userEventInitiated:!1})}publishOutputModelChange(t){const i=()=>{this.valueChange.emit(t.value),this.range&&this.highValueChange.emit(t.highValue),Ne.isNullOrUndefined(this.onChangeCallback)||this.onChangeCallback(this.range?[t.value,t.highValue]:t.value),Ne.isNullOrUndefined(this.onTouchedCallback)||this.onTouchedCallback(this.range?[t.value,t.highValue]:t.value)};t.userEventInitiated?(i(),this.userChange.emit(this.getChangeContext())):setTimeout(()=>{i()})}normaliseModelValues(t){const i=new vS;if(i.value=t.value,i.highValue=t.highValue,!Ne.isNullOrUndefined(this.viewOptions.stepsArray)){if(this.viewOptions.enforceStepsArray){const r=Ne.findStepIndex(i.value,this.viewOptions.stepsArray);if(i.value=this.viewOptions.stepsArray[r].value,this.range){const o=Ne.findStepIndex(i.highValue,this.viewOptions.stepsArray);i.highValue=this.viewOptions.stepsArray[o].value}}return i}if(this.viewOptions.enforceStep&&(i.value=this.roundStep(i.value),this.range&&(i.highValue=this.roundStep(i.highValue))),this.viewOptions.enforceRange&&(i.value=_r.clampToRange(i.value,this.viewOptions.floor,this.viewOptions.ceil),this.range&&(i.highValue=_r.clampToRange(i.highValue,this.viewOptions.floor,this.viewOptions.ceil)),this.range&&t.value>t.highValue))if(this.viewOptions.noSwitching)i.value=i.highValue;else{const r=t.value;i.value=t.highValue,i.highValue=r}return i}renormaliseModelValues(){const t={value:this.value,highValue:this.highValue},i=this.normaliseModelValues(t);vS.compare(i,t)||(this.value=i.value,this.highValue=i.highValue,this.outputModelChangeSubject.next({value:this.value,highValue:this.highValue,forceChange:!0,userEventInitiated:!1}))}onChangeOptions(){if(!this.initHasRun)return;const t=this.getOptionsInfluencingEventBindings(this.viewOptions);this.applyOptions();const i=this.getOptionsInfluencingEventBindings(this.viewOptions),r=!Ne.areArraysEqual(t,i);this.renormaliseModelValues(),this.viewLowValue=this.modelValueToViewValue(this.value),this.viewHighValue=this.range?this.modelValueToViewValue(this.highValue):null,this.resetSlider(r)}applyOptions(){if(this.viewOptions=new _S,Object.assign(this.viewOptions,this.options),this.viewOptions.draggableRange=this.range&&this.viewOptions.draggableRange,this.viewOptions.draggableRangeOnly=this.range&&this.viewOptions.draggableRangeOnly,this.viewOptions.draggableRangeOnly&&(this.viewOptions.draggableRange=!0),this.viewOptions.showTicks=this.viewOptions.showTicks||this.viewOptions.showTicksValues||!Ne.isNullOrUndefined(this.viewOptions.ticksArray),this.viewOptions.showTicks&&(!Ne.isNullOrUndefined(this.viewOptions.tickStep)||!Ne.isNullOrUndefined(this.viewOptions.ticksArray))&&(this.intermediateTicks=!0),this.viewOptions.showSelectionBar=this.viewOptions.showSelectionBar||this.viewOptions.showSelectionBarEnd||!Ne.isNullOrUndefined(this.viewOptions.showSelectionBarFromValue),Ne.isNullOrUndefined(this.viewOptions.stepsArray)?this.applyFloorCeilOptions():this.applyStepsArrayOptions(),Ne.isNullOrUndefined(this.viewOptions.combineLabels)&&(this.viewOptions.combineLabels=(t,i)=>t+" - "+i),this.viewOptions.logScale&&0===this.viewOptions.floor)throw Error("Can't use floor=0 with logarithmic scale")}applyStepsArrayOptions(){this.viewOptions.floor=0,this.viewOptions.ceil=this.viewOptions.stepsArray.length-1,this.viewOptions.step=1,Ne.isNullOrUndefined(this.viewOptions.translate)&&(this.viewOptions.translate=t=>String(this.viewOptions.bindIndexForStepsArray?this.getStepValue(t):t))}applyFloorCeilOptions(){if(Ne.isNullOrUndefined(this.viewOptions.step)?this.viewOptions.step=1:(this.viewOptions.step=+this.viewOptions.step,this.viewOptions.step<=0&&(this.viewOptions.step=1)),Ne.isNullOrUndefined(this.viewOptions.ceil)||Ne.isNullOrUndefined(this.viewOptions.floor))throw Error("floor and ceil options must be supplied");this.viewOptions.ceil=+this.viewOptions.ceil,this.viewOptions.floor=+this.viewOptions.floor,Ne.isNullOrUndefined(this.viewOptions.translate)&&(this.viewOptions.translate=t=>String(t))}resetSlider(t=!0){this.manageElementsStyle(),this.addAccessibility(),this.updateCeilLabel(),this.updateFloorLabel(),t&&(this.unbindEvents(),this.manageEventsBindings()),this.updateDisabledState(),this.updateAriaLabel(),this.calculateViewDimensions(),this.refocusPointerIfNeeded()}focusPointer(t){t!==ft.Min&&t!==ft.Max&&(t=ft.Min),t===ft.Min?this.minHandleElement.focus():this.range&&t===ft.Max&&this.maxHandleElement.focus()}refocusPointerIfNeeded(){Ne.isNullOrUndefined(this.currentFocusPointer)||this.getPointerElement(this.currentFocusPointer).focusIfNeeded()}manageElementsStyle(){this.updateScale(),this.floorLabelElement.setAlwaysHide(this.viewOptions.showTicksValues||this.viewOptions.hideLimitLabels),this.ceilLabelElement.setAlwaysHide(this.viewOptions.showTicksValues||this.viewOptions.hideLimitLabels);const t=this.viewOptions.showTicksValues&&!this.intermediateTicks;this.minHandleLabelElement.setAlwaysHide(t||this.viewOptions.hidePointerLabels),this.maxHandleLabelElement.setAlwaysHide(t||!this.range||this.viewOptions.hidePointerLabels),this.combinedLabelElement.setAlwaysHide(t||!this.range||this.viewOptions.hidePointerLabels),this.selectionBarElement.setAlwaysHide(!this.range&&!this.viewOptions.showSelectionBar),this.leftOuterSelectionBarElement.setAlwaysHide(!this.range||!this.viewOptions.showOuterSelectionBars),this.rightOuterSelectionBarElement.setAlwaysHide(!this.range||!this.viewOptions.showOuterSelectionBars),this.fullBarTransparentClass=this.range&&this.viewOptions.showOuterSelectionBars,this.selectionBarDraggableClass=this.viewOptions.draggableRange&&!this.viewOptions.onlyBindHandles,this.ticksUnderValuesClass=this.intermediateTicks&&this.options.showTicksValues,this.sliderElementVerticalClass!==this.viewOptions.vertical&&(this.updateVerticalState(),setTimeout(()=>{this.resetSlider()})),this.sliderElementAnimateClass!==this.viewOptions.animate&&setTimeout(()=>{this.sliderElementAnimateClass=this.viewOptions.animate}),this.updateRotate()}manageEventsBindings(){this.viewOptions.disabled||this.viewOptions.readOnly?this.unbindEvents():this.bindEvents()}updateDisabledState(){this.sliderElementDisabledAttr=this.viewOptions.disabled?"disabled":null}updateAriaLabel(){this.sliderElementAriaLabel=this.viewOptions.ariaLabel||"nxg-slider"}updateVerticalState(){this.sliderElementVerticalClass=this.viewOptions.vertical;for(const t of this.getAllSliderElements())Ne.isNullOrUndefined(t)||t.setVertical(this.viewOptions.vertical)}updateScale(){for(const t of this.getAllSliderElements())t.setScale(this.viewOptions.scale)}updateRotate(){for(const t of this.getAllSliderElements())t.setRotate(this.viewOptions.rotate)}getAllSliderElements(){return[this.leftOuterSelectionBarElement,this.rightOuterSelectionBarElement,this.fullBarElement,this.selectionBarElement,this.minHandleElement,this.maxHandleElement,this.floorLabelElement,this.ceilLabelElement,this.minHandleLabelElement,this.maxHandleLabelElement,this.combinedLabelElement,this.ticksElement]}initHandles(){this.updateLowHandle(this.valueToPosition(this.viewLowValue)),this.range&&this.updateHighHandle(this.valueToPosition(this.viewHighValue)),this.updateSelectionBar(),this.range&&this.updateCombinedLabel(),this.updateTicksScale()}addAccessibility(){this.updateAriaAttributes(),this.minHandleElement.role="slider",this.minHandleElement.tabindex=!this.viewOptions.keyboardSupport||this.viewOptions.readOnly||this.viewOptions.disabled?"":"0",this.minHandleElement.ariaOrientation=this.viewOptions.vertical||0!==this.viewOptions.rotate?"vertical":"horizontal",Ne.isNullOrUndefined(this.viewOptions.ariaLabel)?Ne.isNullOrUndefined(this.viewOptions.ariaLabelledBy)||(this.minHandleElement.ariaLabelledBy=this.viewOptions.ariaLabelledBy):this.minHandleElement.ariaLabel=this.viewOptions.ariaLabel,this.range&&(this.maxHandleElement.role="slider",this.maxHandleElement.tabindex=!this.viewOptions.keyboardSupport||this.viewOptions.readOnly||this.viewOptions.disabled?"":"0",this.maxHandleElement.ariaOrientation=this.viewOptions.vertical||0!==this.viewOptions.rotate?"vertical":"horizontal",Ne.isNullOrUndefined(this.viewOptions.ariaLabelHigh)?Ne.isNullOrUndefined(this.viewOptions.ariaLabelledByHigh)||(this.maxHandleElement.ariaLabelledBy=this.viewOptions.ariaLabelledByHigh):this.maxHandleElement.ariaLabel=this.viewOptions.ariaLabelHigh)}updateAriaAttributes(){this.minHandleElement.ariaValueNow=(+this.value).toString(),this.minHandleElement.ariaValueText=this.viewOptions.translate(+this.value,os.Low),this.minHandleElement.ariaValueMin=this.viewOptions.floor.toString(),this.minHandleElement.ariaValueMax=this.viewOptions.ceil.toString(),this.range&&(this.maxHandleElement.ariaValueNow=(+this.highValue).toString(),this.maxHandleElement.ariaValueText=this.viewOptions.translate(+this.highValue,os.High),this.maxHandleElement.ariaValueMin=this.viewOptions.floor.toString(),this.maxHandleElement.ariaValueMax=this.viewOptions.ceil.toString())}calculateViewDimensions(){Ne.isNullOrUndefined(this.viewOptions.handleDimension)?this.minHandleElement.calculateDimension():this.minHandleElement.setDimension(this.viewOptions.handleDimension);const t=this.minHandleElement.dimension;this.handleHalfDimension=t/2,Ne.isNullOrUndefined(this.viewOptions.barDimension)?this.fullBarElement.calculateDimension():this.fullBarElement.setDimension(this.viewOptions.barDimension),this.maxHandlePosition=this.fullBarElement.dimension-t,this.initHasRun&&(this.updateFloorLabel(),this.updateCeilLabel(),this.initHandles())}calculateViewDimensionsAndDetectChanges(){this.calculateViewDimensions(),this.isRefDestroyed()||this.changeDetectionRef.detectChanges()}isRefDestroyed(){return this.changeDetectionRef.destroyed}updateTicksScale(){if(!this.viewOptions.showTicks&&this.sliderElementWithLegendClass)return void setTimeout(()=>{this.sliderElementWithLegendClass=!1});const t=Ne.isNullOrUndefined(this.viewOptions.ticksArray)?this.getTicksArray():this.viewOptions.ticksArray,i=this.viewOptions.vertical?"translateY":"translateX";this.viewOptions.rightToLeft&&t.reverse();const r=Ne.isNullOrUndefined(this.viewOptions.tickValueStep)?Ne.isNullOrUndefined(this.viewOptions.tickStep)?this.viewOptions.step:this.viewOptions.tickStep:this.viewOptions.tickValueStep;let o=!1;const a=t.map(s=>{let l=this.valueToPosition(s);this.viewOptions.vertical&&(l=this.maxHandlePosition-l);const c=i+"("+Math.round(l)+"px)",u=new Bxe;u.selected=this.isTickSelected(s),u.style={"-webkit-transform":c,"-moz-transform":c,"-o-transform":c,"-ms-transform":c,transform:c},u.selected&&!Ne.isNullOrUndefined(this.viewOptions.getSelectionBarColor)&&(u.style["background-color"]=this.getSelectionBarColor()),!u.selected&&!Ne.isNullOrUndefined(this.viewOptions.getTickColor)&&(u.style["background-color"]=this.getTickColor(s)),Ne.isNullOrUndefined(this.viewOptions.ticksTooltip)||(u.tooltip=this.viewOptions.ticksTooltip(s),u.tooltipPlacement=this.viewOptions.vertical?"right":"top"),this.viewOptions.showTicksValues&&!Ne.isNullOrUndefined(r)&&_r.isModuloWithinPrecisionLimit(s,r,this.viewOptions.precisionLimit)&&(u.value=this.getDisplayValue(s,os.TickValue),Ne.isNullOrUndefined(this.viewOptions.ticksValuesTooltip)||(u.valueTooltip=this.viewOptions.ticksValuesTooltip(s),u.valueTooltipPlacement=this.viewOptions.vertical?"right":"top"));let d=null;if(Ne.isNullOrUndefined(this.viewOptions.stepsArray))Ne.isNullOrUndefined(this.viewOptions.getLegend)||(d=this.viewOptions.getLegend(s));else{const p=this.viewOptions.stepsArray[s];Ne.isNullOrUndefined(this.viewOptions.getStepLegend)?Ne.isNullOrUndefined(p)||(d=p.legend):d=this.viewOptions.getStepLegend(p)}return Ne.isNullOrUndefined(d)||(u.legend=d,o=!0),u});if(this.sliderElementWithLegendClass!==o&&setTimeout(()=>{this.sliderElementWithLegendClass=o}),Ne.isNullOrUndefined(this.ticks)||this.ticks.length!==a.length)this.ticks=a,this.isRefDestroyed()||this.changeDetectionRef.detectChanges();else for(let s=0;s=this.viewLowValue)return!0}else if(this.viewOptions.showSelectionBar&&t<=this.viewLowValue)return!0}else{const i=this.viewOptions.showSelectionBarFromValue;if(this.viewLowValue>i&&t>=i&&t<=this.viewLowValue)return!0;if(this.viewLowValue=this.viewLowValue)return!0}return!!(this.range&&t>=this.viewLowValue&&t<=this.viewHighValue)}updateFloorLabel(){this.floorLabelElement.alwaysHide||(this.floorLabelElement.setValue(this.getDisplayValue(this.viewOptions.floor,os.Floor)),this.floorLabelElement.calculateDimension(),this.floorLabelElement.setPosition(this.viewOptions.rightToLeft?this.fullBarElement.dimension-this.floorLabelElement.dimension:0))}updateCeilLabel(){this.ceilLabelElement.alwaysHide||(this.ceilLabelElement.setValue(this.getDisplayValue(this.viewOptions.ceil,os.Ceil)),this.ceilLabelElement.calculateDimension(),this.ceilLabelElement.setPosition(this.viewOptions.rightToLeft?0:this.fullBarElement.dimension-this.ceilLabelElement.dimension))}updateHandles(t,i){t===ft.Min?this.updateLowHandle(i):t===ft.Max&&this.updateHighHandle(i),this.updateSelectionBar(),this.updateTicksScale(),this.range&&this.updateCombinedLabel()}getHandleLabelPos(t,i){const r=t===ft.Min?this.minHandleLabelElement.dimension:this.maxHandleLabelElement.dimension,o=i-r/2+this.handleHalfDimension,a=this.fullBarElement.dimension-r;return this.viewOptions.boundPointerLabels?this.viewOptions.rightToLeft&&t===ft.Min||!this.viewOptions.rightToLeft&&t===ft.Max?Math.min(o,a):Math.min(Math.max(o,0),a):o}updateLowHandle(t){this.minHandleElement.setPosition(t),this.minHandleLabelElement.setValue(this.getDisplayValue(this.viewLowValue,os.Low)),this.minHandleLabelElement.setPosition(this.getHandleLabelPos(ft.Min,t)),Ne.isNullOrUndefined(this.viewOptions.getPointerColor)||(this.minPointerStyle={backgroundColor:this.getPointerColor(ft.Min)}),this.viewOptions.autoHideLimitLabels&&this.updateFloorAndCeilLabelsVisibility()}updateHighHandle(t){this.maxHandleElement.setPosition(t),this.maxHandleLabelElement.setValue(this.getDisplayValue(this.viewHighValue,os.High)),this.maxHandleLabelElement.setPosition(this.getHandleLabelPos(ft.Max,t)),Ne.isNullOrUndefined(this.viewOptions.getPointerColor)||(this.maxPointerStyle={backgroundColor:this.getPointerColor(ft.Max)}),this.viewOptions.autoHideLimitLabels&&this.updateFloorAndCeilLabelsVisibility()}updateFloorAndCeilLabelsVisibility(){if(this.viewOptions.hidePointerLabels)return;let t=!1,i=!1;const r=this.isLabelBelowFloorLabel(this.minHandleLabelElement),o=this.isLabelAboveCeilLabel(this.minHandleLabelElement),a=this.isLabelAboveCeilLabel(this.maxHandleLabelElement),s=this.isLabelBelowFloorLabel(this.combinedLabelElement),l=this.isLabelAboveCeilLabel(this.combinedLabelElement);if(r?(t=!0,this.floorLabelElement.hide()):(t=!1,this.floorLabelElement.show()),o?(i=!0,this.ceilLabelElement.hide()):(i=!1,this.ceilLabelElement.show()),this.range){const c=this.combinedLabelElement.isVisible()?l:a,u=this.combinedLabelElement.isVisible()?s:r;c?this.ceilLabelElement.hide():i||this.ceilLabelElement.show(),u?this.floorLabelElement.hide():t||this.floorLabelElement.show()}}isLabelBelowFloorLabel(t){const i=t.position,o=this.floorLabelElement.position;return this.viewOptions.rightToLeft?i+t.dimension>=o-2:i<=o+this.floorLabelElement.dimension+2}isLabelAboveCeilLabel(t){const i=t.position,o=this.ceilLabelElement.position;return this.viewOptions.rightToLeft?i<=o+this.ceilLabelElement.dimension+2:i+t.dimension>=o-2}updateSelectionBar(){let t=0,i=0;const r=this.viewOptions.rightToLeft?!this.viewOptions.showSelectionBarEnd:this.viewOptions.showSelectionBarEnd,o=this.viewOptions.rightToLeft?this.maxHandleElement.position+this.handleHalfDimension:this.minHandleElement.position+this.handleHalfDimension;if(this.range)i=Math.abs(this.maxHandleElement.position-this.minHandleElement.position),t=o;else if(Ne.isNullOrUndefined(this.viewOptions.showSelectionBarFromValue))r?(i=Math.ceil(Math.abs(this.maxHandlePosition-this.minHandleElement.position)+this.handleHalfDimension),t=Math.floor(this.minHandleElement.position+this.handleHalfDimension)):(i=this.minHandleElement.position+this.handleHalfDimension,t=0);else{const a=this.viewOptions.showSelectionBarFromValue,s=this.valueToPosition(a);(this.viewOptions.rightToLeft?this.viewLowValue<=a:this.viewLowValue>a)?(i=this.minHandleElement.position-s,t=s+this.handleHalfDimension):(i=s-this.minHandleElement.position,t=this.minHandleElement.position+this.handleHalfDimension)}if(this.selectionBarElement.setDimension(i),this.selectionBarElement.setPosition(t),this.range&&this.viewOptions.showOuterSelectionBars&&(this.viewOptions.rightToLeft?(this.rightOuterSelectionBarElement.setDimension(t),this.rightOuterSelectionBarElement.setPosition(0),this.fullBarElement.calculateDimension(),this.leftOuterSelectionBarElement.setDimension(this.fullBarElement.dimension-(t+i)),this.leftOuterSelectionBarElement.setPosition(t+i)):(this.leftOuterSelectionBarElement.setDimension(t),this.leftOuterSelectionBarElement.setPosition(0),this.fullBarElement.calculateDimension(),this.rightOuterSelectionBarElement.setDimension(this.fullBarElement.dimension-(t+i)),this.rightOuterSelectionBarElement.setPosition(t+i))),Ne.isNullOrUndefined(this.viewOptions.getSelectionBarColor)){if(!Ne.isNullOrUndefined(this.viewOptions.selectionBarGradient)){const a=Ne.isNullOrUndefined(this.viewOptions.showSelectionBarFromValue)?0:this.valueToPosition(this.viewOptions.showSelectionBarFromValue),s=a-t>0&&!r||a-t<=0&&r;this.barStyle={backgroundImage:"linear-gradient(to "+(this.viewOptions.vertical?s?"bottom":"top":s?"left":"right")+", "+this.viewOptions.selectionBarGradient.from+" 0%,"+this.viewOptions.selectionBarGradient.to+" 100%)"},this.viewOptions.vertical?(this.barStyle.backgroundPosition="center "+(a+i+t+(s?-this.handleHalfDimension:0))+"px",this.barStyle.backgroundSize="100% "+(this.fullBarElement.dimension-this.handleHalfDimension)+"px"):(this.barStyle.backgroundPosition=a-t+(s?this.handleHalfDimension:0)+"px center",this.barStyle.backgroundSize=this.fullBarElement.dimension-this.handleHalfDimension+"px 100%")}}else{const a=this.getSelectionBarColor();this.barStyle={backgroundColor:a}}}getSelectionBarColor(){return this.range?this.viewOptions.getSelectionBarColor(this.value,this.highValue):this.viewOptions.getSelectionBarColor(this.value)}getPointerColor(t){return this.viewOptions.getPointerColor(t===ft.Max?this.highValue:this.value,t)}getTickColor(t){return this.viewOptions.getTickColor(t)}updateCombinedLabel(){let t=null;if(t=this.viewOptions.rightToLeft?this.minHandleLabelElement.position-this.minHandleLabelElement.dimension-10<=this.maxHandleLabelElement.position:this.minHandleLabelElement.position+this.minHandleLabelElement.dimension+10>=this.maxHandleLabelElement.position,t){const i=this.getDisplayValue(this.viewLowValue,os.Low),r=this.getDisplayValue(this.viewHighValue,os.High),o=this.viewOptions.rightToLeft?this.viewOptions.combineLabels(r,i):this.viewOptions.combineLabels(i,r);this.combinedLabelElement.setValue(o);const a=this.viewOptions.boundPointerLabels?Math.min(Math.max(this.selectionBarElement.position+this.selectionBarElement.dimension/2-this.combinedLabelElement.dimension/2,0),this.fullBarElement.dimension-this.combinedLabelElement.dimension):this.selectionBarElement.position+this.selectionBarElement.dimension/2-this.combinedLabelElement.dimension/2;this.combinedLabelElement.setPosition(a),this.minHandleLabelElement.hide(),this.maxHandleLabelElement.hide(),this.combinedLabelElement.show()}else this.updateHighHandle(this.valueToPosition(this.viewHighValue)),this.updateLowHandle(this.valueToPosition(this.viewLowValue)),this.maxHandleLabelElement.show(),this.minHandleLabelElement.show(),this.combinedLabelElement.hide();this.viewOptions.autoHideLimitLabels&&this.updateFloorAndCeilLabelsVisibility()}getDisplayValue(t,i){return!Ne.isNullOrUndefined(this.viewOptions.stepsArray)&&!this.viewOptions.bindIndexForStepsArray&&(t=this.getStepValue(t)),this.viewOptions.translate(t,i)}roundStep(t,i){const r=Ne.isNullOrUndefined(i)?this.viewOptions.step:i;let o=_r.roundToPrecisionLimit((t-this.viewOptions.floor)/r,this.viewOptions.precisionLimit);return o=Math.round(o)*r,_r.roundToPrecisionLimit(this.viewOptions.floor+o,this.viewOptions.precisionLimit)}valueToPosition(t){let i=Ne.linearValueToPosition;Ne.isNullOrUndefined(this.viewOptions.customValueToPosition)?this.viewOptions.logScale&&(i=Ne.logValueToPosition):i=this.viewOptions.customValueToPosition;let r=i(t=_r.clampToRange(t,this.viewOptions.floor,this.viewOptions.ceil),this.viewOptions.floor,this.viewOptions.ceil);return Ne.isNullOrUndefined(r)&&(r=0),this.viewOptions.rightToLeft&&(r=1-r),r*this.maxHandlePosition}positionToValue(t){let i=t/this.maxHandlePosition;this.viewOptions.rightToLeft&&(i=1-i);let r=Ne.linearPositionToValue;Ne.isNullOrUndefined(this.viewOptions.customPositionToValue)?this.viewOptions.logScale&&(r=Ne.logPositionToValue):r=this.viewOptions.customPositionToValue;const o=r(i,this.viewOptions.floor,this.viewOptions.ceil);return Ne.isNullOrUndefined(o)?0:o}getEventXY(t,i){if(t instanceof MouseEvent)return this.viewOptions.vertical||0!==this.viewOptions.rotate?t.clientY:t.clientX;let r=0;const o=t.touches;if(!Ne.isNullOrUndefined(i))for(let a=0;ao?ft.Max:this.viewOptions.rightToLeft?i>this.minHandleElement.position?ft.Min:ft.Max:ithis.onBarStart(null,t,i,!0,!0,!0)),this.viewOptions.draggableRangeOnly?(this.minHandleElement.on("mousedown",i=>this.onBarStart(ft.Min,t,i,!0,!0)),this.maxHandleElement.on("mousedown",i=>this.onBarStart(ft.Max,t,i,!0,!0))):(this.minHandleElement.on("mousedown",i=>this.onStart(ft.Min,i,!0,!0)),this.range&&this.maxHandleElement.on("mousedown",i=>this.onStart(ft.Max,i,!0,!0)),this.viewOptions.onlyBindHandles||(this.fullBarElement.on("mousedown",i=>this.onStart(null,i,!0,!0,!0)),this.ticksElement.on("mousedown",i=>this.onStart(null,i,!0,!0,!0,!0)))),this.viewOptions.onlyBindHandles||this.selectionBarElement.onPassive("touchstart",i=>this.onBarStart(null,t,i,!0,!0,!0)),this.viewOptions.draggableRangeOnly?(this.minHandleElement.onPassive("touchstart",i=>this.onBarStart(ft.Min,t,i,!0,!0)),this.maxHandleElement.onPassive("touchstart",i=>this.onBarStart(ft.Max,t,i,!0,!0))):(this.minHandleElement.onPassive("touchstart",i=>this.onStart(ft.Min,i,!0,!0)),this.range&&this.maxHandleElement.onPassive("touchstart",i=>this.onStart(ft.Max,i,!0,!0)),this.viewOptions.onlyBindHandles||(this.fullBarElement.onPassive("touchstart",i=>this.onStart(null,i,!0,!0,!0)),this.ticksElement.onPassive("touchstart",i=>this.onStart(null,i,!1,!1,!0,!0)))),this.viewOptions.keyboardSupport&&(this.minHandleElement.on("focus",()=>this.onPointerFocus(ft.Min)),this.range&&this.maxHandleElement.on("focus",()=>this.onPointerFocus(ft.Max)))}getOptionsInfluencingEventBindings(t){return[t.disabled,t.readOnly,t.draggableRange,t.draggableRangeOnly,t.onlyBindHandles,t.keyboardSupport]}unbindEvents(){this.unsubscribeOnMove(),this.unsubscribeOnEnd();for(const t of this.getAllSliderElements())Ne.isNullOrUndefined(t)||t.off()}onBarStart(t,i,r,o,a,s,l){i?this.onDragStart(t,r,o,a):this.onStart(t,r,o,a,s,l)}onStart(t,i,r,o,a,s){i.stopPropagation(),!hf.isTouchEvent(i)&&!jW&&i.preventDefault(),this.moving=!1,this.calculateViewDimensions(),Ne.isNullOrUndefined(t)&&(t=this.getNearestHandle(i)),this.currentTrackingPointer=t;const l=this.getPointerElement(t);if(l.active=!0,this.viewOptions.keyboardSupport&&l.focus(),r){this.unsubscribeOnMove();const c=u=>this.dragging.active?this.onDragMove(u):this.onMove(u);this.onMoveEventListener=hf.isTouchEvent(i)?this.eventListenerHelper.attachPassiveEventListener(document,"touchmove",c):this.eventListenerHelper.attachEventListener(document,"mousemove",c)}if(o){this.unsubscribeOnEnd();const c=u=>this.onEnd(u);this.onEndEventListener=hf.isTouchEvent(i)?this.eventListenerHelper.attachPassiveEventListener(document,"touchend",c):this.eventListenerHelper.attachEventListener(document,"mouseup",c)}this.userChangeStart.emit(this.getChangeContext()),hf.isTouchEvent(i)&&!Ne.isNullOrUndefined(i.changedTouches)&&Ne.isNullOrUndefined(this.touchId)&&(this.touchId=i.changedTouches[0].identifier),a&&this.onMove(i,!0),s&&this.onEnd(i)}onMove(t,i){let r=null;if(hf.isTouchEvent(t)){const c=t.changedTouches;for(let u=0;u=this.maxHandlePosition?a=this.viewOptions.rightToLeft?this.viewOptions.floor:this.viewOptions.ceil:(a=this.positionToValue(o),a=i&&!Ne.isNullOrUndefined(this.viewOptions.tickStep)?this.roundStep(a,this.viewOptions.tickStep):this.roundStep(a)),this.positionTrackingHandle(a)}onEnd(t){hf.isTouchEvent(t)&&t.changedTouches[0].identifier!==this.touchId||(this.moving=!1,this.viewOptions.animate&&(this.sliderElementAnimateClass=!0),this.touchId=null,this.viewOptions.keyboardSupport||(this.minHandleElement.active=!1,this.maxHandleElement.active=!1,this.currentTrackingPointer=null),this.dragging.active=!1,this.unsubscribeOnMove(),this.unsubscribeOnEnd(),this.userChangeEnd.emit(this.getChangeContext()))}onPointerFocus(t){const i=this.getPointerElement(t);i.on("blur",()=>this.onPointerBlur(i)),i.on("keydown",r=>this.onKeyboardEvent(r)),i.on("keyup",()=>this.onKeyUp()),i.active=!0,this.currentTrackingPointer=t,this.currentFocusPointer=t,this.firstKeyDown=!0}onKeyUp(){this.firstKeyDown=!0,this.userChangeEnd.emit(this.getChangeContext())}onPointerBlur(t){t.off("blur"),t.off("keydown"),t.off("keyup"),t.active=!1,Ne.isNullOrUndefined(this.touchId)&&(this.currentTrackingPointer=null,this.currentFocusPointer=null)}getKeyActions(t){const i=this.viewOptions.ceil-this.viewOptions.floor;let r=t+this.viewOptions.step,o=t-this.viewOptions.step,a=t+i/10,s=t-i/10;this.viewOptions.reversedControls&&(r=t-this.viewOptions.step,o=t+this.viewOptions.step,a=t-i/10,s=t+i/10);const l={UP:r,DOWN:o,LEFT:o,RIGHT:r,PAGEUP:a,PAGEDOWN:s,HOME:this.viewOptions.reversedControls?this.viewOptions.ceil:this.viewOptions.floor,END:this.viewOptions.reversedControls?this.viewOptions.floor:this.viewOptions.ceil};return this.viewOptions.rightToLeft&&(l.LEFT=r,l.RIGHT=o,(this.viewOptions.vertical||0!==this.viewOptions.rotate)&&(l.UP=o,l.DOWN=r)),l}onKeyboardEvent(t){const i=this.getCurrentTrackingValue(),r=Ne.isNullOrUndefined(t.keyCode)?t.which:t.keyCode,l=this.getKeyActions(i)[{38:"UP",40:"DOWN",37:"LEFT",39:"RIGHT",33:"PAGEUP",34:"PAGEDOWN",36:"HOME",35:"END"}[r]];if(Ne.isNullOrUndefined(l)||Ne.isNullOrUndefined(this.currentTrackingPointer))return;t.preventDefault(),this.firstKeyDown&&(this.firstKeyDown=!1,this.userChangeStart.emit(this.getChangeContext()));const c=_r.clampToRange(l,this.viewOptions.floor,this.viewOptions.ceil),u=this.roundStep(c);if(this.viewOptions.draggableRangeOnly){const d=this.viewHighValue-this.viewLowValue;let p,f;this.currentTrackingPointer===ft.Min?(p=u,f=u+d,f>this.viewOptions.ceil&&(f=this.viewOptions.ceil,p=f-d)):this.currentTrackingPointer===ft.Max&&(f=u,p=u-d,p=this.maxHandlePosition-r;let u,d;if(i<=o){if(0===a.position)return;u=this.getMinValue(i,!0,!1),d=this.getMaxValue(i,!0,!1)}else if(c){if(s.position===this.maxHandlePosition)return;d=this.getMaxValue(i,!0,!0),u=this.getMinValue(i,!0,!0)}else u=this.getMinValue(i,!1,!1),d=this.getMaxValue(i,!1,!1);this.positionTrackingBar(u,d)}positionTrackingBar(t,i){!Ne.isNullOrUndefined(this.viewOptions.minLimit)&&tthis.viewOptions.maxLimit&&(t=_r.roundToPrecisionLimit((i=this.viewOptions.maxLimit)-this.dragging.difference,this.viewOptions.precisionLimit)),this.viewLowValue=t,this.viewHighValue=i,this.applyViewChange(),this.updateHandles(ft.Min,this.valueToPosition(t)),this.updateHandles(ft.Max,this.valueToPosition(i))}positionTrackingHandle(t){t=this.applyMinMaxLimit(t),this.range&&(this.viewOptions.pushRange?t=this.applyPushRange(t):(this.viewOptions.noSwitching&&(this.currentTrackingPointer===ft.Min&&t>this.viewHighValue?t=this.applyMinMaxRange(this.viewHighValue):this.currentTrackingPointer===ft.Max&&tthis.viewHighValue?(this.viewLowValue=this.viewHighValue,this.applyViewChange(),this.updateHandles(ft.Min,this.maxHandleElement.position),this.updateAriaAttributes(),this.currentTrackingPointer=ft.Max,this.minHandleElement.active=!1,this.maxHandleElement.active=!0,this.viewOptions.keyboardSupport&&this.maxHandleElement.focus()):this.currentTrackingPointer===ft.Max&&tthis.viewOptions.maxLimit?this.viewOptions.maxLimit:t}applyMinMaxRange(t){const r=Math.abs(t-(this.currentTrackingPointer===ft.Min?this.viewHighValue:this.viewLowValue));if(!Ne.isNullOrUndefined(this.viewOptions.minRange)&&rthis.viewOptions.maxRange){if(this.currentTrackingPointer===ft.Min)return _r.roundToPrecisionLimit(this.viewHighValue-this.viewOptions.maxRange,this.viewOptions.precisionLimit);if(this.currentTrackingPointer===ft.Max)return _r.roundToPrecisionLimit(this.viewLowValue+this.viewOptions.maxRange,this.viewOptions.precisionLimit)}return t}applyPushRange(t){const i=this.currentTrackingPointer===ft.Min?this.viewHighValue-t:t-this.viewLowValue,r=Ne.isNullOrUndefined(this.viewOptions.minRange)?this.viewOptions.step:this.viewOptions.minRange,o=this.viewOptions.maxRange;return io&&(this.currentTrackingPointer===ft.Min?(this.viewHighValue=_r.roundToPrecisionLimit(t+o,this.viewOptions.precisionLimit),this.applyViewChange(),this.updateHandles(ft.Max,this.valueToPosition(this.viewHighValue))):this.currentTrackingPointer===ft.Max&&(this.viewLowValue=_r.roundToPrecisionLimit(t-o,this.viewOptions.precisionLimit),this.applyViewChange(),this.updateHandles(ft.Min,this.valueToPosition(this.viewLowValue))),this.updateAriaAttributes()),t}getChangeContext(){const t=new Hxe;return t.pointerType=this.currentTrackingPointer,t.value=+this.value,this.range&&(t.highValue=+this.highValue),t}}return e.\u0275fac=function(t){return new(t||e)(ie(Si),ie(En),ie(wi),ie(wn),ie(XW,8))},e.\u0275cmp=mt({type:e,selectors:[["ngx-slider"]],contentQueries:function(t,i,r){if(1&t&&Br(r,Txe,5),2&t){let o;at(o=st())&&(i.tooltipTemplate=o.first)}},viewQuery:function(t,i){if(1&t&&(Mt(Cxe,5,gf),Mt(bxe,5,gf),Mt(Axe,5,gf),Mt(Sxe,5,gf),Mt(wxe,5,G6),Mt(xxe,5,G6),Mt(Fxe,5,Fy),Mt(Dxe,5,Fy),Mt(Exe,5,Fy),Mt(Ixe,5,Fy),Mt(Rxe,5,Fy),Mt(Lxe,5,gf)),2&t){let r;at(r=st())&&(i.leftOuterSelectionBarElement=r.first),at(r=st())&&(i.rightOuterSelectionBarElement=r.first),at(r=st())&&(i.fullBarElement=r.first),at(r=st())&&(i.selectionBarElement=r.first),at(r=st())&&(i.minHandleElement=r.first),at(r=st())&&(i.maxHandleElement=r.first),at(r=st())&&(i.floorLabelElement=r.first),at(r=st())&&(i.ceilLabelElement=r.first),at(r=st())&&(i.minHandleLabelElement=r.first),at(r=st())&&(i.maxHandleLabelElement=r.first),at(r=st())&&(i.combinedLabelElement=r.first),at(r=st())&&(i.ticksElement=r.first)}},hostVars:10,hostBindings:function(t,i){1&t&&ge("resize",function(o){return i.onResize(o)},0,OB),2&t&&(tt("disabled",i.sliderElementDisabledAttr)("aria-label",i.sliderElementAriaLabel),Ta("ngx-slider",i.sliderElementNgxSliderClass)("vertical",i.sliderElementVerticalClass)("animate",i.sliderElementAnimateClass)("with-legend",i.sliderElementWithLegendClass))},inputs:{value:"value",highValue:"highValue",options:"options",manualRefresh:"manualRefresh",triggerFocus:"triggerFocus"},outputs:{valueChange:"valueChange",highValueChange:"highValueChange",userChangeStart:"userChangeStart",userChange:"userChange",userChangeEnd:"userChangeEnd"},features:[Zt([Yxe]),To],decls:29,vars:13,consts:[["ngxSliderElement","",1,"ngx-slider-span","ngx-slider-bar-wrapper","ngx-slider-left-out-selection"],["leftOuterSelectionBar",""],[1,"ngx-slider-span","ngx-slider-bar"],["ngxSliderElement","",1,"ngx-slider-span","ngx-slider-bar-wrapper","ngx-slider-right-out-selection"],["rightOuterSelectionBar",""],["ngxSliderElement","",1,"ngx-slider-span","ngx-slider-bar-wrapper","ngx-slider-full-bar"],["fullBar",""],["ngxSliderElement","",1,"ngx-slider-span","ngx-slider-bar-wrapper","ngx-slider-selection-bar"],["selectionBar",""],[1,"ngx-slider-span","ngx-slider-bar","ngx-slider-selection",3,"ngStyle"],["ngxSliderHandle","",1,"ngx-slider-span","ngx-slider-pointer","ngx-slider-pointer-min",3,"ngStyle"],["minHandle",""],["ngxSliderHandle","",1,"ngx-slider-span","ngx-slider-pointer","ngx-slider-pointer-max",3,"ngStyle"],["maxHandle",""],["ngxSliderLabel","",1,"ngx-slider-span","ngx-slider-bubble","ngx-slider-limit","ngx-slider-floor"],["floorLabel",""],["ngxSliderLabel","",1,"ngx-slider-span","ngx-slider-bubble","ngx-slider-limit","ngx-slider-ceil"],["ceilLabel",""],["ngxSliderLabel","",1,"ngx-slider-span","ngx-slider-bubble","ngx-slider-model-value"],["minHandleLabel",""],["ngxSliderLabel","",1,"ngx-slider-span","ngx-slider-bubble","ngx-slider-model-high"],["maxHandleLabel",""],["ngxSliderLabel","",1,"ngx-slider-span","ngx-slider-bubble","ngx-slider-combined"],["combinedLabel",""],["ngxSliderElement","",1,"ngx-slider-ticks",3,"hidden"],["ticksElement",""],["class","ngx-slider-tick",3,"ngClass","ngStyle",4,"ngFor","ngForOf"],[1,"ngx-slider-tick",3,"ngClass","ngStyle"],[3,"template","tooltip","placement"],["class","ngx-slider-span ngx-slider-tick-value",3,"template","tooltip","placement","content",4,"ngIf"],["class","ngx-slider-span ngx-slider-tick-legend",3,"innerText",4,"ngIf"],["class","ngx-slider-span ngx-slider-tick-legend",3,"innerHTML",4,"ngIf"],[1,"ngx-slider-span","ngx-slider-tick-value",3,"template","tooltip","placement","content"],[1,"ngx-slider-span","ngx-slider-tick-legend",3,"innerText"],[1,"ngx-slider-span","ngx-slider-tick-legend",3,"innerHTML"]],template:function(t,i){1&t&&(V(0,"span",0,1),Te(2,"span",2),j(),V(3,"span",3,4),Te(5,"span",2),j(),V(6,"span",5,6),Te(8,"span",2),j(),V(9,"span",7,8),Te(11,"span",9),j(),Te(12,"span",10,11)(14,"span",12,13)(16,"span",14,15)(18,"span",16,17)(20,"span",18,19)(22,"span",20,21)(24,"span",22,23),V(26,"span",24,25),N(28,Oxe,5,10,"span",26),j()),2&t&&(G(6),Ta("ngx-slider-transparent",i.fullBarTransparentClass),G(3),Ta("ngx-slider-draggable",i.selectionBarDraggableClass),G(2),R("ngStyle",i.barStyle),G(1),R("ngStyle",i.minPointerStyle),G(2),lc("display",i.range?"inherit":"none"),R("ngStyle",i.maxPointerStyle),G(12),Ta("ngx-slider-ticks-values-under",i.ticksUnderValuesClass),R("hidden",!i.showTicks),G(2),R("ngForOf",i.ticks))},dependencies:[to,_u,Mi,or,gf,G6,Fy,Gxe],styles:['.ngx-slider{display:inline-block;position:relative;height:4px;width:100%;margin:35px 0 15px;vertical-align:middle;-webkit-user-select:none;user-select:none;touch-action:pan-y} .ngx-slider.with-legend{margin-bottom:40px} .ngx-slider[disabled]{cursor:not-allowed} .ngx-slider[disabled] .ngx-slider-pointer{cursor:not-allowed;background-color:#d8e0f3} .ngx-slider[disabled] .ngx-slider-draggable{cursor:not-allowed} .ngx-slider[disabled] .ngx-slider-selection{background:#8b91a2} .ngx-slider[disabled] .ngx-slider-tick{cursor:not-allowed} .ngx-slider[disabled] .ngx-slider-tick.ngx-slider-selected{background:#8b91a2} .ngx-slider .ngx-slider-span{white-space:nowrap;position:absolute;display:inline-block} .ngx-slider .ngx-slider-base{width:100%;height:100%;padding:0} .ngx-slider .ngx-slider-bar-wrapper{left:0;box-sizing:border-box;margin-top:-16px;padding-top:16px;width:100%;height:32px;z-index:1} .ngx-slider .ngx-slider-draggable{cursor:move} .ngx-slider .ngx-slider-bar{left:0;width:100%;height:4px;z-index:1;background:#d8e0f3;border-radius:2px} .ngx-slider .ngx-slider-bar-wrapper.ngx-slider-transparent .ngx-slider-bar{background:transparent} .ngx-slider .ngx-slider-bar-wrapper.ngx-slider-left-out-selection .ngx-slider-bar{background:#df002d} .ngx-slider .ngx-slider-bar-wrapper.ngx-slider-right-out-selection .ngx-slider-bar{background:#03a688} .ngx-slider .ngx-slider-selection{z-index:2;background:#0db9f0;border-radius:2px} .ngx-slider .ngx-slider-pointer{cursor:pointer;width:32px;height:32px;top:-14px;background-color:#0db9f0;z-index:3;border-radius:16px} .ngx-slider .ngx-slider-pointer:after{content:"";width:8px;height:8px;position:absolute;top:12px;left:12px;border-radius:4px;background:#fff} .ngx-slider .ngx-slider-pointer:hover:after{background-color:#fff} .ngx-slider .ngx-slider-pointer.ngx-slider-active{z-index:4} .ngx-slider .ngx-slider-pointer.ngx-slider-active:after{background-color:#451aff} .ngx-slider .ngx-slider-bubble{cursor:default;bottom:16px;padding:1px 3px;color:#55637d;font-size:16px} .ngx-slider .ngx-slider-bubble.ngx-slider-limit{color:#55637d} .ngx-slider .ngx-slider-ticks{box-sizing:border-box;width:100%;height:0;position:absolute;left:0;top:-3px;margin:0;z-index:1;list-style:none} .ngx-slider .ngx-slider-ticks-values-under .ngx-slider-tick-value{top:auto;bottom:-36px} .ngx-slider .ngx-slider-tick{text-align:center;cursor:pointer;width:10px;height:10px;background:#d8e0f3;border-radius:50%;position:absolute;top:0;left:0;margin-left:11px} .ngx-slider .ngx-slider-tick.ngx-slider-selected{background:#0db9f0} .ngx-slider .ngx-slider-tick-value{position:absolute;top:-34px;transform:translate(-50%)} .ngx-slider .ngx-slider-tick-legend{position:absolute;top:24px;transform:translate(-50%);max-width:50px;white-space:normal} .ngx-slider.vertical{position:relative;width:4px;height:100%;margin:0 20px;padding:0;vertical-align:baseline;touch-action:pan-x} .ngx-slider.vertical .ngx-slider-base{width:100%;height:100%;padding:0} .ngx-slider.vertical .ngx-slider-bar-wrapper{top:auto;left:0;margin:0 0 0 -16px;padding:0 0 0 16px;height:100%;width:32px} .ngx-slider.vertical .ngx-slider-bar{bottom:0;left:auto;width:4px;height:100%} .ngx-slider.vertical .ngx-slider-pointer{left:-14px!important;top:auto;bottom:0} .ngx-slider.vertical .ngx-slider-bubble{left:16px!important;bottom:0} .ngx-slider.vertical .ngx-slider-ticks{height:100%;width:0;left:-3px;top:0;z-index:1} .ngx-slider.vertical .ngx-slider-tick{vertical-align:middle;margin-left:auto;margin-top:11px} .ngx-slider.vertical .ngx-slider-tick-value{left:24px;top:auto;transform:translateY(-28%)} .ngx-slider.vertical .ngx-slider-tick-legend{top:auto;right:24px;transform:translateY(-28%);max-width:none;white-space:nowrap} .ngx-slider.vertical .ngx-slider-ticks-values-under .ngx-slider-tick-value{bottom:auto;left:auto;right:24px} .ngx-slider *{transition:none} .ngx-slider.animate .ngx-slider-bar-wrapper{transition:all linear .3s} .ngx-slider.animate .ngx-slider-selection{transition:background-color linear .3s} .ngx-slider.animate .ngx-slider-pointer{transition:all linear .3s} .ngx-slider.animate .ngx-slider-pointer:after{transition:all linear .3s} .ngx-slider.animate .ngx-slider-bubble{transition:all linear .3s} .ngx-slider.animate .ngx-slider-bubble.ngx-slider-limit{transition:opacity linear .3s} .ngx-slider.animate .ngx-slider-bubble.ngx-slider-combined{transition:opacity linear .3s} .ngx-slider.animate .ngx-slider-tick{transition:background-color linear .3s}']}),e})(),Vxe=(()=>{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=en({type:e}),e.\u0275inj=b({imports:[jn]}),e})();function nq(e,n){let t,i;if(void 0===n)for(const r of e)null!=r&&(void 0===t?r>=r&&(t=i=r):(t>r&&(t=r),i=o&&(t=i=o):(t>o&&(t=o),i=i)&&(t=i);else{let i=-1;for(let r of e)null!=(r=n(r,++i,e))&&(t=r)&&(t=r)}return t}function zxe(e){return e}var TS=1,CS=2,B6=3,mT=4,iq=1e-6;function $xe(e){return"translate("+e+",0)"}function Uxe(e){return"translate(0,"+e+")"}function jxe(e){return n=>+e(n)}function Wxe(e,n){return n=Math.max(0,e.bandwidth()-2*n)/2,e.round()&&(n=Math.round(n)),t=>+e(t)+n}function qxe(){return!this.__axis}function bS(e,n){var t=[],i=null,r=null,o=6,a=6,s=3,l=typeof window<"u"&&window.devicePixelRatio>1?0:.5,c=e===TS||e===mT?-1:1,u=e===mT||e===CS?"x":"y",d=e===TS||e===B6?$xe:Uxe;function p(f){var h=i??(n.ticks?n.ticks.apply(n,t):n.domain()),g=r??(n.tickFormat?n.tickFormat.apply(n,t):zxe),m=Math.max(o,0)+s,_=n.range(),v=+_[0]+l,C=+_[_.length-1]+l,A=(n.bandwidth?Wxe:jxe)(n.copy(),l),S=f.selection?f.selection():f,I=S.selectAll(".domain").data([null]),w=S.selectAll(".tick").data(h,n).order(),O=w.exit(),B=w.enter().append("g").attr("class","tick"),W=w.select("line"),q=w.select("text");I=I.merge(I.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),w=w.merge(B),W=W.merge(B.append("line").attr("stroke","currentColor").attr(u+"2",c*o)),q=q.merge(B.append("text").attr("fill","currentColor").attr(u,c*m).attr("dy",e===TS?"0em":e===B6?"0.71em":"0.32em")),f!==S&&(I=I.transition(f),w=w.transition(f),W=W.transition(f),q=q.transition(f),O=O.transition(f).attr("opacity",iq).attr("transform",function(te){return isFinite(te=A(te))?d(te+l):this.getAttribute("transform")}),B.attr("opacity",iq).attr("transform",function(te){var K=this.parentNode.__axis;return d((K&&isFinite(K=K(te))?K:A(te))+l)})),O.remove(),I.attr("d",e===mT||e===CS?a?"M"+c*a+","+v+"H"+l+"V"+C+"H"+c*a:"M"+l+","+v+"V"+C:a?"M"+v+","+c*a+"V"+l+"H"+C+"V"+c*a:"M"+v+","+l+"H"+C),w.attr("opacity",1).attr("transform",function(te){return d(A(te)+l)}),W.attr(u+"2",c*o),q.attr(u,c*m).text(g),S.filter(qxe).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",e===CS?"start":e===mT?"end":"middle"),S.each(function(){this.__axis=A})}return p.scale=function(f){return arguments.length?(n=f,p):n},p.ticks=function(){return t=Array.from(arguments),p},p.tickArguments=function(f){return arguments.length?(t=null==f?[]:Array.from(f),p):t.slice()},p.tickValues=function(f){return arguments.length?(i=null==f?null:Array.from(f),p):i&&i.slice()},p.tickFormat=function(f){return arguments.length?(r=f,p):r},p.tickSize=function(f){return arguments.length?(o=a=+f,p):o},p.tickSizeInner=function(f){return arguments.length?(o=+f,p):o},p.tickSizeOuter=function(f){return arguments.length?(a=+f,p):a},p.tickPadding=function(f){return arguments.length?(s=+f,p):s},p.offset=function(f){return arguments.length?(l=+f,p):l},p}function rq(e){return bS(mT,e)}var Kxe={value:()=>{}};function oq(){for(var i,e=0,n=arguments.length,t={};e=0&&(i=t.slice(r+1),t=t.slice(0,r)),t&&!n.hasOwnProperty(t))throw new Error("unknown type: "+t);return{type:t,name:i}})}(e+"",t),o=-1,a=i.length;if(!(arguments.length<2)){if(null!=n&&"function"!=typeof n)throw new Error("invalid callback: "+n);for(;++o0)for(var r,o,t=new Array(r),i=0;in?1:e>=n?0:NaN}SS.prototype={constructor:SS,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,n){return this._parent.insertBefore(e,n)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};var z6="http://www.w3.org/1999/xhtml";const pq={svg:"http://www.w3.org/2000/svg",xhtml:z6,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function wS(e){var n=e+="",t=n.indexOf(":");return t>=0&&"xmlns"!==(n=e.slice(0,t))&&(e=e.slice(t+1)),pq.hasOwnProperty(n)?{space:pq[n],local:e}:e}function RFe(e){return function(){this.removeAttribute(e)}}function LFe(e){return function(){this.removeAttributeNS(e.space,e.local)}}function MFe(e,n){return function(){this.setAttribute(e,n)}}function kFe(e,n){return function(){this.setAttributeNS(e.space,e.local,n)}}function PFe(e,n){return function(){var t=n.apply(this,arguments);null==t?this.removeAttribute(e):this.setAttribute(e,t)}}function NFe(e,n){return function(){var t=n.apply(this,arguments);null==t?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,t)}}function fq(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function HFe(e){return function(){this.style.removeProperty(e)}}function GFe(e,n,t){return function(){this.style.setProperty(e,n,t)}}function BFe(e,n,t){return function(){var i=n.apply(this,arguments);null==i?this.style.removeProperty(e):this.style.setProperty(e,i,t)}}function Dy(e,n){return e.style.getPropertyValue(n)||fq(e).getComputedStyle(e,null).getPropertyValue(n)}function VFe(e){return function(){delete this[e]}}function zFe(e,n){return function(){this[e]=n}}function $Fe(e,n){return function(){var t=n.apply(this,arguments);null==t?delete this[e]:this[e]=t}}function hq(e){return e.trim().split(/^|\s+/)}function $6(e){return e.classList||new gq(e)}function gq(e){this._node=e,this._names=hq(e.getAttribute("class")||"")}function mq(e,n){for(var t=$6(e),i=-1,r=n.length;++i=0&&(this._names.splice(n,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};var U6=[null];function xa(e,n){this._groups=e,this._parents=n}function Tq(){return new xa([[document.documentElement]],U6)}xa.prototype=Tq.prototype={constructor:xa,select:function Jxe(e){"function"!=typeof e&&(e=V6(e));for(var n=this._groups,t=n.length,i=new Array(t),r=0;r=C&&(C=v+1);!(S=m[C])&&++C=0;)(a=i[r])&&(o&&4^a.compareDocumentPosition(o)&&o.parentNode.insertBefore(a,o),o=a);return this},sort:function AFe(e){function n(d,p){return d&&p?e(d.__data__,p.__data__):!d-!p}e||(e=SFe);for(var t=this._groups,i=t.length,r=new Array(i),o=0;o1?this.each((null==n?HFe:"function"==typeof n?BFe:GFe)(e,n,t??"")):Dy(this.node(),e)},property:function UFe(e,n){return arguments.length>1?this.each((null==n?VFe:"function"==typeof n?$Fe:zFe)(e,n)):this.node()[e]},classed:function KFe(e,n){var t=hq(e+"");if(arguments.length<2){for(var i=$6(this.node()),r=-1,o=t.length;++r=0&&(t=n.slice(i+1),n=n.slice(0,i)),{type:n,name:t}})}(e+""),o=i.length;if(!(arguments.length<2)){for(s=n?b3e:C3e,r=0;r>8&15|n>>4&240,n>>4&15|240&n,(15&n)<<4|15&n,1):8===t?xS(n>>24&255,n>>16&255,n>>8&255,(255&n)/255):4===t?xS(n>>12&15|n>>8&240,n>>8&15|n>>4&240,n>>4&15|240&n,((15&n)<<4|15&n)/255):null):(n=L3e.exec(e))?new io(n[1],n[2],n[3],1):(n=M3e.exec(e))?new io(255*n[1]/100,255*n[2]/100,255*n[3]/100,1):(n=k3e.exec(e))?xS(n[1],n[2],n[3],n[4]):(n=P3e.exec(e))?xS(255*n[1]/100,255*n[2]/100,255*n[3]/100,n[4]):(n=N3e.exec(e))?Fq(n[1],n[2]/100,n[3]/100,1):(n=O3e.exec(e))?Fq(n[1],n[2]/100,n[3]/100,n[4]):Cq.hasOwnProperty(e)?Sq(Cq[e]):"transparent"===e?new io(NaN,NaN,NaN,0):null}function Sq(e){return new io(e>>16&255,e>>8&255,255&e,1)}function xS(e,n,t,i){return i<=0&&(e=n=t=NaN),new io(e,n,t,i)}function q6(e){return e instanceof mf||(e=bg(e)),e?new io((e=e.rgb()).r,e.g,e.b,e.opacity):new io}function yf(e,n,t,i){return 1===arguments.length?q6(e):new io(e,n,t,i??1)}function io(e,n,t,i){this.r=+e,this.g=+n,this.b=+t,this.opacity=+i}function wq(){return`#${Sg(this.r)}${Sg(this.g)}${Sg(this.b)}`}function xq(){const e=FS(this.opacity);return`${1===e?"rgb(":"rgba("}${Ag(this.r)}, ${Ag(this.g)}, ${Ag(this.b)}${1===e?")":`, ${e})`}`}function FS(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Ag(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Sg(e){return((e=Ag(e))<16?"0":"")+e.toString(16)}function Fq(e,n,t,i){return i<=0?e=n=t=NaN:t<=0||t>=1?e=n=NaN:n<=0&&(e=NaN),new yc(e,n,t,i)}function Dq(e){if(e instanceof yc)return new yc(e.h,e.s,e.l,e.opacity);if(e instanceof mf||(e=bg(e)),!e)return new yc;if(e instanceof yc)return e;var n=(e=e.rgb()).r/255,t=e.g/255,i=e.b/255,r=Math.min(n,t,i),o=Math.max(n,t,i),a=NaN,s=o-r,l=(o+r)/2;return s?(a=n===o?(t-i)/s+6*(t0&&l<1?0:a,new yc(a,s,l,e.opacity)}function DS(e,n,t,i){return 1===arguments.length?Dq(e):new yc(e,n,t,i??1)}function yc(e,n,t,i){this.h=+e,this.s=+n,this.l=+t,this.opacity=+i}function Eq(e){return(e=(e||0)%360)<0?e+360:e}function ES(e){return Math.max(0,Math.min(1,e||0))}function K6(e,n,t){return 255*(e<60?n+(t-n)*e/60:e<180?t:e<240?n+(t-n)*(240-e)/60:n)}function Iq(e,n,t,i,r){var o=e*e,a=o*e;return((1-3*e+3*o-a)*n+(4-6*o+3*a)*t+(1+3*e+3*o-3*a)*i+a*r)/6}function Rq(e){var n=e.length-1;return function(t){var i=t<=0?t=0:t>=1?(t=1,n-1):Math.floor(t*n),r=e[i],o=e[i+1];return Iq((t-i/n)*n,i>0?e[i-1]:2*r-o,r,o,i=240?e-240:e+120,r,i),K6(e,r,i),K6(e<120?e+240:e-120,r,i),this.opacity)},clamp(){return new yc(Eq(this.h),ES(this.s),ES(this.l),FS(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=FS(this.opacity);return`${1===e?"hsl(":"hsla("}${Eq(this.h)}, ${100*ES(this.s)}%, ${100*ES(this.l)}%${1===e?")":`, ${e})`}`}}));const IS=e=>()=>e;function Mq(e,n){return function(t){return e+t*n}}function RS(e,n){var t=n-e;return t?Mq(e,t>180||t<-180?t-360*Math.round(t/360):t):IS(isNaN(e)?n:e)}function ro(e,n){var t=n-e;return t?Mq(e,t):IS(isNaN(e)?n:e)}const TT=function e(n){var t=function V3e(e){return 1==(e=+e)?ro:function(n,t){return t-n?function Y3e(e,n,t){return e=Math.pow(e,t),n=Math.pow(n,t)-e,t=1/t,function(i){return Math.pow(e+i*n,t)}}(n,t,e):IS(isNaN(n)?t:n)}}(n);function i(r,o){var a=t((r=yf(r)).r,(o=yf(o)).r),s=t(r.g,o.g),l=t(r.b,o.b),c=ro(r.opacity,o.opacity);return function(u){return r.r=a(u),r.g=s(u),r.b=l(u),r.opacity=c(u),r+""}}return i.gamma=e,i}(1);function kq(e){return function(n){var a,s,t=n.length,i=new Array(t),r=new Array(t),o=new Array(t);for(a=0;at&&(o=n.slice(t,o),s[a]?s[a]+=o:s[++a]=o),(i=i[0])===(r=r[0])?s[a]?s[a]+=r:s[++a]=r:(s[++a]=null,l.push({i:a,x:Cl(i,r)})),t=Q6.lastIndex;return t=0&&e._call.call(void 0,n),e=e._next;--Ly}()}finally{Ly=0,function X3e(){for(var e,t,n=MS,i=1/0;n;)n._call?(i>n._time&&(i=n._time),e=n,n=n._next):(t=n._next,n._next=null,n=e?e._next=t:MS=t);AT=e,tR(i)}(),wg=0}}function Z3e(){var e=ST.now(),n=e-kS;n>Bq&&(PS-=n,kS=e)}function tR(e){Ly||(CT&&(CT=clearTimeout(CT)),e-wg>24?(e<1/0&&(CT=setTimeout(Vq,e-ST.now()-PS)),bT&&(bT=clearInterval(bT))):(bT||(kS=ST.now(),bT=setInterval(Z3e,Bq)),Ly=1,Yq(Vq)))}function zq(e,n,t){var i=new wT;return i.restart(r=>{i.stop(),e(r+n)},n=null==n?0:+n,t),i}wT.prototype=eR.prototype={constructor:wT,restart:function(e,n,t){if("function"!=typeof e)throw new TypeError("callback is not a function");t=(null==t?NS():+t)+(null==n?0:+n),!this._next&&AT!==this&&(AT?AT._next=this:MS=this,AT=this),this._call=e,this._time=t,tR()},stop:function(){this._call&&(this._call=null,this._time=1/0,tR())}};var Q3e=Y6("start","end","cancel","interrupt"),J3e=[],$q=0,Uq=1,nR=2,OS=3,jq=4,iR=5,HS=6;function GS(e,n,t,i,r,o){var a=e.__transition;if(a){if(t in a)return}else e.__transition={};!function e5e(e,n,t){var r,i=e.__transition;function a(c){var u,d,p,f;if(t.state!==Uq)return l();for(u in i)if((f=i[u]).name===t.name){if(f.state===OS)return zq(a);f.state===jq?(f.state=HS,f.timer.stop(),f.on.call("interrupt",e,e.__data__,f.index,f.group),delete i[u]):+u$q)throw new Error("too late; already scheduled");return t}function xu(e,n){var t=_c(e,n);if(t.state>OS)throw new Error("too late; already running");return t}function _c(e,n){var t=e.__transition;if(!t||!(t=t[n]))throw new Error("transition not found");return t}function oR(e,n){var i,r,a,t=e.__transition,o=!0;if(t){for(a in n=null==n?null:n+"",t)(i=t[a]).name===n?(r=i.state>nR&&i.state180?u+=360:u-c>180&&(c+=360),p.push({i:d.push(r(d)+"rotate(",null,i)-2,x:Cl(c,u)})):u&&d.push(r(d)+"rotate("+u+i)}(c.rotate,u.rotate,d,p),function s(c,u,d,p){c!==u?p.push({i:d.push(r(d)+"skewX(",null,i)-2,x:Cl(c,u)}):u&&d.push(r(d)+"skewX("+u+i)}(c.skewX,u.skewX,d,p),function l(c,u,d,p,f,h){if(c!==d||u!==p){var g=f.push(r(f)+"scale(",null,",",null,")");h.push({i:g-4,x:Cl(c,d)},{i:g-2,x:Cl(u,p)})}else(1!==d||1!==p)&&f.push(r(f)+"scale("+d+","+p+")")}(c.scaleX,c.scaleY,u.scaleX,u.scaleY,d,p),c=u=null,function(f){for(var m,h=-1,g=p.length;++h=0&&(n=n.slice(0,t)),!n||"start"===n})}(n)?rR:xu;return function(){var a=o(this,e),s=a.on;s!==i&&(r=(i=s).copy()).on(n,t),a.on=r}}(t,e,n))},attr:function f5e(e,n){var t=wS(e),i="transform"===t?Xq:Qq;return this.attrTween(e,"function"==typeof n?(t.local?p5e:d5e)(t,i,sR(this,"attr."+e,n)):null==n?(t.local?l5e:s5e)(t):(t.local?u5e:c5e)(t,i,n))},attrTween:function _5e(e,n){var t="attr."+e;if(arguments.length<2)return(t=this.tween(t))&&t._value;if(null==n)return this.tween(t,null);if("function"!=typeof n)throw new Error;var i=wS(e);return this.tween(t,(i.local?m5e:y5e)(i,n))},style:function $5e(e,n,t){var i="transform"==(e+="")?Zq:Qq;return null==n?this.styleTween(e,function B5e(e,n){var t,i,r;return function(){var o=Dy(this,e),a=(this.style.removeProperty(e),Dy(this,e));return o===a?null:o===t&&a===i?r:r=n(t=o,i=a)}}(e,i)).on("end.style."+e,Jq(e)):"function"==typeof n?this.styleTween(e,function V5e(e,n,t){var i,r,o;return function(){var a=Dy(this,e),s=t(this),l=s+"";return null==s&&(this.style.removeProperty(e),l=s=Dy(this,e)),a===l?null:a===i&&l===r?o:(r=l,o=n(i=a,s))}}(e,i,sR(this,"style."+e,n))).each(function z5e(e,n){var t,i,r,s,o="style."+n,a="end."+o;return function(){var l=xu(this,e),c=l.on,u=null==l.value[o]?s||(s=Jq(n)):void 0;(c!==t||r!==u)&&(i=(t=c).copy()).on(a,r=u),l.on=i}}(this._id,e)):this.styleTween(e,function Y5e(e,n,t){var i,o,r=t+"";return function(){var a=Dy(this,e);return a===r?null:a===i?o:o=n(i=a,t)}}(e,i,n),t).on("end.style."+e,null)},styleTween:function W5e(e,n,t){var i="style."+(e+="");if(arguments.length<2)return(i=this.tween(i))&&i._value;if(null==n)return this.tween(i,null);if("function"!=typeof n)throw new Error;return this.tween(i,function j5e(e,n,t){var i,r;function o(){var a=n.apply(this,arguments);return a!==r&&(i=(r=a)&&function U5e(e,n,t){return function(i){this.style.setProperty(e,n.call(this,i),t)}}(e,a,t)),i}return o._value=n,o}(e,n,t??""))},text:function Z5e(e){return this.tween("text","function"==typeof e?function K5e(e){return function(){var n=e(this);this.textContent=n??""}}(sR(this,"text",e)):function q5e(e){return function(){this.textContent=e}}(null==e?"":e+""))},textTween:function J5e(e){var n="text";if(arguments.length<1)return(n=this.tween(n))&&n._value;if(null==e)return this.tween(n,null);if("function"!=typeof e)throw new Error;return this.tween(n,function Q5e(e){var n,t;function i(){var r=e.apply(this,arguments);return r!==t&&(n=(t=r)&&function X5e(e){return function(n){this.textContent=e.call(this,n)}}(r)),n}return i._value=e,i}(e))},remove:function P5e(){return this.on("end.remove",function k5e(e){return function(){var n=this.parentNode;for(var t in this.__transition)if(+t!==e)return;n&&n.removeChild(this)}}(this._id))},tween:function a5e(e,n){var t=this._id;if(e+="",arguments.length<2){for(var a,i=_c(this.node(),t).tween,r=0,o=i.length;r()=>e;function lDe(e,{sourceEvent:n,target:t,selection:i,mode:r,dispatch:o}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},target:{value:t,enumerable:!0,configurable:!0},selection:{value:i,enumerable:!0,configurable:!0},mode:{value:r,enumerable:!0,configurable:!0},_:{value:o}})}function cR(e){e.preventDefault(),e.stopImmediatePropagation()}var tK={name:"drag"},uR={name:"space"},My={name:"handle"},ky={name:"center"};const{abs:nK,max:Uo,min:jo}=Math;function iK(e){return[+e[0],+e[1]]}function dR(e){return[iK(e[0]),iK(e[1])]}var YS={name:"x",handles:["w","e"].map(xT),input:function(e,n){return null==e?null:[[+e[0],n[0][1]],[+e[1],n[1][1]]]},output:function(e){return e&&[e[0][0],e[1][0]]}},VS={name:"y",handles:["n","s"].map(xT),input:function(e,n){return null==e?null:[[n[0][0],+e[0]],[n[1][0],+e[1]]]},output:function(e){return e&&[e[0][1],e[1][1]]}},qd=(["n","w","e","s","nw","ne","sw","se"].map(xT),{overlay:"crosshair",selection:"move",n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"}),rK={e:"w",w:"e",nw:"ne",ne:"nw",se:"sw",sw:"se"},oK={n:"s",s:"n",nw:"sw",ne:"se",se:"ne",sw:"nw"},dDe={overlay:1,selection:1,n:null,e:1,s:null,w:-1,nw:-1,ne:1,se:1,sw:-1},pDe={overlay:1,selection:1,n:-1,e:null,s:1,w:null,nw:-1,ne:-1,se:1,sw:1};function xT(e){return{type:e}}function fDe(e){return!e.ctrlKey&&!e.button}function hDe(){var e=this.ownerSVGElement||this;return e.hasAttribute("viewBox")?[[(e=e.viewBox.baseVal).x,e.y],[e.x+e.width,e.y+e.height]]:[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]}function gDe(){return navigator.maxTouchPoints||"ontouchstart"in this}function pR(e){for(;!e.__brush;)if(!(e=e.parentNode))return;return e.__brush}const _De=Math.sqrt(50),vDe=Math.sqrt(10),TDe=Math.sqrt(2);function zS(e,n,t){const i=(n-e)/Math.max(0,t),r=Math.floor(Math.log10(i)),o=i/Math.pow(10,r),a=o>=_De?10:o>=vDe?5:o>=TDe?2:1;let s,l,c;return r<0?(c=Math.pow(10,-r)/a,s=Math.round(e*c),l=Math.round(n*c),s/cn&&--l,c=-c):(c=Math.pow(10,r)*a,s=Math.round(e/c),l=Math.round(n/c),s*cn&&--l),l0))return[];if((e=+e)==(n=+n))return[e];const i=n=r))return[];const s=o-r+1,l=new Array(s);if(i)if(a<0)for(let c=0;cn?1:e>=n?0:NaN}function CDe(e,n){return null==e||null==n?NaN:ne?1:n>=e?0:NaN}function Py(e){let n,t,i;function r(s,l,c=0,u=s.length){if(c>>1;t(s[d],l)<0?c=d+1:u=d}while(cKd(e(s),l),i=(s,l)=>e(s)-l):(n=e===Kd||e===CDe?e:bDe,t=e,i=e),{left:r,center:function a(s,l,c=0,u=s.length){const d=r(s,l,c,u-1);return d>c&&i(s[d-1],l)>-i(s[d],l)?d-1:d},right:function o(s,l,c=0,u=s.length){if(c>>1;t(s[d],l)<=0?c=d+1:u=d}while(cn&&(t=e,e=n,n=t),function(i){return Math.max(e,Math.min(n,i))}}(e[0],e[p-1])),s=p>2?DDe:FDe,l=c=null,d}function d(p){return null==p||isNaN(p=+p)?o:(l||(l=s(e.map(i),n,t)))(i(a(p)))}return d.invert=function(p){return a(r((c||(c=s(n,e.map(i),Cl)))(p)))},d.domain=function(p){return arguments.length?(e=Array.from(p,mR),u()):e.slice()},d.range=function(p){return arguments.length?(n=Array.from(p),u()):n.slice()},d.rangeRound=function(p){return n=Array.from(p),t=DT,u()},d.clamp=function(p){return arguments.length?(a=!!p||as,u()):a!==as},d.interpolate=function(p){return arguments.length?(t=p,u()):t},d.unknown=function(p){return arguments.length?(o=p,d):o},function(p,f){return i=p,r=f,u()}}function cK(){return US()(as,as)}function Fu(e,n){switch(arguments.length){case 0:break;case 1:this.range(e);break;default:this.range(n).domain(e)}return this}function vf(e,n){switch(arguments.length){case 0:break;case 1:"function"==typeof e?this.interpolator(e):this.range(e);break;default:this.domain(e),"function"==typeof n?this.interpolator(n):this.range(n)}return this}var dK,EDe=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function xg(e){if(!(n=EDe.exec(e)))throw new Error("invalid format: "+e);var n;return new _R({fill:n[1],align:n[2],sign:n[3],symbol:n[4],zero:n[5],width:n[6],comma:n[7],precision:n[8]&&n[8].slice(1),trim:n[9],type:n[10]})}function _R(e){this.fill=void 0===e.fill?" ":e.fill+"",this.align=void 0===e.align?">":e.align+"",this.sign=void 0===e.sign?"-":e.sign+"",this.symbol=void 0===e.symbol?"":e.symbol+"",this.zero=!!e.zero,this.width=void 0===e.width?void 0:+e.width,this.comma=!!e.comma,this.precision=void 0===e.precision?void 0:+e.precision,this.trim=!!e.trim,this.type=void 0===e.type?"":e.type+""}function jS(e,n){if((t=(e=n?e.toExponential(n-1):e.toExponential()).indexOf("e"))<0)return null;var t,i=e.slice(0,t);return[i.length>1?i[0]+i.slice(2):i,+e.slice(t+1)]}function Ny(e){return(e=jS(Math.abs(e)))?e[1]:NaN}function uK(e,n){return Math.max(0,3*Math.max(-8,Math.min(8,Math.floor(Ny(n)/3)))-Ny(Math.abs(e)))}function pK(e,n){var t=jS(e,n);if(!t)return e+"";var i=t[0],r=t[1];return r<0?"0."+new Array(-r).join("0")+i:i.length>r+1?i.slice(0,r+1)+"."+i.slice(r+1):i+new Array(r-i.length+2).join("0")}xg.prototype=_R.prototype,_R.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(void 0===this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(void 0===this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};const fK={"%":(e,n)=>(100*e).toFixed(n),b:e=>Math.round(e).toString(2),c:e=>e+"",d:function IDe(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString("en").replace(/,/g,""):e.toString(10)},e:(e,n)=>e.toExponential(n),f:(e,n)=>e.toFixed(n),g:(e,n)=>e.toPrecision(n),o:e=>Math.round(e).toString(8),p:(e,n)=>pK(100*e,n),r:pK,s:function kDe(e,n){var t=jS(e,n);if(!t)return e+"";var i=t[0],r=t[1],o=r-(dK=3*Math.max(-8,Math.min(8,Math.floor(r/3))))+1,a=i.length;return o===a?i:o>a?i+new Array(o-a+1).join("0"):o>0?i.slice(0,o)+"."+i.slice(o):"0."+new Array(1-o).join("0")+jS(e,Math.max(0,n+o-1))[0]},X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function hK(e){return e}var WS,qS,vR,gK=Array.prototype.map,mK=["y","z","a","f","p","n","\xb5","m","","k","M","G","T","P","E","Z","Y"];function yK(e){var n=void 0===e.grouping||void 0===e.thousands?hK:function RDe(e,n){return function(t,i){for(var r=t.length,o=[],a=0,s=e[0],l=0;r>0&&s>0&&(l+s+1>i&&(s=Math.max(1,i-l)),o.push(t.substring(r-=s,r+s)),!((l+=s+1)>i));)s=e[a=(a+1)%e.length];return o.reverse().join(n)}}(gK.call(e.grouping,Number),e.thousands+""),t=void 0===e.currency?"":e.currency[0]+"",i=void 0===e.currency?"":e.currency[1]+"",r=void 0===e.decimal?".":e.decimal+"",o=void 0===e.numerals?hK:function LDe(e){return function(n){return n.replace(/[0-9]/g,function(t){return e[+t]})}}(gK.call(e.numerals,String)),a=void 0===e.percent?"%":e.percent+"",s=void 0===e.minus?"\u2212":e.minus+"",l=void 0===e.nan?"NaN":e.nan+"";function c(d){var p=(d=xg(d)).fill,f=d.align,h=d.sign,g=d.symbol,m=d.zero,_=d.width,v=d.comma,C=d.precision,A=d.trim,S=d.type;"n"===S?(v=!0,S="g"):fK[S]||(void 0===C&&(C=12),A=!0,S="g"),(m||"0"===p&&"="===f)&&(m=!0,p="0",f="=");var I="$"===g?t:"#"===g&&/[boxX]/.test(S)?"0"+S.toLowerCase():"",w="$"===g?i:/[%p]/.test(S)?a:"",O=fK[S],B=/[defgprs%]/.test(S);function W(q){var F,M,L,te=I,K=w;if("c"===S)K=O(q)+K,q="";else{var Y=(q=+q)<0||1/q<0;if(q=isNaN(q)?l:O(Math.abs(q),C),A&&(q=function MDe(e){e:for(var r,n=e.length,t=1,i=-1;t0&&(i=0)}return i>0?e.slice(0,i)+e.slice(r+1):e}(q)),Y&&0==+q&&"+"!==h&&(Y=!1),te=(Y?"("===h?h:s:"-"===h||"("===h?"":h)+te,K=("s"===S?mK[8+dK/3]:"")+K+(Y&&"("===h?")":""),B)for(F=-1,M=q.length;++F(L=q.charCodeAt(F))||L>57){K=(46===L?r+q.slice(F+1):q.slice(F))+K,q=q.slice(0,F);break}}v&&!m&&(q=n(q,1/0));var P=te.length+q.length+K.length,$=P<_?new Array(_-P+1).join(p):"";switch(v&&m&&(q=n($+q,$.length?_-K.length:1/0),$=""),f){case"<":q=te+q+K+$;break;case"=":q=te+$+q+K;break;case"^":q=$.slice(0,P=$.length>>1)+te+q+K+$.slice(P);break;default:q=$+te+q+K}return o(q)}return C=void 0===C?6:/[gprs]/.test(S)?Math.max(1,Math.min(21,C)):Math.max(0,Math.min(20,C)),W.toString=function(){return d+""},W}return{format:c,formatPrefix:function u(d,p){var f=c(((d=xg(d)).type="f",d)),h=3*Math.max(-8,Math.min(8,Math.floor(Ny(p)/3))),g=Math.pow(10,-h),m=mK[8+h/3];return function(_){return f(g*_)+m}}}}function _K(e,n){return e=Math.abs(e),n=Math.abs(n)-e,Math.max(0,Ny(n)-Ny(e))+1}function vK(e){return Math.max(0,-Ny(Math.abs(e)))}function TK(e,n,t,i){var o,r=_f(e,n,t);switch((i=xg(i??",f")).type){case"s":var a=Math.max(Math.abs(e),Math.abs(n));return null==i.precision&&!isNaN(o=uK(r,a))&&(i.precision=o),vR(i,a);case"":case"e":case"g":case"p":case"r":null==i.precision&&!isNaN(o=_K(r,Math.max(Math.abs(e),Math.abs(n))))&&(i.precision=o-("e"===i.type));break;case"f":case"%":null==i.precision&&!isNaN(o=vK(r))&&(i.precision=o-2*("%"===i.type))}return qS(i)}function Fg(e){var n=e.domain;return e.ticks=function(t){var i=n();return hR(i[0],i[i.length-1],t??10)},e.tickFormat=function(t,i){var r=n();return TK(r[0],r[r.length-1],t??10,i)},e.nice=function(t){null==t&&(t=10);var l,c,i=n(),r=0,o=i.length-1,a=i[r],s=i[o],u=10;for(s0;){if((c=gR(a,s,t))===l)return i[r]=a,i[o]=s,n(i);if(c>0)a=Math.floor(a/c)*c,s=Math.ceil(s/c)*c;else{if(!(c<0))break;a=Math.ceil(a*c)/c,s=Math.floor(s*c)/c}l=c}return e},e}function vc(){var e=cK();return e.copy=function(){return ET(e,vc())},Fu.apply(e,arguments),Fg(e)}!function PDe(e){WS=yK(e),qS=WS.format,vR=WS.formatPrefix}({thousands:",",grouping:[3],currency:["$",""]});const Zd=1e3,bl=60*Zd,Xd=60*bl,Qd=24*Xd,TR=7*Qd,CK=30*Qd,CR=365*Qd,bR=new Date,AR=new Date;function Vr(e,n,t,i){function r(o){return e(o=0===arguments.length?new Date:new Date(+o)),o}return r.floor=o=>(e(o=new Date(+o)),o),r.ceil=o=>(e(o=new Date(o-1)),n(o,1),e(o),o),r.round=o=>{const a=r(o),s=r.ceil(o);return o-a(n(o=new Date(+o),null==a?1:Math.floor(a)),o),r.range=(o,a,s)=>{const l=[];if(o=r.ceil(o),s=null==s?1:Math.floor(s),!(o0))return l;let c;do{l.push(c=new Date(+o)),n(o,s),e(o)}while(cVr(a=>{if(a>=a)for(;e(a),!o(a);)a.setTime(a-1)},(a,s)=>{if(a>=a)if(s<0)for(;++s<=0;)for(;n(a,-1),!o(a););else for(;--s>=0;)for(;n(a,1),!o(a););}),t&&(r.count=(o,a)=>(bR.setTime(+o),AR.setTime(+a),e(bR),e(AR),Math.floor(t(bR,AR))),r.every=o=>(o=Math.floor(o),isFinite(o)&&o>0?o>1?r.filter(i?a=>i(a)%o==0:a=>r.count(0,a)%o==0):r:null)),r}const Oy=Vr(()=>{},(e,n)=>{e.setTime(+e+n)},(e,n)=>n-e);Oy.every=e=>(e=Math.floor(e),isFinite(e)&&e>0?e>1?Vr(n=>{n.setTime(Math.floor(n/e)*e)},(n,t)=>{n.setTime(+n+t*e)},(n,t)=>(t-n)/e):Oy:null);const Du=Vr(e=>{e.setTime(e-e.getMilliseconds())},(e,n)=>{e.setTime(+e+n*Zd)},(e,n)=>(n-e)/Zd,e=>e.getUTCSeconds()),IT=Vr(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*Zd)},(e,n)=>{e.setTime(+e+n*bl)},(e,n)=>(n-e)/bl,e=>e.getMinutes()),KS=Vr(e=>{e.setUTCSeconds(0,0)},(e,n)=>{e.setTime(+e+n*bl)},(e,n)=>(n-e)/bl,e=>e.getUTCMinutes()),ZS=Vr(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*Zd-e.getMinutes()*bl)},(e,n)=>{e.setTime(+e+n*Xd)},(e,n)=>(n-e)/Xd,e=>e.getHours()),XS=Vr(e=>{e.setUTCMinutes(0,0,0)},(e,n)=>{e.setTime(+e+n*Xd)},(e,n)=>(n-e)/Xd,e=>e.getUTCHours()),Jd=Vr(e=>e.setHours(0,0,0,0),(e,n)=>e.setDate(e.getDate()+n),(e,n)=>(n-e-(n.getTimezoneOffset()-e.getTimezoneOffset())*bl)/Qd,e=>e.getDate()-1),Tf=Vr(e=>{e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCDate(e.getUTCDate()+n)},(e,n)=>(n-e)/Qd,e=>e.getUTCDate()-1),bK=Vr(e=>{e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCDate(e.getUTCDate()+n)},(e,n)=>(n-e)/Qd,e=>Math.floor(e/Qd));function Dg(e){return Vr(n=>{n.setDate(n.getDate()-(n.getDay()+7-e)%7),n.setHours(0,0,0,0)},(n,t)=>{n.setDate(n.getDate()+7*t)},(n,t)=>(t-n-(t.getTimezoneOffset()-n.getTimezoneOffset())*bl)/TR)}const Hy=Dg(0),QS=Dg(1),Gy=(Dg(2),Dg(3),Dg(4));function Eg(e){return Vr(n=>{n.setUTCDate(n.getUTCDate()-(n.getUTCDay()+7-e)%7),n.setUTCHours(0,0,0,0)},(n,t)=>{n.setUTCDate(n.getUTCDate()+7*t)},(n,t)=>(t-n)/TR)}Dg(5),Dg(6);const By=Eg(0),JS=Eg(1),Yy=(Eg(2),Eg(3),Eg(4)),RT=(Eg(5),Eg(6),Vr(e=>{e.setDate(1),e.setHours(0,0,0,0)},(e,n)=>{e.setMonth(e.getMonth()+n)},(e,n)=>n.getMonth()-e.getMonth()+12*(n.getFullYear()-e.getFullYear()),e=>e.getMonth())),LT=Vr(e=>{e.setUTCDate(1),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCMonth(e.getUTCMonth()+n)},(e,n)=>n.getUTCMonth()-e.getUTCMonth()+12*(n.getUTCFullYear()-e.getUTCFullYear()),e=>e.getUTCMonth()),Eu=Vr(e=>{e.setMonth(0,1),e.setHours(0,0,0,0)},(e,n)=>{e.setFullYear(e.getFullYear()+n)},(e,n)=>n.getFullYear()-e.getFullYear(),e=>e.getFullYear());Eu.every=e=>isFinite(e=Math.floor(e))&&e>0?Vr(n=>{n.setFullYear(Math.floor(n.getFullYear()/e)*e),n.setMonth(0,1),n.setHours(0,0,0,0)},(n,t)=>{n.setFullYear(n.getFullYear()+t*e)}):null;const Iu=Vr(e=>{e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCFullYear(e.getUTCFullYear()+n)},(e,n)=>n.getUTCFullYear()-e.getUTCFullYear(),e=>e.getUTCFullYear());function AK(e,n,t,i,r,o){const a=[[Du,1,Zd],[Du,5,5*Zd],[Du,15,15*Zd],[Du,30,30*Zd],[o,1,bl],[o,5,5*bl],[o,15,15*bl],[o,30,30*bl],[r,1,Xd],[r,3,3*Xd],[r,6,6*Xd],[r,12,12*Xd],[i,1,Qd],[i,2,2*Qd],[t,1,TR],[n,1,CK],[n,3,3*CK],[e,1,CR]];function l(c,u,d){const p=Math.abs(u-c)/d,f=Py(([,,m])=>m).right(a,p);if(f===a.length)return e.every(_f(c/CR,u/CR,d));if(0===f)return Oy.every(Math.max(_f(c,u,d),1));const[h,g]=a[p/a[f-1][2]isFinite(e=Math.floor(e))&&e>0?Vr(n=>{n.setUTCFullYear(Math.floor(n.getUTCFullYear()/e)*e),n.setUTCMonth(0,1),n.setUTCHours(0,0,0,0)},(n,t)=>{n.setUTCFullYear(n.getUTCFullYear()+t*e)}):null;const[$De,UDe]=AK(Iu,LT,By,bK,XS,KS),[jDe,WDe]=AK(Eu,RT,Hy,Jd,ZS,IT);function SR(e){if(0<=e.y&&e.y<100){var n=new Date(-1,e.m,e.d,e.H,e.M,e.S,e.L);return n.setFullYear(e.y),n}return new Date(e.y,e.m,e.d,e.H,e.M,e.S,e.L)}function wR(e){if(0<=e.y&&e.y<100){var n=new Date(Date.UTC(-1,e.m,e.d,e.H,e.M,e.S,e.L));return n.setUTCFullYear(e.y),n}return new Date(Date.UTC(e.y,e.m,e.d,e.H,e.M,e.S,e.L))}function MT(e,n,t){return{y:e,m:n,d:t,H:0,M:0,S:0,L:0}}function SK(e){var n=e.dateTime,t=e.date,i=e.time,r=e.periods,o=e.days,a=e.shortDays,s=e.months,l=e.shortMonths,c=kT(r),u=PT(r),d=kT(o),p=PT(o),f=kT(a),h=PT(a),g=kT(s),m=PT(s),_=kT(l),v=PT(l),C={a:function Y(ye){return a[ye.getDay()]},A:function P(ye){return o[ye.getDay()]},b:function $(ye){return l[ye.getMonth()]},B:function U(ye){return s[ye.getMonth()]},c:null,d:IK,e:IK,f:m4e,g:x4e,G:D4e,H:f4e,I:h4e,j:g4e,L:RK,m:y4e,M:_4e,p:function ee(ye){return r[+(ye.getHours()>=12)]},q:function oe(ye){return 1+~~(ye.getMonth()/3)},Q:OK,s:HK,S:v4e,u:T4e,U:C4e,V:b4e,w:A4e,W:S4e,x:null,X:null,y:w4e,Y:F4e,Z:E4e,"%":NK},A={a:function ce(ye){return a[ye.getUTCDay()]},A:function se(ye){return o[ye.getUTCDay()]},b:function fe(ye){return l[ye.getUTCMonth()]},B:function Le(ye){return s[ye.getUTCMonth()]},c:null,d:MK,e:MK,f:M4e,g:z4e,G:U4e,H:I4e,I:R4e,j:L4e,L:kK,m:k4e,M:P4e,p:function me(ye){return r[+(ye.getUTCHours()>=12)]},q:function Ge(ye){return 1+~~(ye.getUTCMonth()/3)},Q:OK,s:HK,S:N4e,u:O4e,U:H4e,V:G4e,w:B4e,W:Y4e,x:null,X:null,y:V4e,Y:$4e,Z:j4e,"%":NK},S={a:function W(ye,Ee,ke){var he=f.exec(Ee.slice(ke));return he?(ye.w=h.get(he[0].toLowerCase()),ke+he[0].length):-1},A:function q(ye,Ee,ke){var he=d.exec(Ee.slice(ke));return he?(ye.w=p.get(he[0].toLowerCase()),ke+he[0].length):-1},b:function te(ye,Ee,ke){var he=_.exec(Ee.slice(ke));return he?(ye.m=v.get(he[0].toLowerCase()),ke+he[0].length):-1},B:function K(ye,Ee,ke){var he=g.exec(Ee.slice(ke));return he?(ye.m=m.get(he[0].toLowerCase()),ke+he[0].length):-1},c:function F(ye,Ee,ke){return O(ye,n,Ee,ke)},d:DK,e:DK,f:c4e,g:FK,G:xK,H:EK,I:EK,j:o4e,L:l4e,m:r4e,M:a4e,p:function B(ye,Ee,ke){var he=c.exec(Ee.slice(ke));return he?(ye.p=u.get(he[0].toLowerCase()),ke+he[0].length):-1},q:i4e,Q:d4e,s:p4e,S:s4e,u:QDe,U:JDe,V:e4e,w:XDe,W:t4e,x:function M(ye,Ee,ke){return O(ye,t,Ee,ke)},X:function L(ye,Ee,ke){return O(ye,i,Ee,ke)},y:FK,Y:xK,Z:n4e,"%":u4e};function I(ye,Ee){return function(ke){var ht,ze,Ut,he=[],qe=-1,ut=0,zt=ye.length;for(ke instanceof Date||(ke=new Date(+ke));++qe53)return null;"w"in he||(he.w=1),"Z"in he?(zt=(ut=wR(MT(he.y,0,1))).getUTCDay(),ut=zt>4||0===zt?JS.ceil(ut):JS(ut),ut=Tf.offset(ut,7*(he.V-1)),he.y=ut.getUTCFullYear(),he.m=ut.getUTCMonth(),he.d=ut.getUTCDate()+(he.w+6)%7):(zt=(ut=SR(MT(he.y,0,1))).getDay(),ut=zt>4||0===zt?QS.ceil(ut):QS(ut),ut=Jd.offset(ut,7*(he.V-1)),he.y=ut.getFullYear(),he.m=ut.getMonth(),he.d=ut.getDate()+(he.w+6)%7)}else("W"in he||"U"in he)&&("w"in he||(he.w="u"in he?he.u%7:"W"in he?1:0),zt="Z"in he?wR(MT(he.y,0,1)).getUTCDay():SR(MT(he.y,0,1)).getDay(),he.m=0,he.d="W"in he?(he.w+6)%7+7*he.W-(zt+5)%7:he.w+7*he.U-(zt+6)%7);return"Z"in he?(he.H+=he.Z/100|0,he.M+=he.Z%100,wR(he)):SR(he)}}function O(ye,Ee,ke,he){for(var ht,ze,qe=0,ut=Ee.length,zt=ke.length;qe=zt)return-1;if(37===(ht=Ee.charCodeAt(qe++))){if(ht=Ee.charAt(qe++),!(ze=S[ht in wK?Ee.charAt(qe++):ht])||(he=ze(ye,ke,he))<0)return-1}else if(ht!=ke.charCodeAt(he++))return-1}return he}return C.x=I(t,C),C.X=I(i,C),C.c=I(n,C),A.x=I(t,A),A.X=I(i,A),A.c=I(n,A),{format:function(ye){var Ee=I(ye+="",C);return Ee.toString=function(){return ye},Ee},parse:function(ye){var Ee=w(ye+="",!1);return Ee.toString=function(){return ye},Ee},utcFormat:function(ye){var Ee=I(ye+="",A);return Ee.toString=function(){return ye},Ee},utcParse:function(ye){var Ee=w(ye+="",!0);return Ee.toString=function(){return ye},Ee}}}var Vy,xR,GK,FR,BK,wK={"-":"",_:" ",0:"0"},oo=/^\s*\d+/,qDe=/^%/,KDe=/[\\^$*+?|[\]().{}]/g;function Wn(e,n,t){var i=e<0?"-":"",r=(i?-e:e)+"",o=r.length;return i+(o[n.toLowerCase(),t]))}function XDe(e,n,t){var i=oo.exec(n.slice(t,t+1));return i?(e.w=+i[0],t+i[0].length):-1}function QDe(e,n,t){var i=oo.exec(n.slice(t,t+1));return i?(e.u=+i[0],t+i[0].length):-1}function JDe(e,n,t){var i=oo.exec(n.slice(t,t+2));return i?(e.U=+i[0],t+i[0].length):-1}function e4e(e,n,t){var i=oo.exec(n.slice(t,t+2));return i?(e.V=+i[0],t+i[0].length):-1}function t4e(e,n,t){var i=oo.exec(n.slice(t,t+2));return i?(e.W=+i[0],t+i[0].length):-1}function xK(e,n,t){var i=oo.exec(n.slice(t,t+4));return i?(e.y=+i[0],t+i[0].length):-1}function FK(e,n,t){var i=oo.exec(n.slice(t,t+2));return i?(e.y=+i[0]+(+i[0]>68?1900:2e3),t+i[0].length):-1}function n4e(e,n,t){var i=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(n.slice(t,t+6));return i?(e.Z=i[1]?0:-(i[2]+(i[3]||"00")),t+i[0].length):-1}function i4e(e,n,t){var i=oo.exec(n.slice(t,t+1));return i?(e.q=3*i[0]-3,t+i[0].length):-1}function r4e(e,n,t){var i=oo.exec(n.slice(t,t+2));return i?(e.m=i[0]-1,t+i[0].length):-1}function DK(e,n,t){var i=oo.exec(n.slice(t,t+2));return i?(e.d=+i[0],t+i[0].length):-1}function o4e(e,n,t){var i=oo.exec(n.slice(t,t+3));return i?(e.m=0,e.d=+i[0],t+i[0].length):-1}function EK(e,n,t){var i=oo.exec(n.slice(t,t+2));return i?(e.H=+i[0],t+i[0].length):-1}function a4e(e,n,t){var i=oo.exec(n.slice(t,t+2));return i?(e.M=+i[0],t+i[0].length):-1}function s4e(e,n,t){var i=oo.exec(n.slice(t,t+2));return i?(e.S=+i[0],t+i[0].length):-1}function l4e(e,n,t){var i=oo.exec(n.slice(t,t+3));return i?(e.L=+i[0],t+i[0].length):-1}function c4e(e,n,t){var i=oo.exec(n.slice(t,t+6));return i?(e.L=Math.floor(i[0]/1e3),t+i[0].length):-1}function u4e(e,n,t){var i=qDe.exec(n.slice(t,t+1));return i?t+i[0].length:-1}function d4e(e,n,t){var i=oo.exec(n.slice(t));return i?(e.Q=+i[0],t+i[0].length):-1}function p4e(e,n,t){var i=oo.exec(n.slice(t));return i?(e.s=+i[0],t+i[0].length):-1}function IK(e,n){return Wn(e.getDate(),n,2)}function f4e(e,n){return Wn(e.getHours(),n,2)}function h4e(e,n){return Wn(e.getHours()%12||12,n,2)}function g4e(e,n){return Wn(1+Jd.count(Eu(e),e),n,3)}function RK(e,n){return Wn(e.getMilliseconds(),n,3)}function m4e(e,n){return RK(e,n)+"000"}function y4e(e,n){return Wn(e.getMonth()+1,n,2)}function _4e(e,n){return Wn(e.getMinutes(),n,2)}function v4e(e,n){return Wn(e.getSeconds(),n,2)}function T4e(e){var n=e.getDay();return 0===n?7:n}function C4e(e,n){return Wn(Hy.count(Eu(e)-1,e),n,2)}function LK(e){var n=e.getDay();return n>=4||0===n?Gy(e):Gy.ceil(e)}function b4e(e,n){return e=LK(e),Wn(Gy.count(Eu(e),e)+(4===Eu(e).getDay()),n,2)}function A4e(e){return e.getDay()}function S4e(e,n){return Wn(QS.count(Eu(e)-1,e),n,2)}function w4e(e,n){return Wn(e.getFullYear()%100,n,2)}function x4e(e,n){return Wn((e=LK(e)).getFullYear()%100,n,2)}function F4e(e,n){return Wn(e.getFullYear()%1e4,n,4)}function D4e(e,n){var t=e.getDay();return Wn((e=t>=4||0===t?Gy(e):Gy.ceil(e)).getFullYear()%1e4,n,4)}function E4e(e){var n=e.getTimezoneOffset();return(n>0?"-":(n*=-1,"+"))+Wn(n/60|0,"0",2)+Wn(n%60,"0",2)}function MK(e,n){return Wn(e.getUTCDate(),n,2)}function I4e(e,n){return Wn(e.getUTCHours(),n,2)}function R4e(e,n){return Wn(e.getUTCHours()%12||12,n,2)}function L4e(e,n){return Wn(1+Tf.count(Iu(e),e),n,3)}function kK(e,n){return Wn(e.getUTCMilliseconds(),n,3)}function M4e(e,n){return kK(e,n)+"000"}function k4e(e,n){return Wn(e.getUTCMonth()+1,n,2)}function P4e(e,n){return Wn(e.getUTCMinutes(),n,2)}function N4e(e,n){return Wn(e.getUTCSeconds(),n,2)}function O4e(e){var n=e.getUTCDay();return 0===n?7:n}function H4e(e,n){return Wn(By.count(Iu(e)-1,e),n,2)}function PK(e){var n=e.getUTCDay();return n>=4||0===n?Yy(e):Yy.ceil(e)}function G4e(e,n){return e=PK(e),Wn(Yy.count(Iu(e),e)+(4===Iu(e).getUTCDay()),n,2)}function B4e(e){return e.getUTCDay()}function Y4e(e,n){return Wn(JS.count(Iu(e)-1,e),n,2)}function V4e(e,n){return Wn(e.getUTCFullYear()%100,n,2)}function z4e(e,n){return Wn((e=PK(e)).getUTCFullYear()%100,n,2)}function $4e(e,n){return Wn(e.getUTCFullYear()%1e4,n,4)}function U4e(e,n){var t=e.getUTCDay();return Wn((e=t>=4||0===t?Yy(e):Yy.ceil(e)).getUTCFullYear()%1e4,n,4)}function j4e(){return"+0000"}function NK(){return"%"}function OK(e){return+e}function HK(e){return Math.floor(+e/1e3)}function YK(e,n){var a,t=0,i=(e=e.slice()).length-1,r=e[t],o=e[i];return o-e(-n,t)}function ER(e){const n=e(VK,zK),t=n.domain;let r,o,i=10;function a(){return r=function eEe(e){return e===Math.E?Math.log:10===e&&Math.log10||2===e&&Math.log2||(e=Math.log(e),n=>Math.log(n)/e)}(i),o=function J4e(e){return 10===e?Q4e:e===Math.E?Math.exp:n=>Math.pow(e,n)}(i),t()[0]<0?(r=$K(r),o=$K(o),e(Z4e,X4e)):e(VK,zK),n}return n.base=function(s){return arguments.length?(i=+s,a()):i},n.domain=function(s){return arguments.length?(t(s),a()):t()},n.ticks=s=>{const l=t();let c=l[0],u=l[l.length-1];const d=u0){for(;p<=f;++p)for(h=1;hu)break;_.push(g)}}else for(;p<=f;++p)for(h=i-1;h>=1;--h)if(g=p>0?h/o(-p):h*o(p),!(gu)break;_.push(g)}2*_.length{if(null==s&&(s=10),null==l&&(l=10===i?"s":","),"function"!=typeof l&&(!(i%1)&&null==(l=xg(l)).precision&&(l.trim=!0),l=qS(l)),s===1/0)return l;const c=Math.max(1,i*s/n.ticks().length);return u=>{let d=u/o(Math.round(r(u)));return d*it(YK(t(),{floor:s=>o(Math.floor(r(s))),ceil:s=>o(Math.ceil(r(s)))})),n}function jK(e){return function(n){return Math.sign(n)*Math.log1p(Math.abs(n/e))}}function WK(e){return function(n){return Math.sign(n)*Math.expm1(Math.abs(n))*e}}function IR(e){var n=1,t=e(jK(n),WK(n));return t.constant=function(i){return arguments.length?e(jK(n=+i),WK(n)):n},Fg(t)}function KK(e){return function(n){return n<0?-Math.pow(-n,e):Math.pow(n,e)}}function tEe(e){return e<0?-Math.sqrt(-e):Math.sqrt(e)}function nEe(e){return e<0?-e*e:e*e}function RR(e){var n=e(as,as),t=1;return n.exponent=function(r){return arguments.length?(t=+r,function i(){return 1===t?e(as,as):.5===t?e(tEe,nEe):e(KK(t),KK(1/t))}()):t},Fg(n)}function LR(){var e=RR(US());return e.copy=function(){return ET(e,LR()).exponent(e.exponent())},Fu.apply(e,arguments),e}function tw(){var t,i,r,o,l,e=0,n=1,a=as,s=!1;function c(d){return null==d||isNaN(d=+d)?l:a(0===r?.5:(d=(o(d)-t)*r,s?Math.max(0,Math.min(1,d)):d))}function u(d){return function(p){var f,h;return arguments.length?([f,h]=p,a=d(f,h),c):[a(0),a(1)]}}return c.domain=function(d){return arguments.length?([e,n]=d,t=o(e=+e),i=o(n=+n),r=t===i?0:1/(i-t),c):[e,n]},c.clamp=function(d){return arguments.length?(s=!!d,c):s},c.interpolator=function(d){return arguments.length?(a=d,c):a},c.range=u(Ud),c.rangeRound=u(DT),c.unknown=function(d){return arguments.length?(l=d,c):l},function(d){return o=d,t=d(e),i=d(n),r=t===i?0:1/(i-t),c}}function Cf(e,n){return n.domain(e.domain()).interpolator(e.interpolator()).clamp(e.clamp()).unknown(e.unknown())}function Ig(){var e=Fg(tw()(as));return e.copy=function(){return Cf(e,Ig())},vf.apply(e,arguments)}function MR(){var e=RR(tw());return e.copy=function(){return Cf(e,MR()).exponent(e.exponent())},vf.apply(e,arguments)}function Tc(e){for(var n=e.length/6|0,t=new Array(n),i=0;i=0))throw new Error(`invalid digits: ${e}`);if(n>15)return tZ;const t=10**n;return function(i){this._+=i[0];for(let r=1,o=i.length;rRg)if(Math.abs(d*l-c*u)>Rg&&o){let f=i-a,h=r-s,g=l*l+c*c,m=f*f+h*h,_=Math.sqrt(g),v=Math.sqrt(p),C=o*Math.tan((PR-Math.acos((g+p-m)/(2*_*v)))/2),A=C/v,S=C/_;Math.abs(A-1)>Rg&&this._append`L${n+A*u},${t+A*d}`,this._append`A${o},${o},0,0,${+(d*f>u*h)},${this._x1=n+S*l},${this._y1=t+S*c}`}else this._append`L${this._x1=n},${this._y1=t}`}arc(n,t,i,r,o,a){if(n=+n,t=+t,a=!!a,(i=+i)<0)throw new Error(`negative radius: ${i}`);let s=i*Math.cos(r),l=i*Math.sin(r),c=n+s,u=t+l,d=1^a,p=a?r-o:o-r;null===this._x1?this._append`M${c},${u}`:(Math.abs(this._x1-c)>Rg||Math.abs(this._y1-u)>Rg)&&this._append`L${c},${u}`,i&&(p<0&&(p=p%NR+NR),p>lEe?this._append`A${i},${i},0,1,${d},${n-s},${t-l}A${i},${i},0,1,${d},${this._x1=c},${this._y1=u}`:p>Rg&&this._append`A${i},${i},0,${+(p>=PR)},${d},${this._x1=n+i*Math.cos(o)},${this._y1=t+i*Math.sin(o)}`)}rect(n,t,i,r){this._append`M${this._x0=this._x1=+n},${this._y0=this._y1=+t}h${i=+i}v${+r}h${-i}Z`}toString(){return this._}}function iw(){return new nw}function rw(e){let n=3;return e.digits=function(t){if(!arguments.length)return n;if(null==t)n=null;else{const i=Math.floor(t);if(!(i>=0))throw new RangeError(`invalid digits: ${t}`);n=i}return e},()=>new nw(n)}function nZ(e){return e[0]}function iZ(e){return e[1]}function ow(e,n){var t=ni(!0),i=null,r=kR,o=null,a=rw(s);function s(l){var c,d,f,u=(l=JK(l)).length,p=!1;for(null==i&&(o=r(f=a())),c=0;c<=u;++c)!(cn()),this._onDoneFns=[])}onStart(n){this._originalOnStartFns.push(n),this._onStartFns.push(n)}onDone(n){this._originalOnDoneFns.push(n),this._onDoneFns.push(n)}onDestroy(n){this._onDestroyFns.push(n)}hasStarted(){return this._started}init(){}play(){this.hasStarted()||(this._onStart(),this.triggerMicrotask()),this._started=!0}triggerMicrotask(){lZ(()=>this._onFinish())}_onStart(){this._onStartFns.forEach(n=>n()),this._onStartFns=[]}pause(){}restart(){}finish(){this._onFinish()}destroy(){this._destroyed||(this._destroyed=!0,this.hasStarted()||this._onStart(),this.finish(),this._onDestroyFns.forEach(n=>n()),this._onDestroyFns=[])}reset(){this._started=!1,this._finished=!1,this._onStartFns=this._originalOnStartFns,this._onDoneFns=this._originalOnDoneFns}setPosition(n){this._position=this.totalTime?n*this.totalTime:1}getPosition(){return this.totalTime?this._position/this.totalTime:1}triggerCallback(n){const t="start"==n?this._onStartFns:this._onDoneFns;t.forEach(i=>i()),t.length=0}}class cZ{constructor(n){this._onDoneFns=[],this._onStartFns=[],this._finished=!1,this._started=!1,this._destroyed=!1,this._onDestroyFns=[],this.parentPlayer=null,this.totalTime=0,this.players=n;let t=0,i=0,r=0;const o=this.players.length;0==o?lZ(()=>this._onFinish()):this.players.forEach(a=>{a.onDone(()=>{++t==o&&this._onFinish()}),a.onDestroy(()=>{++i==o&&this._onDestroy()}),a.onStart(()=>{++r==o&&this._onStart()})}),this.totalTime=this.players.reduce((a,s)=>Math.max(a,s.totalTime),0)}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(n=>n()),this._onDoneFns=[])}init(){this.players.forEach(n=>n.init())}onStart(n){this._onStartFns.push(n)}_onStart(){this.hasStarted()||(this._started=!0,this._onStartFns.forEach(n=>n()),this._onStartFns=[])}onDone(n){this._onDoneFns.push(n)}onDestroy(n){this._onDestroyFns.push(n)}hasStarted(){return this._started}play(){this.parentPlayer||this.init(),this._onStart(),this.players.forEach(n=>n.play())}pause(){this.players.forEach(n=>n.pause())}restart(){this.players.forEach(n=>n.restart())}finish(){this._onFinish(),this.players.forEach(n=>n.finish())}destroy(){this._onDestroy()}_onDestroy(){this._destroyed||(this._destroyed=!0,this._onFinish(),this.players.forEach(n=>n.destroy()),this._onDestroyFns.forEach(n=>n()),this._onDestroyFns=[])}reset(){this.players.forEach(n=>n.reset()),this._destroyed=!1,this._finished=!1,this._started=!1}setPosition(n){const t=n*this.totalTime;this.players.forEach(i=>{const r=i.totalTime?Math.min(1,t/i.totalTime):1;i.setPosition(r)})}getPosition(){const n=this.players.reduce((t,i)=>null===t||i.totalTime>t.totalTime?i:t,null);return null!=n?n.getPosition():0}beforeDestroy(){this.players.forEach(n=>{n.beforeDestroy&&n.beforeDestroy()})}triggerCallback(n){const t="start"==n?this._onStartFns:this._onDoneFns;t.forEach(i=>i()),t.length=0}}const OR="!";function uZ(e){return new Ae(3e3,!1)}function QEe(){return typeof window<"u"&&typeof window.document<"u"}function HR(){return typeof process<"u"&&"[object process]"==={}.toString.call(process)}function bf(e){switch(e.length){case 0:return new OT;case 1:return e[0];default:return new cZ(e)}}function dZ(e,n,t,i,r=new Map,o=new Map){const a=[],s=[];let l=-1,c=null;if(i.forEach(u=>{const d=u.get("offset"),p=d==l,f=p&&c||new Map;u.forEach((h,g)=>{let m=g,_=h;if("offset"!==g)switch(m=n.normalizePropertyName(m,a),_){case OR:_=r.get(g);break;case ep:_=o.get(g);break;default:_=n.normalizeStyleValue(g,m,_,a)}f.set(m,_)}),p||s.push(f),c=f,l=d}),a.length)throw function BEe(e){return new Ae(3502,!1)}();return s}function GR(e,n,t,i){switch(n){case"start":e.onStart(()=>i(t&&BR(t,"start",e)));break;case"done":e.onDone(()=>i(t&&BR(t,"done",e)));break;case"destroy":e.onDestroy(()=>i(t&&BR(t,"destroy",e)))}}function BR(e,n,t){const o=YR(e.element,e.triggerName,e.fromState,e.toState,n||e.phaseName,t.totalTime??e.totalTime,!!t.disabled),a=e._data;return null!=a&&(o._data=a),o}function YR(e,n,t,i,r="",o=0,a){return{element:e,triggerName:n,fromState:t,toState:i,phaseName:r,totalTime:o,disabled:!!a}}function Gs(e,n,t){let i=e.get(n);return i||e.set(n,i=t),i}function pZ(e){const n=e.indexOf(":");return[e.substring(1,n),e.slice(n+1)]}let VR=(e,n)=>!1,fZ=(e,n,t)=>[],hZ=null;function zR(e){const n=e.parentNode||e.host;return n===hZ?null:n}(HR()||typeof Element<"u")&&(QEe()?(hZ=(()=>document.documentElement)(),VR=(e,n)=>{for(;n;){if(n===e)return!0;n=zR(n)}return!1}):VR=(e,n)=>e.contains(n),fZ=(e,n,t)=>{if(t)return Array.from(e.querySelectorAll(n));const i=e.querySelector(n);return i?[i]:[]});let Lg=null,gZ=!1;const mZ=VR,yZ=fZ;let _Z=(()=>{class e{validateStyleProperty(t){return function eIe(e){Lg||(Lg=function tIe(){return typeof document<"u"?document.body:null}()||{},gZ=!!Lg.style&&"WebkitAppearance"in Lg.style);let n=!0;return Lg.style&&!function JEe(e){return"ebkit"==e.substring(1,6)}(e)&&(n=e in Lg.style,!n&&gZ&&(n="Webkit"+e.charAt(0).toUpperCase()+e.slice(1)in Lg.style)),n}(t)}matchesElement(t,i){return!1}containsElement(t,i){return mZ(t,i)}getParentElement(t){return zR(t)}query(t,i,r){return yZ(t,i,r)}computeStyle(t,i,r){return r||""}animate(t,i,r,o,a,s=[],l){return new OT(r,o)}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=y({token:e,factory:e.\u0275fac}),e})(),$R=(()=>{class e{}return e.NOOP=new _Z,e})();const nIe=1e3,UR="ng-enter",cw="ng-leave",uw="ng-trigger",dw=".ng-trigger",TZ="ng-animating",jR=".ng-animating";function tp(e){if("number"==typeof e)return e;const n=e.match(/^(-?[\.\d]+)(m?s)/);return!n||n.length<2?0:WR(parseFloat(n[1]),n[2])}function WR(e,n){return"s"===n?e*nIe:e}function pw(e,n,t){return e.hasOwnProperty("duration")?e:function rIe(e,n,t){let r,o=0,a="";if("string"==typeof e){const s=e.match(/^(-?[\.\d]+)(m?s)(?:\s+(-?[\.\d]+)(m?s))?(?:\s+([-a-z]+(?:\(.+?\))?))?$/i);if(null===s)return n.push(uZ()),{duration:0,delay:0,easing:""};r=WR(parseFloat(s[1]),s[2]);const l=s[3];null!=l&&(o=WR(parseFloat(l),s[4]));const c=s[5];c&&(a=c)}else r=e;if(!t){let s=!1,l=n.length;r<0&&(n.push(function _Ee(){return new Ae(3100,!1)}()),s=!0),o<0&&(n.push(function vEe(){return new Ae(3101,!1)}()),s=!0),s&&n.splice(l,0,uZ())}return{duration:r,delay:o,easing:a}}(e,n,t)}function HT(e,n={}){return Object.keys(e).forEach(t=>{n[t]=e[t]}),n}function CZ(e){const n=new Map;return Object.keys(e).forEach(t=>{n.set(t,e[t])}),n}function Af(e,n=new Map,t){if(t)for(let[i,r]of t)n.set(i,r);for(let[i,r]of e)n.set(i,r);return n}function AZ(e,n,t){return t?n+":"+t+";":""}function SZ(e){let n="";for(let t=0;t{const o=KR(r);t&&!t.has(r)&&t.set(r,e.style[o]),e.style[o]=i}),HR()&&SZ(e))}function Mg(e,n){e.style&&(n.forEach((t,i)=>{const r=KR(i);e.style[r]=""}),HR()&&SZ(e))}function GT(e){return Array.isArray(e)?1==e.length?e[0]:aZ(e):e}const qR=new RegExp("{{\\s*(.+?)\\s*}}","g");function wZ(e){let n=[];if("string"==typeof e){let t;for(;t=qR.exec(e);)n.push(t[1]);qR.lastIndex=0}return n}function BT(e,n,t){const i=e.toString(),r=i.replace(qR,(o,a)=>{let s=n[a];return null==s&&(t.push(function CEe(e){return new Ae(3003,!1)}()),s=""),s.toString()});return r==i?e:r}function fw(e){const n=[];let t=e.next();for(;!t.done;)n.push(t.value),t=e.next();return n}const sIe=/-+([a-z0-9])/g;function KR(e){return e.replace(sIe,(...n)=>n[1].toUpperCase())}function lIe(e){return e.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}function Bs(e,n,t){switch(n.type){case 7:return e.visitTrigger(n,t);case 0:return e.visitState(n,t);case 1:return e.visitTransition(n,t);case 2:return e.visitSequence(n,t);case 3:return e.visitGroup(n,t);case 4:return e.visitAnimate(n,t);case 5:return e.visitKeyframes(n,t);case 6:return e.visitStyle(n,t);case 8:return e.visitReference(n,t);case 9:return e.visitAnimateChild(n,t);case 10:return e.visitAnimateRef(n,t);case 11:return e.visitQuery(n,t);case 12:return e.visitStagger(n,t);default:throw function bEe(e){return new Ae(3004,!1)}()}}function xZ(e,n){return window.getComputedStyle(e)[n]}const mw="*";function hIe(e,n){const t=[];return"string"==typeof e?e.split(/\s*,\s*/).forEach(i=>function gIe(e,n,t){if(":"==e[0]){const l=function mIe(e,n){switch(e){case":enter":return"void => *";case":leave":return"* => void";case":increment":return(t,i)=>parseFloat(i)>parseFloat(t);case":decrement":return(t,i)=>parseFloat(i) *"}}(e,t);if("function"==typeof l)return void n.push(l);e=l}const i=e.match(/^(\*|[-\w]+)\s*()\s*(\*|[-\w]+)$/);if(null==i||i.length<4)return t.push(function PEe(e){return new Ae(3015,!1)}()),n;const r=i[1],o=i[2],a=i[3];n.push(FZ(r,a));"<"==o[0]&&!(r==mw&&a==mw)&&n.push(FZ(a,r))}(i,t,n)):t.push(e),t}const yw=new Set(["true","1"]),_w=new Set(["false","0"]);function FZ(e,n){const t=yw.has(e)||_w.has(e),i=yw.has(n)||_w.has(n);return(r,o)=>{let a=e==mw||e==r,s=n==mw||n==o;return!a&&t&&"boolean"==typeof r&&(a=r?yw.has(e):_w.has(e)),!s&&i&&"boolean"==typeof o&&(s=o?yw.has(n):_w.has(n)),a&&s}}const yIe=new RegExp("s*:selfs*,?","g");function ZR(e,n,t,i){return new _Ie(e).build(n,t,i)}class _Ie{constructor(n){this._driver=n}build(n,t,i){const r=new CIe(t);return this._resetContextStyleTimingState(r),Bs(this,GT(n),r)}_resetContextStyleTimingState(n){n.currentQuerySelector="",n.collectedStyles=new Map,n.collectedStyles.set("",new Map),n.currentTime=0}visitTrigger(n,t){let i=t.queryCount=0,r=t.depCount=0;const o=[],a=[];return"@"==n.name.charAt(0)&&t.errors.push(function SEe(){return new Ae(3006,!1)}()),n.definitions.forEach(s=>{if(this._resetContextStyleTimingState(t),0==s.type){const l=s,c=l.name;c.toString().split(/\s*,\s*/).forEach(u=>{l.name=u,o.push(this.visitState(l,t))}),l.name=c}else if(1==s.type){const l=this.visitTransition(s,t);i+=l.queryCount,r+=l.depCount,a.push(l)}else t.errors.push(function wEe(){return new Ae(3007,!1)}())}),{type:7,name:n.name,states:o,transitions:a,queryCount:i,depCount:r,options:null}}visitState(n,t){const i=this.visitStyle(n.styles,t),r=n.options&&n.options.params||null;if(i.containsDynamicStyles){const o=new Set,a=r||{};i.styles.forEach(s=>{s instanceof Map&&s.forEach(l=>{wZ(l).forEach(c=>{a.hasOwnProperty(c)||o.add(c)})})}),o.size&&(fw(o.values()),t.errors.push(function xEe(e,n){return new Ae(3008,!1)}()))}return{type:0,name:n.name,style:i,options:r?{params:r}:null}}visitTransition(n,t){t.queryCount=0,t.depCount=0;const i=Bs(this,GT(n.animation),t);return{type:1,matchers:hIe(n.expr,t.errors),animation:i,queryCount:t.queryCount,depCount:t.depCount,options:kg(n.options)}}visitSequence(n,t){return{type:2,steps:n.steps.map(i=>Bs(this,i,t)),options:kg(n.options)}}visitGroup(n,t){const i=t.currentTime;let r=0;const o=n.steps.map(a=>{t.currentTime=i;const s=Bs(this,a,t);return r=Math.max(r,t.currentTime),s});return t.currentTime=r,{type:3,steps:o,options:kg(n.options)}}visitAnimate(n,t){const i=function AIe(e,n){if(e.hasOwnProperty("duration"))return e;if("number"==typeof e)return XR(pw(e,n).duration,0,"");const t=e;if(t.split(/\s+/).some(o=>"{"==o.charAt(0)&&"{"==o.charAt(1))){const o=XR(0,0,"");return o.dynamic=!0,o.strValue=t,o}const r=pw(t,n);return XR(r.duration,r.delay,r.easing)}(n.timings,t.errors);t.currentAnimateTimings=i;let r,o=n.styles?n.styles:So({});if(5==o.type)r=this.visitKeyframes(o,t);else{let a=n.styles,s=!1;if(!a){s=!0;const c={};i.easing&&(c.easing=i.easing),a=So(c)}t.currentTime+=i.duration+i.delay;const l=this.visitStyle(a,t);l.isEmptyStep=s,r=l}return t.currentAnimateTimings=null,{type:4,timings:i,style:r,options:null}}visitStyle(n,t){const i=this._makeStyleAst(n,t);return this._validateStyleAst(i,t),i}_makeStyleAst(n,t){const i=[],r=Array.isArray(n.styles)?n.styles:[n.styles];for(let s of r)"string"==typeof s?s===ep?i.push(s):t.errors.push(new Ae(3002,!1)):i.push(CZ(s));let o=!1,a=null;return i.forEach(s=>{if(s instanceof Map&&(s.has("easing")&&(a=s.get("easing"),s.delete("easing")),!o))for(let l of s.values())if(l.toString().indexOf("{{")>=0){o=!0;break}}),{type:6,styles:i,easing:a,offset:n.offset,containsDynamicStyles:o,options:null}}_validateStyleAst(n,t){const i=t.currentAnimateTimings;let r=t.currentTime,o=t.currentTime;i&&o>0&&(o-=i.duration+i.delay),n.styles.forEach(a=>{"string"!=typeof a&&a.forEach((s,l)=>{const c=t.collectedStyles.get(t.currentQuerySelector),u=c.get(l);let d=!0;u&&(o!=r&&o>=u.startTime&&r<=u.endTime&&(t.errors.push(function DEe(e,n,t,i,r){return new Ae(3010,!1)}()),d=!1),o=u.startTime),d&&c.set(l,{startTime:o,endTime:r}),t.options&&function aIe(e,n,t){const i=n.params||{},r=wZ(e);r.length&&r.forEach(o=>{i.hasOwnProperty(o)||t.push(function TEe(e){return new Ae(3001,!1)}())})}(s,t.options,t.errors)})})}visitKeyframes(n,t){const i={type:5,styles:[],options:null};if(!t.currentAnimateTimings)return t.errors.push(function EEe(){return new Ae(3011,!1)}()),i;let o=0;const a=[];let s=!1,l=!1,c=0;const u=n.steps.map(_=>{const v=this._makeStyleAst(_,t);let C=null!=v.offset?v.offset:function bIe(e){if("string"==typeof e)return null;let n=null;if(Array.isArray(e))e.forEach(t=>{if(t instanceof Map&&t.has("offset")){const i=t;n=parseFloat(i.get("offset")),i.delete("offset")}});else if(e instanceof Map&&e.has("offset")){const t=e;n=parseFloat(t.get("offset")),t.delete("offset")}return n}(v.styles),A=0;return null!=C&&(o++,A=v.offset=C),l=l||A<0||A>1,s=s||A0&&o{const C=p>0?v==f?1:p*v:a[v],A=C*m;t.currentTime=h+g.delay+A,g.duration=A,this._validateStyleAst(_,t),_.offset=C,i.styles.push(_)}),i}visitReference(n,t){return{type:8,animation:Bs(this,GT(n.animation),t),options:kg(n.options)}}visitAnimateChild(n,t){return t.depCount++,{type:9,options:kg(n.options)}}visitAnimateRef(n,t){return{type:10,animation:this.visitReference(n.animation,t),options:kg(n.options)}}visitQuery(n,t){const i=t.currentQuerySelector,r=n.options||{};t.queryCount++,t.currentQuery=n;const[o,a]=function vIe(e){const n=!!e.split(/\s*,\s*/).find(t=>":self"==t);return n&&(e=e.replace(yIe,"")),e=e.replace(/@\*/g,dw).replace(/@\w+/g,t=>dw+"-"+t.slice(1)).replace(/:animating/g,jR),[e,n]}(n.selector);t.currentQuerySelector=i.length?i+" "+o:o,Gs(t.collectedStyles,t.currentQuerySelector,new Map);const s=Bs(this,GT(n.animation),t);return t.currentQuery=null,t.currentQuerySelector=i,{type:11,selector:o,limit:r.limit||0,optional:!!r.optional,includeSelf:a,animation:s,originalSelector:n.selector,options:kg(n.options)}}visitStagger(n,t){t.currentQuery||t.errors.push(function MEe(){return new Ae(3013,!1)}());const i="full"===n.timings?{duration:0,delay:0,easing:"full"}:pw(n.timings,t.errors,!0);return{type:12,animation:Bs(this,GT(n.animation),t),timings:i,options:null}}}class CIe{constructor(n){this.errors=n,this.queryCount=0,this.depCount=0,this.currentTransition=null,this.currentQuery=null,this.currentQuerySelector=null,this.currentAnimateTimings=null,this.currentTime=0,this.collectedStyles=new Map,this.options=null,this.unsupportedCSSPropertiesFound=new Set}}function kg(e){return e?(e=HT(e)).params&&(e.params=function TIe(e){return e?HT(e):null}(e.params)):e={},e}function XR(e,n,t){return{duration:e,delay:n,easing:t}}function QR(e,n,t,i,r,o,a=null,s=!1){return{type:1,element:e,keyframes:n,preStyleProps:t,postStyleProps:i,duration:r,delay:o,totalTime:r+o,easing:a,subTimeline:s}}class vw{constructor(){this._map=new Map}get(n){return this._map.get(n)||[]}append(n,t){let i=this._map.get(n);i||this._map.set(n,i=[]),i.push(...t)}has(n){return this._map.has(n)}clear(){this._map.clear()}}const xIe=new RegExp(":enter","g"),DIe=new RegExp(":leave","g");function JR(e,n,t,i,r,o=new Map,a=new Map,s,l,c=[]){return(new EIe).buildKeyframes(e,n,t,i,r,o,a,s,l,c)}class EIe{buildKeyframes(n,t,i,r,o,a,s,l,c,u=[]){c=c||new vw;const d=new e9(n,t,c,r,o,u,[]);d.options=l;const p=l.delay?tp(l.delay):0;d.currentTimeline.delayNextStep(p),d.currentTimeline.setStyles([a],null,d.errors,l),Bs(this,i,d);const f=d.timelines.filter(h=>h.containsAnimation());if(f.length&&s.size){let h;for(let g=f.length-1;g>=0;g--){const m=f[g];if(m.element===t){h=m;break}}h&&!h.allowOnlyTimelineStyles()&&h.setStyles([s],null,d.errors,l)}return f.length?f.map(h=>h.buildKeyframes()):[QR(t,[],[],[],0,p,"",!1)]}visitTrigger(n,t){}visitState(n,t){}visitTransition(n,t){}visitAnimateChild(n,t){const i=t.subInstructions.get(t.element);if(i){const r=t.createSubContext(n.options),o=t.currentTimeline.currentTime,a=this._visitSubInstructions(i,r,r.options);o!=a&&t.transformIntoNewTimeline(a)}t.previousNode=n}visitAnimateRef(n,t){const i=t.createSubContext(n.options);i.transformIntoNewTimeline(),this._applyAnimationRefDelays([n.options,n.animation.options],t,i),this.visitReference(n.animation,i),t.transformIntoNewTimeline(i.currentTimeline.currentTime),t.previousNode=n}_applyAnimationRefDelays(n,t,i){for(const r of n){const o=r?.delay;if(o){const a="number"==typeof o?o:tp(BT(o,r?.params??{},t.errors));i.delayNextStep(a)}}}_visitSubInstructions(n,t,i){let o=t.currentTimeline.currentTime;const a=null!=i.duration?tp(i.duration):null,s=null!=i.delay?tp(i.delay):null;return 0!==a&&n.forEach(l=>{const c=t.appendInstructionToTimeline(l,a,s);o=Math.max(o,c.duration+c.delay)}),o}visitReference(n,t){t.updateOptions(n.options,!0),Bs(this,n.animation,t),t.previousNode=n}visitSequence(n,t){const i=t.subContextCount;let r=t;const o=n.options;if(o&&(o.params||o.delay)&&(r=t.createSubContext(o),r.transformIntoNewTimeline(),null!=o.delay)){6==r.previousNode.type&&(r.currentTimeline.snapshotCurrentStyles(),r.previousNode=Tw);const a=tp(o.delay);r.delayNextStep(a)}n.steps.length&&(n.steps.forEach(a=>Bs(this,a,r)),r.currentTimeline.applyStylesToKeyframe(),r.subContextCount>i&&r.transformIntoNewTimeline()),t.previousNode=n}visitGroup(n,t){const i=[];let r=t.currentTimeline.currentTime;const o=n.options&&n.options.delay?tp(n.options.delay):0;n.steps.forEach(a=>{const s=t.createSubContext(n.options);o&&s.delayNextStep(o),Bs(this,a,s),r=Math.max(r,s.currentTimeline.currentTime),i.push(s.currentTimeline)}),i.forEach(a=>t.currentTimeline.mergeTimelineCollectedStyles(a)),t.transformIntoNewTimeline(r),t.previousNode=n}_visitTiming(n,t){if(n.dynamic){const i=n.strValue;return pw(t.params?BT(i,t.params,t.errors):i,t.errors)}return{duration:n.duration,delay:n.delay,easing:n.easing}}visitAnimate(n,t){const i=t.currentAnimateTimings=this._visitTiming(n.timings,t),r=t.currentTimeline;i.delay&&(t.incrementTime(i.delay),r.snapshotCurrentStyles());const o=n.style;5==o.type?this.visitKeyframes(o,t):(t.incrementTime(i.duration),this.visitStyle(o,t),r.applyStylesToKeyframe()),t.currentAnimateTimings=null,t.previousNode=n}visitStyle(n,t){const i=t.currentTimeline,r=t.currentAnimateTimings;!r&&i.hasCurrentStyleProperties()&&i.forwardFrame();const o=r&&r.easing||n.easing;n.isEmptyStep?i.applyEmptyStep(o):i.setStyles(n.styles,o,t.errors,t.options),t.previousNode=n}visitKeyframes(n,t){const i=t.currentAnimateTimings,r=t.currentTimeline.duration,o=i.duration,s=t.createSubContext().currentTimeline;s.easing=i.easing,n.styles.forEach(l=>{s.forwardTime((l.offset||0)*o),s.setStyles(l.styles,l.easing,t.errors,t.options),s.applyStylesToKeyframe()}),t.currentTimeline.mergeTimelineCollectedStyles(s),t.transformIntoNewTimeline(r+o),t.previousNode=n}visitQuery(n,t){const i=t.currentTimeline.currentTime,r=n.options||{},o=r.delay?tp(r.delay):0;o&&(6===t.previousNode.type||0==i&&t.currentTimeline.hasCurrentStyleProperties())&&(t.currentTimeline.snapshotCurrentStyles(),t.previousNode=Tw);let a=i;const s=t.invokeQuery(n.selector,n.originalSelector,n.limit,n.includeSelf,!!r.optional,t.errors);t.currentQueryTotal=s.length;let l=null;s.forEach((c,u)=>{t.currentQueryIndex=u;const d=t.createSubContext(n.options,c);o&&d.delayNextStep(o),c===t.element&&(l=d.currentTimeline),Bs(this,n.animation,d),d.currentTimeline.applyStylesToKeyframe(),a=Math.max(a,d.currentTimeline.currentTime)}),t.currentQueryIndex=0,t.currentQueryTotal=0,t.transformIntoNewTimeline(a),l&&(t.currentTimeline.mergeTimelineCollectedStyles(l),t.currentTimeline.snapshotCurrentStyles()),t.previousNode=n}visitStagger(n,t){const i=t.parentContext,r=t.currentTimeline,o=n.timings,a=Math.abs(o.duration),s=a*(t.currentQueryTotal-1);let l=a*t.currentQueryIndex;switch(o.duration<0?"reverse":o.easing){case"reverse":l=s-l;break;case"full":l=i.currentStaggerTime}const u=t.currentTimeline;l&&u.delayNextStep(l);const d=u.currentTime;Bs(this,n.animation,t),t.previousNode=n,i.currentStaggerTime=r.currentTime-d+(r.startTime-i.currentTimeline.startTime)}}const Tw={};class e9{constructor(n,t,i,r,o,a,s,l){this._driver=n,this.element=t,this.subInstructions=i,this._enterClassName=r,this._leaveClassName=o,this.errors=a,this.timelines=s,this.parentContext=null,this.currentAnimateTimings=null,this.previousNode=Tw,this.subContextCount=0,this.options={},this.currentQueryIndex=0,this.currentQueryTotal=0,this.currentStaggerTime=0,this.currentTimeline=l||new Cw(this._driver,t,0),s.push(this.currentTimeline)}get params(){return this.options.params}updateOptions(n,t){if(!n)return;const i=n;let r=this.options;null!=i.duration&&(r.duration=tp(i.duration)),null!=i.delay&&(r.delay=tp(i.delay));const o=i.params;if(o){let a=r.params;a||(a=this.options.params={}),Object.keys(o).forEach(s=>{(!t||!a.hasOwnProperty(s))&&(a[s]=BT(o[s],a,this.errors))})}}_copyOptions(){const n={};if(this.options){const t=this.options.params;if(t){const i=n.params={};Object.keys(t).forEach(r=>{i[r]=t[r]})}}return n}createSubContext(n=null,t,i){const r=t||this.element,o=new e9(this._driver,r,this.subInstructions,this._enterClassName,this._leaveClassName,this.errors,this.timelines,this.currentTimeline.fork(r,i||0));return o.previousNode=this.previousNode,o.currentAnimateTimings=this.currentAnimateTimings,o.options=this._copyOptions(),o.updateOptions(n),o.currentQueryIndex=this.currentQueryIndex,o.currentQueryTotal=this.currentQueryTotal,o.parentContext=this,this.subContextCount++,o}transformIntoNewTimeline(n){return this.previousNode=Tw,this.currentTimeline=this.currentTimeline.fork(this.element,n),this.timelines.push(this.currentTimeline),this.currentTimeline}appendInstructionToTimeline(n,t,i){const r={duration:t??n.duration,delay:this.currentTimeline.currentTime+(i??0)+n.delay,easing:""},o=new IIe(this._driver,n.element,n.keyframes,n.preStyleProps,n.postStyleProps,r,n.stretchStartingKeyframe);return this.timelines.push(o),r}incrementTime(n){this.currentTimeline.forwardTime(this.currentTimeline.duration+n)}delayNextStep(n){n>0&&this.currentTimeline.delayNextStep(n)}invokeQuery(n,t,i,r,o,a){let s=[];if(r&&s.push(this.element),n.length>0){n=(n=n.replace(xIe,"."+this._enterClassName)).replace(DIe,"."+this._leaveClassName);let c=this._driver.query(this.element,n,1!=i);0!==i&&(c=i<0?c.slice(c.length+i,c.length):c.slice(0,i)),s.push(...c)}return!o&&0==s.length&&a.push(function kEe(e){return new Ae(3014,!1)}()),s}}class Cw{constructor(n,t,i,r){this._driver=n,this.element=t,this.startTime=i,this._elementTimelineStylesLookup=r,this.duration=0,this.easing=null,this._previousKeyframe=new Map,this._currentKeyframe=new Map,this._keyframes=new Map,this._styleSummary=new Map,this._localTimelineStyles=new Map,this._pendingStyles=new Map,this._backFill=new Map,this._currentEmptyStepKeyframe=null,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(n){const t=1===this._keyframes.size&&this._pendingStyles.size;this.duration||t?(this.forwardTime(this.currentTime+n),t&&this.snapshotCurrentStyles()):this.startTime+=n}fork(n,t){return this.applyStylesToKeyframe(),new Cw(this._driver,n,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+=1,this._loadKeyframe()}forwardTime(n){this.applyStylesToKeyframe(),this.duration=n,this._loadKeyframe()}_updateStyle(n,t){this._localTimelineStyles.set(n,t),this._globalTimelineStyles.set(n,t),this._styleSummary.set(n,{time:this.currentTime,value:t})}allowOnlyTimelineStyles(){return this._currentEmptyStepKeyframe!==this._currentKeyframe}applyEmptyStep(n){n&&this._previousKeyframe.set("easing",n);for(let[t,i]of this._globalTimelineStyles)this._backFill.set(t,i||ep),this._currentKeyframe.set(t,ep);this._currentEmptyStepKeyframe=this._currentKeyframe}setStyles(n,t,i,r){t&&this._previousKeyframe.set("easing",t);const o=r&&r.params||{},a=function RIe(e,n){const t=new Map;let i;return e.forEach(r=>{if("*"===r){i=i||n.keys();for(let o of i)t.set(o,ep)}else Af(r,t)}),t}(n,this._globalTimelineStyles);for(let[s,l]of a){const c=BT(l,o,i);this._pendingStyles.set(s,c),this._localTimelineStyles.has(s)||this._backFill.set(s,this._globalTimelineStyles.get(s)??ep),this._updateStyle(s,c)}}applyStylesToKeyframe(){0!=this._pendingStyles.size&&(this._pendingStyles.forEach((n,t)=>{this._currentKeyframe.set(t,n)}),this._pendingStyles.clear(),this._localTimelineStyles.forEach((n,t)=>{this._currentKeyframe.has(t)||this._currentKeyframe.set(t,n)}))}snapshotCurrentStyles(){for(let[n,t]of this._localTimelineStyles)this._pendingStyles.set(n,t),this._updateStyle(n,t)}getFinalKeyframe(){return this._keyframes.get(this.duration)}get properties(){const n=[];for(let t in this._currentKeyframe)n.push(t);return n}mergeTimelineCollectedStyles(n){n._styleSummary.forEach((t,i)=>{const r=this._styleSummary.get(i);(!r||t.time>r.time)&&this._updateStyle(i,t.value)})}buildKeyframes(){this.applyStylesToKeyframe();const n=new Set,t=new Set,i=1===this._keyframes.size&&0===this.duration;let r=[];this._keyframes.forEach((s,l)=>{const c=Af(s,new Map,this._backFill);c.forEach((u,d)=>{u===OR?n.add(d):u===ep&&t.add(d)}),i||c.set("offset",l/this.duration),r.push(c)});const o=n.size?fw(n.values()):[],a=t.size?fw(t.values()):[];if(i){const s=r[0],l=new Map(s);s.set("offset",0),l.set("offset",1),r=[s,l]}return QR(this.element,r,o,a,this.duration,this.startTime,this.easing,!1)}}class IIe extends Cw{constructor(n,t,i,r,o,a,s=!1){super(n,t,a.delay),this.keyframes=i,this.preStyleProps=r,this.postStyleProps=o,this._stretchStartingKeyframe=s,this.timings={duration:a.duration,delay:a.delay,easing:a.easing}}containsAnimation(){return this.keyframes.length>1}buildKeyframes(){let n=this.keyframes,{delay:t,duration:i,easing:r}=this.timings;if(this._stretchStartingKeyframe&&t){const o=[],a=i+t,s=t/a,l=Af(n[0]);l.set("offset",0),o.push(l);const c=Af(n[0]);c.set("offset",IZ(s)),o.push(c);const u=n.length-1;for(let d=1;d<=u;d++){let p=Af(n[d]);const f=p.get("offset");p.set("offset",IZ((t+f*i)/a)),o.push(p)}i=a,t=0,r="",n=o}return QR(this.element,n,this.preStyleProps,this.postStyleProps,i,t,r,!0)}}function IZ(e,n=3){const t=Math.pow(10,n-1);return Math.round(e*t)/t}class t9{}const LIe=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"]);class MIe extends t9{normalizePropertyName(n,t){return KR(n)}normalizeStyleValue(n,t,i,r){let o="";const a=i.toString().trim();if(LIe.has(t)&&0!==i&&"0"!==i)if("number"==typeof i)o="px";else{const s=i.match(/^[+-]?[\d\.]+([a-z]*)$/);s&&0==s[1].length&&r.push(function AEe(e,n){return new Ae(3005,!1)}())}return a+o}}function RZ(e,n,t,i,r,o,a,s,l,c,u,d,p){return{type:0,element:e,triggerName:n,isRemovalTransition:r,fromState:t,fromStyles:o,toState:i,toStyles:a,timelines:s,queriedElements:l,preStyleProps:c,postStyleProps:u,totalTime:d,errors:p}}const n9={};class LZ{constructor(n,t,i){this._triggerName=n,this.ast=t,this._stateStyles=i}match(n,t,i,r){return function kIe(e,n,t,i,r){return e.some(o=>o(n,t,i,r))}(this.ast.matchers,n,t,i,r)}buildStyles(n,t,i){let r=this._stateStyles.get("*");return void 0!==n&&(r=this._stateStyles.get(n?.toString())||r),r?r.buildStyles(t,i):new Map}build(n,t,i,r,o,a,s,l,c,u){const d=[],p=this.ast.options&&this.ast.options.params||n9,h=this.buildStyles(i,s&&s.params||n9,d),g=l&&l.params||n9,m=this.buildStyles(r,g,d),_=new Set,v=new Map,C=new Map,A="void"===r,S={params:PIe(g,p),delay:this.ast.options?.delay},I=u?[]:JR(n,t,this.ast.animation,o,a,h,m,S,c,d);let w=0;if(I.forEach(B=>{w=Math.max(B.duration+B.delay,w)}),d.length)return RZ(t,this._triggerName,i,r,A,h,m,[],[],v,C,w,d);I.forEach(B=>{const W=B.element,q=Gs(v,W,new Set);B.preStyleProps.forEach(K=>q.add(K));const te=Gs(C,W,new Set);B.postStyleProps.forEach(K=>te.add(K)),W!==t&&_.add(W)});const O=fw(_.values());return RZ(t,this._triggerName,i,r,A,h,m,I,O,v,C,w)}}function PIe(e,n){const t=HT(n);for(const i in e)e.hasOwnProperty(i)&&null!=e[i]&&(t[i]=e[i]);return t}class NIe{constructor(n,t,i){this.styles=n,this.defaultParams=t,this.normalizer=i}buildStyles(n,t){const i=new Map,r=HT(this.defaultParams);return Object.keys(n).forEach(o=>{const a=n[o];null!==a&&(r[o]=a)}),this.styles.styles.forEach(o=>{"string"!=typeof o&&o.forEach((a,s)=>{a&&(a=BT(a,r,t));const l=this.normalizer.normalizePropertyName(s,t);a=this.normalizer.normalizeStyleValue(s,l,a,t),i.set(s,a)})}),i}}class HIe{constructor(n,t,i){this.name=n,this.ast=t,this._normalizer=i,this.transitionFactories=[],this.states=new Map,t.states.forEach(r=>{this.states.set(r.name,new NIe(r.style,r.options&&r.options.params||{},i))}),MZ(this.states,"true","1"),MZ(this.states,"false","0"),t.transitions.forEach(r=>{this.transitionFactories.push(new LZ(n,r,this.states))}),this.fallbackTransition=function GIe(e,n,t){return new LZ(e,{type:1,animation:{type:2,steps:[],options:null},matchers:[(a,s)=>!0],options:null,queryCount:0,depCount:0},n)}(n,this.states)}get containsQueries(){return this.ast.queryCount>0}matchTransition(n,t,i,r){return this.transitionFactories.find(a=>a.match(n,t,i,r))||null}matchStyles(n,t,i){return this.fallbackTransition.buildStyles(n,t,i)}}function MZ(e,n,t){e.has(n)?e.has(t)||e.set(t,e.get(n)):e.has(t)&&e.set(n,e.get(t))}const BIe=new vw;class YIe{constructor(n,t,i){this.bodyNode=n,this._driver=t,this._normalizer=i,this._animations=new Map,this._playersById=new Map,this.players=[]}register(n,t){const i=[],r=[],o=ZR(this._driver,t,i,r);if(i.length)throw function YEe(e){return new Ae(3503,!1)}();this._animations.set(n,o)}_buildPlayer(n,t,i){const r=n.element,o=dZ(0,this._normalizer,0,n.keyframes,t,i);return this._driver.animate(r,o,n.duration,n.delay,n.easing,[],!0)}create(n,t,i={}){const r=[],o=this._animations.get(n);let a;const s=new Map;if(o?(a=JR(this._driver,t,o,UR,cw,new Map,new Map,i,BIe,r),a.forEach(u=>{const d=Gs(s,u.element,new Map);u.postStyleProps.forEach(p=>d.set(p,null))})):(r.push(function VEe(){return new Ae(3300,!1)}()),a=[]),r.length)throw function zEe(e){return new Ae(3504,!1)}();s.forEach((u,d)=>{u.forEach((p,f)=>{u.set(f,this._driver.computeStyle(d,f,ep))})});const c=bf(a.map(u=>{const d=s.get(u.element);return this._buildPlayer(u,new Map,d)}));return this._playersById.set(n,c),c.onDestroy(()=>this.destroy(n)),this.players.push(c),c}destroy(n){const t=this._getPlayer(n);t.destroy(),this._playersById.delete(n);const i=this.players.indexOf(t);i>=0&&this.players.splice(i,1)}_getPlayer(n){const t=this._playersById.get(n);if(!t)throw function $Ee(e){return new Ae(3301,!1)}();return t}listen(n,t,i,r){const o=YR(t,"","","");return GR(this._getPlayer(n),i,o,r),()=>{}}command(n,t,i,r){if("register"==i)return void this.register(n,r[0]);if("create"==i)return void this.create(n,t,r[0]||{});const o=this._getPlayer(n);switch(i){case"play":o.play();break;case"pause":o.pause();break;case"reset":o.reset();break;case"restart":o.restart();break;case"finish":o.finish();break;case"init":o.init();break;case"setPosition":o.setPosition(parseFloat(r[0]));break;case"destroy":this.destroy(n)}}}const kZ="ng-animate-queued",r9="ng-animate-disabled",jIe=[],PZ={namespaceId:"",setForRemoval:!1,setForMove:!1,hasAnimation:!1,removedBeforeQueried:!1},WIe={namespaceId:"",setForMove:!1,setForRemoval:!1,hasAnimation:!1,removedBeforeQueried:!0},Sl="__ng_removed";class o9{get params(){return this.options.params}constructor(n,t=""){this.namespaceId=t;const i=n&&n.hasOwnProperty("value");if(this.value=function XIe(e){return e??null}(i?n.value:n),i){const o=HT(n);delete o.value,this.options=o}else this.options={};this.options.params||(this.options.params={})}absorbOptions(n){const t=n.params;if(t){const i=this.options.params;Object.keys(t).forEach(r=>{null==i[r]&&(i[r]=t[r])})}}}const YT="void",a9=new o9(YT);class qIe{constructor(n,t,i){this.id=n,this.hostElement=t,this._engine=i,this.players=[],this._triggers=new Map,this._queue=[],this._elementListeners=new Map,this._hostClassName="ng-tns-"+n,wl(t,this._hostClassName)}listen(n,t,i,r){if(!this._triggers.has(t))throw function UEe(e,n){return new Ae(3302,!1)}();if(null==i||0==i.length)throw function jEe(e){return new Ae(3303,!1)}();if(!function QIe(e){return"start"==e||"done"==e}(i))throw function WEe(e,n){return new Ae(3400,!1)}();const o=Gs(this._elementListeners,n,[]),a={name:t,phase:i,callback:r};o.push(a);const s=Gs(this._engine.statesByElement,n,new Map);return s.has(t)||(wl(n,uw),wl(n,uw+"-"+t),s.set(t,a9)),()=>{this._engine.afterFlush(()=>{const l=o.indexOf(a);l>=0&&o.splice(l,1),this._triggers.has(t)||s.delete(t)})}}register(n,t){return!this._triggers.has(n)&&(this._triggers.set(n,t),!0)}_getTrigger(n){const t=this._triggers.get(n);if(!t)throw function qEe(e){return new Ae(3401,!1)}();return t}trigger(n,t,i,r=!0){const o=this._getTrigger(t),a=new s9(this.id,t,n);let s=this._engine.statesByElement.get(n);s||(wl(n,uw),wl(n,uw+"-"+t),this._engine.statesByElement.set(n,s=new Map));let l=s.get(t);const c=new o9(i,this.id);if(!(i&&i.hasOwnProperty("value"))&&l&&c.absorbOptions(l.options),s.set(t,c),l||(l=a9),c.value!==YT&&l.value===c.value){if(!function t6e(e,n){const t=Object.keys(e),i=Object.keys(n);if(t.length!=i.length)return!1;for(let r=0;r{Mg(n,m),Lu(n,_)})}return}const p=Gs(this._engine.playersByElement,n,[]);p.forEach(g=>{g.namespaceId==this.id&&g.triggerName==t&&g.queued&&g.destroy()});let f=o.matchTransition(l.value,c.value,n,c.params),h=!1;if(!f){if(!r)return;f=o.fallbackTransition,h=!0}return this._engine.totalQueuedPlayers++,this._queue.push({element:n,triggerName:t,transition:f,fromState:l,toState:c,player:a,isFallbackTransition:h}),h||(wl(n,kZ),a.onStart(()=>{$y(n,kZ)})),a.onDone(()=>{let g=this.players.indexOf(a);g>=0&&this.players.splice(g,1);const m=this._engine.playersByElement.get(n);if(m){let _=m.indexOf(a);_>=0&&m.splice(_,1)}}),this.players.push(a),p.push(a),a}deregister(n){this._triggers.delete(n),this._engine.statesByElement.forEach(t=>t.delete(n)),this._elementListeners.forEach((t,i)=>{this._elementListeners.set(i,t.filter(r=>r.name!=n))})}clearElementCache(n){this._engine.statesByElement.delete(n),this._elementListeners.delete(n);const t=this._engine.playersByElement.get(n);t&&(t.forEach(i=>i.destroy()),this._engine.playersByElement.delete(n))}_signalRemovalForInnerTriggers(n,t){const i=this._engine.driver.query(n,dw,!0);i.forEach(r=>{if(r[Sl])return;const o=this._engine.fetchNamespacesByElement(r);o.size?o.forEach(a=>a.triggerLeaveAnimation(r,t,!1,!0)):this.clearElementCache(r)}),this._engine.afterFlushAnimationsDone(()=>i.forEach(r=>this.clearElementCache(r)))}triggerLeaveAnimation(n,t,i,r){const o=this._engine.statesByElement.get(n),a=new Map;if(o){const s=[];if(o.forEach((l,c)=>{if(a.set(c,l.value),this._triggers.has(c)){const u=this.trigger(n,c,YT,r);u&&s.push(u)}}),s.length)return this._engine.markElementAsRemoved(this.id,n,!0,t,a),i&&bf(s).onDone(()=>this._engine.processLeaveNode(n)),!0}return!1}prepareLeaveAnimationListeners(n){const t=this._elementListeners.get(n),i=this._engine.statesByElement.get(n);if(t&&i){const r=new Set;t.forEach(o=>{const a=o.name;if(r.has(a))return;r.add(a);const l=this._triggers.get(a).fallbackTransition,c=i.get(a)||a9,u=new o9(YT),d=new s9(this.id,a,n);this._engine.totalQueuedPlayers++,this._queue.push({element:n,triggerName:a,transition:l,fromState:c,toState:u,player:d,isFallbackTransition:!0})})}}removeNode(n,t){const i=this._engine;if(n.childElementCount&&this._signalRemovalForInnerTriggers(n,t),this.triggerLeaveAnimation(n,t,!0))return;let r=!1;if(i.totalAnimations){const o=i.players.length?i.playersByQueriedElement.get(n):[];if(o&&o.length)r=!0;else{let a=n;for(;a=a.parentNode;)if(i.statesByElement.get(a)){r=!0;break}}}if(this.prepareLeaveAnimationListeners(n),r)i.markElementAsRemoved(this.id,n,!1,t);else{const o=n[Sl];(!o||o===PZ)&&(i.afterFlush(()=>this.clearElementCache(n)),i.destroyInnerAnimations(n),i._onRemovalComplete(n,t))}}insertNode(n,t){wl(n,this._hostClassName)}drainQueuedTransitions(n){const t=[];return this._queue.forEach(i=>{const r=i.player;if(r.destroyed)return;const o=i.element,a=this._elementListeners.get(o);a&&a.forEach(s=>{if(s.name==i.triggerName){const l=YR(o,i.triggerName,i.fromState.value,i.toState.value);l._data=n,GR(i.player,s.phase,l,s.callback)}}),r.markedForDestroy?this._engine.afterFlush(()=>{r.destroy()}):t.push(i)}),this._queue=[],t.sort((i,r)=>{const o=i.transition.ast.depCount,a=r.transition.ast.depCount;return 0==o||0==a?o-a:this._engine.driver.containsElement(i.element,r.element)?1:-1})}destroy(n){this.players.forEach(t=>t.destroy()),this._signalRemovalForInnerTriggers(this.hostElement,n)}elementContainsData(n){let t=!1;return this._elementListeners.has(n)&&(t=!0),t=!!this._queue.find(i=>i.element===n)||t,t}}class KIe{_onRemovalComplete(n,t){this.onRemovalComplete(n,t)}constructor(n,t,i){this.bodyNode=n,this.driver=t,this._normalizer=i,this.players=[],this.newHostElements=new Map,this.playersByElement=new Map,this.playersByQueriedElement=new Map,this.statesByElement=new Map,this.disabledNodes=new Set,this.totalAnimations=0,this.totalQueuedPlayers=0,this._namespaceLookup={},this._namespaceList=[],this._flushFns=[],this._whenQuietFns=[],this.namespacesByHostElement=new Map,this.collectedEnterElements=[],this.collectedLeaveElements=[],this.onRemovalComplete=(r,o)=>{}}get queuedPlayers(){const n=[];return this._namespaceList.forEach(t=>{t.players.forEach(i=>{i.queued&&n.push(i)})}),n}createNamespace(n,t){const i=new qIe(n,t,this);return this.bodyNode&&this.driver.containsElement(this.bodyNode,t)?this._balanceNamespaceList(i,t):(this.newHostElements.set(t,i),this.collectEnterElement(t)),this._namespaceLookup[n]=i}_balanceNamespaceList(n,t){const i=this._namespaceList,r=this.namespacesByHostElement;if(i.length-1>=0){let a=!1,s=this.driver.getParentElement(t);for(;s;){const l=r.get(s);if(l){const c=i.indexOf(l);i.splice(c+1,0,n),a=!0;break}s=this.driver.getParentElement(s)}a||i.unshift(n)}else i.push(n);return r.set(t,n),n}register(n,t){let i=this._namespaceLookup[n];return i||(i=this.createNamespace(n,t)),i}registerTrigger(n,t,i){let r=this._namespaceLookup[n];r&&r.register(t,i)&&this.totalAnimations++}destroy(n,t){if(!n)return;const i=this._fetchNamespace(n);this.afterFlush(()=>{this.namespacesByHostElement.delete(i.hostElement),delete this._namespaceLookup[n];const r=this._namespaceList.indexOf(i);r>=0&&this._namespaceList.splice(r,1)}),this.afterFlushAnimationsDone(()=>i.destroy(t))}_fetchNamespace(n){return this._namespaceLookup[n]}fetchNamespacesByElement(n){const t=new Set,i=this.statesByElement.get(n);if(i)for(let r of i.values())if(r.namespaceId){const o=this._fetchNamespace(r.namespaceId);o&&t.add(o)}return t}trigger(n,t,i,r){if(bw(t)){const o=this._fetchNamespace(n);if(o)return o.trigger(t,i,r),!0}return!1}insertNode(n,t,i,r){if(!bw(t))return;const o=t[Sl];if(o&&o.setForRemoval){o.setForRemoval=!1,o.setForMove=!0;const a=this.collectedLeaveElements.indexOf(t);a>=0&&this.collectedLeaveElements.splice(a,1)}if(n){const a=this._fetchNamespace(n);a&&a.insertNode(t,i)}r&&this.collectEnterElement(t)}collectEnterElement(n){this.collectedEnterElements.push(n)}markElementAsDisabled(n,t){t?this.disabledNodes.has(n)||(this.disabledNodes.add(n),wl(n,r9)):this.disabledNodes.has(n)&&(this.disabledNodes.delete(n),$y(n,r9))}removeNode(n,t,i,r){if(bw(t)){const o=n?this._fetchNamespace(n):null;if(o?o.removeNode(t,r):this.markElementAsRemoved(n,t,!1,r),i){const a=this.namespacesByHostElement.get(t);a&&a.id!==n&&a.removeNode(t,r)}}else this._onRemovalComplete(t,r)}markElementAsRemoved(n,t,i,r,o){this.collectedLeaveElements.push(t),t[Sl]={namespaceId:n,setForRemoval:r,hasAnimation:i,removedBeforeQueried:!1,previousTriggersValues:o}}listen(n,t,i,r,o){return bw(t)?this._fetchNamespace(n).listen(t,i,r,o):()=>{}}_buildInstruction(n,t,i,r,o){return n.transition.build(this.driver,n.element,n.fromState.value,n.toState.value,i,r,n.fromState.options,n.toState.options,t,o)}destroyInnerAnimations(n){let t=this.driver.query(n,dw,!0);t.forEach(i=>this.destroyActiveAnimationsForElement(i)),0!=this.playersByQueriedElement.size&&(t=this.driver.query(n,jR,!0),t.forEach(i=>this.finishActiveQueriedAnimationOnElement(i)))}destroyActiveAnimationsForElement(n){const t=this.playersByElement.get(n);t&&t.forEach(i=>{i.queued?i.markedForDestroy=!0:i.destroy()})}finishActiveQueriedAnimationOnElement(n){const t=this.playersByQueriedElement.get(n);t&&t.forEach(i=>i.finish())}whenRenderingDone(){return new Promise(n=>{if(this.players.length)return bf(this.players).onDone(()=>n());n()})}processLeaveNode(n){const t=n[Sl];if(t&&t.setForRemoval){if(n[Sl]=PZ,t.namespaceId){this.destroyInnerAnimations(n);const i=this._fetchNamespace(t.namespaceId);i&&i.clearElementCache(n)}this._onRemovalComplete(n,t.setForRemoval)}n.classList?.contains(r9)&&this.markElementAsDisabled(n,!1),this.driver.query(n,".ng-animate-disabled",!0).forEach(i=>{this.markElementAsDisabled(i,!1)})}flush(n=-1){let t=[];if(this.newHostElements.size&&(this.newHostElements.forEach((i,r)=>this._balanceNamespaceList(i,r)),this.newHostElements.clear()),this.totalAnimations&&this.collectedEnterElements.length)for(let i=0;ii()),this._flushFns=[],this._whenQuietFns.length){const i=this._whenQuietFns;this._whenQuietFns=[],t.length?bf(t).onDone(()=>{i.forEach(r=>r())}):i.forEach(r=>r())}}reportError(n){throw function KEe(e){return new Ae(3402,!1)}()}_flushAnimations(n,t){const i=new vw,r=[],o=new Map,a=[],s=new Map,l=new Map,c=new Map,u=new Set;this.disabledNodes.forEach(L=>{u.add(L);const Y=this.driver.query(L,".ng-animate-queued",!0);for(let P=0;P{const P=UR+g++;h.set(Y,P),L.forEach($=>wl($,P))});const m=[],_=new Set,v=new Set;for(let L=0;L_.add($)):v.add(Y))}const C=new Map,A=HZ(p,Array.from(_));A.forEach((L,Y)=>{const P=cw+g++;C.set(Y,P),L.forEach($=>wl($,P))}),n.push(()=>{f.forEach((L,Y)=>{const P=h.get(Y);L.forEach($=>$y($,P))}),A.forEach((L,Y)=>{const P=C.get(Y);L.forEach($=>$y($,P))}),m.forEach(L=>{this.processLeaveNode(L)})});const S=[],I=[];for(let L=this._namespaceList.length-1;L>=0;L--)this._namespaceList[L].drainQueuedTransitions(t).forEach(P=>{const $=P.player,U=P.element;if(S.push($),this.collectedEnterElements.length){const me=U[Sl];if(me&&me.setForMove){if(me.previousTriggersValues&&me.previousTriggersValues.has(P.triggerName)){const Ge=me.previousTriggersValues.get(P.triggerName),ye=this.statesByElement.get(P.element);if(ye&&ye.has(P.triggerName)){const Ee=ye.get(P.triggerName);Ee.value=Ge,ye.set(P.triggerName,Ee)}}return void $.destroy()}}const ee=!d||!this.driver.containsElement(d,U),oe=C.get(U),ce=h.get(U),se=this._buildInstruction(P,i,ce,oe,ee);if(se.errors&&se.errors.length)return void I.push(se);if(ee)return $.onStart(()=>Mg(U,se.fromStyles)),$.onDestroy(()=>Lu(U,se.toStyles)),void r.push($);if(P.isFallbackTransition)return $.onStart(()=>Mg(U,se.fromStyles)),$.onDestroy(()=>Lu(U,se.toStyles)),void r.push($);const fe=[];se.timelines.forEach(me=>{me.stretchStartingKeyframe=!0,this.disabledNodes.has(me.element)||fe.push(me)}),se.timelines=fe,i.append(U,se.timelines),a.push({instruction:se,player:$,element:U}),se.queriedElements.forEach(me=>Gs(s,me,[]).push($)),se.preStyleProps.forEach((me,Ge)=>{if(me.size){let ye=l.get(Ge);ye||l.set(Ge,ye=new Set),me.forEach((Ee,ke)=>ye.add(ke))}}),se.postStyleProps.forEach((me,Ge)=>{let ye=c.get(Ge);ye||c.set(Ge,ye=new Set),me.forEach((Ee,ke)=>ye.add(ke))})});if(I.length){const L=[];I.forEach(Y=>{L.push(function ZEe(e,n){return new Ae(3505,!1)}())}),S.forEach(Y=>Y.destroy()),this.reportError(L)}const w=new Map,O=new Map;a.forEach(L=>{const Y=L.element;i.has(Y)&&(O.set(Y,Y),this._beforeAnimationBuild(L.player.namespaceId,L.instruction,w))}),r.forEach(L=>{const Y=L.element;this._getPreviousPlayers(Y,!1,L.namespaceId,L.triggerName,null).forEach($=>{Gs(w,Y,[]).push($),$.destroy()})});const B=m.filter(L=>BZ(L,l,c)),W=new Map;OZ(W,this.driver,v,c,ep).forEach(L=>{BZ(L,l,c)&&B.push(L)});const te=new Map;f.forEach((L,Y)=>{OZ(te,this.driver,new Set(L),l,OR)}),B.forEach(L=>{const Y=W.get(L),P=te.get(L);W.set(L,new Map([...Array.from(Y?.entries()??[]),...Array.from(P?.entries()??[])]))});const K=[],F=[],M={};a.forEach(L=>{const{element:Y,player:P,instruction:$}=L;if(i.has(Y)){if(u.has(Y))return P.onDestroy(()=>Lu(Y,$.toStyles)),P.disabled=!0,P.overrideTotalTime($.totalTime),void r.push(P);let U=M;if(O.size>1){let oe=Y;const ce=[];for(;oe=oe.parentNode;){const se=O.get(oe);if(se){U=se;break}ce.push(oe)}ce.forEach(se=>O.set(se,U))}const ee=this._buildAnimation(P.namespaceId,$,w,o,te,W);if(P.setRealPlayer(ee),U===M)K.push(P);else{const oe=this.playersByElement.get(U);oe&&oe.length&&(P.parentPlayer=bf(oe)),r.push(P)}}else Mg(Y,$.fromStyles),P.onDestroy(()=>Lu(Y,$.toStyles)),F.push(P),u.has(Y)&&r.push(P)}),F.forEach(L=>{const Y=o.get(L.element);if(Y&&Y.length){const P=bf(Y);L.setRealPlayer(P)}}),r.forEach(L=>{L.parentPlayer?L.syncPlayerEvents(L.parentPlayer):L.destroy()});for(let L=0;L!ee.destroyed);U.length?JIe(this,Y,U):this.processLeaveNode(Y)}return m.length=0,K.forEach(L=>{this.players.push(L),L.onDone(()=>{L.destroy();const Y=this.players.indexOf(L);this.players.splice(Y,1)}),L.play()}),K}elementContainsData(n,t){let i=!1;const r=t[Sl];return r&&r.setForRemoval&&(i=!0),this.playersByElement.has(t)&&(i=!0),this.playersByQueriedElement.has(t)&&(i=!0),this.statesByElement.has(t)&&(i=!0),this._fetchNamespace(n).elementContainsData(t)||i}afterFlush(n){this._flushFns.push(n)}afterFlushAnimationsDone(n){this._whenQuietFns.push(n)}_getPreviousPlayers(n,t,i,r,o){let a=[];if(t){const s=this.playersByQueriedElement.get(n);s&&(a=s)}else{const s=this.playersByElement.get(n);if(s){const l=!o||o==YT;s.forEach(c=>{c.queued||!l&&c.triggerName!=r||a.push(c)})}}return(i||r)&&(a=a.filter(s=>!(i&&i!=s.namespaceId||r&&r!=s.triggerName))),a}_beforeAnimationBuild(n,t,i){const o=t.element,a=t.isRemovalTransition?void 0:n,s=t.isRemovalTransition?void 0:t.triggerName;for(const l of t.timelines){const c=l.element,u=c!==o,d=Gs(i,c,[]);this._getPreviousPlayers(c,u,a,s,t.toState).forEach(f=>{const h=f.getRealPlayer();h.beforeDestroy&&h.beforeDestroy(),f.destroy(),d.push(f)})}Mg(o,t.fromStyles)}_buildAnimation(n,t,i,r,o,a){const s=t.triggerName,l=t.element,c=[],u=new Set,d=new Set,p=t.timelines.map(h=>{const g=h.element;u.add(g);const m=g[Sl];if(m&&m.removedBeforeQueried)return new OT(h.duration,h.delay);const _=g!==l,v=function e6e(e){const n=[];return GZ(e,n),n}((i.get(g)||jIe).map(w=>w.getRealPlayer())).filter(w=>!!w.element&&w.element===g),C=o.get(g),A=a.get(g),S=dZ(0,this._normalizer,0,h.keyframes,C,A),I=this._buildPlayer(h,S,v);if(h.subTimeline&&r&&d.add(g),_){const w=new s9(n,s,g);w.setRealPlayer(I),c.push(w)}return I});c.forEach(h=>{Gs(this.playersByQueriedElement,h.element,[]).push(h),h.onDone(()=>function ZIe(e,n,t){let i=e.get(n);if(i){if(i.length){const r=i.indexOf(t);i.splice(r,1)}0==i.length&&e.delete(n)}return i}(this.playersByQueriedElement,h.element,h))}),u.forEach(h=>wl(h,TZ));const f=bf(p);return f.onDestroy(()=>{u.forEach(h=>$y(h,TZ)),Lu(l,t.toStyles)}),d.forEach(h=>{Gs(r,h,[]).push(f)}),f}_buildPlayer(n,t,i){return t.length>0?this.driver.animate(n.element,t,n.duration,n.delay,n.easing,i):new OT(n.duration,n.delay)}}class s9{constructor(n,t,i){this.namespaceId=n,this.triggerName=t,this.element=i,this._player=new OT,this._containsRealPlayer=!1,this._queuedCallbacks=new Map,this.destroyed=!1,this.parentPlayer=null,this.markedForDestroy=!1,this.disabled=!1,this.queued=!0,this.totalTime=0}setRealPlayer(n){this._containsRealPlayer||(this._player=n,this._queuedCallbacks.forEach((t,i)=>{t.forEach(r=>GR(n,i,void 0,r))}),this._queuedCallbacks.clear(),this._containsRealPlayer=!0,this.overrideTotalTime(n.totalTime),this.queued=!1)}getRealPlayer(){return this._player}overrideTotalTime(n){this.totalTime=n}syncPlayerEvents(n){const t=this._player;t.triggerCallback&&n.onStart(()=>t.triggerCallback("start")),n.onDone(()=>this.finish()),n.onDestroy(()=>this.destroy())}_queueEvent(n,t){Gs(this._queuedCallbacks,n,[]).push(t)}onDone(n){this.queued&&this._queueEvent("done",n),this._player.onDone(n)}onStart(n){this.queued&&this._queueEvent("start",n),this._player.onStart(n)}onDestroy(n){this.queued&&this._queueEvent("destroy",n),this._player.onDestroy(n)}init(){this._player.init()}hasStarted(){return!this.queued&&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(n){this.queued||this._player.setPosition(n)}getPosition(){return this.queued?0:this._player.getPosition()}triggerCallback(n){const t=this._player;t.triggerCallback&&t.triggerCallback(n)}}function bw(e){return e&&1===e.nodeType}function NZ(e,n){const t=e.style.display;return e.style.display=n??"none",t}function OZ(e,n,t,i,r){const o=[];t.forEach(l=>o.push(NZ(l)));const a=[];i.forEach((l,c)=>{const u=new Map;l.forEach(d=>{const p=n.computeStyle(c,d,r);u.set(d,p),(!p||0==p.length)&&(c[Sl]=WIe,a.push(c))}),e.set(c,u)});let s=0;return t.forEach(l=>NZ(l,o[s++])),a}function HZ(e,n){const t=new Map;if(e.forEach(s=>t.set(s,[])),0==n.length)return t;const i=1,r=new Set(n),o=new Map;function a(s){if(!s)return i;let l=o.get(s);if(l)return l;const c=s.parentNode;return l=t.has(c)?c:r.has(c)?i:a(c),o.set(s,l),l}return n.forEach(s=>{const l=a(s);l!==i&&t.get(l).push(s)}),t}function wl(e,n){e.classList?.add(n)}function $y(e,n){e.classList?.remove(n)}function JIe(e,n,t){bf(t).onDone(()=>e.processLeaveNode(n))}function GZ(e,n){for(let t=0;tr.add(o)):n.set(e,i),t.delete(e),!0}class Aw{constructor(n,t,i){this.bodyNode=n,this._driver=t,this._normalizer=i,this._triggerCache={},this.onRemovalComplete=(r,o)=>{},this._transitionEngine=new KIe(n,t,i),this._timelineEngine=new YIe(n,t,i),this._transitionEngine.onRemovalComplete=(r,o)=>this.onRemovalComplete(r,o)}registerTrigger(n,t,i,r,o){const a=n+"-"+r;let s=this._triggerCache[a];if(!s){const l=[],c=[],u=ZR(this._driver,o,l,c);if(l.length)throw function GEe(e,n){return new Ae(3404,!1)}();s=function OIe(e,n,t){return new HIe(e,n,t)}(r,u,this._normalizer),this._triggerCache[a]=s}this._transitionEngine.registerTrigger(t,r,s)}register(n,t){this._transitionEngine.register(n,t)}destroy(n,t){this._transitionEngine.destroy(n,t)}onInsert(n,t,i,r){this._transitionEngine.insertNode(n,t,i,r)}onRemove(n,t,i,r){this._transitionEngine.removeNode(n,t,r||!1,i)}disableAnimations(n,t){this._transitionEngine.markElementAsDisabled(n,t)}process(n,t,i,r){if("@"==i.charAt(0)){const[o,a]=pZ(i);this._timelineEngine.command(o,t,a,r)}else this._transitionEngine.trigger(n,t,i,r)}listen(n,t,i,r,o){if("@"==i.charAt(0)){const[a,s]=pZ(i);return this._timelineEngine.listen(a,t,s,o)}return this._transitionEngine.listen(n,t,i,r,o)}flush(n=-1){this._transitionEngine.flush(n)}get players(){return this._transitionEngine.players.concat(this._timelineEngine.players)}whenRenderingDone(){return this._transitionEngine.whenRenderingDone()}}let i6e=(()=>{class e{constructor(t,i,r){this._element=t,this._startStyles=i,this._endStyles=r,this._state=0;let o=e.initialStylesByElement.get(t);o||e.initialStylesByElement.set(t,o=new Map),this._initialStyles=o}start(){this._state<1&&(this._startStyles&&Lu(this._element,this._startStyles,this._initialStyles),this._state=1)}finish(){this.start(),this._state<2&&(Lu(this._element,this._initialStyles),this._endStyles&&(Lu(this._element,this._endStyles),this._endStyles=null),this._state=1)}destroy(){this.finish(),this._state<3&&(e.initialStylesByElement.delete(this._element),this._startStyles&&(Mg(this._element,this._startStyles),this._endStyles=null),this._endStyles&&(Mg(this._element,this._endStyles),this._endStyles=null),Lu(this._element,this._initialStyles),this._state=3)}}return e.initialStylesByElement=new WeakMap,e})();function l9(e){let n=null;return e.forEach((t,i)=>{(function r6e(e){return"display"===e||"position"===e})(i)&&(n=n||new Map,n.set(i,t))}),n}class YZ{constructor(n,t,i,r){this.element=n,this.keyframes=t,this.options=i,this._specialStyles=r,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._initialized=!1,this._finished=!1,this._started=!1,this._destroyed=!1,this._originalOnDoneFns=[],this._originalOnStartFns=[],this.time=0,this.parentPlayer=null,this.currentSnapshot=new Map,this._duration=i.duration,this._delay=i.delay||0,this.time=this._duration+this._delay}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(n=>n()),this._onDoneFns=[])}init(){this._buildPlayer(),this._preparePlayerBeforeStart()}_buildPlayer(){if(this._initialized)return;this._initialized=!0;const n=this.keyframes;this.domPlayer=this._triggerWebAnimation(this.element,n,this.options),this._finalKeyframe=n.length?n[n.length-1]:new Map,this.domPlayer.addEventListener("finish",()=>this._onFinish())}_preparePlayerBeforeStart(){this._delay?this._resetDomPlayerState():this.domPlayer.pause()}_convertKeyframesToObject(n){const t=[];return n.forEach(i=>{t.push(Object.fromEntries(i))}),t}_triggerWebAnimation(n,t,i){return n.animate(this._convertKeyframesToObject(t),i)}onStart(n){this._originalOnStartFns.push(n),this._onStartFns.push(n)}onDone(n){this._originalOnDoneFns.push(n),this._onDoneFns.push(n)}onDestroy(n){this._onDestroyFns.push(n)}play(){this._buildPlayer(),this.hasStarted()||(this._onStartFns.forEach(n=>n()),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(n=>n()),this._onDestroyFns=[])}setPosition(n){void 0===this.domPlayer&&this.init(),this.domPlayer.currentTime=n*this.time}getPosition(){return this.domPlayer.currentTime/this.time}get totalTime(){return this._delay+this._duration}beforeDestroy(){const n=new Map;this.hasStarted()&&this._finalKeyframe.forEach((i,r)=>{"offset"!==r&&n.set(r,this._finished?i:xZ(this.element,r))}),this.currentSnapshot=n}triggerCallback(n){const t="start"===n?this._onStartFns:this._onDoneFns;t.forEach(i=>i()),t.length=0}}class o6e{validateStyleProperty(n){return!0}validateAnimatableStyleProperty(n){return!0}matchesElement(n,t){return!1}containsElement(n,t){return mZ(n,t)}getParentElement(n){return zR(n)}query(n,t,i){return yZ(n,t,i)}computeStyle(n,t,i){return window.getComputedStyle(n)[t]}animate(n,t,i,r,o,a=[]){const l={duration:i,delay:r,fill:0==r?"both":"forwards"};o&&(l.easing=o);const c=new Map,u=a.filter(f=>f instanceof YZ);(function cIe(e,n){return 0===e||0===n})(i,r)&&u.forEach(f=>{f.currentSnapshot.forEach((h,g)=>c.set(g,h))});let d=function oIe(e){return e.length?e[0]instanceof Map?e:e.map(n=>CZ(n)):[]}(t).map(f=>Af(f));d=function uIe(e,n,t){if(t.size&&n.length){let i=n[0],r=[];if(t.forEach((o,a)=>{i.has(a)||r.push(a),i.set(a,o)}),r.length)for(let o=1;oa.set(s,xZ(e,s)))}}return n}(n,d,c);const p=function n6e(e,n){let t=null,i=null;return Array.isArray(n)&&n.length?(t=l9(n[0]),n.length>1&&(i=l9(n[n.length-1]))):n instanceof Map&&(t=l9(n)),t||i?new i6e(e,t,i):null}(n,d);return new YZ(n,d,l,p)}}let a6e=(()=>{class e extends oZ{constructor(t,i){super(),this._nextAnimationId=0,this._renderer=t.createRenderer(i.body,{id:"0",encapsulation:Rs.None,styles:[],data:{animation:[]}})}build(t){const i=this._nextAnimationId.toString();this._nextAnimationId++;const r=Array.isArray(t)?aZ(t):t;return VZ(this._renderer,null,i,"register",[r]),new s6e(i,this._renderer)}}return e.\u0275fac=function(t){return new(t||e)(Qe(gv),Qe(xi))},e.\u0275prov=y({token:e,factory:e.\u0275fac}),e})();class s6e extends yEe{constructor(n,t){super(),this._id=n,this._renderer=t}create(n,t){return new l6e(this._id,n,t||{},this._renderer)}}class l6e{constructor(n,t,i,r){this.id=n,this.element=t,this._renderer=r,this.parentPlayer=null,this._started=!1,this.totalTime=0,this._command("create",i)}_listen(n,t){return this._renderer.listen(this.element,`@@${this.id}:${n}`,t)}_command(n,...t){return VZ(this._renderer,this.element,this.id,n,t)}onDone(n){this._listen("done",n)}onStart(n){this._listen("start",n)}onDestroy(n){this._listen("destroy",n)}init(){this._command("init")}hasStarted(){return this._started}play(){this._command("play"),this._started=!0}pause(){this._command("pause")}restart(){this._command("restart")}finish(){this._command("finish")}destroy(){this._command("destroy")}reset(){this._command("reset"),this._started=!1}setPosition(n){this._command("setPosition",n)}getPosition(){return this._renderer.engine.players[+this.id]?.getPosition()??0}}function VZ(e,n,t,i,r){return e.setProperty(n,`@@${t}:${i}`,r)}const zZ="@.disabled";let c6e=(()=>{class e{constructor(t,i,r){this.delegate=t,this.engine=i,this._zone=r,this._currentId=0,this._microtaskId=1,this._animationCallbacksBuffer=[],this._rendererCache=new Map,this._cdRecurDepth=0,this.promise=Promise.resolve(0),i.onRemovalComplete=(o,a)=>{const s=a?.parentNode(o);s&&a.removeChild(s,o)}}createRenderer(t,i){const o=this.delegate.createRenderer(t,i);if(!(t&&i&&i.data&&i.data.animation)){let u=this._rendererCache.get(o);return u||(u=new $Z("",o,this.engine,()=>this._rendererCache.delete(o)),this._rendererCache.set(o,u)),u}const a=i.id,s=i.id+"-"+this._currentId;this._currentId++,this.engine.register(s,t);const l=u=>{Array.isArray(u)?u.forEach(l):this.engine.registerTrigger(a,s,t,u.name,u)};return i.data.animation.forEach(l),new u6e(this,s,o,this.engine)}begin(){this._cdRecurDepth++,this.delegate.begin&&this.delegate.begin()}_scheduleCountTask(){this.promise.then(()=>{this._microtaskId++})}scheduleListenerCallback(t,i,r){t>=0&&ti(r)):(0==this._animationCallbacksBuffer.length&&Promise.resolve(null).then(()=>{this._zone.run(()=>{this._animationCallbacksBuffer.forEach(o=>{const[a,s]=o;a(s)}),this._animationCallbacksBuffer=[]})}),this._animationCallbacksBuffer.push([i,r]))}end(){this._cdRecurDepth--,0==this._cdRecurDepth&&this._zone.runOutsideAngular(()=>{this._scheduleCountTask(),this.engine.flush(this._microtaskId)}),this.delegate.end&&this.delegate.end()}whenRenderingDone(){return this.engine.whenRenderingDone()}}return e.\u0275fac=function(t){return new(t||e)(Qe(gv),Qe(Aw),Qe(wn))},e.\u0275prov=y({token:e,factory:e.\u0275fac}),e})();class $Z{constructor(n,t,i,r){this.namespaceId=n,this.delegate=t,this.engine=i,this._onDestroy=r,this.destroyNode=this.delegate.destroyNode?o=>t.destroyNode(o):null}get data(){return this.delegate.data}destroy(){this.engine.destroy(this.namespaceId,this.delegate),this.delegate.destroy(),this._onDestroy?.()}createElement(n,t){return this.delegate.createElement(n,t)}createComment(n){return this.delegate.createComment(n)}createText(n){return this.delegate.createText(n)}appendChild(n,t){this.delegate.appendChild(n,t),this.engine.onInsert(this.namespaceId,t,n,!1)}insertBefore(n,t,i,r=!0){this.delegate.insertBefore(n,t,i),this.engine.onInsert(this.namespaceId,t,n,r)}removeChild(n,t,i){this.engine.onRemove(this.namespaceId,t,this.delegate,i)}selectRootElement(n,t){return this.delegate.selectRootElement(n,t)}parentNode(n){return this.delegate.parentNode(n)}nextSibling(n){return this.delegate.nextSibling(n)}setAttribute(n,t,i,r){this.delegate.setAttribute(n,t,i,r)}removeAttribute(n,t,i){this.delegate.removeAttribute(n,t,i)}addClass(n,t){this.delegate.addClass(n,t)}removeClass(n,t){this.delegate.removeClass(n,t)}setStyle(n,t,i,r){this.delegate.setStyle(n,t,i,r)}removeStyle(n,t,i){this.delegate.removeStyle(n,t,i)}setProperty(n,t,i){"@"==t.charAt(0)&&t==zZ?this.disableAnimations(n,!!i):this.delegate.setProperty(n,t,i)}setValue(n,t){this.delegate.setValue(n,t)}listen(n,t,i){return this.delegate.listen(n,t,i)}disableAnimations(n,t){this.engine.disableAnimations(n,t)}}class u6e extends $Z{constructor(n,t,i,r,o){super(t,i,r,o),this.factory=n,this.namespaceId=t}setProperty(n,t,i){"@"==t.charAt(0)?"."==t.charAt(1)&&t==zZ?this.disableAnimations(n,i=void 0===i||!!i):this.engine.process(this.namespaceId,n,t.slice(1),i):this.delegate.setProperty(n,t,i)}listen(n,t,i){if("@"==t.charAt(0)){const r=function d6e(e){switch(e){case"body":return document.body;case"document":return document;case"window":return window;default:return e}}(n);let o=t.slice(1),a="";return"@"!=o.charAt(0)&&([o,a]=function p6e(e){const n=e.indexOf(".");return[e.substring(0,n),e.slice(n+1)]}(o)),this.engine.listen(this.namespaceId,r,o,a,s=>{this.factory.scheduleListenerCallback(s._data||-1,i,s)})}return this.delegate.listen(n,t,i)}}let f6e=(()=>{class e extends Aw{constructor(t,i,r,o){super(t.body,i,r)}ngOnDestroy(){this.flush()}}return e.\u0275fac=function(t){return new(t||e)(Qe(xi),Qe($R),Qe(t9),Qe(Mv))},e.\u0275prov=y({token:e,factory:e.\u0275fac}),e})();const UZ=[{provide:oZ,useClass:a6e},{provide:t9,useFactory:function h6e(){return new MIe}},{provide:Aw,useClass:f6e},{provide:gv,useFactory:function g6e(e,n,t){return new c6e(e,n,t)},deps:[MA,Aw,wn]}],c9=[{provide:$R,useFactory:()=>new o6e},{provide:Hz,useValue:"BrowserAnimations"},...UZ],jZ=[{provide:$R,useClass:_Z},{provide:Hz,useValue:"NoopAnimations"},...UZ];let WZ=(()=>{class e{static withConfig(t){return{ngModule:e,providers:t.disableAnimations?jZ:c9}}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=en({type:e}),e.\u0275inj=b({providers:c9,imports:[rU]}),e})(),ve=(()=>{class e{static addClass(t,i){t&&i&&(t.classList?t.classList.add(i):t.className+=" "+i)}static addMultipleClasses(t,i){if(t&&i)if(t.classList){let r=i.trim().split(" ");for(let o=0;o{if(g)return"relative"===getComputedStyle(g).getPropertyValue("position")?g:r(g.parentElement)},o=t.offsetParent?{width:t.offsetWidth,height:t.offsetHeight}:this.getHiddenElementDimensions(t),a=i.offsetHeight,s=i.getBoundingClientRect(),l=this.getWindowScrollTop(),c=this.getWindowScrollLeft(),u=this.getViewport(),p=r(t)?.getBoundingClientRect()||{top:-1*l,left:-1*c};let f,h;s.top+a+o.height>u.height?(f=s.top-p.top-o.height,t.style.transformOrigin="bottom",s.top+f<0&&(f=-1*s.top)):(f=a+s.top-p.top,t.style.transformOrigin="top"),h=o.width>u.width?-1*(s.left-p.left):s.left-p.left+o.width>u.width?-1*(s.left-p.left+o.width-u.width):s.left-p.left,t.style.top=f+"px",t.style.left=h+"px"}static absolutePosition(t,i){const r=t.offsetParent?{width:t.offsetWidth,height:t.offsetHeight}:this.getHiddenElementDimensions(t),o=r.height,a=r.width,s=i.offsetHeight,l=i.offsetWidth,c=i.getBoundingClientRect(),u=this.getWindowScrollTop(),d=this.getWindowScrollLeft(),p=this.getViewport();let f,h;c.top+s+o>p.height?(f=c.top+u-o,t.style.transformOrigin="bottom",f<0&&(f=u)):(f=s+c.top+u,t.style.transformOrigin="top"),h=c.left+a>p.width?Math.max(0,c.left+d+l-a):c.left+d,t.style.top=f+"px",t.style.left=h+"px"}static getParents(t,i=[]){return null===t.parentNode?i:this.getParents(t.parentNode,i.concat([t.parentNode]))}static getScrollableParents(t){let i=[];if(t){let r=this.getParents(t);const o=/(auto|scroll)/,a=s=>{let l=window.getComputedStyle(s,null);return o.test(l.getPropertyValue("overflow"))||o.test(l.getPropertyValue("overflowX"))||o.test(l.getPropertyValue("overflowY"))};for(let s of r){let l=1===s.nodeType&&s.dataset.scrollselectors;if(l){let c=l.split(",");for(let u of c){let d=this.findSingle(s,u);d&&a(d)&&i.push(d)}}9!==s.nodeType&&a(s)&&i.push(s)}}return i}static getHiddenElementOuterHeight(t){t.style.visibility="hidden",t.style.display="block";let i=t.offsetHeight;return t.style.display="none",t.style.visibility="visible",i}static getHiddenElementOuterWidth(t){t.style.visibility="hidden",t.style.display="block";let i=t.offsetWidth;return t.style.display="none",t.style.visibility="visible",i}static getHiddenElementDimensions(t){let i={};return t.style.visibility="hidden",t.style.display="block",i.width=t.offsetWidth,i.height=t.offsetHeight,t.style.display="none",t.style.visibility="visible",i}static scrollInView(t,i){let r=getComputedStyle(t).getPropertyValue("borderTopWidth"),o=r?parseFloat(r):0,a=getComputedStyle(t).getPropertyValue("paddingTop"),s=a?parseFloat(a):0,l=t.getBoundingClientRect(),u=i.getBoundingClientRect().top+document.body.scrollTop-(l.top+document.body.scrollTop)-o-s,d=t.scrollTop,p=t.clientHeight,f=this.getOuterHeight(i);u<0?t.scrollTop=d+u:u+f>p&&(t.scrollTop=d+u-p+f)}static fadeIn(t,i){t.style.opacity=0;let r=+new Date,o=0,a=function(){o=+t.style.opacity.replace(",",".")+((new Date).getTime()-r)/i,t.style.opacity=o,r=+new Date,+o<1&&(window.requestAnimationFrame&&requestAnimationFrame(a)||setTimeout(a,16))};a()}static fadeOut(t,i){var r=1,s=50/i;let l=setInterval(()=>{(r-=s)<=0&&(r=0,clearInterval(l)),t.style.opacity=r},50)}static getWindowScrollTop(){let t=document.documentElement;return(window.pageYOffset||t.scrollTop)-(t.clientTop||0)}static getWindowScrollLeft(){let t=document.documentElement;return(window.pageXOffset||t.scrollLeft)-(t.clientLeft||0)}static matches(t,i){var r=Element.prototype;return(r.matches||r.webkitMatchesSelector||r.mozMatchesSelector||r.msMatchesSelector||function(a){return-1!==[].indexOf.call(document.querySelectorAll(a),this)}).call(t,i)}static getOuterWidth(t,i){let r=t.offsetWidth;if(i){let o=getComputedStyle(t);r+=parseFloat(o.marginLeft)+parseFloat(o.marginRight)}return r}static getHorizontalPadding(t){let i=getComputedStyle(t);return parseFloat(i.paddingLeft)+parseFloat(i.paddingRight)}static getHorizontalMargin(t){let i=getComputedStyle(t);return parseFloat(i.marginLeft)+parseFloat(i.marginRight)}static innerWidth(t){let i=t.offsetWidth,r=getComputedStyle(t);return i+=parseFloat(r.paddingLeft)+parseFloat(r.paddingRight),i}static width(t){let i=t.offsetWidth,r=getComputedStyle(t);return i-=parseFloat(r.paddingLeft)+parseFloat(r.paddingRight),i}static getInnerHeight(t){let i=t.offsetHeight,r=getComputedStyle(t);return i+=parseFloat(r.paddingTop)+parseFloat(r.paddingBottom),i}static getOuterHeight(t,i){let r=t.offsetHeight;if(i){let o=getComputedStyle(t);r+=parseFloat(o.marginTop)+parseFloat(o.marginBottom)}return r}static getHeight(t){let i=t.offsetHeight,r=getComputedStyle(t);return i-=parseFloat(r.paddingTop)+parseFloat(r.paddingBottom)+parseFloat(r.borderTopWidth)+parseFloat(r.borderBottomWidth),i}static getWidth(t){let i=t.offsetWidth,r=getComputedStyle(t);return i-=parseFloat(r.paddingLeft)+parseFloat(r.paddingRight)+parseFloat(r.borderLeftWidth)+parseFloat(r.borderRightWidth),i}static getViewport(){let t=window,i=document,r=i.documentElement,o=i.getElementsByTagName("body")[0];return{width:t.innerWidth||r.clientWidth||o.clientWidth,height:t.innerHeight||r.clientHeight||o.clientHeight}}static getOffset(t){var i=t.getBoundingClientRect();return{top:i.top+(window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0),left:i.left+(window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft||0)}}static replaceElementWith(t,i){let r=t.parentNode;if(!r)throw"Can't replace element";return r.replaceChild(i,t)}static getUserAgent(){if(navigator&&this.isClient())return navigator.userAgent}static isIE(){var t=window.navigator.userAgent;return t.indexOf("MSIE ")>0||(t.indexOf("Trident/")>0?(t.indexOf("rv:"),!0):t.indexOf("Edge/")>0)}static isIOS(){return/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream}static isAndroid(){return/(android)/i.test(navigator.userAgent)}static isTouchDevice(){return"ontouchstart"in window||navigator.maxTouchPoints>0}static appendChild(t,i){if(this.isElement(i))i.appendChild(t);else{if(!i.el||!i.el.nativeElement)throw"Cannot append "+i+" to "+t;i.el.nativeElement.appendChild(t)}}static removeChild(t,i){if(this.isElement(i))i.removeChild(t);else{if(!i.el||!i.el.nativeElement)throw"Cannot remove "+t+" from "+i;i.el.nativeElement.removeChild(t)}}static removeElement(t){"remove"in Element.prototype?t.remove():t.parentNode.removeChild(t)}static isElement(t){return"object"==typeof HTMLElement?t instanceof HTMLElement:t&&"object"==typeof t&&null!==t&&1===t.nodeType&&"string"==typeof t.nodeName}static calculateScrollbarWidth(t){if(t){let i=getComputedStyle(t);return t.offsetWidth-t.clientWidth-parseFloat(i.borderLeftWidth)-parseFloat(i.borderRightWidth)}{if(null!==this.calculatedScrollbarWidth)return this.calculatedScrollbarWidth;let i=document.createElement("div");i.className="p-scrollbar-measure",document.body.appendChild(i);let r=i.offsetWidth-i.clientWidth;return document.body.removeChild(i),this.calculatedScrollbarWidth=r,r}}static calculateScrollbarHeight(){if(null!==this.calculatedScrollbarHeight)return this.calculatedScrollbarHeight;let t=document.createElement("div");t.className="p-scrollbar-measure",document.body.appendChild(t);let i=t.offsetHeight-t.clientHeight;return document.body.removeChild(t),this.calculatedScrollbarWidth=i,i}static invokeElementMethod(t,i,r){t[i].apply(t,r)}static clearSelection(){if(window.getSelection)window.getSelection().empty?window.getSelection().empty():window.getSelection().removeAllRanges&&window.getSelection().rangeCount>0&&window.getSelection().getRangeAt(0).getClientRects().length>0&&window.getSelection().removeAllRanges();else if(document.selection&&document.selection.empty)try{document.selection.empty()}catch{}}static getBrowser(){if(!this.browser){let t=this.resolveUserAgent();this.browser={},t.browser&&(this.browser[t.browser]=!0,this.browser.version=t.version),this.browser.chrome?this.browser.webkit=!0:this.browser.webkit&&(this.browser.safari=!0)}return this.browser}static resolveUserAgent(){let t=navigator.userAgent.toLowerCase(),i=/(chrome)[ \/]([\w.]+)/.exec(t)||/(webkit)[ \/]([\w.]+)/.exec(t)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(t)||/(msie) ([\w.]+)/.exec(t)||t.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(t)||[];return{browser:i[1]||"",version:i[2]||"0"}}static isInteger(t){return Number.isInteger?Number.isInteger(t):"number"==typeof t&&isFinite(t)&&Math.floor(t)===t}static isHidden(t){return!t||null===t.offsetParent}static isVisible(t){return t&&null!=t.offsetParent}static isExist(t){return null!==t&&typeof t<"u"&&t.nodeName&&t.parentNode}static focus(t,i){t&&document.activeElement!==t&&t.focus(i)}static getFocusableElements(t){let i=e.find(t,'button:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden]),\n [href]:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden]),\n input:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden]), select:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden]),\n textarea:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden]), [tabIndex]:not([tabIndex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden]),\n [contenteditable]:not([tabIndex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden]):not(.p-disabled)'),r=[];for(let o of i)(o.offsetWidth||o.offsetHeight||o.getClientRects().length)&&r.push(o);return r}static getNextFocusableElement(t,i=!1){const r=e.getFocusableElements(t);let o=0;if(r&&r.length>0){const a=r.indexOf(r[0].ownerDocument.activeElement);i?o=-1==a||0===a?r.length-1:a-1:-1!=a&&a!==r.length-1&&(o=a+1)}return r[o]}static generateZIndex(){return this.zindex=this.zindex||999,++this.zindex}static getSelection(){return window.getSelection?window.getSelection().toString():document.getSelection?document.getSelection().toString():document.selection?document.selection.createRange().text:null}static getTargetElement(t,i){if(!t)return null;switch(t){case"document":return document;case"window":return window;case"@next":return i?.nextElementSibling;case"@prev":return i?.previousElementSibling;case"@parent":return i?.parentElement;case"@grandparent":return i?.parentElement.parentElement;default:const r=typeof t;if("string"===r)return document.querySelector(t);if("object"===r&&t.hasOwnProperty("nativeElement"))return this.isExist(t.nativeElement)?t.nativeElement:void 0;const a=(s=t)&&s.constructor&&s.call&&s.apply?t():t;return a&&9===a.nodeType||this.isExist(a)?a:null}var s}static isClient(){return!!(typeof window<"u"&&window.document&&window.document.createElement)}}return e.zindex=1e3,e.calculatedScrollbarWidth=null,e.calculatedScrollbarHeight=null,e})();class ww{constructor(n,t=(()=>{})){this.element=n,this.listener=t}bindScrollListener(){this.scrollableParents=ve.getScrollableParents(this.element);for(let n=0;n{class e{constructor(t,i,r,o,a,s){this.platformId=t,this.el=i,this.zone=r,this.config=o,this.renderer=a,this.changeDetector=s,this.escape=!0,this.autoHide=!0,this.fitContent=!0,this.hideOnEscape=!0,this._tooltipOptions={tooltipPosition:"right",tooltipEvent:"hover",appendTo:"body",tooltipZIndex:"auto",escape:!0,positionTop:0,positionLeft:0,autoHide:!0,hideOnEscape:!1}}get disabled(){return this._disabled}set disabled(t){this._disabled=t,this.deactivate()}ngAfterViewInit(){Gd(this.platformId)&&this.zone.runOutsideAngular(()=>{if("hover"===this.getOption("tooltipEvent"))this.mouseEnterListener=this.onMouseEnter.bind(this),this.mouseLeaveListener=this.onMouseLeave.bind(this),this.clickListener=this.onInputClick.bind(this),this.el.nativeElement.addEventListener("mouseenter",this.mouseEnterListener),this.el.nativeElement.addEventListener("click",this.clickListener),this.el.nativeElement.addEventListener("mouseleave",this.mouseLeaveListener);else if("focus"===this.getOption("tooltipEvent")){this.focusListener=this.onFocus.bind(this),this.blurListener=this.onBlur.bind(this);let t=this.getTarget(this.el.nativeElement);t.addEventListener("focus",this.focusListener),t.addEventListener("blur",this.blurListener)}})}ngOnChanges(t){t.tooltipPosition&&this.setOption({tooltipPosition:t.tooltipPosition.currentValue}),t.tooltipEvent&&this.setOption({tooltipEvent:t.tooltipEvent.currentValue}),t.appendTo&&this.setOption({appendTo:t.appendTo.currentValue}),t.positionStyle&&this.setOption({positionStyle:t.positionStyle.currentValue}),t.tooltipStyleClass&&this.setOption({tooltipStyleClass:t.tooltipStyleClass.currentValue}),t.tooltipZIndex&&this.setOption({tooltipZIndex:t.tooltipZIndex.currentValue}),t.escape&&this.setOption({escape:t.escape.currentValue}),t.showDelay&&this.setOption({showDelay:t.showDelay.currentValue}),t.hideDelay&&this.setOption({hideDelay:t.hideDelay.currentValue}),t.life&&this.setOption({life:t.life.currentValue}),t.positionTop&&this.setOption({positionTop:t.positionTop.currentValue}),t.positionLeft&&this.setOption({positionLeft:t.positionLeft.currentValue}),t.disabled&&this.setOption({disabled:t.disabled.currentValue}),t.text&&(this.setOption({tooltipLabel:t.text.currentValue}),this.active&&(t.text.currentValue?this.container&&this.container.offsetParent?(this.updateText(),this.align()):this.show():this.hide())),t.autoHide&&this.setOption({autoHide:t.autoHide.currentValue}),t.tooltipOptions&&(this._tooltipOptions={...this._tooltipOptions,...t.tooltipOptions.currentValue},this.deactivate(),this.active&&(this.getOption("tooltipLabel")?this.container&&this.container.offsetParent?(this.updateText(),this.align()):this.show():this.hide()))}isAutoHide(){return this.getOption("autoHide")}onMouseEnter(t){!this.container&&!this.showTimeout&&this.activate()}onMouseLeave(t){(this.isAutoHide()||!(ve.hasClass(t.toElement,"p-tooltip")||ve.hasClass(t.toElement,"p-tooltip-arrow")||ve.hasClass(t.toElement,"p-tooltip-text")||ve.hasClass(t.relatedTarget,"p-tooltip")))&&this.deactivate()}onFocus(t){this.activate()}onBlur(t){this.deactivate()}onInputClick(t){this.deactivate()}onPressEscape(){this.hideOnEscape&&this.deactivate()}activate(){if(this.active=!0,this.clearHideTimeout(),this.getOption("showDelay")?this.showTimeout=setTimeout(()=>{this.show()},this.getOption("showDelay")):this.show(),this.getOption("life")){let t=this.getOption("showDelay")?this.getOption("life")+this.getOption("showDelay"):this.getOption("life");this.hideTimeout=setTimeout(()=>{this.hide()},t)}}deactivate(){this.active=!1,this.clearShowTimeout(),this.getOption("hideDelay")?(this.clearHideTimeout(),this.hideTimeout=setTimeout(()=>{this.hide()},this.getOption("hideDelay"))):this.hide()}create(){this.container&&(this.clearHideTimeout(),this.remove()),this.container=document.createElement("div");let t=document.createElement("div");t.className="p-tooltip-arrow",this.container.appendChild(t),this.tooltipText=document.createElement("div"),this.tooltipText.className="p-tooltip-text",this.updateText(),this.getOption("positionStyle")&&(this.container.style.position=this.getOption("positionStyle")),this.container.appendChild(this.tooltipText),"body"===this.getOption("appendTo")?document.body.appendChild(this.container):"target"===this.getOption("appendTo")?ve.appendChild(this.container,this.el.nativeElement):ve.appendChild(this.container,this.getOption("appendTo")),this.container.style.display="inline-block",this.fitContent&&(this.container.style.width="fit-content"),this.isAutoHide()||this.bindContainerMouseleaveListener()}bindContainerMouseleaveListener(){this.containerMouseleaveListener||(this.containerMouseleaveListener=this.renderer.listen(this.container??this.container.nativeElement,"mouseleave",i=>{this.deactivate()}))}unbindContainerMouseleaveListener(){this.containerMouseleaveListener&&(this.bindContainerMouseleaveListener(),this.containerMouseleaveListener=null)}show(){!this.getOption("tooltipLabel")||this.getOption("disabled")||(this.create(),this.align(),ve.fadeIn(this.container,250),"auto"===this.getOption("tooltipZIndex")?Os.set("tooltip",this.container,this.config.zIndex.tooltip):this.container.style.zIndex=this.getOption("tooltipZIndex"),this.bindDocumentResizeListener(),this.bindScrollListener())}hide(){"auto"===this.getOption("tooltipZIndex")&&Os.clear(this.container),this.remove()}updateText(){this.getOption("escape")?(this.tooltipText.innerHTML="",this.tooltipText.appendChild(document.createTextNode(this.getOption("tooltipLabel")))):this.tooltipText.innerHTML=this.getOption("tooltipLabel")}align(){switch(this.getOption("tooltipPosition")){case"top":this.alignTop(),this.isOutOfBounds()&&(this.alignBottom(),this.isOutOfBounds()&&(this.alignRight(),this.isOutOfBounds()&&this.alignLeft()));break;case"bottom":this.alignBottom(),this.isOutOfBounds()&&(this.alignTop(),this.isOutOfBounds()&&(this.alignRight(),this.isOutOfBounds()&&this.alignLeft()));break;case"left":this.alignLeft(),this.isOutOfBounds()&&(this.alignRight(),this.isOutOfBounds()&&(this.alignTop(),this.isOutOfBounds()&&this.alignBottom()));break;case"right":this.alignRight(),this.isOutOfBounds()&&(this.alignLeft(),this.isOutOfBounds()&&(this.alignTop(),this.isOutOfBounds()&&this.alignBottom()))}}getHostOffset(){if("body"===this.getOption("appendTo")||"target"===this.getOption("appendTo")){let t=this.el.nativeElement.getBoundingClientRect();return{left:t.left+ve.getWindowScrollLeft(),top:t.top+ve.getWindowScrollTop()}}return{left:0,top:0}}alignRight(){this.preAlign("right");let t=this.getHostOffset(),i=t.left+ve.getOuterWidth(this.el.nativeElement),r=t.top+(ve.getOuterHeight(this.el.nativeElement)-ve.getOuterHeight(this.container))/2;this.container.style.left=i+this.getOption("positionLeft")+"px",this.container.style.top=r+this.getOption("positionTop")+"px"}alignLeft(){this.preAlign("left");let t=this.getHostOffset(),i=t.left-ve.getOuterWidth(this.container),r=t.top+(ve.getOuterHeight(this.el.nativeElement)-ve.getOuterHeight(this.container))/2;this.container.style.left=i+this.getOption("positionLeft")+"px",this.container.style.top=r+this.getOption("positionTop")+"px"}alignTop(){this.preAlign("top");let t=this.getHostOffset(),i=t.left+(ve.getOuterWidth(this.el.nativeElement)-ve.getOuterWidth(this.container))/2,r=t.top-ve.getOuterHeight(this.container);this.container.style.left=i+this.getOption("positionLeft")+"px",this.container.style.top=r+this.getOption("positionTop")+"px"}alignBottom(){this.preAlign("bottom");let t=this.getHostOffset(),i=t.left+(ve.getOuterWidth(this.el.nativeElement)-ve.getOuterWidth(this.container))/2,r=t.top+ve.getOuterHeight(this.el.nativeElement);this.container.style.left=i+this.getOption("positionLeft")+"px",this.container.style.top=r+this.getOption("positionTop")+"px"}setOption(t){this._tooltipOptions={...this._tooltipOptions,...t}}getOption(t){return this._tooltipOptions[t]}getTarget(t){return ve.hasClass(t,"p-inputwrapper")?ve.findSingle(t,"input"):t}preAlign(t){this.container.style.left="-999px",this.container.style.top="-999px";let i="p-tooltip p-component p-tooltip-"+t;this.container.className=this.getOption("tooltipStyleClass")?i+" "+this.getOption("tooltipStyleClass"):i}isOutOfBounds(){let t=this.container.getBoundingClientRect(),i=t.top,r=t.left,o=ve.getOuterWidth(this.container),a=ve.getOuterHeight(this.container),s=ve.getViewport();return r+o>s.width||r<0||i<0||i+a>s.height}onWindowResize(t){this.hide()}bindDocumentResizeListener(){this.zone.runOutsideAngular(()=>{this.resizeListener=this.onWindowResize.bind(this),window.addEventListener("resize",this.resizeListener)})}unbindDocumentResizeListener(){this.resizeListener&&(window.removeEventListener("resize",this.resizeListener),this.resizeListener=null)}bindScrollListener(){this.scrollHandler||(this.scrollHandler=new ww(this.el.nativeElement,()=>{this.container&&this.hide()})),this.scrollHandler.bindScrollListener()}unbindScrollListener(){this.scrollHandler&&this.scrollHandler.unbindScrollListener()}unbindEvents(){if("hover"===this.getOption("tooltipEvent"))this.el.nativeElement.removeEventListener("mouseenter",this.mouseEnterListener),this.el.nativeElement.removeEventListener("mouseleave",this.mouseLeaveListener),this.el.nativeElement.removeEventListener("click",this.clickListener);else if("focus"===this.getOption("tooltipEvent")){let t=this.getTarget(this.el.nativeElement);t.removeEventListener("focus",this.focusListener),t.removeEventListener("blur",this.blurListener)}this.unbindDocumentResizeListener()}remove(){this.container&&this.container.parentElement&&("body"===this.getOption("appendTo")?document.body.removeChild(this.container):"target"===this.getOption("appendTo")?this.el.nativeElement.removeChild(this.container):ve.removeChild(this.container,this.getOption("appendTo"))),this.unbindDocumentResizeListener(),this.unbindScrollListener(),this.unbindContainerMouseleaveListener(),this.clearTimeouts(),this.container=null,this.scrollHandler=null}clearShowTimeout(){this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=null)}clearHideTimeout(){this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=null)}clearTimeouts(){this.clearShowTimeout(),this.clearHideTimeout()}ngOnDestroy(){this.unbindEvents(),this.container&&Os.clear(this.container),this.remove(),this.scrollHandler&&(this.scrollHandler.destroy(),this.scrollHandler=null)}}return e.\u0275fac=function(t){return new(t||e)(ie(Md),ie(En),ie(wn),ie(Au),ie(Si),ie(wi))},e.\u0275dir=Ft({type:e,selectors:[["","pTooltip",""]],hostAttrs:[1,"p-element"],hostBindings:function(t,i){1&t&&ge("keydown.escape",function(o){return i.onPressEscape(o)},0,HB)},inputs:{tooltipPosition:"tooltipPosition",tooltipEvent:"tooltipEvent",appendTo:"appendTo",positionStyle:"positionStyle",tooltipStyleClass:"tooltipStyleClass",tooltipZIndex:"tooltipZIndex",escape:"escape",showDelay:"showDelay",hideDelay:"hideDelay",life:"life",positionTop:"positionTop",positionLeft:"positionLeft",autoHide:"autoHide",fitContent:"fitContent",hideOnEscape:"hideOnEscape",text:["pTooltip","text"],disabled:["tooltipDisabled","disabled"],tooltipOptions:"tooltipOptions"},features:[To]}),e})(),xw=(()=>{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=en({type:e}),e.\u0275inj=b({imports:[jn]}),e})();const m6e=["*"];let cr=(()=>{class e{constructor(){this.spin=!1}ngOnInit(){this.getAttributes()}getAttributes(){const t=Ht.isEmpty(this.label);this.role=t?void 0:"img",this.ariaLabel=t?void 0:this.label,this.ariaHidden=t}getClassNames(){return`p-icon ${this.styleClass?this.styleClass+" ":""}${this.spin?"p-icon-spin":""}`}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=mt({type:e,selectors:[["ng-component"]],hostAttrs:[1,"p-element","p-icon-wrapper"],inputs:{label:"label",spin:"spin",styleClass:"styleClass"},standalone:!0,features:[Li],ngContentSelectors:m6e,decls:1,vars:0,template:function(t,i){1&t&&(gu(),ts(0))},encapsulation:2,changeDetection:0}),e})(),np=(()=>{class e extends cr{}return e.\u0275fac=function(){let n;return function(i){return(n||(n=vn(e)))(i||e)}}(),e.\u0275cmp=mt({type:e,selectors:[["CheckIcon"]],standalone:!0,features:[Dt,Li],decls:2,vars:5,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["d","M4.86199 11.5948C4.78717 11.5923 4.71366 11.5745 4.64596 11.5426C4.57826 11.5107 4.51779 11.4652 4.46827 11.4091L0.753985 7.69483C0.683167 7.64891 0.623706 7.58751 0.580092 7.51525C0.536478 7.44299 0.509851 7.36177 0.502221 7.27771C0.49459 7.19366 0.506156 7.10897 0.536046 7.03004C0.565935 6.95111 0.613367 6.88 0.674759 6.82208C0.736151 6.76416 0.8099 6.72095 0.890436 6.69571C0.970973 6.67046 1.05619 6.66385 1.13966 6.67635C1.22313 6.68886 1.30266 6.72017 1.37226 6.76792C1.44186 6.81567 1.4997 6.8786 1.54141 6.95197L4.86199 10.2503L12.6397 2.49483C12.7444 2.42694 12.8689 2.39617 12.9932 2.40745C13.1174 2.41873 13.2343 2.47141 13.3251 2.55705C13.4159 2.64268 13.4753 2.75632 13.4938 2.87973C13.5123 3.00315 13.4888 3.1292 13.4271 3.23768L5.2557 11.4091C5.20618 11.4652 5.14571 11.5107 5.07801 11.5426C5.01031 11.5745 4.9368 11.5923 4.86199 11.5948Z","fill","currentColor"]],template:function(t,i){1&t&&(Jn(),V(0,"svg",0),Te(1,"path",1),j()),2&t&&(Ot(i.getClassNames()),tt("aria-label",i.ariaLabel)("aria-hidden",i.ariaHidden)("role",i.role))},encapsulation:2}),e})();const y6e=["cb"];function _6e(e,n){1&e&&Te(0,"span",10),2&e&&R("ngClass",E(3).checkboxIcon)}function v6e(e,n){1&e&&Te(0,"CheckIcon",11),2&e&&R("styleClass","p-checkbox-icon")}function T6e(e,n){if(1&e&&(dt(0),N(1,_6e,1,1,"span",8),N(2,v6e,1,1,"CheckIcon",9),pt()),2&e){const t=E(2);G(1),R("ngIf",t.checkboxIcon),G(1),R("ngIf",!t.checkboxIcon)}}function C6e(e,n){}function b6e(e,n){1&e&&N(0,C6e,0,0,"ng-template")}function A6e(e,n){if(1&e&&(V(0,"span",12),N(1,b6e,1,0,null,13),j()),2&e){const t=E(2);G(1),R("ngTemplateOutlet",t.checkboxIconTemplate)}}function S6e(e,n){if(1&e&&(dt(0),N(1,T6e,3,2,"ng-container",5),N(2,A6e,2,1,"span",7),pt()),2&e){const t=E();G(1),R("ngIf",!t.checkboxIconTemplate),G(1),R("ngIf",t.checkboxIconTemplate)}}const w6e=function(e,n,t){return{"p-checkbox-label":!0,"p-checkbox-label-active":e,"p-disabled":n,"p-checkbox-label-focus":t}};function x6e(e,n){if(1&e){const t=Be();V(0,"label",14),ge("click",function(r){X(t);const o=E(),a=gn(3);return Q(o.onClick(r,a,!0))}),Ie(1),j()}if(2&e){const t=E();Ot(t.labelStyleClass),R("ngClass",ba(5,w6e,t.checked(),t.disabled,t.focused)),tt("for",t.inputId),G(1),Ci(t.label)}}const F6e=function(e,n,t){return{"p-checkbox p-component":!0,"p-checkbox-checked":e,"p-checkbox-disabled":n,"p-checkbox-focused":t}},D6e=function(e,n,t){return{"p-highlight":e,"p-disabled":n,"p-focus":t}},E6e={provide:sr,useExisting:pn(()=>d9),multi:!0};let d9=(()=>{class e{constructor(t){this.cd=t,this.trueValue=!0,this.falseValue=!1,this.onChange=new Pe,this.onModelChange=()=>{},this.onModelTouched=()=>{},this.focused=!1}ngAfterContentInit(){this.templates.forEach(t=>{"icon"===t.getType()&&(this.checkboxIconTemplate=t.template)})}onClick(t,i,r){t.preventDefault(),!this.disabled&&!this.readonly&&(this.updateModel(t),r&&i.focus())}updateModel(t){let i;this.binary?(i=this.checked()?this.falseValue:this.trueValue,this.model=i,this.onModelChange(i)):(i=this.checked()?this.model.filter(r=>!Ht.equals(r,this.value)):this.model?[...this.model,this.value]:[this.value],this.onModelChange(i),this.model=i,this.formControl&&this.formControl.setValue(i)),this.onChange.emit({checked:i,originalEvent:t})}handleChange(t){this.readonly||this.updateModel(t)}onFocus(){this.focused=!0}onBlur(){this.focused=!1,this.onModelTouched()}focus(){this.inputViewChild.nativeElement.focus()}writeValue(t){this.model=t,this.cd.markForCheck()}registerOnChange(t){this.onModelChange=t}registerOnTouched(t){this.onModelTouched=t}setDisabledState(t){this.disabled=t,this.cd.markForCheck()}checked(){return this.binary?this.model===this.trueValue:Ht.contains(this.value,this.model)}}return e.\u0275fac=function(t){return new(t||e)(ie(wi))},e.\u0275cmp=mt({type:e,selectors:[["p-checkbox"]],contentQueries:function(t,i,r){if(1&t&&Br(r,lr,4),2&t){let o;at(o=st())&&(i.templates=o)}},viewQuery:function(t,i){if(1&t&&Mt(y6e,5),2&t){let r;at(r=st())&&(i.inputViewChild=r.first)}},hostAttrs:[1,"p-element"],inputs:{value:"value",name:"name",disabled:"disabled",binary:"binary",label:"label",ariaLabelledBy:"ariaLabelledBy",ariaLabel:"ariaLabel",tabindex:"tabindex",inputId:"inputId",style:"style",styleClass:"styleClass",labelStyleClass:"labelStyleClass",formControl:"formControl",checkboxIcon:"checkboxIcon",readonly:"readonly",required:"required",trueValue:"trueValue",falseValue:"falseValue"},outputs:{onChange:"onChange"},features:[Zt([E6e])],decls:7,vars:26,consts:[[3,"ngStyle","ngClass"],[1,"p-hidden-accessible"],["type","checkbox",3,"readonly","value","checked","disabled","focus","blur","change"],["cb",""],[1,"p-checkbox-box",3,"ngClass","click"],[4,"ngIf"],[3,"class","ngClass","click",4,"ngIf"],["class","p-checkbox-icon",4,"ngIf"],["class","p-checkbox-icon",3,"ngClass",4,"ngIf"],[3,"styleClass",4,"ngIf"],[1,"p-checkbox-icon",3,"ngClass"],[3,"styleClass"],[1,"p-checkbox-icon"],[4,"ngTemplateOutlet"],[3,"ngClass","click"]],template:function(t,i){if(1&t){const r=Be();V(0,"div",0)(1,"div",1)(2,"input",2,3),ge("focus",function(){return i.onFocus()})("blur",function(){return i.onBlur()})("change",function(a){return i.handleChange(a)}),j()(),V(4,"div",4),ge("click",function(a){X(r);const s=gn(3);return Q(i.onClick(a,s,!0))}),N(5,S6e,3,2,"ng-container",5),j()(),N(6,x6e,2,9,"label",6)}2&t&&(Ot(i.styleClass),R("ngStyle",i.style)("ngClass",ba(18,F6e,i.checked(),i.disabled,i.focused)),G(2),R("readonly",i.readonly)("value",i.value)("checked",i.checked())("disabled",i.disabled),tt("id",i.inputId)("name",i.name)("tabindex",i.tabindex)("aria-labelledby",i.ariaLabelledBy)("aria-label",i.ariaLabel)("aria-checked",i.checked())("required",i.required),G(2),R("ngClass",ba(22,D6e,i.checked(),i.disabled,i.focused)),G(1),R("ngIf",i.checked()),G(1),R("ngIf",i.label))},dependencies:function(){return[to,Mi,Yo,or,np]},styles:[".p-checkbox{display:inline-flex;cursor:pointer;-webkit-user-select:none;user-select:none;vertical-align:bottom;position:relative}.p-checkbox-disabled{cursor:default!important;pointer-events:none}.p-checkbox-box{display:flex;justify-content:center;align-items:center}p-checkbox{display:inline-flex;vertical-align:bottom;align-items:center}.p-checkbox-label{line-height:1}\n"],encapsulation:2,changeDetection:0}),e})(),I6e=(()=>{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=en({type:e}),e.\u0275inj=b({imports:[jn,np,ti]}),e})(),Pg=(()=>{class e{constructor(t,i,r,o,a,s){this.document=t,this.platformId=i,this.renderer=r,this.el=o,this.zone=a,this.config=s}ngAfterViewInit(){Gd(this.platformId)&&this.config&&this.config.ripple&&this.zone.runOutsideAngular(()=>{this.create(),this.mouseDownListener=this.renderer.listen(this.el.nativeElement,"mousedown",this.onMouseDown.bind(this))})}onMouseDown(t){let i=this.getInk();if(!i||"none"===this.document.defaultView.getComputedStyle(i,null).display)return;if(ve.removeClass(i,"p-ink-active"),!ve.getHeight(i)&&!ve.getWidth(i)){let s=Math.max(ve.getOuterWidth(this.el.nativeElement),ve.getOuterHeight(this.el.nativeElement));i.style.height=s+"px",i.style.width=s+"px"}let r=ve.getOffset(this.el.nativeElement),o=t.pageX-r.left+this.document.body.scrollTop-ve.getWidth(i)/2,a=t.pageY-r.top+this.document.body.scrollLeft-ve.getHeight(i)/2;this.renderer.setStyle(i,"top",a+"px"),this.renderer.setStyle(i,"left",o+"px"),ve.addClass(i,"p-ink-active"),this.timeout=setTimeout(()=>{let s=this.getInk();s&&ve.removeClass(s,"p-ink-active")},401)}getInk(){const t=this.el.nativeElement.children;for(let i=0;i{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=en({type:e}),e.\u0275inj=b({imports:[jn]}),e})(),Uy=(()=>{class e extends cr{}return e.\u0275fac=function(){let n;return function(i){return(n||(n=vn(e)))(i||e)}}(),e.\u0275cmp=mt({type:e,selectors:[["SpinnerIcon"]],standalone:!0,features:[Dt,Li],decls:6,vars:5,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["clip-path","url(#clip0_417_21408)"],["d","M6.99701 14C5.85441 13.999 4.72939 13.7186 3.72012 13.1832C2.71084 12.6478 1.84795 11.8737 1.20673 10.9284C0.565504 9.98305 0.165424 8.89526 0.041387 7.75989C-0.0826496 6.62453 0.073125 5.47607 0.495122 4.4147C0.917119 3.35333 1.59252 2.4113 2.46241 1.67077C3.33229 0.930247 4.37024 0.413729 5.4857 0.166275C6.60117 -0.0811796 7.76026 -0.0520535 8.86188 0.251112C9.9635 0.554278 10.9742 1.12227 11.8057 1.90555C11.915 2.01493 11.9764 2.16319 11.9764 2.31778C11.9764 2.47236 11.915 2.62062 11.8057 2.73C11.7521 2.78503 11.688 2.82877 11.6171 2.85864C11.5463 2.8885 11.4702 2.90389 11.3933 2.90389C11.3165 2.90389 11.2404 2.8885 11.1695 2.85864C11.0987 2.82877 11.0346 2.78503 10.9809 2.73C9.9998 1.81273 8.73246 1.26138 7.39226 1.16876C6.05206 1.07615 4.72086 1.44794 3.62279 2.22152C2.52471 2.99511 1.72683 4.12325 1.36345 5.41602C1.00008 6.70879 1.09342 8.08723 1.62775 9.31926C2.16209 10.5513 3.10478 11.5617 4.29713 12.1803C5.48947 12.7989 6.85865 12.988 8.17414 12.7157C9.48963 12.4435 10.6711 11.7264 11.5196 10.6854C12.3681 9.64432 12.8319 8.34282 12.8328 7C12.8328 6.84529 12.8943 6.69692 13.0038 6.58752C13.1132 6.47812 13.2616 6.41667 13.4164 6.41667C13.5712 6.41667 13.7196 6.47812 13.8291 6.58752C13.9385 6.69692 14 6.84529 14 7C14 8.85651 13.2622 10.637 11.9489 11.9497C10.6356 13.2625 8.85432 14 6.99701 14Z","fill","currentColor"],["id","clip0_417_21408"],["width","14","height","14","fill","white"]],template:function(t,i){1&t&&(Jn(),V(0,"svg",0)(1,"g",1),Te(2,"path",2),j(),V(3,"defs")(4,"clipPath",3),Te(5,"rect",4),j()()()),2&t&&(Ot(i.getClassNames()),tt("aria-label",i.ariaLabel)("aria-hidden",i.ariaHidden)("role",i.role))},encapsulation:2}),e})();const Ng={button:"p-button",component:"p-component",iconOnly:"p-button-icon-only",disabled:"p-disabled",loading:"p-button-loading",labelOnly:"p-button-loading-label-only"};let ip=(()=>{class e{constructor(t,i){this.el=t,this.document=i,this.iconPos="left",this._loading=!1,this._internalClasses=Object.values(Ng),this.spinnerIcon='\n \n \n \n \n \n \n \n \n '}get label(){return this._label}set label(t){this._label=t,this.initialized&&(this.updateLabel(),this.updateIcon(),this.setStyleClass())}get icon(){return this._icon}set icon(t){this._icon=t,this.initialized&&(this.updateIcon(),this.setStyleClass())}get loading(){return this._loading}set loading(t){this._loading=t,this.initialized&&(this.updateIcon(),this.setStyleClass())}get htmlElement(){return this.el.nativeElement}ngAfterViewInit(){ve.addMultipleClasses(this.htmlElement,this.getStyleClass().join(" ")),this.createIcon(),this.createLabel(),this.initialized=!0}getStyleClass(){const t=[Ng.button,Ng.component];return this.icon&&!this.label&&Ht.isEmpty(this.htmlElement.textContent)&&t.push(Ng.iconOnly),this.loading&&(t.push(Ng.disabled,Ng.loading),!this.icon&&this.label&&t.push(Ng.labelOnly)),t}setStyleClass(){const t=this.getStyleClass();this.htmlElement.classList.remove(...this._internalClasses),this.htmlElement.classList.add(...t)}createLabel(){if(this.label){let t=this.document.createElement("span");this.icon&&!this.label&&t.setAttribute("aria-hidden","true"),t.className="p-button-label",t.appendChild(this.document.createTextNode(this.label)),this.htmlElement.appendChild(t)}}createIcon(){if(this.icon||this.loading){let t=this.document.createElement("span");t.className="p-button-icon",t.setAttribute("aria-hidden","true");let i=this.label?"p-button-icon-"+this.iconPos:null;i&&ve.addClass(t,i);let r=this.getIconClass();r&&ve.addMultipleClasses(t,r),!this.loadingIcon&&this.loading&&(t.innerHTML=this.spinnerIcon),this.htmlElement.insertBefore(t,this.htmlElement.firstChild)}}updateLabel(){let t=ve.findSingle(this.htmlElement,".p-button-label");this.label?t?t.textContent=this.label:this.createLabel():t&&this.htmlElement.removeChild(t)}updateIcon(){let t=ve.findSingle(this.htmlElement,".p-button-icon");this.icon||this.loading?t?t.className=this.iconPos?"p-button-icon p-button-icon-"+this.iconPos+" "+this.getIconClass():"p-button-icon "+this.getIconClass():this.createIcon():t&&this.htmlElement.removeChild(t)}getIconClass(){return this.loading?"p-button-loading-icon "+(this.loadingIcon?this.loadingIcon:"p-icon"):this._icon}ngOnDestroy(){this.initialized=!1}}return e.\u0275fac=function(t){return new(t||e)(ie(En),ie(xi))},e.\u0275dir=Ft({type:e,selectors:[["","pButton",""]],hostAttrs:[1,"p-element"],inputs:{iconPos:"iconPos",loadingIcon:"loadingIcon",label:"label",icon:"icon",loading:"loading"}}),e})(),Og=(()=>{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=en({type:e}),e.\u0275inj=b({imports:[jn,Mu,ti,Uy,ti]}),e})();const Y6e=["rb"],V6e=function(e,n,t){return{"p-radiobutton-label":!0,"p-radiobutton-label-active":e,"p-disabled":n,"p-radiobutton-label-focus":t}};function z6e(e,n){if(1&e){const t=Be();V(0,"label",4),ge("click",function(r){return X(t),Q(E().select(r))}),Ie(1),j()}if(2&e){const t=E(),i=gn(3);Ot(t.labelStyleClass),R("ngClass",ba(5,V6e,i.checked,t.disabled,t.focused)),tt("for",t.inputId),G(1),Ci(t.label)}}const $6e=function(e,n,t){return{"p-radiobutton p-component":!0,"p-radiobutton-checked":e,"p-radiobutton-disabled":n,"p-radiobutton-focused":t}},U6e=function(e,n,t){return{"p-radiobutton-box":!0,"p-highlight":e,"p-disabled":n,"p-focus":t}},j6e={provide:sr,useExisting:pn(()=>qZ),multi:!0};let W6e=(()=>{class e{constructor(){this.accessors=[]}add(t,i){this.accessors.push([t,i])}remove(t){this.accessors=this.accessors.filter(i=>i[1]!==t)}select(t){this.accessors.forEach(i=>{this.isSameGroup(i,t)&&i[1]!==t&&i[1].writeValue(t.value)})}isSameGroup(t,i){return!!t[0].control&&t[0].control.root===i.control.control.root&&t[1].name===i.name}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=y({token:e,factory:e.\u0275fac,providedIn:"root"}),e})(),qZ=(()=>{class e{constructor(t,i,r){this.cd=t,this.injector=i,this.registry=r,this.onClick=new Pe,this.onFocus=new Pe,this.onBlur=new Pe,this.onModelChange=()=>{},this.onModelTouched=()=>{}}ngOnInit(){this.control=this.injector.get(Vd),this.checkName(),this.registry.add(this.control,this)}handleClick(t,i,r){t.preventDefault(),!this.disabled&&(this.select(t),r&&i.focus())}select(t){this.disabled||(this.inputViewChild.nativeElement.checked=!0,this.checked=!0,this.onModelChange(this.value),this.registry.select(this),this.onClick.emit({originalEvent:t,value:this.value}))}writeValue(t){this.checked=t==this.value,this.inputViewChild&&this.inputViewChild.nativeElement&&(this.inputViewChild.nativeElement.checked=this.checked),this.cd.markForCheck()}registerOnChange(t){this.onModelChange=t}registerOnTouched(t){this.onModelTouched=t}setDisabledState(t){this.disabled=t,this.cd.markForCheck()}onInputFocus(t){this.focused=!0,this.onFocus.emit(t)}onInputBlur(t){this.focused=!1,this.onModelTouched(),this.onBlur.emit(t)}onChange(t){this.select(t)}focus(){this.inputViewChild.nativeElement.focus()}ngOnDestroy(){this.registry.remove(this)}checkName(){this.name&&this.formControlName&&this.name!==this.formControlName&&this.throwNameError(),!this.name&&this.formControlName&&(this.name=this.formControlName)}throwNameError(){throw new Error('\n If you define both a name and a formControlName attribute on your radio button, their values\n must match. Ex: \n ')}}return e.\u0275fac=function(t){return new(t||e)(ie(wi),ie(sc),ie(W6e))},e.\u0275cmp=mt({type:e,selectors:[["p-radioButton"]],viewQuery:function(t,i){if(1&t&&Mt(Y6e,5),2&t){let r;at(r=st())&&(i.inputViewChild=r.first)}},hostAttrs:[1,"p-element"],inputs:{value:"value",formControlName:"formControlName",name:"name",disabled:"disabled",label:"label",tabindex:"tabindex",inputId:"inputId",ariaLabelledBy:"ariaLabelledBy",ariaLabel:"ariaLabel",style:"style",styleClass:"styleClass",labelStyleClass:"labelStyleClass"},outputs:{onClick:"onClick",onFocus:"onFocus",onBlur:"onBlur"},features:[Zt([j6e])],decls:7,vars:23,consts:[[3,"ngStyle","ngClass"],[1,"p-hidden-accessible"],["type","radio",3,"checked","disabled","change","focus","blur"],["rb",""],[3,"ngClass","click"],[1,"p-radiobutton-icon"],[3,"class","ngClass","click",4,"ngIf"]],template:function(t,i){if(1&t){const r=Be();V(0,"div",0)(1,"div",1)(2,"input",2,3),ge("change",function(a){return i.onChange(a)})("focus",function(a){return i.onInputFocus(a)})("blur",function(a){return i.onInputBlur(a)}),j()(),V(4,"div",4),ge("click",function(a){X(r);const s=gn(3);return Q(i.handleClick(a,s,!0))}),Te(5,"span",5),j()(),N(6,z6e,2,9,"label",6)}2&t&&(Ot(i.styleClass),R("ngStyle",i.style)("ngClass",ba(15,$6e,i.checked,i.disabled,i.focused)),G(2),R("checked",i.checked)("disabled",i.disabled),tt("id",i.inputId)("name",i.name)("value",i.value)("tabindex",i.tabindex)("aria-checked",i.checked)("aria-label",i.ariaLabel)("aria-labelledby",i.ariaLabelledBy),G(2),R("ngClass",ba(19,U6e,i.checked,i.disabled,i.focused)),G(2),R("ngIf",i.label))},dependencies:[to,Mi,or],encapsulation:2,changeDetection:0}),e})(),q6e=(()=>{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=en({type:e}),e.\u0275inj=b({imports:[jn]}),e})();const K6e=["overlay"],Z6e=["content"];function X6e(e,n){1&e&&It(0)}const Q6e=function(e,n,t){return{showTransitionParams:e,hideTransitionParams:n,transform:t}},J6e=function(e){return{value:"visible",params:e}},eRe=function(e){return{mode:e}},tRe=function(e){return{$implicit:e}};function nRe(e,n){if(1&e){const t=Be();V(0,"div",1,3),ge("click",function(r){return X(t),Q(E(2).onOverlayContentClick(r))})("@overlayContentAnimation.start",function(r){return X(t),Q(E(2).onOverlayContentAnimationStart(r))})("@overlayContentAnimation.done",function(r){return X(t),Q(E(2).onOverlayContentAnimationDone(r))}),ts(2),N(3,X6e,1,0,"ng-container",4),j()}if(2&e){const t=E(2);Ot(t.contentStyleClass),R("ngStyle",t.contentStyle)("ngClass","p-overlay-content")("@overlayContentAnimation",yt(11,J6e,ba(7,Q6e,t.showTransitionOptions,t.hideTransitionOptions,t.transformOptions[t.modal?t.overlayResponsiveDirection:"default"]))),G(3),R("ngTemplateOutlet",t.contentTemplate)("ngTemplateOutletContext",yt(15,tRe,yt(13,eRe,t.overlayMode)))}}const iRe=function(e,n,t,i,r,o,a,s,l,c,u,d,p,f){return{"p-overlay p-component":!0,"p-overlay-modal p-component-overlay p-component-overlay-enter":e,"p-overlay-center":n,"p-overlay-top":t,"p-overlay-top-start":i,"p-overlay-top-end":r,"p-overlay-bottom":o,"p-overlay-bottom-start":a,"p-overlay-bottom-end":s,"p-overlay-left":l,"p-overlay-left-start":c,"p-overlay-left-end":u,"p-overlay-right":d,"p-overlay-right-start":p,"p-overlay-right-end":f}};function rRe(e,n){if(1&e){const t=Be();V(0,"div",1,2),ge("click",function(r){return X(t),Q(E().onOverlayClick(r))}),N(2,nRe,4,17,"div",0),j()}if(2&e){const t=E();Ot(t.styleClass),R("ngStyle",t.style)("ngClass",oz(5,iRe,[t.modal,t.modal&&"center"===t.overlayResponsiveDirection,t.modal&&"top"===t.overlayResponsiveDirection,t.modal&&"top-start"===t.overlayResponsiveDirection,t.modal&&"top-end"===t.overlayResponsiveDirection,t.modal&&"bottom"===t.overlayResponsiveDirection,t.modal&&"bottom-start"===t.overlayResponsiveDirection,t.modal&&"bottom-end"===t.overlayResponsiveDirection,t.modal&&"left"===t.overlayResponsiveDirection,t.modal&&"left-start"===t.overlayResponsiveDirection,t.modal&&"left-end"===t.overlayResponsiveDirection,t.modal&&"right"===t.overlayResponsiveDirection,t.modal&&"right-start"===t.overlayResponsiveDirection,t.modal&&"right-end"===t.overlayResponsiveDirection])),G(2),R("ngIf",t.visible)}}const oRe=["*"],aRe={provide:sr,useExisting:pn(()=>Fw),multi:!0},sRe=lw([So({transform:"{{transform}}",opacity:0}),Al("{{showTransitionParams}}")]),lRe=lw([Al("{{hideTransitionParams}}",So({transform:"{{transform}}",opacity:0}))]);let Fw=(()=>{class e{constructor(t,i,r,o,a,s,l){this.document=t,this.platformId=i,this.el=r,this.renderer=o,this.config=a,this.overlayService=s,this.zone=l,this.visibleChange=new Pe,this.onBeforeShow=new Pe,this.onShow=new Pe,this.onBeforeHide=new Pe,this.onHide=new Pe,this.onAnimationStart=new Pe,this.onAnimationDone=new Pe,this._visible=!1,this.modalVisible=!1,this.isOverlayClicked=!1,this.isOverlayContentClicked=!1,this.transformOptions={default:"scaleY(0.8)",center:"scale(0.7)",top:"translate3d(0px, -100%, 0px)","top-start":"translate3d(0px, -100%, 0px)","top-end":"translate3d(0px, -100%, 0px)",bottom:"translate3d(0px, 100%, 0px)","bottom-start":"translate3d(0px, 100%, 0px)","bottom-end":"translate3d(0px, 100%, 0px)",left:"translate3d(-100%, 0px, 0px)","left-start":"translate3d(-100%, 0px, 0px)","left-end":"translate3d(-100%, 0px, 0px)",right:"translate3d(100%, 0px, 0px)","right-start":"translate3d(100%, 0px, 0px)","right-end":"translate3d(100%, 0px, 0px)"},this.window=this.document.defaultView}get visible(){return this._visible}set visible(t){this._visible=t,this._visible&&!this.modalVisible&&(this.modalVisible=!0)}get mode(){return this._mode||this.overlayOptions?.mode}set mode(t){this._mode=t}get style(){return Ht.merge(this._style,this.modal?this.overlayResponsiveOptions?.style:this.overlayOptions?.style)}set style(t){this._style=t}get styleClass(){return Ht.merge(this._styleClass,this.modal?this.overlayResponsiveOptions?.styleClass:this.overlayOptions?.styleClass)}set styleClass(t){this._styleClass=t}get contentStyle(){return Ht.merge(this._contentStyle,this.modal?this.overlayResponsiveOptions?.contentStyle:this.overlayOptions?.contentStyle)}set contentStyle(t){this._contentStyle=t}get contentStyleClass(){return Ht.merge(this._contentStyleClass,this.modal?this.overlayResponsiveOptions?.contentStyleClass:this.overlayOptions?.contentStyleClass)}set contentStyleClass(t){this._contentStyleClass=t}get target(){const t=this._target||this.overlayOptions?.target;return void 0===t?"@prev":t}set target(t){this._target=t}get appendTo(){return this._appendTo||this.overlayOptions?.appendTo}set appendTo(t){this._appendTo=t}get autoZIndex(){const t=this._autoZIndex||this.overlayOptions?.autoZIndex;return void 0===t||t}set autoZIndex(t){this._autoZIndex=t}get baseZIndex(){const t=this._baseZIndex||this.overlayOptions?.baseZIndex;return void 0===t?0:t}set baseZIndex(t){this._baseZIndex=t}get showTransitionOptions(){const t=this._showTransitionOptions||this.overlayOptions?.showTransitionOptions;return void 0===t?".12s cubic-bezier(0, 0, 0.2, 1)":t}set showTransitionOptions(t){this._showTransitionOptions=t}get hideTransitionOptions(){const t=this._hideTransitionOptions||this.overlayOptions?.hideTransitionOptions;return void 0===t?".1s linear":t}set hideTransitionOptions(t){this._hideTransitionOptions=t}get listener(){return this._listener||this.overlayOptions?.listener}set listener(t){this._listener=t}get responsive(){return this._responsive||this.overlayOptions?.responsive}set responsive(t){this._responsive=t}get options(){return this._options}set options(t){this._options=t}get modal(){if(Gd(this.platformId))return"modal"===this.mode||this.overlayResponsiveOptions&&this.window?.matchMedia(this.overlayResponsiveOptions.media?.replace("@media","")||`(max-width: ${this.overlayResponsiveOptions.breakpoint})`).matches}get overlayMode(){return this.mode||(this.modal?"modal":"overlay")}get overlayOptions(){return{...this.config?.overlayOptions,...this.options}}get overlayResponsiveOptions(){return{...this.overlayOptions?.responsive,...this.responsive}}get overlayResponsiveDirection(){return this.overlayResponsiveOptions?.direction||"center"}get overlayEl(){return this.overlayViewChild?.nativeElement}get contentEl(){return this.contentViewChild?.nativeElement}get targetEl(){return ve.getTargetElement(this.target,this.el?.nativeElement)}ngAfterContentInit(){this.templates?.forEach(t=>{t.getType(),this.contentTemplate=t.template})}show(t,i=!1){this.onVisibleChange(!0),this.handleEvents("onShow",{overlay:t||this.overlayEl,target:this.targetEl,mode:this.overlayMode}),i&&ve.focus(this.targetEl),this.modal&&ve.addClass(this.document?.body,"p-overflow-hidden")}hide(t,i=!1){this.visible&&(this.onVisibleChange(!1),this.handleEvents("onHide",{overlay:t||this.overlayEl,target:this.targetEl,mode:this.overlayMode}),i&&ve.focus(this.targetEl),this.modal&&ve.removeClass(this.document?.body,"p-overflow-hidden"))}alignOverlay(){!this.modal&&ve.alignOverlay(this.overlayEl,this.targetEl,this.appendTo)}onVisibleChange(t){this._visible=t,this.visibleChange.emit(t)}onOverlayClick(t){this.isOverlayClicked=!0}onOverlayContentClick(t){this.overlayService.add({originalEvent:t,target:this.targetEl}),this.isOverlayContentClicked=!0}onOverlayContentAnimationStart(t){switch(t.toState){case"visible":this.handleEvents("onBeforeShow",{overlay:this.overlayEl,target:this.targetEl,mode:this.overlayMode}),this.autoZIndex&&Os.set(this.overlayMode,this.overlayEl,this.baseZIndex+this.config?.zIndex[this.overlayMode]),ve.appendOverlay(this.overlayEl,"body"===this.appendTo?this.document.body:this.appendTo,this.appendTo),this.alignOverlay();break;case"void":this.handleEvents("onBeforeHide",{overlay:this.overlayEl,target:this.targetEl,mode:this.overlayMode}),this.modal&&ve.addClass(this.overlayEl,"p-component-overlay-leave")}this.handleEvents("onAnimationStart",t)}onOverlayContentAnimationDone(t){const i=this.overlayEl||t.element.parentElement;switch(t.toState){case"visible":this.show(i,!0),this.bindListeners();break;case"void":this.hide(i,!0),this.unbindListeners(),ve.appendOverlay(this.overlayEl,this.targetEl,this.appendTo),Os.clear(i),this.modalVisible=!1}this.handleEvents("onAnimationDone",t)}handleEvents(t,i){this[t].emit(i),this.options&&this.options[t]&&this.options[t](i),this.config?.overlayOptions&&this.config?.overlayOptions[t]&&this.config?.overlayOptions[t](i)}bindListeners(){this.bindScrollListener(),this.bindDocumentClickListener(),this.bindDocumentResizeListener(),this.bindDocumentKeyboardListener()}unbindListeners(){this.unbindScrollListener(),this.unbindDocumentClickListener(),this.unbindDocumentResizeListener(),this.unbindDocumentKeyboardListener()}bindScrollListener(){this.scrollHandler||(this.scrollHandler=new ww(this.targetEl,t=>{(!this.listener||this.listener(t,{type:"scroll",mode:this.overlayMode,valid:!0}))&&this.hide(t,!0)})),this.scrollHandler.bindScrollListener()}unbindScrollListener(){this.scrollHandler&&this.scrollHandler.unbindScrollListener()}bindDocumentClickListener(){this.documentClickListener||(this.documentClickListener=this.renderer.listen(this.document,"click",t=>{const r=!(this.targetEl&&(this.targetEl.isSameNode(t.target)||!this.isOverlayClicked&&this.targetEl.contains(t.target))||this.isOverlayContentClicked);(this.listener?this.listener(t,{type:"outside",mode:this.overlayMode,valid:3!==t.which&&r}):r)&&this.hide(t),this.isOverlayClicked=this.isOverlayContentClicked=!1}))}unbindDocumentClickListener(){this.documentClickListener&&(this.documentClickListener(),this.documentClickListener=null)}bindDocumentResizeListener(){this.documentResizeListener||(this.documentResizeListener=this.renderer.listen(this.window,"resize",t=>{(this.listener?this.listener(t,{type:"resize",mode:this.overlayMode,valid:!ve.isTouchDevice()}):!ve.isTouchDevice())&&this.hide(t,!0)}))}unbindDocumentResizeListener(){this.documentResizeListener&&(this.documentResizeListener(),this.documentResizeListener=null)}bindDocumentKeyboardListener(){this.documentKeyboardListener||this.zone.runOutsideAngular(()=>{this.documentKeyboardListener=this.renderer.listen(this.window,"keydown",t=>{this.overlayOptions.hideOnEscape&&27===t.keyCode&&(this.listener?this.listener(t,{type:"keydown",mode:this.overlayMode,valid:!ve.isTouchDevice()}):!ve.isTouchDevice())&&this.zone.run(()=>{this.hide(t,!0)})})})}unbindDocumentKeyboardListener(){this.documentKeyboardListener&&(this.documentKeyboardListener(),this.documentKeyboardListener=null)}ngOnDestroy(){this.hide(this.overlayEl,!0),this.overlayEl&&(ve.appendOverlay(this.overlayEl,this.targetEl,this.appendTo),Os.clear(this.overlayEl)),this.scrollHandler&&(this.scrollHandler.destroy(),this.scrollHandler=null),this.unbindListeners()}}return e.\u0275fac=function(t){return new(t||e)(ie(xi),ie(Md),ie(En),ie(Si),ie(Au),ie(wy),ie(wn))},e.\u0275cmp=mt({type:e,selectors:[["p-overlay"]],contentQueries:function(t,i,r){if(1&t&&Br(r,lr,4),2&t){let o;at(o=st())&&(i.templates=o)}},viewQuery:function(t,i){if(1&t&&(Mt(K6e,5),Mt(Z6e,5)),2&t){let r;at(r=st())&&(i.overlayViewChild=r.first),at(r=st())&&(i.contentViewChild=r.first)}},hostAttrs:[1,"p-element"],inputs:{visible:"visible",mode:"mode",style:"style",styleClass:"styleClass",contentStyle:"contentStyle",contentStyleClass:"contentStyleClass",target:"target",appendTo:"appendTo",autoZIndex:"autoZIndex",baseZIndex:"baseZIndex",showTransitionOptions:"showTransitionOptions",hideTransitionOptions:"hideTransitionOptions",listener:"listener",responsive:"responsive",options:"options"},outputs:{visibleChange:"visibleChange",onBeforeShow:"onBeforeShow",onShow:"onShow",onBeforeHide:"onBeforeHide",onHide:"onHide",onAnimationStart:"onAnimationStart",onAnimationDone:"onAnimationDone"},features:[Zt([aRe])],ngContentSelectors:oRe,decls:1,vars:1,consts:[[3,"ngStyle","class","ngClass","click",4,"ngIf"],[3,"ngStyle","ngClass","click"],["overlay",""],["content",""],[4,"ngTemplateOutlet","ngTemplateOutletContext"]],template:function(t,i){1&t&&(gu(),N(0,rRe,3,20,"div",0)),2&t&&R("ngIf",i.modalVisible)},dependencies:[to,Mi,Yo,or],styles:[".p-overlay{position:absolute;top:0;left:0}.p-overlay-modal{display:flex;align-items:center;justify-content:center;position:fixed;top:0;left:0;width:100%;height:100%}.p-overlay-content{transform-origin:inherit}.p-overlay-modal>.p-overlay-content{z-index:1;width:90%}.p-overlay-top{align-items:flex-start}.p-overlay-top-start{align-items:flex-start;justify-content:flex-start}.p-overlay-top-end{align-items:flex-start;justify-content:flex-end}.p-overlay-bottom{align-items:flex-end}.p-overlay-bottom-start{align-items:flex-end;justify-content:flex-start}.p-overlay-bottom-end{align-items:flex-end;justify-content:flex-end}.p-overlay-left{justify-content:flex-start}.p-overlay-left-start{justify-content:flex-start;align-items:flex-start}.p-overlay-left-end{justify-content:flex-start;align-items:flex-end}.p-overlay-right{justify-content:flex-end}.p-overlay-right-start{justify-content:flex-end;align-items:flex-start}.p-overlay-right-end{justify-content:flex-end;align-items:flex-end}\n"],encapsulation:2,data:{animation:[aw("overlayContentAnimation",[Ru(":enter",[sZ(sRe)]),Ru(":leave",[sZ(lRe)])])]},changeDetection:0}),e})(),jy=(()=>{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=en({type:e}),e.\u0275inj=b({imports:[jn,ti,ti]}),e})();const cRe=["element"],uRe=["content"];function dRe(e,n){1&e&&It(0)}const p9=function(e,n){return{$implicit:e,options:n}};function pRe(e,n){if(1&e&&(dt(0),N(1,dRe,1,0,"ng-container",7),pt()),2&e){const t=E(2);G(1),R("ngTemplateOutlet",t.contentTemplate)("ngTemplateOutletContext",Hn(2,p9,t.loadedItems,t.getContentOptions()))}}function fRe(e,n){1&e&&It(0)}function hRe(e,n){if(1&e&&(dt(0),N(1,fRe,1,0,"ng-container",7),pt()),2&e){const t=n.$implicit,i=n.index,r=E(3);G(1),R("ngTemplateOutlet",r.itemTemplate)("ngTemplateOutletContext",Hn(2,p9,t,r.getOptions(i)))}}const gRe=function(e){return{"p-scroller-loading":e}};function mRe(e,n){if(1&e&&(V(0,"div",8,9),N(2,hRe,2,5,"ng-container",10),j()),2&e){const t=E(2);R("ngClass",yt(4,gRe,t.d_loading))("ngStyle",t.contentStyle),G(2),R("ngForOf",t.loadedItems)("ngForTrackBy",t._trackBy||t.index)}}function yRe(e,n){1&e&&Te(0,"div",11),2&e&&R("ngStyle",E(2).spacerStyle)}function _Re(e,n){1&e&&It(0)}const vRe=function(e){return{numCols:e}},KZ=function(e){return{options:e}};function TRe(e,n){if(1&e&&(dt(0),N(1,_Re,1,0,"ng-container",7),pt()),2&e){const t=n.index,i=E(4);G(1),R("ngTemplateOutlet",i.loaderTemplate)("ngTemplateOutletContext",yt(4,KZ,i.getLoaderOptions(t,i.both&&yt(2,vRe,i._numItemsInViewport.cols))))}}function CRe(e,n){if(1&e&&(dt(0),N(1,TRe,2,6,"ng-container",14),pt()),2&e){const t=E(3);G(1),R("ngForOf",t.loaderArr)}}function bRe(e,n){1&e&&It(0)}const ARe=function(){return{styleClass:"p-scroller-loading-icon"}};function SRe(e,n){if(1&e&&(dt(0),N(1,bRe,1,0,"ng-container",7),pt()),2&e){const t=E(4);G(1),R("ngTemplateOutlet",t.loaderIconTemplate)("ngTemplateOutletContext",yt(3,KZ,Bo(2,ARe)))}}function wRe(e,n){1&e&&Te(0,"SpinnerIcon",16),2&e&&R("styleClass","p-scroller-loading-icon")}function xRe(e,n){if(1&e&&(N(0,SRe,2,5,"ng-container",0),N(1,wRe,1,1,"ng-template",null,15,ns)),2&e){const t=gn(2);R("ngIf",E(3).loaderIconTemplate)("ngIfElse",t)}}const FRe=function(e){return{"p-component-overlay":e}};function DRe(e,n){if(1&e&&(V(0,"div",12),N(1,CRe,2,1,"ng-container",0),N(2,xRe,3,2,"ng-template",null,13,ns),j()),2&e){const t=gn(3),i=E(2);R("ngClass",yt(3,FRe,!i.loaderTemplate)),G(1),R("ngIf",i.loaderTemplate)("ngIfElse",t)}}const ERe=function(e,n,t){return{"p-scroller":!0,"p-scroller-inline":e,"p-both-scroll":n,"p-horizontal-scroll":t}};function IRe(e,n){if(1&e){const t=Be();dt(0),V(1,"div",2,3),ge("scroll",function(r){return X(t),Q(E().onContainerScroll(r))}),N(3,pRe,2,5,"ng-container",0),N(4,mRe,3,6,"ng-template",null,4,ns),N(6,yRe,1,1,"div",5),N(7,DRe,4,5,"div",6),j(),pt()}if(2&e){const t=gn(5),i=E();G(1),Ot(i._styleClass),R("ngStyle",i._style)("ngClass",ba(10,ERe,i.inline,i.both,i.horizontal)),tt("id",i._id)("tabindex",i.tabindex),G(2),R("ngIf",i.contentTemplate)("ngIfElse",t),G(3),R("ngIf",i._showSpacer),G(1),R("ngIf",!i.loaderDisabled&&i._showLoader&&i.d_loading)}}function RRe(e,n){1&e&&It(0)}const LRe=function(e,n){return{rows:e,columns:n}};function MRe(e,n){if(1&e&&(dt(0),N(1,RRe,1,0,"ng-container",7),pt()),2&e){const t=E(2);G(1),R("ngTemplateOutlet",t.contentTemplate)("ngTemplateOutletContext",Hn(5,p9,t.items,Hn(2,LRe,t._items,t.loadedColumns)))}}function kRe(e,n){if(1&e&&(ts(0),N(1,MRe,2,8,"ng-container",17)),2&e){const t=E();G(1),R("ngIf",t.contentTemplate)}}const PRe=["*"];let f9=(()=>{class e{constructor(t,i,r,o,a){this.document=t,this.platformId=i,this.renderer=r,this.cd=o,this.zone=a,this.onLazyLoad=new Pe,this.onScroll=new Pe,this.onScrollIndexChange=new Pe,this._tabindex=0,this._itemSize=0,this._orientation="vertical",this._step=0,this._delay=0,this._resizeDelay=10,this._appendOnly=!1,this._inline=!1,this._lazy=!1,this._disabled=!1,this._loaderDisabled=!1,this._showSpacer=!0,this._showLoader=!1,this._autoSize=!1,this.d_loading=!1,this.first=0,this.last=0,this.page=0,this.isRangeChanged=!1,this.numItemsInViewport=0,this.lastScrollPos=0,this.lazyLoadState={},this.loaderArr=[],this.spacerStyle={},this.contentStyle={},this.initialized=!1}get id(){return this._id}set id(t){this._id=t}get style(){return this._style}set style(t){this._style=t}get styleClass(){return this._styleClass}set styleClass(t){this._styleClass=t}get tabindex(){return this._tabindex}set tabindex(t){this._tabindex=t}get items(){return this._items}set items(t){this._items=t}get itemSize(){return this._itemSize}set itemSize(t){this._itemSize=t}get scrollHeight(){return this._scrollHeight}set scrollHeight(t){this._scrollHeight=t}get scrollWidth(){return this._scrollWidth}set scrollWidth(t){this._scrollWidth=t}get orientation(){return this._orientation}set orientation(t){this._orientation=t}get step(){return this._step}set step(t){this._step=t}get delay(){return this._delay}set delay(t){this._delay=t}get resizeDelay(){return this._resizeDelay}set resizeDelay(t){this._resizeDelay=t}get appendOnly(){return this._appendOnly}set appendOnly(t){this._appendOnly=t}get inline(){return this._inline}set inline(t){this._inline=t}get lazy(){return this._lazy}set lazy(t){this._lazy=t}get disabled(){return this._disabled}set disabled(t){this._disabled=t}get loaderDisabled(){return this._loaderDisabled}set loaderDisabled(t){this._loaderDisabled=t}get columns(){return this._columns}set columns(t){this._columns=t}get showSpacer(){return this._showSpacer}set showSpacer(t){this._showSpacer=t}get showLoader(){return this._showLoader}set showLoader(t){this._showLoader=t}get numToleratedItems(){return this._numToleratedItems}set numToleratedItems(t){this._numToleratedItems=t}get loading(){return this._loading}set loading(t){this._loading=t}get autoSize(){return this._autoSize}set autoSize(t){this._autoSize=t}get trackBy(){return this._trackBy}set trackBy(t){this._trackBy=t}get options(){return this._options}set options(t){this._options=t,t&&"object"==typeof t&&Object.entries(t).forEach(([i,r])=>this[`_${i}`]!==r&&(this[`_${i}`]=r))}get vertical(){return"vertical"===this._orientation}get horizontal(){return"horizontal"===this._orientation}get both(){return"both"===this._orientation}get loadedItems(){return this._items&&!this.d_loading?this.both?this._items.slice(this._appendOnly?0:this.first.rows,this.last.rows).map(t=>this._columns?t:t.slice(this._appendOnly?0:this.first.cols,this.last.cols)):this.horizontal&&this._columns?this._items:this._items.slice(this._appendOnly?0:this.first,this.last):[]}get loadedRows(){return this.d_loading?this._loaderDisabled?this.loaderArr:[]:this.loadedItems}get loadedColumns(){return this._columns&&(this.both||this.horizontal)?this.d_loading&&this._loaderDisabled?this.both?this.loaderArr[0]:this.loaderArr:this._columns.slice(this.both?this.first.cols:this.first,this.both?this.last.cols:this.last):this._columns}get isPageChanged(){return!this._step||this.page!==this.getPageByFirst()}ngOnInit(){this.setInitialState()}ngOnChanges(t){let i=!1;if(t.loading){const{previousValue:r,currentValue:o}=t.loading;this.lazy&&r!==o&&o!==this.d_loading&&(this.d_loading=o,i=!0)}if(t.orientation&&(this.lastScrollPos=this.both?{top:0,left:0}:0),t.numToleratedItems){const{previousValue:r,currentValue:o}=t.numToleratedItems;r!==o&&o!==this.d_numToleratedItems&&(this.d_numToleratedItems=o)}if(t.options){const{previousValue:r,currentValue:o}=t.options;this.lazy&&r?.loading!==o?.loading&&o?.loading!==this.d_loading&&(this.d_loading=o.loading,i=!0),r?.numToleratedItems!==o?.numToleratedItems&&o?.numToleratedItems!==this.d_numToleratedItems&&(this.d_numToleratedItems=o.numToleratedItems)}this.initialized&&!i&&(t.items?.previousValue?.length!==t.items?.currentValue?.length||t.itemSize||t.scrollHeight||t.scrollWidth)&&(this.init(),this.calculateAutoSize())}ngAfterContentInit(){this.templates.forEach(t=>{switch(t.getType()){case"content":this.contentTemplate=t.template;break;case"item":default:this.itemTemplate=t.template;break;case"loader":this.loaderTemplate=t.template;break;case"loadericon":this.loaderIconTemplate=t.template}})}ngAfterViewInit(){Promise.resolve().then(()=>{this.viewInit()})}ngAfterViewChecked(){this.initialized||this.viewInit()}ngOnDestroy(){this.unbindResizeListener(),this.contentEl=null,this.initialized=!1}viewInit(){Gd(this.platformId)&&ve.isVisible(this.elementViewChild?.nativeElement)&&(this.setInitialState(),this.setContentEl(this.contentEl),this.init(),this.defaultWidth=ve.getWidth(this.elementViewChild.nativeElement),this.defaultHeight=ve.getHeight(this.elementViewChild.nativeElement),this.defaultContentWidth=ve.getWidth(this.contentEl),this.defaultContentHeight=ve.getHeight(this.contentEl),this.initialized=!0)}init(){this._disabled||(this.setSize(),this.calculateOptions(),this.setSpacerSize(),this.bindResizeListener(),this.cd.detectChanges())}setContentEl(t){this.contentEl=t||this.contentViewChild?.nativeElement||ve.findSingle(this.elementViewChild?.nativeElement,".p-scroller-content")}setInitialState(){this.first=this.both?{rows:0,cols:0}:0,this.last=this.both?{rows:0,cols:0}:0,this.numItemsInViewport=this.both?{rows:0,cols:0}:0,this.lastScrollPos=this.both?{top:0,left:0}:0,this.d_loading=this._loading||!1,this.d_numToleratedItems=this._numToleratedItems,this.loaderArr=[],this.spacerStyle={},this.contentStyle={}}getElementRef(){return this.elementViewChild}getPageByFirst(){return Math.floor((this.first+4*this.d_numToleratedItems)/(this._step||1))}scrollTo(t){this.lastScrollPos=this.both?{top:0,left:0}:0,this.elementViewChild?.nativeElement?.scrollTo(t)}scrollToIndex(t,i="auto"){const{numToleratedItems:r}=this.calculateNumItems(),o=this.getContentPosition(),a=(u=0,d)=>u<=d?0:u,s=(u,d,p)=>u*d+p,l=(u=0,d=0)=>this.scrollTo({left:u,top:d,behavior:i});let c=0;this.both?(c={rows:a(t[0],r[0]),cols:a(t[1],r[1])},l(s(c.cols,this._itemSize[1],o.left),s(c.rows,this._itemSize[0],o.top))):(c=a(t,r),this.horizontal?l(s(c,this._itemSize,o.left),0):l(0,s(c,this._itemSize,o.top))),this.isRangeChanged=this.first!==c,this.first=c}scrollInView(t,i,r="auto"){if(i){const{first:o,viewport:a}=this.getRenderedRange(),s=(u=0,d=0)=>this.scrollTo({left:u,top:d,behavior:r}),c="to-end"===i;if("to-start"===i){if(this.both)a.first.rows-o.rows>t[0]?s(a.first.cols*this._itemSize[1],(a.first.rows-1)*this._itemSize[0]):a.first.cols-o.cols>t[1]&&s((a.first.cols-1)*this._itemSize[1],a.first.rows*this._itemSize[0]);else if(a.first-o>t){const u=(a.first-1)*this._itemSize;this.horizontal?s(u,0):s(0,u)}}else if(c)if(this.both)a.last.rows-o.rows<=t[0]+1?s(a.first.cols*this._itemSize[1],(a.first.rows+1)*this._itemSize[0]):a.last.cols-o.cols<=t[1]+1&&s((a.first.cols+1)*this._itemSize[1],a.first.rows*this._itemSize[0]);else if(a.last-o<=t+1){const u=(a.first+1)*this._itemSize;this.horizontal?s(u,0):s(0,u)}}else this.scrollToIndex(t,r)}getRenderedRange(){const t=(o,a)=>Math.floor(o/(a||o));let i=this.first,r=0;if(this.elementViewChild?.nativeElement){const{scrollTop:o,scrollLeft:a}=this.elementViewChild.nativeElement;this.both?(i={rows:t(o,this._itemSize[0]),cols:t(a,this._itemSize[1])},r={rows:i.rows+this.numItemsInViewport.rows,cols:i.cols+this.numItemsInViewport.cols}):(i=t(this.horizontal?a:o,this._itemSize),r=i+this.numItemsInViewport)}return{first:this.first,last:this.last,viewport:{first:i,last:r}}}calculateNumItems(){const t=this.getContentPosition(),i=this.elementViewChild?.nativeElement?this.elementViewChild.nativeElement.offsetWidth-t.left:0,r=this.elementViewChild?.nativeElement?this.elementViewChild.nativeElement.offsetHeight-t.top:0,o=(c,u)=>Math.ceil(c/(u||c)),a=c=>Math.ceil(c/2),s=this.both?{rows:o(r,this._itemSize[0]),cols:o(i,this._itemSize[1])}:o(this.horizontal?i:r,this._itemSize);return{numItemsInViewport:s,numToleratedItems:this.d_numToleratedItems||(this.both?[a(s.rows),a(s.cols)]:a(s))}}calculateOptions(){const{numItemsInViewport:t,numToleratedItems:i}=this.calculateNumItems(),r=(s,l,c,u=!1)=>this.getLast(s+l+(sArray.from({length:t.cols})):Array.from({length:t})),this._lazy&&Promise.resolve().then(()=>{this.lazyLoadState={first:this._step?this.both?{rows:0,cols:o.cols}:0:o,last:Math.min(this._step?this._step:this.last,this.items.length)},this.handleEvents("onLazyLoad",this.lazyLoadState)})}calculateAutoSize(){this._autoSize&&!this.d_loading&&Promise.resolve().then(()=>{if(this.contentEl){this.contentEl.style.minHeight=this.contentEl.style.minWidth="auto",this.contentEl.style.position="relative",this.elementViewChild.nativeElement.style.contain="none";const[t,i]=[ve.getWidth(this.contentEl),ve.getHeight(this.contentEl)];t!==this.defaultContentWidth&&(this.elementViewChild.nativeElement.style.width=""),i!==this.defaultContentHeight&&(this.elementViewChild.nativeElement.style.height="");const[r,o]=[ve.getWidth(this.elementViewChild.nativeElement),ve.getHeight(this.elementViewChild.nativeElement)];(this.both||this.horizontal)&&(this.elementViewChild.nativeElement.style.width=rthis.elementViewChild.nativeElement.style[a]=s;this.both||this.horizontal?(o("height",r),o("width",i)):o("height",r)}}setSpacerSize(){if(this._items){const t=this.getContentPosition(),i=(r,o,a,s=0)=>this.spacerStyle={...this.spacerStyle,[`${r}`]:(o||[]).length*a+s+"px"};this.both?(i("height",this._items,this._itemSize[0],t.y),i("width",this._columns||this._items[1],this._itemSize[1],t.x)):this.horizontal?i("width",this._columns||this._items,this._itemSize,t.x):i("height",this._items,this._itemSize,t.y)}}setContentPosition(t){if(this.contentEl&&!this._appendOnly){const i=t?t.first:this.first,r=(a,s)=>a*s,o=(a=0,s=0)=>this.contentStyle={...this.contentStyle,transform:`translate3d(${a}px, ${s}px, 0)`};if(this.both)o(r(i.cols,this._itemSize[1]),r(i.rows,this._itemSize[0]));else{const a=r(i,this._itemSize);this.horizontal?o(a,0):o(0,a)}}}onScrollPositionChange(t){const i=t.target,r=this.getContentPosition(),o=(m,_)=>m?m>_?m-_:m:0,a=(m,_)=>Math.floor(m/(_||m)),s=(m,_,v,C,A,S)=>m<=A?A:S?v-C-A:_+A-1,l=(m,_,v,C,A,S,I)=>m<=S?0:Math.max(0,I?m<_?v:m-S:m>_?v:m-2*S),c=(m,_,v,C,A,S=!1)=>{let I=_+C+2*A;return m>=A&&(I+=A+1),this.getLast(I,S)},u=o(i.scrollTop,r.top),d=o(i.scrollLeft,r.left);let p=this.both?{rows:0,cols:0}:0,f=this.last,h=!1,g=this.lastScrollPos;if(this.both){const m=this.lastScrollPos.top<=u,_=this.lastScrollPos.left<=d;if(!this._appendOnly||this._appendOnly&&(m||_)){const v={rows:a(u,this._itemSize[0]),cols:a(d,this._itemSize[1])},C={rows:s(v.rows,this.first.rows,this.last.rows,this.numItemsInViewport.rows,this.d_numToleratedItems[0],m),cols:s(v.cols,this.first.cols,this.last.cols,this.numItemsInViewport.cols,this.d_numToleratedItems[1],_)};p={rows:l(v.rows,C.rows,this.first.rows,0,0,this.d_numToleratedItems[0],m),cols:l(v.cols,C.cols,this.first.cols,0,0,this.d_numToleratedItems[1],_)},f={rows:c(v.rows,p.rows,0,this.numItemsInViewport.rows,this.d_numToleratedItems[0]),cols:c(v.cols,p.cols,0,this.numItemsInViewport.cols,this.d_numToleratedItems[1],!0)},h=p.rows!==this.first.rows||f.rows!==this.last.rows||p.cols!==this.first.cols||f.cols!==this.last.cols||this.isRangeChanged,g={top:u,left:d}}}else{const m=this.horizontal?d:u,_=this.lastScrollPos<=m;if(!this._appendOnly||this._appendOnly&&_){const v=a(m,this._itemSize);p=l(v,s(v,this.first,this.last,this.numItemsInViewport,this.d_numToleratedItems,_),this.first,0,0,this.d_numToleratedItems,_),f=c(v,p,0,this.numItemsInViewport,this.d_numToleratedItems),h=p!==this.first||f!==this.last||this.isRangeChanged,g=m}}return{first:p,last:f,isRangeChanged:h,scrollPos:g}}onScrollChange(t){const{first:i,last:r,isRangeChanged:o,scrollPos:a}=this.onScrollPositionChange(t);if(o){const s={first:i,last:r};if(this.setContentPosition(s),this.first=i,this.last=r,this.lastScrollPos=a,this.handleEvents("onScrollIndexChange",s),this._lazy&&this.isPageChanged){const l={first:this._step?Math.min(this.getPageByFirst()*this._step,this.items.length-this._step):i,last:Math.min(this._step?(this.getPageByFirst()+1)*this._step:r,this.items.length)};(this.lazyLoadState.first!==l.first||this.lazyLoadState.last!==l.last)&&this.handleEvents("onLazyLoad",l),this.lazyLoadState=l}}}onContainerScroll(t){if(this.handleEvents("onScroll",{originalEvent:t}),this._delay&&this.isPageChanged){if(this.scrollTimeout&&clearTimeout(this.scrollTimeout),!this.d_loading&&this.showLoader){const{isRangeChanged:i}=this.onScrollPositionChange(t);(i||this._step&&this.isPageChanged)&&(this.d_loading=!0,this.cd.detectChanges())}this.scrollTimeout=setTimeout(()=>{this.onScrollChange(t),this.d_loading&&this.showLoader&&(!this._lazy||void 0===this._loading)&&(this.d_loading=!1,this.page=this.getPageByFirst(),this.cd.detectChanges())},this._delay)}else!this.d_loading&&this.onScrollChange(t)}bindResizeListener(){Gd(this.platformId)&&(this.windowResizeListener||this.zone.runOutsideAngular(()=>{const t=this.document.defaultView,i=ve.isTouchDevice()?"orientationchange":"resize";this.windowResizeListener=this.renderer.listen(t,i,this.onWindowResize.bind(this))}))}unbindResizeListener(){this.windowResizeListener&&(this.windowResizeListener(),this.windowResizeListener=null)}onWindowResize(){this.resizeTimeout&&clearTimeout(this.resizeTimeout),this.resizeTimeout=setTimeout(()=>{if(ve.isVisible(this.elementViewChild?.nativeElement)){const[t,i]=[ve.getWidth(this.elementViewChild.nativeElement),ve.getHeight(this.elementViewChild.nativeElement)],[r,o]=[t!==this.defaultWidth,i!==this.defaultHeight];(this.both?r||o:this.horizontal?r:this.vertical&&o)&&this.zone.run(()=>{this.d_numToleratedItems=this._numToleratedItems,this.defaultWidth=t,this.defaultHeight=i,this.defaultContentWidth=ve.getWidth(this.contentEl),this.defaultContentHeight=ve.getHeight(this.contentEl),this.init()})}},this._resizeDelay)}handleEvents(t,i){return this.options&&this.options[t]?this.options[t](i):this[t].emit(i)}getContentOptions(){return{contentStyleClass:"p-scroller-content "+(this.d_loading?"p-scroller-loading":""),items:this.loadedItems,getItemOptions:t=>this.getOptions(t),loading:this.d_loading,getLoaderOptions:(t,i)=>this.getLoaderOptions(t,i),itemSize:this._itemSize,rows:this.loadedRows,columns:this.loadedColumns,spacerStyle:this.spacerStyle,contentStyle:this.contentStyle,vertical:this.vertical,horizontal:this.horizontal,both:this.both}}getOptions(t){const i=(this._items||[]).length,r=this.both?this.first.rows+t:this.first+t;return{index:r,count:i,first:0===r,last:r===i-1,even:r%2==0,odd:r%2!=0}}getLoaderOptions(t,i){const r=this.loaderArr.length;return{index:t,count:r,first:0===t,last:t===r-1,even:t%2==0,odd:t%2!=0,...i}}}return e.\u0275fac=function(t){return new(t||e)(ie(xi),ie(Md),ie(Si),ie(wi),ie(wn))},e.\u0275cmp=mt({type:e,selectors:[["p-scroller"]],contentQueries:function(t,i,r){if(1&t&&Br(r,lr,4),2&t){let o;at(o=st())&&(i.templates=o)}},viewQuery:function(t,i){if(1&t&&(Mt(cRe,5),Mt(uRe,5)),2&t){let r;at(r=st())&&(i.elementViewChild=r.first),at(r=st())&&(i.contentViewChild=r.first)}},hostAttrs:[1,"p-scroller-viewport","p-element"],inputs:{id:"id",style:"style",styleClass:"styleClass",tabindex:"tabindex",items:"items",itemSize:"itemSize",scrollHeight:"scrollHeight",scrollWidth:"scrollWidth",orientation:"orientation",step:"step",delay:"delay",resizeDelay:"resizeDelay",appendOnly:"appendOnly",inline:"inline",lazy:"lazy",disabled:"disabled",loaderDisabled:"loaderDisabled",columns:"columns",showSpacer:"showSpacer",showLoader:"showLoader",numToleratedItems:"numToleratedItems",loading:"loading",autoSize:"autoSize",trackBy:"trackBy",options:"options"},outputs:{onLazyLoad:"onLazyLoad",onScroll:"onScroll",onScrollIndexChange:"onScrollIndexChange"},features:[To],ngContentSelectors:PRe,decls:3,vars:2,consts:[[4,"ngIf","ngIfElse"],["disabledContainer",""],[3,"ngStyle","ngClass","scroll"],["element",""],["buildInContent",""],["class","p-scroller-spacer",3,"ngStyle",4,"ngIf"],["class","p-scroller-loader",3,"ngClass",4,"ngIf"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"p-scroller-content",3,"ngClass","ngStyle"],["content",""],[4,"ngFor","ngForOf","ngForTrackBy"],[1,"p-scroller-spacer",3,"ngStyle"],[1,"p-scroller-loader",3,"ngClass"],["buildInLoader",""],[4,"ngFor","ngForOf"],["buildInLoaderIcon",""],[3,"styleClass"],[4,"ngIf"]],template:function(t,i){if(1&t&&(gu(),N(0,IRe,8,14,"ng-container",0),N(1,kRe,2,1,"ng-template",null,1,ns)),2&t){const r=gn(2);R("ngIf",!i._disabled)("ngIfElse",r)}},dependencies:function(){return[to,_u,Mi,Yo,or,Uy]},styles:["p-scroller{flex:1;outline:0 none}.p-scroller{position:relative;overflow:auto;contain:strict;transform:translateZ(0);will-change:scroll-position;outline:0 none}.p-scroller-content{position:absolute;top:0;left:0;min-height:100%;min-width:100%;will-change:transform}.p-scroller-spacer{position:absolute;top:0;left:0;height:1px;width:1px;transform-origin:0 0;pointer-events:none}.p-scroller-loader{position:sticky;top:0;left:0;width:100%;height:100%}.p-scroller-loader.p-component-overlay{display:flex;align-items:center;justify-content:center}.p-scroller-loading-icon{scale:2}.p-scroller-inline .p-scroller-content{position:static}\n"],encapsulation:2}),e})(),Sf=(()=>{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=en({type:e}),e.\u0275inj=b({imports:[jn,ti,Uy,ti]}),e})(),Dw=(()=>{class e extends cr{}return e.\u0275fac=function(){let n;return function(i){return(n||(n=vn(e)))(i||e)}}(),e.\u0275cmp=mt({type:e,selectors:[["SearchIcon"]],standalone:!0,features:[Dt,Li],decls:6,vars:5,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["clip-path","url(#clip0_238_9909)"],["fill-rule","evenodd","clip-rule","evenodd","d","M2.67602 11.0265C3.6661 11.688 4.83011 12.0411 6.02086 12.0411C6.81149 12.0411 7.59438 11.8854 8.32483 11.5828C8.87005 11.357 9.37808 11.0526 9.83317 10.6803L12.9769 13.8241C13.0323 13.8801 13.0983 13.9245 13.171 13.9548C13.2438 13.985 13.3219 14.0003 13.4007 14C13.4795 14.0003 13.5575 13.985 13.6303 13.9548C13.7031 13.9245 13.7691 13.8801 13.8244 13.8241C13.9367 13.7116 13.9998 13.5592 13.9998 13.4003C13.9998 13.2414 13.9367 13.089 13.8244 12.9765L10.6807 9.8328C11.053 9.37773 11.3573 8.86972 11.5831 8.32452C11.8857 7.59408 12.0414 6.81119 12.0414 6.02056C12.0414 4.8298 11.6883 3.66579 11.0268 2.67572C10.3652 1.68564 9.42494 0.913972 8.32483 0.45829C7.22472 0.00260857 6.01418 -0.116618 4.84631 0.115686C3.67844 0.34799 2.60568 0.921393 1.76369 1.76338C0.921698 2.60537 0.348296 3.67813 0.115991 4.84601C-0.116313 6.01388 0.00291375 7.22441 0.458595 8.32452C0.914277 9.42464 1.68595 10.3649 2.67602 11.0265ZM3.35565 2.0158C4.14456 1.48867 5.07206 1.20731 6.02086 1.20731C7.29317 1.20731 8.51338 1.71274 9.41304 2.6124C10.3127 3.51206 10.8181 4.73226 10.8181 6.00457C10.8181 6.95337 10.5368 7.88088 10.0096 8.66978C9.48251 9.45868 8.73328 10.0736 7.85669 10.4367C6.98011 10.7997 6.01554 10.8947 5.08496 10.7096C4.15439 10.5245 3.2996 10.0676 2.62869 9.39674C1.95778 8.72583 1.50089 7.87104 1.31579 6.94046C1.13068 6.00989 1.22568 5.04532 1.58878 4.16874C1.95187 3.29215 2.56675 2.54292 3.35565 2.0158Z","fill","currentColor"],["id","clip0_238_9909"],["width","14","height","14","fill","white"]],template:function(t,i){1&t&&(Jn(),V(0,"svg",0)(1,"g",1),Te(2,"path",2),j(),V(3,"defs")(4,"clipPath",3),Te(5,"rect",4),j()()()),2&t&&(Ot(i.getClassNames()),tt("aria-label",i.ariaLabel)("aria-hidden",i.ariaHidden)("role",i.role))},encapsulation:2}),e})(),Ew=(()=>{class e extends cr{}return e.\u0275fac=function(){let n;return function(i){return(n||(n=vn(e)))(i||e)}}(),e.\u0275cmp=mt({type:e,selectors:[["TimesCircleIcon"]],standalone:!0,features:[Dt,Li],decls:6,vars:5,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["clip-path","url(#clip0_334_13179)"],["fill-rule","evenodd","clip-rule","evenodd","d","M7 14C5.61553 14 4.26215 13.5895 3.11101 12.8203C1.95987 12.0511 1.06266 10.9579 0.532846 9.67879C0.00303296 8.3997 -0.13559 6.99224 0.134506 5.63437C0.404603 4.2765 1.07129 3.02922 2.05026 2.05026C3.02922 1.07129 4.2765 0.404603 5.63437 0.134506C6.99224 -0.13559 8.3997 0.00303296 9.67879 0.532846C10.9579 1.06266 12.0511 1.95987 12.8203 3.11101C13.5895 4.26215 14 5.61553 14 7C14 8.85652 13.2625 10.637 11.9497 11.9497C10.637 13.2625 8.85652 14 7 14ZM7 1.16667C5.84628 1.16667 4.71846 1.50879 3.75918 2.14976C2.79989 2.79074 2.05222 3.70178 1.61071 4.76768C1.16919 5.83358 1.05367 7.00647 1.27876 8.13803C1.50384 9.26958 2.05941 10.309 2.87521 11.1248C3.69102 11.9406 4.73042 12.4962 5.86198 12.7212C6.99353 12.9463 8.16642 12.8308 9.23232 12.3893C10.2982 11.9478 11.2093 11.2001 11.8502 10.2408C12.4912 9.28154 12.8333 8.15373 12.8333 7C12.8333 5.45291 12.2188 3.96918 11.1248 2.87521C10.0308 1.78125 8.5471 1.16667 7 1.16667ZM4.66662 9.91668C4.58998 9.91704 4.51404 9.90209 4.44325 9.87271C4.37246 9.84333 4.30826 9.8001 4.2544 9.74557C4.14516 9.6362 4.0838 9.48793 4.0838 9.33335C4.0838 9.17876 4.14516 9.0305 4.2544 8.92113L6.17553 7L4.25443 5.07891C4.15139 4.96832 4.09529 4.82207 4.09796 4.67094C4.10063 4.51982 4.16185 4.37563 4.26872 4.26876C4.3756 4.16188 4.51979 4.10066 4.67091 4.09799C4.82204 4.09532 4.96829 4.15142 5.07887 4.25446L6.99997 6.17556L8.92106 4.25446C9.03164 4.15142 9.1779 4.09532 9.32903 4.09799C9.48015 4.10066 9.62434 4.16188 9.73121 4.26876C9.83809 4.37563 9.89931 4.51982 9.90198 4.67094C9.90464 4.82207 9.84855 4.96832 9.74551 5.07891L7.82441 7L9.74554 8.92113C9.85478 9.0305 9.91614 9.17876 9.91614 9.33335C9.91614 9.48793 9.85478 9.6362 9.74554 9.74557C9.69168 9.8001 9.62748 9.84333 9.55669 9.87271C9.4859 9.90209 9.40996 9.91704 9.33332 9.91668C9.25668 9.91704 9.18073 9.90209 9.10995 9.87271C9.03916 9.84333 8.97495 9.8001 8.9211 9.74557L6.99997 7.82444L5.07884 9.74557C5.02499 9.8001 4.96078 9.84333 4.88999 9.87271C4.81921 9.90209 4.74326 9.91704 4.66662 9.91668Z","fill","currentColor"],["id","clip0_334_13179"],["width","14","height","14","fill","white"]],template:function(t,i){1&t&&(Jn(),V(0,"svg",0)(1,"g",1),Te(2,"path",2),j(),V(3,"defs")(4,"clipPath",3),Te(5,"rect",4),j()()()),2&t&&(Ot(i.getClassNames()),tt("aria-label",i.ariaLabel)("aria-hidden",i.ariaHidden)("role",i.role))},encapsulation:2}),e})(),Wo=(()=>{class e extends cr{}return e.\u0275fac=function(){let n;return function(i){return(n||(n=vn(e)))(i||e)}}(),e.\u0275cmp=mt({type:e,selectors:[["TimesIcon"]],standalone:!0,features:[Dt,Li],decls:2,vars:5,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["d","M8.01186 7.00933L12.27 2.75116C12.341 2.68501 12.398 2.60524 12.4375 2.51661C12.4769 2.42798 12.4982 2.3323 12.4999 2.23529C12.5016 2.13827 12.4838 2.0419 12.4474 1.95194C12.4111 1.86197 12.357 1.78024 12.2884 1.71163C12.2198 1.64302 12.138 1.58893 12.0481 1.55259C11.9581 1.51625 11.8617 1.4984 11.7647 1.50011C11.6677 1.50182 11.572 1.52306 11.4834 1.56255C11.3948 1.60204 11.315 1.65898 11.2488 1.72997L6.99067 5.98814L2.7325 1.72997C2.59553 1.60234 2.41437 1.53286 2.22718 1.53616C2.03999 1.53946 1.8614 1.61529 1.72901 1.74767C1.59663 1.88006 1.5208 2.05865 1.5175 2.24584C1.5142 2.43303 1.58368 2.61419 1.71131 2.75116L5.96948 7.00933L1.71131 11.2675C1.576 11.403 1.5 11.5866 1.5 11.7781C1.5 11.9696 1.576 12.1532 1.71131 12.2887C1.84679 12.424 2.03043 12.5 2.2219 12.5C2.41338 12.5 2.59702 12.424 2.7325 12.2887L6.99067 8.03052L11.2488 12.2887C11.3843 12.424 11.568 12.5 11.7594 12.5C11.9509 12.5 12.1346 12.424 12.27 12.2887C12.4053 12.1532 12.4813 11.9696 12.4813 11.7781C12.4813 11.5866 12.4053 11.403 12.27 11.2675L8.01186 7.00933Z","fill","currentColor"]],template:function(t,i){1&t&&(Jn(),V(0,"svg",0),Te(1,"path",1),j()),2&t&&(Ot(i.getClassNames()),tt("aria-label",i.ariaLabel)("aria-hidden",i.ariaHidden)("role",i.role))},encapsulation:2}),e})(),rp=(()=>{class e extends cr{}return e.\u0275fac=function(){let n;return function(i){return(n||(n=vn(e)))(i||e)}}(),e.\u0275cmp=mt({type:e,selectors:[["ChevronDownIcon"]],standalone:!0,features:[Dt,Li],decls:2,vars:5,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["d","M7.01744 10.398C6.91269 10.3985 6.8089 10.378 6.71215 10.3379C6.61541 10.2977 6.52766 10.2386 6.45405 10.1641L1.13907 4.84913C1.03306 4.69404 0.985221 4.5065 1.00399 4.31958C1.02276 4.13266 1.10693 3.95838 1.24166 3.82747C1.37639 3.69655 1.55301 3.61742 1.74039 3.60402C1.92777 3.59062 2.11386 3.64382 2.26584 3.75424L7.01744 8.47394L11.769 3.75424C11.9189 3.65709 12.097 3.61306 12.2748 3.62921C12.4527 3.64535 12.6199 3.72073 12.7498 3.84328C12.8797 3.96582 12.9647 4.12842 12.9912 4.30502C13.0177 4.48162 12.9841 4.662 12.8958 4.81724L7.58083 10.1322C7.50996 10.2125 7.42344 10.2775 7.32656 10.3232C7.22968 10.3689 7.12449 10.3944 7.01744 10.398Z","fill","currentColor"]],template:function(t,i){1&t&&(Jn(),V(0,"svg",0),Te(1,"path",1),j()),2&t&&(Ot(i.getClassNames()),tt("aria-label",i.ariaLabel)("aria-hidden",i.ariaHidden)("role",i.role))},encapsulation:2}),e})();function NRe(e,n){1&e&&Te(0,"CheckIcon",7),2&e&&R("styleClass","p-checkbox-icon")}function ORe(e,n){}function HRe(e,n){1&e&&N(0,ORe,0,0,"ng-template")}function GRe(e,n){if(1&e&&(V(0,"span",8),N(1,HRe,1,0,null,9),j()),2&e){const t=E(2);G(1),R("ngTemplateOutlet",t.checkIconTemplate)}}function BRe(e,n){if(1&e&&(dt(0),N(1,NRe,1,1,"CheckIcon",5),N(2,GRe,2,1,"span",6),pt()),2&e){const t=E();G(1),R("ngIf",!t.checkIconTemplate),G(1),R("ngIf",t.checkIconTemplate)}}function YRe(e,n){if(1&e&&(V(0,"span"),Ie(1),j()),2&e){const t=E();G(1),Ci(t.label)}}function VRe(e,n){1&e&&It(0)}const VT=function(e){return{height:e}},zRe=function(e,n){return{"p-highlight":e,"p-disabled":n}},$Re=function(e){return{"p-highlight":e}},zT=function(e){return{$implicit:e}},URe=["container"],jRe=["overlay"],WRe=["filterInput"],qRe=["in"],KRe=["items"],ZRe=["scroller"];function XRe(e,n){if(1&e&&(dt(0),Ie(1),pt()),2&e){const t=E(2);G(1),Ci(t.valuesAsString||"empty")}}function QRe(e,n){if(1&e){const t=Be();V(0,"TimesCircleIcon",20),ge("click",function(){X(t);const r=E(2).$implicit,o=E(3);return Q(o.removeChip(r,o.event))}),j()}2&e&&R("styleClass","p-multiselect-token-icon")}function JRe(e,n){1&e&&It(0)}function e9e(e,n){if(1&e){const t=Be();V(0,"span",21),ge("click",function(){X(t);const r=E(2).$implicit,o=E(3);return Q(o.removeChip(r,o.event))}),N(1,JRe,1,0,"ng-container",22),j()}if(2&e){const t=E(5);G(1),R("ngTemplateOutlet",t.removeTokenIconTemplate)}}function t9e(e,n){if(1&e&&(dt(0),N(1,QRe,1,1,"TimesCircleIcon",18),N(2,e9e,2,1,"span",19),pt()),2&e){const t=E(4);G(1),R("ngIf",!t.removeTokenIconTemplate),G(1),R("ngIf",t.removeTokenIconTemplate)}}function n9e(e,n){if(1&e&&(V(0,"div",15,16)(2,"span",17),Ie(3),j(),N(4,t9e,3,2,"ng-container",7),j()),2&e){const t=n.$implicit,i=E(3);G(3),Ci(i.findLabelByValue(t)),G(1),R("ngIf",!i.disabled)}}function i9e(e,n){if(1&e&&(dt(0),Ie(1),pt()),2&e){const t=E(3);G(1),Ci(t.placeholder||t.defaultLabel||"empty")}}function r9e(e,n){if(1&e&&(dt(0),N(1,n9e,5,2,"div",14),N(2,i9e,2,1,"ng-container",7),pt()),2&e){const t=E(2);G(1),R("ngForOf",t.value),G(1),R("ngIf",!t.value||0===t.value.length)}}function o9e(e,n){if(1&e&&(dt(0),N(1,XRe,2,1,"ng-container",7),N(2,r9e,3,2,"ng-container",7),pt()),2&e){const t=E();G(1),R("ngIf","comma"===t.display),G(1),R("ngIf","chip"===t.display)}}function a9e(e,n){1&e&&It(0)}function s9e(e,n){if(1&e){const t=Be();V(0,"TimesIcon",20),ge("click",function(r){return X(t),Q(E(2).clear(r))}),j()}2&e&&R("styleClass","p-multiselect-clear-icon")}function l9e(e,n){1&e&&Te(0,"ng-tempate")}function c9e(e,n){if(1&e){const t=Be();V(0,"span",24),ge("click",function(r){return X(t),Q(E(2).clear(r))}),N(1,l9e,1,0,"ng-tempate",22),j()}if(2&e){const t=E(2);G(1),R("ngTemplateOutlet",t.clearIconTemplate)}}function u9e(e,n){if(1&e&&(dt(0),N(1,s9e,1,1,"TimesIcon",18),N(2,c9e,2,1,"span",23),pt()),2&e){const t=E();G(1),R("ngIf",!t.clearIconTemplate),G(1),R("ngIf",t.clearIconTemplate)}}function d9e(e,n){1&e&&Te(0,"span",27),2&e&&R("ngClass",E(2).dropdownIcon)}function p9e(e,n){1&e&&Te(0,"ChevronDownIcon",28),2&e&&R("styleClass","p-multiselect-trigger-icon")}function f9e(e,n){if(1&e&&(dt(0),N(1,d9e,1,1,"span",25),N(2,p9e,1,1,"ChevronDownIcon",26),pt()),2&e){const t=E();G(1),R("ngIf",t.dropdownIcon),G(1),R("ngIf",!t.dropdownIcon)}}function h9e(e,n){}function g9e(e,n){1&e&&N(0,h9e,0,0,"ng-template")}function m9e(e,n){if(1&e&&(V(0,"span",29),N(1,g9e,1,0,null,22),j()),2&e){const t=E();G(1),R("ngTemplateOutlet",t.dropdownIconTemplate)}}function y9e(e,n){1&e&&It(0)}function _9e(e,n){1&e&&It(0)}const ZZ=function(e){return{options:e}};function v9e(e,n){if(1&e&&(dt(0),N(1,_9e,1,0,"ng-container",8),pt()),2&e){const t=E(3);G(1),R("ngTemplateOutlet",t.filterTemplate)("ngTemplateOutletContext",yt(2,ZZ,t.filterOptions))}}function T9e(e,n){1&e&&Te(0,"CheckIcon",28),2&e&&R("styleClass","p-checkbox-icon")}function C9e(e,n){}function b9e(e,n){1&e&&N(0,C9e,0,0,"ng-template")}function A9e(e,n){if(1&e&&(V(0,"span",47),N(1,b9e,1,0,null,22),j()),2&e){const t=E(6);G(1),R("ngTemplateOutlet",t.checkIconTemplate)}}function S9e(e,n){if(1&e&&(dt(0),N(1,T9e,1,1,"CheckIcon",26),N(2,A9e,2,1,"span",46),pt()),2&e){const t=E(5);G(1),R("ngIf",!t.checkIconTemplate),G(1),R("ngIf",t.checkIconTemplate)}}const w9e=function(e){return{"p-checkbox-disabled":e}},x9e=function(e,n,t){return{"p-highlight":e,"p-focus":n,"p-disabled":t}};function F9e(e,n){if(1&e){const t=Be();V(0,"div",43)(1,"div",2)(2,"input",44),ge("focus",function(){return X(t),Q(E(4).onHeaderCheckboxFocus())})("blur",function(){return X(t),Q(E(4).onHeaderCheckboxBlur())})("keydown.space",function(r){return X(t),Q(E(4).toggleAll(r))}),j()(),V(3,"div",45),ge("click",function(r){return X(t),Q(E(4).toggleAll(r))}),N(4,S9e,3,2,"ng-container",7),j()()}if(2&e){const t=E(4);R("ngClass",yt(6,w9e,t.disabled||t.toggleAllDisabled)),G(2),R("checked",t.allChecked)("disabled",t.disabled||t.toggleAllDisabled),G(1),R("ngClass",ba(8,x9e,t.allChecked,t.headerCheckboxFocus,t.disabled||t.toggleAllDisabled)),tt("aria-checked",t.allChecked),G(1),R("ngIf",t.allChecked)}}function D9e(e,n){1&e&&Te(0,"SearchIcon",28),2&e&&R("styleClass","p-multiselect-filter-icon")}function E9e(e,n){}function I9e(e,n){1&e&&N(0,E9e,0,0,"ng-template")}function R9e(e,n){if(1&e&&(V(0,"span",52),N(1,I9e,1,0,null,22),j()),2&e){const t=E(5);G(1),R("ngTemplateOutlet",t.filterIconTemplate)}}function L9e(e,n){if(1&e){const t=Be();V(0,"div",48)(1,"input",49,50),ge("input",function(r){return X(t),Q(E(4).onFilterInputChange(r))}),j(),N(3,D9e,1,1,"SearchIcon",26),N(4,R9e,2,1,"span",51),j()}if(2&e){const t=E(4);G(1),R("value",t.filterValue||"")("disabled",t.disabled),tt("autocomplete",t.autocomplete)("placeholder",t.filterPlaceHolder)("aria-label",t.ariaFilterLabel),G(2),R("ngIf",!t.filterIconTemplate),G(1),R("ngIf",t.filterIconTemplate)}}function M9e(e,n){1&e&&Te(0,"TimesIcon",28),2&e&&R("styleClass","p-multiselect-close-icon")}function k9e(e,n){1&e&&Te(0,"ng-tempate")}function P9e(e,n){if(1&e&&(V(0,"span",53),N(1,k9e,1,0,"ng-tempate",22),j()),2&e){const t=E(4);G(1),R("ngTemplateOutlet",t.closeIconTemplate)}}function N9e(e,n){if(1&e){const t=Be();N(0,F9e,5,12,"div",39),N(1,L9e,5,7,"div",40),V(2,"button",41),ge("click",function(r){return X(t),Q(E(3).close(r))}),N(3,M9e,1,1,"TimesIcon",26),N(4,P9e,2,1,"span",42),j()}if(2&e){const t=E(3);R("ngIf",t.showToggleAll&&!t.selectionLimit),G(1),R("ngIf",t.filter),G(2),R("ngIf",!t.closeIconTemplate),G(1),R("ngIf",t.closeIconTemplate)}}function O9e(e,n){if(1&e&&(V(0,"div",36),ts(1),N(2,y9e,1,0,"ng-container",22),N(3,v9e,2,4,"ng-container",37),N(4,N9e,5,4,"ng-template",null,38,ns),j()),2&e){const t=gn(5),i=E(2);G(2),R("ngTemplateOutlet",i.headerTemplate),G(1),R("ngIf",i.filterTemplate)("ngIfElse",t)}}function H9e(e,n){1&e&&It(0)}const XZ=function(e,n){return{$implicit:e,options:n}};function G9e(e,n){if(1&e&&N(0,H9e,1,0,"ng-container",8),2&e){const t=n.$implicit,i=n.options;E(2),R("ngTemplateOutlet",gn(6))("ngTemplateOutletContext",Hn(2,XZ,t,i))}}function B9e(e,n){1&e&&It(0)}function Y9e(e,n){if(1&e&&N(0,B9e,1,0,"ng-container",8),2&e){const t=n.options;R("ngTemplateOutlet",E(4).loaderTemplate)("ngTemplateOutletContext",yt(2,ZZ,t))}}function V9e(e,n){1&e&&(dt(0),N(1,Y9e,1,4,"ng-template",56),pt())}function z9e(e,n){if(1&e){const t=Be();V(0,"p-scroller",54,55),ge("onLazyLoad",function(r){return X(t),Q(E(2).onLazyLoad.emit(r))}),N(2,G9e,1,5,"ng-template",13),N(3,V9e,2,0,"ng-container",7),j()}if(2&e){const t=E(2);Hi(yt(9,VT,t.scrollHeight)),R("items",t.optionsToRender)("itemSize",t.virtualScrollItemSize||t._itemSize)("autoSize",!0)("tabindex",-1)("lazy",t.lazy)("options",t.virtualScrollOptions),G(3),R("ngIf",t.loaderTemplate)}}function $9e(e,n){1&e&&It(0)}const U9e=function(){return{}};function j9e(e,n){if(1&e&&(dt(0),N(1,$9e,1,0,"ng-container",8),pt()),2&e){E();const t=gn(6),i=E();G(1),R("ngTemplateOutlet",t)("ngTemplateOutletContext",Hn(3,XZ,i.optionsToRender,Bo(2,U9e)))}}function W9e(e,n){if(1&e&&(V(0,"span"),Ie(1),j()),2&e){const t=E().$implicit,i=E(4);G(1),Ci(i.getOptionGroupLabel(t)||"empty")}}function q9e(e,n){1&e&&It(0)}function K9e(e,n){1&e&&It(0)}function Z9e(e,n){if(1&e&&(V(0,"li",62),N(1,W9e,2,1,"span",7),N(2,q9e,1,0,"ng-container",8),j(),N(3,K9e,1,0,"ng-container",8)),2&e){const t=n.$implicit,i=E(2).options,r=gn(5),o=E(2);R("ngStyle",yt(6,VT,i.itemSize+"px")),G(1),R("ngIf",!o.groupTemplate),G(1),R("ngTemplateOutlet",o.groupTemplate)("ngTemplateOutletContext",yt(8,zT,t)),G(1),R("ngTemplateOutlet",r)("ngTemplateOutletContext",yt(10,zT,o.getOptionGroupChildren(t)))}}function X9e(e,n){if(1&e&&(dt(0),N(1,Z9e,4,12,"ng-template",61),pt()),2&e){const t=E().$implicit;G(1),R("ngForOf",t)}}function Q9e(e,n){1&e&&It(0)}function J9e(e,n){if(1&e&&(dt(0),N(1,Q9e,1,0,"ng-container",8),pt()),2&e){const t=E().$implicit,i=gn(5);G(1),R("ngTemplateOutlet",i)("ngTemplateOutletContext",yt(2,zT,t))}}function e7e(e,n){if(1&e){const t=Be();V(0,"p-multiSelectItem",63),ge("onClick",function(r){return X(t),Q(E(4).onOptionClick(r))})("onKeydown",function(r){return X(t),Q(E(4).onOptionKeydown(r))}),j()}if(2&e){const t=n.$implicit,i=E(2).options,r=E(2);R("option",t)("selected",r.isSelected(t))("label",r.getOptionLabel(t))("disabled",r.isOptionDisabled(t))("template",r.itemTemplate)("checkIconTemplate",r.checkIconTemplate)("itemSize",i.itemSize)}}function t7e(e,n){1&e&&N(0,e7e,1,7,"ng-template",61),2&e&&R("ngForOf",n.$implicit)}function n7e(e,n){if(1&e&&(dt(0),Ie(1),pt()),2&e){const t=E(4);G(1),gr(" ",t.emptyFilterMessageLabel," ")}}function i7e(e,n){1&e&&It(0,null,65)}function r7e(e,n){if(1&e&&(V(0,"li",64),N(1,n7e,2,1,"ng-container",37),N(2,i7e,2,0,"ng-container",22),j()),2&e){const t=E().options,i=E(2);R("ngStyle",yt(4,VT,t.itemSize+"px")),G(1),R("ngIf",!i.emptyFilterTemplate&&!i.emptyTemplate)("ngIfElse",i.emptyFilter),G(1),R("ngTemplateOutlet",i.emptyFilterTemplate||i.emptyTemplate)}}function o7e(e,n){if(1&e&&(dt(0),Ie(1),pt()),2&e){const t=E(4);G(1),gr(" ",t.emptyMessageLabel," ")}}function a7e(e,n){1&e&&It(0,null,66)}function s7e(e,n){if(1&e&&(V(0,"li",64),N(1,o7e,2,1,"ng-container",37),N(2,a7e,2,0,"ng-container",22),j()),2&e){const t=E().options,i=E(2);R("ngStyle",yt(4,VT,t.itemSize+"px")),G(1),R("ngIf",!i.emptyTemplate)("ngIfElse",i.empty),G(1),R("ngTemplateOutlet",i.emptyTemplate)}}function l7e(e,n){if(1&e&&(V(0,"ul",57,58),N(2,X9e,2,1,"ng-container",7),N(3,J9e,2,4,"ng-container",7),N(4,t7e,1,1,"ng-template",null,59,ns),N(6,r7e,3,6,"li",60),N(7,s7e,3,6,"li",60),j()),2&e){const t=n.options,i=E(2);Hi(t.contentStyle),R("ngClass",t.contentStyleClass),G(2),R("ngIf",i.group),G(1),R("ngIf",!i.group),G(3),R("ngIf",i.hasFilter()&&i.isEmpty()),G(1),R("ngIf",!i.hasFilter()&&i.isEmpty())}}function c7e(e,n){1&e&&It(0)}function u7e(e,n){if(1&e&&(V(0,"div",67),ts(1,1),N(2,c7e,1,0,"ng-container",22),j()),2&e){const t=E(2);G(2),R("ngTemplateOutlet",t.footerTemplate)}}const d7e=function(){return["p-multiselect-panel p-component"]};function p7e(e,n){if(1&e){const t=Be();V(0,"div",30),ge("keydown",function(r){return X(t),Q(E().onKeydown(r))}),N(1,O9e,6,3,"div",31),V(2,"div",32),N(3,z9e,4,11,"p-scroller",33),N(4,j9e,2,6,"ng-container",7),N(5,l7e,8,7,"ng-template",null,34,ns),j(),N(7,u7e,3,1,"div",35),j()}if(2&e){const t=E();Ot(t.panelStyleClass),R("ngClass",Bo(10,d7e))("ngStyle",t.panelStyle),G(1),R("ngIf",t.showHeader),G(1),lc("max-height",t.virtualScroll?"auto":t.scrollHeight||"auto"),G(1),R("ngIf",t.virtualScroll),G(1),R("ngIf",!t.virtualScroll),G(3),R("ngIf",t.footerFacet||t.footerTemplate)}}const f7e=[[["p-header"]],[["p-footer"]]],h7e=function(e,n,t,i){return{"p-multiselect p-component":!0,"p-multiselect-open":e,"p-multiselect-chip":n,"p-focus":t,"p-disabled":i}},g7e=function(e,n){return{"p-placeholder":e,"p-multiselect-label-empty":n}},m7e=function(){return{"p-multiselect-trigger":!0}},y7e=["p-header","p-footer"],_7e={provide:sr,useExisting:pn(()=>h9),multi:!0};let v7e=(()=>{class e{constructor(){this.onClick=new Pe,this.onKeydown=new Pe}onOptionClick(t){this.onClick.emit({originalEvent:t,option:this.option,selected:this.selected})}onOptionKeydown(t){this.onKeydown.emit({originalEvent:t,option:this.option})}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=mt({type:e,selectors:[["p-multiSelectItem"]],hostAttrs:[1,"p-element"],inputs:{option:"option",selected:"selected",label:"label",disabled:"disabled",itemSize:"itemSize",template:"template",checkIconTemplate:"checkIconTemplate"},outputs:{onClick:"onClick",onKeydown:"onKeydown"},decls:6,vars:18,consts:[["pRipple","",1,"p-multiselect-item",3,"ngStyle","ngClass","click","keydown"],[1,"p-checkbox","p-component"],[1,"p-checkbox-box",3,"ngClass"],[4,"ngIf"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[3,"styleClass",4,"ngIf"],["class","p-checkbox-icon",4,"ngIf"],[3,"styleClass"],[1,"p-checkbox-icon"],[4,"ngTemplateOutlet"]],template:function(t,i){1&t&&(V(0,"li",0),ge("click",function(o){return i.onOptionClick(o)})("keydown",function(o){return i.onOptionKeydown(o)}),V(1,"div",1)(2,"div",2),N(3,BRe,3,2,"ng-container",3),j()(),N(4,YRe,2,1,"span",3),N(5,VRe,1,0,"ng-container",4),j()),2&t&&(R("ngStyle",yt(9,VT,i.itemSize+"px"))("ngClass",Hn(11,zRe,i.selected,i.disabled)),tt("aria-label",i.label)("tabindex",i.disabled?null:"0"),G(2),R("ngClass",yt(14,$Re,i.selected)),G(1),R("ngIf",i.selected),G(1),R("ngIf",!i.template),G(1),R("ngTemplateOutlet",i.template)("ngTemplateOutletContext",yt(16,zT,i.option)))},dependencies:function(){return[to,Mi,Yo,or,Pg,np]},encapsulation:2}),e})(),h9=(()=>{class e{constructor(t,i,r,o,a,s,l){this.el=t,this.renderer=i,this.cd=r,this.zone=o,this.filterService=a,this.config=s,this.overlayService=l,this.filter=!0,this.displaySelectedLabel=!0,this.maxSelectedLabels=3,this.selectedItemsLabel="ellipsis",this.showToggleAll=!0,this.emptyFilterMessage="",this.emptyMessage="",this.resetFilterOnHide=!1,this.optionGroupChildren="items",this.showHeader=!0,this.scrollHeight="200px",this.lazy=!1,this.filterMatchMode="contains",this.tooltip="",this.tooltipPosition="right",this.tooltipPositionStyle="absolute",this.autofocusFilter=!0,this.display="comma",this.autocomplete="on",this.showClear=!1,this.onChange=new Pe,this.onFilter=new Pe,this.onFocus=new Pe,this.onBlur=new Pe,this.onClick=new Pe,this.onClear=new Pe,this.onPanelShow=new Pe,this.onPanelHide=new Pe,this.onLazyLoad=new Pe,this.onRemove=new Pe,this.onModelChange=()=>{},this.onModelTouched=()=>{}}get autoZIndex(){return this._autoZIndex}set autoZIndex(t){this._autoZIndex=t,console.warn("The autoZIndex property is deprecated since v14.2.0, use overlayOptions property instead.")}get baseZIndex(){return this._baseZIndex}set baseZIndex(t){this._baseZIndex=t,console.warn("The baseZIndex property is deprecated since v14.2.0, use overlayOptions property instead.")}get showTransitionOptions(){return this._showTransitionOptions}set showTransitionOptions(t){this._showTransitionOptions=t,console.warn("The showTransitionOptions property is deprecated since v14.2.0, use overlayOptions property instead.")}get hideTransitionOptions(){return this._hideTransitionOptions}set hideTransitionOptions(t){this._hideTransitionOptions=t,console.warn("The hideTransitionOptions property is deprecated since v14.2.0, use overlayOptions property instead.")}set defaultLabel(t){this._defaultLabel=t,this.updateLabel()}get defaultLabel(){return this._defaultLabel}set placeholder(t){this._placeholder=t,this.updateLabel()}get placeholder(){return this._placeholder}get options(){return this._options}set options(t){this._options=t,this.updateLabel()}get filterValue(){return this._filterValue}set filterValue(t){this._filterValue=t,this.activateFilter()}get itemSize(){return this._itemSize}set itemSize(t){this._itemSize=t,console.warn("The itemSize property is deprecated, use virtualScrollItemSize property instead.")}ngOnInit(){this.updateLabel(),this.filterBy&&(this.filterOptions={filter:t=>this.onFilterInputChange(t),reset:()=>this.resetFilter()})}ngAfterContentInit(){this.templates.forEach(t=>{switch(t.getType()){case"item":default:this.itemTemplate=t.template;break;case"group":this.groupTemplate=t.template;break;case"selectedItems":this.selectedItemsTemplate=t.template;break;case"header":this.headerTemplate=t.template;break;case"filter":this.filterTemplate=t.template;break;case"emptyfilter":this.emptyFilterTemplate=t.template;break;case"empty":this.emptyTemplate=t.template;break;case"footer":this.footerTemplate=t.template;break;case"loader":this.loaderTemplate=t.template;break;case"checkicon":this.checkIconTemplate=t.template;break;case"filtericon":this.filterIconTemplate=t.template;break;case"removetokenicon":this.removeTokenIconTemplate=t.template;break;case"closeicon":this.closeIconTemplate=t.template;break;case"clearicon":this.clearIconTemplate=t.tempate;break;case"dropdownicon":this.dropdownIconTemplate=t.template}})}ngAfterViewInit(){this.overlayVisible&&this.show()}ngAfterViewChecked(){this.filtered&&(this.zone.runOutsideAngular(()=>{setTimeout(()=>{this.overlayViewChild?.alignOverlay()},1)}),this.filtered=!1)}getOptionLabel(t){return this.optionLabel?Ht.resolveFieldData(t,this.optionLabel):t&&null!=t.label?t.label:t}getOptionValue(t){return this.optionValue?Ht.resolveFieldData(t,this.optionValue):!this.optionLabel&&t&&void 0!==t.value?t.value:t}getOptionGroupLabel(t){return this.optionGroupLabel?Ht.resolveFieldData(t,this.optionGroupLabel):t&&null!=t.label?t.label:t}getOptionGroupChildren(t){return this.optionGroupChildren?Ht.resolveFieldData(t,this.optionGroupChildren):t.items}isOptionDisabled(t){return(this.optionDisabled?Ht.resolveFieldData(t,this.optionDisabled):!(!t||void 0===t.disabled)&&t.disabled)||this.maxSelectionLimitReached&&!this.isSelected(t)}writeValue(t){this.value=t,this.updateLabel(),this.updateFilledState(),this.checkSelectionLimit(),this.cd.markForCheck()}checkSelectionLimit(){this.maxSelectionLimitReached=!(!this.selectionLimit||!this.value||this.value.length!==this.selectionLimit)}updateFilledState(){this.filled=this.value&&this.value.length>0}registerOnChange(t){this.onModelChange=t}registerOnTouched(t){this.onModelTouched=t}setDisabledState(t){this.disabled=t,this.cd.markForCheck()}onOptionClick(t){let i=t.option;if(this.isOptionDisabled(i))return;let r=this.getOptionValue(i),o=this.findSelectionIndex(r);-1!=o?(this.value=this.value.filter((a,s)=>s!=o),this.onRemove.emit({newValue:this.value,removed:r}),this.selectionLimit&&(this.maxSelectionLimitReached=!1)):((!this.selectionLimit||!this.value||this.value.length{if(this.group){let o=this.getOptionGroupChildren(r);o&&o.forEach(a=>{let s=this.isOptionDisabled(a);(!s||s&&this.isSelected(a))&&i.push(this.getOptionValue(a))})}else{let o=this.isOptionDisabled(r);(!o||o&&this.isSelected(r))&&i.push(this.getOptionValue(r))}}),this.value=i}uncheckAll(){let i=[];this.optionsToRender.forEach(r=>{this.group?r.items&&r.items.forEach(o=>{this.isOptionDisabled(o)&&this.isSelected(o)&&i.push(this.getOptionValue(o))}):this.isOptionDisabled(r)&&this.isSelected(r)&&i.push(this.getOptionValue(r))}),this.value=i}show(){this.overlayVisible||(this.overlayVisible=!0,this.preventDocumentDefault=!0,this.cd.markForCheck())}onOverlayAnimationStart(t){switch(t.toState){case"visible":this.virtualScroll&&this.scroller?.setContentEl(this.itemsViewChild.nativeElement),this.filterInputChild&&this.filterInputChild.nativeElement&&(this.preventModelTouched=!0,this.autofocusFilter&&this.filterInputChild.nativeElement.focus()),this.onPanelShow.emit();break;case"void":this.onModelTouched()}}hide(){this.overlayVisible=!1,this.resetFilterOnHide&&this.resetFilter(),this.onPanelHide.emit(),this.cd.markForCheck()}resetFilter(){this.filterInputChild&&this.filterInputChild.nativeElement&&(this.filterInputChild.nativeElement.value=""),this._filterValue=null,this._filteredOptions=null}close(t){this.hide(),t.preventDefault(),t.stopPropagation()}clear(t){this.value=null,this.updateLabel(),this.updateFilledState(),this.onClear.emit(),this.onModelChange(this.value),t.stopPropagation()}onMouseclick(t,i){this.disabled||this.readonly||t.target.isSameNode(this.accessibleViewChild.nativeElement)||(this.onClick.emit(t),!this.overlayViewChild?.el?.nativeElement?.contains(t.target)&&!ve.hasClass(t.target,"p-multiselect-token-icon")&&(this.overlayVisible?this.hide():this.show(),i.focus()))}removeChip(t,i){this.value=this.value.filter(r=>!Ht.equals(r,t,this.dataKey)),this.onModelChange(this.value),this.checkSelectionLimit(),this.onChange.emit({originalEvent:i,value:this.value,itemValue:t}),this.updateLabel(),this.updateFilledState()}onInputFocus(t){this.focus=!0,this.onFocus.emit({originalEvent:t})}onInputBlur(t){this.focus=!1,this.onBlur.emit({originalEvent:t}),this.preventModelTouched||this.onModelTouched(),this.preventModelTouched=!1}onOptionKeydown(t){if(!this.readonly)switch(t.originalEvent.which){case 40:var i=this.findNextItem(t.originalEvent.target.parentElement);i&&i.focus(),t.originalEvent.preventDefault();break;case 38:var r=this.findPrevItem(t.originalEvent.target.parentElement);r&&r.focus(),t.originalEvent.preventDefault();break;case 13:this.onOptionClick(t),t.originalEvent.preventDefault();break;case 27:case 9:this.hide()}}findNextItem(t){let i=t.nextElementSibling;return i?ve.hasClass(i.children[0],"p-disabled")||ve.isHidden(i.children[0])||ve.hasClass(i,"p-multiselect-item-group")?this.findNextItem(i):i.children[0]:null}findPrevItem(t){let i=t.previousElementSibling;return i?ve.hasClass(i.children[0],"p-disabled")||ve.isHidden(i.children[0])||ve.hasClass(i,"p-multiselect-item-group")?this.findPrevItem(i):i.children[0]:null}onKeydown(t){switch(t.which){case 40:!this.overlayVisible&&t.altKey&&(this.show(),t.preventDefault());break;case 32:this.overlayVisible||(this.show(),t.preventDefault());break;case 27:this.hide()}}updateLabel(){if(this.value&&this.options&&this.value.length&&this.displaySelectedLabel){let t="";for(let i=0;i0&&(t+=", "),t+=r)}if(this.value.length<=this.maxSelectedLabels||"ellipsis"===this.selectedItemsLabel)this.valuesAsString=t;else{let i=/{(.*?)}/;this.valuesAsString=i.test(this.selectedItemsLabel)?this.selectedItemsLabel.replace(this.selectedItemsLabel.match(i)[0],this.value.length+""):this.selectedItemsLabel}}else this.valuesAsString=this.placeholder||this.defaultLabel}findLabelByValue(t){if(this.group){let i=null;for(let r=0;r0}isEmpty(){return!this.optionsToRender||this.optionsToRender&&0===this.optionsToRender.length}onFilterInputChange(t){this._filterValue=t.target.value,this.activateFilter(),this.onFilter.emit({originalEvent:t,filter:this._filterValue}),this.cd.detectChanges()}activateFilter(){if(this.hasFilter()&&this._options){let t=(this.filterBy||this.optionLabel||"label").split(",");if(this.group){let i=[];for(let r of this.options){let o=this.filterService.filter(this.getOptionGroupChildren(r),t,this.filterValue,this.filterMatchMode,this.filterLocale);o&&o.length&&i.push({...r,[this.optionGroupChildren]:o})}this._filteredOptions=i}else this._filteredOptions=this.filterService.filter(this.options,t,this._filterValue,this.filterMatchMode,this.filterLocale)}else this._filteredOptions=null}onHeaderCheckboxFocus(){this.headerCheckboxFocus=!0}onHeaderCheckboxBlur(){this.headerCheckboxFocus=!1}}return e.\u0275fac=function(t){return new(t||e)(ie(En),ie(Si),ie(wi),ie(wn),ie(dS),ie(Au),ie(wy))},e.\u0275cmp=mt({type:e,selectors:[["p-multiSelect"]],contentQueries:function(t,i,r){if(1&t&&(Br(r,FW,5),Br(r,xW,5),Br(r,lr,4)),2&t){let o;at(o=st())&&(i.footerFacet=o.first),at(o=st())&&(i.headerFacet=o.first),at(o=st())&&(i.templates=o)}},viewQuery:function(t,i){if(1&t&&(Mt(URe,5),Mt(jRe,5),Mt(WRe,5),Mt(qRe,5),Mt(KRe,5),Mt(ZRe,5)),2&t){let r;at(r=st())&&(i.containerViewChild=r.first),at(r=st())&&(i.overlayViewChild=r.first),at(r=st())&&(i.filterInputChild=r.first),at(r=st())&&(i.accessibleViewChild=r.first),at(r=st())&&(i.itemsViewChild=r.first),at(r=st())&&(i.scroller=r.first)}},hostAttrs:[1,"p-element","p-inputwrapper"],hostVars:6,hostBindings:function(t,i){2&t&&Ta("p-inputwrapper-filled",i.filled)("p-inputwrapper-focus",i.focus||i.overlayVisible)("p-multiselect-clearable",i.showClear&&!i.disabled)},inputs:{style:"style",styleClass:"styleClass",panelStyle:"panelStyle",panelStyleClass:"panelStyleClass",inputId:"inputId",disabled:"disabled",readonly:"readonly",group:"group",filter:"filter",filterPlaceHolder:"filterPlaceHolder",filterLocale:"filterLocale",overlayVisible:"overlayVisible",tabindex:"tabindex",appendTo:"appendTo",dataKey:"dataKey",name:"name",label:"label",ariaLabelledBy:"ariaLabelledBy",displaySelectedLabel:"displaySelectedLabel",maxSelectedLabels:"maxSelectedLabels",selectionLimit:"selectionLimit",selectedItemsLabel:"selectedItemsLabel",showToggleAll:"showToggleAll",emptyFilterMessage:"emptyFilterMessage",emptyMessage:"emptyMessage",resetFilterOnHide:"resetFilterOnHide",dropdownIcon:"dropdownIcon",optionLabel:"optionLabel",optionValue:"optionValue",optionDisabled:"optionDisabled",optionGroupLabel:"optionGroupLabel",optionGroupChildren:"optionGroupChildren",showHeader:"showHeader",filterBy:"filterBy",scrollHeight:"scrollHeight",lazy:"lazy",virtualScroll:"virtualScroll",virtualScrollItemSize:"virtualScrollItemSize",virtualScrollOptions:"virtualScrollOptions",overlayOptions:"overlayOptions",ariaFilterLabel:"ariaFilterLabel",filterMatchMode:"filterMatchMode",tooltip:"tooltip",tooltipPosition:"tooltipPosition",tooltipPositionStyle:"tooltipPositionStyle",tooltipStyleClass:"tooltipStyleClass",autofocusFilter:"autofocusFilter",display:"display",autocomplete:"autocomplete",showClear:"showClear",autoZIndex:"autoZIndex",baseZIndex:"baseZIndex",showTransitionOptions:"showTransitionOptions",hideTransitionOptions:"hideTransitionOptions",defaultLabel:"defaultLabel",placeholder:"placeholder",options:"options",filterValue:"filterValue",itemSize:"itemSize"},outputs:{onChange:"onChange",onFilter:"onFilter",onFocus:"onFocus",onBlur:"onBlur",onClick:"onClick",onClear:"onClear",onPanelShow:"onPanelShow",onPanelHide:"onPanelHide",onLazyLoad:"onLazyLoad",onRemove:"onRemove"},features:[Zt([_7e])],ngContentSelectors:y7e,decls:16,vars:42,consts:[[3,"ngClass","ngStyle","click"],["container",""],[1,"p-hidden-accessible"],["type","text","readonly","readonly","aria-haspopup","listbox","role","listbox",3,"disabled","focus","blur","keydown"],["in",""],[1,"p-multiselect-label-container",3,"pTooltip","tooltipPosition","positionStyle","tooltipStyleClass"],[1,"p-multiselect-label",3,"ngClass"],[4,"ngIf"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[3,"ngClass"],["class","p-multiselect-trigger-icon",4,"ngIf"],[3,"visible","options","target","appendTo","autoZIndex","baseZIndex","showTransitionOptions","hideTransitionOptions","visibleChange","onAnimationStart","onHide"],["overlay",""],["pTemplate","content"],["class","p-multiselect-token",4,"ngFor","ngForOf"],[1,"p-multiselect-token"],["token",""],[1,"p-multiselect-token-label"],[3,"styleClass","click",4,"ngIf"],["class","p-multiselect-token-icon",3,"click",4,"ngIf"],[3,"styleClass","click"],[1,"p-multiselect-token-icon",3,"click"],[4,"ngTemplateOutlet"],["class","p-multiselect-clear-icon",3,"click",4,"ngIf"],[1,"p-multiselect-clear-icon",3,"click"],["class","p-multiselect-trigger-icon",3,"ngClass",4,"ngIf"],[3,"styleClass",4,"ngIf"],[1,"p-multiselect-trigger-icon",3,"ngClass"],[3,"styleClass"],[1,"p-multiselect-trigger-icon"],[3,"ngClass","ngStyle","keydown"],["class","p-multiselect-header",4,"ngIf"],[1,"p-multiselect-items-wrapper"],[3,"items","style","itemSize","autoSize","tabindex","lazy","options","onLazyLoad",4,"ngIf"],["buildInItems",""],["class","p-multiselect-footer",4,"ngIf"],[1,"p-multiselect-header"],[4,"ngIf","ngIfElse"],["builtInFilterElement",""],["class","p-checkbox p-component",3,"ngClass",4,"ngIf"],["class","p-multiselect-filter-container",4,"ngIf"],["type","button","pRipple","",1,"p-multiselect-close","p-link","p-button-icon-only",3,"click"],["class","p-multiselect-close-icon",4,"ngIf"],[1,"p-checkbox","p-component",3,"ngClass"],["type","checkbox","readonly","readonly",3,"checked","disabled","focus","blur","keydown.space"],["role","checkbox",1,"p-checkbox-box",3,"ngClass","click"],["class","p-checkbox-icon",4,"ngIf"],[1,"p-checkbox-icon"],[1,"p-multiselect-filter-container"],["type","text","role","textbox",1,"p-multiselect-filter","p-inputtext","p-component",3,"value","disabled","input"],["filterInput",""],["class","p-multiselect-filter-icon",4,"ngIf"],[1,"p-multiselect-filter-icon"],[1,"p-multiselect-close-icon"],[3,"items","itemSize","autoSize","tabindex","lazy","options","onLazyLoad"],["scroller",""],["pTemplate","loader"],["role","listbox","aria-multiselectable","true",1,"p-multiselect-items","p-component",3,"ngClass"],["items",""],["itemslist",""],["class","p-multiselect-empty-message",3,"ngStyle",4,"ngIf"],["ngFor","",3,"ngForOf"],[1,"p-multiselect-item-group",3,"ngStyle"],[3,"option","selected","label","disabled","template","checkIconTemplate","itemSize","onClick","onKeydown"],[1,"p-multiselect-empty-message",3,"ngStyle"],["emptyFilter",""],["empty",""],[1,"p-multiselect-footer"]],template:function(t,i){if(1&t){const r=Be();gu(f7e),V(0,"div",0,1),ge("click",function(a){X(r);const s=gn(4);return Q(i.onMouseclick(a,s))}),V(2,"div",2)(3,"input",3,4),ge("focus",function(a){return i.onInputFocus(a)})("blur",function(a){return i.onInputBlur(a)})("keydown",function(a){return i.onKeydown(a)}),j()(),V(5,"div",5)(6,"div",6),N(7,o9e,3,2,"ng-container",7),N(8,a9e,1,0,"ng-container",8),j(),N(9,u9e,3,2,"ng-container",7),j(),V(10,"div",9),N(11,f9e,3,2,"ng-container",7),N(12,m9e,2,1,"span",10),j(),V(13,"p-overlay",11,12),ge("visibleChange",function(a){return i.overlayVisible=a})("onAnimationStart",function(a){return i.onOverlayAnimationStart(a)})("onHide",function(){return i.hide()}),N(15,p7e,8,11,"ng-template",13),j()()}2&t&&(Ot(i.styleClass),R("ngClass",Dv(31,h7e,i.overlayVisible,"chip"===i.display,i.focus,i.disabled))("ngStyle",i.style),G(3),R("disabled",i.disabled),tt("label",i.label)("id",i.inputId)("name",i.name)("tabindex",i.tabindex)("aria-expanded",i.overlayVisible)("aria-labelledby",i.ariaLabelledBy),G(2),R("pTooltip",i.tooltip)("tooltipPosition",i.tooltipPosition)("positionStyle",i.tooltipPositionStyle)("tooltipStyleClass",i.tooltipStyleClass),G(1),R("ngClass",Hn(36,g7e,i.valuesAsString===(i.defaultLabel||i.placeholder),!(null!=i.valuesAsString&&0!==i.valuesAsString.length||null!=i.placeholder&&0!==i.placeholder.length))),G(1),R("ngIf",!i.selectedItemsTemplate),G(1),R("ngTemplateOutlet",i.selectedItemsTemplate)("ngTemplateOutletContext",yt(39,zT,i.value)),G(1),R("ngIf",null!=i.value&&i.filled&&!i.disabled&&i.showClear),G(1),R("ngClass",Bo(41,m7e)),G(1),R("ngIf",!i.dropdownIconTemplate),G(1),R("ngIf",i.dropdownIconTemplate),G(1),R("visible",i.overlayVisible)("options",i.overlayOptions)("target","@parent")("appendTo",i.appendTo)("autoZIndex",i.autoZIndex)("baseZIndex",i.baseZIndex)("showTransitionOptions",i.showTransitionOptions)("hideTransitionOptions",i.hideTransitionOptions))},dependencies:function(){return[to,_u,Mi,Yo,or,Fw,lr,u9,Pg,f9,np,Dw,Ew,Wo,rp,v7e]},styles:[".p-multiselect{display:inline-flex;cursor:pointer;position:relative;-webkit-user-select:none;user-select:none}.p-multiselect-trigger{display:flex;align-items:center;justify-content:center;flex-shrink:0}.p-multiselect-label-container{overflow:hidden;flex:1 1 auto;cursor:pointer}.p-multiselect-label{display:block;white-space:nowrap;cursor:pointer;overflow:hidden;text-overflow:ellipsis}.p-multiselect-label-empty{overflow:hidden;visibility:hidden}.p-multiselect-token{cursor:default;display:inline-flex;align-items:center;flex:0 0 auto}.p-multiselect-token-icon{cursor:pointer}.p-multiselect-items-wrapper{overflow:auto}.p-multiselect-items{margin:0;padding:0;list-style-type:none}.p-multiselect-item{cursor:pointer;display:flex;align-items:center;font-weight:400;white-space:nowrap;position:relative;overflow:hidden}.p-multiselect-header{display:flex;align-items:center;justify-content:space-between}.p-multiselect-filter-container{position:relative;flex:1 1 auto}.p-multiselect-filter-icon{position:absolute;top:50%;margin-top:-.5rem}.p-multiselect-filter-container .p-inputtext{width:100%}.p-multiselect-close{display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;position:relative}.p-fluid .p-multiselect{display:flex}.p-multiselect-clear-icon{position:absolute;top:50%;margin-top:-.5rem;cursor:pointer}.p-multiselect-clearable{position:relative}\n"],encapsulation:2,changeDetection:0}),e})(),T7e=(()=>{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=en({type:e}),e.\u0275inj=b({imports:[jn,jy,ti,xw,Mu,Sf,np,Dw,Ew,Wo,rp,np,jy,ti,Sf]}),e})(),QZ=(()=>{class e{constructor(t){this.host=t,this.focused=!1}ngAfterViewChecked(){if(!this.focused&&this.autofocus){const t=ve.getFocusableElements(this.host.nativeElement);0===t.length&&this.host.nativeElement.focus(),t.length>0&&t[0].focus(),this.focused=!0}}}return e.\u0275fac=function(t){return new(t||e)(ie(En))},e.\u0275dir=Ft({type:e,selectors:[["","pAutoFocus",""]],hostAttrs:[1,"p-element"],inputs:{autofocus:"autofocus"}}),e})(),g9=(()=>{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=en({type:e}),e.\u0275inj=b({imports:[jn]}),e})(),C7e=(()=>{class e{constructor(t,i,r){this.el=t,this.ngModel=i,this.cd=r}ngAfterViewInit(){this.updateFilledState(),this.cd.detectChanges()}ngDoCheck(){this.updateFilledState()}onInput(t){this.updateFilledState()}updateFilledState(){this.filled=this.el.nativeElement.value&&this.el.nativeElement.value.length||this.ngModel&&this.ngModel.model}}return e.\u0275fac=function(t){return new(t||e)(ie(En),ie(ff,8),ie(wi))},e.\u0275dir=Ft({type:e,selectors:[["","pInputText",""]],hostAttrs:[1,"p-inputtext","p-component","p-element"],hostVars:2,hostBindings:function(t,i){1&t&&ge("input",function(o){return i.onInput(o)}),2&t&&Ta("p-filled",i.filled)}}),e})(),Iw=(()=>{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=en({type:e}),e.\u0275inj=b({imports:[jn]}),e})();const b7e=["container"],A7e=["in"],S7e=["multiIn"],w7e=["multiContainer"],x7e=["ddBtn"],F7e=["items"],D7e=["scroller"],E7e=["overlay"],I7e=function(e,n){return{"p-autocomplete-dd-input":e,"p-disabled":n}};function R7e(e,n){if(1&e){const t=Be();V(0,"input",11,12),ge("click",function(r){return X(t),Q(E().onInputClick(r))})("input",function(r){return X(t),Q(E().onInput(r))})("keydown",function(r){return X(t),Q(E().onKeydown(r))})("keyup",function(r){return X(t),Q(E().onKeyup(r))})("focus",function(r){return X(t),Q(E().onInputFocus(r))})("blur",function(r){return X(t),Q(E().onInputBlur(r))})("change",function(r){return X(t),Q(E().onInputChange(r))})("paste",function(r){return X(t),Q(E().onInputPaste(r))}),j()}if(2&e){const t=E();Ot(t.inputStyleClass),R("autofocus",t.autofocus)("ngStyle",t.inputStyle)("autocomplete",t.autocomplete)("ngClass",Hn(20,I7e,t.dropdown,t.disabled))("value",t.inputFieldValue)("readonly",t.readonly)("disabled",t.disabled),tt("type",t.type)("id",t.inputId)("required",t.required)("name",t.name)("placeholder",t.placeholder)("size",t.size)("maxlength",t.maxlength)("tabindex",t.tabindex)("aria-label",t.ariaLabel)("aria-labelledby",t.ariaLabelledBy)("aria-required",t.required)}}function L7e(e,n){if(1&e){const t=Be();V(0,"TimesIcon",15),ge("click",function(){return X(t),Q(E(2).clear())}),j()}2&e&&R("styleClass","p-autocomplete-clear-icon")}function M7e(e,n){}function k7e(e,n){1&e&&N(0,M7e,0,0,"ng-template")}function P7e(e,n){if(1&e){const t=Be();V(0,"span",16),ge("click",function(){return X(t),Q(E(2).clear())}),N(1,k7e,1,0,null,8),j()}if(2&e){const t=E(2);G(1),R("ngTemplateOutlet",t.clearIconTemplate)}}function N7e(e,n){if(1&e&&(dt(0),N(1,L7e,1,1,"TimesIcon",13),N(2,P7e,2,1,"span",14),pt()),2&e){const t=E();G(1),R("ngIf",!t.clearIconTemplate),G(1),R("ngIf",t.clearIconTemplate)}}function O7e(e,n){1&e&&It(0)}function H7e(e,n){if(1&e&&(V(0,"span",30),Ie(1),j()),2&e){const t=E().$implicit,i=E(2);G(1),Ci(i.resolveFieldData(t))}}function G7e(e,n){1&e&&Te(0,"TimesCircleIcon",31),2&e&&R("styleClass","p-autocomplete-token-icon")}function B7e(e,n){}function Y7e(e,n){1&e&&N(0,B7e,0,0,"ng-template")}function V7e(e,n){if(1&e&&(V(0,"span",32),N(1,Y7e,1,0,null,8),j()),2&e){const t=E(3);G(1),R("ngTemplateOutlet",t.removeIconTemplate)}}const Rw=function(e){return{$implicit:e}};function z7e(e,n){if(1&e){const t=Be();V(0,"li",23,24),N(2,O7e,1,0,"ng-container",25),N(3,H7e,2,1,"span",26),V(4,"span",27),ge("click",function(){X(t);const r=gn(1);return Q(E(2).removeItem(r))}),N(5,G7e,1,1,"TimesCircleIcon",28),N(6,V7e,2,1,"span",29),j()()}if(2&e){const t=n.$implicit,i=E(2);G(2),R("ngTemplateOutlet",i.selectedItemTemplate)("ngTemplateOutletContext",yt(5,Rw,t)),G(1),R("ngIf",!i.selectedItemTemplate),G(2),R("ngIf",!i.removeIconTemplate),G(1),R("ngIf",i.removeIconTemplate)}}const $7e=function(e,n){return{"p-disabled":e,"p-focus":n}};function U7e(e,n){if(1&e){const t=Be();V(0,"ul",17,18),ge("click",function(){return X(t),Q(gn(5).focus())}),N(2,z7e,7,7,"li",19),V(3,"li",20)(4,"input",21,22),ge("input",function(r){return X(t),Q(E().onInput(r))})("click",function(r){return X(t),Q(E().onInputClick(r))})("keydown",function(r){return X(t),Q(E().onKeydown(r))})("keyup",function(r){return X(t),Q(E().onKeyup(r))})("focus",function(r){return X(t),Q(E().onInputFocus(r))})("blur",function(r){return X(t),Q(E().onInputBlur(r))})("change",function(r){return X(t),Q(E().onInputChange(r))})("paste",function(r){return X(t),Q(E().onInputPaste(r))}),j()()()}if(2&e){const t=E();R("ngClass",Hn(20,$7e,t.disabled,t.focus)),G(2),R("ngForOf",t.value),G(2),Ot(t.inputStyleClass),R("autofocus",t.autofocus)("disabled",t.disabled)("readonly",t.readonly)("autocomplete",t.autocomplete)("ngStyle",t.inputStyle),tt("type",t.type)("id",t.inputId)("placeholder",t.value&&t.value.length?null:t.placeholder)("tabindex",t.tabindex)("maxlength",t.maxlength)("aria-label",t.ariaLabel)("aria-labelledby",t.ariaLabelledBy)("aria-required",t.required)("aria-controls",t.listId)("aria-expanded",t.overlayVisible)("aria-activedescendant","p-highlighted-option")}}function j7e(e,n){1&e&&Te(0,"SpinnerIcon",35),2&e&&R("styleClass","p-autocomplete-loader")("spin",!0)}function W7e(e,n){}function q7e(e,n){1&e&&N(0,W7e,0,0,"ng-template")}function K7e(e,n){if(1&e&&(V(0,"span",36),N(1,q7e,1,0,null,8),j()),2&e){const t=E(2);G(1),R("ngTemplateOutlet",t.loadingIconTemplate)}}function Z7e(e,n){if(1&e&&(dt(0),N(1,j7e,1,2,"SpinnerIcon",33),N(2,K7e,2,1,"span",34),pt()),2&e){const t=E();G(1),R("ngIf",!t.loadingIconTemplate),G(1),R("ngIf",t.loadingIconTemplate)}}function X7e(e,n){1&e&&Te(0,"span",40),2&e&&R("ngClass",E(2).dropdownIcon)}function Q7e(e,n){1&e&&Te(0,"ChevronDownIcon")}function J7e(e,n){}function eLe(e,n){1&e&&N(0,J7e,0,0,"ng-template")}function tLe(e,n){if(1&e&&(dt(0),N(1,Q7e,1,0,"ChevronDownIcon",3),N(2,eLe,1,0,null,8),pt()),2&e){const t=E(2);G(1),R("ngIf",!t.dropdownIconTemplate),G(1),R("ngTemplateOutlet",t.dropdownIconTemplate)}}function nLe(e,n){if(1&e){const t=Be();V(0,"button",37,38),ge("click",function(r){return X(t),Q(E().handleDropdownClick(r))}),N(2,X7e,1,1,"span",39),N(3,tLe,3,2,"ng-container",3),j()}if(2&e){const t=E();R("disabled",t.disabled),tt("aria-label",t.dropdownAriaLabel)("tabindex",t.tabindex),G(2),R("ngIf",t.dropdownIcon),G(1),R("ngIf",!t.dropdownIcon)}}function iLe(e,n){1&e&&It(0)}function rLe(e,n){1&e&&It(0)}const JZ=function(e,n){return{$implicit:e,options:n}};function oLe(e,n){if(1&e&&N(0,rLe,1,0,"ng-container",25),2&e){const t=n.$implicit,i=n.options;E(2),R("ngTemplateOutlet",gn(14))("ngTemplateOutletContext",Hn(2,JZ,t,i))}}function aLe(e,n){1&e&&It(0)}const sLe=function(e){return{options:e}};function lLe(e,n){if(1&e&&N(0,aLe,1,0,"ng-container",25),2&e){const t=n.options;R("ngTemplateOutlet",E(3).loaderTemplate)("ngTemplateOutletContext",yt(2,sLe,t))}}function cLe(e,n){1&e&&(dt(0),N(1,lLe,1,4,"ng-template",44),pt())}const Lw=function(e){return{height:e}};function uLe(e,n){if(1&e){const t=Be();V(0,"p-scroller",41,42),ge("onLazyLoad",function(r){return X(t),Q(E().onLazyLoad.emit(r))}),N(2,oLe,1,5,"ng-template",43),N(3,cLe,2,0,"ng-container",3),j()}if(2&e){const t=E();Hi(yt(8,Lw,t.scrollHeight)),R("items",t.suggestions)("itemSize",t.virtualScrollItemSize||t._itemSize)("autoSize",!0)("lazy",t.lazy)("options",t.virtualScrollOptions),G(3),R("ngIf",t.loaderTemplate)}}function dLe(e,n){1&e&&It(0)}const pLe=function(){return{}};function fLe(e,n){if(1&e&&(dt(0),N(1,dLe,1,0,"ng-container",25),pt()),2&e){const t=E(),i=gn(14);G(1),R("ngTemplateOutlet",i)("ngTemplateOutletContext",Hn(3,JZ,t.suggestions,Bo(2,pLe)))}}function hLe(e,n){if(1&e&&(V(0,"span"),Ie(1),j()),2&e){const t=E().$implicit,i=E(3);G(1),Ci(i.getOptionGroupLabel(t)||"empty")}}function gLe(e,n){1&e&&It(0)}function mLe(e,n){1&e&&It(0)}function yLe(e,n){if(1&e&&(V(0,"li",50),N(1,hLe,2,1,"span",3),N(2,gLe,1,0,"ng-container",25),j(),N(3,mLe,1,0,"ng-container",25)),2&e){const t=n.$implicit,i=E(2).options,r=gn(5),o=E();R("ngStyle",yt(6,Lw,i.itemSize+"px")),G(1),R("ngIf",!o.groupTemplate),G(1),R("ngTemplateOutlet",o.groupTemplate)("ngTemplateOutletContext",yt(8,Rw,t)),G(1),R("ngTemplateOutlet",r)("ngTemplateOutletContext",yt(10,Rw,o.getOptionGroupChildren(t)))}}function _Le(e,n){if(1&e&&(dt(0),N(1,yLe,4,12,"ng-template",49),pt()),2&e){const t=E().$implicit;G(1),R("ngForOf",t)}}function vLe(e,n){1&e&&It(0)}function TLe(e,n){if(1&e&&(dt(0),N(1,vLe,1,0,"ng-container",25),pt()),2&e){const t=E().$implicit,i=gn(5);G(1),R("ngTemplateOutlet",i)("ngTemplateOutletContext",yt(2,Rw,t))}}function CLe(e,n){if(1&e&&(V(0,"span"),Ie(1),j()),2&e){const t=E().$implicit,i=E(3);G(1),Ci(i.resolveFieldData(t))}}function bLe(e,n){1&e&&It(0)}const ALe=function(e){return{"p-highlight":e}},SLe=function(e,n){return{$implicit:e,index:n}};function wLe(e,n){if(1&e){const t=Be();V(0,"li",52),ge("click",function(){const o=X(t).$implicit;return Q(E(3).selectItem(o))}),N(1,CLe,2,1,"span",3),N(2,bLe,1,0,"ng-container",25),j()}if(2&e){const t=n.$implicit,i=n.index,r=E(2).options,o=E();R("ngStyle",yt(6,Lw,r.itemSize+"px"))("ngClass",yt(8,ALe,t===o.highlightOption))("id",o.highlightOption==t?"p-highlighted-option":""),G(1),R("ngIf",!o.itemTemplate),G(1),R("ngTemplateOutlet",o.itemTemplate)("ngTemplateOutletContext",Hn(10,SLe,t,r.getOptions?r.getOptions(i):i))}}function xLe(e,n){1&e&&N(0,wLe,3,13,"li",51),2&e&&R("ngForOf",n.$implicit)}function FLe(e,n){if(1&e&&(dt(0),Ie(1),pt()),2&e){const t=E(3);G(1),gr(" ",t.emptyMessageLabel," ")}}function DLe(e,n){1&e&&It(0,null,55)}function ELe(e,n){if(1&e&&(V(0,"li",53),N(1,FLe,2,1,"ng-container",54),N(2,DLe,2,0,"ng-container",8),j()),2&e){const t=E().options,i=E();R("ngStyle",yt(4,Lw,t.itemSize+"px")),G(1),R("ngIf",!i.emptyTemplate)("ngIfElse",i.empty),G(1),R("ngTemplateOutlet",i.emptyTemplate)}}function ILe(e,n){if(1&e&&(V(0,"ul",45,46),N(2,_Le,2,1,"ng-container",3),N(3,TLe,2,4,"ng-container",3),N(4,xLe,1,1,"ng-template",null,47,ns),N(6,ELe,3,6,"li",48),j()),2&e){const t=n.options,i=E();Hi(t.contentStyle),R("ngClass",t.contentStyleClass),tt("id",i.listId),G(2),R("ngIf",i.group),G(1),R("ngIf",!i.group),G(3),R("ngIf",i.noResults&&i.showEmptyMessage)}}function RLe(e,n){1&e&&It(0)}const LLe=function(e,n){return{"p-autocomplete p-component":!0,"p-autocomplete-dd":e,"p-autocomplete-multiple":n}},MLe=function(){return["p-autocomplete-panel p-component"]},kLe={provide:sr,useExisting:pn(()=>m9),multi:!0};let m9=(()=>{class e{constructor(t,i,r,o,a,s,l,c){this.document=t,this.el=i,this.renderer=r,this.cd=o,this.differs=a,this.config=s,this.overlayService=l,this.zone=c,this.minLength=1,this.delay=300,this.scrollHeight="200px",this.lazy=!1,this.type="text",this.autoZIndex=!0,this.baseZIndex=0,this.unique=!0,this.completeOnFocus=!1,this.showClear=!1,this.dropdownMode="blank",this.showTransitionOptions=".12s cubic-bezier(0, 0, 0.2, 1)",this.hideTransitionOptions=".1s linear",this.autocomplete="off",this.completeMethod=new Pe,this.onSelect=new Pe,this.onUnselect=new Pe,this.onFocus=new Pe,this.onBlur=new Pe,this.onDropdownClick=new Pe,this.onClear=new Pe,this.onKeyUp=new Pe,this.onShow=new Pe,this.onHide=new Pe,this.onLazyLoad=new Pe,this.onModelChange=()=>{},this.onModelTouched=()=>{},this.overlayVisible=!1,this.focus=!1,this.inputFieldValue=null,this.inputValue=null,this.differ=a.find([]).create(null),this.listId=E6()+"_list"}get itemSize(){return this._itemSize}set itemSize(t){this._itemSize=t,console.warn("The itemSize property is deprecated, use virtualScrollItemSize property instead.")}get suggestions(){return this._suggestions}set suggestions(t){this._suggestions=t,this.handleSuggestionsChange()}ngAfterViewChecked(){this.suggestionsUpdated&&this.overlayViewChild&&this.zone.runOutsideAngular(()=>{setTimeout(()=>{this.overlayViewChild&&this.overlayViewChild.alignOverlay()},1),this.suggestionsUpdated=!1}),this.highlightOptionChanged&&this.zone.runOutsideAngular(()=>{setTimeout(()=>{if(this.overlayViewChild&&this.itemsWrapper){let t=ve.findSingle(this.overlayViewChild.overlayViewChild.nativeElement,"li.p-highlight");t&&ve.scrollInView(this.itemsWrapper,t)}},1),this.highlightOptionChanged=!1})}handleSuggestionsChange(){null!=this._suggestions&&this.loading&&(this.highlightOption=null,this._suggestions.length?(this.noResults=!1,this.show(),this.suggestionsUpdated=!0,this.autoHighlight&&(this.highlightOption=this._suggestions[0])):(this.noResults=!0,this.showEmptyMessage?(this.show(),this.suggestionsUpdated=!0):this.hide()),this.loading=!1)}ngAfterContentInit(){this.templates.forEach(t=>{switch(t.getType()){case"item":default:this.itemTemplate=t.template;break;case"group":this.groupTemplate=t.template;break;case"selectedItem":this.selectedItemTemplate=t.template;break;case"header":this.headerTemplate=t.template;break;case"empty":this.emptyTemplate=t.template;break;case"footer":this.footerTemplate=t.template;break;case"loader":this.loaderTemplate=t.template;break;case"removetokenicon":this.removeIconTemplate=t.template;break;case"loadingicon":this.loadingIconTemplate=t.template;break;case"clearicon":this.clearIconTemplate=t.template;break;case"dropdownicon":this.dropdownIconTemplate=t.template}})}writeValue(t){this.value=t,this.filled=this.value&&""!=this.value,this.updateInputField(),this.cd.markForCheck()}getOptionGroupChildren(t){return this.optionGroupChildren?Ht.resolveFieldData(t,this.optionGroupChildren):t.items}getOptionGroupLabel(t){return this.optionGroupLabel?Ht.resolveFieldData(t,this.optionGroupLabel):null!=t.label?t.label:t}registerOnChange(t){this.onModelChange=t}registerOnTouched(t){this.onModelTouched=t}setDisabledState(t){this.disabled=t,this.cd.markForCheck()}onInput(t){if(!this.inputKeyDown&&ve.isIE())return;this.timeout&&clearTimeout(this.timeout);let i=t.target.value;this.inputValue=i,!this.multiple&&!this.forceSelection&&this.onModelChange(i),0===i.length&&!this.multiple&&(this.value=null,this.hide(),this.onClear.emit(t),this.onModelChange(i)),i.length>=this.minLength?this.timeout=setTimeout(()=>{this.search(t,i)},this.delay):this.hide(),this.updateFilledState(),this.inputKeyDown=!1}onInputClick(t){this.inputClick=!0}search(t,i){null!=i&&(this.loading=!0,this.completeMethod.emit({originalEvent:t,query:i}))}selectItem(t,i=!0){this.forceSelectionUpdateModelTimeout&&(clearTimeout(this.forceSelectionUpdateModelTimeout),this.forceSelectionUpdateModelTimeout=null),this.multiple?(this.multiInputEL.nativeElement.value="",this.value=this.value||[],(!this.isSelected(t)||!this.unique)&&(this.value=[...this.value,t],this.onModelChange(this.value))):(this.inputEL.nativeElement.value=this.resolveFieldData(t),this.value=t,this.onModelChange(this.value)),this.onSelect.emit(t),this.updateFilledState(),i&&(this.itemClicked=!0,this.focusInput()),this.hide()}show(t){(this.multiInputEL||this.inputEL)&&!this.overlayVisible&&(this.multiple?this.multiInputEL.nativeElement.ownerDocument.activeElement==this.multiInputEL.nativeElement:this.inputEL.nativeElement.ownerDocument.activeElement==this.inputEL.nativeElement)&&(this.overlayVisible=!0),this.onShow.emit(t),this.cd.markForCheck()}clear(){this.multiple?this.value=null:(this.inputValue=null,this.inputEL.nativeElement.value=""),this.updateFilledState(),this.onModelChange(this.value),this.onClear.emit()}onOverlayAnimationStart(t){"visible"===t.toState&&(this.itemsWrapper=ve.findSingle(this.overlayViewChild.overlayViewChild.nativeElement,this.virtualScroll?".p-scroller":".p-autocomplete-panel"),this.virtualScroll&&this.scroller?.setContentEl(this.itemsViewChild.nativeElement))}resolveFieldData(t){let i=this.field?Ht.resolveFieldData(t,this.field):t;return void 0!==i?i:""}hide(t){this.overlayVisible=!1,this.onHide.emit(t),this.cd.markForCheck()}handleDropdownClick(t){if(this.overlayVisible)this.hide();else{this.focusInput();let i=this.multiple?this.multiInputEL.nativeElement.value:this.inputEL.nativeElement.value;"blank"===this.dropdownMode?this.search(t,""):"current"===this.dropdownMode&&this.search(t,i),this.onDropdownClick.emit({originalEvent:t,query:i})}}focusInput(){this.multiple?this.multiInputEL.nativeElement.focus():this.inputEL.nativeElement.focus()}get emptyMessageLabel(){return this.emptyMessage||this.config.getTranslation(wa.EMPTY_MESSAGE)}removeItem(t){let i=ve.index(t),r=this.value[i];this.value=this.value.filter((o,a)=>a!=i),this.onModelChange(this.value),this.updateFilledState(),this.onUnselect.emit(r)}onKeydown(t){if(this.overlayVisible)switch(t.which){case 40:if(this.group){let r=this.findOptionGroupIndex(this.highlightOption,this.suggestions);if(-1!==r){let o=r.itemIndex+1;o=0)this.highlightOption=this.getOptionGroupChildren(this.suggestions[r.groupIndex])[o],this.highlightOptionChanged=!0;else if(o<0){let a=this.suggestions[r.groupIndex-1];a&&(this.highlightOption=this.getOptionGroupChildren(a)[this.getOptionGroupChildren(a).length-1],this.highlightOptionChanged=!0)}}}else{let r=this.findOptionIndex(this.highlightOption,this.suggestions);r>0&&(this.highlightOption=this.suggestions[r-1],this.highlightOptionChanged=!0)}t.preventDefault();break;case 13:this.highlightOption&&(this.selectItem(this.highlightOption),this.hide()),t.preventDefault();break;case 27:this.hide(),t.preventDefault();break;case 9:this.highlightOption&&this.selectItem(this.highlightOption),this.hide()}else 40===t.which&&this.suggestions?this.search(t,t.target.value):t.ctrlKey&&"z"===t.key&&!this.multiple?(this.inputEL.nativeElement.value=this.resolveFieldData(null),this.value="",this.onModelChange(this.value)):t.ctrlKey&&"z"===t.key&&this.multiple&&(this.value.pop(),this.onModelChange(this.value),this.updateFilledState());if(this.multiple&&8===t.which&&this.value&&this.value.length&&!this.multiInputEL.nativeElement.value){this.value=[...this.value];const r=this.value.pop();this.onModelChange(this.value),this.updateFilledState(),this.onUnselect.emit(r)}this.inputKeyDown=!0}onKeyup(t){this.onKeyUp.emit(t)}onInputFocus(t){!this.itemClicked&&this.completeOnFocus&&this.search(t,this.multiple?this.multiInputEL.nativeElement.value:this.inputEL.nativeElement.value),this.focus=!0,this.onFocus.emit(t),this.itemClicked=!1}onInputBlur(t){this.focus=!1,this.onModelTouched(),this.onBlur.emit(t)}onInputChange(t){if(this.forceSelection){let i=!1,r=t.target.value.trim();if(this.suggestions)for(let o of this.suggestions){let a=this.field?Ht.resolveFieldData(o,this.field):o;if(a&&r===a.trim()){i=!0,this.forceSelectionUpdateModelTimeout=setTimeout(()=>{this.selectItem(o,!1)},250);break}}i||(this.multiple?this.multiInputEL.nativeElement.value="":(this.value=null,this.inputEL.nativeElement.value=""),this.onClear.emit(t),this.onModelChange(this.value),this.updateFilledState())}}onInputPaste(t){this.onKeydown(t)}isSelected(t){let i=!1;if(this.value&&this.value.length)for(let r=0;r{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=en({type:e}),e.\u0275inj=b({imports:[jn,jy,Iw,Og,ti,Mu,Sf,g9,Ew,Uy,Wo,rp,jy,ti,Sf,g9]}),e})();function NLe(e,n){1&e&&It(0)}function OLe(e,n){1&e&&Te(0,"TimesIcon",8),2&e&&R("styleClass","p-overlaypanel-close-icon")}function HLe(e,n){}function GLe(e,n){1&e&&N(0,HLe,0,0,"ng-template")}function BLe(e,n){if(1&e&&(V(0,"span",9),N(1,GLe,1,0,null,3),j()),2&e){const t=E(3);G(1),R("ngTemplateOutlet",t.closeIconTemplate)}}function YLe(e,n){if(1&e){const t=Be();V(0,"button",5),ge("click",function(r){return X(t),Q(E(2).onCloseClick(r))})("keydown.enter",function(){return X(t),Q(E(2).hide())}),N(1,OLe,1,1,"TimesIcon",6),N(2,BLe,2,1,"span",7),j()}if(2&e){const t=E(2);tt("aria-label",t.ariaCloseLabel),G(1),R("ngIf",!t.closeIconTemplate),G(1),R("ngIf",t.closeIconTemplate)}}const VLe=function(e,n){return{showTransitionParams:e,hideTransitionParams:n}},zLe=function(e,n){return{value:e,params:n}};function $Le(e,n){if(1&e){const t=Be();V(0,"div",1),ge("click",function(r){return X(t),Q(E().onOverlayClick(r))})("@animation.start",function(r){return X(t),Q(E().onAnimationStart(r))})("@animation.done",function(r){return X(t),Q(E().onAnimationEnd(r))}),V(1,"div",2),ge("click",function(){return X(t),Q(E().onContentClick())})("mousedown",function(){return X(t),Q(E().onContentClick())}),ts(2),N(3,NLe,1,0,"ng-container",3),j(),N(4,YLe,3,3,"button",4),j()}if(2&e){const t=E();Ot(t.styleClass),R("ngClass","p-overlaypanel p-component")("ngStyle",t.style)("@animation",Hn(10,zLe,t.overlayVisible?"open":"close",Hn(7,VLe,t.showTransitionOptions,t.hideTransitionOptions))),G(3),R("ngTemplateOutlet",t.contentTemplate),G(1),R("ngIf",t.showCloseIcon)}}const ULe=["*"];let eX=(()=>{class e{constructor(t,i,r,o,a,s,l,c){this.document=t,this.platformId=i,this.el=r,this.renderer=o,this.cd=a,this.zone=s,this.config=l,this.overlayService=c,this.dismissable=!0,this.appendTo="body",this.autoZIndex=!0,this.baseZIndex=0,this.focusOnShow=!0,this.showTransitionOptions=".12s cubic-bezier(0, 0, 0.2, 1)",this.hideTransitionOptions=".1s linear",this.onShow=new Pe,this.onHide=new Pe,this.overlayVisible=!1,this.render=!1,this.isOverlayAnimationInProgress=!1,this.selfClick=!1}ngAfterContentInit(){this.templates.forEach(t=>{switch(t.getType()){case"content":default:this.contentTemplate=t.template;break;case"closeicon":this.closeIconTemplate=t.template}this.cd.markForCheck()})}bindDocumentClickListener(){Gd(this.platformId)&&!this.documentClickListener&&this.dismissable&&this.zone.runOutsideAngular(()=>{let t=ve.isIOS()?"touchstart":"click";this.documentClickListener=this.renderer.listen(this.el?this.el.nativeElement.ownerDocument:this.document,t,r=>{!this.container.contains(r.target)&&this.target!==r.target&&!this.target.contains(r.target)&&!this.selfClick&&this.zone.run(()=>{this.hide()}),this.selfClick=!1,this.cd.markForCheck()})})}unbindDocumentClickListener(){this.documentClickListener&&(this.documentClickListener(),this.documentClickListener=null,this.selfClick=!1)}toggle(t,i){this.isOverlayAnimationInProgress||(this.overlayVisible?(this.hasTargetChanged(t,i)&&(this.destroyCallback=()=>{this.show(null,i||t.currentTarget||t.target)}),this.hide()):this.show(t,i))}show(t,i){i&&t.stopPropagation(),!this.isOverlayAnimationInProgress&&(this.target=i||t.currentTarget||t.target,this.overlayVisible=!0,this.render=!0,this.cd.markForCheck())}onOverlayClick(t){this.overlayService.add({originalEvent:t,target:this.el.nativeElement}),this.selfClick=!0}onContentClick(){this.selfClick=!0}hasTargetChanged(t,i){return null!=this.target&&this.target!==(i||t.currentTarget||t.target)}appendContainer(){this.appendTo&&("body"===this.appendTo?this.renderer.appendChild(this.document.body,this.container):ve.appendChild(this.container,this.appendTo))}restoreAppend(){this.container&&this.appendTo&&this.renderer.appendChild(this.el.nativeElement,this.container)}align(){this.autoZIndex&&Os.set("overlay",this.container,this.baseZIndex+this.config.zIndex.overlay),ve.absolutePosition(this.container,this.target);const t=ve.getOffset(this.container),i=ve.getOffset(this.target),r=this.document.defaultView.getComputedStyle(this.container).getPropertyValue("border-radius");let o=0;t.left{this.container&&this.container.contains(i.target)&&(this.selfClick=!0)},this.overlaySubscription=this.overlayService.clickObservable.subscribe(this.overlayEventListener),this.onShow.emit(null)),this.isOverlayAnimationInProgress=!0}onAnimationEnd(t){switch(t.toState){case"void":this.destroyCallback&&(this.destroyCallback(),this.destroyCallback=null),this.overlaySubscription&&this.overlaySubscription.unsubscribe();break;case"close":this.autoZIndex&&Os.clear(this.container),this.overlaySubscription&&this.overlaySubscription.unsubscribe(),this.onContainerDestroy(),this.onHide.emit({}),this.render=!1}this.isOverlayAnimationInProgress=!1}focus(){let t=ve.findSingle(this.container,"[autofocus]");t&&this.zone.runOutsideAngular(()=>{setTimeout(()=>t.focus(),5)})}hide(){this.overlayVisible=!1,this.cd.markForCheck()}onCloseClick(t){this.hide(),t.preventDefault()}onWindowResize(t){this.overlayVisible&&!ve.isTouchDevice()&&this.hide()}bindDocumentResizeListener(){Gd(this.platformId)&&!this.documentResizeListener&&(this.documentResizeListener=this.renderer.listen(this.document.defaultView,"resize",this.onWindowResize.bind(this)))}unbindDocumentResizeListener(){this.documentResizeListener&&(this.documentResizeListener(),this.documentResizeListener=null)}bindScrollListener(){Gd(this.platformId)&&(this.scrollHandler||(this.scrollHandler=new ww(this.target,()=>{this.overlayVisible&&this.hide()})),this.scrollHandler.bindScrollListener())}unbindScrollListener(){this.scrollHandler&&this.scrollHandler.unbindScrollListener()}onContainerDestroy(){this.cd.destroyed||(this.target=null),this.unbindDocumentClickListener(),this.unbindDocumentResizeListener(),this.unbindScrollListener()}ngOnDestroy(){this.scrollHandler&&(this.scrollHandler.destroy(),this.scrollHandler=null),this.container&&this.autoZIndex&&Os.clear(this.container),this.cd.destroyed||(this.target=null),this.destroyCallback=null,this.container&&(this.restoreAppend(),this.onContainerDestroy()),this.overlaySubscription&&this.overlaySubscription.unsubscribe()}}return e.\u0275fac=function(t){return new(t||e)(ie(xi),ie(Md),ie(En),ie(Si),ie(wi),ie(wn),ie(Au),ie(wy))},e.\u0275cmp=mt({type:e,selectors:[["p-overlayPanel"]],contentQueries:function(t,i,r){if(1&t&&Br(r,lr,4),2&t){let o;at(o=st())&&(i.templates=o)}},hostAttrs:[1,"p-element"],inputs:{dismissable:"dismissable",showCloseIcon:"showCloseIcon",style:"style",styleClass:"styleClass",appendTo:"appendTo",autoZIndex:"autoZIndex",ariaCloseLabel:"ariaCloseLabel",baseZIndex:"baseZIndex",focusOnShow:"focusOnShow",showTransitionOptions:"showTransitionOptions",hideTransitionOptions:"hideTransitionOptions"},outputs:{onShow:"onShow",onHide:"onHide"},ngContentSelectors:ULe,decls:1,vars:1,consts:[[3,"ngClass","ngStyle","class","click",4,"ngIf"],[3,"ngClass","ngStyle","click"],[1,"p-overlaypanel-content",3,"click","mousedown"],[4,"ngTemplateOutlet"],["type","button","class","p-overlaypanel-close p-link","pRipple","",3,"click","keydown.enter",4,"ngIf"],["type","button","pRipple","",1,"p-overlaypanel-close","p-link",3,"click","keydown.enter"],[3,"styleClass",4,"ngIf"],["class","p-overlaypanel-close-icon",4,"ngIf"],[3,"styleClass"],[1,"p-overlaypanel-close-icon"]],template:function(t,i){1&t&&(gu(),N(0,$Le,5,13,"div",0)),2&t&&R("ngIf",i.render)},dependencies:function(){return[to,Mi,Yo,or,Pg,Wo]},styles:['.p-overlaypanel{position:absolute;margin-top:10px;top:0;left:0}.p-overlaypanel-flipped{margin-top:0;margin-bottom:10px}.p-overlaypanel-close{display:flex;justify-content:center;align-items:center;overflow:hidden;position:relative}.p-overlaypanel:after,.p-overlaypanel:before{bottom:100%;left:calc(var(--overlayArrowLeft, 0) + 1.25rem);content:" ";height:0;width:0;position:absolute;pointer-events:none}.p-overlaypanel:after{border-width:8px;margin-left:-8px}.p-overlaypanel:before{border-width:10px;margin-left:-10px}.p-overlaypanel-shifted:after,.p-overlaypanel-shifted:before{left:auto;right:1.25em;margin-left:auto}.p-overlaypanel-flipped:after,.p-overlaypanel-flipped:before{bottom:auto;top:100%}.p-overlaypanel.p-overlaypanel-flipped:after{border-bottom-color:transparent}.p-overlaypanel.p-overlaypanel-flipped:before{border-bottom-color:transparent}\n'],encapsulation:2,data:{animation:[aw("animation",[sw("void",So({transform:"scaleY(0.8)",opacity:0})),sw("close",So({opacity:0})),sw("open",So({transform:"translateY(0)",opacity:1})),Ru("void => open",Al("{{showTransitionParams}}")),Ru("open => close",Al("{{hideTransitionParams}}"))])]},changeDetection:0}),e})(),tX=(()=>{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=en({type:e}),e.\u0275inj=b({imports:[jn,Mu,ti,Wo,ti]}),e})();function jLe(e,n){if(1&e&&(V(0,"span"),Ie(1),j()),2&e){const t=E();let i;G(1),Ci(null!==(i=t.label)&&void 0!==i?i:"empty")}}function WLe(e,n){1&e&&It(0)}const $T=function(e){return{height:e}},qLe=function(e,n){return{"p-dropdown-item":!0,"p-highlight":e,"p-disabled":n}},y9=function(e){return{$implicit:e}},KLe=["container"],ZLe=["filter"],XLe=["in"],QLe=["editableInput"],JLe=["items"],eMe=["scroller"],tMe=["overlay"];function nMe(e,n){if(1&e&&(dt(0),Ie(1),pt()),2&e){const t=E(2);G(1),Ci(t.label||"empty")}}function iMe(e,n){1&e&&It(0)}const rMe=function(e){return{"p-dropdown-label p-inputtext":!0,"p-dropdown-label-empty":e}};function oMe(e,n){if(1&e&&(V(0,"span",14),N(1,nMe,2,1,"ng-container",8),N(2,iMe,1,0,"ng-container",15),j()),2&e){const t=E();R("ngClass",yt(9,rMe,null==t.label||0===t.label.length))("pTooltip",t.tooltip)("tooltipPosition",t.tooltipPosition)("positionStyle",t.tooltipPositionStyle)("tooltipStyleClass",t.tooltipStyleClass),tt("id",t.labelId),G(1),R("ngIf",!t.selectedItemTemplate),G(1),R("ngTemplateOutlet",t.selectedItemTemplate)("ngTemplateOutletContext",yt(11,y9,t.selectedOption))}}const aMe=function(e){return{"p-dropdown-label p-inputtext p-placeholder":!0,"p-dropdown-label-empty":e}};function sMe(e,n){if(1&e&&(V(0,"span",16),Ie(1),j()),2&e){const t=E();R("ngClass",yt(2,aMe,null==t.placeholder||0===t.placeholder.length)),G(1),Ci(t.placeholder||"empty")}}function lMe(e,n){if(1&e){const t=Be();V(0,"input",17,18),ge("input",function(r){return X(t),Q(E().onEditableInputChange(r))})("focus",function(r){return X(t),Q(E().onEditableInputFocus(r))})("blur",function(r){return X(t),Q(E().onInputBlur(r))}),j()}if(2&e){const t=E();R("disabled",t.disabled),tt("maxlength",t.maxlength)("placeholder",t.placeholder)("aria-expanded",t.overlayVisible)}}function cMe(e,n){if(1&e){const t=Be();V(0,"TimesIcon",21),ge("click",function(r){return X(t),Q(E(2).clear(r))}),j()}2&e&&R("styleClass","p-dropdown-clear-icon")}function uMe(e,n){}function dMe(e,n){1&e&&N(0,uMe,0,0,"ng-template")}function pMe(e,n){if(1&e){const t=Be();V(0,"span",22),ge("click",function(r){return X(t),Q(E(2).clear(r))}),N(1,dMe,1,0,null,23),j()}if(2&e){const t=E(2);G(1),R("ngTemplateOutlet",t.clearIconTemplate)}}function fMe(e,n){if(1&e&&(dt(0),N(1,cMe,1,1,"TimesIcon",19),N(2,pMe,2,1,"span",20),pt()),2&e){const t=E();G(1),R("ngIf",!t.clearIconTemplate),G(1),R("ngIf",t.clearIconTemplate)}}function hMe(e,n){1&e&&Te(0,"span",26),2&e&&R("ngClass",E(2).dropdownIcon)}function gMe(e,n){1&e&&Te(0,"ChevronDownIcon",27),2&e&&R("styleClass","p-dropdown-trigger-icon")}function mMe(e,n){if(1&e&&(dt(0),N(1,hMe,1,1,"span",24),N(2,gMe,1,1,"ChevronDownIcon",25),pt()),2&e){const t=E();G(1),R("ngIf",t.dropdownIcon),G(1),R("ngIf",!t.dropdownIcon)}}function yMe(e,n){}function _Me(e,n){1&e&&N(0,yMe,0,0,"ng-template")}function vMe(e,n){if(1&e&&(V(0,"span",28),N(1,_Me,1,0,null,23),j()),2&e){const t=E();G(1),R("ngTemplateOutlet",t.dropdownIconTemplate)}}function TMe(e,n){1&e&&It(0)}function CMe(e,n){1&e&&It(0)}const nX=function(e){return{options:e}};function bMe(e,n){if(1&e&&(dt(0),N(1,CMe,1,0,"ng-container",15),pt()),2&e){const t=E(3);G(1),R("ngTemplateOutlet",t.filterTemplate)("ngTemplateOutletContext",yt(2,nX,t.filterOptions))}}function AMe(e,n){1&e&&Te(0,"SearchIcon",27),2&e&&R("styleClass","p-dropdown-filter-icon")}function SMe(e,n){}function wMe(e,n){1&e&&N(0,SMe,0,0,"ng-template")}function xMe(e,n){if(1&e&&(V(0,"span",41),N(1,wMe,1,0,null,23),j()),2&e){const t=E(4);G(1),R("ngTemplateOutlet",t.filterIconTemplate)}}function FMe(e,n){if(1&e){const t=Be();V(0,"div",37)(1,"input",38,39),ge("keydown.enter",function(r){return r.preventDefault()})("keydown",function(r){return X(t),Q(E(3).onKeydown(r,!1))})("input",function(r){return X(t),Q(E(3).onFilterInputChange(r))}),j(),N(3,AMe,1,1,"SearchIcon",25),N(4,xMe,2,1,"span",40),j()}if(2&e){const t=E(3);G(1),R("value",t.filterValue||""),tt("placeholder",t.filterPlaceholder)("aria-label",t.ariaFilterLabel)("aria-activedescendant",t.overlayVisible?"p-highlighted-option":t.labelId),G(2),R("ngIf",!t.filterIconTemplate),G(1),R("ngIf",t.filterIconTemplate)}}function DMe(e,n){if(1&e&&(V(0,"div",34),ge("click",function(i){return i.stopPropagation()}),N(1,bMe,2,4,"ng-container",35),N(2,FMe,5,6,"ng-template",null,36,ns),j()),2&e){const t=gn(3),i=E(2);G(1),R("ngIf",i.filterTemplate)("ngIfElse",t)}}function EMe(e,n){1&e&&It(0)}const iX=function(e,n){return{$implicit:e,options:n}};function IMe(e,n){if(1&e&&N(0,EMe,1,0,"ng-container",15),2&e){const t=n.$implicit,i=n.options;E(2),R("ngTemplateOutlet",gn(7))("ngTemplateOutletContext",Hn(2,iX,t,i))}}function RMe(e,n){1&e&&It(0)}function LMe(e,n){if(1&e&&N(0,RMe,1,0,"ng-container",15),2&e){const t=n.options;R("ngTemplateOutlet",E(4).loaderTemplate)("ngTemplateOutletContext",yt(2,nX,t))}}function MMe(e,n){1&e&&(dt(0),N(1,LMe,1,4,"ng-template",44),pt())}function kMe(e,n){if(1&e){const t=Be();V(0,"p-scroller",42,43),ge("onLazyLoad",function(r){return X(t),Q(E(2).onLazyLoad.emit(r))}),N(2,IMe,1,5,"ng-template",13),N(3,MMe,2,0,"ng-container",8),j()}if(2&e){const t=E(2);Hi(yt(8,$T,t.scrollHeight)),R("items",t.optionsToDisplay)("itemSize",t.virtualScrollItemSize||t._itemSize)("autoSize",!0)("lazy",t.lazy)("options",t.virtualScrollOptions),G(3),R("ngIf",t.loaderTemplate)}}function PMe(e,n){1&e&&It(0)}const NMe=function(){return{}};function OMe(e,n){if(1&e&&(dt(0),N(1,PMe,1,0,"ng-container",15),pt()),2&e){E();const t=gn(7),i=E();G(1),R("ngTemplateOutlet",t)("ngTemplateOutletContext",Hn(3,iX,i.optionsToDisplay,Bo(2,NMe)))}}function HMe(e,n){if(1&e&&(V(0,"span"),Ie(1),j()),2&e){const t=E().$implicit,i=E(4);G(1),Ci(i.getOptionGroupLabel(t)||"empty")}}function GMe(e,n){1&e&&It(0)}function BMe(e,n){1&e&&It(0)}const rX=function(e,n){return{$implicit:e,selectedOption:n}};function YMe(e,n){if(1&e&&(V(0,"li",50),N(1,HMe,2,1,"span",8),N(2,GMe,1,0,"ng-container",15),j(),N(3,BMe,1,0,"ng-container",15)),2&e){const t=n.$implicit,i=E(2).options,r=gn(5),o=E(2);R("ngStyle",yt(6,$T,i.itemSize+"px")),G(1),R("ngIf",!o.groupTemplate),G(1),R("ngTemplateOutlet",o.groupTemplate)("ngTemplateOutletContext",yt(8,y9,t)),G(1),R("ngTemplateOutlet",r)("ngTemplateOutletContext",Hn(10,rX,o.getOptionGroupChildren(t),o.selectedOption))}}function VMe(e,n){if(1&e&&(dt(0),N(1,YMe,4,13,"ng-template",49),pt()),2&e){const t=E().$implicit;G(1),R("ngForOf",t)}}function zMe(e,n){1&e&&It(0)}function $Me(e,n){if(1&e&&(dt(0),N(1,zMe,1,0,"ng-container",15),pt()),2&e){const t=E().$implicit,i=gn(5),r=E(2);G(1),R("ngTemplateOutlet",i)("ngTemplateOutletContext",Hn(2,rX,t,r.selectedOption))}}function UMe(e,n){if(1&e){const t=Be();V(0,"p-dropdownItem",51),ge("onClick",function(r){return X(t),Q(E(4).onItemClick(r))}),j()}if(2&e){const t=n.$implicit,i=E().selectedOption,r=E(3);R("option",t)("selected",i==t)("label",r.getOptionLabel(t))("disabled",r.isOptionDisabled(t))("template",r.itemTemplate)}}function jMe(e,n){1&e&&N(0,UMe,1,5,"ng-template",49),2&e&&R("ngForOf",n.$implicit)}function WMe(e,n){if(1&e&&(dt(0),Ie(1),pt()),2&e){const t=E(4);G(1),gr(" ",t.emptyFilterMessageLabel," ")}}function qMe(e,n){1&e&&It(0,null,53)}function KMe(e,n){if(1&e&&(V(0,"li",52),N(1,WMe,2,1,"ng-container",35),N(2,qMe,2,0,"ng-container",23),j()),2&e){const t=E().options,i=E(2);R("ngStyle",yt(4,$T,t.itemSize+"px")),G(1),R("ngIf",!i.emptyFilterTemplate&&!i.emptyTemplate)("ngIfElse",i.emptyFilter),G(1),R("ngTemplateOutlet",i.emptyFilterTemplate||i.emptyTemplate)}}function ZMe(e,n){if(1&e&&(dt(0),Ie(1),pt()),2&e){const t=E(4);G(1),gr(" ",t.emptyMessageLabel," ")}}function XMe(e,n){1&e&&It(0,null,54)}function QMe(e,n){if(1&e&&(V(0,"li",52),N(1,ZMe,2,1,"ng-container",35),N(2,XMe,2,0,"ng-container",23),j()),2&e){const t=E().options,i=E(2);R("ngStyle",yt(4,$T,t.itemSize+"px")),G(1),R("ngIf",!i.emptyTemplate)("ngIfElse",i.empty),G(1),R("ngTemplateOutlet",i.emptyTemplate)}}function JMe(e,n){if(1&e&&(V(0,"ul",45,46),N(2,VMe,2,1,"ng-container",8),N(3,$Me,2,5,"ng-container",8),N(4,jMe,1,1,"ng-template",null,47,ns),N(6,KMe,3,6,"li",48),N(7,QMe,3,6,"li",48),j()),2&e){const t=n.options,i=E(2);Hi(t.contentStyle),R("ngClass",t.contentStyleClass),tt("id",i.listId),G(2),R("ngIf",i.group),G(1),R("ngIf",!i.group),G(3),R("ngIf",i.filterValue&&i.isEmpty()),G(1),R("ngIf",!i.filterValue&&i.isEmpty())}}function eke(e,n){1&e&&It(0)}function tke(e,n){if(1&e&&(V(0,"div",29),N(1,TMe,1,0,"ng-container",23),N(2,DMe,4,2,"div",30),V(3,"div",31),N(4,kMe,4,10,"p-scroller",32),N(5,OMe,2,6,"ng-container",8),N(6,JMe,8,8,"ng-template",null,33,ns),j(),N(8,eke,1,0,"ng-container",23),j()),2&e){const t=E();Ot(t.panelStyleClass),R("ngClass","p-dropdown-panel p-component")("ngStyle",t.panelStyle),G(1),R("ngTemplateOutlet",t.headerTemplate),G(1),R("ngIf",t.filter),G(1),lc("max-height",t.virtualScroll?"auto":t.scrollHeight||"auto"),G(1),R("ngIf",t.virtualScroll),G(1),R("ngIf",!t.virtualScroll),G(3),R("ngTemplateOutlet",t.footerTemplate)}}const nke=function(e,n,t,i){return{"p-dropdown p-component":!0,"p-disabled":e,"p-dropdown-open":n,"p-focus":t,"p-dropdown-clearable":i}},ike={provide:sr,useExisting:pn(()=>_9),multi:!0};let rke=(()=>{class e{constructor(){this.onClick=new Pe}onOptionClick(t){this.onClick.emit({originalEvent:t,option:this.option})}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=mt({type:e,selectors:[["p-dropdownItem"]],hostAttrs:[1,"p-element"],inputs:{option:"option",selected:"selected",label:"label",disabled:"disabled",visible:"visible",itemSize:"itemSize",template:"template"},outputs:{onClick:"onClick"},decls:3,vars:15,consts:[["role","option","pRipple","",3,"ngStyle","id","ngClass","click"],[4,"ngIf"],[4,"ngTemplateOutlet","ngTemplateOutletContext"]],template:function(t,i){1&t&&(V(0,"li",0),ge("click",function(o){return i.onOptionClick(o)}),N(1,jLe,2,1,"span",1),N(2,WLe,1,0,"ng-container",2),j()),2&t&&(R("ngStyle",yt(8,$T,i.itemSize+"px"))("id",i.selected?"p-highlighted-option":"")("ngClass",Hn(10,qLe,i.selected,i.disabled)),tt("aria-label",i.label)("aria-selected",i.selected),G(1),R("ngIf",!i.template),G(1),R("ngTemplateOutlet",i.template)("ngTemplateOutletContext",yt(13,y9,i.option)))},dependencies:[to,Mi,Yo,or,Pg],encapsulation:2}),e})(),_9=(()=>{class e{constructor(t,i,r,o,a,s){this.el=t,this.renderer=i,this.cd=r,this.zone=o,this.filterService=a,this.config=s,this.scrollHeight="200px",this.resetFilterOnHide=!1,this.optionGroupChildren="items",this.autoDisplayFirst=!0,this.emptyFilterMessage="",this.emptyMessage="",this.lazy=!1,this.filterMatchMode="contains",this.tooltip="",this.tooltipPosition="right",this.tooltipPositionStyle="absolute",this.autofocusFilter=!0,this.overlayDirection="end",this.onChange=new Pe,this.onFilter=new Pe,this.onFocus=new Pe,this.onBlur=new Pe,this.onClick=new Pe,this.onShow=new Pe,this.onHide=new Pe,this.onClear=new Pe,this.onLazyLoad=new Pe,this.onModelChange=()=>{},this.onModelTouched=()=>{},this.id=E6()}get disabled(){return this._disabled}set disabled(t){t&&(this.focused=!1,this.overlayVisible&&this.hide()),this._disabled=t,this.cd.destroyed||this.cd.detectChanges()}get itemSize(){return this._itemSize}set itemSize(t){this._itemSize=t,console.warn("The itemSize property is deprecated, use virtualScrollItemSize property instead.")}get autoZIndex(){return this._autoZIndex}set autoZIndex(t){this._autoZIndex=t,console.warn("The autoZIndex property is deprecated since v14.2.0, use overlayOptions property instead.")}get baseZIndex(){return this._baseZIndex}set baseZIndex(t){this._baseZIndex=t,console.warn("The baseZIndex property is deprecated since v14.2.0, use overlayOptions property instead.")}get showTransitionOptions(){return this._showTransitionOptions}set showTransitionOptions(t){this._showTransitionOptions=t,console.warn("The showTransitionOptions property is deprecated since v14.2.0, use overlayOptions property instead.")}get hideTransitionOptions(){return this._hideTransitionOptions}set hideTransitionOptions(t){this._hideTransitionOptions=t,console.warn("The hideTransitionOptions property is deprecated since v14.2.0, use overlayOptions property instead.")}ngAfterContentInit(){this.templates.forEach(t=>{switch(t.getType()){case"item":default:this.itemTemplate=t.template;break;case"selectedItem":this.selectedItemTemplate=t.template;break;case"header":this.headerTemplate=t.template;break;case"filter":this.filterTemplate=t.template;break;case"footer":this.footerTemplate=t.template;break;case"emptyfilter":this.emptyFilterTemplate=t.template;break;case"empty":this.emptyTemplate=t.template;break;case"group":this.groupTemplate=t.template;break;case"loader":this.loaderTemplate=t.template;break;case"dropdownicon":this.dropdownIconTemplate=t.template;break;case"clearicon":this.clearIconTemplate=t.template;break;case"filtericon":this.filterIconTemplate=t.template}})}ngOnInit(){this.optionsToDisplay=this.options,this.updateSelectedOption(null),this.labelId=this.id+"_label",this.listId=this.id+"_list",this.filterBy&&(this.filterOptions={filter:t=>this.onFilterInputChange(t),reset:()=>this.resetFilter()})}get options(){return this._options}set options(t){this._options=t,this.optionsToDisplay=this._options,this.updateSelectedOption(this.value),this.selectedOption=this.findOption(this.value,this.optionsToDisplay),!this.selectedOption&&Ht.isNotEmpty(this.value)&&!this.editable&&(this.value=null,this.onModelChange(this.value)),this.optionsChanged=!0,this._filterValue&&this._filterValue.length&&this.activateFilter()}get filterValue(){return this._filterValue}set filterValue(t){this._filterValue=t,this.activateFilter()}ngAfterViewInit(){this.editable&&this.updateEditableLabel()}get label(){return"number"==typeof this.selectedOption&&(this.selectedOption=this.selectedOption.toString()),this.selectedOption?this.getOptionLabel(this.selectedOption):null}get emptyMessageLabel(){return this.emptyMessage||this.config.getTranslation(wa.EMPTY_MESSAGE)}get emptyFilterMessageLabel(){return this.emptyFilterMessage||this.config.getTranslation(wa.EMPTY_FILTER_MESSAGE)}get filled(){return"string"==typeof this.value?!!this.value:this.value||null!=this.value||null!=this.value}get isVisibleClearIcon(){return null!=this.value&&""!==this.value&&this.showClear&&!this.disabled}updateEditableLabel(){this.editableInputViewChild&&this.editableInputViewChild.nativeElement&&(this.editableInputViewChild.nativeElement.value=this.selectedOption?this.getOptionLabel(this.selectedOption):this.value||"")}getOptionLabel(t){return this.optionLabel?Ht.resolveFieldData(t,this.optionLabel):t&&void 0!==t.label?t.label:t}getOptionValue(t){return this.optionValue?Ht.resolveFieldData(t,this.optionValue):!this.optionLabel&&t&&void 0!==t.value?t.value:t}isOptionDisabled(t){return this.optionDisabled?Ht.resolveFieldData(t,this.optionDisabled):!(!t||void 0===t.disabled)&&t.disabled}getOptionGroupLabel(t){return this.optionGroupLabel?Ht.resolveFieldData(t,this.optionGroupLabel):t&&void 0!==t.label?t.label:t}getOptionGroupChildren(t){return this.optionGroupChildren?Ht.resolveFieldData(t,this.optionGroupChildren):t.items}onItemClick(t){const i=t.option;this.isOptionDisabled(i)||(this.selectItem(t.originalEvent,i),this.accessibleViewChild.nativeElement.focus({preventScroll:!0})),setTimeout(()=>{this.hide()},1)}selectItem(t,i){this.selectedOption!=i&&(this.selectedOption=i,this.value=this.getOptionValue(i),this.onModelChange(this.value),this.updateEditableLabel(),this.onChange.emit({originalEvent:t,value:this.value}))}ngAfterViewChecked(){if(this.optionsChanged&&this.overlayVisible&&(this.optionsChanged=!1,this.zone.runOutsideAngular(()=>{setTimeout(()=>{this.overlayViewChild&&this.overlayViewChild.alignOverlay()},1)})),this.selectedOptionUpdated&&this.itemsWrapper){let t=ve.findSingle(this.overlayViewChild.overlayViewChild.nativeElement,"li.p-highlight");t&&ve.scrollInView(this.itemsWrapper,t),this.selectedOptionUpdated=!1}}writeValue(t){this.filter&&this.resetFilter(),this.value=t,this.updateSelectedOption(t),this.updateEditableLabel(),this.cd.markForCheck()}resetFilter(){this._filterValue=null,this.filterViewChild&&this.filterViewChild.nativeElement&&(this.filterViewChild.nativeElement.value=""),this.optionsToDisplay=this.options}updateSelectedOption(t){this.selectedOption=this.findOption(t,this.optionsToDisplay),this.autoDisplayFirst&&!this.placeholder&&!this.selectedOption&&this.optionsToDisplay&&this.optionsToDisplay.length&&!this.editable&&(this.selectedOption=this.group?this.optionsToDisplay[0].items[0]:this.optionsToDisplay[0],this.value=this.getOptionValue(this.selectedOption),this.onModelChange(this.value)),this.selectedOptionUpdated=!0}registerOnChange(t){this.onModelChange=t}registerOnTouched(t){this.onModelTouched=t}setDisabledState(t){this.disabled=t,this.cd.markForCheck()}onMouseclick(t){this.disabled||this.readonly||this.isInputClick(t)||(this.onClick.emit(t),this.accessibleViewChild.nativeElement.focus({preventScroll:!0}),this.overlayVisible?this.hide():this.show(),this.cd.detectChanges())}isInputClick(t){return ve.hasClass(t.target,"p-dropdown-clear-icon")||t.target.isSameNode(this.accessibleViewChild.nativeElement)||this.editableInputViewChild&&t.target.isSameNode(this.editableInputViewChild.nativeElement)}isEmpty(){return!this.optionsToDisplay||this.optionsToDisplay&&0===this.optionsToDisplay.length}onEditableInputFocus(t){this.focused=!0,this.hide(),this.onFocus.emit(t)}onEditableInputChange(t){this.value=t.target.value,this.updateSelectedOption(this.value),this.onModelChange(this.value),this.onChange.emit({originalEvent:t,value:this.value})}show(){this.overlayVisible=!0,this.cd.markForCheck()}onOverlayAnimationStart(t){if("visible"===t.toState){if(this.itemsWrapper=ve.findSingle(this.overlayViewChild.overlayViewChild.nativeElement,this.virtualScroll?".p-scroller":".p-dropdown-items-wrapper"),this.virtualScroll&&this.scroller.setContentEl(this.itemsViewChild.nativeElement),this.options&&this.options.length)if(this.virtualScroll){const i=this.selectedOption?this.findOptionIndex(this.getOptionValue(this.selectedOption),this.optionsToDisplay):-1;-1!==i&&this.scroller.scrollToIndex(i)}else{let i=ve.findSingle(this.itemsWrapper,".p-dropdown-item.p-highlight");i&&i.scrollIntoView({block:"nearest",inline:"center"})}this.filterViewChild&&this.filterViewChild.nativeElement&&(this.preventModelTouched=!0,this.autofocusFilter&&this.filterViewChild.nativeElement.focus()),this.onShow.emit(t)}"void"===t.toState&&(this.itemsWrapper=null,this.onModelTouched(),this.onHide.emit(t))}hide(){this.overlayVisible=!1,this.filter&&this.resetFilterOnHide&&this.resetFilter(),this.cd.markForCheck()}onInputFocus(t){this.focused=!0,this.onFocus.emit(t)}onInputBlur(t){this.focused=!1,this.onBlur.emit(t),this.preventModelTouched||this.onModelTouched(),this.preventModelTouched=!1}findPrevEnabledOption(t){let i;if(this.optionsToDisplay&&this.optionsToDisplay.length){for(let r=t-1;0<=r;r--){let o=this.optionsToDisplay[r];if(!this.isOptionDisabled(o)){i=o;break}}if(!i)for(let r=this.optionsToDisplay.length-1;r>=t;r--){let o=this.optionsToDisplay[r];if(!this.isOptionDisabled(o)){i=o;break}}}return i}findNextEnabledOption(t){let i;if(this.optionsToDisplay&&this.optionsToDisplay.length){for(let r=t+1;r0&&this.selectItem(t,this.getOptionGroupChildren(this.optionsToDisplay[0])[0])}else{let r=this.selectedOption?this.findOptionIndex(this.getOptionValue(this.selectedOption),this.optionsToDisplay):-1,o=this.findNextEnabledOption(r);o&&(this.selectItem(t,o),this.selectedOptionUpdated=!0)}t.preventDefault();break;case 38:if(this.group){let r=this.selectedOption?this.findOptionGroupIndex(this.getOptionValue(this.selectedOption),this.optionsToDisplay):-1;if(-1!==r){let o=r.itemIndex-1;if(o>=0)this.selectItem(t,this.getOptionGroupChildren(this.optionsToDisplay[r.groupIndex])[o]),this.selectedOptionUpdated=!0;else if(o<0){let a=this.optionsToDisplay[r.groupIndex-1];a&&(this.selectItem(t,this.getOptionGroupChildren(a)[this.getOptionGroupChildren(a).length-1]),this.selectedOptionUpdated=!0)}}}else{let r=this.selectedOption?this.findOptionIndex(this.getOptionValue(this.selectedOption),this.optionsToDisplay):-1,o=this.findPrevEnabledOption(r);o&&(this.selectItem(t,o),this.selectedOptionUpdated=!0)}t.preventDefault();break;case 32:i&&(this.overlayVisible?this.hide():this.show(),t.preventDefault());break;case 13:this.overlayVisible&&(!this.filter||this.optionsToDisplay&&this.optionsToDisplay.length>0)?this.hide():this.overlayVisible||this.show(),t.preventDefault();break;case 27:case 9:this.hide();break;default:i&&!t.metaKey&&17!==t.which&&this.search(t)}}search(t){this.searchTimeout&&clearTimeout(this.searchTimeout);const i=t.key;let r;if(this.previousSearchChar=this.currentSearchChar,this.currentSearchChar=i,this.searchValue=this.previousSearchChar===this.currentSearchChar?this.currentSearchChar:this.searchValue?this.searchValue+i:i,this.group){let o=this.selectedOption?this.findOptionGroupIndex(this.getOptionValue(this.selectedOption),this.optionsToDisplay):{groupIndex:0,itemIndex:0};r=this.searchOptionWithinGroup(o)}else{let o=this.selectedOption?this.findOptionIndex(this.getOptionValue(this.selectedOption),this.optionsToDisplay):-1;r=this.searchOption(++o)}r&&!this.isOptionDisabled(r)&&(this.selectItem(t,r),this.selectedOptionUpdated=!0),this.searchTimeout=setTimeout(()=>{this.searchValue=null},250)}searchOption(t){let i;return this.searchValue&&(i=this.searchOptionInRange(t,this.optionsToDisplay.length),i||(i=this.searchOptionInRange(0,t))),i}searchOptionInRange(t,i){for(let r=t;r{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=en({type:e}),e.\u0275inj=b({imports:[jn,jy,ti,xw,Mu,Sf,g9,Wo,rp,Dw,jy,ti,Sf]}),e})();const oke=function(){return{escape:!1,hideOnEscape:!0,showDelay:500,tooltipStyleClass:"provenance-icon-tooltip"}},oX=function(e){return{"margin-right":"0.5rem",height:"22px",width:"22px",padding:"0px",visibility:e}};function ake(e,n){if(1&e){const t=Be();V(0,"button",5,6),ge("click",function(){X(t);const r=gn(1);return Q(E().getProvenance().toggleProvenanceMode(r,!0))}),Te(2,"provenance-icon",7),j()}if(2&e){const t=E();Hi(yt(5,oX,t.visualize?"visible":"hidden")),R("disabled",!t.getProvenance().hasUserInteracted),G(2),R("icon",t.getProvenance().hasUserInteracted?t.getProvenance().provenanceMode:"disabled")("size",20)}}function ske(e,n){if(1&e){const t=Be();V(0,"ngx-slider",8),ge("userChangeEnd",function(r){return X(t),Q(E().getProvenance().setTemporalRange(r))}),j()}if(2&e){const t=E();R("value",t.getProvenance().temporalFilterRange[0])("highValue",t.getProvenance().temporalFilterRange[1])("options",t.getProvenance().temporalOptions)}}function lke(e,n){if(1&e){const t=Be();V(0,"div",9),Jn(),Te(1,"svg",10),Qp(),V(2,"p-checkbox",11),ge("ngModelChange",function(r){X(t);const o=E();return o.getProvenance().interaction="user-change",Q(o.selectedChange.emit(r))})("onBlur",function(){return X(t),Q(E().onBlur)})("onClick",function(){return X(t),Q(E().onClick)})("onChange",function(){return X(t),Q(E().onChange)}),j()()}if(2&e){const t=n.$implicit,i=E();G(1),R("id",i.getId()+t[i.value||"value"]),G(1),Hi(t.style||i.style||null),R("inputId",t[i.inputId||"inputId"]||null)("name",t[i.name||"name"]||null)("value",t[i.value||"value"]||null)("label",t[i.label||"label"]||null)("disabled",t.disabled||!1)("binary",t.binary||!1)("tabindex",t.tabindex||null)("styleClass",t.styleClass||i.styleClass||null)("labelStyleClass",t.labelStyleClass||i.labelStyleClass||null)("checkboxIcon",t.checkboxIcon||"pi pi-check")("readonly",t.readonly||!1)("required",t.required||!1)("trueValue",t.trueValue||!0)("falseValue",t.falseValue||!1)("ngModel",i.selected)}}function cke(e,n){if(1&e){const t=Be();V(0,"button",5,6),ge("click",function(){X(t);const r=gn(1);return Q(E().getProvenance().toggleProvenanceMode(r,!0))}),Te(2,"provenance-icon",7),j()}if(2&e){const t=E();Hi(yt(5,oX,t.visualize?"visible":"hidden")),R("disabled",!t.getProvenance().hasUserInteracted),G(2),R("icon",t.getProvenance().hasUserInteracted?t.getProvenance().provenanceMode:"disabled")("size",20)}}function uke(e,n){if(1&e){const t=Be();V(0,"ngx-slider",8),ge("userChangeEnd",function(r){return X(t),Q(E().getProvenance().setTemporalRange(r))}),j()}if(2&e){const t=E();R("value",t.getProvenance().temporalFilterRange[0])("highValue",t.getProvenance().temporalFilterRange[1])("options",t.getProvenance().temporalOptions)}}function dke(e,n){if(1&e){const t=Be();V(0,"div",9),Jn(),Te(1,"svg",10),Qp(),V(2,"p-radioButton",11),ge("ngModelChange",function(r){X(t);const o=E();return o.getProvenance().interaction="user-change",Q(o.selectedChange.emit(r))})("onBlur",function(){return X(t),Q(E().onBlur)})("onClick",function(){return X(t),Q(E().onClick)}),j()()}if(2&e){const t=n.$implicit,i=E();G(1),R("id",i.getId()+t[i.value||"value"]),G(1),Hi(t.style||i.style||null),R("inputId",t[i.inputId||"inputId"]||null)("name",t[i.name||"name"]||i.name||null)("value",t[i.value||"value"]||null)("label",t[i.label||"label"]||null)("disabled",t.disabled||!1)("tabindex",t.tabindex||null)("styleClass",t.styleClass||i.styleClass||null)("labelStyleClass",t.labelStyleClass||i.labelStyleClass||null)("ngModel",i.selected)}}const kw=".custom-slider .ngx-slider .ngx-slider-bar{background:lightgray;height:3px} .custom-slider .ngx-slider .ngx-slider-selection{background:var(--blue-500)} .custom-slider .ngx-slider .ngx-slider-pointer{width:8px;height:16px;top:auto;bottom:0;background-color:#333;border-top-left-radius:3px;border-top-right-radius:3px} .custom-slider .ngx-slider .ngx-slider-pointer:after{display:none} .custom-slider:not(.temporal-slider) .ngx-slider .ngx-slider-bubble{top:5px} .custom-slider .ngx-slider .ngx-slider-limit{font-weight:700;color:var(--blue-500)} .custom-slider .ngx-slider .ngx-slider-tick{width:1px;height:10px;margin-left:4px;border-radius:0;background:#ffe4d1;top:-1px} .custom-slider .ngx-slider .ngx-slider-tick.ngx-slider-selected{background:var(--blue-500)} g.axis text{font-size:.7rem} .custom-slider span{margin-top:0!important;padding-top:0!important}",pke=["pMultiSelect"],Pw=function(e){return{padding:0,"align-self":"center",height:"min-content",visibility:e}};function fke(e,n){if(1&e){const t=Be();V(0,"button",6,7),ge("click",function(){X(t);const r=gn(1);return Q(E().handleClick(r))}),Te(2,"provenance-icon",8),j()}if(2&e){const t=E();R("disabled",!t.getProvenance().hasUserInteracted)("ngStyle",yt(4,Pw,t.visualize?"visible":"hidden")),G(2),R("icon",t.getProvenance().hasUserInteracted?t.getProvenance().provenanceMode:"disabled")("size",t.iconSize)}}const aX=function(e){return{position:"absolute",display:e}};function hke(e,n){if(1&e&&(V(0,"div",9),Jn(),Te(1,"svg",10),Qp(),V(2,"div",11)(3,"span"),Ie(4),j()()()),2&e){const t=n.$implicit,i=E();R("id",i.getId()+t[i.dataKey]+"div"),G(1),Hi(yt(5,aX,i.getProvenance().hasUserInteracted?"initial":"none")),R("id",i.getId()+t[i.dataKey]),G(3),gr(" ",t[i.optionLabel]," ")}}function gke(e,n){if(1&e){const t=Be();V(0,"ngx-slider",14),ge("userChangeEnd",function(r){return X(t),Q(E(2).getProvenance().setTemporalRange(r))}),j()}if(2&e){const t=E(2);R("value",t.getProvenance().temporalFilterRange[0])("highValue",t.getProvenance().temporalFilterRange[1])("options",t.getProvenance().temporalOptions)}}function mke(e,n){if(1&e&&(V(0,"div",12),N(1,gke,1,3,"ngx-slider",13),j()),2&e){const t=E();G(1),R("ngIf","temporal"===t.getProvenance().provenanceMode)}}const sX=["wrapper"],lX=["provenance"],cX=["provenanceButton"];function yke(e,n){if(1&e){const t=Be();V(0,"button",13,14),ge("click",function(r){X(t);const o=E(),a=gn(9),s=gn(1);return Q(o.handleProvenanceButtonClick(r,a,s))}),Te(2,"provenance-icon",15),j()}if(2&e){const t=E(),i=gn(1);R("disabled",!t.hasUserInteracted)("ngStyle",yt(3,Pw,t.visualize?"visible":"hidden")),G(2),R("icon",t.hasUserInteracted?i.overlayVisible?"temporal":"aggregate":"disabled")}}function _ke(e,n){if(1&e&&(Jn(),V(0,"svg",19),Te(1,"rect",20),j()),2&e){const t=E().$implicit,i=E();G(1),tt("width",t.width)("fill",t.color)("stroke","black")("stroke-width",t.timestamp>=i.oldMaxTime?2:0)("stroke-dasharray",t.timestamp===i.maxTime?"0 0":"4 1")}}function vke(e,n){if(1&e){const t=Be();V(0,"div",16),ge("mousemove",function(r){const a=X(t).$implicit;return Q(E().handleMouseOver(r,a))})("mouseout",function(){return X(t),Q(E().handleMouseOut())}),N(1,_ke,2,5,"svg",17),V(2,"div",18)(3,"span"),Ie(4),j()()()}if(2&e){const t=n.$implicit,i=E();G(1),R("ngIf",i.visualize),G(3),gr(" ",""===t.label?"":t.label," ")}}const Tke=function(e){return{label:e}},Cke=function(){return{appendTo:"body"}},bke=["pDropdown"];function Ake(e,n){if(1&e){const t=Be();V(0,"button",6,7),ge("click",function(){X(t);const r=gn(1);return Q(E().handleClick(r))}),Te(2,"provenance-icon",8),j()}if(2&e){const t=E();R("disabled",!t.getProvenance().hasUserInteracted)("ngStyle",yt(4,Pw,t.visualize?"visible":"hidden")),G(2),R("icon",t.getProvenance().hasUserInteracted?t.getProvenance().provenanceMode:"disabled")("size",t.iconSize)}}function Ske(e,n){if(1&e&&(V(0,"div",9),Jn(),Te(1,"svg",10),Qp(),V(2,"div",11)(3,"span"),Ie(4),j()()()),2&e){const t=n.$implicit,i=E();R("id",i.getId()+t[i.dataKey]+"div"),G(1),Hi(yt(5,aX,i.getProvenance().hasUserInteracted?"initial":"none")),R("id",i.getId()+t[i.dataKey]),G(3),gr(" ",t[i.optionLabel]," ")}}function wke(e,n){if(1&e){const t=Be();V(0,"ngx-slider",14),ge("userChangeEnd",function(r){return X(t),Q(E(2).getProvenance().setTemporalRange(r))}),j()}if(2&e){const t=E(2);R("value",t.getProvenance().temporalFilterRange[0])("highValue",t.getProvenance().temporalFilterRange[1])("options",t.getProvenance().temporalOptions)}}function xke(e,n){if(1&e&&(V(0,"div",12),N(1,wke,1,3,"ngx-slider",13),j()),2&e){const t=E();G(1),R("ngIf","temporal"===t.getProvenance().provenanceMode)}}const Fke=["aggregate"];function Dke(e,n){if(1&e){const t=Be();V(0,"button",13,14),ge("click",function(r){X(t);const o=E(),a=gn(9),s=gn(1);return Q(o.handleProvenanceButtonClick(r,a,s))}),Te(2,"provenance-icon",15),j()}if(2&e){const t=E(),i=gn(1);R("disabled",1===t.data.length)("ngStyle",yt(3,Pw,t.visualize?"visible":"hidden")),G(2),R("icon",1===t.data.length?"disabled":i.overlayVisible?"temporal":"aggregate")}}function v9(e){return e*parseFloat(getComputedStyle(document.documentElement).fontSize)}function Nw(e){return sEe(e/2)}function Wy(e){const n=e%10,t=e%100;return 1===n&&11!==t?e+"st":2===n&&12!==t?e+"nd":3===n&&13!==t?e+"rd":e+"th"}function Ow(){let e=Vn("#provenance-widgets-tooltip");return e.empty()&&(e=Vn("body").append("div").attr("id","provenance-widgets-tooltip").style("position","fixed").style("z-index","2000").style("background-color","var(--surface-100)").style("border-radius","5px").style("padding","10px").style("display","none").style("opacity",0).style("width","max-content"),e.append("button").style("position","absolute").style("top","-5px").style("right","-5px").style("background-color","var(--surface-300)").style("border","none","important").style("border-radius","20px").style("cursor","pointer").text("x").on("click",()=>{e.style("display","none"),e.style("opacity",0)}),e.append("div")),e}let wf=(()=>{class e{resetInteraction(){this.interaction="external"}constructor(){this.dataByOption={},this.selections=[],this.minTime=void 0,this.oldMaxTime=void 0,this.maxTime=void 0,this.events=0,this.provenanceMode="aggregate",this.temporalFilterRange=[0,100],this.hasUserInteracted=!1,this.options=0,this.interaction="external",this.temporalOptions={floor:0,ceil:100,hidePointerLabels:!0,translate:(t,i)=>{switch(i){case os.Floor:return"interaction"===this.mode?"n=0":"t=0";case os.Ceil:return"now";default:return`${t}`}}},this.myId=crypto.randomUUID(),this.tooltip=Ow()}setTemporalRange(t){this.temporalFilterRange=[t.value,t.highValue],dispatchEvent(new CustomEvent("provenance-widgets",{detail:{id:this.self?.nativeElement.id,widget:this.visType,mode:this.mode,interaction:"brush-end",data:{selection:this.temporalFilterRange}}})),this._visualize()}init(t,i,r){t?.nativeElement?.style?.position&&(t.nativeElement.style.position="relative"),this.self=t,this.crosshairTarget=i,this.visType=r}setElement(t){t?.nativeElement?.style?.position&&(t.nativeElement.style.position="relative"),this.self=t}resetProvenance(){this.dataByOption={},this.selections=[],this.minTime=void 0,this.oldMaxTime=void 0,this.maxTime=void 0,this.events=0,this.hasUserInteracted=!1,Vn(this.crosshairTarget?document.querySelector(this.crosshairTarget):this.self?.nativeElement).selectAll("rect").remove()}setProvenance(t){if(!t.revalidate)return this.dataByOption=t.dataByOption,this.minTime=t.minTime,this.oldMaxTime=t.oldMaxTime,this.maxTime=t.maxTime,this.events=t.events,this.hasUserInteracted=t.hasUserInteracted,void(this.selections=t.selections);this.resetProvenance();const i=t.selections;for(let r=0;r{Vn(document.getElementById(this.myId+r)).selectAll("rect").remove()}),i&&this._visualize()}addEvent(t,i,r){if(void 0===this.minTime&&(this.minTime=r),this.oldMaxTime=this.maxTime||this.minTime,this.maxTime=r,void 0===this.dataByOption[t])return void(this.dataByOption[t]=[{select:{date:r,index:this.events}}]);const a=this.dataByOption[t][this.dataByOption[t].length-1];if("select"===i){if(!a.unselect)return;this.dataByOption[t].push({[i]:{date:r,index:this.events}})}else{if(!a.select)return;a[i]={date:r,index:this.events}}}addSimultaneousEvents(t,i,r,o,a=new Date,s,l){const c=new Set(r?t:this.selections.at(-1)?.value),u=new Set(i),d=new Set([...c].filter(h=>!u.has(h)).concat(i.filter(h=>!c.has(h)))),p=[...d].filter(h=>u.has(h)),f=[...d].filter(h=>c.has(h));o&&(this.hasUserInteracted=!0,dispatchEvent(new CustomEvent("provenance-widgets",{detail:{id:this.self?.nativeElement.id,widget:this.visType,mode:this.mode,interaction:this.interaction,data:{selected:p,unselected:f,timestamp:new Date,interaction:this.events+1}}}))),!r&&(f.forEach(h=>{this.addEvent(h,"unselect",a)}),p.forEach(h=>{this.addEvent(h,"select",a)}),this.selections.push({value:i,timestamp:a}),this.events++,this.interaction="external",s?.emit(this.getProvenance()),l?.())}visualize(t,i,r,o){this.mode=t,this.width=i,this.height=r,this.margin=o,this._visualize()}_visualize(){if(!this.minTime)return;const t=this.mode,i=this.width,r=this.height,o=this.margin,a=vc().domain([0,100]).range([this.minTime,this.maxTime]),s=vc().domain([0,100]).range([0,this.events]),l=this.temporalFilterRange.map(a),c=this.temporalFilterRange.map(s),u="interaction"===t?vc().domain(c):ew().domain(l);u.range([0,i]);const d=vc().domain([0,$d(Object.values(this.dataByOption),g=>"radio"===this.visType||"select"===this.visType?g.length:g.reduce((m,_)=>m+(_.unselect?1:0)+1,0))]).range([0,i]),p=Ig(Nw).domain("interaction"===t?[0,this.events]:[this.minTime.getTime(),this.maxTime.getTime()]),f=this.crosshairTarget?document.querySelector(this.crosshairTarget):this.self?.nativeElement;let h=f.offsetWidth-i;this.margin||(h-=40),"multiselect"===this.visType&&(h-=22),Object.entries(this.dataByOption).forEach(([g,m],_)=>{const C=Vn(document.getElementById(this.myId+g));if(C.attr("width",i).attr("height",r).style("margin",o||"0"),"aggregate"===this.provenanceMode){let A=C.select("rect");A.empty()&&(A=C.append("rect"));const S=m[m.length-1],I=S.select?.date.getTime()||0,w=S.unselect?.date?.getTime()||0,O="radio"===this.visType||"select"===this.visType?"select":"interact",B="radio"===this.visType||"select"===this.visType?I:Math.max(I,w);A.attr("x",0).attr("y",0).attr("width",d("radio"===this.visType||"select"===this.visType?m.length:m.reduce((W,q)=>W+(q.unselect?1:0)+1,0))).attr("height",r).attr("fill",p("interaction"===t?S.unselect?.index||S.select?.index:B)).attr("stroke","black").attr("stroke-width",B>=this.oldMaxTime?.getTime()?2:0).attr("stroke-dasharray",B===this.maxTime?.getTime()?"0 0":"4 1"),Vn(C.node()?.parentElement).on("mouseover",W=>{if("temporal"===this.provenanceMode)return;dispatchEvent(new CustomEvent("provenance-widgets",{detail:{id:this.self?.nativeElement.id,widget:this.visType,mode:this.mode,interaction:"aggregate-rect-hover",data:{key:g,value:m.map(K=>({select:K.select,unselect:K.unselect}))}}}));const{clientX:q,clientY:te}=W;this.tooltip.style("opacity",1).style("display","block").style("left",`${q+10}px`).style("top",`${te+10}px`).select("div").html(`\n Label: ${this.self?.nativeElement?.dataset?.label||this.self?.nativeElement.id}
\n Selected value: ${g}
\n # times ${["select","radio"].some(K=>K===this.visType)?`selected: ${m.length}`:`interacted: ${m.reduce((K,F)=>K+(F.unselect?1:0)+1,0)}`}
\n Last ${O}ed at: ${new Date(B).toLocaleString()}
\n `)}).on("mouseout",()=>{this.tooltip.style("opacity",0).style("display","none")})}else C.selectAll("rect").data(m).join("rect").attr("x",A=>u(A.select["interaction"===t?"index":"date"])).attr("y",0).attr("width",A=>u("interaction"===t?A.unselect?.index||this.events:A.unselect?.date||this.maxTime)-u("interaction"===t?A.select.index:A.select.date)).attr("height",r).attr("fill",(A,S,I)=>S===I.length-1?p("interaction"===t?A.unselect?.index||this.events:A.unselect?.date||this.maxTime):"#E5E5E5").attr("opacity",1).attr("data-key",g).attr("data-value",A=>JSON.stringify(A,null,"\t")).attr("data-index",_),Vn(C.node()?.parentElement).on("mouseout",()=>{this.tooltip.style("opacity",0).style("display","none")}).on("mousemove",A=>{let[S]=LS(A);S-=h;let[I,w]=Vn(f).selectAll("rect").nodes().reduce((Y,P)=>{const $=parseInt(P.getAttribute("x")),U=parseInt(P.getAttribute("width"));return $<=S&&$+U>=S?Y[0].push(P):Y[1].push(P),Y},[[],[]]);I.every(Y=>Y.getAttribute("data-key")!==g)&&(I=[],w=Vn(f).selectAll("rect").nodes()),QK(I).style("stroke","var(--blue-500)"),QK(w).style("stroke","none");const O=new Set(I.map(Y=>Y.getAttribute("data-key")));for(const Y of Object.keys(this.dataByOption)){let P=document.getElementById(`${this.myId}${Y}`)?.parentElement;if(!P)continue;this.crosshairTarget&&(P=P.parentElement);const $=Vn(P).selectChildren().nodes().filter(ee=>ee.id!==`${this.myId}${Y}`)[0];let U=Vn($).selectChild();this.crosshairTarget||(U=U.select("div:nth-child(2)")),U.style("border-color",O.has(Y)?"var(--blue-500)":"#ced4da")}const B=I.find(Y=>Y.getAttribute("data-key")===g);if(!B)return this.temporalRectKV=void 0,void this.tooltip.style("opacity",0).style("display","none");const W=JSON.parse(B.getAttribute("data-value")),q=new Date(W.select.date),te=new Date(W.unselect?.date||new Date);let K=Du.count(q,te);K>60?K=IT.count(q,te)+"m":K+="s";const{clientX:F,clientY:M}=A;this.tooltip.style("opacity",1).style("display","block").style("left",`${F+10}px`).style("top",`${M+10}px`).select("div").html(`\n Label: ${this.self?.nativeElement?.dataset?.label||this.self?.nativeElement.id}
\n Selected value: ${g}
\n Selected at: ${q.toLocaleString()}\n ${W.unselect?`
Unselected at: ${new Date(W.unselect.date).toLocaleString()}`:""}
\n Selected for: ${K}\n `);const L=[g,W];NT(L,this.temporalRectKV)||(this.temporalRectKV=L,dispatchEvent(new CustomEvent("provenance-widgets",{detail:{id:this.self?.nativeElement.id,widget:this.visType,mode:this.mode,interaction:"temporal-rect-hover",data:{key:g,value:W}}})))}).on("click",A=>{A.preventDefault(),A.stopPropagation();let[S]=LS(A);S-=h;const I=Vn(f).selectAll("rect").nodes().filter(O=>{const B=parseInt(O.getAttribute("x")),W=parseInt(O.getAttribute("width"));return B<=S&&B+W>=S});if(I.every(O=>O.getAttribute("data-key")!==g))return;const w=new Set(I.map(O=>O.getAttribute("data-key")));this.interaction="temporal-rect-click",this.crosshairSelect([...w])})})}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=y({token:e,factory:e.\u0275fac,providedIn:"root"}),e})();const qy="interaction";let Ky=(()=>{class e{constructor(){this.AGGREGATE_B64="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmlld0JveD0iLTMgLTMgNjcuNDg3IDEwNiIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQogIDxnPg0KICA8cGF0aCBzdHJva2U9IiMyYzNlNTAiIHN0cm9rZS13aWR0aD0iNXB4IiBmaWxsPSJub25lIiBkPSJNMzcuMjY3LDgzLjY4MWMtMi4zNDYsNS45MzItNC4xMzMsMTQuMTgzLDIuNjU1LDE1Ljk5YzEwLjQyNywyLjc3MiwxMS45MDctMTIuODk2LDExLjkwNy0xMi44OTYNCglMMzcuMjY3LDgzLjY4MXoiLz4NCiAgPHBhdGggc3Ryb2tlPSIjMmMzZTUwIiBzdHJva2Utd2lkdGg9IjVweCIgZmlsbD0ibm9uZSIgZD0iTTYwLjc0Miw2My4zODZjMS41NTgtOC4xMTQsMS40NjctMjEuOTU3LTguMjcxLTI1LjM5NGMtMi40LTAuODQ4LTExLjQ2Ny0zLjAwNi0xNS4xMjYsMTIuOTU2DQoJYy0yLjY1MSwxMS42MTIsMS40ODgsMjUuNTM5LDEuNDg4LDI1LjUzOWwxNC43MjUsMy4xMzJDNTMuNTYsNzkuNjE4LDU5LjY5OCw2OC44MTQsNjAuNzQyLDYzLjM4NnoiLz4NCiAgPHBhdGggc3Ryb2tlPSIjMmMzZTUwIiBzdHJva2Utd2lkdGg9IjVweCIgZmlsbD0ibm9uZSIgZD0iTTIxLjM2Niw0Ny4zMTljMS43MTYsNi4xNDIsMi42MzMsMTQuNTM0LTQuMzExLDE1LjYyM0M2LjQsNjQuNjExLDYuNTY1LDQ4Ljg3NSw2LjU2NSw0OC44NzVMMjEuMzY2LDQ3LjMxOXoNCgkiLz4NCiAgPHBhdGggc3Ryb2tlPSIjMmMzZTUwIiBzdHJva2Utd2lkdGg9IjVweCIgZmlsbD0ibm9uZSIgZD0iTTAuMTQ2LDI0LjY3OUMtMC41NTUsMTYuNDQ3LDAuOTgsMi42OSwxMS4wMjgsMC4yODdDMTMuNS0wLjMwNiwyMi43NDEtMS41MDEsMjQuNzExLDE0Ljc1NQ0KCWMxLjQzMSwxMS44MjctNC4xNTEsMjUuMjQzLTQuMTUxLDI1LjI0M2wtMTQuOTcsMS41NzVDNS41ODksNDEuNTczLDAuNjEyLDMwLjE5LDAuMTQ2LDI0LjY3OXoiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",this.TEMPORAL_B64="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmlld0JveD0iLTMgLTMgNjcuNDg3IDEwNiIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQogIDxnPg0KICA8cGF0aCBzdHJva2U9IiMyYzNlNTAiIHN0cm9rZS13aWR0aD0iNXB4IiBmaWxsPSIjMmMzZTUwIiBkPSJNMzcuMjY3LDgzLjY4MWMtMi4zNDYsNS45MzItNC4xMzMsMTQuMTgzLDIuNjU1LDE1Ljk5YzEwLjQyNywyLjc3MiwxMS45MDctMTIuODk2LDExLjkwNy0xMi44OTYNCglMMzcuMjY3LDgzLjY4MXoiLz4NCiAgPHBhdGggc3Ryb2tlPSIjMmMzZTUwIiBzdHJva2Utd2lkdGg9IjVweCIgZmlsbD0iIzJjM2U1MCIgZD0iTTYwLjc0Miw2My4zODZjMS41NTgtOC4xMTQsMS40NjctMjEuOTU3LTguMjcxLTI1LjM5NGMtMi40LTAuODQ4LTExLjQ2Ny0zLjAwNi0xNS4xMjYsMTIuOTU2DQoJYy0yLjY1MSwxMS42MTIsMS40ODgsMjUuNTM5LDEuNDg4LDI1LjUzOWwxNC43MjUsMy4xMzJDNTMuNTYsNzkuNjE4LDU5LjY5OCw2OC44MTQsNjAuNzQyLDYzLjM4NnoiLz4NCiAgPHBhdGggc3Ryb2tlPSIjMmMzZTUwIiBzdHJva2Utd2lkdGg9IjVweCIgZmlsbD0iIzJjM2U1MCIgZD0iTTIxLjM2Niw0Ny4zMTljMS43MTYsNi4xNDIsMi42MzMsMTQuNTM0LTQuMzExLDE1LjYyM0M2LjQsNjQuNjExLDYuNTY1LDQ4Ljg3NSw2LjU2NSw0OC44NzVMMjEuMzY2LDQ3LjMxOXoNCgkiLz4NCiAgPHBhdGggc3Ryb2tlPSIjMmMzZTUwIiBzdHJva2Utd2lkdGg9IjVweCIgZmlsbD0iIzJjM2U1MCIgZD0iTTAuMTQ2LDI0LjY3OUMtMC41NTUsMTYuNDQ3LDAuOTgsMi42OSwxMS4wMjgsMC4yODdDMTMuNS0wLjMwNiwyMi43NDEtMS41MDEsMjQuNzExLDE0Ljc1NQ0KCWMxLjQzMSwxMS44MjctNC4xNTEsMjUuMjQzLTQuMTUxLDI1LjI0M2wtMTQuOTcsMS41NzVDNS41ODksNDEuNTczLDAuNjEyLDMwLjE5LDAuMTQ2LDI0LjY3OXoiLz4NCiAgICA8L2c+DQo8L3N2Zz4=",this.DISABLED_B64="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmlld0JveD0iLTMgLTMgNjcuNDg3IDEwNiIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQogIDxnPg0KICAgIDxwYXRoIHN0cm9rZT0iIzdmOGM4ZCIgc3Ryb2tlLXdpZHRoPSI1cHgiIGZpbGw9Im5vbmUiIGQ9Ik0zNy4yNjcsODMuNjgxYy0yLjM0Niw1LjkzMi00LjEzMywxNC4xODMsMi42NTUsMTUuOTljMTAuNDI3LDIuNzcyLDExLjkwNy0xMi44OTYsMTEuOTA3LTEyLjg5NiBMMzcuMjY3LDgzLjY4MXoiLz4NCiAgICA8cGF0aCBzdHJva2U9IiM3ZjhjOGQiIHN0cm9rZS13aWR0aD0iNXB4IiBmaWxsPSJub25lIiBkPSJNNjAuNzQyLDYzLjM4NmMxLjU1OC04LjExNCwxLjQ2Ny0yMS45NTctOC4yNzEtMjUuMzk0Yy0yLjQtMC44NDgtMTEuNDY3LTMuMDA2LTE1LjEyNiwxMi45NTYgYy0yLjY1MSwxMS42MTIsMS40ODgsMjUuNTM5LDEuNDg4LDI1LjUzOWwxNC43MjUsMy4xMzJDNTMuNTYsNzkuNjE4LDU5LjY5OCw2OC44MTQsNjAuNzQyLDYzLjM4NnoiLz4NCiAgICA8cGF0aCBzdHJva2U9IiM3ZjhjOGQiIHN0cm9rZS13aWR0aD0iNXB4IiBmaWxsPSJub25lIiBkPSJNMjEuMzY2LDQ3LjMxOWMxLjcxNiw2LjE0MiwyLjYzMywxNC41MzQtNC4zMTEsMTUuNjIzQzYuNCw2NC42MTEsNi41NjUsNDguODc1LDYuNTY1LDQ4Ljg3NUwyMS4zNjYsNDcuMzE5eiIvPg0KICAgIDxwYXRoIHN0cm9rZT0iIzdmOGM4ZCIgc3Ryb2tlLXdpZHRoPSI1cHgiIGZpbGw9Im5vbmUiIGQ9Ik0wLjE0NiwyNC42NzlDLTAuNTU1LDE2LjQ0NywwLjk4LDIuNjksMTEuMDI4LDAuMjg3QzEzLjUtMC4zMDYsMjIuNzQxLTEuNTAxLDI0LjcxMSwxNC43NTUgYzEuNDMxLDExLjgyNy00LjE1MSwyNS4yNDMtNC4xNTEsMjUuMjQzbC0xNC45NywxLjU3NUM1LjU4OSw0MS41NzMsMC42MTIsMzAuMTkwLDAuMTQ2LDI0LjY3OXoiLz4NCiAgICA8bGluZSB4MT0iMCIgeTE9IjAiIHgyPSI2MCIgeTI9IjEwMCIgc3Ryb2tlPSIjN2Y4YzhkIiBzdHJva2Utd2lkdGg9IjUiLz4NCiAgPC9nPg0KPC9zdmc+",this.tooltipText=""}ngOnChanges(t){if(t.icon.currentValue){const i=t.icon.currentValue;this.tooltipText="","aggregate"===i?this.tooltipText+="Aggregate mode
Showing overall frequency (larger size = more) and recency (darker color = more) of past interactions.
Click to toggle.":"temporal"===i?this.tooltipText+="Temporal mode
Showing individual past interactions over the selected time period.
Click to toggle.":"disabled"===i&&(this.tooltipText+="No provenance yet.
Interact with the widget to generate/see provenance."),this.tooltipText+="
"}}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=mt({type:e,selectors:[["provenance-icon"]],inputs:{icon:"icon",size:"size"},features:[To],decls:1,vars:6,consts:[[2,"vertical-align","initial",3,"width","height","src","pTooltip","tooltipOptions"]],template:function(t,i){1&t&&Te(0,"img",0),2&t&&R("width",i.size||32)("height",i.size||32)("src","aggregate"===i.icon?i.AGGREGATE_B64:"temporal"===i.icon?i.TEMPORAL_B64:i.DISABLED_B64,G4)("pTooltip",i.tooltipText)("tooltipOptions",Bo(5,oke))},dependencies:[u9],styles:["{.provenance-icon-tooltip {width: max-content !important; max-width: 335px !important;}}"]}),e})(),Hw=(()=>{class e extends d9{get selected(){return this._selected}set selected(t){!this.firstChange&&!NT(this._selected,t)&&this.change(t||[]),this.firstChange=!1,this._selected=t}get provenance(){return this._provenance}set provenance(t){if(this._provenance&&t?.revalidate)return this._provenance=t,this.ngOnInit(),void this._visualize();this._provenance=t}constructor(t,i,r){super(r),this.mss=t,this.el=i,this.firstChange=!0,this.mode=qy,this.visualize=!0,this.freeze=!1,this.selectedChange=new Pe,this.interval=NaN,this.provenanceChange=new Pe,t.init(i,void 0,"checkbox"),t.crosshairSelect=o=>{this.selectedChange.emit(o)}}ngOnInit(){if(this.mss.options=this.data.length,this.mss.mode=this.mode,this.provenance?.hasUserInteracted||this.provenance?.revalidate)return this.mss.setProvenance(this.provenance),void(this.selected=Object.entries(this.mss.getProvenance().dataByOption).filter(([t,i])=>{const r=i.at(-1);return r&&void 0===r.unselect&&void 0!==r.select}).map(([t,i])=>t));this.selected&&this.mss.addSimultaneousEvents([],this.selected,this.freeze,!1)}ngAfterViewInit(){this.mss.setElement(this.el),this.mss.getProvenance()?.hasUserInteracted&&this._visualize()}getId(){return this.mss.myId}ngOnDestroy(){clearInterval(this.interval)}change(t){this.mss.addSimultaneousEvents(this.selected||[],t,this.freeze,!0,new Date,this.provenanceChange,this._visualize.bind(this))}_visualize(){this.visualize&&this.mss.visualize(this.mode,this.el.nativeElement.offsetWidth-22-8,22,"0 0 0 30px")}getProvenance(){return this.mss}}return e.\u0275fac=function(t){return new(t||e)(ie(wf),ie(En),ie(wi))},e.\u0275cmp=mt({type:e,selectors:[["provenance-checkbox"]],inputs:{mode:"mode",data:"data",selected:"selected",visualize:"visualize",freeze:"freeze",provenance:"provenance"},outputs:{selectedChange:"selectedChange",provenanceChange:"provenanceChange"},features:[Zt([wf]),Dt],decls:5,vars:3,consts:[[2,"display","flex","margin-bottom","1rem","margin-top","1rem"],["pButton","","type","button","class","p-button-help p-button-text",3,"disabled","style","click",4,"ngIf"],[1,"custom-slider",2,"width","100%"],["style","margin-top: 0px",3,"value","highValue","options","userChangeEnd",4,"ngIf"],["class","field-checkbox","style","position: relative;",4,"ngFor","ngForOf"],["pButton","","type","button",1,"p-button-help","p-button-text",3,"disabled","click"],["btn",""],[2,"height","20px",3,"icon","size"],[2,"margin-top","0px",3,"value","highValue","options","userChangeEnd"],[1,"field-checkbox",2,"position","relative"],["width","0","height","0",2,"position","absolute",3,"id"],[3,"inputId","name","value","label","disabled","binary","tabindex","styleClass","labelStyleClass","checkboxIcon","readonly","required","trueValue","falseValue","ngModel","ngModelChange","onBlur","onClick","onChange"]],template:function(t,i){1&t&&(V(0,"div",0),N(1,ake,3,7,"button",1),V(2,"div",2),N(3,ske,1,3,"ngx-slider",3),j()(),N(4,lke,3,18,"div",4)),2&t&&(G(1),R("ngIf",i.visualize),G(2),R("ngIf","temporal"===i.getProvenance().provenanceMode),G(1),R("ngForOf",i.data))},dependencies:[_u,Mi,Tg,ip,Ay,uT,ff,d9,Ky],styles:["-shadowcsshost-no-combinator{display:block} p-checkbox{z-index:2}",".custom-slider .ngx-slider .ngx-slider-bar{background:lightgray;height:3px} .custom-slider .ngx-slider .ngx-slider-selection{background:var(--blue-500)} .custom-slider .ngx-slider .ngx-slider-pointer{width:8px;height:16px;top:auto;bottom:0;background-color:#333;border-top-left-radius:3px;border-top-right-radius:3px} .custom-slider .ngx-slider .ngx-slider-pointer:after{display:none} .custom-slider:not(.temporal-slider) .ngx-slider .ngx-slider-bubble{top:5px} .custom-slider .ngx-slider .ngx-slider-limit{font-weight:700;color:var(--blue-500)} .custom-slider .ngx-slider .ngx-slider-tick{width:1px;height:10px;margin-left:4px;border-radius:0;background:#ffe4d1;top:-1px} .custom-slider .ngx-slider .ngx-slider-tick.ngx-slider-selected{background:var(--blue-500)} g.axis text{font-size:.7rem} .custom-slider span{margin-top:0!important;padding-top:0!important}"]}),e})(),Zy=(()=>{class e{get selected(){return this._selected}set selected(t){!this.firstChange&&!NT(this._selected,t)&&this.change(t),this.firstChange=!1,this._selected=t}get provenance(){return this._provenance}set provenance(t){this._provenance&&t?.revalidate&&(this._provenance=t,this.ngOnInit(),this._visualize()),this._provenance=t}constructor(t,i){this.mss=t,this.el=i,this.onClick=new Pe,this.onFocus=new Pe,this.onBlur=new Pe,this.firstChange=!0,this.mode=qy,this.visualize=!0,this.freeze=!1,this.selectedChange=new Pe,this.interval=NaN,this.provenanceChange=new Pe,t.init(i,void 0,"radio"),t.crosshairSelect=r=>{this.selectedChange.emit(r[0])}}ngOnInit(){if(this.mss.options=this.data.length,this.mss.mode=this.mode,this.provenance?.hasUserInteracted||this.provenance?.revalidate)return this.mss.setProvenance(this.provenance),void(this.selected=Object.entries(this.mss.getProvenance().dataByOption).filter(([t,i])=>{const r=i.at(-1);return r&&void 0===r.unselect&&void 0!==r.select}).map(([t,i])=>t)[0]);this.selected&&this.mss.addSimultaneousEvents([],[this.selected],this.freeze,!1)}ngAfterViewInit(){this.mss.setElement(this.el),this.mss.getProvenance()?.hasUserInteracted&&this._visualize()}getId(){return this.mss.myId}ngOnDestroy(){clearInterval(this.interval)}change(t){this.mss.addSimultaneousEvents(this.selected?[this.selected]:[],t?[t]:[],this.freeze,!0,new Date,this.provenanceChange,this._visualize.bind(this))}_visualize(){this.visualize&&this.mss.visualize(this.mode,this.el.nativeElement.offsetWidth-22-8,22,"0 0 0 30px")}getProvenance(){return this.mss}}return e.\u0275fac=function(t){return new(t||e)(ie(wf),ie(En))},e.\u0275cmp=mt({type:e,selectors:[["provenance-radiobutton"]],inputs:{value:"value",formControlName:"formControlName",name:"name",disabled:"disabled",label:"label",tabindex:"tabindex",inputId:"inputId",ariaLabelledBy:"ariaLabelledBy",ariaLabel:"ariaLabel",style:"style",styleClass:"styleClass",labelStyleClass:"labelStyleClass",mode:"mode",data:"data",selected:"selected",visualize:"visualize",freeze:"freeze",provenance:"provenance"},outputs:{onClick:"onClick",onFocus:"onFocus",onBlur:"onBlur",selectedChange:"selectedChange",provenanceChange:"provenanceChange"},features:[Zt([wf])],decls:5,vars:3,consts:[[2,"display","flex","margin-bottom","1rem","margin-top","1rem"],["pButton","","type","button","class","p-button-help p-button-text",3,"disabled","style","click",4,"ngIf"],[1,"custom-slider",2,"width","100%"],["style","margin-top: 0px",3,"value","highValue","options","userChangeEnd",4,"ngIf"],["class","field-checkbox",4,"ngFor","ngForOf"],["pButton","","type","button",1,"p-button-help","p-button-text",3,"disabled","click"],["btn",""],[2,"height","20px",3,"icon","size"],[2,"margin-top","0px",3,"value","highValue","options","userChangeEnd"],[1,"field-checkbox"],["width","0","height","0",2,"position","absolute",3,"id"],[3,"inputId","name","value","label","disabled","tabindex","styleClass","labelStyleClass","ngModel","ngModelChange","onBlur","onClick"]],template:function(t,i){1&t&&(V(0,"div",0),N(1,cke,3,7,"button",1),V(2,"div",2),N(3,uke,1,3,"ngx-slider",3),j()(),N(4,dke,3,12,"div",4)),2&t&&(G(1),R("ngIf",i.visualize),G(2),R("ngIf","temporal"===i.getProvenance().provenanceMode),G(1),R("ngForOf",i.data))},dependencies:[_u,Mi,Tg,ip,Ay,ff,qZ,Ky],styles:["-shadowcsshost-no-combinator{display:block} p-radiobutton{z-index:2}",kw]}),e})(),UT=(()=>{class e extends h9{get selected(){return this._selected}set selected(t){!this.firstChange&&!NT(this._selected,t)&&this.handleChange(t||[]),this.firstChange=!1,this._selected=t}get provenance(){return this._provenance}set provenance(t){this._provenance&&t?.revalidate&&(this._provenance=t,this.ngOnInit(),this._visualize()),this._provenance=t}constructor(t,i,r,o,a,s,l,c){super(i,r,o,a,s,l,c),this.mss=t,this.firstChange=!0,this.mode=qy,this.selectedChange=new Pe,this.visualize=!0,this.freeze=!1,this.interval=NaN,this.optionsRecord={},this.myOverlayOptions={appendTo:"body",...this.overlayOptions},this.provenanceChange=new Pe,t.init(i,".panel"+this.mss.myId+" > div > ul","multiselect"),t.crosshairSelect=u=>{this.selectedChange.emit(u.map(d=>this.optionsRecord[d]))}}getId(){return this.mss.myId}ngOnInit(){if(super.ngOnInit(),this.mss.options=this.options.length,this.mss.mode=this.mode,this.options.forEach(t=>{this.optionsRecord[t[this.dataKey]]=t}),this.provenance?.hasUserInteracted||this.provenance?.revalidate)return this.mss.setProvenance(this.provenance),void(this.selected=Object.entries(this.mss.getProvenance().dataByOption).filter(([t,i])=>{const r=i.at(-1);return r&&void 0===r.unselect&&void 0!==r.select}).map(([t,i])=>this.optionsRecord[t]));this.selected&&this.mss.addSimultaneousEvents([],this.selected.map(t=>t[this.dataKey]),this.freeze,!1)}ngAfterViewInit(){super.ngAfterViewInit(),this.mss.setElement(this.el),this.mss.getProvenance()?.hasUserInteracted&&this._visualize()}ngOnDestroy(){clearInterval(this.interval)}handleHide(t){this.onPanelHide?.emit(t),this.overlayVisible=!1}handleShow(t){this.onPanelShow?.emit(t),this.overlayVisible=!0,this._visualize()}handleChange(t){this.mss.addSimultaneousEvents(this.selected?this.selected.map(i=>i[this.dataKey]):[],t.map(i=>i[this.dataKey]),this.freeze,!0,new Date,this.provenanceChange,this._visualize.bind(this))}_visualize(){if(!this.visualize||!this.overlayVisible)return;let t;for(const o of this.options){const a=document.getElementById(this.mss.myId+o[this.dataKey]+"div");if(a&&a.parentElement){t=a.parentElement;break}}t&&this.mss.visualize(this.mode,t.offsetWidth-40-22,t.offsetHeight-24)}getOption(t){const i=this.mss.dataByOption[t]?.length;return i?`(${i})`:""}getProvenance(){return this.mss}handleClick(t){this.mss.toggleProvenanceMode(t,!1),setTimeout(()=>this.pMultiSelect.show(),this.pMultiSelect.overlayVisible?1e3:0)}handleFilter(t){this.onFilter?.emit(t),setTimeout(()=>this._visualize(),t.filter?0:100)}}return e.\u0275fac=function(t){return new(t||e)(ie(wf),ie(En),ie(Si),ie(wi),ie(wn),ie(dS),ie(Au),ie(wy))},e.\u0275cmp=mt({type:e,selectors:[["provenance-multiselect"]],viewQuery:function(t,i){if(1&t&&Mt(pke,5),2&t){let r;at(r=st())&&(i.pMultiSelect=r.first)}},inputs:{mode:"mode",selected:"selected",iconSize:"iconSize",visualize:"visualize",freeze:"freeze",provenance:"provenance"},outputs:{selectedChange:"selectedChange",provenanceChange:"provenanceChange"},features:[Zt([wf]),Dt],decls:6,vars:60,consts:[[1,"p-inputgroup","flex","flex-row","gap-3"],["pButton","","type","button","class","p-button-help p-button-text",3,"disabled","ngStyle","click",4,"ngIf"],[3,"appendTo","ariaFilterLabel","label","ariaLabelledBy","autofocusFilter","autoZIndex","baseZIndex","defaultLabel","dataKey","disabled","displaySelectedLabel","dropdownIcon","emptyFilterMessage","filter","filterMatchMode","filterValue","filterLocale","filterBy","filterPlaceHolder","hideTransitionOptions","inputId","maxSelectedLabels","name","options","optionLabel","optionValue","optionDisabled","optionGroupLabel","optionGroupChildren","group","overlayVisible","panelStyle","placeholder","readonly","emptyMessage","resetFilterOnHide","scrollHeight","selectedItemsLabel","selectionLimit","showHeader","showTransitionOptions","showToggleAll","styleClass","panelStyleClass","tabindex","tooltip","tooltipStyleClass","tooltipPosition","tooltipPositionStyle","showClear","virtualScroll","virtualScrollItemSize","virtualScrollOptions","overlayOptions","lazy","ngModel","onClick","onChange","onFilter","onFocus","onBlur","onPanelShow","onPanelHide","onClear","onLazyLoad","onRemove","ngModelChange"],["pMultiSelect",""],["pTemplate","item"],["pTemplate","footer"],["pButton","","type","button",1,"p-button-help","p-button-text",3,"disabled","ngStyle","click"],["btn",""],[3,"icon","size"],[2,"position","relative","width","100%",3,"id"],["width","0","height","0",3,"id"],[2,"display","flex","justify-content","space-between","position","inherit"],[1,"custom-slider","temporal-slider"],[3,"value","highValue","options","userChangeEnd",4,"ngIf"],[3,"value","highValue","options","userChangeEnd"]],template:function(t,i){1&t&&(V(0,"div",0),N(1,fke,3,6,"button",1),V(2,"p-multiSelect",2,3),ge("onClick",function(){return i.onClick})("onChange",function(){return i.onChange})("onFilter",function(o){return i.handleFilter(o)})("onFocus",function(){return i.onFocus})("onBlur",function(){return i.onBlur})("onPanelShow",function(o){return i.handleShow(o)})("onPanelHide",function(o){return i.handleHide(o)})("onClear",function(){return i.onClear})("onLazyLoad",function(){return i.onLazyLoad})("onRemove",function(){return i.onRemove})("ngModelChange",function(o){return i.getProvenance().interaction="user-change",i.selectedChange.emit(o)}),N(4,hke,5,7,"ng-template",4),N(5,mke,2,1,"ng-template",5),j()()),2&t&&(G(1),R("ngIf",i.visualize),G(1),Hi(i.style),R("appendTo",i.appendTo)("ariaFilterLabel",i.ariaFilterLabel)("label",i.label)("ariaLabelledBy",i.ariaLabelledBy)("autofocusFilter",i.autofocusFilter)("autoZIndex",i.autoZIndex)("baseZIndex",i.baseZIndex)("defaultLabel",i.defaultLabel)("dataKey",i.dataKey)("disabled",i.disabled)("displaySelectedLabel",i.displaySelectedLabel)("dropdownIcon",i.dropdownIcon)("emptyFilterMessage",i.emptyFilterMessage)("filter",i.filter)("filterMatchMode",i.filterMatchMode)("filterValue",i.filterValue)("filterLocale",i.filterLocale)("filterBy",i.filterBy)("filterPlaceHolder",i.filterPlaceHolder)("hideTransitionOptions",i.hideTransitionOptions)("inputId",i.inputId)("maxSelectedLabels",i.maxSelectedLabels||3)("name",i.name)("options",i.options)("optionLabel",i.optionLabel)("optionValue",i.optionValue)("optionDisabled",i.optionDisabled)("optionGroupLabel",i.optionGroupLabel)("optionGroupChildren",i.optionGroupChildren)("group",i.group)("overlayVisible",i.overlayVisible)("panelStyle",i.panelStyle)("placeholder",i.placeholder)("readonly",i.readonly)("emptyMessage",i.emptyMessage)("emptyFilterMessage",i.emptyFilterMessage)("resetFilterOnHide",i.resetFilterOnHide)("scrollHeight",i.scrollHeight)("selectedItemsLabel",i.selectedItemsLabel)("selectionLimit",i.selectionLimit)("showHeader",i.showHeader)("showTransitionOptions",i.showTransitionOptions)("showToggleAll",i.showToggleAll)("styleClass",(i.styleClass||"")+" provenance-multiselect")("panelStyleClass",(i.panelStyleClass||"")+"provenance-multiselect-panel panel"+i.getId())("tabindex",i.tabindex)("tooltip",i.tooltip)("tooltipStyleClass",i.tooltipStyleClass)("tooltipPosition",i.tooltipPosition)("tooltipPositionStyle",i.tooltipPositionStyle)("showClear",i.showClear)("virtualScroll",i.virtualScroll)("virtualScrollItemSize",i.virtualScrollItemSize)("virtualScrollOptions",i.virtualScrollOptions)("overlayOptions",i.myOverlayOptions)("lazy",i.lazy)("ngModel",i.selected))},dependencies:[Mi,or,Tg,lr,ip,Ay,ff,h9,Ky],styles:["div.provenance-multiselect-panel>div>ul{position:relative} div.provenance-multiselect-panel>div.p-multiselect-footer.ng-star-inserted:has(div.temporal-slider){padding-left:48px;padding-right:24px} div.provenance-multiselect-panel>div.p-multiselect-items-wrapper>ul>p-multiselectitem>li.p-multiselect-item{background:none!important} div.provenance-multiselect{width:initial!important}",kw]}),e})(),Gw=(()=>{class e extends m9{constructor(){super(...arguments),this.mode=qy,this.id="",this.visualize=!0,this.freeze=!1,this.valueChange=new Pe,this.provenanceChange=new Pe,this.data=[],this.dictionary={},this.query="",this.minTime=void 0,this.oldMaxTime=void 0,this.maxTime=void 0,this.minMsBetweenInteractions=1/0,this.interval=NaN,this.hasUserInteracted=!1,this.tooltip=Ow()}get provenance(){return this._provenance}set provenance(t){if(this._provenance&&t?.revalidate)return this.setProvenance(t),void this._visualize();this._provenance=t}setProvenance(t){this.data=t.data,t.revalidate?(this.minTime=this.data[0].timestamp,this.maxTime=this.data[this.data.length-1].timestamp,this.oldMaxTime=this.data.length>1?this.data[this.data.length-2].timestamp:this.data[0].timestamp,this.minMsBetweenInteractions=Math.min(1/0,+this.maxTime-+this.oldMaxTime),this.dictionary=this.data.reduce((i,{value:r,timestamp:o},a)=>(i[r]={count:(i[r]?.count||0)+1,timestamp:o,maxIndex:a},i),{})):(this.dictionary=t.dictionary,this.minTime=t.minTime,this.oldMaxTime=t.oldMaxTime,this.maxTime=t.maxTime,this.minMsBetweenInteractions=t.minMsBetweenInteractions)}getProvenance(){return{data:this.data,dictionary:this.dictionary,minTime:this.minTime,oldMaxTime:this.oldMaxTime,maxTime:this.maxTime,minMsBetweenInteractions:this.minMsBetweenInteractions}}ngOnInit(){if(this.tooltip=Ow(),this.provenance?.data?.length)return this.setProvenance(this.provenance),this.value=this.data.slice(-1)[0].value,void(this.hasUserInteracted=this.data.length>0);if(this.value){const t=this.field?this.value[this.field]:this.value,i=new Date;this.minTime=i,this.oldMaxTime=i,this.maxTime=i,this.data=[{value:t,timestamp:i}],this.dictionary[t]={count:1,timestamp:i,maxIndex:0}}}ngAfterViewInit(){this.provenance?.data?.length&&this._visualize()}ngOnDestroy(){super.ngOnDestroy(),clearInterval(this.interval)}handleKeyUp(t){"Enter"===t.key&&this.handleEnter("enter")}handleEnter(t){this.tooltip.style("opacity",0).style("display","none");const i=this.wrapper.nativeElement.querySelector("input")?.value;if(!i&&""!==i)return;this.value=i,this.valueChange.emit(i);const r=new Date;if(dispatchEvent(new CustomEvent("provenance-widgets",{detail:{id:this.id,widget:"inputtext",mode:this.mode,interaction:t,data:{value:i,timestamp:r}}})),this.freeze)return;this.minTime||(this.minTime=r),this.maxTime&&(this.minMsBetweenInteractions=Math.min(this.minMsBetweenInteractions,+r-+this.maxTime)),this.oldMaxTime=this.maxTime||r,this.maxTime=r;const o={value:i,timestamp:r},a=[o];"time"===this.mode&&a.push(o),this.data=[...this.data,...a],this.dictionary[i]={count:(this.dictionary[i]?.count||0)+1,timestamp:r,maxIndex:this.data.length-1},"time"===this.mode&&isNaN(this.interval)&&(this.interval=setInterval(()=>{const l=new Date;this.oldMaxTime=this.maxTime||l,this.maxTime=l;const c=this.data.slice(-1)[0];this.data=[...this.data.slice(0,-1),{value:c.value,timestamp:l}],this._visualize()},1e3)),this.hasUserInteracted=!0;const s=this.getProvenance();this.provenanceChange?.emit(s),this._visualize()}_visualize(){if(!this.visualize)return;const t=this,i=this.wrapper.nativeElement.querySelector("input").offsetWidth,r=parseInt(getComputedStyle(document.body).getPropertyValue("font-size"))||13,a=Math.max(r*("interaction"===this.mode?this.data.length:(+this.maxTime-+this.minTime)/this.minMsBetweenInteractions),250),s=this.button.nativeElement.offsetWidth,l=v9(.5),u=Vn(this.svg.nativeElement).attr("height",a+r).attr("width",`${i+s+l}px`).select("g.body").attr("transform",`translate(${s+l}, ${r/2})`),d="interaction"===this.mode?vc().domain([0,this.data.length-1]).range([0,a]):ew().domain([this.minTime,this.maxTime]).range([0,a]),p=rq(d.nice());"interaction"!==this.mode&&p.tickValues([this.minTime,this.maxTime]).tickFormat((m,_)=>0===_?"t=0":"now");const f=Vn(this.svg.nativeElement).select("g.axis");f.select("text").attr("x",-(250+r)/2),f.attr("transform",`translate(${s+l}, ${r/2})`).call(p);const h=ow().x(4).y((m,_)=>d("interaction"===this.mode?_:m.timestamp)),g=Ig(Nw).domain("interaction"===this.mode?[0,this.data.length-1]:[this.minTime,this.maxTime]);u.selectAll("path").data([this.data]).join("path").transition().duration(250).attr("d",h).attr("fill","none").attr("stroke","black").attr("stroke-width",2),u.selectAll("circle").data(this.data).join("circle").attr("psvgi",(m,_)=>_).on("click",(m,_)=>{this.value=_.value,this.wrapper.nativeElement.querySelector("input").value=_.value,this.handleEnter("click")}).on("mouseover",function(m,_){const{clientX:v,clientY:C}=m;t.tooltip.style("opacity",1).style("display","block").style("left",`${v+10}px`).style("top",`${C+10}px`).select("div").html(`\n Label: ${t.el?.nativeElement?.dataset?.label||t.id}
\n ${Wy(+Vn(this).attr("psvgi"))}/${Wy(t.data.length-1)} search
\n Searched value: ${_.value}\n
\n Searched at: ${_.timestamp.toLocaleString()}\n `),dispatchEvent(new CustomEvent("provenance-widgets",{detail:{id:t.id,widget:"inputtext",mode:t.mode,interaction:"hover",data:{value:_.value,timestamp:_.timestamp,index:Vn(this).attr("psvgi")}}}))}).on("mouseout",()=>t.tooltip.style("opacity",0).style("display","none")).transition().duration(250).attr("cx",4).attr("cy",(m,_)=>d("interaction"===this.mode?_:m.timestamp)).attr("r",4).attr("fill",(m,_)=>g("interaction"===this.mode?_:m.timestamp)).attr("stroke","black").style("cursor","pointer"),u.selectAll("text").data(this.data).join("text").transition().duration(250).attr("x",12).attr("y",(m,_)=>d("interaction"===this.mode?_:m.timestamp)+r/4).text(m=>m.value||"")}handleSearch(t){this.query=t.query}getSuggestions(){if(!this.wrapper?.nativeElement)return[];const t=this.wrapper.nativeElement.querySelector("input").offsetWidth-v9(2.5),i=Object.entries(this.dictionary).filter(([c])=>c.includes(this.query)).sort(([,c],[,u])=>u.timestamp.getTime()-c.timestamp.getTime()),r=nq(i,([,{timestamp:c}])=>c),o=nq(i,([,{maxIndex:c}])=>c),a=[0,$d(i,([,{count:c}])=>c)],s=vc().domain(a).range([0,t]),l=Ig(Nw).domain("interaction"===this.mode?o:r);return i.map(([c,{count:u,timestamp:d,maxIndex:p}])=>({label:c,count:u,timestamp:d,color:l("interaction"===this.mode?p:d),width:s(u)}))}handleClear(t,i){t.value="",t.handleDropdownClick(i)}handleMouseOver(t,i){if(!this.visualize)return;const{clientX:r,clientY:o}=t;this.tooltip.style("opacity",1).style("display","block").style("left",`${r+10}px`).style("top",`${o+10}px`).select("div").html(`\n Label: ${this.el?.nativeElement?.dataset?.label||this.id}\n
\n Searched value: ${i.label}\n
\n Last searched at: ${i.timestamp.toLocaleString()}\n
\n # times searched: ${i.count}\n `)}handleMouseOut(){this.tooltip.style("opacity",0).style("display","none")}handleProvenanceButtonClick(t,i,r){dispatchEvent(new CustomEvent("provenance-widgets",{detail:{id:this.id,widget:"inputtext",mode:this.mode,interaction:"provenance-button-click",initialProvenanceMode:r.overlayVisible?"temporal":"aggregate"}})),r.toggle(t,i)}}return e.\u0275fac=function(){let n;return function(i){return(n||(n=vn(e)))(i||e)}}(),e.\u0275cmp=mt({type:e,selectors:[["provenance-inputtext"]],viewQuery:function(t,i){if(1&t&&(Mt(sX,5),Mt(lX,5),Mt(cX,5)),2&t){let r;at(r=st())&&(i.wrapper=r.first),at(r=st())&&(i.svg=r.first),at(r=st())&&(i.button=r.first)}},inputs:{mode:"mode",id:"id",visualize:"visualize",freeze:"freeze",value:"value",provenance:"provenance"},outputs:{valueChange:"valueChange",provenanceChange:"provenanceChange"},features:[Dt],decls:14,vars:12,consts:[["styleClass","textinput-overlay",3,"dismissable"],["op",""],[1,"inputtext-provenance"],["provenance",""],[1,"axis"],["transform","rotate(-90)","text-anchor","middle","fill","black","y","-30"],[1,"body"],[1,"flex","flex-row","gap-3"],["wrapper",""],["pButton","","type","button","class","p-button-help p-button-text",3,"disabled","ngStyle","click",4,"ngIf"],[3,"appendTo","ngModel","field","suggestions","overlayOptions","completeMethod","onFocus","onClear","onKeyUp","onSelect","mouseout"],["autocomplete",""],["pTemplate","item"],["pButton","","type","button",1,"p-button-help","p-button-text",3,"disabled","ngStyle","click"],["provenanceButton",""],[3,"icon"],[2,"position","relative","width","100%",3,"mousemove","mouseout"],["style","width: 100%; height: 100%; position: absolute",4,"ngIf"],[2,"display","flex","justify-content","space-between","position","inherit"],[2,"width","100%","height","100%","position","absolute"],["x","0","y","0",2,"height","100%"]],template:function(t,i){if(1&t){const r=Be();V(0,"p-overlayPanel",0,1),Jn(),V(2,"svg",2,3)(4,"g",4)(5,"text",5),Ie(6),j()(),Te(7,"g",6),j()(),Qp(),V(8,"div",7,8),N(10,yke,3,5,"button",9),V(11,"p-autoComplete",10,11),ge("completeMethod",function(a){return i.handleSearch(a)})("onFocus",function(a){X(r);const s=gn(12);return Q(!s.value&&s.handleDropdownClick(a))})("onClear",function(a){X(r);const s=gn(12);return Q(i.handleClear(s,a))})("onKeyUp",function(a){return i.handleKeyUp(a)})("onSelect",function(){return i.handleEnter("select")})("mouseout",function(){return i.handleMouseOut()}),N(13,vke,5,2,"ng-template",12),j()()}2&t&&(R("dismissable",!1),G(5),tt("font-size","small"),G(1),gr(" ","interaction"===i.mode?"Sequence of Interaction (0 = first)":"time"," "),G(4),R("ngIf",i.visualize),G(1),R("appendTo","body")("ngModel",yt(9,Tke,i.field?i.value[i.field]:i.value))("field","label")("suggestions",i.getSuggestions())("overlayOptions",Bo(11,Cke)))},dependencies:[Mi,or,eX,lr,ip,Ay,ff,m9,Ky],styles:[".textinput-overlay>.p-overlaypanel-content{overflow-y:auto;max-height:calc(250px + 3.5rem);padding-left:0!important;padding-right:0!important}"]}),e})(),Bw=(()=>{class e extends _9{get selected(){return this._selected}set selected(t){!this.firstChange&&!NT(this._selected,t)&&this.handleChange({originalEvent:new Event("provenance"),value:t}),this.firstChange=!1,this._selected=t}get provenance(){return this._provenance}set provenance(t){this._provenance&&t?.revalidate&&(this._provenance=t,this.ngOnInit(),this._visualize()),this._provenance=t}constructor(t,i,r,o,a,s,l){super(i,r,o,a,s,l),this.mss=t,this.firstChange=!0,this.mode=qy,this.visualize=!0,this.selectedChange=new Pe,this.interval=NaN,this.optionsRecord={},this.myOverlayOptions={appendTo:"body",hideOnEscape:!1,...this.overlayOptions},this.freeze=!1,this.provenanceChange=new Pe,t.init(i,".panel"+this.mss.myId+" > div > ul","select"),t.crosshairSelect=c=>{this.selectedChange.emit(this.optionsRecord[c[0]])}}ngOnInit(){if(super.ngOnInit(),this.mss.options=this.options.length,this.mss.mode=this.mode,this.options.forEach(t=>{this.optionsRecord[t[this.dataKey]]=t}),this.provenance?.hasUserInteracted||this.provenance?.revalidate)return this.mss.setProvenance(this.provenance),void(this.selected=Object.entries(this.mss.getProvenance().dataByOption).filter(([t,i])=>{const r=i.at(-1);return r&&void 0===r.unselect&&void 0!==r.select}).map(([t,i])=>this.optionsRecord[t])[0]);this.selected&&this.mss.addSimultaneousEvents([],[this.selected[this.dataKey]],this.freeze,!1)}ngAfterViewInit(){this.mss.setElement(this.el),super.ngAfterViewInit(),this.mss.getProvenance()?.hasUserInteracted&&this._visualize()}getProvenance(){return this.mss}getId(){return this.mss.myId}handleClick(t){this.mss.toggleProvenanceMode(t,!1),setTimeout(()=>this.pDropdown.show(),this.pDropdown.overlayVisible?1e3:0)}handleChange(t){this.mss.addSimultaneousEvents(this.selected?[this.selected[this.dataKey]]:[],t.value?[t.value[this.dataKey]]:[],this.freeze,!0,new Date,this.provenanceChange,this._visualize.bind(this))}handleFilter(t){this.onFilter?.emit(t),setTimeout(()=>this._visualize(),t.filter?0:100)}toggleShow(t){this[this.overlayVisible?"onHide":"onShow"]?.emit(t),this.overlayVisible=!this.overlayVisible,this._visualize()}_visualize(){if(!this.visualize||!this.overlayVisible)return;let t;for(const o of this.options){const a=document.getElementById(this.mss.myId+o[this.dataKey]+"div");if(a&&a.parentElement){t=a.parentElement;break}}t&&this.mss.visualize(this.mode,t.offsetWidth-40,t.offsetHeight-24)}}return e.\u0275fac=function(t){return new(t||e)(ie(wf),ie(En),ie(Si),ie(wi),ie(wn),ie(dS),ie(Au))},e.\u0275cmp=mt({type:e,selectors:[["provenance-dropdown"]],viewQuery:function(t,i){if(1&t&&Mt(bke,5),2&t){let r;at(r=st())&&(i.pDropdown=r.first)}},inputs:{mode:"mode",selected:"selected",iconSize:"iconSize",visualize:"visualize",provenance:"provenance",freeze:"freeze"},outputs:{selectedChange:"selectedChange",provenanceChange:"provenanceChange"},features:[Zt([wf]),Dt],decls:6,vars:59,consts:[[1,"p-inputgroup","flex","flex-row","gap-3"],["pButton","","type","button","class","p-button-help p-button-text",3,"disabled","ngStyle","click",4,"ngIf"],[3,"scrollHeight","filter","name","panelStyle","styleClass","panelStyleClass","readonly","required","editable","appendTo","tabindex","placeholder","filterPlaceholder","filterLocale","inputId","selectId","dataKey","filterBy","autofocus","resetFilterOnHide","dropdownIcon","optionLabel","optionValue","optionDisabled","optionGroupLabel","optionGroupChildren","autoDisplayFirst","group","showClear","emptyFilterMessage","emptyMessage","lazy","virtualScroll","virtualScrollItemSize","virtualScrollOptions","overlayOptions","ariaFilterLabel","ariaLabel","ariaLabelledBy","filterMatchMode","maxlength","tooltip","tooltipPosition","tooltipPositionStyle","tooltipStyleClass","autofocusFilter","overlayDirection","disabled","itemSize","autoZIndex","baseZIndex","showTransitionOptions","hideTransitionOptions","options","filterValue","ngModel","onChange","onFilter","onFocus","onBlur","onClick","onShow","onHide","onClear","onLazyLoad","ngModelChange"],["pDropdown",""],["pTemplate","item"],["pTemplate","footer"],["pButton","","type","button",1,"p-button-help","p-button-text",3,"disabled","ngStyle","click"],["btn",""],[3,"icon","size"],[2,"position","relative","width","100%",3,"id"],["width","0","height","0",3,"id"],[2,"display","flex","justify-content","space-between","position","inherit"],[1,"custom-slider","temporal-slider"],[3,"value","highValue","options","userChangeEnd",4,"ngIf"],[3,"value","highValue","options","userChangeEnd"]],template:function(t,i){1&t&&(V(0,"div",0),N(1,Ake,3,6,"button",1),V(2,"p-dropdown",2,3),ge("onChange",function(){return i.onChange})("onFilter",function(o){return i.handleFilter(o)})("onFocus",function(){return i.onFocus})("onBlur",function(){return i.onBlur})("onClick",function(){return i.onClick})("onShow",function(o){return i.toggleShow(o)})("onHide",function(o){return i.toggleShow(o)})("onClear",function(){return i.onClear})("onLazyLoad",function(){return i.onLazyLoad})("ngModelChange",function(o){return i.getProvenance().interaction="user-change",i.selectedChange.emit(o)}),N(4,Ske,5,7,"ng-template",4),N(5,xke,2,1,"ng-template",5),j()()),2&t&&(G(1),R("ngIf",i.visualize),G(1),Hi(i.style),R("scrollHeight",i.scrollHeight)("filter",i.filter)("name",i.name)("panelStyle",i.panelStyle)("styleClass",(i.styleClass||"")+" provenance-dropdown")("panelStyleClass",(i.panelStyleClass||"")+"provenance-dropdown-panel panel"+i.getId())("readonly",i.readonly)("required",i.required)("editable",i.editable)("appendTo",i.appendTo)("tabindex",i.tabindex)("placeholder",i.placeholder)("filterPlaceholder",i.filterPlaceholder)("filterLocale",i.filterLocale)("inputId",i.inputId)("selectId",i.selectId)("dataKey",i.dataKey)("filterBy",i.filterBy)("autofocus",i.autofocus)("resetFilterOnHide",i.resetFilterOnHide)("dropdownIcon",i.dropdownIcon)("optionLabel",i.optionLabel)("optionValue",i.optionValue)("optionDisabled",i.optionDisabled)("optionGroupLabel",i.optionGroupLabel)("optionGroupChildren",i.optionGroupChildren)("autoDisplayFirst",i.autoDisplayFirst)("group",i.group)("showClear",i.showClear)("emptyFilterMessage",i.emptyFilterMessage)("emptyMessage",i.emptyMessage)("lazy",i.lazy)("virtualScroll",i.virtualScroll)("virtualScrollItemSize",i.virtualScrollItemSize)("virtualScrollOptions",i.virtualScrollOptions)("overlayOptions",i.myOverlayOptions)("ariaFilterLabel",i.ariaFilterLabel)("ariaLabel",i.ariaLabel)("ariaLabelledBy",i.ariaLabelledBy)("filterMatchMode",i.filterMatchMode)("maxlength",i.maxlength)("tooltip",i.tooltip)("tooltipPosition",i.tooltipPosition)("tooltipPositionStyle",i.tooltipPositionStyle)("tooltipStyleClass",i.tooltipStyleClass)("autofocusFilter",i.autofocusFilter)("overlayDirection",i.overlayDirection)("disabled",i.disabled)("itemSize",i.itemSize)("autoZIndex",i.autoZIndex)("baseZIndex",i.baseZIndex)("showTransitionOptions",i.showTransitionOptions)("hideTransitionOptions",i.hideTransitionOptions)("options",i.options)("filterValue",i.filterValue)("ngModel",i.selected))},dependencies:[Mi,or,Tg,lr,ip,Ay,uT,D6,ff,_9,Ky],styles:["div.provenance-dropdown-panel>div>ul{position:relative} div.provenance-dropdown-panel>div.temporal-slider{padding-right:1.25rem;padding-left:1.25rem} .provenance-dropdown{width:initial!important}",kw]}),e})(),xf=(()=>{class e extends Tg{get provenance(){return this._provenance}set provenance(t){this.provenance&&t?.revalidate&&(this._provenance=t,this.revalidateProvenance(t),this._visualize()),this._provenance=t}constructor(t,i,r,o){super(t,i,r,o,!1),this.mode=qy,this.id="",this.visualize=!0,this.freeze=!1,this.provenanceChange=new Pe,this.selectedChange=new Pe,this.data=[],this.minTime=void 0,this.oldMaxTime=void 0,this.maxTime=void 0,this.maxFrequency=0,this.interval=NaN,this.sliderHeight=0,this.buckets=new Map,this.el=i}initBuckets(t,i=this.value,r=this.highValue){this.buckets.set(i,{date:t,count:1,highValue:r,maxIndex:0}),null!=r&&(this.options.floorr&&this.buckets.set(r,{date:t,count:0,highValue:this.options.ceil})),this.maxFrequency=1}addBucket(t,i,r){if(null==r)return this.buckets.set(i,{date:t,count:(this.buckets.get(i)?.count||0)+1,maxIndex:this.data.length-1}),void(this.maxFrequency=Math.max(this.maxFrequency,this.buckets.get(i).count));const o=Array.from(this.buckets.entries()).sort((c,u)=>c[0]-u[0]);let a=[],s=!1,l=!1;o.forEach(([c,u])=>{if(!s&&!l&&ic&&a.push([c,{...u,highValue:i}]),a.push([i,{date:t,count:u.count+1,highValue:Math.min(r,u.highValue),maxIndex:this.data.length-1}]),this.maxFrequency=Math.max(this.maxFrequency,u.count+1),void(rc&&(a.push([c,{date:t,count:u.count+1,highValue:r,maxIndex:this.data.length-1}]),this.maxFrequency=Math.max(this.maxFrequency,u.count+1)),r{this.data.push(a),this.addBucket(a.timestamp,a.value[0],a.value[1])}),this.minTime=r.timestamp,this.maxTime=o.timestamp,this.oldMaxTime=i.length>1?i[i.length-2].timestamp:r.timestamp,this.value=o.value[0],this.highValue=o.value[1]}ngOnInit(){if(this.options={...this.options,floor:this.options.floor||0,ceil:this.options.ceil||100,step:this.options.step||1},this.provenance?.data?.length)return void(this.provenance.revalidate?this.revalidateProvenance(this.provenance):(this.data=this.provenance.data,this.minTime=this.provenance.minTime,this.oldMaxTime=this.provenance.oldMaxTime,this.maxTime=this.provenance.maxTime,this.maxFrequency=this.provenance.maxFrequency,this.buckets=this.provenance.buckets,this.value=this.provenance.value,this.highValue=this.provenance.highValue));const t=new Date;this.minTime=t,this.data=[{value:null==this.highValue?[this.value]:[this.value,this.highValue],timestamp:t}],this.initBuckets(t)}ngAfterViewInit(){this.provenance?.data?.length&&this._visualize()}ngOnDestroy(){clearInterval(this.interval)}draw(t,i,r,o){const a=this,s=Vn(this.provenanceSvg.nativeElement),l=Vn(this.aggregateSvg.nativeElement),c=i.copy(),u=vc().domain([0,this.maxFrequency]).range([0,this.sliderHeight-2]),d=Ig(Nw).domain("interaction"===this.mode?[0,this.data.length-1]:[this.minTime.getTime(),this.maxTime.getTime()]);l.select("g").selectAll("rect").remove();const p=Array.from(this.buckets.entries()).sort((_,v)=>_[1].date.getTime()-v[1].date.getTime()),f=Ow();l.selectAll("rect").data(p).join("rect").attr("x",([_])=>t(+_)).attr("y",([_,v])=>this.sliderHeight-u(v.count)).attr("width",([_,v])=>null!=this.highValue?t((this.options.floor||0)+v.highValue-+_):8).attr("height",([_,v])=>u(v.count)).attr("fill",([_,v])=>d("interaction"===this.mode?v.maxIndex:v.date.getTime())).attr("stroke","black").attr("stroke-width",([_,v])=>v.date.getTime()>=this.oldMaxTime?.getTime()?2:0).attr("stroke-dasharray",([_,v])=>v.date.getTime()===this.oldMaxTime?.getTime()?"4 1":"0 0").on("click",(_,v)=>{this.value=v[0],null!=v[1].highValue&&null!=this.highValue&&(this.highValue=v[1].highValue),this.onUserChangeEnd({value:v[0],highValue:this.highValue||void 0,pointerType:1},"aggregate-rect-click")}).on("mouseover",function(_,v){const{clientX:C,clientY:A}=_;dispatchEvent(new CustomEvent("provenance-widgets",{detail:{id:a.id,widget:null!=a.highValue?"range-slider":"slider",mode:a.mode,interaction:"aggregate-rect-mouseover",data:{lowValue:v[0],...v[1]}}})),Vn(this).attr("opacity",.5),f.style("opacity",1).style("display","block").style("left",`${C+10}px`).style("top",`${A+10}px`).select("div").html(`Label: ${a.el?.nativeElement?.dataset?.label||a.id}
Selected ${null==v[1].highValue?`value: ${v[0]}`:`range: [${v[0]}, ${v[1].highValue}]`}
# times selected: ${v[1].count}
Last selected at: ${v[1].date.toLocaleString()}
${Wy(v[1].maxIndex)}/${Wy(a.data.length-1)} selection`)}).on("mouseout",function(){Vn(this).attr("opacity",1),f.style("opacity",0).style("display","none")});let h=!1;(this.filterStart||this.filterEnd)&&(h=!0,o=o.reduce((_,v,C)=>("interaction"===this.mode?C>=this.filterStart&&C<=this.filterEnd&&_.push({...v,actualIndex:C}):v.timestamp>=this.filterStart&&v.timestamp<=this.filterEnd&&_.push(v),_),[]),c.domain([this.filterStart,this.filterEnd]));const g=ow().x(_=>t(_.value[r])).y((_,v)=>c("interaction"===this.mode?h?_.actualIndex??v:v:_.timestamp));s.select("g.body").selectAll(`.line-${r}`).data([o]).join("path").transition().duration(250).attr("class",`line-${r}`).attr("fill","none").attr("stroke","#495057").attr("stroke-width",1).attr("d",g);const m=s.select("g.body").selectAll(`.circle-${r}`).data(o).join("circle").on("click",(_,v)=>{this.value=v.value[0],null!=this.highValue&&(this.highValue=v.value[1]),this.onUserChangeEnd({value:v.value[0],highValue:this.highValue||void 0,pointerType:1},"temporal-circle-click")}).on("mouseover",function(_,v){const{clientX:C,clientY:A}=_;dispatchEvent(new CustomEvent("provenance-widgets",{detail:{id:a.id,widget:null!=a.highValue?"range-slider":"slider",mode:a.mode,interaction:"temporal-circle-mouseover",data:{...v,index:Vn(this).attr("data-index")}}})),f.style("opacity",1).style("display","block").style("left",`${C+10}px`).style("top",`${A+10}px`).select("div").html(`Label: ${a.el?.nativeElement?.dataset?.label||a.id}
Selected value: ${v.value[r]}
Selected at: ${v.timestamp.toLocaleString()}
${Wy(+Vn(this).attr("data-index"))}/${Wy(a.data.length-1)} selection
`)}).on("mouseout",()=>{f.style("opacity",0).style("display","none")});m.selectChild((_,v)=>`.${v}`).remove(),m.transition().duration(250).attr("class",`circle-${r}`).attr("data-index",(_,v)=>v).attr("cx",_=>t(_.value[r])).attr("cy",(_,v)=>c("interaction"===this.mode?h?_.actualIndex??v:v:_.timestamp)).attr("r",4).attr("fill",(_,v)=>d("interaction"===this.mode?h?_.actualIndex??v:v:_.timestamp)).attr("stroke","#495057").attr("stroke-width",1).style("cursor","pointer")}_visualize(){if(!this.visualize)return;const t=Vn(this.provenanceSvg.nativeElement),i=Vn(this.aggregateSvg.nativeElement),r=Vn(this.wrapper.nativeElement).select("ngx-slider").node(),o=r.offsetWidth-8;this.sliderHeight||(this.sliderHeight=parseInt(getComputedStyle(r).marginTop));const a=this.pButton.nativeElement.offsetWidth;t.attr("width",o+8).attr("height",258).style("transform","translateX(-1.25rem)").style("width",`calc(${a}px + 1rem + ${o+8}px)`),t.select("g.body").attr("style",`transform: translate(calc(${a}px + 1rem + 4px),5px)`),i.attr("width",o+8).attr("height",this.sliderHeight).style("transform",`translateX(calc(1rem + ${a}px))`);const s=vc().domain([this.options.floor,this.options.ceil]).range([0,parseInt(t.attr("width"))-8]),l="interaction"===this.mode?vc().domain([0,this.data.length-1]).range([0,250]):ew().domain([this.minTime,this.maxTime]).range([0,250]),c=rq(l.nice());"interaction"!==this.mode&&c.tickValues([this.minTime,this.maxTime]).tickFormat((d,p)=>0===p?"t=0":"now");const u=t.select(".axis");u.select("text").attr("x",-129),u.style("transform",`translate(calc(${a}px + 1rem + 4px),5px)`).call(c),this.brush=function yDe(){return function fR(e){var s,n=hDe,t=fDe,i=gDe,r=!0,o=Y6("start","brush","end"),a=6;function l(m){var _=m.property("__brush",g).selectAll(".overlay").data([xT("overlay")]);_.enter().append("rect").attr("class","overlay").attr("pointer-events","all").attr("cursor",qd.overlay).merge(_).each(function(){var C=pR(this).extent;Vn(this).attr("x",C[0][0]).attr("y",C[0][1]).attr("width",C[1][0]-C[0][0]).attr("height",C[1][1]-C[0][1])}),m.selectAll(".selection").data([xT("selection")]).enter().append("rect").attr("class","selection").attr("cursor",qd.selection).attr("fill","#777").attr("fill-opacity",.3).attr("stroke","#fff").attr("shape-rendering","crispEdges");var v=m.selectAll(".handle").data(e.handles,function(C){return C.type});v.exit().remove(),v.enter().append("rect").attr("class",function(C){return"handle handle--"+C.type}).attr("cursor",function(C){return qd[C.type]}),m.each(c).attr("fill","none").attr("pointer-events","all").on("mousedown.brush",p).filter(i).on("touchstart.brush",p).on("touchmove.brush",f).on("touchend.brush touchcancel.brush",h).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function c(){var m=Vn(this),_=pR(this).selection;_?(m.selectAll(".selection").style("display",null).attr("x",_[0][0]).attr("y",_[0][1]).attr("width",_[1][0]-_[0][0]).attr("height",_[1][1]-_[0][1]),m.selectAll(".handle").style("display",null).attr("x",function(v){return"e"===v.type[v.type.length-1]?_[1][0]-a/2:_[0][0]-a/2}).attr("y",function(v){return"s"===v.type[0]?_[1][1]-a/2:_[0][1]-a/2}).attr("width",function(v){return"n"===v.type||"s"===v.type?_[1][0]-_[0][0]+a:a}).attr("height",function(v){return"e"===v.type||"w"===v.type?_[1][1]-_[0][1]+a:a})):m.selectAll(".selection,.handle").style("display","none").attr("x",null).attr("y",null).attr("width",null).attr("height",null)}function u(m,_,v){var C=m.__brush.emitter;return!C||v&&C.clean?new d(m,_,v):C}function d(m,_,v){this.that=m,this.args=_,this.state=m.__brush,this.active=0,this.clean=v}function p(m){if((!s||m.touches)&&t.apply(this,arguments)){var W,q,K,F,L,Y,$,U,ce,fe,Le,_=this,v=m.target.__data__.type,C="selection"===(r&&m.metaKey?v="overlay":v)?tK:r&&m.altKey?ky:My,A=e===VS?null:dDe[v],S=e===YS?null:pDe[v],I=pR(_),w=I.extent,O=I.selection,B=w[0][0],te=w[0][1],M=w[1][0],P=w[1][1],ee=0,oe=0,se=A&&S&&r&&m.shiftKey,me=Array.from(m.touches||[m],ze=>{const Ut=ze.identifier;return(ze=LS(ze,_)).point0=ze.slice(),ze.identifier=Ut,ze});oR(_);var Ge=u(_,arguments,!0).beforestart();if("overlay"===v){O&&(ce=!0);const ze=[me[0],me[1]||me[0]];I.selection=O=[[W=e===VS?B:jo(ze[0][0],ze[1][0]),K=e===YS?te:jo(ze[0][1],ze[1][1])],[L=e===VS?M:Uo(ze[0][0],ze[1][0]),$=e===YS?P:Uo(ze[0][1],ze[1][1])]],me.length>1&&qe(m)}else W=O[0][0],K=O[0][1],L=O[1][0],$=O[1][1];q=W,F=K,Y=L,U=$;var ye=Vn(_).attr("pointer-events","none"),Ee=ye.selectAll(".overlay").attr("cursor",qd[v]);if(m.touches)Ge.moved=he,Ge.ended=ut;else{var ke=Vn(m.view).on("mousemove.brush",he,!0).on("mouseup.brush",ut,!0);r&&ke.on("keydown.brush",function zt(ze){switch(ze.keyCode){case 16:se=A&&S;break;case 18:C===My&&(A&&(L=Y-ee*A,W=q+ee*A),S&&($=U-oe*S,K=F+oe*S),C=ky,qe(ze));break;case 32:(C===My||C===ky)&&(A<0?L=Y-ee:A>0&&(W=q-ee),S<0?$=U-oe:S>0&&(K=F-oe),C=uR,Ee.attr("cursor",qd.selection),qe(ze));break;default:return}cR(ze)},!0).on("keyup.brush",function ht(ze){switch(ze.keyCode){case 16:se&&(fe=Le=se=!1,qe(ze));break;case 18:C===ky&&(A<0?L=Y:A>0&&(W=q),S<0?$=U:S>0&&(K=F),C=My,qe(ze));break;case 32:C===uR&&(ze.altKey?(A&&(L=Y-ee*A,W=q+ee*A),S&&($=U-oe*S,K=F+oe*S),C=ky):(A<0?L=Y:A>0&&(W=q),S<0?$=U:S>0&&(K=F),C=My),Ee.attr("cursor",qd[v]),qe(ze));break;default:return}cR(ze)},!0),function E3e(e){var n=e.document.documentElement,t=Vn(e).on("dragstart.drag",W6,j6);"onselectstart"in n?t.on("selectstart.drag",W6,j6):(n.__noselect=n.style.MozUserSelect,n.style.MozUserSelect="none")}(m.view)}c.call(_),Ge.start(m,C.name)}function he(ze){for(const Ut of ze.changedTouches||[ze])for(const $i of me)$i.identifier===Ut.identifier&&($i.cur=LS(Ut,_));if(se&&!fe&&!Le&&1===me.length){const Ut=me[0];nK(Ut.cur[0]-Ut[0])>nK(Ut.cur[1]-Ut[1])?Le=!0:fe=!0}for(const Ut of me)Ut.cur&&(Ut[0]=Ut.cur[0],Ut[1]=Ut.cur[1]);ce=!0,cR(ze),qe(ze)}function qe(ze){const Ut=me[0],$i=Ut.point0;var Ai;switch(ee=Ut[0]-$i[0],oe=Ut[1]-$i[1],C){case uR:case tK:A&&(ee=Uo(B-W,jo(M-L,ee)),q=W+ee,Y=L+ee),S&&(oe=Uo(te-K,jo(P-$,oe)),F=K+oe,U=$+oe);break;case My:me[1]?(A&&(q=Uo(B,jo(M,me[0][0])),Y=Uo(B,jo(M,me[1][0])),A=1),S&&(F=Uo(te,jo(P,me[0][1])),U=Uo(te,jo(P,me[1][1])),S=1)):(A<0?(ee=Uo(B-W,jo(M-W,ee)),q=W+ee,Y=L):A>0&&(ee=Uo(B-L,jo(M-L,ee)),q=W,Y=L+ee),S<0?(oe=Uo(te-K,jo(P-K,oe)),F=K+oe,U=$):S>0&&(oe=Uo(te-$,jo(P-$,oe)),F=K,U=$+oe));break;case ky:A&&(q=Uo(B,jo(M,W-ee*A)),Y=Uo(B,jo(M,L+ee*A))),S&&(F=Uo(te,jo(P,K-oe*S)),U=Uo(te,jo(P,$+oe*S)))}Y{const p=d.selection;p?(this.filterStart=l.invert(p[0]),this.filterEnd=l.invert(p[1])):(this.filterStart=void 0,this.filterEnd=void 0),dispatchEvent(new CustomEvent("provenance-widgets",{detail:{id:this.id,widget:null!=this.highValue?"range-slider":"slider",mode:this.mode,interaction:"brush-end",data:{selection:p}}})),this.draw(s,l,0,this.data),null!=this.highValue&&this.draw(s,l,1,this.data)}),u.call(this.brush),this.draw(s,l,0,this.data),null!=this.highValue&&this.draw(s,l,1,this.data),u.selectAll("rect").raise()}onUserChangeEnd(t,i="user-change-end"){this.userChangeEnd.emit(t),this.selectedChange?.emit(t);const r=null!=t.highValue?[t.value,t.highValue]:[t.value],o=new Date,a={value:r,timestamp:o};if(dispatchEvent(new CustomEvent("provenance-widgets",{detail:{id:this.id,widget:null!=this.highValue?"range-slider":"slider",mode:this.mode,interaction:i,data:{...a}}})),this.freeze)return;const s=[a];"time"===this.mode&&s.push(a),this.data=[...this.data,...s],this.addBucket(o,t.value,t.highValue),this.minTime||(this.minTime=o),this.oldMaxTime=this.maxTime||this.minTime,this.maxTime=o,"time"===this.mode&&isNaN(this.interval)&&(this.interval=setInterval(()=>{const l=new Date;this.oldMaxTime=this.maxTime,this.maxTime=l;const c=this.data.slice(-1)[0];this.data=[...this.data.slice(0,-1),{value:c.value,timestamp:l}],this._visualize()},1e3)),this.provenanceChange?.emit({data:this.data,minTime:this.minTime,oldMaxTime:this.oldMaxTime,maxTime:this.maxTime,maxFrequency:this.maxFrequency,buckets:this.buckets,value:this.value,highValue:this.highValue}),this._visualize()}handleProvenanceButtonClick(t,i,r){dispatchEvent(new CustomEvent("provenance-widgets",{detail:{id:this.id,widget:this.highValue?"range-slider":"slider",mode:this.mode,interaction:"provenance-button-click",initialProvenanceMode:r.overlayVisible?"temporal":"aggregate"}})),r.toggle(t,i)}}return e.\u0275fac=function(t){return new(t||e)(ie(Si),ie(En),ie(wi),ie(wn))},e.\u0275cmp=mt({type:e,selectors:[["provenance-slider"]],viewQuery:function(t,i){if(1&t&&(Mt(sX,5),Mt(lX,5),Mt(Fke,5),Mt(cX,5)),2&t){let r;at(r=st())&&(i.wrapper=r.first),at(r=st())&&(i.provenanceSvg=r.first),at(r=st())&&(i.aggregateSvg=r.first),at(r=st())&&(i.pButton=r.first)}},inputs:{mode:"mode",id:"id",provenance:"provenance",visualize:"visualize",freeze:"freeze"},outputs:{provenanceChange:"provenanceChange",selectedChange:"selectedChange"},features:[Dt],decls:15,vars:7,consts:[[3,"dismissable"],["op",""],[1,"slider-provenance"],["provenance",""],[1,"axis"],["transform","rotate(-90)","text-anchor","middle","y","-33","fill","black"],[1,"body"],[1,"flex","flex-row","gap-3","custom-slider"],["wrapper",""],["pButton","","type","button","class","p-button-help p-button-text",3,"disabled","ngStyle","click",4,"ngIf"],["width","0","height","0",2,"position","absolute"],["aggregate",""],[3,"value","highValue","options","valueChange","highValueChange","userChange","userChangeEnd","userChangeStart"],["pButton","","type","button",1,"p-button-help","p-button-text",3,"disabled","ngStyle","click"],["provenanceButton",""],[3,"icon"]],template:function(t,i){1&t&&(V(0,"p-overlayPanel",0,1),Jn(),V(2,"svg",2,3)(4,"g",4)(5,"text",5),Ie(6),j()(),Te(7,"g",6),j()(),Qp(),V(8,"div",7,8),N(10,Dke,3,5,"button",9),Jn(),V(11,"svg",10,11),Te(13,"g"),j(),Qp(),V(14,"ngx-slider",12),ge("valueChange",function(o){return i.value=o})("highValueChange",function(o){return i.highValue=o})("userChange",function(){return i.userChange})("userChangeEnd",function(o){return i.onUserChangeEnd(o)})("userChangeStart",function(){return i.userChangeStart})("valueChange",function(){return i.valueChange})("highValueChange",function(){return i.highValueChange}),j()()),2&t&&(R("dismissable",!1),G(5),tt("font-size","1rem"),G(1),gr(" ","interaction"===i.mode?"Sequence of Interaction (0 = first)":"time"," "),G(4),R("ngIf",i.visualize),G(4),R("value",i.value)("highValue",i.highValue)("options",i.options))},dependencies:[Mi,or,Tg,eX,ip,Ky],styles:["provenance-slider{display:initial!important} .p-overlaypanel{box-shadow:none;margin-top:0} .p-overlaypanel:before{display:none} .p-overlaypanel:after{display:none} .p-overlaypanel-content{box-shadow:0 1px 3px #0000004d;border:0 none;border-radius:6px;color:#495057}",kw]}),e})(),Lke=(()=>{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=en({type:e}),e.\u0275inj=b({imports:[jn,Vxe,tX,Og,xw,dT,WZ,I6e,q6e,T7e,Mw,Iw,PLe]}),e})();function Mke(e,n){1&e&&Ie(0," Single Slider ")}function kke(e,n){if(1&e){const t=Be();V(0,"provenance-slider",8),ge("valueChange",function(r){return X(t),Q(E().widgetModel.singleSlider.model.value=r)}),j()}if(2&e){const t=E();R("value",t.widgetModel.singleSlider.model.value)("options",t.widgetModel.singleSlider.config)("mode",t.widgetModel.singleSlider.mode.value)}}function Pke(e,n){1&e&&Ie(0," Range Slider ")}function Nke(e,n){if(1&e){const t=Be();V(0,"provenance-slider",9),ge("valueChange",function(r){return X(t),Q(E().widgetModel.rangeSlider.model.value=r)})("highValueChange",function(r){return X(t),Q(E().widgetModel.rangeSlider.model.highValue=r)}),j()}if(2&e){const t=E();R("value",t.widgetModel.rangeSlider.model.value)("highValue",t.widgetModel.rangeSlider.model.highValue)("options",t.widgetModel.rangeSlider.config)("mode",t.widgetModel.rangeSlider.mode.value)}}function Oke(e,n){1&e&&Ie(0," Radiobutton Group ")}function Hke(e,n){if(1&e){const t=Be();V(0,"provenance-radiobutton",10),ge("selectedChange",function(r){return X(t),Q(E().widgetModel.radiobuttonGroup.model.value=r)}),j()}if(2&e){const t=E();R("data",t.widgetModel.radiobuttonGroup.model.options)("selected",t.widgetModel.radiobuttonGroup.model.value)("mode",t.widgetModel.radiobuttonGroup.mode.value)}}function Gke(e,n){1&e&&Ie(0," Checkbox Group ")}function Bke(e,n){if(1&e){const t=Be();V(0,"provenance-checkbox",11),ge("selectedChange",function(r){return X(t),Q(E().widgetModel.checkboxGroup.model.value=r)}),j()}if(2&e){const t=E();R("data",t.widgetModel.checkboxGroup.model.options)("selected",t.widgetModel.checkboxGroup.model.value)("mode",t.widgetModel.checkboxGroup.mode.value)}}function Yke(e,n){1&e&&Ie(0," Single Select Dropdown ")}function Vke(e,n){if(1&e){const t=Be();V(0,"provenance-dropdown",12),ge("selectedChange",function(r){return X(t),Q(E().widgetModel.singleSelectDropdown.model.value=r)}),j()}if(2&e){const t=E();R("options",t.widgetModel.singleSelectDropdown.model.options)("mode",t.widgetModel.singleSelectDropdown.mode.value)("selected",t.widgetModel.singleSelectDropdown.model.value)("showClear",!0)("filter",!0)}}function zke(e,n){1&e&&Ie(0," Multi Select Dropdown ")}function $ke(e,n){if(1&e){const t=Be();V(0,"provenance-multiselect",13),ge("selectedChange",function(r){return X(t),Q(E().widgetModel.multiSelectDropdown.model.value=r)}),j()}if(2&e){const t=E();R("options",t.widgetModel.multiSelectDropdown.model.options)("mode",t.widgetModel.multiSelectDropdown.mode.value)("selected",t.widgetModel.multiSelectDropdown.model.value)("showClear",!0)("filter",!0)}}function Uke(e,n){1&e&&Ie(0," Input Text ")}function jke(e,n){if(1&e){const t=Be();V(0,"provenance-inputtext",14),ge("valueChange",function(r){return X(t),Q(E().widgetModel.inputText.model.value=r)}),j()}if(2&e){const t=E();R("mode",t.widgetModel.inputText.mode.value)("value",t.widgetModel.inputText.model.value)}}let uX=(()=>{class e{constructor(t,i){this.router=t,this.route=i,this.widgetModel={singleSlider:{model:{value:25},config:{floor:0,ceil:100,showTicks:!0,tickStep:5},mode:{options:[{label:"Interaction",value:"interaction"},{label:"Time",value:"time"}],value:"interaction"}},rangeSlider:{config:{floor:0,ceil:100,showTicks:!0,tickStep:15},model:{value:0,highValue:100},mode:{options:[{label:"Interaction",value:"interaction"},{label:"Time",value:"time"}],value:"interaction"}},singleSelectDropdown:{model:{options:[{name:"New York",code:"NY"},{name:"Rome",code:"RM"},{name:"London",code:"LDN"},{name:"Istanbul",code:"IST"},{name:"Paris",code:"PRS"}],value:{name:"New York",code:"NY"}},mode:{options:[{label:"Interaction",value:"interaction"},{label:"Time",value:"time"}],value:"interaction"}},multiSelectDropdown:{model:{options:[{name:"New York",code:"NY"},{name:"Rome",code:"RM"},{name:"London",code:"LDN"},{name:"Istanbul",code:"IST"},{name:"Paris",code:"PRS"}],value:[{name:"New York",code:"NY"},{name:"Rome",code:"RM"}]},mode:{options:[{label:"Interaction",value:"interaction"},{label:"Time",value:"time"}],value:"interaction"}},checkboxGroup:{model:{options:[{label:"New York",value:"NY"},{label:"Rome",value:"RM"},{label:"London",value:"LDN"},{label:"Istanbul",value:"IST"},{label:"Paris",value:"PRS"}],value:["NY","RM"]},mode:{options:[{label:"Interaction",value:"interaction"},{label:"Time",value:"time"}],value:"interaction"}},radiobuttonGroup:{model:{options:[{label:"New York",value:"NY"},{label:"Rome",value:"RM"},{label:"London",value:"LDN"},{label:"Istanbul",value:"IST"},{label:"Paris",value:"PRS"}],value:"NY"},mode:{options:[{label:"Interaction",value:"interaction"},{label:"Time",value:"time"}],value:"interaction"}},inputText:{model:{value:null},mode:{options:[{label:"Interaction",value:"interaction"},{label:"Time",value:"time"}],value:"interaction"}}}}ngOnInit(){}ngAfterViewInit(){}}return e.\u0275fac=function(t){return new(t||e)(ie(ar),ie(rs))},e.\u0275cmp=mt({type:e,selectors:[["playground"]],features:[Zt([])],decls:35,vars:0,consts:[[1,"container"],[1,"row"],[1,"col-md-12"],[1,"text-center"],[1,"col-md-3","mt-md","mb-md"],[1,"w-100"],["pTemplate","subtitle"],["pTemplate","content"],["ngDefaultControl","","name","name-singleSlider","id","id-singleSlider",3,"value","options","mode","valueChange"],["ngDefaultControl","","name","name-rangeSlider","id","id-rangeSlider",3,"value","highValue","options","mode","valueChange","highValueChange"],["ngDefaultControl","","name","name-radiobuttonGroup","id","id-radiobuttonGroup",3,"data","selected","mode","selectedChange"],["ngDefaultControl","","name","name-checkboxGroup","id","id-checkboxGroup",3,"data","selected","mode","selectedChange"],["ngDefaultControl","","name","name-singleSelectDropdown","id","id-singleSelectDropdown","optionLabel","name","dataKey","code","placeholder","Select one option",3,"options","mode","selected","showClear","filter","selectedChange"],["ngDefaultControl","","name","name-multiSelectDropdown","id","id-multiSelectDropdown","optionLabel","name","dataKey","code","placeholder","Select option(s)",3,"options","mode","selected","showClear","filter","selectedChange"],["ngDefaultControl","","name","inputText","id","id-inputText",3,"mode","value","valueChange"]],template:function(t,i){1&t&&(V(0,"div",0)(1,"div",1)(2,"div",2),Te(3,"br"),V(4,"h4",3),Ie(5,"Playground"),j()()(),V(6,"div",1)(7,"div",4)(8,"p-card",5),N(9,Mke,1,0,"ng-template",6),N(10,kke,1,3,"ng-template",7),j()(),V(11,"div",4)(12,"p-card",5),N(13,Pke,1,0,"ng-template",6),N(14,Nke,1,4,"ng-template",7),j()(),V(15,"div",4)(16,"p-card",5),N(17,Oke,1,0,"ng-template",6),N(18,Hke,1,3,"ng-template",7),j()(),V(19,"div",4)(20,"p-card",5),N(21,Gke,1,0,"ng-template",6),N(22,Bke,1,3,"ng-template",7),j()(),V(23,"div",4)(24,"p-card",5),N(25,Yke,1,0,"ng-template",6),N(26,Vke,1,5,"ng-template",7),j()(),V(27,"div",4)(28,"p-card",5),N(29,zke,1,0,"ng-template",6),N(30,$ke,1,5,"ng-template",7),j()(),V(31,"div",4)(32,"p-card",5),N(33,Uke,1,0,"ng-template",6),N(34,jke,1,2,"ng-template",7),j()()()())},dependencies:[bu,lr,pT,xf,Hw,Zy,UT,Gw,Bw],styles:[".p-multiselect-panel{width:250px!important}"]}),e})();function Wke(e,n){1&e&&Ie(0," Single Slider ")}function qke(e,n){if(1&e){const t=Be();V(0,"provenance-slider",8),ge("valueChange",function(r){return X(t),Q(E().widgetModel.singleSlider.model.value=r)})("provenanceChange",function(r){return X(t),Q(E().widgetModel.singleSlider.model.provenance=r)})("provenanceChange",function(r){return X(t),Q(E().widgetUpdated(r,"singleSlider"))}),j()}if(2&e){const t=E();R("value",t.widgetModel.singleSlider.model.value)("provenance",t.widgetModel.singleSlider.model.provenance)("options",t.widgetModel.singleSlider.config)("mode",t.widgetModel.singleSlider.mode.value)("freeze",t.widgetModel.singleSlider.isFrozen)}}function Kke(e,n){1&e&&Ie(0," Range Slider ")}function Zke(e,n){if(1&e){const t=Be();V(0,"provenance-slider",9),ge("valueChange",function(r){return X(t),Q(E().widgetModel.rangeSlider.model.value=r)})("highValueChange",function(r){return X(t),Q(E().widgetModel.rangeSlider.model.highValue=r)})("provenanceChange",function(r){return X(t),Q(E().widgetModel.rangeSlider.model.provenance=r)})("provenanceChange",function(r){return X(t),Q(E().widgetUpdated(r,"rangeSlider"))}),j()}if(2&e){const t=E();R("value",t.widgetModel.rangeSlider.model.value)("highValue",t.widgetModel.rangeSlider.model.highValue)("provenance",t.widgetModel.rangeSlider.model.provenance)("options",t.widgetModel.rangeSlider.config)("mode",t.widgetModel.rangeSlider.mode.value)("freeze",t.widgetModel.rangeSlider.isFrozen)}}function Xke(e,n){1&e&&Ie(0," Radiobutton Group ")}function Qke(e,n){if(1&e){const t=Be();V(0,"provenance-radiobutton",10),ge("selectedChange",function(r){return X(t),Q(E().widgetModel.radioButtonGroup.model.value=r)})("provenanceChange",function(r){return X(t),Q(E().widgetModel.radioButtonGroup.model.provenance=r)})("provenanceChange",function(r){return X(t),Q(E().widgetUpdated(r,"radioButtonGroup"))}),j()}if(2&e){const t=E();R("selected",t.widgetModel.radioButtonGroup.model.value)("provenance",t.widgetModel.radioButtonGroup.model.provenance)("data",t.widgetModel.radioButtonGroup.model.options)("mode",t.widgetModel.radioButtonGroup.mode.value)("freeze",t.widgetModel.radioButtonGroup.isFrozen)}}function Jke(e,n){1&e&&Ie(0," Checkbox Group ")}function e8e(e,n){if(1&e){const t=Be();V(0,"provenance-checkbox",11),ge("selectedChange",function(r){return X(t),Q(E().widgetModel.checkboxGroup.model.value=r)})("provenanceChange",function(r){return X(t),Q(E().widgetModel.checkboxGroup.model.provenance=r)})("provenanceChange",function(r){return X(t),Q(E().widgetUpdated(r,"checkboxGroup"))}),j()}if(2&e){const t=E();R("selected",t.widgetModel.checkboxGroup.model.value)("provenance",t.widgetModel.checkboxGroup.model.provenance)("data",t.widgetModel.checkboxGroup.model.options)("mode",t.widgetModel.checkboxGroup.mode.value)("freeze",t.widgetModel.checkboxGroup.isFrozen)}}function t8e(e,n){1&e&&Ie(0," Single Select Dropdown ")}function n8e(e,n){if(1&e){const t=Be();V(0,"provenance-dropdown",12),ge("selectedChange",function(r){return X(t),Q(E().widgetModel.singleSelectDropdown.model.value=r)})("provenanceChange",function(r){return X(t),Q(E().widgetModel.singleSelectDropdown.model.provenance=r)})("provenanceChange",function(r){return X(t),Q(E().widgetUpdated(r,"singleSelectDropdown"))}),j()}if(2&e){const t=E();R("options",t.widgetModel.singleSelectDropdown.model.options)("mode",t.widgetModel.singleSelectDropdown.mode.value)("selected",t.widgetModel.singleSelectDropdown.model.value)("showClear",!0)("filter",!0)("provenance",t.widgetModel.singleSelectDropdown.model.provenance)("freeze",t.widgetModel.singleSelectDropdown.isFrozen)}}function i8e(e,n){1&e&&Ie(0," Multi Select Dropdown ")}function r8e(e,n){if(1&e){const t=Be();V(0,"provenance-multiselect",13),ge("selectedChange",function(r){return X(t),Q(E().widgetModel.multiSelectDropdown.model.value=r)})("provenanceChange",function(r){return X(t),Q(E().widgetModel.multiSelectDropdown.model.provenance=r)})("provenanceChange",function(r){return X(t),Q(E().widgetUpdated(r,"multiSelectDropdown"))}),j()}if(2&e){const t=E();R("options",t.widgetModel.multiSelectDropdown.model.options)("selected",t.widgetModel.multiSelectDropdown.model.value)("provenance",t.widgetModel.multiSelectDropdown.model.provenance)("mode",t.widgetModel.multiSelectDropdown.mode.value)("showClear",!0)("filter",!0)("freeze",t.widgetModel.multiSelectDropdown.isFrozen)}}function o8e(e,n){1&e&&Ie(0," Input Text ")}function a8e(e,n){if(1&e){const t=Be();V(0,"provenance-inputtext",14),ge("valueChange",function(r){return X(t),Q(E().widgetModel.inputText.model.value=r)})("provenanceChange",function(r){return X(t),Q(E().widgetModel.inputText.model.provenance=r)})("provenanceChange",function(r){return X(t),Q(E().widgetUpdated(r,"inputText"))}),j()}if(2&e){const t=E();R("value",t.widgetModel.inputText.model.value)("provenance",t.widgetModel.inputText.model.provenance)("mode",t.widgetModel.inputText.mode.value)("freeze",t.widgetModel.inputText.isFrozen)}}let dX=(()=>{class e{constructor(t,i){this.router=t,this.route=i}widgetUpdated(t,i){console.log(i,this.widgetModel[i].model.provenance)}ngAfterViewInit(){}ngOnInit(){this.widgetModel={singleSlider:{isFrozen:!0,model:{value:25,provenance:{revalidate:!0,data:[{value:[25],timestamp:new Date("2024-03-05T03:44:05.234Z")},{value:[20],timestamp:new Date("2024-03-05T03:44:08.566Z")},{value:[35],timestamp:new Date("2024-03-05T03:44:09.020Z")},{value:[45],timestamp:new Date("2024-03-05T03:44:09.784Z")},{value:[40],timestamp:new Date("2024-03-05T03:44:10.994Z")},{value:[50],timestamp:new Date("2024-03-05T03:44:11.478Z")},{value:[45],timestamp:new Date("2024-03-05T03:44:12.547Z")},{value:[40],timestamp:new Date("2024-03-05T03:44:13.240Z")},{value:[30],timestamp:new Date("2024-03-05T03:44:13.885Z")},{value:[40],timestamp:new Date("2024-03-05T03:44:14.457Z")},{value:[10],timestamp:new Date("2024-03-05T03:44:15.818Z")},{value:[20],timestamp:new Date("2024-03-05T03:44:16.361Z")},{value:[25],timestamp:new Date("2024-03-05T03:44:16.737Z")},{value:[35],timestamp:new Date("2024-03-05T03:44:17.315Z")},{value:[30],timestamp:new Date("2024-03-05T03:44:18.032Z")},{value:[30],timestamp:new Date("2024-03-05T03:44:18.757Z")},{value:[30],timestamp:new Date("2024-03-05T03:44:19.027Z")},{value:[35],timestamp:new Date("2024-03-05T03:44:19.433Z")},{value:[25],timestamp:new Date("2024-03-05T03:44:20.095Z")},{value:[20],timestamp:new Date("2024-03-05T03:44:20.828Z")},{value:[65],timestamp:new Date("2024-03-05T03:44:21.345Z")}]}},config:{floor:0,ceil:100,showTicks:!0,tickStep:5},mode:{options:[{label:"Interaction",value:"interaction"},{label:"Time",value:"time"}],value:"interaction"}},rangeSlider:{config:{floor:0,ceil:250,showTicks:!0,tickStep:15},isFrozen:!0,model:{value:75,highValue:180,provenance:{revalidate:!0,data:[{value:[105,180],timestamp:new Date("2024-03-05T04:12:58.558Z")},{value:[135,180],timestamp:new Date("2024-03-05T04:12:59.770Z")},{value:[135,210],timestamp:new Date("2024-03-05T04:13:00.557Z")}]}},mode:{options:[{label:"Interaction",value:"interaction"},{label:"Time",value:"time"}],value:"interaction"}},singleSelectDropdown:{isFrozen:!0,model:{options:[{name:"New York",code:"NY"},{name:"Rome",code:"RM"},{name:"London",code:"LDN"}],value:{name:"London",code:"LDN"},provenance:{revalidate:!0,selections:[{value:["NY"],timestamp:new Date("2024-03-05T04:24:54.726Z")},{value:["RM"],timestamp:new Date("2024-03-05T04:25:47.060Z")},{value:["NY"],timestamp:new Date("2024-03-05T04:25:49.200Z")},{value:["RM"],timestamp:new Date("2024-03-05T04:25:53.250Z")},{value:["RM"],timestamp:new Date("2024-03-05T04:25:53.772Z")}]}},mode:{options:[{label:"Interaction",value:"interaction"},{label:"Time",value:"time"}],value:"interaction"}},multiSelectDropdown:{isFrozen:!0,model:{options:[{name:"New York",code:"NY"},{name:"Rome",code:"RM"},{name:"London",code:"LDN"}],value:[{name:"London",code:"LDN"}],provenance:{revalidate:!0,selections:[{value:["RM"],timestamp:new Date("2024-03-05T05:08:43.777Z")},{value:["NY"],timestamp:new Date("2024-03-05T05:08:46.654Z")}]}},mode:{options:[{label:"Interaction",value:"interaction"},{label:"Time",value:"time"}],value:"interaction"}},checkboxGroup:{isFrozen:!0,model:{options:[{label:"New York",value:"NY"},{label:"Rome",value:"RM"},{label:"London",value:"LDN"}],value:["NY"],provenance:{revalidate:!0,selections:[{value:["NY","RM"],timestamp:new Date("2024-03-05T05:08:43.777Z")},{value:["NY"],timestamp:new Date("2024-03-05T05:08:46.654Z")},{value:["NY"],timestamp:new Date("2024-03-05T05:08:47.246Z")},{value:["NY","RM"],timestamp:new Date("2024-03-05T05:08:47.795Z")}]}},mode:{options:[{label:"Interaction",value:"interaction"},{label:"Time",value:"time"}],value:"interaction"}},radioButtonGroup:{isFrozen:!0,model:{options:[{label:"New York",value:"NY"},{label:"Rome",value:"RM"},{label:"London",value:"LDN"}],value:"NY",provenance:{revalidate:!0,selections:[{value:["NY"],timestamp:new Date("2024-03-05T04:24:54.726Z")},{value:["RM"],timestamp:new Date("2024-03-05T04:25:47.060Z")},{value:["NY"],timestamp:new Date("2024-03-05T04:25:57.763Z")}]}},mode:{options:[{label:"Interaction",value:"interaction"},{label:"Time",value:"time"}],value:"interaction"}},inputText:{isFrozen:!0,model:{value:"New York",provenance:{revalidate:!0,data:[{value:"London",timestamp:new Date("2024-03-05T03:58:03.965Z")},{value:"New York",timestamp:new Date("2024-03-05T03:58:07.602Z")},{value:"London",timestamp:new Date("2024-03-05T03:58:09.639Z")},{value:"New York",timestamp:new Date("2024-03-05T03:58:11.539Z")}]}},mode:{options:[{label:"Interaction",value:"interaction"},{label:"Time",value:"time"}],value:"interaction"}}}}}return e.\u0275fac=function(t){return new(t||e)(ie(ar),ie(rs))},e.\u0275cmp=mt({type:e,selectors:[["scented-widgets"]],features:[Zt([])],decls:35,vars:0,consts:[[1,"container"],[1,"row"],[1,"col-md-12"],[1,"text-center"],[1,"col-md-3","mt-md"],[1,"w-100"],["pTemplate","subtitle"],["pTemplate","content"],["ngDefaultControl","","name","name-singleSlider","id","id-singleSlider",3,"value","provenance","options","mode","freeze","valueChange","provenanceChange"],["ngDefaultControl","","name","name-rangeSlider","id","id-rangeSlider",3,"value","highValue","provenance","options","mode","freeze","valueChange","highValueChange","provenanceChange"],["ngDefaultControl","","name","name-radioButtonGroup","id","id-radioButtonGroup",3,"selected","provenance","data","mode","freeze","selectedChange","provenanceChange"],["ngDefaultControl","","name","name-checkboxGroup","id","id-checkboxGroup",3,"selected","provenance","data","mode","freeze","selectedChange","provenanceChange"],["ngDefaultControl","","name","name-singleSelectDropdown","id","id-singleSelectDropdown","optionLabel","name","dataKey","code","placeholder","Select one option",3,"options","mode","selected","showClear","filter","provenance","freeze","selectedChange","provenanceChange"],["ngDefaultControl","","name","name-multiSelectDropdown","id","id-multiSelectDropdown","optionLabel","name","dataKey","code","placeholder","Select option(s)",3,"options","selected","provenance","mode","showClear","filter","freeze","selectedChange","provenanceChange"],["ngDefaultControl","","name","inputText","id","id-inputText",3,"value","provenance","mode","freeze","valueChange","provenanceChange"]],template:function(t,i){1&t&&(V(0,"div",0)(1,"div",1)(2,"div",2),Te(3,"br"),V(4,"h4",3),Ie(5,"Scented Widgets"),j()()(),V(6,"div",1)(7,"div",4)(8,"p-card",5),N(9,Wke,1,0,"ng-template",6),N(10,qke,1,5,"ng-template",7),j()(),V(11,"div",4)(12,"p-card",5),N(13,Kke,1,0,"ng-template",6),N(14,Zke,1,6,"ng-template",7),j()(),V(15,"div",4)(16,"p-card",5),N(17,Xke,1,0,"ng-template",6),N(18,Qke,1,5,"ng-template",7),j()(),V(19,"div",4)(20,"p-card",5),N(21,Jke,1,0,"ng-template",6),N(22,e8e,1,5,"ng-template",7),j()(),V(23,"div",4)(24,"p-card",5),N(25,t8e,1,0,"ng-template",6),N(26,n8e,1,7,"ng-template",7),j()(),V(27,"div",4)(28,"p-card",5),N(29,i8e,1,0,"ng-template",6),N(30,r8e,1,7,"ng-template",7),j()(),V(31,"div",4)(32,"p-card",5),N(33,o8e,1,0,"ng-template",6),N(34,a8e,1,4,"ng-template",7),j()()()())},dependencies:[bu,lr,pT,xf,Hw,Zy,UT,Gw,Bw],styles:[".p-multiselect-panel{width:250px!important}"]}),e})();var Yw=on(259);function pX(e,n,t,i,r,o,a){try{var s=e[o](a),l=s.value}catch(c){return void t(c)}s.done?n(l):Promise.resolve(l).then(i,r)}function zr(e){return function(){var n=this,t=arguments;return new Promise(function(i,r){var o=e.apply(n,t);function a(l){pX(o,i,r,a,s,"next",l)}function s(l){pX(o,i,r,a,s,"throw",l)}a(void 0)})}}var s8e=function(){var e=function(n,t){return(e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,r){i.__proto__=r}||function(i,r){for(var o in r)r.hasOwnProperty(o)&&(i[o]=r[o])})(n,t)};return function(n,t){function i(){this.constructor=n}e(n,t),n.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)}}(),l8e=Object.prototype.hasOwnProperty;function Vw(e,n){return l8e.call(e,n)}function T9(e){if(Array.isArray(e)){for(var n=new Array(e.length),t=0;t=48&&i<=57))return!1;n++}return!0}function op(e){return-1===e.indexOf("/")&&-1===e.indexOf("~")?e:e.replace(/~/g,"~0").replace(/\//g,"~1")}function fX(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}function b9(e){if(void 0===e)return!0;if(e)if(Array.isArray(e)){for(var n=0,t=e.length;n0&&"constructor"==l[u-1]))throw new TypeError("JSON-Patch: modifying `__proto__` or `constructor/prototype` prop is banned for security reasons, if this was on purpose, please set `banPrototypeModifications` flag false and pass it to this function. More info in fast-json-patch README");if(t&&void 0===p&&(void 0===c[f]?p=l.slice(0,u).join("/"):u==d-1&&(p=n.path),void 0!==p&&h(n,0,e,p)),u++,Array.isArray(c)){if("-"===f)f=c.length;else{if(t&&!C9(f))throw new ur("Expected an unsigned base-10 integer value, making the new referenced value the array element with the zero-based index","OPERATION_PATH_ILLEGAL_ARRAY_INDEX",o,n,e);C9(f)&&(f=~~f)}if(u>=d){if(t&&"add"===n.op&&f>c.length)throw new ur("The specified index MUST NOT be greater than the number of elements in the array","OPERATION_VALUE_OUT_OF_BOUNDS",o,n,e);if(!1===(a=u8e[n.op].call(n,c,f,e)).test)throw new ur("Test operation failed","TEST_OPERATION_FAILED",o,n,e);return a}}else if(u>=d){if(!1===(a=Xy[n.op].call(n,c,f,e)).test)throw new ur("Test operation failed","TEST_OPERATION_FAILED",o,n,e);return a}if(c=c[f],t&&u0)throw new ur('Operation `path` property must start with "/"',"OPERATION_PATH_INVALID",n,e,t);if(("move"===e.op||"copy"===e.op)&&"string"!=typeof e.from)throw new ur("Operation `from` property is not present (applicable in `move` and `copy` operations)","OPERATION_FROM_REQUIRED",n,e,t);if(("add"===e.op||"replace"===e.op||"test"===e.op)&&void 0===e.value)throw new ur("Operation `value` property is not present (applicable in `add`, `replace` and `test` operations)","OPERATION_VALUE_REQUIRED",n,e,t);if(("add"===e.op||"replace"===e.op||"test"===e.op)&&b9(e.value))throw new ur("Operation `value` property is not present (applicable in `add`, `replace` and `test` operations)","OPERATION_VALUE_CANNOT_CONTAIN_UNDEFINED",n,e,t);if(t)if("add"==e.op){var r=e.path.split("/").length,o=i.split("/").length;if(r!==o+1&&r!==o)throw new ur("Cannot perform an `add` operation at the desired path","OPERATION_PATH_CANNOT_ADD",n,e,t)}else if("replace"===e.op||"remove"===e.op||"_get"===e.op){if(e.path!==i)throw new ur("Cannot perform the operation at a path that does not exist","OPERATION_PATH_UNRESOLVABLE",n,e,t)}else if("move"===e.op||"copy"===e.op){var s=yX([{op:"_get",path:e.from,value:void 0}],t);if(s&&"OPERATION_PATH_UNRESOLVABLE"===s.name)throw new ur("Cannot perform the operation from a path that does not exist","OPERATION_FROM_UNRESOLVABLE",n,e,t)}}function yX(e,n,t){try{if(!Array.isArray(e))throw new ur("Patch sequence must be an array","SEQUENCE_NOT_AN_ARRAY");if(n)$w(Ys(n),Ys(e),t||!0);else{t=t||Uw;for(var i=0;i0&&(e.patches=[],e.callback&&e.callback(i)),i}function w9(e,n,t,i,r){if(n!==e){"function"==typeof n.toJSON&&(n=n.toJSON());for(var o=T9(n),a=T9(e),l=!1,c=a.length-1;c>=0;c--){var d=e[u=a[c]];if(!Vw(n,u)||void 0===n[u]&&void 0!==d&&!1===Array.isArray(n))Array.isArray(e)===Array.isArray(n)?(r&&t.push({op:"test",path:i+"/"+op(u),value:Ys(d)}),t.push({op:"remove",path:i+"/"+op(u)}),l=!0):(r&&t.push({op:"test",path:i,value:e}),t.push({op:"replace",path:i,value:n}));else{var p=n[u];"object"==typeof d&&null!=d&&"object"==typeof p&&null!=p&&Array.isArray(d)===Array.isArray(p)?w9(d,p,t,i+"/"+op(u),r):d!==p&&(r&&t.push({op:"test",path:i+"/"+op(u),value:Ys(d)}),t.push({op:"replace",path:i+"/"+op(u),value:Ys(p)}))}}if(l||o.length!=a.length)for(c=0;cfunction(n){return n[e]},b8e=e=>{const n=e.length;return function(t){for(let i=0;ia&&c(),r=a=s+1):"]"===l&&(r||xe("Access path missing open bracket: "+e),r>0&&c(),r=0,a=s+1):s>a?c():a=s+1}return r&&xe("Access path missing closing bracket: "+e),i&&xe("Access path missing closing quote: "+e),s>a&&(s++,c()),n}function xl(e,n,t){const i=ku(e);return e=1===i.length?i[0]:e,ss((t&&t.get||_X)(i),[e],n||e)}const WT=xl("id"),Ko=ss(e=>e,[],"identity"),Ff=ss(()=>0,[],"zero"),Qy=ss(()=>1,[],"one"),Fl=ss(()=>!0,[],"true"),Df=ss(()=>!1,[],"false");function A8e(e,n,t){const i=[n].concat([].slice.call(t));console[e].apply(console,i)}const vX=0,F9=1,D9=2,TX=3,CX=4;function E9(e,n){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:A8e,i=e||vX;return{level(r){return arguments.length?(i=+r,this):i},error(){return i>=F9&&t(n||"error","ERROR",arguments),this},warn(){return i>=D9&&t(n||"warn","WARN",arguments),this},info(){return i>=TX&&t(n||"log","INFO",arguments),this},debug(){return i>=CX&&t(n||"log","DEBUG",arguments),this}}}var De=Array.isArray;function Je(e){return e===Object(e)}const bX=e=>"__proto__"!==e;function Jy(){for(var e=arguments.length,n=new Array(e),t=0;t{for(const o in r)"signals"===o?i.signals=S8e(i.signals,r.signals):e_(i,o,r[o],"legend"===o?{layout:1}:"style"===o||null);return i},{})}function e_(e,n,t,i){if(!bX(n))return;let r,o;if(Je(t)&&!De(t))for(r in o=Je(e[n])?e[n]:e[n]={},t)i&&(!0===i||i[r])?e_(o,r,t[r]):bX(r)&&(o[r]=t[r]);else e[n]=t}function S8e(e,n){if(null==e)return n;const t={},i=[];function r(o){t[o.name]||(t[o.name]=1,i.push(o))}return n.forEach(r),e.forEach(r),i}function Ln(e){return e[e.length-1]}function Zo(e){return null==e||""===e?null:+e}const AX=e=>n=>e*Math.exp(n),SX=e=>n=>Math.log(e*n),wX=e=>n=>Math.sign(n)*Math.log1p(Math.abs(n/e)),xX=e=>n=>Math.sign(n)*Math.expm1(Math.abs(n))*e,jw=e=>n=>n<0?-Math.pow(-n,e):Math.pow(n,e);function Ww(e,n,t,i){const r=t(e[0]),o=t(Ln(e)),a=(o-r)*n;return[i(r-a),i(o-a)]}function FX(e,n){return Ww(e,n,Zo,Ko)}function DX(e,n){var t=Math.sign(e[0]);return Ww(e,n,SX(t),AX(t))}function EX(e,n,t){return Ww(e,n,jw(t),jw(1/t))}function IX(e,n,t){return Ww(e,n,wX(t),xX(t))}function qw(e,n,t,i,r){const o=i(e[0]),a=i(Ln(e)),s=null!=n?i(n):(o+a)/2;return[r(s+(o-s)*t),r(s+(a-s)*t)]}function I9(e,n,t){return qw(e,n,t,Zo,Ko)}function R9(e,n,t){const i=Math.sign(e[0]);return qw(e,n,t,SX(i),AX(i))}function Kw(e,n,t,i){return qw(e,n,t,jw(i),jw(1/i))}function L9(e,n,t,i){return qw(e,n,t,wX(i),xX(i))}function RX(e){return 1+~~(new Date(e).getMonth()/3)}function LX(e){return 1+~~(new Date(e).getUTCMonth()/3)}function nt(e){return null!=e?De(e)?e:[e]:[]}function MX(e,n,t){let o,i=e[0],r=e[1];return r=t-n?[n,t]:[i=Math.min(Math.max(i,n),t-o),i+o]}function mn(e){return"function"==typeof e}const w8e="descending";function M9(e,n,t){t=t||{},n=nt(n)||[];const i=[],r=[],o={},a=t.comparator||x8e;return nt(e).forEach((s,l)=>{null!=s&&(i.push(n[l]===w8e?-1:1),r.push(s=mn(s)?s:xl(s,null,t)),(qo(s)||[]).forEach(c=>o[c]=1))}),0===r.length?null:ss(a(r,i),Object.keys(o))}const Zw=(e,n)=>(en||null==n)&&null!=e?1:(n=n instanceof Date?+n:n,(e=e instanceof Date?+e:e)!==e&&n==n?-1:n!=n&&e==e?1:0),x8e=(e,n)=>1===e.length?F8e(e[0],n[0]):D8e(e,n,e.length),F8e=(e,n)=>function(t,i){return Zw(e(t),e(i))*n},D8e=(e,n,t)=>(n.push(0),function(i,r){let o,a=0,s=-1;for(;0===a&&++se}function k9(e,n){let t;return i=>{t&&clearTimeout(t),t=setTimeout(()=>(n(i),t=null),e)}}function yn(e){for(let n,t,i=1,r=arguments.length;ia&&(a=r))}else{for(r=n(e[t]);ta&&(a=r))}return[o,a]}function kX(e,n){const t=e.length;let r,o,a,s,l,i=-1;if(null==n){for(;++i=o){r=a=o;break}if(i===t)return[-1,-1];for(s=l=i;++io&&(r=o,s=i),a=o){r=a=o;break}if(i===t)return[-1,-1];for(s=l=i;++io&&(r=o,s=i),ai(o)?n[o]:void 0,set(o,a){return i(o)||(++r.size,n[o]===Xw&&--r.empty),n[o]=a,this},delete(o){return i(o)&&(--r.size,++r.empty,n[o]=Xw),this},clear(){r.size=r.empty=0,r.object=n={}},test(o){return arguments.length?(t=o,r):t},clean(){const o={};let a=0;for(const s in n){const l=n[s];l!==Xw&&(!t||!t(l))&&(o[s]=l,++a)}r.size=a,r.empty=0,r.object=n=o}};return e&&Object.keys(e).forEach(o=>{r.set(o,e[o])}),r}function PX(e,n,t,i,r,o){if(!t&&0!==t)return o;const a=+t;let c,s=e[0],l=Ln(e);lo&&(a=r,r=o,o=a),i=void 0===i||i,((t=void 0===t||t)?r<=e:rs.replace(/\\(.)/g,"$1")):nt(e));const i=e&&e.length,r=t&&t.get||_X,o=s=>r(n?[s]:ku(s));let a;if(i)if(1===i){const s=o(e[0]);a=function(l){return""+s(l)}}else{const s=e.map(o);a=function(l){let c=""+s[0](l),u=0;for(;++u{n={},t={},i=0},o=(a,s)=>(++i>e&&(t=n,n={},i=1),n[a]=s);return r(),{clear:r,has:a=>kt(n,a)||kt(t,a),get:a=>kt(n,a)?n[a]:kt(t,a)?o(a,t[a]):void 0,set:(a,s)=>kt(n,a)?n[a]=s:o(a,s)}}function BX(e,n,t,i){const r=n.length,o=t.length;if(!o)return n;if(!r)return t;const a=i||new n.constructor(r+o);let s=0,l=0,c=0;for(;s0?t[l++]:n[s++];for(;s=0;)t+=e;return t}function YX(e,n,t,i){const r=t||" ",o=e+"",a=n-o.length;return a<=0?o:"left"===i?qT(r,a)+o:"center"===i?qT(r,~~(a/2))+o+qT(r,Math.ceil(a/2)):o+qT(r,a)}function KT(e){return e&&Ln(e)-e[0]||0}function We(e){return De(e)?"["+e.map(We)+"]":Je(e)||it(e)?JSON.stringify(e).replace("\u2028","\\u2028").replace("\u2029","\\u2029"):e}function N9(e){return null==e||""===e?null:!(!e||"false"===e||"0"===e||!e)}const R8e=e=>Gn(e)||If(e)?e:Date.parse(e);function O9(e,n){return n=n||R8e,null==e||""===e?null:n(e)}function H9(e){return null==e||""===e?null:e+""}function Cc(e){const n={},t=e.length;for(let i=0;i=h?v=!0:(O=d.charCodeAt(g++))===ZT?C=!0:O===Y9&&(C=!0,d.charCodeAt(g)===ZT&&++g),d.slice(w+1,I-1).replace(/""/g,'"')}for(;g9999?"+"+ls(e,6):ls(e,4)}(e.getUTCFullYear())+"-"+ls(e.getUTCMonth()+1,2)+"-"+ls(e.getUTCDate(),2)+(r?"T"+ls(n,2)+":"+ls(t,2)+":"+ls(i,2)+"."+ls(r,3)+"Z":i?"T"+ls(n,2)+":"+ls(t,2)+":"+ls(i,2)+"Z":t||n?"T"+ls(n,2)+":"+ls(t,2)+"Z":"")}(d):n.test(d+="")?'"'+d.replace(/"/g,'""')+'"':d}return{parse:function i(d,p){var f,h,g=r(d,function(m,_){if(f)return f(m,_-1);h=m,f=p?function L8e(e,n){var t=$X(e);return function(i,r){return n(t(i),r,e)}}(m,p):$X(m)});return g.columns=h||[],g},parseRows:r,format:function a(d,p){return null==p&&(p=UX(d)),[p.map(u).join(e)].concat(o(d,p)).join("\n")},formatBody:function s(d,p){return null==p&&(p=UX(d)),o(d,p).join("\n")},formatRows:function l(d){return d.map(c).join("\n")},formatRow:c,formatValue:u}}function O8e(e){return e}function G8e(e,n){return"string"==typeof n&&(n=e.objects[n]),"GeometryCollection"===n.type?{type:"FeatureCollection",features:n.geometries.map(function(t){return jX(e,t)})}:jX(e,n)}function jX(e,n){var t=n.id,i=n.bbox,r=null==n.properties?{}:n.properties,o=WX(e,n);return null==t&&null==i?{type:"Feature",properties:r,geometry:o}:null==i?{type:"Feature",id:t,properties:r,geometry:o}:{type:"Feature",id:t,bbox:i,properties:r,geometry:o}}function WX(e,n){var t=function H8e(e){if(null==e)return O8e;var n,t,i=e.scale[0],r=e.scale[1],o=e.translate[0],a=e.translate[1];return function(s,l){l||(n=t=0);var c=2,u=s.length,d=new Array(u);for(d[0]=(n+=s[0])*i+o,d[1]=(t+=s[1])*r+a;c1)i=function z8e(e,n,t){var o,i=[],r=[];function a(d){var p=d<0?~d:d;(r[p]||(r[p]=[])).push({i:d,g:o})}function s(d){d.forEach(a)}function l(d){d.forEach(s)}return function u(d){switch(o=d,d.type){case"GeometryCollection":d.geometries.forEach(u);break;case"LineString":s(d.arcs);break;case"MultiLineString":case"Polygon":l(d.arcs);break;case"MultiPolygon":!function c(d){d.forEach(l)}(d.arcs)}}(n),r.forEach(null==t?function(d){i.push(d[0].i)}:function(d){t(d[0].g,d[d.length-1].g)&&i.push(d[0].i)}),i}(0,n,t);else for(r=0,i=new Array(o=e.arcs.length);r(e[n]=1+t,e),{});function $9(e){const n=nt(e).slice(),t={};return n.length||xe("Missing time unit."),n.forEach(r=>{kt(z9,r)?t[r]=1:xe(`Invalid time unit: ${r}.`)}),(t[$r]||t[Jo]?1:0)+(t[cs]||t[Qo]||t[us]?1:0)+(t[Nu]?1:0)>1&&xe(`Incompatible time units: ${e}`),n.sort((r,o)=>z9[r]-z9[o]),n}const $8e={[wo]:"%Y ",[cs]:"Q%q ",[Qo]:"%b ",[us]:"%d ",[$r]:"W%U ",[Jo]:"%a ",[Nu]:"%j ",[Vs]:"%H:00",[zs]:"00:%M",[Dl]:":%S",[bc]:".%L",[`${wo}-${Qo}`]:"%Y-%m ",[`${wo}-${Qo}-${us}`]:"%Y-%m-%d ",[`${Vs}-${zs}`]:"%H:%M"};function qX(e,n){const t=yn({},$8e,n),i=$9(e),r=i.length;let s,l,o="",a=0;for(a=0;aa;--s)if(l=i.slice(a,s).join("-"),null!=t[l]){o+=t[l],a=s;break}return o.trim()}const Bg=new Date;function U9(e){return Bg.setFullYear(e),Bg.setMonth(0),Bg.setDate(1),Bg.setHours(0,0,0,0),Bg}function KX(e){return XX(new Date(e))}function ZX(e){return j9(new Date(e))}function XX(e){return Jd.count(U9(e.getFullYear())-1,e)}function j9(e){return Hy.count(U9(e.getFullYear())-1,e)}function W9(e){return U9(e).getDay()}function U8e(e,n,t,i,r,o,a){if(0<=e&&e<100){const s=new Date(-1,n,t,i,r,o,a);return s.setFullYear(e),s}return new Date(e,n,t,i,r,o,a)}function QX(e){return eQ(new Date(e))}function JX(e){return q9(new Date(e))}function eQ(e){const n=Date.UTC(e.getUTCFullYear(),0,1);return Tf.count(n-1,e)}function q9(e){const n=Date.UTC(e.getUTCFullYear(),0,1);return By.count(n-1,e)}function K9(e){return Bg.setTime(Date.UTC(e,0,1)),Bg.getUTCDay()}function j8e(e,n,t,i,r,o,a){if(0<=e&&e<100){const s=new Date(Date.UTC(-1,n,t,i,r,o,a));return s.setUTCFullYear(t.y),s}return new Date(Date.UTC(e,n,t,i,r,o,a))}function tQ(e,n,t,i,r){const o=n||1,a=Ln(e),s=(_,v,C)=>function W8e(e,n,t,i){const r=t<=1?e:i?(o,a)=>i+t*Math.floor((e(o,a)-i)/t):(o,a)=>t*Math.floor(e(o,a)/t);return n?(o,a)=>n(r(o,a),a):r}(t[C=C||_],i[C],_===a&&o,v),l=new Date,c=Cc(e),u=c[wo]?s(wo):Xo(2012),d=c[Qo]?s(Qo):c[cs]?s(cs):Ff,p=c[$r]&&c[Jo]?s(Jo,1,$r+Jo):c[$r]?s($r,1):c[Jo]?s(Jo,1):c[us]?s(us,1):c[Nu]?s(Nu,1):Qy,f=c[Vs]?s(Vs):Ff,h=c[zs]?s(zs):Ff,g=c[Dl]?s(Dl):Ff,m=c[bc]?s(bc):Ff;return function(_){l.setTime(+_);const v=u(l);return r(v,d(l),p(l,v),f(l),h(l),g(l),m(l))}}function i_(e,n,t){return n+7*e-(t+6)%7}const q8e={[wo]:e=>e.getFullYear(),[cs]:e=>Math.floor(e.getMonth()/3),[Qo]:e=>e.getMonth(),[us]:e=>e.getDate(),[Vs]:e=>e.getHours(),[zs]:e=>e.getMinutes(),[Dl]:e=>e.getSeconds(),[bc]:e=>e.getMilliseconds(),[Nu]:e=>XX(e),[$r]:e=>j9(e),[$r+Jo]:(e,n)=>i_(j9(e),e.getDay(),W9(n)),[Jo]:(e,n)=>i_(1,e.getDay(),W9(n))},K8e={[cs]:e=>3*e,[$r]:(e,n)=>i_(e,0,W9(n))};function nQ(e,n){return tQ(e,n||1,q8e,K8e,U8e)}const Z8e={[wo]:e=>e.getUTCFullYear(),[cs]:e=>Math.floor(e.getUTCMonth()/3),[Qo]:e=>e.getUTCMonth(),[us]:e=>e.getUTCDate(),[Vs]:e=>e.getUTCHours(),[zs]:e=>e.getUTCMinutes(),[Dl]:e=>e.getUTCSeconds(),[bc]:e=>e.getUTCMilliseconds(),[Nu]:e=>eQ(e),[$r]:e=>q9(e),[Jo]:(e,n)=>i_(1,e.getUTCDay(),K9(n)),[$r+Jo]:(e,n)=>i_(q9(e),e.getUTCDay(),K9(n))},X8e={[cs]:e=>3*e,[$r]:(e,n)=>i_(e,0,K9(n))};function iQ(e,n){return tQ(e,n||1,Z8e,X8e,j8e)}const Q8e={[wo]:Eu,[cs]:RT.every(3),[Qo]:RT,[$r]:Hy,[us]:Jd,[Jo]:Jd,[Nu]:Jd,[Vs]:ZS,[zs]:IT,[Dl]:Du,[bc]:Oy},J8e={[wo]:Iu,[cs]:LT.every(3),[Qo]:LT,[$r]:By,[us]:Tf,[Jo]:Tf,[Nu]:Tf,[Vs]:XS,[zs]:KS,[Dl]:Du,[bc]:Oy};function r_(e){return Q8e[e]}function o_(e){return J8e[e]}function rQ(e,n,t){return e?e.offset(n,t):void 0}function oQ(e,n,t){return rQ(r_(e),n,t)}function aQ(e,n,t){return rQ(o_(e),n,t)}function sQ(e,n,t,i){return e?e.range(n,t,i):void 0}function lQ(e,n,t,i){return sQ(r_(e),n,t,i)}function cQ(e,n,t,i){return sQ(o_(e),n,t,i)}const QT=6e4,JT=60*QT,Qw=24*JT,uQ=30*Qw,Z9=365*Qw,dQ=[wo,Qo,us,Vs,zs,Dl,bc],eC=dQ.slice(0,-1),tC=eC.slice(0,-1),nC=tC.slice(0,-1),tPe=nC.slice(0,-1),pQ=[wo,Qo],fQ=[wo],iC=[[eC,1,1e3],[eC,5,5e3],[eC,15,15e3],[eC,30,3e4],[tC,1,QT],[tC,5,5*QT],[tC,15,15*QT],[tC,30,30*QT],[nC,1,JT],[nC,3,3*JT],[nC,6,6*JT],[nC,12,12*JT],[tPe,1,Qw],[[wo,$r],1,6048e5],[pQ,1,uQ],[pQ,3,3*uQ],[fQ,1,Z9]];function hQ(e){const n=e.extent,t=e.maxbins||40,i=Math.abs(KT(n))/t;let o,a,r=Py(s=>s[2]).right(iC,i);return r===iC.length?(o=fQ,a=_f(n[0]/Z9,n[1]/Z9,t)):r?(r=iC[i/iC[r-1][2]n[t]||(n[t]=e(t))}function gQ(e){const n=rC(e.format),t=e.formatPrefix;return{format:n,formatPrefix:t,formatFloat(i){const r=xg(i||",");if(null==r.precision){switch(r.precision=12,r.type){case"%":r.precision-=2;break;case"e":r.precision-=1}return function iPe(e,n){return t=>{const i=e(t),r=i.indexOf(n);if(r<0)return i;let o=function rPe(e,n){let i,t=e.lastIndexOf("e");if(t>0)return t;for(t=e.length;--t>n;)if(i=e.charCodeAt(t),i>=48&&i<=57)return t+1}(i,r);const a=or;)if("0"!==i[o]){++o;break}return i.slice(0,o)+a}}(n(r),n(".1f")(1)[1])}return n(r)},formatSpan(i,r,o,a){a=xg(a??",f");const s=_f(i,r,o),l=Math.max(Math.abs(i),Math.abs(r));let c;if(null==a.precision)switch(a.type){case"s":return isNaN(c=uK(s,l))||(a.precision=c),t(a,l);case"":case"e":case"g":case"p":case"r":isNaN(c=_K(s,l))||(a.precision=c-("e"===a.type));break;case"f":case"%":isNaN(c=vK(s))||(a.precision=c-2*("%"===a.type))}return n(a)}}}let X9,Q9;function mQ(){return X9=gQ({format:qS,formatPrefix:vR})}function yQ(e){return gQ(yK(e))}function Jw(e){return arguments.length?X9=yQ(e):X9}function _Q(e,n,t){Je(t=t||{})||xe(`Invalid time multi-format specifier: ${t}`);const i=n(Dl),r=n(zs),o=n(Vs),a=n(us),s=n($r),l=n(Qo),c=n(cs),u=n(wo),d=e(t[bc]||".%L"),p=e(t[Dl]||":%S"),f=e(t[zs]||"%I:%M"),h=e(t[Vs]||"%I %p"),g=e(t[us]||t[Jo]||"%a %d"),m=e(t[$r]||"%b %d"),_=e(t[Qo]||"%B"),v=e(t[cs]||"%B"),C=e(t[wo]||"%Y");return A=>(i(A)it(i)?n(i):_Q(n,r_,i),utcFormat:i=>it(i)?t(i):_Q(t,o_,i),timeParse:rC(e.parse),utcParse:rC(e.utcParse)}}function TQ(){return Q9=vQ({format:xR,parse:GK,utcFormat:FR,utcParse:BK})}function CQ(e){return vQ(SK(e))}function oC(e){return arguments.length?Q9=CQ(e):Q9}mQ(),TQ();const J9=(e,n)=>yn({},e,n);function bQ(e,n){const t=e?yQ(e):Jw(),i=n?CQ(n):oC();return J9(t,i)}function e7(e,n){const t=arguments.length;return t&&2!==t&&xe("defaultLocale expects either zero or two arguments."),t?J9(Jw(e),oC(n)):J9(Jw(),oC())}function oPe(){return mQ(),TQ(),e7()}const aPe=/^(data:|([A-Za-z]+:)?\/\/)/,sPe=/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp|file|data):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i,lPe=/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205f\u3000]/g,AQ="file://";function uPe(e,n){return t7.apply(this,arguments)}function t7(){return t7=zr(function*(e,n){const t=yield this.sanitize(e,n),i=t.href;return t.localFile?this.file(i):this.http(i,n)}),t7.apply(this,arguments)}function dPe(e,n){return n7.apply(this,arguments)}function n7(){return n7=zr(function*(e,n){n=yn({},this.options,n);const t=this.fileAccess,i={href:null};let r,o,a;const s=sPe.test(e.replace(lPe,""));(null==e||"string"!=typeof e||!s)&&xe("Sanitize failure, invalid URI: "+We(e));const l=aPe.test(e);return(a=n.baseURL)&&!l&&(!e.startsWith("/")&&!a.endsWith("/")&&(e="/"+e),e=a+e),o=(r=e.startsWith(AQ))||"file"===n.mode||"http"!==n.mode&&!l&&t,r?e=e.slice(AQ.length):e.startsWith("//")&&("file"===n.defaultProtocol?(e=e.slice(2),o=!0):e=(n.defaultProtocol||"http")+":"+e),Object.defineProperty(i,"localFile",{value:!!o}),i.href=e,n.target&&(i.target=n.target+""),n.rel&&(i.rel=n.rel+""),"image"===n.context&&n.crossOrigin&&(i.crossOrigin=n.crossOrigin+""),i}),n7.apply(this,arguments)}function pPe(e){return e?n=>new Promise((t,i)=>{e.readFile(n,(r,o)=>{r?i(r):t(o)})}):fPe}function fPe(){return r7.apply(this,arguments)}function r7(){return(r7=zr(function*(){xe("No file system access.")})).apply(this,arguments)}function hPe(e){return e?function(){var n=zr(function*(t,i){const r=yn({},this.options.http,i),o=i&&i.response,a=yield e(t,r);return a.ok?mn(a[o])?a[o]():a.text():xe(a.status+""+a.statusText)});return function(t,i){return n.apply(this,arguments)}}():gPe}function gPe(){return o7.apply(this,arguments)}function o7(){return(o7=zr(function*(){xe("No HTTP fetch method available.")})).apply(this,arguments)}const mPe=e=>null!=e&&e==e,SQ=e=>!(Number.isNaN(+e)||e instanceof Date),a7={boolean:N9,integer:Zo,number:Zo,date:O9,string:H9,unknown:Ko},ex=[e=>"true"===e||"false"===e||!0===e||!1===e,e=>SQ(e)&&Number.isInteger(+e),SQ,e=>!Number.isNaN(Date.parse(e))],TPe=["boolean","integer","number","date"];function wQ(e,n){if(!e||!e.length)return"unknown";const t=e.length,i=ex.length,r=ex.map((o,a)=>a+1);for(let s,l,o=0,a=0;o0===o?a:o,0)-1]}function xQ(e,n){return n.reduce((t,i)=>(t[i]=wQ(e,i),t),{})}function FQ(e){const n=function(t,i){const r={delimiter:e};return s7(t,i?yn(i,r):r)};return n.responseType="text",n}function s7(e,n){return n.header&&(e=n.header.map(We).join(n.delimiter)+"\n"+e),P8e(n.delimiter).parse(e+"")}function l7(e,n){const t=n&&n.property?xl(n.property):Ko;return Je(e)&&!function CPe(e){return!("function"!=typeof Buffer||!mn(Buffer.isBuffer))&&Buffer.isBuffer(e)}(e)?function bPe(e,n){return!De(e)&&NX(e)&&(e=[...e]),n&&n.copy?JSON.parse(JSON.stringify(e)):e}(t(e),n):t(JSON.parse(e))}s7.responseType="text",l7.responseType="json";const APe={interior:(e,n)=>e!==n,exterior:(e,n)=>e===n};function DQ(e,n){let t,i,r,o;return e=l7(e,n),n&&n.feature?(t=G8e,r=n.feature):n&&n.mesh?(t=Y8e,r=n.mesh,o=APe[n.filter]):xe("Missing TopoJSON feature or mesh parameter."),i=(i=e.objects[r])?t(e,i,o):xe("Invalid TopoJSON object: "+r),i&&i.features||[i]}DQ.responseType="json";const tx={dsv:s7,csv:FQ(","),tsv:FQ("\t"),json:l7,topojson:DQ};function c7(e,n){return arguments.length>1?(tx[e]=n,this):kt(tx,e)?tx[e]:null}function EQ(e){const n=c7(e);return n&&n.responseType||"text"}function IQ(e,n,t,i){const r=c7((n=n||{}).type||"json");return r||xe("Unknown data format type: "+n.type),e=r(e,n),n.parse&&function SPe(e,n,t,i){if(!e.length)return;const r=oC();t=t||r.timeParse,i=i||r.utcParse;let a,s,l,c,u,d,o=e.columns||Object.keys(e[0]);"auto"===n&&(n=xQ(e,o)),o=Object.keys(n);const p=o.map(f=>{const h=n[f];let g,m;if(h&&(h.startsWith("date:")||h.startsWith("utc:")))return g=h.split(/:(.+)?/,2),m=g[1],("'"===m[0]&&"'"===m[m.length-1]||'"'===m[0]&&'"'===m[m.length-1])&&(m=m.slice(1,-1)),("utc"===g[0]?i:t)(m);if(!a7[h])throw Error("Illegal format pattern: "+f+":"+h);return a7[h]});for(l=0,u=e.length,d=o.length;l({options:t||{},sanitize:dPe,load:uPe,fileAccess:!!n,file:pPe(n),http:hPe(e)})}(typeof fetch<"u"&&fetch,null);function ix(e){const n=e||Ko,t=[],i={};return t.add=r=>{const o=n(r);return i[o]||(i[o]=1,t.push(r)),t},t.remove=r=>{const o=n(r);if(i[o]){i[o]=0;const a=t.indexOf(r);a>=0&&t.splice(a,1)}return t},t}function rx(e,n){return u7.apply(this,arguments)}function u7(){return u7=zr(function*(e,n){try{yield n(e)}catch(t){e.error(t)}}),u7.apply(this,arguments)}const RQ=Symbol("vega_id");let wPe=1;function ox(e){return!(!e||!Pt(e))}function Pt(e){return e[RQ]}function LQ(e,n){return e[RQ]=n,e}function ei(e){const n=e===Object(e)?e:{data:e};return Pt(n)?n:LQ(n,wPe++)}function d7(e){return ax(e,ei({}))}function ax(e,n){for(const t in e)n[t]=e[t];return n}function MQ(e,n){return LQ(n,Pt(e))}function Yg(e,n){return e?n?(t,i)=>e(t,i)||Pt(n(t))-Pt(n(i)):(t,i)=>e(t,i)||Pt(t)-Pt(i):null}function kQ(e){return e&&e.constructor===Vg}function Vg(){const e=[],n=[],t=[],i=[],r=[];let o=null,a=!1;return{constructor:Vg,insert(s){const l=nt(s),c=l.length;for(let u=0;u{h(v)&&(c[Pt(v)]=-1)});for(d=0,p=e.length;d0&&(_(g,h,f.value),s.modifies(h));for(d=0,p=r.length;d{h(v)&&c[Pt(v)]>0&&_(v,f.field,f.value)}),s.modifies(f.field);if(a)s.mod=n.length||i.length?l.filter(v=>c[Pt(v)]>0):l.slice();else for(m in u)s.mod.push(u[m]);return(o||null==o&&(n.length||i.length))&&s.clean(!0),s}}}const sx="_:mod:_";function lx(){Object.defineProperty(this,sx,{writable:!0,value:{}})}lx.prototype={set(e,n,t,i){const r=this,o=r[e],a=r[sx];return null!=n&&n>=0?(o[n]!==t||i)&&(o[n]=t,a[n+":"+e]=-1,a[e]=-1):(o!==t||i)&&(r[e]=t,a[e]=De(t)?1+t.length:-1),r},modified(e,n){const t=this[sx];if(!arguments.length){for(const i in t)if(t[i])return!0;return!1}if(De(e)){for(let i=0;i=0?n+1{f instanceof bi?(f!==this&&(n&&f.targets().add(this),o.push(f)),r.push({op:f,name:d,index:p})):i.set(d,p,f)};for(a in e)if(s=e[a],"pulse"===a)nt(s).forEach(d=>{d instanceof bi?d!==this&&(d.targets().add(this),o.push(d)):xe("Pulse parameters must be operator instances.")}),this.source=s;else if(De(s))for(i.set(a,-1,Array(l=s.length)),c=0;cn=i);return t.requests=0,t.done=()=>{0==--t.requests&&(e._pending=null,n(e))},e._pending=t}(i);r.requests+=1;const o=yield i.request(n,t);return i.pulse(e,i.changeset().remove(Fl).insert(o.data||[])),r.done(),o}),f7.apply(this,arguments)}cx.prototype={_filter:Fl,_apply:Ko,targets(){return this._targets||(this._targets=ix(WT))},consume(e){return arguments.length?(this._consume=!!e,this):!!this._consume},receive(e){if(this._filter(e)){const n=this.value=this._apply(e),t=this._targets,i=t?t.length:0;for(let r=0;r{const t=Date.now();return t-n>e?(n=t,1):0})},debounce(e){const n=Lf();return this.targets().add(Lf(null,null,k9(e,t=>{const i=t.dataflow;n.receive(t),i&&i.run&&i.run()}))),n},between(e,n){let t=!1;return e.targets().add(Lf(null,null,()=>t=!0)),n.targets().add(Lf(null,null,()=>t=!1)),this.filter(()=>t)},detach(){this._filter=Fl,this._targets=null}};const BPe={skip:!0};function VPe(e,n,t,i,r,o){const a=yn({},o,BPe);let s,l;mn(t)||(t=Xo(t)),void 0===i?s=c=>e.touch(t(c)):mn(i)?(l=new bi(null,i,r,!1),s=c=>{l.evaluate(c);const u=t(c),d=l.value;kQ(d)?e.pulse(u,d,o):e.update(u,d,a)}):s=c=>e.update(t(c),i,a),n.apply(s)}function zPe(e,n,t,i,r,o){if(void 0===i)n.targets().add(t);else{const a=o||{},s=new bi(null,function $Pe(e,n){return n=mn(n)?n:Xo(n),e?function(t,i){const r=n(t,i);return e.skip()||(e.skip(r!==this.value).value=r),r}:n}(t,i),r,!1);s.modified(a.force),s.rank=n.rank,n.targets().add(s),t&&(s.skip(!0),s.value=t.value,s.targets().add(t),e.connect(t,[s]))}}const ux={};function kf(e,n,t){this.dataflow=e,this.stamp=n??-1,this.add=[],this.rem=[],this.mod=[],this.fields=null,this.encode=t||null}function h7(e,n){const t=[];return Rf(e,n,i=>t.push(i)),t}function BQ(e,n){const t={};return e.visit(n,i=>{t[Pt(i)]=1}),i=>t[Pt(i)]?null:i}function dx(e,n){return e?(t,i)=>e(t,i)&&n(t,i):n}function g7(e,n,t,i){const r=this;let o=0;this.dataflow=e,this.stamp=n,this.fields=null,this.encode=i||null,this.pulses=t;for(const a of t)if(a.stamp===n){if(a.fields){const s=r.fields||(r.fields={});for(const l in a.fields)s[l]=1}a.changed(r.ADD)&&(o|=r.ADD),a.changed(r.REM)&&(o|=r.REM),a.changed(r.MOD)&&(o|=r.MOD)}this.changes=o}function m7(){return m7=zr(function*(e,n,t){const i=this,r=[];if(i._pulse)return YQ(i);if(i._pending&&(yield i._pending),n&&(yield rx(i,n)),!i._touched.length)return i.debug("Dataflow invoked, but nothing to do."),i;const o=++i._clock;i._pulse=new kf(i,o,e),i._touched.forEach(u=>i._enqueue(u,!0)),i._touched=ix(WT);let s,l,c,a=0;try{for(;i._heap.size()>0;)s=i._heap.pop(),s.rank===s.qrank?(l=s.run(i._getPulse(s,e)),l.then?l=yield l:l.async&&(r.push(l.async),l=ux),l!==ux&&s._targets&&s._targets.forEach(u=>i._enqueue(u)),++a):i._enqueue(s,!0)}catch(u){i._heap.clear(),c=u}if(i._input={},i._pulse=null,i.debug(`Pulse ${o}: ${a} operators`),c&&(i._postrun=[],i.error(c)),i._postrun.length){const u=i._postrun.sort((d,p)=>p.priority-d.priority);i._postrun=[];for(let d=0;di.runAsync(null,()=>{u.forEach(d=>{try{d(i)}catch(p){i.error(p)}})})),i}),m7.apply(this,arguments)}function y7(){return y7=zr(function*(e,n,t){for(;this._running;)yield this._running;const i=()=>this._running=null;return(this._running=this.evaluate(e,n,t)).then(i,i),this._running}),y7.apply(this,arguments)}function YQ(e){return e.error("Dataflow already running. Use runAsync() to chain invocations."),e}kf.prototype={StopPropagation:ux,ADD:1,REM:2,MOD:4,ADD_REM:3,ADD_MOD:5,ALL:7,REFLOW:8,SOURCE:16,NO_SOURCE:32,NO_FIELDS:64,fork(e){return new kf(this.dataflow).init(this,e)},clone(){const e=this.fork(7);return e.add=e.add.slice(),e.rem=e.rem.slice(),e.mod=e.mod.slice(),e.source&&(e.source=e.source.slice()),e.materialize(23)},addAll(){let e=this;return!e.source||e.add===e.rem||!e.rem.length&&e.source.length===e.add.length||(e=new kf(this.dataflow).init(this),e.add=e.source,e.rem=[]),e},init(e,n){const t=this;return t.stamp=e.stamp,t.encode=e.encode,e.fields&&!(64&n)&&(t.fields=e.fields),1&n?(t.addF=e.addF,t.add=e.add):(t.addF=null,t.add=[]),2&n?(t.remF=e.remF,t.rem=e.rem):(t.remF=null,t.rem=[]),4&n?(t.modF=e.modF,t.mod=e.mod):(t.modF=null,t.mod=[]),32&n?(t.srcF=null,t.source=null):(t.srcF=e.srcF,t.source=e.source,e.cleans&&(t.cleans=e.cleans)),t},runAfter(e){this.dataflow.runAfter(e)},changed(e){const n=e||7;return 1&n&&this.add.length||2&n&&this.rem.length||4&n&&this.mod.length},reflow(e){if(e)return this.fork(7).reflow();const n=this.add.length,t=this.source&&this.source.length;return t&&t!==n&&(this.mod=this.source,n&&this.filter(4,BQ(this,1))),this},clean(e){return arguments.length?(this.cleans=!!e,this):this.cleans},modifies(e){const n=this.fields||(this.fields={});return De(e)?e.forEach(t=>n[t]=!0):n[e]=!0,this},modified(e,n){const t=this.fields;return!(!n&&!this.mod.length||!t)&&(arguments.length?De(e)?e.some(i=>t[i]):t[e]:!!t)},filter(e,n){const t=this;return 1&e&&(t.addF=dx(t.addF,n)),2&e&&(t.remF=dx(t.remF,n)),4&e&&(t.modF=dx(t.modF,n)),16&e&&(t.srcF=dx(t.srcF,n)),t},materialize(e){const n=this;return 1&(e=e||7)&&n.addF&&(n.add=h7(n.add,n.addF),n.addF=null),2&e&&n.remF&&(n.rem=h7(n.rem,n.remF),n.remF=null),4&e&&n.modF&&(n.mod=h7(n.mod,n.modF),n.modF=null),16&e&&n.srcF&&(n.source=n.source.filter(n.srcF),n.srcF=null),n},visit(e,n){const t=this,i=n;if(16&e)return Rf(t.source,t.srcF,i),t;1&e&&Rf(t.add,t.addF,i),2&e&&Rf(t.rem,t.remF,i),4&e&&Rf(t.mod,t.modF,i);const r=t.source;if(8&e&&r){const o=t.add.length+t.mod.length;o===r.length||Rf(r,o?BQ(t,5):t.srcF,i)}return t}},Ze(g7,kf,{fork(e){const n=new kf(this.dataflow).init(this,e&this.NO_FIELDS);return void 0!==e&&(e&n.ADD&&this.visit(n.ADD,t=>n.add.push(t)),e&n.REM&&this.visit(n.REM,t=>n.rem.push(t)),e&n.MOD&&this.visit(n.MOD,t=>n.mod.push(t))),n},changed(e){return this.changes&e},modified(e){const n=this,t=n.fields;return t&&n.changes&n.MOD?De(e)?e.some(i=>t[i]):t[e]:0},filter(){xe("MultiPulse does not support filtering.")},materialize(){xe("MultiPulse does not support materialization.")},visit(e,n){const t=this,i=t.pulses,r=i.length;let o=0;if(e&t.SOURCE)for(;on&&(o=t-1>>1,r=e[o],i(a,r)<0);)e[t]=r,t=o;return e[t]=a}function s_(){this.logger(E9()),this.logLevel(F9),this._clock=0,this._rank=0,this._locale=e7();try{this._loader=nx()}catch{}this._touched=ix(WT),this._input={},this._pulse=null,this._heap=function rNe(e){let n=[];return{clear:()=>n=[],size:()=>n.length,peek:()=>n[0],push:t=>(n.push(t),VQ(n,0,n.length-1,e)),pop:()=>{const t=n.pop();let i;return n.length?(i=n[0],n[0]=t,function oNe(e,n,t){const i=n,r=e.length,o=e[n];let s,a=1+(n<<1);for(;a=0&&(a=s),e[n]=e[a],a=1+((n=a)<<1);e[n]=o,VQ(e,i,n,t)}(n,0,e)):i=t,i}}}((e,n)=>e.qrank-n.qrank),this._postrun=[]}function sC(e){return function(){return this._log[e].apply(this,arguments)}}function be(e,n){bi.call(this,e,null,n)}s_.prototype={stamp(){return this._clock},loader(e){return arguments.length?(this._loader=e,this):this._loader},locale(e){return arguments.length?(this._locale=e,this):this._locale},logger(e){return arguments.length?(this._log=e,this):this._log},error:sC("error"),warn:sC("warn"),info:sC("info"),debug:sC("debug"),logLevel:sC("level"),cleanThreshold:1e4,add:function RPe(e,n,t,i){let o,r=1;return e instanceof bi?o=e:e&&e.prototype instanceof bi?o=new e:mn(e)?o=new bi(null,e):(r=0,o=new bi(e,n)),this.rank(o),r&&(i=t,t=n),t&&this.connect(o,o.parameters(t,i)),this.touch(o),o},connect:function LPe(e,n){const t=e.rank,i=n.length;for(let r=0;r=0;)n.push(t=i[r]),t===e&&xe("Cycle detected in dataflow graph.")},pulse:function iNe(e,n,t){this.touch(e,t||_7);const i=new kf(this,this._clock+(this._pulse?0:1)),r=e.pulse&&e.pulse.source||[];return i.target=e,this._input[e.id]=n.pulse(i,r),this},touch:function tNe(e,n){const t=n||_7;return this._pulse?this._enqueue(e):this._touched.add(e),t.skip&&e.skip(!0),this},update:function nNe(e,n,t){const i=t||_7;return(e.set(n)||i.force)&&this.touch(e,i),this},changeset:Vg,ingest:function NPe(e,n,t){return n=this.parse(n,t),this.pulse(e,this.changeset().insert(n))},parse:function PPe(e,n){const t=this.locale();return IQ(e,n,t.timeParse,t.utcParse)},preload:function HPe(e,n,t){return f7.apply(this,arguments)},request:function OPe(e,n){return p7.apply(this,arguments)},events:function kPe(e,n,t,i){const r=this,o=Lf(t,i),a=function(c){c.dataflow=r;try{o.receive(c)}catch(u){r.error(u)}finally{r.run()}};let s;s="string"==typeof e&&typeof document<"u"?document.querySelectorAll(e):nt(e);const l=s.length;for(let c=0;cr.pulse),n):this._input[e.id]||function eNe(e,n){return n&&n.stamp===e.stamp?n:(e=e.fork(),n&&n!==ux&&(e.source=n.source),e)}(this._pulse,t&&t.pulse)}},Ze(be,bi,{run(e){if(e.stampthis.pulse=t):n!==e.StopPropagation&&(this.pulse=n),n},evaluate(e){const n=this.marshall(e.stamp),t=this.transform(n,e);return n.clear(),t},transform(){}});const l_={};function zQ(e){const n=$Q(e);return n&&n.Definition||null}function $Q(e){return e=e&&e.toLowerCase(),kt(l_,e)?l_[e]:null}function v7(e,n){let t;if(void 0===n)for(const i of e)null!=i&&(t>i||void 0===t&&i>=i)&&(t=i);else{let i=-1;for(let r of e)null!=(r=n(r,++i,e))&&(t>r||void 0===t&&r>=r)&&(t=r)}return t}function px(e,n){return(null==e||!(e>=e))-(null==n||!(n>=n))||(en?1:0)}function jQ(e,n,t=0,i=1/0,r){if(n=Math.floor(n),t=Math.floor(Math.max(0,t)),i=Math.floor(Math.min(e.length-1,i)),!(t<=n&&n<=i))return e;for(r=void 0===r?px:function UQ(e=Kd){if(e===Kd)return px;if("function"!=typeof e)throw new TypeError("compare is not a function");return(n,t)=>{const i=e(n,t);return i||0===i?i:(0===e(t,t))-(0===e(n,n))}}(r);i>t;){if(i-t>600){const l=i-t+1,c=n-t+1,u=Math.log(l),d=.5*Math.exp(2*u/3),p=.5*Math.sqrt(u*d*(l-d)/l)*(c-l/2<0?-1:1);jQ(e,n,Math.max(t,Math.floor(n-c*d/l+p)),Math.min(i,Math.floor(n+(l-c)*d/l+p)),r)}const o=e[n];let a=t,s=i;for(lC(e,t,n),r(e[i],o)>0&&lC(e,t,i);a0;)--s}0===r(e[t],o)?lC(e,t,s):(++s,lC(e,s,i)),s<=n&&(t=s+1),n<=s&&(i=s-1)}return e}function lC(e,n,t){const i=e[n];e[n]=e[t],e[t]=i}function T7(e,n,t){if(e=Float64Array.from(function*ADe(e,n){if(void 0===n)for(let t of e)null!=t&&(t=+t)>=t&&(yield t);else{let t=-1;for(let i of e)null!=(i=n(i,++t,e))&&(i=+i)>=i&&(yield i)}}(e,t)),(i=e.length)&&!isNaN(n=+n)){if(n<=0||i<2)return v7(e);if(n>=1)return $d(e);var i,r=(i-1)*n,o=Math.floor(r),a=$d(jQ(e,o).subarray(0,o+1));return a+(v7(e.subarray(o+1))-a)*(r-o)}}function WQ(e,n,t=aK){if((i=e.length)&&!isNaN(n=+n)){if(n<=0||i<2)return+t(e[0],0,e);if(n>=1)return+t(e[i-1],i-1,e);var i,r=(i-1)*n,o=Math.floor(r),a=+t(e[o],o,e);return a+(+t(e[o+1],o+1,e)-a)*(r-o)}}function qQ(e,n){return T7(e,.5,n)}function*KQ(e,n){if(null==n)for(let t of e)null!=t&&""!==t&&(t=+t)>=t&&(yield t);else{let t=-1;for(let i of e)i=n(i,++t,e),null!=i&&""!==i&&(i=+i)>=i&&(yield i)}}function C7(e,n,t){const i=Float64Array.from(KQ(e,t));return i.sort(Kd),n.map(r=>WQ(i,r))}function b7(e,n){return C7(e,[.25,.5,.75],n)}function A7(e,n){const t=e.length,i=function sNe(e,n){const t=function aNe(e,n){let i,t=0,r=0,o=0;if(void 0===n)for(let a of e)null!=a&&(a=+a)>=a&&(i=a-r,r+=i/++t,o+=i*(a-r));else{let a=-1;for(let s of e)null!=(s=n(s,++a,e))&&(s=+s)>=s&&(i=s-r,r+=i/++t,o+=i*(s-r))}if(t>1)return o/(t-1)}(e,n);return t&&Math.sqrt(t)}(e,n),r=b7(e,n);return 1.06*(Math.min(i,(r[2]-r[0])/1.34)||i||Math.abs(r[0])||1)*Math.pow(t,-.2)}function ZQ(e){const n=e.maxbins||20,t=e.base||10,i=Math.log(t),r=e.divide||[5,2];let s,l,c,u,d,p,o=e.extent[0],a=e.extent[1];const f=e.span||a-o||Math.abs(o)||1;if(e.step)s=e.step;else if(e.steps){for(u=f/n,d=0,p=e.steps.length;dn;)s*=t;for(d=0,p=r.length;d=c&&f/u<=n&&(s=u)}u=Math.log(s);const g=Math.pow(t,-(u>=0?0:1+~~(-u/i))-1);return(e.nice||void 0===e.nice)&&(u=Math.floor(o/s+g)*s,o=op);const r=e.length,o=new Float64Array(r);let d,a=0,s=1,l=i(e[0]),c=l,u=l+n;for(;s=u){for(c=(l+c)/2;a>1);ar;)e[a--]=e[i]}i=r,r=o}return e}(o,n+n/4):o}function uNe(e){return function(){return(e=(1103515245*e+12345)%2147483647)/2147483647}}function dNe(e,n){let t,i,r;null==n&&(n=e,e=0);const o={min(a){return arguments.length?(t=a||0,r=i-t,o):t},max(a){return arguments.length?(i=a||0,r=i-t,o):i},sample:()=>t+Math.floor(r*El()),pdf:a=>a===Math.floor(a)&&a>=t&&a=i?1:(s-t+1)/r},icdf:a=>a>=0&&a<=1?t-1+Math.floor(a*r):NaN};return o.min(e).max(n)}const JQ=Math.sqrt(2*Math.PI),pNe=Math.SQRT2;let cC=NaN;function fx(e,n){e=e||0,n=n??1;let r,o,t=0,i=0;if(cC==cC)t=cC,cC=NaN;else{do{t=2*El()-1,i=2*El()-1,r=t*t+i*i}while(0===r||r>1);o=Math.sqrt(-2*Math.log(r)/r),t*=o,cC=i*o}return e+t*n}function S7(e,n,t){const i=(e-(n||0))/(t=t??1);return Math.exp(-.5*i*i)/(t*JQ)}function hx(e,n,t){const i=(e-(n=n||0))/(t=t??1),r=Math.abs(i);let o;if(r>37)o=0;else{const a=Math.exp(-r*r/2);let s;r<7.07106781186547?(s=.0352624965998911*r+.700383064443688,s=s*r+6.37396220353165,s=s*r+33.912866078383,s=s*r+112.079291497871,s=s*r+221.213596169931,s=s*r+220.206867912376,o=a*s,s=.0883883476483184*r+1.75566716318264,s=s*r+16.064177579207,s=s*r+86.7807322029461,s=s*r+296.564248779674,s=s*r+637.333633378831,s=s*r+793.826512519948,s=s*r+440.413735824752,o/=s):(s=r+.65,s=r+4/s,s=r+3/s,s=r+2/s,s=r+1/s,o=a/s/2.506628274631)}return i>0?1-o:o}function gx(e,n,t){return e<0||e>1?NaN:(n||0)+(t??1)*pNe*function fNe(e){let t,n=-Math.log((1-e)*(1+e));return n<6.25?(n-=3.125,t=-364441206401782e-35,t=t*n-16850591381820166e-35,t=128584807152564e-32+t*n,t=11157877678025181e-33+t*n,t=t*n-1333171662854621e-31,t=20972767875968562e-33+t*n,t=6637638134358324e-30+t*n,t=t*n-4054566272975207e-29,t=t*n-8151934197605472e-29,t=26335093153082323e-28+t*n,t=t*n-12975133253453532e-27,t=t*n-5415412054294628e-26,t=1.0512122733215323e-9+t*n,t=t*n-4.112633980346984e-9,t=t*n-2.9070369957882005e-8,t=4.2347877827932404e-7+t*n,t=t*n-13654692000834679e-22,t=t*n-13882523362786469e-21,t=.00018673420803405714+t*n,t=t*n-.000740702534166267,t=t*n-.006033670871430149,t=.24015818242558962+t*n,t=1.6536545626831027+t*n):n<16?(n=Math.sqrt(n)-3.25,t=2.2137376921775787e-9,t=9.075656193888539e-8+t*n,t=t*n-2.7517406297064545e-7,t=1.8239629214389228e-8+t*n,t=15027403968909828e-22+t*n,t=t*n-4013867526981546e-21,t=29234449089955446e-22+t*n,t=12475304481671779e-21+t*n,t=t*n-47318229009055734e-21,t=6828485145957318e-20+t*n,t=24031110387097894e-21+t*n,t=t*n-.0003550375203628475,t=.0009532893797373805+t*n,t=t*n-.0016882755560235047,t=.002491442096107851+t*n,t=t*n-.003751208507569241,t=.005370914553590064+t*n,t=1.0052589676941592+t*n,t=3.0838856104922208+t*n):Number.isFinite(n)?(n=Math.sqrt(n)-5,t=-27109920616438573e-27,t=t*n-2.555641816996525e-10,t=1.5076572693500548e-9+t*n,t=t*n-3.789465440126737e-9,t=7.61570120807834e-9+t*n,t=t*n-1.496002662714924e-8,t=2.914795345090108e-8+t*n,t=t*n-6.771199775845234e-8,t=2.2900482228026655e-7+t*n,t=t*n-9.9298272942317e-7,t=4526062597223154e-21+t*n,t=t*n-1968177810553167e-20,t=7599527703001776e-20+t*n,t=t*n-.00021503011930044477,t=t*n-.00013871931833623122,t=1.0103004648645344+t*n,t=4.849906401408584+t*n):t=1/0,t*e}(2*e-1)}function w7(e,n){let t,i;const r={mean(o){return arguments.length?(t=o||0,r):t},stdev(o){return arguments.length?(i=o??1,r):i},sample:()=>fx(t,i),pdf:o=>S7(o,t,i),cdf:o=>hx(o,t,i),icdf:o=>gx(o,t,i)};return r.mean(e).stdev(n)}function x7(e,n){const t=w7();let i=0;const r={data(o){return arguments.length?(e=o,i=o?o.length:0,r.bandwidth(n)):e},bandwidth(o){return arguments.length?(!(n=o)&&e&&(n=A7(e)),r):n},sample:()=>e[~~(El()*i)]+n*t.sample(),pdf(o){let a=0,s=0;for(;sF7(t,i),pdf:o=>D7(o,t,i),cdf:o=>E7(o,t,i),icdf:o=>I7(o,t,i)};return r.mean(e).stdev(n)}function tJ(e,n){let i,t=0;const o={weights(a){return arguments.length?(i=function r(a){const s=[];let c,l=0;for(c=0;c=n&&e<=t?1/(t-n):0}function M7(e,n,t){return null==t&&(t=n??1,n=0),et?1:(e-n)/(t-n)}function k7(e,n,t){return null==t&&(t=n??1,n=0),e>=0&&e<=1?n+e*(t-n):NaN}function nJ(e,n){let t,i;const r={min(o){return arguments.length?(t=o||0,r):t},max(o){return arguments.length?(i=o??1,r):i},sample:()=>R7(t,i),pdf:o=>L7(o,t,i),cdf:o=>M7(o,t,i),icdf:o=>k7(o,t,i)};return null==n&&(n=e??1,e=0),r.min(e).max(n)}function P7(e,n,t){let i=0,r=0;for(const o of e){const a=t(o);null==n(o)||null==a||isNaN(a)||(i+=(a-i)/++r)}return{coef:[i],predict:()=>i,rSquared:0}}function uC(e,n,t,i){const r=i-e*e,o=Math.abs(r)<1e-24?0:(t-e*n)/r;return[n-o*e,o]}function mx(e,n,t,i){e=e.filter(f=>{let h=n(f),g=t(f);return null!=h&&(h=+h)>=h&&null!=g&&(g=+g)>=g}),i&&e.sort((f,h)=>n(f)-n(h));const r=e.length,o=new Float64Array(r),a=new Float64Array(r);let u,d,p,s=0,l=0,c=0;for(p of e)o[s]=u=+n(p),a[s]=d=+t(p),++s,l+=(u-l)/s,c+=(d-c)/s;for(s=0;s=o&&null!=a&&(a=+a)>=a&&i(o,a,++r)}function c_(e,n,t,i,r){let o=0,a=0;return dC(e,n,t,(s,l)=>{const c=l-r(s),u=l-i;o+=c*c,a+=u*u}),1-o/a}function N7(e,n,t){let i=0,r=0,o=0,a=0,s=0;dC(e,n,t,(u,d)=>{++s,i+=(u-i)/s,r+=(d-r)/s,o+=(u*d-o)/s,a+=(u*u-a)/s});const l=uC(i,r,o,a),c=u=>l[0]+l[1]*u;return{coef:l,predict:c,rSquared:c_(e,n,t,r,c)}}function iJ(e,n,t){let i=0,r=0,o=0,a=0,s=0;dC(e,n,t,(u,d)=>{++s,u=Math.log(u),i+=(u-i)/s,r+=(d-r)/s,o+=(u*d-o)/s,a+=(u*u-a)/s});const l=uC(i,r,o,a),c=u=>l[0]+l[1]*Math.log(u);return{coef:l,predict:c,rSquared:c_(e,n,t,r,c)}}function rJ(e,n,t){const[i,r,o,a]=mx(e,n,t);let p,f,h,s=0,l=0,c=0,u=0,d=0;dC(e,n,t,(v,C)=>{p=i[d++],f=Math.log(C),h=p*C,s+=(C*f-s)/d,l+=(h-l)/d,c+=(h*f-c)/d,u+=(p*h-u)/d});const[g,m]=uC(l/a,s/a,c/a,u/a),_=v=>Math.exp(g+m*(v-o));return{coef:[Math.exp(g-m*o),m],predict:_,rSquared:c_(e,n,t,a,_)}}function oJ(e,n,t){let i=0,r=0,o=0,a=0,s=0,l=0;dC(e,n,t,(d,p)=>{const f=Math.log(d),h=Math.log(p);++l,i+=(f-i)/l,r+=(h-r)/l,o+=(f*h-o)/l,a+=(f*f-a)/l,s+=(p-s)/l});const c=uC(i,r,o,a),u=d=>c[0]*Math.pow(d,c[1]);return c[0]=Math.exp(c[0]),{coef:c,predict:u,rSquared:c_(e,n,t,s,u)}}function O7(e,n,t){const[i,r,o,a]=mx(e,n,t),s=i.length;let f,h,g,m,l=0,c=0,u=0,d=0,p=0;for(f=0;fC*(w-=o)*w+A*w+S+a;return{coef:[S-A*o+C*o*o+a,A-2*C*o,C],predict:I,rSquared:c_(e,n,t,a,I)}}function aJ(e,n,t,i){if(0===i)return P7(e,n,t);if(1===i)return N7(e,n,t);if(2===i)return O7(e,n,t);const[r,o,a,s]=mx(e,n,t),l=r.length,c=[],u=[],d=i+1;let p,f,h,g,m;for(p=0;pMath.abs(e[i][a])&&(a=r);for(o=i;o=i;o--)e[o][r]-=e[o][i]*e[i][r]/e[i][i]}for(r=n-1;r>=0;--r){for(s=0,o=r+1;o{let A=s+_[0]+_[1]*(C-=a)+_[2]*C*C;for(p=3;p=0;--o)for(s=n[o],l=1,r[o]+=s,a=1;a<=o;++a)l*=(o+1-a)/a,r[o-a]+=s*Math.pow(t,a)*l;return r[0]+=i,r}const sJ=2,lJ=1e-12;function cJ(e,n,t,i){const[r,o,a,s]=mx(e,n,t,!0),l=r.length,c=Math.max(2,~~(i*l)),u=new Float64Array(l),d=new Float64Array(l),p=new Float64Array(l).fill(1);for(let f=-1;++f<=sJ;){const h=[0,c-1];for(let m=0;mr[C]-_?v:C]-_||1);for(let K=v;K<=C;++K){const F=r[K],M=o[K],L=mNe(Math.abs(_-F)*W)*p[K],Y=F*L;S+=L,I+=Y,w+=M*L,O+=M*Y,B+=F*Y}const[q,te]=uC(I/S,w/S,O/S,B/S);u[m]=q+te*_,d[m]=Math.abs(o[m]-u[m]),yNe(r,m+1,h)}if(f===sJ)break;const g=qQ(d);if(Math.abs(g)=1?lJ:(v=1-_*_)*v}return function _Ne(e,n,t,i){const r=e.length,o=[];let c,a=0,s=0,l=[];for(;a=e.length))for(;n>r&&e[o]-i<=i-e[r];)t[0]=++r,t[1]=o,++o}const vNe=.5*Math.PI/180;function yx(e,n,t,i){t=t||25,i=Math.max(t,i||200);const r=g=>[g,e(g)],o=n[0],a=n[1],s=a-o,l=s/i,c=[r(o)],u=[];if(t===i){for(let g=1;g0;)u.push(r(o+g/t*s));let d=c[0],p=u[u.length-1];const f=1/s,h=function TNe(e,n){let t=e,i=e;const r=n.length;for(let o=0;oi&&(i=a)}return 1/(i-t)}(d[1],u);for(;p;){const g=r((d[0]+p[0])/2);g[0]-d[0]>=l&&CNe(d,g,p,f,h)>vNe?u.push(g):(d=p,c.push(p),u.pop()),p=u[u.length-1]}return c}function CNe(e,n,t,i,r){const o=Math.atan2(r*(t[1]-e[1]),i*(t[0]-e[0])),a=Math.atan2(r*(n[1]-e[1]),i*(n[0]-e[0]));return Math.abs(o-a)}function $s(e,n,t){e=+e,n=+n,t=(r=arguments.length)<2?(n=e,e=0,1):r<3?1:+t;for(var i=-1,r=0|Math.max(0,Math.ceil((n-e)/t)),o=new Array(r);++i{const t=e.length;let i=1,r=String(e[0](n));for(;i{},SNe={init:G7,add:G7,rem:G7,idx:0},pC={values:{init:e=>e.cell.store=!0,value:e=>e.cell.data.values(),idx:-1},count:{value:e=>e.cell.num},__count__:{value:e=>e.missing+e.valid},missing:{value:e=>e.missing},valid:{value:e=>e.valid},sum:{init:e=>e.sum=0,value:e=>e.valid?e.sum:void 0,add:(e,n)=>e.sum+=+n,rem:(e,n)=>e.sum-=n},product:{init:e=>e.product=1,value:e=>e.valid?e.product:void 0,add:(e,n)=>e.product*=n,rem:(e,n)=>e.product/=n},mean:{init:e=>e.mean=0,value:e=>e.valid?e.mean:void 0,add:(e,n)=>(e.mean_d=n-e.mean,e.mean+=e.mean_d/e.valid),rem:(e,n)=>(e.mean_d=n-e.mean,e.mean-=e.valid?e.mean_d/e.valid:e.mean)},average:{value:e=>e.valid?e.mean:void 0,req:["mean"],idx:1},variance:{init:e=>e.dev=0,value:e=>e.valid>1?e.dev/(e.valid-1):void 0,add:(e,n)=>e.dev+=e.mean_d*(n-e.mean),rem:(e,n)=>e.dev-=e.mean_d*(n-e.mean),req:["mean"],idx:1},variancep:{value:e=>e.valid>1?e.dev/e.valid:void 0,req:["variance"],idx:2},stdev:{value:e=>e.valid>1?Math.sqrt(e.dev/(e.valid-1)):void 0,req:["variance"],idx:2},stdevp:{value:e=>e.valid>1?Math.sqrt(e.dev/e.valid):void 0,req:["variance"],idx:2},stderr:{value:e=>e.valid>1?Math.sqrt(e.dev/(e.valid*(e.valid-1))):void 0,req:["variance"],idx:2},distinct:{value:e=>e.cell.data.distinct(e.get),req:["values"],idx:3},ci0:{value:e=>e.cell.data.ci0(e.get),req:["values"],idx:3},ci1:{value:e=>e.cell.data.ci1(e.get),req:["values"],idx:3},median:{value:e=>e.cell.data.q2(e.get),req:["values"],idx:3},q1:{value:e=>e.cell.data.q1(e.get),req:["values"],idx:3},q3:{value:e=>e.cell.data.q3(e.get),req:["values"],idx:3},min:{init:e=>e.min=void 0,value:e=>e.min=Number.isNaN(e.min)?e.cell.data.min(e.get):e.min,add:(e,n)=>{(n{n<=e.min&&(e.min=NaN)},req:["values"],idx:4},max:{init:e=>e.max=void 0,value:e=>e.max=Number.isNaN(e.max)?e.cell.data.max(e.get):e.max,add:(e,n)=>{(n>e.max||void 0===e.max)&&(e.max=n)},rem:(e,n)=>{n>=e.max&&(e.max=NaN)},req:["values"],idx:4},argmin:{init:e=>e.argmin=void 0,value:e=>e.argmin||e.cell.data.argmin(e.get),add:(e,n,t)=>{n{n<=e.min&&(e.argmin=void 0)},req:["min","values"],idx:3},argmax:{init:e=>e.argmax=void 0,value:e=>e.argmax||e.cell.data.argmax(e.get),add:(e,n,t)=>{n>e.max&&(e.argmax=t)},rem:(e,n)=>{n>=e.max&&(e.argmax=void 0)},req:["max","values"],idx:3},exponential:{init:(e,n)=>{e.exp=0,e.exp_r=n},value:e=>e.valid?e.exp*(1-e.exp_r)/(1-e.exp_r**e.valid):void 0,add:(e,n)=>e.exp=e.exp_r*e.exp+n,rem:(e,n)=>e.exp=(e.exp-n/e.exp_r**(e.valid-1))/e.exp_r},exponentialb:{value:e=>e.valid?e.exp*(1-e.exp_r):void 0,req:["exponential"],idx:1}},fC=Object.keys(pC).filter(e=>"__count__"!==e);function dJ(e,n,t){return pC[e](t,n)}function pJ(e,n){return e.idx-n.idx}function FNe(){this.valid=0,this.missing=0,this._ops.forEach(e=>null==e.aggregate_param?e.init(this):e.init(this,e.aggregate_param))}function DNe(e,n){null!=e&&""!==e?e==e&&(++this.valid,this._ops.forEach(t=>t.add(this,e,n))):++this.missing}function ENe(e,n){null!=e&&""!==e?e==e&&(--this.valid,this._ops.forEach(t=>t.rem(this,e,n))):--this.missing}function INe(e){return this._out.forEach(n=>e[n.out]=n.value(this)),e}function fJ(e,n){const t=n||Ko,i=function xNe(e){const n={};e.forEach(i=>n[i.name]=i);const t=i=>{i.req&&i.req.forEach(r=>{n[r]||t(n[r]=pC[r]())})};return e.forEach(t),Object.values(n).sort(pJ)}(e),r=e.slice().sort(pJ);function o(a){this._ops=i,this._out=r,this.cell=a,this.init()}return o.prototype.init=FNe,o.prototype.add=DNe,o.prototype.rem=ENe,o.prototype.set=INe,o.prototype.get=t,o.fields=e.map(a=>a.out),o}function B7(e){this._key=e?xl(e):Pt,this.reset()}[...fC,"__count__"].forEach(e=>{pC[e]=function wNe(e,n){return(t,i)=>yn({name:e,aggregate_param:i,out:t||e},SNe,n)}(e,pC[e])});const xo=B7.prototype;function Pf(e){be.call(this,null,e),this._adds=[],this._mods=[],this._alen=0,this._mlen=0,this._drop=!0,this._cross=!1,this._dims=[],this._dnames=[],this._measures=[],this._countOnly=!1,this._counts=null,this._prev=null,this._inputs=null,this._outputs=null}function Y7(e){be.call(this,null,e)}function hJ(e,n,t){const i=e;let r=n||[],o=t||[],a={},s=0;return{add:l=>o.push(l),remove:l=>a[i(l)]=++s,size:()=>r.length,data:(l,c)=>(s&&(r=r.filter(u=>!a[i(u)]),a={},s=0),c&&l&&r.sort(l),o.length&&(r=l?BX(l,r,o.sort(l)):r.concat(o),o=[]),r)}}function V7(e){be.call(this,[],e)}function gJ(e){bi.call(this,null,LNe,e)}function LNe(e){return this.value&&!e.modified()?this.value:M9(e.fields,e.orders)}function z7(e){be.call(this,null,e)}function $7(e){be.call(this,null,e)}xo.reset=function(){this._add=[],this._rem=[],this._ext=null,this._get=null,this._q=null},xo.add=function(e){this._add.push(e)},xo.rem=function(e){this._rem.push(e)},xo.values=function(){if(this._get=null,0===this._rem.length)return this._add;const e=this._add,n=this._rem,t=this._key,i=e.length,r=n.length,o=Array(i-r),a={};let s,l,c;for(s=0;s=0;)o=e(n[i])+"",kt(t,o)||(t[o]=1,++r);return r},xo.extent=function(e){if(this._get!==e||!this._ext){const n=this.values(),t=kX(n,e);this._ext=[n[t[0]],n[t[1]]],this._get=e}return this._ext},xo.argmin=function(e){return this.extent(e)[0]||{}},xo.argmax=function(e){return this.extent(e)[1]||{}},xo.min=function(e){const n=this.extent(e)[0];return null!=n?e(n):void 0},xo.max=function(e){const n=this.extent(e)[1];return null!=n?e(n):void 0},xo.quartile=function(e){return(this._get!==e||!this._q)&&(this._q=b7(this.values(),e),this._get=e),this._q},xo.q1=function(e){return this.quartile(e)[0]},xo.q2=function(e){return this.quartile(e)[1]},xo.q3=function(e){return this.quartile(e)[2]},xo.ci=function(e){return(this._get!==e||!this._ci)&&(this._ci=XQ(this.values(),1e3,.05,e),this._get=e),this._ci},xo.ci0=function(e){return this.ci(e)[0]},xo.ci1=function(e){return this.ci(e)[1]},Pf.Definition={type:"Aggregate",metadata:{generates:!0,changes:!0},params:[{name:"groupby",type:"field",array:!0},{name:"ops",type:"enum",array:!0,values:fC},{name:"aggregate_params",type:"number",null:!0,array:!0},{name:"fields",type:"field",null:!0,array:!0},{name:"as",type:"string",null:!0,array:!0},{name:"drop",type:"boolean",default:!0},{name:"cross",type:"boolean",default:!1},{name:"key",type:"field"}]},Ze(Pf,be,{transform(e,n){const t=this,i=n.fork(n.NO_SOURCE|n.NO_FIELDS),r=e.modified();return t.stamp=i.stamp,t.value&&(r||n.modified(t._inputs,!0))?(t._prev=t.value,t.value=r?t.init(e):Object.create(null),n.visit(n.SOURCE,o=>t.add(o))):(t.value=t.value||t.init(e),n.visit(n.REM,o=>t.rem(o)),n.visit(n.ADD,o=>t.add(o))),i.modifies(t._outputs),t._drop=!1!==e.drop,e.cross&&t._dims.length>1&&(t._drop=!1,t.cross()),n.clean()&&t._drop&&i.clean(!0).runAfter(()=>this.clean()),t.changes(i)},cross(){const e=this,n=e.value,t=e._dnames,i=t.map(()=>({})),r=t.length;function o(s){let l,c,u,d;for(l in s)for(u=s[l].tuple,c=0;c{const C=dr(v);return r(v),t.push(C),C}),this.cellkey=e.key?e.key:H7(this._dims),this._countOnly=!0,this._counts=[],this._measures=[];const o=e.fields||[null],a=e.ops||["count"],s=e.aggregate_params||[null],l=e.as||[],c=o.length,u={};let d,p,f,h,g,m,_;for(c!==a.length&&xe("Unmatched number of fields and aggregate ops."),_=0;_fJ(v,v.field)),Object.create(null)},cellkey:H7(),cell(e,n){let t=this.value[e];return t?0===t.num&&this._drop&&t.stamp{const d=i(u);u[s]=d,u[l]=null==d?null:r+o*(1+(d-r)/o)}:u=>u[s]=i(u)),n.modifies(t?a:s)},_bins(e){if(this.value&&!e.modified())return this.value;const n=e.field,t=ZQ(e),i=t.step;let a,s,r=t.start,o=r+Math.ceil((t.stop-r)/i)*i;null!=(a=e.anchor)&&(s=a-(r+i*Math.floor((a-r)/i)),r+=s,o+=s);const l=function(c){let u=Zo(n(c));return null==u?null:uo?1/0:(u=Math.max(r,Math.min(u,o-i)),r+i*Math.floor(1e-14+(u-r)/i))};return l.start=r,l.stop=t.stop,l.step=i,this.value=ss(l,qo(n),e.name||"bin_"+dr(n))}}),V7.Definition={type:"Collect",metadata:{source:!0},params:[{name:"sort",type:"compare"}]},Ze(V7,be,{transform(e,n){const t=n.fork(n.ALL),i=hJ(Pt,this.value,t.materialize(t.ADD).add),r=e.sort,o=n.changed()||r&&(e.modified("sort")||n.modified(r.fields));return t.visit(t.REM,i.remove),this.modified(o),this.value=t.source=i.data(Yg(r),o),n.source&&n.source.root&&(this.value.root=n.source.root),t}}),Ze(gJ,bi),z7.Definition={type:"CountPattern",metadata:{generates:!0,changes:!0},params:[{name:"field",type:"field",required:!0},{name:"case",type:"enum",values:["upper","lower","mixed"],default:"mixed"},{name:"pattern",type:"string",default:'[\\w"]+'},{name:"stopwords",type:"string",default:""},{name:"as",type:"string",array:!0,length:2,default:["text","count"]}]},Ze(z7,be,{transform(e,n){const t=d=>p=>{for(var h,f=function MNe(e,n,t){switch(n){case"upper":e=e.toUpperCase();break;case"lower":e=e.toLowerCase()}return e.match(t)}(s(p),e.case,o)||[],g=0,m=f.length;gr[d]=1+(r[d]||0)),u=t(d=>r[d]-=1);return i?n.visit(n.SOURCE,c):(n.visit(n.ADD,c),n.visit(n.REM,u)),this._finish(n,l)},_parameterCheck(e,n){let t=!1;return(e.modified("stopwords")||!this._stop)&&(this._stop=new RegExp("^"+(e.stopwords||"")+"$","i"),t=!0),(e.modified("pattern")||!this._match)&&(this._match=new RegExp(e.pattern||"[\\w']+","g"),t=!0),(e.modified("field")||n.modified(e.field.fields))&&(t=!0),t&&(this._counts={}),t},_finish(e,n){const t=this._counts,i=this._tuples||(this._tuples={}),r=n[0],o=n[1],a=e.fork(e.NO_SOURCE|e.NO_FIELDS);let s,l,c;for(s in t)l=i[s],c=t[s]||0,!l&&c?(i[s]=l=ei({}),l[r]=s,l[o]=c,a.add.push(l)):0===c?(l&&a.rem.push(l),t[s]=null,i[s]=null):l[o]!==c&&(l[o]=c,a.mod.push(l));return a.modifies(n)}}),$7.Definition={type:"Cross",metadata:{generates:!0},params:[{name:"filter",type:"expr"},{name:"as",type:"string",array:!0,length:2,default:["a","b"]}]},Ze($7,be,{transform(e,n){const t=n.fork(n.NO_SOURCE),i=e.as||["a","b"],r=i[0],o=i[1],a=!this.value||n.changed(n.ADD_REM)||e.modified("as")||e.modified("filter");let s=this.value;return a?(s&&(t.rem=s),s=n.materialize(n.SOURCE).source,t.add=this.value=function kNe(e,n,t,i){for(var l,c,r=[],o={},a=e.length,s=0;s_J(o,n))):typeof i[r]===yJ&&i[r](e[r]);return i}function U7(e){be.call(this,null,e)}const vJ=[{key:{function:"normal"},params:[{name:"mean",type:"number",default:0},{name:"stdev",type:"number",default:1}]},{key:{function:"lognormal"},params:[{name:"mean",type:"number",default:0},{name:"stdev",type:"number",default:1}]},{key:{function:"uniform"},params:[{name:"min",type:"number",default:0},{name:"max",type:"number",default:1}]},{key:{function:"kde"},params:[{name:"field",type:"field",required:!0},{name:"from",type:"data"},{name:"bandwidth",type:"number",default:0}]}];function TJ(e,n){return e?e.map((t,i)=>n[i]||dr(t)):null}function j7(e,n,t){const i=[],r=d=>d(l);let o,a,s,l,c,u;if(null==n)i.push(e.map(t));else for(o={},a=0,s=e.length;an(t,e),qo(n),dr(n))}function q7(e){be.call(this,[void 0,void 0],e)}function K7(e,n){bi.call(this,e),this.parent=n,this.count=0}function _x(e){be.call(this,{},e),this._keys=t_();const n=this._targets=[];n.active=0,n.forEach=t=>{for(let i=0,r=n.active;ixl(n)):xl(e.name,e.as)}function Z7(e){be.call(this,t_(),e)}function X7(e){be.call(this,[],e)}function Q7(e){be.call(this,[],e)}function J7(e){be.call(this,null,e)}function SJ(e){be.call(this,[],e)}U7.Definition={type:"Density",metadata:{generates:!0},params:[{name:"extent",type:"number",array:!0,length:2},{name:"steps",type:"number"},{name:"minsteps",type:"number",default:25},{name:"maxsteps",type:"number",default:200},{name:"method",type:"string",default:"pdf",values:["pdf","cdf"]},{name:"distribution",type:"param",params:vJ.concat({key:{function:"mixture"},params:[{name:"distributions",type:"param",array:!0,params:vJ},{name:"weights",type:"number",array:!0}]})},{name:"as",type:"string",array:!0,default:["value","density"]}]},Ze(U7,be,{transform(e,n){const t=n.fork(n.NO_SOURCE|n.NO_FIELDS);if(!this.value||n.changed()||e.modified()){const i=_J(e.distribution,function HNe(e){return()=>e.materialize(e.SOURCE).source}(n)),r=e.steps||e.minsteps||25,o=e.steps||e.maxsteps||200;let a=e.method||"pdf";"pdf"!==a&&"cdf"!==a&&xe("Invalid density method: "+a),!e.extent&&!i.data&&xe("Missing density extent parameter."),a=i[a];const s=e.as||["value","density"],c=yx(a,e.extent||Pu(i.data()),r,o).map(u=>{const d={};return d[s[0]]=u[0],d[s[1]]=u[1],ei(d)});this.value&&(t.rem=this.value),this.value=t.add=t.source=c}return t}}),W7.Definition={type:"DotBin",metadata:{modifies:!0},params:[{name:"field",type:"field",required:!0},{name:"groupby",type:"field",array:!0},{name:"step",type:"number"},{name:"smooth",type:"boolean",default:!1},{name:"as",type:"string",default:"bin"}]},Ze(W7,be,{transform(e,n){if(this.value&&!e.modified()&&!n.changed())return n;const t=n.materialize(n.SOURCE).source,i=j7(n.source,e.groupby,Ko),r=e.smooth||!1,o=e.field,a=e.step||((e,n)=>KT(Pu(e,n))/30)(t,o),s=Yg((h,g)=>o(h)-o(g)),l=e.as||"bin",c=i.length;let f,u=1/0,d=-1/0,p=0;for(;pd&&(d=g),h[++f][l]=g}return this.value={start:u,stop:d,step:a},n.reflow(!0).modifies(l)}}),Ze(bJ,bi),q7.Definition={type:"Extent",metadata:{},params:[{name:"field",type:"field",required:!0}]},Ze(q7,be,{transform(e,n){const t=this.value,i=e.field,r=n.changed()||n.modified(i.fields)||e.modified("field");let o=t[0],a=t[1];if((r||null==o)&&(o=1/0,a=-1/0),n.visit(r?n.SOURCE:n.ADD,s=>{const l=Zo(i(s));null!=l&&(la&&(a=l))}),!Number.isFinite(o)||!Number.isFinite(a)){let s=dr(i);s&&(s=` for field "${s}"`),n.dataflow.warn(`Infinite extent${s}: [${o}, ${a}]`),o=a=void 0}this.value=[o,a]}}),Ze(K7,bi,{connect(e){return this.detachSubflow=e.detachSubflow,this.targets().add(e),e.source=this},add(e){this.count+=1,this.value.add.push(e)},rem(e){this.count-=1,this.value.rem.push(e)},mod(e){this.value.mod.push(e)},init(e){this.value.init(e,e.NO_SOURCE)},evaluate(){return this.value}}),Ze(_x,be,{activate(e){this._targets[this._targets.active++]=e},subflow(e,n,t,i){const r=this.value;let a,s,o=kt(r,e)&&r[e];return o?o.value.stampi&&i.count>0);this.initTargets(t)}},initTargets(e){const n=this._targets,t=n.length,i=e?e.length:0;let r=0;for(;rthis.subflow(l,r,n);return this._group=e.group||{},this.initTargets(),n.visit(n.REM,l=>{const c=Pt(l),u=o.get(c);void 0!==u&&(o.delete(c),s(u).rem(l))}),n.visit(n.ADD,l=>{const c=i(l);o.set(Pt(l),c),s(c).add(l)}),a||n.modified(i.fields)?n.visit(n.MOD,l=>{const c=Pt(l),u=o.get(c),d=i(l);u===d?s(d).mod(l):(o.set(c,d),s(u).rem(l),s(d).add(l))}):n.changed(n.MOD)&&n.visit(n.MOD,l=>{s(o.get(Pt(l))).mod(l)}),a&&n.visit(n.REFLOW,l=>{const c=Pt(l),u=o.get(c),d=i(l);u!==d&&(o.set(c,d),s(u).rem(l),s(d).add(l))}),n.clean()?t.runAfter(()=>{this.clean(),o.clean()}):o.empty>t.cleanThreshold&&t.runAfter(o.clean),n}}),Ze(AJ,bi),Z7.Definition={type:"Filter",metadata:{changes:!0},params:[{name:"expr",type:"expr",required:!0}]},Ze(Z7,be,{transform(e,n){const t=n.dataflow,i=this.value,r=n.fork(),o=r.add,a=r.rem,s=r.mod,l=e.expr;let c=!0;function u(d){const p=Pt(d),f=l(d,e),h=i.get(p);f&&h?(i.delete(p),o.push(d)):f||h?c&&f&&!h&&s.push(d):(i.set(p,1),a.push(d))}return n.visit(n.REM,d=>{const p=Pt(d);i.has(p)?i.delete(p):a.push(d)}),n.visit(n.ADD,d=>{l(d,e)?o.push(d):i.set(Pt(d),1)}),n.visit(n.MOD,u),e.modified()&&(c=!1,n.visit(n.REFLOW,u)),i.empty>t.cleanThreshold&&t.runAfter(i.clean),r}}),X7.Definition={type:"Flatten",metadata:{generates:!0},params:[{name:"fields",type:"field",array:!0,required:!0},{name:"index",type:"string"},{name:"as",type:"string",array:!0}]},Ze(X7,be,{transform(e,n){const t=n.fork(n.NO_SOURCE),i=e.fields,r=TJ(i,e.as||[]),o=e.index||null,a=r.length;return t.rem=this.value,n.visit(n.SOURCE,s=>{const l=i.map(h=>h(s)),c=l.reduce((h,g)=>Math.max(h,g.length),0);let d,p,f,u=0;for(;u{for(let d,u=0;ua[i]=t(a,e))}}),Ze(SJ,be,{transform(e,n){const t=n.fork(n.ALL),i=e.generator;let a,s,l,r=this.value,o=e.size-r.length;if(o>0){for(a=[];--o>=0;)a.push(l=ei(i(e))),r.push(l);t.add=t.add.length?t.materialize(t.ADD).add.concat(a):a}else s=r.slice(0,-o),t.rem=t.rem.length?t.materialize(t.REM).rem.concat(s):s,r=r.slice(-o);return t.source=this.value=r,t}});const vx={value:"value",median:qQ,mean:function bNe(e,n){let t=0,i=0;if(void 0===n)for(let r of e)null!=r&&(r=+r)>=r&&(++t,i+=r);else{let r=-1;for(let o of e)null!=(o=n(o,++r,e))&&(o=+o)>=o&&(++t,i+=o)}if(t)return i/t},min:v7,max:$d},VNe=[];function eL(e){be.call(this,[],e)}function tL(e){Pf.call(this,e)}function nL(e){be.call(this,null,e)}function wJ(e){bi.call(this,null,jNe,e)}function jNe(e){return this.value&&!e.modified()?this.value:P9(e.fields,e.flat)}function xJ(e){be.call(this,[],e),this._pending=null}function iL(e,n,t){t.forEach(ei);const i=n.fork(n.NO_FIELDS&n.NO_SOURCE);return i.rem=e.value,e.value=i.source=i.add=t,e._pending=null,i.rem.length&&i.clean(!0),i}function rL(e){be.call(this,{},e)}function FJ(e){bi.call(this,null,qNe,e)}function qNe(e){if(this.value&&!e.modified())return this.value;const n=e.extents,t=n.length;let o,a,i=1/0,r=-1/0;for(o=0;or&&(r=a[1]);return[i,r]}function DJ(e){bi.call(this,null,KNe,e)}function KNe(e){return this.value&&!e.modified()?this.value:e.values.reduce((n,t)=>n.concat(t),[])}function EJ(e){be.call(this,null,e)}function oL(e){Pf.call(this,e)}function IJ(e){_x.call(this,e)}function aL(e){be.call(this,null,e)}function RJ(e){be.call(this,null,e)}function sL(e){be.call(this,null,e)}function LJ(e){be.call(this,null,e)}function lL(e){be.call(this,[],e),this.count=0}function cL(e){be.call(this,null,e)}function MJ(e){be.call(this,null,e),this.modified(!0)}function uL(e){be.call(this,null,e)}eL.Definition={type:"Impute",metadata:{changes:!0},params:[{name:"field",type:"field",required:!0},{name:"key",type:"field",required:!0},{name:"keyvals",array:!0},{name:"groupby",type:"field",array:!0},{name:"method",type:"enum",default:"value",values:["value","mean","median","max","min"]},{name:"value",default:0}]},Ze(eL,be,{transform(e,n){var p,f,h,g,m,_,v,C,A,S,t=n.fork(n.ALL),i=function zNe(e){var t,n=e.method||vx.value;if(null!=vx[n])return n===vx.value?(t=void 0!==e.value?e.value:0,()=>t):vx[n];xe("Unrecognized imputation method: "+n)}(e),r=function $Ne(e){const n=e.field;return t=>t?n(t):NaN}(e),o=dr(e.field),a=dr(e.key),s=(e.groupby||[]).map(dr),l=function UNe(e,n,t,i){var c,u,d,p,f,h,g,m,r=_=>_(m),o=[],a=i?i.slice():[],s={},l={};for(a.forEach((_,v)=>s[_]=v+1),p=0,g=e.length;pt.add(o))):(r=t.value=t.value||this.init(e),n.visit(n.REM,o=>t.rem(o)),n.visit(n.ADD,o=>t.add(o))),t.changes(),n.visit(n.SOURCE,o=>{yn(o,r[t.cellkey(o)].tuple)}),n.reflow(i).modifies(this._outputs)},changes(){const e=this._adds,n=this._mods;let t,i;for(t=0,i=this._alen;t{const h=x7(f,a)[s],g=e.counts?f.length:1;yx(h,u||Pu(f),d,p).forEach(_=>{const v={};for(let C=0;C(this._pending=nt(r.data),o=>o.touch(this)))}:t.request(e.url,e.format).then(i=>iL(this,n,nt(i.data)))}}),rL.Definition={type:"Lookup",metadata:{modifies:!0},params:[{name:"index",type:"index",params:[{name:"from",type:"data",required:!0},{name:"key",type:"field",required:!0}]},{name:"values",type:"field",array:!0},{name:"fields",type:"field",array:!0,required:!0},{name:"as",type:"string",array:!0},{name:"default",default:null}]},Ze(rL,be,{transform(e,n){const t=e.fields,i=e.index,r=e.values,o=null==e.default?null:e.default,a=e.modified(),s=t.length;let d,p,f,l=a?n.SOURCE:n.ADD,c=n,u=e.as;return r?(p=r.length,s>1&&!u&&xe('Multi-field lookup requires explicit "as" parameter.'),u&&u.length!==s*p&&xe('The "as" parameter has too few output field names.'),u=u||r.map(dr),d=function(h){for(var _,v,g=0,m=0;gn.modified(h.fields)),l|=f?n.MOD:0),n.visit(l,d),c.modifies(u)}}),Ze(FJ,bi),Ze(DJ,bi),Ze(EJ,be,{transform(e,n){return this.modified(e.modified()),this.value=e,n.fork(n.NO_SOURCE|n.NO_FIELDS)}}),oL.Definition={type:"Pivot",metadata:{generates:!0,changes:!0},params:[{name:"groupby",type:"field",array:!0},{name:"field",type:"field",required:!0},{name:"value",type:"field",required:!0},{name:"op",type:"enum",values:fC,default:"sum"},{name:"limit",type:"number",default:0},{name:"key",type:"field"}]},Ze(oL,Pf,{_transform:Pf.prototype.transform,transform(e,n){return this._transform(function ZNe(e,n){const t=e.field,i=e.value,r=("count"===e.op?"__count__":e.op)||"sum",o=qo(t).concat(qo(i)),a=function QNe(e,n,t){const i={},r=[];return t.visit(t.SOURCE,o=>{const a=e(o);i[a]||(i[a]=1,r.push(a))}),r.sort(Zw),n?r.slice(0,n):r}(t,e.limit||0,n);return n.changed()&&e.set("__pivot__",null,null,!0),{key:e.key,groupby:e.groupby,ops:a.map(()=>r),fields:a.map(s=>function XNe(e,n,t,i){return ss(r=>n(r)===e?t(r):NaN,i,e+"")}(s,t,i,o)),as:a.map(s=>s+""),modified:e.modified.bind(e)}}(e,n),n)}}),Ze(IJ,_x,{transform(e,n){const t=e.subflow,i=e.field,r=o=>this.subflow(Pt(o),t,n,o);return(e.modified("field")||i&&n.modified(qo(i)))&&xe("PreFacet does not support field modification."),this.initTargets(),i?(n.visit(n.MOD,o=>{const a=r(o);i(o).forEach(s=>a.mod(s))}),n.visit(n.ADD,o=>{const a=r(o);i(o).forEach(s=>a.add(ei(s)))}),n.visit(n.REM,o=>{const a=r(o);i(o).forEach(s=>a.rem(s))})):(n.visit(n.MOD,o=>r(o).mod(o)),n.visit(n.ADD,o=>r(o).add(o)),n.visit(n.REM,o=>r(o).rem(o))),n.clean()&&n.runAfter(()=>this.clean()),n}}),aL.Definition={type:"Project",metadata:{generates:!0,changes:!0},params:[{name:"fields",type:"field",array:!0},{name:"as",type:"string",null:!0,array:!0}]},Ze(aL,be,{transform(e,n){const t=n.fork(n.NO_SOURCE),i=e.fields,r=TJ(e.fields,e.as||[]),o=i?(s,l)=>function JNe(e,n,t,i){for(let r=0,o=t.length;r{const l=Pt(s);t.rem.push(a[l]),a[l]=null}),n.visit(n.ADD,s=>{const l=o(s,ei({}));a[Pt(s)]=l,t.add.push(l)}),n.visit(n.MOD,s=>{t.mod.push(o(s,a[Pt(s)]))}),t}}),Ze(RJ,be,{transform(e,n){return this.value=e.value,e.modified("value")?n.fork(n.NO_SOURCE|n.NO_FIELDS):n.StopPropagation}}),sL.Definition={type:"Quantile",metadata:{generates:!0,changes:!0},params:[{name:"groupby",type:"field",array:!0},{name:"field",type:"field",required:!0},{name:"probs",type:"number",array:!0},{name:"step",type:"number",default:.01},{name:"as",type:"string",array:!0,default:["prob","value"]}]},Ze(sL,be,{transform(e,n){const t=n.fork(n.NO_SOURCE|n.NO_FIELDS),i=e.as||["prob","value"];if(this.value&&!e.modified()&&!n.changed())return t.source=this.value,t;const o=j7(n.materialize(n.SOURCE).source,e.groupby,e.field),a=(e.groupby||[]).map(dr),s=[],l=e.step||.01,c=e.probs||$s(l/2,1-1e-14,l),u=c.length;return o.forEach(d=>{const p=C7(d,c);for(let f=0;f{const o=Pt(r);t.rem.push(i[o]),i[o]=null}),n.visit(n.ADD,r=>{const o=d7(r);i[Pt(r)]=o,t.add.push(o)}),n.visit(n.MOD,r=>{const o=i[Pt(r)];for(const a in r)o[a]=r[a],t.modifies(a);t.mod.push(o)})),t}}),lL.Definition={type:"Sample",metadata:{},params:[{name:"size",type:"number",default:1e3}]},Ze(lL,be,{transform(e,n){const t=n.fork(n.NO_SOURCE),i=e.modified("size"),r=e.size,o=this.value.reduce((u,d)=>(u[Pt(d)]=1,u),{});let a=this.value,s=this.count,l=0;function c(u){let d,p;a.length=l&&(d=a[p],o[Pt(d)]&&t.rem.push(d),a[p]=u)),++s}if(n.rem.length&&(n.visit(n.REM,u=>{const d=Pt(u);o[d]&&(o[d]=-1,t.rem.push(u)),--s}),a=a.filter(u=>-1!==o[Pt(u)])),(n.rem.length||i)&&a.length{o[Pt(u)]||c(u)}),l=-1),i&&a.length>r){const u=a.length-r;for(let d=0;d{o[Pt(u)]&&t.mod.push(u)}),n.add.length&&n.visit(n.ADD,c),(n.add.length||l<0)&&(t.add=a.filter(u=>!o[Pt(u)])),this.count=s,this.value=t.source=a,t}}),cL.Definition={type:"Sequence",metadata:{generates:!0,changes:!0},params:[{name:"start",type:"number",required:!0},{name:"stop",type:"number",required:!0},{name:"step",type:"number",default:1},{name:"as",type:"string",default:"data"}]},Ze(cL,be,{transform(e,n){if(this.value&&!e.modified())return;const t=n.materialize().fork(n.MOD),i=e.as||"data";return t.rem=this.value?n.rem.concat(this.value):n.rem,this.value=$s(e.start,e.stop,e.step||1).map(r=>{const o={};return o[i]=r,ei(o)}),t.add=n.add.concat(this.value),t}}),Ze(MJ,be,{transform(e,n){return this.value=n.source,n.changed()?n.fork(n.NO_SOURCE|n.NO_FIELDS):n.StopPropagation}});const kJ=["unit0","unit1"];function PJ(e){be.call(this,t_(),e)}function NJ(e){be.call(this,null,e)}uL.Definition={type:"TimeUnit",metadata:{modifies:!0},params:[{name:"field",type:"field",required:!0},{name:"interval",type:"boolean",default:!0},{name:"units",type:"enum",values:V9,array:!0},{name:"step",type:"number",default:1},{name:"maxbins",type:"number",default:40},{name:"extent",type:"date",array:!0},{name:"timezone",type:"enum",default:"local",values:["local","utc"]},{name:"as",type:"string",array:!0,length:2,default:kJ}]},Ze(uL,be,{transform(e,n){const t=e.field,i=!1!==e.interval,r="utc"===e.timezone,o=this._floor(e,n),a=(r?o_:r_)(o.unit).offset,s=e.as||kJ,l=s[0],c=s[1],u=o.step;let d=o.start||1/0,p=o.stop||-1/0,f=n.ADD;return(e.modified()||n.changed(n.REM)||n.modified(qo(t)))&&(f=(n=n.reflow(!0)).SOURCE,d=1/0,p=-1/0),n.visit(f,h=>{const g=t(h);let m,_;null==g?(h[l]=null,i&&(h[c]=null)):(h[l]=m=_=o(g),i&&(h[c]=_=a(m,u)),mp&&(p=_))}),o.start=d,o.stop=p,n.modifies(i?s:l)},_floor(e,n){const t="utc"===e.timezone,{units:i,step:r}=e.units?{units:e.units,step:e.step||1}:hQ({extent:e.extent||Pu(n.materialize(n.SOURCE).source,e.field),maxbins:e.maxbins}),o=$9(i),a=this.value||{},s=(t?iQ:nQ)(o,r);return s.unit=Ln(o),s.units=o,s.step=r,s.start=a.start,s.stop=a.stop,this.value=s}}),Ze(PJ,be,{transform(e,n){const t=n.dataflow,i=e.field,r=this.value,o=s=>r.set(i(s),s);let a=!0;return e.modified("field")||n.modified(i.fields)?(r.clear(),n.visit(n.SOURCE,o)):n.changed()?(n.visit(n.REM,s=>r.delete(i(s))),n.visit(n.ADD,o)):a=!1,this.modified(a),r.empty>t.cleanThreshold&&t.runAfter(r.clean),n.fork()}}),Ze(NJ,be,{transform(e,n){(!this.value||e.modified("field")||e.modified("sort")||n.changed()||e.sort&&n.modified(e.sort.fields))&&(this.value=(e.sort?n.source.slice().sort(Yg(e.sort)):n.source).map(e.field))}});const hC={row_number:function(){return{next:e=>e.index+1}},rank:function(){let e;return{init:()=>e=1,next:n=>{const t=n.index,i=n.data;return t&&n.compare(i[t-1],i[t])?e=t+1:e}}},dense_rank:function(){let e;return{init:()=>e=1,next:n=>{const t=n.index,i=n.data;return t&&n.compare(i[t-1],i[t])?++e:e}}},percent_rank:function(){const e=hC.rank(),n=e.next;return{init:e.init,next:t=>(n(t)-1)/(t.data.length-1)}},cume_dist:function(){let e;return{init:()=>e=0,next:n=>{const t=n.data,i=n.compare;let r=n.index;if(e0||xe("ntile num must be greater than zero.");const t=hC.cume_dist(),i=t.next;return{init:t.init,next:r=>Math.ceil(n*i(r))}},lag:function(e,n){return n=+n||1,{next:t=>{const i=t.index-n;return i>=0?e(t.data[i]):null}}},lead:function(e,n){return n=+n||1,{next:t=>{const i=t.index+n,r=t.data;return ie(n.data[n.i0])}},last_value:function(e){return{next:n=>e(n.data[n.i1-1])}},nth_value:function(e,n){return(n=+n)>0||xe("nth_value nth must be greater than zero."),{next:t=>{const i=t.i0+(n-1);return in=null,next:t=>{const i=e(t.data[t.index]);return null!=i?n=i:n}}},next_value:function(e){let n,t;return{init:()=>(n=null,t=-1),next:i=>{const r=i.data;return i.index<=t?n:(t=function nOe(e,n,t){for(let i=n.length;tl[g]=1)}f(e.sort),n.forEach((h,g)=>{const m=t[g],_=i[g],v=r[g]||null,C=dr(m),A=uJ(h,C,o[g]);if(f(m),a.push(A),kt(hC,h))s.push(function tOe(e,n,t,i){const r=hC[e](n,t);return{init:r.init||Ff,update:function(o,a){a[i]=r.next(o)}}}(h,m,_,A));else{if(null==m&&"count"!==h&&xe("Null aggregate field specified."),"count"===h)return void u.push(A);p=!1;let S=c[C];S||(S=c[C]=[],S.field=m,d.push(S)),S.push(dJ(h,v,A))}}),(u.length||d.length)&&(this.cell=function rOe(e,n,t){e=e.map(l=>fJ(l,l.field));const i={num:0,agg:null,store:!1,count:n};if(!t)for(var r=e.length,o=i.agg=Array(r),a=0;a0&&!r(o[t],o[t-1])&&(e.i0=n.left(o,o[t])),ie.init()),this.cell&&this.cell.init()},HJ.update=function(e,n){const t=this.cell,i=this.windows,r=e.data,o=i&&i.length;let a;if(t){for(a=e.p0;athis.group(r(s));let a=this.state;(!a||t)&&(a=this.state=new OJ(e)),t||n.modified(a.inputs)?(this.value={},n.visit(n.SOURCE,s=>o(s).add(s))):(n.visit(n.REM,s=>o(s).remove(s)),n.visit(n.ADD,s=>o(s).add(s)));for(let s=0,l=this._mlen;s0)for(var l,i=e[0],r=n[0],o=e[t]-i,a=n[t]-r,s=-1;++s<=t;)this._basis.point(this._beta*e[s]+(1-this._beta)*(i+(l=s/t)*o),this._beta*n[s]+(1-this._beta)*(r+l*a));this._x=this._y=null,this._basis.lineEnd()},point:function(e,n){this._x.push(+e),this._y.push(+n)}};const dOe=function e(n){function t(i){return 1===n?new Cx(i):new YJ(i,n)}return t.beta=function(i){return e(+i)},t}(.85);function bx(e,n,t){e._context.bezierCurveTo(e._x1+e._k*(e._x2-e._x0),e._y1+e._k*(e._y2-e._y0),e._x2+e._k*(e._x1-n),e._y2+e._k*(e._y1-t),e._x2,e._y2)}function pL(e,n){this._context=e,this._k=(1-n)/6}pL.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:bx(this,this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,n){switch(e=+e,n=+n,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,n):this._context.moveTo(e,n);break;case 1:this._point=2,this._x1=e,this._y1=n;break;case 2:this._point=3;default:bx(this,e,n)}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=n}};const pOe=function e(n){function t(i){return new pL(i,n)}return t.tension=function(i){return e(+i)},t}(0);function fL(e,n){this._context=e,this._k=(1-n)/6}fL.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,n){switch(e=+e,n=+n,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:bx(this,e,n)}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=n}};const fOe=function e(n){function t(i){return new fL(i,n)}return t.tension=function(i){return e(+i)},t}(0);function hL(e,n){this._context=e,this._k=(1-n)/6}hL.prototype={areaStart:Nf,areaEnd:Nf,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(e,n){switch(e=+e,n=+n,this._point){case 0:this._point=1,this._x3=e,this._y3=n;break;case 1:this._point=2,this._context.moveTo(this._x4=e,this._y4=n);break;case 2:this._point=3,this._x5=e,this._y5=n;break;default:bx(this,e,n)}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=n}};const hOe=function e(n){function t(i){return new hL(i,n)}return t.tension=function(i){return e(+i)},t}(0),VJ=Math.abs,ea=Math.atan2,sp=Math.cos,gOe=Math.max,u_=Math.min,ds=Math.sin,ki=Math.sqrt,ta=1e-12,Of=Math.PI,Ax=Of/2,gC=2*Of;function zJ(e){return e>=1?Ax:e<=-1?-Ax:Math.asin(e)}function gL(e,n,t){var i=e._x1,r=e._y1,o=e._x2,a=e._y2;if(e._l01_a>ta){var s=2*e._l01_2a+3*e._l01_a*e._l12_a+e._l12_2a,l=3*e._l01_a*(e._l01_a+e._l12_a);i=(i*s-e._x0*e._l12_2a+e._x2*e._l01_2a)/l,r=(r*s-e._y0*e._l12_2a+e._y2*e._l01_2a)/l}if(e._l23_a>ta){var c=2*e._l23_2a+3*e._l23_a*e._l12_a+e._l12_2a,u=3*e._l23_a*(e._l23_a+e._l12_a);o=(o*c+e._x1*e._l23_2a-n*e._l12_2a)/u,a=(a*c+e._y1*e._l23_2a-t*e._l12_2a)/u}e._context.bezierCurveTo(i,r,o,a,e._x2,e._y2)}function $J(e,n){this._context=e,this._alpha=n}$J.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,n){if(e=+e,n=+n,this._point){var t=this._x2-e,i=this._y2-n;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(t*t+i*i,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,n):this._context.moveTo(e,n);break;case 1:this._point=2;break;case 2:this._point=3;default:gL(this,e,n)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=n}};const yOe=function e(n){function t(i){return n?new $J(i,n):new pL(i,0)}return t.alpha=function(i){return e(+i)},t}(.5);function UJ(e,n){this._context=e,this._alpha=n}UJ.prototype={areaStart:Nf,areaEnd:Nf,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(e,n){if(e=+e,n=+n,this._point){var t=this._x2-e,i=this._y2-n;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(t*t+i*i,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=e,this._y3=n;break;case 1:this._point=2,this._context.moveTo(this._x4=e,this._y4=n);break;case 2:this._point=3,this._x5=e,this._y5=n;break;default:gL(this,e,n)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=n}};const _Oe=function e(n){function t(i){return n?new UJ(i,n):new hL(i,0)}return t.alpha=function(i){return e(+i)},t}(.5);function jJ(e,n){this._context=e,this._alpha=n}jJ.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,n){if(e=+e,n=+n,this._point){var t=this._x2-e,i=this._y2-n;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(t*t+i*i,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:gL(this,e,n)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=n}};const vOe=function e(n){function t(i){return n?new jJ(i,n):new fL(i,0)}return t.alpha=function(i){return e(+i)},t}(.5);function WJ(e){this._context=e}function qJ(e){return e<0?-1:1}function KJ(e,n,t){var i=e._x1-e._x0,r=n-e._x1,o=(e._y1-e._y0)/(i||r<0&&-0),a=(t-e._y1)/(r||i<0&&-0),s=(o*r+a*i)/(i+r);return(qJ(o)+qJ(a))*Math.min(Math.abs(o),Math.abs(a),.5*Math.abs(s))||0}function ZJ(e,n){var t=e._x1-e._x0;return t?(3*(e._y1-e._y0)/t-n)/2:n}function mL(e,n,t){var i=e._x0,o=e._x1,a=e._y1,s=(o-i)/3;e._context.bezierCurveTo(i+s,e._y0+s*n,o-s,a-s*t,o,a)}function Sx(e){this._context=e}function XJ(e){this._context=new QJ(e)}function QJ(e){this._context=e}function JJ(e){this._context=e}function eee(e){var n,i,t=e.length-1,r=new Array(t),o=new Array(t),a=new Array(t);for(r[0]=0,o[0]=2,a[0]=e[0]+2*e[1],n=1;n=0;--n)r[n]=(a[n]-r[n+1])/o[n];for(o[t-1]=(e[t]+r[t-1])/2,n=0;nF*F+M*M&&(O=W,B=q),{cx:O,cy:B,x01:-u,y01:-d,x11:O*(r/S-1),y11:B*(r/S-1)}}function tee(e,n,t){var i=null,r=ni(!0),o=null,a=kR,s=null,l=rw(c);function c(d){var p,f,h,m,v,g=(d=JK(d)).length,_=!1,C=new Array(g),A=new Array(g);for(null==o&&(s=a(v=l())),p=0;p<=g;++p){if(!(p=f;--h)s.point(C[h],A[h]);s.lineEnd(),s.areaEnd()}_&&(C[p]=+e(m,p,d),A[p]=+n(m,p,d),s.point(i?+i(m,p,d):C[p],t?+t(m,p,d):A[p]))}if(v)return s=null,v+""||null}function u(){return ow().defined(r).curve(a).context(o)}return e="function"==typeof e?e:void 0===e?nZ:ni(+e),n="function"==typeof n?n:ni(void 0===n?0:+n),t="function"==typeof t?t:void 0===t?iZ:ni(+t),c.x=function(d){return arguments.length?(e="function"==typeof d?d:ni(+d),i=null,c):e},c.x0=function(d){return arguments.length?(e="function"==typeof d?d:ni(+d),c):e},c.x1=function(d){return arguments.length?(i=null==d?null:"function"==typeof d?d:ni(+d),c):i},c.y=function(d){return arguments.length?(n="function"==typeof d?d:ni(+d),t=null,c):n},c.y0=function(d){return arguments.length?(n="function"==typeof d?d:ni(+d),c):n},c.y1=function(d){return arguments.length?(t=null==d?null:"function"==typeof d?d:ni(+d),c):t},c.lineX0=c.lineY0=function(){return u().x(e).y(n)},c.lineY1=function(){return u().x(e).y(t)},c.lineX1=function(){return u().x(i).y(n)},c.defined=function(d){return arguments.length?(r="function"==typeof d?d:ni(!!d),c):r},c.curve=function(d){return arguments.length?(a=d,null!=o&&(s=a(o)),c):a},c.context=function(d){return arguments.length?(null==d?o=s=null:s=a(o=d),c):o},c}WJ.prototype={areaStart:Nf,areaEnd:Nf,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(e,n){e=+e,n=+n,this._point?this._context.lineTo(e,n):(this._point=1,this._context.moveTo(e,n))}},Sx.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:mL(this,this._t0,ZJ(this,this._t0))}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(e,n){var t=NaN;if(n=+n,(e=+e)!==this._x1||n!==this._y1){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,n):this._context.moveTo(e,n);break;case 1:this._point=2;break;case 2:this._point=3,mL(this,ZJ(this,t=KJ(this,e,n)),t);break;default:mL(this,this._t0,t=KJ(this,e,n))}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=n,this._t0=t}}},(XJ.prototype=Object.create(Sx.prototype)).point=function(e,n){Sx.prototype.point.call(this,n,e)},QJ.prototype={moveTo:function(e,n){this._context.moveTo(n,e)},closePath:function(){this._context.closePath()},lineTo:function(e,n){this._context.lineTo(n,e)},bezierCurveTo:function(e,n,t,i,r,o){this._context.bezierCurveTo(n,e,i,t,o,r)}},JJ.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var e=this._x,n=this._y,t=e.length;if(t)if(this._line?this._context.lineTo(e[0],n[0]):this._context.moveTo(e[0],n[0]),2===t)this._context.lineTo(e[1],n[1]);else for(var i=eee(e),r=eee(n),o=0,a=1;a=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(e,n){switch(e=+e,n=+n,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,n):this._context.moveTo(e,n);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,n),this._context.lineTo(e,n);else{var t=this._x*(1-this._t)+e*this._t;this._context.lineTo(t,this._y),this._context.lineTo(t,n)}}this._x=e,this._y=n}},ki(3);const yL={draw(e,n){const t=ki(n/Of);e.moveTo(t,0),e.arc(0,0,t,0,gC)}};ki(1/3),ds(Of/10),ds(7*Of/10);function Hf(e,n){if(typeof document<"u"&&document.createElement){const t=document.createElement("canvas");if(t&&t.getContext)return t.width=e,t.height=n,t}return null}function TL(e,n){void 0===n&&(n=e,e=Ud);for(var t=0,i=n.length-1,r=n[0],o=new Array(i<0?0:i);tdHe?Math.pow(e,1/3):e/Aee+bee}function xL(e){return e>d_?e*e*e:Aee*(e-bee)}function FL(e){return 255*(e<=.0031308?12.92*e:1.055*Math.pow(e,1/2.4)-.055)}function DL(e){return(e/=255)<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4)}function Rx(e,n,t,i){return 1===arguments.length?function wee(e){if(e instanceof Hu)return new Hu(e.h,e.c,e.l,e.opacity);if(e instanceof Ac||(e=See(e)),0===e.a&&0===e.b)return new Hu(NaN,00?i:1:0}const p_="linear",lp="log",yC="pow",_C="sqrt",Mx="symlog",$g="time",Ug="utc",Gu="sequential",f_="diverging",h_="quantile",kx="quantize",Px="threshold",ML="ordinal",kL="point",PL="bin-ordinal",Ur="continuous",vC="discrete",TC="discretizing",Ll="interpolating",NL="temporal";function OL(){const e=SL().unknown(void 0),n=e.domain,t=e.range;let r,o,i=[0,1],a=!1,s=0,l=0,c=.5;function u(){const d=n().length,p=i[1]g+r*_);return t(p?m.reverse():m)}return delete e.unknown,e.domain=function(d){return arguments.length?(n(d),u()):n()},e.range=function(d){return arguments.length?(i=[+d[0],+d[1]],u()):i.slice()},e.rangeRound=function(d){return i=[+d[0],+d[1]],a=!0,u()},e.bandwidth=function(){return o},e.step=function(){return r},e.round=function(d){return arguments.length?(a=!!d,u()):a},e.padding=function(d){return arguments.length?(l=Math.max(0,Math.min(1,d)),s=l,u()):s},e.paddingInner=function(d){return arguments.length?(s=Math.max(0,Math.min(1,d)),u()):s},e.paddingOuter=function(d){return arguments.length?(l=Math.max(0,Math.min(1,d)),u()):l},e.align=function(d){return arguments.length?(c=Math.max(0,Math.min(1,d)),u()):c},e.invertRange=function(d){if(null==d[0]||null==d[1])return;const p=i[1]i[1-p])?void 0:(_=Math.max(0,$S(f,g)-1),v=g===m?_:$S(f,m)-1,g-f[_]>o+1e-10&&++_,p&&(C=_,_=h-v,v=h-C),_>v?void 0:n().slice(_,v+1))},e.invert=function(d){const p=e.invertRange([d,d]);return p&&p[0]},e.copy=function(){return OL().domain(n()).range(i).round(a).paddingInner(s).paddingOuter(l).align(c)},u()}function kee(e){const n=e.copy;return e.padding=e.paddingOuter,delete e.paddingInner,e.copy=function(){return kee(n())},e}var MHe=Array.prototype.map;const PHe=Array.prototype.slice,Nx=new Map,Nee=Symbol("vega_scale");function Oee(e){return e[Nee]=!0,e}function qn(e,n,t){return arguments.length>1?(Nx.set(e,function OHe(e,n,t){const i=function(){const o=n();return o.invertRange||(o.invertRange=o.invert?function IHe(e){return function(n){let r,t=n[0],i=n[1];return i=i&&t[l]<=r&&(o<0&&(o=l),a=l);if(!(o<0))return i=e.invertExtent(t[o]),r=e.invertExtent(t[a]),[void 0===i[0]?i[1]:i[0],void 0===r[1]?r[0]:r[1]]}}(o):void 0),o.type=e,Oee(o)};return i.metadata=Cc(nt(t)),i}(e,n,t)),this):Hee(e)?Nx.get(e):void 0}function Hee(e){return Nx.has(e)}function jg(e,n){const t=Nx.get(e);return t&&t.metadata[n]}function HL(e){return jg(e,Ur)}function g_(e){return jg(e,vC)}function GL(e){return jg(e,TC)}function Gee(e){return jg(e,lp)}function Bee(e){return jg(e,Ll)}function Yee(e){return jg(e,h_)}qn("identity",function ree(e){var n;function t(i){return null==i||isNaN(i=+i)?n:i}return t.invert=t,t.domain=t.range=function(i){return arguments.length?(e=Array.from(i,mR),t):e.slice()},t.unknown=function(i){return arguments.length?(n=i,t):n},t.copy=function(){return ree(e).unknown(n)},e=arguments.length?Array.from(e,mR):[0,1],Fg(t)}),qn(p_,vc,Ur),qn(lp,function UK(){const e=ER(US()).domain([1,10]);return e.copy=()=>ET(e,UK()).base(e.base()),Fu.apply(e,arguments),e},[Ur,lp]),qn(yC,LR,Ur),qn(_C,function iEe(){return LR.apply(null,arguments).exponent(.5)},Ur),qn(Mx,function qK(){var e=IR(US());return e.copy=function(){return ET(e,qK()).constant(e.constant())},Fu.apply(e,arguments)},Ur),qn($g,ew,[Ur,NL]),qn(Ug,function tHe(){return Fu.apply(DR($De,UDe,Iu,LT,By,Tf,XS,KS,Du,FR).domain([Date.UTC(2e3,0,1),Date.UTC(2e3,0,2)]),arguments)},[Ur,NL]),qn(Gu,Ig,[Ur,Ll]),qn(`${Gu}-${p_}`,Ig,[Ur,Ll]),qn(`${Gu}-${lp}`,function ZK(){var e=ER(tw()).domain([1,10]);return e.copy=function(){return Cf(e,ZK()).base(e.base())},vf.apply(e,arguments)},[Ur,Ll,lp]),qn(`${Gu}-${yC}`,MR,[Ur,Ll]),qn(`${Gu}-${_C}`,function rEe(){return MR.apply(null,arguments).exponent(.5)},[Ur,Ll]),qn(`${Gu}-${Mx}`,function XK(){var e=IR(tw());return e.copy=function(){return Cf(e,XK()).constant(e.constant())},vf.apply(e,arguments)},[Ur,Ll]),qn(`${f_}-${p_}`,function oee(){var e=Fg(Fx()(as));return e.copy=function(){return Cf(e,oee())},vf.apply(e,arguments)},[Ur,Ll]),qn(`${f_}-${lp}`,function aee(){var e=ER(Fx()).domain([.1,1,10]);return e.copy=function(){return Cf(e,aee()).base(e.base())},vf.apply(e,arguments)},[Ur,Ll,lp]),qn(`${f_}-${yC}`,CL,[Ur,Ll]),qn(`${f_}-${_C}`,function nHe(){return CL.apply(null,arguments).exponent(.5)},[Ur,Ll]),qn(`${f_}-${Mx}`,function see(){var e=IR(Fx());return e.copy=function(){return Cf(e,see()).constant(e.constant())},vf.apply(e,arguments)},[Ur,Ll]),qn(h_,function lee(){var i,e=[],n=[],t=[];function r(){var a=0,s=Math.max(1,n.length);for(t=new Array(s-1);++a0?t[s-1]:e[0],s=t?[i[t-1],n]:[i[c-1],i[c]]},a.unknown=function(l){return arguments.length&&(o=l),a},a.thresholds=function(){return i.slice()},a.copy=function(){return cee().domain([e,n]).range(r).unknown(o)},Fu.apply(Fg(a),arguments)},TC),qn(Px,function uee(){var t,e=[.5],n=[0,1],i=1;function r(o){return null!=o&&o<=o?n[FT(e,o,0,i)]:t}return r.domain=function(o){return arguments.length?(e=Array.from(o),i=Math.min(e.length,n.length-1),r):e.slice()},r.range=function(o){return arguments.length?(n=Array.from(o),i=Math.min(e.length,n.length-1),r):n.slice()},r.invertExtent=function(o){var a=n.indexOf(o);return[e[a-1],e[a]]},r.unknown=function(o){return arguments.length?(t=o,r):t},r.copy=function(){return uee().domain(e).range(n).unknown(t)},Fu.apply(r,arguments)},TC),qn(PL,function Pee(){let e=[],n=[];function t(i){return null==i||i!=i?void 0:n[(FT(e,i)-1)%n.length]}return t.domain=function(i){return arguments.length?(e=function kHe(e){return MHe.call(e,Zo)}(i),t):e.slice()},t.range=function(i){return arguments.length?(n=PHe.call(i),t):n.slice()},t.tickFormat=function(i,r){return TK(e[0],Ln(e),i??10,r)},t.copy=function(){return Pee().domain(t.domain()).range(t.range())},t},[vC,TC]),qn(ML,SL,vC),qn("band",OL,vC),qn(kL,function LHe(){return kee(OL().paddingInner(1))},vC);const GHe=["clamp","base","constant","exponent"];function Vee(e,n){const t=n[0],i=Ln(n)-t;return function(r){return e(t+r*i)}}function Ox(e,n,t){return TL(BL(n||"rgb",t),e)}function zee(e,n){const t=new Array(n),i=n+1;for(let r=0;re[s]?a[s](e[s]()):0),a):Xo(.5)}function BL(e,n){const t=gi[function BHe(e){return"interpolate"+e.toLowerCase().split("-").map(n=>n[0].toUpperCase()+n.slice(1)).join("")}(e)];return null!=n&&t&&t.gamma?t.gamma(n):t}function Uee(e){if(De(e))return e;const n=e.length/6|0,t=new Array(n);for(let i=0;i1?(Wee[e]=n,this):Wee[e]}jee({accent:vHe,category10:THe,category20:"1f77b4aec7e8ff7f0effbb782ca02c98df8ad62728ff98969467bdc5b0d58c564bc49c94e377c2f7b6d27f7f7fc7c7c7bcbd22dbdb8d17becf9edae5",category20b:"393b795254a36b6ecf9c9ede6379398ca252b5cf6bcedb9c8c6d31bd9e39e7ba52e7cb94843c39ad494ad6616be7969c7b4173a55194ce6dbdde9ed6",category20c:"3182bd6baed69ecae1c6dbefe6550dfd8d3cfdae6bfdd0a231a35474c476a1d99bc7e9c0756bb19e9ac8bcbddcdadaeb636363969696bdbdbdd9d9d9",dark2:CHe,observable10:bHe,paired:AHe,pastel1:SHe,pastel2:wHe,set1:xHe,set2:FHe,set3:DHe,tableau10:"4c78a8f58518e4575672b7b254a24beeca3bb279a2ff9da69d755dbab0ac",tableau20:"4c78a89ecae9f58518ffbf7954a24b88d27ab79a20f2cf5b43989483bcb6e45756ff9d9879706ebab0acd67195fcbfd2b279a2d6a5c99e765fd8b5a5"},Uee),jee({blues:"cfe1f2bed8eca8cee58fc1de74b2d75ba3cf4592c63181bd206fb2125ca40a4a90",greens:"d3eecdc0e6baabdda594d3917bc77d60ba6c46ab5e329a512089430e7735036429",greys:"e2e2e2d4d4d4c4c4c4b1b1b19d9d9d8888887575756262624d4d4d3535351e1e1e",oranges:"fdd8b3fdc998fdb87bfda55efc9244f87f2cf06b18e4580bd14904b93d029f3303",purples:"e2e1efd4d4e8c4c5e0b4b3d6a3a0cc928ec3827cb97566ae684ea25c3696501f8c",reds:"fdc9b4fcb49afc9e80fc8767fa7051f6573fec3f2fdc2a25c81b1db21218970b13",blueGreen:"d5efedc1e8e0a7ddd18bd2be70c6a958ba9144ad77319c5d2089460e7736036429",bluePurple:"ccddecbad0e4a8c2dd9ab0d4919cc98d85be8b6db28a55a6873c99822287730f71",greenBlue:"d3eecec5e8c3b1e1bb9bd8bb82cec269c2ca51b2cd3c9fc7288abd1675b10b60a1",orangeRed:"fddcaffdcf9bfdc18afdad77fb9562f67d53ee6545e24932d32d1ebf130da70403",purpleBlue:"dbdaebc8cee4b1c3de97b7d87bacd15b9fc93a90c01e7fb70b70ab056199045281",purpleBlueGreen:"dbd8eac8cee4b0c3de93b7d872acd1549fc83892bb1c88a3097f8702736b016353",purpleRed:"dcc9e2d3b3d7ce9eccd186c0da6bb2e14da0e23189d91e6fc61159ab07498f023a",redPurple:"fccfccfcbec0faa9b8f98faff571a5ec539ddb3695c41b8aa908808d0179700174",yellowGreen:"e4f4acd1eca0b9e2949ed68880c97c62bb6e47aa5e3297502083440e723b036034",yellowOrangeBrown:"feeaa1fedd84fecc63feb746fca031f68921eb7215db5e0bc54c05ab3d038f3204",yellowOrangeRed:"fee087fed16ffebd59fea849fd903efc7335f9522bee3423de1b20ca0b22af0225",blueOrange:"134b852f78b35da2cb9dcae1d2e5eff2f0ebfce0bafbbf74e8932fc5690d994a07",brownBlueGreen:"704108a0651ac79548e3c78af3e6c6eef1eac9e9e48ed1c74da79e187a72025147",purpleGreen:"5b1667834792a67fb6c9aed3e6d6e8eff0efd9efd5aedda971bb75368e490e5e29",purpleOrange:"4114696647968f83b7b9b4d6dadbebf3eeeafce0bafbbf74e8932fc5690d994a07",redBlue:"8c0d25bf363adf745ef4ae91fbdbc9f2efeed2e5ef9dcae15da2cb2f78b3134b85",redGrey:"8c0d25bf363adf745ef4ae91fcdccbfaf4f1e2e2e2c0c0c0969696646464343434",yellowGreenBlue:"eff9bddbf1b4bde5b594d5b969c5be45b4c22c9ec02182b82163aa23479c1c3185",redYellowBlue:"a50026d4322cf16e43fcac64fedd90faf8c1dcf1ecabd6e875abd04a74b4313695",redYellowGreen:"a50026d4322cf16e43fcac63fedd8df9f7aed7ee8ea4d86e64bc6122964f006837",pinkYellowGreen:"8e0152c0267edd72adf0b3d6faddedf5f3efe1f2cab6de8780bb474f9125276419",spectral:"9e0142d13c4bf0704afcac63fedd8dfbf8b0e0f3a1a9dda269bda94288b55e4fa2",viridis:"440154470e61481a6c482575472f7d443a834144873d4e8a39568c35608d31688e2d708e2a788e27818e23888e21918d1f988b1fa08822a8842ab07f35b77943bf7154c56866cc5d7ad1518fd744a5db36bcdf27d2e21be9e51afde725",magma:"0000040404130b0924150e3720114b2c11603b0f704a107957157e651a80721f817f24828c29819a2e80a8327db6377ac43c75d1426fde4968e95462f1605df76f5cfa7f5efc8f65fe9f6dfeaf78febf84fece91fddea0fcedaffcfdbf",inferno:"0000040403130c0826170c3b240c4f330a5f420a68500d6c5d126e6b176e781c6d86216b932667a12b62ae305cbb3755c73e4cd24644dd513ae65c30ed6925f3771af8850ffb9506fca50afcb519fac62df6d645f2e661f3f484fcffa4",plasma:"0d088723069033059742039d5002a25d01a66a00a87801a88405a7900da49c179ea72198b12a90ba3488c33d80cb4779d35171da5a69e16462e76e5bed7953f2834cf68f44fa9a3dfca636fdb32ffec029fcce25f9dc24f5ea27f0f921",cividis:"00205100235800265d002961012b65042e670831690d346b11366c16396d1c3c6e213f6e26426e2c456e31476e374a6e3c4d6e42506e47536d4c566d51586e555b6e5a5e6e5e616e62646f66676f6a6a706e6d717270717573727976737c79747f7c75827f758682768985778c8877908b78938e789691789a94789e9778a19b78a59e77a9a177aea575b2a874b6ab73bbaf71c0b26fc5b66dc9b96acebd68d3c065d8c462ddc85fe2cb5ce7cf58ebd355f0d652f3da4ff7de4cfae249fce647",rainbow:"6e40aa883eb1a43db3bf3cafd83fa4ee4395fe4b83ff576eff6659ff7847ff8c38f3a130e2b72fcfcc36bee044aff05b8ff4576ff65b52f6673af27828ea8d1ddfa319d0b81cbecb23abd82f96e03d82e14c6edb5a5dd0664dbf6e40aa",sinebow:"ff4040fc582af47218e78d0bd5a703bfbf00a7d5038de70b72f41858fc2a40ff402afc5818f4720be78d03d5a700bfbf03a7d50b8de71872f42a58fc4040ff582afc7218f48d0be7a703d5bf00bfd503a7e70b8df41872fc2a58ff4040",turbo:"23171b32204a3e2a71453493493eae4b49c54a53d7485ee44569ee4074f53c7ff8378af93295f72e9ff42ba9ef28b3e926bce125c5d925cdcf27d5c629dcbc2de3b232e9a738ee9d3ff39347f68950f9805afc7765fd6e70fe667cfd5e88fc5795fb51a1f84badf545b9f140c5ec3cd0e637dae034e4d931ecd12ef4c92bfac029ffb626ffad24ffa223ff9821ff8d1fff821dff771cfd6c1af76118f05616e84b14df4111d5380fcb2f0dc0260ab61f07ac1805a313029b0f00950c00910b00",browns:"eedbbdecca96e9b97ae4a865dc9856d18954c7784cc0673fb85536ad44339f3632",tealBlues:"bce4d89dd3d181c3cb65b3c245a2b9368fae347da0306a932c5985",teals:"bbdfdfa2d4d58ac9c975bcbb61b0af4da5a43799982b8b8c1e7f7f127273006667",warmGreys:"dcd4d0cec5c1c0b8b4b3aaa7a59c9998908c8b827f7e7673726866665c5a59504e",goldGreen:"f4d166d5ca60b6c35c98bb597cb25760a6564b9c533f8f4f33834a257740146c36",goldOrange:"f4d166f8be5cf8aa4cf5983bf3852aef701be2621fd65322c54923b142239e3a26",goldRed:"f4d166f6be59f9aa51fc964ef6834bee734ae56249db5247cf4244c43141b71d3e",lightGreyRed:"efe9e6e1dad7d5cbc8c8bdb9bbaea9cd967ddc7b43e15f19df4011dc000b",lightGreyTeal:"e4eaead6dcddc8ced2b7c2c7a6b4bc64b0bf22a6c32295c11f85be1876bc",lightMulti:"e0f1f2c4e9d0b0de9fd0e181f6e072f6c053f3993ef77440ef4a3c",lightOrange:"f2e7daf7d5baf9c499fab184fa9c73f68967ef7860e8645bde515bd43d5b",lightTealBlue:"e3e9e0c0dccf9aceca7abfc859afc0389fb9328dad2f7ca0276b95255988",darkBlue:"3232322d46681a5c930074af008cbf05a7ce25c0dd38daed50f3faffffff",darkGold:"3c3c3c584b37725e348c7631ae8b2bcfa424ecc31ef9de30fff184ffffff",darkGreen:"3a3a3a215748006f4d048942489e4276b340a6c63dd2d836ffeb2cffffaa",darkMulti:"3737371f5287197d8c29a86995ce3fffe800ffffff",darkRed:"3434347036339e3c38cc4037e75d1eec8620eeab29f0ce32ffeb2c"},e=>Ox(Uee(e)));const Hx="symbol",zHe="discrete",UHe=e=>De(e)?e.map(n=>String(n)):String(e),jHe=(e,n)=>e[1]-n[1],WHe=(e,n)=>n[1]-e[1];function VL(e,n,t){let i;return Gn(n)&&(e.bins&&(n=Math.max(n,e.bins.length)),null!=t&&(n=Math.min(n,Math.floor(KT(e.domain())/t||1)+1))),Je(n)&&(i=n.step,n=n.interval),it(n)&&(n=e.type===$g?r_(n):e.type==Ug?o_(n):xe("Only time and utc scales accept interval strings."),i&&(n=n.every(i))),n}function qee(e,n,t){let i=e.range(),r=i[0],o=Ln(i),a=jHe;if(r>o&&(i=o,o=r,r=i,a=WHe),r=Math.floor(r),o=Math.ceil(o),n=n.map(s=>[s,e(s)]).filter(s=>r<=s[1]&&s[1]<=o).sort(a).map(s=>s[0]),t>0&&n.length>1){const s=[n[0],Ln(n)];for(;n.length>t&&n.length>=3;)n=n.filter((l,c)=>!(c%2));n.length<3&&(n=s)}return n}function zL(e,n){return e.bins?qee(e,e.bins,n):e.ticks?e.ticks(n):e.domain()}function Kee(e,n,t,i,r,o){const a=n.type;let s=UHe;if(a===$g||r===$g)s=e.timeFormat(i);else if(a===Ug||r===Ug)s=e.utcFormat(i);else if(Gee(a)){const l=e.formatFloat(i);if(o||n.bins)s=l;else{const c=Zee(n,t,!1);s=u=>c(u)?l(u):""}}else if(n.tickFormat){const l=n.domain();s=e.formatSpan(l[0],l[l.length-1],t,i)}else i&&(s=e.format(i));return s}function Zee(e,n,t){const i=zL(e,n),r=e.base(),o=Math.log(r),a=Math.max(1,r*n/i.length),s=l=>{let c=l/Math.pow(r,Math.round(Math.log(l)/o));return c*r$L[e.type]||e.bins;function Jee(e,n,t,i,r,o,a){const s=Xee[n.type]&&o!==$g&&o!==Ug?function qHe(e,n,t){const i=n[Xee[n.type]](),r=i.length;let a,o=r>1?i[1]-i[0]:i[0];for(a=1;a(n,t,i)=>{const r=ete(i[t+1],ete(i.max,1/0)),o=tte(n,e),a=tte(r,e);return o&&a?o+" \u2013 "+a:a?"< "+a:"\u2265 "+o},ete=(e,n)=>e??n,JHe=e=>(n,t)=>t?e(n):null,eGe=e=>n=>e(n),tte=(e,n)=>Number.isFinite(e)?n(e):null;function nte(e,n,t){t=t||{};const i=Math.max(3,t.maxlen||7),r=function nGe(e,n,t,i){const r=i||n.type;return it(t)&&function HHe(e){return jg(e,NL)}(r)&&(t=t.replace(/%a/g,"%A").replace(/%b/g,"%B")),t||r!==$g?t||r!==Ug?Jee(e,n,5,null,t,i,!0):e.utcFormat("%A, %d %B %Y, %X UTC"):e.timeFormat("%A, %d %B %Y, %X")}(e,n,t.format,t.formatType);if(GL(n.type)){const o=Qee(n).slice(1).map(r),a=o.length;return`${a} boundar${1===a?"y":"ies"}: ${o.join(", ")}`}if(g_(n.type)){const o=n.domain(),a=o.length;return`${a} value${1===a?"":"s"}: ${a>i?o.slice(0,i-2).map(r).join(", ")+", ending with "+o.slice(-1).map(r):o.map(r).join(", ")}`}{const o=n.domain();return`values from ${r(o[0])} to ${r(Ln(o))}`}}let ite=0;const Gx="p_";function UL(e){return e&&e.gradient}function rte(e,n,t){const i=e.gradient;let r=e.id,o="radial"===i?Gx:"";return r||(r=e.id="gradient_"+ite++,"radial"===i?(e.x1=Bu(e.x1,.5),e.y1=Bu(e.y1,.5),e.r1=Bu(e.r1,0),e.x2=Bu(e.x2,.5),e.y2=Bu(e.y2,.5),e.r2=Bu(e.r2,.5),o=Gx):(e.x1=Bu(e.x1,0),e.y1=Bu(e.y1,0),e.x2=Bu(e.x2,1),e.y2=Bu(e.y2,0))),n[r]=e,"url("+(t||"")+"#"+o+r+")"}function Bu(e,n){return e??n}function ote(e,n){var i,t=[];return i={gradient:"linear",x1:e?e[0]:0,y1:e?e[1]:0,x2:n?n[0]:1,y2:n?n[1]:0,stops:t,stop:function(r,o){return t.push({offset:r,color:o}),i}}}const ate={basis:{curve:function lOe(e){return new Cx(e)}},"basis-closed":{curve:function cOe(e){return new GJ(e)}},"basis-open":{curve:function uOe(e){return new BJ(e)}},bundle:{curve:dOe,tension:"beta",value:.85},cardinal:{curve:pOe,tension:"tension",value:0},"cardinal-open":{curve:fOe,tension:"tension",value:0},"cardinal-closed":{curve:hOe,tension:"tension",value:0},"catmull-rom":{curve:yOe,tension:"alpha",value:.5},"catmull-rom-closed":{curve:_Oe,tension:"alpha",value:.5},"catmull-rom-open":{curve:vOe,tension:"alpha",value:.5},linear:{curve:kR},"linear-closed":{curve:function TOe(e){return new WJ(e)}},monotone:{horizontal:function bOe(e){return new XJ(e)},vertical:function COe(e){return new Sx(e)}},natural:{curve:function AOe(e){return new JJ(e)}},step:{curve:function SOe(e){return new wx(e,.5)}},"step-after":{curve:function xOe(e){return new wx(e,1)}},"step-before":{curve:function wOe(e){return new wx(e,0)}}};function jL(e,n,t){var i=kt(ate,e)&&ate[e],r=null;return i&&(r=i.curve||i[n||"vertical"],i.tension&&null!=t&&(r=r[i.tension](t))),r}const rGe={m:2,l:2,h:1,v:1,z:0,c:6,s:4,q:4,t:2,a:7},oGe=/[mlhvzcsqta]([^mlhvzcsqta]+|$)/gi,aGe=/^[+-]?(([0-9]*\.[0-9]+)|([0-9]+\.)|([0-9]+))([eE][+-]?[0-9]+)?/,sGe=/^((\s+,?\s*)|(,\s*))/,lGe=/^[01]/;function m_(e){const n=[];return(e.match(oGe)||[]).forEach(i=>{let r=i[0];const o=r.toLowerCase(),a=rGe[o],s=function cGe(e,n,t){const i=[];for(let r=0;n&&r1&&(g=Math.sqrt(g),t*=g,i*=g);const m=p/t,_=d/t,v=-d/i,C=p/i,A=m*s+_*l,S=v*s+C*l,I=m*e+_*n,w=v*e+C*n;let B=1/((I-A)*(I-A)+(w-S)*(w-S))-.25;B<0&&(B=0);let W=Math.sqrt(B);o==r&&(W=-W);const q=.5*(A+I)-W*(w-S),te=.5*(S+w)+W*(I-A),K=Math.atan2(S-te,A-q);let M=Math.atan2(w-te,I-q)-K;M<0&&1===o?M+=Yu:M>0&&0===o&&(M-=Yu);const L=Math.ceil(Math.abs(M/(Wg+.001))),Y=[];for(let P=0;P+e}function Bx(e,n,t){return Math.max(n,Math.min(e,t))}function pte(){var e=gGe,n=mGe,t=yGe,i=_Ge,r=cp(0),o=r,a=r,s=r,l=null;function c(u,d,p){var f,h=d??+e.call(this,u),g=p??+n.call(this,u),m=+t.call(this,u),_=+i.call(this,u),v=Math.min(m,_)/2,C=Bx(+r.call(this,u),0,v),A=Bx(+o.call(this,u),0,v),S=Bx(+a.call(this,u),0,v),I=Bx(+s.call(this,u),0,v);if(l||(l=f=iw()),C<=0&&A<=0&&S<=0&&I<=0)l.rect(h,g,m,_);else{var w=h+m,O=g+_;l.moveTo(h+C,g),l.lineTo(w-A,g),l.bezierCurveTo(w-Bf*A,g,w,g+Bf*A,w,g+A),l.lineTo(w,O-I),l.bezierCurveTo(w,O-Bf*I,w-Bf*I,O,w-I,O),l.lineTo(h+S,O),l.bezierCurveTo(h+Bf*S,O,h,O-Bf*S,h,O-S),l.lineTo(h,g+C),l.bezierCurveTo(h,g+Bf*C,h+Bf*C,g,h+C,g),l.closePath()}if(f)return l=null,f+""||null}return c.x=function(u){return arguments.length?(e=cp(u),c):e},c.y=function(u){return arguments.length?(n=cp(u),c):n},c.width=function(u){return arguments.length?(t=cp(u),c):t},c.height=function(u){return arguments.length?(i=cp(u),c):i},c.cornerRadius=function(u,d,p,f){return arguments.length?(r=cp(u),o=null!=d?cp(d):r,s=null!=p?cp(p):r,a=null!=f?cp(f):o,c):r},c.context=function(u){return arguments.length?(l=u??null,c):l},c}function fte(){var e,n,t,i,o,a,s,l,r=null;function c(d,p,f){const h=f/2;if(o){var g=s-p,m=d-a;if(g||m){var _=Math.hypot(g,m),v=(g/=_)*l,C=(m/=_)*l,A=Math.atan2(m,g);r.moveTo(a-v,s-C),r.lineTo(d-g*h,p-m*h),r.arc(d,p,h,A-Math.PI,A),r.lineTo(a+v,s+C),r.arc(a,s,l,A,A+Math.PI)}else r.arc(d,p,h,0,Yu);r.closePath()}else o=1;a=d,s=p,l=h}function u(d){var p,h,m,f=d.length,g=!1;for(null==r&&(r=m=iw()),p=0;p<=f;++p)!(pe.x||0,SC=e=>e.y||0,Yx=e=>!1!==e.defined,NGe=function MOe(){var e=FOe,n=DOe,t=ni(0),i=null,r=EOe,o=IOe,a=ROe,s=null,l=rw(c);function c(){var u,d,p=+e.apply(this,arguments),f=+n.apply(this,arguments),h=r.apply(this,arguments)-Ax,g=o.apply(this,arguments)-Ax,m=VJ(g-h),_=g>h;if(s||(s=u=l()),fta)if(m>gC-ta)s.moveTo(f*sp(h),f*ds(h)),s.arc(0,0,f,h,g,!_),p>ta&&(s.moveTo(p*sp(g),p*ds(g)),s.arc(0,0,p,g,h,_));else{var K,F,v=h,C=g,A=h,S=g,I=m,w=m,O=a.apply(this,arguments)/2,B=O>ta&&(i?+i.apply(this,arguments):ki(p*p+f*f)),W=u_(VJ(f-p)/2,+t.apply(this,arguments)),q=W,te=W;if(B>ta){var M=zJ(B/p*ds(O)),L=zJ(B/f*ds(O));(I-=2*M)>ta?(A+=M*=_?1:-1,S-=M):(I=0,A=S=(h+g)/2),(w-=2*L)>ta?(v+=L*=_?1:-1,C-=L):(w=0,v=C=(h+g)/2)}var Y=f*sp(v),P=f*ds(v),$=p*sp(S),U=p*ds(S);if(W>ta){var fe,ee=f*sp(C),oe=f*ds(C),ce=p*sp(A),se=p*ds(A);if(m1?0:e<-1?Of:Math.acos(e)}((Le*Ge+me*ye)/(ki(Le*Le+me*me)*ki(Ge*Ge+ye*ye)))/2),ke=ki(fe[0]*fe[0]+fe[1]*fe[1]);q=u_(W,(p-ke)/(Ee-1)),te=u_(W,(f-ke)/(Ee+1))}else q=te=0}w>ta?te>ta?(K=xx(ce,se,Y,P,f,te,_),F=xx(ee,oe,$,U,f,te,_),s.moveTo(K.cx+K.x01,K.cy+K.y01),teta&&I>ta?q>ta?(K=xx($,U,ee,oe,p,-q,_),F=xx(Y,P,ce,se,p,-q,_),s.lineTo(K.cx+K.x01,K.cy+K.y01),qe.startAngle||0).endAngle(e=>e.endAngle||0).padAngle(e=>e.padAngle||0).innerRadius(e=>e.innerRadius||0).outerRadius(e=>e.outerRadius||0).cornerRadius(e=>e.cornerRadius||0),OGe=tee().x(AC).y1(SC).y0(e=>(e.y||0)+(e.height||0)).defined(Yx),HGe=tee().y(SC).x1(AC).x0(e=>(e.x||0)+(e.width||0)).defined(Yx),GGe=ow().x(AC).y(SC).defined(Yx),BGe=pte().x(AC).y(SC).width(e=>e.width||0).height(e=>e.height||0).cornerRadius(e=>bC(e.cornerRadiusTopLeft,e.cornerRadius)||0,e=>bC(e.cornerRadiusTopRight,e.cornerRadius)||0,e=>bC(e.cornerRadiusBottomRight,e.cornerRadius)||0,e=>bC(e.cornerRadiusBottomLeft,e.cornerRadius)||0),YGe=function JOe(e,n){let t=null,i=rw(r);function r(){let o;if(t||(t=o=i()),e.apply(this,arguments).draw(t,+n.apply(this,arguments)),o)return t=null,o+""||null}return e="function"==typeof e?e:ni(e||yL),n="function"==typeof n?n:ni(void 0===n?64:+n),r.type=function(o){return arguments.length?(e="function"==typeof o?o:ni(o),r):e},r.size=function(o){return arguments.length?(n="function"==typeof o?o:ni(+o),r):n},r.context=function(o){return arguments.length?(t=o??null,r):t},r}().type(e=>dte(e.shape||"circle")).size(e=>bC(e.size,64)),VGe=fte().x(AC).y(SC).defined(Yx).size(e=>e.size||1);function ZL(e){return e.cornerRadius||e.cornerRadiusTopLeft||e.cornerRadiusTopRight||e.cornerRadiusBottomRight||e.cornerRadiusBottomLeft}function __(e,n,t,i){return BGe.context(e)(n,t,i)}var hte=1;function gte(){hte=1}function XL(e,n,t){var i=n.clip,r=e._defs,o=n.clip_id||(n.clip_id="clip"+hte++),a=r.clipping[o]||(r.clipping[o]={id:o});return mn(i)?a.path=i(null):ZL(t)?a.path=__(null,t,0,0):(a.width=t.width||0,a.height=t.height||0),"url(#"+o+")"}function Ir(e){this.clear(),e&&this.union(e)}function Vx(e){this.mark=e,this.bounds=this.bounds||new Ir}function zx(e){Vx.call(this,e),this.items=this.items||[]}Ir.prototype={clone(){return new Ir(this)},clear(){return this.x1=+Number.MAX_VALUE,this.y1=+Number.MAX_VALUE,this.x2=-Number.MAX_VALUE,this.y2=-Number.MAX_VALUE,this},empty(){return this.x1===+Number.MAX_VALUE&&this.y1===+Number.MAX_VALUE&&this.x2===-Number.MAX_VALUE&&this.y2===-Number.MAX_VALUE},equals(e){return this.x1===e.x1&&this.y1===e.y1&&this.x2===e.x2&&this.y2===e.y2},set(e,n,t,i){return tthis.x2&&(this.x2=e),n>this.y2&&(this.y2=n),this},expand(e){return this.x1-=e,this.y1-=e,this.x2+=e,this.y2+=e,this},round(){return this.x1=Math.floor(this.x1),this.y1=Math.floor(this.y1),this.x2=Math.ceil(this.x2),this.y2=Math.ceil(this.y2),this},scale(e){return this.x1*=e,this.y1*=e,this.x2*=e,this.y2*=e,this},translate(e,n){return this.x1+=e,this.x2+=e,this.y1+=n,this.y2+=n,this},rotate(e,n,t){const i=this.rotatedPoints(e,n,t);return this.clear().add(i[0],i[1]).add(i[2],i[3]).add(i[4],i[5]).add(i[6],i[7])},rotatedPoints(e,n,t){var{x1:i,y1:r,x2:o,y2:a}=this,s=Math.cos(e),l=Math.sin(e),c=n-n*s+t*l,u=t-n*l-t*s;return[s*i-l*r+c,l*i+s*r+u,s*i-l*a+c,l*i+s*a+u,s*o-l*r+c,l*o+s*r+u,s*o-l*a+c,l*o+s*a+u]},union(e){return e.x1this.x2&&(this.x2=e.x2),e.y2>this.y2&&(this.y2=e.y2),this},intersect(e){return e.x1>this.x1&&(this.x1=e.x1),e.y1>this.y1&&(this.y1=e.y1),e.x2=e.x2&&this.y1<=e.y1&&this.y2>=e.y2},alignsWith(e){return e&&(this.x1==e.x1||this.x2==e.x2||this.y1==e.y1||this.y2==e.y2)},intersects(e){return e&&!(this.x2e.x2||this.y2e.y2)},contains(e,n){return!(ethis.x2||nthis.y2)},width(){return this.x2-this.x1},height(){return this.y2-this.y1}},Ze(zx,Vx);class mte{constructor(n){this._pending=0,this._loader=n||nx()}pending(){return this._pending}sanitizeURL(n){const t=this;return yte(t),t._loader.sanitize(n,{context:"href"}).then(i=>(wC(t),i)).catch(()=>(wC(t),null))}loadImage(n){const t=this,i=typeof Image<"u"?Image:null;return yte(t),t._loader.sanitize(n,{context:"image"}).then(r=>{const o=r.href;if(!o||!i)throw{url:o};const a=new i,s=kt(r,"crossOrigin")?r.crossOrigin:"anonymous";return null!=s&&(a.crossOrigin=s),a.onload=()=>wC(t),a.onerror=()=>wC(t),a.src=o,a}).catch(r=>(wC(t),{complete:!1,width:0,height:0,src:r&&r.url||""}))}ready(){const n=this;return new Promise(t=>{!function i(r){n.pending()?setTimeout(()=>{i(!0)},10):t(r)}(!1)})}}function yte(e){e._pending+=1}function wC(e){e._pending-=1}function up(e,n,t){if(n.stroke&&0!==n.opacity&&0!==n.strokeOpacity){const i=null!=n.strokeWidth?+n.strokeWidth:1;e.expand(i+(t?function KGe(e,n){return e.strokeJoin&&"miter"!==e.strokeJoin?0:n}(n,i):0))}return e}const ZGe=Yu-1e-8;let $x,Ux,jx,qg,QL,Wx,JL,eM;const Yf=(e,n)=>$x.add(e,n),qx=(e,n)=>Yf(Ux=e,jx=n),_te=e=>Yf(e,$x.y1),vte=e=>Yf($x.x1,e),Kg=(e,n)=>QL*e+JL*n,Zg=(e,n)=>Wx*e+eM*n,tM=(e,n)=>Yf(Kg(e,n),Zg(e,n)),nM=(e,n)=>qx(Kg(e,n),Zg(e,n));function xC(e,n){return $x=e,n?(qg=n*Gf,QL=eM=Math.cos(qg),Wx=Math.sin(qg),JL=-Wx):(QL=eM=1,qg=Wx=JL=0),XGe}const XGe={beginPath(){},closePath(){},moveTo:nM,lineTo:nM,rect(e,n,t,i){qg?(tM(e+t,n),tM(e+t,n+i),tM(e,n+i),nM(e,n)):(Yf(e+t,n+i),qx(e,n))},quadraticCurveTo(e,n,t,i){const r=Kg(e,n),o=Zg(e,n),a=Kg(t,i),s=Zg(t,i);Tte(Ux,r,a,_te),Tte(jx,o,s,vte),qx(a,s)},bezierCurveTo(e,n,t,i,r,o){const a=Kg(e,n),s=Zg(e,n),l=Kg(t,i),c=Zg(t,i),u=Kg(r,o),d=Zg(r,o);Cte(Ux,a,l,u,_te),Cte(jx,s,c,d,vte),qx(u,d)},arc(e,n,t,i,r,o){if(i+=qg,r+=qg,Ux=t*Math.cos(r)+e,jx=t*Math.sin(r)+n,Math.abs(r-i)>ZGe)Yf(e-t,n-t),Yf(e+t,n+t);else{const a=c=>Yf(t*Math.cos(c)+e,t*Math.sin(c)+n);let s,l;if(a(i),a(r),r!==i)if((i%=Yu)<0&&(i+=Yu),(r%=Yu)<0&&(r+=Yu),rr;++l,s-=Wg)a(s);else for(s=i-i%Wg+Wg,l=0;l<4&&suGe?(u=a*a+s*o,u>=0&&(u=Math.sqrt(u),l=(-a+u)/o,c=(-a-u)/o)):l=.5*s/a,0p)return!1;g>d&&(d=g)}else if(f>0){if(g0&&(e.globalAlpha=t,e.fillStyle=xte(e,n,n.fill),!0)}var JGe=[];function C_(e,n,t){var i=null!=(i=n.strokeWidth)?i:1;return!(i<=0)&&(t*=null==n.strokeOpacity?1:n.strokeOpacity)>0&&(e.globalAlpha=t,e.strokeStyle=xte(e,n,n.stroke),e.lineWidth=i,e.lineCap=n.strokeCap||"butt",e.lineJoin=n.strokeJoin||"miter",e.miterLimit=n.strokeMiterLimit||10,e.setLineDash&&(e.setLineDash(n.strokeDash||JGe),e.lineDashOffset=n.strokeDashOffset||0),!0)}function eBe(e,n){return e.zindex-n.zindex||e.index-n.index}function aM(e){if(!e.zdirty)return e.zitems;var i,r,o,n=e.items,t=[];for(r=0,o=n.length;r=0;)if(i=n(t[r]))return i;if(t===o)for(r=(t=e.items).length;--r>=0;)if(!t[r].zindex&&(i=n(t[r])))return i;return null}function sM(e){return function(n,t,i){wc(t,r=>{(!i||i.intersects(r.bounds))&&Fte(e,n,r,r)})}}function tBe(e){return function(n,t,i){t.items.length&&(!i||i.intersects(t.bounds))&&Fte(e,n,t.items[0],t.items)}}function Fte(e,n,t,i){var r=null==t.opacity?1:t.opacity;0!==r&&(e(n,i)||(T_(n,t),t.fill&&Kx(n,t,r)&&n.fill(),t.stroke&&C_(n,t,r)&&n.stroke()))}function Xx(e){return e=e||Fl,function(n,t,i,r,o,a){return i*=n.pixelRatio,r*=n.pixelRatio,Zx(t,s=>{const l=s.bounds;if((!l||l.contains(o,a))&&l&&e(n,s,i,r,o,a))return s})}}function FC(e,n){return function(t,i,r,o){var u,a=Array.isArray(i)?i[0]:i,s=n??a.fill,l=a.stroke&&t.isPointInStroke;return l&&(u=a.strokeCap,t.lineWidth=a.strokeWidth??1,t.lineCap=u??"butt"),!e(t,i)&&(s&&t.isPointInPath(r,o)||l&&t.isPointInStroke(r,o))}}function lM(e){return Xx(FC(e))}function Xg(e,n){return"translate("+e+","+n+")"}function cM(e){return"rotate("+e+")"}function Dte(e){return Xg(e.x||0,e.y||0)}function uM(e,n,t){function o(a,s){var l=s.x||0,c=s.y||0,u=s.angle||0;a.translate(l,c),u&&a.rotate(u*=Gf),a.beginPath(),n(a,s),u&&a.rotate(-u),a.translate(-l,-c)}return{type:e,tag:"path",nested:!1,attr:function i(a,s){a("transform",function iBe(e){return Xg(e.x||0,e.y||0)+(e.angle?" "+cM(e.angle):"")}(s)),a("d",n(null,s))},bound:function r(a,s){return n(xC(a,s.angle),s),up(a,s).translate(s.x||0,s.y||0)},draw:sM(o),pick:lM(o),isect:t||rM(o)}}var oBe=uM("arc",function zGe(e,n){return NGe.context(e)(n)});function dM(e,n,t){function o(l,c){l.beginPath(),n(l,c)}const a=FC(o);return{type:e,tag:"path",nested:!0,attr:function i(l,c){var u=c.mark.items;u.length&&l("d",n(null,u))},bound:function r(l,c){var u=c.items;return 0===u.length?l:(n(xC(l),u),up(l,u[0]))},draw:tBe(o),pick:function s(l,c,u,d,p,f){var h=c.items,g=c.bounds;return!h||!h.length||g&&!g.contains(p,f)?null:a(l,h,u*=l.pixelRatio,d*=l.pixelRatio)?h[0]:null},isect:oM,tip:t}}var cBe=dM("area",function $Ge(e,n){const t=n[0];return("horizontal"===t.orient?HGe:OGe).curve(jL(t.interpolate||"linear",t.orient,t.tension)).context(e)(n)},function aBe(e,n){for(var a,s,t="horizontal"===e[0].orient?n[1]:n[0],i="horizontal"===e[0].orient?"y":"x",r=e.length,o=1/0;--r>=0;)!1!==e[r].defined&&(s=Math.abs(e[r][i]-t)).5&&n<1.5?.5-Math.abs(n-1):0}function Rte(e,n){const t=Ite(n);e("d",__(null,n,t,t))}function DC(e,n,t,i){const r=Ite(n);e.beginPath(),__(e,n,(t||0)+r,(i||0)+r)}const mBe=FC(DC),yBe=FC(DC,!1),_Be=FC(DC,!0);var bBe={type:"group",tag:"g",nested:!1,attr:function dBe(e,n){e("transform",Dte(n))},bound:function gBe(e,n){if(!n.clip&&n.items){const t=n.items,i=t.length;for(let r=0;r{const o=r.x||0,a=r.y||0,s=r.strokeForeground,l=null==r.opacity?1:r.opacity;(r.stroke||r.fill)&&l&&(DC(e,r,o,a),T_(e,r),r.fill&&Kx(e,r,l)&&e.fill(),r.stroke&&!s&&C_(e,r,l)&&e.stroke()),e.save(),e.translate(o,a),r.clip&&Ete(e,r),t&&t.translate(-o,-a),wc(r,c=>{("group"===c.marktype||null==i||i.includes(c.marktype))&&this.draw(e,c,t,i)}),t&&t.translate(o,a),e.restore(),s&&r.stroke&&l&&(DC(e,r,o,a),T_(e,r),C_(e,r,l)&&e.stroke())})},pick:function TBe(e,n,t,i,r,o){if(n.bounds&&!n.bounds.contains(r,o)||!n.items)return null;const a=t*e.pixelRatio,s=i*e.pixelRatio;return Zx(n,l=>{let c,u,d;const p=l.bounds;if(p&&!p.contains(r,o))return;u=l.x||0,d=l.y||0;const g=l.clip;if(g&&(ru+(l.width||0)||od+(l.height||0)))return;if(e.save(),e.translate(u,d),u=r-u,d=o-d,g&&ZL(l)&&!_Be(e,l,a,s))return e.restore(),null;const m=l.strokeForeground,_=!1!==n.interactive;return _&&m&&l.stroke&&yBe(e,l,a,s)?(e.restore(),l):(c=Zx(l,v=>function CBe(e,n,t){return(!1!==e.interactive||"group"===e.marktype)&&e.bounds&&e.bounds.contains(n,t)}(v,u,d)?this.pick(v,t,i,u,d):null),!c&&_&&(l.fill||!m&&l.stroke)&&mBe(e,l,a,s)&&(c=l),e.restore(),c||null)})},isect:Ate,content:function hBe(e,n,t){e("clip-path",n.clip?XL(t,n,n):null)},background:function pBe(e,n){e("class","background"),e("aria-hidden",!0),Rte(e,n)},foreground:function fBe(e,n){e("class","foreground"),e("aria-hidden",!0),n.strokeForeground?Rte(e,n):e("d","")}},EC={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",version:"1.1"};function pM(e,n){var t=e.image;return(!t||e.url&&e.url!==t.url)&&(t={complete:!1,width:0,height:0},n.loadImage(e.url).then(i=>{e.image=i,e.image.url=e.url})),t}function fM(e,n){return null!=e.width?e.width:n&&n.width?!1!==e.aspect&&e.height?e.height*n.width/n.height:n.width:0}function hM(e,n){return null!=e.height?e.height:n&&n.height?!1!==e.aspect&&e.width?e.width*n.height/n.width:n.height:0}function Qx(e,n){return"center"===e?n/2:"right"===e?n:0}function Jx(e,n){return"middle"===e?n/2:"bottom"===e?n:0}var xBe={type:"image",tag:"image",nested:!1,attr:function ABe(e,n,t){const i=pM(n,t),r=fM(n,i),o=hM(n,i),a=(n.x||0)-Qx(n.align,r),s=(n.y||0)-Jx(n.baseline,o);e("href",!i.src&&i.toDataURL?i.toDataURL():i.src||"",EC["xmlns:xlink"],"xlink:href"),e("transform",Xg(a,s)),e("width",r),e("height",o),e("preserveAspectRatio",!1===n.aspect?"none":"xMidYMid")},bound:function SBe(e,n){const t=n.image,i=fM(n,t),r=hM(n,t),o=(n.x||0)-Qx(n.align,i),a=(n.y||0)-Jx(n.baseline,r);return e.set(o,a,o+i,a+r)},draw:function wBe(e,n,t){wc(n,i=>{if(t&&!t.intersects(i.bounds))return;const r=pM(i,this);let o=fM(i,r),a=hM(i,r);if(0===o||0===a)return;let c,u,d,p,s=(i.x||0)-Qx(i.align,o),l=(i.y||0)-Jx(i.baseline,a);!1!==i.aspect&&(u=r.width/r.height,d=i.width/i.height,u==u&&d==d&&u!==d&&(d=0;)if(!1!==e[i].defined&&(r=e[i].x-n[0])*r+(o=e[i].y-n[1])*o{if(!t||t.intersects(i.bounds)){var r=null==i.opacity?1:i.opacity;r&&Mte(e,i,r)&&(T_(e,i),e.stroke())}})},pick:Xx(function OBe(e,n,t,i){return!!e.isPointInStroke&&Mte(e,n,1)&&e.isPointInStroke(t,i)}),isect:Ste},GBe=uM("shape",function jGe(e,n){return(n.mark.shape||n.shape).context(e)(n)}),BBe=uM("symbol",function WGe(e,n){return YGe.context(e)(n)},oM);const kte=GX();var Us={height:Vu,measureWidth:gM,estimateWidth:tF,width:tF,canvas:Pte};function Pte(e){Us.width=e&&Vf?gM:tF}function tF(e,n){return Nte($f(e,n),Vu(e))}function Nte(e,n){return~~(.8*e.length*n)}function gM(e,n){return Vu(e)<=0||!(n=$f(e,n))?0:Ote(n,nF(e))}function Ote(e,n){const t=`(${n}) ${e}`;let i=kte.get(t);return void 0===i&&(Vf.font=n,i=Vf.measureText(e).width,kte.set(t,i)),i}function Vu(e){return null!=e.fontSize?+e.fontSize||0:11}function zf(e){return null!=e.lineHeight?e.lineHeight:Vu(e)+2}function IC(e){return function YBe(e){return De(e)?e.length>1?e:e[0]:e}(e.lineBreak&&e.text&&!De(e.text)?e.text.split(e.lineBreak):e.text)}function mM(e){const n=IC(e);return(De(n)?n.length-1:0)*zf(e)}function $f(e,n){const t=null==n?"":(n+"").trim();return e.limit>0&&t.length?function zBe(e,n){var t=+e.limit,i=function VBe(e){if(Us.width===gM){const n=nF(e);return t=>Ote(t,n)}if(Us.width===tF){const n=Vu(e);return t=>Nte(t,n)}return n=>Us.width(e,n)}(e);if(i(n)>>1))>t?a=l+1:s=l;return r+n.slice(a)}for(;a>>1)))Math.max(p,Us.width(n,f)),0)):d=Us.width(n,u),"center"===r?l-=d/2:"right"===r&&(l-=d),e.set(l+=a,c+=s,l+d,c+i),n.angle&&!t)e.rotate(n.angle*Gf,a,s);else if(2===t)return e.rotatedPoints(n.angle*Gf,a,s);return e}var KBe={type:"text",tag:"text",nested:!1,attr:function UBe(e,n){var l,t=n.dx||0,i=(n.dy||0)+yM(n),r=iF(n),o=r.x1,a=r.y1,s=n.angle||0;e("text-anchor",$Be[n.align]||"start"),s?(l=Xg(o,a)+" "+cM(s),(t||i)&&(l+=" "+Xg(t,i))):l=Xg(o+t,a+i),e("transform",l)},bound:_M,draw:function jBe(e,n,t){wc(n,i=>{var o,a,s,l,c,u,d,r=null==i.opacity?1:i.opacity;if(!(t&&!t.intersects(i.bounds)||0===r||i.fontSize<=0||null==i.text||0===i.text.length)){if(e.font=nF(i),e.textAlign=i.align||"left",a=(o=iF(i)).x1,s=o.y1,i.angle&&(e.save(),e.translate(a,s),e.rotate(i.angle*Gf),a=s=0),a+=i.dx||0,s+=(i.dy||0)+yM(i),u=IC(i),T_(e,i),De(u))for(c=zf(i),l=0;l=0;)if(!1!==e[t].defined&&(i=e[t].x-n[0])*i+(r=e[t].y-n[1])*r<(i=e[t].size||1)*i)return e[t];return null}),js={arc:oBe,area:cBe,group:bBe,image:xBe,line:FBe,path:IBe,rect:MBe,rule:HBe,shape:GBe,symbol:BBe,text:KBe,trail:ZBe};function vM(e,n,t){var i=js[e.mark.marktype];return i.nested&&(e=e.mark),(n||i.bound)(e.bounds||(e.bounds=new Ir),e,t)}var Hte={mark:null};function Gte(e,n,t){var s,l,c,u,i=js[e.marktype],r=i.bound,o=e.items,a=o&&o.length;if(i.nested)return a?c=o[0]:(Hte.mark=e,c=Hte),u=vM(c,r,t),n&&n.union(u)||u;if(n=n||e.bounds&&e.bounds.clear()||new Ir,a)for(s=0,l=o.length;sn;)e.removeChild(t[--i]);return e}function Ute(e){return"mark-"+e.marktype+(e.role?" role-"+e.role:"")+(e.name?" "+e.name:"")}function rF(e,n){const t=n.getBoundingClientRect();return[e.clientX-t.left-(n.clientLeft||0),e.clientY-t.top-(n.clientTop||0)]}class CM{constructor(n,t){this._active=null,this._handlers={},this._loader=n||nx(),this._tooltip=t||JBe}initialize(n,t,i){return this._el=n,this._obj=i||null,this.origin(t)}element(){return this._el}canvas(){return this._el&&this._el.firstChild}origin(n){return arguments.length?(this._origin=n||[0,0],this):this._origin.slice()}scene(n){return arguments.length?(this._scene=n,this):this._scene}on(){}off(){}_handlerIndex(n,t,i){for(let r=n?n.length:0;--r>=0;)if(n[r].type===t&&(!i||n[r].handler===i))return r;return-1}handlers(n){const t=this._handlers,i=[];if(n)i.push(...t[this.eventName(n)]);else for(const r in t)i.push(...t[r]);return i}eventName(n){const t=n.indexOf(".");return t<0?n:n.slice(0,t)}handleHref(n,t,i){this._loader.sanitize(i,{context:"href"}).then(r=>{const o=new MouseEvent(n.type,n),a=Uf(null,"a");for(const s in r)a.setAttribute(s,r[s]);a.dispatchEvent(o)}).catch(()=>{})}handleTooltip(n,t,i){t&&null!=t.tooltip&&(t=function QBe(e,n,t,i){var o,a,r=e&&e.mark;if(r&&(o=js[r.marktype]).tip){for((a=rF(n,t))[0]-=i[0],a[1]-=i[1];e=e.mark.group;)a[0]-=e.x||0,a[1]-=e.y||0;e=o.tip(r.items,a)}return e}(t,n,this.canvas(),this._origin),this._tooltip.call(this._obj,this,n,t,i&&t&&t.tooltip||null))}getItemBoundingClientRect(n){const t=this.canvas();if(!t)return;const i=t.getBoundingClientRect(),r=this._origin,o=n.bounds,a=o.width(),s=o.height();let l=o.x1+r[0]+i.left,c=o.y1+r[1]+i.top;for(;n.mark&&(n=n.mark.group);)l+=n.x||0,c+=n.y||0;return{x:l,y:c,width:a,height:s,left:l,top:c,right:l+a,bottom:c+s}}}function JBe(e,n,t,i){e.element().setAttribute("title",i||"")}class MC{constructor(n){this._el=null,this._bgcolor=null,this._loader=new mte(n)}initialize(n,t,i,r,o){return this._el=n,this.resize(t,i,r,o)}element(){return this._el}canvas(){return this._el&&this._el.firstChild}background(n){return 0===arguments.length?this._bgcolor:(this._bgcolor=n,this)}resize(n,t,i,r){return this._width=n,this._height=t,this._origin=i||[0,0],this._scale=r||1,this}dirty(){}render(n,t){const i=this;return i._call=function(){i._render(n,t)},i._call(),i._call=null,i}_render(){}renderAsync(n,t){const i=this.render(n,t);return this._ready?this._ready.then(()=>i):Promise.resolve(i)}_load(n,t){var i=this,r=i._loader[n](t);if(!i._ready){const o=i._call;i._ready=i._loader.ready().then(a=>{a&&o(),i._ready=null})}return r}sanitizeURL(n){return this._load("sanitizeURL",n)}loadImage(n){return this._load("loadImage",n)}}const oF="dragleave",bM="pointerdown",aF="pointermove",sF="pointerout",qte="pointerover",AM="mousedown",lF="mouseout",cF="click",Xte="mousewheel",uF="touchstart",dF="touchmove",pF="touchend",sYe=["keydown","keypress","keyup","dragenter",oF,"dragover",bM,"pointerup",aF,sF,qte,AM,"mouseup","mousemove",lF,"mouseover",cF,"dblclick","wheel",Xte,uF,dF,pF],SM=aF,kC=lF,wM=cF;class PC extends CM{constructor(n,t){super(n,t),this._down=null,this._touch=null,this._first=!0,this._events={},this.events=sYe,this.pointermove=Jte([aF,"mousemove"],[qte,"mouseover"],[sF,lF]),this.dragover=Jte(["dragover"],["dragenter"],[oF]),this.pointerout=ene([sF,lF]),this.dragleave=ene([oF])}initialize(n,t,i){return this._canvas=n&&TM(n,"canvas"),[cF,AM,bM,aF,sF,oF].forEach(r=>Qte(this,r)),super.initialize(n,t,i)}canvas(){return this._canvas}context(){return this._canvas.getContext("2d")}DOMMouseScroll(n){this.fire(Xte,n)}pointerdown(n){this._down=this._active,this.fire(bM,n)}mousedown(n){this._down=this._active,this.fire(AM,n)}click(n){this._down===this._active&&(this.fire(cF,n),this._down=null)}touchstart(n){this._touch=this.pickEvent(n.changedTouches[0]),this._first&&(this._active=this._touch,this._first=!1),this.fire(uF,n,!0)}touchmove(n){this.fire(dF,n,!0)}touchend(n){this.fire(pF,n,!0),this._touch=null}fire(n,t,i){const r=i?this._touch:this._active,o=this._handlers[n];if(t.vegaType=n,n===wM&&r&&r.href?this.handleHref(t,r,r.href):(n===SM||n===kC)&&this.handleTooltip(t,r,n!==kC),o)for(let a=0,s=o.length;a=0&&r.splice(o,1),this}pickEvent(n){const t=rF(n,this._canvas),i=this._origin;return this.pick(this._scene,t[0],t[1],t[0]-i[0],t[1]-i[1])}pick(n,t,i,r,o){const a=this.context();return js[n.marktype].pick.call(this,a,n,t,i,r,o)}}const lYe=e=>e===uF||e===dF||e===pF?[uF,dF,pF]:[e];function Qte(e,n){lYe(n).forEach(t=>function cYe(e,n){const t=e.canvas();t&&!e._events[n]&&(e._events[n]=1,t.addEventListener(n,e[n]?i=>e[n](i):i=>e.fire(n,i)))}(e,t))}function NC(e,n,t){n.forEach(i=>e.fire(i,t))}function Jte(e,n,t){return function(i){const r=this._active,o=this.pickEvent(i);o===r||((!r||!r.exit)&&NC(this,t,i),this._active=o,NC(this,n,i)),NC(this,e,i)}}function ene(e){return function(n){NC(this,e,n),this._active=null}}class fF extends MC{constructor(n){super(n),this._options={},this._redraw=!1,this._dirty=new Ir,this._tempb=new Ir}initialize(n,t,i,r,o,a){return this._options=a||{},this._canvas=this._options.externalContext?null:Hf(1,1),n&&this._canvas&&(kl(n,0).appendChild(this._canvas),this._canvas.setAttribute("class","marks")),super.initialize(n,t,i,r,o)}resize(n,t,i,r){if(super.resize(n,t,i,r),this._canvas)!function dYe(e,n,t,i,r,o){const a=typeof HTMLElement<"u"&&e instanceof HTMLElement&&null!=e.parentNode,s=e.getContext("2d"),l=a?function uYe(){return typeof window<"u"&&window.devicePixelRatio||1}():r;e.width=n*l,e.height=t*l;for(const c in o)s[c]=o[c];return a&&1!==l&&(e.style.width=n+"px",e.style.height=t+"px"),s.pixelRatio=l,s.setTransform(l,0,0,l,l*i[0],l*i[1]),e}(this._canvas,this._width,this._height,this._origin,this._scale,this._options.context);else{const o=this._options.externalContext;o||xe("CanvasRenderer is missing a valid canvas or context"),o.scale(this._scale,this._scale),o.translate(this._origin[0],this._origin[1])}return this._redraw=!0,this}canvas(){return this._canvas}context(){return this._options.externalContext||(this._canvas?this._canvas.getContext("2d"):null)}dirty(n){const t=this._tempb.clear().union(n.bounds);let i=n.mark.group;for(;i;)t.translate(i.x||0,i.y||0),i=i.mark.group;this._dirty.union(t)}_render(n,t){const i=this.context(),r=this._origin,o=this._width,a=this._height,s=this._dirty,l=pYe(r,o,a);i.save();const c=this._redraw||s.empty()?(this._redraw=!1,l.expand(1)):function fYe(e,n,t){return n.expand(1).round(),e.pixelRatio%1&&n.scale(e.pixelRatio).round().scale(1/e.pixelRatio),n.translate(-t[0]%1,-t[1]%1),e.beginPath(),e.rect(n.x1,n.y1,n.width(),n.height()),e.clip(),n}(i,l.intersect(s),r);return this.clear(-r[0],-r[1],o,a),this.draw(i,n,c,t),i.restore(),s.clear(),this}draw(n,t,i,r){if("group"!==t.marktype&&null!=r&&!r.includes(t.marktype))return;const o=js[t.marktype];t.clip&&function uBe(e,n){var t=n.clip;e.save(),mn(t)?(e.beginPath(),t(e),e.clip()):Ete(e,n.group)}(n,t),o.draw.call(this,n,t,i,r),t.clip&&n.restore()}clear(n,t,i,r){const o=this._options,a=this.context();"pdf"!==o.type&&!o.externalContext&&a.clearRect(n,t,i,r),null!=this._bgcolor&&(a.fillStyle=this._bgcolor,a.fillRect(n,t,i,r))}}const pYe=(e,n,t)=>(new Ir).set(0,0,n,t).translate(-e[0],-e[1]);class tne extends CM{constructor(n,t){super(n,t);const i=this;i._hrefHandler=xM(i,(r,o)=>{o&&o.href&&i.handleHref(r,o,o.href)}),i._tooltipHandler=xM(i,(r,o)=>{i.handleTooltip(r,o,r.type!==kC)})}initialize(n,t,i){let r=this._svg;return r&&(r.removeEventListener(wM,this._hrefHandler),r.removeEventListener(SM,this._tooltipHandler),r.removeEventListener(kC,this._tooltipHandler)),this._svg=r=n&&TM(n,"svg"),r&&(r.addEventListener(wM,this._hrefHandler),r.addEventListener(SM,this._tooltipHandler),r.addEventListener(kC,this._tooltipHandler)),super.initialize(n,t,i)}canvas(){return this._svg}on(n,t){const i=this.eventName(n),r=this._handlers;if(this._handlerIndex(r[i],n,t)<0){const a={type:n,handler:t,listener:xM(this,t)};(r[i]||(r[i]=[])).push(a),this._svg&&this._svg.addEventListener(i,a.listener)}return this}off(n,t){const i=this.eventName(n),r=this._handlers[i],o=this._handlerIndex(r,n,t);return o>=0&&(this._svg&&this._svg.removeEventListener(i,r[o].listener),r.splice(o,1)),this}}const xM=(e,n)=>t=>{let i=t.target.__data__;i=Array.isArray(i)?i[0]:i,t.vegaType=t.type,n.call(e._obj,t,i)},nne="aria-hidden",FM="aria-label",DM="role",EM="aria-roledescription",ine="graphics-object",IM="graphics-symbol",rne=(e,n,t)=>({[DM]:e,[EM]:n,[FM]:t||void 0}),hYe=Cc(["axis-domain","axis-grid","axis-label","axis-tick","axis-title","legend-band","legend-entry","legend-gradient","legend-label","legend-title","legend-symbol","title"]),one={axis:{desc:"axis",caption:function yYe(e){const n=e.datum,t=e.orient,i=n.title?une(e):null,r=e.context,o=r.scales[n.scale].value,a=r.dataflow.locale(),s=o.type;return("left"===t||"right"===t?"Y":"X")+"-axis"+(i?` titled '${i}'`:"")+` for a ${g_(s)?"discrete":s} scale with ${nte(a,o,e)}`}},legend:{desc:"legend",caption:function _Ye(e){const n=e.datum,t=n.title?une(e):null,i=`${n.type||""} legend`.trim(),r=n.scales,o=Object.keys(r),a=e.context,s=a.scales[r[o[0]]].value,l=a.dataflow.locale();return function TYe(e){return e.length?e[0].toUpperCase()+e.slice(1):e}(i)+(t?` titled '${t}'`:"")+` for ${function vYe(e){return e=e.map(n=>n+("fill"===n||"stroke"===n?" color":"")),e.length<2?e[0]:e.slice(0,-1).join(", ")+" and "+Ln(e)}(o)} with ${nte(l,s,e)}`}},"title-text":{desc:"title",caption:e=>`Title text '${cne(e)}'`},"title-subtitle":{desc:"subtitle",caption:e=>`Subtitle text '${cne(e)}'`}},ane={ariaRole:DM,ariaRoleDescription:EM,description:FM};function sne(e,n){const t=!1===n.aria;if(e(nne,t||void 0),t||null==n.description)for(const i in ane)e(ane[i],void 0);else{const i=n.mark.marktype;e(FM,n.description),e(DM,n.ariaRole||("group"===i?ine:IM)),e(EM,n.ariaRoleDescription||`${i} mark`)}}function lne(e){return!1===e.aria?{[nne]:!0}:hYe[e.role]?null:one[e.role]?function mYe(e,n){try{const t=e.items[0];return rne(n.role||IM,n.desc,t.description||(n.caption||(()=>""))(t))}catch{return null}}(e,one[e.role]):function gYe(e){const n=e.marktype,t="group"===n||"text"===n||e.items.some(i=>null!=i.description&&!1!==i.aria);return rne(t?ine:IM,`${n} mark container`,e.description)}(e)}function cne(e){return nt(e.text).join(" ")}function une(e){try{return nt(Ln(e.items).items[0].text).join(" ")}catch{return null}}const dne=e=>(e+"").replace(/&/g,"&").replace(//g,">"),CYe=e=>dne(e).replace(/"/g,""").replace(/\t/g," ").replace(/\n/g," ").replace(/\r/g," ");function RM(){let e="",n="",t="";const i=[],r=()=>n=t="",a=(l,c)=>(null!=c&&(n+=` ${l}="${CYe(c)}"`),s),s={open(l){(l=>{n&&(e+=`${n}>${t}`,r()),i.push(l)})(l),n="<"+l;for(var c=arguments.length,u=new Array(c>1?c-1:0),d=1;d${t}`:"/>"):``,r(),s},attr:a,text:l=>(t+=dne(l),s),toString:()=>e};return s}const pne=e=>fne(RM(),e)+"";function fne(e,n){if(e.open(n.tagName),n.hasAttributes()){const t=n.attributes,i=t.length;for(let r=0;r{u.dirty=t})),!r.zdirty){if(i.exit){a.nested&&r.items.length?(c=r.items[0],c._svg&&this._update(a,c._svg,c)):i._svg&&(c=i._svg.parentNode,c&&c.removeChild(i._svg)),i._svg=null;continue}i=a.nested?r.items[0]:i,i._update!==t&&(i._svg&&i._svg.ownerSVGElement?this._update(a,i._svg,i):(this._dirtyAll=!1,mne(i,t)),i._update=t)}return!this._dirtyAll}mark(n,t,i,r){if(!this.isDirty(t))return t._svg;const o=this._svg,a=t.marktype,s=js[a],l=!1===t.interactive?"none":null,c="g"===s.tag,u=yne(t,n,i,"g",o);if("group"!==a&&null!=r&&!r.includes(a))return kl(u,0),t._svg;u.setAttribute("class",Ute(t));const d=lne(t);for(const g in d)Da(u,g,d[g]);c||Da(u,"pointer-events",l),Da(u,"clip-path",t.clip?XL(this,t,t.group):null);let p=null,f=0;const h=g=>{const m=this.isDirty(g),_=yne(g,u,p,s.tag,o);m&&(this._update(s,_,g),c&&function SYe(e,n,t,i){n=n.lastChild.previousSibling;let r,o=0;wc(t,a=>{r=e.mark(n,a,r,i),++o}),kl(n,1+o)}(this,_,g,r)),p=_,++f};return s.nested?t.items.length&&h(t.items[0]):wc(t,h),kl(u,f),u}_update(n,t,i){dp=t,na=t.__values__,sne(HC,i),n.attr(HC,i,this);const r=xYe[n.type];r&&r.call(this,n,t,i),dp&&this.style(dp,i)}style(n,t){if(null!=t){for(const i in hF){let r="font"===i?RC(t):t[i];if(r===na[i])continue;const o=hF[i];null==r?n.removeAttribute(o):(UL(r)&&(r=rte(r,this._defs.gradient,_ne())),n.setAttribute(o,r+"")),na[i]=r}for(const i in gF)mF(n,gF[i],t[i])}}defs(){const n=this._svg,t=this._defs;let i=t.el,r=0;for(const o in t.gradient)i||(t.el=i=jr(n,1,"defs",Wr)),r=bYe(i,t.gradient[o],r);for(const o in t.clipping)i||(t.el=i=jr(n,1,"defs",Wr)),r=AYe(i,t.clipping[o],r);i&&(0===r?(n.removeChild(i),t.el=null):kl(i,r))}_clearDefs(){const n=this._defs;n.gradient={},n.clipping={}}}function mne(e,n){for(;e&&e.dirty!==n;e=e.mark.group){if(e.dirty=n,!e.mark||e.mark.dirty===n)return;e.mark.dirty=n}}function bYe(e,n,t){let i,r,o;if("radial"===n.gradient){let a=jr(e,t++,"pattern",Wr);jf(a,{id:Gx+n.id,viewBox:"0,0,1,1",width:"100%",height:"100%",preserveAspectRatio:"xMidYMid slice"}),a=jr(a,0,"rect",Wr),jf(a,{width:1,height:1,fill:`url(${_ne()}#${n.id})`}),jf(e=jr(e,t++,"radialGradient",Wr),{id:n.id,fx:n.x1,fy:n.y1,fr:n.r1,cx:n.x2,cy:n.y2,r:n.r2})}else jf(e=jr(e,t++,"linearGradient",Wr),{id:n.id,x1:n.x1,x2:n.x2,y1:n.y1,y2:n.y2});for(i=0,r=n.stops.length;i1&&e.previousSibling!=n}(o,t))&&n.insertBefore(o,t?t.nextSibling:n.firstChild),o}let dp=null,na=null;const xYe={group(e,n,t){const i=dp=n.childNodes[2];na=i.__values__,e.foreground(HC,t,this),na=n.__values__,dp=n.childNodes[1],e.content(HC,t,this);const r=dp=n.childNodes[0];e.background(HC,t,this);const o=!1===t.mark.interactive?"none":null;if(o!==na.events&&(Da(i,"pointer-events",o),Da(r,"pointer-events",o),na.events=o),t.strokeForeground&&t.stroke){const a=t.fill;Da(i,"display",null),this.style(r,t),Da(r,"stroke",null),a&&(t.fill=null),na=i.__values__,this.style(i,t),a&&(t.fill=a),dp=null}else Da(i,"display","none")},image(e,n,t){!1===t.smooth?(mF(n,"image-rendering","optimizeSpeed"),mF(n,"image-rendering","pixelated")):mF(n,"image-rendering",null)},text(e,n,t){const i=IC(t);let r,o,a,s;De(i)?(o=i.map(l=>$f(t,l)),r=o.join("\n"),r!==na.text&&(kl(n,0),a=n.ownerDocument,s=zf(t),o.forEach((l,c)=>{const u=Uf(a,"tspan",Wr);u.__data__=t,u.textContent=l,c&&(u.setAttribute("x",0),u.setAttribute("dy",s)),n.appendChild(u)}),na.text=r)):(o=$f(t,i),o!==na.text&&(n.textContent=o,na.text=o)),Da(n,"font-family",RC(t)),Da(n,"font-size",Vu(t)+"px"),Da(n,"font-style",t.fontStyle),Da(n,"font-variant",t.fontVariant),Da(n,"font-weight",t.fontWeight)}};function HC(e,n,t){n!==na[e]&&(t?function FYe(e,n,t,i){null!=t?e.setAttributeNS(i,n,t):e.removeAttributeNS(i,n)}(dp,e,n,t):Da(dp,e,n),na[e]=n)}function mF(e,n,t){t!==na[n]&&(null==t?e.style.removeProperty(n):e.style.setProperty(n,t+""),na[n]=t)}function jf(e,n){for(const t in n)Da(e,t,n[t])}function Da(e,n,t){null!=t?e.setAttribute(n,t):e.removeAttribute(n)}function _ne(){let e;return typeof window>"u"?"":(e=window.location).hash?e.href.slice(0,-e.hash.length):e.href}class vne extends MC{constructor(n){super(n),this._text=null,this._defs={gradient:{},clipping:{}}}svg(){return this._text}_render(n){const t=RM();t.open("svg",yn({},EC,{class:"marks",width:this._width*this._scale,height:this._height*this._scale,viewBox:`0 0 ${this._width} ${this._height}`}));const i=this._bgcolor;return i&&"transparent"!==i&&"none"!==i&&t.open("rect",{width:this._width,height:this._height,fill:i}).close(),t.open("g",hne,{transform:"translate("+this._origin+")"}),this.mark(t,n),t.close(),this.defs(t),this._text=t.close()+"",this}mark(n,t){const i=js[t.marktype],r=i.tag,o=[sne,i.attr];n.open("g",{class:Ute(t),"clip-path":t.clip?XL(this,t,t.group):null},lne(t),{"pointer-events":"g"!==r&&!1===t.interactive?"none":null});const a=s=>{const l=this.href(s);if(l&&n.open("a",l),n.open(r,this.attr(t,s,o,"g"!==r?r:null)),"text"===r){const c=IC(s);if(De(c)){const u={x:0,dy:zf(s)};for(let d=0;dthis.mark(n,p)),n.close(),c&&d?(u&&(s.fill=null),s.stroke=d,n.open("path",this.attr(t,s,i.foreground,"bgrect")).close(),u&&(s.fill=u)):n.open("path",this.attr(t,s,i.foreground,"bgfore")).close()}n.close(),l&&n.close()};return i.nested?t.items&&t.items.length&&a(t.items[0]):wc(t,a),n.close()}href(n){const t=n.href;let i;if(t){if(i=this._hrefs&&this._hrefs[t])return i;this.sanitizeURL(t).then(r=>{r["xlink:href"]=r.href,r.href=null,(this._hrefs||(this._hrefs={}))[t]=r})}return null}attr(n,t,i,r){const o={},a=(s,l,c,u)=>{o[u||s]=l};return Array.isArray(i)?i.forEach(s=>s(a,t,this)):i(a,t,this),r&&function DYe(e,n,t,i,r){let o;if(null==n||("bgrect"===i&&!1===t.interactive&&(e["pointer-events"]="none"),"bgfore"===i&&(!1===t.interactive&&(e["pointer-events"]="none"),e.display="none",null!==n.fill)))return e;"image"===i&&!1===n.smooth&&(o=["image-rendering: optimizeSpeed;","image-rendering: pixelated;"]),"text"===i&&(e["font-family"]=RC(n),e["font-size"]=Vu(n)+"px",e["font-style"]=n.fontStyle,e["font-variant"]=n.fontVariant,e["font-weight"]=n.fontWeight);for(const a in hF){let s=n[a];const l=hF[a];"transparent"===s&&("fill"===l||"stroke"===l)||null!=s&&(UL(s)&&(s=rte(s,r.gradient,"")),e[l]=s)}for(const a in gF){const s=n[a];null!=s&&(o=o||[],o.push(`${gF[a]}: ${s};`))}o&&(e.style=o.join(" "))}(o,t,n,r,this._defs),o}defs(n){const t=this._defs.gradient,i=this._defs.clipping;if(Object.keys(t).length+Object.keys(i).length!==0){n.open("defs");for(const o in t){const a=t[o],s=a.stops;"radial"===a.gradient?(n.open("pattern",{id:Gx+o,viewBox:"0,0,1,1",width:"100%",height:"100%",preserveAspectRatio:"xMidYMid slice"}),n.open("rect",{width:"1",height:"1",fill:"url(#"+o+")"}).close(),n.close(),n.open("radialGradient",{id:o,fx:a.x1,fy:a.y1,fr:a.r1,cx:a.x2,cy:a.y2,r:a.r2})):n.open("linearGradient",{id:o,x1:a.x1,x2:a.x2,y1:a.y1,y2:a.y2});for(let l=0;l!xc.svgMarkTypes.includes(o));this._svgRenderer.render(n,xc.svgMarkTypes),this._canvasRenderer.render(n,r)}resize(n,t,i,r){return super.resize(n,t,i,r),this._svgRenderer.resize(n,t,i,r),this._canvasRenderer.resize(n,t,i,r),this}background(n){return xc.svgOnTop?this._canvasRenderer.background(n):this._svgRenderer.background(n),this}}class Tne extends PC{constructor(n,t){super(n,t)}initialize(n,t,i){const r=jr(jr(n,0,"div"),xc.svgOnTop?0:1,"div");return super.initialize(r,t,i)}}const Wf={Canvas:"canvas",PNG:"png",SVG:"svg",Hybrid:"hybrid",None:"none"},Qg={};function yF(e,n){return e=String(e||"").toLowerCase(),arguments.length>1?(Qg[e]=n,this):Qg[e]}function xne(e,n,t){const i=[],r=(new Ir).union(n),o=e.marktype;return o?Fne(e,r,t,i):"group"===o?Dne(e,r,t,i):xe("Intersect scene must be mark node or group item.")}function Fne(e,n,t,i){if(function IYe(e,n,t){return e.bounds&&n.intersects(e.bounds)&&("group"===e.marktype||!1!==e.interactive&&(!t||t(e)))}(e,n,t)){const r=e.items,o=e.marktype,a=r.length;let s=0;if("group"===o)for(;s=0;o--)if(t[o]!=i[o])return!1;for(o=t.length-1;o>=0;o--)if(!PM(e[r=t[o]],n[r],r))return!1;return typeof e==typeof n}(e,n):e==n)}function Rne(e,n){return PM(m_(e),m_(n))}function MYe(){gte(),function iGe(){ite=0}()}const b_="top",Fc="left",Dc="right",qf="bottom",kYe="top-left",PYe="top-right",NYe="bottom-left",OYe="bottom-right",NM="start",OM="middle",Ea="end",HYe="x",GYe="y",_F="group",HM="axis",GM="title",BM="legend",Lne="row-header",Mne="row-footer",kne="row-title",Pne="column-header",Nne="column-footer",One="column-title",zYe="symbol",YM="none",vF="all",VM="each",zM="flush",Kf="column",Zf="row";function Yne(e){be.call(this,null,e)}function TF(e,n,t){return n(e.bounds.clear(),e,t)}Ze(Yne,be,{transform(e,n){const t=n.dataflow,i=e.mark,r=i.marktype,o=js[r],a=o.bound;let l,s=i.bounds;if(o.nested)i.items.length&&t.dirty(i.items[0]),s=TF(i,a),i.items.forEach(c=>{c.bounds.clear().union(s)});else if(r===_F||e.modified())switch(n.visit(n.MOD,c=>t.dirty(c)),s.clear(),i.items.forEach(c=>s.union(TF(c,a))),i.role){case HM:case BM:case GM:n.reflow()}else l=n.changed(n.REM),n.visit(n.ADD,c=>{s.union(TF(c,a))}),n.visit(n.MOD,c=>{l=l||s.alignsWith(c.bounds),t.dirty(c),s.union(TF(c,a))}),l&&(s.clear(),i.items.forEach(c=>s.union(c.bounds)));return Ine(i),n.modifies("bounds")}});const Vne=":vega_identifier:";function $M(e){be.call(this,0,e)}function zne(e){be.call(this,null,e)}function $ne(e){be.call(this,null,e)}$M.Definition={type:"Identifier",metadata:{modifies:!0},params:[{name:"as",type:"string",required:!0}]},Ze($M,be,{transform(e,n){const t=function UYe(e){return e._signals[Vne]||(e._signals[Vne]=e.add(0))}(n.dataflow),i=e.as;let r=t.value;return n.visit(n.ADD,o=>o[i]=o[i]||++r),t.set(this.value=r),n}}),Ze(zne,be,{transform(e,n){let t=this.value;t||(t=n.dataflow.scenegraph().mark(e.markdef,function jYe(e){const n=e.groups,t=e.parent;return n&&1===n.size?n.get(Object.keys(n.object)[0]):n&&t?n.lookup(t):null}(e),e.index),t.group.context=e.context,e.context.group||(e.context.group=t.group),t.source=this.source,t.clip=e.clip,t.interactive=e.interactive,this.value=t);const i=t.marktype===_F?zx:Vx;return n.visit(n.ADD,r=>i.call(r,t)),(e.modified("clip")||e.modified("interactive"))&&(t.clip=e.clip,t.interactive=!!e.interactive,t.zdirty=!0,n.reflow()),t.items=n.source,n}});const Une={parity:e=>e.filter((n,t)=>t%2?n.opacity=0:1),greedy:(e,n)=>{let t;return e.filter((i,r)=>r&&jne(t.bounds,i.bounds,n)?i.opacity=0:(t=i,1))}},jne=(e,n,t)=>t>Math.max(n.x1-e.x2,e.x1-n.x2,n.y1-e.y2,e.y1-n.y2),Wne=(e,n)=>{for(var o,t=1,i=e.length,r=e[0].bounds;t{const n=e.bounds;return n.width()>1&&n.height()>1},qne=e=>(e.forEach(n=>n.opacity=1),e),Kne=(e,n)=>e.reflow(n.modified()).modifies("opacity");function Zne(e){be.call(this,null,e)}Ze($ne,be,{transform(e,n){const t=Une[e.method]||Une.parity,i=e.separation||0;let o,a,r=n.materialize(n.SOURCE).source;if(!r||!r.length)return;if(!e.method)return e.modified("method")&&(qne(r),n=Kne(n,e)),n;if(r=r.filter(WYe),!r.length)return;if(e.sort&&(r=r.slice().sort(e.sort)),o=qne(r),n=Kne(n,e),o.length>=3&&Wne(o,i)){do{o=t(o,i)}while(o.length>=3&&Wne(o,i));o.length<3&&!Ln(r).opacity&&(o.length>1&&(Ln(o).opacity=0),Ln(r).opacity=1)}e.boundScale&&e.boundTolerance>=0&&(a=((e,n,t)=>{var i=e.range(),r=new Ir;return n===b_||n===qf?r.set(i[0],-1/0,i[1],1/0):r.set(-1/0,i[0],1/0,i[1]),r.expand(t||1),o=>r.encloses(o.bounds)})(e.boundScale,e.boundOrient,+e.boundTolerance),r.forEach(l=>{a(l)||(l.opacity=0)}));const s=o[0].mark.bounds.clear();return r.forEach(l=>{l.opacity&&s.union(l.bounds)}),n}}),Ze(Zne,be,{transform(e,n){const t=n.dataflow;if(n.visit(n.ALL,i=>t.dirty(i)),n.fields&&n.fields.zindex){const i=n.source&&n.source[0];i&&(i.mark.zdirty=!0)}}});const ia=new Ir;function A_(e,n,t){return e[n]===t?0:(e[n]=t,1)}function KYe(e){var n=e.items[0].orient;return n===Fc||n===Dc}function XYe(e,n,t,i){var A,S,r=n.items[0],o=r.datum,a=null!=r.translate?r.translate:.5,s=r.orient,l=function ZYe(e){let n=+e.grid;return[e.ticks?n++:-1,e.labels?n++:-1,n+ +e.domain]}(o),c=r.range,u=r.offset,d=r.position,p=r.minExtent,f=r.maxExtent,h=o.title&&r.items[l[2]].items[0],g=r.titlePadding,m=r.bounds,_=h&&mM(h),v=0,C=0;switch(ia.clear().union(m),m.clear(),(A=l[0])>-1&&m.union(r.items[A].bounds),(A=l[1])>-1&&m.union(r.items[A].bounds),s){case b_:v=d||0,C=-u,S=Math.max(p,Math.min(f,-m.y1)),m.add(0,-S).add(c,0),h&&CF(e,h,S,g,_,0,-1,m);break;case Fc:v=-u,C=d||0,S=Math.max(p,Math.min(f,-m.x1)),m.add(-S,0).add(0,c),h&&CF(e,h,S,g,_,1,-1,m);break;case Dc:v=t+u,C=d||0,S=Math.max(p,Math.min(f,m.x2)),m.add(0,0).add(S,c),h&&CF(e,h,S,g,_,1,1,m);break;case qf:v=d||0,C=i+u,S=Math.max(p,Math.min(f,m.y2)),m.add(0,0).add(c,S),h&&CF(e,h,S,g,0,0,1,m);break;default:v=r.x,C=r.y}return up(m.translate(v,C),r),A_(r,"x",v+a)|A_(r,"y",C+a)&&(r.bounds=ia,e.dirty(r),r.bounds=m,e.dirty(r)),r.mark.bounds.clear().union(m)}function CF(e,n,t,i,r,o,a,s){const l=n.bounds;if(n.auto){const c=a*(t+r+i);let u=0,d=0;e.dirty(n),o?u=(n.x||0)-(n.x=c):d=(n.y||0)-(n.y=c),n.mark.bounds.clear().union(l.translate(-u,-d)),e.dirty(n)}s.union(l)}const Xne=(e,n)=>Math.floor(Math.min(e,n)),Qne=(e,n)=>Math.ceil(Math.max(e,n));function JYe(e){return(new Ir).set(0,0,e.width||0,e.height||0)}function eVe(e){const n=e.bounds.clone();return n.empty()?n.set(0,0,0,0):n.translate(-(e.x||0),-(e.y||0))}function Gi(e,n,t){return(Je(e)?e[n]:e)??(void 0!==t?t:0)}function Jne(e){return e<0?Math.ceil(-e):0}function eie(e,n,t){var I,w,O,B,W,q,te,K,F,M,L,i=!t.nodirty,r=t.bounds===zM?JYe:eVe,o=ia.set(0,0,0,0),a=Gi(t.align,Kf),s=Gi(t.align,Zf),l=Gi(t.padding,Kf),c=Gi(t.padding,Zf),u=t.columns||n.length,d=u<=0?1:Math.ceil(n.length/u),p=n.length,f=Array(p),h=Array(u),g=0,m=Array(p),_=Array(d),v=0,C=Array(p),A=Array(p),S=Array(p);for(w=0;w1)for(w=0;w0&&(C[w]+=F/2);if(s&&Gi(t.center,Zf)&&1!==u)for(w=0;w0&&(A[w]+=M/2);for(w=0;wr&&(e.warn("Grid headers exceed limit: "+r),n=n.slice(0,r)),g+=o,v=0,A=n.length;v=0&&null==(w=t[C]);C-=p);s?(O=null==f?w.x:Math.round(w.bounds.x1+f*w.bounds.width()),B=g):(O=g,B=null==f?w.y:Math.round(w.bounds.y1+f*w.bounds.height())),S.union(I.bounds.translate(O-(I.x||0),B-(I.y||0))),I.x=O,I.y=B,e.dirty(I),m=a(m,S[c])}return m}function tie(e,n,t,i,r,o){if(n){e.dirty(n);var a=t,s=t;i?a=Math.round(r.x1+o*r.width()):s=Math.round(r.y1+o*r.height()),n.bounds.translate(a-(n.x||0),s-(n.y||0)),n.mark.bounds.clear().union(n.bounds),n.x=a,n.y=s,e.dirty(n)}}function aVe(e,n,t,i,r,o,a){const s=function rVe(e,n){const t=e[n]||{};return(i,r)=>null!=t[i]?t[i]:null!=e[i]?e[i]:r}(t,n),l=function oVe(e,n){let t=-1/0;return e.forEach(i=>{null!=i.offset&&(t=Math.max(t,i.offset))}),t>-1/0?t:n}(e,s("offset",0)),c=s("anchor",NM),u=c===Ea?1:c===OM?.5:0,d={align:VM,bounds:s("bounds",zM),columns:"vertical"===s("direction")?1:e.length,padding:s("margin",8),center:s("center"),nodirty:!0};switch(n){case Fc:d.anchor={x:Math.floor(i.x1)-l,column:Ea,y:u*(a||i.height()+2*i.y1),row:c};break;case Dc:d.anchor={x:Math.ceil(i.x2)+l,y:u*(a||i.height()+2*i.y1),row:c};break;case b_:d.anchor={y:Math.floor(r.y1)-l,row:Ea,x:u*(o||r.width()+2*r.x1),column:c};break;case qf:d.anchor={y:Math.ceil(r.y2)+l,x:u*(o||r.width()+2*r.x1),column:c};break;case kYe:d.anchor={x:l,y:l};break;case PYe:d.anchor={x:o-l,y:l,column:Ea};break;case NYe:d.anchor={x:l,y:a-l,row:Ea};break;case OYe:d.anchor={x:o-l,y:a-l,column:Ea,row:Ea}}return d}function sVe(e,n){var l,c,t=n.items[0],i=t.datum,r=t.orient,o=t.bounds,a=t.x,s=t.y;return t._bounds?t._bounds.clear().union(o):t._bounds=o.clone(),o.clear(),function cVe(e,n,t){var i=n.padding,r=i-t.x,o=i-t.y;if(n.datum.title){var a=n.items[1].items[0],s=a.anchor,l=n.titlePadding||0,c=i-a.x,u=i-a.y;switch(a.orient){case Fc:r+=Math.ceil(a.bounds.width())+l;break;case Dc:case qf:break;default:o+=a.bounds.height()+l}switch((r||o)&&GC(e,t,r,o),a.orient){case Fc:u+=S_(n,t,a,s,1,1);break;case Dc:c+=S_(n,t,a,Ea,0,0)+l,u+=S_(n,t,a,s,1,1);break;case qf:c+=S_(n,t,a,s,0,0),u+=S_(n,t,a,Ea,-1,0,1)+l;break;default:c+=S_(n,t,a,s,0,0)}(c||u)&&GC(e,a,c,u),(c=Math.round(a.bounds.x1-i))<0&&(GC(e,t,-c,0),GC(e,a,-c,0))}else(r||o)&&GC(e,t,r,o)}(e,t,t.items[0].items[0]),o=function lVe(e,n){return e.items.forEach(t=>n.union(t.bounds)),n.x1=e.padding,n.y1=e.padding,n}(t,o),l=2*t.padding,c=2*t.padding,o.empty()||(l=Math.ceil(o.width()+l),c=Math.ceil(o.height()+c)),i.type===zYe&&function uVe(e){const n=e.reduce((t,i)=>(t[i.column]=Math.max(i.bounds.x2-i.x,t[i.column]||0),t),{});e.forEach(t=>{t.width=n[t.column],t.height=t.bounds.y2-t.y})}(t.items[0].items[0].items[0].items),r!==YM&&(t.x=a=0,t.y=s=0),t.width=l,t.height=c,up(o.set(a,s,a+l,s+c),t),t.mark.bounds.clear().union(o),t}function S_(e,n,t,i,r,o,a){const l=t.datum.vgrad,u=("symbol"===e.datum.type||!o&&l||a?n:n.items[0]).bounds[r?"y2":"x2"]-e.padding,d=l&&o?u:0,p=l&&o?0:u,f=r<=0?0:mM(t);return Math.round(i===NM?d:i===Ea?p-f:.5*(u-f))}function GC(e,n,t,i){n.x+=t,n.y+=i,n.bounds.translate(t,i),n.mark.bounds.translate(t,i),e.dirty(n)}function nie(e){be.call(this,null,e)}function iie(e,n){let t=0;if(void 0===n)for(let i of e)(i=+i)&&(t+=i);else{let i=-1;for(let r of e)(r=+n(r,++i,e))&&(t+=r)}return t}function rie(e){be.call(this,null,e)}function oie(e){be.call(this,null,e)}function gVe(){return ei({})}function aie(e){be.call(this,null,e)}function sie(e){be.call(this,[],e)}Ze(nie,be,{transform(e,n){const t=n.dataflow;return e.mark.items.forEach(i=>{e.layout&&function tVe(e,n,t){var u,d,p,f,h,g,m,i=function QYe(e){var r,o,n=e.items,t=n.length,i=0;const a={marks:[],rowheaders:[],rowfooters:[],colheaders:[],colfooters:[],rowtitle:null,coltitle:null};for(;i{(p=_.orient||Dc)!==YM&&(m[p]||(m[p]=[])).push(_)});for(const _ in m){const v=m[_];eie(e,v,aVe(v,_,t.legends,s,l,r,o))}c.forEach(_=>{const v=_.bounds;if(v.equals(_._bounds)||(_.bounds=_._bounds,e.dirty(_),_.bounds=v,e.dirty(_)),!t.autosize||"fit"!==t.autosize.type&&"fit-x"!==t.autosize.type&&"fit-y"!==t.autosize.type)a.union(v);else switch(_.orient){case Fc:case Dc:a.add(v.x1,0).add(v.x2,0);break;case b_:case qf:a.add(0,v.y1).add(0,v.y2)}})}a.union(s).union(l),u&&a.union(function dVe(e,n,t,i,r){var C,o=n.items[0],s=o.orient,l=o.anchor,c=o.offset,u=o.padding,d=o.items[0].items[0],p=o.items[1]&&o.items[1].items[0],f=s===Fc||s===Dc?i:t,h=0,g=0,m=0,_=0,v=0;if(o.frame!==_F?s===Fc?(h=r.y2,f=r.y1):s===Dc?(h=r.y1,f=r.y2):(h=r.x1,f=r.x2):s===Fc&&(h=i,f=0),C=l===NM?h:l===Ea?f:(h+f)/2,p&&p.text){switch(s){case b_:case qf:v=d.bounds.height()+u;break;case Fc:_=d.bounds.width()+u;break;case Dc:_=-d.bounds.width()-u}ia.clear().union(p.bounds),ia.translate(_-(p.x||0),v-(p.y||0)),A_(p,"x",_)|A_(p,"y",v)&&(e.dirty(p),p.bounds.clear().union(ia),p.mark.bounds.clear().union(ia),e.dirty(p)),ia.clear().union(p.bounds)}else ia.clear();switch(ia.union(d.bounds),s){case b_:g=C,m=r.y1-ia.height()-c;break;case Fc:g=r.x1-ia.width()-c,m=C;break;case Dc:g=r.x2+ia.width()+c,m=C;break;case qf:g=C,m=r.y2+c;break;default:g=o.x,m=o.y}return A_(o,"x",g)|A_(o,"y",m)&&(ia.translate(g,m),e.dirty(o),o.bounds.clear().union(ia),n.bounds.clear().union(ia),e.dirty(o)),o.bounds}(e,u,r,o,a)),n.clip&&a.set(0,0,n.width||0,n.height||0),function hVe(e,n,t,i){const r=i.autosize||{},o=r.type;if(e._autosize<1||!o)return;let a=e._width,s=e._height,l=Math.max(0,n.width||0),c=Math.max(0,Math.ceil(-t.x1)),u=Math.max(0,n.height||0),d=Math.max(0,Math.ceil(-t.y1));const p=Math.max(0,Math.ceil(t.x2-l)),f=Math.max(0,Math.ceil(t.y2-u));if("padding"===r.contains){const h=e.padding();a-=h.left+h.right,s-=h.top+h.bottom}o===YM?(c=0,d=0,l=a,u=s):"fit"===o?(l=Math.max(0,a-c-p),u=Math.max(0,s-d-f)):"fit-x"===o?(l=Math.max(0,a-c-p),s=u+d+f):"fit-y"===o?(a=l+c+p,u=Math.max(0,s-d-f)):"pad"===o&&(a=l+c+p,s=u+d+f),e._resizeView(a,s,l,u,[c,d],r.resize)}(e,n,a,t)}(t,i,e)}),function pVe(e){return e&&"legend-entry"!==e.mark.role}(e.mark.group)?n.reflow():n}}),Ze(rie,be,{transform(e,n){if(this.value&&!e.modified())return n.StopPropagation;var t=n.dataflow.locale(),i=n.fork(n.NO_SOURCE|n.NO_FIELDS),r=this.value,o=e.scale,s=VL(o,null==e.count?e.values?e.values.length:10:e.count,e.minstep),l=e.format||Kee(t,o,s,e.formatSpecifier,e.formatType,!!e.values),c=e.values?qee(o,e.values,s):zL(o,s);return r&&(i.rem=r),r=c.map((u,d)=>ei({index:d/(c.length-1||1),value:u,label:l(u)})),e.extra&&r.length&&r.push(ei({index:-1,extra:{value:r[0].value},label:""})),i.source=r,i.add=r,this.value=r,i}}),Ze(oie,be,{transform(e,n){var t=n.dataflow,i=n.fork(n.NO_SOURCE|n.NO_FIELDS),r=e.item||gVe,o=e.key||Pt,a=this.value;return De(i.encode)&&(i.encode=null),a&&(e.modified("key")||n.modified(o))&&xe("DataJoin does not support modified key function or fields."),a||(n=n.addAll(),this.value=a=function mVe(e){const n=t_().test(t=>t.exit);return n.lookup=t=>n.get(e(t)),n}(o)),n.visit(n.ADD,s=>{const l=o(s);let c=a.get(l);c?c.exit?(a.empty--,i.add.push(c)):i.mod.push(c):(c=r(s),a.set(l,c),i.add.push(c)),c.datum=s,c.exit=!1}),n.visit(n.MOD,s=>{const l=o(s),c=a.get(l);c&&(c.datum=s,i.mod.push(c))}),n.visit(n.REM,s=>{const l=o(s),c=a.get(l);s===c.datum&&!c.exit&&(i.rem.push(c),c.exit=!0,++a.empty)}),n.changed(n.ADD_MOD)&&i.modifies("datum"),(n.clean()||e.clean&&a.empty>t.cleanThreshold)&&t.runAfter(a.clean),i}}),Ze(aie,be,{transform(e,n){var t=n.fork(n.ADD_REM),i=e.mod||!1,r=e.encoders,o=n.encode;if(De(o)){if(!t.changed()&&!o.every(d=>r[d]))return n.StopPropagation;o=o[0],t.encode=null}var a="enter"===o,s=r.update||Df,l=r.enter||Df,c=r.exit||Df,u=(o&&!a?r[o]:s)||Df;if(n.changed(n.ADD)&&(n.visit(n.ADD,d=>{l(d,e),s(d,e)}),t.modifies(l.output),t.modifies(s.output),u!==Df&&u!==s&&(n.visit(n.ADD,d=>{u(d,e)}),t.modifies(u.output))),n.changed(n.REM)&&c!==Df&&(n.visit(n.REM,d=>{c(d,e)}),t.modifies(c.output)),a||u!==Df){const d=n.MOD|(e.modified()?n.REFLOW:0);a?(n.visit(d,p=>{const f=l(p,e)||i;(u(p,e)||f)&&t.mod.push(p)}),t.mod.length&&t.modifies(l.output)):n.visit(d,p=>{(u(p,e)||i)&&t.mod.push(p)}),t.mod.length&&t.modifies(u.output)}return t.changed()?t:n.StopPropagation}}),Ze(sie,be,{transform(e,n){if(null!=this.value&&!e.modified())return n.StopPropagation;var p,f,h,g,m,t=n.dataflow.locale(),i=n.fork(n.NO_SOURCE|n.NO_FIELDS),r=this.value,o=e.type||Hx,a=e.scale,s=+e.limit,l=VL(a,null==e.count?5:e.count,e.minstep),u=e.format||Jee(t,a,l,o,e.formatSpecifier,e.formatType,!!e.values||o===Hx),d=e.values||Qee(a,l);return r&&(i.rem=r),o===Hx?(s&&d.length>s?(n.dataflow.warn("Symbol legend count exceeds limit, filtering items."),r=d.slice(0,s-1),m=!0):r=d,mn(h=e.size)?(!e.values&&0===a(r[0])&&(r=r.slice(1)),g=r.reduce((_,v)=>Math.max(_,h(v,e)),0)):h=Xo(g=h||8),r=r.map((_,v)=>ei({index:v,label:u(_,v,r),value:_,offset:g,size:h(_,e)})),m&&r.push(ei({index:r.length,label:`\u2026${d.length-r.length} entries`,value:m=d[r.length],offset:g,size:h(m,e)}))):"gradient"===o?(p=a.domain(),f=$ee(a,p[0],Ln(p)),d.length<3&&!e.values&&p[0]!==Ln(p)&&(d=[p[0],Ln(p)]),r=d.map((_,v)=>ei({index:v,label:u(_,v,d),value:_,perc:f(_)}))):(h=d.length-1,f=function tGe(e){const n=e.domain(),t=n.length-1;let i=+n[0],r=+Ln(n),o=r-i;if(e.type===Px){const a=t?o/t:.1;i-=a,r+=a,o=r-i}return a=>(a-i)/o}(a),r=d.map((_,v)=>ei({index:v,label:u(_,v,d),value:_,perc:v?f(_):0,perc2:v===h?1:f(d[v+1])}))),i.source=r,i.add=r,this.value=r,i}});const yVe=e=>e.source.x,_Ve=e=>e.source.y,vVe=e=>e.target.x,TVe=e=>e.target.y;function UM(e){be.call(this,{},e)}UM.Definition={type:"LinkPath",metadata:{modifies:!0},params:[{name:"sourceX",type:"field",default:"source.x"},{name:"sourceY",type:"field",default:"source.y"},{name:"targetX",type:"field",default:"target.x"},{name:"targetY",type:"field",default:"target.y"},{name:"orient",type:"enum",default:"vertical",values:["horizontal","vertical","radial"]},{name:"shape",type:"enum",default:"line",values:["line","arc","curve","diagonal","orthogonal"]},{name:"require",type:"signal"},{name:"as",type:"string",default:"path"}]},Ze(UM,be,{transform(e,n){var t=e.sourceX||yVe,i=e.sourceY||_Ve,r=e.targetX||vVe,o=e.targetY||TVe,a=e.as||"path",l=e.shape||"line",c=die.get(l+"-"+(e.orient||"vertical"))||die.get(l);return c||xe("LinkPath unsupported type: "+e.shape+(e.orient?"-"+e.orient:"")),n.visit(n.SOURCE,u=>{u[a]=c(t(u),i(u),r(u),o(u))}),n.reflow(e.modified()).modifies(a)}});const lie=(e,n,t,i)=>"M"+e+","+n+"L"+t+","+i,cie=(e,n,t,i)=>{var r=t-e,o=i-n,a=Math.hypot(r,o)/2;return"M"+e+","+n+"A"+a+","+a+" "+180*Math.atan2(o,r)/Math.PI+" 0 1 "+t+","+i},uie=(e,n,t,i)=>{const r=t-e,o=i-n,a=.2*(r+o),s=.2*(o-r);return"M"+e+","+n+"C"+(e+a)+","+(n+s)+" "+(t+s)+","+(i-a)+" "+t+","+i},die=t_({line:lie,"line-radial":(e,n,t,i)=>lie(n*Math.cos(e),n*Math.sin(e),i*Math.cos(t),i*Math.sin(t)),arc:cie,"arc-radial":(e,n,t,i)=>cie(n*Math.cos(e),n*Math.sin(e),i*Math.cos(t),i*Math.sin(t)),curve:uie,"curve-radial":(e,n,t,i)=>uie(n*Math.cos(e),n*Math.sin(e),i*Math.cos(t),i*Math.sin(t)),"orthogonal-horizontal":(e,n,t,i)=>"M"+e+","+n+"V"+i+"H"+t,"orthogonal-vertical":(e,n,t,i)=>"M"+e+","+n+"H"+t+"V"+i,"orthogonal-radial":(e,n,t,i)=>{const r=Math.cos(e),o=Math.sin(e),a=Math.cos(t),s=Math.sin(t);return"M"+n*r+","+n*o+"A"+n+","+n+" 0 0,"+((Math.abs(t-e)>Math.PI?t<=e:t>e)?1:0)+" "+n*a+","+n*s+"L"+i*a+","+i*s},"diagonal-horizontal":(e,n,t,i)=>{const r=(e+t)/2;return"M"+e+","+n+"C"+r+","+n+" "+r+","+i+" "+t+","+i},"diagonal-vertical":(e,n,t,i)=>{const r=(n+i)/2;return"M"+e+","+n+"C"+e+","+r+" "+t+","+r+" "+t+","+i},"diagonal-radial":(e,n,t,i)=>{const r=Math.cos(e),o=Math.sin(e),a=Math.cos(t),s=Math.sin(t),l=(n+i)/2;return"M"+n*r+","+n*o+"C"+l*r+","+l*o+" "+l*a+","+l*s+" "+i*a+","+i*s}});function jM(e){be.call(this,null,e)}jM.Definition={type:"Pie",metadata:{modifies:!0},params:[{name:"field",type:"field"},{name:"startAngle",type:"number",default:0},{name:"endAngle",type:"number",default:6.283185307179586},{name:"sort",type:"boolean",default:!1},{name:"as",type:"string",array:!0,length:2,default:["startAngle","endAngle"]}]},Ze(jM,be,{transform(e,n){var h,g,m,t=e.as||["startAngle","endAngle"],i=t[0],r=t[1],a=e.startAngle||0,s=null!=e.endAngle?e.endAngle:2*Math.PI,l=n.source,c=l.map(e.field||Qy),u=c.length,d=a,p=(s-a)/iie(c),f=$s(u);for(e.sort&&f.sort((_,v)=>c[_]-c[v]),h=0;hr+(o<0?-1:o>0?1:0),0))!==n.length&&t.warn("Log scale domain includes zero: "+We(n)),n}function gie(e,n,t){return mn(e)&&(n||t)?Vee(e,WM(n||[0,1],t)):e}function WM(e,n){return n?e.slice().reverse():e}function mie(e){be.call(this,null,e)}Ze(fie,be,{transform(e,n){var t=n.dataflow,i=this.value,r=function xVe(e){var i,n=e.type,t="";return n===Gu?Gu+"-"+p_:(function FVe(e){const n=e.type;return HL(n)&&n!==$g&&n!==Ug&&(e.scheme||e.range&&e.range.length&&e.range.every(it))}(e)&&(t=2===(i=e.rawDomain?e.rawDomain.length:e.domain?e.domain.length+ +(null!=e.domainMid):0)?Gu+"-":3===i?f_+"-":""),(t+n||p_).toLowerCase())}(e);for(r in(!i||r!==i.type)&&(this.value=i=qn(r)()),e)if(!wVe[r]){if("padding"===r&&pie(i.type))continue;mn(i[r])?i[r](e[r]):t.warn("Unsupported scale property: "+r)}return function LVe(e,n,t){var i=e.type,r=n.round||!1,o=n.range;if(null!=n.rangeStep)o=function MVe(e,n,t){return"band"!==e&&e!==kL&&xe("Only band and point scales support rangeStep."),[0,n.rangeStep*LL(t,e===kL?1:(null!=n.paddingInner?n.paddingInner:n.padding)||0,(null!=n.paddingOuter?n.paddingOuter:n.padding)||0)]}(i,n,t);else if(n.scheme&&(o=function kVe(e,n,t){var o,i=n.schemeExtent;return De(n.scheme)?o=Ox(n.scheme,n.interpolate,n.interpolateGamma):(o=YL(n.scheme.toLowerCase()))||xe(`Unrecognized scheme name: ${n.scheme}`),t=e===Px?t+1:e===PL?t-1:e===h_||e===kx?+n.schemeCount||5:t,Bee(e)?gie(o,i,n.reverse):mn(o)?zee(gie(o,i),t):e===ML?o:o.slice(0,t)}(i,n,t),mn(o))){if(e.interpolator)return e.interpolator(o);xe(`Scale type ${i} does not support interpolating color schemes.`)}if(o&&Bee(i))return e.interpolator(Ox(WM(o,n.reverse),n.interpolate,n.interpolateGamma));o&&n.interpolate&&e.interpolate?e.interpolate(BL(n.interpolate,n.interpolateGamma)):mn(e.round)?e.round(r):mn(e.rangeRound)&&e.interpolate(r?DT:Ud),o&&e.range(WM(o,n.reverse))}(i,e,function RVe(e,n,t){let i=n.bins;if(i&&!De(i)){const r=e.domain(),o=r[0],a=Ln(r),s=i.step;let l=null==i.start?o:i.start,c=null==i.stop?a:i.stop;s||xe("Scale bins parameter missing step property."),la&&(c=s*Math.floor(a/s)),i=$s(l,c+s/2,s)}return i?e.bins=i:e.bins&&delete e.bins,e.type===PL&&(i?!n.domain&&!n.domainRaw&&(e.domain(i),t=i.length):e.bins=e.domain()),t}(i,e,function DVe(e,n,t){const i=function EVe(e,n,t){return n?(e.domain(hie(e.type,n,t)),n.length):-1}(e,n.domainRaw,t);if(i>-1)return i;var s,l,r=n.domain,o=e.type,a=n.zero||void 0===n.zero&&function SVe(e){const n=e.type;return!e.bins&&(n===p_||n===yC||n===_C)}(e);if(!r)return 0;if((a||null!=n.domainMin||null!=n.domainMax||null!=n.domainMid)&&(s=(r=r.slice()).length-1||1,a&&(r[0]>0&&(r[0]=0),r[s]<0&&(r[s]=0)),null!=n.domainMin&&(r[0]=n.domainMin),null!=n.domainMax&&(r[s]=n.domainMax),null!=n.domainMid)){const c=(l=n.domainMid)>r[s]?s+1:lg(u);if(null==n)r.push(e.slice());else for(a={},s=0,l=e.length;sh&&(h=f),t&&p.sort(t)}return r.max=h,r}(n.source,e.groupby,o,a),c=0,u=l.length,d=l.max;ce;function AF(e,n){e&&bie.hasOwnProperty(e.type)&&bie[e.type](e,n)}var Cie={Feature:function(e,n){AF(e.geometry,n)},FeatureCollection:function(e,n){for(var t=e.features,i=-1,r=t.length;++i0){for(a=n[--t];t>0&&(i=a,r=n[--t],a=i+r,o=r-(a-i),!o););t>0&&(o<0&&n[t-1]<0||o>0&&n[t-1]>0)&&(r=2*o,i=a+r,r==i-a&&(a=i))}return a}}var Gt=1e-6,SF=1e-12,bn=Math.PI,pr=bn/2,wF=bn/4,Ia=2*bn,vr=180/bn,Cn=bn/180,Mn=Math.abs,w_=Math.atan,Pl=Math.atan2,Vt=Math.cos,xF=Math.ceil,Sie=Math.exp,ZM=(Math,Math.hypot),FF=Math.log,XM=Math.pow,Rt=Math.sin,Nl=Math.sign||function(e){return e>0?1:e<0?-1:0},Ra=Math.sqrt,QM=Math.tan;function wie(e){return e>1?0:e<-1?bn:Math.acos(e)}function ps(e){return e>1?pr:e<-1?-pr:Math.asin(e)}function Do(){}var xie,Fie,tk,nk,JM=new Fo,ek=new Fo,Xf={point:Do,lineStart:Do,lineEnd:Do,polygonStart:function(){Xf.lineStart=GVe,Xf.lineEnd=YVe},polygonEnd:function(){Xf.lineStart=Xf.lineEnd=Xf.point=Do,JM.add(Mn(ek)),ek=new Fo},result:function(){var e=JM/2;return JM=new Fo,e}};function GVe(){Xf.point=BVe}function BVe(e,n){Xf.point=Die,xie=tk=e,Fie=nk=n}function Die(e,n){ek.add(nk*e-tk*n),tk=e,nk=n}function YVe(){Die(xie,Fie)}const Eie=Xf;var x_=1/0,DF=x_,YC=-x_,EF=YC,VVe={point:function zVe(e,n){eYC&&(YC=e),nEF&&(EF=n)},lineStart:Do,lineEnd:Do,polygonStart:Do,polygonEnd:Do,result:function(){var e=[[x_,DF],[YC,EF]];return YC=EF=-(DF=x_=1/0),e}};const IF=VVe;var Iie,Rie,zu,$u,ik=0,rk=0,VC=0,RF=0,LF=0,F_=0,ok=0,ak=0,zC=0,Ec={point:Jg,lineStart:Lie,lineEnd:Mie,polygonStart:function(){Ec.lineStart=jVe,Ec.lineEnd=WVe},polygonEnd:function(){Ec.point=Jg,Ec.lineStart=Lie,Ec.lineEnd=Mie},result:function(){var e=zC?[ok/zC,ak/zC]:F_?[RF/F_,LF/F_]:VC?[ik/VC,rk/VC]:[NaN,NaN];return ik=rk=VC=RF=LF=F_=ok=ak=zC=0,e}};function Jg(e,n){ik+=e,rk+=n,++VC}function Lie(){Ec.point=$Ve}function $Ve(e,n){Ec.point=UVe,Jg(zu=e,$u=n)}function UVe(e,n){var t=e-zu,i=n-$u,r=Ra(t*t+i*i);RF+=r*(zu+e)/2,LF+=r*($u+n)/2,F_+=r,Jg(zu=e,$u=n)}function Mie(){Ec.point=Jg}function jVe(){Ec.point=qVe}function WVe(){kie(Iie,Rie)}function qVe(e,n){Ec.point=kie,Jg(Iie=zu=e,Rie=$u=n)}function kie(e,n){var t=e-zu,i=n-$u,r=Ra(t*t+i*i);RF+=r*(zu+e)/2,LF+=r*($u+n)/2,F_+=r,ok+=(r=$u*e-zu*n)*(zu+e),ak+=r*($u+n),zC+=3*r,Jg(zu=e,$u=n)}const Pie=Ec;function Nie(e){this._context=e}Nie.prototype={_radius:4.5,pointRadius:function(e){return this._radius=e,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._context.closePath(),this._point=NaN},point:function(e,n){switch(this._point){case 0:this._context.moveTo(e,n),this._point=1;break;case 1:this._context.lineTo(e,n);break;default:this._context.moveTo(e+this._radius,n),this._context.arc(e,n,this._radius,0,Ia)}},result:Do};var lk,Oie,Hie,$C,UC,sk=new Fo,MF={point:Do,lineStart:function(){MF.point=KVe},lineEnd:function(){lk&&Gie(Oie,Hie),MF.point=Do},polygonStart:function(){lk=!0},polygonEnd:function(){lk=null},result:function(){var e=+sk;return sk=new Fo,e}};function KVe(e,n){MF.point=Gie,Oie=$C=e,Hie=UC=n}function Gie(e,n){sk.add(Ra(($C-=e)*$C+(UC-=n)*UC)),$C=e,UC=n}const Bie=MF;let Yie,kF,Vie,zie;class $ie{constructor(n){this._append=null==n?Uie:function ZVe(e){const n=Math.floor(e);if(!(n>=0))throw new RangeError(`invalid digits: ${e}`);if(n>15)return Uie;if(n!==Yie){const t=10**n;Yie=n,kF=function(r){let o=1;this._+=r[0];for(const a=r.length;o=0))throw new RangeError(`invalid digits: ${s}`);t=l}return null===n&&(o=new $ie(t)),a},a.projection(e).digits(t).context(n)}function Wie(){var n,e=[];return{point:function(t,i,r){n.push([t,i,r])},lineStart:function(){e.push(n=[])},lineEnd:Do,rejoin:function(){e.length>1&&e.push(e.pop().concat(e.shift()))},result:function(){var t=e;return e=[],n=null,t}}}function PF(e,n){return Mn(e[0]-n[0])=0;--s)r.point((d=u[s])[0],d[1]);else i(p.x,p.p.x,-1,r);p=p.p}u=(p=p.o).z,f=!f}while(!p.v);r.lineEnd()}}}function Kie(e){if(n=e.length){for(var n,r,t=0,i=e[0];++t=0?1:-1,W=B*O,q=W>bn,te=m*I;if(l.add(Pl(te*B*Rt(W),_*w+te*Vt(W))),a+=q?O+B*Ia:O,q^h>=t^A>=t){var K=D_(em(f),em(C));BF(K);var F=D_(o,K);BF(F);var M=(q^O>=0?-1:1)*ps(F[2]);(i>M||i===M&&(K[0]||K[1]))&&(s+=q^O>=0?1:-1)}}return(a<-Gt||a0){for(l||(r.polygonStart(),l=!0),r.lineStart(),I=0;I1&&2&A&&S.push(S.pop().concat(S.shift())),u.push(S.filter(JVe))}}return p}}function JVe(e){return e.length>1}function eze(e,n){return((e=e.x)[0]<0?e[1]-pr-Gt:pr-e[1])-((n=n.x)[0]<0?n[1]-pr-Gt:pr-n[1])}const Qie=Xie(function(){return!0},function tze(e){var r,n=NaN,t=NaN,i=NaN;return{lineStart:function(){e.lineStart(),r=1},point:function(o,a){var s=o>0?bn:-bn,l=Mn(o-n);Mn(l-bn)0?pr:-pr),e.point(i,t),e.lineEnd(),e.lineStart(),e.point(s,t),e.point(o,t),r=0):i!==s&&l>=bn&&(Mn(n-i)Gt?w_((Rt(n)*(o=Vt(i))*Rt(t)-Rt(i)*(r=Vt(n))*Rt(e))/(r*o*a)):(n+i)/2}(n,t,o,a),e.point(i,t),e.lineEnd(),e.lineStart(),e.point(s,t),r=0),e.point(n=o,t=a),i=s},lineEnd:function(){e.lineEnd(),n=t=NaN},clean:function(){return 2-r}}},function ize(e,n,t,i){var r;if(null==e)i.point(-bn,r=t*pr),i.point(0,r),i.point(bn,r),i.point(bn,0),i.point(bn,-r),i.point(0,-r),i.point(-bn,-r),i.point(-bn,0),i.point(-bn,r);else if(Mn(e[0]-n[0])>Gt){var o=e[0]0)do{p.point(0===f||3===f?e:t,f>1?i:n)}while((f=(f+d+4)%4)!==h);else p.point(u[0],u[1])}function a(c,u){return Mn(c[0]-e)0?0:3:Mn(c[0]-t)0?2:1:Mn(c[1]-n)0?1:0:u>0?3:2}function s(c,u){return l(c.x,u.x)}function l(c,u){var d=a(c,1),p=a(u,1);return d!==p?d-p:0===d?u[1]-c[1]:1===d?c[0]-u[0]:2===d?c[1]-u[1]:u[0]-c[0]}return function(c){var p,f,h,g,m,_,v,C,A,S,I,u=c,d=Wie(),w={point:O,lineStart:function te(){w.point=F,f&&f.push(h=[]),S=!0,A=!1,v=C=NaN},lineEnd:function K(){p&&(F(g,m),_&&A&&d.rejoin(),p.push(d.result())),w.point=O,A&&u.lineEnd()},polygonStart:function W(){u=d,p=[],f=[],I=!0},polygonEnd:function q(){var M=function B(){for(var M=0,L=0,Y=f.length;Li&&(se-oe)*(i-ce)>(fe-ce)*(e-oe)&&++M:fe<=i&&(se-oe)*(i-ce)<(fe-ce)*(e-oe)&&--M;return M}(),L=I&&M,Y=(p=Zie(p)).length;(L||Y)&&(c.polygonStart(),L&&(c.lineStart(),o(null,null,1,c),c.lineEnd()),Y&&qie(p,s,M,o,c),c.polygonEnd()),u=c,p=f=h=null}};function O(M,L){r(M,L)&&u.point(M,L)}function F(M,L){var Y=r(M,L);if(f&&h.push([M,L]),S)g=M,m=L,_=Y,S=!1,Y&&(u.lineStart(),u.point(M,L));else if(Y&&A)u.point(M,L);else{var P=[v=Math.max(YF,Math.min(jC,v)),C=Math.max(YF,Math.min(jC,C))],$=[M=Math.max(YF,Math.min(jC,M)),L=Math.max(YF,Math.min(jC,L))];!function oze(e,n,t,i,r,o){var h,a=e[0],s=e[1],u=0,d=1,p=n[0]-a,f=n[1]-s;if(h=t-a,p||!(h>0)){if(h/=p,p<0){if(h0){if(h>d)return;h>u&&(u=h)}if(h=r-a,p||!(h<0)){if(h/=p,p<0){if(h>d)return;h>u&&(u=h)}else if(p>0){if(h0)){if(h/=f,f<0){if(h0){if(h>d)return;h>u&&(u=h)}if(h=o-s,f||!(h<0)){if(h/=f,f<0){if(h>d)return;h>u&&(u=h)}else if(f>0){if(h0&&(e[0]=a+u*p,e[1]=s+u*f),d<1&&(n[0]=a+d*p,n[1]=s+d*f),!0}}}}}(P,$,e,n,t,i)?Y&&(u.lineStart(),u.point(M,L),I=!1):(A||(u.lineStart(),u.point(P[0],P[1])),u.point($[0],$[1]),Y||u.lineEnd(),I=!1)}v=M,C=L,A=Y}return w}}function dk(e,n){function t(i,r){return i=e(i,r),n(i[0],i[1])}return e.invert&&n.invert&&(t.invert=function(i,r){return(i=n.invert(i,r))&&e.invert(i[0],i[1])}),t}function pk(e,n){return Mn(e)>bn&&(e-=Math.round(e/Ia)*Ia),[e,n]}function nre(e,n,t){return(e%=Ia)?n||t?dk(rre(e),ore(n,t)):rre(e):n||t?ore(n,t):pk}function ire(e){return function(n,t){return Mn(n+=e)>bn&&(n-=Math.round(n/Ia)*Ia),[n,t]}}function rre(e){var n=ire(e);return n.invert=ire(-e),n}function ore(e,n){var t=Vt(e),i=Rt(e),r=Vt(n),o=Rt(n);function a(s,l){var c=Vt(l),u=Vt(s)*c,d=Rt(s)*c,p=Rt(l),f=p*t+u*i;return[Pl(d*r-f*o,u*t-p*i),ps(f*r+d*o)]}return a.invert=function(s,l){var c=Vt(l),u=Vt(s)*c,d=Rt(s)*c,p=Rt(l),f=p*r-d*o;return[Pl(d*r+p*o,u*t+f*i),ps(f*t-u*i)]},a}function WC(e){return function(n){var t=new fk;for(var i in e)t[i]=e[i];return t.stream=n,t}}function fk(){}function hk(e,n,t){var i=e.clipExtent&&e.clipExtent();return e.scale(150).translate([0,0]),null!=i&&e.clipExtent(null),pp(t,e.stream(IF)),n(IF.result()),null!=i&&e.clipExtent(i),e}function VF(e,n,t){return hk(e,function(i){var r=n[1][0]-n[0][0],o=n[1][1]-n[0][1],a=Math.min(r/(i[1][0]-i[0][0]),o/(i[1][1]-i[0][1])),s=+n[0][0]+(r-a*(i[1][0]+i[0][0]))/2,l=+n[0][1]+(o-a*(i[1][1]+i[0][1]))/2;e.scale(150*a).translate([s,l])},t)}function gk(e,n,t){return VF(e,[[0,0],n],t)}function mk(e,n,t){return hk(e,function(i){var r=+n,o=r/(i[1][0]-i[0][0]),a=(r-o*(i[1][0]+i[0][0]))/2,s=-o*i[0][1];e.scale(150*o).translate([a,s])},t)}function yk(e,n,t){return hk(e,function(i){var r=+n,o=r/(i[1][1]-i[0][1]),a=-o*i[0][0],s=(r-o*(i[1][1]+i[0][1]))/2;e.scale(150*o).translate([a,s])},t)}pk.invert=pk,fk.prototype={constructor:fk,point:function(e,n){this.stream.point(e,n)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}};var are=16,sze=Vt(30*Cn);function sre(e,n){return+n?function cze(e,n){function t(i,r,o,a,s,l,c,u,d,p,f,h,g,m){var _=c-i,v=u-r,C=_*_+v*v;if(C>4*n&&g--){var A=a+p,S=s+f,I=l+h,w=Ra(A*A+S*S+I*I),O=ps(I/=w),B=Mn(Mn(I)-1)n||Mn((_*K+v*F)/C-.5)>.3||a*p+s*f+l*h0,r=Mn(n)>Gt;function a(u,d){return Vt(u)*Vt(d)>n}function l(u,d,p){var g=[1,0,0],m=D_(em(u),em(d)),_=HF(m,m),v=m[0],C=_-v*v;if(!C)return!p&&u;var A=n*_/C,S=-n*v/C,I=D_(g,m),w=GF(g,A);ck(w,GF(m,S));var B=I,W=HF(w,B),q=HF(B,B),te=W*W-q*(HF(w,w)-1);if(!(te<0)){var K=Ra(te),F=GF(B,(-W-K)/q);if(ck(F,w),F=OF(F),!p)return F;var $,M=u[0],L=d[0],Y=u[1],P=d[1];L0^F[1]<(Mn(F[0]-M)bn^(M<=F[0]&&F[0]<=L)){var ce=GF(B,(-W+K)/q);return ck(ce,w),[F,OF(ce)]}}}function c(u,d){var p=i?e:bn-e,f=0;return u<-p?f|=1:u>p&&(f|=2),d<-p?f|=4:d>p&&(f|=8),f}return Xie(a,function s(u){var d,p,f,h,g;return{lineStart:function(){h=f=!1,g=1},point:function(m,_){var C,v=[m,_],A=a(m,_),S=i?A?0:c(m,_):A?c(m+(m<0?bn:-bn),_):0;if(!d&&(h=f=A)&&u.lineStart(),A!==f&&(!(C=l(d,v))||PF(d,C)||PF(v,C))&&(v[2]=1),A!==f)g=0,A?(u.lineStart(),C=l(v,d),u.point(C[0],C[1])):(C=l(d,v),u.point(C[0],C[1],2),u.lineEnd()),d=C;else if(r&&d&&i^A){var I;!(S&p)&&(I=l(v,d,!0))&&(g=0,i?(u.lineStart(),u.point(I[0][0],I[0][1]),u.point(I[1][0],I[1][1]),u.lineEnd()):(u.point(I[1][0],I[1][1]),u.lineEnd(),u.lineStart(),u.point(I[0][0],I[0][1],3)))}A&&(!d||!PF(d,v))&&u.point(v[0],v[1]),d=v,f=A,p=S},lineEnd:function(){f&&u.lineEnd(),d=null},clean:function(){return g|(h&&f)<<1}}},function o(u,d,p,f){!function Jie(e,n,t,i,r,o){if(t){var a=Vt(n),s=Rt(n),l=i*t;null==r?(r=n+i*Ia,o=n-l/2):(r=ere(a,r),o=ere(a,o),(i>0?ro)&&(r+=i*Ia));for(var c,u=r;i>0?u>o:u2?M[2]%360*Cn:0,K()):[s*vr,l*vr,c*vr]},q.angle=function(M){return arguments.length?(d=M%360*Cn,K()):d*vr},q.reflectX=function(M){return arguments.length?(p=M?-1:1,K()):p<0},q.reflectY=function(M){return arguments.length?(f=M?-1:1,K()):f<0},q.precision=function(M){return arguments.length?(I=sre(w,S=M*M),F()):Ra(S)},q.fitExtent=function(M,L){return VF(q,M,L)},q.fitSize=function(M,L){return gk(q,M,L)},q.fitWidth=function(M,L){return mk(q,M,L)},q.fitHeight=function(M,L){return yk(q,M,L)},function(){return n=e.apply(this,arguments),q.invert=n.invert&&te,K()}}function _k(e){var n=0,t=bn/3,i=cre(e),r=i(n,t);return r.parallels=function(o){return arguments.length?i(n=o[0]*Cn,t=o[1]*Cn):[n*vr,t*vr]},r}function hze(e,n){var t=Rt(e),i=(t+Rt(n))/2;if(Mn(i)2?e[2]*Cn:0),n.invert=function(t){return(t=e.invert(t[0]*Cn,t[1]*Cn))[0]*=vr,t[1]*=vr,t},n}(n.rotate()).invert([0,0]));return o(null==a?[[p[0]-d,p[1]-d],[p[0]+d,p[1]+d]]:e===$F?[[Math.max(p[0]-d,a),s],[Math.min(p[0]+d,l),c]]:[[a,Math.max(p[1]-d,s)],[l,Math.min(p[1]+d,c)]])}return n.scale=function(d){return arguments.length?(i(d),u()):i()},n.translate=function(d){return arguments.length?(r(d),u()):r()},n.center=function(d){return arguments.length?(t(d),u()):t()},n.clipExtent=function(d){return arguments.length?(null==d?a=s=l=c=null:(a=+d[0][0],s=+d[0][1],l=+d[1][0],c=+d[1][1]),u()):null==a?null:[[a,s],[l,c]]},u()}function UF(e){return QM((pr+e)/2)}function Tze(e,n){var t=Vt(e),i=e===n?Rt(e):FF(t/Vt(n))/FF(UF(n)/UF(e)),r=t*XM(UF(e),i)/i;if(!i)return $F;function o(a,s){r>0?s<-pr+Gt&&(s=-pr+Gt):s>pr-Gt&&(s=pr-Gt);var l=r/XM(UF(s),i);return[l*Rt(i*a),r-l*Vt(i*a)]}return o.invert=function(a,s){var l=r-s,c=Nl(i)*Ra(a*a+l*l),u=Pl(a,Mn(l))*Nl(l);return l*i<0&&(u-=bn*Nl(a)*Nl(l)),[u/i,2*w_(XM(r/c,1/i))-pr]},o}function jF(e,n){return[e,n]}function Aze(e,n){var t=Vt(e),i=e===n?Rt(e):(t-Vt(n))/(n-e),r=t/i+e;if(Mn(i)Gt&&--i>0);return[e/(.8707+(o=t*t)*(o*(o*o*o*(.003971-.001529*o)-.013791)-.131979)),t]},_re.invert=qC(ps),vre.invert=qC(function(e){return 2*w_(e)}),Tre.invert=function(e,n){return[-n,2*w_(Sie(e))-pr]};var Mze=Math.abs,vk=(Math,Math,Math,Math.cos),qF=(Math,Math,Math,Math,Math,Math,Math,Math,Math.sin),kze=(Math,1e-6),Qf=Math.PI,Tk=Qf/2,bre=(Math,KF(2));function Are(e){return e>1?Tk:e<-1?-Tk:Math.asin(e)}function KF(e){return e>0?Math.sqrt(e):0}function Pze(e,n){var r,t=e*qF(n),i=30;do{n-=r=(n+qF(n)-t)/(1+vk(n))}while(Mze(r)>kze&&--i>0);return n/2}KF(Qf);var Oze=function Nze(e,n,t){function i(r,o){return[e*r*vk(o=Pze(t,o)),n*qF(o)]}return i.invert=function(r,o){return o=Are(o/n),[r/(e*vk(o)),Are((2*o+qF(2*o))/t)]},i}(bre/Tk,bre,Qf);const Gze=jie(),Ck=["clipAngle","clipExtent","scale","translate","center","rotate","parallels","precision","reflectX","reflectY","coefficient","distance","fraction","lobes","parallel","radius","ratio","spacing","tilt"];function bk(e,n){if(!e||"string"!=typeof e)throw new Error("Projection type must be a name string.");return e=e.toLowerCase(),arguments.length>1?(ZF[e]=function Bze(e,n){return function t(){const i=n();return i.type=e,i.path=jie().projection(i),i.copy=i.copy||function(){const r=t();return Ck.forEach(o=>{i[o]&&r[o](i[o]())}),r.path.pointRadius(i.path.pointRadius()),r},Oee(i)}}(e,n),this):ZF[e]||null}function Sre(e){return e&&e.path||Gze}const ZF={albers:ure,albersusa:function mze(){var e,n,i,o,s,l,t=ure(),r=zF().rotate([154,0]).center([-2,58.5]).parallels([55,65]),a=zF().rotate([157,0]).center([-3,19.9]).parallels([8,18]),c={point:function(p,f){l=[p,f]}};function u(p){var f=p[0],h=p[1];return l=null,i.point(f,h),l||(o.point(f,h),l)||(s.point(f,h),l)}function d(){return e=n=null,u}return u.invert=function(p){var f=t.scale(),h=t.translate(),g=(p[0]-h[0])/f,m=(p[1]-h[1])/f;return(m>=.12&&m<.234&&g>=-.425&&g<-.214?r:m>=.166&&m<.234&&g>=-.214&&g<-.115?a:t).invert(p)},u.stream=function(p){return e&&n===p?e:e=function gze(e){var n=e.length;return{point:function(t,i){for(var r=-1;++r2?i[2]+90:90]):[(i=t())[0],i[1],i[2]-90]},t([0,0,90]).scale(159.155)}};for(const e in ZF)bk(e,ZF[e]);function wre(e,n,t){var i=$s(e,n-Gt,t).concat(n);return function(r){return i.map(function(o){return[r,o]})}}function xre(e,n,t){var i=$s(e,n-Gt,t).concat(n);return function(r){return i.map(function(o){return[o,r]})}}function Yze(){}const fp=[[],[[[1,1.5],[.5,1]]],[[[1.5,1],[1,1.5]]],[[[1.5,1],[.5,1]]],[[[1,.5],[1.5,1]]],[[[1,1.5],[.5,1]],[[1,.5],[1.5,1]]],[[[1,.5],[1,1.5]]],[[[1,.5],[.5,1]]],[[[.5,1],[1,.5]]],[[[1,1.5],[1,.5]]],[[[.5,1],[1,.5]],[[1.5,1],[1,1.5]]],[[[1.5,1],[1,.5]]],[[[.5,1],[1.5,1]]],[[[1,1.5],[1.5,1]]],[[[.5,1],[1,1.5]]],[]];function Dre(){var e=1,n=1,t=s;function i(l,c){return c.map(u=>r(l,u))}function r(l,c){var u=[],d=[];return function o(l,c,u){var f,h,m,_,v,d=[],p=[];for(f=h=-1,fp[(m=l[0]>=c)<<1].forEach(C);++f=c)<<1].forEach(C);for(fp[m<<0].forEach(C);++h=c)<<1|(_=l[h*e]>=c)<<2].forEach(C);++f=c)<<1|(_=l[h*e+f+1]>=c)<<2|v<<3].forEach(C);fp[m|_<<3].forEach(C)}for(f=-1,fp[(_=l[h*e]>=c)<<2].forEach(C);++f=c)<<2|v<<3].forEach(C);function C(A){var B,W,S=[A[0][0]+f,A[0][1]+h],I=[A[1][0]+f,A[1][1]+h],w=a(S),O=a(I);(B=p[w])?(W=d[O])?(delete p[B.end],delete d[W.start],B===W?(B.ring.push(I),u(B.ring)):d[B.start]=p[W.end]={start:B.start,end:W.end,ring:B.ring.concat(W.ring)}):(delete p[B.end],B.ring.push(I),p[B.end=O]=B):(B=d[O])?(W=p[w])?(delete d[B.start],delete p[W.end],B===W?(B.ring.push(I),u(B.ring)):d[W.start]=p[B.end]={start:W.start,end:B.end,ring:W.ring.concat(B.ring)}):(delete d[B.start],B.ring.unshift(S),d[B.start=w]=B):d[w]=p[O]={start:w,end:O,ring:[S,I]}}fp[_<<3].forEach(C)}(l,c,p=>{t(p,l,c),function Vze(e){for(var n=0,t=e.length,i=e[t-1][1]*e[0][0]-e[t-1][0]*e[0][1];++n0?u.push([p]):d.push(p)}),d.forEach(p=>{for(var g,f=0,h=u.length;f{var m,p=d[0],f=d[1],h=0|p,g=0|f,_=c[g*e+h];p>0&&p0&&f=0&&u>=0||xe("invalid size"),e=c,n=u,i},i.smooth=function(l){return arguments.length?(t=l?s:Yze,i):t===s},i}function zze(e,n){for(var r,t=-1,i=n.length;++ti!=f>i&&t<(p-c)*(i-u)/(f-u)+c&&(r=-r)}return r}function Uze(e,n,t){var i;return function jze(e,n,t){return(n[0]-e[0])*(t[1]-e[1])==(t[0]-e[0])*(n[1]-e[1])}(e,n,t)&&function Wze(e,n,t){return e<=n&&n<=t||t<=n&&n<=e}(e[i=+(e[0]===n[0])],t[i],n[i])}function Ere(e,n,t){return function(i){var r=Pu(i),o=t?Math.min(r[0],0):r[0],a=r[1],s=a-o,l=n?_f(o,a,e):s/(e+1);return $s(o+l,a,l)}}function Ak(e){be.call(this,null,e)}function Ire(e,n,t,i,r){const o=e.x1||0,a=e.y1||0,s=n*t<0;function l(d){d.forEach(c)}function c(d){s&&d.reverse(),d.forEach(u)}function u(d){d[0]=(d[0]-o)*n+i,d[1]=(d[1]-a)*t+r}return function(d){return d.coordinates.forEach(l),d}}function Rre(e,n,t){const i=e>=0?e:A7(n,t);return Math.round((Math.sqrt(4*i*i+1)-1)/2)}function Sk(e){return mn(e)?e:Xo(+e)}function Lre(){var e=l=>l[0],n=l=>l[1],t=Qy,i=[-1,-1],r=960,o=500,a=2;function s(l,c){const u=Rre(i[0],l,e)>>a,d=Rre(i[1],l,n)>>a,p=u?u+2:0,f=d?d+2:0,h=2*p+(r>>a),g=2*f+(o>>a),m=new Float32Array(h*g),_=new Float32Array(h*g);let v=m;l.forEach(A=>{const S=p+(+e(A)>>a),I=f+(+n(A)>>a);S>=0&&S=0&&I0&&d>0?(E_(h,g,m,_,u),I_(h,g,_,m,d),E_(h,g,m,_,u),I_(h,g,_,m,d),E_(h,g,m,_,u),I_(h,g,_,m,d)):u>0?(E_(h,g,m,_,u),E_(h,g,_,m,u),E_(h,g,m,_,u),v=_):d>0&&(I_(h,g,m,_,d),I_(h,g,_,m,d),I_(h,g,m,_,d),v=_);const C=c?Math.pow(2,-2*a):1/iie(v);for(let A=0,S=h*g;A>a),y2:f+(o>>a)}}return s.x=function(l){return arguments.length?(e=Sk(l),s):e},s.y=function(l){return arguments.length?(n=Sk(l),s):n},s.weight=function(l){return arguments.length?(t=Sk(l),s):t},s.size=function(l){if(!arguments.length)return[r,o];var c=+l[0],u=+l[1];return c>=0&&u>=0||xe("invalid size"),r=c,o=u,s},s.cellSize=function(l){return arguments.length?((l=+l)>=1||xe("invalid cell size"),a=Math.floor(Math.log(l)/Math.LN2),s):1<=r&&(s>=o&&(l-=t[s-o+a*e]),i[s-r+a*e]=l/Math.min(s+1,e-1+o-s,o))}function I_(e,n,t,i,r){const o=1+(r<<1);for(let a=0;a=r&&(s>=o&&(l-=t[a+(s-o)*e]),i[a+(s-r)*e]=l/Math.min(s+1,n-1+o-s,o))}function wk(e){be.call(this,null,e)}Ak.Definition={type:"Isocontour",metadata:{generates:!0},params:[{name:"field",type:"field"},{name:"thresholds",type:"number",array:!0},{name:"levels",type:"number"},{name:"nice",type:"boolean",default:!1},{name:"resolve",type:"enum",values:["shared","independent"],default:"independent"},{name:"zero",type:"boolean",default:!0},{name:"smooth",type:"boolean",default:!0},{name:"scale",type:"number",expr:!0},{name:"translate",type:"number",array:!0,expr:!0},{name:"as",type:"string",null:!0,default:"contour"}]},Ze(Ak,be,{transform(e,n){if(this.value&&!n.changed()&&!e.modified())return n.StopPropagation;var t=n.fork(n.NO_SOURCE|n.NO_FIELDS),i=n.materialize(n.SOURCE).source,r=e.field||Ko,o=Dre().smooth(!1!==e.smooth),a=e.thresholds||function qze(e,n,t){const i=Ere(t.levels||10,t.nice,!1!==t.zero);return"shared"!==t.resolve?i:i(e.map(r=>$d(n(r).values)))}(i,r,e),s=null===e.as?null:e.as||"contour",l=[];return i.forEach(c=>{const u=r(c),d=o.size([u.width,u.height])(u.values,De(a)?a:a(u.values));(function Kze(e,n,t,i){let r=i.scale||n.scale,o=i.translate||n.translate;if(mn(r)&&(r=r(t,i)),mn(o)&&(o=o(t,i)),(1===r||null==r)&&!o)return;const a=(Gn(r)?r:r[0])||1,s=(Gn(r)?r:r[1])||1;e.forEach(Ire(n,a,s,o&&o[0]||0,o&&o[1]||0))})(d,u,c,e),d.forEach(p=>{l.push(ax(c,ei(null!=s?{[s]:p}:p)))})}),this.value&&(t.rem=this.value),this.value=t.source=t.add=l,t}}),wk.Definition={type:"KDE2D",metadata:{generates:!0},params:[{name:"size",type:"number",array:!0,length:2,required:!0},{name:"x",type:"field",required:!0},{name:"y",type:"field",required:!0},{name:"weight",type:"field"},{name:"groupby",type:"field",array:!0},{name:"cellSize",type:"number"},{name:"bandwidth",type:"number",array:!0,length:2},{name:"counts",type:"boolean",default:!1},{name:"as",type:"string",default:"grid"}]};const Zze=["x","y","weight","size","cellSize","bandwidth"];function Mre(e,n){return Zze.forEach(t=>null!=n[t]?e[t](n[t]):0),e}function xk(e){be.call(this,null,e)}Ze(wk,be,{transform(e,n){if(this.value&&!n.changed()&&!e.modified())return n.StopPropagation;var l,t=n.fork(n.NO_SOURCE|n.NO_FIELDS),r=function Xze(e,n){var r,o,a,s,l,c,t=[],i=u=>u(s);if(null==n)t.push(e);else for(r={},o=0,a=e.length;oei(function c(u,d){for(let p=0;pGt}).map(p)).concat($s(xF(o/c)*c,r,c).filter(function(C){return Mn(C%d)>Gt}).map(f))}return _.lines=function(){return v().map(function(C){return{type:"LineString",coordinates:C}})},_.outline=function(){return{type:"Polygon",coordinates:[h(i).concat(g(a).slice(1),h(t).reverse().slice(1),g(s).reverse().slice(1))]}},_.extent=function(C){return arguments.length?_.extentMajor(C).extentMinor(C):_.extentMinor()},_.extentMajor=function(C){return arguments.length?(s=+C[0][1],a=+C[1][1],(i=+C[0][0])>(t=+C[1][0])&&(C=i,i=t,t=C),s>a&&(C=s,s=a,a=C),_.precision(m)):[[i,s],[t,a]]},_.extentMinor=function(C){return arguments.length?(o=+C[0][1],r=+C[1][1],(n=+C[0][0])>(e=+C[1][0])&&(C=n,n=e,e=C),o>r&&(C=o,o=r,r=C),_.precision(m)):[[n,o],[e,r]]},_.step=function(C){return arguments.length?_.stepMajor(C).stepMinor(C):_.stepMinor()},_.stepMajor=function(C){return arguments.length?(u=+C[0],d=+C[1],_):[u,d]},_.stepMinor=function(C){return arguments.length?(l=+C[0],c=+C[1],_):[l,c]},_.precision=function(C){return arguments.length?(m=+C,p=wre(o,r,90),f=xre(n,e,m),h=wre(s,a,90),g=xre(i,t,m),_):m},_.extentMajor([[-180,-90+Gt],[180,90-Gt]]).extentMinor([[-180,-80-Gt],[180,80+Gt]])}()}function kk(e){be.call(this,null,e)}function kre(e){if(!mn(e))return!1;const n=Cc(qo(e));return n.$x||n.$y||n.$value||n.$max}function Pre(e){be.call(this,null,e),this.modified(!0)}function Nre(e,n,t){mn(e[n])&&e[n](t)}function Ore(e,n,t,i){if(isNaN(n)||isNaN(t))return e;var r,d,p,f,h,g,m,_,v,o=e._root,a={data:i},s=e._x0,l=e._y0,c=e._x1,u=e._y1;if(!o)return e._root=a,e;for(;o.length;)if((g=n>=(d=(s+c)/2))?s=d:c=d,(m=t>=(p=(l+u)/2))?l=p:u=p,r=o,!(o=o[_=m<<1|g]))return r[_]=a,e;if(f=+e._x.call(null,o.data),h=+e._y.call(null,o.data),n===f&&t===h)return a.next=o,r?r[_]=a:e._root=a,e;do{r=r?r[_]=new Array(4):e._root=new Array(4),(g=n>=(d=(s+c)/2))?s=d:c=d,(m=t>=(p=(l+u)/2))?l=p:u=p}while((_=m<<1|g)==(v=(h>=p)<<1|f>=d));return r[v]=o,r[_]=a,e}function La(e,n,t,i,r){this.node=e,this.x0=n,this.y0=t,this.x1=i,this.y1=r}function C$e(e){return e[0]}function A$e(e){return e[1]}function Pk(e,n,t){var i=new Nk(n??C$e,t??A$e,NaN,NaN,NaN,NaN);return null==e?i:i.addAll(e)}function Nk(e,n,t,i,r,o){this._x=e,this._y=n,this._x0=t,this._y0=i,this._x1=r,this._y1=o,this._root=void 0}function Hre(e){for(var n={data:e.data},t=n;e=e.next;)t=t.next={data:e.data};return n}Ek.Definition={type:"GeoJSON",metadata:{},params:[{name:"fields",type:"field",array:!0,length:2},{name:"geojson",type:"field"}]},Ze(Ek,be,{transform(e,n){var c,t=this._features,i=this._points,r=e.fields,o=r&&r[0],a=r&&r[1],s=e.geojson||!r&&Ko,l=n.ADD;c=e.modified()||n.changed(n.REM)||n.modified(qo(s))||o&&n.modified(qo(o))||a&&n.modified(qo(a)),(!this.value||c)&&(l=n.SOURCE,this._features=t=[],this._points=i=[]),s&&n.visit(l,u=>t.push(s(u))),o&&a&&(n.visit(l,u=>{var d=o(u),p=a(u);null!=d&&null!=p&&(d=+d)===d&&(p=+p)===p&&i.push([d,p])}),t=t.concat({type:Fk,geometry:{type:"MultiPoint",coordinates:i}})),this.value={type:Dk,features:t}}}),Ik.Definition={type:"GeoPath",metadata:{modifies:!0},params:[{name:"projection",type:"projection"},{name:"field",type:"field"},{name:"pointRadius",type:"number",expr:!0},{name:"as",type:"string",default:"path"}]},Ze(Ik,be,{transform(e,n){var t=n.fork(n.ALL),i=this.value,r=e.field||Ko,o=e.as||"path",a=t.SOURCE;!i||e.modified()?(this.value=i=Sre(e.projection),t.materialize().reflow()):a=r===Ko||n.modified(r.fields)?t.ADD_MOD:t.ADD;const s=function Jze(e,n){const t=e.pointRadius();return e.context(null),null!=n&&e.pointRadius(n),t}(i,e.pointRadius);return t.visit(a,l=>l[o]=i(r(l))),i.pointRadius(s),t.modifies(o)}}),Rk.Definition={type:"GeoPoint",metadata:{modifies:!0},params:[{name:"projection",type:"projection",required:!0},{name:"fields",type:"field",array:!0,required:!0,length:2},{name:"as",type:"string",array:!0,length:2,default:["x","y"]}]},Ze(Rk,be,{transform(e,n){var l,t=e.projection,i=e.fields[0],r=e.fields[1],o=e.as||["x","y"],a=o[0],s=o[1];function c(u){const d=t([i(u),r(u)]);d?(u[a]=d[0],u[s]=d[1]):(u[a]=void 0,u[s]=void 0)}return e.modified()?n=n.materialize().reflow(!0).visit(n.SOURCE,c):(l=n.modified(i.fields)||n.modified(r.fields),n.visit(l?n.ADD_MOD:n.ADD,c)),n.modifies(o)}}),Lk.Definition={type:"GeoShape",metadata:{modifies:!0,nomod:!0},params:[{name:"projection",type:"projection"},{name:"field",type:"field",default:"datum"},{name:"pointRadius",type:"number",expr:!0},{name:"as",type:"string",default:"shape"}]},Ze(Lk,be,{transform(e,n){var t=n.fork(n.ALL),i=this.value,r=e.as||"shape",o=t.ADD;return(!i||e.modified())&&(this.value=i=function e$e(e,n,t){const i=null==t?r=>e(n(r)):r=>{var o=e.pointRadius(),a=e.pointRadius(t)(n(r));return e.pointRadius(o),a};return i.context=r=>(e.context(r),i),i}(Sre(e.projection),e.field||xl("datum"),e.pointRadius),t.materialize().reflow(),o=t.SOURCE),t.visit(o,a=>a[r]=i),t.modifies(r)}}),Mk.Definition={type:"Graticule",metadata:{changes:!0,generates:!0},params:[{name:"extent",type:"array",array:!0,length:2,content:{type:"number",array:!0,length:2}},{name:"extentMajor",type:"array",array:!0,length:2,content:{type:"number",array:!0,length:2}},{name:"extentMinor",type:"array",array:!0,length:2,content:{type:"number",array:!0,length:2}},{name:"step",type:"number",array:!0,length:2},{name:"stepMajor",type:"number",array:!0,length:2,default:[90,360]},{name:"stepMinor",type:"number",array:!0,length:2,default:[10,10]},{name:"precision",type:"number",default:2.5}]},Ze(Mk,be,{transform(e,n){var r,t=this.value,i=this.generator;if(!t.length||e.modified())for(const o in e)mn(i[o])&&i[o](e[o]);return r=i(),t.length?n.mod.push(MQ(t[0],r)):n.add.push(ei(r)),t[0]=r,n}}),kk.Definition={type:"heatmap",metadata:{modifies:!0},params:[{name:"field",type:"field"},{name:"color",type:"string",expr:!0},{name:"opacity",type:"number",expr:!0},{name:"resolve",type:"enum",values:["shared","independent"],default:"independent"},{name:"as",type:"string",default:"image"}]},Ze(kk,be,{transform(e,n){if(!n.changed()&&!e.modified())return n.StopPropagation;var t=n.materialize(n.SOURCE).source,i="shared"===e.resolve,r=e.field||Ko,o=function n$e(e,n){let t;return mn(e)?(t=i=>e(i,n),t.dep=kre(e)):e?t=Xo(e):(t=i=>i.$value/i.$max||0,t.dep=!0),t}(e.opacity,e),a=function t$e(e,n){let t;return mn(e)?(t=i=>yf(e(i,n)),t.dep=kre(e)):t=Xo(yf(e||"#888")),t}(e.color,e),s=e.as||"image",l={$x:0,$y:0,$value:0,$max:i?$d(t.map(c=>$d(r(c).values))):0};return t.forEach(c=>{const u=r(c),d=yn({},c,l);i||(d.$max=$d(u.values||[])),c[s]=function i$e(e,n,t,i){const r=e.width,a=e.x1||0,s=e.y1||0,l=e.x2||r,c=e.y2||e.height,u=e.values,d=u?m=>u[m]:Ff,p=Hf(l-a,c-s),f=p.getContext("2d"),h=f.getImageData(0,0,l-a,c-s),g=h.data;for(let m=s,_=0;m{null!=e[i]&&Nre(t,i,e[i])})):Ck.forEach(i=>{e.modified(i)&&Nre(t,i,e[i])}),null!=e.pointRadius&&t.path.pointRadius(e.pointRadius),e.fit&&function r$e(e,n){const t=function a$e(e){return 1===(e=nt(e)).length?e[0]:{type:Dk,features:e.reduce((n,t)=>n.concat(function s$e(e){return e.type===Dk?e.features:nt(e).filter(n=>null!=n).map(n=>n.type===Fk?n:{type:Fk,geometry:n})}(t)),[])}}(n.fit);n.extent?e.fitExtent(n.extent,t):n.size&&e.fitSize(n.size,t)}(t,e),n.fork(n.NO_SOURCE|n.NO_FIELDS)}});var Ma=Pk.prototype=Nk.prototype;function ka(e){return function(){return e}}function Jf(e){return 1e-6*(e()-.5)}function w$e(e){return e.x+e.vx}function x$e(e){return e.y+e.vy}Ma.copy=function(){var t,i,e=new Nk(this._x,this._y,this._x0,this._y0,this._x1,this._y1),n=this._root;if(!n)return e;if(!n.length)return e._root=Hre(n),e;for(t=[{source:n,target:e._root=new Array(4)}];n=t.pop();)for(var r=0;r<4;++r)(i=n.source[r])&&(i.length?t.push({source:i,target:n.target[r]=new Array(4)}):n.target[r]=Hre(i));return e},Ma.add=function c$e(e){const n=+this._x.call(null,e),t=+this._y.call(null,e);return Ore(this.cover(n,t),n,t,e)},Ma.addAll=function u$e(e){var n,t,r,o,i=e.length,a=new Array(i),s=new Array(i),l=1/0,c=1/0,u=-1/0,d=-1/0;for(t=0;tu&&(u=r),od&&(d=o));if(l>u||c>d)return this;for(this.cover(l,c).cover(u,d),t=0;te||e>=r||i>n||n>=o;)switch(c=(nu||(s=h.y0)>d||(l=h.x1)=_)<<1|e>=m)&&(h=p[p.length-1],p[p.length-1]=p[p.length-1-g],p[p.length-1-g]=h)}else{var v=e-+this._x.call(null,f.data),C=n-+this._y.call(null,f.data),A=v*v+C*C;if(A=(p=(a+l)/2))?a=p:l=p,(g=d>=(f=(s+c)/2))?s=f:c=f,n=t,!(t=t[m=g<<1|h]))return this;if(!t.length)break;(n[m+1&3]||n[m+2&3]||n[m+3&3])&&(i=n,_=m)}for(;t.data!==e;)if(r=t,!(t=t.next))return this;return(o=t.next)&&delete t.next,r?(o?r.next=o:delete r.next,this):n?(o?n[m]=o:delete n[m],(t=n[0]||n[1]||n[2]||n[3])&&t===(n[3]||n[2]||n[1]||n[0])&&!t.length&&(i?i[_]=t:this._root=t),this):(this._root=o,this)},Ma.removeAll=function m$e(e){for(var n=0,t=e.length;nf+W||Ih+W||wp.index){var q=f-O.x-O.vx,te=h-O.y-O.vy,K=q*q+te*te;Kc.r&&(c.r=c[u].r)}function l(){if(n){var c,d,u=n.length;for(t=new Array(u),c=0;c=s)){(f.data!==n||f.next)&&(0===_&&(A+=(_=Jf(t))*_),0===v&&(A+=(v=Jf(t))*v),A[n(S,I,a),S]));for(m=0,s=new Array(_);mn(i,t):n)}function W$e(e){var n=0,t=e.children,i=t&&t.length;if(i)for(;--i>=0;)n+=t[i].value;else n=1;e.value=n}function Gk(e,n){e instanceof Map?(e=[void 0,e],void 0===n&&(n=uUe)):void 0===n&&(n=cUe);for(var i,o,a,s,l,t=new R_(e),r=[t];i=r.pop();)if((a=n(i.data))&&(l=(a=Array.from(a)).length))for(i.children=a,s=l-1;s>=0;--s)r.push(o=a[s]=new R_(a[s])),o.parent=i,o.depth=i.depth+1;return t.eachBefore($re)}function cUe(e){return e.children}function uUe(e){return Array.isArray(e)?e[1]:null}function dUe(e){void 0!==e.data.value&&(e.value=e.data.value),e.data=e.data.data}function $re(e){var n=0;do{e.height=n}while((e=e.parent)&&e.height<++n)}function R_(e){this.data=e,this.depth=this.height=0,this.parent=null}function XF(e){return null==e?null:Ure(e)}function Ure(e){if("function"!=typeof e)throw new Error;return e}function tm(){return 0}function L_(e){return function(){return e}}Hk.Definition={type:"Force",metadata:{modifies:!0},params:[{name:"static",type:"boolean",default:!1},{name:"restart",type:"boolean",default:!1},{name:"iterations",type:"number",default:300},{name:"alpha",type:"number",default:1},{name:"alphaMin",type:"number",default:.001},{name:"alphaTarget",type:"number",default:0},{name:"velocityDecay",type:"number",default:.4},{name:"forces",type:"param",array:!0,params:[{key:{force:"center"},params:[{name:"x",type:"number",default:0},{name:"y",type:"number",default:0}]},{key:{force:"collide"},params:[{name:"radius",type:"number",expr:!0},{name:"strength",type:"number",default:.7},{name:"iterations",type:"number",default:1}]},{key:{force:"nbody"},params:[{name:"strength",type:"number",default:-30,expr:!0},{name:"theta",type:"number",default:.9},{name:"distanceMin",type:"number",default:1},{name:"distanceMax",type:"number"}]},{key:{force:"link"},params:[{name:"links",type:"data"},{name:"id",type:"field"},{name:"distance",type:"number",default:30,expr:!0},{name:"strength",type:"number",expr:!0},{name:"iterations",type:"number",default:1}]},{key:{force:"x"},params:[{name:"strength",type:"number",default:.1},{name:"x",type:"field"}]},{key:{force:"y"},params:[{name:"strength",type:"number",default:.1},{name:"y",type:"field"}]}]},{name:"as",type:"string",array:!0,modify:!1,default:Vre}]},Ze(Hk,be,{transform(e,n){var t=this.value,i=n.changed(n.ADD_REM),r=e.modified(Ok),o=e.iterations||300;if(t?(i&&(n.modifies("index"),t.nodes(n.source)),(r||n.changed(n.MOD))&&zre(t,e,0,n)):(this.value=t=function z$e(e,n){const t=function P$e(e){var n,t=1,i=.001,r=1-Math.pow(i,1/300),o=0,a=.6,s=new Map,l=eR(d),c=Y6("tick","end"),u=function I$e(){let e=1;return()=>(e=(D$e*e+E$e)%Gre)/Gre}();function d(){p(),c.call("tick",n),t1?(null==m?s.delete(g):s.set(g,h(m)),n):s.get(g)},find:function(g,m,_){var A,S,I,w,O,v=0,C=e.length;for(null==_?_=1/0:_*=_,v=0;v1?(c.on(g,m),n):c.on(g)}}}(e),i=t.stop,r=t.restart;let o=!1;return t.stopped=()=>o,t.restart=()=>(o=!1,r()),t.stop=()=>(o=!0,i()),zre(t,n,!0).on("end",()=>o=!0)}(n.source,e),t.on("tick",function V$e(e,n){return()=>e.touch(n).run()}(n.dataflow,this)),e.static||(i=!0,t.tick()),n.modifies("index")),r||i||e.modified(Y$e)||n.changed()&&e.restart)if(t.alpha(Math.max(t.alpha(),e.alpha||1)).alphaDecay(1-Math.pow(t.alphaMin(),1/o)),e.static)for(t.stop();--o>=0;)t.tick();else if(t.stopped()&&t.restart(),!i)return n.StopPropagation;return this.finish(e,n)},finish(e,n){const t=n.dataflow;for(let u,s=this._argops,l=0,c=s.length;l=0;--o)i.push(r[o]);return this},find:function Q$e(e,n){let t=-1;for(const i of this)if(e.call(n,i,++t,this))return i},sum:function J$e(e){return this.eachAfter(function(n){for(var t=+e(n.data)||0,i=n.children,r=i&&i.length;--r>=0;)t+=i[r].value;n.value=t})},sort:function eUe(e){return this.eachBefore(function(n){n.children&&n.children.sort(e)})},path:function tUe(e){for(var n=this,t=function nUe(e,n){if(e===n)return e;var t=e.ancestors(),i=n.ancestors(),r=null;for(e=t.pop(),n=i.pop();e===n;)r=e,e=t.pop(),n=i.pop();return r}(n,e),i=[n];n!==t;)i.push(n=n.parent);for(var r=i.length;e!==t;)i.splice(r,0,e),e=e.parent;return i},ancestors:function iUe(){for(var e=this,n=[e];e=e.parent;)n.push(e);return n},descendants:function rUe(){return Array.from(this)},leaves:function oUe(){var e=[];return this.eachBefore(function(n){n.children||e.push(n)}),e},links:function aUe(){var e=this,n=[];return e.each(function(t){t!==e&&n.push({source:t.parent,target:t})}),n},copy:function lUe(){return Gk(this).eachBefore(dUe)},[Symbol.iterator]:function*sUe(){var n,i,r,o,e=this,t=[e];do{for(n=t.reverse(),t=[];e=n.pop();)if(yield e,i=e.children)for(r=0,o=i.length;r0&&t*t>i*i+r*r}function Bk(e,n){for(var t=0;t1e-6?(q+Math.sqrt(q*q-4*W*te))/(2*W):te/q);return{x:i+I+w*K,y:r+O+B*K,r:K}}function Zre(e,n,t){var r,o,s,l,i=e.x-n.x,a=e.y-n.y,c=i*i+a*a;c?(o=n.r+t.r,l=e.r+t.r,(o*=o)>(l*=l)?(r=(c+l-o)/(2*c),s=Math.sqrt(Math.max(0,l/c-r*r)),t.x=e.x-r*i-s*a,t.y=e.y-r*a+s*i):(r=(c+o-l)/(2*c),s=Math.sqrt(Math.max(0,o/c-r*r)),t.x=n.x+r*i-s*a,t.y=n.y+r*a+s*i)):(t.x=n.x+t.r,t.y=n.y)}function Xre(e,n){var t=e.r+n.r-1e-6,i=n.x-e.x,r=n.y-e.y;return t>0&&t*t>i*i+r*r}function Qre(e){var n=e._,t=e.next._,i=n.r+t.r,r=(n.x*t.r+t.x*n.r)/i,o=(n.y*t.r+t.y*n.r)/i;return r*r+o*o}function JF(e){this._=e,this.next=null,this.previous=null}function Jre(e,n){if(!(o=(e=function gUe(e){return"object"==typeof e&&"length"in e?e:Array.from(e)}(e)).length))return 0;var t,i,r,o,a,s,l,c,u,d,p;if((t=e[0]).x=0,t.y=0,!(o>1))return t.r;if(t.x=-(i=e[1]).r,i.x=t.r,i.y=0,!(o>2))return t.r+i.r;Zre(i,t,r=e[2]),t=new JF(t),i=new JF(i),r=new JF(r),t.next=r.previous=i,i.next=t.previous=r,r.next=i.previous=t;e:for(l=3;lfunction xUe(e){let n=(e=`${e}`).length;return zk(e,n-1)&&!zk(e,n-2)&&(e=e.slice(0,-1)),"/"===e[0]?e:`/${e}`}(t(A,S,r))),v=_.map(ooe),C=new Set(_).add("");for(const A of v)C.has(A)||(C.add(A),_.push(A),v.push(ooe(A)),o.push(Vk));a=(A,S)=>_[S],s=(A,S)=>v[S]}for(u=0,l=o.length;u=0&&(f=o[_]).data===Vk;--_)f.data=null}if(d.parent=AUe,d.eachBefore(function(_){_.depth=_.parent.depth+1,--l}).eachBefore($re),d.parent=null,l>0)throw new Error("cycle");return d}return i.id=function(r){return arguments.length?(e=XF(r),i):e},i.parentId=function(r){return arguments.length?(n=XF(r),i):n},i.path=function(r){return arguments.length?(t=XF(r),i):t},i}function ooe(e){let n=e.length;if(n<2)return"";for(;--n>1&&!zk(e,n););return e.slice(0,n)}function zk(e,n){if("/"===e[n]){let t=0;for(;n>0&&"\\"===e[--n];)++t;if(!(1&t))return!0}return!1}function FUe(e,n){return e.parent===n.parent?1:2}function $k(e){var n=e.children;return n?n[0]:e.t}function Uk(e){var n=e.children;return n?n[n.length-1]:e.t}function DUe(e,n,t){var i=t/(n.i-e.i);n.c-=i,n.s+=t,e.c+=i,n.z+=t,n.m+=t}function IUe(e,n,t){return e.a.parent===n.parent?e.a:t}function e3(e,n){this._=e,this.parent=null,this.children=null,this.A=null,this.a=this,this.z=0,this.m=0,this.c=0,this.s=0,this.t=null,this.i=n}function MUe(e,n){return e.parent===n.parent?1:2}function PUe(e,n){return e+n.x}function OUe(e,n){return Math.max(e,n.y)}function t3(e,n,t,i,r){for(var a,o=e.children,s=-1,l=o.length,c=e.value&&(r-t)/e.value;++sv&&(v=c),I=m*m*S,(C=Math.max(v/I,I/_))>A){m-=c;break}A=C}a.push(l={value:m,dice:f1?i:1)},t}(aoe),zUe=function e(n){function t(i,r,o,a,s){if((l=i._squarify)&&l.ratio===n)for(var l,c,u,d,f,p=-1,h=l.length,g=i.value;++p1?i:1)},t}(aoe);function jk(e,n,t){const i={};return e.each(r=>{const o=r.data;t(o)&&(i[n(o)]=r)}),e.lookup=i,e}function Wk(e){be.call(this,null,e)}Wk.Definition={type:"Nest",metadata:{treesource:!0,changes:!0},params:[{name:"keys",type:"field",array:!0},{name:"generate",type:"boolean"}]};const UUe=e=>e.values;function jUe(){const e=[],n={entries:r=>i(t(r,0),0),key:r=>(e.push(r),n)};function t(r,o){if(o>=e.length)return r;const a=r.length,s=e[o++],l={},c={};let d,p,f,u=-1;for(;++ue.length)return r;const a=[];for(const s in r)a.push({key:s,values:i(r[s],o)});return a}return n}function hp(e){be.call(this,null,e)}Ze(Wk,be,{transform(e,n){n.source||xe("Nest transform requires an upstream data source.");var t=e.generate,i=e.modified(),r=n.clone(),o=this.value;return(!o||i||n.changed())&&(o&&o.each(a=>{a.children&&ox(a.data)&&r.rem.push(a.data)}),this.value=o=Gk({values:nt(e.keys).reduce((a,s)=>(a.key(s),a),jUe()).entries(r.source)},UUe),t&&o.each(a=>{a.children&&(a=ei(a.data),r.add.push(a),r.source.push(a))}),jk(o,Pt,Pt)),r.source.root=o,r}});const WUe=(e,n)=>e.parent===n.parent?1:2;Ze(hp,be,{transform(e,n){(!n.source||!n.source.root)&&xe(this.constructor.name+" transform requires a backing tree data source.");const t=this.layout(e.method),i=this.fields,r=n.source.root,o=e.as||i;e.field?r.sum(e.field):r.count(),e.sort&&r.sort(Yg(e.sort,a=>a.data)),function qUe(e,n,t){for(let i,r=0,o=n.length;rfunction KUe(e,n,t){const i=e.data,r=n.length-1;for(let o=0;o(e=(pUe*e+fUe)%jre)/jre}();return o.x=n/2,o.y=t/2,e?o.eachBefore(eoe(e)).eachAfter(Yk(i,.5,a)).eachBefore(toe(1)):o.eachBefore(eoe(TUe)).eachAfter(Yk(tm,1,a)).eachAfter(Yk(i,o.r/Math.min(n,t),a)).eachBefore(toe(Math.min(n,t)/(2*o.r))),o}return r.radius=function(o){return arguments.length?(e=XF(o),r):e},r.size=function(o){return arguments.length?(n=+o[0],t=+o[1],r):[n,t]},r.padding=function(o){return arguments.length?(i="function"==typeof o?o:L_(+o),r):i},r},params:["radius","size","padding"],fields:qk});const Zk=["x0","y0","x1","y1","depth","children"];function Xk(e){hp.call(this,e)}function Qk(e){be.call(this,null,e)}Xk.Definition={type:"Partition",metadata:{tree:!0,modifies:!0},params:[{name:"field",type:"field"},{name:"sort",type:"compare"},{name:"padding",type:"number",default:0},{name:"round",type:"boolean",default:!1},{name:"size",type:"number",array:!0,length:2},{name:"as",type:"string",array:!0,length:Zk.length,default:Zk}]},Ze(Xk,hp,{layout:function bUe(){var e=1,n=1,t=0,i=!1;function r(a){var s=a.height+1;return a.x0=a.y0=t,a.x1=e,a.y1=n/s,a.eachBefore(function o(a,s){return function(l){l.children&&nb(l,l.x0,a*(l.depth+1)/s,l.x1,a*(l.depth+2)/s);var c=l.x0,u=l.y0,d=l.x1-t,p=l.y1-t;d=0;--a)i.push(r=t.children[a]=new e3(o[a],a)),r.parent=t;return(n.parent=new e3(null,0)).children=[n],n}(c);if(u.eachAfter(o),u.parent.m=-u.z,u.eachBefore(a),i)c.eachBefore(l);else{var d=c,p=c,f=c;c.eachBefore(function(v){v.xp.x&&(p=v),v.depth>f.depth&&(f=v)});var h=d===p?1:e(d,p)/2,g=h-d.x,m=n/(p.x+h+g),_=t/(f.depth||1);c.eachBefore(function(v){v.x=(v.x+g)*m,v.y=v.depth*_})}return c}function o(c){var u=c.children,d=c.parent.children,p=c.i?d[c.i-1]:null;if(u){!function EUe(e){for(var o,n=0,t=0,i=e.children,r=i.length;--r>=0;)(o=i[r]).z+=n,o.m+=n,n+=o.s+(t+=o.c)}(c);var f=(u[0].z+u[u.length-1].z)/2;p?(c.z=p.z+e(c._,p._),c.m=c.z-f):c.z=f}else p&&(c.z=p.z+e(c._,p._));c.parent.A=function s(c,u,d){if(u){for(var A,p=c,f=c,h=u,g=p.parent.children[0],m=p.m,_=f.m,v=h.m,C=g.m;h=Uk(h),p=$k(p),h&&p;)g=$k(g),(f=Uk(f)).a=c,(A=h.z+v-p.z-m+e(h._,p._))>0&&(DUe(IUe(h,c,d),c,A),m+=A,_+=A),v+=h.m,m+=p.m,C+=g.m,_+=f.m;h&&!Uk(f)&&(f.t=h,f.m+=v-_),p&&!$k(g)&&(g.t=p,g.m+=m-C,d=c)}return d}(c,p,c.parent.A||d[0])}function a(c){c._.x=c.z+c.parent.m,c.m+=c.parent.m}function l(c){c.x*=n,c.y=c.depth*t}return r.separation=function(c){return arguments.length?(e=c,r):e},r.size=function(c){return arguments.length?(i=!1,n=+c[0],t=+c[1],r):i?null:[n,t]},r.nodeSize=function(c){return arguments.length?(i=!0,n=+c[0],t=+c[1],r):i?[n,t]:null},r},cluster:function BUe(){var e=MUe,n=1,t=1,i=!1;function r(o){var a,s=0;o.eachAfter(function(p){var f=p.children;f?(p.x=function kUe(e){return e.reduce(PUe,0)/e.length}(f),p.y=function NUe(e){return 1+e.reduce(OUe,0)}(f)):(p.x=a?s+=e(p,a):0,p.y=0,a=p)});var l=function HUe(e){for(var n;n=e.children;)e=n[0];return e}(o),c=function GUe(e){for(var n;n=e.children;)e=n[n.length-1];return e}(o),u=l.x-e(l,c)/2,d=c.x+e(c,l)/2;return o.eachAfter(i?function(p){p.x=(p.x-o.x)*n,p.y=(o.y-p.y)*t}:function(p){p.x=(p.x-u)/(d-u)*n,p.y=(1-(o.y?p.y/o.y:1))*t})}return r.separation=function(o){return arguments.length?(e=o,r):e},r.size=function(o){return arguments.length?(i=!1,n=+o[0],t=+o[1],r):i?null:[n,t]},r.nodeSize=function(o){return arguments.length?(i=!0,n=+o[0],t=+o[1],r):i?[n,t]:null},r}},Jk=["x","y","depth","children"];function e8(e){hp.call(this,e)}function t8(e){be.call(this,[],e)}e8.Definition={type:"Tree",metadata:{tree:!0,modifies:!0},params:[{name:"field",type:"field"},{name:"sort",type:"compare"},{name:"method",type:"enum",default:"tidy",values:["tidy","cluster"]},{name:"size",type:"number",array:!0,length:2},{name:"nodeSize",type:"number",array:!0,length:2},{name:"separation",type:"boolean",default:!0},{name:"as",type:"string",array:!0,length:Jk.length,default:Jk}]},Ze(e8,hp,{layout(e){const n=e||"tidy";if(kt(coe,n))return coe[n]();xe("Unrecognized Tree layout method: "+n)},params:["size","nodeSize"],fields:Jk}),t8.Definition={type:"TreeLinks",metadata:{tree:!0,generates:!0,changes:!0},params:[]},Ze(t8,be,{transform(e,n){const t=this.value,i=n.source&&n.source.root,r=n.fork(n.NO_SOURCE),o={};return i||xe("TreeLinks transform requires a tree data source."),n.changed(n.ADD_REM)?(r.rem=t,n.visit(n.SOURCE,a=>o[Pt(a)]=1),i.each(a=>{const s=a.data,l=a.parent&&a.parent.data;l&&o[Pt(s)]&&o[Pt(l)]&&r.add.push(ei({source:l,target:s}))}),this.value=r.add):n.changed(n.MOD)&&(n.visit(n.MOD,a=>o[Pt(a)]=1),t.forEach(a=>{(o[Pt(a.source)]||o[Pt(a.target)])&&r.mod.push(a)})),r}});const uoe={binary:function YUe(e,n,t,i,r){var a,l,o=e.children,s=o.length,c=new Array(s+1);for(c[0]=l=a=0;a=p-1){var v=o[d];return v.x0=h,v.y0=g,v.x1=m,void(v.y1=_)}for(var C=c[d],A=f/2+C,S=d+1,I=p-1;S>>1;c[w]_-g){var W=f?(h*B+m*O)/f:m;u(d,S,O,h,g,W,_),u(S,p,B,W,g,m,_)}else{var q=f?(g*B+_*O)/f:_;u(d,S,O,h,g,m,q),u(S,p,B,h,q,m,_)}}(0,s,e.value,n,t,i,r)},dice:nb,slice:t3,slicedice:function VUe(e,n,t,i,r){(1&e.depth?t3:nb)(e,n,t,i,r)},squarify:loe,resquarify:zUe},n8=["x0","y0","x1","y1","depth","children"];function r8(e){hp.call(this,e)}r8.Definition={type:"Treemap",metadata:{tree:!0,modifies:!0},params:[{name:"field",type:"field"},{name:"sort",type:"compare"},{name:"method",type:"enum",default:"squarify",values:["squarify","resquarify","binary","dice","slice","slicedice"]},{name:"padding",type:"number",default:0},{name:"paddingInner",type:"number",default:0},{name:"paddingOuter",type:"number",default:0},{name:"paddingTop",type:"number",default:0},{name:"paddingRight",type:"number",default:0},{name:"paddingBottom",type:"number",default:0},{name:"paddingLeft",type:"number",default:0},{name:"ratio",type:"number",default:1.618033988749895},{name:"round",type:"boolean",default:!1},{name:"size",type:"number",array:!0,length:2},{name:"as",type:"string",array:!0,length:n8.length,default:n8}]},Ze(r8,hp,{layout(){const e=function $Ue(){var e=loe,n=!1,t=1,i=1,r=[0],o=tm,a=tm,s=tm,l=tm,c=tm;function u(p){return p.x0=p.y0=0,p.x1=t,p.y1=i,p.eachBefore(d),r=[0],n&&p.eachBefore(noe),p}function d(p){var f=r[p.depth],h=p.x0+f,g=p.y0+f,m=p.x1-f,_=p.y1-f;m{const t=e.tile();t.ratio&&e.tile(t.ratio(n))},e.method=n=>{kt(uoe,n)?e.tile(uoe[n]):xe("Unrecognized Treemap layout method: "+n)},e},params:["method","ratio","size","round","padding","paddingInner","paddingOuter","paddingTop","paddingRight","paddingBottom","paddingLeft"],fields:n8});const o8=4278190080;function a8(e,n,t){return new Uint32Array(e.getImageData(0,0,n,t).data.buffer)}function n3(e,n,t){if(!n.length)return;const i=n[0].mark.marktype;"group"===i?n.forEach(r=>{r.items.forEach(o=>n3(e,o.items,t))}):js[i].draw(e,{items:t?n.map(QUe):n})}function QUe(e){const n=ax(e,{});return n.stroke&&0!==n.strokeOpacity||n.fill&&0!==n.fillOpacity?{...n,strokeOpacity:1,stroke:"#000",fillOpacity:0}:n}const gp=5,Pa=31,ib=32,eh=new Uint32Array(ib+1),Ic=new Uint32Array(ib+1);Ic[0]=0,eh[0]=~Ic[0];for(let e=1;e<=ib;++e)Ic[e]=Ic[e-1]<<1|1,eh[e]=~Ic[e];function r3(e,n,t,i,r,o){let a=t/2;return e-a<0||e+a>r||n-(a=i/2)<0||n+a>o}function th(e,n,t,i,r,o,a,s){const l=r*o/(2*i),c=e(n-l),u=e(n+l),d=e(t-(o/=2)),p=e(t+o);return a.outOfBounds(c,d,u,p)||a.getRange(c,d,u,p)||s&&s.getRange(c,d,u,p)}const ije=[-1,-1,1,1],rje=[-1,1,-1,1],aje=["right","center","left"],sje=["bottom","middle","top"];function doe(e,n,t,i,r,o,a,s,l,c,u,d){return!(r.outOfBounds(e,t,n,i)||(d&&o||r).getRange(e,t,n,i))}const cje={"top-left":0,top:1,"top-right":2,left:4,middle:5,right:6,"bottom-left":8,bottom:9,"bottom-right":10},uje={naive:function tje(e,n,t,i){const r=e.width,o=e.height;return function(a){const s=a.datum.datum.items[i].items,l=s.length,c=a.datum.fontSize,u=Us.width(a.datum,a.datum.text);let p,f,h,g,m,_,v,d=0;for(let C=0;C=d&&(d=v,a.x=m,a.y=_);return m=u/2,_=c/2,p=a.x-m,f=a.x+m,h=a.y-_,g=a.y+_,a.align="center",p<0&&f<=r?a.align="left":0<=p&&r=1;)v=(m+_)/2,th(e,h,g,f,p,v,a,s)?_=v:m=v;if(m>d)return[h,g,m,!0]}}return function(c){const u=c.datum.datum.items[i].items,d=u.length,p=c.datum.fontSize,f=Us.width(c.datum,c.datum.text);let v,C,A,S,I,w,O,B,W,q,te,K,F,M,L,Y,P,h=t?p:0,g=!1,m=!1,_=0;for(let $=0;$C&&(P=v,v=C,C=P),A>S&&(P=A,A=S,S=P),W=e(v),te=e(C),q=~~((W+te)/2),K=e(A),M=e(S),F=~~((K+M)/2),O=q;O>=W;--O)for(B=F;B>=K;--B)Y=l(O,B,h,f,p),Y&&([c.x,c.y,h,g]=Y);for(O=q;O<=te;++O)for(B=F;B<=M;++B)Y=l(O,B,h,f,p),Y&&([c.x,c.y,h,g]=Y);!g&&!t&&(L=Math.abs(C-v+S-A),I=(v+C)/2,w=(A+S)/2,L>=_&&!r3(I,w,f,p,r,o)&&!th(e,I,w,p,f,p,a,null)&&(_=L,c.x=I,c.y=w,m=!0))}return!(!g&&!m||(I=f/2,w=p/2,a.setRange(e(c.x-I),e(c.y-w),e(c.x+I),e(c.y+w)),c.align="center",c.baseline="middle",0))}},floodfill:function oje(e,n,t,i){const r=e.width,o=e.height,a=n[0],s=n[1],l=e.bitmap();return function(c){const u=c.datum.datum.items[i].items,d=u.length,p=c.datum.fontSize,f=Us.width(c.datum,c.datum.text),h=[];let C,A,S,I,w,O,B,W,q,te,K,F,g=t?p:0,m=!1,_=!1,v=0;for(let M=0;M=1;)K=(q+te)/2,th(e,w,O,p,f,K,a,s)?te=K:q=K;q>g&&(c.x=w,c.y=O,g=q,m=!0)}}!m&&!t&&(F=Math.abs(A-C+I-S),w=(C+A)/2,O=(S+I)/2,F>=v&&!r3(w,O,f,p,r,o)&&!th(e,w,O,p,f,p,a,null)&&(v=F,c.x=w,c.y=O,_=!0))}return!(!m&&!_||(w=f/2,O=p/2,a.setRange(e(c.x-w),e(c.y-O),e(c.x+w),e(c.y+O)),c.align="center",c.baseline="middle",0))}}};function dje(e,n,t,i,r,o,a,s,l,c,u){if(!e.length)return e;const d=Math.max(i.length,r.length),p=function pje(e,n){const t=new Float64Array(n),i=e.length;for(let r=0;r[o.x,o.x,o.x,o.y,o.y,o.y];return e?"line"===e||"area"===e?o=>r(o.datum):"line"===n?o=>{const a=o.datum.items[i].items;return r(a.length?a["start"===t?0:a.length-1]:{x:NaN,y:NaN})}:o=>{const a=o.datum.bounds;return[a.x1,(a.x1+a.x2)/2,a.x2,a.y1,(a.y1+a.y2)/2,a.y2]}:r}(h,g,s,l),v=null===c||c===1/0,C=m&&"naive"===u;let A=-1,S=-1;const I=e.map(W=>{const q=v?Us.width(W,W.text):void 0;return A=Math.max(A,q),S=Math.max(S,W.fontSize),{datum:W,opacity:0,x:void 0,y:void 0,align:void 0,baseline:void 0,boundary:_(W),textWidth:q}});c=null===c||c===1/0?Math.max(A,S)+Math.max(...i):c;const w=function eje(e,n,t){const i=Math.max(1,Math.sqrt(e*n/1e6)),r=~~((e+2*t+i)/i),o=~~((n+2*t+i)/i),a=s=>~~((s+t)/i);return a.invert=s=>s*i-t,a.bitmap=()=>function JUe(e,n){const t=new Uint32Array(~~((e*n+ib)/ib));function i(o,a){t[o]|=a}function r(o,a){t[o]&=a}return{array:t,get:(o,a)=>{const s=a*e+o;return t[s>>>gp]&1<<(s&Pa)},set:(o,a)=>{const s=a*e+o;i(s>>>gp,1<<(s&Pa))},clear:(o,a)=>{const s=a*e+o;r(s>>>gp,~(1<<(s&Pa)))},getRange:(o,a,s,l)=>{let u,d,p,f,c=l;for(;c>=a;--c)if(u=c*e+o,d=c*e+s,p=u>>>gp,f=d>>>gp,p===f){if(t[p]&eh[u&Pa]&Ic[1+(d&Pa)])return!0}else{if(t[p]&eh[u&Pa]||t[f]&Ic[1+(d&Pa)])return!0;for(let h=p+1;h{let c,u,d,p,f;for(;a<=l;++a)if(c=a*e+o,u=a*e+s,d=c>>>gp,p=u>>>gp,d===p)i(d,eh[c&Pa]&Ic[1+(u&Pa)]);else for(i(d,eh[c&Pa]),i(p,Ic[1+(u&Pa)]),f=d+1;f{let c,u,d,p,f;for(;a<=l;++a)if(c=a*e+o,u=a*e+s,d=c>>>gp,p=u>>>gp,d===p)r(d,Ic[c&Pa]|eh[1+(u&Pa)]);else for(r(d,Ic[c&Pa]),r(p,eh[1+(u&Pa)]),f=d+1;fo<0||a<0||l>=n||s>=e}}(r,o),a.ratio=i,a.padding=t,a.width=e,a.height=n,a}(n[0],n[1],c);let O;if(!C){t&&I.sort((te,K)=>t(te.datum,K.datum));let W=!1;for(let te=0;tete.datum);O=o.length||q?function XUe(e,n,t,i,r){const o=e.width,a=e.height,s=i||r,l=Hf(o,a).getContext("2d"),c=Hf(o,a).getContext("2d"),u=s&&Hf(o,a).getContext("2d");t.forEach(O=>n3(l,O,!1)),n3(c,n,!1),s&&n3(u,n,!0);const d=a8(l,o,a),p=a8(c,o,a),f=s&&a8(u,o,a),h=e.bitmap(),g=s&&e.bitmap();let m,_,v,C,A,S,I,w;for(_=0;_t.set(e(i.boundary[0]),e(i.boundary[3]))),[t,void 0]}(w,a&&I)}const B=m?uje[u](w,O,a,l):function lje(e,n,t,i){const r=e.width,o=e.height,a=n[0],s=n[1],l=i.length;return function(c){const u=c.boundary,d=c.datum.fontSize;if(u[2]<0||u[5]<0||u[0]>r||u[3]>o)return!1;let f,h,g,m,_,v,C,A,S,I,w,O,B,W,q,p=c.textWidth??0;for(let te=0;te>>2&3)-1,g=0===f&&0===h||i[te]<0,m=f&&h?Math.SQRT1_2:1,_=i[te]<0?-1:1,v=u[1+f]+i[te]*f*m,w=u[4+h]+_*d*h/2+i[te]*h*m,A=w-d/2,S=w+d/2,O=e(v),W=e(A),q=e(S),!p){if(!doe(O,O,W,q,a,s,0,0,0,0,0,g))continue;p=Us.width(c.datum,c.datum.text)}if(I=v+_*p*f/2,v=I-p/2,C=I+p/2,O=e(v),B=e(C),doe(O,B,W,q,a,s,0,0,0,0,0,g))return c.x=f?f*_<0?C:v:I,c.y=h?h*_<0?S:A:w,c.align=aje[f*_+1],c.baseline=sje[h*_+1],a.setRange(O,W,B,q),!0}return!1}}(w,O,f,p);return I.forEach(W=>W.opacity=+B(W)),I}const f8=["x","y","opacity","align","baseline"],poe=["top-left","left","bottom-left","top","bottom","top-right","right","bottom-right"];function h8(e){be.call(this,null,e)}function foe(e,n){var r,o,a,s,l,c,t=[],i=function(u){return u(s)};if(null==n)t.push(e);else for(r={},o=0,a=e.length;o{const a=o.datum;a[r[0]]=o.x,a[r[1]]=o.y,a[r[2]]=o.opacity,a[r[3]]=o.align,a[r[4]]=o.baseline}),n.reflow(i).modifies(r)}}),g8.Definition={type:"Loess",metadata:{generates:!0},params:[{name:"x",type:"field",required:!0},{name:"y",type:"field",required:!0},{name:"groupby",type:"field",array:!0},{name:"bandwidth",type:"number",default:.3},{name:"as",type:"string",array:!0}]},Ze(g8,be,{transform(e,n){const t=n.fork(n.NO_SOURCE|n.NO_FIELDS);if(!this.value||n.changed()||e.modified()){const r=foe(n.materialize(n.SOURCE).source,e.groupby),o=(e.groupby||[]).map(dr),a=o.length,s=e.as||[dr(e.x),dr(e.y)],l=[];r.forEach(c=>{cJ(c,e.x,e.y,e.bandwidth||.3).forEach(u=>{const d={};for(let p=0;p"poly"===e?n:"quad"===e?2:1)(a,s),c=e.as||[dr(e.x),dr(e.y)],u=m8[a],d=[];let p=e.extent;kt(m8,a)||xe("Invalid regression method: "+a),null!=p&&"log"===a&&p[0]<=0&&(n.dataflow.warn("Ignoring extent with values <= 0 for log regression."),p=null),r.forEach(f=>{if(f.length<=l)return void n.dataflow.warn("Skipping regression with more parameters than data points.");const g=u(f,e.x,e.y,s);if(e.params)return void d.push(ei({keys:f.dims,coef:g.coef,rSquared:g.rSquared}));const m=p||Pu(f,e.x),_=v=>{const C={};for(let A=0;A_([v,g.predict(v)])):yx(g.predict,m,25,200).forEach(_)}),this.value&&(t.rem=this.value),this.value=t.add=t.source=d}return t}});const ii=11102230246251565e-32,qr=134217729,yje=(3+8*ii)*ii;function rb(e,n,t,i,r){let o,a,s,l,c=n[0],u=i[0],d=0,p=0;u>c==u>-c?(o=c,c=n[++d]):(o=u,u=i[++p]);let f=0;if(dc==u>-c?(a=c+o,s=o-(a-c),c=n[++d]):(a=u+o,s=o-(a-u),u=i[++p]),o=a,0!==s&&(r[f++]=s);dc==u>-c?(a=o+c,l=a-o,s=o-(a-l)+(c-l),c=n[++d]):(a=o+u,l=a-o,s=o-(a-l)+(u-l),u=i[++p]),o=a,0!==s&&(r[f++]=s);for(;d=vje*c?l:-function bje(e,n,t,i,r,o,a){let s,l,c,u,d,p,f,h,g,m,_,v,C,A,S,I,w,O;const B=e-r,W=t-r,q=n-o,te=i-o;A=B*te,p=qr*B,f=p-(p-B),h=B-f,p=qr*te,g=p-(p-te),m=te-g,S=h*m-(A-f*g-h*g-f*m),I=q*W,p=qr*q,f=p-(p-q),h=q-f,p=qr*W,g=p-(p-W),m=W-g,w=h*m-(I-f*g-h*g-f*m),_=S-w,d=S-_,M_[0]=S-(_+d)+(d-w),v=A+_,d=v-A,C=A-(v-d)+(_-d),_=C-I,d=C-_,M_[1]=C-(_+d)+(d-I),O=v+_,d=O-v,M_[2]=v-(O-d)+(_-d),M_[3]=O;let K=function _je(e,n){let t=n[0];for(let i=1;i=F||-K>=F||(d=e-B,s=e-(B+d)+(d-r),d=t-W,c=t-(W+d)+(d-r),d=n-q,l=n-(q+d)+(d-o),d=i-te,u=i-(te+d)+(d-o),0===s&&0===l&&0===c&&0===u)||(F=Cje*a+yje*Math.abs(K),K+=B*u+te*s-(q*c+W*l),K>=F||-K>=F))return K;A=s*te,p=qr*s,f=p-(p-s),h=s-f,p=qr*te,g=p-(p-te),m=te-g,S=h*m-(A-f*g-h*g-f*m),I=l*W,p=qr*l,f=p-(p-l),h=l-f,p=qr*W,g=p-(p-W),m=W-g,w=h*m-(I-f*g-h*g-f*m),_=S-w,d=S-_,Na[0]=S-(_+d)+(d-w),v=A+_,d=v-A,C=A-(v-d)+(_-d),_=C-I,d=C-_,Na[1]=C-(_+d)+(d-I),O=v+_,d=O-v,Na[2]=v-(O-d)+(_-d),Na[3]=O;const M=rb(4,M_,4,Na,hoe);A=B*u,p=qr*B,f=p-(p-B),h=B-f,p=qr*u,g=p-(p-u),m=u-g,S=h*m-(A-f*g-h*g-f*m),I=q*c,p=qr*q,f=p-(p-q),h=q-f,p=qr*c,g=p-(p-c),m=c-g,w=h*m-(I-f*g-h*g-f*m),_=S-w,d=S-_,Na[0]=S-(_+d)+(d-w),v=A+_,d=v-A,C=A-(v-d)+(_-d),_=C-I,d=C-_,Na[1]=C-(_+d)+(d-I),O=v+_,d=O-v,Na[2]=v-(O-d)+(_-d),Na[3]=O;const L=rb(M,hoe,4,Na,goe);A=s*u,p=qr*s,f=p-(p-s),h=s-f,p=qr*u,g=p-(p-u),m=u-g,S=h*m-(A-f*g-h*g-f*m),I=l*c,p=qr*l,f=p-(p-l),h=l-f,p=qr*c,g=p-(p-c),m=c-g,w=h*m-(I-f*g-h*g-f*m),_=S-w,d=S-_,Na[0]=S-(_+d)+(d-w),v=A+_,d=v-A,C=A-(v-d)+(_-d),_=C-I,d=C-_,Na[1]=C-(_+d)+(d-I),O=v+_,d=O-v,Na[2]=v-(O-d)+(_-d),Na[3]=O;const Y=rb(L,goe,4,Na,moe);return moe[Y-1]}(e,n,t,i,r,o,c)}Ye(4),Ye(4),Ye(4),Ye(4),Ye(4),Ye(4),Ye(4),Ye(4),Ye(4),Ye(8),Ye(8),Ye(8),Ye(4),Ye(8),Ye(8),Ye(8),Ye(12),Ye(192),Ye(192),Ye(4),Ye(4),Ye(4),Ye(4),Ye(4),Ye(4),Ye(4),Ye(4),Ye(8),Ye(8),Ye(8),Ye(8),Ye(8),Ye(8),Ye(8),Ye(8),Ye(8),Ye(4),Ye(4),Ye(4),Ye(8),Ye(16),Ye(16),Ye(16),Ye(32),Ye(32),Ye(48),Ye(64),Ye(1152),Ye(1152),Ye(4),Ye(4),Ye(4),Ye(4),Ye(4),Ye(4),Ye(4),Ye(4),Ye(4),Ye(4),Ye(24),Ye(24),Ye(24),Ye(24),Ye(24),Ye(24),Ye(24),Ye(24),Ye(24),Ye(24),Ye(1152),Ye(1152),Ye(1152),Ye(1152),Ye(1152),Ye(2304),Ye(2304),Ye(3456),Ye(5760),Ye(8),Ye(8),Ye(8),Ye(16),Ye(24),Ye(48),Ye(48),Ye(96),Ye(192),Ye(384),Ye(384),Ye(384),Ye(768),Ye(96),Ye(96),Ye(96),Ye(1152);const Ooe=Math.pow(2,-52),g3=new Uint32Array(512);class m3{static from(n,t=Vje,i=zje){const r=n.length,o=new Float64Array(2*r);for(let a=0;a>1;if(t>0&&"number"!=typeof n[0])throw new Error("Expected coords to contain numbers.");this.coords=n;const i=Math.max(2*t-5,0);this._triangles=new Uint32Array(3*i),this._halfedges=new Int32Array(3*i),this._hashSize=Math.ceil(Math.sqrt(t)),this._hullPrev=new Uint32Array(t),this._hullNext=new Uint32Array(t),this._hullTri=new Uint32Array(t),this._hullHash=new Int32Array(this._hashSize),this._ids=new Uint32Array(t),this._dists=new Float64Array(t),this.update()}update(){const{coords:n,_hullPrev:t,_hullNext:i,_hullTri:r,_hullHash:o}=this,a=n.length>>1;let s=1/0,l=1/0,c=-1/0,u=-1/0;for(let B=0;Bc&&(c=W),q>u&&(u=q),this._ids[B]=B}const d=(s+c)/2,p=(l+u)/2;let f,h,g;for(let B=0,W=1/0;B0&&(h=B,W=q)}let v=n[2*h],C=n[2*h+1],A=1/0;for(let B=0;Bte&&(B[W++]=K,te=F)}return this.hull=B.subarray(0,W),this.triangles=new Uint32Array(0),void(this.halfedges=new Uint32Array(0))}if(o3(m,_,v,C,S,I)<0){const B=h,W=v,q=C;h=g,v=S,C=I,g=B,S=W,I=q}const w=function Yje(e,n,t,i,r,o){const a=t-e,s=i-n,l=r-e,c=o-n,u=a*a+s*s,d=l*l+c*c,p=.5/(a*c-s*l);return{x:e+(c*u-s*d)*p,y:n+(a*d-l*u)*p}}(m,_,v,C,S,I);this._cx=w.x,this._cy=w.y;for(let B=0;B0&&Math.abs(K-W)<=Ooe&&Math.abs(F-q)<=Ooe||(W=K,q=F,te===f||te===h||te===g))continue;let M=0;for(let U=0,ee=this._hashKey(K,F);U=0;)if(L=Y,L===M){L=-1;break}if(-1===L)continue;let P=this._addTriangle(L,te,i[L],-1,-1,r[L]);r[te]=this._legalize(P+2),r[L]=P,O++;let $=i[L];for(;Y=i[$],o3(K,F,n[2*$],n[2*$+1],n[2*Y],n[2*Y+1])<0;)P=this._addTriangle($,te,Y,r[te],-1,r[$]),r[te]=this._legalize(P+2),i[$]=$,O--,$=Y;if(L===M)for(;Y=t[L],o3(K,F,n[2*Y],n[2*Y+1],n[2*L],n[2*L+1])<0;)P=this._addTriangle(Y,te,L,-1,r[L],r[Y]),this._legalize(P+2),r[Y]=P,i[L]=L,O--,L=Y;this._hullStart=t[te]=L,i[L]=t[$]=te,i[te]=$,o[this._hashKey(K,F)]=te,o[this._hashKey(n[2*L],n[2*L+1])]=L}this.hull=new Uint32Array(O);for(let B=0,W=this._hullStart;B0?3-t:1+t)/4}(n-this._cx,t-this._cy)*this._hashSize)%this._hashSize}_legalize(n){const{_triangles:t,_halfedges:i,coords:r}=this;let o=0,a=0;for(;;){const s=i[n],l=n-n%3;if(a=l+(n+2)%3,-1===s){if(0===o)break;n=g3[--o];continue}const c=s-s%3,d=c+(s+2)%3,p=t[a],f=t[n],h=t[l+(n+1)%3],g=t[d];if(Gje(r[2*p],r[2*p+1],r[2*f],r[2*f+1],r[2*h],r[2*h+1],r[2*g],r[2*g+1])){t[n]=g,t[s]=p;const _=i[d];if(-1===_){let C=this._hullStart;do{if(this._hullTri[C]===d){this._hullTri[C]=n;break}C=this._hullPrev[C]}while(C!==this._hullStart)}this._link(n,_),this._link(s,i[a]),this._link(a,d),o=t&&n[e[s]]>a;)e[s+1]=e[s--];e[s+1]=o}else{let o=t+1,a=i;lb(e,t+i>>1,o),n[e[t]]>n[e[i]]&&lb(e,t,i),n[e[o]]>n[e[i]]&&lb(e,o,i),n[e[t]]>n[e[o]]&&lb(e,t,o);const s=e[o],l=n[s];for(;;){do{o++}while(n[e[o]]l);if(a=a-t?(Y_(e,n,o,i),Y_(e,n,t,a-1)):(Y_(e,n,t,a-1),Y_(e,n,o,i))}}function lb(e,n,t){const i=e[n];e[n]=e[t],e[t]=i}function Vje(e){return e[0]}function zje(e){return e[1]}class um{constructor(){this._x0=this._y0=this._x1=this._y1=null,this._=""}moveTo(n,t){this._+=`M${this._x0=this._x1=+n},${this._y0=this._y1=+t}`}closePath(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")}lineTo(n,t){this._+=`L${this._x1=+n},${this._y1=+t}`}arc(n,t,i){const r=(n=+n)+(i=+i),o=t=+t;if(i<0)throw new Error("negative radius");null===this._x1?this._+=`M${r},${o}`:(Math.abs(this._x1-r)>1e-6||Math.abs(this._y1-o)>1e-6)&&(this._+="L"+r+","+o),i&&(this._+=`A${i},${i},0,1,1,${n-i},${t}A${i},${i},0,1,1,${this._x1=r},${this._y1=o}`)}rect(n,t,i,r){this._+=`M${this._x0=this._x1=+n},${this._y0=this._y1=+t}h${+i}v${+r}h${-i}Z`}value(){return this._||null}}class $8{constructor(){this._=[]}moveTo(n,t){this._.push([n,t])}closePath(){this._.push(this._[0].slice())}lineTo(n,t){this._.push([n,t])}value(){return this._.length?this._:null}}class $je{constructor(n,[t,i,r,o]=[0,0,960,500]){if(!((r=+r)>=(t=+t)&&(o=+o)>=(i=+i)))throw new Error("invalid bounds");this.delaunay=n,this._circumcenters=new Float64Array(2*n.points.length),this.vectors=new Float64Array(2*n.points.length),this.xmax=r,this.xmin=t,this.ymax=o,this.ymin=i,this._init()}update(){return this.delaunay.update(),this._init(),this}_init(){const{delaunay:{points:n,hull:t,triangles:i},vectors:r}=this;let o,a;const s=this.circumcenters=this._circumcenters.subarray(0,i.length/3*2);for(let v,C,g=0,m=0,_=i.length;g<_;g+=3,m+=2){const A=2*i[g],S=2*i[g+1],I=2*i[g+2],w=n[A],O=n[A+1],q=n[I],te=n[I+1],K=n[S]-w,F=n[S+1]-O,M=q-w,L=te-O,Y=2*(K*L-F*M);if(Math.abs(Y)<1e-9){if(void 0===o){o=a=0;for(const $ of t)o+=n[2*$],a+=n[2*$+1];o/=t.length,a/=t.length}const P=1e9*Math.sign((o-w)*L-(a-O)*M);v=(w+q)/2-P*L,C=(O+te)/2+P*M}else{const P=1/Y,$=K*K+F*F,U=M*M+L*L;v=w+(L*$-F*U)*P,C=O+(K*U-M*$)*P}s[m]=v,s[m+1]=C}let c,d,f,l=t[t.length-1],u=4*l,p=n[2*l],h=n[2*l+1];r.fill(0);for(let g=0;g1;)o-=2;for(let a=2;a0){if(t>=this.ymax)return null;(a=(this.ymax-t)/r)0){if(n>=this.xmax)return null;(a=(this.xmax-n)/i)this.xmax?2:0)|(tthis.ymax?8:0)}_simplify(n){if(n&&n.length>4){for(let t=0;t2&&function qje(e){const{triangles:n,coords:t}=e;for(let i=0;i1e-10)return!1}return!0}(n)){this.collinear=Int32Array.from({length:t.length/2},(p,f)=>f).sort((p,f)=>t[2*p]-t[2*f]||t[2*p+1]-t[2*f+1]);const l=this.collinear[0],c=this.collinear[this.collinear.length-1],u=[t[2*l],t[2*l+1],t[2*c],t[2*c+1]],d=1e-8*Math.hypot(u[3]-u[1],u[2]-u[0]);for(let p=0,f=t.length/2;p0&&(this.triangles=new Int32Array(3).fill(-1),this.halfedges=new Int32Array(3).fill(-1),this.triangles[0]=r[0],a[r[0]]=1,2===r.length&&(a[r[1]]=0,this.triangles[1]=r[1],this.triangles[2]=r[1]))}voronoi(n){return new $je(this,n)}*neighbors(n){const{inedges:t,hull:i,_hullIndex:r,halfedges:o,triangles:a,collinear:s}=this;if(s){const d=s.indexOf(n);return d>0&&(yield s[d-1]),void(d=0&&o!==i&&o!==r;)i=o;return o}_step(n,t,i){const{inedges:r,hull:o,_hullIndex:a,halfedges:s,triangles:l,points:c}=this;if(-1===r[n]||!c.length)return(n+1)%(c.length>>1);let u=n,d=V_(t-c[2*n],2)+V_(i-c[2*n+1],2);const p=r[n];let f=p;do{let h=l[f];const g=V_(t-c[2*h],2)+V_(i-c[2*h+1],2);if(g>5<<5,p=~~Math.max(Math.abs(v+C),Math.abs(v-C))}else u=u+31>>5<<5;if(p>l&&(l=p),a+u>=cb<<5&&(a=0,s+=l,l=0),s+p>=y3)break;r.translate((a+(u>>1))/o,(s+(p>>1))/o),n.rotate&&r.rotate(n.rotate*W8),r.fillText(n.text,0,0),n.padding&&(r.lineWidth=2*n.padding,r.strokeText(n.text,0,0)),r.restore(),n.width=u,n.height=p,n.xoff=a,n.yoff=s,n.x1=u>>1,n.y1=p>>1,n.x0=-n.x1,n.y0=-n.y1,n.hasText=!0,a+=u}for(var S=r.getImageData(0,0,(cb<<5)/o,y3/o).data,I=[];--i>=0;)if((n=t[i]).hasText){for(d=(u=n.width)>>5,p=n.y1-n.y0,f=0;f>5)]|=W,w|=W}w?O=h:(n.y0++,p--,h--,s++)}n.y1=n.y0+O,n.sprite=I.slice(0,(n.y1-n.y0)*d)}}}function iWe(e,n,t){for(var u,i=e.sprite,r=e.width>>5,o=e.x-(r<<4),a=127&o,s=32-a,l=e.y1-e.y0,c=(e.y+e.y0)*(t>>=5)+(o>>5),d=0;d>>a:0))&n[c+p])return!0;c+=t}return!1}function rWe(e,n){var t=e[0],i=e[1];n.x+n.x0i.x&&(i.x=n.x+n.x1),n.y+n.y1>i.y&&(i.y=n.y+n.y1)}function oWe(e,n){return e.x+e.x1>n[0].x&&e.x+e.x0n[0].y&&e.y+e.y0=C));)if(g.x=_+O,g.y=v+B,!(g.x+g.x0<0||g.y+g.y0<0||g.x+g.x1>e[0]||g.y+g.y1>e[1])&&(!m||!iWe(g,h,e[0]))&&(!m||oWe(g,m))){for(var P,W=g.sprite,q=g.width>>5,te=e[0]>>5,K=g.x-(q<<4),F=127&K,M=32-F,L=g.y1-g.y0,Y=(g.y+g.y0)*te+(K>>5),$=0;$>>F:0);Y+=te}return g.sprite=null,!0}return!1}return d.layout=function(){for(var h=function p(h){h.width=h.height=1;var g=Math.sqrt(h.getContext("2d").getImageData(0,0,1,1).data.length>>2);h.width=(cb<<5)/g,h.height=y3/g;var m=h.getContext("2d");return m.fillStyle=m.strokeStyle="red",m.textAlign="center",{context:m,ratio:g}}(Hf()),g=function sWe(e){for(var n=[],t=-1;++t>5)*e[1]),m=null,_=c.length,v=-1,C=[],A=c.map(I=>({text:n(I),font:t(I),style:r(I),weight:o(I),rotate:a(I),size:~~(i(I)+1e-14),padding:s(I),xoff:0,yoff:0,x1:0,y1:0,x0:0,y0:0,hasText:!1,sprite:null,datum:I})).sort((I,w)=>w.size-I.size);++v<_;){var S=A[v];S.x=e[0]*(u()+.5)>>1,S.y=e[1]*(u()+.5)>>1,nWe(h,S,A,v),S.hasText&&f(g,S,m)&&(C.push(S),m?rWe(m,S):m=[{x:S.x+S.x0,y:S.y+S.y0},{x:S.x+S.x1,y:S.y+S.y1}],S.x-=e[0]>>1,S.y-=e[1]>>1)}return C},d.words=function(h){return arguments.length?(c=h,d):c},d.size=function(h){return arguments.length?(e=[+h[0],+h[1]],d):e},d.font=function(h){return arguments.length?(t=dm(h),d):t},d.fontStyle=function(h){return arguments.length?(r=dm(h),d):r},d.fontWeight=function(h){return arguments.length?(o=dm(h),d):o},d.rotate=function(h){return arguments.length?(a=dm(h),d):a},d.text=function(h){return arguments.length?(n=dm(h),d):n},d.spiral=function(h){return arguments.length?(l=lWe[h]||h,d):l},d.fontSize=function(h){return arguments.length?(i=dm(h),d):i},d.padding=function(h){return arguments.length?(s=dm(h),d):s},d.random=function(h){return arguments.length?(u=h,d):u},d}(),e)}q8.Definition={type:"Wordcloud",metadata:{modifies:!0},params:[{name:"size",type:"number",array:!0,length:2},{name:"font",type:"string",expr:!0,default:"sans-serif"},{name:"fontStyle",type:"string",expr:!0,default:"normal"},{name:"fontWeight",type:"string",expr:!0,default:"normal"},{name:"fontSize",type:"number",expr:!0,default:14},{name:"fontSizeRange",type:"number",array:"nullable",default:[10,50]},{name:"rotate",type:"number",expr:!0,default:0},{name:"text",type:"field"},{name:"spiral",type:"string",values:["archimedean","rectangular"]},{name:"padding",type:"number",expr:!0},{name:"as",type:"string",array:!0,length:7,default:Boe}]},Ze(q8,be,{transform(e,n){e.size&&(!e.size[0]||!e.size[1])&&xe("Wordcloud size dimensions must be non-zero.");const i=e.modified();if(!(i||n.changed(n.ADD_REM)||cWe.some(function t(h){const g=e[h];return mn(g)&&n.modified(g.fields)})))return;const r=n.materialize(n.SOURCE).source,o=this.value,a=e.as||Boe;let l,s=e.fontSize||14;if(mn(s)?l=e.fontSizeRange:s=Xo(s),l){const h=s,g=qn("sqrt")().domain(Pu(r,h)).range(l);s=m=>g(h(m))}r.forEach(h=>{h[a[0]]=NaN,h[a[1]]=NaN,h[a[3]]=0});const c=o.words(r).text(e.text).size(e.size||[500,500]).padding(e.padding||1).spiral(e.spiral||"archimedean").rotate(e.rotate||0).font(e.font||"sans-serif").fontStyle(e.fontStyle||"normal").fontWeight(e.fontWeight||"normal").fontSize(s).random(El).layout(),u=o.size(),d=u[0]>>1,p=u[1]>>1,f=c.length;for(let g,m,h=0;hnew Uint8Array(e),pWe=e=>new Uint16Array(e),ub=e=>new Uint32Array(e);function _3(e,n,t){const i=(n<257?dWe:n<65537?pWe:ub)(e);return t&&i.set(t),i}function Yoe(e,n,t){const i=1<{const r=e[t],o=e[i];return ro?1:0}),function uWe(e,n){return Array.from(n,t=>e[t])}(e,n)}(f,p),u)h=n,g=e,n=Array(u+d),e=ub(u+d),function mWe(e,n,t,i,r,o,a,s,l){let d,c=0,u=0;for(d=0;c0)for(m=0;me,size:()=>t}}function K8(e){be.call(this,function fWe(){let e=8,n=[],t=ub(0),i=_3(0,e),r=_3(0,e);return{data:()=>n,seen:()=>t=function hWe(e,n,t){return e.length>=n?e:((t=t||new e.constructor(n)).set(e),t)}(t,n.length),add(o){for(let c,a=0,s=n.length,l=o.length;an.length,curr:()=>i,prev:()=>r,reset:o=>r[o]=i[o],all:()=>e<257?255:e<65537?65535:4294967295,set(o,a){i[o]|=a},clear(o,a){i[o]&=~a},resize(o,a){(o>i.length||a>e)&&(e=Math.max(a,e),i=_3(o,e,i),r=_3(o,e))}}}(),e),this._indices=null,this._dims=null}function Z8(e){be.call(this,null,e)}K8.Definition={type:"CrossFilter",metadata:{},params:[{name:"fields",type:"field",array:!0,required:!0},{name:"query",type:"array",array:!0,required:!0,content:{type:"number",array:!0,length:2}}]},Ze(K8,be,{transform(e,n){return this._dims?e.modified("fields")||e.fields.some(i=>n.modified(i.fields))?this.reinit(e,n):this.eval(e,n):this.init(e,n)},init(e,n){const t=e.fields,i=e.query,r=this._indices={},o=this._dims=[],a=i.length;let l,c,s=0;for(;s{const o=r.remove(n,t);for(const a in i)i[a].reindex(o)})},update(e,n,t){const i=this._dims,r=e.query,o=n.stamp,a=i.length;let l,c,s=0;for(t.filters=0,c=0;cf)for(m=f,_=Math.min(d,h);m<_;++m)v=l[m],o[v]!==t&&(s[v]=a[v],o[v]=t,i.push(v)),a[v]^=g;if(p>h)for(m=Math.max(d,h),_=p;m<_;++m)v=l[m],o[v]!==t&&(s[v]=a[v],o[v]=t,i.push(v)),a[v]^=g;else if(pd)for(h=d,g=Math.min(c,p);hp)for(h=Math.max(c,p),g=u;hs[u]&t?null:a[u];return o.filter(o.MOD,c),r&r-1?(o.filter(o.ADD,u=>{const d=s[u]&t;return!d&&d^l[u]&t?a[u]:null}),o.filter(o.REM,u=>{const d=s[u]&t;return!d||d^d^l[u]&t?null:a[u]})):(o.filter(o.ADD,c),o.filter(o.REM,u=>(s[u]&t)===r?a[u]:null)),o.filter(o.SOURCE,u=>c(u._index))}});const pm="Literal",zoe="CallExpression";function Mc(e){this.type=e}Mc.prototype.visit=function(e){let n,t,i;if(e(this))return 1;for(n=function FWe(e){switch(e.type){case"ArrayExpression":return e.elements;case"BinaryExpression":case"LogicalExpression":return[e.left,e.right];case zoe:return[e.callee].concat(e.arguments);case"ConditionalExpression":return[e.test,e.consequent,e.alternate];case"MemberExpression":return[e.object,e.property];case"ObjectExpression":return e.properties;case"Property":return[e.key,e.value];case"UnaryExpression":return[e.argument];default:return[]}}(this),t=0,i=n.length;t",Zu[fm]="Identifier",Zu[sh]="Keyword",Zu[T3]="Null",Zu[hm]="Numeric",Zu[gs]="Punctuator",Zu[pb]="String",Zu[9]="RegularExpression";var EWe="ArrayExpression",IWe="BinaryExpression",RWe="CallExpression",LWe="ConditionalExpression",$oe="Identifier",MWe="Literal",kWe="LogicalExpression",PWe="MemberExpression",NWe="ObjectExpression",OWe="Property",HWe="UnaryExpression",ao="Unexpected token %0",GWe="Unexpected number",BWe="Unexpected string",YWe="Unexpected identifier",VWe="Unexpected reserved word",zWe="Unexpected end of input",X8="Invalid regular expression",Q8="Invalid regular expression: missing /",Uoe="Octal literals are not allowed in strict mode.",$We="Duplicate data property in object literal not allowed in strict mode",Eo="ILLEGAL",fb="Disabled.",UWe=new RegExp("[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0370-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0620-\\u064A\\u066E\\u066F\\u0671-\\u06D3\\u06D5\\u06E5\\u06E6\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF\\u0710\\u0712-\\u072F\\u074D-\\u07A5\\u07B1\\u07CA-\\u07EA\\u07F4\\u07F5\\u07FA\\u0800-\\u0815\\u081A\\u0824\\u0828\\u0840-\\u0858\\u08A0-\\u08B2\\u0904-\\u0939\\u093D\\u0950\\u0958-\\u0961\\u0971-\\u0980\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BD\\u09CE\\u09DC\\u09DD\\u09DF-\\u09E1\\u09F0\\u09F1\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A59-\\u0A5C\\u0A5E\\u0A72-\\u0A74\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABD\\u0AD0\\u0AE0\\u0AE1\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3D\\u0B5C\\u0B5D\\u0B5F-\\u0B61\\u0B71\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BD0\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D\\u0C58\\u0C59\\u0C60\\u0C61\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBD\\u0CDE\\u0CE0\\u0CE1\\u0CF1\\u0CF2\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D\\u0D4E\\u0D60\\u0D61\\u0D7A-\\u0D7F\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0E01-\\u0E30\\u0E32\\u0E33\\u0E40-\\u0E46\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB0\\u0EB2\\u0EB3\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EDC-\\u0EDF\\u0F00\\u0F40-\\u0F47\\u0F49-\\u0F6C\\u0F88-\\u0F8C\\u1000-\\u102A\\u103F\\u1050-\\u1055\\u105A-\\u105D\\u1061\\u1065\\u1066\\u106E-\\u1070\\u1075-\\u1081\\u108E\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u1380-\\u138F\\u13A0-\\u13F4\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176C\\u176E-\\u1770\\u1780-\\u17B3\\u17D7\\u17DC\\u1820-\\u1877\\u1880-\\u18A8\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1950-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19C1-\\u19C7\\u1A00-\\u1A16\\u1A20-\\u1A54\\u1AA7\\u1B05-\\u1B33\\u1B45-\\u1B4B\\u1B83-\\u1BA0\\u1BAE\\u1BAF\\u1BBA-\\u1BE5\\u1C00-\\u1C23\\u1C4D-\\u1C4F\\u1C5A-\\u1C7D\\u1CE9-\\u1CEC\\u1CEE-\\u1CF1\\u1CF5\\u1CF6\\u1D00-\\u1DBF\\u1E00-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2071\\u207F\\u2090-\\u209C\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CEE\\u2CF2\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D80-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2E2F\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FCC\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA61F\\uA62A\\uA62B\\uA640-\\uA66E\\uA67F-\\uA69D\\uA6A0-\\uA6EF\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA78E\\uA790-\\uA7AD\\uA7B0\\uA7B1\\uA7F7-\\uA801\\uA803-\\uA805\\uA807-\\uA80A\\uA80C-\\uA822\\uA840-\\uA873\\uA882-\\uA8B3\\uA8F2-\\uA8F7\\uA8FB\\uA90A-\\uA925\\uA930-\\uA946\\uA960-\\uA97C\\uA984-\\uA9B2\\uA9CF\\uA9E0-\\uA9E4\\uA9E6-\\uA9EF\\uA9FA-\\uA9FE\\uAA00-\\uAA28\\uAA40-\\uAA42\\uAA44-\\uAA4B\\uAA60-\\uAA76\\uAA7A\\uAA7E-\\uAAAF\\uAAB1\\uAAB5\\uAAB6\\uAAB9-\\uAABD\\uAAC0\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEA\\uAAF2-\\uAAF4\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB5F\\uAB64\\uAB65\\uABC0-\\uABE2\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D\\uFB1F-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF21-\\uFF3A\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]"),jWe=new RegExp("[\\xAA\\xB5\\xBA\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02C1\\u02C6-\\u02D1\\u02E0-\\u02E4\\u02EC\\u02EE\\u0300-\\u0374\\u0376\\u0377\\u037A-\\u037D\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03F5\\u03F7-\\u0481\\u0483-\\u0487\\u048A-\\u052F\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u0591-\\u05BD\\u05BF\\u05C1\\u05C2\\u05C4\\u05C5\\u05C7\\u05D0-\\u05EA\\u05F0-\\u05F2\\u0610-\\u061A\\u0620-\\u0669\\u066E-\\u06D3\\u06D5-\\u06DC\\u06DF-\\u06E8\\u06EA-\\u06FC\\u06FF\\u0710-\\u074A\\u074D-\\u07B1\\u07C0-\\u07F5\\u07FA\\u0800-\\u082D\\u0840-\\u085B\\u08A0-\\u08B2\\u08E4-\\u0963\\u0966-\\u096F\\u0971-\\u0983\\u0985-\\u098C\\u098F\\u0990\\u0993-\\u09A8\\u09AA-\\u09B0\\u09B2\\u09B6-\\u09B9\\u09BC-\\u09C4\\u09C7\\u09C8\\u09CB-\\u09CE\\u09D7\\u09DC\\u09DD\\u09DF-\\u09E3\\u09E6-\\u09F1\\u0A01-\\u0A03\\u0A05-\\u0A0A\\u0A0F\\u0A10\\u0A13-\\u0A28\\u0A2A-\\u0A30\\u0A32\\u0A33\\u0A35\\u0A36\\u0A38\\u0A39\\u0A3C\\u0A3E-\\u0A42\\u0A47\\u0A48\\u0A4B-\\u0A4D\\u0A51\\u0A59-\\u0A5C\\u0A5E\\u0A66-\\u0A75\\u0A81-\\u0A83\\u0A85-\\u0A8D\\u0A8F-\\u0A91\\u0A93-\\u0AA8\\u0AAA-\\u0AB0\\u0AB2\\u0AB3\\u0AB5-\\u0AB9\\u0ABC-\\u0AC5\\u0AC7-\\u0AC9\\u0ACB-\\u0ACD\\u0AD0\\u0AE0-\\u0AE3\\u0AE6-\\u0AEF\\u0B01-\\u0B03\\u0B05-\\u0B0C\\u0B0F\\u0B10\\u0B13-\\u0B28\\u0B2A-\\u0B30\\u0B32\\u0B33\\u0B35-\\u0B39\\u0B3C-\\u0B44\\u0B47\\u0B48\\u0B4B-\\u0B4D\\u0B56\\u0B57\\u0B5C\\u0B5D\\u0B5F-\\u0B63\\u0B66-\\u0B6F\\u0B71\\u0B82\\u0B83\\u0B85-\\u0B8A\\u0B8E-\\u0B90\\u0B92-\\u0B95\\u0B99\\u0B9A\\u0B9C\\u0B9E\\u0B9F\\u0BA3\\u0BA4\\u0BA8-\\u0BAA\\u0BAE-\\u0BB9\\u0BBE-\\u0BC2\\u0BC6-\\u0BC8\\u0BCA-\\u0BCD\\u0BD0\\u0BD7\\u0BE6-\\u0BEF\\u0C00-\\u0C03\\u0C05-\\u0C0C\\u0C0E-\\u0C10\\u0C12-\\u0C28\\u0C2A-\\u0C39\\u0C3D-\\u0C44\\u0C46-\\u0C48\\u0C4A-\\u0C4D\\u0C55\\u0C56\\u0C58\\u0C59\\u0C60-\\u0C63\\u0C66-\\u0C6F\\u0C81-\\u0C83\\u0C85-\\u0C8C\\u0C8E-\\u0C90\\u0C92-\\u0CA8\\u0CAA-\\u0CB3\\u0CB5-\\u0CB9\\u0CBC-\\u0CC4\\u0CC6-\\u0CC8\\u0CCA-\\u0CCD\\u0CD5\\u0CD6\\u0CDE\\u0CE0-\\u0CE3\\u0CE6-\\u0CEF\\u0CF1\\u0CF2\\u0D01-\\u0D03\\u0D05-\\u0D0C\\u0D0E-\\u0D10\\u0D12-\\u0D3A\\u0D3D-\\u0D44\\u0D46-\\u0D48\\u0D4A-\\u0D4E\\u0D57\\u0D60-\\u0D63\\u0D66-\\u0D6F\\u0D7A-\\u0D7F\\u0D82\\u0D83\\u0D85-\\u0D96\\u0D9A-\\u0DB1\\u0DB3-\\u0DBB\\u0DBD\\u0DC0-\\u0DC6\\u0DCA\\u0DCF-\\u0DD4\\u0DD6\\u0DD8-\\u0DDF\\u0DE6-\\u0DEF\\u0DF2\\u0DF3\\u0E01-\\u0E3A\\u0E40-\\u0E4E\\u0E50-\\u0E59\\u0E81\\u0E82\\u0E84\\u0E87\\u0E88\\u0E8A\\u0E8D\\u0E94-\\u0E97\\u0E99-\\u0E9F\\u0EA1-\\u0EA3\\u0EA5\\u0EA7\\u0EAA\\u0EAB\\u0EAD-\\u0EB9\\u0EBB-\\u0EBD\\u0EC0-\\u0EC4\\u0EC6\\u0EC8-\\u0ECD\\u0ED0-\\u0ED9\\u0EDC-\\u0EDF\\u0F00\\u0F18\\u0F19\\u0F20-\\u0F29\\u0F35\\u0F37\\u0F39\\u0F3E-\\u0F47\\u0F49-\\u0F6C\\u0F71-\\u0F84\\u0F86-\\u0F97\\u0F99-\\u0FBC\\u0FC6\\u1000-\\u1049\\u1050-\\u109D\\u10A0-\\u10C5\\u10C7\\u10CD\\u10D0-\\u10FA\\u10FC-\\u1248\\u124A-\\u124D\\u1250-\\u1256\\u1258\\u125A-\\u125D\\u1260-\\u1288\\u128A-\\u128D\\u1290-\\u12B0\\u12B2-\\u12B5\\u12B8-\\u12BE\\u12C0\\u12C2-\\u12C5\\u12C8-\\u12D6\\u12D8-\\u1310\\u1312-\\u1315\\u1318-\\u135A\\u135D-\\u135F\\u1380-\\u138F\\u13A0-\\u13F4\\u1401-\\u166C\\u166F-\\u167F\\u1681-\\u169A\\u16A0-\\u16EA\\u16EE-\\u16F8\\u1700-\\u170C\\u170E-\\u1714\\u1720-\\u1734\\u1740-\\u1753\\u1760-\\u176C\\u176E-\\u1770\\u1772\\u1773\\u1780-\\u17D3\\u17D7\\u17DC\\u17DD\\u17E0-\\u17E9\\u180B-\\u180D\\u1810-\\u1819\\u1820-\\u1877\\u1880-\\u18AA\\u18B0-\\u18F5\\u1900-\\u191E\\u1920-\\u192B\\u1930-\\u193B\\u1946-\\u196D\\u1970-\\u1974\\u1980-\\u19AB\\u19B0-\\u19C9\\u19D0-\\u19D9\\u1A00-\\u1A1B\\u1A20-\\u1A5E\\u1A60-\\u1A7C\\u1A7F-\\u1A89\\u1A90-\\u1A99\\u1AA7\\u1AB0-\\u1ABD\\u1B00-\\u1B4B\\u1B50-\\u1B59\\u1B6B-\\u1B73\\u1B80-\\u1BF3\\u1C00-\\u1C37\\u1C40-\\u1C49\\u1C4D-\\u1C7D\\u1CD0-\\u1CD2\\u1CD4-\\u1CF6\\u1CF8\\u1CF9\\u1D00-\\u1DF5\\u1DFC-\\u1F15\\u1F18-\\u1F1D\\u1F20-\\u1F45\\u1F48-\\u1F4D\\u1F50-\\u1F57\\u1F59\\u1F5B\\u1F5D\\u1F5F-\\u1F7D\\u1F80-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD0-\\u1FD3\\u1FD6-\\u1FDB\\u1FE0-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u200C\\u200D\\u203F\\u2040\\u2054\\u2071\\u207F\\u2090-\\u209C\\u20D0-\\u20DC\\u20E1\\u20E5-\\u20F0\\u2102\\u2107\\u210A-\\u2113\\u2115\\u2119-\\u211D\\u2124\\u2126\\u2128\\u212A-\\u212D\\u212F-\\u2139\\u213C-\\u213F\\u2145-\\u2149\\u214E\\u2160-\\u2188\\u2C00-\\u2C2E\\u2C30-\\u2C5E\\u2C60-\\u2CE4\\u2CEB-\\u2CF3\\u2D00-\\u2D25\\u2D27\\u2D2D\\u2D30-\\u2D67\\u2D6F\\u2D7F-\\u2D96\\u2DA0-\\u2DA6\\u2DA8-\\u2DAE\\u2DB0-\\u2DB6\\u2DB8-\\u2DBE\\u2DC0-\\u2DC6\\u2DC8-\\u2DCE\\u2DD0-\\u2DD6\\u2DD8-\\u2DDE\\u2DE0-\\u2DFF\\u2E2F\\u3005-\\u3007\\u3021-\\u302F\\u3031-\\u3035\\u3038-\\u303C\\u3041-\\u3096\\u3099\\u309A\\u309D-\\u309F\\u30A1-\\u30FA\\u30FC-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u31A0-\\u31BA\\u31F0-\\u31FF\\u3400-\\u4DB5\\u4E00-\\u9FCC\\uA000-\\uA48C\\uA4D0-\\uA4FD\\uA500-\\uA60C\\uA610-\\uA62B\\uA640-\\uA66F\\uA674-\\uA67D\\uA67F-\\uA69D\\uA69F-\\uA6F1\\uA717-\\uA71F\\uA722-\\uA788\\uA78B-\\uA78E\\uA790-\\uA7AD\\uA7B0\\uA7B1\\uA7F7-\\uA827\\uA840-\\uA873\\uA880-\\uA8C4\\uA8D0-\\uA8D9\\uA8E0-\\uA8F7\\uA8FB\\uA900-\\uA92D\\uA930-\\uA953\\uA960-\\uA97C\\uA980-\\uA9C0\\uA9CF-\\uA9D9\\uA9E0-\\uA9FE\\uAA00-\\uAA36\\uAA40-\\uAA4D\\uAA50-\\uAA59\\uAA60-\\uAA76\\uAA7A-\\uAAC2\\uAADB-\\uAADD\\uAAE0-\\uAAEF\\uAAF2-\\uAAF6\\uAB01-\\uAB06\\uAB09-\\uAB0E\\uAB11-\\uAB16\\uAB20-\\uAB26\\uAB28-\\uAB2E\\uAB30-\\uAB5A\\uAB5C-\\uAB5F\\uAB64\\uAB65\\uABC0-\\uABEA\\uABEC\\uABED\\uABF0-\\uABF9\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFA6D\\uFA70-\\uFAD9\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFB1D-\\uFB28\\uFB2A-\\uFB36\\uFB38-\\uFB3C\\uFB3E\\uFB40\\uFB41\\uFB43\\uFB44\\uFB46-\\uFBB1\\uFBD3-\\uFD3D\\uFD50-\\uFD8F\\uFD92-\\uFDC7\\uFDF0-\\uFDFB\\uFE00-\\uFE0F\\uFE20-\\uFE2D\\uFE33\\uFE34\\uFE4D-\\uFE4F\\uFE70-\\uFE74\\uFE76-\\uFEFC\\uFF10-\\uFF19\\uFF21-\\uFF3A\\uFF3F\\uFF41-\\uFF5A\\uFF66-\\uFFBE\\uFFC2-\\uFFC7\\uFFCA-\\uFFCF\\uFFD2-\\uFFD7\\uFFDA-\\uFFDC]");function C3(e,n){if(!e)throw new Error("ASSERT: "+n)}function mp(e){return e>=48&&e<=57}function J8(e){return"0123456789abcdefABCDEF".includes(e)}function hb(e){return"01234567".includes(e)}function WWe(e){return 32===e||9===e||11===e||12===e||160===e||e>=5760&&[5760,6158,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279].includes(e)}function gb(e){return 10===e||13===e||8232===e||8233===e}function mb(e){return 36===e||95===e||e>=65&&e<=90||e>=97&&e<=122||92===e||e>=128&&UWe.test(String.fromCharCode(e))}function b3(e){return 36===e||95===e||e>=65&&e<=90||e>=97&&e<=122||e>=48&&e<=57||92===e||e>=128&&jWe.test(String.fromCharCode(e))}const qWe={if:1,in:1,do:1,var:1,for:1,new:1,try:1,let:1,this:1,else:1,case:1,void:1,with:1,enum:1,while:1,break:1,catch:1,throw:1,const:1,yield:1,class:1,super:1,return:1,typeof:1,delete:1,switch:1,export:1,import:1,public:1,static:1,default:1,finally:1,extends:1,package:1,private:1,function:1,continue:1,debugger:1,interface:1,protected:1,instanceof:1,implements:1};function joe(){for(;we1114111||"}"!==e)&&Kn({},ao,Eo),n<=65535?String.fromCharCode(n):String.fromCharCode(55296+(n-65536>>10),56320+(n-65536&1023))}function Woe(){var e,n;for(e=At.charCodeAt(we++),n=String.fromCharCode(e),92===e&&(117!==At.charCodeAt(we)&&Kn({},ao,Eo),++we,(!(e=eP("u"))||"\\"===e||!mb(e.charCodeAt(0)))&&Kn({},ao,Eo),n=e);we>>="===(a=At.substr(we,4))?{type:gs,value:a,start:e,end:we+=4}:">>>"===(o=a.substr(0,3))||"<<="===o||">>="===o?{type:gs,value:o,start:e,end:we+=3}:i===(r=o.substr(0,2))[1]&&"+-<>&|".includes(i)||"=>"===r?{type:gs,value:r,start:e,end:we+=2}:("//"===r&&Kn({},ao,Eo),"<>=!+-*%&|^/".includes(i)?(++we,{type:gs,value:i,start:e,end:we}):void Kn({},ao,Eo))}function qoe(){var e,n,t;if(C3(mp((t=At[we]).charCodeAt(0))||"."===t,"Numeric literal must start with a decimal digit or a decimal point"),n=we,e="","."!==t){if(e=At[we++],t=At[we],"0"===e){if("x"===t||"X"===t)return++we,function QWe(e){let n="";for(;we=ra)return{type:db,start:we,end:we};const e=At.charCodeAt(we);return mb(e)?function XWe(){var e,n;return e=we,n=92===At.charCodeAt(we)?Woe():function ZWe(){var e,n;for(e=we++;we(C3(a=0&&Kn({},X8,t),{value:t,literal:n}}(),i=function tqe(e,n){let t=e;n.includes("u")&&(t=t.replace(/\\u\{([0-9a-fA-F]+)\}/g,(i,r)=>{if(parseInt(r,16)<=1114111)return"x";Kn({},X8)}).replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,"x"));try{new RegExp(t)}catch{Kn({},X8)}try{return new RegExp(e,n)}catch{return null}}(n.value,t.value),{literal:n.literal+t.literal,value:i,regex:{pattern:n.value,flags:t.value},start:e,end:we}}()),Zoe()):A3(ms())}return t}function yqe(){const e=[];if(oa("("),!Pi(")"))for(;we":case"<=":case">=":case"instanceof":case"in":n=7;break;case"<<":case">>":case">>>":n=8;break;case"+":case"-":n=9;break;case"*":case"/":case"%":n=11}return n}function gm(){var e,n;return e=function bqe(){var e,n,t,i,r,o,a,s,l,c;if(e=si,l=S3(),0===(r=nae(i=si)))return l;for(i.prec=r,ms(),n=[e,si],o=[l,i,a=S3()];(r=nae(si))>0;){for(;o.length>2&&r<=o[o.length-2].prec;)a=o.pop(),s=o.pop().value,l=o.pop(),n.pop(),t=Xoe(s,l,a),o.push(t);(i=ms()).prec=r,o.push(i),n.push(si),t=S3(),o.push(t)}for(t=o[c=o.length-1],n.pop();c>1;)n.pop(),t=Xoe(o[c-1].value,o[c-2],t),c-=2;return t}(),Pi("?")&&(ms(),n=gm(),oa(":"),e=function lqe(e,n,t){const i=new Mc(LWe);return i.test=e,i.consequent=n,i.alternate=t,i}(e,n,gm())),e}function rP(){const e=gm();if(Pi(","))throw new Error(fb);return e}function oP(e){we=0,ra=(At=e).length,si=null,Zoe();const n=rP();if(si.type!==db)throw new Error("Unexpect token after expression.");return n}var iae={NaN:"NaN",E:"Math.E",LN2:"Math.LN2",LN10:"Math.LN10",LOG2E:"Math.LOG2E",LOG10E:"Math.LOG10E",PI:"Math.PI",SQRT1_2:"Math.SQRT1_2",SQRT2:"Math.SQRT2",MIN_VALUE:"Number.MIN_VALUE",MAX_VALUE:"Number.MAX_VALUE"};function rae(e){function t(a,s,l){return c=>function n(a,s,l,c){let u=e(s[0]);return l&&(u=l+"("+u+")",0===l.lastIndexOf("new ",0)&&(u="("+u+")")),u+"."+a+(c<0?"":0===c?"()":"("+s.slice(1).map(e).join(",")+")")}(a,c,s,l)}const i="new Date",r="String",o="RegExp";return{isNaN:"Number.isNaN",isFinite:"Number.isFinite",abs:"Math.abs",acos:"Math.acos",asin:"Math.asin",atan:"Math.atan",atan2:"Math.atan2",ceil:"Math.ceil",cos:"Math.cos",exp:"Math.exp",floor:"Math.floor",hypot:"Math.hypot",log:"Math.log",max:"Math.max",min:"Math.min",pow:"Math.pow",random:"Math.random",round:"Math.round",sin:"Math.sin",sqrt:"Math.sqrt",tan:"Math.tan",clamp:function(a){a.length<3&&xe("Missing arguments to clamp function."),a.length>3&&xe("Too many arguments to clamp function.");const s=a.map(e);return"Math.max("+s[1]+", Math.min("+s[2]+","+s[0]+"))"},now:"Date.now",utc:"Date.UTC",datetime:i,date:t("getDate",i,0),day:t("getDay",i,0),year:t("getFullYear",i,0),month:t("getMonth",i,0),hours:t("getHours",i,0),minutes:t("getMinutes",i,0),seconds:t("getSeconds",i,0),milliseconds:t("getMilliseconds",i,0),time:t("getTime",i,0),timezoneoffset:t("getTimezoneOffset",i,0),utcdate:t("getUTCDate",i,0),utcday:t("getUTCDay",i,0),utcyear:t("getUTCFullYear",i,0),utcmonth:t("getUTCMonth",i,0),utchours:t("getUTCHours",i,0),utcminutes:t("getUTCMinutes",i,0),utcseconds:t("getUTCSeconds",i,0),utcmilliseconds:t("getUTCMilliseconds",i,0),length:t("length",null,-1),parseFloat:"parseFloat",parseInt:"parseInt",upper:t("toUpperCase",r,0),lower:t("toLowerCase",r,0),substring:t("substring",r),split:t("split",r),trim:t("trim",r,0),regexp:o,test:t("test",o),if:function(a){a.length<3&&xe("Missing arguments to if function."),a.length>3&&xe("Too many arguments to if function.");const s=a.map(e);return"("+s[0]+"?"+s[1]+":"+s[2]+")"}}}function oae(e){const n=(e=e||{}).allowed?Cc(e.allowed):{},t=e.forbidden?Cc(e.forbidden):{},i=e.constants||iae,r=(e.functions||rae)(d),o=e.globalvar,a=e.fieldvar,s=mn(o)?o:h=>`${o}["${h}"]`;let l={},c={},u=0;function d(h){if(it(h))return h;const g=p[h.type];return null==g&&xe("Unsupported type: "+h.type),g(h)}const p={Literal:h=>h.raw,Identifier:h=>{const g=h.name;return u>0?g:kt(t,g)?xe("Illegal identifier: "+g):kt(i,g)?i[g]:kt(n,g)?g:(l[g]=1,s(g))},MemberExpression:h=>{const g=!h.computed,m=d(h.object);g&&(u+=1);const _=d(h.property);return m===a&&(c[function Aqe(e){const n=e&&e.length-1;return n&&('"'===e[0]&&'"'===e[n]||"'"===e[0]&&"'"===e[n])?e.slice(1,-1):e}(_)]=1),g&&(u-=1),m+(g?"."+_:"["+_+"]")},CallExpression:h=>{"Identifier"!==h.callee.type&&xe("Illegal callee type: "+h.callee.type);const g=h.callee.name,m=h.arguments,_=kt(r,g)&&r[g];return _||xe("Unrecognized function: "+g),mn(_)?_(m):_+"("+m.map(d).join(",")+")"},ArrayExpression:h=>"["+h.elements.map(d).join(",")+"]",BinaryExpression:h=>"("+d(h.left)+" "+h.operator+" "+d(h.right)+")",UnaryExpression:h=>"("+h.operator+d(h.argument)+")",ConditionalExpression:h=>"("+d(h.test)+"?"+d(h.consequent)+":"+d(h.alternate)+")",LogicalExpression:h=>"("+d(h.left)+h.operator+d(h.right)+")",ObjectExpression:h=>"{"+h.properties.map(d).join(",")+"}",Property:h=>{u+=1;const g=d(h.key);return u-=1,g+":"+d(h.value)}};function f(h){const g={code:d(h),globals:Object.keys(l),fields:Object.keys(c)};return l={},c={},g}return f.functions=r,f.constants=i,f}var aae,sae,aP,sP,lP,w3=new Fo,x3=new Fo,Xu={point:Do,lineStart:Do,lineEnd:Do,polygonStart:function(){w3=new Fo,Xu.lineStart=Sqe,Xu.lineEnd=wqe},polygonEnd:function(){var e=+w3;x3.add(e<0?Ia+e:e),this.lineStart=this.lineEnd=this.point=Do},sphere:function(){x3.add(Ia)}};function Sqe(){Xu.point=xqe}function wqe(){lae(aae,sae)}function xqe(e,n){Xu.point=lae,aae=e,sae=n,aP=e*=Cn,sP=Vt(n=(n*=Cn)/2+wF),lP=Rt(n)}function lae(e,n){var t=(e*=Cn)-aP,i=t>=0?1:-1,r=i*t,o=Vt(n=(n*=Cn)/2+wF),a=Rt(n),s=lP*a,l=sP*o+s*Vt(r),c=s*i*Rt(r);w3.add(Pl(c,l)),aP=e,sP=o,lP=a}var Xi,ys,fr,Js,mm,cae,uae,z_,_b,lh,yp,_p={point:cP,lineStart:pae,lineEnd:fae,polygonStart:function(){_p.point=hae,_p.lineStart=Dqe,_p.lineEnd=Eqe,_b=new Fo,Xu.polygonStart()},polygonEnd:function(){Xu.polygonEnd(),_p.point=cP,_p.lineStart=pae,_p.lineEnd=fae,w3<0?(Xi=-(fr=180),ys=-(Js=90)):_b>Gt?Js=90:_b<-Gt&&(ys=-90),yp[0]=Xi,yp[1]=fr},sphere:function(){Xi=-(fr=180),ys=-(Js=90)}};function cP(e,n){lh.push(yp=[Xi=e,fr=e]),nJs&&(Js=n)}function dae(e,n){var t=em([e*Cn,n*Cn]);if(z_){var i=D_(z_,t),o=D_([i[1],-i[0],0],i);BF(o),o=OF(o);var c,a=e-mm,s=a>0?1:-1,l=o[0]*vr*s,u=Mn(a)>180;u^(s*mmJs&&(Js=c):u^(s*mm<(l=(l+360)%360-180)&&lJs&&(Js=n)),u?eel(Xi,fr)&&(fr=e):el(e,fr)>el(Xi,fr)&&(Xi=e):fr>=Xi?(efr&&(fr=e)):e>mm?el(Xi,e)>el(Xi,fr)&&(fr=e):el(e,fr)>el(Xi,fr)&&(Xi=e)}else lh.push(yp=[Xi=e,fr=e]);nJs&&(Js=n),z_=t,mm=e}function pae(){_p.point=dae}function fae(){yp[0]=Xi,yp[1]=fr,_p.point=cP,z_=null}function hae(e,n){if(z_){var t=e-mm;_b.add(Mn(t)>180?t+(t>0?360:-360):t)}else cae=e,uae=n;Xu.point(e,n),dae(e,n)}function Dqe(){Xu.lineStart()}function Eqe(){hae(cae,uae),Xu.lineEnd(),Mn(_b)>Gt&&(Xi=-(fr=180)),yp[0]=Xi,yp[1]=fr,z_=null}function el(e,n){return(n-=e)<0?n+360:n}function Iqe(e,n){return e[0]-n[0]}function gae(e,n){return e[0]<=e[1]?e[0]<=n&&n<=e[1]:nn.indexOf(t)>=0):n},R_union:function(e,n){var t=Zo(n[0]),i=Zo(n[1]);return t>i&&(t=n[1],i=n[0]),e.length?(e[0]>t&&(e[0]=t),e[1]i&&(t=n[1],i=n[0]),e.length?ii&&(e[1]=i),e):[t,i]}};const tKe=":",nKe="@";function mP(e,n,t,i){n[0].type!==pm&&xe("First argument to selection functions must be a string literal.");const r=n[0].value,o=n.length>=2&&Ln(n).value,a="unit",s=nKe+a,l=tKe+r;o===hP&&!kt(i,s)&&(i[s]=t.getData(r).indataRef(t,a)),kt(i,l)||(i[l]=t.getData(r).tuplesRef())}function Fae(e){const n=this.context.data[e];return n?n.values.value:[]}const bb=e=>function(n,t){const i=this.context.dataflow.locale();return null===n?"null":i[e](t)(n)},aKe=bb("format"),Dae=bb("timeFormat"),sKe=bb("utcFormat"),lKe=bb("timeParse"),cKe=bb("utcParse"),P3=new Date(2e3,0,1);function N3(e,n,t){return Number.isInteger(e)&&Number.isInteger(n)?(P3.setYear(2e3),P3.setMonth(e),P3.setDate(n),Dae.call(this,P3,t)):""}const hKe=":",yP="%",Eae="$";function _P(e,n,t,i){n[0].type!==pm&&xe("First argument to data functions must be a string literal.");const r=n[0].value,o=hKe+r;if(!kt(o,i))try{i[o]=t.getData(r).tuplesRef()}catch{}}function Va(e,n,t,i){if(n[0].type===pm)Iae(t,i,n[0].value);else for(e in t.scales)Iae(t,i,e)}function Iae(e,n,t){const i=yP+t;if(!kt(n,i))try{n[i]=e.scaleRef(t)}catch{}}function Ju(e,n){if(mn(e))return e;if(it(e)){const t=n.scales[e];return t&&function NHe(e){return e&&!0===e[Nee]}(t.value)?t.value:void 0}}function vP(e,n){return function(t,i,r){if(t){const o=Ju(t,(r||this).context);return o&&o.path[e](i)}return n(i)}}const _Ke=vP("area",function Fqe(e){return x3=new Fo,pp(e,Xu),2*x3}),vKe=vP("bounds",function Rqe(e){var n,t,i,r,o,a,s;if(Js=fr=-(Xi=ys=1/0),lh=[],pp(e,_p),t=lh.length){for(lh.sort(Iqe),n=1,o=[i=lh[0]];nel(i[0],i[1])&&(i[1]=r[1]),el(r[0],i[1])>el(i[0],i[1])&&(i[0]=r[0])):o.push(i=r);for(a=-1/0,n=0,i=o[t=o.length-1];n<=t;i=r,++n)(s=el(i[1],(r=o[n])[0]))>a&&(a=s,Xi=r[0],fr=i[1])}return lh=yp=null,Xi===1/0||ys===1/0?[[NaN,NaN],[NaN,NaN]]:[[Xi,ys],[fr,Js]]}),TKe=vP("centroid",function Oqe(e){vb=F3=D3=E3=I3=R3=L3=M3=0,uP=new Fo,dP=new Fo,pP=new Fo,pp(e,kc);var n=+uP,t=+dP,i=+pP,r=ZM(n,t,i);return rLae(e,n)}const kae={};function AP(e){return De(e)||ArrayBuffer.isView(e)?e:null}function SP(e){return AP(e)||(it(e)?e:null)}const Pae=e=>e.data;function Nae(e,n){const t=Fae.call(n,e);return t.root&&t.root.lookup||{}}const Oae=()=>typeof window<"u"&&window||null;function Hae(e,n,t){if(!e)return[];const[i,r]=e,o=(new Ir).set(i[0],i[1],r[0],r[1]);return xne(t||this.context.dataflow.scenegraph().root,o,function eZe(e){let n=null;if(e){const t=nt(e.marktype),i=nt(e.markname);n=r=>(!t.length||t.some(o=>r.marktype===o))&&(!i.length||i.some(o=>r.name===o))}return n}(n))}const Ab={random:()=>El(),cumulativeNormal:hx,cumulativeLogNormal:E7,cumulativeUniform:M7,densityNormal:S7,densityLogNormal:D7,densityUniform:L7,quantileNormal:gx,quantileLogNormal:I7,quantileUniform:k7,sampleNormal:fx,sampleLogNormal:F7,sampleUniform:R7,isArray:De,isBoolean:Ef,isDate:If,isDefined:e=>void 0!==e,isNumber:Gn,isObject:Je,isRegExp:OX,isString:it,isTuple:ox,isValid:e=>null!=e&&e==e,toBoolean:N9,toDate:e=>O9(e),toNumber:Zo,toString:H9,indexof:function kKe(e){for(var n=arguments.length,t=new Array(n>1?n-1:0),i=1;i1?n-1:0),i=1;i1?n-1:0),i=1;i1?n-1:0),i=1;iPu(e),inScope:function bKe(e){const n=this.context.group;let t=!1;if(n)for(;e;){if(e===n){t=!0;break}e=e.mark.group}return t},intersect:Hae,clampRange:MX,pinchDistance:function IKe(e){const n=e.touches;return Math.hypot(n[0].clientX-n[1].clientX,n[0].clientY-n[1].clientY)},pinchAngle:function RKe(e){const n=e.touches;return Math.atan2(n[0].clientY-n[1].clientY,n[0].clientX-n[1].clientX)},screen:function XKe(){const e=Oae();return e?e.screen:{}},containerSize:function JKe(){const e=this.context.dataflow,n=e.container&&e.container();return n?[n.clientWidth,n.clientHeight]:[void 0,void 0]},windowSize:function QKe(){const e=Oae();return e?[e.innerWidth,e.innerHeight]:[void 0,void 0]},bandspace:function GKe(e,n,t){return LL(e||0,n||0,t||0)},setdata:function rKe(e,n){const t=this.context.dataflow;return t.pulse(this.context.data[e].input,t.changeset().remove(Fl).insert(n)),1},pathShape:function qKe(e){let n=null;return function(t){return t?CC(t,n=n||m_(e)):e}},panLinear:FX,panLog:DX,panPow:EX,panSymlog:IX,zoomLinear:I9,zoomLog:R9,zoomPow:Kw,zoomSymlog:L9,encode:function oKe(e,n,t){if(e){const i=this.context.dataflow;i.pulse(e.mark.source,i.changeset().encode(e,n))}return void 0!==t?t:e},modify:function EKe(e,n,t,i,r,o){const a=this.context.dataflow,s=this.context.data[e],l=s.input,c=a.stamp();let d,p,u=s.changes;if(!1===a._trigger||!(l.value.length||n||i))return 0;if((!u||u.stamp{s.modified=!0,a.pulse(l,u).run()},!0,1)),t&&(d=!0===t?Fl:De(t)||ox(t)?t:Mae(t),u.remove(d)),n&&u.insert(n),i&&(d=Mae(i),l.value.some(d)?u.remove(d):u.insert(i)),r)for(p in o)u.modify(r,p,o[p]);return 1},lassoAppend:function tZe(e,n,t){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:5;const r=(e=nt(e))[e.length-1];return void 0===r||Math.hypot(r[0]-n,r[1]-t)>i?[...e,[n,t]]:e},lassoPath:function nZe(e){return nt(e).reduce((n,t,i)=>{let[r,o]=t;return n+(0==i?`M ${r},${o} `:i===e.length-1?" Z":`L ${r},${o} `)},"")},intersectLasso:function iZe(e,n,t){const{x:i,y:r,mark:o}=t,a=(new Ir).set(Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER,Number.MIN_SAFE_INTEGER,Number.MIN_SAFE_INTEGER);for(const[l,c]of n)la.x2&&(a.x2=l),ca.y2&&(a.y2=c);return a.translate(i,r),Hae([[a.x1,a.y1],[a.x2,a.y2]],e,o).filter(l=>function rZe(e,n,t){let i=0;for(let r=0,o=t.length-1;rn!=s>n&&e<(a-l)*(n-c)/(s-c)+l&&i++}return 1&i}(l.x,l.y,n))}},oZe=["view","item","group","xy","x","y"],Gae="this.",wP={},Bae={forbidden:["_"],allowed:["datum","event","item"],fieldvar:"datum",globalvar:e=>`_[${We(Eae+e)}]`,functions:function sZe(e){const n=rae(e);oZe.forEach(t=>n[t]="event.vega."+t);for(const t in Ab)n[t]=Gae+t;return yn(n,function yKe(e,n,t){n.__bandwidth=r=>r&&r.bandwidth?r.bandwidth():0,t._bandwidth=Va,t._range=Va,t._scale=Va;const i=r=>"_["+(r.type===pm?We(yP+r.value):We(yP)+"+"+e(r))+"]";return{_bandwidth:r=>`this.__bandwidth(${i(r[0])})`,_range:r=>`${i(r[0])}.range()`,_scale:r=>`${i(r[0])}(${e(r[1])})`}}(e,Ab,wP)),n},constants:iae,visitors:wP},xP=oae(Bae);function Tr(e,n,t){return 1===arguments.length?Ab[e]:(Ab[e]=n,t&&(wP[e]=t),xP&&(xP.functions[e]=Gae+e),this)}function ed(e,n){const t={};let i;try{i=oP(e=it(e)?e:We(e)+"")}catch{xe("Expression parse error: "+e)}i.visit(o=>{if(o.type!==zoe)return;const a=o.callee.name,s=Bae.visitors[a];s&&s(a,o.arguments,n,t)});const r=xP(i);return r.globals.forEach(o=>{const a=Eae+o;!kt(t,a)&&n.getSignal(o)&&(t[a]=n.signalRef(o))}),{$expr:yn({code:r.code},n.options.ast?{ast:i}:null),$fields:r.fields,$params:t}}Tr("bandwidth",function BKe(e,n){const t=Ju(e,(n||this).context);return t&&t.bandwidth?t.bandwidth():0},Va),Tr("copy",function YKe(e,n){const t=Ju(e,(n||this).context);return t?t.copy():void 0},Va),Tr("domain",function VKe(e,n){const t=Ju(e,(n||this).context);return t?t.domain():[]},Va),Tr("range",function $Ke(e,n){const t=Ju(e,(n||this).context);return t&&t.range?t.range():[]},Va),Tr("invert",function zKe(e,n,t){const i=Ju(e,(t||this).context);return i?De(n)?(i.invertRange||i.invert)(n):(i.invert||i.invertExtent)(n):void 0},Va),Tr("scale",function UKe(e,n,t){const i=Ju(e,(t||this).context);return i?i(n):void 0},Va),Tr("gradient",function jKe(e,n,t,i,r){e=Ju(e,(r||this).context);const o=ote(n,t);let a=e.domain(),s=a[0],l=Ln(a),c=Ko;return l-s?c=$ee(e,s,l):e=(e.interpolator?qn("sequential")().interpolator(e.interpolator()):qn("linear")().interpolate(e.interpolate()).range(e.range())).domain([s=0,l=1]),e.ticks&&(a=e.ticks(+i||15),s!==a[0]&&a.unshift(s),l!==Ln(a)&&a.push(l)),a.forEach(u=>o.stop(c(u),e(u))),o},Va),Tr("geoArea",_Ke,Va),Tr("geoBounds",vKe,Va),Tr("geoCentroid",TKe,Va),Tr("geoShape",function WKe(e,n,t){const i=Ju(e,(t||this).context);return function(r){return i?i.path.context(r)(n):""}},Va),Tr("geoScale",function CKe(e,n){const t=Ju(e,(n||this).context);return t&&t.scale()},Va),Tr("indata",function iKe(e,n,t){const i=this.context.data[e]["index:"+n],r=i?i.value.get(t):void 0;return r&&r.count},function mKe(e,n,t,i){n[0].type!==pm&&xe("First argument to indata must be a string literal."),n[1].type!==pm&&xe("Second argument to indata must be a string literal.");const r=n[0].value,o=n[1].value,a="@"+o;kt(a,i)||(i[a]=t.getData(r).indataRef(t,o))}),Tr("data",Fae,_P),Tr("treePath",function KKe(e,n,t){const i=Nae(e,this),r=i[n],o=i[t];return r&&o?r.path(o).map(Pae):void 0},_P),Tr("treeAncestors",function ZKe(e,n){const t=Nae(e,this)[n];return t?t.ancestors().map(Pae):void 0},_P),Tr("vlSelectionTest",function Kqe(e,n,t){for(var c,u,d,p,f,i=this.context.data[e],r=i?i.values.value:[],o=i?i[k3]&&i[k3].value:void 0,a=t===hP,s=r.length,l=0;l(w[u[B].field]=O,w),{}))}else f=Qu,h=Cb(c),(m=(g=a[f]||(a[f]={}))[p]||(g[p]=[])).push(h),t&&(m=s[p]||(s[p]=[])).push({[Qu]:h});return n=n||"union",a[Qu]?a[Qu]=gP[`${Qu}_${n}`](...Object.values(a[Qu])):Object.keys(a).forEach(w=>{a[w]=Object.keys(a[w]).map(O=>a[w][O]).reduce((O,B)=>void 0===O?B:gP[`${l[w]}_${n}`](O,B))}),o=Object.keys(s),t&&o.length&&(a[i?"vlPoint":"vlMulti"]="union"===n?{or:o.reduce((O,B)=>(O.push(...s[B]),O),[])}:{and:o.map(O=>({or:s[O]}))}),a},mP),Tr("vlSelectionTuples",function Jqe(e,n){return e.map(t=>yn(n.fields?{values:n.fields.map(i=>bae(i)(t.datum))}:{[Qu]:Cb(t.datum)},n))});const cZe=Cc(["rule"]),Yae=Cc(["group","image","rect"]);function FP(e){return(e+"").toLowerCase()}function Sb(e,n,t){t.endsWith(";")||(t="return("+t+");");const i=Function(...n.concat(t));return e&&e.functions?i.bind(e.functions):i}var hZe={operator:(e,n)=>Sb(e,["_"],n.code),parameter:(e,n)=>Sb(e,["datum","_"],n.code),event:(e,n)=>Sb(e,["event"],n.code),handler:(e,n)=>Sb(e,["_","event"],`var datum=event.item&&event.item.datum;return ${n.code};`),encode:(e,n)=>{const{marktype:t,channels:i}=n;let r="var o=item,datum=o.datum,m=0,$;";for(const o in i){const a="o["+We(o)+"]";r+=`$=${i[o].code};if(${a}!==$)${a}=$,m=1;`}return r+=function uZe(e,n){let t="";return cZe[n]||(e.x2&&(e.x?(Yae[n]&&(t+="if(o.x>o.x2)$=o.x,o.x=o.x2,o.x2=$;"),t+="o.width=o.x2-o.x;"):t+="o.x=o.x2-(o.width||0);"),e.xc&&(t+="o.x=o.xc-(o.width||0)/2;"),e.y2&&(e.y?(Yae[n]&&(t+="if(o.y>o.y2)$=o.y,o.y=o.y2,o.y2=$;"),t+="o.height=o.y2-o.y;"):t+="o.y=o.y2-(o.height||0);"),e.yc&&(t+="o.y=o.yc-(o.height||0)/2;")),t}(i,t),r+="return m;",Sb(e,["item","_"],r)},codegen:{get(e){const n=`[${e.map(We).join("][")}]`,t=Function("_",`return _${n};`);return t.path=n,t},comparator(e,n){let t;const r=Function("a","b","var u, v; return "+e.map((o,a)=>{const s=n[a];let l,c;return o.path?(l=`a${o.path}`,c=`b${o.path}`):((t=t||{})["f"+a]=o,l=`this.f${a}(a)`,c=`this.f${a}(b)`),function fZe(e,n,t,i){return`((u = ${e}) < (v = ${n}) || u == null) && v != null ? ${t}\n : (u > v || v == null) && u != null ? ${i}\n : ((v = v instanceof Date ? +v : v), (u = u instanceof Date ? +u : u)) !== u && v === v ? ${t}\n : v !== v && u === u ? ${i} : `}(l,c,-s,s)}).join("")+"0;");return t?r.bind(t):r}}};function Vae(e,n,t){if(!e||!Je(e))return e;for(let o,i=0,r=zae.length;ir&&r.$tupleid?Pt:r);return n.fn[t]||(n.fn[t]=M9(i,e.$order,n.expr.codegen))}},{key:"$context",parse:function SZe(e,n){return n}},{key:"$subflow",parse:function wZe(e,n){const t=e.$subflow;return function(i,r,o){const a=n.fork().parse(t),s=a.get(t.operators[0].id),l=a.signals.parent;return l&&l.set(o),s.detachSubflow=()=>n.detach(a),s}}},{key:"$tupleid",parse:function xZe(){return Pt}}];const EZe={skip:!0};function $ae(e,n,t,i){return new Uae(e,n,t,i)}function Uae(e,n,t,i){this.dataflow=e,this.transforms=n,this.events=e.events.bind(e),this.expr=i||hZe,this.signals={},this.scales={},this.nodes={},this.data={},this.fn={},t&&(this.functions=Object.create(t),this.functions.context=this)}function jae(e){this.dataflow=e.dataflow,this.transforms=e.transforms,this.events=e.events,this.expr=e.expr,this.signals=Object.create(e.signals),this.scales=Object.create(e.scales),this.nodes=Object.create(e.nodes),this.data=Object.create(e.data),this.fn=Object.create(e.fn),e.functions&&(this.functions=Object.create(e.functions),this.functions.context=this)}function Wae(e,n){e&&(null==n?e.removeAttribute("aria-label"):e.setAttribute("aria-label",n))}Uae.prototype=jae.prototype={fork(){const e=new jae(this);return(this.subcontext||(this.subcontext=[])).push(e),e},detach(e){this.subcontext=this.subcontext.filter(t=>t!==e);const n=Object.keys(e.nodes);for(const t of n)e.nodes[t]._targets=null;for(const t of n)e.nodes[t].detach();e.nodes=null},get(e){return this.nodes[e]},set(e,n){return this.nodes[e]=n},add(e,n){const t=this,i=t.dataflow,r=e.value;if(t.set(e.id,n),function pZe(e){return"collect"===FP(e)}(e.type)&&r&&(r.$ingest?i.ingest(n,r.$ingest,r.$format):r.$request?i.preload(n,r.$request,r.$format):i.pulse(n,i.changeset().insert(r))),e.root&&(t.root=n),e.parent){let o=t.get(e.parent.$ref);o?(i.connect(o,[n]),n.targets().add(o)):(t.unresolved=t.unresolved||[]).push(()=>{o=t.get(e.parent.$ref),i.connect(o,[n]),n.targets().add(o)})}if(e.signal&&(t.signals[e.signal]=n),e.scale&&(t.scales[e.scale]=n),e.data)for(const o in e.data){const a=t.data[o]||(t.data[o]={});e.data[o].forEach(s=>a[s]=n)}},resolve(){return(this.unresolved||[]).forEach(e=>e()),delete this.unresolved,this},operator(e,n){this.add(e,this.dataflow.add(e.value,n))},transform(e,n){this.add(e,this.dataflow.add(this.transforms[FP(n)]))},stream(e,n){this.set(e.id,n)},update(e,n,t,i,r){this.dataflow.on(n,t,i,r,e.options)},operatorExpression(e){return this.expr.operator(this,e)},parameterExpression(e){return this.expr.parameter(this,e)},eventExpression(e){return this.expr.event(this,e)},handlerExpression(e){return this.expr.handler(this,e)},encodeExpression(e){return this.expr.encode(this,e)},parse:function lZe(e){const n=this,t=e.operators||[];return e.background&&(n.background=e.background),e.eventConfig&&(n.eventConfig=e.eventConfig),e.locale&&(n.locale=e.locale),t.forEach(i=>n.parseOperator(i)),t.forEach(i=>n.parseOperatorParameters(i)),(e.streams||[]).forEach(i=>n.parseStream(i)),(e.updates||[]).forEach(i=>n.parseUpdate(i)),n.resolve()},parseOperator:function gZe(e){const n=this;!function dZe(e){return"operator"===FP(e)}(e.type)&&e.type?n.transform(e,e.type):n.operator(e,e.update?n.operatorExpression(e.update):null)},parseOperatorParameters:function mZe(e){const n=this;if(e.params){const t=n.get(e.id);t||xe("Invalid operator id: "+e.id),n.dataflow.connect(t,t.parameters(n.parseParameters(e.params),e.react,e.initonly))}},parseParameters:function yZe(e,n){n=n||{};const t=this;for(const i in e){const r=e[i];n[i]=De(r)?r.map(o=>Vae(o,t,n)):Vae(r,t,n)}return n},parseStream:function FZe(e){var r,n=this,t=null!=e.filter?n.eventExpression(e.filter):void 0,i=null!=e.stream?n.get(e.stream):void 0;e.source?i=n.events(e.source,e.type,t):e.merge&&(i=(r=e.merge.map(o=>n.get(o)))[0].merge.apply(r[0],r.slice(1))),e.between&&(r=e.between.map(o=>n.get(o)),i=i.between(r[0],r[1])),e.filter&&(i=i.filter(t)),null!=e.throttle&&(i=i.throttle(+e.throttle)),null!=e.debounce&&(i=i.debounce(+e.debounce)),null==i&&xe("Invalid stream definition: "+JSON.stringify(e)),e.consume&&i.consume(!0),n.stream(e,i)},parseUpdate:function DZe(e){var r,n=this,t=Je(t=e.source)?t.$ref:t,i=n.get(t),o=e.update,a=void 0;i||xe("Source not defined: "+e.source),r=e.target&&e.target.$expr?n.eventExpression(e.target.$expr):n.get(e.target),o&&o.$expr&&(o.$params&&(a=n.parseParameters(o.$params)),o=n.handlerExpression(o.$expr)),n.update(e,i,r,o,a)},getState:function IZe(e){var n=this,t={};if(e.signals){var i=t.signals={};Object.keys(n.signals).forEach(o=>{const a=n.signals[o];e.signals(o,a)&&(i[o]=a.value)})}if(e.data){var r=t.data={};Object.keys(n.data).forEach(o=>{const a=n.data[o];e.data(o,a)&&(r[o]=a.input.value)})}return n.subcontext&&!1!==e.recurse&&(t.subcontext=n.subcontext.map(o=>o.getState(e))),t},setState:function RZe(e){var n=this,t=n.dataflow,i=e.data,r=e.signals;Object.keys(r||{}).forEach(o=>{t.update(n.signals[o],r[o],EZe)}),Object.keys(i||{}).forEach(o=>{t.pulse(n.data[o].input,t.changeset().remove(Fl).insert(i[o]))}),(e.subcontext||[]).forEach((o,a)=>{const s=n.subcontext[a];s&&s.setState(o)})}};const DP="default";function EP(e,n){const t=e.globalCursor()?typeof document<"u"&&document.body:e.container();if(t)return null==n?t.style.removeProperty("cursor"):t.style.cursor=n}function O3(e,n){var t=e._runtime.data;return kt(t,n)||xe("Unrecognized data set: "+n),t[n]}function H3(e,n){kQ(n)||xe("Second argument to changes must be a changeset.");const t=O3(this,e);return t.modified=!0,this.pulse(t.input,n)}function qae(e){var n=e.padding();return Math.max(0,e._viewWidth+n.left+n.right)}function Kae(e){var n=e.padding();return Math.max(0,e._viewHeight+n.top+n.bottom)}function G3(e){var n=e.padding(),t=e._origin;return[n.left+t[0],n.top+t[1]]}const $Ze={trap:!1};function Xae(e,n,t,i){e._eventListeners.push({type:t,sources:nt(n),handler:i})}function B3(e,n,t){const i=e._eventConfig&&e._eventConfig[n];return!(!1===i||Je(i)&&!i[t])||(e.warn(`Blocked ${n} ${t} event listener.`),!1)}function Qae(e){return e.item}function Jae(e){return e.item.mark.source}function ese(e){return function(n,t){return t.vega.view().changeset().encode(t.item,e)}}function tl(e,n,t){const i=document.createElement(e);for(const r in n)i.setAttribute(r,n[r]);return null!=t&&(i.textContent=t),i}const ZZe="vega-bind",XZe="vega-bind-name",QZe="vega-bind-radio";function JZe(e,n,t){if(!n)return;const i=t.param;let r=t.state;return r||(r=t.state={elements:null,active:!1,set:null,update:a=>{a!=e.signal(i.signal)&&e.runAsync(null,()=>{r.source=!0,e.signal(i.signal,a)})}},i.debounce&&(r.update=k9(i.debounce,r.update))),(null==i.input&&i.element?eXe:nXe)(r,n,i,e),r.active||(e.on(e._signals[i.signal],null,()=>{r.source?r.source=!1:r.set(e.signal(i.signal))}),r.active=!0),r}function eXe(e,n,t,i){const r=t.event||"input",o=()=>e.update(n.value);i.signal(t.signal,n.value),n.addEventListener(r,o),Xae(i,n,r,o),e.set=a=>{n.value=a,n.dispatchEvent(function tXe(e){return typeof Event<"u"?new Event(e):{type:e}}(r))}}function nXe(e,n,t,i){const r=i.signal(t.signal),o=tl("div",{class:ZZe}),a="radio"===t.input?o:o.appendChild(tl("label"));a.appendChild(tl("span",{class:XZe},t.name||t.signal)),n.appendChild(o);let s=iXe;switch(t.input){case"checkbox":s=rXe;break;case"select":s=oXe;break;case"radio":s=aXe;break;case"range":s=sXe}s(e,a,t,r)}function iXe(e,n,t,i){const r=tl("input");for(const o in t)"signal"!==o&&"element"!==o&&r.setAttribute("input"===o?"type":o,t[o]);r.setAttribute("name",t.signal),r.value=i,n.appendChild(r),r.addEventListener("input",()=>e.update(r.value)),e.elements=[r],e.set=o=>r.value=o}function rXe(e,n,t,i){const r={type:"checkbox",name:t.signal};i&&(r.checked=!0);const o=tl("input",r);n.appendChild(o),o.addEventListener("change",()=>e.update(o.checked)),e.elements=[o],e.set=a=>o.checked=!!a||null}function oXe(e,n,t,i){const r=tl("select",{name:t.signal}),o=t.labels||[];t.options.forEach((a,s)=>{const l={value:a};Y3(a,i)&&(l.selected=!0),r.appendChild(tl("option",l,(o[s]||a)+""))}),n.appendChild(r),r.addEventListener("change",()=>{e.update(t.options[r.selectedIndex])}),e.elements=[r],e.set=a=>{for(let s=0,l=t.options.length;s{const l={type:"radio",name:t.signal,value:a};Y3(a,i)&&(l.checked=!0);const c=tl("input",l);c.addEventListener("change",()=>e.update(a));const u=tl("label",{},(o[s]||a)+"");return u.prepend(c),r.appendChild(u),c}),e.set=a=>{const s=e.elements,l=s.length;for(let c=0;c{l.textContent=s.value,e.update(+s.value)};s.addEventListener("input",c),s.addEventListener("change",c),e.elements=[s],e.set=u=>{s.value=u,l.textContent=u}}function Y3(e,n){return e===n||e+""==n+""}function tse(e,n,t,i,r,o){return(n=n||new i(e.loader())).initialize(t,qae(e),Kae(e),G3(e),r,o).background(e.background())}function IP(e,n){return n?function(){try{n.apply(this,arguments)}catch(t){e.error(t)}}:null}function RP(e,n,t){if("string"==typeof n){if(!(typeof document<"u"))return e.error("DOM document instance not found."),null;if(!(n=document.querySelector(n)))return e.error("Signal bind element not found: "+n),null}if(n&&t)try{n.textContent=""}catch(i){n=null,e.error(i)}return n}const wb=e=>+e||0,uXe=e=>({top:e,bottom:e,left:e,right:e});function nse(e){return Je(e)?{top:wb(e.top),bottom:wb(e.bottom),left:wb(e.left),right:wb(e.right)}:uXe(wb(e))}function LP(e,n,t,i){return MP.apply(this,arguments)}function MP(){return MP=zr(function*(e,n,t,i){const r=yF(n),o=r&&r.headless;return o||xe("Unrecognized renderer type: "+n),yield e.runAsync(),tse(e,null,null,o,t,i).renderAsync(e._scenegraph.root)}),MP.apply(this,arguments)}function kP(){return kP=zr(function*(e,n){e!==Wf.Canvas&&e!==Wf.SVG&&e!==Wf.PNG&&xe("Unrecognized image type: "+e);const t=yield LP(this,e,n);return e===Wf.SVG?function pXe(e,n){const t=new Blob([e],{type:n});return window.URL.createObjectURL(t)}(t.svg(),"image/svg+xml"):t.canvas().toDataURL("image/png")}),kP.apply(this,arguments)}function PP(){return PP=zr(function*(e,n){return(yield LP(this,Wf.Canvas,e,n)).canvas()}),PP.apply(this,arguments)}function NP(){return NP=zr(function*(e){return(yield LP(this,Wf.SVG,e)).svg()}),NP.apply(this,arguments)}var ise="width",rse="height",OP="padding",ose={skip:!0};function ase(e,n){var t=e.autosize(),i=e.padding();return n-(t&&t.contains===OP?i.left+i.right:0)}function sse(e,n){var t=e.autosize(),i=e.padding();return n-(t&&t.contains===OP?i.top+i.bottom:0)}function TXe(e,n){return n.modified&&De(n.input.value)&&!e.startsWith("_:vega:_")}function CXe(e,n){return!("parent"===e||n instanceof l_.proxy)}function SXe(e,n,t,i){const r=e.element();r&&r.setAttribute("title",function wXe(e){return null==e?"":De(e)?lse(e):Je(e)&&!If(e)?function xXe(e){return Object.keys(e).map(n=>{const t=e[n];return n+": "+(De(t)?lse(t):cse(t))}).join("\n")}(e):e+""}(i))}function lse(e){return"["+e.map(cse).join(", ")+"]"}function cse(e){return De(e)?"[\u2026]":Je(e)&&!If(e)?"{\u2026}":e}function use(e,n){const t=this;if(n=n||{},s_.call(t),n.loader&&t.loader(n.loader),n.logger&&t.logger(n.logger),null!=n.logLevel&&t.logLevel(n.logLevel),n.locale||e.locale){const o=yn({},e.locale,n.locale);t.locale(bQ(o.number,o.time))}t._el=null,t._elBind=null,t._renderType=n.renderer||Wf.Canvas,t._scenegraph=new zte;const i=t._scenegraph.root;t._renderer=null,t._tooltip=n.tooltip||SXe,t._redraw=!0,t._handler=(new PC).scene(i),t._globalCursor=!1,t._preventDefault=!1,t._timers=[],t._eventListeners=[],t._resizeListeners=[],t._eventConfig=function UZe(e){const n=yn({defaults:{}},e),t=(i,r)=>{r.forEach(o=>{De(i[o])&&(i[o]=Cc(i[o]))})};return t(n.defaults,["prevent","allow"]),t(n,["view","window","selector"]),n}(e.eventConfig),t.globalCursor(t._eventConfig.globalCursor);const r=function gXe(e,n,t){return $ae(e,l_,Ab,t).parse(n)}(t,e,n.expr);t._runtime=r,t._signals=r.signals,t._bind=(e.bindings||[]).map(o=>({state:null,param:yn({},o)})),r.root&&r.root.set(i),i.source=r.data.root.input,t.pulse(r.data.root.input,t.changeset().insert(i.items)),t._width=t.width(),t._height=t.height(),t._viewWidth=ase(t,t._width),t._viewHeight=sse(t,t._height),t._origin=[0,0],t._resize=0,t._autosize=1,function yXe(e){var n=e._signals,t=n[ise],i=n[rse],r=n[OP];function o(){e._autosize=e._resize=1}e._resizeWidth=e.add(null,s=>{e._width=s.size,e._viewWidth=ase(e,s.size),o()},{size:t}),e._resizeHeight=e.add(null,s=>{e._height=s.size,e._viewHeight=sse(e,s.size),o()},{size:i});const a=e.add(null,o,{pad:r});e._resizeWidth.rank=t.rank+1,e._resizeHeight.rank=i.rank+1,a.rank=r.rank+1}(t),function kZe(e){e.add(null,n=>(e._background=n.bg,e._resize=1,n.bg),{bg:e._signals.background})}(t),function PZe(e){const n=e._signals.cursor||(e._signals.cursor=e.add({user:DP,item:null}));e.on(e.events("view","pointermove"),n,(t,i)=>{const r=n.value,o=r?it(r)?r:r.user:DP,a=i.item&&i.item.cursor||null;return r&&o===r.user&&a==r.item?r:{user:o,item:a}}),e.add(null,function(t){let i=t.cursor,r=this.value;return it(i)||(r=i.item,i=i.user),EP(e,i&&i!==DP?i:r||i),r},{cursor:n})}(t),t.description(e.description),n.hover&&t.hover(),n.container&&t.initialize(n.container,n.bind),n.watchPixelRatio&&t._watchPixelRatio()}function V3(e,n){return kt(e._signals,n)?e._signals[n]:xe("Unrecognized signal name: "+We(n))}function dse(e,n){const t=(e._targets||[]).filter(i=>i._update&&i._update.handler===n);return t.length?t[0]:null}function pse(e,n,t,i){let r=dse(t,i);return r||(r=IP(e,()=>i(n,t.value)),r.handler=i,e.on(t,null,r)),e}function fse(e,n,t){const i=dse(n,t);return i&&n._targets.remove(i),e}Ze(use,s_,{evaluate(e,n,t){var i=this;return zr(function*(){if(yield s_.prototype.evaluate.call(i,e,n),i._redraw||i._resize)try{i._renderer&&(i._resize&&(i._resize=0,function GZe(e){var n=G3(e),t=qae(e),i=Kae(e);e._renderer.background(e.background()),e._renderer.resize(t,i,n),e._handler.origin(n),e._resizeListeners.forEach(r=>{try{r(t,i)}catch(o){e.error(o)}})}(i)),yield i._renderer.renderAsync(i._scenegraph.root)),i._redraw=!1}catch(r){i.error(r)}return t&&rx(i,t),i})()},dirty(e){this._redraw=!0,this._renderer&&this._renderer.dirty(e)},description(e){if(arguments.length){const n=null!=e?e+"":null;return n!==this._desc&&Wae(this._el,this._desc=n),this}return this._desc},container(){return this._el},scenegraph(){return this._scenegraph},origin(){return this._origin.slice()},signal(e,n,t){const i=V3(this,e);return 1===arguments.length?i.value:this.update(i,n,t)},width(e){return arguments.length?this.signal("width",e):this.signal("width")},height(e){return arguments.length?this.signal("height",e):this.signal("height")},padding(e){return arguments.length?this.signal("padding",nse(e)):nse(this.signal("padding"))},autosize(e){return arguments.length?this.signal("autosize",e):this.signal("autosize")},background(e){return arguments.length?this.signal("background",e):this.signal("background")},renderer(e){return arguments.length?(yF(e)||xe("Unrecognized renderer type: "+e),e!==this._renderType&&(this._renderType=e,this._resetRenderer()),this):this._renderType},tooltip(e){return arguments.length?(e!==this._tooltip&&(this._tooltip=e,this._resetRenderer()),this):this._tooltip},loader(e){return arguments.length?(e!==this._loader&&(s_.prototype.loader.call(this,e),this._resetRenderer()),this):this._loader},resize(){return this._autosize=1,this.touch(V3(this,"autosize"))},_resetRenderer(){this._renderer&&(this._renderer=null,this.initialize(this._el,this._elBind))},_resizeView:function _Xe(e,n,t,i,r,o){this.runAfter(a=>{let s=0;a._autosize=0,a.width()!==t&&(s=1,a.signal(ise,t,ose),a._resizeWidth.skip(!0)),a.height()!==i&&(s=1,a.signal(rse,i,ose),a._resizeHeight.skip(!0)),a._viewWidth!==e&&(a._resize=1,a._viewWidth=e),a._viewHeight!==n&&(a._resize=1,a._viewHeight=n),(a._origin[0]!==r[0]||a._origin[1]!==r[1])&&(a._resize=1,a._origin=r),s&&a.run("enter"),o&&a.runAfter(l=>l.resize())},!1,1)},addEventListener(e,n,t){let i=n;return t&&!1===t.trap||(i=IP(this,n),i.raw=n),this._handler.on(e,i),this},removeEventListener(e,n){for(var r,o,t=this._handler.handlers(e),i=t.length;--i>=0;)if(r=t[i].handler,e===(o=t[i].type)&&(n===r||n===r.raw)){this._handler.off(o,r);break}return this},addResizeListener(e){const n=this._resizeListeners;return n.includes(e)||n.push(e),this},removeResizeListener(e){var n=this._resizeListeners,t=n.indexOf(e);return t>=0&&n.splice(t,1),this},addSignalListener(e,n){return pse(this,e,V3(this,e),n)},removeSignalListener(e,n){return fse(this,V3(this,e),n)},addDataListener(e,n){return pse(this,e,O3(this,e).values,n)},removeDataListener(e,n){return fse(this,O3(this,e).values,n)},globalCursor(e){if(arguments.length){if(this._globalCursor!==!!e){const n=EP(this,null);this._globalCursor=!!e,n&&EP(this,n)}return this}return this._globalCursor},preventDefault(e){return arguments.length?(this._preventDefault=e,this):this._preventDefault},timer:function AXe(e,n){this._timers.push(function LZe(e,n,t){var i=new wT,r=n;return null==n?(i.restart(e,n,t),i):(i._restart=i.restart,i.restart=function(o,a,s){a=+a,s=null==s?NS():+s,i._restart(function l(c){c+=r,i._restart(l,r+=a,s),o(c)},a,s)},i.restart(e,n,t),i)}(function t(i){e({timestamp:Date.now(),elapsed:i})},n))},events:function WZe(e,n,t){var a,i=this,r=new cx(t),o=function(c,u){i.runAsync(null,()=>{"view"===e&&function jZe(e,n){var t=e._eventConfig.defaults,i=t.prevent,r=t.allow;return!1!==i&&!0!==r&&(!0===i||!1===r||(i?i[n]:r?!r[n]:e.preventDefault()))}(i,n)&&c.preventDefault(),r.receive(function BZe(e,n,t){var o,s,i=e._renderer,r=i&&i.canvas();return r&&(s=G3(e),(o=rF(n.changedTouches?n.changedTouches[0]:n,r))[0]-=s[0],o[1]-=s[1]),n.dataflow=e,n.item=t,n.vega=function YZe(e,n,t){const i=n?"group"===n.mark.marktype?n:n.mark.group:null;function r(a){var l,s=i;if(a)for(l=n;l;l=l.mark.group)if(l.mark.name===a){s=l;break}return s&&s.mark&&s.mark.interactive?s:{}}function o(a){if(!a)return t;it(a)&&(a=r(a));const s=t.slice();for(;a;)s[0]-=a.x||0,s[1]-=a.y||0,a=a.mark&&a.mark.group;return s}return{view:Xo(e),item:Xo(n||{}),group:r,xy:o,x:a=>o(a)[0],y:a=>o(a)[1]}}(e,t,o),n}(i,c,u))})};if("timer"===e)B3(i,"timer",n)&&i.timer(o,n);else if("view"===e)B3(i,"view",n)&&i.addEventListener(n,o,$Ze);else if("window"===e?B3(i,"window",n)&&typeof window<"u"&&(a=[window]):typeof document<"u"&&B3(i,"selector",n)&&(a=Array.from(document.querySelectorAll(e))),a){for(var s=0,l=a.length;s=0;)n[r].stop();for(r=i.length;--r>=0;)for(o=(a=i[r]).sources.length;--o>=0;)a.sources[o].removeEventListener(a.type,a.handler);for(e&&e.call(this,this._handler,null,null,null),r=t.length;--r>=0;)this._handler.off(t[r].type,t[r].handler);return this},hover:function qZe(e,n){return n=[n||"update",(e=[e||"hover"])[0]],this.on(this.events("view","pointerover",Qae),Jae,ese(e)),this.on(this.events("view","pointerout",Qae),Jae,ese(n)),this},data:function NZe(e,n){return arguments.length<2?O3(this,e).values.value:H3.call(this,e,Vg().remove(Fl).insert(n))},change:H3,insert:function OZe(e,n){return H3.call(this,e,Vg().insert(n))},remove:function HZe(e,n){return H3.call(this,e,Vg().remove(n))},scale:function mXe(e){var n=this._runtime.scales;return kt(n,e)||xe("Unrecognized scale or projection: "+e),n[e].value},initialize:function cXe(e,n){const t=this,i=t._renderType,r=t._eventConfig.bind,o=yF(i);e=t._el=e?RP(t,e,!0):null,function MZe(e){const n=e.container();n&&(n.setAttribute("role","graphics-document"),n.setAttribute("aria-roleDescription","visualization"),Wae(n,e.description()))}(t),o||t.error("Unrecognized renderer type: "+i);const a=o.handler||PC,s=e?o.renderer:o.headless;return t._renderer=s?tse(t,t._renderer,e,s):null,t._handler=function lXe(e,n,t,i){const r=new i(e.loader(),IP(e,e.tooltip())).scene(e.scenegraph().root).initialize(t,G3(e),e);return n&&n.handlers().forEach(o=>{r.on(o.type,o.handler)}),r}(t,t._handler,e,a),t._redraw=!0,e&&"none"!==r&&(n=n?t._elBind=RP(t,n,!0):e.appendChild(tl("form",{class:"vega-bindings"})),t._bind.forEach(l=>{l.param.element&&"container"!==r&&(l.element=RP(t,l.param.element,!!l.param.input))}),t._bind.forEach(l=>{JZe(t,l.element||n,l)})),t},toImageURL:function dXe(e,n){return kP.apply(this,arguments)},toCanvas:function fXe(e,n){return PP.apply(this,arguments)},toSVG:function hXe(e){return NP.apply(this,arguments)},getState:function vXe(e){return this._runtime.getState(e||{data:TXe,signals:CXe,recurse:!0})},setState:function bXe(e){return this.runAsync(null,n=>{n._trigger=!1,n._runtime.setState(e)},n=>{n._trigger=!0}),this},_watchPixelRatio:function FXe(){if("canvas"===this.renderer()&&this._renderer._canvas){let e=null;const n=()=>{e?.();const t=matchMedia(`(resolution: ${window.devicePixelRatio}dppx)`);t.addEventListener("change",n),e=()=>{t.removeEventListener("change",n)},this._renderer._canvas.getContext("2d").pixelRatio=window.devicePixelRatio||1,this._redraw=!0,this._resize=1,this.resize().runAsync()};n()}}});const DXe="view",z3="[",$3="]",hse="{",gse="}",EXe=":",mse=",",IXe="@",RXe=">",LXe=/[[\]{}]/,MXe={"*":1,arc:1,area:1,group:1,image:1,line:1,path:1,rect:1,rule:1,shape:1,symbol:1,text:1,trail:1};let yse,_se;function ch(e,n,t){return yse=n||DXe,_se=t||MXe,vse(e.trim()).map(HP)}function xb(e,n,t,i,r){const o=e.length;let s,a=0;for(;n=0?--a:i&&i.indexOf(s)>=0&&++a}return n}function vse(e){const n=[],t=e.length;let i=0,r=0;for(;r' after between selector: "+e;i=i.map(HP);const r=HP(e.slice(1).trim());return r.between?{between:i,stream:r}:(r.between=i,r)}(e):function NXe(e){const n={source:yse},t=[];let l,c,i=[0,0],r=0,o=0,a=e.length,s=0;if(e[a-1]===gse){if(s=e.lastIndexOf(hse),!(s>=0))throw"Unmatched right brace: "+e;try{i=function OXe(e){const n=e.split(mse);if(!e.length||n.length>2)throw e;return n.map(t=>{const i=+t;if(i!=i)throw e;return i})}(e.substring(s+1,a-1))}catch{throw"Invalid throttle specification: "+e}a=(e=e.slice(0,s).trim()).length,s=0}if(!a)throw e;if(e[0]===IXe&&(r=++s),l=xb(e,s,EXe),l1?(n.type=t[1],r?n.markname=t[0].slice(1):function kXe(e){return _se[e]}(t[0])?n.marktype=t[0]:n.source=t[0]):n.type=t[0],"!"===n.type.slice(-1)&&(n.consume=!0,n.type=n.type.slice(0,-1)),null!=c&&(n.filter=c),i[0]&&(n.throttle=i[0]),i[1]&&(n.debounce=i[1]),n}(e)}function HXe(e){return Je(e)?e:{type:e||"pad"}}const Fb=e=>+e||0,GXe=e=>({top:e,bottom:e,left:e,right:e});function BXe(e){return Je(e)?e.signal?e:{top:Fb(e.top),bottom:Fb(e.bottom),left:Fb(e.left),right:Fb(e.right)}:GXe(Fb(e))}const so=e=>Je(e)&&!De(e)?yn({},e):{value:e};function Tse(e,n,t,i){return null!=t?(Je(t)&&!De(t)||De(t)&&t.length&&Je(t[0])?e.update[n]=t:e[i||"enter"][n]={value:t},1):0}function Io(e,n,t){for(const i in n)Tse(e,i,n[i]);for(const i in t)Tse(e,i,t[i],"update")}function $_(e,n,t){for(const i in n)t&&kt(t,i)||(e[i]=yn(e[i]||{},n[i]));return e}function U_(e,n){return n&&(n.enter&&n.enter[e]||n.update&&n.update[e])}const GP="mark",BP="frame",YP="scope",YXe="axis",VXe="axis-domain",zXe="axis-grid",$Xe="axis-label",UXe="axis-tick",jXe="axis-title",WXe="legend",qXe="legend-band",KXe="legend-entry",ZXe="legend-gradient",Cse="legend-label",XXe="legend-symbol",QXe="legend-title",JXe="title",eQe="title-text",tQe="title-subtitle";function VP(e,n,t){e[n]=t&&t.signal?{signal:t.signal}:{value:t}}const bse=e=>it(e)?We(e):e.signal?`(${e.signal})`:Ase(e);function U3(e){if(null!=e.gradient)return function rQe(e){const n=[e.start,e.stop,e.count].map(t=>null==t?null:We(t));for(;n.length&&null==Ln(n);)n.pop();return n.unshift(bse(e.gradient)),`gradient(${n.join(",")})`}(e);let n=e.signal?`(${e.signal})`:e.color?function iQe(e){return e.c?j3("hcl",e.h,e.c,e.l):e.h||e.s?j3("hsl",e.h,e.s,e.l):e.l||e.a?j3("lab",e.l,e.a,e.b):e.r||e.g||e.b?j3("rgb",e.r,e.g,e.b):null}(e.color):null!=e.field?Ase(e.field):void 0!==e.value?We(e.value):void 0;return null!=e.scale&&(n=function oQe(e,n){const t=bse(e.scale);return null!=e.range?n=`lerp(_range(${t}), ${+e.range})`:(void 0!==n&&(n=`_scale(${t}, ${n})`),e.band&&(n=(n?n+"+":"")+`_bandwidth(${t})`+(1==+e.band?"":"*"+W3(e.band)),e.extra&&(n=`(datum.extra ? _scale(${t}, datum.extra.value) : ${n})`)),null==n&&(n="0")),n}(e,n)),void 0===n&&(n=null),null!=e.exponent&&(n=`pow(${n},${W3(e.exponent)})`),null!=e.mult&&(n+=`*${W3(e.mult)}`),null!=e.offset&&(n+=`+${W3(e.offset)}`),e.round&&(n=`round(${n})`),n}const j3=(e,n,t,i)=>`(${e}(${[n,t,i].map(U3).join(",")})+'')`;function W3(e){return Je(e)?"("+U3(e)+")":e}function Ase(e){return Sse(Je(e)?e:{datum:e})}function Sse(e){let n,t,i;if(e.signal)n="datum",i=e.signal;else if(e.group||e.parent){for(t=Math.max(1,e.level||1),n="item";t-- >0;)n+=".mark.group";e.parent?(i=e.parent,n+=".datum"):i=e.group}else e.datum?(n="datum",i=e.datum):xe("Invalid field reference: "+We(e));return e.signal||(i=it(i)?ku(i).map(We).join("]["):Sse(i)),n+"["+i+"]"}function wse(e,n,t,i,r,o){const a={};(o=o||{}).encoders={$encode:a},e=function nQe(e,n,t,i,r){const o={},a={};let s,l,c,u;for(l in l="lineBreak","text"===n&&null!=r[l]&&!U_(l,e)&&VP(o,l,r[l]),("legend"==t||String(t).startsWith("axis"))&&(t=null),u=t===BP?r.group:t===GP?yn({},r.mark,r[n]):null,u)c=U_(l,e)||("fill"===l||"stroke"===l)&&(U_("fill",e)||U_("stroke",e)),c||VP(o,l,u[l]);for(l in nt(i).forEach(d=>{const p=r.style&&r.style[d];for(const f in p)U_(f,e)||VP(o,f,p[f])}),e=yn({},e),o)u=o[l],u.signal?(s=s||{})[l]=u:a[l]=u;return e.enter=yn(a,e.enter),s&&(e.update=yn(s,e.update)),e}(e,n,t,i,r.config);for(const s in e)a[s]=sQe(e[s],n,o,r);return o}function sQe(e,n,t,i){const r={},o={};for(const a in e)null!=e[a]&&(r[a]=cQe(lQe(e[a]),i,t,o));return{$expr:{marktype:n,channels:r},$fields:Object.keys(o),$output:Object.keys(e)}}function lQe(e){return De(e)?function aQe(e){let n="";return e.forEach(t=>{const i=U3(t);n+=t.test?`(${t.test})?${i}:`:i}),":"===Ln(n)&&(n+="null"),n}(e):U3(e)}function cQe(e,n,t,i){const r=ed(e,n);return r.$fields.forEach(o=>i[o]=1),yn(t,r.$params),r.$expr}const uQe="outer",dQe=["value","update","init","react","bind"];function xse(e,n){xe(e+' for "outer" push: '+We(n))}function Fse(e,n){const t=e.name;if(e.push===uQe)n.signals[t]||xse("No prior signal definition",t),dQe.forEach(i=>{void 0!==e[i]&&xse("Invalid property ",i)});else{const i=n.addSignal(t,e.value);!1===e.react&&(i.react=!1),e.bind&&n.addBinding(t,e.bind)}}function zP(e,n,t,i){this.id=-1,this.type=e,this.value=n,this.params=t,i&&(this.parent=i)}function q3(e,n,t,i){return new zP(e,n,t,i)}function K3(e,n){return q3("operator",e,n)}function Nt(e){const n={$ref:e.id};return e.id<0&&(e.refs=e.refs||[]).push(n),n}function Db(e,n){return n?{$field:e,$name:n}:{$field:e}}const $P=Db("key");function Dse(e,n){return{$compare:e,$order:n}}const hQe="descending";function Z3(e,n){return(e&&e.signal?"$"+e.signal:e||"")+(e&&n?"_":"")+(n&&n.signal?"$"+n.signal:n||"")}const UP="scope",jP="view";function Kr(e){return e&&e.signal}function X3(e){if(Kr(e))return!0;if(Je(e))for(const n in e)if(X3(e[n]))return!0;return!1}function Pc(e,n){return e??n}function ym(e){return e&&e.signal||e}const Ese="timer";function Eb(e,n){return(e.merge?_Qe:e.stream?vQe:e.type?TQe:xe("Invalid stream specification: "+We(e)))(e,n)}function _Qe(e,n){const i=WP({merge:e.merge.map(r=>Eb(r,n))},e,n);return n.addStream(i).id}function vQe(e,n){const i=WP({stream:Eb(e.stream,n)},e,n);return n.addStream(i).id}function TQe(e,n){let t;e.type===Ese?(t=n.event(Ese,e.throttle),e={between:e.between,filter:e.filter}):t=n.event(function yQe(e){return e===UP?jP:e||jP}(e.source),e.type);const i=WP({stream:t},e,n);return 1===Object.keys(i).length?t:n.addStream(i).id}function WP(e,n,t){let i=n.between;return i&&(2!==i.length&&xe('Stream "between" parameter must have 2 entries: '+We(n)),e.between=[Eb(i[0],t),Eb(i[1],t)]),i=n.filter?[].concat(n.filter):[],(n.marktype||n.markname||n.markrole)&&i.push(function CQe(e,n,t){const i="event.item";return i+(e&&"*"!==e?"&&"+i+".mark.marktype==='"+e+"'":"")+(t?"&&"+i+".mark.role==='"+t+"'":"")+(n?"&&"+i+".mark.name==='"+n+"'":"")}(n.marktype,n.markname,n.markrole)),n.source===UP&&i.push("inScope(event.item)"),i.length&&(e.filter=ed("("+i.join(")&&(")+")",t).$expr),null!=(i=n.throttle)&&(e.throttle=+i),null!=(i=n.debounce)&&(e.debounce=+i),n.consume&&(e.consume=!0),e}const bQe={code:"_.$value",ast:{type:"Identifier",value:"value"}};function wQe(e){return{signal:"["+e.map(n=>n.scale?'scale("'+n.scale+'")':n.signal)+"]"}}const pi=e=>(n,t,i)=>q3(e,t,n||void 0,i),Ise=pi("aggregate"),FQe=pi("axisticks"),Rse=pi("bound"),Nc=pi("collect"),Lse=pi("compare"),DQe=pi("datajoin"),Mse=pi("encode"),EQe=pi("expression"),IQe=pi("facet"),RQe=pi("field"),LQe=pi("key"),MQe=pi("legendentries"),kQe=pi("load"),PQe=pi("mark"),NQe=pi("multiextent"),OQe=pi("multivalues"),HQe=pi("overlap"),GQe=pi("params"),kse=pi("prefacet"),BQe=pi("projection"),YQe=pi("proxy"),VQe=pi("relay"),Pse=pi("render"),zQe=pi("scale"),_m=pi("sieve"),$Qe=pi("sortitems"),Nse=pi("viewlayout"),UQe=pi("values");let jQe=0;const Ose={min:"min",max:"max",count:"sum"};function qQe(e,n){const t=n.getScale(e.name).params;let i;for(i in t.domain=Hse(e.domain,e,n),null!=e.range&&(t.range=Bse(e,n,t)),null!=e.interpolate&&function rJe(e,n){n.interpolate=Ol(e.type||e),null!=e.gamma&&(n.interpolateGamma=Ol(e.gamma))}(e.interpolate,t),null!=e.nice&&(t.nice=function iJe(e,n){return e.signal?n.signalRef(e.signal):Je(e)?{interval:Ol(e.interval),step:Ol(e.step)}:Ol(e)}(e.nice,n)),null!=e.bins&&(t.bins=function nJe(e,n){return e.signal||De(e)?Q3(e,n):n.objectProperty(e)}(e.bins,n)),e)kt(t,i)||"name"===i||(t[i]=Ol(e[i],n))}function Ol(e,n){return Je(e)?e.signal?n.signalRef(e.signal):xe("Unsupported object: "+We(e)):e}function Q3(e,n){return e.signal?n.signalRef(e.signal):e.map(t=>Ol(t,n))}function J3(e){xe("Can not find data set: "+We(e))}function Hse(e,n,t){if(e)return e.signal?t.signalRef(e.signal):(De(e)?KQe:e.fields?XQe:ZQe)(e,n,t);(null!=n.domainMin||null!=n.domainMax)&&xe("No scale domain defined for domainMin/domainMax to override.")}function KQe(e,n,t){return e.map(i=>Ol(i,t))}function ZQe(e,n,t){const i=t.getData(e.data);return i||J3(e.data),g_(n.type)?i.valuesRef(t,e.field,Gse(e.sort,!1)):Yee(n.type)?i.domainRef(t,e.field):i.extentRef(t,e.field)}function XQe(e,n,t){const i=e.data,r=e.fields.reduce((o,a)=>(a=it(a)?{data:i,field:a}:De(a)||a.signal?function QQe(e,n){const t="_:vega:_"+jQe++,i=Nc({});if(De(e))i.value={$ingest:e};else if(e.signal){const r="setdata("+We(t)+","+e.signal+")";i.params.input=n.signalRef(r)}return n.addDataPipeline(t,[i,_m({})]),{data:t,field:"data"}}(a,t):a,o.push(a),o),[]);return(g_(n.type)?JQe:Yee(n.type)?eJe:tJe)(e,t,r)}function JQe(e,n,t){const i=Gse(e.sort,!0);let r,o;const a=t.map(c=>{const u=n.getData(c.data);return u||J3(c.data),u.countsRef(n,c.field,i)}),s={groupby:$P,pulse:a};i&&(r=i.op||"count",o=i.field?Z3(r,i.field):"count",s.ops=[Ose[r]],s.fields=[n.fieldRef(o)],s.as=[o]),r=n.add(Ise(s));const l=n.add(Nc({pulse:Nt(r)}));return o=n.add(UQe({field:$P,sort:n.sortRef(i),pulse:Nt(l)})),Nt(o)}function Gse(e,n){return e&&(e.field||e.op?e.field||"count"===e.op?n&&e.field&&e.op&&!Ose[e.op]&&xe("Multiple domain scales can not be sorted using "+e.op):xe("No field provided for sort aggregate op: "+e.op):Je(e)?e.field="key":e={field:"key"}),e}function eJe(e,n,t){const i=t.map(r=>{const o=n.getData(r.data);return o||J3(r.data),o.domainRef(n,r.field)});return Nt(n.add(OQe({values:i})))}function tJe(e,n,t){const i=t.map(r=>{const o=n.getData(r.data);return o||J3(r.data),o.extentRef(n,r.field)});return Nt(n.add(NQe({extents:i})))}function Bse(e,n,t){const i=n.config.range;let r=e.range;if(r.signal)return n.signalRef(r.signal);if(it(r)){if(i&&kt(i,r))return Bse(e=yn({},e,{range:i[r]}),n,t);"width"===r?r=[0,{signal:"width"}]:"height"===r?r=g_(e.type)?[0,{signal:"height"}]:[{signal:"height"},0]:xe("Unrecognized scale range value: "+We(r))}else{if(r.scheme)return t.scheme=De(r.scheme)?Q3(r.scheme,n):Ol(r.scheme,n),r.extent&&(t.schemeExtent=Q3(r.extent,n)),void(r.count&&(t.schemeCount=Ol(r.count,n)));if(r.step)return void(t.rangeStep=Ol(r.step,n));if(g_(e.type)&&!De(r))return Hse(r,e,n);De(r)||xe("Unsupported range type: "+We(r))}return r.map(o=>(De(o)?Q3:Ol)(o,n))}function qP(e,n,t){return De(e)?e.map(i=>qP(i,n,t)):Je(e)?e.signal?t.signalRef(e.signal):"fit"===n?e:xe("Unsupported parameter object: "+We(e)):e}const Oc="top",j_="left",W_="right",uh="bottom",aJe="vertical",sJe="start",cJe="end",KP="index",ZP="label",uJe="offset",q_="perc",dJe="perc2",Hl="value",Ib="guide-label",XP="guide-title",pJe="group-title",fJe="group-subtitle",Vse="symbol",e5="gradient",QP="discrete",JP="size",eN=[JP,"shape","fill","stroke","strokeWidth","strokeDash","opacity"],Rb={name:1,style:1,interactive:1},Yn={value:0},Gl={value:1},t5="group",zse="rect",tN="rule",hJe="symbol",vm="text";function Lb(e){return e.type=t5,e.interactive=e.interactive||!1,e}function _s(e,n){const t=(i,r)=>Pc(e[i],Pc(n[i],r));return t.isVertical=i=>aJe===Pc(e.direction,n.direction||(i?n.symbolDirection:n.gradientDirection)),t.gradientLength=()=>Pc(e.gradientLength,n.gradientLength||n.gradientWidth),t.gradientThickness=()=>Pc(e.gradientThickness,n.gradientThickness||n.gradientHeight),t.entryColumns=()=>Pc(e.columns,Pc(n.columns,+t.isVertical(!0))),t}function $se(e,n){const t=n&&(n.update&&n.update[e]||n.enter&&n.enter[e]);return t&&t.signal?t:t?t.value:null}function n5(e,n,t){return`item.anchor === '${sJe}' ? ${e} : item.anchor === '${cJe}' ? ${n} : ${t}`}const nN=n5(We(j_),We(W_),We("center"));function Use(e,n){return n?e?Je(e)?Object.assign({},e,{offset:Use(e.offset,n)}):{value:e,offset:n}:n:e}function nl(e,n){return n?(e.name=n.name,e.style=n.style||e.style,e.interactive=!!n.interactive,e.encode=$_(e.encode,n,Rb)):e.interactive=!1,e}function yJe(e,n,t,i){const r=_s(e,t),o=r.isVertical(),a=r.gradientThickness(),s=r.gradientLength();let l,c,u,d,p;o?(c=[0,1],u=[0,0],d=a,p=s):(c=[0,0],u=[1,0],d=s,p=a);const f={enter:l={opacity:Yn,x:Yn,y:Yn,width:so(d),height:so(p)},update:yn({},l,{opacity:Gl,fill:{gradient:n,start:c,stop:u}}),exit:{opacity:Yn}};return Io(f,{stroke:r("gradientStrokeColor"),strokeWidth:r("gradientStrokeWidth")},{opacity:r("gradientOpacity")}),nl({type:zse,role:ZXe,encode:f},i)}function _Je(e,n,t,i,r){const o=_s(e,t),a=o.isVertical(),s=o.gradientThickness(),l=o.gradientLength();let c,u,d,p,f="";a?(c="y",d="y2",u="x",p="width",f="1-"):(c="x",d="x2",u="y",p="height");const h={opacity:Yn,fill:{scale:n,field:Hl}};h[c]={signal:f+"datum."+q_,mult:l},h[u]=Yn,h[d]={signal:f+"datum."+dJe,mult:l},h[p]=so(s);const g={enter:h,update:yn({},h,{opacity:Gl}),exit:{opacity:Yn}};return Io(g,{stroke:o("gradientStrokeColor"),strokeWidth:o("gradientStrokeWidth")},{opacity:o("gradientOpacity")}),nl({type:zse,role:qXe,key:Hl,from:r,encode:g},i)}const vJe=`datum.${q_}<=0?"${j_}":datum.${q_}>=1?"${W_}":"center"`,TJe=`datum.${q_}<=0?"${uh}":datum.${q_}>=1?"${Oc}":"middle"`;function jse(e,n,t,i){const r=_s(e,n),o=r.isVertical(),a=so(r.gradientThickness()),s=r.gradientLength();let c,u,d,p,l=r("labelOverlap"),f="";const h={enter:c={opacity:Yn},update:u={opacity:Gl,text:{field:ZP}},exit:{opacity:Yn}};return Io(h,{fill:r("labelColor"),fillOpacity:r("labelOpacity"),font:r("labelFont"),fontSize:r("labelFontSize"),fontStyle:r("labelFontStyle"),fontWeight:r("labelFontWeight"),limit:Pc(e.labelLimit,n.gradientLabelLimit)}),o?(c.align={value:"left"},c.baseline=u.baseline={signal:TJe},d="y",p="x",f="1-"):(c.align=u.align={signal:vJe},c.baseline={value:"top"},d="x",p="y"),c[d]=u[d]={signal:f+"datum."+q_,mult:s},c[p]=u[p]=a,a.offset=Pc(e.labelOffset,n.gradientLabelOffset)||0,l=l?{separation:r("labelSeparation"),method:l,order:"datum."+KP}:void 0,nl({type:vm,role:Cse,style:Ib,key:Hl,from:i,encode:h,overlap:l},t)}function CJe(e,n,t,i,r){const o=_s(e,n),a=t.entries,s=!(!a||!a.interactive),l=a?a.name:void 0,c=o("clipHeight"),u=o("symbolOffset"),d={data:"value"},p=`(${r}) ? datum.${uJe} : datum.${JP}`,f=c?so(c):{field:JP},h=`datum.${KP}`,g=`max(1, ${r})`;let m,_,v,C,A;f.mult=.5,m={enter:_={opacity:Yn,x:{signal:p,mult:.5,offset:u},y:f},update:v={opacity:Gl,x:_.x,y:_.y},exit:{opacity:Yn}};let S=null,I=null;e.fill||(S=n.symbolBaseFillColor,I=n.symbolBaseStrokeColor),Io(m,{fill:o("symbolFillColor",S),shape:o("symbolType"),size:o("symbolSize"),stroke:o("symbolStrokeColor",I),strokeDash:o("symbolDash"),strokeDashOffset:o("symbolDashOffset"),strokeWidth:o("symbolStrokeWidth")},{opacity:o("symbolOpacity")}),eN.forEach(W=>{e[W]&&(v[W]=_[W]={scale:e[W],field:Hl})});const w=nl({type:hJe,role:XXe,key:Hl,from:d,clip:!!c||void 0,encode:m},t.symbols),O=so(u);O.offset=o("labelOffset"),m={enter:_={opacity:Yn,x:{signal:p,offset:O},y:f},update:v={opacity:Gl,text:{field:ZP},x:_.x,y:_.y},exit:{opacity:Yn}},Io(m,{align:o("labelAlign"),baseline:o("labelBaseline"),fill:o("labelColor"),fillOpacity:o("labelOpacity"),font:o("labelFont"),fontSize:o("labelFontSize"),fontStyle:o("labelFontStyle"),fontWeight:o("labelFontWeight"),limit:o("labelLimit")});const B=nl({type:vm,role:Cse,style:Ib,key:Hl,from:d,encode:m},t.labels);return m={enter:{noBound:{value:!c},width:Yn,height:c?so(c):Yn,opacity:Yn},exit:{opacity:Yn},update:v={opacity:Gl,row:{signal:null},column:{signal:null}}},o.isVertical(!0)?(C=`ceil(item.mark.items.length / ${g})`,v.row.signal=`${h}%${C}`,v.column.signal=`floor(${h} / ${C})`,A={field:["row",h]}):(v.row.signal=`floor(${h} / ${g})`,v.column.signal=`${h} % ${g}`,A={field:h}),v.column.signal=`(${r})?${v.column.signal}:${h}`,Lb({role:YP,from:i={facet:{data:i,name:"value",groupby:KP}},encode:$_(m,a,Rb),marks:[w,B],name:l,interactive:s,sort:A})}const iN='item.orient === "left"',rN='item.orient === "right"',r5=`(${iN} || ${rN})`,AJe=`datum.vgrad && ${r5}`,SJe=n5('"top"','"bottom"','"middle"'),xJe=`datum.vgrad && ${rN} ? (${n5('"right"','"left"','"center"')}) : (${r5} && !(datum.vgrad && ${iN})) ? "left" : ${nN}`,FJe=`item._anchor || (${r5} ? "middle" : "start")`,DJe=`${AJe} ? (${iN} ? -90 : 90) : 0`,EJe=`${r5} ? (datum.vgrad ? (${rN} ? "bottom" : "top") : ${SJe}) : "top"`;function RJe(e,n){let t;return Je(e)&&(e.signal?t=e.signal:e.path?t="pathShape("+Wse(e.path)+")":e.sphere&&(t="geoShape("+Wse(e.sphere)+', {type: "Sphere"})')),t?n.signalRef(t):!!e}function Wse(e){return Je(e)&&e.signal?e.signal:We(e)}function qse(e){const n=e.role||"";return n.startsWith("axis")||n.startsWith("legend")||n.startsWith("title")?n:e.type===t5?YP:n||GP}function LJe(e){return{marktype:e.type,name:e.name||void 0,role:e.role||qse(e),zindex:+e.zindex||void 0,aria:e.aria,description:e.description}}function MJe(e,n){return e&&e.signal?n.signalRef(e.signal):!1!==e}function oN(e,n){const t=zQ(e.type);t||xe("Unrecognized transform type: "+We(e.type));const i=q3(t.type.toLowerCase(),null,Kse(t,e,n));return e.signal&&n.addSignal(e.signal,n.proxy(i)),i.metadata=t.metadata||{},i}function Kse(e,n,t){const i={},r=e.params.length;for(let o=0;oXse(e,r,t))):Xse(e,i,t)}(e,n,t):"projection"===i?t.projectionRef(n[e.name]):e.array&&!Kr(r)?r.map(o=>Zse(e,o,t)):Zse(e,r,t):void(e.required&&xe("Missing required "+We(n.type)+" parameter: "+We(e.name)))}function Zse(e,n,t){const i=e.type;if(Kr(n))return Qse(i)?xe("Expression references can not be signals."):aN(i)?t.fieldRef(n):Jse(i)?t.compareRef(n):t.signalRef(n.signal);{const r=e.expr||aN(i);return r&&OJe(n)?t.exprRef(n.expr,n.as):r&&HJe(n)?Db(n.field,n.as):Qse(i)?ed(n,t):GJe(i)?Nt(t.getData(n).values):aN(i)?Db(n):Jse(i)?t.compareRef(n):n}}function Xse(e,n,t){const i=e.params.length;let r;for(let a=0;ae&&e.expr,HJe=e=>e&&e.field,GJe=e=>"data"===e,Qse=e=>"expr"===e,aN=e=>"field"===e,Jse=e=>"compare"===e;function o5(e,n){return e.$ref?e:e.data&&e.data.$ref?e.data:Nt(n.getData(e.data).output)}function Tm(e,n,t,i,r){this.scope=e,this.input=n,this.output=t,this.values=i,this.aggregate=r,this.index={}}function ele(e){return it(e)?e:null}function tle(e,n,t){const i=Z3(t.op,t.field);let r;if(n.ops){for(let o=0,a=n.as.length;od??"null").join(",")+"),0)",n);l.update=u.$expr,l.params=u.$params}function a5(e,n){const t=qse(e),i=e.type===t5,r=e.from&&e.from.facet,o=e.overlap;let s,l,c,u,d,p,f,a=e.layout||t===YP||t===BP;const h=t===GP||a||r,g=function BJe(e,n,t){let i,r,o,a,s;return e?(i=e.facet)&&(n||xe("Only group marks can be faceted."),null!=i.field?a=s=o5(i,t):(e.data?s=Nt(t.getData(e.data).aggregate):(o=oN(yn({type:"aggregate",groupby:nt(i.groupby)},i.aggregate),t),o.params.key=t.keyRef(i.groupby),o.params.pulse=o5(i,t),a=s=Nt(t.add(o))),r=t.keyRef(i.groupby,!0))):a=Nt(t.add(Nc(null,[{}]))),a||(a=o5(e,t)),{key:r,pulse:a,parent:s}}(e.from,i,n);l=n.add(DQe({key:g.key||(e.key?Db(e.key):void 0),pulse:g.pulse,clean:!i}));const m=Nt(l);l=c=n.add(Nc({pulse:m})),l=n.add(PQe({markdef:LJe(e),interactive:MJe(e.interactive,n),clip:RJe(e.clip,n),context:{$context:!0},groups:n.lookup(),parent:n.signals.parent?n.signalRef("parent"):null,index:n.markpath(),pulse:Nt(l)}));const _=Nt(l);l=u=n.add(Mse(wse(e.encode,e.type,t,e.style,n,{mod:!1,pulse:_}))),l.params.parent=n.encode(),e.transform&&e.transform.forEach(I=>{const w=oN(I,n),O=w.metadata;(O.generates||O.changes)&&xe("Mark transforms should not generate new data."),O.nomod||(u.params.mod=!0),w.params.pulse=Nt(l),n.add(l=w)}),e.sort&&(l=n.add($Qe({sort:n.compareRef(e.sort),pulse:Nt(l)})));const v=Nt(l);(r||a)&&(a=n.add(Nse({layout:n.objectProperty(e.layout),legends:n.legends,mark:_,pulse:v})),p=Nt(a));const C=n.add(Rse({mark:_,pulse:p||v}));f=Nt(C),i&&(h&&(s=n.operators,s.pop(),a&&s.pop()),n.pushState(v,p||f,m),r?function YJe(e,n,t){const i=e.from.facet,r=i.name,o=o5(i,n);let a;i.name||xe("Facet must have a name: "+We(i)),i.data||xe("Facet must reference a data set: "+We(i)),i.field?a=n.add(kse({field:n.fieldRef(i.field),pulse:o})):i.groupby?a=n.add(IQe({key:n.keyRef(i.groupby),group:Nt(n.proxy(t.parent)),pulse:o})):xe("Facet must specify groupby or field: "+We(i));const s=n.fork(),l=s.add(Nc()),c=s.add(_m({pulse:Nt(l)}));s.addData(r,new Tm(s,l,l,c)),s.addSignal("parent",null),a.params.subflow={$subflow:s.parse(e).toRuntime()}}(e,n,g):h?function VJe(e,n,t){const i=n.add(kse({pulse:t.pulse})),r=n.fork();r.add(_m()),r.addSignal("parent",null),i.params.subflow={$subflow:r.parse(e).toRuntime()}}(e,n,g):n.parse(e),n.popState(),h&&(a&&s.push(a),s.push(C))),o&&(f=function zJe(e,n,t){const i=e.method,r=e.bound,o=e.separation,a={separation:Kr(o)?t.signalRef(o.signal):o,method:Kr(i)?t.signalRef(i.signal):i,pulse:n};if(e.order&&(a.sort=t.compareRef({field:e.order})),r){const s=r.tolerance;a.boundTolerance=Kr(s)?t.signalRef(s.signal):+s,a.boundScale=t.scaleRef(r.scale),a.boundOrient=r.orient}return Nt(t.add(HQe(a)))}(o,f,n));const A=n.add(Pse({pulse:f})),S=n.add(_m({pulse:Nt(A)},void 0,n.parent()));null!=e.name&&(d=e.name,n.addData(d,new Tm(n,c,A,S)),e.on&&e.on.forEach(I=>{(I.insert||I.remove||I.toggle)&&xe("Marks only support modify triggers."),nle(I,n,d)}))}function WJe(e,n,t){const i={enter:{},update:{}};return Io(i,{orient:e("orient"),offset:e("offset"),padding:e("padding"),titlePadding:e("titlePadding"),cornerRadius:e("cornerRadius"),fill:e("fillColor"),stroke:e("strokeColor"),strokeWidth:t.strokeWidth,strokeDash:t.strokeDash,x:e("legendX"),y:e("legendY"),format:n.format,formatType:n.formatType}),i}function ile(e,n,t){return n[e]?`scale("${n[e]}",datum)`:$se(e,t[0].encode)}Tm.fromEntries=function(e,n){const t=n.length,i=n[t-1],r=n[t-2];let o=n[0],a=null,s=1;for(o&&"load"===o.type&&(o=n[1]),e.add(n[0]);se===uh||e===Oc,s5=(e,n,t)=>Kr(e)?set(e.signal,n,t):e===j_||e===Oc?n:t,lo=(e,n,t)=>Kr(e)?oet(e.signal,n,t):ole(e)?n:t,Hc=(e,n,t)=>Kr(e)?aet(e.signal,n,t):ole(e)?t:n,ale=(e,n,t)=>Kr(e)?cet(e.signal,n,t):e===Oc?{value:n}:{value:t},ret=(e,n,t)=>Kr(e)?uet(e.signal,n,t):e===W_?{value:n}:{value:t},oet=(e,n,t)=>sle(`${e} === '${Oc}' || ${e} === '${uh}'`,n,t),aet=(e,n,t)=>sle(`${e} !== '${Oc}' && ${e} !== '${uh}'`,n,t),set=(e,n,t)=>sN(`${e} === '${j_}' || ${e} === '${Oc}'`,n,t),cet=(e,n,t)=>sN(`${e} === '${Oc}'`,n,t),uet=(e,n,t)=>sN(`${e} === '${W_}'`,n,t),sle=(e,n,t)=>(n=null!=n?so(n):n,t=null!=t?so(t):t,lle(n)&&lle(t)?{signal:`${e} ? (${n=n?n.signal||We(n.value):null}) : (${t=t?t.signal||We(t.value):null})`}:[yn({test:e},n)].concat(t||[])),lle=e=>null==e||1===Object.keys(e).length,sN=(e,n,t)=>({signal:`${e} ? (${K_(n)}) : (${K_(t)})`}),det=(e,n,t,i,r)=>({signal:(null!=i?`${e} === '${j_}' ? (${K_(i)}) : `:"")+(null!=t?`${e} === '${uh}' ? (${K_(t)}) : `:"")+(null!=r?`${e} === '${W_}' ? (${K_(r)}) : `:"")+(null!=n?`${e} === '${Oc}' ? (${K_(n)}) : `:"")+"(null)"}),K_=e=>Kr(e)?e.signal:null==e?null:We(e),pet=(e,n)=>0===n?0:Kr(e)?{signal:`(${e.signal}) * ${n}`}:{value:e*n},Z_=(e,n)=>{const t=e.signal;return t&&t.endsWith("(null)")?{signal:t.slice(0,-6)+n.signal}:e};function X_(e,n,t,i){let r;if(n&&kt(n,e))return n[e];if(kt(t,e))return t[e];if(e.startsWith("title")){switch(e){case"titleColor":r="fill";break;case"titleFont":case"titleFontSize":case"titleFontWeight":r=e[5].toLowerCase()+e.slice(6)}return i[XP][r]}if(e.startsWith("label")){switch(e){case"labelColor":r="fill";break;case"labelFont":case"labelFontSize":r=e[5].toLowerCase()+e.slice(6)}return i[Ib][r]}return null}function cle(e){const n={};for(const t of e)if(t)for(const i in t)n[i]=1;return Object.keys(n)}function ule(e,n){return{scale:e.scale,range:n}}function lN(e,n,t,i,r){return{signal:'flush(range("'+e+'"), scale("'+e+'", datum.value), '+n+","+t+","+i+","+r+")"}}function Cet(e,n){const t=function fet(e,n){var s,l,c,t=n.config,i=t.style,r=t.axis,o="band"===n.scaleType(e.scale)&&t.axisBand,a=e.orient;if(Kr(a)){const d=cle([t.axisX,t.axisY]),p=cle([t.axisTop,t.axisBottom,t.axisLeft,t.axisRight]);for(c of(s={},d))s[c]=lo(a,X_(c,t.axisX,r,i),X_(c,t.axisY,r,i));for(c of(l={},p))l[c]=det(a.signal,X_(c,t.axisTop,r,i),X_(c,t.axisBottom,r,i),X_(c,t.axisLeft,r,i),X_(c,t.axisRight,r,i))}else s=a===Oc||a===uh?t.axisX:t.axisY,l=t["axis"+a[0].toUpperCase()+a.slice(1)];return s||l||o?yn({},r,s,l,o):r}(e,n),i=e.encode||{},r=i.axis||{},o=r.name||void 0,a=r.interactive,s=r.style,l=_s(e,t),c=function mJe(e){const n=e("tickBand");let i,r,t=e("tickOffset");return n?n.signal?(i={signal:`(${n.signal}) === 'extent' ? 1 : 0.5`},r={signal:`(${n.signal}) === 'extent'`},Je(t)||(t={signal:`(${n.signal}) === 'extent' ? 0 : ${t}`})):"extent"===n?(i=1,r=!0,t=0):(i=.5,r=!1):(i=e("bandPosition"),r=e("tickExtra")),{extra:r,band:i,offset:t}}(l),u={scale:e.scale,ticks:!!l("ticks"),labels:!!l("labels"),grid:!!l("grid"),domain:!!l("domain"),title:null!=e.title},d=Nt(n.add(Nc({},[u]))),p=Nt(n.add(FQe({scale:n.scaleRef(e.scale),extra:n.property(c.extra),count:n.objectProperty(e.tickCount),values:n.objectProperty(e.values),minstep:n.property(e.tickMinStep),formatType:n.property(e.formatType),formatSpecifier:n.property(e.format)}))),f=[];let h;return u.grid&&f.push(function get(e,n,t,i,r){const o=_s(e,n),a=e.orient,s=e.gridScale,l=s5(a,1,-1),c=function met(e,n){if(1!==n)if(Je(e)){let t=e=yn({},e);for(;null!=t.mult;){if(!Je(t.mult))return t.mult=Kr(n)?{signal:`(${t.mult}) * (${n.signal})`}:t.mult*n,e;t=t.mult=yn({},t.mult)}t.mult=n}else e=Kr(n)?{signal:`(${n.signal}) * (${e||0})`}:n*(e||0);return e}(e.offset,l);let u,d,p;const f={enter:u={opacity:Yn},update:p={opacity:Gl},exit:d={opacity:Yn}};Io(f,{stroke:o("gridColor"),strokeCap:o("gridCap"),strokeDash:o("gridDash"),strokeDashOffset:o("gridDashOffset"),strokeOpacity:o("gridOpacity"),strokeWidth:o("gridWidth")});const h={scale:e.scale,field:Hl,band:r.band,extra:r.extra,offset:r.offset,round:o("tickRound")},g=lo(a,{signal:"height"},{signal:"width"}),m=s?{scale:s,range:0,mult:l,offset:c}:{value:0,offset:c},_=s?{scale:s,range:1,mult:l,offset:c}:yn(g,{mult:l,offset:c});return u.x=p.x=lo(a,h,m),u.y=p.y=Hc(a,h,m),u.x2=p.x2=Hc(a,_),u.y2=p.y2=lo(a,_),d.x=lo(a,h),d.y=Hc(a,h),nl({type:tN,role:zXe,key:Hl,from:i,encode:f},t)}(e,t,i.grid,p,c)),u.ticks&&(h=l("tickSize"),f.push(function yet(e,n,t,i,r,o){const a=_s(e,n),s=e.orient,l=s5(s,-1,1);let c,u,d;const p={enter:c={opacity:Yn},update:d={opacity:Gl},exit:u={opacity:Yn}};Io(p,{stroke:a("tickColor"),strokeCap:a("tickCap"),strokeDash:a("tickDash"),strokeDashOffset:a("tickDashOffset"),strokeOpacity:a("tickOpacity"),strokeWidth:a("tickWidth")});const f=so(r);f.mult=l;const h={scale:e.scale,field:Hl,band:o.band,extra:o.extra,offset:o.offset,round:a("tickRound")};return d.y=c.y=lo(s,Yn,h),d.y2=c.y2=lo(s,f),u.x=lo(s,h),d.x=c.x=Hc(s,Yn,h),d.x2=c.x2=Hc(s,f),u.y=Hc(s,h),nl({type:tN,role:UXe,key:Hl,from:i,encode:p},t)}(e,t,i.ticks,p,h,c))),u.labels&&(h=u.ticks?h:0,f.push(function _et(e,n,t,i,r,o){const a=_s(e,n),s=e.orient,l=e.scale,c=s5(s,-1,1),u=ym(a("labelFlush")),d=ym(a("labelFlushOffset")),p=a("labelAlign"),f=a("labelBaseline");let g,h=0===u||!!u;const m=so(r);m.mult=c,m.offset=so(a("labelPadding")||0),m.offset.mult=c;const _={scale:l,field:Hl,band:.5,offset:Use(o.offset,a("labelOffset"))},v=lo(s,h?lN(l,u,'"left"','"right"','"center"'):{value:"center"},ret(s,"left","right")),C=lo(s,ale(s,"bottom","top"),h?lN(l,u,'"top"','"bottom"','"middle"'):{value:"middle"}),A=lN(l,u,`-(${d})`,d,0);h=h&&d;const S={opacity:Yn,x:lo(s,_,m),y:Hc(s,_,m)},I={enter:S,update:g={opacity:Gl,text:{field:ZP},x:S.x,y:S.y,align:v,baseline:C},exit:{opacity:Yn,x:S.x,y:S.y}};Io(I,{dx:!p&&h?lo(s,A):null,dy:!f&&h?Hc(s,A):null}),Io(I,{angle:a("labelAngle"),fill:a("labelColor"),fillOpacity:a("labelOpacity"),font:a("labelFont"),fontSize:a("labelFontSize"),fontWeight:a("labelFontWeight"),fontStyle:a("labelFontStyle"),limit:a("labelLimit"),lineHeight:a("labelLineHeight")},{align:p,baseline:f});const w=a("labelBound");let O=a("labelOverlap");return O=O||w?{separation:a("labelSeparation"),method:O,order:"datum.index",bound:w?{scale:l,orient:s,tolerance:w}:null}:void 0,g.align!==v&&(g.align=Z_(g.align,v)),g.baseline!==C&&(g.baseline=Z_(g.baseline,C)),nl({type:vm,role:$Xe,style:Ib,key:Hl,from:i,encode:I,overlap:O},t)}(e,t,i.labels,p,h,c))),u.domain&&f.push(function het(e,n,t,i){const r=_s(e,n),o=e.orient;let a,s;const l={enter:a={opacity:Yn},update:s={opacity:Gl},exit:{opacity:Yn}};Io(l,{stroke:r("domainColor"),strokeCap:r("domainCap"),strokeDash:r("domainDash"),strokeDashOffset:r("domainDashOffset"),strokeWidth:r("domainWidth"),strokeOpacity:r("domainOpacity")});const c=ule(e,0),u=ule(e,1);return a.x=s.x=lo(o,c,Yn),a.x2=s.x2=lo(o,u),a.y=s.y=Hc(o,c,Yn),a.y2=s.y2=Hc(o,u),nl({type:tN,role:VXe,from:i,encode:l},t)}(e,t,i.domain,d)),u.title&&f.push(function vet(e,n,t,i){const r=_s(e,n),o=e.orient,a=s5(o,-1,1);let s,l;const c={enter:s={opacity:Yn,anchor:so(r("titleAnchor",null)),align:{signal:nN}},update:l=yn({},s,{opacity:Gl,text:so(e.title)}),exit:{opacity:Yn}},u={signal:`lerp(range("${e.scale}"), ${n5(0,1,.5)})`};return l.x=lo(o,u),l.y=Hc(o,u),s.angle=lo(o,Yn,pet(a,90)),s.baseline=lo(o,ale(o,uh,Oc),{value:uh}),l.angle=s.angle,l.baseline=s.baseline,Io(c,{fill:r("titleColor"),fillOpacity:r("titleOpacity"),font:r("titleFont"),fontSize:r("titleFontSize"),fontStyle:r("titleFontStyle"),fontWeight:r("titleFontWeight"),limit:r("titleLimit"),lineHeight:r("titleLineHeight")},{align:r("titleAlign"),angle:r("titleAngle"),baseline:r("titleBaseline")}),function Tet(e,n,t,i){const r=(s,l)=>null!=s?(t.update[l]=Z_(so(s),t.update[l]),!1):!U_(l,i),o=r(e("titleX"),"x"),a=r(e("titleY"),"y");t.enter.auto=a===o?so(a):lo(n,so(a),so(o))}(r,o,c,t),c.update.align=Z_(c.update.align,s.align),c.update.angle=Z_(c.update.angle,s.angle),c.update.baseline=Z_(c.update.baseline,s.baseline),nl({type:vm,role:jXe,style:XP,from:i,encode:c},t)}(e,t,i.title,d)),a5(Lb({role:YXe,from:d,encode:$_(bet(l,e),r,Rb),marks:f,aria:l("aria"),description:l("description"),zindex:l("zindex"),name:o,interactive:a,style:s}),n)}function bet(e,n){const t={enter:{},update:{}};return Io(t,{orient:e("orient"),offset:e("offset")||0,position:Pc(n.position,0),titlePadding:e("titlePadding"),minExtent:e("minExtent"),maxExtent:e("maxExtent"),range:{signal:`abs(span(range("${n.scale}")))`},translate:e("translate"),format:n.format,formatType:n.formatType}),t}function dle(e,n,t){const i=nt(e.signals),r=nt(e.scales);return t||i.forEach(o=>Fse(o,n)),nt(e.projections).forEach(o=>function oJe(e,n){const t=n.config.projection||{},i={};for(const r in e)"name"!==r&&(i[r]=qP(e[r],r,n));for(const r in t)null==i[r]&&(i[r]=qP(t[r],r,n));n.addProjection(e.name,i)}(o,n)),r.forEach(o=>function WQe(e,n){const t=e.type||"linear";Hee(t)||xe("Unrecognized scale type: "+We(t)),n.addScale(e.name,{type:t,domain:void 0})}(o,n)),nt(e.data).forEach(o=>function net(e,n){const t=[];e.transform&&e.transform.forEach(i=>{t.push(oN(i,n))}),e.on&&e.on.forEach(i=>{nle(i,n,e.name)}),n.addDataPipeline(e.name,function iet(e,n,t){const i=[];let s,l,c,u,d,r=null,o=!1,a=!1;for(e.values?Kr(e.values)||X3(e.format)?(i.push(rle(n,e)),i.push(r=Cm())):i.push(r=Cm({$ingest:e.values,$format:e.format})):e.url?X3(e.url)||X3(e.format)?(i.push(rle(n,e)),i.push(r=Cm())):i.push(r=Cm({$request:e.url,$format:e.format})):e.source&&(r=s=nt(e.source).map(p=>Nt(n.getData(p).output)),i.push(null)),l=0,c=t.length;lqQe(o,n)),(t||i).forEach(o=>function xQe(e,n){const t=n.getSignal(e.name);let i=e.update;e.init&&(i?xe("Signals can not include both init and update expressions."):(i=e.init,t.initonly=!0)),i&&(i=ed(i,n),t.update=i.$expr,t.params=i.$params),e.on&&e.on.forEach(r=>function AQe(e,n,t){const i=e.encode,r={target:t};let o=e.events,a=e.update,s=[];o||xe("Signal update missing events specification."),it(o)&&(o=ch(o,n.isSubscope()?UP:jP)),o=nt(o).filter(l=>l.signal||l.scale?(s.push(l),0):1),s.length>1&&(s=[wQe(s)]),o.length&&s.push(o.length>1?{merge:o}:o[0]),null!=i&&(a&&xe("Signal encode and update are mutually exclusive."),a="encode(item(),"+We(i)+")"),r.update=it(a)?ed(a,n):null!=a.expr?ed(a.expr,n):null!=a.value?a.value:null!=a.signal?{$expr:bQe,$params:{$value:n.signalRef(a.signal)}}:xe("Invalid signal update specification."),e.force&&(r.options={force:!0}),s.forEach(l=>n.addUpdate(yn(function SQe(e,n){return{source:e.signal?n.signalRef(e.signal):e.scale?n.scaleRef(e.scale):Eb(e,n)}}(l,n),r)))}(r,n,t.id))}(o,n)),nt(e.axes).forEach(o=>Cet(o,n)),nt(e.marks).forEach(o=>a5(o,n)),nt(e.legends).forEach(o=>function $Je(e,n){const t=n.config.legend,i=e.encode||{},r=_s(e,t),o=i.legend||{},a=o.name||void 0,s=o.interactive,l=o.style,c={};let d,p,f,u=0;eN.forEach(C=>e[C]?(c[C]=e[C],u=u||e[C]):0),u||xe("Missing valid scale for legend.");const h=function UJe(e,n){let t=e.type||Vse;return!e.type&&1===function jJe(e){return eN.reduce((n,t)=>n+(e[t]?1:0),0)}(e)&&(e.fill||e.stroke)&&(t=HL(n)?e5:GL(n)?QP:Vse),t!==e5?t:GL(n)?QP:e5}(e,n.scaleType(u)),g={title:null!=e.title,scales:c,type:h,vgrad:"symbol"!==h&&r.isVertical()},m=Nt(n.add(Nc(null,[g]))),v=Nt(n.add(MQe(p={type:h,scale:n.scaleRef(u),count:n.objectProperty(r("tickCount")),limit:n.property(r("symbolLimit")),values:n.objectProperty(e.values),minstep:n.property(e.tickMinStep),formatType:n.property(e.formatType),formatSpecifier:n.property(e.format)})));return h===e5?(f=[yJe(e,u,t,i.gradient),jse(e,t,i.labels,v)],p.count=p.count||n.signalRef(`max(2,2*floor((${ym(r.gradientLength())})/100))`)):h===QP?f=[_Je(e,u,t,i.gradient,v),jse(e,t,i.labels,v)]:(d=function bJe(e,n){const t=_s(e,n);return{align:t("gridAlign"),columns:t.entryColumns(),center:{row:!0,column:!1},padding:{row:t("rowPadding"),column:t("columnPadding")}}}(e,t),f=[CJe(e,t,i,v,ym(d.columns))],p.size=function qJe(e,n,t){const i=ym(ile("size",e,t)),r=ym(ile("strokeWidth",e,t)),o=ym(function KJe(e,n,t){return $se("fontSize",e)||function gJe(e,n,t){const i=n.config.style[t];return i&&i[e]}("fontSize",n,t)}(t[1].encode,n,Ib));return ed(`max(ceil(sqrt(${i})+${r}),${o})`,n)}(e,n,f[0].marks)),f=[Lb({role:KXe,from:m,encode:{enter:{x:{value:0},y:{value:0}}},marks:f,layout:d,interactive:s})],g.title&&f.push(function IJe(e,n,t,i){const r=_s(e,n),o={enter:{opacity:Yn},update:{opacity:Gl,x:{field:{group:"padding"}},y:{field:{group:"padding"}}},exit:{opacity:Yn}};return Io(o,{orient:r("titleOrient"),_anchor:r("titleAnchor"),anchor:{signal:FJe},angle:{signal:DJe},align:{signal:xJe},baseline:{signal:EJe},text:e.title,fill:r("titleColor"),fillOpacity:r("titleOpacity"),font:r("titleFont"),fontSize:r("titleFontSize"),fontStyle:r("titleFontStyle"),fontWeight:r("titleFontWeight"),limit:r("titleLimit"),lineHeight:r("titleLineHeight")},{align:r("titleAlign"),baseline:r("titleBaseline")}),nl({type:vm,role:QXe,style:XP,from:i,encode:o},t)}(e,t,i.title,m)),a5(Lb({role:WXe,from:m,encode:$_(WJe(r,e,t),o,Rb),marks:f,aria:r("aria"),description:r("description"),zindex:r("zindex"),name:a,interactive:s,style:l}),n)}(o,n)),e.title&&function XJe(e,n){const t=_s(e=it(e)?{text:e}:e,n.config.title),i=e.encode||{},r=i.group||{},o=r.name||void 0,a=r.interactive,s=r.style,l=[],u=Nt(n.add(Nc(null,[{}])));return l.push(function eet(e,n,t,i){const r={value:0},a={enter:{opacity:r},update:{opacity:{value:1}},exit:{opacity:r}};return Io(a,{text:e.text,align:{signal:"item.mark.group.align"},angle:{signal:"item.mark.group.angle"},limit:{signal:"item.mark.group.limit"},baseline:"top",dx:n("dx"),dy:n("dy"),fill:n("color"),font:n("font"),fontSize:n("fontSize"),fontStyle:n("fontStyle"),fontWeight:n("fontWeight"),lineHeight:n("lineHeight")},{align:n("align"),angle:n("angle"),baseline:n("baseline")}),nl({type:vm,role:eQe,style:pJe,from:i,encode:a},t)}(e,t,function QJe(e){const n=e.encode;return n&&n.title||yn({name:e.name,interactive:e.interactive,style:e.style},n)}(e),u)),e.subtitle&&l.push(function tet(e,n,t,i){const r={value:0},a={enter:{opacity:r},update:{opacity:{value:1}},exit:{opacity:r}};return Io(a,{text:e.subtitle,align:{signal:"item.mark.group.align"},angle:{signal:"item.mark.group.angle"},limit:{signal:"item.mark.group.limit"},baseline:"top",dx:n("dx"),dy:n("dy"),fill:n("subtitleColor"),font:n("subtitleFont"),fontSize:n("subtitleFontSize"),fontStyle:n("subtitleFontStyle"),fontWeight:n("subtitleFontWeight"),lineHeight:n("subtitleLineHeight")},{align:n("align"),angle:n("angle"),baseline:n("baseline")}),nl({type:vm,role:tQe,style:fJe,from:i,encode:a},t)}(e,t,i.subtitle,u)),a5(Lb({role:JXe,from:u,encode:JJe(t,r),marks:l,aria:t("aria"),description:t("description"),zindex:t("zindex"),name:o,interactive:a,style:s}),n)}(e.title,n),n.parseLambdas(),n}const Aet=e=>$_({enter:{x:{value:0},y:{value:0}},update:{width:{signal:"width"},height:{signal:"height"}}},e);function kb(e,n){return n&&n.signal?{name:e,update:n.signal}:{name:e,value:n}}function ple(e,n){this.config=e||{},this.options=n||{},this.bindings=[],this.field={},this.signals={},this.lambdas={},this.scales={},this.events={},this.data={},this.streams=[],this.updates=[],this.operators=[],this.eventConfig=null,this.locale=null,this._id=0,this._subid=0,this._nextsub=[0],this._parent=[],this._encode=[],this._lookup=[],this._markpath=[]}function fle(e){this.config=e.config,this.options=e.options,this.legends=e.legends,this.field=Object.create(e.field),this.signals=Object.create(e.signals),this.lambdas=Object.create(e.lambdas),this.scales=Object.create(e.scales),this.events=Object.create(e.events),this.data=Object.create(e.data),this.streams=[],this.updates=[],this.operators=[],this._id=0,this._subid=++e._nextsub[0],this._nextsub=e._nextsub,this._parent=e._parent.slice(),this._encode=e._encode.slice(),this._lookup=e._lookup.slice(),this._markpath=e._markpath}function cN(e){return(De(e)?Fet:Det)(e)}function Fet(e){const n=e.length;let t="[";for(let i=0;i0?",":"")+(Je(r)?r.signal||cN(r):We(r))}return t+"]"}function Det(e){let i,r,n="{",t=0;for(i in e)r=e[i],n+=(++t>1?",":"")+We(i)+":"+(Je(r)?r.signal||cN(r):We(r));return n+"}"}function Iet(e,n,t){return Je(e)||xe("Input Vega specification must be an object."),function wet(e,n){const t=n.config,i=Nt(n.root=n.add(K3())),r=function xet(e,n){const t=a=>Pc(e[a],n[a]),i=[kb("background",t("background")),kb("autosize",HXe(t("autosize"))),kb("padding",BXe(t("padding"))),kb("width",t("width")||0),kb("height",t("height")||0)],r=i.reduce((a,s)=>(a[s.name]=s,a),{}),o={};return nt(e.signals).forEach(a=>{kt(r,a.name)?a=yn(r[a.name],a):i.push(a),o[a.name]=a}),nt(n.signals).forEach(a=>{!kt(o,a.name)&&!kt(r,a.name)&&i.push(a)}),i}(e,t);r.forEach(c=>Fse(c,n)),n.description=e.description||t.description,n.eventConfig=t.events,n.legends=n.objectProperty(t.legend&&t.legend.layout),n.locale=t.locale;const o=n.add(Nc()),a=n.add(Mse(wse(Aet(e.encode),t5,BP,e.style,n,{pulse:Nt(o)}))),s=n.add(Nse({layout:n.objectProperty(e.layout),legends:n.legends,autosize:n.signalRef("autosize"),mark:i,pulse:Nt(a)}));n.operators.pop(),n.pushState(Nt(a),Nt(s),null),dle(e,n,r),n.operators.push(s);let l=n.add(Rse({mark:i,pulse:Nt(s)}));return l=n.add(Pse({pulse:Nt(l)})),l=n.add(_m({pulse:Nt(l)})),n.addData("root",new Tm(n,o,o,l)),n}(e,new ple(n=Jy(function Eet(){const e="sans-serif",i="#4c78a8",r="#000",o="#888",a="#ddd";return{description:"Vega visualization",padding:0,autosize:"pad",background:null,events:{defaults:{allow:["wheel"]}},group:null,mark:null,arc:{fill:i},area:{fill:i},image:null,line:{stroke:i,strokeWidth:2},path:{stroke:i},rect:{fill:i},rule:{stroke:r},shape:{stroke:i},symbol:{fill:i,size:64},text:{fill:r,font:e,fontSize:11},trail:{fill:i,size:2},style:{"guide-label":{fill:r,font:e,fontSize:10},"guide-title":{fill:r,font:e,fontSize:11,fontWeight:"bold"},"group-title":{fill:r,font:e,fontSize:13,fontWeight:"bold"},"group-subtitle":{fill:r,font:e,fontSize:12},point:{size:30,strokeWidth:2,shape:"circle"},circle:{size:30,strokeWidth:2},square:{size:30,strokeWidth:2,shape:"square"},cell:{fill:"transparent",stroke:a},view:{fill:"transparent"}},title:{orient:"top",anchor:"middle",offset:4,subtitlePadding:3},axis:{minExtent:0,maxExtent:200,bandPosition:.5,domain:!0,domainWidth:1,domainColor:o,grid:!1,gridWidth:1,gridColor:a,labels:!0,labelAngle:0,labelLimit:180,labelOffset:0,labelPadding:2,ticks:!0,tickColor:o,tickOffset:0,tickRound:!0,tickSize:5,tickWidth:1,titlePadding:4},axisBand:{tickOffset:-.5},projection:{type:"mercator"},legend:{orient:"right",padding:0,gridAlign:"each",columnPadding:10,rowPadding:2,symbolDirection:"vertical",gradientDirection:"vertical",gradientLength:200,gradientThickness:16,gradientStrokeColor:a,gradientStrokeWidth:0,gradientLabelOffset:2,labelAlign:"left",labelBaseline:"middle",labelLimit:160,labelOffset:4,labelOverlap:!0,symbolLimit:30,symbolType:"circle",symbolSize:100,symbolOffset:0,symbolStrokeWidth:1.5,symbolBaseFillColor:"transparent",symbolBaseStrokeColor:o,titleLimit:180,titleOrient:"top",titlePadding:5,layout:{offset:18,direction:"horizontal",left:{direction:"vertical"},right:{direction:"vertical"}}},range:{category:{scheme:"tableau10"},ordinal:{scheme:"blues"},heatmap:{scheme:"yellowgreenblue"},ramp:{scheme:"blues"},diverging:{scheme:"blueorange",extent:[1,0]},symbol:["circle","square","triangle-up","cross","diamond","triangle-right","triangle-down","triangle-left"]}}}(),n,e.config),t)).toRuntime()}ple.prototype=fle.prototype={parse(e){return dle(e,this)},fork(){return new fle(this)},isSubscope(){return this._subid>0},toRuntime(){return this.finish(),{description:this.description,operators:this.operators,streams:this.streams,updates:this.updates,bindings:this.bindings,eventConfig:this.eventConfig,locale:this.locale}},id(){return(this._subid?this._subid+":":0)+this._id++},add(e){return this.operators.push(e),e.id=this.id(),e.refs&&(e.refs.forEach(n=>{n.$ref=e.id}),e.refs=null),e},proxy(e){const n=e instanceof zP?Nt(e):e;return this.add(YQe({value:n}))},addStream(e){return this.streams.push(e),e.id=this.id(),e},addUpdate(e){return this.updates.push(e),e},finish(){let e,n;for(e in this.root&&(this.root.root=!0),this.signals)this.signals[e].signal=e;for(e in this.scales)this.scales[e].scale=e;function t(i,r,o){let a,s;i&&(a=i.data||(i.data={}),s=a[r]||(a[r]=[]),s.push(o))}for(e in this.data){n=this.data[e],t(n.input,e,"input"),t(n.output,e,"output"),t(n.values,e,"values");for(const i in n.index)t(n.index[i],e,"index:"+i)}return this},pushState(e,n,t){this._encode.push(Nt(this.add(_m({pulse:e})))),this._parent.push(n),this._lookup.push(t?Nt(this.proxy(t)):null),this._markpath.push(-1)},popState(){this._encode.pop(),this._parent.pop(),this._lookup.pop(),this._markpath.pop()},parent(){return Ln(this._parent)},encode(){return Ln(this._encode)},lookup(){return Ln(this._lookup)},markpath(){const e=this._markpath;return++e[e.length-1]},fieldRef(e,n){if(it(e))return Db(e,n);e.signal||xe("Unsupported field reference: "+We(e));const t=e.signal;let i=this.field[t];if(!i){const r={name:this.signalRef(t)};n&&(r.as=n),this.field[t]=i=Nt(this.add(RQe(r)))}return i},compareRef(e){let n=!1;const t=o=>Kr(o)?(n=!0,this.signalRef(o.signal)):function mQe(e){return e&&e.expr}(o)?(n=!0,this.exprRef(o.expr)):o,i=nt(e.field).map(t),r=nt(e.order).map(t);return n?Nt(this.add(Lse({fields:i,orders:r}))):Dse(i,r)},keyRef(e,n){let t=!1;const r=this.signals;return e=nt(e).map(o=>Kr(o)?(t=!0,Nt(r[o.signal])):o),t?Nt(this.add(LQe({fields:e,flat:n}))):function pQe(e,n){const t={$key:e};return n&&(t.$flat=!0),t}(e,n)},sortRef(e){if(!e)return e;const n=Z3(e.op,e.field),t=e.order||"ascending";return t.signal?Nt(this.add(Lse({fields:n,orders:this.signalRef(t.signal)}))):Dse(n,t)},event(e,n){const t=e+":"+n;if(!this.events[t]){const i=this.id();this.streams.push({id:i,source:e,type:n}),this.events[t]=i}return this.events[t]},hasOwnSignal(e){return kt(this.signals,e)},addSignal(e,n){this.hasOwnSignal(e)&&xe("Duplicate signal name: "+We(e));const t=n instanceof zP?n:this.add(K3(n));return this.signals[e]=t},getSignal(e){return this.signals[e]||xe("Unrecognized signal name: "+We(e)),this.signals[e]},signalRef(e){return this.signals[e]?Nt(this.signals[e]):(kt(this.lambdas,e)||(this.lambdas[e]=this.add(K3(null))),Nt(this.lambdas[e]))},parseLambdas(){const e=Object.keys(this.lambdas);for(let n=0,t=e.length;ne*n,"+":(e,n)=>e+n,"-":(e,n)=>e-n,"/":(e,n)=>e/n,"%":(e,n)=>e%n,">":(e,n)=>e>n,"<":(e,n)=>ee<=n,">=":(e,n)=>e>=n,"==":(e,n)=>e==n,"!=":(e,n)=>e!=n,"===":(e,n)=>e===n,"!==":(e,n)=>e!==n,"&":(e,n)=>e&n,"|":(e,n)=>e|n,"^":(e,n)=>e^n,"<<":(e,n)=>e<>":(e,n)=>e>>n,">>>":(e,n)=>e>>>n},Pet={"+":e=>+e,"-":e=>-e,"~":e=>~e,"!":e=>!e};const Net=Array.prototype.slice,bm=(e,n,t)=>{const i=t?t(n[0]):n[0];return i[e].apply(i,Net.call(n,1))};var Het={isNaN:Number.isNaN,isFinite:Number.isFinite,abs:Math.abs,acos:Math.acos,asin:Math.asin,atan:Math.atan,atan2:Math.atan2,ceil:Math.ceil,cos:Math.cos,exp:Math.exp,floor:Math.floor,log:Math.log,max:Math.max,min:Math.min,pow:Math.pow,random:Math.random,round:Math.round,sin:Math.sin,sqrt:Math.sqrt,tan:Math.tan,clamp:(e,n,t)=>Math.max(n,Math.min(t,e)),now:Date.now,utc:Date.UTC,datetime:(e,n,t,i,r,o,a)=>new Date(e,n||0,t??1,i||0,r||0,o||0,a||0),date:e=>new Date(e).getDate(),day:e=>new Date(e).getDay(),year:e=>new Date(e).getFullYear(),month:e=>new Date(e).getMonth(),hours:e=>new Date(e).getHours(),minutes:e=>new Date(e).getMinutes(),seconds:e=>new Date(e).getSeconds(),milliseconds:e=>new Date(e).getMilliseconds(),time:e=>new Date(e).getTime(),timezoneoffset:e=>new Date(e).getTimezoneOffset(),utcdate:e=>new Date(e).getUTCDate(),utcday:e=>new Date(e).getUTCDay(),utcyear:e=>new Date(e).getUTCFullYear(),utcmonth:e=>new Date(e).getUTCMonth(),utchours:e=>new Date(e).getUTCHours(),utcminutes:e=>new Date(e).getUTCMinutes(),utcseconds:e=>new Date(e).getUTCSeconds(),utcmilliseconds:e=>new Date(e).getUTCMilliseconds(),length:e=>e.length,join:function(){return bm("join",arguments)},indexof:function(){return bm("indexOf",arguments)},lastindexof:function(){return bm("lastIndexOf",arguments)},slice:function(){return bm("slice",arguments)},reverse:e=>e.slice().reverse(),parseFloat,parseInt,upper:e=>String(e).toUpperCase(),lower:e=>String(e).toLowerCase(),substring:function(){return bm("substring",arguments,String)},split:function(){return bm("split",arguments,String)},replace:function(){return bm("replace",arguments,String)},trim:e=>String(e).trim(),regexp:RegExp,test:(e,n)=>RegExp(e).test(n)};const Get=["view","item","group","xy","x","y"],uN=new Set([Function,eval,setTimeout,setInterval]);"function"==typeof setImmediate&&uN.add(setImmediate);const Bet={Literal:(e,n)=>n.value,Identifier:(e,n)=>{const t=n.name;return e.memberDepth>0?t:"datum"===t?e.datum:"event"===t?e.event:"item"===t?e.item:Met[t]||e.params["$"+t]},MemberExpression:(e,n)=>{const t=!n.computed,i=e(n.object);t&&(e.memberDepth+=1);const r=e(n.property);if(t&&(e.memberDepth-=1),!uN.has(i[r]))return i[r];console.error(`Prevented interpretation of member "${r}" which could lead to insecure code execution`)},CallExpression:(e,n)=>{const t=n.arguments;let i=n.callee.name;return i.startsWith("_")&&(i=i.slice(1)),"if"===i?e(t[0])?e(t[1]):e(t[2]):(e.fn[i]||Het[i]).apply(e.fn,t.map(e))},ArrayExpression:(e,n)=>n.elements.map(e),BinaryExpression:(e,n)=>ket[n.operator](e(n.left),e(n.right)),UnaryExpression:(e,n)=>Pet[n.operator](e(n.argument)),ConditionalExpression:(e,n)=>e(n.test)?e(n.consequent):e(n.alternate),LogicalExpression:(e,n)=>"&&"===n.operator?e(n.left)&&e(n.right):e(n.left)||e(n.right),ObjectExpression:(e,n)=>n.properties.reduce((t,i)=>{e.memberDepth+=1;const r=e(i.key);return e.memberDepth-=1,uN.has(e(i.value))?console.error(`Prevented interpretation of property "${r}" which could lead to insecure code execution`):t[r]=e(i.value),t},{})};function Pb(e,n,t,i,r,o){const a=s=>Bet[s.type](a,s);return a.memberDepth=0,a.fn=Object.create(n),a.params=t,a.datum=i,a.event=r,a.item=o,Get.forEach(s=>a.fn[s]=function(){return r.vega[s](...arguments)}),a(e)}var Yet={operator(e,n){const t=n.ast,i=e.functions;return r=>Pb(t,i,r)},parameter(e,n){const t=n.ast,i=e.functions;return(r,o)=>Pb(t,i,o,r)},event(e,n){const t=n.ast,i=e.functions;return r=>Pb(t,i,void 0,void 0,r)},handler(e,n){const t=n.ast,i=e.functions;return(r,o)=>Pb(t,i,r,o.item&&o.item.datum,o)},encode(e,n){const{marktype:t,channels:i}=n,r=e.functions,o="group"===t||"image"===t||"rect"===t;return(a,s)=>{const l=a.datum;let u,c=0;for(const d in i)u=Pb(i[d].ast,r,s,l,void 0,a),a[d]!==u&&(a[d]=u,c=1);return"rule"!==t&&function Let(e,n,t){let i;n.x2&&(n.x?(t&&e.x>e.x2&&(i=e.x,e.x=e.x2,e.x2=i),e.width=e.x2-e.x):e.x=e.x2-(e.width||0)),n.xc&&(e.x=e.xc-(e.width||0)/2),n.y2&&(n.y?(t&&e.y>e.y2&&(i=e.y,e.y=e.y2,e.y2=i),e.height=e.y2-e.y):e.y=e.y2-(e.height||0)),n.yc&&(e.y=e.yc-(e.height||0)/2)}(a,i,o),c}}};function dN(e){return!!e.or}function pN(e){return!!e.and}function fN(e){return!!e.not}function l5(e,n){if(fN(e))l5(e.not,n);else if(pN(e))for(const t of e.and)l5(t,n);else if(dN(e))for(const t of e.or)l5(t,n);else n(e)}function Q_(e,n){return fN(e)?{not:Q_(e.not,n)}:pN(e)?{and:e.and.map(t=>Q_(t,n))}:dN(e)?{or:e.or.map(t=>Q_(t,n))}:n(e)}const rn=structuredClone;function hle(e){throw new Error(e)}function J_(e,n){const t={};for(const i of n)kt(e,i)&&(t[i]=e[i]);return t}function vs(e,n){const t={...e};for(const i of n)delete t[i];return t}function In(e){if(Gn(e))return e;const n=it(e)?e:hi(e);if(n.length<250)return n;let t=0;for(let i=0;i0===s?a:`[${a}]`),o=r.map((a,s)=>r.slice(0,s+1).join(""));for(const a of o)n.add(a)}return n}function _N(e,n){return void 0===e||void 0===n||mN(yN(e),yN(n))}function fi(e){return 0===Oe(e).length}Set.prototype.toJSON=function(){return`Set(${[...this].map(e=>hi(e)).join(",")})`};const Oe=Object.keys,Ro=Object.values,dh=Object.entries;function Nb(e){return!0===e||!1===e}function Vi(e){const n=e.replace(/\W/g,"_");return(e.match(/^\d+/)?"_":"")+n}function Ob(e,n){return fN(e)?`!(${Ob(e.not,n)})`:pN(e)?`(${e.and.map(t=>Ob(t,n)).join(") && (")})`:dN(e)?`(${e.or.map(t=>Ob(t,n)).join(") || (")})`:n(e)}function c5(e,n){if(0===n.length)return!0;const t=n.shift();return t in e&&c5(e[t],n)&&delete e[t],fi(e)}function Hb(e){return e.charAt(0).toUpperCase()+e.substr(1)}function vN(e,n="datum"){const t=ku(e),i=[];for(let r=1;r<=t.length;r++){const o=`[${t.slice(0,r).map(We).join("][")}]`;i.push(`${n}${o}`)}return i.join(" && ")}function yle(e,n="datum"){return`${n}[${We(ku(e).join("."))}]`}function Uet(e){return e.replace(/(\[|\]|\.|'|")/g,"\\$1")}function Bl(e){return`${ku(e).map(Uet).join("\\.")}`}function Am(e,n,t){return e.replace(new RegExp(n.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&"),"g"),t)}function t1(e){return`${ku(e).join(".")}`}function n1(e){return e?ku(e).length:0}function Cr(...e){for(const n of e)if(void 0!==n)return n}let _le=42;function vle(e){const n=++_le;return e?String(e)+n:n}function jet(){_le=42}function Tle(e){return Cle(e)?e:`__${e}`}function Cle(e){return e.startsWith("__")}function Gb(e){if(void 0!==e)return(e%360+360)%360}function u5(e){return!!Gn(e)||!isNaN(e)&&!isNaN(parseFloat(e))}const ble=Object.getPrototypeOf(structuredClone({}));function il(e,n){if(e===n)return!0;if(e&&n&&"object"==typeof e&&"object"==typeof n){if(e.constructor.name!==n.constructor.name)return!1;let t,i;if(Array.isArray(e)){if(t=e.length,t!=n.length)return!1;for(i=t;0!=i--;)if(!il(e[i],n[i]))return!1;return!0}if(e instanceof Map&&n instanceof Map){if(e.size!==n.size)return!1;for(i of e.entries())if(!n.has(i[0]))return!1;for(i of e.entries())if(!il(i[1],n.get(i[0])))return!1;return!0}if(e instanceof Set&&n instanceof Set){if(e.size!==n.size)return!1;for(i of e.entries())if(!n.has(i[0]))return!1;return!0}if(ArrayBuffer.isView(e)&&ArrayBuffer.isView(n)){if(t=e.length,t!=n.length)return!1;for(i=t;0!=i--;)if(e[i]!==n[i])return!1;return!0}if(e.constructor===RegExp)return e.source===n.source&&e.flags===n.flags;if(e.valueOf!==Object.prototype.valueOf&&e.valueOf!==ble.valueOf)return e.valueOf()===n.valueOf();if(e.toString!==Object.prototype.toString&&e.toString!==ble.toString)return e.toString()===n.toString();const r=Object.keys(e);if(t=r.length,t!==Object.keys(n).length)return!1;for(i=t;0!=i--;)if(!Object.prototype.hasOwnProperty.call(n,r[i]))return!1;for(i=t;0!=i--;){const o=r[i];if(!il(e[o],n[o]))return!1}return!0}return e!=e&&n!=n}function hi(e){const n=[];return function t(i){if(i&&i.toJSON&&"function"==typeof i.toJSON&&(i=i.toJSON()),void 0===i)return;if("number"==typeof i)return isFinite(i)?""+i:"null";if("object"!=typeof i)return JSON.stringify(i);let r,o;if(Array.isArray(i)){for(o="[",r=0;rv5(e[n])?Vi(`_${n}_${dh(e[n])}`):Vi(`_${n}_${e[n]}`)).join("")}function Di(e){return!0===e||Fm(e)&&!e.binned}function Lo(e){return"binned"===e||Fm(e)&&!0===e.binned}function Fm(e){return Je(e)}function v5(e){return e?.param}function Ole(e){switch(e){case vp:case Tp:case Ap:case Ts:case id:case rd:case gh:case Sp:case fh:case hh:case Cs:return 6;case mh:return 4;default:return 10}}function zb(e){return!!e?.expr}function aa(e,{level:n}={level:0}){const t=Oe(e||{}),i={};for(const r of t)i[r]=0===n?rl(e[r]):aa(e[r],{level:n-1});return i}function Hle(e){const{anchor:n,frame:t,offset:i,orient:r,angle:o,limit:a,color:s,subtitleColor:l,subtitleFont:c,subtitleFontSize:u,subtitleFontStyle:d,subtitleFontWeight:p,subtitleLineHeight:f,subtitlePadding:h,...g}=e,_={...n?{anchor:n}:{},...t?{frame:t}:{},...i?{offset:i}:{},...r?{orient:r}:{},...void 0!==o?{angle:o}:{},...void 0!==a?{limit:a}:{}},v={...l?{subtitleColor:l}:{},...c?{subtitleFont:c}:{},...u?{subtitleFontSize:u}:{},...d?{subtitleFontStyle:d}:{},...p?{subtitleFontWeight:p}:{},...f?{subtitleLineHeight:f}:{},...h?{subtitlePadding:h}:{}};return{titleMarkConfig:{...g,...s?{fill:s}:{}},subtitleMarkConfig:J_(e,["align","baseline","dx","dy","limit"]),nonMarkTitleProperties:_,subtitle:v}}function vh(e){return it(e)||De(e)&&it(e[0])}function St(e){return!!e?.signal}function Th(e){return!!e.step}function Fp(e){return!De(e)&&"field"in e&&"data"in e}const mtt=Oe({aria:1,description:1,ariaRole:1,ariaRoleDescription:1,blend:1,opacity:1,fill:1,fillOpacity:1,stroke:1,strokeCap:1,strokeWidth:1,strokeOpacity:1,strokeDash:1,strokeDashOffset:1,strokeJoin:1,strokeOffset:1,strokeMiterLimit:1,startAngle:1,endAngle:1,padAngle:1,innerRadius:1,outerRadius:1,size:1,shape:1,interpolate:1,tension:1,orient:1,align:1,baseline:1,text:1,dir:1,dx:1,dy:1,ellipsis:1,limit:1,radius:1,theta:1,angle:1,font:1,fontSize:1,fontWeight:1,fontStyle:1,lineBreak:1,lineHeight:1,cursor:1,href:1,tooltip:1,cornerRadius:1,cornerRadiusTopLeft:1,cornerRadiusTopRight:1,cornerRadiusBottomLeft:1,cornerRadiusBottomRight:1,aspect:1,width:1,height:1,url:1,smooth:1}),ytt={arc:1,area:1,group:1,image:1,line:1,path:1,rect:1,rule:1,shape:1,symbol:1,text:1,trail:1},IN=["cornerRadius","cornerRadiusTopLeft","cornerRadiusTopRight","cornerRadiusBottomLeft","cornerRadiusBottomRight"];function Gle(e){const n=De(e.condition)?e.condition.map(Ble):Ble(e.condition);return{...rl(e),condition:n}}function rl(e){if(zb(e)){const{expr:n,...t}=e;return{signal:n,...t}}return e}function Ble(e){if(zb(e)){const{expr:n,...t}=e;return{signal:n,...t}}return e}function Ei(e){if(zb(e)){const{expr:n,...t}=e;return{signal:n,...t}}return St(e)?e:void 0!==e?{value:e}:void 0}function RN(e){return St(e)?e.signal:We(e)}function Yle(e){return St(e)?e.signal:We(e.value)}function $c(e){return St(e)?e.signal:null==e?null:We(e)}function _tt(e,n,t){for(const i of t){const r=sd(i,n.markDef,n.config);void 0!==r&&(e[i]=Ei(r))}return e}function Vle(e){return[].concat(e.type,e.style??[])}function li(e,n,t,i={}){const{vgChannel:r,ignoreVgConfig:o}=i;return r&&void 0!==n[r]?n[r]:void 0!==n[e]?n[e]:!o||r&&r!==e?sd(e,n,t,i):void 0}function sd(e,n,t,{vgChannel:i}={}){return Cr(i?T5(e,n,t.style):void 0,T5(e,n,t.style),i?t[n.type][i]:void 0,t[n.type][e],i?t.mark[i]:t.mark[e])}function T5(e,n,t){return zle(e,Vle(n),t)}function zle(e,n,t){let i;n=nt(n);for(const r of n){const o=t[r];o&&void 0!==o[e]&&(i=o[e])}return i}function $le(e,n){return nt(e).reduce((t,i)=>(t.field.push(Xe(i,n)),t.order.push(i.sort??"ascending"),t),{field:[],order:[]})}function Ule(e,n){const t=[...e];return n.forEach(i=>{for(const r of t)if(il(r,i))return;t.push(i)}),t}function jle(e,n){return il(e,n)||!n?e:e?[...nt(e),...nt(n)].join(", "):n}function Wle(e,n){const t=e.value,i=n.value;if(null==t||null===i)return{explicit:e.explicit,value:null};if((vh(t)||St(t))&&(vh(i)||St(i)))return{explicit:e.explicit,value:jle(t,i)};if(vh(t)||St(t))return{explicit:e.explicit,value:t};if(vh(i)||St(i))return{explicit:e.explicit,value:i};if(!(vh(t)||St(t)||vh(i)||St(i)))return{explicit:e.explicit,value:Ule(t,i)};throw new Error("It should never reach here")}function LN(e){return`Invalid specification ${hi(e)}. Make sure the specification includes at least one of the following properties: "mark", "layer", "facet", "hconcat", "vconcat", "concat", or "repeat".`}const vtt='Autosize "fit" only works for single views and layered views.';function qle(e){return("width"==e?"Width":"Height")+' "container" only works for single views and layered views.'}function Kle(e){return`${"width"==e?"Width":"Height"} "container" only works well with autosize "fit" or "fit-${"width"==e?"x":"y"}".`}function Zle(e){return e?`Dropping "fit-${e}" because spec has discrete ${bs(e)}.`:'Dropping "fit" because spec has discrete size.'}function MN(e){return`Unknown field for ${e}. Cannot calculate view size.`}function Xle(e){return`Cannot project a selection on encoding channel "${e}", which has no field.`}function Ttt(e,n){return`Cannot project a selection on encoding channel "${e}" as it uses an aggregate function ("${n}").`}function Qle(e){return`Selection not supported for ${e} yet.`}const Dtt="The same selection must be used to override scale domains in a layered view.";function Jle(e){return`The "columns" property cannot be used when "${e}" has nested row/column.`}function ece(e,n,t){return`An ancestor parsed field "${e}" as ${t} but a child wants to parse the field as ${n}.`}function ktt(e){return`Ignoring an invalid transform: ${hi(e)}.`}function tce(e){return`Config.customFormatTypes is not true, thus custom format type and format for channel ${e} are dropped.`}function Htt(e){return`${e}Offset dropped because ${e} is continuous`}function nce(e){return`Invalid field type "${e}".`}function ice(e,n){const{fill:t,stroke:i}=n;return`Dropping color ${e} as the plot also has ${t&&i?"fill and stroke":t?"fill":"stroke"}.`}function kN(e,n){return`Dropping ${hi(e)} from channel "${n}" since it does not contain any data field, datum, value, or signal.`}function C5(e,n,t){return`${e} dropped as it is incompatible with "${n}"${t?` when ${t}`:""}.`}function $tt(e){return`${e}-encoding is dropped as ${e} is not a valid encoding channel.`}function Utt(e){return`${e} encoding should be discrete (ordinal / nominal / binned).`}function jtt(e){return`${e} encoding should be discrete (ordinal / nominal / binned) or use a discretizing scale (e.g. threshold).`}function PN(e,n){return`Using discrete channel "${e}" to encode "${n}" field can be misleading as it does not encode ${"ordinal"===n?"order":"magnitude"}.`}function Jtt(e){return`Using unaggregated domain with raw field has no effect (${hi(e)}).`}function ent(e){return`Unaggregated domain not applicable for "${e}" since it produces values outside the origin domain of the source data.`}function tnt(e){return`Unaggregated domain is currently unsupported for log scale (${hi(e)}).`}function rce(e,n,t){return`${t}-scale's "${n}" is dropped as it does not work with ${e} scale.`}function oce(e){return`The step for "${e}" is dropped because the ${"width"===e?"x":"y"} is continuous.`}const ace="Domains that should be unioned has conflicting sort properties. Sort will be set to true.",cnt="Detected faceted independent scales that union domain of multiple fields from different data sources. We will use the first field. The result view size may be incorrect.",unt="Detected faceted independent scales that union domain of the same fields from different source. We will assume that this is the same field from a different fork of the same data source. However, if this is not the case, the result view size may be incorrect.",dnt="Detected faceted independent scales that union domain of multiple fields from the same data source. We will use the first field. The result view size may be incorrect.";function b5(e,n){return`Invalid ${e}: ${hi(n)}.`}function sce(e){return`1D error band does not support ${e}.`}function lce(e){return`Channel ${e} is required for "binned" bin.`}const cce=E9(D9);let ld=cce;function Ue(...e){ld.warn(...e)}function Dm(e){if(e&&Je(e))for(const n of ON)if(n in e)return!0;return!1}const dce=["january","february","march","april","may","june","july","august","september","october","november","december"],wnt=dce.map(e=>e.substr(0,3)),pce=["sunday","monday","tuesday","wednesday","thursday","friday","saturday"],xnt=pce.map(e=>e.substr(0,3));function NN(e,n){const t=[];if(n&&void 0!==e.day&&Oe(e).length>1&&(Ue(function gnt(e){return`Dropping day from datetime ${hi(e)} as day cannot be combined with other units.`}(e)),delete(e=rn(e)).day),t.push(void 0!==e.year?e.year:2012),void 0!==e.month){const i=n?function Dnt(e){if(u5(e)&&(e=+e),Gn(e))return e-1;{const n=e.toLowerCase(),t=dce.indexOf(n);if(-1!==t)return t;const i=n.substr(0,3),r=wnt.indexOf(i);if(-1!==r)return r;throw new Error(b5("month",e))}}(e.month):e.month;t.push(i)}else if(void 0!==e.quarter){const i=n?function Fnt(e){if(u5(e)&&(e=+e),Gn(e))return e>4&&Ue(b5("quarter",e)),e-1;throw new Error(b5("quarter",e))}(e.quarter):e.quarter;t.push(Gn(i)?3*i:`${i}*3`)}else t.push(0);if(void 0!==e.date)t.push(e.date);else if(void 0!==e.day){const i=n?function Ent(e){if(u5(e)&&(e=+e),Gn(e))return e%7;{const n=e.toLowerCase(),t=pce.indexOf(n);if(-1!==t)return t;const i=n.substr(0,3),r=xnt.indexOf(i);if(-1!==r)return r;throw new Error(b5("day",e))}}(e.day):e.day;t.push(Gn(i)?i+1:`${i}+1`)}else t.push(1);for(const i of["hours","minutes","seconds","milliseconds"]){const r=e[i];t.push(typeof r>"u"?0:r)}return t}function Em(e){const t=NN(e,!0).join(", ");return e.utc?`utc(${t})`:`datetime(${t})`}const fce={year:1,quarter:1,month:1,week:1,day:1,dayofyear:1,date:1,hours:1,minutes:1,seconds:1,milliseconds:1},ON=Oe(fce);function Im(e){return Je(e)?e.binned:hce(e)}function hce(e){return e&&e.startsWith("binned")}function HN(e){return e.startsWith("utc")}const knt={"year-month":"%b %Y ","year-month-date":"%b %d, %Y "};function A5(e){return ON.filter(n=>mce(e,n))}function gce(e){const n=A5(e);return n[n.length-1]}function mce(e,n){const t=e.indexOf(n);return!(t<0||t>0&&"seconds"===n&&"i"===e.charAt(t-1)||e.length>t+3&&"day"===n&&"o"===e.charAt(t+3)||t>0&&"year"===n&&"f"===e.charAt(t-1))}function yce(e){if(e)return`timeUnitSpecifier(${hi(A5(e))}, ${hi(knt)})`}function uo(e){if(!e)return;let n;return it(e)?n=hce(e)?{unit:e.substring(6),binned:!0}:{unit:e}:Je(e)&&(n={...e,...e.unit?{unit:e.unit}:{}}),HN(n.unit)&&(n.utc=!0,n.unit=function Mnt(e){return e.substring(3)}(n.unit)),n}function _ce(e,n=(t=>t)){const t=uo(e),i=gce(t.unit);if(i&&"day"!==i){const r={year:2001,month:1,date:1,hours:0,minutes:0,seconds:0,milliseconds:0},{step:o,part:a}=vce(i,t.step);return`${n(Em({...r,[a]:+r[a]+o}))} - ${n(Em(r))}`}}const Hnt={year:1,month:1,date:1,hours:1,minutes:1,seconds:1,milliseconds:1};function vce(e,n=1){if(function Gnt(e){return!!Hnt[e]}(e))return{part:e,step:n};switch(e){case"day":case"dayofyear":return{part:"date",step:n};case"quarter":return{part:"month",step:3*n};case"week":return{part:"date",step:7*n}}}function GN(e){return!!e?.field&&void 0!==e.equal}function BN(e){return!!e?.field&&void 0!==e.lt}function YN(e){return!!e?.field&&void 0!==e.lte}function VN(e){return!!e?.field&&void 0!==e.gt}function zN(e){return!!e?.field&&void 0!==e.gte}function $N(e){if(e?.field){if(De(e.range)&&2===e.range.length)return!0;if(St(e.range))return!0}return!1}function UN(e){return!!e?.field&&(De(e.oneOf)||De(e.in))}function Tce(e){return UN(e)||GN(e)||$N(e)||BN(e)||VN(e)||YN(e)||zN(e)}function cd(e,n){return B5(e,{timeUnit:n,wrapTime:!0})}function Cce(e,n=!0){const{field:t}=e,i=uo(e.timeUnit),{unit:r,binned:o}=i||{},a=Xe(e,{expr:"datum"}),s=r?`time(${o?a:function Pnt(e,n,{end:t}={end:!1}){const i=vN(n),r=HN(e)?"utc":"";function o(l){return"quarter"===l?`(${r}quarter(${i})-1)`:`${r}${l}(${i})`}let a;const s={};for(const l of ON)mce(e,l)&&(s[l]=o(l),a=l);return t&&(s[a]+="+1"),function Int(e){const t=NN(e,!1).join(", ");return e.utc?`utc(${t})`:`datetime(${t})`}(s)}(r,t)})`:a;if(GN(e))return`${s}===${cd(e.equal,r)}`;if(BN(e))return`${s}<${cd(e.lt,r)}`;if(VN(e))return`${s}>${cd(e.gt,r)}`;if(YN(e))return`${s}<=${cd(e.lte,r)}`;if(zN(e))return`${s}>=${cd(e.gte,r)}`;if(UN(e))return`indexof([${function Vnt(e,n){return e.map(t=>cd(t,n))}(e.oneOf,r).join(",")}], ${s}) !== -1`;if(function Ynt(e){return!!e?.field&&void 0!==e.valid}(e))return S5(s,e.valid);if($N(e)){const{range:l}=e,c=St(l)?{signal:`${l.signal}[0]`}:l[0],u=St(l)?{signal:`${l.signal}[1]`}:l[1];if(null!==c&&null!==u&&n)return"inrange("+s+", ["+cd(c,r)+", "+cd(u,r)+"])";const d=[];return null!==c&&d.push(`${s} >= ${cd(c,r)}`),null!==u&&d.push(`${s} <= ${cd(u,r)}`),d.length>0?d.join(" && "):"true"}throw new Error(`Invalid field predicate: ${hi(e)}`)}function S5(e,n=!0){return n?`isValid(${e}) && isFinite(+${e})`:`!isValid(${e}) || !isFinite(+${e})`}function znt(e){return Tce(e)&&e.timeUnit?{...e,timeUnit:uo(e.timeUnit)}:e}const Rm={quantitative:"quantitative",ordinal:"ordinal",temporal:"temporal",nominal:"nominal",geojson:"geojson"};function $nt(e){return"quantitative"===e||"temporal"===e}function bce(e){return"ordinal"===e||"nominal"===e}const Lm=Rm.quantitative,jN=Rm.ordinal,s1=Rm.temporal,WN=Rm.nominal,l1=Rm.geojson;Oe(Rm);const Mo={LINEAR:"linear",LOG:"log",POW:"pow",SQRT:"sqrt",SYMLOG:"symlog",IDENTITY:"identity",SEQUENTIAL:"sequential",TIME:"time",UTC:"utc",QUANTILE:"quantile",QUANTIZE:"quantize",THRESHOLD:"threshold",BIN_ORDINAL:"bin-ordinal",ORDINAL:"ordinal",POINT:"point",BAND:"band"},w5={linear:"numeric",log:"numeric",pow:"numeric",sqrt:"numeric",symlog:"numeric",identity:"numeric",sequential:"numeric",time:"time",utc:"time",ordinal:"ordinal","bin-ordinal":"bin-ordinal",point:"ordinal-position",band:"ordinal-position",quantile:"discretizing",quantize:"discretizing",threshold:"discretizing"};function jnt(e,n){const t=w5[e],i=w5[n];return t===i||"ordinal-position"===t&&"time"===i||"ordinal-position"===i&&"time"===t}Oe(w5);const Wnt={linear:0,log:1,pow:1,sqrt:1,symlog:1,identity:1,sequential:1,time:0,utc:0,point:10,band:11,ordinal:0,"bin-ordinal":0,quantile:0,quantize:0,threshold:0};function Ace(e){return Wnt[e]}const Sce=new Set(["linear","log","pow","sqrt","symlog"]),wce=new Set([...Sce,"time","utc"]);function xce(e){return Sce.has(e)}const Fce=new Set(["quantile","quantize","threshold"]),qnt=new Set([...wce,...Fce,"sequential","identity"]),Knt=new Set(["ordinal","bin-ordinal","point","band"]);function po(e){return Knt.has(e)}function Uc(e){return qnt.has(e)}function ud(e){return wce.has(e)}function c1(e){return Fce.has(e)}function Dce(e){return e?.param}const Ece={type:1,domain:1,domainMax:1,domainMin:1,domainMid:1,domainRaw:1,align:1,range:1,rangeMax:1,rangeMin:1,scheme:1,bins:1,reverse:1,round:1,clamp:1,nice:1,base:1,exponent:1,constant:1,interpolate:1,zero:1,padding:1,paddingInner:1,paddingOuter:1},{type:Fxt,domain:Dxt,range:Ext,rangeMax:Ixt,rangeMin:Rxt,scheme:Lxt,...eit}=(Oe(Ece),Ece),tit=Oe(eit);function qN(e,n){switch(n){case"type":case"domain":case"reverse":case"range":return!0;case"scheme":case"interpolate":return!["point","band","identity"].includes(e);case"bins":return!["point","band","identity","ordinal"].includes(e);case"round":return ud(e)||"band"===e||"point"===e;case"padding":case"rangeMin":case"rangeMax":return ud(e)||["point","band"].includes(e);case"paddingOuter":case"align":return["point","band"].includes(e);case"paddingInner":return"band"===e;case"domainMax":case"domainMid":case"domainMin":case"domainRaw":case"clamp":return ud(e);case"nice":return ud(e)||"quantize"===e||"threshold"===e;case"exponent":return"pow"===e;case"base":return"log"===e;case"constant":return"symlog"===e;case"zero":return Uc(e)&&!Fn(["log","time","utc","threshold","quantile"],e)}}function Ice(e,n){switch(n){case"interpolate":case"scheme":case"domainMid":return a1(e)?void 0:function Xtt(e){return`Cannot use the scale property "${e}" with non-color channel.`}(n);case"align":case"type":case"bins":case"domain":case"domainMax":case"domainMin":case"domainRaw":case"range":case"base":case"exponent":case"constant":case"nice":case"padding":case"paddingInner":case"paddingOuter":case"rangeMax":case"rangeMin":case"reverse":case"round":case"clamp":case"zero":return}}const sa={arc:"arc",area:"area",bar:"bar",image:"image",line:"line",point:"point",rect:"rect",rule:"rule",text:"text",tick:"tick",trail:"trail",circle:"circle",square:"square",geoshape:"geoshape"},Rce=sa.arc,x5=sa.area,F5=sa.bar,oit=sa.image,D5=sa.line,E5=sa.point,ait=sa.rect,I5=sa.rule,Lce=sa.text,KN=sa.tick,sit=sa.trail,ZN=sa.circle,XN=sa.square,Mce=sa.geoshape;function bh(e){return["line","area","trail"].includes(e)}function Ub(e){return["rect","bar","image","arc"].includes(e)}const kce=new Set(Oe(sa));function jc(e){return e.type}const uit=["stroke","strokeWidth","strokeDash","strokeDashOffset","strokeOpacity","strokeJoin","strokeMiterLimit","fill","fillOpacity"],Pce=Oe({color:1,filled:1,invalid:1,order:1,radius2:1,theta2:1,timeUnitBandSize:1,timeUnitBandPosition:1}),Nce=Oe({mark:1,arc:1,area:1,bar:1,circle:1,image:1,line:1,point:1,rect:1,rule:1,square:1,text:1,tick:1,trail:1,geoshape:1});function Mm(e){return e&&null!=e.band}const fit={horizontal:["cornerRadiusTopRight","cornerRadiusBottomRight"],vertical:["cornerRadiusTopLeft","cornerRadiusTopRight"]};function Hce(e,{isPath:n}){return void 0===e||"break-paths-show-path-domains"===e?n?"break-paths-show-domains":"filter":null===e?"show":e}function QN({markDef:e,config:n,scaleChannel:t,scaleType:i,isCountAggregate:r}){if(!i||!Uc(i)||r)return"always-valid";const o=Hce(li("invalid",e,n),{isPath:bh(e.type)});return void 0!==n.scale?.invalid?.[t]?"show":o}function Gce({scaleName:e,scale:n,mode:t}){const i=`domain('${e}')`;if(!n||!e)return;const r=`${i}[0]`,o=`peek(${i})`,a=n.domainHasZero();return"definitely"===a?{scale:e,value:0}:"maybe"===a?{signal:`scale('${e}', inrange(0, ${i}) ? 0 : ${"zeroOrMin"===t?r:o})`}:{signal:`scale('${e}', ${"zeroOrMin"===t?r:o})`}}function Bce({scaleChannel:e,channelDef:n,scale:t,scaleName:i,markDef:r,config:o}){const a=t?.get("type"),s=Kc(n),c=QN({scaleChannel:e,markDef:r,config:o,scaleType:a,isCountAggregate:_5(s?.aggregate)});if(s&&"show"===c){const u=o.scale.invalid?.[e]??"zero-or-min";return{test:S5(Xe(s,{expr:"datum"}),!1),...vit(u,t,i)}}}function vit(e,n,t){if(function rit(e){return Je(e)&&"value"in e}(e)){const{value:i}=e;return St(i)?{signal:i.signal}:{value:i}}return Gce({scale:n,scaleName:t,mode:"zeroOrMin"})}function JN(e){const{channel:n,channelDef:t,markDef:i,scale:r,scaleName:o,config:a}=e,s=xm(n),l=eO(e),c=Bce({scaleChannel:s,channelDef:t,scale:r,scaleName:o,markDef:i,config:a});return void 0!==c?[c,l]:l}function km(e,n,t,i){const r={};if(n&&(r.scale=n),dd(e)){const{datum:o}=e;Dm(o)?r.signal=Em(o):St(o)?r.signal=o.signal:zb(o)?r.signal=o.expr:r.value=o}else r.field=Xe(e,t);if(i){const{offset:o,band:a}=i;o&&(r.offset=o),a&&(r.band=a)}return r}function R5({scaleName:e,fieldOrDatumDef:n,fieldOrDatumDef2:t,offset:i,startSuffix:r,endSuffix:o="end",bandPosition:a=.5}){const s=!St(a)&&0Vi(`${"unit"===i?"":`_${i}_`}${t[i]}`)).join(""):(n?"utc":"")+"timeunit"+Oe(t).map(i=>Vi(`_${i}_${t[i]}`)).join("")}(c),r=(!["range","mid"].includes(n.binSuffix)&&n.binSuffix||"")+(n.suffix??""))}a&&(t=t?`${a}_${t}`:a)}return r&&(t=`${t}_${r}`),i&&(t=`${i}_${t}`),n.forAs?t1(t):n.expr?yle(t,n.expr)+o:Bl(t)+o}function N5(e){switch(e.type){case"nominal":case"ordinal":case"geojson":return!0;case"quantitative":return je(e)&&!!e.bin;case"temporal":return!1}throw new Error(nce(e.type))}const nue=(e,n)=>{switch(n.fieldTitle){case"plain":return e.field;case"functional":return function Pit(e){const{aggregate:n,bin:t,timeUnit:i,field:r}=e;if(_h(n))return`${r} for argmax(${n.argmax})`;if(xp(n))return`${r} for argmin(${n.argmin})`;const o=i&&!Im(i)?uo(i):void 0,a=n||o?.unit||o?.maxbins&&"timeunit"||Di(t)&&"bin";return a?`${a.toUpperCase()}(${r})`:r}(e);default:return function kit(e,n){const{field:t,bin:i,timeUnit:r,aggregate:o}=e;if("count"===o)return n.countTitle;if(Di(i))return`${t} (binned)`;if(r&&!Im(r)){const a=uo(r)?.unit;if(a)return`${t} (${A5(a).join("-")})`}else if(o)return _h(o)?`${t} for max ${o.argmax}`:xp(o)?`${t} for min ${o.argmin}`:`${Hb(o)} of ${t}`;return t}(e,n)}};let iue=nue;function rue(e){iue=e}function p1(e,n,{allowDisabling:t,includeDefault:i=!0}){const r=oO(e)?.title;if(!je(e))return r??e.title;const o=e,a=i?aO(o,n):void 0;return t?Cr(r,o.title,a):r??o.title??a}function oO(e){return d1(e)&&e.axis?e.axis:eue(e)&&e.legend?e.legend:iO(e)&&e.header?e.header:void 0}function aO(e,n){return iue(e,n)}function O5(e){if(tue(e)){const{format:n,formatType:t}=e;return{format:n,formatType:t}}{const n=oO(e)??{},{format:t,formatType:i}=n;return{format:t,formatType:i}}}function Kc(e){return je(e)?e:k5(e)?e.condition:void 0}function Zr(e){return ln(e)?e:Zb(e)?e.condition:void 0}function oue(e,n,t,i={}){return it(e)||Gn(e)||Ef(e)?(Ue(function Gtt(e,n,t){return`Channel ${e} is a ${n}. Converted to {value: ${hi(t)}}.`}(n,it(e)?"string":Gn(e)?"number":"boolean",e)),{value:e}):ln(e)?H5(e,n,t,i):Zb(e)?{...e,condition:H5(e.condition,n,t,i)}:e}function H5(e,n,t,i){if(tue(e)){const{format:r,formatType:o,...a}=e;if(Pm(o)&&!t.customFormatTypes)return Ue(tce(n)),H5(a,n,t,i)}else{const r=d1(e)?"axis":eue(e)?"legend":iO(e)?"header":null;if(r&&e[r]){const{format:o,formatType:a,...s}=e[r];if(Pm(a)&&!t.customFormatTypes)return Ue(tce(n)),H5({...e,[r]:s},n,t,i)}}return je(e)?sO(e,n,i):function Hit(e){let n=e.type;if(n)return e;const{datum:t}=e;return n=Gn(t)?"quantitative":it(t)?"nominal":Dm(t)?"temporal":void 0,{...e,type:n}}(e)}function sO(e,n,{compositeMark:t=!1}={}){const{aggregate:i,timeUnit:r,bin:o,field:a}=e,s={...e};if(!t&&i&&!EN(i)&&!_h(i)&&!xp(i)&&(Ue(function Ytt(e){return`Invalid aggregation operator "${e}".`}(i)),delete s.aggregate),r&&(s.timeUnit=uo(r)),a&&(s.field=`${a}`),Di(o)&&(s.bin=G5(o,n)),Lo(o)&&!br(n)&&Ue(function vnt(e){return`Channel ${e} should not be used with "binned" bin.`}(n)),za(s)){const{type:l}=s,c=function Unt(e){if(e)switch(e=e.toLowerCase(),e){case"q":case Lm:return"quantitative";case"t":case s1:return"temporal";case"o":case jN:return"ordinal";case"n":case WN:return"nominal";case l1:return"geojson"}}(l);l!==c&&(s.type=c),"quantitative"!==l&&_5(i)&&(Ue(function Btt(e,n){return`Invalid field type "${e}" for aggregate: "${n}", using "quantitative" instead.`}(l,i)),s.type="quantitative")}else if(!Rle(n)){const l=function Oit(e,n){switch(n){case"latitude":case"longitude":return"quantitative";case"row":case"column":case"facet":case"shape":case"strokeDash":return"nominal";case"order":return"ordinal"}if(rO(e)&&De(e.sort))return"ordinal";const{aggregate:t,bin:i,timeUnit:r}=e;if(r)return"temporal";if(i||t&&!_h(t)&&!xp(t))return"quantitative";if(Nm(e)&&e.scale?.type)switch(w5[e.scale.type]){case"numeric":case"discretizing":return"quantitative";case"time":return"temporal"}return"nominal"}(s,n);s.type=l}if(za(s)){const{compatible:l,warning:c}=function Git(e,n){const t=e.type;if("geojson"===t&&"shape"!==n)return{compatible:!1,warning:`Channel ${n} should not be used with a geojson data.`};switch(n){case vp:case Tp:case d5:return N5(e)?f1:{compatible:!1,warning:Utt(n)};case zi:case co:case ph:case r1:case Ts:case id:case rd:case Bb:case Yb:case p5:case wm:case f5:case h5:case Sm:case Yl:case Bc:case g5:return f1;case Vc:case Vl:case Yc:case zc:return t!==Lm?{compatible:!1,warning:`Channel ${n} should be used with a quantitative field only, not ${e.type} field.`}:f1;case Sp:case fh:case hh:case gh:case Ap:case bp:case Cp:case Gc:case nd:return"nominal"!==t||e.sort?f1:{compatible:!1,warning:`Channel ${n} should not be used with an unsorted discrete field.`};case Cs:case mh:return N5(e)||function Lit(e){return Nm(e)&&c1(e.scale?.type)}(e)?f1:{compatible:!1,warning:jtt(n)};case o1:return"nominal"!==e.type||"sort"in e?f1:{compatible:!1,warning:"Channel order is inappropriate for nominal field, which has no inherent order."}}}(s,n)||{};!1===l&&Ue(c)}if(rO(s)&&it(s.sort)){const{sort:l}=s;if(Wce(l))return{...s,sort:{encoding:l}};const c=l.substr(1);if("-"===l.charAt(0)&&Wce(c))return{...s,sort:{encoding:c,order:"descending"}}}if(iO(s)){const{header:l}=s;if(l){const{orient:c,...u}=l;if(c)return{...s,header:{...u,labelOrient:l.labelOrient||c,titleOrient:l.titleOrient||c}}}}return s}function G5(e,n){return Ef(e)?{maxbins:Ole(n)}:"binned"===e?{binned:!0}:e.maxbins||e.step?e:{...e,maxbins:Ole(n)}}const f1={compatible:!0};function h1(e){const{formatType:n}=O5(e);return"time"===n||!n&&function Bit(e){return e&&("temporal"===e.type||je(e)&&!!e.timeUnit)}(e)}function B5(e,{timeUnit:n,type:t,wrapTime:i,undefinedIfExprNotRequired:r}){const o=n&&uo(n)?.unit;let s,a=o||"temporal"===t;return zb(e)?s=e.expr:St(e)?s=e.signal:Dm(e)?(a=!0,s=Em(e)):(it(e)||Gn(e))&&a&&(s=`datetime(${hi(e)})`,function Lnt(e){return!!fce[e]}(o)&&(Gn(e)&&e<1e4||it(e)&&isNaN(Date.parse(e)))&&(s=Em({[o]:e}))),s?i&&a?`time(${s})`:s:r?void 0:hi(e)}function aue(e,n){const{type:t}=e;return n.map(i=>{const o=B5(i,{timeUnit:je(e)&&!Im(e.timeUnit)?e.timeUnit:void 0,type:t,undefinedIfExprNotRequired:!0});return void 0!==o?{signal:o}:i})}function Xb(e,n){return Di(e.bin)?ad(n)&&["ordinal","nominal"].includes(e.type):(console.warn("Only call this method for binned field defs."),!1)}const sue={labelAlign:{part:"labels",vgProp:"align"},labelBaseline:{part:"labels",vgProp:"baseline"},labelColor:{part:"labels",vgProp:"fill"},labelFont:{part:"labels",vgProp:"font"},labelFontSize:{part:"labels",vgProp:"fontSize"},labelFontStyle:{part:"labels",vgProp:"fontStyle"},labelFontWeight:{part:"labels",vgProp:"fontWeight"},labelOpacity:{part:"labels",vgProp:"opacity"},labelOffset:null,labelPadding:null,gridColor:{part:"grid",vgProp:"stroke"},gridDash:{part:"grid",vgProp:"strokeDash"},gridDashOffset:{part:"grid",vgProp:"strokeDashOffset"},gridOpacity:{part:"grid",vgProp:"opacity"},gridWidth:{part:"grid",vgProp:"strokeWidth"},tickColor:{part:"ticks",vgProp:"stroke"},tickDash:{part:"ticks",vgProp:"strokeDash"},tickDashOffset:{part:"ticks",vgProp:"strokeDashOffset"},tickOpacity:{part:"ticks",vgProp:"opacity"},tickSize:null,tickWidth:{part:"ticks",vgProp:"strokeWidth"}};function Qb(e){return e?.condition}const lue=["domain","grid","labels","ticks","title"],Yit={grid:"grid",gridCap:"grid",gridColor:"grid",gridDash:"grid",gridDashOffset:"grid",gridOpacity:"grid",gridScale:"grid",gridWidth:"grid",orient:"main",bandPosition:"both",aria:"main",description:"main",domain:"main",domainCap:"main",domainColor:"main",domainDash:"main",domainDashOffset:"main",domainOpacity:"main",domainWidth:"main",format:"main",formatType:"main",labelAlign:"main",labelAngle:"main",labelBaseline:"main",labelBound:"main",labelColor:"main",labelFlush:"main",labelFlushOffset:"main",labelFont:"main",labelFontSize:"main",labelFontStyle:"main",labelFontWeight:"main",labelLimit:"main",labelLineHeight:"main",labelOffset:"main",labelOpacity:"main",labelOverlap:"main",labelPadding:"main",labels:"main",labelSeparation:"main",maxExtent:"main",minExtent:"main",offset:"both",position:"main",tickCap:"main",tickColor:"main",tickDash:"main",tickDashOffset:"main",tickMinStep:"both",tickOffset:"both",tickOpacity:"main",tickRound:"both",ticks:"main",tickSize:"main",tickWidth:"both",title:"main",titleAlign:"main",titleAnchor:"main",titleAngle:"main",titleBaseline:"main",titleColor:"main",titleFont:"main",titleFontSize:"main",titleFontStyle:"main",titleFontWeight:"main",titleLimit:"main",titleLineHeight:"main",titleOpacity:"main",titlePadding:"main",titleX:"main",titleY:"main",encode:"both",scale:"both",tickBand:"both",tickCount:"both",tickExtra:"both",translate:"both",values:"both",zindex:"both"},cue={orient:1,aria:1,bandPosition:1,description:1,domain:1,domainCap:1,domainColor:1,domainDash:1,domainDashOffset:1,domainOpacity:1,domainWidth:1,format:1,formatType:1,grid:1,gridCap:1,gridColor:1,gridDash:1,gridDashOffset:1,gridOpacity:1,gridWidth:1,labelAlign:1,labelAngle:1,labelBaseline:1,labelBound:1,labelColor:1,labelFlush:1,labelFlushOffset:1,labelFont:1,labelFontSize:1,labelFontStyle:1,labelFontWeight:1,labelLimit:1,labelLineHeight:1,labelOffset:1,labelOpacity:1,labelOverlap:1,labelPadding:1,labels:1,labelSeparation:1,maxExtent:1,minExtent:1,offset:1,position:1,tickBand:1,tickCap:1,tickColor:1,tickCount:1,tickDash:1,tickDashOffset:1,tickExtra:1,tickMinStep:1,tickOffset:1,tickOpacity:1,tickRound:1,ticks:1,tickSize:1,tickWidth:1,title:1,titleAlign:1,titleAnchor:1,titleAngle:1,titleBaseline:1,titleColor:1,titleFont:1,titleFontSize:1,titleFontStyle:1,titleFontWeight:1,titleLimit:1,titleLineHeight:1,titleOpacity:1,titlePadding:1,titleX:1,titleY:1,translate:1,values:1,zindex:1},uue={...cue,style:1,labelExpr:1,encoding:1};function due(e){return!!uue[e]}Oe(uue);const pue=Oe({axis:1,axisBand:1,axisBottom:1,axisDiscrete:1,axisLeft:1,axisPoint:1,axisQuantitative:1,axisRight:1,axisTemporal:1,axisTop:1,axisX:1,axisXBand:1,axisXDiscrete:1,axisXPoint:1,axisXQuantitative:1,axisXTemporal:1,axisY:1,axisYBand:1,axisYDiscrete:1,axisYPoint:1,axisYQuantitative:1,axisYTemporal:1});function Ep(e){return"mark"in e}class Y5{constructor(n,t){this.name=n,this.run=t}hasMatchingType(n){return!!Ep(n)&&function yit(e){return jc(e)?e.type:e}(n.mark)===this.name}}function Om(e,n){const t=e&&e[n];return!!t&&(De(t)?e1(t,i=>!!i.field):je(t)||k5(t))}function fue(e,n){const t=e&&e[n];return!!t&&(De(t)?e1(t,i=>!!i.field):je(t)||dd(t)||Zb(t))}function hue(e,n){if(br(n)){const t=e[n];if((je(t)||dd(t))&&(bce(t.type)||je(t)&&t.timeUnit))return fue(e,m5(n))}return!1}function gue(e){return e1(Ket,n=>{if(Om(e,n)){const t=e[n];if(De(t))return e1(t,i=>!!i.aggregate);{const i=Kc(t);return i&&!!i.aggregate}}return!1})}function mue(e,n){const t=[],i=[],r=[],o=[],a={};return lO(e,(s,l)=>{if(je(s)){const{field:c,aggregate:u,bin:d,timeUnit:p,...f}=s;if(u||p||d){const g=oO(s)?.title;let m=Xe(s,{forAs:!0});const _={...g?[]:{title:p1(s,n,{allowDisabling:!0})},...f,field:m};if(u){let v;if(_h(u)?(v="argmax",m=Xe({op:"argmax",field:u.argmax},{forAs:!0}),_.field=`${m}.${c}`):xp(u)?(v="argmin",m=Xe({op:"argmin",field:u.argmin},{forAs:!0}),_.field=`${m}.${c}`):"boxplot"!==u&&"errorbar"!==u&&"errorband"!==u&&(v=u),v){const C={op:v,as:m};c&&(C.field=c),o.push(C)}}else if(t.push(m),za(s)&&Di(d))i.push({bin:d,field:c,as:m}),t.push(Xe(s,{binSuffix:"end"})),Xb(s,l)&&t.push(Xe(s,{binSuffix:"range"})),br(l)&&(a[`${l}2`]={field:`${m}_end`}),_.bin="binned",Rle(l)||(_.type=Lm);else if(p&&!Im(p)){r.push({timeUnit:p,field:c,as:m});const v=za(s)&&s.type!==s1&&"time";v&&(l===Bb||l===wm?_.formatType=v:function itt(e){return!!AN[e]}(l)?_.legend={formatType:v,..._.legend}:br(l)&&(_.axis={formatType:v,..._.axis}))}a[l]=_}else t.push(c),a[l]=e[l]}else a[l]=e[l]}),{bins:i,timeUnits:r,aggregate:o,groupby:t,encoding:a}}function Vit(e,n,t){const i=function ott(e,n){return function stt(e){switch(e){case Ts:case id:case rd:case g5:case Yb:case p5:case wm:case f5:case o1:case Sp:case fh:case hh:case gh:case d5:case vp:case Tp:return Ple;case zi:case co:case ph:case r1:case Yc:case Vc:return att;case Gc:case nd:case zc:case Vl:return{area:"always",bar:"always",image:"always",rect:"always",rule:"always",circle:"binned",point:"binned",square:"binned",tick:"binned",line:"binned",trail:"binned"};case Ap:return{point:"always",tick:"always",rule:"always",circle:"always",square:"always",bar:"always",text:"always",line:"always",trail:"always"};case mh:return{line:"always",point:"always",tick:"always",rule:"always",circle:"always",square:"always",bar:"always",geoshape:"always"};case Cs:return{point:"always",geoshape:"always"};case Bb:return{text:"always"};case Sm:return{point:"always",square:"always",text:"always"};case h5:return{image:"always"};case Yl:case Bc:return{text:"always",arc:"always"};case bp:case Cp:return{arc:"always"}}}(e)[n]}(n,t);if(!i)return!1;if("binned"===i){const r=e[n===Gc?zi:co];return!!(je(r)&&je(e[n])&&Lo(r.bin))}return!0}function V5(e,n){const t={};for(const i of Oe(e)){const r=oue(e[i],i,n,{compositeMark:!0});t[i]=r}return t}function lO(e,n,t){if(e)for(const i of Oe(e)){const r=e[i];if(De(r))for(const o of r)n.call(t,o,i);else n.call(t,r,i)}}function yue(e,n){return Oe(n).reduce((t,i)=>{switch(i){case zi:case co:case f5:case g5:case h5:case Gc:case nd:case ph:case r1:case Yl:case bp:case Bc:case Cp:case Yc:case Vc:case zc:case Vl:case Bb:case Cs:case Sm:case wm:return t;case o1:if("line"===e||"trail"===e)return t;case Yb:case p5:{const r=n[i];if(De(r)||je(r))for(const o of nt(r))o.aggregate||t.push(Xe(o,{}));return t}case Ap:if("trail"===e)return t;case Ts:case id:case rd:case Sp:case fh:case hh:case mh:case gh:{const r=Kc(n[i]);return r&&!r.aggregate&&t.push(Xe(r,{})),t}}},[])}function cO(e,n,t,i=!0){if("tooltip"in t)return{tooltip:t.tooltip};const r=e.map(({fieldPrefix:a,titlePrefix:s})=>{const l=i?` of ${uO(n)}`:"";return{field:a+n.field,type:n.type,title:St(s)?{signal:`${s}"${escape(l)}"`}:s+l}}),o=function $it(e){const n=[];for(const t of Oe(e))if(Om(e,t)){const r=nt(e[t]);for(const o of r)je(o)?n.push(o):k5(o)&&n.push(o.condition)}return n}(t).map(Iit);return{tooltip:[...r,...td(o,In)]}}function uO(e){const{title:n,field:t}=e;return Cr(n,t)}function dO(e,n,t,i,r){const{scale:o,axis:a}=t;return({partName:s,mark:l,positionPrefix:c,endPositionPrefix:u,extraEncoding:d={}})=>{const p=uO(t);return _ue(e,s,r,{mark:l,encoding:{[n]:{field:`${c}_${t.field}`,type:t.type,...void 0!==p?{title:p}:{},...void 0!==o?{scale:o}:{},...void 0!==a?{axis:a}:{}},...it(u)?{[`${n}2`]:{field:`${u}_${t.field}`}}:{},...i,...d}})}}function _ue(e,n,t,i){const{clip:r,color:o,opacity:a}=e,s=e.type;return e[n]||void 0===e[n]&&t[n]?[{...i,mark:{...t[n],...r?{clip:r}:{},...o?{color:o}:{},...a?{opacity:a}:{},...jc(i.mark)?i.mark:{type:i.mark},style:`${s}-${String(n)}`,...Ef(e[n])?{}:e[n]}}]:[]}function vue(e,n,t){const{encoding:i}=e,r="vertical"===n?"y":"x",a=i[`${r}2`],s=i[`${r}Error`],l=i[`${r}Error2`];return{continuousAxisChannelDef:z5(i[r],t),continuousAxisChannelDef2:z5(a,t),continuousAxisChannelDefError:z5(s,t),continuousAxisChannelDefError2:z5(l,t),continuousAxis:r}}function z5(e,n){if(e?.aggregate){const{aggregate:t,...i}=e;return t!==n&&Ue(function _nt(e,n){return`Continuous axis should not have customized aggregation function ${e}; ${n} already agregates the axis.`}(t,n)),i}return e}function Tue(e,n){const{mark:t,encoding:i}=e,{x:r,y:o}=i;if(jc(t)&&t.orient)return t.orient;if(Sh(r)){if(Sh(o)){const a=je(r)&&r.aggregate,s=je(o)&&o.aggregate;if(!a&&s===n)return"vertical";if(!s&&a===n)return"horizontal";if(a===n&&s===n)throw new Error("Both x and y cannot have aggregate");return h1(o)&&!h1(r)?"horizontal":"vertical"}return"horizontal"}if(Sh(o))return"vertical";throw new Error(`Need a valid continuous axis for ${n}s`)}const $5="boxplot",qit=new Y5($5,bue);function Cue(e){return Gn(e)?"tukey":e}function bue(e,{config:n}){e={...e,encoding:V5(e.encoding,n)};const{mark:t,encoding:i,params:r,projection:o,...a}=e,s=jc(t)?t:{type:t};r&&Ue(Qle("boxplot"));const l=s.extent??n.boxplot.extent,c=li("size",s,n),u=s.invalid,d=Cue(l),{bins:p,timeUnits:f,transform:h,continuousAxisChannelDef:g,continuousAxis:m,groupby:_,aggregate:v,encodingWithoutContinuousAxis:C,ticksOrient:A,boxOrient:S,customTooltipWithoutAggregatedField:I}=function Kit(e,n,t){const i=Tue(e,$5),{continuousAxisChannelDef:r,continuousAxis:o}=vue(e,i,$5),a=r.field,s=t1(a),l=Cue(n),c=[...Aue(a),{op:"median",field:a,as:`mid_box_${s}`},{op:"min",field:a,as:("min-max"===l?"lower_whisker_":"min_")+s},{op:"max",field:a,as:("min-max"===l?"upper_whisker_":"max_")+s}],u="min-max"===l||"tukey"===l?[]:[{calculate:`datum["upper_box_${s}"] - datum["lower_box_${s}"]`,as:`iqr_${s}`},{calculate:`min(datum["upper_box_${s}"] + datum["iqr_${s}"] * ${n}, datum["max_${s}"])`,as:`upper_whisker_${s}`},{calculate:`max(datum["lower_box_${s}"] - datum["iqr_${s}"] * ${n}, datum["min_${s}"])`,as:`lower_whisker_${s}`}],{[o]:d,...p}=e.encoding,{customTooltipWithoutAggregatedField:f,filteredEncoding:h}=function jit(e){const{tooltip:n,...t}=e;if(!n)return{filteredEncoding:t};let i,r;if(De(n)){for(const o of n)o.aggregate?(i||(i=[]),i.push(o)):(r||(r=[]),r.push(o));i&&(t.tooltip=i)}else n.aggregate?t.tooltip=n:r=n;return De(r)&&1===r.length&&(r=r[0]),{customTooltipWithoutAggregatedField:r,filteredEncoding:t}}(p),{bins:g,timeUnits:m,aggregate:_,groupby:v,encoding:C}=mue(h,t),A="vertical"===i?"horizontal":"vertical",S=i;return{bins:g,timeUnits:m,transform:[...g,...m,{aggregate:[..._,...c],groupby:v},...u],groupby:v,aggregate:_,continuousAxisChannelDef:r,continuousAxis:o,encodingWithoutContinuousAxis:C,ticksOrient:A,boxOrient:S,customTooltipWithoutAggregatedField:f}}(e,l,n),w=t1(g.field),{color:O,size:B,...W}=C,q=Ut=>dO(s,m,g,Ut,n.boxplot),te=q(W),K=q(C),F=(Je(n.boxplot.box)?n.boxplot.box.color:n.mark.color)||"#4c78a8",M=q({...W,...B?{size:B}:{},color:{condition:{test:`datum['lower_box_${g.field}'] >= datum['upper_box_${g.field}']`,...O||{value:F}}}}),L=cO([{fieldPrefix:"min-max"===d?"upper_whisker_":"max_",titlePrefix:"Max"},{fieldPrefix:"upper_box_",titlePrefix:"Q3"},{fieldPrefix:"mid_box_",titlePrefix:"Median"},{fieldPrefix:"lower_box_",titlePrefix:"Q1"},{fieldPrefix:"min-max"===d?"lower_whisker_":"min_",titlePrefix:"Min"}],g,C),Y={type:"tick",color:"black",opacity:1,orient:A,invalid:u,aria:!1},P="min-max"===d?L:cO([{fieldPrefix:"upper_whisker_",titlePrefix:"Upper Whisker"},{fieldPrefix:"lower_whisker_",titlePrefix:"Lower Whisker"}],g,C),$=[...te({partName:"rule",mark:{type:"rule",invalid:u,aria:!1},positionPrefix:"lower_whisker",endPositionPrefix:"lower_box",extraEncoding:P}),...te({partName:"rule",mark:{type:"rule",invalid:u,aria:!1},positionPrefix:"upper_box",endPositionPrefix:"upper_whisker",extraEncoding:P}),...te({partName:"ticks",mark:Y,positionPrefix:"lower_whisker",extraEncoding:P}),...te({partName:"ticks",mark:Y,positionPrefix:"upper_whisker",extraEncoding:P})],U=[..."tukey"!==d?$:[],...K({partName:"box",mark:{type:"bar",...c?{size:c}:{},orient:S,invalid:u,ariaRoleDescription:"box"},positionPrefix:"lower_box",endPositionPrefix:"upper_box",extraEncoding:L}),...M({partName:"median",mark:{type:"tick",invalid:u,...Je(n.boxplot.median)&&n.boxplot.median.color?{color:n.boxplot.median.color}:{},...c?{size:c}:{},orient:A,aria:!1},positionPrefix:"mid_box",extraEncoding:L})];if("min-max"===d)return{...a,transform:(a.transform??[]).concat(h),layer:U};const ee=`datum["lower_box_${g.field}"]`,oe=`datum["upper_box_${g.field}"]`,ce=`(${oe} - ${ee})`,se=`${ee} - ${l} * ${ce}`,fe=`${oe} + ${l} * ${ce}`,Le=`datum["${g.field}"]`,me={joinaggregate:Aue(g.field),groupby:_},Ge={transform:[{filter:`(${se} <= ${Le}) && (${Le} <= ${fe})`},{aggregate:[{op:"min",field:g.field,as:`lower_whisker_${w}`},{op:"max",field:g.field,as:`upper_whisker_${w}`},{op:"min",field:`lower_box_${g.field}`,as:`lower_box_${w}`},{op:"max",field:`upper_box_${g.field}`,as:`upper_box_${w}`},...v],groupby:_}],layer:$},{tooltip:ye,...Ee}=W,{scale:ke,axis:he}=g,qe=uO(g),ut=vs(he,["title"]),zt=_ue(s,"outliers",n.boxplot,{transform:[{filter:`(${Le} < ${se}) || (${Le} > ${fe})`}],mark:"point",encoding:{[m]:{field:g.field,type:g.type,...void 0!==qe?{title:qe}:{},...void 0!==ke?{scale:ke}:{},...fi(ut)?{}:{axis:ut}},...Ee,...O?{color:O}:{},...I?{tooltip:I}:{}}})[0];let ht;const ze=[...p,...f,me];return zt?ht={transform:ze,layer:[zt,Ge]}:(ht=Ge,ht.transform.unshift(...ze)),{...a,layer:[ht,{transform:h,layer:U}]}}function Aue(e){const n=t1(e);return[{op:"q1",field:e,as:`lower_box_${n}`},{op:"q3",field:e,as:`upper_box_${n}`}]}const pO="errorbar",Xit=new Y5(pO,Sue);function Sue(e,{config:n}){e={...e,encoding:V5(e.encoding,n)};const{transform:t,continuousAxisChannelDef:i,continuousAxis:r,encodingWithoutContinuousAxis:o,ticksOrient:a,markDef:s,outerSpec:l,tooltipEncoding:c}=wue(e,pO,n);delete o.size;const u=dO(s,r,i,o,n.errorbar),d=s.thickness,p=s.size,f={type:"tick",orient:a,aria:!1,...void 0!==d?{thickness:d}:{},...void 0!==p?{size:p}:{}},h=[...u({partName:"ticks",mark:f,positionPrefix:"lower",extraEncoding:c}),...u({partName:"ticks",mark:f,positionPrefix:"upper",extraEncoding:c}),...u({partName:"rule",mark:{type:"rule",ariaRoleDescription:"errorbar",...void 0!==d?{size:d}:{}},positionPrefix:"lower",endPositionPrefix:"upper",extraEncoding:c})];return{...l,transform:t,...h.length>1?{layer:h}:{...h[0]}}}function wue(e,n,t){const{mark:i,encoding:r,params:o,projection:a,...s}=e,l=jc(i)?i:{type:i};o&&Ue(Qle(n));const{orient:c,inputType:u}=function Qit(e,n){const{encoding:t}=e;if(function Jit(e){return(ln(e.x)||ln(e.y))&&!ln(e.x2)&&!ln(e.y2)&&!ln(e.xError)&&!ln(e.xError2)&&!ln(e.yError)&&!ln(e.yError2)}(t))return{orient:Tue(e,n),inputType:"raw"};const i=function ert(e){return ln(e.x2)||ln(e.y2)}(t),r=function trt(e){return ln(e.xError)||ln(e.xError2)||ln(e.yError)||ln(e.yError2)}(t),o=t.x,a=t.y;if(i){if(r)throw new Error(`${n} cannot be both type aggregated-upper-lower and aggregated-error`);const s=t.x2,l=t.y2;if(ln(s)&&ln(l))throw new Error(`${n} cannot have both x2 and y2`);if(ln(s)){if(Sh(o))return{orient:"horizontal",inputType:"aggregated-upper-lower"};throw new Error(`Both x and x2 have to be quantitative in ${n}`)}if(ln(l)){if(Sh(a))return{orient:"vertical",inputType:"aggregated-upper-lower"};throw new Error(`Both y and y2 have to be quantitative in ${n}`)}throw new Error("No ranged axis")}{const s=t.xError,c=t.yError,u=t.yError2;if(ln(t.xError2)&&!ln(s))throw new Error(`${n} cannot have xError2 without xError`);if(ln(u)&&!ln(c))throw new Error(`${n} cannot have yError2 without yError`);if(ln(s)&&ln(c))throw new Error(`${n} cannot have both xError and yError with both are quantiative`);if(ln(s)){if(Sh(o))return{orient:"horizontal",inputType:"aggregated-error"};throw new Error("All x, xError, and xError2 (if exist) have to be quantitative")}if(ln(c)){if(Sh(a))return{orient:"vertical",inputType:"aggregated-error"};throw new Error("All y, yError, and yError2 (if exist) have to be quantitative")}throw new Error("No ranged axis")}}(e,n),{continuousAxisChannelDef:d,continuousAxisChannelDef2:p,continuousAxisChannelDefError:f,continuousAxisChannelDefError2:h,continuousAxis:g}=vue(e,c,n),{errorBarSpecificAggregate:m,postAggregateCalculates:_,tooltipSummary:v,tooltipTitleWithFieldName:C}=function nrt(e,n,t,i,r,o,a,s){let l=[],c=[];const u=n.field;let d,p=!1;if("raw"===o){const f=e.center?e.center:e.extent?"iqr"===e.extent?"median":"mean":s.errorbar.center,h=e.extent?e.extent:"mean"===f?"stderr":"iqr";if("median"===f!=("iqr"===h)&&Ue(function ynt(e,n,t){return`${e} is not usually used with ${n} for ${t}.`}(f,h,a)),"stderr"===h||"stdev"===h)l=[{op:h,field:u,as:`extent_${u}`},{op:f,field:u,as:`center_${u}`}],c=[{calculate:`datum["center_${u}"] + datum["extent_${u}"]`,as:`upper_${u}`},{calculate:`datum["center_${u}"] - datum["extent_${u}"]`,as:`lower_${u}`}],d=[{fieldPrefix:"center_",titlePrefix:Hb(f)},{fieldPrefix:"upper_",titlePrefix:xue(f,h,"+")},{fieldPrefix:"lower_",titlePrefix:xue(f,h,"-")}],p=!0;else{let g,m,_;"ci"===h?(g="mean",m="ci0",_="ci1"):(g="median",m="q1",_="q3"),l=[{op:m,field:u,as:`lower_${u}`},{op:_,field:u,as:`upper_${u}`},{op:g,field:u,as:`center_${u}`}],d=[{fieldPrefix:"upper_",titlePrefix:p1({field:u,aggregate:_,type:"quantitative"},s,{allowDisabling:!1})},{fieldPrefix:"lower_",titlePrefix:p1({field:u,aggregate:m,type:"quantitative"},s,{allowDisabling:!1})},{fieldPrefix:"center_",titlePrefix:p1({field:u,aggregate:g,type:"quantitative"},s,{allowDisabling:!1})}]}}else{(e.center||e.extent)&&Ue(function mnt(e,n){return`${n?"extent ":""}${n&&e?"and ":""}${e?"center ":""}${n&&e?"are ":"is "}not needed when data are aggregated.`}(e.center,e.extent)),"aggregated-upper-lower"===o?(d=[],c=[{calculate:`datum["${t.field}"]`,as:`upper_${u}`},{calculate:`datum["${u}"]`,as:`lower_${u}`}]):"aggregated-error"===o&&(d=[{fieldPrefix:"",titlePrefix:u}],c=[{calculate:`datum["${u}"] + datum["${i.field}"]`,as:`upper_${u}`}],c.push(r?{calculate:`datum["${u}"] + datum["${r.field}"]`,as:`lower_${u}`}:{calculate:`datum["${u}"] - datum["${i.field}"]`,as:`lower_${u}`}));for(const f of c)d.push({fieldPrefix:f.as.substring(0,6),titlePrefix:Am(Am(f.calculate,'datum["',""),'"]',"")})}return{postAggregateCalculates:c,errorBarSpecificAggregate:l,tooltipSummary:d,tooltipTitleWithFieldName:p}}(l,d,p,f,h,u,n,t),{[g]:A,["x"===g?"x2":"y2"]:S,["x"===g?"xError":"yError"]:I,["x"===g?"xError2":"yError2"]:w,...O}=r,{bins:B,timeUnits:W,aggregate:q,groupby:te,encoding:K}=mue(O,t),F=[...q,...m],M="raw"!==u?[]:te,L=cO(v,d,K,C);return{transform:[...s.transform??[],...B,...W,...0===F.length?[]:[{aggregate:F,groupby:M}],..._],groupby:M,continuousAxisChannelDef:d,continuousAxis:g,encodingWithoutContinuousAxis:K,ticksOrient:"vertical"===c?"horizontal":"vertical",markDef:l,outerSpec:s,tooltipEncoding:L}}function xue(e,n,t){return`${Hb(e)} ${t} ${n}`}const fO="errorband",rrt=new Y5(fO,Fue);function Fue(e,{config:n}){e={...e,encoding:V5(e.encoding,n)};const{transform:t,continuousAxisChannelDef:i,continuousAxis:r,encodingWithoutContinuousAxis:o,markDef:a,outerSpec:s,tooltipEncoding:l}=wue(e,fO,n),c=a,u=dO(c,r,i,o,n.errorband),d=void 0!==e.encoding.x&&void 0!==e.encoding.y;let p={type:d?"area":"rect"},f={type:d?"line":"rule"};const h={...c.interpolate?{interpolate:c.interpolate}:{},...c.tension&&c.interpolate?{tension:c.tension}:{}};return d?(p={...p,...h,ariaRoleDescription:"errorband"},f={...f,...h,aria:!1}):c.interpolate?Ue(sce("interpolate")):c.tension&&Ue(sce("tension")),{...s,transform:t,layer:[...u({partName:"band",mark:p,positionPrefix:"lower",endPositionPrefix:"upper",extraEncoding:l}),...u({partName:"borders",mark:f,positionPrefix:"lower",extraEncoding:l}),...u({partName:"borders",mark:f,positionPrefix:"upper",extraEncoding:l})]}}const hO={};function gO(e,n,t){const i=new Y5(e,n);hO[e]={normalizer:i,parts:t}}gO($5,bue,["box","median","outliers","rule","ticks"]),gO(pO,Sue,["ticks","rule"]),gO(fO,Fue,["band","borders"]);const art=["gradientHorizontalMaxLength","gradientHorizontalMinLength","gradientVerticalMaxLength","gradientVerticalMinLength","unselectedOpacity"],Due={titleAlign:"align",titleAnchor:"anchor",titleAngle:"angle",titleBaseline:"baseline",titleColor:"color",titleFont:"font",titleFontSize:"fontSize",titleFontStyle:"fontStyle",titleFontWeight:"fontWeight",titleLimit:"limit",titleLineHeight:"lineHeight",titleOrient:"orient",titlePadding:"offset"},Eue={labelAlign:"align",labelAnchor:"anchor",labelAngle:"angle",labelBaseline:"baseline",labelColor:"color",labelFont:"font",labelFontSize:"fontSize",labelFontStyle:"fontStyle",labelFontWeight:"fontWeight",labelLimit:"limit",labelLineHeight:"lineHeight",labelOrient:"orient",labelPadding:"offset"},srt=Oe(Due),lrt=Oe(Eue),Iue=Oe({header:1,headerRow:1,headerColumn:1,headerFacet:1}),Rue=["size","shape","fill","stroke","strokeDash","strokeWidth","opacity"],Lue={aria:1,clipHeight:1,columnPadding:1,columns:1,cornerRadius:1,description:1,direction:1,fillColor:1,format:1,formatType:1,gradientLength:1,gradientOpacity:1,gradientStrokeColor:1,gradientStrokeWidth:1,gradientThickness:1,gridAlign:1,labelAlign:1,labelBaseline:1,labelColor:1,labelFont:1,labelFontSize:1,labelFontStyle:1,labelFontWeight:1,labelLimit:1,labelOffset:1,labelOpacity:1,labelOverlap:1,labelPadding:1,labelSeparation:1,legendX:1,legendY:1,offset:1,orient:1,padding:1,rowPadding:1,strokeColor:1,symbolDash:1,symbolDashOffset:1,symbolFillColor:1,symbolLimit:1,symbolOffset:1,symbolOpacity:1,symbolSize:1,symbolStrokeColor:1,symbolStrokeWidth:1,symbolType:1,tickCount:1,tickMinStep:1,title:1,titleAlign:1,titleAnchor:1,titleBaseline:1,titleColor:1,titleFont:1,titleFontSize:1,titleFontStyle:1,titleFontWeight:1,titleLimit:1,titleLineHeight:1,titleOpacity:1,titleOrient:1,titlePadding:1,type:1,values:1,zindex:1},Zc=(Oe(Lue),"_vgsid_"),urt={point:{on:"click",fields:[Zc],toggle:"event.shiftKey",resolve:"global",clear:"dblclick"},interval:{on:"[pointerdown, window:pointerup] > window:pointermove!",encodings:["x","y"],translate:"[pointerdown, window:pointerup] > window:pointermove!",zoom:"wheel!",mark:{fill:"#333",fillOpacity:.125,stroke:"white"},resolve:"global",clear:"dblclick"}};function mO(e){return"legend"===e||!!e?.legend}function yO(e){return mO(e)&&Je(e)}function _O(e){return!!e?.select}function Mue(e){const n=[];for(const t of e||[]){if(_O(t))continue;const{expr:i,bind:r,...o}=t;if(r&&i){const a={...o,bind:r,init:i};n.push(a)}else{const a={...o,...i?{update:i}:{},...r?{bind:r}:{}};n.push(a)}}return n}function vO(e){return"concat"in e}function U5(e){return"vconcat"in e}function TO(e){return"hconcat"in e}function kue({step:e,offsetIsDiscrete:n}){return n?e.for??"offset":"position"}function pd(e){return Je(e)&&void 0!==e.step}function Pue(e){return e.view||e.width||e.height}const prt=Oe({align:1,bounds:1,center:1,columns:1,spacing:1});function CO(e,n){return e[n]??e["width"===n?"continuousWidth":"continuousHeight"]}function j5(e,n){const t=W5(e,n);return pd(t)?t.step:Oue}function W5(e,n){return Cr(e[n]??e["width"===n?"discreteWidth":"discreteHeight"],{step:e.step})}const Oue=20,grt={background:"white",padding:5,timeFormat:"%b %d, %Y",countTitle:"Count of Records",view:{continuousWidth:200,continuousHeight:200,step:Oue},mark:{color:"#4c78a8",invalid:"break-paths-show-path-domains",timeUnitBandSize:1},arc:{},area:{},bar:{binSpacing:1,continuousBandSize:5,minBandSize:.25,timeUnitBandPosition:.5},circle:{},geoshape:{},image:{},line:{},point:{},rect:{binSpacing:0,continuousBandSize:5,minBandSize:.25,timeUnitBandPosition:.5},rule:{color:"black"},square:{},text:{color:"black"},tick:{thickness:1},trail:{},boxplot:{size:14,extent:1.5,box:{},median:{color:"white"},outliers:{},rule:{},ticks:null},errorbar:{center:"mean",rule:!0,ticks:!1},errorband:{band:{opacity:.3},borders:!1},scale:{pointPadding:.5,barBandPaddingInner:.1,rectBandPaddingInner:0,tickBandPaddingInner:.25,bandWithNestedOffsetPaddingInner:.2,bandWithNestedOffsetPaddingOuter:.2,minBandSize:2,minFontSize:8,maxFontSize:40,minOpacity:.3,maxOpacity:.8,minSize:4,minStrokeWidth:1,maxStrokeWidth:4,quantileCount:4,quantizeCount:4,zero:!0},projection:{},legend:{gradientHorizontalMaxLength:200,gradientHorizontalMinLength:100,gradientVerticalMaxLength:200,gradientVerticalMinLength:64,unselectedOpacity:.35},header:{titlePadding:10,labelPadding:10},headerColumn:{},headerRow:{},headerFacet:{},selection:urt,style:{},title:{},facet:{spacing:20},concat:{spacing:20},normalizedNumberFormat:".0%"},Ip=["#4c78a8","#f58518","#e45756","#72b7b2","#54a24b","#eeca3b","#b279a2","#ff9da6","#9d755d","#bab0ac"],Hue={text:11,guideLabel:10,guideTitle:11,groupTitle:13,groupSubtitle:12},Gue={blue:Ip[0],orange:Ip[1],red:Ip[2],teal:Ip[3],green:Ip[4],yellow:Ip[5],purple:Ip[6],pink:Ip[7],brown:Ip[8],gray0:"#000",gray1:"#111",gray2:"#222",gray3:"#333",gray4:"#444",gray5:"#555",gray6:"#666",gray7:"#777",gray8:"#888",gray9:"#999",gray10:"#aaa",gray11:"#bbb",gray12:"#ccc",gray13:"#ddd",gray14:"#eee",gray15:"#fff"};function Bue(e){const n=Oe(e||{}),t={};for(const i of n){const r=e[i];t[i]=Qb(r)?Gle(r):rl(r)}return t}const Trt=[...Nce,...pue,...Iue,"background","padding","legend","lineBreak","scale","style","title","view"];function Yue(e={}){const{color:n,font:t,fontSize:i,selection:r,...o}=e,a=Jy({},rn(grt),t?function _rt(e){return{text:{font:e},style:{"guide-label":{font:e},"guide-title":{font:e},"group-title":{font:e},"group-subtitle":{font:e}}}}(t):{},n?function mrt(e={}){return{signals:[{name:"color",value:Je(e)?{...Gue,...e}:Gue}],mark:{color:{signal:"color.blue"}},rule:{color:{signal:"color.gray0"}},text:{color:{signal:"color.gray0"}},style:{"guide-label":{fill:{signal:"color.gray0"}},"guide-title":{fill:{signal:"color.gray0"}},"group-title":{fill:{signal:"color.gray0"}},"group-subtitle":{fill:{signal:"color.gray0"}},cell:{stroke:{signal:"color.gray8"}}},axis:{domainColor:{signal:"color.gray13"},gridColor:{signal:"color.gray8"},tickColor:{signal:"color.gray13"}},range:{category:[{signal:"color.blue"},{signal:"color.orange"},{signal:"color.red"},{signal:"color.teal"},{signal:"color.green"},{signal:"color.yellow"},{signal:"color.purple"},{signal:"color.pink"},{signal:"color.brown"},{signal:"color.grey8"}]}}}(n):{},i?function yrt(e){return{signals:[{name:"fontSize",value:Je(e)?{...Hue,...e}:Hue}],text:{fontSize:{signal:"fontSize.text"}},style:{"guide-label":{fontSize:{signal:"fontSize.guideLabel"}},"guide-title":{fontSize:{signal:"fontSize.guideTitle"}},"group-title":{fontSize:{signal:"fontSize.groupTitle"}},"group-subtitle":{fontSize:{signal:"fontSize.groupSubtitle"}}}}}(i):{},o||{});r&&e_(a,"selection",r,!0);const s=vs(a,Trt);for(const l of["background","lineBreak","padding"])a[l]&&(s[l]=rl(a[l]));for(const l of Nce)a[l]&&(s[l]=aa(a[l]));for(const l of pue)a[l]&&(s[l]=Bue(a[l]));for(const l of Iue)a[l]&&(s[l]=aa(a[l]));if(a.legend&&(s.legend=aa(a.legend)),a.scale){const{invalid:l,...c}=a.scale,u=aa(l,{level:1});s.scale={...aa(c),...Oe(u).length>0?{invalid:u}:{}}}return a.style&&(s.style=function vrt(e){const n=Oe(e),t={};for(const i of n)t[i]=Bue(e[i]);return t}(a.style)),a.title&&(s.title=aa(a.title)),a.view&&(s.view=aa(a.view)),s}const Crt=new Set(["view",...kce]),brt=["color","fontSize","background","padding","facet","concat","numberFormat","numberFormatType","normalizedNumberFormat","normalizedNumberFormatType","timeFormat","countTitle","header","axisQuantitative","axisTemporal","axisDiscrete","axisPoint","axisXBand","axisXPoint","axisXDiscrete","axisXQuantitative","axisXTemporal","axisYBand","axisYPoint","axisYDiscrete","axisYQuantitative","axisYTemporal","scale","selection","overlay"],Art={view:["continuousWidth","continuousHeight","discreteWidth","discreteHeight","step"],area:["line","point"],bar:["binSpacing","continuousBandSize","discreteBandSize","minBandSize"],rect:["binSpacing","continuousBandSize","discreteBandSize","minBandSize"],line:["point"],tick:["bandSize","thickness"]};function xrt(e,n,t,i){"view"===n&&(t="cell");const o={...i?e[n][i]:e[n],...e.style[t??n]};fi(o)||(e.style[t??n]=o),i||delete e[n]}function q5(e){return"layer"in e}class bO{map(n,t){return M5(n)?this.mapFacet(n,t):function Frt(e){return"repeat"in e}(n)?this.mapRepeat(n,t):TO(n)?this.mapHConcat(n,t):U5(n)?this.mapVConcat(n,t):vO(n)?this.mapConcat(n,t):this.mapLayerOrUnit(n,t)}mapLayerOrUnit(n,t){if(q5(n))return this.mapLayer(n,t);if(Ep(n))return this.mapUnit(n,t);throw new Error(LN(n))}mapLayer(n,t){return{...n,layer:n.layer.map(i=>this.mapLayerOrUnit(i,t))}}mapHConcat(n,t){return{...n,hconcat:n.hconcat.map(i=>this.map(i,t))}}mapVConcat(n,t){return{...n,vconcat:n.vconcat.map(i=>this.map(i,t))}}mapConcat(n,t){const{concat:i,...r}=n;return{...r,concat:i.map(o=>this.map(o,t))}}mapFacet(n,t){return{...n,spec:this.map(n.spec,t)}}mapRepeat(n,t){return{...n,spec:this.map(n.spec,t)}}}const Ert={zero:1,center:1,normalize:1},Rrt=new Set([Rce,F5,x5,I5,E5,ZN,XN,D5,Lce,KN]),Lrt=new Set([F5,x5,Rce]);function g1(e){return je(e)&&"quantitative"===u1(e)&&!e.bin}function Vue(e,n,{orient:t,type:i}){const r="x"===n?"y":"radius",o="x"===n&&["bar","area"].includes(i),a=e[n],s=e[r];if(je(a)&&je(s))if(g1(a)&&g1(s)){if(a.stack)return n;if(s.stack)return r;const l=je(a)&&!!a.aggregate;if(l!==(je(s)&&!!s.aggregate))return l?n:r;if(o){if("vertical"===t)return r;if("horizontal"===t)return n}}else{if(g1(a))return n;if(g1(s))return r}else{if(g1(a))return o&&"vertical"===t?void 0:n;if(g1(s))return o&&"horizontal"===t?void 0:r}}function zue(e,n){const t=jc(e)?e:{type:e},i=t.type;if(!Rrt.has(i))return null;const r=Vue(n,"x",t)||Vue(n,"theta",t);if(!r)return null;const o=n[r],a=je(o)?Xe(o,{}):void 0,s=function Mrt(e){switch(e){case"x":return"y";case"y":return"x";case"theta":return"radius";case"radius":return"theta"}}(r),l=[],c=new Set;if(n[s]){const g=n[s],m=je(g)?Xe(g,{}):void 0;m&&m!==a&&(l.push(s),c.add(m))}const u="x"===s?"xOffset":"yOffset",d=n[u],p=je(d)?Xe(d,{}):void 0;p&&p!==a&&(l.push(u),c.add(p));const f=ett.reduce((g,m)=>{if("tooltip"!==m&&Om(n,m)){const _=n[m];for(const v of nt(_)){const C=Kc(v);if(C.aggregate)continue;const A=Xe(C,{});(!A||!c.has(A))&&g.push({channel:m,fieldDef:C})}}return g},[]);let h;return void 0!==o.stack?h=Ef(o.stack)?o.stack?"zero":null:o.stack:Lrt.has(i)&&(h="zero"),!h||!function Irt(e){return e in Ert}(h)||gue(n)&&0===f.length?null:(o?.scale?.type&&o?.scale?.type!==Mo.LINEAR&&o?.stack&&Ue(function fnt(e){return`Stack is applied to a non-linear scale (${e}).`}(o.scale.type)),ln(n[od(r)])?(void 0!==o.stack&&Ue(function pnt(e){return`Cannot stack "${e}" if there is already "${e}2".`}(r)),null):(je(o)&&o.aggregate&&!ptt.has(o.aggregate)&&Ue(function hnt(e){return`Stacking is applied even though the aggregate function is non-summative ("${e}").`}(o.aggregate)),{groupbyChannels:l,groupbyFields:c,fieldChannel:r,impute:null!==o.impute&&bh(i),stackBy:f,offset:h}))}function $ue(e,n,t){const i=aa(e),r=li("orient",i,t);if(i.orient=function Ort(e,n,t){switch(e){case E5:case ZN:case XN:case Lce:case ait:case oit:return}const{x:i,y:r,x2:o,y2:a}=n;switch(e){case F5:if(je(i)&&(Lo(i.bin)||je(r)&&r.aggregate&&!i.aggregate))return"vertical";if(je(r)&&(Lo(r.bin)||je(i)&&i.aggregate&&!r.aggregate))return"horizontal";if(a||o){if(t)return t;if(!o)return(je(i)&&i.type===Lm&&!Di(i.bin)||P5(i))&&je(r)&&Lo(r.bin)?"horizontal":"vertical";if(!a)return(je(r)&&r.type===Lm&&!Di(r.bin)||P5(r))&&je(i)&&Lo(i.bin)?"vertical":"horizontal"}case I5:if(o&&(!je(i)||!Lo(i.bin))&&a&&(!je(r)||!Lo(r.bin)))return;case x5:if(a)return je(r)&&Lo(r.bin)?"horizontal":"vertical";if(o)return je(i)&&Lo(i.bin)?"vertical":"horizontal";if(e===I5){if(i&&!r)return"vertical";if(r&&!i)return"horizontal"}case D5:case KN:{const s=Jce(i),l=Jce(r);if(t)return t;if(s&&!l)return"tick"!==e?"horizontal":"vertical";if(!s&&l)return"tick"!==e?"vertical":"horizontal";if(s&&l)return"vertical";{const c=za(i)&&i.type===s1,u=za(r)&&r.type===s1;if(c&&!u)return"vertical";if(!c&&u)return"horizontal"}return}}return"vertical"}(i.type,n,r),void 0!==r&&r!==i.orient&&Ue(function Ztt(e,n){return`Specified orient "${e}" overridden with "${n}".`}(i.orient,r)),"bar"===i.type&&i.orient){const l=li("cornerRadiusEnd",i,t);if(void 0!==l){const c="horizontal"===i.orient&&n.x2||"vertical"===i.orient&&n.y2?["cornerRadius"]:fit[i.orient];for(const u of c)i[u]=l;void 0!==i.cornerRadiusEnd&&delete i.cornerRadiusEnd}}const o=li("opacity",i,t),a=li("fillOpacity",i,t);return void 0===o&&void 0===a&&(i.opacity=function Prt(e,n){if(Fn([E5,KN,ZN,XN],e)&&!gue(n))return.7}(i.type,n)),void 0===li("cursor",i,t)&&(i.cursor=function krt(e,n,t){return n.href||e.href||li("href",e,t)?"pointer":e.cursor}(i,n,t)),i}function Hrt(e){const{point:n,line:t,...i}=e;return Oe(i).length>1?i:i.type}function Grt(e){for(const n of["line","area","rule","trail"])e[n]&&(e={...e,[n]:vs(e[n],["point","line"])});return e}function AO(e,n={},t){return"transparent"===e.point?{opacity:0}:e.point?Je(e.point)?e.point:{}:void 0!==e.point?null:n.point||t.shape?Je(n.point)?n.point:{}:void 0}function Uue(e,n={}){return e.line?!0===e.line?{}:e.line:void 0!==e.line?null:n.line?!0===n.line?{}:n.line:void 0}class Brt{constructor(){this.name="path-overlay"}hasMatchingType(n,t){if(Ep(n)){const{mark:i,encoding:r}=n,o=jc(i)?i:{type:i};switch(o.type){case"line":case"rule":case"trail":return!!AO(o,t[o.type],r);case"area":return!!AO(o,t[o.type],r)||!!Uue(o,t[o.type])}}return!1}run(n,t,i){const{config:r}=t,{params:o,projection:a,mark:s,name:l,encoding:c,...u}=n,d=V5(c,r),p=jc(s)?s:{type:s},f=AO(p,r[p.type],d),h="area"===p.type&&Uue(p,r[p.type]),g=[{name:l,...o?{params:o}:{},mark:Hrt({..."area"===p.type&&void 0===p.opacity&&void 0===p.fillOpacity?{opacity:.7}:{},...p}),encoding:vs(d,["shape"])}],m=zue($ue(p,d,r),d);let _=d;if(m){const{fieldChannel:v,offset:C}=m;_={...d,[v]:{...d[v],...C?{stack:C}:{}}}}return _=vs(_,["y2","x2"]),h&&g.push({...a?{projection:a}:{},mark:{type:"line",...J_(p,["clip","interpolate","tension","tooltip"]),...h},encoding:_}),f&&g.push({...a?{projection:a}:{},mark:{type:"point",opacity:1,filled:!0,...J_(p,["clip","tooltip"]),...f},encoding:_}),i({...u,layer:g},{...t,config:Grt(r)})}}function Yrt(e,n){return n?qb(e)?Kue(e,n):jue(e,n):e}function SO(e,n){return n?Kue(e,n):e}function wO(e,n,t){const i=n[e];return function Dit(e){return e&&!it(e)&&"repeat"in e}(i)?i.repeat in t?{...n,[e]:t[i.repeat]}:void Ue(function Itt(e){return`Unknown repeated value "${e}".`}(i.repeat)):n}function jue(e,n){if(void 0!==(e=wO("field",e,n))){if(null===e)return null;if(rO(e)&&Dp(e.sort)){const t=wO("field",e.sort,n);e={...e,...t?{sort:t}:{}}}return e}}function Wue(e,n){if(je(e))return jue(e,n);{const t=wO("datum",e,n);return t!==e&&!t.type&&(t.type="nominal"),t}}function que(e,n){if(!ln(e)){if(Zb(e)){const t=Wue(e.condition,n);if(t)return{...e,condition:t};{const{condition:i,...r}=e;return r}}return e}{const t=Wue(e,n);if(t)return t;if(Kb(e))return{condition:e.condition}}}function Kue(e,n){const t={};for(const i in e)if(kt(e,i)){const r=e[i];if(De(r))t[i]=r.map(o=>que(o,n)).filter(o=>o);else{const o=que(r,n);void 0!==o&&(t[i]=o)}}return t}class Vrt{constructor(){this.name="RuleForRangedLine"}hasMatchingType(n){if(Ep(n)){const{encoding:t,mark:i}=n;if("line"===i||jc(i)&&"line"===i.type)for(const r of Xet){const a=t[xm(r)];if(t[r]&&(je(a)&&!Lo(a.bin)||dd(a)))return!0}}return!1}run(n,t,i){const{encoding:r,mark:o}=n;return Ue(function Ktt(e,n){return`Line mark is for continuous lines and thus cannot be used with ${e&&n?"x2 and y2":e?"x2":"y2"}. We will use the rule mark (line segments) instead.`}(!!r.x2,!!r.y2)),i({...n,mark:Je(o)?{...o,type:"rule"}:"rule"},t)}}function Zue({parentEncoding:e,encoding:n={},layer:t}){let i={};if(e){const r=new Set([...Oe(e),...Oe(n)]);for(const o of r){const a=n[o],s=e[o];if(ln(a)){const l={...s,...a};i[o]=l}else Zb(a)?i[o]={...a,condition:{...s,...a.condition}}:a||null===a?i[o]=a:(t||qc(s)||St(s)||ln(s)||De(s))&&(i[o]=s)}}else i=n;return!i||fi(i)?void 0:i}function Xue(e){const{parentProjection:n,projection:t}=e;return n&&t&&Ue(function Ntt(e){const{parentProjection:n,projection:t}=e;return`Layer's shared projection ${hi(n)} is overridden by a child projection ${hi(t)}.`}({parentProjection:n,projection:t})),t??n}function xO(e){return"filter"in e}function $rt(e){return void 0!==e?.stop}function Que(e){return"lookup"in e}function Wrt(e){return"pivot"in e}function qrt(e){return"density"in e}function Krt(e){return"quantile"in e}function Zrt(e){return"regression"in e}function Xrt(e){return"loess"in e}function Qrt(e){return"sample"in e}function Jrt(e){return"window"in e}function eot(e){return"joinaggregate"in e}function tot(e){return"flatten"in e}function not(e){return"calculate"in e}function Jue(e){return"bin"in e}function iot(e){return"impute"in e}function rot(e){return"timeUnit"in e}function oot(e){return"aggregate"in e}function aot(e){return"stack"in e}function sot(e){return"fold"in e}function lot(e){return"extent"in e&&!("density"in e)&&!("regression"in e)}function ede(e,n){const{transform:t,...i}=e;return t?{...i,transform:t.map(o=>{if(xO(o))return{filter:FO(o,n)};if(Jue(o)&&Fm(o.bin))return{...o,bin:nde(o.bin)};if(Que(o)){const{selection:a,...s}=o.from;return a?{...o,from:{param:a,...s}}:o}return o})}:e}function tde(e,n){const t=rn(e);if(je(t)&&Fm(t.bin)&&(t.bin=nde(t.bin)),Nm(t)&&t.scale?.domain?.selection){const{selection:i,...r}=t.scale.domain;t.scale.domain={...r,...i?{param:i}:{}}}if(Kb(t))if(De(t.condition))t.condition=t.condition.map(i=>{const{selection:r,param:o,test:a,...s}=i;return o?i:{...s,test:FO(i,n)}});else{const{selection:i,param:r,test:o,...a}=tde(t.condition,n);t.condition=r?t.condition:{...a,test:FO(t.condition,n)}}return t}function nde(e){const n=e.extent;if(n?.selection){const{selection:t,...i}=n;return{...e,extent:{...i,param:t}}}return e}function FO(e,n){const t=i=>Q_(i,r=>{var o;const s={param:r,empty:n.emptySelections[r]??!0};return(o=n.selectionPredicates)[r]??(o[r]=[]),n.selectionPredicates[r].push(s),s});return e.selection?t(e.selection):Q_(e.test||e.filter,i=>i.selection?t(i.selection):i)}class DO extends bO{map(n,t){const i=t.selections??[];if(n.params&&!Ep(n)){const r=[];for(const o of n.params)_O(o)?i.push(o):r.push(o);n.params=r}return t.selections=i,super.map(n,t)}mapUnit(n,t){const i=t.selections;if(!i||!i.length)return n;const r=(t.path??[]).concat(n.name),o=[];for(const a of i)if(a.views&&a.views.length)for(const s of a.views)(it(s)&&(s===n.name||r.includes(s))||De(s)&&s.map(l=>r.indexOf(l)).every((l,c,u)=>-1!==l&&(0===c||l>u[c-1])))&&o.push(a);else o.push(a);return o.length&&(n.params=o),n}}for(const e of["mapFacet","mapRepeat","mapHConcat","mapVConcat","mapLayer"]){const n=DO.prototype[e];DO.prototype[e]=function(t,i){return n.call(this,t,dot(t,i))}}function dot(e,n){return e.name?{...n,path:(n.path??[]).concat(e.name)}:n}function ide(e,n){void 0===n&&(n=Yue(e.config));const t=function got(e,n={}){const t={config:n};return hot.map(pot.map(fot.map(e,t),t),t)}(e,n),{width:i,height:r}=e,o=function mot(e,n,t){let{width:i,height:r}=n;const o=Ep(e)||q5(e),a={};o?"container"==i&&"container"==r?(a.type="fit",a.contains="padding"):"container"==i?(a.type="fit-x",a.contains="padding"):"container"==r&&(a.type="fit-y",a.contains="padding"):("container"==i&&(Ue(qle("width")),i=void 0),"container"==r&&(Ue(qle("height")),r=void 0));const s={type:"pad",...a,...t?rde(t.autosize):{},...rde(e.autosize)};if("fit"===s.type&&!o&&(Ue(vtt),s.type="pad"),"container"==i&&!("fit"==s.type||"fit-x"==s.type)&&Ue(Kle("width")),"container"==r&&!("fit"==s.type||"fit-y"==s.type)&&Ue(Kle("height")),!il(s,{type:"pad"}))return s}(t,{width:i,height:r,autosize:e.autosize},n);return{...t,...o?{autosize:o}:{}}}const pot=new class zrt extends bO{constructor(){super(...arguments),this.nonFacetUnitNormalizers=[qit,Xit,rrt,new Brt,new Vrt]}map(n,t){if(Ep(n)){const i=Om(n.encoding,vp),r=Om(n.encoding,Tp),o=Om(n.encoding,d5);if(i||r||o)return this.mapFacetedUnit(n,t)}return super.map(n,t)}mapUnit(n,t){const{parentEncoding:i,parentProjection:r}=t,o=SO(n.encoding,t.repeater),a={...n,...n.name?{name:[t.repeaterPrefix,n.name].filter(l=>l).join("_")}:{},...o?{encoding:o}:{}};if(i||r)return this.mapUnitWithParentEncodingOrProjection(a,t);const s=this.mapLayerOrUnit.bind(this);for(const l of this.nonFacetUnitNormalizers)if(l.hasMatchingType(a,t.config))return l.run(a,t,s);return a}mapRepeat(n,t){return function Drt(e){return!De(e.repeat)&&e.repeat.layer}(n)?this.mapLayerRepeat(n,t):this.mapNonLayerRepeat(n,t)}mapLayerRepeat(n,t){const{repeat:i,spec:r,...o}=n,{row:a,column:s,layer:l}=i,{repeater:c={},repeaterPrefix:u=""}=t;return a||s?this.mapRepeat({...n,repeat:{...a?{row:a}:{},...s?{column:s}:{}},spec:{repeat:{layer:l},spec:r}},t):{...o,layer:l.map(d=>{const p={...c,layer:d},f=`${(r.name?`${r.name}_`:"")+u}child__layer_${Vi(d)}`,h=this.mapLayerOrUnit(r,{...t,repeater:p,repeaterPrefix:f});return h.name=f,h})}}mapNonLayerRepeat(n,t){const{repeat:i,spec:r,data:o,...a}=n;!De(i)&&n.columns&&(n=vs(n,["columns"]),Ue(Jle("repeat")));const s=[],{repeater:l={},repeaterPrefix:c=""}=t,u=!De(i)&&i.row||[l?l.row:null],d=!De(i)&&i.column||[l?l.column:null],p=De(i)&&i||[l?l.repeat:null];for(const h of p)for(const g of u)for(const m of d){const _={repeat:h,row:g,column:m,layer:l.layer},v=(r.name?`${r.name}_`:"")+c+"child__"+(De(i)?`${Vi(h)}`:(i.row?`row_${Vi(g)}`:"")+(i.column?`column_${Vi(m)}`:"")),C=this.map(r,{...t,repeater:_,repeaterPrefix:v});C.name=v,s.push(vs(C,["data"]))}const f=De(i)?n.columns:i.column?i.column.length:1;return{data:r.data??o,align:"all",...a,columns:f,concat:s}}mapFacet(n,t){const{facet:i}=n;return qb(i)&&n.columns&&(n=vs(n,["columns"]),Ue(Jle("facet"))),super.mapFacet(n,t)}mapUnitWithParentEncodingOrProjection(n,t){const{encoding:i,projection:r}=n,{parentEncoding:o,parentProjection:a,config:s}=t,l=Xue({parentProjection:a,projection:r}),c=Zue({parentEncoding:o,encoding:SO(i,t.repeater)});return this.mapUnit({...n,...l?{projection:l}:{},...c?{encoding:c}:{}},{config:s})}mapFacetedUnit(n,t){const{row:i,column:r,facet:o,...a}=n.encoding,{mark:s,width:l,projection:c,height:u,view:d,params:p,encoding:f,...h}=n,{facetMapping:g,layout:m}=this.getFacetMappingAndLayout({row:i,column:r,facet:o},t),_=SO(a,t.repeater);return this.mapFacet({...h,...m,facet:g,spec:{...l?{width:l}:{},...u?{height:u}:{},...d?{view:d}:{},...c?{projection:c}:{},mark:s,encoding:_,...p?{params:p}:{}}},t)}getFacetMappingAndLayout(n,t){const{row:i,column:r,facet:o}=n;if(i||r){o&&Ue(function Wtt(e){return`Facet encoding dropped as ${e.join(" and ")} ${e.length>1?"are":"is"} also specified.`}([...i?[vp]:[],...r?[Tp]:[]]));const a={},s={};for(const l of[vp,Tp]){const c=n[l];if(c){const{align:u,center:d,spacing:p,columns:f,...h}=c;a[l]=h;for(const g of["align","center","spacing"])void 0!==c[g]&&(s[g]??(s[g]={}),s[g][l]=c[g])}}return{facetMapping:a,layout:s}}{const{align:a,center:s,spacing:l,columns:c,...u}=o;return{facetMapping:Yrt(u,t.repeater),layout:{...a?{align:a}:{},...s?{center:s}:{},...l?{spacing:l}:{},...c?{columns:c}:{}}}}}mapLayer(n,{parentEncoding:t,parentProjection:i,...r}){const{encoding:o,projection:a,...s}=n,l={...r,parentEncoding:Zue({parentEncoding:t,encoding:o,layer:!0}),parentProjection:Xue({parentProjection:i,projection:a})};return super.mapLayer({...s,...n.name?{name:[l.repeaterPrefix,n.name].filter(c=>c).join("_")}:{}},l)}},fot=new class uot extends bO{map(n,t){return t.emptySelections??(t.emptySelections={}),t.selectionPredicates??(t.selectionPredicates={}),n=ede(n,t),super.map(n,t)}mapLayerOrUnit(n,t){if((n=ede(n,t)).encoding){const i={};for(const[r,o]of dh(n.encoding))i[r]=tde(o,t);n={...n,encoding:i}}return super.mapLayerOrUnit(n,t)}mapUnit(n,t){const{selection:i,...r}=n;return i?{...r,params:dh(i).map(([o,a])=>{const{init:s,bind:l,empty:c,...u}=a;"single"===u.type?(u.type="point",u.toggle=!1):"multi"===u.type&&(u.type="point"),t.emptySelections[o]="none"!==c;for(const d of Ro(t.selectionPredicates[o]??{}))d.empty="none"!==c;return{name:o,value:s,select:u,bind:l}})}:n}},hot=new DO;function rde(e){return it(e)?{type:e}:e??{}}const vot=["background","padding"];function ode(e,n){const t={};for(const i of vot)e&&void 0!==e[i]&&(t[i]=rl(e[i]));return n&&(t.params=e.params),t}class Rp{constructor(n={},t={}){this.explicit=n,this.implicit=t}clone(){return new Rp(rn(this.explicit),rn(this.implicit))}combine(){return{...this.explicit,...this.implicit}}get(n){return Cr(this.explicit[n],this.implicit[n])}getWithExplicit(n){return void 0!==this.explicit[n]?{explicit:!0,value:this.explicit[n]}:void 0!==this.implicit[n]?{explicit:!1,value:this.implicit[n]}:{explicit:!1,value:void 0}}setWithExplicit(n,{value:t,explicit:i}){void 0!==t&&this.set(n,t,i)}set(n,t,i){return delete this[i?"implicit":"explicit"][n],this[i?"explicit":"implicit"][n]=t,this}copyKeyFromSplit(n,{explicit:t,implicit:i}){void 0!==t[n]?this.set(n,t[n],!0):void 0!==i[n]&&this.set(n,i[n],!1)}copyKeyFromObject(n,t){void 0!==t[n]&&this.set(n,t[n],!0)}copyAll(n){for(const t of Oe(n.combine())){const i=n.getWithExplicit(t);this.setWithExplicit(t,i)}}}function fd(e){return{explicit:!0,value:e}}function ol(e){return{explicit:!1,value:e}}function ade(e){return(n,t,i,r)=>{const o=e(n.value,t.value);return o>0?n:o<0?t:K5(n,t,i,r)}}function K5(e,n,t,i){return e.explicit&&n.explicit&&Ue(function ont(e,n,t,i){return`Conflicting ${n.toString()} property "${e.toString()}" (${hi(t)} and ${hi(i)}). Using ${hi(t)}.`}(t,i,e.value,n.value)),e}function wh(e,n,t,i,r=K5){return void 0===e||void 0===e.value?n:e.explicit&&!n.explicit?e:n.explicit&&!e.explicit?n:il(e.value,n.value)?e:r(e,n,t,i)}class Tot extends Rp{constructor(n={},t={},i=!1){super(n,t),this.explicit=n,this.implicit=t,this.parseNothing=i}clone(){const n=super.clone();return n.parseNothing=this.parseNothing,n}}function m1(e){return"url"in e}function Jb(e){return"values"in e}function sde(e){return"name"in e&&!m1(e)&&!Jb(e)&&!xh(e)}function xh(e){return e&&(lde(e)||cde(e)||EO(e))}function lde(e){return"sequence"in e}function cde(e){return"sphere"in e}function EO(e){return"graticule"in e}var Qi=(()=>(function(e){e[e.Raw=0]="Raw",e[e.Main=1]="Main",e[e.Row=2]="Row",e[e.Column=3]="Column",e[e.Lookup=4]="Lookup",e[e.PreFilterInvalid=5]="PreFilterInvalid",e[e.PostFilterInvalid=6]="PostFilterInvalid"}(Qi||(Qi={})),Qi))();function ude({invalid:e,isPath:n}){switch(Hce(e,{isPath:n})){case"filter":return{marks:"exclude-invalid-values",scales:"exclude-invalid-values"};case"break-paths-show-domains":return{marks:n?"include-invalid-values":"exclude-invalid-values",scales:"include-invalid-values"};case"break-paths-filter-domains":return{marks:n?"include-invalid-values":"exclude-invalid-values",scales:"exclude-invalid-values"};case"show":return{marks:"include-invalid-values",scales:"include-invalid-values"}}}function dde(e){const{signals:n,hasLegend:t,index:i,...r}=e;return r.field=Bl(r.field),r}function Hm(e,n=!0,t=Ko){if(De(e)){const i=e.map(r=>Hm(r,n,t));return n?`[${i.join(", ")}]`:i}return Dm(e)?t(n?Em(e):function Rnt(e){const n=NN(e,!0);return e.utc?+new Date(Date.UTC(...n)):+new Date(...n)}(e)):n?t(hi(e)):e}function bot(e,n){for(const t of Ro(e.component.selection??{})){const i=t.name;let r=`${i}${Dh}, ${"global"===t.resolve?"true":`{unit: ${Bm(e)}}`}`;for(const o of nD)o.defined(t)&&(o.signals&&(n=o.signals(e,t,n)),o.modifyExpr&&(r=o.modifyExpr(e,t,r)));n.push({name:i+Jot,on:[{events:{signal:t.name+Dh},update:`modify(${We(t.name+Gm)}, ${r})`}]})}return IO(n)}function Aot(e,n){if(e.component.selection&&Oe(e.component.selection).length){const t=We(e.getName("cell"));n.unshift({name:"facet",value:{},on:[{events:ch("pointermove","scope"),update:`isTuple(facet) ? facet : group(${t}).datum`}]})}return IO(n)}function pde(e,n){for(const t of Ro(e.component.selection??{}))for(const i of nD)i.defined(t)&&i.marks&&(n=i.marks(e,t,n));return n}function IO(e){return e.map(n=>(n.on&&!n.on.length&&delete n.on,n))}class ci{constructor(n,t){this.debugName=t,this._children=[],this._parent=null,n&&(this.parent=n)}clone(){throw new Error("Cannot clone node")}get parent(){return this._parent}set parent(n){this._parent=n,n&&n.addChild(this)}get children(){return this._children}numChildren(){return this._children.length}addChild(n,t){this._children.includes(n)?Ue("Attempt to add the same child twice."):void 0!==t?this._children.splice(t,0,n):this._children.push(n)}removeChild(n){const t=this._children.indexOf(n);return this._children.splice(t,1),t}remove(){let n=this._parent.removeChild(this);for(const t of this._children)t._parent=this._parent,this._parent.addChild(t,n++)}insertAsParentOf(n){const t=n.parent;t.removeChild(this),this.parent=t,n.parent=this}swapWithParent(){const n=this._parent,t=n.parent;for(const r of this._children)r.parent=n;this._children=[],n.removeChild(this);const i=n.parent.removeChild(n);this._parent=t,t.addChild(this,i),n.parent=this}}class As extends ci{clone(){const n=new this.constructor;return n.debugName=`clone_${this.debugName}`,n._source=this._source,n._name=`clone_${this._name}`,n.type=this.type,n.refCounts=this.refCounts,n.refCounts[n._name]=0,n}constructor(n,t,i,r){super(n,t),this.type=i,this.refCounts=r,this._source=this._name=t,this.refCounts&&!(this._name in this.refCounts)&&(this.refCounts[this._name]=0)}dependentFields(){return new Set}producedFields(){return new Set}hash(){return void 0===this._hash&&(this._hash=`Output ${vle()}`),this._hash}getSource(){return this.refCounts[this._name]++,this._source}isRequired(){return!!this.refCounts[this._name]}setSource(n){this._source=n}}function RO(e){return void 0!==e.as}function fde(e){return`${e}_end`}class hd extends ci{clone(){return new hd(null,rn(this.timeUnits))}constructor(n,t){super(n),this.timeUnits=t}static makeFromEncoding(n,t){const i=t.reduceFieldDef((r,o,a)=>{const{field:s,timeUnit:l}=o;if(l){let c;if(Im(l)){if(Ji(t)){const{mark:u,markDef:d,config:p}=t,f=Ah({fieldDef:o,markDef:d,config:p});(Ub(u)||f)&&(c={timeUnit:uo(l),field:s})}}else c={as:Xe(o,{forAs:!0}),field:s,timeUnit:l};if(Ji(t)){const{mark:u,markDef:d,config:p}=t,f=Ah({fieldDef:o,markDef:d,config:p});Ub(u)&&br(a)&&.5!==f&&(c.rectBandPosition=f)}c&&(r[In(c)]=c)}return r},{});return fi(i)?null:new hd(n,i)}static makeFromTransform(n,t){const{timeUnit:i,...r}={...t},a={...r,timeUnit:uo(i)};return new hd(n,{[In(a)]:a})}merge(n){this.timeUnits={...this.timeUnits};for(const t in n.timeUnits)this.timeUnits[t]||(this.timeUnits[t]=n.timeUnits[t]);for(const t of n.children)n.removeChild(t),t.parent=this;n.remove()}removeFormulas(n){const t={};for(const[i,r]of dh(this.timeUnits)){const o=RO(r)?r.as:`${r.field}_end`;n.has(o)||(t[i]=r)}this.timeUnits=t}producedFields(){return new Set(Ro(this.timeUnits).map(n=>RO(n)?n.as:fde(n.field)))}dependentFields(){return new Set(Ro(this.timeUnits).map(n=>n.field))}hash(){return`TimeUnit ${In(this.timeUnits)}`}assemble(){const n=[];for(const t of Ro(this.timeUnits)){const{rectBandPosition:i}=t,r=uo(t.timeUnit);if(RO(t)){const{field:o,as:a}=t,{unit:s,utc:l,...c}=r,u=[a,`${a}_end`];n.push({field:Bl(o),type:"timeunit",...s?{units:A5(s)}:{},...l?{timezone:"utc"}:{},...c,as:u}),n.push(...gde(u,i,r))}else if(t){const{field:o}=t,a=o.replaceAll("\\.","."),s=hde({timeUnit:r,field:a}),l=fde(a);n.push({type:"formula",expr:s,as:l}),n.push(...gde([a,l],i,r))}}return n}}const Z5="offsetted_rect_start",X5="offsetted_rect_end";function hde({timeUnit:e,field:n,reverse:t}){const{unit:i,utc:r}=e,o=gce(i),{part:a,step:s}=vce(o,e.step);return`${r?"utcOffset":"timeOffset"}('${a}', datum['${n}'], ${t?-s:s})`}function gde([e,n],t,i){if(void 0!==t&&.5!==t){const r=`datum['${e}']`,o=`datum['${n}']`;return[{type:"formula",expr:mde([hde({timeUnit:i,field:e,reverse:!0}),r],t+.5),as:`${e}_${Z5}`},{type:"formula",expr:mde([r,o],t+.5),as:`${e}_${X5}`}]}return[]}function mde([e,n],t){return`${1-t} * ${e} + ${t} * ${n}`}const e2="_tuple_fields";class Dot{constructor(...n){this.items=n,this.hasChannel={},this.hasField={},this.hasSelectionId=!1}}const Eot={defined:()=>!0,parse:(e,n,t)=>{const i=n.name,r=n.project??(n.project=new Dot),o={},a={},s=new Set,l=(h,g)=>{const m="visual"===g?h.channel:h.field;let _=Vi(`${i}_${m}`);for(let v=1;s.has(_);v++)_=Vi(`${i}_${m}_${v}`);return s.add(_),{[g]:_}},c=n.type,u=e.config.selection[c],d=void 0!==t.value?nt(t.value):null;let{fields:p,encodings:f}=Je(t.select)?t.select:{};if(!p&&!f&&d)for(const h of d)if(Je(h))for(const g of Oe(h))Zet(g)?(f||(f=[])).push(g):"interval"===c?(Ue('Interval selections should be initialized using "x", "y", "longitude", or "latitude" keys.'),f=u.encodings):(p??(p=[])).push(g);!p&&!f&&(f=u.encodings,"fields"in u&&(p=u.fields));for(const h of f??[]){const g=e.fieldDef(h);if(g){let m=g.field;if(g.aggregate){Ue(Ttt(h,g.aggregate));continue}if(!m){Ue(Xle(h));continue}if(g.timeUnit&&!Im(g.timeUnit)){m=e.vgField(h);const _={timeUnit:g.timeUnit,as:m,field:g.field};a[In(_)]=_}if(!o[m]){const v={field:m,channel:h,type:"interval"===c&&ad(h)&&Uc(e.getScaleComponent(h).get("type"))?"R":g.bin?"R-RE":"E",index:r.items.length};v.signals={...l(v,"data"),...l(v,"visual")},r.items.push(o[m]=v),r.hasField[m]=o[m],r.hasSelectionId=r.hasSelectionId||m===Zc,xle(h)?(v.geoChannel=h,v.channel=wle(h),r.hasChannel[v.channel]=o[m]):r.hasChannel[h]=o[m]}}else Ue(Xle(h))}for(const h of p??[]){if(r.hasField[h])continue;const g={type:"E",field:h,index:r.items.length};g.signals={...l(g,"data")},r.items.push(g),r.hasField[h]=g,r.hasSelectionId=r.hasSelectionId||h===Zc}d&&(n.init=d.map(h=>r.items.map(g=>Je(h)?void 0!==h[g.geoChannel||g.channel]?h[g.geoChannel||g.channel]:h[g.field]:h))),fi(a)||(r.timeUnit=new hd(null,a))},signals:(e,n,t)=>{const i=n.name+e2;return t.filter(o=>o.name===i).length>0||n.project.hasSelectionId?t:t.concat({name:i,value:n.project.items.map(dde)})}},Lp={defined:e=>"interval"===e.type&&"global"===e.resolve&&e.bind&&"scales"===e.bind,parse:(e,n)=>{const t=n.scales=[];for(const i of n.project.items){const r=i.channel;if(!ad(r))continue;const o=e.getScaleComponent(r),a=o?o.get("type"):void 0;"sequential"==a&&Ue("Sequntial scales are deprecated. The available quantitative scale type values are linear, log, pow, sqrt, symlog, time and utc"),o&&Uc(a)?(o.set("selectionExtent",{param:n.name,field:i.field},!0),t.push(i)):Ue("Scale bindings are currently only supported for scales with unbinned, continuous domains.")}},topLevelSignals:(e,n,t)=>{const i=n.scales.filter(a=>0===t.filter(s=>s.name===a.signals.data).length);if(!e.parent||yde(e)||0===i.length)return t;const r=t.find(a=>a.name===n.name);let o=r.update;if(o.includes(Yde))r.update=`{${i.map(a=>`${We(Bl(a.field))}: ${a.signals.data}`).join(", ")}}`;else{for(const a of i){const s=`${We(Bl(a.field))}: ${a.signals.data}`;o.includes(s)||(o=`${o.substring(0,o.length-1)}, ${s}}`)}r.update=o}return t.concat(i.map(a=>({name:a.signals.data})))},signals:(e,n,t)=>{if(e.parent&&!yde(e))for(const i of n.scales){const r=t.find(o=>o.name===i.signals.data);r.push="outer",delete r.value,delete r.update}return t}};function LO(e,n){return`domain(${We(e.scaleName(n))})`}function yde(e){return e.parent&&F1(e.parent)&&!e.parent.parent}const y1="_brush",_de="_scale_trigger",t2="geo_interval_init_tick",Rot={defined:e=>"interval"===e.type,parse:(e,n,t)=>{var i;if(e.hasProjection){const r={...Je(t.select)?t.select:{}};r.fields=[Zc],r.encodings||(r.encodings=t.value?Oe(t.value):[Vc,Yc]),t.select={type:"interval",...r}}if(n.translate&&!Lp.defined(n)){const r=`!event.item || event.item.mark.name !== ${We(n.name+y1)}`;for(const o of n.events){if(!o.between){Ue(`${o} is not an ordered event stream for interval selections.`);continue}const a=nt((i=o.between[0]).filter??(i.filter=[]));a.includes(r)||a.push(r)}}},signals:(e,n,t)=>{const i=n.name,r=i+Dh,o=Ro(n.project.hasChannel).filter(s=>s.channel===zi||s.channel===co),a=n.init?n.init[0]:null;if(t.push(...o.reduce((s,l)=>s.concat(function Lot(e,n,t,i){const r=!e.hasProjection,o=t.channel,a=t.signals.visual,s=We(r?e.scaleName(o):e.projectionName()),l=p=>`scale(${s}, ${p})`,c=e.getSizeSignalRef(o===zi?"width":"height").signal,u=`${o}(unit)`,d=n.events.reduce((p,f)=>[...p,{events:f.between[0],update:`[${u}, ${u}]`},{events:f,update:`[${a}[0], clamp(${u}, 0, ${c})]`}],[]);if(r){const p=t.signals.data,f=Lp.defined(n),h=e.getScaleComponent(o),g=h?h.get("type"):void 0,m=i?{init:Hm(i,!0,l)}:{value:[]};return d.push({events:{signal:n.name+_de},update:Uc(g)?`[${l(`${p}[0]`)}, ${l(`${p}[1]`)}]`:"[0, 0]"}),f?[{name:p,on:[]}]:[{name:a,...m,on:d},{name:p,...i?{init:Hm(i)}:{},on:[{events:{signal:a},update:`${a}[0] === ${a}[1] ? null : invert(${s}, ${a})`}]}]}{const p=o===zi?0:1,f=n.name+"_init";return[{name:a,...i?{init:`[${f}[0][${p}], ${f}[1][${p}]]`}:{value:[]},on:d}]}}(e,n,l,a&&a[l.index])),[])),e.hasProjection){const s=We(e.projectionName()),l=e.projectionName()+"_center",{x:c,y:u}=n.project.hasChannel,d=c&&c.signals.visual,p=u&&u.signals.visual,f=c?a&&a[c.index]:`${l}[0]`,h=u?a&&a[u.index]:`${l}[1]`,g=S=>e.getSizeSignalRef(S).signal,m=`[[${d?d+"[0]":"0"}, ${p?p+"[0]":"0"}],[${d?d+"[1]":g("width")}, ${p?p+"[1]":g("height")}]]`;a&&(t.unshift({name:i+"_init",init:`[scale(${s}, [${c?f[0]:f}, ${u?h[0]:h}]), scale(${s}, [${c?f[1]:f}, ${u?h[1]:h}])]`}),(!c||!u)&&(t.find(I=>I.name===l)||t.unshift({name:l,update:`invert(${s}, [${g("width")}/2, ${g("height")}/2])`})));const C=`vlSelectionTuples(intersect(${m}, {markname: ${We(e.getName("marks"))}}, unit.mark), {unit: ${Bm(e)}})`,A=o.map(S=>S.signals.visual);return t.concat({name:r,on:[{events:[...A.length?[{signal:A.join(" || ")}]:[],...a?[{signal:t2}]:[]],update:C}]})}{if(!Lp.defined(n)){const c=i+_de,u=o.map(d=>{const p=d.channel,{data:f,visual:h}=d.signals,g=We(e.scaleName(p)),_=Uc(e.getScaleComponent(p).get("type"))?"+":"";return`(!isArray(${f}) || (${_}invert(${g}, ${h})[0] === ${_}${f}[0] && ${_}invert(${g}, ${h})[1] === ${_}${f}[1]))`});u.length&&t.push({name:c,value:{},on:[{events:o.map(d=>({scale:e.scaleName(d.channel)})),update:u.join(" && ")+` ? ${c} : {}`}]})}const s=o.map(c=>c.signals.data),l=`unit: ${Bm(e)}, fields: ${i+e2}, values`;return t.concat({name:r,...a?{init:`{${l}: ${Hm(a)}}`}:{},...s.length?{on:[{events:[{signal:s.join(" || ")}],update:`${s.join(" && ")} ? {${l}: [${s}]} : null`}]}:{}})}},topLevelSignals:(e,n,t)=>(Ji(e)&&e.hasProjection&&n.init&&(t.filter(r=>r.name===t2).length||t.unshift({name:t2,value:null,on:[{events:"timer{1}",update:`${t2} === null ? {} : ${t2}`}]})),t),marks:(e,n,t)=>{const i=n.name,{x:r,y:o}=n.project.hasChannel,a=r?.signals.visual,s=o?.signals.visual,l=`data(${We(n.name+Gm)})`;if(Lp.defined(n)||!r&&!o)return t;const c={x:void 0!==r?{signal:`${a}[0]`}:{value:0},y:void 0!==o?{signal:`${s}[0]`}:{value:0},x2:void 0!==r?{signal:`${a}[1]`}:{field:{group:"width"}},y2:void 0!==o?{signal:`${s}[1]`}:{field:{group:"height"}}};if("global"===n.resolve)for(const m of Oe(c))c[m]=[{test:`${l}.length && ${l}[0].unit === ${Bm(e)}`,...c[m]},{value:0}];const{fill:u,fillOpacity:d,cursor:p,...f}=n.mark,h=Oe(f).reduce((m,_)=>(m[_]=[{test:[void 0!==r&&`${a}[0] !== ${a}[1]`,void 0!==o&&`${s}[0] !== ${s}[1]`].filter(v=>v).join(" && "),value:f[_]},{value:null}],m),{}),g=p??(n.translate?"move":null);return[{name:`${i+y1}_bg`,type:"rect",clip:!0,encode:{enter:{fill:{value:u},fillOpacity:{value:d}},update:c}},...t,{name:i+y1,type:"rect",clip:!0,encode:{enter:{...g?{cursor:{value:g}}:{},fill:{value:"transparent"}},update:{...c,...h}}}]}},Mot={defined:e=>"point"===e.type,signals:(e,n,t)=>{const i=n.name,r=i+e2,o=n.project,a="(item().isVoronoi ? datum.datum : datum)",s=Ro(e.component.selection??{}).reduce((d,p)=>"interval"===p.type?d.concat(p.name+y1):d,[]).map(d=>`indexof(item().mark.name, '${d}') < 0`).join(" && "),l="datum && item().mark.marktype !== 'group' && indexof(item().mark.role, 'legend') < 0"+(s?` && ${s}`:"");let c=`unit: ${Bm(e)}, `;c+=n.project.hasSelectionId?`${Zc}: ${a}[${We(Zc)}]`:`fields: ${r}, values: [${o.items.map(p=>e.fieldDef(p.channel)?.bin?`[${a}[${We(e.vgField(p.channel,{}))}], ${a}[${We(e.vgField(p.channel,{binSuffix:"end"}))}]]`:`${a}[${We(p.field)}]`).join(", ")}]`;const u=n.events;return t.concat([{name:i+Dh,on:u?[{events:u,update:`${l} ? {${c}} : null`,force:!0}]:[]}])}};function _1({model:e,channelDef:n,vgChannel:t,invalidValueRef:i,mainRefFn:r}){const o=Kb(n)&&n.condition;let a=[];o&&(a=nt(o).map(c=>{const u=r(c);if(function Fit(e){return e.param}(c)){const{param:d,empty:p}=c;return{test:Ude(e,{param:d,empty:p}),...u}}return{test:iD(e,c.test),...u}})),void 0!==i&&a.push(i);const s=r(n);return void 0!==s&&a.push(s),a.length>1||1===a.length&&Boolean(a[0].test)?{[t]:a}:1===a.length?{[t]:a[0]}:{}}function MO(e,n="text"){return _1({model:e,channelDef:e.encoding[n],vgChannel:n,mainRefFn:i=>Q5(i,e.config),invalidValueRef:void 0})}function Q5(e,n,t="datum"){if(e){if(qc(e))return Ei(e.value);if(ln(e)){const{format:i,formatType:r}=O5(e);return tO({fieldOrDatumDef:e,format:i,formatType:r,expr:t,config:n})}}}function Tde(e,n={}){const{encoding:t,markDef:i,config:r,stack:o}=e,a=t.tooltip;if(De(a))return{tooltip:bde({tooltip:a},o,r,n)};{const s=n.reactiveGeom?"datum.datum":"datum";return _1({model:e,channelDef:a,vgChannel:"tooltip",mainRefFn:c=>{const u=Q5(c,r,s);if(u)return u;if(null===c)return;let d=li("tooltip",i,r);return!0===d&&(d={content:"encoding"}),it(d)?{value:d}:Je(d)?St(d)?d:"encoding"===d.content?bde(t,o,r,n):{signal:s}:void 0},invalidValueRef:void 0})}}function Cde(e,n,t,{reactiveGeom:i}={}){const r={...t,...t.tooltipFormat},o={},a=i?"datum.datum":"datum",s=[];function l(u,d){const p=xm(d),f=za(u)?u:{...u,type:e[p].type},g=nt(f.title||aO(f,r)).join(", ").replaceAll(/"/g,'\\"');let m;if(br(d)){const _="x"===d?"x2":"y2",v=Kc(e[_]);if(Lo(f.bin)&&v){const C=Xe(f,{expr:a}),A=Xe(v,{expr:a}),{format:S,formatType:I}=O5(f);m=Wb(C,A,S,I,r),o[_]=!0}}if((br(d)||d===Yl||d===Bc)&&n&&n.fieldChannel===d&&"normalize"===n.offset){const{format:_,formatType:v}=O5(f);m=tO({fieldOrDatumDef:f,format:_,formatType:v,expr:a,config:r,normalizeStack:!0}).signal}m??(m=Q5(f,r,a).signal),s.push({channel:d,key:g,value:m})}lO(e,(u,d)=>{je(u)?l(u,d):k5(u)&&l(u.condition,d)});const c={};for(const{channel:u,key:d,value:p}of s)!o[u]&&!c[d]&&(c[d]=p);return c}function bde(e,n,t,{reactiveGeom:i}={}){const r=Cde(e,n,t,{reactiveGeom:i}),o=dh(r).map(([a,s])=>`"${a}": ${s}`);return o.length>0?{signal:`{${o.join(", ")}}`}:void 0}function kot(e){const{markDef:n,config:t}=e,i=li("aria",n,t);return!1===i?{}:{...i?{aria:i}:{},...Pot(e),...Not(e)}}function Pot(e){const{mark:n,markDef:t,config:i}=e;if(!1===i.aria)return{};const r=li("ariaRoleDescription",t,i);return null!=r?{ariaRoleDescription:{value:r}}:n in ytt?{}:{ariaRoleDescription:{value:n}}}function Not(e){const{encoding:n,markDef:t,config:i,stack:r}=e,o=n.description;if(o)return _1({model:e,channelDef:o,vgChannel:"description",mainRefFn:l=>Q5(l,e.config),invalidValueRef:void 0});const a=li("description",t,i);if(null!=a)return{description:Ei(a)};if(!1===i.aria)return{};const s=Cde(n,r,i);return fi(s)?void 0:{description:{signal:dh(s).map(([l,c],u)=>`"${u>0?"; ":""}${l}: " + (${c})`).join(" + ")}}}function fo(e,n,t={}){const{markDef:i,encoding:r,config:o}=n,{vgChannel:a}=t;let{defaultRef:s,defaultValue:l}=t;const c=r[e];void 0===s&&(l??(l=li(e,i,o,{vgChannel:a,ignoreVgConfig:!Kb(c)})),void 0!==l&&(s=Ei(l)));const u={markDef:i,config:o,scaleName:n.scaleName(e),scale:n.getScaleComponent(e)},d=Bce({...u,scaleChannel:e,channelDef:c});return _1({model:n,channelDef:c,vgChannel:a??e,invalidValueRef:d,mainRefFn:f=>eO({...u,channel:e,channelDef:f,stack:null,defaultRef:s})})}function Ade(e,n={filled:void 0}){const{markDef:t,encoding:i,config:r}=e,{type:o}=t,a=n.filled??li("filled",t,r),s=Fn(["bar","point","circle","square","geoshape"],o)?"transparent":void 0,l=li(!0===a?"color":void 0,t,r,{vgChannel:"fill"})??r.mark[!0===a&&"color"]??s,c=li(!1===a?"color":void 0,t,r,{vgChannel:"stroke"})??r.mark[!1===a&&"color"],u=a?"fill":"stroke",d={...l?{fill:Ei(l)}:{},...c?{stroke:Ei(c)}:{}};return t.color&&(a?t.fill:t.stroke)&&Ue(ice("property",{fill:"fill"in t,stroke:"stroke"in t})),{...d,...fo("color",e,{vgChannel:u,defaultValue:a?l:c}),...fo("fill",e,{defaultValue:i.fill?l:void 0}),...fo("stroke",e,{defaultValue:i.stroke?c:void 0})}}function Oot(e){const{encoding:n,mark:t}=e,i=n.order;return!bh(t)&&qc(i)?_1({model:e,channelDef:i,vgChannel:"zindex",mainRefFn:r=>Ei(r.value),invalidValueRef:void 0}):{}}function v1({channel:e,markDef:n,encoding:t={},model:i,bandPosition:r}){const o=`${e}Offset`,a=n[o],s=t[o];if(("xOffset"===o||"yOffset"===o)&&s)return{offsetType:"encoding",offset:eO({channel:o,channelDef:s,markDef:n,config:i?.config,scaleName:i.scaleName(o),scale:i.getScaleComponent(o),stack:null,defaultRef:Ei(a),bandPosition:r})};const l=n[o];return l?{offsetType:"visual",offset:l}:{}}function la(e,n,{defaultPos:t,vgChannel:i}){const{encoding:r,markDef:o,config:a,stack:s}=n,l=r[e],c=r[od(e)],u=n.scaleName(e),d=n.getScaleComponent(e),{offset:p,offsetType:f}=v1({channel:e,markDef:o,encoding:r,model:n,bandPosition:.5}),h=kO({model:n,defaultPos:t,channel:e,scaleName:u,scale:d}),g=!l&&br(e)&&(r.latitude||r.longitude)?{field:n.getName(e)}:function Hot(e){const{channel:n,channelDef:t,scaleName:i,stack:r,offset:o,markDef:a}=e;if(ln(t)&&r&&n===r.fieldChannel){if(je(t)){let s=t.bandPosition;if(void 0===s&&"text"===a.type&&("radius"===n||"theta"===n)&&(s=.5),void 0!==s)return R5({scaleName:i,fieldOrDatumDef:t,startSuffix:"start",bandPosition:s,offset:o})}return km(t,i,{suffix:"end"},{offset:o})}return JN(e)}({channel:e,channelDef:l,channel2Def:c,markDef:o,config:a,scaleName:u,scale:d,stack:s,offset:p,defaultRef:h,bandPosition:"encoding"===f?0:void 0});return g?{[i||e]:g}:void 0}function kO({model:e,defaultPos:n,channel:t,scaleName:i,scale:r}){const{markDef:o,config:a}=e;return()=>{const s=xm(t),l=yh(t),c=li(t,o,a,{vgChannel:l});if(void 0!==c)return jb(t,c);switch(n){case"zeroOrMin":return Sde({scaleName:i,scale:r,mode:"zeroOrMin",mainChannel:s,config:a});case"zeroOrMax":return Sde({scaleName:i,scale:r,mode:{zeroOrMax:{widthSignal:e.width.signal,heightSignal:e.height.signal}},mainChannel:s,config:a});case"mid":return{...e[bs(t)],mult:.5}}}}function Sde({mainChannel:e,config:n,...t}){const i=Gce(t),{mode:r}=t;if(i)return i;switch(e){case"radius":{if("zeroOrMin"===r)return{value:0};const{widthSignal:o,heightSignal:a}=r.zeroOrMax;return{signal:`min(${o},${a})/2`}}case"theta":return"zeroOrMin"===r?{value:0}:{signal:"2*PI"};case"x":return"zeroOrMin"===r?{value:0}:{field:{group:"width"}};case"y":return"zeroOrMin"===r?{field:{group:"height"}}:{value:0}}}const Got={left:"x",center:"xc",right:"x2"},Bot={top:"y",middle:"yc",bottom:"y2"};function wde(e,n,t,i="middle"){if("radius"===e||"theta"===e)return yh(e);const r="x"===e?"align":"baseline",o=li(r,n,t);let a;return St(o)?(Ue(function qtt(e){return`The ${e} for range marks cannot be an expression`}(r)),a=void 0):a=o,"x"===e?Got[a||("top"===i?"left":"center")]:Bot[a||i]}function J5(e,n,{defaultPos:t,defaultPos2:i,range:r}){return r?xde(e,n,{defaultPos:t,defaultPos2:i}):la(e,n,{defaultPos:t})}function xde(e,n,{defaultPos:t,defaultPos2:i}){const{markDef:r,config:o}=n,a=od(e),s=bs(e),l=function Yot(e,n,t){const{encoding:i,mark:r,markDef:o,stack:a,config:s}=e,l=xm(t),c=bs(t),u=yh(t),d=i[l],p=e.scaleName(l),f=e.getScaleComponent(l),{offset:h}=v1(t in i||t in o?{channel:t,markDef:o,encoding:i,model:e}:{channel:l,markDef:o,encoding:i,model:e});if(!d&&("x2"===t||"y2"===t)&&(i.latitude||i.longitude)){const m=bs(t),_=e.markDef[m];return null!=_?{[m]:{value:_}}:{[u]:{field:e.getName(t)}}}const g=function Vot({channel:e,channelDef:n,channel2Def:t,markDef:i,config:r,scaleName:o,scale:a,stack:s,offset:l,defaultRef:c}){return ln(n)&&s&&e.charAt(0)===s.fieldChannel.charAt(0)?km(n,o,{suffix:"start"},{offset:l}):JN({channel:e,channelDef:t,scaleName:o,scale:a,stack:s,markDef:i,config:r,offset:l,defaultRef:c})}({channel:t,channelDef:d,channel2Def:i[t],markDef:o,config:s,scaleName:p,scale:f,stack:a,offset:h,defaultRef:void 0});return void 0!==g?{[u]:g}:eD(t,o)||eD(t,{[t]:T5(t,o,s.style),[c]:T5(c,o,s.style)})||eD(t,s[r])||eD(t,s.mark)||{[u]:kO({model:e,defaultPos:n,channel:t,scaleName:p,scale:f})()}}(n,i,a);return{...la(e,n,{defaultPos:t,vgChannel:l[s]?wde(e,r,o):yh(e)}),...l}}function eD(e,n){const t=bs(e),i=yh(e);if(void 0!==n[i])return{[i]:jb(e,n[i])};if(void 0!==n[e])return{[i]:jb(e,n[e])};if(n[t]){const r=n[t];if(!Mm(r))return{[t]:jb(e,r)};Ue(function Vtt(e){return`Position range does not support relative band size for ${e}.`}(t))}}function Fh(e,n){const{config:t,encoding:i,markDef:r}=e,o=r.type,a=od(n),s=bs(n),l=i[n],c=i[a],u=e.getScaleComponent(n),d=u?u.get("type"):void 0,p=r.orient,f=i[s]??i.size??li("size",r,t,{vgChannel:s}),h=Lle(n),g="bar"===o&&("x"===n?"vertical"===p:"horizontal"===p);return!je(l)||!(Di(l.bin)||Lo(l.bin)||l.timeUnit&&!c)||f&&!Mm(f)||i[h]||po(d)?(ln(l)&&po(d)||g)&&!c?function $ot(e,n,t){const{markDef:i,encoding:r,config:o,stack:a}=t,s=i.orient,l=t.scaleName(n),c=t.getScaleComponent(n),u=bs(n),d=od(n),p=Lle(n),f=t.scaleName(p),h=t.getScaleComponent(m5(n)),g="horizontal"===s&&"y"===n||"vertical"===s&&"x"===n;let m;(r.size||i.size)&&(g?m=fo("size",t,{vgChannel:u,defaultRef:Ei(i.size)}):Ue(function nnt(e){return`Cannot apply size to non-oriented mark "${e}".`}(i.type)));const _=!!m,v=Zce({channel:n,fieldDef:e,markDef:i,config:o,scaleType:(c||h)?.get("type"),useVlSizeChannel:g});m=m||{[u]:zot(u,f||l,h||c,o,v,!!e,i.type)};const A=wde(n,i,o,"band"===(c||h)?.get("type")&&Mm(v)&&!_?"top":"middle"),S="xc"===A||"yc"===A,{offset:I,offsetType:w}=v1({channel:n,markDef:i,encoding:r,model:t,bandPosition:S?.5:0}),O=JN({channel:n,channelDef:e,markDef:i,config:o,scaleName:l,scale:c,stack:a,offset:I,defaultRef:kO({model:t,defaultPos:"mid",channel:n,scaleName:l,scale:c}),bandPosition:S?"encoding"===w?0:.5:St(v)?{signal:`(1-${v})/2`}:Mm(v)?(1-v.band)/2:0});if(u)return{[A]:O,...m};{const B=yh(d),W=m[u],q=I?{...W,offset:I}:W;return{[A]:O,[B]:De(O)?[O[0],{...O[1],offset:q}]:{...O,offset:q}}}}(l,n,e):xde(n,e,{defaultPos:"zeroOrMax",defaultPos2:"zeroOrMin"}):function Uot({fieldDef:e,fieldDef2:n,channel:t,model:i}){const{config:r,markDef:o,encoding:a}=i,s=i.getScaleComponent(t),l=i.scaleName(t),c=s?s.get("type"):void 0,u=s.get("reverse"),d=Zce({channel:t,fieldDef:e,markDef:o,config:r,scaleType:c}),f=i.component.axes[t]?.[0]?.get("translate")??.5,h=br(t)?li("binSpacing",o,r)??0:0,g=od(t),m=yh(t),_=yh(g),v=sd("minBandSize",o,r),{offset:C}=v1({channel:t,markDef:o,encoding:a,model:i,bandPosition:0}),{offset:A}=v1({channel:g,markDef:o,encoding:a,model:i,bandPosition:0}),S=function Cit({scaleName:e,fieldDef:n}){const t=Xe(n,{expr:"datum"});return`abs(scale("${e}", ${Xe(n,{expr:"datum",suffix:"end"})}) - scale("${e}", ${t}))`}({fieldDef:e,scaleName:l}),I=Fde(t,h,u,f,C,v,S),w=Fde(g,h,u,f,A??C,v,S),O=St(d)?{signal:`(1-${d.signal})/2`}:Mm(d)?(1-d.band)/2:.5,B=Ah({fieldDef:e,fieldDef2:n,markDef:o,config:r});if(Di(e.bin)||e.timeUnit){const W=e.timeUnit&&.5!==B;return{[_]:Dde({fieldDef:e,scaleName:l,bandPosition:O,offset:w,useRectOffsetField:W}),[m]:Dde({fieldDef:e,scaleName:l,bandPosition:St(O)?{signal:`1-${O.signal}`}:1-O,offset:I,useRectOffsetField:W})}}if(Lo(e.bin)){const W=km(e,l,{},{offset:w});if(je(n))return{[_]:W,[m]:km(n,l,{},{offset:I})};if(Fm(e.bin)&&e.bin.step)return{[_]:W,[m]:{signal:`scale("${l}", ${Xe(e,{expr:"datum"})} + ${e.bin.step})`,offset:I}}}Ue(lce(g))}({fieldDef:l,fieldDef2:c,channel:n,model:e})}function zot(e,n,t,i,r,o,a){if(Mm(r)){if(!t)return{mult:r.band,field:{group:e}};{const l=t.get("type");if("band"===l){let c=`bandwidth('${n}')`;1!==r.band&&(c=`${r.band} * ${c}`);const u=sd("minBandSize",{type:a},i);return{signal:u?`max(${$c(u)}, ${c})`:c}}1!==r.band&&(Ue(function Qtt(e){return`Cannot use the relative band size with ${e} scale.`}(l)),r=void 0)}}else{if(St(r))return r;if(r)return{value:r}}if(t){const l=t.get("range");if(Th(l)&&Gn(l.step))return{value:l.step-2}}if(!o){const{bandPaddingInner:l,barBandPaddingInner:c,rectBandPaddingInner:u}=i.scale,d=Cr(l,"bar"===a?c:u);if(St(d))return{signal:`(1 - (${d.signal})) * ${e}`};if(Gn(d))return{signal:`${1-d} * ${e}`}}return{value:j5(i.view,e)-2}}function Fde(e,n,t,i,r,o,a){if(Sle(e))return 0;const s="x"===e||"y2"===e,l=s?-n/2:n/2;if(St(t)||St(r)||St(i)||o){const c=$c(t),u=$c(r),d=$c(i),p=$c(o),h=o?`(${a} < ${p} ? ${s?"":"-"}0.5 * (${p} - (${a})) : ${l})`:l;return{signal:(d?`${d} + `:"")+(c?`(${c} ? -1 : 1) * `:"")+(u?`(${u} + ${h})`:h)}}return r=r||0,i+(t?-r-l:+r+l)}function Dde({fieldDef:e,scaleName:n,bandPosition:t,offset:i,useRectOffsetField:r}){return R5({scaleName:n,fieldOrDatumDef:e,bandPosition:t,offset:i,...r?{startSuffix:Z5,endSuffix:X5}:{}})}const jot=new Set(["aria","width","height"]);function $l(e,n){const{fill:t,stroke:i}="include"===n.color?Ade(e):{};return{...Wot(e.markDef,n),...Ede("fill",t),...Ede("stroke",i),...fo("opacity",e),...fo("fillOpacity",e),...fo("strokeOpacity",e),...fo("strokeWidth",e),...fo("strokeDash",e),...Oot(e),...Tde(e),...MO(e,"href"),...kot(e)}}function Ede(e,n){return n?{[e]:n}:{}}function Wot(e,n){return mtt.reduce((t,i)=>(!jot.has(i)&&void 0!==e[i]&&"ignore"!==n[i]&&(t[i]=Ei(e[i])),t),{})}function PO(e){const{config:n,markDef:t}=e,i=new Set;if(e.forEachFieldDef((r,o)=>{let a;if(!ad(o)||!(a=e.getScaleType(o)))return;const s=_5(r.aggregate);if(function _it(e){return"break-paths-filter-domains"===e||"break-paths-show-domains"===e}(QN({scaleChannel:o,markDef:t,config:n,scaleType:a,isCountAggregate:s}))){const c=e.vgField(o,{expr:"datum",binSuffix:e.stack?.impute?"mid":void 0});c&&i.add(c)}}),i.size>0)return{defined:{signal:[...i].map(o=>S5(o,!0)).join(" && ")}}}function Ide(e,n){if(void 0!==n)return{[e]:Ei(n)}}const NO="voronoi",Rde={defined:e=>"point"===e.type&&e.nearest,parse:(e,n)=>{if(n.events)for(const t of n.events)t.markname=e.getName(NO)},marks:(e,n,t)=>{const{x:i,y:r}=n.project.hasChannel,o=e.mark;if(bh(o))return Ue(function Ctt(e){return`The "nearest" transform is not supported for ${e} marks.`}(o)),t;const a={name:e.getName(NO),type:"path",interactive:!0,from:{data:e.getName("marks")},encode:{update:{fill:{value:"transparent"},strokeWidth:{value:.35},stroke:{value:"transparent"},isVoronoi:{value:!0},...Tde(e,{reactiveGeom:!0})}},transform:[{type:"voronoi",x:{expr:i||!r?"datum.datum.x || 0":"0"},y:{expr:r||!i?"datum.datum.y || 0":"0"},size:[e.getSizeSignalRef("width"),e.getSizeSignalRef("height")]}]};let s=0,l=!1;return t.forEach((c,u)=>{const d=c.name??"";d===e.component.mark[0].name?s=u:d.includes(NO)&&(l=!0)}),l||t.splice(s+1,0,a),t}},Lde={defined:e=>"point"===e.type&&"global"===e.resolve&&e.bind&&"scales"!==e.bind&&!mO(e.bind),parse:(e,n,t)=>Vde(n,t),topLevelSignals:(e,n,t)=>{const i=n.name,r=n.project,o=n.bind,a=n.init&&n.init[0],s=Rde.defined(n)?"(item().isVoronoi ? datum.datum : datum)":"datum";return r.items.forEach((l,c)=>{const u=Vi(`${i}_${l.field}`);t.filter(p=>p.name===u).length||t.unshift({name:u,...a?{init:Hm(a[c])}:{value:null},on:n.events?[{events:n.events,update:`datum && item().mark.marktype !== 'group' ? ${s}[${We(l.field)}] : null`}]:[],bind:o[l.field]??o[l.channel]??o})}),t},signals:(e,n,t)=>{const i=n.name,r=n.project,o=t.find(c=>c.name===i+Dh),a=i+e2,s=r.items.map(c=>Vi(`${i}_${c.field}`)),l=s.map(c=>`${c} !== null`).join(" && ");return s.length&&(o.update=`${l} ? {fields: ${a}, values: [${s.join(", ")}]} : null`),delete o.value,delete o.on,t}},tD="_toggle",Mde={defined:e=>"point"===e.type&&!!e.toggle,signals:(e,n,t)=>t.concat({name:n.name+tD,value:!1,on:[{events:n.events,update:n.toggle}]}),modifyExpr:(e,n)=>{const t=n.name+Dh,i=n.name+tD;return`${i} ? null : ${t}, `+("global"===n.resolve?`${i} ? null : true, `:`${i} ? null : {unit: ${Bm(e)}}, `)+`${i} ? ${t} : null`}},qot={defined:e=>void 0!==e.clear&&!1!==e.clear,parse:(e,n)=>{n.clear&&(n.clear=it(n.clear)?ch(n.clear,"view"):n.clear)},topLevelSignals:(e,n,t)=>{if(Lde.defined(n))for(const i of n.project.items){const r=t.findIndex(o=>o.name===Vi(`${n.name}_${i.field}`));-1!==r&&t[r].on.push({events:n.clear,update:"null"})}return t},signals:(e,n,t)=>{function i(r,o){-1!==r&&t[r].on&&t[r].on.push({events:n.clear,update:o})}if("interval"===n.type)for(const r of n.project.items){const o=t.findIndex(a=>a.name===r.signals.visual);i(o,"[0, 0]"),-1===o&&i(t.findIndex(s=>s.name===r.signals.data),"null")}else{let r=t.findIndex(o=>o.name===n.name+Dh);i(r,"null"),Mde.defined(n)&&(r=t.findIndex(o=>o.name===n.name+tD),i(r,"false"))}return t}},kde={defined:e=>{const n="global"===e.resolve&&e.bind&&mO(e.bind),t=1===e.project.items.length&&e.project.items[0].field!==Zc;return n&&!t&&Ue("Legend bindings are only supported for selections over an individual field or encoding channel."),n&&t},parse:(e,n,t)=>{const i=rn(t);if(i.select=it(i.select)?{type:i.select,toggle:n.toggle}:{...i.select,toggle:n.toggle},Vde(n,i),Je(t.select)&&(t.select.on||t.select.clear)){const a='event.item && indexof(event.item.mark.role, "legend") < 0';for(const s of n.events)s.filter=nt(s.filter??[]),s.filter.includes(a)||s.filter.push(a)}const r=yO(n.bind)?n.bind.legend:"click",o=it(r)?ch(r,"view"):nt(r);n.bind={legend:{merge:o}}},topLevelSignals:(e,n,t)=>{const i=n.name,r=yO(n.bind)&&n.bind.legend,o=a=>s=>{const l=rn(s);return l.markname=a,l};for(const a of n.project.items){if(!a.hasLegend)continue;const s=`${Vi(a.field)}_legend`,l=`${i}_${s}`;if(0===t.filter(u=>u.name===l).length){const u=r.merge.map(o(`${s}_symbols`)).concat(r.merge.map(o(`${s}_labels`))).concat(r.merge.map(o(`${s}_entries`)));t.unshift({name:l,...n.init?{}:{value:null},on:[{events:u,update:"isDefined(datum.value) ? datum.value : item().items[0].items[0].datum.value",force:!0},{events:r.merge,update:`!event.item || !datum ? null : ${l}`,force:!0}]})}}return t},signals:(e,n,t)=>{const i=n.name,r=n.project,o=t.find(p=>p.name===i+Dh),a=i+e2,s=r.items.filter(p=>p.hasLegend).map(p=>Vi(`${i}_${Vi(p.field)}_legend`)),c=`${s.map(p=>`${p} !== null`).join(" && ")} ? {fields: ${a}, values: [${s.join(", ")}]} : null`;n.events&&s.length>0?o.on.push({events:s.map(p=>({signal:p})),update:c}):s.length>0&&(o.update=c,delete o.value,delete o.on);const u=t.find(p=>p.name===i+tD),d=yO(n.bind)&&n.bind.legend;return u&&(n.events?u.on.push({...u.on[0],events:d}):u.on[0].events=d),t}},Pde="_translate_anchor",Nde="_translate_delta",Xot={defined:e=>"interval"===e.type&&e.translate,signals:(e,n,t)=>{const i=n.name,r=Lp.defined(n),o=i+Pde,{x:a,y:s}=n.project.hasChannel;let l=ch(n.translate,"scope");return r||(l=l.map(c=>(c.between[0].markname=i+y1,c))),t.push({name:o,value:{},on:[{events:l.map(c=>c.between[0]),update:"{x: x(unit), y: y(unit)"+(void 0!==a?`, extent_x: ${r?LO(e,zi):`slice(${a.signals.visual})`}`:"")+(void 0!==s?`, extent_y: ${r?LO(e,co):`slice(${s.signals.visual})`}`:"")+"}"}]},{name:i+Nde,value:{},on:[{events:l,update:`{x: ${o}.x - x(unit), y: ${o}.y - y(unit)}`}]}),void 0!==a&&Ode(e,n,a,"width",t),void 0!==s&&Ode(e,n,s,"height",t),t}};function Ode(e,n,t,i,r){const o=n.name,a=o+Pde,s=o+Nde,l=t.channel,c=Lp.defined(n),u=r.find(S=>S.name===t.signals[c?"data":"visual"]),d=e.getSizeSignalRef(i).signal,p=e.getScaleComponent(l),f=p&&p.get("type"),h=p&&p.get("reverse"),m=`${a}.extent_${l}`,A=`${c&&p?"log"===f?"panLog":"symlog"===f?"panSymlog":"pow"===f?"panPow":"panLinear":"panLinear"}(${m}, ${c?l===zi?h?"":"-":h?"-":"":""}${s}.${l} / ${c?`${d}`:`span(${m})`}${c?"pow"===f?`, ${p.get("exponent")??1}`:"symlog"===f?`, ${p.get("constant")??1}`:"":""})`;u.on.push({events:{signal:s},update:c?A:`clampRange(${A}, 0, ${d})`})}const Hde="_zoom_anchor",Gde="_zoom_delta",Qot={defined:e=>"interval"===e.type&&e.zoom,signals:(e,n,t)=>{const i=n.name,r=Lp.defined(n),o=i+Gde,{x:a,y:s}=n.project.hasChannel,l=We(e.scaleName(zi)),c=We(e.scaleName(co));let u=ch(n.zoom,"scope");return r||(u=u.map(d=>(d.markname=i+y1,d))),t.push({name:i+Hde,on:[{events:u,update:r?"{"+[l?`x: invert(${l}, x(unit))`:"",c?`y: invert(${c}, y(unit))`:""].filter(d=>d).join(", ")+"}":"{x: x(unit), y: y(unit)}"}]},{name:o,on:[{events:u,force:!0,update:"pow(1.001, event.deltaY * pow(16, event.deltaMode))"}]}),void 0!==a&&Bde(e,n,a,"width",t),void 0!==s&&Bde(e,n,s,"height",t),t}};function Bde(e,n,t,i,r){const o=n.name,a=t.channel,s=Lp.defined(n),l=r.find(v=>v.name===t.signals[s?"data":"visual"]),c=e.getSizeSignalRef(i).signal,u=e.getScaleComponent(a),d=u&&u.get("type"),p=s?LO(e,a):l.name,f=o+Gde,_=`${s&&u?"log"===d?"zoomLog":"symlog"===d?"zoomSymlog":"pow"===d?"zoomPow":"zoomLinear":"zoomLinear"}(${p}, ${o}${Hde}.${a}, ${f}${s?"pow"===d?`, ${u.get("exponent")??1}`:"symlog"===d?`, ${u.get("constant")??1}`:"":""})`;l.on.push({events:{signal:f},update:s?_:`clampRange(${_}, 0, ${c})`})}const Gm="_store",Dh="_tuple",Jot="_modify",Yde="vlSelectionResolve",nD=[Mot,Rot,Eot,Mde,Lde,Lp,kde,qot,Xot,Qot,Rde];function Bm(e,{escape:n}={escape:!0}){let t=n?We(e.name):e.name;const i=function eat(e){let n=e.parent;for(;n&&!al(n);)n=n.parent;return n}(e);if(i){const{facet:r}=i;for(const o of zl)r[o]&&(t+=` + '__facet_${o}_' + (facet[${We(i.vgField(o))}])`)}return t}function OO(e){return Ro(e.component.selection??{}).reduce((n,t)=>n||t.project.hasSelectionId,!1)}function Vde(e,n){(it(n.select)||!n.select.on)&&delete e.events,(it(n.select)||!n.select.clear)&&delete e.clear,(it(n.select)||!n.select.toggle)&&delete e.toggle}function HO(e){const n=[];return"Identifier"===e.type?[e.name]:"Literal"===e.type?[e.value]:("MemberExpression"===e.type&&(n.push(...HO(e.object)),n.push(...HO(e.property))),n)}function zde(e){return"MemberExpression"===e.object.type?zde(e.object):"datum"===e.object.name}function $de(e){const n=oP(e),t=new Set;return n.visit(i=>{"MemberExpression"===i.type&&zde(i)&&t.add(HO(i).slice(1).join("."))}),t}class T1 extends ci{clone(){return new T1(null,this.model,rn(this.filter))}constructor(n,t,i){super(n),this.model=t,this.filter=i,this.expr=iD(this.model,this.filter,this),this._dependentFields=$de(this.expr)}dependentFields(){return this._dependentFields}producedFields(){return new Set}assemble(){return{type:"filter",expr:this.expr}}hash(){return`Filter ${this.expr}`}}function Ude(e,n,t,i="datum"){const r=it(n)?n:n.param,o=Vi(r),a=We(o+Gm);let s;try{s=e.getSelectionComponent(o,r)}catch{return`!!${o}`}if(s.project.timeUnit){const p=t??e.component.data.raw,f=s.project.timeUnit.clone();p.parent?f.insertAsParentOf(p):p.parent=f}const u=`${s.project.hasSelectionId?"vlSelectionIdTest(":"vlSelectionTest("}${a}, ${i}${"global"===s.resolve?")":`, ${We(s.resolve)})`}`,d=`length(data(${a}))`;return!1===n.empty?`${d} && ${u}`:`!${d} || ${u}`}function jde(e,n,t){const i=Vi(n),r=t.encoding;let a,o=t.field;try{a=e.getSelectionComponent(i,n)}catch{return i}if(r||o){if(r&&!o){const s=a.project.items.filter(l=>l.channel===r);!s.length||s.length>1?(o=a.project.items[0].field,Ue((s.length?"Multiple ":"No ")+`matching ${We(r)} encoding found for selection ${We(t.param)}. Using "field": ${We(o)}.`)):o=s[0].field}}else o=a.project.items[0].field,a.project.items.length>1&&Ue(`A "field" or "encoding" must be specified when using a selection as a scale domain. Using "field": ${We(o)}.`);return`${a.name}[${We(Bl(o))}]`}function iD(e,n,t){return Ob(n,i=>it(i)?i:function Bnt(e){return e?.param}(i)?Ude(e,i,t):Cce(i))}function GO(e,n,t,i){var r,o;e.encode??(e.encode={}),(r=e.encode)[n]??(r[n]={}),(o=e.encode[n]).update??(o.update={}),e.encode[n].update[t]=i}function n2(e,n,t,i={header:!1}){const{disable:r,orient:o,scale:a,labelExpr:s,title:l,zindex:c,...u}=e.combine();if(!r){for(const d in u){const p=Yit[d],f=u[d];if(p&&p!==n&&"both"!==p)delete u[d];else if(Qb(f)){const{condition:h,...g}=f,m=nt(h),_=sue[d];if(_){const{vgProp:v,part:C}=_;GO(u,C,v,[...m.map(S=>{const{test:I,...w}=S;return{test:iD(null,I),...w}}),g]),delete u[d]}else if(null===_){const v={signal:m.map(C=>{const{test:A,...S}=C;return`${iD(null,A)} ? ${Yle(S)} : `}).join("")+Yle(g)};u[d]=v}}else if(St(f)){const h=sue[d];if(h){const{vgProp:g,part:m}=h;GO(u,m,g,f),delete u[d]}}Fn(["labelAlign","labelBaseline"],d)&&null===u[d]&&delete u[d]}if("grid"===n){if(!u.grid)return;if(u.encode){const{grid:d}=u.encode;u.encode={...d?{grid:d}:{}},fi(u.encode)&&delete u.encode}return{scale:a,orient:o,...u,domain:!1,labels:!1,aria:!1,maxExtent:0,minExtent:0,ticks:!1,zindex:Cr(c,0)}}{if(!i.header&&e.mainExtracted)return;if(void 0!==s){let p=s;u.encode?.labels?.update&&St(u.encode.labels.update.text)&&(p=Am(s,"datum.label",u.encode.labels.update.text.signal)),GO(u,"labels","text",{signal:p})}if(null===u.labelAlign&&delete u.labelAlign,u.encode){for(const p of lue)e.hasAxisPart(p)||delete u.encode[p];fi(u.encode)&&delete u.encode}const d=function iat(e,n){if(e)return De(e)&&!vh(e)?e.map(t=>aO(t,n)).join(", "):e}(l,t);return{scale:a,orient:o,grid:!1,...d?{title:d}:{},...u,...!1===t.aria?{aria:!1}:{},zindex:Cr(c,0)}}}}function Wde(e){const{axes:n}=e.component,t=[];for(const i of wp)if(n[i])for(const r of n[i])if(!r.get("disable")&&!r.get("gridScale")){const o="x"===i?"height":"width",a=e.getSizeSignalRef(o).signal;o!==a&&t.push({name:o,update:a})}return t}function qde(e,n,t,i){return Object.assign.apply(null,[{},...e.map(r=>{if("axisOrient"===r){const o="x"===t?"bottom":"left",a=n["x"===t?"axisBottom":"axisLeft"]||{},s=n["x"===t?"axisTop":"axisRight"]||{},l=new Set([...Oe(a),...Oe(s)]),c={};for(const u of l.values())c[u]={signal:`${i.signal} === "${o}" ? ${$c(a[u])} : ${$c(s[u])}`};return c}return n[r]})])}function aat(e,n){const t=[{}];for(const i of e){let r=n[i]?.style;if(r){r=nt(r);for(const o of r)t.push(n.style[o])}}return Object.assign.apply(null,t)}function BO(e,n,t,i={}){const r=zle(e,t,n);if(void 0!==r)return{configFrom:"style",configValue:r};for(const o of["vlOnlyAxisConfig","vgAxisConfig","axisConfigStyle"])if(void 0!==i[o]?.[e])return{configFrom:o,configValue:i[o][e]};return{}}const Kde={scale:({model:e,channel:n})=>e.scaleName(n),format:({format:e})=>e,formatType:({formatType:e})=>e,grid:({fieldOrDatumDef:e,axis:n,scaleType:t})=>n.grid??function sat(e,n){return!po(e)&&je(n)&&!Di(n?.bin)&&!Lo(n?.bin)}(t,e),gridScale:({model:e,channel:n})=>function lat(e,n){const t="x"===n?"y":"x";if(e.getScaleComponent(t))return e.scaleName(t)}(e,n),labelAlign:({axis:e,labelAngle:n,orient:t,channel:i})=>e.labelAlign||Xde(n,t,i),labelAngle:({labelAngle:e})=>e,labelBaseline:({axis:e,labelAngle:n,orient:t,channel:i})=>e.labelBaseline||Zde(n,t,i),labelFlush:({axis:e,fieldOrDatumDef:n,channel:t})=>e.labelFlush??function uat(e,n){if("x"===n&&Fn(["quantitative","temporal"],e))return!0}(n.type,t),labelOverlap:({axis:e,fieldOrDatumDef:n,scaleType:t})=>e.labelOverlap??function dat(e,n,t,i){if(t&&!Je(i)||"nominal"!==e&&"ordinal"!==e)return"log"!==n&&"symlog"!==n||"greedy"}(n.type,t,je(n)&&!!n.timeUnit,je(n)?n.sort:void 0),orient:({orient:e})=>e,tickCount:({channel:e,model:n,axis:t,fieldOrDatumDef:i,scaleType:r})=>{const o="x"===e?"width":"y"===e?"height":void 0,a=o?n.getSizeSignalRef(o):void 0;return t.tickCount??function fat({fieldOrDatumDef:e,scaleType:n,size:t,values:i}){if(!i&&!po(n)&&"log"!==n){if(je(e)){if(Di(e.bin))return{signal:`ceil(${t.signal}/10)`};if(e.timeUnit&&Fn(["month","hours","day","quarter"],uo(e.timeUnit)?.unit))return}return{signal:`ceil(${t.signal}/40)`}}}({fieldOrDatumDef:i,scaleType:r,size:a,values:t.values})},tickMinStep:function hat({format:e,fieldOrDatumDef:n}){if("d"===e)return 1;if(je(n)){const{timeUnit:t}=n;if(t){const i=_ce(t);if(i)return{signal:i}}}},title:({axis:e,model:n,channel:t})=>{if(void 0!==e.title)return e.title;const i=Qde(n,t);if(void 0!==i)return i;const r=n.typedFieldDef(t),a=n.fieldDef("x"===t?"x2":"y2");return Ule(r?[Kce(r)]:[],je(a)?[Kce(a)]:[])},values:({axis:e,fieldOrDatumDef:n})=>function gat(e,n){const t=e.values;return De(t)?aue(n,t):St(t)?t:void 0}(e,n),zindex:({axis:e,fieldOrDatumDef:n,mark:t})=>e.zindex??function mat(e,n){return"rect"===e&&N5(n)?1:0}(t,n)};function YO(e){return`(((${e.signal} % 360) + 360) % 360)`}function Zde(e,n,t,i){if(void 0!==e){if("x"===t){if(St(e)){const r=YO(e);return{signal:`(45 < ${r} && ${r} < 135) || (225 < ${r} && ${r} < 315) ? "middle" :(${r} <= 45 || 315 <= ${r}) === ${St(n)?`(${n.signal} === "top")`:"top"===n} ? "bottom" : "top"`}}return 45{if(Nm(i)&&qce(i.sort)){const{field:o,timeUnit:a}=i,s=i.sort,l=s.map((c,u)=>`${Cce({field:o,timeUnit:a,equal:c})} ? ${u} : `).join("")+s.length;n=new C1(n,{calculate:l,as:b1(i,r,{forAs:!0})})}}),n}producedFields(){return new Set([this.transform.as])}dependentFields(){return this._dependentFields}assemble(){return{type:"formula",expr:this.transform.calculate,as:this.transform.as}}hash(){return`Calculate ${In(this.transform)}`}}function b1(e,n,t){return Xe(e,{prefix:n,suffix:"sort_index",...t})}function rD(e,n){return Fn(["top","bottom"],n)?"column":Fn(["left","right"],n)||"row"===e?"row":"column"}function A1(e,n,t,i){return Cr((n||{})[e],("row"===i?t.headerRow:"column"===i?t.headerColumn:t.headerFacet)[e],t.header[e])}function oD(e,n,t,i){const r={};for(const o of e){const a=A1(o,n||{},t,i);void 0!==a&&(r[o]=a)}return r}const VO=["row","column"],zO=["header","footer"];function yat(e,n){const t=e.component.layoutHeaders[n].title,i=e.config?e.config:void 0,r=e.component.layoutHeaders[n].facetFieldDef?e.component.layoutHeaders[n].facetFieldDef:void 0,{titleAnchor:o,titleAngle:a,titleOrient:s}=oD(["titleAnchor","titleAngle","titleOrient"],r.header,i,n),l=rD(n,s),c=Gb(a);return{name:`${n}-title`,type:"group",role:`${l}-title`,title:{text:t,..."row"===n?{orient:"left"}:{},style:"guide-title",...epe(c,l),...Jde(l,c,o),...tpe(i,r,n,srt,Due)}}}function Jde(e,n,t="middle"){switch(t){case"start":return{align:"left"};case"end":return{align:"right"}}const i=Xde(n,"row"===e?"left":"top","row"===e?"y":"x");return i?{align:i}:{}}function epe(e,n){const t=Zde(e,"row"===n?"left":"top","row"===n?"y":"x",!0);return t?{baseline:t}:{}}function _at(e,n){const t=e.component.layoutHeaders[n],i=[];for(const r of zO)if(t[r])for(const o of t[r]){const a=Tat(e,n,r,t,o);null!=a&&i.push(a)}return i}function vat(e,n){const{sort:t}=e;return Dp(t)?{field:Xe(t,{expr:"datum"}),order:t.order??"ascending"}:De(t)?{field:b1(e,n,{expr:"datum"}),order:"ascending"}:{field:Xe(e,{expr:"datum"}),order:t??"ascending"}}function $O(e,n,t){const{format:i,formatType:r,labelAngle:o,labelAnchor:a,labelOrient:s,labelExpr:l}=oD(["format","formatType","labelAngle","labelAnchor","labelOrient","labelExpr"],e.header,t,n),c=tO({fieldOrDatumDef:e,format:i,formatType:r,expr:"parent",config:t}).signal,u=rD(n,s);return{text:{signal:l?Am(Am(l,"datum.label",c),"datum.value",Xe(e,{expr:"parent"})):c},..."row"===n?{orient:"left"}:{},style:"guide-label",frame:"group",...epe(o,u),...Jde(u,o,a),...tpe(t,e,n,lrt,Eue)}}function Tat(e,n,t,i,r){if(r){let o=null;const{facetFieldDef:a}=i,s=e.config?e.config:void 0;if(a&&r.labels){const{labelOrient:d}=oD(["labelOrient"],a.header,s,n);("row"===n&&!Fn(["top","bottom"],d)||"column"===n&&!Fn(["left","right"],d))&&(o=$O(a,n,s))}const l=al(e)&&!qb(e.facet),c=r.axes,u=c?.length>0;if(o||u){const d="row"===n?"height":"width";return{name:e.getName(`${n}_${t}`),type:"group",role:`${n}-${t}`,...i.facetFieldDef?{from:{data:e.getName(`${n}_domain`)},sort:vat(a,n)}:{},...u&&l?{from:{data:e.getName(`facet_domain_${n}`)}}:{},...o?{title:o}:{},...r.sizeSignal?{encode:{update:{[d]:r.sizeSignal}}}:{},...u?{axes:c}:{}}}}return null}const Cat={column:{start:0,end:1},row:{start:1,end:0}};function bat(e,n){return Cat[n][e]}function tpe(e,n,t,i,r){const o={};for(const a of i){if(!r[a])continue;const s=A1(a,n?.header,e,t);void 0!==s&&(o[r[a]]=s)}return o}function UO(e){return[...aD(e,"width"),...aD(e,"height"),...aD(e,"childWidth"),...aD(e,"childHeight")]}function aD(e,n){const t="width"===n?"x":"y",i=e.component.layoutSize.get(n);if(!i||"merged"===i)return[];const r=e.getSizeSignalRef(n).signal;if("step"===i){const o=e.getScaleComponent(t);if(o){const a=o.get("type"),s=o.get("range");if(po(a)&&Th(s)){const l=e.scaleName(t);return al(e.parent)&&"independent"===e.parent.component.resolve.scale[t]?[npe(l,s)]:[npe(l,s),{name:r,update:ipe(l,o,`domain('${l}').length`)}]}}throw new Error("layout size is step although width/height is not step.")}if("container"==i){const o=r.endsWith("width"),a=o?"containerSize()[0]":"containerSize()[1]",l=`isFinite(${a}) ? ${a} : ${CO(e.config.view,o?"width":"height")}`;return[{name:r,init:l,on:[{update:l,events:"window:resize"}]}]}return[{name:r,value:i}]}function npe(e,n){const t=`${e}_step`;return St(n.step)?{name:t,update:n.step.signal}:{name:t,value:n.step}}function ipe(e,n,t){const i=n.get("type"),r=n.get("padding"),o=Cr(n.get("paddingOuter"),r);let a=n.get("paddingInner");return a="band"===i?void 0!==a?a:r:1,`bandspace(${t}, ${$c(a)}, ${$c(o)}) * ${e}_step`}function rpe(e){return"childWidth"===e?"width":"childHeight"===e?"height":e}function ope(e,n){return Oe(e).reduce((t,i)=>({...t,..._1({model:n,channelDef:e[i],vgChannel:i,mainRefFn:r=>Ei(r.value),invalidValueRef:void 0})}),{})}function ape(e,n){if(al(n))return"theta"===e?"independent":"shared";if(F1(n))return"shared";if(sH(n))return br(e)||"theta"===e||"radius"===e?"independent":"shared";throw new Error("invalid model type for resolve")}function jO(e,n){const t=e.scale[n],i=br(n)?"axis":"legend";return"independent"===t?("shared"===e[i][n]&&Ue(function snt(e){return`Setting the scale to be independent for "${e}" means we also have to set the guide (axis or legend) to be independent.`}(n)),"independent"):e[i][n]||"shared"}const Sat={...Lue,disable:1,labelExpr:1,selections:1,opacity:1,shape:1,stroke:1,fill:1,size:1,strokeWidth:1,strokeDash:1,encode:1},spe=Oe(Sat);class wat extends Rp{}const lpe={symbols:function xat(e,{fieldOrDatumDef:n,model:t,channel:i,legendCmpt:r,legendType:o}){if("symbol"!==o)return;const{markDef:a,encoding:s,config:l,mark:c}=t,u=a.filled&&"trail"!==c;let d={..._tt({},t,uit),...Ade(t,{filled:u})};const p=r.get("symbolOpacity")??l.legend.symbolOpacity,f=r.get("symbolFillColor")??l.legend.symbolFillColor,h=r.get("symbolStrokeColor")??l.legend.symbolStrokeColor,g=void 0===p?cpe(s.opacity)??a.opacity:void 0;if(d.fill)if("fill"===i||u&&i===Ts)delete d.fill;else if(d.fill.field)f?delete d.fill:(d.fill=Ei(l.legend.symbolBaseFillColor??"black"),d.fillOpacity=Ei(g??1));else if(De(d.fill)){const m=WO(s.fill??s.color)??a.fill??(u&&a.color);m&&(d.fill=Ei(m))}if(d.stroke)if("stroke"===i||!u&&i===Ts)delete d.stroke;else if(d.stroke.field||h)delete d.stroke;else if(De(d.stroke)){const m=Cr(WO(s.stroke||s.color),a.stroke,u?a.color:void 0);m&&(d.stroke={value:m})}if(i!==Sp){const m=je(n)&&dpe(0,r,n);m?d.opacity=[{test:m,...Ei(g??1)},Ei(l.legend.unselectedOpacity)]:g&&(d.opacity=Ei(g))}return d={...d,...e},fi(d)?void 0:d},gradient:function Fat(e,{model:n,legendType:t,legendCmpt:i}){if("gradient"!==t)return;const{config:r,markDef:o,encoding:a}=n;let s={};const c=void 0===(i.get("gradientOpacity")??r.legend.gradientOpacity)?cpe(a.opacity)||o.opacity:void 0;return c&&(s.opacity=Ei(c)),s={...s,...e},fi(s)?void 0:s},labels:function Dat(e,{fieldOrDatumDef:n,model:t,channel:i,legendCmpt:r}){const o=t.legend(i)||{},a=t.config,s=je(n)?dpe(0,r,n):void 0,l=s?[{test:s,value:1},{value:a.legend.unselectedOpacity}]:void 0,{format:c,formatType:u}=o;let d;Pm(u)?d=Wc({fieldOrDatumDef:n,field:"datum.value",format:c,formatType:u,config:a}):void 0===c&&void 0===u&&a.customFormatTypes&&("quantitative"===n.type&&a.numberFormatType?d=Wc({fieldOrDatumDef:n,field:"datum.value",format:a.numberFormat,formatType:a.numberFormatType,config:a}):"temporal"===n.type&&a.timeFormatType&&je(n)&&void 0===n.timeUnit&&(d=Wc({fieldOrDatumDef:n,field:"datum.value",format:a.timeFormat,formatType:a.timeFormatType,config:a})));const p={...l?{opacity:l}:{},...d?{text:d}:{},...e};return fi(p)?void 0:p},entries:function Eat(e,{legendCmpt:n}){return n.get("selections")?.length?{...e,fill:{value:"transparent"}}:e}};function cpe(e){return upe(e,(n,t)=>Math.max(n,t.value))}function WO(e){return upe(e,(n,t)=>Cr(n,t.value))}function upe(e,n){return function Eit(e){const n=e?.condition;return!!n&&(De(n)||qc(n))}(e)?nt(e.condition).reduce(n,e.value):qc(e)?e.value:void 0}function dpe(e,n,t){const i=n.get("selections");if(!i?.length)return;const r=We(t.field);return i.map(o=>`(!length(data(${We(Vi(o)+Gm)})) || (${o}[${r}] && indexof(${o}[${r}], datum.value) >= 0))`).join(" || ")}const ppe={direction:({direction:e})=>e,format:({fieldOrDatumDef:e,legend:n,config:t})=>{const{format:i,formatType:r}=n;return zce(e,e.type,i,r,t,!1)},formatType:({legend:e,fieldOrDatumDef:n,scaleType:t})=>{const{formatType:i}=e;return $ce(i,n,t)},gradientLength:e=>{const{legend:n,legendConfig:t}=e;return n.gradientLength??t.gradientLength??function Nat({legendConfig:e,model:n,direction:t,orient:i,scaleType:r}){const{gradientHorizontalMaxLength:o,gradientHorizontalMinLength:a,gradientVerticalMaxLength:s,gradientVerticalMinLength:l}=e;if(ud(r))return"horizontal"===t?"top"===i||"bottom"===i?fpe(n,"width",a,o):a:fpe(n,"height",l,s)}(e)},labelOverlap:({legend:e,legendConfig:n,scaleType:t})=>e.labelOverlap??n.labelOverlap??function Oat(e){if(Fn(["quantile","threshold","log","symlog"],e))return"greedy"}(t),symbolType:({legend:e,markDef:n,channel:t,encoding:i})=>e.symbolType??function Rat(e,n,t,i){if("shape"!==n){const r=WO(t)??i;if(r)return r}switch(e){case"bar":case"rect":case"image":case"square":return"square";case"line":case"trail":case"rule":return"stroke";case"arc":case"point":case"circle":case"tick":case"geoshape":case"area":case"text":return"circle"}}(n.type,t,i.shape,n.shape),title:({fieldOrDatumDef:e,config:n})=>p1(e,n,{allowDisabling:!0}),type:({legendType:e,scaleType:n,channel:t})=>{if(a1(t)&&ud(n)){if("gradient"===e)return}else if("symbol"===e)return;return e},values:({fieldOrDatumDef:e,legend:n})=>function Iat(e,n){const t=e.values;return De(t)?aue(n,t):St(t)?t:void 0}(n,e)};function fpe(e,n,t,i){return{signal:`clamp(${e.getSizeSignalRef(n).signal}, ${t}, ${i})`}}function hpe(e){const n=Ji(e)?function Hat(e){const{encoding:n}=e,t={};for(const i of[Ts,...Rue]){const r=Zr(n[i]);!r||!e.getScaleComponent(i)||i===Cs&&je(r)&&r.type===l1||(t[i]=Yat(e,i))}return t}(e):function Vat(e){const{legends:n,resolve:t}=e.component;for(const i of e.children){hpe(i);for(const r of Oe(i.component.legends))t.legend[r]=jO(e.component.resolve,r),"shared"===t.legend[r]&&(n[r]=gpe(n[r],i.component.legends[r]),n[r]||(t.legend[r]="independent",delete n[r]))}for(const i of Oe(n))for(const r of e.children)r.component.legends[i]&&"shared"===t.legend[i]&&delete r.component.legends[i];return n}(e);return e.component.legends=n,n}function Bat(e,n,t,i){switch(n){case"disable":return void 0!==t;case"values":return!!t?.values;case"title":if("title"===n&&e===i?.title)return!0}return e===(t||{})[n]}function Yat(e,n){let t=e.legend(n);const{markDef:i,encoding:r,config:o}=e,a=o.legend,s=new wat({},function Gat(e,n){const t=e.scaleName(n);if("trail"===e.mark){if("color"===n)return{stroke:t};if("size"===n)return{strokeWidth:t}}return"color"===n?e.markDef.filled?{fill:t}:{stroke:t}:{[n]:t}}(e,n));!function Zot(e,n,t){const i=e.fieldDef(n)?.field;for(const r of Ro(e.component.selection??{})){const o=r.project.hasField[i]??r.project.hasChannel[n];if(o&&kde.defined(r)){const a=t.get("selections")??[];a.push(r.name),t.set("selections",a,!1),o.hasLegend=!0}}}(e,n,s);const l=void 0!==t?!t:a.disable;if(s.set("disable",l,void 0!==t),l)return s;t=t||{};const c=e.getScaleComponent(n).get("type"),u=Zr(r[n]),d=je(u)?uo(u.timeUnit)?.unit:void 0,p=t.orient||o.legend.orient||"right",f=function Lat(e){const{legend:n}=e;return Cr(n.type,function Mat({channel:e,timeUnit:n,scaleType:t}){if(a1(e)){if(Fn(["quarter","month","day"],n))return"symbol";if(ud(t))return"gradient"}return"symbol"}(e))}({legend:t,channel:n,timeUnit:d,scaleType:c}),h=function kat({legendConfig:e,legendType:n,orient:t,legend:i}){return i.direction??e[n?"gradientDirection":"symbolDirection"]??function Pat(e,n){switch(e){case"top":case"bottom":return"horizontal";case"left":case"right":case"none":case void 0:return;default:return"gradient"===n?"horizontal":void 0}}(t,n)}({legend:t,legendType:f,orient:p,legendConfig:a}),g={legend:t,channel:n,model:e,markDef:i,encoding:r,fieldOrDatumDef:u,legendConfig:a,config:o,scaleType:c,orient:p,legendType:f,direction:h};for(const A of spe){if("gradient"===f&&A.startsWith("symbol")||"symbol"===f&&A.startsWith("gradient"))continue;const S=A in ppe?ppe[A](g):t[A];if(void 0!==S){const I=Bat(S,A,t,e.fieldDef(n));(I||void 0===o.legend[A])&&s.set(A,S,I)}}const m=t?.encoding??{},_=s.get("selections"),v={},C={fieldOrDatumDef:u,model:e,channel:n,legendCmpt:s,legendType:f};for(const A of["labels","legend","title","symbols","gradient","entries"]){const S=ope(m[A]??{},e),I=A in lpe?lpe[A](S,C):S;void 0!==I&&!fi(I)&&(v[A]={..._?.length&&je(u)?{name:`${Vi(u.field)}_legend_${A}`}:{},..._?.length?{interactive:!!_}:{},update:I})}return fi(v)||s.set("encode",v,!!t?.encoding),s}function gpe(e,n){if(!e)return n.clone();const t=e.getWithExplicit("orient"),i=n.getWithExplicit("orient");if(t.explicit&&i.explicit&&t.value!==i.value)return;let r=!1;for(const o of spe){const a=wh(e.getWithExplicit(o),n.getWithExplicit(o),o,"legend",(s,l)=>{switch(o){case"symbolType":return zat(s,l);case"title":return Wle(s,l);case"type":return r=!0,ol("symbol")}return K5(s,l,o,"legend")});e.setWithExplicit(o,a)}return r&&(e.implicit?.encode?.gradient&&c5(e.implicit,["encode","gradient"]),e.explicit?.encode?.gradient&&c5(e.explicit,["encode","gradient"])),e}function zat(e,n){return"circle"===n.value?n:e}function mpe(e){const n=e.component.legends,t={};for(const r of Oe(n)){const a=hi(e.getScaleComponent(r).get("domains"));if(t[a])for(const s of t[a])gpe(s,n[r])||t[a].push(n[r]);else t[a]=[n[r].clone()]}return Ro(t).flat().map(r=>function Uat(e,n){const{disable:t,labelExpr:i,selections:r,...o}=e.combine();if(!t){if(!1===n.aria&&null==o.aria&&(o.aria=!1),o.encode?.symbols){const a=o.encode.symbols.update;a.fill&&"transparent"!==a.fill.value&&!a.stroke&&!o.stroke&&(a.stroke={value:"transparent"});for(const s of Rue)o[s]&&delete a[s]}if(o.title||delete o.title,void 0!==i){let a=i;o.encode?.labels?.update&&St(o.encode.labels.update.text)&&(a=Am(i,"datum.label",o.encode.labels.update.text.signal)),function $at(e,n,t,i){var r,o;e.encode??(e.encode={}),(r=e.encode)[n]??(r[n]={}),(o=e.encode[n]).update??(o.update={}),e.encode[n].update[t]=i}(o,"labels","text",{signal:a})}return o}}(r,e.config)).filter(r=>void 0!==r)}function ype(e){const n=e.component.projection;if(!n||n.merged)return[];const t=n.combine(),{name:i}=t;if(n.data){const r={signal:`[${n.size.map(a=>a.signal).join(", ")}]`},o=n.data.reduce((a,s)=>{const l=St(s)?s.signal:`data('${e.lookupDataSource(s)}')`;return Fn(a,l)||a.push(l),a},[]);if(o.length<=0)throw new Error("Projection's fit didn't find any data sources");return[{name:i,size:r,fit:{signal:o.length>1?`[${o.join(", ")}]`:o[0]},...t}]}return[{name:i,translate:{signal:"[width / 2, height / 2]"},...t}]}const qat=["type","clipAngle","clipExtent","center","rotate","precision","reflectX","reflectY","coefficient","distance","fraction","lobes","parallel","radius","ratio","spacing","tilt"];class _pe extends Rp{constructor(n,t,i,r){super({...t},{name:n}),this.specifiedProjection=t,this.size=i,this.data=r,this.merged=!1}get isFit(){return!!this.data}}function vpe(e){e.component.projection=Ji(e)?function Kat(e){if(e.hasProjection){const n=aa(e.specifiedProjection),t=!(n&&(null!=n.scale||null!=n.translate)),i=t?[e.getSizeSignalRef("width"),e.getSizeSignalRef("height")]:void 0,r=t?function Zat(e){const n=[],{encoding:t}=e;for(const i of[[Vc,Yc],[Vl,zc]])(Zr(t[i[0]])||Zr(t[i[1]]))&&n.push({signal:e.getName(`geojson_${n.length}`)});return e.channelHasField(Cs)&&e.typedFieldDef(Cs).type===l1&&n.push({signal:e.getName(`geojson_${n.length}`)}),0===n.length&&n.push(e.requestDataName(Qi.Main)),n}(e):void 0,o=new _pe(e.projectionName(!0),{...aa(e.config.projection),...n},i,r);return o.get("type")||o.set("type","equalEarth",!1),o}}(e):function Qat(e){if(0===e.children.length)return;let n;for(const i of e.children)vpe(i);const t=gN(e.children,i=>{const r=i.component.projection;if(r){if(n){const o=function Xat(e,n){const t=gN(qat,r=>!!(!kt(e.explicit,r)&&!kt(n.explicit,r)||kt(e.explicit,r)&&kt(n.explicit,r)&&il(e.get(r),n.get(r))));if(il(e.size,n.size)){if(t)return e;if(il(e.explicit,{}))return n;if(il(n.explicit,{}))return e}return null}(n,r);return o&&(n=o),!!o}return n=r,!0}return!0});if(n&&t){const i=e.projectionName(!0),r=new _pe(i,n.specifiedProjection,n.size,rn(n.data));for(const o of e.children){const a=o.component.projection;a&&(a.isFit&&r.data.push(...o.component.projection.data),o.renameProjection(a.get("name"),i),a.merged=!0)}return r}}(e)}function Jat(e,n,t,i){if(Xb(n,t)){const r=Ji(e)?e.axis(t)??e.legend(t)??{}:{},o=Xe(n,{expr:"datum"}),a=Xe(n,{expr:"datum",binSuffix:"end"});return{formulaAs:Xe(n,{binSuffix:"range",forAs:!0}),formula:Wb(o,a,r.format,r.formatType,i)}}return{}}function Tpe(e,n){return`${Nle(e)}_${n}`}function qO(e,n,t){const r=Tpe(G5(t,void 0)??{},n);return e.getName(`${r}_bins`)}function Cpe(e,n,t){let i,r;i=function tst(e){return"as"in e}(e)?it(e.as)?[e.as,`${e.as}_end`]:[e.as[0],e.as[1]]:[Xe(e,{forAs:!0}),Xe(e,{binSuffix:"end",forAs:!0})];const o={...G5(n,void 0)},a=Tpe(o,e.field),{signal:s,extentSignal:l}=function est(e,n){return{signal:e.getName(`${n}_bins`),extentSignal:e.getName(`${n}_extent`)}}(t,a);if(v5(o.extent)){const u=o.extent;r=jde(t,u.param,u),delete o.extent}return{key:a,binComponent:{bin:o,field:e.field,as:[i],...s?{signal:s}:{},...l?{extentSignal:l}:{},...r?{span:r}:{}}}}class gd extends ci{clone(){return new gd(null,rn(this.bins))}constructor(n,t){super(n),this.bins=t}static makeFromEncoding(n,t){const i=t.reduceFieldDef((r,o,a)=>{if(za(o)&&Di(o.bin)){const{key:s,binComponent:l}=Cpe(o,o.bin,t);r[s]={...l,...r[s],...Jat(t,o,a,t.config)}}return r},{});return fi(i)?null:new gd(n,i)}static makeFromTransform(n,t,i){const{key:r,binComponent:o}=Cpe(t,t.bin,i);return new gd(n,{[r]:o})}merge(n,t){for(const i of Oe(n.bins))i in this.bins?(t(n.bins[i].signal,this.bins[i].signal),this.bins[i].as=td([...this.bins[i].as,...n.bins[i].as],In)):this.bins[i]=n.bins[i];for(const i of n.children)n.removeChild(i),i.parent=this;n.remove()}producedFields(){return new Set(Ro(this.bins).map(n=>n.as).flat(2))}dependentFields(){return new Set(Ro(this.bins).map(n=>n.field))}hash(){return`Bin ${In(this.bins)}`}assemble(){return Ro(this.bins).flatMap(n=>{const t=[],[i,...r]=n.as,{extent:o,...a}=n.bin,s={type:"bin",field:Bl(n.field),as:i,signal:n.signal,...v5(o)?{extent:null}:{extent:o},...n.span?{span:{signal:`span(${n.span})`}}:{},...a};!o&&n.extentSignal&&(t.push({type:"extent",field:Bl(n.field),signal:n.extentSignal}),s.extent={signal:n.extentSignal}),t.push(s);for(const l of r)for(let c=0;c<2;c++)t.push({type:"formula",expr:Xe({field:i[c]},{expr:"datum"}),as:l[c]});return n.formula&&t.push({type:"formula",expr:n.formula,as:n.formulaAs}),t})}}class Xc extends ci{clone(){return new Xc(null,new Set(this.dimensions),rn(this.measures))}constructor(n,t,i){super(n),this.dimensions=t,this.measures=i}get groupBy(){return this.dimensions}static makeFromEncoding(n,t){let i=!1;t.forEachFieldDef(a=>{a.aggregate&&(i=!0)});const r={},o=new Set;return i&&(t.forEachFieldDef((a,s)=>{const{aggregate:l,field:c}=a;if(l)if("count"===l)r["*"]??(r["*"]={}),r["*"].count=new Set([Xe(a,{forAs:!0})]);else{if(xp(l)||_h(l)){const u=xp(l)?"argmin":"argmax",d=l[u];r[d]??(r[d]={}),r[d][u]=new Set([Xe({op:u,field:d},{forAs:!0})])}else r[c]??(r[c]={}),r[c][l]=new Set([Xe(a,{forAs:!0})]);ad(s)&&"unaggregated"===t.scaleDomain(s)&&(r[c]??(r[c]={}),r[c].min=new Set([Xe({field:c,aggregate:"min"},{forAs:!0})]),r[c].max=new Set([Xe({field:c,aggregate:"max"},{forAs:!0})]))}else!function nst(e,n,t,i){const r=Ji(i)?i.encoding[od(n)]:void 0;if(za(t)&&Ji(i)&&Xce(t,r,i.markDef,i.config)){e.add(Xe(t,{})),e.add(Xe(t,{suffix:"end"}));const{mark:o,markDef:a,config:s}=i,l=Ah({fieldDef:t,markDef:a,config:s});Ub(o)&&.5!==l&&br(n)&&(e.add(Xe(t,{suffix:Z5})),e.add(Xe(t,{suffix:X5}))),t.bin&&Xb(t,n)&&e.add(Xe(t,{binSuffix:"range"}))}else if(xle(n)){const o=wle(n);e.add(i.getName(o))}else e.add(Xe(t));return Nm(t)&&function Jnt(e){return Je(e)&&"field"in e}(t.scale?.range)&&e.add(t.scale.range.field),e}(o,s,a,t)}),o.size+Oe(r).length!==0)?new Xc(n,o,r):null}static makeFromTransform(n,t){var i;const r=new Set,o={};for(const a of t.aggregate){const{op:s,field:l,as:c}=a;s&&("count"===s?(o["*"]??(o["*"]={}),o["*"].count=new Set([c||Xe(a,{forAs:!0})])):(o[l]??(o[l]={}),(i=o[l])[s]??(i[s]=new Set),o[l][s].add(c||Xe(a,{forAs:!0}))))}for(const a of t.groupby??[])r.add(a);return r.size+Oe(o).length===0?null:new Xc(n,r,o)}merge(n){return mle(this.dimensions,n.dimensions)?(function ist(e,n){for(const t of Oe(n)){const i=n[t];for(const r of Oe(i))t in e?e[t][r]=new Set([...e[t][r]??[],...i[r]]):e[t]={[r]:i[r]}}}(this.measures,n.measures),!0):(function Snt(...e){ld.debug(...e)}("different dimensions, cannot merge"),!1)}addDimensions(n){n.forEach(this.dimensions.add,this.dimensions)}dependentFields(){return new Set([...this.dimensions,...Oe(this.measures)])}producedFields(){const n=new Set;for(const t of Oe(this.measures))for(const i of Oe(this.measures[t])){const r=this.measures[t][i];0===r.size?n.add(`${i}_${t}`):r.forEach(n.add,n)}return n}hash(){return`Aggregate ${In({dimensions:this.dimensions,measures:this.measures})}`}assemble(){const n=[],t=[],i=[];for(const o of Oe(this.measures))for(const a of Oe(this.measures[o]))for(const s of this.measures[o][a])i.push(s),n.push(a),t.push("*"===o?null:Bl(o));return{type:"aggregate",groupby:[...this.dimensions].map(Bl),ops:n,fields:t,as:i}}}class S1 extends ci{constructor(n,t,i,r){super(n),this.model=t,this.name=i,this.data=r;for(const o of zl){const a=t.facet[o];if(a){const{bin:s,sort:l}=a;this[o]={name:t.getName(`${o}_domain`),fields:[Xe(a),...Di(s)?[Xe(a,{binSuffix:"end"})]:[]],...Dp(l)?{sortField:l}:De(l)?{sortIndexField:b1(a,o)}:{}}}}this.childModel=t.child}hash(){let n="Facet";for(const t of zl)this[t]&&(n+=` ${t.charAt(0)}:${In(this[t])}`);return n}get fields(){const n=[];for(const t of zl)this[t]?.fields&&n.push(...this[t].fields);return n}dependentFields(){const n=new Set(this.fields);for(const t of zl)this[t]&&(this[t].sortField&&n.add(this[t].sortField.field),this[t].sortIndexField&&n.add(this[t].sortIndexField));return n}producedFields(){return new Set}getSource(){return this.name}getChildIndependentFieldsWithStep(){const n={};for(const t of wp){const i=this.childModel.component.scales[t];if(i&&!i.merged){const r=i.get("type"),o=i.get("range");if(po(r)&&Th(o)){const s=oH(lD(this.childModel,t));s?n[t]=s:Ue(MN(t))}}}return n}assembleRowColumnHeaderData(n,t,i){const r={row:"y",column:"x",facet:void 0}[n],o=[],a=[],s=[];r&&i&&i[r]&&(t?(o.push(`distinct_${i[r]}`),a.push("max")):(o.push(i[r]),a.push("distinct")),s.push(`distinct_${i[r]}`));const{sortField:l,sortIndexField:c}=this[n];if(l){const{op:u=L5,field:d}=l;o.push(d),a.push(u),s.push(Xe(l,{forAs:!0}))}else c&&(o.push(c),a.push("max"),s.push(c));return{name:this[n].name,source:t??this.data,transform:[{type:"aggregate",groupby:this[n].fields,...o.length?{fields:o,ops:a,as:s}:{}}]}}assembleFacetHeaderData(n){const{columns:t}=this.model.layout,{layoutHeaders:i}=this.model.component,r=[],o={};for(const l of VO){for(const c of zO){const u=(i[l]&&i[l][c])??[];for(const d of u)if(d.axes?.length>0){o[l]=!0;break}}if(o[l]){const c=`length(data("${this.facet.name}"))`;r.push({name:`${this.facet.name}_${l}`,transform:[{type:"sequence",start:0,stop:"row"===l?t?{signal:`ceil(${c} / ${t})`}:1:t?{signal:`min(${c}, ${t})`}:{signal:c}}]})}}const{row:a,column:s}=o;return(a||s)&&r.unshift(this.assembleRowColumnHeaderData("facet",null,n)),r}assemble(){const n=[];let t=null;const i=this.getChildIndependentFieldsWithStep(),{column:r,row:o,facet:a}=this;if(r&&o&&(i.x||i.y)){t=`cross_${this.column.name}_${this.row.name}`;const s=[].concat(i.x??[],i.y??[]),l=s.map(()=>"distinct");n.push({name:t,source:this.data,transform:[{type:"aggregate",groupby:this.fields,fields:s,ops:l}]})}for(const s of[Tp,vp])this[s]&&n.push(this.assembleRowColumnHeaderData(s,t,i));if(a){const s=this.assembleFacetHeaderData(i);s&&n.push(...s)}return n}}function bpe(e){return e.startsWith("'")&&e.endsWith("'")||e.startsWith('"')&&e.endsWith('"')?e.slice(1,-1):e}function ost(e){const n={};return l5(e.filter,t=>{if(Tce(t)){let i=null;GN(t)?i=rl(t.equal):YN(t)?i=rl(t.lte):BN(t)?i=rl(t.lt):VN(t)?i=rl(t.gt):zN(t)?i=rl(t.gte):$N(t)?i=t.range[0]:UN(t)&&(i=(t.oneOf??t.in)[0]),i&&(Dm(i)?n[t.field]="date":Gn(i)?n[t.field]="number":it(i)&&(n[t.field]="string")),t.timeUnit&&(n[t.field]="date")}}),n}class ca extends ci{clone(){return new ca(null,rn(this._parse))}constructor(n,t){super(n),this._parse=t}hash(){return`Parse ${In(this._parse)}`}static makeExplicit(n,t,i){let r={};const o=t.data;return!xh(o)&&o?.format?.parse&&(r=o.format.parse),this.makeWithAncestors(n,r,{},i)}static makeWithAncestors(n,t,i,r){for(const s of Oe(i)){const l=r.getWithExplicit(s);void 0!==l.value&&(l.explicit||l.value===i[s]||"derived"===l.value||"flatten"===i[s]?delete i[s]:Ue(ece(s,i[s],l.value)))}for(const s of Oe(t)){const l=r.get(s);void 0!==l&&(l===t[s]?delete t[s]:Ue(ece(s,t[s],l)))}const o=new Rp(t,i);r.copyAll(o);const a={};for(const s of Oe(o.combine())){const l=o.get(s);null!==l&&(a[s]=l)}return 0===Oe(a).length||r.parseNothing?null:new ca(n,a)}get parse(){return this._parse}merge(n){this._parse={...this._parse,...n.parse},n.remove()}assembleFormatParse(){const n={};for(const t of Oe(this._parse)){const i=this._parse[t];1===n1(t)&&(n[t]=i)}return n}producedFields(){return new Set(Oe(this._parse))}dependentFields(){return new Set(Oe(this._parse))}assembleTransforms(n=!1){return Oe(this._parse).filter(t=>!n||n1(t)>1).map(t=>{const i=function rst(e,n){const t=vN(e);return"number"===n?`toNumber(${t})`:"boolean"===n?`toBoolean(${t})`:"string"===n?`toString(${t})`:"date"===n?`toDate(${t})`:"flatten"===n?t:n.startsWith("date:")?`timeParse(${t},'${bpe(n.slice(5,n.length))}')`:n.startsWith("utc:")?`utcParse(${t},'${bpe(n.slice(4,n.length))}')`:(Ue(function Ltt(e){return`Unrecognized parse "${e}".`}(n)),null)}(t,this._parse[t]);return i?{type:"formula",expr:i,as:t1(t)}:null}).filter(t=>null!==t)}}class Eh extends ci{clone(){return new Eh(null)}constructor(n){super(n)}dependentFields(){return new Set}producedFields(){return new Set([Zc])}hash(){return"Identifier"}assemble(){return{type:"identifier",as:Zc}}}class r2 extends ci{clone(){return new r2(null,this.params)}constructor(n,t){super(n),this.params=t}dependentFields(){return new Set}producedFields(){}hash(){return`Graticule ${In(this.params)}`}assemble(){return{type:"graticule",...!0===this.params?{}:this.params}}}class o2 extends ci{clone(){return new o2(null,this.params)}constructor(n,t){super(n),this.params=t}dependentFields(){return new Set}producedFields(){return new Set([this.params.as??"data"])}hash(){return`Hash ${In(this.params)}`}assemble(){return{type:"sequence",...this.params}}}class Ym extends ci{constructor(n){let t;if(super(null),n??(n={name:"source"}),xh(n)||(t=n.format?{...vs(n.format,["parse"])}:{}),Jb(n))this._data={values:n.values};else if(m1(n)){if(this._data={url:n.url},!t.type){let i=/(?:\.([^.]+))?$/.exec(n.url)[1];Fn(["json","csv","tsv","dsv","topojson"],i)||(i="json"),t.type=i}}else cde(n)?this._data={values:[{type:"Sphere"}]}:(sde(n)||xh(n))&&(this._data={});this._generator=xh(n),n.name&&(this._name=n.name),t&&!fi(t)&&(this._data.format=t)}dependentFields(){return new Set}producedFields(){}get data(){return this._data}hasName(){return!!this._name}get isGenerator(){return this._generator}get dataName(){return this._name}set dataName(n){this._name=n}set parent(n){throw new Error("Source nodes have to be roots.")}remove(){throw new Error("Source nodes are roots and cannot be removed.")}hash(){throw new Error("Cannot hash sources")}assemble(){return{name:this._name,...this._data,transform:[]}}}var a2,Ape=function(e,n,t,i,r){if("m"===i)throw new TypeError("Private method is not writable");if("a"===i&&!r)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof n?e!==n||!r:!n.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===i?r.call(e,t):r?r.value=t:n.set(e,t),t};function KO(e){return e instanceof Ym||e instanceof r2||e instanceof o2}class ZO{constructor(){a2.set(this,void 0),Ape(this,a2,!1,"f")}setModified(){Ape(this,a2,!0,"f")}get modifiedFlag(){return function(e,n,t,i){if("function"==typeof n||!n.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return n.get(e)}(this,a2)}}a2=new WeakMap;class Vm extends ZO{getNodeDepths(n,t,i){i.set(n,t);for(const r of n.children)this.getNodeDepths(r,t+1,i);return i}optimize(n){const i=[...this.getNodeDepths(n,0,new Map).entries()].sort((r,o)=>o[1]-r[1]);for(const r of i)this.run(r[0]);return this.modifiedFlag}}class XO extends ZO{optimize(n){this.run(n);for(const t of n.children)this.optimize(t);return this.modifiedFlag}}class cst extends XO{mergeNodes(n,t){const i=t.shift();for(const r of t)n.removeChild(r),r.parent=i,r.remove()}run(n){const t=n.children.map(r=>r.hash()),i={};for(let r=0;r1&&(this.setModified(),this.mergeNodes(n,i[r]))}}class ust extends XO{constructor(n){super(),this.requiresSelectionId=n&&OO(n)}run(n){n instanceof Eh&&(this.requiresSelectionId&&(KO(n.parent)||n.parent instanceof Xc||n.parent instanceof ca)||(this.setModified(),n.remove()))}}class dst extends ZO{optimize(n){return this.run(n,new Set),this.modifiedFlag}run(n,t){let i=new Set;n instanceof hd&&(i=n.producedFields(),mN(i,t)&&(this.setModified(),n.removeFormulas(t),0===n.producedFields.length&&n.remove()));for(const r of n.children)this.run(r,new Set([...t,...i]))}}class pst extends XO{constructor(){super()}run(n){n instanceof As&&!n.isRequired()&&(this.setModified(),n.remove())}}class fst extends Vm{run(n){if(!(KO(n)||n.numChildren()>1))for(const t of n.children)if(t instanceof ca)if(n instanceof ca)this.setModified(),n.merge(t);else{if(_N(n.producedFields(),t.dependentFields()))continue;this.setModified(),t.swapWithParent()}}}class hst extends Vm{run(n){const t=[...n.children],i=n.children.filter(r=>r instanceof ca);if(n.numChildren()>1&&i.length>=1){const r={},o=new Set;for(const a of i){const s=a.parse;for(const l of Oe(s))l in r?r[l]!==s[l]&&o.add(l):r[l]=s[l]}for(const a of o)delete r[a];if(!fi(r)){this.setModified();const a=new ca(n,r);for(const s of t){if(s instanceof ca)for(const l of Oe(r))delete s.parse[l];n.removeChild(s),s.parent=a,s instanceof ca&&0===Oe(s.parse).length&&s.remove()}}}}}class gst extends Vm{run(n){n instanceof As||n.numChildren()>0||n instanceof S1||n instanceof Ym||(this.setModified(),n.remove())}}class mst extends Vm{run(n){const t=n.children.filter(r=>r instanceof hd),i=t.pop();for(const r of t)this.setModified(),i.merge(r)}}class yst extends Vm{run(n){const t=n.children.filter(r=>r instanceof Xc),i={};for(const r of t){const o=In(r.groupBy);o in i||(i[o]=[]),i[o].push(r)}for(const r of Oe(i)){const o=i[r];if(o.length>1){const a=o.pop();for(const s of o)a.merge(s)&&(n.removeChild(s),s.parent=a,s.remove(),this.setModified())}}}}class _st extends Vm{constructor(n){super(),this.model=n}run(n){const t=!(KO(n)||n instanceof T1||n instanceof ca||n instanceof Eh),i=[],r=[];for(const o of n.children)o instanceof gd&&(t&&!_N(n.producedFields(),o.dependentFields())?i.push(o):r.push(o));if(i.length>0){const o=i.pop();for(const a of i)o.merge(a,this.model.renameSignal.bind(this.model));this.setModified(),n instanceof gd?n.merge(o,this.model.renameSignal.bind(this.model)):o.swapWithParent()}if(r.length>1){const o=r.pop();for(const a of r)o.merge(a,this.model.renameSignal.bind(this.model));this.setModified()}}}class vst extends Vm{run(n){const t=[...n.children];if(!e1(t,a=>a instanceof As)||n.numChildren()<=1)return;const r=[];let o;for(const a of t)if(a instanceof As){let s=a;for(;1===s.numChildren();){const[l]=s.children;if(!(l instanceof As))break;s=l}r.push(...s.children),o?(n.removeChild(a),a.parent=o.parent,o.parent.removeChild(o),o.parent=s,this.setModified()):o=s}else r.push(a);if(r.length){this.setModified();for(const a of r)a.parent.removeChild(a),a.parent=o}}}class zm extends ci{clone(){return new zm(null,rn(this.transform))}constructor(n,t){super(n),this.transform=t}addDimensions(n){this.transform.groupby=td(this.transform.groupby.concat(n),t=>t)}dependentFields(){const n=new Set;return this.transform.groupby&&this.transform.groupby.forEach(n.add,n),this.transform.joinaggregate.map(t=>t.field).filter(t=>void 0!==t).forEach(n.add,n),n}producedFields(){return new Set(this.transform.joinaggregate.map(this.getDefaultName))}getDefaultName(n){return n.as??Xe(n)}hash(){return`JoinAggregateTransform ${In(this.transform)}`}assemble(){const n=[],t=[],i=[];for(const o of this.transform.joinaggregate)t.push(o.op),i.push(this.getDefaultName(o)),n.push(void 0===o.field?null:o.field);const r=this.transform.groupby;return{type:"joinaggregate",as:i,ops:t,fields:n,...void 0!==r?{groupby:r}:{}}}}class w1 extends ci{clone(){return new w1(null,{...this.filter})}constructor(n,t){super(n),this.filter=t}static make(n,t,i){const{config:r,markDef:o}=t,{marks:a,scales:s}=i;if("include-invalid-values"===a&&"include-invalid-values"===s)return null;const l=t.reduceFieldDef((c,u,d)=>{const p=ad(d)&&t.getScaleComponent(d);if(p){const f=p.get("type"),{aggregate:h}=u,g=QN({scaleChannel:d,markDef:o,config:r,scaleType:f,isCountAggregate:_5(h)});"show"!==g&&"always-valid"!==g&&(c[u.field]=u)}return c},{});return Oe(l).length?new w1(n,l):null}dependentFields(){return new Set(Oe(this.filter))}producedFields(){return new Set}hash(){return`FilterInvalid ${In(this.filter)}`}assemble(){const n=Oe(this.filter).reduce((t,i)=>{const r=this.filter[i],o=Xe(r,{expr:"datum"});return null!==r&&("temporal"===r.type?t.push(`(isDate(${o}) || (${QO(o)}))`):"quantitative"===r.type&&t.push(QO(o))),t},[]);return n.length>0?{type:"filter",expr:n.join(" && ")}:null}}function QO(e){return`isValid(${e}) && isFinite(+${e})`}class Mp extends ci{clone(){return new Mp(null,rn(this._stack))}constructor(n,t){super(n),this._stack=t}static makeFromTransform(n,t){const{stack:i,groupby:r,as:o,offset:a="zero"}=t,s=[],l=[];if(void 0!==t.sort)for(const d of t.sort)s.push(d.field),l.push(Cr(d.order,"ascending"));const c={field:s,order:l};let u;return u=function Cst(e){return De(e)&&e.every(n=>it(n))&&e.length>1}(o)?o:it(o)?[o,`${o}_end`]:[`${t.stack}_start`,`${t.stack}_end`],new Mp(n,{dimensionFieldDefs:[],stackField:i,groupby:r,offset:a,sort:c,facetby:[],as:u})}static makeFromEncoding(n,t){const i=t.stack,{encoding:r}=t;if(!i)return null;const{groupbyChannels:o,fieldChannel:a,offset:s,impute:l}=i,c=o.map(f=>Kc(r[f])).filter(f=>!!f),u=function Tst(e){return e.stack.stackBy.reduce((n,t)=>{const r=Xe(t.fieldDef);return r&&n.push(r),n},[])}(t),d=t.encoding.order;let p;if(De(d)||je(d))p=$le(d);else{const f=Qce(d)?d.sort:"y"===a?"descending":"ascending";p=u.reduce((h,g)=>(h.field.includes(g)||(h.field.push(g),h.order.push(f)),h),{field:[],order:[]})}return new Mp(n,{dimensionFieldDefs:c,stackField:t.vgField(a),facetby:[],stackby:u,sort:p,offset:s,impute:l,as:[t.vgField(a,{suffix:"start",forAs:!0}),t.vgField(a,{suffix:"end",forAs:!0})]})}get stack(){return this._stack}addDimensions(n){this._stack.facetby.push(...n)}dependentFields(){const n=new Set;return n.add(this._stack.stackField),this.getGroupbyFields().forEach(n.add,n),this._stack.facetby.forEach(n.add,n),this._stack.sort.field.forEach(n.add,n),n}producedFields(){return new Set(this._stack.as)}hash(){return`Stack ${In(this._stack)}`}getGroupbyFields(){const{dimensionFieldDefs:n,impute:t,groupby:i}=this._stack;return n.length>0?n.map(r=>r.bin?t?[Xe(r,{binSuffix:"mid"})]:[Xe(r,{}),Xe(r,{binSuffix:"end"})]:[Xe(r)]).flat():i??[]}assemble(){const n=[],{facetby:t,dimensionFieldDefs:i,stackField:r,stackby:o,sort:a,offset:s,impute:l,as:c}=this._stack;if(l)for(const u of i){const{bandPosition:d=.5,bin:p}=u;if(p){const f=Xe(u,{expr:"datum"}),h=Xe(u,{expr:"datum",binSuffix:"end"});n.push({type:"formula",expr:`${QO(f)} ? ${d}*${f}+${1-d}*${h} : ${f}`,as:Xe(u,{binSuffix:"mid",forAs:!0})})}n.push({type:"impute",field:r,groupby:[...o,...t],key:Xe(u,{binSuffix:"mid"}),method:"value",value:0})}return n.push({type:"stack",groupby:[...this.getGroupbyFields(),...t],field:r,sort:a,as:c,offset:s}),n}}class x1 extends ci{clone(){return new x1(null,rn(this.transform))}constructor(n,t){super(n),this.transform=t}addDimensions(n){this.transform.groupby=td(this.transform.groupby.concat(n),t=>t)}dependentFields(){const n=new Set;return(this.transform.groupby??[]).forEach(n.add,n),(this.transform.sort??[]).forEach(t=>n.add(t.field)),this.transform.window.map(t=>t.field).filter(t=>void 0!==t).forEach(n.add,n),n}producedFields(){return new Set(this.transform.window.map(this.getDefaultName))}getDefaultName(n){return n.as??Xe(n)}hash(){return`WindowTransform ${In(this.transform)}`}assemble(){const n=[],t=[],i=[],r=[];for(const d of this.transform.window)t.push(d.op),i.push(this.getDefaultName(d)),r.push(void 0===d.param?null:d.param),n.push(void 0===d.field?null:d.field);const o=this.transform.frame,a=this.transform.groupby;if(o&&null===o[0]&&null===o[1]&&t.every(d=>EN(d)))return{type:"joinaggregate",as:i,ops:t,fields:n,...void 0!==a?{groupby:a}:{}};const s=[],l=[];if(void 0!==this.transform.sort)for(const d of this.transform.sort)s.push(d.field),l.push(d.order??"ascending");const u=this.transform.ignorePeers;return{type:"window",params:r,as:i,ops:t,fields:n,sort:{field:s,order:l},...void 0!==u?{ignorePeers:u}:{},...void 0!==a?{groupby:a}:{},...void 0!==o?{frame:o}:{}}}}function JO(e){if(e instanceof S1)if(1!==e.numChildren()||e.children[0]instanceof As){const n=e.model.component.data.main;Spe(n);const t=function bst(e){return function n(t){if(!(t instanceof S1)){const i=t.clone();if(i instanceof As){const r=eH+i.getSource();i.setSource(r),e.model.component.data.outputNodes[r]=i}else(i instanceof Xc||i instanceof Mp||i instanceof x1||i instanceof zm)&&i.addDimensions(e.fields);for(const r of t.children.flatMap(n))r.parent=i;return[i]}return t.children.flatMap(n)}}(e),i=e.children.map(t).flat();for(const r of i)r.parent=n}else{const n=e.children[0];(n instanceof Xc||n instanceof Mp||n instanceof x1||n instanceof zm)&&n.addDimensions(e.fields),n.swapWithParent(),JO(e)}else e.children.map(JO)}function Spe(e){if(e instanceof As&&e.type===Qi.Main&&1===e.numChildren()){const n=e.children[0];n instanceof S1||(n.swapWithParent(),Spe(e))}}const eH="scale_",sD=5;function tH(e){for(const n of e){for(const t of n.children)if(t.parent!==n)return!1;if(!tH(n.children))return!1}return!0}function Qc(e,n){let t=!1;for(const i of n)t=e.optimize(i)||t;return t}function wpe(e,n,t){let i=e.sources,r=!1;return r=Qc(new pst,i)||r,r=Qc(new ust(n),i)||r,i=i.filter(o=>o.numChildren()>0),r=Qc(new gst,i)||r,i=i.filter(o=>o.numChildren()>0),t||(r=Qc(new fst,i)||r,r=Qc(new _st(n),i)||r,r=Qc(new dst,i)||r,r=Qc(new hst,i)||r,r=Qc(new yst,i)||r,r=Qc(new mst,i)||r,r=Qc(new cst,i)||r,r=Qc(new vst,i)||r),e.sources=i,r}class ho{constructor(n){Object.defineProperty(this,"signal",{enumerable:!0,get:n})}static fromName(n,t){return new ho(()=>n(t))}}function xpe(e){Ji(e)?function Sst(e){const n=e.component.scales;for(const t of Oe(n)){const i=Fst(e,t);if(n[t].setWithExplicit("domains",i),Est(e,t),e.component.data.isFaceted){let o=e;for(;!al(o)&&o.parent;)o=o.parent;if("shared"===o.component.resolve.scale[t])for(const s of i.value)Fp(s)&&(s.data=eH+s.data.replace(eH,""))}}}(e):function wst(e){for(const t of e.children)xpe(t);const n=e.component.scales;for(const t of Oe(n)){let i,r=null;for(const o of e.children){const a=o.component.scales[t];if(a){i=void 0===i?a.getWithExplicit("domains"):wh(i,a.getWithExplicit("domains"),"domains","scale",rH);const s=a.get("selectionExtent");r&&s&&r.param!==s.param&&Ue(Dtt),r=s}}n[t].setWithExplicit("domains",i),r&&n[t].set("selectionExtent",r,!0)}}(e)}function Fst(e,n){const t=e.getScaleComponent(n).get("type"),{encoding:i}=e,r=function xst(e,n,t,i){if("unaggregated"===e){const{valid:r,reason:o}=Fpe(n,t);if(!r)return void Ue(o)}else if(void 0===e&&i.useUnaggregatedDomain){const{valid:r}=Fpe(n,t);if(r)return"unaggregated"}return e}(e.scaleDomain(n),e.typedFieldDef(n),t,e.config.scale);return r!==e.scaleDomain(n)&&(e.specifiedScales[n]={...e.specifiedScales[n],domain:r}),"x"===n&&Zr(i.x2)?Zr(i.x)?wh(Ih(t,r,e,"x"),Ih(t,r,e,"x2"),"domain","scale",rH):Ih(t,r,e,"x2"):"y"===n&&Zr(i.y2)?Zr(i.y)?wh(Ih(t,r,e,"y"),Ih(t,r,e,"y2"),"domain","scale",rH):Ih(t,r,e,"y2"):Ih(t,r,e,n)}function nH(e,n,t){const i=uo(t)?.unit;return"temporal"===n||i?function Dst(e,n,t){return e.map(i=>({signal:`{data: ${B5(i,{timeUnit:t,type:n})}}`}))}(e,n,i):[e]}function Ih(e,n,t,i){const{encoding:r,markDef:o,mark:a,config:s,stack:l}=t,c=Zr(r[i]),{type:u}=c,d=c.timeUnit,p=function Cot(e){const{marks:n,scales:t}=ude(e);return n===t?Qi.Main:"include-invalid-values"===t?Qi.PreFilterInvalid:Qi.PostFilterInvalid}({invalid:sd("invalid",o,s),isPath:bh(a)});if(function Qnt(e){return e?.unionWith}(n)){const g=Ih(e,void 0,t,i);return fd([...nH(n.unionWith,u,d),...g.value])}if(St(n))return fd([n]);if(n&&"unaggregated"!==n&&!Dce(n))return fd(nH(n,u,d));if(l&&i===l.fieldChannel){if("normalize"===l.offset)return ol([[0,1]]);const g=t.requestDataName(p);return ol([{data:g,field:t.vgField(i,{suffix:"start"})},{data:g,field:t.vgField(i,{suffix:"end"})}])}const f=ad(i)&&je(c)?function Ist(e,n,t){if(!po(t))return;const i=e.fieldDef(n),r=i.sort;if(qce(r))return{op:"min",field:b1(i,n),order:"ascending"};const{stack:o}=e,a=o?new Set([...o.groupbyFields,...o.stackBy.map(s=>s.fieldDef.field)]):void 0;if(Dp(r))return iH(r,o&&!a.has(r.field));if(function xit(e){return!!e?.encoding}(r)){const{encoding:s,order:l}=r,c=e.fieldDef(s),{aggregate:u,field:d}=c,p=o&&!a.has(d);if(xp(u)||_h(u))return iH({field:Xe(c),order:l},p);if(EN(u)||!u)return iH({op:u,field:d,order:l},p)}else{if("descending"===r)return{op:"min",field:e.vgField(n),order:"descending"};if(Fn(["ascending",void 0],r))return!0}}(t,i,e):void 0;if(dd(c))return ol(nH([c.datum],u,d));const h=c;if("unaggregated"===n){const{field:g}=c;return ol([{data:t.requestDataName(p),field:Xe({field:g,aggregate:"min"})},{data:t.requestDataName(p),field:Xe({field:g,aggregate:"max"})}])}if(Di(h.bin)){if(po(e))return ol("bin-ordinal"===e?[]:[{data:Nb(f)?t.requestDataName(p):t.requestDataName(Qi.Raw),field:t.vgField(i,Xb(h,i)?{binSuffix:"range"}:{}),sort:!0!==f&&Je(f)?f:{field:t.vgField(i,{}),op:"min"}}]);{const{bin:g}=h;if(Di(g)){const m=qO(t,h.field,g);return ol([new ho(()=>{const _=t.getSignalName(m);return`[${_}.start, ${_}.stop]`})])}return ol([{data:t.requestDataName(p),field:t.vgField(i,{})}])}}if(h.timeUnit&&Fn(["time","utc"],e)){const g=r[od(i)];if(Xce(h,g,o,s)){const m=t.requestDataName(p),_=Ah({fieldDef:h,fieldDef2:g,markDef:o,config:s}),v=Ub(a)&&.5!==_&&br(i);return ol([{data:m,field:t.vgField(i,v?{suffix:Z5}:{})},{data:m,field:t.vgField(i,{suffix:v?X5:"end"})}])}}return ol(f?[{data:Nb(f)?t.requestDataName(p):t.requestDataName(Qi.Raw),field:t.vgField(i),sort:f}]:[{data:t.requestDataName(p),field:t.vgField(i)}])}function iH(e,n){const{op:t,field:i,order:r}=e;return{op:t??(n?"sum":L5),...i?{field:Bl(i)}:{},...r?{order:r}:{}}}function Est(e,n){const t=e.component.scales[n],i=e.specifiedScales[n].domain,r=e.fieldDef(n)?.bin,o=Dce(i)&&i,a=Fm(r)&&v5(r.extent)&&r.extent;(o||a)&&t.set("selectionExtent",o??a,!0)}function Fpe(e,n){const{aggregate:t,type:i}=e;return t?it(t)&&!ftt.has(t)?{valid:!1,reason:ent(t)}:"quantitative"===i&&"log"===n?{valid:!1,reason:tnt(e)}:{valid:!0}:{valid:!1,reason:Jtt(e)}}function rH(e,n,t,i){return e.explicit&&n.explicit&&Ue(function ant(e,n,t,i){return`Conflicting ${n.toString()} property "${e.toString()}" (${hi(t)} and ${hi(i)}). Using the union of the two domains.`}(t,i,e.value,n.value)),{explicit:e.explicit,value:[...e.value,...n.value]}}function oH(e){if(Fp(e)&&it(e.field))return e.field;if(function htt(e){return!De(e)&&"fields"in e&&!("data"in e)}(e)){let n;for(const t of e.fields)if(Fp(t)&&it(t.field))if(n){if(n!==t.field)return Ue(cnt),n}else n=t.field;return Ue(unt),n}if(function gtt(e){return!De(e)&&"fields"in e&&"data"in e}(e)){Ue(dnt);const n=e.fields[0];return it(n)?n:void 0}}function lD(e,n){return function Rst(e){const n=td(e.map(a=>{if(Fp(a)){const{sort:s,...l}=a;return l}return a}),In),t=td(e.map(a=>{if(Fp(a)){const s=a.sort;return void 0!==s&&!Nb(s)&&("op"in s&&"count"===s.op&&delete s.field,"ascending"===s.order&&delete s.order),s}}).filter(a=>void 0!==a),In);if(0===n.length)return;if(1===n.length){const a=e[0];if(Fp(a)&&t.length>0){let s=t[0];if(t.length>1){Ue(ace);const l=t.filter(c=>Je(c)&&"op"in c&&"min"!==c.op);s=!t.every(c=>Je(c)&&"op"in c)||1!==l.length||l[0]}else Je(s)&&"field"in s&&a.field===s.field&&(s=!s.order||{order:s.order});return{...a,sort:s}}return a}const i=td(t.map(a=>Nb(a)||!("op"in a)||it(a.op)&&a.op in ctt?a:(Ue(function lnt(e){return`Dropping sort property ${hi(e)} as unioned domains only support boolean or op "count", "min", and "max".`}(a)),!0)),In);let r;1===i.length?r=i[0]:i.length>1&&(Ue(ace),r=!0);const o=td(e.map(a=>Fp(a)?a.data:null),a=>a);return 1===o.length&&null!==o[0]?{data:o[0],fields:n.map(s=>s.field),...r?{sort:r}:{}}:{fields:n,...r?{sort:r}:{}}}(e.component.scales[n].get("domains").map(r=>(Fp(r)&&(r.data=e.lookupDataSource(r.data)),r)))}function Dpe(e){return F1(e)||sH(e)?e.children.reduce((n,t)=>n.concat(Dpe(t)),Epe(e)):Epe(e)}function Epe(e){return Oe(e.component.scales).reduce((n,t)=>{const i=e.component.scales[t];if(i.merged)return n;const r=i.combine(),{name:o,type:a,selectionExtent:s,domains:l,range:c,reverse:u,...d}=r,p=function Lst(e,n,t,i){if(br(t)){if(Th(e))return{step:{signal:`${n}_step`}}}else if(Je(e)&&Fp(e))return{...e,data:i.lookupDataSource(e.data)};return e}(r.range,o,t,e),f=lD(e,t),h=s?function Fot(e,n,t,i){const r=jde(e,n.param,n);return{signal:Uc(t.get("type"))&&De(i)&&i[0]>i[1]?`isValid(${r}) && reverse(${r})`:r}}(e,s,i,f):null;return n.push({name:o,type:a,...f?{domain:f}:{},...h?{domainRaw:h}:{},range:p,...void 0!==u?{reverse:u}:{},...d}),n},[])}class Ipe extends Rp{constructor(n,t){super({},{name:n}),this.merged=!1,this.setWithExplicit("type",t)}domainHasZero(){const n=this.get("type");if(Fn([Mo.LOG,Mo.TIME,Mo.UTC],n))return"definitely-not";const t=this.get("zero");if(!0===t||void 0===t&&Fn([Mo.LINEAR,Mo.SQRT,Mo.POW],n))return"definitely";const i=this.get("domains");if(i.length>0){let r=!1,o=!1,a=!1;for(const s of i){if(De(s)){const l=s[0],c=s[s.length-1];if(Gn(l)&&Gn(c)){if(l<=0&&c>=0){r=!0;continue}o=!0;continue}}a=!0}if(r)return"definitely";if(o&&!a)return"definitely-not"}return"maybe"}}const Mst=["range","scheme"];function Rpe(e,n){const t=e.fieldDef(n);if(t?.bin){const{bin:i,field:r}=t,o=bs(n),a=e.getName(o);if(Je(i)&&i.binned&&void 0!==i.step)return new ho(()=>{const s=e.scaleName(n),l=`(domain("${s}")[1] - domain("${s}")[0]) / ${i.step}`;return`${e.getSignalName(a)} / (${l})`});if(Di(i)){const s=qO(e,r,i);return new ho(()=>{const l=e.getSignalName(s),c=`(${l}.stop - ${l}.start) / ${l}.step`;return`${e.getSignalName(a)} / (${c})`})}}}function Pst(e,n){const t=n.specifiedScales[e],{size:i}=n,o=n.getScaleComponent(e).get("type");for(const d of Mst)if(void 0!==t[d]){const p=qN(o,d),f=Ice(e,d);if(p)if(f)Ue(f);else switch(d){case"range":{const h=t.range;if(De(h)){if(br(e))return fd(h.map(g=>{if("width"===g||"height"===g){const m=n.getName(g),_=n.getSignalName.bind(n);return ho.fromName(_,m)}return g}))}else if(Je(h))return fd({data:n.requestDataName(Qi.Main),field:h.field,sort:{op:"min",field:n.vgField(e)}});return fd(h)}case"scheme":return fd(Nst(t[d]))}else Ue(rce(o,d,e))}const a=e===zi||"xOffset"===e?"width":"height",s=i[a];if(pd(s))if(br(e))if(po(o)){const d=Mpe(s,n,e);if(d)return fd({step:d})}else Ue(oce(a));else if(Vb(e)&&"band"===n.getScaleComponent(e===ph?"x":"y").get("type")){const h=kpe(s,o);if(h)return fd(h)}const{rangeMin:l,rangeMax:c}=t,u=function Ost(e,n){const{size:t,config:i,mark:r,encoding:o}=n,{type:a}=Zr(o[e]),l=n.getScaleComponent(e).get("type"),{domain:c,domainMid:u}=n.specifiedScales[e];switch(e){case zi:case co:if(Fn(["point","band"],l)){const d=Ppe(e,t,i.view);if(pd(d))return{step:Mpe(d,n,e)}}return Lpe(e,n,l);case ph:case r1:return function Hst(e,n,t){const i=e===ph?"x":"y",r=n.getScaleComponent(i);if(!r)return Lpe(i,n,t,{center:!0});const o=r.get("type"),a=n.scaleName(i),{markDef:s,config:l}=n;if("band"===o){const c=Ppe(i,n.size,n.config.view);if(pd(c)){const u=kpe(c,t);if(u)return u}return[0,{signal:`bandwidth('${a}')`}]}{const c=n.encoding[i];if(je(c)&&c.timeUnit){const u=_ce(c.timeUnit,h=>`scale('${a}', ${h})`),d=n.config.scale.bandWithNestedOffsetPaddingInner,p=Ah({fieldDef:c,markDef:s,config:l})-.5,f=0!==p?` + ${p}`:"";return d?[{signal:`${St(d)?`${d.signal}/2`+f:`${d/2+p}`} * (${u})`},{signal:`${St(d)?`(1 - ${d.signal}/2)`+f:`${1-d/2+p}`} * (${u})`}]:[0,{signal:u}]}return hle(`Cannot use ${e} scale if ${i} scale is not discrete.`)}}(e,n,l);case Ap:{const d=function Yst(e,n){switch(e){case"bar":case"tick":return n.scale.minBandSize;case"line":case"trail":case"rule":return n.scale.minStrokeWidth;case"text":return n.scale.minFontSize;case"point":case"square":case"circle":return n.scale.minSize}throw new Error(C5("size",e))}(r,i),p=function Vst(e,n,t,i){const r={x:Rpe(t,"x"),y:Rpe(t,"y")};switch(e){case"bar":case"tick":{if(void 0!==i.scale.maxBandSize)return i.scale.maxBandSize;const o=Ope(n,r,i.view);return Gn(o)?o-1:new ho(()=>`${o.signal} - 1`)}case"line":case"trail":case"rule":return i.scale.maxStrokeWidth;case"text":return i.scale.maxFontSize;case"point":case"square":case"circle":{if(i.scale.maxSize)return i.scale.maxSize;const o=Ope(n,r,i.view);return Gn(o)?Math.pow(Npe*o,2):new ho(()=>`pow(${Npe} * ${o.signal}, 2)`)}}throw new Error(C5("size",e))}(r,t,n,i);return c1(l)?function Bst(e,n,t){const i=()=>{const r=$c(n),o=$c(e),a=`(${r} - ${o}) / (${t} - 1)`;return`sequence(${o}, ${r} + ${a}, ${a})`};return St(n)?new ho(i):{signal:i()}}(d,p,function Gst(e,n,t,i){switch(e){case"quantile":return n.scale.quantileCount;case"quantize":return n.scale.quantizeCount;case"threshold":return void 0!==t&&De(t)?t.length+1:(Ue(function Tnt(e){return`Domain for ${e} is required for threshold scale.`}(i)),3)}}(l,i,c,e)):[d,p]}case Yl:return[0,2*Math.PI];case Sm:return[0,360];case Bc:return[0,new ho(()=>`min(${n.getSignalName(al(n.parent)?"child_width":"width")},${n.getSignalName(al(n.parent)?"child_height":"height")})/2`)];case gh:return[i.scale.minStrokeWidth,i.scale.maxStrokeWidth];case mh:return[[1,0],[4,2],[2,1],[1,1],[1,2,4,2]];case Cs:return"symbol";case Ts:case id:case rd:return"ordinal"===l?"nominal"===a?"category":"ordinal":void 0!==u?"diverging":"rect"===r||"geoshape"===r?"heatmap":"ramp";case Sp:case fh:case hh:return[i.scale.minOpacity,i.scale.maxOpacity]}}(e,n);return(void 0!==l||void 0!==c)&&qN(o,"rangeMin")&&De(u)&&2===u.length?fd([l??u[0],c??u[1]]):ol(u)}function Nst(e){return function Xnt(e){return!it(e)&&!!e.name}(e)?{scheme:e.name,...vs(e,["name"])}:{scheme:e}}function Lpe(e,n,t,{center:i}={}){const r=bs(e),o=n.getName(r),a=n.getSignalName.bind(n);return e===co&&Uc(t)?i?[ho.fromName(s=>`${a(s)}/2`,o),ho.fromName(s=>`-${a(s)}/2`,o)]:[ho.fromName(a,o),0]:i?[ho.fromName(s=>`-${a(s)}/2`,o),ho.fromName(s=>`${a(s)}/2`,o)]:[0,ho.fromName(a,o)]}function Mpe(e,n,t){const{encoding:i}=n,r=n.getScaleComponent(t),o=m5(t),a=i[o];if("offset"===kue({step:e,offsetIsDiscrete:ln(a)&&bce(a.type)})&&fue(i,o)){const l=n.getScaleComponent(o);let u=`domain('${n.scaleName(o)}').length`;"band"===l.get("type")&&(u=`bandspace(${u}, ${l.get("paddingInner")??l.get("padding")??0}, ${l.get("paddingOuter")??l.get("padding")??0})`);const d=r.get("paddingInner")??r.get("padding");return{signal:`${e.step} * ${u} / (1-${RN(d)})`}}return e.step}function kpe(e,n){if("offset"===kue({step:e,offsetIsDiscrete:po(n)}))return{step:e.step}}function Ppe(e,n,t){const i=e===zi?"width":"height";return n[i]||W5(t,i)}const Npe=.95;function Ope(e,n,t){const i=pd(e.width)?e.width.step:j5(t,"width"),r=pd(e.height)?e.height.step:j5(t,"height");return n.x||n.y?new ho(()=>`min(${[n.x?n.x.signal:i,n.y?n.y.signal:r].join(", ")})`):Math.min(i,r)}function Hpe(e,n){Ji(e)?function zst(e,n){const t=e.component.scales,{config:i,encoding:r,markDef:o,specifiedScales:a}=e;for(const s of Oe(t)){const l=a[s],c=t[s],u=e.getScaleComponent(s),d=Zr(r[s]),p=l[n],f=u.get("type"),h=u.get("padding"),g=u.get("paddingInner"),m=qN(f,n),_=Ice(s,n);if(void 0!==p&&(m?_&&Ue(_):Ue(rce(f,n,s))),m&&void 0===_)if(void 0!==p){const v=d.timeUnit,C=d.type;switch(n){case"domainMax":case"domainMin":Dm(l[n])||"temporal"===C||v?c.set(n,{signal:B5(l[n],{type:C,timeUnit:v})},!0):c.set(n,l[n],!0);break;default:c.copyKeyFromObject(n,l)}}else{const v=n in Gpe?Gpe[n]({model:e,channel:s,fieldOrDatumDef:d,scaleType:f,scalePadding:h,scalePaddingInner:g,domain:l.domain,domainMin:l.domainMin,domainMax:l.domainMax,markDef:o,config:i,hasNestedOffsetScale:hue(r,s),hasSecondaryRangeChannel:!!r[od(s)]}):i.scale[n];void 0!==v&&c.set(n,v,!1)}}}(e,n):Ype(e,n)}const Gpe={bins:({model:e,fieldOrDatumDef:n})=>je(n)?function $st(e,n){const t=n.bin;if(Di(t)){const i=qO(e,n.field,t);return new ho(()=>e.getSignalName(i))}if(Lo(t)&&Fm(t)&&void 0!==t.step)return{step:t.step}}(e,n):void 0,interpolate:({channel:e,fieldOrDatumDef:n})=>function Ust(e,n){if(Fn([Ts,id,rd],e)&&"nominal"!==n)return"hcl"}(e,n.type),nice:({scaleType:e,channel:n,domain:t,domainMin:i,domainMax:r,fieldOrDatumDef:o})=>function jst(e,n,t,i,r,o){if(!(Kc(o)?.bin||De(t)||null!=r||null!=i||Fn([Mo.TIME,Mo.UTC],e)))return!!br(n)||void 0}(e,n,t,i,r,o),padding:({channel:e,scaleType:n,fieldOrDatumDef:t,markDef:i,config:r})=>function Wst(e,n,t,i,r,o){if(br(e)){if(ud(n)){if(void 0!==t.continuousPadding)return t.continuousPadding;const{type:a,orient:s}=r;if("bar"===a&&(!je(i)||!i.bin&&!i.timeUnit)&&("vertical"===s&&"x"===e||"horizontal"===s&&"y"===e))return o.continuousBandSize}if(n===Mo.POINT)return t.pointPadding}}(e,n,r.scale,t,i,r.bar),paddingInner:({scalePadding:e,channel:n,markDef:t,scaleType:i,config:r,hasNestedOffsetScale:o})=>function qst(e,n,t,i,r,o=!1){if(void 0===e){if(br(n)){const{bandPaddingInner:a,barBandPaddingInner:s,rectBandPaddingInner:l,tickBandPaddingInner:c,bandWithNestedOffsetPaddingInner:u}=r;return o?u:Cr(a,"bar"===t?s:"tick"===t?c:l)}if(Vb(n)&&i===Mo.BAND)return r.offsetBandPaddingInner}}(e,n,t.type,i,r.scale,o),paddingOuter:({scalePadding:e,channel:n,scaleType:t,scalePaddingInner:i,config:r,hasNestedOffsetScale:o})=>function Kst(e,n,t,i,r,o=!1){if(void 0===e)if(br(n)){const{bandPaddingOuter:a,bandWithNestedOffsetPaddingOuter:s}=r;if(o)return s;if(t===Mo.BAND)return Cr(a,St(i)?{signal:`${i.signal}/2`}:i/2)}else if(Vb(n)){if(t===Mo.POINT)return.5;if(t===Mo.BAND)return r.offsetBandPaddingOuter}}(e,n,t,i,r.scale,o),reverse:({fieldOrDatumDef:e,scaleType:n,channel:t,config:i})=>function Zst(e,n,t,i){return"x"===t&&void 0!==i.xReverse?Uc(e)&&"descending"===n?St(i.xReverse)?{signal:`!${i.xReverse.signal}`}:!i.xReverse:i.xReverse:!(!Uc(e)||"descending"!==n)||void 0}(n,je(e)?e.sort:void 0,t,i.scale),zero:({channel:e,fieldOrDatumDef:n,domain:t,markDef:i,scaleType:r,config:o,hasSecondaryRangeChannel:a})=>function Xst(e,n,t,i,r,o,a){if(t&&"unaggregated"!==t&&Uc(r)){if(De(t)){const l=t[0],c=t[t.length-1];if(Gn(l)&&l<=0&&Gn(c)&&c>=0)return!0}return!1}if("size"===e&&"quantitative"===n.type&&!c1(r))return!0;if((!je(n)||!n.bin)&&Fn([...wp,...ttt],e)){const{orient:l,type:c}=i;return(!Fn(["bar","area","line","trail"],c)||!("horizontal"===l&&"y"===e||"vertical"===l&&"x"===e))&&(!(!Fn(["bar","area"],c)||a)||o?.zero)}return!1}(e,n,t,i,r,o.scale,a)};function Bpe(e){Ji(e)?function kst(e){const n=e.component.scales;for(const t of FN){const i=n[t];if(!i)continue;const r=Pst(t,e);i.setWithExplicit("range",r)}}(e):Ype(e,"range")}function Ype(e,n){const t=e.component.scales;for(const i of e.children)"range"===n?Bpe(i):Hpe(i,n);for(const i of Oe(t)){let r;for(const o of e.children){const a=o.component.scales[i];a&&(r=wh(r,a.getWithExplicit(n),n,"scale",ade((l,c)=>"range"===n&&l.step&&c.step?l.step-c.step:0)))}t[i].setWithExplicit(n,r)}}function Qst(e,n,t,i,r=!1){const o=function Jst(e,n,t,i){switch(n.type){case"nominal":case"ordinal":if(a1(e)||"discrete"===DN(e))return"shape"===e&&"ordinal"===n.type&&Ue(PN(e,"ordinal")),"ordinal";if(br(e)||Vb(e)){if(Fn(["rect","bar","image","rule","tick"],t.type)||i)return"band"}else if("arc"===t.type&&e in wN)return"band";return Mm(t[bs(e)])||d1(n)&&n.axis?.tickBand?"band":"point";case"temporal":return a1(e)?"time":"discrete"===DN(e)?(Ue(PN(e,"temporal")),"ordinal"):je(n)&&n.timeUnit&&uo(n.timeUnit).utc?"utc":"time";case"quantitative":return a1(e)?je(n)&&Di(n.bin)?"bin-ordinal":"linear":"discrete"===DN(e)?(Ue(PN(e,"quantitative")),"ordinal"):"linear";case"geojson":return}throw new Error(nce(n.type))}(n,t,i,r),{type:a}=e;return ad(n)?void 0!==a?function iit(e,n,t=!1){if(!ad(e))return!1;switch(e){case zi:case co:case ph:case r1:case Yl:case Bc:return!(!ud(n)&&"band"!==n)||"point"===n&&!t;case Ap:case gh:case Sp:case fh:case hh:case Sm:return ud(n)||c1(n)||Fn(["band","point","ordinal"],n);case Ts:case id:case rd:return"band"!==n;case mh:case Cs:return"ordinal"===n||c1(n)}}(n,a)?je(t)&&!function nit(e,n){return Fn([jN,WN],n)?void 0===e||po(e):n===s1?Fn([Mo.TIME,Mo.UTC,void 0],e):n!==Lm||xce(e)||c1(e)||void 0===e}(a,t.type)?(Ue(function rnt(e,n){return`FieldDef does not work with "${e}" scale. We are using "${n}" scale instead.`}(a,o)),o):a:(Ue(function int(e,n,t){return`Channel "${e}" does not work with "${n}" scale. We are using "${t}" scale instead.`}(n,a,o)),o):o:null}function Vpe(e){e.component.scales=Ji(e)?function tlt(e){const{encoding:n,mark:t,markDef:i}=e,r={};for(const o of FN){const a=Zr(n[o]);if(a&&t===Mce&&o===Cs&&a.type===l1)continue;let s=a&&a.scale;if(a&&null!==s&&!1!==s){s??(s={});const c=Qst(s,o,a,i,hue(n,o));r[o]=new Ipe(e.scaleName(`${o}`,!0),{value:c,explicit:s.type===c})}}return r}(e):function ilt(e){var n;const t=e.component.scales={},i={},r=e.component.resolve;for(const o of e.children){Vpe(o);for(const a of Oe(o.component.scales))if((n=r.scale)[a]??(n[a]=ape(a,e)),"shared"===r.scale[a]){const s=i[a],l=o.component.scales[a].getWithExplicit("type");s?jnt(s.value,l.value)?i[a]=wh(s,l,"type","scale",nlt):(r.scale[a]="independent",delete i[a]):i[a]=l}}for(const o of Oe(i)){const a=e.scaleName(o,!0);t[o]=new Ipe(a,i[o]);for(const l of e.children){const c=l.component.scales[o];c&&(l.renameScale(c.get("name"),a),c.merged=!0)}}return t}(e)}const nlt=ade((e,n)=>Ace(e)-Ace(n));class aH{constructor(){this.nameMap={}}rename(n,t){this.nameMap[n]=t}has(n){return void 0!==this.nameMap[n]}get(n){for(;this.nameMap[n]&&n!==this.nameMap[n];)n=this.nameMap[n];return n}}function Ji(e){return"unit"===e?.type}function al(e){return"facet"===e?.type}function sH(e){return"concat"===e?.type}function F1(e){return"layer"===e?.type}class lH{constructor(n,t,i,r,o,a,s){this.type=t,this.parent=i,this.config=o,this.correctDataNames=l=>(l.from?.data&&(l.from.data=this.lookupDataSource(l.from.data)),l.from?.facet?.data&&(l.from.facet.data=this.lookupDataSource(l.from.facet.data)),l),this.parent=i,this.config=o,this.view=aa(s),this.name=n.name??r,this.title=vh(n.title)?{text:n.title}:n.title?aa(n.title):void 0,this.scaleNameMap=i?i.scaleNameMap:new aH,this.projectionNameMap=i?i.projectionNameMap:new aH,this.signalNameMap=i?i.signalNameMap:new aH,this.data=n.data,this.description=n.description,this.transforms=function cot(e){return e.map(n=>xO(n)?{filter:Q_(n.filter,znt)}:n)}(n.transform??[]),this.layout="layer"===t||"unit"===t?{}:function frt(e,n,t){const i=t[n],r={},{spacing:o,columns:a}=i;void 0!==o&&(r.spacing=o),void 0!==a&&(M5(e)&&!qb(e.facet)||vO(e))&&(r.columns=a),U5(e)&&(r.columns=1);for(const s of prt)if(void 0!==e[s])if("spacing"===s){const l=e[s];r[s]=Gn(l)?l:{row:l.row??o,column:l.column??o}}else r[s]=e[s];return r}(n,t,o),this.component={data:{sources:i?i.component.data.sources:[],outputNodes:i?i.component.data.outputNodes:{},outputNodeRefCounts:i?i.component.data.outputNodeRefCounts:{},isFaceted:M5(n)||i?.component.data.isFaceted&&void 0===n.data},layoutSize:new Rp,layoutHeaders:{row:{},column:{},facet:{}},mark:null,resolve:{scale:{},axis:{},legend:{},...a?rn(a):{}},selection:null,scales:null,projection:null,axes:{},legends:{}}}get width(){return this.getSizeSignalRef("width")}get height(){return this.getSizeSignalRef("height")}parse(){this.parseScale(),this.parseLayoutSize(),this.renameTopLevelLayoutSizeSignal(),this.parseSelections(),this.parseProjection(),this.parseData(),this.parseAxesAndHeaders(),this.parseLegends(),this.parseMarkGroup()}parseScale(){!function elt(e,{ignoreRange:n}={}){Vpe(e),xpe(e);for(const t of tit)Hpe(e,t);n||Bpe(e)}(this)}parseProjection(){vpe(this)}renameTopLevelLayoutSizeSignal(){"width"!==this.getName("width")&&this.renameSignal(this.getName("width"),"width"),"height"!==this.getName("height")&&this.renameSignal(this.getName("height"),"height")}parseLegends(){hpe(this)}assembleEncodeFromView(n){const{style:t,...i}=n,r={};for(const o of Oe(i)){const a=i[o];void 0!==a&&(r[o]=Ei(a))}return r}assembleGroupEncodeEntry(n){let t={};return this.view&&(t=this.assembleEncodeFromView(this.view)),n||(this.description&&(t.description=Ei(this.description)),"unit"!==this.type&&"layer"!==this.type)?fi(t)?void 0:t:{width:this.getSizeSignalRef("width"),height:this.getSizeSignalRef("height"),...t}}assembleLayout(){if(!this.layout)return;const{spacing:n,...t}=this.layout,{component:i,config:r}=this,o=function Aat(e,n){const t={};for(const i of zl){const r=e[i];if(r?.facetFieldDef){const{titleAnchor:o,titleOrient:a}=oD(["titleAnchor","titleOrient"],r.facetFieldDef.header,n,i),s=rD(i,a),l=bat(o,s);void 0!==l&&(t[s]=l)}}return fi(t)?void 0:t}(i.layoutHeaders,r);return{padding:n,...this.assembleDefaultLayout(),...t,...o?{titleBand:o}:{}}}assembleDefaultLayout(){return{}}assembleHeaderMarks(){const{layoutHeaders:n}=this.component;let t=[];for(const i of zl)n[i].title&&t.push(yat(this,i));for(const i of VO)t=t.concat(_at(this,i));return t}assembleAxes(){return function rat(e,n){const{x:t=[],y:i=[]}=e;return[...t.map(r=>n2(r,"grid",n)),...i.map(r=>n2(r,"grid",n)),...t.map(r=>n2(r,"main",n)),...i.map(r=>n2(r,"main",n))].filter(r=>r)}(this.component.axes,this.config)}assembleLegends(){return mpe(this)}assembleProjections(){return function jat(e){return F1(e)||sH(e)?function Wat(e){return e.children.reduce((n,t)=>n.concat(t.assembleProjections()),ype(e))}(e):ype(e)}(this)}assembleTitle(){const{encoding:n,...t}=this.title??{},i={...Hle(this.config.title).nonMarkTitleProperties,...t,...n?{encode:{update:n}}:{}};if(i.text)return Fn(["unit","layer"],this.type)?Fn(["middle",void 0],i.anchor)&&(i.frame??(i.frame="group")):i.anchor??(i.anchor="start"),fi(i)?void 0:i}assembleGroup(n=[]){const t={};(n=n.concat(this.assembleSignals())).length>0&&(t.signals=n);const i=this.assembleLayout();i&&(t.layout=i),t.marks=[].concat(this.assembleHeaderMarks(),this.assembleMarks());const r=!this.parent||al(this.parent)?Dpe(this):[];r.length>0&&(t.scales=r);const o=this.assembleAxes();o.length>0&&(t.axes=o);const a=this.assembleLegends();return a.length>0&&(t.legends=a),t}getName(n){return Vi((this.name?`${this.name}_`:"")+n)}getDataName(n){return this.getName(Qi[n].toLowerCase())}requestDataName(n){const t=this.getDataName(n),i=this.component.data.outputNodeRefCounts;return i[t]=(i[t]||0)+1,t}getSizeSignalRef(n){if(al(this.parent)){const i=y5(rpe(n)),r=this.component.scales[i];if(r&&!r.merged){const o=r.get("type"),a=r.get("range");if(po(o)&&Th(a)){const s=r.get("name"),c=oH(lD(this,i));return c?{signal:ipe(s,r,Xe({aggregate:"distinct",field:c},{expr:"datum"}))}:(Ue(MN(i)),null)}}}return{signal:this.signalNameMap.get(this.getName(n))}}lookupDataSource(n){const t=this.component.data.outputNodes[n];return t?t.getSource():n}getSignalName(n){return this.signalNameMap.get(n)}renameSignal(n,t){this.signalNameMap.rename(n,t)}renameScale(n,t){this.scaleNameMap.rename(n,t)}renameProjection(n,t){this.projectionNameMap.rename(n,t)}scaleName(n,t){return t?this.getName(n):Ile(n)&&ad(n)&&this.component.scales[n]||this.scaleNameMap.has(this.getName(n))?this.scaleNameMap.get(this.getName(n)):void 0}projectionName(n){return n?this.getName("projection"):this.component.projection&&!this.component.projection.merged||this.projectionNameMap.has(this.getName("projection"))?this.projectionNameMap.get(this.getName("projection")):void 0}getScaleComponent(n){if(!this.component.scales)throw new Error("getScaleComponent cannot be called before parseScale(). Make sure you have called parseScale or use parseUnitModelWithScale().");const t=this.component.scales[n];return t&&!t.merged?t:this.parent?this.parent.getScaleComponent(n):void 0}getScaleType(n){const t=this.getScaleComponent(n);return t?t.get("type"):void 0}getSelectionComponent(n,t){let i=this.component.selection[n];if(!i&&this.parent&&(i=this.parent.getSelectionComponent(n,t)),!i)throw new Error(function btt(e){return`Cannot find a selection named "${e}".`}(t));return i}hasAxisOrientSignalRef(){return this.component.axes.x?.some(n=>n.hasOrientSignalRef())||this.component.axes.y?.some(n=>n.hasOrientSignalRef())}}class zpe extends lH{vgField(n,t={}){const i=this.fieldDef(n);if(i)return Xe(i,t)}reduceFieldDef(n,t){return function Uit(e,n,t,i){return e?Oe(e).reduce((r,o)=>{const a=e[o];return De(a)?a.reduce((s,l)=>n.call(i,s,l,o),r):n.call(i,r,a,o)},t):t}(this.getMapping(),(i,r,o)=>{const a=Kc(r);return a?n(i,a,o):i},t)}forEachFieldDef(n,t){lO(this.getMapping(),(i,r)=>{const o=Kc(i);o&&n(o,r)},t)}}class cD extends ci{clone(){return new cD(null,rn(this.transform))}constructor(n,t){super(n),this.transform=t,this.transform=rn(t);const i=this.transform.as??[void 0,void 0];this.transform.as=[i[0]??"value",i[1]??"density"],this.transform.resolve=this.transform.resolve??"shared"}dependentFields(){return new Set([this.transform.density,...this.transform.groupby??[]])}producedFields(){return new Set(this.transform.as)}hash(){return`DensityTransform ${In(this.transform)}`}assemble(){const{density:n,...t}=this.transform,i={type:"kde",field:n,...t};return i.resolve=this.transform.resolve,i}}class uD extends ci{clone(){return new uD(null,rn(this.transform))}constructor(n,t){super(n),this.transform=t,this.transform=rn(t)}dependentFields(){return new Set([this.transform.extent])}producedFields(){return new Set([])}hash(){return`ExtentTransform ${In(this.transform)}`}assemble(){const{extent:n,param:t}=this.transform;return{type:"extent",field:n,signal:t}}}class dD extends ci{clone(){return new dD(this.parent,rn(this.transform))}constructor(n,t){super(n),this.transform=t,this.transform=rn(t);const{flatten:i,as:r=[]}=this.transform;this.transform.as=i.map((o,a)=>r[a]??o)}dependentFields(){return new Set(this.transform.flatten)}producedFields(){return new Set(this.transform.as)}hash(){return`FlattenTransform ${In(this.transform)}`}assemble(){const{flatten:n,as:t}=this.transform;return{type:"flatten",fields:n,as:t}}}class pD extends ci{clone(){return new pD(null,rn(this.transform))}constructor(n,t){super(n),this.transform=t,this.transform=rn(t);const i=this.transform.as??[void 0,void 0];this.transform.as=[i[0]??"key",i[1]??"value"]}dependentFields(){return new Set(this.transform.fold)}producedFields(){return new Set(this.transform.as)}hash(){return`FoldTransform ${In(this.transform)}`}assemble(){const{fold:n,as:t}=this.transform;return{type:"fold",fields:n,as:t}}}class D1 extends ci{clone(){return new D1(null,rn(this.fields),this.geojson,this.signal)}static parseAll(n,t){if(t.component.projection&&!t.component.projection.isFit)return n;let i=0;for(const r of[[Vc,Yc],[Vl,zc]]){const o=r.map(a=>{const s=Zr(t.encoding[a]);return je(s)?s.field:dd(s)?{expr:`${s.datum}`}:qc(s)?{expr:`${s.value}`}:void 0});(o[0]||o[1])&&(n=new D1(n,o,null,t.getName("geojson_"+i++)))}if(t.channelHasField(Cs)){const r=t.typedFieldDef(Cs);r.type===l1&&(n=new D1(n,null,r.field,t.getName("geojson_"+i++)))}return n}constructor(n,t,i,r){super(n),this.fields=t,this.geojson=i,this.signal=r}dependentFields(){const n=(this.fields??[]).filter(it);return new Set([...this.geojson?[this.geojson]:[],...n])}producedFields(){return new Set}hash(){return`GeoJSON ${this.geojson} ${this.signal} ${In(this.fields)}`}assemble(){return[...this.geojson?[{type:"filter",expr:`isValid(datum["${this.geojson}"])`}]:[],{type:"geojson",...this.fields?{fields:this.fields}:{},...this.geojson?{geojson:this.geojson}:{},signal:this.signal}]}}class s2 extends ci{clone(){return new s2(null,this.projection,rn(this.fields),rn(this.as))}constructor(n,t,i,r){super(n),this.projection=t,this.fields=i,this.as=r}static parseAll(n,t){if(!t.projectionName())return n;for(const i of[[Vc,Yc],[Vl,zc]]){const r=i.map(a=>{const s=Zr(t.encoding[a]);return je(s)?s.field:dd(s)?{expr:`${s.datum}`}:qc(s)?{expr:`${s.value}`}:void 0}),o=i[0]===Vl?"2":"";(r[0]||r[1])&&(n=new s2(n,t.projectionName(),r,[t.getName(`x${o}`),t.getName(`y${o}`)]))}return n}dependentFields(){return new Set(this.fields.filter(it))}producedFields(){return new Set(this.as)}hash(){return`Geopoint ${this.projection} ${In(this.fields)} ${In(this.as)}`}assemble(){return{type:"geopoint",projection:this.projection,fields:this.fields,as:this.as}}}class $m extends ci{clone(){return new $m(null,rn(this.transform))}constructor(n,t){super(n),this.transform=t}dependentFields(){return new Set([this.transform.impute,this.transform.key,...this.transform.groupby??[]])}producedFields(){return new Set([this.transform.impute])}processSequence(n){const{start:t=0,stop:i,step:r}=n;return{signal:`sequence(${[t,i,...r?[r]:[]].join(",")})`}}static makeFromTransform(n,t){return new $m(n,t)}static makeFromEncoding(n,t){const i=t.encoding,r=i.x,o=i.y;if(je(r)&&je(o)){const a=r.impute?r:o.impute?o:void 0;if(void 0===a)return;const s=r.impute?o:o.impute?r:void 0,{method:l,value:c,frame:u,keyvals:d}=a.impute,p=yue(t.mark,i);return new $m(n,{impute:a.field,key:s.field,...l?{method:l}:{},...void 0!==c?{value:c}:{},...u?{frame:u}:{},...void 0!==d?{keyvals:d}:{},...p.length?{groupby:p}:{}})}return null}hash(){return`Impute ${In(this.transform)}`}assemble(){const{impute:n,key:t,keyvals:i,method:r,groupby:o,value:a,frame:s=[null,null]}=this.transform,l={type:"impute",field:n,key:t,...i?{keyvals:$rt(i)?this.processSequence(i):i}:{},method:"value",...o?{groupby:o}:{},value:r&&"value"!==r?null:a};return r&&"value"!==r?[l,{type:"window",as:[`imputed_${n}_value`],ops:[r],fields:[n],frame:s,ignorePeers:!1,...o?{groupby:o}:{}},{type:"formula",expr:`datum.${n} === null ? datum.imputed_${n}_value : datum.${n}`,as:n}]:[l]}}class fD extends ci{clone(){return new fD(null,rn(this.transform))}constructor(n,t){super(n),this.transform=t,this.transform=rn(t);const i=this.transform.as??[void 0,void 0];this.transform.as=[i[0]??t.on,i[1]??t.loess]}dependentFields(){return new Set([this.transform.loess,this.transform.on,...this.transform.groupby??[]])}producedFields(){return new Set(this.transform.as)}hash(){return`LoessTransform ${In(this.transform)}`}assemble(){const{loess:n,on:t,...i}=this.transform;return{type:"loess",x:t,y:n,...i}}}class l2 extends ci{clone(){return new l2(null,rn(this.transform),this.secondary)}constructor(n,t,i){super(n),this.transform=t,this.secondary=i}static make(n,t,i,r){const o=t.component.data.sources,{from:a}=i;let s=null;if(function Urt(e){return"data"in e}(a)){let l=Wpe(a.data,o);l||(l=new Ym(a.data),o.push(l));const c=t.getName(`lookup_${r}`);s=new As(l,c,Qi.Lookup,t.component.data.outputNodeRefCounts),t.component.data.outputNodes[c]=s}else if(function jrt(e){return"param"in e}(a)){const l=a.param;let c;i={as:l,...i};try{c=t.getSelectionComponent(Vi(l),l)}catch{throw new Error(function xtt(e){return`Lookups can only be performed on selection parameters. "${e}" is a variable parameter.`}(l))}if(s=c.materialized,!s)throw new Error(function Ftt(e){return`Cannot define and lookup the "${e}" selection in the same view. Try moving the lookup into a second, layered view?`}(l))}return new l2(n,i,s.getSource())}dependentFields(){return new Set([this.transform.lookup])}producedFields(){return new Set(this.transform.as?nt(this.transform.as):this.transform.from.fields)}hash(){return`Lookup ${In({transform:this.transform,secondary:this.secondary})}`}assemble(){let n;if(this.transform.from.fields)n={values:this.transform.from.fields,...this.transform.as?{as:nt(this.transform.as)}:{}};else{let t=this.transform.as;it(t)||(Ue('If "from.fields" is not specified, "as" has to be a string that specifies the key to be used for the data from the secondary source.'),t="_lookup"),n={as:[t]}}return{type:"lookup",from:this.secondary,key:this.transform.from.key,fields:[this.transform.lookup],...n,...this.transform.default?{default:this.transform.default}:{}}}}class hD extends ci{clone(){return new hD(null,rn(this.transform))}constructor(n,t){super(n),this.transform=t,this.transform=rn(t);const i=this.transform.as??[void 0,void 0];this.transform.as=[i[0]??"prob",i[1]??"value"]}dependentFields(){return new Set([this.transform.quantile,...this.transform.groupby??[]])}producedFields(){return new Set(this.transform.as)}hash(){return`QuantileTransform ${In(this.transform)}`}assemble(){const{quantile:n,...t}=this.transform;return{type:"quantile",field:n,...t}}}class gD extends ci{clone(){return new gD(null,rn(this.transform))}constructor(n,t){super(n),this.transform=t,this.transform=rn(t);const i=this.transform.as??[void 0,void 0];this.transform.as=[i[0]??t.on,i[1]??t.regression]}dependentFields(){return new Set([this.transform.regression,this.transform.on,...this.transform.groupby??[]])}producedFields(){return new Set(this.transform.as)}hash(){return`RegressionTransform ${In(this.transform)}`}assemble(){const{regression:n,on:t,...i}=this.transform;return{type:"regression",x:t,y:n,...i}}}class mD extends ci{clone(){return new mD(null,rn(this.transform))}constructor(n,t){super(n),this.transform=t}addDimensions(n){this.transform.groupby=td((this.transform.groupby??[]).concat(n),t=>t)}producedFields(){}dependentFields(){return new Set([this.transform.pivot,this.transform.value,...this.transform.groupby??[]])}hash(){return`PivotTransform ${In(this.transform)}`}assemble(){const{pivot:n,value:t,groupby:i,limit:r,op:o}=this.transform;return{type:"pivot",field:n,value:t,...void 0!==r?{limit:r}:{},...void 0!==o?{op:o}:{},...void 0!==i?{groupby:i}:{}}}}class yD extends ci{clone(){return new yD(null,rn(this.transform))}constructor(n,t){super(n),this.transform=t}dependentFields(){return new Set}producedFields(){return new Set}hash(){return`SampleTransform ${In(this.transform)}`}assemble(){return{type:"sample",size:this.transform.sample}}}function $pe(e){let n=0;return function t(i,r){if(i instanceof Ym&&!i.isGenerator&&!m1(i.data)&&(e.push(r),r={name:null,source:r.name,transform:[]}),i instanceof ca&&(i.parent instanceof Ym&&!r.source?(r.format={...r.format,parse:i.assembleFormatParse()},r.transform.push(...i.assembleTransforms(!0))):r.transform.push(...i.assembleTransforms())),i instanceof S1)return r.name||(r.name="data_"+n++),!r.source||r.transform.length>0?(e.push(r),i.data=r.name):i.data=r.source,void e.push(...i.assemble());switch((i instanceof r2||i instanceof o2||i instanceof w1||i instanceof T1||i instanceof C1||i instanceof s2||i instanceof Xc||i instanceof l2||i instanceof x1||i instanceof zm||i instanceof pD||i instanceof dD||i instanceof cD||i instanceof fD||i instanceof hD||i instanceof gD||i instanceof Eh||i instanceof yD||i instanceof mD||i instanceof uD)&&r.transform.push(i.assemble()),(i instanceof gd||i instanceof hd||i instanceof $m||i instanceof Mp||i instanceof D1)&&r.transform.push(...i.assemble()),i instanceof As&&(r.source&&0===r.transform.length?i.setSource(r.source):i.parent instanceof As?i.setSource(r.name):(r.name||(r.name="data_"+n++),i.setSource(r.name),1===i.numChildren()&&(e.push(r),r={name:null,source:r.name,transform:[]}))),i.numChildren()){case 0:i instanceof As&&(!r.source||r.transform.length>0)&&e.push(r);break;case 1:t(i.children[0],r);break;default:{r.name||(r.name="data_"+n++);let o=r.name;!r.source||r.transform.length>0?e.push(r):o=r.source;for(const a of i.children)t(a,{name:null,source:o,transform:[]});break}}}}function alt(e){return"top"===e||"left"===e||St(e)?"header":"footer"}function llt(e,n){const{facet:t,config:i,child:r,component:o}=e;if(e.channelHasField(n)){const a=t[n],s=A1("title",null,i,n);let l=p1(a,i,{allowDisabling:!0,includeDefault:void 0===s||!!s});r.component.layoutHeaders[n].title&&(l=De(l)?l.join(", "):l,l+=` / ${r.component.layoutHeaders[n].title}`,r.component.layoutHeaders[n].title=null);const c=A1("labelOrient",a.header,i,n),u=null!==a.header&&Cr(a.header?.labels,i.header.labels,!0),d=Fn(["bottom","right"],c)?"footer":"header";o.layoutHeaders[n]={title:null!==a.header?l:null,facetFieldDef:a,[d]:"facet"===n?[]:[Upe(e,n,u)]}}}function Upe(e,n,t){const i="row"===n?"height":"width";return{labels:t,sizeSignal:e.child.component.layoutSize.get(i)?e.child.getSizeSignalRef(i):void 0,axes:[]}}function jpe(e,n){const{child:t}=e;if(t.component.axes[n]){const{layoutHeaders:i,resolve:r}=e.component;if(r.axis[n]=jO(r,n),"shared"===r.axis[n]){const o="x"===n?"column":"row",a=i[o];for(const s of t.component.axes[n]){const l=alt(s.get("orient"));a[l]??(a[l]=[Upe(e,o,!1)]);const c=n2(s,"main",e.config,{header:!0});c&&a[l][0].axes.push(c),s.mainExtracted=!0}}}}function cH(e){for(const n of e.children)n.parseLayoutSize()}function _D(e,n){const t=rpe(n),i=y5(t),r=e.component.resolve,o=e.component.layoutSize;let a;for(const s of e.children){const l=s.component.layoutSize.getWithExplicit(t),c=r.scale[i]??ape(i,e);if("independent"===c&&"step"===l.value){a=void 0;break}if(a){if("independent"===c&&a.value!==l.value){a=void 0;break}a=wh(a,l,t,"")}else a=l}if(a){for(const s of e.children)e.renameSignal(s.getName(t),e.getName(n)),s.component.layoutSize.set(t,"merged",!1);o.setWithExplicit(n,a)}else o.setWithExplicit(n,{explicit:!1,value:void 0})}function plt(e,n){const i=e.config,r=e.getScaleComponent("width"===n?"x":"y");if(r){const o=r.get("type"),a=r.get("range");if(po(o)){const s=W5(i.view,n);return Th(a)||pd(s)?"step":s}return CO(i.view,n)}if(e.hasProjection||"arc"===e.mark)return CO(i.view,n);{const o=W5(i.view,n);return pd(o)?o.step:o}}function uH(e,n,t){return Xe(n,{suffix:`by_${Xe(e)}`,...t})}class c2 extends zpe{constructor(n,t,i,r){super(n,"facet",t,i,r,n.resolve),this.child=gH(n.spec,this,this.getName("child"),void 0,r),this.children=[this.child],this.facet=this.initFacet(n.facet)}initFacet(n){if(!qb(n))return{facet:this.initFacetFieldDef(n,"facet")};const t=Oe(n),i={};for(const r of t){if(![vp,Tp].includes(r)){Ue(C5(r,"facet"));break}const o=n[r];if(void 0===o.field){Ue(kN(o,r));break}i[r]=this.initFacetFieldDef(o,r)}return i}initFacetFieldDef(n,t){const i=sO(n,t);return i.header?i.header=aa(i.header):null===i.header&&(i.header=null),i}channelHasField(n){return!!this.facet[n]}fieldDef(n){return this.facet[n]}parseData(){this.component.data=vD(this),this.child.parseData()}parseLayoutSize(){cH(this)}parseSelections(){this.child.parseSelections(),this.component.selection=this.child.component.selection}parseMarkGroup(){this.child.parseMarkGroup()}parseAxesAndHeaders(){this.child.parseAxesAndHeaders(),function slt(e){for(const n of zl)llt(e,n);jpe(e,"x"),jpe(e,"y")}(this)}assembleSelectionTopLevelSignals(n){return this.child.assembleSelectionTopLevelSignals(n)}assembleSignals(){return this.child.assembleSignals(),[]}assembleSelectionData(n){return this.child.assembleSelectionData(n)}getHeaderLayoutMixins(){const n={};for(const t of zl)for(const i of zO){const r=this.component.layoutHeaders[t],o=r[i],{facetFieldDef:a}=r;if(a){const s=A1("titleOrient",a.header,this.config,t);if(["right","bottom"].includes(s)){const l=rD(t,s);n.titleAnchor??(n.titleAnchor={}),n.titleAnchor[l]="end"}}if(o?.[0]){const l="header"===i?"headerBand":"footerBand";"facet"!==t&&!this.child.component.layoutSize.get("row"===t?"height":"width")&&(n[l]??(n[l]={}),n[l][t]=.5),r.title&&(n.offset??(n.offset={}),n.offset["row"===t?"rowTitle":"columnTitle"]=10)}}return n}assembleDefaultLayout(){const{column:n,row:t}=this.facet,i=n?this.columnDistinctSignal():t?1:void 0;let r="all";return(!t&&"independent"===this.component.resolve.scale.x||!n&&"independent"===this.component.resolve.scale.y)&&(r="none"),{...this.getHeaderLayoutMixins(),...i?{columns:i}:{},bounds:"full",align:r}}assembleLayoutSignals(){return this.child.assembleLayoutSignals()}columnDistinctSignal(){if(!(this.parent&&this.parent instanceof c2))return{signal:`length(data('${this.getName("column_domain")}'))`}}assembleGroupStyle(){}assembleGroup(n){return this.parent&&this.parent instanceof c2?{...this.channelHasField("column")?{encode:{update:{columns:{field:Xe(this.facet.column,{prefix:"distinct"})}}}}:{},...super.assembleGroup(n)}:super.assembleGroup(n)}getCardinalityAggregateForChild(){const n=[],t=[],i=[];if(this.child instanceof c2){if(this.child.channelHasField("column")){const r=Xe(this.child.facet.column);n.push(r),t.push("distinct"),i.push(`distinct_${r}`)}}else for(const r of wp){const o=this.child.component.scales[r];if(o&&!o.merged){const a=o.get("type"),s=o.get("range");if(po(a)&&Th(s)){const c=oH(lD(this.child,r));c?(n.push(c),t.push("distinct"),i.push(`distinct_${c}`)):Ue(MN(r))}}}return{fields:n,ops:t,as:i}}assembleFacet(){const{name:n,data:t}=this.component.data.facetRoot,{row:i,column:r}=this.facet,{fields:o,ops:a,as:s}=this.getCardinalityAggregateForChild(),l=[];for(const u of zl){const d=this.facet[u];if(d){l.push(Xe(d));const{bin:p,sort:f}=d;if(Di(p)&&l.push(Xe(d,{binSuffix:"end"})),Dp(f)){const{field:h,op:g=L5}=f,m=uH(d,f);i&&r?(o.push(m),a.push("max"),s.push(m)):(o.push(h),a.push(g),s.push(m))}else if(De(f)){const h=b1(d,u);o.push(h),a.push("max"),s.push(h)}}}const c=!!i&&!!r;return{name:n,data:t,groupby:l,...c||o.length>0?{aggregate:{...c?{cross:c}:{},...o.length?{fields:o,ops:a,as:s}:{}}}:{}}}facetSortFields(n){const{facet:t}=this,i=t[n];return i?Dp(i.sort)?[uH(i,i.sort,{expr:"datum"})]:De(i.sort)?[b1(i,n,{expr:"datum"})]:[Xe(i,{expr:"datum"})]:[]}facetSortOrder(n){const{facet:t}=this,i=t[n];if(i){const{sort:r}=i;return[(Dp(r)?r.order:!De(r)&&r)||"ascending"]}return[]}assembleLabelTitle(){const{facet:n,config:t}=this;if(n.facet)return $O(n.facet,"facet",t);const i={row:["top","bottom"],column:["left","right"]};for(const r of VO)if(n[r]){const o=A1("labelOrient",n[r]?.header,t,r);if(i[r].includes(o))return $O(n[r],r,t)}}assembleMarks(){const{child:n}=this,i=function rlt(e){const n=[],t=$pe(n);for(const i of e.children)t(i,{source:e.name,name:null,transform:[]});return n}(this.component.data.facetRoot),r=n.assembleGroupEncodeEntry(!1),o=this.assembleLabelTitle()||n.assembleTitle(),a=n.assembleGroupStyle();return[{name:this.getName("cell"),type:"group",...o?{title:o}:{},...a?{style:a}:{},from:{facet:this.assembleFacet()},sort:{field:zl.map(l=>this.facetSortFields(l)).flat(),order:zl.map(l=>this.facetSortOrder(l)).flat()},...i.length>0?{data:i}:{},...r?{encode:{update:r}}:{},...n.assembleGroup(Aot(this,[]))}]}getMapping(){return this.facet}}function Wpe(e,n){for(const t of n){const i=t.data;if(e.name&&t.hasName()&&e.name!==t.dataName)continue;const r=e.format?.mesh,o=i.format?.feature;if(r&&o)continue;const a=e.format?.feature;if((a||o)&&a!==o)continue;const s=i.format?.mesh;if(!r&&!s||r===s)if(Jb(e)&&Jb(i)){if(il(e.values,i.values))return t}else if(m1(e)&&m1(i)){if(e.url===i.url)return t}else if(sde(e)&&e.name===t.dataName)return t}return null}function vD(e){let n=function hlt(e,n){if(e.data||!e.parent){if(null===e.data){const i=new Ym({values:[]});return n.push(i),i}const t=Wpe(e.data,n);if(t)return xh(e.data)||(t.data.format=gle({},e.data.format,t.data.format)),!t.hasName()&&e.data.name&&(t.dataName=e.data.name),t;{const i=new Ym(e.data);return n.push(i),i}}return e.parent.component.data.facetRoot?e.parent.component.data.facetRoot:e.parent.component.data.main}(e,e.component.data.sources);const{outputNodes:t,outputNodeRefCounts:i}=e.component.data,r=e.data,a=r&&(xh(r)||m1(r)||Jb(r))||!e.parent?new Tot:e.parent.component.data.ancestorParse.clone();xh(r)?(lde(r)?n=new o2(n,r.sequence):EO(r)&&(n=new r2(n,r.graticule)),a.parseNothing=!0):null===r?.format?.parse&&(a.parseNothing=!0),n=ca.makeExplicit(n,e,a)??n,n=new Eh(n);const s=e.parent&&F1(e.parent);(Ji(e)||al(e))&&s&&(n=gd.makeFromEncoding(n,e)??n),e.transforms.length>0&&(n=function glt(e,n,t){let i=0;for(const r of n.transforms){let o,a;if(not(r))a=e=new C1(e,r),o="derived";else if(xO(r)){const s=ost(r);a=e=ca.makeWithAncestors(e,{},s,t)??e,e=new T1(e,n,r.filter)}else if(Jue(r))a=e=gd.makeFromTransform(e,r,n),o="number";else if(rot(r))o="date",void 0===t.getWithExplicit(r.field).value&&(e=new ca(e,{[r.field]:o}),t.set(r.field,o,!1)),a=e=hd.makeFromTransform(e,r);else if(oot(r))a=e=Xc.makeFromTransform(e,r),o="number",OO(n)&&(e=new Eh(e));else if(Que(r))a=e=l2.make(e,n,r,i++),o="derived";else if(Jrt(r))a=e=new x1(e,r),o="number";else if(eot(r))a=e=new zm(e,r),o="number";else if(aot(r))a=e=Mp.makeFromTransform(e,r),o="derived";else if(sot(r))a=e=new pD(e,r),o="derived";else if(lot(r))a=e=new uD(e,r),o="derived";else if(tot(r))a=e=new dD(e,r),o="derived";else if(Wrt(r))a=e=new mD(e,r),o="derived";else if(Qrt(r))e=new yD(e,r);else if(iot(r))a=e=$m.makeFromTransform(e,r),o="derived";else if(qrt(r))a=e=new cD(e,r),o="derived";else if(Krt(r))a=e=new hD(e,r),o="derived";else if(Zrt(r))a=e=new gD(e,r),o="derived";else{if(!Xrt(r)){Ue(ktt(r));continue}a=e=new fD(e,r),o="derived"}if(a&&void 0!==o)for(const s of a.producedFields()??[])t.set(s,o,!1)}return e}(n,e,a));const l=function sst(e){const n={};if(Ji(e)&&e.component.selection)for(const t of Oe(e.component.selection)){const i=e.component.selection[t];for(const r of i.project.items)!r.channel&&n1(r.field)>1&&(n[r.field]="flatten")}return n}(e),c=function ast(e){const n={};function t(i){h1(i)?n[i.field]="date":"quantitative"===i.type&&function dtt(e){return it(e)&&Fn(["min","max"],e)}(i.aggregate)?n[i.field]="number":n1(i.field)>1?i.field in n||(n[i.field]="flatten"):Nm(i)&&Dp(i.sort)&&n1(i.sort.field)>1&&(i.sort.field in n||(n[i.sort.field]="flatten"))}if((Ji(e)||al(e))&&e.forEachFieldDef((i,r)=>{if(za(i))t(i);else{const o=xm(r),a=e.fieldDef(o);t({...i,type:a.type})}}),Ji(e)){const{mark:i,markDef:r,encoding:o}=e;if(bh(i)&&!e.encoding.order){const s=o["horizontal"===r.orient?"y":"x"];je(s)&&"quantitative"===s.type&&!(s.field in n)&&(n[s.field]="number")}}return n}(e);n=ca.makeWithAncestors(n,{},{...l,...c},a)??n,Ji(e)&&(n=D1.parseAll(n,e),n=s2.parseAll(n,e)),(Ji(e)||al(e))&&(s||(n=gd.makeFromEncoding(n,e)??n),n=hd.makeFromEncoding(n,e)??n,n=C1.parseAllForSortIndex(n,e));const u=n=TD(Qi.Raw,e,n);if(Ji(e)){const m=Xc.makeFromEncoding(n,e);m&&(n=m,OO(e)&&(n=new Eh(n))),n=$m.makeFromEncoding(n,e)??n,n=Mp.makeFromEncoding(n,e)??n}let d,p;if(Ji(e)){const{markDef:m,mark:_,config:v}=e,C=li("invalid",m,v),{marks:A,scales:S}=p=ude({invalid:C,isPath:bh(_)});A!==S&&"include-invalid-values"===S&&(d=n=TD(Qi.PreFilterInvalid,e,n)),"exclude-invalid-values"===A&&(n=w1.make(n,e,p)??n)}const f=n=TD(Qi.Main,e,n);let h;if(Ji(e)&&p){const{marks:m,scales:_}=p;"include-invalid-values"===m&&"exclude-invalid-values"===_&&(n=w1.make(n,e,p)??n,h=n=TD(Qi.PostFilterInvalid,e,n))}Ji(e)&&function nat(e,n){for(const[t,i]of dh(e.component.selection??{})){const r=e.getName(`lookup_${t}`);e.component.data.outputNodes[r]=i.materialized=new As(new T1(n,e,{param:t}),r,Qi.Lookup,e.component.data.outputNodeRefCounts)}}(e,f);let g=null;if(al(e)){const m=e.getName("facet");n=function flt(e,n){const{row:t,column:i}=n;if(t&&i){let r=null;for(const o of[t,i])if(Dp(o.sort)){const{field:a,op:s=L5}=o.sort;e=r=new zm(e,{joinaggregate:[{op:s,field:a,as:uH(o,o.sort,{forAs:!0})}],groupby:[Xe(o)]})}return r}return null}(n,e.facet)??n,g=new S1(n,e,m,f.getSource()),t[m]=g}return{...e.component.data,outputNodes:t,outputNodeRefCounts:i,raw:u,main:f,facetRoot:g,ancestorParse:a,preFilterInvalid:d,postFilterInvalid:h}}function TD(e,n,t){const{outputNodes:i,outputNodeRefCounts:r}=n.component.data,o=n.getDataName(e),a=new As(t,o,e,r);return i[o]=a,a}class mlt extends lH{constructor(n,t,i,r){super(n,"concat",t,i,r,n.resolve),("shared"===n.resolve?.axis?.x||"shared"===n.resolve?.axis?.y)&&Ue("Axes cannot be shared in concatenated or repeated views yet (https://github.com/vega/vega-lite/issues/2415)."),this.children=this.getChildren(n).map((o,a)=>gH(o,this,this.getName(`concat_${a}`),void 0,r))}parseData(){this.component.data=vD(this);for(const n of this.children)n.parseData()}parseSelections(){this.component.selection={};for(const n of this.children){n.parseSelections();for(const t of Oe(n.component.selection))this.component.selection[t]=n.component.selection[t]}}parseMarkGroup(){for(const n of this.children)n.parseMarkGroup()}parseAxesAndHeaders(){for(const n of this.children)n.parseAxesAndHeaders()}getChildren(n){return U5(n)?n.vconcat:TO(n)?n.hconcat:n.concat}parseLayoutSize(){!function ult(e){cH(e);const t=void 0===e.layout.columns?"height":"childHeight";_D(e,1===e.layout.columns?"width":"childWidth"),_D(e,t)}(this)}parseAxisGroup(){return null}assembleSelectionTopLevelSignals(n){return this.children.reduce((t,i)=>i.assembleSelectionTopLevelSignals(t),n)}assembleSignals(){return this.children.forEach(n=>n.assembleSignals()),[]}assembleLayoutSignals(){const n=UO(this);for(const t of this.children)n.push(...t.assembleLayoutSignals());return n}assembleSelectionData(n){return this.children.reduce((t,i)=>i.assembleSelectionData(t),n)}assembleMarks(){return this.children.map(n=>{const t=n.assembleTitle(),i=n.assembleGroupStyle(),r=n.assembleGroupEncodeEntry(!1);return{type:"group",name:n.getName("group"),...t?{title:t}:{},...i?{style:i}:{},...r?{encode:{update:r}}:{},...n.assembleGroup()}})}assembleGroupStyle(){}assembleDefaultLayout(){const n=this.layout.columns;return{...null!=n?{columns:n}:{},bounds:"full",align:"each"}}}const _lt={disable:1,gridScale:1,scale:1,...cue,labelExpr:1,encode:1},qpe=Oe(_lt);class dH extends Rp{constructor(n={},t={},i=!1){super(),this.explicit=n,this.implicit=t,this.mainExtracted=i}clone(){return new dH(rn(this.explicit),rn(this.implicit),this.mainExtracted)}hasAxisPart(n){return"axis"===n||("grid"===n||"title"===n?!!this.get(n):!function ylt(e){return!1===e||null===e}(this.get(n)))}hasOrientSignalRef(){return St(this.explicit.orient)}}const Clt={bottom:"top",top:"bottom",left:"right",right:"left"};function Alt(e,n){if(!e)return n.map(t=>t.clone());{if(e.length!==n.length)return;const t=e.length;for(let i=0;i{switch(t){case"title":return Wle(r,o);case"gridScale":return{explicit:r.explicit,value:Cr(r.value,o.value)}}return K5(r,o,t,"axis")});e.setWithExplicit(t,i)}return e}function wlt(e,n,t,i,r){if("disable"===n)return void 0!==t;switch(t=t||{},n){case"titleAngle":case"labelAngle":return e===(St(t.labelAngle)?t.labelAngle:Gb(t.labelAngle));case"values":return!!t.values;case"encode":return!!t.encoding||!!t.labelAngle;case"title":if(e===Qde(i,r))return!0}return e===t[n]}const xlt=new Set(["grid","translate","format","formatType","orient","labelExpr","tickCount","position","tickMinStep"]);function Flt(e,n){let t=n.axis(e);const i=new dH,r=Zr(n.encoding[e]),{mark:o,config:a}=n,s=t?.orient||a["x"===e?"axisX":"axisY"]?.orient||a.axis?.orient||function pat(e){return"x"===e?"bottom":"left"}(e),l=n.getScaleComponent(e).get("type"),c=function oat(e,n,t,i){const r="band"===n?["axisDiscrete","axisBand"]:"point"===n?["axisDiscrete","axisPoint"]:xce(n)?["axisQuantitative"]:"time"===n||"utc"===n?["axisTemporal"]:[],o="x"===e?"axisX":"axisY",a=St(t)?"axisOrient":`axis${Hb(t)}`,s=[...r,...r.map(c=>o+c.substr(4))],l=["axis",a,o];return{vlOnlyAxisConfig:qde(s,i,e,t),vgAxisConfig:qde(l,i,e,t),axisConfigStyle:aat([...l,...s],i)}}(e,l,s,n.config),u=void 0!==t?!t:BO("disable",a.style,t?.style,c).configValue;if(i.set("disable",u,void 0!==t),u)return i;t=t||{};const d=function cat(e,n,t,i,r){const o=n?.labelAngle;if(void 0!==o)return St(o)?o:Gb(o);{const{configValue:a}=BO("labelAngle",i,n?.style,r);return void 0!==a?Gb(a):t!==zi||!Fn([WN,jN],e.type)||je(e)&&e.timeUnit?void 0:270}}(r,t,e,a.style,c),p=$ce(t.formatType,r,l),f=zce(r,r.type,t.format,t.formatType,a,!0),h={fieldOrDatumDef:r,axis:t,channel:e,model:n,scaleType:l,orient:s,labelAngle:d,format:f,formatType:p,mark:o,config:a};for(const _ of qpe){const v=_ in Kde?Kde[_](h):due(_)?t[_]:void 0,C=void 0!==v,A=wlt(v,_,t,n,e);if(C&&A)i.set(_,v,A);else{const{configValue:S,configFrom:I}=due(_)&&"values"!==_?BO(_,a.style,t.style,c):{},w=void 0!==S;C&&!w?i.set(_,v,A):("vgAxisConfig"!==I||xlt.has(_)&&w||Qb(S)||St(S))&&i.set(_,S,!1)}}const g=t.encoding??{},m=lue.reduce((_,v)=>{if(!i.hasAxisPart(v))return _;const C=ope(g[v]??{},n),A="labels"===v?function vlt(e,n,t){const{encoding:i,config:r}=e,o=Zr(i[n])??Zr(i[od(n)]),a=e.axis(n)||{},{format:s,formatType:l}=a;if(Pm(l))return{text:Wc({fieldOrDatumDef:o,field:"datum.value",format:s,formatType:l,config:r}),...t};if(void 0===s&&void 0===l&&r.customFormatTypes){if("quantitative"===u1(o)){if(d1(o)&&"normalize"===o.stack&&r.normalizedNumberFormatType)return{text:Wc({fieldOrDatumDef:o,field:"datum.value",format:r.normalizedNumberFormat,formatType:r.normalizedNumberFormatType,config:r}),...t};if(r.numberFormatType)return{text:Wc({fieldOrDatumDef:o,field:"datum.value",format:r.numberFormat,formatType:r.numberFormatType,config:r}),...t}}if("temporal"===u1(o)&&r.timeFormatType&&je(o)&&!o.timeUnit)return{text:Wc({fieldOrDatumDef:o,field:"datum.value",format:r.timeFormat,formatType:r.timeFormatType,config:r}),...t}}return t}(n,e,C):C;return void 0!==A&&!fi(A)&&(_[v]={update:A}),_},{});return fi(m)||i.set("encode",m,!!t.encoding||void 0!==t.labelAngle),i}const Elt={vgMark:"arc",encodeEntry:e=>({...$l(e,{align:"ignore",baseline:"ignore",color:"include",size:"ignore",orient:"ignore",theta:"ignore"}),...la("x",e,{defaultPos:"mid"}),...la("y",e,{defaultPos:"mid"}),...Fh(e,"radius"),...Fh(e,"theta")})},Ilt={vgMark:"area",encodeEntry:e=>({...$l(e,{align:"ignore",baseline:"ignore",color:"include",orient:"include",size:"ignore",theta:"ignore"}),...J5("x",e,{defaultPos:"zeroOrMin",defaultPos2:"zeroOrMin",range:"horizontal"===e.markDef.orient}),...J5("y",e,{defaultPos:"zeroOrMin",defaultPos2:"zeroOrMin",range:"vertical"===e.markDef.orient}),...PO(e)})},Rlt={vgMark:"rect",encodeEntry:e=>({...$l(e,{align:"ignore",baseline:"ignore",color:"include",orient:"ignore",size:"ignore",theta:"ignore"}),...Fh(e,"x"),...Fh(e,"y")})},Llt={vgMark:"shape",encodeEntry:e=>({...$l(e,{align:"ignore",baseline:"ignore",color:"include",size:"ignore",orient:"ignore",theta:"ignore"})}),postEncodingTransform:e=>{const{encoding:n}=e,t=n.shape;return[{type:"geoshape",projection:e.projectionName(),...t&&je(t)&&t.type===l1?{field:Xe(t,{expr:"datum"})}:{}}]}},Mlt={vgMark:"image",encodeEntry:e=>({...$l(e,{align:"ignore",baseline:"ignore",color:"ignore",orient:"ignore",size:"ignore",theta:"ignore"}),...Fh(e,"x"),...Fh(e,"y"),...MO(e,"url")})},klt={vgMark:"line",encodeEntry:e=>({...$l(e,{align:"ignore",baseline:"ignore",color:"include",size:"ignore",orient:"ignore",theta:"ignore"}),...la("x",e,{defaultPos:"mid"}),...la("y",e,{defaultPos:"mid"}),...fo("size",e,{vgChannel:"strokeWidth"}),...PO(e)})},Plt={vgMark:"trail",encodeEntry:e=>({...$l(e,{align:"ignore",baseline:"ignore",color:"include",size:"include",orient:"ignore",theta:"ignore"}),...la("x",e,{defaultPos:"mid"}),...la("y",e,{defaultPos:"mid"}),...fo("size",e),...PO(e)})};function pH(e,n){const{config:t}=e;return{...$l(e,{align:"ignore",baseline:"ignore",color:"include",size:"include",orient:"ignore",theta:"ignore"}),...la("x",e,{defaultPos:"mid"}),...la("y",e,{defaultPos:"mid"}),...fo("size",e),...fo("angle",e),...Nlt(e,0,n)}}function Nlt(e,n,t){return t?{shape:{value:t}}:fo("shape",e)}const Olt={vgMark:"symbol",encodeEntry:e=>pH(e)},Hlt={vgMark:"symbol",encodeEntry:e=>pH(e,"circle")},Glt={vgMark:"symbol",encodeEntry:e=>pH(e,"square")},Blt={vgMark:"rect",encodeEntry:e=>({...$l(e,{align:"ignore",baseline:"ignore",color:"include",orient:"ignore",size:"ignore",theta:"ignore"}),...Fh(e,"x"),...Fh(e,"y")})},Ylt={vgMark:"rule",encodeEntry:e=>{const{markDef:n}=e,t=n.orient;return e.encoding.x||e.encoding.y||e.encoding.latitude||e.encoding.longitude?{...$l(e,{align:"ignore",baseline:"ignore",color:"include",orient:"ignore",size:"ignore",theta:"ignore"}),...J5("x",e,{defaultPos:"horizontal"===t?"zeroOrMax":"mid",defaultPos2:"zeroOrMin",range:"vertical"!==t}),...J5("y",e,{defaultPos:"vertical"===t?"zeroOrMax":"mid",defaultPos2:"zeroOrMin",range:"horizontal"!==t}),...fo("size",e,{vgChannel:"strokeWidth"})}:{}}},Vlt={vgMark:"text",encodeEntry:e=>{const{config:n,encoding:t}=e;return{...$l(e,{align:"include",baseline:"include",color:"include",size:"ignore",orient:"ignore",theta:"include"}),...la("x",e,{defaultPos:"mid"}),...la("y",e,{defaultPos:"mid"}),...MO(e),...fo("size",e,{vgChannel:"fontSize"}),...fo("angle",e),...Ide("align",zlt(e.markDef,0,n)),...Ide("baseline",$lt(e.markDef,0,n)),...la("radius",e,{defaultPos:null}),...la("theta",e,{defaultPos:null})}}};function zlt(e,n,t){if(void 0===li("align",e,t))return"center"}function $lt(e,n,t){if(void 0===li("baseline",e,t))return"middle"}const Ult={vgMark:"rect",encodeEntry:e=>{const{config:n,markDef:t}=e,i=t.orient,r="horizontal"===i?"width":"height",o="horizontal"===i?"height":"width";return{...$l(e,{align:"ignore",baseline:"ignore",color:"include",orient:"ignore",size:"ignore",theta:"ignore"}),...la("x",e,{defaultPos:"mid",vgChannel:"xc"}),...la("y",e,{defaultPos:"mid",vgChannel:"yc"}),...fo("size",e,{defaultRef:jlt(e),vgChannel:r}),[o]:Ei(li("thickness",t,n))}}};function jlt(e){const{config:n,markDef:t}=e,{orient:i}=t,r="horizontal"===i?"width":"height",o="horizontal"===i?"x":"y",a=m5(o),s=e.getScaleComponent(a)||e.getScaleComponent(o),l=e.scaleName(a)||e.scaleName(o),c=li("size",t,n,{vgChannel:r})??n.tick.bandSize;if(void 0!==c)return Ei(c);if("band"===s?.get("type"))return{scale:l,band:1};const u=s?.get("range"),{tickBandPaddingInner:d}=n.scale,p=u&&Th(u)?u.step:j5(n.view,r);return Gn(p)&&Gn(d)?{value:p*(1-d)}:{signal:`${RN(d)} * ${RN(p)}`}}const CD={arc:Elt,area:Ilt,bar:Rlt,circle:Hlt,geoshape:Llt,image:Mlt,line:klt,point:Olt,rect:Blt,rule:Ylt,square:Glt,text:Vlt,tick:Ult,trail:Plt};const Kpe="faceted_path_",Zpe="stack_group_";function fH(e,n={fromPrefix:""}){const{mark:t,markDef:i,encoding:r,config:o}=e,a=Cr(i.clip,function Xlt(e){const n=e.getScaleComponent("x"),t=e.getScaleComponent("y");return!(!n?.get("selectionExtent")&&!t?.get("selectionExtent"))||void 0}(e),function Qlt(e){const n=e.component.projection;return!(!n||n.isFit)||void 0}(e)),s=Vle(i),l=r.key,c=function Zlt(e){const{encoding:n,stack:t,mark:i,markDef:r,config:o}=e,a=n.order;if(!(!De(a)&&qc(a)&&hN(a.value)||!a&&hN(li("order",r,o)))){if((De(a)||je(a))&&!t)return $le(a,{expr:"datum"});if(bh(i)){const s="horizontal"===r.orient?"y":"x";if(je(n[s]))return{field:s}}}}(e),u=function Jlt(e){if(!e.component.selection)return null;const n=Oe(e.component.selection).length;let t=n,i=e.parent;for(;i&&0===t;)t=Oe(i.component.selection).length,i=i.parent;return t?{interactive:n>0||"geoshape"===e.mark||!!e.encoding.tooltip||!!e.markDef.tooltip}:null}(e),d=li("aria",i,o),p=CD[t].postEncodingTransform?CD[t].postEncodingTransform(e):null;return[{name:e.getName("marks"),type:CD[t].vgMark,...a?{clip:a}:{},...s?{style:s}:{},...l?{key:l.field}:{},...c?{sort:c}:{},...u||{},...!1===d?{aria:d}:{},from:{data:n.fromPrefix+e.requestDataName(Qi.Main)},encode:{update:CD[t].encodeEntry(e)},...p?{transform:p}:{}}]}class Xpe extends zpe{constructor(n,t,i,r={},o){super(n,"unit",t,i,o,void 0,Pue(n)?n.view:void 0),this.specifiedScales={},this.specifiedAxes={},this.specifiedLegends={},this.specifiedProjection={},this.selection=[],this.children=[];const a=jc(n.mark)?{...n.mark}:{type:n.mark},s=a.type;void 0===a.filled&&(a.filled=function Nrt(e,n,{graticule:t}){if(t)return!1;const i=sd("filled",e,n),r=e.type;return Cr(i,r!==E5&&r!==D5&&r!==I5)}(a,o,{graticule:n.data&&EO(n.data)}));const l=this.encoding=function zit(e,n,t,i){const r={};for(const o of Oe(e))Ile(o)||Ue($tt(o));for(let o of Jet){if(!e[o])continue;const a=e[o];if(Vb(o)){const s=Qet(o),l=r[s];if(je(l)&&$nt(l.type)&&je(a)&&!l.timeUnit){Ue(Htt(s));continue}}if("angle"===o&&"arc"===n&&!e.theta&&(Ue("Arc marks uses theta channel rather than angle, replacing angle with theta."),o=Yl),Vit(e,o,n))if(o===Ap&&"line"===n&&Kc(e[o])?.aggregate)Ue("Line marks cannot encode size with a non-groupby field. You may want to use trail marks instead.");else if(o===Ts&&(t?"fill"in e:"stroke"in e))Ue(ice("encoding",{fill:"fill"in e,stroke:"stroke"in e}));else if(o===Yb||o===o1&&!De(a)&&!qc(a)||o===wm&&De(a)){if(a){if(o===o1){const s=e[o];if(Qce(s)){r[o]=s;continue}}r[o]=nt(a).reduce((s,l)=>(je(l)?s.push(sO(l,o)):Ue(kN(l,o)),s),[])}}else{if(o===wm&&null===a)r[o]=null;else if(!(je(a)||dd(a)||qc(a)||Kb(a)||St(a))){Ue(kN(a,o));continue}r[o]=oue(a,o,i)}else Ue(C5(o,n))}return r}(n.encoding||{},s,a.filled,o);this.markDef=$ue(a,l,o),this.size=function Dlt({encoding:e,size:n}){for(const t of wp){const i=bs(t);pd(n[i])&&Sh(e[t])&&(delete n[i],Ue(oce(i)))}return n}({encoding:l,size:Pue(n)?{...r,...n.width?{width:n.width}:{},...n.height?{height:n.height}:{}}:r}),this.stack=zue(this.markDef,l),this.specifiedScales=this.initScales(s,l),this.specifiedAxes=this.initAxes(l),this.specifiedLegends=this.initLegends(l),this.specifiedProjection=n.projection,this.selection=(n.params??[]).filter(c=>_O(c))}get hasProjection(){const{encoding:n}=this,t=this.mark===Mce,i=n&&qet.some(r=>ln(n[r]));return t||i}scaleDomain(n){const t=this.specifiedScales[n];return t?t.domain:void 0}axis(n){return this.specifiedAxes[n]}legend(n){return this.specifiedLegends[n]}initScales(n,t){return FN.reduce((i,r)=>{const o=Zr(t[r]);return o&&(i[r]=this.initScale(o.scale??{})),i},{})}initScale(n){const{domain:t,range:i}=n,r=aa(n);return De(t)&&(r.domain=t.map(rl)),De(i)&&(r.range=i.map(rl)),r}initAxes(n){return wp.reduce((t,i)=>{const r=n[i];if(ln(r)||i===zi&&ln(n.x2)||i===co&&ln(n.y2)){const o=ln(r)?r.axis:void 0;t[i]=o&&this.initAxis({...o})}return t},{})}initAxis(n){const t=Oe(n),i={};for(const r of t){const o=n[r];i[r]=Qb(o)?Gle(o):rl(o)}return i}initLegends(n){return ntt.reduce((t,i)=>{const r=Zr(n[i]);if(r&&function rtt(e){switch(e){case Ts:case id:case rd:case Ap:case Cs:case Sp:case gh:case mh:return!0;case fh:case hh:case Sm:return!1}}(i)){const o=r.legend;t[i]=o&&aa(o)}return t},{})}parseData(){this.component.data=vD(this)}parseLayoutSize(){!function dlt(e){const{size:n,component:t}=e;for(const i of wp){const r=bs(i);if(n[r]){const o=n[r];t.layoutSize.set(r,pd(o)?"step":o,!0)}else{const o=plt(e,r);t.layoutSize.set(r,o,!1)}}}(this)}parseSelections(){this.component.selection=function tat(e,n){const t={},i=e.config.selection;if(!n||!n.length)return t;for(const r of n){const o=Vi(r.name),a=r.select,s=it(a)?a:a.type,l=Je(a)?rn(a):{type:s},c=i[s];for(const p in c)"fields"===p||"encodings"===p||("mark"===p&&(l[p]={...c[p],...l[p]}),(void 0===l[p]||!0===l[p])&&(l[p]=rn(c[p]??l[p])));const u=t[o]={...l,name:o,type:s,init:r.value,bind:r.bind,events:it(l.on)?ch(l.on,"scope"):nt(rn(l.on))},d=rn(r);for(const p of nD)p.defined(u)&&p.parse&&p.parse(e,u,d)}return t}(this,this.selection)}parseMarkGroup(){this.component.mark=function Wlt(e){if(Fn([D5,x5,sit],e.mark)){const n=yue(e.mark,e.encoding);if(n.length>0)return function qlt(e,n){return[{name:e.getName("pathgroup"),type:"group",from:{facet:{name:Kpe+e.requestDataName(Qi.Main),data:e.requestDataName(Qi.Main),groupby:n}},encode:{update:{width:{field:{group:"width"}},height:{field:{group:"height"}}}},marks:fH(e,{fromPrefix:Kpe})}]}(e,n)}else if(e.mark===F5){const n=IN.some(t=>li(t,e.markDef,e.config));if(e.stack&&!e.fieldDef("size")&&n)return function Klt(e){const[n]=fH(e,{fromPrefix:Zpe}),t=e.scaleName(e.stack.fieldChannel),i=(c={})=>e.vgField(e.stack.fieldChannel,c),r=(c,u)=>`${c}(${[i({prefix:"min",suffix:"start",expr:u}),i({prefix:"max",suffix:"start",expr:u}),i({prefix:"min",suffix:"end",expr:u}),i({prefix:"max",suffix:"end",expr:u})].map(p=>`scale('${t}',${p})`).join(",")})`;let o,a;"x"===e.stack.fieldChannel?(o={...J_(n.encode.update,["y","yc","y2","height",...IN]),x:{signal:r("min","datum")},x2:{signal:r("max","datum")},clip:{value:!0}},a={x:{field:{group:"x"},mult:-1},height:{field:{group:"height"}}},n.encode.update={...vs(n.encode.update,["y","yc","y2"]),height:{field:{group:"height"}}}):(o={...J_(n.encode.update,["x","xc","x2","width"]),y:{signal:r("min","datum")},y2:{signal:r("max","datum")},clip:{value:!0}},a={y:{field:{group:"y"},mult:-1},width:{field:{group:"width"}}},n.encode.update={...vs(n.encode.update,["x","xc","x2"]),width:{field:{group:"width"}}});for(const c of IN){const u=sd(c,e.markDef,e.config);n.encode.update[c]?(o[c]=n.encode.update[c],delete n.encode.update[c]):u&&(o[c]=Ei(u)),u&&(n.encode.update[c]={value:0})}const s=[];if(e.stack.groupbyChannels?.length>0)for(const c of e.stack.groupbyChannels){const u=e.fieldDef(c),d=Xe(u);d&&s.push(d),(u?.bin||u?.timeUnit)&&s.push(Xe(u,{binSuffix:"end"}))}return o=["stroke","strokeWidth","strokeJoin","strokeCap","strokeDash","strokeDashOffset","strokeMiterLimit","strokeOpacity"].reduce((c,u)=>{if(n.encode.update[u])return{...c,[u]:n.encode.update[u]};{const d=sd(u,e.markDef,e.config);return void 0!==d?{...c,[u]:Ei(d)}:c}},o),o.stroke&&(o.strokeForeground={value:!0},o.strokeOffset={value:0}),[{type:"group",from:{facet:{data:e.requestDataName(Qi.Main),name:Zpe+e.requestDataName(Qi.Main),groupby:s,aggregate:{fields:[i({suffix:"start"}),i({suffix:"start"}),i({suffix:"end"}),i({suffix:"end"})],ops:["min","max","min","max"]}}},encode:{update:o},marks:[{type:"group",encode:{update:a},marks:[n]}]}]}(e)}return fH(e)}(this)}parseAxesAndHeaders(){this.component.axes=function Tlt(e){return wp.reduce((n,t)=>(e.component.scales[t]&&(n[t]=[Flt(t,e)]),n),{})}(this)}assembleSelectionTopLevelSignals(n){return function Sot(e,n){let t=!1;for(const i of Ro(e.component.selection??{})){const r=i.name,o=We(r+Gm);if(0===n.filter(s=>s.name===r).length){const l="point"===i.type?", true, true)":")";n.push({name:i.name,update:`${Yde}(${o}, ${We("global"===i.resolve?"union":i.resolve)}${l}`})}t=!0;for(const s of nD)s.defined(i)&&s.topLevelSignals&&(n=s.topLevelSignals(e,i,n))}return t&&0===n.filter(r=>"unit"===r.name).length&&n.unshift({name:"unit",value:{},on:[{events:"pointermove",update:"isTuple(group()) ? group() : unit"}]}),IO(n)}(this,n)}assembleSignals(){return[...Wde(this),...bot(this,[])]}assembleSelectionData(n){return function wot(e,n){const t=[...n],i=Bm(e,{escape:!1});for(const r of Ro(e.component.selection??{})){const o={name:r.name+Gm};if(r.project.hasSelectionId&&(o.transform=[{type:"collect",sort:{field:Zc}}]),r.init){const s=r.project.items.map(dde);o.values=r.init.map(r.project.hasSelectionId?l=>({unit:i,[Zc]:Hm(l,!1)[0]}):l=>({unit:i,fields:s,values:Hm(l,!1)}))}t.filter(s=>s.name===r.name+Gm).length||t.push(o)}return t}(this,n)}assembleLayout(){return null}assembleLayoutSignals(){return UO(this)}assembleMarks(){let n=this.component.mark??[];return(!this.parent||!F1(this.parent))&&(n=pde(this,n)),n.map(this.correctDataNames)}assembleGroupStyle(){const{style:n}=this.view||{};return void 0!==n?n:this.encoding.x||this.encoding.y?"cell":"view"}getMapping(){return this.encoding}get mark(){return this.markDef.type}channelHasField(n){return Om(this.encoding,n)}fieldDef(n){return Kc(this.encoding[n])}typedFieldDef(n){const t=this.fieldDef(n);return za(t)?t:null}}class hH extends lH{constructor(n,t,i,r,o){super(n,"layer",t,i,o,n.resolve,n.view);const a={...r,...n.width?{width:n.width}:{},...n.height?{height:n.height}:{}};this.children=n.layer.map((s,l)=>{if(q5(s))return new hH(s,this,this.getName(`layer_${l}`),a,o);if(Ep(s))return new Xpe(s,this,this.getName(`layer_${l}`),a,o);throw new Error(LN(s))})}parseData(){this.component.data=vD(this);for(const n of this.children)n.parseData()}parseLayoutSize(){!function clt(e){cH(e),_D(e,"width"),_D(e,"height")}(this)}parseSelections(){this.component.selection={};for(const n of this.children){n.parseSelections();for(const t of Oe(n.component.selection))this.component.selection[t]=n.component.selection[t]}}parseMarkGroup(){for(const n of this.children)n.parseMarkGroup()}parseAxesAndHeaders(){!function blt(e){const{axes:n,resolve:t}=e.component,i={top:0,bottom:0,right:0,left:0};for(const r of e.children){r.parseAxesAndHeaders();for(const o of Oe(r.component.axes))t.axis[o]=jO(e.component.resolve,o),"shared"===t.axis[o]&&(n[o]=Alt(n[o],r.component.axes[o]),n[o]||(t.axis[o]="independent",delete n[o]))}for(const r of wp){for(const o of e.children)if(o.component.axes[r]){if("independent"===t.axis[r]){n[r]=(n[r]??[]).concat(o.component.axes[r]);for(const a of o.component.axes[r]){const{value:s,explicit:l}=a.getWithExplicit("orient");if(!St(s)){if(i[s]>0&&!l){const c=Clt[s];i[s]>i[c]&&a.set("orient",c,!1)}i[s]++}}}delete o.component.axes[r]}if("independent"===t.axis[r]&&n[r]&&n[r].length>1)for(const[o,a]of(n[r]||[]).entries())o>0&&a.get("grid")&&!a.explicit.grid&&(a.implicit.grid=!1)}}(this)}assembleSelectionTopLevelSignals(n){return this.children.reduce((t,i)=>i.assembleSelectionTopLevelSignals(t),n)}assembleSignals(){return this.children.reduce((n,t)=>n.concat(t.assembleSignals()),Wde(this))}assembleLayoutSignals(){return this.children.reduce((n,t)=>n.concat(t.assembleLayoutSignals()),UO(this))}assembleSelectionData(n){return this.children.reduce((t,i)=>i.assembleSelectionData(t),n)}assembleGroupStyle(){const n=new Set;for(const i of this.children)for(const r of nt(i.assembleGroupStyle()))n.add(r);const t=Array.from(n);return t.length>1?t:1===t.length?t[0]:void 0}assembleTitle(){let n=super.assembleTitle();if(n)return n;for(const t of this.children)if(n=t.assembleTitle(),n)return n}assembleLayout(){return null}assembleMarks(){return function xot(e,n){for(const t of e.children)Ji(t)&&(n=pde(t,n));return n}(this,this.children.flatMap(n=>n.assembleMarks()))}assembleLegends(){return this.children.reduce((n,t)=>n.concat(t.assembleLegends()),mpe(this))}}function gH(e,n,t,i,r){if(M5(e))return new c2(e,n,t,r);if(q5(e))return new hH(e,n,t,i,r);if(Ep(e))return new Xpe(e,n,t,i,r);if(function drt(e){return U5(e)||TO(e)||vO(e)}(e))return new mlt(e,n,t,r);throw new Error(LN(e))}function ect(e,n={}){n.logger&&function Ant(e){ld=e}(n.logger),n.fieldTitle&&rue(n.fieldTitle);try{const t=Yue(Jy(n.config,e.config)),i=ide(e,t),r=gH(i,null,"",void 0,t);return r.parse(),function Ast(e,n){tH(e.sources);let t=0,i=0;for(let r=0;r"width"!==f.name&&"height"!==f.name||void 0===f.value||(n[f.name]=+f.value,!1));const{params:d,...p}=n;return{$schema:"https://vega.github.io/schema/vega/v5.json",...e.description?{description:e.description}:{},...p,...s?{title:s}:{},...l?{style:l}:{},...c?{encode:{update:c}}:{},data:o,...a.length>0?{projections:a}:{},...e.assembleGroup([...u,...e.assembleSelectionTopLevelSignals([]),...Mue(d)]),...r?{config:r}:{},...i?{usermeta:i}:{}}}const ict="5.20.1",Qpe=function rct(e){const[n,t]=/schema\/([\w-]+)\/([\w\.\-]+)\.json$/g.exec(e).slice(1,3);return{library:n,version:t}};const E1="#fff",Sct={background:"#333",view:{stroke:"#888"},title:{color:E1,subtitleColor:E1},style:{"guide-label":{fill:E1},"guide-title":{fill:E1}},axis:{domainColor:E1,gridColor:"#888",tickColor:E1}},Um="#4572a7",wct={background:"#fff",arc:{fill:Um},area:{fill:Um},line:{stroke:Um,strokeWidth:2},path:{stroke:Um},rect:{fill:Um},shape:{stroke:Um},symbol:{fill:Um,strokeWidth:1.5,size:50},axis:{bandPosition:.5,grid:!0,gridColor:"#000000",gridOpacity:1,gridWidth:.5,labelPadding:10,tickSize:5,tickWidth:.5},axisBand:{grid:!1,tickExtra:!0},legend:{labelBaseline:"middle",labelFontSize:11,symbolSize:50,symbolType:"square"},range:{category:["#4572a7","#aa4643","#8aa453","#71598e","#4598ae","#d98445","#94aace","#d09393","#b9cc98","#a99cbc"]}},jm="#30a2da",mH="#cbcbcb",Dct={arc:{fill:jm},area:{fill:jm},axis:{domainColor:mH,grid:!0,gridColor:mH,gridWidth:1,labelColor:"#999",labelFontSize:10,titleColor:"#333",tickColor:mH,tickSize:10,titleFontSize:14,titlePadding:10,labelPadding:4},axisBand:{grid:!1},background:"#f0f0f0",group:{fill:"#f0f0f0"},legend:{labelColor:"#333",labelFontSize:11,padding:1,symbolSize:30,symbolType:"square",titleColor:"#333",titleFontSize:14,titlePadding:10},line:{stroke:jm,strokeWidth:2},path:{stroke:jm,strokeWidth:.5},rect:{fill:jm},range:{category:["#30a2da","#fc4f30","#e5ae38","#6d904f","#8b8b8b","#b96db8","#ff9e27","#56cc60","#52d2ca","#52689e","#545454","#9fe4f8"],diverging:["#cc0020","#e77866","#f6e7e1","#d6e8ed","#91bfd9","#1d78b5"],heatmap:["#d6e8ed","#cee0e5","#91bfd9","#549cc6","#1d78b5"]},point:{filled:!0,shape:"circle"},shape:{stroke:jm},bar:{binSpacing:2,fill:jm,stroke:null},title:{anchor:"start",fontSize:24,fontWeight:600,offset:20}},Wm="#000",Ect={group:{fill:"#e5e5e5"},arc:{fill:Wm},area:{fill:Wm},line:{stroke:Wm},path:{stroke:Wm},rect:{fill:Wm},shape:{stroke:Wm},symbol:{fill:Wm,size:40},axis:{domain:!1,grid:!0,gridColor:"#FFFFFF",gridOpacity:1,labelColor:"#7F7F7F",labelPadding:4,tickColor:"#7F7F7F",tickSize:5.67,titleFontSize:16,titleFontWeight:"normal"},legend:{labelBaseline:"middle",labelFontSize:11,symbolSize:40},range:{category:["#000000","#7F7F7F","#1A1A1A","#999999","#333333","#B0B0B0","#4D4D4D","#C9C9C9","#666666","#DCDCDC"]}},nfe="Benton Gothic, sans-serif",qm="#82c6df",yH="Benton Gothic Bold, sans-serif",u2={"category-6":["#ec8431","#829eb1","#c89d29","#3580b1","#adc839","#ab7fb4"],"fire-7":["#fbf2c7","#f9e39c","#f8d36e","#f4bb6a","#e68a4f","#d15a40","#ab4232"],"fireandice-6":["#e68a4f","#f4bb6a","#f9e39c","#dadfe2","#a6b7c6","#849eae"],"ice-7":["#edefee","#dadfe2","#c4ccd2","#a6b7c6","#849eae","#607785","#47525d"]},Mct={background:"#ffffff",title:{anchor:"start",color:"#000000",font:yH,fontSize:22,fontWeight:"normal"},arc:{fill:qm},area:{fill:qm},line:{stroke:qm,strokeWidth:2},path:{stroke:qm},rect:{fill:qm},shape:{stroke:qm},symbol:{fill:qm,size:30},axis:{labelFont:nfe,labelFontSize:11.5,labelFontWeight:"normal",titleFont:yH,titleFontSize:13,titleFontWeight:"normal"},axisX:{labelAngle:0,labelPadding:4,tickSize:3},axisY:{labelBaseline:"middle",maxExtent:45,minExtent:45,tickSize:2,titleAlign:"left",titleAngle:0,titleX:-45,titleY:-11},legend:{labelFont:nfe,labelFontSize:11.5,symbolType:"square",titleFont:yH,titleFontSize:13,titleFontWeight:"normal"},range:{category:u2["category-6"],diverging:u2["fireandice-6"],heatmap:u2["fire-7"],ordinal:u2["fire-7"],ramp:u2["fire-7"]}},Km="#ab5787",bD="#979797",kct={background:"#f9f9f9",arc:{fill:Km},area:{fill:Km},line:{stroke:Km},path:{stroke:Km},rect:{fill:Km},shape:{stroke:Km},symbol:{fill:Km,size:30},axis:{domainColor:bD,domainWidth:.5,gridWidth:.2,labelColor:bD,tickColor:bD,tickWidth:.2,titleColor:bD},axisBand:{grid:!1},axisX:{grid:!0,tickSize:10},axisY:{domain:!1,grid:!0,tickSize:0},legend:{labelFontSize:11,padding:1,symbolSize:30,symbolType:"square"},range:{category:["#ab5787","#51b2e5","#703c5c","#168dd9","#d190b6","#00609f","#d365ba","#154866","#666666","#c4c4c4"]}},Zm="#3e5c69",Pct={background:"#fff",arc:{fill:Zm},area:{fill:Zm},line:{stroke:Zm},path:{stroke:Zm},rect:{fill:Zm},shape:{stroke:Zm},symbol:{fill:Zm},axis:{domainWidth:.5,grid:!0,labelPadding:2,tickSize:5,tickWidth:.5,titleFontWeight:"normal"},axisBand:{grid:!1},axisX:{gridWidth:.2},axisY:{gridDash:[3],gridWidth:.4},legend:{labelFontSize:11,padding:1,symbolType:"square"},range:{category:["#3e5c69","#6793a6","#182429","#0570b0","#3690c0","#74a9cf","#a6bddb","#e2ddf2"]}},Ul="#1696d2",AD="Lato",_H="Lato",d2={"main-colors":["#1696d2","#d2d2d2","#000000","#fdbf11","#ec008b","#55b748","#5c5859","#db2b27"],"shades-blue":["#CFE8F3","#A2D4EC","#73BFE2","#46ABDB","#1696D2","#12719E","#0A4C6A","#062635"],"shades-gray":["#F5F5F5","#ECECEC","#E3E3E3","#DCDBDB","#D2D2D2","#9D9D9D","#696969","#353535"],"shades-yellow":["#FFF2CF","#FCE39E","#FDD870","#FCCB41","#FDBF11","#E88E2D","#CA5800","#843215"],"shades-magenta":["#F5CBDF","#EB99C2","#E46AA7","#E54096","#EC008B","#AF1F6B","#761548","#351123"],"shades-green":["#DCEDD9","#BCDEB4","#98CF90","#78C26D","#55B748","#408941","#2C5C2D","#1A2E19"],"shades-black":["#D5D5D4","#ADABAC","#848081","#5C5859","#332D2F","#262223","#1A1717","#0E0C0D"],"shades-red":["#F8D5D4","#F1AAA9","#E9807D","#E25552","#DB2B27","#A4201D","#6E1614","#370B0A"],"one-group":["#1696d2","#000000"],"two-groups-cat-1":["#1696d2","#000000"],"two-groups-cat-2":["#1696d2","#fdbf11"],"two-groups-cat-3":["#1696d2","#db2b27"],"two-groups-seq":["#a2d4ec","#1696d2"],"three-groups-cat":["#1696d2","#fdbf11","#000000"],"three-groups-seq":["#a2d4ec","#1696d2","#0a4c6a"],"four-groups-cat-1":["#000000","#d2d2d2","#fdbf11","#1696d2"],"four-groups-cat-2":["#1696d2","#ec0008b","#fdbf11","#5c5859"],"four-groups-seq":["#cfe8f3","#73bf42","#1696d2","#0a4c6a"],"five-groups-cat-1":["#1696d2","#fdbf11","#d2d2d2","#ec008b","#000000"],"five-groups-cat-2":["#1696d2","#0a4c6a","#d2d2d2","#fdbf11","#332d2f"],"five-groups-seq":["#cfe8f3","#73bf42","#1696d2","#0a4c6a","#000000"],"six-groups-cat-1":["#1696d2","#ec008b","#fdbf11","#000000","#d2d2d2","#55b748"],"six-groups-cat-2":["#1696d2","#d2d2d2","#ec008b","#fdbf11","#332d2f","#0a4c6a"],"six-groups-seq":["#cfe8f3","#a2d4ec","#73bfe2","#46abdb","#1696d2","#12719e"],"diverging-colors":["#ca5800","#fdbf11","#fdd870","#fff2cf","#cfe8f3","#73bfe2","#1696d2","#0a4c6a"]},Bct={background:"#FFFFFF",title:{anchor:"start",fontSize:18,font:AD},axisX:{domain:!0,domainColor:"#000000",domainWidth:1,grid:!1,labelFontSize:12,labelFont:_H,labelAngle:0,tickColor:"#000000",tickSize:5,titleFontSize:12,titlePadding:10,titleFont:AD},axisY:{domain:!1,domainWidth:1,grid:!0,gridColor:"#DEDDDD",gridWidth:1,labelFontSize:12,labelFont:_H,labelPadding:8,ticks:!1,titleFontSize:12,titlePadding:10,titleFont:AD,titleAngle:0,titleY:-10,titleX:18},legend:{labelFontSize:12,labelFont:_H,symbolSize:100,titleFontSize:12,titlePadding:10,titleFont:AD,orient:"right",offset:10},view:{stroke:"transparent"},range:{category:d2["six-groups-cat-1"],diverging:d2["diverging-colors"],heatmap:d2["diverging-colors"],ordinal:d2["six-groups-seq"],ramp:d2["shades-blue"]},area:{fill:Ul},rect:{fill:Ul},line:{color:Ul,stroke:Ul,strokeWidth:5},trail:{color:Ul,stroke:Ul,strokeWidth:0,size:1},path:{stroke:Ul,strokeWidth:.5},point:{filled:!0},text:{font:"Lato",color:Ul,fontSize:11,align:"center",fontWeight:400,size:11},style:{bar:{fill:Ul,stroke:null}},arc:{fill:Ul},shape:{stroke:Ul},symbol:{fill:Ul,size:30}},Xm="#3366CC",SD="Arial, sans-serif",Yct={arc:{fill:Xm},area:{fill:Xm},path:{stroke:Xm},rect:{fill:Xm},shape:{stroke:Xm},symbol:{stroke:Xm},circle:{fill:Xm},background:"#fff",padding:{top:10,right:10,bottom:10,left:10},style:{"guide-label":{font:SD,fontSize:12},"guide-title":{font:SD,fontSize:12},"group-title":{font:SD,fontSize:12}},title:{font:SD,fontSize:14,fontWeight:"bold",dy:-3,anchor:"start"},axis:{gridColor:"#ccc",tickColor:"#ccc",domain:!1,grid:!0},range:{category:["#4285F4","#DB4437","#F4B400","#0F9D58","#AB47BC","#00ACC1","#FF7043","#9E9D24","#5C6BC0","#F06292","#00796B","#C2185B"],heatmap:["#c6dafc","#5e97f6","#2a56c6"]}},vH=e=>e*(1/3+1),lfe=vH(9),cfe=vH(10),ufe=vH(12),p2="Segoe UI",dfe="wf_standard-font, helvetica, arial, sans-serif",f2="#605E5C",ffe="transparent",Jc="#118DFF",mfe=["#DEEFFF",Jc],Zct={view:{stroke:ffe},background:ffe,font:p2,header:{titleFont:dfe,titleFontSize:ufe,titleColor:"#252423",labelFont:p2,labelFontSize:cfe,labelColor:f2},axis:{ticks:!1,grid:!1,domain:!1,labelColor:f2,labelFontSize:lfe,titleFont:dfe,titleColor:"#252423",titleFontSize:ufe,titleFontWeight:"normal"},axisQuantitative:{tickCount:3,grid:!0,gridColor:"#C8C6C4",gridDash:[1,5],labelFlush:!1},axisBand:{tickExtra:!0},axisX:{labelPadding:5},axisY:{labelPadding:10},bar:{fill:Jc},line:{stroke:Jc,strokeWidth:3,strokeCap:"round",strokeJoin:"round"},text:{font:p2,fontSize:lfe,fill:f2},arc:{fill:Jc},area:{fill:Jc,line:!0,opacity:.6},path:{stroke:Jc},rect:{fill:Jc},point:{fill:Jc,filled:!0,size:75},shape:{stroke:Jc},symbol:{fill:Jc,strokeWidth:1.5,size:50},legend:{titleFont:p2,titleFontWeight:"bold",titleColor:f2,labelFont:p2,labelFontSize:cfe,labelColor:f2,symbolType:"circle",symbolSize:75},range:{category:[Jc,"#12239E","#E66C37","#6B007B","#E044A7","#744EC2","#D9B300","#D64550"],diverging:mfe,heatmap:mfe,ordinal:["#DEEFFF","#c7e4ff","#b0d9ff","#9aceff","#83c3ff","#6cb9ff","#55aeff","#3fa3ff","#2898ff",Jc]}},TH='IBM Plex Sans,system-ui,-apple-system,BlinkMacSystemFont,".sfnstext-regular",sans-serif',Xct='IBM Plex Sans Condensed, system-ui, -apple-system, BlinkMacSystemFont, ".SFNSText-Regular", sans-serif',CH=400,wD={textPrimary:{g90:"#f4f4f4",g100:"#f4f4f4",white:"#161616",g10:"#161616"},textSecondary:{g90:"#c6c6c6",g100:"#c6c6c6",white:"#525252",g10:"#525252"},layerAccent01:{white:"#e0e0e0",g10:"#e0e0e0",g90:"#525252",g100:"#393939"},gridBg:{white:"#ffffff",g10:"#ffffff",g90:"#161616",g100:"#161616"}},Qct=["#8a3ffc","#33b1ff","#007d79","#ff7eb6","#fa4d56","#fff1f1","#6fdc8c","#4589ff","#d12771","#d2a106","#08bdba","#bae6ff","#ba4e00","#d4bbff"],Jct=["#6929c4","#1192e8","#005d5d","#9f1853","#fa4d56","#570408","#198038","#002d9c","#ee538b","#b28600","#009d9a","#012749","#8a3800","#a56eff"];function xD({theme:e,background:n}){const t=["white","g10"].includes(e)?"light":"dark",i=wD.gridBg[e],r=wD.textPrimary[e],o=wD.textSecondary[e],s="dark"===t?"#d4bbff":"#6929c4";return{background:n,arc:{fill:s},area:{fill:s},path:{stroke:s},rect:{fill:s},shape:{stroke:s},symbol:{stroke:s},circle:{fill:s},view:{fill:i,stroke:i},group:{fill:i},title:{color:r,anchor:"start",dy:-15,fontSize:16,font:TH,fontWeight:600},axis:{labelColor:o,labelFontSize:12,labelFont:Xct,labelFontWeight:CH,titleColor:r,titleFontWeight:600,titleFontSize:12,grid:!0,gridColor:wD.layerAccent01[e],labelAngle:0},axisX:{titlePadding:10},axisY:{titlePadding:2.5},style:{"guide-label":{font:TH,fill:o,fontWeight:CH},"guide-title":{font:TH,fill:o,fontWeight:CH}},range:{category:"dark"===t?Qct:Jct,diverging:["#750e13","#a2191f","#da1e28","#fa4d56","#ff8389","#ffb3b8","#ffd7d9","#fff1f1","#e5f6ff","#bae6ff","#82cfff","#33b1ff","#1192e8","#0072c3","#00539a","#003a6d"],heatmap:["#f6f2ff","#e8daff","#d4bbff","#be95ff","#a56eff","#8a3ffc","#6929c4","#491d8b","#31135e","#1c0f30"]}}}const eut=xD({theme:"white",background:"#ffffff"}),tut=xD({theme:"g10",background:"#f4f4f4"}),nut=xD({theme:"g90",background:"#262626"}),iut=xD({theme:"g100",background:"#161616"}),rut="2.15.0";function yfe(e,n){return JSON.stringify(e,function xut(e){const n=[];return function(t,i){if("object"!=typeof i||null===i)return i;const r=n.indexOf(this)+1;return n.length=r,n.length>e?"[Object]":n.indexOf(i)>=0?"[Circular]":(n.push(i),i)}}(n))}const _fe="vg-tooltip-element",Dut={offsetX:10,offsetY:10,id:_fe,styleId:"vega-tooltip-style",theme:"light",disableDefaultStyle:!1,sanitize:function Eut(e){return String(e).replace(/&/g,"&").replace(/n(it(r)?r:yfe(r,t))).join(", ")}]`;if(Je(e)){let r="";const{title:o,image:a,...s}=e;o&&(r+=`

${n(o)}

`),a&&(r+=``);const l=Object.keys(s);if(l.length>0){r+="";for(const c of l){let u=s[c];void 0!==u&&(Je(u)&&(u=yfe(u,t)),r+=``)}r+="
${n(c)}${n(u)}
"}return r||"{}"}return n(e)},baseURL:""};class vfe{constructor(n){this.options={...Dut,...n};const t=this.options.id;if(this.el=null,this.call=this.tooltipHandler.bind(this),!this.options.disableDefaultStyle&&!document.getElementById(this.options.styleId)){const i=document.createElement("style");i.setAttribute("id",this.options.styleId),i.innerHTML=function Iut(e){if(!/^[A-Za-z]+[-:.\w]*$/.test(e))throw new Error("Invalid HTML ID");return"#vg-tooltip-element {\n visibility: hidden;\n padding: 8px;\n position: fixed;\n z-index: 1000;\n font-family: sans-serif;\n font-size: 11px;\n border-radius: 3px;\n box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.1);\n /* The default theme is the light theme. */\n background-color: rgba(255, 255, 255, 0.95);\n border: 1px solid #d9d9d9;\n color: black;\n}\n#vg-tooltip-element.visible {\n visibility: visible;\n}\n#vg-tooltip-element h2 {\n margin-top: 0;\n margin-bottom: 10px;\n font-size: 13px;\n}\n#vg-tooltip-element table {\n border-spacing: 0;\n}\n#vg-tooltip-element table tr {\n border: none;\n}\n#vg-tooltip-element table tr td {\n overflow: hidden;\n text-overflow: ellipsis;\n padding-top: 2px;\n padding-bottom: 2px;\n}\n#vg-tooltip-element table tr td.key {\n color: #808080;\n max-width: 150px;\n text-align: right;\n padding-right: 4px;\n}\n#vg-tooltip-element table tr td.value {\n display: block;\n max-width: 300px;\n max-height: 7em;\n text-align: left;\n}\n#vg-tooltip-element.dark-theme {\n background-color: rgba(32, 32, 32, 0.9);\n border: 1px solid #f5f5f5;\n color: white;\n}\n#vg-tooltip-element.dark-theme td.key {\n color: #bfbfbf;\n}\n".toString().replace(_fe,e)}(t);const r=document.head;r.childNodes.length>0?r.insertBefore(i,r.childNodes[0]):r.appendChild(i)}}tooltipHandler(n,t,i,r){if(this.el=document.getElementById(this.options.id),this.el||(this.el=document.createElement("div"),this.el.setAttribute("id",this.options.id),this.el.classList.add("vg-tooltip"),(document.fullscreenElement??document.body).appendChild(this.el)),null==r||""===r)return void this.el.classList.remove("visible",`${this.options.theme}-theme`);this.el.innerHTML=this.options.formatTooltip(r,this.options.sanitize,this.options.maxDepth,this.options.baseURL),this.el.classList.add("visible",`${this.options.theme}-theme`);const{x:o,y:a}=function Rut(e,n,t,i){let r=e.clientX+t;r+n.width>window.innerWidth&&(r=+e.clientX-t-n.width);let o=e.clientY+i;return o+n.height>window.innerHeight&&(o=+e.clientY-i-n.height),{x:r,y:o}}(t,this.el.getBoundingClientRect(),this.options.offsetX,this.options.offsetY);this.el.style.top=`${a}px`,this.el.style.left=`${o}px`}}function Lut(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var kut=class Mut{constructor(){this.max=1e3,this.map=new Map}get(n){const t=this.map.get(n);if(void 0!==t)return this.map.delete(n),this.map.set(n,t),t}delete(n){return this.map.delete(n)}set(n,t){if(!this.delete(n)&&void 0!==t){if(this.map.size>=this.max){const r=this.map.keys().next().value;this.delete(r)}this.map.set(n,t)}return this}};const Put=Object.freeze({loose:!0}),Nut=Object.freeze({});var bH=e=>e?"object"!=typeof e?Put:e:Nut,AH={exports:{}},SH={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:16,MAX_SAFE_BUILD_LENGTH:250,MAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER||9007199254740991,RELEASE_TYPES:["major","premajor","minor","preminor","patch","prepatch","prerelease"],SEMVER_SPEC_VERSION:"2.0.0",FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2},FD="object"==typeof process&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...e)=>console.error("SEMVER",...e):()=>{};!function(e,n){const{MAX_SAFE_COMPONENT_LENGTH:t,MAX_SAFE_BUILD_LENGTH:i,MAX_LENGTH:r}=SH,o=FD,a=(n=e.exports={}).re=[],s=n.safeRe=[],l=n.src=[],c=n.t={};let u=0;const d="[a-zA-Z0-9-]",p=[["\\s",1],["\\d",r],[d,i]],h=(g,m,_)=>{const v=(g=>{for(const[m,_]of p)g=g.split(`${m}*`).join(`${m}{0,${_}}`).split(`${m}+`).join(`${m}{1,${_}}`);return g})(m),C=u++;o(g,C,m),c[g]=C,l[C]=m,a[C]=new RegExp(m,_?"g":void 0),s[C]=new RegExp(v,_?"g":void 0)};h("NUMERICIDENTIFIER","0|[1-9]\\d*"),h("NUMERICIDENTIFIERLOOSE","\\d+"),h("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${d}*`),h("MAINVERSION",`(${l[c.NUMERICIDENTIFIER]})\\.(${l[c.NUMERICIDENTIFIER]})\\.(${l[c.NUMERICIDENTIFIER]})`),h("MAINVERSIONLOOSE",`(${l[c.NUMERICIDENTIFIERLOOSE]})\\.(${l[c.NUMERICIDENTIFIERLOOSE]})\\.(${l[c.NUMERICIDENTIFIERLOOSE]})`),h("PRERELEASEIDENTIFIER",`(?:${l[c.NUMERICIDENTIFIER]}|${l[c.NONNUMERICIDENTIFIER]})`),h("PRERELEASEIDENTIFIERLOOSE",`(?:${l[c.NUMERICIDENTIFIERLOOSE]}|${l[c.NONNUMERICIDENTIFIER]})`),h("PRERELEASE",`(?:-(${l[c.PRERELEASEIDENTIFIER]}(?:\\.${l[c.PRERELEASEIDENTIFIER]})*))`),h("PRERELEASELOOSE",`(?:-?(${l[c.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${l[c.PRERELEASEIDENTIFIERLOOSE]})*))`),h("BUILDIDENTIFIER",`${d}+`),h("BUILD",`(?:\\+(${l[c.BUILDIDENTIFIER]}(?:\\.${l[c.BUILDIDENTIFIER]})*))`),h("FULLPLAIN",`v?${l[c.MAINVERSION]}${l[c.PRERELEASE]}?${l[c.BUILD]}?`),h("FULL",`^${l[c.FULLPLAIN]}$`),h("LOOSEPLAIN",`[v=\\s]*${l[c.MAINVERSIONLOOSE]}${l[c.PRERELEASELOOSE]}?${l[c.BUILD]}?`),h("LOOSE",`^${l[c.LOOSEPLAIN]}$`),h("GTLT","((?:<|>)?=?)"),h("XRANGEIDENTIFIERLOOSE",`${l[c.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),h("XRANGEIDENTIFIER",`${l[c.NUMERICIDENTIFIER]}|x|X|\\*`),h("XRANGEPLAIN",`[v=\\s]*(${l[c.XRANGEIDENTIFIER]})(?:\\.(${l[c.XRANGEIDENTIFIER]})(?:\\.(${l[c.XRANGEIDENTIFIER]})(?:${l[c.PRERELEASE]})?${l[c.BUILD]}?)?)?`),h("XRANGEPLAINLOOSE",`[v=\\s]*(${l[c.XRANGEIDENTIFIERLOOSE]})(?:\\.(${l[c.XRANGEIDENTIFIERLOOSE]})(?:\\.(${l[c.XRANGEIDENTIFIERLOOSE]})(?:${l[c.PRERELEASELOOSE]})?${l[c.BUILD]}?)?)?`),h("XRANGE",`^${l[c.GTLT]}\\s*${l[c.XRANGEPLAIN]}$`),h("XRANGELOOSE",`^${l[c.GTLT]}\\s*${l[c.XRANGEPLAINLOOSE]}$`),h("COERCEPLAIN",`(^|[^\\d])(\\d{1,${t}})(?:\\.(\\d{1,${t}}))?(?:\\.(\\d{1,${t}}))?`),h("COERCE",`${l[c.COERCEPLAIN]}(?:$|[^\\d])`),h("COERCEFULL",l[c.COERCEPLAIN]+`(?:${l[c.PRERELEASE]})?(?:${l[c.BUILD]})?(?:$|[^\\d])`),h("COERCERTL",l[c.COERCE],!0),h("COERCERTLFULL",l[c.COERCEFULL],!0),h("LONETILDE","(?:~>?)"),h("TILDETRIM",`(\\s*)${l[c.LONETILDE]}\\s+`,!0),n.tildeTrimReplace="$1~",h("TILDE",`^${l[c.LONETILDE]}${l[c.XRANGEPLAIN]}$`),h("TILDELOOSE",`^${l[c.LONETILDE]}${l[c.XRANGEPLAINLOOSE]}$`),h("LONECARET","(?:\\^)"),h("CARETTRIM",`(\\s*)${l[c.LONECARET]}\\s+`,!0),n.caretTrimReplace="$1^",h("CARET",`^${l[c.LONECARET]}${l[c.XRANGEPLAIN]}$`),h("CARETLOOSE",`^${l[c.LONECARET]}${l[c.XRANGEPLAINLOOSE]}$`),h("COMPARATORLOOSE",`^${l[c.GTLT]}\\s*(${l[c.LOOSEPLAIN]})$|^$`),h("COMPARATOR",`^${l[c.GTLT]}\\s*(${l[c.FULLPLAIN]})$|^$`),h("COMPARATORTRIM",`(\\s*)${l[c.GTLT]}\\s*(${l[c.LOOSEPLAIN]}|${l[c.XRANGEPLAIN]})`,!0),n.comparatorTrimReplace="$1$2$3",h("HYPHENRANGE",`^\\s*(${l[c.XRANGEPLAIN]})\\s+-\\s+(${l[c.XRANGEPLAIN]})\\s*$`),h("HYPHENRANGELOOSE",`^\\s*(${l[c.XRANGEPLAINLOOSE]})\\s+-\\s+(${l[c.XRANGEPLAINLOOSE]})\\s*$`),h("STAR","(<|>)?=?\\s*\\*"),h("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),h("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")}(AH,AH.exports);var wH=AH.exports;const Cfe=/^[0-9]+$/,bfe=(e,n)=>{const t=Cfe.test(e),i=Cfe.test(n);return t&&i&&(e=+e,n=+n),e===n?0:t&&!i?-1:i&&!t?1:ebfe(n,e)};const DD=FD,{MAX_LENGTH:Afe,MAX_SAFE_INTEGER:ED}=SH,{safeRe:Sfe,t:wfe}=wH,Vut=bH,{compareIdentifiers:I1}=Yut;var xH=class yd{constructor(n,t){if(t=Vut(t),n instanceof yd){if(n.loose===!!t.loose&&n.includePrerelease===!!t.includePrerelease)return n;n=n.version}else if("string"!=typeof n)throw new TypeError(`Invalid version. Must be a string. Got type "${typeof n}".`);if(n.length>Afe)throw new TypeError(`version is longer than ${Afe} characters`);DD("SemVer",n,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;const i=n.trim().match(t.loose?Sfe[wfe.LOOSE]:Sfe[wfe.FULL]);if(!i)throw new TypeError(`Invalid Version: ${n}`);if(this.raw=n,this.major=+i[1],this.minor=+i[2],this.patch=+i[3],this.major>ED||this.major<0)throw new TypeError("Invalid major version");if(this.minor>ED||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>ED||this.patch<0)throw new TypeError("Invalid patch version");this.prerelease=i[4]?i[4].split(".").map(r=>{if(/^[0-9]+$/.test(r)){const o=+r;if(o>=0&&o=0;)"number"==typeof this.prerelease[o]&&(this.prerelease[o]++,o=-2);if(-1===o){if(t===this.prerelease.join(".")&&!1===i)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(r)}}if(t){let o=[t,r];!1===i&&(o=[t]),0===I1(this.prerelease[0],t)?isNaN(this.prerelease[1])&&(this.prerelease=o):this.prerelease=o}break}default:throw new Error(`invalid increment argument: ${n}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}};const xfe=xH;var R1=(e,n,t)=>new xfe(e,t).compare(new xfe(n,t));const zut=R1,Uut=R1,Wut=R1,Kut=R1,Xut=R1,Jut=R1;var FH,Ffe,DH,Dfe,sdt=(e,n,t,i)=>{switch(n){case"===":return"object"==typeof e&&(e=e.version),"object"==typeof t&&(t=t.version),e===t;case"!==":return"object"==typeof e&&(e=e.version),"object"==typeof t&&(t=t.version),e!==t;case"":case"=":case"==":return((e,n,t)=>0===zut(e,n,t))(e,t,i);case"!=":return((e,n,t)=>0!==Uut(e,n,t))(e,t,i);case">":return((e,n,t)=>Wut(e,n,t)>0)(e,t,i);case">=":return((e,n,t)=>Kut(e,n,t)>=0)(e,t,i);case"<":return((e,n,t)=>Xut(e,n,t)<0)(e,t,i);case"<=":return((e,n,t)=>Jut(e,n,t)<=0)(e,t,i);default:throw new TypeError(`Invalid operator: ${n}`)}};const cdt=function Efe(){if(Dfe)return DH;Dfe=1;class e{constructor(F,M){if(M=i(M),F instanceof e)return F.loose===!!M.loose&&F.includePrerelease===!!M.includePrerelease?F:new e(F.raw,M);if(F instanceof r)return this.raw=F.value,this.set=[[F]],this.format(),this;if(this.options=M,this.loose=!!M.loose,this.includePrerelease=!!M.includePrerelease,this.raw=F.trim().split(/\s+/).join(" "),this.set=this.raw.split("||").map(L=>this.parseRange(L.trim())).filter(L=>L.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){const L=this.set[0];if(this.set=this.set.filter(Y=>!h(Y[0])),0===this.set.length)this.set=[L];else if(this.set.length>1)for(const Y of this.set)if(1===Y.length&&g(Y[0])){this.set=[Y];break}}this.format()}format(){return this.range=this.set.map(F=>F.join(" ").trim()).join("||").trim(),this.range}toString(){return this.range}parseRange(F){const L=((this.options.includePrerelease&&p)|(this.options.loose&&f))+":"+F,Y=t.get(L);if(Y)return Y;const P=this.options.loose;F=F.replace(P?s[l.HYPHENRANGELOOSE]:s[l.HYPHENRANGE],q(this.options.includePrerelease)),o("hyphen replace",F),F=F.replace(s[l.COMPARATORTRIM],c),o("comparator trim",F),F=F.replace(s[l.TILDETRIM],u),o("tilde trim",F),F=F.replace(s[l.CARETTRIM],d),o("caret trim",F);let U=F.split(" ").map(se=>_(se,this.options)).join(" ").split(/\s+/).map(se=>W(se,this.options));P&&(U=U.filter(se=>(o("loose invalid filter",se,this.options),!!se.match(s[l.COMPARATORLOOSE])))),o("range list",U);const ee=new Map,oe=U.map(se=>new r(se,this.options));for(const se of oe){if(h(se))return[se];ee.set(se.value,se)}ee.size>1&&ee.has("")&&ee.delete("");const ce=[...ee.values()];return t.set(L,ce),ce}intersects(F,M){if(!(F instanceof e))throw new TypeError("a Range is required");return this.set.some(L=>m(L,M)&&F.set.some(Y=>m(Y,M)&&L.every(P=>Y.every($=>P.intersects($,M)))))}test(F){if(!F)return!1;if("string"==typeof F)try{F=new a(F,this.options)}catch{return!1}for(let M=0;M")&&u.operator.startsWith(">")||this.operator.startsWith("<")&&u.operator.startsWith("<")||this.semver.version===u.semver.version&&this.operator.includes("=")&&u.operator.includes("=")||o(this.semver,"<",u.semver,d)&&this.operator.startsWith(">")&&u.operator.startsWith("<")||o(this.semver,">",u.semver,d)&&this.operator.startsWith("<")&&u.operator.startsWith(">")))}}FH=n;const t=bH,{safeRe:i,t:r}=wH,o=sdt,a=FD,s=xH,l=Efe();return FH}(),o=FD,a=xH,{safeRe:s,t:l,comparatorTrimReplace:c,tildeTrimReplace:u,caretTrimReplace:d}=wH,{FLAG_INCLUDE_PRERELEASE:p,FLAG_LOOSE:f}=SH,h=K=>"<0.0.0-0"===K.value,g=K=>""===K.value,m=(K,F)=>{let M=!0;const L=K.slice();let Y=L.pop();for(;M&&L.length;)M=L.every(P=>Y.intersects(P,F)),Y=L.pop();return M},_=(K,F)=>(o("comp",K,F),K=S(K,F),o("caret",K),K=C(K,F),o("tildes",K),K=w(K,F),o("xrange",K),K=B(K,F),o("stars",K),K),v=K=>!K||"x"===K.toLowerCase()||"*"===K,C=(K,F)=>K.trim().split(/\s+/).map(M=>A(M,F)).join(" "),A=(K,F)=>K.replace(F.loose?s[l.TILDELOOSE]:s[l.TILDE],(L,Y,P,$,U)=>{let ee;return o("tilde",K,L,Y,P,$,U),v(Y)?ee="":v(P)?ee=`>=${Y}.0.0 <${+Y+1}.0.0-0`:v($)?ee=`>=${Y}.${P}.0 <${Y}.${+P+1}.0-0`:U?(o("replaceTilde pr",U),ee=`>=${Y}.${P}.${$}-${U} <${Y}.${+P+1}.0-0`):ee=`>=${Y}.${P}.${$} <${Y}.${+P+1}.0-0`,o("tilde return",ee),ee}),S=(K,F)=>K.trim().split(/\s+/).map(M=>I(M,F)).join(" "),I=(K,F)=>{o("caret",K,F);const L=F.includePrerelease?"-0":"";return K.replace(F.loose?s[l.CARETLOOSE]:s[l.CARET],(Y,P,$,U,ee)=>{let oe;return o("caret",K,Y,P,$,U,ee),v(P)?oe="":v($)?oe=`>=${P}.0.0${L} <${+P+1}.0.0-0`:v(U)?oe="0"===P?`>=${P}.${$}.0${L} <${P}.${+$+1}.0-0`:`>=${P}.${$}.0${L} <${+P+1}.0.0-0`:ee?(o("replaceCaret pr",ee),oe="0"===P?"0"===$?`>=${P}.${$}.${U}-${ee} <${P}.${$}.${+U+1}-0`:`>=${P}.${$}.${U}-${ee} <${P}.${+$+1}.0-0`:`>=${P}.${$}.${U}-${ee} <${+P+1}.0.0-0`):(o("no pr"),oe="0"===P?"0"===$?`>=${P}.${$}.${U}${L} <${P}.${$}.${+U+1}-0`:`>=${P}.${$}.${U}${L} <${P}.${+$+1}.0-0`:`>=${P}.${$}.${U} <${+P+1}.0.0-0`),o("caret return",oe),oe})},w=(K,F)=>(o("replaceXRanges",K,F),K.split(/\s+/).map(M=>O(M,F)).join(" ")),O=(K,F)=>(K=K.trim()).replace(F.loose?s[l.XRANGELOOSE]:s[l.XRANGE],(L,Y,P,$,U,ee)=>{o("xRange",K,L,Y,P,$,U,ee);const oe=v(P),ce=oe||v($),se=ce||v(U);return"="===Y&&se&&(Y=""),ee=F.includePrerelease?"-0":"",oe?L=">"===Y||"<"===Y?"<0.0.0-0":"*":Y&&se?(ce&&($=0),U=0,">"===Y?(Y=">=",ce?(P=+P+1,$=0,U=0):($=+$+1,U=0)):"<="===Y&&(Y="<",ce?P=+P+1:$=+$+1),"<"===Y&&(ee="-0"),L=`${Y+P}.${$}.${U}${ee}`):ce?L=`>=${P}.0.0${ee} <${+P+1}.0.0-0`:se&&(L=`>=${P}.${$}.0${ee} <${P}.${+$+1}.0-0`),o("xRange return",L),L}),B=(K,F)=>(o("replaceStars",K,F),K.trim().replace(s[l.STAR],"")),W=(K,F)=>(o("replaceGTE0",K,F),K.trim().replace(s[F.includePrerelease?l.GTE0PRE:l.GTE0],"")),q=K=>(F,M,L,Y,P,$,U,ee,oe,ce,se,fe)=>`${M=v(L)?"":v(Y)?`>=${L}.0.0${K?"-0":""}`:v(P)?`>=${L}.${Y}.0${K?"-0":""}`:$?`>=${M}`:`>=${M}${K?"-0":""}`} ${ee=v(oe)?"":v(ce)?`<${+oe+1}.0.0-0`:v(se)?`<${oe}.${+ce+1}.0-0`:fe?`<=${oe}.${ce}.${se}-${fe}`:K?`<${oe}.${ce}.${+se+1}-0`:`<=${ee}`}`.trim(),te=(K,F,M)=>{for(let L=0;L0){const Y=K[L].semver;if(Y.major===F.major&&Y.minor===F.minor&&Y.patch===F.patch)return!0}return!1}return!0};return DH}();var udt=(e,n,t)=>{try{n=new cdt(n,t)}catch{return!1}return n.test(e)},Ife=Lut(udt),pdt='.vega-embed {\n position: relative;\n display: inline-block;\n box-sizing: border-box;\n}\n.vega-embed.has-actions {\n padding-right: 38px;\n}\n.vega-embed details:not([open]) > :not(summary) {\n display: none !important;\n}\n.vega-embed summary {\n list-style: none;\n position: absolute;\n top: 0;\n right: 0;\n padding: 6px;\n z-index: 1000;\n background: white;\n box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.1);\n color: #1b1e23;\n border: 1px solid #aaa;\n border-radius: 999px;\n opacity: 0.2;\n transition: opacity 0.4s ease-in;\n cursor: pointer;\n line-height: 0px;\n}\n.vega-embed summary::-webkit-details-marker {\n display: none;\n}\n.vega-embed summary:active {\n box-shadow: #aaa 0px 0px 0px 1px inset;\n}\n.vega-embed summary svg {\n width: 14px;\n height: 14px;\n}\n.vega-embed details[open] summary {\n opacity: 0.7;\n}\n.vega-embed:hover summary, .vega-embed:focus-within summary {\n opacity: 1 !important;\n transition: opacity 0.2s ease;\n}\n.vega-embed .vega-actions {\n position: absolute;\n z-index: 1001;\n top: 35px;\n right: -9px;\n display: flex;\n flex-direction: column;\n padding-bottom: 8px;\n padding-top: 8px;\n border-radius: 4px;\n box-shadow: 0 2px 8px 0 rgba(0, 0, 0, 0.2);\n border: 1px solid #d9d9d9;\n background: white;\n animation-duration: 0.15s;\n animation-name: scale-in;\n animation-timing-function: cubic-bezier(0.2, 0, 0.13, 1.5);\n text-align: left;\n}\n.vega-embed .vega-actions a {\n padding: 8px 16px;\n font-family: sans-serif;\n font-size: 14px;\n font-weight: 600;\n white-space: nowrap;\n color: #434a56;\n text-decoration: none;\n}\n.vega-embed .vega-actions a:hover, .vega-embed .vega-actions a:focus {\n background-color: #f7f7f9;\n color: black;\n}\n.vega-embed .vega-actions::before, .vega-embed .vega-actions::after {\n content: "";\n display: inline-block;\n position: absolute;\n}\n.vega-embed .vega-actions::before {\n left: auto;\n right: 14px;\n top: -16px;\n border: 8px solid rgba(0, 0, 0, 0);\n border-bottom-color: #d9d9d9;\n}\n.vega-embed .vega-actions::after {\n left: auto;\n right: 15px;\n top: -14px;\n border: 7px solid rgba(0, 0, 0, 0);\n border-bottom-color: #fff;\n}\n.vega-embed .chart-wrapper.fit-x {\n width: 100%;\n}\n.vega-embed .chart-wrapper.fit-y {\n height: 100%;\n}\n\n.vega-embed-wrapper {\n max-width: 100%;\n overflow: auto;\n padding-right: 14px;\n}\n\n@keyframes scale-in {\n from {\n opacity: 0;\n transform: scale(0.6);\n }\n to {\n opacity: 1;\n transform: scale(1);\n }\n}\n';function Rfe(e,...n){for(const t of n)fdt(e,t);return e}function fdt(e,n){for(const t of Object.keys(n))e_(e,t,n[t],!0)}const md=$t;let h2=Et;const Lfe=typeof window<"u"?window:void 0;void 0===h2&&Lfe?.vl?.compile&&(h2=Lfe.vl);const Ndt={export:{svg:!0,png:!0},source:!0,compiled:!0,editor:!0},Odt={CLICK_TO_VIEW_ACTIONS:"Click to view actions",COMPILED_ACTION:"View Compiled Vega",EDITOR_ACTION:"Open in Vega Editor",PNG_ACTION:"Save as PNG",SOURCE_ACTION:"View Source",SVG_ACTION:"Save as SVG"},g2={vega:"Vega","vega-lite":"Vega-Lite"},ID={vega:md.version,"vega-lite":h2?h2.version:"not available"},Hdt={vega:e=>e,"vega-lite":(e,n)=>h2.compile(e,{config:n}).spec},Gdt='\n\n \n \n \n',Bdt="chart-wrapper";function Mfe(e,n,t,i){const r=`${n}
`,o=`
${t}`,a=window.open("");a.document.write(r+e+o),a.document.title=`${g2[i]} JSON Source`}function kfe(e){return!(!e||!("load"in e))}function Pfe(e){return kfe(e)?e:md.loader(e)}function RD(e,n){return EH.apply(this,arguments)}function EH(){return EH=zr(function*(e,n,t={}){let i,r;it(n)?(r=Pfe(t.loader),i=JSON.parse(yield r.load(n))):i=n;const o=function zdt(e){const n=e.usermeta?.embedOptions??{};return it(n.defaultStyle)&&(n.defaultStyle=!1),n}(i),a=o.loader;(!r||a)&&(r=Pfe(t.loader??a));const s=yield Nfe(o,r),l=yield Nfe(t,r),c={...Rfe(l,s),config:Jy(l.config??{},s.config??{})};return yield function Udt(e,n){return RH.apply(this,arguments)}(e,i,c,r)}),EH.apply(this,arguments)}function Nfe(e,n){return IH.apply(this,arguments)}function IH(){return IH=zr(function*(e,n){const t=it(e.config)?JSON.parse(yield n.load(e.config)):e.config??{},i=it(e.patch)?JSON.parse(yield n.load(e.patch)):e.patch;return{...e,...i?{patch:i}:{},...t?{config:t}:{}}}),IH.apply(this,arguments)}function RH(){return RH=zr(function*(e,n,t={},i){const r=t.theme?Jy(er[t.theme],t.config??{}):t.config,o=Ef(t.actions)?t.actions:Rfe({},Ndt,t.actions??{}),a={...Odt,...t.i18n},s=t.renderer??"canvas",l=t.logLevel??md.Warn,c=t.downloadFileName??"visualization",u="string"==typeof e?document.querySelector(e):e;if(!u)throw new Error(`${e} does not exist`);if(!1!==t.defaultStyle){const S="vega-embed-style",{root:I,rootContainer:w}=function $dt(e){const n=e.getRootNode?e.getRootNode():document;return n instanceof ShadowRoot?{root:n,rootContainer:n}:{root:document,rootContainer:document.head??document.body}}(u);if(!I.getElementById(S)){const O=document.createElement("style");O.id=S,O.innerHTML=void 0===t.defaultStyle||!0===t.defaultStyle?pdt.toString():t.defaultStyle,w.appendChild(O)}}const d=function Vdt(e,n){if(e.$schema){const t=Qpe(e.$schema);n&&n!==t.library&&console.warn(`The given visualization spec is written in ${g2[t.library]}, but mode argument sets ${g2[n]??n}.`);const i=t.library;return Ife(ID[i],`^${t.version.slice(1)}`)||console.warn(`The input spec uses ${g2[i]} ${t.version}, but the current version of ${g2[i]} is v${ID[i]}.`),i}return"mark"in e||"encoding"in e||"layer"in e||"hconcat"in e||"vconcat"in e||"facet"in e||"repeat"in e?"vega-lite":"marks"in e||"signals"in e||"scales"in e||"axes"in e?"vega":n??"vega"}(n,t.mode);let p=Hdt[d](n,r);if("vega-lite"===d&&p.$schema){const S=Qpe(p.$schema);Ife(ID.vega,`^${S.version.slice(1)}`)||console.warn(`The compiled spec uses Vega ${S.version}, but current version is v${ID.vega}.`)}u.classList.add("vega-embed"),o&&u.classList.add("has-actions"),u.innerHTML="";let f=u;if(o){const S=document.createElement("div");S.classList.add(Bdt),u.appendChild(S),f=S}const h=t.patch;if(h&&(p=h instanceof Function?h(p):$w(p,h,!0,!1).newDocument),t.formatLocale&&md.formatLocale(t.formatLocale),t.timeFormatLocale&&md.timeFormatLocale(t.timeFormatLocale),t.expressionFunctions)for(const S in t.expressionFunctions){const I=t.expressionFunctions[S];"fn"in I?md.expressionFunction(S,I.fn,I.visitor):I instanceof Function&&md.expressionFunction(S,I)}const{ast:g}=t,m=md.parse(p,"vega-lite"===d?{}:r,{ast:g}),_=new(t.viewClass||md.View)(m,{loader:i,logLevel:l,renderer:s,...g?{expr:md.expressionInterpreter??t.expr??Yet}:{}});if(_.addSignalListener("autosize",(S,I)=>{const{type:w}=I;"fit-x"==w?(f.classList.add("fit-x"),f.classList.remove("fit-y")):"fit-y"==w?(f.classList.remove("fit-x"),f.classList.add("fit-y")):"fit"==w?f.classList.add("fit-x","fit-y"):f.classList.remove("fit-x","fit-y")}),!1!==t.tooltip){const{loader:S,tooltip:I}=t,w=S&&!kfe(S)?S?.baseURL:void 0,O=function Ydt(e){return"function"==typeof e}(I)?I:new vfe({baseURL:w,...!0===I?{}:I}).call;_.tooltip(O)}let C,{hover:v}=t;if(void 0===v&&(v="vega"===d),v){const{hoverSet:S,updateSet:I}="boolean"==typeof v?{}:v;_.hover(S,I)}if(t&&(null!=t.width&&_.width(t.width),null!=t.height&&_.height(t.height),null!=t.padding&&_.padding(t.padding)),yield _.initialize(f,t.bind).runAsync(),!1!==o){let S=u;if(!1!==t.defaultStyle||t.forceActionsMenu){const w=document.createElement("details");w.title=a.CLICK_TO_VIEW_ACTIONS,u.append(w),S=w;const O=document.createElement("summary");O.innerHTML=Gdt,w.append(O),C=B=>{w.contains(B.target)||w.removeAttribute("open")},document.addEventListener("click",C)}const I=document.createElement("div");if(S.append(I),I.classList.add("vega-actions"),!0===o||!1!==o.export)for(const w of["svg","png"])if(!0===o||!0===o.export||o.export[w]){const O=a[`${w.toUpperCase()}_ACTION`],B=document.createElement("a"),W=Je(t.scaleFactor)?t.scaleFactor[w]:t.scaleFactor;B.text=O,B.href="#",B.target="_blank",B.download=`${c}.${w}`,B.addEventListener("mousedown",function(){var q=zr(function*(te){te.preventDefault();const K=yield _.toImageURL(w,W);this.href=K});return function(te){return q.apply(this,arguments)}}()),I.append(B)}if(!0===o||!1!==o.source){const w=document.createElement("a");w.text=a.SOURCE_ACTION,w.href="#",w.addEventListener("click",function(O){Mfe(x9()(n),t.sourceHeader??"",t.sourceFooter??"",d),O.preventDefault()}),I.append(w)}if("vega-lite"===d&&(!0===o||!1!==o.compiled)){const w=document.createElement("a");w.text=a.COMPILED_ACTION,w.href="#",w.addEventListener("click",function(O){Mfe(x9()(p),t.sourceHeader??"",t.sourceFooter??"","vega"),O.preventDefault()}),I.append(w)}if(!0===o||!1!==o.editor){const w=t.editorUrl??"https://vega.github.io/editor/",O=document.createElement("a");O.text=a.EDITOR_ACTION,O.href="#",O.addEventListener("click",function(B){(function ddt(e,n,t){const i=e.open(n),{origin:a}=new URL(n);let s=40;e.addEventListener("message",function l(u){u.source===i&&(s=0,e.removeEventListener("message",l,!1))},!1),setTimeout(function c(){s<=0||(i.postMessage(t,a),setTimeout(c,250),s-=1)},250)})(window,w,{config:r,mode:h?"vega":d,renderer:s,spec:x9()(h?p:n)}),B.preventDefault()}),I.append(O)}}return{view:_,spec:n,vgSpec:p,finalize:function A(){C&&document.removeEventListener("click",C),_.finalize()},embedOptions:t}}),RH.apply(this,arguments)}const jdt=JSON.parse('{"$schema":"https://vega.github.io/schema/vega/v5.json","description":"A searchable, stacked area chart of U.S. occupations from 1850 to 2000.","signals":[{"name":"customExtent","value":[1700,2100]},{"name":"sex","value":"all"},{"name":"query","value":"","on":[{"events":"area:click!","update":"datum.job"},{"events":"dblclick!","update":"\'\'"}],"bind":{"element":"#voyager-text-input","event":"blur"}}],"data":[{"name":"jobs","url":"https://raw.githubusercontent.com/vega/vega/main/docs/data/jobs.json","transform":[{"type":"filter","expr":"datum.year >= customExtent[0] && datum.year <= customExtent[1]"},{"type":"filter","expr":"(sex === \'all\' || datum.sex === sex) && (!query || test(regexp(query,\'i\'), datum.job)) && (datum.year >= customExtent[0] && datum.year <= customExtent[1])"},{"type":"stack","field":"perc","groupby":["year"],"sort":{"field":["job","sex"],"order":["descending","descending"]}}]},{"name":"series","source":"jobs","transform":[{"type":"aggregate","groupby":["job","sex"],"fields":["perc","perc"],"ops":["sum","argmax"],"as":["sum","argmax"]}]}],"scales":[{"name":"x","type":"linear","range":"width","zero":false,"round":true,"domain":{"data":"jobs","field":"year"}},{"name":"y","type":"linear","range":"height","round":true,"zero":true,"domain":{"data":"jobs","field":"y1"}},{"name":"color","type":"ordinal","domain":["men","women"],"range":["#33f","#f33"]},{"name":"alpha","type":"linear","zero":true,"domain":{"data":"series","field":"sum"},"range":[0.4,0.8]},{"name":"font","type":"sqrt","range":[0,30],"round":true,"zero":true,"domain":{"data":"series","field":"argmax.perc"}},{"name":"opacity","type":"quantile","range":[0,0,0,0,0,0.1,0.2,0.4,0.7,1],"domain":{"data":"series","field":"argmax.perc"}},{"name":"align","type":"quantize","range":["left","center","right"],"zero":false,"domain":[1730,2130]},{"name":"offset","type":"quantize","range":[6,0,-6],"zero":false,"domain":[1730,2130]}],"axes":[{"orient":"bottom","scale":"x","format":"d","tickCount":15,"labelFontSize":16},{"orient":"right","scale":"y","format":"%","labelFontSize":16,"grid":true,"domain":false,"tickSize":12,"encode":{"grid":{"enter":{"stroke":{"value":"#ccc"}}},"ticks":{"enter":{"stroke":{"value":"#ccc"}}}}}],"marks":[{"type":"group","from":{"data":"series","facet":{"name":"facet","data":"jobs","groupby":["job","sex"]}},"marks":[{"type":"area","from":{"data":"facet"},"encode":{"update":{"x":{"scale":"x","field":"year"},"y":{"scale":"y","field":"y0"},"y2":{"scale":"y","field":"y1"},"fill":{"scale":"color","field":"sex"},"fillOpacity":{"scale":"alpha","field":{"parent":"sum"}}},"hover":{"fillOpacity":{"value":0.2}}}}]},{"type":"text","from":{"data":"series"},"interactive":false,"encode":{"update":{"x":{"scale":"x","field":"argmax.year"},"dx":{"scale":"offset","field":"argmax.year"},"y":{"signal":"scale(\'y\', 0.5 * (datum.argmax.y0 + datum.argmax.y1))"},"fill":{"value":"#000"},"fillOpacity":{"scale":"opacity","field":"argmax.perc"},"fontSize":{"scale":"font","field":"argmax.perc","offset":5},"text":{"field":"job"},"align":{"scale":"align","field":"argmax.year"},"baseline":{"value":"middle"}}}}]}'),Wdt=function(){return{floor:1850,ceil:2e3,showTicks:!0,tickStep:25}};let Ofe=(()=>{class e{constructor(t,i){this.router=t,this.route=i,this.data=[{label:"Men",value:"men"},{label:"Women",value:"women"},{label:"All",value:"all"}],this.selected="all",this.jobvoyagerVegaSpec=jdt}ngOnInit(){}ngAfterViewInit(){this.updateVis()}changeRadioButtonSelection(t){console.log(t),this.view?.signal("sex",t).runAsync()}changeSliderSelection(t){this.jobvoyagerVegaSpec={...this.jobvoyagerVegaSpec,signals:[{name:"customExtent",value:[t.value,t.highValue]},{name:"sex",value:this.view?.signal("sex")},{name:"query",value:this.view?.signal("query"),on:[{events:"area:click!",update:"datum.job"},{events:"dblclick!",update:"''"}]}]},this.updateVis()}updateVis(){let t="#visualization-canvas";this.jobvoyagerVegaSpec.width=Yw(t).parent().width()-100,this.jobvoyagerVegaSpec.height=.66*this.jobvoyagerVegaSpec.width,RD(t,this.jobvoyagerVegaSpec,{renderer:"svg",actions:!1}).then(i=>{this.view=i.view,this.view.signal("sex",this.selected).runAsync()})}}return e.\u0275fac=function(t){return new(t||e)(ie(ar),ie(rs))},e.\u0275cmp=mt({type:e,selectors:[["vega-example"]],features:[Zt([])],decls:38,vars:9,consts:[[1,"container"],[1,"row"],[1,"col-md-12"],[1,"text-center"],[1,"col-md-3"],[1,"p-sm"],[1,"control-panel-header"],[1,"w-100"],[1,"panel-heading","display-inline"],[1,"form-group"],["for","voyager-radio-input"],[3,"mode","data","name","selected","selectedChange"],["for","voyager-slider-input"],[3,"mode","value","highValue","options","userChangeEnd"],[1,"col-md-9"],[1,"visualization-header"],[1,"w-100","h-fullpanel"],["id","visualization-canvas"]],template:function(t,i){1&t&&(V(0,"div",0)(1,"div",1)(2,"div",2),Te(3,"br"),V(4,"h4",3),Ie(5,"Vega Integration"),j()()(),V(6,"div",1)(7,"div",4)(8,"div",5)(9,"div",6)(10,"table",7)(11,"tr")(12,"td")(13,"h6",8),Ie(14,"Control Panel"),j()()()()(),V(15,"div",5)(16,"form")(17,"div",9)(18,"label",10),Ie(19,"Sex"),j(),V(20,"provenance-radiobutton",11),ge("selectedChange",function(o){return i.selected=o})("selectedChange",function(o){return i.changeRadioButtonSelection(o)}),j()(),Te(21,"hr"),V(22,"div",9)(23,"label",12),Ie(24,"Year"),j(),V(25,"provenance-slider",13),ge("userChangeEnd",function(o){return i.changeSliderSelection(o)}),j()(),Te(26,"hr"),j()()()(),V(27,"div",14)(28,"div",5)(29,"div",15)(30,"table",7)(31,"tr")(32,"td")(33,"h6",8),Ie(34,"Visualization"),j()()()()(),V(35,"div",5)(36,"div",16),Te(37,"div",17),j()()()()()()),2&t&&(G(20),R("mode","interaction")("data",i.data)("name","voyager-radio-input")("selected",i.selected),G(5),R("mode","interaction")("value",1850)("highValue",2e3)("options",Bo(8,Wdt)))},dependencies:[cT,iT,mg,xf,Zy],styles:[".p-multiselect-panel{width:250px!important}"]}),e})();const qdt=JSON.parse('{"$schema":"https://vega.github.io/schema/vega-lite/v5.json","description":"","data":{"values":[]},"layer":[{"mark":{"type":"point","tooltip":true,"filled":true,"size":200},"encoding":{"x":{"field":"Basement Area","type":"quantitative","axis":{"labelFontSize":18,"titleFontSize":20},"scale":{"zero":false}},"y":{"field":"Lot Area","type":"quantitative","axis":{"labelFontSize":18,"titleFontSize":20},"scale":{"zero":false}},"color":{"field":"Home Type","type":"nominal","legend":{"orient":"top","labelFontSize":18,"titleFontSize":20}}}}]}'),L1=JSON.parse('[{"Lot Area":11241,"Lot Config":"CulDSac","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1004,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2010,"Price":149000,"Satisfaction":8},{"Lot Area":8246,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1060,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"MnPrv","Year":2010,"Price":154000,"Satisfaction":8},{"Lot Area":7200,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":900,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2010,"Price":134800,"Satisfaction":3},{"Lot Area":11478,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1704,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2010,"Price":306000,"Satisfaction":5},{"Lot Area":10552,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":1398,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2010,"Price":165500,"Satisfaction":3},{"Lot Area":7922,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1057,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2010,"Price":109000,"Satisfaction":5},{"Lot Area":7658,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":1752,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2010,"Price":319900,"Satisfaction":5},{"Lot Area":8472,"Lot Config":"Corner","Home Type":"Duplex","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":816,"Heating Type":"GasA","Central Air":"N","Rooms":5,"Fireplaces":0,"Garage Type":"CarPort","Fence Type":"NA","Year":2010,"Price":110000,"Satisfaction":8},{"Lot Area":10300,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":576,"Heating Type":"GasA","Central Air":"Y","Rooms":9,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"GdPrv","Year":2010,"Price":140000,"Satisfaction":8},{"Lot Area":19900,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1947,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2010,"Price":180000,"Satisfaction":2},{"Lot Area":4608,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":747,"Heating Type":"GasA","Central Air":"Y","Rooms":4,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2010,"Price":80000,"Satisfaction":10},{"Lot Area":10200,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1086,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"GdWo","Year":2010,"Price":144900,"Satisfaction":8},{"Lot Area":5790,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gambrel","Foundation Type":"CBlock","Basement Area":840,"Heating Type":"GasA","Central Air":"N","Rooms":8,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2010,"Price":107400,"Satisfaction":10},{"Lot Area":10778,"Lot Config":"Inside","Home Type":"Duplex","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":1768,"Heating Type":"GasA","Central Air":"N","Rooms":8,"Fireplaces":0,"Garage Type":"NA","Fence Type":"NA","Year":2010,"Price":136500,"Satisfaction":8},{"Lot Area":10625,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":458,"Heating Type":"GasA","Central Air":"N","Rooms":5,"Fireplaces":0,"Garage Type":"Basment","Fence Type":"NA","Year":2010,"Price":83000,"Satisfaction":3},{"Lot Area":9320,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":950,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"NA","Fence Type":"NA","Year":2010,"Price":128950,"Satisfaction":1},{"Lot Area":10603,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1610,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":2,"Garage Type":"Attchd","Fence Type":"NA","Year":2010,"Price":205000,"Satisfaction":4},{"Lot Area":9206,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":741,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2010,"Price":178000,"Satisfaction":10},{"Lot Area":10402,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1226,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2010,"Price":198900,"Satisfaction":6},{"Lot Area":11751,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":1844,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"MnPrv","Year":2010,"Price":190000,"Satisfaction":2},{"Lot Area":7750,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":384,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"BuiltIn","Fence Type":"NA","Year":2010,"Price":180000,"Satisfaction":2},{"Lot Area":12376,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":1673,"Heating Type":"GasA","Central Air":"Y","Rooms":11,"Fireplaces":2,"Garage Type":"Attchd","Fence Type":"NA","Year":2010,"Price":320000,"Satisfaction":1},{"Lot Area":10500,"Lot Config":"FR2","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":864,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":1,"Garage Type":"NA","Fence Type":"NA","Year":2010,"Price":115000,"Satisfaction":3},{"Lot Area":8520,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":910,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"MnPrv","Year":2010,"Price":166000,"Satisfaction":4},{"Lot Area":9505,"Lot Config":"CulDSac","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":884,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"BuiltIn","Fence Type":"NA","Year":2010,"Price":222500,"Satisfaction":4},{"Lot Area":12003,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":774,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"BuiltIn","Fence Type":"NA","Year":2010,"Price":269500,"Satisfaction":2},{"Lot Area":12552,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":991,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"GdWo","Year":2010,"Price":254900,"Satisfaction":1},{"Lot Area":12182,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1541,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2010,"Price":220000,"Satisfaction":10},{"Lot Area":31770,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":1080,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":2,"Garage Type":"Attchd","Fence Type":"NA","Year":2010,"Price":215000,"Satisfaction":2},{"Lot Area":8546,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1121,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2010,"Price":140000,"Satisfaction":2},{"Lot Area":10420,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1212,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2010,"Price":186000,"Satisfaction":1},{"Lot Area":10900,"Lot Config":"FR2","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":689,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"MnPrv","Year":2010,"Price":161750,"Satisfaction":4},{"Lot Area":8521,"Lot Config":"FR2","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":912,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":1,"Garage Type":"Detchd","Fence Type":"MnPrv","Year":2010,"Price":125000,"Satisfaction":5},{"Lot Area":8760,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":1194,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2010,"Price":148000,"Satisfaction":6},{"Lot Area":10650,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":894,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"MnPrv","Year":2010,"Price":128200,"Satisfaction":3},{"Lot Area":7851,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":860,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":2,"Garage Type":"BuiltIn","Fence Type":"NA","Year":2010,"Price":216500,"Satisfaction":9},{"Lot Area":8773,"Lot Config":"FR2","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1414,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2010,"Price":185500,"Satisfaction":3},{"Lot Area":9453,"Lot Config":"CulDSac","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":996,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2010,"Price":194500,"Satisfaction":9},{"Lot Area":8741,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":735,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Detchd","Fence Type":"MnPrv","Year":2010,"Price":113000,"Satisfaction":4},{"Lot Area":9000,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1566,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2010,"Price":262500,"Satisfaction":1},{"Lot Area":8880,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":948,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":2,"Garage Type":"Attchd","Fence Type":"NA","Year":2010,"Price":205000,"Satisfaction":9},{"Lot Area":5350,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":728,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"NA","Fence Type":"GdWo","Year":2010,"Price":76500,"Satisfaction":3},{"Lot Area":8400,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1314,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2010,"Price":145000,"Satisfaction":1},{"Lot Area":5500,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":926,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2010,"Price":130000,"Satisfaction":2},{"Lot Area":11764,"Lot Config":"CulDSac","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1152,"Heating Type":"GasA","Central Air":"Y","Rooms":9,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2010,"Price":290000,"Satisfaction":4},{"Lot Area":9196,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1560,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2010,"Price":201000,"Satisfaction":7},{"Lot Area":19138,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":864,"Heating Type":"GasA","Central Air":"Y","Rooms":4,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2010,"Price":141000,"Satisfaction":3},{"Lot Area":9819,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":882,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"MnPrv","Year":2010,"Price":122000,"Satisfaction":5},{"Lot Area":11275,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Mansard","Foundation Type":"CBlock","Basement Area":710,"Heating Type":"GasA","Central Air":"Y","Rooms":11,"Fireplaces":1,"Garage Type":"BuiltIn","Fence Type":"NA","Year":2010,"Price":242000,"Satisfaction":6},{"Lot Area":14191,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":967,"Heating Type":"GasA","Central Air":"Y","Rooms":9,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2010,"Price":202900,"Satisfaction":2},{"Lot Area":2592,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":536,"Heating Type":"GasA","Central Air":"Y","Rooms":4,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2010,"Price":85000,"Satisfaction":9},{"Lot Area":8520,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":624,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2010,"Price":105900,"Satisfaction":6},{"Lot Area":7800,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1268,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2010,"Price":132000,"Satisfaction":10},{"Lot Area":9830,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1063,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Detchd","Fence Type":"NA","Year":2010,"Price":162000,"Satisfaction":2},{"Lot Area":7175,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":744,"Heating Type":"GasA","Central Air":"Y","Rooms":4,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"MnPrv","Year":2010,"Price":125000,"Satisfaction":7},{"Lot Area":11394,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":1856,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2010,"Price":394432,"Satisfaction":1},{"Lot Area":5000,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":1026,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Detchd","Fence Type":"NA","Year":2010,"Price":127000,"Satisfaction":6},{"Lot Area":3182,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1256,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2010,"Price":192000,"Satisfaction":2},{"Lot Area":9571,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1144,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2010,"Price":129000,"Satisfaction":9},{"Lot Area":4403,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1470,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2010,"Price":222000,"Satisfaction":9},{"Lot Area":8960,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1008,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":1,"Garage Type":"Detchd","Fence Type":"NA","Year":2010,"Price":115000,"Satisfaction":2},{"Lot Area":8450,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1056,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2010,"Price":142000,"Satisfaction":10},{"Lot Area":16492,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1517,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2010,"Price":190000,"Satisfaction":4},{"Lot Area":6820,"Lot Config":"Corner","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1488,"Heating Type":"GasA","Central Air":"Y","Rooms":4,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2010,"Price":212000,"Satisfaction":3},{"Lot Area":15602,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1501,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":2,"Garage Type":"Attchd","Fence Type":"GdWo","Year":2010,"Price":289000,"Satisfaction":7},{"Lot Area":7200,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"Slab","Basement Area":0,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":1,"Garage Type":"Detchd","Fence Type":"NA","Year":2010,"Price":107500,"Satisfaction":5},{"Lot Area":11423,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1581,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"MnPrv","Year":2010,"Price":272000,"Satisfaction":10},{"Lot Area":11341,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":1392,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":1,"Garage Type":"Detchd","Fence Type":"NA","Year":2010,"Price":121500,"Satisfaction":8},{"Lot Area":6858,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":806,"Heating Type":"GasA","Central Air":"N","Rooms":6,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2010,"Price":128000,"Satisfaction":7},{"Lot Area":10171,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1517,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2010,"Price":214000,"Satisfaction":7},{"Lot Area":3182,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":600,"Heating Type":"GasA","Central Air":"Y","Rooms":4,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2010,"Price":151000,"Satisfaction":2},{"Lot Area":1491,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":630,"Heating Type":"GasA","Central Air":"Y","Rooms":3,"Fireplaces":0,"Garage Type":"NA","Fence Type":"NA","Year":2010,"Price":75500,"Satisfaction":1},{"Lot Area":8800,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":936,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"MnPrv","Year":2010,"Price":137500,"Satisfaction":2},{"Lot Area":10000,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":1116,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2010,"Price":160000,"Satisfaction":2},{"Lot Area":9600,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1156,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":2,"Garage Type":"Basment","Fence Type":"NA","Year":2010,"Price":153000,"Satisfaction":6},{"Lot Area":6979,"Lot Config":"Inside","Home Type":"Duplex","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1056,"Heating Type":"GasA","Central Air":"Y","Rooms":4,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"GdPrv","Year":2010,"Price":144000,"Satisfaction":7},{"Lot Area":7700,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":756,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2010,"Price":155000,"Satisfaction":4},{"Lot Area":1680,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":525,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2010,"Price":88000,"Satisfaction":4},{"Lot Area":17503,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":912,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2010,"Price":97500,"Satisfaction":5},{"Lot Area":8012,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":923,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2010,"Price":143000,"Satisfaction":9},{"Lot Area":16770,"Lot Config":"CulDSac","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1195,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2010,"Price":221000,"Satisfaction":2},{"Lot Area":8450,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":894,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":1,"Garage Type":"Detchd","Fence Type":"MnPrv","Year":2010,"Price":138500,"Satisfaction":10},{"Lot Area":7630,"Lot Config":"Inside","Home Type":"Condo","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":360,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"Detchd","Fence Type":"MnPrv","Year":2010,"Price":140000,"Satisfaction":4},{"Lot Area":8400,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1473,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2010,"Price":213000,"Satisfaction":9},{"Lot Area":5600,"Lot Config":"Inside","Home Type":"Condo","Roof Style":"Hip","Foundation Type":"Slab","Basement Area":0,"Heating Type":"GasA","Central Air":"N","Rooms":7,"Fireplaces":0,"Garage Type":"NA","Fence Type":"NA","Year":2010,"Price":55000,"Satisfaction":9},{"Lot Area":8712,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"Stone","Basement Area":859,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2010,"Price":102776,"Satisfaction":9},{"Lot Area":13517,"Lot Config":"CulDSac","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":725,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2010,"Price":130500,"Satisfaction":6},{"Lot Area":4426,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":848,"Heating Type":"GasA","Central Air":"Y","Rooms":3,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2010,"Price":143000,"Satisfaction":4},{"Lot Area":5389,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1595,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2010,"Price":236500,"Satisfaction":7},{"Lot Area":10593,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":1720,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2010,"Price":260400,"Satisfaction":4},{"Lot Area":8800,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":576,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"NA","Fence Type":"NA","Year":2010,"Price":96500,"Satisfaction":2},{"Lot Area":11616,"Lot Config":"CulDSac","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":672,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"GdPrv","Year":2010,"Price":158900,"Satisfaction":6},{"Lot Area":8640,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":756,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2010,"Price":215200,"Satisfaction":1},{"Lot Area":10421,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":980,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"MnPrv","Year":2010,"Price":196500,"Satisfaction":9},{"Lot Area":53504,"Lot Config":"CulDSac","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":1650,"Heating Type":"GasA","Central Air":"Y","Rooms":12,"Fireplaces":1,"Garage Type":"BuiltIn","Fence Type":"NA","Year":2010,"Price":538000,"Satisfaction":8},{"Lot Area":7819,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1029,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Detchd","Fence Type":"MnPrv","Year":2010,"Price":107000,"Satisfaction":7},{"Lot Area":10800,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":686,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2010,"Price":139000,"Satisfaction":10},{"Lot Area":10142,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":956,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":0,"Garage Type":"BuiltIn","Fence Type":"NA","Year":2010,"Price":233000,"Satisfaction":6},{"Lot Area":8400,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":650,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"MnPrv","Year":2010,"Price":171000,"Satisfaction":8},{"Lot Area":8712,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":540,"Heating Type":"GasA","Central Air":"N","Rooms":4,"Fireplaces":0,"Garage Type":"Basment","Fence Type":"NA","Year":2010,"Price":55993,"Satisfaction":9},{"Lot Area":12137,"Lot Config":"CulDSac","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1649,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2010,"Price":224900,"Satisfaction":8},{"Lot Area":8816,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1010,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"MnPrv","Year":2010,"Price":155000,"Satisfaction":10},{"Lot Area":6371,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1358,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2010,"Price":224000,"Satisfaction":9},{"Lot Area":9548,"Lot Config":"CulDSac","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":941,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2010,"Price":237000,"Satisfaction":9},{"Lot Area":9600,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1067,"Heating Type":"GasA","Central Air":"Y","Rooms":4,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2010,"Price":128000,"Satisfaction":9},{"Lot Area":6897,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1040,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2010,"Price":127000,"Satisfaction":1},{"Lot Area":11625,"Lot Config":"Inside","Home Type":"Condo","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":1039,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2010,"Price":131500,"Satisfaction":2},{"Lot Area":9672,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":1040,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"GdPrv","Year":2010,"Price":152000,"Satisfaction":10},{"Lot Area":9938,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1050,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"GdPrv","Year":2010,"Price":236000,"Satisfaction":1},{"Lot Area":8750,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":804,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2010,"Price":200500,"Satisfaction":4},{"Lot Area":11782,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1109,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"MnPrv","Year":2010,"Price":148000,"Satisfaction":7},{"Lot Area":12919,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":2330,"Heating Type":"GasA","Central Air":"Y","Rooms":11,"Fireplaces":2,"Garage Type":"Attchd","Fence Type":"NA","Year":2010,"Price":611657,"Satisfaction":1},{"Lot Area":9920,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1056,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"MnPrv","Year":2010,"Price":128000,"Satisfaction":8},{"Lot Area":11600,"Lot Config":"Corner","Home Type":"Duplex","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1105,"Heating Type":"GasA","Central Air":"Y","Rooms":12,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2010,"Price":154300,"Satisfaction":5},{"Lot Area":24090,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1032,"Heating Type":"GasA","Central Air":"Y","Rooms":10,"Fireplaces":2,"Garage Type":"Attchd","Fence Type":"NA","Year":2010,"Price":244400,"Satisfaction":3},{"Lot Area":9360,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":1161,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2010,"Price":197500,"Satisfaction":2},{"Lot Area":2572,"Lot Config":"FR2","Home Type":"Townhouse","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":696,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2010,"Price":155000,"Satisfaction":3},{"Lot Area":7207,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":858,"Heating Type":"GasA","Central Air":"Y","Rooms":4,"Fireplaces":0,"Garage Type":"NA","Fence Type":"NA","Year":2010,"Price":116500,"Satisfaction":6},{"Lot Area":11316,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":817,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"BuiltIn","Fence Type":"NA","Year":2010,"Price":214900,"Satisfaction":2},{"Lot Area":7892,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":918,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2010,"Price":99500,"Satisfaction":7},{"Lot Area":10159,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":1930,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2010,"Price":395192,"Satisfaction":1},{"Lot Area":6762,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1187,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2010,"Price":206000,"Satisfaction":2},{"Lot Area":9825,"Lot Config":"Inside","Home Type":"Duplex","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":0,"Heating Type":"GasA","Central Air":"N","Rooms":8,"Fireplaces":0,"Garage Type":"NA","Fence Type":"NA","Year":2010,"Price":100000,"Satisfaction":7},{"Lot Area":9300,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1268,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":2,"Garage Type":"Attchd","Fence Type":"NA","Year":2010,"Price":167500,"Satisfaction":1},{"Lot Area":11100,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":0,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2010,"Price":84900,"Satisfaction":10},{"Lot Area":8562,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":1216,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Basment","Fence Type":"NA","Year":2010,"Price":144500,"Satisfaction":4},{"Lot Area":4920,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1338,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2010,"Price":213500,"Satisfaction":6},{"Lot Area":14000,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1306,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2010,"Price":328000,"Satisfaction":6},{"Lot Area":7500,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1040,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"MnPrv","Year":2010,"Price":133000,"Satisfaction":7},{"Lot Area":9069,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":936,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2010,"Price":147000,"Satisfaction":4},{"Lot Area":1974,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":546,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2010,"Price":83500,"Satisfaction":9},{"Lot Area":5868,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":936,"Heating Type":"GasA","Central Air":"Y","Rooms":4,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2010,"Price":129000,"Satisfaction":6},{"Lot Area":12256,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1463,"Heating Type":"GasA","Central Air":"Y","Rooms":9,"Fireplaces":2,"Garage Type":"Attchd","Fence Type":"NA","Year":2010,"Price":325000,"Satisfaction":4},{"Lot Area":6342,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":780,"Heating Type":"GasA","Central Air":"N","Rooms":6,"Fireplaces":0,"Garage Type":"NA","Fence Type":"NA","Year":2010,"Price":94000,"Satisfaction":10},{"Lot Area":12180,"Lot Config":"Inside","Home Type":"Condo","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":672,"Heating Type":"Grav","Central Air":"N","Rooms":5,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"MnPrv","Year":2010,"Price":80000,"Satisfaction":10},{"Lot Area":2280,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":855,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2010,"Price":146000,"Satisfaction":9},{"Lot Area":10475,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1694,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2010,"Price":245350,"Satisfaction":6},{"Lot Area":7500,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":994,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2010,"Price":189000,"Satisfaction":2},{"Lot Area":9364,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":663,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"MnPrv","Year":2010,"Price":158000,"Satisfaction":1},{"Lot Area":11218,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1055,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"GdPrv","Year":2010,"Price":189000,"Satisfaction":9},{"Lot Area":12134,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"Wood","Basement Area":559,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":0,"Garage Type":"Basment","Fence Type":"NA","Year":2010,"Price":164000,"Satisfaction":7},{"Lot Area":8930,"Lot Config":"Inside","Home Type":"Duplex","Roof Style":"Gable","Foundation Type":"Slab","Basement Area":0,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2010,"Price":112000,"Satisfaction":8},{"Lot Area":12160,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":1188,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"MnPrv","Year":2010,"Price":142000,"Satisfaction":7},{"Lot Area":2628,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":764,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"BuiltIn","Fence Type":"NA","Year":2010,"Price":175500,"Satisfaction":6},{"Lot Area":10625,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1053,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":2,"Garage Type":"Attchd","Fence Type":"MnPrv","Year":2010,"Price":170000,"Satisfaction":7},{"Lot Area":12328,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1012,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2010,"Price":169900,"Satisfaction":10},{"Lot Area":11160,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":2110,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":2,"Garage Type":"Attchd","Fence Type":"NA","Year":2010,"Price":244000,"Satisfaction":8},{"Lot Area":13214,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":2002,"Heating Type":"GasA","Central Air":"Y","Rooms":10,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2010,"Price":378500,"Satisfaction":7},{"Lot Area":23595,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Shed","Foundation Type":"PConc","Basement Area":1332,"Heating Type":"GasA","Central Air":"Y","Rooms":4,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2010,"Price":260000,"Satisfaction":5},{"Lot Area":7500,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":698,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2010,"Price":68400,"Satisfaction":4},{"Lot Area":9400,"Lot Config":"Corner","Home Type":"Duplex","Roof Style":"Mansard","Foundation Type":"CBlock","Basement Area":912,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":0,"Garage Type":"NA","Fence Type":"NA","Year":2010,"Price":139000,"Satisfaction":5},{"Lot Area":9638,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":804,"Heating Type":"GasA","Central Air":"Y","Rooms":10,"Fireplaces":1,"Garage Type":"Detchd","Fence Type":"NA","Year":2010,"Price":169000,"Satisfaction":7},{"Lot Area":9790,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":1328,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":2,"Garage Type":"Attchd","Fence Type":"NA","Year":2010,"Price":143000,"Satisfaction":10},{"Lot Area":14112,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":1152,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2010,"Price":180500,"Satisfaction":2},{"Lot Area":7500,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":1246,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"GdPrv","Year":2010,"Price":154000,"Satisfaction":7},{"Lot Area":17500,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1902,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":2,"Garage Type":"Attchd","Fence Type":"NA","Year":2010,"Price":335000,"Satisfaction":5},{"Lot Area":14774,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1393,"Heating Type":"GasA","Central Air":"Y","Rooms":10,"Fireplaces":1,"Garage Type":"BuiltIn","Fence Type":"NA","Year":2010,"Price":333168,"Satisfaction":4},{"Lot Area":10186,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":750,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2010,"Price":190000,"Satisfaction":7},{"Lot Area":14720,"Lot Config":"CulDSac","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":2033,"Heating Type":"GasA","Central Air":"Y","Rooms":9,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2010,"Price":410000,"Satisfaction":2},{"Lot Area":12537,"Lot Config":"CulDSac","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1078,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2010,"Price":149900,"Satisfaction":7},{"Lot Area":2117,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":756,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2010,"Price":177500,"Satisfaction":5},{"Lot Area":7500,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":814,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2010,"Price":216000,"Satisfaction":6},{"Lot Area":10635,"Lot Config":"FR2","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":1657,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2010,"Price":232000,"Satisfaction":10},{"Lot Area":8212,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":864,"Heating Type":"GasA","Central Air":"N","Rooms":5,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2010,"Price":58500,"Satisfaction":3},{"Lot Area":5436,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":796,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"MnPrv","Year":2010,"Price":125500,"Satisfaction":4},{"Lot Area":57200,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":747,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":2,"Garage Type":"Detchd","Fence Type":"NA","Year":2010,"Price":160000,"Satisfaction":2},{"Lot Area":7740,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":622,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2010,"Price":125500,"Satisfaction":7},{"Lot Area":11340,"Lot Config":"Inside","Home Type":"Condo","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":777,"Heating Type":"GasA","Central Air":"Y","Rooms":11,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2010,"Price":122500,"Satisfaction":10},{"Lot Area":4043,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1069,"Heating Type":"GasA","Central Air":"Y","Rooms":4,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2010,"Price":127500,"Satisfaction":9},{"Lot Area":7200,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":788,"Heating Type":"GasA","Central Air":"Y","Rooms":4,"Fireplaces":2,"Garage Type":"Attchd","Fence Type":"MnPrv","Year":2010,"Price":119000,"Satisfaction":6},{"Lot Area":7407,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":912,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"MnPrv","Year":2010,"Price":149700,"Satisfaction":1},{"Lot Area":26142,"Lot Config":"CulDSac","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1188,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2010,"Price":157900,"Satisfaction":8},{"Lot Area":13175,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1542,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":2,"Garage Type":"Attchd","Fence Type":"MnPrv","Year":2010,"Price":210000,"Satisfaction":9},{"Lot Area":9042,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"Stone","Basement Area":1152,"Heating Type":"GasA","Central Air":"Y","Rooms":9,"Fireplaces":2,"Garage Type":"Attchd","Fence Type":"GdPrv","Year":2010,"Price":266500,"Satisfaction":7},{"Lot Area":9717,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":1078,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2010,"Price":142125,"Satisfaction":2},{"Lot Area":14115,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"Wood","Basement Area":796,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"MnPrv","Year":2009,"Price":143000,"Satisfaction":2},{"Lot Area":10382,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1107,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":2,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":200000,"Satisfaction":2},{"Lot Area":7560,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":1029,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"MnPrv","Year":2009,"Price":139000,"Satisfaction":8},{"Lot Area":14230,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1566,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":256300,"Satisfaction":10},{"Lot Area":10859,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1097,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":145000,"Satisfaction":7},{"Lot Area":8532,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":1297,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":153000,"Satisfaction":10},{"Lot Area":12822,"Lot Config":"CulDSac","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1434,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":239686,"Satisfaction":9},{"Lot Area":4456,"Lot Config":"Inside","Home Type":"Condo","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":736,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":0,"Garage Type":"NA","Fence Type":"NA","Year":2009,"Price":113000,"Satisfaction":6},{"Lot Area":2645,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":970,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":172500,"Satisfaction":10},{"Lot Area":9375,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1057,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"GdPrv","Year":2009,"Price":219500,"Satisfaction":6},{"Lot Area":10141,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":832,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":185000,"Satisfaction":5},{"Lot Area":1596,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":462,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"BuiltIn","Fence Type":"GdWo","Year":2009,"Price":91000,"Satisfaction":5},{"Lot Area":10440,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":440,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"MnPrv","Year":2009,"Price":110000,"Satisfaction":6},{"Lot Area":13000,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":896,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":193500,"Satisfaction":9},{"Lot Area":8530,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":384,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"BuiltIn","Fence Type":"NA","Year":2009,"Price":168500,"Satisfaction":2},{"Lot Area":11911,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":684,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"BuiltIn","Fence Type":"NA","Year":2009,"Price":174000,"Satisfaction":1},{"Lot Area":3951,"Lot Config":"Corner","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":612,"Heating Type":"GasA","Central Air":"Y","Rooms":4,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2009,"Price":164500,"Satisfaction":2},{"Lot Area":8470,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":1013,"Heating Type":"GasA","Central Air":"N","Rooms":6,"Fireplaces":0,"Garage Type":"NA","Fence Type":"MnPrv","Year":2009,"Price":85000,"Satisfaction":1},{"Lot Area":13360,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":876,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2009,"Price":163500,"Satisfaction":3},{"Lot Area":9765,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":680,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"BuiltIn","Fence Type":"NA","Year":2009,"Price":185000,"Satisfaction":8},{"Lot Area":7018,"Lot Config":"Inside","Home Type":"Duplex","Roof Style":"Gable","Foundation Type":"Slab","Basement Area":0,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":118964,"Satisfaction":10},{"Lot Area":11616,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1092,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":139000,"Satisfaction":10},{"Lot Area":17043,"Lot Config":"CulDSac","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1362,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":181000,"Satisfaction":9},{"Lot Area":12224,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":992,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"BuiltIn","Fence Type":"NA","Year":2009,"Price":244000,"Satisfaction":5},{"Lot Area":6853,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1267,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":220000,"Satisfaction":10},{"Lot Area":15426,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":928,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"MnPrv","Year":2009,"Price":231500,"Satisfaction":3},{"Lot Area":10335,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1490,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":204000,"Satisfaction":6},{"Lot Area":6120,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":715,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2009,"Price":105000,"Satisfaction":8},{"Lot Area":10708,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":1617,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":3,"Garage Type":"Attchd","Fence Type":"GdWo","Year":2009,"Price":190000,"Satisfaction":10},{"Lot Area":17423,"Lot Config":"CulDSac","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":2216,"Heating Type":"GasA","Central Air":"Y","Rooms":9,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":501837,"Satisfaction":1},{"Lot Area":9947,"Lot Config":"CulDSac","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1188,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"GdPrv","Year":2009,"Price":173000,"Satisfaction":6},{"Lot Area":10410,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":660,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"MnPrv","Year":2009,"Price":135000,"Satisfaction":1},{"Lot Area":7018,"Lot Config":"Inside","Home Type":"Duplex","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1086,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":2,"Garage Type":"Detchd","Fence Type":"NA","Year":2009,"Price":153337,"Satisfaction":1},{"Lot Area":9017,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1431,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":192000,"Satisfaction":5},{"Lot Area":2280,"Lot Config":"FR2","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":855,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":148500,"Satisfaction":10},{"Lot Area":5520,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":755,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":0,"Garage Type":"NA","Fence Type":"MnPrv","Year":2009,"Price":104000,"Satisfaction":5},{"Lot Area":9591,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":1713,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":274900,"Satisfaction":3},{"Lot Area":3500,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":720,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"MnWw","Year":2009,"Price":110000,"Satisfaction":9},{"Lot Area":11851,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1424,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":180500,"Satisfaction":3},{"Lot Area":8640,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":900,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":252678,"Satisfaction":3},{"Lot Area":8068,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1010,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"BuiltIn","Fence Type":"NA","Year":2009,"Price":200000,"Satisfaction":7},{"Lot Area":10500,"Lot Config":"FR2","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":864,"Heating Type":"GasA","Central Air":"Y","Rooms":4,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2009,"Price":97000,"Satisfaction":9},{"Lot Area":13472,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":2392,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":386250,"Satisfaction":3},{"Lot Area":1680,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":630,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2009,"Price":112000,"Satisfaction":3},{"Lot Area":3182,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1373,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":192500,"Satisfaction":4},{"Lot Area":15138,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1462,"Heating Type":"GasA","Central Air":"Y","Rooms":9,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":403000,"Satisfaction":1},{"Lot Area":10762,"Lot Config":"Corner","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":626,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":120000,"Satisfaction":7},{"Lot Area":8814,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1604,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":220000,"Satisfaction":5},{"Lot Area":19296,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1362,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"GdWo","Year":2009,"Price":176000,"Satisfaction":5},{"Lot Area":9600,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":1240,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"MnPrv","Year":2009,"Price":139000,"Satisfaction":10},{"Lot Area":7264,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":952,"Heating Type":"GasW","Central Air":"N","Rooms":5,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2009,"Price":205000,"Satisfaction":4},{"Lot Area":5063,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1314,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":207500,"Satisfaction":7},{"Lot Area":9612,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1468,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":244600,"Satisfaction":9},{"Lot Area":11409,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":768,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":131000,"Satisfaction":3},{"Lot Area":9600,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":1416,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":2,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":167000,"Satisfaction":10},{"Lot Area":14000,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1092,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"GdPrv","Year":2009,"Price":158500,"Satisfaction":7},{"Lot Area":12342,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":861,"Heating Type":"GasA","Central Air":"Y","Rooms":4,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2009,"Price":82500,"Satisfaction":2},{"Lot Area":8000,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":972,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":1,"Garage Type":"Detchd","Fence Type":"NA","Year":2009,"Price":132000,"Satisfaction":1},{"Lot Area":215245,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":2136,"Heating Type":"GasW","Central Air":"Y","Rooms":8,"Fireplaces":2,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":375000,"Satisfaction":4},{"Lot Area":7795,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":716,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":188500,"Satisfaction":1},{"Lot Area":13005,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":845,"Heating Type":"GasA","Central Air":"Y","Rooms":10,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"GdPrv","Year":2009,"Price":260000,"Satisfaction":2},{"Lot Area":9900,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1347,"Heating Type":"GasA","Central Air":"Y","Rooms":9,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":260000,"Satisfaction":10},{"Lot Area":14115,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1372,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":2,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":187500,"Satisfaction":2},{"Lot Area":11888,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":844,"Heating Type":"GasA","Central Air":"N","Rooms":10,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2009,"Price":214500,"Satisfaction":10},{"Lot Area":6402,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":596,"Heating Type":"GasA","Central Air":"N","Rooms":6,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"GdWo","Year":2009,"Price":78000,"Satisfaction":5},{"Lot Area":10655,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":3206,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":284000,"Satisfaction":9},{"Lot Area":12400,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":1215,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":155000,"Satisfaction":1},{"Lot Area":8400,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":721,"Heating Type":"GasA","Central Air":"Y","Rooms":4,"Fireplaces":0,"Garage Type":"CarPort","Fence Type":"NA","Year":2009,"Price":82000,"Satisfaction":3},{"Lot Area":17600,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1478,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":2,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":157500,"Satisfaction":5},{"Lot Area":9248,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1158,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":173000,"Satisfaction":1},{"Lot Area":7301,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"Slab","Basement Area":0,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"BuiltIn","Fence Type":"NA","Year":2009,"Price":198500,"Satisfaction":3},{"Lot Area":1680,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":483,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2009,"Price":118000,"Satisfaction":2},{"Lot Area":10690,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":672,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2009,"Price":147000,"Satisfaction":10},{"Lot Area":9500,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1394,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":2,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":159000,"Satisfaction":9},{"Lot Area":10634,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":608,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"GdWo","Year":2009,"Price":123000,"Satisfaction":6},{"Lot Area":10020,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":683,"Heating Type":"GasA","Central Air":"N","Rooms":4,"Fireplaces":0,"Garage Type":"NA","Fence Type":"NA","Year":2009,"Price":61000,"Satisfaction":5},{"Lot Area":8123,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":982,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":179000,"Satisfaction":3},{"Lot Area":9000,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":784,"Heating Type":"GasA","Central Air":"N","Rooms":5,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2009,"Price":76000,"Satisfaction":4},{"Lot Area":7200,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":1041,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Detchd","Fence Type":"GdWo","Year":2009,"Price":125000,"Satisfaction":7},{"Lot Area":12209,"Lot Config":"CulDSac","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":804,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"BuiltIn","Fence Type":"NA","Year":2009,"Price":215000,"Satisfaction":2},{"Lot Area":7200,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":894,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2009,"Price":123000,"Satisfaction":1},{"Lot Area":8125,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1092,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":241000,"Satisfaction":5},{"Lot Area":9991,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1281,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"GdWo","Year":2009,"Price":150000,"Satisfaction":6},{"Lot Area":9571,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1276,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":60000,"Satisfaction":6},{"Lot Area":16635,"Lot Config":"FR2","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1602,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":215000,"Satisfaction":9},{"Lot Area":3378,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":651,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":2,"Garage Type":"Detchd","Fence Type":"NA","Year":2009,"Price":135000,"Satisfaction":9},{"Lot Area":12800,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1518,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":275000,"Satisfaction":7},{"Lot Area":11457,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1392,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":175000,"Satisfaction":9},{"Lot Area":10667,"Lot Config":"CulDSac","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":799,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":212000,"Satisfaction":1},{"Lot Area":6000,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":884,"Heating Type":"GasA","Central Air":"Y","Rooms":4,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2009,"Price":119000,"Satisfaction":1},{"Lot Area":12354,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":684,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"GdPrv","Year":2009,"Price":110000,"Satisfaction":10},{"Lot Area":15431,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":3094,"Heating Type":"GasA","Central Air":"Y","Rooms":10,"Fireplaces":2,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":555000,"Satisfaction":5},{"Lot Area":9855,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":1436,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"MnPrv","Year":2009,"Price":127500,"Satisfaction":10},{"Lot Area":9000,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":768,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":210000,"Satisfaction":10},{"Lot Area":7015,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":709,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":1,"Garage Type":"Detchd","Fence Type":"NA","Year":2009,"Price":110000,"Satisfaction":8},{"Lot Area":8004,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":832,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":0,"Garage Type":"BuiltIn","Fence Type":"NA","Year":2009,"Price":263435,"Satisfaction":10},{"Lot Area":7200,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":560,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"MnPrv","Year":2009,"Price":155000,"Satisfaction":5},{"Lot Area":8281,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":864,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":1,"Garage Type":"Detchd","Fence Type":"GdWo","Year":2009,"Price":62383,"Satisfaction":4},{"Lot Area":8430,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1040,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"NA","Fence Type":"NA","Year":2009,"Price":124000,"Satisfaction":10},{"Lot Area":10637,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":1705,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":297000,"Satisfaction":4},{"Lot Area":2500,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":910,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":155000,"Satisfaction":2},{"Lot Area":9600,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1113,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":147000,"Satisfaction":6},{"Lot Area":1526,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":630,"Heating Type":"GasA","Central Air":"Y","Rooms":3,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":86000,"Satisfaction":3},{"Lot Area":5784,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":190,"Heating Type":"GasA","Central Air":"Y","Rooms":4,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":91300,"Satisfaction":7},{"Lot Area":7879,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":720,"Heating Type":"GasA","Central Air":"N","Rooms":4,"Fireplaces":0,"Garage Type":"NA","Fence Type":"GdWo","Year":2009,"Price":34900,"Satisfaction":1},{"Lot Area":7800,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":864,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"MnPrv","Year":2009,"Price":130000,"Satisfaction":2},{"Lot Area":2308,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":855,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":147000,"Satisfaction":10},{"Lot Area":7596,"Lot Config":"Inside","Home Type":"Duplex","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":960,"Heating Type":"GasA","Central Air":"Y","Rooms":10,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2009,"Price":124500,"Satisfaction":10},{"Lot Area":7862,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1218,"Heating Type":"GasA","Central Air":"Y","Rooms":4,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":208300,"Satisfaction":3},{"Lot Area":9600,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1041,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"MnPrv","Year":2009,"Price":124500,"Satisfaction":10},{"Lot Area":14559,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":1008,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":2,"Garage Type":"CarPort","Fence Type":"NA","Year":2009,"Price":164900,"Satisfaction":2},{"Lot Area":12220,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":2006,"Heating Type":"GasA","Central Air":"Y","Rooms":9,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":402861,"Satisfaction":1},{"Lot Area":10448,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":689,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"GdPrv","Year":2009,"Price":158000,"Satisfaction":3},{"Lot Area":10208,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1264,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":265000,"Satisfaction":4},{"Lot Area":10918,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gambrel","Foundation Type":"BrkTil","Basement Area":1276,"Heating Type":"GasA","Central Air":"Y","Rooms":9,"Fireplaces":2,"Garage Type":"Detchd","Fence Type":"MnPrv","Year":2009,"Price":234000,"Satisfaction":3},{"Lot Area":14601,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":1838,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":315000,"Satisfaction":9},{"Lot Area":10140,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":1650,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":213250,"Satisfaction":4},{"Lot Area":9375,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":912,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"BuiltIn","Fence Type":"NA","Year":2009,"Price":263000,"Satisfaction":6},{"Lot Area":11146,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1709,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":255500,"Satisfaction":10},{"Lot Area":8777,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":0,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"MnPrv","Year":2009,"Price":108000,"Satisfaction":1},{"Lot Area":12327,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1496,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":1,"Garage Type":"BuiltIn","Fence Type":"NA","Year":2009,"Price":316600,"Satisfaction":4},{"Lot Area":13159,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":846,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":224500,"Satisfaction":6},{"Lot Area":6292,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":861,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Detchd","Fence Type":"NA","Year":2009,"Price":145000,"Satisfaction":7},{"Lot Area":12704,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":2042,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":253293,"Satisfaction":9},{"Lot Area":6120,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":884,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2009,"Price":133000,"Satisfaction":3},{"Lot Area":8740,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":840,"Heating Type":"GasA","Central Air":"Y","Rooms":4,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2009,"Price":137000,"Satisfaction":7},{"Lot Area":25095,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Flat","Foundation Type":"CBlock","Basement Area":1437,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":2,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":143000,"Satisfaction":1},{"Lot Area":13478,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1722,"Heating Type":"GasA","Central Air":"Y","Rooms":10,"Fireplaces":1,"Garage Type":"BuiltIn","Fence Type":"NA","Year":2009,"Price":451950,"Satisfaction":4},{"Lot Area":4435,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":848,"Heating Type":"GasA","Central Air":"Y","Rooms":4,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":140000,"Satisfaction":2},{"Lot Area":13600,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":768,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":3,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":205000,"Satisfaction":7},{"Lot Area":12464,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1040,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"GdPrv","Year":2009,"Price":152000,"Satisfaction":7},{"Lot Area":11050,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":1440,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":2,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":313000,"Satisfaction":6},{"Lot Area":11885,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1299,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"BuiltIn","Fence Type":"NA","Year":2009,"Price":261500,"Satisfaction":3},{"Lot Area":7064,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":980,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2009,"Price":135000,"Satisfaction":5},{"Lot Area":11900,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":1386,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":82500,"Satisfaction":2},{"Lot Area":6120,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":264,"Heating Type":"Grav","Central Air":"N","Rooms":4,"Fireplaces":1,"Garage Type":"NA","Fence Type":"NA","Year":2009,"Price":60000,"Satisfaction":9},{"Lot Area":6000,"Lot Config":"Inside","Home Type":"Condo","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":811,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"BuiltIn","Fence Type":"NA","Year":2009,"Price":93000,"Satisfaction":9},{"Lot Area":13860,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1952,"Heating Type":"GasA","Central Air":"Y","Rooms":9,"Fireplaces":3,"Garage Type":"Attchd","Fence Type":"MnPrv","Year":2009,"Price":345000,"Satisfaction":5},{"Lot Area":9187,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1766,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":370878,"Satisfaction":9},{"Lot Area":9084,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":755,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Detchd","Fence Type":"MnPrv","Year":2009,"Price":108000,"Satisfaction":5},{"Lot Area":8750,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":880,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":191000,"Satisfaction":9},{"Lot Area":9937,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":1486,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"MnPrv","Year":2009,"Price":167000,"Satisfaction":4},{"Lot Area":46589,"Lot Config":"CulDSac","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":1629,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":402000,"Satisfaction":8},{"Lot Area":13560,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":1392,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":2,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":110000,"Satisfaction":10},{"Lot Area":8633,"Lot Config":"FR2","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":738,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":173500,"Satisfaction":1},{"Lot Area":6629,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gambrel","Foundation Type":"BrkTil","Basement Area":672,"Heating Type":"GasA","Central Air":"N","Rooms":6,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2009,"Price":103600,"Satisfaction":5},{"Lot Area":2289,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":855,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":148500,"Satisfaction":3},{"Lot Area":9022,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":768,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2009,"Price":109500,"Satisfaction":1},{"Lot Area":11844,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":2046,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":372500,"Satisfaction":5},{"Lot Area":4500,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":793,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2009,"Price":159434,"Satisfaction":6},{"Lot Area":6120,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":927,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"MnPrv","Year":2009,"Price":141500,"Satisfaction":10},{"Lot Area":6240,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":1324,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":254000,"Satisfaction":3},{"Lot Area":10140,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":1064,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"MnPrv","Year":2009,"Price":165000,"Satisfaction":4},{"Lot Area":8120,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":864,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2009,"Price":124500,"Satisfaction":10},{"Lot Area":13286,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":1698,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":320000,"Satisfaction":5},{"Lot Area":6960,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":864,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2009,"Price":120500,"Satisfaction":4},{"Lot Area":21695,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":880,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":222000,"Satisfaction":10},{"Lot Area":7314,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1232,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":194500,"Satisfaction":10},{"Lot Area":11475,"Lot Config":"Corner","Home Type":"Duplex","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1584,"Heating Type":"GasA","Central Air":"Y","Rooms":9,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2009,"Price":110000,"Satisfaction":1},{"Lot Area":6240,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":780,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2009,"Price":103000,"Satisfaction":4},{"Lot Area":10000,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":864,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"GdWo","Year":2009,"Price":131400,"Satisfaction":6},{"Lot Area":10800,"Lot Config":"Inside","Home Type":"Duplex","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1200,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"NA","Fence Type":"NA","Year":2009,"Price":179000,"Satisfaction":2},{"Lot Area":9313,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":864,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":190000,"Satisfaction":10},{"Lot Area":12886,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":520,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":175000,"Satisfaction":5},{"Lot Area":8795,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":952,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"BuiltIn","Fence Type":"NA","Year":2009,"Price":236000,"Satisfaction":4},{"Lot Area":11700,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Mansard","Foundation Type":"Stone","Basement Area":1240,"Heating Type":"GasW","Central Air":"N","Rooms":8,"Fireplaces":1,"Garage Type":"Detchd","Fence Type":"NA","Year":2009,"Price":265979,"Satisfaction":3},{"Lot Area":8405,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"Slab","Basement Area":0,"Heating Type":"Wall","Central Air":"N","Rooms":9,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2009,"Price":98000,"Satisfaction":9},{"Lot Area":7930,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1026,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2009,"Price":156000,"Satisfaction":2},{"Lot Area":3230,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":729,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2009,"Price":172500,"Satisfaction":1},{"Lot Area":10769,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":866,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":212000,"Satisfaction":10},{"Lot Area":9100,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":864,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2009,"Price":127500,"Satisfaction":4},{"Lot Area":6911,"Lot Config":"FR2","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1145,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2009,"Price":100000,"Satisfaction":5},{"Lot Area":9430,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1252,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":337000,"Satisfaction":3},{"Lot Area":7252,"Lot Config":"CulDSac","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":858,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2009,"Price":134900,"Satisfaction":2},{"Lot Area":4500,"Lot Config":"FR2","Home Type":"Townhouse","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":1204,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":162000,"Satisfaction":2},{"Lot Area":16285,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1413,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":187100,"Satisfaction":1},{"Lot Area":9101,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1097,"Heating Type":"GasA","Central Air":"Y","Rooms":4,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":165500,"Satisfaction":4},{"Lot Area":9790,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1372,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":161500,"Satisfaction":5},{"Lot Area":3182,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1145,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":160200,"Satisfaction":7},{"Lot Area":13518,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":1926,"Heating Type":"GasA","Central Air":"Y","Rooms":11,"Fireplaces":2,"Garage Type":"BuiltIn","Fence Type":"NA","Year":2009,"Price":485000,"Satisfaction":4},{"Lot Area":13891,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":1734,"Heating Type":"GasA","Central Air":"Y","Rooms":12,"Fireplaces":1,"Garage Type":"BuiltIn","Fence Type":"NA","Year":2009,"Price":582933,"Satisfaction":1},{"Lot Area":21384,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1324,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":223500,"Satisfaction":6},{"Lot Area":8100,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":849,"Heating Type":"GasA","Central Air":"N","Rooms":11,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"MnPrv","Year":2009,"Price":106000,"Satisfaction":4},{"Lot Area":6000,"Lot Config":"Inside","Home Type":"Condo","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":936,"Heating Type":"GasA","Central Air":"N","Rooms":4,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2009,"Price":93000,"Satisfaction":7},{"Lot Area":9900,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":778,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Detchd","Fence Type":"GdWo","Year":2009,"Price":139500,"Satisfaction":8},{"Lot Area":8529,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1454,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":189000,"Satisfaction":1},{"Lot Area":28698,"Lot Config":"CulDSac","Home Type":"Single Family","Roof Style":"Flat","Foundation Type":"PConc","Basement Area":1013,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":185000,"Satisfaction":3},{"Lot Area":10004,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1516,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":167000,"Satisfaction":2},{"Lot Area":9317,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":740,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":213000,"Satisfaction":6},{"Lot Area":15523,"Lot Config":"CulDSac","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":864,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":133500,"Satisfaction":9},{"Lot Area":12095,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1127,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"MnPrv","Year":2009,"Price":158000,"Satisfaction":5},{"Lot Area":8125,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":702,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":174000,"Satisfaction":1},{"Lot Area":10400,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1090,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"MnPrv","Year":2009,"Price":152000,"Satisfaction":1},{"Lot Area":7931,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":1148,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"GdPrv","Year":2009,"Price":132500,"Satisfaction":2},{"Lot Area":8750,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1002,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"MnPrv","Year":2009,"Price":148500,"Satisfaction":4},{"Lot Area":6600,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":894,"Heating Type":"GasA","Central Air":"N","Rooms":5,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2009,"Price":109500,"Satisfaction":3},{"Lot Area":12144,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":832,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":133000,"Satisfaction":9},{"Lot Area":5720,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":676,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2009,"Price":66500,"Satisfaction":7},{"Lot Area":8834,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":1462,"Heating Type":"GasA","Central Air":"Y","Rooms":10,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":350000,"Satisfaction":3},{"Lot Area":7000,"Lot Config":"CulDSac","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":864,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"GdWo","Year":2009,"Price":136500,"Satisfaction":2},{"Lot Area":9636,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":808,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"BuiltIn","Fence Type":"MnPrv","Year":2009,"Price":178000,"Satisfaction":10},{"Lot Area":7150,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":892,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"GdWo","Year":2009,"Price":100000,"Satisfaction":4},{"Lot Area":12160,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":1505,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":149500,"Satisfaction":4},{"Lot Area":11184,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":918,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":172500,"Satisfaction":1},{"Lot Area":7018,"Lot Config":"Inside","Home Type":"Duplex","Roof Style":"Gable","Foundation Type":"Slab","Basement Area":0,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":118858,"Satisfaction":7},{"Lot Area":7018,"Lot Config":"Inside","Home Type":"Duplex","Roof Style":"Gable","Foundation Type":"Slab","Basement Area":0,"Heating Type":"GasA","Central Air":"Y","Rooms":12,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2009,"Price":142953,"Satisfaction":6},{"Lot Area":8712,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":992,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2009,"Price":153000,"Satisfaction":10},{"Lot Area":12589,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":742,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":174000,"Satisfaction":9},{"Lot Area":9286,"Lot Config":"CulDSac","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1268,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2009,"Price":143500,"Satisfaction":2},{"Lot Area":3000,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":612,"Heating Type":"GasA","Central Air":"Y","Rooms":4,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2009,"Price":173733,"Satisfaction":10},{"Lot Area":17140,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1134,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":135000,"Satisfaction":8},{"Lot Area":11838,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":1753,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":236500,"Satisfaction":10},{"Lot Area":8925,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1466,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":201000,"Satisfaction":2},{"Lot Area":9100,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":925,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"GdWo","Year":2009,"Price":117500,"Satisfaction":6},{"Lot Area":8487,"Lot Config":"FR2","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1500,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":190000,"Satisfaction":4},{"Lot Area":10083,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1176,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":184900,"Satisfaction":2},{"Lot Area":9675,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1113,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":253000,"Satisfaction":2},{"Lot Area":8755,"Lot Config":"FR2","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":992,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"BuiltIn","Fence Type":"GdPrv","Year":2009,"Price":214000,"Satisfaction":6},{"Lot Area":14375,"Lot Config":"CulDSac","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":819,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Basment","Fence Type":"NA","Year":2009,"Price":137500,"Satisfaction":2},{"Lot Area":8820,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"BrkTil","Basement Area":1088,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"MnWw","Year":2009,"Price":124900,"Satisfaction":4},{"Lot Area":7200,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":768,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"MnPrv","Year":2009,"Price":133900,"Satisfaction":3},{"Lot Area":1300,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":561,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"GdPrv","Year":2009,"Price":124000,"Satisfaction":8},{"Lot Area":11923,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1800,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":239000,"Satisfaction":8},{"Lot Area":9600,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":728,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":2,"Garage Type":"Detchd","Fence Type":"NA","Year":2009,"Price":160000,"Satisfaction":2},{"Lot Area":5925,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":600,"Heating Type":"Grav","Central Air":"N","Rooms":6,"Fireplaces":0,"Garage Type":"NA","Fence Type":"GdWo","Year":2009,"Price":37900,"Satisfaction":1},{"Lot Area":2268,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":764,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"BuiltIn","Fence Type":"NA","Year":2009,"Price":173000,"Satisfaction":7},{"Lot Area":11414,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":728,"Heating Type":"GasA","Central Air":"N","Rooms":8,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"GdPrv","Year":2009,"Price":167500,"Satisfaction":4},{"Lot Area":8816,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1121,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"MnPrv","Year":2009,"Price":139000,"Satisfaction":4},{"Lot Area":12203,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":1225,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":336000,"Satisfaction":5},{"Lot Area":10125,"Lot Config":"Inside","Home Type":"Duplex","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":0,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":126000,"Satisfaction":8},{"Lot Area":17671,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":916,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":168000,"Satisfaction":9},{"Lot Area":12456,"Lot Config":"FR2","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":1700,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":337500,"Satisfaction":5},{"Lot Area":11717,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":1442,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":185000,"Satisfaction":8},{"Lot Area":10206,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Flat","Foundation Type":"Slab","Basement Area":0,"Heating Type":"GasW","Central Air":"N","Rooms":4,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2009,"Price":82000,"Satisfaction":1},{"Lot Area":3182,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1346,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":181000,"Satisfaction":4},{"Lot Area":2217,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":546,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":88000,"Satisfaction":9},{"Lot Area":12118,"Lot Config":"CulDSac","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":1710,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":240000,"Satisfaction":10},{"Lot Area":7200,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"BrkTil","Basement Area":1022,"Heating Type":"GasW","Central Air":"N","Rooms":4,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2009,"Price":85000,"Satisfaction":6},{"Lot Area":8400,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":810,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":227000,"Satisfaction":7},{"Lot Area":11883,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":1504,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":203000,"Satisfaction":6},{"Lot Area":5814,"Lot Config":"CulDSac","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1220,"Heating Type":"GasA","Central Air":"Y","Rooms":4,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":187500,"Satisfaction":2},{"Lot Area":15863,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":824,"Heating Type":"GasA","Central Air":"Y","Rooms":12,"Fireplaces":2,"Garage Type":"Basment","Fence Type":"NA","Year":2009,"Price":197000,"Satisfaction":7},{"Lot Area":11500,"Lot Config":"CulDSac","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"Slab","Basement Area":0,"Heating Type":"GasA","Central Air":"N","Rooms":5,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2009,"Price":84000,"Satisfaction":3},{"Lot Area":12898,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":1620,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":315500,"Satisfaction":8},{"Lot Area":1533,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":546,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"NA","Fence Type":"NA","Year":2009,"Price":97000,"Satisfaction":7},{"Lot Area":1477,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":630,"Heating Type":"GasA","Central Air":"Y","Rooms":3,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":80000,"Satisfaction":10},{"Lot Area":5381,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1306,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":196000,"Satisfaction":1},{"Lot Area":9600,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":2524,"Heating Type":"GasA","Central Air":"Y","Rooms":9,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"MnPrv","Year":2009,"Price":278000,"Satisfaction":3},{"Lot Area":13680,"Lot Config":"CulDSac","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"Slab","Basement Area":0,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":139600,"Satisfaction":8},{"Lot Area":21750,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"Slab","Basement Area":0,"Heating Type":"GasA","Central Air":"Y","Rooms":9,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"GdPrv","Year":2009,"Price":115000,"Satisfaction":3},{"Lot Area":29959,"Lot Config":"FR2","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":973,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"BuiltIn","Fence Type":"NA","Year":2009,"Price":248000,"Satisfaction":10},{"Lot Area":11308,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1104,"Heating Type":"GasA","Central Air":"Y","Rooms":10,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":335000,"Satisfaction":5},{"Lot Area":11000,"Lot Config":"CulDSac","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1154,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"MnPrv","Year":2009,"Price":154000,"Satisfaction":9},{"Lot Area":7837,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":799,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":178000,"Satisfaction":10},{"Lot Area":11700,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":727,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":154000,"Satisfaction":7},{"Lot Area":7950,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":690,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"MnPrv","Year":2009,"Price":159500,"Satisfaction":1},{"Lot Area":10574,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1082,"Heating Type":"GasA","Central Air":"Y","Rooms":9,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":252000,"Satisfaction":9},{"Lot Area":8544,"Lot Config":"Corner","Home Type":"Duplex","Roof Style":"Gable","Foundation Type":"Slab","Basement Area":0,"Heating Type":"Wall","Central Air":"N","Rooms":6,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2009,"Price":92900,"Satisfaction":10},{"Lot Area":6000,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":672,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2009,"Price":128000,"Satisfaction":8},{"Lot Area":11880,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1271,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":157000,"Satisfaction":8},{"Lot Area":8400,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":290,"Heating Type":"GasA","Central Air":"N","Rooms":3,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2009,"Price":60000,"Satisfaction":9},{"Lot Area":11362,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1836,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":280000,"Satisfaction":1},{"Lot Area":7750,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":408,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"BuiltIn","Fence Type":"NA","Year":2009,"Price":184100,"Satisfaction":4},{"Lot Area":8926,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":672,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Basment","Fence Type":"MnPrv","Year":2009,"Price":112000,"Satisfaction":2},{"Lot Area":9405,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":698,"Heating Type":"GasA","Central Air":"Y","Rooms":4,"Fireplaces":0,"Garage Type":"NA","Fence Type":"NA","Year":2009,"Price":118000,"Satisfaction":2},{"Lot Area":10434,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1005,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":1,"Garage Type":"Detchd","Fence Type":"NA","Year":2009,"Price":115000,"Satisfaction":2},{"Lot Area":3684,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":1373,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":174000,"Satisfaction":2},{"Lot Area":7804,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":1122,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":2,"Garage Type":"Detchd","Fence Type":"MnPrv","Year":2009,"Price":135000,"Satisfaction":9},{"Lot Area":9828,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1128,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":239500,"Satisfaction":6},{"Lot Area":9819,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1567,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":2,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":196000,"Satisfaction":2},{"Lot Area":10304,"Lot Config":"CulDSac","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":780,"Heating Type":"GasA","Central Air":"Y","Rooms":9,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":197500,"Satisfaction":9},{"Lot Area":12000,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":704,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":174500,"Satisfaction":2},{"Lot Area":9000,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":650,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2009,"Price":143000,"Satisfaction":3},{"Lot Area":5001,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1314,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":230000,"Satisfaction":8},{"Lot Area":9541,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1502,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":233170,"Satisfaction":6},{"Lot Area":3950,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":818,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2009,"Price":115000,"Satisfaction":9},{"Lot Area":7681,"Lot Config":"FR2","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":731,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Detchd","Fence Type":"NA","Year":2009,"Price":154900,"Satisfaction":6},{"Lot Area":10615,"Lot Config":"Corner","Home Type":"Condo","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":978,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"CarPort","Fence Type":"NA","Year":2009,"Price":95000,"Satisfaction":6},{"Lot Area":8935,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":831,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":195000,"Satisfaction":2},{"Lot Area":4500,"Lot Config":"FR2","Home Type":"Townhouse","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":1224,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":165000,"Satisfaction":6},{"Lot Area":9100,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1212,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":178000,"Satisfaction":10},{"Lot Area":10400,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":866,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":197900,"Satisfaction":5},{"Lot Area":6000,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":884,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":1,"Garage Type":"Detchd","Fence Type":"NA","Year":2009,"Price":117000,"Satisfaction":10},{"Lot Area":9750,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1630,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":213000,"Satisfaction":10},{"Lot Area":14684,"Lot Config":"CulDSac","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":2158,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":271900,"Satisfaction":2},{"Lot Area":9340,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":672,"Heating Type":"GasA","Central Air":"Y","Rooms":4,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":113000,"Satisfaction":8},{"Lot Area":8640,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1300,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":229456,"Satisfaction":3},{"Lot Area":9858,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":864,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"GdWo","Year":2009,"Price":130000,"Satisfaction":7},{"Lot Area":4060,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":864,"Heating Type":"GasA","Central Air":"Y","Rooms":4,"Fireplaces":0,"Garage Type":"NA","Fence Type":"NA","Year":2009,"Price":99900,"Satisfaction":8},{"Lot Area":24682,"Lot Config":"CulDSac","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":841,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"BuiltIn","Fence Type":"NA","Year":2009,"Price":181000,"Satisfaction":9},{"Lot Area":9600,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":1050,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":128900,"Satisfaction":7},{"Lot Area":11250,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1104,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":2,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":161500,"Satisfaction":5},{"Lot Area":9156,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":1489,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":185750,"Satisfaction":8},{"Lot Area":12936,"Lot Config":"CulDSac","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":723,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":162000,"Satisfaction":9},{"Lot Area":17871,"Lot Config":"CulDSac","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1680,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":197900,"Satisfaction":2},{"Lot Area":9808,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1573,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":227000,"Satisfaction":1},{"Lot Area":8800,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1040,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2009,"Price":150500,"Satisfaction":10},{"Lot Area":6000,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":780,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Detchd","Fence Type":"NA","Year":2009,"Price":132500,"Satisfaction":4},{"Lot Area":5664,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1501,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":278000,"Satisfaction":3},{"Lot Area":1680,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":630,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2009,"Price":119500,"Satisfaction":7},{"Lot Area":6600,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"Stone","Basement Area":994,"Heating Type":"GasA","Central Air":"N","Rooms":11,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":107500,"Satisfaction":8},{"Lot Area":10762,"Lot Config":"CulDSac","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":978,"Heating Type":"GasA","Central Air":"Y","Rooms":9,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":225000,"Satisfaction":10},{"Lot Area":7500,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":771,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":2,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":177500,"Satisfaction":6},{"Lot Area":13173,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":1652,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":2,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":325000,"Satisfaction":5},{"Lot Area":8072,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":990,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2009,"Price":138000,"Satisfaction":1},{"Lot Area":10226,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1622,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":295493,"Satisfaction":5},{"Lot Area":8400,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":1478,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":2,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":156500,"Satisfaction":9},{"Lot Area":5330,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":420,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"NA","Fence Type":"NA","Year":2009,"Price":82500,"Satisfaction":6},{"Lot Area":8877,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":816,"Heating Type":"GasA","Central Air":"Y","Rooms":3,"Fireplaces":1,"Garage Type":"Detchd","Fence Type":"NA","Year":2009,"Price":100000,"Satisfaction":4},{"Lot Area":2368,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":765,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":125000,"Satisfaction":5},{"Lot Area":9650,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1350,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":167900,"Satisfaction":8},{"Lot Area":7558,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":896,"Heating Type":"GasA","Central Air":"Y","Rooms":9,"Fireplaces":1,"Garage Type":"Detchd","Fence Type":"NA","Year":2009,"Price":177000,"Satisfaction":2},{"Lot Area":11643,"Lot Config":"Inside","Home Type":"Duplex","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1248,"Heating Type":"GasA","Central Air":"Y","Rooms":12,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2009,"Price":200000,"Satisfaction":9},{"Lot Area":6000,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":698,"Heating Type":"GasA","Central Air":"Y","Rooms":4,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2009,"Price":134900,"Satisfaction":8},{"Lot Area":16158,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":1530,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":260000,"Satisfaction":7},{"Lot Area":12513,"Lot Config":"FR2","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":715,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":104900,"Satisfaction":6},{"Lot Area":4435,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":848,"Heating Type":"GasA","Central Air":"Y","Rooms":4,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":144000,"Satisfaction":1},{"Lot Area":5400,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":840,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2009,"Price":105000,"Satisfaction":4},{"Lot Area":10998,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":984,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2009,"Price":117000,"Satisfaction":8},{"Lot Area":9060,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":560,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"MnPrv","Year":2009,"Price":105000,"Satisfaction":9},{"Lot Area":14892,"Lot Config":"CulDSac","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1746,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":2,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":377500,"Satisfaction":5},{"Lot Area":8944,"Lot Config":"Inside","Home Type":"Duplex","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1584,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2009,"Price":124000,"Satisfaction":4},{"Lot Area":7200,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1208,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"GdPrv","Year":2009,"Price":138000,"Satisfaction":10},{"Lot Area":6171,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":976,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Detchd","Fence Type":"MnPrv","Year":2009,"Price":137450,"Satisfaction":2},{"Lot Area":8445,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":768,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"MnPrv","Year":2009,"Price":133000,"Satisfaction":10},{"Lot Area":8780,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":833,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"NA","Fence Type":"MnPrv","Year":2009,"Price":112000,"Satisfaction":2},{"Lot Area":12420,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":944,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":230000,"Satisfaction":4},{"Lot Area":9600,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":856,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"MnPrv","Year":2009,"Price":140000,"Satisfaction":6},{"Lot Area":7200,"Lot Config":"Inside","Home Type":"Duplex","Roof Style":"Gable","Foundation Type":"Slab","Basement Area":0,"Heating Type":"Wall","Central Air":"N","Rooms":6,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2009,"Price":90000,"Satisfaction":5},{"Lot Area":10994,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1844,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":257000,"Satisfaction":5},{"Lot Area":3635,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":1386,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":175900,"Satisfaction":2},{"Lot Area":16545,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1284,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":340000,"Satisfaction":5},{"Lot Area":4928,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":958,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":143750,"Satisfaction":9},{"Lot Area":11003,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1017,"Heating Type":"GasA","Central Air":"Y","Rooms":10,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":310000,"Satisfaction":1},{"Lot Area":8854,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":952,"Heating Type":"Grav","Central Air":"N","Rooms":4,"Fireplaces":1,"Garage Type":"Detchd","Fence Type":"NA","Year":2009,"Price":121000,"Satisfaction":3},{"Lot Area":9000,"Lot Config":"FR2","Home Type":"Duplex","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":896,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":0,"Garage Type":"NA","Fence Type":"NA","Year":2009,"Price":136000,"Satisfaction":8},{"Lot Area":9262,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1573,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":287090,"Satisfaction":5},{"Lot Area":7500,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1221,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2009,"Price":185000,"Satisfaction":2},{"Lot Area":8450,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":856,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":208500,"Satisfaction":10},{"Lot Area":11250,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":920,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":223500,"Satisfaction":6},{"Lot Area":14260,"Lot Config":"FR2","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1145,"Heating Type":"GasA","Central Air":"Y","Rooms":9,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":250000,"Satisfaction":3},{"Lot Area":6120,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":952,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":2,"Garage Type":"Detchd","Fence Type":"NA","Year":2008,"Price":129900,"Satisfaction":7},{"Lot Area":7420,"Lot Config":"Corner","Home Type":"Condo","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":991,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":2,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":118000,"Satisfaction":7},{"Lot Area":11200,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":1040,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2008,"Price":129500,"Satisfaction":6},{"Lot Area":12968,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":912,"Heating Type":"GasA","Central Air":"Y","Rooms":4,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2008,"Price":144000,"Satisfaction":8},{"Lot Area":10920,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":1253,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"GdWo","Year":2008,"Price":157000,"Satisfaction":7},{"Lot Area":13695,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1114,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2008,"Price":159000,"Satisfaction":9},{"Lot Area":9742,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":1777,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":230000,"Satisfaction":5},{"Lot Area":6324,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":520,"Heating Type":"GasA","Central Air":"N","Rooms":4,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2008,"Price":68500,"Satisfaction":3},{"Lot Area":8500,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gambrel","Foundation Type":"BrkTil","Basement Area":649,"Heating Type":"GasA","Central Air":"N","Rooms":6,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"MnPrv","Year":2008,"Price":40000,"Satisfaction":9},{"Lot Area":8544,"Lot Config":"CulDSac","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1228,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"MnPrv","Year":2008,"Price":149350,"Satisfaction":10},{"Lot Area":11049,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1234,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":179900,"Satisfaction":4},{"Lot Area":6040,"Lot Config":"Inside","Home Type":"Duplex","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":0,"Heating Type":"GasA","Central Air":"N","Rooms":6,"Fireplaces":0,"Garage Type":"NA","Fence Type":"NA","Year":2008,"Price":82000,"Satisfaction":2},{"Lot Area":9200,"Lot Config":"CulDSac","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":938,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"MnPrv","Year":2008,"Price":130250,"Satisfaction":8},{"Lot Area":10175,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1425,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":180500,"Satisfaction":7},{"Lot Area":7200,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":780,"Heating Type":"GasA","Central Air":"Y","Rooms":4,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"MnPrv","Year":2008,"Price":124900,"Satisfaction":9},{"Lot Area":8475,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":952,"Heating Type":"GasA","Central Air":"Y","Rooms":4,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2008,"Price":135750,"Satisfaction":3},{"Lot Area":8635,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":672,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"MnPrv","Year":2008,"Price":127000,"Satisfaction":8},{"Lot Area":10206,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1563,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":245000,"Satisfaction":5},{"Lot Area":9375,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":1053,"Heating Type":"GasA","Central Air":"Y","Rooms":9,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":250000,"Satisfaction":5},{"Lot Area":6000,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":789,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2008,"Price":115000,"Satisfaction":1},{"Lot Area":9464,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":1080,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":136000,"Satisfaction":1},{"Lot Area":7892,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1199,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":153900,"Satisfaction":5},{"Lot Area":10400,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":1304,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"MnPrv","Year":2008,"Price":174000,"Satisfaction":4},{"Lot Area":9066,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1004,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":2,"Garage Type":"Attchd","Fence Type":"GdPrv","Year":2008,"Price":230000,"Satisfaction":8},{"Lot Area":7500,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1080,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"NA","Fence Type":"NA","Year":2008,"Price":141000,"Satisfaction":10},{"Lot Area":13891,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":1710,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":372402,"Satisfaction":8},{"Lot Area":13500,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Flat","Foundation Type":"CBlock","Basement Area":1602,"Heating Type":"GasA","Central Air":"Y","Rooms":4,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":235000,"Satisfaction":1},{"Lot Area":9600,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":572,"Heating Type":"Grav","Central Air":"N","Rooms":5,"Fireplaces":0,"Garage Type":"NA","Fence Type":"NA","Year":2008,"Price":79000,"Satisfaction":7},{"Lot Area":11120,"Lot Config":"CulDSac","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1232,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":162500,"Satisfaction":6},{"Lot Area":13688,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1572,"Heating Type":"GasA","Central Air":"Y","Rooms":10,"Fireplaces":2,"Garage Type":"BuiltIn","Fence Type":"NA","Year":2008,"Price":412500,"Satisfaction":8},{"Lot Area":10106,"Lot Config":"Inside","Home Type":"Condo","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":644,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"NA","Fence Type":"NA","Year":2008,"Price":127500,"Satisfaction":3},{"Lot Area":10197,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1362,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":163000,"Satisfaction":4},{"Lot Area":12416,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1606,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":184000,"Satisfaction":10},{"Lot Area":11426,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1362,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2008,"Price":200000,"Satisfaction":5},{"Lot Area":4923,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1593,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":286000,"Satisfaction":5},{"Lot Area":7180,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":864,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2008,"Price":127000,"Satisfaction":7},{"Lot Area":10125,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1196,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":2,"Garage Type":"Detchd","Fence Type":"MnPrv","Year":2008,"Price":171500,"Satisfaction":10},{"Lot Area":4438,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":848,"Heating Type":"GasA","Central Air":"Y","Rooms":3,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":149000,"Satisfaction":9},{"Lot Area":12493,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1100,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"GdWo","Year":2008,"Price":141000,"Satisfaction":8},{"Lot Area":8250,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":1092,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"MnPrv","Year":2008,"Price":145000,"Satisfaction":10},{"Lot Area":5604,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":864,"Heating Type":"GasA","Central Air":"N","Rooms":5,"Fireplaces":0,"Garage Type":"NA","Fence Type":"NA","Year":2008,"Price":98000,"Satisfaction":3},{"Lot Area":8450,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1436,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":210000,"Satisfaction":8},{"Lot Area":15660,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":798,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":2,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":311500,"Satisfaction":9},{"Lot Area":1869,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":483,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2008,"Price":106000,"Satisfaction":8},{"Lot Area":1680,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":483,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2008,"Price":89500,"Satisfaction":7},{"Lot Area":8366,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":798,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":173000,"Satisfaction":7},{"Lot Area":8791,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":864,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":207500,"Satisfaction":4},{"Lot Area":12435,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":963,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":231500,"Satisfaction":9},{"Lot Area":12702,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":0,"Heating Type":"GasA","Central Air":"Y","Rooms":4,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2008,"Price":97000,"Satisfaction":5},{"Lot Area":5232,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":680,"Heating Type":"GasA","Central Air":"N","Rooms":4,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2008,"Price":73000,"Satisfaction":4},{"Lot Area":12090,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1422,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"GdPrv","Year":2008,"Price":175500,"Satisfaction":9},{"Lot Area":8400,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":720,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"Detchd","Fence Type":"NA","Year":2008,"Price":179500,"Satisfaction":8},{"Lot Area":6900,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":740,"Heating Type":"GasA","Central Air":"Y","Rooms":4,"Fireplaces":1,"Garage Type":"Detchd","Fence Type":"NA","Year":2008,"Price":120500,"Satisfaction":9},{"Lot Area":39104,"Lot Config":"CulDSac","Home Type":"Single Family","Roof Style":"Flat","Foundation Type":"CBlock","Basement Area":1385,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":2,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":241500,"Satisfaction":9},{"Lot Area":10005,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":1160,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":192000,"Satisfaction":2},{"Lot Area":5687,"Lot Config":"Inside","Home Type":"Condo","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":780,"Heating Type":"GasA","Central Air":"N","Rooms":9,"Fireplaces":0,"Garage Type":"NA","Fence Type":"NA","Year":2008,"Price":135900,"Satisfaction":6},{"Lot Area":18386,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":1470,"Heating Type":"GasA","Central Air":"Y","Rooms":10,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":295000,"Satisfaction":8},{"Lot Area":7920,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":319,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"NA","Fence Type":"MnPrv","Year":2008,"Price":89500,"Satisfaction":2},{"Lot Area":10846,"Lot Config":"CulDSac","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1719,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":2,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":324000,"Satisfaction":6},{"Lot Area":8198,"Lot Config":"FR3","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1358,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":207000,"Satisfaction":6},{"Lot Area":9042,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":943,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":2,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":192000,"Satisfaction":6},{"Lot Area":164660,"Lot Config":"Corner","Home Type":"Condo","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1499,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":2,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":228950,"Satisfaction":4},{"Lot Area":9135,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1536,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":214000,"Satisfaction":8},{"Lot Area":8849,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":1684,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":266000,"Satisfaction":2},{"Lot Area":2448,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":764,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"BuiltIn","Fence Type":"NA","Year":2008,"Price":154000,"Satisfaction":4},{"Lot Area":9084,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":616,"Heating Type":"GasA","Central Air":"N","Rooms":5,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2008,"Price":95000,"Satisfaction":3},{"Lot Area":9144,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":883,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2008,"Price":145000,"Satisfaction":3},{"Lot Area":9150,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1099,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Basment","Fence Type":"NA","Year":2008,"Price":165000,"Satisfaction":7},{"Lot Area":17120,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":0,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Detchd","Fence Type":"NA","Year":2008,"Price":134432,"Satisfaction":4},{"Lot Area":9382,"Lot Config":"CulDSac","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1468,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":191000,"Satisfaction":8},{"Lot Area":12474,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1682,"Heating Type":"GasA","Central Air":"Y","Rooms":9,"Fireplaces":1,"Garage Type":"BuiltIn","Fence Type":"NA","Year":2008,"Price":426000,"Satisfaction":7},{"Lot Area":8405,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":861,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"MnPrv","Year":2008,"Price":119000,"Satisfaction":6},{"Lot Area":14963,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1260,"Heating Type":"GasA","Central Air":"Y","Rooms":4,"Fireplaces":2,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":245500,"Satisfaction":1},{"Lot Area":10200,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":672,"Heating Type":"GasA","Central Air":"Y","Rooms":4,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"GdPrv","Year":2008,"Price":108000,"Satisfaction":2},{"Lot Area":10480,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":1064,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2008,"Price":115000,"Satisfaction":3},{"Lot Area":15576,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":840,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":177000,"Satisfaction":6},{"Lot Area":10800,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1034,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":339750,"Satisfaction":4},{"Lot Area":11228,"Lot Config":"CulDSac","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1080,"Heating Type":"GasA","Central Air":"Y","Rooms":9,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":228000,"Satisfaction":5},{"Lot Area":7060,"Lot Config":"Inside","Home Type":"Duplex","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1344,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":206300,"Satisfaction":5},{"Lot Area":21750,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":988,"Heating Type":"GasA","Central Air":"Y","Rooms":4,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":113000,"Satisfaction":6},{"Lot Area":9200,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1470,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":315000,"Satisfaction":5},{"Lot Area":9000,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1196,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":139000,"Satisfaction":6},{"Lot Area":8593,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":907,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2008,"Price":109008,"Satisfaction":1},{"Lot Area":1680,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":483,"Heating Type":"GasA","Central Air":"Y","Rooms":4,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2008,"Price":85400,"Satisfaction":6},{"Lot Area":5586,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":901,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"NA","Fence Type":"MnPrv","Year":2008,"Price":79900,"Satisfaction":1},{"Lot Area":10839,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":926,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":181000,"Satisfaction":5},{"Lot Area":1890,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":630,"Heating Type":"GasA","Central Air":"Y","Rooms":3,"Fireplaces":0,"Garage Type":"NA","Fence Type":"NA","Year":2008,"Price":81000,"Satisfaction":3},{"Lot Area":12108,"Lot Config":"Inside","Home Type":"Duplex","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1440,"Heating Type":"GasA","Central Air":"N","Rooms":8,"Fireplaces":0,"Garage Type":"NA","Fence Type":"NA","Year":2008,"Price":118000,"Satisfaction":10},{"Lot Area":6240,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1078,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"Detchd","Fence Type":"NA","Year":2008,"Price":162900,"Satisfaction":2},{"Lot Area":8750,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":915,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":210000,"Satisfaction":3},{"Lot Area":4571,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":624,"Heating Type":"GasA","Central Air":"N","Rooms":7,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2008,"Price":98000,"Satisfaction":5},{"Lot Area":53227,"Lot Config":"CulDSac","Home Type":"Single Family","Roof Style":"Flat","Foundation Type":"CBlock","Basement Area":1364,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":2,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":256000,"Satisfaction":9},{"Lot Area":5100,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":588,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Detchd","Fence Type":"MnPrv","Year":2008,"Price":161000,"Satisfaction":2},{"Lot Area":11988,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":715,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Detchd","Fence Type":"NA","Year":2008,"Price":188700,"Satisfaction":2},{"Lot Area":9291,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":832,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":187000,"Satisfaction":7},{"Lot Area":3675,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":547,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Basment","Fence Type":"NA","Year":2008,"Price":148000,"Satisfaction":10},{"Lot Area":13125,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1478,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":208900,"Satisfaction":9},{"Lot Area":2665,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":264,"Heating Type":"GasA","Central Air":"Y","Rooms":4,"Fireplaces":1,"Garage Type":"BuiltIn","Fence Type":"NA","Year":2008,"Price":115000,"Satisfaction":7},{"Lot Area":7931,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1269,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Detchd","Fence Type":"NA","Year":2008,"Price":155000,"Satisfaction":10},{"Lot Area":9120,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1026,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"GdPrv","Year":2008,"Price":184000,"Satisfaction":4},{"Lot Area":9803,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":866,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":226700,"Satisfaction":7},{"Lot Area":9600,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gambrel","Foundation Type":"BrkTil","Basement Area":689,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Detchd","Fence Type":"NA","Year":2008,"Price":161000,"Satisfaction":2},{"Lot Area":10800,"Lot Config":"Inside","Home Type":"Condo","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":0,"Heating Type":"GasA","Central Air":"N","Rooms":7,"Fireplaces":0,"Garage Type":"NA","Fence Type":"NA","Year":2008,"Price":106250,"Satisfaction":9},{"Lot Area":14948,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":1452,"Heating Type":"GasA","Central Air":"Y","Rooms":11,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":446261,"Satisfaction":10},{"Lot Area":10200,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1461,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":175000,"Satisfaction":4},{"Lot Area":6155,"Lot Config":"FR3","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":611,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2008,"Price":128000,"Satisfaction":2},{"Lot Area":7000,"Lot Config":"Inside","Home Type":"Condo","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1117,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"NA","Fence Type":"NA","Year":2008,"Price":107500,"Satisfaction":5},{"Lot Area":8924,"Lot Config":"CulDSac","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":880,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":188000,"Satisfaction":6},{"Lot Area":12735,"Lot Config":"FR2","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":864,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"MnWw","Year":2008,"Price":111250,"Satisfaction":10},{"Lot Area":8235,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":825,"Heating Type":"GasA","Central Air":"Y","Rooms":4,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"MnPrv","Year":2008,"Price":125000,"Satisfaction":10},{"Lot Area":4043,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1069,"Heating Type":"GasA","Central Air":"Y","Rooms":4,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":140000,"Satisfaction":4},{"Lot Area":6000,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":928,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":112500,"Satisfaction":9},{"Lot Area":10625,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":998,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"BuiltIn","Fence Type":"NA","Year":2008,"Price":284000,"Satisfaction":5},{"Lot Area":21872,"Lot Config":"FR2","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":729,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":175000,"Satisfaction":4},{"Lot Area":13907,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":996,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"NA","Fence Type":"NA","Year":2008,"Price":108000,"Satisfaction":3},{"Lot Area":21780,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":1163,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"Detchd","Fence Type":"NA","Year":2008,"Price":185000,"Satisfaction":7},{"Lot Area":11198,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":1122,"Heating Type":"GasA","Central Air":"Y","Rooms":11,"Fireplaces":1,"Garage Type":"BuiltIn","Fence Type":"NA","Year":2008,"Price":325000,"Satisfaction":7},{"Lot Area":13101,"Lot Config":"Inside","Home Type":"Duplex","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1728,"Heating Type":"GasA","Central Air":"Y","Rooms":10,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2008,"Price":142600,"Satisfaction":8},{"Lot Area":8480,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":832,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2008,"Price":118500,"Satisfaction":1},{"Lot Area":3604,"Lot Config":"Corner","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":689,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2008,"Price":146000,"Satisfaction":7},{"Lot Area":12150,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":1050,"Heating Type":"GasA","Central Air":"N","Rooms":7,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":131500,"Satisfaction":2},{"Lot Area":13500,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":1237,"Heating Type":"GasA","Central Air":"Y","Rooms":9,"Fireplaces":1,"Garage Type":"Detchd","Fence Type":"NA","Year":2008,"Price":325000,"Satisfaction":9},{"Lot Area":10267,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":816,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"MnWw","Year":2008,"Price":130000,"Satisfaction":7},{"Lot Area":9100,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":742,"Heating Type":"GasA","Central Air":"Y","Rooms":4,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2008,"Price":79500,"Satisfaction":9},{"Lot Area":8320,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":770,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":185900,"Satisfaction":10},{"Lot Area":6600,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":816,"Heating Type":"GasA","Central Air":"Y","Rooms":4,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2008,"Price":138000,"Satisfaction":5},{"Lot Area":7990,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":924,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"MnPrv","Year":2008,"Price":110000,"Satisfaction":2},{"Lot Area":1950,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":716,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"GdPrv","Year":2008,"Price":151000,"Satisfaction":7},{"Lot Area":12803,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1494,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":221000,"Satisfaction":1},{"Lot Area":7227,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":832,"Heating Type":"GasA","Central Air":"Y","Rooms":4,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2008,"Price":105500,"Satisfaction":8},{"Lot Area":12244,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":1482,"Heating Type":"GasA","Central Air":"Y","Rooms":10,"Fireplaces":2,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":305000,"Satisfaction":5},{"Lot Area":8248,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":864,"Heating Type":"GasA","Central Air":"N","Rooms":5,"Fireplaces":0,"Garage Type":"NA","Fence Type":"NA","Year":2008,"Price":67000,"Satisfaction":1},{"Lot Area":10800,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1522,"Heating Type":"GasA","Central Air":"Y","Rooms":9,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":240000,"Satisfaction":7},{"Lot Area":9020,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1248,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"GdPrv","Year":2008,"Price":168500,"Satisfaction":10},{"Lot Area":8777,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":796,"Heating Type":"GasA","Central Air":"Y","Rooms":4,"Fireplaces":0,"Garage Type":"NA","Fence Type":"MnPrv","Year":2008,"Price":85000,"Satisfaction":5},{"Lot Area":12677,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":1518,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":274000,"Satisfaction":3},{"Lot Area":7200,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":0,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2008,"Price":98300,"Satisfaction":4},{"Lot Area":10452,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":1094,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":2,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":155000,"Satisfaction":3},{"Lot Area":8125,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":813,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":205950,"Satisfaction":2},{"Lot Area":10320,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":756,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"MnPrv","Year":2008,"Price":135000,"Satisfaction":6},{"Lot Area":10437,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":2109,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":350000,"Satisfaction":3},{"Lot Area":10007,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1053,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"MnPrv","Year":2008,"Price":145500,"Satisfaction":4},{"Lot Area":7200,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":776,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"MnPrv","Year":2008,"Price":149000,"Satisfaction":10},{"Lot Area":10012,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1138,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"MnPrv","Year":2008,"Price":137500,"Satisfaction":5},{"Lot Area":8125,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1408,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":193500,"Satisfaction":8},{"Lot Area":9200,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1136,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":140000,"Satisfaction":6},{"Lot Area":2887,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1291,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":173000,"Satisfaction":8},{"Lot Area":4426,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":848,"Heating Type":"GasA","Central Air":"Y","Rooms":3,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":141000,"Satisfaction":8},{"Lot Area":4282,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1391,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":196000,"Satisfaction":2},{"Lot Area":7162,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":876,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"MnPrv","Year":2008,"Price":109900,"Satisfaction":2},{"Lot Area":4130,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":270,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"NA","Fence Type":"NA","Year":2008,"Price":52000,"Satisfaction":7},{"Lot Area":4671,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1228,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":189000,"Satisfaction":6},{"Lot Area":10000,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1176,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"MnPrv","Year":2008,"Price":157000,"Satisfaction":7},{"Lot Area":10542,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":1311,"Heating Type":"GasA","Central Air":"Y","Rooms":9,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":341000,"Satisfaction":8},{"Lot Area":8172,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":941,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2008,"Price":135000,"Satisfaction":7},{"Lot Area":11404,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1153,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":222500,"Satisfaction":7},{"Lot Area":6768,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":912,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"GdPrv","Year":2008,"Price":142000,"Satisfaction":9},{"Lot Area":5395,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1337,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":180000,"Satisfaction":7},{"Lot Area":8963,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":1142,"Heating Type":"GasA","Central Air":"Y","Rooms":11,"Fireplaces":2,"Garage Type":"BuiltIn","Fence Type":"NA","Year":2008,"Price":299800,"Satisfaction":4},{"Lot Area":2280,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":744,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2008,"Price":179400,"Satisfaction":5},{"Lot Area":14587,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1498,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":264132,"Satisfaction":9},{"Lot Area":12508,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":983,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":160000,"Satisfaction":7},{"Lot Area":6300,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":742,"Heating Type":"GasA","Central Air":"Y","Rooms":9,"Fireplaces":1,"Garage Type":"NA","Fence Type":"NA","Year":2008,"Price":128000,"Satisfaction":2},{"Lot Area":6000,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":901,"Heating Type":"GasA","Central Air":"Y","Rooms":4,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2008,"Price":107900,"Satisfaction":6},{"Lot Area":10832,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":712,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":194500,"Satisfaction":5},{"Lot Area":7677,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":773,"Heating Type":"GasA","Central Air":"Y","Rooms":4,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":110000,"Satisfaction":8},{"Lot Area":12798,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":616,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":200000,"Satisfaction":3},{"Lot Area":8199,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":728,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":189000,"Satisfaction":9},{"Lot Area":12274,"Lot Config":"FR2","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1417,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":227680,"Satisfaction":9},{"Lot Area":4438,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":848,"Heating Type":"GasA","Central Air":"Y","Rooms":4,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":144500,"Satisfaction":6},{"Lot Area":13265,"Lot Config":"CulDSac","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":1568,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":2,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":271000,"Satisfaction":4},{"Lot Area":7226,"Lot Config":"CulDSac","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":798,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":183000,"Satisfaction":4},{"Lot Area":14803,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":2078,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":385000,"Satisfaction":6},{"Lot Area":6130,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":784,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"NA","Fence Type":"NA","Year":2008,"Price":109500,"Satisfaction":2},{"Lot Area":11900,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1392,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":2,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":166000,"Satisfaction":10},{"Lot Area":7875,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1144,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"GdWo","Year":2008,"Price":139950,"Satisfaction":3},{"Lot Area":1680,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":483,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2008,"Price":100000,"Satisfaction":3},{"Lot Area":9525,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1099,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":144000,"Satisfaction":1},{"Lot Area":11767,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":768,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2008,"Price":130500,"Satisfaction":7},{"Lot Area":12155,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":672,"Heating Type":"GasA","Central Air":"N","Rooms":7,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2008,"Price":140000,"Satisfaction":6},{"Lot Area":10440,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":650,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"Detchd","Fence Type":"NA","Year":2008,"Price":157500,"Satisfaction":4},{"Lot Area":9020,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1127,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"GdPrv","Year":2008,"Price":174900,"Satisfaction":5},{"Lot Area":12665,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":876,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Detchd","Fence Type":"NA","Year":2008,"Price":153900,"Satisfaction":2},{"Lot Area":45600,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":907,"Heating Type":"GasA","Central Air":"Y","Rooms":10,"Fireplaces":1,"Garage Type":"Detchd","Fence Type":"NA","Year":2008,"Price":240000,"Satisfaction":4},{"Lot Area":10970,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":940,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"MnPrv","Year":2008,"Price":147000,"Satisfaction":3},{"Lot Area":8640,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1372,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":250580,"Satisfaction":2},{"Lot Area":8892,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"Stone","Basement Area":105,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"GdWo","Year":2008,"Price":116000,"Satisfaction":10},{"Lot Area":5119,"Lot Config":"CulDSac","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1698,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":328900,"Satisfaction":8},{"Lot Area":16466,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":816,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":135500,"Satisfaction":7},{"Lot Area":13284,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1383,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"GdPrv","Year":2008,"Price":165000,"Satisfaction":3},{"Lot Area":7056,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":780,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":140000,"Satisfaction":5},{"Lot Area":11029,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":1184,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":176500,"Satisfaction":9},{"Lot Area":8777,"Lot Config":"Inside","Home Type":"Duplex","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1272,"Heating Type":"GasA","Central Air":"Y","Rooms":9,"Fireplaces":0,"Garage Type":"NA","Fence Type":"GdPrv","Year":2008,"Price":145900,"Satisfaction":6},{"Lot Area":8012,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1604,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":193000,"Satisfaction":9},{"Lot Area":15611,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1126,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":175000,"Satisfaction":7},{"Lot Area":9900,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":832,"Heating Type":"GasA","Central Air":"Y","Rooms":9,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"GdPrv","Year":2008,"Price":176000,"Satisfaction":5},{"Lot Area":27650,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Flat","Foundation Type":"CBlock","Basement Area":585,"Heating Type":"GasA","Central Air":"Y","Rooms":9,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":242000,"Satisfaction":6},{"Lot Area":11075,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":784,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"MnPrv","Year":2008,"Price":172000,"Satisfaction":2},{"Lot Area":12227,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1330,"Heating Type":"GasA","Central Air":"Y","Rooms":11,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":272000,"Satisfaction":6},{"Lot Area":7390,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":1098,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":135000,"Satisfaction":9},{"Lot Area":11639,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1428,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":182000,"Satisfaction":8},{"Lot Area":12122,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":944,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":178400,"Satisfaction":4},{"Lot Area":3182,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1266,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":159895,"Satisfaction":10},{"Lot Area":11250,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1128,"Heating Type":"GasA","Central Air":"Y","Rooms":9,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":255900,"Satisfaction":9},{"Lot Area":10880,"Lot Config":"Inside","Home Type":"Condo","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1164,"Heating Type":"GasW","Central Air":"N","Rooms":5,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2008,"Price":125000,"Satisfaction":8},{"Lot Area":11957,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1574,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":232000,"Satisfaction":4},{"Lot Area":8385,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":985,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":149900,"Satisfaction":10},{"Lot Area":21286,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":720,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":135000,"Satisfaction":8},{"Lot Area":7024,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1132,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":176000,"Satisfaction":4},{"Lot Area":3182,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1346,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":191000,"Satisfaction":8},{"Lot Area":15498,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":1565,"Heating Type":"GasA","Central Air":"Y","Rooms":10,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":287000,"Satisfaction":4},{"Lot Area":9520,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1638,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":293077,"Satisfaction":4},{"Lot Area":9240,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1055,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"BuiltIn","Fence Type":"NA","Year":2008,"Price":287000,"Satisfaction":8},{"Lot Area":9130,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":800,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":173000,"Satisfaction":9},{"Lot Area":11839,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":1475,"Heating Type":"GasA","Central Air":"Y","Rooms":10,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":262280,"Satisfaction":1},{"Lot Area":9245,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":990,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2008,"Price":145000,"Satisfaction":3},{"Lot Area":11361,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1193,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"MnPrv","Year":2008,"Price":180000,"Satisfaction":10},{"Lot Area":18000,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":894,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2008,"Price":81000,"Satisfaction":8},{"Lot Area":9760,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":780,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":167900,"Satisfaction":3},{"Lot Area":11040,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1258,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":145000,"Satisfaction":1},{"Lot Area":2160,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":600,"Heating Type":"GasA","Central Air":"Y","Rooms":4,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2008,"Price":160000,"Satisfaction":5},{"Lot Area":8400,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1181,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Detchd","Fence Type":"NA","Year":2008,"Price":136500,"Satisfaction":6},{"Lot Area":8000,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":773,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":188000,"Satisfaction":7},{"Lot Area":10480,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":803,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":205000,"Satisfaction":7},{"Lot Area":9764,"Lot Config":"FR2","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":894,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":130000,"Satisfaction":3},{"Lot Area":13825,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":533,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"BuiltIn","Fence Type":"NA","Year":2008,"Price":140000,"Satisfaction":7},{"Lot Area":9600,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1032,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":119000,"Satisfaction":1},{"Lot Area":7350,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":952,"Heating Type":"GasA","Central Air":"Y","Rooms":4,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2008,"Price":139000,"Satisfaction":3},{"Lot Area":9000,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1006,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"NA","Fence Type":"NA","Year":2008,"Price":80000,"Satisfaction":8},{"Lot Area":5700,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":572,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":1,"Garage Type":"Detchd","Fence Type":"NA","Year":2008,"Price":116900,"Satisfaction":7},{"Lot Area":5890,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":816,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2008,"Price":120500,"Satisfaction":9},{"Lot Area":13700,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":864,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":2,"Garage Type":"Attchd","Fence Type":"GdPrv","Year":2008,"Price":201800,"Satisfaction":2},{"Lot Area":9350,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1219,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"MnPrv","Year":2008,"Price":179900,"Satisfaction":3},{"Lot Area":11932,"Lot Config":"FR2","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1580,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":235128,"Satisfaction":2},{"Lot Area":9120,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":901,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":185000,"Satisfaction":9},{"Lot Area":14778,"Lot Config":"CulDSac","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":1296,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Detchd","Fence Type":"NA","Year":2008,"Price":224000,"Satisfaction":3},{"Lot Area":12900,"Lot Config":"Inside","Home Type":"Duplex","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1198,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"CarPort","Fence Type":"NA","Year":2008,"Price":108959,"Satisfaction":6},{"Lot Area":13728,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":1127,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":2,"Garage Type":"Basment","Fence Type":"NA","Year":2008,"Price":235000,"Satisfaction":5},{"Lot Area":9880,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1096,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"GdPrv","Year":2008,"Price":171000,"Satisfaction":9},{"Lot Area":9120,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":1261,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":163000,"Satisfaction":3},{"Lot Area":4017,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":625,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2008,"Price":171900,"Satisfaction":10},{"Lot Area":6951,"Lot Config":"CulDSac","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":876,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"MnPrv","Year":2008,"Price":119500,"Satisfaction":5},{"Lot Area":5587,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":1600,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":392500,"Satisfaction":7},{"Lot Area":8029,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":728,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":176000,"Satisfaction":6},{"Lot Area":7763,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":931,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2008,"Price":140000,"Satisfaction":7},{"Lot Area":8250,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":952,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":134000,"Satisfaction":3},{"Lot Area":15384,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":788,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":184000,"Satisfaction":10},{"Lot Area":14598,"Lot Config":"CulDSac","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":894,"Heating Type":"GasA","Central Air":"Y","Rooms":9,"Fireplaces":1,"Garage Type":"BuiltIn","Fence Type":"NA","Year":2008,"Price":214000,"Satisfaction":6},{"Lot Area":8872,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":912,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2008,"Price":147000,"Satisfaction":7},{"Lot Area":8769,"Lot Config":"Corner","Home Type":"Townhouse","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":1702,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":367294,"Satisfaction":4},{"Lot Area":7910,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":1075,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"Basment","Fence Type":"GdWo","Year":2008,"Price":127000,"Satisfaction":2},{"Lot Area":8525,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":940,"Heating Type":"GasA","Central Air":"N","Rooms":7,"Fireplaces":0,"Garage Type":"NA","Fence Type":"NA","Year":2008,"Price":130000,"Satisfaction":1},{"Lot Area":8158,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":884,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":224900,"Satisfaction":9},{"Lot Area":9600,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":735,"Heating Type":"OthW","Central Air":"N","Rooms":8,"Fireplaces":1,"Garage Type":"Detchd","Fence Type":"NA","Year":2008,"Price":129500,"Satisfaction":2},{"Lot Area":6931,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":746,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"BuiltIn","Fence Type":"NA","Year":2008,"Price":165400,"Satisfaction":3},{"Lot Area":14303,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":1986,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":301500,"Satisfaction":8},{"Lot Area":9587,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":856,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":190000,"Satisfaction":3},{"Lot Area":9750,"Lot Config":"FR2","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1054,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":151000,"Satisfaction":1},{"Lot Area":4060,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1405,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":181000,"Satisfaction":8},{"Lot Area":14100,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":728,"Heating Type":"GasA","Central Air":"Y","Rooms":11,"Fireplaces":2,"Garage Type":"BuiltIn","Fence Type":"GdWo","Year":2008,"Price":381000,"Satisfaction":9},{"Lot Area":11512,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1019,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":1,"Garage Type":"Basment","Fence Type":"GdPrv","Year":2008,"Price":177000,"Satisfaction":1},{"Lot Area":9473,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1128,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":237000,"Satisfaction":4},{"Lot Area":8700,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":1120,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"MnPrv","Year":2008,"Price":155000,"Satisfaction":1},{"Lot Area":63887,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":6110,"Heating Type":"GasA","Central Air":"Y","Rooms":12,"Fireplaces":3,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":160000,"Satisfaction":4},{"Lot Area":12000,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":924,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"GdWo","Year":2008,"Price":147000,"Satisfaction":7},{"Lot Area":7153,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1278,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"GdWo","Year":2008,"Price":179200,"Satisfaction":3},{"Lot Area":11075,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":952,"Heating Type":"GasA","Central Air":"Y","Rooms":9,"Fireplaces":2,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":206900,"Satisfaction":1},{"Lot Area":6627,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":0,"Heating Type":"Floor","Central Air":"N","Rooms":4,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2008,"Price":72500,"Satisfaction":10},{"Lot Area":3636,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":796,"Heating Type":"GasA","Central Air":"N","Rooms":5,"Fireplaces":0,"Garage Type":"NA","Fence Type":"MnPrv","Year":2008,"Price":55000,"Satisfaction":6},{"Lot Area":6600,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":816,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"MnPrv","Year":2008,"Price":130500,"Satisfaction":10},{"Lot Area":10440,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":1510,"Heating Type":"GasW","Central Air":"Y","Rooms":8,"Fireplaces":2,"Garage Type":"Detchd","Fence Type":"MnPrv","Year":2008,"Price":256000,"Satisfaction":3},{"Lot Area":9246,"Lot Config":"Inside","Home Type":"Duplex","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1656,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2008,"Price":135000,"Satisfaction":7},{"Lot Area":13695,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1114,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2008,"Price":155000,"Satisfaction":9},{"Lot Area":5250,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":684,"Heating Type":"OthW","Central Air":"N","Rooms":8,"Fireplaces":0,"Garage Type":"NA","Fence Type":"NA","Year":2008,"Price":122000,"Satisfaction":2},{"Lot Area":9247,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":858,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":171000,"Satisfaction":8},{"Lot Area":10316,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":992,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":235000,"Satisfaction":9},{"Lot Area":9477,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":864,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"GdWo","Year":2008,"Price":110000,"Satisfaction":3},{"Lot Area":9842,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":612,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":0,"Garage Type":"BuiltIn","Fence Type":"NA","Year":2008,"Price":189000,"Satisfaction":4},{"Lot Area":9179,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":873,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":193000,"Satisfaction":7},{"Lot Area":9600,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":992,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"BuiltIn","Fence Type":"MnPrv","Year":2008,"Price":165500,"Satisfaction":1},{"Lot Area":10625,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1026,"Heating Type":"GasA","Central Air":"Y","Rooms":9,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":250000,"Satisfaction":7},{"Lot Area":6292,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":768,"Heating Type":"GasA","Central Air":"N","Rooms":4,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2008,"Price":91000,"Satisfaction":1},{"Lot Area":9735,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":384,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"BuiltIn","Fence Type":"NA","Year":2008,"Price":167500,"Satisfaction":4},{"Lot Area":12925,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1205,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":2,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":237500,"Satisfaction":4},{"Lot Area":10800,"Lot Config":"Inside","Home Type":"Condo","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":482,"Heating Type":"GasA","Central Air":"N","Rooms":7,"Fireplaces":1,"Garage Type":"Detchd","Fence Type":"NA","Year":2008,"Price":163000,"Satisfaction":7},{"Lot Area":6000,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":862,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":1,"Garage Type":"BuiltIn","Fence Type":"NA","Year":2008,"Price":120000,"Satisfaction":1},{"Lot Area":7415,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":839,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":193000,"Satisfaction":2},{"Lot Area":3842,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":1594,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":275000,"Satisfaction":7},{"Lot Area":20544,"Lot Config":"CulDSac","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":791,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"MnPrv","Year":2008,"Price":215000,"Satisfaction":10},{"Lot Area":13053,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gambrel","Foundation Type":"BrkTil","Basement Area":833,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"Detchd","Fence Type":"NA","Year":2008,"Price":207000,"Satisfaction":9},{"Lot Area":9204,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1144,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2008,"Price":124000,"Satisfaction":4},{"Lot Area":4435,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":848,"Heating Type":"GasA","Central Air":"Y","Rooms":3,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":136500,"Satisfaction":2},{"Lot Area":10721,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":1252,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2008,"Price":142000,"Satisfaction":1},{"Lot Area":10944,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1223,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":2,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":271000,"Satisfaction":6},{"Lot Area":10930,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":913,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":140000,"Satisfaction":8},{"Lot Area":10261,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":936,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":186500,"Satisfaction":8},{"Lot Area":8400,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1319,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"GdPrv","Year":2008,"Price":174000,"Satisfaction":4},{"Lot Area":12444,"Lot Config":"FR2","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":1932,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":394617,"Satisfaction":7},{"Lot Area":11526,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":588,"Heating Type":"GasA","Central Air":"Y","Rooms":11,"Fireplaces":1,"Garage Type":"Detchd","Fence Type":"NA","Year":2008,"Price":191000,"Satisfaction":8},{"Lot Area":4426,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":848,"Heating Type":"GasA","Central Air":"Y","Rooms":3,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":149300,"Satisfaction":7},{"Lot Area":9937,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1256,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2008,"Price":147500,"Satisfaction":5},{"Lot Area":9600,"Lot Config":"FR2","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1262,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":181500,"Satisfaction":5},{"Lot Area":10084,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1686,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":307000,"Satisfaction":1},{"Lot Area":10652,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1494,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":279500,"Satisfaction":4},{"Lot Area":6120,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":832,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"GdPrv","Year":2007,"Price":132000,"Satisfaction":1},{"Lot Area":7449,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":637,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"GdPrv","Year":2007,"Price":139400,"Satisfaction":2},{"Lot Area":4224,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1040,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":129900,"Satisfaction":3},{"Lot Area":7313,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":1561,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":277500,"Satisfaction":9},{"Lot Area":16905,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1350,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":2,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":170000,"Satisfaction":8},{"Lot Area":9180,"Lot Config":"CulDSac","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":840,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"MnPrv","Year":2007,"Price":144000,"Satisfaction":9},{"Lot Area":11096,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1656,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":249700,"Satisfaction":9},{"Lot Area":7742,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":955,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"MnPrv","Year":2007,"Price":127000,"Satisfaction":8},{"Lot Area":13869,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":794,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":177000,"Satisfaction":10},{"Lot Area":7134,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":384,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Detchd","Fence Type":"MnPrv","Year":2007,"Price":130000,"Satisfaction":6},{"Lot Area":7200,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":530,"Heating Type":"GasA","Central Air":"N","Rooms":6,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2007,"Price":101000,"Satisfaction":10},{"Lot Area":6442,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1370,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":202500,"Satisfaction":7},{"Lot Area":9591,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1143,"Heating Type":"GasA","Central Air":"Y","Rooms":9,"Fireplaces":1,"Garage Type":"BuiltIn","Fence Type":"NA","Year":2007,"Price":317000,"Satisfaction":6},{"Lot Area":10665,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1453,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":226000,"Satisfaction":4},{"Lot Area":13651,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":2223,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":2,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":244000,"Satisfaction":1},{"Lot Area":7599,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":845,"Heating Type":"GasA","Central Air":"Y","Rooms":4,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2007,"Price":129500,"Satisfaction":3},{"Lot Area":8892,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1065,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2007,"Price":126500,"Satisfaction":3},{"Lot Area":8070,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":990,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"NA","Fence Type":"NA","Year":2007,"Price":123600,"Satisfaction":3},{"Lot Area":7200,"Lot Config":"Corner","Home Type":"Condo","Roof Style":"Hip","Foundation Type":"BrkTil","Basement Area":1214,"Heating Type":"GasW","Central Air":"N","Rooms":9,"Fireplaces":1,"Garage Type":"Detchd","Fence Type":"NA","Year":2007,"Price":133900,"Satisfaction":8},{"Lot Area":9337,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":824,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":204750,"Satisfaction":5},{"Lot Area":10921,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":960,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":94750,"Satisfaction":5},{"Lot Area":7758,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1040,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":2,"Garage Type":"Detchd","Fence Type":"NA","Year":2007,"Price":169500,"Satisfaction":6},{"Lot Area":10800,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Mansard","Foundation Type":"BrkTil","Basement Area":641,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2007,"Price":100000,"Satisfaction":4},{"Lot Area":8500,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":793,"Heating Type":"GasW","Central Air":"N","Rooms":7,"Fireplaces":0,"Garage Type":"NA","Fence Type":"NA","Year":2007,"Price":115000,"Satisfaction":1},{"Lot Area":9965,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1264,"Heating Type":"GasA","Central Air":"Y","Rooms":10,"Fireplaces":1,"Garage Type":"BuiltIn","Fence Type":"NA","Year":2007,"Price":383970,"Satisfaction":1},{"Lot Area":21000,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":1809,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":2,"Garage Type":"Basment","Fence Type":"MnPrv","Year":2007,"Price":217000,"Satisfaction":4},{"Lot Area":7259,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gambrel","Foundation Type":"CBlock","Basement Area":1028,"Heating Type":"GasA","Central Air":"Y","Rooms":9,"Fireplaces":1,"Garage Type":"Detchd","Fence Type":"MnPrv","Year":2007,"Price":259500,"Satisfaction":3},{"Lot Area":3230,"Lot Config":"Corner","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":729,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":1,"Garage Type":"Detchd","Fence Type":"NA","Year":2007,"Price":176000,"Satisfaction":9},{"Lot Area":8536,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1125,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":155000,"Satisfaction":1},{"Lot Area":6060,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":732,"Heating Type":"GasA","Central Air":"Y","Rooms":4,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"MnPrv","Year":2007,"Price":100000,"Satisfaction":9},{"Lot Area":4928,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1078,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":128000,"Satisfaction":5},{"Lot Area":4388,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":672,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":1,"Garage Type":"NA","Fence Type":"NA","Year":2007,"Price":87000,"Satisfaction":9},{"Lot Area":7388,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1063,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2007,"Price":150750,"Satisfaction":5},{"Lot Area":10355,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1214,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":143000,"Satisfaction":6},{"Lot Area":10356,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":969,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"MnPrv","Year":2007,"Price":122000,"Satisfaction":6},{"Lot Area":5500,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":882,"Heating Type":"GasA","Central Air":"Y","Rooms":4,"Fireplaces":0,"Garage Type":"NA","Fence Type":"MnPrv","Year":2007,"Price":103200,"Satisfaction":3},{"Lot Area":5400,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":1149,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2007,"Price":152000,"Satisfaction":6},{"Lot Area":10562,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1582,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":325624,"Satisfaction":1},{"Lot Area":8244,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":840,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":183500,"Satisfaction":6},{"Lot Area":12358,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":720,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2007,"Price":128500,"Satisfaction":5},{"Lot Area":12615,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1202,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"MnPrv","Year":2007,"Price":243000,"Satisfaction":8},{"Lot Area":10029,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1151,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":211000,"Satisfaction":4},{"Lot Area":8520,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":968,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2007,"Price":100000,"Satisfaction":3},{"Lot Area":2117,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":756,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":1,"Garage Type":"Detchd","Fence Type":"NA","Year":2007,"Price":177000,"Satisfaction":10},{"Lot Area":9060,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":0,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"MnPrv","Year":2007,"Price":120000,"Satisfaction":8},{"Lot Area":10570,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":853,"Heating Type":"GasA","Central Air":"Y","Rooms":10,"Fireplaces":2,"Garage Type":"Detchd","Fence Type":"NA","Year":2007,"Price":315000,"Satisfaction":7},{"Lot Area":7472,"Lot Config":"CulDSac","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":725,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":184000,"Satisfaction":1},{"Lot Area":9416,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":1726,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":311872,"Satisfaction":3},{"Lot Area":13673,"Lot Config":"CulDSac","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1140,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":143900,"Satisfaction":10},{"Lot Area":14364,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1157,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":277000,"Satisfaction":5},{"Lot Area":9950,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1203,"Heating Type":"GasA","Central Air":"Y","Rooms":9,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":290000,"Satisfaction":2},{"Lot Area":12030,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":1694,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":318000,"Satisfaction":10},{"Lot Area":3880,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":686,"Heating Type":"GasA","Central Air":"Y","Rooms":4,"Fireplaces":0,"Garage Type":"NA","Fence Type":"NA","Year":2007,"Price":110500,"Satisfaction":1},{"Lot Area":11317,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":840,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":180000,"Satisfaction":6},{"Lot Area":159000,"Lot Config":"CulDSac","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1444,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":2,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":277000,"Satisfaction":6},{"Lot Area":4750,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":1573,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":235000,"Satisfaction":7},{"Lot Area":9350,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":1302,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"MnPrv","Year":2007,"Price":158000,"Satisfaction":3},{"Lot Area":9588,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1482,"Heating Type":"GasA","Central Air":"Y","Rooms":10,"Fireplaces":1,"Garage Type":"BuiltIn","Fence Type":"NA","Year":2007,"Price":276000,"Satisfaction":1},{"Lot Area":7917,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":1143,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"GdPrv","Year":2007,"Price":148000,"Satisfaction":2},{"Lot Area":8314,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":816,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":124500,"Satisfaction":3},{"Lot Area":14450,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":2121,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":415298,"Satisfaction":7},{"Lot Area":11287,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":807,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":228500,"Satisfaction":8},{"Lot Area":8012,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1575,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":179200,"Satisfaction":9},{"Lot Area":4251,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":625,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2007,"Price":164700,"Satisfaction":9},{"Lot Area":8730,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":698,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2007,"Price":153575,"Satisfaction":3},{"Lot Area":13710,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":910,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"MnPrv","Year":2007,"Price":152000,"Satisfaction":8},{"Lot Area":7399,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":975,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Detchd","Fence Type":"NA","Year":2007,"Price":239000,"Satisfaction":2},{"Lot Area":11700,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Mansard","Foundation Type":"CBlock","Basement Area":702,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":175000,"Satisfaction":3},{"Lot Area":16226,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1028,"Heating Type":"GasA","Central Air":"Y","Rooms":9,"Fireplaces":1,"Garage Type":"BuiltIn","Fence Type":"NA","Year":2007,"Price":267000,"Satisfaction":5},{"Lot Area":10386,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":2000,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":305900,"Satisfaction":4},{"Lot Area":13474,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":700,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":225000,"Satisfaction":3},{"Lot Area":9000,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1088,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":270000,"Satisfaction":9},{"Lot Area":12099,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1136,"Heating Type":"GasA","Central Air":"Y","Rooms":10,"Fireplaces":1,"Garage Type":"BuiltIn","Fence Type":"NA","Year":2007,"Price":354000,"Satisfaction":2},{"Lot Area":10380,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1502,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"MnPrv","Year":2007,"Price":301000,"Satisfaction":1},{"Lot Area":5000,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":720,"Heating Type":"GasA","Central Air":"N","Rooms":5,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2007,"Price":87000,"Satisfaction":1},{"Lot Area":10624,"Lot Config":"Inside","Home Type":"Duplex","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1728,"Heating Type":"GasA","Central Air":"Y","Rooms":10,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2007,"Price":119000,"Satisfaction":9},{"Lot Area":8176,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1056,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":139000,"Satisfaction":6},{"Lot Area":14157,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":1922,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":377426,"Satisfaction":5},{"Lot Area":12772,"Lot Config":"CulDSac","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":958,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":151500,"Satisfaction":1},{"Lot Area":7820,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":1869,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":318061,"Satisfaction":1},{"Lot Area":11249,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1200,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":177500,"Satisfaction":7},{"Lot Area":4224,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1142,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"MnPrv","Year":2007,"Price":134000,"Satisfaction":2},{"Lot Area":7540,"Lot Config":"CulDSac","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":888,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"MnPrv","Year":2007,"Price":156000,"Satisfaction":1},{"Lot Area":8200,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":847,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"BuiltIn","Fence Type":"NA","Year":2007,"Price":219500,"Satisfaction":10},{"Lot Area":11143,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1580,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":340000,"Satisfaction":4},{"Lot Area":9245,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":939,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":213500,"Satisfaction":9},{"Lot Area":53107,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1580,"Heating Type":"GasA","Central Air":"Y","Rooms":9,"Fireplaces":2,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":240000,"Satisfaction":2},{"Lot Area":8339,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"Slab","Basement Area":0,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"MnPrv","Year":2007,"Price":106500,"Satisfaction":9},{"Lot Area":10134,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":735,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2007,"Price":109000,"Satisfaction":4},{"Lot Area":7590,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":864,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":169500,"Satisfaction":1},{"Lot Area":8967,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":961,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2007,"Price":67000,"Satisfaction":3},{"Lot Area":10364,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":806,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"BuiltIn","Fence Type":"NA","Year":2007,"Price":168000,"Satisfaction":6},{"Lot Area":14154,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1063,"Heating Type":"GasA","Central Air":"Y","Rooms":9,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":280000,"Satisfaction":5},{"Lot Area":8899,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1340,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":181134,"Satisfaction":10},{"Lot Area":22420,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"BrkTil","Basement Area":1370,"Heating Type":"GasW","Central Air":"N","Rooms":10,"Fireplaces":1,"Garage Type":"Detchd","Fence Type":"NA","Year":2007,"Price":239000,"Satisfaction":6},{"Lot Area":8160,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":756,"Heating Type":"GasA","Central Air":"N","Rooms":7,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2007,"Price":126000,"Satisfaction":5},{"Lot Area":6762,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1208,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":195400,"Satisfaction":10},{"Lot Area":1920,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":765,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2007,"Price":122500,"Satisfaction":6},{"Lot Area":4280,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":440,"Heating Type":"GasA","Central Air":"N","Rooms":4,"Fireplaces":1,"Garage Type":"Detchd","Fence Type":"MnPrv","Year":2007,"Price":90350,"Satisfaction":8},{"Lot Area":3922,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1258,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":172500,"Satisfaction":7},{"Lot Area":6000,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":649,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2007,"Price":120000,"Satisfaction":2},{"Lot Area":9303,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":872,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":204000,"Satisfaction":6},{"Lot Area":9600,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":1242,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":175500,"Satisfaction":1},{"Lot Area":10628,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Flat","Foundation Type":"CBlock","Basement Area":1277,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"GdWo","Year":2007,"Price":167000,"Satisfaction":2},{"Lot Area":9480,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":728,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":2,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":146500,"Satisfaction":3},{"Lot Area":11428,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1626,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":250000,"Satisfaction":1},{"Lot Area":11952,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Mansard","Foundation Type":"CBlock","Basement Area":808,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":190000,"Satisfaction":7},{"Lot Area":14977,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1976,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":440000,"Satisfaction":10},{"Lot Area":5330,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1494,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":251000,"Satisfaction":1},{"Lot Area":8480,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":970,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2007,"Price":132500,"Satisfaction":5},{"Lot Area":13693,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":2153,"Heating Type":"GasA","Central Air":"Y","Rooms":9,"Fireplaces":1,"Garage Type":"BuiltIn","Fence Type":"NA","Year":2007,"Price":380000,"Satisfaction":8},{"Lot Area":5925,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"BrkTil","Basement Area":907,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"MnPrv","Year":2007,"Price":89471,"Satisfaction":5},{"Lot Area":7758,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":999,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2007,"Price":132500,"Satisfaction":4},{"Lot Area":10289,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":1073,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":156000,"Satisfaction":9},{"Lot Area":12243,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1484,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":175000,"Satisfaction":9},{"Lot Area":12692,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":3200,"Heating Type":"GasA","Central Air":"Y","Rooms":10,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":430000,"Satisfaction":7},{"Lot Area":7535,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":912,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"MnWw","Year":2007,"Price":120000,"Satisfaction":10},{"Lot Area":1890,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":672,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2007,"Price":113000,"Satisfaction":4},{"Lot Area":9170,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":1214,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"GdPrv","Year":2007,"Price":140000,"Satisfaction":5},{"Lot Area":9187,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1084,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":134000,"Satisfaction":2},{"Lot Area":10594,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":768,"Heating Type":"Grav","Central Air":"N","Rooms":5,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"MnPrv","Year":2007,"Price":96500,"Satisfaction":7},{"Lot Area":9531,"Lot Config":"CulDSac","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":794,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"MnPrv","Year":2007,"Price":211000,"Satisfaction":2},{"Lot Area":11988,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1244,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":2,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":150000,"Satisfaction":10},{"Lot Area":40094,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":3138,"Heating Type":"GasA","Central Air":"Y","Rooms":11,"Fireplaces":1,"Garage Type":"BuiltIn","Fence Type":"NA","Year":2007,"Price":184750,"Satisfaction":2},{"Lot Area":11787,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1379,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":315750,"Satisfaction":3},{"Lot Area":13300,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":928,"Heating Type":"GasA","Central Air":"Y","Rooms":4,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":132000,"Satisfaction":6},{"Lot Area":9098,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":528,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"NA","Fence Type":"NA","Year":2007,"Price":86000,"Satisfaction":9},{"Lot Area":32668,"Lot Config":"CulDSac","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":2035,"Heating Type":"GasA","Central Air":"Y","Rooms":9,"Fireplaces":2,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":200624,"Satisfaction":4},{"Lot Area":5000,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"Slab","Basement Area":0,"Heating Type":"GasA","Central Air":"N","Rooms":2,"Fireplaces":0,"Garage Type":"NA","Fence Type":"NA","Year":2007,"Price":39300,"Satisfaction":1},{"Lot Area":11000,"Lot Config":"FR2","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":969,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"BuiltIn","Fence Type":"NA","Year":2007,"Price":248000,"Satisfaction":4},{"Lot Area":4058,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":723,"Heating Type":"GasA","Central Air":"Y","Rooms":4,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":133000,"Satisfaction":8},{"Lot Area":8737,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":1065,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Detchd","Fence Type":"NA","Year":2007,"Price":210000,"Satisfaction":6},{"Lot Area":7244,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":768,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2007,"Price":129500,"Satisfaction":8},{"Lot Area":9967,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":384,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"BuiltIn","Fence Type":"NA","Year":2007,"Price":170000,"Satisfaction":1},{"Lot Area":10500,"Lot Config":"FR2","Home Type":"Single Family","Roof Style":"Gambrel","Foundation Type":"CBlock","Basement Area":372,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"BuiltIn","Fence Type":"GdWo","Year":2007,"Price":139000,"Satisfaction":8},{"Lot Area":14585,"Lot Config":"CulDSac","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1144,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":2,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":181900,"Satisfaction":8},{"Lot Area":11841,"Lot Config":"Inside","Home Type":"Duplex","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":816,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"NA","Fence Type":"NA","Year":2007,"Price":118500,"Satisfaction":4},{"Lot Area":3922,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1258,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":194201,"Satisfaction":5},{"Lot Area":9000,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":780,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Detchd","Fence Type":"NA","Year":2007,"Price":141000,"Satisfaction":2},{"Lot Area":12168,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":965,"Heating Type":"GasA","Central Air":"Y","Rooms":10,"Fireplaces":2,"Garage Type":"Basment","Fence Type":"NA","Year":2007,"Price":359100,"Satisfaction":6},{"Lot Area":7943,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1029,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":118500,"Satisfaction":9},{"Lot Area":10395,"Lot Config":"FR2","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1032,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"MnPrv","Year":2007,"Price":148000,"Satisfaction":10},{"Lot Area":8402,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1120,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"NA","Fence Type":"NA","Year":2007,"Price":147000,"Satisfaction":6},{"Lot Area":11694,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":1822,"Heating Type":"GasA","Central Air":"Y","Rooms":9,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":314813,"Satisfaction":8},{"Lot Area":2117,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":756,"Heating Type":"GasA","Central Air":"Y","Rooms":4,"Fireplaces":1,"Garage Type":"Detchd","Fence Type":"NA","Year":2007,"Price":168500,"Satisfaction":6},{"Lot Area":12342,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":978,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"GdWo","Year":2007,"Price":139900,"Satisfaction":3},{"Lot Area":11606,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1040,"Heating Type":"GasA","Central Air":"Y","Rooms":9,"Fireplaces":2,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":135000,"Satisfaction":5},{"Lot Area":4590,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1554,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":209500,"Satisfaction":9},{"Lot Area":9250,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1056,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":139400,"Satisfaction":9},{"Lot Area":10896,"Lot Config":"Inside","Home Type":"Condo","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":1440,"Heating Type":"GasA","Central Air":"Y","Rooms":14,"Fireplaces":0,"Garage Type":"NA","Fence Type":"NA","Year":2007,"Price":200000,"Satisfaction":7},{"Lot Area":7050,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1057,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":226000,"Satisfaction":8},{"Lot Area":10793,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Mansard","Foundation Type":"CBlock","Basement Area":780,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"GdWo","Year":2007,"Price":152000,"Satisfaction":1},{"Lot Area":10530,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":981,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2007,"Price":143250,"Satisfaction":9},{"Lot Area":1936,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":630,"Heating Type":"GasA","Central Air":"Y","Rooms":3,"Fireplaces":0,"Garage Type":"NA","Fence Type":"MnPrv","Year":2007,"Price":84500,"Satisfaction":6},{"Lot Area":12384,"Lot Config":"CulDSac","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":793,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":197900,"Satisfaction":9},{"Lot Area":18450,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Flat","Foundation Type":"CBlock","Basement Area":1021,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"CarPort","Fence Type":"NA","Year":2007,"Price":129000,"Satisfaction":4},{"Lot Area":14442,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":1477,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":2,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":257500,"Satisfaction":7},{"Lot Area":9945,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":988,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2007,"Price":128500,"Satisfaction":8},{"Lot Area":11248,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":1626,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":285000,"Satisfaction":2},{"Lot Area":5062,"Lot Config":"CulDSac","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1190,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":207500,"Satisfaction":6},{"Lot Area":10207,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":874,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":227875,"Satisfaction":7},{"Lot Area":5105,"Lot Config":"FR2","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":551,"Heating Type":"GasA","Central Air":"Y","Rooms":4,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2007,"Price":148800,"Satisfaction":2},{"Lot Area":8089,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1419,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":392000,"Satisfaction":10},{"Lot Area":7577,"Lot Config":"Corner","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1362,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":194700,"Satisfaction":1},{"Lot Area":21535,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":2444,"Heating Type":"GasA","Central Air":"Y","Rooms":10,"Fireplaces":2,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":755000,"Satisfaction":4},{"Lot Area":115149,"Lot Config":"CulDSac","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1643,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":2,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":302000,"Satisfaction":5},{"Lot Area":9018,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":728,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":179540,"Satisfaction":10},{"Lot Area":10800,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":718,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2007,"Price":159500,"Satisfaction":6},{"Lot Area":9590,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":868,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":187500,"Satisfaction":1},{"Lot Area":8978,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":948,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":108000,"Satisfaction":4},{"Lot Area":9600,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":264,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"GdPrv","Year":2007,"Price":132000,"Satisfaction":8},{"Lot Area":8450,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1349,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"GdPrv","Year":2007,"Price":179000,"Satisfaction":5},{"Lot Area":7750,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":660,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":162000,"Satisfaction":1},{"Lot Area":12257,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1318,"Heating Type":"GasA","Central Air":"Y","Rooms":9,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":290000,"Satisfaction":6},{"Lot Area":10150,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":912,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":114500,"Satisfaction":8},{"Lot Area":14226,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":1935,"Heating Type":"GasA","Central Air":"Y","Rooms":9,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":395000,"Satisfaction":5},{"Lot Area":8400,"Lot Config":"Inside","Home Type":"Duplex","Roof Style":"Gable","Foundation Type":"Slab","Basement Area":0,"Heating Type":"GasA","Central Air":"Y","Rooms":10,"Fireplaces":2,"Garage Type":"Detchd","Fence Type":"NA","Year":2007,"Price":144000,"Satisfaction":2},{"Lot Area":7875,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1237,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":176000,"Satisfaction":2},{"Lot Area":12205,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":832,"Heating Type":"GasA","Central Air":"Y","Rooms":9,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":187500,"Satisfaction":9},{"Lot Area":11333,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1029,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":2,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":146800,"Satisfaction":8},{"Lot Area":9920,"Lot Config":"CulDSac","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1117,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":269790,"Satisfaction":5},{"Lot Area":9158,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1496,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":225000,"Satisfaction":10},{"Lot Area":8197,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":660,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"MnPrv","Year":2007,"Price":143500,"Satisfaction":5},{"Lot Area":7200,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":731,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":2,"Garage Type":"Detchd","Fence Type":"MnPrv","Year":2007,"Price":175000,"Satisfaction":6},{"Lot Area":4800,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1196,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2007,"Price":109900,"Satisfaction":3},{"Lot Area":9750,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1442,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":157900,"Satisfaction":7},{"Lot Area":12394,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":847,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"BuiltIn","Fence Type":"NA","Year":2007,"Price":225000,"Satisfaction":2},{"Lot Area":8100,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":1559,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"GdWo","Year":2007,"Price":153500,"Satisfaction":6},{"Lot Area":8000,"Lot Config":"Corner","Home Type":"Duplex","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1800,"Heating Type":"GasA","Central Air":"N","Rooms":10,"Fireplaces":0,"Garage Type":"NA","Fence Type":"NA","Year":2007,"Price":141000,"Satisfaction":3},{"Lot Area":16647,"Lot Config":"CulDSac","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1390,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":2,"Garage Type":"Basment","Fence Type":"NA","Year":2007,"Price":171000,"Satisfaction":2},{"Lot Area":9600,"Lot Config":"FR2","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":528,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":187000,"Satisfaction":1},{"Lot Area":4435,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":848,"Heating Type":"GasA","Central Air":"Y","Rooms":3,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":131500,"Satisfaction":8},{"Lot Area":7128,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":918,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":2,"Garage Type":"Detchd","Fence Type":"MnPrv","Year":2007,"Price":164000,"Satisfaction":4},{"Lot Area":7642,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":912,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Detchd","Fence Type":"GdPrv","Year":2007,"Price":189950,"Satisfaction":9},{"Lot Area":10656,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1638,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":248900,"Satisfaction":2},{"Lot Area":6970,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1040,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":129000,"Satisfaction":4},{"Lot Area":9000,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1184,"Heating Type":"GasA","Central Air":"Y","Rooms":11,"Fireplaces":1,"Garage Type":"BuiltIn","Fence Type":"NA","Year":2007,"Price":303477,"Satisfaction":8},{"Lot Area":25286,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1064,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":132250,"Satisfaction":3},{"Lot Area":7024,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1090,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":157000,"Satisfaction":10},{"Lot Area":13758,"Lot Config":"CulDSac","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1156,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":187500,"Satisfaction":6},{"Lot Area":15865,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Flat","Foundation Type":"PConc","Basement Area":2217,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":268000,"Satisfaction":7},{"Lot Area":8064,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":672,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Detchd","Fence Type":"MnPrv","Year":2007,"Price":122900,"Satisfaction":1},{"Lot Area":7340,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":858,"Heating Type":"GasA","Central Air":"Y","Rooms":4,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2007,"Price":110000,"Satisfaction":6},{"Lot Area":6173,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":876,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"MnPrv","Year":2007,"Price":125500,"Satisfaction":3},{"Lot Area":13501,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1623,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":255000,"Satisfaction":8},{"Lot Area":6270,"Lot Config":"Inside","Home Type":"Duplex","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1001,"Heating Type":"GasA","Central Air":"N","Rooms":8,"Fireplaces":0,"Garage Type":"2Types","Fence Type":"NA","Year":2007,"Price":145000,"Satisfaction":10},{"Lot Area":2001,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":546,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":75000,"Satisfaction":8},{"Lot Area":13125,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1104,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"GdPrv","Year":2007,"Price":238000,"Satisfaction":5},{"Lot Area":8462,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":928,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":201000,"Satisfaction":6},{"Lot Area":11999,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":1181,"Heating Type":"GasA","Central Air":"Y","Rooms":10,"Fireplaces":1,"Garage Type":"BuiltIn","Fence Type":"NA","Year":2007,"Price":285000,"Satisfaction":2},{"Lot Area":11670,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":1905,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":320000,"Satisfaction":3},{"Lot Area":7711,"Lot Config":"Inside","Home Type":"Duplex","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1440,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":0,"Garage Type":"NA","Fence Type":"NA","Year":2007,"Price":150000,"Satisfaction":7},{"Lot Area":25000,"Lot Config":"Inside","Home Type":"Duplex","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1632,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":143000,"Satisfaction":4},{"Lot Area":14536,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":1616,"Heating Type":"GasA","Central Air":"Y","Rooms":9,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":270000,"Satisfaction":10},{"Lot Area":7200,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":864,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2007,"Price":129000,"Satisfaction":10},{"Lot Area":7136,"Lot Config":"Inside","Home Type":"Duplex","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":979,"Heating Type":"GasA","Central Air":"N","Rooms":8,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":145000,"Satisfaction":8},{"Lot Area":7420,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":1057,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2007,"Price":132000,"Satisfaction":2},{"Lot Area":8450,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1337,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":185000,"Satisfaction":7},{"Lot Area":2308,"Lot Config":"Corner","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":804,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Detchd","Fence Type":"NA","Year":2007,"Price":155000,"Satisfaction":7},{"Lot Area":10237,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":783,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":178900,"Satisfaction":7},{"Lot Area":4274,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1241,"Heating Type":"GasA","Central Air":"Y","Rooms":4,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":199900,"Satisfaction":9},{"Lot Area":9450,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":894,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2007,"Price":110000,"Satisfaction":8},{"Lot Area":12046,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":848,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":195000,"Satisfaction":8},{"Lot Area":9760,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":822,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"MnWw","Year":2007,"Price":187000,"Satisfaction":10},{"Lot Area":5400,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":691,"Heating Type":"GasA","Central Air":"Y","Rooms":4,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2007,"Price":86000,"Satisfaction":8},{"Lot Area":11500,"Lot Config":"Corner","Home Type":"Duplex","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1680,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2007,"Price":136905,"Satisfaction":10},{"Lot Area":12155,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1657,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":163500,"Satisfaction":10},{"Lot Area":10592,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":602,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":2,"Garage Type":"Detchd","Fence Type":"NA","Year":2007,"Price":165000,"Satisfaction":8},{"Lot Area":11664,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1082,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":1,"Garage Type":"Detchd","Fence Type":"NA","Year":2007,"Price":119200,"Satisfaction":9},{"Lot Area":10784,"Lot Config":"FR2","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":384,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":160000,"Satisfaction":2},{"Lot Area":9439,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":912,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2007,"Price":87000,"Satisfaction":10},{"Lot Area":7700,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":882,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"MnPrv","Year":2007,"Price":112500,"Satisfaction":2},{"Lot Area":9492,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":768,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":105000,"Satisfaction":10},{"Lot Area":6305,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":920,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":1,"Garage Type":"Basment","Fence Type":"MnPrv","Year":2007,"Price":119750,"Satisfaction":4},{"Lot Area":8993,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1302,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":176485,"Satisfaction":9},{"Lot Area":11175,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1316,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":200141,"Satisfaction":1},{"Lot Area":9500,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":816,"Heating Type":"GasA","Central Air":"Y","Rooms":9,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"GdPrv","Year":2007,"Price":165000,"Satisfaction":4},{"Lot Area":11275,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":854,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Detchd","Fence Type":"NA","Year":2007,"Price":220000,"Satisfaction":10},{"Lot Area":13600,"Lot Config":"Inside","Home Type":"Condo","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":662,"Heating Type":"GasA","Central Air":"N","Rooms":10,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2007,"Price":90000,"Satisfaction":4},{"Lot Area":9600,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":845,"Heating Type":"GasA","Central Air":"Y","Rooms":4,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2007,"Price":135000,"Satisfaction":10},{"Lot Area":10152,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":1048,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":135000,"Satisfaction":8},{"Lot Area":8556,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1240,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":194000,"Satisfaction":2},{"Lot Area":13125,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":800,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":2,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":219500,"Satisfaction":8},{"Lot Area":8775,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":990,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":126000,"Satisfaction":4},{"Lot Area":8749,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1459,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":192000,"Satisfaction":9},{"Lot Area":9317,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1314,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":176432,"Satisfaction":10},{"Lot Area":6882,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":684,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"NA","Fence Type":"NA","Year":2007,"Price":127000,"Satisfaction":4},{"Lot Area":3696,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1074,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":170000,"Satisfaction":10},{"Lot Area":9758,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":950,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2007,"Price":119500,"Satisfaction":7},{"Lot Area":7000,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1010,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"MnWw","Year":2007,"Price":135000,"Satisfaction":4},{"Lot Area":2016,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":630,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2007,"Price":106000,"Satisfaction":3},{"Lot Area":10357,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":910,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":179900,"Satisfaction":1},{"Lot Area":8063,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":924,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":181000,"Satisfaction":10},{"Lot Area":8923,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1008,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":134500,"Satisfaction":5},{"Lot Area":12085,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":1734,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":318000,"Satisfaction":10},{"Lot Area":8263,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":1012,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Detchd","Fence Type":"MnPrv","Year":2007,"Price":118400,"Satisfaction":3},{"Lot Area":9125,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":384,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":163900,"Satisfaction":7},{"Lot Area":14572,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":1530,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":259000,"Satisfaction":1},{"Lot Area":11796,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":847,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"BuiltIn","Fence Type":"NA","Year":2007,"Price":215000,"Satisfaction":1},{"Lot Area":7200,"Lot Config":"Inside","Home Type":"Duplex","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":936,"Heating Type":"GasA","Central Air":"Y","Rooms":4,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2007,"Price":140000,"Satisfaction":4},{"Lot Area":10712,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":974,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"NA","Fence Type":"MnPrv","Year":2007,"Price":93500,"Satisfaction":9},{"Lot Area":9900,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":1008,"Heating Type":"GasW","Central Air":"Y","Rooms":8,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2007,"Price":117500,"Satisfaction":10},{"Lot Area":8773,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":916,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":169000,"Satisfaction":2},{"Lot Area":6180,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":960,"Heating Type":"GasA","Central Air":"N","Rooms":5,"Fireplaces":1,"Garage Type":"Detchd","Fence Type":"NA","Year":2007,"Price":102000,"Satisfaction":9},{"Lot Area":8731,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":915,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Detchd","Fence Type":"NA","Year":2007,"Price":144000,"Satisfaction":10},{"Lot Area":9965,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":1466,"Heating Type":"GasA","Central Air":"Y","Rooms":11,"Fireplaces":1,"Garage Type":"BuiltIn","Fence Type":"NA","Year":2007,"Price":424870,"Satisfaction":4},{"Lot Area":8280,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":932,"Heating Type":"GasA","Central Air":"Y","Rooms":4,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"GdPrv","Year":2007,"Price":124000,"Satisfaction":1},{"Lot Area":10768,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1437,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":218000,"Satisfaction":7},{"Lot Area":8724,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":894,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":129000,"Satisfaction":9},{"Lot Area":16157,"Lot Config":"FR2","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1360,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":194000,"Satisfaction":8},{"Lot Area":18030,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1598,"Heating Type":"GasA","Central Air":"Y","Rooms":12,"Fireplaces":1,"Garage Type":"NA","Fence Type":"MnPrv","Year":2007,"Price":200500,"Satisfaction":6},{"Lot Area":10678,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":1683,"Heating Type":"GasA","Central Air":"Y","Rooms":9,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":285000,"Satisfaction":1},{"Lot Area":15623,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":2396,"Heating Type":"GasA","Central Air":"Y","Rooms":10,"Fireplaces":2,"Garage Type":"Attchd","Fence Type":"MnPrv","Year":2007,"Price":745000,"Satisfaction":7},{"Lot Area":35133,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":1572,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":2,"Garage Type":"2Types","Fence Type":"NA","Year":2007,"Price":186700,"Satisfaction":8},{"Lot Area":32463,"Lot Config":"Inside","Home Type":"Condo","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1249,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"2Types","Fence Type":"NA","Year":2007,"Price":168000,"Satisfaction":5},{"Lot Area":2645,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":776,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2007,"Price":174000,"Satisfaction":8},{"Lot Area":9600,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gambrel","Foundation Type":"PConc","Basement Area":702,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"GdWo","Year":2007,"Price":125000,"Satisfaction":1},{"Lot Area":7094,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":894,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"MnPrv","Year":2007,"Price":125000,"Satisfaction":4},{"Lot Area":10496,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1040,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"GdWo","Year":2007,"Price":143000,"Satisfaction":6},{"Lot Area":10482,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":588,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"MnWw","Year":2007,"Price":145000,"Satisfaction":3},{"Lot Area":18890,"Lot Config":"Inside","Home Type":"Duplex","Roof Style":"Shed","Foundation Type":"CBlock","Basement Area":1361,"Heating Type":"GasA","Central Air":"Y","Rooms":12,"Fireplaces":1,"Garage Type":"BuiltIn","Fence Type":"NA","Year":2007,"Price":190000,"Satisfaction":6},{"Lot Area":9842,"Lot Config":"FR2","Home Type":"Duplex","Roof Style":"Gable","Foundation Type":"Slab","Basement Area":0,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"CarPort","Fence Type":"NA","Year":2007,"Price":101800,"Satisfaction":3},{"Lot Area":9037,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":1476,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":265900,"Satisfaction":5},{"Lot Area":9849,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":1689,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":248328,"Satisfaction":7},{"Lot Area":12090,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":585,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"BuiltIn","Fence Type":"NA","Year":2007,"Price":178000,"Satisfaction":2},{"Lot Area":7200,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":876,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":119000,"Satisfaction":2},{"Lot Area":17542,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1192,"Heating Type":"GasA","Central Air":"Y","Rooms":9,"Fireplaces":2,"Garage Type":"Attchd","Fence Type":"MnPrv","Year":2007,"Price":294000,"Satisfaction":1},{"Lot Area":6240,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":884,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Detchd","Fence Type":"NA","Year":2007,"Price":127500,"Satisfaction":4},{"Lot Area":13515,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gambrel","Foundation Type":"PConc","Basement Area":764,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"Detchd","Fence Type":"GdPrv","Year":2007,"Price":180500,"Satisfaction":2},{"Lot Area":10120,"Lot Config":"Inside","Home Type":"Condo","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":925,"Heating Type":"GasA","Central Air":"N","Rooms":9,"Fireplaces":1,"Garage Type":"Detchd","Fence Type":"MnPrv","Year":2007,"Price":122000,"Satisfaction":7},{"Lot Area":11344,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":874,"Heating Type":"GasW","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"GdWo","Year":2007,"Price":144000,"Satisfaction":9},{"Lot Area":5362,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":661,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"Detchd","Fence Type":"NA","Year":2007,"Price":139000,"Satisfaction":2},{"Lot Area":11345,"Lot Config":"Corner","Home Type":"Duplex","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":928,"Heating Type":"GasA","Central Air":"Y","Rooms":10,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2007,"Price":137000,"Satisfaction":9},{"Lot Area":8814,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1274,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":203000,"Satisfaction":9},{"Lot Area":9572,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1453,"Heating Type":"GasA","Central Air":"Y","Rooms":9,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":302000,"Satisfaction":1},{"Lot Area":8190,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":948,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":1,"Garage Type":"Detchd","Fence Type":"NA","Year":2007,"Price":119000,"Satisfaction":7},{"Lot Area":4230,"Lot Config":"Corner","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1352,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":208900,"Satisfaction":1},{"Lot Area":10215,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":864,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":111000,"Satisfaction":4},{"Lot Area":9986,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1795,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":147000,"Satisfaction":3},{"Lot Area":4270,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":544,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"NA","Fence Type":"NA","Year":2007,"Price":79000,"Satisfaction":5},{"Lot Area":10000,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":1588,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":227000,"Satisfaction":5},{"Lot Area":8294,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":858,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"GdWo","Year":2007,"Price":123000,"Satisfaction":2},{"Lot Area":9375,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1284,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":228500,"Satisfaction":3},{"Lot Area":11103,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":728,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":155835,"Satisfaction":7},{"Lot Area":6000,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":960,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2007,"Price":108500,"Satisfaction":9},{"Lot Area":15306,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1732,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":283463,"Satisfaction":9},{"Lot Area":16196,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1482,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":215000,"Satisfaction":7},{"Lot Area":8499,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":616,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"BuiltIn","Fence Type":"NA","Year":2007,"Price":156932,"Satisfaction":3},{"Lot Area":11400,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":2633,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":2,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":466500,"Satisfaction":3},{"Lot Area":10991,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1571,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":239000,"Satisfaction":3},{"Lot Area":25339,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":816,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":112000,"Satisfaction":1},{"Lot Area":8520,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":714,"Heating Type":"GasW","Central Air":"N","Rooms":10,"Fireplaces":1,"Garage Type":"Detchd","Fence Type":"GdWo","Year":2007,"Price":136000,"Satisfaction":7},{"Lot Area":6000,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":735,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Detchd","Fence Type":"NA","Year":2007,"Price":131000,"Satisfaction":3},{"Lot Area":12665,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":1094,"Heating Type":"GasA","Central Air":"Y","Rooms":9,"Fireplaces":1,"Garage Type":"BuiltIn","Fence Type":"NA","Year":2007,"Price":281213,"Satisfaction":10},{"Lot Area":6120,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":939,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2007,"Price":137500,"Satisfaction":3},{"Lot Area":15256,"Lot Config":"CulDSac","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1485,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":282922,"Satisfaction":7},{"Lot Area":9503,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":1024,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Detchd","Fence Type":"GdWo","Year":2007,"Price":144000,"Satisfaction":4},{"Lot Area":12546,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1440,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":182900,"Satisfaction":10},{"Lot Area":10800,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":656,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2007,"Price":64500,"Satisfaction":10},{"Lot Area":9000,"Lot Config":"FR2","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":864,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"GdWo","Year":2007,"Price":120500,"Satisfaction":5},{"Lot Area":11584,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":539,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":197000,"Satisfaction":5},{"Lot Area":8500,"Lot Config":"FR2","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1422,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":179600,"Satisfaction":1},{"Lot Area":8400,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":814,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2007,"Price":129000,"Satisfaction":4},{"Lot Area":10000,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1220,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":240000,"Satisfaction":3},{"Lot Area":11767,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":560,"Heating Type":"GasA","Central Air":"N","Rooms":6,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"GdWo","Year":2007,"Price":112000,"Satisfaction":4},{"Lot Area":7917,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":953,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2007,"Price":175000,"Satisfaction":5},{"Lot Area":9550,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":756,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Detchd","Fence Type":"NA","Year":2006,"Price":140000,"Satisfaction":2},{"Lot Area":11924,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":1175,"Heating Type":"GasA","Central Air":"Y","Rooms":11,"Fireplaces":2,"Garage Type":"BuiltIn","Fence Type":"NA","Year":2006,"Price":345000,"Satisfaction":9},{"Lot Area":10791,"Lot Config":"Inside","Home Type":"Duplex","Roof Style":"Gable","Foundation Type":"Slab","Basement Area":0,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"CarPort","Fence Type":"NA","Year":2006,"Price":90000,"Satisfaction":9},{"Lot Area":14215,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1158,"Heating Type":"GasA","Central Air":"Y","Rooms":9,"Fireplaces":1,"Garage Type":"BuiltIn","Fence Type":"NA","Year":2006,"Price":325300,"Satisfaction":4},{"Lot Area":16321,"Lot Config":"CulDSac","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1484,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":2,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":207500,"Satisfaction":9},{"Lot Area":13418,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1117,"Heating Type":"GasA","Central Air":"Y","Rooms":9,"Fireplaces":1,"Garage Type":"BuiltIn","Fence Type":"NA","Year":2006,"Price":309000,"Satisfaction":1},{"Lot Area":8658,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1088,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"GdWo","Year":2006,"Price":160000,"Satisfaction":2},{"Lot Area":7945,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1150,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":141000,"Satisfaction":1},{"Lot Area":6240,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":816,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Detchd","Fence Type":"MnPrv","Year":2006,"Price":114500,"Satisfaction":8},{"Lot Area":50271,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1842,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":385000,"Satisfaction":1},{"Lot Area":11645,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":860,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":196500,"Satisfaction":9},{"Lot Area":13682,"Lot Config":"CulDSac","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":1410,"Heating Type":"GasA","Central Air":"Y","Rooms":10,"Fireplaces":1,"Garage Type":"BuiltIn","Fence Type":"NA","Year":2006,"Price":438780,"Satisfaction":2},{"Lot Area":13072,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1158,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2006,"Price":158000,"Satisfaction":2},{"Lot Area":15593,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1304,"Heating Type":"GasW","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":225000,"Satisfaction":9},{"Lot Area":4500,"Lot Config":"FR2","Home Type":"Townhouse","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":1237,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":153500,"Satisfaction":9},{"Lot Area":16059,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":1288,"Heating Type":"GasA","Central Air":"Y","Rooms":9,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":260000,"Satisfaction":2},{"Lot Area":7200,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"Slab","Basement Area":0,"Heating Type":"GasA","Central Air":"Y","Rooms":4,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2006,"Price":109900,"Satisfaction":4},{"Lot Area":8500,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":1235,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"GdWo","Year":2006,"Price":98600,"Satisfaction":2},{"Lot Area":10264,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1588,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":214000,"Satisfaction":4},{"Lot Area":9525,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":994,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":136900,"Satisfaction":7},{"Lot Area":8461,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":728,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":163990,"Satisfaction":8},{"Lot Area":21453,"Lot Config":"CulDSac","Home Type":"Single Family","Roof Style":"Flat","Foundation Type":"CBlock","Basement Area":938,"Heating Type":"GasA","Central Air":"Y","Rooms":4,"Fireplaces":2,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":180000,"Satisfaction":1},{"Lot Area":6780,"Lot Config":"Inside","Home Type":"Condo","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":520,"Heating Type":"GasA","Central Air":"N","Rooms":5,"Fireplaces":0,"Garage Type":"NA","Fence Type":"NA","Year":2006,"Price":84500,"Satisfaction":3},{"Lot Area":7590,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":660,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":155000,"Satisfaction":6},{"Lot Area":8973,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1008,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"2Types","Fence Type":"MnWw","Year":2006,"Price":150000,"Satisfaction":10},{"Lot Area":14200,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":924,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":2,"Garage Type":"Attchd","Fence Type":"GdPrv","Year":2006,"Price":226000,"Satisfaction":2},{"Lot Area":10335,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1461,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"MnPrv","Year":2006,"Price":180000,"Satisfaction":5},{"Lot Area":11070,"Lot Config":"Inside","Home Type":"Duplex","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1907,"Heating Type":"GasA","Central Air":"Y","Rooms":9,"Fireplaces":0,"Garage Type":"2Types","Fence Type":"NA","Year":2006,"Price":171000,"Satisfaction":5},{"Lot Area":11645,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1734,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":260000,"Satisfaction":4},{"Lot Area":9100,"Lot Config":"Inside","Home Type":"Duplex","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1728,"Heating Type":"GasA","Central Air":"Y","Rooms":10,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2006,"Price":125000,"Satisfaction":2},{"Lot Area":2522,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":970,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2006,"Price":130000,"Satisfaction":9},{"Lot Area":6240,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":896,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2006,"Price":115000,"Satisfaction":8},{"Lot Area":14803,"Lot Config":"CulDSac","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":825,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"GdWo","Year":2006,"Price":190000,"Satisfaction":9},{"Lot Area":11340,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":1200,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2006,"Price":125000,"Satisfaction":3},{"Lot Area":7200,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":0,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2006,"Price":109500,"Satisfaction":4},{"Lot Area":19378,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1392,"Heating Type":"GasA","Central Air":"Y","Rooms":9,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":320000,"Satisfaction":5},{"Lot Area":16669,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":1686,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":228000,"Satisfaction":7},{"Lot Area":5306,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1064,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":239000,"Satisfaction":5},{"Lot Area":13650,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1052,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":172500,"Satisfaction":5},{"Lot Area":7588,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":793,"Heating Type":"GasA","Central Air":"Y","Rooms":9,"Fireplaces":1,"Garage Type":"Detchd","Fence Type":"NA","Year":2006,"Price":200100,"Satisfaction":6},{"Lot Area":7438,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":504,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"MnPrv","Year":2006,"Price":127000,"Satisfaction":6},{"Lot Area":22950,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":1107,"Heating Type":"GasA","Central Air":"Y","Rooms":12,"Fireplaces":2,"Garage Type":"Detchd","Fence Type":"GdPrv","Year":2006,"Price":475000,"Satisfaction":2},{"Lot Area":2522,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":970,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2006,"Price":130000,"Satisfaction":4},{"Lot Area":25419,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1360,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"Detchd","Fence Type":"GdPrv","Year":2006,"Price":235000,"Satisfaction":8},{"Lot Area":7000,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":617,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":112000,"Satisfaction":9},{"Lot Area":13568,"Lot Config":"CulDSac","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":990,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":156000,"Satisfaction":4},{"Lot Area":10011,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1070,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"MnPrv","Year":2006,"Price":134450,"Satisfaction":6},{"Lot Area":9906,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":686,"Heating Type":"GasA","Central Air":"N","Rooms":8,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2006,"Price":107000,"Satisfaction":10},{"Lot Area":3010,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1248,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":167240,"Satisfaction":2},{"Lot Area":8990,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1498,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":204900,"Satisfaction":10},{"Lot Area":11475,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":713,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"MnPrv","Year":2006,"Price":179900,"Satisfaction":6},{"Lot Area":1680,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":483,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":94500,"Satisfaction":6},{"Lot Area":5000,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":540,"Heating Type":"GasA","Central Air":"N","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":79000,"Satisfaction":8},{"Lot Area":10400,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1845,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":241500,"Satisfaction":5},{"Lot Area":9142,"Lot Config":"Inside","Home Type":"Condo","Roof Style":"Gable","Foundation Type":"Stone","Basement Area":1020,"Heating Type":"GasA","Central Air":"N","Rooms":9,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2006,"Price":137000,"Satisfaction":5},{"Lot Area":11310,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":1367,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":140000,"Satisfaction":5},{"Lot Area":8738,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":975,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"BuiltIn","Fence Type":"NA","Year":2006,"Price":230000,"Satisfaction":7},{"Lot Area":8471,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":506,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"GdWo","Year":2006,"Price":151000,"Satisfaction":1},{"Lot Area":11207,"Lot Config":"FR2","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":802,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":185000,"Satisfaction":7},{"Lot Area":10728,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1095,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":266000,"Satisfaction":7},{"Lot Area":7200,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1262,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":185000,"Satisfaction":4},{"Lot Area":9786,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":912,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"GdPrv","Year":2006,"Price":159000,"Satisfaction":6},{"Lot Area":8125,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":858,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"NA","Fence Type":"NA","Year":2006,"Price":88000,"Satisfaction":2},{"Lot Area":15611,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1079,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":233230,"Satisfaction":4},{"Lot Area":16659,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":795,"Heating Type":"GasA","Central Air":"Y","Rooms":9,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":235000,"Satisfaction":8},{"Lot Area":7937,"Lot Config":"CulDSac","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1003,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"GdPrv","Year":2006,"Price":142500,"Satisfaction":6},{"Lot Area":15750,"Lot Config":"Corner","Home Type":"Condo","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":1165,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":2,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":157000,"Satisfaction":1},{"Lot Area":13704,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1541,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":205000,"Satisfaction":4},{"Lot Area":9800,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":894,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"GdWo","Year":2006,"Price":149900,"Satisfaction":7},{"Lot Area":12378,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1896,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":3,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":360000,"Satisfaction":4},{"Lot Area":7685,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":697,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":165600,"Satisfaction":8},{"Lot Area":7800,"Lot Config":"Inside","Home Type":"Condo","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":793,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":1,"Garage Type":"Detchd","Fence Type":"MnPrv","Year":2006,"Price":119900,"Satisfaction":10},{"Lot Area":9600,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":728,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Detchd","Fence Type":"NA","Year":2006,"Price":178000,"Satisfaction":4},{"Lot Area":16259,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1249,"Heating Type":"GasA","Central Air":"Y","Rooms":9,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":342643,"Satisfaction":3},{"Lot Area":5820,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1162,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":126175,"Satisfaction":1},{"Lot Area":11600,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":1383,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":145250,"Satisfaction":5},{"Lot Area":14145,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1208,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":202500,"Satisfaction":9},{"Lot Area":8544,"Lot Config":"Inside","Home Type":"Duplex","Roof Style":"Gable","Foundation Type":"Slab","Basement Area":0,"Heating Type":"Wall","Central Air":"N","Rooms":6,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2006,"Price":87500,"Satisfaction":9},{"Lot Area":6435,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":972,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Detchd","Fence Type":"NA","Year":2006,"Price":140200,"Satisfaction":10},{"Lot Area":20431,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":1848,"Heating Type":"GasA","Central Air":"Y","Rooms":10,"Fireplaces":2,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":437154,"Satisfaction":5},{"Lot Area":5271,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1453,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":190000,"Satisfaction":6},{"Lot Area":8400,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":940,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":2,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":140000,"Satisfaction":6},{"Lot Area":6930,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":1062,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"BuiltIn","Fence Type":"NA","Year":2006,"Price":130000,"Satisfaction":10},{"Lot Area":12011,"Lot Config":"CulDSac","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1086,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":280000,"Satisfaction":4},{"Lot Area":18800,"Lot Config":"FR2","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":796,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":190000,"Satisfaction":10},{"Lot Area":8121,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":953,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":172400,"Satisfaction":3},{"Lot Area":8846,"Lot Config":"CulDSac","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":870,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2006,"Price":148000,"Satisfaction":6},{"Lot Area":7200,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1293,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":187750,"Satisfaction":10},{"Lot Area":8410,"Lot Config":"FR2","Home Type":"Single Family","Roof Style":"Gambrel","Foundation Type":"PConc","Basement Area":658,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":0,"Garage Type":"NA","Fence Type":"NA","Year":2006,"Price":81000,"Satisfaction":5},{"Lot Area":7446,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":788,"Heating Type":"GasA","Central Air":"Y","Rooms":4,"Fireplaces":2,"Garage Type":"NA","Fence Type":"GdWo","Year":2006,"Price":100000,"Satisfaction":6},{"Lot Area":8767,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1310,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":164990,"Satisfaction":2},{"Lot Area":12090,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":1141,"Heating Type":"GasA","Central Air":"Y","Rooms":10,"Fireplaces":1,"Garage Type":"BuiltIn","Fence Type":"NA","Year":2006,"Price":258000,"Satisfaction":2},{"Lot Area":34650,"Lot Config":"Inside","Home Type":"Condo","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":1056,"Heating Type":"GasA","Central Air":"N","Rooms":5,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":145000,"Satisfaction":1},{"Lot Area":7844,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":672,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":149500,"Satisfaction":10},{"Lot Area":4400,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":648,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2006,"Price":116000,"Satisfaction":10},{"Lot Area":11214,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":930,"Heating Type":"GasA","Central Air":"Y","Rooms":10,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":199900,"Satisfaction":6},{"Lot Area":8600,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":780,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Detchd","Fence Type":"NA","Year":2006,"Price":119500,"Satisfaction":5},{"Lot Area":5684,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"BrkTil","Basement Area":813,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2006,"Price":110000,"Satisfaction":5},{"Lot Area":70761,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1533,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":2,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":280000,"Satisfaction":2},{"Lot Area":9297,"Lot Config":"Inside","Home Type":"Duplex","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1728,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2006,"Price":188000,"Satisfaction":2},{"Lot Area":3072,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":1375,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":178740,"Satisfaction":3},{"Lot Area":16033,"Lot Config":"FR2","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":1833,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":326000,"Satisfaction":4},{"Lot Area":11846,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":1792,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":374000,"Satisfaction":1},{"Lot Area":4500,"Lot Config":"FR2","Home Type":"Townhouse","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":1216,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":164000,"Satisfaction":5},{"Lot Area":10800,"Lot Config":"Corner","Home Type":"Condo","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":954,"Heating Type":"GasA","Central Air":"N","Rooms":10,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":160000,"Satisfaction":3},{"Lot Area":9490,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":806,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":2,"Garage Type":"Attchd","Fence Type":"MnPrv","Year":2006,"Price":133000,"Satisfaction":1},{"Lot Area":15578,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":728,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":172785,"Satisfaction":10},{"Lot Area":9554,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":777,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":215000,"Satisfaction":2},{"Lot Area":6792,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1368,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":202665,"Satisfaction":6},{"Lot Area":9100,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":864,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2006,"Price":129900,"Satisfaction":1},{"Lot Area":5000,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1004,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":2,"Garage Type":"Detchd","Fence Type":"NA","Year":2006,"Price":159000,"Satisfaction":5},{"Lot Area":7500,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1257,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":176000,"Satisfaction":5},{"Lot Area":9056,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":707,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":178000,"Satisfaction":5},{"Lot Area":11553,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":1051,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":158000,"Satisfaction":3},{"Lot Area":17104,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":654,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":179665,"Satisfaction":5},{"Lot Area":13837,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1204,"Heating Type":"GasA","Central Air":"Y","Rooms":9,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":229000,"Satisfaction":4},{"Lot Area":6380,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":993,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":1,"Garage Type":"Detchd","Fence Type":"NA","Year":2006,"Price":113000,"Satisfaction":7},{"Lot Area":14850,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1092,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"MnWw","Year":2006,"Price":141000,"Satisfaction":10},{"Lot Area":11040,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":637,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"CarPort","Fence Type":"NA","Year":2006,"Price":108000,"Satisfaction":5},{"Lot Area":3196,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1374,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":234000,"Satisfaction":1},{"Lot Area":10010,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1389,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":170000,"Satisfaction":7},{"Lot Area":13346,"Lot Config":"CulDSac","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1095,"Heating Type":"GasA","Central Air":"Y","Rooms":9,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":268000,"Satisfaction":6},{"Lot Area":7032,"Lot Config":"Corner","Home Type":"Duplex","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":943,"Heating Type":"GasA","Central Air":"Y","Rooms":4,"Fireplaces":2,"Garage Type":"Detchd","Fence Type":"NA","Year":2006,"Price":135960,"Satisfaction":1},{"Lot Area":7332,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":864,"Heating Type":"GasA","Central Air":"Y","Rooms":4,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":120000,"Satisfaction":7},{"Lot Area":11777,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1164,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":2,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":164500,"Satisfaction":9},{"Lot Area":11443,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":1868,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":2,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":369900,"Satisfaction":2},{"Lot Area":11302,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1814,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":319000,"Satisfaction":6},{"Lot Area":3600,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":684,"Heating Type":"GasA","Central Air":"N","Rooms":7,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2006,"Price":114504,"Satisfaction":9},{"Lot Area":12984,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1430,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":217500,"Satisfaction":8},{"Lot Area":10927,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1058,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"BuiltIn","Fence Type":"NA","Year":2006,"Price":275000,"Satisfaction":7},{"Lot Area":10041,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":908,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":220000,"Satisfaction":3},{"Lot Area":7800,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":896,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":225000,"Satisfaction":2},{"Lot Area":7861,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":783,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":183200,"Satisfaction":9},{"Lot Area":10400,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":732,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":165150,"Satisfaction":3},{"Lot Area":9000,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":636,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"MnPrv","Year":2006,"Price":124000,"Satisfaction":2},{"Lot Area":3982,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":1520,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":264561,"Satisfaction":10},{"Lot Area":20896,"Lot Config":"CulDSac","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":2077,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":423000,"Satisfaction":6},{"Lot Area":11194,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1406,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":230500,"Satisfaction":10},{"Lot Area":14175,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1188,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Detchd","Fence Type":"NA","Year":2006,"Price":168000,"Satisfaction":4},{"Lot Area":11600,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":700,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":1,"Garage Type":"Detchd","Fence Type":"NA","Year":2006,"Price":137500,"Satisfaction":7},{"Lot Area":11250,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1208,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":165000,"Satisfaction":2},{"Lot Area":9600,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":1095,"Heating Type":"GasW","Central Air":"N","Rooms":8,"Fireplaces":0,"Garage Type":"2Types","Fence Type":"NA","Year":2006,"Price":87000,"Satisfaction":6},{"Lot Area":26178,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":1210,"Heating Type":"GasA","Central Air":"Y","Rooms":9,"Fireplaces":2,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":335000,"Satisfaction":7},{"Lot Area":5400,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":1073,"Heating Type":"GasA","Central Air":"Y","Rooms":4,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2006,"Price":108480,"Satisfaction":2},{"Lot Area":13811,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1112,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":176000,"Satisfaction":3},{"Lot Area":6000,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":616,"Heating Type":"GasA","Central Air":"Y","Rooms":4,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2006,"Price":89000,"Satisfaction":3},{"Lot Area":6420,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":980,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2006,"Price":123500,"Satisfaction":6},{"Lot Area":14331,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":1800,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":312500,"Satisfaction":2},{"Lot Area":9600,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":1164,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":140000,"Satisfaction":1},{"Lot Area":12438,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":1234,"Heating Type":"GasA","Central Air":"Y","Rooms":10,"Fireplaces":1,"Garage Type":"BuiltIn","Fence Type":"NA","Year":2006,"Price":361919,"Satisfaction":9},{"Lot Area":9873,"Lot Config":"Inside","Home Type":"Condo","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":960,"Heating Type":"GasW","Central Air":"N","Rooms":6,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2006,"Price":129000,"Satisfaction":9},{"Lot Area":9920,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":971,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":128500,"Satisfaction":1},{"Lot Area":6563,"Lot Config":"CulDSac","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1742,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":275000,"Satisfaction":4},{"Lot Area":10800,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":880,"Heating Type":"GasW","Central Air":"N","Rooms":6,"Fireplaces":2,"Garage Type":"Detchd","Fence Type":"NA","Year":2006,"Price":163000,"Satisfaction":6},{"Lot Area":8544,"Lot Config":"Inside","Home Type":"Duplex","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":0,"Heating Type":"GasA","Central Air":"N","Rooms":6,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2006,"Price":93500,"Satisfaction":7},{"Lot Area":10463,"Lot Config":"CulDSac","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":893,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":239900,"Satisfaction":7},{"Lot Area":9236,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1479,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":217000,"Satisfaction":6},{"Lot Area":10240,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1030,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":275500,"Satisfaction":10},{"Lot Area":9549,"Lot Config":"CulDSac","Home Type":"Townhouse","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":1494,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":270000,"Satisfaction":9},{"Lot Area":9100,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":1860,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":216837,"Satisfaction":7},{"Lot Area":8877,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":836,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2006,"Price":102000,"Satisfaction":5},{"Lot Area":11210,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1614,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":221500,"Satisfaction":2},{"Lot Area":13350,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":864,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"MnPrv","Year":2006,"Price":142500,"Satisfaction":2},{"Lot Area":10530,"Lot Config":"Inside","Home Type":"Duplex","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":975,"Heating Type":"GasA","Central Air":"Y","Rooms":4,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":135000,"Satisfaction":4},{"Lot Area":7153,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":761,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":175900,"Satisfaction":1},{"Lot Area":9000,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":936,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"GdWo","Year":2006,"Price":118000,"Satisfaction":4},{"Lot Area":9750,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":980,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":135500,"Satisfaction":7},{"Lot Area":13400,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1024,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"GdWo","Year":2006,"Price":159950,"Satisfaction":2},{"Lot Area":10140,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":1040,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"GdPrv","Year":2006,"Price":181000,"Satisfaction":10},{"Lot Area":8248,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":686,"Heating Type":"GasW","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2006,"Price":116000,"Satisfaction":2},{"Lot Area":11425,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1008,"Heating Type":"GasA","Central Air":"Y","Rooms":4,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":137000,"Satisfaction":5},{"Lot Area":11216,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1489,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":232600,"Satisfaction":3},{"Lot Area":2544,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":600,"Heating Type":"GasA","Central Air":"Y","Rooms":4,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2006,"Price":147400,"Satisfaction":2},{"Lot Area":3180,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":600,"Heating Type":"GasA","Central Air":"Y","Rooms":4,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2006,"Price":151000,"Satisfaction":7},{"Lot Area":3196,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1273,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":215000,"Satisfaction":6},{"Lot Area":17920,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":1763,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":170000,"Satisfaction":5},{"Lot Area":11029,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1054,"Heating Type":"GasA","Central Air":"Y","Rooms":9,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":250000,"Satisfaction":8},{"Lot Area":14762,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"Slab","Basement Area":0,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":169000,"Satisfaction":7},{"Lot Area":6204,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":795,"Heating Type":"GasA","Central Air":"N","Rooms":10,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2006,"Price":118500,"Satisfaction":6},{"Lot Area":8393,"Lot Config":"Corner","Home Type":"Duplex","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1626,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":145000,"Satisfaction":3},{"Lot Area":8414,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":1059,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"MnPrv","Year":2006,"Price":154500,"Satisfaction":1},{"Lot Area":8765,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":951,"Heating Type":"GasA","Central Air":"N","Rooms":6,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2006,"Price":106500,"Satisfaction":9},{"Lot Area":6993,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":912,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":135000,"Satisfaction":8},{"Lot Area":7875,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":783,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":180000,"Satisfaction":4},{"Lot Area":14859,"Lot Config":"CulDSac","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":1670,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":240000,"Satisfaction":4},{"Lot Area":11500,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1017,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":250000,"Satisfaction":9},{"Lot Area":8885,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":864,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"MnPrv","Year":2006,"Price":131000,"Satisfaction":6},{"Lot Area":6120,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":768,"Heating Type":"GasA","Central Air":"N","Rooms":6,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"MnPrv","Year":2006,"Price":88000,"Satisfaction":4},{"Lot Area":9000,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":480,"Heating Type":"GasA","Central Air":"N","Rooms":4,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2006,"Price":35311,"Satisfaction":9},{"Lot Area":10237,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1316,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":169990,"Satisfaction":6},{"Lot Area":10240,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1686,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":207500,"Satisfaction":1},{"Lot Area":13006,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":964,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"BuiltIn","Fence Type":"NA","Year":2006,"Price":222000,"Satisfaction":5},{"Lot Area":5825,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":600,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2006,"Price":79900,"Satisfaction":5},{"Lot Area":8760,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1391,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":239799,"Satisfaction":6},{"Lot Area":12640,"Lot Config":"Inside","Home Type":"Duplex","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1728,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":150900,"Satisfaction":2},{"Lot Area":8163,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1144,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":143000,"Satisfaction":3},{"Lot Area":14006,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":936,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":192500,"Satisfaction":2},{"Lot Area":7800,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":828,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"MnPrv","Year":2006,"Price":119900,"Satisfaction":4},{"Lot Area":9400,"Lot Config":"CulDSac","Home Type":"Duplex","Roof Style":"Flat","Foundation Type":"CBlock","Basement Area":945,"Heating Type":"GasA","Central Air":"Y","Rooms":4,"Fireplaces":0,"Garage Type":"NA","Fence Type":"NA","Year":2006,"Price":127500,"Satisfaction":3},{"Lot Area":10382,"Lot Config":"Inside","Home Type":"Condo","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":588,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":140000,"Satisfaction":4},{"Lot Area":10800,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":720,"Heating Type":"GasA","Central Air":"N","Rooms":6,"Fireplaces":0,"Garage Type":"NA","Fence Type":"NA","Year":2006,"Price":135000,"Satisfaction":5},{"Lot Area":2651,"Lot Config":"FR2","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":673,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2006,"Price":165000,"Satisfaction":6},{"Lot Area":5900,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":440,"Heating Type":"GasA","Central Air":"Y","Rooms":4,"Fireplaces":0,"Garage Type":"NA","Fence Type":"NA","Year":2006,"Price":85500,"Satisfaction":6},{"Lot Area":5310,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":485,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":117000,"Satisfaction":10},{"Lot Area":8125,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":770,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":197000,"Satisfaction":2},{"Lot Area":9452,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1396,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":348000,"Satisfaction":1},{"Lot Area":8846,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":750,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":173900,"Satisfaction":5},{"Lot Area":4712,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":747,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"MnPrv","Year":2006,"Price":121600,"Satisfaction":4},{"Lot Area":10659,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":1050,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":136500,"Satisfaction":7},{"Lot Area":9786,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"BrkTil","Basement Area":1007,"Heating Type":"GasA","Central Air":"N","Rooms":6,"Fireplaces":1,"Garage Type":"Detchd","Fence Type":"NA","Year":2006,"Price":91000,"Satisfaction":10},{"Lot Area":6000,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":1008,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"NA","Fence Type":"NA","Year":2006,"Price":102000,"Satisfaction":4},{"Lot Area":3013,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1362,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":213490,"Satisfaction":9},{"Lot Area":7406,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1199,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":194000,"Satisfaction":2},{"Lot Area":1680,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":672,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2006,"Price":118000,"Satisfaction":1},{"Lot Area":7082,"Lot Config":"Inside","Home Type":"Condo","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":686,"Heating Type":"GasA","Central Air":"Y","Rooms":10,"Fireplaces":0,"Garage Type":"NA","Fence Type":"NA","Year":2006,"Price":160000,"Satisfaction":3},{"Lot Area":14541,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1338,"Heating Type":"GasA","Central Air":"Y","Rooms":10,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":310000,"Satisfaction":8},{"Lot Area":8125,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1654,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":230000,"Satisfaction":1},{"Lot Area":13125,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1134,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"GdPrv","Year":2006,"Price":155000,"Satisfaction":10},{"Lot Area":16056,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":1992,"Heating Type":"GasA","Central Air":"Y","Rooms":11,"Fireplaces":1,"Garage Type":"BuiltIn","Fence Type":"NA","Year":2006,"Price":556581,"Satisfaction":3},{"Lot Area":11367,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1065,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":255000,"Satisfaction":10},{"Lot Area":7052,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1364,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":185850,"Satisfaction":5},{"Lot Area":6000,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":1103,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":1,"Garage Type":"Detchd","Fence Type":"MnPrv","Year":2006,"Price":110500,"Satisfaction":8},{"Lot Area":3964,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":942,"Heating Type":"GasA","Central Air":"Y","Rooms":10,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"GdPrv","Year":2006,"Price":151400,"Satisfaction":2},{"Lot Area":7585,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":810,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Detchd","Fence Type":"NA","Year":2006,"Price":91500,"Satisfaction":1},{"Lot Area":10800,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":796,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":170000,"Satisfaction":3},{"Lot Area":15870,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1096,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":138800,"Satisfaction":8},{"Lot Area":4435,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":848,"Heating Type":"GasA","Central Air":"Y","Rooms":3,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":155900,"Satisfaction":4},{"Lot Area":8800,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":1251,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":2,"Garage Type":"Attchd","Fence Type":"MnPrv","Year":2006,"Price":160000,"Satisfaction":4},{"Lot Area":13031,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":691,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":187500,"Satisfaction":2},{"Lot Area":2522,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":970,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2006,"Price":137500,"Satisfaction":4},{"Lot Area":3316,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1247,"Heating Type":"GasA","Central Air":"Y","Rooms":4,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":197000,"Satisfaction":2},{"Lot Area":9230,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":864,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"MnPrv","Year":2006,"Price":146000,"Satisfaction":4},{"Lot Area":8910,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":655,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"BuiltIn","Fence Type":"NA","Year":2006,"Price":159500,"Satisfaction":10},{"Lot Area":23257,"Lot Config":"CulDSac","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":868,"Heating Type":"GasA","Central Air":"Y","Rooms":9,"Fireplaces":1,"Garage Type":"BuiltIn","Fence Type":"NA","Year":2006,"Price":274725,"Satisfaction":4},{"Lot Area":7100,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":816,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2006,"Price":129900,"Satisfaction":8},{"Lot Area":5400,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":833,"Heating Type":"GasA","Central Air":"Y","Rooms":4,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"MnPrv","Year":2006,"Price":117000,"Satisfaction":8},{"Lot Area":7560,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1040,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"GdWo","Year":2006,"Price":133700,"Satisfaction":6},{"Lot Area":10084,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1552,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":212900,"Satisfaction":5},{"Lot Area":6240,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":1042,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"Detchd","Fence Type":"NA","Year":2006,"Price":149000,"Satisfaction":2},{"Lot Area":11200,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1298,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":180000,"Satisfaction":8},{"Lot Area":17755,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1466,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":2,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":149900,"Satisfaction":3},{"Lot Area":14115,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1073,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":230000,"Satisfaction":4},{"Lot Area":10852,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":959,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":173000,"Satisfaction":2},{"Lot Area":35760,"Lot Config":"CulDSac","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":1930,"Heating Type":"GasA","Central Air":"Y","Rooms":10,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":625000,"Satisfaction":5},{"Lot Area":16560,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":952,"Heating Type":"GasA","Central Air":"Y","Rooms":9,"Fireplaces":1,"Garage Type":"Detchd","Fence Type":"NA","Year":2006,"Price":239000,"Satisfaction":4},{"Lot Area":8335,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"Slab","Basement Area":0,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":1,"Garage Type":"NA","Fence Type":"NA","Year":2006,"Price":93000,"Satisfaction":3},{"Lot Area":11170,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"Wood","Basement Area":1216,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"GdPrv","Year":2006,"Price":250000,"Satisfaction":4},{"Lot Area":10800,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"BrkTil","Basement Area":1120,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":1,"Garage Type":"Detchd","Fence Type":"NA","Year":2006,"Price":120000,"Satisfaction":2},{"Lot Area":9738,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":784,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":104900,"Satisfaction":10},{"Lot Area":12461,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1624,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"GdPrv","Year":2006,"Price":262000,"Satisfaction":2},{"Lot Area":14054,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":879,"Heating Type":"GasA","Central Air":"Y","Rooms":9,"Fireplaces":1,"Garage Type":"BuiltIn","Fence Type":"NA","Year":2006,"Price":219210,"Satisfaction":2},{"Lot Area":8850,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":815,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Detchd","Fence Type":"NA","Year":2006,"Price":144000,"Satisfaction":2},{"Lot Area":11235,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1051,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":148000,"Satisfaction":3},{"Lot Area":9353,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":864,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":116050,"Satisfaction":6},{"Lot Area":10140,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1056,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"MnPrv","Year":2006,"Price":153500,"Satisfaction":1},{"Lot Area":8900,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1056,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"MnPrv","Year":2006,"Price":107000,"Satisfaction":8},{"Lot Area":9135,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1682,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":200000,"Satisfaction":9},{"Lot Area":10182,"Lot Config":"CulDSac","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":1660,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":290000,"Satisfaction":8},{"Lot Area":10246,"Lot Config":"CulDSac","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":648,"Heating Type":"GasA","Central Air":"Y","Rooms":3,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":145000,"Satisfaction":3},{"Lot Area":10205,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":925,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":134500,"Satisfaction":1},{"Lot Area":6240,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"Slab","Basement Area":0,"Heating Type":"GasA","Central Air":"N","Rooms":3,"Fireplaces":0,"Garage Type":"NA","Fence Type":"NA","Year":2006,"Price":80500,"Satisfaction":10},{"Lot Area":1680,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":672,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"NA","Fence Type":"NA","Year":2006,"Price":91500,"Satisfaction":3},{"Lot Area":7800,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":912,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":115000,"Satisfaction":2},{"Lot Area":10680,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":2136,"Heating Type":"GasA","Central Air":"N","Rooms":7,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"MnPrv","Year":2006,"Price":137900,"Satisfaction":2},{"Lot Area":7728,"Lot Config":"Inside","Home Type":"Duplex","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":1106,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"GdWo","Year":2006,"Price":132500,"Satisfaction":9},{"Lot Area":13132,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"BrkTil","Basement Area":747,"Heating Type":"GasA","Central Air":"Y","Rooms":9,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2006,"Price":138887,"Satisfaction":10},{"Lot Area":12393,"Lot Config":"FR2","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":847,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"BuiltIn","Fence Type":"NA","Year":2006,"Price":195000,"Satisfaction":2},{"Lot Area":13072,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1141,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2006,"Price":142500,"Satisfaction":4},{"Lot Area":13891,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":2076,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":465000,"Satisfaction":10},{"Lot Area":11435,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":792,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":2,"Garage Type":"Detchd","Fence Type":"NA","Year":2006,"Price":230000,"Satisfaction":2},{"Lot Area":8125,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":756,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":186500,"Satisfaction":7},{"Lot Area":3136,"Lot Config":"Corner","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1405,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":171750,"Satisfaction":2},{"Lot Area":3735,"Lot Config":"FR3","Home Type":"Townhouse","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":691,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2006,"Price":183900,"Satisfaction":6},{"Lot Area":13526,"Lot Config":"CulDSac","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":935,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"MnPrv","Year":2006,"Price":137000,"Satisfaction":10},{"Lot Area":8049,"Lot Config":"CulDSac","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":1309,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":180000,"Satisfaction":9},{"Lot Area":36500,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1624,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":190000,"Satisfaction":5},{"Lot Area":11065,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1085,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"BuiltIn","Fence Type":"NA","Year":2006,"Price":281000,"Satisfaction":9},{"Lot Area":10140,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":832,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"GdWo","Year":2006,"Price":162900,"Satisfaction":3},{"Lot Area":8172,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":864,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2006,"Price":115000,"Satisfaction":8},{"Lot Area":8400,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":1052,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"GdWo","Year":2006,"Price":138500,"Satisfaction":1},{"Lot Area":3675,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":547,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Basment","Fence Type":"NA","Year":2006,"Price":140000,"Satisfaction":2},{"Lot Area":10120,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":1165,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":290000,"Satisfaction":2},{"Lot Area":8688,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1616,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":232000,"Satisfaction":7},{"Lot Area":3363,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":976,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2006,"Price":130000,"Satisfaction":6},{"Lot Area":6955,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1368,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":202500,"Satisfaction":10},{"Lot Area":14781,"Lot Config":"CulDSac","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":1753,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":275000,"Satisfaction":4},{"Lot Area":9084,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":935,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":176500,"Satisfaction":9},{"Lot Area":10780,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":911,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2006,"Price":132500,"Satisfaction":10},{"Lot Area":7200,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":803,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"MnPrv","Year":2006,"Price":125500,"Satisfaction":6},{"Lot Area":4118,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":693,"Heating Type":"Grav","Central Air":"N","Rooms":4,"Fireplaces":0,"Garage Type":"NA","Fence Type":"NA","Year":2006,"Price":52500,"Satisfaction":10},{"Lot Area":13450,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":916,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":0,"Garage Type":"BuiltIn","Fence Type":"NA","Year":2006,"Price":200000,"Satisfaction":7},{"Lot Area":9560,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":864,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":128500,"Satisfaction":6},{"Lot Area":20781,"Lot Config":"CulDSac","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"CBlock","Basement Area":1568,"Heating Type":"GasA","Central Air":"Y","Rooms":9,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":262500,"Satisfaction":8},{"Lot Area":10192,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":570,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"GdPrv","Year":2006,"Price":170000,"Satisfaction":10},{"Lot Area":16737,"Lot Config":"FR3","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":1980,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":315000,"Satisfaction":3},{"Lot Area":3180,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":600,"Heating Type":"GasA","Central Air":"Y","Rooms":4,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2006,"Price":144152,"Satisfaction":7},{"Lot Area":2665,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":757,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":127000,"Satisfaction":9},{"Lot Area":9750,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1108,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"Detchd","Fence Type":"NA","Year":2006,"Price":274300,"Satisfaction":7},{"Lot Area":1953,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":483,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2006,"Price":83000,"Satisfaction":9},{"Lot Area":7200,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Hip","Foundation Type":"BrkTil","Basement Area":596,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"NA","Year":2006,"Price":157000,"Satisfaction":4},{"Lot Area":16692,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1392,"Heating Type":"GasA","Central Air":"Y","Rooms":12,"Fireplaces":2,"Garage Type":"Attchd","Fence Type":"MnPrv","Year":2006,"Price":250000,"Satisfaction":2},{"Lot Area":9100,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1525,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":235000,"Satisfaction":1},{"Lot Area":7838,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":864,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"MnWw","Year":2006,"Price":123000,"Satisfaction":2},{"Lot Area":4045,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Hip","Foundation Type":"PConc","Basement Area":1356,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":246578,"Satisfaction":6},{"Lot Area":6762,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1286,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":193879,"Satisfaction":2},{"Lot Area":10410,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":672,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"Detchd","Fence Type":"MnPrv","Year":2006,"Price":105000,"Satisfaction":8},{"Lot Area":16381,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1844,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":223000,"Satisfaction":3},{"Lot Area":11700,"Lot Config":"Corner","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":708,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":179900,"Satisfaction":1},{"Lot Area":19690,"Lot Config":"CulDSac","Home Type":"Single Family","Roof Style":"Flat","Foundation Type":"CBlock","Basement Area":697,"Heating Type":"GasA","Central Air":"Y","Rooms":8,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"GdPrv","Year":2006,"Price":274970,"Satisfaction":3},{"Lot Area":21930,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":732,"Heating Type":"GasA","Central Air":"Y","Rooms":7,"Fireplaces":1,"Garage Type":"BuiltIn","Fence Type":"NA","Year":2006,"Price":192140,"Satisfaction":5},{"Lot Area":17400,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":1126,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":1,"Garage Type":"Attchd","Fence Type":"NA","Year":2006,"Price":160000,"Satisfaction":1},{"Lot Area":1533,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"CBlock","Basement Area":630,"Heating Type":"GasA","Central Air":"Y","Rooms":3,"Fireplaces":0,"Garage Type":"NA","Fence Type":"NA","Year":2006,"Price":92000,"Satisfaction":8},{"Lot Area":3675,"Lot Config":"Inside","Home Type":"Townhouse","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":547,"Heating Type":"GasA","Central Air":"Y","Rooms":5,"Fireplaces":0,"Garage Type":"Basment","Fence Type":"NA","Year":2006,"Price":145000,"Satisfaction":5},{"Lot Area":17217,"Lot Config":"Inside","Home Type":"Single Family","Roof Style":"Gable","Foundation Type":"PConc","Basement Area":1140,"Heating Type":"GasA","Central Air":"Y","Rooms":6,"Fireplaces":0,"Garage Type":"NA","Fence Type":"NA","Year":2006,"Price":84500,"Satisfaction":8}]'),Kdt=function(){return{appendTo:"body"}};let Hfe=(()=>{class e{constructor(t,i){this.router=t,this.route=i,this.appFilters={Rooms:{model:10,qFilterSliderConfig:{floor:2,ceil:14,showTicks:!0,step:1}},Year:{model:2007,qFilterSliderConfig:{floor:2006,ceil:2010,showTicks:!0,step:1}},Price:{model:[34900,755e3],qFilterSliderConfig:{floor:34900,ceil:755e3,showTicks:!0,step:1e5}},"Heating Type":{model:Array.from(new Set(L1.map(r=>r["Heating Type"]))).map(r=>({value:r,label:r})),options:Array.from(new Set(L1.map(r=>r["Heating Type"]))).map(r=>({value:r,label:r}))},"Home Type":{model:Array.from(new Set(L1.map(r=>r["Home Type"]))).map(r=>({value:r,label:r})),options:Array.from(new Set(L1.map(r=>r["Home Type"]))).map(r=>({value:r,label:r}))},"Lot Config":{model:"Corner",options:Array.from(new Set(L1.map(r=>r["Lot Config"]))).map(r=>({value:r,label:r}))}},this.vegaLiteSpec=qdt}ngOnInit(){}ngAfterViewInit(){this.updateVis()}updateVis(){let t="#visualization-canvas",i=[...L1].filter(r=>r.Rooms==this.appFilters.Rooms.model).filter(r=>r.Price>=this.appFilters.Price.model[0]&&r.Price<=this.appFilters.Price.model[1]).filter(r=>this.appFilters["Heating Type"].model.some(o=>o.value==r["Heating Type"])).filter(r=>this.appFilters["Lot Config"].model==r["Lot Config"]);this.vegaLiteSpec.data={values:i},this.vegaLiteSpec.width=Yw(t).parent().width()-100,this.vegaLiteSpec.height=.66*this.vegaLiteSpec.width,RD(t,this.vegaLiteSpec,{renderer:"svg",actions:!1}).then(r=>{})}}return e.\u0275fac=function(t){return new(t||e)(ie(ar),ie(rs))},e.\u0275cmp=mt({type:e,selectors:[["dynamic-query-widgets-homefinder"]],features:[Zt([])],decls:51,vars:31,consts:[[1,"container"],[1,"row"],[1,"col-md-12"],[1,"text-center"],[1,"col-md-3"],[1,"p-sm"],[1,"control-panel-header"],[1,"w-100"],[1,"panel-heading","display-inline"],[1,"form-group"],["ngDefaultControl","","mode","interaction",3,"id","value","options","visualize","freeze","selectedChange"],["ngDefaultControl","","mode","interaction",3,"id","value","highValue","options","visualize","freeze","selectedChange"],["ngDefaultControl","","mode","interaction",3,"id","data","selected","visualize","freeze","selectedChange"],["dndDropzone","","ngDefaultControl","","optionLabel","label","dataKey","value","mode","interaction",3,"id","selected","options","maxSelectedLabels","selectedItemsLabel","filter","filterBy","showClear","overlayOptions","visualize","freeze","selectedChange"],[1,"col-md-9"],[1,"visualization-header"],[1,"w-100","h-fullpanel"],["id","visualization-canvas"]],template:function(t,i){1&t&&(V(0,"div",0)(1,"div",1)(2,"div",2),Te(3,"br"),V(4,"h4",3),Ie(5,"Dynamic Query Widgets (HomeFinder)"),j()()(),V(6,"div",1)(7,"div",4)(8,"div",5)(9,"div",6)(10,"table",7)(11,"tr")(12,"td")(13,"h6",8),Ie(14,"Control Panel"),j()()()()(),V(15,"div",5)(16,"form")(17,"div",9)(18,"label"),Ie(19,"Rooms"),j(),V(20,"provenance-slider",10),ge("selectedChange",function(o){return i.appFilters.Rooms.model=o.value,i.updateVis()}),j()(),Te(21,"br")(22,"hr"),V(23,"div",9)(24,"label"),Ie(25,"Price"),j(),V(26,"provenance-slider",11),ge("selectedChange",function(o){return i.appFilters.Price.model[0]=o.value,i.appFilters.Price.model[1]=o.highValue,i.updateVis()}),j()(),Te(27,"br")(28,"hr"),V(29,"div",9)(30,"label"),Ie(31,"Lot Config"),j(),V(32,"provenance-radiobutton",12),ge("selectedChange",function(o){return i.appFilters["Lot Config"].model=o})("selectedChange",function(){return i.updateVis()}),j()(),Te(33,"hr"),V(34,"div",9)(35,"label"),Ie(36,"Heating Type"),j(),Te(37,"br")(38,"br"),V(39,"provenance-multiselect",13),ge("selectedChange",function(o){return i.appFilters["Heating Type"].model=o})("selectedChange",function(){return i.updateVis()}),j()()()()()(),V(40,"div",14)(41,"div",5)(42,"div",15)(43,"table",7)(44,"tr")(45,"td")(46,"h6",8),Ie(47,"Visualization"),j()()()()(),V(48,"div",5)(49,"div",16),Te(50,"div",17),j()()()()()()),2&t&&(G(20),mu("id","provenance-single-slider-rooms"),R("value",i.appFilters.Rooms.model)("options",i.appFilters.Rooms.qFilterSliderConfig)("visualize",!1)("freeze",!0),tt("data-label","Room"),G(6),mu("id","provenance-single-slider-price"),R("value",i.appFilters.Price.model[0])("highValue",i.appFilters.Price.model[1])("options",i.appFilters.Price.qFilterSliderConfig)("visualize",!1)("freeze",!0),tt("data-label","Room"),G(6),mu("id","provenance-radiobutton-lotconfig"),R("data",i.appFilters["Lot Config"].options)("selected",i.appFilters["Lot Config"].model)("visualize",!1)("freeze",!0),G(7),mu("id","provenance-multiselect-heatingtype"),R("selected",i.appFilters["Heating Type"].model)("options",i.appFilters["Heating Type"].options)("maxSelectedLabels",1)("selectedItemsLabel","{0} Selected")("filter",!1)("filterBy","value")("showClear",!1)("overlayOptions",Bo(30,Kdt))("visualize",!1)("freeze",!0),tt("data-label","Heating Type"))},dependencies:[cT,bu,iT,mg,xf,Zy,UT],styles:[".p-multiselect-panel{width:250px!important}"]}),e})();function Zdt(e,n){1&e&&Ie(0," Single Slider ")}function Xdt(e,n){if(1&e){const t=Be();V(0,"provenance-slider",8),ge("valueChange",function(r){return X(t),Q(E().widgetModel.singleSlider.model.value=r)})("provenanceChange",function(r){return X(t),Q(E().widgetModel.singleSlider.model.provenance=r)})("provenanceChange",function(r){return X(t),Q(E().widgetUpdated(r,"singleSlider"))}),j()}if(2&e){const t=E();R("value",t.widgetModel.singleSlider.model.value)("provenance",t.widgetModel.singleSlider.model.provenance)("options",t.widgetModel.singleSlider.config)("mode",t.widgetModel.singleSlider.mode.value)}}function Qdt(e,n){1&e&&Ie(0," Range Slider ")}function Jdt(e,n){if(1&e){const t=Be();V(0,"provenance-slider",9),ge("valueChange",function(r){return X(t),Q(E().widgetModel.rangeSlider.model.value=r)})("highValueChange",function(r){return X(t),Q(E().widgetModel.rangeSlider.model.highValue=r)})("provenanceChange",function(r){return X(t),Q(E().widgetModel.rangeSlider.model.provenance=r)})("provenanceChange",function(r){return X(t),Q(E().widgetUpdated(r,"rangeSlider"))}),j()}if(2&e){const t=E();R("value",t.widgetModel.rangeSlider.model.value)("highValue",t.widgetModel.rangeSlider.model.highValue)("provenance",t.widgetModel.rangeSlider.model.provenance)("options",t.widgetModel.rangeSlider.config)("mode",t.widgetModel.rangeSlider.mode.value)}}function ept(e,n){1&e&&Ie(0," Radiobutton Group ")}function tpt(e,n){if(1&e){const t=Be();V(0,"provenance-radiobutton",10),ge("selectedChange",function(r){return X(t),Q(E().widgetModel.radioButtonGroup.model.value=r)})("provenanceChange",function(r){return X(t),Q(E().widgetModel.radioButtonGroup.model.provenance=r)})("provenanceChange",function(r){return X(t),Q(E().widgetUpdated(r,"radioButtonGroup"))}),j()}if(2&e){const t=E();R("selected",t.widgetModel.radioButtonGroup.model.value)("provenance",t.widgetModel.radioButtonGroup.model.provenance)("data",t.widgetModel.radioButtonGroup.model.options)("mode",t.widgetModel.radioButtonGroup.mode.value)}}function npt(e,n){1&e&&Ie(0," Checkbox Group ")}function ipt(e,n){if(1&e){const t=Be();V(0,"provenance-checkbox",11),ge("selectedChange",function(r){return X(t),Q(E().widgetModel.checkboxGroup.model.value=r)})("provenanceChange",function(r){return X(t),Q(E().widgetModel.checkboxGroup.model.provenance=r)})("provenanceChange",function(r){return X(t),Q(E().widgetUpdated(r,"checkboxGroup"))}),j()}if(2&e){const t=E();R("data",t.widgetModel.checkboxGroup.model.options)("selected",t.widgetModel.checkboxGroup.model.value)("provenance",t.widgetModel.checkboxGroup.model.provenance)("mode",t.widgetModel.checkboxGroup.mode.value)}}function rpt(e,n){1&e&&Ie(0," Single Select Dropdown ")}function opt(e,n){if(1&e){const t=Be();V(0,"provenance-dropdown",12),ge("selectedChange",function(r){return X(t),Q(E().widgetModel.singleSelectDropdown.model.value=r)})("provenanceChange",function(r){return X(t),Q(E().widgetModel.singleSelectDropdown.model.provenance=r)})("provenanceChange",function(r){return X(t),Q(E().widgetUpdated(r,"singleSelectDropdown"))}),j()}if(2&e){const t=E();R("options",t.widgetModel.singleSelectDropdown.model.options)("mode",t.widgetModel.singleSelectDropdown.mode.value)("selected",t.widgetModel.singleSelectDropdown.model.value)("showClear",!0)("filter",!0)("provenance",t.widgetModel.singleSelectDropdown.model.provenance)}}function apt(e,n){1&e&&Ie(0," Multi Select Dropdown ")}function spt(e,n){if(1&e){const t=Be();V(0,"provenance-multiselect",13),ge("selectedChange",function(r){return X(t),Q(E().widgetModel.multiSelectDropdown.model.value=r)})("provenanceChange",function(r){return X(t),Q(E().widgetModel.multiSelectDropdown.model.provenance=r)})("provenanceChange",function(r){return X(t),Q(E().widgetUpdated(r,"multiSelectDropdown"))}),j()}if(2&e){const t=E();R("selected",t.widgetModel.multiSelectDropdown.model.value)("provenance",t.widgetModel.multiSelectDropdown.model.provenance)("options",t.widgetModel.multiSelectDropdown.model.options)("mode",t.widgetModel.multiSelectDropdown.mode.value)("showClear",!0)("filter",!0)}}function lpt(e,n){1&e&&Ie(0," Input Text ")}function cpt(e,n){if(1&e){const t=Be();V(0,"provenance-inputtext",14),ge("valueChange",function(r){return X(t),Q(E().widgetModel.inputText.model.value=r)})("provenanceChange",function(r){return X(t),Q(E().widgetModel.inputText.model.provenance=r)})("provenanceChange",function(r){return X(t),Q(E().widgetUpdated(r,"inputText"))}),j()}if(2&e){const t=E();R("value",t.widgetModel.inputText.model.value)("provenance",t.widgetModel.inputText.model.provenance)("mode",t.widgetModel.inputText.mode.value)}}let Gfe=(()=>{class e{constructor(t,i){this.router=t,this.route=i}widgetUpdated(t,i){let r=this,o={...this.widgetModel[i].model.provenance};switch(console.log(o),i){case"singleSlider":"data"in o&&(r.widgetModel[i].model.provenance=o&&{data:o.data.slice(-2),revalidate:!0});break;case"rangeSlider":case"inputText":"data"in o&&(r.widgetModel[i].model.provenance=o&&{data:o.data.slice(-2),revalidate:!0},console.log(r.widgetModel[i].model.provenance));break;case"singleSelectDropdown":case"multiSelectDropdown":case"radioButtonGroup":case"checkboxGroup":"selections"in o&&(r.widgetModel[i].model.provenance=o&&{...o,selections:o.selections.slice(-2),revalidate:!0},console.log(r.widgetModel[i].model.provenance))}}ngAfterViewInit(){}ngOnInit(){this.widgetModel={singleSlider:{model:{value:25,provenance:{}},config:{floor:0,ceil:100,showTicks:!0,tickStep:5},mode:{options:[{label:"Interaction",value:"interaction"},{label:"Time",value:"time"}],value:"interaction"}},rangeSlider:{config:{floor:0,ceil:250,showTicks:!0,tickStep:15},model:{value:75,highValue:180,provenance:{}},mode:{options:[{label:"Interaction",value:"interaction"},{label:"Time",value:"time"}],value:"interaction"}},singleSelectDropdown:{model:{options:[{name:"New York",code:"NY"},{name:"Rome",code:"RM"},{name:"London",code:"LDN"}],value:{},provenance:{}},mode:{options:[{label:"Interaction",value:"interaction"},{label:"Time",value:"time"}],value:"interaction"}},multiSelectDropdown:{model:{options:[{name:"New York",code:"NY"},{name:"Rome",code:"RM"},{name:"London",code:"LDN"}],value:[],provenance:{}},mode:{options:[{label:"Interaction",value:"interaction"},{label:"Time",value:"time"}],value:"interaction"}},checkboxGroup:{model:{options:[{label:"New York",value:"NY"},{label:"Rome",value:"RM"},{label:"London",value:"LDN"}],value:[],provenance:{}},mode:{options:[{label:"Interaction",value:"interaction"},{label:"Time",value:"time"}],value:"interaction"}},radioButtonGroup:{model:{options:[{label:"New York",value:"NY"},{label:"Rome",value:"RM"},{label:"London",value:"LDN"}],value:void 0,provenance:{}},mode:{options:[{label:"Interaction",value:"interaction"},{label:"Time",value:"time"}],value:"interaction"}},inputText:{model:{value:null,provenance:{}},mode:{options:[{label:"Interaction",value:"interaction"},{label:"Time",value:"time"}],value:"interaction"}}}}}return e.\u0275fac=function(t){return new(t||e)(ie(ar),ie(rs))},e.\u0275cmp=mt({type:e,selectors:[["phosphor-widgets"]],features:[Zt([])],decls:35,vars:0,consts:[[1,"container"],[1,"row"],[1,"col-md-12"],[1,"text-center"],[1,"col-md-3","mt-md"],[1,"w-100"],["pTemplate","subtitle"],["pTemplate","content"],["ngDefaultControl","","name","name-singleSlider","id","id-singleSlider",3,"value","provenance","options","mode","valueChange","provenanceChange"],["ngDefaultControl","","name","name-rangeSlider","id","id-rangeSlider",3,"value","highValue","provenance","options","mode","valueChange","highValueChange","provenanceChange"],["ngDefaultControl","","name","name-radioButtonGroup","id","id-radioButtonGroup",3,"selected","provenance","data","mode","selectedChange","provenanceChange"],["ngDefaultControl","","name","name-checkboxGroup","id","id-checkboxGroup",3,"data","selected","provenance","mode","selectedChange","provenanceChange"],["ngDefaultControl","","name","name-singleSelectDropdown","id","id-singleSelectDropdown","optionLabel","name","dataKey","code","placeholder","Select one option",3,"options","mode","selected","showClear","filter","provenance","selectedChange","provenanceChange"],["ngDefaultControl","","name","name-multiSelectDropdown","id","id-multiSelectDropdown","optionLabel","name","dataKey","code","placeholder","Select option(s)",3,"selected","provenance","options","mode","showClear","filter","selectedChange","provenanceChange"],["ngDefaultControl","","name","inputText","id","id-inputText",3,"value","provenance","mode","valueChange","provenanceChange"]],template:function(t,i){1&t&&(V(0,"div",0)(1,"div",1)(2,"div",2),Te(3,"br"),V(4,"h4",3),Ie(5,"Phosphor Objects"),j()()(),V(6,"div",1)(7,"div",4)(8,"p-card",5),N(9,Zdt,1,0,"ng-template",6),N(10,Xdt,1,4,"ng-template",7),j()(),V(11,"div",4)(12,"p-card",5),N(13,Qdt,1,0,"ng-template",6),N(14,Jdt,1,5,"ng-template",7),j()(),V(15,"div",4)(16,"p-card",5),N(17,ept,1,0,"ng-template",6),N(18,tpt,1,4,"ng-template",7),j()(),V(19,"div",4)(20,"p-card",5),N(21,npt,1,0,"ng-template",6),N(22,ipt,1,4,"ng-template",7),j()(),V(23,"div",4)(24,"p-card",5),N(25,rpt,1,0,"ng-template",6),N(26,opt,1,6,"ng-template",7),j()(),V(27,"div",4)(28,"p-card",5),N(29,apt,1,0,"ng-template",6),N(30,spt,1,6,"ng-template",7),j()(),V(31,"div",4)(32,"p-card",5),N(33,lpt,1,0,"ng-template",6),N(34,cpt,1,3,"ng-template",7),j()()()())},dependencies:[bu,lr,pT,xf,Hw,Zy,UT,Gw,Bw],styles:["rect{stroke-width:3px!important;padding:2px!important} .p-multiselect-panel{width:250px!important}"]}),e})();function upt(e,n){1&e&&Ie(0," Single Slider ")}function dpt(e,n){if(1&e){const t=Be();V(0,"provenance-slider",8),ge("valueChange",function(r){return X(t),Q(E().widgetModel.singleSlider.model.value=r)})("provenanceChange",function(r){return X(t),Q(E().widgetModel.singleSlider.model.provenance=r)})("provenanceChange",function(r){return X(t),Q(E().widgetUpdated(r,"singleSlider"))}),j()}if(2&e){const t=E();R("value",t.widgetModel.singleSlider.model.value)("provenance",t.widgetModel.singleSlider.model.provenance)("options",t.widgetModel.singleSlider.config)("mode",t.widgetModel.singleSlider.mode.value)("freeze",t.widgetModel.singleSlider.isFrozen)}}function ppt(e,n){1&e&&Ie(0," Range Slider ")}function fpt(e,n){if(1&e){const t=Be();V(0,"provenance-slider",9),ge("valueChange",function(r){return X(t),Q(E().widgetModel.rangeSlider.model.value=r)})("highValueChange",function(r){return X(t),Q(E().widgetModel.rangeSlider.model.highValue=r)})("provenanceChange",function(r){return X(t),Q(E().widgetModel.rangeSlider.model.provenance=r)})("provenanceChange",function(r){return X(t),Q(E().widgetUpdated(r,"rangeSlider"))}),j()}if(2&e){const t=E();R("value",t.widgetModel.rangeSlider.model.value)("highValue",t.widgetModel.rangeSlider.model.highValue)("provenance",t.widgetModel.rangeSlider.model.provenance)("options",t.widgetModel.rangeSlider.config)("mode",t.widgetModel.rangeSlider.mode.value)("freeze",t.widgetModel.rangeSlider.isFrozen)}}function hpt(e,n){1&e&&Ie(0," Radiobutton Group ")}function gpt(e,n){if(1&e){const t=Be();V(0,"provenance-radiobutton",10),ge("selectedChange",function(r){return X(t),Q(E().widgetModel.radioButtonGroup.model.value=r)})("provenanceChange",function(r){return X(t),Q(E().widgetModel.radioButtonGroup.model.provenance=r)})("provenanceChange",function(r){return X(t),Q(E().widgetUpdated(r,"radioButtonGroup"))}),j()}if(2&e){const t=E();R("selected",t.widgetModel.radioButtonGroup.model.value)("provenance",t.widgetModel.radioButtonGroup.model.provenance)("data",t.widgetModel.radioButtonGroup.model.options)("mode",t.widgetModel.radioButtonGroup.mode.value)("freeze",t.widgetModel.radioButtonGroup.isFrozen)}}function mpt(e,n){1&e&&Ie(0," Checkbox Group ")}function ypt(e,n){if(1&e){const t=Be();V(0,"provenance-checkbox",11),ge("selectedChange",function(r){return X(t),Q(E().widgetModel.checkboxGroup.model.value=r)})("provenanceChange",function(r){return X(t),Q(E().widgetModel.checkboxGroup.model.provenance=r)})("provenanceChange",function(r){return X(t),Q(E().widgetUpdated(r,"checkboxGroup"))}),j()}if(2&e){const t=E();R("selected",t.widgetModel.checkboxGroup.model.value)("provenance",t.widgetModel.checkboxGroup.model.provenance)("data",t.widgetModel.checkboxGroup.model.options)("mode",t.widgetModel.checkboxGroup.mode.value)("freeze",t.widgetModel.checkboxGroup.isFrozen)}}function _pt(e,n){1&e&&Ie(0," Single Select Dropdown ")}function vpt(e,n){if(1&e){const t=Be();V(0,"provenance-dropdown",12),ge("selectedChange",function(r){return X(t),Q(E().widgetModel.singleSelectDropdown.model.value=r)})("provenanceChange",function(r){return X(t),Q(E().widgetModel.singleSelectDropdown.model.provenance=r)})("provenanceChange",function(r){return X(t),Q(E().widgetUpdated(r,"singleSelectDropdown"))}),j()}if(2&e){const t=E();R("options",t.widgetModel.singleSelectDropdown.model.options)("mode",t.widgetModel.singleSelectDropdown.mode.value)("selected",t.widgetModel.singleSelectDropdown.model.value)("showClear",!0)("filter",!0)("provenance",t.widgetModel.singleSelectDropdown.model.provenance)("freeze",t.widgetModel.singleSelectDropdown.isFrozen)}}function Tpt(e,n){1&e&&Ie(0," Multi Select Dropdown ")}function Cpt(e,n){if(1&e){const t=Be();V(0,"provenance-multiselect",13),ge("selectedChange",function(r){return X(t),Q(E().widgetModel.multiSelectDropdown.model.value=r)})("provenanceChange",function(r){return X(t),Q(E().widgetModel.multiSelectDropdown.model.provenance=r)})("provenanceChange",function(r){return X(t),Q(E().widgetUpdated(r,"multiSelectDropdown"))}),j()}if(2&e){const t=E();R("options",t.widgetModel.multiSelectDropdown.model.options)("selected",t.widgetModel.multiSelectDropdown.model.value)("provenance",t.widgetModel.multiSelectDropdown.model.provenance)("mode",t.widgetModel.multiSelectDropdown.mode.value)("showClear",!0)("filter",!0)("freeze",t.widgetModel.multiSelectDropdown.isFrozen)}}function bpt(e,n){1&e&&Ie(0," Input Text ")}function Apt(e,n){if(1&e){const t=Be();V(0,"provenance-inputtext",14),ge("valueChange",function(r){return X(t),Q(E().widgetModel.inputText.model.value=r)})("provenanceChange",function(r){return X(t),Q(E().widgetModel.inputText.model.provenance=r)})("provenanceChange",function(r){return X(t),Q(E().widgetUpdated(r,"inputText"))}),j()}if(2&e){const t=E();R("value",t.widgetModel.inputText.model.value)("provenance",t.widgetModel.inputText.model.provenance)("mode",t.widgetModel.inputText.mode.value)("freeze",t.widgetModel.inputText.isFrozen)}}let Bfe=(()=>{class e{constructor(t,i){this.router=t,this.route=i}widgetUpdated(t,i){console.log(i,this.widgetModel[i].model.provenance)}ngAfterViewInit(){}ngOnInit(){this.widgetModel={singleSlider:{isFrozen:!0,model:{value:25,provenance:{revalidate:!0,data:[{value:[25],timestamp:new Date("2024-03-05T00:00:00.000Z")},{value:[14],timestamp:new Date("2024-03-05T00:00:00.000Z")},{value:[24],timestamp:new Date("2024-03-05T00:00:00.000Z")},,{value:[34],timestamp:new Date("2024-03-05T00:00:00.000Z")},{value:[44],timestamp:new Date("2024-03-05T00:00:00.000Z")},{value:[49],timestamp:new Date("2024-03-05T00:00:00.000Z")},{value:[54],timestamp:new Date("2024-03-05T00:00:00.000Z")},{value:[20],timestamp:new Date("2024-03-05T00:00:00.000Z")},{value:[35],timestamp:new Date("2024-03-05T00:00:00.000Z")},{value:[45],timestamp:new Date("2024-03-05T00:00:00.000Z")},{value:[40],timestamp:new Date("2024-03-05T00:00:00.000Z")},{value:[50],timestamp:new Date("2024-03-05T00:00:00.000Z")},{value:[45],timestamp:new Date("2024-03-05T00:00:00.000Z")},{value:[40],timestamp:new Date("2024-03-05T00:00:00.000Z")},{value:[30],timestamp:new Date("2024-03-05T00:00:00.000Z")},{value:[40],timestamp:new Date("2024-03-05T00:00:00.000Z")},{value:[10],timestamp:new Date("2024-03-05T00:00:00.000Z")},{value:[20],timestamp:new Date("2024-03-05T00:00:00.000Z")},{value:[25],timestamp:new Date("2024-03-05T00:00:00.000Z")},{value:[35],timestamp:new Date("2024-03-05T00:00:00.000Z")},{value:[30],timestamp:new Date("2024-03-05T00:00:00.000Z")},{value:[30],timestamp:new Date("2024-03-05T00:00:00.000Z")},{value:[30],timestamp:new Date("2024-03-05T00:00:00.000Z")},{value:[35],timestamp:new Date("2024-03-05T00:00:00.000Z")},{value:[25],timestamp:new Date("2024-03-05T00:00:00.000Z")},{value:[20],timestamp:new Date("2024-03-05T00:00:00.000Z")},{value:[65],timestamp:new Date("2024-03-05T00:00:00.000Z")},{value:[100],timestamp:new Date("2024-03-05T00:00:00.000Z")},{value:[0],timestamp:new Date("2024-03-05T00:00:00.000Z")},{value:[19],timestamp:new Date("2024-03-05T00:00:00.000Z")},{value:[11],timestamp:new Date("2024-03-05T00:00:00.000Z")},{value:[29],timestamp:new Date("2024-03-05T00:00:00.000Z")},{value:[39],timestamp:new Date("2024-03-05T00:00:00.000Z")},{value:[80],timestamp:new Date("2024-03-05T00:00:00.000Z")}]}},config:{floor:0,ceil:100,showTicks:!0,tickStep:5},mode:{options:[{label:"Interaction",value:"interaction"},{label:"Time",value:"time"}],value:"time"}},rangeSlider:{config:{floor:0,ceil:250,showTicks:!0,tickStep:15},isFrozen:!0,model:{value:75,highValue:180,provenance:{revalidate:!0,data:[{value:[105,180],timestamp:new Date("2024-03-05T00:00:00.000Z")},{value:[135,180],timestamp:new Date("2024-03-05T00:00:00.000Z")},,{value:[0,180],timestamp:new Date("2024-03-05T00:00:00.000Z")},{value:[135,210],timestamp:new Date("2024-03-05T00:00:00.000Z")},{value:[135,210],timestamp:new Date("2024-03-05T00:00:00.000Z")},{value:[210,250],timestamp:new Date("2024-03-05T00:00:00.000Z")},{value:[45,125],timestamp:new Date("2024-03-05T00:00:00.000Z")}]}},mode:{options:[{label:"Interaction",value:"interaction"},{label:"Time",value:"time"}],value:"time"}},singleSelectDropdown:{isFrozen:!0,model:{options:[{name:"New York",code:"NY"},{name:"Rome",code:"RM"},{name:"London",code:"LDN"},{name:"Istanbul",code:"IST"},{name:"Paris",code:"PRS"}],value:{name:"London",code:"LDN"},provenance:{revalidate:!0,selections:[{value:["NY"],timestamp:new Date("2024-03-05T00:00:00.000Z")},{value:["RM"],timestamp:new Date("2024-03-05T00:00:00.000Z")},{value:["LDN"],timestamp:new Date("2024-03-05T00:00:00.000Z")},{value:["RM"],timestamp:new Date("2024-03-05T00:00:00.000Z")},{value:["LDN"],timestamp:new Date("2024-03-05T00:00:00.000Z")},{value:["IST"],timestamp:new Date("2024-03-05T00:00:00.000Z")},{value:["LDN"],timestamp:new Date("2024-03-05T00:00:00.000Z")}]}},mode:{options:[{label:"Interaction",value:"interaction"},{label:"Time",value:"time"}],value:"time"}},multiSelectDropdown:{isFrozen:!0,model:{options:[{name:"New York",code:"NY"},{name:"Rome",code:"RM"},{name:"London",code:"LDN"},{name:"Istanbul",code:"IST"},{name:"Paris",code:"PRS"}],value:[{name:"New York",code:"NY"},{name:"Rome",code:"RM"}],provenance:{revalidate:!0,selections:[{value:["NY","RM"],timestamp:new Date("2024-03-05T00:00:00.000Z")},{value:["NY"],timestamp:new Date("2024-03-05T00:00:00.000Z")},{value:["NY","LDN"],timestamp:new Date("2024-03-05T00:00:00.000Z")},{value:["PRS"],timestamp:new Date("2024-03-05T00:00:00.000Z")},{value:["NY"],timestamp:new Date("2024-03-05T00:00:00.000Z")},{value:["IST","PRS"],timestamp:new Date("2024-03-05T00:00:00.000Z")},{value:["NY","RM"],timestamp:new Date("2024-03-05T00:00:00.000Z")}]}},mode:{options:[{label:"Interaction",value:"interaction"},{label:"Time",value:"time"}],value:"time"}},checkboxGroup:{isFrozen:!0,model:{options:[{label:"New York",value:"NY"},{label:"Rome",value:"RM"},{label:"London",value:"LDN"},{label:"Istanbul",value:"IST"},{label:"Paris",value:"PRS"}],value:["NY","LDN","RM"],provenance:{revalidate:!0,selections:[{value:["NY","RM"],timestamp:new Date("2024-03-05T00:00:00.000Z")},{value:["NY"],timestamp:new Date("2024-03-05T00:00:00.000Z")},{value:["NY","LDN"],timestamp:new Date("2024-03-05T00:00:00.000Z")},{value:["NY","LDN","RM"],timestamp:new Date("2024-03-05T00:00:00.000Z")}]}},mode:{options:[{label:"Interaction",value:"interaction"},{label:"Time",value:"time"}],value:"time"}},radioButtonGroup:{isFrozen:!0,model:{options:[{label:"New York",value:"NY"},{label:"Rome",value:"RM"},{label:"London",value:"LDN"},{label:"Istanbul",value:"IST"},{label:"Paris",value:"PRS"}],value:void 0,provenance:{revalidate:!0,selections:[{value:["PRS"],timestamp:new Date("2024-03-05T00:00:00.000Z")},{value:["NY"],timestamp:new Date("2024-03-05T00:00:00.000Z")},{value:["RM"],timestamp:new Date("2024-03-05T00:00:00.000Z")},{value:["LDN"],timestamp:new Date("2024-03-05T00:00:00.000Z")},{value:["RM"],timestamp:new Date("2024-03-05T00:00:00.000Z")},{value:["LDN"],timestamp:new Date("2024-03-05T00:00:00.000Z")},{value:["IST"],timestamp:new Date("2024-03-05T00:00:00.000Z")},{value:["LDN"],timestamp:new Date("2024-03-05T00:00:00.000Z")}]}},mode:{options:[{label:"Interaction",value:"interaction"},{label:"Time",value:"time"}],value:"time"}},inputText:{isFrozen:!0,model:{value:"Atlanta",provenance:{revalidate:!0,data:[{value:"Rome",timestamp:new Date("2024-03-05T00:00:00.000Z")},{value:"New York",timestamp:new Date("2024-03-05T00:00:00.000Z")},{value:"Rome",timestamp:new Date("2024-03-05T00:00:00.000Z")},{value:"Atlanta",timestamp:new Date("2024-03-05T00:00:00.000Z")}]}},mode:{options:[{label:"Interaction",value:"interaction"},{label:"Time",value:"time"}],value:"time"}}}}}return e.\u0275fac=function(t){return new(t||e)(ie(ar),ie(rs))},e.\u0275cmp=mt({type:e,selectors:[["data-distribution"]],features:[Zt([])],decls:35,vars:0,consts:[[1,"container"],[1,"row"],[1,"col-md-12"],[1,"text-center"],[1,"col-md-3","mt-md"],[1,"w-100"],["pTemplate","subtitle"],["pTemplate","content"],["ngDefaultControl","","name","name-singleSlider","id","id-singleSlider",3,"value","provenance","options","mode","freeze","valueChange","provenanceChange"],["ngDefaultControl","","name","name-rangeSlider","id","id-rangeSlider",3,"value","highValue","provenance","options","mode","freeze","valueChange","highValueChange","provenanceChange"],["ngDefaultControl","","name","name-radioButtonGroup","id","id-radioButtonGroup",3,"selected","provenance","data","mode","freeze","selectedChange","provenanceChange"],["ngDefaultControl","","name","name-checkboxGroup","id","id-checkboxGroup",3,"selected","provenance","data","mode","freeze","selectedChange","provenanceChange"],["ngDefaultControl","","name","name-singleSelectDropdown","id","id-singleSelectDropdown","optionLabel","name","dataKey","code","placeholder","Select one option",3,"options","mode","selected","showClear","filter","provenance","freeze","selectedChange","provenanceChange"],["ngDefaultControl","","name","name-multiSelectDropdown","id","id-multiSelectDropdown","optionLabel","name","dataKey","code","placeholder","Select option(s)",3,"options","selected","provenance","mode","showClear","filter","freeze","selectedChange","provenanceChange"],["ngDefaultControl","","name","inputText","id","id-inputText",3,"value","provenance","mode","freeze","valueChange","provenanceChange"]],template:function(t,i){1&t&&(V(0,"div",0)(1,"div",1)(2,"div",2),Te(3,"br"),V(4,"h4",3),Ie(5,"Data Distribution"),j()()(),V(6,"div",1)(7,"div",4)(8,"p-card",5),N(9,upt,1,0,"ng-template",6),N(10,dpt,1,5,"ng-template",7),j()(),V(11,"div",4)(12,"p-card",5),N(13,ppt,1,0,"ng-template",6),N(14,fpt,1,6,"ng-template",7),j()(),V(15,"div",4)(16,"p-card",5),N(17,hpt,1,0,"ng-template",6),N(18,gpt,1,5,"ng-template",7),j()(),V(19,"div",4)(20,"p-card",5),N(21,mpt,1,0,"ng-template",6),N(22,ypt,1,5,"ng-template",7),j()(),V(23,"div",4)(24,"p-card",5),N(25,_pt,1,0,"ng-template",6),N(26,vpt,1,7,"ng-template",7),j()(),V(27,"div",4)(28,"p-card",5),N(29,Tpt,1,0,"ng-template",6),N(30,Cpt,1,7,"ng-template",7),j()(),V(31,"div",4)(32,"p-card",5),N(33,bpt,1,0,"ng-template",6),N(34,Apt,1,4,"ng-template",7),j()()()())},dependencies:[bu,lr,pT,xf,Hw,Zy,UT,Gw,Bw],styles:["rect{stroke-width:3px!important;padding:2px!important} rect{stroke:none!important} .p-multiselect-panel{width:250px!important}"]}),e})();const Spt=JSON.parse('{"$schema":"https://vega.github.io/schema/vega-lite/v5.json","description":"Drag out a rectangular brush to highlight points.","data":{"values":[]},"params":[{"name":"brush","select":"interval","value":{"x":[],"y":[]}}],"mark":"point","encoding":{"x":{"field":"Horsepower","type":"quantitative","axis":{"labelFontSize":18,"titleFontSize":20}},"y":{"field":"Acceleration","type":"quantitative","axis":{"labelFontSize":18,"titleFontSize":20}}}}'),wpt=JSON.parse('[{"Name":"chevrolet chevelle malibu","Miles_per_Gallon":18,"Cylinders":8,"Displacement":307,"Horsepower":130,"Weight_in_lbs":3504,"Acceleration":12,"Year":"1970-01-01","Origin":"USA"},{"Name":"buick skylark 320","Miles_per_Gallon":15,"Cylinders":8,"Displacement":350,"Horsepower":165,"Weight_in_lbs":3693,"Acceleration":11.5,"Year":"1970-01-01","Origin":"USA"},{"Name":"plymouth satellite","Miles_per_Gallon":18,"Cylinders":8,"Displacement":318,"Horsepower":150,"Weight_in_lbs":3436,"Acceleration":11,"Year":"1970-01-01","Origin":"USA"},{"Name":"amc rebel sst","Miles_per_Gallon":16,"Cylinders":8,"Displacement":304,"Horsepower":150,"Weight_in_lbs":3433,"Acceleration":12,"Year":"1970-01-01","Origin":"USA"},{"Name":"ford torino","Miles_per_Gallon":17,"Cylinders":8,"Displacement":302,"Horsepower":140,"Weight_in_lbs":3449,"Acceleration":10.5,"Year":"1970-01-01","Origin":"USA"},{"Name":"ford galaxie 500","Miles_per_Gallon":15,"Cylinders":8,"Displacement":429,"Horsepower":198,"Weight_in_lbs":4341,"Acceleration":10,"Year":"1970-01-01","Origin":"USA"},{"Name":"chevrolet impala","Miles_per_Gallon":14,"Cylinders":8,"Displacement":454,"Horsepower":220,"Weight_in_lbs":4354,"Acceleration":9,"Year":"1970-01-01","Origin":"USA"},{"Name":"plymouth fury iii","Miles_per_Gallon":14,"Cylinders":8,"Displacement":440,"Horsepower":215,"Weight_in_lbs":4312,"Acceleration":8.5,"Year":"1970-01-01","Origin":"USA"},{"Name":"pontiac catalina","Miles_per_Gallon":14,"Cylinders":8,"Displacement":455,"Horsepower":225,"Weight_in_lbs":4425,"Acceleration":10,"Year":"1970-01-01","Origin":"USA"},{"Name":"amc ambassador dpl","Miles_per_Gallon":15,"Cylinders":8,"Displacement":390,"Horsepower":190,"Weight_in_lbs":3850,"Acceleration":8.5,"Year":"1970-01-01","Origin":"USA"},{"Name":"citroen ds-21 pallas","Miles_per_Gallon":null,"Cylinders":4,"Displacement":133,"Horsepower":115,"Weight_in_lbs":3090,"Acceleration":17.5,"Year":"1970-01-01","Origin":"Europe"},{"Name":"chevrolet chevelle concours (sw)","Miles_per_Gallon":null,"Cylinders":8,"Displacement":350,"Horsepower":165,"Weight_in_lbs":4142,"Acceleration":11.5,"Year":"1970-01-01","Origin":"USA"},{"Name":"ford torino (sw)","Miles_per_Gallon":null,"Cylinders":8,"Displacement":351,"Horsepower":153,"Weight_in_lbs":4034,"Acceleration":11,"Year":"1970-01-01","Origin":"USA"},{"Name":"plymouth satellite (sw)","Miles_per_Gallon":null,"Cylinders":8,"Displacement":383,"Horsepower":175,"Weight_in_lbs":4166,"Acceleration":10.5,"Year":"1970-01-01","Origin":"USA"},{"Name":"amc rebel sst (sw)","Miles_per_Gallon":null,"Cylinders":8,"Displacement":360,"Horsepower":175,"Weight_in_lbs":3850,"Acceleration":11,"Year":"1970-01-01","Origin":"USA"},{"Name":"dodge challenger se","Miles_per_Gallon":15,"Cylinders":8,"Displacement":383,"Horsepower":170,"Weight_in_lbs":3563,"Acceleration":10,"Year":"1970-01-01","Origin":"USA"},{"Name":"plymouth \'cuda 340","Miles_per_Gallon":14,"Cylinders":8,"Displacement":340,"Horsepower":160,"Weight_in_lbs":3609,"Acceleration":8,"Year":"1970-01-01","Origin":"USA"},{"Name":"ford mustang boss 302","Miles_per_Gallon":null,"Cylinders":8,"Displacement":302,"Horsepower":140,"Weight_in_lbs":3353,"Acceleration":8,"Year":"1970-01-01","Origin":"USA"},{"Name":"chevrolet monte carlo","Miles_per_Gallon":15,"Cylinders":8,"Displacement":400,"Horsepower":150,"Weight_in_lbs":3761,"Acceleration":9.5,"Year":"1970-01-01","Origin":"USA"},{"Name":"buick estate wagon (sw)","Miles_per_Gallon":14,"Cylinders":8,"Displacement":455,"Horsepower":225,"Weight_in_lbs":3086,"Acceleration":10,"Year":"1970-01-01","Origin":"USA"},{"Name":"toyota corona mark ii","Miles_per_Gallon":24,"Cylinders":4,"Displacement":113,"Horsepower":95,"Weight_in_lbs":2372,"Acceleration":15,"Year":"1970-01-01","Origin":"Japan"},{"Name":"plymouth duster","Miles_per_Gallon":22,"Cylinders":6,"Displacement":198,"Horsepower":95,"Weight_in_lbs":2833,"Acceleration":15.5,"Year":"1970-01-01","Origin":"USA"},{"Name":"amc hornet","Miles_per_Gallon":18,"Cylinders":6,"Displacement":199,"Horsepower":97,"Weight_in_lbs":2774,"Acceleration":15.5,"Year":"1970-01-01","Origin":"USA"},{"Name":"ford maverick","Miles_per_Gallon":21,"Cylinders":6,"Displacement":200,"Horsepower":85,"Weight_in_lbs":2587,"Acceleration":16,"Year":"1970-01-01","Origin":"USA"},{"Name":"datsun pl510","Miles_per_Gallon":27,"Cylinders":4,"Displacement":97,"Horsepower":88,"Weight_in_lbs":2130,"Acceleration":14.5,"Year":"1970-01-01","Origin":"Japan"},{"Name":"volkswagen 1131 deluxe sedan","Miles_per_Gallon":26,"Cylinders":4,"Displacement":97,"Horsepower":46,"Weight_in_lbs":1835,"Acceleration":20.5,"Year":"1970-01-01","Origin":"Europe"},{"Name":"peugeot 504","Miles_per_Gallon":25,"Cylinders":4,"Displacement":110,"Horsepower":87,"Weight_in_lbs":2672,"Acceleration":17.5,"Year":"1970-01-01","Origin":"Europe"},{"Name":"audi 100 ls","Miles_per_Gallon":24,"Cylinders":4,"Displacement":107,"Horsepower":90,"Weight_in_lbs":2430,"Acceleration":14.5,"Year":"1970-01-01","Origin":"Europe"},{"Name":"saab 99e","Miles_per_Gallon":25,"Cylinders":4,"Displacement":104,"Horsepower":95,"Weight_in_lbs":2375,"Acceleration":17.5,"Year":"1970-01-01","Origin":"Europe"},{"Name":"bmw 2002","Miles_per_Gallon":26,"Cylinders":4,"Displacement":121,"Horsepower":113,"Weight_in_lbs":2234,"Acceleration":12.5,"Year":"1970-01-01","Origin":"Europe"},{"Name":"amc gremlin","Miles_per_Gallon":21,"Cylinders":6,"Displacement":199,"Horsepower":90,"Weight_in_lbs":2648,"Acceleration":15,"Year":"1970-01-01","Origin":"USA"},{"Name":"ford f250","Miles_per_Gallon":10,"Cylinders":8,"Displacement":360,"Horsepower":215,"Weight_in_lbs":4615,"Acceleration":14,"Year":"1970-01-01","Origin":"USA"},{"Name":"chevy c20","Miles_per_Gallon":10,"Cylinders":8,"Displacement":307,"Horsepower":200,"Weight_in_lbs":4376,"Acceleration":15,"Year":"1970-01-01","Origin":"USA"},{"Name":"dodge d200","Miles_per_Gallon":11,"Cylinders":8,"Displacement":318,"Horsepower":210,"Weight_in_lbs":4382,"Acceleration":13.5,"Year":"1970-01-01","Origin":"USA"},{"Name":"hi 1200d","Miles_per_Gallon":9,"Cylinders":8,"Displacement":304,"Horsepower":193,"Weight_in_lbs":4732,"Acceleration":18.5,"Year":"1970-01-01","Origin":"USA"},{"Name":"datsun pl510","Miles_per_Gallon":27,"Cylinders":4,"Displacement":97,"Horsepower":88,"Weight_in_lbs":2130,"Acceleration":14.5,"Year":"1971-01-01","Origin":"Japan"},{"Name":"chevrolet vega 2300","Miles_per_Gallon":28,"Cylinders":4,"Displacement":140,"Horsepower":90,"Weight_in_lbs":2264,"Acceleration":15.5,"Year":"1971-01-01","Origin":"USA"},{"Name":"toyota corona","Miles_per_Gallon":25,"Cylinders":4,"Displacement":113,"Horsepower":95,"Weight_in_lbs":2228,"Acceleration":14,"Year":"1971-01-01","Origin":"Japan"},{"Name":"ford pinto","Miles_per_Gallon":25,"Cylinders":4,"Displacement":98,"Horsepower":null,"Weight_in_lbs":2046,"Acceleration":19,"Year":"1971-01-01","Origin":"USA"},{"Name":"volkswagen super beetle 117","Miles_per_Gallon":null,"Cylinders":4,"Displacement":97,"Horsepower":48,"Weight_in_lbs":1978,"Acceleration":20,"Year":"1971-01-01","Origin":"Europe"},{"Name":"amc gremlin","Miles_per_Gallon":19,"Cylinders":6,"Displacement":232,"Horsepower":100,"Weight_in_lbs":2634,"Acceleration":13,"Year":"1971-01-01","Origin":"USA"},{"Name":"plymouth satellite custom","Miles_per_Gallon":16,"Cylinders":6,"Displacement":225,"Horsepower":105,"Weight_in_lbs":3439,"Acceleration":15.5,"Year":"1971-01-01","Origin":"USA"},{"Name":"chevrolet chevelle malibu","Miles_per_Gallon":17,"Cylinders":6,"Displacement":250,"Horsepower":100,"Weight_in_lbs":3329,"Acceleration":15.5,"Year":"1971-01-01","Origin":"USA"},{"Name":"ford torino 500","Miles_per_Gallon":19,"Cylinders":6,"Displacement":250,"Horsepower":88,"Weight_in_lbs":3302,"Acceleration":15.5,"Year":"1971-01-01","Origin":"USA"},{"Name":"amc matador","Miles_per_Gallon":18,"Cylinders":6,"Displacement":232,"Horsepower":100,"Weight_in_lbs":3288,"Acceleration":15.5,"Year":"1971-01-01","Origin":"USA"},{"Name":"chevrolet impala","Miles_per_Gallon":14,"Cylinders":8,"Displacement":350,"Horsepower":165,"Weight_in_lbs":4209,"Acceleration":12,"Year":"1971-01-01","Origin":"USA"},{"Name":"pontiac catalina brougham","Miles_per_Gallon":14,"Cylinders":8,"Displacement":400,"Horsepower":175,"Weight_in_lbs":4464,"Acceleration":11.5,"Year":"1971-01-01","Origin":"USA"},{"Name":"ford galaxie 500","Miles_per_Gallon":14,"Cylinders":8,"Displacement":351,"Horsepower":153,"Weight_in_lbs":4154,"Acceleration":13.5,"Year":"1971-01-01","Origin":"USA"},{"Name":"plymouth fury iii","Miles_per_Gallon":14,"Cylinders":8,"Displacement":318,"Horsepower":150,"Weight_in_lbs":4096,"Acceleration":13,"Year":"1971-01-01","Origin":"USA"},{"Name":"dodge monaco (sw)","Miles_per_Gallon":12,"Cylinders":8,"Displacement":383,"Horsepower":180,"Weight_in_lbs":4955,"Acceleration":11.5,"Year":"1971-01-01","Origin":"USA"},{"Name":"ford country squire (sw)","Miles_per_Gallon":13,"Cylinders":8,"Displacement":400,"Horsepower":170,"Weight_in_lbs":4746,"Acceleration":12,"Year":"1971-01-01","Origin":"USA"},{"Name":"pontiac safari (sw)","Miles_per_Gallon":13,"Cylinders":8,"Displacement":400,"Horsepower":175,"Weight_in_lbs":5140,"Acceleration":12,"Year":"1971-01-01","Origin":"USA"},{"Name":"amc hornet sportabout (sw)","Miles_per_Gallon":18,"Cylinders":6,"Displacement":258,"Horsepower":110,"Weight_in_lbs":2962,"Acceleration":13.5,"Year":"1971-01-01","Origin":"USA"},{"Name":"chevrolet vega (sw)","Miles_per_Gallon":22,"Cylinders":4,"Displacement":140,"Horsepower":72,"Weight_in_lbs":2408,"Acceleration":19,"Year":"1971-01-01","Origin":"USA"},{"Name":"pontiac firebird","Miles_per_Gallon":19,"Cylinders":6,"Displacement":250,"Horsepower":100,"Weight_in_lbs":3282,"Acceleration":15,"Year":"1971-01-01","Origin":"USA"},{"Name":"ford mustang","Miles_per_Gallon":18,"Cylinders":6,"Displacement":250,"Horsepower":88,"Weight_in_lbs":3139,"Acceleration":14.5,"Year":"1971-01-01","Origin":"USA"},{"Name":"mercury capri 2000","Miles_per_Gallon":23,"Cylinders":4,"Displacement":122,"Horsepower":86,"Weight_in_lbs":2220,"Acceleration":14,"Year":"1971-01-01","Origin":"USA"},{"Name":"opel 1900","Miles_per_Gallon":28,"Cylinders":4,"Displacement":116,"Horsepower":90,"Weight_in_lbs":2123,"Acceleration":14,"Year":"1971-01-01","Origin":"Europe"},{"Name":"peugeot 304","Miles_per_Gallon":30,"Cylinders":4,"Displacement":79,"Horsepower":70,"Weight_in_lbs":2074,"Acceleration":19.5,"Year":"1971-01-01","Origin":"Europe"},{"Name":"fiat 124b","Miles_per_Gallon":30,"Cylinders":4,"Displacement":88,"Horsepower":76,"Weight_in_lbs":2065,"Acceleration":14.5,"Year":"1971-01-01","Origin":"Europe"},{"Name":"toyota corolla 1200","Miles_per_Gallon":31,"Cylinders":4,"Displacement":71,"Horsepower":65,"Weight_in_lbs":1773,"Acceleration":19,"Year":"1971-01-01","Origin":"Japan"},{"Name":"datsun 1200","Miles_per_Gallon":35,"Cylinders":4,"Displacement":72,"Horsepower":69,"Weight_in_lbs":1613,"Acceleration":18,"Year":"1971-01-01","Origin":"Japan"},{"Name":"volkswagen model 111","Miles_per_Gallon":27,"Cylinders":4,"Displacement":97,"Horsepower":60,"Weight_in_lbs":1834,"Acceleration":19,"Year":"1971-01-01","Origin":"Europe"},{"Name":"plymouth cricket","Miles_per_Gallon":26,"Cylinders":4,"Displacement":91,"Horsepower":70,"Weight_in_lbs":1955,"Acceleration":20.5,"Year":"1971-01-01","Origin":"USA"},{"Name":"toyota corona hardtop","Miles_per_Gallon":24,"Cylinders":4,"Displacement":113,"Horsepower":95,"Weight_in_lbs":2278,"Acceleration":15.5,"Year":"1972-01-01","Origin":"Japan"},{"Name":"dodge colt hardtop","Miles_per_Gallon":25,"Cylinders":4,"Displacement":97.5,"Horsepower":80,"Weight_in_lbs":2126,"Acceleration":17,"Year":"1972-01-01","Origin":"USA"},{"Name":"volkswagen type 3","Miles_per_Gallon":23,"Cylinders":4,"Displacement":97,"Horsepower":54,"Weight_in_lbs":2254,"Acceleration":23.5,"Year":"1972-01-01","Origin":"Europe"},{"Name":"chevrolet vega","Miles_per_Gallon":20,"Cylinders":4,"Displacement":140,"Horsepower":90,"Weight_in_lbs":2408,"Acceleration":19.5,"Year":"1972-01-01","Origin":"USA"},{"Name":"ford pinto runabout","Miles_per_Gallon":21,"Cylinders":4,"Displacement":122,"Horsepower":86,"Weight_in_lbs":2226,"Acceleration":16.5,"Year":"1972-01-01","Origin":"USA"},{"Name":"chevrolet impala","Miles_per_Gallon":13,"Cylinders":8,"Displacement":350,"Horsepower":165,"Weight_in_lbs":4274,"Acceleration":12,"Year":"1972-01-01","Origin":"USA"},{"Name":"pontiac catalina","Miles_per_Gallon":14,"Cylinders":8,"Displacement":400,"Horsepower":175,"Weight_in_lbs":4385,"Acceleration":12,"Year":"1972-01-01","Origin":"USA"},{"Name":"plymouth fury iii","Miles_per_Gallon":15,"Cylinders":8,"Displacement":318,"Horsepower":150,"Weight_in_lbs":4135,"Acceleration":13.5,"Year":"1972-01-01","Origin":"USA"},{"Name":"ford galaxie 500","Miles_per_Gallon":14,"Cylinders":8,"Displacement":351,"Horsepower":153,"Weight_in_lbs":4129,"Acceleration":13,"Year":"1972-01-01","Origin":"USA"},{"Name":"amc ambassador sst","Miles_per_Gallon":17,"Cylinders":8,"Displacement":304,"Horsepower":150,"Weight_in_lbs":3672,"Acceleration":11.5,"Year":"1972-01-01","Origin":"USA"},{"Name":"mercury marquis","Miles_per_Gallon":11,"Cylinders":8,"Displacement":429,"Horsepower":208,"Weight_in_lbs":4633,"Acceleration":11,"Year":"1972-01-01","Origin":"USA"},{"Name":"buick lesabre custom","Miles_per_Gallon":13,"Cylinders":8,"Displacement":350,"Horsepower":155,"Weight_in_lbs":4502,"Acceleration":13.5,"Year":"1972-01-01","Origin":"USA"},{"Name":"oldsmobile delta 88 royale","Miles_per_Gallon":12,"Cylinders":8,"Displacement":350,"Horsepower":160,"Weight_in_lbs":4456,"Acceleration":13.5,"Year":"1972-01-01","Origin":"USA"},{"Name":"chrysler newport royal","Miles_per_Gallon":13,"Cylinders":8,"Displacement":400,"Horsepower":190,"Weight_in_lbs":4422,"Acceleration":12.5,"Year":"1972-01-01","Origin":"USA"},{"Name":"mazda rx2 coupe","Miles_per_Gallon":19,"Cylinders":3,"Displacement":70,"Horsepower":97,"Weight_in_lbs":2330,"Acceleration":13.5,"Year":"1972-01-01","Origin":"Japan"},{"Name":"amc matador (sw)","Miles_per_Gallon":15,"Cylinders":8,"Displacement":304,"Horsepower":150,"Weight_in_lbs":3892,"Acceleration":12.5,"Year":"1972-01-01","Origin":"USA"},{"Name":"chevrolet chevelle concours (sw)","Miles_per_Gallon":13,"Cylinders":8,"Displacement":307,"Horsepower":130,"Weight_in_lbs":4098,"Acceleration":14,"Year":"1972-01-01","Origin":"USA"},{"Name":"ford gran torino (sw)","Miles_per_Gallon":13,"Cylinders":8,"Displacement":302,"Horsepower":140,"Weight_in_lbs":4294,"Acceleration":16,"Year":"1972-01-01","Origin":"USA"},{"Name":"plymouth satellite custom (sw)","Miles_per_Gallon":14,"Cylinders":8,"Displacement":318,"Horsepower":150,"Weight_in_lbs":4077,"Acceleration":14,"Year":"1972-01-01","Origin":"USA"},{"Name":"volvo 145e (sw)","Miles_per_Gallon":18,"Cylinders":4,"Displacement":121,"Horsepower":112,"Weight_in_lbs":2933,"Acceleration":14.5,"Year":"1972-01-01","Origin":"Europe"},{"Name":"volkswagen 411 (sw)","Miles_per_Gallon":22,"Cylinders":4,"Displacement":121,"Horsepower":76,"Weight_in_lbs":2511,"Acceleration":18,"Year":"1972-01-01","Origin":"Europe"},{"Name":"peugeot 504 (sw)","Miles_per_Gallon":21,"Cylinders":4,"Displacement":120,"Horsepower":87,"Weight_in_lbs":2979,"Acceleration":19.5,"Year":"1972-01-01","Origin":"Europe"},{"Name":"renault 12 (sw)","Miles_per_Gallon":26,"Cylinders":4,"Displacement":96,"Horsepower":69,"Weight_in_lbs":2189,"Acceleration":18,"Year":"1972-01-01","Origin":"Europe"},{"Name":"ford pinto (sw)","Miles_per_Gallon":22,"Cylinders":4,"Displacement":122,"Horsepower":86,"Weight_in_lbs":2395,"Acceleration":16,"Year":"1972-01-01","Origin":"USA"},{"Name":"datsun 510 (sw)","Miles_per_Gallon":28,"Cylinders":4,"Displacement":97,"Horsepower":92,"Weight_in_lbs":2288,"Acceleration":17,"Year":"1972-01-01","Origin":"Japan"},{"Name":"toyouta corona mark ii (sw)","Miles_per_Gallon":23,"Cylinders":4,"Displacement":120,"Horsepower":97,"Weight_in_lbs":2506,"Acceleration":14.5,"Year":"1972-01-01","Origin":"Japan"},{"Name":"dodge colt (sw)","Miles_per_Gallon":28,"Cylinders":4,"Displacement":98,"Horsepower":80,"Weight_in_lbs":2164,"Acceleration":15,"Year":"1972-01-01","Origin":"USA"},{"Name":"toyota corolla 1600 (sw)","Miles_per_Gallon":27,"Cylinders":4,"Displacement":97,"Horsepower":88,"Weight_in_lbs":2100,"Acceleration":16.5,"Year":"1972-01-01","Origin":"Japan"},{"Name":"buick century 350","Miles_per_Gallon":13,"Cylinders":8,"Displacement":350,"Horsepower":175,"Weight_in_lbs":4100,"Acceleration":13,"Year":"1973-01-01","Origin":"USA"},{"Name":"amc matador","Miles_per_Gallon":14,"Cylinders":8,"Displacement":304,"Horsepower":150,"Weight_in_lbs":3672,"Acceleration":11.5,"Year":"1973-01-01","Origin":"USA"},{"Name":"chevrolet malibu","Miles_per_Gallon":13,"Cylinders":8,"Displacement":350,"Horsepower":145,"Weight_in_lbs":3988,"Acceleration":13,"Year":"1973-01-01","Origin":"USA"},{"Name":"ford gran torino","Miles_per_Gallon":14,"Cylinders":8,"Displacement":302,"Horsepower":137,"Weight_in_lbs":4042,"Acceleration":14.5,"Year":"1973-01-01","Origin":"USA"},{"Name":"dodge coronet custom","Miles_per_Gallon":15,"Cylinders":8,"Displacement":318,"Horsepower":150,"Weight_in_lbs":3777,"Acceleration":12.5,"Year":"1973-01-01","Origin":"USA"},{"Name":"mercury marquis brougham","Miles_per_Gallon":12,"Cylinders":8,"Displacement":429,"Horsepower":198,"Weight_in_lbs":4952,"Acceleration":11.5,"Year":"1973-01-01","Origin":"USA"},{"Name":"chevrolet caprice classic","Miles_per_Gallon":13,"Cylinders":8,"Displacement":400,"Horsepower":150,"Weight_in_lbs":4464,"Acceleration":12,"Year":"1973-01-01","Origin":"USA"},{"Name":"ford ltd","Miles_per_Gallon":13,"Cylinders":8,"Displacement":351,"Horsepower":158,"Weight_in_lbs":4363,"Acceleration":13,"Year":"1973-01-01","Origin":"USA"},{"Name":"plymouth fury gran sedan","Miles_per_Gallon":14,"Cylinders":8,"Displacement":318,"Horsepower":150,"Weight_in_lbs":4237,"Acceleration":14.5,"Year":"1973-01-01","Origin":"USA"},{"Name":"chrysler new yorker brougham","Miles_per_Gallon":13,"Cylinders":8,"Displacement":440,"Horsepower":215,"Weight_in_lbs":4735,"Acceleration":11,"Year":"1973-01-01","Origin":"USA"},{"Name":"buick electra 225 custom","Miles_per_Gallon":12,"Cylinders":8,"Displacement":455,"Horsepower":225,"Weight_in_lbs":4951,"Acceleration":11,"Year":"1973-01-01","Origin":"USA"},{"Name":"amc ambassador brougham","Miles_per_Gallon":13,"Cylinders":8,"Displacement":360,"Horsepower":175,"Weight_in_lbs":3821,"Acceleration":11,"Year":"1973-01-01","Origin":"USA"},{"Name":"plymouth valiant","Miles_per_Gallon":18,"Cylinders":6,"Displacement":225,"Horsepower":105,"Weight_in_lbs":3121,"Acceleration":16.5,"Year":"1973-01-01","Origin":"USA"},{"Name":"chevrolet nova custom","Miles_per_Gallon":16,"Cylinders":6,"Displacement":250,"Horsepower":100,"Weight_in_lbs":3278,"Acceleration":18,"Year":"1973-01-01","Origin":"USA"},{"Name":"amc hornet","Miles_per_Gallon":18,"Cylinders":6,"Displacement":232,"Horsepower":100,"Weight_in_lbs":2945,"Acceleration":16,"Year":"1973-01-01","Origin":"USA"},{"Name":"ford maverick","Miles_per_Gallon":18,"Cylinders":6,"Displacement":250,"Horsepower":88,"Weight_in_lbs":3021,"Acceleration":16.5,"Year":"1973-01-01","Origin":"USA"},{"Name":"plymouth duster","Miles_per_Gallon":23,"Cylinders":6,"Displacement":198,"Horsepower":95,"Weight_in_lbs":2904,"Acceleration":16,"Year":"1973-01-01","Origin":"USA"},{"Name":"volkswagen super beetle","Miles_per_Gallon":26,"Cylinders":4,"Displacement":97,"Horsepower":46,"Weight_in_lbs":1950,"Acceleration":21,"Year":"1973-01-01","Origin":"Europe"},{"Name":"chevrolet impala","Miles_per_Gallon":11,"Cylinders":8,"Displacement":400,"Horsepower":150,"Weight_in_lbs":4997,"Acceleration":14,"Year":"1973-01-01","Origin":"USA"},{"Name":"ford country","Miles_per_Gallon":12,"Cylinders":8,"Displacement":400,"Horsepower":167,"Weight_in_lbs":4906,"Acceleration":12.5,"Year":"1973-01-01","Origin":"USA"},{"Name":"plymouth custom suburb","Miles_per_Gallon":13,"Cylinders":8,"Displacement":360,"Horsepower":170,"Weight_in_lbs":4654,"Acceleration":13,"Year":"1973-01-01","Origin":"USA"},{"Name":"oldsmobile vista cruiser","Miles_per_Gallon":12,"Cylinders":8,"Displacement":350,"Horsepower":180,"Weight_in_lbs":4499,"Acceleration":12.5,"Year":"1973-01-01","Origin":"USA"},{"Name":"amc gremlin","Miles_per_Gallon":18,"Cylinders":6,"Displacement":232,"Horsepower":100,"Weight_in_lbs":2789,"Acceleration":15,"Year":"1973-01-01","Origin":"USA"},{"Name":"toyota carina","Miles_per_Gallon":20,"Cylinders":4,"Displacement":97,"Horsepower":88,"Weight_in_lbs":2279,"Acceleration":19,"Year":"1973-01-01","Origin":"Japan"},{"Name":"chevrolet vega","Miles_per_Gallon":21,"Cylinders":4,"Displacement":140,"Horsepower":72,"Weight_in_lbs":2401,"Acceleration":19.5,"Year":"1973-01-01","Origin":"USA"},{"Name":"datsun 610","Miles_per_Gallon":22,"Cylinders":4,"Displacement":108,"Horsepower":94,"Weight_in_lbs":2379,"Acceleration":16.5,"Year":"1973-01-01","Origin":"Japan"},{"Name":"maxda rx3","Miles_per_Gallon":18,"Cylinders":3,"Displacement":70,"Horsepower":90,"Weight_in_lbs":2124,"Acceleration":13.5,"Year":"1973-01-01","Origin":"Japan"},{"Name":"ford pinto","Miles_per_Gallon":19,"Cylinders":4,"Displacement":122,"Horsepower":85,"Weight_in_lbs":2310,"Acceleration":18.5,"Year":"1973-01-01","Origin":"USA"},{"Name":"mercury capri v6","Miles_per_Gallon":21,"Cylinders":6,"Displacement":155,"Horsepower":107,"Weight_in_lbs":2472,"Acceleration":14,"Year":"1973-01-01","Origin":"USA"},{"Name":"fiat 124 sport coupe","Miles_per_Gallon":26,"Cylinders":4,"Displacement":98,"Horsepower":90,"Weight_in_lbs":2265,"Acceleration":15.5,"Year":"1973-01-01","Origin":"Europe"},{"Name":"chevrolet monte carlo s","Miles_per_Gallon":15,"Cylinders":8,"Displacement":350,"Horsepower":145,"Weight_in_lbs":4082,"Acceleration":13,"Year":"1973-01-01","Origin":"USA"},{"Name":"pontiac grand prix","Miles_per_Gallon":16,"Cylinders":8,"Displacement":400,"Horsepower":230,"Weight_in_lbs":4278,"Acceleration":9.5,"Year":"1973-01-01","Origin":"USA"},{"Name":"fiat 128","Miles_per_Gallon":29,"Cylinders":4,"Displacement":68,"Horsepower":49,"Weight_in_lbs":1867,"Acceleration":19.5,"Year":"1973-01-01","Origin":"Europe"},{"Name":"opel manta","Miles_per_Gallon":24,"Cylinders":4,"Displacement":116,"Horsepower":75,"Weight_in_lbs":2158,"Acceleration":15.5,"Year":"1973-01-01","Origin":"Europe"},{"Name":"audi 100ls","Miles_per_Gallon":20,"Cylinders":4,"Displacement":114,"Horsepower":91,"Weight_in_lbs":2582,"Acceleration":14,"Year":"1973-01-01","Origin":"Europe"},{"Name":"volvo 144ea","Miles_per_Gallon":19,"Cylinders":4,"Displacement":121,"Horsepower":112,"Weight_in_lbs":2868,"Acceleration":15.5,"Year":"1973-01-01","Origin":"Europe"},{"Name":"dodge dart custom","Miles_per_Gallon":15,"Cylinders":8,"Displacement":318,"Horsepower":150,"Weight_in_lbs":3399,"Acceleration":11,"Year":"1973-01-01","Origin":"USA"},{"Name":"saab 99le","Miles_per_Gallon":24,"Cylinders":4,"Displacement":121,"Horsepower":110,"Weight_in_lbs":2660,"Acceleration":14,"Year":"1973-01-01","Origin":"Europe"},{"Name":"toyota mark ii","Miles_per_Gallon":20,"Cylinders":6,"Displacement":156,"Horsepower":122,"Weight_in_lbs":2807,"Acceleration":13.5,"Year":"1973-01-01","Origin":"Japan"},{"Name":"oldsmobile omega","Miles_per_Gallon":11,"Cylinders":8,"Displacement":350,"Horsepower":180,"Weight_in_lbs":3664,"Acceleration":11,"Year":"1973-01-01","Origin":"USA"},{"Name":"plymouth duster","Miles_per_Gallon":20,"Cylinders":6,"Displacement":198,"Horsepower":95,"Weight_in_lbs":3102,"Acceleration":16.5,"Year":"1974-01-01","Origin":"USA"},{"Name":"ford maverick","Miles_per_Gallon":21,"Cylinders":6,"Displacement":200,"Horsepower":null,"Weight_in_lbs":2875,"Acceleration":17,"Year":"1974-01-01","Origin":"USA"},{"Name":"amc hornet","Miles_per_Gallon":19,"Cylinders":6,"Displacement":232,"Horsepower":100,"Weight_in_lbs":2901,"Acceleration":16,"Year":"1974-01-01","Origin":"USA"},{"Name":"chevrolet nova","Miles_per_Gallon":15,"Cylinders":6,"Displacement":250,"Horsepower":100,"Weight_in_lbs":3336,"Acceleration":17,"Year":"1974-01-01","Origin":"USA"},{"Name":"datsun b210","Miles_per_Gallon":31,"Cylinders":4,"Displacement":79,"Horsepower":67,"Weight_in_lbs":1950,"Acceleration":19,"Year":"1974-01-01","Origin":"Japan"},{"Name":"ford pinto","Miles_per_Gallon":26,"Cylinders":4,"Displacement":122,"Horsepower":80,"Weight_in_lbs":2451,"Acceleration":16.5,"Year":"1974-01-01","Origin":"USA"},{"Name":"toyota corolla 1200","Miles_per_Gallon":32,"Cylinders":4,"Displacement":71,"Horsepower":65,"Weight_in_lbs":1836,"Acceleration":21,"Year":"1974-01-01","Origin":"Japan"},{"Name":"chevrolet vega","Miles_per_Gallon":25,"Cylinders":4,"Displacement":140,"Horsepower":75,"Weight_in_lbs":2542,"Acceleration":17,"Year":"1974-01-01","Origin":"USA"},{"Name":"chevrolet chevelle malibu classic","Miles_per_Gallon":16,"Cylinders":6,"Displacement":250,"Horsepower":100,"Weight_in_lbs":3781,"Acceleration":17,"Year":"1974-01-01","Origin":"USA"},{"Name":"amc matador","Miles_per_Gallon":16,"Cylinders":6,"Displacement":258,"Horsepower":110,"Weight_in_lbs":3632,"Acceleration":18,"Year":"1974-01-01","Origin":"USA"},{"Name":"plymouth satellite sebring","Miles_per_Gallon":18,"Cylinders":6,"Displacement":225,"Horsepower":105,"Weight_in_lbs":3613,"Acceleration":16.5,"Year":"1974-01-01","Origin":"USA"},{"Name":"ford gran torino","Miles_per_Gallon":16,"Cylinders":8,"Displacement":302,"Horsepower":140,"Weight_in_lbs":4141,"Acceleration":14,"Year":"1974-01-01","Origin":"USA"},{"Name":"buick century luxus (sw)","Miles_per_Gallon":13,"Cylinders":8,"Displacement":350,"Horsepower":150,"Weight_in_lbs":4699,"Acceleration":14.5,"Year":"1974-01-01","Origin":"USA"},{"Name":"dodge coronet custom (sw)","Miles_per_Gallon":14,"Cylinders":8,"Displacement":318,"Horsepower":150,"Weight_in_lbs":4457,"Acceleration":13.5,"Year":"1974-01-01","Origin":"USA"},{"Name":"ford gran torino (sw)","Miles_per_Gallon":14,"Cylinders":8,"Displacement":302,"Horsepower":140,"Weight_in_lbs":4638,"Acceleration":16,"Year":"1974-01-01","Origin":"USA"},{"Name":"amc matador (sw)","Miles_per_Gallon":14,"Cylinders":8,"Displacement":304,"Horsepower":150,"Weight_in_lbs":4257,"Acceleration":15.5,"Year":"1974-01-01","Origin":"USA"},{"Name":"audi fox","Miles_per_Gallon":29,"Cylinders":4,"Displacement":98,"Horsepower":83,"Weight_in_lbs":2219,"Acceleration":16.5,"Year":"1974-01-01","Origin":"Europe"},{"Name":"volkswagen dasher","Miles_per_Gallon":26,"Cylinders":4,"Displacement":79,"Horsepower":67,"Weight_in_lbs":1963,"Acceleration":15.5,"Year":"1974-01-01","Origin":"Europe"},{"Name":"opel manta","Miles_per_Gallon":26,"Cylinders":4,"Displacement":97,"Horsepower":78,"Weight_in_lbs":2300,"Acceleration":14.5,"Year":"1974-01-01","Origin":"Europe"},{"Name":"toyota corona","Miles_per_Gallon":31,"Cylinders":4,"Displacement":76,"Horsepower":52,"Weight_in_lbs":1649,"Acceleration":16.5,"Year":"1974-01-01","Origin":"Japan"},{"Name":"datsun 710","Miles_per_Gallon":32,"Cylinders":4,"Displacement":83,"Horsepower":61,"Weight_in_lbs":2003,"Acceleration":19,"Year":"1974-01-01","Origin":"Japan"},{"Name":"dodge colt","Miles_per_Gallon":28,"Cylinders":4,"Displacement":90,"Horsepower":75,"Weight_in_lbs":2125,"Acceleration":14.5,"Year":"1974-01-01","Origin":"USA"},{"Name":"fiat 128","Miles_per_Gallon":24,"Cylinders":4,"Displacement":90,"Horsepower":75,"Weight_in_lbs":2108,"Acceleration":15.5,"Year":"1974-01-01","Origin":"Europe"},{"Name":"fiat 124 tc","Miles_per_Gallon":26,"Cylinders":4,"Displacement":116,"Horsepower":75,"Weight_in_lbs":2246,"Acceleration":14,"Year":"1974-01-01","Origin":"Europe"},{"Name":"honda civic","Miles_per_Gallon":24,"Cylinders":4,"Displacement":120,"Horsepower":97,"Weight_in_lbs":2489,"Acceleration":15,"Year":"1974-01-01","Origin":"Japan"},{"Name":"subaru","Miles_per_Gallon":26,"Cylinders":4,"Displacement":108,"Horsepower":93,"Weight_in_lbs":2391,"Acceleration":15.5,"Year":"1974-01-01","Origin":"Japan"},{"Name":"fiat x1.9","Miles_per_Gallon":31,"Cylinders":4,"Displacement":79,"Horsepower":67,"Weight_in_lbs":2000,"Acceleration":16,"Year":"1974-01-01","Origin":"Europe"},{"Name":"plymouth valiant custom","Miles_per_Gallon":19,"Cylinders":6,"Displacement":225,"Horsepower":95,"Weight_in_lbs":3264,"Acceleration":16,"Year":"1975-01-01","Origin":"USA"},{"Name":"chevrolet nova","Miles_per_Gallon":18,"Cylinders":6,"Displacement":250,"Horsepower":105,"Weight_in_lbs":3459,"Acceleration":16,"Year":"1975-01-01","Origin":"USA"},{"Name":"mercury monarch","Miles_per_Gallon":15,"Cylinders":6,"Displacement":250,"Horsepower":72,"Weight_in_lbs":3432,"Acceleration":21,"Year":"1975-01-01","Origin":"USA"},{"Name":"ford maverick","Miles_per_Gallon":15,"Cylinders":6,"Displacement":250,"Horsepower":72,"Weight_in_lbs":3158,"Acceleration":19.5,"Year":"1975-01-01","Origin":"USA"},{"Name":"pontiac catalina","Miles_per_Gallon":16,"Cylinders":8,"Displacement":400,"Horsepower":170,"Weight_in_lbs":4668,"Acceleration":11.5,"Year":"1975-01-01","Origin":"USA"},{"Name":"chevrolet bel air","Miles_per_Gallon":15,"Cylinders":8,"Displacement":350,"Horsepower":145,"Weight_in_lbs":4440,"Acceleration":14,"Year":"1975-01-01","Origin":"USA"},{"Name":"plymouth grand fury","Miles_per_Gallon":16,"Cylinders":8,"Displacement":318,"Horsepower":150,"Weight_in_lbs":4498,"Acceleration":14.5,"Year":"1975-01-01","Origin":"USA"},{"Name":"ford ltd","Miles_per_Gallon":14,"Cylinders":8,"Displacement":351,"Horsepower":148,"Weight_in_lbs":4657,"Acceleration":13.5,"Year":"1975-01-01","Origin":"USA"},{"Name":"buick century","Miles_per_Gallon":17,"Cylinders":6,"Displacement":231,"Horsepower":110,"Weight_in_lbs":3907,"Acceleration":21,"Year":"1975-01-01","Origin":"USA"},{"Name":"chevroelt chevelle malibu","Miles_per_Gallon":16,"Cylinders":6,"Displacement":250,"Horsepower":105,"Weight_in_lbs":3897,"Acceleration":18.5,"Year":"1975-01-01","Origin":"USA"},{"Name":"amc matador","Miles_per_Gallon":15,"Cylinders":6,"Displacement":258,"Horsepower":110,"Weight_in_lbs":3730,"Acceleration":19,"Year":"1975-01-01","Origin":"USA"},{"Name":"plymouth fury","Miles_per_Gallon":18,"Cylinders":6,"Displacement":225,"Horsepower":95,"Weight_in_lbs":3785,"Acceleration":19,"Year":"1975-01-01","Origin":"USA"},{"Name":"buick skyhawk","Miles_per_Gallon":21,"Cylinders":6,"Displacement":231,"Horsepower":110,"Weight_in_lbs":3039,"Acceleration":15,"Year":"1975-01-01","Origin":"USA"},{"Name":"chevrolet monza 2+2","Miles_per_Gallon":20,"Cylinders":8,"Displacement":262,"Horsepower":110,"Weight_in_lbs":3221,"Acceleration":13.5,"Year":"1975-01-01","Origin":"USA"},{"Name":"ford mustang ii","Miles_per_Gallon":13,"Cylinders":8,"Displacement":302,"Horsepower":129,"Weight_in_lbs":3169,"Acceleration":12,"Year":"1975-01-01","Origin":"USA"},{"Name":"toyota corolla","Miles_per_Gallon":29,"Cylinders":4,"Displacement":97,"Horsepower":75,"Weight_in_lbs":2171,"Acceleration":16,"Year":"1975-01-01","Origin":"Japan"},{"Name":"ford pinto","Miles_per_Gallon":23,"Cylinders":4,"Displacement":140,"Horsepower":83,"Weight_in_lbs":2639,"Acceleration":17,"Year":"1975-01-01","Origin":"USA"},{"Name":"amc gremlin","Miles_per_Gallon":20,"Cylinders":6,"Displacement":232,"Horsepower":100,"Weight_in_lbs":2914,"Acceleration":16,"Year":"1975-01-01","Origin":"USA"},{"Name":"pontiac astro","Miles_per_Gallon":23,"Cylinders":4,"Displacement":140,"Horsepower":78,"Weight_in_lbs":2592,"Acceleration":18.5,"Year":"1975-01-01","Origin":"USA"},{"Name":"toyota corona","Miles_per_Gallon":24,"Cylinders":4,"Displacement":134,"Horsepower":96,"Weight_in_lbs":2702,"Acceleration":13.5,"Year":"1975-01-01","Origin":"Japan"},{"Name":"volkswagen dasher","Miles_per_Gallon":25,"Cylinders":4,"Displacement":90,"Horsepower":71,"Weight_in_lbs":2223,"Acceleration":16.5,"Year":"1975-01-01","Origin":"Europe"},{"Name":"datsun 710","Miles_per_Gallon":24,"Cylinders":4,"Displacement":119,"Horsepower":97,"Weight_in_lbs":2545,"Acceleration":17,"Year":"1975-01-01","Origin":"Japan"},{"Name":"ford pinto","Miles_per_Gallon":18,"Cylinders":6,"Displacement":171,"Horsepower":97,"Weight_in_lbs":2984,"Acceleration":14.5,"Year":"1975-01-01","Origin":"USA"},{"Name":"volkswagen rabbit","Miles_per_Gallon":29,"Cylinders":4,"Displacement":90,"Horsepower":70,"Weight_in_lbs":1937,"Acceleration":14,"Year":"1975-01-01","Origin":"Europe"},{"Name":"amc pacer","Miles_per_Gallon":19,"Cylinders":6,"Displacement":232,"Horsepower":90,"Weight_in_lbs":3211,"Acceleration":17,"Year":"1975-01-01","Origin":"USA"},{"Name":"audi 100ls","Miles_per_Gallon":23,"Cylinders":4,"Displacement":115,"Horsepower":95,"Weight_in_lbs":2694,"Acceleration":15,"Year":"1975-01-01","Origin":"Europe"},{"Name":"peugeot 504","Miles_per_Gallon":23,"Cylinders":4,"Displacement":120,"Horsepower":88,"Weight_in_lbs":2957,"Acceleration":17,"Year":"1975-01-01","Origin":"Europe"},{"Name":"volvo 244dl","Miles_per_Gallon":22,"Cylinders":4,"Displacement":121,"Horsepower":98,"Weight_in_lbs":2945,"Acceleration":14.5,"Year":"1975-01-01","Origin":"Europe"},{"Name":"saab 99le","Miles_per_Gallon":25,"Cylinders":4,"Displacement":121,"Horsepower":115,"Weight_in_lbs":2671,"Acceleration":13.5,"Year":"1975-01-01","Origin":"Europe"},{"Name":"honda civic cvcc","Miles_per_Gallon":33,"Cylinders":4,"Displacement":91,"Horsepower":53,"Weight_in_lbs":1795,"Acceleration":17.5,"Year":"1975-01-01","Origin":"Japan"},{"Name":"fiat 131","Miles_per_Gallon":28,"Cylinders":4,"Displacement":107,"Horsepower":86,"Weight_in_lbs":2464,"Acceleration":15.5,"Year":"1976-01-01","Origin":"Europe"},{"Name":"opel 1900","Miles_per_Gallon":25,"Cylinders":4,"Displacement":116,"Horsepower":81,"Weight_in_lbs":2220,"Acceleration":16.9,"Year":"1976-01-01","Origin":"Europe"},{"Name":"capri ii","Miles_per_Gallon":25,"Cylinders":4,"Displacement":140,"Horsepower":92,"Weight_in_lbs":2572,"Acceleration":14.9,"Year":"1976-01-01","Origin":"USA"},{"Name":"dodge colt","Miles_per_Gallon":26,"Cylinders":4,"Displacement":98,"Horsepower":79,"Weight_in_lbs":2255,"Acceleration":17.7,"Year":"1976-01-01","Origin":"USA"},{"Name":"renault 12tl","Miles_per_Gallon":27,"Cylinders":4,"Displacement":101,"Horsepower":83,"Weight_in_lbs":2202,"Acceleration":15.3,"Year":"1976-01-01","Origin":"Europe"},{"Name":"chevrolet chevelle malibu classic","Miles_per_Gallon":17.5,"Cylinders":8,"Displacement":305,"Horsepower":140,"Weight_in_lbs":4215,"Acceleration":13,"Year":"1976-01-01","Origin":"USA"},{"Name":"dodge coronet brougham","Miles_per_Gallon":16,"Cylinders":8,"Displacement":318,"Horsepower":150,"Weight_in_lbs":4190,"Acceleration":13,"Year":"1976-01-01","Origin":"USA"},{"Name":"amc matador","Miles_per_Gallon":15.5,"Cylinders":8,"Displacement":304,"Horsepower":120,"Weight_in_lbs":3962,"Acceleration":13.9,"Year":"1976-01-01","Origin":"USA"},{"Name":"ford gran torino","Miles_per_Gallon":14.5,"Cylinders":8,"Displacement":351,"Horsepower":152,"Weight_in_lbs":4215,"Acceleration":12.8,"Year":"1976-01-01","Origin":"USA"},{"Name":"plymouth valiant","Miles_per_Gallon":22,"Cylinders":6,"Displacement":225,"Horsepower":100,"Weight_in_lbs":3233,"Acceleration":15.4,"Year":"1976-01-01","Origin":"USA"},{"Name":"chevrolet nova","Miles_per_Gallon":22,"Cylinders":6,"Displacement":250,"Horsepower":105,"Weight_in_lbs":3353,"Acceleration":14.5,"Year":"1976-01-01","Origin":"USA"},{"Name":"ford maverick","Miles_per_Gallon":24,"Cylinders":6,"Displacement":200,"Horsepower":81,"Weight_in_lbs":3012,"Acceleration":17.6,"Year":"1976-01-01","Origin":"USA"},{"Name":"amc hornet","Miles_per_Gallon":22.5,"Cylinders":6,"Displacement":232,"Horsepower":90,"Weight_in_lbs":3085,"Acceleration":17.6,"Year":"1976-01-01","Origin":"USA"},{"Name":"chevrolet chevette","Miles_per_Gallon":29,"Cylinders":4,"Displacement":85,"Horsepower":52,"Weight_in_lbs":2035,"Acceleration":22.2,"Year":"1976-01-01","Origin":"USA"},{"Name":"chevrolet woody","Miles_per_Gallon":24.5,"Cylinders":4,"Displacement":98,"Horsepower":60,"Weight_in_lbs":2164,"Acceleration":22.1,"Year":"1976-01-01","Origin":"USA"},{"Name":"vw rabbit","Miles_per_Gallon":29,"Cylinders":4,"Displacement":90,"Horsepower":70,"Weight_in_lbs":1937,"Acceleration":14.2,"Year":"1976-01-01","Origin":"Europe"},{"Name":"honda civic","Miles_per_Gallon":33,"Cylinders":4,"Displacement":91,"Horsepower":53,"Weight_in_lbs":1795,"Acceleration":17.4,"Year":"1976-01-01","Origin":"Japan"},{"Name":"dodge aspen se","Miles_per_Gallon":20,"Cylinders":6,"Displacement":225,"Horsepower":100,"Weight_in_lbs":3651,"Acceleration":17.7,"Year":"1976-01-01","Origin":"USA"},{"Name":"ford granada ghia","Miles_per_Gallon":18,"Cylinders":6,"Displacement":250,"Horsepower":78,"Weight_in_lbs":3574,"Acceleration":21,"Year":"1976-01-01","Origin":"USA"},{"Name":"pontiac ventura sj","Miles_per_Gallon":18.5,"Cylinders":6,"Displacement":250,"Horsepower":110,"Weight_in_lbs":3645,"Acceleration":16.2,"Year":"1976-01-01","Origin":"USA"},{"Name":"amc pacer d/l","Miles_per_Gallon":17.5,"Cylinders":6,"Displacement":258,"Horsepower":95,"Weight_in_lbs":3193,"Acceleration":17.8,"Year":"1976-01-01","Origin":"USA"},{"Name":"volkswagen rabbit","Miles_per_Gallon":29.5,"Cylinders":4,"Displacement":97,"Horsepower":71,"Weight_in_lbs":1825,"Acceleration":12.2,"Year":"1976-01-01","Origin":"Europe"},{"Name":"datsun b-210","Miles_per_Gallon":32,"Cylinders":4,"Displacement":85,"Horsepower":70,"Weight_in_lbs":1990,"Acceleration":17,"Year":"1976-01-01","Origin":"Japan"},{"Name":"toyota corolla","Miles_per_Gallon":28,"Cylinders":4,"Displacement":97,"Horsepower":75,"Weight_in_lbs":2155,"Acceleration":16.4,"Year":"1976-01-01","Origin":"Japan"},{"Name":"ford pinto","Miles_per_Gallon":26.5,"Cylinders":4,"Displacement":140,"Horsepower":72,"Weight_in_lbs":2565,"Acceleration":13.6,"Year":"1976-01-01","Origin":"USA"},{"Name":"volvo 245","Miles_per_Gallon":20,"Cylinders":4,"Displacement":130,"Horsepower":102,"Weight_in_lbs":3150,"Acceleration":15.7,"Year":"1976-01-01","Origin":"Europe"},{"Name":"plymouth volare premier v8","Miles_per_Gallon":13,"Cylinders":8,"Displacement":318,"Horsepower":150,"Weight_in_lbs":3940,"Acceleration":13.2,"Year":"1976-01-01","Origin":"USA"},{"Name":"peugeot 504","Miles_per_Gallon":19,"Cylinders":4,"Displacement":120,"Horsepower":88,"Weight_in_lbs":3270,"Acceleration":21.9,"Year":"1976-01-01","Origin":"Europe"},{"Name":"toyota mark ii","Miles_per_Gallon":19,"Cylinders":6,"Displacement":156,"Horsepower":108,"Weight_in_lbs":2930,"Acceleration":15.5,"Year":"1976-01-01","Origin":"Japan"},{"Name":"mercedes-benz 280s","Miles_per_Gallon":16.5,"Cylinders":6,"Displacement":168,"Horsepower":120,"Weight_in_lbs":3820,"Acceleration":16.7,"Year":"1976-01-01","Origin":"Europe"},{"Name":"cadillac seville","Miles_per_Gallon":16.5,"Cylinders":8,"Displacement":350,"Horsepower":180,"Weight_in_lbs":4380,"Acceleration":12.1,"Year":"1976-01-01","Origin":"USA"},{"Name":"chevy c10","Miles_per_Gallon":13,"Cylinders":8,"Displacement":350,"Horsepower":145,"Weight_in_lbs":4055,"Acceleration":12,"Year":"1976-01-01","Origin":"USA"},{"Name":"ford f108","Miles_per_Gallon":13,"Cylinders":8,"Displacement":302,"Horsepower":130,"Weight_in_lbs":3870,"Acceleration":15,"Year":"1976-01-01","Origin":"USA"},{"Name":"dodge d100","Miles_per_Gallon":13,"Cylinders":8,"Displacement":318,"Horsepower":150,"Weight_in_lbs":3755,"Acceleration":14,"Year":"1976-01-01","Origin":"USA"},{"Name":"honda Accelerationord cvcc","Miles_per_Gallon":31.5,"Cylinders":4,"Displacement":98,"Horsepower":68,"Weight_in_lbs":2045,"Acceleration":18.5,"Year":"1977-01-01","Origin":"Japan"},{"Name":"buick opel isuzu deluxe","Miles_per_Gallon":30,"Cylinders":4,"Displacement":111,"Horsepower":80,"Weight_in_lbs":2155,"Acceleration":14.8,"Year":"1977-01-01","Origin":"USA"},{"Name":"renault 5 gtl","Miles_per_Gallon":36,"Cylinders":4,"Displacement":79,"Horsepower":58,"Weight_in_lbs":1825,"Acceleration":18.6,"Year":"1977-01-01","Origin":"Europe"},{"Name":"plymouth arrow gs","Miles_per_Gallon":25.5,"Cylinders":4,"Displacement":122,"Horsepower":96,"Weight_in_lbs":2300,"Acceleration":15.5,"Year":"1977-01-01","Origin":"USA"},{"Name":"datsun f-10 hatchback","Miles_per_Gallon":33.5,"Cylinders":4,"Displacement":85,"Horsepower":70,"Weight_in_lbs":1945,"Acceleration":16.8,"Year":"1977-01-01","Origin":"Japan"},{"Name":"chevrolet caprice classic","Miles_per_Gallon":17.5,"Cylinders":8,"Displacement":305,"Horsepower":145,"Weight_in_lbs":3880,"Acceleration":12.5,"Year":"1977-01-01","Origin":"USA"},{"Name":"oldsmobile cutlass supreme","Miles_per_Gallon":17,"Cylinders":8,"Displacement":260,"Horsepower":110,"Weight_in_lbs":4060,"Acceleration":19,"Year":"1977-01-01","Origin":"USA"},{"Name":"dodge monaco brougham","Miles_per_Gallon":15.5,"Cylinders":8,"Displacement":318,"Horsepower":145,"Weight_in_lbs":4140,"Acceleration":13.7,"Year":"1977-01-01","Origin":"USA"},{"Name":"mercury cougar brougham","Miles_per_Gallon":15,"Cylinders":8,"Displacement":302,"Horsepower":130,"Weight_in_lbs":4295,"Acceleration":14.9,"Year":"1977-01-01","Origin":"USA"},{"Name":"chevrolet concours","Miles_per_Gallon":17.5,"Cylinders":6,"Displacement":250,"Horsepower":110,"Weight_in_lbs":3520,"Acceleration":16.4,"Year":"1977-01-01","Origin":"USA"},{"Name":"buick skylark","Miles_per_Gallon":20.5,"Cylinders":6,"Displacement":231,"Horsepower":105,"Weight_in_lbs":3425,"Acceleration":16.9,"Year":"1977-01-01","Origin":"USA"},{"Name":"plymouth volare custom","Miles_per_Gallon":19,"Cylinders":6,"Displacement":225,"Horsepower":100,"Weight_in_lbs":3630,"Acceleration":17.7,"Year":"1977-01-01","Origin":"USA"},{"Name":"ford granada","Miles_per_Gallon":18.5,"Cylinders":6,"Displacement":250,"Horsepower":98,"Weight_in_lbs":3525,"Acceleration":19,"Year":"1977-01-01","Origin":"USA"},{"Name":"pontiac grand prix lj","Miles_per_Gallon":16,"Cylinders":8,"Displacement":400,"Horsepower":180,"Weight_in_lbs":4220,"Acceleration":11.1,"Year":"1977-01-01","Origin":"USA"},{"Name":"chevrolet monte carlo landau","Miles_per_Gallon":15.5,"Cylinders":8,"Displacement":350,"Horsepower":170,"Weight_in_lbs":4165,"Acceleration":11.4,"Year":"1977-01-01","Origin":"USA"},{"Name":"chrysler cordoba","Miles_per_Gallon":15.5,"Cylinders":8,"Displacement":400,"Horsepower":190,"Weight_in_lbs":4325,"Acceleration":12.2,"Year":"1977-01-01","Origin":"USA"},{"Name":"ford thunderbird","Miles_per_Gallon":16,"Cylinders":8,"Displacement":351,"Horsepower":149,"Weight_in_lbs":4335,"Acceleration":14.5,"Year":"1977-01-01","Origin":"USA"},{"Name":"volkswagen rabbit custom","Miles_per_Gallon":29,"Cylinders":4,"Displacement":97,"Horsepower":78,"Weight_in_lbs":1940,"Acceleration":14.5,"Year":"1977-01-01","Origin":"Europe"},{"Name":"pontiac sunbird coupe","Miles_per_Gallon":24.5,"Cylinders":4,"Displacement":151,"Horsepower":88,"Weight_in_lbs":2740,"Acceleration":16,"Year":"1977-01-01","Origin":"USA"},{"Name":"toyota corolla liftback","Miles_per_Gallon":26,"Cylinders":4,"Displacement":97,"Horsepower":75,"Weight_in_lbs":2265,"Acceleration":18.2,"Year":"1977-01-01","Origin":"Japan"},{"Name":"ford mustang ii 2+2","Miles_per_Gallon":25.5,"Cylinders":4,"Displacement":140,"Horsepower":89,"Weight_in_lbs":2755,"Acceleration":15.8,"Year":"1977-01-01","Origin":"USA"},{"Name":"chevrolet chevette","Miles_per_Gallon":30.5,"Cylinders":4,"Displacement":98,"Horsepower":63,"Weight_in_lbs":2051,"Acceleration":17,"Year":"1977-01-01","Origin":"USA"},{"Name":"dodge colt m/m","Miles_per_Gallon":33.5,"Cylinders":4,"Displacement":98,"Horsepower":83,"Weight_in_lbs":2075,"Acceleration":15.9,"Year":"1977-01-01","Origin":"USA"},{"Name":"subaru dl","Miles_per_Gallon":30,"Cylinders":4,"Displacement":97,"Horsepower":67,"Weight_in_lbs":1985,"Acceleration":16.4,"Year":"1977-01-01","Origin":"Japan"},{"Name":"volkswagen dasher","Miles_per_Gallon":30.5,"Cylinders":4,"Displacement":97,"Horsepower":78,"Weight_in_lbs":2190,"Acceleration":14.1,"Year":"1977-01-01","Origin":"Europe"},{"Name":"datsun 810","Miles_per_Gallon":22,"Cylinders":6,"Displacement":146,"Horsepower":97,"Weight_in_lbs":2815,"Acceleration":14.5,"Year":"1977-01-01","Origin":"Japan"},{"Name":"bmw 320i","Miles_per_Gallon":21.5,"Cylinders":4,"Displacement":121,"Horsepower":110,"Weight_in_lbs":2600,"Acceleration":12.8,"Year":"1977-01-01","Origin":"Europe"},{"Name":"mazda rx-4","Miles_per_Gallon":21.5,"Cylinders":3,"Displacement":80,"Horsepower":110,"Weight_in_lbs":2720,"Acceleration":13.5,"Year":"1977-01-01","Origin":"Japan"},{"Name":"volkswagen rabbit custom diesel","Miles_per_Gallon":43.1,"Cylinders":4,"Displacement":90,"Horsepower":48,"Weight_in_lbs":1985,"Acceleration":21.5,"Year":"1978-01-01","Origin":"Europe"},{"Name":"ford fiesta","Miles_per_Gallon":36.1,"Cylinders":4,"Displacement":98,"Horsepower":66,"Weight_in_lbs":1800,"Acceleration":14.4,"Year":"1978-01-01","Origin":"USA"},{"Name":"mazda glc deluxe","Miles_per_Gallon":32.8,"Cylinders":4,"Displacement":78,"Horsepower":52,"Weight_in_lbs":1985,"Acceleration":19.4,"Year":"1978-01-01","Origin":"Japan"},{"Name":"datsun b210 gx","Miles_per_Gallon":39.4,"Cylinders":4,"Displacement":85,"Horsepower":70,"Weight_in_lbs":2070,"Acceleration":18.6,"Year":"1978-01-01","Origin":"Japan"},{"Name":"honda civic cvcc","Miles_per_Gallon":36.1,"Cylinders":4,"Displacement":91,"Horsepower":60,"Weight_in_lbs":1800,"Acceleration":16.4,"Year":"1978-01-01","Origin":"Japan"},{"Name":"oldsmobile cutlass salon brougham","Miles_per_Gallon":19.9,"Cylinders":8,"Displacement":260,"Horsepower":110,"Weight_in_lbs":3365,"Acceleration":15.5,"Year":"1978-01-01","Origin":"USA"},{"Name":"dodge diplomat","Miles_per_Gallon":19.4,"Cylinders":8,"Displacement":318,"Horsepower":140,"Weight_in_lbs":3735,"Acceleration":13.2,"Year":"1978-01-01","Origin":"USA"},{"Name":"mercury monarch ghia","Miles_per_Gallon":20.2,"Cylinders":8,"Displacement":302,"Horsepower":139,"Weight_in_lbs":3570,"Acceleration":12.8,"Year":"1978-01-01","Origin":"USA"},{"Name":"pontiac phoenix lj","Miles_per_Gallon":19.2,"Cylinders":6,"Displacement":231,"Horsepower":105,"Weight_in_lbs":3535,"Acceleration":19.2,"Year":"1978-01-01","Origin":"USA"},{"Name":"chevrolet malibu","Miles_per_Gallon":20.5,"Cylinders":6,"Displacement":200,"Horsepower":95,"Weight_in_lbs":3155,"Acceleration":18.2,"Year":"1978-01-01","Origin":"USA"},{"Name":"ford fairmont (auto)","Miles_per_Gallon":20.2,"Cylinders":6,"Displacement":200,"Horsepower":85,"Weight_in_lbs":2965,"Acceleration":15.8,"Year":"1978-01-01","Origin":"USA"},{"Name":"ford fairmont (man)","Miles_per_Gallon":25.1,"Cylinders":4,"Displacement":140,"Horsepower":88,"Weight_in_lbs":2720,"Acceleration":15.4,"Year":"1978-01-01","Origin":"USA"},{"Name":"plymouth volare","Miles_per_Gallon":20.5,"Cylinders":6,"Displacement":225,"Horsepower":100,"Weight_in_lbs":3430,"Acceleration":17.2,"Year":"1978-01-01","Origin":"USA"},{"Name":"amc concord","Miles_per_Gallon":19.4,"Cylinders":6,"Displacement":232,"Horsepower":90,"Weight_in_lbs":3210,"Acceleration":17.2,"Year":"1978-01-01","Origin":"USA"},{"Name":"buick century special","Miles_per_Gallon":20.6,"Cylinders":6,"Displacement":231,"Horsepower":105,"Weight_in_lbs":3380,"Acceleration":15.8,"Year":"1978-01-01","Origin":"USA"},{"Name":"mercury zephyr","Miles_per_Gallon":20.8,"Cylinders":6,"Displacement":200,"Horsepower":85,"Weight_in_lbs":3070,"Acceleration":16.7,"Year":"1978-01-01","Origin":"USA"},{"Name":"dodge aspen","Miles_per_Gallon":18.6,"Cylinders":6,"Displacement":225,"Horsepower":110,"Weight_in_lbs":3620,"Acceleration":18.7,"Year":"1978-01-01","Origin":"USA"},{"Name":"amc concord d/l","Miles_per_Gallon":18.1,"Cylinders":6,"Displacement":258,"Horsepower":120,"Weight_in_lbs":3410,"Acceleration":15.1,"Year":"1978-01-01","Origin":"USA"},{"Name":"chevrolet monte carlo landau","Miles_per_Gallon":19.2,"Cylinders":8,"Displacement":305,"Horsepower":145,"Weight_in_lbs":3425,"Acceleration":13.2,"Year":"1978-01-01","Origin":"USA"},{"Name":"buick regal sport coupe (turbo)","Miles_per_Gallon":17.7,"Cylinders":6,"Displacement":231,"Horsepower":165,"Weight_in_lbs":3445,"Acceleration":13.4,"Year":"1978-01-01","Origin":"USA"},{"Name":"ford futura","Miles_per_Gallon":18.1,"Cylinders":8,"Displacement":302,"Horsepower":139,"Weight_in_lbs":3205,"Acceleration":11.2,"Year":"1978-01-01","Origin":"USA"},{"Name":"dodge magnum xe","Miles_per_Gallon":17.5,"Cylinders":8,"Displacement":318,"Horsepower":140,"Weight_in_lbs":4080,"Acceleration":13.7,"Year":"1978-01-01","Origin":"USA"},{"Name":"chevrolet chevette","Miles_per_Gallon":30,"Cylinders":4,"Displacement":98,"Horsepower":68,"Weight_in_lbs":2155,"Acceleration":16.5,"Year":"1978-01-01","Origin":"USA"},{"Name":"toyota corona","Miles_per_Gallon":27.5,"Cylinders":4,"Displacement":134,"Horsepower":95,"Weight_in_lbs":2560,"Acceleration":14.2,"Year":"1978-01-01","Origin":"Japan"},{"Name":"datsun 510","Miles_per_Gallon":27.2,"Cylinders":4,"Displacement":119,"Horsepower":97,"Weight_in_lbs":2300,"Acceleration":14.7,"Year":"1978-01-01","Origin":"Japan"},{"Name":"dodge omni","Miles_per_Gallon":30.9,"Cylinders":4,"Displacement":105,"Horsepower":75,"Weight_in_lbs":2230,"Acceleration":14.5,"Year":"1978-01-01","Origin":"USA"},{"Name":"toyota celica gt liftback","Miles_per_Gallon":21.1,"Cylinders":4,"Displacement":134,"Horsepower":95,"Weight_in_lbs":2515,"Acceleration":14.8,"Year":"1978-01-01","Origin":"Japan"},{"Name":"plymouth sapporo","Miles_per_Gallon":23.2,"Cylinders":4,"Displacement":156,"Horsepower":105,"Weight_in_lbs":2745,"Acceleration":16.7,"Year":"1978-01-01","Origin":"USA"},{"Name":"oldsmobile starfire sx","Miles_per_Gallon":23.8,"Cylinders":4,"Displacement":151,"Horsepower":85,"Weight_in_lbs":2855,"Acceleration":17.6,"Year":"1978-01-01","Origin":"USA"},{"Name":"datsun 200-sx","Miles_per_Gallon":23.9,"Cylinders":4,"Displacement":119,"Horsepower":97,"Weight_in_lbs":2405,"Acceleration":14.9,"Year":"1978-01-01","Origin":"Japan"},{"Name":"audi 5000","Miles_per_Gallon":20.3,"Cylinders":5,"Displacement":131,"Horsepower":103,"Weight_in_lbs":2830,"Acceleration":15.9,"Year":"1978-01-01","Origin":"Europe"},{"Name":"volvo 264gl","Miles_per_Gallon":17,"Cylinders":6,"Displacement":163,"Horsepower":125,"Weight_in_lbs":3140,"Acceleration":13.6,"Year":"1978-01-01","Origin":"Europe"},{"Name":"saab 99gle","Miles_per_Gallon":21.6,"Cylinders":4,"Displacement":121,"Horsepower":115,"Weight_in_lbs":2795,"Acceleration":15.7,"Year":"1978-01-01","Origin":"Europe"},{"Name":"peugeot 604sl","Miles_per_Gallon":16.2,"Cylinders":6,"Displacement":163,"Horsepower":133,"Weight_in_lbs":3410,"Acceleration":15.8,"Year":"1978-01-01","Origin":"Europe"},{"Name":"volkswagen scirocco","Miles_per_Gallon":31.5,"Cylinders":4,"Displacement":89,"Horsepower":71,"Weight_in_lbs":1990,"Acceleration":14.9,"Year":"1978-01-01","Origin":"Europe"},{"Name":"honda Accelerationord lx","Miles_per_Gallon":29.5,"Cylinders":4,"Displacement":98,"Horsepower":68,"Weight_in_lbs":2135,"Acceleration":16.6,"Year":"1978-01-01","Origin":"Japan"},{"Name":"pontiac lemans v6","Miles_per_Gallon":21.5,"Cylinders":6,"Displacement":231,"Horsepower":115,"Weight_in_lbs":3245,"Acceleration":15.4,"Year":"1979-01-01","Origin":"USA"},{"Name":"mercury zephyr 6","Miles_per_Gallon":19.8,"Cylinders":6,"Displacement":200,"Horsepower":85,"Weight_in_lbs":2990,"Acceleration":18.2,"Year":"1979-01-01","Origin":"USA"},{"Name":"ford fairmont 4","Miles_per_Gallon":22.3,"Cylinders":4,"Displacement":140,"Horsepower":88,"Weight_in_lbs":2890,"Acceleration":17.3,"Year":"1979-01-01","Origin":"USA"},{"Name":"amc concord dl 6","Miles_per_Gallon":20.2,"Cylinders":6,"Displacement":232,"Horsepower":90,"Weight_in_lbs":3265,"Acceleration":18.2,"Year":"1979-01-01","Origin":"USA"},{"Name":"dodge aspen 6","Miles_per_Gallon":20.6,"Cylinders":6,"Displacement":225,"Horsepower":110,"Weight_in_lbs":3360,"Acceleration":16.6,"Year":"1979-01-01","Origin":"USA"},{"Name":"chevrolet caprice classic","Miles_per_Gallon":17,"Cylinders":8,"Displacement":305,"Horsepower":130,"Weight_in_lbs":3840,"Acceleration":15.4,"Year":"1979-01-01","Origin":"USA"},{"Name":"ford ltd landau","Miles_per_Gallon":17.6,"Cylinders":8,"Displacement":302,"Horsepower":129,"Weight_in_lbs":3725,"Acceleration":13.4,"Year":"1979-01-01","Origin":"USA"},{"Name":"mercury grand marquis","Miles_per_Gallon":16.5,"Cylinders":8,"Displacement":351,"Horsepower":138,"Weight_in_lbs":3955,"Acceleration":13.2,"Year":"1979-01-01","Origin":"USA"},{"Name":"dodge st. regis","Miles_per_Gallon":18.2,"Cylinders":8,"Displacement":318,"Horsepower":135,"Weight_in_lbs":3830,"Acceleration":15.2,"Year":"1979-01-01","Origin":"USA"},{"Name":"buick estate wagon (sw)","Miles_per_Gallon":16.9,"Cylinders":8,"Displacement":350,"Horsepower":155,"Weight_in_lbs":4360,"Acceleration":14.9,"Year":"1979-01-01","Origin":"USA"},{"Name":"ford country squire (sw)","Miles_per_Gallon":15.5,"Cylinders":8,"Displacement":351,"Horsepower":142,"Weight_in_lbs":4054,"Acceleration":14.3,"Year":"1979-01-01","Origin":"USA"},{"Name":"chevrolet malibu classic (sw)","Miles_per_Gallon":19.2,"Cylinders":8,"Displacement":267,"Horsepower":125,"Weight_in_lbs":3605,"Acceleration":15,"Year":"1979-01-01","Origin":"USA"},{"Name":"chrysler lebaron town @ country (sw)","Miles_per_Gallon":18.5,"Cylinders":8,"Displacement":360,"Horsepower":150,"Weight_in_lbs":3940,"Acceleration":13,"Year":"1979-01-01","Origin":"USA"},{"Name":"vw rabbit custom","Miles_per_Gallon":31.9,"Cylinders":4,"Displacement":89,"Horsepower":71,"Weight_in_lbs":1925,"Acceleration":14,"Year":"1979-01-01","Origin":"Europe"},{"Name":"maxda glc deluxe","Miles_per_Gallon":34.1,"Cylinders":4,"Displacement":86,"Horsepower":65,"Weight_in_lbs":1975,"Acceleration":15.2,"Year":"1979-01-01","Origin":"Japan"},{"Name":"dodge colt hatchback custom","Miles_per_Gallon":35.7,"Cylinders":4,"Displacement":98,"Horsepower":80,"Weight_in_lbs":1915,"Acceleration":14.4,"Year":"1979-01-01","Origin":"USA"},{"Name":"amc spirit dl","Miles_per_Gallon":27.4,"Cylinders":4,"Displacement":121,"Horsepower":80,"Weight_in_lbs":2670,"Acceleration":15,"Year":"1979-01-01","Origin":"USA"},{"Name":"mercedes benz 300d","Miles_per_Gallon":25.4,"Cylinders":5,"Displacement":183,"Horsepower":77,"Weight_in_lbs":3530,"Acceleration":20.1,"Year":"1979-01-01","Origin":"Europe"},{"Name":"cadillac eldorado","Miles_per_Gallon":23,"Cylinders":8,"Displacement":350,"Horsepower":125,"Weight_in_lbs":3900,"Acceleration":17.4,"Year":"1979-01-01","Origin":"USA"},{"Name":"peugeot 504","Miles_per_Gallon":27.2,"Cylinders":4,"Displacement":141,"Horsepower":71,"Weight_in_lbs":3190,"Acceleration":24.8,"Year":"1979-01-01","Origin":"Europe"},{"Name":"oldsmobile cutlass salon brougham","Miles_per_Gallon":23.9,"Cylinders":8,"Displacement":260,"Horsepower":90,"Weight_in_lbs":3420,"Acceleration":22.2,"Year":"1979-01-01","Origin":"USA"},{"Name":"plymouth horizon","Miles_per_Gallon":34.2,"Cylinders":4,"Displacement":105,"Horsepower":70,"Weight_in_lbs":2200,"Acceleration":13.2,"Year":"1979-01-01","Origin":"USA"},{"Name":"plymouth horizon tc3","Miles_per_Gallon":34.5,"Cylinders":4,"Displacement":105,"Horsepower":70,"Weight_in_lbs":2150,"Acceleration":14.9,"Year":"1979-01-01","Origin":"USA"},{"Name":"datsun 210","Miles_per_Gallon":31.8,"Cylinders":4,"Displacement":85,"Horsepower":65,"Weight_in_lbs":2020,"Acceleration":19.2,"Year":"1979-01-01","Origin":"Japan"},{"Name":"fiat strada custom","Miles_per_Gallon":37.3,"Cylinders":4,"Displacement":91,"Horsepower":69,"Weight_in_lbs":2130,"Acceleration":14.7,"Year":"1979-01-01","Origin":"Europe"},{"Name":"buick skylark limited","Miles_per_Gallon":28.4,"Cylinders":4,"Displacement":151,"Horsepower":90,"Weight_in_lbs":2670,"Acceleration":16,"Year":"1979-01-01","Origin":"USA"},{"Name":"chevrolet citation","Miles_per_Gallon":28.8,"Cylinders":6,"Displacement":173,"Horsepower":115,"Weight_in_lbs":2595,"Acceleration":11.3,"Year":"1979-01-01","Origin":"USA"},{"Name":"oldsmobile omega brougham","Miles_per_Gallon":26.8,"Cylinders":6,"Displacement":173,"Horsepower":115,"Weight_in_lbs":2700,"Acceleration":12.9,"Year":"1979-01-01","Origin":"USA"},{"Name":"pontiac phoenix","Miles_per_Gallon":33.5,"Cylinders":4,"Displacement":151,"Horsepower":90,"Weight_in_lbs":2556,"Acceleration":13.2,"Year":"1979-01-01","Origin":"USA"},{"Name":"vw rabbit","Miles_per_Gallon":41.5,"Cylinders":4,"Displacement":98,"Horsepower":76,"Weight_in_lbs":2144,"Acceleration":14.7,"Year":"1980-01-01","Origin":"Europe"},{"Name":"toyota corolla tercel","Miles_per_Gallon":38.1,"Cylinders":4,"Displacement":89,"Horsepower":60,"Weight_in_lbs":1968,"Acceleration":18.8,"Year":"1980-01-01","Origin":"Japan"},{"Name":"chevrolet chevette","Miles_per_Gallon":32.1,"Cylinders":4,"Displacement":98,"Horsepower":70,"Weight_in_lbs":2120,"Acceleration":15.5,"Year":"1980-01-01","Origin":"USA"},{"Name":"datsun 310","Miles_per_Gallon":37.2,"Cylinders":4,"Displacement":86,"Horsepower":65,"Weight_in_lbs":2019,"Acceleration":16.4,"Year":"1980-01-01","Origin":"Japan"},{"Name":"chevrolet citation","Miles_per_Gallon":28,"Cylinders":4,"Displacement":151,"Horsepower":90,"Weight_in_lbs":2678,"Acceleration":16.5,"Year":"1980-01-01","Origin":"USA"},{"Name":"ford fairmont","Miles_per_Gallon":26.4,"Cylinders":4,"Displacement":140,"Horsepower":88,"Weight_in_lbs":2870,"Acceleration":18.1,"Year":"1980-01-01","Origin":"USA"},{"Name":"amc concord","Miles_per_Gallon":24.3,"Cylinders":4,"Displacement":151,"Horsepower":90,"Weight_in_lbs":3003,"Acceleration":20.1,"Year":"1980-01-01","Origin":"USA"},{"Name":"dodge aspen","Miles_per_Gallon":19.1,"Cylinders":6,"Displacement":225,"Horsepower":90,"Weight_in_lbs":3381,"Acceleration":18.7,"Year":"1980-01-01","Origin":"USA"},{"Name":"audi 4000","Miles_per_Gallon":34.3,"Cylinders":4,"Displacement":97,"Horsepower":78,"Weight_in_lbs":2188,"Acceleration":15.8,"Year":"1980-01-01","Origin":"Europe"},{"Name":"toyota corona liftback","Miles_per_Gallon":29.8,"Cylinders":4,"Displacement":134,"Horsepower":90,"Weight_in_lbs":2711,"Acceleration":15.5,"Year":"1980-01-01","Origin":"Japan"},{"Name":"mazda 626","Miles_per_Gallon":31.3,"Cylinders":4,"Displacement":120,"Horsepower":75,"Weight_in_lbs":2542,"Acceleration":17.5,"Year":"1980-01-01","Origin":"Japan"},{"Name":"datsun 510 hatchback","Miles_per_Gallon":37,"Cylinders":4,"Displacement":119,"Horsepower":92,"Weight_in_lbs":2434,"Acceleration":15,"Year":"1980-01-01","Origin":"Japan"},{"Name":"toyota corolla","Miles_per_Gallon":32.2,"Cylinders":4,"Displacement":108,"Horsepower":75,"Weight_in_lbs":2265,"Acceleration":15.2,"Year":"1980-01-01","Origin":"Japan"},{"Name":"mazda glc","Miles_per_Gallon":46.6,"Cylinders":4,"Displacement":86,"Horsepower":65,"Weight_in_lbs":2110,"Acceleration":17.9,"Year":"1980-01-01","Origin":"Japan"},{"Name":"dodge colt","Miles_per_Gallon":27.9,"Cylinders":4,"Displacement":156,"Horsepower":105,"Weight_in_lbs":2800,"Acceleration":14.4,"Year":"1980-01-01","Origin":"USA"},{"Name":"datsun 210","Miles_per_Gallon":40.8,"Cylinders":4,"Displacement":85,"Horsepower":65,"Weight_in_lbs":2110,"Acceleration":19.2,"Year":"1980-01-01","Origin":"Japan"},{"Name":"vw rabbit c (diesel)","Miles_per_Gallon":44.3,"Cylinders":4,"Displacement":90,"Horsepower":48,"Weight_in_lbs":2085,"Acceleration":21.7,"Year":"1980-01-01","Origin":"Europe"},{"Name":"vw dasher (diesel)","Miles_per_Gallon":43.4,"Cylinders":4,"Displacement":90,"Horsepower":48,"Weight_in_lbs":2335,"Acceleration":23.7,"Year":"1980-01-01","Origin":"Europe"},{"Name":"audi 5000s (diesel)","Miles_per_Gallon":36.4,"Cylinders":5,"Displacement":121,"Horsepower":67,"Weight_in_lbs":2950,"Acceleration":19.9,"Year":"1980-01-01","Origin":"Europe"},{"Name":"mercedes-benz 240d","Miles_per_Gallon":30,"Cylinders":4,"Displacement":146,"Horsepower":67,"Weight_in_lbs":3250,"Acceleration":21.8,"Year":"1980-01-01","Origin":"Europe"},{"Name":"honda civic 1500 gl","Miles_per_Gallon":44.6,"Cylinders":4,"Displacement":91,"Horsepower":67,"Weight_in_lbs":1850,"Acceleration":13.8,"Year":"1980-01-01","Origin":"Japan"},{"Name":"renault lecar deluxe","Miles_per_Gallon":40.9,"Cylinders":4,"Displacement":85,"Horsepower":null,"Weight_in_lbs":1835,"Acceleration":17.3,"Year":"1980-01-01","Origin":"Europe"},{"Name":"subaru dl","Miles_per_Gallon":33.8,"Cylinders":4,"Displacement":97,"Horsepower":67,"Weight_in_lbs":2145,"Acceleration":18,"Year":"1980-01-01","Origin":"Japan"},{"Name":"vokswagen rabbit","Miles_per_Gallon":29.8,"Cylinders":4,"Displacement":89,"Horsepower":62,"Weight_in_lbs":1845,"Acceleration":15.3,"Year":"1980-01-01","Origin":"Europe"},{"Name":"datsun 280-zx","Miles_per_Gallon":32.7,"Cylinders":6,"Displacement":168,"Horsepower":132,"Weight_in_lbs":2910,"Acceleration":11.4,"Year":"1980-01-01","Origin":"Japan"},{"Name":"mazda rx-7 gs","Miles_per_Gallon":23.7,"Cylinders":3,"Displacement":70,"Horsepower":100,"Weight_in_lbs":2420,"Acceleration":12.5,"Year":"1980-01-01","Origin":"Japan"},{"Name":"triumph tr7 coupe","Miles_per_Gallon":35,"Cylinders":4,"Displacement":122,"Horsepower":88,"Weight_in_lbs":2500,"Acceleration":15.1,"Year":"1980-01-01","Origin":"Europe"},{"Name":"ford mustang cobra","Miles_per_Gallon":23.6,"Cylinders":4,"Displacement":140,"Horsepower":null,"Weight_in_lbs":2905,"Acceleration":14.3,"Year":"1980-01-01","Origin":"USA"},{"Name":"honda Accelerationord","Miles_per_Gallon":32.4,"Cylinders":4,"Displacement":107,"Horsepower":72,"Weight_in_lbs":2290,"Acceleration":17,"Year":"1980-01-01","Origin":"Japan"},{"Name":"plymouth reliant","Miles_per_Gallon":27.2,"Cylinders":4,"Displacement":135,"Horsepower":84,"Weight_in_lbs":2490,"Acceleration":15.7,"Year":"1982-01-01","Origin":"USA"},{"Name":"buick skylark","Miles_per_Gallon":26.6,"Cylinders":4,"Displacement":151,"Horsepower":84,"Weight_in_lbs":2635,"Acceleration":16.4,"Year":"1982-01-01","Origin":"USA"},{"Name":"dodge aries wagon (sw)","Miles_per_Gallon":25.8,"Cylinders":4,"Displacement":156,"Horsepower":92,"Weight_in_lbs":2620,"Acceleration":14.4,"Year":"1982-01-01","Origin":"USA"},{"Name":"chevrolet citation","Miles_per_Gallon":23.5,"Cylinders":6,"Displacement":173,"Horsepower":110,"Weight_in_lbs":2725,"Acceleration":12.6,"Year":"1982-01-01","Origin":"USA"},{"Name":"plymouth reliant","Miles_per_Gallon":30,"Cylinders":4,"Displacement":135,"Horsepower":84,"Weight_in_lbs":2385,"Acceleration":12.9,"Year":"1982-01-01","Origin":"USA"},{"Name":"toyota starlet","Miles_per_Gallon":39.1,"Cylinders":4,"Displacement":79,"Horsepower":58,"Weight_in_lbs":1755,"Acceleration":16.9,"Year":"1982-01-01","Origin":"Japan"},{"Name":"plymouth champ","Miles_per_Gallon":39,"Cylinders":4,"Displacement":86,"Horsepower":64,"Weight_in_lbs":1875,"Acceleration":16.4,"Year":"1982-01-01","Origin":"USA"},{"Name":"honda civic 1300","Miles_per_Gallon":35.1,"Cylinders":4,"Displacement":81,"Horsepower":60,"Weight_in_lbs":1760,"Acceleration":16.1,"Year":"1982-01-01","Origin":"Japan"},{"Name":"subaru","Miles_per_Gallon":32.3,"Cylinders":4,"Displacement":97,"Horsepower":67,"Weight_in_lbs":2065,"Acceleration":17.8,"Year":"1982-01-01","Origin":"Japan"},{"Name":"datsun 210","Miles_per_Gallon":37,"Cylinders":4,"Displacement":85,"Horsepower":65,"Weight_in_lbs":1975,"Acceleration":19.4,"Year":"1982-01-01","Origin":"Japan"},{"Name":"toyota tercel","Miles_per_Gallon":37.7,"Cylinders":4,"Displacement":89,"Horsepower":62,"Weight_in_lbs":2050,"Acceleration":17.3,"Year":"1982-01-01","Origin":"Japan"},{"Name":"mazda glc 4","Miles_per_Gallon":34.1,"Cylinders":4,"Displacement":91,"Horsepower":68,"Weight_in_lbs":1985,"Acceleration":16,"Year":"1982-01-01","Origin":"Japan"},{"Name":"plymouth horizon 4","Miles_per_Gallon":34.7,"Cylinders":4,"Displacement":105,"Horsepower":63,"Weight_in_lbs":2215,"Acceleration":14.9,"Year":"1982-01-01","Origin":"USA"},{"Name":"ford escort 4w","Miles_per_Gallon":34.4,"Cylinders":4,"Displacement":98,"Horsepower":65,"Weight_in_lbs":2045,"Acceleration":16.2,"Year":"1982-01-01","Origin":"USA"},{"Name":"ford escort 2h","Miles_per_Gallon":29.9,"Cylinders":4,"Displacement":98,"Horsepower":65,"Weight_in_lbs":2380,"Acceleration":20.7,"Year":"1982-01-01","Origin":"USA"},{"Name":"volkswagen jetta","Miles_per_Gallon":33,"Cylinders":4,"Displacement":105,"Horsepower":74,"Weight_in_lbs":2190,"Acceleration":14.2,"Year":"1982-01-01","Origin":"Europe"},{"Name":"renault 18i","Miles_per_Gallon":34.5,"Cylinders":4,"Displacement":100,"Horsepower":null,"Weight_in_lbs":2320,"Acceleration":15.8,"Year":"1982-01-01","Origin":"Europe"},{"Name":"honda prelude","Miles_per_Gallon":33.7,"Cylinders":4,"Displacement":107,"Horsepower":75,"Weight_in_lbs":2210,"Acceleration":14.4,"Year":"1982-01-01","Origin":"Japan"},{"Name":"toyota corolla","Miles_per_Gallon":32.4,"Cylinders":4,"Displacement":108,"Horsepower":75,"Weight_in_lbs":2350,"Acceleration":16.8,"Year":"1982-01-01","Origin":"Japan"},{"Name":"datsun 200sx","Miles_per_Gallon":32.9,"Cylinders":4,"Displacement":119,"Horsepower":100,"Weight_in_lbs":2615,"Acceleration":14.8,"Year":"1982-01-01","Origin":"Japan"},{"Name":"mazda 626","Miles_per_Gallon":31.6,"Cylinders":4,"Displacement":120,"Horsepower":74,"Weight_in_lbs":2635,"Acceleration":18.3,"Year":"1982-01-01","Origin":"Japan"},{"Name":"peugeot 505s turbo diesel","Miles_per_Gallon":28.1,"Cylinders":4,"Displacement":141,"Horsepower":80,"Weight_in_lbs":3230,"Acceleration":20.4,"Year":"1982-01-01","Origin":"Europe"},{"Name":"saab 900s","Miles_per_Gallon":null,"Cylinders":4,"Displacement":121,"Horsepower":110,"Weight_in_lbs":2800,"Acceleration":15.4,"Year":"1982-01-01","Origin":"Europe"},{"Name":"volvo diesel","Miles_per_Gallon":30.7,"Cylinders":6,"Displacement":145,"Horsepower":76,"Weight_in_lbs":3160,"Acceleration":19.6,"Year":"1982-01-01","Origin":"Europe"},{"Name":"toyota cressida","Miles_per_Gallon":25.4,"Cylinders":6,"Displacement":168,"Horsepower":116,"Weight_in_lbs":2900,"Acceleration":12.6,"Year":"1982-01-01","Origin":"Japan"},{"Name":"datsun 810 maxima","Miles_per_Gallon":24.2,"Cylinders":6,"Displacement":146,"Horsepower":120,"Weight_in_lbs":2930,"Acceleration":13.8,"Year":"1982-01-01","Origin":"Japan"},{"Name":"buick century","Miles_per_Gallon":22.4,"Cylinders":6,"Displacement":231,"Horsepower":110,"Weight_in_lbs":3415,"Acceleration":15.8,"Year":"1982-01-01","Origin":"USA"},{"Name":"oldsmobile cutlass ls","Miles_per_Gallon":26.6,"Cylinders":8,"Displacement":350,"Horsepower":105,"Weight_in_lbs":3725,"Acceleration":19,"Year":"1982-01-01","Origin":"USA"},{"Name":"ford granada gl","Miles_per_Gallon":20.2,"Cylinders":6,"Displacement":200,"Horsepower":88,"Weight_in_lbs":3060,"Acceleration":17.1,"Year":"1982-01-01","Origin":"USA"},{"Name":"chrysler lebaron salon","Miles_per_Gallon":17.6,"Cylinders":6,"Displacement":225,"Horsepower":85,"Weight_in_lbs":3465,"Acceleration":16.6,"Year":"1982-01-01","Origin":"USA"},{"Name":"chevrolet cavalier","Miles_per_Gallon":28,"Cylinders":4,"Displacement":112,"Horsepower":88,"Weight_in_lbs":2605,"Acceleration":19.6,"Year":"1982-01-01","Origin":"USA"},{"Name":"chevrolet cavalier wagon","Miles_per_Gallon":27,"Cylinders":4,"Displacement":112,"Horsepower":88,"Weight_in_lbs":2640,"Acceleration":18.6,"Year":"1982-01-01","Origin":"USA"},{"Name":"chevrolet cavalier 2-door","Miles_per_Gallon":34,"Cylinders":4,"Displacement":112,"Horsepower":88,"Weight_in_lbs":2395,"Acceleration":18,"Year":"1982-01-01","Origin":"USA"},{"Name":"pontiac j2000 se hatchback","Miles_per_Gallon":31,"Cylinders":4,"Displacement":112,"Horsepower":85,"Weight_in_lbs":2575,"Acceleration":16.2,"Year":"1982-01-01","Origin":"USA"},{"Name":"dodge aries se","Miles_per_Gallon":29,"Cylinders":4,"Displacement":135,"Horsepower":84,"Weight_in_lbs":2525,"Acceleration":16,"Year":"1982-01-01","Origin":"USA"},{"Name":"pontiac phoenix","Miles_per_Gallon":27,"Cylinders":4,"Displacement":151,"Horsepower":90,"Weight_in_lbs":2735,"Acceleration":18,"Year":"1982-01-01","Origin":"USA"},{"Name":"ford fairmont futura","Miles_per_Gallon":24,"Cylinders":4,"Displacement":140,"Horsepower":92,"Weight_in_lbs":2865,"Acceleration":16.4,"Year":"1982-01-01","Origin":"USA"},{"Name":"amc concord dl","Miles_per_Gallon":23,"Cylinders":4,"Displacement":151,"Horsepower":null,"Weight_in_lbs":3035,"Acceleration":20.5,"Year":"1982-01-01","Origin":"USA"},{"Name":"volkswagen rabbit l","Miles_per_Gallon":36,"Cylinders":4,"Displacement":105,"Horsepower":74,"Weight_in_lbs":1980,"Acceleration":15.3,"Year":"1982-01-01","Origin":"Europe"},{"Name":"mazda glc custom l","Miles_per_Gallon":37,"Cylinders":4,"Displacement":91,"Horsepower":68,"Weight_in_lbs":2025,"Acceleration":18.2,"Year":"1982-01-01","Origin":"Japan"},{"Name":"mazda glc custom","Miles_per_Gallon":31,"Cylinders":4,"Displacement":91,"Horsepower":68,"Weight_in_lbs":1970,"Acceleration":17.6,"Year":"1982-01-01","Origin":"Japan"},{"Name":"plymouth horizon miser","Miles_per_Gallon":38,"Cylinders":4,"Displacement":105,"Horsepower":63,"Weight_in_lbs":2125,"Acceleration":14.7,"Year":"1982-01-01","Origin":"USA"},{"Name":"mercury lynx l","Miles_per_Gallon":36,"Cylinders":4,"Displacement":98,"Horsepower":70,"Weight_in_lbs":2125,"Acceleration":17.3,"Year":"1982-01-01","Origin":"USA"},{"Name":"nissan stanza xe","Miles_per_Gallon":36,"Cylinders":4,"Displacement":120,"Horsepower":88,"Weight_in_lbs":2160,"Acceleration":14.5,"Year":"1982-01-01","Origin":"Japan"},{"Name":"honda Accelerationord","Miles_per_Gallon":36,"Cylinders":4,"Displacement":107,"Horsepower":75,"Weight_in_lbs":2205,"Acceleration":14.5,"Year":"1982-01-01","Origin":"Japan"},{"Name":"toyota corolla","Miles_per_Gallon":34,"Cylinders":4,"Displacement":108,"Horsepower":70,"Weight_in_lbs":2245,"Acceleration":16.9,"Year":"1982-01-01","Origin":"Japan"},{"Name":"honda civic","Miles_per_Gallon":38,"Cylinders":4,"Displacement":91,"Horsepower":67,"Weight_in_lbs":1965,"Acceleration":15,"Year":"1982-01-01","Origin":"Japan"},{"Name":"honda civic (auto)","Miles_per_Gallon":32,"Cylinders":4,"Displacement":91,"Horsepower":67,"Weight_in_lbs":1965,"Acceleration":15.7,"Year":"1982-01-01","Origin":"Japan"},{"Name":"datsun 310 gx","Miles_per_Gallon":38,"Cylinders":4,"Displacement":91,"Horsepower":67,"Weight_in_lbs":1995,"Acceleration":16.2,"Year":"1982-01-01","Origin":"Japan"},{"Name":"buick century limited","Miles_per_Gallon":25,"Cylinders":6,"Displacement":181,"Horsepower":110,"Weight_in_lbs":2945,"Acceleration":16.4,"Year":"1982-01-01","Origin":"USA"},{"Name":"oldsmobile cutlass ciera (diesel)","Miles_per_Gallon":38,"Cylinders":6,"Displacement":262,"Horsepower":85,"Weight_in_lbs":3015,"Acceleration":17,"Year":"1982-01-01","Origin":"USA"},{"Name":"chrysler lebaron medallion","Miles_per_Gallon":26,"Cylinders":4,"Displacement":156,"Horsepower":92,"Weight_in_lbs":2585,"Acceleration":14.5,"Year":"1982-01-01","Origin":"USA"},{"Name":"ford granada l","Miles_per_Gallon":22,"Cylinders":6,"Displacement":232,"Horsepower":112,"Weight_in_lbs":2835,"Acceleration":14.7,"Year":"1982-01-01","Origin":"USA"},{"Name":"toyota celica gt","Miles_per_Gallon":32,"Cylinders":4,"Displacement":144,"Horsepower":96,"Weight_in_lbs":2665,"Acceleration":13.9,"Year":"1982-01-01","Origin":"Japan"},{"Name":"dodge charger 2.2","Miles_per_Gallon":36,"Cylinders":4,"Displacement":135,"Horsepower":84,"Weight_in_lbs":2370,"Acceleration":13,"Year":"1982-01-01","Origin":"USA"},{"Name":"chevrolet camaro","Miles_per_Gallon":27,"Cylinders":4,"Displacement":151,"Horsepower":90,"Weight_in_lbs":2950,"Acceleration":17.3,"Year":"1982-01-01","Origin":"USA"},{"Name":"ford mustang gl","Miles_per_Gallon":27,"Cylinders":4,"Displacement":140,"Horsepower":86,"Weight_in_lbs":2790,"Acceleration":15.6,"Year":"1982-01-01","Origin":"USA"},{"Name":"vw pickup","Miles_per_Gallon":44,"Cylinders":4,"Displacement":97,"Horsepower":52,"Weight_in_lbs":2130,"Acceleration":24.6,"Year":"1982-01-01","Origin":"Europe"},{"Name":"dodge rampage","Miles_per_Gallon":32,"Cylinders":4,"Displacement":135,"Horsepower":84,"Weight_in_lbs":2295,"Acceleration":11.6,"Year":"1982-01-01","Origin":"USA"},{"Name":"ford ranger","Miles_per_Gallon":28,"Cylinders":4,"Displacement":120,"Horsepower":79,"Weight_in_lbs":2625,"Acceleration":18.6,"Year":"1982-01-01","Origin":"USA"},{"Name":"chevy s-10","Miles_per_Gallon":31,"Cylinders":4,"Displacement":119,"Horsepower":82,"Weight_in_lbs":2720,"Acceleration":19.4,"Year":"1982-01-01","Origin":"USA"}]');let Yfe=(()=>{class e{constructor(t,i){this.router=t,this.route=i,this.currentBrushSelection=[],this.appFilters={Acceleration:{model:[0,26],provenance:{},qFilterSliderConfig:{floor:0,ceil:26,showTicks:!0,step:.1,ticksArray:[0,26]}},Horsepower:{model:[0,240],provenance:{},qFilterSliderConfig:{floor:0,ceil:240,showTicks:!0,step:.1,ticksArray:[0,240]}}},this.vegaLiteSpecCars=Spt}ngOnInit(){}ngAfterViewInit(){this.updateVis()}updateVis(){let t=this,i="#visualization-canvas";this.vegaLiteSpecCars.data={values:wpt},this.vegaLiteSpecCars.width=Yw(i).parent().width()-100,this.vegaLiteSpecCars.height=.66*this.vegaLiteSpecCars.width,RD(i,this.vegaLiteSpecCars,{renderer:"svg",actions:!1}).then(r=>{r.view.addDataListener("brush_store",function(o,a){a.length>0&&"values"in a[0]&&(t.currentBrushSelection=a[0].values)}),r.view.addEventListener("click",function(o,a){2==t.currentBrushSelection.length&&2==t.currentBrushSelection[0].length&&2==t.currentBrushSelection[1].length&&(setTimeout(function(){let s={...t.appFilters.Acceleration.provenance};"data"in s||(s.data=[]),s.data.push({value:t.currentBrushSelection[1].reverse(),timestamp:new Date}),t.appFilters.Acceleration.provenance=s&&{data:s.data,revalidate:!0}}),setTimeout(function(){let s={...t.appFilters.Horsepower.provenance};"data"in s||(s.data=[]),s.data.push({value:t.currentBrushSelection[0],timestamp:new Date}),t.appFilters.Horsepower.provenance=s&&{data:s.data,revalidate:!0}}))})})}}return e.\u0275fac=function(t){return new(t||e)(ie(ar),ie(rs))},e.\u0275cmp=mt({type:e,selectors:[["vis-to-widgets-one-way"]],features:[Zt([])],decls:37,vars:16,consts:[[1,"container"],[1,"row"],[1,"col-md-12"],[1,"text-center"],[1,"col-md-3"],[1,"p-sm"],[1,"control-panel-header"],[1,"w-100"],[1,"panel-heading","display-inline"],[1,"form-group"],["ngDefaultControl","","mode","interaction",3,"id","value","highValue","provenance","options","visualize","freeze","provenanceChange"],[1,"col-md-9"],[1,"visualization-header"],[1,"w-100","h-fullpanel"],["id","visualization-canvas"]],template:function(t,i){1&t&&(V(0,"div",0)(1,"div",1)(2,"div",2),Te(3,"br"),V(4,"h4",3),Ie(5,"Visualization to Widget one-way Interaction"),j()()(),V(6,"div",1)(7,"div",4)(8,"div",5)(9,"div",6)(10,"table",7)(11,"tr")(12,"td")(13,"h6",8),Ie(14,"Control Panel"),j()()()()(),V(15,"div",5)(16,"form")(17,"div",9)(18,"label"),Ie(19,"Acceleration"),j(),V(20,"provenance-slider",10),ge("provenanceChange",function(o){return i.appFilters.Acceleration.provenance=o}),j()(),Te(21,"hr"),V(22,"div",9)(23,"label"),Ie(24,"Horsepower"),j(),V(25,"provenance-slider",10),ge("provenanceChange",function(o){return i.appFilters.Horsepower.provenance=o}),j()()()()()(),V(26,"div",11)(27,"div",5)(28,"div",12)(29,"table",7)(30,"tr")(31,"td")(32,"h6",8),Ie(33,"Visualization"),j()()()()(),V(34,"div",5)(35,"div",13),Te(36,"div",14),j()()()()()()),2&t&&(G(20),mu("id","provenance-slider-Acceleration"),R("value",i.appFilters.Acceleration.model[0])("highValue",i.appFilters.Acceleration.model[1])("provenance",i.appFilters.Acceleration.provenance)("options",i.appFilters.Acceleration.qFilterSliderConfig)("visualize",!0)("freeze",!1),tt("data-label","Acceleration"),G(5),mu("id","provenance-slider-Horsepower"),R("value",i.appFilters.Horsepower.model[0])("highValue",i.appFilters.Horsepower.model[1])("provenance",i.appFilters.Horsepower.provenance)("options",i.appFilters.Horsepower.qFilterSliderConfig)("visualize",!0)("freeze",!1),tt("data-label","Horsepower"))},dependencies:[cT,bu,iT,mg,xf],styles:[".p-multiselect-panel{width:250px!important}"]}),e})();const xpt=JSON.parse('{"$schema":"https://vega.github.io/schema/vega-lite/v5.json","description":"Countries.","data":{"values":[]},"layer":[{"mark":{"type":"point","tooltip":true},"encoding":{"x":{"field":"fertility","type":"quantitative","scale":{"zero":false},"axis":{"labelFontSize":18,"titleFontSize":20}},"y":{"field":"life_expect","type":"quantitative","scale":{"zero":false},"axis":{"labelFontSize":18,"titleFontSize":20}}}},{"mark":{"type":"text","align":"left","baseline":"middle","dx":6,"fontSize":12},"encoding":{"x":{"field":"fertility","type":"quantitative","scale":{"zero":false},"axis":{"labelFontSize":18,"titleFontSize":20}},"y":{"field":"life_expect","type":"quantitative","scale":{"zero":false},"axis":{"labelFontSize":18,"titleFontSize":20}},"text":{"field":"country","type":"nominal"}}}]}'),LH=JSON.parse('[{"_comment":"Data courtesy of Gapminder.org","year":1955,"fertility":7.7,"life_expect":30.332,"n_fertility":7.7,"n_life_expect":31.997,"country":"Afghanistan"},{"year":1960,"fertility":7.7,"life_expect":31.997,"p_fertility":7.7,"n_fertility":7.7,"p_life_expect":30.332,"n_life_expect":34.02,"country":"Afghanistan"},{"year":1965,"fertility":7.7,"life_expect":34.02,"p_fertility":7.7,"n_fertility":7.7,"p_life_expect":31.997,"n_life_expect":36.088,"country":"Afghanistan"},{"year":1970,"fertility":7.7,"life_expect":36.088,"p_fertility":7.7,"n_fertility":7.7,"p_life_expect":34.02,"n_life_expect":38.438,"country":"Afghanistan"},{"year":1975,"fertility":7.7,"life_expect":38.438,"p_fertility":7.7,"n_fertility":7.8,"p_life_expect":36.088,"n_life_expect":39.854,"country":"Afghanistan"},{"year":1980,"fertility":7.8,"life_expect":39.854,"p_fertility":7.7,"n_fertility":7.9,"p_life_expect":38.438,"n_life_expect":40.822,"country":"Afghanistan"},{"year":1985,"fertility":7.9,"life_expect":40.822,"p_fertility":7.8,"n_fertility":8,"p_life_expect":39.854,"n_life_expect":41.674,"country":"Afghanistan"},{"year":1990,"fertility":8,"life_expect":41.674,"p_fertility":7.9,"n_fertility":8,"p_life_expect":40.822,"n_life_expect":41.763,"country":"Afghanistan"},{"year":1995,"fertility":8,"life_expect":41.763,"p_fertility":8,"n_fertility":7.4792,"p_life_expect":41.674,"n_life_expect":42.129,"country":"Afghanistan"},{"year":2000,"fertility":7.4792,"life_expect":42.129,"p_fertility":8,"p_life_expect":41.763,"country":"Afghanistan"},{"year":1955,"fertility":3.1265,"life_expect":64.399,"n_fertility":3.0895,"n_life_expect":65.142,"country":"Argentina"},{"year":1960,"fertility":3.0895,"life_expect":65.142,"p_fertility":3.1265,"n_fertility":3.049,"p_life_expect":64.399,"n_life_expect":65.634,"country":"Argentina"},{"year":1965,"fertility":3.049,"life_expect":65.634,"p_fertility":3.0895,"n_fertility":3.1455,"p_life_expect":65.142,"n_life_expect":67.065,"country":"Argentina"},{"year":1970,"fertility":3.1455,"life_expect":67.065,"p_fertility":3.049,"n_fertility":3.44,"p_life_expect":65.634,"n_life_expect":68.481,"country":"Argentina"},{"year":1975,"fertility":3.44,"life_expect":68.481,"p_fertility":3.1455,"n_fertility":3.15,"p_life_expect":67.065,"n_life_expect":69.942,"country":"Argentina"},{"year":1980,"fertility":3.15,"life_expect":69.942,"p_fertility":3.44,"n_fertility":3.053,"p_life_expect":68.481,"n_life_expect":70.774,"country":"Argentina"},{"year":1985,"fertility":3.053,"life_expect":70.774,"p_fertility":3.15,"n_fertility":2.9,"p_life_expect":69.942,"n_life_expect":71.868,"country":"Argentina"},{"year":1990,"fertility":2.9,"life_expect":71.868,"p_fertility":3.053,"n_fertility":2.63,"p_life_expect":70.774,"n_life_expect":73.275,"country":"Argentina"},{"year":1995,"fertility":2.63,"life_expect":73.275,"p_fertility":2.9,"n_fertility":2.35,"p_life_expect":71.868,"n_life_expect":74.34,"country":"Argentina"},{"year":2000,"fertility":2.35,"life_expect":74.34,"p_fertility":2.63,"p_life_expect":73.275,"country":"Argentina"},{"year":1955,"fertility":5.15,"life_expect":64.381,"n_fertility":4.399,"n_life_expect":66.606,"country":"Aruba"},{"year":1960,"fertility":4.399,"life_expect":66.606,"p_fertility":5.15,"n_fertility":3.301,"p_life_expect":64.381,"n_life_expect":68.336,"country":"Aruba"},{"year":1965,"fertility":3.301,"life_expect":68.336,"p_fertility":4.399,"n_fertility":2.651,"p_life_expect":66.606,"n_life_expect":70.941,"country":"Aruba"},{"year":1970,"fertility":2.651,"life_expect":70.941,"p_fertility":3.301,"n_fertility":2.45,"p_life_expect":68.336,"n_life_expect":71.83,"country":"Aruba"},{"year":1975,"fertility":2.45,"life_expect":71.83,"p_fertility":2.651,"n_fertility":2.358,"p_life_expect":70.941,"n_life_expect":74.116,"country":"Aruba"},{"year":1980,"fertility":2.358,"life_expect":74.116,"p_fertility":2.45,"n_fertility":2.3,"p_life_expect":71.83,"n_life_expect":74.494,"country":"Aruba"},{"year":1985,"fertility":2.3,"life_expect":74.494,"p_fertility":2.358,"n_fertility":2.28,"p_life_expect":74.116,"n_life_expect":74.108,"country":"Aruba"},{"year":1990,"fertility":2.28,"life_expect":74.108,"p_fertility":2.3,"n_fertility":2.208,"p_life_expect":74.494,"n_life_expect":73.011,"country":"Aruba"},{"year":1995,"fertility":2.208,"life_expect":73.011,"p_fertility":2.28,"n_fertility":2.124,"p_life_expect":74.108,"n_life_expect":73.451,"country":"Aruba"},{"year":2000,"fertility":2.124,"life_expect":73.451,"p_fertility":2.208,"p_life_expect":73.011,"country":"Aruba"},{"year":1955,"fertility":3.406,"life_expect":70.33,"n_fertility":3.274,"n_life_expect":70.93,"country":"Australia"},{"year":1960,"fertility":3.274,"life_expect":70.93,"p_fertility":3.406,"n_fertility":2.871,"p_life_expect":70.33,"n_life_expect":71.1,"country":"Australia"},{"year":1965,"fertility":2.871,"life_expect":71.1,"p_fertility":3.274,"n_fertility":2.535,"p_life_expect":70.93,"n_life_expect":71.93,"country":"Australia"},{"year":1970,"fertility":2.535,"life_expect":71.93,"p_fertility":2.871,"n_fertility":1.989,"p_life_expect":71.1,"n_life_expect":73.49,"country":"Australia"},{"year":1975,"fertility":1.989,"life_expect":73.49,"p_fertility":2.535,"n_fertility":1.907,"p_life_expect":71.93,"n_life_expect":74.74,"country":"Australia"},{"year":1980,"fertility":1.907,"life_expect":74.74,"p_fertility":1.989,"n_fertility":1.859,"p_life_expect":73.49,"n_life_expect":76.32,"country":"Australia"},{"year":1985,"fertility":1.859,"life_expect":76.32,"p_fertility":1.907,"n_fertility":1.86,"p_life_expect":74.74,"n_life_expect":77.56,"country":"Australia"},{"year":1990,"fertility":1.86,"life_expect":77.56,"p_fertility":1.859,"n_fertility":1.776,"p_life_expect":76.32,"n_life_expect":78.83,"country":"Australia"},{"year":1995,"fertility":1.776,"life_expect":78.83,"p_fertility":1.86,"n_fertility":1.756,"p_life_expect":77.56,"n_life_expect":80.37,"country":"Australia"},{"year":2000,"fertility":1.756,"life_expect":80.37,"p_fertility":1.776,"p_life_expect":78.83,"country":"Australia"},{"year":1955,"fertility":2.52,"life_expect":67.48,"n_fertility":2.78,"n_life_expect":69.54,"country":"Austria"},{"year":1960,"fertility":2.78,"life_expect":69.54,"p_fertility":2.52,"n_fertility":2.53,"p_life_expect":67.48,"n_life_expect":70.14,"country":"Austria"},{"year":1965,"fertility":2.53,"life_expect":70.14,"p_fertility":2.78,"n_fertility":2.02,"p_life_expect":69.54,"n_life_expect":70.63,"country":"Austria"},{"year":1970,"fertility":2.02,"life_expect":70.63,"p_fertility":2.53,"n_fertility":1.64,"p_life_expect":70.14,"n_life_expect":72.17,"country":"Austria"},{"year":1975,"fertility":1.64,"life_expect":72.17,"p_fertility":2.02,"n_fertility":1.62,"p_life_expect":70.63,"n_life_expect":73.18,"country":"Austria"},{"year":1980,"fertility":1.62,"life_expect":73.18,"p_fertility":1.64,"n_fertility":1.45,"p_life_expect":72.17,"n_life_expect":74.94,"country":"Austria"},{"year":1985,"fertility":1.45,"life_expect":74.94,"p_fertility":1.62,"n_fertility":1.47,"p_life_expect":73.18,"n_life_expect":76.04,"country":"Austria"},{"year":1990,"fertility":1.47,"life_expect":76.04,"p_fertility":1.45,"n_fertility":1.388,"p_life_expect":74.94,"n_life_expect":77.51,"country":"Austria"},{"year":1995,"fertility":1.388,"life_expect":77.51,"p_fertility":1.47,"n_fertility":1.382,"p_life_expect":76.04,"n_life_expect":78.98,"country":"Austria"},{"year":2000,"fertility":1.382,"life_expect":78.98,"p_fertility":1.388,"p_life_expect":77.51,"country":"Austria"},{"year":1955,"fertility":4.305,"life_expect":62.405,"n_fertility":4.503,"n_life_expect":64.209,"country":"Bahamas"},{"year":1960,"fertility":4.503,"life_expect":64.209,"p_fertility":4.305,"n_fertility":3.794,"p_life_expect":62.405,"n_life_expect":65.795,"country":"Bahamas"},{"year":1965,"fertility":3.794,"life_expect":65.795,"p_fertility":4.503,"n_fertility":3.444,"p_life_expect":64.209,"n_life_expect":66.515,"country":"Bahamas"},{"year":1970,"fertility":3.444,"life_expect":66.515,"p_fertility":3.794,"n_fertility":3.221,"p_life_expect":65.795,"n_life_expect":67.199,"country":"Bahamas"},{"year":1975,"fertility":3.221,"life_expect":67.199,"p_fertility":3.444,"n_fertility":3.16,"p_life_expect":66.515,"n_life_expect":67.874,"country":"Bahamas"},{"year":1980,"fertility":3.16,"life_expect":67.874,"p_fertility":3.221,"n_fertility":2.62,"p_life_expect":67.199,"n_life_expect":69.524,"country":"Bahamas"},{"year":1985,"fertility":2.62,"life_expect":69.524,"p_fertility":3.16,"n_fertility":2.6,"p_life_expect":67.874,"n_life_expect":69.171,"country":"Bahamas"},{"year":1990,"fertility":2.6,"life_expect":69.171,"p_fertility":2.62,"n_fertility":2.4,"p_life_expect":69.524,"n_life_expect":68.472,"country":"Bahamas"},{"year":1995,"fertility":2.4,"life_expect":68.472,"p_fertility":2.6,"n_fertility":2.1111,"p_life_expect":69.171,"n_life_expect":71.068,"country":"Bahamas"},{"year":2000,"fertility":2.1111,"life_expect":71.068,"p_fertility":2.4,"p_life_expect":68.472,"country":"Bahamas"},{"year":1955,"fertility":6.76,"life_expect":39.348,"n_fertility":6.85,"n_life_expect":41.216,"country":"Bangladesh"},{"year":1960,"fertility":6.85,"life_expect":41.216,"p_fertility":6.76,"n_fertility":6.6,"p_life_expect":39.348,"n_life_expect":43.453,"country":"Bangladesh"},{"year":1965,"fertility":6.6,"life_expect":43.453,"p_fertility":6.85,"n_fertility":6.15,"p_life_expect":41.216,"n_life_expect":45.252,"country":"Bangladesh"},{"year":1970,"fertility":6.15,"life_expect":45.252,"p_fertility":6.6,"n_fertility":5.6,"p_life_expect":43.453,"n_life_expect":46.923,"country":"Bangladesh"},{"year":1975,"fertility":5.6,"life_expect":46.923,"p_fertility":6.15,"n_fertility":5.25,"p_life_expect":45.252,"n_life_expect":50.009,"country":"Bangladesh"},{"year":1980,"fertility":5.25,"life_expect":50.009,"p_fertility":5.6,"n_fertility":4.629,"p_life_expect":46.923,"n_life_expect":52.819,"country":"Bangladesh"},{"year":1985,"fertility":4.629,"life_expect":52.819,"p_fertility":5.25,"n_fertility":4.117,"p_life_expect":50.009,"n_life_expect":56.018,"country":"Bangladesh"},{"year":1990,"fertility":4.117,"life_expect":56.018,"p_fertility":4.629,"n_fertility":3.5043,"p_life_expect":52.819,"n_life_expect":59.412,"country":"Bangladesh"},{"year":1995,"fertility":3.5043,"life_expect":59.412,"p_fertility":4.117,"n_fertility":3.224,"p_life_expect":56.018,"n_life_expect":62.013,"country":"Bangladesh"},{"year":2000,"fertility":3.224,"life_expect":62.013,"p_fertility":3.5043,"p_life_expect":59.412,"country":"Bangladesh"},{"year":1955,"fertility":4.67,"life_expect":62.57,"n_fertility":4.26,"n_life_expect":65.87,"country":"Barbados"},{"year":1960,"fertility":4.26,"life_expect":65.87,"p_fertility":4.67,"n_fertility":3.45,"p_life_expect":62.57,"n_life_expect":67.62,"country":"Barbados"},{"year":1965,"fertility":3.45,"life_expect":67.62,"p_fertility":4.26,"n_fertility":2.74,"p_life_expect":65.87,"n_life_expect":69.42,"country":"Barbados"},{"year":1970,"fertility":2.74,"life_expect":69.42,"p_fertility":3.45,"n_fertility":2.19,"p_life_expect":67.62,"n_life_expect":71.27,"country":"Barbados"},{"year":1975,"fertility":2.19,"life_expect":71.27,"p_fertility":2.74,"n_fertility":1.92,"p_life_expect":69.42,"n_life_expect":72.695,"country":"Barbados"},{"year":1980,"fertility":1.92,"life_expect":72.695,"p_fertility":2.19,"n_fertility":1.75,"p_life_expect":71.27,"n_life_expect":74.027,"country":"Barbados"},{"year":1985,"fertility":1.75,"life_expect":74.027,"p_fertility":1.92,"n_fertility":1.6,"p_life_expect":72.695,"n_life_expect":74.894,"country":"Barbados"},{"year":1990,"fertility":1.6,"life_expect":74.894,"p_fertility":1.75,"n_fertility":1.5,"p_life_expect":74.027,"n_life_expect":74.912,"country":"Barbados"},{"year":1995,"fertility":1.5,"life_expect":74.912,"p_fertility":1.6,"n_fertility":1.5,"p_life_expect":74.894,"n_life_expect":75.97,"country":"Barbados"},{"year":2000,"fertility":1.5,"life_expect":75.97,"p_fertility":1.5,"p_life_expect":74.912,"country":"Barbados"},{"year":1955,"fertility":2.496,"life_expect":69.24,"n_fertility":2.644,"n_life_expect":70.25,"country":"Belgium"},{"year":1960,"fertility":2.644,"life_expect":70.25,"p_fertility":2.496,"n_fertility":2.392,"p_life_expect":69.24,"n_life_expect":70.94,"country":"Belgium"},{"year":1965,"fertility":2.392,"life_expect":70.94,"p_fertility":2.644,"n_fertility":2.015,"p_life_expect":70.25,"n_life_expect":71.44,"country":"Belgium"},{"year":1970,"fertility":2.015,"life_expect":71.44,"p_fertility":2.392,"n_fertility":1.705,"p_life_expect":70.94,"n_life_expect":72.8,"country":"Belgium"},{"year":1975,"fertility":1.705,"life_expect":72.8,"p_fertility":2.015,"n_fertility":1.595,"p_life_expect":71.44,"n_life_expect":73.93,"country":"Belgium"},{"year":1980,"fertility":1.595,"life_expect":73.93,"p_fertility":1.705,"n_fertility":1.559,"p_life_expect":72.8,"n_life_expect":75.35,"country":"Belgium"},{"year":1985,"fertility":1.559,"life_expect":75.35,"p_fertility":1.595,"n_fertility":1.613,"p_life_expect":73.93,"n_life_expect":76.46,"country":"Belgium"},{"year":1990,"fertility":1.613,"life_expect":76.46,"p_fertility":1.559,"n_fertility":1.604,"p_life_expect":75.35,"n_life_expect":77.53,"country":"Belgium"},{"year":1995,"fertility":1.604,"life_expect":77.53,"p_fertility":1.613,"n_fertility":1.638,"p_life_expect":76.46,"n_life_expect":78.32,"country":"Belgium"},{"year":2000,"fertility":1.638,"life_expect":78.32,"p_fertility":1.604,"p_life_expect":77.53,"country":"Belgium"},{"year":1955,"fertility":6.75,"life_expect":41.89,"n_fertility":6.63,"n_life_expect":43.428,"country":"Bolivia"},{"year":1960,"fertility":6.63,"life_expect":43.428,"p_fertility":6.75,"n_fertility":6.56,"p_life_expect":41.89,"n_life_expect":45.032,"country":"Bolivia"},{"year":1965,"fertility":6.56,"life_expect":45.032,"p_fertility":6.63,"n_fertility":6.5,"p_life_expect":43.428,"n_life_expect":46.714,"country":"Bolivia"},{"year":1970,"fertility":6.5,"life_expect":46.714,"p_fertility":6.56,"n_fertility":5.8,"p_life_expect":45.032,"n_life_expect":50.023,"country":"Bolivia"},{"year":1975,"fertility":5.8,"life_expect":50.023,"p_fertility":6.5,"n_fertility":5.2995,"p_life_expect":46.714,"n_life_expect":53.859,"country":"Bolivia"},{"year":1980,"fertility":5.2995,"life_expect":53.859,"p_fertility":5.8,"n_fertility":5,"p_life_expect":50.023,"n_life_expect":57.251,"country":"Bolivia"},{"year":1985,"fertility":5,"life_expect":57.251,"p_fertility":5.2995,"n_fertility":4.8,"p_life_expect":53.859,"n_life_expect":59.957,"country":"Bolivia"},{"year":1990,"fertility":4.8,"life_expect":59.957,"p_fertility":5,"n_fertility":4.324,"p_life_expect":57.251,"n_life_expect":62.05,"country":"Bolivia"},{"year":1995,"fertility":4.324,"life_expect":62.05,"p_fertility":4.8,"n_fertility":3.9585,"p_life_expect":59.957,"n_life_expect":63.883,"country":"Bolivia"},{"year":2000,"fertility":3.9585,"life_expect":63.883,"p_fertility":4.324,"p_life_expect":62.05,"country":"Bolivia"},{"year":1955,"fertility":6.1501,"life_expect":53.285,"n_fertility":6.1501,"n_life_expect":55.665,"country":"Brazil"},{"year":1960,"fertility":6.1501,"life_expect":55.665,"p_fertility":6.1501,"n_fertility":5.38,"p_life_expect":53.285,"n_life_expect":57.632,"country":"Brazil"},{"year":1965,"fertility":5.38,"life_expect":57.632,"p_fertility":6.1501,"n_fertility":4.7175,"p_life_expect":55.665,"n_life_expect":59.504,"country":"Brazil"},{"year":1970,"fertility":4.7175,"life_expect":59.504,"p_fertility":5.38,"n_fertility":4.305,"p_life_expect":57.632,"n_life_expect":61.489,"country":"Brazil"},{"year":1975,"fertility":4.305,"life_expect":61.489,"p_fertility":4.7175,"n_fertility":3.8,"p_life_expect":59.504,"n_life_expect":63.336,"country":"Brazil"},{"year":1980,"fertility":3.8,"life_expect":63.336,"p_fertility":4.305,"n_fertility":3.1,"p_life_expect":61.489,"n_life_expect":65.205,"country":"Brazil"},{"year":1985,"fertility":3.1,"life_expect":65.205,"p_fertility":3.8,"n_fertility":2.6,"p_life_expect":63.336,"n_life_expect":67.057,"country":"Brazil"},{"year":1990,"fertility":2.6,"life_expect":67.057,"p_fertility":3.1,"n_fertility":2.45,"p_life_expect":65.205,"n_life_expect":69.388,"country":"Brazil"},{"year":1995,"fertility":2.45,"life_expect":69.388,"p_fertility":2.6,"n_fertility":2.345,"p_life_expect":67.057,"n_life_expect":71.006,"country":"Brazil"},{"year":2000,"fertility":2.345,"life_expect":71.006,"p_fertility":2.45,"p_life_expect":69.388,"country":"Brazil"},{"year":1955,"fertility":3.882,"life_expect":69.96,"n_fertility":3.675,"n_life_expect":71.3,"country":"Canada"},{"year":1960,"fertility":3.675,"life_expect":71.3,"p_fertility":3.882,"n_fertility":2.61,"p_life_expect":69.96,"n_life_expect":72.13,"country":"Canada"},{"year":1965,"fertility":2.61,"life_expect":72.13,"p_fertility":3.675,"n_fertility":1.976,"p_life_expect":71.3,"n_life_expect":72.88,"country":"Canada"},{"year":1970,"fertility":1.976,"life_expect":72.88,"p_fertility":2.61,"n_fertility":1.734,"p_life_expect":72.13,"n_life_expect":74.21,"country":"Canada"},{"year":1975,"fertility":1.734,"life_expect":74.21,"p_fertility":1.976,"n_fertility":1.634,"p_life_expect":72.88,"n_life_expect":75.76,"country":"Canada"},{"year":1980,"fertility":1.634,"life_expect":75.76,"p_fertility":1.734,"n_fertility":1.616,"p_life_expect":74.21,"n_life_expect":76.86,"country":"Canada"},{"year":1985,"fertility":1.616,"life_expect":76.86,"p_fertility":1.634,"n_fertility":1.694,"p_life_expect":75.76,"n_life_expect":77.95,"country":"Canada"},{"year":1990,"fertility":1.694,"life_expect":77.95,"p_fertility":1.616,"n_fertility":1.564,"p_life_expect":76.86,"n_life_expect":78.61,"country":"Canada"},{"year":1995,"fertility":1.564,"life_expect":78.61,"p_fertility":1.694,"n_fertility":1.522,"p_life_expect":77.95,"n_life_expect":79.77,"country":"Canada"},{"year":2000,"fertility":1.522,"life_expect":79.77,"p_fertility":1.564,"p_life_expect":78.61,"country":"Canada"},{"year":1955,"fertility":5.486,"life_expect":56.074,"n_fertility":5.4385,"n_life_expect":57.924,"country":"Chile"},{"year":1960,"fertility":5.4385,"life_expect":57.924,"p_fertility":5.486,"n_fertility":4.4405,"p_life_expect":56.074,"n_life_expect":60.523,"country":"Chile"},{"year":1965,"fertility":4.4405,"life_expect":60.523,"p_fertility":5.4385,"n_fertility":3.63,"p_life_expect":57.924,"n_life_expect":63.441,"country":"Chile"},{"year":1970,"fertility":3.63,"life_expect":63.441,"p_fertility":4.4405,"n_fertility":2.803,"p_life_expect":60.523,"n_life_expect":67.052,"country":"Chile"},{"year":1975,"fertility":2.803,"life_expect":67.052,"p_fertility":3.63,"n_fertility":2.671,"p_life_expect":63.441,"n_life_expect":70.565,"country":"Chile"},{"year":1980,"fertility":2.671,"life_expect":70.565,"p_fertility":2.803,"n_fertility":2.65,"p_life_expect":67.052,"n_life_expect":72.492,"country":"Chile"},{"year":1985,"fertility":2.65,"life_expect":72.492,"p_fertility":2.671,"n_fertility":2.55,"p_life_expect":70.565,"n_life_expect":74.126,"country":"Chile"},{"year":1990,"fertility":2.55,"life_expect":74.126,"p_fertility":2.65,"n_fertility":2.21,"p_life_expect":72.492,"n_life_expect":75.816,"country":"Chile"},{"year":1995,"fertility":2.21,"life_expect":75.816,"p_fertility":2.55,"n_fertility":2,"p_life_expect":74.126,"n_life_expect":77.86,"country":"Chile"},{"year":2000,"fertility":2,"life_expect":77.86,"p_fertility":2.21,"p_life_expect":75.816,"country":"Chile"},{"year":1955,"fertility":5.59,"life_expect":50.54896,"n_fertility":5.72,"n_life_expect":44.50136,"country":"China"},{"year":1960,"fertility":5.72,"life_expect":44.50136,"p_fertility":5.59,"n_fertility":6.06,"p_life_expect":50.54896,"n_life_expect":58.38112,"country":"China"},{"year":1965,"fertility":6.06,"life_expect":58.38112,"p_fertility":5.72,"n_fertility":4.86,"p_life_expect":44.50136,"n_life_expect":63.11888,"country":"China"},{"year":1970,"fertility":4.86,"life_expect":63.11888,"p_fertility":6.06,"n_fertility":3.32,"p_life_expect":58.38112,"n_life_expect":63.96736,"country":"China"},{"year":1975,"fertility":3.32,"life_expect":63.96736,"p_fertility":4.86,"n_fertility":2.55,"p_life_expect":63.11888,"n_life_expect":65.525,"country":"China"},{"year":1980,"fertility":2.55,"life_expect":65.525,"p_fertility":3.32,"n_fertility":2.46,"p_life_expect":63.96736,"n_life_expect":67.274,"country":"China"},{"year":1985,"fertility":2.46,"life_expect":67.274,"p_fertility":2.55,"n_fertility":1.92,"p_life_expect":65.525,"n_life_expect":68.69,"country":"China"},{"year":1990,"fertility":1.92,"life_expect":68.69,"p_fertility":2.46,"n_fertility":1.781,"p_life_expect":67.274,"n_life_expect":70.426,"country":"China"},{"year":1995,"fertility":1.781,"life_expect":70.426,"p_fertility":1.92,"n_fertility":1.7,"p_life_expect":68.69,"n_life_expect":72.028,"country":"China"},{"year":2000,"fertility":1.7,"life_expect":72.028,"p_fertility":1.781,"p_life_expect":70.426,"country":"China"},{"year":1955,"fertility":6.76,"life_expect":55.118,"n_fertility":6.76,"n_life_expect":57.863,"country":"Colombia"},{"year":1960,"fertility":6.76,"life_expect":57.863,"p_fertility":6.76,"n_fertility":6.18,"p_life_expect":55.118,"n_life_expect":59.963,"country":"Colombia"},{"year":1965,"fertility":6.18,"life_expect":59.963,"p_fertility":6.76,"n_fertility":5.0005,"p_life_expect":57.863,"n_life_expect":61.623,"country":"Colombia"},{"year":1970,"fertility":5.0005,"life_expect":61.623,"p_fertility":6.18,"n_fertility":4.3385,"p_life_expect":59.963,"n_life_expect":63.837,"country":"Colombia"},{"year":1975,"fertility":4.3385,"life_expect":63.837,"p_fertility":5.0005,"n_fertility":3.685,"p_life_expect":61.623,"n_life_expect":66.653,"country":"Colombia"},{"year":1980,"fertility":3.685,"life_expect":66.653,"p_fertility":4.3385,"n_fertility":3.172,"p_life_expect":63.837,"n_life_expect":67.768,"country":"Colombia"},{"year":1985,"fertility":3.172,"life_expect":67.768,"p_fertility":3.685,"n_fertility":2.93005,"p_life_expect":66.653,"n_life_expect":68.421,"country":"Colombia"},{"year":1990,"fertility":2.93005,"life_expect":68.421,"p_fertility":3.172,"n_fertility":2.7,"p_life_expect":67.768,"n_life_expect":70.313,"country":"Colombia"},{"year":1995,"fertility":2.7,"life_expect":70.313,"p_fertility":2.93005,"n_fertility":2.4705,"p_life_expect":68.421,"n_life_expect":71.682,"country":"Colombia"},{"year":2000,"fertility":2.4705,"life_expect":71.682,"p_fertility":2.7,"p_life_expect":70.313,"country":"Colombia"},{"year":1955,"fertility":7.1135,"life_expect":60.026,"n_fertility":7.2245,"n_life_expect":62.842,"country":"Costa Rica"},{"year":1960,"fertility":7.2245,"life_expect":62.842,"p_fertility":7.1135,"n_fertility":5.801,"p_life_expect":60.026,"n_life_expect":65.424,"country":"Costa Rica"},{"year":1965,"fertility":5.801,"life_expect":65.424,"p_fertility":7.2245,"n_fertility":4.346,"p_life_expect":62.842,"n_life_expect":67.849,"country":"Costa Rica"},{"year":1970,"fertility":4.346,"life_expect":67.849,"p_fertility":5.801,"n_fertility":3.7755,"p_life_expect":65.424,"n_life_expect":70.75,"country":"Costa Rica"},{"year":1975,"fertility":3.7755,"life_expect":70.75,"p_fertility":4.346,"n_fertility":3.527,"p_life_expect":67.849,"n_life_expect":73.45,"country":"Costa Rica"},{"year":1980,"fertility":3.527,"life_expect":73.45,"p_fertility":3.7755,"n_fertility":3.374,"p_life_expect":70.75,"n_life_expect":74.752,"country":"Costa Rica"},{"year":1985,"fertility":3.374,"life_expect":74.752,"p_fertility":3.527,"n_fertility":2.945,"p_life_expect":73.45,"n_life_expect":75.713,"country":"Costa Rica"},{"year":1990,"fertility":2.945,"life_expect":75.713,"p_fertility":3.374,"n_fertility":2.5835,"p_life_expect":74.752,"n_life_expect":77.26,"country":"Costa Rica"},{"year":1995,"fertility":2.5835,"life_expect":77.26,"p_fertility":2.945,"n_fertility":2.2815,"p_life_expect":75.713,"n_life_expect":78.123,"country":"Costa Rica"},{"year":2000,"fertility":2.2815,"life_expect":78.123,"p_fertility":2.5835,"p_life_expect":77.26,"country":"Costa Rica"},{"year":1955,"fertility":2.42,"life_expect":64.77,"n_fertility":2.27,"n_life_expect":67.13,"country":"Croatia"},{"year":1960,"fertility":2.27,"life_expect":67.13,"p_fertility":2.42,"n_fertility":2.09,"p_life_expect":64.77,"n_life_expect":68.5,"country":"Croatia"},{"year":1965,"fertility":2.09,"life_expect":68.5,"p_fertility":2.27,"n_fertility":1.96,"p_life_expect":67.13,"n_life_expect":69.61,"country":"Croatia"},{"year":1970,"fertility":1.96,"life_expect":69.61,"p_fertility":2.09,"n_fertility":2.02,"p_life_expect":68.5,"n_life_expect":70.64,"country":"Croatia"},{"year":1975,"fertility":2.02,"life_expect":70.64,"p_fertility":1.96,"n_fertility":1.96,"p_life_expect":69.61,"n_life_expect":70.46,"country":"Croatia"},{"year":1980,"fertility":1.96,"life_expect":70.46,"p_fertility":2.02,"n_fertility":1.84,"p_life_expect":70.64,"n_life_expect":71.52,"country":"Croatia"},{"year":1985,"fertility":1.84,"life_expect":71.52,"p_fertility":1.96,"n_fertility":1.52,"p_life_expect":70.46,"n_life_expect":72.527,"country":"Croatia"},{"year":1990,"fertility":1.52,"life_expect":72.527,"p_fertility":1.84,"n_fertility":1.537,"p_life_expect":71.52,"n_life_expect":73.68,"country":"Croatia"},{"year":1995,"fertility":1.537,"life_expect":73.68,"p_fertility":1.52,"n_fertility":1.348,"p_life_expect":72.527,"n_life_expect":74.876,"country":"Croatia"},{"year":2000,"fertility":1.348,"life_expect":74.876,"p_fertility":1.537,"p_life_expect":73.68,"country":"Croatia"},{"year":1955,"fertility":3.6995,"life_expect":62.325,"n_fertility":4.6805,"n_life_expect":65.246,"country":"Cuba"},{"year":1960,"fertility":4.6805,"life_expect":65.246,"p_fertility":3.6995,"n_fertility":4.3,"p_life_expect":62.325,"n_life_expect":68.29,"country":"Cuba"},{"year":1965,"fertility":4.3,"life_expect":68.29,"p_fertility":4.6805,"n_fertility":3.6,"p_life_expect":65.246,"n_life_expect":70.723,"country":"Cuba"},{"year":1970,"fertility":3.6,"life_expect":70.723,"p_fertility":4.3,"n_fertility":2.15,"p_life_expect":68.29,"n_life_expect":72.649,"country":"Cuba"},{"year":1975,"fertility":2.15,"life_expect":72.649,"p_fertility":3.6,"n_fertility":1.8495,"p_life_expect":70.723,"n_life_expect":73.717,"country":"Cuba"},{"year":1980,"fertility":1.8495,"life_expect":73.717,"p_fertility":2.15,"n_fertility":1.8495,"p_life_expect":72.649,"n_life_expect":74.174,"country":"Cuba"},{"year":1985,"fertility":1.8495,"life_expect":74.174,"p_fertility":1.8495,"n_fertility":1.6505,"p_life_expect":73.717,"n_life_expect":74.414,"country":"Cuba"},{"year":1990,"fertility":1.6505,"life_expect":74.414,"p_fertility":1.8495,"n_fertility":1.6095,"p_life_expect":74.174,"n_life_expect":76.151,"country":"Cuba"},{"year":1995,"fertility":1.6095,"life_expect":76.151,"p_fertility":1.6505,"n_fertility":1.63,"p_life_expect":74.414,"n_life_expect":77.158,"country":"Cuba"},{"year":2000,"fertility":1.63,"life_expect":77.158,"p_fertility":1.6095,"p_life_expect":76.151,"country":"Cuba"},{"year":1955,"fertility":7.6405,"life_expect":49.828,"n_fertility":7.3505,"n_life_expect":53.459,"country":"Dominican Republic"},{"year":1960,"fertility":7.3505,"life_expect":53.459,"p_fertility":7.6405,"n_fertility":6.6495,"p_life_expect":49.828,"n_life_expect":56.751,"country":"Dominican Republic"},{"year":1965,"fertility":6.6495,"life_expect":56.751,"p_fertility":7.3505,"n_fertility":5.71,"p_life_expect":53.459,"n_life_expect":59.631,"country":"Dominican Republic"},{"year":1970,"fertility":5.71,"life_expect":59.631,"p_fertility":6.6495,"n_fertility":4.76,"p_life_expect":56.751,"n_life_expect":61.788,"country":"Dominican Republic"},{"year":1975,"fertility":4.76,"life_expect":61.788,"p_fertility":5.71,"n_fertility":4,"p_life_expect":59.631,"n_life_expect":63.727,"country":"Dominican Republic"},{"year":1980,"fertility":4,"life_expect":63.727,"p_fertility":4.76,"n_fertility":3.47,"p_life_expect":61.788,"n_life_expect":66.046,"country":"Dominican Republic"},{"year":1985,"fertility":3.47,"life_expect":66.046,"p_fertility":4,"n_fertility":3.1995,"p_life_expect":63.727,"n_life_expect":68.457,"country":"Dominican Republic"},{"year":1990,"fertility":3.1995,"life_expect":68.457,"p_fertility":3.47,"n_fertility":3.05,"p_life_expect":66.046,"n_life_expect":69.957,"country":"Dominican Republic"},{"year":1995,"fertility":3.05,"life_expect":69.957,"p_fertility":3.1995,"n_fertility":2.95,"p_life_expect":68.457,"n_life_expect":70.847,"country":"Dominican Republic"},{"year":2000,"fertility":2.95,"life_expect":70.847,"p_fertility":3.05,"p_life_expect":69.957,"country":"Dominican Republic"},{"year":1955,"fertility":6.7,"life_expect":51.356,"n_fertility":6.7,"n_life_expect":54.64,"country":"Ecuador"},{"year":1960,"fertility":6.7,"life_expect":54.64,"p_fertility":6.7,"n_fertility":6.5,"p_life_expect":51.356,"n_life_expect":56.678,"country":"Ecuador"},{"year":1965,"fertility":6.5,"life_expect":56.678,"p_fertility":6.7,"n_fertility":6.0005,"p_life_expect":54.64,"n_life_expect":58.796,"country":"Ecuador"},{"year":1970,"fertility":6.0005,"life_expect":58.796,"p_fertility":6.5,"n_fertility":5.4005,"p_life_expect":56.678,"n_life_expect":61.31,"country":"Ecuador"},{"year":1975,"fertility":5.4005,"life_expect":61.31,"p_fertility":6.0005,"n_fertility":4.7005,"p_life_expect":58.796,"n_life_expect":64.342,"country":"Ecuador"},{"year":1980,"fertility":4.7005,"life_expect":64.342,"p_fertility":5.4005,"n_fertility":4,"p_life_expect":61.31,"n_life_expect":67.231,"country":"Ecuador"},{"year":1985,"fertility":4,"life_expect":67.231,"p_fertility":4.7005,"n_fertility":3.4005,"p_life_expect":64.342,"n_life_expect":69.613,"country":"Ecuador"},{"year":1990,"fertility":3.4005,"life_expect":69.613,"p_fertility":4,"n_fertility":3.1,"p_life_expect":67.231,"n_life_expect":72.312,"country":"Ecuador"},{"year":1995,"fertility":3.1,"life_expect":72.312,"p_fertility":3.4005,"n_fertility":2.8175,"p_life_expect":69.613,"n_life_expect":74.173,"country":"Ecuador"},{"year":2000,"fertility":2.8175,"life_expect":74.173,"p_fertility":3.1,"p_life_expect":72.312,"country":"Ecuador"},{"year":1955,"fertility":6.97,"life_expect":44.444,"n_fertility":7.073,"n_life_expect":46.992,"country":"Egypt"},{"year":1960,"fertility":7.073,"life_expect":46.992,"p_fertility":6.97,"n_fertility":6.56,"p_life_expect":44.444,"n_life_expect":49.293,"country":"Egypt"},{"year":1965,"fertility":6.56,"life_expect":49.293,"p_fertility":7.073,"n_fertility":5.855,"p_life_expect":46.992,"n_life_expect":51.137,"country":"Egypt"},{"year":1970,"fertility":5.855,"life_expect":51.137,"p_fertility":6.56,"n_fertility":5.609,"p_life_expect":49.293,"n_life_expect":53.319,"country":"Egypt"},{"year":1975,"fertility":5.609,"life_expect":53.319,"p_fertility":5.855,"n_fertility":5.332,"p_life_expect":51.137,"n_life_expect":56.006,"country":"Egypt"},{"year":1980,"fertility":5.332,"life_expect":56.006,"p_fertility":5.609,"n_fertility":4.833,"p_life_expect":53.319,"n_life_expect":59.797,"country":"Egypt"},{"year":1985,"fertility":4.833,"life_expect":59.797,"p_fertility":5.332,"n_fertility":3.908,"p_life_expect":56.006,"n_life_expect":63.674,"country":"Egypt"},{"year":1990,"fertility":3.908,"life_expect":63.674,"p_fertility":4.833,"n_fertility":3.5,"p_life_expect":59.797,"n_life_expect":67.217,"country":"Egypt"},{"year":1995,"fertility":3.5,"life_expect":67.217,"p_fertility":3.908,"n_fertility":3.174,"p_life_expect":63.674,"n_life_expect":69.806,"country":"Egypt"},{"year":2000,"fertility":3.174,"life_expect":69.806,"p_fertility":3.5,"p_life_expect":67.217,"country":"Egypt"},{"year":1955,"fertility":6.8065,"life_expect":48.57,"n_fertility":6.847,"n_life_expect":52.307,"country":"El Salvador"},{"year":1960,"fertility":6.847,"life_expect":52.307,"p_fertility":6.8065,"n_fertility":6.621,"p_life_expect":48.57,"n_life_expect":55.855,"country":"El Salvador"},{"year":1965,"fertility":6.621,"life_expect":55.855,"p_fertility":6.847,"n_fertility":6.0995,"p_life_expect":52.307,"n_life_expect":58.207,"country":"El Salvador"},{"year":1970,"fertility":6.0995,"life_expect":58.207,"p_fertility":6.621,"n_fertility":5.5996,"p_life_expect":55.855,"n_life_expect":56.696,"country":"El Salvador"},{"year":1975,"fertility":5.5996,"life_expect":56.696,"p_fertility":6.0995,"n_fertility":4.5,"p_life_expect":58.207,"n_life_expect":56.604,"country":"El Salvador"},{"year":1980,"fertility":4.5,"life_expect":56.604,"p_fertility":5.5996,"n_fertility":3.901,"p_life_expect":56.696,"n_life_expect":63.154,"country":"El Salvador"},{"year":1985,"fertility":3.901,"life_expect":63.154,"p_fertility":4.5,"n_fertility":3.52,"p_life_expect":56.604,"n_life_expect":66.798,"country":"El Salvador"},{"year":1990,"fertility":3.52,"life_expect":66.798,"p_fertility":3.901,"n_fertility":3.17,"p_life_expect":63.154,"n_life_expect":69.535,"country":"El Salvador"},{"year":1995,"fertility":3.17,"life_expect":69.535,"p_fertility":3.52,"n_fertility":2.883,"p_life_expect":66.798,"n_life_expect":70.734,"country":"El Salvador"},{"year":2000,"fertility":2.883,"life_expect":70.734,"p_fertility":3.17,"p_life_expect":69.535,"country":"El Salvador"},{"year":1955,"fertility":2.769,"life_expect":67.49,"n_fertility":2.66,"n_life_expect":68.75,"country":"Finland"},{"year":1960,"fertility":2.66,"life_expect":68.75,"p_fertility":2.769,"n_fertility":2.191,"p_life_expect":67.49,"n_life_expect":69.83,"country":"Finland"},{"year":1965,"fertility":2.191,"life_expect":69.83,"p_fertility":2.66,"n_fertility":1.623,"p_life_expect":68.75,"n_life_expect":70.87,"country":"Finland"},{"year":1970,"fertility":1.623,"life_expect":70.87,"p_fertility":2.191,"n_fertility":1.663,"p_life_expect":69.83,"n_life_expect":72.52,"country":"Finland"},{"year":1975,"fertility":1.663,"life_expect":72.52,"p_fertility":1.623,"n_fertility":1.685,"p_life_expect":70.87,"n_life_expect":74.55,"country":"Finland"},{"year":1980,"fertility":1.685,"life_expect":74.55,"p_fertility":1.663,"n_fertility":1.66,"p_life_expect":72.52,"n_life_expect":74.83,"country":"Finland"},{"year":1985,"fertility":1.66,"life_expect":74.83,"p_fertility":1.685,"n_fertility":1.819,"p_life_expect":74.55,"n_life_expect":75.7,"country":"Finland"},{"year":1990,"fertility":1.819,"life_expect":75.7,"p_fertility":1.66,"n_fertility":1.743,"p_life_expect":74.83,"n_life_expect":77.13,"country":"Finland"},{"year":1995,"fertility":1.743,"life_expect":77.13,"p_fertility":1.819,"n_fertility":1.754,"p_life_expect":75.7,"n_life_expect":78.37,"country":"Finland"},{"year":2000,"fertility":1.754,"life_expect":78.37,"p_fertility":1.743,"p_life_expect":77.13,"country":"Finland"},{"year":1955,"fertility":2.712,"life_expect":68.93,"n_fertility":2.85,"n_life_expect":70.51,"country":"France"},{"year":1960,"fertility":2.85,"life_expect":70.51,"p_fertility":2.712,"n_fertility":2.607,"p_life_expect":68.93,"n_life_expect":71.55,"country":"France"},{"year":1965,"fertility":2.607,"life_expect":71.55,"p_fertility":2.85,"n_fertility":2.31,"p_life_expect":70.51,"n_life_expect":72.38,"country":"France"},{"year":1970,"fertility":2.31,"life_expect":72.38,"p_fertility":2.607,"n_fertility":1.862,"p_life_expect":71.55,"n_life_expect":73.83,"country":"France"},{"year":1975,"fertility":1.862,"life_expect":73.83,"p_fertility":2.31,"n_fertility":1.866,"p_life_expect":72.38,"n_life_expect":74.89,"country":"France"},{"year":1980,"fertility":1.866,"life_expect":74.89,"p_fertility":1.862,"n_fertility":1.805,"p_life_expect":73.83,"n_life_expect":76.34,"country":"France"},{"year":1985,"fertility":1.805,"life_expect":76.34,"p_fertility":1.866,"n_fertility":1.713,"p_life_expect":74.89,"n_life_expect":77.46,"country":"France"},{"year":1990,"fertility":1.713,"life_expect":77.46,"p_fertility":1.805,"n_fertility":1.7624,"p_life_expect":76.34,"n_life_expect":78.64,"country":"France"},{"year":1995,"fertility":1.7624,"life_expect":78.64,"p_fertility":1.713,"n_fertility":1.8833,"p_life_expect":77.46,"n_life_expect":79.59,"country":"France"},{"year":2000,"fertility":1.8833,"life_expect":79.59,"p_fertility":1.7624,"p_life_expect":78.64,"country":"France"},{"year":1955,"fertility":2.909,"life_expect":62.625,"n_fertility":2.979,"n_life_expect":64.644,"country":"Georgia"},{"year":1960,"fertility":2.979,"life_expect":64.644,"p_fertility":2.909,"n_fertility":2.611,"p_life_expect":62.625,"n_life_expect":66.654,"country":"Georgia"},{"year":1965,"fertility":2.611,"life_expect":66.654,"p_fertility":2.979,"n_fertility":2.601,"p_life_expect":64.644,"n_life_expect":68.158,"country":"Georgia"},{"year":1970,"fertility":2.601,"life_expect":68.158,"p_fertility":2.611,"n_fertility":2.39,"p_life_expect":66.654,"n_life_expect":69.634,"country":"Georgia"},{"year":1975,"fertility":2.39,"life_expect":69.634,"p_fertility":2.601,"n_fertility":2.269,"p_life_expect":68.158,"n_life_expect":69.638,"country":"Georgia"},{"year":1980,"fertility":2.269,"life_expect":69.638,"p_fertility":2.39,"n_fertility":2.263,"p_life_expect":69.634,"n_life_expect":70.45,"country":"Georgia"},{"year":1985,"fertility":2.263,"life_expect":70.45,"p_fertility":2.269,"n_fertility":1.95,"p_life_expect":69.638,"n_life_expect":70.465,"country":"Georgia"},{"year":1990,"fertility":1.95,"life_expect":70.465,"p_fertility":2.263,"n_fertility":1.58,"p_life_expect":70.45,"n_life_expect":70.49,"country":"Georgia"},{"year":1995,"fertility":1.58,"life_expect":70.49,"p_fertility":1.95,"n_fertility":1.478,"p_life_expect":70.465,"n_life_expect":70.476,"country":"Georgia"},{"year":2000,"fertility":1.478,"life_expect":70.476,"p_fertility":1.58,"p_life_expect":70.49,"country":"Georgia"},{"year":1955,"fertility":2.3,"life_expect":69.1,"n_fertility":2.49,"n_life_expect":70.3,"country":"Germany"},{"year":1960,"fertility":2.49,"life_expect":70.3,"p_fertility":2.3,"n_fertility":2.32,"p_life_expect":69.1,"n_life_expect":70.8,"country":"Germany"},{"year":1965,"fertility":2.32,"life_expect":70.8,"p_fertility":2.49,"n_fertility":1.64,"p_life_expect":70.3,"n_life_expect":71,"country":"Germany"},{"year":1970,"fertility":1.64,"life_expect":71,"p_fertility":2.32,"n_fertility":1.52,"p_life_expect":70.8,"n_life_expect":72.5,"country":"Germany"},{"year":1975,"fertility":1.52,"life_expect":72.5,"p_fertility":1.64,"n_fertility":1.46,"p_life_expect":71,"n_life_expect":73.8,"country":"Germany"},{"year":1980,"fertility":1.46,"life_expect":73.8,"p_fertility":1.52,"n_fertility":1.43,"p_life_expect":72.5,"n_life_expect":74.847,"country":"Germany"},{"year":1985,"fertility":1.43,"life_expect":74.847,"p_fertility":1.46,"n_fertility":1.31,"p_life_expect":73.8,"n_life_expect":76.07,"country":"Germany"},{"year":1990,"fertility":1.31,"life_expect":76.07,"p_fertility":1.43,"n_fertility":1.34,"p_life_expect":74.847,"n_life_expect":77.34,"country":"Germany"},{"year":1995,"fertility":1.34,"life_expect":77.34,"p_fertility":1.31,"n_fertility":1.346,"p_life_expect":76.07,"n_life_expect":78.67,"country":"Germany"},{"year":2000,"fertility":1.346,"life_expect":78.67,"p_fertility":1.34,"p_life_expect":77.34,"country":"Germany"},{"year":1955,"fertility":2.27,"life_expect":67.86,"n_fertility":2.2,"n_life_expect":69.51,"country":"Greece"},{"year":1960,"fertility":2.2,"life_expect":69.51,"p_fertility":2.27,"n_fertility":2.38,"p_life_expect":67.86,"n_life_expect":71,"country":"Greece"},{"year":1965,"fertility":2.38,"life_expect":71,"p_fertility":2.2,"n_fertility":2.32,"p_life_expect":69.51,"n_life_expect":72.34,"country":"Greece"},{"year":1970,"fertility":2.32,"life_expect":72.34,"p_fertility":2.38,"n_fertility":2.32,"p_life_expect":71,"n_life_expect":73.68,"country":"Greece"},{"year":1975,"fertility":2.32,"life_expect":73.68,"p_fertility":2.32,"n_fertility":1.96,"p_life_expect":72.34,"n_life_expect":75.24,"country":"Greece"},{"year":1980,"fertility":1.96,"life_expect":75.24,"p_fertility":2.32,"n_fertility":1.53,"p_life_expect":73.68,"n_life_expect":76.67,"country":"Greece"},{"year":1985,"fertility":1.53,"life_expect":76.67,"p_fertility":1.96,"n_fertility":1.37,"p_life_expect":75.24,"n_life_expect":77.03,"country":"Greece"},{"year":1990,"fertility":1.37,"life_expect":77.03,"p_fertility":1.53,"n_fertility":1.296,"p_life_expect":76.67,"n_life_expect":77.869,"country":"Greece"},{"year":1995,"fertility":1.296,"life_expect":77.869,"p_fertility":1.37,"n_fertility":1.277,"p_life_expect":77.03,"n_life_expect":78.256,"country":"Greece"},{"year":2000,"fertility":1.277,"life_expect":78.256,"p_fertility":1.296,"p_life_expect":77.869,"country":"Greece"},{"year":1955,"fertility":6.7,"life_expect":63.114,"n_fertility":6.4,"n_life_expect":63.608,"country":"Grenada"},{"year":1960,"fertility":6.4,"life_expect":63.608,"p_fertility":6.7,"n_fertility":4.8,"p_life_expect":63.114,"n_life_expect":64.091,"country":"Grenada"},{"year":1965,"fertility":4.8,"life_expect":64.091,"p_fertility":6.4,"n_fertility":4.6,"p_life_expect":63.608,"n_life_expect":64.577,"country":"Grenada"},{"year":1970,"fertility":4.6,"life_expect":64.577,"p_fertility":4.8,"n_fertility":4.3,"p_life_expect":64.091,"n_life_expect":65.035,"country":"Grenada"},{"year":1975,"fertility":4.3,"life_expect":65.035,"p_fertility":4.6,"n_fertility":4.23,"p_life_expect":64.577,"n_life_expect":65.503,"country":"Grenada"},{"year":1980,"fertility":4.23,"life_expect":65.503,"p_fertility":4.3,"n_fertility":4.14,"p_life_expect":65.035,"n_life_expect":66.002,"country":"Grenada"},{"year":1985,"fertility":4.14,"life_expect":66.002,"p_fertility":4.23,"n_fertility":3.26,"p_life_expect":65.503,"n_life_expect":66.469,"country":"Grenada"},{"year":1990,"fertility":3.26,"life_expect":66.469,"p_fertility":4.14,"n_fertility":2.814,"p_life_expect":66.002,"n_life_expect":66.986,"country":"Grenada"},{"year":1995,"fertility":2.814,"life_expect":66.986,"p_fertility":3.26,"n_fertility":2.429,"p_life_expect":66.469,"n_life_expect":67.746,"country":"Grenada"},{"year":2000,"fertility":2.429,"life_expect":67.746,"p_fertility":2.814,"p_life_expect":66.986,"country":"Grenada"},{"year":1955,"fertility":6.3,"life_expect":40.696,"n_fertility":6.3,"n_life_expect":43.59,"country":"Haiti"},{"year":1960,"fertility":6.3,"life_expect":43.59,"p_fertility":6.3,"n_fertility":6,"p_life_expect":40.696,"n_life_expect":46.243,"country":"Haiti"},{"year":1965,"fertility":6,"life_expect":46.243,"p_fertility":6.3,"n_fertility":5.6005,"p_life_expect":43.59,"n_life_expect":48.042,"country":"Haiti"},{"year":1970,"fertility":5.6005,"life_expect":48.042,"p_fertility":6,"n_fertility":5.8,"p_life_expect":46.243,"n_life_expect":49.923,"country":"Haiti"},{"year":1975,"fertility":5.8,"life_expect":49.923,"p_fertility":5.6005,"n_fertility":6.2099,"p_life_expect":48.042,"n_life_expect":51.461,"country":"Haiti"},{"year":1980,"fertility":6.2099,"life_expect":51.461,"p_fertility":5.8,"n_fertility":5.69985,"p_life_expect":49.923,"n_life_expect":53.636,"country":"Haiti"},{"year":1985,"fertility":5.69985,"life_expect":53.636,"p_fertility":6.2099,"n_fertility":5.14985,"p_life_expect":51.461,"n_life_expect":55.089,"country":"Haiti"},{"year":1990,"fertility":5.14985,"life_expect":55.089,"p_fertility":5.69985,"n_fertility":4.61995,"p_life_expect":53.636,"n_life_expect":56.671,"country":"Haiti"},{"year":1995,"fertility":4.61995,"life_expect":56.671,"p_fertility":5.14985,"n_fertility":4,"p_life_expect":55.089,"n_life_expect":58.137,"country":"Haiti"},{"year":2000,"fertility":4,"life_expect":58.137,"p_fertility":4.61995,"p_life_expect":56.671,"country":"Haiti"},{"year":1955,"fertility":4.72,"life_expect":64.75,"n_fertility":5.31,"n_life_expect":67.65,"country":"Hong Kong"},{"year":1960,"fertility":5.31,"life_expect":67.65,"p_fertility":4.72,"n_fertility":4.02,"p_life_expect":64.75,"n_life_expect":70,"country":"Hong Kong"},{"year":1965,"fertility":4.02,"life_expect":70,"p_fertility":5.31,"n_fertility":2.89,"p_life_expect":67.65,"n_life_expect":72,"country":"Hong Kong"},{"year":1970,"fertility":2.89,"life_expect":72,"p_fertility":4.02,"n_fertility":2.32,"p_life_expect":70,"n_life_expect":73.6,"country":"Hong Kong"},{"year":1975,"fertility":2.32,"life_expect":73.6,"p_fertility":2.89,"n_fertility":1.8,"p_life_expect":72,"n_life_expect":75.45,"country":"Hong Kong"},{"year":1980,"fertility":1.8,"life_expect":75.45,"p_fertility":2.32,"n_fertility":1.31,"p_life_expect":73.6,"n_life_expect":76.2,"country":"Hong Kong"},{"year":1985,"fertility":1.31,"life_expect":76.2,"p_fertility":1.8,"n_fertility":1.288,"p_life_expect":75.45,"n_life_expect":77.601,"country":"Hong Kong"},{"year":1990,"fertility":1.288,"life_expect":77.601,"p_fertility":1.31,"n_fertility":1.08,"p_life_expect":76.2,"n_life_expect":80,"country":"Hong Kong"},{"year":1995,"fertility":1.08,"life_expect":80,"p_fertility":1.288,"n_fertility":0.94,"p_life_expect":77.601,"n_life_expect":81.495,"country":"Hong Kong"},{"year":2000,"fertility":0.94,"life_expect":81.495,"p_fertility":1.08,"p_life_expect":80,"country":"Hong Kong"},{"year":1955,"fertility":4.023,"life_expect":73.47,"n_fertility":3.943,"n_life_expect":73.68,"country":"Iceland"},{"year":1960,"fertility":3.943,"life_expect":73.68,"p_fertility":4.023,"n_fertility":3.154,"p_life_expect":73.47,"n_life_expect":73.73,"country":"Iceland"},{"year":1965,"fertility":3.154,"life_expect":73.73,"p_fertility":3.943,"n_fertility":2.843,"p_life_expect":73.68,"n_life_expect":74.46,"country":"Iceland"},{"year":1970,"fertility":2.843,"life_expect":74.46,"p_fertility":3.154,"n_fertility":2.287,"p_life_expect":73.73,"n_life_expect":76.11,"country":"Iceland"},{"year":1975,"fertility":2.287,"life_expect":76.11,"p_fertility":2.843,"n_fertility":2.248,"p_life_expect":74.46,"n_life_expect":76.99,"country":"Iceland"},{"year":1980,"fertility":2.248,"life_expect":76.99,"p_fertility":2.287,"n_fertility":2.116,"p_life_expect":76.11,"n_life_expect":77.23,"country":"Iceland"},{"year":1985,"fertility":2.116,"life_expect":77.23,"p_fertility":2.248,"n_fertility":2.194,"p_life_expect":76.99,"n_life_expect":78.77,"country":"Iceland"},{"year":1990,"fertility":2.194,"life_expect":78.77,"p_fertility":2.116,"n_fertility":2.056,"p_life_expect":77.23,"n_life_expect":78.95,"country":"Iceland"},{"year":1995,"fertility":2.056,"life_expect":78.95,"p_fertility":2.194,"n_fertility":1.993,"p_life_expect":78.77,"n_life_expect":80.5,"country":"Iceland"},{"year":2000,"fertility":1.993,"life_expect":80.5,"p_fertility":2.056,"p_life_expect":78.95,"country":"Iceland"},{"year":1955,"fertility":5.8961,"life_expect":40.249,"n_fertility":5.8216,"n_life_expect":43.605,"country":"India"},{"year":1960,"fertility":5.8216,"life_expect":43.605,"p_fertility":5.8961,"n_fertility":5.6058,"p_life_expect":40.249,"n_life_expect":47.193,"country":"India"},{"year":1965,"fertility":5.6058,"life_expect":47.193,"p_fertility":5.8216,"n_fertility":5.264,"p_life_expect":43.605,"n_life_expect":50.651,"country":"India"},{"year":1970,"fertility":5.264,"life_expect":50.651,"p_fertility":5.6058,"n_fertility":4.8888,"p_life_expect":47.193,"n_life_expect":54.208,"country":"India"},{"year":1975,"fertility":4.8888,"life_expect":54.208,"p_fertility":5.264,"n_fertility":4.4975,"p_life_expect":50.651,"n_life_expect":56.596,"country":"India"},{"year":1980,"fertility":4.4975,"life_expect":56.596,"p_fertility":4.8888,"n_fertility":4.15,"p_life_expect":54.208,"n_life_expect":58.553,"country":"India"},{"year":1985,"fertility":4.15,"life_expect":58.553,"p_fertility":4.4975,"n_fertility":3.8648,"p_life_expect":56.596,"n_life_expect":60.223,"country":"India"},{"year":1990,"fertility":3.8648,"life_expect":60.223,"p_fertility":4.15,"n_fertility":3.4551,"p_life_expect":58.553,"n_life_expect":61.765,"country":"India"},{"year":1995,"fertility":3.4551,"life_expect":61.765,"p_fertility":3.8648,"n_fertility":3.1132,"p_life_expect":60.223,"n_life_expect":62.879,"country":"India"},{"year":2000,"fertility":3.1132,"life_expect":62.879,"p_fertility":3.4551,"p_life_expect":61.765,"country":"India"},{"year":1955,"fertility":5.672,"life_expect":39.918,"n_fertility":5.62,"n_life_expect":42.518,"country":"Indonesia"},{"year":1960,"fertility":5.62,"life_expect":42.518,"p_fertility":5.672,"n_fertility":5.568,"p_life_expect":39.918,"n_life_expect":45.964,"country":"Indonesia"},{"year":1965,"fertility":5.568,"life_expect":45.964,"p_fertility":5.62,"n_fertility":5.3,"p_life_expect":42.518,"n_life_expect":49.203,"country":"Indonesia"},{"year":1970,"fertility":5.3,"life_expect":49.203,"p_fertility":5.568,"n_fertility":4.73,"p_life_expect":45.964,"n_life_expect":52.702,"country":"Indonesia"},{"year":1975,"fertility":4.73,"life_expect":52.702,"p_fertility":5.3,"n_fertility":4.109,"p_life_expect":49.203,"n_life_expect":56.159,"country":"Indonesia"},{"year":1980,"fertility":4.109,"life_expect":56.159,"p_fertility":4.73,"n_fertility":3.4,"p_life_expect":52.702,"n_life_expect":60.137,"country":"Indonesia"},{"year":1985,"fertility":3.4,"life_expect":60.137,"p_fertility":4.109,"n_fertility":2.9,"p_life_expect":56.159,"n_life_expect":62.681,"country":"Indonesia"},{"year":1990,"fertility":2.9,"life_expect":62.681,"p_fertility":3.4,"n_fertility":2.55,"p_life_expect":60.137,"n_life_expect":66.041,"country":"Indonesia"},{"year":1995,"fertility":2.55,"life_expect":66.041,"p_fertility":2.9,"n_fertility":2.3761,"p_life_expect":62.681,"n_life_expect":68.588,"country":"Indonesia"},{"year":2000,"fertility":2.3761,"life_expect":68.588,"p_fertility":2.55,"p_life_expect":66.041,"country":"Indonesia"},{"year":1955,"fertility":7,"life_expect":47.181,"n_fertility":7,"n_life_expect":49.325,"country":"Iran"},{"year":1960,"fertility":7,"life_expect":49.325,"p_fertility":7,"n_fertility":6.8,"p_life_expect":47.181,"n_life_expect":52.469,"country":"Iran"},{"year":1965,"fertility":6.8,"life_expect":52.469,"p_fertility":7,"n_fertility":6.4,"p_life_expect":49.325,"n_life_expect":55.234,"country":"Iran"},{"year":1970,"fertility":6.4,"life_expect":55.234,"p_fertility":6.8,"n_fertility":6.5,"p_life_expect":52.469,"n_life_expect":57.702,"country":"Iran"},{"year":1975,"fertility":6.5,"life_expect":57.702,"p_fertility":6.4,"n_fertility":6.63,"p_life_expect":55.234,"n_life_expect":59.62,"country":"Iran"},{"year":1980,"fertility":6.63,"life_expect":59.62,"p_fertility":6.5,"n_fertility":5.62,"p_life_expect":57.702,"n_life_expect":63.04,"country":"Iran"},{"year":1985,"fertility":5.62,"life_expect":63.04,"p_fertility":6.63,"n_fertility":4.328,"p_life_expect":59.62,"n_life_expect":65.742,"country":"Iran"},{"year":1990,"fertility":4.328,"life_expect":65.742,"p_fertility":5.62,"n_fertility":2.534,"p_life_expect":63.04,"n_life_expect":68.042,"country":"Iran"},{"year":1995,"fertility":2.534,"life_expect":68.042,"p_fertility":4.328,"n_fertility":2.124,"p_life_expect":65.742,"n_life_expect":69.451,"country":"Iran"},{"year":2000,"fertility":2.124,"life_expect":69.451,"p_fertility":2.534,"p_life_expect":68.042,"country":"Iran"},{"year":1955,"fertility":7.3,"life_expect":48.437,"n_fertility":7.25,"n_life_expect":51.457,"country":"Iraq"},{"year":1960,"fertility":7.25,"life_expect":51.457,"p_fertility":7.3,"n_fertility":7.2,"p_life_expect":48.437,"n_life_expect":54.459,"country":"Iraq"},{"year":1965,"fertility":7.2,"life_expect":54.459,"p_fertility":7.25,"n_fertility":7.15,"p_life_expect":51.457,"n_life_expect":56.95,"country":"Iraq"},{"year":1970,"fertility":7.15,"life_expect":56.95,"p_fertility":7.2,"n_fertility":6.8,"p_life_expect":54.459,"n_life_expect":60.413,"country":"Iraq"},{"year":1975,"fertility":6.8,"life_expect":60.413,"p_fertility":7.15,"n_fertility":6.35,"p_life_expect":56.95,"n_life_expect":62.038,"country":"Iraq"},{"year":1980,"fertility":6.35,"life_expect":62.038,"p_fertility":6.8,"n_fertility":6.15,"p_life_expect":60.413,"n_life_expect":65.044,"country":"Iraq"},{"year":1985,"fertility":6.15,"life_expect":65.044,"p_fertility":6.35,"n_fertility":5.7,"p_life_expect":62.038,"n_life_expect":59.461,"country":"Iraq"},{"year":1990,"fertility":5.7,"life_expect":59.461,"p_fertility":6.15,"n_fertility":5.37,"p_life_expect":65.044,"n_life_expect":58.811,"country":"Iraq"},{"year":1995,"fertility":5.37,"life_expect":58.811,"p_fertility":5.7,"n_fertility":4.858,"p_life_expect":59.461,"n_life_expect":57.046,"country":"Iraq"},{"year":2000,"fertility":4.858,"life_expect":57.046,"p_fertility":5.37,"p_life_expect":58.811,"country":"Iraq"},{"year":1955,"fertility":3.68,"life_expect":68.9,"n_fertility":3.979,"n_life_expect":70.29,"country":"Ireland"},{"year":1960,"fertility":3.979,"life_expect":70.29,"p_fertility":3.68,"n_fertility":3.873,"p_life_expect":68.9,"n_life_expect":71.08,"country":"Ireland"},{"year":1965,"fertility":3.873,"life_expect":71.08,"p_fertility":3.979,"n_fertility":3.815,"p_life_expect":70.29,"n_life_expect":71.28,"country":"Ireland"},{"year":1970,"fertility":3.815,"life_expect":71.28,"p_fertility":3.873,"n_fertility":3.478,"p_life_expect":71.08,"n_life_expect":72.03,"country":"Ireland"},{"year":1975,"fertility":3.478,"life_expect":72.03,"p_fertility":3.815,"n_fertility":2.877,"p_life_expect":71.28,"n_life_expect":73.1,"country":"Ireland"},{"year":1980,"fertility":2.877,"life_expect":73.1,"p_fertility":3.478,"n_fertility":2.287,"p_life_expect":72.03,"n_life_expect":74.36,"country":"Ireland"},{"year":1985,"fertility":2.287,"life_expect":74.36,"p_fertility":2.877,"n_fertility":1.969,"p_life_expect":73.1,"n_life_expect":75.467,"country":"Ireland"},{"year":1990,"fertility":1.969,"life_expect":75.467,"p_fertility":2.287,"n_fertility":1.9,"p_life_expect":74.36,"n_life_expect":76.122,"country":"Ireland"},{"year":1995,"fertility":1.9,"life_expect":76.122,"p_fertility":1.969,"n_fertility":1.969,"p_life_expect":75.467,"n_life_expect":77.783,"country":"Ireland"},{"year":2000,"fertility":1.969,"life_expect":77.783,"p_fertility":1.9,"p_life_expect":76.122,"country":"Ireland"},{"year":1955,"fertility":3.893,"life_expect":67.84,"n_fertility":3.852,"n_life_expect":69.39,"country":"Israel"},{"year":1960,"fertility":3.852,"life_expect":69.39,"p_fertility":3.893,"n_fertility":3.79,"p_life_expect":67.84,"n_life_expect":70.75,"country":"Israel"},{"year":1965,"fertility":3.79,"life_expect":70.75,"p_fertility":3.852,"n_fertility":3.77,"p_life_expect":69.39,"n_life_expect":71.63,"country":"Israel"},{"year":1970,"fertility":3.77,"life_expect":71.63,"p_fertility":3.79,"n_fertility":3.409,"p_life_expect":70.75,"n_life_expect":73.06,"country":"Israel"},{"year":1975,"fertility":3.409,"life_expect":73.06,"p_fertility":3.77,"n_fertility":3.125,"p_life_expect":71.63,"n_life_expect":74.45,"country":"Israel"},{"year":1980,"fertility":3.125,"life_expect":74.45,"p_fertility":3.409,"n_fertility":3.051,"p_life_expect":73.06,"n_life_expect":75.6,"country":"Israel"},{"year":1985,"fertility":3.051,"life_expect":75.6,"p_fertility":3.125,"n_fertility":2.933,"p_life_expect":74.45,"n_life_expect":76.93,"country":"Israel"},{"year":1990,"fertility":2.933,"life_expect":76.93,"p_fertility":3.051,"n_fertility":2.942,"p_life_expect":75.6,"n_life_expect":78.269,"country":"Israel"},{"year":1995,"fertility":2.942,"life_expect":78.269,"p_fertility":2.933,"n_fertility":2.906,"p_life_expect":76.93,"n_life_expect":79.696,"country":"Israel"},{"year":2000,"fertility":2.906,"life_expect":79.696,"p_fertility":2.942,"p_life_expect":78.269,"country":"Israel"},{"year":1955,"fertility":2.35,"life_expect":67.81,"n_fertility":2.498,"n_life_expect":69.24,"country":"Italy"},{"year":1960,"fertility":2.498,"life_expect":69.24,"p_fertility":2.35,"n_fertility":2.493,"p_life_expect":67.81,"n_life_expect":71.06,"country":"Italy"},{"year":1965,"fertility":2.493,"life_expect":71.06,"p_fertility":2.498,"n_fertility":2.325,"p_life_expect":69.24,"n_life_expect":72.19,"country":"Italy"},{"year":1970,"fertility":2.325,"life_expect":72.19,"p_fertility":2.493,"n_fertility":1.889,"p_life_expect":71.06,"n_life_expect":73.48,"country":"Italy"},{"year":1975,"fertility":1.889,"life_expect":73.48,"p_fertility":2.325,"n_fertility":1.53,"p_life_expect":72.19,"n_life_expect":74.98,"country":"Italy"},{"year":1980,"fertility":1.53,"life_expect":74.98,"p_fertility":1.889,"n_fertility":1.349,"p_life_expect":73.48,"n_life_expect":76.42,"country":"Italy"},{"year":1985,"fertility":1.349,"life_expect":76.42,"p_fertility":1.53,"n_fertility":1.275,"p_life_expect":74.98,"n_life_expect":77.44,"country":"Italy"},{"year":1990,"fertility":1.275,"life_expect":77.44,"p_fertility":1.349,"n_fertility":1.213,"p_life_expect":76.42,"n_life_expect":78.82,"country":"Italy"},{"year":1995,"fertility":1.213,"life_expect":78.82,"p_fertility":1.275,"n_fertility":1.286,"p_life_expect":77.44,"n_life_expect":80.24,"country":"Italy"},{"year":2000,"fertility":1.286,"life_expect":80.24,"p_fertility":1.213,"p_life_expect":78.82,"country":"Italy"},{"year":1955,"fertility":5.08,"life_expect":62.61,"n_fertility":5.64,"n_life_expect":65.61,"country":"Jamaica"},{"year":1960,"fertility":5.64,"life_expect":65.61,"p_fertility":5.08,"n_fertility":5.78,"p_life_expect":62.61,"n_life_expect":67.51,"country":"Jamaica"},{"year":1965,"fertility":5.78,"life_expect":67.51,"p_fertility":5.64,"n_fertility":5,"p_life_expect":65.61,"n_life_expect":69,"country":"Jamaica"},{"year":1970,"fertility":5,"life_expect":69,"p_fertility":5.78,"n_fertility":4,"p_life_expect":67.51,"n_life_expect":70.11,"country":"Jamaica"},{"year":1975,"fertility":4,"life_expect":70.11,"p_fertility":5,"n_fertility":3.55,"p_life_expect":69,"n_life_expect":71.21,"country":"Jamaica"},{"year":1980,"fertility":3.55,"life_expect":71.21,"p_fertility":4,"n_fertility":3.1,"p_life_expect":70.11,"n_life_expect":71.77,"country":"Jamaica"},{"year":1985,"fertility":3.1,"life_expect":71.77,"p_fertility":3.55,"n_fertility":2.84,"p_life_expect":71.21,"n_life_expect":71.766,"country":"Jamaica"},{"year":1990,"fertility":2.84,"life_expect":71.766,"p_fertility":3.1,"n_fertility":2.67,"p_life_expect":71.77,"n_life_expect":72.262,"country":"Jamaica"},{"year":1995,"fertility":2.67,"life_expect":72.262,"p_fertility":2.84,"n_fertility":2.628,"p_life_expect":71.766,"n_life_expect":72.047,"country":"Jamaica"},{"year":2000,"fertility":2.628,"life_expect":72.047,"p_fertility":2.67,"p_life_expect":72.262,"country":"Jamaica"},{"year":1955,"fertility":2.08,"life_expect":65.5,"n_fertility":2.02,"n_life_expect":68.73,"country":"Japan"},{"year":1960,"fertility":2.02,"life_expect":68.73,"p_fertility":2.08,"n_fertility":2,"p_life_expect":65.5,"n_life_expect":71.43,"country":"Japan"},{"year":1965,"fertility":2,"life_expect":71.43,"p_fertility":2.02,"n_fertility":2.07,"p_life_expect":68.73,"n_life_expect":73.42,"country":"Japan"},{"year":1970,"fertility":2.07,"life_expect":73.42,"p_fertility":2,"n_fertility":1.81,"p_life_expect":71.43,"n_life_expect":75.38,"country":"Japan"},{"year":1975,"fertility":1.81,"life_expect":75.38,"p_fertility":2.07,"n_fertility":1.76,"p_life_expect":73.42,"n_life_expect":77.11,"country":"Japan"},{"year":1980,"fertility":1.76,"life_expect":77.11,"p_fertility":1.81,"n_fertility":1.66,"p_life_expect":75.38,"n_life_expect":78.67,"country":"Japan"},{"year":1985,"fertility":1.66,"life_expect":78.67,"p_fertility":1.76,"n_fertility":1.49,"p_life_expect":77.11,"n_life_expect":79.36,"country":"Japan"},{"year":1990,"fertility":1.49,"life_expect":79.36,"p_fertility":1.66,"n_fertility":1.39,"p_life_expect":78.67,"n_life_expect":80.69,"country":"Japan"},{"year":1995,"fertility":1.39,"life_expect":80.69,"p_fertility":1.49,"n_fertility":1.291,"p_life_expect":79.36,"n_life_expect":82,"country":"Japan"},{"year":2000,"fertility":1.291,"life_expect":82,"p_fertility":1.39,"p_life_expect":80.69,"country":"Japan"},{"year":1955,"fertility":7.816,"life_expect":44.686,"n_fertility":8.12,"n_life_expect":47.949,"country":"Kenya"},{"year":1960,"fertility":8.12,"life_expect":47.949,"p_fertility":7.816,"n_fertility":8.12,"p_life_expect":44.686,"n_life_expect":50.654,"country":"Kenya"},{"year":1965,"fertility":8.12,"life_expect":50.654,"p_fertility":8.12,"n_fertility":8,"p_life_expect":47.949,"n_life_expect":53.559,"country":"Kenya"},{"year":1970,"fertility":8,"life_expect":53.559,"p_fertility":8.12,"n_fertility":7.6,"p_life_expect":50.654,"n_life_expect":56.155,"country":"Kenya"},{"year":1975,"fertility":7.6,"life_expect":56.155,"p_fertility":8,"n_fertility":7.2,"p_life_expect":53.559,"n_life_expect":58.766,"country":"Kenya"},{"year":1980,"fertility":7.2,"life_expect":58.766,"p_fertility":7.6,"n_fertility":6.5,"p_life_expect":56.155,"n_life_expect":59.339,"country":"Kenya"},{"year":1985,"fertility":6.5,"life_expect":59.339,"p_fertility":7.2,"n_fertility":5.4,"p_life_expect":58.766,"n_life_expect":59.285,"country":"Kenya"},{"year":1990,"fertility":5.4,"life_expect":59.285,"p_fertility":6.5,"n_fertility":5,"p_life_expect":59.339,"n_life_expect":54.407,"country":"Kenya"},{"year":1995,"fertility":5,"life_expect":54.407,"p_fertility":5.4,"n_fertility":5,"p_life_expect":59.285,"n_life_expect":50.992,"country":"Kenya"},{"year":2000,"fertility":5,"life_expect":50.992,"p_fertility":5,"p_life_expect":54.407,"country":"Kenya"},{"year":1955,"fertility":3.8,"life_expect":54.081,"n_fertility":3.41,"n_life_expect":56.656,"country":"South Korea"},{"year":1960,"fertility":3.41,"life_expect":56.656,"p_fertility":3.8,"n_fertility":4.09,"p_life_expect":54.081,"n_life_expect":59.942,"country":"South Korea"},{"year":1965,"fertility":4.09,"life_expect":59.942,"p_fertility":3.41,"n_fertility":3.72,"p_life_expect":56.656,"n_life_expect":63.983,"country":"South Korea"},{"year":1970,"fertility":3.72,"life_expect":63.983,"p_fertility":4.09,"n_fertility":2.58,"p_life_expect":59.942,"n_life_expect":67.159,"country":"South Korea"},{"year":1975,"fertility":2.58,"life_expect":67.159,"p_fertility":3.72,"n_fertility":2.93,"p_life_expect":63.983,"n_life_expect":69.1,"country":"South Korea"},{"year":1980,"fertility":2.93,"life_expect":69.1,"p_fertility":2.58,"n_fertility":2.45,"p_life_expect":67.159,"n_life_expect":70.647,"country":"South Korea"},{"year":1985,"fertility":2.45,"life_expect":70.647,"p_fertility":2.93,"n_fertility":2.35,"p_life_expect":69.1,"n_life_expect":69.978,"country":"South Korea"},{"year":1990,"fertility":2.35,"life_expect":69.978,"p_fertility":2.45,"n_fertility":2.0938,"p_life_expect":70.647,"n_life_expect":67.727,"country":"South Korea"},{"year":1995,"fertility":2.0938,"life_expect":67.727,"p_fertility":2.35,"n_fertility":1.9173,"p_life_expect":69.978,"n_life_expect":66.662,"country":"South Korea"},{"year":2000,"fertility":1.9173,"life_expect":66.662,"p_fertility":2.0938,"p_life_expect":67.727,"country":"South Korea"},{"year":1955,"fertility":6.332,"life_expect":52.681,"n_fertility":5.63,"n_life_expect":55.292,"country":"North Korea"},{"year":1960,"fertility":5.63,"life_expect":55.292,"p_fertility":6.332,"n_fertility":4.708,"p_life_expect":52.681,"n_life_expect":57.716,"country":"North Korea"},{"year":1965,"fertility":4.708,"life_expect":57.716,"p_fertility":5.63,"n_fertility":4.281,"p_life_expect":55.292,"n_life_expect":62.612,"country":"North Korea"},{"year":1970,"fertility":4.281,"life_expect":62.612,"p_fertility":4.708,"n_fertility":2.919,"p_life_expect":57.716,"n_life_expect":64.766,"country":"North Korea"},{"year":1975,"fertility":2.919,"life_expect":64.766,"p_fertility":4.281,"n_fertility":2.234,"p_life_expect":62.612,"n_life_expect":67.123,"country":"North Korea"},{"year":1980,"fertility":2.234,"life_expect":67.123,"p_fertility":2.919,"n_fertility":1.601,"p_life_expect":64.766,"n_life_expect":69.81,"country":"North Korea"},{"year":1985,"fertility":1.601,"life_expect":69.81,"p_fertility":2.234,"n_fertility":1.696,"p_life_expect":67.123,"n_life_expect":72.244,"country":"North Korea"},{"year":1990,"fertility":1.696,"life_expect":72.244,"p_fertility":1.601,"n_fertility":1.514,"p_life_expect":69.81,"n_life_expect":74.647,"country":"North Korea"},{"year":1995,"fertility":1.514,"life_expect":74.647,"p_fertility":1.696,"n_fertility":1.242,"p_life_expect":72.244,"n_life_expect":77.045,"country":"North Korea"},{"year":2000,"fertility":1.242,"life_expect":77.045,"p_fertility":1.514,"p_life_expect":74.647,"country":"North Korea"},{"year":1955,"fertility":5.72,"life_expect":59.489,"n_fertility":5.689,"n_life_expect":62.094,"country":"Lebanon"},{"year":1960,"fertility":5.689,"life_expect":62.094,"p_fertility":5.72,"n_fertility":5.336,"p_life_expect":59.489,"n_life_expect":63.87,"country":"Lebanon"},{"year":1965,"fertility":5.336,"life_expect":63.87,"p_fertility":5.689,"n_fertility":4.78,"p_life_expect":62.094,"n_life_expect":65.421,"country":"Lebanon"},{"year":1970,"fertility":4.78,"life_expect":65.421,"p_fertility":5.336,"n_fertility":4.311,"p_life_expect":63.87,"n_life_expect":66.099,"country":"Lebanon"},{"year":1975,"fertility":4.311,"life_expect":66.099,"p_fertility":4.78,"n_fertility":3.895,"p_life_expect":65.421,"n_life_expect":66.983,"country":"Lebanon"},{"year":1980,"fertility":3.895,"life_expect":66.983,"p_fertility":4.311,"n_fertility":3.313,"p_life_expect":66.099,"n_life_expect":67.926,"country":"Lebanon"},{"year":1985,"fertility":3.313,"life_expect":67.926,"p_fertility":3.895,"n_fertility":3,"p_life_expect":66.983,"n_life_expect":69.292,"country":"Lebanon"},{"year":1990,"fertility":3,"life_expect":69.292,"p_fertility":3.313,"n_fertility":2.695,"p_life_expect":67.926,"n_life_expect":70.265,"country":"Lebanon"},{"year":1995,"fertility":2.695,"life_expect":70.265,"p_fertility":3,"n_fertility":2.319,"p_life_expect":69.292,"n_life_expect":71.028,"country":"Lebanon"},{"year":2000,"fertility":2.319,"life_expect":71.028,"p_fertility":2.695,"p_life_expect":70.265,"country":"Lebanon"},{"year":1955,"fertility":6.8,"life_expect":55.19,"n_fertility":6.7495,"n_life_expect":58.299,"country":"Mexico"},{"year":1960,"fertility":6.7495,"life_expect":58.299,"p_fertility":6.8,"n_fertility":6.7495,"p_life_expect":55.19,"n_life_expect":60.11,"country":"Mexico"},{"year":1965,"fertility":6.7495,"life_expect":60.11,"p_fertility":6.7495,"n_fertility":6.5,"p_life_expect":58.299,"n_life_expect":62.361,"country":"Mexico"},{"year":1970,"fertility":6.5,"life_expect":62.361,"p_fertility":6.7495,"n_fertility":5.2505,"p_life_expect":60.11,"n_life_expect":65.032,"country":"Mexico"},{"year":1975,"fertility":5.2505,"life_expect":65.032,"p_fertility":6.5,"n_fertility":4.25,"p_life_expect":62.361,"n_life_expect":67.405,"country":"Mexico"},{"year":1980,"fertility":4.25,"life_expect":67.405,"p_fertility":5.2505,"n_fertility":3.6295,"p_life_expect":65.032,"n_life_expect":69.498,"country":"Mexico"},{"year":1985,"fertility":3.6295,"life_expect":69.498,"p_fertility":4.25,"n_fertility":3.1905,"p_life_expect":67.405,"n_life_expect":71.455,"country":"Mexico"},{"year":1990,"fertility":3.1905,"life_expect":71.455,"p_fertility":3.6295,"n_fertility":2.6705,"p_life_expect":69.498,"n_life_expect":73.67,"country":"Mexico"},{"year":1995,"fertility":2.6705,"life_expect":73.67,"p_fertility":3.1905,"n_fertility":2.4005,"p_life_expect":71.455,"n_life_expect":74.902,"country":"Mexico"},{"year":2000,"fertility":2.4005,"life_expect":74.902,"p_fertility":2.6705,"p_life_expect":73.67,"country":"Mexico"},{"year":1955,"fertility":3.095,"life_expect":72.99,"n_fertility":3.168,"n_life_expect":73.23,"country":"Netherlands"},{"year":1960,"fertility":3.168,"life_expect":73.23,"p_fertility":3.095,"n_fertility":2.797,"p_life_expect":72.99,"n_life_expect":73.82,"country":"Netherlands"},{"year":1965,"fertility":2.797,"life_expect":73.82,"p_fertility":3.168,"n_fertility":2.059,"p_life_expect":73.23,"n_life_expect":73.75,"country":"Netherlands"},{"year":1970,"fertility":2.059,"life_expect":73.75,"p_fertility":2.797,"n_fertility":1.596,"p_life_expect":73.82,"n_life_expect":75.24,"country":"Netherlands"},{"year":1975,"fertility":1.596,"life_expect":75.24,"p_fertility":2.059,"n_fertility":1.515,"p_life_expect":73.75,"n_life_expect":76.05,"country":"Netherlands"},{"year":1980,"fertility":1.515,"life_expect":76.05,"p_fertility":1.596,"n_fertility":1.555,"p_life_expect":75.24,"n_life_expect":76.83,"country":"Netherlands"},{"year":1985,"fertility":1.555,"life_expect":76.83,"p_fertility":1.515,"n_fertility":1.583,"p_life_expect":76.05,"n_life_expect":77.42,"country":"Netherlands"},{"year":1990,"fertility":1.583,"life_expect":77.42,"p_fertility":1.555,"n_fertility":1.6,"p_life_expect":76.83,"n_life_expect":78.03,"country":"Netherlands"},{"year":1995,"fertility":1.6,"life_expect":78.03,"p_fertility":1.583,"n_fertility":1.726,"p_life_expect":77.42,"n_life_expect":78.53,"country":"Netherlands"},{"year":2000,"fertility":1.726,"life_expect":78.53,"p_fertility":1.6,"p_life_expect":78.03,"country":"Netherlands"},{"year":1955,"fertility":4.07,"life_expect":70.26,"n_fertility":4.022,"n_life_expect":71.24,"country":"New Zealand"},{"year":1960,"fertility":4.022,"life_expect":71.24,"p_fertility":4.07,"n_fertility":3.348,"p_life_expect":70.26,"n_life_expect":71.52,"country":"New Zealand"},{"year":1965,"fertility":3.348,"life_expect":71.52,"p_fertility":4.022,"n_fertility":2.843,"p_life_expect":71.24,"n_life_expect":71.89,"country":"New Zealand"},{"year":1970,"fertility":2.843,"life_expect":71.89,"p_fertility":3.348,"n_fertility":2.178,"p_life_expect":71.52,"n_life_expect":72.22,"country":"New Zealand"},{"year":1975,"fertility":2.178,"life_expect":72.22,"p_fertility":2.843,"n_fertility":1.963,"p_life_expect":71.89,"n_life_expect":73.84,"country":"New Zealand"},{"year":1980,"fertility":1.963,"life_expect":73.84,"p_fertility":2.178,"n_fertility":2.053,"p_life_expect":72.22,"n_life_expect":74.32,"country":"New Zealand"},{"year":1985,"fertility":2.053,"life_expect":74.32,"p_fertility":1.963,"n_fertility":2.061,"p_life_expect":73.84,"n_life_expect":76.33,"country":"New Zealand"},{"year":1990,"fertility":2.061,"life_expect":76.33,"p_fertility":2.053,"n_fertility":1.952,"p_life_expect":74.32,"n_life_expect":77.55,"country":"New Zealand"},{"year":1995,"fertility":1.952,"life_expect":77.55,"p_fertility":2.061,"n_fertility":1.964,"p_life_expect":76.33,"n_life_expect":79.11,"country":"New Zealand"},{"year":2000,"fertility":1.964,"life_expect":79.11,"p_fertility":1.952,"p_life_expect":77.55,"country":"New Zealand"},{"year":1955,"fertility":6.9,"life_expect":37.802,"n_fertility":6.9,"n_life_expect":39.36,"country":"Nigeria"},{"year":1960,"fertility":6.9,"life_expect":39.36,"p_fertility":6.9,"n_fertility":6.9,"p_life_expect":37.802,"n_life_expect":41.04,"country":"Nigeria"},{"year":1965,"fertility":6.9,"life_expect":41.04,"p_fertility":6.9,"n_fertility":6.9,"p_life_expect":39.36,"n_life_expect":42.821,"country":"Nigeria"},{"year":1970,"fertility":6.9,"life_expect":42.821,"p_fertility":6.9,"n_fertility":6.9,"p_life_expect":41.04,"n_life_expect":44.514,"country":"Nigeria"},{"year":1975,"fertility":6.9,"life_expect":44.514,"p_fertility":6.9,"n_fertility":6.9,"p_life_expect":42.821,"n_life_expect":45.826,"country":"Nigeria"},{"year":1980,"fertility":6.9,"life_expect":45.826,"p_fertility":6.9,"n_fertility":6.834,"p_life_expect":44.514,"n_life_expect":46.886,"country":"Nigeria"},{"year":1985,"fertility":6.834,"life_expect":46.886,"p_fertility":6.9,"n_fertility":6.635,"p_life_expect":45.826,"n_life_expect":47.472,"country":"Nigeria"},{"year":1990,"fertility":6.635,"life_expect":47.472,"p_fertility":6.834,"n_fertility":6.246,"p_life_expect":46.886,"n_life_expect":47.464,"country":"Nigeria"},{"year":1995,"fertility":6.246,"life_expect":47.464,"p_fertility":6.635,"n_fertility":5.845,"p_life_expect":47.472,"n_life_expect":46.608,"country":"Nigeria"},{"year":2000,"fertility":5.845,"life_expect":46.608,"p_fertility":6.246,"p_life_expect":47.464,"country":"Nigeria"},{"year":1955,"fertility":2.837,"life_expect":73.44,"n_fertility":2.898,"n_life_expect":73.47,"country":"Norway"},{"year":1960,"fertility":2.898,"life_expect":73.47,"p_fertility":2.837,"n_fertility":2.719,"p_life_expect":73.44,"n_life_expect":74.08,"country":"Norway"},{"year":1965,"fertility":2.719,"life_expect":74.08,"p_fertility":2.898,"n_fertility":2.248,"p_life_expect":73.47,"n_life_expect":74.34,"country":"Norway"},{"year":1970,"fertility":2.248,"life_expect":74.34,"p_fertility":2.719,"n_fertility":1.81,"p_life_expect":74.08,"n_life_expect":75.37,"country":"Norway"},{"year":1975,"fertility":1.81,"life_expect":75.37,"p_fertility":2.248,"n_fertility":1.687,"p_life_expect":74.34,"n_life_expect":75.97,"country":"Norway"},{"year":1980,"fertility":1.687,"life_expect":75.97,"p_fertility":1.81,"n_fertility":1.8,"p_life_expect":75.37,"n_life_expect":75.89,"country":"Norway"},{"year":1985,"fertility":1.8,"life_expect":75.89,"p_fertility":1.687,"n_fertility":1.886,"p_life_expect":75.97,"n_life_expect":77.32,"country":"Norway"},{"year":1990,"fertility":1.886,"life_expect":77.32,"p_fertility":1.8,"n_fertility":1.853,"p_life_expect":75.89,"n_life_expect":78.32,"country":"Norway"},{"year":1995,"fertility":1.853,"life_expect":78.32,"p_fertility":1.886,"n_fertility":1.801,"p_life_expect":77.32,"n_life_expect":79.05,"country":"Norway"},{"year":2000,"fertility":1.801,"life_expect":79.05,"p_fertility":1.853,"p_life_expect":78.32,"country":"Norway"},{"year":1955,"fertility":6.6,"life_expect":45.557,"n_fertility":6.6,"n_life_expect":47.67,"country":"Pakistan"},{"year":1960,"fertility":6.6,"life_expect":47.67,"p_fertility":6.6,"n_fertility":6.6,"p_life_expect":45.557,"n_life_expect":49.8,"country":"Pakistan"},{"year":1965,"fertility":6.6,"life_expect":49.8,"p_fertility":6.6,"n_fertility":6.6,"p_life_expect":47.67,"n_life_expect":51.929,"country":"Pakistan"},{"year":1970,"fertility":6.6,"life_expect":51.929,"p_fertility":6.6,"n_fertility":6.6,"p_life_expect":49.8,"n_life_expect":54.043,"country":"Pakistan"},{"year":1975,"fertility":6.6,"life_expect":54.043,"p_fertility":6.6,"n_fertility":6.6,"p_life_expect":51.929,"n_life_expect":56.158,"country":"Pakistan"},{"year":1980,"fertility":6.6,"life_expect":56.158,"p_fertility":6.6,"n_fertility":6.66,"p_life_expect":54.043,"n_life_expect":58.245,"country":"Pakistan"},{"year":1985,"fertility":6.66,"life_expect":58.245,"p_fertility":6.6,"n_fertility":5.8,"p_life_expect":56.158,"n_life_expect":60.838,"country":"Pakistan"},{"year":1990,"fertility":5.8,"life_expect":60.838,"p_fertility":6.66,"n_fertility":4.9596,"p_life_expect":58.245,"n_life_expect":61.818,"country":"Pakistan"},{"year":1995,"fertility":4.9596,"life_expect":61.818,"p_fertility":5.8,"n_fertility":3.9936,"p_life_expect":60.838,"n_life_expect":63.61,"country":"Pakistan"},{"year":2000,"fertility":3.9936,"life_expect":63.61,"p_fertility":4.9596,"p_life_expect":61.818,"country":"Pakistan"},{"year":1955,"fertility":6.853,"life_expect":46.263,"n_fertility":6.853,"n_life_expect":49.096,"country":"Peru"},{"year":1960,"fertility":6.853,"life_expect":49.096,"p_fertility":6.853,"n_fertility":6.56,"p_life_expect":46.263,"n_life_expect":51.445,"country":"Peru"},{"year":1965,"fertility":6.56,"life_expect":51.445,"p_fertility":6.853,"n_fertility":6,"p_life_expect":49.096,"n_life_expect":55.448,"country":"Peru"},{"year":1970,"fertility":6,"life_expect":55.448,"p_fertility":6.56,"n_fertility":5.378,"p_life_expect":51.445,"n_life_expect":58.447,"country":"Peru"},{"year":1975,"fertility":5.378,"life_expect":58.447,"p_fertility":6,"n_fertility":4.65,"p_life_expect":55.448,"n_life_expect":61.406,"country":"Peru"},{"year":1980,"fertility":4.65,"life_expect":61.406,"p_fertility":5.378,"n_fertility":4.1,"p_life_expect":58.447,"n_life_expect":64.134,"country":"Peru"},{"year":1985,"fertility":4.1,"life_expect":64.134,"p_fertility":4.65,"n_fertility":3.7,"p_life_expect":61.406,"n_life_expect":66.458,"country":"Peru"},{"year":1990,"fertility":3.7,"life_expect":66.458,"p_fertility":4.1,"n_fertility":3.0995,"p_life_expect":64.134,"n_life_expect":68.386,"country":"Peru"},{"year":1995,"fertility":3.0995,"life_expect":68.386,"p_fertility":3.7,"n_fertility":2.7005,"p_life_expect":66.458,"n_life_expect":69.906,"country":"Peru"},{"year":2000,"fertility":2.7005,"life_expect":69.906,"p_fertility":3.0995,"p_life_expect":68.386,"country":"Peru"},{"year":1955,"fertility":7.13,"life_expect":51.334,"n_fertility":6.85,"n_life_expect":54.757,"country":"Philippines"},{"year":1960,"fertility":6.85,"life_expect":54.757,"p_fertility":7.13,"n_fertility":6.5,"p_life_expect":51.334,"n_life_expect":56.393,"country":"Philippines"},{"year":1965,"fertility":6.5,"life_expect":56.393,"p_fertility":6.85,"n_fertility":6,"p_life_expect":54.757,"n_life_expect":58.065,"country":"Philippines"},{"year":1970,"fertility":6,"life_expect":58.065,"p_fertility":6.5,"n_fertility":5.5,"p_life_expect":56.393,"n_life_expect":60.06,"country":"Philippines"},{"year":1975,"fertility":5.5,"life_expect":60.06,"p_fertility":6,"n_fertility":4.95,"p_life_expect":58.065,"n_life_expect":62.082,"country":"Philippines"},{"year":1980,"fertility":4.95,"life_expect":62.082,"p_fertility":5.5,"n_fertility":4.55,"p_life_expect":60.06,"n_life_expect":64.151,"country":"Philippines"},{"year":1985,"fertility":4.55,"life_expect":64.151,"p_fertility":4.95,"n_fertility":4.143,"p_life_expect":62.082,"n_life_expect":66.458,"country":"Philippines"},{"year":1990,"fertility":4.143,"life_expect":66.458,"p_fertility":4.55,"n_fertility":3.7248,"p_life_expect":64.151,"n_life_expect":68.564,"country":"Philippines"},{"year":1995,"fertility":3.7248,"life_expect":68.564,"p_fertility":4.143,"n_fertility":3.5436,"p_life_expect":66.458,"n_life_expect":70.303,"country":"Philippines"},{"year":2000,"fertility":3.5436,"life_expect":70.303,"p_fertility":3.7248,"p_life_expect":68.564,"country":"Philippines"},{"year":1955,"fertility":3.29,"life_expect":65.77,"n_fertility":2.65,"n_life_expect":67.64,"country":"Poland"},{"year":1960,"fertility":2.65,"life_expect":67.64,"p_fertility":3.29,"n_fertility":2.27,"p_life_expect":65.77,"n_life_expect":69.61,"country":"Poland"},{"year":1965,"fertility":2.27,"life_expect":69.61,"p_fertility":2.65,"n_fertility":2.25,"p_life_expect":67.64,"n_life_expect":70.85,"country":"Poland"},{"year":1970,"fertility":2.25,"life_expect":70.85,"p_fertility":2.27,"n_fertility":2.26,"p_life_expect":69.61,"n_life_expect":70.67,"country":"Poland"},{"year":1975,"fertility":2.26,"life_expect":70.67,"p_fertility":2.25,"n_fertility":2.33,"p_life_expect":70.85,"n_life_expect":71.32,"country":"Poland"},{"year":1980,"fertility":2.33,"life_expect":71.32,"p_fertility":2.26,"n_fertility":2.15,"p_life_expect":70.67,"n_life_expect":70.98,"country":"Poland"},{"year":1985,"fertility":2.15,"life_expect":70.98,"p_fertility":2.33,"n_fertility":1.89,"p_life_expect":71.32,"n_life_expect":70.99,"country":"Poland"},{"year":1990,"fertility":1.89,"life_expect":70.99,"p_fertility":2.15,"n_fertility":1.478,"p_life_expect":70.98,"n_life_expect":72.75,"country":"Poland"},{"year":1995,"fertility":1.478,"life_expect":72.75,"p_fertility":1.89,"n_fertility":1.251,"p_life_expect":70.99,"n_life_expect":74.67,"country":"Poland"},{"year":2000,"fertility":1.251,"life_expect":74.67,"p_fertility":1.478,"p_life_expect":72.75,"country":"Poland"},{"year":1955,"fertility":3.03,"life_expect":61.51,"n_fertility":3.074,"n_life_expect":64.39,"country":"Portugal"},{"year":1960,"fertility":3.074,"life_expect":64.39,"p_fertility":3.03,"n_fertility":2.849,"p_life_expect":61.51,"n_life_expect":66.6,"country":"Portugal"},{"year":1965,"fertility":2.849,"life_expect":66.6,"p_fertility":3.074,"n_fertility":2.748,"p_life_expect":64.39,"n_life_expect":69.26,"country":"Portugal"},{"year":1970,"fertility":2.748,"life_expect":69.26,"p_fertility":2.849,"n_fertility":2.41,"p_life_expect":66.6,"n_life_expect":70.41,"country":"Portugal"},{"year":1975,"fertility":2.41,"life_expect":70.41,"p_fertility":2.748,"n_fertility":1.982,"p_life_expect":69.26,"n_life_expect":72.77,"country":"Portugal"},{"year":1980,"fertility":1.982,"life_expect":72.77,"p_fertility":2.41,"n_fertility":1.594,"p_life_expect":70.41,"n_life_expect":74.06,"country":"Portugal"},{"year":1985,"fertility":1.594,"life_expect":74.06,"p_fertility":1.982,"n_fertility":1.516,"p_life_expect":72.77,"n_life_expect":74.86,"country":"Portugal"},{"year":1990,"fertility":1.516,"life_expect":74.86,"p_fertility":1.594,"n_fertility":1.475,"p_life_expect":74.06,"n_life_expect":75.97,"country":"Portugal"},{"year":1995,"fertility":1.475,"life_expect":75.97,"p_fertility":1.516,"n_fertility":1.454,"p_life_expect":74.86,"n_life_expect":77.29,"country":"Portugal"},{"year":2000,"fertility":1.454,"life_expect":77.29,"p_fertility":1.475,"p_life_expect":75.97,"country":"Portugal"},{"year":1955,"fertility":8,"life_expect":41.5,"n_fertility":8.1,"n_life_expect":43,"country":"Rwanda"},{"year":1960,"fertility":8.1,"life_expect":43,"p_fertility":8,"n_fertility":8.2,"p_life_expect":41.5,"n_life_expect":44.1,"country":"Rwanda"},{"year":1965,"fertility":8.2,"life_expect":44.1,"p_fertility":8.1,"n_fertility":8.29,"p_life_expect":43,"n_life_expect":44.6,"country":"Rwanda"},{"year":1970,"fertility":8.29,"life_expect":44.6,"p_fertility":8.2,"n_fertility":8.492,"p_life_expect":44.1,"n_life_expect":45,"country":"Rwanda"},{"year":1975,"fertility":8.492,"life_expect":45,"p_fertility":8.29,"n_fertility":8.5,"p_life_expect":44.6,"n_life_expect":46.218,"country":"Rwanda"},{"year":1980,"fertility":8.5,"life_expect":46.218,"p_fertility":8.492,"n_fertility":8.25,"p_life_expect":45,"n_life_expect":44.02,"country":"Rwanda"},{"year":1985,"fertility":8.25,"life_expect":44.02,"p_fertility":8.5,"n_fertility":6.9,"p_life_expect":46.218,"n_life_expect":23.599,"country":"Rwanda"},{"year":1990,"fertility":6.9,"life_expect":23.599,"p_fertility":8.25,"n_fertility":6.0993,"p_life_expect":44.02,"n_life_expect":36.087,"country":"Rwanda"},{"year":1995,"fertility":6.0993,"life_expect":36.087,"p_fertility":6.9,"n_fertility":6.01,"p_life_expect":23.599,"n_life_expect":43.413,"country":"Rwanda"},{"year":2000,"fertility":6.01,"life_expect":43.413,"p_fertility":6.0993,"p_life_expect":36.087,"country":"Rwanda"},{"year":1955,"fertility":7.175,"life_expect":42.868,"n_fertility":7.257,"n_life_expect":45.914,"country":"Saudi Arabia"},{"year":1960,"fertility":7.257,"life_expect":45.914,"p_fertility":7.175,"n_fertility":7.257,"p_life_expect":42.868,"n_life_expect":49.901,"country":"Saudi Arabia"},{"year":1965,"fertility":7.257,"life_expect":49.901,"p_fertility":7.257,"n_fertility":7.298,"p_life_expect":45.914,"n_life_expect":53.886,"country":"Saudi Arabia"},{"year":1970,"fertility":7.298,"life_expect":53.886,"p_fertility":7.257,"n_fertility":7.278,"p_life_expect":49.901,"n_life_expect":58.69,"country":"Saudi Arabia"},{"year":1975,"fertility":7.278,"life_expect":58.69,"p_fertility":7.298,"n_fertility":7.015,"p_life_expect":53.886,"n_life_expect":63.012,"country":"Saudi Arabia"},{"year":1980,"fertility":7.015,"life_expect":63.012,"p_fertility":7.278,"n_fertility":6.217,"p_life_expect":58.69,"n_life_expect":66.295,"country":"Saudi Arabia"},{"year":1985,"fertility":6.217,"life_expect":66.295,"p_fertility":7.015,"n_fertility":5.446,"p_life_expect":63.012,"n_life_expect":68.768,"country":"Saudi Arabia"},{"year":1990,"fertility":5.446,"life_expect":68.768,"p_fertility":6.217,"n_fertility":4.621,"p_life_expect":66.295,"n_life_expect":70.533,"country":"Saudi Arabia"},{"year":1995,"fertility":4.621,"life_expect":70.533,"p_fertility":5.446,"n_fertility":3.81,"p_life_expect":68.768,"n_life_expect":71.626,"country":"Saudi Arabia"},{"year":2000,"fertility":3.81,"life_expect":71.626,"p_fertility":4.621,"p_life_expect":70.533,"country":"Saudi Arabia"},{"year":1955,"fertility":6.5,"life_expect":47.985,"n_fertility":6.3,"n_life_expect":49.951,"country":"South Africa"},{"year":1960,"fertility":6.3,"life_expect":49.951,"p_fertility":6.5,"n_fertility":5.7,"p_life_expect":47.985,"n_life_expect":51.927,"country":"South Africa"},{"year":1965,"fertility":5.7,"life_expect":51.927,"p_fertility":6.3,"n_fertility":5.47,"p_life_expect":49.951,"n_life_expect":53.696,"country":"South Africa"},{"year":1970,"fertility":5.47,"life_expect":53.696,"p_fertility":5.7,"n_fertility":5,"p_life_expect":51.927,"n_life_expect":55.527,"country":"South Africa"},{"year":1975,"fertility":5,"life_expect":55.527,"p_fertility":5.47,"n_fertility":4.556,"p_life_expect":53.696,"n_life_expect":58.161,"country":"South Africa"},{"year":1980,"fertility":4.556,"life_expect":58.161,"p_fertility":5,"n_fertility":3.85,"p_life_expect":55.527,"n_life_expect":60.834,"country":"South Africa"},{"year":1985,"fertility":3.85,"life_expect":60.834,"p_fertility":4.556,"n_fertility":3.343,"p_life_expect":58.161,"n_life_expect":61.888,"country":"South Africa"},{"year":1990,"fertility":3.343,"life_expect":61.888,"p_fertility":3.85,"n_fertility":2.954,"p_life_expect":60.834,"n_life_expect":60.236,"country":"South Africa"},{"year":1995,"fertility":2.954,"life_expect":60.236,"p_fertility":3.343,"n_fertility":2.802,"p_life_expect":61.888,"n_life_expect":53.365,"country":"South Africa"},{"year":2000,"fertility":2.802,"life_expect":53.365,"p_fertility":2.954,"p_life_expect":60.236,"country":"South Africa"},{"year":1955,"fertility":2.75,"life_expect":66.66,"n_fertility":2.89,"n_life_expect":69.69,"country":"Spain"},{"year":1960,"fertility":2.89,"life_expect":69.69,"p_fertility":2.75,"n_fertility":2.92,"p_life_expect":66.66,"n_life_expect":71.44,"country":"Spain"},{"year":1965,"fertility":2.92,"life_expect":71.44,"p_fertility":2.89,"n_fertility":2.86,"p_life_expect":69.69,"n_life_expect":73.06,"country":"Spain"},{"year":1970,"fertility":2.86,"life_expect":73.06,"p_fertility":2.92,"n_fertility":2.57,"p_life_expect":71.44,"n_life_expect":74.39,"country":"Spain"},{"year":1975,"fertility":2.57,"life_expect":74.39,"p_fertility":2.86,"n_fertility":1.89,"p_life_expect":73.06,"n_life_expect":76.3,"country":"Spain"},{"year":1980,"fertility":1.89,"life_expect":76.3,"p_fertility":2.57,"n_fertility":1.48,"p_life_expect":74.39,"n_life_expect":76.9,"country":"Spain"},{"year":1985,"fertility":1.48,"life_expect":76.9,"p_fertility":1.89,"n_fertility":1.27,"p_life_expect":76.3,"n_life_expect":77.57,"country":"Spain"},{"year":1990,"fertility":1.27,"life_expect":77.57,"p_fertility":1.48,"n_fertility":1.182,"p_life_expect":76.9,"n_life_expect":78.77,"country":"Spain"},{"year":1995,"fertility":1.182,"life_expect":78.77,"p_fertility":1.27,"n_fertility":1.287,"p_life_expect":77.57,"n_life_expect":79.78,"country":"Spain"},{"year":2000,"fertility":1.287,"life_expect":79.78,"p_fertility":1.182,"p_life_expect":78.77,"country":"Spain"},{"year":1955,"fertility":2.34,"life_expect":70.56,"n_fertility":2.51,"n_life_expect":71.32,"country":"Switzerland"},{"year":1960,"fertility":2.51,"life_expect":71.32,"p_fertility":2.34,"n_fertility":2.27,"p_life_expect":70.56,"n_life_expect":72.77,"country":"Switzerland"},{"year":1965,"fertility":2.27,"life_expect":72.77,"p_fertility":2.51,"n_fertility":1.82,"p_life_expect":71.32,"n_life_expect":73.78,"country":"Switzerland"},{"year":1970,"fertility":1.82,"life_expect":73.78,"p_fertility":2.27,"n_fertility":1.53,"p_life_expect":72.77,"n_life_expect":75.39,"country":"Switzerland"},{"year":1975,"fertility":1.53,"life_expect":75.39,"p_fertility":1.82,"n_fertility":1.53,"p_life_expect":73.78,"n_life_expect":76.21,"country":"Switzerland"},{"year":1980,"fertility":1.53,"life_expect":76.21,"p_fertility":1.53,"n_fertility":1.53,"p_life_expect":75.39,"n_life_expect":77.41,"country":"Switzerland"},{"year":1985,"fertility":1.53,"life_expect":77.41,"p_fertility":1.53,"n_fertility":1.54,"p_life_expect":76.21,"n_life_expect":78.03,"country":"Switzerland"},{"year":1990,"fertility":1.54,"life_expect":78.03,"p_fertility":1.53,"n_fertility":1.47,"p_life_expect":77.41,"n_life_expect":79.37,"country":"Switzerland"},{"year":1995,"fertility":1.47,"life_expect":79.37,"p_fertility":1.54,"n_fertility":1.415,"p_life_expect":78.03,"n_life_expect":80.62,"country":"Switzerland"},{"year":2000,"fertility":1.415,"life_expect":80.62,"p_fertility":1.47,"p_life_expect":79.37,"country":"Switzerland"},{"year":1955,"fertility":6.6,"life_expect":48.079,"n_fertility":6.19,"n_life_expect":52.098,"country":"Turkey"},{"year":1960,"fertility":6.19,"life_expect":52.098,"p_fertility":6.6,"n_fertility":5.7,"p_life_expect":48.079,"n_life_expect":54.336,"country":"Turkey"},{"year":1965,"fertility":5.7,"life_expect":54.336,"p_fertility":6.19,"n_fertility":5.3,"p_life_expect":52.098,"n_life_expect":57.005,"country":"Turkey"},{"year":1970,"fertility":5.3,"life_expect":57.005,"p_fertility":5.7,"n_fertility":4.715,"p_life_expect":54.336,"n_life_expect":59.507,"country":"Turkey"},{"year":1975,"fertility":4.715,"life_expect":59.507,"p_fertility":5.3,"n_fertility":4.15,"p_life_expect":57.005,"n_life_expect":61.036,"country":"Turkey"},{"year":1980,"fertility":4.15,"life_expect":61.036,"p_fertility":4.715,"n_fertility":3.276,"p_life_expect":59.507,"n_life_expect":63.108,"country":"Turkey"},{"year":1985,"fertility":3.276,"life_expect":63.108,"p_fertility":4.15,"n_fertility":2.904,"p_life_expect":61.036,"n_life_expect":66.146,"country":"Turkey"},{"year":1990,"fertility":2.904,"life_expect":66.146,"p_fertility":3.276,"n_fertility":2.574,"p_life_expect":63.108,"n_life_expect":68.835,"country":"Turkey"},{"year":1995,"fertility":2.574,"life_expect":68.835,"p_fertility":2.904,"n_fertility":2.23,"p_life_expect":66.146,"n_life_expect":70.845,"country":"Turkey"},{"year":2000,"fertility":2.23,"life_expect":70.845,"p_fertility":2.574,"p_life_expect":68.835,"country":"Turkey"},{"year":1955,"fertility":2.49,"life_expect":70.42,"n_fertility":2.81,"n_life_expect":70.76,"country":"United Kingdom"},{"year":1960,"fertility":2.81,"life_expect":70.76,"p_fertility":2.49,"n_fertility":2.52,"p_life_expect":70.42,"n_life_expect":71.36,"country":"United Kingdom"},{"year":1965,"fertility":2.52,"life_expect":71.36,"p_fertility":2.81,"n_fertility":2.04,"p_life_expect":70.76,"n_life_expect":72.01,"country":"United Kingdom"},{"year":1970,"fertility":2.04,"life_expect":72.01,"p_fertility":2.52,"n_fertility":1.72,"p_life_expect":71.36,"n_life_expect":72.76,"country":"United Kingdom"},{"year":1975,"fertility":1.72,"life_expect":72.76,"p_fertility":2.04,"n_fertility":1.8,"p_life_expect":72.01,"n_life_expect":74.04,"country":"United Kingdom"},{"year":1980,"fertility":1.8,"life_expect":74.04,"p_fertility":1.72,"n_fertility":1.81,"p_life_expect":72.76,"n_life_expect":75.007,"country":"United Kingdom"},{"year":1985,"fertility":1.81,"life_expect":75.007,"p_fertility":1.8,"n_fertility":1.78,"p_life_expect":74.04,"n_life_expect":76.42,"country":"United Kingdom"},{"year":1990,"fertility":1.78,"life_expect":76.42,"p_fertility":1.81,"n_fertility":1.7,"p_life_expect":75.007,"n_life_expect":77.218,"country":"United Kingdom"},{"year":1995,"fertility":1.7,"life_expect":77.218,"p_fertility":1.78,"n_fertility":1.695,"p_life_expect":76.42,"n_life_expect":78.471,"country":"United Kingdom"},{"year":2000,"fertility":1.695,"life_expect":78.471,"p_fertility":1.7,"p_life_expect":77.218,"country":"United Kingdom"},{"year":1955,"fertility":3.706,"life_expect":69.49,"n_fertility":3.314,"n_life_expect":70.21,"country":"United States"},{"year":1960,"fertility":3.314,"life_expect":70.21,"p_fertility":3.706,"n_fertility":2.545,"p_life_expect":69.49,"n_life_expect":70.76,"country":"United States"},{"year":1965,"fertility":2.545,"life_expect":70.76,"p_fertility":3.314,"n_fertility":2.016,"p_life_expect":70.21,"n_life_expect":71.34,"country":"United States"},{"year":1970,"fertility":2.016,"life_expect":71.34,"p_fertility":2.545,"n_fertility":1.788,"p_life_expect":70.76,"n_life_expect":73.38,"country":"United States"},{"year":1975,"fertility":1.788,"life_expect":73.38,"p_fertility":2.016,"n_fertility":1.825,"p_life_expect":71.34,"n_life_expect":74.65,"country":"United States"},{"year":1980,"fertility":1.825,"life_expect":74.65,"p_fertility":1.788,"n_fertility":1.924,"p_life_expect":73.38,"n_life_expect":75.02,"country":"United States"},{"year":1985,"fertility":1.924,"life_expect":75.02,"p_fertility":1.825,"n_fertility":2.025,"p_life_expect":74.65,"n_life_expect":76.09,"country":"United States"},{"year":1990,"fertility":2.025,"life_expect":76.09,"p_fertility":1.924,"n_fertility":1.994,"p_life_expect":75.02,"n_life_expect":76.81,"country":"United States"},{"year":1995,"fertility":1.994,"life_expect":76.81,"p_fertility":2.025,"n_fertility":2.038,"p_life_expect":76.09,"n_life_expect":77.31,"country":"United States"},{"year":2000,"fertility":2.038,"life_expect":77.31,"p_fertility":1.994,"p_life_expect":76.81,"country":"United States"},{"year":1955,"fertility":6.4585,"life_expect":57.907,"n_fertility":6.657,"n_life_expect":60.77,"country":"Venezuela"},{"year":1960,"fertility":6.657,"life_expect":60.77,"p_fertility":6.4585,"n_fertility":5.9045,"p_life_expect":57.907,"n_life_expect":63.479,"country":"Venezuela"},{"year":1965,"fertility":5.9045,"life_expect":63.479,"p_fertility":6.657,"n_fertility":4.941,"p_life_expect":60.77,"n_life_expect":65.712,"country":"Venezuela"},{"year":1970,"fertility":4.941,"life_expect":65.712,"p_fertility":5.9045,"n_fertility":4.4685,"p_life_expect":63.479,"n_life_expect":67.456,"country":"Venezuela"},{"year":1975,"fertility":4.4685,"life_expect":67.456,"p_fertility":4.941,"n_fertility":3.957,"p_life_expect":65.712,"n_life_expect":68.557,"country":"Venezuela"},{"year":1980,"fertility":3.957,"life_expect":68.557,"p_fertility":4.4685,"n_fertility":3.6485,"p_life_expect":67.456,"n_life_expect":70.19,"country":"Venezuela"},{"year":1985,"fertility":3.6485,"life_expect":70.19,"p_fertility":3.957,"n_fertility":3.25,"p_life_expect":68.557,"n_life_expect":71.15,"country":"Venezuela"},{"year":1990,"fertility":3.25,"life_expect":71.15,"p_fertility":3.6485,"n_fertility":2.9415,"p_life_expect":70.19,"n_life_expect":72.146,"country":"Venezuela"},{"year":1995,"fertility":2.9415,"life_expect":72.146,"p_fertility":3.25,"n_fertility":2.723,"p_life_expect":71.15,"n_life_expect":72.766,"country":"Venezuela"},{"year":2000,"fertility":2.723,"life_expect":72.766,"p_fertility":2.9415,"p_life_expect":72.146,"country":"Venezuela"}]');let Vfe=(()=>{class e{constructor(t,i){this.router=t,this.route=i,this.appFilters={year:{model:1970,qFilterSliderConfig:{floor:1955,ceil:2e3,showTicks:!0,step:5}},fertility:{model:[2,8],qFilterSliderConfig:{floor:2,ceil:8,showTicks:!0,step:.1,ticksArray:[2,8]}},life_expect:{model:[40,80],qFilterSliderConfig:{floor:40,ceil:80,showTicks:!0,step:.1,ticksArray:[40,80]}},countries:{model:Array.from(new Set(LH.map(r=>r.country))).map(r=>({value:r,label:r})),options:Array.from(new Set(LH.map(r=>r.country))).map(r=>({value:r,label:r}))}},this.vegaLiteSpecCountries=xpt}ngOnInit(){}ngAfterViewInit(){this.updateVis()}updateVis(){let t="#visualization-canvas",i=[...LH].filter(r=>r.year==this.appFilters.year.model).filter(r=>r.fertility>=this.appFilters.fertility.model[0]&&r.fertility<=this.appFilters.fertility.model[1]).filter(r=>r.life_expect>=this.appFilters.life_expect.model[0]&&r.life_expect<=this.appFilters.life_expect.model[1]).filter(r=>this.appFilters.countries.model.some(o=>o.value==r.country));this.vegaLiteSpecCountries.data={values:i},this.vegaLiteSpecCountries.width=Yw(t).parent().width()-100,this.vegaLiteSpecCountries.height=.66*this.vegaLiteSpecCountries.width,RD(t,this.vegaLiteSpecCountries,{renderer:"svg",actions:!1}).then(r=>{})}}return e.\u0275fac=function(t){return new(t||e)(ie(ar),ie(rs))},e.\u0275cmp=mt({type:e,selectors:[["widgets-to-vis-one-way"]],features:[Zt([])],decls:37,vars:13,consts:[[1,"container"],[1,"row"],[1,"col-md-12"],[1,"text-center"],[1,"col-md-3"],[1,"p-sm"],[1,"control-panel-header"],[1,"w-100"],[1,"panel-heading","display-inline"],[1,"form-group"],["ngDefaultControl","","mode","interaction",3,"id","value","options","visualize","freeze","selectedChange"],["ngDefaultControl","","mode","interaction",3,"id","value","highValue","options","visualize","freeze","selectedChange"],[1,"col-md-9"],[1,"visualization-header"],[1,"w-100","h-fullpanel"],["id","visualization-canvas"]],template:function(t,i){1&t&&(V(0,"div",0)(1,"div",1)(2,"div",2),Te(3,"br"),V(4,"h4",3),Ie(5,"Widget to Visualization one-way Interaction"),j()()(),V(6,"div",1)(7,"div",4)(8,"div",5)(9,"div",6)(10,"table",7)(11,"tr")(12,"td")(13,"h6",8),Ie(14,"Control Panel"),j()()()()(),V(15,"div",5)(16,"form")(17,"div",9)(18,"label"),Ie(19,"Year"),j(),V(20,"provenance-slider",10),ge("selectedChange",function(o){return i.appFilters.year.model=o.value,i.updateVis()}),j()(),Te(21,"hr"),V(22,"div",9)(23,"label"),Ie(24,"Life Expectancy"),j(),V(25,"provenance-slider",11),ge("selectedChange",function(o){return i.appFilters.life_expect.model=[o.value,o.highValue],i.updateVis()}),j()()()()()(),V(26,"div",12)(27,"div",5)(28,"div",13)(29,"table",7)(30,"tr")(31,"td")(32,"h6",8),Ie(33,"Visualization"),j()()()()(),V(34,"div",5)(35,"div",14),Te(36,"div",15),j()()()()()()),2&t&&(G(20),mu("id","provenance-single-slider-year"),R("value",i.appFilters.year.model)("options",i.appFilters.year.qFilterSliderConfig)("visualize",!0)("freeze",!1),tt("data-label","Year"),G(5),mu("id","provenance-slider-life_expect"),R("value",i.appFilters.life_expect.model[0])("highValue",i.appFilters.life_expect.model[1])("options",i.appFilters.life_expect.qFilterSliderConfig)("visualize",!0)("freeze",!1),tt("data-label","Life Expectancy"))},dependencies:[cT,bu,iT,mg,xf],styles:[".p-multiselect-panel{width:250px!important}"]}),e})();function Fpt(e,n){1&e&&(V(0,"h5",18),Ie(1,"Playground"),j())}function Dpt(e,n){1&e&&Te(0,"img",19)}function Ept(e,n){1&e&&(V(0,"h5",18),Ie(1,"Scented Widgets"),j())}function Ipt(e,n){1&e&&Te(0,"img",20)}function Rpt(e,n){1&e&&(V(0,"h5",18),Ie(1,"Phosphor Objects"),j())}function Lpt(e,n){1&e&&Te(0,"img",21)}function Mpt(e,n){1&e&&(V(0,"h5",18),Ie(1,"Data Distribution"),j())}function kpt(e,n){1&e&&Te(0,"img",22)}function Ppt(e,n){1&e&&(V(0,"h5",18),Ie(1,"Vega Integration"),j())}function Npt(e,n){1&e&&Te(0,"img",23)}function Opt(e,n){1&e&&(V(0,"h5",18),Ie(1,"Dynamic Query Widgets"),j())}function Hpt(e,n){1&e&&Te(0,"img",24)}function Gpt(e,n){1&e&&(V(0,"h5",18),Ie(1,"Widgets to Visualization one-way"),j())}function Bpt(e,n){1&e&&Te(0,"img",25)}function Ypt(e,n){1&e&&(V(0,"h5",18),Ie(1,"Visualization to Widgets one-way"),j())}function Vpt(e,n){1&e&&Te(0,"img",26)}let zfe=(()=>{class e{constructor(t){this.router=t}ngOnInit(){}navigateToRoute(t){const i=`${window.location.origin}/showcase/#/${t}`;window.open(i,"_blank")}}return e.\u0275fac=function(t){return new(t||e)(ie(ar))},e.\u0275cmp=mt({type:e,selectors:[["home"]],features:[Zt([])],decls:65,vars:0,consts:[[1,"container"],[1,"row"],[1,"col-md-12","text-center"],["src","assets/images/logo-dark.png","height","48","alt","ProvenanceWidgets Logo"],[1,"text-muted"],[1,"text-center","mt-md"],["href","https://github.com/ProvenanceWidgets/showcase/tree/main/src/app/applications","target","_blank",1,"btn","btn-secondary"],[1,"pi","pi-github"],["href","https://ProvenanceWidgets.github.io","target","_blank",1,"btn","btn-success"],[1,"pi","pi-rocket"],[2,"margin-top","30px"],[1,"col-md-12"],[1,"col-md-3"],[1,"w-100","cursor-pointer",3,"click"],["pTemplate","subtitle"],["pTemplate","content"],[1,"col-md-3",3,"click"],[1,"w-100","cursor-pointer"],[1,"text-center"],["src","assets/images/playground.png","width","100%",2,"border","1px solid grey"],["src","assets/images/scented-widgets.png","width","100%",2,"border","1px solid grey"],["src","assets/images/phosphor-objects.png","width","100%",2,"border","1px solid grey"],["src","assets/images/data-distribution.png","width","100%",2,"border","1px solid grey"],["src","assets/images/vega-example.png","width","100%",2,"border","1px solid grey"],["src","assets/images/dynamic-query-widgets-homefinder.png","width","100%",2,"border","1px solid grey"],["src","assets/images/widgets-to-vis-one-way.png","width","100%",2,"border","1px solid grey"],["src","assets/images/vis-to-widgets-one-way.png","width","100%",2,"border","1px solid grey"]],template:function(t,i){1&t&&(V(0,"div",0),Te(1,"br"),V(2,"div",1)(3,"div",2)(4,"h1"),Te(5,"img",3),Ie(6,"ProvenanceWidgets "),V(7,"span",4),Ie(8,"| Showcase"),j()(),V(9,"h3",4),Ie(10,"A JavaScript Library of UI Controls to Track and Dynamically Overlay Analytic Provenance "),j(),Te(11,"br"),V(12,"h5"),Ie(13,"Arpit Narechania, Kaustubh Odak, Mennatallah El-Assady, Alex Endert"),j(),V(14,"h5"),Ie(15,"Georgia Institute of Technology and ETH Z\xfcrich"),j(),V(16,"div",5)(17,"a",6),Te(18,"i",7),Ie(19,"\xa0View on GitHub"),j(),Ie(20,"\xa0 "),V(21,"a",8),Te(22,"i",9),Ie(23,"\xa0Homepage and Documentation"),j()()()(),Te(24,"hr",10),V(25,"div",1)(26,"div",11)(27,"h4"),Ie(28,"Showcase"),j(),Te(29,"br"),j()(),V(30,"div",1)(31,"div",12)(32,"p-card",13),ge("click",function(){return i.navigateToRoute("/playground")}),N(33,Fpt,2,0,"ng-template",14),N(34,Dpt,1,0,"ng-template",15),j()(),V(35,"div",16),ge("click",function(){return i.navigateToRoute("/scented-widgets")}),V(36,"p-card",17),N(37,Ept,2,0,"ng-template",14),N(38,Ipt,1,0,"ng-template",15),j()(),V(39,"div",12)(40,"p-card",13),ge("click",function(){return i.navigateToRoute("/phosphor-objects")}),N(41,Rpt,2,0,"ng-template",14),N(42,Lpt,1,0,"ng-template",15),j()(),V(43,"div",12)(44,"p-card",13),ge("click",function(){return i.navigateToRoute("/data-distribution")}),N(45,Mpt,2,0,"ng-template",14),N(46,kpt,1,0,"ng-template",15),j()()(),Te(47,"br"),V(48,"div",1)(49,"div",12)(50,"p-card",13),ge("click",function(){return i.navigateToRoute("/vega-example")}),N(51,Ppt,2,0,"ng-template",14),N(52,Npt,1,0,"ng-template",15),j()(),V(53,"div",12)(54,"p-card",13),ge("click",function(){return i.navigateToRoute("/dynamic-query-widgets-homefinder")}),N(55,Opt,2,0,"ng-template",14),N(56,Hpt,1,0,"ng-template",15),j()(),V(57,"div",12)(58,"p-card",13),ge("click",function(){return i.navigateToRoute("/widgets-to-vis-one-way")}),N(59,Gpt,2,0,"ng-template",14),N(60,Bpt,1,0,"ng-template",15),j()(),V(61,"div",12)(62,"p-card",13),ge("click",function(){return i.navigateToRoute("/vis-to-widgets-one-way")}),N(63,Ypt,2,0,"ng-template",14),N(64,Vpt,1,0,"ng-template",15),j()()()())},dependencies:[lr,pT]}),e})();const zpt=[{path:"",component:zfe},{path:"playground",component:uX},{path:"scented-widgets",component:dX},{path:"phosphor-objects",component:Gfe},{path:"data-distribution",component:Bfe},{path:"widgets-to-vis-one-way",component:Vfe},{path:"vis-to-widgets-one-way",component:Yfe},{path:"vega-example",component:Ofe},{path:"dynamic-query-widgets-homefinder",component:Hfe},{path:"**",redirectTo:"",pathMatch:"full"}];let $pt=(()=>{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=en({type:e}),e.\u0275inj=b({imports:[Tj.forRoot(zpt,{scrollPositionRestoration:"enabled",useHash:!0}),Tj]}),e})(),Upt=(()=>{class e{constructor(){}ngAfterViewInit(){}ngOnDestroy(){}ngOnInit(){}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275cmp=mt({type:e,selectors:[["app-root"]],decls:1,vars:0,template:function(t,i){1&t&&Te(0,"router-outlet")},dependencies:[qI],styles:['html, body{overscroll-behavior-x:none} .display-inline-block{display:inline-block!important} .display-inline{display:inline!important} .nowrap{white-space:nowrap!important} .float-left{float:left!important} .cursor-pointer{cursor:pointer} re-captcha>div{margin:0 auto} .blurry-text{color:transparent;text-shadow:0 0 8px rgba(0,0,0,.8)} .vspace-lg{margin-top:24px} .vspace-md{margin-top:16px} .vspace-sm{margin-top:8x} .m-sm{margin:8px} .m-md{margin:16px} .m-xs{margin:4px} .mb-0{margin-bottom:0} .mb-sm{margin-bottom:8px} .mt-sm{margin-top:8px} .ml-sm{margin-left:8px} .mr-sm{margin-right:8px} .mb-xs{margin-bottom:2px} .mt-xs{margin-top:2px} .ml-xs{margin-left:2px} .mr-xs{margin-right:2px} .ml-sm{margin-left:4px} .mr-sm{margin-right:4px} .mb-md{margin-bottom:16px} .mt-md{margin-top:16px} .ml-md{margin-left:16px} .mr-md{margin-right:16px} .mw-md{margin-left:16px;margin-right:16px} .mw-sm{margin-left:8px;margin-right:8px} .mw-xs{margin-left:4px;margin-right:4px} .mw-lg{margin-left:24px;margin-right:24px} .m-none{margin:0} .p-sm{padding:8px} .p-md{padding:16px} .p-xs{padding:4px} .pb-sm{padding-bottom:8px} .pt-sm{padding-top:8px} .pl-sm{padding-left:8px} .pr-sm{padding-right:8px} .pb-xs{padding-bottom:4px} .pt-xs{padding-top:4px} .pr-xs{padding-right:4px} .pl-xs{padding-left:4px} .pt-sm{padding-top:4px} .pl-sm{padding-left:4px} .pb-md{padding-bottom:16px} .pt-md{padding-top:16px} .pl-md{padding-left:16px} .pr-md{padding-right:16px} .pw-md{padding-left:16px;padding-right:16px} .pw-sm{padding-left:8px;padding-right:8px} .pw-xs{padding-left:4px;padding-right:4px} .pw-lg{padding-left:24px;padding-right:24px} .p-none{padding:0} .pl-0{padding-left:0} .pr-0{padding-right:0} .pt-0{padding-top:0} .pb-0{padding-bottom:0} .center-all{display:flex;align-items:center;justify-content:center} .box-shadow{box-shadow:0 0 10px #0000004d;padding:24px;margin-top:24px} .card-header-compact{padding:2px!important} .card-body-compact{padding:8px!important} .card-header-custom-border{border-bottom:0!important} .card-header-hover:hover{cursor:pointer} .card{border-radius:0;border-color:#efefef} .ng-dropdown-panel{width:auto!important} .selected{stroke:#000} .selected-item{border-radius:6px!important;background:#999!important;border:1px solid #ccc!important;margin-bottom:4px!important;font-size:.9rem} .dropdown-down, .dropdown-up{border-left:6px solid transparent!important;border-right:6px solid transparent!important} .dropdown-down{border-top:8px solid #999!important} .dropdown-up{border-bottom:8px solid #999!important} .multiselect-item-checkbox input[type=checkbox]+div:before{border:2px solid #999!important} .multiselect-item-checkbox input[type=checkbox]:checked+div:before{background:#999!important} .q-filter-slider nouislider{margin-bottom:2.5em;margin-left:5%;width:90%;font-size:.8em} .noUi-target{height:5px!important} .noUi-base:hover{cursor:pointer} .noUi-connect{height:5px!important;background:#999!important} .noUi-connect:hover{cursor:pointer} .noUi-handle{width:15px!important;height:20px!important;padding:0!important;margin:0!important} .noUi-handle:hover{cursor:pointer} .noUi-horizontal .noUi-handle{top:-9px!important;right:-8px!important} .noUi-tooltip{padding:2px;background:#999;border:1px solid #ccc;color:#fff} .noUi-tooltip:hover{cursor:pointer} .noUi-handle:after, .noUi-handle:before{display:none} .noUi-pips-horizontal{padding:4px} .noUi-value-large{top:0!important} .noUi-marker-large{height:8px!important} .noUi-tooltip{display:none!important} .noUi-active .noUi-tooltip{display:block!important} .p-overlaypanel:after, .p-overlaypanel:before{left:calc(var(--overlayArrowLeft, 0) + .5rem)!important} .p-overlaypanel.p-overlaypanel:before{border-bottom-color:#ddd} .p-overlaypanel.p-overlaypanel-flipped:before{border-top-color:#ddd} .p-overlaypanel{border-radius:0!important} .p-tabview-panels{padding:0!important} .p-tabview .p-tabview-nav li .p-tabview-nav-link{padding:.75rem!important} .bg-content{background:#EFF3F7!important} .p-progressbar{height:.6em!important} .p-datatable .p-datatable-thead>tr>th{padding:.4rem .6rem!important} .p-inputtext{padding-top:0!important;padding-bottom:0!important} .sequential-color-legend{height:12px;border-radius:3px;background-image:linear-gradient(to right,#eeeeee,#42a5f5)} .divergent-color-legend{height:12px;border-radius:3px;background-image:linear-gradient(to right,#ef9a9a,#eeeeee,#a5d6a7)} .table-xs td, .table-xs th{padding:.2rem} .btn-xs{padding:.1rem .3rem;line-height:1rem} .muted{color:#ccc!important} .muted .btn{color:#ccc!important} .panel-heading{text-transform:uppercase!important;font-weight:700;font-size:.9rem} .multiselect-dropdown .dropdown-btn{padding:3px 6px!important} .multiselect-dropdown .dropdown-multiselect__caret{padding:0!important;right:-5px!important} .nav-link{padding:.1rem .5rem} #vg-tooltip-element{z-index:2000} .ngx-datatable.bootstrap .datatable-body .datatable-body-row .datatable-body-cell, .ngx-datatable.fixed-header .datatable-header .datatable-header-inner .datatable-header-cell{padding:0} .ngx-datatable.bootstrap .datatable-footer .page-count{height:24px;line-height:24px;padding:0 1rem} .ngx-datatable.bootstrap .datatable-footer .datatable-pager ul li{margin:0} .col-form-label{padding-top:0!important;padding-bottom:0!important} .ng-select .ng-select-container{border-color:#ddd} .overflow{overflow:auto} .h-fullpanel{height:100vh!important} .w-100{width:100%!important} .h-100{height:100%!important} .customDropZone{background:#fff;color:gray} .customDropZoneActive{background:rgba(52,152,219,.2)} .customDropZoneActive .p-dropdown{background:rgba(52,152,219,.2)} .customDropZoneActive .ng-select-container{background:rgba(52,152,219,.2)} .customDropZoneActive .p-multiselect-label-container{background:rgba(52,152,219,.2)} .highlightCard{background:orange} .vradiogroup{display:inline-block;text-align:center} .vradiogroup label{display:block} .nopadding{padding-inline-start:8px} .visPlaceholder{background:#eeeeee;border:1px solid #dddddd;width:100%;height:100%} .disableViewAndInteractions{pointer-events:none;filter:blur(20px)} .provenance-dropdown{width:100%!important;margin-left:0!important} .provenance-multiselect{width:calc(100% - 24px)!important} .p-multiselect .p-multiselect-label{padding:.15rem .5rem} .p-card{box-shadow:none!important} .p-card .p-card-body, .p-card .p-card-content{padding:0!important} .embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden} .embed-responsive:before{display:block;content:""} .embed-responsive .embed-responsive-item, .embed-responsive iframe, .embed-responsive embed, .embed-responsive object, .embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0} .embed-responsive-21by9:before{padding-top:42.857143%} .embed-responsive-16by9:before{padding-top:56.25%} .embed-responsive-4by3:before{padding-top:75%} .embed-responsive-1by1:before{padding-top:100%}']}),e})();class LD{}class MH{}class kp{constructor(n){this.normalizedNames=new Map,this.lazyUpdate=null,n?this.lazyInit="string"==typeof n?()=>{this.headers=new Map,n.split("\n").forEach(t=>{const i=t.indexOf(":");if(i>0){const r=t.slice(0,i),o=r.toLowerCase(),a=t.slice(i+1).trim();this.maybeSetNormalizedName(r,o),this.headers.has(o)?this.headers.get(o).push(a):this.headers.set(o,[a])}})}:()=>{this.headers=new Map,Object.entries(n).forEach(([t,i])=>{let r;if(r="string"==typeof i?[i]:"number"==typeof i?[i.toString()]:i.map(o=>o.toString()),r.length>0){const o=t.toLowerCase();this.headers.set(o,r),this.maybeSetNormalizedName(t,o)}})}:this.headers=new Map}has(n){return this.init(),this.headers.has(n.toLowerCase())}get(n){this.init();const t=this.headers.get(n.toLowerCase());return t&&t.length>0?t[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(n){return this.init(),this.headers.get(n.toLowerCase())||null}append(n,t){return this.clone({name:n,value:t,op:"a"})}set(n,t){return this.clone({name:n,value:t,op:"s"})}delete(n,t){return this.clone({name:n,value:t,op:"d"})}maybeSetNormalizedName(n,t){this.normalizedNames.has(t)||this.normalizedNames.set(t,n)}init(){this.lazyInit&&(this.lazyInit instanceof kp?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(n=>this.applyUpdate(n)),this.lazyUpdate=null))}copyFrom(n){n.init(),Array.from(n.headers.keys()).forEach(t=>{this.headers.set(t,n.headers.get(t)),this.normalizedNames.set(t,n.normalizedNames.get(t))})}clone(n){const t=new kp;return t.lazyInit=this.lazyInit&&this.lazyInit instanceof kp?this.lazyInit:this,t.lazyUpdate=(this.lazyUpdate||[]).concat([n]),t}applyUpdate(n){const t=n.name.toLowerCase();switch(n.op){case"a":case"s":let i=n.value;if("string"==typeof i&&(i=[i]),0===i.length)return;this.maybeSetNormalizedName(n.name,t);const r=("a"===n.op?this.headers.get(t):void 0)||[];r.push(...i),this.headers.set(t,r);break;case"d":const o=n.value;if(o){let a=this.headers.get(t);if(!a)return;a=a.filter(s=>-1===o.indexOf(s)),0===a.length?(this.headers.delete(t),this.normalizedNames.delete(t)):this.headers.set(t,a)}else this.headers.delete(t),this.normalizedNames.delete(t)}}forEach(n){this.init(),Array.from(this.normalizedNames.keys()).forEach(t=>n(this.normalizedNames.get(t),this.headers.get(t)))}}class jpt{encodeKey(n){return $fe(n)}encodeValue(n){return $fe(n)}decodeKey(n){return decodeURIComponent(n)}decodeValue(n){return decodeURIComponent(n)}}const qpt=/%(\d[a-f0-9])/gi,Kpt={40:"@","3A":":",24:"$","2C":",","3B":";","3D":"=","3F":"?","2F":"/"};function $fe(e){return encodeURIComponent(e).replace(qpt,(n,t)=>Kpt[t]??n)}function MD(e){return`${e}`}class Rh{constructor(n={}){if(this.updates=null,this.cloneFrom=null,this.encoder=n.encoder||new jpt,n.fromString){if(n.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function Wpt(e,n){const t=new Map;return e.length>0&&e.replace(/^\?/,"").split("&").forEach(r=>{const o=r.indexOf("="),[a,s]=-1==o?[n.decodeKey(r),""]:[n.decodeKey(r.slice(0,o)),n.decodeValue(r.slice(o+1))],l=t.get(a)||[];l.push(s),t.set(a,l)}),t}(n.fromString,this.encoder)}else n.fromObject?(this.map=new Map,Object.keys(n.fromObject).forEach(t=>{const i=n.fromObject[t],r=Array.isArray(i)?i.map(MD):[MD(i)];this.map.set(t,r)})):this.map=null}has(n){return this.init(),this.map.has(n)}get(n){this.init();const t=this.map.get(n);return t?t[0]:null}getAll(n){return this.init(),this.map.get(n)||null}keys(){return this.init(),Array.from(this.map.keys())}append(n,t){return this.clone({param:n,value:t,op:"a"})}appendAll(n){const t=[];return Object.keys(n).forEach(i=>{const r=n[i];Array.isArray(r)?r.forEach(o=>{t.push({param:i,value:o,op:"a"})}):t.push({param:i,value:r,op:"a"})}),this.clone(t)}set(n,t){return this.clone({param:n,value:t,op:"s"})}delete(n,t){return this.clone({param:n,value:t,op:"d"})}toString(){return this.init(),this.keys().map(n=>{const t=this.encoder.encodeKey(n);return this.map.get(n).map(i=>t+"="+this.encoder.encodeValue(i)).join("&")}).filter(n=>""!==n).join("&")}clone(n){const t=new Rh({encoder:this.encoder});return t.cloneFrom=this.cloneFrom||this,t.updates=(this.updates||[]).concat(n),t}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(n=>this.map.set(n,this.cloneFrom.map.get(n))),this.updates.forEach(n=>{switch(n.op){case"a":case"s":const t=("a"===n.op?this.map.get(n.param):void 0)||[];t.push(MD(n.value)),this.map.set(n.param,t);break;case"d":if(void 0===n.value){this.map.delete(n.param);break}{let i=this.map.get(n.param)||[];const r=i.indexOf(MD(n.value));-1!==r&&i.splice(r,1),i.length>0?this.map.set(n.param,i):this.map.delete(n.param)}}}),this.cloneFrom=this.updates=null)}}class Zpt{constructor(){this.map=new Map}set(n,t){return this.map.set(n,t),this}get(n){return this.map.has(n)||this.map.set(n,n.defaultValue()),this.map.get(n)}delete(n){return this.map.delete(n),this}has(n){return this.map.has(n)}keys(){return this.map.keys()}}function Ufe(e){return typeof ArrayBuffer<"u"&&e instanceof ArrayBuffer}function jfe(e){return typeof Blob<"u"&&e instanceof Blob}function Wfe(e){return typeof FormData<"u"&&e instanceof FormData}class m2{constructor(n,t,i,r){let o;if(this.url=t,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=n.toUpperCase(),function Xpt(e){switch(e){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||r?(this.body=void 0!==i?i:null,o=r):o=i,o&&(this.reportProgress=!!o.reportProgress,this.withCredentials=!!o.withCredentials,o.responseType&&(this.responseType=o.responseType),o.headers&&(this.headers=o.headers),o.context&&(this.context=o.context),o.params&&(this.params=o.params)),this.headers||(this.headers=new kp),this.context||(this.context=new Zpt),this.params){const a=this.params.toString();if(0===a.length)this.urlWithParams=t;else{const s=t.indexOf("?");this.urlWithParams=t+(-1===s?"?":sd.set(p,n.setHeaders[p]),l)),n.setParams&&(c=Object.keys(n.setParams).reduce((d,p)=>d.set(p,n.setParams[p]),c)),new m2(t,i,o,{params:c,headers:l,context:u,reportProgress:s,responseType:r,withCredentials:a})}}var Rr=(()=>((Rr=Rr||{})[Rr.Sent=0]="Sent",Rr[Rr.UploadProgress=1]="UploadProgress",Rr[Rr.ResponseHeader=2]="ResponseHeader",Rr[Rr.DownloadProgress=3]="DownloadProgress",Rr[Rr.Response=4]="Response",Rr[Rr.User=5]="User",Rr))();class kH{constructor(n,t=200,i="OK"){this.headers=n.headers||new kp,this.status=void 0!==n.status?n.status:t,this.statusText=n.statusText||i,this.url=n.url||null,this.ok=this.status>=200&&this.status<300}}class PH extends kH{constructor(n={}){super(n),this.type=Rr.ResponseHeader}clone(n={}){return new PH({headers:n.headers||this.headers,status:void 0!==n.status?n.status:this.status,statusText:n.statusText||this.statusText,url:n.url||this.url||void 0})}}class kD extends kH{constructor(n={}){super(n),this.type=Rr.Response,this.body=void 0!==n.body?n.body:null}clone(n={}){return new kD({body:void 0!==n.body?n.body:this.body,headers:n.headers||this.headers,status:void 0!==n.status?n.status:this.status,statusText:n.statusText||this.statusText,url:n.url||this.url||void 0})}}class qfe extends kH{constructor(n){super(n,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${n.url||"(unknown url)"}`:`Http failure response for ${n.url||"(unknown url)"}: ${n.status} ${n.statusText}`,this.error=n.error||null}}function NH(e,n){return{body:n,headers:e.headers,context:e.context,observe:e.observe,params:e.params,reportProgress:e.reportProgress,responseType:e.responseType,withCredentials:e.withCredentials}}let Jpt=(()=>{class e{constructor(t){this.handler=t}request(t,i,r={}){let o;if(t instanceof m2)o=t;else{let l,c;l=r.headers instanceof kp?r.headers:new kp(r.headers),r.params&&(c=r.params instanceof Rh?r.params:new Rh({fromObject:r.params})),o=new m2(t,i,void 0!==r.body?r.body:null,{headers:l,context:r.context,params:c,reportProgress:r.reportProgress,responseType:r.responseType||"json",withCredentials:r.withCredentials})}const a=Yt(o).pipe(af(l=>this.handler.handle(l)));if(t instanceof m2||"events"===r.observe)return a;const s=a.pipe(Bd(l=>l instanceof kD));switch(r.observe||"body"){case"body":switch(o.responseType){case"arraybuffer":return s.pipe(Qt(l=>{if(null!==l.body&&!(l.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return l.body}));case"blob":return s.pipe(Qt(l=>{if(null!==l.body&&!(l.body instanceof Blob))throw new Error("Response is not a Blob.");return l.body}));case"text":return s.pipe(Qt(l=>{if(null!==l.body&&"string"!=typeof l.body)throw new Error("Response is not a string.");return l.body}));default:return s.pipe(Qt(l=>l.body))}case"response":return s;default:throw new Error(`Unreachable: unhandled observe type ${r.observe}}`)}}delete(t,i={}){return this.request("DELETE",t,i)}get(t,i={}){return this.request("GET",t,i)}head(t,i={}){return this.request("HEAD",t,i)}jsonp(t,i){return this.request("JSONP",t,{params:(new Rh).append(i,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(t,i={}){return this.request("OPTIONS",t,i)}patch(t,i,r={}){return this.request("PATCH",t,NH(r,i))}post(t,i,r={}){return this.request("POST",t,NH(r,i))}put(t,i,r={}){return this.request("PUT",t,NH(r,i))}}return e.\u0275fac=function(t){return new(t||e)(Qe(LD))},e.\u0275prov=y({token:e,factory:e.\u0275fac}),e})();function Kfe(e,n){return n(e)}function eft(e,n){return(t,i)=>n.intercept(t,{handle:r=>e(r,i)})}const nft=new bt("HTTP_INTERCEPTORS"),y2=new bt("HTTP_INTERCEPTOR_FNS");function ift(){let e=null;return(n,t)=>(null===e&&(e=(Kt(nft,{optional:!0})??[]).reduceRight(eft,Kfe)),e(n,t))}let Zfe=(()=>{class e extends LD{constructor(t,i){super(),this.backend=t,this.injector=i,this.chain=null}handle(t){if(null===this.chain){const i=Array.from(new Set(this.injector.get(y2)));this.chain=i.reduceRight((r,o)=>function tft(e,n,t){return(i,r)=>t.runInContext(()=>n(i,o=>e(o,r)))}(r,o,this.injector),Kfe)}return this.chain(t,i=>this.backend.handle(i))}}return e.\u0275fac=function(t){return new(t||e)(Qe(MH),Qe(pu))},e.\u0275prov=y({token:e,factory:e.\u0275fac}),e})();const sft=/^\)\]\}',?\n/;let Qfe=(()=>{class e{constructor(t){this.xhrFactory=t}handle(t){if("JSONP"===t.method)throw new Error("Attempted to construct Jsonp request without HttpClientJsonpModule installed.");return new ui(i=>{const r=this.xhrFactory.build();if(r.open(t.method,t.urlWithParams),t.withCredentials&&(r.withCredentials=!0),t.headers.forEach((f,h)=>r.setRequestHeader(f,h.join(","))),t.headers.has("Accept")||r.setRequestHeader("Accept","application/json, text/plain, */*"),!t.headers.has("Content-Type")){const f=t.detectContentTypeHeader();null!==f&&r.setRequestHeader("Content-Type",f)}if(t.responseType){const f=t.responseType.toLowerCase();r.responseType="json"!==f?f:"text"}const o=t.serializeBody();let a=null;const s=()=>{if(null!==a)return a;const f=r.statusText||"OK",h=new kp(r.getAllResponseHeaders()),g=function lft(e){return"responseURL"in e&&e.responseURL?e.responseURL:/^X-Request-URL:/m.test(e.getAllResponseHeaders())?e.getResponseHeader("X-Request-URL"):null}(r)||t.url;return a=new PH({headers:h,status:r.status,statusText:f,url:g}),a},l=()=>{let{headers:f,status:h,statusText:g,url:m}=s(),_=null;204!==h&&(_=typeof r.response>"u"?r.responseText:r.response),0===h&&(h=_?200:0);let v=h>=200&&h<300;if("json"===t.responseType&&"string"==typeof _){const C=_;_=_.replace(sft,"");try{_=""!==_?JSON.parse(_):null}catch(A){_=C,v&&(v=!1,_={error:A,text:_})}}v?(i.next(new kD({body:_,headers:f,status:h,statusText:g,url:m||void 0})),i.complete()):i.error(new qfe({error:_,headers:f,status:h,statusText:g,url:m||void 0}))},c=f=>{const{url:h}=s(),g=new qfe({error:f,status:r.status||0,statusText:r.statusText||"Unknown Error",url:h||void 0});i.error(g)};let u=!1;const d=f=>{u||(i.next(s()),u=!0);let h={type:Rr.DownloadProgress,loaded:f.loaded};f.lengthComputable&&(h.total=f.total),"text"===t.responseType&&r.responseText&&(h.partialText=r.responseText),i.next(h)},p=f=>{let h={type:Rr.UploadProgress,loaded:f.loaded};f.lengthComputable&&(h.total=f.total),i.next(h)};return r.addEventListener("load",l),r.addEventListener("error",c),r.addEventListener("timeout",c),r.addEventListener("abort",c),t.reportProgress&&(r.addEventListener("progress",d),null!==o&&r.upload&&r.upload.addEventListener("progress",p)),r.send(o),i.next({type:Rr.Sent}),()=>{r.removeEventListener("error",c),r.removeEventListener("abort",c),r.removeEventListener("load",l),r.removeEventListener("timeout",c),t.reportProgress&&(r.removeEventListener("progress",d),null!==o&&r.upload&&r.upload.removeEventListener("progress",p)),r.readyState!==r.DONE&&r.abort()}})}}return e.\u0275fac=function(t){return new(t||e)(Qe(N$))},e.\u0275prov=y({token:e,factory:e.\u0275fac}),e})();const OH=new bt("XSRF_ENABLED"),Jfe=new bt("XSRF_COOKIE_NAME",{providedIn:"root",factory:()=>"XSRF-TOKEN"}),ehe=new bt("XSRF_HEADER_NAME",{providedIn:"root",factory:()=>"X-XSRF-TOKEN"});class the{}let dft=(()=>{class e{constructor(t,i,r){this.doc=t,this.platform=i,this.cookieName=r,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const t=this.doc.cookie||"";return t!==this.lastCookieString&&(this.parseCount++,this.lastToken=x$(t,this.cookieName),this.lastCookieString=t),this.lastToken}}return e.\u0275fac=function(t){return new(t||e)(Qe(xi),Qe(Md),Qe(Jfe))},e.\u0275prov=y({token:e,factory:e.\u0275fac}),e})();function pft(e,n){const t=e.url.toLowerCase();if(!Kt(OH)||"GET"===e.method||"HEAD"===e.method||t.startsWith("http://")||t.startsWith("https://"))return n(e);const i=Kt(the).getToken(),r=Kt(ehe);return null!=i&&!e.headers.has(r)&&(e=e.clone({headers:e.headers.set(r,i)})),n(e)}var Ar=(()=>((Ar=Ar||{})[Ar.Interceptors=0]="Interceptors",Ar[Ar.LegacyInterceptors=1]="LegacyInterceptors",Ar[Ar.CustomXsrfConfiguration=2]="CustomXsrfConfiguration",Ar[Ar.NoXsrfProtection=3]="NoXsrfProtection",Ar[Ar.JsonpSupport=4]="JsonpSupport",Ar[Ar.RequestsMadeViaParent=5]="RequestsMadeViaParent",Ar))();function M1(e,n){return{\u0275kind:e,\u0275providers:n}}function fft(...e){const n=[Jpt,Qfe,Zfe,{provide:LD,useExisting:Zfe},{provide:MH,useExisting:Qfe},{provide:y2,useValue:pft,multi:!0},{provide:OH,useValue:!0},{provide:the,useClass:dft}];for(const t of e)n.push(...t.\u0275providers);return function kme(e){return{\u0275providers:e}}(n)}const nhe=new bt("LEGACY_INTERCEPTOR_FN");let gft=(()=>{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=en({type:e}),e.\u0275inj=b({providers:[fft(M1(Ar.LegacyInterceptors,[{provide:nhe,useFactory:ift},{provide:y2,useExisting:nhe,multi:!0}]))]}),e})(),ihe=(()=>{class e{constructor(){this.messages=[]}add(t){this.messages.push(t)}clear(){this.messages=[]}}return e.\u0275fac=function(t){return new(t||e)},e.\u0275prov=y({token:e,factory:e.\u0275fac}),e})(),mft=(()=>{class e{constructor(t){this.messageService=t,this.createHandleError=(i="")=>(r="operation",o={})=>this.handleError(i,r,o)}handleError(t="",i="operation",r={}){return o=>{console.error(o);const a=o.error instanceof ErrorEvent?o.error.message:`server returned code ${o.status} with body "${o.error}"`;return this.messageService.add(`${t}: ${i} failed: ${a}`),Yt(r)}}}return e.\u0275fac=function(t){return new(t||e)(Qe(ihe))},e.\u0275prov=y({token:e,factory:e.\u0275fac}),e})(),PD=(()=>{class e extends cr{}return e.\u0275fac=function(){let n;return function(i){return(n||(n=vn(e)))(i||e)}}(),e.\u0275cmp=mt({type:e,selectors:[["ChevronRightIcon"]],standalone:!0,features:[Dt,Li],decls:2,vars:5,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["d","M4.38708 13C4.28408 13.0005 4.18203 12.9804 4.08691 12.9409C3.99178 12.9014 3.9055 12.8433 3.83313 12.7701C3.68634 12.6231 3.60388 12.4238 3.60388 12.2161C3.60388 12.0084 3.68634 11.8091 3.83313 11.6622L8.50507 6.99022L3.83313 2.31827C3.69467 2.16968 3.61928 1.97313 3.62287 1.77005C3.62645 1.56698 3.70872 1.37322 3.85234 1.22959C3.99596 1.08597 4.18972 1.00371 4.3928 1.00012C4.59588 0.996539 4.79242 1.07192 4.94102 1.21039L10.1669 6.43628C10.3137 6.58325 10.3962 6.78249 10.3962 6.99022C10.3962 7.19795 10.3137 7.39718 10.1669 7.54416L4.94102 12.7701C4.86865 12.8433 4.78237 12.9014 4.68724 12.9409C4.59212 12.9804 4.49007 13.0005 4.38708 13Z","fill","currentColor"]],template:function(t,i){1&t&&(Jn(),V(0,"svg",0),Te(1,"path",1),j()),2&t&&(Ot(i.getClassNames()),tt("aria-label",i.ariaLabel)("aria-hidden",i.ariaHidden)("role",i.role))},encapsulation:2}),e})(),HH=(()=>{class e extends cr{}return e.\u0275fac=function(){let n;return function(i){return(n||(n=vn(e)))(i||e)}}(),e.\u0275cmp=mt({type:e,selectors:[["ChevronLeftIcon"]],standalone:!0,features:[Dt,Li],decls:2,vars:5,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["d","M9.61296 13C9.50997 13.0005 9.40792 12.9804 9.3128 12.9409C9.21767 12.9014 9.13139 12.8433 9.05902 12.7701L3.83313 7.54416C3.68634 7.39718 3.60388 7.19795 3.60388 6.99022C3.60388 6.78249 3.68634 6.58325 3.83313 6.43628L9.05902 1.21039C9.20762 1.07192 9.40416 0.996539 9.60724 1.00012C9.81032 1.00371 10.0041 1.08597 10.1477 1.22959C10.2913 1.37322 10.3736 1.56698 10.3772 1.77005C10.3808 1.97313 10.3054 2.16968 10.1669 2.31827L5.49496 6.99022L10.1669 11.6622C10.3137 11.8091 10.3962 12.0084 10.3962 12.2161C10.3962 12.4238 10.3137 12.6231 10.1669 12.7701C10.0945 12.8433 10.0083 12.9014 9.91313 12.9409C9.81801 12.9804 9.71596 13.0005 9.61296 13Z","fill","currentColor"]],template:function(t,i){1&t&&(Jn(),V(0,"svg",0),Te(1,"path",1),j()),2&t&&(Ot(i.getClassNames()),tt("aria-label",i.ariaLabel)("aria-hidden",i.ariaHidden)("role",i.role))},encapsulation:2}),e})(),Vft=(()=>{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=en({type:e}),e.\u0275inj=b({imports:[jn,ti,xw,Mu,Wo,HH,PD,ti]}),e})();lw([So({transform:"{{transform}}",opacity:0}),Al("{{transition}}")]),lw([Al("{{transition}}",So({transform:"{{transform}}",opacity:0}))]);let eht=(()=>{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=en({type:e}),e.\u0275inj=b({imports:[jn,Mu,ti,Wo,ti]}),e})(),rhe=(()=>{class e extends cr{}return e.\u0275fac=function(){let n;return function(i){return(n||(n=vn(e)))(i||e)}}(),e.\u0275cmp=mt({type:e,selectors:[["ChevronUpIcon"]],standalone:!0,features:[Dt,Li],decls:2,vars:5,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["d","M12.2097 10.4113C12.1057 10.4118 12.0027 10.3915 11.9067 10.3516C11.8107 10.3118 11.7237 10.2532 11.6506 10.1792L6.93602 5.46461L2.22139 10.1476C2.07272 10.244 1.89599 10.2877 1.71953 10.2717C1.54307 10.2556 1.3771 10.1808 1.24822 10.0593C1.11933 9.93766 1.035 9.77633 1.00874 9.6011C0.982477 9.42587 1.0158 9.2469 1.10338 9.09287L6.37701 3.81923C6.52533 3.6711 6.72639 3.58789 6.93602 3.58789C7.14565 3.58789 7.3467 3.6711 7.49502 3.81923L12.7687 9.09287C12.9168 9.24119 13 9.44225 13 9.65187C13 9.8615 12.9168 10.0626 12.7687 10.2109C12.616 10.3487 12.4151 10.4207 12.2097 10.4113Z","fill","currentColor"]],template:function(t,i){1&t&&(Jn(),V(0,"svg",0),Te(1,"path",1),j()),2&t&&(Ot(i.getClassNames()),tt("aria-label",i.ariaLabel)("aria-hidden",i.ariaHidden)("role",i.role))},encapsulation:2}),e})(),ohe=(()=>{class e extends cr{}return e.\u0275fac=function(){let n;return function(i){return(n||(n=vn(e)))(i||e)}}(),e.\u0275cmp=mt({type:e,selectors:[["CalendarIcon"]],standalone:!0,features:[Dt,Li],decls:2,vars:5,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["d","M10.7838 1.51351H9.83783V0.567568C9.83783 0.417039 9.77804 0.272676 9.6716 0.166237C9.56516 0.0597971 9.42079 0 9.27027 0C9.11974 0 8.97538 0.0597971 8.86894 0.166237C8.7625 0.272676 8.7027 0.417039 8.7027 0.567568V1.51351H5.29729V0.567568C5.29729 0.417039 5.2375 0.272676 5.13106 0.166237C5.02462 0.0597971 4.88025 0 4.72973 0C4.5792 0 4.43484 0.0597971 4.3284 0.166237C4.22196 0.272676 4.16216 0.417039 4.16216 0.567568V1.51351H3.21621C2.66428 1.51351 2.13494 1.73277 1.74467 2.12305C1.35439 2.51333 1.13513 3.04266 1.13513 3.59459V11.9189C1.13513 12.4709 1.35439 13.0002 1.74467 13.3905C2.13494 13.7807 2.66428 14 3.21621 14H10.7838C11.3357 14 11.865 13.7807 12.2553 13.3905C12.6456 13.0002 12.8649 12.4709 12.8649 11.9189V3.59459C12.8649 3.04266 12.6456 2.51333 12.2553 2.12305C11.865 1.73277 11.3357 1.51351 10.7838 1.51351ZM3.21621 2.64865H4.16216V3.59459C4.16216 3.74512 4.22196 3.88949 4.3284 3.99593C4.43484 4.10237 4.5792 4.16216 4.72973 4.16216C4.88025 4.16216 5.02462 4.10237 5.13106 3.99593C5.2375 3.88949 5.29729 3.74512 5.29729 3.59459V2.64865H8.7027V3.59459C8.7027 3.74512 8.7625 3.88949 8.86894 3.99593C8.97538 4.10237 9.11974 4.16216 9.27027 4.16216C9.42079 4.16216 9.56516 4.10237 9.6716 3.99593C9.77804 3.88949 9.83783 3.74512 9.83783 3.59459V2.64865H10.7838C11.0347 2.64865 11.2753 2.74831 11.4527 2.92571C11.6301 3.10311 11.7297 3.34371 11.7297 3.59459V5.67568H2.27027V3.59459C2.27027 3.34371 2.36993 3.10311 2.54733 2.92571C2.72473 2.74831 2.96533 2.64865 3.21621 2.64865ZM10.7838 12.8649H3.21621C2.96533 12.8649 2.72473 12.7652 2.54733 12.5878C2.36993 12.4104 2.27027 12.1698 2.27027 11.9189V6.81081H11.7297V11.9189C11.7297 12.1698 11.6301 12.4104 11.4527 12.5878C11.2753 12.7652 11.0347 12.8649 10.7838 12.8649Z","fill","currentColor"]],template:function(t,i){1&t&&(Jn(),V(0,"svg",0),Te(1,"path",1),j()),2&t&&(Ot(i.getClassNames()),tt("aria-label",i.ariaLabel)("aria-hidden",i.ariaHidden)("role",i.role))},encapsulation:2}),e})();const tht=["container"],nht=["inputfield"],iht=["contentWrapper"];function rht(e,n){if(1&e){const t=Be();V(0,"TimesIcon",10),ge("click",function(){return X(t),Q(E(3).clear())}),j()}2&e&&R("styleClass","p-calendar-clear-icon")}function oht(e,n){}function aht(e,n){1&e&&N(0,oht,0,0,"ng-template")}function sht(e,n){if(1&e){const t=Be();V(0,"span",11),ge("click",function(){return X(t),Q(E(3).clear())}),N(1,aht,1,0,null,12),j()}if(2&e){const t=E(3);G(1),R("ngTemplateOutlet",t.clearIconTemplate)}}function lht(e,n){if(1&e&&(dt(0),N(1,rht,1,1,"TimesIcon",8),N(2,sht,2,1,"span",9),pt()),2&e){const t=E(2);G(1),R("ngIf",!t.clearIconTemplate),G(1),R("ngIf",t.clearIconTemplate)}}function cht(e,n){1&e&&Te(0,"span",15),2&e&&R("ngClass",E(3).icon)}function uht(e,n){1&e&&Te(0,"CalendarIcon")}function dht(e,n){}function pht(e,n){1&e&&N(0,dht,0,0,"ng-template")}function fht(e,n){if(1&e&&(dt(0),N(1,uht,1,0,"CalendarIcon",6),N(2,pht,1,0,null,12),pt()),2&e){const t=E(3);G(1),R("ngIf",!t.triggerIconTemplate),G(1),R("ngTemplateOutlet",t.triggerIconTemplate)}}function hht(e,n){if(1&e){const t=Be();V(0,"button",13),ge("click",function(r){X(t),E();const o=gn(1);return Q(E().onButtonClick(r,o))}),N(1,cht,1,1,"span",14),N(2,fht,3,2,"ng-container",6),j()}if(2&e){const t=E(2);R("disabled",t.disabled),tt("aria-label",t.iconAriaLabel),G(1),R("ngIf",t.icon),G(1),R("ngIf",!t.icon)}}function ght(e,n){if(1&e){const t=Be();V(0,"input",4,5),ge("focus",function(r){return X(t),Q(E().onInputFocus(r))})("keydown",function(r){return X(t),Q(E().onInputKeydown(r))})("click",function(){return X(t),Q(E().onInputClick())})("blur",function(r){return X(t),Q(E().onInputBlur(r))})("input",function(r){return X(t),Q(E().onUserInput(r))}),j(),N(2,lht,3,2,"ng-container",6),N(3,hht,3,4,"button",7)}if(2&e){const t=E();Ot(t.inputStyleClass),R("value",t.inputFieldValue)("readonly",t.readonlyInput)("ngStyle",t.inputStyle)("placeholder",t.placeholder||"")("disabled",t.disabled)("ngClass","p-inputtext p-component"),tt("id",t.inputId)("name",t.name)("required",t.required)("aria-required",t.required)("tabindex",t.tabindex)("inputmode",t.touchUI?"off":null)("aria-labelledby",t.ariaLabelledBy),G(2),R("ngIf",t.showClear&&!t.disabled&&null!=t.value),G(1),R("ngIf",t.showIcon)}}function mht(e,n){1&e&&It(0)}function yht(e,n){1&e&&Te(0,"ChevronLeftIcon",37),2&e&&R("styleClass","p-datepicker-prev-icon")}function _ht(e,n){}function vht(e,n){1&e&&N(0,_ht,0,0,"ng-template")}function Tht(e,n){if(1&e&&(V(0,"span",38),N(1,vht,1,0,null,12),j()),2&e){const t=E(5);G(1),R("ngTemplateOutlet",t.previousIconTemplate)}}function Cht(e,n){if(1&e){const t=Be();V(0,"button",35),ge("keydown",function(r){return X(t),Q(E(4).onContainerButtonKeydown(r))})("click",function(r){return X(t),Q(E(4).onPrevButtonClick(r))}),N(1,yht,1,1,"ChevronLeftIcon",32),N(2,Tht,2,1,"span",36),j()}if(2&e){const t=E(4);G(1),R("ngIf",!t.previousIconTemplate),G(1),R("ngIf",t.previousIconTemplate)}}function bht(e,n){if(1&e){const t=Be();V(0,"button",39),ge("click",function(r){return X(t),Q(E(4).switchToMonthView(r))})("keydown",function(r){return X(t),Q(E(4).onContainerButtonKeydown(r))}),Ie(1),j()}if(2&e){const t=E().$implicit,i=E(3);R("disabled",i.switchViewButtonDisabled()),G(1),gr(" ",i.getMonthName(t.month)," ")}}function Aht(e,n){if(1&e){const t=Be();V(0,"button",40),ge("click",function(r){return X(t),Q(E(4).switchToYearView(r))})("keydown",function(r){return X(t),Q(E(4).onContainerButtonKeydown(r))}),Ie(1),j()}if(2&e){const t=E().$implicit,i=E(3);R("disabled",i.switchViewButtonDisabled()),G(1),gr(" ",i.getYear(t)," ")}}function Sht(e,n){if(1&e&&(dt(0),Ie(1),pt()),2&e){const t=E(5);G(1),CE("",t.yearPickerValues()[0]," - ",t.yearPickerValues()[t.yearPickerValues().length-1],"")}}function wht(e,n){1&e&&It(0)}const ahe=function(e){return{$implicit:e}};function xht(e,n){if(1&e&&(V(0,"span",41),N(1,Sht,2,2,"ng-container",6),N(2,wht,1,0,"ng-container",42),j()),2&e){const t=E(4);G(1),R("ngIf",!t.decadeTemplate),G(1),R("ngTemplateOutlet",t.decadeTemplate)("ngTemplateOutletContext",yt(3,ahe,t.yearPickerValues))}}function Fht(e,n){1&e&&Te(0,"ChevronRightIcon",37),2&e&&R("styleClass","p-datepicker-next-icon")}function Dht(e,n){}function Eht(e,n){1&e&&N(0,Dht,0,0,"ng-template")}function Iht(e,n){if(1&e&&(V(0,"span",43),N(1,Eht,1,0,null,12),j()),2&e){const t=E(4);G(1),R("ngTemplateOutlet",t.nextIconTemplate)}}function Rht(e,n){if(1&e&&(V(0,"th",49)(1,"span"),Ie(2),j()()),2&e){const t=E(5);G(2),Ci(t.getTranslation("weekHeader"))}}function Lht(e,n){if(1&e&&(V(0,"th",50)(1,"span"),Ie(2),j()()),2&e){const t=n.$implicit;G(2),Ci(t)}}function Mht(e,n){if(1&e&&(V(0,"td",53)(1,"span",54),Ie(2),j()()),2&e){const t=E().index,i=E(2).$implicit;G(2),gr(" ",i.weekNumbers[t]," ")}}function kht(e,n){if(1&e&&(dt(0),Ie(1),pt()),2&e){const t=E(2).$implicit;G(1),Ci(t.day)}}function Pht(e,n){1&e&&It(0)}const she=function(e,n){return{"p-highlight":e,"p-disabled":n}};function Nht(e,n){if(1&e){const t=Be();dt(0),V(1,"span",55),ge("click",function(r){X(t);const o=E().$implicit;return Q(E(6).onDateSelect(r,o))})("keydown",function(r){X(t);const o=E().$implicit,a=E(3).index;return Q(E(3).onDateCellKeydown(r,o,a))}),N(2,kht,2,1,"ng-container",6),N(3,Pht,1,0,"ng-container",42),j(),pt()}if(2&e){const t=E().$implicit,i=E(6);G(1),R("ngClass",Hn(4,she,i.isSelected(t),!t.selectable)),G(1),R("ngIf",!i.dateTemplate),G(1),R("ngTemplateOutlet",i.dateTemplate)("ngTemplateOutletContext",yt(7,ahe,t))}}const Oht=function(e,n){return{"p-datepicker-other-month":e,"p-datepicker-today":n}};function Hht(e,n){if(1&e&&(V(0,"td",15),N(1,Nht,4,9,"ng-container",6),j()),2&e){const t=n.$implicit,i=E(6);R("ngClass",Hn(2,Oht,t.otherMonth,t.today)),G(1),R("ngIf",!t.otherMonth||i.showOtherMonths)}}function Ght(e,n){if(1&e&&(V(0,"tr"),N(1,Mht,3,1,"td",51),N(2,Hht,2,5,"td",52),j()),2&e){const t=n.$implicit,i=E(5);G(1),R("ngIf",i.showWeek),G(1),R("ngForOf",t)}}function Bht(e,n){if(1&e&&(V(0,"div",44)(1,"table",45)(2,"thead")(3,"tr"),N(4,Rht,3,1,"th",46),N(5,Lht,3,1,"th",47),j()(),V(6,"tbody"),N(7,Ght,3,2,"tr",48),j()()()),2&e){const t=E().$implicit,i=E(3);G(4),R("ngIf",i.showWeek),G(1),R("ngForOf",i.weekDays),G(2),R("ngForOf",t.dates)}}function Yht(e,n){if(1&e){const t=Be();V(0,"div",24)(1,"div",25),N(2,Cht,3,2,"button",26),V(3,"div",27),N(4,bht,2,2,"button",28),N(5,Aht,2,2,"button",29),N(6,xht,3,5,"span",30),j(),V(7,"button",31),ge("keydown",function(r){return X(t),Q(E(3).onContainerButtonKeydown(r))})("click",function(r){return X(t),Q(E(3).onNextButtonClick(r))}),N(8,Fht,1,1,"ChevronRightIcon",32),N(9,Iht,2,1,"span",33),j()(),N(10,Bht,8,3,"div",34),j()}if(2&e){const t=n.index,i=E(3);G(2),R("ngIf",0===t),G(2),R("ngIf","date"===i.currentView),G(1),R("ngIf","year"!==i.currentView),G(1),R("ngIf","year"===i.currentView),G(1),lc("display",1===i.numberOfMonths||t===i.numberOfMonths-1?"inline-flex":"none"),G(1),R("ngIf",!i.nextIconTemplate),G(1),R("ngIf",i.nextIconTemplate),G(1),R("ngIf","date"===i.currentView)}}function Vht(e,n){if(1&e){const t=Be();V(0,"span",58),ge("click",function(r){const a=X(t).index;return Q(E(4).onMonthSelect(r,a))})("keydown",function(r){const a=X(t).index;return Q(E(4).onMonthCellKeydown(r,a))}),Ie(1),j()}if(2&e){const t=n.$implicit,i=n.index,r=E(4);R("ngClass",Hn(2,she,r.isMonthSelected(i),r.isMonthDisabled(i))),G(1),gr(" ",t," ")}}function zht(e,n){if(1&e&&(V(0,"div",56),N(1,Vht,2,5,"span",57),j()),2&e){const t=E(3);G(1),R("ngForOf",t.monthPickerValues())}}const $ht=function(e){return{"p-highlight":e}};function Uht(e,n){if(1&e){const t=Be();V(0,"span",61),ge("click",function(r){const a=X(t).$implicit;return Q(E(4).onYearSelect(r,a))})("keydown",function(r){const a=X(t).$implicit;return Q(E(4).onYearCellKeydown(r,a))}),Ie(1),j()}if(2&e){const t=n.$implicit,i=E(4);R("ngClass",yt(2,$ht,i.isYearSelected(t))),G(1),gr(" ",t," ")}}function jht(e,n){if(1&e&&(V(0,"div",59),N(1,Uht,2,4,"span",60),j()),2&e){const t=E(3);G(1),R("ngForOf",t.yearPickerValues())}}function Wht(e,n){if(1&e&&(dt(0),V(1,"div",20),N(2,Yht,11,9,"div",21),j(),N(3,zht,2,1,"div",22),N(4,jht,2,1,"div",23),pt()),2&e){const t=E(2);G(2),R("ngForOf",t.months),G(1),R("ngIf","month"===t.currentView),G(1),R("ngIf","year"===t.currentView)}}function qht(e,n){1&e&&Te(0,"ChevronUpIcon")}function Kht(e,n){}function Zht(e,n){1&e&&N(0,Kht,0,0,"ng-template")}function Xht(e,n){1&e&&(dt(0),Ie(1,"0"),pt())}function Qht(e,n){1&e&&Te(0,"ChevronDownIcon")}function Jht(e,n){}function egt(e,n){1&e&&N(0,Jht,0,0,"ng-template")}function tgt(e,n){1&e&&Te(0,"ChevronUpIcon")}function ngt(e,n){}function igt(e,n){1&e&&N(0,ngt,0,0,"ng-template")}function rgt(e,n){1&e&&(dt(0),Ie(1,"0"),pt())}function ogt(e,n){1&e&&Te(0,"ChevronDownIcon")}function agt(e,n){}function sgt(e,n){1&e&&N(0,agt,0,0,"ng-template")}function lgt(e,n){if(1&e&&(V(0,"div",65)(1,"span"),Ie(2),j()()),2&e){const t=E(3);G(2),Ci(t.timeSeparator)}}function cgt(e,n){1&e&&Te(0,"ChevronUpIcon")}function ugt(e,n){}function dgt(e,n){1&e&&N(0,ugt,0,0,"ng-template")}function pgt(e,n){1&e&&(dt(0),Ie(1,"0"),pt())}function fgt(e,n){1&e&&Te(0,"ChevronDownIcon")}function hgt(e,n){}function ggt(e,n){1&e&&N(0,hgt,0,0,"ng-template")}function mgt(e,n){if(1&e){const t=Be();V(0,"div",70)(1,"button",64),ge("keydown",function(r){return X(t),Q(E(3).onContainerButtonKeydown(r))})("keydown.enter",function(r){return X(t),Q(E(3).incrementSecond(r))})("keydown.space",function(r){return X(t),Q(E(3).incrementSecond(r))})("mousedown",function(r){return X(t),Q(E(3).onTimePickerElementMouseDown(r,2,1))})("mouseup",function(r){return X(t),Q(E(3).onTimePickerElementMouseUp(r))})("keyup.enter",function(r){return X(t),Q(E(3).onTimePickerElementMouseUp(r))})("keyup.space",function(r){return X(t),Q(E(3).onTimePickerElementMouseUp(r))})("mouseleave",function(){return X(t),Q(E(3).onTimePickerElementMouseLeave())}),N(2,cgt,1,0,"ChevronUpIcon",6),N(3,dgt,1,0,null,12),j(),V(4,"span"),N(5,pgt,2,0,"ng-container",6),Ie(6),j(),V(7,"button",64),ge("keydown",function(r){return X(t),Q(E(3).onContainerButtonKeydown(r))})("keydown.enter",function(r){return X(t),Q(E(3).decrementSecond(r))})("keydown.space",function(r){return X(t),Q(E(3).decrementSecond(r))})("mousedown",function(r){return X(t),Q(E(3).onTimePickerElementMouseDown(r,2,-1))})("mouseup",function(r){return X(t),Q(E(3).onTimePickerElementMouseUp(r))})("keyup.enter",function(r){return X(t),Q(E(3).onTimePickerElementMouseUp(r))})("keyup.space",function(r){return X(t),Q(E(3).onTimePickerElementMouseUp(r))})("mouseleave",function(){return X(t),Q(E(3).onTimePickerElementMouseLeave())}),N(8,fgt,1,0,"ChevronDownIcon",6),N(9,ggt,1,0,null,12),j()()}if(2&e){const t=E(3);G(2),R("ngIf",!t.incrementIconTemplate),G(1),R("ngTemplateOutlet",t.incrementIconTemplate),G(2),R("ngIf",t.currentSecond<10),G(1),Ci(t.currentSecond),G(2),R("ngIf",!t.decrementIconTemplate),G(1),R("ngTemplateOutlet",t.decrementIconTemplate)}}function ygt(e,n){1&e&&Te(0,"ChevronUpIcon")}function _gt(e,n){}function vgt(e,n){1&e&&N(0,_gt,0,0,"ng-template")}function Tgt(e,n){1&e&&Te(0,"ChevronDownIcon")}function Cgt(e,n){}function bgt(e,n){1&e&&N(0,Cgt,0,0,"ng-template")}function Agt(e,n){if(1&e){const t=Be();V(0,"div",71)(1,"button",72),ge("keydown",function(r){return X(t),Q(E(3).onContainerButtonKeydown(r))})("click",function(r){return X(t),Q(E(3).toggleAMPM(r))})("keydown.enter",function(r){return X(t),Q(E(3).toggleAMPM(r))}),N(2,ygt,1,0,"ChevronUpIcon",6),N(3,vgt,1,0,null,12),j(),V(4,"span"),Ie(5),j(),V(6,"button",72),ge("keydown",function(r){return X(t),Q(E(3).onContainerButtonKeydown(r))})("click",function(r){return X(t),Q(E(3).toggleAMPM(r))})("keydown.enter",function(r){return X(t),Q(E(3).toggleAMPM(r))}),N(7,Tgt,1,0,"ChevronDownIcon",6),N(8,bgt,1,0,null,12),j()()}if(2&e){const t=E(3);G(2),R("ngIf",!t.incrementIconTemplate),G(1),R("ngTemplateOutlet",t.incrementIconTemplate),G(2),Ci(t.pm?"PM":"AM"),G(2),R("ngIf",!t.decrementIconTemplate),G(1),R("ngTemplateOutlet",t.decrementIconTemplate)}}function Sgt(e,n){if(1&e){const t=Be();V(0,"div",62)(1,"div",63)(2,"button",64),ge("keydown",function(r){return X(t),Q(E(2).onContainerButtonKeydown(r))})("keydown.enter",function(r){return X(t),Q(E(2).incrementHour(r))})("keydown.space",function(r){return X(t),Q(E(2).incrementHour(r))})("mousedown",function(r){return X(t),Q(E(2).onTimePickerElementMouseDown(r,0,1))})("mouseup",function(r){return X(t),Q(E(2).onTimePickerElementMouseUp(r))})("keyup.enter",function(r){return X(t),Q(E(2).onTimePickerElementMouseUp(r))})("keyup.space",function(r){return X(t),Q(E(2).onTimePickerElementMouseUp(r))})("mouseleave",function(){return X(t),Q(E(2).onTimePickerElementMouseLeave())}),N(3,qht,1,0,"ChevronUpIcon",6),N(4,Zht,1,0,null,12),j(),V(5,"span"),N(6,Xht,2,0,"ng-container",6),Ie(7),j(),V(8,"button",64),ge("keydown",function(r){return X(t),Q(E(2).onContainerButtonKeydown(r))})("keydown.enter",function(r){return X(t),Q(E(2).decrementHour(r))})("keydown.space",function(r){return X(t),Q(E(2).decrementHour(r))})("mousedown",function(r){return X(t),Q(E(2).onTimePickerElementMouseDown(r,0,-1))})("mouseup",function(r){return X(t),Q(E(2).onTimePickerElementMouseUp(r))})("keyup.enter",function(r){return X(t),Q(E(2).onTimePickerElementMouseUp(r))})("keyup.space",function(r){return X(t),Q(E(2).onTimePickerElementMouseUp(r))})("mouseleave",function(){return X(t),Q(E(2).onTimePickerElementMouseLeave())}),N(9,Qht,1,0,"ChevronDownIcon",6),N(10,egt,1,0,null,12),j()(),V(11,"div",65)(12,"span"),Ie(13),j()(),V(14,"div",66)(15,"button",64),ge("keydown",function(r){return X(t),Q(E(2).onContainerButtonKeydown(r))})("keydown.enter",function(r){return X(t),Q(E(2).incrementMinute(r))})("keydown.space",function(r){return X(t),Q(E(2).incrementMinute(r))})("mousedown",function(r){return X(t),Q(E(2).onTimePickerElementMouseDown(r,1,1))})("mouseup",function(r){return X(t),Q(E(2).onTimePickerElementMouseUp(r))})("keyup.enter",function(r){return X(t),Q(E(2).onTimePickerElementMouseUp(r))})("keyup.space",function(r){return X(t),Q(E(2).onTimePickerElementMouseUp(r))})("mouseleave",function(){return X(t),Q(E(2).onTimePickerElementMouseLeave())}),N(16,tgt,1,0,"ChevronUpIcon",6),N(17,igt,1,0,null,12),j(),V(18,"span"),N(19,rgt,2,0,"ng-container",6),Ie(20),j(),V(21,"button",64),ge("keydown",function(r){return X(t),Q(E(2).onContainerButtonKeydown(r))})("keydown.enter",function(r){return X(t),Q(E(2).decrementMinute(r))})("keydown.space",function(r){return X(t),Q(E(2).decrementMinute(r))})("mousedown",function(r){return X(t),Q(E(2).onTimePickerElementMouseDown(r,1,-1))})("mouseup",function(r){return X(t),Q(E(2).onTimePickerElementMouseUp(r))})("keyup.enter",function(r){return X(t),Q(E(2).onTimePickerElementMouseUp(r))})("keyup.space",function(r){return X(t),Q(E(2).onTimePickerElementMouseUp(r))})("mouseleave",function(){return X(t),Q(E(2).onTimePickerElementMouseLeave())}),N(22,ogt,1,0,"ChevronDownIcon",6),N(23,sgt,1,0,null,12),j()(),N(24,lgt,3,1,"div",67),N(25,mgt,10,6,"div",68),N(26,Agt,9,5,"div",69),j()}if(2&e){const t=E(2);G(3),R("ngIf",!t.incrementIconTemplate),G(1),R("ngTemplateOutlet",t.incrementIconTemplate),G(2),R("ngIf",t.currentHour<10),G(1),Ci(t.currentHour),G(2),R("ngIf",!t.decrementIconTemplate),G(1),R("ngTemplateOutlet",t.decrementIconTemplate),G(3),Ci(t.timeSeparator),G(3),R("ngIf",!t.incrementIconTemplate),G(1),R("ngTemplateOutlet",t.incrementIconTemplate),G(2),R("ngIf",t.currentMinute<10),G(1),Ci(t.currentMinute),G(2),R("ngIf",!t.decrementIconTemplate),G(1),R("ngTemplateOutlet",t.decrementIconTemplate),G(1),R("ngIf",t.showSeconds),G(1),R("ngIf",t.showSeconds),G(1),R("ngIf","12"==t.hourFormat)}}const lhe=function(e){return[e]};function wgt(e,n){if(1&e){const t=Be();V(0,"div",73)(1,"button",74),ge("keydown",function(r){return X(t),Q(E(2).onContainerButtonKeydown(r))})("click",function(r){return X(t),Q(E(2).onTodayButtonClick(r))}),j(),V(2,"button",74),ge("keydown",function(r){return X(t),Q(E(2).onContainerButtonKeydown(r))})("click",function(r){return X(t),Q(E(2).onClearButtonClick(r))}),j()()}if(2&e){const t=E(2);G(1),R("label",t.getTranslation("today"))("ngClass",yt(4,lhe,t.todayButtonStyleClass)),G(1),R("label",t.getTranslation("clear"))("ngClass",yt(6,lhe,t.clearButtonStyleClass))}}function xgt(e,n){1&e&&It(0)}const Fgt=function(e,n,t,i,r,o){return{"p-datepicker p-component":!0,"p-datepicker-inline":e,"p-disabled":n,"p-datepicker-timeonly":t,"p-datepicker-multiple-month":i,"p-datepicker-monthpicker":r,"p-datepicker-touch-ui":o}},che=function(e,n){return{showTransitionParams:e,hideTransitionParams:n}},Dgt=function(e){return{value:"visibleTouchUI",params:e}},Egt=function(e){return{value:"visible",params:e}};function Igt(e,n){if(1&e){const t=Be();V(0,"div",16,17),ge("@overlayAnimation.start",function(r){return X(t),Q(E().onOverlayAnimationStart(r))})("@overlayAnimation.done",function(r){return X(t),Q(E().onOverlayAnimationDone(r))})("click",function(r){return X(t),Q(E().onOverlayClick(r))}),ts(2),N(3,mht,1,0,"ng-container",12),N(4,Wht,5,3,"ng-container",6),N(5,Sgt,27,16,"div",18),N(6,wgt,3,8,"div",19),ts(7,1),N(8,xgt,1,0,"ng-container",12),j()}if(2&e){const t=E();Ot(t.panelStyleClass),R("ngStyle",t.panelStyle)("ngClass",function rz(e,n,t,i,r,o,a,s,l){const c=_a()+e,u=He(),d=yl(u,c,t,i,r,o);return ag(u,c+4,a,s)||d?hu(u,c+6,l?n.call(l,t,i,r,o,a,s):n(t,i,r,o,a,s)):Tv(u,c+6)}(11,Fgt,t.inline,t.disabled,t.timeOnly,t.numberOfMonths>1,"month"===t.view,t.touchUI))("@overlayAnimation",t.touchUI?yt(21,Dgt,Hn(18,che,t.showTransitionOptions,t.hideTransitionOptions)):yt(26,Egt,Hn(23,che,t.showTransitionOptions,t.hideTransitionOptions)))("@.disabled",!0===t.inline),G(3),R("ngTemplateOutlet",t.headerTemplate),G(1),R("ngIf",!t.timeOnly),G(1),R("ngIf",(t.showTime||t.timeOnly)&&"date"===t.currentView),G(1),R("ngIf",t.showButtonBar),G(2),R("ngTemplateOutlet",t.footerTemplate)}}const Rgt=[[["p-header"]],[["p-footer"]]],Lgt=function(e,n,t,i){return{"p-calendar":!0,"p-calendar-w-btn":e,"p-calendar-timeonly":n,"p-calendar-disabled":t,"p-focus":i}},Mgt=["p-header","p-footer"],kgt={provide:sr,useExisting:pn(()=>Pgt),multi:!0};let Pgt=(()=>{class e{constructor(t,i,r,o,a,s,l){this.document=t,this.el=i,this.renderer=r,this.cd=o,this.zone=a,this.config=s,this.overlayService=l,this.multipleSeparator=",",this.rangeSeparator="-",this.inline=!1,this.showOtherMonths=!0,this.shortYearCutoff="+10",this.hourFormat="24",this.stepHour=1,this.stepMinute=1,this.stepSecond=1,this.showSeconds=!1,this.showOnFocus=!0,this.showWeek=!1,this.showClear=!1,this.dataType="date",this.selectionMode="single",this.todayButtonStyleClass="p-button-text",this.clearButtonStyleClass="p-button-text",this.autoZIndex=!0,this.baseZIndex=0,this.keepInvalid=!1,this.hideOnDateTimeSelect=!0,this.timeSeparator=":",this.focusTrap=!0,this.showTransitionOptions=".12s cubic-bezier(0, 0, 0.2, 1)",this.hideTransitionOptions=".1s linear",this.onFocus=new Pe,this.onBlur=new Pe,this.onClose=new Pe,this.onSelect=new Pe,this.onClear=new Pe,this.onInput=new Pe,this.onTodayClick=new Pe,this.onClearClick=new Pe,this.onMonthChange=new Pe,this.onYearChange=new Pe,this.onClickOutside=new Pe,this.onShow=new Pe,this.onModelChange=()=>{},this.onModelTouched=()=>{},this.inputFieldValue=null,this.navigationState=null,this._numberOfMonths=1,this._view="date",this.convertTo24Hour=function(c,u){return"12"==this.hourFormat?12===c?u?12:0:u?c+12:c:c},this.window=this.document.defaultView}set content(t){this.contentViewChild=t,this.contentViewChild&&(this.isMonthNavigate?(Promise.resolve(null).then(()=>this.updateFocus()),this.isMonthNavigate=!1):this.focus||this.initFocusableCell())}get view(){return this._view}set view(t){this._view=t,this.currentView=this._view}get defaultDate(){return this._defaultDate}set defaultDate(t){if(this._defaultDate=t,this.initialized){const i=t||new Date;this.currentMonth=i.getMonth(),this.currentYear=i.getFullYear(),this.initTime(i),this.createMonths(this.currentMonth,this.currentYear)}}get minDate(){return this._minDate}set minDate(t){this._minDate=t,null!=this.currentMonth&&null!=this.currentMonth&&this.currentYear&&this.createMonths(this.currentMonth,this.currentYear)}get maxDate(){return this._maxDate}set maxDate(t){this._maxDate=t,null!=this.currentMonth&&null!=this.currentMonth&&this.currentYear&&this.createMonths(this.currentMonth,this.currentYear)}get disabledDates(){return this._disabledDates}set disabledDates(t){this._disabledDates=t,null!=this.currentMonth&&null!=this.currentMonth&&this.currentYear&&this.createMonths(this.currentMonth,this.currentYear)}get disabledDays(){return this._disabledDays}set disabledDays(t){this._disabledDays=t,null!=this.currentMonth&&null!=this.currentMonth&&this.currentYear&&this.createMonths(this.currentMonth,this.currentYear)}get yearRange(){return this._yearRange}set yearRange(t){if(this._yearRange=t,t){const i=t.split(":"),r=parseInt(i[0]),o=parseInt(i[1]);this.populateYearOptions(r,o)}}get showTime(){return this._showTime}set showTime(t){this._showTime=t,void 0===this.currentHour&&this.initTime(this.value||new Date),this.updateInputfield()}get locale(){return this._locale}get responsiveOptions(){return this._responsiveOptions}set responsiveOptions(t){this._responsiveOptions=t,this.destroyResponsiveStyleElement(),this.createResponsiveStyle()}get numberOfMonths(){return this._numberOfMonths}set numberOfMonths(t){this._numberOfMonths=t,this.destroyResponsiveStyleElement(),this.createResponsiveStyle()}get firstDayOfWeek(){return this._firstDayOfWeek}set firstDayOfWeek(t){this._firstDayOfWeek=t,this.createWeekDays()}set locale(t){console.warn("Locale property has no effect, use new i18n API instead.")}ngOnInit(){this.attributeSelector=E6();const t=this.defaultDate||new Date;this.createResponsiveStyle(),this.currentMonth=t.getMonth(),this.currentYear=t.getFullYear(),this.currentView=this.view,"date"===this.view&&(this.createWeekDays(),this.initTime(t),this.createMonths(this.currentMonth,this.currentYear),this.ticksTo1970=24*(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925))*60*60*1e7),this.translationSubscription=this.config.translationObserver.subscribe(()=>{this.createWeekDays(),this.cd.markForCheck()}),this.initialized=!0}ngAfterContentInit(){this.templates.forEach(t=>{switch(t.getType()){case"date":default:this.dateTemplate=t.template;break;case"decade":this.decadeTemplate=t.template;break;case"disabledDate":this.disabledDateTemplate=t.template;break;case"header":this.headerTemplate=t.template;break;case"previousicon":this.previousIconTemplate=t.template;break;case"nexticon":this.nextIconTemplate=t.template;break;case"triggericon":this.triggerIconTemplate=t.template;break;case"clearicon":this.clearIconTemplate=t.template;break;case"decrementicon":this.decrementIconTemplate=t.template;break;case"incrementicon":this.incrementIconTemplate=t.template;break;case"footer":this.footerTemplate=t.template}})}ngAfterViewInit(){this.inline&&(this.contentViewChild&&this.contentViewChild.nativeElement.setAttribute(this.attributeSelector,""),this.disabled||(this.initFocusableCell(),1===this.numberOfMonths&&(this.contentViewChild.nativeElement.style.width=ve.getOuterWidth(this.containerViewChild.nativeElement)+"px")))}getTranslation(t){return this.config.getTranslation(t)}populateYearOptions(t,i){this.yearOptions=[];for(let r=t;r<=i;r++)this.yearOptions.push(r)}createWeekDays(){this.weekDays=[];let t=this.getFirstDateOfWeek(),i=this.getTranslation(wa.DAY_NAMES_MIN);for(let r=0;r<7;r++)this.weekDays.push(i[t]),t=6==t?0:++t}monthPickerValues(){let t=[];for(let i=0;i<=11;i++)t.push(this.config.getTranslation("monthNamesShort")[i]);return t}yearPickerValues(){let t=[],i=this.currentYear-this.currentYear%10;for(let r=0;r<10;r++)t.push(i+r);return t}createMonths(t,i){this.months=this.months=[];for(let r=0;r11&&(o=o%11-1,a=i+1),this.months.push(this.createMonth(o,a))}}getWeekNumber(t){let i=new Date(t.getTime());i.setDate(i.getDate()+4-(i.getDay()||7));let r=i.getTime();return i.setMonth(0),i.setDate(1),Math.floor(Math.round((r-i.getTime())/864e5)/7)+1}createMonth(t,i){let r=[],o=this.getFirstDayOfMonthIndex(t,i),a=this.getDaysCountInMonth(t,i),s=this.getDaysCountInPrevMonth(t,i),l=1,c=new Date,u=[],d=Math.ceil((a+o)/7);for(let p=0;pa){let g=this.getNextMonthAndYear(t,i);f.push({day:l-a,month:g.month,year:g.year,otherMonth:!0,today:this.isToday(c,l-a,g.month,g.year),selectable:this.isSelectable(l-a,g.month,g.year,!0)})}else f.push({day:l,month:t,year:i,today:this.isToday(c,l,t,i),selectable:this.isSelectable(l,t,i,!1)});l++}this.showWeek&&u.push(this.getWeekNumber(new Date(f[0].year,f[0].month,f[0].day))),r.push(f)}return{month:t,year:i,dates:r,weekNumbers:u}}initTime(t){this.pm=t.getHours()>11,this.showTime?(this.currentMinute=t.getMinutes(),this.currentSecond=t.getSeconds(),this.setCurrentHourPM(t.getHours())):this.timeOnly&&(this.currentMinute=0,this.currentHour=0,this.currentSecond=0)}navBackward(t){this.disabled?t.preventDefault():(this.isMonthNavigate=!0,"month"===this.currentView?(this.decrementYear(),setTimeout(()=>{this.updateFocus()},1)):"year"===this.currentView?(this.decrementDecade(),setTimeout(()=>{this.updateFocus()},1)):(0===this.currentMonth?(this.currentMonth=11,this.decrementYear()):this.currentMonth--,this.onMonthChange.emit({month:this.currentMonth+1,year:this.currentYear}),this.createMonths(this.currentMonth,this.currentYear)))}navForward(t){this.disabled?t.preventDefault():(this.isMonthNavigate=!0,"month"===this.currentView?(this.incrementYear(),setTimeout(()=>{this.updateFocus()},1)):"year"===this.currentView?(this.incrementDecade(),setTimeout(()=>{this.updateFocus()},1)):(11===this.currentMonth?(this.currentMonth=0,this.incrementYear()):this.currentMonth++,this.onMonthChange.emit({month:this.currentMonth+1,year:this.currentYear}),this.createMonths(this.currentMonth,this.currentYear)))}decrementYear(){if(this.currentYear--,this.yearNavigator&&this.currentYearthis.yearOptions[this.yearOptions.length-1]){let t=this.yearOptions[this.yearOptions.length-1]-this.yearOptions[0];this.populateYearOptions(this.yearOptions[0]+t,this.yearOptions[this.yearOptions.length-1]+t)}}switchToMonthView(t){this.setCurrentView("month"),t.preventDefault()}switchToYearView(t){this.setCurrentView("year"),t.preventDefault()}onDateSelect(t,i){!this.disabled&&i.selectable?(this.isMultipleSelection()&&this.isSelected(i)?(this.value=this.value.filter((r,o)=>!this.isDateEquals(r,i)),0===this.value.length&&(this.value=null),this.updateModel(this.value)):this.shouldSelectDate(i)&&this.selectDate(i),this.isSingleSelection()&&this.hideOnDateTimeSelect&&setTimeout(()=>{t.preventDefault(),this.hideOverlay(),this.mask&&this.disableModality(),this.cd.markForCheck()},150),this.updateInputfield(),t.preventDefault()):t.preventDefault()}shouldSelectDate(t){return!this.isMultipleSelection()||null==this.maxDateCount||this.maxDateCount>(this.value?this.value.length:0)}onMonthSelect(t,i){"month"===this.view?this.onDateSelect(t,{year:this.currentYear,month:i,day:1,selectable:!0}):(this.currentMonth=i,this.createMonths(this.currentMonth,this.currentYear),this.setCurrentView("date"),this.onMonthChange.emit({month:this.currentMonth+1,year:this.currentYear}))}onYearSelect(t,i){"year"===this.view?this.onDateSelect(t,{year:i,month:0,day:1,selectable:!0}):(this.currentYear=i,this.setCurrentView("month"),this.onYearChange.emit({month:this.currentMonth+1,year:this.currentYear}))}updateInputfield(){let t="";if(this.value)if(this.isSingleSelection())t=this.formatDateTime(this.value);else if(this.isMultipleSelection())for(let i=0;i11,this.currentHour=t>=12?12==t?12:t-12:0==t?12:t):this.currentHour=t}setCurrentView(t){this.currentView=t,this.cd.detectChanges(),this.alignOverlay()}selectDate(t){let i=new Date(t.year,t.month,t.day);if(this.showTime&&(i.setHours("12"==this.hourFormat?12===this.currentHour?this.pm?12:0:this.pm?this.currentHour+12:this.currentHour:this.currentHour),i.setMinutes(this.currentMinute),i.setSeconds(this.currentSecond)),this.minDate&&this.minDate>i&&(i=this.minDate,this.setCurrentHourPM(i.getHours()),this.currentMinute=i.getMinutes(),this.currentSecond=i.getSeconds()),this.maxDate&&this.maxDate=r.getTime()?o=i:(r=i,o=null),this.updateModel([r,o])}else this.updateModel([i,null]);this.onSelect.emit(i)}updateModel(t){if(this.value=t,"date"==this.dataType)this.onModelChange(this.value);else if("string"==this.dataType)if(this.isSingleSelection())this.onModelChange(this.formatDateTime(this.value));else{let i=null;this.value&&(i=this.value.map(r=>this.formatDateTime(r))),this.onModelChange(i)}}getFirstDayOfMonthIndex(t,i){let r=new Date;r.setDate(1),r.setMonth(t),r.setFullYear(i);let o=r.getDay()+this.getSundayIndex();return o>=7?o-7:o}getDaysCountInMonth(t,i){return 32-this.daylightSavingAdjust(new Date(i,t,32)).getDate()}getDaysCountInPrevMonth(t,i){let r=this.getPreviousMonthAndYear(t,i);return this.getDaysCountInMonth(r.month,r.year)}getPreviousMonthAndYear(t,i){let r,o;return 0===t?(r=11,o=i-1):(r=t-1,o=i),{month:r,year:o}}getNextMonthAndYear(t,i){let r,o;return 11===t?(r=0,o=i+1):(r=t+1,o=i),{month:r,year:o}}getSundayIndex(){let t=this.getFirstDateOfWeek();return t>0?7-t:0}isSelected(t){if(!this.value)return!1;if(this.isSingleSelection())return this.isDateEquals(this.value,t);if(this.isMultipleSelection()){let i=!1;for(let r of this.value)if(i=this.isDateEquals(r,t),i)break;return i}return this.isRangeSelection()?this.value[1]?this.isDateEquals(this.value[0],t)||this.isDateEquals(this.value[1],t)||this.isDateBetween(this.value[0],this.value[1],t):this.isDateEquals(this.value[0],t):void 0}isComparable(){return null!=this.value&&"string"!=typeof this.value}isMonthSelected(t){if(this.isComparable()&&!this.isMultipleSelection()){const[i,r]=this.isRangeSelection()?this.value:[this.value,this.value],o=new Date(this.currentYear,t,1);return o>=i&&o<=(r??i)}return!1}isMonthDisabled(t){for(let i=1;i=a.getTime()}return!1}isSingleSelection(){return"single"===this.selectionMode}isRangeSelection(){return"range"===this.selectionMode}isMultipleSelection(){return"multiple"===this.selectionMode}isToday(t,i,r,o){return t.getDate()===i&&t.getMonth()===r&&t.getFullYear()===o}isSelectable(t,i,r,o){let a=!0,s=!0,l=!0,c=!0;return!(o&&!this.selectOtherMonths)&&(this.minDate&&(this.minDate.getFullYear()>r||this.minDate.getFullYear()===r&&(this.minDate.getMonth()>i||this.minDate.getMonth()===i&&this.minDate.getDate()>t))&&(a=!1),this.maxDate&&(this.maxDate.getFullYear()1||this.disabled}onPrevButtonClick(t){this.navigationState={backward:!0,button:!0},this.navBackward(t)}onNextButtonClick(t){this.navigationState={backward:!1,button:!0},this.navForward(t)}onContainerButtonKeydown(t){switch(t.which){case 9:this.inline||this.trapFocus(t);break;case 27:this.overlayVisible=!1,t.preventDefault()}}onInputKeydown(t){this.isKeydown=!0,40===t.keyCode&&this.contentViewChild?this.trapFocus(t):27===t.keyCode||13===t.keyCode?this.overlayVisible&&(this.overlayVisible=!1,t.preventDefault()):9===t.keyCode&&this.contentViewChild&&(ve.getFocusableElements(this.contentViewChild.nativeElement).forEach(i=>i.tabIndex="-1"),this.overlayVisible&&(this.overlayVisible=!1))}onDateCellKeydown(t,i,r){const o=t.currentTarget,a=o.parentElement;switch(t.which){case 40:{o.tabIndex="-1";let s=ve.index(a),l=a.parentElement.nextElementSibling;l?ve.hasClass(l.children[s].children[0],"p-disabled")?(this.navigationState={backward:!1},this.navForward(t)):(l.children[s].children[0].tabIndex="0",l.children[s].children[0].focus()):(this.navigationState={backward:!1},this.navForward(t)),t.preventDefault();break}case 38:{o.tabIndex="-1";let s=ve.index(a),l=a.parentElement.previousElementSibling;if(l){let c=l.children[s].children[0];ve.hasClass(c,"p-disabled")?(this.navigationState={backward:!0},this.navBackward(t)):(c.tabIndex="0",c.focus())}else this.navigationState={backward:!0},this.navBackward(t);t.preventDefault();break}case 37:{o.tabIndex="-1";let s=a.previousElementSibling;if(s){let l=s.children[0];ve.hasClass(l,"p-disabled")||ve.hasClass(l.parentElement,"p-datepicker-weeknumber")?this.navigateToMonth(!0,r):(l.tabIndex="0",l.focus())}else this.navigateToMonth(!0,r);t.preventDefault();break}case 39:{o.tabIndex="-1";let s=a.nextElementSibling;if(s){let l=s.children[0];ve.hasClass(l,"p-disabled")?this.navigateToMonth(!1,r):(l.tabIndex="0",l.focus())}else this.navigateToMonth(!1,r);t.preventDefault();break}case 13:case 32:this.onDateSelect(t,i),t.preventDefault();break;case 27:this.overlayVisible=!1,t.preventDefault();break;case 9:this.inline||this.trapFocus(t)}}onMonthCellKeydown(t,i){const r=t.currentTarget;switch(t.which){case 38:case 40:{r.tabIndex="-1";var o=r.parentElement.children,a=ve.index(r);let s=o[40===t.which?a+3:a-3];s&&(s.tabIndex="0",s.focus()),t.preventDefault();break}case 37:{r.tabIndex="-1";let s=r.previousElementSibling;s?(s.tabIndex="0",s.focus()):(this.navigationState={backward:!0},this.navBackward(t)),t.preventDefault();break}case 39:{r.tabIndex="-1";let s=r.nextElementSibling;s?(s.tabIndex="0",s.focus()):(this.navigationState={backward:!1},this.navForward(t)),t.preventDefault();break}case 13:this.onMonthSelect(t,i),t.preventDefault();break;case 13:case 32:case 27:this.overlayVisible=!1,t.preventDefault();break;case 9:this.inline||this.trapFocus(t)}}onYearCellKeydown(t,i){const r=t.currentTarget;switch(t.which){case 38:case 40:{r.tabIndex="-1";var o=r.parentElement.children,a=ve.index(r);let s=o[40===t.which?a+2:a-2];s&&(s.tabIndex="0",s.focus()),t.preventDefault();break}case 37:{r.tabIndex="-1";let s=r.previousElementSibling;s?(s.tabIndex="0",s.focus()):(this.navigationState={backward:!0},this.navBackward(t)),t.preventDefault();break}case 39:{r.tabIndex="-1";let s=r.nextElementSibling;s?(s.tabIndex="0",s.focus()):(this.navigationState={backward:!1},this.navForward(t)),t.preventDefault();break}case 13:case 32:this.onYearSelect(t,i),t.preventDefault();break;case 27:this.overlayVisible=!1,t.preventDefault();break;case 9:this.trapFocus(t)}}navigateToMonth(t,i){if(t)if(1===this.numberOfMonths||0===i)this.navigationState={backward:!0},this.navBackward(event);else{let o=ve.find(this.contentViewChild.nativeElement.children[i-1],".p-datepicker-calendar td span:not(.p-disabled):not(.p-ink)"),a=o[o.length-1];a.tabIndex="0",a.focus()}else if(1===this.numberOfMonths||i===this.numberOfMonths-1)this.navigationState={backward:!1},this.navForward(event);else{let o=ve.findSingle(this.contentViewChild.nativeElement.children[i+1],".p-datepicker-calendar td span:not(.p-disabled):not(.p-ink)");o.tabIndex="0",o.focus()}}updateFocus(){let t;if(this.navigationState){if(this.navigationState.button)this.initFocusableCell(),this.navigationState.backward?ve.findSingle(this.contentViewChild.nativeElement,".p-datepicker-prev").focus():ve.findSingle(this.contentViewChild.nativeElement,".p-datepicker-next").focus();else{if(this.navigationState.backward){let i;i=ve.find(this.contentViewChild.nativeElement,"month"===this.currentView?".p-monthpicker .p-monthpicker-month:not(.p-disabled)":"year"===this.currentView?".p-yearpicker .p-yearpicker-year:not(.p-disabled)":".p-datepicker-calendar td span:not(.p-disabled):not(.p-ink)"),i&&i.length>0&&(t=i[i.length-1])}else t=ve.findSingle(this.contentViewChild.nativeElement,"month"===this.currentView?".p-monthpicker .p-monthpicker-month:not(.p-disabled)":"year"===this.currentView?".p-yearpicker .p-yearpicker-year:not(.p-disabled)":".p-datepicker-calendar td span:not(.p-disabled):not(.p-ink)");t&&(t.tabIndex="0",t.focus())}this.navigationState=null}else this.initFocusableCell()}initFocusableCell(){const t=this.contentViewChild?.nativeElement;let i;if("month"===this.currentView){let r=ve.find(t,".p-monthpicker .p-monthpicker-month:not(.p-disabled)"),o=ve.findSingle(t,".p-monthpicker .p-monthpicker-month.p-highlight");r.forEach(a=>a.tabIndex=-1),i=o||r[0],0===r.length&&ve.find(t,'.p-monthpicker .p-monthpicker-month.p-disabled[tabindex = "0"]').forEach(s=>s.tabIndex=-1)}else if("year"===this.currentView){let r=ve.find(t,".p-yearpicker .p-yearpicker-year:not(.p-disabled)"),o=ve.findSingle(t,".p-yearpicker .p-yearpicker-year.p-highlight");r.forEach(a=>a.tabIndex=-1),i=o||r[0],0===r.length&&ve.find(t,'.p-yearpicker .p-yearpicker-year.p-disabled[tabindex = "0"]').forEach(s=>s.tabIndex=-1)}else if(i=ve.findSingle(t,"span.p-highlight"),!i){let r=ve.findSingle(t,"td.p-datepicker-today span:not(.p-disabled):not(.p-ink)");i=r||ve.findSingle(t,".p-datepicker-calendar td span:not(.p-disabled):not(.p-ink)")}i&&(i.tabIndex="0",!this.preventFocus&&(!this.navigationState||!this.navigationState.button)&&setTimeout(()=>{this.disabled||i.focus()},1),this.preventFocus=!1)}trapFocus(t){let i=ve.getFocusableElements(this.contentViewChild.nativeElement);if(i&&i.length>0)if(i[0].ownerDocument.activeElement){let r=i.indexOf(i[0].ownerDocument.activeElement);if(t.shiftKey)if(-1==r||0===r)if(this.focusTrap)i[i.length-1].focus();else{if(-1===r)return this.hideOverlay();if(0===r)return}else i[r-1].focus();else if(-1==r||r===i.length-1){if(!this.focusTrap&&-1!=r)return this.hideOverlay();i[0].focus()}else i[r+1].focus()}else i[0].focus();t.preventDefault()}onMonthDropdownChange(t){this.currentMonth=parseInt(t),this.onMonthChange.emit({month:this.currentMonth+1,year:this.currentYear}),this.createMonths(this.currentMonth,this.currentYear)}onYearDropdownChange(t){this.currentYear=parseInt(t),this.onYearChange.emit({month:this.currentMonth+1,year:this.currentYear}),this.createMonths(this.currentMonth,this.currentYear)}validateTime(t,i,r,o){let a=this.value;const s=this.convertTo24Hour(t,o);this.isRangeSelection()&&(a=this.value[1]||this.value[0]),this.isMultipleSelection()&&(a=this.value[this.value.length-1]);const l=a?a.toDateString():null;return!(this.minDate&&l&&this.minDate.toDateString()===l&&(this.minDate.getHours()>s||this.minDate.getHours()===s&&(this.minDate.getMinutes()>i||this.minDate.getMinutes()===i&&this.minDate.getSeconds()>r))||this.maxDate&&l&&this.maxDate.toDateString()===l&&(this.maxDate.getHours()=24?r-24:r:"12"==this.hourFormat&&(this.currentHour<12&&r>11&&(o=!this.pm),r=r>=13?r-12:r),this.validateTime(r,this.currentMinute,this.currentSecond,o)&&(this.currentHour=r,this.pm=o),t.preventDefault()}onTimePickerElementMouseDown(t,i,r){this.disabled||(this.repeat(t,null,i,r),t.preventDefault())}onTimePickerElementMouseUp(t){this.disabled||(this.clearTimePickerTimer(),this.updateTime())}onTimePickerElementMouseLeave(){!this.disabled&&this.timePickerTimer&&(this.clearTimePickerTimer(),this.updateTime())}repeat(t,i,r,o){let a=i||500;switch(this.clearTimePickerTimer(),this.timePickerTimer=setTimeout(()=>{this.repeat(t,100,r,o),this.cd.markForCheck()},a),r){case 0:1===o?this.incrementHour(t):this.decrementHour(t);break;case 1:1===o?this.incrementMinute(t):this.decrementMinute(t);break;case 2:1===o?this.incrementSecond(t):this.decrementSecond(t)}this.updateInputfield()}clearTimePickerTimer(){this.timePickerTimer&&(clearTimeout(this.timePickerTimer),this.timePickerTimer=null)}decrementHour(t){let i=this.currentHour-this.stepHour,r=this.pm;"24"==this.hourFormat?i=i<0?24+i:i:"12"==this.hourFormat&&(12===this.currentHour&&(r=!this.pm),i=i<=0?12+i:i),this.validateTime(i,this.currentMinute,this.currentSecond,r)&&(this.currentHour=i,this.pm=r),t.preventDefault()}incrementMinute(t){let i=this.currentMinute+this.stepMinute;i=i>59?i-60:i,this.validateTime(this.currentHour,i,this.currentSecond,this.pm)&&(this.currentMinute=i),t.preventDefault()}decrementMinute(t){let i=this.currentMinute-this.stepMinute;i=i<0?60+i:i,this.validateTime(this.currentHour,i,this.currentSecond,this.pm)&&(this.currentMinute=i),t.preventDefault()}incrementSecond(t){let i=this.currentSecond+this.stepSecond;i=i>59?i-60:i,this.validateTime(this.currentHour,this.currentMinute,i,this.pm)&&(this.currentSecond=i),t.preventDefault()}decrementSecond(t){let i=this.currentSecond-this.stepSecond;i=i<0?60+i:i,this.validateTime(this.currentHour,this.currentMinute,i,this.pm)&&(this.currentSecond=i),t.preventDefault()}updateTime(){let t=this.value;this.isRangeSelection()&&(t=this.value[1]||this.value[0]),this.isMultipleSelection()&&(t=this.value[this.value.length-1]),t=t?new Date(t.getTime()):new Date,t.setHours("12"==this.hourFormat?12===this.currentHour?this.pm?12:0:this.pm?this.currentHour+12:this.currentHour:this.currentHour),t.setMinutes(this.currentMinute),t.setSeconds(this.currentSecond),this.isRangeSelection()&&(t=this.value[1]?[this.value[0],t]:[t,null]),this.isMultipleSelection()&&(t=[...this.value.slice(0,-1),t]),this.updateModel(t),this.onSelect.emit(t),this.updateInputfield()}toggleAMPM(t){const i=!this.pm;this.validateTime(this.currentHour,this.currentMinute,this.currentSecond,i)&&(this.pm=i,this.updateTime()),t.preventDefault()}onUserInput(t){if(!this.isKeydown)return;this.isKeydown=!1;let i=t.target.value;try{let r=this.parseValueFromString(i);this.isValidSelection(r)&&(this.updateModel(r),this.updateUI())}catch{this.updateModel(this.keepInvalid?i:null)}this.filled=null!=i&&i.length,this.onInput.emit(t)}isValidSelection(t){let i=!0;return this.isSingleSelection()?this.isSelectable(t.getDate(),t.getMonth(),t.getFullYear(),!1)||(i=!1):t.every(r=>this.isSelectable(r.getDate(),r.getMonth(),r.getFullYear(),!1))&&this.isRangeSelection()&&(i=t.length>1&&t[1]>t[0]),i}parseValueFromString(t){if(!t||0===t.trim().length)return null;let i;if(this.isSingleSelection())i=this.parseDateTime(t);else if(this.isMultipleSelection()){let r=t.split(this.multipleSeparator);i=[];for(let o of r)i.push(this.parseDateTime(o.trim()))}else if(this.isRangeSelection()){let r=t.split(" "+this.rangeSeparator+" ");i=[];for(let o=0;o{this.disableModality()}),this.renderer.appendChild(this.document.body,this.mask),ve.addClass(this.document.body,"p-overflow-hidden"))}disableModality(){this.mask&&(ve.addClass(this.mask,"p-component-overlay-leave"),this.animationEndListener||(this.animationEndListener=this.renderer.listen(this.mask,"animationend",this.destroyMask.bind(this))))}destroyMask(){if(!this.mask)return;this.renderer.removeChild(this.document.body,this.mask);let i,t=this.document.body.children;for(let r=0;r{const d=r+1{let f=""+d;if(o(u))for(;f.lengtho(u)?f[d]:p[d];let l="",c=!1;if(t)for(r=0;r11&&12!=r&&(r-=12),i+="12"==this.hourFormat&&0===r?12:r<10?"0"+r:r,i+=":",i+=o<10?"0"+o:o,this.showSeconds&&(i+=":",i+=a<10?"0"+a:a),"12"==this.hourFormat&&(i+=t.getHours()>11?" PM":" AM"),i}parseTime(t){let i=t.split(":");if(i.length!==(this.showSeconds?3:2))throw"Invalid time";let o=parseInt(i[0]),a=parseInt(i[1]),s=this.showSeconds?parseInt(i[2]):null;if(isNaN(o)||isNaN(a)||o>23||a>59||"12"==this.hourFormat&&o>12||this.showSeconds&&(isNaN(s)||s>59))throw"Invalid time";return"12"==this.hourFormat&&(12!==o&&this.pm?o+=12:!this.pm&&12===o&&(o-=12)),{hour:o,minute:a,second:s}}parseDate(t,i){if(null==i||null==t)throw"Invalid arguments";if(""===(t="object"==typeof t?t.toString():t+""))return null;let r,o,a,h,s=0,l="string"!=typeof this.shortYearCutoff?this.shortYearCutoff:(new Date).getFullYear()%100+parseInt(this.shortYearCutoff,10),c=-1,u=-1,d=-1,p=-1,f=!1,g=C=>{let A=r+1{let A=g(C),S="@"===C?14:"!"===C?20:"y"===C&&A?4:"o"===C?3:2,w=new RegExp("^\\d{"+("y"===C?S:1)+","+S+"}"),O=t.substring(s).match(w);if(!O)throw"Missing number at position "+s;return s+=O[0].length,parseInt(O[0],10)},_=(C,A,S)=>{let I=-1,w=g(C)?S:A,O=[];for(let B=0;B-(B[1].length-W[1].length));for(let B=0;B{if(t.charAt(s)!==i.charAt(r))throw"Unexpected literal at position "+s;s++};for("month"===this.view&&(d=1),r=0;r-1)for(u=1,d=p;o=this.getDaysCountInMonth(c,u-1),!(d<=o);)u++,d-=o;if("year"===this.view&&(u=-1===u?1:u,d=-1===d?1:d),h=this.daylightSavingAdjust(new Date(c,u-1,d)),h.getFullYear()!==c||h.getMonth()+1!==u||h.getDate()!==d)throw"Invalid date";return h}daylightSavingAdjust(t){return t?(t.setHours(t.getHours()>12?t.getHours()+2:0),t):null}updateFilledState(){this.filled=this.inputFieldValue&&""!=this.inputFieldValue}onTodayButtonClick(t){let i=new Date,r={day:i.getDate(),month:i.getMonth(),year:i.getFullYear(),otherMonth:i.getMonth()!==this.currentMonth||i.getFullYear()!==this.currentYear,today:!0,selectable:!0};this.onDateSelect(t,r),this.onTodayClick.emit(t)}onClearButtonClick(t){this.updateModel(null),this.updateInputfield(),this.hideOverlay(),this.onClearClick.emit(t)}createResponsiveStyle(){if(this.numberOfMonths>1&&this.responsiveOptions){this.responsiveStyleElement||(this.responsiveStyleElement=this.renderer.createElement("style"),this.responsiveStyleElement.type="text/css",this.renderer.appendChild(this.document.body,this.responsiveStyleElement));let t="";if(this.responsiveOptions){let i=[...this.responsiveOptions].filter(r=>!(!r.breakpoint||!r.numMonths)).sort((r,o)=>-1*r.breakpoint.localeCompare(o.breakpoint,void 0,{numeric:!0}));for(let r=0;r{this.documentClickListener=this.renderer.listen(this.el?this.el.nativeElement.ownerDocument:this.document,"mousedown",i=>{this.isOutsideClicked(i)&&this.overlayVisible&&this.zone.run(()=>{this.hideOverlay(),this.onClickOutside.emit(i),this.cd.markForCheck()})})})}unbindDocumentClickListener(){this.documentClickListener&&(this.documentClickListener(),this.documentClickListener=null)}bindDocumentResizeListener(){!this.documentResizeListener&&!this.touchUI&&(this.documentResizeListener=this.renderer.listen(this.window,"resize",this.onWindowResize.bind(this)))}unbindDocumentResizeListener(){this.documentResizeListener&&(this.documentResizeListener(),this.documentResizeListener=null)}bindScrollListener(){this.scrollHandler||(this.scrollHandler=new ww(this.containerViewChild.nativeElement,()=>{this.overlayVisible&&this.hideOverlay()})),this.scrollHandler.bindScrollListener()}unbindScrollListener(){this.scrollHandler&&this.scrollHandler.unbindScrollListener()}isOutsideClicked(t){return!(this.el.nativeElement.isSameNode(t.target)||this.isNavIconClicked(t)||this.el.nativeElement.contains(t.target)||this.overlay&&this.overlay.contains(t.target))}isNavIconClicked(t){return ve.hasClass(t.target,"p-datepicker-prev")||ve.hasClass(t.target,"p-datepicker-prev-icon")||ve.hasClass(t.target,"p-datepicker-next")||ve.hasClass(t.target,"p-datepicker-next-icon")}onWindowResize(){this.overlayVisible&&!ve.isTouchDevice()&&this.hideOverlay()}onOverlayHide(){this.currentView=this.view,this.mask&&this.destroyMask(),this.unbindDocumentClickListener(),this.unbindDocumentResizeListener(),this.unbindScrollListener(),this.overlay=null,this.onModelTouched()}ngOnDestroy(){this.scrollHandler&&(this.scrollHandler.destroy(),this.scrollHandler=null),this.translationSubscription&&this.translationSubscription.unsubscribe(),this.overlay&&this.autoZIndex&&Os.clear(this.overlay),this.destroyResponsiveStyleElement(),this.clearTimePickerTimer(),this.restoreOverlayAppend(),this.onOverlayHide()}}return e.\u0275fac=function(t){return new(t||e)(ie(xi),ie(En),ie(Si),ie(wi),ie(wn),ie(Au),ie(wy))},e.\u0275cmp=mt({type:e,selectors:[["p-calendar"]],contentQueries:function(t,i,r){if(1&t&&Br(r,lr,4),2&t){let o;at(o=st())&&(i.templates=o)}},viewQuery:function(t,i){if(1&t&&(Mt(tht,5),Mt(nht,5),Mt(iht,5)),2&t){let r;at(r=st())&&(i.containerViewChild=r.first),at(r=st())&&(i.inputfieldViewChild=r.first),at(r=st())&&(i.content=r.first)}},hostAttrs:[1,"p-element","p-inputwrapper"],hostVars:6,hostBindings:function(t,i){2&t&&Ta("p-inputwrapper-filled",i.filled)("p-inputwrapper-focus",i.focus)("p-calendar-clearable",i.showClear&&!i.disabled)},inputs:{style:"style",styleClass:"styleClass",inputStyle:"inputStyle",inputId:"inputId",name:"name",inputStyleClass:"inputStyleClass",placeholder:"placeholder",ariaLabelledBy:"ariaLabelledBy",iconAriaLabel:"iconAriaLabel",disabled:"disabled",dateFormat:"dateFormat",multipleSeparator:"multipleSeparator",rangeSeparator:"rangeSeparator",inline:"inline",showOtherMonths:"showOtherMonths",selectOtherMonths:"selectOtherMonths",showIcon:"showIcon",icon:"icon",appendTo:"appendTo",readonlyInput:"readonlyInput",shortYearCutoff:"shortYearCutoff",monthNavigator:"monthNavigator",yearNavigator:"yearNavigator",hourFormat:"hourFormat",timeOnly:"timeOnly",stepHour:"stepHour",stepMinute:"stepMinute",stepSecond:"stepSecond",showSeconds:"showSeconds",required:"required",showOnFocus:"showOnFocus",showWeek:"showWeek",showClear:"showClear",dataType:"dataType",selectionMode:"selectionMode",maxDateCount:"maxDateCount",showButtonBar:"showButtonBar",todayButtonStyleClass:"todayButtonStyleClass",clearButtonStyleClass:"clearButtonStyleClass",autoZIndex:"autoZIndex",baseZIndex:"baseZIndex",panelStyleClass:"panelStyleClass",panelStyle:"panelStyle",keepInvalid:"keepInvalid",hideOnDateTimeSelect:"hideOnDateTimeSelect",touchUI:"touchUI",timeSeparator:"timeSeparator",focusTrap:"focusTrap",showTransitionOptions:"showTransitionOptions",hideTransitionOptions:"hideTransitionOptions",tabindex:"tabindex",view:"view",defaultDate:"defaultDate",minDate:"minDate",maxDate:"maxDate",disabledDates:"disabledDates",disabledDays:"disabledDays",yearRange:"yearRange",showTime:"showTime",responsiveOptions:"responsiveOptions",numberOfMonths:"numberOfMonths",firstDayOfWeek:"firstDayOfWeek",locale:"locale"},outputs:{onFocus:"onFocus",onBlur:"onBlur",onClose:"onClose",onSelect:"onSelect",onClear:"onClear",onInput:"onInput",onTodayClick:"onTodayClick",onClearClick:"onClearClick",onMonthChange:"onMonthChange",onYearChange:"onYearChange",onClickOutside:"onClickOutside",onShow:"onShow"},features:[Zt([kgt])],ngContentSelectors:Mgt,decls:4,vars:11,consts:[[3,"ngClass","ngStyle"],["container",""],[3,"ngIf"],[3,"class","ngStyle","ngClass","click",4,"ngIf"],["type","text","autocomplete","off",3,"value","readonly","ngStyle","placeholder","disabled","ngClass","focus","keydown","click","blur","input"],["inputfield",""],[4,"ngIf"],["type","button","pButton","","pRipple","","class","p-datepicker-trigger p-button-icon-only","tabindex","0",3,"disabled","click",4,"ngIf"],[3,"styleClass","click",4,"ngIf"],["class","p-calendar-clear-icon",3,"click",4,"ngIf"],[3,"styleClass","click"],[1,"p-calendar-clear-icon",3,"click"],[4,"ngTemplateOutlet"],["type","button","pButton","","pRipple","","tabindex","0",1,"p-datepicker-trigger","p-button-icon-only",3,"disabled","click"],[3,"ngClass",4,"ngIf"],[3,"ngClass"],[3,"ngStyle","ngClass","click"],["contentWrapper",""],["class","p-timepicker",4,"ngIf"],["class","p-datepicker-buttonbar",4,"ngIf"],[1,"p-datepicker-group-container"],["class","p-datepicker-group",4,"ngFor","ngForOf"],["class","p-monthpicker",4,"ngIf"],["class","p-yearpicker",4,"ngIf"],[1,"p-datepicker-group"],[1,"p-datepicker-header"],["class","p-datepicker-prev p-link","type","button","pRipple","",3,"keydown","click",4,"ngIf"],[1,"p-datepicker-title"],["type","button","class","p-datepicker-month p-link",3,"disabled","click","keydown",4,"ngIf"],["type","button","class","p-datepicker-year p-link",3,"disabled","click","keydown",4,"ngIf"],["class","p-datepicker-decade",4,"ngIf"],["type","button","pRipple","",1,"p-datepicker-next","p-link",3,"keydown","click"],[3,"styleClass",4,"ngIf"],["class","p-datepicker-next-icon",4,"ngIf"],["class","p-datepicker-calendar-container",4,"ngIf"],["type","button","pRipple","",1,"p-datepicker-prev","p-link",3,"keydown","click"],["class","p-datepicker-prev-icon",4,"ngIf"],[3,"styleClass"],[1,"p-datepicker-prev-icon"],["type","button",1,"p-datepicker-month","p-link",3,"disabled","click","keydown"],["type","button",1,"p-datepicker-year","p-link",3,"disabled","click","keydown"],[1,"p-datepicker-decade"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"p-datepicker-next-icon"],[1,"p-datepicker-calendar-container"],[1,"p-datepicker-calendar"],["class","p-datepicker-weekheader p-disabled",4,"ngIf"],["scope","col",4,"ngFor","ngForOf"],[4,"ngFor","ngForOf"],[1,"p-datepicker-weekheader","p-disabled"],["scope","col"],["class","p-datepicker-weeknumber",4,"ngIf"],[3,"ngClass",4,"ngFor","ngForOf"],[1,"p-datepicker-weeknumber"],[1,"p-disabled"],["draggable","false","pRipple","",3,"ngClass","click","keydown"],[1,"p-monthpicker"],["class","p-monthpicker-month","pRipple","",3,"ngClass","click","keydown",4,"ngFor","ngForOf"],["pRipple","",1,"p-monthpicker-month",3,"ngClass","click","keydown"],[1,"p-yearpicker"],["class","p-yearpicker-year","pRipple","",3,"ngClass","click","keydown",4,"ngFor","ngForOf"],["pRipple","",1,"p-yearpicker-year",3,"ngClass","click","keydown"],[1,"p-timepicker"],[1,"p-hour-picker"],["type","button","pRipple","",1,"p-link",3,"keydown","keydown.enter","keydown.space","mousedown","mouseup","keyup.enter","keyup.space","mouseleave"],[1,"p-separator"],[1,"p-minute-picker"],["class","p-separator",4,"ngIf"],["class","p-second-picker",4,"ngIf"],["class","p-ampm-picker",4,"ngIf"],[1,"p-second-picker"],[1,"p-ampm-picker"],["type","button","pRipple","",1,"p-link",3,"keydown","click","keydown.enter"],[1,"p-datepicker-buttonbar"],["type","button","pButton","","pRipple","",3,"label","ngClass","keydown","click"]],template:function(t,i){1&t&&(gu(Rgt),V(0,"span",0,1),N(2,ght,4,17,"ng-template",2),N(3,Igt,9,28,"div",3),j()),2&t&&(Ot(i.styleClass),R("ngClass",Dv(6,Lgt,i.showIcon,i.timeOnly,i.disabled,i.focus))("ngStyle",i.style),G(2),R("ngIf",!i.inline),G(1),R("ngIf",i.inline||i.overlayVisible))},dependencies:function(){return[to,_u,Mi,Yo,or,ip,Pg,HH,PD,rhe,rp,Wo,ohe]},styles:[".p-calendar{position:relative;display:inline-flex;max-width:100%}.p-calendar .p-inputtext{flex:1 1 auto;width:1%}.p-calendar-w-btn .p-inputtext{border-top-right-radius:0;border-bottom-right-radius:0}.p-calendar-w-btn .p-datepicker-trigger{border-top-left-radius:0;border-bottom-left-radius:0}.p-fluid .p-calendar{display:flex}.p-fluid .p-calendar .p-inputtext{width:1%}.p-calendar .p-datepicker{min-width:100%}.p-datepicker{width:auto;position:absolute;top:0;left:0}.p-datepicker-inline{display:inline-block;position:static;overflow-x:auto}.p-datepicker-header{display:flex;align-items:center;justify-content:space-between}.p-datepicker-header .p-datepicker-title{margin:0 auto}.p-datepicker-prev,.p-datepicker-next{cursor:pointer;display:inline-flex;justify-content:center;align-items:center;overflow:hidden;position:relative}.p-datepicker-multiple-month .p-datepicker-group-container .p-datepicker-group{flex:1 1 auto}.p-datepicker-multiple-month .p-datepicker-group-container{display:flex}.p-datepicker table{width:100%;border-collapse:collapse}.p-datepicker td>span{display:flex;justify-content:center;align-items:center;cursor:pointer;margin:0 auto;overflow:hidden;position:relative}.p-monthpicker-month{width:33.3%;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden;position:relative}.p-datepicker-buttonbar{display:flex;justify-content:space-between;align-items:center}.p-timepicker{display:flex;justify-content:center;align-items:center}.p-timepicker button{display:flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden;position:relative}.p-timepicker>div{display:flex;align-items:center;flex-direction:column}.p-datepicker-touch-ui,.p-calendar .p-datepicker-touch-ui{position:fixed;top:50%;left:50%;min-width:80vw;transform:translate(-50%,-50%)}.p-yearpicker-year{width:50%;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden;position:relative}.p-calendar-clear-icon{position:absolute;top:50%;margin-top:-.5rem;cursor:pointer}.p-calendar-clearable{position:relative}\n"],encapsulation:2,data:{animation:[aw("overlayAnimation",[sw("visibleTouchUI",So({transform:"translate(-50%,-50%)",opacity:1})),Ru("void => visible",[So({opacity:0,transform:"scaleY(0.8)"}),Al("{{showTransitionParams}}",So({opacity:1,transform:"*"}))]),Ru("visible => void",[Al("{{hideTransitionParams}}",So({opacity:0}))]),Ru("void => visibleTouchUI",[So({opacity:0,transform:"translate3d(-50%, -40%, 0) scale(0.9)"}),Al("{{showTransitionParams}}")]),Ru("visibleTouchUI => void",[Al("{{hideTransitionParams}}",So({opacity:0,transform:"translate3d(-50%, -40%, 0) scale(0.9)"}))])])]},changeDetection:0}),e})(),Ngt=(()=>{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=en({type:e}),e.\u0275inj=b({imports:[jn,Og,ti,Mu,HH,PD,rhe,rp,Wo,ohe,Og,ti]}),e})(),uhe=(()=>{class e extends cr{}return e.\u0275fac=function(){let n;return function(i){return(n||(n=vn(e)))(i||e)}}(),e.\u0275cmp=mt({type:e,selectors:[["AngleUpIcon"]],standalone:!0,features:[Dt,Li],decls:2,vars:5,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["d","M10.4134 9.49931C10.3148 9.49977 10.2172 9.48055 10.1262 9.44278C10.0352 9.405 9.95263 9.34942 9.88338 9.27931L6.88338 6.27931L3.88338 9.27931C3.73811 9.34946 3.57409 9.3709 3.41567 9.34044C3.25724 9.30999 3.11286 9.22926 3.00395 9.11025C2.89504 8.99124 2.82741 8.84028 2.8111 8.67978C2.79478 8.51928 2.83065 8.35781 2.91338 8.21931L6.41338 4.71931C6.55401 4.57886 6.74463 4.49997 6.94338 4.49997C7.14213 4.49997 7.33276 4.57886 7.47338 4.71931L10.9734 8.21931C11.1138 8.35994 11.1927 8.55056 11.1927 8.74931C11.1927 8.94806 11.1138 9.13868 10.9734 9.27931C10.9007 9.35315 10.8132 9.41089 10.7168 9.44879C10.6203 9.48669 10.5169 9.5039 10.4134 9.49931Z","fill","currentColor"]],template:function(t,i){1&t&&(Jn(),V(0,"svg",0),Te(1,"path",1),j()),2&t&&(Ot(i.getClassNames()),tt("aria-label",i.ariaLabel)("aria-hidden",i.ariaHidden)("role",i.role))},encapsulation:2}),e})(),dhe=(()=>{class e extends cr{}return e.\u0275fac=function(){let n;return function(i){return(n||(n=vn(e)))(i||e)}}(),e.\u0275cmp=mt({type:e,selectors:[["AngleDownIcon"]],standalone:!0,features:[Dt,Li],decls:2,vars:5,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["d","M3.58659 4.5007C3.68513 4.50023 3.78277 4.51945 3.87379 4.55723C3.9648 4.59501 4.04735 4.65058 4.11659 4.7207L7.11659 7.7207L10.1166 4.7207C10.2619 4.65055 10.4259 4.62911 10.5843 4.65956C10.7427 4.69002 10.8871 4.77074 10.996 4.88976C11.1049 5.00877 11.1726 5.15973 11.1889 5.32022C11.2052 5.48072 11.1693 5.6422 11.0866 5.7807L7.58659 9.2807C7.44597 9.42115 7.25534 9.50004 7.05659 9.50004C6.85784 9.50004 6.66722 9.42115 6.52659 9.2807L3.02659 5.7807C2.88614 5.64007 2.80725 5.44945 2.80725 5.2507C2.80725 5.05195 2.88614 4.86132 3.02659 4.7207C3.09932 4.64685 3.18675 4.58911 3.28322 4.55121C3.37969 4.51331 3.48305 4.4961 3.58659 4.5007Z","fill","currentColor"]],template:function(t,i){1&t&&(Jn(),V(0,"svg",0),Te(1,"path",1),j()),2&t&&(Ot(i.getClassNames()),tt("aria-label",i.ariaLabel)("aria-hidden",i.ariaHidden)("role",i.role))},encapsulation:2}),e})();const Ogt=["input"];function Hgt(e,n){if(1&e){const t=Be();V(0,"TimesIcon",8),ge("click",function(){return X(t),Q(E(2).clear())}),j()}2&e&&R("ngClass","p-inputnumber-clear-icon")}function Ggt(e,n){}function Bgt(e,n){1&e&&N(0,Ggt,0,0,"ng-template")}function Ygt(e,n){if(1&e){const t=Be();V(0,"span",9),ge("click",function(){return X(t),Q(E(2).clear())}),N(1,Bgt,1,0,null,10),j()}if(2&e){const t=E(2);G(1),R("ngTemplateOutlet",t.clearIconTemplate)}}function Vgt(e,n){if(1&e&&(dt(0),N(1,Hgt,1,1,"TimesIcon",6),N(2,Ygt,2,1,"span",7),pt()),2&e){const t=E();G(1),R("ngIf",!t.clearIconTemplate),G(1),R("ngIf",t.clearIconTemplate)}}function zgt(e,n){1&e&&Te(0,"span",14),2&e&&R("ngClass",E(2).incrementButtonIcon)}function $gt(e,n){1&e&&Te(0,"AngleUpIcon")}function Ugt(e,n){}function jgt(e,n){1&e&&N(0,Ugt,0,0,"ng-template")}function Wgt(e,n){if(1&e&&(dt(0),N(1,$gt,1,0,"AngleUpIcon",3),N(2,jgt,1,0,null,10),pt()),2&e){const t=E(2);G(1),R("ngIf",!t.incrementButtonIconTemplate),G(1),R("ngTemplateOutlet",t.incrementButtonIconTemplate)}}function qgt(e,n){1&e&&Te(0,"span",14),2&e&&R("ngClass",E(2).decrementButtonIcon)}function Kgt(e,n){1&e&&Te(0,"AngleDownIcon")}function Zgt(e,n){}function Xgt(e,n){1&e&&N(0,Zgt,0,0,"ng-template")}function Qgt(e,n){if(1&e&&(dt(0),N(1,Kgt,1,0,"AngleDownIcon",3),N(2,Xgt,1,0,null,10),pt()),2&e){const t=E(2);G(1),R("ngIf",!t.decrementButtonIconTemplate),G(1),R("ngTemplateOutlet",t.decrementButtonIconTemplate)}}const phe=function(){return{"p-inputnumber-button p-inputnumber-button-up":!0}},fhe=function(){return{"p-inputnumber-button p-inputnumber-button-down":!0}};function Jgt(e,n){if(1&e){const t=Be();V(0,"span",11)(1,"button",12),ge("mousedown",function(r){return X(t),Q(E().onUpButtonMouseDown(r))})("mouseup",function(){return X(t),Q(E().onUpButtonMouseUp())})("mouseleave",function(){return X(t),Q(E().onUpButtonMouseLeave())})("keydown",function(r){return X(t),Q(E().onUpButtonKeyDown(r))})("keyup",function(){return X(t),Q(E().onUpButtonKeyUp())}),N(2,zgt,1,1,"span",13),N(3,Wgt,3,2,"ng-container",3),j(),V(4,"button",12),ge("mousedown",function(r){return X(t),Q(E().onDownButtonMouseDown(r))})("mouseup",function(){return X(t),Q(E().onDownButtonMouseUp())})("mouseleave",function(){return X(t),Q(E().onDownButtonMouseLeave())})("keydown",function(r){return X(t),Q(E().onDownButtonKeyDown(r))})("keyup",function(){return X(t),Q(E().onDownButtonKeyUp())}),N(5,qgt,1,1,"span",13),N(6,Qgt,3,2,"ng-container",3),j()()}if(2&e){const t=E();G(1),Ot(t.incrementButtonClass),R("ngClass",Bo(12,phe))("disabled",t.disabled),G(1),R("ngIf",t.incrementButtonIcon),G(1),R("ngIf",!t.incrementButtonIcon),G(1),Ot(t.decrementButtonClass),R("ngClass",Bo(13,fhe))("disabled",t.disabled),G(1),R("ngIf",t.decrementButtonIcon),G(1),R("ngIf",!t.decrementButtonIcon)}}function emt(e,n){1&e&&Te(0,"span",14),2&e&&R("ngClass",E(2).incrementButtonIcon)}function tmt(e,n){1&e&&Te(0,"AngleUpIcon")}function nmt(e,n){}function imt(e,n){1&e&&N(0,nmt,0,0,"ng-template")}function rmt(e,n){if(1&e&&(dt(0),N(1,tmt,1,0,"AngleUpIcon",3),N(2,imt,1,0,null,10),pt()),2&e){const t=E(2);G(1),R("ngIf",!t.incrementButtonIconTemplate),G(1),R("ngTemplateOutlet",t.incrementButtonIconTemplate)}}function omt(e,n){if(1&e){const t=Be();V(0,"button",12),ge("mousedown",function(r){return X(t),Q(E().onUpButtonMouseDown(r))})("mouseup",function(){return X(t),Q(E().onUpButtonMouseUp())})("mouseleave",function(){return X(t),Q(E().onUpButtonMouseLeave())})("keydown",function(r){return X(t),Q(E().onUpButtonKeyDown(r))})("keyup",function(){return X(t),Q(E().onUpButtonKeyUp())}),N(1,emt,1,1,"span",13),N(2,rmt,3,2,"ng-container",3),j()}if(2&e){const t=E();Ot(t.incrementButtonClass),R("ngClass",Bo(6,phe))("disabled",t.disabled),G(1),R("ngIf",t.incrementButtonIcon),G(1),R("ngIf",!t.incrementButtonIcon)}}function amt(e,n){1&e&&Te(0,"span",14),2&e&&R("ngClass",E(2).decrementButtonIcon)}function smt(e,n){1&e&&Te(0,"AngleDownIcon")}function lmt(e,n){}function cmt(e,n){1&e&&N(0,lmt,0,0,"ng-template")}function umt(e,n){if(1&e&&(dt(0),N(1,smt,1,0,"AngleDownIcon",3),N(2,cmt,1,0,null,10),pt()),2&e){const t=E(2);G(1),R("ngIf",!t.decrementButtonIconTemplate),G(1),R("ngTemplateOutlet",t.decrementButtonIconTemplate)}}function dmt(e,n){if(1&e){const t=Be();V(0,"button",12),ge("mousedown",function(r){return X(t),Q(E().onDownButtonMouseDown(r))})("mouseup",function(){return X(t),Q(E().onDownButtonMouseUp())})("mouseleave",function(){return X(t),Q(E().onDownButtonMouseLeave())})("keydown",function(r){return X(t),Q(E().onDownButtonKeyDown(r))})("keyup",function(){return X(t),Q(E().onDownButtonKeyUp())}),N(1,amt,1,1,"span",13),N(2,umt,3,2,"ng-container",3),j()}if(2&e){const t=E();Ot(t.decrementButtonClass),R("ngClass",Bo(6,fhe))("disabled",t.disabled),G(1),R("ngIf",t.decrementButtonIcon),G(1),R("ngIf",!t.decrementButtonIcon)}}const pmt=function(e,n,t){return{"p-inputnumber p-component":!0,"p-inputnumber-buttons-stacked":e,"p-inputnumber-buttons-horizontal":n,"p-inputnumber-buttons-vertical":t}},fmt={provide:sr,useExisting:pn(()=>hmt),multi:!0};let hmt=(()=>{class e{constructor(t,i,r){this.document=t,this.el=i,this.cd=r,this.showButtons=!1,this.format=!0,this.buttonLayout="stacked",this.readonly=!1,this.step=1,this.allowEmpty=!0,this.mode="decimal",this.useGrouping=!0,this.showClear=!1,this.onInput=new Pe,this.onFocus=new Pe,this.onBlur=new Pe,this.onKeyDown=new Pe,this.onClear=new Pe,this.onModelChange=()=>{},this.onModelTouched=()=>{},this.groupChar="",this.prefixChar="",this.suffixChar=""}get disabled(){return this._disabled}set disabled(t){t&&(this.focused=!1),this._disabled=t,this.timer&&this.clearTimer()}ngOnChanges(t){["locale","localeMatcher","mode","currency","currencyDisplay","useGrouping","minFractionDigits","maxFractionDigits","prefix","suffix"].some(r=>!!t[r])&&this.updateConstructParser()}ngAfterContentInit(){this.templates.forEach(t=>{switch(t.getType()){case"clearicon":this.clearIconTemplate=t.template;break;case"incrementbuttonicon":this.incrementButtonIconTemplate=t.template;break;case"decrementbuttonicon":this.decrementButtonIconTemplate=t.template}})}ngOnInit(){this.constructParser(),this.initialized=!0}getOptions(){return{localeMatcher:this.localeMatcher,style:this.mode,currency:this.currency,currencyDisplay:this.currencyDisplay,useGrouping:this.useGrouping,minimumFractionDigits:this.minFractionDigits,maximumFractionDigits:this.maxFractionDigits}}constructParser(){this.numberFormat=new Intl.NumberFormat(this.locale,this.getOptions());const t=[...new Intl.NumberFormat(this.locale,{useGrouping:!1}).format(9876543210)].reverse(),i=new Map(t.map((r,o)=>[r,o]));this._numeral=new RegExp(`[${t.join("")}]`,"g"),this._group=this.getGroupingExpression(),this._minusSign=this.getMinusSignExpression(),this._currency=this.getCurrencyExpression(),this._decimal=this.getDecimalExpression(),this._suffix=this.getSuffixExpression(),this._prefix=this.getPrefixExpression(),this._index=r=>i.get(r)}updateConstructParser(){this.initialized&&this.constructParser()}escapeRegExp(t){return t.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")}getDecimalExpression(){const t=new Intl.NumberFormat(this.locale,{...this.getOptions(),useGrouping:!1});return new RegExp(`[${t.format(1.1).replace(this._currency,"").trim().replace(this._numeral,"")}]`,"g")}getGroupingExpression(){const t=new Intl.NumberFormat(this.locale,{useGrouping:!0});return this.groupChar=t.format(1e6).trim().replace(this._numeral,"").charAt(0),new RegExp(`[${this.groupChar}]`,"g")}getMinusSignExpression(){const t=new Intl.NumberFormat(this.locale,{useGrouping:!1});return new RegExp(`[${t.format(-1).trim().replace(this._numeral,"")}]`,"g")}getCurrencyExpression(){if(this.currency){const t=new Intl.NumberFormat(this.locale,{style:"currency",currency:this.currency,currencyDisplay:this.currencyDisplay,minimumFractionDigits:0,maximumFractionDigits:0});return new RegExp(`[${t.format(1).replace(/\s/g,"").replace(this._numeral,"").replace(this._group,"")}]`,"g")}return new RegExp("[]","g")}getPrefixExpression(){if(this.prefix)this.prefixChar=this.prefix;else{const t=new Intl.NumberFormat(this.locale,{style:this.mode,currency:this.currency,currencyDisplay:this.currencyDisplay});this.prefixChar=t.format(1).split("1")[0]}return new RegExp(`${this.escapeRegExp(this.prefixChar||"")}`,"g")}getSuffixExpression(){if(this.suffix)this.suffixChar=this.suffix;else{const t=new Intl.NumberFormat(this.locale,{style:this.mode,currency:this.currency,currencyDisplay:this.currencyDisplay,minimumFractionDigits:0,maximumFractionDigits:0});this.suffixChar=t.format(1).split("1")[1]}return new RegExp(`${this.escapeRegExp(this.suffixChar||"")}`,"g")}formatValue(t){if(null!=t){if("-"===t)return t;if(this.format){let r=new Intl.NumberFormat(this.locale,this.getOptions()).format(t);return this.prefix&&(r=this.prefix+r),this.suffix&&(r+=this.suffix),r}return t.toString()}return""}parseValue(t){let i=t.replace(this._suffix,"").replace(this._prefix,"").trim().replace(/\s/g,"").replace(this._currency,"").replace(this._group,"").replace(this._minusSign,"-").replace(this._decimal,".").replace(this._numeral,this._index);if(i){if("-"===i)return i;let r=+i;return isNaN(r)?null:r}return null}repeat(t,i,r){if(this.readonly)return;let o=i||500;this.clearTimer(),this.timer=setTimeout(()=>{this.repeat(t,40,r)},o),this.spin(t,r)}spin(t,i){let r=this.step*i,o=this.parseValue(this.input.nativeElement.value)||0,a=this.validateValue(o+r);this.maxlength&&this.maxlength0&&i>l){const d=this.isDecimalMode()&&(this.minFractionDigits||0)0?a:""):a=o.slice(0,i-1)+o.slice(i)}this.updateValue(t,a,null,"delete-single")}else a=this.deleteRange(o,i,r),this.updateValue(t,a,null,"delete-range");break;case 46:if(t.preventDefault(),i===r){const s=o.charAt(i),{decimalCharIndex:l,decimalCharIndexWithoutPrefix:c}=this.getDecimalCharIndexes(o);if(this.isNumeralChar(s)){const u=this.getDecimalLength(o);if(this._group.test(s))this._group.lastIndex=0,a=o.slice(0,i)+o.slice(i+2);else if(this._decimal.test(s))this._decimal.lastIndex=0,u?this.input.nativeElement.setSelectionRange(i+1,i+1):a=o.slice(0,i)+o.slice(i+1);else if(l>0&&i>l){const d=this.isDecimalMode()&&(this.minFractionDigits||0)0?a:""):a=o.slice(0,i)+o.slice(i+1)}this.updateValue(t,a,null,"delete-back-single")}else a=this.deleteRange(o,i,r),this.updateValue(t,a,null,"delete-range")}this.onKeyDown.emit(t)}onInputKeyPress(t){if(this.readonly)return;let i=t.which||t.keyCode,r=String.fromCharCode(i);const o=this.isDecimalSign(r),a=this.isMinusSign(r);13!=i&&t.preventDefault(),(48<=i&&i<=57||a||o)&&this.insert(t,r,{isDecimalSign:o,isMinusSign:a})}onPaste(t){if(!this.disabled&&!this.readonly){t.preventDefault();let i=(t.clipboardData||this.document.defaultView.clipboardData).getData("Text");if(i){let r=this.parseValue(i);null!=r&&this.insert(t,r.toString())}}}allowMinusSign(){return null==this.min||this.min<0}isMinusSign(t){return!(!this._minusSign.test(t)&&"-"!==t||(this._minusSign.lastIndex=0,0))}isDecimalSign(t){return!!this._decimal.test(t)&&(this._decimal.lastIndex=0,!0)}isDecimalMode(){return"decimal"===this.mode}getDecimalCharIndexes(t){let i=t.search(this._decimal);this._decimal.lastIndex=0;const o=t.replace(this._prefix,"").trim().replace(/\s/g,"").replace(this._currency,"").search(this._decimal);return this._decimal.lastIndex=0,{decimalCharIndex:i,decimalCharIndexWithoutPrefix:o}}getCharIndexes(t){const i=t.search(this._decimal);this._decimal.lastIndex=0;const r=t.search(this._minusSign);this._minusSign.lastIndex=0;const o=t.search(this._suffix);this._suffix.lastIndex=0;const a=t.search(this._currency);return this._currency.lastIndex=0,{decimalCharIndex:i,minusCharIndex:r,suffixCharIndex:o,currencyCharIndex:a}}insert(t,i,r={isDecimalSign:!1,isMinusSign:!1}){const o=i.search(this._minusSign);if(this._minusSign.lastIndex=0,!this.allowMinusSign()&&-1!==o)return;let a=this.input.nativeElement.selectionStart,s=this.input.nativeElement.selectionEnd,l=this.input.nativeElement.value.trim();const{decimalCharIndex:c,minusCharIndex:u,suffixCharIndex:d,currencyCharIndex:p}=this.getCharIndexes(l);let f;if(r.isMinusSign)0===a&&(f=l,(-1===u||0!==s)&&(f=this.insertText(l,i,0,s)),this.updateValue(t,f,i,"insert"));else if(r.isDecimalSign)c>0&&a===c?this.updateValue(t,l,i,"insert"):(c>a&&c0&&a>c){if(a+i.length-(c+1)<=h){const m=p>=a?p-1:d>=a?d:l.length;f=l.slice(0,a)+i+l.slice(a+i.length,m)+l.slice(m),this.updateValue(t,f,i,g)}}else f=this.insertText(l,i,a,s),this.updateValue(t,f,i,g)}}insertText(t,i,r,o){if(2===("."===i?i:i.split(".")).length){const s=t.slice(r,o).search(this._decimal);return this._decimal.lastIndex=0,s>0?t.slice(0,r)+this.formatValue(i)+t.slice(o):t||this.formatValue(i)}return o-r===t.length?this.formatValue(i):0===r?i+t.slice(o):o===t.length?t.slice(0,r)+i:t.slice(0,r)+i+t.slice(o)}deleteRange(t,i,r){let o;return o=r-i===t.length?"":0===i?t.slice(r):r===t.length?t.slice(0,i):t.slice(0,i)+t.slice(r),o}initCursor(){let t=this.input.nativeElement.selectionStart,i=this.input.nativeElement.value,r=i.length,o=null,a=(this.prefixChar||"").length;i=i.replace(this._prefix,""),t-=a;let s=i.charAt(t);if(this.isNumeralChar(s))return t+a;let l=t-1;for(;l>=0;){if(s=i.charAt(l),this.isNumeralChar(s)){o=l+a;break}l--}if(null!==o)this.input.nativeElement.setSelectionRange(o+1,o+1);else{for(l=t;lthis.max?this.max:t}updateInput(t,i,r,o){i=i||"";let a=this.input.nativeElement.value,s=this.formatValue(t),l=a.length;if(s!==o&&(s=this.concatValues(s,o)),0===l){this.input.nativeElement.value=s,this.input.nativeElement.setSelectionRange(0,0);const u=this.initCursor()+i.length;this.input.nativeElement.setSelectionRange(u,u)}else{let c=this.input.nativeElement.selectionStart,u=this.input.nativeElement.selectionEnd;if(this.maxlength&&this.maxlength0}clearTimer(){this.timer&&clearInterval(this.timer)}getFormatter(){return this.numberFormat}}return e.\u0275fac=function(t){return new(t||e)(ie(xi),ie(En),ie(wi))},e.\u0275cmp=mt({type:e,selectors:[["p-inputNumber"]],contentQueries:function(t,i,r){if(1&t&&Br(r,lr,4),2&t){let o;at(o=st())&&(i.templates=o)}},viewQuery:function(t,i){if(1&t&&Mt(Ogt,5),2&t){let r;at(r=st())&&(i.input=r.first)}},hostAttrs:[1,"p-element","p-inputwrapper"],hostVars:6,hostBindings:function(t,i){2&t&&Ta("p-inputwrapper-filled",i.filled)("p-inputwrapper-focus",i.focused)("p-inputnumber-clearable",i.showClear&&"vertical"!=i.buttonLayout)},inputs:{showButtons:"showButtons",format:"format",buttonLayout:"buttonLayout",inputId:"inputId",styleClass:"styleClass",style:"style",placeholder:"placeholder",size:"size",maxlength:"maxlength",tabindex:"tabindex",title:"title",ariaLabel:"ariaLabel",ariaRequired:"ariaRequired",name:"name",required:"required",autocomplete:"autocomplete",min:"min",max:"max",incrementButtonClass:"incrementButtonClass",decrementButtonClass:"decrementButtonClass",incrementButtonIcon:"incrementButtonIcon",decrementButtonIcon:"decrementButtonIcon",readonly:"readonly",step:"step",allowEmpty:"allowEmpty",locale:"locale",localeMatcher:"localeMatcher",mode:"mode",currency:"currency",currencyDisplay:"currencyDisplay",useGrouping:"useGrouping",minFractionDigits:"minFractionDigits",maxFractionDigits:"maxFractionDigits",prefix:"prefix",suffix:"suffix",inputStyle:"inputStyle",inputStyleClass:"inputStyleClass",showClear:"showClear",disabled:"disabled"},outputs:{onInput:"onInput",onFocus:"onFocus",onBlur:"onBlur",onKeyDown:"onKeyDown",onClear:"onClear"},features:[Zt([fmt]),To],decls:7,vars:32,consts:[[3,"ngClass","ngStyle"],["pInputText","","inputmode","decimal",3,"ngClass","ngStyle","value","disabled","readonly","input","keydown","keypress","paste","click","focus","blur"],["input",""],[4,"ngIf"],["class","p-inputnumber-button-group",4,"ngIf"],["type","button","pButton","","class","p-button-icon-only","tabindex","-1",3,"ngClass","class","disabled","mousedown","mouseup","mouseleave","keydown","keyup",4,"ngIf"],[3,"ngClass","click",4,"ngIf"],["class","p-inputnumber-clear-icon",3,"click",4,"ngIf"],[3,"ngClass","click"],[1,"p-inputnumber-clear-icon",3,"click"],[4,"ngTemplateOutlet"],[1,"p-inputnumber-button-group"],["type","button","pButton","","tabindex","-1",1,"p-button-icon-only",3,"ngClass","disabled","mousedown","mouseup","mouseleave","keydown","keyup"],[3,"ngClass",4,"ngIf"],[3,"ngClass"]],template:function(t,i){1&t&&(V(0,"span",0)(1,"input",1,2),ge("input",function(o){return i.onUserInput(o)})("keydown",function(o){return i.onInputKeyDown(o)})("keypress",function(o){return i.onInputKeyPress(o)})("paste",function(o){return i.onPaste(o)})("click",function(){return i.onInputClick()})("focus",function(o){return i.onInputFocus(o)})("blur",function(o){return i.onInputBlur(o)}),j(),N(3,Vgt,3,2,"ng-container",3),N(4,Jgt,7,14,"span",4),N(5,omt,3,7,"button",5),N(6,dmt,3,7,"button",5),j()),2&t&&(Ot(i.styleClass),R("ngClass",ba(28,pmt,i.showButtons&&"stacked"===i.buttonLayout,i.showButtons&&"horizontal"===i.buttonLayout,i.showButtons&&"vertical"===i.buttonLayout))("ngStyle",i.style),G(1),Ot(i.inputStyleClass),R("ngClass","p-inputnumber-input")("ngStyle",i.inputStyle)("value",i.formattedValue())("disabled",i.disabled)("readonly",i.readonly),tt("placeholder",i.placeholder)("title",i.title)("id",i.inputId)("size",i.size)("name",i.name)("autocomplete",i.autocomplete)("maxlength",i.maxlength)("tabindex",i.tabindex)("aria-label",i.ariaLabel)("aria-required",i.ariaRequired)("required",i.required)("min",i.min)("max",i.max),G(2),R("ngIf","vertical"!=i.buttonLayout&&i.showClear&&i.value),G(1),R("ngIf",i.showButtons&&"stacked"===i.buttonLayout),G(1),R("ngIf",i.showButtons&&"stacked"!==i.buttonLayout),G(1),R("ngIf",i.showButtons&&"stacked"!==i.buttonLayout))},dependencies:function(){return[to,Mi,Yo,or,C7e,ip,Wo,uhe,dhe]},styles:["p-inputnumber,.p-inputnumber{display:inline-flex}.p-inputnumber-button{display:flex;align-items:center;justify-content:center;flex:0 0 auto}.p-inputnumber-buttons-stacked .p-button.p-inputnumber-button .p-button-label,.p-inputnumber-buttons-horizontal .p-button.p-inputnumber-button .p-button-label{display:none}.p-inputnumber-buttons-stacked .p-button.p-inputnumber-button-up{border-top-left-radius:0;border-bottom-left-radius:0;border-bottom-right-radius:0;padding:0}.p-inputnumber-buttons-stacked .p-inputnumber-input{border-top-right-radius:0;border-bottom-right-radius:0}.p-inputnumber-buttons-stacked .p-button.p-inputnumber-button-down{border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:0;padding:0}.p-inputnumber-buttons-stacked .p-inputnumber-button-group{display:flex;flex-direction:column}.p-inputnumber-buttons-stacked .p-inputnumber-button-group .p-button.p-inputnumber-button{flex:1 1 auto}.p-inputnumber-buttons-horizontal .p-button.p-inputnumber-button-up{order:3;border-top-left-radius:0;border-bottom-left-radius:0}.p-inputnumber-buttons-horizontal .p-inputnumber-input{order:2;border-radius:0}.p-inputnumber-buttons-horizontal .p-button.p-inputnumber-button-down{order:1;border-top-right-radius:0;border-bottom-right-radius:0}.p-inputnumber-buttons-vertical{flex-direction:column}.p-inputnumber-buttons-vertical .p-button.p-inputnumber-button-up{order:1;border-bottom-left-radius:0;border-bottom-right-radius:0;width:100%}.p-inputnumber-buttons-vertical .p-inputnumber-input{order:2;border-radius:0;text-align:center}.p-inputnumber-buttons-vertical .p-button.p-inputnumber-button-down{order:3;border-top-left-radius:0;border-top-right-radius:0;width:100%}.p-inputnumber-input{flex:1 1 auto}.p-fluid p-inputnumber,.p-fluid .p-inputnumber{width:100%}.p-fluid .p-inputnumber .p-inputnumber-input{width:1%}.p-fluid .p-inputnumber-buttons-vertical .p-inputnumber-input{width:100%}.p-inputnumber-clear-icon{position:absolute;top:50%;margin-top:-.5rem;cursor:pointer}.p-inputnumber-clearable{position:relative}\n"],encapsulation:2,changeDetection:0}),e})(),GH=(()=>{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=en({type:e}),e.\u0275inj=b({imports:[jn,Iw,Og,Wo,uhe,dhe,ti]}),e})(),gmt=(()=>{class e extends cr{}return e.\u0275fac=function(){let n;return function(i){return(n||(n=vn(e)))(i||e)}}(),e.\u0275cmp=mt({type:e,selectors:[["AngleDoubleLeftIcon"]],standalone:!0,features:[Dt,Li],decls:2,vars:5,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["fill-rule","evenodd","clip-rule","evenodd","d","M5.71602 11.164C5.80782 11.2021 5.9063 11.2215 6.00569 11.221C6.20216 11.2301 6.39427 11.1612 6.54025 11.0294C6.68191 10.8875 6.76148 10.6953 6.76148 10.4948C6.76148 10.2943 6.68191 10.1021 6.54025 9.96024L3.51441 6.9344L6.54025 3.90855C6.624 3.76126 6.65587 3.59011 6.63076 3.42254C6.60564 3.25498 6.525 3.10069 6.40175 2.98442C6.2785 2.86815 6.11978 2.79662 5.95104 2.7813C5.78229 2.76598 5.61329 2.80776 5.47112 2.89994L1.97123 6.39983C1.82957 6.54167 1.75 6.73393 1.75 6.9344C1.75 7.13486 1.82957 7.32712 1.97123 7.46896L5.47112 10.9991C5.54096 11.0698 5.62422 11.1259 5.71602 11.164ZM11.0488 10.9689C11.1775 11.1156 11.3585 11.2061 11.5531 11.221C11.7477 11.2061 11.9288 11.1156 12.0574 10.9689C12.1815 10.8302 12.25 10.6506 12.25 10.4645C12.25 10.2785 12.1815 10.0989 12.0574 9.96024L9.03158 6.93439L12.0574 3.90855C12.1248 3.76739 12.1468 3.60881 12.1204 3.45463C12.0939 3.30045 12.0203 3.15826 11.9097 3.04765C11.7991 2.93703 11.6569 2.86343 11.5027 2.83698C11.3486 2.81053 11.19 2.83252 11.0488 2.89994L7.51865 6.36957C7.37699 6.51141 7.29742 6.70367 7.29742 6.90414C7.29742 7.1046 7.37699 7.29686 7.51865 7.4387L11.0488 10.9689Z","fill","currentColor"]],template:function(t,i){1&t&&(Jn(),V(0,"svg",0),Te(1,"path",1),j()),2&t&&(Ot(i.getClassNames()),tt("aria-label",i.ariaLabel)("aria-hidden",i.ariaHidden)("role",i.role))},encapsulation:2}),e})(),mmt=(()=>{class e extends cr{}return e.\u0275fac=function(){let n;return function(i){return(n||(n=vn(e)))(i||e)}}(),e.\u0275cmp=mt({type:e,selectors:[["AngleDoubleRightIcon"]],standalone:!0,features:[Dt,Li],decls:2,vars:5,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["fill-rule","evenodd","clip-rule","evenodd","d","M7.68757 11.1451C7.7791 11.1831 7.8773 11.2024 7.9764 11.2019C8.07769 11.1985 8.17721 11.1745 8.26886 11.1312C8.36052 11.088 8.44238 11.0265 8.50943 10.9505L12.0294 7.49085C12.1707 7.34942 12.25 7.15771 12.25 6.95782C12.25 6.75794 12.1707 6.56622 12.0294 6.42479L8.50943 2.90479C8.37014 2.82159 8.20774 2.78551 8.04633 2.80192C7.88491 2.81833 7.73309 2.88635 7.6134 2.99588C7.4937 3.10541 7.41252 3.25061 7.38189 3.40994C7.35126 3.56927 7.37282 3.73423 7.44337 3.88033L10.4605 6.89748L7.44337 9.91463C7.30212 10.0561 7.22278 10.2478 7.22278 10.4477C7.22278 10.6475 7.30212 10.8393 7.44337 10.9807C7.51301 11.0512 7.59603 11.1071 7.68757 11.1451ZM1.94207 10.9505C2.07037 11.0968 2.25089 11.1871 2.44493 11.2019C2.63898 11.1871 2.81949 11.0968 2.94779 10.9505L6.46779 7.49085C6.60905 7.34942 6.68839 7.15771 6.68839 6.95782C6.68839 6.75793 6.60905 6.56622 6.46779 6.42479L2.94779 2.90479C2.80704 2.83757 2.6489 2.81563 2.49517 2.84201C2.34143 2.86839 2.19965 2.94178 2.08936 3.05207C1.97906 3.16237 1.90567 3.30415 1.8793 3.45788C1.85292 3.61162 1.87485 3.76975 1.94207 3.9105L4.95922 6.92765L1.94207 9.9448C1.81838 10.0831 1.75 10.2621 1.75 10.4477C1.75 10.6332 1.81838 10.8122 1.94207 10.9505Z","fill","currentColor"]],template:function(t,i){1&t&&(Jn(),V(0,"svg",0),Te(1,"path",1),j()),2&t&&(Ot(i.getClassNames()),tt("aria-label",i.ariaLabel)("aria-hidden",i.ariaHidden)("role",i.role))},encapsulation:2}),e})(),ymt=(()=>{class e extends cr{}return e.\u0275fac=function(){let n;return function(i){return(n||(n=vn(e)))(i||e)}}(),e.\u0275cmp=mt({type:e,selectors:[["AngleLeftIcon"]],standalone:!0,features:[Dt,Li],decls:2,vars:5,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["d","M8.75 11.185C8.65146 11.1854 8.55381 11.1662 8.4628 11.1284C8.37179 11.0906 8.28924 11.0351 8.22 10.965L4.72 7.46496C4.57955 7.32433 4.50066 7.13371 4.50066 6.93496C4.50066 6.73621 4.57955 6.54558 4.72 6.40496L8.22 2.93496C8.36095 2.84357 8.52851 2.80215 8.69582 2.81733C8.86312 2.83252 9.02048 2.90344 9.14268 3.01872C9.26487 3.134 9.34483 3.28696 9.36973 3.4531C9.39463 3.61924 9.36303 3.78892 9.28 3.93496L6.28 6.93496L9.28 9.93496C9.42045 10.0756 9.49934 10.2662 9.49934 10.465C9.49934 10.6637 9.42045 10.8543 9.28 10.995C9.13526 11.1257 8.9448 11.1939 8.75 11.185Z","fill","currentColor"]],template:function(t,i){1&t&&(Jn(),V(0,"svg",0),Te(1,"path",1),j()),2&t&&(Ot(i.getClassNames()),tt("aria-label",i.ariaLabel)("aria-hidden",i.ariaHidden)("role",i.role))},encapsulation:2}),e})(),_mt=(()=>{class e extends cr{}return e.\u0275fac=function(){let n;return function(i){return(n||(n=vn(e)))(i||e)}}(),e.\u0275cmp=mt({type:e,selectors:[["AngleRightIcon"]],standalone:!0,features:[Dt,Li],decls:2,vars:5,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["d","M5.25 11.1728C5.14929 11.1694 5.05033 11.1455 4.9592 11.1025C4.86806 11.0595 4.78666 10.9984 4.72 10.9228C4.57955 10.7822 4.50066 10.5916 4.50066 10.3928C4.50066 10.1941 4.57955 10.0035 4.72 9.86283L7.72 6.86283L4.72 3.86283C4.66067 3.71882 4.64765 3.55991 4.68275 3.40816C4.71785 3.25642 4.79932 3.11936 4.91585 3.01602C5.03238 2.91268 5.17819 2.84819 5.33305 2.83149C5.4879 2.81479 5.64411 2.84671 5.78 2.92283L9.28 6.42283C9.42045 6.56346 9.49934 6.75408 9.49934 6.95283C9.49934 7.15158 9.42045 7.34221 9.28 7.48283L5.78 10.9228C5.71333 10.9984 5.63193 11.0595 5.5408 11.1025C5.44966 11.1455 5.35071 11.1694 5.25 11.1728Z","fill","currentColor"]],template:function(t,i){1&t&&(Jn(),V(0,"svg",0),Te(1,"path",1),j()),2&t&&(Ot(i.getClassNames()),tt("aria-label",i.ariaLabel)("aria-hidden",i.ariaHidden)("role",i.role))},encapsulation:2}),e})(),Qmt=(()=>{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=en({type:e}),e.\u0275inj=b({imports:[jn,Mw,GH,dT,ti,Mu,gmt,mmt,ymt,_mt,Mw,GH,dT,ti]}),e})();function Jmt(e,n){1&e&&Te(0,"span",8),2&e&&(Ot(E(2).$implicit.icon),R("ngClass","p-button-icon p-button-icon-left"))}function e0t(e,n){if(1&e&&(dt(0),N(1,Jmt,1,3,"span",6),V(2,"span",7),Ie(3),j(),pt()),2&e){const t=E().$implicit,i=E();G(1),R("ngIf",t.icon),G(2),Ci(i.getOptionLabel(t))}}function t0t(e,n){1&e&&It(0)}const n0t=function(e,n){return{$implicit:e,index:n}};function i0t(e,n){if(1&e&&N(0,t0t,1,0,"ng-container",9),2&e){const t=E(),i=t.$implicit,r=t.index;R("ngTemplateOutlet",E().itemTemplate)("ngTemplateOutletContext",Hn(2,n0t,i,r))}}const r0t=function(e,n,t){return{"p-highlight":e,"p-disabled":n,"p-button-icon-only":t}};function o0t(e,n){if(1&e){const t=Be();V(0,"div",2,3),ge("click",function(r){const o=X(t),a=o.$implicit,s=o.index;return Q(E().onItemClick(r,a,s))})("keydown.enter",function(r){const o=X(t),a=o.$implicit,s=o.index;return Q(E().onItemClick(r,a,s))})("blur",function(){return X(t),Q(E().onBlur())}),N(2,e0t,4,2,"ng-container",4),N(3,i0t,1,5,"ng-template",null,5,ns),j()}if(2&e){const t=n.$implicit,i=gn(4),r=E();Ot(t.styleClass),R("ngClass",ba(10,r0t,r.isSelected(t),r.disabled||r.isOptionDisabled(t),t.icon&&!r.getOptionLabel(t))),tt("aria-pressed",r.isSelected(t))("title",t.title)("aria-label",t.label)("tabindex",r.disabled?null:r.tabindex)("aria-labelledby",r.getOptionLabel(t)),G(2),R("ngIf",!r.itemTemplate)("ngIfElse",i)}}const a0t={provide:sr,useExisting:pn(()=>s0t),multi:!0};let s0t=(()=>{class e{constructor(t){this.cd=t,this.tabindex=0,this.onOptionClick=new Pe,this.onChange=new Pe,this.onModelChange=()=>{},this.onModelTouched=()=>{}}getOptionLabel(t){return this.optionLabel?Ht.resolveFieldData(t,this.optionLabel):null!=t.label?t.label:t}getOptionValue(t){return this.optionValue?Ht.resolveFieldData(t,this.optionValue):this.optionLabel||void 0===t.value?t:t.value}isOptionDisabled(t){return this.optionDisabled?Ht.resolveFieldData(t,this.optionDisabled):void 0!==t.disabled&&t.disabled}writeValue(t){this.value=t,this.cd.markForCheck()}registerOnChange(t){this.onModelChange=t}registerOnTouched(t){this.onModelTouched=t}setDisabledState(t){this.disabled=t,this.cd.markForCheck()}onItemClick(t,i,r){if(!this.disabled&&!this.isOptionDisabled(i)){if(this.multiple)this.isSelected(i)?this.removeOption(i):this.value=[...this.value||[],this.getOptionValue(i)],this.onModelChange(this.value),this.onChange.emit({originalEvent:t,value:this.value});else{let o=this.getOptionValue(i);this.value!==o&&(this.value=this.getOptionValue(i),this.onModelChange(this.value),this.onChange.emit({originalEvent:t,value:this.value}))}this.onOptionClick.emit({originalEvent:t,option:i,index:r})}}onBlur(){this.onModelTouched()}removeOption(t){this.value=this.value.filter(i=>!Ht.equals(i,this.getOptionValue(t),this.dataKey))}isSelected(t){let i=!1,r=this.getOptionValue(t);if(this.multiple){if(this.value&&Array.isArray(this.value))for(let o of this.value)if(Ht.equals(o,r,this.dataKey)){i=!0;break}}else i=Ht.equals(this.getOptionValue(t),this.value,this.dataKey);return i}}return e.\u0275fac=function(t){return new(t||e)(ie(wi))},e.\u0275cmp=mt({type:e,selectors:[["p-selectButton"]],contentQueries:function(t,i,r){if(1&t&&Br(r,dc,5),2&t){let o;at(o=st())&&(i.itemTemplate=o.first)}},hostAttrs:[1,"p-element"],inputs:{options:"options",optionLabel:"optionLabel",optionValue:"optionValue",optionDisabled:"optionDisabled",tabindex:"tabindex",multiple:"multiple",style:"style",styleClass:"styleClass",ariaLabelledBy:"ariaLabelledBy",disabled:"disabled",dataKey:"dataKey"},outputs:{onOptionClick:"onOptionClick",onChange:"onChange"},features:[Zt([a0t])],decls:2,vars:5,consts:[["role","group",3,"ngClass","ngStyle"],["class","p-button p-component","role","button","pRipple","",3,"class","ngClass","click","keydown.enter","blur",4,"ngFor","ngForOf"],["role","button","pRipple","",1,"p-button","p-component",3,"ngClass","click","keydown.enter","blur"],["btn",""],[4,"ngIf","ngIfElse"],["customcontent",""],[3,"ngClass","class",4,"ngIf"],[1,"p-button-label"],[3,"ngClass"],[4,"ngTemplateOutlet","ngTemplateOutletContext"]],template:function(t,i){1&t&&(V(0,"div",0),N(1,o0t,5,14,"div",1),j()),2&t&&(Ot(i.styleClass),R("ngClass","p-selectbutton p-buttonset p-component")("ngStyle",i.style),G(1),R("ngForOf",i.options))},dependencies:[to,_u,Mi,Yo,or,Pg],styles:['.p-button{margin:0;display:inline-flex;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;vertical-align:bottom;text-align:center;overflow:hidden;position:relative}.p-button-label{flex:1 1 auto}.p-button-icon-right{order:1}.p-button:disabled{cursor:default}.p-button-icon-only{justify-content:center}.p-button-icon-only:after{content:"p";visibility:hidden;clip:rect(0 0 0 0);width:0}.p-button-vertical{flex-direction:column}.p-button-icon-bottom{order:2}.p-buttonset .p-button{margin:0}.p-buttonset .p-button:not(:last-child){border-right:0 none}.p-buttonset .p-button:not(:first-of-type):not(:last-of-type){border-radius:0}.p-buttonset .p-button:first-of-type{border-top-right-radius:0;border-bottom-right-radius:0}.p-buttonset .p-button:last-of-type{border-top-left-radius:0;border-bottom-left-radius:0}.p-buttonset .p-button:focus{position:relative;z-index:1}\n'],encapsulation:2,changeDetection:0}),e})(),l0t=(()=>{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=en({type:e}),e.\u0275inj=b({imports:[jn,Mu]}),e})();function c0t(e,n){1&e&&Te(0,"span",8),2&e&&R("ngClass",E(2).checkboxTrueIcon)}function u0t(e,n){1&e&&Te(0,"CheckIcon",11),2&e&&R("styleClass","p-checkbox-icon")}function d0t(e,n){}function p0t(e,n){1&e&&N(0,d0t,0,0,"ng-template")}function f0t(e,n){if(1&e&&(V(0,"span",12),N(1,p0t,1,0,null,13),j()),2&e){const t=E(3);G(1),R("ngTemplateOutlet",t.checkIconTemplate)}}function h0t(e,n){if(1&e&&(dt(0),N(1,u0t,1,1,"CheckIcon",9),N(2,f0t,2,1,"span",10),pt()),2&e){const t=E(2);G(1),R("ngIf",!t.checkIconTemplate),G(1),R("ngIf",t.checkIconTemplate)}}function g0t(e,n){if(1&e&&(dt(0),N(1,c0t,1,1,"span",7),N(2,h0t,3,2,"ng-container",5),pt()),2&e){const t=E();G(1),R("ngIf",t.checkboxTrueIcon),G(1),R("ngIf",!t.checkboxTrueIcon)}}function m0t(e,n){1&e&&Te(0,"span",8),2&e&&R("ngClass",E(2).checkboxFalseIcon)}function y0t(e,n){1&e&&Te(0,"TimesIcon",11),2&e&&R("styleClass","p-checkbox-icon")}function _0t(e,n){}function v0t(e,n){1&e&&N(0,_0t,0,0,"ng-template")}function T0t(e,n){if(1&e&&(V(0,"span",12),N(1,v0t,1,0,null,13),j()),2&e){const t=E(3);G(1),R("ngTemplateOutlet",t.uncheckIconTemplate)}}function C0t(e,n){if(1&e&&(dt(0),N(1,y0t,1,1,"TimesIcon",9),N(2,T0t,2,1,"span",10),pt()),2&e){const t=E(2);G(1),R("ngIf",!t.uncheckIconTemplate),G(1),R("ngIf",t.uncheckIconTemplate)}}function b0t(e,n){if(1&e&&(dt(0),N(1,m0t,1,1,"span",7),N(2,C0t,3,2,"ng-container",5),pt()),2&e){const t=E();G(1),R("ngIf",t.checkboxFalseIcon),G(1),R("ngIf",!t.checkboxFalseIcon)}}const A0t=function(e,n,t){return{"p-checkbox-label-active":e,"p-disabled":n,"p-checkbox-label-focus":t}};function S0t(e,n){if(1&e){const t=Be();V(0,"label",14),ge("click",function(r){X(t);const o=E(),a=gn(3);return Q(o.onClick(r,a))}),Ie(1),j()}if(2&e){const t=E();R("ngClass",ba(3,A0t,null!=t.value,t.disabled,t.focused)),tt("for",t.inputId),G(1),Ci(t.label)}}const w0t=function(e,n){return{"p-checkbox p-component":!0,"p-checkbox-disabled":e,"p-checkbox-focused":n}},x0t=function(e,n,t){return{"p-highlight":e,"p-disabled":n,"p-focus":t}},F0t={provide:sr,useExisting:pn(()=>D0t),multi:!0};let D0t=(()=>{class e{constructor(t){this.cd=t,this.onChange=new Pe,this.onModelChange=()=>{},this.onModelTouched=()=>{}}onClick(t,i){!this.disabled&&!this.readonly&&(this.toggle(t),this.focused=!0,i.focus())}onKeydown(t){32==t.keyCode&&t.preventDefault()}onKeyup(t){32==t.keyCode&&!this.readonly&&(this.toggle(t),t.preventDefault())}toggle(t){null==this.value||null==this.value?this.value=!0:1==this.value?this.value=!1:0==this.value&&(this.value=null),this.onModelChange(this.value),this.onChange.emit({originalEvent:t,value:this.value})}ngAfterContentInit(){this.templates.forEach(t=>{switch(t.getType()){case"checkicon":this.checkIconTemplate=t.template;break;case"uncheckicon":this.uncheckIconTemplate=t.template}})}onFocus(){this.focused=!0}onBlur(){this.focused=!1,this.onModelTouched()}registerOnChange(t){this.onModelChange=t}registerOnTouched(t){this.onModelTouched=t}writeValue(t){this.value=t,this.cd.markForCheck()}setDisabledState(t){this.disabled=t,this.cd.markForCheck()}}return e.\u0275fac=function(t){return new(t||e)(ie(wi))},e.\u0275cmp=mt({type:e,selectors:[["p-triStateCheckbox"]],contentQueries:function(t,i,r){if(1&t&&Br(r,lr,4),2&t){let o;at(o=st())&&(i.templates=o)}},hostAttrs:[1,"p-element"],inputs:{disabled:"disabled",name:"name",ariaLabelledBy:"ariaLabelledBy",tabindex:"tabindex",inputId:"inputId",style:"style",styleClass:"styleClass",label:"label",readonly:"readonly",checkboxTrueIcon:"checkboxTrueIcon",checkboxFalseIcon:"checkboxFalseIcon"},outputs:{onChange:"onChange"},features:[Zt([F0t])],decls:8,vars:22,consts:[[3,"ngStyle","ngClass"],[1,"p-hidden-accessible"],["type","text","inputmode","none",3,"name","readonly","disabled","keyup","keydown","focus","blur"],["input",""],["role","checkbox",1,"p-checkbox-box",3,"ngClass","click"],[4,"ngIf"],["class","p-checkbox-label",3,"ngClass","click",4,"ngIf"],["class","p-checkbox-icon",3,"ngClass",4,"ngIf"],[1,"p-checkbox-icon",3,"ngClass"],[3,"styleClass",4,"ngIf"],["class","p-checkbox-icon",4,"ngIf"],[3,"styleClass"],[1,"p-checkbox-icon"],[4,"ngTemplateOutlet"],[1,"p-checkbox-label",3,"ngClass","click"]],template:function(t,i){if(1&t){const r=Be();V(0,"div",0)(1,"div",1)(2,"input",2,3),ge("keyup",function(a){return i.onKeyup(a)})("keydown",function(a){return i.onKeydown(a)})("focus",function(){return i.onFocus()})("blur",function(){return i.onBlur()}),j()(),V(4,"div",4),ge("click",function(a){X(r);const s=gn(3);return Q(i.onClick(a,s))}),N(5,g0t,3,2,"ng-container",5),N(6,b0t,3,2,"ng-container",5),j()(),N(7,S0t,2,7,"label",6)}2&t&&(Ot(i.styleClass),R("ngStyle",i.style)("ngClass",Hn(15,w0t,i.disabled,i.focused)),G(2),R("name",i.name)("readonly",i.readonly)("disabled",i.disabled),tt("id",i.inputId)("tabindex",i.tabindex)("aria-labelledby",i.ariaLabelledBy),G(2),R("ngClass",ba(18,x0t,null!=i.value,i.disabled,i.focused)),tt("aria-checked",!0===i.value),G(1),R("ngIf",!0===i.value),G(1),R("ngIf",!1===i.value),G(1),R("ngIf",i.label))},dependencies:function(){return[to,Mi,Yo,or,np,Wo]},encapsulation:2,changeDetection:0}),e})(),E0t=(()=>{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=en({type:e}),e.\u0275inj=b({imports:[jn,ti,np,Wo,ti]}),e})(),I0t=(()=>{class e extends cr{}return e.\u0275fac=function(){let n;return function(i){return(n||(n=vn(e)))(i||e)}}(),e.\u0275cmp=mt({type:e,selectors:[["ArrowDownIcon"]],standalone:!0,features:[Dt,Li],decls:6,vars:5,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["clip-path","url(#clip0_326_12468)"],["fill-rule","evenodd","clip-rule","evenodd","d","M6.99994 14C6.91097 14.0004 6.82281 13.983 6.74064 13.9489C6.65843 13.9148 6.58387 13.8646 6.52133 13.8013L1.10198 8.38193C0.982318 8.25351 0.917175 8.08367 0.920272 7.90817C0.923368 7.73267 0.994462 7.56523 1.11858 7.44111C1.24269 7.317 1.41014 7.2459 1.58563 7.2428C1.76113 7.23971 1.93098 7.30485 2.0594 7.42451L6.32263 11.6877V0.677419C6.32263 0.497756 6.394 0.325452 6.52104 0.198411C6.64808 0.0713706 6.82039 0 7.00005 0C7.17971 0 7.35202 0.0713706 7.47906 0.198411C7.6061 0.325452 7.67747 0.497756 7.67747 0.677419V11.6877L11.9407 7.42451C12.0691 7.30485 12.2389 7.23971 12.4144 7.2428C12.5899 7.2459 12.7574 7.317 12.8815 7.44111C13.0056 7.56523 13.0767 7.73267 13.0798 7.90817C13.0829 8.08367 13.0178 8.25351 12.8981 8.38193L7.47875 13.8013C7.41621 13.8646 7.34164 13.9148 7.25944 13.9489C7.17727 13.983 7.08912 14.0004 7.00015 14C7.00012 14 7.00009 14 7.00005 14C7.00001 14 6.99998 14 6.99994 14Z","fill","currentColor"],["id","clip0_326_12468"],["width","14","height","14","fill","white"]],template:function(t,i){1&t&&(Jn(),V(0,"svg",0)(1,"g",1),Te(2,"path",2),j(),V(3,"defs")(4,"clipPath",3),Te(5,"rect",4),j()()()),2&t&&(Ot(i.getClassNames()),tt("aria-label",i.ariaLabel)("aria-hidden",i.ariaHidden)("role",i.role))},encapsulation:2}),e})(),R0t=(()=>{class e extends cr{}return e.\u0275fac=function(){let n;return function(i){return(n||(n=vn(e)))(i||e)}}(),e.\u0275cmp=mt({type:e,selectors:[["ArrowUpIcon"]],standalone:!0,features:[Dt,Li],decls:6,vars:5,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["clip-path","url(#clip0_326_12509)"],["fill-rule","evenodd","clip-rule","evenodd","d","M6.51551 13.799C6.64205 13.9255 6.813 13.9977 6.99193 14C7.17087 13.9977 7.34182 13.9255 7.46835 13.799C7.59489 13.6725 7.66701 13.5015 7.66935 13.3226V2.31233L11.9326 6.57554C11.9951 6.63887 12.0697 6.68907 12.1519 6.72319C12.2341 6.75731 12.3223 6.77467 12.4113 6.77425C12.5003 6.77467 12.5885 6.75731 12.6707 6.72319C12.7529 6.68907 12.8274 6.63887 12.89 6.57554C13.0168 6.44853 13.0881 6.27635 13.0881 6.09683C13.0881 5.91732 13.0168 5.74514 12.89 5.61812L7.48846 0.216594C7.48274 0.210436 7.4769 0.204374 7.47094 0.198411C7.3439 0.0713707 7.1716 0 6.99193 0C6.81227 0 6.63997 0.0713707 6.51293 0.198411C6.50704 0.204296 6.50128 0.210278 6.49563 0.216354L1.09386 5.61812C0.974201 5.74654 0.909057 5.91639 0.912154 6.09189C0.91525 6.26738 0.986345 6.43483 1.11046 6.55894C1.23457 6.68306 1.40202 6.75415 1.57752 6.75725C1.75302 6.76035 1.92286 6.6952 2.05128 6.57554L6.31451 2.31231V13.3226C6.31685 13.5015 6.38898 13.6725 6.51551 13.799Z","fill","currentColor"],["id","clip0_326_12509"],["width","14","height","14","fill","white"]],template:function(t,i){1&t&&(Jn(),V(0,"svg",0)(1,"g",1),Te(2,"path",2),j(),V(3,"defs")(4,"clipPath",3),Te(5,"rect",4),j()()()),2&t&&(Ot(i.getClassNames()),tt("aria-label",i.ariaLabel)("aria-hidden",i.ariaHidden)("role",i.role))},encapsulation:2}),e})(),L0t=(()=>{class e extends cr{}return e.\u0275fac=function(){let n;return function(i){return(n||(n=vn(e)))(i||e)}}(),e.\u0275cmp=mt({type:e,selectors:[["FilterIcon"]],standalone:!0,features:[Dt,Li],decls:6,vars:5,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["clip-path","url(#clip0_390_17708)"],["d","M8.64708 14H5.35296C5.18981 13.9979 5.03395 13.9321 4.91858 13.8167C4.8032 13.7014 4.73745 13.5455 4.73531 13.3824V7L0.329431 0.98C0.259794 0.889466 0.217389 0.780968 0.20718 0.667208C0.19697 0.553448 0.219379 0.439133 0.271783 0.337647C0.324282 0.236453 0.403423 0.151519 0.500663 0.0920138C0.597903 0.0325088 0.709548 0.000692754 0.823548 0H13.1765C13.2905 0.000692754 13.4021 0.0325088 13.4994 0.0920138C13.5966 0.151519 13.6758 0.236453 13.7283 0.337647C13.7807 0.439133 13.8031 0.553448 13.7929 0.667208C13.7826 0.780968 13.7402 0.889466 13.6706 0.98L9.26472 7V13.3824C9.26259 13.5455 9.19683 13.7014 9.08146 13.8167C8.96609 13.9321 8.81022 13.9979 8.64708 14ZM5.97061 12.7647H8.02943V6.79412C8.02878 6.66289 8.07229 6.53527 8.15296 6.43177L11.9412 1.23529H2.05884L5.86355 6.43177C5.94422 6.53527 5.98773 6.66289 5.98708 6.79412L5.97061 12.7647Z","fill","currentColor"],["id","clip0_390_17708"],["width","14","height","14","fill","white"]],template:function(t,i){1&t&&(Jn(),V(0,"svg",0)(1,"g",1),Te(2,"path",2),j(),V(3,"defs")(4,"clipPath",3),Te(5,"rect",4),j()()()),2&t&&(Ot(i.getClassNames()),tt("aria-label",i.ariaLabel)("aria-hidden",i.ariaHidden)("role",i.role))},encapsulation:2}),e})(),M0t=(()=>{class e extends cr{}return e.\u0275fac=function(){let n;return function(i){return(n||(n=vn(e)))(i||e)}}(),e.\u0275cmp=mt({type:e,selectors:[["SortAltIcon"]],standalone:!0,features:[Dt,Li],decls:9,vars:5,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["clip-path","url(#clip0_378_15529)"],["d","M5.64515 3.61291C5.47353 3.61291 5.30192 3.54968 5.16644 3.4142L3.38708 1.63484L1.60773 3.4142C1.34579 3.67613 0.912244 3.67613 0.650309 3.4142C0.388374 3.15226 0.388374 2.71871 0.650309 2.45678L2.90837 0.198712C3.17031 -0.0632236 3.60386 -0.0632236 3.86579 0.198712L6.12386 2.45678C6.38579 2.71871 6.38579 3.15226 6.12386 3.4142C5.98837 3.54968 5.81676 3.61291 5.64515 3.61291Z","fill","currentColor"],["d","M3.38714 14C3.01681 14 2.70972 13.6929 2.70972 13.3226V0.677419C2.70972 0.307097 3.01681 0 3.38714 0C3.75746 0 4.06456 0.307097 4.06456 0.677419V13.3226C4.06456 13.6929 3.75746 14 3.38714 14Z","fill","currentColor"],["d","M10.6129 14C10.4413 14 10.2697 13.9368 10.1342 13.8013L7.87611 11.5432C7.61418 11.2813 7.61418 10.8477 7.87611 10.5858C8.13805 10.3239 8.5716 10.3239 8.83353 10.5858L10.6129 12.3652L12.3922 10.5858C12.6542 10.3239 13.0877 10.3239 13.3497 10.5858C13.6116 10.8477 13.6116 11.2813 13.3497 11.5432L11.0916 13.8013C10.9561 13.9368 10.7845 14 10.6129 14Z","fill","currentColor"],["d","M10.6129 14C10.2426 14 9.93552 13.6929 9.93552 13.3226V0.677419C9.93552 0.307097 10.2426 0 10.6129 0C10.9833 0 11.2904 0.307097 11.2904 0.677419V13.3226C11.2904 13.6929 10.9832 14 10.6129 14Z","fill","currentColor"],["id","clip0_378_15529"],["width","14","height","14","fill","white"]],template:function(t,i){1&t&&(Jn(),V(0,"svg",0)(1,"g",1),Te(2,"path",2)(3,"path",3)(4,"path",4)(5,"path",5),j(),V(6,"defs")(7,"clipPath",6),Te(8,"rect",7),j()()()),2&t&&(Ot(i.getClassNames()),tt("aria-label",i.ariaLabel)("aria-hidden",i.ariaHidden)("role",i.role))},encapsulation:2}),e})(),k0t=(()=>{class e extends cr{}return e.\u0275fac=function(){let n;return function(i){return(n||(n=vn(e)))(i||e)}}(),e.\u0275cmp=mt({type:e,selectors:[["SortAmountDownIcon"]],standalone:!0,features:[Dt,Li],decls:11,vars:5,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["clip-path","url(#clip0_378_15544)"],["d","M2.59836 13.2009C2.44634 13.2009 2.29432 13.1449 2.1743 13.0248L0.174024 11.0246C-0.0580081 10.7925 -0.0580081 10.4085 0.174024 10.1764C0.406057 9.94441 0.79011 9.94441 1.02214 10.1764L2.59836 11.7527L4.17458 10.1764C4.40662 9.94441 4.79067 9.94441 5.0227 10.1764C5.25473 10.4085 5.25473 10.7925 5.0227 11.0246L3.02242 13.0248C2.90241 13.1449 2.75038 13.2009 2.59836 13.2009Z","fill","currentColor"],["d","M2.59836 13.2009C2.27032 13.2009 1.99833 12.9288 1.99833 12.6008V1.39922C1.99833 1.07117 2.27036 0.799133 2.59841 0.799133C2.92646 0.799133 3.19849 1.07117 3.19849 1.39922V12.6008C3.19849 12.9288 2.92641 13.2009 2.59836 13.2009Z","fill","currentColor"],["d","M13.3999 11.2006H6.99902C6.67098 11.2006 6.39894 10.9285 6.39894 10.6005C6.39894 10.2725 6.67098 10.0004 6.99902 10.0004H13.3999C13.728 10.0004 14 10.2725 14 10.6005C14 10.9285 13.728 11.2006 13.3999 11.2006Z","fill","currentColor"],["d","M10.1995 6.39991H6.99902C6.67098 6.39991 6.39894 6.12788 6.39894 5.79983C6.39894 5.47179 6.67098 5.19975 6.99902 5.19975H10.1995C10.5275 5.19975 10.7996 5.47179 10.7996 5.79983C10.7996 6.12788 10.5275 6.39991 10.1995 6.39991Z","fill","currentColor"],["d","M8.59925 3.99958H6.99902C6.67098 3.99958 6.39894 3.72754 6.39894 3.3995C6.39894 3.07145 6.67098 2.79941 6.99902 2.79941H8.59925C8.92729 2.79941 9.19933 3.07145 9.19933 3.3995C9.19933 3.72754 8.92729 3.99958 8.59925 3.99958Z","fill","currentColor"],["d","M11.7997 8.80025H6.99902C6.67098 8.80025 6.39894 8.52821 6.39894 8.20017C6.39894 7.87212 6.67098 7.60008 6.99902 7.60008H11.7997C12.1277 7.60008 12.3998 7.87212 12.3998 8.20017C12.3998 8.52821 12.1277 8.80025 11.7997 8.80025Z","fill","currentColor"],["id","clip0_378_15544"],["width","14","height","14","fill","white"]],template:function(t,i){1&t&&(Jn(),V(0,"svg",0)(1,"g",1),Te(2,"path",2)(3,"path",3)(4,"path",4)(5,"path",5)(6,"path",6)(7,"path",7),j(),V(8,"defs")(9,"clipPath",8),Te(10,"rect",9),j()()()),2&t&&(Ot(i.getClassNames()),tt("aria-label",i.ariaLabel)("aria-hidden",i.ariaHidden)("role",i.role))},encapsulation:2}),e})(),P0t=(()=>{class e extends cr{}return e.\u0275fac=function(){let n;return function(i){return(n||(n=vn(e)))(i||e)}}(),e.\u0275cmp=mt({type:e,selectors:[["SortAmountUpAltIcon"]],standalone:!0,features:[Dt,Li],decls:11,vars:5,consts:[["width","14","height","14","viewBox","0 0 14 14","fill","none","xmlns","http://www.w3.org/2000/svg"],["clip-path","url(#clip0_378_15578)"],["d","M4.59864 3.99958C4.44662 3.99958 4.2946 3.94357 4.17458 3.82356L2.59836 2.24734L1.02214 3.82356C0.79011 4.05559 0.406057 4.05559 0.174024 3.82356C-0.0580081 3.59152 -0.0580081 3.20747 0.174024 2.97544L2.1743 0.97516C2.40634 0.743127 2.79039 0.743127 3.02242 0.97516L5.0227 2.97544C5.25473 3.20747 5.25473 3.59152 5.0227 3.82356C4.90268 3.94357 4.75066 3.99958 4.59864 3.99958Z","fill","currentColor"],["d","M2.59841 13.2009C2.27036 13.2009 1.99833 12.9288 1.99833 12.6008V1.39922C1.99833 1.07117 2.27036 0.799133 2.59841 0.799133C2.92646 0.799133 3.19849 1.07117 3.19849 1.39922V12.6008C3.19849 12.9288 2.92646 13.2009 2.59841 13.2009Z","fill","currentColor"],["d","M13.3999 11.2006H6.99902C6.67098 11.2006 6.39894 10.9285 6.39894 10.6005C6.39894 10.2725 6.67098 10.0004 6.99902 10.0004H13.3999C13.728 10.0004 14 10.2725 14 10.6005C14 10.9285 13.728 11.2006 13.3999 11.2006Z","fill","currentColor"],["d","M10.1995 6.39991H6.99902C6.67098 6.39991 6.39894 6.12788 6.39894 5.79983C6.39894 5.47179 6.67098 5.19975 6.99902 5.19975H10.1995C10.5275 5.19975 10.7996 5.47179 10.7996 5.79983C10.7996 6.12788 10.5275 6.39991 10.1995 6.39991Z","fill","currentColor"],["d","M8.59925 3.99958H6.99902C6.67098 3.99958 6.39894 3.72754 6.39894 3.3995C6.39894 3.07145 6.67098 2.79941 6.99902 2.79941H8.59925C8.92729 2.79941 9.19933 3.07145 9.19933 3.3995C9.19933 3.72754 8.92729 3.99958 8.59925 3.99958Z","fill","currentColor"],["d","M11.7997 8.80025H6.99902C6.67098 8.80025 6.39894 8.52821 6.39894 8.20017C6.39894 7.87212 6.67098 7.60008 6.99902 7.60008H11.7997C12.1277 7.60008 12.3998 7.87212 12.3998 8.20017C12.3998 8.52821 12.1277 8.80025 11.7997 8.80025Z","fill","currentColor"],["id","clip0_378_15578"],["width","14","height","14","fill","white"]],template:function(t,i){1&t&&(Jn(),V(0,"svg",0)(1,"g",1),Te(2,"path",2)(3,"path",3)(4,"path",4)(5,"path",5)(6,"path",6)(7,"path",7),j(),V(8,"defs")(9,"clipPath",8),Te(10,"rect",9),j()()()),2&t&&(Ot(i.getClassNames()),tt("aria-label",i.ariaLabel)("aria-hidden",i.ariaHidden)("role",i.role))},encapsulation:2}),e})(),X_t=(()=>{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=en({type:e}),e.\u0275inj=b({imports:[jn,Qmt,Iw,Mw,dT,Og,l0t,Ngt,GH,E0t,Sf,I0t,R0t,Uy,M0t,P0t,k0t,np,L0t,ti,Sf]}),e})();const Q_t=["sliderHandle"],J_t=["sliderHandleStart"],e1t=["sliderHandleEnd"],t1t=function(e,n){return{left:e,width:n}};function n1t(e,n){if(1&e&&Te(0,"span",4),2&e){const t=E();R("ngStyle",Hn(1,t1t,null!=t.offset?t.offset+"%":t.handleValues[0]+"%",t.diff?t.diff+"%":t.handleValues[1]-t.handleValues[0]+"%"))}}const i1t=function(e,n){return{bottom:e,height:n}};function r1t(e,n){if(1&e&&Te(0,"span",4),2&e){const t=E();R("ngStyle",Hn(1,i1t,null!=t.offset?t.offset+"%":t.handleValues[0]+"%",t.diff?t.diff+"%":t.handleValues[1]-t.handleValues[0]+"%"))}}const o1t=function(e){return{height:e}};function a1t(e,n){if(1&e&&Te(0,"span",4),2&e){const t=E();R("ngStyle",yt(1,o1t,t.handleValue+"%"))}}const s1t=function(e){return{width:e}};function l1t(e,n){if(1&e&&Te(0,"span",4),2&e){const t=E();R("ngStyle",yt(1,s1t,t.handleValue+"%"))}}const VH=function(e,n){return{left:e,bottom:n}};function c1t(e,n){if(1&e){const t=Be();V(0,"span",5,6),ge("keydown",function(r){return X(t),Q(E().onHandleKeydown(r))})("mousedown",function(r){return X(t),Q(E().onMouseDown(r))})("touchstart",function(r){return X(t),Q(E().onTouchStart(r))})("touchmove",function(r){return X(t),Q(E().onTouchMove(r))})("touchend",function(r){return X(t),Q(E().onTouchEnd(r))}),j()}if(2&e){const t=E();lc("transition",t.dragging?"none":null),R("ngStyle",Hn(8,VH,"horizontal"==t.orientation?t.handleValue+"%":null,"vertical"==t.orientation?t.handleValue+"%":null)),tt("tabindex",t.disabled?null:t.tabindex)("aria-valuemin",t.min)("aria-valuenow",t.value)("aria-valuemax",t.max)("aria-labelledby",t.ariaLabelledBy)}}const yhe=function(e){return{"p-slider-handle-active":e}};function u1t(e,n){if(1&e){const t=Be();V(0,"span",7,8),ge("keydown",function(r){return X(t),Q(E().onHandleKeydown(r,0))})("mousedown",function(r){return X(t),Q(E().onMouseDown(r,0))})("touchstart",function(r){return X(t),Q(E().onTouchStart(r,0))})("touchmove",function(r){return X(t),Q(E().onTouchMove(r,0))})("touchend",function(r){return X(t),Q(E().onTouchEnd(r))}),j()}if(2&e){const t=E();lc("transition",t.dragging?"none":null),R("ngStyle",Hn(9,VH,t.rangeStartLeft,t.rangeStartBottom))("ngClass",yt(12,yhe,0==t.handleIndex)),tt("tabindex",t.disabled?null:t.tabindex)("aria-valuemin",t.min)("aria-valuenow",t.value?t.value[0]:null)("aria-valuemax",t.max)("aria-labelledby",t.ariaLabelledBy)}}function d1t(e,n){if(1&e){const t=Be();V(0,"span",7,9),ge("keydown",function(r){return X(t),Q(E().onHandleKeydown(r,1))})("mousedown",function(r){return X(t),Q(E().onMouseDown(r,1))})("touchstart",function(r){return X(t),Q(E().onTouchStart(r,1))})("touchmove",function(r){return X(t),Q(E().onTouchMove(r,1))})("touchend",function(r){return X(t),Q(E().onTouchEnd(r))}),j()}if(2&e){const t=E();lc("transition",t.dragging?"none":null),R("ngStyle",Hn(9,VH,t.rangeEndLeft,t.rangeEndBottom))("ngClass",yt(12,yhe,1==t.handleIndex)),tt("tabindex",t.disabled?null:t.tabindex)("aria-valuemin",t.min)("aria-valuenow",t.value?t.value[1]:null)("aria-valuemax",t.max)("aria-labelledby",t.ariaLabelledBy)}}const p1t=function(e,n,t,i){return{"p-slider p-component":!0,"p-disabled":e,"p-slider-horizontal":n,"p-slider-vertical":t,"p-slider-animate":i}},f1t={provide:sr,useExisting:pn(()=>h1t),multi:!0};let h1t=(()=>{class e{constructor(t,i,r,o,a,s){this.document=t,this.platformId=i,this.el=r,this.renderer=o,this.ngZone=a,this.cd=s,this.min=0,this.max=100,this.orientation="horizontal",this.tabindex=0,this.onChange=new Pe,this.onSlideEnd=new Pe,this.handleValues=[],this.onModelChange=()=>{},this.onModelTouched=()=>{},this.handleIndex=0}onMouseDown(t,i){this.disabled||(this.dragging=!0,this.updateDomData(),this.sliderHandleClick=!0,this.handleIndex=this.range&&this.handleValues&&this.handleValues[0]===this.max?0:i,this.bindDragListeners(),t.target.focus(),t.preventDefault(),this.animate&&ve.removeClass(this.el.nativeElement.children[0],"p-slider-animate"))}onTouchStart(t,i){if(!this.disabled){var r=t.changedTouches[0];this.startHandleValue=this.range?this.handleValues[i]:this.handleValue,this.dragging=!0,this.handleIndex=this.range&&this.handleValues&&this.handleValues[0]===this.max?0:i,"horizontal"===this.orientation?(this.startx=parseInt(r.clientX,10),this.barWidth=this.el.nativeElement.children[0].offsetWidth):(this.starty=parseInt(r.clientY,10),this.barHeight=this.el.nativeElement.children[0].offsetHeight),this.animate&&ve.removeClass(this.el.nativeElement.children[0],"p-slider-animate"),t.preventDefault()}}onTouchMove(t,i){if(!this.disabled){var o,r=t.changedTouches[0];o="horizontal"===this.orientation?Math.floor(100*(parseInt(r.clientX,10)-this.startx)/this.barWidth)+this.startHandleValue:Math.floor(100*(this.starty-parseInt(r.clientY,10))/this.barHeight)+this.startHandleValue,this.setValueFromHandle(t,o),t.preventDefault()}}onTouchEnd(t,i){this.disabled||(this.dragging=!1,this.onSlideEnd.emit(this.range?{originalEvent:t,values:this.values}:{originalEvent:t,value:this.value}),this.animate&&ve.addClass(this.el.nativeElement.children[0],"p-slider-animate"),t.preventDefault())}onBarClick(t){this.disabled||(this.sliderHandleClick||(this.updateDomData(),this.handleChange(t)),this.sliderHandleClick=!1)}onHandleKeydown(t,i){this.disabled||(38==t.which||39==t.which?this.spin(t,1,i):(37==t.which||40==t.which)&&this.spin(t,-1,i))}spin(t,i,r){let o=(this.step||1)*i;this.range?(this.handleIndex=r,this.updateValue(this.values[this.handleIndex]+o),this.updateHandleValue()):(this.updateValue(this.value+o),this.updateHandleValue()),t.preventDefault()}handleChange(t){let i=this.calculateHandleValue(t);this.setValueFromHandle(t,i)}bindDragListeners(){Gd(this.platformId)&&this.ngZone.runOutsideAngular(()=>{const t=this.el?this.el.nativeElement.ownerDocument:this.document;this.dragListener||(this.dragListener=this.renderer.listen(t,"mousemove",i=>{this.dragging&&this.ngZone.run(()=>{this.handleChange(i)})})),this.mouseupListener||(this.mouseupListener=this.renderer.listen(t,"mouseup",i=>{this.dragging&&(this.dragging=!1,this.ngZone.run(()=>{this.onSlideEnd.emit(this.range?{originalEvent:i,values:this.values}:{originalEvent:i,value:this.value}),this.animate&&ve.addClass(this.el.nativeElement.children[0],"p-slider-animate")}))}))})}unbindDragListeners(){this.dragListener&&(this.dragListener(),this.dragListener=null),this.mouseupListener&&(this.mouseupListener(),this.mouseupListener=null)}setValueFromHandle(t,i){this.sliderHandleClick=!1;let r=this.getValueFromHandle(i);this.range?this.step?this.handleStepChange(r,this.values[this.handleIndex]):(this.handleValues[this.handleIndex]=i,this.updateValue(r,t)):this.step?this.handleStepChange(r,this.value):(this.handleValue=i,this.updateValue(r,t)),this.cd.markForCheck()}handleStepChange(t,i){let r=t-i,o=i;r<0?o=i+Math.ceil(t/this.step-i/this.step)*this.step:r>0&&(o=i+Math.floor(t/this.step-i/this.step)*this.step),this.updateValue(o),this.updateHandleValue()}writeValue(t){this.range?this.values=t||[0,0]:this.value=t||0,this.updateHandleValue(),this.updateDiffAndOffset(),this.cd.markForCheck()}registerOnChange(t){this.onModelChange=t}registerOnTouched(t){this.onModelTouched=t}setDisabledState(t){this.disabled=t,this.cd.markForCheck()}get rangeStartLeft(){return this.isVertical()?null:this.handleValues[0]>100?"100%":this.handleValues[0]+"%"}get rangeStartBottom(){return this.isVertical()?this.handleValues[0]+"%":"auto"}get rangeEndLeft(){return this.isVertical()?null:this.handleValues[1]+"%"}get rangeEndBottom(){return this.isVertical()?this.handleValues[1]+"%":"auto"}isVertical(){return"vertical"===this.orientation}updateDomData(){let t=this.el.nativeElement.children[0].getBoundingClientRect();this.initX=t.left+ve.getWindowScrollLeft(),this.initY=t.top+ve.getWindowScrollTop(),this.barWidth=this.el.nativeElement.children[0].offsetWidth,this.barHeight=this.el.nativeElement.children[0].offsetHeight}calculateHandleValue(t){return"horizontal"===this.orientation?100*(t.pageX-this.initX)/this.barWidth:100*(this.initY+this.barHeight-t.pageY)/this.barHeight}updateHandleValue(){this.range?(this.handleValues[0]=100*(this.values[0]this.max?100:this.values[1]-this.min)/(this.max-this.min)):this.handleValue=this.valuethis.max?100:100*(this.value-this.min)/(this.max-this.min),this.step&&this.updateDiffAndOffset()}updateDiffAndOffset(){this.diff=this.getDiff(),this.offset=this.getOffset()}getDiff(){return Math.abs(this.handleValues[0]-this.handleValues[1])}getOffset(){return Math.min(this.handleValues[0],this.handleValues[1])}updateValue(t,i){if(this.range){let r=t;0==this.handleIndex?(rthis.values[1]&&r>this.max&&(r=this.max,this.handleValues[0]=100),this.sliderHandleStart.nativeElement.focus()):(r>this.max?(r=this.max,this.handleValues[1]=100,this.offset=this.handleValues[1]):rthis.max&&(t=this.max,this.handleValue=100),this.value=this.getNormalizedValue(t),this.onModelChange(this.value),this.onChange.emit({event:i,value:this.value}),this.sliderHandle.nativeElement.focus()}getValueFromHandle(t){return t/100*(this.max-this.min)+this.min}getDecimalsCount(t){return t&&Math.floor(t)!==t&&t.toString().split(".")[1].length||0}getNormalizedValue(t){let i=this.getDecimalsCount(this.step);return i>0?+parseFloat(t.toString()).toFixed(i):Math.floor(t)}ngOnDestroy(){this.unbindDragListeners()}get minVal(){return Math.min(this.values[1],this.values[0])}get maxVal(){return Math.max(this.values[1],this.values[0])}}return e.\u0275fac=function(t){return new(t||e)(ie(xi),ie(Md),ie(En),ie(Si),ie(wn),ie(wi))},e.\u0275cmp=mt({type:e,selectors:[["p-slider"]],viewQuery:function(t,i){if(1&t&&(Mt(Q_t,5),Mt(J_t,5),Mt(e1t,5)),2&t){let r;at(r=st())&&(i.sliderHandle=r.first),at(r=st())&&(i.sliderHandleStart=r.first),at(r=st())&&(i.sliderHandleEnd=r.first)}},hostAttrs:[1,"p-element"],inputs:{animate:"animate",disabled:"disabled",min:"min",max:"max",orientation:"orientation",step:"step",range:"range",style:"style",styleClass:"styleClass",ariaLabelledBy:"ariaLabelledBy",tabindex:"tabindex"},outputs:{onChange:"onChange",onSlideEnd:"onSlideEnd"},features:[Zt([f1t])],decls:8,vars:16,consts:[[3,"ngStyle","ngClass","click"],["class","p-slider-range",3,"ngStyle",4,"ngIf"],["class","p-slider-handle",3,"transition","ngStyle","keydown","mousedown","touchstart","touchmove","touchend",4,"ngIf"],["class","p-slider-handle",3,"transition","ngStyle","ngClass","keydown","mousedown","touchstart","touchmove","touchend",4,"ngIf"],[1,"p-slider-range",3,"ngStyle"],[1,"p-slider-handle",3,"ngStyle","keydown","mousedown","touchstart","touchmove","touchend"],["sliderHandle",""],[1,"p-slider-handle",3,"ngStyle","ngClass","keydown","mousedown","touchstart","touchmove","touchend"],["sliderHandleStart",""],["sliderHandleEnd",""]],template:function(t,i){1&t&&(V(0,"div",0),ge("click",function(o){return i.onBarClick(o)}),N(1,n1t,1,4,"span",1),N(2,r1t,1,4,"span",1),N(3,a1t,1,3,"span",1),N(4,l1t,1,3,"span",1),N(5,c1t,2,11,"span",2),N(6,u1t,2,14,"span",3),N(7,d1t,2,14,"span",3),j()),2&t&&(Ot(i.styleClass),R("ngStyle",i.style)("ngClass",Dv(11,p1t,i.disabled,"horizontal"==i.orientation,"vertical"==i.orientation,i.animate)),G(1),R("ngIf",i.range&&"horizontal"==i.orientation),G(1),R("ngIf",i.range&&"vertical"==i.orientation),G(1),R("ngIf",!i.range&&"vertical"==i.orientation),G(1),R("ngIf",!i.range&&"horizontal"==i.orientation),G(1),R("ngIf",!i.range),G(1),R("ngIf",i.range),G(1),R("ngIf",i.range))},dependencies:[to,Mi,or],styles:[".p-slider{position:relative}.p-slider .p-slider-handle{position:absolute;cursor:grab;touch-action:none;display:block}.p-slider-range{position:absolute;display:block}.p-slider-horizontal .p-slider-range{top:0;left:0;height:100%}.p-slider-horizontal .p-slider-handle{top:50%}.p-slider-vertical{height:100px}.p-slider-vertical .p-slider-handle{left:50%}.p-slider-vertical .p-slider-range{bottom:0;left:0;width:100%}\n"],encapsulation:2,changeDetection:0}),e})(),g1t=(()=>{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=en({type:e}),e.\u0275inj=b({imports:[jn]}),e})(),y1t=(()=>{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=en({type:e}),e.\u0275inj=b({imports:[jn]}),e})(),_1t=(()=>{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=en({type:e}),e.\u0275inj=b({imports:[jn,ti]}),e})(),F1t=(()=>{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=en({type:e}),e.\u0275inj=b({imports:[jn,PD,rp,ti]}),e})(),D1t=(()=>{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=en({type:e}),e.\u0275inj=b({imports:[jn]}),e})(),E1t=(()=>{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=en({type:e}),e.\u0275inj=b({imports:[jn]}),e})(),I1t=(()=>{class e{}return e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=en({type:e,bootstrap:[Upt]}),e.\u0275inj=b({providers:[DI,zfe,uX,dX,Gfe,Bfe,Hfe,Ofe,Vfe,Yfe,mft,ihe],imports:[rU,WZ,dT,uwe,gft,$pt,tX,Vft,eht,Awe,g1t,y1t,X_t,F1t,D1t,E1t,Og,_1t,Lke]}),e})();Abe().bootstrapModule(I1t).catch(e=>console.error(e))},259:function(ko,eu){var Ss;!function(xt,Lr){"use strict";"object"==typeof ko.exports?ko.exports=xt.document?Lr(xt,!0):function(gi){if(!gi.document)throw new Error("jQuery requires a window with a document");return Lr(gi)}:Lr(xt)}(typeof window<"u"?window:this,function(xt,Lr){"use strict";var gi=[],$a=Object.getPrototypeOf,Ii=gi.slice,Ni=gi.flat?function(y){return gi.flat.call(y)}:function(y){return gi.concat.apply([],y)},Ua=gi.push,Xr=gi.indexOf,ua={},Mr=ua.toString,Qr=ua.hasOwnProperty,sl=Qr.toString,ja=sl.call(Object),$t={},Et=function(T){return"function"==typeof T&&"number"!=typeof T.nodeType&&"function"!=typeof T.item},er=function(T){return null!=T&&T===T.window},rt=xt.document,Wl={type:!0,src:!0,nonce:!0,noModule:!0};function yo(y,T,b){var x,k,H=(b=b||rt).createElement("script");if(H.text=y,T)for(x in Wl)(k=T[x]||T.getAttribute&&T.getAttribute(x))&&H.setAttribute(x,k);b.head.appendChild(H).parentNode.removeChild(H)}function kr(y){return null==y?y+"":"object"==typeof y||"function"==typeof y?ua[Mr.call(y)]||"object":typeof y}var Pp=/HTML$/i,D=function(y,T){return new D.fn.init(y,T)};function tu(y){var T=!!y&&"length"in y&&y.length,b=kr(y);return!Et(y)&&!er(y)&&("array"===b||0===T||"number"==typeof T&&T>0&&T-1 in y)}function Dn(y,T){return y.nodeName&&y.nodeName.toLowerCase()===T.toLowerCase()}D.fn=D.prototype={jquery:"3.7.1",constructor:D,length:0,toArray:function(){return Ii.call(this)},get:function(y){return null==y?Ii.call(this):y<0?this[y+this.length]:this[y]},pushStack:function(y){var T=D.merge(this.constructor(),y);return T.prevObject=this,T},each:function(y){return D.each(this,y)},map:function(y){return this.pushStack(D.map(this,function(T,b){return y.call(T,b,T)}))},slice:function(){return this.pushStack(Ii.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(D.grep(this,function(y,T){return(T+1)%2}))},odd:function(){return this.pushStack(D.grep(this,function(y,T){return T%2}))},eq:function(y){var T=this.length,b=+y+(y<0?T:0);return this.pushStack(b>=0&&b+~]|"+zn+")"+zn+"*"),$1=new RegExp(zn+"|>"),pl=new RegExp(Is),Zp=new RegExp("^"+tc+"$"),No={ID:new RegExp("^#("+tc+")"),CLASS:new RegExp("^\\.("+tc+")"),TAG:new RegExp("^("+tc+"|[*])"),ATTR:new RegExp("^"+An),PSEUDO:new RegExp("^"+Is),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+zn+"*(even|odd|(([+-]|)(\\d*)n|)"+zn+"*(?:([+-]|)"+zn+"*(\\d+)|))"+zn+"*\\)|)","i"),bool:new RegExp("^(?:"+ec+")$","i"),needsContext:new RegExp("^"+zn+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+zn+"*((?:-\\d)?\\d*)"+zn+"*\\)|)(?=[^-]|$)","i")},ha=/^(?:input|select|textarea|button)$/i,su=/^h\d$/i,Qe=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,w0=/[+~]/,Kt=new RegExp("\\\\[\\da-fA-F]{1,6}"+zn+"?|\\\\([^\\r\\n\\f])","g"),Xa=function(Z,re){var pe="0x"+Z.slice(1)-65536;return re||(pe<0?String.fromCharCode(pe+65536):String.fromCharCode(pe>>10|55296,1023&pe|56320))},U1=function(){hl()},Qh=F0(function(Z){return!0===Z.disabled&&Dn(Z,"fieldset")},{dir:"parentNode",next:"legend"});try{H.apply(gi=Ii.call(Pr.childNodes),Pr.childNodes)}catch{H={apply:function(re,pe){nu.apply(re,Ii.call(pe))},call:function(re){nu.apply(re,Ii.call(arguments,1))}}}function Xn(Z,re,pe,_e){var Se,$e,ot,Tt,et,nn,Me,Ke=re&&re.ownerDocument,wt=re?re.nodeType:9;if(pe=pe||[],"string"!=typeof Z||!Z||1!==wt&&9!==wt&&11!==wt)return pe;if(!_e&&(hl(re),re=re||z,ne)){if(11!==wt&&(et=Qe.exec(Z)))if(Se=et[1]){if(9===wt){if(!(ot=re.getElementById(Se)))return pe;if(ot.id===Se)return H.call(pe,ot),pe}else if(Ke&&(ot=Ke.getElementById(Se))&&Xn.contains(re,ot)&&ot.id===Se)return H.call(pe,ot),pe}else{if(et[2])return H.apply(pe,re.getElementsByTagName(Z)),pe;if((Se=et[3])&&re.getElementsByClassName)return H.apply(pe,re.getElementsByClassName(Se)),pe}if(!(eo[Z+" "]||ue&&ue.test(Z))){if(Me=Z,Ke=re,1===wt&&($1.test(Z)||Xh.test(Z))){for(((Ke=w0.test(Z)&&Jh(re.parentNode)||re)!=re||!$t.scope)&&((Tt=re.getAttribute("id"))?Tt=D.escapeSelector(Tt):re.setAttribute("id",Tt=Fe)),$e=(nn=ga(Z)).length;$e--;)nn[$e]=(Tt?"#"+Tt:":scope")+" "+lu(nn[$e]);Me=nn.join(",")}try{return H.apply(pe,Ke.querySelectorAll(Me)),pe}catch{eo(Z,!0)}finally{Tt===Fe&&re.removeAttribute("id")}}}return Ft(Z.replace(_d,"$1"),re,pe,_e)}function x0(){var Z=[];return function re(pe,_e){return Z.push(pe+" ")>T.cacheLength&&delete re[Z.shift()],re[pe+" "]=_e}}function hr(Z){return Z[Fe]=!0,Z}function vo(Z){var re=z.createElement("fieldset");try{return!!Z(re)}catch{return!1}finally{re.parentNode&&re.parentNode.removeChild(re),re=null}}function Rs(Z){return function(re){return Dn(re,"input")&&re.type===Z}}function nc(Z){return function(re){return(Dn(re,"input")||Dn(re,"button"))&&re.type===Z}}function kn(Z){return function(re){return"form"in re?re.parentNode&&!1===re.disabled?"label"in re?"label"in re.parentNode?re.parentNode.disabled===Z:re.disabled===Z:re.isDisabled===Z||re.isDisabled!==!Z&&Qh(re)===Z:re.disabled===Z:"label"in re&&re.disabled===Z}}function fl(Z){return hr(function(re){return re=+re,hr(function(pe,_e){for(var Se,$e=Z([],pe.length,re),ot=$e.length;ot--;)pe[Se=$e[ot]]&&(pe[Se]=!(_e[Se]=pe[Se]))})})}function Jh(Z){return Z&&typeof Z.getElementsByTagName<"u"&&Z}function hl(Z){var re,pe=Z?Z.ownerDocument||Z:Pr;return pe==z||9!==pe.nodeType||!pe.documentElement||(ae=(z=pe).documentElement,ne=!D.isXMLDoc(z),Ce=ae.matches||ae.webkitMatchesSelector||ae.msMatchesSelector,ae.msMatchesSelector&&Pr!=z&&(re=z.defaultView)&&re.top!==re&&re.addEventListener("unload",U1),$t.getById=vo(function(_e){return ae.appendChild(_e).id=D.expando,!z.getElementsByName||!z.getElementsByName(D.expando).length}),$t.disconnectedMatch=vo(function(_e){return Ce.call(_e,"*")}),$t.scope=vo(function(){return z.querySelectorAll(":scope")}),$t.cssHas=vo(function(){try{return z.querySelector(":has(*,:jqfake)"),!1}catch{return!0}}),$t.getById?(T.filter.ID=function(_e){var Se=_e.replace(Kt,Xa);return function($e){return $e.getAttribute("id")===Se}},T.find.ID=function(_e,Se){if(typeof Se.getElementById<"u"&&ne){var $e=Se.getElementById(_e);return $e?[$e]:[]}}):(T.filter.ID=function(_e){var Se=_e.replace(Kt,Xa);return function($e){var ot=typeof $e.getAttributeNode<"u"&&$e.getAttributeNode("id");return ot&&ot.value===Se}},T.find.ID=function(_e,Se){if(typeof Se.getElementById<"u"&&ne){var $e,ot,Tt,et=Se.getElementById(_e);if(et){if(($e=et.getAttributeNode("id"))&&$e.value===_e)return[et];for(Tt=Se.getElementsByName(_e),ot=0;et=Tt[ot++];)if(($e=et.getAttributeNode("id"))&&$e.value===_e)return[et]}return[]}}),T.find.TAG=function(_e,Se){return typeof Se.getElementsByTagName<"u"?Se.getElementsByTagName(_e):Se.querySelectorAll(_e)},T.find.CLASS=function(_e,Se){if(typeof Se.getElementsByClassName<"u"&&ne)return Se.getElementsByClassName(_e)},ue=[],vo(function(_e){var Se;ae.appendChild(_e).innerHTML="",_e.querySelectorAll("[selected]").length||ue.push("\\["+zn+"*(?:value|"+ec+")"),_e.querySelectorAll("[id~="+Fe+"-]").length||ue.push("~="),_e.querySelectorAll("a#"+Fe+"+*").length||ue.push(".#.+[+~]"),_e.querySelectorAll(":checked").length||ue.push(":checked"),(Se=z.createElement("input")).setAttribute("type","hidden"),_e.appendChild(Se).setAttribute("name","D"),ae.appendChild(_e).disabled=!0,2!==_e.querySelectorAll(":disabled").length&&ue.push(":enabled",":disabled"),(Se=z.createElement("input")).setAttribute("name",""),_e.appendChild(Se),_e.querySelectorAll("[name='']").length||ue.push("\\["+zn+"*name"+zn+"*="+zn+"*(?:''|\"\")")}),$t.cssHas||ue.push(":has"),ue=ue.length&&new RegExp(ue.join("|")),sn=function(_e,Se){if(_e===Se)return k=!0,0;var $e=!_e.compareDocumentPosition-!Se.compareDocumentPosition;return $e||(1&($e=(_e.ownerDocument||_e)==(Se.ownerDocument||Se)?_e.compareDocumentPosition(Se):1)||!$t.sortDetached&&Se.compareDocumentPosition(_e)===$e?_e===z||_e.ownerDocument==Pr&&Xn.contains(Pr,_e)?-1:Se===z||Se.ownerDocument==Pr&&Xn.contains(Pr,Se)?1:x?Xr.call(x,_e)-Xr.call(x,Se):0:4&$e?-1:1)}),z}for(y in Xn.matches=function(Z,re){return Xn(Z,null,null,re)},Xn.matchesSelector=function(Z,re){if(hl(Z),ne&&!eo[re+" "]&&(!ue||!ue.test(re)))try{var pe=Ce.call(Z,re);if(pe||$t.disconnectedMatch||Z.document&&11!==Z.document.nodeType)return pe}catch{eo(re,!0)}return Xn(re,z,null,[Z]).length>0},Xn.contains=function(Z,re){return(Z.ownerDocument||Z)!=z&&hl(Z),D.contains(Z,re)},Xn.attr=function(Z,re){(Z.ownerDocument||Z)!=z&&hl(Z);var pe=T.attrHandle[re.toLowerCase()],_e=pe&&Qr.call(T.attrHandle,re.toLowerCase())?pe(Z,re,!ne):void 0;return void 0!==_e?_e:Z.getAttribute(re)},Xn.error=function(Z){throw new Error("Syntax error, unrecognized expression: "+Z)},D.uniqueSort=function(Z){var re,pe=[],_e=0,Se=0;if(k=!$t.sortStable,x=!$t.sortStable&&Ii.call(Z,0),Qm.call(Z,sn),k){for(;re=Z[Se++];)re===Z[Se]&&(_e=pe.push(Se));for(;_e--;)Jm.call(Z,pe[_e],1)}return x=null,Z},D.fn.uniqueSort=function(){return this.pushStack(D.uniqueSort(Ii.apply(this)))},(T=D.expr={cacheLength:50,createPseudo:hr,match:No,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(Z){return Z[1]=Z[1].replace(Kt,Xa),Z[3]=(Z[3]||Z[4]||Z[5]||"").replace(Kt,Xa),"~="===Z[2]&&(Z[3]=" "+Z[3]+" "),Z.slice(0,4)},CHILD:function(Z){return Z[1]=Z[1].toLowerCase(),"nth"===Z[1].slice(0,3)?(Z[3]||Xn.error(Z[0]),Z[4]=+(Z[4]?Z[5]+(Z[6]||1):2*("even"===Z[3]||"odd"===Z[3])),Z[5]=+(Z[7]+Z[8]||"odd"===Z[3])):Z[3]&&Xn.error(Z[0]),Z},PSEUDO:function(Z){var re,pe=!Z[6]&&Z[2];return No.CHILD.test(Z[0])?null:(Z[3]?Z[2]=Z[4]||Z[5]||"":pe&&pl.test(pe)&&(re=ga(pe,!0))&&(re=pe.indexOf(")",pe.length-re)-pe.length)&&(Z[0]=Z[0].slice(0,re),Z[2]=pe.slice(0,re)),Z.slice(0,3))}},filter:{TAG:function(Z){var re=Z.replace(Kt,Xa).toLowerCase();return"*"===Z?function(){return!0}:function(pe){return Dn(pe,re)}},CLASS:function(Z){var re=Jt[Z+" "];return re||(re=new RegExp("(^|"+zn+")"+Z+"("+zn+"|$)"))&&Jt(Z,function(pe){return re.test("string"==typeof pe.className&&pe.className||typeof pe.getAttribute<"u"&&pe.getAttribute("class")||"")})},ATTR:function(Z,re,pe){return function(_e){var Se=Xn.attr(_e,Z);return null==Se?"!="===re:!re||(Se+="","="===re?Se===pe:"!="===re?Se!==pe:"^="===re?pe&&0===Se.indexOf(pe):"*="===re?pe&&Se.indexOf(pe)>-1:"$="===re?pe&&Se.slice(-pe.length)===pe:"~="===re?(" "+Se.replace(Sn," ")+" ").indexOf(pe)>-1:"|="===re&&(Se===pe||Se.slice(0,pe.length+1)===pe+"-"))}},CHILD:function(Z,re,pe,_e,Se){var $e="nth"!==Z.slice(0,3),ot="last"!==Z.slice(-4),Tt="of-type"===re;return 1===_e&&0===Se?function(et){return!!et.parentNode}:function(et,nn,Me){var Ke,wt,vt,Pn,Qn,qi=$e!==ot?"nextSibling":"previousSibling",Nn=et.parentNode,ma=Tt&&et.nodeName.toLowerCase(),ic=!Me&&!Tt,Lt=!1;if(Nn){if($e){for(;qi;){for(vt=et;vt=vt[qi];)if(Tt?Dn(vt,ma):1===vt.nodeType)return!1;Qn=qi="only"===Z&&!Qn&&"nextSibling"}return!0}if(Qn=[ot?Nn.firstChild:Nn.lastChild],ot&&ic){for(Lt=(Pn=(Ke=(wt=Nn[Fe]||(Nn[Fe]={}))[Z]||[])[0]===le&&Ke[1])&&Ke[2],vt=Pn&&Nn.childNodes[Pn];vt=++Pn&&vt&&vt[qi]||(Lt=Pn=0)||Qn.pop();)if(1===vt.nodeType&&++Lt&&vt===et){wt[Z]=[le,Pn,Lt];break}}else if(ic&&(Lt=Pn=(Ke=(wt=et[Fe]||(et[Fe]={}))[Z]||[])[0]===le&&Ke[1]),!1===Lt)for(;(vt=++Pn&&vt&&vt[qi]||(Lt=Pn=0)||Qn.pop())&&(!(Tt?Dn(vt,ma):1===vt.nodeType)||!++Lt||(ic&&((wt=vt[Fe]||(vt[Fe]={}))[Z]=[le,Lt]),vt!==et)););return(Lt-=Se)===_e||Lt%_e==0&&Lt/_e>=0}}},PSEUDO:function(Z,re){var pe,_e=T.pseudos[Z]||T.setFilters[Z.toLowerCase()]||Xn.error("unsupported pseudo: "+Z);return _e[Fe]?_e(re):_e.length>1?(pe=[Z,Z,"",re],T.setFilters.hasOwnProperty(Z.toLowerCase())?hr(function(Se,$e){for(var ot,Tt=_e(Se,re),et=Tt.length;et--;)Se[ot=Xr.call(Se,Tt[et])]=!($e[ot]=Tt[et])}):function(Se){return _e(Se,0,pe)}):_e}},pseudos:{not:hr(function(Z){var re=[],pe=[],_e=E0(Z.replace(_d,"$1"));return _e[Fe]?hr(function(Se,$e,ot,Tt){for(var et,nn=_e(Se,null,Tt,[]),Me=Se.length;Me--;)(et=nn[Me])&&(Se[Me]=!($e[Me]=et))}):function(Se,$e,ot){return re[0]=Se,_e(re,null,ot,pe),re[0]=null,!pe.pop()}}),has:hr(function(Z){return function(re){return Xn(Z,re).length>0}}),contains:hr(function(Z){return Z=Z.replace(Kt,Xa),function(re){return(re.textContent||D.text(re)).indexOf(Z)>-1}}),lang:hr(function(Z){return Zp.test(Z||"")||Xn.error("unsupported lang: "+Z),Z=Z.replace(Kt,Xa).toLowerCase(),function(re){var pe;do{if(pe=ne?re.lang:re.getAttribute("xml:lang")||re.getAttribute("lang"))return(pe=pe.toLowerCase())===Z||0===pe.indexOf(Z+"-")}while((re=re.parentNode)&&1===re.nodeType);return!1}}),target:function(Z){var re=xt.location&&xt.location.hash;return re&&re.slice(1)===Z.id},root:function(Z){return Z===ae},focus:function(Z){return Z===function GD(){try{return z.activeElement}catch{}}()&&z.hasFocus()&&!!(Z.type||Z.href||~Z.tabIndex)},enabled:kn(!1),disabled:kn(!0),checked:function(Z){return Dn(Z,"input")&&!!Z.checked||Dn(Z,"option")&&!!Z.selected},selected:function(Z){return!0===Z.selected},empty:function(Z){for(Z=Z.firstChild;Z;Z=Z.nextSibling)if(Z.nodeType<6)return!1;return!0},parent:function(Z){return!T.pseudos.empty(Z)},header:function(Z){return su.test(Z.nodeName)},input:function(Z){return ha.test(Z.nodeName)},button:function(Z){return Dn(Z,"input")&&"button"===Z.type||Dn(Z,"button")},text:function(Z){var re;return Dn(Z,"input")&&"text"===Z.type&&(null==(re=Z.getAttribute("type"))||"text"===re.toLowerCase())},first:fl(function(){return[0]}),last:fl(function(Z,re){return[re-1]}),eq:fl(function(Z,re,pe){return[pe<0?pe+re:pe]}),even:fl(function(Z,re){for(var pe=0;pere?re:pe;--_e>=0;)Z.push(_e);return Z}),gt:fl(function(Z,re,pe){for(var _e=pe<0?pe+re:pe;++_e1?function(re,pe,_e){for(var Se=Z.length;Se--;)if(!Z[Se](re,pe,_e))return!1;return!0}:Z[0]}function D0(Z,re,pe,_e,Se){for(var $e,ot=[],Tt=0,et=Z.length,nn=null!=re;Tt-1&&(ot[Me]=!(Tt[Me]=wt))}}else vt=D0(vt===Tt?vt.splice(qi,vt.length):vt),Se?Se(null,Tt,vt,nn):H.apply(Tt,vt)})}function en(Z){for(var re,pe,_e,Se=Z.length,$e=T.relative[Z[0].type],ot=$e||T.relative[" "],Tt=$e?1:0,et=F0(function(Ke){return Ke===re},ot,!0),nn=F0(function(Ke){return Xr.call(re,Ke)>-1},ot,!0),Me=[function(Ke,wt,vt){var Pn=!$e&&(vt||wt!=b)||((re=wt).nodeType?et(Ke,wt,vt):nn(Ke,wt,vt));return re=null,Pn}];Tt1&&mt(Me),Tt>1&&lu(Z.slice(0,Tt-1).concat({value:" "===Z[Tt-2].type?"*":""})).replace(_d,"$1"),pe,Tt<_e&&en(Z.slice(Tt,_e)),_e0,_e=Z.length>0,Se=function($e,ot,Tt,et,nn){var Me,Ke,wt,vt=0,Pn="0",Qn=$e&&[],qi=[],Nn=b,ma=$e||_e&&T.find.TAG("*",nn),ic=le+=null==Nn?1:Math.random()||.1,Lt=ma.length;for(nn&&(b=ot==z||ot||nn);Pn!==Lt&&null!=(Me=ma[Pn]);Pn++){if(_e&&Me){for(Ke=0,!ot&&Me.ownerDocument!=z&&(hl(Me),Tt=!ne);wt=Z[Ke++];)if(wt(Me,ot||z,Tt)){H.call(et,Me);break}nn&&(le=ic)}pe&&((Me=!wt&&Me)&&vt--,$e&&Qn.push(Me))}if(vt+=Pn,pe&&Pn!==vt){for(Ke=0;wt=re[Ke++];)wt(Qn,qi,ot,Tt);if($e){if(vt>0)for(;Pn--;)Qn[Pn]||qi[Pn]||(qi[Pn]=ql.call(et));qi=D0(qi)}H.apply(et,qi),nn&&!$e&&qi.length>0&&vt+re.length>1&&D.uniqueSort(et)}return nn&&(le=ic,b=Nn),Qn};return pe?hr(Se):Se}(Se,_e)),$e.selector=Z}return $e}function Ft(Z,re,pe,_e){var Se,$e,ot,Tt,et,nn="function"==typeof Z&&Z,Me=!_e&&ga(Z=nn.selector||Z);if(pe=pe||[],1===Me.length){if(($e=Me[0]=Me[0].slice(0)).length>2&&"ID"===(ot=$e[0]).type&&9===re.nodeType&&ne&&T.relative[$e[1].type]){if(!(re=(T.find.ID(ot.matches[0].replace(Kt,Xa),re)||[])[0]))return pe;nn&&(re=re.parentNode),Z=Z.slice($e.shift().value.length)}for(Se=No.needsContext.test(Z)?0:$e.length;Se--&&!T.relative[Tt=(ot=$e[Se]).type];)if((et=T.find[Tt])&&(_e=et(ot.matches[0].replace(Kt,Xa),w0.test($e[0].type)&&Jh(re.parentNode)||re))){if($e.splice(Se,1),!(Z=_e.length&&lu($e)))return H.apply(pe,_e),pe;break}}return(nn||E0(Z,Me))(_e,re,!ne,pe,!re||w0.test(Z)&&Jh(re.parentNode)||re),pe}j1.prototype=T.filters=T.pseudos,T.setFilters=new j1,$t.sortStable=Fe.split("").sort(sn).join("")===Fe,hl(),$t.sortDetached=vo(function(Z){return 1&Z.compareDocumentPosition(z.createElement("fieldset"))}),D.find=Xn,D.expr[":"]=D.expr.pseudos,D.unique=D.uniqueSort,Xn.compile=E0,Xn.select=Ft,Xn.setDocument=hl,Xn.tokenize=ga,Xn.escape=D.escapeSelector,Xn.getText=D.text,Xn.isXML=D.isXMLDoc,Xn.selectors=D.expr,Xn.support=D.support,Xn.uniqueSort=D.uniqueSort}();var iu=function(y,T,b){for(var x=[],k=void 0!==b;(y=y[T])&&9!==y.nodeType;)if(1===y.nodeType){if(k&&D(y).is(b))break;x.push(y)}return x},Np=function(y,T){for(var b=[];y;y=y.nextSibling)1===y.nodeType&&y!==T&&b.push(y);return b},e0=D.expr.match.needsContext,Op=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function Zn(y,T,b){return Et(T)?D.grep(y,function(x,k){return!!T.call(x,k,x)!==b}):T.nodeType?D.grep(y,function(x){return x===T!==b}):"string"!=typeof T?D.grep(y,function(x){return Xr.call(T,x)>-1!==b}):D.filter(T,y,b)}D.filter=function(y,T,b){var x=T[0];return b&&(y=":not("+y+")"),1===T.length&&1===x.nodeType?D.find.matchesSelector(x,y)?[x]:[]:D.find.matches(y,D.grep(T,function(k){return 1===k.nodeType}))},D.fn.extend({find:function(y){var T,b,x=this.length,k=this;if("string"!=typeof y)return this.pushStack(D(y).filter(function(){for(T=0;T1?D.uniqueSort(b):b},filter:function(y){return this.pushStack(Zn(this,y||[],!1))},not:function(y){return this.pushStack(Zn(this,y||[],!0))},is:function(y){return!!Zn(this,"string"==typeof y&&e0.test(y)?D(y):y||[],!1).length}});var Kl,Hp=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,ws=D.fn.init=function(y,T,b){var x,k;if(!y)return this;if(b=b||Kl,"string"==typeof y){if(!(x="<"===y[0]&&">"===y[y.length-1]&&y.length>=3?[null,y,null]:Hp.exec(y))||!x[1]&&T)return!T||T.jquery?(T||b).find(y):this.constructor(T).find(y);if(x[1]){if(D.merge(this,D.parseHTML(x[1],(T=T instanceof D?T[0]:T)&&T.nodeType?T.ownerDocument||T:rt,!0)),Op.test(x[1])&&D.isPlainObject(T))for(x in T)Et(this[x])?this[x](T[x]):this.attr(x,T[x]);return this}return(k=rt.getElementById(x[2]))&&(this[0]=k,this.length=1),this}return y.nodeType?(this[0]=y,this.length=1,this):Et(y)?void 0!==b.ready?b.ready(y):y(D):D.makeArray(y,this)};ws.prototype=D.fn,Kl=D(rt);var Gp=/^(?:parents|prev(?:Until|All))/,t0={children:!0,contents:!0,next:!0,prev:!0};function vd(y,T){for(;(y=y[T])&&1!==y.nodeType;);return y}D.fn.extend({has:function(y){var T=D(y,this),b=T.length;return this.filter(function(){for(var x=0;x-1:1===b.nodeType&&D.find.matchesSelector(b,y))){H.push(b);break}return this.pushStack(H.length>1?D.uniqueSort(H):H)},index:function(y){return y?"string"==typeof y?Xr.call(D(y),this[0]):Xr.call(this,y.jquery?y[0]:y):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(y,T){return this.pushStack(D.uniqueSort(D.merge(this.get(),D(y,T))))},addBack:function(y){return this.add(null==y?this.prevObject:this.prevObject.filter(y))}}),D.each({parent:function(y){var T=y.parentNode;return T&&11!==T.nodeType?T:null},parents:function(y){return iu(y,"parentNode")},parentsUntil:function(y,T,b){return iu(y,"parentNode",b)},next:function(y){return vd(y,"nextSibling")},prev:function(y){return vd(y,"previousSibling")},nextAll:function(y){return iu(y,"nextSibling")},prevAll:function(y){return iu(y,"previousSibling")},nextUntil:function(y,T,b){return iu(y,"nextSibling",b)},prevUntil:function(y,T,b){return iu(y,"previousSibling",b)},siblings:function(y){return Np((y.parentNode||{}).firstChild,y)},children:function(y){return Np(y.firstChild)},contents:function(y){return null!=y.contentDocument&&$a(y.contentDocument)?y.contentDocument:(Dn(y,"template")&&(y=y.content||y),D.merge([],y.childNodes))}},function(y,T){D.fn[y]=function(b,x){var k=D.map(this,T,b);return"Until"!==y.slice(-5)&&(x=b),x&&"string"==typeof x&&(k=D.filter(x,k)),this.length>1&&(t0[y]||D.uniqueSort(k),Gp.test(y)&&k.reverse()),this.pushStack(k)}});var tr=/[^\x20\t\r\n\f]+/g;function ll(y){return y}function ui(y){throw y}function Ph(y,T,b,x){var k;try{y&&Et(k=y.promise)?k.call(y).done(T).fail(b):y&&Et(k=y.then)?k.call(y,T,b):T.apply(void 0,[y].slice(x))}catch(H){b.apply(void 0,[H])}}D.Callbacks=function(y){y="string"==typeof y?function n0(y){var T={};return D.each(y.match(tr)||[],function(b,x){T[x]=!0}),T}(y):D.extend({},y);var T,b,x,k,H=[],z=[],ae=-1,ne=function(){for(k=k||y.once,x=T=!0;z.length;ae=-1)for(b=z.shift();++ae-1;)H.splice(le,1),le<=ae&&ae--}),this},has:function(Ce){return Ce?D.inArray(Ce,H)>-1:H.length>0},empty:function(){return H&&(H=[]),this},disable:function(){return k=z=[],H=b="",this},disabled:function(){return!H},lock:function(){return k=z=[],!b&&!T&&(H=b=""),this},locked:function(){return!!k},fireWith:function(Ce,Fe){return k||(Fe=[Ce,(Fe=Fe||[]).slice?Fe.slice():Fe],z.push(Fe),T||ne()),this},fire:function(){return ue.fireWith(this,arguments),this},fired:function(){return!!x}};return ue},D.extend({Deferred:function(y){var T=[["notify","progress",D.Callbacks("memory"),D.Callbacks("memory"),2],["resolve","done",D.Callbacks("once memory"),D.Callbacks("once memory"),0,"resolved"],["reject","fail",D.Callbacks("once memory"),D.Callbacks("once memory"),1,"rejected"]],b="pending",x={state:function(){return b},always:function(){return k.done(arguments).fail(arguments),this},catch:function(H){return x.then(null,H)},pipe:function(){var H=arguments;return D.Deferred(function(z){D.each(T,function(ae,ne){var ue=Et(H[ne[4]])&&H[ne[4]];k[ne[1]](function(){var Ce=ue&&ue.apply(this,arguments);Ce&&Et(Ce.promise)?Ce.promise().progress(z.notify).done(z.resolve).fail(z.reject):z[ne[0]+"With"](this,ue?[Ce]:arguments)})}),H=null}).promise()},then:function(H,z,ae){var ne=0;function ue(Ce,Fe,le,Ve){return function(){var Jt=this,tn=arguments,fn=function(){var sn,ec;if(!(Ce=ne&&(le!==ui&&(Jt=void 0,tn=[sn]),Fe.rejectWith(Jt,tn))}};Ce?eo():(D.Deferred.getErrorHook?eo.error=D.Deferred.getErrorHook():D.Deferred.getStackHook&&(eo.error=D.Deferred.getStackHook()),xt.setTimeout(eo))}}return D.Deferred(function(Ce){T[0][3].add(ue(0,Ce,Et(ae)?ae:ll,Ce.notifyWith)),T[1][3].add(ue(0,Ce,Et(H)?H:ll)),T[2][3].add(ue(0,Ce,Et(z)?z:ui))}).promise()},promise:function(H){return null!=H?D.extend(H,x):x}},k={};return D.each(T,function(H,z){var ae=z[2],ne=z[5];x[z[1]]=ae.add,ne&&ae.add(function(){b=ne},T[3-H][2].disable,T[3-H][3].disable,T[0][2].lock,T[0][3].lock),ae.add(z[3].fire),k[z[0]]=function(){return k[z[0]+"With"](this===k?void 0:this,arguments),this},k[z[0]+"With"]=ae.fireWith}),x.promise(k),y&&y.call(k,k),k},when:function(y){var T=arguments.length,b=T,x=Array(b),k=Ii.call(arguments),H=D.Deferred(),z=function(ae){return function(ne){x[ae]=this,k[ae]=arguments.length>1?Ii.call(arguments):ne,--T||H.resolveWith(x,k)}};if(T<=1&&(Ph(y,H.done(z(b)).resolve,H.reject,!T),"pending"===H.state()||Et(k[b]&&k[b].then)))return H.then();for(;b--;)Ph(k[b],z(b),H.reject);return H.promise()}});var P1=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;D.Deferred.exceptionHook=function(y,T){xt.console&&xt.console.warn&&y&&P1.test(y.name)&&xt.console.warn("jQuery.Deferred exception: "+y.message,y.stack,T)},D.readyException=function(y){xt.setTimeout(function(){throw y})};var Nh=D.Deferred();function Bp(){rt.removeEventListener("DOMContentLoaded",Bp),xt.removeEventListener("load",Bp),D.ready()}D.fn.ready=function(y){return Nh.then(y).catch(function(T){D.readyException(T)}),this},D.extend({isReady:!1,readyWait:1,ready:function(y){(!0===y?--D.readyWait:D.isReady)||(D.isReady=!0,!(!0!==y&&--D.readyWait>0)&&Nh.resolveWith(rt,[D]))}}),D.ready.then=Nh.then,"complete"===rt.readyState||"loading"!==rt.readyState&&!rt.documentElement.doScroll?xt.setTimeout(D.ready):(rt.addEventListener("DOMContentLoaded",Bp),xt.addEventListener("load",Bp));var Ui=function(y,T,b,x,k,H,z){var ae=0,ne=y.length,ue=null==b;if("object"===kr(b))for(ae in k=!0,b)Ui(y,T,ae,b[ae],!0,H,z);else if(void 0!==x&&(k=!0,Et(x)||(z=!0),ue&&(z?(T.call(y,x),T=null):(ue=T,T=function(Ce,Fe,le){return ue.call(D(Ce),le)})),T))for(;ae1,null,!0)},removeData:function(y){return this.each(function(){Nr.remove(this,y)})}}),D.extend({queue:function(y,T,b){var x;if(y)return x=gt.get(y,T=(T||"fx")+"queue"),b&&(!x||Array.isArray(b)?x=gt.access(y,T,D.makeArray(b)):x.push(b)),x||[]},dequeue:function(y,T){var b=D.queue(y,T=T||"fx"),x=b.length,k=b.shift(),H=D._queueHooks(y,T);"inprogress"===k&&(k=b.shift(),x--),k&&("fx"===T&&b.unshift("inprogress"),delete H.stop,k.call(y,function(){D.dequeue(y,T)},H)),!x&&H&&H.empty.fire()},_queueHooks:function(y,T){var b=T+"queueHooks";return gt.get(y,b)||gt.access(y,b,{empty:D.Callbacks("once memory").add(function(){gt.remove(y,[T+"queue",b])})})}}),D.fn.extend({queue:function(y,T){var b=2;return"string"!=typeof y&&(T=y,y="fx",b--),arguments.length\x20\t\r\n\f]*)/i,Gh=/^$|^module$|\/(?:java|ecma)script/i;T=rt.createDocumentFragment().appendChild(rt.createElement("div")),(b=rt.createElement("input")).setAttribute("type","radio"),b.setAttribute("checked","checked"),b.setAttribute("name","t"),T.appendChild(b),$t.checkClone=T.cloneNode(!0).cloneNode(!0).lastChild.checked,T.innerHTML="",$t.noCloneChecked=!!T.cloneNode(!0).lastChild.defaultValue,T.innerHTML="",$t.option=!!T.lastChild;var mi={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ji(y,T){var b;return b=typeof y.getElementsByTagName<"u"?y.getElementsByTagName(T||"*"):typeof y.querySelectorAll<"u"?y.querySelectorAll(T||"*"):[],void 0===T||T&&Dn(y,T)?D.merge([y],b):b}function c0(y,T){for(var b=0,x=y.length;b",""]);var u0=/<|&#?\w+;/;function G1(y,T,b,x,k){for(var H,z,ae,ne,ue,Ce,Fe=T.createDocumentFragment(),le=[],Ve=0,Jt=y.length;Ve-1)k&&k.push(H);else if(ue=ru(H),z=ji(Fe.appendChild(H),"script"),ue&&c0(z),b)for(Ce=0;H=z[Ce++];)Gh.test(H.type||"")&&b.push(H);return Fe}var d0=/^([^.]*)(?:\.(.+)|)/;function bd(){return!0}function ou(){return!1}function Vp(y,T,b,x,k,H){var z,ae;if("object"==typeof T){for(ae in"string"!=typeof b&&(x=x||b,b=void 0),T)Vp(y,ae,b,x,T[ae],H);return y}if(null==x&&null==k?(k=b,x=b=void 0):null==k&&("string"==typeof b?(k=x,x=void 0):(k=x,x=b,b=void 0)),!1===k)k=ou;else if(!k)return y;return 1===H&&(z=k,k=function(ne){return D().off(ne),z.apply(this,arguments)},k.guid=z.guid||(z.guid=D.guid++)),y.each(function(){D.event.add(this,T,k,x,b)})}function Ds(y,T,b){b?(gt.set(y,T,!1),D.event.add(y,T,{namespace:!1,handler:function(x){var k,H=gt.get(this,T);if(1&x.isTrigger&&this[T]){if(H)(D.event.special[T]||{}).delegateType&&x.stopPropagation();else if(H=Ii.call(arguments),gt.set(this,T,H),this[T](),k=gt.get(this,T),gt.set(this,T,!1),H!==k)return x.stopImmediatePropagation(),x.preventDefault(),k}else H&&(gt.set(this,T,D.event.trigger(H[0],H.slice(1),this)),x.stopPropagation(),x.isImmediatePropagationStopped=bd)}})):void 0===gt.get(y,T)&&D.event.add(y,T,bd)}D.event={global:{},add:function(y,T,b,x,k){var H,z,ae,ne,ue,Ce,Fe,le,Ve,Jt,tn,fn=gt.get(y);if(Td(y))for(b.handler&&(b=(H=b).handler,k=H.selector),k&&D.find.matchesSelector(Zl,k),b.guid||(b.guid=D.guid++),(ne=fn.events)||(ne=fn.events=Object.create(null)),(z=fn.handle)||(z=fn.handle=function(eo){return typeof D<"u"&&D.event.triggered!==eo.type?D.event.dispatch.apply(y,arguments):void 0}),ue=(T=(T||"").match(tr)||[""]).length;ue--;)Ve=tn=(ae=d0.exec(T[ue])||[])[1],Jt=(ae[2]||"").split(".").sort(),Ve&&(Fe=D.event.special[Ve]||{},Fe=D.event.special[Ve=(k?Fe.delegateType:Fe.bindType)||Ve]||{},Ce=D.extend({type:Ve,origType:tn,data:x,handler:b,guid:b.guid,selector:k,needsContext:k&&D.expr.match.needsContext.test(k),namespace:Jt.join(".")},H),(le=ne[Ve])||((le=ne[Ve]=[]).delegateCount=0,(!Fe.setup||!1===Fe.setup.call(y,x,Jt,z))&&y.addEventListener&&y.addEventListener(Ve,z)),Fe.add&&(Fe.add.call(y,Ce),Ce.handler.guid||(Ce.handler.guid=b.guid)),k?le.splice(le.delegateCount++,0,Ce):le.push(Ce),D.event.global[Ve]=!0)},remove:function(y,T,b,x,k){var H,z,ae,ne,ue,Ce,Fe,le,Ve,Jt,tn,fn=gt.hasData(y)&>.get(y);if(fn&&(ne=fn.events)){for(ue=(T=(T||"").match(tr)||[""]).length;ue--;)if(Ve=tn=(ae=d0.exec(T[ue])||[])[1],Jt=(ae[2]||"").split(".").sort(),Ve){for(Fe=D.event.special[Ve]||{},le=ne[Ve=(x?Fe.delegateType:Fe.bindType)||Ve]||[],ae=ae[2]&&new RegExp("(^|\\.)"+Jt.join("\\.(?:.*\\.|)")+"(\\.|$)"),z=H=le.length;H--;)Ce=le[H],(k||tn===Ce.origType)&&(!b||b.guid===Ce.guid)&&(!ae||ae.test(Ce.namespace))&&(!x||x===Ce.selector||"**"===x&&Ce.selector)&&(le.splice(H,1),Ce.selector&&le.delegateCount--,Fe.remove&&Fe.remove.call(y,Ce));z&&!le.length&&((!Fe.teardown||!1===Fe.teardown.call(y,Jt,fn.handle))&&D.removeEvent(y,Ve,fn.handle),delete ne[Ve])}else for(Ve in ne)D.event.remove(y,Ve+T[ue],b,x,!0);D.isEmptyObject(ne)&>.remove(y,"handle events")}},dispatch:function(y){var T,b,x,k,H,z,ae=new Array(arguments.length),ne=D.event.fix(y),ue=(gt.get(this,"events")||Object.create(null))[ne.type]||[],Ce=D.event.special[ne.type]||{};for(ae[0]=ne,T=1;T=1))for(;ue!==this;ue=ue.parentNode||this)if(1===ue.nodeType&&("click"!==y.type||!0!==ue.disabled)){for(H=[],z={},b=0;b-1:D.find(k,this,null,[ue]).length),z[k]&&H.push(x);H.length&&ae.push({elem:ue,handlers:H})}return ue=this,ne\s*$/g;function Bh(y,T){return Dn(y,"table")&&Dn(11!==T.nodeType?T:T.firstChild,"tr")&&D(y).children("tbody")[0]||y}function h0(y){return y.type=(null!==y.getAttribute("type"))+"/"+y.type,y}function Wa(y){return"true/"===(y.type||"").slice(0,5)?y.type=y.type.slice(5):y.removeAttribute("type"),y}function g0(y,T){var b,x,k,z,ae,ne;if(1===T.nodeType){if(gt.hasData(y)&&(ne=gt.get(y).events))for(k in gt.remove(T,"handle events"),ne)for(b=0,x=ne[k].length;b1&&"string"==typeof Ve&&!$t.checkClone&&p0.test(Ve))return y.each(function(tn){var fn=y.eq(tn);Jt&&(T[0]=Ve.call(this,tn,fn.html())),Xl(fn,T,b,x)});if(Fe&&(H=(k=G1(T,y[0].ownerDocument,!1,y,x)).firstChild,1===k.childNodes.length&&(k=H),H||x)){for(ae=(z=D.map(ji(k,"script"),h0)).length;Ce0&&c0(z,!ne&&ji(y,"script")),ae},cleanData:function(y){for(var T,b,x,k=D.event.special,H=0;void 0!==(b=y[H]);H++)if(Td(b)){if(T=b[gt.expando]){if(T.events)for(x in T.events)k[x]?D.event.remove(b,x):D.removeEvent(b,x,T.handle);b[gt.expando]=void 0}b[Nr.expando]&&(b[Nr.expando]=void 0)}}}),D.fn.extend({detach:function(y){return Yh(this,y,!0)},remove:function(y){return Yh(this,y)},text:function(y){return Ui(this,function(T){return void 0===T?D.text(this):this.empty().each(function(){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&(this.textContent=T)})},null,y,arguments.length)},append:function(){return Xl(this,arguments,function(y){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Bh(this,y).appendChild(y)})},prepend:function(){return Xl(this,arguments,function(y){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var T=Bh(this,y);T.insertBefore(y,T.firstChild)}})},before:function(){return Xl(this,arguments,function(y){this.parentNode&&this.parentNode.insertBefore(y,this)})},after:function(){return Xl(this,arguments,function(y){this.parentNode&&this.parentNode.insertBefore(y,this.nextSibling)})},empty:function(){for(var y,T=0;null!=(y=this[T]);T++)1===y.nodeType&&(D.cleanData(ji(y,!1)),y.textContent="");return this},clone:function(y,T){return y=y??!1,T=T??y,this.map(function(){return D.clone(this,y,T)})},html:function(y){return Ui(this,function(T){var b=this[0]||{},x=0,k=this.length;if(void 0===T&&1===b.nodeType)return b.innerHTML;if("string"==typeof T&&!_2.test(T)&&!mi[(Hh.exec(T)||["",""])[1].toLowerCase()]){T=D.htmlPrefilter(T);try{for(;x=0&&(ne+=Math.max(0,Math.ceil(y["offset"+T[0].toUpperCase()+T.slice(1)]-H-ne-ae-.5))||0),ne+ue}function Ql(y,T,b){var x=$p(y),H=(!$t.boxSizingReliable()||b)&&"border-box"===D.css(y,"boxSizing",!1,x),z=H,ae=Ad(y,T,x),ne="offset"+T[0].toUpperCase()+T.slice(1);if(zp.test(ae)){if(!b)return ae;ae="auto"}return(!$t.boxSizingReliable()&&H||!$t.reliableTrDimensions()&&Dn(y,"tr")||"auto"===ae||!parseFloat(ae)&&"inline"===D.css(y,"display",!1,x))&&y.getClientRects().length&&(H="border-box"===D.css(y,"boxSizing",!1,x),(z=ne in y)&&(ae=y[ne])),(ae=parseFloat(ae)||0)+zh(y,T,b||(H?"border":"content"),z,x,ae)+"px"}function Or(y,T,b,x,k){return new Or.prototype.init(y,T,b,x,k)}D.extend({cssHooks:{opacity:{get:function(y,T){if(T){var b=Ad(y,"opacity");return""===b?"1":b}}}},cssNumber:{animationIterationCount:!0,aspectRatio:!0,borderImageSlice:!0,columnCount:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,scale:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeMiterlimit:!0,strokeOpacity:!0},cssProps:{},style:function(y,T,b,x){if(y&&3!==y.nodeType&&8!==y.nodeType&&y.style){var k,H,z,ae=$n(T),ne=Oi.test(T),ue=y.style;if(ne||(T=Wi(ae)),z=D.cssHooks[T]||D.cssHooks[ae],void 0===b)return z&&"get"in z&&void 0!==(k=z.get(y,!1,x))?k:ue[T];if("string"==(H=typeof b)&&(k=Cd.exec(b))&&k[1]&&(b=Yp(y,T,k),H="number"),null==b||b!=b)return;"number"===H&&!ne&&(b+=k&&k[3]||(D.cssNumber[ae]?"":"px")),!$t.clearCloneStyle&&""===b&&0===T.indexOf("background")&&(ue[T]="inherit"),(!z||!("set"in z)||void 0!==(b=z.set(y,b,x)))&&(ne?ue.setProperty(T,b):ue[T]=b)}},css:function(y,T,b,x){var k,H,z,ae=$n(T);return Oi.test(T)||(T=Wi(ae)),(z=D.cssHooks[T]||D.cssHooks[ae])&&"get"in z&&(k=z.get(y,!0,b)),void 0===k&&(k=Ad(y,T,x)),"normal"===k&&T in Y1&&(k=Y1[T]),""===b||b?(H=parseFloat(k),!0===b||isFinite(H)?H||0:k):k}}),D.each(["height","width"],function(y,T){D.cssHooks[T]={get:function(b,x,k){if(x)return!au.test(D.css(b,"display"))||b.getClientRects().length&&b.getBoundingClientRect().width?Ql(b,T,k):y0(b,Ka,function(){return Ql(b,T,k)})},set:function(b,x,k){var H,z=$p(b),ae=!$t.scrollboxSize()&&"absolute"===z.position,ue=(ae||k)&&"border-box"===D.css(b,"boxSizing",!1,z),Ce=k?zh(b,T,k,ue,z):0;return ue&&ae&&(Ce-=Math.ceil(b["offset"+T[0].toUpperCase()+T.slice(1)]-parseFloat(z[T])-zh(b,T,"border",!1,z)-.5)),Ce&&(H=Cd.exec(x))&&"px"!==(H[3]||"px")&&(b.style[T]=x,x=D.css(b,T)),v0(0,x,Ce)}}}),D.cssHooks.marginLeft=Vh($t.reliableMarginLeft,function(y,T){if(T)return(parseFloat(Ad(y,"marginLeft"))||y.getBoundingClientRect().left-y0(y,{marginLeft:0},function(){return y.getBoundingClientRect().left}))+"px"}),D.each({margin:"",padding:"",border:"Width"},function(y,T){D.cssHooks[y+T]={expand:function(b){for(var x=0,k={},H="string"==typeof b?b.split(" "):[b];x<4;x++)k[y+da[x]+T]=H[x]||H[x-2]||H[0];return k}},"margin"!==y&&(D.cssHooks[y+T].set=v0)}),D.fn.extend({css:function(y,T){return Ui(this,function(b,x,k){var H,z,ae={},ne=0;if(Array.isArray(x)){for(H=$p(b),z=x.length;ne1)}}),D.Tween=Or,Or.prototype={constructor:Or,init:function(y,T,b,x,k,H){this.elem=y,this.prop=b,this.easing=k||D.easing._default,this.options=T,this.start=this.now=this.cur(),this.end=x,this.unit=H||(D.cssNumber[b]?"":"px")},cur:function(){var y=Or.propHooks[this.prop];return y&&y.get?y.get(this):Or.propHooks._default.get(this)},run:function(y){var T,b=Or.propHooks[this.prop];return this.pos=T=this.options.duration?D.easing[this.easing](y,this.options.duration*y,0,1,this.options.duration):y,this.now=(this.end-this.start)*T+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),b&&b.set?b.set(this):Or.propHooks._default.set(this),this}},Or.prototype.init.prototype=Or.prototype,Or.propHooks={_default:{get:function(y){var T;return 1!==y.elem.nodeType||null!=y.elem[y.prop]&&null==y.elem.style[y.prop]?y.elem[y.prop]:(T=D.css(y.elem,y.prop,""))&&"auto"!==T?T:0},set:function(y){D.fx.step[y.prop]?D.fx.step[y.prop](y):1!==y.elem.nodeType||!D.cssHooks[y.prop]&&null==y.elem.style[Wi(y.prop)]?y.elem[y.prop]=y.now:D.style(y.elem,y.prop,y.now+y.unit)}}},Or.propHooks.scrollTop=Or.propHooks.scrollLeft={set:function(y){y.elem.nodeType&&y.elem.parentNode&&(y.elem[y.prop]=y.now)}},D.easing={linear:function(y){return y},swing:function(y){return.5-Math.cos(y*Math.PI)/2},_default:"swing"},D.fx=Or.prototype.init,D.fx.step={};var Jr,wd,$h=/^(?:toggle|show|hide)$/,T0=/queueHooks$/;function Uh(){wd&&(!1===rt.hidden&&xt.requestAnimationFrame?xt.requestAnimationFrame(Uh):xt.setTimeout(Uh,D.fx.interval),D.fx.tick())}function C0(){return xt.setTimeout(function(){Jr=void 0}),Jr=Date.now()}function Up(y,T){var b,x=0,k={height:y};for(T=T?1:0;x<4;x+=2-T)k["margin"+(b=da[x])]=k["padding"+b]=y;return T&&(k.opacity=k.width=y),k}function jh(y,T,b){for(var x,k=(Po.tweeners[T]||[]).concat(Po.tweeners["*"]),H=0,z=k.length;H1)},removeAttr:function(y){return this.each(function(){D.removeAttr(this,y)})}}),D.extend({attr:function(y,T,b){var x,k,H=y.nodeType;if(3!==H&&8!==H&&2!==H)return typeof y.getAttribute>"u"?D.prop(y,T,b):((1!==H||!D.isXMLDoc(y))&&(k=D.attrHooks[T.toLowerCase()]||(D.expr.match.bool.test(T)?di:void 0)),void 0!==b?null===b?void D.removeAttr(y,T):k&&"set"in k&&void 0!==(x=k.set(y,b,T))?x:(y.setAttribute(T,b+""),b):k&&"get"in k&&null!==(x=k.get(y,T))?x:(x=D.find.attr(y,T))??void 0)},attrHooks:{type:{set:function(y,T){if(!$t.radioValue&&"radio"===T&&Dn(y,"input")){var b=y.value;return y.setAttribute("type",T),b&&(y.value=b),T}}}},removeAttr:function(y,T){var b,x=0,k=T&&T.match(tr);if(k&&1===y.nodeType)for(;b=k[x++];)y.removeAttribute(b)}}),di={set:function(y,T,b){return!1===T?D.removeAttr(y,b):y.setAttribute(b,b),b}},D.each(D.expr.match.bool.source.match(/\w+/g),function(y,T){var b=Za[T]||D.find.attr;Za[T]=function(x,k,H){var z,ae,ne=k.toLowerCase();return H||(ae=Za[ne],Za[ne]=z,z=null!=b(x,k,H)?ne:null,Za[ne]=ae),z}});var z1=/^(?:input|select|textarea|button)$/i,Wh=/^(?:a|area)$/i;function cn(y){return(y.match(tr)||[]).join(" ")}function Es(y){return y.getAttribute&&y.getAttribute("class")||""}function Un(y){return Array.isArray(y)?y:"string"==typeof y&&y.match(tr)||[]}D.fn.extend({prop:function(y,T){return Ui(this,D.prop,y,T,arguments.length>1)},removeProp:function(y){return this.each(function(){delete this[D.propFix[y]||y]})}}),D.extend({prop:function(y,T,b){var x,k,H=y.nodeType;if(3!==H&&8!==H&&2!==H)return(1!==H||!D.isXMLDoc(y))&&(k=D.propHooks[T=D.propFix[T]||T]),void 0!==b?k&&"set"in k&&void 0!==(x=k.set(y,b,T))?x:y[T]=b:k&&"get"in k&&null!==(x=k.get(y,T))?x:y[T]},propHooks:{tabIndex:{get:function(y){var T=D.find.attr(y,"tabindex");return T?parseInt(T,10):z1.test(y.nodeName)||Wh.test(y.nodeName)&&y.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),$t.optSelected||(D.propHooks.selected={get:function(y){return null},set:function(y){}}),D.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){D.propFix[this.toLowerCase()]=this}),D.fn.extend({addClass:function(y){var T,b,x,k,H,z;return Et(y)?this.each(function(ae){D(this).addClass(y.call(this,ae,Es(this)))}):(T=Un(y)).length?this.each(function(){if(x=Es(this),b=1===this.nodeType&&" "+cn(x)+" "){for(H=0;H-1;)b=b.replace(" "+k+" "," ");z=cn(b),x!==z&&this.setAttribute("class",z)}}):this:this.attr("class","")},toggleClass:function(y,T){var b,x,k,H,z=typeof y,ae="string"===z||Array.isArray(y);return Et(y)?this.each(function(ne){D(this).toggleClass(y.call(this,ne,Es(this),T),T)}):"boolean"==typeof T&&ae?T?this.addClass(y):this.removeClass(y):(b=Un(y),this.each(function(){if(ae)for(H=D(this),k=0;k-1)return!0;return!1}});var qh=/\r/g;D.fn.extend({val:function(y){var T,b,x,k=this[0];return arguments.length?(x=Et(y),this.each(function(H){var z;1===this.nodeType&&(null==(z=x?y.call(this,H,D(this).val()):y)?z="":"number"==typeof z?z+="":Array.isArray(z)&&(z=D.map(z,function(ae){return null==ae?"":ae+""})),(!(T=D.valHooks[this.type]||D.valHooks[this.nodeName.toLowerCase()])||!("set"in T)||void 0===T.set(this,z,"value"))&&(this.value=z))})):k?(T=D.valHooks[k.type]||D.valHooks[k.nodeName.toLowerCase()])&&"get"in T&&void 0!==(b=T.get(k,"value"))?b:"string"==typeof(b=k.value)?b.replace(qh,""):b??"":void 0}}),D.extend({valHooks:{option:{get:function(y){return D.find.attr(y,"value")??cn(D.text(y))}},select:{get:function(y){var T,b,x,k=y.options,H=y.selectedIndex,z="select-one"===y.type,ae=z?null:[],ne=z?H+1:k.length;for(x=H<0?ne:z?H:0;x-1)&&(b=!0);return b||(y.selectedIndex=-1),H}}}}),D.each(["radio","checkbox"],function(){D.valHooks[this]={set:function(y,T){if(Array.isArray(T))return y.checked=D.inArray(D(y).val(),T)>-1}},$t.checkOn||(D.valHooks[this].get=function(y){return null===y.getAttribute("value")?"on":y.value})});var xd=xt.location,pn={guid:Date.now()},Ct=/\?/;D.parseXML=function(y){var T,b;if(!y||"string"!=typeof y)return null;try{T=(new xt.DOMParser).parseFromString(y,"text/xml")}catch{}return b=T&&T.getElementsByTagName("parsererror")[0],(!T||b)&&D.error("Invalid XML: "+(b?D.map(b.childNodes,function(x){return x.textContent}).join("\n"):y)),T};var Fd=/^(?:focusinfocus|focusoutblur)$/,jp=function(y){y.stopPropagation()};D.extend(D.event,{trigger:function(y,T,b,x){var k,H,z,ae,ne,ue,Ce,Fe,le=[b||rt],Ve=Qr.call(y,"type")?y.type:y,Jt=Qr.call(y,"namespace")?y.namespace.split("."):[];if(H=Fe=z=b=b||rt,3!==b.nodeType&&8!==b.nodeType&&!Fd.test(Ve+D.event.triggered)&&(Ve.indexOf(".")>-1&&(Jt=Ve.split("."),Ve=Jt.shift(),Jt.sort()),ne=Ve.indexOf(":")<0&&"on"+Ve,(y=y[D.expando]?y:new D.Event(Ve,"object"==typeof y&&y)).isTrigger=x?2:3,y.namespace=Jt.join("."),y.rnamespace=y.namespace?new RegExp("(^|\\.)"+Jt.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,y.result=void 0,y.target||(y.target=b),T=null==T?[y]:D.makeArray(T,[y]),Ce=D.event.special[Ve]||{},x||!Ce.trigger||!1!==Ce.trigger.apply(b,T))){if(!x&&!Ce.noBubble&&!er(b)){for(Fd.test((ae=Ce.delegateType||Ve)+Ve)||(H=H.parentNode);H;H=H.parentNode)le.push(H),z=H;z===(b.ownerDocument||rt)&&le.push(z.defaultView||z.parentWindow||xt)}for(k=0;(H=le[k++])&&!y.isPropagationStopped();)Fe=H,y.type=k>1?ae:Ce.bindType||Ve,(ue=(gt.get(H,"events")||Object.create(null))[y.type]&>.get(H,"handle"))&&ue.apply(H,T),(ue=ne&&H[ne])&&ue.apply&&Td(H)&&(y.result=ue.apply(H,T),!1===y.result&&y.preventDefault());return y.type=Ve,!x&&!y.isDefaultPrevented()&&(!Ce._default||!1===Ce._default.apply(le.pop(),T))&&Td(b)&&ne&&Et(b[Ve])&&!er(b)&&((z=b[ne])&&(b[ne]=null),D.event.triggered=Ve,y.isPropagationStopped()&&Fe.addEventListener(Ve,jp),b[Ve](),y.isPropagationStopped()&&Fe.removeEventListener(Ve,jp),D.event.triggered=void 0,z&&(b[ne]=z)),y.result}},simulate:function(y,T,b){var x=D.extend(new D.Event,b,{type:y,isSimulated:!0});D.event.trigger(x,null,T)}}),D.fn.extend({trigger:function(y,T){return this.each(function(){D.event.trigger(y,T,this)})},triggerHandler:function(y,T){var b=this[0];if(b)return D.event.trigger(y,T,b,!0)}});var Kh=/\[\]$/,Zh=/\r?\n/g,Ae=/^(?:submit|button|image|reset|file)$/i,Wp=/^(?:input|select|textarea|keygen)/i;function jt(y,T,b,x){var k;if(Array.isArray(T))D.each(T,function(H,z){b||Kh.test(y)?x(y,z):jt(y+"["+("object"==typeof z&&null!=z?H:"")+"]",z,b,x)});else if(b||"object"!==kr(T))x(y,T);else for(k in T)jt(y+"["+k+"]",T[k],b,x)}D.param=function(y,T){var b,x=[],k=function(H,z){var ae=Et(z)?z():z;x[x.length]=encodeURIComponent(H)+"="+encodeURIComponent(ae??"")};if(null==y)return"";if(Array.isArray(y)||y.jquery&&!D.isPlainObject(y))D.each(y,function(){k(this.name,this.value)});else for(b in y)jt(b,y[b],T,k);return x.join("&")},D.fn.extend({serialize:function(){return D.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var y=D.prop(this,"elements");return y?D.makeArray(y):this}).filter(function(){var y=this.type;return this.name&&!D(this).is(":disabled")&&Wp.test(this.nodeName)&&!Ae.test(y)&&(this.checked||!ul.test(y))}).map(function(y,T){var b=D(this).val();return null==b?null:Array.isArray(b)?D.map(b,function(x){return{name:T.name,value:x.replace(Zh,"\r\n")}}):{name:T.name,value:b.replace(Zh,"\r\n")}}).get()}});var Rn=/%20/g,A0=/#.*$/,qp=/([?&])_=[^&]*/,S0=/^(.*?):[ \t]*([^\r\n]*)$/gm,_o=/^(?:GET|HEAD)$/,v2=/^\/\//,J={},de={},Re="*/".concat("*"),ct=rt.createElement("a");function ai(y){return function(T,b){"string"!=typeof T&&(b=T,T="*");var x,k=0,H=T.toLowerCase().match(tr)||[];if(Et(b))for(;x=H[k++];)"+"===x[0]?(x=x.slice(1)||"*",(y[x]=y[x]||[]).unshift(b)):(y[x]=y[x]||[]).push(b)}}function an(y,T,b,x){var k={},H=y===de;function z(ae){var ne;return k[ae]=!0,D.each(y[ae]||[],function(ue,Ce){var Fe=Ce(T,b,x);return"string"!=typeof Fe||H||k[Fe]?H?!(ne=Fe):void 0:(T.dataTypes.unshift(Fe),z(Fe),!1)}),ne}return z(T.dataTypes[0])||!k["*"]&&z("*")}function yi(y,T){var b,x,k=D.ajaxSettings.flatOptions||{};for(b in T)void 0!==T[b]&&((k[b]?y:x||(x={}))[b]=T[b]);return x&&D.extend(!0,y,x),y}ct.href=xd.href,D.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:xd.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(xd.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Re,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":D.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(y,T){return T?yi(yi(y,D.ajaxSettings),T):yi(D.ajaxSettings,y)},ajaxPrefilter:ai(J),ajaxTransport:ai(de),ajax:function(y,T){"object"==typeof y&&(T=y,y=void 0);var b,x,k,H,z,ae,ne,ue,Ce,Fe,le=D.ajaxSetup({},T=T||{}),Ve=le.context||le,Jt=le.context&&(Ve.nodeType||Ve.jquery)?D(Ve):D.event,tn=D.Deferred(),fn=D.Callbacks("once memory"),eo=le.statusCode||{},sn={},ec={},tc="canceled",An={readyState:0,getResponseHeader:function(Sn){var Ti;if(ne){if(!H)for(H={};Ti=S0.exec(k);)H[Ti[1].toLowerCase()+" "]=(H[Ti[1].toLowerCase()+" "]||[]).concat(Ti[2]);Ti=H[Sn.toLowerCase()+" "]}return null==Ti?null:Ti.join(", ")},getAllResponseHeaders:function(){return ne?k:null},setRequestHeader:function(Sn,Ti){return null==ne&&(Sn=ec[Sn.toLowerCase()]=ec[Sn.toLowerCase()]||Sn,sn[Sn]=Ti),this},overrideMimeType:function(Sn){return null==ne&&(le.mimeType=Sn),this},statusCode:function(Sn){var Ti;if(Sn)if(ne)An.always(Sn[An.status]);else for(Ti in Sn)eo[Ti]=[eo[Ti],Sn[Ti]];return this},abort:function(Sn){var Ti=Sn||tc;return b&&b.abort(Ti),Is(0,Ti),this}};if(tn.promise(An),le.url=((y||le.url||xd.href)+"").replace(v2,xd.protocol+"//"),le.type=T.method||T.type||le.method||le.type,le.dataTypes=(le.dataType||"*").toLowerCase().match(tr)||[""],null==le.crossDomain){ae=rt.createElement("a");try{ae.href=le.url,ae.href=ae.href,le.crossDomain=ct.protocol+"//"+ct.host!=ae.protocol+"//"+ae.host}catch{le.crossDomain=!0}}if(le.data&&le.processData&&"string"!=typeof le.data&&(le.data=D.param(le.data,le.traditional)),an(J,le,T,An),ne)return An;for(Ce in(ue=D.event&&le.global)&&0==D.active++&&D.event.trigger("ajaxStart"),le.type=le.type.toUpperCase(),le.hasContent=!_o.test(le.type),x=le.url.replace(A0,""),le.hasContent?le.data&&le.processData&&0===(le.contentType||"").indexOf("application/x-www-form-urlencoded")&&(le.data=le.data.replace(Rn,"+")):(Fe=le.url.slice(x.length),le.data&&(le.processData||"string"==typeof le.data)&&(x+=(Ct.test(x)?"&":"?")+le.data,delete le.data),!1===le.cache&&(x=x.replace(qp,"$1"),Fe=(Ct.test(x)?"&":"?")+"_="+pn.guid+++Fe),le.url=x+Fe),le.ifModified&&(D.lastModified[x]&&An.setRequestHeader("If-Modified-Since",D.lastModified[x]),D.etag[x]&&An.setRequestHeader("If-None-Match",D.etag[x])),(le.data&&le.hasContent&&!1!==le.contentType||T.contentType)&&An.setRequestHeader("Content-Type",le.contentType),An.setRequestHeader("Accept",le.dataTypes[0]&&le.accepts[le.dataTypes[0]]?le.accepts[le.dataTypes[0]]+("*"!==le.dataTypes[0]?", "+Re+"; q=0.01":""):le.accepts["*"]),le.headers)An.setRequestHeader(Ce,le.headers[Ce]);if(le.beforeSend&&(!1===le.beforeSend.call(Ve,An,le)||ne))return An.abort();if(tc="abort",fn.add(le.complete),An.done(le.success),An.fail(le.error),b=an(de,le,T,An)){if(An.readyState=1,ue&&Jt.trigger("ajaxSend",[An,le]),ne)return An;le.async&&le.timeout>0&&(z=xt.setTimeout(function(){An.abort("timeout")},le.timeout));try{ne=!1,b.send(sn,Is)}catch(Sn){if(ne)throw Sn;Is(-1,Sn)}}else Is(-1,"No Transport");function Is(Sn,Ti,Xh,$1){var pl,Zp,No,ha,su,Qe=Ti;ne||(ne=!0,z&&xt.clearTimeout(z),b=void 0,k=$1||"",An.readyState=Sn>0?4:0,pl=Sn>=200&&Sn<300||304===Sn,Xh&&(ha=function ir(y,T,b){for(var x,k,H,z,ae=y.contents,ne=y.dataTypes;"*"===ne[0];)ne.shift(),void 0===x&&(x=y.mimeType||T.getResponseHeader("Content-Type"));if(x)for(k in ae)if(ae[k]&&ae[k].test(x)){ne.unshift(k);break}if(ne[0]in b)H=ne[0];else{for(k in b){if(!ne[0]||y.converters[k+" "+ne[0]]){H=k;break}z||(z=k)}H=H||z}if(H)return H!==ne[0]&&ne.unshift(H),b[H]}(le,An,Xh)),!pl&&D.inArray("script",le.dataTypes)>-1&&D.inArray("json",le.dataTypes)<0&&(le.converters["text script"]=function(){}),ha=function wr(y,T,b,x){var k,H,z,ae,ne,ue={},Ce=y.dataTypes.slice();if(Ce[1])for(z in y.converters)ue[z.toLowerCase()]=y.converters[z];for(H=Ce.shift();H;)if(y.responseFields[H]&&(b[y.responseFields[H]]=T),!ne&&x&&y.dataFilter&&(T=y.dataFilter(T,y.dataType)),ne=H,H=Ce.shift())if("*"===H)H=ne;else if("*"!==ne&&ne!==H){if(!(z=ue[ne+" "+H]||ue["* "+H]))for(k in ue)if((ae=k.split(" "))[1]===H&&(z=ue[ne+" "+ae[0]]||ue["* "+ae[0]])){!0===z?z=ue[k]:!0!==ue[k]&&(H=ae[0],Ce.unshift(ae[1]));break}if(!0!==z)if(z&&y.throws)T=z(T);else try{T=z(T)}catch(Fe){return{state:"parsererror",error:z?Fe:"No conversion from "+ne+" to "+H}}}return{state:"success",data:T}}(le,ha,An,pl),pl?(le.ifModified&&((su=An.getResponseHeader("Last-Modified"))&&(D.lastModified[x]=su),(su=An.getResponseHeader("etag"))&&(D.etag[x]=su)),204===Sn||"HEAD"===le.type?Qe="nocontent":304===Sn?Qe="notmodified":(Qe=ha.state,Zp=ha.data,pl=!(No=ha.error))):(No=Qe,(Sn||!Qe)&&(Qe="error",Sn<0&&(Sn=0))),An.status=Sn,An.statusText=(Ti||Qe)+"",pl?tn.resolveWith(Ve,[Zp,Qe,An]):tn.rejectWith(Ve,[An,Qe,No]),An.statusCode(eo),eo=void 0,ue&&Jt.trigger(pl?"ajaxSuccess":"ajaxError",[An,le,pl?Zp:No]),fn.fireWith(Ve,[An,Qe]),ue&&(Jt.trigger("ajaxComplete",[An,le]),--D.active||D.event.trigger("ajaxStop")))}return An},getJSON:function(y,T,b){return D.get(y,T,b,"json")},getScript:function(y,T){return D.get(y,void 0,T,"script")}}),D.each(["get","post"],function(y,T){D[T]=function(b,x,k,H){return Et(x)&&(H=H||k,k=x,x=void 0),D.ajax(D.extend({url:b,type:T,dataType:H,data:x,success:k},D.isPlainObject(b)&&b))}}),D.ajaxPrefilter(function(y){var T;for(T in y.headers)"content-type"===T.toLowerCase()&&(y.contentType=y.headers[T]||"")}),D._evalUrl=function(y,T,b){return D.ajax({url:y,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(x){D.globalEval(x,T,b)}})},D.fn.extend({wrapAll:function(y){var T;return this[0]&&(Et(y)&&(y=y.call(this[0])),T=D(y,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&T.insertBefore(this[0]),T.map(function(){for(var b=this;b.firstElementChild;)b=b.firstElementChild;return b}).append(this)),this},wrapInner:function(y){return Et(y)?this.each(function(T){D(this).wrapInner(y.call(this,T))}):this.each(function(){var T=D(this),b=T.contents();b.length?b.wrapAll(y):T.append(y)})},wrap:function(y){var T=Et(y);return this.each(function(b){D(this).wrapAll(T?y.call(this,b):y)})},unwrap:function(y){return this.parent(y).not("body").each(function(){D(this).replaceWith(this.childNodes)}),this}}),D.expr.pseudos.hidden=function(y){return!D.expr.pseudos.visible(y)},D.expr.pseudos.visible=function(y){return!!(y.offsetWidth||y.offsetHeight||y.getClientRects().length)},D.ajaxSettings.xhr=function(){try{return new xt.XMLHttpRequest}catch{}};var _i={0:200,1223:204},xr=D.ajaxSettings.xhr();$t.cors=!!xr&&"withCredentials"in xr,$t.ajax=xr=!!xr,D.ajaxTransport(function(y){var T,b;if($t.cors||xr&&!y.crossDomain)return{send:function(x,k){var H,z=y.xhr();if(z.open(y.type,y.url,y.async,y.username,y.password),y.xhrFields)for(H in y.xhrFields)z[H]=y.xhrFields[H];for(H in y.mimeType&&z.overrideMimeType&&z.overrideMimeType(y.mimeType),!y.crossDomain&&!x["X-Requested-With"]&&(x["X-Requested-With"]="XMLHttpRequest"),x)z.setRequestHeader(H,x[H]);T=function(ae){return function(){T&&(T=b=z.onload=z.onerror=z.onabort=z.ontimeout=z.onreadystatechange=null,"abort"===ae?z.abort():"error"===ae?"number"!=typeof z.status?k(0,"error"):k(z.status,z.statusText):k(_i[z.status]||z.status,z.statusText,"text"!==(z.responseType||"text")||"string"!=typeof z.responseText?{binary:z.response}:{text:z.responseText},z.getAllResponseHeaders()))}},z.onload=T(),b=z.onerror=z.ontimeout=T("error"),void 0!==z.onabort?z.onabort=b:z.onreadystatechange=function(){4===z.readyState&&xt.setTimeout(function(){T&&b()})},T=T("abort");try{z.send(y.hasContent&&y.data||null)}catch(ae){if(T)throw ae}},abort:function(){T&&T()}}}),D.ajaxPrefilter(function(y){y.crossDomain&&(y.contents.script=!1)}),D.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(y){return D.globalEval(y),y}}}),D.ajaxPrefilter("script",function(y){void 0===y.cache&&(y.cache=!1),y.crossDomain&&(y.type="GET")}),D.ajaxTransport("script",function(y){var T,b;if(y.crossDomain||y.scriptAttrs)return{send:function(x,k){T=D("