diff --git a/assets/AboutPage.8bed3381.js b/assets/AboutPage.3230d0ed.js similarity index 88% rename from assets/AboutPage.8bed3381.js rename to assets/AboutPage.3230d0ed.js index 0ef15c591..8aa4d90b7 100644 --- a/assets/AboutPage.8bed3381.js +++ b/assets/AboutPage.3230d0ed.js @@ -1,4 +1,4 @@ -import{n as s}from"./js/app-cab9cb86.js";import{A as c,a as _}from"./AppLogo.00bc4a09.js";var u=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("section",[t("h3",{staticClass:"headline"},[e._v("Build")]),t("p",[e._v(" Build date: "+e._s(e.buildDate)+" "),t("br"),e._v(" Commit date: "+e._s(e.buildCommitDate)+" "),t("br"),e._v(" Commit hash: "),t("a",{attrs:{href:"https://github.com/Thomaash/me/commit/"+e.buildCommitHash}},[e._v(" "+e._s(e.buildCommitHash)+" ")])]),e.$store.state.isUpdateAvailable?t("p",[e._v(" A new version is available and will be automatically installed when you close all open tabs. ")]):e._e()])},p=[];const A={name:"BuildInfo",computed:{buildDate(){return"2024-09-01T21:35:59.928Z"},buildCommitHash(){return"6fd5db981c1d42a791374425cba9f3bac8af6599"},buildCommitDate(){return"2024-09-01T21:34:34.000Z"}}},r={};var v=s(A,u,p,!1,m,null,null,null);function m(e){for(let n in r)this[n]=r[n]}var d=function(){return v.exports}(),E=`ISC License +import{n as s}from"./js/app-4881d322.js";import{A as c,a as _}from"./AppLogo.f38aeaa0.js";var u=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("section",[t("h3",{staticClass:"headline"},[e._v("Build")]),t("p",[e._v(" Build date: "+e._s(e.buildDate)+" "),t("br"),e._v(" Commit date: "+e._s(e.buildCommitDate)+" "),t("br"),e._v(" Commit hash: "),t("a",{attrs:{href:"https://github.com/Thomaash/me/commit/"+e.buildCommitHash}},[e._v(" "+e._s(e.buildCommitHash)+" ")])]),e.$store.state.isUpdateAvailable?t("p",[e._v(" A new version is available and will be automatically installed when you close all open tabs. ")]):e._e()])},p=[];const A={name:"BuildInfo",computed:{buildDate(){return"2024-09-16T23:06:28.810Z"},buildCommitHash(){return"780d447aaffee10eedf63dad38f28208b51ca508"},buildCommitDate(){return"2024-09-16T23:04:40.000Z"}}},r={};var v=s(A,u,p,!1,m,null,null,null);function m(e){for(let n in r)this[n]=r[n]}var d=function(){return v.exports}(),E=`ISC License Copyright (c) 2018-2023, Tom\xE1\u0161 Vy\u010D\xEDtal diff --git a/assets/AppLogo.00bc4a09.js b/assets/AppLogo.f38aeaa0.js similarity index 95% rename from assets/AppLogo.00bc4a09.js rename to assets/AppLogo.f38aeaa0.js index af31339c7..e2d742e9c 100644 --- a/assets/AppLogo.00bc4a09.js +++ b/assets/AppLogo.f38aeaa0.js @@ -1 +1 @@ -import{n as o}from"./js/app-cab9cb86.js";var a=function(){var e=this,s=e.$createElement,t=e._self._c||s;return t("section",[t("h3",{staticClass:"headline"},[e._v("Description")]),t("p",[e._v("SDN topology editor in your web browser with Mininet export.")]),e._m(0),e.full?t("p",[t("v-btn",{staticClass:"ma-2",attrs:{outlined:"",color:"primary",target:"_blank",href:"https://github.com/Thomaash/me"}},[e._v(" Repository ")]),t("v-btn",{staticClass:"ma-2",attrs:{outlined:"",color:"primary",target:"_blank",href:"https://github.com/Thomaash/me/issues/new"}},[e._v(" New Issue ")])],1):e._e()])},i=[function(){var e=this,s=e.$createElement,t=e._self._c||s;return t("p",[e._v(" Exports JSONs (whole projects), Python scripts (Mininet emulation), addressing plans and topology images. "),t("br"),e._v(" Imports JSONs and Python scripts. "),t("br"),e._v(" Persists projects even if the browser is closed and also works offline. ")])}];const _={name:"AppDescription",props:{full:{type:Boolean,default:!1}}},r={};var c=o(_,a,i,!1,l,null,null,null);function l(e){for(let s in r)this[s]=r[s]}var g=function(){return c.exports}(),p="/me/assets/icon.3c9c2f0c.svg",v=function(){var e=this,s=e.$createElement,t=e._self._c||s;return t("v-card",{staticClass:"circle my-5"},[t("img",{attrs:{src:p,alt:"Mininet Editor logo"}})])},u=[];const m={name:"AppLogo"},n={};var f=o(m,v,u,!1,h,"c1f80d12",null,null);function h(e){for(let s in n)this[s]=n[s]}var y=function(){return f.exports}();export{g as A,y as a}; +import{n as o}from"./js/app-4881d322.js";var a=function(){var e=this,s=e.$createElement,t=e._self._c||s;return t("section",[t("h3",{staticClass:"headline"},[e._v("Description")]),t("p",[e._v("SDN topology editor in your web browser with Mininet export.")]),e._m(0),e.full?t("p",[t("v-btn",{staticClass:"ma-2",attrs:{outlined:"",color:"primary",target:"_blank",href:"https://github.com/Thomaash/me"}},[e._v(" Repository ")]),t("v-btn",{staticClass:"ma-2",attrs:{outlined:"",color:"primary",target:"_blank",href:"https://github.com/Thomaash/me/issues/new"}},[e._v(" New Issue ")])],1):e._e()])},i=[function(){var e=this,s=e.$createElement,t=e._self._c||s;return t("p",[e._v(" Exports JSONs (whole projects), Python scripts (Mininet emulation), addressing plans and topology images. "),t("br"),e._v(" Imports JSONs and Python scripts. "),t("br"),e._v(" Persists projects even if the browser is closed and also works offline. ")])}];const _={name:"AppDescription",props:{full:{type:Boolean,default:!1}}},r={};var c=o(_,a,i,!1,l,null,null,null);function l(e){for(let s in r)this[s]=r[s]}var g=function(){return c.exports}(),p="/me/assets/icon.3c9c2f0c.svg",v=function(){var e=this,s=e.$createElement,t=e._self._c||s;return t("v-card",{staticClass:"circle my-5"},[t("img",{attrs:{src:p,alt:"Mininet Editor logo"}})])},u=[];const m={name:"AppLogo"},n={};var f=o(m,v,u,!1,h,"c1f80d12",null,null);function h(e){for(let s in n)this[s]=n[s]}var y=function(){return f.exports}();export{g as A,y as a}; diff --git a/assets/CanvasPage.09bca5fc.js b/assets/CanvasPage.f9e60b2a.js similarity index 99% rename from assets/CanvasPage.09bca5fc.js rename to assets/CanvasPage.f9e60b2a.js index 47b70ccca..9b8ab9d40 100644 --- a/assets/CanvasPage.09bca5fc.js +++ b/assets/CanvasPage.f9e60b2a.js @@ -1,3 +1,3 @@ -import{n as h,d as q,m as J,s as Q,i as W}from"./js/app-cab9cb86.js";import{c as B,p as G,r as w,h as $,i as E,a as z,s as K,b as C,d as Z,n as tt,e as Y,m as X,t as et,f as st,g as it,j as at,k as ot,l as nt,o as rt,q as lt,u as ct,v as dt,L as A}from"./LoadingSpinner.9d8d5b2a.js";import{T as mt}from"./ThreeStateCheckbox.3612925e.js";import{V as ut,c as ht,a as pt}from"./VisCanvas.870126cf.js";var v={props:["value"],data:()=>({valid:!1,item:{},_lastItem:null}),watch:{item(t){this._newItemEmit(),this.$emit("input",t)},value(t){this.item=t},valid(t){this.$emit("valid",t)}},methods:{_newItemEmit(){this.item!==this._lastItem&&(this._lastItem=this.item,this.$emit("new-item",this.item))}},mounted(){this.item=this.value,this._newItemEmit(),this.$emit("valid",this.valid),this.$v&&this.$v.$touch()}},vt=function(){var t=this,i=t.$createElement,e=t._self._c||i;return e("v-form",{model:{value:t.valid,callback:function(s){t.valid=s},expression:"valid"}},[e("v-container",{attrs:{"grid-list-md":""}},[e("v-layout",{attrs:{wrap:""}},[e("v-flex",{attrs:{xs12:""}},[e("v-text-field",{attrs:{label:"Label",autofocus:"",clearable:"","data-cy":"edit-hostname"},model:{value:t.item.hostname,callback:function(s){t.$set(t.item,"hostname",s)},expression:"item.hostname"}})],1)],1)],1)],1)},ft=[];const _t={name:"AssociationEdit",mixins:[v],data:()=>({valid:!1,item:{}})},I={};var yt=h(_t,vt,ft,!1,xt,null,null,null);function xt(t){for(let i in I)this[i]=I[i]}var bt=function(){return yt.exports}(),gt=function(){var t=this,i=t.$createElement,e=t._self._c||i;return e("v-form",{model:{value:t.valid,callback:function(s){t.valid=s},expression:"valid"}},[e("v-container",{attrs:{"grid-list-md":""}},[e("v-layout",{attrs:{wrap:""}},[e("v-flex",{attrs:{xs12:""}},[e("v-text-field",{attrs:{rules:[t.validators.required(t.item.hostname),t.validators.hostname(t.item.hostname)],label:"Label",autofocus:"",clearable:"","data-cy":"edit-hostname"},model:{value:t.item.hostname,callback:function(s){t.$set(t.item,"hostname",s)},expression:"item.hostname"}})],1),e("v-flex",{attrs:{xs12:"","data-cy":"edit-controller-type"}},[e("v-select",{attrs:{items:t.controllerTypes,label:"Type",clearable:""},model:{value:t.item.controllerType,callback:function(s){t.$set(t.item,"controllerType",s)},expression:"item.controllerType"}})],1),e("v-flex",{attrs:{xs12:""}},[e("v-text-field",{attrs:{rules:[t.validators.ip(t.item.ip)],label:"IP",clearable:"","data-cy":"edit-ip"},model:{value:t.item.ip,callback:function(s){t.$set(t.item,"ip",s)},expression:"item.ip"}})],1),e("v-flex",{attrs:{xs12:"",md6:""}},[e("v-text-field",{ref:"port",attrs:{rules:[t.validators.port(t.item.port)],label:"Port",type:"number",min:"1",max:"65535",clearable:"","data-cy":"edit-port"},model:{value:t.item.port,callback:function(s){t.$set(t.item,"port",t._n(s))},expression:"item.port"}})],1),e("v-flex",{attrs:{xs12:"",md6:"","data-cy":"edit-protocol"}},[e("v-select",{attrs:{items:t.protocolsIP,label:"Protocol",clearable:""},model:{value:t.item.protocol,callback:function(s){t.$set(t.item,"protocol",s)},expression:"item.protocol"}})],1)],1)],1)],1)},wt=[];const $t={name:"ControllerEdit",mixins:[v],data:()=>({valid:!1,item:{},controllerTypes:B,protocolsIP:G,validators:{required:w,hostname:$,ip:E,port:z}})},L={};var kt=h($t,gt,wt,!1,St,null,null,null);function St(t){for(let i in L)this[i]=L[i]}var Pt=function(){return kt.exports}(),Et=function(){var t=this,i=t.$createElement,e=t._self._c||i;return e("v-form",{model:{value:t.valid,callback:function(s){t.valid=s},expression:"valid"}},[e("v-container",{attrs:{"grid-list-md":""}},[e("v-layout",{attrs:{wrap:""}},[e("v-flex",{attrs:{xs12:""}},[e("v-textarea",{staticClass:"monospace-input",attrs:{"auto-grow":"",autofocus:"",clearable:"","data-cy":"edit-hostname",label:"Label"},model:{value:t.item.hostname,callback:function(s){t.$set(t.item,"hostname",s)},expression:"item.hostname"}})],1)],1)],1)],1)},Ct=[];const It={name:"DummyEdit",mixins:[v],data:()=>({valid:!1,item:{}})},M={};var Lt=h(It,Et,Ct,!1,Mt,null,null,null);function Mt(t){for(let i in M)this[i]=M[i]}var Tt=function(){return Lt.exports}(),Dt=function(){var t=this,i=t.$createElement,e=t._self._c||i;return e("v-form",{model:{value:t.valid,callback:function(s){t.valid=s},expression:"valid"}},[e("v-container",{attrs:{"grid-list-md":""}},[e("v-layout",{attrs:{wrap:""}},[e("v-flex",{attrs:{xs12:""}},[e("v-text-field",{attrs:{rules:[t.validators.required()(t.item.hostname),t.validators.hostname()(t.item.hostname)],label:"Hostname",autofocus:"","data-cy":"edit-hostname"},model:{value:t.item.hostname,callback:function(s){t.$set(t.item,"hostname",s)},expression:"item.hostname"}})],1),e("v-flex",{attrs:{xs12:""}},[e("v-text-field",{attrs:{rules:[t.validators.ip()(t.item.defaultRoute)],label:"Default Route",clearable:"","data-cy":"edit-default-route"},model:{value:t.item.defaultRoute,callback:function(s){t.$set(t.item,"defaultRoute",s)},expression:"item.defaultRoute"}})],1),e("v-flex",{attrs:{xs12:"",md6:"","data-cy":"edit-cpu-scheduler"}},[e("v-select",{attrs:{items:t.schedulers,label:"Scheduler",clearable:""},model:{value:t.item.cpuScheduler,callback:function(s){t.$set(t.item,"cpuScheduler",s)},expression:"item.cpuScheduler"}})],1),e("v-flex",{attrs:{xs12:"",md6:""}},[e("v-text-field",{ref:"itemCPULimit",attrs:{rules:[t.validators.decimal()(t.item.cpuLimit),t.validators.between(0,1)(t.item.cpuLimit)],label:"CPU Utilization Limit",type:"number",min:"0",max:"1",step:".01",clearable:"","data-cy":"edit-cpu-limit"},model:{value:t.item.cpuLimit,callback:function(s){t.$set(t.item,"cpuLimit",t._n(s))},expression:"item.cpuLimit"}})],1),e("v-flex",{attrs:{xs12:""}},[e("v-text-field",{attrs:{rules:[t.validators.naturalNumberList()(t.item.cpuCores)],label:"CPU cores",clearable:"","data-cy":"edit-cpu-cores-str"},model:{value:t.cpuCoresStr,callback:function(s){t.cpuCoresStr=s},expression:"cpuCoresStr"}})],1),e("v-flex",{attrs:{xs12:""}},[e("v-textarea",{attrs:{label:"Startup Script","auto-grow":"",clearable:"","data-cy":"edit-start-script"},model:{value:t.item.startScript,callback:function(s){t.$set(t.item,"startScript",s)},expression:"item.startScript"}})],1),e("v-flex",{attrs:{xs12:""}},[e("v-textarea",{attrs:{label:"Shutdown Script","auto-grow":"",clearable:"","data-cy":"edit-stop-script"},model:{value:t.item.stopScript,callback:function(s){t.$set(t.item,"stopScript",s)},expression:"item.stopScript"}})],1)],1)],1)],1)},Nt=[];const Ot={name:"HostEdit",mixins:[v],data:()=>({valid:!1,item:{},schedulers:K,cpuCoresStrInit:"",validators:{between:C,decimal:Z,hostname:$,ip:E,naturalNumberList:tt,required:w}}),computed:{cpuCoresStr:{get(){return this.cpuCoresStrInit},set(t){if(t==null)this.$delete(this.item,"cpuCores");else{const i=/^\d+$/;this.$set(this.item,"cpuCores",t.split(/\s*[\s,]\s*/g).map(e=>i.test(e)?+e:NaN).sort((e,s)=>e-s).filter((e,s,o)=>o[s-1]!==e))}}}},created(){this.$on("new-item",()=>{this.cpuCoresStrInit=(this.item.cpuCores||[]).join(", ")})}},T={};var Rt=h(Ot,Dt,Nt,!1,Ut,null,null,null);function Ut(t){for(let i in T)this[i]=T[i]}var Vt=function(){return Rt.exports}(),jt=function(){var t=this,i=t.$createElement,e=t._self._c||i;return e("v-form",{model:{value:t.valid,callback:function(s){t.valid=s},expression:"valid"}},[e("v-container",{attrs:{"grid-list-md":""}},[e("v-layout",{attrs:{wrap:""}},[e("v-flex",{attrs:{xs12:""}},[e("v-text-field",{attrs:{label:"Label",autofocus:"","data-cy":"edit-hostname"},model:{value:t.item.hostname,callback:function(s){t.$set(t.item,"hostname",s)},expression:"item.hostname"}})],1),e("v-flex",{attrs:{xs12:""}},[e("v-text-field",{ref:"itemBandwidth",attrs:{rules:[t.validators.minValue(0)(t.item.bandwidth)],label:"Bandwidth",type:"number",min:"0",suffix:"MBits/s",clearable:"","data-cy":"edit-bandwidth"},model:{value:t.item.bandwidth,callback:function(s){t.$set(t.item,"bandwidth",t._n(s))},expression:"item.bandwidth"}})],1),e("v-flex",{attrs:{xs12:"",md6:""}},[e("v-text-field",{attrs:{rules:[t.validators.timeWithUnit(t.item.delay)],label:"Delay",clearable:"","data-cy":"edit-delay"},model:{value:t.item.delay,callback:function(s){t.$set(t.item,"delay",s)},expression:"item.delay"}})],1),e("v-flex",{attrs:{xs12:"",md6:""}},[e("v-text-field",{attrs:{rules:[t.validators.timeWithUnit(t.item.jitter)],label:"Jitter",clearable:"","data-cy":"edit-jitter"},model:{value:t.item.jitter,callback:function(s){t.$set(t.item,"jitter",s)},expression:"item.jitter"}})],1),e("v-flex",{attrs:{xs12:""}},[e("v-text-field",{ref:"itemLoss",attrs:{rules:[t.validators.between(0,100)(t.item.loss)],label:"Loss",type:"number",min:"0",max:"100",suffix:"%",clearable:"","data-cy":"edit-loss"},model:{value:t.item.loss,callback:function(s){t.$set(t.item,"loss",t._n(s))},expression:"item.loss"}})],1),e("v-flex",{attrs:{xs12:""}},[e("v-text-field",{ref:"itemMaxQueueSize",attrs:{rules:[t.validators.integer(t.item.maxQueueSize),t.validators.minValue(0)(t.item.maxQueueSize)],label:"Max queue",type:"number",min:"0",suffix:"packets",clearable:"","data-cy":"edit-max-queue-size"},model:{value:t.item.maxQueueSize,callback:function(s){t.$set(t.item,"maxQueueSize",t._n(s))},expression:"item.maxQueueSize"}})],1)],1)],1)],1)},Ht=[];const Ft={name:"LinkEdit",mixins:[v],data:()=>({dialog:!1,item:{},validators:{between:C,integer:Y,minValue:X,timeWithUnit:et}})},D={};var zt=h(Ft,jt,Ht,!1,Yt,null,null,null);function Yt(t){for(let i in D)this[i]=D[i]}var Xt=function(){return zt.exports}(),At=function(){var t=this,i=t.$createElement,e=t._self._c||i;return e("v-form",{model:{value:t.valid,callback:function(s){t.valid=s},expression:"valid"}},[e("v-container",{attrs:{"grid-list-md":""}},[e("v-layout",{attrs:{wrap:""}},[e("v-flex",{attrs:{xs12:""}},[e("v-text-field",{attrs:{rules:[t.validators.required()(t.item.hostname),t.validators.hostname()(t.item.hostname)],label:"Dev Name",autofocus:"",clearable:"","data-cy":"edit-hostname"},model:{value:t.item.hostname,callback:function(s){t.$set(t.item,"hostname",s)},expression:"item.hostname"}})],1),e("v-flex",{attrs:{xs12:""}},[e("v-textarea",{attrs:{rules:[t.validators.ipsWithMasks()(t.item.ips)],label:"IPs","auto-grow":"",clearable:"","data-cy":"edit-ips"},model:{value:t.ips,callback:function(s){t.ips=s},expression:"ips"}})],1),e("v-flex",{attrs:{xs12:"","data-cy":"edit-physical"}},[e("v-switch",{attrs:{color:"primary",label:"Physical"},model:{value:t.item.physical,callback:function(s){t.$set(t.item,"physical",s)},expression:"item.physical"}}),t._v(" "+t._s(t.valid)+" ")],1)],1)],1)],1)},qt=[];const Jt={name:"PortEdit",mixins:[v],data:()=>({valid:!1,item:{},validators:{hostname:$,ipsWithMasks:st,required:w}}),computed:{ips:{get(){return(this.item.ips||[]).join(` +import{n as h,d as q,m as J,s as Q,i as W}from"./js/app-4881d322.js";import{c as B,p as G,r as w,h as $,i as E,a as z,s as K,b as C,d as Z,n as tt,e as Y,m as X,t as et,f as st,g as it,j as at,k as ot,l as nt,o as rt,q as lt,u as ct,v as dt,L as A}from"./LoadingSpinner.26780557.js";import{T as mt}from"./ThreeStateCheckbox.0f3214e2.js";import{V as ut,c as ht,a as pt}from"./VisCanvas.4e4e5723.js";var v={props:["value"],data:()=>({valid:!1,item:{},_lastItem:null}),watch:{item(t){this._newItemEmit(),this.$emit("input",t)},value(t){this.item=t},valid(t){this.$emit("valid",t)}},methods:{_newItemEmit(){this.item!==this._lastItem&&(this._lastItem=this.item,this.$emit("new-item",this.item))}},mounted(){this.item=this.value,this._newItemEmit(),this.$emit("valid",this.valid),this.$v&&this.$v.$touch()}},vt=function(){var t=this,i=t.$createElement,e=t._self._c||i;return e("v-form",{model:{value:t.valid,callback:function(s){t.valid=s},expression:"valid"}},[e("v-container",{attrs:{"grid-list-md":""}},[e("v-layout",{attrs:{wrap:""}},[e("v-flex",{attrs:{xs12:""}},[e("v-text-field",{attrs:{label:"Label",autofocus:"",clearable:"","data-cy":"edit-hostname"},model:{value:t.item.hostname,callback:function(s){t.$set(t.item,"hostname",s)},expression:"item.hostname"}})],1)],1)],1)],1)},ft=[];const _t={name:"AssociationEdit",mixins:[v],data:()=>({valid:!1,item:{}})},I={};var yt=h(_t,vt,ft,!1,xt,null,null,null);function xt(t){for(let i in I)this[i]=I[i]}var bt=function(){return yt.exports}(),gt=function(){var t=this,i=t.$createElement,e=t._self._c||i;return e("v-form",{model:{value:t.valid,callback:function(s){t.valid=s},expression:"valid"}},[e("v-container",{attrs:{"grid-list-md":""}},[e("v-layout",{attrs:{wrap:""}},[e("v-flex",{attrs:{xs12:""}},[e("v-text-field",{attrs:{rules:[t.validators.required(t.item.hostname),t.validators.hostname(t.item.hostname)],label:"Label",autofocus:"",clearable:"","data-cy":"edit-hostname"},model:{value:t.item.hostname,callback:function(s){t.$set(t.item,"hostname",s)},expression:"item.hostname"}})],1),e("v-flex",{attrs:{xs12:"","data-cy":"edit-controller-type"}},[e("v-select",{attrs:{items:t.controllerTypes,label:"Type",clearable:""},model:{value:t.item.controllerType,callback:function(s){t.$set(t.item,"controllerType",s)},expression:"item.controllerType"}})],1),e("v-flex",{attrs:{xs12:""}},[e("v-text-field",{attrs:{rules:[t.validators.ip(t.item.ip)],label:"IP",clearable:"","data-cy":"edit-ip"},model:{value:t.item.ip,callback:function(s){t.$set(t.item,"ip",s)},expression:"item.ip"}})],1),e("v-flex",{attrs:{xs12:"",md6:""}},[e("v-text-field",{ref:"port",attrs:{rules:[t.validators.port(t.item.port)],label:"Port",type:"number",min:"1",max:"65535",clearable:"","data-cy":"edit-port"},model:{value:t.item.port,callback:function(s){t.$set(t.item,"port",t._n(s))},expression:"item.port"}})],1),e("v-flex",{attrs:{xs12:"",md6:"","data-cy":"edit-protocol"}},[e("v-select",{attrs:{items:t.protocolsIP,label:"Protocol",clearable:""},model:{value:t.item.protocol,callback:function(s){t.$set(t.item,"protocol",s)},expression:"item.protocol"}})],1)],1)],1)],1)},wt=[];const $t={name:"ControllerEdit",mixins:[v],data:()=>({valid:!1,item:{},controllerTypes:B,protocolsIP:G,validators:{required:w,hostname:$,ip:E,port:z}})},L={};var kt=h($t,gt,wt,!1,St,null,null,null);function St(t){for(let i in L)this[i]=L[i]}var Pt=function(){return kt.exports}(),Et=function(){var t=this,i=t.$createElement,e=t._self._c||i;return e("v-form",{model:{value:t.valid,callback:function(s){t.valid=s},expression:"valid"}},[e("v-container",{attrs:{"grid-list-md":""}},[e("v-layout",{attrs:{wrap:""}},[e("v-flex",{attrs:{xs12:""}},[e("v-textarea",{staticClass:"monospace-input",attrs:{"auto-grow":"",autofocus:"",clearable:"","data-cy":"edit-hostname",label:"Label"},model:{value:t.item.hostname,callback:function(s){t.$set(t.item,"hostname",s)},expression:"item.hostname"}})],1)],1)],1)],1)},Ct=[];const It={name:"DummyEdit",mixins:[v],data:()=>({valid:!1,item:{}})},M={};var Lt=h(It,Et,Ct,!1,Mt,null,null,null);function Mt(t){for(let i in M)this[i]=M[i]}var Tt=function(){return Lt.exports}(),Dt=function(){var t=this,i=t.$createElement,e=t._self._c||i;return e("v-form",{model:{value:t.valid,callback:function(s){t.valid=s},expression:"valid"}},[e("v-container",{attrs:{"grid-list-md":""}},[e("v-layout",{attrs:{wrap:""}},[e("v-flex",{attrs:{xs12:""}},[e("v-text-field",{attrs:{rules:[t.validators.required()(t.item.hostname),t.validators.hostname()(t.item.hostname)],label:"Hostname",autofocus:"","data-cy":"edit-hostname"},model:{value:t.item.hostname,callback:function(s){t.$set(t.item,"hostname",s)},expression:"item.hostname"}})],1),e("v-flex",{attrs:{xs12:""}},[e("v-text-field",{attrs:{rules:[t.validators.ip()(t.item.defaultRoute)],label:"Default Route",clearable:"","data-cy":"edit-default-route"},model:{value:t.item.defaultRoute,callback:function(s){t.$set(t.item,"defaultRoute",s)},expression:"item.defaultRoute"}})],1),e("v-flex",{attrs:{xs12:"",md6:"","data-cy":"edit-cpu-scheduler"}},[e("v-select",{attrs:{items:t.schedulers,label:"Scheduler",clearable:""},model:{value:t.item.cpuScheduler,callback:function(s){t.$set(t.item,"cpuScheduler",s)},expression:"item.cpuScheduler"}})],1),e("v-flex",{attrs:{xs12:"",md6:""}},[e("v-text-field",{ref:"itemCPULimit",attrs:{rules:[t.validators.decimal()(t.item.cpuLimit),t.validators.between(0,1)(t.item.cpuLimit)],label:"CPU Utilization Limit",type:"number",min:"0",max:"1",step:".01",clearable:"","data-cy":"edit-cpu-limit"},model:{value:t.item.cpuLimit,callback:function(s){t.$set(t.item,"cpuLimit",t._n(s))},expression:"item.cpuLimit"}})],1),e("v-flex",{attrs:{xs12:""}},[e("v-text-field",{attrs:{rules:[t.validators.naturalNumberList()(t.item.cpuCores)],label:"CPU cores",clearable:"","data-cy":"edit-cpu-cores-str"},model:{value:t.cpuCoresStr,callback:function(s){t.cpuCoresStr=s},expression:"cpuCoresStr"}})],1),e("v-flex",{attrs:{xs12:""}},[e("v-textarea",{attrs:{label:"Startup Script","auto-grow":"",clearable:"","data-cy":"edit-start-script"},model:{value:t.item.startScript,callback:function(s){t.$set(t.item,"startScript",s)},expression:"item.startScript"}})],1),e("v-flex",{attrs:{xs12:""}},[e("v-textarea",{attrs:{label:"Shutdown Script","auto-grow":"",clearable:"","data-cy":"edit-stop-script"},model:{value:t.item.stopScript,callback:function(s){t.$set(t.item,"stopScript",s)},expression:"item.stopScript"}})],1)],1)],1)],1)},Nt=[];const Ot={name:"HostEdit",mixins:[v],data:()=>({valid:!1,item:{},schedulers:K,cpuCoresStrInit:"",validators:{between:C,decimal:Z,hostname:$,ip:E,naturalNumberList:tt,required:w}}),computed:{cpuCoresStr:{get(){return this.cpuCoresStrInit},set(t){if(t==null)this.$delete(this.item,"cpuCores");else{const i=/^\d+$/;this.$set(this.item,"cpuCores",t.split(/\s*[\s,]\s*/g).map(e=>i.test(e)?+e:NaN).sort((e,s)=>e-s).filter((e,s,o)=>o[s-1]!==e))}}}},created(){this.$on("new-item",()=>{this.cpuCoresStrInit=(this.item.cpuCores||[]).join(", ")})}},T={};var Rt=h(Ot,Dt,Nt,!1,Ut,null,null,null);function Ut(t){for(let i in T)this[i]=T[i]}var Vt=function(){return Rt.exports}(),jt=function(){var t=this,i=t.$createElement,e=t._self._c||i;return e("v-form",{model:{value:t.valid,callback:function(s){t.valid=s},expression:"valid"}},[e("v-container",{attrs:{"grid-list-md":""}},[e("v-layout",{attrs:{wrap:""}},[e("v-flex",{attrs:{xs12:""}},[e("v-text-field",{attrs:{label:"Label",autofocus:"","data-cy":"edit-hostname"},model:{value:t.item.hostname,callback:function(s){t.$set(t.item,"hostname",s)},expression:"item.hostname"}})],1),e("v-flex",{attrs:{xs12:""}},[e("v-text-field",{ref:"itemBandwidth",attrs:{rules:[t.validators.minValue(0)(t.item.bandwidth)],label:"Bandwidth",type:"number",min:"0",suffix:"MBits/s",clearable:"","data-cy":"edit-bandwidth"},model:{value:t.item.bandwidth,callback:function(s){t.$set(t.item,"bandwidth",t._n(s))},expression:"item.bandwidth"}})],1),e("v-flex",{attrs:{xs12:"",md6:""}},[e("v-text-field",{attrs:{rules:[t.validators.timeWithUnit(t.item.delay)],label:"Delay",clearable:"","data-cy":"edit-delay"},model:{value:t.item.delay,callback:function(s){t.$set(t.item,"delay",s)},expression:"item.delay"}})],1),e("v-flex",{attrs:{xs12:"",md6:""}},[e("v-text-field",{attrs:{rules:[t.validators.timeWithUnit(t.item.jitter)],label:"Jitter",clearable:"","data-cy":"edit-jitter"},model:{value:t.item.jitter,callback:function(s){t.$set(t.item,"jitter",s)},expression:"item.jitter"}})],1),e("v-flex",{attrs:{xs12:""}},[e("v-text-field",{ref:"itemLoss",attrs:{rules:[t.validators.between(0,100)(t.item.loss)],label:"Loss",type:"number",min:"0",max:"100",suffix:"%",clearable:"","data-cy":"edit-loss"},model:{value:t.item.loss,callback:function(s){t.$set(t.item,"loss",t._n(s))},expression:"item.loss"}})],1),e("v-flex",{attrs:{xs12:""}},[e("v-text-field",{ref:"itemMaxQueueSize",attrs:{rules:[t.validators.integer(t.item.maxQueueSize),t.validators.minValue(0)(t.item.maxQueueSize)],label:"Max queue",type:"number",min:"0",suffix:"packets",clearable:"","data-cy":"edit-max-queue-size"},model:{value:t.item.maxQueueSize,callback:function(s){t.$set(t.item,"maxQueueSize",t._n(s))},expression:"item.maxQueueSize"}})],1)],1)],1)],1)},Ht=[];const Ft={name:"LinkEdit",mixins:[v],data:()=>({dialog:!1,item:{},validators:{between:C,integer:Y,minValue:X,timeWithUnit:et}})},D={};var zt=h(Ft,jt,Ht,!1,Yt,null,null,null);function Yt(t){for(let i in D)this[i]=D[i]}var Xt=function(){return zt.exports}(),At=function(){var t=this,i=t.$createElement,e=t._self._c||i;return e("v-form",{model:{value:t.valid,callback:function(s){t.valid=s},expression:"valid"}},[e("v-container",{attrs:{"grid-list-md":""}},[e("v-layout",{attrs:{wrap:""}},[e("v-flex",{attrs:{xs12:""}},[e("v-text-field",{attrs:{rules:[t.validators.required()(t.item.hostname),t.validators.hostname()(t.item.hostname)],label:"Dev Name",autofocus:"",clearable:"","data-cy":"edit-hostname"},model:{value:t.item.hostname,callback:function(s){t.$set(t.item,"hostname",s)},expression:"item.hostname"}})],1),e("v-flex",{attrs:{xs12:""}},[e("v-textarea",{attrs:{rules:[t.validators.ipsWithMasks()(t.item.ips)],label:"IPs","auto-grow":"",clearable:"","data-cy":"edit-ips"},model:{value:t.ips,callback:function(s){t.ips=s},expression:"ips"}})],1),e("v-flex",{attrs:{xs12:"","data-cy":"edit-physical"}},[e("v-switch",{attrs:{color:"primary",label:"Physical"},model:{value:t.item.physical,callback:function(s){t.$set(t.item,"physical",s)},expression:"item.physical"}}),t._v(" "+t._s(t.valid)+" ")],1)],1)],1)],1)},qt=[];const Jt={name:"PortEdit",mixins:[v],data:()=>({valid:!1,item:{},validators:{hostname:$,ipsWithMasks:st,required:w}}),computed:{ips:{get(){return(this.item.ips||[]).join(` `)},set(t){t?this.$set(this.item,"ips",t.split(` `).filter(i=>i!=="")):this.$delete(this.item,"ips")}}},watch:{"item.physical"(t){t===!1&&delete this.$delete(this.item,"physical")}}},N={};var Qt=h(Jt,At,qt,!1,Wt,null,null,null);function Wt(t){for(let i in N)this[i]=N[i]}var Bt=function(){return Qt.exports}(),Gt=function(){var t=this,i=t.$createElement,e=t._self._c||i;return e("v-form",{model:{value:t.valid,callback:function(s){t.valid=s},expression:"valid"}},[e("v-container",{attrs:{"grid-list-md":""}},[e("v-layout",{attrs:{wrap:""}},[e("v-flex",{attrs:{xs12:""}},[e("v-text-field",{attrs:{rules:[t.validators.required()(t.item.hostname),t.validators.hostname()(t.item.hostname)],label:"Hostname",autofocus:"","data-cy":"edit-hostname"},model:{value:t.item.hostname,callback:function(s){t.$set(t.item,"hostname",s)},expression:"item.hostname"}})],1),e("v-flex",{attrs:{xs12:"","data-cy":"edit-switch-type"}},[e("v-select",{attrs:{items:t.switchTypes,label:"Type",clearable:""},model:{value:t.item.switchType,callback:function(s){t.$set(t.item,"switchType",s)},expression:"item.switchType"}})],1),e("v-flex",{attrs:{xs12:"",md3:""}},[e("ThreeStateCheckbox",{attrs:{label:"STP","data-cy":"edit-stp"},model:{value:t.item.stp,callback:function(s){t.$set(t.item,"stp",s)},expression:"item.stp"}})],1),e("v-flex",{attrs:{xs12:"",md9:""}},[e("v-text-field",{ref:"itemSTPPriority",attrs:{rules:[t.validators.integer()(t.item.stpPriority),t.validators.between(0,65535)(t.item.stpPriority),t.validators.divisible(4096)(t.item.stpPriority)],label:"STP Priority",type:"number",step:"4096",min:"0",max:"65535",clearable:"","data-cy":"edit-stp-priority"},model:{value:t.item.stpPriority,callback:function(s){t.$set(t.item,"stpPriority",t._n(s))},expression:"item.stpPriority"}})],1),e("v-flex",{attrs:{xs12:""}},[e("v-text-field",{attrs:{rules:[t.validators.ip()(t.item.ip)],label:"IP",clearable:"","data-cy":"edit-ip"},model:{value:t.item.ip,callback:function(s){t.$set(t.item,"ip",s)},expression:"item.ip"}})],1),e("v-flex",{attrs:{xs12:""}},[e("v-text-field",{ref:"itemDPCTLPort",attrs:{rules:[t.validators.port()(t.item.dpctlPort)],label:"DPCTL Port",type:"number",min:"1",max:"65535",clearable:"","data-cy":"edit-dpctl-port"},model:{value:t.item.dpctlPort,callback:function(s){t.$set(t.item,"dpctlPort",t._n(s))},expression:"item.dpctlPort"}})],1),e("v-flex",{attrs:{xs12:"","data-cy":"edit-protocol"}},[e("v-select",{attrs:{items:t.protocolsOF,label:"Protocol",clearable:""},model:{value:t.item.protocol,callback:function(s){t.$set(t.item,"protocol",s)},expression:"item.protocol"}})],1),e("v-flex",{attrs:{xs12:"",md6:"","data-cy":"edit-datapath"}},[e("v-select",{attrs:{items:t.datapaths,label:"Datapath",clearable:""},model:{value:t.item.datapath,callback:function(s){t.$set(t.item,"datapath",s)},expression:"item.datapath"}})],1),e("v-flex",{attrs:{xs12:"",md6:""}},[e("v-text-field",{attrs:{rules:[t.validators.hexData()(t.item.dpid),t.validators.minLength(1)(t.item.dpid),t.validators.maxLength(16)(t.item.dpid)],label:"Datapath ID",type:"text",clearable:"","data-cy":"edit-dpid"},model:{value:t.item.dpid,callback:function(s){t.$set(t.item,"dpid",s)},expression:"item.dpid"}})],1),e("v-flex",{attrs:{xs12:""}},[e("v-text-field",{attrs:{label:"Ofdatapath arguments",clearable:"","data-cy":"edit-dpopts"},model:{value:t.item.dpopts,callback:function(s){t.$set(t.item,"dpopts",s)},expression:"item.dpopts"}})],1),e("v-flex",{attrs:{xs12:""}},[e("v-text-field",{ref:"itemReconnectMs",attrs:{rules:[t.validators.integer()(t.item.reconnectms),t.validators.minValue(0)(t.item.reconnectms)],label:"Reconnect Timeout",type:"number",min:"0",suffix:"ms",clearable:"","data-cy":"edit-reconnect-ms"},model:{value:t.item.reconnectms,callback:function(s){t.$set(t.item,"reconnectms",t._n(s))},expression:"item.reconnectms"}})],1),e("v-flex",{attrs:{xs12:"","data-cy":"edit-fail-mode"}},[e("v-select",{attrs:{items:t.failModes,label:"Fail Mode",clearable:""},model:{value:t.item.failMode,callback:function(s){t.$set(t.item,"failMode",s)},expression:"item.failMode"}})],1),e("v-flex",{attrs:{xs12:""}},[e("ThreeStateCheckbox",{attrs:{label:"Inband","data-cy":"edit-inband"},model:{value:t.item.inband,callback:function(s){t.$set(t.item,"inband",s)},expression:"item.inband"}})],1),e("v-flex",{attrs:{xs12:""}},[e("ThreeStateCheckbox",{attrs:{label:"In Namespace","data-cy":"edit-in-namespace"},model:{value:t.item.inNamespace,callback:function(s){t.$set(t.item,"inNamespace",s)},expression:"item.inNamespace"}})],1),e("v-flex",{attrs:{xs12:""}},[e("ThreeStateCheckbox",{attrs:{label:"Batch","data-cy":"edit-batch"},model:{value:t.item.batch,callback:function(s){t.$set(t.item,"batch",s)},expression:"item.batch"}})],1),e("v-flex",{attrs:{xs12:""}},[e("ThreeStateCheckbox",{attrs:{label:"Verbose","data-cy":"edit-verbose"},model:{value:t.item.verbose,callback:function(s){t.$set(t.item,"verbose",s)},expression:"item.verbose"}})],1),e("v-flex",{attrs:{xs12:""}},[e("v-text-field",{attrs:{label:"Additional Switch Options",clearable:"","data-cy":"edit-opts"},model:{value:t.item.opts,callback:function(s){t.$set(t.item,"opts",s)},expression:"item.opts"}})],1),e("v-flex",{attrs:{xs12:""}},[e("v-textarea",{attrs:{label:"Startup Script","auto-grow":"",clearable:"","data-cy":"edit-start-script"},model:{value:t.item.startScript,callback:function(s){t.$set(t.item,"startScript",s)},expression:"item.startScript"}})],1),e("v-flex",{attrs:{xs12:""}},[e("v-textarea",{attrs:{label:"Shutdown Script","auto-grow":"",clearable:"","data-cy":"edit-stop-script"},model:{value:t.item.stopScript,callback:function(s){t.$set(t.item,"stopScript",s)},expression:"item.stopScript"}})],1)],1)],1)],1)},Kt=[];const Zt={name:"SwitchEdit",components:{ThreeStateCheckbox:mt},mixins:[v],data:()=>({valid:!1,item:{},switchTypes:it,failModes:at,datapaths:ot,protocolsOF:nt,validators:{between:C,divisible:rt,hexData:lt,hostname:$,integer:Y,ip:E,maxLength:ct,minLength:dt,minValue:X,port:z,required:w}})},O={};var te=h(Zt,Gt,Kt,!1,ee,null,null,null);function ee(t){for(let i in O)this[i]=O[i]}var se=function(){return te.exports}(),ie=function(){var t=this,i=t.$createElement,e=t._self._c||i;return e("v-layout",{attrs:{row:"","justify-center":""}},[e("v-dialog",{attrs:{fullscreen:t.fullscreen||t.$vuetify.breakpoint.xsOnly,persistent:"",scrollable:"","max-width":"600px"},on:{keydown:[function(s){return!s.type.indexOf("key")&&t._k(s.keyCode,"esc",27,s.key,["Esc","Escape"])?null:t.cancel.apply(null,arguments)},function(s){return!s.type.indexOf("key")&&t._k(s.keyCode,"enter",13,s.key,"Enter")?null:t.save.apply(null,arguments)}]},model:{value:t.dialog,callback:function(s){t.dialog=s},expression:"dialog"}},[e("v-card",{attrs:{"data-cy":`edit-${t.item.type}`}},[e("v-card-title",{staticStyle:{"flex-grow":"0"},attrs:{"primary-title":""},on:{dblclick:function(s){t.fullscreen=!t.fullscreen}}},[e("v-icon",{staticClass:"mr-2"},[t._v(t._s(`$vuetify.icons.net-${t.themeType}`))]),e("h3",{staticClass:"headline",domProps:{textContent:t._s(t.headline)}})],1),e("v-card-text",{staticStyle:{"flex-grow":"1"}},[e(t.component,{tag:"div",on:{valid:function(s){return t.valid=s}},model:{value:t.item,callback:function(s){t.item=s},expression:"item"}})],1),e("v-card-actions",{staticStyle:{"flex-grow":"0"}},[e("v-spacer"),e("v-btn",{attrs:{color:"primary",text:"","data-cy":"edit-cancel"},nativeOn:{click:function(s){return t.cancel.apply(null,arguments)}}},[t._v("Cancel")]),e("v-btn",{attrs:{disabled:!t.valid,color:"primary",text:"","data-cy":"edit-save"},nativeOn:{click:function(s){return t.save.apply(null,arguments)}}},[t._v("Save")])],1)],1)],1)],1)},ae=[];const oe={association:"AssociationEdit",controller:"ControllerEdit",dummy:"DummyEdit",host:"HostEdit",link:"LinkEdit",port:"PortEdit",switch:"SwitchEdit"},ne={association:"Association",controller:"Controller",dummy:"Label",host:"Host",link:"Link",port:"Port",switch:"Switch"},re={name:"ItemEdit",components:{AssociationEdit:bt,ControllerEdit:Pt,DummyEdit:Tt,HostEdit:Vt,LinkEdit:Xt,PortEdit:Bt,SwitchEdit:se},data:()=>({dialog:!1,fullscreen:!0,item:{},valid:!1}),computed:{component(){return oe[this.item.type]||"div"},headline(){return ne[this.item.type]||""},themeType(){switch(this.item.type){case"association":case"link":return"edge";default:return this.item.type}}},methods:{edit(t,i){this.item=JSON.parse(JSON.stringify(t)),this.callback=i,this.fullscreen=!1,this.dialog=!0},save(){if(!this.valid)return;const t=JSON.parse(JSON.stringify(this.item));this.callback(t),this.close()},cancel(){this.callback(),this.close()},close(){this.item={},this.callback=null,this.dialog=!1}}},R={};var le=h(re,ie,ae,!1,ce,null,null,null);function ce(t){for(let i in R)this[i]=R[i]}var de=function(){return le.exports}();const me={false:{false:"set",true:"add"},true:{false:"del",true:"set"}};class ue{constructor(i,e,s,o){this._container=i,this._network=e,this._nodes=s,this._colors=o,this._drag=!1,this._rectDOM={}}attach(){this._mousedown=(...i)=>this._mousedownListener(...i),this._mousemove=(...i)=>this._mousemoveListener(...i),this._mouseup=(...i)=>this._mouseupListener(...i),this._afterDrawing=(...i)=>this._afterDrawingListener(...i),this._container.addEventListener("mousedown",this._mousedown),this._container.addEventListener("mousemove",this._mousemove),this._container.addEventListener("mouseup",this._mouseup),this._network.on("afterDrawing",this._afterDrawing),this._oncontextmenu=this._container.oncontextmenu,this._container.oncontextmenu=()=>!1}detach(){this._container.removeEventListener("mousedown",this._mousedown),this._container.removeEventListener("mousemove",this._mousemove),this._container.removeEventListener("mouseup",this._mouseup),this._network.off("afterDrawing",this._afterDrawing),this._container.oncontextmenu=this._oncontextmenu,this._network.redraw()}get _rectCanvas(){let{x:i,y:e}=this._network.DOMtoCanvas({x:this._rectDOM.startX,y:this._rectDOM.startY}),{x:s,y:o}=this._network.DOMtoCanvas({x:this._rectDOM.endX,y:this._rectDOM.endY});return[i,s]=this._orderPair(i,s),[e,o]=this._orderPair(e,o),{startX:i,startY:e,endX:s,endY:o}}_orderPair(i,e){return i{const{x:m,y:p}=this._network.getPositions(c)[c];return s<=m&&m<=a&&o<=p&&p<=n}).map(({id:c})=>c);this._network.selectNodes(this._prepareNodeSelection(l,i));const r={x:e.offsetX,y:e.offsetY};this._network.emit("select",{...this._network.getSelection(),event:e,pointer:{DOM:r,canvas:this._network.DOMtoCanvas(r)}})}_prepareNodeSelection(i,e){if(e==="set")return i;const s=this._network.getSelectedNodes();if(e==="add")return[...new Set([...s,...i])];if(e==="del")return s.filter(o=>!i.includes(o))}_mousedownListener({which:i,offsetX:e,offsetY:s}){i===3&&(this._rectDOM.startX=e-this._container.offsetLeft,this._rectDOM.startY=s-this._container.offsetTop,this._rectDOM.endX=e-this._container.offsetLeft,this._rectDOM.endY=s-this._container.offsetTop,this._drag=!0)}_mousemoveListener({which:i,offsetX:e,offsetY:s}){i!==3&&this._drag?(this._drag=!1,this._network.redraw()):this._drag&&(this._rectDOM.endX=e-this._container.offsetLeft,this._rectDOM.endY=s-this._container.offsetTop,this._network.redraw())}_mouseupListener({which:i,ctrlKey:e,shiftKey:s}){i===3&&(this._drag=!1,this._network.redraw(),this._selectNodes(me[e][s],event))}_afterDrawingListener(i){if(this._drag){const{startX:e,startY:s,endX:o,endY:a}=this._rectCanvas;i.lineWidth=4,i.strokeStyle=this._colors.border,i.strokeRect(e,s,o-e,a-s),i.fillStyle=this._colors.background,i.fillRect(e,s,o-e,a-s)}}}let U=null;function V(t,i){if(i.event.srcEvent.ctrlKey){const e=i.event;if(U===e)return;U=e,i.nodes.every(s=>i.previousSelection.nodes.indexOf(s)!==-1)&&i.edges.every(s=>i.previousSelection.edges.indexOf(s)!==-1)?t.setSelection({nodes:i.previousSelection.nodes.filter(s=>i.nodes.indexOf(s)===-1),edges:i.previousSelection.edges.filter(s=>i.edges.indexOf(s)===-1)}):t.setSelection({nodes:[...new Set([...i.nodes,...i.previousSelection.nodes])],edges:[...new Set([...i.edges,...i.previousSelection.edges])]})}}let _;const he=new Uint8Array(16);function pe(){if(!_&&(_=typeof crypto!="undefined"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!_))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return _(he)}const d=[];for(let t=0;t<256;++t)d.push((t+256).toString(16).slice(1));function ve(t,i=0){return d[t[i+0]]+d[t[i+1]]+d[t[i+2]]+d[t[i+3]]+"-"+d[t[i+4]]+d[t[i+5]]+"-"+d[t[i+6]]+d[t[i+7]]+"-"+d[t[i+8]]+d[t[i+9]]+"-"+d[t[i+10]]+d[t[i+11]]+d[t[i+12]]+d[t[i+13]]+d[t[i+14]]+d[t[i+15]]}const fe=typeof crypto!="undefined"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto);var j={randomUUID:fe};function y(t,i,e){if(j.randomUUID&&!i&&!t)return j.randomUUID();t=t||{};const s=t.random||(t.rng||pe)();if(s[6]=s[6]&15|64,s[8]=s[8]&63|128,i){e=e||0;for(let o=0;o<16;++o)i[e+o]=s[o];return i}return ve(s)}var _e=function(){var t=this,i=t.$createElement,e=t._self._c||i;return e("div",{staticClass:"component-container",attrs:{tabindex:"0"},on:{mousemove:t.moveMouseTag,drag:t.moveMouseTag,mouseover:t.focusRoot,keydown:t.keypress}},[t.loading!==!1?e("LoadingSpinner"):[e("VisCanvas",{attrs:{"data-cy":"vis",dark:t.dark},on:{ready:t.init}}),t.newItem.type!==""?e("div",{staticClass:"mouse-tag",style:{left:t.mouseTag.x+"px",top:t.mouseTag.y+"px"}},[e("v-icon",{attrs:{color:"black"}},[t._v(t._s(t.mouseTagIcon))])],1):t._e(),e("v-snackbar",{attrs:{"data-cy-type":t.snackbar.type,"data-cy-values":JSON.stringify(t.snackbar.values),"data-cy":"vis-snackbar"},model:{value:t.snackbar.show,callback:function(s){t.$set(t.snackbar,"show",s)},expression:"snackbar.show"}},[t._v(" "+t._s(t.snackbar.message)+" "),e("v-btn",{attrs:{color:"primary",text:""},on:{click:function(s){return t.snackbar.actionFunction()}}},[t._v(" "+t._s(t.snackbar.actionName)+" ")])],1)]],2)},ye=[];function x(t=()=>{},i=0){let e=null;return()=>{window.clearTimeout(e),e=window.setTimeout(()=>{t(),e=null},i)}}const xe=new Map([["undone",()=>"Undone."],["redone",()=>"Redone."],["nothing-to-undo",()=>"Nothing more to undo."],["nothing-to-redo",()=>"Nothing more to redo."],["items-deleted",t=>`${t} item${t===1?"":"s"} deleted.`]]),be={host:2,switch:6},b=["dummy","controller","switch","host","port"],ge={link:(t,i)=>t==="port"&&i==="port",association:(t,i)=>t==="controller"&&i==="switch"||t==="switch"&&i==="port"||t==="host"&&i==="port"||t==="dummy"},g={controller:"c1",host:"h1",port:"eth0",switch:"s1"},we={false:{Delete:"deleteSelected",Escape:"stopEditMode",a:"fitAll",c:"addController",d:"deleteSelected",e:"addEdge",f:"fitSelected",h:"addHost",i:"addIPsDummy",l:"addDummy",p:"addPort",s:"addSwitch",t:"addTypesDummy",z:"setScale"},true:{a:"selectAll",y:"redo",z:"undo"}},$e={name:"VisContainer",components:{LoadingSpinner:A,VisCanvas:ut},data:()=>({dark:q,newItem:{type:null,connectTo:null,label:null,noEdit:!1,set(t,i,e,s){this.type=t||null,this.connectTo=i||null,this.label=e||null,this.noEdit=s||!1}},mouseTag:{x:0,y:0},snackbar:{show:!1,type:void 0,values:void 0,actionName:void 0,actionFunction:void 0,get message(){const t=xe.get(this.type);return t?t(...this.values):"Unknown message type."}}}),computed:{...J("topology",["data"]),loading(){return this.$store.state.loading},mouseTagIcon(){return"$vuetify.icons.net-"+this.newItem.type}},mounted(){this.focusRoot()},methods:{moveMouseTag({clientX:t,clientY:i}){this.mouseTag.x=t,this.mouseTag.y=i},addEdge(){this.newItem.set("edge"),this.net.addEdgeMode()},addController(){this.newItem.set("controller"),this.net.addNodeMode()},addDummy(){this.newItem.set("dummy"),this.net.addNodeMode()},addIPsDummy(){this.newItem.set("dummy",["port","host","switch","controller"],"{{IPS}}",!0),this.net.addNodeMode()},addTypesDummy(){this.newItem.set("dummy",["switch","controller"],"{{TYPES}}",!0),this.net.addNodeMode()},addHost(){this.newItem.set("host"),this.net.addNodeMode()},addPort(){this.newItem.set("port",["host","switch"]),this.net.addNodeMode()},addSwitch(){this.newItem.set("switch"),this.net.addNodeMode()},deleteSelected(){const{nodes:t,edges:i}=this.net.getSelection(),e=t.length+i.length;e&&(this.commit("removeItems",[...t,...i]),this.showSnackbar("items-deleted",[e],"Undo",this.undo),this.updateURLSelection())},selectAll(){this.net.setSelection({nodes:this.nodes.getIds(),edges:this.edges.getIds()}),this.updateURLPosition(),this.updateURLSelection()},fitAll(){this.net.fit({animation:!0}),this.clearURLPosition()},fitSelected(t=!0){this.net.fit({nodes:this.net.getSelectedNodes(),animation:t}),this.clearURLPosition()},setScale(t){this.net.moveTo({scale:t!=null?t:1,animation:!0}),this.updateURLPosition()},undo(){try{this.commit("undo"),this.showSnackbar("undone")}catch{this.showSnackbar("nothing-to-undo")}},redo(){try{this.commit("redo"),this.showSnackbar("redone")}catch{this.showSnackbar("nothing-to-redo")}},showSnackbar(t,i=[],e="Close",s=()=>{this.snackbar.show=!1}){this.snackbar.type=t,this.snackbar.values=i,this.snackbar.actionName=e,this.snackbar.actionFunction=s,this.snackbar.show=!1,window.setTimeout(()=>{this.snackbar.show=!0})},stopEditMode(){this.newItem.set(),this.net.disableEditMode()},async editItem(t,i){const e=this.data.items[t.id]||{id:t.id,type:t.group,hostname:t.label},s=await new Promise(o=>{this.$emit("edit-item",e,o)});return this.focusRoot(),s?(t.from&&t.to&&(s.from=t.from,s.to=t.to),i!==!1&&this.commit("replaceItems",[s]),{node:t,item:s}):(this.stopEditMode(),{})},commit(t,i){this.$store.dispatch(`topology/${t}`,i)},commitPositions(t){const i=this.net.getPositions(t),e=Object.keys(i).map(s=>({...i[s],id:s}));this.commit("updateItems",e)},commitUncommitedPositions(){const t=this.nodes.get().filter(({x:i,y:e})=>i==null||e==null).map(({id:i})=>i);t.length&&this.commitPositions(t)},orderNodes(t){const i=this.data.items[t.from].type,e=this.data.items[t.to].type;if(b.indexOf(i)>b.indexOf(e)){const s=t.from;t.from=t.to,t.to=s}},getEdgeType(t){const i=this.data.items[t.id];if(i&&i.type)return i.type;const e=this.data.items[t.from].type,s=this.data.items[t.to].type;return e==="port"&&s==="port"?"link":"association"},isEdgeValid(t,i){const e=this.data.items[t.from].type,s=this.data.items[t.to].type;return ge[i](e,s)},generateOrganizedPortCoors({x:t,y:i},e){const s=e<=8?50:30,o=e<=8?0:25,a=i+70,n=t-(e-1)*s/2;return[...Array(e)].map((l,r)=>({x:n+s*r,y:a+(r%2===0?o:0)}))},getConnectedNodes(t,i){return this.net.getConnectedNodes(t).map(e=>this.nodes.get(e)).filter(e=>e.group===i)},organizePorts(t){const i=this.getConnectedNodes(t.id,"port").sort(ht),e=this.generateOrganizedPortCoors(this.net.getPositions([t.id])[t.id],i.length);this.commit("updateItems",e.map((s,o)=>({...s,id:i[o].id})))},getNextHostname(t,i){if(!t.length)return i;const e=t.sort(pt)[t.length-1],s=/^(.*?)(\d+)([^\d]*?)$/.exec(e);if(s==null)return i;const[,o,a,n]=s;return`${o}${+a+1}${n}`},getNextFreeHostname(t,i){return t==="port"?i==null?g[t]:this.getNextHostname(this.getConnectedNodes(i,t).map(({id:e})=>this.data.items[e].hostname),g[t]):this.getNextHostname(this.nodes.get().filter(e=>e.group===t).map(({id:e})=>this.data.items[e].hostname),g[t])},getClosestId(t,i,e,s){const o=this.nodes.getIds().filter(r=>e.indexOf(this.data.items[r].type)!==-1),a=this.net.getPositions(o),n=o.map(r=>Math.hypot(a[r].x-t,a[r].y-i)),l=n.reduce((r,c,m)=>cthis.nodes.get(a)),edges:o.filter(a=>this.edges.get(a))})}i!=null&&e!=null&&s!=null?this.net.moveTo({position:{x:+i,y:+e},scale:+s}):this.fitSelected(!1)},init({container:t,net:i,nodes:e,edges:s}){this.net=i,this.nodes=e,this.edges=s,this.commitUncommitedPositions(),this.net.setOptions({manipulation:{enabled:!1,addNode:async(a,n)=>{n();const l={...this.newItem};this.newItem.set(),a.group=l.type,a.label=l.label;const r=l.connectTo?this.getClosestId(a.x,a.y,l.connectTo,500):null;a.label=l.label||(g[a.group]?this.getNextFreeHostname(a.group,r):"");const{node:c,item:m}=l.noEdit?{node:a,item:{id:a.id,type:a.group,hostname:a.label}}:await this.editItem(a,!1);if(!c)return;m.x=c.x,m.y=c.y;const p=[m];if(r!=null){const u={id:y()};b.indexOf(m.type)>b.indexOf(this.data.items[r].type)?(u.from=r,u.to=c.id):(u.from=c.id,u.to=r),p.push({id:u.id,type:"association",from:u.from,to:u.to})}const k=be[c.group]||0;if(k>0){const u=this.generateOrganizedPortCoors(c,k);for(let f=0;f{this.newItem.set(),await this.editItem(a),n()},addEdge:async(a,n)=>{n(),this.orderNodes(a);const l=this.getEdgeType(a);this.isEdgeValid(a,l)&&(a.id=a.id||y(),a.group=l,a.label="",await this.editItem(a)),this.newItem.set()},editEdge:async(a,n)=>{this.orderNodes(a),this.isEdgeValid(a,this.getEdgeType(a))&&await this.editItem(a),n(),this.newItem.set()}}}),this.net.on("deselectNode",V.bind(null,this.net)),this.net.on("deselectEdge",V.bind(null,this.net)),this.net.on("doubleClick",async a=>{if(a.nodes.length===0&&a.edges.length===1){const n=a.edges[0];await this.editItem(this.edges.get(n))}else a.nodes.length===1&&this.net.editNode()}),this.net.on("hold",a=>{if(a.nodes.length===0&&a.edges.length===1)this.net.editEdgeMode();else if(a.nodes.length===1){const n=this.nodes.get(a.nodes[0]);(n.group==="host"||n.group==="switch")&&this.organizePorts(n)}}),this.net.on("dragEnd",a=>{a.nodes.length>0&&this.commitPositions(a.nodes)}),this.net.on("dragStart",a=>{if(a.nodes.length!==1)return;const n=this.data.items[a.nodes[0]];if(!(n.type==="host"||n.type==="switch"))return;const l=new Set;this.net.getSelectedEdges().forEach(c=>{const m=this.edges.get(c);l.add(m.to),l.add(m.from)});const r=[...l].filter(c=>this.data.items[c].type==="port");r.length&&this.net.selectNodes([a.nodes[0],...r])}),this.net.on("dragEnd",x(this.updateURLPosition)),this.net.on("select",x(this.updateURLPosition)),this.net.on("select",x(this.updateURLSelection)),this.net.on("zoom",x(this.updateURLPosition,200)),this.applyURL(),new ue(t,this.net,this.nodes,Q).attach()}}},H={};var ke=h($e,_e,ye,!1,Se,"158ed016",null,null);function Se(t){for(let i in H)this[i]=H[i]}var Pe=function(){return ke.exports}(),Ee=function(){var t=this,i=t.$createElement,e=t._self._c||i;return e("div",{staticClass:"canvas-container"},[t.loading!==!1?e("LoadingSpinner"):[e("VisContainer",{ref:"vis",on:{"edit-item":t.editItem}}),e("Edit",{ref:"edit"}),t.isView?t._e():e("v-speed-dial",{staticStyle:{position:"fixed"},attrs:{bottom:"",right:"","open-on-hover":""},scopedSlots:t._u([{key:"activator",fn:function(){return[e("v-btn",{attrs:{fab:"",dark:"",color:"primary","data-cy":"fab-activator"},model:{value:t.fab,callback:function(s){t.fab=s},expression:"fab"}},[t.fab?e("v-icon",[t._v("mdi-chevron-down")]):e("v-icon",[t._v("mdi-chevron-up")])],1)]},proxy:!0}],null,!1,3737180510),model:{value:t.fab,callback:function(s){t.fab=s},expression:"fab"}},[e("v-btn",{attrs:{color:t.theme.edge.menu,fab:"",dark:"",small:"",title:"Edge","data-cy":"fab-edge"},on:{click:function(s){return t.$refs.vis.addEdge()}}},[e("v-icon",[t._v("$vuetify.icons.net-edge")])],1),e("v-btn",{attrs:{color:t.theme.port.menu,fab:"",dark:"",small:"",title:"Port","data-cy":"fab-port"},on:{click:function(s){return t.$refs.vis.addPort()}}},[e("v-icon",[t._v("$vuetify.icons.net-port")])],1),e("v-btn",{attrs:{color:t.theme.host.menu,fab:"",dark:"",small:"",title:"Host","data-cy":"fab-host"},on:{click:function(s){return t.$refs.vis.addHost()}}},[e("v-icon",[t._v("$vuetify.icons.net-host")])],1),e("v-btn",{attrs:{color:t.theme.switch.menu,fab:"",dark:"",small:"",title:"Switch","data-cy":"fab-switch"},on:{click:function(s){return t.$refs.vis.addSwitch()}}},[e("v-icon",[t._v("$vuetify.icons.net-switch")])],1),e("v-btn",{attrs:{color:t.theme.controller.menu,fab:"",dark:"",small:"",title:"Controller","data-cy":"fab-controller"},on:{click:function(s){return t.$refs.vis.addController()}}},[e("v-icon",[t._v("$vuetify.icons.net-controller")])],1),e("v-btn",{attrs:{color:t.theme.dummy.menu,fab:"",dark:"",small:"",title:"Label","data-cy":"fab-dummy"},on:{click:function(s){return t.$refs.vis.addDummy()}}},[e("v-icon",[t._v("$vuetify.icons.net-label")])],1),e("v-btn",{attrs:{fab:"",dark:"",small:"",color:"red",title:"Delete","data-cy":"fab-delete"},on:{click:function(s){return t.$refs.vis.deleteSelected()}}},[e("v-icon",[t._v("mdi-delete")])],1)],1)]],2)},Ce=[];const Ie={name:"CanvasPage",components:{Edit:de,LoadingSpinner:A,VisContainer:Pe},data:()=>({fab:!1,theme:W}),computed:{loading(){return this.$store.state.loading},isView(){return this.$route.meta.isView}},methods:{editItem(t,i){this.$refs.edit.edit(t,i)}}},F={};var Le=h(Ie,Ee,Ce,!1,Me,"c81ae480",null,null);function Me(t){for(let i in F)this[i]=F[i]}var Re=function(){return Le.exports}();export{Re as default}; diff --git a/assets/ExportPage.28ab21bb.js b/assets/ExportPage.3bd7843c.js similarity index 99% rename from assets/ExportPage.28ab21bb.js rename to assets/ExportPage.3bd7843c.js index aa82f19e4..4758ab341 100644 --- a/assets/ExportPage.28ab21bb.js +++ b/assets/ExportPage.3bd7843c.js @@ -1,4 +1,4 @@ -var x1=Object.defineProperty;var y1=(u,t,e)=>t in u?x1(u,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):u[t]=e;var Ut=(u,t,e)=>(y1(u,typeof t!="symbol"?t+"":t,e),e);import{_ as hc,g as Do,v as v1,m as kc,n as Kr,h as Mo,j as w1}from"./js/app-cab9cb86.js";import{a as A1,V as T1}from"./VisCanvas.870126cf.js";import{d as N1,e as E1,m as S1,L as L1}from"./LoadingSpinner.9d8d5b2a.js";function T0(u){return T0=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},T0(u)}var Te=Uint8Array,Ne=Uint16Array,zr=Uint32Array,Sa=new Te([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),La=new Te([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),fc=new Te([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Oh=function(u,t){for(var e=new Ne(31),i=0;i<31;++i)e[i]=t+=1<>>1|(k0&21845)<<1;mn=(mn&52428)>>>2|(mn&13107)<<2,mn=(mn&61680)>>>4|(mn&3855)<<4,pc[k0]=((mn&65280)>>>8|(mn&255)<<8)>>>1}var Si=function(u,t,e){for(var i=u.length,n=0,r=new Ne(t);n>>l]=p}else for(c=new Ne(i),n=0;n>>15-u[n];return c},Tn=new Te(288);for(var k0=0;k0<144;++k0)Tn[k0]=8;for(var k0=144;k0<256;++k0)Tn[k0]=9;for(var k0=256;k0<280;++k0)Tn[k0]=7;for(var k0=280;k0<288;++k0)Tn[k0]=8;var $r=new Te(32);for(var k0=0;k0<32;++k0)$r[k0]=5;var R1=Si(Tn,9,0),P1=Si(Tn,9,1),I1=Si($r,5,0),k1=Si($r,5,1),Ho=function(u){for(var t=u[0],e=1;et&&(t=u[e]);return t},oi=function(u,t,e){var i=t/8>>0;return(u[i]|u[i+1]<<8)>>>(t&7)&e},Bo=function(u,t){var e=t/8>>0;return(u[e]|u[e+1]<<8|u[e+2]<<16)>>>(t&7)},Oc=function(u){return(u/8>>0)+(u&7&&1)},Hh=function(u,t,e){(t==null||t<0)&&(t=0),(e==null||e>u.length)&&(e=u.length);var i=new(u instanceof Ne?Ne:u instanceof zr?zr:Te)(e-t);return i.set(u.subarray(t,e)),i},O1=function(u,t,e){var i=u.length,n=!t||e,r=!e||e.i;e||(e={}),t||(t=new Te(i*3));var a=function(Q){var ht=t.length;if(Q>ht){var ft=new Te(Math.max(ht*2,Q));ft.set(t),t=ft}},c=e.f||0,l=e.p||0,p=e.b||0,b=e.l,x=e.d,y=e.m,m=e.n,A=i*8;do{if(!b){e.f=c=oi(u,l,1);var T=oi(u,l+1,3);if(l+=3,T)if(T==1)b=P1,x=k1,y=9,m=5;else if(T==2){var C=oi(u,l,31)+257,D=oi(u,l+10,15)+4,W=C+oi(u,l+5,31)+1;l+=14;for(var Z=new Te(W),B=new Te(19),O=0;OA)break;for(var R=Si(B,et,1),O=0;O>>4;if(I<16)Z[O++]=I;else{var z=0,q=0;for(I==16?(q=3+oi(u,l,3),l+=2,z=Z[O-1]):I==17?(q=3+oi(u,l,7),l+=3):I==18&&(q=11+oi(u,l,127),l+=7);q--;)Z[O++]=z}}var ot=Z.subarray(0,C),V=Z.subarray(C);y=Ho(ot),m=Ho(V),b=Si(ot,y,1),x=Si(V,m,1)}else throw"invalid block type";else{var I=Oc(l)+4,_=u[I-4]|u[I-3]<<8,S=I+_;if(S>i){if(r)throw"unexpected EOF";break}n&&a(p+_),t.set(u.subarray(I,S),p),e.b=p+=_,e.p=l=S*8;continue}if(l>A)throw"unexpected EOF"}n&&a(p+131072);for(var $=(1<>>4;if(l+=z&15,l>A)throw"unexpected EOF";if(!z)throw"invalid length/literal";if(st<256)t[p++]=st;else if(st==256){b=null;break}else{var bt=st-254;if(st>264){var O=st-257,v=Sa[O];bt=oi(u,l,(1<>>4;if(!H)throw"invalid distance";l+=H&15;var V=C1[U];if(U>3){var v=La[U];V+=Bo(u,l)&(1<A)throw"unexpected EOF";n&&a(p+131072);for(var K=p+bt;p>0;u[i]|=e,u[i+1]|=e>>>8},Cr=function(u,t,e){e<<=t&7;var i=t/8>>0;u[i]|=e,u[i+1]|=e>>>8,u[i+2]|=e>>>16},jo=function(u,t){for(var e=[],i=0;iy&&(y=r[i].s);var m=new Ne(y+1),A=mc(e[b-1],m,0);if(A>t){var i=0,T=0,I=A-t,_=1<t)T+=_-(1<>>=I;T>0;){var C=r[i].s;m[C]=0&&T;--i){var D=r[i].s;m[D]==t&&(--m[D],++T)}A=t}return[new Te(m),A]},mc=function(u,t,e){return u.s==-1?Math.max(mc(u.l,t,e+1),mc(u.r,t,e+1)):t[u.s]=e},T2=function(u){for(var t=u.length;t&&!u[--t];);for(var e=new Ne(++t),i=0,n=u[0],r=1,a=function(l){e[i++]=l},c=1;c<=t;++c)if(u[c]==n&&c!=t)++r;else{if(!n&&r>2){for(;r>138;r-=138)a(32754);r>2&&(a(r>10?r-11<<5|28690:r-3<<5|12305),r=0)}else if(r>3){for(a(n),--r;r>6;r-=6)a(8304);r>2&&(a(r-3<<5|8208),r=0)}for(;r--;)a(n);r=1,n=u[c]}return[e.subarray(0,i),t]},Rr=function(u,t){for(var e=0,i=0;i>>8,u[n+2]=u[n]^255,u[n+3]=u[n+1]^255;for(var r=0;r4&&!tt[fc[w-1]];--w);var z=p+5<<3,q=Rr(n,Tn)+Rr(r,$r)+a,ot=Rr(n,y)+Rr(r,T)+a+14+3*w+Rr(B,tt)+(2*B[16]+3*B[17]+7*B[18]);if(z<=q&&z<=ot)return ta(t,b,u.subarray(l,l+p));var V,$,Y,J;if($i(t,b,1+(ot15&&($i(t,b,H[O]>>>5&127),b+=H[O]>>>12)}}else V=R1,$=Tn,Y=I1,J=$r;for(var O=0;O255){var U=i[O]>>>18&31;Cr(t,b,V[U+257]),b+=$[U+257],U>7&&($i(t,b,i[O]>>>23&31),b+=Sa[U]);var K=i[O]&31;Cr(t,b,Y[K]),b+=J[K],K>3&&(Cr(t,b,i[O]>>>5&8191),b+=La[K])}else Cr(t,b,V[i[O]]),b+=$[i[O]];return Cr(t,b,V[256]),b+$[256]},F1=new zr([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),D1=new Te(0),M1=function(u,t,e,i,n,r){var a=u.length,c=new Te(i+a+5*(1+Math.floor(a/7e3))+n),l=c.subarray(i,c.length-n),p=0;if(!t||a<8)for(var b=0;b<=a;b+=65535){var x=b+65535;x>>13,A=y&8191,T=(1<7e3||tt>24576)&&V>423){p=N2(u,l,0,W,Z,B,et,tt,w,b-w,p),tt=O=et=0,w=b;for(var $=0;$<286;++$)Z[$]=0;for(var $=0;$<30;++$)B[$]=0}var Y=2,J=0,st=A,bt=q-ot&32767;if(V>2&&z==D(b-bt))for(var v=Math.min(m,V)-1,H=Math.min(32767,b),U=Math.min(258,V);bt<=H&&--st&&q!=ot;){if(u[b+Y]==u[b+Y-bt]){for(var K=0;KY){if(Y=K,J=bt,K>v)break;for(var Q=Math.min(bt,K-2),ht=0,$=0;$ht&&(ht=Ct,ot=ft)}}}q=ot,ot=I[q],bt+=q-ot+32768&32767}if(J){W[tt++]=268435456|dc[Y]<<18|A2[J];var St=dc[Y]&31,Ft=A2[J]&31;et+=Sa[St]+La[Ft],++Z[257+St],++B[Ft],R=b+Y,++O}else W[tt++]=u[b],++Z[u[b]]}}p=N2(u,l,r,W,Z,B,et,tt,w,b-w,p),r||(p=ta(l,p,D1))}return Hh(c,0,i+Oc(p)+n)},H1=function(){var u=1,t=0;return{p:function(e){for(var i=u,n=t,r=e.length,a=0;a!=r;){for(var c=Math.min(a+5552,r);a>>8<<16|(t&255)<<8|t>>>8)+((u&255)<<23)*2}}},B1=function(u,t,e,i,n){return M1(u,t.level==null?6:t.level,t.mem==null?Math.ceil(Math.max(8,Math.min(13,Math.log(u.length)))*1.5):12+t.mem,e,i,!n)},j1=function(u,t,e){for(;e;++t)u[t]=e,e>>>=8},U1=function(u,t){var e=t.level,i=e==0?0:e<6?1:e==9?3:2;u[0]=120,u[1]=i<<6|(i?32-2*i:1)},q1=function(u){if((u[0]&15)!=8||u[0]>>>4>7||(u[0]<<8|u[1])%31)throw"invalid zlib data";if(u[1]&32)throw"invalid zlib data: preset dictionaries not supported"};function bc(u,t){t===void 0&&(t={});var e=H1();e.p(u);var i=B1(u,t,2,4);return U1(i,t),j1(i,i.length-4,e.d()),i}function z1(u,t){return O1((q1(u),u.subarray(2,-4)),t)}var Jt=function(){return typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:this}();function Uo(){Jt.console&&typeof Jt.console.log=="function"&&Jt.console.log.apply(Jt.console,arguments)}var C0={log:Uo,warn:function(u){Jt.console&&(typeof Jt.console.warn=="function"?Jt.console.warn.apply(Jt.console,arguments):Uo.call(null,arguments))},error:function(u){Jt.console&&(typeof Jt.console.error=="function"?Jt.console.error.apply(Jt.console,arguments):Uo(u))}};function qo(u,t,e){var i=new XMLHttpRequest;i.open("GET",u),i.responseType="blob",i.onload=function(){zn(i.response,t,e)},i.onerror=function(){C0.error("could not download file")},i.send()}function E2(u){var t=new XMLHttpRequest;t.open("HEAD",u,!1);try{t.send()}catch{}return t.status>=200&&t.status<=299}function Ws(u){try{u.dispatchEvent(new MouseEvent("click"))}catch{var t=document.createEvent("MouseEvents");t.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),u.dispatchEvent(t)}}var Br,gc,zn=Jt.saveAs||((typeof window=="undefined"?"undefined":T0(window))!=="object"||window!==Jt?function(){}:typeof HTMLAnchorElement!="undefined"&&"download"in HTMLAnchorElement.prototype?function(u,t,e){var i=Jt.URL||Jt.webkitURL,n=document.createElement("a");t=t||u.name||"download",n.download=t,n.rel="noopener",typeof u=="string"?(n.href=u,n.origin!==location.origin?E2(n.href)?qo(u,t,e):Ws(n,n.target="_blank"):Ws(n)):(n.href=i.createObjectURL(u),setTimeout(function(){i.revokeObjectURL(n.href)},4e4),setTimeout(function(){Ws(n)},0))}:"msSaveOrOpenBlob"in navigator?function(u,t,e){if(t=t||u.name||"download",typeof u=="string")if(E2(u))qo(u,t,e);else{var i=document.createElement("a");i.href=u,i.target="_blank",setTimeout(function(){Ws(i)})}else navigator.msSaveOrOpenBlob(function(n,r){return r===void 0?r={autoBom:!1}:T0(r)!=="object"&&(C0.warn("Deprecated: Expected third argument to be a object"),r={autoBom:!r}),r.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(n.type)?new Blob([String.fromCharCode(65279),n],{type:n.type}):n}(u,e),t)}:function(u,t,e,i){if((i=i||open("","_blank"))&&(i.document.title=i.document.body.innerText="downloading..."),typeof u=="string")return qo(u,t,e);var n=u.type==="application/octet-stream",r=/constructor/i.test(Jt.HTMLElement)||Jt.safari,a=/CriOS\/[\d]+/.test(navigator.userAgent);if((a||n&&r)&&(typeof FileReader=="undefined"?"undefined":T0(FileReader))==="object"){var c=new FileReader;c.onloadend=function(){var b=c.result;b=a?b:b.replace(/^data:[^;]*;/,"data:attachment/file;"),i?i.location.href=b:location=b,i=null},c.readAsDataURL(u)}else{var l=Jt.URL||Jt.webkitURL,p=l.createObjectURL(u);i?i.location=p:location.href=p,i=null,setTimeout(function(){l.revokeObjectURL(p)},4e4)}});/** +var x1=Object.defineProperty;var y1=(u,t,e)=>t in u?x1(u,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):u[t]=e;var Ut=(u,t,e)=>(y1(u,typeof t!="symbol"?t+"":t,e),e);import{_ as hc,g as Do,v as v1,m as kc,n as Kr,h as Mo,j as w1}from"./js/app-4881d322.js";import{a as A1,V as T1}from"./VisCanvas.4e4e5723.js";import{d as N1,e as E1,m as S1,L as L1}from"./LoadingSpinner.26780557.js";function T0(u){return T0=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},T0(u)}var Te=Uint8Array,Ne=Uint16Array,zr=Uint32Array,Sa=new Te([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),La=new Te([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),fc=new Te([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Oh=function(u,t){for(var e=new Ne(31),i=0;i<31;++i)e[i]=t+=1<>>1|(k0&21845)<<1;mn=(mn&52428)>>>2|(mn&13107)<<2,mn=(mn&61680)>>>4|(mn&3855)<<4,pc[k0]=((mn&65280)>>>8|(mn&255)<<8)>>>1}var Si=function(u,t,e){for(var i=u.length,n=0,r=new Ne(t);n>>l]=p}else for(c=new Ne(i),n=0;n>>15-u[n];return c},Tn=new Te(288);for(var k0=0;k0<144;++k0)Tn[k0]=8;for(var k0=144;k0<256;++k0)Tn[k0]=9;for(var k0=256;k0<280;++k0)Tn[k0]=7;for(var k0=280;k0<288;++k0)Tn[k0]=8;var $r=new Te(32);for(var k0=0;k0<32;++k0)$r[k0]=5;var R1=Si(Tn,9,0),P1=Si(Tn,9,1),I1=Si($r,5,0),k1=Si($r,5,1),Ho=function(u){for(var t=u[0],e=1;et&&(t=u[e]);return t},oi=function(u,t,e){var i=t/8>>0;return(u[i]|u[i+1]<<8)>>>(t&7)&e},Bo=function(u,t){var e=t/8>>0;return(u[e]|u[e+1]<<8|u[e+2]<<16)>>>(t&7)},Oc=function(u){return(u/8>>0)+(u&7&&1)},Hh=function(u,t,e){(t==null||t<0)&&(t=0),(e==null||e>u.length)&&(e=u.length);var i=new(u instanceof Ne?Ne:u instanceof zr?zr:Te)(e-t);return i.set(u.subarray(t,e)),i},O1=function(u,t,e){var i=u.length,n=!t||e,r=!e||e.i;e||(e={}),t||(t=new Te(i*3));var a=function(Q){var ht=t.length;if(Q>ht){var ft=new Te(Math.max(ht*2,Q));ft.set(t),t=ft}},c=e.f||0,l=e.p||0,p=e.b||0,b=e.l,x=e.d,y=e.m,m=e.n,A=i*8;do{if(!b){e.f=c=oi(u,l,1);var T=oi(u,l+1,3);if(l+=3,T)if(T==1)b=P1,x=k1,y=9,m=5;else if(T==2){var C=oi(u,l,31)+257,D=oi(u,l+10,15)+4,W=C+oi(u,l+5,31)+1;l+=14;for(var Z=new Te(W),B=new Te(19),O=0;OA)break;for(var R=Si(B,et,1),O=0;O>>4;if(I<16)Z[O++]=I;else{var z=0,q=0;for(I==16?(q=3+oi(u,l,3),l+=2,z=Z[O-1]):I==17?(q=3+oi(u,l,7),l+=3):I==18&&(q=11+oi(u,l,127),l+=7);q--;)Z[O++]=z}}var ot=Z.subarray(0,C),V=Z.subarray(C);y=Ho(ot),m=Ho(V),b=Si(ot,y,1),x=Si(V,m,1)}else throw"invalid block type";else{var I=Oc(l)+4,_=u[I-4]|u[I-3]<<8,S=I+_;if(S>i){if(r)throw"unexpected EOF";break}n&&a(p+_),t.set(u.subarray(I,S),p),e.b=p+=_,e.p=l=S*8;continue}if(l>A)throw"unexpected EOF"}n&&a(p+131072);for(var $=(1<>>4;if(l+=z&15,l>A)throw"unexpected EOF";if(!z)throw"invalid length/literal";if(st<256)t[p++]=st;else if(st==256){b=null;break}else{var bt=st-254;if(st>264){var O=st-257,v=Sa[O];bt=oi(u,l,(1<>>4;if(!H)throw"invalid distance";l+=H&15;var V=C1[U];if(U>3){var v=La[U];V+=Bo(u,l)&(1<A)throw"unexpected EOF";n&&a(p+131072);for(var K=p+bt;p>0;u[i]|=e,u[i+1]|=e>>>8},Cr=function(u,t,e){e<<=t&7;var i=t/8>>0;u[i]|=e,u[i+1]|=e>>>8,u[i+2]|=e>>>16},jo=function(u,t){for(var e=[],i=0;iy&&(y=r[i].s);var m=new Ne(y+1),A=mc(e[b-1],m,0);if(A>t){var i=0,T=0,I=A-t,_=1<t)T+=_-(1<>>=I;T>0;){var C=r[i].s;m[C]=0&&T;--i){var D=r[i].s;m[D]==t&&(--m[D],++T)}A=t}return[new Te(m),A]},mc=function(u,t,e){return u.s==-1?Math.max(mc(u.l,t,e+1),mc(u.r,t,e+1)):t[u.s]=e},T2=function(u){for(var t=u.length;t&&!u[--t];);for(var e=new Ne(++t),i=0,n=u[0],r=1,a=function(l){e[i++]=l},c=1;c<=t;++c)if(u[c]==n&&c!=t)++r;else{if(!n&&r>2){for(;r>138;r-=138)a(32754);r>2&&(a(r>10?r-11<<5|28690:r-3<<5|12305),r=0)}else if(r>3){for(a(n),--r;r>6;r-=6)a(8304);r>2&&(a(r-3<<5|8208),r=0)}for(;r--;)a(n);r=1,n=u[c]}return[e.subarray(0,i),t]},Rr=function(u,t){for(var e=0,i=0;i>>8,u[n+2]=u[n]^255,u[n+3]=u[n+1]^255;for(var r=0;r4&&!tt[fc[w-1]];--w);var z=p+5<<3,q=Rr(n,Tn)+Rr(r,$r)+a,ot=Rr(n,y)+Rr(r,T)+a+14+3*w+Rr(B,tt)+(2*B[16]+3*B[17]+7*B[18]);if(z<=q&&z<=ot)return ta(t,b,u.subarray(l,l+p));var V,$,Y,J;if($i(t,b,1+(ot15&&($i(t,b,H[O]>>>5&127),b+=H[O]>>>12)}}else V=R1,$=Tn,Y=I1,J=$r;for(var O=0;O255){var U=i[O]>>>18&31;Cr(t,b,V[U+257]),b+=$[U+257],U>7&&($i(t,b,i[O]>>>23&31),b+=Sa[U]);var K=i[O]&31;Cr(t,b,Y[K]),b+=J[K],K>3&&(Cr(t,b,i[O]>>>5&8191),b+=La[K])}else Cr(t,b,V[i[O]]),b+=$[i[O]];return Cr(t,b,V[256]),b+$[256]},F1=new zr([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),D1=new Te(0),M1=function(u,t,e,i,n,r){var a=u.length,c=new Te(i+a+5*(1+Math.floor(a/7e3))+n),l=c.subarray(i,c.length-n),p=0;if(!t||a<8)for(var b=0;b<=a;b+=65535){var x=b+65535;x>>13,A=y&8191,T=(1<7e3||tt>24576)&&V>423){p=N2(u,l,0,W,Z,B,et,tt,w,b-w,p),tt=O=et=0,w=b;for(var $=0;$<286;++$)Z[$]=0;for(var $=0;$<30;++$)B[$]=0}var Y=2,J=0,st=A,bt=q-ot&32767;if(V>2&&z==D(b-bt))for(var v=Math.min(m,V)-1,H=Math.min(32767,b),U=Math.min(258,V);bt<=H&&--st&&q!=ot;){if(u[b+Y]==u[b+Y-bt]){for(var K=0;KY){if(Y=K,J=bt,K>v)break;for(var Q=Math.min(bt,K-2),ht=0,$=0;$ht&&(ht=Ct,ot=ft)}}}q=ot,ot=I[q],bt+=q-ot+32768&32767}if(J){W[tt++]=268435456|dc[Y]<<18|A2[J];var St=dc[Y]&31,Ft=A2[J]&31;et+=Sa[St]+La[Ft],++Z[257+St],++B[Ft],R=b+Y,++O}else W[tt++]=u[b],++Z[u[b]]}}p=N2(u,l,r,W,Z,B,et,tt,w,b-w,p),r||(p=ta(l,p,D1))}return Hh(c,0,i+Oc(p)+n)},H1=function(){var u=1,t=0;return{p:function(e){for(var i=u,n=t,r=e.length,a=0;a!=r;){for(var c=Math.min(a+5552,r);a>>8<<16|(t&255)<<8|t>>>8)+((u&255)<<23)*2}}},B1=function(u,t,e,i,n){return M1(u,t.level==null?6:t.level,t.mem==null?Math.ceil(Math.max(8,Math.min(13,Math.log(u.length)))*1.5):12+t.mem,e,i,!n)},j1=function(u,t,e){for(;e;++t)u[t]=e,e>>>=8},U1=function(u,t){var e=t.level,i=e==0?0:e<6?1:e==9?3:2;u[0]=120,u[1]=i<<6|(i?32-2*i:1)},q1=function(u){if((u[0]&15)!=8||u[0]>>>4>7||(u[0]<<8|u[1])%31)throw"invalid zlib data";if(u[1]&32)throw"invalid zlib data: preset dictionaries not supported"};function bc(u,t){t===void 0&&(t={});var e=H1();e.p(u);var i=B1(u,t,2,4);return U1(i,t),j1(i,i.length-4,e.d()),i}function z1(u,t){return O1((q1(u),u.subarray(2,-4)),t)}var Jt=function(){return typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:this}();function Uo(){Jt.console&&typeof Jt.console.log=="function"&&Jt.console.log.apply(Jt.console,arguments)}var C0={log:Uo,warn:function(u){Jt.console&&(typeof Jt.console.warn=="function"?Jt.console.warn.apply(Jt.console,arguments):Uo.call(null,arguments))},error:function(u){Jt.console&&(typeof Jt.console.error=="function"?Jt.console.error.apply(Jt.console,arguments):Uo(u))}};function qo(u,t,e){var i=new XMLHttpRequest;i.open("GET",u),i.responseType="blob",i.onload=function(){zn(i.response,t,e)},i.onerror=function(){C0.error("could not download file")},i.send()}function E2(u){var t=new XMLHttpRequest;t.open("HEAD",u,!1);try{t.send()}catch{}return t.status>=200&&t.status<=299}function Ws(u){try{u.dispatchEvent(new MouseEvent("click"))}catch{var t=document.createEvent("MouseEvents");t.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),u.dispatchEvent(t)}}var Br,gc,zn=Jt.saveAs||((typeof window=="undefined"?"undefined":T0(window))!=="object"||window!==Jt?function(){}:typeof HTMLAnchorElement!="undefined"&&"download"in HTMLAnchorElement.prototype?function(u,t,e){var i=Jt.URL||Jt.webkitURL,n=document.createElement("a");t=t||u.name||"download",n.download=t,n.rel="noopener",typeof u=="string"?(n.href=u,n.origin!==location.origin?E2(n.href)?qo(u,t,e):Ws(n,n.target="_blank"):Ws(n)):(n.href=i.createObjectURL(u),setTimeout(function(){i.revokeObjectURL(n.href)},4e4),setTimeout(function(){Ws(n)},0))}:"msSaveOrOpenBlob"in navigator?function(u,t,e){if(t=t||u.name||"download",typeof u=="string")if(E2(u))qo(u,t,e);else{var i=document.createElement("a");i.href=u,i.target="_blank",setTimeout(function(){Ws(i)})}else navigator.msSaveOrOpenBlob(function(n,r){return r===void 0?r={autoBom:!1}:T0(r)!=="object"&&(C0.warn("Deprecated: Expected third argument to be a object"),r={autoBom:!r}),r.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(n.type)?new Blob([String.fromCharCode(65279),n],{type:n.type}):n}(u,e),t)}:function(u,t,e,i){if((i=i||open("","_blank"))&&(i.document.title=i.document.body.innerText="downloading..."),typeof u=="string")return qo(u,t,e);var n=u.type==="application/octet-stream",r=/constructor/i.test(Jt.HTMLElement)||Jt.safari,a=/CriOS\/[\d]+/.test(navigator.userAgent);if((a||n&&r)&&(typeof FileReader=="undefined"?"undefined":T0(FileReader))==="object"){var c=new FileReader;c.onloadend=function(){var b=c.result;b=a?b:b.replace(/^data:[^;]*;/,"data:attachment/file;"),i?i.location.href=b:location=b,i=null},c.readAsDataURL(u)}else{var l=Jt.URL||Jt.webkitURL,p=l.createObjectURL(u);i?i.location=p:location.href=p,i=null,setTimeout(function(){l.revokeObjectURL(p)},4e4)}});/** * A class to parse color values * @author Stoyan Stefanov * {@link http://www.phpied.com/rgb-color-parser-in-javascript/} @@ -163,7 +163,7 @@ endobj\r * http://opensource.org/licenses/mit-license */function ci(u,t){if(this.pos=0,this.buffer=u,this.datav=new DataView(u.buffer),this.is_with_alpha=!!t,this.bottom_up=!0,this.flag=String.fromCharCode(this.buffer[0])+String.fromCharCode(this.buffer[1]),this.pos+=2,["BM","BA","CI","CP","IC","PT"].indexOf(this.flag)===-1)throw new Error("Invalid BMP File");this.parseHeader(),this.parseBGR()}function U2(u){function t(O){if(!O)throw Error("assert :P")}function e(O,et,tt){for(var R=0;4>R;R++)if(O[et+R]!=tt.charCodeAt(R))return!0;return!1}function i(O,et,tt,R,w){for(var z=0;zz+1?[]:new et),!(q.length>>0;s&d;)d>>>=1;return d?(s&d-1)+d:s}function tt(s,o,d,g,N){t(!(g%d));do s[o+(g-=d)]=N;while(0=N),512>=N)var P=r(512);else if((P=r(N))==null)return 0;return function(k,F,M,j,nt,dt){var pt,at,At=F,gt=1<pt;++pt){if(ut[pt]>1<(Vt-=ut[pt]))return 0;for(;0=pt;++pt,nt<<=1){if(It+=Vt<<=1,0>(Vt-=ut[pt]))return 0;for(;0Tt&&!(0>=(yt-=ut[Tt]));)++Tt,yt<<=1;gt+=kt=1<<(yt=Tt-M),k[F+(Tt=Bt&wt)].g=yt+M,k[F+Tt].value=At-F-Tt}j.g=pt-M,j.value=dt[at++],tt(k,At+(Bt>>M),nt,kt,j),Bt=et(Bt,pt)}}return It!=2*rt[15]-1?0:gt}(s,o,d,g,N,P)}function w(){this.value=this.g=0}function z(){this.value=this.g=0}function q(){this.G=a(5,w),this.H=r(5),this.jc=this.Qb=this.qb=this.nd=0,this.pd=a(Le,z)}function ot(s,o,d,g){t(s!=null),t(o!=null),t(2147483648>g),s.Ca=254,s.I=0,s.b=-8,s.Ka=0,s.oa=o,s.pa=d,s.Jd=o,s.Yc=d+g,s.Zc=4<=g?d+g-4+1:d,ht(s)}function V(s,o){for(var d=0;0g),s.Sb=g,s.Ra=0,s.u=0,s.h=0,4>>=8,s.Ra+=s.oa[s.pa+s.bb]<>>0,++s.bb,s.u-=8;U(s)&&(s.h=1,s.u=0)}function st(s,o){if(t(0<=o),!s.h&&o<=bu){var d=H(s)&mu[o];return s.u+=o,J(s),d}return s.h=1,s.u=0}function bt(){this.b=this.Ca=this.I=0,this.oa=[],this.pa=0,this.Jd=[],this.Yc=0,this.Zc=[],this.Ka=0}function v(){this.Ra=0,this.oa=[],this.h=this.u=this.bb=this.Sb=this.pa=0}function H(s){return s.Ra>>>(s.u&gu-1)>>>0}function U(s){return t(s.bb<=s.Sb),s.h||s.bb==s.Sb&&s.u>gu}function K(s,o){s.u=o,s.h=U(s)}function Q(s){s.u>=_r&&(t(s.u>=_r),J(s))}function ht(s){t(s!=null&&s.oa!=null),s.pa>>0,s.b+=8):(t(s!=null&&s.oa!=null),s.pas.b&&ht(s);var g=s.b,N=d*o>>>8,P=(s.I>>>g>N)+0;for(P?(d-=N,s.I-=N+1<>>0):d=N+1,g=d,N=0;256<=g;)N+=8,g>>=8;return g=7^N+Ce[g],s.b-=g,s.Ca=(d<>24&255,s[o+1]=d>>16&255,s[o+2]=d>>8&255,s[o+3]=d>>0&255}function St(s,o){return s[o+0]<<0|s[o+1]<<8}function Ft(s,o){return St(s,o)|s[o+2]<<16}function jt(s,o){return St(s,o)|St(s,o+2)<<16}function Yt(s,o){var d=1<=N||0>=P?0:(d[0]=N,g[0]=P,1)}function zt(s,o){return s+(1<>>o}function Lt(s,o){return((4278255360&s)+(4278255360&o)>>>0&4278255360)+((16711935&s)+(16711935&o)>>>0&16711935)>>>0}function Pt(s,o){O[o]=function(d,g,N,P,k,F,M){var j;for(j=0;j>>1)+(s&o)>>>0}function $t(s){return 0<=s&&256>s?s:0>s?0:255>1))}function r0(s,o,d){return Math.abs(o-d)-Math.abs(s-d)}function o0(s,o,d,g,N,P,k){for(g=P[k-1],d=0;d>8&255,M=16711935&(M=(M=16711935&k)+((F<<16)+F));g[N+P]=(4278255360&k)+M>>>0}}function N0(s,o){o.jd=s>>0&255,o.hd=s>>8&255,o.ud=s>>16&255}function Xt(s,o,d,g,N,P){var k;for(k=0;k>>8,j=F,nt=255&(nt=(nt=F>>>16)+((s.jd<<24>>24)*(M<<24>>24)>>>5));j=255&(j=(j=j+((s.hd<<24>>24)*(M<<24>>24)>>>5))+((s.ud<<24>>24)*(nt<<24>>24)>>>5)),N[P+k]=(4278255360&F)+(nt<<16)+j}}function h0(s,o,d,g,N){O[o]=function(P,k,F,M,j,nt,dt,pt,at){for(M=dt;M>P.b,at=P.Ea,At=P.K[0],gt=P.w;if(8>pt)for(P=(1<>=pt}else O["VP8LMapColor"+d](M,j,At,gt,nt,dt,k,F,at)}}function Mt(s,o,d,g,N){for(d=o+d;o>16&255,g[N++]=P>>8&255,g[N++]=P>>0&255}}function le(s,o,d,g,N){for(d=o+d;o>16&255,g[N++]=P>>8&255,g[N++]=P>>0&255,g[N++]=P>>24&255}}function _0(s,o,d,g,N){for(d=o+d;o>16&240|k>>12&15,k=k>>0&240|k>>28&15;g[N++]=P,g[N++]=k}}function Ge(s,o,d,g,N){for(d=o+d;o>16&248|k>>13&7,k=k>>5&224|k>>3&31;g[N++]=P,g[N++]=k}}function S0(s,o,d,g,N){for(d=o+d;o>0&255,g[N++]=P>>8&255,g[N++]=P>>16&255}}function O0(s,o,d,g,N,P){if(P==0)for(d=o+d;o>24|P[1]>>8&65280|P[2]<<8&16711680|P[3]<<24)>>>0),N+=32;else i(g,N,s,o,d)}function di(s,o){O[o][0]=O[s+"0"],O[o][1]=O[s+"1"],O[o][2]=O[s+"2"],O[o][3]=O[s+"3"],O[o][4]=O[s+"4"],O[o][5]=O[s+"5"],O[o][6]=O[s+"6"],O[o][7]=O[s+"7"],O[o][8]=O[s+"8"],O[o][9]=O[s+"9"],O[o][10]=O[s+"10"],O[o][11]=O[s+"11"],O[o][12]=O[s+"12"],O[o][13]=O[s+"13"],O[o][14]=O[s+"0"],O[o][15]=O[s+"0"]}function y0(s){return s==vo||s==wo||s==Ps||s==Ao}function Cn(){this.eb=[],this.size=this.A=this.fb=0}function H0(){this.y=[],this.f=[],this.ea=[],this.F=[],this.Tc=this.Ed=this.Cd=this.Fd=this.lb=this.Db=this.Ab=this.fa=this.J=this.W=this.N=this.O=0}function Ke(){this.Rd=this.height=this.width=this.S=0,this.f={},this.f.RGBA=new Cn,this.f.kb=new H0,this.sd=null}function Ii(){this.width=[0],this.height=[0],this.Pd=[0],this.Qd=[0],this.format=[0]}function B0(){this.Id=this.fd=this.Md=this.hb=this.ib=this.da=this.bd=this.cd=this.j=this.v=this.Da=this.Sd=this.ob=0}function t0(s){return alert("todo:WebPSamplerProcessPlane"),s.T}function v0(s,o){var d=s.T,g=o.ba.f.RGBA,N=g.eb,P=g.fb+s.ka*g.A,k=We[o.ba.S],F=s.y,M=s.O,j=s.f,nt=s.N,dt=s.ea,pt=s.W,at=o.cc,At=o.dc,gt=o.Mc,ut=o.Nc,rt=s.ka,yt=s.ka+s.T,Tt=s.U,wt=Tt+1>>1;for(rt==0?k(F,M,null,null,j,nt,dt,pt,j,nt,dt,pt,N,P,null,null,Tt):(k(o.ec,o.fc,F,M,at,At,gt,ut,j,nt,dt,pt,N,P-g.A,N,P,Tt),++d);rt+2d,N=d==Ls||d==Cs||d==Rs||d==yo||d==12||y0(d);if(o.memory=null,o.Ib=null,o.Jb=null,o.Nd=null,!br(o.Oa,s,N?11:12))return 0;if(N&&y0(d)&&Et(),s.da)alert("todo:use_scaling");else{if(g){if(o.Ib=t0,s.Kb){if(d=s.U+1>>1,o.memory=r(s.U+2*d),o.memory==null)return 0;o.ec=o.memory,o.fc=0,o.cc=o.ec,o.dc=o.fc+s.U,o.Mc=o.cc,o.Nc=o.dc+d,o.Ib=v0,Et()}}else alert("todo:EmitYUV");N&&(o.Jb=Rn,g&<())}if(g&&!r2){for(s=0;256>s;++s)t1[s]=89858*(s-128)+ks>>Is,n1[s]=-22014*(s-128)+ks,i1[s]=-45773*(s-128),e1[s]=113618*(s-128)+ks>>Is;for(s=Tr;s>Is,u1[s-Tr]=Fe(o,255),r1[s-Tr]=Fe(o+8>>4,15);r2=1}return 1}function pi(s){var o=s.ma,d=s.U,g=s.T;return t(!(1&s.ka)),0>=d||0>=g?0:(d=o.Ib(s,o),o.Jb!=null&&o.Jb(s,o,d),o.Dc+=d,1)}function mi(s){s.ma.memory=null}function Gt(s,o,d,g){return st(s,8)!=47?0:(o[0]=st(s,14)+1,d[0]=st(s,14)+1,g[0]=st(s,1),st(s,3)!=0?0:!s.h)}function Ye(s,o){if(4>s)return s+1;var d=s-2>>1;return(2+(1&s)<>4)*s+(8-(15&d)))?d:1;var d}function Ee(s,o,d){var g=H(d),N=s[o+=255&g].g-8;return 0>>0,t(8>=d.g),s.g}function K0(s,o,d){var g=s.xc;return t((o=g==0?0:s.vc[s.md*(d>>g)+(o>>g)])>kt.b)*It;gtTt&&(f0=Tt),(0,nn[x0[w0++]>>8&15])(pt,at+ +g0,rt,yt+g0-Tt,f0-g0,rt,yt+g0),g0=f0}at+=Tt,yt+=Tt,++gt&Bt||(kt+=It)}dt!=j.nc&&i(M,F-At,M,F+(dt-nt-1)*At,At);break;case 1:for(At=pt,ut=at,Tt=(pt=j.Ea)-(yt=pt&~(rt=(at=1<>j.b)*gt;nt=N),0P.o&&(g=P.o),d=g?d=0:(N[0]+=4*P.v,P.ka=d-P.j,P.U=P.va-P.v,P.T=g-d,d=1),d){if(F=F[0],11>(d=s.ca).S){var nt=d.f.RGBA,dt=(g=d.S,N=P.U,P=P.T,j=nt.eb,nt.A),pt=P;for(nt=nt.fb+s.Ma*nt.A;0g){var N=s.l.width,P=d.ca,k=d.tb+N*g,F=s.V,M=s.Ba+s.c*g,j=s.gc;t(s.ab==1),t(j[0].hc==3),go(j[0],g,o,F,M,P,k),Je(d,g,o,P,k,N)}s.C=s.Ma=o}function Ze(s,o,d,g,N,P,k){var F=s.$/g,M=s.$%g,j=s.m,nt=s.s,dt=d+s.$,pt=dt;N=d+g*N;var at=d+g*P,At=280+nt.ua,gt=s.Pb?F:16777216,ut=0=gt){var Bt=dt-d;t((gt=s).Pb),gt.wd=gt.m,gt.xd=Bt,0Vt.g?(K(wt,wt.u+Vt.g),Bt[It]=Vt.value,wt=0):(K(wt,wt.u+Vt.g-256),t(256<=Vt.value),wt=Vt.value),wt==0&&(Tt=!0)}else wt=Ee(yt.G[0],yt.H[0],j);if(j.h)break;if(Tt||256>wt){if(!Tt)if(yt.nd)o[dt]=(yt.qb|wt<<8)>>>0;else{if(Q(j),Tt=Ee(yt.G[1],yt.H[1],j),Q(j),Bt=Ee(yt.G[2],yt.H[2],j),It=Ee(yt.G[3],yt.H[3],j),j.h)break;o[dt]=(It<<24|Tt<<16|wt<<8|Bt)>>>0}if(Tt=!1,++dt,++M>=g&&(M=0,++F,k!=null&&F<=P&&!(F%16)&&k(s,F),ut!=null))for(;pt>>ut.Mb]=wt}else if(280>wt){if(wt=Ye(wt-256,j),Bt=Ee(yt.G[4],yt.H[4],j),Q(j),Bt=bi(g,Bt=Ye(Bt,j)),j.h)break;if(dt-d=g;)M-=g,++F,k!=null&&F<=P&&!(F%16)&&k(s,F);if(t(dt<=N),M&rt&&(yt=K0(nt,M,F)),ut!=null)for(;pt>>ut.Mb]=wt}else{if(!(wt>>ut.Mb]=wt;wt=dt,t(!(Tt>>>(Bt=ut).Xa)),o[wt]=Bt.X[Tt],Tt=!0}Tt||t(j.h==U(j))}if(s.Pb&&j.h&&dtP?P:F),s.a=0,s.$=dt-d}return 1}return s.a=3,0}function gi(s){t(s!=null),s.vc=null,s.yc=null,s.Ya=null;var o=s.Wa;o!=null&&(o.X=null),s.vb=null,t(s!=null)}function Ue(){var s=new mo;return s==null?null:(s.a=0,s.xb=Ql,di("Predictor","VP8LPredictors"),di("Predictor","VP8LPredictors_C"),di("PredictorAdd","VP8LPredictorsAdd"),di("PredictorAdd","VP8LPredictorsAdd_C"),Ts=b0,qe=Xt,ni=Mt,un=le,yi=_0,Mi=Ge,_u=S0,O.VP8LMapColor32b=yr,O.VP8LMapColor8b=_o,s)}function _i(s,o,d,g,N){var P=1,k=[s],F=[o],M=g.m,j=g.s,nt=null,dt=0;t:for(;;){if(d)for(;P&&st(M,1);){var pt=k,at=F,At=g,gt=1,ut=At.m,rt=At.gc[At.ab],yt=st(ut,2);if(At.Oc&1<=At.ab),yt){case 0:case 1:rt.b=st(ut,3)+2,gt=_i(zt(rt.Ea,rt.b),zt(rt.nc,rt.b),0,At,rt.K),rt.K=rt.K[0];break;case 3:var Tt,wt=st(ut,8)+1,Bt=16>kt.b),w0=r(x0);if(w0==null)Tt=0;else{var g0=kt.K[0],f0=kt.w;for(w0[0]=kt.K[0][0],It=1;It<1*Vt;++It)w0[It]=Lt(g0[f0+It],w0[It-1]);for(;It<4*x0;++It)w0[It]=0;kt.K[0]=null,kt.K[0]=w0,Tt=1}}gt=Tt;break;case 2:break;default:t(0)}P=gt}}if(k=k[0],F=F[0],P&&st(M,1)&&!(P=1<=(dt=st(M,4))&&11>=dt)){g.a=3;break t}var L0;if(L0=P)e:{var E0,u0,J0,Re=g,X0=k,Pe=F,A0=dt,Me=d,He=Re.m,ie=Re.s,ae=[null],ve=1,Ve=0,vi=Uf[A0];i:for(;;){if(Me&&st(He,1)){var ne=st(He,3)+2,qi=zt(X0,ne),Hn=zt(Pe,ne),wu=qi*Hn;if(!_i(qi,Hn,0,Re,ae))break i;for(ae=ae[0],ie.xc=ne,E0=0;E0>8&65535;ae[E0]=ln,ln>=ve&&(ve=ln+1)}}if(He.h)break i;for(u0=0;5>u0;++u0){var U0=Xl[u0];!u0&&0=o2),Fs=c2;var Nr=r(Ve);if(Fs==null||Nr==null||So==null){Re.a=1;break i}var Ds=So;for(E0=J0=0;E0u0;++u0){U0=Xl[u0],Au[u0]=Ds,Tu[u0]=J0,!u0&&0qs)break n}else Ro=qs;for(Sr=0;SrNu)b2[Sr++]=Nu,Nu!=0&&(g2=Nu);else{var m1=Nu==16,y2=Nu-16,b1=Mf[y2],v2=st(fn,Df[y2])+b1;if(Sr+v2>qs)break n;for(var g1=m1?g2:0;0=u0){var Lr,Io=Nr[0];for(Lr=1;LrIo&&(Io=Nr[Lr]);h2+=Io}}if(ai.nd=Ms,ai.Qb=0,Ms&&(ai.qb=(Au[3][Tu[3]+0].value<<24|Au[1][Tu[1]+0].value<<16|Au[2][Tu[2]+0].value)>>>0,l2==0&&256>Au[0][Tu[0]+0].value&&(ai.Qb=1,ai.qb+=Au[0][Tu[0]+0].value<<8)),ai.jc=!ai.Qb&&6>h2,ai.jc){var zs,zi=ai;for(zs=0;zs>=Z0($s,8,pn),dn>>=Z0(zi.G[1][zi.H[1]+dn],16,pn),dn>>=Z0(zi.G[2][zi.H[2]+dn],0,pn),Z0(zi.G[3][zi.H[3]+dn],24,pn))}}}ie.vc=ae,ie.Wb=ve,ie.Ya=Fs,ie.yc=So,L0=1;break e}L0=0}if(!(P=L0)){g.a=3;break t}if(0g+1?[]:0),!(N.lengthN)return z0(s,7,"Truncated header.");var P=d[g+0]|d[g+1]<<8|d[g+2]<<16,k=s.Od;if(k.Rb=!(1&P),k.td=P>>1&7,k.yd=P>>4&1,k.ub=P>>5,3N)return z0(s,7,"cannot parse picture header");if(!as(d,g,N))return z0(s,3,"Bad code word");F.c=16383&(d[g+4]<<8|d[g+3]),F.Td=d[g+4]>>6,F.i=16383&(d[g+6]<<8|d[g+5]),F.Ud=d[g+6]>>6,g+=7,N-=7,s.za=F.c+15>>4,s.Ub=F.i+15>>4,o.width=F.c,o.height=F.i,o.Da=0,o.j=0,o.v=0,o.va=o.width,o.o=o.height,o.da=0,o.ib=o.width,o.hb=o.height,o.U=o.width,o.T=o.height,n((P=s.Pa).jb,0,255,P.jb.length),t((P=s.Qa)!=null),P.Cb=0,P.Bb=0,P.Fb=1,n(P.Zb,0,0,P.Zb.length),n(P.Lb,0,0,P.Lb)}if(k.ub>N)return z0(s,7,"bad partition length");ot(P=s.m,d,g,k.ub),g+=k.ub,N-=k.ub,k.Rb&&(F.Ld=ft(P),F.Kd=ft(P)),F=s.Qa;var M,j=s.Pa;if(t(P!=null),t(F!=null),F.Cb=ft(P),F.Cb){if(F.Bb=ft(P),ft(P)){for(F.Fb=ft(P),M=0;4>M;++M)F.Zb[M]=ft(P)?$(P,7):0;for(M=0;4>M;++M)F.Lb[M]=ft(P)?$(P,6):0}if(F.Bb)for(M=0;3>M;++M)j.jb[M]=ft(P)?V(P,8):255}else F.Bb=0;if(P.Ka)return z0(s,3,"cannot parse segment header");if((F=s.ed).zd=ft(P),F.Tb=V(P,6),F.wb=V(P,3),F.Pc=ft(P),F.Pc&&ft(P)){for(j=0;4>j;++j)ft(P)&&(F.vd[j]=$(P,6));for(j=0;4>j;++j)ft(P)&&(F.od[j]=$(P,6))}if(s.L=F.Tb==0?0:F.zd?1:2,P.Ka)return z0(s,3,"cannot parse filter header");var nt=N;if(N=M=g,g=M+nt,F=nt,s.Xb=(1<F&&(dt=F),ot(s.Jc[+nt],d,M,dt),M+=dt,F-=dt,N+=3}ot(s.Jc[+j],d,M,F),d=Mdt;++dt){if(nt.Cb){var pt=nt.Zb[dt];nt.Fb||(pt+=d)}else{if(0>16,8>at.Eb[1]&&(at.Eb[1]=8),at.Qc[0]=To[Fe(pt+j,117)],at.Qc[1]=No[Fe(pt+M,127)],at.lc=pt+M}if(!k.Rb)return z0(s,4,"Not a key frame.");for(ft(P),k=s.Pa,d=0;4>d;++d){for(N=0;8>N;++N)for(g=0;3>g;++g)for(F=0;11>F;++F)j=mt(P,Gf[d][N][g][F])?V(P,8):Wf[d][N][g][F],k.Wc[d][N].Yb[g][F]=j;for(N=0;17>N;++N)k.Xc[d][N]=k.Wc[d][Kf[N]]}return s.kc=ft(P),s.kc&&(s.Bd=V(P,8)),s.cb=1}function cs(s,o,d,g,N,P,k){var F=o[N].Yb[d];for(d=0;16>N;++N){if(!mt(s,F[d+0]))return N;for(;!mt(s,F[d+1]);)if(F=o[++N].Yb[0],d=0,N==16)return 16;var M=o[N+1].Yb;if(mt(s,F[d+2])){var j=s,nt=0;if(mt(j,(pt=F)[(dt=d)+3]))if(mt(j,pt[dt+6])){for(F=0,dt=2*(nt=mt(j,pt[dt+8]))+(pt=mt(j,pt[dt+9+nt])),nt=0,pt=zf[dt];pt[F];++F)nt+=nt+mt(j,pt[F]);nt+=3+(8<(j=s).b&&ht(j);var dt,pt=j.b,at=(dt=j.Ca>>1)-(j.I>>pt)>>31;--j.b,j.Ca+=at,j.Ca|=1,j.I-=(dt+1&at)<>4,s.zb=o.j-d>>4,0>s.yb&&(s.yb=0),0>s.zb&&(s.zb=0)),s.Va=o.o+15+d>>4,s.Hb=o.va+15+d>>4,s.Hb>s.za&&(s.Hb=s.za),s.Va>s.Ub&&(s.Va=s.Ub),0d;++d){var N;if(s.Qa.Cb){var P=s.Qa.Lb[d];s.Qa.Fb||(P+=g.Tb)}else P=g.Tb;for(N=0;1>=N;++N){var k=s.gd[d][N],F=P;if(g.Pc&&(F+=g.vd[0],N&&(F+=g.od[0])),0<(F=0>F?0:63>2:M>>1)>9-g.wb&&(M=9-g.wb),1>M&&(M=1),k.dd=M,k.tc=2*F+M,k.ld=40<=F?2:15<=F?1:0}else k.tc=0;k.La=N}}}d=0}else z0(s,6,"Frame setup failed"),d=s.a;if(d=d==0){if(d){s.$c=0,0s.Vb){if(s.Vb=0,s.Ec=r(k),s.Fc=0,s.Ec==null){d=z0(s,1,"no memory during frame initialization.");break t}s.Vb=k}k=s.Ec,F=s.Fc,s.Ac=k,s.Bc=F,F+=g,s.Gd=a(j,ss),s.Hd=0,s.rb=a(nt+1,rs),s.sb=1,s.wa=dt?a(dt,nu):null,s.Y=0,s.D.Nb=0,s.D.wa=s.wa,s.D.Y=s.Y,0=d;++d)$l[255+d]=0>d?-d:d;for(d=-1020;1020>=d;++d)Wl[1020+d]=-128>d?-128:127=d;++d)Vl[112+d]=-16>d?-16:15=d;++d)Gl[255+d]=0>d?0:255wt;++wt){var g0,f0=Vt[0+wt];for(g0=0;4>g0;++g0){f0=Vf[Bt[It+g0]][f0];for(var L0=Zl[mt(Tt,f0[0])];0>3;for(L0=0;256>L0;L0+=16)wt[x0+L0]=Pe}J0=1,Re=It[0]}var A0=15&Tt.la,Me=15&w0.la;for(L0=0;4>L0;++L0){var He=1&Me;for(Pe=u0=0;4>Pe;++Pe)A0=A0>>1|(He=(X0=Ar(Bt,Re,X0=He+(1&A0),kt.Sc,J0,wt,x0))>J0)<<7,u0=u0<<2|(3>=4,Me=Me>>1|He<<7,g0=(g0<<8|u0)>>>0}for(Re=A0,J0=Me>>4,E0=0;4>E0;E0+=2){for(u0=0,A0=Tt.la>>4+E0,Me=w0.la>>4+E0,L0=0;2>L0;++L0){for(He=1&Me,Pe=0;2>Pe;++Pe)X0=He+(1&A0),A0=A0>>1|(He=0<(X0=Ar(Bt,It[2],X0,kt.Qc,0,wt,x0)))<<3,u0=u0<<2|(3>=2,Me=Me>>1|He<<5}f0|=u0<<4*E0,Re|=A0<<4<=ut.zb&&ut.M<=ut.Va,ut.Aa==0)t:{if(gt.M=ut.M,gt.uc=Tt,mr(ut,gt),yt=1,gt=(u0=ut.D).Nb,Tt=(f0=Os[ut.L])*ut.R,Bt=f0/2*ut.B,L0=16*gt*ut.R,Pe=8*gt*ut.B,It=ut.sa,Vt=ut.ta-Tt+L0,kt=ut.qa,wt=ut.ra-Bt+Pe,x0=ut.Ha,w0=ut.Ia-Bt+Pe,Me=(A0=u0.M)==0,g0=A0>=ut.Va-1,ut.Aa==2&&mr(ut,u0),u0.uc)for(He=(X0=ut).D.M,t(X0.D.uc),u0=X0.yb;u0rt.o&&(A0=rt.o),rt.F=null,rt.J=null,ut.Fa!=null&&0>1),rt.W+=ut.B*(f0>>1),rt.F!=null&&(rt.J+=rt.width*f0)),u0>1,rt.W+=rt.v>>1,rt.F!=null&&(rt.J+=rt.v),rt.ka=u0-rt.j,rt.U=rt.va-rt.v,rt.T=A0-u0,yt=rt.put(rt))}gt+1!=ut.Ic||g0||(i(ut.sa,ut.ta-Tt,It,Vt+16*ut.R,Tt),i(ut.qa,ut.ra-Bt,kt,wt+8*ut.B,Bt),i(ut.Ha,ut.Ia-Bt,x0,w0+8*ut.B,Bt))}if(!yt)return z0(at,6,"Output aborted.")}return 1}(s,o)),o.bc!=null&&o.bc(o),d&=1}return d?(s.cb=0,d):0}function Qe(s,o,d,g,N){N=s[o+d+32*g]+(N>>3),s[o+d+32*g]=-256&N?0>N?0:255:N}function ru(s,o,d,g,N,P){Qe(s,o,0,d,g+N),Qe(s,o,1,d,g+P),Qe(s,o,2,d,g-P),Qe(s,o,3,d,g-N)}function Se(s){return(20091*s>>16)+s}function ir(s,o,d,g){var N,P=0,k=r(16);for(N=0;4>N;++N){var F=s[o+0]+s[o+8],M=s[o+0]-s[o+8],j=(35468*s[o+4]>>16)-Se(s[o+12]),nt=Se(s[o+4])+(35468*s[o+12]>>16);k[P+0]=F+nt,k[P+1]=M+j,k[P+2]=M-j,k[P+3]=F-nt,P+=4,o++}for(N=P=0;4>N;++N)F=(s=k[P+0]+4)+k[P+8],M=s-k[P+8],j=(35468*k[P+4]>>16)-Se(k[P+12]),Qe(d,g,0,0,F+(nt=Se(k[P+4])+(35468*k[P+12]>>16))),Qe(d,g,1,0,M+j),Qe(d,g,2,0,M-j),Qe(d,g,3,0,F-nt),P++,g+=32}function ls(s,o,d,g){var N=s[o+0]+4,P=35468*s[o+4]>>16,k=Se(s[o+4]),F=35468*s[o+1]>>16;ru(d,g,0,N+k,s=Se(s[o+1]),F),ru(d,g,1,N+P,s,F),ru(d,g,2,N-P,s,F),ru(d,g,3,N-k,s,F)}function Za(s,o,d,g,N){ir(s,o,d,g),N&&ir(s,o+16,d,g+4)}function hs(s,o,d,g){xu(s,o+0,d,g,1),xu(s,o+32,d,g+128,1)}function Qa(s,o,d,g){var N;for(s=s[o+0]+4,N=0;4>N;++N)for(o=0;4>o;++o)Qe(d,g,o,N,s)}function fs(s,o,d,g){s[o+0]&&ri(s,o+0,d,g),s[o+16]&&ri(s,o+16,d,g+4),s[o+32]&&ri(s,o+32,d,g+128),s[o+48]&&ri(s,o+48,d,g+128+4)}function to(s,o,d,g){var N,P=r(16);for(N=0;4>N;++N){var k=s[o+0+N]+s[o+12+N],F=s[o+4+N]+s[o+8+N],M=s[o+4+N]-s[o+8+N],j=s[o+0+N]-s[o+12+N];P[0+N]=k+F,P[8+N]=k-F,P[4+N]=j+M,P[12+N]=j-M}for(N=0;4>N;++N)k=(s=P[0+4*N]+3)+P[3+4*N],F=P[1+4*N]+P[2+4*N],M=P[1+4*N]-P[2+4*N],j=s-P[3+4*N],d[g+0]=k+F>>3,d[g+16]=j+M>>3,d[g+32]=k-F>>3,d[g+48]=j-M>>3,g+=64}function nr(s,o,d){var g,N=o-32,P=De,k=255-s[N-1];for(g=0;gd;++d)i(s,o+32*d,s,o-32,16)}function su(s,o){var d;for(d=16;0g;++g)n(o,d+32*g,s,16)}function ds(s,o){var d,g=16;for(d=0;16>d;++d)g+=s[o-1+32*d]+s[o+d-32];au(g>>5,s,o)}function he(s,o){var d,g=8;for(d=0;16>d;++d)g+=s[o-1+32*d];au(g>>4,s,o)}function uo(s,o){var d,g=8;for(d=0;16>d;++d)g+=s[o+d-32];au(g>>4,s,o)}function ps(s,o){au(128,s,o)}function Zt(s,o,d){return s+2*o+d+2>>2}function ro(s,o){var d,g=o-32;for(g=new Uint8Array([Zt(s[g-1],s[g+0],s[g+1]),Zt(s[g+0],s[g+1],s[g+2]),Zt(s[g+1],s[g+2],s[g+3]),Zt(s[g+2],s[g+3],s[g+4])]),d=0;4>d;++d)i(s,o+32*d,g,0,g.length)}function so(s,o){var d=s[o-1],g=s[o-1+32],N=s[o-1+64],P=s[o-1+96];Ct(s,o+0,16843009*Zt(s[o-1-32],d,g)),Ct(s,o+32,16843009*Zt(d,g,N)),Ct(s,o+64,16843009*Zt(g,N,P)),Ct(s,o+96,16843009*Zt(N,P,P))}function xi(s,o){var d,g=4;for(d=0;4>d;++d)g+=s[o+d-32]+s[o-1+32*d];for(g>>=3,d=0;4>d;++d)n(s,o+32*d,g,4)}function ms(s,o){var d=s[o-1+0],g=s[o-1+32],N=s[o-1+64],P=s[o-1-32],k=s[o+0-32],F=s[o+1-32],M=s[o+2-32],j=s[o+3-32];s[o+0+96]=Zt(g,N,s[o-1+96]),s[o+1+96]=s[o+0+64]=Zt(d,g,N),s[o+2+96]=s[o+1+64]=s[o+0+32]=Zt(P,d,g),s[o+3+96]=s[o+2+64]=s[o+1+32]=s[o+0+0]=Zt(k,P,d),s[o+3+64]=s[o+2+32]=s[o+1+0]=Zt(F,k,P),s[o+3+32]=s[o+2+0]=Zt(M,F,k),s[o+3+0]=Zt(j,M,F)}function bs(s,o){var d=s[o+1-32],g=s[o+2-32],N=s[o+3-32],P=s[o+4-32],k=s[o+5-32],F=s[o+6-32],M=s[o+7-32];s[o+0+0]=Zt(s[o+0-32],d,g),s[o+1+0]=s[o+0+32]=Zt(d,g,N),s[o+2+0]=s[o+1+32]=s[o+0+64]=Zt(g,N,P),s[o+3+0]=s[o+2+32]=s[o+1+64]=s[o+0+96]=Zt(N,P,k),s[o+3+32]=s[o+2+64]=s[o+1+96]=Zt(P,k,F),s[o+3+64]=s[o+2+96]=Zt(k,F,M),s[o+3+96]=Zt(F,M,M)}function ou(s,o){var d=s[o-1+0],g=s[o-1+32],N=s[o-1+64],P=s[o-1-32],k=s[o+0-32],F=s[o+1-32],M=s[o+2-32],j=s[o+3-32];s[o+0+0]=s[o+1+64]=P+k+1>>1,s[o+1+0]=s[o+2+64]=k+F+1>>1,s[o+2+0]=s[o+3+64]=F+M+1>>1,s[o+3+0]=M+j+1>>1,s[o+0+96]=Zt(N,g,d),s[o+0+64]=Zt(g,d,P),s[o+0+32]=s[o+1+96]=Zt(d,P,k),s[o+1+32]=s[o+2+96]=Zt(P,k,F),s[o+2+32]=s[o+3+96]=Zt(k,F,M),s[o+3+32]=Zt(F,M,j)}function ur(s,o){var d=s[o+0-32],g=s[o+1-32],N=s[o+2-32],P=s[o+3-32],k=s[o+4-32],F=s[o+5-32],M=s[o+6-32],j=s[o+7-32];s[o+0+0]=d+g+1>>1,s[o+1+0]=s[o+0+64]=g+N+1>>1,s[o+2+0]=s[o+1+64]=N+P+1>>1,s[o+3+0]=s[o+2+64]=P+k+1>>1,s[o+0+32]=Zt(d,g,N),s[o+1+32]=s[o+0+96]=Zt(g,N,P),s[o+2+32]=s[o+1+96]=Zt(N,P,k),s[o+3+32]=s[o+2+96]=Zt(P,k,F),s[o+3+64]=Zt(k,F,M),s[o+3+96]=Zt(F,M,j)}function ao(s,o){var d=s[o-1+0],g=s[o-1+32],N=s[o-1+64],P=s[o-1+96];s[o+0+0]=d+g+1>>1,s[o+2+0]=s[o+0+32]=g+N+1>>1,s[o+2+32]=s[o+0+64]=N+P+1>>1,s[o+1+0]=Zt(d,g,N),s[o+3+0]=s[o+1+32]=Zt(g,N,P),s[o+3+32]=s[o+1+64]=Zt(N,P,P),s[o+3+64]=s[o+2+64]=s[o+0+96]=s[o+1+96]=s[o+2+96]=s[o+3+96]=P}function oo(s,o){var d=s[o-1+0],g=s[o-1+32],N=s[o-1+64],P=s[o-1+96],k=s[o-1-32],F=s[o+0-32],M=s[o+1-32],j=s[o+2-32];s[o+0+0]=s[o+2+32]=d+k+1>>1,s[o+0+32]=s[o+2+64]=g+d+1>>1,s[o+0+64]=s[o+2+96]=N+g+1>>1,s[o+0+96]=P+N+1>>1,s[o+3+0]=Zt(F,M,j),s[o+2+0]=Zt(k,F,M),s[o+1+0]=s[o+3+32]=Zt(d,k,F),s[o+1+32]=s[o+3+64]=Zt(g,d,k),s[o+1+64]=s[o+3+96]=Zt(N,g,d),s[o+1+96]=Zt(P,N,g)}function co(s,o){var d;for(d=0;8>d;++d)i(s,o+32*d,s,o-32,8)}function rr(s,o){var d;for(d=0;8>d;++d)n(s,o,s[o-1],8),o+=32}function In(s,o,d){var g;for(g=0;8>g;++g)n(o,d+32*g,s,8)}function Zi(s,o){var d,g=8;for(d=0;8>d;++d)g+=s[o+d-32]+s[o-1+32*d];In(g>>4,s,o)}function lo(s,o){var d,g=4;for(d=0;8>d;++d)g+=s[o+d-32];In(g>>3,s,o)}function kn(s,o){var d,g=4;for(d=0;8>d;++d)g+=s[o-1+32*d];In(g>>3,s,o)}function sr(s,o){In(128,s,o)}function cu(s,o,d){var g=s[o-d],N=s[o+0],P=3*(N-g)+xo[1020+s[o-2*d]-s[o+d]],k=Es[112+(P+4>>3)];s[o-d]=De[255+g+Es[112+(P+3>>3)]],s[o+0]=De[255+N-k]}function gs(s,o,d,g){var N=s[o+0],P=s[o+d];return $e[255+s[o-2*d]-s[o-d]]>g||$e[255+P-N]>g}function _s(s,o,d,g){return 4*$e[255+s[o-d]-s[o+0]]+$e[255+s[o-2*d]-s[o+d]]<=g}function xs(s,o,d,g,N){var P=s[o-3*d],k=s[o-2*d],F=s[o-d],M=s[o+0],j=s[o+d],nt=s[o+2*d],dt=s[o+3*d];return 4*$e[255+F-M]+$e[255+k-j]>g?0:$e[255+s[o-4*d]-P]<=N&&$e[255+P-k]<=N&&$e[255+k-F]<=N&&$e[255+dt-nt]<=N&&$e[255+nt-j]<=N&&$e[255+j-M]<=N}function ys(s,o,d,g){var N=2*g+1;for(g=0;16>g;++g)_s(s,o+g,d,N)&&cu(s,o+g,d)}function Fi(s,o,d,g){var N=2*g+1;for(g=0;16>g;++g)_s(s,o+g*d,1,N)&&cu(s,o+g*d,1)}function Qi(s,o,d,g){var N;for(N=3;0>7,rt=18*yt+63>>7,yt=9*yt+63>>7;M[j-3*nt]=De[255+M[j-3*nt]+yt],M[j-2*nt]=De[255+dt+rt],M[j-nt]=De[255+pt+ut],M[j+0]=De[255+at-ut],M[j+nt]=De[255+At-rt],M[j+2*nt]=De[255+gt-yt]}o+=g}}function ti(s,o,d,g,N,P,k,F){for(P=2*P+1;0>3)],gt=Es[112+(gt+3>>3)],ut=At+1>>1;M[j-2*nt]=De[255+M[j-2*nt]+ut],M[j-nt]=De[255+dt+gt],M[j+0]=De[255+pt-At],M[j+nt]=De[255+at-ut]}o+=g}}function ar(s,o,d,g,N,P){tn(s,o,d,1,16,g,N,P)}function On(s,o,d,g,N,P){tn(s,o,1,d,16,g,N,P)}function fo(s,o,d,g,N,P){var k;for(k=3;0j?0:255:j)&255,j=M,N[P+F]=nt}}function dr(s,o,d,g){var N=o.width,P=o.o;if(t(s!=null&&o!=null),0>d||0>=g||d+g>P)return null;if(!s.Cc){if(s.ga==null){var k;if(s.ga=new fu,(k=s.ga==null)||(k=o.width*o.o,t(s.Gb.length==0),s.Gb=r(k),s.Uc=0,s.Gb==null?k=0:(s.mb=s.Gb,s.nb=s.Uc,s.rc=null,k=1),k=!k),!k){k=s.ga;var F=s.Fa,M=s.P,j=s.qc,nt=s.mb,dt=s.nb,pt=M+1,at=j-1,At=k.l;if(t(F!=null&&nt!=null&&o!=null),cn[0]=null,cn[1]=Fn,cn[2]=fr,cn[3]=en,k.ca=nt,k.tb=dt,k.c=o.width,k.i=o.height,t(0=j)o=0;else if(k.$a=F[M+0]>>0&3,k.Z=F[M+0]>>2&3,k.Lc=F[M+0]>>4&3,M=F[M+0]>>6&3,0>k.$a||1=k.c*k.i;k=!o}if(k)return null;s.ga.Lc!=1?s.Ga=0:g=P-d}t(s.ga!=null),t(d+g<=P);t:{if(o=(F=s.ga).c,P=F.l.o,F.$a==0){if(pt=s.rc,at=s.Vc,At=s.Fa,M=s.P+1+d*o,j=s.mb,nt=s.nb+d*o,t(M<=s.P+s.qc),F.Z!=0)for(t(cn[F.Z]!=null),k=0;k=o)o=1;else if(F.ic||lt(),F.ic){F=k.V,pt=k.Ba,at=k.c;var gt=k.i,ut=(At=1,M=k.$/at,j=k.$%at,nt=k.m,dt=k.s,k.$),rt=at*gt,yt=at*o,Tt=dt.wc,wt=ut(gt=Ee(wt.G[0],wt.H[0],nt)))F[pt+ut]=gt,++ut,++j>=at&&(j=0,++M<=o&&!(M%16)&&Xe(k,M));else{if(!(280>gt)){At=0;break e}gt=Ye(gt-256,nt);var Bt,It=Ee(wt.G[4],wt.H[4],nt);if(Q(nt),!(ut>=(It=bi(at,It=Ye(It,nt)))&&rt-ut>=gt)){At=0;break e}for(Bt=0;Bt=at;)j-=at,++M<=o&&!(M%16)&&Xe(k,M);uto?o:M);break e}!At||nt.h&&ut=P&&(s.Cc=1),g=1}if(!g)return null;if(s.Cc&&((g=s.ga)!=null&&(g.mc=null),s.ga=null,0>23,F[M+4*k+1]=F[M+4*k+1]*dt>>23,F[M+4*k+2]=F[M+4*k+2]*dt>>23)}o+=P}}function E(s,o,d,g,N){for(;0>4)*M>>16;s[o+2*P+0]=(240&k|k>>4)*M>>16&240|(15&k|k<<4)*M>>16>>4&15,s[o+2*P+1]=240&j|F}o+=N}}function G(s,o,d,g,N,P,k,F){var M,j,nt=255;for(j=0;j>8}function lt(){an=h,vu=E,Ns=G,zl=it}function _t(s,o,d){O[s]=function(g,N,P,k,F,M,j,nt,dt,pt,at,At,gt,ut,rt,yt,Tt){var wt,Bt=Tt-1>>1,It=F[M+0]|j[nt+0]<<16,Vt=dt[pt+0]|at[At+0]<<16;t(g!=null);var kt=3*It+Vt+131074>>2;for(o(g[N+0],255&kt,kt>>16,gt,ut),P!=null&&(kt=3*Vt+It+131074>>2,o(P[k+0],255&kt,kt>>16,rt,yt)),wt=1;wt<=Bt;++wt){var x0=F[M+wt]|j[nt+wt]<<16,w0=dt[pt+wt]|at[At+wt]<<16,g0=It+x0+Vt+w0+524296,f0=g0+2*(x0+Vt)>>3;kt=f0+It>>1,It=(g0=g0+2*(It+w0)>>3)+x0>>1,o(g[N+2*wt-1],255&kt,kt>>16,gt,ut+(2*wt-1)*d),o(g[N+2*wt-0],255&It,It>>16,gt,ut+(2*wt-0)*d),P!=null&&(kt=g0+Vt>>1,It=f0+w0>>1,o(P[k+2*wt-1],255&kt,kt>>16,rt,yt+(2*wt-1)*d),o(P[k+2*wt+0],255&It,It>>16,rt,yt+(2*wt+0)*d)),It=x0,Vt=w0}1&Tt||(kt=3*It+Vt+131074>>2,o(g[N+Tt-1],255&kt,kt>>16,gt,ut+(Tt-1)*d),P!=null&&(kt=3*Vt+It+131074>>2,o(P[k+Tt-1],255&kt,kt>>16,rt,yt+(Tt-1)*d)))}}function Et(){We[Ss]=Jf,We[Ls]=t2,We[Yl]=Xf,We[Cs]=e2,We[Rs]=i2,We[yo]=n2,We[Jl]=Zf,We[vo]=t2,We[wo]=e2,We[Ps]=i2,We[Ao]=n2}function Ht(s){return s&~Qf?0>s?0:255:s>>u2}function Wt(s,o){return Ht((19077*s>>8)+(26149*o>>8)-14234)}function n0(s,o,d){return Ht((19077*s>>8)-(6419*o>>8)-(13320*d>>8)+8708)}function a0(s,o){return Ht((19077*s>>8)+(33050*o>>8)-17685)}function p0(s,o,d,g,N){g[N+0]=Wt(s,d),g[N+1]=n0(s,o,d),g[N+2]=a0(s,o)}function M0(s,o,d,g,N){g[N+0]=a0(s,o),g[N+1]=n0(s,o,d),g[N+2]=Wt(s,d)}function j0(s,o,d,g,N){var P=n0(s,o,d);o=P<<3&224|a0(s,o)>>3,g[N+0]=248&Wt(s,d)|P>>5,g[N+1]=o}function Y0(s,o,d,g,N){var P=240&a0(s,o)|15;g[N+0]=240&Wt(s,d)|n0(s,o,d)>>4,g[N+1]=P}function fe(s,o,d,g,N){g[N+0]=255,p0(s,o,d,g,N+1)}function ee(s,o,d,g,N){M0(s,o,d,g,N),g[N+3]=255}function ei(s,o,d,g,N){p0(s,o,d,g,N),g[N+3]=255}function Fe(s,o){return 0>s?0:s>o?o:s}function Di(s,o,d){O[s]=function(g,N,P,k,F,M,j,nt,dt){for(var pt=nt+(-2&dt)*d;nt!=pt;)o(g[N+0],P[k+0],F[M+0],j,nt),o(g[N+1],P[k+0],F[M+0],j,nt+d),N+=2,++k,++M,nt+=2*d;1&dt&&o(g[N+0],P[k+0],F[M+0],j,nt)}}function As(s,o,d){return d==0?s==0?o==0?6:5:o==0?4:0:d}function pr(s,o,d,g,N){switch(s>>>30){case 3:xu(o,d,g,N,0);break;case 2:vr(o,d,g,N);break;case 1:ri(o,d,g,N)}}function mr(s,o){var d,g,N=o.M,P=o.Nb,k=s.oc,F=s.pc+40,M=s.oc,j=s.pc+584,nt=s.oc,dt=s.pc+600;for(d=0;16>d;++d)k[F+32*d-1]=129;for(d=0;8>d;++d)M[j+32*d-1]=129,nt[dt+32*d-1]=129;for(0d;++d)i(k,F+32*d-4,k,F+32*d+12,4);for(d=-1;8>d;++d)i(M,j+32*d-4,M,j+32*d+4,4),i(nt,dt+32*d-4,nt,dt+32*d+4,4)}var at=s.Gd,At=s.Hd+g,gt=pt.ad,ut=pt.Hc;if(0=s.za-1?n(rt,yt,at[At].y[15],4):i(rt,yt,at[At+1].y,0,4)),d=0;4>d;d++)rt[yt+128+d]=rt[yt+256+d]=rt[yt+384+d]=rt[yt+0+d];for(d=0;16>d;++d,ut<<=2)rt=k,yt=F+s2[d],si[pt.Ob[d]](rt,yt),pr(ut,gt,16*+d,rt,yt)}else if(rt=As(g,N,pt.Ob[0]),on[rt](k,F),ut!=0)for(d=0;16>d;++d,ut<<=2)pr(ut,gt,16*+d,k,F+s2[d]);for(d=pt.Gc,rt=As(g,N,pt.Dd),Ui[rt](M,j),Ui[rt](nt,dt),ut=gt,rt=M,yt=j,255&(pt=d>>0)&&(170&pt?rn(ut,256,rt,yt):Hi(ut,256,rt,yt)),pt=nt,ut=dt,255&(d>>=8)&&(170&d?rn(gt,320,pt,ut):Hi(gt,320,pt,ut)),Nd;++d)i(at,At+d*s.R,k,F+32*d,16);for(d=0;8>d;++d)i(gt,pt+d*s.B,M,j+32*d,8),i(ut,rt+d*s.B,nt,dt+32*d,8)}}function du(s,o,d,g,N,P,k,F,M){var j=[0],nt=[0],dt=0,pt=M!=null?M.kd:0,at=M!=null?M:new lr;if(s==null||12>d)return 7;at.data=s,at.w=o,at.ha=d,o=[o],d=[d],at.gb=[at.gb];t:{var At=o,gt=d,ut=at.gb;if(t(s!=null),t(gt!=null),t(ut!=null),ut[0]=0,12<=gt[0]&&!e(s,At[0],"RIFF")){if(e(s,At[0]+8,"WEBP")){ut=3;break t}var rt=jt(s,At[0]+4);if(12>rt||4294967286gt[0]-8){ut=7;break t}ut[0]=rt,At[0]+=12,gt[0]-=12}ut=0}if(ut!=0)return ut;for(rt=0ut[0])ut=7;else{if(!e(yt,gt[0],"VP8X")){if(jt(yt,gt[0]+4)!=10){ut=3;break t}if(18>ut[0]){ut=7;break t}var It=jt(yt,gt[0]+8),Vt=1+Ft(yt,gt[0]+12);if(2147483648<=Vt*(yt=1+Ft(yt,gt[0]+15))){ut=3;break t}Bt!=null&&(Bt[0]=It),Tt!=null&&(Tt[0]=Vt),wt!=null&&(wt[0]=yt),gt[0]+=18,ut[0]-=18,kt[0]=1}ut=0}}if(dt=dt[0],At=At[0],ut!=0)return ut;if(gt=!!(2&At),!rt&&dt)return 3;if(P!=null&&(P[0]=!!(16&At)),k!=null&&(k[0]=gt),F!=null&&(F[0]=0),k=j[0],At=nt[0],dt&>&&M==null){ut=0;break}if(4>d){ut=7;break}if(rt&&dt||!rt&&!dt&&!e(s,o[0],"ALPH")){d=[d],at.na=[at.na],at.P=[at.P],at.Sa=[at.Sa];t:{It=s,ut=o,rt=d;var kt=at.gb;Tt=at.na,wt=at.P,Bt=at.Sa,Vt=22,t(It!=null),t(rt!=null),yt=ut[0];var x0=rt[0];for(t(Tt!=null),t(Bt!=null),Tt[0]=null,wt[0]=null,Bt[0]=0;;){if(ut[0]=yt,rt[0]=x0,8>x0){ut=7;break t}var w0=jt(It,yt+4);if(4294967286kt){ut=3;break t}if(!e(It,yt,"VP8 ")||!e(It,yt,"VP8L")){ut=0;break t}if(x0[0]rt[0])ut=7;else{if(yt||Vt){if(kt=jt(kt,It+4),12<=Tt&&kt>Tt-12){ut=3;break t}if(pt&&kt>rt[0]-8){ut=7;break t}wt[0]=kt,ut[0]+=8,rt[0]-=8,Bt[0]=Vt}else Bt[0]=5<=rt[0]&&kt[It+0]==47&&!(kt[It+4]>>5),wt[0]=rt[0];ut=0}if(d=d[0],at.Ja=at.Ja[0],at.xa=at.xa[0],o=o[0],ut!=0)break;if(4294967286d){ut=7;break}F=k,pt=At,gt=P,s==null||5>d?s=0:5<=d&&s[o+0]==47&&!(s[o+4]>>5)?(rt=[0],kt=[0],Tt=[0],Y(wt=new v,s,o,d),Gt(wt,rt,kt,Tt)?(F!=null&&(F[0]=rt[0]),pt!=null&&(pt[0]=kt[0]),gt!=null&&(gt[0]=Tt[0]),s=1):s=0):s=0}else{if(10>d){ut=7;break}F=At,s==null||10>d||!as(s,o+3,d-3)?s=0:(pt=s[o+0]|s[o+1]<<8|s[o+2]<<16,gt=16383&(s[o+7]<<8|s[o+6]),s=16383&(s[o+9]<<8|s[o+8]),1&pt||3<(pt>>1&7)||!(pt>>4&1)||pt>>5>=at.Ja||!gt||!s?s=0:(k&&(k[0]=gt),F&&(F[0]=s),s=1))}if(!s||(k=k[0],At=At[0],dt&&(j[0]!=k||nt[0]!=At)))return 3;M!=null&&(M[0]=at,M.offset=o-M.w,t(4294967286>o-M.w),t(M.offset==M.ha-d));break}return ut==0||ut==7&&dt&&M==null?(P!=null&&(P[0]|=at.na!=null&&0d||(P&=-2,k&=-2),0>P||0>k||0>=F||0>=M||P+F>g||k+M>N))return 0;if(o.v=P,o.j=k,o.va=P+F,o.o=k+M,o.U=F,o.T=M,o.da=s!=null&&0s.S){var o=s.f.RGBA;o.fb+=(s.height-1)*o.A,o.A=-o.A}else o=s.f.kb,s=s.height,o.O+=(s-1)*o.fa,o.fa=-o.fa,o.N+=(s-1>>1)*o.Ab,o.Ab=-o.Ab,o.W+=(s-1>>1)*o.Db,o.Db=-o.Db,o.F!=null&&(o.J+=(s-1)*o.lb,o.lb=-o.lb);return 0}function pu(s,o,d,g){if(g==null||0>=s||0>=o)return 2;if(d!=null){if(d.Da){var N=d.cd,P=d.bd,k=-2&d.v,F=-2&d.j;if(0>k||0>F||0>=N||0>=P||k+N>s||F+P>o)return 2;s=N,o=P}if(d.da){if(!i0(s,o,N=[d.ib],P=[d.hb]))return 2;s=N[0],o=P[0]}}g.width=s,g.height=o;t:{var M=g.width,j=g.height;if(s=g.S,0>=M||0>=j||!(s>=Ss&&13>s))s=2;else{if(0>=g.Rd&&g.sd==null){k=P=N=o=0;var nt=(F=M*a2[s])*j;if(11>s||(P=(j+1)/2*(o=(M+1)/2),s==12&&(k=(N=M)*j)),(j=r(nt+2*P+k))==null){s=1;break t}g.sd=j,11>s?((M=g.f.RGBA).eb=j,M.fb=0,M.A=F,M.size=nt):((M=g.f.kb).y=j,M.O=0,M.fa=F,M.Fd=nt,M.f=j,M.N=0+nt,M.Ab=o,M.Cd=P,M.ea=j,M.W=0+nt+P,M.Db=o,M.Ed=P,s==12&&(M.F=j,M.J=0+nt+2*P),M.Tc=k,M.lb=N)}if(o=1,N=g.S,P=g.width,k=g.height,N>=Ss&&13>N)if(11>N)s=g.f.RGBA,o&=(F=Math.abs(s.A))*(k-1)+P<=s.size,o&=F>=P*a2[N],o&=s.eb!=null;else{s=g.f.kb,F=(P+1)/2,nt=(k+1)/2,M=Math.abs(s.fa),j=Math.abs(s.Ab);var dt=Math.abs(s.Db),pt=Math.abs(s.lb),at=pt*(k-1)+P;o&=M*(k-1)+P<=s.Fd,o&=j*(nt-1)+F<=s.Cd,o=(o&=dt*(nt-1)+F<=s.Ed)&M>=P&j>=F&dt>=F,o&=s.y!=null,o&=s.f!=null,o&=s.ea!=null,N==12&&(o&=pt>=P,o&=at<=s.Tc,o&=s.F!=null)}else o=0;s=o?0:2}}return s!=0||d!=null&&d.fd&&(s=gr(g)),s}var Le=64,mu=[0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535,131071,262143,524287,1048575,2097151,4194303,8388607,16777215],bu=24,gu=32,_r=8,Ce=[0,0,1,1,2,2,2,2,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7];Pt("Predictor0","PredictorAdd0"),O.Predictor0=function(){return 4278190080},O.Predictor1=function(s){return s},O.Predictor2=function(s,o,d){return o[d+0]},O.Predictor3=function(s,o,d){return o[d+1]},O.Predictor4=function(s,o,d){return o[d-1]},O.Predictor5=function(s,o,d){return Ot(Ot(s,o[d+1]),o[d+0])},O.Predictor6=function(s,o,d){return Ot(s,o[d-1])},O.Predictor7=function(s,o,d){return Ot(s,o[d+0])},O.Predictor8=function(s,o,d){return Ot(o[d-1],o[d+0])},O.Predictor9=function(s,o,d){return Ot(o[d+0],o[d+1])},O.Predictor10=function(s,o,d){return Ot(Ot(s,o[d-1]),Ot(o[d+0],o[d+1]))},O.Predictor11=function(s,o,d){var g=o[d+0];return 0>=r0(g>>24&255,s>>24&255,(o=o[d-1])>>24&255)+r0(g>>16&255,s>>16&255,o>>16&255)+r0(g>>8&255,s>>8&255,o>>8&255)+r0(255&g,255&s,255&o)?g:s},O.Predictor12=function(s,o,d){var g=o[d+0];return($t((s>>24&255)+(g>>24&255)-((o=o[d-1])>>24&255))<<24|$t((s>>16&255)+(g>>16&255)-(o>>16&255))<<16|$t((s>>8&255)+(g>>8&255)-(o>>8&255))<<8|$t((255&s)+(255&g)-(255&o)))>>>0},O.Predictor13=function(s,o,d){var g=o[d-1];return(Qt((s=Ot(s,o[d+0]))>>24&255,g>>24&255)<<24|Qt(s>>16&255,g>>16&255)<<16|Qt(s>>8&255,g>>8&255)<<8|Qt(s>>0&255,g>>0&255))>>>0};var bo=O.PredictorAdd0;O.PredictorAdd1=o0,Pt("Predictor2","PredictorAdd2"),Pt("Predictor3","PredictorAdd3"),Pt("Predictor4","PredictorAdd4"),Pt("Predictor5","PredictorAdd5"),Pt("Predictor6","PredictorAdd6"),Pt("Predictor7","PredictorAdd7"),Pt("Predictor8","PredictorAdd8"),Pt("Predictor9","PredictorAdd9"),Pt("Predictor10","PredictorAdd10"),Pt("Predictor11","PredictorAdd11"),Pt("Predictor12","PredictorAdd12"),Pt("Predictor13","PredictorAdd13");var xr=O.PredictorAdd2;h0("ColorIndexInverseTransform","MapARGB","32b",function(s){return s>>8&255},function(s){return s}),h0("VP8LColorIndexInverseTransformAlpha","MapAlpha","8b",function(s){return s},function(s){return s>>8&255});var Ts,ii=O.ColorIndexInverseTransform,yr=O.MapARGB,go=O.VP8LColorIndexInverseTransformAlpha,_o=O.MapAlpha,nn=O.VP8LPredictorsAdd=[];nn.length=16,(O.VP8LPredictors=[]).length=16,(O.VP8LPredictorsAdd_C=[]).length=16,(O.VP8LPredictors_C=[]).length=16;var qe,ni,un,yi,Mi,_u,ui,xu,vr,rn,ri,Hi,Dn,yu,Mn,sn,wr,ze,Bi,R0,P0,$0,Q0,ji,an,vu,Ns,zl,$l=r(511),Wl=r(2041),Vl=r(225),Gl=r(767),Kl=0,xo=Wl,Es=Vl,De=Gl,$e=$l,Ss=0,Ls=1,Yl=2,Cs=3,Rs=4,yo=5,Jl=6,vo=7,wo=8,Ps=9,Ao=10,Df=[2,3,7],Mf=[3,3,11],Xl=[280,256,256,256,40],Hf=[0,1,1,1,0],Bf=[17,18,0,1,2,3,4,5,16,6,7,8,9,10,11,12,13,14,15],jf=[24,7,23,25,40,6,39,41,22,26,38,42,56,5,55,57,21,27,54,58,37,43,72,4,71,73,20,28,53,59,70,74,36,44,88,69,75,52,60,3,87,89,19,29,86,90,35,45,68,76,85,91,51,61,104,2,103,105,18,30,102,106,34,46,84,92,67,77,101,107,50,62,120,1,119,121,83,93,17,31,100,108,66,78,118,122,33,47,117,123,49,63,99,109,82,94,0,116,124,65,79,16,32,98,110,48,115,125,81,95,64,114,126,97,111,80,113,127,96,112],Uf=[2954,2956,2958,2962,2970,2986,3018,3082,3212,3468,3980,5004],qf=8,To=[4,5,6,7,8,9,10,10,11,12,13,14,15,16,17,17,18,19,20,20,21,21,22,22,23,23,24,25,25,26,27,28,29,30,31,32,33,34,35,36,37,37,38,39,40,41,42,43,44,45,46,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,76,77,78,79,80,81,82,83,84,85,86,87,88,89,91,93,95,96,98,100,101,102,104,106,108,110,112,114,116,118,122,124,126,128,130,132,134,136,138,140,143,145,148,151,154,157],No=[4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,60,62,64,66,68,70,72,74,76,78,80,82,84,86,88,90,92,94,96,98,100,102,104,106,108,110,112,114,116,119,122,125,128,131,134,137,140,143,146,149,152,155,158,161,164,167,170,173,177,181,185,189,193,197,201,205,209,213,217,221,225,229,234,239,245,249,254,259,264,269,274,279,284],Ar=null,zf=[[173,148,140,0],[176,155,140,135,0],[180,157,141,134,130,0],[254,254,243,230,196,177,153,140,133,130,129,0]],$f=[0,1,4,8,5,2,3,6,9,12,13,10,7,11,14,15],Zl=[-0,1,-1,2,-2,3,4,6,-3,5,-4,-5,-6,7,-7,8,-8,-9],Wf=[[[[128,128,128,128,128,128,128,128,128,128,128],[128,128,128,128,128,128,128,128,128,128,128],[128,128,128,128,128,128,128,128,128,128,128]],[[253,136,254,255,228,219,128,128,128,128,128],[189,129,242,255,227,213,255,219,128,128,128],[106,126,227,252,214,209,255,255,128,128,128]],[[1,98,248,255,236,226,255,255,128,128,128],[181,133,238,254,221,234,255,154,128,128,128],[78,134,202,247,198,180,255,219,128,128,128]],[[1,185,249,255,243,255,128,128,128,128,128],[184,150,247,255,236,224,128,128,128,128,128],[77,110,216,255,236,230,128,128,128,128,128]],[[1,101,251,255,241,255,128,128,128,128,128],[170,139,241,252,236,209,255,255,128,128,128],[37,116,196,243,228,255,255,255,128,128,128]],[[1,204,254,255,245,255,128,128,128,128,128],[207,160,250,255,238,128,128,128,128,128,128],[102,103,231,255,211,171,128,128,128,128,128]],[[1,152,252,255,240,255,128,128,128,128,128],[177,135,243,255,234,225,128,128,128,128,128],[80,129,211,255,194,224,128,128,128,128,128]],[[1,1,255,128,128,128,128,128,128,128,128],[246,1,255,128,128,128,128,128,128,128,128],[255,128,128,128,128,128,128,128,128,128,128]]],[[[198,35,237,223,193,187,162,160,145,155,62],[131,45,198,221,172,176,220,157,252,221,1],[68,47,146,208,149,167,221,162,255,223,128]],[[1,149,241,255,221,224,255,255,128,128,128],[184,141,234,253,222,220,255,199,128,128,128],[81,99,181,242,176,190,249,202,255,255,128]],[[1,129,232,253,214,197,242,196,255,255,128],[99,121,210,250,201,198,255,202,128,128,128],[23,91,163,242,170,187,247,210,255,255,128]],[[1,200,246,255,234,255,128,128,128,128,128],[109,178,241,255,231,245,255,255,128,128,128],[44,130,201,253,205,192,255,255,128,128,128]],[[1,132,239,251,219,209,255,165,128,128,128],[94,136,225,251,218,190,255,255,128,128,128],[22,100,174,245,186,161,255,199,128,128,128]],[[1,182,249,255,232,235,128,128,128,128,128],[124,143,241,255,227,234,128,128,128,128,128],[35,77,181,251,193,211,255,205,128,128,128]],[[1,157,247,255,236,231,255,255,128,128,128],[121,141,235,255,225,227,255,255,128,128,128],[45,99,188,251,195,217,255,224,128,128,128]],[[1,1,251,255,213,255,128,128,128,128,128],[203,1,248,255,255,128,128,128,128,128,128],[137,1,177,255,224,255,128,128,128,128,128]]],[[[253,9,248,251,207,208,255,192,128,128,128],[175,13,224,243,193,185,249,198,255,255,128],[73,17,171,221,161,179,236,167,255,234,128]],[[1,95,247,253,212,183,255,255,128,128,128],[239,90,244,250,211,209,255,255,128,128,128],[155,77,195,248,188,195,255,255,128,128,128]],[[1,24,239,251,218,219,255,205,128,128,128],[201,51,219,255,196,186,128,128,128,128,128],[69,46,190,239,201,218,255,228,128,128,128]],[[1,191,251,255,255,128,128,128,128,128,128],[223,165,249,255,213,255,128,128,128,128,128],[141,124,248,255,255,128,128,128,128,128,128]],[[1,16,248,255,255,128,128,128,128,128,128],[190,36,230,255,236,255,128,128,128,128,128],[149,1,255,128,128,128,128,128,128,128,128]],[[1,226,255,128,128,128,128,128,128,128,128],[247,192,255,128,128,128,128,128,128,128,128],[240,128,255,128,128,128,128,128,128,128,128]],[[1,134,252,255,255,128,128,128,128,128,128],[213,62,250,255,255,128,128,128,128,128,128],[55,93,255,128,128,128,128,128,128,128,128]],[[128,128,128,128,128,128,128,128,128,128,128],[128,128,128,128,128,128,128,128,128,128,128],[128,128,128,128,128,128,128,128,128,128,128]]],[[[202,24,213,235,186,191,220,160,240,175,255],[126,38,182,232,169,184,228,174,255,187,128],[61,46,138,219,151,178,240,170,255,216,128]],[[1,112,230,250,199,191,247,159,255,255,128],[166,109,228,252,211,215,255,174,128,128,128],[39,77,162,232,172,180,245,178,255,255,128]],[[1,52,220,246,198,199,249,220,255,255,128],[124,74,191,243,183,193,250,221,255,255,128],[24,71,130,219,154,170,243,182,255,255,128]],[[1,182,225,249,219,240,255,224,128,128,128],[149,150,226,252,216,205,255,171,128,128,128],[28,108,170,242,183,194,254,223,255,255,128]],[[1,81,230,252,204,203,255,192,128,128,128],[123,102,209,247,188,196,255,233,128,128,128],[20,95,153,243,164,173,255,203,128,128,128]],[[1,222,248,255,216,213,128,128,128,128,128],[168,175,246,252,235,205,255,255,128,128,128],[47,116,215,255,211,212,255,255,128,128,128]],[[1,121,236,253,212,214,255,255,128,128,128],[141,84,213,252,201,202,255,219,128,128,128],[42,80,160,240,162,185,255,205,128,128,128]],[[1,1,255,128,128,128,128,128,128,128,128],[244,1,255,128,128,128,128,128,128,128,128],[238,1,255,128,128,128,128,128,128,128,128]]]],Vf=[[[231,120,48,89,115,113,120,152,112],[152,179,64,126,170,118,46,70,95],[175,69,143,80,85,82,72,155,103],[56,58,10,171,218,189,17,13,152],[114,26,17,163,44,195,21,10,173],[121,24,80,195,26,62,44,64,85],[144,71,10,38,171,213,144,34,26],[170,46,55,19,136,160,33,206,71],[63,20,8,114,114,208,12,9,226],[81,40,11,96,182,84,29,16,36]],[[134,183,89,137,98,101,106,165,148],[72,187,100,130,157,111,32,75,80],[66,102,167,99,74,62,40,234,128],[41,53,9,178,241,141,26,8,107],[74,43,26,146,73,166,49,23,157],[65,38,105,160,51,52,31,115,128],[104,79,12,27,217,255,87,17,7],[87,68,71,44,114,51,15,186,23],[47,41,14,110,182,183,21,17,194],[66,45,25,102,197,189,23,18,22]],[[88,88,147,150,42,46,45,196,205],[43,97,183,117,85,38,35,179,61],[39,53,200,87,26,21,43,232,171],[56,34,51,104,114,102,29,93,77],[39,28,85,171,58,165,90,98,64],[34,22,116,206,23,34,43,166,73],[107,54,32,26,51,1,81,43,31],[68,25,106,22,64,171,36,225,114],[34,19,21,102,132,188,16,76,124],[62,18,78,95,85,57,50,48,51]],[[193,101,35,159,215,111,89,46,111],[60,148,31,172,219,228,21,18,111],[112,113,77,85,179,255,38,120,114],[40,42,1,196,245,209,10,25,109],[88,43,29,140,166,213,37,43,154],[61,63,30,155,67,45,68,1,209],[100,80,8,43,154,1,51,26,71],[142,78,78,16,255,128,34,197,171],[41,40,5,102,211,183,4,1,221],[51,50,17,168,209,192,23,25,82]],[[138,31,36,171,27,166,38,44,229],[67,87,58,169,82,115,26,59,179],[63,59,90,180,59,166,93,73,154],[40,40,21,116,143,209,34,39,175],[47,15,16,183,34,223,49,45,183],[46,17,33,183,6,98,15,32,183],[57,46,22,24,128,1,54,17,37],[65,32,73,115,28,128,23,128,205],[40,3,9,115,51,192,18,6,223],[87,37,9,115,59,77,64,21,47]],[[104,55,44,218,9,54,53,130,226],[64,90,70,205,40,41,23,26,57],[54,57,112,184,5,41,38,166,213],[30,34,26,133,152,116,10,32,134],[39,19,53,221,26,114,32,73,255],[31,9,65,234,2,15,1,118,73],[75,32,12,51,192,255,160,43,51],[88,31,35,67,102,85,55,186,85],[56,21,23,111,59,205,45,37,192],[55,38,70,124,73,102,1,34,98]],[[125,98,42,88,104,85,117,175,82],[95,84,53,89,128,100,113,101,45],[75,79,123,47,51,128,81,171,1],[57,17,5,71,102,57,53,41,49],[38,33,13,121,57,73,26,1,85],[41,10,67,138,77,110,90,47,114],[115,21,2,10,102,255,166,23,6],[101,29,16,10,85,128,101,196,26],[57,18,10,102,102,213,34,20,43],[117,20,15,36,163,128,68,1,26]],[[102,61,71,37,34,53,31,243,192],[69,60,71,38,73,119,28,222,37],[68,45,128,34,1,47,11,245,171],[62,17,19,70,146,85,55,62,70],[37,43,37,154,100,163,85,160,1],[63,9,92,136,28,64,32,201,85],[75,15,9,9,64,255,184,119,16],[86,6,28,5,64,255,25,248,1],[56,8,17,132,137,255,55,116,128],[58,15,20,82,135,57,26,121,40]],[[164,50,31,137,154,133,25,35,218],[51,103,44,131,131,123,31,6,158],[86,40,64,135,148,224,45,183,128],[22,26,17,131,240,154,14,1,209],[45,16,21,91,64,222,7,1,197],[56,21,39,155,60,138,23,102,213],[83,12,13,54,192,255,68,47,28],[85,26,85,85,128,128,32,146,171],[18,11,7,63,144,171,4,4,246],[35,27,10,146,174,171,12,26,128]],[[190,80,35,99,180,80,126,54,45],[85,126,47,87,176,51,41,20,32],[101,75,128,139,118,146,116,128,85],[56,41,15,176,236,85,37,9,62],[71,30,17,119,118,255,17,18,138],[101,38,60,138,55,70,43,26,142],[146,36,19,30,171,255,97,27,20],[138,45,61,62,219,1,81,188,64],[32,41,20,117,151,142,20,21,163],[112,19,12,61,195,128,48,4,24]]],Gf=[[[[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[176,246,255,255,255,255,255,255,255,255,255],[223,241,252,255,255,255,255,255,255,255,255],[249,253,253,255,255,255,255,255,255,255,255]],[[255,244,252,255,255,255,255,255,255,255,255],[234,254,254,255,255,255,255,255,255,255,255],[253,255,255,255,255,255,255,255,255,255,255]],[[255,246,254,255,255,255,255,255,255,255,255],[239,253,254,255,255,255,255,255,255,255,255],[254,255,254,255,255,255,255,255,255,255,255]],[[255,248,254,255,255,255,255,255,255,255,255],[251,255,254,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,253,254,255,255,255,255,255,255,255,255],[251,254,254,255,255,255,255,255,255,255,255],[254,255,254,255,255,255,255,255,255,255,255]],[[255,254,253,255,254,255,255,255,255,255,255],[250,255,254,255,254,255,255,255,255,255,255],[254,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]]],[[[217,255,255,255,255,255,255,255,255,255,255],[225,252,241,253,255,255,254,255,255,255,255],[234,250,241,250,253,255,253,254,255,255,255]],[[255,254,255,255,255,255,255,255,255,255,255],[223,254,254,255,255,255,255,255,255,255,255],[238,253,254,254,255,255,255,255,255,255,255]],[[255,248,254,255,255,255,255,255,255,255,255],[249,254,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,253,255,255,255,255,255,255,255,255,255],[247,254,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,253,254,255,255,255,255,255,255,255,255],[252,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,254,254,255,255,255,255,255,255,255,255],[253,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,254,253,255,255,255,255,255,255,255,255],[250,255,255,255,255,255,255,255,255,255,255],[254,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]]],[[[186,251,250,255,255,255,255,255,255,255,255],[234,251,244,254,255,255,255,255,255,255,255],[251,251,243,253,254,255,254,255,255,255,255]],[[255,253,254,255,255,255,255,255,255,255,255],[236,253,254,255,255,255,255,255,255,255,255],[251,253,253,254,254,255,255,255,255,255,255]],[[255,254,254,255,255,255,255,255,255,255,255],[254,254,254,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,254,255,255,255,255,255,255,255,255,255],[254,254,255,255,255,255,255,255,255,255,255],[254,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[254,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]]],[[[248,255,255,255,255,255,255,255,255,255,255],[250,254,252,254,255,255,255,255,255,255,255],[248,254,249,253,255,255,255,255,255,255,255]],[[255,253,253,255,255,255,255,255,255,255,255],[246,253,253,255,255,255,255,255,255,255,255],[252,254,251,254,254,255,255,255,255,255,255]],[[255,254,252,255,255,255,255,255,255,255,255],[248,254,253,255,255,255,255,255,255,255,255],[253,255,254,254,255,255,255,255,255,255,255]],[[255,251,254,255,255,255,255,255,255,255,255],[245,251,254,255,255,255,255,255,255,255,255],[253,253,254,255,255,255,255,255,255,255,255]],[[255,251,253,255,255,255,255,255,255,255,255],[252,253,254,255,255,255,255,255,255,255,255],[255,254,255,255,255,255,255,255,255,255,255]],[[255,252,255,255,255,255,255,255,255,255,255],[249,255,254,255,255,255,255,255,255,255,255],[255,255,254,255,255,255,255,255,255,255,255]],[[255,255,253,255,255,255,255,255,255,255,255],[250,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[254,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]]]],Kf=[0,1,2,3,6,4,5,6,6,6,6,6,6,6,6,7,0],on=[],si=[],Ui=[],Yf=1,Ql=2,cn=[],We=[];_t("UpsampleRgbLinePair",p0,3),_t("UpsampleBgrLinePair",M0,3),_t("UpsampleRgbaLinePair",ei,4),_t("UpsampleBgraLinePair",ee,4),_t("UpsampleArgbLinePair",fe,4),_t("UpsampleRgba4444LinePair",Y0,2),_t("UpsampleRgb565LinePair",j0,2);var Jf=O.UpsampleRgbLinePair,Xf=O.UpsampleBgrLinePair,t2=O.UpsampleRgbaLinePair,e2=O.UpsampleBgraLinePair,i2=O.UpsampleArgbLinePair,n2=O.UpsampleRgba4444LinePair,Zf=O.UpsampleRgb565LinePair,Is=16,ks=1<g.ca.S||(alert("todo:WebPInitConvertARGBToYUV"),g.ca.f.kb.F!=null&<()),g.Pb&&0(M=d.Md)?0:100j;++j)12>(dt=N.pb[j]).lc&&(dt.ia=M*s1[0>dt.lc?0:dt.lc]>>3),nt|=dt.ia;nt&&(alert("todo:VP8InitRandom"),N.ia=1)}N.Ga=d.Id,100N.Ga&&(N.Ga=0)}Xa(s,g)||(o=s.a)}}else o=s.a}o==0&&k.Oa!=null&&k.Oa.fd&&(o=gr(k.ba))}k=o}P=k!=0?null:11>P?F.f.RGBA.eb:F.f.kb.y}else P=null;return P};var a2=[3,4,3,4,4,2,2,4,4,4,2,1,1]};function p(O,et){for(var tt="",R=0;R<4;R++)tt+=String.fromCharCode(O[et++]);return tt}function b(O,et){return(O[et+0]<<0|O[et+1]<<8|O[et+2]<<16)>>>0}function x(O,et){return(O[et+0]<<0|O[et+1]<<8|O[et+2]<<16|O[et+3]<<24)>>>0}new l;var y=[0],m=[0],A=[],T=new l,I=u,_=function(O,et){var tt={},R=0,w=!1,z=0,q=0;if(tt.frames=[],!function(H,U,K,Q){for(var ht=0;ht>1&1}$!="ANMF"&&(et+=J)}return tt}}(I,0);_.response=I,_.rgbaoutput=!0,_.dataurl=!1;var S=_.header?_.header:null,C=_.frames?_.frames:null;if(S){S.loop_counter=S.loop_count,y=[S.canvas_height],m=[S.canvas_width];for(var D=0;D>>1)&255;return _},l=function(y,m,A){var T,I,_,S,C=[],D=y.length;C[0]=4;for(var W=0;W>>$&255,$+=S.bits;et[z]=w>>>$&255}}if(S.bits===16){O=(B=new Uint32Array(S.decodePixels().buffer)).length,tt=new Uint8Array(O*(32/S.pixelBitlength)*S.colors),et=new Uint8Array(O*(32/S.pixelBitlength)),R=S.colors>1,z=0,q=0;for(var J=0;z>>0&255,R&&(tt[q++]=w>>>16&255,w=B[z++],tt[q++]=w>>>0&255),et[J++]=w>>>16&255;_=8}T!==u.image_compression.NONE&&t()?(y=e(tt,S.width*S.colors,S.colors,T),Z=e(et,S.width,1,T)):(y=tt,Z=et,ot=void 0)}if(S.colorType===3&&(I=this.color_spaces.INDEXED,W=S.palette,S.transparency.indexed)){var st=S.transparency.indexed,bt=0;for(z=0,O=st.length;z=0;u--){for(var i=this.bottom_up?u:this.height-1-u,n=0;n>7-c&1];this.data[a+4*c]=l.blue,this.data[a+4*c+1]=l.green,this.data[a+4*c+2]=l.red,this.data[a+4*c+3]=255}e!==0&&(this.pos+=4-e)}},ci.prototype.bit4=function(){for(var u=Math.ceil(this.width/2),t=u%4,e=this.height-1;e>=0;e--){for(var i=this.bottom_up?e:this.height-1-e,n=0;n>4,l=15&r,p=this.palette[c];if(this.data[a]=p.blue,this.data[a+1]=p.green,this.data[a+2]=p.red,this.data[a+3]=255,2*n+1>=this.width)break;p=this.palette[l],this.data[a+4]=p.blue,this.data[a+4+1]=p.green,this.data[a+4+2]=p.red,this.data[a+4+3]=255}t!==0&&(this.pos+=4-t)}},ci.prototype.bit8=function(){for(var u=this.width%4,t=this.height-1;t>=0;t--){for(var e=this.bottom_up?t:this.height-1-t,i=0;i=0;e--){for(var i=this.bottom_up?e:this.height-1-e,n=0;n>5&t)/t*255|0,l=(r>>10&t)/t*255|0,p=r>>15?255:0,b=i*this.width*4+4*n;this.data[b]=l,this.data[b+1]=c,this.data[b+2]=a,this.data[b+3]=p}this.pos+=u}},ci.prototype.bit16=function(){for(var u=this.width%3,t=parseInt("11111",2),e=parseInt("111111",2),i=this.height-1;i>=0;i--){for(var n=this.bottom_up?i:this.height-1-i,r=0;r>5&e)/e*255|0,p=(a>>11)/t*255|0,b=n*this.width*4+4*r;this.data[b]=p,this.data[b+1]=l,this.data[b+2]=c,this.data[b+3]=255}this.pos+=u}},ci.prototype.bit24=function(){for(var u=this.height-1;u>=0;u--){for(var t=this.bottom_up?u:this.height-1-u,e=0;e=0;u--)for(var t=this.bottom_up?u:this.height-1-u,e=0;ei&&(n.push(u.slice(l,r)),c=0,l=r),c+=t[r],r++;return l!==r&&n.push(u.slice(l,r)),n},B2=function(u,t,e){e||(e={});var i,n,r,a,c,l,p,b=[],x=[b],y=e.textIndent||0,m=0,A=0,T=u.split(" "),I=Ks.apply(this,[" ",e])[0];if(l=e.lineIndent===-1?T[0].length+2:e.lineIndent||0){var _=Array(l).join(" "),S=[];T.map(function(D){(D=D.split(/\s*\n/)).length>1?S=S.concat(D.map(function(W,Z){return(Z&&W.length?` `:"")+W})):S.push(D[0])}),T=S,l=M2.apply(this,[_,e])}for(r=0,a=T.length;rt||C){if(A>t){for(c=H2.apply(this,[i,n,t-(y+m),t]),b.push(c.shift()),b=[c.pop()];c.length;)x.push([c.shift()]);A=n.slice(i.length-(b[0]?b[0].length:0)).reduce(function(D,W){return D+W},0)}else b=[i];x.push(b),y=A+l,m=I}else b.push(i),y+=m+A,m=I}return p=l?function(D,W){return(W?_:"")+D.join(" ")}:function(D){return D.join(" ")},x.map(p)},Su.splitTextToSize=function(u,t,e){var i,n=(e=e||{}).fontSize||this.internal.getFontSize(),r=function(b){if(b.widths&&b.kerning)return{widths:b.widths,kerning:b.kerning};var x=this.internal.getFont(b.fontName,b.fontStyle);return x.metadata.Unicode?{widths:x.metadata.Unicode.widths||{0:1},kerning:x.metadata.Unicode.kerning||{}}:{font:x.metadata,fontSize:this.internal.getFontSize(),charSpace:this.internal.getCharSpace()}}.call(this,e);i=Array.isArray(u)?u:String(u).split(/\r?\n/);var a=1*this.internal.scaleFactor*t/n;r.textIndent=e.textIndent?1*e.textIndent*this.internal.scaleFactor/n:0,r.lineIndent=e.lineIndent;var c,l,p=[];for(c=0,l=i.length;cimport("./index.es.708e4a5f.js"),["assets/index.es.708e4a5f.js","assets/js/app-cab9cb86.js","assets/app.e3a2e85d.css","assets/VisCanvas.870126cf.js","assets/VisCanvas.4280c84c.css","assets/LoadingSpinner.9d8d5b2a.js","assets/LoadingSpinner.ed9fa969.css"])).catch(function(e){return Promise.reject(new Error("Could not load canvg: "+e))}).then(function(e){return e.default?e.default:e})}Kt.API.addSvgAsImage=function(e,i,n,r,a,c,l,p){if(isNaN(i)||isNaN(n))throw C0.error("jsPDF.addSvgAsImage: Invalid coordinates",arguments),new Error("Invalid coordinates passed to jsPDF.addSvgAsImage");if(isNaN(r)||isNaN(a))throw C0.error("jsPDF.addSvgAsImage: Invalid measurements",arguments),new Error("Invalid measurements (width and/or height) passed to jsPDF.addSvgAsImage");var b=document.createElement("canvas");b.width=r,b.height=a;var x=b.getContext("2d");x.fillStyle="#fff",x.fillRect(0,0,b.width,b.height);var y={ignoreMouse:!0,ignoreAnimation:!0,ignoreDimensions:!0},m=this;return t().then(function(A){return A.fromString(x,e,y)},function(){return Promise.reject(new Error("Could not load canvg."))}).then(function(A){return A.render(y)}).then(function(){m.addImage(b.toDataURL("image/jpeg",1),i,n,r,a,l,p)})}}(),Kt.API.putTotalPages=function(u){var t,e=0;parseInt(this.internal.getFont().id.substr(1),10)<15?(t=new RegExp(u,"g"),e=this.internal.getNumberOfPages()):(t=new RegExp(this.pdfEscape16(u,this.internal.getFont()),"g"),e=this.pdfEscape16(this.internal.getNumberOfPages()+"",this.internal.getFont()));for(var i=1;i<=this.internal.getNumberOfPages();i++)for(var n=0;n1){for(b=0;bt||C){if(A>t){for(c=H2.apply(this,[i,n,t-(y+m),t]),b.push(c.shift()),b=[c.pop()];c.length;)x.push([c.shift()]);A=n.slice(i.length-(b[0]?b[0].length:0)).reduce(function(D,W){return D+W},0)}else b=[i];x.push(b),y=A+l,m=I}else b.push(i),y+=m+A,m=I}return p=l?function(D,W){return(W?_:"")+D.join(" ")}:function(D){return D.join(" ")},x.map(p)},Su.splitTextToSize=function(u,t,e){var i,n=(e=e||{}).fontSize||this.internal.getFontSize(),r=function(b){if(b.widths&&b.kerning)return{widths:b.widths,kerning:b.kerning};var x=this.internal.getFont(b.fontName,b.fontStyle);return x.metadata.Unicode?{widths:x.metadata.Unicode.widths||{0:1},kerning:x.metadata.Unicode.kerning||{}}:{font:x.metadata,fontSize:this.internal.getFontSize(),charSpace:this.internal.getCharSpace()}}.call(this,e);i=Array.isArray(u)?u:String(u).split(/\r?\n/);var a=1*this.internal.scaleFactor*t/n;r.textIndent=e.textIndent?1*e.textIndent*this.internal.scaleFactor/n:0,r.lineIndent=e.lineIndent;var c,l,p=[];for(c=0,l=i.length;cimport("./index.es.ce03073c.js"),["assets/index.es.ce03073c.js","assets/js/app-4881d322.js","assets/app.e3a2e85d.css","assets/VisCanvas.4e4e5723.js","assets/VisCanvas.4280c84c.css","assets/LoadingSpinner.26780557.js","assets/LoadingSpinner.ed9fa969.css"])).catch(function(e){return Promise.reject(new Error("Could not load canvg: "+e))}).then(function(e){return e.default?e.default:e})}Kt.API.addSvgAsImage=function(e,i,n,r,a,c,l,p){if(isNaN(i)||isNaN(n))throw C0.error("jsPDF.addSvgAsImage: Invalid coordinates",arguments),new Error("Invalid coordinates passed to jsPDF.addSvgAsImage");if(isNaN(r)||isNaN(a))throw C0.error("jsPDF.addSvgAsImage: Invalid measurements",arguments),new Error("Invalid measurements (width and/or height) passed to jsPDF.addSvgAsImage");var b=document.createElement("canvas");b.width=r,b.height=a;var x=b.getContext("2d");x.fillStyle="#fff",x.fillRect(0,0,b.width,b.height);var y={ignoreMouse:!0,ignoreAnimation:!0,ignoreDimensions:!0},m=this;return t().then(function(A){return A.fromString(x,e,y)},function(){return Promise.reject(new Error("Could not load canvg."))}).then(function(A){return A.render(y)}).then(function(){m.addImage(b.toDataURL("image/jpeg",1),i,n,r,a,l,p)})}}(),Kt.API.putTotalPages=function(u){var t,e=0;parseInt(this.internal.getFont().id.substr(1),10)<15?(t=new RegExp(u,"g"),e=this.internal.getNumberOfPages()):(t=new RegExp(this.pdfEscape16(u,this.internal.getFont()),"g"),e=this.pdfEscape16(this.internal.getNumberOfPages()+"",this.internal.getFont()));for(var i=1;i<=this.internal.getNumberOfPages();i++)for(var n=0;n1){for(b=0;b({headers:[{text:"Combination",value:"combination"},{text:"Description",value:"description"}],items:[{combination:"LMB - :node",description:"Place a new node."},{combination:"LMB - :port",description:"Place a new port (connects to a nearby switch or host)."},{combination:"LMB @ :item",description:"Select the node or edge."},{combination:"LMB2 @ :item",description:"Edit the item."},{combination:"LMBd - :edge",description:"Connect two nodes with a link or an association."},{combination:"LMBd @ :node",description:"Move the node."},{combination:"LMBd",description:"Move the viewport."},{combination:"LMBlp @ :edge",description:"Reconnect a link or an association."},{combination:"LMBlp @ :swho",description:"Organize the ports of a switch or host."},{combination:"ctrl + LMB @ :item",description:"Select or unselect multiple items."},{combination:"RMBd",description:"Rectangular selection of nodes."},{combination:"ctrl + RMBd",description:"Remove nodes from the selection."},{combination:"shift + RMBd",description:"Add nodes to the selection."},{combination:"a",description:"Fit all items into the viewport."},{combination:"c",description:"Add a controller."},{combination:"d",description:"Delete selected items."},{combination:"e",description:"Add an edge."},{combination:"f",description:"Fit selected items into the viewport."},{combination:"h",description:"Add a host."},{combination:"i",description:"Add a label witch IPS placeholder (autoconnects to the closest)."},{combination:"l",description:"Add a label."},{combination:"p",description:"Add a port (autoconnects to the closest)."},{combination:"s",description:"Add a switch."},{combination:"t",description:"Add a label with TYPES placeholder (autoconnects to the closest)."},{combination:"z",description:"Reset zoom."},{combination:"ctrl + a",description:"Select all."},{combination:"ctrl + y",description:"Redo undone change."},{combination:"ctrl + z",description:"Undo a change."},{combination:"del",description:"Delete selected items."},{combination:"esc",description:"Stop editing edges or adding items."}],special:{"@":{tag:"span",text:"\xA0@\xA0",title:"on"},"+":{tag:"span",text:"\xA0+\xA0",title:"and"},"-":{tag:"span",text:"\xA0",title:"with"},LMB:{tag:"kbd",text:"LMB",title:"left mouse button click"},LMB2:{tag:"kbd",text:"2\xB7LMB",title:"double left mouse button click"},LMBd:{tag:"kbd",text:"LMB \u2192",title:"drag with left mouse button pressed"},LMBlp:{tag:"kbd",text:"\xA0\xA0\xA0LMB\xA0\xA0\xA0",title:"long press left mouse button"},RMBd:{tag:"kbd",text:"RMB \u2192",title:"drag with right mouse button pressed"},ctrl:{tag:"kbd",text:"CTRL",title:"hold control"},shift:{tag:"kbd",text:"SHIFT",title:"hold shift"},del:{tag:"kbd",text:"DEL",title:"press delete"},esc:{tag:"kbd",text:"ESC",title:"press escape"},":edge":{tag:"v-icon",text:"$vuetify.icons.net-edge",title:"link or association"},":item":{tag:"v-icon",text:"$vuetify.icons.net-host",title:"port, host, switch, controller, label, link or association"},":node":{tag:"v-icon",text:"$vuetify.icons.net-host",title:"port, host, switch, controller or label"},":swho":{tag:"v-icon",text:"$vuetify.icons.net-host",title:"switch or host"},":port":{tag:"v-icon",text:"$vuetify.icons.net-port",title:"port"}},nodeIcons:["port","host","switch","controller","dummy"],itemIcons:["edge","port","host","switch","controller","dummy"],swhoIcons:["host","switch"],iconsIndex:Math.floor(Math.random()*100),simpleKeyRE:/^[a-z]$/,timer:null}),mounted(){this.update(),this.timer=window.setInterval(()=>this.update(),2e3)},beforeDestroy(){window.clearInterval(this.timer)},methods:{parse(t){return t.split(" ").map(i=>{if(this.special[i])return this.special[i];if(this.simpleKeyRE.test(i)){const e=i.toUpperCase();return{tag:"kbd",text:e,title:"press\xA0"+e}}else return{tag:"span",text:"\xA0"+i+"\xA0",title:i}})},getTitleFor(t){return this.parse(t).map(i=>i.title).join(" ")},update(){++this.iconsIndex,this.special[":node"].text="$vuetify.icons.net-"+this.nodeIcons[this.iconsIndex%this.nodeIcons.length],this.special[":item"].text="$vuetify.icons.net-"+this.itemIcons[this.iconsIndex%this.itemIcons.length],this.special[":swho"].text="$vuetify.icons.net-"+this.swhoIcons[this.iconsIndex%this.swhoIcons.length]}}},c={};var v=s(_,h,u,!1,b,"7ebdae2a",null,null);function b(t){for(let i in c)this[i]=c[i]}var f=function(){return v.exports}(),g=function(){var t=this,i=t.$createElement,e=t._self._c||i;return e("section",[e("h3",{staticClass:"headline"},[t._v("Placeholders")]),e("p",[t._v(" Placeholders can be used in labels to display information about connected node or nodes. ")]),e("v-data-table",{staticClass:"elevation-1",attrs:{headers:t.headers,items:t.items,"items-per-page":t.items.length,"sort-by":[],"hide-default-footer":""},scopedSlots:t._u([{key:"items",fn:function(o){return[e("td",{staticClass:"monospace",domProps:{textContent:t._s(o.item.name)}}),e("td",{domProps:{textContent:t._s(o.item.description)}}),e("td",{domProps:{textContent:t._s(o.item.multiline)}})]}}])})],1)},x=[];const w={name:"PlaceholderHowTo",data:()=>({headers:[{text:"Placeholder",value:"name"},{text:"Description",value:"description"},{text:"Multiline",value:"multiline"}],items:[{name:"{{HOSTNAMES}}",description:"Lists hostnames of connected nodes.",multiline:"no"},{name:"{{IPS}}",description:"Lists IPs of connected nodes.",multiline:"with multiple IPs or nodes"},{name:"{{TYPES}}",description:"Lists types of connected nodes.",multiline:"with multiple nodes"}]})},r={};var y=s(w,g,x,!1,M,"d86a9bae",null,null);function M(t){for(let i in r)this[i]=r[i]}var L=function(){return y.exports}(),B=function(){var t=this,i=t.$createElement,e=t._self._c||i;return e("v-container",{attrs:{"grid-list-md":""}},[e("v-layout",{attrs:{wrap:""}},[e("AppLogo"),e("v-flex",{attrs:{xs12:""}},[e("AppDescription")],1),e("v-flex",{attrs:{xs12:""}},[e("BindingsList")],1),e("v-flex",{attrs:{xs12:""}},[e("PlaceholderHowTo")],1)],1)],1)},$=[];const k={name:"HomePage",components:{BindingsList:f,AppDescription:m,AppLogo:p,PlaceholderHowTo:L}},l={};var I=s(k,B,$,!1,P,null,null,null);function P(t){for(let i in l)this[i]=l[i]}var R=function(){return I.exports}();export{R as default}; +import{n as s}from"./js/app-4881d322.js";import{A as m,a as p}from"./AppLogo.f38aeaa0.js";var h=function(){var t=this,i=t.$createElement,e=t._self._c||i;return e("section",[e("h3",{staticClass:"headline"},[t._v("Bindings")]),e("v-data-table",{staticClass:"elevation-1",attrs:{headers:t.headers,items:t.items,"item-key":"combination","items-per-page":t.items.length,"sort-by":[],"hide-default-footer":""},scopedSlots:t._u([{key:"item.combination",fn:function(o){var n=o.item;return[e("div",{staticClass:"with-title combination",attrs:{title:t.getTitleFor(n.combination)}},t._l(t.parse(n.combination),function(a,d){return e(a.tag,{key:d,tag:"component",staticClass:"monospace"},[t._v(t._s(a.text))])}),1)]}},{key:"item.description",fn:function(o){var n=o.item;return[t._v(" "+t._s(n.description)+" ")]}}],null,!0)})],1)},u=[];const _={name:"BindingsList",data:()=>({headers:[{text:"Combination",value:"combination"},{text:"Description",value:"description"}],items:[{combination:"LMB - :node",description:"Place a new node."},{combination:"LMB - :port",description:"Place a new port (connects to a nearby switch or host)."},{combination:"LMB @ :item",description:"Select the node or edge."},{combination:"LMB2 @ :item",description:"Edit the item."},{combination:"LMBd - :edge",description:"Connect two nodes with a link or an association."},{combination:"LMBd @ :node",description:"Move the node."},{combination:"LMBd",description:"Move the viewport."},{combination:"LMBlp @ :edge",description:"Reconnect a link or an association."},{combination:"LMBlp @ :swho",description:"Organize the ports of a switch or host."},{combination:"ctrl + LMB @ :item",description:"Select or unselect multiple items."},{combination:"RMBd",description:"Rectangular selection of nodes."},{combination:"ctrl + RMBd",description:"Remove nodes from the selection."},{combination:"shift + RMBd",description:"Add nodes to the selection."},{combination:"a",description:"Fit all items into the viewport."},{combination:"c",description:"Add a controller."},{combination:"d",description:"Delete selected items."},{combination:"e",description:"Add an edge."},{combination:"f",description:"Fit selected items into the viewport."},{combination:"h",description:"Add a host."},{combination:"i",description:"Add a label witch IPS placeholder (autoconnects to the closest)."},{combination:"l",description:"Add a label."},{combination:"p",description:"Add a port (autoconnects to the closest)."},{combination:"s",description:"Add a switch."},{combination:"t",description:"Add a label with TYPES placeholder (autoconnects to the closest)."},{combination:"z",description:"Reset zoom."},{combination:"ctrl + a",description:"Select all."},{combination:"ctrl + y",description:"Redo undone change."},{combination:"ctrl + z",description:"Undo a change."},{combination:"del",description:"Delete selected items."},{combination:"esc",description:"Stop editing edges or adding items."}],special:{"@":{tag:"span",text:"\xA0@\xA0",title:"on"},"+":{tag:"span",text:"\xA0+\xA0",title:"and"},"-":{tag:"span",text:"\xA0",title:"with"},LMB:{tag:"kbd",text:"LMB",title:"left mouse button click"},LMB2:{tag:"kbd",text:"2\xB7LMB",title:"double left mouse button click"},LMBd:{tag:"kbd",text:"LMB \u2192",title:"drag with left mouse button pressed"},LMBlp:{tag:"kbd",text:"\xA0\xA0\xA0LMB\xA0\xA0\xA0",title:"long press left mouse button"},RMBd:{tag:"kbd",text:"RMB \u2192",title:"drag with right mouse button pressed"},ctrl:{tag:"kbd",text:"CTRL",title:"hold control"},shift:{tag:"kbd",text:"SHIFT",title:"hold shift"},del:{tag:"kbd",text:"DEL",title:"press delete"},esc:{tag:"kbd",text:"ESC",title:"press escape"},":edge":{tag:"v-icon",text:"$vuetify.icons.net-edge",title:"link or association"},":item":{tag:"v-icon",text:"$vuetify.icons.net-host",title:"port, host, switch, controller, label, link or association"},":node":{tag:"v-icon",text:"$vuetify.icons.net-host",title:"port, host, switch, controller or label"},":swho":{tag:"v-icon",text:"$vuetify.icons.net-host",title:"switch or host"},":port":{tag:"v-icon",text:"$vuetify.icons.net-port",title:"port"}},nodeIcons:["port","host","switch","controller","dummy"],itemIcons:["edge","port","host","switch","controller","dummy"],swhoIcons:["host","switch"],iconsIndex:Math.floor(Math.random()*100),simpleKeyRE:/^[a-z]$/,timer:null}),mounted(){this.update(),this.timer=window.setInterval(()=>this.update(),2e3)},beforeDestroy(){window.clearInterval(this.timer)},methods:{parse(t){return t.split(" ").map(i=>{if(this.special[i])return this.special[i];if(this.simpleKeyRE.test(i)){const e=i.toUpperCase();return{tag:"kbd",text:e,title:"press\xA0"+e}}else return{tag:"span",text:"\xA0"+i+"\xA0",title:i}})},getTitleFor(t){return this.parse(t).map(i=>i.title).join(" ")},update(){++this.iconsIndex,this.special[":node"].text="$vuetify.icons.net-"+this.nodeIcons[this.iconsIndex%this.nodeIcons.length],this.special[":item"].text="$vuetify.icons.net-"+this.itemIcons[this.iconsIndex%this.itemIcons.length],this.special[":swho"].text="$vuetify.icons.net-"+this.swhoIcons[this.iconsIndex%this.swhoIcons.length]}}},c={};var v=s(_,h,u,!1,b,"7ebdae2a",null,null);function b(t){for(let i in c)this[i]=c[i]}var f=function(){return v.exports}(),g=function(){var t=this,i=t.$createElement,e=t._self._c||i;return e("section",[e("h3",{staticClass:"headline"},[t._v("Placeholders")]),e("p",[t._v(" Placeholders can be used in labels to display information about connected node or nodes. ")]),e("v-data-table",{staticClass:"elevation-1",attrs:{headers:t.headers,items:t.items,"items-per-page":t.items.length,"sort-by":[],"hide-default-footer":""},scopedSlots:t._u([{key:"items",fn:function(o){return[e("td",{staticClass:"monospace",domProps:{textContent:t._s(o.item.name)}}),e("td",{domProps:{textContent:t._s(o.item.description)}}),e("td",{domProps:{textContent:t._s(o.item.multiline)}})]}}])})],1)},x=[];const w={name:"PlaceholderHowTo",data:()=>({headers:[{text:"Placeholder",value:"name"},{text:"Description",value:"description"},{text:"Multiline",value:"multiline"}],items:[{name:"{{HOSTNAMES}}",description:"Lists hostnames of connected nodes.",multiline:"no"},{name:"{{IPS}}",description:"Lists IPs of connected nodes.",multiline:"with multiple IPs or nodes"},{name:"{{TYPES}}",description:"Lists types of connected nodes.",multiline:"with multiple nodes"}]})},r={};var y=s(w,g,x,!1,M,"d86a9bae",null,null);function M(t){for(let i in r)this[i]=r[i]}var L=function(){return y.exports}(),B=function(){var t=this,i=t.$createElement,e=t._self._c||i;return e("v-container",{attrs:{"grid-list-md":""}},[e("v-layout",{attrs:{wrap:""}},[e("AppLogo"),e("v-flex",{attrs:{xs12:""}},[e("AppDescription")],1),e("v-flex",{attrs:{xs12:""}},[e("BindingsList")],1),e("v-flex",{attrs:{xs12:""}},[e("PlaceholderHowTo")],1)],1)],1)},$=[];const k={name:"HomePage",components:{BindingsList:f,AppDescription:m,AppLogo:p,PlaceholderHowTo:L}},l={};var I=s(k,B,$,!1,P,null,null,null);function P(t){for(let i in l)this[i]=l[i]}var R=function(){return I.exports}();export{R as default}; diff --git a/assets/LoadingSpinner.9d8d5b2a.js b/assets/LoadingSpinner.26780557.js similarity index 98% rename from assets/LoadingSpinner.9d8d5b2a.js rename to assets/LoadingSpinner.26780557.js index 2a862fe03..9de187525 100644 --- a/assets/LoadingSpinner.9d8d5b2a.js +++ b/assets/LoadingSpinner.26780557.js @@ -1 +1 @@ -import{n as c}from"./js/app-cab9cb86.js";const p=[{value:"IVSSwitch",text:"IVS Switch"},{value:"LinuxBridge",text:"Linux Bridge"},{value:"OVSBridge",text:"OVS Bridge"},{value:"OVSSwitch",text:"OVS Switch"},{value:"UserSwitch",text:"User Switch"}],I=[{value:"secure",text:"Secure"},{value:"standalone",text:"Standalone"}],F=[{value:"kernel",text:"Kernel"},{value:"user",text:"User"}],H=[{value:"OpenFlow12",text:"OpenFlow 1.2"},{value:"OpenFlow13",text:"OpenFlow 1.3"},{value:"OpenFlow14",text:"OpenFlow 1.4"},{value:"OpenFlow15",text:"OpenFlow 1.5"}],d=[{value:"Controller",text:"OpenFlow Reference Implementation"},{value:"NOX",text:"NOX"},{value:"OVSController",text:"OVS Controller"},{value:"RemoteController",text:"Remote Controller"},{value:"Ryu",text:"Ryu Controller"}],$=[{value:"tcp",text:"TCP"},{value:"ssl",text:"SSL"}],C=[{value:"cfs",text:"CFS"},{value:"rt",text:"RT"}],k=[{value:"debug",text:"Debug"},{value:"info",text:"Info"},{value:"output",text:"Output"},{value:"warning",text:"Warning"},{value:"error",text:"Error"},{value:"critical",text:"Critical"}];function o(t,e){return t[e.value]=e.text,t}const M=d.reduce(o,Object.create(null)),L=p.reduce(o,Object.create(null)),f=t=>/^\d+$/.test(t)&&t>=0&&t<=32,m=t=>/^\d+$/.test(t)&&t>=0&&t<=128,r=t=>/^\d+\.\d+\.\d+\.\d+$/.test(t)&&t.split(".").every(e=>e>=0&&e<=255),i=t=>{if(!/^[a-fA-F0-9:]+$/.test(t))return!1;const e=t.split(":");if(!e.every(a=>a.length<=4))return!1;const n=e.length,s=e.filter(a=>a.length===0).length;return s===0&&n===8||s===1&&n<=8},h=t=>{const[e,n,s]=t.split("/");return s===void 0&&e!=null&&r(e)&&n!=null&&f(n)},x=t=>{const[e,n,s]=t.split("/");return s===void 0&&e!=null&&i(e)&&n!=null&&m(n)},y=t=>r(t)||i(t),u=t=>h(t)||x(t),P=(t,e)=>n=>n==null||n===""||typeof n=="number"&&t<=n&&n<=e||`Has to be between ${t} and ${e} inclusive.`,R=()=>t=>t==null||t===""||typeof t=="number"&&Number.isFinite(t)||"Has to be a decimal number.",V=t=>e=>e==null||e===""||typeof e=="number"&&e%t===0||`Has to be divisible by ${t}.`,A=()=>t=>t==null||t===""||typeof t=="string"&&/^[0-9a-fA-F]+$/.test(t)||"Has to be in hexadecimal.",T=()=>t=>t==null||t===""||typeof t=="string"&&/^[a-zA-Z][a-zA-Z0-9]+$/.test(t)||"Has to start with a letter and contain only letters and numbers.",W=()=>t=>t==null||t===""||typeof t=="number"&&t%1===0||"Has to be an integer.",z=()=>t=>t==null||t===""||typeof t=="string"&&u(t)||"Has to contain a valid IP 4/6 address with a mask (CIDR notation).",j=()=>t=>t==null||t===""||typeof t=="string"&&y(t)||"Has to be valid IP 4/6 address.",B=()=>t=>t==null||t===""||Array.isArray(t)&&t.every(e=>u(e))||"Has to contain only valid IP 4/6 addresses with masks (CIDR notation), one per line.",D=t=>e=>e==null||e===""||typeof e=="string"&&e.length<=t||`Has to have at most ${t} character(s).`,N=t=>e=>e==null||e===""||typeof e=="string"&&e.length>=t||`Has to have at least ${t} character(s).`,U=t=>e=>e==null||e===""||typeof e=="number"&&e>=t||`Has to be at least ${t}.`,q=()=>t=>t==null||t===""||Array.isArray(t)&&t.every(e=>/^[0-9]+$/.test(e))||"Has to be a list of natural numbers.",E=()=>t=>t==null||t===""||typeof t=="number"&&t%1===0&&1<=t&&t<=65535||"Has to be valid port (1-65535).",X=()=>t=>t!=null&&t!==""||"Can'n be left empty.",Z=()=>t=>t==null||t===""||typeof t=="string"&&/^\d+(|m|u)s$/.test(t)||"Has to be expressed as time + unit (e.g. 10ms or 443us).";var g=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("v-progress-circular",{staticClass:"loading-spinner",attrs:{size:100,color:"primary",indeterminate:""}})},b=[];const _={name:"LoadingSpinner"},l={};var w=c(_,g,b,!1,S,"4c4a8f86",null,null);function S(t){for(let e in l)this[e]=l[e]}var K=function(){return w.exports}();export{K as L,E as a,P as b,d as c,R as d,W as e,B as f,p as g,T as h,j as i,I as j,F as k,H as l,U as m,q as n,V as o,$ as p,A as q,X as r,C as s,Z as t,D as u,N as v,L as w,M as x,k as y,z}; +import{n as c}from"./js/app-4881d322.js";const p=[{value:"IVSSwitch",text:"IVS Switch"},{value:"LinuxBridge",text:"Linux Bridge"},{value:"OVSBridge",text:"OVS Bridge"},{value:"OVSSwitch",text:"OVS Switch"},{value:"UserSwitch",text:"User Switch"}],I=[{value:"secure",text:"Secure"},{value:"standalone",text:"Standalone"}],F=[{value:"kernel",text:"Kernel"},{value:"user",text:"User"}],H=[{value:"OpenFlow12",text:"OpenFlow 1.2"},{value:"OpenFlow13",text:"OpenFlow 1.3"},{value:"OpenFlow14",text:"OpenFlow 1.4"},{value:"OpenFlow15",text:"OpenFlow 1.5"}],d=[{value:"Controller",text:"OpenFlow Reference Implementation"},{value:"NOX",text:"NOX"},{value:"OVSController",text:"OVS Controller"},{value:"RemoteController",text:"Remote Controller"},{value:"Ryu",text:"Ryu Controller"}],$=[{value:"tcp",text:"TCP"},{value:"ssl",text:"SSL"}],C=[{value:"cfs",text:"CFS"},{value:"rt",text:"RT"}],k=[{value:"debug",text:"Debug"},{value:"info",text:"Info"},{value:"output",text:"Output"},{value:"warning",text:"Warning"},{value:"error",text:"Error"},{value:"critical",text:"Critical"}];function o(t,e){return t[e.value]=e.text,t}const M=d.reduce(o,Object.create(null)),L=p.reduce(o,Object.create(null)),f=t=>/^\d+$/.test(t)&&t>=0&&t<=32,m=t=>/^\d+$/.test(t)&&t>=0&&t<=128,r=t=>/^\d+\.\d+\.\d+\.\d+$/.test(t)&&t.split(".").every(e=>e>=0&&e<=255),i=t=>{if(!/^[a-fA-F0-9:]+$/.test(t))return!1;const e=t.split(":");if(!e.every(a=>a.length<=4))return!1;const n=e.length,s=e.filter(a=>a.length===0).length;return s===0&&n===8||s===1&&n<=8},h=t=>{const[e,n,s]=t.split("/");return s===void 0&&e!=null&&r(e)&&n!=null&&f(n)},x=t=>{const[e,n,s]=t.split("/");return s===void 0&&e!=null&&i(e)&&n!=null&&m(n)},y=t=>r(t)||i(t),u=t=>h(t)||x(t),P=(t,e)=>n=>n==null||n===""||typeof n=="number"&&t<=n&&n<=e||`Has to be between ${t} and ${e} inclusive.`,R=()=>t=>t==null||t===""||typeof t=="number"&&Number.isFinite(t)||"Has to be a decimal number.",V=t=>e=>e==null||e===""||typeof e=="number"&&e%t===0||`Has to be divisible by ${t}.`,A=()=>t=>t==null||t===""||typeof t=="string"&&/^[0-9a-fA-F]+$/.test(t)||"Has to be in hexadecimal.",T=()=>t=>t==null||t===""||typeof t=="string"&&/^[a-zA-Z][a-zA-Z0-9]+$/.test(t)||"Has to start with a letter and contain only letters and numbers.",W=()=>t=>t==null||t===""||typeof t=="number"&&t%1===0||"Has to be an integer.",z=()=>t=>t==null||t===""||typeof t=="string"&&u(t)||"Has to contain a valid IP 4/6 address with a mask (CIDR notation).",j=()=>t=>t==null||t===""||typeof t=="string"&&y(t)||"Has to be valid IP 4/6 address.",B=()=>t=>t==null||t===""||Array.isArray(t)&&t.every(e=>u(e))||"Has to contain only valid IP 4/6 addresses with masks (CIDR notation), one per line.",D=t=>e=>e==null||e===""||typeof e=="string"&&e.length<=t||`Has to have at most ${t} character(s).`,N=t=>e=>e==null||e===""||typeof e=="string"&&e.length>=t||`Has to have at least ${t} character(s).`,U=t=>e=>e==null||e===""||typeof e=="number"&&e>=t||`Has to be at least ${t}.`,q=()=>t=>t==null||t===""||Array.isArray(t)&&t.every(e=>/^[0-9]+$/.test(e))||"Has to be a list of natural numbers.",E=()=>t=>t==null||t===""||typeof t=="number"&&t%1===0&&1<=t&&t<=65535||"Has to be valid port (1-65535).",X=()=>t=>t!=null&&t!==""||"Can'n be left empty.",Z=()=>t=>t==null||t===""||typeof t=="string"&&/^\d+(|m|u)s$/.test(t)||"Has to be expressed as time + unit (e.g. 10ms or 443us).";var g=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("v-progress-circular",{staticClass:"loading-spinner",attrs:{size:100,color:"primary",indeterminate:""}})},b=[];const _={name:"LoadingSpinner"},l={};var w=c(_,g,b,!1,S,"4c4a8f86",null,null);function S(t){for(let e in l)this[e]=l[e]}var K=function(){return w.exports}();export{K as L,E as a,P as b,d as c,R as d,W as e,B as f,p as g,T as h,j as i,I as j,F as k,H as l,U as m,q as n,V as o,$ as p,A as q,X as r,C as s,Z as t,D as u,N as v,L as w,M as x,k as y,z}; diff --git a/assets/MininetSettingsPage.3e4d0487.js b/assets/MininetSettingsPage.f6deca0c.js similarity index 95% rename from assets/MininetSettingsPage.3e4d0487.js rename to assets/MininetSettingsPage.f6deca0c.js index c4131935f..3dfb1cc27 100644 --- a/assets/MininetSettingsPage.3e4d0487.js +++ b/assets/MininetSettingsPage.f6deca0c.js @@ -1 +1 @@ -import{L as l,y as r,z as o,a as c}from"./LoadingSpinner.9d8d5b2a.js";import{T as p}from"./ThreeStateCheckbox.3612925e.js";import{m,n as u}from"./js/app-cab9cb86.js";var v=function(){var t=this,n=t.$createElement,e=t._self._c||n;return e("v-container",{attrs:{"grid-list-md":""}},[t.loading!==!1?e("LoadingSpinner"):[e("v-layout",{attrs:{wrap:""}},[e("v-flex",{class:{"pr-4":t.$vuetify.breakpoint.lgAndUp},attrs:{xs12:"",lg6:""}},[e("v-layout",{attrs:{wrap:""}},[e("v-flex",{attrs:{xs12:""}},[e("v-text-field",{attrs:{clearable:"","data-cy":"mininet-settings-project-name",label:"Project Name"},model:{value:t.projectName,callback:function(a){t.projectName=a},expression:"projectName"}})],1),e("v-flex",{attrs:{xs12:"","data-cy":"mininet-settings-log-level"}},[e("v-select",{attrs:{items:t.logLevels,clearable:"",label:"Log Level"},model:{value:t.logLevel,callback:function(a){t.logLevel=a},expression:"logLevel"}})],1),e("v-flex",{attrs:{xs12:""}},[e("v-text-field",{attrs:{rules:[t.validators.ipWithMask(t.ipBase)],clearable:"","data-cy":"mininet-settings-ip-base",label:"IP Base"},model:{value:t.ipBase,callback:function(a){t.ipBase=a},expression:"ipBase"}})],1),e("v-flex",{attrs:{xs12:""}},[e("v-text-field",{ref:"listenPortBase",attrs:{rules:[t.validators.port(t.listenPortBase)],clearable:"","data-cy":"mininet-settings-listen-port-base",label:"Base Listening Port",max:"65535",min:"1",type:"number"},model:{value:t.listenPortBase,callback:function(a){t.listenPortBase=t._n(a)},expression:"listenPortBase"}})],1),e("v-flex",{attrs:{xs12:""}},[e("ThreeStateCheckbox",{attrs:{"data-cy":"mininet-settings-auto-set-mac",label:"Automatic MAC Addresses"},model:{value:t.autoSetMAC,callback:function(a){t.autoSetMAC=a},expression:"autoSetMAC"}})],1),e("v-flex",{attrs:{xs12:""}},[e("ThreeStateCheckbox",{attrs:{"data-cy":"mininet-settings-auto-static-arp",label:"Automatic Static ARP"},model:{value:t.autoStaticARP,callback:function(a){t.autoStaticARP=a},expression:"autoStaticARP"}})],1),e("v-flex",{attrs:{xs12:""}},[e("ThreeStateCheckbox",{attrs:{"data-cy":"mininet-settings-in-namespace",label:"In Namespace"},model:{value:t.inNamespace,callback:function(a){t.inNamespace=a},expression:"inNamespace"}})],1),e("v-flex",{attrs:{xs12:""}},[e("ThreeStateCheckbox",{attrs:{"data-cy":"mininet-settings-spawn-terminals",label:"Spawn Terminals"},model:{value:t.spawnTerminals,callback:function(a){t.spawnTerminals=a},expression:"spawnTerminals"}})],1)],1)],1),e("v-flex",{class:{"pl-4":t.$vuetify.breakpoint.lgAndUp},attrs:{xs12:"",lg6:""}},[e("v-layout",{attrs:{wrap:""}},[e("v-flex",{attrs:{xs12:""}},[e("v-textarea",{staticClass:"monospace-input",attrs:{"auto-grow":"",clearable:"","data-cy":"mininet-settings-start-script",label:"Startup Script"},model:{value:t.startScript,callback:function(a){t.startScript=a},expression:"startScript"}})],1),e("v-flex",{attrs:{xs12:""}},[e("v-textarea",{staticClass:"monospace-input",attrs:{"auto-grow":"",clearable:"","data-cy":"mininet-settings-stop-script",label:"Shutdown Script"},model:{value:t.stopScript,callback:function(a){t.stopScript=a},expression:"stopScript"}})],1)],1)],1)],1)]],2)},x=[];function s(t){this.get=function(){return this.data[t]},this.set=function(n){this.$store.commit("topology/setValues",{[t]:n})}}const d={name:"MininetSettiongsPage",components:{LoadingSpinner:l,ThreeStateCheckbox:p},data:()=>({logLevels:r,validators:{ipWithMask:o,port:c}}),computed:{...m("topology",["data"]),loading(){return this.$store.state.loading},autoSetMAC:new s("autoSetMAC"),autoStaticARP:new s("autoStaticARP"),inNamespace:new s("inNamespace"),ipBase:new s("ipBase"),listenPortBase:new s("listenPortBase"),logLevel:new s("logLevel"),projectName:new s("projectName"),spawnTerminals:new s("spawnTerminals"),startScript:new s("startScript"),stopScript:new s("stopScript")}},i={};var f=u(d,v,x,!1,g,null,null,null);function g(t){for(let n in i)this[n]=i[n]}var h=function(){return f.exports}();export{h as default}; +import{L as l,y as r,z as o,a as c}from"./LoadingSpinner.26780557.js";import{T as p}from"./ThreeStateCheckbox.0f3214e2.js";import{m,n as u}from"./js/app-4881d322.js";var v=function(){var t=this,n=t.$createElement,e=t._self._c||n;return e("v-container",{attrs:{"grid-list-md":""}},[t.loading!==!1?e("LoadingSpinner"):[e("v-layout",{attrs:{wrap:""}},[e("v-flex",{class:{"pr-4":t.$vuetify.breakpoint.lgAndUp},attrs:{xs12:"",lg6:""}},[e("v-layout",{attrs:{wrap:""}},[e("v-flex",{attrs:{xs12:""}},[e("v-text-field",{attrs:{clearable:"","data-cy":"mininet-settings-project-name",label:"Project Name"},model:{value:t.projectName,callback:function(a){t.projectName=a},expression:"projectName"}})],1),e("v-flex",{attrs:{xs12:"","data-cy":"mininet-settings-log-level"}},[e("v-select",{attrs:{items:t.logLevels,clearable:"",label:"Log Level"},model:{value:t.logLevel,callback:function(a){t.logLevel=a},expression:"logLevel"}})],1),e("v-flex",{attrs:{xs12:""}},[e("v-text-field",{attrs:{rules:[t.validators.ipWithMask(t.ipBase)],clearable:"","data-cy":"mininet-settings-ip-base",label:"IP Base"},model:{value:t.ipBase,callback:function(a){t.ipBase=a},expression:"ipBase"}})],1),e("v-flex",{attrs:{xs12:""}},[e("v-text-field",{ref:"listenPortBase",attrs:{rules:[t.validators.port(t.listenPortBase)],clearable:"","data-cy":"mininet-settings-listen-port-base",label:"Base Listening Port",max:"65535",min:"1",type:"number"},model:{value:t.listenPortBase,callback:function(a){t.listenPortBase=t._n(a)},expression:"listenPortBase"}})],1),e("v-flex",{attrs:{xs12:""}},[e("ThreeStateCheckbox",{attrs:{"data-cy":"mininet-settings-auto-set-mac",label:"Automatic MAC Addresses"},model:{value:t.autoSetMAC,callback:function(a){t.autoSetMAC=a},expression:"autoSetMAC"}})],1),e("v-flex",{attrs:{xs12:""}},[e("ThreeStateCheckbox",{attrs:{"data-cy":"mininet-settings-auto-static-arp",label:"Automatic Static ARP"},model:{value:t.autoStaticARP,callback:function(a){t.autoStaticARP=a},expression:"autoStaticARP"}})],1),e("v-flex",{attrs:{xs12:""}},[e("ThreeStateCheckbox",{attrs:{"data-cy":"mininet-settings-in-namespace",label:"In Namespace"},model:{value:t.inNamespace,callback:function(a){t.inNamespace=a},expression:"inNamespace"}})],1),e("v-flex",{attrs:{xs12:""}},[e("ThreeStateCheckbox",{attrs:{"data-cy":"mininet-settings-spawn-terminals",label:"Spawn Terminals"},model:{value:t.spawnTerminals,callback:function(a){t.spawnTerminals=a},expression:"spawnTerminals"}})],1)],1)],1),e("v-flex",{class:{"pl-4":t.$vuetify.breakpoint.lgAndUp},attrs:{xs12:"",lg6:""}},[e("v-layout",{attrs:{wrap:""}},[e("v-flex",{attrs:{xs12:""}},[e("v-textarea",{staticClass:"monospace-input",attrs:{"auto-grow":"",clearable:"","data-cy":"mininet-settings-start-script",label:"Startup Script"},model:{value:t.startScript,callback:function(a){t.startScript=a},expression:"startScript"}})],1),e("v-flex",{attrs:{xs12:""}},[e("v-textarea",{staticClass:"monospace-input",attrs:{"auto-grow":"",clearable:"","data-cy":"mininet-settings-stop-script",label:"Shutdown Script"},model:{value:t.stopScript,callback:function(a){t.stopScript=a},expression:"stopScript"}})],1)],1)],1)],1)]],2)},x=[];function s(t){this.get=function(){return this.data[t]},this.set=function(n){this.$store.commit("topology/setValues",{[t]:n})}}const d={name:"MininetSettiongsPage",components:{LoadingSpinner:l,ThreeStateCheckbox:p},data:()=>({logLevels:r,validators:{ipWithMask:o,port:c}}),computed:{...m("topology",["data"]),loading(){return this.$store.state.loading},autoSetMAC:new s("autoSetMAC"),autoStaticARP:new s("autoStaticARP"),inNamespace:new s("inNamespace"),ipBase:new s("ipBase"),listenPortBase:new s("listenPortBase"),logLevel:new s("logLevel"),projectName:new s("projectName"),spawnTerminals:new s("spawnTerminals"),startScript:new s("startScript"),stopScript:new s("stopScript")}},i={};var f=u(d,v,x,!1,g,null,null,null);function g(t){for(let n in i)this[n]=i[n]}var h=function(){return f.exports}();export{h as default}; diff --git a/assets/ThreeStateCheckbox.3612925e.js b/assets/ThreeStateCheckbox.0f3214e2.js similarity index 93% rename from assets/ThreeStateCheckbox.3612925e.js rename to assets/ThreeStateCheckbox.0f3214e2.js index 4c0581527..0ef8ecd98 100644 --- a/assets/ThreeStateCheckbox.3612925e.js +++ b/assets/ThreeStateCheckbox.0f3214e2.js @@ -1 +1 @@ -import{n as i}from"./js/app-cab9cb86.js";var s=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("v-checkbox",{staticClass:"primary--text",attrs:{title:e.state.title,label:e.label,"input-value":e.state.value===!0,indeterminate:e.state.value===void 0,color:e.color,readonly:"","on-icon":"$vuetify.icons.checkboxTrue","off-icon":"$vuetify.icons.checkboxFalse","indeterminate-icon":"$vuetify.icons.checkboxUndefined"},on:{click:e.cycle}})},l=[];const o={props:{value:{type:Boolean,default:void 0},color:{type:String,default:"primary"},label:{type:String,default:""}},data:()=>({states:[{value:void 0,title:"Default"},{value:!0,title:"Enabled"},{value:!1,title:"Disabled"}].map((e,t)=>({...e,index:t}))}),computed:{state(){return this.states.find(({value:e})=>e===this.value)||this.states[0]}},methods:{cycle(){const t=(this.state.index+1)%this.states.length;this.$emit("input",this.states[t].value)}}},n={};var r=i(o,s,l,!1,c,null,null,null);function c(e){for(let t in n)this[t]=n[t]}var d=function(){return r.exports}();export{d as T}; +import{n as i}from"./js/app-4881d322.js";var s=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("v-checkbox",{staticClass:"primary--text",attrs:{title:e.state.title,label:e.label,"input-value":e.state.value===!0,indeterminate:e.state.value===void 0,color:e.color,readonly:"","on-icon":"$vuetify.icons.checkboxTrue","off-icon":"$vuetify.icons.checkboxFalse","indeterminate-icon":"$vuetify.icons.checkboxUndefined"},on:{click:e.cycle}})},l=[];const o={props:{value:{type:Boolean,default:void 0},color:{type:String,default:"primary"},label:{type:String,default:""}},data:()=>({states:[{value:void 0,title:"Default"},{value:!0,title:"Enabled"},{value:!1,title:"Disabled"}].map((e,t)=>({...e,index:t}))}),computed:{state(){return this.states.find(({value:e})=>e===this.value)||this.states[0]}},methods:{cycle(){const t=(this.state.index+1)%this.states.length;this.$emit("input",this.states[t].value)}}},n={};var r=i(o,s,l,!1,c,null,null,null);function c(e){for(let t in n)this[t]=n[t]}var d=function(){return r.exports}();export{d as T}; diff --git a/assets/TopologyToolbar.4a389968.js b/assets/TopologyToolbar.6a647b38.js similarity index 94% rename from assets/TopologyToolbar.4a389968.js rename to assets/TopologyToolbar.6a647b38.js index 5ff78094e..330bd150e 100644 --- a/assets/TopologyToolbar.4a389968.js +++ b/assets/TopologyToolbar.6a647b38.js @@ -1 +1 @@ -import{m as c,n as u}from"./js/app-cab9cb86.js";var h=function(){var t=this,o=t.$createElement,n=t._self._c||o;return n("div",t._l(t.items,function(e,a){var s=e.icon,r=e.text,d=e.action,l=e.enabled;return n("v-btn",{key:a,attrs:{disabled:!l,dark:"",icon:""},on:{click:d}},[n("v-icon",{attrs:{alt:r}},[t._v(t._s(s))])],1)}),1)},p=[];const v={name:"TopologyToolbar",props:{undoRedo:{type:Boolean,default:!1}},computed:{...c("topology",["canUndo","canRedo"]),show(){return!!this.items.length},viewURL(){return this.$route.name.startsWith("Canvas")?`/view${this.$route.fullPath}`:"/view/canvas"},items(){return[{icon:"mdi-undo",text:"Undo",action:()=>{this.$store.dispatch("topology/undo")},show:this.undoRedo,enabled:this.canUndo},{icon:"mdi-redo",text:"Redo",action:()=>{this.$store.dispatch("topology/redo")},show:this.undoRedo,enabled:this.canRedo},{icon:"mdi-open-in-new",text:"Open a new view",action:this.openViewPopup,show:!0,enabled:!0}].filter(({show:t})=>t)}},methods:{openViewPopup(){window.open(`${this.$router.mode==="hash"?"#":""}${this.viewURL}`,"","_blank")}}},i={};var m=u(v,h,p,!1,_,null,null,null);function _(t){for(let o in i)this[o]=i[o]}var b=function(){return m.exports}();export{b as default}; +import{m as c,n as u}from"./js/app-4881d322.js";var h=function(){var t=this,o=t.$createElement,n=t._self._c||o;return n("div",t._l(t.items,function(e,a){var s=e.icon,r=e.text,d=e.action,l=e.enabled;return n("v-btn",{key:a,attrs:{disabled:!l,dark:"",icon:""},on:{click:d}},[n("v-icon",{attrs:{alt:r}},[t._v(t._s(s))])],1)}),1)},p=[];const v={name:"TopologyToolbar",props:{undoRedo:{type:Boolean,default:!1}},computed:{...c("topology",["canUndo","canRedo"]),show(){return!!this.items.length},viewURL(){return this.$route.name.startsWith("Canvas")?`/view${this.$route.fullPath}`:"/view/canvas"},items(){return[{icon:"mdi-undo",text:"Undo",action:()=>{this.$store.dispatch("topology/undo")},show:this.undoRedo,enabled:this.canUndo},{icon:"mdi-redo",text:"Redo",action:()=>{this.$store.dispatch("topology/redo")},show:this.undoRedo,enabled:this.canRedo},{icon:"mdi-open-in-new",text:"Open a new view",action:this.openViewPopup,show:!0,enabled:!0}].filter(({show:t})=>t)}},methods:{openViewPopup(){window.open(`${this.$router.mode==="hash"?"#":""}${this.viewURL}`,"","_blank")}}},i={};var m=u(v,h,p,!1,_,null,null,null);function _(t){for(let o in i)this[o]=i[o]}var b=function(){return m.exports}();export{b as default}; diff --git a/assets/VisCanvas.870126cf.js b/assets/VisCanvas.4e4e5723.js similarity index 99% rename from assets/VisCanvas.870126cf.js rename to assets/VisCanvas.4e4e5723.js index ce7226879..d4f8a9491 100644 --- a/assets/VisCanvas.870126cf.js +++ b/assets/VisCanvas.4e4e5723.js @@ -1,4 +1,4 @@ -import{w as J$,x as Z$}from"./LoadingSpinner.9d8d5b2a.js";import{m as iT,a as ha,b as da,c as kv,e as Cv,f as nT,n as aT}from"./js/app-cab9cb86.js";function xv(r){const n=/^(\d+)(\D*)$/.exec(r);return`${n[1]} ${n[2]}`}const Av={$default(){},port(r){return[...r.physical?["Physical interface"]:[],...r.ips||["No addresses"]].join("
")},link(r){const n=[...r.bandwidth!=null?[`Bandwidth${r.bandwidth} MBit/s`]:[],...r.delay!=null?[`Delay${xv(r.delay)}`]:[],...r.loss!=null?[`Loss${r.loss} %`]:[],...r.maxQueueSize!=null?[`Max Queue${r.maxQueueSize} packets`]:[],...r.jitter!=null?[`Jitter${xv(r.jitter)}`]:[]];return n.length?["",...n,"
"].join(""):"No limits"},host(r){return r.defaultRoute?`Default Route: ${r.defaultRoute}`:"No default route"},switch(r){return r.switchType!=null?`${J$[r.switchType]||r.switchType}`:"Default"},controller(r){const n=[...r.controllerType!=null?[`${Z$[r.controllerType]||r.controllerType}`]:["Default"],"
",...r.ip!=null&&r.port!=null?[r.ip.includes(":")?`[${r.ip}]:${r.port}`:`${r.ip}:${r.port}`]:[],...r.ip!=null&&r.port==null?[r.ip]:[],...r.ip==null&&r.port!=null?[`<No IP>:${r.port}`]:[]];return n.length?n.join(""):"Default"}};function Rv(r){return(Av[r.type]||Av.$default)(r)}const oT=new Intl.Collator(void 0,{numeric:!0}),Yc=oT.compare,fve=(r,n)=>Yc(r.label,n.label),Dv=(r,n)=>Yc(r.hostname,n.hostname);function Mv(r,n,e){if(r.length===0)return"nothing is connected";if(r.length===1)return r[0][e].join(` +import{w as J$,x as Z$}from"./LoadingSpinner.26780557.js";import{m as iT,a as ha,b as da,c as kv,e as Cv,f as nT,n as aT}from"./js/app-4881d322.js";function xv(r){const n=/^(\d+)(\D*)$/.exec(r);return`${n[1]} ${n[2]}`}const Av={$default(){},port(r){return[...r.physical?["Physical interface"]:[],...r.ips||["No addresses"]].join("
")},link(r){const n=[...r.bandwidth!=null?[`Bandwidth${r.bandwidth} MBit/s`]:[],...r.delay!=null?[`Delay${xv(r.delay)}`]:[],...r.loss!=null?[`Loss${r.loss} %`]:[],...r.maxQueueSize!=null?[`Max Queue${r.maxQueueSize} packets`]:[],...r.jitter!=null?[`Jitter${xv(r.jitter)}`]:[]];return n.length?["",...n,"
"].join(""):"No limits"},host(r){return r.defaultRoute?`Default Route: ${r.defaultRoute}`:"No default route"},switch(r){return r.switchType!=null?`${J$[r.switchType]||r.switchType}`:"Default"},controller(r){const n=[...r.controllerType!=null?[`${Z$[r.controllerType]||r.controllerType}`]:["Default"],"
",...r.ip!=null&&r.port!=null?[r.ip.includes(":")?`[${r.ip}]:${r.port}`:`${r.ip}:${r.port}`]:[],...r.ip!=null&&r.port==null?[r.ip]:[],...r.ip==null&&r.port!=null?[`<No IP>:${r.port}`]:[]];return n.length?n.join(""):"Default"}};function Rv(r){return(Av[r.type]||Av.$default)(r)}const oT=new Intl.Collator(void 0,{numeric:!0}),Yc=oT.compare,fve=(r,n)=>Yc(r.label,n.label),Dv=(r,n)=>Yc(r.hostname,n.hostname);function Mv(r,n,e){if(r.length===0)return"nothing is connected";if(r.length===1)return r[0][e].join(` `);{const t=r.reduce((a,o)=>Math.max(o[n].length,a),0)+2,i=r.reduce((a,o)=>Math.max(o[e].length,a),0)>1?` `:` diff --git a/assets/index.es.708e4a5f.js b/assets/index.es.ce03073c.js similarity index 99% rename from assets/index.es.708e4a5f.js rename to assets/index.es.ce03073c.js index 2d30f0a5f..b40486c33 100644 --- a/assets/index.es.708e4a5f.js +++ b/assets/index.es.ce03073c.js @@ -1,4 +1,4 @@ -import{g as Tt}from"./js/app-cab9cb86.js";import{_ as Ya}from"./ExportPage.28ab21bb.js";import"./VisCanvas.870126cf.js";import"./LoadingSpinner.9d8d5b2a.js";var Gt=function(a){return a&&a.Math===Math&&a},U=Gt(typeof globalThis=="object"&&globalThis)||Gt(typeof window=="object"&&window)||Gt(typeof self=="object"&&self)||Gt(typeof Tt=="object"&&Tt)||function(){return this}()||Tt||Function("return this")(),ot={},L=function(a){try{return!!a()}catch{return!0}},Pl=L,ce=!Pl(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!==7}),Rl=L,br=!Rl(function(){var a=function(){}.bind();return typeof a!="function"||a.hasOwnProperty("prototype")}),Il=br,Ht=Function.prototype.call,Y=Il?Ht.bind(Ht):function(){return Ht.apply(Ht,arguments)},Lo={},ko={}.propertyIsEnumerable,Bo=Object.getOwnPropertyDescriptor,Nl=Bo&&!ko.call({1:2},1);Lo.f=Nl?function(e){var t=Bo(this,e);return!!t&&t.enumerable}:ko;var xr=function(a,e){return{enumerable:!(a&1),configurable:!(a&2),writable:!(a&4),value:e}},Fo=br,jo=Function.prototype,Xa=jo.call,Ml=Fo&&jo.bind.bind(Xa,Xa),k=Fo?Ml:function(a){return function(){return Xa.apply(a,arguments)}},Uo=k,_l=Uo({}.toString),Dl=Uo("".slice),Fe=function(a){return Dl(_l(a),8,-1)},Vl=k,Ll=L,kl=Fe,Jr=Object,Bl=Vl("".split),zo=Ll(function(){return!Jr("z").propertyIsEnumerable(0)})?function(a){return kl(a)==="String"?Bl(a,""):Jr(a)}:Jr,je=function(a){return a==null},Fl=je,jl=TypeError,ge=function(a){if(Fl(a))throw new jl("Can't call method on "+a);return a},Ul=zo,zl=ge,Ct=function(a){return Ul(zl(a))},Wa=typeof document=="object"&&document.all,Gl=typeof Wa=="undefined"&&Wa!==void 0,Go={all:Wa,IS_HTMLDDA:Gl},Ho=Go,Hl=Ho.all,D=Ho.IS_HTMLDDA?function(a){return typeof a=="function"||a===Hl}:function(a){return typeof a=="function"},bn=D,Yo=Go,Yl=Yo.all,Te=Yo.IS_HTMLDDA?function(a){return typeof a=="object"?a!==null:bn(a)||a===Yl}:function(a){return typeof a=="object"?a!==null:bn(a)},ea=U,Xl=D,Wl=function(a){return Xl(a)?a:void 0},Ue=function(a,e){return arguments.length<2?Wl(ea[a]):ea[a]&&ea[a][e]},ql=k,Tr=ql({}.isPrototypeOf),Sr=typeof navigator!="undefined"&&String(navigator.userAgent)||"",Xo=U,ta=Sr,xn=Xo.process,Tn=Xo.Deno,Sn=xn&&xn.versions||Tn&&Tn.version,On=Sn&&Sn.v8,ue,cr;On&&(ue=On.split("."),cr=ue[0]>0&&ue[0]<4?1:+(ue[0]+ue[1]));!cr&&ta&&(ue=ta.match(/Edge\/(\d+)/),(!ue||ue[1]>=74)&&(ue=ta.match(/Chrome\/(\d+)/),ue&&(cr=+ue[1])));var Ei=cr,En=Ei,Ql=L,Kl=U,Zl=Kl.String,Wo=!!Object.getOwnPropertySymbols&&!Ql(function(){var a=Symbol("symbol detection");return!Zl(a)||!(Object(a)instanceof Symbol)||!Symbol.sham&&En&&En<41}),Jl=Wo,qo=Jl&&!Symbol.sham&&typeof Symbol.iterator=="symbol",eh=Ue,th=D,rh=Tr,ah=qo,ih=Object,Qo=ah?function(a){return typeof a=="symbol"}:function(a){var e=eh("Symbol");return th(e)&&rh(e.prototype,ih(a))},nh=String,Or=function(a){try{return nh(a)}catch{return"Object"}},sh=D,oh=Or,uh=TypeError,Se=function(a){if(sh(a))return a;throw new uh(oh(a)+" is not a function")},lh=Se,hh=je,ut=function(a,e){var t=a[e];return hh(t)?void 0:lh(t)},ra=Y,aa=D,ia=Te,vh=TypeError,fh=function(a,e){var t,r;if(e==="string"&&aa(t=a.toString)&&!ia(r=ra(t,a))||aa(t=a.valueOf)&&!ia(r=ra(t,a))||e!=="string"&&aa(t=a.toString)&&!ia(r=ra(t,a)))return r;throw new vh("Can't convert object to primitive value")},Er={exports:{}},$n=U,ch=Object.defineProperty,$i=function(a,e){try{ch($n,a,{value:e,configurable:!0,writable:!0})}catch{$n[a]=e}return e},gh=U,dh=$i,wn="__core-js_shared__",ph=gh[wn]||dh(wn,{}),wi=ph,Cn=wi;(Er.exports=function(a,e){return Cn[a]||(Cn[a]=e!==void 0?e:{})})("versions",[]).push({version:"3.33.0",mode:"global",copyright:"\xA9 2014-2023 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.33.0/LICENSE",source:"https://github.com/zloirock/core-js"});var yh=ge,mh=Object,$r=function(a){return mh(yh(a))},bh=k,xh=$r,Th=bh({}.hasOwnProperty),le=Object.hasOwn||function(e,t){return Th(xh(e),t)},Sh=k,Oh=0,Eh=Math.random(),$h=Sh(1 .toString),Ko=function(a){return"Symbol("+(a===void 0?"":a)+")_"+$h(++Oh+Eh,36)},wh=U,Ch=Er.exports,An=le,Ah=Ko,Ph=Wo,Rh=qo,Je=wh.Symbol,na=Ch("wks"),Ih=Rh?Je.for||Je:Je&&Je.withoutSetter||Ah,G=function(a){return An(na,a)||(na[a]=Ph&&An(Je,a)?Je[a]:Ih("Symbol."+a)),na[a]},Nh=Y,Pn=Te,Rn=Qo,Mh=ut,_h=fh,Dh=G,Vh=TypeError,Lh=Dh("toPrimitive"),kh=function(a,e){if(!Pn(a)||Rn(a))return a;var t=Mh(a,Lh),r;if(t){if(e===void 0&&(e="default"),r=Nh(t,a,e),!Pn(r)||Rn(r))return r;throw new Vh("Can't convert object to primitive value")}return e===void 0&&(e="number"),_h(a,e)},Bh=kh,Fh=Qo,Ci=function(a){var e=Bh(a,"string");return Fh(e)?e:e+""},jh=U,In=Te,qa=jh.document,Uh=In(qa)&&In(qa.createElement),wr=function(a){return Uh?qa.createElement(a):{}},zh=ce,Gh=L,Hh=wr,Zo=!zh&&!Gh(function(){return Object.defineProperty(Hh("div"),"a",{get:function(){return 7}}).a!==7}),Yh=ce,Xh=Y,Wh=Lo,qh=xr,Qh=Ct,Kh=Ci,Zh=le,Jh=Zo,Nn=Object.getOwnPropertyDescriptor;ot.f=Yh?Nn:function(e,t){if(e=Qh(e),t=Kh(t),Jh)try{return Nn(e,t)}catch{}if(Zh(e,t))return qh(!Xh(Wh.f,e,t),e[t])};var de={},ev=ce,tv=L,Jo=ev&&tv(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!==42}),rv=Te,av=String,iv=TypeError,K=function(a){if(rv(a))return a;throw new iv(av(a)+" is not an object")},nv=ce,sv=Zo,ov=Jo,Yt=K,Mn=Ci,uv=TypeError,sa=Object.defineProperty,lv=Object.getOwnPropertyDescriptor,oa="enumerable",ua="configurable",la="writable";de.f=nv?ov?function(e,t,r){if(Yt(e),t=Mn(t),Yt(r),typeof e=="function"&&t==="prototype"&&"value"in r&&la in r&&!r[la]){var i=lv(e,t);i&&i[la]&&(e[t]=r.value,r={configurable:ua in r?r[ua]:i[ua],enumerable:oa in r?r[oa]:i[oa],writable:!1})}return sa(e,t,r)}:sa:function(e,t,r){if(Yt(e),t=Mn(t),Yt(r),sv)try{return sa(e,t,r)}catch{}if("get"in r||"set"in r)throw new uv("Accessors not supported");return"value"in r&&(e[t]=r.value),e};var hv=ce,vv=de,fv=xr,At=hv?function(a,e,t){return vv.f(a,e,fv(1,t))}:function(a,e,t){return a[e]=t,a},Ai={exports:{}},Qa=ce,cv=le,eu=Function.prototype,gv=Qa&&Object.getOwnPropertyDescriptor,Pi=cv(eu,"name"),dv=Pi&&function(){}.name==="something",pv=Pi&&(!Qa||Qa&&gv(eu,"name").configurable),Cr={EXISTS:Pi,PROPER:dv,CONFIGURABLE:pv},yv=k,mv=D,Ka=wi,bv=yv(Function.toString);mv(Ka.inspectSource)||(Ka.inspectSource=function(a){return bv(a)});var Ri=Ka.inspectSource,xv=U,Tv=D,_n=xv.WeakMap,Sv=Tv(_n)&&/native code/.test(String(_n)),Ov=Er.exports,Ev=Ko,Dn=Ov("keys"),Ii=function(a){return Dn[a]||(Dn[a]=Ev(a))},Ni={},$v=Sv,tu=U,wv=Te,Cv=At,ha=le,va=wi,Av=Ii,Pv=Ni,Vn="Object already initialized",Za=tu.TypeError,Rv=tu.WeakMap,gr,Et,dr,Iv=function(a){return dr(a)?Et(a):gr(a,{})},Nv=function(a){return function(e){var t;if(!wv(e)||(t=Et(e)).type!==a)throw new Za("Incompatible receiver, "+a+" required");return t}};if($v||va.state){var fe=va.state||(va.state=new Rv);fe.get=fe.get,fe.has=fe.has,fe.set=fe.set,gr=function(a,e){if(fe.has(a))throw new Za(Vn);return e.facade=a,fe.set(a,e),e},Et=function(a){return fe.get(a)||{}},dr=function(a){return fe.has(a)}}else{var Xe=Av("state");Pv[Xe]=!0,gr=function(a,e){if(ha(a,Xe))throw new Za(Vn);return e.facade=a,Cv(a,Xe,e),e},Et=function(a){return ha(a,Xe)?a[Xe]:{}},dr=function(a){return ha(a,Xe)}}var Ar={set:gr,get:Et,has:dr,enforce:Iv,getterFor:Nv},Mi=k,Mv=L,_v=D,Xt=le,Ja=ce,Dv=Cr.CONFIGURABLE,Vv=Ri,ru=Ar,Lv=ru.enforce,kv=ru.get,Ln=String,or=Object.defineProperty,Bv=Mi("".slice),Fv=Mi("".replace),jv=Mi([].join),Uv=Ja&&!Mv(function(){return or(function(){},"length",{value:8}).length!==8}),zv=String(String).split("String"),Gv=Ai.exports=function(a,e,t){Bv(Ln(e),0,7)==="Symbol("&&(e="["+Fv(Ln(e),/^Symbol\(([^)]*)\)/,"$1")+"]"),t&&t.getter&&(e="get "+e),t&&t.setter&&(e="set "+e),(!Xt(a,"name")||Dv&&a.name!==e)&&(Ja?or(a,"name",{value:e,configurable:!0}):a.name=e),Uv&&t&&Xt(t,"arity")&&a.length!==t.arity&&or(a,"length",{value:t.arity});try{t&&Xt(t,"constructor")&&t.constructor?Ja&&or(a,"prototype",{writable:!1}):a.prototype&&(a.prototype=void 0)}catch{}var r=Lv(a);return Xt(r,"source")||(r.source=jv(zv,typeof e=="string"?e:"")),a};Function.prototype.toString=Gv(function(){return _v(this)&&kv(this).source||Vv(this)},"toString");var Hv=D,Yv=de,Xv=Ai.exports,Wv=$i,ze=function(a,e,t,r){r||(r={});var i=r.enumerable,n=r.name!==void 0?r.name:e;if(Hv(t)&&Xv(t,n,r),r.global)i?a[e]=t:Wv(e,t);else{try{r.unsafe?a[e]&&(i=!0):delete a[e]}catch{}i?a[e]=t:Yv.f(a,e,{value:t,enumerable:!1,configurable:!r.nonConfigurable,writable:!r.nonWritable})}return a},au={},qv=Math.ceil,Qv=Math.floor,Kv=Math.trunc||function(e){var t=+e;return(t>0?Qv:qv)(t)},Zv=Kv,Pr=function(a){var e=+a;return e!==e||e===0?0:Zv(e)},Jv=Pr,ef=Math.max,tf=Math.min,iu=function(a,e){var t=Jv(a);return t<0?ef(t+e,0):tf(t,e)},rf=Pr,af=Math.min,lt=function(a){return a>0?af(rf(a),9007199254740991):0},nf=lt,Rr=function(a){return nf(a.length)},sf=Ct,of=iu,uf=Rr,kn=function(a){return function(e,t,r){var i=sf(e),n=uf(i),o=of(r,n),s;if(a&&t!==t){for(;n>o;)if(s=i[o++],s!==s)return!0}else for(;n>o;o++)if((a||o in i)&&i[o]===t)return a||o||0;return!a&&-1}},nu={includes:kn(!0),indexOf:kn(!1)},lf=k,fa=le,hf=Ct,vf=nu.indexOf,ff=Ni,Bn=lf([].push),su=function(a,e){var t=hf(a),r=0,i=[],n;for(n in t)!fa(ff,n)&&fa(t,n)&&Bn(i,n);for(;e.length>r;)fa(t,n=e[r++])&&(~vf(i,n)||Bn(i,n));return i},_i=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],cf=su,gf=_i,df=gf.concat("length","prototype");au.f=Object.getOwnPropertyNames||function(e){return cf(e,df)};var ou={};ou.f=Object.getOwnPropertySymbols;var pf=Ue,yf=k,mf=au,bf=ou,xf=K,Tf=yf([].concat),Sf=pf("Reflect","ownKeys")||function(e){var t=mf.f(xf(e)),r=bf.f;return r?Tf(t,r(e)):t},Fn=le,Of=Sf,Ef=ot,$f=de,wf=function(a,e,t){for(var r=Of(e),i=$f.f,n=Ef.f,o=0;of;f++)if(v=y(a[f]),v&&ps(ms,v))return v;return new hr(!1)}l=Ed(a,h)}for(d=n?a.next:l.next;!(g=bd(d,l)).done;){try{v=y(g.value)}catch(x){ys(l,"throw",x)}if(typeof v=="object"&&v&&ps(ms,v))return v}return new hr(!1)},Cd=G,Bu=Cd("iterator"),Fu=!1;try{var Ad=0,bs={next:function(){return{done:!!Ad++}},return:function(){Fu=!0}};bs[Bu]=function(){return this},Array.from(bs,function(){throw 2})}catch{}var Pd=function(a,e){try{if(!e&&!Fu)return!1}catch{return!1}var t=!1;try{var r={};r[Bu]=function(){return{next:function(){return{done:t=!0}}}},a(r)}catch{}return t},Rd=Ir,Id=Pd,Nd=Nt.CONSTRUCTOR,ju=Nd||!Id(function(a){Rd.all(a).then(void 0,function(){})}),Md=ee,_d=Y,Dd=Se,Vd=ht,Ld=ji,kd=ku,Bd=ju;Md({target:"Promise",stat:!0,forced:Bd},{all:function(e){var t=this,r=Vd.f(t),i=r.resolve,n=r.reject,o=Ld(function(){var s=Dd(t.resolve),u=[],l=0,h=1;kd(e,function(f){var c=l++,v=!1;h++,_d(s,t,f).then(function(d){v||(v=!0,u[c]=d,--h||i(u))},n)}),--h||i(u)});return o.error&&n(o.value),r.promise}});var Fd=ee,jd=Nt.CONSTRUCTOR,oi=Ir,Ud=Ue,zd=D,Gd=ze,xs=oi&&oi.prototype;Fd({target:"Promise",proto:!0,forced:jd,real:!0},{catch:function(a){return this.then(void 0,a)}});if(zd(oi)){var Ts=Ud("Promise").prototype.catch;xs.catch!==Ts&&Gd(xs,"catch",Ts,{unsafe:!0})}var Hd=ee,Yd=Y,Xd=Se,Wd=ht,qd=ji,Qd=ku,Kd=ju;Hd({target:"Promise",stat:!0,forced:Kd},{race:function(e){var t=this,r=Wd.f(t),i=r.reject,n=qd(function(){var o=Xd(t.resolve);Qd(e,function(s){Yd(o,t,s).then(r.resolve,i)})});return n.error&&i(n.value),r.promise}});var Zd=ee,Jd=Y,ep=ht,tp=Nt.CONSTRUCTOR;Zd({target:"Promise",stat:!0,forced:tp},{reject:function(e){var t=ep.f(this);return Jd(t.reject,void 0,e),t.promise}});var rp=K,ap=Te,ip=ht,np=function(a,e){if(rp(a),ap(e)&&e.constructor===a)return e;var t=ip.f(a),r=t.resolve;return r(e),t.promise},sp=ee,op=Ue,up=Nt.CONSTRUCTOR,lp=np;op("Promise");sp({target:"Promise",stat:!0,forced:up},{resolve:function(e){return lp(this,e)}});function Ss(a,e,t,r,i,n,o){try{var s=a[n](o),u=s.value}catch(l){t(l);return}s.done?e(u):Promise.resolve(u).then(r,i)}function xe(a){return function(){var e=this,t=arguments;return new Promise(function(r,i){var n=a.apply(e,t);function o(u){Ss(n,r,i,o,s,"next",u)}function s(u){Ss(n,r,i,o,s,"throw",u)}o(void 0)})}}var hp=Vi,vp=String,pe=function(a){if(hp(a)==="Symbol")throw new TypeError("Cannot convert a Symbol value to a string");return vp(a)},fp=K,Uu=function(){var a=fp(this),e="";return a.hasIndices&&(e+="d"),a.global&&(e+="g"),a.ignoreCase&&(e+="i"),a.multiline&&(e+="m"),a.dotAll&&(e+="s"),a.unicode&&(e+="u"),a.unicodeSets&&(e+="v"),a.sticky&&(e+="y"),e},Yi=L,cp=U,Xi=cp.RegExp,Wi=Yi(function(){var a=Xi("a","y");return a.lastIndex=2,a.exec("abcd")!==null}),gp=Wi||Yi(function(){return!Xi("a","y").sticky}),dp=Wi||Yi(function(){var a=Xi("^r","gy");return a.lastIndex=2,a.exec("str")!==null}),zu={BROKEN_CARET:dp,MISSED_STICKY:gp,UNSUPPORTED_Y:Wi},Gu={},pp=su,yp=_i,mp=Object.keys||function(e){return pp(e,yp)},bp=ce,xp=Jo,Tp=de,Sp=K,Op=Ct,Ep=mp;Gu.f=bp&&!xp?Object.defineProperties:function(e,t){Sp(e);for(var r=Op(t),i=Ep(t),n=i.length,o=0,s;n>o;)Tp.f(e,s=i[o++],r[s]);return e};var $p=K,wp=Gu,Os=_i,Cp=Ni,Ap=yu,Pp=wr,Rp=Ii,Es=">",$s="<",ui="prototype",li="script",Hu=Rp("IE_PROTO"),$a=function(){},Yu=function(a){return $s+li+Es+a+$s+"/"+li+Es},ws=function(a){a.write(Yu("")),a.close();var e=a.parentWindow.Object;return a=null,e},Ip=function(){var a=Pp("iframe"),e="java"+li+":",t;return a.style.display="none",Ap.appendChild(a),a.src=String(e),t=a.contentWindow.document,t.open(),t.write(Yu("document.F=Object")),t.close(),t.F},er,vr=function(){try{er=new ActiveXObject("htmlfile")}catch{}vr=typeof document!="undefined"?document.domain&&er?ws(er):Ip():ws(er);for(var a=Os.length;a--;)delete vr[ui][Os[a]];return vr()};Cp[Hu]=!0;var qi=Object.create||function(e,t){var r;return e!==null?($a[ui]=$p(e),r=new $a,$a[ui]=null,r[Hu]=e):r=vr(),t===void 0?r:wp.f(r,t)},Np=L,Mp=U,_p=Mp.RegExp,Dp=Np(function(){var a=_p(".","s");return!(a.dotAll&&a.test(` +import{g as Tt}from"./js/app-4881d322.js";import{_ as Ya}from"./ExportPage.3bd7843c.js";import"./VisCanvas.4e4e5723.js";import"./LoadingSpinner.26780557.js";var Gt=function(a){return a&&a.Math===Math&&a},U=Gt(typeof globalThis=="object"&&globalThis)||Gt(typeof window=="object"&&window)||Gt(typeof self=="object"&&self)||Gt(typeof Tt=="object"&&Tt)||function(){return this}()||Tt||Function("return this")(),ot={},L=function(a){try{return!!a()}catch{return!0}},Pl=L,ce=!Pl(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!==7}),Rl=L,br=!Rl(function(){var a=function(){}.bind();return typeof a!="function"||a.hasOwnProperty("prototype")}),Il=br,Ht=Function.prototype.call,Y=Il?Ht.bind(Ht):function(){return Ht.apply(Ht,arguments)},Lo={},ko={}.propertyIsEnumerable,Bo=Object.getOwnPropertyDescriptor,Nl=Bo&&!ko.call({1:2},1);Lo.f=Nl?function(e){var t=Bo(this,e);return!!t&&t.enumerable}:ko;var xr=function(a,e){return{enumerable:!(a&1),configurable:!(a&2),writable:!(a&4),value:e}},Fo=br,jo=Function.prototype,Xa=jo.call,Ml=Fo&&jo.bind.bind(Xa,Xa),k=Fo?Ml:function(a){return function(){return Xa.apply(a,arguments)}},Uo=k,_l=Uo({}.toString),Dl=Uo("".slice),Fe=function(a){return Dl(_l(a),8,-1)},Vl=k,Ll=L,kl=Fe,Jr=Object,Bl=Vl("".split),zo=Ll(function(){return!Jr("z").propertyIsEnumerable(0)})?function(a){return kl(a)==="String"?Bl(a,""):Jr(a)}:Jr,je=function(a){return a==null},Fl=je,jl=TypeError,ge=function(a){if(Fl(a))throw new jl("Can't call method on "+a);return a},Ul=zo,zl=ge,Ct=function(a){return Ul(zl(a))},Wa=typeof document=="object"&&document.all,Gl=typeof Wa=="undefined"&&Wa!==void 0,Go={all:Wa,IS_HTMLDDA:Gl},Ho=Go,Hl=Ho.all,D=Ho.IS_HTMLDDA?function(a){return typeof a=="function"||a===Hl}:function(a){return typeof a=="function"},bn=D,Yo=Go,Yl=Yo.all,Te=Yo.IS_HTMLDDA?function(a){return typeof a=="object"?a!==null:bn(a)||a===Yl}:function(a){return typeof a=="object"?a!==null:bn(a)},ea=U,Xl=D,Wl=function(a){return Xl(a)?a:void 0},Ue=function(a,e){return arguments.length<2?Wl(ea[a]):ea[a]&&ea[a][e]},ql=k,Tr=ql({}.isPrototypeOf),Sr=typeof navigator!="undefined"&&String(navigator.userAgent)||"",Xo=U,ta=Sr,xn=Xo.process,Tn=Xo.Deno,Sn=xn&&xn.versions||Tn&&Tn.version,On=Sn&&Sn.v8,ue,cr;On&&(ue=On.split("."),cr=ue[0]>0&&ue[0]<4?1:+(ue[0]+ue[1]));!cr&&ta&&(ue=ta.match(/Edge\/(\d+)/),(!ue||ue[1]>=74)&&(ue=ta.match(/Chrome\/(\d+)/),ue&&(cr=+ue[1])));var Ei=cr,En=Ei,Ql=L,Kl=U,Zl=Kl.String,Wo=!!Object.getOwnPropertySymbols&&!Ql(function(){var a=Symbol("symbol detection");return!Zl(a)||!(Object(a)instanceof Symbol)||!Symbol.sham&&En&&En<41}),Jl=Wo,qo=Jl&&!Symbol.sham&&typeof Symbol.iterator=="symbol",eh=Ue,th=D,rh=Tr,ah=qo,ih=Object,Qo=ah?function(a){return typeof a=="symbol"}:function(a){var e=eh("Symbol");return th(e)&&rh(e.prototype,ih(a))},nh=String,Or=function(a){try{return nh(a)}catch{return"Object"}},sh=D,oh=Or,uh=TypeError,Se=function(a){if(sh(a))return a;throw new uh(oh(a)+" is not a function")},lh=Se,hh=je,ut=function(a,e){var t=a[e];return hh(t)?void 0:lh(t)},ra=Y,aa=D,ia=Te,vh=TypeError,fh=function(a,e){var t,r;if(e==="string"&&aa(t=a.toString)&&!ia(r=ra(t,a))||aa(t=a.valueOf)&&!ia(r=ra(t,a))||e!=="string"&&aa(t=a.toString)&&!ia(r=ra(t,a)))return r;throw new vh("Can't convert object to primitive value")},Er={exports:{}},$n=U,ch=Object.defineProperty,$i=function(a,e){try{ch($n,a,{value:e,configurable:!0,writable:!0})}catch{$n[a]=e}return e},gh=U,dh=$i,wn="__core-js_shared__",ph=gh[wn]||dh(wn,{}),wi=ph,Cn=wi;(Er.exports=function(a,e){return Cn[a]||(Cn[a]=e!==void 0?e:{})})("versions",[]).push({version:"3.33.0",mode:"global",copyright:"\xA9 2014-2023 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.33.0/LICENSE",source:"https://github.com/zloirock/core-js"});var yh=ge,mh=Object,$r=function(a){return mh(yh(a))},bh=k,xh=$r,Th=bh({}.hasOwnProperty),le=Object.hasOwn||function(e,t){return Th(xh(e),t)},Sh=k,Oh=0,Eh=Math.random(),$h=Sh(1 .toString),Ko=function(a){return"Symbol("+(a===void 0?"":a)+")_"+$h(++Oh+Eh,36)},wh=U,Ch=Er.exports,An=le,Ah=Ko,Ph=Wo,Rh=qo,Je=wh.Symbol,na=Ch("wks"),Ih=Rh?Je.for||Je:Je&&Je.withoutSetter||Ah,G=function(a){return An(na,a)||(na[a]=Ph&&An(Je,a)?Je[a]:Ih("Symbol."+a)),na[a]},Nh=Y,Pn=Te,Rn=Qo,Mh=ut,_h=fh,Dh=G,Vh=TypeError,Lh=Dh("toPrimitive"),kh=function(a,e){if(!Pn(a)||Rn(a))return a;var t=Mh(a,Lh),r;if(t){if(e===void 0&&(e="default"),r=Nh(t,a,e),!Pn(r)||Rn(r))return r;throw new Vh("Can't convert object to primitive value")}return e===void 0&&(e="number"),_h(a,e)},Bh=kh,Fh=Qo,Ci=function(a){var e=Bh(a,"string");return Fh(e)?e:e+""},jh=U,In=Te,qa=jh.document,Uh=In(qa)&&In(qa.createElement),wr=function(a){return Uh?qa.createElement(a):{}},zh=ce,Gh=L,Hh=wr,Zo=!zh&&!Gh(function(){return Object.defineProperty(Hh("div"),"a",{get:function(){return 7}}).a!==7}),Yh=ce,Xh=Y,Wh=Lo,qh=xr,Qh=Ct,Kh=Ci,Zh=le,Jh=Zo,Nn=Object.getOwnPropertyDescriptor;ot.f=Yh?Nn:function(e,t){if(e=Qh(e),t=Kh(t),Jh)try{return Nn(e,t)}catch{}if(Zh(e,t))return qh(!Xh(Wh.f,e,t),e[t])};var de={},ev=ce,tv=L,Jo=ev&&tv(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!==42}),rv=Te,av=String,iv=TypeError,K=function(a){if(rv(a))return a;throw new iv(av(a)+" is not an object")},nv=ce,sv=Zo,ov=Jo,Yt=K,Mn=Ci,uv=TypeError,sa=Object.defineProperty,lv=Object.getOwnPropertyDescriptor,oa="enumerable",ua="configurable",la="writable";de.f=nv?ov?function(e,t,r){if(Yt(e),t=Mn(t),Yt(r),typeof e=="function"&&t==="prototype"&&"value"in r&&la in r&&!r[la]){var i=lv(e,t);i&&i[la]&&(e[t]=r.value,r={configurable:ua in r?r[ua]:i[ua],enumerable:oa in r?r[oa]:i[oa],writable:!1})}return sa(e,t,r)}:sa:function(e,t,r){if(Yt(e),t=Mn(t),Yt(r),sv)try{return sa(e,t,r)}catch{}if("get"in r||"set"in r)throw new uv("Accessors not supported");return"value"in r&&(e[t]=r.value),e};var hv=ce,vv=de,fv=xr,At=hv?function(a,e,t){return vv.f(a,e,fv(1,t))}:function(a,e,t){return a[e]=t,a},Ai={exports:{}},Qa=ce,cv=le,eu=Function.prototype,gv=Qa&&Object.getOwnPropertyDescriptor,Pi=cv(eu,"name"),dv=Pi&&function(){}.name==="something",pv=Pi&&(!Qa||Qa&&gv(eu,"name").configurable),Cr={EXISTS:Pi,PROPER:dv,CONFIGURABLE:pv},yv=k,mv=D,Ka=wi,bv=yv(Function.toString);mv(Ka.inspectSource)||(Ka.inspectSource=function(a){return bv(a)});var Ri=Ka.inspectSource,xv=U,Tv=D,_n=xv.WeakMap,Sv=Tv(_n)&&/native code/.test(String(_n)),Ov=Er.exports,Ev=Ko,Dn=Ov("keys"),Ii=function(a){return Dn[a]||(Dn[a]=Ev(a))},Ni={},$v=Sv,tu=U,wv=Te,Cv=At,ha=le,va=wi,Av=Ii,Pv=Ni,Vn="Object already initialized",Za=tu.TypeError,Rv=tu.WeakMap,gr,Et,dr,Iv=function(a){return dr(a)?Et(a):gr(a,{})},Nv=function(a){return function(e){var t;if(!wv(e)||(t=Et(e)).type!==a)throw new Za("Incompatible receiver, "+a+" required");return t}};if($v||va.state){var fe=va.state||(va.state=new Rv);fe.get=fe.get,fe.has=fe.has,fe.set=fe.set,gr=function(a,e){if(fe.has(a))throw new Za(Vn);return e.facade=a,fe.set(a,e),e},Et=function(a){return fe.get(a)||{}},dr=function(a){return fe.has(a)}}else{var Xe=Av("state");Pv[Xe]=!0,gr=function(a,e){if(ha(a,Xe))throw new Za(Vn);return e.facade=a,Cv(a,Xe,e),e},Et=function(a){return ha(a,Xe)?a[Xe]:{}},dr=function(a){return ha(a,Xe)}}var Ar={set:gr,get:Et,has:dr,enforce:Iv,getterFor:Nv},Mi=k,Mv=L,_v=D,Xt=le,Ja=ce,Dv=Cr.CONFIGURABLE,Vv=Ri,ru=Ar,Lv=ru.enforce,kv=ru.get,Ln=String,or=Object.defineProperty,Bv=Mi("".slice),Fv=Mi("".replace),jv=Mi([].join),Uv=Ja&&!Mv(function(){return or(function(){},"length",{value:8}).length!==8}),zv=String(String).split("String"),Gv=Ai.exports=function(a,e,t){Bv(Ln(e),0,7)==="Symbol("&&(e="["+Fv(Ln(e),/^Symbol\(([^)]*)\)/,"$1")+"]"),t&&t.getter&&(e="get "+e),t&&t.setter&&(e="set "+e),(!Xt(a,"name")||Dv&&a.name!==e)&&(Ja?or(a,"name",{value:e,configurable:!0}):a.name=e),Uv&&t&&Xt(t,"arity")&&a.length!==t.arity&&or(a,"length",{value:t.arity});try{t&&Xt(t,"constructor")&&t.constructor?Ja&&or(a,"prototype",{writable:!1}):a.prototype&&(a.prototype=void 0)}catch{}var r=Lv(a);return Xt(r,"source")||(r.source=jv(zv,typeof e=="string"?e:"")),a};Function.prototype.toString=Gv(function(){return _v(this)&&kv(this).source||Vv(this)},"toString");var Hv=D,Yv=de,Xv=Ai.exports,Wv=$i,ze=function(a,e,t,r){r||(r={});var i=r.enumerable,n=r.name!==void 0?r.name:e;if(Hv(t)&&Xv(t,n,r),r.global)i?a[e]=t:Wv(e,t);else{try{r.unsafe?a[e]&&(i=!0):delete a[e]}catch{}i?a[e]=t:Yv.f(a,e,{value:t,enumerable:!1,configurable:!r.nonConfigurable,writable:!r.nonWritable})}return a},au={},qv=Math.ceil,Qv=Math.floor,Kv=Math.trunc||function(e){var t=+e;return(t>0?Qv:qv)(t)},Zv=Kv,Pr=function(a){var e=+a;return e!==e||e===0?0:Zv(e)},Jv=Pr,ef=Math.max,tf=Math.min,iu=function(a,e){var t=Jv(a);return t<0?ef(t+e,0):tf(t,e)},rf=Pr,af=Math.min,lt=function(a){return a>0?af(rf(a),9007199254740991):0},nf=lt,Rr=function(a){return nf(a.length)},sf=Ct,of=iu,uf=Rr,kn=function(a){return function(e,t,r){var i=sf(e),n=uf(i),o=of(r,n),s;if(a&&t!==t){for(;n>o;)if(s=i[o++],s!==s)return!0}else for(;n>o;o++)if((a||o in i)&&i[o]===t)return a||o||0;return!a&&-1}},nu={includes:kn(!0),indexOf:kn(!1)},lf=k,fa=le,hf=Ct,vf=nu.indexOf,ff=Ni,Bn=lf([].push),su=function(a,e){var t=hf(a),r=0,i=[],n;for(n in t)!fa(ff,n)&&fa(t,n)&&Bn(i,n);for(;e.length>r;)fa(t,n=e[r++])&&(~vf(i,n)||Bn(i,n));return i},_i=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],cf=su,gf=_i,df=gf.concat("length","prototype");au.f=Object.getOwnPropertyNames||function(e){return cf(e,df)};var ou={};ou.f=Object.getOwnPropertySymbols;var pf=Ue,yf=k,mf=au,bf=ou,xf=K,Tf=yf([].concat),Sf=pf("Reflect","ownKeys")||function(e){var t=mf.f(xf(e)),r=bf.f;return r?Tf(t,r(e)):t},Fn=le,Of=Sf,Ef=ot,$f=de,wf=function(a,e,t){for(var r=Of(e),i=$f.f,n=Ef.f,o=0;of;f++)if(v=y(a[f]),v&&ps(ms,v))return v;return new hr(!1)}l=Ed(a,h)}for(d=n?a.next:l.next;!(g=bd(d,l)).done;){try{v=y(g.value)}catch(x){ys(l,"throw",x)}if(typeof v=="object"&&v&&ps(ms,v))return v}return new hr(!1)},Cd=G,Bu=Cd("iterator"),Fu=!1;try{var Ad=0,bs={next:function(){return{done:!!Ad++}},return:function(){Fu=!0}};bs[Bu]=function(){return this},Array.from(bs,function(){throw 2})}catch{}var Pd=function(a,e){try{if(!e&&!Fu)return!1}catch{return!1}var t=!1;try{var r={};r[Bu]=function(){return{next:function(){return{done:t=!0}}}},a(r)}catch{}return t},Rd=Ir,Id=Pd,Nd=Nt.CONSTRUCTOR,ju=Nd||!Id(function(a){Rd.all(a).then(void 0,function(){})}),Md=ee,_d=Y,Dd=Se,Vd=ht,Ld=ji,kd=ku,Bd=ju;Md({target:"Promise",stat:!0,forced:Bd},{all:function(e){var t=this,r=Vd.f(t),i=r.resolve,n=r.reject,o=Ld(function(){var s=Dd(t.resolve),u=[],l=0,h=1;kd(e,function(f){var c=l++,v=!1;h++,_d(s,t,f).then(function(d){v||(v=!0,u[c]=d,--h||i(u))},n)}),--h||i(u)});return o.error&&n(o.value),r.promise}});var Fd=ee,jd=Nt.CONSTRUCTOR,oi=Ir,Ud=Ue,zd=D,Gd=ze,xs=oi&&oi.prototype;Fd({target:"Promise",proto:!0,forced:jd,real:!0},{catch:function(a){return this.then(void 0,a)}});if(zd(oi)){var Ts=Ud("Promise").prototype.catch;xs.catch!==Ts&&Gd(xs,"catch",Ts,{unsafe:!0})}var Hd=ee,Yd=Y,Xd=Se,Wd=ht,qd=ji,Qd=ku,Kd=ju;Hd({target:"Promise",stat:!0,forced:Kd},{race:function(e){var t=this,r=Wd.f(t),i=r.reject,n=qd(function(){var o=Xd(t.resolve);Qd(e,function(s){Yd(o,t,s).then(r.resolve,i)})});return n.error&&i(n.value),r.promise}});var Zd=ee,Jd=Y,ep=ht,tp=Nt.CONSTRUCTOR;Zd({target:"Promise",stat:!0,forced:tp},{reject:function(e){var t=ep.f(this);return Jd(t.reject,void 0,e),t.promise}});var rp=K,ap=Te,ip=ht,np=function(a,e){if(rp(a),ap(e)&&e.constructor===a)return e;var t=ip.f(a),r=t.resolve;return r(e),t.promise},sp=ee,op=Ue,up=Nt.CONSTRUCTOR,lp=np;op("Promise");sp({target:"Promise",stat:!0,forced:up},{resolve:function(e){return lp(this,e)}});function Ss(a,e,t,r,i,n,o){try{var s=a[n](o),u=s.value}catch(l){t(l);return}s.done?e(u):Promise.resolve(u).then(r,i)}function xe(a){return function(){var e=this,t=arguments;return new Promise(function(r,i){var n=a.apply(e,t);function o(u){Ss(n,r,i,o,s,"next",u)}function s(u){Ss(n,r,i,o,s,"throw",u)}o(void 0)})}}var hp=Vi,vp=String,pe=function(a){if(hp(a)==="Symbol")throw new TypeError("Cannot convert a Symbol value to a string");return vp(a)},fp=K,Uu=function(){var a=fp(this),e="";return a.hasIndices&&(e+="d"),a.global&&(e+="g"),a.ignoreCase&&(e+="i"),a.multiline&&(e+="m"),a.dotAll&&(e+="s"),a.unicode&&(e+="u"),a.unicodeSets&&(e+="v"),a.sticky&&(e+="y"),e},Yi=L,cp=U,Xi=cp.RegExp,Wi=Yi(function(){var a=Xi("a","y");return a.lastIndex=2,a.exec("abcd")!==null}),gp=Wi||Yi(function(){return!Xi("a","y").sticky}),dp=Wi||Yi(function(){var a=Xi("^r","gy");return a.lastIndex=2,a.exec("str")!==null}),zu={BROKEN_CARET:dp,MISSED_STICKY:gp,UNSUPPORTED_Y:Wi},Gu={},pp=su,yp=_i,mp=Object.keys||function(e){return pp(e,yp)},bp=ce,xp=Jo,Tp=de,Sp=K,Op=Ct,Ep=mp;Gu.f=bp&&!xp?Object.defineProperties:function(e,t){Sp(e);for(var r=Op(t),i=Ep(t),n=i.length,o=0,s;n>o;)Tp.f(e,s=i[o++],r[s]);return e};var $p=K,wp=Gu,Os=_i,Cp=Ni,Ap=yu,Pp=wr,Rp=Ii,Es=">",$s="<",ui="prototype",li="script",Hu=Rp("IE_PROTO"),$a=function(){},Yu=function(a){return $s+li+Es+a+$s+"/"+li+Es},ws=function(a){a.write(Yu("")),a.close();var e=a.parentWindow.Object;return a=null,e},Ip=function(){var a=Pp("iframe"),e="java"+li+":",t;return a.style.display="none",Ap.appendChild(a),a.src=String(e),t=a.contentWindow.document,t.open(),t.write(Yu("document.F=Object")),t.close(),t.F},er,vr=function(){try{er=new ActiveXObject("htmlfile")}catch{}vr=typeof document!="undefined"?document.domain&&er?ws(er):Ip():ws(er);for(var a=Os.length;a--;)delete vr[ui][Os[a]];return vr()};Cp[Hu]=!0;var qi=Object.create||function(e,t){var r;return e!==null?($a[ui]=$p(e),r=new $a,$a[ui]=null,r[Hu]=e):r=vr(),t===void 0?r:wp.f(r,t)},Np=L,Mp=U,_p=Mp.RegExp,Dp=Np(function(){var a=_p(".","s");return!(a.dotAll&&a.test(` `)&&a.flags==="s")}),Vp=L,Lp=U,kp=Lp.RegExp,Bp=Vp(function(){var a=kp("(?b)","g");return a.exec("b").groups.a!=="b"||"b".replace(a,"$c")!=="bc"}),tt=Y,Mr=k,Fp=pe,jp=Uu,Up=zu,zp=Er.exports,Gp=qi,Hp=Ar.get,Yp=Dp,Xp=Bp,Wp=zp("native-string-replace",String.prototype.replace),mr=RegExp.prototype.exec,hi=mr,qp=Mr("".charAt),Qp=Mr("".indexOf),Kp=Mr("".replace),wa=Mr("".slice),vi=function(){var a=/a/,e=/b*/g;return tt(mr,a,"a"),tt(mr,e,"a"),a.lastIndex!==0||e.lastIndex!==0}(),Xu=Up.BROKEN_CARET,fi=/()??/.exec("")[1]!==void 0,Zp=vi||fi||Xu||Yp||Xp;Zp&&(hi=function(e){var t=this,r=Hp(t),i=Fp(e),n=r.raw,o,s,u,l,h,f,c;if(n)return n.lastIndex=t.lastIndex,o=tt(hi,n,i),t.lastIndex=n.lastIndex,o;var v=r.groups,d=Xu&&t.sticky,g=tt(jp,t),p=t.source,y=0,x=i;if(d&&(g=Kp(g,"y",""),Qp(g,"g")===-1&&(g+="g"),x=wa(i,t.lastIndex),t.lastIndex>0&&(!t.multiline||t.multiline&&qp(i,t.lastIndex-1)!==` `)&&(p="(?: "+p+")",x=" "+x,y++),s=new RegExp("^(?:"+p+")",g)),fi&&(s=new RegExp("^"+p+"$(?!\\s)",g)),vi&&(u=t.lastIndex),l=tt(mr,d?s:t,x),d?l?(l.input=wa(l.input,y),l[0]=wa(l[0],y),l.index=t.lastIndex,t.lastIndex+=l[0].length):t.lastIndex=0:vi&&l&&(t.lastIndex=t.global?l.index+l[0].length:u),fi&&l&&l.length>1&&tt(Wp,l[0],s,function(){for(h=1;h=n?a?"":void 0:(o=Is(r,i),o<55296||o>56319||i+1===n||(s=Is(r,i+1))<56320||s>57343?a?sy(r,i):o:a?oy(r,i,i+2):(o-55296<<10)+(s-56320)+65536)}},uy={codeAt:Ns(!1),charAt:Ns(!0)},ly=uy.charAt,Zi=function(a,e,t){return e+(t?ly(a,e).length:1)},Ms=Y,hy=K,vy=D,fy=Fe,cy=_r,gy=TypeError,Ji=function(a,e){var t=a.exec;if(vy(t)){var r=Ms(t,a,e);return r!==null&&hy(r),r}if(fy(a)==="RegExp")return Ms(cy,a,e);throw new gy("RegExp#exec called on incompatible receiver")},dy=Y,py=Qi,yy=K,my=je,by=lt,Aa=pe,xy=ge,Ty=ut,Sy=Zi,_s=Ji;py("match",function(a,e,t){return[function(i){var n=xy(this),o=my(i)?void 0:Ty(i,a);return o?dy(o,i,n):new RegExp(i)[a](Aa(n))},function(r){var i=yy(this),n=Aa(r),o=t(e,i,n);if(o.done)return o.value;if(!i.global)return _s(i,n);var s=i.unicode;i.lastIndex=0;for(var u=[],l=0,h;(h=_s(i,n))!==null;){var f=Aa(h[0]);u[l]=f,f===""&&(i.lastIndex=Sy(n,by(i.lastIndex),s)),l++}return l===0?null:u}]});var en=k,Oy=$r,Ey=Math.floor,Pa=en("".charAt),$y=en("".replace),Ra=en("".slice),wy=/\$([$&'`]|\d{1,2}|<[^>]*>)/g,Cy=/\$([$&'`]|\d{1,2})/g,Ay=function(a,e,t,r,i,n){var o=t+a.length,s=r.length,u=Cy;return i!==void 0&&(i=Oy(i),u=wy),$y(n,u,function(l,h){var f;switch(Pa(h,0)){case"$":return"$";case"&":return a;case"`":return Ra(e,0,t);case"'":return Ra(e,o);case"<":f=i[Ra(h,1,-1)];break;default:var c=+h;if(c===0)return l;if(c>s){var v=Ey(c/10);return v===0?l:v<=s?r[v-1]===void 0?Pa(h,1):r[v-1]+Pa(h,1):l}f=r[c-1]}return f===void 0?"":f})},Py=ki,Ds=Y,Dr=k,Ry=Qi,Iy=L,Ny=K,My=D,_y=je,Dy=Pr,Vy=lt,qe=pe,Ly=ge,ky=Zi,By=ut,Fy=Ay,jy=Ji,Uy=G,ci=Uy("replace"),zy=Math.max,Gy=Math.min,Hy=Dr([].concat),Ia=Dr([].push),Vs=Dr("".indexOf),Ls=Dr("".slice),Yy=function(a){return a===void 0?a:String(a)},Xy=function(){return"a".replace(/./,"$0")==="$0"}(),ks=function(){return/./[ci]?/./[ci]("a","$0")==="":!1}(),Wy=!Iy(function(){var a=/./;return a.exec=function(){var e=[];return e.groups={a:"7"},e},"".replace(a,"$")!=="7"});Ry("replace",function(a,e,t){var r=ks?"$":"$0";return[function(n,o){var s=Ly(this),u=_y(n)?void 0:By(n,ci);return u?Ds(u,n,s,o):Ds(e,qe(s),n,o)},function(i,n){var o=Ny(this),s=qe(i);if(typeof n=="string"&&Vs(n,r)===-1&&Vs(n,"$<")===-1){var u=t(e,o,s,n);if(u.done)return u.value}var l=My(n);l||(n=qe(n));var h=o.global,f;h&&(f=o.unicode,o.lastIndex=0);for(var c=[],v;v=jy(o,s),!(v===null||(Ia(c,v),!h));){var d=qe(v[0]);d===""&&(o.lastIndex=ky(s,Vy(o.lastIndex),f))}for(var g="",p=0,y=0;y=p&&(g+=Ls(s,p,b)+$,p=b+x.length)}return g+Ls(s,p)}]},!Wy||!Xy||ks);var qy=Te,Qy=Fe,Ky=G,Zy=Ky("match"),qu=function(a){var e;return qy(a)&&((e=a[Zy])!==void 0?!!e:Qy(a)==="RegExp")},Jy=qu,em=TypeError,tn=function(a){if(Jy(a))throw new em("The method doesn't accept regular expressions");return a},tm=G,rm=tm("match"),rn=function(a){var e=/./;try{"/./"[a](e)}catch{try{return e[rm]=!1,"/./"[a](e)}catch{}}return!1},am=ee,Qu=It,im=ot.f,nm=lt,Bs=pe,sm=tn,om=ge,um=rn,Fs=Qu("".startsWith),lm=Qu("".slice),hm=Math.min,Ku=um("startsWith"),vm=!Ku&&!!function(){var a=im(String.prototype,"startsWith");return a&&!a.writable}();am({target:"String",proto:!0,forced:!vm&&!Ku},{startsWith:function(e){var t=Bs(om(this));sm(e);var r=nm(hm(arguments.length>1?arguments[1]:void 0,t.length)),i=Bs(e);return Fs?Fs(t,i,r):lm(t,r,r+i.length)===i}});var fm=G,cm=qi,gm=de.f,gi=fm("unscopables"),di=Array.prototype;di[gi]===void 0&&gm(di,gi,{configurable:!0,value:cm(null)});var dm=function(a){di[gi][a]=!0},pm=L,ym=!pm(function(){function a(){}return a.prototype.constructor=null,Object.getPrototypeOf(new a)!==a.prototype}),mm=le,bm=D,xm=$r,Tm=Ii,Sm=ym,js=Tm("IE_PROTO"),pi=Object,Om=pi.prototype,Zu=Sm?pi.getPrototypeOf:function(a){var e=xm(a);if(mm(e,js))return e[js];var t=e.constructor;return bm(t)&&e instanceof t?t.prototype:e instanceof pi?Om:null},Em=L,$m=D,wm=Te,Us=Zu,Cm=ze,Am=G,yi=Am("iterator"),Ju=!1,ke,Na,Ma;[].keys&&(Ma=[].keys(),"next"in Ma?(Na=Us(Us(Ma)),Na!==Object.prototype&&(ke=Na)):Ju=!0);var Pm=!wm(ke)||Em(function(){var a={};return ke[yi].call(a)!==a});Pm&&(ke={});$m(ke[yi])||Cm(ke,yi,function(){return this});var el={IteratorPrototype:ke,BUGGY_SAFARI_ITERATORS:Ju},Rm=el.IteratorPrototype,Im=qi,Nm=xr,Mm=Di,_m=Mt,Dm=function(){return this},Vm=function(a,e,t,r){var i=e+" Iterator";return a.prototype=Im(Rm,{next:Nm(+!r,t)}),Mm(a,i,!1),_m[i]=Dm,a},Lm=ee,km=Y,tl=Cr,Bm=D,Fm=Vm,zs=Zu,Gs=lu,jm=Di,Um=At,_a=ze,zm=G,Gm=Mt,rl=el,Hm=tl.PROPER,Ym=tl.CONFIGURABLE,Hs=rl.IteratorPrototype,tr=rl.BUGGY_SAFARI_ITERATORS,ct=zm("iterator"),Ys="keys",gt="values",Xs="entries",Xm=function(){return this},Wm=function(a,e,t,r,i,n,o){Fm(t,e,r);var s=function(y){if(y===i&&c)return c;if(!tr&&y&&y in h)return h[y];switch(y){case Ys:return function(){return new t(this,y)};case gt:return function(){return new t(this,y)};case Xs:return function(){return new t(this,y)}}return function(){return new t(this)}},u=e+" Iterator",l=!1,h=a.prototype,f=h[ct]||h["@@iterator"]||i&&h[i],c=!tr&&f||s(i),v=e==="Array"&&h.entries||f,d,g,p;if(v&&(d=zs(v.call(new a)),d!==Object.prototype&&d.next&&(zs(d)!==Hs&&(Gs?Gs(d,Hs):Bm(d[ct])||_a(d,ct,Xm)),jm(d,u,!0))),Hm&&i===gt&&f&&f.name!==gt&&(Ym?Um(h,"name",gt):(l=!0,c=function(){return km(f,this)})),i)if(g={values:s(gt),keys:n?c:s(Ys),entries:s(Xs)},o)for(p in g)(tr||l||!(p in h))&&_a(h,p,g[p]);else Lm({target:e,proto:!0,forced:tr||l},g);return h[ct]!==c&&_a(h,ct,c,{name:i}),Gm[e]=c,g},qm=function(a,e){return{value:a,done:e}},Qm=Ct,an=dm,Ws=Mt,al=Ar,Km=de.f,Zm=Wm,rr=qm,Jm=ce,il="Array Iterator",e0=al.set,t0=al.getterFor(il),r0=Zm(Array,"Array",function(a,e){e0(this,{type:il,target:Qm(a),index:0,kind:e})},function(){var a=t0(this),e=a.target,t=a.kind,r=a.index++;if(!e||r>=e.length)return a.target=void 0,rr(void 0,!0);switch(t){case"keys":return rr(r,!1);case"values":return rr(e[r],!1)}return rr([r,e[r]],!1)},"values"),qs=Ws.Arguments=Ws.Array;an("keys");an("values");an("entries");if(Jm&&qs.name!=="values")try{Km(qs,"name",{value:"values"})}catch{}var a0={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0},i0=wr,Da=i0("span").classList,Qs=Da&&Da.constructor&&Da.constructor.prototype,n0=Qs===Object.prototype?void 0:Qs,Ks=U,nl=a0,s0=n0,mt=r0,Va=At,sl=G,La=sl("iterator"),Zs=sl("toStringTag"),ka=mt.values,ol=function(a,e){if(a){if(a[La]!==ka)try{Va(a,La,ka)}catch{a[La]=ka}if(a[Zs]||Va(a,Zs,e),nl[e]){for(var t in mt)if(a[t]!==mt[t])try{Va(a,t,mt[t])}catch{a[t]=mt[t]}}}};for(var Ba in nl)ol(Ks[Ba]&&Ks[Ba].prototype,Ba);ol(s0,"DOMTokenList");function o0(a,e){if(Ya(a)!=="object"||a===null)return a;var t=a[Symbol.toPrimitive];if(t!==void 0){var r=t.call(a,e||"default");if(Ya(r)!=="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(a)}function u0(a){var e=o0(a,"string");return Ya(e)==="symbol"?e:String(e)}function nn(a,e,t){return e=u0(e),e in a?Object.defineProperty(a,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):a[e]=t,a}var l0=Se,h0=$r,v0=zo,f0=Rr,c0=TypeError,Js=function(a){return function(e,t,r,i){l0(t);var n=h0(e),o=v0(n),s=f0(n),u=a?s-1:0,l=a?-1:1;if(r<2)for(;;){if(u in o){i=o[u],u+=l;break}if(u+=l,a?u<0:s<=u)throw new c0("Reduce of empty array with no initial value")}for(;a?u>=0:s>u;u+=l)u in o&&(i=t(i,o[u],u,n));return i}},g0={left:Js(!1),right:Js(!0)},d0=L,ul=function(a,e){var t=[][a];return!!t&&d0(function(){t.call(null,e||function(){return 1},1)})},p0=ee,y0=g0.left,m0=ul,eo=Ei,b0=Rt,x0=!b0&&eo>79&&eo<83,T0=x0||!m0("reduce");p0({target:"Array",proto:!0,forced:T0},{reduce:function(e){var t=arguments.length;return y0(this,e,t,t>1?arguments[1]:void 0)}});var S0=ee,ll=It,O0=ot.f,E0=lt,to=pe,$0=tn,w0=ge,C0=rn,ro=ll("".endsWith),A0=ll("".slice),P0=Math.min,hl=C0("endsWith"),R0=!hl&&!!function(){var a=O0(String.prototype,"endsWith");return a&&!a.writable}();S0({target:"String",proto:!0,forced:!R0&&!hl},{endsWith:function(e){var t=to(w0(this));$0(e);var r=arguments.length>1?arguments[1]:void 0,i=t.length,n=r===void 0?i:P0(E0(r),i),o=to(e);return ro?ro(t,o,n):A0(t,n-o.length,n)===o}});var I0=Ci,N0=de,M0=xr,_0=function(a,e,t){var r=I0(e);r in a?N0.f(a,r,M0(0,t)):a[r]=t},ao=iu,D0=Rr,V0=_0,L0=Array,k0=Math.max,B0=function(a,e,t){for(var r=D0(a),i=ao(e,r),n=ao(t===void 0?r:t,r),o=L0(k0(n-i,0)),s=0;i1||"".split(/.?/).length?r=function(i,n){var o=Fa(io(this)),s=n===void 0?oo:n>>>0;if(s===0)return[];if(i===void 0)return[o];if(!G0(i))return dt(e,o,i,s);for(var u=[],l=(i.ignoreCase?"i":"")+(i.multiline?"m":"")+(i.unicode?"u":"")+(i.sticky?"y":""),h=0,f=new RegExp(i.source,l+"g"),c,v,d;(c=dt(q0,f,o))&&(v=f.lastIndex,!(v>h&&(Ke(u,pt(o,h,c.index)),c.length>1&&c.index=s)));)f.lastIndex===c.index&&f.lastIndex++;return h===o.length?(d||!J0(f,""))&&Ke(u,""):Ke(u,pt(o,h)),u.length>s?no(u,0,s):u}:"0".split(void 0,0).length?r=function(i,n){return i===void 0&&n===0?[]:dt(e,this,i,n)}:r=e,[function(n,o){var s=io(this),u=z0(n)?void 0:W0(n,a);return u?dt(u,n,s,o):dt(r,Fa(s),n,o)},function(i,n){var o=U0(this),s=Fa(i),u=t(r,o,s,n,r!==e);if(u.done)return u.value;var l=H0(o,RegExp),h=o.unicode,f=(o.ignoreCase?"i":"")+(o.multiline?"m":"")+(o.unicode?"u":"")+(Qe?"g":"y"),c=new l(Qe?"^(?:"+o.source+")":o,f),v=n===void 0?oo:n>>>0;if(v===0)return[];if(s.length===0)return so(c,s)===null?[s]:[];for(var d=0,g=0,p=[];g3&&(this.alpha=s[3]),this.ok=!0}}this.r=this.r<0||isNaN(this.r)?0:this.r>255?255:this.r,this.g=this.g<0||isNaN(this.g)?0:this.g>255?255:this.g,this.b=this.b<0||isNaN(this.b)?0:this.b>255?255:this.b,this.alpha=this.alpha<0?0:this.alpha>1||isNaN(this.alpha)?1:this.alpha,this.toRGB=function(){return"rgb("+this.r+", "+this.g+", "+this.b+")"},this.toRGBA=function(){return"rgba("+this.r+", "+this.g+", "+this.b+", "+this.alpha+")"},this.toHex=function(){var u=this.r.toString(16),l=this.g.toString(16),h=this.b.toString(16);return u.length==1&&(u="0"+u),l.length==1&&(l="0"+l),h.length==1&&(h="0"+h),"#"+u+l+h},this.getHelpXML=function(){for(var u=new Array,l=0;l "+g.toRGB()+" -> "+g.toHex());d.appendChild(p),d.appendChild(y),v.appendChild(d)}catch{}return v}},db=ee,pb=It,yb=nu.indexOf,mb=ul,xi=pb([].indexOf),cl=!!xi&&1/xi([1],1,-0)<0,bb=cl||!mb("indexOf");db({target:"Array",proto:!0,forced:bb},{indexOf:function(e){var t=arguments.length>1?arguments[1]:void 0;return cl?xi(this,e,t)||0:yb(this,e,t)}});var xb=ee,Tb=k,Sb=tn,Ob=ge,fo=pe,Eb=rn,$b=Tb("".indexOf);xb({target:"String",proto:!0,forced:!Eb("includes")},{includes:function(e){return!!~$b(fo(Ob(this)),fo(Sb(e)),arguments.length>1?arguments[1]:void 0)}});var wb=Fe,Cb=Array.isArray||function(e){return wb(e)==="Array"},Ab=ee,Pb=k,Rb=Cb,Ib=Pb([].reverse),co=[1,2];Ab({target:"Array",proto:!0,forced:String(co)===String(co.reverse())},{reverse:function(){return Rb(this)&&(this.length=this.length),Ib(this)}});/*! ***************************************************************************** diff --git a/assets/js/app-cab9cb86.js b/assets/js/app-4881d322.js similarity index 99% rename from assets/js/app-cab9cb86.js rename to assets/js/app-4881d322.js index 3a677de64..7c615a37d 100644 --- a/assets/js/app-cab9cb86.js +++ b/assets/js/app-4881d322.js @@ -88,4 +88,4 @@ Original error: ${i.message}`:""),this)}).then(this.onLoad):this.onLoad()},e.one */(function(e,i){(function(o){e.exports=o()})(function(){return function o(l,n,t){function h(O,m){if(!n[O]){if(!l[O]){var f=typeof pi=="function"&πif(!m&&f)return f(O,!0);if(y)return y(O,!0);var u=new Error("Cannot find module '"+O+"'");throw u.code="MODULE_NOT_FOUND",u}var c=n[O]={exports:{}};l[O][0].call(c.exports,function(a){var s=l[O][1][a];return h(s||a)},c,c.exports,o,l,n,t)}return n[O].exports}for(var y=typeof pi=="function"&&pi,E=0;E=43)}}).catch(function(){return!1})}function C(B){return typeof d=="boolean"?f.resolve(d):D(B).then(function(W){return d=W,d})}function T(B){var W=v[B.name],R={};R.promise=new f(function(N,H){R.resolve=N,R.reject=H}),W.deferredOperations.push(R),W.dbReady?W.dbReady=W.dbReady.then(function(){return R.promise}):W.dbReady=R.promise}function I(B){var W=v[B.name],R=W.deferredOperations.pop();if(R)return R.resolve(),R.promise}function V(B,W){var R=v[B.name],N=R.deferredOperations.pop();if(N)return N.reject(W),N.promise}function S(B,W){return new f(function(R,N){if(v[B.name]=v[B.name]||Q(),B.db)if(W)T(B),B.db.close();else return R(B.db);var H=[B.name];W&&H.push(B.version);var K=E.open.apply(E,H);W&&(K.onupgradeneeded=function(X){var J=K.result;try{J.createObjectStore(B.storeName),X.oldVersion<=1&&J.createObjectStore(r)}catch(_){if(_.name==="ConstraintError")console.warn('The database "'+B.name+'" has been upgraded from version '+X.oldVersion+" to version "+X.newVersion+', but the storage "'+B.storeName+'" already exists.');else throw _}}),K.onerror=function(X){X.preventDefault(),N(K.error)},K.onsuccess=function(){var X=K.result;X.onversionchange=function(J){J.target.close()},R(X),I(B)}})}function x(B){return S(B,!1)}function M(B){return S(B,!0)}function A(B,W){if(!B.db)return!0;var R=!B.db.objectStoreNames.contains(B.storeName),N=B.versionB.db.version;if(N&&(B.version!==W&&console.warn('The database "'+B.name+`" can't be downgraded from version `+B.db.version+" to version "+B.version+"."),B.version=B.db.version),H||R){if(R){var K=B.db.version+1;K>B.version&&(B.version=K)}return!0}return!1}function L(B){return new f(function(W,R){var N=new FileReader;N.onerror=R,N.onloadend=function(H){var K=btoa(H.target.result||"");W({__local_forage_encoded_blob:!0,data:K,type:B.type})},N.readAsBinaryString(B)})}function $(B){var W=P(atob(B.data));return m([W],{type:B.type})}function j(B){return B&&B.__local_forage_encoded_blob}function w(B){var W=this,R=W._initReady().then(function(){var N=v[W._dbInfo.name];if(N&&N.dbReady)return N.dbReady});return c(R,B,B),R}function G(B){T(B);for(var W=v[B.name],R=W.forages,N=0;N0&&(!B.db||K.name==="InvalidStateError"||K.name==="NotFoundError"))return f.resolve().then(function(){if(!B.db||K.name==="NotFoundError"&&!B.db.objectStoreNames.contains(B.storeName)&&B.version<=B.db.version)return B.db&&(B.version=B.db.version+1),M(B)}).then(function(){return G(B).then(function(){Z(B,W,R,N-1)})}).catch(R);R(K)}}function Q(){return{forages:[],db:null,dbReady:null,deferredOperations:[]}}function ot(B){var W=this,R={db:null};if(B)for(var N in B)R[N]=B[N];var H=v[R.name];H||(H=Q(),v[R.name]=H),H.forages.push(W),W._initReady||(W._initReady=W.ready,W.ready=w);var K=[];function X(){return f.resolve()}for(var J=0;J>4,nt[H++]=(X&15)<<4|J>>2,nt[H++]=(J&3)<<6|_&63;return tt}function Gt(B){var W=new Uint8Array(B),R="",N;for(N=0;N>2],R+=It[(W[N]&3)<<4|W[N+1]>>4],R+=It[(W[N+1]&15)<<2|W[N+2]>>6],R+=It[W[N+2]&63];return W.length%3===2?R=R.substring(0,R.length-1)+"=":W.length%3===1&&(R=R.substring(0,R.length-2)+"=="),R}function Ht(B,W){var R="";if(B&&(R=pt.call(B)),B&&(R==="[object ArrayBuffer]"||B.buffer&&pt.call(B.buffer)==="[object ArrayBuffer]")){var N,H=z;B instanceof ArrayBuffer?(N=B,H+=q):(N=B.buffer,R==="[object Int8Array]"?H+=Tt:R==="[object Uint8Array]"?H+=yt:R==="[object Uint8ClampedArray]"?H+=Wt:R==="[object Int16Array]"?H+=wt:R==="[object Uint16Array]"?H+=U:R==="[object Int32Array]"?H+=Ee:R==="[object Uint32Array]"?H+=et:R==="[object Float32Array]"?H+=it:R==="[object Float64Array]"?H+=st:W(new Error("Failed to get type for BinaryArray"))),W(H+Gt(N))}else if(R==="[object Blob]"){var K=new FileReader;K.onload=function(){var X=$t+B.type+"~"+Gt(this.result);W(z+rt+X)},K.readAsArrayBuffer(B)}else try{W(JSON.stringify(B))}catch(X){console.error("Couldn't convert value into a JSON string: ",B),W(null,X)}}function Ce(B){if(B.substring(0,k)!==z)return JSON.parse(B);var W=B.substring(dt),R=B.substring(k,dt),N;if(R===rt&&F.test(W)){var H=W.match(F);N=H[1],W=W.substring(H[0].length)}var K=jt(W);switch(R){case q:return K;case rt:return m([K],{type:N});case Tt:return new Int8Array(K);case yt:return new Uint8Array(K);case Wt:return new Uint8ClampedArray(K);case wt:return new Int16Array(K);case U:return new Uint16Array(K);case Ee:return new Int32Array(K);case et:return new Uint32Array(K);case it:return new Float32Array(K);case st:return new Float64Array(K);default:throw new Error("Unkown type: "+R)}}var he={serialize:Ht,deserialize:Ce,stringToBuffer:jt,bufferToString:Gt};function be(B,W,R,N){B.executeSql("CREATE TABLE IF NOT EXISTS "+W.storeName+" (id INTEGER PRIMARY KEY, key unique, value)",[],R,N)}function De(B){var W=this,R={db:null};if(B)for(var N in B)R[N]=typeof B[N]!="string"?B[N].toString():B[N];var H=new f(function(K,X){try{R.db=openDatabase(R.name,String(R.version),R.description,R.size)}catch(J){return X(J)}R.db.transaction(function(J){be(J,R,function(){W._dbInfo=R,K()},function(_,tt){X(tt)})},X)});return R.serializer=he,H}function le(B,W,R,N,H,K){B.executeSql(R,N,H,function(X,J){J.code===J.SYNTAX_ERR?X.executeSql("SELECT name FROM sqlite_master WHERE type='table' AND name = ?",[W.storeName],function(_,tt){tt.rows.length?K(_,J):be(_,W,function(){_.executeSql(R,N,H,K)},K)},K):K(X,J)},K)}function Er(B,W){var R=this;B=a(B);var N=new f(function(H,K){R.ready().then(function(){var X=R._dbInfo;X.db.transaction(function(J){le(J,X,"SELECT * FROM "+X.storeName+" WHERE key = ? LIMIT 1",[B],function(_,tt){var nt=tt.rows.length?tt.rows.item(0).value:null;nt&&(nt=X.serializer.deserialize(nt)),H(nt)},function(_,tt){K(tt)})})}).catch(K)});return u(N,W),N}function br(B,W){var R=this,N=new f(function(H,K){R.ready().then(function(){var X=R._dbInfo;X.db.transaction(function(J){le(J,X,"SELECT * FROM "+X.storeName,[],function(_,tt){for(var nt=tt.rows,at=nt.length,mt=0;mt0){X(Tn.apply(H,[B,_,R,N-1]));return}J(mt)}})})}).catch(J)});return u(K,R),K}function Mn(B,W,R){return Tn.apply(this,[B,W,R,1])}function xn(B,W){var R=this;B=a(B);var N=new f(function(H,K){R.ready().then(function(){var X=R._dbInfo;X.db.transaction(function(J){le(J,X,"DELETE FROM "+X.storeName+" WHERE key = ?",[B],function(){H()},function(_,tt){K(tt)})})}).catch(K)});return u(N,W),N}function Or(B){var W=this,R=new f(function(N,H){W.ready().then(function(){var K=W._dbInfo;K.db.transaction(function(X){le(X,K,"DELETE FROM "+K.storeName,[],function(){N()},function(J,_){H(_)})})}).catch(H)});return u(R,B),R}function si(B){var W=this,R=new f(function(N,H){W.ready().then(function(){var K=W._dbInfo;K.db.transaction(function(X){le(X,K,"SELECT COUNT(key) as c FROM "+K.storeName,[],function(J,_){var tt=_.rows.item(0).c;N(tt)},function(J,_){H(_)})})}).catch(H)});return u(R,B),R}function Pr(B,W){var R=this,N=new f(function(H,K){R.ready().then(function(){var X=R._dbInfo;X.db.transaction(function(J){le(J,X,"SELECT key FROM "+X.storeName+" WHERE id = ? LIMIT 1",[B+1],function(_,tt){var nt=tt.rows.length?tt.rows.item(0).key:null;H(nt)},function(_,tt){K(tt)})})}).catch(K)});return u(N,W),N}function ai(B){var W=this,R=new f(function(N,H){W.ready().then(function(){var K=W._dbInfo;K.db.transaction(function(X){le(X,K,"SELECT key FROM "+K.storeName,[],function(J,_){for(var tt=[],nt=0;nt<_.rows.length;nt++)tt.push(_.rows.item(nt).key);N(tt)},function(J,_){H(_)})})}).catch(H)});return u(R,B),R}function Vt(B){return new f(function(W,R){B.transaction(function(N){N.executeSql("SELECT name FROM sqlite_master WHERE type='table' AND name <> '__WebKitDatabaseInfoTable__'",[],function(H,K){for(var X=[],J=0;J0}function Iu(B){var W=this,R={};if(B)for(var N in B)R[N]=B[N];return R.keyPrefix=qs(B,W._defaultConfig),Su()?(W._dbInfo=R,R.serializer=he,f.resolve()):f.reject()}function Au(B){var W=this,R=W.ready().then(function(){for(var N=W._dbInfo.keyPrefix,H=localStorage.length-1;H>=0;H--){var K=localStorage.key(H);K.indexOf(N)===0&&localStorage.removeItem(K)}});return u(R,B),R}function Vu(B,W){var R=this;B=a(B);var N=R.ready().then(function(){var H=R._dbInfo,K=localStorage.getItem(H.keyPrefix+B);return K&&(K=H.serializer.deserialize(K)),K});return u(N,W),N}function Lu(B,W){var R=this,N=R.ready().then(function(){for(var H=R._dbInfo,K=H.keyPrefix,X=K.length,J=localStorage.length,_=1,tt=0;tt=0;X--){var J=localStorage.key(X);J.indexOf(K)===0&&localStorage.removeItem(J)}}):H=f.reject("Invalid arguments"),u(H,W),H}var Ku={_driver:"localStorageWrapper",_initStorage:Iu,_support:Mu(),iterate:Lu,getItem:Vu,setItem:ju,removeItem:Wu,clear:Au,length:$u,key:Bu,keys:Ru,dropInstance:Uu},Nu=function(W,R){return W===R||typeof W=="number"&&typeof R=="number"&&isNaN(W)&&isNaN(R)},Fu=function(W,R){for(var N=W.length,H=0;H{});ee(this,"rejectReady",()=>{});this.execute=i,this.filter=o,this.merge=l,this.reduce=n,this.storage=t,this.ready=new Promise((h,y)=>{this.resolveReady=h,this.rejectReady=y})}async save(i,o){if(!await this.filter(i))return;const l=await this.reduce(o);!l||this.execute(()=>{this.storage.save(l)})}async load(i){const o=await this.storage.load();if(!o)return this.resolveReady();const l=await this.merge(o,i.state);i.replaceState(l),this.resolveReady()}get plugin(){return i=>{i.subscribe((o,l)=>{this.save(o,l)}),this.load(i)}}}function Uy(e){let i=null;function o(l){l.preventDefault(),l.returnValue=""}return function(n){i==null?window.addEventListener("beforeunload",o):window.clearTimeout(i),i=window.setTimeout(()=>{n(),i=null,window.removeEventListener("beforeunload",o)},e)}}function Ky(e){const i=e.filter(l=>typeof l=="string"),o=e.filter(l=>l instanceof RegExp);return function({type:l}){return i.indexOf(l)>=0||o.some(n=>n.test(l))}}function Ny(e,i){return{...i,...e}}function Fy(e){return function(i){const o={};return e.forEach(l=>{Object.prototype.hasOwnProperty.call(i,l)&&(o[l]=i[l])}),o}}class Hy{constructor(i,o,l,n,t){ee(this,"key");ee(this,"setItem");ee(this,"getItem");ee(this,"toInner");ee(this,"toOuter");this.key=i,this.setItem=o,this.getItem=l,this.toInner=n,this.toOuter=t}async save(i){const o=this.toInner(i);this.setItem(this.key,o)}async load(){const i=await this.getItem(this.key);return i?this.toOuter(i):null}}function zy(e,i,o=n=>n,l=n=>n){return new Hy(e,function(t,h){return i.setItem(t,h)},function(t){return i.getItem(t)},o,l)}Vi.INDEXEDDB,Vi.LOCALSTORAGE,Vi.WEBSQL;function wy(e,i={},o,l){return zy(e,Vi.createInstance(i),o,l)}const pu=new jy({execute:Uy(2e3),filter:Ky([/^topology\//]),merge:Ny,reduce:Fy(["topology"]),storage:wy("vuex-me",{name:"Vuex",version:1,storeName:"vuex-me"})});var gu={exports:{}};(function(e,i){(function(o,l){e.exports=l()})(window,function(){return function(o){var l={};function n(t){if(l[t])return l[t].exports;var h=l[t]={i:t,l:!1,exports:{}};return o[t].call(h.exports,h,h.exports,n),h.l=!0,h.exports}return n.m=o,n.c=l,n.d=function(t,h,y){n.o(t,h)||Object.defineProperty(t,h,{enumerable:!0,get:y})},n.r=function(t){typeof Symbol!="undefined"&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,h){if(1&h&&(t=n(t)),8&h||4&h&&typeof t=="object"&&t&&t.__esModule)return t;var y=Object.create(null);if(n.r(y),Object.defineProperty(y,"default",{enumerable:!0,value:t}),2&h&&typeof t!="string")for(var E in t)n.d(y,E,function(O){return t[O]}.bind(null,E));return y},n.n=function(t){var h=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(h,"a",h),h},n.o=function(t,h){return Object.prototype.hasOwnProperty.call(t,h)},n.p="",n(n.s=3)}([function(o,l,n){(function(t){function h(f,u){for(var c=0;c0&&arguments[0]!==void 0?arguments[0]:{};(function(s,r){if(!(s instanceof r))throw new TypeError("Cannot call a class as a function")})(this,f);var c=u.BroadcastChannel||O.BroadcastChannel,a=u.key||E;if(!this.constructor.available(c))throw new Error("Broadcast strategy not available");this.channel=new c(a)}return y(f,null,[{key:"available",value:function(){return typeof(arguments.length>0&&arguments[0]!==void 0?arguments[0]:O.BroadcastChannel)=="function"}}]),y(f,[{key:"addEventListener",value:function(u){this.channel.addEventListener("message",function(c){u(c.data)})}},{key:"share",value:function(u){return this.channel.postMessage(u)}}]),f}()}).call(this,n(2))},function(o,l,n){(function(t){function h(a,s,r){return s in a?Object.defineProperty(a,s,{value:r,enumerable:!0,configurable:!0,writable:!0}):a[s]=r,a}function y(a,s){for(var r=0;r0&&arguments[0]!==void 0?arguments[0]:{};(function(v,p){if(!(v instanceof p))throw new TypeError("Cannot call a class as a function")})(this,a);var r=s.window||m.window,d=s.localStorage||m.localStorage;if(!this.constructor.available({window:r,localStorage:d}))throw new Error("Strategy unavailable");this.uniqueId="".concat(Date.now(),"-").concat(Math.random()),this.messageBuffer=[],this.window=r,this.storage=d,this.options=function(v){for(var p=1;p0&&arguments[0]!==void 0?arguments[0]:{window:m.window,localStorage:m.localStorage},r=s.window,d=s.localStorage;if(!r||!d)return!1;try{return d.setItem("vuex-shared-mutations-test-key",Date.now()),d.removeItem("vuex-shared-mutations-test-key"),!0}catch{return!1}}}]),E(a,[{key:"addEventListener",value:function(s){var r=this;return this.window.addEventListener("storage",function(d){if(!d.newValue||d.key.indexOf("##")===-1||d.key.split("##")[0]!==r.options.key)return!1;var v=r.window.JSON.parse(d.newValue);if(v.author===r.uniqueId)return!1;if(r.messageBuffer.push(v.messagePart),r.messageBuffer.length===v.total){var p=r.window.JSON.parse(r.messageBuffer.join(""));r.messageBuffer=[],s(p)}return!0})}},{key:"share",value:function(s){var r=this,d=function(v){var p=Math.ceil(v.length/f);return Array.from({length:p}).map(function(g,b){return v.substr(b*f,f)})}(this.window.JSON.stringify(s));d.forEach(function(v,p){u+=1;var g="".concat(r.options.key,"##").concat(p);r.storage.setItem(g,JSON.stringify({author:r.uniqueId,part:p,total:d.length,messagePart:v,messageCounter:u})),r.storage.removeItem(g)})}}]),a}()}).call(this,n(2))},function(o,l){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch{typeof window=="object"&&(n=window)}o.exports=n},function(o,l,n){n.r(l);var t=n(0),h=n(1);function y(E,O){if(E==null)return{};var m,f,u=function(a,s){if(a==null)return{};var r,d,v={},p=Object.keys(a);for(d=0;d=0||(v[r]=a[r]);return v}(E,O);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(E);for(f=0;f=0||Object.prototype.propertyIsEnumerable.call(E,m)&&(u[m]=E[m])}return u}n.d(l,"BroadcastChannelStrategy",function(){return t.a}),n.d(l,"LocalStorageStratery",function(){return h.a}),l.default=function(){var E=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},O=E.predicate,m=E.strategy,f=y(E,["predicate","strategy"]);if(("storageKey"in f||"sharingKey"in f)&&window.console.warn("Configuration directly on plugin was removed, configure specific strategies if needed"),!Array.isArray(O)&&typeof O!="function")throw new Error("Either array of accepted mutations or predicate function must be supplied");var u=typeof O=="function"?O:function(s){var r=s.type;return O.indexOf(r)!==-1},c=!1,a=m||function(){if(h.a.available())return new h.a;if(t.a.available())return new t.a;throw new Error("No strategies available")}();return function(s){s.subscribe(function(r,d){return c?Promise.resolve(!1):Promise.resolve(u(r,d)).then(function(v){v&&a.share(r)})}),a.addEventListener(function(r){try{c=!0,s.commit(r.type,r.payload)}finally{c=!1}return"done"})}}}])})})(gu);var Yy=zl(gu.exports);const Gy=Yy({predicate:()=>!0});var Ro={importData(e){if(e=JSON.parse(JSON.stringify(e)),e.version===0){const i=e.items.reduce((o,l)=>(o[l.id]=l,o),{});return delete e.version,delete e.items,{...e,items:i}}else throw new TypeError("Unsuported export version.")},exportData(e){e=JSON.parse(JSON.stringify(e));const i=Object.values(e.items);return delete e.items,{...e,version:0,items:i}}};const ky=0,Xy="Mininet network - Medium with 1 controller",Zy=`# Ping between all hosts. pingall `,Jy=[{id:"0b285be7-23f8-45ba-a26b-c792cdf1b67d",type:"association",from:"a41e6c27-1729-425c-b390-87890ed26014",to:"1ddd0a0d-3ff8-425e-a0ed-d87a04d01632"},{id:"0cd32e6f-36b6-4fa1-b1c1-e8ed7b1564d4",type:"port",hostname:"eth3",x:-423,y:-148},{id:"0d98ba35-2a6d-42bc-aec4-0783c7e5d067",type:"association",from:"aa8b3ae0-ede0-4e84-921b-873cd0564b7b",to:"01ceb507-a49f-4bb5-ba86-f1c16f435066"},{id:"0d651e75-aa02-43b6-b281-f2ea01b475b9",type:"host",hostname:"h2",x:-338,y:134},{id:"0ed365c1-8317-4caf-ac6e-23b9dd8a7cab",hostname:"eth0",type:"port",ips:["172.18.1.1/16","fc00::1/32"],x:-564,y:208},{id:"00d7d4c7-5de1-4bf5-845f-fe7962087656",type:"link",from:"1ddd0a0d-3ff8-425e-a0ed-d87a04d01632",to:"0ed365c1-8317-4caf-ac6e-23b9dd8a7cab"},{id:"0090738e-3242-456a-a58a-896bf168cd4e",hostname:"eth4",type:"port",x:852,y:-150},{id:"01ceb507-a49f-4bb5-ba86-f1c16f435066",type:"port",hostname:"eth1",x:767,y:223},{id:"01170837-63a2-438b-b657-8cce853c57ce",type:"association",from:"cc0e01a6-808f-4bc6-9709-07311cbf3ead",to:"fe34070c-97c1-4678-8e84-22774cff103c"},{id:"053ca246-e0e6-49d6-bec1-89352bfa180f",type:"link",from:"318d8858-35b1-40f6-b8b1-fbacf6cd64fd",to:"210d2fa7-3316-4dfe-9701-d18732b53d6a"},{id:"06fd2b5d-02a1-456c-b1bb-ac6b2788c86f",hostname:"eth0",type:"port",ips:["172.18.1.3/16","fc00::3/32"],x:28,y:226},{id:"0836ceee-94d1-4c9a-91c7-1f0bd7004c48",hostname:"eth4",type:"port",x:-373,y:-148},{id:"1acc3986-5906-484a-bfd1-c33389a66d1e",type:"association",from:"5a17e03b-9936-44f6-8e47-4dbd2aca4aa2",to:"d3ffe6ba-6fca-4e0f-b338-23085f8bdc68"},{id:"1bfa75c0-b783-4419-902e-9c2ae4b79070",type:"link",from:"71149275-90e5-43c1-8d7c-f52b94aa39a3",to:"bd9d9689-db83-46aa-a0b2-ee4835e68527"},{id:"1cddc061-24c9-4793-9815-e65e472ca648",hostname:"eth0",type:"port",ips:["172.18.1.2/16","fc00::2/32"],x:-363,y:204},{id:"1ddd0a0d-3ff8-425e-a0ed-d87a04d01632",hostname:"eth0",type:"port",x:-573,y:-148},{id:"1ebbb45a-3c3f-4651-9066-30eb6dcc11a6",type:"port",hostname:"eth6",x:524,y:-149},{id:"1feec877-099c-44a5-b334-8ed040b76713",type:"link",from:"4069a277-e02f-4b8e-99cb-38de7b885521",to:"5f6799c3-e10b-4a05-93c0-6f19e3e5650a"},{id:"2b8b2fbe-5cda-481c-8363-eaf42253de02",type:"association",from:"11cc8d9f-0b45-4418-bd3b-b3cbdee2a032",to:"74b26403-d0d0-462d-aff8-73234c18752c"},{id:"3a0c702a-9044-469a-ba11-f83f1193a111",type:"association",from:"0d651e75-aa02-43b6-b281-f2ea01b475b9",to:"1cddc061-24c9-4793-9815-e65e472ca648"},{id:"3e0de79b-ea11-4683-af13-10f0974182f5",type:"association",from:"c5581b98-b5c8-4d23-ac97-b33e0a233562",to:"06fd2b5d-02a1-456c-b1bb-ac6b2788c86f"},{id:"3fc23439-3627-4bb5-b746-a3d89cdc4036",type:"association",from:"fc4009e7-fb91-4dea-8937-8b8bbdd01b8e",to:"210d2fa7-3316-4dfe-9701-d18732b53d6a"},{id:"3ff1ceae-4e36-47ab-8a39-ce9556cc2bda",type:"port",hostname:"eth1",x:-313,y:204},{id:"4d814ba5-1ec0-447a-a025-a3b91b140fe2",hostname:"eth4",type:"port",x:464,y:-149},{id:"4d947700-2e35-4986-9888-024b98f71898",type:"association",from:"5a17e03b-9936-44f6-8e47-4dbd2aca4aa2",to:"960e7bd2-060d-4247-a86f-17a3fe5701fe"},{id:"5a17e03b-9936-44f6-8e47-4dbd2aca4aa2",type:"host",hostname:"h9",x:854,y:158},{id:"5b371cc7-17cc-43b7-87be-0218db8255f0",type:"association",from:"b5366b70-02a4-4a1f-9904-076fc393f912",to:"ac1b2506-e10b-470e-9733-1c82eac3837e"},{id:"5b57519c-d004-4fc3-bc58-df7a6cfa5934",type:"association",from:"b5366b70-02a4-4a1f-9904-076fc393f912",to:"fc4009e7-fb91-4dea-8937-8b8bbdd01b8e"},{id:"5f6799c3-e10b-4a05-93c0-6f19e3e5650a",hostname:"eth3",type:"port",x:802,y:-150},{id:"5fc68b2c-9ebc-42c6-b712-6bea68890749",hostname:"eth1",type:"port",ips:["192.168.1.1/24"],x:78,y:226},{id:"6d1bb540-dd94-4076-8d89-4b4d834004f9",type:"association",from:"d70c38cf-fed3-42b3-bc07-8dbaa5b6323a",to:"7c741afc-f041-4d37-a637-1bddba718923"},{id:"6de3f859-a2ee-448e-bf3e-5c9edc83d1e0",type:"association",from:"44d0e3b6-14af-4881-9e2e-9bfdf8fedeb4",to:"0ed365c1-8317-4caf-ac6e-23b9dd8a7cab"},{id:"6eed7e78-36c9-41b2-8ba0-a95887760785",type:"association",from:"0d651e75-aa02-43b6-b281-f2ea01b475b9",to:"3ff1ceae-4e36-47ab-8a39-ce9556cc2bda"},{id:"7c741afc-f041-4d37-a637-1bddba718923",hostname:"eth1",type:"port",x:1117,y:230},{id:"7dc5c283-245f-4e93-833a-fe4daf304304",type:"host",hostname:"h12",x:1210,y:159},{id:"8d9ae0e3-f5bf-418b-9418-503dce0717ba",type:"link",from:"993a9640-8c40-45c4-b90b-ac67cf90c012",to:"0090738e-3242-456a-a58a-896bf168cd4e"},{id:"8dd51b98-e91d-424c-a11b-83d4e7c5d879",hostname:"eth0",type:"port",x:588,y:223,ips:["172.18.1.7/16","fc00::7/32"]},{id:"9b90b775-7585-44c1-96e1-9eff18200af5",hostname:"eth1",type:"port",x:374,y:-174},{id:"9eaba4d4-650b-4343-8cd5-8e76fa91d50d",type:"link",from:"ccc1bef0-9c73-4e62-9d38-8f4cf7f9f048",to:"754c5205-fb9a-415c-b541-1ae5a3c2c26f"},{id:"9eb10b79-0be2-4c93-ae45-516ba6af2528",type:"association",from:"17c2aed3-6666-4b97-bca6-096933de0d99",to:"d977d5e7-e779-4365-a169-9c9726ebb2a6"},{id:"11cc8d9f-0b45-4418-bd3b-b3cbdee2a032",type:"host",hostname:"h6",x:497,y:154},{id:"13a89e01-0bf9-4600-b723-b64355defab6",type:"dummy",hostname:"Room A",x:-449,y:-292},{id:"16c582fd-178e-455f-b349-7c3c3bbf13a8",type:"link",from:"8dd51b98-e91d-424c-a11b-83d4e7c5d879",to:"21bd131c-91d9-4176-ad60-013fcf050d98"},{id:"17c2aed3-6666-4b97-bca6-096933de0d99",type:"host",hostname:"h13",x:1323,y:158},{id:"21bd131c-91d9-4176-ad60-013fcf050d98",hostname:"eth5",type:"port",x:494,y:-174},{id:"40e23986-5231-404f-b51c-8c996327c179",type:"association",from:"a41e6c27-1729-425c-b390-87890ed26014",to:"e2f3bc54-30f7-4068-a9ee-bbe6b8757f42"},{id:"44d0e3b6-14af-4881-9e2e-9bfdf8fedeb4",type:"host",hostname:"h1",x:-539,y:138},{id:"45b5502a-03cc-43fe-ada8-4f4074c42129",hostname:"eth1",type:"port",x:1235,y:229},{id:"54a39606-54a6-44c4-918f-446ca9012ee0",type:"association",from:"fc4009e7-fb91-4dea-8937-8b8bbdd01b8e",to:"21bd131c-91d9-4176-ad60-013fcf050d98"},{id:"59bb1925-8468-4b45-9daf-84f2bfaacd62",type:"association",from:"ac1b2506-e10b-470e-9733-1c82eac3837e",to:"dad04e11-d288-4a86-84a7-af2a7c2a5a41"},{id:"64c0ed25-2d32-4f31-9e2a-3bb1e1ae002a",type:"host",hostname:"h5",x:384,y:154},{id:"69af7d8c-67f6-4c54-8792-a21f70cd93e1",type:"link",from:"ba973aaf-31b2-4fb5-8b2c-ac2dc150a7e3",to:"1ebbb45a-3c3f-4651-9066-30eb6dcc11a6"},{id:"72e6deca-2fc2-49b2-8c56-04ea44cbd57e",type:"association",from:"ac1b2506-e10b-470e-9733-1c82eac3837e",to:"5f6799c3-e10b-4a05-93c0-6f19e3e5650a"},{id:"74b26403-d0d0-462d-aff8-73234c18752c",hostname:"eth0",type:"port",x:472,y:224,ips:["172.18.1.6/16","fc00::6/32"]},{id:"75b3811c-333d-46b1-992d-8268af9ca042",type:"port",hostname:"eth7",x:554,y:-174},{id:"84dba4e4-c66d-4a4a-8ee3-3f8dd9931a09",type:"link",from:"dad04e11-d288-4a86-84a7-af2a7c2a5a41",to:"f2f0352c-fbff-4d2c-aa7a-57a909cc3f98"},{id:"95e76236-2cc2-44c5-92ef-92d89105eecb",type:"link",from:"e2f3bc54-30f7-4068-a9ee-bbe6b8757f42",to:"9995eea0-93dc-4b75-86ee-0084666229f0",bandwidth:100,delay:"10ms",hostname:"Backbone",maxQueueSize:42,jitter:"5ms"},{id:"175d9057-06a3-4c7c-a269-3f9a112fa6f1",type:"association",from:"7dc5c283-245f-4e93-833a-fe4daf304304",to:"45b5502a-03cc-43fe-ada8-4f4074c42129"},{id:"210d2fa7-3316-4dfe-9701-d18732b53d6a",hostname:"eth3",type:"port",x:434,y:-174},{id:"244b9c1c-7e23-471c-b340-a1ea3276b447",type:"association",from:"c7c90a83-4d7e-4e8c-b570-1ce80fb7907d",to:"71149275-90e5-43c1-8d7c-f52b94aa39a3"},{id:"258ef2e0-16b0-46be-a30f-4c8321d5d032",type:"association",from:"ac1b2506-e10b-470e-9733-1c82eac3837e",to:"0090738e-3242-456a-a58a-896bf168cd4e"},{id:"318d8858-35b1-40f6-b8b1-fbacf6cd64fd",hostname:"eth0",type:"port",x:359,y:224,ips:["172.18.1.5/16","fc00::5/32"]},{id:"343d770d-b98d-4665-888e-df6c6fbc1f1a",type:"link",from:"74b26403-d0d0-462d-aff8-73234c18752c",to:"4d814ba5-1ec0-447a-a025-a3b91b140fe2"},{id:"479bf260-dad2-4f5b-b0a2-fe8c4a3068a3",type:"link",from:"06fd2b5d-02a1-456c-b1bb-ac6b2788c86f",to:"9b90b775-7585-44c1-96e1-9eff18200af5"},{id:"506c2d5a-d673-402e-8fc8-4cb869575514",type:"link",from:"d3ffe6ba-6fca-4e0f-b338-23085f8bdc68",to:"75b3811c-333d-46b1-992d-8268af9ca042"},{id:"587b3079-91ea-4cc3-8150-de2d54f9725e",type:"port",hostname:"eth1",x:522,y:224},{id:"628f9f57-a170-4efa-bcbc-e7245f735680",type:"association",from:"fc4009e7-fb91-4dea-8937-8b8bbdd01b8e",to:"a31d76af-b30c-4cea-b6cc-92e7adb88223"},{id:"658c1979-a262-4964-9218-1d65394a3613",type:"association",from:"fc4009e7-fb91-4dea-8937-8b8bbdd01b8e",to:"9995eea0-93dc-4b75-86ee-0084666229f0"},{id:"734ca188-4b29-41ec-aceb-25d4c993ca9a",type:"port",hostname:"eth1",x:-523,y:-148},{id:"738b75e4-81ed-4f0b-bf7d-7cb952d33640",type:"association",from:"22043a3e-cd3d-4d17-b4b7-8a8081dcafe4",to:"8dd51b98-e91d-424c-a11b-83d4e7c5d879"},{id:"754c5205-fb9a-415c-b541-1ae5a3c2c26f",hostname:"eth2",type:"port",x:752,y:-150},{id:"854a27c8-cfa1-4e95-9446-e9217821eac7",type:"association",from:"22043a3e-cd3d-4d17-b4b7-8a8081dcafe4",to:"c735ccfb-e939-4189-b242-d78bed253b67"},{id:"906e2ac7-1702-412f-8caa-1d36efaddf43",type:"association",from:"fc4009e7-fb91-4dea-8937-8b8bbdd01b8e",to:"4d814ba5-1ec0-447a-a025-a3b91b140fe2"},{id:"949d2563-56e4-43b7-9cfe-698cdd8791c1",type:"association",from:"cc0e01a6-808f-4bc6-9709-07311cbf3ead",to:"dc7c9a65-aaea-4b64-a25e-b9f6afc4f64b"},{id:"960e7bd2-060d-4247-a86f-17a3fe5701fe",type:"port",hostname:"eth1",x:879,y:228},{id:"993a9640-8c40-45c4-b90b-ac67cf90c012",hostname:"eth0",type:"port",x:1298,y:228,ips:["172.18.1.13/16","fc00::13/32"]},{id:"2630e44c-aa87-4bcd-9158-1c17648929c1",type:"association",from:"64c0ed25-2d32-4f31-9e2a-3bb1e1ae002a",to:"a4d9649a-df94-4049-9c2d-c179ff65516e"},{id:"4069a277-e02f-4b8e-99cb-38de7b885521",hostname:"eth0",type:"port",x:1185,y:229,ips:["172.18.1.12/16","fc00::12/32"]},{id:"6939b9fc-a1a5-4f7d-95c3-1c218f6e8893",type:"link",from:"0836ceee-94d1-4c9a-91c7-1f0bd7004c48",to:"1cddc061-24c9-4793-9815-e65e472ca648"},{id:"9995eea0-93dc-4b75-86ee-0084666229f0",hostname:"eth0",type:"port",x:344,y:-149},{id:"22043a3e-cd3d-4d17-b4b7-8a8081dcafe4",type:"host",hostname:"h7",x:613,y:153},{id:"37011ed6-2e9e-4928-bb17-beed1991213e",type:"association",from:"a41e6c27-1729-425c-b390-87890ed26014",to:"734ca188-4b29-41ec-aceb-25d4c993ca9a"},{id:"62796da8-6295-43ed-909d-885f10ab9f64",type:"association",from:"fc4009e7-fb91-4dea-8937-8b8bbdd01b8e",to:"f2f0352c-fbff-4d2c-aa7a-57a909cc3f98"},{id:"85066e9e-654b-40b2-b348-4c4454acd80d",type:"association",from:"c7140bf4-cd87-48b6-b1fa-f75e42776c1c",to:"a41e6c27-1729-425c-b390-87890ed26014",hostname:""},{id:"138317d4-60bd-47d0-8f7a-2c3b6ebbbe15",type:"association",from:"fc4009e7-fb91-4dea-8937-8b8bbdd01b8e",to:"75b3811c-333d-46b1-992d-8268af9ca042"},{id:"772743a2-fa7c-4b7e-a15b-1df84669bc9a",type:"association",from:"d70c38cf-fed3-42b3-bc07-8dbaa5b6323a",to:"ccc1bef0-9c73-4e62-9d38-8f4cf7f9f048"},{id:"71149275-90e5-43c1-8d7c-f52b94aa39a3",hostname:"eth0",type:"port",x:947,y:229,ips:["172.18.1.10/16","fc00::10/32"]},{id:"a3c5ecd3-50e3-436a-ac18-442d41ee1fc4",type:"association",from:"aa8b3ae0-ede0-4e84-921b-873cd0564b7b",to:"ba973aaf-31b2-4fb5-8b2c-ac2dc150a7e3"},{id:"a4a8089f-e908-4249-8d89-d016db8accd8",type:"association",from:"ac1b2506-e10b-470e-9733-1c82eac3837e",to:"bd9d9689-db83-46aa-a0b2-ee4835e68527"},{id:"a4d9649a-df94-4049-9c2d-c179ff65516e",type:"port",hostname:"eth1",x:409,y:224},{id:"a31d76af-b30c-4cea-b6cc-92e7adb88223",hostname:"eth2",type:"port",x:404,y:-149},{id:"a41e6c27-1729-425c-b390-87890ed26014",type:"switch",hostname:"s1",switchType:"OVSSwitch",x:-448,y:-218},{id:"a3942eba-463f-4ec7-a533-f34dc1bce0a3",type:"port",hostname:"eth1",x:-514,y:208},{id:"aa8b3ae0-ede0-4e84-921b-873cd0564b7b",type:"host",hostname:"h8",x:742,y:153},{id:"ac1b2506-e10b-470e-9733-1c82eac3837e",type:"switch",hostname:"s3",switchType:"OVSSwitch",x:777,y:-220},{id:"ad4f9c86-0162-4c3d-baea-e82415d203d8",type:"association",from:"fc4009e7-fb91-4dea-8937-8b8bbdd01b8e",to:"9b90b775-7585-44c1-96e1-9eff18200af5"},{id:"af5ac31c-766e-492a-8d34-d27473a50c61",type:"association",from:"c7c90a83-4d7e-4e8c-b570-1ce80fb7907d",to:"e6619254-7955-418e-9153-41e9d3011db8"},{id:"afb90938-8082-4d7f-bf6a-e6fa565eabbf",type:"association",from:"a41e6c27-1729-425c-b390-87890ed26014",to:"b958e223-45f6-4325-9adb-1834308a24b2"},{id:"b042bc07-0cde-4609-ae17-8bfcfe3292aa",type:"link",from:"fe34070c-97c1-4678-8e84-22774cff103c",to:"a31d76af-b30c-4cea-b6cc-92e7adb88223"},{id:"b39cb868-5aff-4f6c-be6d-c1fcf587387d",type:"association",from:"11cc8d9f-0b45-4418-bd3b-b3cbdee2a032",to:"587b3079-91ea-4cc3-8150-de2d54f9725e"},{id:"b684a14e-5310-4903-9c41-a4d5a5b8c254",type:"association",from:"a41e6c27-1729-425c-b390-87890ed26014",to:"0cd32e6f-36b6-4fa1-b1c1-e8ed7b1564d4"},{id:"b958e223-45f6-4325-9adb-1834308a24b2",type:"port",hostname:"eth2",x:-473,y:-148},{id:"b5366b70-02a4-4a1f-9904-076fc393f912",type:"dummy",hostname:"Room B",x:599,y:-301},{id:"ba973aaf-31b2-4fb5-8b2c-ac2dc150a7e3",hostname:"eth0",type:"port",x:717,y:223,ips:["172.18.1.8/16","fc00::8/32"]},{id:"bd9d9689-db83-46aa-a0b2-ee4835e68527",hostname:"eth1",type:"port",x:702,y:-150},{id:"c0b75e02-4397-4bc2-b050-abae0fd4c16c",type:"association",from:"64c0ed25-2d32-4f31-9e2a-3bb1e1ae002a",to:"318d8858-35b1-40f6-b8b1-fbacf6cd64fd"},{id:"c7c90a83-4d7e-4e8c-b570-1ce80fb7907d",type:"host",hostname:"h10",x:972,y:159},{id:"c735ccfb-e939-4189-b242-d78bed253b67",type:"port",hostname:"eth1",x:638,y:223},{id:"c5581b98-b5c8-4d23-ac97-b33e0a233562",type:"host",hostname:"h3",x:53,y:156},{id:"c7140bf4-cd87-48b6-b1fa-f75e42776c1c",type:"controller",hostname:"c1",controllerType:"RemoteController",ip:"127.0.0.1",port:6653,x:349,y:-519},{id:"cc0e01a6-808f-4bc6-9709-07311cbf3ead",type:"host",hostname:"h4",defaultRoute:"172.18.0.1",x:251,y:155},{id:"ccc1bef0-9c73-4e62-9d38-8f4cf7f9f048",hostname:"eth0",type:"port",x:1067,y:230,ips:["172.18.1.11/16","fc00::11/32"]},{id:"d3ffe6ba-6fca-4e0f-b338-23085f8bdc68",hostname:"eth0",type:"port",x:829,y:228,ips:["172.18.1.9/16","fc00::9/32"]},{id:"d70c38cf-fed3-42b3-bc07-8dbaa5b6323a",type:"host",hostname:"h11",x:1092,y:160},{id:"d977d5e7-e779-4365-a169-9c9726ebb2a6",hostname:"eth1",type:"port",x:1348,y:228},{id:"dad04e11-d288-4a86-84a7-af2a7c2a5a41",hostname:"eth0",type:"port",x:652,y:-150},{id:"dc7c9a65-aaea-4b64-a25e-b9f6afc4f64b",hostname:"eth0",type:"port",ips:["192.168.1.2/24"],x:226,y:225},{id:"df9427ad-bf9b-4132-8514-5993f37967a1",type:"link",from:"dc7c9a65-aaea-4b64-a25e-b9f6afc4f64b",to:"5fc68b2c-9ebc-42c6-b712-6bea68890749",bandwidth:10},{id:"e2f3bc54-30f7-4068-a9ee-bbe6b8757f42",hostname:"eth5",type:"port",x:-323,y:-148},{id:"e3fb0c68-0e53-42bf-8662-a25e1767707b",type:"association",from:"c5581b98-b5c8-4d23-ac97-b33e0a233562",to:"5fc68b2c-9ebc-42c6-b712-6bea68890749"},{id:"e414c912-13c3-4cdc-be32-bcae546e4166",hostname:"eth5",type:"port",x:902,y:-150},{id:"e57710aa-428d-473c-a366-b9789628ffb7",type:"association",from:"17c2aed3-6666-4b97-bca6-096933de0d99",to:"993a9640-8c40-45c4-b90b-ac67cf90c012"},{id:"e6619254-7955-418e-9153-41e9d3011db8",hostname:"eth1",type:"port",x:997,y:229},{id:"edf08107-a88f-43f6-b505-eee56420af1d",type:"association",from:"7dc5c283-245f-4e93-833a-fe4daf304304",to:"4069a277-e02f-4b8e-99cb-38de7b885521"},{id:"f2f0352c-fbff-4d2c-aa7a-57a909cc3f98",type:"port",hostname:"eth8",x:584,y:-149},{id:"f5ae0075-1ac2-4e9c-ba53-8f490f57efaf",type:"association",from:"fc4009e7-fb91-4dea-8937-8b8bbdd01b8e",to:"1ebbb45a-3c3f-4651-9066-30eb6dcc11a6"},{id:"f75f74a7-8b8b-484e-b88e-202b0ece21be",type:"association",from:"a41e6c27-1729-425c-b390-87890ed26014",to:"0836ceee-94d1-4c9a-91c7-1f0bd7004c48"},{id:"f493b9c0-7c67-4959-af6e-241d47ec80dd",type:"association",from:"ac1b2506-e10b-470e-9733-1c82eac3837e",to:"e414c912-13c3-4cdc-be32-bcae546e4166"},{id:"fb4e0278-b747-407d-907b-9d0445dea3b0",type:"association",from:"ac1b2506-e10b-470e-9733-1c82eac3837e",to:"754c5205-fb9a-415c-b541-1ae5a3c2c26f"},{id:"fc4009e7-fb91-4dea-8937-8b8bbdd01b8e",type:"switch",hostname:"s2",switchType:"OVSSwitch",x:464,y:-244},{id:"fd0cc822-a584-4f27-a545-92925af90803",type:"association",from:"44d0e3b6-14af-4881-9e2e-9bfdf8fedeb4",to:"a3942eba-463f-4ec7-a533-f34dc1bce0a3"},{id:"fe34070c-97c1-4678-8e84-22774cff103c",hostname:"eth1",type:"port",ips:["172.18.1.4/16","fc00::4/32"],x:276,y:225},{id:"ff0c6aa1-d55a-450e-8fa8-8f672b4f3458",type:"association",from:"13a89e01-0bf9-4600-b723-b64355defab6",to:"a41e6c27-1729-425c-b390-87890ed26014"},{id:"0296acc9-0425-484e-80fe-5b52af63e05f",type:"dummy",hostname:"{{IPS}}",x:-611,y:268},{id:"cf1c265e-9bfd-4ffb-aae5-29f2a278b413",type:"association",from:"0296acc9-0425-484e-80fe-5b52af63e05f",to:"0ed365c1-8317-4caf-ac6e-23b9dd8a7cab"},{id:"36bc35b1-ba83-4dc5-baf5-ac8b44951a1d",type:"dummy",hostname:"{{IPS}}",x:-420,y:268},{id:"7842cc4f-0c93-4de4-b015-fe79dcb6b404",type:"association",from:"36bc35b1-ba83-4dc5-baf5-ac8b44951a1d",to:"1cddc061-24c9-4793-9815-e65e472ca648"},{id:"da79e1ef-5d0c-4ca2-9e02-231db9f057b9",type:"dummy",hostname:"{{IPS}}",x:-57,y:228},{id:"f44ce412-1786-4c05-ab66-093348c0baea",type:"association",from:"da79e1ef-5d0c-4ca2-9e02-231db9f057b9",to:"06fd2b5d-02a1-456c-b1bb-ac6b2788c86f"},{id:"249e02e5-1da5-40b1-8da4-f9999d98ac1f",type:"dummy",hostname:"{{IPS}}",x:27,y:283},{id:"734daaf1-609b-4276-bde0-e01e7d4c1a95",type:"association",from:"249e02e5-1da5-40b1-8da4-f9999d98ac1f",to:"5fc68b2c-9ebc-42c6-b712-6bea68890749"},{id:"19123582-ca4c-4c7e-ac94-de757f567b74",type:"dummy",hostname:"{{IPS}}",x:153,y:194},{id:"8489b608-d1c9-4e87-b765-cb674ba1ae3e",type:"association",from:"19123582-ca4c-4c7e-ac94-de757f567b74",to:"dc7c9a65-aaea-4b64-a25e-b9f6afc4f64b"},{id:"2cd7a3b3-f57d-4abb-a425-c154f15c8436",type:"dummy",hostname:"{{IPS}}",x:219,y:292},{id:"ae4c89f9-b20e-4cf6-bba1-10e8879505fa",type:"association",from:"2cd7a3b3-f57d-4abb-a425-c154f15c8436",to:"fe34070c-97c1-4678-8e84-22774cff103c"},{id:"460d29a5-8643-48e8-89b5-38d5bbce7633",type:"dummy",hostname:"{{IPS}}",x:360,y:359},{id:"1e1b82d8-38b5-4414-9917-a24943ecaca1",type:"association",from:"460d29a5-8643-48e8-89b5-38d5bbce7633",to:"318d8858-35b1-40f6-b8b1-fbacf6cd64fd"},{id:"67322e77-8911-42ac-bf17-3ce08c08fe9a",type:"dummy",hostname:"{{IPS}}",x:471,y:300},{id:"6a719fbb-c41d-44ac-8d63-507d68a3dbe2",type:"association",from:"67322e77-8911-42ac-bf17-3ce08c08fe9a",to:"74b26403-d0d0-462d-aff8-73234c18752c"},{id:"7790ebbd-2049-467a-a53b-930438262dc0",type:"dummy",hostname:"{{IPS}}",x:590,y:361},{id:"41c45eab-6c5d-4f5d-9c1b-6dcdb0d2e008",type:"association",from:"7790ebbd-2049-467a-a53b-930438262dc0",to:"8dd51b98-e91d-424c-a11b-83d4e7c5d879"},{id:"f2d02c1f-8ef8-4299-82ea-b04fcd8b4ad5",type:"dummy",hostname:"{{IPS}}",x:719,y:310},{id:"fc9818e4-52d6-4b39-964b-44ead55107e3",type:"association",from:"f2d02c1f-8ef8-4299-82ea-b04fcd8b4ad5",to:"ba973aaf-31b2-4fb5-8b2c-ac2dc150a7e3"},{id:"5350a8bc-3ed9-4ae6-af4a-854bd2951012",type:"dummy",hostname:"{{IPS}}",x:831,y:364},{id:"68acaedc-b5cb-4427-ad89-ed791fc26661",type:"association",from:"5350a8bc-3ed9-4ae6-af4a-854bd2951012",to:"d3ffe6ba-6fca-4e0f-b338-23085f8bdc68"},{id:"b85b88bd-13fb-4279-b4e0-29407805bbce",type:"dummy",hostname:"{{IPS}}",x:949,y:305},{id:"e99c56c1-fe42-4e99-8c02-a96b455445a6",type:"association",from:"b85b88bd-13fb-4279-b4e0-29407805bbce",to:"71149275-90e5-43c1-8d7c-f52b94aa39a3"},{id:"17989ed4-bf8a-4187-9cb8-a05947224160",type:"dummy",hostname:"{{IPS}}",x:1071,y:363},{id:"80cdf891-f715-46d8-b6dc-1d1305d3945d",type:"association",from:"17989ed4-bf8a-4187-9cb8-a05947224160",to:"ccc1bef0-9c73-4e62-9d38-8f4cf7f9f048"},{id:"2317e2ac-ca0c-4ec9-ad65-344f0a1beed6",type:"dummy",hostname:"{{IPS}}",x:1188,y:312},{id:"42fe074f-3fd3-4307-a4af-d630f085bc20",type:"association",from:"2317e2ac-ca0c-4ec9-ad65-344f0a1beed6",to:"4069a277-e02f-4b8e-99cb-38de7b885521"},{id:"1ddd2e14-c882-4dc0-a512-221f957994dc",type:"dummy",hostname:"{{IPS}}",x:1302,y:365},{id:"971c3856-2a3e-4004-a92c-7eed5281146f",type:"association",from:"1ddd2e14-c882-4dc0-a512-221f957994dc",to:"993a9640-8c40-45c4-b90b-ac67cf90c012"},{id:"a2289cac-040c-4911-b6b6-8b1a5920a393",type:"dummy",hostname:`{{TYPES}} -{{IPS}}`,x:466,y:-521},{id:"17962822-6f33-432a-a936-51a127b08a68",type:"association",from:"a2289cac-040c-4911-b6b6-8b1a5920a393",to:"c7140bf4-cd87-48b6-b1fa-f75e42776c1c"},{id:"f703e12b-95e5-4547-86a7-071076d91b24",type:"dummy",hostname:"{{TYPES}}",x:-354,y:-218},{id:"53086f6d-2b12-4ed9-a96f-bef4940f98cf",type:"association",from:"f703e12b-95e5-4547-86a7-071076d91b24",to:"a41e6c27-1729-425c-b390-87890ed26014"},{id:"a9dff8b5-4b0a-4374-8b59-1c060c1c2086",type:"dummy",hostname:"{{TYPES}}",x:365,y:-238},{id:"a156c47a-6896-4057-a9e1-9af3769bba0f",type:"association",from:"a9dff8b5-4b0a-4374-8b59-1c060c1c2086",to:"fc4009e7-fb91-4dea-8937-8b8bbdd01b8e"},{id:"4381e086-4be7-466d-9a82-a8853387f8b6",type:"dummy",hostname:"{{TYPES}}",x:886,y:-219},{id:"b827e08d-b517-4018-9fcc-997fe7d530f2",type:"association",from:"4381e086-4be7-466d-9a82-a8853387f8b6",to:"ac1b2506-e10b-470e-9733-1c82eac3837e"},{id:"f9a5fcf0-e56e-4271-adf6-796a4a4fe30e",type:"association",hostname:"",from:"c7140bf4-cd87-48b6-b1fa-f75e42776c1c",to:"fc4009e7-fb91-4dea-8937-8b8bbdd01b8e"},{id:"417f16d1-5a5b-48cc-908e-d14392e8c805",type:"association",hostname:"",from:"c7140bf4-cd87-48b6-b1fa-f75e42776c1c",to:"ac1b2506-e10b-470e-9733-1c82eac3837e"}];var Qy={version:ky,projectName:Xy,startScript:Zy,items:Jy};const Ei=200;function $o(e){const i={remove:[],replace:[]};return e.forEach(({before:o,after:l})=>{const n=JSON.parse(l),t=JSON.parse(o);n&&!t?i.remove.push(n.id):i.replace.push(t)}),i}const _y={namespaced:!0,state:{data:Ro.importData(Qy),past:[],future:[]},getters:{data(e){return e.data},canUndo(e){return e.past.length},canRedo(e){return e.future.length},boundingBox(e){const i=(()=>{const o=Object.values(e.data.items),l=o.find(({x:n,y:t})=>n!=null&&t!=null);return l?o.reduce((n,{x:t,y:h})=>(tn.eX&&(n.eX=t),hn.eY&&(n.eY=h),n),{sX:l.x,eX:l.x,sY:l.y,eY:l.y,empty:!1}):{sX:0,eX:0,sY:0,eY:0,empty:!0}})();return({margin:o=100,scale:l=1}={})=>{const n={...i,width:0,height:0};return n.empty||(n.sX-=o,n.sY-=o,n.eX+=o,n.eY+=o,n.sX*=l,n.sY*=l,n.eX*=l,n.eY*=l,n.sX=Math.ceil(Math.abs(n.sX))*Math.sign(n.sX),n.sY=Math.ceil(Math.abs(n.sY))*Math.sign(n.sY),n.eX=Math.ceil(Math.abs(n.eX))*Math.sign(n.eX),n.eY=Math.ceil(Math.abs(n.eY))*Math.sign(n.eY),n.width=n.eX-n.sX,n.height=n.eY-n.sY),n}}},mutations:{importData({data:e,past:i,future:o},l){i.splice(0),o.splice(0),Object.keys(e).forEach(t=>{lt.delete(e,t)});const n=Ro.importData(l);Object.keys(n).forEach(t=>lt.set(e,t,n[t]))},setValues({data:e},i){Object.keys(i).forEach(o=>{const l=i[o];l!=null&&l!==""?lt.set(e,o,l):lt.delete(e,o)})},applyChange({data:e},{remove:i,update:o,replace:l}){i&&i.forEach(n=>{lt.delete(e.items,n)}),o&&o.forEach(n=>{if(n.id==null)throw new Error("Items have to have ids.");const t=e.items[n.id];Object.keys(n).forEach(h=>{lt.set(t,h,n[h])})}),l&&l.forEach(n=>{if(n.id==null)throw new Error("Items have to have ids.");lt.set(e.items,n.id,n)})},pushChange({past:e,future:i},o){i.splice(0),e.length>=Ei&&e.splice(0,e.length+1-Ei),e.push(o)},undoShift({past:e,future:i}){e.length&&(i.length>=Ei&&i.shift(),i.push(e.pop()))},redoShift({past:e,future:i}){i.length&&(e.length>=Ei&&e.shift(),e.push(i.pop()))}},actions:{removeItems({commit:e,state:i},o){e("pushChange",o.map(l=>({before:JSON.stringify(i.data.items[l]||null),after:JSON.stringify(null)}))),e("applyChange",{remove:o})},updateItems({commit:e,state:i},o){e("pushChange",o.map(l=>{const n=i.data.items[l.id];return{before:JSON.stringify(n||null),after:JSON.stringify({...n,...l})}})),e("applyChange",{update:o})},replaceItems({commit:e,state:i},o){e("pushChange",o.map(l=>({before:JSON.stringify(i.data.items[l.id]||null),after:JSON.stringify(l)}))),e("applyChange",{replace:o})},undo({commit:e,state:i}){const o=i.past[i.past.length-1];if(o)e("undoShift"),e("applyChange",$o(o));else throw new Error("Nothing to undo.")},redo({commit:e,state:i}){const o=i.future[i.future.length-1];if(o)e("redoShift"),e("applyChange",$o(o.map(({after:l,before:n})=>({after:n,before:l}))));else throw new Error("Nothing to redo.")}}},qy=pu.ready,tE={strict:!1,state:{loading:!0,working:!1,isUpdateAvailable:!1,alert:{show:!1}},mutations:{loaded(e){e.loading=!1},setWorking(e,{working:i,curr:o,max:l}){!isNaN(o)&&!isNaN(l)?e.working={curr:o,max:l}:e.working=!!i},setAlert(e,{type:i,text:o}){e.alert={show:!0,type:i,text:o}},clearAlert(e){e.alert.show=!1},setUpdateAvailable(e){e.isUpdateAvailable=!0}},actions:{},modules:{topology:_y},plugins:[pu.plugin,Gy]};lt.use(vu);const Jn=new vu.Store(tE);qy.then(()=>{Jn.commit("loaded")});lt.use(iu);function Wo(e){if(!e)return"";const i=e.split(",").length;return` with ${i} selected item${i===1?"":"s"}`}function jo(e=i=>i){return[{path:"/",name:"/",redirect:{name:"Home"}},{path:"/home",name:"Home",meta:{title:"Home",drawer:!0,icon:"mdi-home"},components:{default:()=>Ae(()=>import("../HomePage.1f58a27b.js"),["assets/HomePage.1f58a27b.js","assets/HomePage.9bcd2a56.css","assets/AppLogo.00bc4a09.js","assets/AppLogo.6d8d8d84.css"])}},{path:"/canvas",name:"Canvas",meta:{title:"Canvas",drawer:!0,icon:"mdi-map"},components:{default:()=>Ae(()=>import("../CanvasPage.09bca5fc.js"),["assets/CanvasPage.09bca5fc.js","assets/CanvasPage.e36fc8a1.css","assets/LoadingSpinner.9d8d5b2a.js","assets/LoadingSpinner.ed9fa969.css","assets/ThreeStateCheckbox.3612925e.js","assets/VisCanvas.870126cf.js","assets/VisCanvas.4280c84c.css"]),toolbar:()=>Ae(()=>import("../TopologyToolbar.4a389968.js"),[])},props:{toolbar:{undoRedo:!0}},children:[{path:":ids?",name:"Canvas without position",meta:{title:"Canvas",subtitle(i){return Wo(i.params.ids)}}},{path:":x/:y/:scale/:ids?",name:"Canvas with position",meta:{title:"Canvas",subtitle(i){const{x:o,y:l,scale:n,ids:t}=i.params;return` at position ${o}\xA0\xD7\xA0${l} scaled to ${(n*100).toFixed(0)}\xA0%${Wo(t)}`}}}]},{path:"/mininet_settings",name:"Mininet settings",meta:{title:"Mininet Settings",drawer:!0,icon:"mdi-tune"},components:{default:()=>Ae(()=>import("../MininetSettingsPage.3e4d0487.js"),["assets/MininetSettingsPage.3e4d0487.js","assets/LoadingSpinner.9d8d5b2a.js","assets/LoadingSpinner.ed9fa969.css","assets/ThreeStateCheckbox.3612925e.js"]),toolbar:()=>Ae(()=>import("../TopologyToolbar.4a389968.js"),[])}},{path:"/export",name:"Export",meta:{title:"Export/Import",drawer:!0,icon:"mdi-content-save"},components:{default:()=>Ae(()=>import("../ExportPage.28ab21bb.js").then(function(i){return i.E}),["assets/ExportPage.28ab21bb.js","assets/VisCanvas.870126cf.js","assets/VisCanvas.4280c84c.css","assets/LoadingSpinner.9d8d5b2a.js","assets/LoadingSpinner.ed9fa969.css"]),toolbar:()=>Ae(()=>import("../TopologyToolbar.4a389968.js"),[])}},{path:"/about",name:"About",meta:{title:"About",drawer:!0,icon:"mdi-information"},components:{default:()=>Ae(()=>import("../AboutPage.8bed3381.js"),["assets/AboutPage.8bed3381.js","assets/AppLogo.00bc4a09.js","assets/AppLogo.6d8d8d84.css"])}}].map(e)}function yu(e){return e.meta==null&&(e.meta={}),e.meta.isView=!1,e.children!=null&&(e.children=e.children.map(yu)),e}function Eu(e){return e.name=`View | ${e.name}`,e.path.startsWith("/")&&(e.path=`/view${e.path}`),e.meta==null&&(e.meta={}),e.meta.drawer=!1,e.meta.isView=!0,e.redirect!=null&&(e.redirect.name=`View | ${e.redirect.name}`),e.children!=null&&(e.children=e.children.map(Eu)),e}const eE=[...jo(yu),...jo(Eu)],bu=new iu({routes:eE});bu.beforeEach((e,i,o)=>{if(!e.meta.isView&&i.meta.isView)return o(`/view${e.fullPath}`);(e.matched.length===0||i.matched.length===0||e.matched[0].name!==i.matched[0].name)&&(Jn.commit("clearAlert"),Jn.commit("setWorking",{working:!1})),o()});var _s={};Object.defineProperty(_s,"__esModule",{value:!0});var ut=_s.default=void 0,nE=Object.freeze({base:"#f44336",lighten5:"#ffebee",lighten4:"#ffcdd2",lighten3:"#ef9a9a",lighten2:"#e57373",lighten1:"#ef5350",darken1:"#e53935",darken2:"#d32f2f",darken3:"#c62828",darken4:"#b71c1c",accent1:"#ff8a80",accent2:"#ff5252",accent3:"#ff1744",accent4:"#d50000"}),iE=Object.freeze({base:"#e91e63",lighten5:"#fce4ec",lighten4:"#f8bbd0",lighten3:"#f48fb1",lighten2:"#f06292",lighten1:"#ec407a",darken1:"#d81b60",darken2:"#c2185b",darken3:"#ad1457",darken4:"#880e4f",accent1:"#ff80ab",accent2:"#ff4081",accent3:"#f50057",accent4:"#c51162"}),rE=Object.freeze({base:"#9c27b0",lighten5:"#f3e5f5",lighten4:"#e1bee7",lighten3:"#ce93d8",lighten2:"#ba68c8",lighten1:"#ab47bc",darken1:"#8e24aa",darken2:"#7b1fa2",darken3:"#6a1b9a",darken4:"#4a148c",accent1:"#ea80fc",accent2:"#e040fb",accent3:"#d500f9",accent4:"#aa00ff"}),sE=Object.freeze({base:"#673ab7",lighten5:"#ede7f6",lighten4:"#d1c4e9",lighten3:"#b39ddb",lighten2:"#9575cd",lighten1:"#7e57c2",darken1:"#5e35b1",darken2:"#512da8",darken3:"#4527a0",darken4:"#311b92",accent1:"#b388ff",accent2:"#7c4dff",accent3:"#651fff",accent4:"#6200ea"}),aE=Object.freeze({base:"#3f51b5",lighten5:"#e8eaf6",lighten4:"#c5cae9",lighten3:"#9fa8da",lighten2:"#7986cb",lighten1:"#5c6bc0",darken1:"#3949ab",darken2:"#303f9f",darken3:"#283593",darken4:"#1a237e",accent1:"#8c9eff",accent2:"#536dfe",accent3:"#3d5afe",accent4:"#304ffe"}),oE=Object.freeze({base:"#2196f3",lighten5:"#e3f2fd",lighten4:"#bbdefb",lighten3:"#90caf9",lighten2:"#64b5f6",lighten1:"#42a5f5",darken1:"#1e88e5",darken2:"#1976d2",darken3:"#1565c0",darken4:"#0d47a1",accent1:"#82b1ff",accent2:"#448aff",accent3:"#2979ff",accent4:"#2962ff"}),lE=Object.freeze({base:"#03a9f4",lighten5:"#e1f5fe",lighten4:"#b3e5fc",lighten3:"#81d4fa",lighten2:"#4fc3f7",lighten1:"#29b6f6",darken1:"#039be5",darken2:"#0288d1",darken3:"#0277bd",darken4:"#01579b",accent1:"#80d8ff",accent2:"#40c4ff",accent3:"#00b0ff",accent4:"#0091ea"}),cE=Object.freeze({base:"#00bcd4",lighten5:"#e0f7fa",lighten4:"#b2ebf2",lighten3:"#80deea",lighten2:"#4dd0e1",lighten1:"#26c6da",darken1:"#00acc1",darken2:"#0097a7",darken3:"#00838f",darken4:"#006064",accent1:"#84ffff",accent2:"#18ffff",accent3:"#00e5ff",accent4:"#00b8d4"}),uE=Object.freeze({base:"#009688",lighten5:"#e0f2f1",lighten4:"#b2dfdb",lighten3:"#80cbc4",lighten2:"#4db6ac",lighten1:"#26a69a",darken1:"#00897b",darken2:"#00796b",darken3:"#00695c",darken4:"#004d40",accent1:"#a7ffeb",accent2:"#64ffda",accent3:"#1de9b6",accent4:"#00bfa5"}),dE=Object.freeze({base:"#4caf50",lighten5:"#e8f5e9",lighten4:"#c8e6c9",lighten3:"#a5d6a7",lighten2:"#81c784",lighten1:"#66bb6a",darken1:"#43a047",darken2:"#388e3c",darken3:"#2e7d32",darken4:"#1b5e20",accent1:"#b9f6ca",accent2:"#69f0ae",accent3:"#00e676",accent4:"#00c853"}),fE=Object.freeze({base:"#8bc34a",lighten5:"#f1f8e9",lighten4:"#dcedc8",lighten3:"#c5e1a5",lighten2:"#aed581",lighten1:"#9ccc65",darken1:"#7cb342",darken2:"#689f38",darken3:"#558b2f",darken4:"#33691e",accent1:"#ccff90",accent2:"#b2ff59",accent3:"#76ff03",accent4:"#64dd17"}),hE=Object.freeze({base:"#cddc39",lighten5:"#f9fbe7",lighten4:"#f0f4c3",lighten3:"#e6ee9c",lighten2:"#dce775",lighten1:"#d4e157",darken1:"#c0ca33",darken2:"#afb42b",darken3:"#9e9d24",darken4:"#827717",accent1:"#f4ff81",accent2:"#eeff41",accent3:"#c6ff00",accent4:"#aeea00"}),vE=Object.freeze({base:"#ffeb3b",lighten5:"#fffde7",lighten4:"#fff9c4",lighten3:"#fff59d",lighten2:"#fff176",lighten1:"#ffee58",darken1:"#fdd835",darken2:"#fbc02d",darken3:"#f9a825",darken4:"#f57f17",accent1:"#ffff8d",accent2:"#ffff00",accent3:"#ffea00",accent4:"#ffd600"}),mE=Object.freeze({base:"#ffc107",lighten5:"#fff8e1",lighten4:"#ffecb3",lighten3:"#ffe082",lighten2:"#ffd54f",lighten1:"#ffca28",darken1:"#ffb300",darken2:"#ffa000",darken3:"#ff8f00",darken4:"#ff6f00",accent1:"#ffe57f",accent2:"#ffd740",accent3:"#ffc400",accent4:"#ffab00"}),pE=Object.freeze({base:"#ff9800",lighten5:"#fff3e0",lighten4:"#ffe0b2",lighten3:"#ffcc80",lighten2:"#ffb74d",lighten1:"#ffa726",darken1:"#fb8c00",darken2:"#f57c00",darken3:"#ef6c00",darken4:"#e65100",accent1:"#ffd180",accent2:"#ffab40",accent3:"#ff9100",accent4:"#ff6d00"}),gE=Object.freeze({base:"#ff5722",lighten5:"#fbe9e7",lighten4:"#ffccbc",lighten3:"#ffab91",lighten2:"#ff8a65",lighten1:"#ff7043",darken1:"#f4511e",darken2:"#e64a19",darken3:"#d84315",darken4:"#bf360c",accent1:"#ff9e80",accent2:"#ff6e40",accent3:"#ff3d00",accent4:"#dd2c00"}),yE=Object.freeze({base:"#795548",lighten5:"#efebe9",lighten4:"#d7ccc8",lighten3:"#bcaaa4",lighten2:"#a1887f",lighten1:"#8d6e63",darken1:"#6d4c41",darken2:"#5d4037",darken3:"#4e342e",darken4:"#3e2723"}),EE=Object.freeze({base:"#607d8b",lighten5:"#eceff1",lighten4:"#cfd8dc",lighten3:"#b0bec5",lighten2:"#90a4ae",lighten1:"#78909c",darken1:"#546e7a",darken2:"#455a64",darken3:"#37474f",darken4:"#263238"}),bE=Object.freeze({base:"#9e9e9e",lighten5:"#fafafa",lighten4:"#f5f5f5",lighten3:"#eeeeee",lighten2:"#e0e0e0",lighten1:"#bdbdbd",darken1:"#757575",darken2:"#616161",darken3:"#424242",darken4:"#212121"}),OE=Object.freeze({black:"#000000",white:"#ffffff",transparent:"transparent"}),PE=Object.freeze({red:nE,pink:iE,purple:rE,deepPurple:sE,indigo:aE,blue:oE,lightBlue:lE,cyan:cE,teal:uE,green:dE,lightGreen:fE,lime:hE,yellow:vE,amber:mE,orange:pE,deepOrange:gE,brown:yE,blueGrey:EE,grey:bE,shades:OE});ut=_s.default=PE;function tr(e,i){return"rgba("+e.substring(1).match(e.length===7?/[^#]{2}/g:/[^#]/g).map(o=>parseInt(o,12)).join(", ")+`, ${i})`}const yr=window.matchMedia("(prefers-color-scheme: dark)").matches,Ou={primary:ut.teal.base,secondary:ut.teal.lighten1,accent:ut.amber.darken1,error:ut.red.base,warning:ut.orange.base,info:ut.blue.base,success:ut.green.base},Pu={primary:ut.teal.base,secondary:ut.teal.lighten1,accent:ut.amber.darken1,error:ut.red.base,warning:ut.orange.base,info:ut.blue.base,success:ut.green.base},AE=yr?Pu:Ou,CE={controller:{menu:ut.purple.base,canvas:ut.purple.base},dummy:{menu:ut.grey.darken4,canvas:ut.grey.base},edge:{menu:ut.cyan.base,canvas:ut.cyan.base},host:{menu:ut.orange.base,canvas:ut.orange.base},port:{menu:ut.green.base,canvas:ut.green.base},switch:{menu:ut.indigo.base,canvas:ut.indigo.base}},DE={controller:{menu:ut.purple.base,canvas:ut.purple.base},dummy:{menu:ut.grey.darken4,canvas:ut.grey.base},edge:{menu:ut.cyan.base,canvas:ut.cyan.base},host:{menu:ut.orange.base,canvas:ut.orange.base},port:{menu:ut.green.base,canvas:ut.green.base},switch:{menu:ut.indigo.base,canvas:ut.indigo.base}},VE=yr?DE:CE,TE={background:tr(ut.teal.base,.25),border:tr(ut.teal.base,.75)},ME={background:tr(ut.teal.base,.25),border:tr(ut.teal.base,.75)},LE=yr?ME:TE,BE={foreground:ut.shades.black,background:ut.shades.white},RE={foreground:ut.shades.white,background:ut.grey.darken3};function xE(){!("Cypress"in globalThis)&&"serviceWorker"in navigator&&navigator.serviceWorker.register("./service-worker.js").then(e=>{e==null||e.addEventListener("updatefound",function(){Jn.commit("setUpdateAvailable")})})}lt.use(Yl);const Cu=new Yl({theme:{themes:{light:Ou,dark:Pu},dark:yr},icons:{iconfont:"mdi",values:{success:"mdi-check-circle",info:"mdi-information",warning:"mdi-alert",error:"mdi-alert-octagon",checkboxFalse:"mdi-close-box",checkboxTrue:"mdi-checkbox-marked",checkboxUndefined:"mdi-checkbox-blank-outline","net-controller":"mdi-developer-board","net-dummy":"mdi-label","net-edge":"mdi-ethernet-cable","net-host":"mdi-laptop","net-label":"mdi-label","net-port":"mdi-ethernet","net-switch":"mdi-switch"}}});lt.use(jc,{vuetify:Cu});lt.config.productionTip=!1;new lt({el:"#app",router:bu,store:Jn,vuetify:Cu,render:e=>e(sd)});xE();export{Ae as _,DE as a,CE as b,RE as c,yr as d,BE as e,ut as f,Rn as g,Ro as h,VE as i,Qy as j,fu as m,ed as n,LE as s,AE as v}; +{{IPS}}`,x:466,y:-521},{id:"17962822-6f33-432a-a936-51a127b08a68",type:"association",from:"a2289cac-040c-4911-b6b6-8b1a5920a393",to:"c7140bf4-cd87-48b6-b1fa-f75e42776c1c"},{id:"f703e12b-95e5-4547-86a7-071076d91b24",type:"dummy",hostname:"{{TYPES}}",x:-354,y:-218},{id:"53086f6d-2b12-4ed9-a96f-bef4940f98cf",type:"association",from:"f703e12b-95e5-4547-86a7-071076d91b24",to:"a41e6c27-1729-425c-b390-87890ed26014"},{id:"a9dff8b5-4b0a-4374-8b59-1c060c1c2086",type:"dummy",hostname:"{{TYPES}}",x:365,y:-238},{id:"a156c47a-6896-4057-a9e1-9af3769bba0f",type:"association",from:"a9dff8b5-4b0a-4374-8b59-1c060c1c2086",to:"fc4009e7-fb91-4dea-8937-8b8bbdd01b8e"},{id:"4381e086-4be7-466d-9a82-a8853387f8b6",type:"dummy",hostname:"{{TYPES}}",x:886,y:-219},{id:"b827e08d-b517-4018-9fcc-997fe7d530f2",type:"association",from:"4381e086-4be7-466d-9a82-a8853387f8b6",to:"ac1b2506-e10b-470e-9733-1c82eac3837e"},{id:"f9a5fcf0-e56e-4271-adf6-796a4a4fe30e",type:"association",hostname:"",from:"c7140bf4-cd87-48b6-b1fa-f75e42776c1c",to:"fc4009e7-fb91-4dea-8937-8b8bbdd01b8e"},{id:"417f16d1-5a5b-48cc-908e-d14392e8c805",type:"association",hostname:"",from:"c7140bf4-cd87-48b6-b1fa-f75e42776c1c",to:"ac1b2506-e10b-470e-9733-1c82eac3837e"}];var Qy={version:ky,projectName:Xy,startScript:Zy,items:Jy};const Ei=200;function $o(e){const i={remove:[],replace:[]};return e.forEach(({before:o,after:l})=>{const n=JSON.parse(l),t=JSON.parse(o);n&&!t?i.remove.push(n.id):i.replace.push(t)}),i}const _y={namespaced:!0,state:{data:Ro.importData(Qy),past:[],future:[]},getters:{data(e){return e.data},canUndo(e){return e.past.length},canRedo(e){return e.future.length},boundingBox(e){const i=(()=>{const o=Object.values(e.data.items),l=o.find(({x:n,y:t})=>n!=null&&t!=null);return l?o.reduce((n,{x:t,y:h})=>(tn.eX&&(n.eX=t),hn.eY&&(n.eY=h),n),{sX:l.x,eX:l.x,sY:l.y,eY:l.y,empty:!1}):{sX:0,eX:0,sY:0,eY:0,empty:!0}})();return({margin:o=100,scale:l=1}={})=>{const n={...i,width:0,height:0};return n.empty||(n.sX-=o,n.sY-=o,n.eX+=o,n.eY+=o,n.sX*=l,n.sY*=l,n.eX*=l,n.eY*=l,n.sX=Math.ceil(Math.abs(n.sX))*Math.sign(n.sX),n.sY=Math.ceil(Math.abs(n.sY))*Math.sign(n.sY),n.eX=Math.ceil(Math.abs(n.eX))*Math.sign(n.eX),n.eY=Math.ceil(Math.abs(n.eY))*Math.sign(n.eY),n.width=n.eX-n.sX,n.height=n.eY-n.sY),n}}},mutations:{importData({data:e,past:i,future:o},l){i.splice(0),o.splice(0),Object.keys(e).forEach(t=>{lt.delete(e,t)});const n=Ro.importData(l);Object.keys(n).forEach(t=>lt.set(e,t,n[t]))},setValues({data:e},i){Object.keys(i).forEach(o=>{const l=i[o];l!=null&&l!==""?lt.set(e,o,l):lt.delete(e,o)})},applyChange({data:e},{remove:i,update:o,replace:l}){i&&i.forEach(n=>{lt.delete(e.items,n)}),o&&o.forEach(n=>{if(n.id==null)throw new Error("Items have to have ids.");const t=e.items[n.id];Object.keys(n).forEach(h=>{lt.set(t,h,n[h])})}),l&&l.forEach(n=>{if(n.id==null)throw new Error("Items have to have ids.");lt.set(e.items,n.id,n)})},pushChange({past:e,future:i},o){i.splice(0),e.length>=Ei&&e.splice(0,e.length+1-Ei),e.push(o)},undoShift({past:e,future:i}){e.length&&(i.length>=Ei&&i.shift(),i.push(e.pop()))},redoShift({past:e,future:i}){i.length&&(e.length>=Ei&&e.shift(),e.push(i.pop()))}},actions:{removeItems({commit:e,state:i},o){e("pushChange",o.map(l=>({before:JSON.stringify(i.data.items[l]||null),after:JSON.stringify(null)}))),e("applyChange",{remove:o})},updateItems({commit:e,state:i},o){e("pushChange",o.map(l=>{const n=i.data.items[l.id];return{before:JSON.stringify(n||null),after:JSON.stringify({...n,...l})}})),e("applyChange",{update:o})},replaceItems({commit:e,state:i},o){e("pushChange",o.map(l=>({before:JSON.stringify(i.data.items[l.id]||null),after:JSON.stringify(l)}))),e("applyChange",{replace:o})},undo({commit:e,state:i}){const o=i.past[i.past.length-1];if(o)e("undoShift"),e("applyChange",$o(o));else throw new Error("Nothing to undo.")},redo({commit:e,state:i}){const o=i.future[i.future.length-1];if(o)e("redoShift"),e("applyChange",$o(o.map(({after:l,before:n})=>({after:n,before:l}))));else throw new Error("Nothing to redo.")}}},qy=pu.ready,tE={strict:!1,state:{loading:!0,working:!1,isUpdateAvailable:!1,alert:{show:!1}},mutations:{loaded(e){e.loading=!1},setWorking(e,{working:i,curr:o,max:l}){!isNaN(o)&&!isNaN(l)?e.working={curr:o,max:l}:e.working=!!i},setAlert(e,{type:i,text:o}){e.alert={show:!0,type:i,text:o}},clearAlert(e){e.alert.show=!1},setUpdateAvailable(e){e.isUpdateAvailable=!0}},actions:{},modules:{topology:_y},plugins:[pu.plugin,Gy]};lt.use(vu);const Jn=new vu.Store(tE);qy.then(()=>{Jn.commit("loaded")});lt.use(iu);function Wo(e){if(!e)return"";const i=e.split(",").length;return` with ${i} selected item${i===1?"":"s"}`}function jo(e=i=>i){return[{path:"/",name:"/",redirect:{name:"Home"}},{path:"/home",name:"Home",meta:{title:"Home",drawer:!0,icon:"mdi-home"},components:{default:()=>Ae(()=>import("../HomePage.5e32082e.js"),["assets/HomePage.5e32082e.js","assets/HomePage.9bcd2a56.css","assets/AppLogo.f38aeaa0.js","assets/AppLogo.6d8d8d84.css"])}},{path:"/canvas",name:"Canvas",meta:{title:"Canvas",drawer:!0,icon:"mdi-map"},components:{default:()=>Ae(()=>import("../CanvasPage.f9e60b2a.js"),["assets/CanvasPage.f9e60b2a.js","assets/CanvasPage.e36fc8a1.css","assets/LoadingSpinner.26780557.js","assets/LoadingSpinner.ed9fa969.css","assets/ThreeStateCheckbox.0f3214e2.js","assets/VisCanvas.4e4e5723.js","assets/VisCanvas.4280c84c.css"]),toolbar:()=>Ae(()=>import("../TopologyToolbar.6a647b38.js"),[])},props:{toolbar:{undoRedo:!0}},children:[{path:":ids?",name:"Canvas without position",meta:{title:"Canvas",subtitle(i){return Wo(i.params.ids)}}},{path:":x/:y/:scale/:ids?",name:"Canvas with position",meta:{title:"Canvas",subtitle(i){const{x:o,y:l,scale:n,ids:t}=i.params;return` at position ${o}\xA0\xD7\xA0${l} scaled to ${(n*100).toFixed(0)}\xA0%${Wo(t)}`}}}]},{path:"/mininet_settings",name:"Mininet settings",meta:{title:"Mininet Settings",drawer:!0,icon:"mdi-tune"},components:{default:()=>Ae(()=>import("../MininetSettingsPage.f6deca0c.js"),["assets/MininetSettingsPage.f6deca0c.js","assets/LoadingSpinner.26780557.js","assets/LoadingSpinner.ed9fa969.css","assets/ThreeStateCheckbox.0f3214e2.js"]),toolbar:()=>Ae(()=>import("../TopologyToolbar.6a647b38.js"),[])}},{path:"/export",name:"Export",meta:{title:"Export/Import",drawer:!0,icon:"mdi-content-save"},components:{default:()=>Ae(()=>import("../ExportPage.3bd7843c.js").then(function(i){return i.E}),["assets/ExportPage.3bd7843c.js","assets/VisCanvas.4e4e5723.js","assets/VisCanvas.4280c84c.css","assets/LoadingSpinner.26780557.js","assets/LoadingSpinner.ed9fa969.css"]),toolbar:()=>Ae(()=>import("../TopologyToolbar.6a647b38.js"),[])}},{path:"/about",name:"About",meta:{title:"About",drawer:!0,icon:"mdi-information"},components:{default:()=>Ae(()=>import("../AboutPage.3230d0ed.js"),["assets/AboutPage.3230d0ed.js","assets/AppLogo.f38aeaa0.js","assets/AppLogo.6d8d8d84.css"])}}].map(e)}function yu(e){return e.meta==null&&(e.meta={}),e.meta.isView=!1,e.children!=null&&(e.children=e.children.map(yu)),e}function Eu(e){return e.name=`View | ${e.name}`,e.path.startsWith("/")&&(e.path=`/view${e.path}`),e.meta==null&&(e.meta={}),e.meta.drawer=!1,e.meta.isView=!0,e.redirect!=null&&(e.redirect.name=`View | ${e.redirect.name}`),e.children!=null&&(e.children=e.children.map(Eu)),e}const eE=[...jo(yu),...jo(Eu)],bu=new iu({routes:eE});bu.beforeEach((e,i,o)=>{if(!e.meta.isView&&i.meta.isView)return o(`/view${e.fullPath}`);(e.matched.length===0||i.matched.length===0||e.matched[0].name!==i.matched[0].name)&&(Jn.commit("clearAlert"),Jn.commit("setWorking",{working:!1})),o()});var _s={};Object.defineProperty(_s,"__esModule",{value:!0});var ut=_s.default=void 0,nE=Object.freeze({base:"#f44336",lighten5:"#ffebee",lighten4:"#ffcdd2",lighten3:"#ef9a9a",lighten2:"#e57373",lighten1:"#ef5350",darken1:"#e53935",darken2:"#d32f2f",darken3:"#c62828",darken4:"#b71c1c",accent1:"#ff8a80",accent2:"#ff5252",accent3:"#ff1744",accent4:"#d50000"}),iE=Object.freeze({base:"#e91e63",lighten5:"#fce4ec",lighten4:"#f8bbd0",lighten3:"#f48fb1",lighten2:"#f06292",lighten1:"#ec407a",darken1:"#d81b60",darken2:"#c2185b",darken3:"#ad1457",darken4:"#880e4f",accent1:"#ff80ab",accent2:"#ff4081",accent3:"#f50057",accent4:"#c51162"}),rE=Object.freeze({base:"#9c27b0",lighten5:"#f3e5f5",lighten4:"#e1bee7",lighten3:"#ce93d8",lighten2:"#ba68c8",lighten1:"#ab47bc",darken1:"#8e24aa",darken2:"#7b1fa2",darken3:"#6a1b9a",darken4:"#4a148c",accent1:"#ea80fc",accent2:"#e040fb",accent3:"#d500f9",accent4:"#aa00ff"}),sE=Object.freeze({base:"#673ab7",lighten5:"#ede7f6",lighten4:"#d1c4e9",lighten3:"#b39ddb",lighten2:"#9575cd",lighten1:"#7e57c2",darken1:"#5e35b1",darken2:"#512da8",darken3:"#4527a0",darken4:"#311b92",accent1:"#b388ff",accent2:"#7c4dff",accent3:"#651fff",accent4:"#6200ea"}),aE=Object.freeze({base:"#3f51b5",lighten5:"#e8eaf6",lighten4:"#c5cae9",lighten3:"#9fa8da",lighten2:"#7986cb",lighten1:"#5c6bc0",darken1:"#3949ab",darken2:"#303f9f",darken3:"#283593",darken4:"#1a237e",accent1:"#8c9eff",accent2:"#536dfe",accent3:"#3d5afe",accent4:"#304ffe"}),oE=Object.freeze({base:"#2196f3",lighten5:"#e3f2fd",lighten4:"#bbdefb",lighten3:"#90caf9",lighten2:"#64b5f6",lighten1:"#42a5f5",darken1:"#1e88e5",darken2:"#1976d2",darken3:"#1565c0",darken4:"#0d47a1",accent1:"#82b1ff",accent2:"#448aff",accent3:"#2979ff",accent4:"#2962ff"}),lE=Object.freeze({base:"#03a9f4",lighten5:"#e1f5fe",lighten4:"#b3e5fc",lighten3:"#81d4fa",lighten2:"#4fc3f7",lighten1:"#29b6f6",darken1:"#039be5",darken2:"#0288d1",darken3:"#0277bd",darken4:"#01579b",accent1:"#80d8ff",accent2:"#40c4ff",accent3:"#00b0ff",accent4:"#0091ea"}),cE=Object.freeze({base:"#00bcd4",lighten5:"#e0f7fa",lighten4:"#b2ebf2",lighten3:"#80deea",lighten2:"#4dd0e1",lighten1:"#26c6da",darken1:"#00acc1",darken2:"#0097a7",darken3:"#00838f",darken4:"#006064",accent1:"#84ffff",accent2:"#18ffff",accent3:"#00e5ff",accent4:"#00b8d4"}),uE=Object.freeze({base:"#009688",lighten5:"#e0f2f1",lighten4:"#b2dfdb",lighten3:"#80cbc4",lighten2:"#4db6ac",lighten1:"#26a69a",darken1:"#00897b",darken2:"#00796b",darken3:"#00695c",darken4:"#004d40",accent1:"#a7ffeb",accent2:"#64ffda",accent3:"#1de9b6",accent4:"#00bfa5"}),dE=Object.freeze({base:"#4caf50",lighten5:"#e8f5e9",lighten4:"#c8e6c9",lighten3:"#a5d6a7",lighten2:"#81c784",lighten1:"#66bb6a",darken1:"#43a047",darken2:"#388e3c",darken3:"#2e7d32",darken4:"#1b5e20",accent1:"#b9f6ca",accent2:"#69f0ae",accent3:"#00e676",accent4:"#00c853"}),fE=Object.freeze({base:"#8bc34a",lighten5:"#f1f8e9",lighten4:"#dcedc8",lighten3:"#c5e1a5",lighten2:"#aed581",lighten1:"#9ccc65",darken1:"#7cb342",darken2:"#689f38",darken3:"#558b2f",darken4:"#33691e",accent1:"#ccff90",accent2:"#b2ff59",accent3:"#76ff03",accent4:"#64dd17"}),hE=Object.freeze({base:"#cddc39",lighten5:"#f9fbe7",lighten4:"#f0f4c3",lighten3:"#e6ee9c",lighten2:"#dce775",lighten1:"#d4e157",darken1:"#c0ca33",darken2:"#afb42b",darken3:"#9e9d24",darken4:"#827717",accent1:"#f4ff81",accent2:"#eeff41",accent3:"#c6ff00",accent4:"#aeea00"}),vE=Object.freeze({base:"#ffeb3b",lighten5:"#fffde7",lighten4:"#fff9c4",lighten3:"#fff59d",lighten2:"#fff176",lighten1:"#ffee58",darken1:"#fdd835",darken2:"#fbc02d",darken3:"#f9a825",darken4:"#f57f17",accent1:"#ffff8d",accent2:"#ffff00",accent3:"#ffea00",accent4:"#ffd600"}),mE=Object.freeze({base:"#ffc107",lighten5:"#fff8e1",lighten4:"#ffecb3",lighten3:"#ffe082",lighten2:"#ffd54f",lighten1:"#ffca28",darken1:"#ffb300",darken2:"#ffa000",darken3:"#ff8f00",darken4:"#ff6f00",accent1:"#ffe57f",accent2:"#ffd740",accent3:"#ffc400",accent4:"#ffab00"}),pE=Object.freeze({base:"#ff9800",lighten5:"#fff3e0",lighten4:"#ffe0b2",lighten3:"#ffcc80",lighten2:"#ffb74d",lighten1:"#ffa726",darken1:"#fb8c00",darken2:"#f57c00",darken3:"#ef6c00",darken4:"#e65100",accent1:"#ffd180",accent2:"#ffab40",accent3:"#ff9100",accent4:"#ff6d00"}),gE=Object.freeze({base:"#ff5722",lighten5:"#fbe9e7",lighten4:"#ffccbc",lighten3:"#ffab91",lighten2:"#ff8a65",lighten1:"#ff7043",darken1:"#f4511e",darken2:"#e64a19",darken3:"#d84315",darken4:"#bf360c",accent1:"#ff9e80",accent2:"#ff6e40",accent3:"#ff3d00",accent4:"#dd2c00"}),yE=Object.freeze({base:"#795548",lighten5:"#efebe9",lighten4:"#d7ccc8",lighten3:"#bcaaa4",lighten2:"#a1887f",lighten1:"#8d6e63",darken1:"#6d4c41",darken2:"#5d4037",darken3:"#4e342e",darken4:"#3e2723"}),EE=Object.freeze({base:"#607d8b",lighten5:"#eceff1",lighten4:"#cfd8dc",lighten3:"#b0bec5",lighten2:"#90a4ae",lighten1:"#78909c",darken1:"#546e7a",darken2:"#455a64",darken3:"#37474f",darken4:"#263238"}),bE=Object.freeze({base:"#9e9e9e",lighten5:"#fafafa",lighten4:"#f5f5f5",lighten3:"#eeeeee",lighten2:"#e0e0e0",lighten1:"#bdbdbd",darken1:"#757575",darken2:"#616161",darken3:"#424242",darken4:"#212121"}),OE=Object.freeze({black:"#000000",white:"#ffffff",transparent:"transparent"}),PE=Object.freeze({red:nE,pink:iE,purple:rE,deepPurple:sE,indigo:aE,blue:oE,lightBlue:lE,cyan:cE,teal:uE,green:dE,lightGreen:fE,lime:hE,yellow:vE,amber:mE,orange:pE,deepOrange:gE,brown:yE,blueGrey:EE,grey:bE,shades:OE});ut=_s.default=PE;function tr(e,i){return"rgba("+e.substring(1).match(e.length===7?/[^#]{2}/g:/[^#]/g).map(o=>parseInt(o,12)).join(", ")+`, ${i})`}const yr=window.matchMedia("(prefers-color-scheme: dark)").matches,Ou={primary:ut.teal.base,secondary:ut.teal.lighten1,accent:ut.amber.darken1,error:ut.red.base,warning:ut.orange.base,info:ut.blue.base,success:ut.green.base},Pu={primary:ut.teal.base,secondary:ut.teal.lighten1,accent:ut.amber.darken1,error:ut.red.base,warning:ut.orange.base,info:ut.blue.base,success:ut.green.base},AE=yr?Pu:Ou,CE={controller:{menu:ut.purple.base,canvas:ut.purple.base},dummy:{menu:ut.grey.darken4,canvas:ut.grey.base},edge:{menu:ut.cyan.base,canvas:ut.cyan.base},host:{menu:ut.orange.base,canvas:ut.orange.base},port:{menu:ut.green.base,canvas:ut.green.base},switch:{menu:ut.indigo.base,canvas:ut.indigo.base}},DE={controller:{menu:ut.purple.base,canvas:ut.purple.base},dummy:{menu:ut.grey.darken4,canvas:ut.grey.base},edge:{menu:ut.cyan.base,canvas:ut.cyan.base},host:{menu:ut.orange.base,canvas:ut.orange.base},port:{menu:ut.green.base,canvas:ut.green.base},switch:{menu:ut.indigo.base,canvas:ut.indigo.base}},VE=yr?DE:CE,TE={background:tr(ut.teal.base,.25),border:tr(ut.teal.base,.75)},ME={background:tr(ut.teal.base,.25),border:tr(ut.teal.base,.75)},LE=yr?ME:TE,BE={foreground:ut.shades.black,background:ut.shades.white},RE={foreground:ut.shades.white,background:ut.grey.darken3};function xE(){!("Cypress"in globalThis)&&"serviceWorker"in navigator&&navigator.serviceWorker.register("./service-worker.js").then(e=>{e==null||e.addEventListener("updatefound",function(){Jn.commit("setUpdateAvailable")})})}lt.use(Yl);const Cu=new Yl({theme:{themes:{light:Ou,dark:Pu},dark:yr},icons:{iconfont:"mdi",values:{success:"mdi-check-circle",info:"mdi-information",warning:"mdi-alert",error:"mdi-alert-octagon",checkboxFalse:"mdi-close-box",checkboxTrue:"mdi-checkbox-marked",checkboxUndefined:"mdi-checkbox-blank-outline","net-controller":"mdi-developer-board","net-dummy":"mdi-label","net-edge":"mdi-ethernet-cable","net-host":"mdi-laptop","net-label":"mdi-label","net-port":"mdi-ethernet","net-switch":"mdi-switch"}}});lt.use(jc,{vuetify:Cu});lt.config.productionTip=!1;new lt({el:"#app",router:bu,store:Jn,vuetify:Cu,render:e=>e(sd)});xE();export{Ae as _,DE as a,CE as b,RE as c,yr as d,BE as e,ut as f,Rn as g,Ro as h,VE as i,Qy as j,fu as m,ed as n,LE as s,AE as v}; diff --git a/index.html b/index.html index fbd8c1969..6bb6ca589 100644 --- a/index.html +++ b/index.html @@ -22,7 +22,7 @@ - + diff --git a/manifest.json b/manifest.json index 0582358a9..768f28479 100644 --- a/manifest.json +++ b/manifest.json @@ -1,6 +1,6 @@ { "index.html": { - "file": "assets/js/app-479e8ca6.js", + "file": "assets/js/app-4881d322.js", "src": "index.html", "isEntry": true, "dynamicImports": [ @@ -8,7 +8,7 @@ "src/components/CanvasPage.vue", "src/components/TopologyToolbar.vue", "src/components/MininetSettingsPage.vue", - "_ExportPage.b61e55f4.js", + "_ExportPage.3bd7843c.js", "src/components/AboutPage.vue" ], "css": [ @@ -131,19 +131,19 @@ "isEntry": true }, "src/components/HomePage.vue": { - "file": "assets/HomePage.0a652e26.js", + "file": "assets/HomePage.5e32082e.js", "src": "src/components/HomePage.vue", "isDynamicEntry": true, "imports": [ "index.html", - "_AppLogo.b9281a45.js" + "_AppLogo.f38aeaa0.js" ], "css": [ "assets/HomePage.9bcd2a56.css" ] }, - "_AppLogo.b9281a45.js": { - "file": "assets/AppLogo.b9281a45.js", + "_AppLogo.f38aeaa0.js": { + "file": "assets/AppLogo.f38aeaa0.js", "imports": [ "index.html" ], @@ -155,21 +155,21 @@ ] }, "src/components/CanvasPage.vue": { - "file": "assets/CanvasPage.f9ee0d59.js", + "file": "assets/CanvasPage.f9e60b2a.js", "src": "src/components/CanvasPage.vue", "isDynamicEntry": true, "imports": [ "index.html", - "_LoadingSpinner.c480820c.js", - "_ThreeStateCheckbox.5c839bd0.js", - "_VisCanvas.7166f806.js" + "_LoadingSpinner.26780557.js", + "_ThreeStateCheckbox.0f3214e2.js", + "_VisCanvas.4e4e5723.js" ], "css": [ "assets/CanvasPage.e36fc8a1.css" ] }, - "_LoadingSpinner.c480820c.js": { - "file": "assets/LoadingSpinner.c480820c.js", + "_LoadingSpinner.26780557.js": { + "file": "assets/LoadingSpinner.26780557.js", "imports": [ "index.html" ], @@ -177,10 +177,10 @@ "assets/LoadingSpinner.ed9fa969.css" ] }, - "_VisCanvas.7166f806.js": { - "file": "assets/VisCanvas.7166f806.js", + "_VisCanvas.4e4e5723.js": { + "file": "assets/VisCanvas.4e4e5723.js", "imports": [ - "_LoadingSpinner.c480820c.js", + "_LoadingSpinner.26780557.js", "index.html" ], "css": [ @@ -197,14 +197,14 @@ "assets/switch.light.bd72a59e.svg" ] }, - "_ThreeStateCheckbox.5c839bd0.js": { - "file": "assets/ThreeStateCheckbox.5c839bd0.js", + "_ThreeStateCheckbox.0f3214e2.js": { + "file": "assets/ThreeStateCheckbox.0f3214e2.js", "imports": [ "index.html" ] }, "src/components/TopologyToolbar.vue": { - "file": "assets/TopologyToolbar.1311a813.js", + "file": "assets/TopologyToolbar.6a647b38.js", "src": "src/components/TopologyToolbar.vue", "isDynamicEntry": true, "imports": [ @@ -212,22 +212,22 @@ ] }, "src/components/MininetSettingsPage.vue": { - "file": "assets/MininetSettingsPage.8f895f0b.js", + "file": "assets/MininetSettingsPage.f6deca0c.js", "src": "src/components/MininetSettingsPage.vue", "isDynamicEntry": true, "imports": [ - "_LoadingSpinner.c480820c.js", - "_ThreeStateCheckbox.5c839bd0.js", + "_LoadingSpinner.26780557.js", + "_ThreeStateCheckbox.0f3214e2.js", "index.html" ] }, - "_ExportPage.b61e55f4.js": { - "file": "assets/ExportPage.b61e55f4.js", + "_ExportPage.3bd7843c.js": { + "file": "assets/ExportPage.3bd7843c.js", "isDynamicEntry": true, "imports": [ "index.html", - "_VisCanvas.7166f806.js", - "_LoadingSpinner.c480820c.js" + "_VisCanvas.4e4e5723.js", + "_LoadingSpinner.26780557.js" ], "dynamicImports": [ "node_modules/html2canvas/dist/html2canvas.esm.js", @@ -236,12 +236,12 @@ ] }, "src/components/AboutPage.vue": { - "file": "assets/AboutPage.bd120ed9.js", + "file": "assets/AboutPage.3230d0ed.js", "src": "src/components/AboutPage.vue", "isDynamicEntry": true, "imports": [ "index.html", - "_AppLogo.b9281a45.js" + "_AppLogo.f38aeaa0.js" ] }, "node_modules/html2canvas/dist/html2canvas.esm.js": { @@ -255,14 +255,14 @@ "isDynamicEntry": true }, "node_modules/canvg/lib/index.es.js": { - "file": "assets/index.es.b25ab2e4.js", + "file": "assets/index.es.ce03073c.js", "src": "node_modules/canvg/lib/index.es.js", "isDynamicEntry": true, "imports": [ "index.html", - "_ExportPage.b61e55f4.js", - "_VisCanvas.7166f806.js", - "_LoadingSpinner.c480820c.js" + "_ExportPage.3bd7843c.js", + "_VisCanvas.4e4e5723.js", + "_LoadingSpinner.26780557.js" ] } } \ No newline at end of file diff --git a/old-files/0.tar b/old-files/0.tar index cd0f88ff8..b11a7e1b0 100644 Binary files a/old-files/0.tar and b/old-files/0.tar differ diff --git a/old-files/1.tar b/old-files/1.tar index 0bb17712e..cd0f88ff8 100644 Binary files a/old-files/1.tar and b/old-files/1.tar differ diff --git a/old-files/2.tar b/old-files/2.tar index fca76d9a5..0bb17712e 100644 Binary files a/old-files/2.tar and b/old-files/2.tar differ diff --git a/old-files/3.tar b/old-files/3.tar index 0f96e94b7..fca76d9a5 100644 Binary files a/old-files/3.tar and b/old-files/3.tar differ diff --git a/old-files/4.tar b/old-files/4.tar index 140545e99..0f96e94b7 100644 Binary files a/old-files/4.tar and b/old-files/4.tar differ diff --git a/old-files/5.tar b/old-files/5.tar index ca6065db5..140545e99 100644 Binary files a/old-files/5.tar and b/old-files/5.tar differ diff --git a/old-files/6.tar b/old-files/6.tar index 88b6a71f0..ca6065db5 100644 Binary files a/old-files/6.tar and b/old-files/6.tar differ diff --git a/old-files/7.tar b/old-files/7.tar index 7ecce87b3..88b6a71f0 100644 Binary files a/old-files/7.tar and b/old-files/7.tar differ diff --git a/old-files/8.tar b/old-files/8.tar index 02c028c06..7ecce87b3 100644 Binary files a/old-files/8.tar and b/old-files/8.tar differ diff --git a/old-files/9.tar b/old-files/9.tar index 1005d3446..02c028c06 100644 Binary files a/old-files/9.tar and b/old-files/9.tar differ diff --git a/service-worker.js b/service-worker.js index 7b0a9c8c1..fc6e47777 100644 --- a/service-worker.js +++ b/service-worker.js @@ -1 +1 @@ -function i(){const t="a09930dc7c042289ef1ac83efdfe78e5475bf2d4",n=["./img/icons/android-chrome-144x144.png","./img/icons/android-chrome-192x192.png","./img/icons/android-chrome-256x256.png","./img/icons/android-chrome-36x36.png","./img/icons/android-chrome-384x384.png","./img/icons/android-chrome-48x48.png","./img/icons/android-chrome-512x512.png","./img/icons/android-chrome-72x72.png","./img/icons/android-chrome-96x96.png","./img/icons/apple-touch-icon-114x114-precomposed.png","./img/icons/apple-touch-icon-114x114.png","./img/icons/apple-touch-icon-120x120-precomposed.png","./img/icons/apple-touch-icon-120x120.png","./img/icons/apple-touch-icon-144x144-precomposed.png","./img/icons/apple-touch-icon-144x144.png","./img/icons/apple-touch-icon-152x152-precomposed.png","./img/icons/apple-touch-icon-152x152.png","./img/icons/apple-touch-icon-180x180-precomposed.png","./img/icons/apple-touch-icon-180x180.png","./img/icons/apple-touch-icon-57x57-precomposed.png","./img/icons/apple-touch-icon-57x57.png","./img/icons/apple-touch-icon-60x60-precomposed.png","./img/icons/apple-touch-icon-60x60.png","./img/icons/apple-touch-icon-72x72-precomposed.png","./img/icons/apple-touch-icon-72x72.png","./img/icons/apple-touch-icon-76x76-precomposed.png","./img/icons/apple-touch-icon-76x76.png","./img/icons/apple-touch-icon-precomposed.png","./img/icons/apple-touch-icon.png","./img/icons/favicon-16x16.png","./img/icons/favicon-194x194.png","./img/icons/favicon-32x32.png","./img/icons/msapplication-icon-144x144.png","./img/icons/mstile-144x144.png","./img/icons/mstile-150x150.png","./img/icons/mstile-310x150.png","./img/icons/mstile-310x310.png","./img/icons/mstile-70x70.png","./img/icons/safari-pinned-tab.svg","./assets/AboutPage.bd120ed9.js","./assets/AppLogo.6d8d8d84.css","./assets/AppLogo.b9281a45.js","./assets/CanvasPage.e36fc8a1.css","./assets/CanvasPage.f9ee0d59.js","./assets/ExportPage.b61e55f4.js","./assets/HomePage.0a652e26.js","./assets/HomePage.9bcd2a56.css","./assets/LoadingSpinner.c480820c.js","./assets/LoadingSpinner.ed9fa969.css","./assets/MininetSettingsPage.8f895f0b.js","./assets/SourceCodePro-Black.78adec30.otf","./assets/SourceCodePro-Black.b6fd3044.ttf","./assets/SourceCodePro-Black.otf.48d3f4a8.woff","./assets/SourceCodePro-Black.ttf.3e736f0a.woff2","./assets/SourceCodePro-BlackIt.1b72bb24.ttf","./assets/SourceCodePro-BlackIt.1f6d7d30.otf","./assets/SourceCodePro-BlackIt.otf.ccedbc88.woff","./assets/SourceCodePro-BlackIt.ttf.57f82be8.woff2","./assets/SourceCodePro-Bold.a937c811.ttf","./assets/SourceCodePro-Bold.e4fd6f81.otf","./assets/SourceCodePro-Bold.otf.59f08936.woff","./assets/SourceCodePro-Bold.ttf.d79c8ffb.woff2","./assets/SourceCodePro-BoldIt.b1921694.ttf","./assets/SourceCodePro-BoldIt.f134303d.otf","./assets/SourceCodePro-BoldIt.otf.64b77d29.woff","./assets/SourceCodePro-BoldIt.ttf.ce48b0bf.woff2","./assets/SourceCodePro-ExtraLight.c5b2acd8.ttf","./assets/SourceCodePro-ExtraLight.d945e1c8.otf","./assets/SourceCodePro-ExtraLight.otf.38ac4925.woff","./assets/SourceCodePro-ExtraLight.ttf.a721e8af.woff2","./assets/SourceCodePro-ExtraLightIt.35d2a1c9.otf","./assets/SourceCodePro-ExtraLightIt.ce0855c8.ttf","./assets/SourceCodePro-ExtraLightIt.otf.094f6432.woff","./assets/SourceCodePro-ExtraLightIt.ttf.d17ee55a.woff2","./assets/SourceCodePro-It.8529f2df.ttf","./assets/SourceCodePro-It.96e5bcad.otf","./assets/SourceCodePro-It.otf.3b78fac1.woff","./assets/SourceCodePro-It.ttf.fc8b9304.woff2","./assets/SourceCodePro-Light.388b23a4.ttf","./assets/SourceCodePro-Light.aef089e5.otf","./assets/SourceCodePro-Light.otf.2c828b05.woff","./assets/SourceCodePro-Light.ttf.e45aa00a.woff2","./assets/SourceCodePro-LightIt.45e87186.otf","./assets/SourceCodePro-LightIt.7f287fab.ttf","./assets/SourceCodePro-LightIt.otf.f4b3c9fb.woff","./assets/SourceCodePro-LightIt.ttf.86f23306.woff2","./assets/SourceCodePro-Medium.6a1564c7.ttf","./assets/SourceCodePro-Medium.cf5676ad.otf","./assets/SourceCodePro-Medium.otf.d9930c7f.woff","./assets/SourceCodePro-Medium.ttf.ae45fa9b.woff2","./assets/SourceCodePro-MediumIt.52ff4c7a.ttf","./assets/SourceCodePro-MediumIt.f223d8e7.otf","./assets/SourceCodePro-MediumIt.otf.f52c4c82.woff","./assets/SourceCodePro-MediumIt.ttf.d2f34be4.woff2","./assets/SourceCodePro-Regular.39a2bb56.otf","./assets/SourceCodePro-Regular.f144137f.ttf","./assets/SourceCodePro-Regular.otf.fd20b53b.woff","./assets/SourceCodePro-Regular.ttf.8badfe75.woff2","./assets/SourceCodePro-Semibold.1b61c980.ttf","./assets/SourceCodePro-Semibold.f7ed89f0.otf","./assets/SourceCodePro-Semibold.otf.4aa54455.woff","./assets/SourceCodePro-Semibold.ttf.aa29a496.woff2","./assets/SourceCodePro-SemiboldIt.3919a7ea.ttf","./assets/SourceCodePro-SemiboldIt.87f4b522.otf","./assets/SourceCodePro-SemiboldIt.otf.35fcc3a5.woff","./assets/SourceCodePro-SemiboldIt.ttf.f5a9d2b3.woff2","./assets/SourceSansPro-Black.024579a9.otf","./assets/SourceSansPro-Black.3455951a.ttf","./assets/SourceSansPro-Black.otf.8712d8ad.woff","./assets/SourceSansPro-Black.ttf.c1235fd6.woff2","./assets/SourceSansPro-BlackIt.d21f1ddb.otf","./assets/SourceSansPro-BlackIt.e43efb0c.ttf","./assets/SourceSansPro-BlackIt.otf.68feb4cf.woff","./assets/SourceSansPro-BlackIt.ttf.5d171173.woff2","./assets/SourceSansPro-Bold.471d4577.ttf","./assets/SourceSansPro-Bold.daccddbe.otf","./assets/SourceSansPro-Bold.otf.626b0380.woff","./assets/SourceSansPro-Bold.ttf.01ea2e84.woff2","./assets/SourceSansPro-BoldIt.2f7e5767.ttf","./assets/SourceSansPro-BoldIt.8449c888.otf","./assets/SourceSansPro-BoldIt.otf.a5375741.woff","./assets/SourceSansPro-BoldIt.ttf.44726a51.woff2","./assets/SourceSansPro-ExtraLight.02337f01.otf","./assets/SourceSansPro-ExtraLight.2b20d9e0.ttf","./assets/SourceSansPro-ExtraLight.otf.16f073eb.woff","./assets/SourceSansPro-ExtraLight.ttf.8a7da3df.woff2","./assets/SourceSansPro-ExtraLightIt.1b49f890.otf","./assets/SourceSansPro-ExtraLightIt.76f5d6c7.ttf","./assets/SourceSansPro-ExtraLightIt.otf.d551ab95.woff","./assets/SourceSansPro-ExtraLightIt.ttf.6e71251f.woff2","./assets/SourceSansPro-It.d38e0d70.otf","./assets/SourceSansPro-It.e487c1ba.ttf","./assets/SourceSansPro-It.otf.cf3db43a.woff","./assets/SourceSansPro-It.ttf.c9329301.woff2","./assets/SourceSansPro-Light.4fae5ee1.otf","./assets/SourceSansPro-Light.ea159f15.ttf","./assets/SourceSansPro-Light.otf.ca8a70d5.woff","./assets/SourceSansPro-Light.ttf.324d48e4.woff2","./assets/SourceSansPro-LightIt.373e4c1e.otf","./assets/SourceSansPro-LightIt.e1b7b313.ttf","./assets/SourceSansPro-LightIt.otf.2d9b7782.woff","./assets/SourceSansPro-LightIt.ttf.85c4f924.woff2","./assets/SourceSansPro-Regular.30e35dda.ttf","./assets/SourceSansPro-Regular.7134d229.otf","./assets/SourceSansPro-Regular.otf.44f549a6.woff","./assets/SourceSansPro-Regular.ttf.d3f2a7c1.woff2","./assets/SourceSansPro-Semibold.91598812.ttf","./assets/SourceSansPro-Semibold.aa53ed4f.otf","./assets/SourceSansPro-Semibold.otf.f6eb89de.woff","./assets/SourceSansPro-Semibold.ttf.2fbf1609.woff2","./assets/SourceSansPro-SemiboldIt.1e25b06a.ttf","./assets/SourceSansPro-SemiboldIt.cdeddc76.otf","./assets/SourceSansPro-SemiboldIt.otf.8a1ecf12.woff","./assets/SourceSansPro-SemiboldIt.ttf.a2b0359d.woff2","./assets/ThreeStateCheckbox.5c839bd0.js","./assets/TopologyToolbar.1311a813.js","./assets/VisCanvas.4280c84c.css","./assets/VisCanvas.7166f806.js","./assets/app.e3a2e85d.css","./assets/controller.dark.660cbe05.svg","./assets/controller.light.f7ee0c3f.svg","./assets/host.dark.df6e0427.svg","./assets/host.light.e18b99ec.svg","./assets/html2canvas.esm.0eae2bf4.js","./assets/icon.3c9c2f0c.svg","./assets/index.es.b25ab2e4.js","./assets/materialdesignicons-webfont.0b183104.eot","./assets/materialdesignicons-webfont.61e8aba5.ttf","./assets/materialdesignicons-webfont.662fefa8.woff2","./assets/materialdesignicons-webfont.a5928a0d.woff","./assets/port.dark.2a082b18.svg","./assets/port.light.52cb350a.svg","./assets/purify.es.0f2e43f6.js","./assets/switch.dark.597c2e45.svg","./assets/switch.light.bd72a59e.svg","./assets/js/app-479e8ca6.js"];self.addEventListener("install",e=>{console.info("[Service Worker] Install"),e.waitUntil((async()=>{const r=await caches.open(t);console.info("[Service Worker] Caching"),await r.addAll(n),console.info("[Service Worker] Cached")})())}),self.addEventListener("activate",e=>{e.waitUntil((async()=>{await Promise.all((await caches.keys()).filter(r=>r!==t).map(r=>caches.delete(r)))})())}),self.addEventListener("fetch",e=>{!(e.request.url.startsWith("http:")||e.request.url.startsWith("https:"))||e.respondWith((async()=>{const r=new URL(e.request.url);r.hash="";const c=await caches.open(t),a=await c.match(r);if(console.info(`[Service Worker] Fetching resource: ${r.href} from ${e.request.url}`),a)return a;const s=await fetch(e.request);return console.info(`[Service Worker] Caching new resource: ${r.href} from ${e.request.url}`),c.put(r,s.clone()),s})())})}i(); +function i(){const t="780d447aaffee10eedf63dad38f28208b51ca508",n=["./img/icons/android-chrome-144x144.png","./img/icons/android-chrome-192x192.png","./img/icons/android-chrome-256x256.png","./img/icons/android-chrome-36x36.png","./img/icons/android-chrome-384x384.png","./img/icons/android-chrome-48x48.png","./img/icons/android-chrome-512x512.png","./img/icons/android-chrome-72x72.png","./img/icons/android-chrome-96x96.png","./img/icons/apple-touch-icon-114x114-precomposed.png","./img/icons/apple-touch-icon-114x114.png","./img/icons/apple-touch-icon-120x120-precomposed.png","./img/icons/apple-touch-icon-120x120.png","./img/icons/apple-touch-icon-144x144-precomposed.png","./img/icons/apple-touch-icon-144x144.png","./img/icons/apple-touch-icon-152x152-precomposed.png","./img/icons/apple-touch-icon-152x152.png","./img/icons/apple-touch-icon-180x180-precomposed.png","./img/icons/apple-touch-icon-180x180.png","./img/icons/apple-touch-icon-57x57-precomposed.png","./img/icons/apple-touch-icon-57x57.png","./img/icons/apple-touch-icon-60x60-precomposed.png","./img/icons/apple-touch-icon-60x60.png","./img/icons/apple-touch-icon-72x72-precomposed.png","./img/icons/apple-touch-icon-72x72.png","./img/icons/apple-touch-icon-76x76-precomposed.png","./img/icons/apple-touch-icon-76x76.png","./img/icons/apple-touch-icon-precomposed.png","./img/icons/apple-touch-icon.png","./img/icons/favicon-16x16.png","./img/icons/favicon-194x194.png","./img/icons/favicon-32x32.png","./img/icons/msapplication-icon-144x144.png","./img/icons/mstile-144x144.png","./img/icons/mstile-150x150.png","./img/icons/mstile-310x150.png","./img/icons/mstile-310x310.png","./img/icons/mstile-70x70.png","./img/icons/safari-pinned-tab.svg","./assets/AboutPage.3230d0ed.js","./assets/AppLogo.6d8d8d84.css","./assets/AppLogo.f38aeaa0.js","./assets/CanvasPage.e36fc8a1.css","./assets/CanvasPage.f9e60b2a.js","./assets/ExportPage.3bd7843c.js","./assets/HomePage.5e32082e.js","./assets/HomePage.9bcd2a56.css","./assets/LoadingSpinner.26780557.js","./assets/LoadingSpinner.ed9fa969.css","./assets/MininetSettingsPage.f6deca0c.js","./assets/SourceCodePro-Black.78adec30.otf","./assets/SourceCodePro-Black.b6fd3044.ttf","./assets/SourceCodePro-Black.otf.48d3f4a8.woff","./assets/SourceCodePro-Black.ttf.3e736f0a.woff2","./assets/SourceCodePro-BlackIt.1b72bb24.ttf","./assets/SourceCodePro-BlackIt.1f6d7d30.otf","./assets/SourceCodePro-BlackIt.otf.ccedbc88.woff","./assets/SourceCodePro-BlackIt.ttf.57f82be8.woff2","./assets/SourceCodePro-Bold.a937c811.ttf","./assets/SourceCodePro-Bold.e4fd6f81.otf","./assets/SourceCodePro-Bold.otf.59f08936.woff","./assets/SourceCodePro-Bold.ttf.d79c8ffb.woff2","./assets/SourceCodePro-BoldIt.b1921694.ttf","./assets/SourceCodePro-BoldIt.f134303d.otf","./assets/SourceCodePro-BoldIt.otf.64b77d29.woff","./assets/SourceCodePro-BoldIt.ttf.ce48b0bf.woff2","./assets/SourceCodePro-ExtraLight.c5b2acd8.ttf","./assets/SourceCodePro-ExtraLight.d945e1c8.otf","./assets/SourceCodePro-ExtraLight.otf.38ac4925.woff","./assets/SourceCodePro-ExtraLight.ttf.a721e8af.woff2","./assets/SourceCodePro-ExtraLightIt.35d2a1c9.otf","./assets/SourceCodePro-ExtraLightIt.ce0855c8.ttf","./assets/SourceCodePro-ExtraLightIt.otf.094f6432.woff","./assets/SourceCodePro-ExtraLightIt.ttf.d17ee55a.woff2","./assets/SourceCodePro-It.8529f2df.ttf","./assets/SourceCodePro-It.96e5bcad.otf","./assets/SourceCodePro-It.otf.3b78fac1.woff","./assets/SourceCodePro-It.ttf.fc8b9304.woff2","./assets/SourceCodePro-Light.388b23a4.ttf","./assets/SourceCodePro-Light.aef089e5.otf","./assets/SourceCodePro-Light.otf.2c828b05.woff","./assets/SourceCodePro-Light.ttf.e45aa00a.woff2","./assets/SourceCodePro-LightIt.45e87186.otf","./assets/SourceCodePro-LightIt.7f287fab.ttf","./assets/SourceCodePro-LightIt.otf.f4b3c9fb.woff","./assets/SourceCodePro-LightIt.ttf.86f23306.woff2","./assets/SourceCodePro-Medium.6a1564c7.ttf","./assets/SourceCodePro-Medium.cf5676ad.otf","./assets/SourceCodePro-Medium.otf.d9930c7f.woff","./assets/SourceCodePro-Medium.ttf.ae45fa9b.woff2","./assets/SourceCodePro-MediumIt.52ff4c7a.ttf","./assets/SourceCodePro-MediumIt.f223d8e7.otf","./assets/SourceCodePro-MediumIt.otf.f52c4c82.woff","./assets/SourceCodePro-MediumIt.ttf.d2f34be4.woff2","./assets/SourceCodePro-Regular.39a2bb56.otf","./assets/SourceCodePro-Regular.f144137f.ttf","./assets/SourceCodePro-Regular.otf.fd20b53b.woff","./assets/SourceCodePro-Regular.ttf.8badfe75.woff2","./assets/SourceCodePro-Semibold.1b61c980.ttf","./assets/SourceCodePro-Semibold.f7ed89f0.otf","./assets/SourceCodePro-Semibold.otf.4aa54455.woff","./assets/SourceCodePro-Semibold.ttf.aa29a496.woff2","./assets/SourceCodePro-SemiboldIt.3919a7ea.ttf","./assets/SourceCodePro-SemiboldIt.87f4b522.otf","./assets/SourceCodePro-SemiboldIt.otf.35fcc3a5.woff","./assets/SourceCodePro-SemiboldIt.ttf.f5a9d2b3.woff2","./assets/SourceSansPro-Black.024579a9.otf","./assets/SourceSansPro-Black.3455951a.ttf","./assets/SourceSansPro-Black.otf.8712d8ad.woff","./assets/SourceSansPro-Black.ttf.c1235fd6.woff2","./assets/SourceSansPro-BlackIt.d21f1ddb.otf","./assets/SourceSansPro-BlackIt.e43efb0c.ttf","./assets/SourceSansPro-BlackIt.otf.68feb4cf.woff","./assets/SourceSansPro-BlackIt.ttf.5d171173.woff2","./assets/SourceSansPro-Bold.471d4577.ttf","./assets/SourceSansPro-Bold.daccddbe.otf","./assets/SourceSansPro-Bold.otf.626b0380.woff","./assets/SourceSansPro-Bold.ttf.01ea2e84.woff2","./assets/SourceSansPro-BoldIt.2f7e5767.ttf","./assets/SourceSansPro-BoldIt.8449c888.otf","./assets/SourceSansPro-BoldIt.otf.a5375741.woff","./assets/SourceSansPro-BoldIt.ttf.44726a51.woff2","./assets/SourceSansPro-ExtraLight.02337f01.otf","./assets/SourceSansPro-ExtraLight.2b20d9e0.ttf","./assets/SourceSansPro-ExtraLight.otf.16f073eb.woff","./assets/SourceSansPro-ExtraLight.ttf.8a7da3df.woff2","./assets/SourceSansPro-ExtraLightIt.1b49f890.otf","./assets/SourceSansPro-ExtraLightIt.76f5d6c7.ttf","./assets/SourceSansPro-ExtraLightIt.otf.d551ab95.woff","./assets/SourceSansPro-ExtraLightIt.ttf.6e71251f.woff2","./assets/SourceSansPro-It.d38e0d70.otf","./assets/SourceSansPro-It.e487c1ba.ttf","./assets/SourceSansPro-It.otf.cf3db43a.woff","./assets/SourceSansPro-It.ttf.c9329301.woff2","./assets/SourceSansPro-Light.4fae5ee1.otf","./assets/SourceSansPro-Light.ea159f15.ttf","./assets/SourceSansPro-Light.otf.ca8a70d5.woff","./assets/SourceSansPro-Light.ttf.324d48e4.woff2","./assets/SourceSansPro-LightIt.373e4c1e.otf","./assets/SourceSansPro-LightIt.e1b7b313.ttf","./assets/SourceSansPro-LightIt.otf.2d9b7782.woff","./assets/SourceSansPro-LightIt.ttf.85c4f924.woff2","./assets/SourceSansPro-Regular.30e35dda.ttf","./assets/SourceSansPro-Regular.7134d229.otf","./assets/SourceSansPro-Regular.otf.44f549a6.woff","./assets/SourceSansPro-Regular.ttf.d3f2a7c1.woff2","./assets/SourceSansPro-Semibold.91598812.ttf","./assets/SourceSansPro-Semibold.aa53ed4f.otf","./assets/SourceSansPro-Semibold.otf.f6eb89de.woff","./assets/SourceSansPro-Semibold.ttf.2fbf1609.woff2","./assets/SourceSansPro-SemiboldIt.1e25b06a.ttf","./assets/SourceSansPro-SemiboldIt.cdeddc76.otf","./assets/SourceSansPro-SemiboldIt.otf.8a1ecf12.woff","./assets/SourceSansPro-SemiboldIt.ttf.a2b0359d.woff2","./assets/ThreeStateCheckbox.0f3214e2.js","./assets/TopologyToolbar.6a647b38.js","./assets/VisCanvas.4280c84c.css","./assets/VisCanvas.4e4e5723.js","./assets/app.e3a2e85d.css","./assets/controller.dark.660cbe05.svg","./assets/controller.light.f7ee0c3f.svg","./assets/host.dark.df6e0427.svg","./assets/host.light.e18b99ec.svg","./assets/html2canvas.esm.0eae2bf4.js","./assets/icon.3c9c2f0c.svg","./assets/index.es.ce03073c.js","./assets/materialdesignicons-webfont.0b183104.eot","./assets/materialdesignicons-webfont.61e8aba5.ttf","./assets/materialdesignicons-webfont.662fefa8.woff2","./assets/materialdesignicons-webfont.a5928a0d.woff","./assets/port.dark.2a082b18.svg","./assets/port.light.52cb350a.svg","./assets/purify.es.0f2e43f6.js","./assets/switch.dark.597c2e45.svg","./assets/switch.light.bd72a59e.svg","./assets/js/app-4881d322.js"];self.addEventListener("install",e=>{console.info("[Service Worker] Install"),e.waitUntil((async()=>{const r=await caches.open(t);console.info("[Service Worker] Caching"),await r.addAll(n),console.info("[Service Worker] Cached")})())}),self.addEventListener("activate",e=>{e.waitUntil((async()=>{await Promise.all((await caches.keys()).filter(r=>r!==t).map(r=>caches.delete(r)))})())}),self.addEventListener("fetch",e=>{!(e.request.url.startsWith("http:")||e.request.url.startsWith("https:"))||e.respondWith((async()=>{const r=new URL(e.request.url);r.hash="";const c=await caches.open(t),a=await c.match(r);if(console.info(`[Service Worker] Fetching resource: ${r.href} from ${e.request.url}`),a)return a;const s=await fetch(e.request);return console.info(`[Service Worker] Caching new resource: ${r.href} from ${e.request.url}`),c.put(r,s.clone()),s})())})}i();