{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/components/RegionPanel.vue?c162","webpack:///./src/components/StatusMap.vue?8077","webpack:///./src/components/StatusChart.vue?2533","webpack:///./src/components/Card.vue?9152","webpack:///./src/components/StatusChart.vue?65cc","webpack:///./src/components/Banner.vue?52ba","webpack:///./src/App.vue","webpack:///./src/components/StatusMap.vue","webpack:///src/components/StatusMap.vue","webpack:///./src/components/StatusMap.vue?6a19","webpack:///./src/components/StatusMap.vue?7d1c","webpack:///./src/components/GlobalPanel.vue","webpack:///./src/components/Card.vue","webpack:///./src/components/Card.vue?4322","webpack:///./src/components/Saas.vue","webpack:///src/components/Saas.vue","webpack:///./src/components/Saas.vue?949d","webpack:///./src/components/Saas.vue?f6bf","webpack:///src/components/GlobalPanel.vue","webpack:///./src/components/GlobalPanel.vue?24ff","webpack:///./src/components/GlobalPanel.vue?1c2f","webpack:///./src/components/RegionPanel.vue","webpack:///./src/components/StatusChart.vue","webpack:///src/components/StatusChart.vue","webpack:///./src/components/StatusChart.vue?ea03","webpack:///./src/components/StatusChart.vue?7124","webpack:///src/components/RegionPanel.vue","webpack:///./src/components/RegionPanel.vue?886a","webpack:///./src/components/RegionPanel.vue?415a","webpack:///./src/components/Banner.vue","webpack:///src/components/Banner.vue","webpack:///./src/components/Banner.vue?3de2","webpack:///./src/components/Banner.vue?2ae2","webpack:///src/App.vue","webpack:///./src/App.vue?60d0","webpack:///./src/App.vue?315a","webpack:///./src/store.js","webpack:///./src/main.js","webpack:///./src/components/Banner.vue?fbb4","webpack:///./src/App.vue?a2e7","webpack:///./src/components/Banner.vue?f7bd","webpack:///./src/components/Card.vue?6f37","webpack:///./src/components/RegionPanel.vue?e53f","webpack:///./src/App.vue?a763","webpack:///./src/components/StatusChart.vue?0dc6","webpack:///./src/App.vue?911f","webpack:///./src/components/StatusMap.vue?0bd3","webpack:///./src/components/Card.vue?384f","webpack:///./src/components/RegionPanel.vue?24be","webpack:///./src/components/StatusMap.vue?9c43"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","content","default","locals","add","___CSS_LOADER_API_IMPORT___","render","_vm","this","_c","_self","staticClass","attrs","errors","style","column_count","regions","_l","panels","region","staticRenderFns","pos","statusColor","_v","_s","location","_e","props","component","scopedSlots","_u","fn","staticStyle","deltaMs","up","on","saasClicks","proxy","reqcount","pingColor","avgtime","errorColor","errrate","errcount","lastrun","_t","script","saas","directives","rawName","delta","expression","modifiers","domProps","$event","_n","target","$forceUpdate","components","FontAwesomeIcon","methods","computed","mapState","set","library","faCheckCircle","faCloud","faTimesCircle","faAngleUp","faAngleDown","farDotCircle","faCircle","farCircle","farClock","faInfoCircle","Saas","Card","clicks","overall","mapMutations","update","mapGetters","storeOverall","mounted","setInterval","JSON","stringify","k","v","undefined","saasColor","status","statusIcon","health","planned","toggle","class","expanded","history","version","avgTime","errRate","ready","clientWidth","dpr","height","fontSize","reqText","avgText","startTime","endTime","dataWidth","xScale","barHeight","normalized","e","x","ya","color","yr","cfill","txt","type","responseTarget","onResize","top","formatTime","hour","minute","formatBarTime","second","now","fill","map","time","reverse","firstVisible","ret","tooltip","reqTop","filter","avgTop","created","faWrench","faClock","faQuestionCircle","faBrush","StatusChart","setTimeout","watch","localStorage","banners","banner","title","text","ping","rate","timeStyle","events","types","StatusMap","GlobalPanel","RegionPanel","Banner","mapActions","errstats","_","Vue","use","Vuex","localRegions","minDeltaMs","defaultDeltaMs","defaultCapacity","traffic","red","yellow","green","reversed","xs","ys","hue","reduce","sum","xj","prod","xk","Math","round","parse","getItem","Date","trunc","Store","state","init","update_pump","apiUrl","capacity","actions","Init","dispatch","clearInterval","target_time","trim","wait","Promise","resolve","Regions","commit","axios","all","Current","History","missing","checks","Array","from","keys","log2","forEach","post","DeltaMs","mutations","Save","earliest","setItem","entries","Trim","sort","max","delete","obj","stats","intstats","find","elem","startsWith","down","latency","maintenance","e2color","CountUp","CountDown","AvgLatency","LastStatus","E2Color","toLowerCase","date","Capacity","getters","config","productionTip","store","h","App","$mount"],"mappings":"aACE,SAASA,EAAqBC,GAQ7B,IAPA,IAMIC,EAAUC,EANVC,EAAWH,EAAK,GAChBI,EAAcJ,EAAK,GACnBK,EAAiBL,EAAK,GAIHM,EAAI,EAAGC,EAAW,GACpCD,EAAIH,EAASK,OAAQF,IACzBJ,EAAUC,EAASG,GAChBG,OAAOC,UAAUC,eAAeC,KAAKC,EAAiBX,IAAYW,EAAgBX,IACpFK,EAASO,KAAKD,EAAgBX,GAAS,IAExCW,EAAgBX,GAAW,EAE5B,IAAID,KAAYG,EACZK,OAAOC,UAAUC,eAAeC,KAAKR,EAAaH,KACpDc,EAAQd,GAAYG,EAAYH,IAG/Be,GAAqBA,EAAoBhB,GAE5C,MAAMO,EAASC,OACdD,EAASU,OAATV,GAOD,OAHAW,EAAgBJ,KAAKK,MAAMD,EAAiBb,GAAkB,IAGvDe,IAER,SAASA,IAER,IADA,IAAIC,EACIf,EAAI,EAAGA,EAAIY,EAAgBV,OAAQF,IAAK,CAG/C,IAFA,IAAIgB,EAAiBJ,EAAgBZ,GACjCiB,GAAY,EACRC,EAAI,EAAGA,EAAIF,EAAed,OAAQgB,IAAK,CAC9C,IAAIC,EAAQH,EAAeE,GACG,IAA3BX,EAAgBY,KAAcF,GAAY,GAE3CA,IACFL,EAAgBQ,OAAOpB,IAAK,GAC5Be,EAASM,EAAoBA,EAAoBC,EAAIN,EAAe,KAItE,OAAOD,EAIR,IAAIQ,EAAmB,GAKnBhB,EAAkB,CACrB,IAAO,GAGJK,EAAkB,GAGtB,SAASS,EAAoB1B,GAG5B,GAAG4B,EAAiB5B,GACnB,OAAO4B,EAAiB5B,GAAU6B,QAGnC,IAAIC,EAASF,EAAiB5B,GAAY,CACzCK,EAAGL,EACH+B,GAAG,EACHF,QAAS,IAUV,OANAf,EAAQd,GAAUW,KAAKmB,EAAOD,QAASC,EAAQA,EAAOD,QAASH,GAG/DI,EAAOC,GAAI,EAGJD,EAAOD,QAKfH,EAAoBM,EAAIlB,EAGxBY,EAAoBO,EAAIL,EAGxBF,EAAoBQ,EAAI,SAASL,EAASM,EAAMC,GAC3CV,EAAoBW,EAAER,EAASM,IAClC3B,OAAO8B,eAAeT,EAASM,EAAM,CAAEI,YAAY,EAAMC,IAAKJ,KAKhEV,EAAoBe,EAAI,SAASZ,GACX,qBAAXa,QAA0BA,OAAOC,aAC1CnC,OAAO8B,eAAeT,EAASa,OAAOC,YAAa,CAAEC,MAAO,WAE7DpC,OAAO8B,eAAeT,EAAS,aAAc,CAAEe,OAAO,KAQvDlB,EAAoBmB,EAAI,SAASD,EAAOE,GAEvC,GADU,EAAPA,IAAUF,EAAQlB,EAAoBkB,IAC/B,EAAPE,EAAU,OAAOF,EACpB,GAAW,EAAPE,GAA8B,kBAAVF,GAAsBA,GAASA,EAAMG,WAAY,OAAOH,EAChF,IAAII,EAAKxC,OAAOyC,OAAO,MAGvB,GAFAvB,EAAoBe,EAAEO,GACtBxC,OAAO8B,eAAeU,EAAI,UAAW,CAAET,YAAY,EAAMK,MAAOA,IACtD,EAAPE,GAA4B,iBAATF,EAAmB,IAAI,IAAIM,KAAON,EAAOlB,EAAoBQ,EAAEc,EAAIE,EAAK,SAASA,GAAO,OAAON,EAAMM,IAAQC,KAAK,KAAMD,IAC9I,OAAOF,GAIRtB,EAAoB0B,EAAI,SAAStB,GAChC,IAAIM,EAASN,GAAUA,EAAOiB,WAC7B,WAAwB,OAAOjB,EAAO,YACtC,WAA8B,OAAOA,GAEtC,OADAJ,EAAoBQ,EAAEE,EAAQ,IAAKA,GAC5BA,GAIRV,EAAoBW,EAAI,SAASgB,EAAQC,GAAY,OAAO9C,OAAOC,UAAUC,eAAeC,KAAK0C,EAAQC,IAGzG5B,EAAoB6B,EAAI,mBAExB,IAAIC,EAAaC,OAAO,gBAAkBA,OAAO,iBAAmB,GAChEC,EAAmBF,EAAW3C,KAAKsC,KAAKK,GAC5CA,EAAW3C,KAAOf,EAClB0D,EAAaA,EAAWG,QACxB,IAAI,IAAItD,EAAI,EAAGA,EAAImD,EAAWjD,OAAQF,IAAKP,EAAqB0D,EAAWnD,IAC3E,IAAIU,EAAsB2C,EAI1BzC,EAAgBJ,KAAK,CAAC,EAAE,kBAEjBM,K,gECpJT,IAAIyC,EAAU,EAAQ,QACnBA,EAAQb,aAAYa,EAAUA,EAAQC,SACnB,kBAAZD,IAAsBA,EAAU,CAAC,CAAC9B,EAAOzB,EAAIuD,EAAS,MAC7DA,EAAQE,SAAQhC,EAAOD,QAAU+B,EAAQE,QAE5C,IAAIC,EAAM,EAAQ,QAA+DF,QACpEE,EAAI,WAAYH,GAAS,EAAM,CAAC,WAAY,EAAM,YAAa,K,uBCR5E,IAAII,EAA8B,EAAQ,QAC1CnC,EAAUmC,GAA4B,GAEtCnC,EAAQhB,KAAK,CAACiB,EAAOzB,EAAI,mHAAoH,KAE7IyB,EAAOD,QAAUA,G,uBCHjB,IAAI+B,EAAU,EAAQ,QACnBA,EAAQb,aAAYa,EAAUA,EAAQC,SACnB,kBAAZD,IAAsBA,EAAU,CAAC,CAAC9B,EAAOzB,EAAIuD,EAAS,MAC7DA,EAAQE,SAAQhC,EAAOD,QAAU+B,EAAQE,QAE5C,IAAIC,EAAM,EAAQ,QAA+DF,QACpEE,EAAI,WAAYH,GAAS,EAAM,CAAC,WAAY,EAAM,YAAa,K,kCCT5E,W,oCCAA,W,kCCAA,W,mGCAIK,EAAS,WAAkB,IAAIC,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACE,YAAY,YAAYC,MAAM,CAAC,GAAK,kBAAkB,CAACH,EAAG,SAAS,CAACG,MAAM,CAAC,OAASL,EAAIM,UAAUJ,EAAG,MAAM,CAACE,YAAY,MAAMG,MAAO,CAAC,eAAgBP,EAAIQ,eAAgB,CAACN,EAAG,MAAM,CAACE,YAAY,OAAO,CAACF,EAAG,YAAY,CAACG,MAAM,CAAC,QAAUL,EAAIS,YAAY,GAAGP,EAAG,MAAM,CAACE,YAAY,OAAO,CAACF,EAAG,gBAAgB,KAAKA,EAAG,MAAM,CAACE,YAAY,MAAMG,MAAO,CAAC,eAAgBP,EAAIQ,eAAgBR,EAAIU,GAAIV,EAAIW,QAAQ,SAASC,GAAQ,OAAOV,EAAG,MAAM,CAACE,YAAY,OAAO,CAACF,EAAG,cAAc,CAAClB,IAAI4B,EAAO5B,IAAIqB,MAAM,CAAC,OAASO,MAAW,MAAK,IAAI,IAEnlBC,EAAkB,G,gDCFlBd,G,4DAAS,WAAkB,IAAIC,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACA,EAAG,MAAM,CAACG,MAAM,CAAC,MAAQ,6BAA6B,QAAU,iBAAiB,CAACH,EAAG,QAAQ,CAACG,MAAM,CAAC,MAAQ,OAAO,OAAS,MAAM,KAAO,87pBAA87pBL,EAAIU,GAAIV,EAAIS,SAAS,SAASG,GAAQ,OAAOV,EAAG,IAAI,CAAClB,IAAI4B,EAAO5B,IAAIqB,MAAM,CAAC,KAAO,IAAIO,EAAO5B,MAAM,CAAE4B,EAAOE,IAAKZ,EAAG,OAAO,CAACG,MAAM,CAAC,KAAOO,EAAOG,YAAY,EAAG,WAAKH,EAAOE,IAAG,yOAAwO,CAACZ,EAAG,QAAQ,CAACF,EAAIgB,GAAGhB,EAAIiB,GAAGL,EAAOM,eAAelB,EAAImB,WAAU,OAEvmrBN,EAAkB,GCQP,GAAfO,OAAAX,aCVmV,I,wBCQ/UY,EAAY,eACd,EACA,EACA,GACA,EACA,KACA,WACA,MAIa,EAAAA,E,QCnBXtB,EAAS,WAAkB,IAAIC,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,OAAO,CAACoB,YAAYtB,EAAIuB,GAAG,CAAC,CAACvC,IAAI,SAASwC,GAAG,WAAW,MAAO,CAACtB,EAAG,MAAM,CAACE,YAAY,QAAQ,CAACF,EAAG,MAAM,CAACE,YAAY,SAAS,CAACF,EAAG,SAAS,CAACF,EAAIgB,GAAG,uBAAuBd,EAAG,MAAM,CAACE,YAAY,QAAQqB,YAAY,CAAC,YAAY,SAAS,CAACzB,EAAIgB,GAAG,kEAAkEhB,EAAIiB,GAAGjB,EAAI0B,QAAU,KAAM,iBAAiBxB,EAAG,MAAM,CAACE,YAAY,UAAUC,MAAM,CAAC,MAAQL,EAAI2B,IAAIC,GAAG,CAAC,UAAY5B,EAAI6B,aAAa,CAAC3B,EAAG,kBAAkB,CAACE,YAAY,QAAQC,MAAM,CAAC,KAAO,QAAQ,MAAQL,EAAIe,gBAAgB,OAAOe,OAAM,MAAS,CAAC5B,EAAG,MAAM,CAACE,YAAY,SAAS,CAACF,EAAG,QAAQA,EAAG,MAAM,CAACE,YAAY,MAAMC,MAAM,CAAC,MAAQ,qDAAqD,CAACH,EAAG,kBAAkB,CAACG,MAAM,CAAC,KAAO,CAAC,MAAO,iBAAiBL,EAAIgB,GAAG,kBAAkBhB,EAAIiB,GAAGjB,EAAI+B,WAAW7B,EAAG,kBAAkB,CAACE,YAAY,OAAOC,MAAM,CAAC,KAAO,kBAAkB,GAAGH,EAAG,MAAM,CAACE,YAAY,MAAMC,MAAM,CAAC,MAAQ,yEAAyE,CAACH,EAAG,kBAAkB,CAACG,MAAM,CAAC,KAAO,SAAS,MAAQL,EAAIgC,aAAahC,EAAIgB,GAAG,2BAA2BhB,EAAIiB,GAAGjB,EAAIiC,UAAU/B,EAAG,kBAAkB,CAACE,YAAY,OAAOC,MAAM,CAAC,KAAO,kBAAkB,GAAGH,EAAG,MAAM,CAACE,YAAY,MAAMC,MAAM,CAAC,MAAQ,wEAAwE,CAACH,EAAG,kBAAkB,CAACG,MAAM,CAAC,KAAO,SAAS,MAAQL,EAAIkC,cAAclC,EAAIgB,GAAG,kBAAkBhB,EAAIiB,GAAGjB,EAAImC,UAAUjC,EAAG,kBAAkB,CAACE,YAAY,OAAOC,MAAM,CAAC,KAAO,kBAAkB,GAAGH,EAAG,MAAM,CAACE,YAAY,MAAMC,MAAM,CAAC,MAAQ,oDAAoD,CAACH,EAAG,kBAAkB,CAACG,MAAM,CAAC,KAAO,CAAC,MAAO,aAAaL,EAAIgB,GAAG,cAAchB,EAAIiB,GAAGjB,EAAIoC,WAAWlC,EAAG,kBAAkB,CAACE,YAAY,OAAOC,MAAM,CAAC,KAAO,kBAAkB,GAAGH,EAAG,MAAM,CAACE,YAAY,OAAO,CAACF,EAAG,kBAAkB,CAACG,MAAM,CAAC,KAAO,CAAC,MAAO,YAAYL,EAAIgB,GAAG,mBAAmBhB,EAAIiB,GAAGjB,EAAIqC,WAAW,IAAI,MAE/7DxB,EAAkB,GCFlBd,G,UAAS,WAAkB,IAAIC,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACE,YAAY,QAAQ,CAACF,EAAG,MAAM,CAACE,YAAY,UAAU,CAACJ,EAAIsC,GAAG,WAAW,GAAGpC,EAAG,MAAM,CAACE,YAAY,QAAQ,CAACJ,EAAIsC,GAAG,YAAY,GAAGpC,EAAG,MAAM,CAACE,YAAY,UAAU,CAACJ,EAAIsC,GAAG,WAAW,OAE5PzB,EAAkB,GCDlB0B,G,UAAS,IAMT,EAAY,eACdA,EACA,EACA,GACA,EACA,KACA,WACA,MAIa,I,QClBXxC,EAAS,WAAkB,IAAIC,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAQF,EAAIwC,KAAMtC,EAAG,MAAM,CAACA,EAAG,MAAM,CAACA,EAAG,MAAM,CAACE,YAAY,MAAMC,MAAM,CAAC,MAAQ,uEAAuE,CAACH,EAAG,OAAO,CAACF,EAAIgB,GAAG,YAAYd,EAAG,QAAQ,CAACuC,WAAW,CAAC,CAACxE,KAAK,QAAQyE,QAAQ,sBAAsBhE,MAAOsB,EAAI2C,MAAOC,WAAW,QAAQC,UAAU,CAAC,MAAO,EAAK,QAAS,KAAQxC,MAAM,CAAC,KAAO,UAAUyC,SAAS,CAAC,MAAS9C,EAAI2C,OAAQf,GAAG,CAAC,OAAS,SAASmB,GAAQ/C,EAAI2C,MAAM3C,EAAIgD,GAAGD,EAAOE,OAAOvE,QAAQ,KAAO,SAASqE,GAAQ,OAAO/C,EAAIkD,mBAAmBhD,EAAG,kBAAkB,CAACE,YAAY,OAAOC,MAAM,CAAC,KAAO,kBAAkB,OAAOL,EAAImB,MAEtoBN,EAAkB,G,wBCaP,GACf5C,YACAkF,YACAC,wBAEAC,uDACAC,0CACAC,wCACAZ,OACArE,eACA,yBAEAkF,gBACA,yBC5B8U,ICO1U,EAAY,eACd,EACA,EACA,GACA,EACA,KACA,WACA,MAIa,I,4CCqCfC,OAAQA,IACRC,OACAC,OACAC,OACAC,OACAC,OACAC,OACAC,OACAC,OACAC,OACAC,QAGe,OACflG,mBACAkF,YACAiB,OACAC,OACAjB,wBAEAvH,gBACA,OACAyI,oBACAC,aAGAlB,yCACAmB,8BACA3C,uBACA,8BACA,oBACA,uDACA,yBACA,wBAGA4C,kBACA,kCAGAnB,yDACAoB,gBAAAC,0BACApB,wCACAxC,uBAAA,QACA,6FAEAiB,qBAAA,QACA,2FAEAE,sBAAA,QACA,4FAEAD,mBAAA,UACA,gHACA,kFACA,WAEAE,mBAAA,UACA,gHACA,0FACA,WAEAR,cAAA,gBACA,OACA,sDACA,uDACA,QADA,EACA,qCAEA,gIACA,QADA,EACA,mEACA,WAEAI,oBAAA,UACA,iHACA,sDACA,WAEAK,oBAAA,UACA,iHACA,sDACA,WAEAC,mBAAA,QACA,8DACA,0EACA,aAGAuC,mBAAA,WACA,cAEAC,wBAAA,2BClJqV,ICOjV,EAAY,eACd,EACA,EACA,GACA,EACA,KACA,KACA,MAIa,I,QClBX9E,G,UAAS,WAAkB,IAAIC,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACG,MAAM,CAAC,GAAKL,EAAIY,OAAO5B,MAAM,CAACkB,EAAG,OAAO,CAACoB,YAAYtB,EAAIuB,GAAG,CAAC,CAACvC,IAAI,SAASwC,GAAG,WAAW,MAAO,CAACtB,EAAG,MAAM,CAACE,YAAY,OAAOC,MAAM,CAAC,QAAQL,EAAIwC,MAAKsC,KAAKC,UAAU/E,EAAIY,QAAQ,SAACoE,EAAGC,GAAC,MAAY,YAAND,EAAkBC,OAAIC,IAAY,KAAW,CAAElF,EAAIwC,KAAMtC,EAAG,MAAM,CAACE,YAAY,kBAAkBqB,YAAY,CAAC,eAAe,SAAS,CAACvB,EAAG,kBAAkB,CAACE,YAAY,QAAQC,MAAM,CAAC,KAAO,QAAQ,MAAQL,EAAImF,cAAc,GAAGnF,EAAImB,KAAKjB,EAAG,MAAM,CAACE,YAAY,YAAY,CAACF,EAAG,MAAM,CAACA,EAAG,SAAS,CAACF,EAAIgB,GAAGhB,EAAIiB,GAAGjB,EAAIY,OAAOM,aAAahB,EAAG,MAAMF,EAAIgB,GAAGhB,EAAIiB,GAAGjB,EAAIY,OAAO5B,KAAK,KAAKgB,EAAIiB,GAAGjB,EAAIY,OAAOwE,QAAQ,SAASlF,EAAG,MAAM,CAACE,YAAY,oBAAoB,CAACF,EAAG,MAAM,CAACA,EAAG,MAAM,CAACE,YAAY,UAAU,CAACF,EAAG,kBAAkB,CAACE,YAAY,QAAQC,MAAM,CAAC,KAAOL,EAAIqF,WAAW,MAAQrF,EAAIsF,OAAO,MAAQtF,EAAIY,OAAOG,gBAAgB,GAAGb,EAAG,MAAM,CAACE,YAAY,SAASG,MAAOP,EAAIuF,QAAQ,cAAc,GAAI3D,GAAG,CAAC,MAAQ5B,EAAIwF,SAAS,CAACtF,EAAG,kBAAkB,CAACE,YAAY,QAAQqF,MAAMzF,EAAIuF,QAAQ,GAAG,YAAYlF,MAAM,CAAC,KAAOL,EAAI0F,SAAS,WAAW,aAAa,MAAQ1F,EAAI0F,SAAS,aAAa,iBAAiB,WAAW5D,OAAM,GAAM,CAAC9C,IAAI,SAASwC,GAAG,WAAW,MAAO,CAACtB,EAAG,cAAc,CAACK,MAAO,CAAC,aAAcP,EAAI0F,SAAS,EAAE,QAASrF,MAAM,CAAC,QAAUL,EAAIY,OAAO+E,QAAQ,QAAU3F,EAAIY,OAAOyB,aAAaP,OAAM,MAAS,CAAC5B,EAAG,MAAM,CAACuC,WAAW,CAAC,CAACxE,KAAK,OAAOyE,QAAQ,SAAShE,MAAOsB,EAAI0F,SAAU9C,WAAW,aAAaxC,YAAY,SAAS,CAAEJ,EAAIwC,KAAMtC,EAAG,MAAM,CAACE,YAAY,OAAO,CAACJ,EAAIgB,GAAG,YAAYd,EAAG,SAAS,CAACF,EAAIgB,GAAGhB,EAAIiB,GAAGjB,EAAIY,OAAOgF,cAAc5F,EAAImB,KAAKjB,EAAG,MAAM,CAACE,YAAY,OAAO,CAACJ,EAAIgB,GAAG,WAAWd,EAAG,SAAS,CAACF,EAAIgB,GAAGhB,EAAIiB,GAAGjB,EAAIoF,aAAalF,EAAG,MAAM,CAACE,YAAY,MAAMC,MAAM,CAAC,MAAQ,qDAAqD,CAACH,EAAG,kBAAkB,CAACG,MAAM,CAAC,KAAO,CAAC,MAAO,iBAAiBL,EAAIgB,GAAG,kBAAkBhB,EAAIiB,GAAGjB,EAAI+B,WAAW7B,EAAG,kBAAkB,CAACE,YAAY,OAAOC,MAAM,CAAC,KAAO,kBAAkB,GAAGH,EAAG,MAAM,CAACE,YAAY,MAAMC,MAAM,CAAC,MAAQ,yEAAyE,CAACH,EAAG,kBAAkB,CAACG,MAAM,CAAC,KAAO,SAAS,MAAQL,EAAIY,OAAOoB,aAAahC,EAAIgB,GAAG,2BAA2BhB,EAAIiB,GAAGjB,EAAI6F,UAAU3F,EAAG,kBAAkB,CAACE,YAAY,OAAOC,MAAM,CAAC,KAAO,kBAAkB,GAAGH,EAAG,MAAM,CAACE,YAAY,MAAMC,MAAM,CAAC,MAAQ,wEAAwE,CAACH,EAAG,kBAAkB,CAACG,MAAM,CAAC,KAAO,SAAS,MAAQL,EAAIY,OAAOsB,cAAclC,EAAIgB,GAAG,kBAAkBhB,EAAIiB,GAAGjB,EAAI8F,UAAU5F,EAAG,kBAAkB,CAACE,YAAY,OAAOC,MAAM,CAAC,KAAO,kBAAkB,GAAGH,EAAG,MAAM,CAACE,YAAY,MAAMC,MAAM,CAAC,MAAQ,oDAAoD,CAACH,EAAG,kBAAkB,CAACG,MAAM,CAAC,KAAO,CAAC,MAAO,aAAaL,EAAIgB,GAAG,cAAchB,EAAIiB,GAAGjB,EAAIoC,WAAWlC,EAAG,kBAAkB,CAACE,YAAY,OAAOC,MAAM,CAAC,KAAO,kBAAkB,QAAQ,KAEl1FQ,EAAkB,GCFlBd,G,UAAS,WAAkB,IAAIC,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACuC,WAAW,CAAC,CAACxE,KAAK,OAAOyE,QAAQ,SAAShE,MAAOsB,EAAI+F,MAAOnD,WAAW,UAAUxC,YAAY,SAAS,CAAEJ,EAAIgG,aAAehG,EAAIiG,IAAK,CAAC/F,EAAG,MAAM,CAACG,MAAM,CAAC,MAAQL,EAAIgG,YAAY,OAAShG,EAAIkG,OAAO,QAAS,cAAQlG,EAAIgG,YAAW,YAAIhG,EAAIkG,UAAW,CAAChG,EAAG,OAAO,CAACA,EAAG,OAAO,CAACG,MAAM,CAAC,GAAK,SAAS,CAACH,EAAG,OAAO,CAACuB,YAAY,CAAC,KAAO,SAASpB,MAAM,CAAC,KAAO,GAAG,EAAI,IAAI,EAAIL,EAAImG,SAAS,EAAE,MAAQnG,EAAIgG,YAAY,OAAShG,EAAIkG,cAAchG,EAAG,OAAO,CAACE,YAAY,MAAMC,MAAM,CAAC,GAAK,WAAW,EAAI,IAAI,EAAI,IAAI,KAAO,aAAa,YAAYL,EAAImG,WAAW,CAACnG,EAAIgB,GAAGhB,EAAIiB,GAAGjB,EAAIoG,YAAYlG,EAAG,OAAO,CAACE,YAAY,MAAMC,MAAM,CAAC,GAAK,UAAU,EAAIL,EAAIgG,YAAY,EAAI,IAAI,KAAO,YAAY,YAAYhG,EAAImG,WAAW,CAACnG,EAAIgB,GAAGhB,EAAIiB,GAAGjB,EAAIqG,YAAYnG,EAAG,OAAO,CAACE,YAAY,MAAMC,MAAM,CAAC,EAAI,IAAI,EAAIL,EAAIkG,OAAO,YAAYlG,EAAImG,WAAW,CAACnG,EAAIgB,GAAGhB,EAAIiB,GAAGjB,EAAIsG,cAAcpG,EAAG,OAAO,CAACE,YAAY,MAAMC,MAAM,CAAC,EAAIL,EAAIgG,YAAY,EAAIhG,EAAIkG,OAAO,YAAYlG,EAAImG,WAAW,CAACnG,EAAIgB,GAAGhB,EAAIiB,GAAGjB,EAAIuG,YAAYrG,EAAG,IAAI,CAACG,MAAM,CAAC,KAAO,eAAe,CAACH,EAAG,IAAI,CAACG,MAAM,CAAC,UAAW,0BAAoBL,EAAIgG,YAAchG,EAAIwG,UAAYxG,EAAIyG,OAAM,YAAIzG,EAAI0G,UAAY1G,EAAImG,SAAW,EAAC,OAAM,CAACnG,EAAIU,GAAIV,EAAI2G,YAAY,SAASC,GAAG,MAAO,CAAC1G,EAAG,OAAO,CAACG,MAAM,CAAC,GAAKuG,EAAEC,EAAE,GAAKD,EAAEC,EAAE,GAAK,EAAE,GAAKD,EAAEE,GAAK9G,EAAI0G,UAAU,OAASE,EAAEG,MAAM,eAAe/G,EAAIyG,UAAUvG,EAAG,SAAS,CAACuC,WAAW,CAAC,CAACxE,KAAK,OAAOyE,QAAQ,SAAShE,MAAOkI,EAAEI,GAAIpE,WAAW,SAASvC,MAAM,CAAC,GAAKuG,EAAEC,EAAE,GAAKD,EAAEI,GAAKhH,EAAI0G,UAAU,EAAI,KAAQ1G,EAAIyG,OAAO,KAAOG,EAAEK,SAAS/G,EAAG,OAAO,CAACE,YAAY,UAAUC,MAAM,CAAC,GAAKuG,EAAEC,EAAE,GAAKD,EAAEC,EAAE,IAAM7G,EAAI0G,UAAU,GAAK,EAAE1G,EAAI0G,UAAU,eAAe,EAAI1G,EAAIyG,SAAS,CAACvG,EAAG,QAAQ,CAACF,EAAIgB,GAAGhB,EAAIiB,GAAG2F,EAAEM,eAAc,QAAQlH,EAAImB,MAAM,KAE7sDN,EAAkB,G,YC6BP,G,8BAAA,CACfO,OACAuE,SAAAwB,aACA9E,SAAA8E,YAEAtL,gBACA,OACAmK,cACAC,MACAC,UACAC,YACAiB,mBACArB,WAGA1C,SACAgE,oBAAA,oJAGA,OAFA,WACA,gCACA,0CACA,qBACA,qDALA,IAOAC,gBAEA,uDACA,YACAzL,mBAAA,gEACAA,UAEA,+DAEA0L,uBACA,SACA,oCACA,8BACAC,eACAC,mBAJA,WAOAC,0BACA,SACA,oCACA,8BACAF,eACAC,iBACAE,mBALA,YASArE,0CACAC,mDACA1H,gBAAA,WACA,YAQA,OAPA,4CACA+L,gBAIAA,0CAEA,qBACAC,OACAC,KACA,2BACA,QADA,EACA,yCACAC,iCAGAC,WAEAC,wBACA,mEAEA3B,qBAAA,MACA,2FAEAC,mBAAA,MACA,4FAEAG,qBACA,sCAEAC,sBAAA,WACA,oDAAA5E,aAAAgF,UAAAgB,SACA,OACA,MACA,GACAhB,yBACAE,mBACAJ,iBACAG,kBACAF,qBAEA,SACAoB,OACAA,qBAEA,SAOA,OANA,oCACA,mDACA,4BACAC,2BACAD,mBACA,+BAAAjG,UAAAF,YAAA,IACA,MAGA0E,kBACA,sDAEA2B,kBACA,gBACA,GACA,SACA,UACA3I,yBACAqI,iBAAA,6BACAO,oBAAA,eAIAC,kBACA,gBACA,oBACA,SACA,UACA7I,yBACAqI,iBAAA,4BACAO,oBAAA,eAIA7B,qBACA,oCAEAJ,mBACA,2BACA,yBACA,UACA3G,yBACAqI,iBAAA,6BACAO,oBAAA,eAEA,SACA,kDACA,2CACA,uCACA,EAJA,WAMAhC,mBACA,2BACA,yBACA,UACA5G,yBACA4I,oBAAA,YACAP,iBAAA,4BACAO,oBAAA,eAEA,SACA,2DACA,sDACA,kDACA,8CACA,mBALA,aAQAzD,mBAAA,oKACA,qCACA,uDAFA,IAIA2D,mBACAhJ,mDC3MqV,ICQjV,G,UAAY,eACd,EACA,EACA,GACA,EACA,KACA,WACA,OAIa,I,QCiDfkE,OAAQA,IACRC,OACAE,OACA4E,OACAC,OACAC,OACA7E,OACAC,OACAE,OACA2E,OACA5E,OACAE,QAGe,OACfhG,mBACAkF,YACAyF,cACAvE,OACAjB,wBAEAhC,OACAR,eAEA/E,gBACA,OACA6J,kBAGApC,0CACAC,8BACA4B,qBACA,iDACA,qBAEApD,oBACA,oDACA,WAEAK,oBACA,oDACA,WAEAyD,mBACA,mEACA,WAEAC,mBACA,+BACA,wCACA,WAEAR,kBACA,8CACA,2DACA,2CACA,WAEAC,mBAAA,QACA,gHAEAH,kBACA,6CACA,uBACA,2BACA,WAEAC,sBACA,wCACA,8BACA,gCACA,iBACA,kBADA,mBAIAhC,SACAmC,kBACA,6CACAqD,uBAAA,wDAGAC,OACApD,oBACA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","file":"js/app.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/api/static/vue/\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","// style-loader: Adds some css to the DOM by adding a \r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StatusMap.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StatusMap.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./StatusMap.vue?vue&type=template&id=7f432222&scoped=true&lang=pug&\"\nimport script from \"./StatusMap.vue?vue&type=script&lang=js&\"\nexport * from \"./StatusMap.vue?vue&type=script&lang=js&\"\nimport style0 from \"./StatusMap.vue?vue&type=style&index=0&id=7f432222&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7f432222\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('Card',{scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_c('div',{staticClass:\"flex\"},[_c('div',{staticClass:\"stats\"},[_c('strong',[_vm._v(\"Global Statistics\")]),_c('div',{staticClass:\"small\",staticStyle:{\"max-width\":\"18em\"}},[_vm._v(\"All measurements are for the last minute and are updated every \"+_vm._s(_vm.deltaMs / 1000)+\" seconds.\")])]),_c('div',{staticClass:\"ml-auto\",attrs:{\"title\":_vm.up},on:{\"mousedown\":_vm.saasClicks}},[_c('FontAwesomeIcon',{staticClass:\"fa-2x\",attrs:{\"icon\":\"cloud\",\"color\":_vm.statusColor}})],1)])]},proxy:true}])},[_c('div',{staticClass:\"fa-xs\"},[_c('Saas'),_c('div',{staticClass:\"blk\",attrs:{\"title\":\"Number of user interactions over the last minute\"}},[_c('FontAwesomeIcon',{attrs:{\"icon\":['far', 'dot-circle']}}),_vm._v(\" - Operations: \"+_vm._s(_vm.reqcount)),_c('FontAwesomeIcon',{staticClass:\"info\",attrs:{\"icon\":\"info-circle\"}})],1),_c('div',{staticClass:\"blk\",attrs:{\"title\":\"The average time over the last minute for each operation to complete\"}},[_c('FontAwesomeIcon',{attrs:{\"icon\":\"circle\",\"color\":_vm.pingColor}}),_vm._v(\" - Avg. operation time: \"+_vm._s(_vm.avgtime)),_c('FontAwesomeIcon',{staticClass:\"info\",attrs:{\"icon\":\"info-circle\"}})],1),_c('div',{staticClass:\"blk\",attrs:{\"title\":\"The percentage of operations that had an error over the last minute\"}},[_c('FontAwesomeIcon',{attrs:{\"icon\":\"circle\",\"color\":_vm.errorColor}}),_vm._v(\" - Error rate: \"+_vm._s(_vm.errrate)),_c('FontAwesomeIcon',{staticClass:\"info\",attrs:{\"icon\":\"info-circle\"}})],1),_c('div',{staticClass:\"blk\",attrs:{\"title\":\"The total number of errors over the last minute\"}},[_c('FontAwesomeIcon',{attrs:{\"icon\":['far', 'circle']}}),_vm._v(\" - Errors: \"+_vm._s(_vm.errcount)),_c('FontAwesomeIcon',{staticClass:\"info\",attrs:{\"icon\":\"info-circle\"}})],1),_c('div',{staticClass:\"blk\"},[_c('FontAwesomeIcon',{attrs:{\"icon\":['far', 'clock']}}),_vm._v(\" - Last Update: \"+_vm._s(_vm.lastrun))],1)],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"card\"},[_c('div',{staticClass:\"header\"},[_vm._t(\"header\")],2),_c('div',{staticClass:\"body\"},[_vm._t(\"default\")],2),_c('div',{staticClass:\"footer\"},[_vm._t(\"footer\")],2)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./Card.vue?vue&type=template&id=b93c230a&scoped=true&lang=pug&\"\nvar script = {}\nimport style0 from \"./Card.vue?vue&type=style&index=0&id=b93c230a&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"b93c230a\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.saas)?_c('div',[_c('div',[_c('div',{staticClass:\"blk\",attrs:{\"title\":\"How many seconds between each element in the chart (multiple of 5)\"}},[_c('span',[_vm._v(\"Delta:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model.lazy.number\",value:(_vm.delta),expression:\"delta\",modifiers:{\"lazy\":true,\"number\":true}}],attrs:{\"type\":\"number\"},domProps:{\"value\":(_vm.delta)},on:{\"change\":function($event){_vm.delta=_vm._n($event.target.value)},\"blur\":function($event){return _vm.$forceUpdate()}}}),_c('FontAwesomeIcon',{staticClass:\"info\",attrs:{\"icon\":\"info-circle\"}})],1)])]):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Saas.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Saas.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Saas.vue?vue&type=template&id=54410e9b&scoped=true&lang=pug&\"\nimport script from \"./Saas.vue?vue&type=script&lang=js&\"\nexport * from \"./Saas.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"54410e9b\",\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GlobalPanel.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GlobalPanel.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./GlobalPanel.vue?vue&type=template&id=8af0595a&lang=pug&\"\nimport script from \"./GlobalPanel.vue?vue&type=script&lang=js&\"\nexport * from \"./GlobalPanel.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"id\":_vm.region.key}},[_c('Card',{scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_c('div',{staticClass:\"flex\",attrs:{\"title\":_vm.saas?JSON.stringify(_vm.region, (k, v) => (k !== 'history' ? v : undefined), 2):false}},[(_vm.saas)?_c('div',{staticClass:\"center v-center\",staticStyle:{\"margin-right\":\".5em\"}},[_c('FontAwesomeIcon',{staticClass:\"fa-lg\",attrs:{\"icon\":\"brush\",\"color\":_vm.saasColor}})],1):_vm._e(),_c('div',{staticClass:\"v-center\"},[_c('div',[_c('strong',[_vm._v(_vm._s(_vm.region.location))]),_c('br'),_vm._v(_vm._s(_vm.region.key)+\" (\"+_vm._s(_vm.region.status)+\")\")])]),_c('div',{staticClass:\"ml-auto v-center\"},[_c('div',[_c('div',{staticClass:\"center\"},[_c('FontAwesomeIcon',{staticClass:\"fa-2x\",attrs:{\"icon\":_vm.statusIcon,\"title\":_vm.health,\"color\":_vm.region.statusColor}})],1),_c('div',{staticClass:\"center\",style:(_vm.planned?'color:#0000':''),on:{\"click\":_vm.toggle}},[_c('FontAwesomeIcon',{staticClass:\"fa-lg\",class:_vm.planned?'':'clickable',attrs:{\"icon\":_vm.expanded?'angle-up':'angle-down',\"title\":_vm.expanded?'Hide Stats':'Show Stats'}})],1)])])])]},proxy:true},{key:\"footer\",fn:function(){return [_c('StatusChart',{style:({'margin-top': _vm.expanded?0:'.5em'}),attrs:{\"history\":_vm.region.history,\"lastrun\":_vm.region.lastrun}})]},proxy:true}])},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.expanded),expression:\"expanded\"}],staticClass:\"fa-xs\"},[(_vm.saas)?_c('div',{staticClass:\"blk\"},[_vm._v(\"Version:\"),_c('strong',[_vm._v(_vm._s(_vm.region.version))])]):_vm._e(),_c('div',{staticClass:\"blk\"},[_vm._v(\"Status:\"),_c('strong',[_vm._v(_vm._s(_vm.status))])]),_c('div',{staticClass:\"blk\",attrs:{\"title\":\"Number of user interactions over the last minute\"}},[_c('FontAwesomeIcon',{attrs:{\"icon\":['far', 'dot-circle']}}),_vm._v(\" - Operations: \"+_vm._s(_vm.reqcount)),_c('FontAwesomeIcon',{staticClass:\"info\",attrs:{\"icon\":\"info-circle\"}})],1),_c('div',{staticClass:\"blk\",attrs:{\"title\":\"The average time over the last minute for each operation to complete\"}},[_c('FontAwesomeIcon',{attrs:{\"icon\":\"circle\",\"color\":_vm.region.pingColor}}),_vm._v(\" - Avg. operation time: \"+_vm._s(_vm.avgTime)),_c('FontAwesomeIcon',{staticClass:\"info\",attrs:{\"icon\":\"info-circle\"}})],1),_c('div',{staticClass:\"blk\",attrs:{\"title\":\"The percentage of operations that had an error over the last minute\"}},[_c('FontAwesomeIcon',{attrs:{\"icon\":\"circle\",\"color\":_vm.region.errorColor}}),_vm._v(\" - Error rate: \"+_vm._s(_vm.errRate)),_c('FontAwesomeIcon',{staticClass:\"info\",attrs:{\"icon\":\"info-circle\"}})],1),_c('div',{staticClass:\"blk\",attrs:{\"title\":\"The total number of errors over the last minute\"}},[_c('FontAwesomeIcon',{attrs:{\"icon\":['far', 'circle']}}),_vm._v(\" - Errors: \"+_vm._s(_vm.errcount)),_c('FontAwesomeIcon',{staticClass:\"info\",attrs:{\"icon\":\"info-circle\"}})],1)])])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.ready),expression:\"ready\"}],staticClass:\"chart\"},[(_vm.clientWidth && _vm.dpr)?[_c('svg',{attrs:{\"width\":_vm.clientWidth,\"height\":_vm.height,\"viewBox\":`0 0 ${_vm.clientWidth} ${_vm.height}`}},[_c('defs',[_c('mask',{attrs:{\"id\":\"mask\"}},[_c('rect',{staticStyle:{\"fill\":\"white\"},attrs:{\"rect\":\"\",\"x\":\"0\",\"y\":_vm.fontSize+2,\"width\":_vm.clientWidth,\"height\":_vm.height}})])]),_c('text',{staticClass:\"t l\",attrs:{\"id\":\"reqcount\",\"x\":\"0\",\"y\":\"0\",\"fill\":\"blueviolet\",\"font-size\":_vm.fontSize}},[_vm._v(_vm._s(_vm.reqText))]),_c('text',{staticClass:\"t r\",attrs:{\"id\":\"avgtime\",\"x\":_vm.clientWidth,\"y\":\"1\",\"fill\":\"limegreen\",\"font-size\":_vm.fontSize}},[_vm._v(_vm._s(_vm.avgText))]),_c('text',{staticClass:\"b l\",attrs:{\"x\":\"0\",\"y\":_vm.height,\"font-size\":_vm.fontSize}},[_vm._v(_vm._s(_vm.startTime))]),_c('text',{staticClass:\"b r\",attrs:{\"x\":_vm.clientWidth,\"y\":_vm.height,\"font-size\":_vm.fontSize}},[_vm._v(_vm._s(_vm.endTime))]),_c('g',{attrs:{\"mask\":\"url(#mask)\"}},[_c('g',{attrs:{\"transform\":`matrix(1 0 0 -1 ${_vm.clientWidth - _vm.dataWidth + _vm.xScale} ${_vm.barHeight + _vm.fontSize + 6})`}},[_vm._l((_vm.normalized),function(e){return [_c('line',{attrs:{\"x1\":e.x,\"x2\":e.x,\"y1\":0,\"y2\":e.ya * _vm.barHeight,\"stroke\":e.color,\"stroke-width\":_vm.xScale}}),_c('circle',{directives:[{name:\"show\",rawName:\"v-show\",value:(e.yr),expression:\"e.yr\"}],attrs:{\"cx\":e.x,\"cy\":e.yr * _vm.barHeight,\"r\":0.618 * _vm.xScale,\"fill\":e.cfill}}),_c('line',{staticClass:\"overlay\",attrs:{\"x1\":e.x,\"x2\":e.x,\"y1\":-_vm.barHeight,\"y2\":2*_vm.barHeight,\"stroke-width\":2 * _vm.xScale}},[_c('title',[_vm._v(_vm._s(e.txt))])])]})],2)])])]:_vm._e()],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StatusChart.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StatusChart.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./StatusChart.vue?vue&type=template&id=be5c4ff2&scoped=true&lang=pug&\"\nimport script from \"./StatusChart.vue?vue&type=script&lang=js&\"\nexport * from \"./StatusChart.vue?vue&type=script&lang=js&\"\nimport style0 from \"./StatusChart.vue?vue&type=style&index=0&id=be5c4ff2&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"be5c4ff2\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RegionPanel.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RegionPanel.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RegionPanel.vue?vue&type=template&id=743aba02&scoped=true&lang=pug&\"\nimport script from \"./RegionPanel.vue?vue&type=script&lang=js&\"\nexport * from \"./RegionPanel.vue?vue&type=script&lang=js&\"\nimport style0 from \"./RegionPanel.vue?vue&type=style&index=0&id=743aba02&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"743aba02\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.errors.length)?_c('div',{staticClass:\"wrap header\"},_vm._l((_vm.banners),function(banner){return _c('a',{key:banner.key,attrs:{\"href\":'#'+banner.key}},[_c('div',{staticClass:\"inner flex\"},[_c('FontAwesomeIcon',{staticClass:\"fa-2x\",attrs:{\"icon\":\"exclamation-circle\"}}),_c('div',{staticClass:\"content\"},[_c('h4',[_vm._v(_vm._s(banner.title))]),_c('p',[_vm._v(_vm._s(banner.text))])])],1)])}),0):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Banner.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Banner.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Banner.vue?vue&type=template&id=4aa13104&scoped=true&lang=pug&\"\nimport script from \"./Banner.vue?vue&type=script&lang=js&\"\nexport * from \"./Banner.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Banner.vue?vue&type=style&index=0&id=4aa13104&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4aa13104\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--13-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--13-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=5d39e882&lang=pug&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&id=5d39e882&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from \"vue\";\r\nimport Vuex from \"vuex\";\r\nimport axios from \"axios\";\r\n\r\nVue.use(Vuex);\r\n\r\nconst minDeltaMs = 5000;\r\nconst defaultDeltaMs = 15000;\r\nconst defaultCapacity = 120;\r\n\r\nfunction traffic(x, red, yellow, green) {\r\n if (x === undefined) return \"\";\r\n // interpolates range to hue color for status\r\n // https://mathworld.wolfram.com/LagrangeInterpolatingPolynomial.html\r\n if (green === undefined) green = 0;\r\n\r\n const reversed = green > red;\r\n if ((!reversed && x < green) || (reversed && x > green))\r\n return \"mediumseagreen\";\r\n if ((!reversed && x > red) || (reversed && x < red)) return \"crimson\";\r\n\r\n if (yellow === undefined) yellow = (green + red) / 2;\r\n\r\n const xs = [red, yellow, green];\r\n const ys = [0, 60, 120];\r\n // sum from j to n\r\n let hue = xs.reduce(\r\n (sum, xj, j) =>\r\n sum +\r\n // P_j = y_j *\r\n ys[j] *\r\n // product from k to n where j!=k\r\n xs\r\n .filter((_, k) => j !== k)\r\n .reduce((prod, xk) => (prod * (x - xk)) / (xj - xk), 1),\r\n 0\r\n );\r\n if (hue < 0) hue = 0;\r\n if (hue > 120) hue = 120;\r\n // Return a CSS HSL string\r\n return `hsl(${Math.round(hue)},50%,50%)`;\r\n}\r\n\r\nlet localRegions;\r\ntry {\r\n localRegions = JSON.parse(localStorage.getItem(\"e2-regions\") ?? \"[]\").reduce(\r\n (regions, { key, lastrun, ...region }) => {\r\n regions[key] = {\r\n key,\r\n lastrun: new Date(lastrun),\r\n ...region,\r\n history: JSON.parse(\r\n localStorage.getItem(`e2-region-data-${key}`) ?? \"[]\"\r\n ).reduce((history, { time, reqcount, avgtime }) => {\r\n time = new Date(time);\r\n if (+time && reqcount >= 0 && avgtime >= 0)\r\n history[minDeltaMs * Math.trunc(+time / minDeltaMs)] = {\r\n time,\r\n reqcount,\r\n avgtime,\r\n color: traffic(avgtime, 10000, 2000)\r\n };\r\n return history;\r\n }, {})\r\n };\r\n return regions;\r\n },\r\n {}\r\n );\r\n} catch (e) {\r\n localRegions = {};\r\n}\r\n\r\nexport default new Vuex.Store({\r\n state: {\r\n init: true,\r\n regions: localRegions,\r\n overall: {},\r\n update_pump: undefined,\r\n saas: false,\r\n apiUrl: \"/api/\",\r\n deltaMs: defaultDeltaMs,\r\n capacity: defaultCapacity\r\n },\r\n actions: {\r\n async Init({ dispatch, state }) {\r\n state.init = true;\r\n await dispatch(\"Regions\");\r\n\r\n // setup polling timers\r\n clearInterval(state.update_pump);\r\n const now = +new Date();\r\n const target_time = state.deltaMs * (1 + Math.trunc(now / state.deltaMs));\r\n const trim = (now % minDeltaMs) / 2 + minDeltaMs / 3; // try to line up requests without completely overlapping\r\n const wait = trim + target_time - now;\r\n await new Promise(resolve => setTimeout(resolve, wait)); // sleep\r\n dispatch(\"Regions\");\r\n state.update_pump = setInterval(() => dispatch(\"Regions\"), state.deltaMs);\r\n state.init = false;\r\n },\r\n async Regions({ state: { apiUrl }, commit, dispatch }) {\r\n // get region info\r\n const { data } = await axios.get(apiUrl + \"getRegionData\");\r\n if (data) commit(\"Regions\", { data });\r\n await Promise.all(\r\n data.map(async ({ key }) => await dispatch(\"Current\", { key }))\r\n );\r\n commit(\"Save\");\r\n },\r\n async Current({ state: { apiUrl }, commit, dispatch }, { key }) {\r\n // get all current info for each region\r\n const { data } = await axios.get(\r\n `${apiUrl}getStatusData?v=2®ion=${key}`\r\n );\r\n commit(\"Current\", { key, data });\r\n await dispatch(\"History\", { key });\r\n },\r\n async History(\r\n { state: { apiUrl, regions, capacity, deltaMs, init }, commit },\r\n { key }\r\n ) {\r\n const history = regions[key].history;\r\n let missing = [];\r\n let checks;\r\n if (!init)\r\n // exponential backoff\r\n checks = Array.from(\r\n Array(Math.trunc(Math.log2(capacity) + 1)).keys()\r\n ).map(i => 2 ** i);\r\n else checks = Array.from(Array(capacity).keys());\r\n const now = deltaMs * Math.trunc(+new Date() / deltaMs);\r\n checks.forEach(i => {\r\n if (history[now - i * deltaMs] === undefined)\r\n missing.push(new Date(now - i * deltaMs));\r\n });\r\n // get any missing data\r\n if (!missing?.length) return;\r\n let { data } = await axios.post(\r\n `${apiUrl}getHistoryData?region=${key}`,\r\n missing\r\n );\r\n data = data\r\n .map(({ avgtime, reqcount, time }) =>\r\n avgtime >= 0 && reqcount >= 0\r\n ? { avgtime, reqcount, time }\r\n : undefined\r\n )\r\n .filter(x => x);\r\n if (data?.length) commit(\"History\", { key, data });\r\n },\r\n async DeltaMs({ commit, dispatch }, value) {\r\n commit(\"Save\");\r\n commit(\"DeltaMs\", value);\r\n await dispatch(\"Init\");\r\n }\r\n },\r\n mutations: {\r\n Save({ regions }) {\r\n // only save timestamps that users see\r\n const earliest = +new Date() - defaultDeltaMs * defaultCapacity;\r\n localStorage.setItem(\r\n \"e2-regions\",\r\n JSON.stringify(\r\n Object.entries(regions)\r\n .map(([key, { history, ...region }]) => {\r\n localStorage.setItem(\r\n `e2-region-data-${key}`,\r\n JSON.stringify(\r\n Object.entries(history)\r\n .map(([_, { time, reqcount, avgtime }]) => {\r\n if (time >= earliest)\r\n return {\r\n time,\r\n reqcount,\r\n avgtime\r\n };\r\n })\r\n .filter(x => x)\r\n )\r\n );\r\n return region;\r\n })\r\n .filter(x => x)\r\n )\r\n );\r\n },\r\n Trim({ regions, capacity, saas }) {\r\n Object.entries(regions).forEach(({ key, region }) => {\r\n let keys = Object.keys(region.history);\r\n // no reason to sort all the time\r\n if (keys.length < 2 * capacity || saas) return;\r\n keys.sort();\r\n keys = keys.slice(0, Math.max(keys.length - capacity, 0));\r\n keys.forEach(k => Vue.delete(regions[key].history, k));\r\n });\r\n },\r\n Regions(state, { data }) {\r\n Vue.set(\r\n state,\r\n \"regions\",\r\n data.reduce((obj, region) => {\r\n if (region?.key)\r\n obj[region.key] = {\r\n history: {},\r\n ...(state.regions[region.key] ?? {}),\r\n ...region\r\n };\r\n return obj;\r\n }, {})\r\n );\r\n },\r\n Current({ regions }, { key, data }) {\r\n let { stats, intstats, errstats } = data;\r\n let { reqcount, errcount, avgtime, lastrun } =\r\n intstats?.find(r => r?.region === key) ?? {};\r\n\r\n stats = stats?.filter(elem => elem?.target?.startsWith(key));\r\n let region = stats.reduce(\r\n (\r\n { up, down, latency, maintenance, e2color },\r\n { CountUp, CountDown, AvgLatency, LastStatus, \"e2-color\": E2Color }\r\n ) => ({\r\n up: up + CountUp || 0,\r\n down: down + CountDown || 0,\r\n latency: latency + AvgLatency || 0,\r\n maintenance:\r\n maintenance || LastStatus?.toLowerCase() === \"maintenance\",\r\n e2color: e2color || E2Color\r\n }),\r\n {\r\n up: 0,\r\n down: 0,\r\n latency: 0\r\n }\r\n );\r\n\r\n lastrun = new Date(lastrun + \"Z\");\r\n if (!+lastrun) lastrun = new Date();\r\n region = {\r\n ...regions[key],\r\n ...region,\r\n reqcount,\r\n errcount,\r\n errstats,\r\n avgtime,\r\n lastrun\r\n };\r\n\r\n region.latency /= stats.length;\r\n if (region.reqcount) region.errrate = region.errcount / region.reqcount;\r\n\r\n if (avgtime >= 0 && reqcount >= 0) {\r\n region.pingColor = traffic(region?.avgtime, 10000, 2000);\r\n region.errorColor = traffic(\r\n region?.errcount / region?.reqcount,\r\n 1,\r\n 0.01\r\n );\r\n if (region.maintenance) region.statusColor = \"steelblue\";\r\n else region.statusColor = region.pingColor;\r\n const time = minDeltaMs * Math.trunc(lastrun / minDeltaMs);\r\n Vue.set(region.history, time, {\r\n time: new Date(time),\r\n avgtime,\r\n reqcount,\r\n color: traffic(avgtime, 10000, 2000)\r\n });\r\n }\r\n Vue.set(regions, key, region);\r\n },\r\n History({ regions }, { key, data }) {\r\n data?.forEach(({ time, avgtime, reqcount }) => {\r\n const date = new Date(time);\r\n return Vue.set(regions[key]?.history, +date, {\r\n time: date,\r\n avgtime,\r\n reqcount,\r\n color: traffic(avgtime, 10000, 2000)\r\n });\r\n });\r\n },\r\n Saas(state, value) {\r\n state.saas = value;\r\n },\r\n Capacity(state, value) {\r\n state.capacity = value;\r\n },\r\n DeltaMs(state, value) {\r\n value = minDeltaMs * Math.round(value / minDeltaMs);\r\n if (!value || value < minDeltaMs) value = minDeltaMs;\r\n state.deltaMs = value;\r\n }\r\n },\r\n getters: {\r\n overall: function(state) {\r\n let overall = Object.entries(state.regions ?? {}).reduce(\r\n ({ up, down, avgtime, reqcount, errcount, lastrun }, [_, region]) => ({\r\n up: up + (region?.up || 0),\r\n down: down + (region?.down || 0),\r\n reqcount: reqcount + (region?.reqcount || 0),\r\n errcount: errcount + (region?.errcount || 0),\r\n avgtime: avgtime + (region?.avgtime * region?.reqcount || 0),\r\n // convert lastrun to int with + to check for NaN\r\n // new Date(NaN) is truthy but +new Date(NaN) is falsy ¯\\_(ツ)_/¯\r\n lastrun: Math.max(+lastrun, +region?.lastrun || 0)\r\n }),\r\n {\r\n up: 0,\r\n down: 0,\r\n avgtime: 0,\r\n reqcount: 0,\r\n errcount: 0,\r\n lastrun: 0\r\n }\r\n );\r\n overall.avgtime = overall.avgtime / overall.reqcount || undefined;\r\n overall.lastrun = new Date(\r\n minDeltaMs * Math.trunc(overall.lastrun / minDeltaMs)\r\n );\r\n overall.errrate = overall.errcount / overall.reqcount || 0;\r\n overall.pingColor = traffic(overall.avgtime, 10000, 2000);\r\n overall.errorColor = traffic(overall.errrate, 1, 0.01);\r\n overall.statusColor = overall.pingColor;\r\n return overall;\r\n }\r\n }\r\n});\r\n","import Vue from \"vue\";\nimport App from \"./App.vue\";\nimport store from \"./store\";\n\nVue.config.productionTip = false;\n\nnew Vue({\n store,\n render: h => h(App)\n}).$mount(\"#e2shop-status\");\n","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".content[data-v-4aa13104]{margin-left:1em}.wrap[data-v-4aa13104]{border-radius:1em;padding:.25em;background-color:#dc3545}.inner[data-v-4aa13104]{padding:.5em;-webkit-box-align:center;-ms-flex-align:center;align-items:center}a[data-v-4aa13104],h4[data-v-4aa13104],p[data-v-4aa13104]{color:#fff;text-decoration:none;margin:0}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".center{text-align:center}.ml-auto{margin-left:auto}.v-center{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.flex,.v-center{display:-webkit-box;display:-ms-flexbox;display:flex}.small{font-size:small}.info{margin-left:.5em;color:#a9a9a9}.container{width:100%;margin-right:auto;margin-left:auto}.row{-webkit-column-gap:0;-moz-column-gap:0;column-gap:0}.col{-webkit-column-break-inside:avoid;-moz-column-break-inside:avoid;break-inside:avoid-column;padding:.25em}#e2shop-status{font-family:Source Sans Pro,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#696969;line-height:1.25em}.blk{margin:.5em 0;font-size:1.25em}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","// style-loader: Adds some css to the DOM by adding a