{"version":3,"sources":["./src/$_lazy_route_resource lazy","./src/app/app.component.html","./src/app/app.component.ts","./src/app/app.module.ts","./src/app/commentary/commentary.module.ts","./src/app/commentary/display-commentary/display-commentary.component.html","./src/app/commentary/display-commentary/display-commentary.component.ts","./src/app/commentary/services/commentary.service.ts","./src/app/dashboard/dashboard.module.ts","./src/app/dashboard/display-dashboard/display-dashboard.component.html","./src/app/dashboard/display-dashboard/display-dashboard.component.ts","./src/app/dashboard/services/dashboard.service.ts","./src/app/pdf-selector/pdf-selector.component.html","./src/app/pdf-selector/pdf-selector.component.ts","./src/app/related-links/display-related-links/display-related-links.component.html","./src/app/related-links/display-related-links/display-related-links.component.ts","./src/app/related-links/related-links.module.ts","./src/app/services/api.service.ts","./src/app/services/error.interceptor.ts","./src/app/share-modules/Utils.ts","./src/app/share-modules/eia-charts/display-eia-heatmap/display-eia-heatmap.component.html","./src/app/share-modules/eia-charts/display-eia-heatmap/display-eia-heatmap.component.ts","./src/app/share-modules/eia-charts/display-eia-highchart/display-eia-highchart.component.html","./src/app/share-modules/eia-charts/display-eia-highchart/display-eia-highchart.component.ts","./src/app/share-modules/eia-charts/display-eia-pareto/display-eia-pareto.component.html","./src/app/share-modules/eia-charts/display-eia-pareto/display-eia-pareto.component.ts","./src/app/share-modules/eia-charts/display-eia-single-day-storage-with-gauges/display-eia-single-day-storage-with-gauges.component.html","./src/app/share-modules/eia-charts/display-eia-single-day-storage-with-gauges/display-eia-single-day-storage-with-gauges.component.ts","./src/app/share-modules/eia-charts/display-gas-trade-disposition/display-gas-trade-disposition.component.html","./src/app/share-modules/eia-charts/display-gas-trade-disposition/display-gas-trade-disposition.component.ts","./src/app/share-modules/eia-charts/display-henry-hub/display-henry-hub.component.html","./src/app/share-modules/eia-charts/display-henry-hub/display-henry-hub.component.ts","./src/app/share-modules/eia-charts/display-storage-weekly-working/display-storage-weekly-working.component.html","./src/app/share-modules/eia-charts/display-storage-weekly-working/display-storage-weekly-working.component.ts","./src/app/share-modules/eia-charts/display-weekly-net-change/display-weekly-net-change.component.html","./src/app/share-modules/eia-charts/display-weekly-net-change/display-weekly-net-change.component.ts","./src/app/share-modules/eia-charts/eia-charts.module.ts","./src/app/share-modules/eia-charts/eia-charts.service.ts","./src/app/share-modules/eia-charts/gas-consumption/gas-consumption.component.html","./src/app/share-modules/eia-charts/gas-consumption/gas-consumption.component.ts","./src/app/share-modules/eia-charts/map-daily-animation/map-daily-animation.component.html","./src/app/share-modules/eia-charts/map-daily-animation/map-daily-animation.component.ts","./src/app/share-modules/eia-charts/map-legend/map-legend.component.html","./src/app/share-modules/eia-charts/map-legend/map-legend.component.ts","./src/app/share-modules/eia-charts/map-temperature-departure-from-normal/map-temperature-departure-from-normal.component.html","./src/app/share-modules/eia-charts/map-temperature-departure-from-normal/map-temperature-departure-from-normal.component.ts","./src/app/share-modules/eia-charts/nuclear-outages/nuclear-outages.component.html","./src/app/share-modules/eia-charts/nuclear-outages/nuclear-outages.component.ts","./src/environments/environment.ts","./src/main.ts"],"names":[],"mappings":";;;;;AAAA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA,4CAA4C,WAAW;AACvD;AACA;AACA,4E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6GCLM,mIAA4C,oeAAqE;6GACjH,mIAA2C,wdAAyD;6GACpG,4JAAkE,seAAuE;sTAP/I,4JAA0B,4FACxB,gLAAwC,8FACtC,gOAA6E,8FAC7E,uIAAI,qHAA6B,MAAK,yFACtC,gKAAuB,gGACrB,8bAA4C,IAA4E,2FACxH,8bAA2C,IAAgE,2FAC3G,8bAAkE,IAA8E,2FAChJ,mKAA2B,0uBAAkB,IAA0B,yFACzE,MAAM,uFACR,MAAM,qFACR,MAAM,qFACN,6LAAmD,gGAEjD,6JAAmB,8FACjB,wKAA8B,gGAC5B,gKAAsB,kGACpB,2JAAkB,oGAChB,8JAAqB,sGACnB,o4BAAwE,KAA1C,4EAAyC,MAAC;;;qfAAgD,+FAAQ,MAAS,iGACzI,20BAA8B;;;qfAAwD,+FAAQ,MAAS,iGAC1G,20BAA8B;;;qfAA0D,iGAAU,MAAS,iGAE1G,MAAK,6FACP,MAAM,6FACN,4JAAmB,sGACf,iKAAwB,0GACpB,4RAA8G,YAAjF;;wBAAyB;MAAtD,wBAA8G,6JAAsB,KAAO,oGAAiB,MAAI,qGAChK,+PAA+F,8JAAuB,KAAO,+FAAY,MAAI,qGAC7I,+QAA+G,8JAAuB,KAAO,+FAAY,MAAI,qGAC7J,+QAA+G,8JAAuB,KAAO,+FAAY,MAAI,qGAC7J,+QAA+G,8JAAuB,KAAO,+FAAY,MAAI,qGAC7J,+QAA+G,8JAAuB,KAAO,+FAAY,MAAI,qGAC7J,+QAA+G,8JAAuB,KAAO,+FAAY,MAAI,qGAC7J,+QAA+G,+JAAuB,KAAO,+FAAY,MAAI,qGAC7J,gRAA+G,+JAAuB,KAAO,+FAAY,MAAI,qGAC7J,gRAA+G,+JAAuB,KAAO,+FAAY,MAAI,qGAC7J,kRAAiH,+JAAuB,KAAO,+FAAY,MAAI,qGAC/J,kRAAiH,+JAAuB,KAAO,+FAAY,MAAI,qGAC/J,kRAAiH,+JAAuB,KAAO,+FAAY,MAAI,qGAC/J,kRAAiH,+JAAuB,KAAO,+FAAY,MAAI,qGAC/J,kRAAiH,+JAAuB,KAAO,+FAAY,MAAI,qGAC/J,kRAAiH,+JAAuB,KAAO,+FAAY,MAAI,iGACnK,MAAO,6FACX,MAAM,2FACR,MAAM,yFACR,MAAM,uFACR,MAAM,uFACN,yIAAI,4FACJ,uoBAAe,IAAgB,uFAC/B,qKAA0B,8FACxB,8JAAoB,gGAClB,2IAAK,kGACH,gKAAwB,0GAAkB,MAAM,6FAChD,oKAA0B,oGACxB,kKAA0B,+NAAkF,KAAM,+FAClH,sKAA4B,sHAExB,wIAAG,kLAAqF,MAAI,iGAC9F,0IAAI,wGACF,yIAAI,qHAA6B,MAAK,mGACtC,yIAAI,sIAA8C,MAAK,mGACvD,yIAAI,sHAA8B,MAAK,mGACvC,yIAAI,gHAAwB,MAAK,mGACjC,yIAAI,+IAAuD,MAAK,mGAChE,yIAAI,kPAA0J,MAAK,iGACrK,MAAK,+FACP,MAAM,2FACV,MAAM,yFACR,MAAM,uFACR,MAAM,6FAGJ,+JAAqB,gGACnB,2IAAK,kGACH,gKAAwB,0GAAkB,MAAM,6FAChD,mKAA0B,oGACxB,kKAA0B,yNAA4E,KAAM,+FAC5G,qKAA4B,oHAE1B,wIAAG,iOAAyI,MAAU,6FAC1J,MAAM,2FACR,MAAM,yFACR,MAAM,2FAEN,+JAAqB,gGACnB,2IAAK,kGACH,gKAAwB,4HAAoC,MAAM,6FAClE,gKAAsB,oGACpB,mKAA2B,qPAAwG,KAAM,+FACzI,oKAA2B,oHAEzB,wIAAG,ocAA4W,MAAI,+FACrX,MAAM,6FACR,MAAM,2FACR,MAAM,yFACR,MAAM,+FAGJ,+JAAqB,kGACnB,2IAAK,oGACH,gKAAwB,mGAAW,MAAM,+FACzC,gKAAsB,sGACpB,mKAA2B,wNAA2E,KAAM,iGAC5G,qKAA2B,wGACzB,wIAAG,wXAAgS,MAAI,mGACvS,0IAAI,0GACF,yIAAI,4OAAoJ,MAAK,qGAC7J,yIAAI,yMAAiH,MAAK,qGAC1H,yIAAI,sKAA8E,MAAK,mGACzF,MAAK,iGACP,MAAM,+FACR,MAAM,6FACR,MAAM,2FACR,MAAM,+FAGN,+JAAqB,kGACnB,2IAAK,oGACH,gKAAwB,+HAAuC,MAAM,+FACrE,gKAAsB,sGACpB,mKAA2B,mQAAsH,KAAM,iGACvJ,qKAA2B,wGACzB,wIAAG,kRAAqL,MAAI,mGAC5L,0IAAI,0GACF,yIAAI,gHAAwB,MAAK,qGACjC,yIAAI,+GAAuB,MAAK,qGAChC,yIAAI,kIAA0C,MAAK,qGACnD,yIAAI,gJAAwD,MAAK,mGACnE,MAAK,iHAEP,MAAM,+FACR,MAAM,6FACR,MAAM,2FACR,MAAM,iGAIN,+JAAqB,kGACnB,2IAAK,oGACH,gKAAwB,mHAA2B,MAAM,+FACzD,gKAAsB,sGACpB,mKAA2B,sPAAyG,KAAM,iGAC1I,qKAA2B,wHAEzB,wIAAG,iQAAyK,MAAI,mGAChL,wIAAG,oRAA4L,MAAI,mGACnM,wIAAG,qOAA6I,MAAI,iGACtJ,MAAM,+FACR,MAAM,6FACR,MAAM,2FACR,MAAM,+FAGN,+JAAqB,kGACnB,2IAAK,oGACH,gKAAwB,4GAAoB,MAAM,+FAClD,gKAAsB,sGACpB,mKAA2B,yOAA4F,KAAM,iGAC7H,qKAA2B,wHAEzB,wIAAG,uNAA+H,MAAI,mGACtI,0IAAI,0GACF,yIAAI,wIAAgD,MAAK,qGACzD,yIAAI,0LAAkG,MAAK,qGAC3G,yIAAI,sLAA8F,MAAK,mGACzG,MAAK,iGACP,MAAM,+FACR,MAAM,6FACR,MAAM,2FACR,MAAM,+FAGN,+JAAqB,kGACnB,2IAAK,oGACH,gKAAwB,8HAAsC,MAAM,+FACpE,oKAA0B,sGACxB,kKAA0B,wGACxB,+PAAiH,sGACnH,MAAM,iGACN,sKAA4B,wHAE1B,wIAAG,kPAA0J,MAAI,mGACjK,wIAAG,qVAA6P,MAAI,mGACpQ,wIAAG,8OAAsJ,MAAI,iGAC/J,MAAM,+FACR,MAAM,6FACR,MAAM,2FACR,MAAM,+FAGN,+JAAqB,kGACnB,2IAAK,oGACH,gKAAuB,6HAAqC,MAAM,+FAClE,gKAAsB,sGACpB,mKAA0B,wGACxB,yPAA2G,sGAC7G,MAAM,iGACN,qKAA2B,wHAEzB,wIAAG,iRAAoL,MAAI,mGAC3L,0IAAI,0GACF,yIAAI,2LAAmG,MAAK,qGAC5G,yIAAI,yMAAiH,MAAK,qGAC1H,yIAAI,2MAAmH,MAAK,qGAC5H,yIAAI,6IAAqD,MAAK,mGAChE,MAAK,iGACP,MAAM,+FACR,MAAM,6FACR,MAAM,2FACR,MAAM,iGAIN,gKAAsB,kGACpB,2IAAK,oGACH,gKAAuB,kHAA0B,MAAM,+FACvD,gKAAsB,sGACpB,mKAA0B,wGACxB,qOAAwF,sGAC1F,MAAM,iGACN,qKAA2B,wHAEzB,wIAAG,6PACkC,MAAI,mGACzC,0IAAI,0GACF,yIAAI,uLAA+F,MAAK,qGACxG,yIAAI,kNAA0H,MAAK,qGACnI,yIAAI,mLAA2F,MAAK,mGACtG,MAAK,iGACP,MAAM,+FACR,MAAM,6FACR,MAAM,2FACR,MAAM,iGAIN,gKAAsB,kGACpB,2IAAK,oGACH,gKAAuB,mHAA2B,MAAM,+FACxD,oKAA0B,sGACxB,kKAAyB,wGACvB,uPAAyG,sGAC3G,MAAM,iGACN,8KAAoC,wGAClC,wIAAG,6OACkB,MAAI,mGACzB,yIAAI,0GACF,yIAAI,mHAA2B,MAAK,qGACpC,yIAAI,oKAA4E,MAAK,mGACvF,MAAK,mGACL,wIAAG,uQAC8C,MAAI,mGAEvD,MAAM,+FACR,MAAM,6FACR,MAAM,2FACR,MAAM,iGAIN,gKAAsB,kGACpB,2IAAK,oGACH,gKAAuB,sHAA8B,MAAM,+FAC3D,gKAAsB,sGACpB,mKAA0B,wGACxB,0PAA4G,sGAC9G,MAAM,iGACN,qKAA2B,wHAEzB,wIAAG,sTAC2F,MAAI,mGAClG,wIAAG,wPAC6B,MAAI,mGACpC,0IAAI,0GACF,yIAAI,sHAA8B,MAAK,qGACvC,yIAAI,iIAAyC,MAAK,qGAClD,yIAAI,kJAA0D,MAAK,mGACrE,MAAK,mGACL,wIAAG,0JAAkE,MAAI,mGAE3E,MAAM,+FACR,MAAM,6FACR,MAAM,2FACR,MAAM,iGAIN,gKAAsB,kGACpB,2IAAK,oGACH,gKAAuB,kHAA0B,MAAM,+FACvD,gKAAsB,sGACpB,mKAA0B,wGACxB,wOAA0F,sGAC5F,MAAM,iGACN,qKAA2B,wHAEzB,wIAAG,mfAG0B,MAAI,mGACjC,wIAAG,kdAEyG,MAAI,mGAChH,wIAAG,4RAC+D,MAAI,iGACxE,MAAM,+FACR,MAAM,6FACR,MAAM,2FACR,MAAM,iGAIN,gKAAsB,kGACpB,2IAAK,oGACH,gKAAuB,kGAAU,MAAM,+FACvC,gKAAsB,sGACpB,mKAA0B,wGACxB,uNAAyE,sGAC3E,MAAM,iGACN,qKAA2B,wHAEzB,wIAAG,kRAC8C,MAAI,mGACrD,wIAAG,0KACD,yIAAI,yHAAiC,MAAK,oFAAC,MAAI,mGACjD,wIAAG,iQACqC,MAAI,iGAC9C,MAAM,+FACR,MAAM,6FACR,MAAM,2FACR,MAAM,iGAIN,gKAAsB,kGACpB,2IAAK,oGACH,gKAAuB,kHAA0B,MAAM,+FACvD,gKAAsB,sGACpB,mKAA0B,wGACxB,qOAAuF,sGACzF,MAAM,iGACN,qKAA2B,wHAEzB,wIAAG,kQACmC,MAAI,mGAC1C,wIAAG,sQAC0C,MAAI,mGACjD,wIAAG,iJAAyD,MAAI,mGAChE,0IAAI,0GACF,yIAAI,0IAAkD,MAAK,qGAC3D,yIAAI,uIAA0C,MAAK,qGACnD,yIAAI,uIAA+C,MAAK,mGAC1D,MAAK,iGACP,MAAM,+FACR,MAAM,6FACR,MAAM,2FACR,MAAM,uFACV,MAAM,qFACR,MAAM,qFACN,mDAnWY,kDAAqC,GAA3C,aAA4C,EAAtC,SAAqC,GACrC,iDAAoC,GAA1C,aAA2C,EAArC,SAAoC,GACpC,mDAAsC,GAA5C,aAAkE,EAA5D,SAAsC,GACjB,aAAkB,GAWT,mCAAyC,GAAnE,wBAAyB,EAA7B,aAAwE,EAA1C,SAAyC,EAAnE,SAAyB,GAA4D,0BAA8B,EAA5C,kBAAa,EAAhB,aAAgD,EAA/B,SAA8B,EAA5C,SAAa,GACpF,wBAAyB,EAA7B,aAA8B,EAA1B,SAAyB,GAA0B,2BAA8B,EAApD,2BAAqB,EAAxB,aAAwD,EAA/B,UAA8B,EAApD,UAAqB,GACrD,yBAAyB,EAA7B,aAA8B,EAA1B,UAAyB,GAA4B,2BAA8B,EAAtD,6BAAuB,EAA1B,aAA0D,EAA/B,UAA8B,EAAtD,UAAuB,GA4B/D,cAAe,2BA9BmE,6NAAgD,GAC1F,iOAAwD,GAC3D,iOAA0D;;;;;;;;;;;;ACpBjG;AAAA;AAAA;AAAA;AAAA;AAAwD;AACJ;AACsB;AACC;AAI3E;IAiBE,sBAAoB,UAAsB,EAAU,gBAAkC,EAAU,iBAAoC;QAAhH,eAAU,GAAV,UAAU,CAAY;QAAU,qBAAgB,GAAhB,gBAAgB,CAAkB;QAAU,sBAAiB,GAAjB,iBAAiB,CAAmB;QAXpI,UAAK,GAAW,+BAA+B,CAAC;QAChD,yBAAoB,GAAS,IAAI,CAAC;QAClC,wBAAmB,GAAS,IAAI,CAAC;QACjC,0BAAqB,GAAS,IAAI,CAAC;QAKnC,aAAQ,GAAW,qCAAqC,CAAC;QAIvD,IAAI,CAAC,UAAU,CAAC,OAAO,GAAG,8EAAW,CAAC,MAAM,CAAC;QAC7C,IAAI,CAAC,UAAU,CAAC,WAAW,GAAG,EAAE,CAAC;IACnC,CAAC;IAED,+BAAQ,GAAR;QAAA,iBAgEC;QA9DG,CAAC,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC;YACnB,QAAQ,EAAG,GAAG;YACd,SAAS,EAAG,KAAK;YACjB,SAAS,EAAE,GAAG;YACd,SAAS,EAAG,KAAK;YACjB,KAAK,EAAI,KAAK;YACd,iBAAiB;YACjB,mBAAmB;YACnB,UAAU,EAAE,IAAI;YAChB,UAAU,EAAG,KAAK;YAClB,UAAU,EAAG,MAAM;YACnB,WAAW,EAAG,MAAM;YACpB,IAAI,EAAI,KAAK;YAGhB;;;;;;;;;;;;;;;;;;;;mCAoBuB;SACvB,CAAC,CAAC;QAIL,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,CAAC,SAAS,CAC5E,cAAI;YACF,KAAI,CAAC,oBAAoB,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YAC3D,KAAI,CAAC,mBAAmB,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC3D,CAAC,EAAE,IAAI,EAAE;QAET,CAAC,CACF;QAED,IAAI,CAAC,gCAAgC,GAAG,IAAI,CAAC,iBAAiB,CAAC,cAAc,EAAE,CAAC,SAAS,CACvF,cAAI;YACF,KAAI,CAAC,qBAAqB,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC1D,CAAC,EAAE,IAAI,EAAE;QAET,CAAC,CACF;QACD,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC,gBAAgB,CAAC,sBAAsB,EAAE,CAAC,SAAS,CACvF,cAAI;YACF,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACvD,CAAC,CACF;IACH,CAAC;IAEM,gCAAS,GAAhB;QACI,MAAM,CAAC,KAAK,EAAE,CAAC;IACnB,CAAC;IAEM,oCAAa,GAApB;QACE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACxE,IAAI,CAAC,gBAAgB,CAAC,sBAAsB,EAAE;IAChD,CAAC;IAGD,sCAAe,GAAf;IAEA,CAAC;IACH,mBAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtGD;AAAA;AAAA;AAAA;AAAA;AAAA;AAA+B;AACS;AACQ;AACX;AACP;AAqB9B;IAAA;IA6ByB,CAAC;IAAD,gBAAC;AAAD,CAAC;;;;;;;;;;AC1D1B;AAAA;IAAA;IAMgC,CAAC;IAAD,uBAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2HCF7B,uJAAiF,gCAA9B,kBAA6B,gCAAhF,YAAiF,EAA9B,SAA6B;2HALlF,oKAAoG,8FAClG,6LAAuJ,YAAtC;;wBAAqC;MAAtJ,weAAuJ,GAAlJ,+GAA2G,MAAuC,2FACrJ,0JAAmB,kKAAuC,IAAO,2FACjE,ylBAAwF,GAApF,wFAAmF,MAAC,uFAAoB,MAAK,yFACnH,MAAM,yFACN,4cAAiF,IAAU,uFAC7F,mDALO,oGAA2G,KAAhH,YAAuJ,EAAlJ,SAA2G,GAE1G,+FAAmF,KAAvF,aAAwF,EAApF,SAAmF,GAEhF,+CAAyC,oBAAlD,aAAiF,EAAxE,SAAyC,2BALI,mJAA2C,GAAnG,YAAoG,EAA5C,SAA2C,GAE5E,mPAAuC,GAC8B,oEAAoB;oUALlH,qLAA8C,4FAC5C,qKAA8B,4FAC9B,6hBAAoG,IAM1F,uFACV,MAAM,qFACR,MAAM,qFACN,0JAAkB,KAAM,uFAExB,mDAXW,mBAA+B,OAAxC,YAAoG,EAA3F,SAA+B;;;;;;;;;;;;ACD1C;AAAA;AAAA;AAAmE;AACV;AAEzD,qBAAqB;AACrB;IAcE,oCAAmB,iBAAoC,EAAS,KAAqB,EAAU,MAAc;QAA1F,sBAAiB,GAAjB,iBAAiB,CAAmB;QAAS,UAAK,GAAL,KAAK,CAAgB;QAAU,WAAM,GAAN,MAAM,CAAQ;QAP7G,SAAI,GAAO,EAAE,CAAC;IAOmG,CAAC;IAElH,6CAAQ,GAAR;QAAA,iBAqBC;QAnBG,IAAI,UAAU,GAAQ,IAAI,CAAC;QAE3B,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC,SAAS,CAAC,cAAI;YACjD,KAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACrB,CAAC,EAAC,cAAK,CAAC,EACJ;YAEA,KAAI,CAAC,EAAE,GAAG,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAExG,EAAE,CAAC,CAAC,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACzC,UAAU,CAAC,gBAAgB,GAAG,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC;gBACpE,KAAI,CAAC,OAAO,CAAC,KAAI,CAAC,EAAE,CAAC,CAAC;YAC1B,CAAC;YACD,IAAI,EAAC;gBACD,UAAU,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;YAC3C,CAAC;QAEL,CAAC,CAAC,CAAC;IAEX,CAAC;IAGD,4CAAO,GAAP,UAAQ,EAAE;QAAV,iBAUC;QATG,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,SAAS,CAClD,cAAI;YAAI,KAAI,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC;YAEjC,KAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAC,OAAO;gBACtB,EAAE,EAAC,OAAO,CAAC,EAAE,IAAI,KAAI,CAAC,gBAAiB,CAAC,EAAC;oBACrC,OAAO,CAAC,IAAI,GAAG,KAAI,CAAC,WAAW,CAAC;gBACpC,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACX,CAAC;IAEC,iDAAY,GAAZ,UAAa,EAAE;QAAf,iBAQC;QAPC,EAAE,EAAC,IAAI,CAAC,gBAAgB,IAAI,EAAE,CAAC,EAAC;YAAA,MAAM,CAAC;QAAA,CAAC;QAEtC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,aAAa,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YAC5C,KAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;YAC3B,KAAI,CAAC,EAAE,GAAG,EAAE,CAAC;YACb,KAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC;IACP,CAAC;IAEH,gDAAW,GAAX;QACI,EAAE,EAAC,IAAI,CAAC,YAAY,CAAC,EAAC;YAClB,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;QACpC,CAAC;IACL,CAAC;IAGH,iCAAC;AAAD,CAAC;;;;;;;;;;ACzED;AAAA;AAAsD;AAEtD;IAGE,2BAAoB,UAAsB;QAAtB,eAAU,GAAV,UAAU,CAAY;QACxC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED,0CAAc,GAAd;QACE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,yCAAa,GAAb;QACE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,6CAAiB,GAAjB,UAAkB,EAAE;QAClB,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,aAAa,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;IAC3D,CAAC;IACD,yFAAyF;IACzF,8CAAkB,GAAlB,UAAmB,YAAY;QAC7B,IAAI,IAAI,GAAQ,EAAE,CAAC;QACnB,IAAI,SAAS,GAAG;YACd,EAAE,EAAG,CAAC;YACJ,MAAM,EAAC,sKAAsK;YAC7K,IAAI,EAAE,cAAc;YACpB,IAAI,EAAE,4qEAsBgH;SACzH,CAAC;QAGF,IAAI,SAAS,GAAG;YACZ,EAAE,EAAG,CAAC;YACN,MAAM,EAAC,sKAAsK;YAC7K,IAAI,EAAE,cAAc;YACpB,IAAI,EAAE,4qEAsBgH;SACzH,CAAC;QAEF,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACrB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAGrB,MAAM,CAAC,IAAI,CAAC;IACd,CAAC;IACH,wBAAC;AAAD,CAAC;;;;;;;;;;AC1ED;AAAA,8DAA8D;AAE9D,+EAA+E;AAG/E;IAAA;IAU+B,CAAC;IAAD,sBAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0HC3B7B,wJAA6C,kGAC5C,uIAAI,2NAAmG,IAAK,6FAC5G,0JAAmB,oGAClB,iLAA0C,+FAAiC,MAAO,4FAAS,MAAO,kIAAI,0GAAkB,MAAK,oFAAC,2JAA4C,oGAC1K,kLAA0C,gGAA8B,MAAO,6FAChF,MAAO,2FACR,yDALK,kPAAmG,GAE5D,sEAAiC,GAAyD,oIAAqC,GAA3C,aAA4C,EAAtC,SAAqC,GAC/H,oEAA8B;0HAS1E,0kCACqI,GAA7G,kEAA4G,IAAC,2FACrI,mDADwB,0RAA4G,KADpI,YACqI,EAA7G,SAA4G;0HA4BnI,yiCAIuD,iGACvD,mDAJsB,mDAA6C,EAC7C,0EAAuE,EACvE,2BAAuB,EACvB,mBAAgC,mBAJtD,YAIuD,EAHjC,SAA6C,EAC7C,SAAuE,EACvE,SAAuB,EACvB,SAAgC;0HAEtD,yiCAI4D,iGAC5D,mDAJwB,uDAAiD,EACjD,kEAA+D,EACjE,+BAA2B,EAC3B,mBAAqC,wBAJ3D,YAI4D,EAHpC,SAAiD,EACjD,SAA+D,EACjE,SAA2B,EAC3B,SAAqC;0HAE3D,00BAE2D,iGAC3D,2BAFa,uDAAiD,EACjD,gDAA6C,EAF1D,YAE2D,EAD9C,SAAiD,EACjD,SAA6C;0HA9C7D,oKAAyD,8FACxD,+JAAuB,kGAEtB,2cACqI,IACpF,2FACjD,4gCAEgE,+FAChE,MAAqC,2FACrC,49BAE8E,IAAgC,2FAC9G,02BACwG,+FACxG,MAAwB,yFACzB,MAAM,2FAEN,gKAAuB,gGACtB,+JAAsB,kGACrB,2JAAkB,oGACjB,8JAAqB,sGACpB,0lBAAoE,GAAhE,6EAA+D,MAAC,qLACxB,YAA3C;;wBAA0C;MADyB,wBACxB,6GAAqB,MAAS,iGAC1E,0lBAAyD,GAArD,6EAAoD,MAAC,qLAAmC,YAAhC;;wBAA+B;MAAlC,wBAAmC,oHACrF,MAAS,iGAChB,0lBAA8D,GAA1D,6EAAyD,MAAC,qLAAwC,YAArC;;wBAAoC;MAAvC,wBAAwC,sHAC5F,MAAS,+FACpB,MAAK,6FACN,MAAM,2FACP,MAAM,2FACN,0IAAK,kGACJ,4cAIuD,IACX,6FAC5C,4cAI4D,IAChB,6FAC5C,4cAE2D,IACjC,2FAC3B,MAAM,2FACN,ozBACsC,+FACtC,MAAyB,2FACzB,40BAEoF,+FACpF,MAAsB,2FACtB,40BAEwF,+FACxF,MAAsB,2FACtB,s0BAAqB,IAAsB,yFAC5C,MAAM,uFACP,mDA3DkD,mBAAoB,eAApE,YACqI,EADrF,SAAoB,GAInE,qBAAuB,EACvB,oEAA8D,EAF/D,YAEgE,EAD/D,SAAuB,EACvB,SAA8D,GAG9D,qBAAuB,EACvB,kFAA4E,EAF7E,aAE8E,EAD7E,SAAuB,EACvB,SAA4E,GAE5E,4GAAsG,EADvG,aACwG,EAAvG,SAAsG,GAQhG,wEAA+D,IAAnE,aAAoE,EAAhE,SAA+D,GAE/D,6DAAoD,IAAxD,aAAyD,EAArD,SAAoD,GAEpD,kEAAyD,IAA7D,aAA8D,EAA1D,SAAyD,GAMpB,yDAAiD,GAA5F,aAIuD,EAJZ,SAAiD,GAMjD,+CAAsC,GAAjF,aAI4D,EAJjB,UAAsC,GAMxD,oDAA2C,GAApE,aAE2D,EAFlC,UAA2C,GAMpE,yCAAoC,EADrC,aACsC,EAArC,UAAoC,GAGpC,2BAAgC,EAChC,oFAAkF,EAFnF,aAEoF,EADnF,UAAgC,EAChC,UAAkF,GAGlF,8BAAmC,EACnC,wFAAsF,EAFvF,aAEwF,EADvF,UAAmC,EACnC,UAAsF,GAEvF,aAAqB;0HAIvB,oKAAyD,8FACxD,uIAAI,2HAAmC,MAAK,yFAC5C,+JAAuB,gGACtB,4gCAEmE,+FACnE,MAAqC,2FACrC,8gCAEsE,+FACtE,MAAqC,2FACrC,8gCAE4E,+FAC5E,MAAqC,2FACrC,8gCAEiF,+FACjF,MAAqC,2FACrC,49BAEkG,+FAClG,MAAgC,2FAChC,49BAEqF,+FACrF,MAAgC,2FAChC,49BAEoF,+FACpF,MAAgC,yFACjC,MAAM,yFACN,gKAAuB,gGACtB,8gCAEoF,+FACpF,MAAqC,2FACrC,8gCAEuE,+FACvE,MAAqC,2FACrC,8gCAEsE,+FACtE,MAAqC,2FACrC,49BAEiF,+FACjF,MAAgC,2FAChC,49BAEoF,+FACpF,MAAgC,2FAChC,49BAE0F,+FAC1F,MAAgC,2FAChC,49BAE+F,+FAC/F,MAAgC,yFACjC,MAAM,uFACP,2BA1DG,sBAAwB,EACxB,uEAAiE,EAFlE,YAEmE,EADlE,SAAwB,EACxB,SAAiE,GAGjE,yBAA2B,EAC3B,0EAAoE,EAFrE,aAEsE,EADrE,SAA2B,EAC3B,SAAoE,GAGpE,+BAAiC,EACjC,gFAA0E,EAF3E,aAE4E,EAD3E,SAAiC,EACjC,SAA0E,GAG1E,oCAAsC,EACtC,qFAA+E,EAFhF,aAEiF,EADhF,SAAsC,EACtC,SAA+E,GAG/E,sCAAwC,EACxC,sGAAgG,EAFjG,aAEkG,EADjG,SAAwC,EACxC,SAAgG,GAGhG,2BAA4B,EAC5B,0FAAmF,EAFpF,aAEqF,EADpF,UAA4B,EAC5B,UAAmF,GAGnF,0BAA2B,EAC3B,yFAAkF,EAFnF,aAEoF,EADnF,UAA2B,EAC3B,UAAkF,GAKlF,uCAAwC,EACxC,yFAAkF,EAFnF,aAEoF,EADnF,UAAwC,EACxC,UAAkF,GAGlF,2BAA4B,EAC5B,4EAAqE,EAFtE,aAEuE,EADtE,UAA4B,EAC5B,UAAqE,GAGrE,0BAA2B,EAC3B,2EAAoE,EAFrE,aAEsE,EADrE,UAA2B,EAC3B,UAAoE,GAGpE,uBAAwB,EACxB,sFAA+E,EAFhF,aAEiF,EADhF,UAAwB,EACxB,UAA+E,GAG/E,0BAA2B,EAC3B,yFAAkF,EAFnF,aAEoF,EADnF,UAA2B,EAC3B,UAAkF,GAGlF,gCAAiC,EACjC,+FAAwF,EAFzF,aAE0F,EADzF,UAAiC,EACjC,UAAwF,GAGxF,qCAAsC,EACtC,oGAA6F,EAF9F,aAE+F,EAD9F,UAAsC,EACtC,UAA6F;0HAK/F,iIAA2B,mHAA2B;0HACtD,iIAA4B,yGAAiB;2HAK7C,wJAA8C,gGAC7C,y5BAC8G,+FAC9G,MAAoC,2FACpC,qaAWgF,8FACjF,2BAdE,kHAA4G,EAD7G,YAC8G,EAA7G,SAA4G,mDAExG,yUAI+B,GAOjC,wIAAuC,GAX1C,YAWgF,EAX3E,SAI+B,EAOjC,SAAuC;oUAlKzB,uFACnB,0JAAmB,8FAClB,2KAAoC,gGACnC,2cAA6C,IAMvC,yFACP,MAAM,uFACP,MAAM,yFAEN,4cAAyD,IA8DnD,2FAEN,4cAAyD,IA8DnD,uFACN,2KAAkC,8FACjC,4cAA2B,IAAgC,yFAC3D,4cAA4B,IAAsB,yFAClD,+JAAuB,gGACtB,uyBAAyB,+FACzB,MAA0B,yFAC3B,MAAM,yFACN,6cAA8C,IAgBxC,uFACP,MAAM,uFACN,4JAAmB,8FAClB,uKAA8B,gGAC7B,gOAAkF,yFAAC,MAAwB,6FAC1G,+JAAuB,KAAO,4HAC/B,MAAI,2FACJ,4JAAoB,uJAA+D,wLAAgD,sHAA8B,MAAQ,yFAC1K,MAAM,uFACP,MAAM,uFACN,0JAAkB,KAAM,qFACzB,MAAa,qFACb,mDA5KyB,mBAAsB,iBAA5C,YAA6C,EAAvB,SAAsB,GAUZ,mBAAsB,iBAAxD,aAAyD,EAAvB,SAAsB,GAgEtB,mBAAsB,iBAAxD,aAAyD,EAAvB,SAAsB,GAgEnD,mBAAsB,iBAA1B,aAA2B,EAAvB,SAAsB,GACtB,oBAAuB,iBAA3B,aAA4B,EAAxB,SAAuB,GAE1B,aAAyB,GAGH,mBAAsB,iBAA7C,aAA8C,EAAvB,SAAsB;;;;;;;;;;;;AClJ/C;AAAA;AAAA;AAAyC;AACwB;AAOjE;IAOE,mCAAmB,gBAAkC,EAAU,MAAa;QAAzD,qBAAgB,GAAhB,gBAAgB,CAAkB;QAAU,WAAM,GAAN,MAAM,CAAO;QAG5E,iBAAY,GAAW,EAAE,CAAC;QAE1B,YAAO,GAAY,KAAK,CAAC;QACzB,iBAAY,GAAY,KAAK,CAAC;QAI9B,aAAQ,GAAW,uBAAuB,CAAC;QAE3C,kBAAa,GAAG,CAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,CAAC,CAAC,CAAC,+CAA+C;QAX9K,IAAI,CAAC,mBAAmB,GAAG,gBAAgB,CAAC,sBAAsB,EAAE,CAAC;IACvE,CAAC;IAqBD,4CAAQ,GAAR;QAAA,iBAmEC;QAlEC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC;QAClD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;QACpC,EAAE,EAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACvC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACtD,CAAC;QAED,IAAI,CAAC,gBAAgB,GAAG;YACpB,EAAC,KAAK,EAAG,SAAS,EAAE,KAAK,EAAG,QAAQ,EAAG,QAAQ,EAAG,iBAAiB,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAC;YAChG,EAAC,KAAK,EAAG,SAAS,EAAE,KAAK,EAAG,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;YACrE,EAAC,KAAK,EAAG,SAAS,EAAE,KAAK,EAAG,YAAY,EAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;YACrE,EAAC,KAAK,EAAG,SAAS,EAAE,KAAK,EAAG,UAAU,EAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;YACjE,EAAC,KAAK,EAAG,SAAS,EAAE,KAAK,EAAG,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAC;YACjE,EAAC,KAAK,EAAG,SAAS,EAAE,KAAK,EAAG,GAAG,EAAG,QAAQ,EAAG,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE;YAC9E,EAAC,KAAK,EAAG,SAAS,EAAE,KAAK,EAAG,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAC;YAC7D,EAAC,KAAK,EAAG,SAAS,EAAE,KAAK,EAAG,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAC;YAC9D,EAAC,KAAK,EAAG,SAAS,EAAE,KAAK,EAAG,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAC;YACjE,EAAC,KAAK,EAAG,SAAS,EAAE,KAAK,EAAG,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAC;YACjE,EAAC,KAAK,EAAG,SAAS,EAAE,KAAK,EAAG,OAAO,EAAG,QAAQ,EAAG,iBAAiB,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAC;SACjG,CAAC;QAEF,IAAI,CAAC,qBAAqB,GAAG;YACzB,EAAC,KAAK,EAAG,SAAS,EAAE,KAAK,EAAG,QAAQ,EAAG,QAAQ,EAAG,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAC;YACnF,EAAC,KAAK,EAAG,SAAS,EAAE,KAAK,EAAG,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;YACrE,EAAC,KAAK,EAAG,SAAS,EAAE,KAAK,EAAG,YAAY,EAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;YACrE,EAAC,KAAK,EAAG,SAAS,EAAE,KAAK,EAAG,UAAU,EAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;YACjE,EAAC,KAAK,EAAG,SAAS,EAAE,KAAK,EAAG,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAC;YACjE,EAAC,KAAK,EAAG,SAAS,EAAE,KAAK,EAAG,GAAG,EAAG,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE;YACzD,EAAC,KAAK,EAAG,SAAS,EAAE,KAAK,EAAG,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAC;YAC7D,EAAC,KAAK,EAAG,SAAS,EAAE,KAAK,EAAG,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAC;YAC9D,EAAC,KAAK,EAAG,SAAS,EAAE,KAAK,EAAG,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAC;YACjE,EAAC,KAAK,EAAG,SAAS,EAAE,KAAK,EAAG,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAC;YACjE,EAAC,KAAK,EAAG,SAAS,EAAE,KAAK,EAAG,OAAO,EAAG,QAAQ,EAAG,wBAAwB,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAC;SACxG,CAAC;QAGA,CAAC,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC;YAC3B,QAAQ,EAAG,GAAG;YACd,SAAS,EAAG,GAAG;YACf,SAAS,EAAG,KAAK;YACjB,KAAK,EAAI,KAAK;YACd,IAAI,EAAE,QAAQ;YACd,iBAAiB;YACjB,mBAAmB;YACnB,mBAAmB;YACnB,UAAU,EAAG,KAAK;YAClB,UAAU,EAAG,MAAM;YACnB,WAAW,EAAG,MAAM;SACvB,CAAC,CAAC;QAEL,UAAU,CAAC,UAAU,CAAC;YACpB,SAAS,EAAG;gBACV,OAAO,EAAG;oBACR,aAAa,EAAG;wBACd,IAAI,EAAG,IAAI;qBACZ;iBACF;aACF;SACF,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,CAAC,SAAS,CACtE,cAAI;YACF,KAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC9B,CAAC,EAAE,IAAI,EAAE;YACH,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QAC/B,CAAC,CAAC,CAAC;IACP,CAAC;IAEM,wDAAoB,GAA3B;QACE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;IACnD,CAAC;IAEM,oDAAgB,GAAvB;QACE,MAAM,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACtH,CAAC;IAEM,2CAAO,GAAd,UAAe,EAAE;QACf,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;IACrB,CAAC;IAED,+CAAW,GAAX;QACE,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;IAClC,CAAC;IAEM,gDAAY,GAAnB;QACE,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,YAAY,IAAI,GAAG,CAAC;IAClD,CAAC;IAEM,gDAAY,GAAnB;QACE,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,YAAY,IAAI,WAAW,CAAC;IAC1D,CAAC;IAEH,gCAAC;AAAD,CAAC;;;;;;;;;;AClID;AAAA;AAAwD;AACxD;IAGE,0BAAoB,UAAsB;QAAtB,eAAU,GAAV,UAAU,CAAY;QACxC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED,yCAAc,GAAd;QACE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,4CAAiB,GAAjB;QACE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,6CAAkB,GAAlB;QACE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,+BAA+B,EAAE,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,uCAAY,GAAZ;QACE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,yCAAc,GAAd;QACE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,oCAAoC,EAAE,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED,yDAA8B,GAA9B,UAA+B,iBAAiB;QAC9C,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,iBAAiB,EAAE,EAAC,QAAQ,EAAG,iBAAiB,EAAC,CAAC,CAAC;IACtF,CAAC;IAED,kDAAuB,GAAvB,UAAwB,aAAa;QACnC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,4BAA4B,EAAE,EAAC,QAAQ,EAAG,aAAa,EAAC,CAAC,CAAC;IAC7F,CAAC;IAED,6CAAkB,GAAlB;QACE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,oDAAyB,GAAzB,UAA0B,gBAAgB;QACxC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,+BAA+B,EAAE,EAAC,QAAQ,EAAG,gBAAgB,EAAC,CAAC,CAAC;IACnG,CAAC;IAED,iDAAsB,GAAtB;QACE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,uBAAuB,EAAC,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,wDAA6B,GAA7B;QACE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,6BAA6B,EAAE,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,mEAAwC,GAAxC;QACE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,2CAA2C,EAAE,EAAE,CAAC,CAAC;IACpF,CAAC;IAED,+DAAoC,GAApC;QACE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,wCAAwC,EAAE,EAAE,CAAC,CAAC;IACjF,CAAC;IAGD,gEAAqC,GAArC;QACE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,2CAA2C,EAAE,EAAE,CAAC,CAAC;IACpF,CAAC;IAED,mDAAwB,GAAxB;QACI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,+BAA+B,EAAE,EAAE,CAAC,CAAC;IAC1E,CAAC;IAED,iDAAsB,GAAtB;QACE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,GAAG,iCAAiC,CAAC;IACrE,CAAC;IAED,iDAAsB,GAAtB;QACE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,CAAE,CAAC;IACpD,CAAC;IACH,uBAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qHC5EG,qJAAuC,kGACnC,gPAGC,YAFqB;;wBAA+C;MAC/C;;wBAAuC;MAF7D,2kDAGC,MAAuB,yFAC5B,mDAJ0B,mBAAoC,2BAA1D,YAGC,EAHqB,SAAoC;qHAHlE,sJAAqB,8FACjB,wNAAsD,YAAzB;;wBAAwB;MAArD,wBAAsD,4JAAsB,KAAO,mGAAgB,MAAI,yFACvG,qcAAuC,IAKjC,qFACV,mDANwB,mBAAkB,aAAtC,YAAuC,EAAnB,SAAkB;;;;;;;;;;;;ACA1C;AAAA;AAAA;AAAA;AAA0E;AAC5B;AACO;AAGrD;IA8BI,8BAAmB,gBAAkC,EAAS,UAAsB;QAAjE,qBAAgB,GAAhB,gBAAgB,CAAkB;QAAS,eAAU,GAAV,UAAU,CAAY;QAtBpF,eAAU,GAAY,KAAK,CAAC;QAC5B,iBAAY,GAAO,EAAE,CAAC;QAEtB,6BAAwB,GAAkB;YACtC,UAAU,EAAE,YAAY;YACxB,cAAc,EAAE,IAAI;YACpB,YAAY,EAAE,IAAI;YAClB,iBAAiB;YACjB,iBAAiB;YACjB,MAAM,EAAE,IAAI;YACZ,kBAAkB,EAAE,KAAK;YACzB,wBAAwB,EAAE,IAAI;YAC9B,YAAY,EAAE,KAAK;YACnB,YAAY,EAAC,KAAK;YAClB,eAAe,EAAE,IAAI;YACrB,kBAAkB,EAAC,KAAK;YAExB,iCAAiC;YACjC,+BAA+B;SAElC;IAEuF,CAAC;IAEzF,uCAAQ,GAAR;IACA,CAAC;IAGD,iBAAiB;IACjB,8BAA8B;IAC9B,gCAAgC;IAChC,IAAI;IAEJ,2CAAY,GAAZ;QACI,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC;IACvC,CAAC;IAMD,wFAAwF;IACxF,mFAAmF;IACnF,iCAAiC;IACjC,iDAAkB,GAAlB,UAAmB,KAAwB;QACzC,yBAAyB;QACvB,yEAAyE;QACzE,oCAAoC;IACxC,CAAC;IAID,6CAAc,GAAd,UAAe,KAAwB;QAAvC,iBAwBC;QAvBG,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,IAAI,YAAY,GAAG,mEAAK,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;QAClD,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC;QAEhB,IAAI,CAAC,gBAAgB,CAAC,sBAAsB,EAAE,CAAC,SAAS,CACpD,cAAI;YACA,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QAC7B,CAAC,EAAC,IAAI,EAAC;YACH,KAAI,CAAC,YAAY,CAAC,OAAO,CAAC,UAAS,OAAO;gBACtC,EAAE,EAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,YAAY,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC;oBACvH,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;gBAC5B,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,EAAE,EAAC,CAAC,KAAI,CAAC,GAAG,CAAC,EAAC;gBACV,KAAK,CAAC,0CAA0C,CAAC,CAAC;gBAClD,MAAM,CAAC;YACX,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,KAAI,CAAC,UAAU,CAAC,OAAO,GAAG,KAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QAC9D,CAAC,CACJ,CAAC;QAEJ,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;IAC1B,CAAC;IAKL,2BAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;6HChGD,0LAAiD,4FAC/C,uKAA8B,8FAC5B,uIAAI,yHAAiC,MAAK,yFAC1C,wIAAI,gGACF,uIAAI,gLAAyC,yHAAiC,MAAI,wFAAK,yLAAiD,mGAAW,MAAI,4FACvJ,MAAK,2FACL,wIAAI,kGACF,sKAA8B,iHAAyB,MAAI,2FAC7D,MAAK,2FACL,wIAAI,kIAC8B,8PACmF,8FAAM,MAAI,wFAAK,+PAAuH,+FAAO,MAAI,2FACtQ,MAAK,2FACL,wIAAI,oLAA6C,+HAAuC,MAAS,2FACjG,wIAAI,8KAAuC,sHAA8B,MAAS,2FAClF,yIAAI,wIACF,yIAAI,oGACF,wIAAI,gLAAyC,mGAAW,MAAS,+FACjE,wIAAI,gLAAyC,qGAAa,MAAS,+FACnE,wIAAI,4LAAqD,wGAAgB,MAAS,+FAClF,wIAAI,4LAAqD,6HAAqC,MAAS,+FACvG,wIAAI,8KAAuC,uGAAe,MAAS,6FACrE,MAAK,2FACP,MAAK,2FACL,wIAAI,sKAA+B,2GAAmB,MAAS,2FAC/D,wIAAI,qKAA8B,0GAAkB,MAAS,2FAC7D,wIAAI,iKAA0B,iHAAyB,MAAS,2FAChE,wIAAI,6KAAsC,qHAA6B,MAAS,yFAClF,MAAK,yFACL,wIAAI,4HAAoC,MAAK,yFAC7C,yIAAI,gGACF,wIAAI,+HAAuC,MAAK,2FAChD,wIAAI,iIAAyC,MAAK,2FAClD,wIAAI,kIAA0C,MAAK,yFACrD,MAAK,yFACL,wIAAI,4GAAoB,MAAK,yFAC7B,yIAAI,gGACF,yIAAI,qPACsG,kJAA0D,MAAS,yFAC/K,MAAK,yFACL,yIAAI,4KAAoF,MAAK,yFAC7F,yIAAI,gGACF,yIAAI,6LAAqD,2GAAmB,MAAS,yFACvF,MAAK,yFACL,yIAAI,kHAA0B,MAAK,yFACnC,0IAAI,gGACF,yIAAI,gLAAwC,qJAA6D,MAAS,2FAClH,yIAAI,qOAA6F,kIAA0C,MAAS,2FACpJ,yIAAI,2NAAmF,4IAAoD,MAAS,yFACtJ,MAAK,uFACP,MAAM,qFACR,MAAM,qFACN;;;;;;;;;;;;AClDA;AAAA;IAME;IAAgB,CAAC;IAEjB,+CAAQ,GAAR;IACA,CAAC;IAEH,mCAAC;AAAD,CAAC;;;;;;;;;;ACVD;AAAA;IAAA;IAMkC,CAAC;IAAD,yBAAC;AAAD,CAAC;;;;;;;;;;ACLnC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA6E;AACtC;AACR;AACS;AACQ;AACX;AACP;AAM9B,IAAM,aAAa,GAAG;IACpB,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,MAAM;IACZ,GAAG,EAAE,KAAK;IACV,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;CACjB;AAGD,IAAM,YAAY,GAAG;IACnB,OAAO,EAAE,IAAI,yEAAW,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC;CACjE,CAAC;AAGF;;;;;;;;;GASG;AAEH;IAME,oBAAoB,IAAgB,EAAU,MAAc;QAAxC,SAAI,GAAJ,IAAI,CAAY;QAAU,WAAM,GAAN,MAAM,CAAQ;IAE5D,CAAC;IAGD,sCAAiB,GAAjB,UACI,MAAM,EACN,MAAa;QAAb,sCAAa;QAGf,MAAM,CAAC,IAAI,CAAC,OAAO,CACf,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,CAC5C;IAEH,CAAC;IAED,8BAAS,GAAT,UAAU,GAAG;QACX,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAGD,8BAAS,GAAT,UAAU,MAAM,EAAE,MAAM,EAAE,MAAqB;QAArB,sCAAqB;QAC7C,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACjF,CAAC;IAED,4BAAO,GAAP,UACI,MAAM,EACN,IAAW;QAAX,kCAAW;QAEb,MAAM,CAAC,IAAI,CAAC,QAAQ,CAChB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EACzC,IAAI,CACP,CAAC;IACJ,CAAC;IAKD;;;;;;OAMG;IACK,6BAAQ,GAAhB,UAAiB,QAAQ,EAAE,MAAM,EAAE,eAAsB;QACvD,yBAAyB;QADQ,wDAAsB;QAGvD,IAAI,QAAQ,GAAW,EAAE,CAAC;QAC1B,kCAAkC;QAClC,EAAE,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;YACpB,yDAAyD;YACzD,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;gBACnC,QAAQ,GAAG,GAAG,GAAG,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC7C,CAAC;YAAA,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,eAAe,KAAK,QAAQ,IAAI,eAAe,YAAY,MAAM,CAAC,EAAC;gBAClF,QAAQ,GAAG,GAAG,GAAG,eAAe,CAAC;YACnC,CAAC;YAAA,IAAI,CAAC,EAAE,CAAC,CAAC,OAAM,CAAC,eAAe,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC;gBAC/C,IAAI,MAAM,GAAG,EAAE,CAAC;gBAChB,GAAG,EAAC,IAAI,GAAG,IAAI,eAAe,CAAC,CAAC,CAAC;oBAC/B,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC;gBAChD,CAAC;gBAED,QAAQ,GAAG,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACpC,CAAC;QACH,CAAC;QACD,MAAM,CAAC,QAAQ,GAAG,GAAG,GAAG,MAAM,GAAG,QAAQ,CAAC;IAC5C,CAAC;IAKD;;;;;;;;OAQG;IACH,4BAAO,GAAP,UAAQ,GAAG,EAAE,MAAa,EAAE,MAAsB,EAAE,mBAA0B,EAAE,UAA2B,EAAE,SAAyB;QAAzH,sCAAa;QAAE,sCAAsB;QAAE,gEAA0B;QAAE,+CAA2B;QAAE,4CAAyB;QACpI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAChH,CAAC;IAGD;;;;;;OAMG;IACH,+BAAU,GAAV,UAAW,GAAG,EAAE,UAA2B,EAAE,SAAyB;QAAtD,+CAA2B;QAAE,4CAAyB;QACpE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;IAC9E,CAAC;IAED;;;;;;;;OAQG;IACH,6BAAQ,GAAR,UAAS,GAAG,EAAE,IAAI,EAAE,UAA2B,EAAE,SAAyB,EAAE,MAAuB;QAA/E,+CAA2B;QAAE,4CAAyB;QAAE,uCAAuB;QACjG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAC1F,CAAC;IAED;;;;;;;;OAQG;IACH,4BAAO,GAAP,UAAQ,GAAG,EAAE,IAAI,EAAE,UAA2B,EAAE,SAAyB,EAAE,MAAuB;QAA/E,+CAA2B;QAAE,4CAAyB;QAAE,uCAAuB;QAChG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACzF,CAAC;IAID;;;;;;;;OAQG;IACH,8BAAS,GAAT,UAAU,GAAG,EAAE,IAAI,EAAE,UAA2B,EAAE,SAAyB,EAAE,MAAuB;QAA/E,+CAA2B;QAAE,4CAAyB;QAAE,uCAAuB;QAClG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAC3F,CAAC;IAED;;;;;;;;;;;OAWG;IACK,4BAAO,GAAf,UAAgB,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,UAA2B,EAAE,SAAyB,EAAE,MAAa,EAAE,MAAc,EAAE,mBAA0B;QAChJ,oBAAoB;QACpB,8CAA8C;QAC9C,GAAG;QAH4B,+CAA2B;QAAE,4CAAyB;QAAE,sCAAa;QAAE,uCAAc;QAAE,gEAA0B;QAKhJ,IAAI,WAAW,GAAQ,IAAI,CAAC;QAC5B,IAAI,IAAI,GAAQ,IAAI,CAAC;QACrB,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YACb,KAAK,aAAa,CAAC,IAAI;gBACrB,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;gBACrE,KAAK,CAAC;YACR,KAAK,aAAa,CAAC,GAAG;gBACpB,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;gBACpE,KAAK,CAAC;YACR,KAAK,aAAa,CAAC,KAAK;gBACtB,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;gBACtE,KAAK,CAAC;YACR,KAAK,aAAa,CAAC,MAAM;gBACvB,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;gBACzD,KAAK,CAAC;YACR,KAAK,aAAa,CAAC,GAAG;gBAEpB,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;gBAC9D,KAAK,CAAC;QACV,CAAC;QACD,MAAM,CAAC,IAAI,CAAC;IACd,CAAC;IAEO,+BAAU,GAAlB,UAAmB,SAAyB,EAAE,MAAuB,EAAE,MAAa,EAAE,mBAA0B;QAA7F,4CAAyB;QAAE,uCAAuB;QAAE,sCAAa;QAAE,gEAA0B;QAC9G,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,EAAE,EAAC,CAAC,MAAM,CAAC,CAAC,CAAC;YACX,GAAG,CAAC,cAAc,CAAC,GAAG,MAAM,CAAC;QAC/B,CAAC;QACD,MAAM,CAAC,GAAG,CAAC;IACb,CAAC;IAED,4BAAO,GAAP,UAAQ,GAAQ;QACd,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED,6BAAQ,GAAR,UAAS,GAAG;QACV,EAAE,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC;YACjB,MAAM,CAAC,KAAK,CAAC;QACf,CAAC;QACD,MAAM,CAAC,CAAC,CAAC,OAAO,GAAG,KAAK,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED,oCAAe,GAAf,UAAgB,CAAC,EAAE,CAAC;QAClB,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;QACjB,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;YACnB,MAAM,CAAC,KAAK,CAAC;QACf,CAAC;QACD,OAAO,CAAC,EAAE,EAAE,CAAC;YACX,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAClB,MAAM,CAAC,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QACD,MAAM,CAAC,IAAI,CAAC;IACd,CAAC;IAED,qCAAgB,GAAhB,UAAiB,IAAI,EAAE,IAAI;QACzB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAE;IACxD,CAAC;IAED,+BAAU,GAAV,UAAW,MAAc;QACvB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IAC5C,CAAC;IACH,iBAAC;AAAD,CAAC;;;;;;;;;;ACrQD;AAAA;AAAA;AAAA;AAA6C;AACX;AACD;AAEjC;IAAA;IAoCA,CAAC;IAjCC,oCAAS,GAAT,UAAU,GAAqB,EAAE,IAAiB;QAAlD,iBAcC;QAZC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;aAClB,KAAK,CAAC,UAAC,QAAa;YACnB,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,IAAI,GAAG,CAAC,EAAC;gBAC1B,MAAM,CAAC,KAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YAClC,CAAC;YAED,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,IAAI,GAAG,CAAC,EAAC;gBAC1B,MAAM,CAAC,KAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YAClC,CAAC;YAED,MAAM,CAAC,mEAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;IACT,CAAC;IAED;;;;SAIK;IACG,oCAAS,GAAjB,UAAkB,QAAQ;QACxB,MAAM,CAAC,mEAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACpC,CAAC;IAED;;;SAGK;IACG,oCAAS,GAAjB,UAAkB,QAAQ;QACxB,MAAM,CAAC,mEAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACpC,CAAC;IAEH,uBAAC;AAAD,CAAC;;;;;;;;;;ACzCD;AAAA;IAAA;IAiKA,CAAC;IAvFU,aAAO,GAAd,UAAe,CAAC;QACZ,oCAAoC;QAEpC,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QACjC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC1B,6CAA6C;QAC7C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3D,iCAAiC;QACjC,IAAI,KAAK,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAClD,6EAA6E;QAC7E,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,GAAG,QAAQ;cAC9D,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7C,CAAC;IAGD,yBAAyB;IAClB,eAAS,GAAhB;QACI,MAAM,CAAC,CAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAC3F,CAAC;IAEH;;;;;;;;OAQG;IACM,4BAAsB,GAA7B,UAA8B,UAAU;QACpC,IAAI,eAAe,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC9C,eAAe,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QACtD,eAAe,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC;QAChH,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACzD,IAAI,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;QAC3B,IAAI,EAAE,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;QAE5B,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,CAAC;IAC5C,CAAC;IAGH;;;;;;;OAOG;IACM,4BAAsB,GAA7B,UAA8B,IAAI;QAChC,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,CAAC;QACrC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzB,MAAM,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;IACpG,CAAC;IAEM,iBAAW,GAAlB,UAAmB,IAAI;QACpB,IAAI,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC3C,IAAI,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,GAAI,OAAO,CAAC,CAAC,CAAC,CAAC;QAC7C,MAAM,CAAC,OAAO,CAAC;IACnB,CAAC;IAEM,mBAAa,GAApB,UAAqB,IAAI;QACrB,IAAI,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC5C,IAAI,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,GAAI,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC;QAC7F,MAAM,CAAC,OAAO,CAAC;IACnB,CAAC;IAEM,yBAAmB,GAA1B,UAA2B,SAAS,EAAE,OAAO;QACzC,IAAI,OAAO,GAAC,IAAI,GAAC,EAAE,GAAC,EAAE,GAAC,EAAE,CAAC;QAC1B,IAAI,YAAY,GAAG,OAAO,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC;QAC3D,IAAI,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,GAAC,OAAO,CAAC,CAAC;QACnD,MAAM,CAAC,WAAW,CAAC;IAEvB,CAAC;IACM,cAAQ,GAAf,UAAgB,IAAI;QAChB,IAAI,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC5C,IAAI,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACzB,MAAM,CAAC,OAAO,CAAC;IACnB,CAAC;IACM,uBAAiB,GAAxB,UAAyB,IAAI;QACzB,IAAI,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC5C,IAAI,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAI,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACpF,MAAM,CAAC,OAAO,CAAC;IACnB,CAAC;IACM,qBAAe,GAAtB,UAAuB,CAAC;QACpB,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAC;IAC9D,CAAC;IA9JD,yCAAyC;IAClC,kBAAY,GAAQ;QACvB,KAAK,EAAE,SAAS;QAChB,KAAK,EAAE,UAAU;QACjB,KAAK,EAAE,OAAO;QACd,KAAK,EAAE,OAAO;QACd,KAAK,EAAE,KAAK;QACZ,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,QAAQ;QACf,KAAK,EAAE,WAAW;QAClB,KAAK,EAAE,SAAS;QAChB,KAAK,EAAE,UAAU;QACjB,KAAK,EAAE,UAAU;QACjB,KAAK,EAAE,SAAS;QAChB,KAAK,EAAE,UAAU;QACjB,KAAK,EAAE,OAAO;QACd,KAAK,EAAE,OAAO;QACd,KAAK,EAAE,KAAK;QACZ,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,QAAQ;QACf,KAAK,EAAE,WAAW;QAClB,KAAK,EAAE,SAAS;QAChB,KAAK,EAAE,UAAU;QACjB,KAAK,EAAE,UAAU;KACpB,CAAC;IAEK,yBAAmB,GAAQ;QAC9B,KAAK,EAAE,CAAC;QACR,KAAK,EAAE,CAAC;QACR,KAAK,EAAE,CAAC;QACR,KAAK,EAAE,CAAC;QACR,KAAK,EAAE,CAAC;QACR,KAAK,EAAE,CAAC;QACR,KAAK,EAAE,CAAC;QACR,KAAK,EAAE,CAAC;QACR,KAAK,EAAE,CAAC;QACR,KAAK,EAAE,EAAE;QACT,KAAK,EAAE,EAAE;QACT,KAAK,EAAE,EAAE;KACZ,CAAC;IAEK,oBAAc,GAAQ;QACzB,OAAO,EAAG,SAAS;QACnB,QAAQ,EAAE,gBAAgB;QAC1B,KAAK,EAAG,SAAS;QACjB,OAAO,EAAE,UAAU,CAAC,QAAQ;KAC/B;IAEM,iBAAW,GAAQ;QACtB,sBAAsB,EAAG,MAAM;QAC/B,sBAAsB,EAAG,SAAS;QAClC,sBAAsB,EAAG,eAAe;QACxC,sBAAsB,EAAG,uBAAuB;QAChD,sBAAsB,EAAG,oBAAoB;QAC7C,sBAAsB,EAAG,UAAU;QACnC,sBAAsB,EAAG,SAAS;QAClC,sBAAsB,EAAG,UAAU;KACtC,CAAC;IAEK,kBAAY,GAAQ;QACvB,sBAAsB,EAAG,UAAU,CAAC,SAAS;QAC7C,sBAAsB,EAAG,UAAU,CAAC,UAAU;QAC9C,sBAAsB,EAAG,UAAU,CAAC,WAAW;QAC/C,sBAAsB,EAAG,UAAU,CAAC,WAAW;QAC/C,sBAAsB,EAAG,UAAU,CAAC,WAAW;QAC/C,sBAAsB,EAAG,UAAU,CAAC,OAAO;QAC3C,sBAAsB,EAAG,UAAU,CAAC,OAAO;QAC3C,sBAAsB,EAAG,UAAU,CAAC,QAAQ;KAC/C,CAAC;IAyFN,YAAC;CAAA;AAjKiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2HCQF,+JAAqE,yLAAS;2HAS9E,uiBAC0H,GAD3D,oGACyD,MAAE,yGACtH,wlBAAuE,GAAlE,4FAAiE,MAAC,sFAAe,MAAM,qGAChG,mDAH+D,iJACyD,gCADxH,YAC0H,EAD3D,SACyD,GAC/G,4FAAiE,KAAtE,YAAuE,EAAlE,SAAiE,2BAAC,oEAAe;2HALlG,mIAAwC,sGACpC,gKAAyB,0GACrB,sKAA+B,2FAAe,MAAM,qGACpD,6hBAC0H,IAEpH,iGACV,MAAM,+FAEV,2BANa,kBAAgC,yBAArC,YAC0H,EADrH,SAAgC,2BADN,kEAAe;2HAjB9D,+IAAc,8FACV,2KAAmC,oGAE/B,MAAwC,6FACxC,sKAAgC,sJAA8D,MAAM,6FACpG,yKAAkC,0GAAkB,MAAM,6FAC1D,yIAAK,sGACD,iKAAyB,0GACrB,uKAA+B,KAAM,qGACrC,8hBAAqE,IAAe,mGAExF,MAAM,6FACV,MAAM,8FAEP,MAA2B,6FAC1B,8hBAAwC,IASlC,+FAEN,MAAyB,+FAEzB,4KAAoC,KAAM,+FAE1C,MAAqB,6FACrB,glBAAgD,IAAiB,6FACjE,MAAmB,2FAEvB,MAAM,qFACV,MAAM,yFAGN,mDA7B8C,mBAAsC,mBAApE,aAAqE,EAAvC,SAAsC,GAMvE,mBAAkC,cAAvC,aAAwC,EAAnC,SAAkC,GAgBvB,mBAA+B,gBAA/C,aAAgD,EAAhC,SAA+B;;;;;;;;;;;;AC5BvD;AAAA;AAAA;AAAiF;AAC9C;AACnC;IAwCE,oCAAmB,gBAAkC;QAAlC,qBAAgB,GAAhB,gBAAgB,CAAkB;QAhCrD,gBAAW,GAAG,EAAE,CAAC;QACjB,qBAAgB,GAAG,EAAE,CAAC;QACtB,kLAAkL;QAClL,oBAAoB;QACpB,0EAA0E;QAC1E,4CAA4C;QAC5C,4CAA4C;QAC5C,2CAA2C;QAC3C,yCAAyC;QACzC,6DAA6D;QAC7D,yCAAyC;QACzC,0CAA0C;QAC1C,0CAA0C;QAC1C,0CAA0C;QAC1C,yEAAyE;QACzE,KAAK;QACH,kBAAa,GAAG;YACZ,EAAC,KAAK,EAAG,SAAS,EAAE,KAAK,EAAG,QAAQ,EAAG,QAAQ,EAAG,iBAAiB,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAC;YAChG,EAAC,KAAK,EAAG,SAAS,EAAE,KAAK,EAAG,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;YACrE,EAAC,KAAK,EAAG,SAAS,EAAE,KAAK,EAAG,YAAY,EAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;YACrE,EAAC,KAAK,EAAG,SAAS,EAAE,KAAK,EAAG,UAAU,EAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;YACjE,EAAC,KAAK,EAAG,SAAS,EAAE,KAAK,EAAG,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAC;YACjE,EAAC,KAAK,EAAG,SAAS,EAAE,KAAK,EAAG,GAAG,EAAG,QAAQ,EAAG,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE;YAC9E,EAAC,KAAK,EAAG,SAAS,EAAE,KAAK,EAAG,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAC;YAC7D,EAAC,KAAK,EAAG,SAAS,EAAE,KAAK,EAAG,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAC;YAC7D,EAAC,KAAK,EAAG,SAAS,EAAE,KAAK,EAAG,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAC;YACjE,EAAC,KAAK,EAAG,SAAS,EAAE,KAAK,EAAG,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAC;YACjE,EAAC,KAAK,EAAG,SAAS,EAAE,KAAK,EAAG,OAAO,EAAG,QAAQ,EAAG,iBAAiB,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAC;SACjG,CAAC;QACJ,gBAAW,GAAG,EAAE,CAAC;QACjB,iBAAY,GAAQ,CAAC,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,UAAU,EAAE,SAAS,EAAC,UAAU,CAAC,CAAC;QAC3F,wBAAmB,GAAQ,EAAE,CAAC;IAC2B,CAAC;IAE1D,6CAAQ,GAAR;QAAA,iBA+BC;QA9BC,IAAI,UAAU,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,CAAC,SAAS,CAClE,cAAI;YACF,IAAI,OAAO,GAAG,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,sEAAsE;YAE7H,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,UAAS,CAAC;gBACxC,IAAI,UAAU,GAAO,EAAE,CAAC;gBACxB,UAAU,CAAC,IAAI,GAAG,CAAC,CAAC;gBACpB,UAAU,CAAC,IAAI,GAAG,EAAE,CAAC;gBAErB,GAAG,CAAC,CAAwB,UAAiC,EAAjC,WAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAjC,cAAiC,EAAjC,IAAiC;oBAApD,eAAe,EAAd,YAAI,EAAC,gBAAQ;oBACnB,IAAI,YAAY,GAAO,EAAE,CAAC;oBAC1B,YAAY,GAAG,QAAQ,CAAC;oBACxB,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC;oBACzB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;iBACtC;gBACD,UAAU,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;gBACxC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC1C,CAAC,CAAC,CAAC;YAGL,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAS,OAAO,EAAC,KAAK;gBACzD,IAAI,QAAQ,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC;gBACjC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,GAAC,KAAK,CAAC,CAAC;gBAC1C,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,qDAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;YAClE,CAAC,CAAC,CAAC;YAEH,KAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC;QAClC,CAAC,CACF,CAAC;IACJ,CAAC;IAED,gCAAgC;IAChC,gDAAW,GAAX,UAAY,GAAG;QACb,IAAI,KAAU,CAAC;QACf,IAAI,KAAU,CAAC;QACf,GAAG,CAAC,IAAI,CAAC,UAAS,CAAC,EAAC,CAAC;YACnB,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACzB,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACzB,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,4CAA4C;IAC5C,wDAAmB,GAAnB,UAAoB,GAAG;QAErB,IAAI,KAAK,CAAC;QACV,MAAM,EAAC,IAAI,CAAC,EAAC;YACX,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC;gBAChB,KAAK,GAAG,OAAO,CAAC;gBAChB,KAAK,CAAC;YACR,KAAK,CAAC,GAAG,IAAI,EAAE,CAAC;gBACd,KAAK,GAAG,SAAS,CAAC;gBAClB,KAAK,CAAC;YACR,KAAK,CAAC,GAAG,IAAI,EAAE,CAAC;gBACd,KAAK,GAAG,SAAS,CAAC;gBAClB,KAAK,CAAC;YACR,KAAK,CAAC,GAAG,IAAG,EAAE,CAAC;gBACb,KAAK,GAAG,SAAS,CAAC;gBAClB,KAAK,CAAC;YACR,KAAK,CAAC,GAAG,IAAG,CAAC,CAAC;gBACZ,KAAK,GAAG,SAAS,CAAC;gBAClB,KAAK,CAAC;YACR,KAAK,CAAC,GAAG,GAAE,CAAC,CAAC;gBACX,KAAK,GAAG,SAAS,CAAC;gBAClB,KAAK,CAAC;YACR,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;gBACb,KAAK,GAAG,SAAS,CAAC;gBAClB,KAAK,CAAC;YACR,KAAK,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;gBACf,KAAK,GAAG,SAAS,CAAC;gBAClB,KAAK,CAAC;YACR,KAAK,CAAC,GAAG,IAAG,CAAC,EAAE,CAAC;gBACd,KAAK,GAAG,SAAS,CAAC;gBAClB,KAAK,CAAC;YACR,KAAK,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;gBACf,KAAK,GAAG,SAAS,CAAC;gBAClB,KAAK,CAAC;YACR,KAAK,CAAC,GAAG,IAAG,CAAC,CAAC,CAAC;gBACb,KAAK,GAAG,SAAS,CAAC;gBAClB,KAAK,CAAC;YACR,KAAK,CAAC,GAAG,GAAE,CAAC,CAAC;gBACX,KAAK,GAAG,SAAS,CAAC;gBAClB,KAAK,CAAC;YACR;gBACE,KAAK,GAAG,OAAO,CAAC;gBAChB,KAAK,CAAC;QAEV,CAAC;QAED,MAAM,CAAC,KAAK,CAAC;IACf,CAAC;IAED,wDAAmB,GAAnB,UAAoB,GAAG;QACrB,IAAI,KAAK,CAAC;QAEV,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YACb,KAAK,CAAC,GAAG,IAAI,EAAE,CAAC;gBACd,KAAK,GAAG,OAAO,CAAC;gBAChB,KAAK,CAAC;YACR,KAAK,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;gBACf,KAAK,GAAG,OAAO,CAAC;gBAChB,KAAK,CAAC;YACR;gBACE,KAAK,GAAG,OAAO,CAAC;gBAChB,KAAK,CAAC;QAEV,CAAC;QAED,MAAM,CAAC,KAAK,CAAC;IACf,CAAC;IAED,qDAAgB,GAAhB,UAAiB,IAAI;QACnB,IAAI,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAChC,IAAI,UAAU,GAAG,qDAAK,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,GAAG,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QACjH,IAAI,OAAO,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC;QACnC,MAAM,CAAC,OAAO,CAAC;IACjB,CAAC;IAED,gDAAW,GAAX;QACE,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;IAClC,CAAC;IAEH,iCAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;0NC3KD,8JAA6B,wDAAxB,kHAAgB,GAArB,YAA6B,EAAxB,SAAgB;;;;;;;;;;;;ACCrB;AAAA;AAAA;AAAA;AAQuB;AACM;AAI7B;IAcE;QANA,aAAa;QACb,cAAS,GAAG,QAAQ,CAAC;IAKL,CAAC;IAGjB,+CAAQ,GAAR;QACE,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC;IACjC,CAAC;IAEM,sDAAe,GAAtB;QACE,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;YAE/C,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,qDAAK,CAAC,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE;gBACvD,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa;aACrC,CAAC,CAAC;YACH,IAAI,CAAC,MAAM,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACtD,CAAC;IAEH,CAAC;IAED,kDAAW,GAAX;QACE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC;IAEH,mCAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uNClDD,yJAAiB;;;;;;;;;;;;ACCjB;AAAA;AAAA;AAAA;AAAA;AAAA;AAA0G;AACzB;AAC7C;AACP;AAG7B;IAqBE,mCAAmB,gBAAkC;QAAlC,qBAAgB,GAAhB,gBAAgB,CAAkB;QAbrD,cAAS,GAAG,QAAQ,CAAC;QAQrB,2BAAsB,GAAG,EAAE,CAAC;IAK6B,CAAC;IAE1D,4CAAQ,GAAR;QAAA,iBAsNC;QArNC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC;QAE/B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,CAAC,SAAS,CACpE,cAAI;YACF,6CAA6C;YAC7C,IAAI,cAAc,GAAG,UAAS,IAAI;gBAChC,MAAM,CAAC,UAAS,OAAO;oBACrB,MAAM,CAAC;wBACL,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;wBACb,eAAe,EAAE,IAAI;qBACtB;gBACH,CAAC,CAAC;YACJ,CAAC,CAAC;YAEF,IAAI,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC7D,IAAI,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC;YAEjE,KAAI,CAAC,cAAc,GAAG,WAAW,CAAC;YAClC,KAAI,CAAC,sBAAsB,GAAG,aAAa,CAAC;YAE5C,IAAI,SAAS,GAAG,EAAE,CAAC;YACnB,IAAI,SAAS,GAAI,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9C,KAAI,CAAC,cAAc,CAAC,OAAO,CAAC,UAAS,OAAO,EAAC,KAAK;gBAChD,IAAI,QAAQ,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC;gBACnC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,GAAC,KAAK,CAAC,CAAC;gBAC5C,SAAS,CAAC,IAAI,CAAC,qDAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC9C,CAAC,CAAC,CAAC;YAEH,KAAI,CAAC,KAAK,GAAG,SAAS,CAAC;YAGvB,kCAAkC;YAClC,IAAI,YAAY,GAAG,EAAE,CAAC;YACtB,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAS,OAAO;gBACnC,IAAI,SAAS,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;gBACxC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC/B,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,WAAW,GAAG,YAAY,CAAC;YAEhC,wCAAwC;YACxC,IAAI,YAAY,GAAG,EAAE,CAAC;YACtB,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAS,OAAO;gBACnC,IAAI,SAAS,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;gBACxC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC/B,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,WAAW,GAAG,YAAY,CAAC;YAGhC,0BAA0B;YACxB,IAAI,UAAU,GAAG,KAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAS,OAAO;gBACpD,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACpB,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAEtD,CAAC,EACD,IAAI,EACJ;YAEE,KAAI,CAAC,QAAQ,GAAG;gBAEd,KAAK,EAAE;oBACL,IAAI,EAAG,UAAU,CAAC,KAAK,CAAC,IAAI;oBAC5B,MAAM,EAAE,KAAK;iBACd;gBACD,OAAO,EAAE;oBACP,OAAO,EAAE,KAAK;iBACf;gBAED,KAAK,EAAE;oBACL,IAAI,EAAE,qCAAqC;iBAC5C;gBACD,MAAM,EAAE;oBACN,MAAM,EAAE,YAAY;oBACpB,KAAK,EAAE,QAAQ;oBACf,aAAa,EAAE,QAAQ;iBACxB;gBAED,KAAK,EAAE;oBACL,UAAU,EAAC,KAAI,CAAC,KAAK;oBACnB,SAAS,EAAE,CAAC;4BACR,KAAK,EAAE,UAAU,CAAC,QAAQ;4BAC1B,KAAK,EAAE,CAAC;4BACR,KAAK,EAAE,GAAG;4BACV,SAAS,EAAE,MAAM;4BACjB,KAAK,EAAE;gCACH,IAAI,EAAE,aAAa;gCACnB,KAAK,EAAE,OAAO;gCACd,QAAQ,EAAE,CAAC;gCACX,CAAC,EAAE,CAAC,CAAC;gCACL,CAAC,EAAC,CAAC,EAAE;6BACR;yBACJ;wBACG;4BACI,KAAK,EAAE,eAAe;4BACtB,KAAK,EAAE,CAAC;4BACR,KAAK,EAAE,GAAG;4BACV,SAAS,EAAE,MAAM;4BACjB,KAAK,EAAE;gCACH,IAAI,EAAE,cAAc;gCACpB,KAAK,EAAE,MAAM;gCACb,QAAQ,EAAE,CAAC;gCACX,CAAC,EAAE,CAAC,CAAC;gCACL,CAAC,EAAC,EAAE;6BACP;yBACV,CAAC;iBACH;gBAED,KAAK,EAAE;oBACL,KAAK,EAAE;wBACL,IAAI,EAAE,oBAAoB;qBAC3B;oBACD,GAAG,EAAE,IAAI;oBACT,GAAG,EAAE,IAAI;oBACT,YAAY,EAAG,CAAC;iBACjB;gBACD,OAAO,EAAE;oBACP,MAAM,EAAE,IAAI;oBACV,SAAS,EAAE;wBACX,IAAI,SAAS,GAAE,IAAI,CAAC;wBACpB,IAAI,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wBAEvC,IAAI,aAAa,GAAG,EAAE,CAAC;wBACnB,aAAa,IAAI,OAAO,GAAE,qDAAK,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,GAAE,YAAY,CAAC;wBAE9F,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,UAAS,OAAO;4BACvC,EAAE,EAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAC;gCAC5C,aAAa,IAAI,UAAU,GAAE,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,GAAG,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI;oCACvH,cAAc,CAAC;4BACrB,CAAC;4BACD,IAAI,EAAC;gCACH,aAAa,IAAI,UAAU,GAAC,OAAO,CAAC,KAAK,CAAC,eAAe,GAAC,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,WAAW,CAAC;4BAErG,CAAC;wBACH,CAAC,CAAC,CAAC;wBACP,MAAM,CAAC,aAAa,CAAC;oBACvB,CAAC;iBACF;gBAED,WAAW,EAAE;oBACX,WAAW,EAAE;wBACX,QAAQ,EAAE,KAAK;qBAChB;oBACD,MAAM,EAAE;wBACN,eAAe;wBACf,oBAAoB;wBACpB,KAAK;wBACL,KAAK,EAAC,iBAAiB;wBACvB,SAAS,EAAC,CAAC;wBACX,MAAM,EAAE;4BACN,KAAK,EAAE;gCACL,OAAO,EAAC,KAAK;gCACb,aAAa,EAAC,CAAC;6BAChB;yBACF;qBACF;iBACF;gBAED,MAAM,EAAE,CAAC;wBACP,IAAI,EAAE,cAAc;wBAClB,IAAI,EAAE,aAAa;wBACrB,YAAY,EAAE,CAAC;wBACf,KAAK,EAAE,oBAAoB;wBAC3B,WAAW,EAAE,eAAe;wBAC5B,IAAI,EAAE,KAAI,CAAC,WAAW;qBACvB;oBAEC;wBACE,IAAI,EAAE,cAAc;wBACpB,IAAI,EAAC,aAAa;wBAClB,YAAY,EAAE,GAAG;wBACjB,KAAK,EAAE,oBAAoB;wBAC3B,WAAW,EAAE,eAAe;wBAC5B,IAAI,EAAE,KAAI,CAAC,WAAW;qBACvB;oBAED;wBACE,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAC,KAAI,CAAC,cAAc;wBACxB,aAAa;wBACb,kJAAkJ;wBAClJ,KAAK;wBACL,MAAM,EAAE;4BACN,MAAM,EAAE,CAAC;4BACT,MAAM,EAAE,SAAS;4BACjB,SAAS,EAAE,IAAI;4BACf,SAAS,EAAE,GAAG;4BACd,SAAS,EAAE,SAAS;yBAErB;wBACD,KAAK,EAAC;4BACJ,OAAO,EAAC,KAAK;yBACd;qBACF;oBACD;wBACE,IAAI,EAAE,UAAU;wBAChB,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAC,KAAI,CAAC,sBAAsB;wBAChC,MAAM,EAAE;4BACN,MAAM,EAAE,CAAC;4BACT,MAAM,EAAE,SAAS;4BACjB,SAAS,EAAE,SAAS;4BACpB,SAAS,EAAE,eAAe;4BAC1B,SAAS,EAAE,GAAG;yBAEf;qBACF;iBACF;aACF,CAAC;YAEF,KAAI,CAAC,UAAU,EAAE,CAAC;QACpB,CAAC,CACJ,CAAC;IACJ,CAAC;IAEO,8CAAU,GAAlB;QACE,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;YAE/C,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,qDAAK,CAAC,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE;gBACnD,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC,IAAI;gBAC3B,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa;aACrC,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IAED,+CAAW,GAAX;QACE,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;QAChC,EAAE,EAAC,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC;YAC7B,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACtB,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QAC1B,CAAC;IACH,CAAC;IACH,gCAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8ICzQD,kIAA0B,4FACxB,6sBAE+B,2FAC/B,MAA4B,qFAC9B,mDAFI,mBAA4B,gBAD5B,gDAA4C,EAD9C,YAE+B,EAA7B,SAA4B,EAD5B,SAA4C;8IAFhD,wdAA0B,iDAArB,mBAAoB,eAAzB,YAA0B,EAArB,SAAoB;;;;;;;;;;;;ACCzB;AAAA;AAAA;AAAA;AAAkC;AAC6C;AAEtC;AAIzC;IAkBE,uDAAoB,gBAAkC,EAAU,MAAc;QAA1D,qBAAgB,GAAhB,gBAAgB,CAAkB;QAAU,WAAM,GAAN,MAAM,CAAQ;QAT9E,iBAAY,GAAY,KAAK,CAAC;QAM9B,sBAAiB,GAAS,EAAE,CAAC;IAGqD,CAAC;IAEnF,gEAAQ,GAAR;QAAA,iBA0aC;QAzaC,IAAI,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAE9H,IAAI,UAAU,GAAG,KAAK,CAAC;QAEvB,IAAI,qBAAqB,GAAG;YAC1B,OAAO,EAAG,IAAI;YACd,CAAC,EAAG,EAAE,EAAE,aAAa,EAAE,QAAQ;YAC/B,OAAO,EAAG,KAAK;YACf,YAAY,EAAG,IAAI;YACnB,SAAS,EAAG;gBACV,IAAI,KAAK,GAAG,EAAE,CAAC;gBACf,IAAI,QAAQ,GAAG,KAAK,CAAC;gBACrB,EAAE,EAAC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,wBAAwB,CAAC,CAAC,CAAC;oBAChD,KAAK,IAAI,qCAAqC,CAAC;gBACjD,CAAC;gBACD,IAAI,CAAC,EAAE,EAAC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,uBAAuB,CAAC,CAAC,CAAC;oBACpD,KAAK,IAAI,QAAQ,CAAC;gBACpB,CAAC;gBAED,EAAE,EAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;oBAC7B,KAAK,IAAI,KAAiB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC9C,CAAC;gBACD,IAAI,CAAC,EAAE,EAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;oBACjC,KAAK,IAAI,KAAiB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC9C,CAAC;gBAED,MAAM,CAAC,KAAK,CAAC;YACf,CAAC;SACF,CAAC;QAEF,IAAI,cAAc,GAAG;YACnB,OAAO,EAAG,IAAI;YACd,CAAC,EAAG,EAAE,EAAE,CAAC,EAAG,CAAC,EAAE,EAAE,aAAa,EAAE,QAAQ;YACxC,OAAO,EAAG,KAAK;YACf,SAAS,EAAG;gBACV,MAAM,CAAC,SAAS,CAAC;YACnB,CAAC;SACF,CAAC;QAEF,IAAI,aAAa,GAAG;YAClB,OAAO,EAAG,IAAI;YACd,SAAS,EAAG;gBACV,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAC,GAAG,EAAE,CAAC,EAAE,IAAI,EAAC,IAAI,CAAC,GAAG,GAAG,CAAC;YAChF,CAAC;YACD,KAAK,EAAG;gBACN,QAAQ,EAAG,EAAE;gBACb,KAAK,EAAG,OAAO;aAChB;YACD,cAAc,EAAG,CAAC;YAClB,QAAQ,EAAG,CAAC,EAAE;YACd,CAAC,EAAG,CAAC;YACL,CAAC,EAAG,CAAC,EAAE;SACR,CAAC;QAEF,IAAI,CAAC,YAAY,GAAG;YAClB,sBAAsB,EAAG,UAAU,CAAC,SAAS;YAC7C,sBAAsB,EAAG,UAAU,CAAC,UAAU;YAC9C,sBAAsB,EAAG,UAAU,CAAC,WAAW;YAC/C,sBAAsB,EAAG,UAAU,CAAC,WAAW;YAC/C,sBAAsB,EAAG,UAAU,CAAC,WAAW;YAC/C,sBAAsB,EAAG,UAAU,CAAC,OAAO;YAC3C,sBAAsB,EAAG,UAAU,CAAC,OAAO;YAC3C,sBAAsB,EAAG,UAAU,CAAC,QAAQ;SAC7C,CAAC;QACF,IAAI,CAAC,iBAAiB,GAAG,CAAC,SAAS,EAAE,UAAU,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;QACpI,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QAEpB,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,aAAa,GAAG;YACnB,EAAC,MAAM,EAAG,47BAA47B,EAAE,IAAI,EAAG,SAAS,EAAE,EAAE,EAAG,IAAI,EAAC;YACp+B,EAAC,MAAM,EAAG,8vDAA8vD,EAAE,IAAI,EAAG,SAAS,EAAE,EAAE,EAAG,IAAI,EAAC;YACtyD,EAAC,MAAM,EAAG,qqCAAqqC,EAAE,IAAI,EAAG,SAAS,EAAE,EAAE,EAAG,IAAI,EAAC;YAC7sC,EAAC,MAAM,EAAG,y2BAAy2B,EAAE,IAAI,EAAG,SAAS,EAAE,EAAE,EAAG,IAAI,EAAC;YACj5B,EAAC,MAAM,EAAG,wHAAwH,EAAE,IAAI,EAAG,SAAS,EAAE,EAAE,EAAG,IAAI,EAAC;YAChK,EAAC,MAAM,EAAG,wQAAwQ,EAAE,IAAI,EAAG,SAAS,EAAE,EAAE,EAAG,IAAI,EAAC;YAChT,EAAC,MAAM,EAAG,qpBAAqpB,EAAE,IAAI,EAAG,SAAS,EAAE,EAAE,EAAG,IAAI,EAAC;YAC7rB,EAAC,MAAM,EAAG,iOAAiO,EAAE,IAAI,EAAG,SAAS,EAAE,EAAE,EAAG,IAAI,EAAC;YACzQ,EAAC,MAAM,EAAG,8GAA8G,EAAE,IAAI,EAAG,SAAS,EAAE,EAAE,EAAG,IAAI,EAAC;YACtJ,EAAC,MAAM,EAAG,gQAAgQ,EAAE,IAAI,EAAG,SAAS,EAAE,EAAE,EAAG,IAAI,EAAC;YACxS,EAAC,MAAM,EAAG,4cAA4c,EAAE,IAAI,EAAG,SAAS,EAAE,EAAE,EAAG,IAAI,EAAC;YACpf,EAAC,MAAM,EAAG,umBAAumB,EAAE,IAAI,EAAG,SAAS,EAAE,EAAE,EAAG,IAAI,EAAC;YAC/oB,EAAC,MAAM,EAAG,4GAA4G,EAAE,IAAI,EAAG,SAAS,EAAE,EAAE,EAAG,IAAI,EAAC;YACpJ,EAAC,MAAM,EAAG,u5CAAu5C,EAAE,IAAI,EAAG,SAAS,EAAE,EAAE,EAAG,IAAI,EAAC;YAC/7C,EAAC,MAAM,EAAG,gMAAgM,EAAE,IAAI,EAAG,SAAS,EAAE,EAAE,EAAG,IAAI,EAAC;YACxO,EAAC,MAAM,EAAG,68BAA68B,EAAE,IAAI,EAAG,SAAS,EAAE,EAAE,EAAG,IAAI,EAAC;YACr/B,EAAC,MAAM,EAAG,2uGAA2uG,EAAE,IAAI,EAAG,SAAS,EAAE,EAAE,EAAG,IAAI,EAAC;YACnxG,EAAC,MAAM,EAAG,+tDAA+tD,EAAE,IAAI,EAAG,SAAS,EAAE,EAAE,EAAG,IAAI,EAAC;YACvwD,EAAC,MAAM,EAAG,qtBAAqtB,EAAE,IAAI,EAAG,SAAS,EAAE,EAAE,EAAG,IAAI,EAAC;YAC7vB,EAAC,MAAM,EAAG,4tBAA4tB,EAAE,IAAI,EAAG,SAAS,EAAE,EAAE,EAAG,IAAI,EAAC;YACpwB,EAAC,MAAM,EAAG,sqBAAsqB,EAAE,IAAI,EAAG,SAAS,EAAE,EAAE,EAAG,IAAI,EAAC;YAC9sB,EAAC,MAAM,EAAG,g1CAAg1C,EAAE,IAAI,EAAG,SAAS,EAAE,EAAE,EAAG,IAAI,EAAC;YACx3C,EAAC,MAAM,EAAG,m7BAAm7B,EAAE,IAAI,EAAG,SAAS,EAAE,EAAE,EAAG,IAAI,EAAC;YAC39B,EAAC,MAAM,EAAG,0hCAA0hC,EAAE,IAAI,EAAG,SAAS,EAAE,EAAE,EAAG,IAAI,EAAC;YAClkC,EAAC,MAAM,EAAG,+hDAA+hD,EAAE,IAAI,EAAG,SAAS,EAAE,EAAE,EAAG,IAAI,EAAC;YACvkD,EAAC,MAAM,EAAG,kzCAAkzC,EAAE,IAAI,EAAG,SAAS,EAAE,EAAE,EAAG,IAAI,EAAC;YAC11C,EAAC,MAAM,EAAG,g3CAAg3C,EAAE,IAAI,EAAG,SAAS,EAAE,EAAE,EAAG,IAAI,EAAC;YACx5C,EAAC,MAAM,EAAG,gpDAAgpD,EAAE,IAAI,EAAG,SAAS,EAAE,EAAE,EAAG,KAAK,EAAC;YACzrD,EAAC,MAAM,EAAG,ouBAAouB,EAAE,IAAI,EAAG,SAAS,EAAE,EAAE,EAAG,IAAI,EAAC;YAC5wB,EAAC,MAAM,EAAG,u/CAAu/C,EAAE,IAAI,EAAG,SAAS,EAAE,EAAE,EAAG,IAAI,EAAC;YAC/hD,EAAC,MAAM,EAAG,gyBAAgyB,EAAE,IAAI,EAAG,SAAS,EAAE,EAAE,EAAG,IAAI,EAAC;YACx0B,EAAC,MAAM,EAAG,2hCAA2hC,EAAE,IAAI,EAAG,SAAS,EAAE,EAAE,EAAG,IAAI,EAAC;YACnkC,EAAC,MAAM,EAAG,yrDAAyrD,EAAE,IAAI,EAAG,SAAS,EAAE,EAAE,EAAG,IAAI,EAAC;YACjuD,EAAC,MAAM,EAAG,+uBAA+uB,EAAE,IAAI,EAAG,SAAS,EAAE,EAAE,EAAG,IAAI,EAAC;YACvxB,EAAC,MAAM,EAAG,mtDAAmtD,EAAE,IAAI,EAAG,SAAS,EAAE,EAAE,EAAG,IAAI,EAAC;YAC3vD,EAAC,MAAM,EAAG,m/DAAm/D,EAAE,IAAI,EAAG,SAAS,EAAE,EAAE,EAAG,IAAI,EAAC;YAC3hE,EAAC,MAAM,EAAG,2rCAA2rC,EAAE,IAAI,EAAG,SAAS,EAAE,EAAE,EAAG,IAAI,EAAC;YACnuC,EAAC,MAAM,EAAG,kmCAAkmC,EAAE,IAAI,EAAG,SAAS,EAAE,EAAE,EAAG,IAAI,EAAC;YAC1oC,EAAC,MAAM,EAAG,+6EAA+6E,EAAE,IAAI,EAAG,SAAS,EAAE,EAAE,EAAG,IAAI,EAAC;YACv9E,EAAC,MAAM,EAAG,w6CAAw6C,EAAE,IAAI,EAAG,SAAS,EAAE,EAAE,EAAG,IAAI,EAAC;YACh9C,EAAC,MAAM,EAAG,gUAAgU,EAAE,IAAI,EAAG,SAAS,EAAE,EAAE,EAAG,IAAI,EAAC;YACxW,EAAC,MAAM,EAAG,k3BAAk3B,EAAE,IAAI,EAAG,SAAS,EAAE,EAAE,EAAG,IAAI,EAAC;YAC15B,EAAC,MAAM,EAAG,sWAAsW,EAAE,IAAI,EAAG,SAAS,EAAE,EAAE,EAAG,IAAI,EAAC;YAC9Y,EAAC,MAAM,EAAG,u1BAAu1B,EAAE,IAAI,EAAG,SAAS,EAAE,EAAE,EAAG,IAAI,EAAC;YAC/3B,EAAC,MAAM,EAAG,gbAAgb,EAAE,IAAI,EAAG,SAAS,EAAE,EAAE,EAAG,IAAI,EAAC;YACxd,EAAC,MAAM,EAAG,6hBAA6hB,EAAE,IAAI,EAAG,SAAS,EAAE,EAAE,EAAG,IAAI,EAAC;YACrkB,EAAC,MAAM,EAAG,ipBAAipB,EAAE,IAAI,EAAG,SAAS,EAAE,EAAE,EAAG,IAAI,EAAC;YACzrB,EAAC,MAAM,EAAG,64CAA64C,EAAE,IAAI,EAAG,SAAS,EAAE,EAAE,EAAG,IAAI,EAAC;YACr7C,EAAC,MAAM,EAAG,k/CAAk/C,EAAE,IAAI,EAAG,SAAS,EAAE,EAAE,EAAG,IAAI,EAAC;YAC1hD,EAAC,MAAM,EAAG,EAAE,EAAE,IAAI,EAAG,EAAE,EAAE,EAAE,EAAG,EAAE,EAAC;SAClC,CAAC;QAEF,IAAI,IAAI,GAAG,IAAI,CAAC;QAEhB,IAAI,UAAU,CAAC;QAEf,IAAI,YAAY,GAAG,sBAAsB,WAAW;YAClD,IAAI,KAAK,GAAG,GAAG,GAAG,CAAC,WAAW,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC;YACjD,MAAM,CAAC,YAAY,GAAG,WAAW,CAAC,QAAQ,GAAG,IAAI,GAAG,WAAW,CAAC,OAAO,GAAG,UAAU,GAAG,KAAK,CAAC,QAAQ,EAAE,GAAG,GAAG;QAC/G,CAAC;QAED,IAAI,CAAC,aAAa,GAAG;YACnB,KAAK,EAAG;gBACN,MAAM,EAAG,GAAG;gBACZ,IAAI,EAAG,UAAU,CAAC,KAAK,CAAC,IAAI;gBAC5B,YAAY,EAAE,GAAG;gBACjB,MAAM,EAAG;oBACP,IAAI,EAAG;wBACL,EAAE,EAAC,CAAC,UAAU,CAAC,CAAC,CAAC;4BACf,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,EAAC,SAAS,EAAG,YAAY,CAAC,IAAI,CAAC,EAAE,MAAM,EAAG,CAAC,EAAC,CAAC,CAAC,GAAG,EAAE,CAAC;4BACnG,GAAG,EAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gCAClD,IAAI,IAAI,GAAG,QAAQ,CAAC,eAAe,CAAC,4BAA4B,EAAE,SAAS,CAAC,CAAC;gCAC7E,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;gCAC1D,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gCACtD,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gCAClD,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;gCACpC,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;gCAC1C,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;4BACvC,CAAC;wBACH,CAAC;oBACH,CAAC;oBACD,MAAM,EAAE;wBACN,IAAI,CAAC,QAAQ,CAAC,EAAC,IAAI,EAAG,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;wBAChD,UAAU,CAAC,IAAI,CAAC,EAAC,SAAS,EAAG,YAAY,CAAC,IAAI,CAAC,EAAC,CAAC,CAAC;oBACpD,CAAC;iBACF;aACF;YACD,KAAK,EAAG;gBACN,IAAI,EAAG,IAAI,CAAC,KAAK;aAClB;YACD,KAAK,EAAG,CAAC;oBACP,KAAK,EAAG;wBACN,IAAI,EAAG,oBAAoB;qBAC5B;oBACD,YAAY,EAAG,GAAG;oBAClB,MAAM,EAAG;wBACP,CAAC,EAAG,CAAC,CAAC;qBACP;iBAEF,EAAE;oBACD,KAAK,EAAG,EAAE,IAAI,EAAG,IAAI,EAAC;oBACtB,YAAY,EAAG,GAAG;oBAClB,GAAG,EAAE,CAAC;oBACN,GAAG,EAAG,IAAI;oBACV,QAAQ,EAAE,IAAI;oBACd,MAAM,EAAG;wBACP,CAAC,EAAG,CAAC;qBACN;iBACF,CAAC;YACF,KAAK,EAAG,CAAC;oBACP,IAAI,EAAG,UAAU;oBACjB,UAAU,EAAG,IAAI,CAAC,iBAAiB;oBACnC,MAAM,EAAG;wBACP,OAAO,EAAG,CAAC;wBACX,eAAe,EAAG,CAAC;qBACpB;iBACF,CAAC;YACF,WAAW,EAAE;gBACX,WAAW,EAAE;oBACX,UAAU,EAAE;wBACV,OAAO,EAAE,KAAK;qBACf;oBACD,QAAQ,EAAE,KAAK;iBAChB;gBACD,GAAG,EAAG;oBACJ,KAAK,EAAC;wBACJ,OAAO,EAAC,KAAK;qBACd;oBACD,UAAU,EAAG,aAAa;oBAC1B,UAAU,EAAG,CAAC,EAAE;oBAChB,QAAQ,EAAG,EAAE;iBACd;aACF;YACD,MAAM,EAAG,CAAC;oBACR,IAAI,EAAG,SAAS;oBAChB,IAAI,EAAG,MAAM;oBACb,SAAS,EAAG,CAAC;oBACb,SAAS,EAAG,IAAI;oBAChB,MAAM,EAAG,CAAC;oBACV,MAAM,EAAG;wBACP,OAAO,EAAG,IAAI;wBACd,MAAM,EAAG,CAAC;wBACV,MAAM,EAAG,SAAS;wBAClB,SAAS,EAAG,OAAO;wBACnB,SAAS,EAAG,OAAO;wBACnB,SAAS,EAAG,CAAC;qBACd;iBACF,EAAE;oBACD,IAAI,EAAG,cAAc;oBACrB,IAAI,EAAG,aAAa;oBACpB,YAAY,EAAE,CAAC;oBACf,MAAM,EAAG,CAAC;oBACV,KAAK,EAAE,oBAAoB;oBAC3B,WAAW,EAAE,eAAe;iBAE7B,EAAE;oBACD,IAAI,EAAG,eAAe;oBACtB,IAAI,EAAG,aAAa;oBACpB,MAAM,EAAG,CAAC;oBACV,YAAY,EAAE,GAAG;oBACjB,KAAK,EAAE,oBAAoB;oBAC3B,WAAW,EAAE,eAAe;iBAC7B,EAAC;oBACA,IAAI,EAAG,kBAAkB;oBACzB,IAAI,EAAG,MAAM;oBACb,UAAU,EAAG,cAAc;oBAC3B,SAAS,EAAG,CAAC;oBACb,SAAS,EAAG,IAAI;oBAChB,KAAK,EAAG,CAAC;oBACT,MAAM,EAAG,CAAC;oBACV,MAAM,EAAG;wBACP,OAAO,EAAG,IAAI;wBACd,MAAM,EAAG,CAAC;wBACV,MAAM,EAAG,SAAS;wBAClB,SAAS,EAAG,OAAO;wBACnB,SAAS,EAAG,OAAO;wBACnB,SAAS,EAAG,CAAC;qBACd;iBACF,EAAE;oBACD,IAAI,EAAG,uBAAuB;oBAC9B,IAAI,EAAG,aAAa;oBACpB,UAAU,EAAG,qBAAqB;oBAClC,YAAY,EAAE,CAAC;oBACf,KAAK,EAAG,CAAC;oBACT,MAAM,EAAG,CAAC;oBACV,KAAK,EAAE,oBAAoB;oBAC3B,WAAW,EAAE,eAAe;iBAE7B,EAAE;oBACD,IAAI,EAAG,wBAAwB;oBAC/B,IAAI,EAAG,aAAa;oBACpB,UAAU,EAAG,qBAAqB;oBAClC,KAAK,EAAG,CAAC;oBACT,MAAM,EAAG,CAAC;oBACV,YAAY,EAAE,GAAG;oBACjB,KAAK,EAAE,oBAAoB;oBAC3B,WAAW,EAAE,eAAe;iBAC7B,CAAC;YACF,OAAO,EAAE;gBACP,MAAM,EAAE,IAAI;gBACZ,eAAe,EAAG,qBAAqB;gBACvC,SAAS,EAAE;oBACT,EAAE,EAAC,IAAI,CAAC,MAAM,CAAC,EAAC;wBAAA,MAAM,CAAC,KAAK,CAAC;oBAAA,CAAC;oBAC9B,IAAI,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC;oBAEhD,EAAE,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC;wBACnC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;wBACrB,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;wBACpC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;wBACrC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;wBACrC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;oBACxC,CAAC;oBACD,IAAI,CAAC,CAAC;wBACJ,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;wBACX,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;wBACpC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;wBACrC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;wBACrC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;oBACxC,CAAC;oBAED,IAAI,aAAa,GAAG,OAAO,GAAG,IAAI,CAAC,CAAC,GAAE,eAAe,GAAG,qDAAK,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,kBAAkB,GAAG,qDAAK,CAAC,eAAe,CAAC,QAAQ,CAAC;wBACrI,kBAAkB,GAAG,qDAAK,CAAC,eAAe,CAAC,QAAQ,CAAC;wBACpD,mBAAmB,GAAG,qDAAK,CAAC,eAAe,CAAC,SAAS,CAAC;wBACtD,mBAAmB,GAAG,qDAAK,CAAC,eAAe,CAAC,SAAS,CAAC,GAAG,QAAQ,CAAC;oBAEpE,MAAM,CAAC,aAAa,CAAC;gBACvB,CAAC;aACF;YACD,SAAS,EAAG,EAAC,OAAO,EAAG,IAAI,EAAC;YAC5B,MAAM,EAAG;gBACP,OAAO,EAAG,KAAK;aAChB;YACD,OAAO,EAAG;gBACR,OAAO,EAAG,KAAK;aAChB;YACD,MAAM,EAAG;gBACP,KAAK,EAAG,CAAC;wBACP,IAAI,EAAG,0CAA0C;wBACjD,KAAK,EAAG;4BACN,UAAU,EAAE,MAAM;4BAClB,QAAQ,EAAE,MAAM;4BAChB,IAAI,EAAG,OAAO;4BACd,GAAG,EAAG,OAAO;yBACd;qBACF,CAAC;aACH;SACF,CAAC;QAEF,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,6BAA6B,EAAE,CAAC,SAAS,CACjF,cAAI;YACF,KAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACnB,CAAC,EAAE,IAAI,EAAE;YACP,IAAI,SAAgB,CAAC;YACrB,IAAI,CAAQ,EAAE,CAAQ,EAAE,CAAQ,CAAC;YACjC,IAAI,KAA2B,EAAE,YAAkC,CAAC;YACpE,KAAI,CAAC,WAAW,GAAG,EAAE,CAAC;YACtB,KAAI,CAAC,SAAS,GAAG,EAAE,CAAC;YAEpB,IAAI,YAAY,GAAG,UAAS,KAAK,EAAE,EAAE,EAAE,IAAI;gBACzC,EAAE,EAAC,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC;oBACrB,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;oBACpB,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;oBAErB,EAAE,EAAC,EAAE,KAAK,eAAe,CAAC,CAAC,CAAC;wBAC1B,KAAK,CAAC,KAAK,GAAG,qDAAK,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;oBAC9C,CAAC;gBACH,CAAC;gBACD,IAAI,CAAC,EAAE,EAAC,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC;oBAC1B,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBACpB,CAAC;gBACD,MAAM,CAAC,KAAK,CAAC;YACf,CAAC,CAAC;YAEF,GAAG,EAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBACzC,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC;oBACpB,EAAE,EAAG,KAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE;oBACpB,IAAI,EAAG,EAAE;iBACV,CAAC,CAAC;gBACH,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC;oBACpB,EAAE,EAAG,KAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,WAAW;oBAClC,IAAI,EAAG,EAAE;iBACV,CAAC,CAAC;gBACH,GAAG,EAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBAClD,EAAE,EAAC,KAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;wBACrC,KAAK,GAAG,IAAI,CAAC;wBACb,YAAY,GAAG,IAAI,CAAC;oBACtB,CAAC;oBACD,IAAI,CAAC,CAAC;wBACJ,KAAK,GAAG,EAAE,IAAI,EAAG,KAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAC,CAAC;wBAC5C,YAAY,GAAG,EAAE,IAAI,EAAG,KAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAC,CAAC;wBAEnD,GAAG,EAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;4BAC7C,SAAS,GAAG,KAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;4BACpC,EAAE,EAAC,KAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,qDAAK,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gCAC7D,EAAE,EAAC,qDAAK,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC;oCAC/C,KAAK,GAAG,YAAY,CAAC,KAAK,EAAE,KAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,KAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;gCACrE,CAAC;gCACD,IAAI,CAAC,CAAC;oCACJ,YAAY,GAAG,YAAY,CAAC,YAAY,EAAE,KAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,KAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;gCACnF,CAAC;4BACH,CAAC;wBACH,CAAC;oBACH,CAAC;oBAED,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAC/D,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBACxE,CAAC;YACH,CAAC;YAED,YAAY;YACZ,GAAG,EAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAClD,GAAG,EAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC7C,SAAS,GAAG,KAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;oBACxC,EAAE,EAAC,KAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,qDAAK,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;wBAC7D,KAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC5C,CAAC;gBACH,CAAC;YACH,CAAC;YAED,GAAG,EAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC5C,GAAG,EAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAI,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBACrD,EAAE,EAAC,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,KAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;wBAC/D,KAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;oBAC/D,CAAC;gBACH,CAAC;YACH,CAAC;YAED,GAAG,EAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC1C,KAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC;oBAC7B,IAAI,EAAG,KAAK;oBACZ,mBAAmB,EAAE,KAAK;oBAC1B,IAAI,EAAG,CAAC;4BACN,IAAI,EAAE,KAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM;4BAC9B,CAAC,EAAE,KAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO;4BAC5B,KAAK,EAAG,qDAAK,CAAC,YAAY,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;4BACpD,WAAW,EAAG,qDAAK,CAAC,YAAY,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;yBAC3D,EAAE;4BACD,IAAI,EAAG,OAAO;4BACd,CAAC,EAAG,KAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,KAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO;4BAC1D,UAAU,EAAG,EAAE,OAAO,EAAG,KAAK,EAAC;4BAC/B,KAAK,EAAG,MAAM;4BACd,WAAW,EAAG,MAAM;yBACvB,CAAC;oBACA,kFAAkF;oBAClF,qEAAqE;oBACrE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,KAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,GAAG,EAAE,GAAG,CAAC;oBAC9E,IAAI,EAAE,EAAE;oBACR,YAAY,EAAE,KAAK;iBACpB,CAAC,CAAC;YACL,CAAC;YAED,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QAC3B,CAAC,CACF,CAAC;IACJ,CAAC;IAED,mEAAW,GAAX;QACE,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;IAClC,CAAC;IAEH,oDAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oIC5cD,kIAA0B,4FACxB,6sBAEqC,2FACrC,MAA4B,qFAC9B,mDAFU,mBAA4B,gBAD5B,gCAA4B,EADpC,YAEqC,EAA7B,SAA4B,EAD5B,SAA4B;oIAFtC,8cAA0B,iDAArB,mBAAoB,eAAzB,YAA0B,EAArB,SAAoB;;;;;;;;;;;;ACAzB;AAAA;AAAA;AAAA;AAAA;AAAkC;AAK6C;AAClD;AAG7B;IAgBE,6CAAmB,gBAAkC;QAAlC,qBAAgB,GAAhB,gBAAgB,CAAkB;QAPrD,iBAAY,GAAY,KAAK,CAAC;QAI9B,YAAO,GAAG,EAAE,CAAC;IAIb,CAAC;IAED,sDAAQ,GAAR;QAAA,iBA2KC;QA1KC,IAAI,UAAU,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,sBAAsB,EAAE,CAAC,SAAS,CAC1E,cAAI;YACF,KAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACnB,CAAC,EACD,IAAI,EAAE,iBAAiB;QACvB;YACE,IAAI,eAAe,GAAG,qDAAK,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;YACrG,IAAI,SAAS,GAAG,KAAI,CAAC;YAErB,eAAe,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;YAC1B,eAAe,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;YAC1B,eAAe,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;YAC1B,eAAe,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;YAE1B,KAAI,CAAC,aAAa,GAAG;gBACnB,KAAK,EAAE;oBACL,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC,IAAI;oBAC3B,MAAM,EAAE,GAAG;iBACZ;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,KAAI,CAAC,KAAK;iBACjB;gBACD,KAAK,EAAE;oBACH,SAAS,EAAE,CAAC;4BACR,KAAK,EAAE,UAAU,CAAC,QAAQ;4BAC1B,KAAK,EAAE,CAAC;4BACR,KAAK,EAAE,GAAG;4BACV,SAAS,EAAE,MAAM;4BACjB,KAAK,EAAE;gCACH,IAAI,EAAE,aAAa;gCACnB,KAAK,EAAE,OAAO;gCACd,QAAQ,EAAE,CAAC;gCACX,CAAC,EAAE,CAAC,CAAC;gCACL,CAAC,EAAE,CAAC,EAAE;6BACT;yBACJ;wBACG;4BACI,KAAK,EAAE,eAAe;4BACtB,KAAK,EAAE,CAAC;4BACR,KAAK,EAAE,GAAG;4BACV,SAAS,EAAE,MAAM;4BACjB,KAAK,EAAE;gCACH,IAAI,EAAE,cAAc;gCACpB,KAAK,EAAE,MAAM;gCACb,QAAQ,EAAE,CAAC;gCACX,CAAC,EAAE,CAAC,CAAC;gCACL,CAAC,EAAE,EAAE;6BACR;yBACJ,CAAC;oBACR,cAAc,EAAE,IAAI;oBACpB,WAAW,EAAE,IAAI;oBACjB,UAAU,EAAE,UAAU,CAAC,OAAO;iBAC/B;gBACD,KAAK,EAAE;oBACL,KAAK,EAAE;wBACL,IAAI,EAAE,4BAA4B;qBACnC;oBACC,SAAS,EAAE,CAAC;4BACR,KAAK,EAAE,CAAC;4BACR,KAAK,EAAE,OAAO;4BACd,SAAS,EAAE,OAAO;4BAClB,KAAK,EAAE,CAAC;yBACX,CAAC;oBACJ,YAAY,EAAE,CAAC;iBAChB;gBACD,MAAM,EAAE;oBACN,MAAM,EAAE,YAAY;oBACpB,KAAK,EAAE,QAAQ;oBACf,aAAa,EAAE,QAAQ;iBACxB;gBACD,OAAO,EAAE;oBACP,MAAM,EAAE,IAAI;oBACZ,SAAS,EAAE;wBACT,IAAI,SAAS,GAAG,IAAI,CAAC;wBAErB;4BACI,IAAI,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAEvC,IAAI,aAAa,GAAG,EAAE,CAAC;4BACvB,aAAa,IAAI,OAAO,GAAG,qDAAK,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC;4BAClG,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,OAAO;gCACxC,IAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gCAE/D,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,KAAK,gBAAgB,CAAC,CAAC,CAAC;oCACnD,IAAM,UAAU,GAAG,SAAS,CAAC,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;oCAC1E,aAAa,IAAI,UAAU,GAAG,UAAU,GAAG,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,GAAG,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,GAAG,QAAQ,CAAC;gCACnH,CAAC;gCAAC,IAAI,CAAC,CAAC;oCACN,IAAM,UAAU,GAAG,SAAS,CAAC,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;oCAC1E,aAAa,IAAI,UAAU,GAAG,UAAU,GAAG,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,YAAY,CAAC;gCACvF,CAAC;4BACH,CAAC,CAAC,CAAC;4BACH,MAAM,CAAC,aAAa,CAAC;wBACvB,CAAC;wBAED,MAAM,CAAC,YAAY,EAAE,CAAC;oBACxB,CAAC;iBACF;gBACD,MAAM,EAAE,EAAE;gBACV,SAAS,EAAE;oBACT,OAAO,EAAE;wBACP,aAAa,EAAE;4BACb,SAAS,EAAE,eAAe;yBAC3B;qBACF;iBACF;gBACD,OAAO,EAAG;oBACR,OAAO,EAAG,KAAK;iBAChB;aACF,CAAC;YAEF,KAAI,CAAC,cAAc,GAAG;gBAEpB,SAAS,EAAE;oBACT,EAAE,EAAG,SAAS;oBACd,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI;oBACV,MAAM,EAAE,CAAC;oBACP,KAAK,EAAE,qDAAK,CAAC,cAAc,CAAC,OAAO;iBACtC;gBAED,gBAAgB,EAAE;oBAChB,EAAE,EAAG,gBAAgB;oBACrB,IAAI,EAAE,WAAW;oBACjB,SAAS,EAAE,CAAC;oBACZ,IAAI,EAAE,IAAI;oBACV,MAAM,EAAE,CAAC;oBACT,KAAK,EAAE,qDAAK,CAAC,cAAc,CAAC,KAAK;iBAClC;gBACD,UAAU,EAAE;oBACV,EAAE,EAAG,UAAU;oBACf,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI;oBACV,MAAM,EAAE,CAAC;oBACT,KAAK,EAAE,qDAAK,CAAC,cAAc,CAAC,QAAQ;iBACrC;aACF;YAGD,KAAI,CAAC,aAAa,CAAC,MAAM,GAAG,EAAE,CAAC;YAE/B,KAAI,CAAC,cAAc,GAAG,IAAI,IAAI,CAAC,KAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC;YACzE,KAAI,CAAC,aAAa,GAAG,IAAI,IAAI,CAAC,KAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC;YAEnG,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAE1C,EAAE,CAAC,CAAC,KAAI,CAAC,cAAc,CAAC,KAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;oBACzC,IAAI,aAAa,GAAG,qDAAK,CAAC,EAAE,EAAE,KAAI,CAAC,cAAc,CAAC,KAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBACpE,aAAa,CAAC,IAAI,GAAG,KAAI,CAAC,aAAa,CAAC,KAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBAEzD,aAAa,CAAC,IAAI,GAAG,KAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;wBACxD,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACtD,CAAC,CAAC,CAAC;oBAEH,sBAAsB;oBACtB,aAAa,CAAC,IAAI,GAAG,UAAU,CAAC,gBAAgB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;oBAErE,KAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBAChD,CAAC;YACH,CAAC;YACD,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAI,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5D,CAAC;YACD,oCAAoC;YACpC,KAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAO;gBAC/B,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YACtC,CAAC,CAAC,CAAC;YAEH,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QAC3B,CAAC,CAAC,CAAC;IAEP,CAAC;IAGO,2DAAa,GAArB,UAAsB,QAAQ;QAC5B,IAAI,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAE5C,EAAE,CAAC,CAAC,QAAQ,KAAK,gBAAgB,CAAC,CAAC,CAAC;YAClC,IAAI,IAAI,QAAQ,CAAC;QACnB,CAAC;QAED,MAAM,CAAC,IAAI,CAAC;IACd,CAAC;IAEO,+DAAiB,GAAzB,UAA0B,QAAQ;QAChC,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,EAAE,CAAC,CAAC,QAAQ,KAAK,gBAAgB,CAAC,CAAC,CAAC;YAClC,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,KAAK,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;gBAC/C,IAAI,GAAG,CAAC,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;YAC3F,CAAC;YAAC,IAAI,CAAC,CAAC;gBACN,IAAI,GAAG,CAAC,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;YACvL,CAAC;QACH,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC;YAClC,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,KAAK,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;gBAC/C,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC;YACxC,CAAC;YAAC,IAAI,CAAC,CAAC;gBACN,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,QAAQ,EAAE,CAAC;YAChF,CAAC;QACH,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC;YACnC,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,KAAK,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;gBAC/C,IAAI,GAAG,CAAC,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;YAC9C,CAAC;YAAC,IAAI,CAAC,CAAC;gBACN,IAAI,GAAG,CAAC,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;YAC5F,CAAC;QACH,CAAC;QAED,MAAM,CAAC,IAAI,CAAC;IACd,CAAC;IAEO,8DAAgB,GAAxB,UAAyB,KAAK;QAC5B,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,iBAAO;YACtB,OAAO,CAAC,CAAC,CAAC,GAAG,qDAAK,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACrD,MAAM,CAAC,OAAO,CAAC;QACjB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,yDAAW,GAAX;QACE,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;IAClC,CAAC;IAEH,0CAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sNCxPD,0JAAkB,4FAElB;;;;;;;;;;;;ACDA;AAAA;AAAA;AAAA;AAAA;AAAyF;AACV;AAC7C;AACO;AAGzC;IAoBE,kCAAoB,gBAAkC,EAAS,QAAkB;QAA7D,qBAAgB,GAAhB,gBAAgB,CAAkB;QAAS,aAAQ,GAAR,QAAQ,CAAU;QATjF,cAAS,GAAQ,EAAE,CAAC,CAAC,+BAA+B;QACpD,UAAK,GAAQ,EAAE,CAAC;QAChB,gBAAW,GAAQ,EAAE,CAAC;QACtB,eAAU,GAAQ,EAAE,CAAC;QACrB,oBAAe,GAAW,CAAC,CAAC;QAC5B,eAAU,GAAQ,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,UAAS;IAK1I,CAAC;IAED,2CAAQ,GAAR;QAAA,iBAqPC;QApPC,IAAM,UAAU,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC,gBAAgB,CAAC,wBAAwB,EAAE,CAAC,SAAS,CAClF,cAAI;YAEF,mEAAmE;YACnE,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,OAAO;gBAC/C,IAAI,SAAS,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;gBACvC,SAAS,CAAC,kBAAkB,CAAC,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,cAAc,EAAE,CAAC;gBAC9E,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;gBAC9B,OAAO,CAAC,eAAe,GAAG,qDAAK,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;gBAC1E,OAAO,CAAC,gBAAgB,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,cAAc,EAAE,CAAC;gBACzE,OAAO,CAAC,iBAAiB,GAAG,qDAAK,CAAC,iBAAiB,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;gBACnF,OAAO,CAAC,eAAe,GAAG,qDAAK,CAAC,iBAAiB,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;gBAC/E,MAAM,CAAC,OAAO,CAAC;YACjB,CAAC,CAAC,CAAC;YAEH,mEAAmE;YACnE,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACxD,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YAGhB,wCAAwC;YACxC,KAAI,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAO;gBACvB,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;oBACpD,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;oBACnD,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;gBAClD,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,yDAAyD;YACzD,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,eAAK;gBAC5B,IAAI,UAAU,GAAG,EAAE,CAAC;gBACpB,UAAU,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;gBAC3B,UAAU,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;gBACxB,UAAU,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;gBAC1B,uDAAuD;gBACvD,UAAU,CAAC,QAAQ,CAAC,CAAC,SAAS,GAAG,KAAI,CAAC,UAAU,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;gBAC7E,UAAU,CAAC,eAAe,EAAE,CAAC;gBAE7B,IAAI,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAO;oBAC3C,MAAM,CAAC,OAAO,CAAC,gBAAgB,IAAI,KAAK,CAAC;gBAC3C,CAAC,CAAC,CAAC;gBAEH,+EAA+E;gBAC/E,QAAQ,CAAC,OAAO,CAAC,iBAAO;oBACtB,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC;wBACtB,CAAC,EAAE,OAAO,CAAC,CAAC;wBACZ,CAAC,EAAE,OAAO,CAAC,CAAC;wBACZ,UAAU,EAAE,OAAO,CAAC,gBAAgB;wBACpC,WAAW,EAAE,OAAO,CAAC,iBAAiB;wBACtC,SAAS,EAAE,OAAO,CAAC,eAAe;wBAClC,SAAS,EAAE,qDAAK,CAAC,iBAAiB,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;qBACjE,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;gBAEH,oBAAoB;gBACpB,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;oBACpC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;gBACzB,CAAC,CAAC,CAAC;gBAEH,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC1C,CAAC,CAAC,CAAC;YAGH,wCAAwC;YACxC,IAAM,cAAc,GAAG,EAAE,CAAC;YAC1B,cAAc,CAAC,MAAM,CAAC,GAAG,KAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;YACjH,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC;oBACxB,CAAC,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;oBAC1B,CAAC,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;oBAC1B,UAAU,EAAE,UAAU,CAAC,UAAU,CAAC,gBAAgB;oBAClD,WAAW,EAAE,UAAU,CAAC,UAAU,CAAC,iBAAiB;oBACpD,SAAS,EAAE,UAAU,CAAC,UAAU,CAAC,eAAe;oBAChD,SAAS,EAAE,qDAAK,CAAC,iBAAiB,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;iBAC/E,CAAC,CAAC;YACH,cAAc,CAAC,QAAQ,CAAC,GAAG;gBACzB,MAAM,EAAE,CAAC;gBACT,SAAS,EAAE,kBAAkB;gBAC7B,SAAS,EAAE,CAAC;gBACZ,SAAS,EAAE,KAAI,CAAC,UAAU,CAAC,KAAI,CAAC,eAAe,CAAC;aACjD,CAAC;YAEF,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAE5C,IAAI,MAAM,GAAG;gBACX,IAAI,EAAE,WAAW;gBACjB,KAAK,EAAE,UAAU,CAAC,QAAQ;gBAC1B,UAAU,EAAE;oBACV,KAAK,EAAE,MAAM;oBACb,OAAO,EAAE,IAAI;oBACb,CAAC,EAAE,CAAC,EAAE;oBACN,CAAC,EAAE,CAAC;oBACJ,MAAM,EAAE,SAAS;iBAClB;gBACD,IAAI,EAAE,CAAC;wBACL,MAAM,EAAE;4BACN,MAAM,EAAE,QAAQ;yBACjB;wBACD,CAAC,EAAE,EAAE;wBACL,CAAC,EAAE,CAAC,GAAG;qBACR;oBACC;wBACE,UAAU,EAAE;4BACV,OAAO,EAAE,KAAK;yBACf;wBACD,MAAM,EAAE;4BACN,OAAO,EAAE,KAAK;4BACd,MAAM,EAAE,QAAQ;yBACjB;wBACD,CAAC,EAAE,EAAE;qBACN,CAAC;gBACJ,IAAI,EAAE,MAAM;gBACZ,SAAS,EAAE,CAAC;gBACZ,YAAY,EAAE,IAAI;gBAClB,YAAY,EAAE,KAAK;gBACnB,mBAAmB,EAAE,KAAK;gBAC1B,MAAM,EAAE;oBACN,OAAO,EAAE,IAAI;iBACd;aACF,CAAC;YAEF,IAAI,MAAM,GAAG;gBACX,IAAI,EAAE,YAAY;gBAClB,KAAK,EAAE,UAAU,CAAC,QAAQ;gBAC1B,UAAU,EAAE;oBACV,KAAK,EAAE,OAAO;oBACd,OAAO,EAAE,IAAI;oBACb,CAAC,EAAE,EAAE;oBACL,CAAC,EAAE,CAAC;oBACJ,MAAM,EAAE,SAAS;iBAClB;gBACD,IAAI,EAAE,CAAC;wBACL,UAAU,EAAE;4BACV,OAAO,EAAE,KAAK;yBACf;wBACD,MAAM,EAAE;4BACN,OAAO,EAAE,KAAK;4BACd,MAAM,EAAE,QAAQ;yBACjB,EAAE,CAAC,EAAE,EAAE;qBACT,EAAE;wBACD,MAAM,EAAE;4BACN,OAAO,EAAE,IAAI;4BACb,MAAM,EAAE,QAAQ;yBACjB,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG;qBACjB,CAAC;gBACF,IAAI,EAAE,MAAM;gBACZ,SAAS,EAAE,CAAC;gBACZ,YAAY,EAAE,IAAI;gBAClB,YAAY,EAAE,KAAK;gBACnB,mBAAmB,EAAE,KAAK;gBAC1B,MAAM,EAAE;oBACN,OAAO,EAAE,IAAI;iBACd;aACF,CAAC;YAEF,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACpC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACtC,CAAC,EACD;QACA,CAAC,EACD;YACE,KAAI,CAAC,QAAQ,GAAG;gBACd,KAAK,EAAE;oBACL,IAAI,EAAE,SAAS;oBACf,QAAQ,EAAE,IAAI;iBACf;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,UAAU,CAAC,KAAK;iBACvB;gBACD,OAAO,EAAE;oBACP,OAAO,EAAE,KAAK;iBACf;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,CAAC;iBACR;gBACD,KAAK,EAAE;oBACL,KAAK,EAAE;wBACL,OAAO,EAAE,IAAI;wBACb,IAAI,EAAE,oBAAoB;qBAC3B;oBACD,GAAG,EAAE,IAAI;oBACT,GAAG,EAAE,CAAC,IAAI;oBACV,YAAY,EAAE,GAAG;oBACjB,WAAW,EAAE,IAAI;oBACjB,SAAS,EAAE,IAAI;oBACf,aAAa,EAAE,IAAI;iBACpB;gBACD,KAAK,EAAE;oBACL,KAAK,EAAE;wBACL,IAAI,EAAE,4EAA4E;wBAClF,MAAM,EAAE,EAAE;qBACX;oBACD,YAAY,EAAE,CAAC;iBAEhB;gBACD,MAAM,EAAE;oBACN,MAAM,EAAE,UAAU;oBAClB,KAAK,EAAE,OAAO;oBACd,aAAa,EAAE,QAAQ;oBACvB,aAAa,EAAE,CAAC;oBAChB,gBAAgB,EAAE,CAAC;oBACnB,QAAQ,EAAE,KAAK;oBACf,CAAC,EAAE,EAAE;iBACN;gBACD,OAAO,EAAE;oBACP,SAAS,EAAE;wBACT,IAAI,SAAS,GAAG,IAAI,CAAC;wBACrB,IAAI,QAAQ,GAAG,SAAS,CAAC,CAAC,IAAI,CAAC,EAAC,YAAW,EAAC,CAAC,WAAW,CAAC;wBACzD,IAAI,aAAa,GAAG,EAAE,CAAC;wBACvB,aAAa,IAAI,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,SAAS,GAAG,YAAY,GAAG,QAAQ,GAAI,qDAAK,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,MAAM;4BACpI,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,MAAM;4BACzD,gBAAgB,GAAG,SAAS,CAAC,KAAK,CAAC,WAAW,GAAG,MAAM,CAAC;wBAE1D,MAAM,CAAC,aAAa,CAAC;oBACvB,CAAC;iBACF;gBACD,WAAW,EAAE;oBACX,OAAO,EAAE;wBACP,MAAM,EAAE;4BACN,MAAM,EAAE,CAAC;4BACT,SAAS,EAAE,kBAAkB;4BAC7B,SAAS,EAAE,CAAC;4BACZ,MAAM,EAAE;gCACN,KAAK,EAAE;oCACL,OAAO,EAAE,IAAI;oCACb,SAAS,EAAE,kBAAkB;iCAC9B;6BACF;yBACF;wBACD,MAAM,EAAE;4BACN,KAAK,EAAE;gCACL,MAAM,EAAE;oCACN,OAAO,EAAE,KAAK;iCACf;6BACF;yBACF;qBACF;iBACF;gBACD,MAAM,EAAE,UAAU,CAAC,WAAW;aAC/B,CAAC;YAEF,KAAI,CAAC,UAAU,EAAE,CAAC;QAEpB,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,6CAAU,GAAlB;QAGE,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,cAAc,EAAE,UAAU,OAAO,EAAE,IAAI,EAAE,OAAO;YAC3F,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;YAC5C,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;QAGH,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;YAG/C,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG;gBACpB,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC,IAAI;gBAC3B,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa;gBAEpC,IAAI,EAAE,SAAS;gBACf,QAAQ,EAAE,IAAI;aAEf,CAAC;YAEF,iDAAiD;YACjD,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;gBACpE,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;YAC/G,CAAC,CAAC;YAGF,EAAE,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC;gBAC3B,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC;YACpG,CAAC;YAED,kDAAkD;YAClD,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;gBACpE,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;YAC/G,CAAC,CAAC;YACF,EAAE,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC;gBAC3B,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC;YACpG,CAAC;YAED,IAAI,CAAC,MAAM,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IAEH,+BAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qIC/TD,kIAA0B,4FACxB,6sBAE+B,2FAC/B,MAA4B,qFAC9B,mDAFI,mBAA4B,gBAD5B,oDAAyD,iBAD3D,YAE+B,EAA7B,SAA4B,EAD5B,SAAyD;qIAH7D,qFACA,qdAA0B,iDAArB,mBAAoB,eAAzB,YAA0B,EAArB,SAAoB;;;;;;;;;;;;ACCzB;AAAA;AAAA;AAAA;AAAA;AAAA;AAA+E;AAClD;AACK;AACQ;AAE1C;IAaE,8CAAmB,gBAAkC,EAAS,QAAkB;QAA7D,qBAAgB,GAAhB,gBAAgB,CAAkB;QAAS,aAAQ,GAAR,QAAQ,CAAU;QAJhF,iBAAY,GAAY,KAAK,CAAC;IAIsD,CAAC;IAErF,uDAAQ,GAAR;QAAA,iBAyHC;QAxHG,IAAI,IAAI,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,aAAa,GAAG;YACjB,KAAK,EAAG;gBACJ,IAAI,EAAG,UAAU,CAAC,KAAK,CAAC,IAAI;gBAC9B,MAAM,EAAE,GAAG;aACZ;YACH,KAAK,EAAG;gBACN,IAAI,EAAG,IAAI,CAAC,KAAK;aAClB;YACC,OAAO,EAAE;gBACP,OAAO,EAAE,KAAK;aACf;YACH,KAAK,EAAG;gBACN,IAAI,EAAE,UAAU;gBACb,MAAM,EAAE;oBACN,SAAS,EAAE;wBACT,MAAM,CAAC,qDAAK,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;oBAC9C,CAAC;iBACF;gBACJ,cAAc,EAAG,IAAI;aACtB;YACD,KAAK,EAAE;gBACH,KAAK,EAAE;oBACH,IAAI,EAAE,oBAAoB;iBAC7B;aACJ;YACD,MAAM,EAAE;gBACN,MAAM,EAAE,YAAY;gBACpB,KAAK,EAAE,QAAQ;gBACf,aAAa,EAAE,QAAQ;aACxB;YACD,OAAO,EAAE;gBACP,MAAM,EAAE,IAAI;gBACZ,SAAS,EAAE;oBACP,IAAI,SAAS,GAAG,IAAI,CAAC;oBAErB;wBACI,IAAI,aAAa,GAAG,EAAE,CAAC;wBACvB,IAAI,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,2CAA2C;wBAE1H,aAAa,IAAI,OAAO,GAAG,OAAO,GAAG,YAAY,CAAC;wBAElD,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,UAAS,OAAO;4BACrC,EAAE,EAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,GAAC,CAAC,CAAC,CAAC,EAAC;gCACtD,aAAa,IAAI,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,GAAE,QAAQ,GAAE,qDAAK,CAAC,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,GAAI,MAAM,GAAG,qDAAK,CAAC,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC;4BACzL,CAAC;4BACD,IAAI,EAAC;gCACD,aAAa,IAAI,UAAU,GAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,GAAC,QAAQ,GAAG,qDAAK,CAAC,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,YAAY;4BAElI,CAAC;wBACL,CAAC,CAAC,CAAC;wBACH,MAAM,CAAC,aAAa,CAAC;oBACzB,CAAC;oBACD,MAAM,CAAC,YAAY,EAAE,CAAC;gBAC1B,CAAC;aACF;YACD,MAAM,EAAG,EAAE;SACZ,CAAC;QAEF,IAAI,CAAC,cAAc,GAAG;YAClB,UAAU,EAAG;gBACT,IAAI,EAAG,MAAM;gBACb,IAAI,EAAG,IAAI;gBACX,MAAM,EAAG,CAAC;gBACV,KAAK,EAAE,qDAAK,CAAC,cAAc,CAAC,QAAQ;gBACtC,KAAK,EAAG,UAAU,CAAC,MAAM,CAAC,MAAM;aACjC;YACH,SAAS,EAAG;gBACV,IAAI,EAAG,MAAM;gBACb,IAAI,EAAG,IAAI;gBACX,MAAM,EAAG,CAAC;gBACV,KAAK,EAAC,qDAAK,CAAC,cAAc,CAAC,OAAO;gBAClC,KAAK,EAAG,UAAU,CAAC,MAAM,CAAC,MAAM;aACjC;YACD,gBAAgB,EAAG;gBACjB,IAAI,EAAG,WAAW;gBAClB,SAAS,EAAE,CAAC;gBACZ,mBAAmB;gBACnB,IAAI,EAAG,IAAI;gBACX,MAAM,EAAG,CAAC;gBACV,KAAK,EAAG,qDAAK,CAAC,cAAc,CAAC,KAAK;gBAClC,KAAK,EAAG,UAAU,CAAC,MAAM,CAAC,MAAM;aACjC;YACD,cAAc,EAAG;gBACf,IAAI,EAAG,MAAM;gBACb,IAAI,EAAG,IAAI;gBACX,MAAM,EAAG,CAAC;gBACV,KAAK,EAAG,UAAU,CAAC,QAAQ;gBAC3B,KAAK,EAAG,UAAU,CAAC,MAAM,CAAC,MAAM;aACjC;SACF;QAED,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,uBAAuB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,SAAS,CAC3F,cAAI;YACF,KAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACnB,CAAC,EACD,IAAI,EAAE,gBAAgB;QACtB;YACE,KAAI,CAAC,aAAa,CAAC,MAAM,GAAG,EAAE,CAAC;YAE/B,IAAI,YAAY,GAAG,CAAC,IAAI,IAAI,CAAC,KAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC;YACxE,KAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,YAAY,GAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;YACjE,KAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;YAC3D,KAAI,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,GAAG,CAAC,YAAY,GAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,GAAG,GAAG,CAAC,YAAY,GAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,QAAQ,CAAC;YACrH,KAAI,CAAC,cAAc,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,YAAY,GAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,GAAG,GAAG,CAAC,YAAY,GAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,UAAU,CAAC;YACrH,GAAG,EAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACzC,EAAE,EAAC,KAAI,CAAC,cAAc,CAAC,KAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;oBACxC,IAAI,aAAa,GAAG,qDAAK,CAAC,EAAE,EAAE,KAAI,CAAC,cAAc,CAAC,KAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBACpE,oCAAoC;oBAEpC,aAAa,CAAC,IAAI,GAAG,KAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAS,CAAC,EAAC,CAAC;wBACzD,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACtD,CAAC,CAAC,CAAC;oBACH,KAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBAChD,CAAC;YACH,CAAC;YAED,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QAC/B,CAAC,CAAC,CAAC;IAEL,CAAC;IAED,0DAAW,GAAX;QACE,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;IAClC,CAAC;IAEH,2CAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gICrJD,kIAA0B,4FACxB,6sBAE+B,2FAC/B,MAA4B,qFAC9B,mDAFI,mBAA4B,gBAD5B,mDAAwD,iBAD1D,YAE+B,EAA7B,SAA4B,EAD5B,SAAwD;gIAF5D,0cAA0B,iDAArB,mBAAoB,eAAzB,YAA0B,EAArB,SAAoB;;;;;;;;;;;;ACEzB;AAAA;AAAA;AAAA;AAAA;AAAA;AAA+E;AAC3C;AACP;AACY;AAEzC;IAeE,yCAAmB,gBAAkC,EAAS,QAAkB;QAA7D,qBAAgB,GAAhB,gBAAgB,CAAkB;QAAS,aAAQ,GAAR,QAAQ,CAAU;QANhF,iBAAY,GAAY,KAAK,CAAC;QAE9B,oBAAe,GAAW,CAAC,CAAC;IAIwD,CAAC;IAErF,kDAAQ,GAAR;QAAA,iBAwIC;QAvIC,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,IAAI,CAAC,aAAa,GAAG;YACjB,KAAK,EAAG;gBACJ,IAAI,EAAG,UAAU,CAAC,KAAK,CAAC,IAAI;gBAC9B,MAAM,EAAE,GAAG;aACZ;YACL,KAAK,EAAG;gBACN,IAAI,EAAG,IAAI,CAAC,KAAK;aAClB;YACD;;gBAEI;YACJ,OAAO,EAAE;gBACP,OAAO,EAAE,KAAK;aACf;YACD,KAAK,EAAG;gBACN,IAAI,EAAE,UAAU;gBAChB,cAAc,EAAG,IAAI;gBACrB,KAAK,EAAG,UAAU,CAAC,MAAM,CAAC,MAAM;gBAChC,MAAM,EAAG;oBACP,SAAS,EAAE;wBACT,MAAM,CAAC,qDAAK,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;oBAC9C,CAAC;iBACF;aACF;YACD,KAAK,EAAE;gBACH,KAAK,EAAE;oBACH,IAAI,EAAE,oBAAoB;iBAC7B;aACJ;YACD,MAAM,EAAE;gBACN,MAAM,EAAE,YAAY;gBACpB,KAAK,EAAE,QAAQ;gBACf,aAAa,EAAE,QAAQ;aACxB;YACD,OAAO,EAAE;gBACP,MAAM,EAAE,IAAI;gBACZ,SAAS,EAAE;oBACP,IAAI,SAAS,GAAG,IAAI,CAAC;oBAErB;wBACI,IAAI,aAAa,GAAG,EAAE,CAAC;wBACvB,IAAI,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;wBAE/E,aAAa,IAAI,OAAO,GAAG,OAAO,GAAG,YAAY,CAAC;wBAElD,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,UAAS,OAAO;4BACrC,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAC;gCACzD,aAAa,IAAI,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,GAAE,SAAS,GAAE,OAAO,CAAC,KAAK,CAAC,GAAG,GAAI,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,GAAG,QAAQ,CAAC;4BAC5I,CAAC;4BACD,IAAI,CAAC,CAAC;gCACF,aAAa,IAAI,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,GAAC,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,YAAY;4BAEhG,CAAC;wBACL,CAAC,CAAC,CAAC;wBACH,MAAM,CAAC,aAAa,CAAC;oBACzB,CAAC;oBACD,MAAM,CAAC,YAAY,EAAE,CAAC;gBAC1B,CAAC;aACF;YACD,MAAM,EAAG,EAAE;SACZ,CAAC;QAEA,IAAI,CAAC,cAAc,GAAG;YACpB,SAAS,EAAG;gBACV,IAAI,EAAG,MAAM;gBACb,IAAI,EAAG,IAAI;gBACX,MAAM,EAAG,CAAC;gBACV,SAAS,EAAG,CAAC;gBACb,MAAM,EAAG;oBACP,OAAO,EAAG,IAAI;iBACf;gBACD,KAAK,EAAE,qDAAK,CAAC,cAAc,CAAC,OAAO;gBACjC,KAAK,EAAG,UAAU,CAAC,MAAM,CAAC,MAAM;aACnC;YACD;;;;iBAIK;YACL,gBAAgB,EAAG;gBACjB,IAAI,EAAG,WAAW;gBAClB,SAAS,EAAE,CAAC;gBACZ,mBAAmB;gBACnB,IAAI,EAAG,IAAI;gBACX,MAAM,EAAG,CAAC;gBACV,KAAK,EAAG,qDAAK,CAAC,cAAc,CAAC,KAAK;gBAClC,IAAI,EAAG,QAAQ;gBACb,KAAK,EAAG,UAAU,CAAC,MAAM,CAAC,MAAM;aACnC;YACD,cAAc,EAAG;gBACf,IAAI,EAAG,MAAM;gBACb,IAAI,EAAG,IAAI;gBACX,MAAM,EAAG,CAAC;gBACV,KAAK,EAAG,qDAAK,CAAC,cAAc,CAAC,OAAO;gBACpC,SAAS,EAAG,CAAC;gBACb,MAAM,EAAG;oBACP,OAAO,EAAG,IAAI;iBACf;gBACC,KAAK,EAAG,UAAU,CAAC,MAAM,CAAC,MAAM;aACnC;SACF;QAED,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,yBAAyB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,SAAS,CAC/F,cAAI;YACF,KAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACnB,CAAC,EACD,IAAI,EAAE,gBAAgB;QACtB;YACE,KAAI,CAAC,aAAa,CAAC,MAAM,GAAG,EAAE,CAAC;YAE/B,IAAI,YAAY,GAAG,CAAC,IAAI,IAAI,CAAC,KAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC;YACxE,EAAE,EAAC,KAAI,CAAC,eAAe,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC7B,KAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;gBAC3D,KAAI,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,GAAG,CAAC,YAAY,GAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,GAAG,GAAG,CAAC,YAAY,GAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,QAAQ,CAAC;gBACrH,KAAI,CAAC,cAAc,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,YAAY,GAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,GAAG,GAAG,CAAC,YAAY,GAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,UAAU,CAAC;YACvH,CAAC;YACD,IAAI,CAAC,EAAE,EAAC,KAAI,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,CAAC;gBACnC,KAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,GAAG,MAAM,GAAG,CAAC,YAAY,GAAE,CAAC,CAAC,GAAG,KAAK,GAAG,MAAM,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;gBACzG,KAAI,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,GAAG,MAAM,GAAG,CAAC,YAAY,GAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,KAAK,GAAG,MAAM,GAAG,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,GAAG,QAAQ,CAAC;gBACvI,KAAI,CAAC,cAAc,CAAC,YAAY,CAAC,IAAI,GAAG,MAAM,GAAG,CAAC,YAAY,GAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,KAAK,GAAG,MAAM,GAAG,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,GAAG,UAAU,CAAC;YACzI,CAAC;YACD,GAAG,EAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACzC,EAAE,EAAC,KAAI,CAAC,cAAc,CAAC,KAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;oBACxC,IAAI,aAAa,GAAG,qDAAK,CAAC,EAAE,EAAE,KAAI,CAAC,cAAc,CAAC,KAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBAEpE,aAAa,CAAC,IAAI,GAAG,KAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAS,CAAC,EAAC,CAAC;wBACzD,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACtD,CAAC,CAAC,CAAC;oBACH,KAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBAChD,CAAC;YACH,CAAC;YAED,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QAC3B,CAAC,CAAC,CAAC;IACP,CAAC;IAED,qDAAW,GAAX;QACE,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;IAClC,CAAC;IAEH,sCAAC;AAAD,CAAC;;;;;;;;;;AChJD;AAAA;IAAA;IA4C+B,CAAC;IAAD,sBAAC;AAAD,CAAC;;;;;;;;;;ACjEhC;AAAA;AAA+D;AAE/D;IAKE,0BAAmB,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;IAAI,CAAC;IAE1C,uBAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qNCVD,gKAAwB,4FAExB,MAAM,qFACN;;;;;;;;;;;;ACHA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA+E;AAClD;AASQ;AACD;AAEpC;IAqBE,iCAAoB,gBAAkC;QAAlC,qBAAgB,GAAhB,gBAAgB,CAAkB;QAPtD,YAAO,GAAG,EAAE,CAAC;IAO6C,CAAC;IAE3D,0CAAQ,GAAR;QAAA,iBAiLC;QAhLC,IAAI,UAAU,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,8BAA8B,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,SAAS,CACrG,cAAI;YACF,KAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACnB,CAAC,EAAE,IAAI,EAAE;YAEP,IAAI,eAAe,GAAG,qDAAK,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;YACrG,IAAI,SAAS,GAAG,KAAI,CAAC;YAErB,eAAe,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;YAC1B,eAAe,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;YAC1B,eAAe,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;YAC1B,eAAe,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;YAE1B,kBAAkB;YAClB,KAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAS,CAAC,EAAE,CAAC;gBAClC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACrB,CAAC,CAAC,CAAC;YAEH,IAAI,MAAM,GAAG,KAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAC/B,IAAI,OAAO,GAAG,KAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAChC,IAAI,QAAQ,GAAG,KAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAEjC,KAAI,CAAC,cAAc,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC;YAC/D,KAAI,CAAC,aAAa,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC;YAG/E,qCAAqC;YACrC,MAAM,GAAG,KAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;YACvC,OAAO,GAAG,KAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;YACzC,QAAQ,GAAG,KAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YAE3C,MAAM,CAAC,OAAO,CAAC,UAAS,OAAO;gBAC7B,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YACtC,CAAC,CAAC,CAAC;YAGH,2BAA2B;YAC3B,IAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,UAAS,OAAO;gBACxC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACtB,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAE1C,KAAI,CAAC,QAAQ,GAAG;gBACd,KAAK,EAAE;oBACL,MAAM,EAAE,GAAG;iBACZ;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,UAAU,CAAC,UAAU;iBAC5B;gBACD,KAAK,EAAE;oBACL,UAAU,EAAE,KAAI,CAAC,OAAO;oBACxB,SAAS,EAAE,CAAC;4BACR,KAAK,EAAE,UAAU,CAAC,QAAQ;4BAC1B,KAAK,EAAE,CAAC;4BACR,KAAK,EAAE,GAAG;4BACV,SAAS,EAAE,MAAM;4BACjB,KAAK,EAAE;gCACL,IAAI,EAAE,aAAa;gCACnB,KAAK,EAAE,OAAO;gCACd,QAAQ,EAAE,CAAC;gCACX,CAAC,EAAE,CAAC,CAAC;gCACL,CAAC,EAAE,CAAC,EAAE;6BACP;yBACF,EAAE;4BACD,KAAK,EAAE,eAAe;4BACtB,KAAK,EAAE,CAAC;4BACR,KAAK,EAAE,GAAG;4BACV,SAAS,EAAE,MAAM;4BACjB,KAAK,EAAE;gCACL,IAAI,EAAE,cAAc;gCACpB,KAAK,EAAE,MAAM;gCACb,QAAQ,EAAE,CAAC;gCACX,CAAC,EAAE,CAAC,CAAC;gCACL,CAAC,EAAE,EAAE;6BACN;yBACF,CAAC;iBACL;gBACD,KAAK,EAAE;oBACL,KAAK,EAAE;wBACL,IAAI,EAAE,4BAA4B;qBACnC;oBACD,GAAG,EAAE,UAAU,CAAC,GAAG,GAAG,CAAC;oBACvB,YAAY,EAAE,CAAC;iBAChB;gBACD,SAAS,EAAE;oBACT,OAAO,EAAE;wBACP,aAAa,EAAE;4BACb,SAAS,EAAE,eAAe;yBAC3B;qBACF;iBACF;gBACD,OAAO,EAAE;oBACP,UAAU,EAAE,IAAI;oBAChB,MAAM,EAAE,IAAI;oBACZ,SAAS,EAAE;wBACT,IAAI,SAAS,GAAG,IAAI,CAAC;wBAErB,uBAAuB,MAAM;4BAC3B,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC;wBACjF,CAAC;wBAED;4BACE,IAAI,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;4BAEvC,IAAI,aAAa,GAAG,EAAE,CAAC;4BACvB,aAAa,IAAI,OAAO,GAAG,qDAAK,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC;4BAEhG,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,UAAS,OAAO;gCACvC,IAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gCAE/D,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,KAAK,gBAAgB,CAAC,CAAC,CAAC;oCACnD,IAAM,UAAU,GAAG,SAAS,CAAC,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;oCAC1E,aAAa,IAAI,UAAU,GAAG,UAAU,GAAG,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,GAAG,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,GAAG,QAAQ,CAAC;gCACnH,CAAC;gCAAC,IAAI,CAAC,CAAC;oCACN,IAAM,UAAU,GAAG,SAAS,CAAC,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;oCAC1E,aAAa,IAAI,UAAU,GAAG,UAAU,GAAG,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,YAAY,CAAC;gCACvF,CAAC;4BACH,CAAC,CAAC,CAAC;4BACH,MAAM,CAAC,aAAa,CAAC;wBACvB,CAAC;wBAED,MAAM,CAAC,YAAY,EAAE,CAAC;oBACxB,CAAC;iBACF;gBACD,MAAM,EAAE,EAAG;gBACX,OAAO,EAAE;oBACP,OAAO,EAAE,KAAK;iBACf;gBACD,MAAM,EAAE,CAAC;wBACL,EAAE,EAAG,SAAS;wBACd,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,OAAO;wBACb,MAAM,EAAE,CAAC;wBACT,KAAK,EAAE,qDAAK,CAAC,cAAc,CAAC,OAAO;wBACnC,MAAM,EAAE;4BACN,SAAS,EAAE,CAAC;4BACZ,OAAO,EAAE,KAAK;yBACf;wBACD,KAAK,EAAE;4BACL,OAAO,EAAE,KAAK;yBACf;qBACF,EAAE;wBACD,EAAE,EAAG,UAAU;wBACf,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,QAAQ;wBACd,MAAM,EAAE,CAAC;wBACT,KAAK,EAAE,qDAAK,CAAC,cAAc,CAAC,QAAQ;wBACpC,MAAM,EAAE;4BACN,SAAS,EAAE,CAAC;4BACZ,OAAO,EAAE,KAAK;yBACf;wBACD,KAAK,EAAE;4BACL,OAAO,EAAE,KAAK;yBACf;qBACF,EAAE;wBACD,EAAE,EAAG,gBAAgB;wBACrB,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,WAAW;wBACjB,SAAS,EAAE,CAAC;wBACZ,KAAK,EAAE,qDAAK,CAAC,cAAc,CAAC,KAAK;wBACjC,MAAM,EAAE,CAAC;wBACT,YAAY,EAAE,IAAI;wBAClB,MAAM,EAAE;4BACN,MAAM,EAAE,QAAQ;4BAChB,SAAS,EAAE,CAAC;4BACZ,OAAO,EAAE,KAAK;yBACf;qBACF,CAAC;aACL,CAAC;YAEF,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACrD,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,KAAI,CAAC,aAAa,CAAC,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAChF,CAAC;YACD,KAAI,CAAC,UAAU,EAAE,CAAC;QACpB,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,+CAAa,GAArB,UAAsB,QAAQ;QAC5B,IAAI,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAE5C,EAAE,CAAC,CAAC,QAAQ,KAAK,gBAAgB,CAAC,CAAC,CAAC;YAClC,IAAI,IAAI,QAAQ,CAAC;QACnB,CAAC;QAED,MAAM,CAAC,IAAI,CAAC;IACd,CAAC;IAEO,mDAAiB,GAAzB,UAA0B,QAAQ;QAChC,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,EAAE,CAAC,CAAC,QAAQ,KAAK,gBAAgB,CAAC,CAAC,CAAC;YAClC,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,KAAK,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;gBAC/C,IAAI,GAAG,CAAC,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;YAC3F,CAAC;YAAC,IAAI,CAAC,CAAC;gBACN,IAAI,GAAG,CAAC,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;YACvL,CAAC;QACH,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC;YAClC,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,KAAK,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;gBAC/C,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC;YACxC,CAAC;YAAC,IAAI,CAAC,CAAC;gBACN,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,QAAQ,EAAE,CAAC;YAChF,CAAC;QACH,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC;YACnC,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,KAAK,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;gBAC/C,IAAI,GAAG,CAAC,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;YAC9C,CAAC;YAAC,IAAI,CAAC,CAAC;gBACN,IAAI,GAAG,CAAC,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;YAC5F,CAAC;QACH,CAAC;QAED,MAAM,CAAC,IAAI,CAAC;IACd,CAAC;IAEO,kDAAgB,GAAxB,UAAyB,KAAK;QAC5B,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,iBAAO;YACtB,OAAO,CAAC,CAAC,CAAC,GAAG,qDAAK,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACrD,MAAM,CAAC,OAAO,CAAC;QACjB,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,4CAAU,GAAlB;QACE,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;YAC/C,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,qDAAK,CAAC,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE;gBACnD,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC,IAAI;gBAC3B,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa;aACrC,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IAED,6CAAW,GAAX;QACE,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;QAC7B,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC;YAC9B,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACtB,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QAC1B,CAAC;IACH,CAAC;IAGH,8BAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oUCrRD,uJAAqB,8FACjB,oJAAa,4FAAa,gKAAyB,kKAAmC,IAAY,yFAClG,8KAAuC,0GAAkB,MAAM,yFAC/D,kLAAoC,kGAChC,wNAA2D,YAAnD;;wBAA8B;MAAtC,wBAA2D,4FAAI,MAAS,6FACxE,4LAA8C,6FAAK,MAAS,yFAChE,MAAM,yFACN,gKAAwB,kGACpB,yKAAsC,KAAM,yFAChD,MAAM,qFACV,MAAM,qFACN,MAAqB,qFACrB,glBAAgD,IAAiB,qFACjE,MAAmB,uFAEnB,4YAEwC,YADX;;wBAA6B;MAD1D,8tDAEwC,iDALxB,mBAA+B,gBAA/C,aAAgD,EAAhC,SAA+B,GAKnC,oCAA2B,GAD3B,qBAAgB,EADhB,kBAAS,EAAC,oBAAiB,YAAC,kBAAU,EAAC,oBAA4B,mBAA/E,aAEwC,EAA5B,UAA2B,EAD3B,UAAgB,EADhB,UAAS,EAAC,UAAiB,EAAC,UAAU,EAAC,UAA4B,GAEnE,oCAA2B,GAFY,oBAA4B,mBAA/E,aAEwC,EAA5B,UAA2B,EAFY,UAA4B,mDAd9D,qDAAa,GAAyB,kOAAmC,GAO7E,gHAAc,GAAnB,aAAsC,EAAjC,SAAc,GAO3B,w0BAEwC;;;;;;;;;;;;AChBxC;AAAA;AAAA;AAA+E;AAC7C;AAKlC;IAsCE,oCAAoB,gBAAkC;QAAlC,qBAAgB,GAAhB,gBAAgB,CAAkB;QAzBtD,cAAS,GAAU,EAAE,CAAC;QAGtB,qBAAgB,GAAW,EAAE,CAAC;QAG9B,aAAQ,GAAW,IAAI,CAAC;QACxB,gBAAW,GAAW,CAAC,QAAQ,CAAC;QAChC,eAAU,GAAW,QAAQ,CAAC;QAG9B,kBAAa,GAAG;YAChB,EAAC,KAAK,EAAG,SAAS,EAAE,KAAK,EAAG,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAC;YACrE,EAAC,KAAK,EAAG,SAAS,EAAE,KAAK,EAAG,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;YACtD,EAAC,KAAK,EAAG,SAAS,EAAE,KAAK,EAAG,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;YACtD,EAAC,KAAK,EAAG,SAAS,EAAE,KAAK,EAAG,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;YACtD,EAAC,KAAK,EAAG,SAAS,EAAE,KAAK,EAAG,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;YACtD,EAAC,KAAK,EAAG,SAAS,EAAE,KAAK,EAAG,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;YACtD,EAAC,KAAK,EAAG,SAAS,EAAE,KAAK,EAAG,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;YACtD,EAAC,KAAK,EAAG,SAAS,EAAE,KAAK,EAAG,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;YACtD,EAAC,KAAK,EAAG,SAAS,EAAE,KAAK,EAAG,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;YACtD,EAAC,KAAK,EAAG,SAAS,EAAE,KAAK,EAAG,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,oBAAoB,EAAE;SACrF,CAAC;QACF,oBAAe,GAAQ,EAAE,CAAC;IAEgC,CAAC;IAE3D,6CAAQ,GAAR;QAAA,iBAwFC;QAtFC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,qCAAqC,EAAE,CAAC,SAAS,CACzF,cAAI;YACF,KAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACnB,CAAC,EAAE,IAAI,EAAE;YACP,IAAI,IAAI,GAAG,KAAI,CAAC;YAChB,KAAI,CAAC,wBAAwB,GAAG,EAAE,CAAC;YAEnC,GAAG,EAAC,IAAI,IAAI,IAAI,KAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAC;gBAE9B,+BAA+B;gBAC/B,GAAG,EAAC,IAAI,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAC;oBAC/C,KAAI,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,KAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,KAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;oBAC/F,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,KAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,KAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBAC/F,CAAC;YACH,CAAC;YAGD,IAAI,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,KAAI,CAAC,wBAAwB,CAAC,GAAG,KAAI,CAAC,wBAAwB,CAAC;YAEjI,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,GAAC,KAAI,CAAC,wBAAwB,CAAC,CAAC,gCAA+B;YAErG,IAAI,UAAU,GAAU,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC;YAC/G,KAAI,CAAC,aAAa,CAAC,OAAO,CAAC,UAAS,GAAG,EAAC,KAAK,EAAE,KAAK;gBAClD,GAAG,CAAC,KAAK,GAAG,UAAU,GAAG,GAAG,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;gBACjE,GAAG,CAAC,KAAK,GAAG,UAAU,CAAC,QAAQ,EAAE,CAAC;gBAClC,GAAG,CAAC,KAAK,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;gBACzD,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,GAAG,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC;gBACxC,UAAU,GAAG,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC;gBACzC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACxC,CAAC,CAAC,CAAC;YAGH,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;YAEnB,qDAAqD;YACrD,GAAG,EAAC,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAC;gBAC9B,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,CAAC;YACD,KAAI,CAAC,SAAS,EAAE,CAAC;YAEjB,KAAI,CAAC,gBAAgB,GAAG,KAAI,CAAC,SAAS,CAAC;YACvC,KAAI,CAAC,YAAY,GAAG,qDAAK,CAAC,sBAAsB,CAAC,KAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjE,KAAI,CAAC,WAAW,GAAG,IAAI,IAAI,CAAC,KAAI,CAAC,YAAY,CAAC,CAAC;YAC/C,KAAI,CAAC,iBAAiB,EAAE,CAAC;YAEzB,IAAI,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,KAAI,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC;gBACtC,GAAG,EAAE,0BAA0B;gBAC/B,eAAe,EAAE,SAAS;gBAC1B,MAAM,EAAE;oBACN,OAAO,EAAE,CAAC;4BACR,MAAM,EAAE,KAAI,CAAC,UAAU;4BACvB,SAAS,EAAG,MAAM;4BAClB,KAAK,EAAE;gCACL,GAAG,EAAC,KAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK;gCAC/B,GAAG,EAAC,KAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK;gCAC/B,GAAG,EAAC,KAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK;gCAC/B,GAAG,EAAC,KAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK;gCAC/B,GAAG,EAAC,KAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK;gCAC/B,GAAG,EAAC,KAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK;gCAC/B,GAAG,EAAC,KAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK;gCAC/B,GAAG,EAAC,KAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK;gCAC/B,GAAG,EAAC,KAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK;gCAC/B,IAAI,EAAC,KAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK,YAAW;6BAC5C;yBACF,CAAC;iBACH;gBACD,iBAAiB,EAAE,UAAS,CAAC,EAAE,EAAE,EAAE,IAAI;oBACrC,IAAI,cAAc,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBACxD,IAAI,YAAY,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;oBACnD,IAAI,QAAQ,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;oBAEjC,EAAE,CAAC,IAAI,CAAC,4BAA4B,GAAG,QAAQ,GAAG,IAAI,GAAG,YAAY,GAAG,SAAS,GAAG,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,EAAC,sBAAsB;gBACtL,CAAC;aACF,CAAC,CAAC;YACH,KAAI,CAAC,IAAI,GAAG,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;YAE9C,mCAAmC;YACnC,IAAI,kBAAkB,GAAG,QAAQ,CAAC,eAAe,CAAC,KAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;YAC1G,kBAAkB,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,EAAE,KAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAC5E,kBAAkB,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;YACxD,kBAAkB,CAAC,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC3D,kBAAkB,CAAC,cAAc,CAAC,IAAI,EAAE,cAAc,EAAE,GAAG,CAAC,CAAC;YAE7D,KAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;YAClE,KAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACxB,CAAC,CAAC,CAAC;IACP,CAAC;IAEQ,+CAAU,GAAjB,UAAkB,SAAS;QACvB,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;QAClC,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC7B,CAAC;IAAA,CAAC;IAEI,sDAAiB,GAAzB;QACE,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9C,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAClE,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;QACrB,IAAI,CAAC,iBAAiB,GAAG,qDAAK,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC/D,IAAI,CAAC,kBAAkB,GAAG,qDAAK,CAAC,sBAAsB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACzE,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACpD,EAAE,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACb,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAEO,0DAAqB,GAA7B,UAA8B,IAAI;QAChC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEzC,GAAG,EAAC,IAAI,IAAI,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;YACnC,IAAI,WAAW,GAAU,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEnD,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;gBACb,KAAM,WAAW,IAAI,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;oBAC1C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAI,GAAG,CAAC;oBAC7B,KAAK,CAAC;gBACR,KAAK,WAAW,IAAK,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;oBACxC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAI,GAAG,CAAC;oBAC7B,KAAK,CAAC;gBACV,KAAK,WAAW,IAAK,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;oBACxC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAI,GAAG,CAAC;oBAC7B,KAAK,CAAC;gBACV,KAAK,WAAW,IAAK,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;oBACxC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAI,GAAG,CAAC;oBAC7B,KAAK,CAAC;gBACV,KAAK,WAAW,IAAK,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;oBACxC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAI,GAAG,CAAC;oBAC7B,KAAK,CAAC;gBACV,KAAK,WAAW,IAAK,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;oBACxC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAI,GAAG,CAAC;oBAC7B,KAAK,CAAC;gBACV,KAAK,WAAW,IAAK,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;oBACxC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAI,GAAG,CAAC;oBAC7B,KAAK,CAAC;gBACV,KAAK,WAAW,IAAK,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;oBACxC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAI,GAAG,CAAC;oBAC7B,KAAK,CAAC;gBACV,KAAK,WAAW,IAAK,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;oBACxC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAI,GAAG,CAAC;oBAC7B,KAAK,CAAC;gBACV;oBACE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;YACjC,CAAC;QACH,CAAC;IACH,CAAC;IAEM,uDAAkB,GAAzB;QACM,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,4DAA4D;QAC5D,EAAE,EAAC,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,SAAS,CAAC,EAAC;YAC1C,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC;QAC7B,CAAC;QAED,gBAAgB;QAChB,IAAI,QAAQ,GAAG,WAAW,CAAE,UAAS,CAAC;YACpC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACxB,EAAE,EAAC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;gBAC1C,YAAY,EAAE,CAAC;gBACf,MAAM,CAAC;YACT,CAAC;YAED,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC3B,CAAC,EAAE,IAAI,CAAC,CAAC;QAET,0BAA0B;QAC1B,CAAC,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC;YACtB,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;QAEL;YACI,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC5B,CAAC;IACL,CAAC;IAED,gDAAW,GAAX;QACE,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;QAChC,EAAE,EAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC;YAC3B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACnB,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;QACxB,CAAC;IACH,CAAC;IACH,iCAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mHClOK,kIAAwC,yLAAY;mHAIpD,8iBACiD,GAA5C,wFAA2C,MAAC,2FACjD,2BADK,gCAA2C,2BADhD,YACiD,EAA5C,SAA2C;mHAM5C,mIAAyB,sMAAc;mHACvC,mIAAuC,4FAAI;mHAC3C,mIAAyB,sMAAc;mHAJ3C,mlBAA8G,GAAtE,sHAAqE,MAAC,6FAC5G,uKAA+B,oGAC7B,mcAAyB,IAAqB,+FAC9C,ocAAuC,IAAW,+FAClD,ocAAyB,IAAqB,6FAChD,MAAM,2FACR,2BANwC,wCAAqE,GAA7G,YAA8G,EAAtE,SAAqE,GAEnG,kBAAkB,0BAAxB,YAAyB,EAAnB,SAAkB,GAClB,iDAAgC,2BAAtC,aAAuC,EAAjC,SAAgC,GAChC,kBAAkB,0BAAxB,aAAyB,EAAnB,SAAkB;mHAjBlC,mKAAiC,4FAC/B,4KAAoC,gGAElC,mMAA4D,gGAC1D,qhBAAwC,IAAkB,yFAC5D,MAAM,2FAEN,yKAAiC,gGAC/B,shBACiD,IAC3C,yFACR,MAAM,yFACN,oLAA4C,gGAC1C,shBAA8G,IAMxG,yFACR,MAAM,uFACR,MAAM,qFACR,mDAlBW,mBAAkC,YAAvC,YAAwC,EAAnC,SAAkC,GAIlC,mBAAkC,gBAAvC,aACiD,EAD5C,SAAkC,GAKlC,mBAAkC,gBAAvC,aAA8G,EAAzG,SAAkC;;;;;;;;;;;;ACX7C;AAAA;IASE;IAAgB,CAAC;IAEjB,qCAAQ,GAAR;QACE,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QAEpB,GAAG,EAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAClD,EAAE,EAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAClC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YACtD,CAAC;QACH,CAAC;IACH,CAAC;IAEH,yBAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oVCvBD,uJAAqB,4FACnB,yJAAkB,4FAAa,gKAAyB,kKAAmC,IAAY,uFACvG,+JAAwB,8FACtB,yKAAsC,KAAM,uFAC9C,MAAM,qFACR,MAAM,qFACN,MAAqB,qFACrB,glBAAyC,IAAiB,qFAC1D,mDADgB,mBAAwB,SAAxC,aAAyC,EAAzB,SAAwB,mDANpB,qDAAa,GAAyB,kOAAmC,GAEpF,gHAAc,GAAnB,aAAsC,EAAjC,SAAc;;;;;;;;;;;;ACFvB;AAAA;AAAA;AAA+E;AAC7C;AAIlC;IAiBI,oBAAoB;IACpB,wGAAwG;IACxG,6EAA6E;IAC7E,6EAA6E;IAC7E,yEAAyE;IACzE,yEAAyE;IACzE,sFAAsF;IACtF,qEAAqE;IACrE,sEAAsE;IACtE,yEAAyE;IACzE,yEAAyE;IACzE,qGAAqG;IACrG,KAAK;IACP,oDAAoB,gBAAkC;QAAlC,qBAAgB,GAAhB,gBAAgB,CAAkB;IAAI,CAAC;IAE3D,6DAAQ,GAAR;QAAA,iBAwBC;QArBC,wCAAwC;QACtC,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,WAAW,CAAC,EAAC;YAC7B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,wCAAwC,EAAE,CAAC,SAAS,CAC1F,cAAI;gBACA,KAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACzB,CAAC,EAAE,IAAI,EAAE;gBACD,KAAI,CAAC,WAAW,GAAG,0BAA0B,CAAC;gBAChD,KAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,CAAC,CACJ;QACL,CAAC;QACD,IAAI,CAAC,CAAC;YACF,IAAI,CAAC,gBAAgB,CAAC,oCAAoC,EAAE,CAAC,SAAS,CAClE,cAAI;gBACA,KAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACrB,CAAC,EAAE,IAAI,EAAE;gBACL,KAAI,CAAC,WAAW,GAAG,yBAAyB,CAAC;gBAC7C,KAAI,CAAC,QAAQ,EAAE,CAAC;YACpB,CAAC,CACJ;QACL,CAAC;IACL,CAAC;IAED,oEAAe,GAAf;IAEA,CAAC;IACO,6DAAQ,GAAhB;QACI,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QAErB,cAAc;QACd,IAAI,CAAC,WAAW;YACZ,IAAI,CAAC,WAAW,GAAG,qDAAK,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEpE,GAAG,EAAC,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAC7B,IAAI,WAAW,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxC,MAAM,EAAC,IAAI,CAAC,EAAC;gBACT,KAAK,WAAW,IAAI,CAAC,EAAE;oBACnB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC;oBAC5B,KAAK,CAAC;gBACV,KAAK,WAAW,IAAI,CAAC,EAAE;oBACnB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC;oBAC5B,KAAK,CAAC;gBACV,KAAK,WAAW,IAAI,CAAC,EAAE;oBACnB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC;oBAC5B,KAAK,CAAC;gBACV,KAAK,WAAW,IAAI,CAAC,CAAC;oBAClB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC;oBAC5B,KAAK,CAAC;gBACV,KAAK,WAAW,GAAG,CAAC;oBAChB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC;oBAC5B,KAAK,CAAC;gBACV,KAAK,WAAW,IAAI,CAAC;oBACjB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC;oBAC5B,KAAK,CAAC;gBACV,KAAK,WAAW,IAAI,CAAC;oBACjB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC;oBAC5B,KAAK,CAAC;gBACV,KAAK,WAAW,IAAI,EAAE;oBAClB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC;oBAC5B,KAAK,CAAC;gBACV,KAAK,WAAW,IAAI,EAAE;oBAClB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC;oBAC5B,KAAK,CAAC;gBACV,KAAK,WAAW,IAAI,EAAE;oBAClB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;oBAC7B,KAAK,CAAC;gBACV;oBACI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,IAAI;oBAC5B,KAAK,CAAC;YACd,CAAC;QACL,CAAC;QACD,IAAI,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC;YACpC,GAAG,EAAE,0BAA0B;YAC/B,eAAe,EAAE,SAAS;YAC1B,MAAM,EAAE;gBACJ,OAAO,EAAE,CAAC;wBACN,MAAM,EAAE,IAAI,CAAC,UAAU;wBACvB,SAAS,EAAG,MAAM;wBAClB,KAAK,EAAE;4BACH,GAAG,EAAC,SAAS;4BACb,GAAG,EAAC,SAAS;4BACb,GAAG,EAAC,SAAS;4BACb,GAAG,EAAC,SAAS;4BACb,GAAG,EAAC,SAAS;4BACb,GAAG,EAAC,SAAS;4BACb,GAAG,EAAC,SAAS;4BACb,GAAG,EAAC,SAAS;4BACb,GAAG,EAAC,SAAS;4BACb,IAAI,EAAC,SAAS;4BACd,IAAI,EAAC,SAAS;yBACjB;qBACJ,CAAC;aACL;YACD,iBAAiB,EAAE,UAAS,CAAC,EAAE,EAAE,EAAE,IAAI;gBACnC,IAAI,cAAc,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACzD,IAAI,YAAY,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;gBACnD,cAAc,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,YAAY,CAAC;gBAEvC,EAAE,CAAC,IAAI,CAAC,4BAA4B,GAAG,cAAc,GAAG,SAAS,GAAG,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;YACvI,CAAC;SACJ,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QAE9C,mCAAmC;QACnC,IAAI,kBAAkB,GAAG,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QAC1G,kBAAkB,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC5E,kBAAkB,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QACxD,kBAAkB,CAAC,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC3D,kBAAkB,CAAC,cAAc,CAAC,IAAI,EAAE,cAAc,EAAE,GAAG,CAAC,CAAC;QAE7D,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;IACtE,CAAC;IAED,gEAAW,GAAX;QACI,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;YACpB,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;YAChC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC;gBAC1B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACnB,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;YAC1B,CAAC;QACL,CAAC;IACL,CAAC;IACH,iDAAC;AAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wHCnKD,kIAA0B,4FACxB,6sBAE+B,2FAC/B,MAA4B,qFAC9B,mDAFI,mBAA4B,gBAD5B,iCAA6B,EAD/B,YAE+B,EAA7B,SAA4B,EAD5B,SAA6B;wHAHjC,qFACA,wcAA0B,iDAArB,mBAAoB,eAAzB,YAA0B,EAArB,SAAoB;;;;;;;;;;;;ACDzB;AAAA;AAAA;AAAA;AAAkC;AAI6C;AACrC;AAE1C;IAYE,iCAAoB,gBAAkC,EAAS,QAAkB;QAA7D,qBAAgB,GAAhB,gBAAgB,CAAkB;QAAS,aAAQ,GAAR,QAAQ,CAAU;QAJjF,iBAAY,GAAY,KAAK,CAAC;QAE9B,qBAAgB,GAAW,CAAC,CAAC,CAAC;QAC9B,eAAU,GAAW,CAAC,CAAC;IAC8D,CAAC;IAEtF,0CAAQ,GAAR;QAAA,iBA4JC;QA3JC,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,IAAI,CAAC,aAAa,GAAG;YACjB,KAAK,EAAC;gBACF,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC,IAAI;gBAC7B,MAAM,EAAE,GAAG;aACZ;YACH,KAAK,EAAE;gBACL,IAAI,EAAE,4BAA4B;aACnC;YACD,KAAK,EAAG;gBACN,IAAI,EAAG,UAAU;gBACjB,SAAS,EAAE,CAAC;wBACV,KAAK,EAAG,UAAU,CAAC,OAAO;wBAC1B,KAAK,EAAG,CAAC;wBACT,KAAK,EAAG,IAAI;wBACZ,KAAK,EAAG;4BACN,IAAI,EAAG,IAAI;4BACX,QAAQ,EAAG,CAAC;4BACZ,CAAC,EAAG,EAAE;4BACN,CAAC,EAAG,IAAI;4BACR,KAAK,EAAG,IAAI;yBACb;qBACF,CAAC;gBACF,aAAa,EAAG,KAAK;gBACrB,SAAS,EAAG,KAAK;aAClB;YACD,KAAK,EAAG;gBACN,KAAK,EAAE;oBACL,IAAI,EAAG,gBAAgB;iBACxB;aACF;YACD,MAAM,EAAE;gBACN,MAAM,EAAE,YAAY;gBACpB,KAAK,EAAE,QAAQ;gBACf,aAAa,EAAE,QAAQ;aACxB;YACD,OAAO,EAAE;gBACP,MAAM,EAAE,IAAI;gBACV,SAAS,EAAE;oBACP,IAAI,SAAS,GAAG,IAAI,CAAC;oBAErB;wBACI,IAAI,aAAa,GAAG,EAAE,CAAC;wBACvB,IAAI,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,2CAA2C;wBAE1H,aAAa,IAAI,OAAO,GAAG,OAAO,GAAG,YAAY,CAAC;wBAElD,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,UAAS,OAAO;4BACrC,EAAE,EAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,GAAC,CAAC,CAAC,CAAC,EAAC;gCACtD,aAAa,IAAI,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,GAAE,QAAQ,GAAE,OAAO,CAAC,KAAK,CAAC,GAAG,GAAI,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,GAAG,QAAQ,CAAC;4BAC3I,CAAC;4BACD,IAAI,EAAC;gCACD,aAAa,IAAI,UAAU,GAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,GAAC,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,YAAY;4BAE3G,CAAC;wBACL,CAAC,CAAC,CAAC;wBACH,MAAM,CAAC,aAAa,CAAC;oBACzB,CAAC;oBACD,MAAM,CAAC,YAAY,EAAE,CAAC;gBAC1B,CAAC;aACJ;YACD,MAAM,EAAE,CAAC;oBACL,IAAI,EAAE,MAAM;oBACZ,KAAK,EAAG,qDAAK,CAAC,cAAc,CAAC,OAAO;oBACpC,IAAI,EAAG,IAAI;oBACX,MAAM,EAAG,CAAC;iBACX,EAAE;oBACD,IAAI,EAAE,MAAM;oBACZ,KAAK,EAAG,qDAAK,CAAC,cAAc,CAAC,QAAQ;oBACrC,IAAI,EAAG,IAAI;oBACX,MAAM,EAAG,CAAC;iBACX,EAAE;oBACD,IAAI,EAAE,WAAW;oBACjB,KAAK,EAAG,qDAAK,CAAC,cAAc,CAAC,KAAK;oBAClC,SAAS,EAAE,CAAC;oBACZ,mBAAmB;oBACnB,IAAI,EAAG,IAAI;oBACX,MAAM,EAAG,CAAC;iBACX;aACF;YACD,OAAO,EAAG;gBACN,OAAO,EAAG,KAAK;aAClB;SACF,CAAC;QAEF,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,CAAC,SAAS,CACrE,cAAI;YACF,KAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACnB,CAAC,EAAE,IAAI,EAAE;YACP,GAAG,EAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACzC,KAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,KAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAS,CAAC,EAAC,CAAC;oBAC3E,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACtD,CAAC,CAAC,CAAC;YACL,CAAC;YACG,kCAAkC;YAClC,0DAA0D;YAC1D,6DAA6D;YAE7D,GAAG,EAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAC,CAAC;gBAE5D,YAAY;gBACZ,EAAE,EAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,EAAC;oBAEhD,4CAA4C;oBAC5C,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,EAAC;wBACnD,QAAQ,CAAC;oBACb,CAAC;oBAED,iGAAiG;oBACjG,EAAE,EAAC,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,EAAC;wBAC1B,IAAI,CAAC,gBAAgB,GAAG,CAAC,GAAC,CAAC,CAAC;wBAC5B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAChE,CAAC;gBACL,CAAC;YACL,CAAC;YAED,yGAAyG;YACzG,EAAE,EAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,CAAC,CAAC,EAAC;gBAAA,IAAI,CAAC,gBAAgB,GAAG,KAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;YAAA,CAAC;YAEtF,6CAA6C;YAC7C,IAAI,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;YACjG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG;gBACvD,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC;gBACrB,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC;gBACrB,MAAM,EAAC;oBACH,OAAO,EAAE,IAAI;oBACb,MAAM,EAAC,QAAQ;oBACf,MAAM,EAAE,CAAC;iBACZ;aACJ,CAAC;YAIN,0BAA0B;YAC1B,sEAAsE;YACtE,0DAA0D;YAC1D,6DAA6D;YAC7D,MAAM;YACN,WAAW;YACX,aAAa;YACb,MAAM;YACN,IAAI;YACJ,6DAA6D;YAC7D,IAAI,YAAY,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC7C,IAAI,YAAY,GAAG,YAAY,CAAC,cAAc,EAAE,CAAC;YACjD,kJAAkJ;YAClJ,2FAA2F;YAC3F,uGAAuG;YACvG,KAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;YAC5D,KAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;YAClE,KAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,GAAG,GAAG,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,QAAQ,CAAC;YAEnH,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QAC3B,CAAC,CACF,CAAC;IACJ,CAAC;IACD,6CAAW,GAAX;QACE,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;IAClC,CAAC;IAEH,8BAAC;AAAD,CAAC;;;;;;;;;;ACtLD;AAAO,IAAM,WAAW,GAAG;IACzB,UAAU,EAAE,IAAI;IAChB,MAAM,EAAE,kBAAkB;IAC1B,MAAM,EAAE,KAAK;CACd,CAAC;;;;;;;;;ACJF;AAAA;AAAA;AAAA;AAAA;AAA+C;AAIU;;;AAEzD,EAAE,CAAC,CAAC,8EAAW,CAAC,UAAU,CAAC,CAAC,CAAC;IAC3B,8EAAc,EAAE,CAAC;AACnB,CAAC;AAED,oFAAwB,uBAAgB,CAAC,sFAAU,CAAC","file":"main.bundle.js","sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncatched exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./src/$$_lazy_route_resource lazy recursive\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/$$_lazy_route_resource lazy\n// module id = ./src/$$_lazy_route_resource lazy recursive\n// module chunks = main","
\r\n
\r\n \"\"\r\n

Natural Gas Storage Dashboard

\r\n
\r\n Dashboard last updated: {{dashboardLastUpdated | date : \"MMMM d, y\"}}\r\n Next update: {{dashboardNextUpdate | date : \"MMMM d, y\"}}\r\n Commentary last updated: {{commentaryLastUpdated | date : \"MMMM d, y\"}}\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
Weekly Natural Gas
\r\n
\r\n
\"Weekly
\r\n
\r\n \r\n

EIA’s Weekly Natural Gas Dashboard title page provides summary information including:

\r\n
    \r\n
  • The date of the latest report
  • \r\n
  • The date of the most recent blog or commentary
  • \r\n
  • Navigation to archived reports
  • \r\n
  • Tabs for report features
  • \r\n
  • The most recent estimate of Lower 48 working gas stocks
  • \r\n
  • An arrow indicating whether the weekly net change was a net injection (up arrow) or net withdrawal (down arrow) for the week ending on the specified date.
  • \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
Commentary Section
\r\n
\r\n
\"Commentary
\r\n
\r\n \r\n

Occasionally, EIA will include short posts that discuss changes in natural gas storage activity or related natural gas market conditions.

\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
Lower 48 Working Gas Storage Summary
\r\n
\r\n
\"Lower
\r\n
\r\n \r\n

This chart shows current working gas stocks and estimated storage capacity utilization by storage region (shown on the map) and for the Lower 48 states. For stocks, it also provides data on the 52 week min/max levels and the five-year min/max levels by region and for the Lower 48. Users can download the image or data for this and other graphics in the dashboard.

\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
Weather Map
\r\n
\r\n
\"Weather
\r\n
\r\n

The heat map displays weekly and daily average temperatures based on National Oceanic and Atmospheric Administration (NOAA) population-weighted heating degree and cooling degree data, calculated by NOAA state climate divisions with storage region overlays. This feature has three options:

\r\n
    \r\n
  • A map of average temperatures for the current storage reporting week compared with the thirty-year (e.g., 1981-2010) normal for the same time period
  • \r\n
  • A map showing how average temperatures varied for the current storage reporting week compared with the prior week
  • \r\n
  • An animation showing the daily absolute temperatures during the past two weeks
  • \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
Lower 48 Underground Working Gas Stocks
\r\n
\r\n
\"Lower
\r\n
\r\n

This chart shows EIA’s latest Lower 48 weekly estimates of working gas in underground natural gas storage facilities. The chart shows storage inventories for different time periods:

\r\n
    \r\n
  • Current year (blue line)
  • \r\n
  • Prior year (green line)
  • \r\n
  • Most recent five-year average (black line)
  • \r\n
  • Most recent five-year minimum/maximum range (gray band).
  • \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n
Lower 48 Daily Temperatures
\r\n
\r\n
\"Lower
\r\n
\r\n \r\n

This chart shows recent and near-future forecasts of daily average temperatures for the United States compared with the normal and record high/low average for each day.

\r\n

For the winter, temperatures are a good measure of likely furnace load for space heating needs and for the summer, warmer-than-normal temperatures can affect working gas storage activity.

\r\n

The daily data are population-weighted. The dashed vertical line indicates the report week versus the upcoming storage week (current week).

\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
Net Inventory Change
\r\n
\r\n
\"Net
\r\n
\r\n \r\n

This chart highlights week-over-week changes in storage activity. Weekly net change in storage inventory is shown several ways:

\r\n
    \r\n
  • Storage inventory from the prior week (blue dot)
  • \r\n
  • Average storage inventory activity for this week over the past five years (the dark gray diamond)
  • \r\n
  • Minimum/maximum range for this storage report week over the past five-years (the gray area)
  • \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
Key Sources of Natural Gas Consumption
\r\n
\r\n
\r\n \"Key\r\n
\r\n
\r\n \r\n

These charts show daily changes in natural gas consumption for the 14-day period of the current storage report week and the upcoming storage report week.

\r\n

Changes in natural gas consumption in the residential/commercial and electricity generation sectors can affect seasonal storage balances. Both charts show trends for the current year, the prior year, and the most recent five-year minimum/maximum range.

\r\n

These charts are based on third-party estimates. The dashed vertical line indicates the report week versus the upcoming storage week (current week).

\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
Working Gas Stocks and Futures Prices
\r\n
\r\n
\r\n \"Working\r\n
\r\n
\r\n \r\n

The scatterplot shows the relationship between EIA’s reported Lower 48 natural gas inventories each week and the near-month NYMEX natural gas futures settlement price at Henry Hub.

\r\n
    \r\n
  • The x-axis indicates the current working gas level compared with the most recent five-year average.
  • \r\n
  • Values to the left of the zero market on the x-axis indicate stocks are lower than the current five-year average.
  • \r\n
  • Values to the right of the zero marker on the x-axis indicate stocks are higher than the current five-year average.
  • \r\n
  • The y-axis shows the near-month futures price of gas.
  • \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n
Nuclear Plant Availability
\r\n
\r\n
\r\n \"Nuclear\r\n
\r\n
\r\n \r\n

This chart shows daily nuclear generating capacity outages (planned and unplanned) based on information from the\r\n U.S. Nuclear Regulatory Commission.

\r\n
    \r\n
  • Outages at nuclear generating plants can affect the fuels needed to meet regional power loads.
  • \r\n
  • Natural gas-fired plants may be dispatched when nuclear outages occur, which can affect natural gas storage requirements.
  • \r\n
  • Data cover the current year, prior year, and most recent five-year minimum/maximum range.
  • \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n
Regional Natural Gas Stocks
\r\n
\r\n
\r\n \"Regional\r\n
\r\n
\r\n

For each natural gas storage reporting region, the dashboard shows a chart of the weekly underground natural gas\r\n inventories for the

\r\n
    \r\n
  • Current Year and Prior Year
  • \r\n
  • The Average and Minimum/Maximum range for the most current five-year period.
  • \r\n
\r\n

EIA provides charts for these estimates for each of the five storage regions, including breakouts for Salt and\r\n Nonsalt facilities in the South Central region.

\r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n
Net Inventory Change by Region
\r\n
\r\n
\r\n \"Net\r\n
\r\n
\r\n \r\n

EIA provides charts for the weekly net change in natural gas stocks by storage region, which includes a breakout\r\n of the change in stocks for the salt and nonsalt facilities within the South Central region.

\r\n

Net change is the absolute change in storage working gas levels measured week over week. The chart reports three\r\n kinds of regional net changes:

\r\n
    \r\n
  • Current-year values (blue dot)
  • \r\n
  • The five-year average (dark gray diamond)
  • \r\n
  • The five-year range for a given reporting week (gray area)
  • \r\n
\r\n

Ranges are usually wider in the winter and narrower in the summer.

\r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n
Net Exports of Natural Gas
\r\n
\r\n
\r\n \"Net\r\n
\r\n
\r\n \r\n

This chart summarizes the net natural gas export position of the Lower 48 states each day. It shows the sum of\r\n all natural gas exports to Canada and Mexico by pipeline and natural gas feedstock delivered to U.S. liquefied\r\n natural gas (LNG) export terminals (treated as a proxy for LNG exports) minus any pipeline imports from Canada\r\n and Mexico and LNG imports.

\r\n

Send-out to U.S. LNG regasification terminals is a proxy for daily LNG imports. The net of total exports and imports\r\n indicates whether the United States is a net exporter or importer of natural gas. EIA provides this data for the current\r\n two-week period, for the current year, the previous year, and the current five-year minimum/maximum range.

\r\n

The disposition of natural gas exports can affect natural gas storage balances. The dashed vertical line indicates\r\n the report week versus the upcoming storage week (current week).

\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n
Heat Table
\r\n
\r\n
\r\n \"Heat\r\n
\r\n
\r\n \r\n

The heat table shows actual and forecasted daily temperatures and how they varied from thirty-year (e.g., 1981–2010)\r\n normal average temperatures based on NOAA data.

\r\n

Data are aggregated and averaged based on storage regions in the\r\n Weekly Natural Gas Storage Report.

\r\n

Temperatures that have been warmer than normal appear as a shade of brown, and temperatures that have been cooler\r\n than normal appear as a shade of blue.

\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n
Natural Gas Futures Prices
\r\n
\r\n
\r\n \"Natural\r\n
\r\n
\r\n \r\n

This chart presents NYMEX natural gas futures settlement prices for the next 12 months (also referred to as a strip)\r\n following the current WNGSR release.

\r\n

The natural gas futures price curves partly reflect changes in weekly natural gas storage inventories as a result\r\n of shifts in natural gas supply and demand.

\r\n

Three lines show the 12-month strip of settlement prices:

\r\n
    \r\n
  • Formed on the day before the current WNGSR release
  • \r\n
  • From the previous week’s WNGSR release day
  • \r\n
  • Established a year ago on the WNGSR release day
  • \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/app.component.html","import { Component, OnInit, AfterViewInit} from '@angular/core';\nimport {environment} from '../environments/environment';\nimport { ApiService } from './services/api.service';\nimport { DashboardService } from './dashboard/services/dashboard.service';\nimport {CommentaryService} from \"./commentary/services/commentary.service\";\nimport { PdfSelectorComponent } from \"./pdf-selector/pdf-selector.component\"\ndeclare var $:any;\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.css']\n})\nexport class AppComponent implements OnInit{\n title: string = 'Natural Gas Storage Dashboard';\n dashboardLastUpdated: Date = null;\n dashboardNextUpdate: Date = null;\n commentaryLastUpdated: Date = null;\n lastUpdateSubscription:any;\n commentaryLastUpdateSubscription:any;\n archiveReportSubscription:any;\n latestReport: any;\n justText: string = \"Lorem ipsum homie. Just random text\";\n\n\n constructor(private apiService: ApiService, private dashboardService: DashboardService, private commentaryService: CommentaryService){\n this.apiService.baseUrl = environment.apiUrl;\n this.apiService.contextPath = '';\n }\n\n ngOnInit() {\n\n $('.tourBox').fancybox({\n maxWidth\t: 800,\n maxHeight\t: '80%',\n minHeight: 400,\n fitToView\t: false,\n width\t\t: '70%',\n //height\t: '85%',\n //autoSize\t: false,\n autoHeight: true,\n closeClick\t: false,\n openEffect\t: 'none',\n closeEffect\t: 'none',\n loop : false\n\n\n /* margin: [40, 0, 20, 0],\n maxWidth\t: 800,\n maxHeight\t: 600,\n fitToView\t: false,\n width\t\t: '70%',\n height\t\t: '70%',\n autoSize\t: false,\n closeClick\t: false,\n openEffect\t: 'none',\n closeEffect\t: 'none',\n scrolling: 'visible',\n type: 'inline',\n width: 980,\n maxHeight: 2000,\n autoSize: false, // required for width\n margin: [40, 0, 20, 0],\n height: 'auto',\n padding: 0,\n fitToView: false,\n topRatio: 0,\n autoDimension: false*/\n });\n\n\n\n this.lastUpdateSubscription = this.dashboardService.getLastUpdated().subscribe(\n json =>{\n this.dashboardLastUpdated = new Date(json.dataLastUpdated);\n this.dashboardNextUpdate = new Date(json.dataNextUpdate);\n }, null, () =>{\n\n }\n )\n\n this.commentaryLastUpdateSubscription = this.commentaryService.getLastUpdated().subscribe(\n json =>{\n this.commentaryLastUpdated = new Date(json.lastUpdated);\n }, null, () =>{\n\n }\n )\n this.archiveReportSubscription = this.dashboardService.getArchiveReportByDate().subscribe(\n json => {\n this.latestReport = json;\n this.latestReport = json.length > 0 ? json[0] : null;\n }\n )\n }\n\n public printPage(){\n window.print();\n }\n\n public openLatestPDF() {\n window.open(this.apiService.baseUrl + this.latestReport.path, \"_blank\");\n this.dashboardService.getArchiveReportByDate()\n }\n\n\n ngAfterViewInit(){\n\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/app.component.ts","//baseline\nimport { BrowserModule } from '@angular/platform-browser';\nimport { NgModule } from '@angular/core';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { RouterModule } from '@angular/router';\nimport { HttpClientModule } from '@angular/common/http';\nimport { HTTP_INTERCEPTORS } from '@angular/common/http';\nimport 'rxjs/add/operator/map';\nimport 'rxjs/add/operator/debounceTime';\nimport 'rxjs/add/operator/distinctUntilChanged';\nimport 'rxjs/add/operator/switchMap';\nimport 'rxjs/add/operator/do';\n\n//entry point\nimport { AppComponent } from './app.component';\nimport { routing } from './app.routing'\n\n//eia services\nimport { ApiService } from './services/api.service';\nimport { ErrorInterceptor } from './services/error.interceptor';\nimport { EiaChartsService } from '../app/share-modules/eia-charts/eia-charts.service';\n//eia custom modules\nimport { DashboardModule } from './dashboard/dashboard.module';\nimport { CommentaryModule } from './commentary/commentary.module';\nimport { RelatedLinksModule } from './related-links/related-links.module';\nimport {CommentaryService} from \"./commentary/services/commentary.service\";\nimport { DatePipe } from '@angular/common'\nimport { MyDateRangePickerModule } from 'mydaterangepicker';\nimport {PdfSelectorComponent} from \"./pdf-selector/pdf-selector.component\";\n\n\n\n@NgModule({\n declarations: [\n AppComponent,\n PdfSelectorComponent\n ],\n imports: [\n BrowserModule,\n BrowserAnimationsModule,\n RouterModule,\n HttpClientModule,\n routing,\n DashboardModule,\n CommentaryModule,\n RelatedLinksModule,\n MyDateRangePickerModule,\n ],\n providers: [\n ApiService,\n {\n provide: HTTP_INTERCEPTORS,\n useClass: ErrorInterceptor,\n multi: true\n },\n EiaChartsService,\n CommentaryService,\n DatePipe\n ],\n bootstrap: [AppComponent]\n})\nexport class AppModule { }\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/app.module.ts","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DisplayCommentaryComponent } from './display-commentary/display-commentary.component';\n@NgModule({\n imports: [\n CommonModule\n ],\n declarations: [DisplayCommentaryComponent]\n})\nexport class CommentaryModule { }\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/commentary/commentary.module.ts","
\n
\n
\n
\n {{commentary.date | date : 'longDate'}}\n

{{commentary.title}}

\n
\n
\n
\n
\n
\n
\n\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/commentary/display-commentary/display-commentary.component.html","import { Component, OnInit, OnDestroy } from '@angular/core';\nimport { CommentaryService } from '../services/commentary.service';\nimport { ActivatedRoute, Router } from '@angular/router';\n\n//declare var $: any;\n@Component({\n selector: 'app-display-commentary',\n templateUrl: './display-commentary.component.html',\n styleUrls: ['./display-commentary.component.less']\n})\nexport class DisplayCommentaryComponent implements OnInit {\n\n data:any = [];\n subscription: any;\n openCommentaryId: any; //track id of the most recent\n theOpenBody: any;\n id: number;\n\n\n constructor(public commentaryService: CommentaryService, public route: ActivatedRoute, private router: Router) { }\n\n ngOnInit() {\n\n var controller: any = this;\n\n this.commentaryService.getCommentary().subscribe(json=>{\n this.data = json;\n },()=>{},\n ()=>{\n\n this.id = this.route.snapshot.paramMap.get('id') ? this.route.snapshot.paramMap.get('id') : this.data[0].id;\n\n if (this.route.snapshot.paramMap.get('id')) {\n controller.openCommentaryId = this.route.snapshot.paramMap.get('id')\n this.getBody(this.id);\n }\n else{\n controller.goToNewRoute(controller.id);\n }\n\n });\n\n }\n\n\n getBody(id){\n this.commentaryService.getCommentaryById(id).subscribe(\n json=>{ this.theOpenBody = json.html;\n\n this.data.forEach((element)=>{\n if(element.id == this.openCommentaryId ){\n element.body = this.theOpenBody;\n }\n });\n });\n }\n\n goToNewRoute(id){\n if(this.openCommentaryId == id){return;}\n\n this.router.navigate(['commentary/' + id]).then(()=>{\n this.openCommentaryId = id;\n this.id = id;\n this.getBody(id);\n });\n }\n\n ngOnDestroy(){\n if(this.subscription){\n this.subscription.unsubscribe();\n }\n }\n\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/commentary/display-commentary/display-commentary.component.ts","import { Injectable } from '@angular/core';\nimport {ApiService} from \"../../services/api.service\";\n\n@Injectable()\nexport class CommentaryService {\n\n constructor(private apiService: ApiService) {\n this.apiService = apiService;\n }\n\n getLastUpdated() {\n return this.apiService.getEiaUrl('commentary/updated', {});\n }\n\n getCommentary() {\n return this.apiService.getEiaUrl('commentary', {});\n }\n\n getCommentaryById(id) {\n return this.apiService.getEiaUrl('commentary/' + id, {});\n }\n // logic here to get the commentary from wherever it is and return it as an array of html\n getCommentaryItems(commentaryId){ //commentary could be pulled based on a id\n var data: any = [];\n var testItem1 = {\n id : 1,\n header:`EIA projects lower natural gas stocks for the start of the 2018-2019 winter heating season compared with recent years despite the expected typical summer injections`,\n date: `May 31, 2018`,\n body: `\n \"Seasonal\n

Sources: U.S. Energy Information Administration: Weekly Natural Gas Storage Report; Short-Term Energy Outlook, May 2018; Natural Gas Monthly, May 2018.

\n\n

EIA projects that Lower 48 underground natural gas storage inventories may be only 3,491 billion cubic feet (Bcf) at the start of the 2018–19 winter heating season—the lowest level for the start of winter since 2006. Current Lower 48 underground natural gas storage inventories are 1,725 Bcf, or about 23% below the five-year (2013–17) average and about 31% below last summer’s natural gas storage levels at this time. Natural gas injections between now and October 31 will need to be almost 1,800 Bcf to bring pre-winter inventories above 3,500 Bcf.

\n\n

Although April 1 (the start of injection season) inventories were low this year (1,389 Bcf), they were not as low as in 2014 when much colder-than-normal temperatures associated with the Polar Vortex resulted in end-of-winter inventories of less than 900 Bcf. EIA estimates that weekly net injections will need to average about 80 Bcf between now and October 31 to reach EIA’s current start-of-winter inventory estimate or about 90 Bcf to reach the most recent five-year average.

\n\n

\n Several factors could influence the pace of natural gas injections this summer including:\n

\n \n\n

Check EIA’s Natural Gas Storage Dashboard every week for updated information on this summer’s injection profile.

`\n };\n\n\n var testItem2 = {\n id : 2,\n header:`EIA projects lower natural gas stocks for the start of the 2018-2019 winter heating season compared with recent years despite the expected typical summer injections`,\n date: `June 1, 2018`,\n body: `\n \"Seasonal\n

Sources: U.S. Energy Information Administration: Weekly Natural Gas Storage Report; Short-Term Energy Outlook, May 2018; Natural Gas Monthly, May 2018.

\n\n

EIA projects that Lower 48 underground natural gas storage inventories may be only 3,491 billion cubic feet (Bcf) at the start of the 2018–19 winter heating season—the lowest level for the start of winter since 2006. Current Lower 48 underground natural gas storage inventories are 1,725 Bcf, or about 23% below the five-year (2013–17) average and about 31% below last summer’s natural gas storage levels at this time. Natural gas injections between now and October 31 will need to be almost 1,800 Bcf to bring pre-winter inventories above 3,500 Bcf.

\n\n

Although April 1 (the start of injection season) inventories were low this year (1,389 Bcf), they were not as low as in 2014 when much colder-than-normal temperatures associated with the Polar Vortex resulted in end-of-winter inventories of less than 900 Bcf. EIA estimates that weekly net injections will need to average about 80 Bcf between now and October 31 to reach EIA’s current start-of-winter inventory estimate or about 90 Bcf to reach the most recent five-year average.

\n\n

\n Several factors could influence the pace of natural gas injections this summer including:\n

\n \n\n

Check EIA’s Natural Gas Storage Dashboard every week for updated information on this summer’s injection profile.

`\n };\n\n data.push(testItem1);\n data.push(testItem2);\n\n\n return data;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/commentary/services/commentary.service.ts","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n\n/**\n * Local components & Services\n */\nimport { DisplayDashboardComponent } from './display-dashboard/display-dashboard.component';\nimport { DashboardService } from './services/dashboard.service';\n\n\n/**\n * Share Eia Components\n */\nimport { EiaChartsModule} from '../share-modules/eia-charts/eia-charts.module';\n//import { MyDateRangePickerModule } from 'mydaterangepicker';\n\n//import { PdfSelectorComponent} from \"../pdf-selector/pdf-selector.component\";\n\n\n@NgModule({\n imports: [\n CommonModule,\n EiaChartsModule\n ],\n providers: [\n DashboardService\n ],\n declarations: [DisplayDashboardComponent]\n})\nexport class DashboardModule { }\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/dashboard/dashboard.module.ts","\r\n\t
\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\tLower 48 working gas in underground storage as of {{latestInventory.date | date:'longDate'}}: \r\n\t\t\t\t\r\n\t\t\t\t\t{{latestInventory.inventory}} Bcf  | Weekly net change: \r\n\t\t\t\t\t{{getAbsoluteNetChange()}} Bcf\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t
\r\n\r\n\t
\r\n\t\t
\r\n\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n\t\r\n\t
\r\n\t\t

Regional Natural Gas Storage Stocks

\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t
\r\n\t
\r\n\t\t

Prices and Other Indicators

\r\n\t\t

Other Indicators

\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\"Forward\r\n\t\t
\r\n\t
\r\n\t
\r\n\t\t
\r\n\t\t\t \r\n\t\t\t\tNotes, sources, and related links\r\n\t\t\t\r\n\t\t\t

Have a question, comment, or suggestion? Send your feedback to natgasstoragedashboard@eia.gov

\r\n\t\t
\r\n\t
\r\n\t
\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/dashboard/display-dashboard/display-dashboard.component.html","import { Component, OnInit, OnDestroy } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { DashboardService } from '../services/dashboard.service';\n\nimport { indexOf } from \"lodash\";\n\ndeclare var Highcharts: any;\ndeclare var $: any;\n\n@Component({\n selector: 'app-display-dashboard',\n templateUrl: './display-dashboard.component.html',\n styleUrls: ['./display-dashboard.component.css']\n})\nexport class DisplayDashboardComponent implements OnInit, OnDestroy{\n\n constructor(public dashboardService: DashboardService, private router:Router) {\n this.futureCurveImageURL = dashboardService.getFutureCurveImageURL();\n }\n currentRoute: string = '';\n date:any;\n isPrint: boolean = false;\n displayChart: boolean = false;\n latestInventory: any;\n subscription: any;\n gaugeData: any;\n mapShown: string = 'Departure From Normal';\n _chartOptions : any;\n heatMapColors = ['#003c56','#006997','#0096d7','#4db6e3','#99d5ef','#AFAFAF','#e5c799','#d19d69','#bd732a','#84511d','#4c2e11']; //used in the view to render legend color boxes\n //heatMapColors = ['#1D3159','#305194','#4B74C5','#84A0D8','#BFCEEB','#AFAFAF','#F8D1B6','#F2A36E','#EB7829','#B75411','#70330A']; //used in the view to render legend color boxes\n futureCurveImageURL : string;\n departureHeatMap: any;\n departurePriorHeatMap: any;\n\n\n\n\n\n\n ngOnInit() {\n this.isPrint = window.matchMedia('print').matches;\n this.currentRoute = this.router.url;\n if(this.currentRoute.indexOf('?') > -1) {\n this.currentRoute = this.currentRoute.split('?')[0];\n }\n\n this.departureHeatMap = [\n {color : '#003c56', label : \"<= -20\" , topLabel : '°F below normal', upper: \"<= -20\", lower: \"\"},\n {color : '#006997', label : \"-19 - -15\" ,lower: \"-19\", upper: \"-15\" },\n {color : '#0096d7', label : \"-14 to -10\",lower: \"-14\", upper: \"-10\" },\n {color : '#4db6e3', label : \"-9 to -5\",lower: \"-9\", upper: \"-5\" },\n {color : '#99d5ef', label : \"-4 to -1\" ,lower: \"-4\", upper: \"-1\"},\n {color : '#AFAFAF', label : \"0\" , topLabel : 'normal', lower: '', upper: '0' },\n {color : '#e5c799', label : \"1 to 5\" ,lower: \"1\", upper: \"4\"},\n {color : '#d19d69', label : \"6 to 10\" ,lower: \"5\", upper: \"9\"},\n {color : '#bd732a', label : \"11 to 15\" ,lower: \"10\", upper: \"14\"},\n {color : '#84511d', label : \"16 to 19\" ,lower: \"15\", upper: \"19\"},\n {color : '#4c2e11', label : \">= 20\" , topLabel : '°F above normal' ,lower: \">= 20\", upper: \"\"}\n ];\n\n this.departurePriorHeatMap = [\n {color : '#003c56', label : \"<= -20\" , topLabel : ' ', upper: \"<= -20\", lower: \"\"},\n {color : '#006997', label : \"-19 - -15\" ,lower: \"-19\", upper: \"-15\" },\n {color : '#0096d7', label : \"-14 to -10\",lower: \"-14\", upper: \"-10\" },\n {color : '#4db6e3', label : \"-9 to -5\",lower: \"-9\", upper: \"-5\" },\n {color : '#99d5ef', label : \"-4 to -1\" ,lower: \"-4\", upper: \"-1\"},\n {color : '#AFAFAF', label : \"0\" , lower: '', upper: '0' },\n {color : '#e5c799', label : \"1 to 5\" ,lower: \"1\", upper: \"4\"},\n {color : '#d19d69', label : \"6 to 10\" ,lower: \"5\", upper: \"9\"},\n {color : '#bd732a', label : \"11 to 15\" ,lower: \"10\", upper: \"14\"},\n {color : '#84511d', label : \"16 to 19\" ,lower: \"15\", upper: \"19\"},\n {color : '#4c2e11', label : \">= 20\" , topLabel : 'weekly difference (°F)' ,lower: \">= 20\", upper: \"\"}\n ];\n\n\n $('.notesAndSources').fancybox({\n maxWidth\t: 800,\n maxHeight\t: 800,\n fitToView\t: false,\n width\t\t: '70%',\n type: 'iframe',\n //height\t: '85%',\n //autoSize\t: false,\n //autoHeight: true,\n closeClick\t: false,\n openEffect\t: 'none',\n closeEffect\t: 'none',\n });\n\n Highcharts.setOptions({\n exporting : {\n buttons : {\n contextButton : {\n text : null\n }\n }\n }\n });\n this.latestInventory = {};\n this.gaugeData = [];\n this.subscription = this.dashboardService.getLatestInventory().subscribe(\n json =>{\n this.latestInventory = json;\n }, null, () =>{\n this.displayChart = true;\n });\n }\n\n public getAbsoluteNetChange() {\n return Math.abs(this.latestInventory.net_change);\n }\n\n public getNetChangeSign() {\n return (this.latestInventory.net_change > 0) ? 'positive' : (this.latestInventory.net_change < 0 ? 'negative' : '');\n }\n\n public showMap(id) {\n this.mapShown = id;\n }\n\n ngOnDestroy(){\n this.subscription.unsubscribe();\n }\n\n public showNational() {\n return this.isPrint || this.currentRoute == '/';\n }\n\n public showRegional() {\n return this.isPrint || this.currentRoute == '/regional';\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/dashboard/display-dashboard/display-dashboard.component.ts","declare var Highcharts: any;\nimport { Injectable } from '@angular/core';\nimport { ApiService } from '../../services/api.service';\n@Injectable()\nexport class DashboardService {\n\n constructor(private apiService: ApiService) {\n this.apiService = apiService;\n }\n\n getLastUpdated() {\n return this.apiService.getEiaUrl('last_updated', {});\n }\n\n getNuclearOutages() {\n return this.apiService.getEiaUrl('nuclear_outages', {});\n }\n\n getTemperatureData(){\n return this.apiService.getEiaUrl('temperatures_us_daily_average', {});\n }\n\n getChartData() {\n return this.apiService.getEiaUrl('', {});\n }\n\n getHeatMapData(){\n return this.apiService.getEiaUrl('temperatures_departure_from_normal', {});\n }\n\n getGasConsumptionElectricPower(consumptionSource){\n return this.apiService.getEiaUrl('gas_consumption', {'source' : consumptionSource});\n }\n\n getStorageWeeklyWorking(storageSource){\n return this.apiService.getEiaUrl('gas_storage_weekly_working', {'region' : storageSource});\n }\n\n getLatestInventory() {\n return this.apiService.getEiaUrl('latest_inventory', {});\n }\n\n getStorageWeeklyNetChange(netChangeStorage){\n return this.apiService.getEiaUrl('gas_storage_weekly_net_change', {'region' : netChangeStorage});\n }\n\n getGasTradeDisposition(){\n return this.apiService.getEiaUrl('gas_trade_disposition',{});\n }\n\n getLatestDayNaturalGasStorage(){\n return this.apiService.getEiaUrl('current_natural_gas_storage', {});\n }\n\n getTemperatureDepartureByClimateDivision() {\n return this.apiService.getEiaUrl('temperature_departure_by_climate_division', {});\n }\n\n getTemperatureDepartureFromPriorWeek() {\n return this.apiService.getEiaUrl('temperature_change_by_climate_division', {});\n }\n\n\n getTemperatureDepartureDailyAnimation() {\n return this.apiService.getEiaUrl('temperature_animation_by_climate_division', {});\n }\n\n getHenryHubGasPricesData() {\n return this.apiService.getEiaUrl('inventory_disposition_futures', {});\n }\n\n getFutureCurveImageURL() {\n return this.apiService.baseUrl + '/natural_gas_forward_curves_svg';\n }\n\n getArchiveReportByDate(){\n return this.apiService.getEiaUrl('archives', {} );\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/dashboard/services/dashboard.service.ts","
\r\n Archived Reports\r\n
\r\n \r\n
\r\n
\n\n\n// WEBPACK FOOTER //\n// ./src/app/pdf-selector/pdf-selector.component.html","import { Component, OnInit } from '@angular/core';\nimport { IMyDrpOptions, IMyDateRangeModel } from 'mydaterangepicker';\nimport { DashboardService} from \"../dashboard/services/dashboard.service\";\nimport { Utils} from \"../share-modules/Utils\";\nimport { ApiService } from '../services/api.service';\n\n\n@Component({\n selector: 'app-pdf-selector',\n templateUrl: './pdf-selector.component.html',\n styleUrls: ['./pdf-selector.component.less']\n})\nexport class PdfSelectorComponent implements OnInit {\n\n\n openPicker: boolean = false;\n archiveDates:any = [];\n pdf: any;\n myDateRangePickerOptions: IMyDrpOptions = {\n dateFormat: 'dd/mm/yyyy',\n firstDayOfWeek: 'mo',\n sunHighlight: true,\n //height: '34px',\n //width: '260px',\n inline: true,\n alignSelectorRight: false,\n indicateInvalidDateRange: true,\n showClearBtn: false,\n showApplyBtn:false,\n showWeekNumbers: true,\n showSelectDateText:false\n\n //openSelectorOnInputClick: true,\n //editableDateRangeField: false\n\n }\n\n constructor(public dashboardService: DashboardService, public apiService: ApiService) { }\n\n ngOnInit() {\n }\n\n\n // closePicker(){\n // console.log('blurred');\n // this.openPicker == false;\n // }\n\n togglePicker(){\n this.openPicker = !this.openPicker;\n }\n\n\n\n\n\n // dateRangeChanged callback function called when the user apply the date range. This is\n // mandatory callback in this option. There are also optional inputFieldChanged and\n // calendarViewChanged callbacks.\n onDateRangeChanged(event: IMyDateRangeModel) {\n //console.log('changed');\n // event properties are: event.beginDate, event.endDate, event.formatted,\n // event.beginEpoc and event.endEpoc\n }\n\n\n\n onDateSelected(event: IMyDateRangeModel){\n let that = this;\n let selectedWeek = Utils.getWeek(event['jsdate']);\n this.pdf = null;\n\n this.dashboardService.getArchiveReportByDate().subscribe(\n json =>{\n this.archiveDates = json;\n },null,()=>{\n this.archiveDates.forEach(function(element){\n if(element.week.split('-')[0] == selectedWeek && (event['jsdate'].toString().split(' ')[3] == element.week.split('-')[1])){\n that.pdf = element.path;\n }\n });\n\n if(!this.pdf){\n alert(\"No archive exists for the selected week.\");\n return;\n }\n window.open(this.apiService.baseUrl + this.pdf, \"_blank\");\n }\n );\n\n this.openPicker = false;\n }\n\n\n\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/pdf-selector/pdf-selector.component.ts","
\n
\n

Energy Information Administration

\n \n

Federal Energy Regulatory Commission

\n \n

Department of Energy

\n \n

Department of Transportation, Pipeline and Hazardous Materials Safety Administration

\n \n

State Government Resources

\n \n
\n
\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/related-links/display-related-links/display-related-links.component.html","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-display-commentary',\n templateUrl: './display-related-links.component.html'\n})\nexport class DisplayRelatedLinksComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/related-links/display-related-links/display-related-links.component.ts","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DisplayRelatedLinksComponent } from './display-related-links/display-related-links.component';\n@NgModule({\n imports: [\n CommonModule\n ],\n declarations: [DisplayRelatedLinksComponent]\n})\nexport class RelatedLinksModule { }\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/related-links/related-links.module.ts","/**\n * This is a base class for calling api\n */\nimport {Injectable} from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpResponse } from '@angular/common/http';\nimport {Router} from '@angular/router';\nimport 'rxjs/add/operator/map';\nimport 'rxjs/add/operator/debounceTime';\nimport 'rxjs/add/operator/distinctUntilChanged';\nimport 'rxjs/add/operator/switchMap';\nimport 'rxjs/add/operator/do';\n\n\n\n\n\nconst API_CALL_TYPE = {\n GET: 'GET',\n POST: 'POST',\n PUT: 'PUT',\n PATCH: 'PATCH',\n DELETE: 'DELETE'\n}\n\n\nconst HTTP_OPTIONS = {\n headers: new HttpHeaders({ 'Content-Type': 'application/json' })\n};\n\n\n/**\n * This is a generic data call to api. Support the following: GET, POST, PUT, PATCH, DELETE\n * get(url, [config]);\n delete(url, [config]);\n head(url, [config]);\n jsonp(url, [config]);\n post(url, data, [config]);\n put(url, data, [config]);\n patch(url, data, [config]);\n */\n\n@Injectable()\n\nexport class ApiService {\n\n baseUrl: string;\n contextPath: string;\n constructor(private http: HttpClient, private router: Router) {\n\n }\n\n\n getEiaQueryString(\n action,\n params = null\n ){\n\n return this.getCall(\n this.buildUrl(this.baseUrl, action, null)\n )\n\n }\n\n getApiUrl(url){\n return this.getCall(url);\n }\n\n\n getEiaUrl(action, params, isJson:boolean = true){\n return this.getCall(this.buildUrl(this.baseUrl, action, params), null, isJson);\n }\n\n postEia(\n action,\n data = null\n ) {\n return this.postCall(\n this.buildUrl(this.baseUrl, action, null),\n data\n );\n }\n\n\n\n\n /**\n * Build url to be passed to api service class\n * @param base_url\n * @param action\n * @param nice_url_params\n * @returns {string}\n */\n private buildUrl(base_url, action, nice_url_params = null){\n //prepare nice url string\n\n let nice_url: string = '';\n //convert nice url array to string\n if (nice_url_params) {\n //Sample url///\n if (Array.isArray(nice_url_params)) {\n nice_url = '/' + nice_url_params.join('/');\n }else if (typeof nice_url_params === 'string' || nice_url_params instanceof String){\n nice_url = '/' + nice_url_params;\n }else if (typeof(nice_url_params) === 'object') {\n let params = [];\n for(let key in nice_url_params) {\n params.push(key + '=' + nice_url_params[key]);\n }\n\n nice_url = '?' + params.join('&');\n }\n }\n return base_url + '/' + action + nice_url;\n }\n\n\n\n\n /**\n * Get API\n * @param url\n * @param isExternal\n * @param withToken\n * @param params\n * @param extraCallParameters\n * @returns {*}\n */\n getCall(url, params = null, isJson: boolean = true, extraCallParameters = null, isExternal: boolean = false, withToken: boolean = true) {\n return this.apiCall(API_CALL_TYPE.GET, url, null, isExternal, withToken, params, isJson, extraCallParameters);\n }\n\n\n /**\n * DELETE API\n * @param url\n * @param isExternal\n * @param withToken\n * @returns {*}\n */\n deleteCall(url, isExternal: boolean = false, withToken: boolean = true) {\n return this.apiCall(API_CALL_TYPE.DELETE, url, null, isExternal, withToken);\n }\n\n /**\n * Post API\n * @param url\n * @param data\n * @param isExternal\n * @param withToken\n * @param isJson\n * @returns {*}\n */\n postCall(url, data, isExternal: boolean = false, withToken: boolean = true, isJson: boolean = false) {\n return this.apiCall(API_CALL_TYPE.POST, url, data, isExternal, withToken, null, isJson);\n }\n\n /**\n * PUT API\n * @param url\n * @param data\n * @param isExternal\n * @param withToken\n * @param isJson\n * @returns {*}\n */\n putCall(url, data, isExternal: boolean = false, withToken: boolean = true, isJson: boolean = false) {\n return this.apiCall(API_CALL_TYPE.PUT, url, data, isExternal, withToken, null, isJson);\n }\n\n\n\n /**\n * Patch API call\n * @param url\n * @param data\n * @param isExternal\n * @param withToken\n * @param isJson\n * @returns {*}\n */\n patchCall(url, data, isExternal: boolean = false, withToken: boolean = true, isJson: boolean = false) {\n return this.apiCall(API_CALL_TYPE.PATCH, url, data, isExternal, withToken, null, isJson);\n }\n\n /**\n * Generic api call\n * @param type\n * @param url\n * @param data\n * @param isExternal\n * @param withToken\n * @param params\n * @param isJson\n * @param extraCallParameters\n * @returns {any}\n */\n private apiCall(type, url, data, isExternal: boolean = false, withToken: boolean = true, params = null, isJson = false, extraCallParameters = null) {\n //if (!isExternal) {\n //url = this.baseUrl + this.contextPath + url;\n //}\n\n let return_call: any = null;\n let call: any = null;\n switch (type) {\n case API_CALL_TYPE.POST:\n call = this.http.post(url, data, this.getOptions(withToken, isJson));\n break;\n case API_CALL_TYPE.PUT:\n call = this.http.put(url, data, this.getOptions(withToken, isJson));\n break;\n case API_CALL_TYPE.PATCH:\n call = this.http.patch(url, data, this.getOptions(withToken, isJson));\n break;\n case API_CALL_TYPE.DELETE:\n call = this.http.delete(url, this.getOptions(withToken));\n break;\n case API_CALL_TYPE.GET:\n\n call = this.http.get(url, this.getOptions(withToken, isJson));\n break;\n }\n return call;\n }\n\n private getOptions(withToken: boolean = true, isJson: boolean = false, params = null, extraCallParameters = null) {\n let ret = {};\n if(!isJson) {\n ret['responseType'] = 'text';\n }\n return ret;\n }\n\n isArray(obj: any) {\n return Array.isArray(obj);\n }\n\n isObject(val) {\n if (val === null) {\n return false;\n }\n return ((typeof val === 'object') && !(Array.isArray(val)));\n }\n\n arraysIdentical(a, b) {\n let i = a.length;\n if (i !== b.length) {\n return false;\n }\n while (i--) {\n if (a[i] !== b[i]) {\n return false;\n }\n }\n return true;\n }\n\n objectsIdentical(obj1, obj2) {\n return JSON.stringify(obj1) === JSON.stringify(obj2) ;\n }\n\n copyObject(object: Object) {\n return JSON.parse(JSON.stringify(object));\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/services/api.service.ts","import { Injectable } from '@angular/core';\nimport { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest, HttpResponse, HttpErrorResponse} from '@angular/common/http';\nimport { Observable } from 'rxjs/Observable';\nimport 'rxjs/add/observable/throw'\nimport 'rxjs/add/operator/catch';\n\n@Injectable()\nexport class ErrorInterceptor implements HttpInterceptor {\n\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\n\n return next.handle(req)\n .catch((response: any) => {\n if (response.status >= 400){\n return this.handle400(response);\n }\n\n if (response.status >= 500){\n return this.handle500(response);\n }\n\n return Observable.throw(response);\n });\n }\n\n /**\n * Validation failed - Will need to show validation messages\n * @param response\n * @returns {ErrorObservable}\n */\n private handle400(response){\n return Observable.throw(response);\n }\n\n /**\n * Something went wrong inside the script\n * @param response\n */\n private handle500(response){\n return Observable.throw(response);\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/services/error.interceptor.ts","declare var Highcharts: any;\r\nexport class Utils{\r\n\r\n //static rangeColor: string = '#C7C7C7';\r\n static monthsInYear: any = {\r\n 'Jan': 'January',\r\n 'Feb': 'February',\r\n 'Mar': 'March',\r\n 'Apr': 'April',\r\n 'May': 'May',\r\n 'Jun': 'June',\r\n 'Jul': 'July',\r\n 'Aug': 'August',\r\n 'Sep': 'September',\r\n 'Oct': 'October',\r\n 'Nov': 'November',\r\n 'Dec': 'December',\r\n 'jan': 'January',\r\n 'feb': 'February',\r\n 'mar': 'March',\r\n 'apr': 'April',\r\n 'may': 'May',\r\n 'jun': 'June',\r\n 'jul': 'July',\r\n 'aug': 'August',\r\n 'sep': 'September',\r\n 'oct': 'October',\r\n 'nov': 'November',\r\n 'dec': 'December'\r\n };\r\n\r\n static monthsInYearNumbers: any = {\r\n 'jan': 1,\r\n 'feb': 2,\r\n 'mar': 3,\r\n 'apr': 4,\r\n 'may': 5,\r\n 'jun': 6,\r\n 'jul': 7,\r\n 'aug': 8,\r\n 'sep': 9,\r\n 'oct': 10,\r\n 'nov': 11,\r\n 'dec': 12\r\n };\r\n\r\n static areaPlotColors: any = {\r\n current : \"#0096d7\",\r\n previous: \"rgb(93,151,50)\",\r\n range : \"#C7C7C7\",\r\n average: Highcharts.eia_grey\r\n }\r\n\r\n static regionCodes: any = {\r\n \"NW2_EPG0_SWO_R31_BCF\" : 'East',\r\n \"NW2_EPG0_SWO_R32_BCF\" : 'Midwest',\r\n \"NW2_EPG0_SWO_R33_BCF\" : 'South Central',\r\n \"NW2_EPG0_SNO_R33_BCF\" : 'South Central Nonsalt',\r\n \"NW2_EPG0_SSO_R33_BCF\" : 'South Central Salt',\r\n \"NW2_EPG0_SWO_R34_BCF\" : 'Mountain',\r\n \"NW2_EPG0_SWO_R35_BCF\" : 'Pacific',\r\n \"NW2_EPG0_SWO_R48_BCF\" : 'Lower 48'\r\n };\r\n\r\n static regionColors: any = {\r\n \"NW2_EPG0_SWO_R31_BCF\" : Highcharts.eia_green,\r\n \"NW2_EPG0_SWO_R32_BCF\" : Highcharts.eia_yellow,\r\n \"NW2_EPG0_SWO_R33_BCF\" : Highcharts.eia_dk_blue,\r\n \"NW2_EPG0_SNO_R33_BCF\" : Highcharts.eia_dk_blue,\r\n \"NW2_EPG0_SSO_R33_BCF\" : Highcharts.eia_dk_blue,\r\n \"NW2_EPG0_SWO_R34_BCF\" : Highcharts.eia_red,\r\n \"NW2_EPG0_SWO_R35_BCF\" : Highcharts.eia_tan,\r\n \"NW2_EPG0_SWO_R48_BCF\" : Highcharts.eia_grey\r\n };\r\n\r\n static getWeek(d){\r\n // Returns the ISO week of the date.\r\n\r\n var date = new Date(d.getTime());\r\n date.setHours(0, 0, 0, 0);\r\n // Thursday in current week decides the year.\r\n date.setDate(date.getDate() + 3 - (date.getDay() + 6) % 7);\r\n // January 4 is always in week 1.\r\n var week1 = new Date(date.getUTCFullYear(), 0, 4);\r\n // Adjust to Thursday in week 1 and count number of weeks from date to week1.\r\n return 1 + Math.round(((date.getTime() - week1.getTime()) / 86400000\r\n - 3 + (week1.getDay() + 6) % 7) / 7);\r\n }\r\n\r\n\r\n // returns date as MMM DD\r\n static getMonths(){\r\n return ['Jan','Feb','Mar','Apr','May', 'Jun', 'Jul','Aug', 'Sep', 'Oct', 'Nov', 'Dec'];\r\n }\r\n\r\n /**\r\n * @name oracleDateStringToDate\r\n * @methodOf Utils\r\n * @static\r\n * @description Takes a date string in the default Oracle format (DD-MMM-YYYY, ex. 3-MAR-2018) and converts it into a\r\n * javascript date.\r\n * @param {string} Date string to convert into a javascript date. In the format (DD-MMM-YYYY, ex. 3-MAR-2018).\r\n * @returns {Date} passed string as a javascript Date object.\r\n */\r\n static oracleDateStringToDate(dateString) {\r\n let dateStringParts = dateString.split('-');\r\n dateStringParts[1] = dateStringParts[1].toLowerCase();\r\n dateStringParts[1] = dateStringParts[1].substr(0, 1).toUpperCase() + dateStringParts[1].toLowerCase().substr(1,2);\r\n let m = this.getMonths().indexOf(dateStringParts[1]) + 1;\r\n let d = dateStringParts[0];\r\n let yy = dateStringParts[2];\r\n\r\n return new Date(m + '/' + d + '/' + yy);\r\n }\r\n\r\n\r\n /**\r\n * @name dateAsOracleDateString\r\n * @methodOf Utils\r\n * @static\r\n * @description Takes a date and returns it as a string in the default Oracle format (DD-MMM-YYYY, ex. 3-MAR-2018)\r\n * @param {Date} javascript Date object\r\n * @returns {string} Date string in the format (DD-MMM-YYYY, ex. 3-MAR-2018).\r\n */\r\n static dateAsOracleDateString(date) {\r\n let d = date.getUTCDate().toString();\r\n d = d < 10 ? '0' + d : d;\r\n return d + '-' + this.getMonths()[date.getUTCMonth()].toUpperCase() + '-' + date.getUTCFullYear();\r\n }\r\n\r\n static dateAsMMMDD(date){\r\n var dateArr = date.toUTCString().split(\" \");\r\n var newDate = dateArr[2] + \" \" + dateArr[1];\r\n return newDate;\r\n }\r\n\r\n static dateAsDDMMMYY(date){ //dd-mmm-yy\r\n var dateArr = date.toUTCString().split(\" \");\r\n var newDate = dateArr[1] + \"-\" + dateArr[2].toUpperCase() + \"-\" + dateArr[3].substring(2,4);\r\n return newDate;\r\n }\r\n\r\n static getDaysBetweenDates(startDate, endDate){\r\n var one_day=1000*60*60*24;\r\n var numberOfdays = endDate.getTime() - startDate.getTime();\r\n var daysBetween = Math.floor(numberOfdays/one_day);\r\n return daysBetween;\r\n\r\n }\r\n static dateAsMM(date){\r\n var dateArr = date.toUTCString().split(\" \");\r\n var newDate = dateArr[2];\r\n return newDate;\r\n }\r\n static dateAsPlainString(date){ // ex. February 05, 1942\r\n var dateArr = date.toUTCString().split(\" \");\r\n var newDate = this.monthsInYear[dateArr[2]] + \" \" + dateArr[1] + \", \" + dateArr[3];\r\n return newDate;\r\n }\r\n static numberWithComma(x){\r\n return x.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/share-modules/Utils.ts","
\n
\n\n \n
Daily regional average temperatures and departure from normal
\n
degrees Fahrenheit
\n
\n
\n
\n
{{label}}
\n\n
\n
\n\n \n
\n
\n
{{region.name}}
\n
\n
{{data.actual}}
\n
\n
\n\n
\n\n \n\n
\n\n \n \n \n\n
\n
\n\n\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/share-modules/eia-charts/display-eia-heatmap/display-eia-heatmap.component.html","declare var Highcharts: any;\n\nimport { Component, OnInit, OnDestroy, ViewChild, ElementRef } from '@angular/core';\nimport { DashboardService } from '../../../dashboard/services/dashboard.service';\nimport { Utils } from '../../Utils'\n@Component({\n selector: 'app-display-eia-heatmap',\n templateUrl: './display-eia-heatmap.component.html',\n styleUrls: ['./display-eia-heatmap.component.css']\n})\nexport class DisplayEiaHeatmapComponent implements OnInit, OnDestroy {\n subscription: any;\n theData: any;\n heatMapData = [];\n heatMapTopLabels = [];\n //heatMapColors = ['#003c56','#006997','#0096d7','#4db6e3','#99d5ef','#AFAFAF','#e5c799','#d19d69','#bd732a','#84511d','#4c2e11']; //used in the view to render legend color boxes\n // heatMapColors = [\n // {color : '#003c56', label : \"<= -20\" , topLabel : '°F below normal'},\n // {color : '#006997', label : \"<= -15\" },\n // {color : '#0096d7', label : \"<= -10\" },\n // {color : '#4db6e3', label : \"<= -5\" },\n // {color : '#99d5ef', label : \"< 0\" },\n // {color : '#AFAFAF', label : \"0\" , topLabel : 'normal' },\n // {color : '#e5c799', label : \"< 5\" },\n // {color : '#d19d69', label : \"< 10\" },\n // {color : '#bd732a', label : \"< 15\" },\n // {color : '#84511d', label : \"< 20\" },\n // {color : '#4c2e11', label : \">= 20\" , topLabel : '°F above normal' }\n // ];\n heatMapColors = [\n {color : '#003c56', label : \"<= -20\" , topLabel : '°F below normal', upper: \"<= -20\", lower: \"\"},\n {color : '#006997', label : \"-19 - -15\" ,lower: \"-19\", upper: \"-15\" },\n {color : '#0096d7', label : \"-14 to -10\",lower: \"-14\", upper: \"-10\" },\n {color : '#4db6e3', label : \"-9 to -5\",lower: \"-9\", upper: \"-5\" },\n {color : '#99d5ef', label : \"-4 to -1\" ,lower: \"-4\", upper: \"-1\"},\n {color : '#AFAFAF', label : \"0\" , topLabel : 'normal', lower: '', upper: '0' },\n {color : '#e5c799', label : \"1 to 4\" ,lower: \"1\", upper: \"4\"},\n {color : '#d19d69', label : \"5 to 9\" ,lower: \"5\", upper: \"9\"},\n {color : '#bd732a', label : \"10 to 14\" ,lower: \"10\", upper: \"14\"},\n {color : '#84511d', label : \"15 to 19\" ,lower: \"15\", upper: \"19\"},\n {color : '#4c2e11', label : \">= 20\" , topLabel : '°F above normal' ,lower: \">= 20\", upper: \"\"}\n ];\n lower48Data = [];\n heatMapOrder: any = ['East', 'Midwest', 'South Central', 'Mountain', 'Pacific','Lower 48'];\n displayRegionsArray: any = [];\n constructor(public dashboardService: DashboardService) { }\n\n ngOnInit() {\n var controller = this;\n this.subscription = this.dashboardService.getHeatMapData().subscribe(\n json =>{\n var endDate = controller.changeDateFormat(json.endDate); //change endDate to a format acceptable by firefox (data as mmm dd yy)\n\n controller.heatMapOrder.forEach(function(e){\n let newRegion1:any = {};\n newRegion1.name = e;\n newRegion1.data = [];\n\n for (let [date,dataItem] of Object.entries(json.data[e].data)) {\n let newDataItem1:any = {};\n newDataItem1 = dataItem;\n newDataItem1.date = date;\n newRegion1.data.push(newDataItem1);\n }\n controller.orderByDate(newRegion1.data);\n controller.heatMapData.push(newRegion1);\n });\n\n\n controller.heatMapData[0].data.forEach(function(element,index){\n var plotDate = new Date(endDate);\n plotDate.setDate(endDate.getDate()-index);\n controller.heatMapTopLabels.push(Utils.dateAsMMMDD(plotDate));\n });\n\n this.heatMapTopLabels.reverse();\n }\n );\n }\n\n // used to order dates ascending\n orderByDate(arr){\n let dateA: any;\n let dateB: any;\n arr.sort(function(a,b){\n dateA = new Date(a.date);\n dateB = new Date(b.date);\n return dateA - dateB;\n });\n }\n\n //used in view to render heatmap data colors\n getHeatmapDataColor(num){\n\n var color;\n switch(true){\n case (num == null):\n color = 'white';\n break;\n case (num >= 20):\n color = '#4c2e11';\n break;\n case (num >= 15):\n color = '#84511d';\n break;\n case (num >=10):\n color = '#bd732a';\n break;\n case (num >=5):\n color = '#d19d69';\n break;\n case (num >0):\n color = '#e5c7aa';\n break;\n case (num == 0):\n color = '#AFAFAF';\n break;\n case (num <= -20):\n color = '#003c56';\n break;\n case (num<= -15):\n color = '#006997';\n break;\n case (num <= -10):\n color = '#0096d7';\n break;\n case (num <=-5):\n color = '#4db6e3';\n break;\n case (num <0):\n color = '#99d5ef';\n break;\n default:\n color = 'white';\n break;\n\n }\n\n return color;\n }\n\n getHeatmapTextColor(num) {\n let color;\n\n switch (true) {\n case (num >= 20):\n color = 'white';\n break;\n case (num <= -20):\n color = 'white';\n break;\n default:\n color = 'black';\n break;\n\n }\n\n return color;\n }\n\n changeDateFormat(date){\n var splitDate = date.split('-');\n var dateString = Utils.monthsInYearNumbers[splitDate[1].toLowerCase()] + \"/\" + splitDate[0] + \"/\" + splitDate[2];\n var newDate = new Date(dateString);\n return newDate;\n }\n\n ngOnDestroy() {\n this.subscription.unsubscribe();\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/share-modules/eia-charts/display-eia-heatmap/display-eia-heatmap.component.ts","
\n\n\n// WEBPACK FOOTER //\n// ./src/app/share-modules/eia-charts/display-eia-highchart/display-eia-highchart.component.html","declare var Highcharts: any;\nimport {\n Component,\n Input,\n ElementRef,\n OnInit,\n AfterViewInit,\n OnDestroy,\n ViewChild\n} from '@angular/core';\nimport {merge} from 'lodash';\n\n\n\n@Component({\n selector: 'app-display-eia-highchart',\n templateUrl: './display-eia-highchart.component.html'\n})\nexport class DisplayEiaHighchartComponent implements OnInit, AfterViewInit, OnDestroy {\n\n @Input() inputChart;\n @Input() chartId;\n //chart: any;\n elementId = 'chart-';\n _chart: any;\n @ViewChild('chart') public chartEl: ElementRef;\n\n\n constructor() { }\n\n\n ngOnInit() {\n this.elementId += this.chartId;\n }\n\n public ngAfterViewInit(){\n if (this.chartEl && this.chartEl.nativeElement) {\n\n this.inputChart.chart = merge({}, this.inputChart.chart, {\n renderTo: this.chartEl.nativeElement\n });\n this._chart = new Highcharts.Chart(this.inputChart);\n }\n \n }\n\n ngOnDestroy() {\n this._chart.destroy();\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/share-modules/eia-charts/display-eia-highchart/display-eia-highchart.component.ts","
\n\n\n// WEBPACK FOOTER //\n// ./src/app/share-modules/eia-charts/display-eia-pareto/display-eia-pareto.component.html","declare var Highcharts: any;\nimport { Component, OnInit, OnDestroy, Input, ViewChild, ElementRef, AfterViewInit } from '@angular/core';\nimport { DashboardService } from '../../../dashboard/services/dashboard.service';\nimport { Utils } from '../../Utils';\nimport {merge} from 'lodash';\nimport { DatePipe} from \"@angular/common\";\n\n@Component({\n selector: 'app-display-eia-pareto',\n templateUrl: './display-eia-pareto.component.html'\n})\nexport class DisplayEiaParetoComponent implements OnInit, OnDestroy {\n\n //@Input() inputChart;\n @Input() chartId;\n elementId = 'chart-';\n _chart: any;\n theChart: any;\n subscription: any;\n temperatureArr: any;\n plots: any;\n recordRange: any;\n normalRange: any;\n temperatureForecastArr = [];\n recordLow: any;\n \n\n @ViewChild('chartTable') public chartEl: ElementRef;\n constructor(public dashboardService: DashboardService) { }\n\n ngOnInit() {\n this.elementId += this.chartId;\n\n this.subscription = this.dashboardService.getTemperatureData().subscribe(\n json=> {\n /*map forecast and actual data plot objects*/\n let getMapFunction = function(type) {\n return function(element) {\n return {\n y: element[1],\n temperatureType: type\n }\n };\n };\n\n var actualItems = json[0].data.map(getMapFunction('actual'));\n var forecastItems = json[1].data.map(getMapFunction('forecast'));\n\n this.temperatureArr = actualItems;\n this.temperatureForecastArr = forecastItems;\n\n var plotsTemp = [];\n var startDate = new Date(json[3].data[0][0]);\n this.temperatureArr.forEach(function(element,index){\n var plotDate = new Date(startDate);\n plotDate.setDate(startDate.getDate()+index);\n plotsTemp.push(Utils.dateAsMMMDD(plotDate));\n });\n\n this.plots = plotsTemp;\n\n\n //set the column ranges for record\n var recordRanges = [];\n json[3].data.forEach(function(element){\n var tempArray = [element[1],element[2]];\n recordRanges.push(tempArray);\n });\n this.recordRange = recordRanges;\n\n //set the column ranges for normal range\n var normalRanges = [];\n json[2].data.forEach(function(element){\n var tempArray = [element[1],element[2]];\n normalRanges.push(tempArray);\n });\n this.normalRange = normalRanges;\n\n\n //set low value for y axis\n var recordlows = this.recordRange.map(function(element){\n return element[0];\n });\n this.recordLow = Math.min.apply(Math, recordlows);\n\n },\n null,\n ()=>{\n\n this.theChart = {\n \n chart: {\n logo : Highcharts.logos.none,\n height: '225'\n },\n credits: {\n enabled: false\n },\n\n title: {\n text: 'Daily Lower 48 average temperatures'\n },\n legend: {\n layout: 'horizontal',\n align: 'center',\n verticalAlign: 'bottom'\n },\n\n xAxis: {\n categories:this.plots,\n plotLines: [{\n color: Highcharts.eia_grey,\n width: 2,\n value: 6.5,\n dashStyle: 'Dash',\n label: {\n text: 'report week',\n align: 'right',\n rotation: 0,\n y: -5,\n x:-10\n }\n },\n {\n color: 'rgba(0,0,0,0)',\n width: 2,\n value: 6.5,\n dashStyle: 'Dash',\n label: {\n text: 'current week',\n align: 'left',\n rotation: 0,\n y: -5,\n x:10\n }\n }]\n },\n\n yAxis: {\n title: {\n text: 'degrees Fahrenheit'\n },\n min: null,\n max: null,\n tickInterval : 5\n },\n tooltip: {\n shared: true,\n formatter: function(){\n var formatter= this;\n var splitDate = formatter.x.split(' ');\n\n var toolTipString = '';\n toolTipString += '
'+ Utils.monthsInYear[splitDate[0]] + ' ' + splitDate[1] +'

';\n\n formatter.points.forEach(function(element){\n if(element.series.name.indexOf('range') > -1){\n toolTipString += '
'+ element.series.name.toLowerCase() + ': ' + element.point.low + ' to ' + element.point.high +\n '°F

';\n }\n else{\n toolTipString += '
'+element.point.temperatureType+': ' + element.point.y + '°F
';\n\n }\n });\n return toolTipString;\n }\n },\n\n plotOptions: {\n columnrange: {\n grouping: false\n },\n spline: {\n // dataLabels:{\n // //enabled:false\n // },\n color:'rgb(135, 1, 19)',\n lineWidth:0,\n states: {\n hover: {\n enabled:false,\n lineWidthPlus:0\n }\n }\n }\n },\n\n series: [{\n name: 'record range',\n type: 'columnrange',\n pointPadding: 0,\n color: 'rgb(200, 200, 200)',\n borderColor: 'rgba(0,0,0,0)',\n data: this.recordRange\n },\n\n {\n name: 'normal range',\n type:'columnrange',\n pointPadding: 0.2,\n color: 'rgb(146, 146, 146)',\n borderColor: 'rgba(0,0,0,0)',\n data: this.normalRange\n },\n\n {\n name: 'actual',\n type: 'spline',\n data:this.temperatureArr,\n // tooltip: {\n // pointFormat: '{point.temperatureType}:{point.y:.1f}°F' // point.forecast\n // },\n marker: {\n radius: 8,\n symbol: 'diamond',\n lineColor: null,\n lineWidth: '2',\n fillColor: '#0096D7',\n\n },\n label:{\n enabled:false\n }\n },\n {\n name: \"forecast\",\n type: \"spline\",\n data:this.temperatureForecastArr,\n marker: {\n radius: 8,\n symbol: 'diamond',\n lineColor: '#0096D7',\n fillColor: 'rgba(0,0,0,0)',\n lineWidth: '2'\n\n }\n }\n ]\n };\n\n this.setupChart();\n }\n );\n }\n\n private setupChart(){\n if (this.chartEl && this.chartEl.nativeElement) {\n\n this.theChart.chart = merge({}, this.theChart.chart, {\n logo: Highcharts.logos.none,\n renderTo: this.chartEl.nativeElement\n });\n\n this._chart = new Highcharts.Chart(this.theChart);\n }\n }\n\n ngOnDestroy() {\n this.subscription.unsubscribe();\n if(this._chart !== undefined) {\n this._chart.destroy();\n this._chart = undefined;\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/share-modules/eia-charts/display-eia-pareto/display-eia-pareto.component.ts","
\n \n \n
\n\n\n// WEBPACK FOOTER //\n// ./src/app/share-modules/eia-charts/display-eia-single-day-storage-with-gauges/display-eia-single-day-storage-with-gauges.component.html","import {Component, OnInit, OnDestroy, Input, Inject} from '@angular/core';\nimport {Utils} from \"../../Utils\";\nimport {DashboardService} from \"../../../dashboard/services/dashboard.service\";\nimport { indexOf } from \"lodash\";\nimport { Router } from \"@angular/router\";\n\ndeclare var Highcharts: any;\n\n@Component({\n selector: 'app-display-eia-single-day-storage-with-gauges',\n templateUrl: './display-eia-single-day-storage-with-gauges.component.html'\n})\nexport class DisplayEiaSingleDayStorageWithGaugesComponent implements OnInit, OnDestroy {\n\n @Input() title;\n data: any;\n _chartOptions: any;\n displayChart: boolean = false;\n subscription: any;\n gaugeSubscription:any;\n latestInventory: any;\n gaugeData: any;\n regionColors: any;\n storageCategories : any = [];\n storageData : any;\n mapImagePaths: any;\n constructor(private dashboardService: DashboardService, private router: Router) { }\n\n ngOnInit() {\n let path = window.location.protocol + \"//\" + window.location.hostname + window.location.pathname.replace(this.router.url, \"\");\n\n let imageAdded = false;\n\n let columnRangeDataLabels = {\n enabled : true,\n x : 35, verticalAlign: 'middle',\n useHTML : false,\n allowOverlap : true,\n formatter : function() {\n var label = '';\n var is52Week = false;\n if(this.series.name == '52-week-range-lower-48') {\n label += '52-week';\n }\n else if(this.series.name == '5-year-range-lower-48') {\n label += '5-year';\n }\n\n if(this.y == this.point.high) {\n label += ' max' + is52Week ? '' : '';\n }\n else if(this.y == this.point.low) {\n label += ' min' + is52Week ? '' : '';\n }\n\n return label;\n }\n };\n\n let lineDataLabels = {\n enabled : true,\n x : 35, y : -12, verticalAlign: 'middle',\n useHTML : false,\n formatter : function() {\n return 'current';\n }\n };\n\n let pieDataLabels = {\n enabled : true,\n formatter : function() {\n return Highcharts.numberFormat((this.y / this.total)*100, 0, null,null) + '%';\n },\n style : {\n fontSize : 16,\n color : 'black'\n },\n connectorWidth : 0,\n distance : -20,\n x : 6,\n y : -40\n };\n\n this.regionColors = {\n \"NW2_EPG0_SWO_R31_BCF\" : Highcharts.eia_green,\n \"NW2_EPG0_SWO_R32_BCF\" : Highcharts.eia_yellow,\n \"NW2_EPG0_SWO_R33_BCF\" : Highcharts.eia_dk_blue,\n \"NW2_EPG0_SNO_R33_BCF\" : Highcharts.eia_dk_blue,\n \"NW2_EPG0_SSO_R33_BCF\" : Highcharts.eia_dk_blue,\n \"NW2_EPG0_SWO_R34_BCF\" : Highcharts.eia_red,\n \"NW2_EPG0_SWO_R35_BCF\" : Highcharts.eia_tan,\n \"NW2_EPG0_SWO_R48_BCF\" : Highcharts.eia_grey\n };\n this.storageCategories = ['Pacific', 'Mountain', 'South Central Salt', 'South Central Nonsalt', 'Midwest', 'East', ' ', 'Lower 48'];\n this.latestInventory = {};\n this.gaugeData = [];\n\n this.latestInventory = {};\n this.gaugeData = [];\n this.mapImagePaths = [\n {points : \"79.64 49.43 78.88 48.86 78.16 48.57 77.58 47.66 77.39 46.75 63.18 43.5 62.17 43.78 61.41 43.78 60.69 43.5 59.78 43.5 59.35 43.21 58.44 43.21 57.72 43.5 56.67 43.21 55.76 43.21 54.75 43.78 53.99 43.98 52.22 43.64 51.78 43.5 50.73 42.92 47.48 43.35 46.9 42.49 44.22 41.73 42.88 41.44 41.26 41.73 38.77 41.44 36.66 40.53 36.37 39.67 36.37 37.13 36.66 36.56 36.37 35.22 34.89 33.88 33.69 33.88 33.55 33.45 32.98 32.82 31.63 32.25 31.2 32.39 30.29 32.25 29.72 32.39 29.72 32.82 29.39 34.16 28.81 35.65 27.47 40.1 26.27 43.5 24.98 46.03 23.02 51.49 21.39 54.6 20.53 56.85 18.62 59.05 18.28 59.2 17.99 60.68 17.71 61.01 17.28 62.02 16.94 62.64 16.22 62.93 15.79 63.65 16.08 66.76 15.51 68.39 15.51 69.3 15.03 70.35 15.51 72.41 15.94 72.84 46.14 81.17 67.77 86.33 71.79 68.24 72.8 66.9 72.8 65.75 73.13 65.75 73.28 65.27 73.56 64.7 72.99 63.93 71.94 63.36 71.65 62.79 71.94 61.59 73.71 58.77 74.9 58.33 75.62 57.42 75.77 56.85 76.39 56.09 79.79 50.77 79.64 49.43\", fill : \"#bd732a\", id : \"OR\"},\n {points : \"73.42 166.94 72.99 166.65 72.65 165.45 72.37 164.68 72.37 163.68 71.79 162.48 71.79 162.05 71.79 161.57 71.79 160.09 38.43 111.08 46.14 81.17 15.94 72.84 15.51 73.46 14.88 74.75 15.51 76.09 15.17 78.77 14.6 80.11 14.02 80.54 13.69 81.88 13.69 82.46 10.91 85.57 9.86 87.39 9.86 88.39 9.71 88.68 9.86 90.02 10.14 90.93 10.57 91.36 10.91 92.13 10.91 92.7 11.91 94.76 12.06 96.86 11.91 97.44 11.2 98.49 10.57 100.69 10.57 101.6 10.91 102.46 10.29 103.52 11.48 106.63 12.2 107.97 13.69 109.59 13.69 113.42 13.11 114.48 14.31 114.91 15.51 116.68 16.51 117.16 16.8 116.53 16.94 115.96 17.71 115.05 17.99 115.19 17.85 116.68 17.99 117.73 18.62 119.65 18.42 120.41 18.28 120.84 17.13 119.98 16.8 119.5 16.94 118.16 16.51 117.73 16.22 117.73 15.94 119.5 15.65 119.65 15.79 120.41 15.51 120.99 15.51 124.24 15.94 125.44 17.28 126.64 18.42 127.21 19.05 127.83 18.9 129.6 17.99 130.46 17.56 130.46 17.13 131.09 16.94 133.72 18.76 136.25 18.9 137.16 19.33 138.17 19.48 139.37 21.87 143.67 22.88 144.39 22.73 145.44 22.59 145.44 22.3 145.73 22.45 146.93 23.36 147.36 23.64 148.7 23.5 149.13 23.16 150.18 22.88 151.95 22.3 152.72 22.3 153.58 23.16 154.49 24.84 155.35 25.99 155.35 29.58 156.98 30.87 157.31 32.07 158.32 32.98 160.57 34.46 161.91 35.66 162.34 37.71 162.63 38.29 163.39 38.29 163.97 38.58 164.54 38.14 165.45 38.91 166.17 40.06 166.17 42.02 167.94 42.74 169.28 43.79 170.33 45.56 173.73 45.56 176.99 45.56 177.27 45.71 178.18 45.99 178.18 46.28 178.47 45.99 178.61 45.85 179.09 45.99 180.1 46.28 180.38 65.86 182.35 67.2 182.49 67.48 182.63 68.25 181.87 68.39 181.29 68.68 180.86 68.54 180.38 67.34 179.38 67.2 178.95 67.48 177.61 67.63 176.99 67.34 176.27 67.48 175.65 68.25 175.65 69.88 173.59 70.45 170.91 71.51 169.9 72.65 169.43 73.56 168.56 74 168.85 74 168.56 74 167.51 73.42 166.94\", fill : \"#bd732a\", id : \"CA\"},\n {points : \"115.2 69.01 114.92 67.67 113.86 66.61 112.95 67.38 113.1 68.24 111.04 68.1 110.75 68.39 109.84 67.95 107.93 67.81 107.5 67.38 107.07 67.52 106.3 68.1 105.58 67.95 104.1 67.38 103.48 67.67 103.05 68.67 102.14 68.1 101.56 66.9 101.56 66.61 101.85 65.27 101.71 64.7 100.99 63.65 100.08 63.65 99.36 62.45 99.79 61.59 99.94 60.82 99.03 59.67 98.59 58.33 98.59 56.42 98.74 55.08 98.45 54.79 98.17 54.6 97.88 53.88 97.54 53.6 97.25 53.88 95.2 55.51 94.77 55.65 93.28 54.31 93.71 53.45 93.57 52.83 93.57 51.97 94.77 51.2 94.77 50.34 94.62 50.2 94.77 48.57 95.34 48.09 95.2 47.52 96.82 44.26 96.39 43.64 94.77 43.5 94.77 42.63 93.71 42.63 93.14 41.3 92.8 40.1 91.66 37.42 89.84 35.65 89.12 34.64 88.55 34.02 88.97 33.59 89.41 32.54 88.97 30.91 87.92 28.23 89.55 18.46 83.32 16.87 77.58 42.49 77.25 42.78 77.25 43.21 77.25 43.64 77.58 43.98 77.87 44.55 77.73 44.84 77.58 44.98 77.25 45.41 77.39 46.75 77.58 47.66 78.16 48.57 78.88 48.86 79.64 49.43 79.79 50.77 76.39 56.09 75.77 56.85 75.62 57.42 74.9 58.33 73.71 58.77 71.94 61.59 71.65 62.79 71.94 63.36 72.99 63.93 73.56 64.7 73.28 65.27 73.13 65.75 72.8 65.75 72.8 66.9 71.79 68.24 67.77 86.33 89.84 90.78 112.23 94.76 115.92 69.58 115.2 69.01\", fill : \"#a33340\", id : \"ID\"},\n {points : \"137.99 26.75 117.26 23.2 97.11 19.8 89.55 18.46 87.92 28.23 88.97 30.91 89.41 32.54 88.97 33.59 88.55 34.02 89.12 34.64 89.84 35.65 91.66 37.42 92.8 40.1 93.14 41.3 93.71 42.63 94.77 42.63 94.77 43.5 96.39 43.64 96.82 44.26 95.2 47.52 95.34 48.09 94.77 48.57 94.62 50.2 94.77 50.34 94.77 51.2 93.57 51.97 93.57 52.83 93.71 53.45 93.28 54.31 94.77 55.65 95.2 55.51 97.25 53.88 97.54 53.6 97.88 53.88 98.17 54.6 98.45 54.79 98.74 55.08 98.59 56.42 98.59 58.33 99.03 59.67 99.94 60.82 99.79 61.59 99.36 62.45 100.08 63.65 100.99 63.65 101.71 64.7 101.85 65.27 101.56 66.61 101.56 66.9 102.14 68.1 103.05 68.67 103.48 67.67 104.1 67.38 105.58 67.95 106.3 68.1 107.07 67.52 107.5 67.38 107.93 67.81 109.84 67.95 110.75 68.39 111.04 68.1 113.1 68.24 112.95 67.38 113.86 66.61 114.92 67.67 115.2 69.01 115.92 69.58 116.69 64.56 166.9 70.78 167.66 60.82 170.15 30.05 137.99 26.75\", fill : \"#a33340\", id : \"MT\"},\n {points : \"116.69 64.56 115.92 69.58 112.23 94.76 110.61 104.57 125.54 106.92 163.35 111.08 165.13 90.78 166.9 70.78 116.69 64.56\", fill : \"#a33340\", id : \"WY\"},\n {points : \"67.77 86.33 46.14 81.17 38.43 111.08 71.79 160.09 71.79 159.52 72.08 158.8 72.65 156.84 72.37 155.97 72.8 151.24 72.51 149.27 72.8 148.84 74 148.56 75.62 148.99 76.24 149.75 76.24 150.04 76.82 150.61 77.73 150.61 79.21 146.35 80.07 140.99 89.84 90.78 67.77 86.33\", fill : \"#a33340\", id : \"NV\"},\n {points : \"80.07 141.14 80.07 140.99 79.21 146.35 77.73 150.61 76.82 150.61 76.24 150.04 76.24 149.75 75.62 148.99 74 148.56 72.8 148.84 72.51 149.27 72.8 151.24 72.37 155.97 72.65 156.84 72.08 158.8 71.79 159.52 71.79 160.09 71.79 161.57 71.79 162.05 71.79 162.48 72.37 163.68 72.37 164.68 72.65 165.45 72.99 166.65 73.42 166.94 74 167.51 74 168.56 74 168.85 73.56 168.56 72.65 169.43 71.51 169.9 70.45 170.91 69.88 173.59 68.25 175.65 67.48 175.65 67.34 176.27 67.63 176.99 67.48 177.61 67.2 178.95 67.34 179.38 68.54 180.38 68.68 180.86 68.39 181.29 68.25 181.87 67.48 182.63 67.2 182.49 65.86 182.35 65.14 184.69 94.77 201.83 111.95 204.51 120.09 147.36 80.07 141.14\", fill : \"#a33340\", id : \"AZ\"},\n {points : \"120.09 147.36 111.95 204.51 119.32 205.42 119.94 200.82 133.87 202.59 133.87 202.45 133.44 201.68 133.87 201.11 133.73 200.82 133.44 200.49 133.58 200.34 163.93 203.31 167.66 157.75 168.09 157.75 168.38 152.72 120.09 147.36\", fill : \"#a33340\", id : \"NM\"},\n {points : \"163.35 111.08 125.54 106.92 120.09 147.36 168.38 152.72 176.23 153.29 178 122.47 178.62 112.42 163.35 111.08\", fill : \"#a33340\", id : \"CO\"},\n {points : \"220.5 60.25 219.16 56.56 219.02 55.8 219.02 54.03 218.88 52.97 218.73 47.95 218.11 44.98 217.25 44.12 216.63 40.86 216.48 37.9 216.63 36.27 216.91 35.5 216.19 33.16 216.19 32.39 193.55 31.68 170.15 30.05 167.66 60.82 220.36 63.22 220.17 61.59 220.5 60.25\", fill : \"#a33340\", id : \"ND\"},\n {points : \"221.22 88.11 221.22 69.58 218.73 67.24 218.54 66.33 219.88 64.99 220.36 63.93 220.36 63.22 167.66 60.82 166.9 70.78 165.13 90.78 206.1 92.99 207.15 94.47 208.35 94.47 209.4 94.18 210.26 94.76 210.83 96.1 211.89 96.39 212.94 96.1 213.94 95.38 215.43 95.38 216.19 95.67 219.45 97.72 220.93 98.78 221.08 98.49 220.79 97.58 220.17 95.67 220.79 93.9 220.65 92.99 221.22 92.41 220.93 90.93 220.5 90.5 220.79 89.44 220.5 88.82 220.17 88.25 220.79 88.11 221.22 88.11\", fill : \"#a33340\", id : \"SD\"},\n {points : \"229.21 122.04 228.06 120.7 227.87 119.36 227.01 118.5 226.58 117.59 226.25 117.16 225.96 116.11 226.25 115.19 225.67 114.48 225.38 113.57 225.96 112.85 225.67 112.08 224.62 111.51 224.95 109.88 225.1 109.17 224.95 108.25 223.76 107.54 223.47 106.63 223.76 105.86 222.99 105 222.42 103.37 221.65 102.61 222.13 101.27 222.13 100.55 221.08 99.97 220.93 98.78 219.45 97.72 216.19 95.67 215.43 95.38 213.94 95.38 212.94 96.1 211.89 96.39 210.83 96.1 210.26 94.76 209.4 94.18 208.35 94.47 207.15 94.47 206.1 92.99 165.13 90.78 163.35 111.08 178.62 112.42 178 122.47 229.5 123.67 229.5 123.52 229.69 122.33 229.21 122.04\", fill : \"#a33340\", id : \"NE\"},\n {points : \"110.61 104.57 112.23 94.76 89.84 90.78 80.07 140.99 80.07 141.14 120.09 147.36 125.54 106.92 110.61 104.57\", fill : \"#a33340\", id : \"UT\"},\n {points : \"77.25 42.78 77.58 42.49 83.32 16.87 83.33 16.84 83.18 16.84 66.58 13.01 56.38 10.47 45.71 7.5 45.71 9.28 45.99 10.18 46.76 10.33 46.9 11.67 46.28 13.01 45.71 12.82 45.28 13.01 45.42 13.44 46.42 16.26 47.05 18.32 46.9 18.75 45.56 20.09 45.28 21.14 44.65 21.57 44.22 23.82 43.17 24.4 42.74 23.97 42.74 23.49 42.88 23.06 43.03 22.63 42.88 22.2 42.88 21.29 43.17 20.23 44.08 19.66 44.22 19.04 44.08 16.55 43.79 15.93 43.17 15.78 42.16 15.78 40.97 14.92 39.05 14.49 36.37 13.01 31.35 9.42 31.06 10.9 30.73 11.96 30.73 13.87 31.63 16.69 31.35 17.41 31.2 19.66 31.35 20.52 31.35 21.43 31.2 22.63 31.2 23.35 31.2 24.4 31.92 23.97 32.07 24.11 32.07 24.26 32.83 24.97 31.92 25.31 31.63 25.45 31.2 25.31 30.87 25.45 30.87 26.94 31.49 27.08 31.78 27.65 31.35 28.23 31.35 28.71 31.49 28.99 30.58 29.86 30.44 29.57 30.58 29.28 30.73 28.85 30.58 28.23 30.44 28.09 30.15 28.23 30.15 28.56 30.15 28.99 30.01 29.57 29.58 30.77 29.58 31.05 29.86 31.2 30.29 31.34 31.63 32.25 32.98 32.82 33.55 33.45 33.69 33.88 34.89 33.88 36.37 35.22 36.66 36.56 36.37 37.13 36.37 39.67 36.66 40.53 38.77 41.44 41.26 41.73 42.88 41.44 44.22 41.73 46.9 42.49 47.48 43.35 50.73 42.92 51.78 43.5 52.22 43.64 53.99 43.98 54.75 43.78 55.76 43.21 56.67 43.21 57.72 43.5 58.44 43.21 59.35 43.21 59.78 43.5 60.69 43.5 61.41 43.78 62.17 43.78 63.18 43.5 77.39 46.75 77.25 46.18 77.25 45.41 77.58 44.98 77.73 44.84 77.87 44.55 77.58 43.98 77.25 43.64 77.25 43.21 77.25 42.78\", fill : \"#bd732a\", id : \"WA\"},\n {points : \"235.44 132.57 235.15 132.24 234.43 132.09 233.52 131.52 233.09 129.75 232.18 129.46 231.75 128.69 231.89 127.5 232.95 126.35 229.5 123.67 178 122.47 176.23 153.29 235.72 154.49 235.44 132.57\", fill : \"#003953\", id : \"KS\"},\n {points : \"235.72 159.52 235.72 154.49 176.23 153.29 168.38 152.72 168.09 157.75 192.41 159.09 191.64 178.61 192.55 178.76 192.98 179.09 194.18 180.72 194.7 180.86 196.33 180.72 196.91 180.24 197.82 180.72 198.1 181.29 198.1 181.58 198.58 182.49 198.72 182.63 200.93 182.92 201.84 183.35 202.27 183.35 202.41 183.21 203.13 183.06 203.61 183.83 204.47 184.26 205.09 183.69 207.15 183.83 207.29 184.26 208.06 184.98 208.35 185.17 208.35 186.18 209.83 186.56 210.12 185.46 210.83 185.31 212.94 186.75 213.08 186.75 214.14 186.18 214.71 186.18 214.85 186.56 214.71 187.32 215 187.9 215.62 187.61 215.43 187.04 216.05 186.18 216.91 185.75 217.25 185.75 217.39 186.42 218.25 186.75 218.73 186.75 219.02 186.32 219.59 186.42 219.74 186.56 219.74 186.75 220.65 187.18 221.84 188.04 223.13 187.04 223.76 186.75 225.53 186.56 227.01 186.03 227.59 185.89 228.35 185.89 230.12 186.18 231.32 185.89 231.61 185.75 235.58 187.76 236.34 187.9 236.63 188.38 237.06 188.38 237.21 170.48 235.72 159.52\", fill : \"#003953\", id : \"OK\"},\n {points : \"245.53 213.27 244.91 212.21 244.62 211.93 244.62 211.3 244.48 210.87 244.05 210.01 243.43 209.53 243.14 209.1 243.62 208.05 242.85 206.56 241.66 205.56 241.23 204.79 241.08 194.74 240.94 189.24 239.74 188.95 238.55 189.38 238.26 189.38 237.06 188.38 236.63 188.38 236.34 187.9 235.58 187.76 231.61 185.75 231.32 185.89 230.12 186.18 228.35 185.89 227.59 185.89 227.01 186.03 225.53 186.56 223.76 186.75 223.13 187.04 221.84 188.04 220.65 187.18 219.74 186.75 219.74 186.56 219.59 186.42 219.02 186.32 218.73 186.75 218.25 186.75 217.39 186.42 217.25 185.75 216.91 185.75 216.05 186.18 215.43 187.04 215.62 187.61 215 187.9 214.71 187.32 214.85 186.56 214.71 186.18 214.14 186.18 213.08 186.75 212.94 186.75 210.83 185.31 210.12 185.46 209.83 186.56 208.35 186.18 208.35 185.17 208.06 184.98 207.29 184.26 207.15 183.83 205.09 183.69 204.47 184.26 203.61 183.83 203.13 183.06 202.41 183.21 202.27 183.35 201.84 183.35 200.93 182.92 198.72 182.63 198.58 182.49 198.1 181.58 198.1 181.29 197.82 180.72 196.91 180.24 196.33 180.72 194.7 180.86 194.18 180.72 192.98 179.09 192.55 178.76 191.64 178.61 192.41 159.09 168.09 157.75 167.66 157.75 163.93 203.31 133.58 200.34 133.44 200.49 133.73 200.82 133.87 201.11 133.44 201.68 133.87 202.45 133.87 202.59 135.5 203.6 135.78 204.79 136.55 206.13 138.18 207.19 142.77 212.79 146.75 215.9 147.03 216.52 147.37 217.24 147.18 218.15 147.51 218.58 148.52 220.06 148.37 223.17 148.66 224.37 150 226.57 155.94 230.88 160.1 233.42 161.1 233.56 161.87 233.27 162.92 232.08 163.5 231.65 165.27 227.48 166.18 226.28 166.75 226 168.09 226.28 168.38 226.28 168.67 225.71 169.15 225.23 169.86 225.57 170.58 226 172.97 226.28 173.41 226.57 175.03 227.05 175.8 226.72 177.57 227.77 178 228.82 178.29 228.82 178.48 229.25 178.77 229.4 179.48 229.83 180.68 231.31 182.31 232.79 183.22 234.13 183.36 234.76 185.99 241.12 186.33 242.27 189.29 245.72 189.44 246.44 191.35 248.49 191.93 248.97 192.84 249.84 192.98 250.46 192.84 252.51 193.41 253.23 193.7 255.77 194.46 256.54 196.33 260.36 196.62 261.56 197.96 261.7 199.59 262.76 201.36 263.33 204.18 265.1 208.06 265.39 208.78 265.68 210.83 267.02 211.89 267.5 212.94 266.3 213.8 266.44 213.94 266.15 213.94 265.68 213.08 265.25 213.23 264.96 212.32 263.91 211.17 259.17 210.55 257.25 211.46 254.43 211.46 253.57 211.03 253.23 210.83 253.23 210.69 252.95 210.69 252.8 210.83 252.66 212.18 251.75 212.94 249.26 212.32 248.97 212.03 247.78 212.65 247.01 213.51 247.63 215 246.58 215.28 245.09 214.71 244.66 215 244.09 215.28 244.09 215.76 244.23 216.05 243.9 216.48 244.09 216.91 244.09 217.39 243.9 217.39 243.61 217.39 242.61 217.68 242.13 217.97 242.13 218.25 242.27 218.54 242.27 220.65 241.84 220.93 241.7 220.93 241.41 220.79 241.12 219.74 240.36 219.74 239.93 221.65 239.3 221.99 239.02 222.7 238.87 222.7 239.02 222.56 239.3 222.85 239.78 223.13 239.78 223.47 239.49 226.58 238.59 231.75 235.19 232.04 233.85 234.43 231.93 234.57 231.65 233.52 230.16 233.66 228.97 235.29 228.2 235.58 228.34 235.29 229.54 235.58 229.97 237.4 229.83 237.69 230.31 241.37 228.68 243.43 228.53 243.62 228.34 243.43 228.2 243.14 227.77 242.85 227.05 243.14 226.72 243.43 226.14 244.05 225.42 244.77 223.17 244.19 222.31 244.19 221.55 244.34 221.12 244.34 220.49 244.62 219.34 245.25 218.72 245.53 217.72 245.97 215.9 245.97 214.89 245.53 213.27\", fill : \"#003953\", id : \"TX\"},\n {points : \"286.27 231.31 283.3 230.16 281.53 229.11 281.24 228.34 281.24 227.48 282.58 226.57 283.73 224.8 284.64 224.37 284.78 223.6 284.5 223.32 284.78 222.6 284.35 221.98 283.92 221.98 283.3 222.46 281.53 223.03 280.95 224.37 280.47 224.66 279.9 224.51 279.33 224.23 279.13 223.6 279.76 223.03 280.04 222.6 280.04 222.31 279.47 222.31 278.42 222.31 277.84 222.74 276.79 223.32 275.16 223.46 274.25 223.17 273.68 222.46 273.82 221.69 275.31 220.35 275.88 219.92 276.36 220.21 278.42 221.12 280.81 221.55 280.33 219.63 278.7 218 278.56 215.61 278.99 214.13 278.7 213.7 262.86 214.27 262.86 211.16 264.34 206.9 265.83 204.51 266.4 202.31 266.69 201.97 267.89 201.25 267.74 200.34 267.17 199.91 266.69 198.72 266.55 196.8 265.4 194.89 265.54 193.98 241.08 194.74 241.23 204.79 241.66 205.56 242.85 206.56 243.62 208.05 243.14 209.1 243.43 209.53 244.05 210.01 244.48 210.87 244.62 211.3 244.62 211.93 244.91 212.21 245.53 213.27 245.97 214.89 245.97 215.9 245.53 217.72 245.25 218.72 244.62 219.34 244.34 220.49 244.34 221.12 244.19 221.55 244.19 222.31 244.77 223.17 244.05 225.42 243.43 226.14 243.14 226.72 242.85 227.05 243.14 227.77 243.43 228.2 249.51 227.34 252.04 228.2 256.64 229.11 259.32 228.97 259.61 228.82 258.7 227.77 260.32 226.28 260.94 226.28 261.23 226.86 261.38 227.05 262.29 227.34 262.57 227.05 263.15 227.34 263.15 227.77 263.15 227.91 263.29 228.06 263.58 228.06 264.06 228.82 265.21 229.4 266.55 229.54 268.65 232.36 269.99 232.51 270.42 232.94 271.91 232.79 273.1 231.65 273.39 231.46 273.82 231.93 274.73 231.65 275.16 231.65 275.88 232.65 276.36 232.79 277.7 231.79 277.7 231.46 277.36 231.17 277.84 229.4 278.56 229.11 278.99 229.4 279.33 230.31 281.96 231.31 283.3 231.79 283.59 233.7 285.84 232.79 286.41 232.51 286.7 231.93 286.27 231.31\", fill : \"#003953\", id : \"LA\"},\n {points : \"289.38 204.22 289.24 202.74 289.81 173.01 289.09 172.1 271.91 173.3 271.91 173.88 270.28 175.22 269.66 176.84 269.8 178.33 269.66 179.38 268.17 180.24 267.17 181.72 266.69 182.2 266.69 183.5 265.97 184.41 265.97 185.46 265.4 186.75 264.63 188.24 264.92 189.67 265.68 190.44 265.83 191.49 266.12 191.78 266.12 192.21 265.68 192.49 265.4 193.4 265.54 193.98 265.4 194.89 266.55 196.8 266.69 198.72 267.17 199.91 267.74 200.34 267.89 201.25 266.69 201.97 266.4 202.31 265.83 204.51 264.34 206.9 262.86 211.16 262.86 214.27 278.7 213.7 278.99 214.13 278.56 215.61 278.7 218 280.33 219.63 280.81 221.55 281.81 221.55 283.59 220.21 287.46 219.01 288.32 219.34 289.81 218.87 289.95 219.15 290.86 219.49 291.15 219.34 289.38 204.22\", fill : \"#003953\", id : \"MS\"},\n {points : \"299.29 217.24 299.29 216.95 299.76 216.04 299.62 215.61 299 215.18 298.71 215.18 298.28 214.75 297.51 213.7 297.51 212.93 297.66 212.79 297.66 212.5 297.66 212.07 320.06 209.82 319.91 209.25 318.86 207.62 319 205.08 318.14 202.88 317.81 201.11 318.43 199.77 318.43 198.43 319.15 197.38 319.29 197.09 318.57 196.23 318.86 195.32 318.43 194.74 317.52 194.26 317.23 193.55 316.8 192.06 316.18 191.49 310.29 170.33 289.09 172.1 289.81 173.01 289.24 202.74 289.38 204.22 291.15 219.34 291.58 219.01 292.06 218.72 293.4 219.15 293.68 218.58 293.97 216.38 294.55 214.89 295.31 216.38 295.17 216.95 295.74 218.15 296.65 219.49 297.51 219.49 298.28 219.49 299.29 218.44 299.48 218.29 299.91 217.86 299.91 217.72 299.76 217.38 299.29 217.24\", fill : \"#003953\", id : \"AL\"},\n {points : \"275.88 162.91 270.42 163.39 270.57 162.63 271.62 161.43 272.63 160.57 272.77 159.8 272.48 158.94 271.76 158.46 271.91 158.03 235.72 159.52 237.21 170.48 237.06 188.38 238.26 189.38 238.55 189.38 239.74 188.95 240.94 189.24 241.08 194.74 265.54 193.98 265.4 193.4 265.68 192.49 266.12 192.21 266.12 191.78 265.83 191.49 265.68 190.44 264.92 189.67 264.63 188.24 265.4 186.75 265.97 185.46 265.97 184.41 266.69 183.5 266.69 182.2 267.17 181.72 268.17 180.24 269.66 179.38 269.8 178.33 269.66 176.84 270.28 175.22 271.91 173.88 271.91 173.3 272.91 172.39 273.25 172.39 273.25 170.48 272.91 169.28 274.11 167.94 274.4 165.88 275.45 164.83 275.88 163.97 275.74 163.39 275.88 162.91\", fill : \"#003953\", id : \"AR\"},\n {points : \"267.31 40.67 266.55 41.15 265.54 40.38 264.92 40.1 264.34 39.95 260.32 40.1 259.75 39.19 259.32 38.9 256.64 40.67 255.59 41.01 254.58 41.01 253.81 40.38 253.38 39.81 251.9 39.38 251.32 38.47 250.56 38.18 250.13 38.47 249.36 39.38 248.65 39.05 248.36 37.75 248.02 37.42 247.74 37.42 247.16 36.99 247.31 36.41 246.87 36.41 244.91 35.79 242.14 36.08 241.37 36.7 239.46 36.84 239.46 36.56 239.17 35.93 237.83 35.79 236.78 35.93 236.2 35.36 235.15 35.22 234.57 35.36 233.09 34.31 233.23 32.82 232.8 31.34 232.61 29.14 231.32 28.56 230.12 28.56 229.98 30.05 229.98 32.39 216.19 32.39 216.19 33.16 216.91 35.5 216.63 36.27 216.48 37.9 216.63 40.86 217.25 44.12 218.11 44.98 218.73 47.95 218.88 52.97 219.02 54.03 219.02 55.8 219.16 56.56 220.5 60.25 220.17 61.59 220.36 63.22 220.36 63.93 219.88 64.99 218.54 66.33 218.73 67.24 221.22 69.58 221.22 88.11 259.46 86.91 259.32 85.14 259.32 83.8 258.98 83.22 256.78 81.6 254.72 80.11 253.96 78.63 251.76 77.58 251.32 77.29 251.13 76.86 250.85 76.57 249.08 76.23 248.79 75.81 248.02 75.23 247.59 74.61 247.59 71.97 247.88 70.16 247.74 69.3 248.36 68.1 247.59 66.9 246.54 66.33 247.02 64.7 247.31 64.56 247.45 63.65 249.51 61.88 250.13 61.59 250.7 61.01 250.56 55.51 250.99 55.08 251.47 54.31 256.35 50.01 259.61 46.32 260.66 45.6 262.57 44.69 263.58 43.64 264.49 43.35 265.83 42.92 268.17 41.58 269.23 40.67 267.31 40.67\", fill : \"#ffc702\", id : \"MN\"},\n {points : \"267.89 100.41 266.55 99.5 266.4 98.64 264.78 97.58 264.49 97.01 264.2 96.1 263.44 95.52 261.23 94.61 260.47 91.79 260.04 90.5 260.66 89.59 260.8 89.01 259.89 88.11 259.46 86.91 221.22 88.11 220.79 88.11 220.17 88.25 220.5 88.82 220.79 89.44 220.5 90.5 220.93 90.93 221.22 92.41 220.65 92.99 220.79 93.9 220.17 95.67 220.79 97.58 221.08 98.49 220.93 98.78 221.08 99.97 222.13 100.55 222.13 101.27 221.65 102.61 222.42 103.37 222.99 105 223.76 105.86 223.47 106.63 223.76 107.54 224.95 108.25 225.1 109.17 224.95 109.88 224.62 111.51 225.67 112.08 225.96 112.85 225.38 113.57 225.67 114.48 226.25 115.19 225.96 116.11 226.25 117.16 226.58 117.59 257.21 116.68 259.61 118.93 260.04 118.16 260.04 117.3 260.32 116.53 261.52 115.82 262.72 113.28 263 111.8 262.72 111.08 261.81 110.17 261.66 109.31 262.1 108.25 262.86 107.83 264.49 107.83 264.78 107.35 266.12 106.92 267.46 105.43 267.46 104.57 267.89 104.09 268.51 103.09 268.51 102.18 267.89 100.41\", fill : \"#ffc702\", id : \"IA\"},\n {points : \"280.19 152.86 279.76 152.58 279.47 152.58 279.33 152.24 279.13 151.95 278.56 151.95 278.56 152.58 278.27 152.58 276.5 149.9 276.64 149.47 277.22 148.84 277.22 148.41 276.5 147.5 276.02 145.73 273.82 143.82 272.63 143.39 270.42 142.05 269.23 140.71 268.65 139.51 268.94 138.94 270.42 137.16 270.14 135.82 270.57 134.49 270.28 133.91 268.36 132.86 267.74 133.29 267.02 134.05 266.55 133.57 265.21 129.89 264.63 129.31 262.43 127.5 260.04 124.86 259.89 124.1 259.32 122.33 259.18 120.41 259.61 119.5 259.61 118.93 257.21 116.68 226.58 117.59 227.01 118.5 227.87 119.36 228.06 120.7 229.21 122.04 229.69 122.33 229.5 123.52 229.5 123.67 232.95 126.35 231.89 127.5 231.75 128.69 232.18 129.46 233.09 129.75 233.52 131.52 234.43 132.09 235.15 132.24 235.44 132.57 235.72 154.49 235.72 159.52 271.91 158.03 271.76 158.46 272.48 158.94 272.77 159.8 272.63 160.57 271.62 161.43 270.57 162.63 270.42 163.39 275.88 162.91 276.36 161.43 276.21 160.86 276.64 159.23 277.22 157.75 277.7 156.84 278.7 156.55 279.13 156.69 279.61 156.41 280.47 153.87 280.19 152.86\", fill : \"#ffc702\", id : \"MO\"},\n {points : \"288.8 66.76 288.32 66.76 288.04 67.05 287.75 67.67 287.46 67.95 287.32 68.53 287.32 69.3 287.18 69.87 286.55 70.49 286.27 70.92 285.69 71.21 284.5 72.26 283.3 74.46 282.25 75.09 281.81 74.75 281.96 74.32 282.44 72.98 283.3 70.92 284.78 69.44 284.93 69.3 283.92 68.53 283.59 67.52 284.06 67.05 284.06 66.47 283.92 66.33 282.72 66.61 282.44 66.47 282.87 63.93 282.72 63.07 281.38 62.45 280.33 62.16 280.33 61.73 280.47 61.45 280.04 61.16 278.99 60.68 277.51 60.39 276.93 60.54 276.5 60.82 276.36 60.39 275.31 60.39 273.97 59.2 273.1 59.2 266.4 57.9 265.97 57.57 265.68 56.56 265.06 56.09 264.2 55.94 263.77 55.37 262.86 55.51 262.1 54.79 261.38 54.79 260.04 55.37 260.32 54.03 260.47 53.6 260.8 52.97 260.8 52.11 260.47 51.83 259.89 51.97 256.35 53.74 254.44 54.79 253.24 54.94 252.19 54.79 251.47 54.31 250.99 55.08 250.56 55.51 250.7 61.01 250.13 61.59 249.51 61.88 247.45 63.65 247.31 64.56 247.02 64.7 246.54 66.33 247.59 66.9 248.36 68.1 247.74 69.3 247.88 70.16 247.59 71.97 247.59 74.61 248.02 75.23 248.79 75.81 249.08 76.23 250.85 76.57 251.13 76.86 251.32 77.29 251.76 77.58 253.96 78.63 254.72 80.11 256.78 81.6 258.98 83.22 259.32 83.8 259.32 85.14 259.46 86.91 259.89 88.11 260.8 89.01 260.66 89.59 260.04 90.5 260.47 91.79 261.23 94.61 263.44 95.52 264.2 96.1 264.49 97.01 285.55 95.67 285.36 94.47 285.55 94.04 285.36 93.61 285.69 93.13 284.64 90.64 284.06 86.77 284.93 84.28 285.21 83.8 285.21 81.31 284.93 79.83 285.07 79.35 286.12 78.34 286.12 77 286.12 75.23 287.18 72.98 287.03 72.55 287.32 71.64 287.89 70.92 288.95 68.39 288.95 67.24 288.8 66.76\", fill : \"#ffc702\", id : \"WI\"},\n {points : \"290.86 131.81 289.95 129.89 290.29 128.69 290.14 127.83 290.43 127.35 288.32 103.23 288.04 103.09 287.75 102.46 287.32 100.26 286.84 99.5 286.27 98.92 285.55 97.44 285.55 95.67 264.49 97.01 264.78 97.58 266.4 98.64 266.55 99.5 267.89 100.41 268.51 102.18 268.51 103.09 267.89 104.09 267.46 104.57 267.46 105.43 266.12 106.92 264.78 107.35 264.49 107.83 262.86 107.83 262.1 108.25 261.66 109.31 261.81 110.17 262.72 111.08 263 111.8 262.72 113.28 261.52 115.82 260.32 116.53 260.04 117.3 260.04 118.16 259.61 118.93 259.61 119.5 259.18 120.41 259.32 122.33 259.89 124.1 260.04 124.86 262.43 127.5 264.63 129.31 265.21 129.89 266.55 133.57 267.02 134.05 267.74 133.29 268.36 132.86 270.28 133.91 270.57 134.49 270.14 135.82 270.42 137.16 268.94 138.94 268.65 139.51 269.23 140.71 270.42 142.05 272.63 143.39 273.82 143.82 276.02 145.73 276.5 147.5 277.22 148.41 277.22 148.84 276.64 149.47 276.5 149.9 278.27 152.58 278.56 152.58 278.56 151.95 279.13 151.95 279.33 152.24 279.76 150.47 280.81 150.04 282.1 150.18 283.15 150.76 284.06 151.52 285.21 150.9 284.78 148.99 284.64 147.79 285.36 147.5 287.75 146.78 287.89 146.5 287.18 145.59 287.18 145.16 287.32 145.01 287.61 144.1 287.89 143.67 287.75 143.53 287.61 143.24 287.61 142.62 288.04 140.85 288.04 139.37 289.38 138.17 290.14 136.54 290.14 135.97 291.15 133.91 290.86 131.81\", fill : \"#ffc702\", id : \"IL\"},\n {points : \"324.51 85.9 323.89 84.71 323.74 82.31 321.4 76.57 319.15 75.81 318.43 76.38 317.38 77.43 314.7 81.31 314.41 81.31 314.26 81.17 313.07 80.69 312.78 80.4 312.5 79.49 312.78 77.86 313.21 77.29 314.55 76.38 314.84 75.81 314.84 75.23 315.18 74.46 315.61 74.03 316.18 72.84 316.18 70.35 315.89 69.01 315.46 68.39 314.7 67.38 314.41 66.9 314.55 66.33 315.46 66.04 315.61 65.75 314.55 63.79 313.69 63.36 311.15 62.45 309.24 62.02 308.47 61.3 306.99 60.82 305.7 60.54 304.5 59.67 304.07 60.39 303.16 60.68 302.39 62.02 302.25 63.22 302.39 63.65 302.88 63.65 303.02 64.13 302.73 64.27 301.96 64.56 301.53 64.84 300.96 65.75 300.48 66.61 300.63 67.67 300.77 68.86 300.19 70.01 299.29 70.49 299.14 69.58 299.48 68.53 299.14 67.52 299.29 66.9 299.14 66.76 298.71 66.9 298.28 67.67 298.14 68.67 297.85 69.3 297.23 69.3 296.37 70.01 295.89 70.78 295.89 71.35 295.03 72.26 295.03 73.89 294.88 75.66 294.74 76.86 294.12 78.2 293.68 78.92 293.68 79.83 294.4 82.03 293.97 83.37 294.55 84.56 296.03 87.53 297.08 90.02 297.08 92.13 297.51 92.56 297.51 92.84 297.23 93.13 296.94 95.38 296.65 96.86 295.89 98.35 294.74 101.27 293.68 102.32 293.25 102.61 308.81 100.69 308.95 101.12 318.72 99.83 318.86 99.35 320.06 97.01 320.49 96.39 320.34 94.76 320.92 93.42 322.12 92.41 322.12 91.22 322.26 90.93 322.4 90.16 323.17 89.59 323.45 90.16 323.74 90.31 324.22 90.02 324.37 89.59 324.51 89.01 324.22 87.67 324.51 85.9\", fill : \"#ffc702\", id : \"MI\"},\n {points : \"312.35 56.09 311.92 56.09 310.29 56.42 308.62 55.8 308.04 55.08 307.33 53.6 306.42 52.97 304.36 53.12 303.88 53.45 302.88 53.31 302.39 53.6 301.96 53.31 301.25 51.83 301.25 51.35 301.68 50.48 301.39 50.01 300.63 50.34 299 51.2 292.63 52.83 290.72 54.31 290.29 54.94 289.81 55.22 289.81 54.94 289.24 54.6 289.09 54.79 288.47 54.79 287.89 54.31 286.84 54.31 285.21 54.6 283.01 52.11 280.19 50.77 279.61 51.06 278.7 51.06 277.51 52.11 277.22 52.69 276.93 51.68 277.22 50.2 277.7 49.72 278.42 49 279.9 47.37 280.33 46.46 280.62 46.32 281.81 45.6 281.67 45.27 281.24 45.12 278.99 45.41 277.84 46.18 275.88 48.23 275.31 48.38 272.91 50.77 271.14 51.83 268.36 52.69 267.74 52.83 267.46 53.6 265.83 54.46 265.21 54.94 263.77 55.37 264.2 55.94 265.06 56.09 265.68 56.56 265.97 57.57 266.4 57.9 273.1 59.2 273.97 59.2 275.31 60.39 276.36 60.39 276.5 60.82 276.93 60.54 277.51 60.39 278.99 60.68 280.04 61.16 280.47 61.45 280.33 61.73 280.33 62.16 281.38 62.45 282.72 63.07 282.87 63.93 282.44 66.47 282.72 66.61 283.92 66.33 284.06 66.47 284.06 67.05 283.59 67.52 283.92 68.53 284.93 69.3 285.07 68.86 285.07 67.81 286.12 66.18 286.55 65.27 287.18 63.79 287.89 62.45 288.18 61.01 288.32 60.82 288.66 61.88 289.09 62.64 289.52 62.02 289.95 60.82 291.15 60.82 291.29 61.45 290.43 62.79 290.57 63.07 290.86 63.22 293.06 61.16 293.4 60.68 293.54 59.82 294.55 59.67 295.6 59.82 295.89 59.67 296.17 59.34 296.94 58.91 297.37 58.91 299.14 57.57 299.76 57.9 300.34 57.71 303.02 58.19 304.07 59.05 304.5 59.2 304.79 58.91 304.5 57.9 304.93 57.57 305.99 57.9 307.76 57.57 308.33 57.57 309.1 57.9 310.1 57.28 310.44 57.28 310.58 57.57 311.01 57.71 312.06 57.57 312.78 56.99 312.78 56.42 312.35 56.09\", fill : \"#ffc702\", id : \"MI2\"},\n {points : \"311.58 128.84 311.58 128.26 311.92 127.5 308.95 101.12 308.81 100.69 293.25 102.61 292.78 103.09 291.58 103.52 290.86 103.8 289.52 104.09 288.32 103.23 290.43 127.35 290.14 127.83 290.29 128.69 289.95 129.89 290.86 131.81 291.15 133.91 290.14 135.97 290.14 136.54 289.38 138.17 288.04 139.37 288.04 140.85 287.61 142.62 287.61 143.24 287.75 143.53 288.32 143.67 289.09 143.39 288.95 143.24 289.24 142.33 290.72 142.48 292.63 141.76 295.03 142.76 295.17 143.05 295.74 142.91 296.17 141.42 297.51 140.85 297.99 141.57 298.85 142.19 299.48 141.57 300.05 139.51 300.63 138.94 301.25 138.94 302.11 139.94 304.07 139.94 304.5 138.17 307.76 133.91 307.76 132.43 308.47 132.09 309.81 132.24 310.87 131.37 311.73 131.23 312.06 130.46 311.58 128.84\", fill : \"#ffc702\", id : \"IN\"},\n {points : \"335.75 140.71 335.32 140.28 334.99 140.13 334.85 139.94 333.99 139.51 333.7 139.65 333.36 139.37 332.36 137.88 330.73 135.82 330.59 135.06 330.59 134.49 330.59 133.57 330.44 132.24 329.96 131.95 329.25 131.37 328.19 131.09 327.48 129.89 327.14 129.31 326.13 130.03 325.99 130.46 325.23 130.75 325.08 131.09 323.89 131.23 322.55 130.46 321.97 130.75 321.4 131.52 319.63 130.32 318.14 130.46 316.95 130.03 316.18 128.55 314.55 127.35 313.83 127.97 313.4 127.97 312.64 127.5 311.92 127.5 311.58 128.26 311.58 128.84 312.06 130.46 311.73 131.23 310.87 131.37 309.81 132.24 308.47 132.09 307.76 132.43 307.76 133.91 304.5 138.17 304.07 139.94 302.11 139.94 301.25 138.94 300.63 138.94 300.05 139.51 299.48 141.57 298.85 142.19 297.99 141.57 297.51 140.85 296.17 141.42 295.74 142.91 295.17 143.05 295.03 142.76 292.63 141.76 290.72 142.48 289.24 142.33 288.95 143.24 289.09 143.39 288.32 143.67 287.75 143.53 287.89 143.67 287.61 144.1 287.32 145.01 287.18 145.16 287.18 145.59 287.89 146.5 287.75 146.78 285.36 147.5 284.64 147.79 284.78 148.99 285.21 150.9 284.06 151.52 283.15 150.76 282.1 150.18 280.81 150.04 279.76 150.47 279.33 152.24 279.47 152.58 279.76 152.58 280.19 152.86 280.47 153.87 279.61 156.41 279.13 156.69 278.7 156.55 277.7 156.84 277.22 157.75 289.09 156.84 289.09 155.83 288.8 155.21 290.14 155.06 290.57 155.35 324.03 152.38 324.65 151.81 325.23 151.38 328.05 150.04 328.48 149.27 329.96 148.13 330.11 147.36 330.25 147.07 331.16 146.64 331.16 145.73 332.07 145.01 336.04 141.42 336.33 140.71 335.75 140.71\", fill : \"#ffc702\", id : \"KY\"},\n {points : \"338.1 150.18 324.65 151.81 324.03 152.38 290.57 155.35 290.14 155.06 288.8 155.21 289.09 155.83 289.09 156.84 277.22 157.75 276.64 159.23 276.21 160.86 276.36 161.43 275.88 162.91 275.74 163.39 275.88 163.97 275.45 164.83 274.4 165.88 274.11 167.94 272.91 169.28 273.25 170.48 273.25 172.39 272.91 172.39 271.91 173.3 289.09 172.1 310.29 170.33 318.57 169.43 318.72 166.94 319.43 167.08 319.91 166.94 320.49 166.31 320.49 165.74 320.49 165.16 320.63 164.54 321.4 163.82 323.02 163.2 324.94 162.63 326.85 161 327.62 160.71 328.77 159.66 328.96 158.61 329.25 158.61 329.68 158.61 329.96 158.18 330.11 157.89 330.87 157.31 331.02 157.31 331.59 157.75 332.21 157.31 332.36 156.98 333.22 156.26 333.99 155.97 335.32 155.83 336.67 153.58 337.81 152.86 337.81 152.24 338.1 151.67 337.81 150.9 338.1 150.18\", fill : \"#ffc702\", id : \"TN\"},\n {points : \"342.27 109.31 341.83 108.25 342.41 107.83 342.55 107.83 340.35 94.47 336.47 96.39 334.85 97.44 334.13 98.01 331.88 100.41 331.16 100.69 330.59 100.69 329.39 100.69 328.62 100.84 326.85 102.32 326.13 102.32 324.65 101.75 324.22 102.03 323.74 101.89 324.22 101.27 323.74 101.12 322.74 100.98 320.34 100.26 319.91 99.97 318.72 100.26 318.72 99.83 308.95 101.12 311.92 127.5 312.64 127.5 313.4 127.97 313.83 127.97 314.55 127.35 316.18 128.55 316.95 130.03 318.14 130.46 319.63 130.32 321.4 131.52 321.97 130.75 322.55 130.46 323.89 131.23 325.08 131.09 325.23 130.75 325.99 130.46 326.13 130.03 327.14 129.31 327.48 129.89 328.19 131.09 329.25 131.37 329.96 131.95 330.44 132.24 331.45 132.24 332.21 130.75 332.79 130.46 332.79 129.31 332.79 128.12 333.55 125.72 334.13 125.72 334.85 126.92 335.75 125.87 335.47 124.72 336.19 122.9 336.95 122.33 336.95 121.9 337.53 121.13 338.29 121.27 339.15 120.99 339.3 120.7 340.78 118.93 341.07 118.78 341.98 118.02 341.83 116.87 341.69 116.25 341.69 115.53 342.12 114.62 342.55 110.94 341.07 110.17 342.27 109.31\", fill : \"#5d9732\", id : \"OH\"},\n {points : \"405.97 89.44 405.25 90.16 404.34 90.5 403.29 90.93 402.86 91.36 402.57 91.93 401.66 92.41 401.52 92.13 401.86 91.5 402.43 90.78 403.15 89.59 402.86 89.44 402.29 90.02 402 90.64 401.38 91.22 399.32 92.41 396.64 93.61 394.58 94.76 393.67 95.24 392.81 96.24 392.33 95.95 392.33 95.05 392.67 94.18 393.38 93.61 392.52 92.7 393.67 91.5 393.81 91.07 393.24 90.5 392.33 82.94 392.04 82.6 392.04 75.66 391.32 74.03 390.7 72.26 390.7 70.92 390.27 68.39 389.55 67.05 389.07 67.24 389.07 67.52 388.93 67.52 388.64 67.05 388.79 65.75 387.59 62.93 387.45 61.88 387.93 60.68 387.59 58.62 386.44 55.65 386.3 55.37 385.96 54.94 386.11 54.46 385.68 53.45 376.06 55.8 375.91 55.65 375.63 55.65 374.72 56.09 372.51 58.48 370.12 61.59 369.83 62.16 369.98 62.79 369.69 63.93 369.07 64.41 366.72 66.76 366.58 67.24 366.87 68.24 367.15 68.39 367.58 68.24 368.21 68.67 368.35 69.15 367.92 69.58 368.06 70.49 368.64 71.35 368.49 72.69 367.01 73.46 364.81 75.81 363.04 76.38 359.3 77.43 357.96 77 356.81 76.86 354.85 77 352.8 77.43 350.4 78.34 349.4 78.92 349.11 80.26 349.11 80.97 350.88 82.94 351.02 83.8 350.74 84.42 350.12 84.71 349.68 86.33 346.43 89.3 345.38 90.16 346 92.84 378.4 86.33 379.02 86.77 379.17 87.39 379.45 87.67 379.74 87.53 380.08 87.82 380.65 87.96 381.51 89.88 381.7 90.64 382.14 90.93 382.14 91.22 384.05 91.36 384.82 91.79 391.32 94.18 391.76 95.24 391.32 95.67 391.04 96.1 390.85 96.86 390.85 97.87 390.56 98.01 390.13 98.16 389.55 99.5 389.55 99.97 389.84 99.97 390.13 99.83 390.27 99.5 391.32 98.49 391.9 98.64 393.38 98.64 393.81 98.16 395.15 97.87 396.35 97.44 397.07 97.01 397.83 96.1 401.52 93.61 402.57 92.99 403.29 92.27 403.91 92.13 404.49 91.65 405.25 91.22 405.68 90.78 405.97 89.88 406.11 89.59 405.97 89.44\", fill : \"#5d9732\", id : \"NY\"},\n {points : \"386.3 102.94 385.82 102.46 385.39 102.32 385.1 101.89 384.19 101.75 383.91 100.55 382.85 100.26 382.71 100.26 382.57 98.35 383.19 98.01 383 97.01 382.42 96.39 382.42 96.1 382.57 95.81 383.48 94.9 383.76 93.42 383.76 92.99 384.34 92.13 384.82 91.79 384.05 91.36 382.14 91.22 382.14 90.93 381.7 90.64 381.51 89.88 380.65 87.96 380.08 87.82 379.74 87.53 379.45 87.67 379.17 87.39 379.02 86.77 378.4 86.33 346 92.84 345.38 90.16 343.61 91.93 343.32 92.13 343.03 91.79 342.89 91.79 342.41 92.84 340.78 94.04 340.35 94.47 342.55 107.83 344.18 116.87 352.03 115.19 373.23 111.08 380.08 109.88 380.22 109.88 380.36 109.74 380.51 109.17 381.23 108.4 381.99 108.25 382.71 108.4 384.62 107.06 384.96 106.05 386.11 104.86 387.31 104.09 387.45 103.8 386.3 102.94\", fill : \"#5d9732\", id : \"PA\"},\n {points : \"385.96 141.28 385.1 138.46 384.96 138.17 383.76 138.31 382.85 138.17 381.99 138.94 381.23 139.22 380.36 138.65 379.74 138.17 379.74 137.74 380.8 138.17 381.23 138.17 382.28 137.16 381.99 136.83 381.08 136.4 380.22 136.25 379.74 135.97 379.89 135.82 380.22 135.82 380.8 135.54 380.8 135.06 380.65 135.2 380.22 134.77 380.36 134.34 381.51 134.49 381.7 134.2 381.7 133.72 381.23 132.86 379.89 132.09 380.22 131.81 380.51 131.52 380.22 130.18 380.8 129.75 380.8 129.46 380.22 128.55 378.88 128.26 376.92 127.21 376.63 127.21 376.2 127.5 375.77 127.35 375.15 126.92 374.86 126.78 374.43 126.49 373.52 125.58 372.51 126.2 371.32 126.2 371.17 125.01 371.75 123.52 372.8 121.75 372.95 121.27 372.18 120.41 371.17 119.98 370.55 119.22 368.93 119.22 368.06 118.31 368.64 117.59 367.92 117.3 367.15 117.01 366.58 117.16 366.15 119.07 365.96 119.22 365.38 118.93 361.84 116.68 361.56 116.87 361.22 117.3 361.08 119.22 361.56 119.5 361.36 119.98 361.08 120.27 360.5 121.61 359.93 122.33 359.3 122.47 358.73 123.95 357.82 123.67 357.25 124.53 356.48 127.06 355.91 128.26 354.85 128.41 354.28 127.97 354.28 127.5 353.23 126.92 352.94 126.92 351.17 133.57 349.83 136.11 349.68 137.31 349.97 137.88 348.63 139.65 348.06 139.37 346.43 140.85 346 140.42 345.81 140.42 345.52 141.76 343.46 142.48 342.89 142.62 342.55 142.48 341.83 141.9 341.21 142.33 341.07 142.76 340.21 143.53 339.3 143.53 337.53 142.76 336.33 141.57 336.67 140.85 336.33 140.71 336.04 141.42 332.07 145.01 331.16 145.73 331.16 146.64 330.25 147.07 330.11 147.36 329.96 148.13 328.48 149.27 328.05 150.04 325.23 151.38 324.65 151.81 338.1 150.18 338.1 150.04 340.35 149.61 340.21 150.04 342.41 149.75 343.32 149.61 343.75 149.75 364.95 146.16 385.25 142.33 385.1 141.9 385.39 141.9 385.96 141.28\", fill : \"#5d9732\", id : \"VA\"},\n {points : \"389.22 150.47 389.07 148.7 388.64 147.79 388.07 147.79 387.31 148.7 387.16 149.13 386.73 149.27 386.44 148.99 386.3 148.7 386.44 147.98 386.3 147.79 385.1 147.79 384.34 148.27 383 148.56 381.85 149.13 381.37 149.27 381.08 149.27 381.08 148.99 381.37 148.27 382.57 147.98 383.33 147.36 383.76 146.93 385.68 146.02 385.68 145.73 385.53 145.44 385.82 145.3 386.11 145.44 386.59 145.44 387.16 145.3 387.31 145.59 387.59 145.59 387.74 145.3 387.31 144.25 387.02 143.96 386.59 143.53 386.3 143.39 385.68 142.91 385.53 142.62 385.25 142.33 364.95 146.16 343.75 149.75 343.32 149.61 342.41 149.75 340.21 150.04 340.35 149.61 338.1 150.04 338.1 150.18 337.81 150.9 338.1 151.67 337.81 152.24 337.81 152.86 336.67 153.58 335.32 155.83 333.99 155.97 333.22 156.26 332.36 156.98 332.21 157.31 331.59 157.75 331.02 157.31 330.87 157.31 330.11 157.89 329.96 158.18 329.68 158.61 329.25 158.61 328.96 158.61 328.77 159.66 327.62 160.71 326.85 161 324.94 162.63 323.02 163.2 321.4 163.82 320.63 164.54 320.49 165.16 320.49 165.74 320.49 166.31 319.91 166.94 319.43 167.08 318.72 166.94 318.57 169.43 330.73 167.65 333.22 166.5 333.99 166.5 333.99 166.03 336.19 165.02 336.33 164.54 336.67 164.68 347.43 163.54 347.43 163.68 347.29 164.11 347.63 164.4 348.49 163.97 350.12 165.31 350.26 166.65 359.45 165.45 370.41 172.73 370.7 172.39 374 171.82 374.86 171.53 375.15 170.91 375.77 168.71 376.49 166.65 377.4 165.59 379.02 164.54 379.02 164.4 379.02 164.11 379.6 163.97 380.94 161.72 382.57 161.57 383.19 161.29 384.48 161 385.82 159.52 386.3 158.32 385.82 157.75 385.39 157.75 385.25 158.18 383.76 158.94 382.71 159.23 380.94 159.37 380.51 158.94 380.65 158.8 381.23 158.8 381.99 158.94 382.57 158.8 384.05 156.84 383.76 156.55 384.19 155.83 383.62 155.21 383 155.21 382.71 154.63 382.85 154.78 383 154.49 382.85 153.15 383 153.01 383.48 153.01 383.62 153.29 383.62 153.58 383.91 154.2 384.05 154.2 384.19 154.01 384.62 154.2 385.96 154.35 386.59 153.87 387.16 153.72 388.07 153.01 388.07 152.58 388.36 151.95 389.41 151.24 389.55 150.9 389.22 150.47\", fill : \"#5d9732\", id : \"NC\"},\n {points : \"359.45 165.45 350.26 166.65 350.12 165.31 348.49 163.97 347.63 164.4 347.29 164.11 347.43 163.68 347.43 163.54 336.67 164.68 336.33 164.54 336.19 165.02 333.99 166.03 333.99 166.5 333.22 166.5 330.73 167.65 330.87 167.8 330.87 168.13 330.44 168.71 329.82 169.14 329.1 170.76 329.68 171.38 332.07 172.53 333.7 172.87 333.99 173.3 334.85 174.16 335.61 175.84 336.67 176.84 336.95 177.61 338.1 178.04 340.78 180.38 342.12 180.86 342.55 181.29 343.03 182.2 343.03 182.78 343.89 183.35 344.95 184.55 346.29 185.17 347 185.46 347.43 186.56 348.2 187.47 348.92 189.53 350.12 190.15 351.17 191.49 351.74 193.55 351.88 193.98 352.36 194.26 353.51 194.46 353.85 194.46 353.85 194.12 354.13 193.69 354.85 192.97 355.14 192.64 355.33 192.21 355 192.21 354.85 192.06 354.71 191.78 354.71 191.63 354.85 191.49 355.48 191.49 356.19 190.87 356.48 190.15 356.62 190.01 356.62 189.67 356.81 189.24 357.39 189.1 358.11 188.67 358.73 188.24 359.3 187.61 360.21 187.04 360.93 186.32 361.7 185.17 363.04 184.26 363.47 183.5 364.04 182.63 364.67 182.06 365.1 181.58 365.67 181.44 365.96 181.01 366.29 180.72 366.29 179.67 366.15 178.61 366.58 177.46 367.01 176.7 368.35 174.64 369.07 173.59 369.98 173.01 370.41 172.73 359.45 165.45\", fill : \"#5d9732\", id : \"SC\"},\n {points : \"353.99 194.6 353.85 194.46 353.51 194.46 352.36 194.26 351.88 193.98 351.74 193.55 351.17 191.49 350.12 190.15 348.92 189.53 348.2 187.47 347.43 186.56 347 185.46 346.29 185.17 344.95 184.55 343.89 183.35 343.03 182.78 343.03 182.2 342.55 181.29 342.12 180.86 340.78 180.38 338.1 178.04 336.95 177.61 336.67 176.84 335.61 175.84 334.85 174.16 333.99 173.3 333.7 172.87 332.07 172.53 329.68 171.38 329.1 170.76 329.82 169.14 330.44 168.71 330.87 168.13 330.87 167.8 330.73 167.65 318.57 169.43 310.29 170.33 316.18 191.49 316.8 192.06 317.23 193.55 317.52 194.26 318.43 194.74 318.86 195.32 318.57 196.23 319.29 197.09 319.15 197.38 318.43 198.43 318.43 199.77 317.81 201.11 318.14 202.88 319 205.08 318.86 207.62 319.91 209.25 320.06 209.82 320.2 210.44 320.92 211.16 320.92 211.93 321.4 212.64 344.66 211.16 344.95 212.36 345.38 212.79 346.43 212.93 346.72 211.78 346 209.53 346.14 208.81 346.43 208.38 347 207.91 348.63 208.67 350.12 208.67 350.88 208.53 350.74 206.9 350.4 205.99 350.4 204.79 350.55 204.08 351.74 200.49 351.88 199.05 352.51 197.57 353.23 196.09 353.99 195.46 354.28 195.18 354.42 194.74 353.99 194.6\", fill : \"#5d9732\", id : \"GA\"},\n {points : \"370.27 255.34 371.03 255.48 370.12 252.08 370.41 250.31 370.12 247.01 369.55 244.38 368.93 243.47 366.58 240.21 365.1 236.67 363.18 234.13 363.18 233.7 363.04 233.27 362.42 231.79 362.42 231.17 363.04 230.31 363.04 229.83 360.5 226.57 359.16 225.09 358.25 224.51 357.96 224.08 356.34 221.98 354.28 218.15 353.7 215.9 352.36 212.64 352.36 212.21 351.74 211.78 351.45 211.64 351.17 209.25 350.88 208.53 350.12 208.67 348.63 208.67 347 207.91 346.43 208.38 346.14 208.81 346 209.53 346.72 211.78 346.43 212.93 345.38 212.79 344.95 212.36 344.66 211.16 321.4 212.64 320.92 211.93 320.92 211.16 320.2 210.44 320.06 209.82 297.66 212.07 297.66 212.5 297.66 212.79 297.51 212.93 297.51 213.7 298.28 214.75 298.71 215.18 299 215.18 299.62 215.61 299.76 216.04 299.29 216.95 299.29 217.24 299.76 217.38 299.91 217.72 299.91 217.86 299.48 218.29 299.48 218.87 299.76 219.01 300.96 218.72 301.53 218.44 301.82 217.1 302.11 216.81 302.59 216.95 303.02 216.95 303.31 216.81 303.74 216.81 303.59 217.24 302.73 218 302.88 218 303.59 217.72 304.79 217.72 308.62 216.38 309.24 216.38 309.24 216.66 308.47 217.24 308.95 217.38 310.58 217.53 312.35 218.15 314.12 219.01 314.55 219.34 314.55 218.72 314.84 218.44 315.32 218.87 316.32 219.15 316.66 219.34 316.66 219.49 316.18 219.78 316.32 220.06 318.72 221.69 318.86 222.31 318.72 222.89 318.57 223.17 318.29 223.03 318.14 222.46 317.81 223.03 318.14 223.46 318.43 223.6 321.68 222.74 321.83 222.31 322.88 222.31 325.37 220.21 327.14 220.21 327.14 219.78 326.85 219.34 327.33 218.29 329.96 218 333.99 219.92 334.13 220.49 335.18 221.4 336.04 222.74 338.58 224.51 338.87 225.23 339.58 225.85 341.55 225.85 343.03 228.06 343.46 228.34 343.32 229.11 343.89 231.31 343.61 233.7 343.03 236.38 343.17 238.59 343.46 239.3 344.95 240.21 345.38 239.3 344.95 239.02 344.51 237.68 344.66 237.39 345.52 237.1 346.14 238.59 346.43 238.44 346.72 237.87 346.86 237.68 347.29 238.01 347.29 238.59 346.86 239.3 346.43 239.93 345.81 241.7 345.38 241.84 345.38 242.75 346 243.32 346.86 244.09 348.2 247.2 350.26 248.49 350.55 248.49 350.74 247.78 351.31 247.78 351.74 248.97 351.88 249.69 352.65 251.32 353.51 251.75 354.42 252.08 356.05 256.34 356.48 256.68 358.59 257.11 359.45 257.54 361.84 260.51 362.85 261.27 363.33 261.42 363.76 261.56 364.04 262.28 363.61 262.28 363.18 262.13 362.85 262.13 362.56 262.28 362.56 262.76 362.85 263.19 364.04 263.48 364.67 263.04 365.53 262.9 369.07 261.56 369.83 260.22 369.98 259.79 369.55 258.02 369.55 256.97 370.27 255.34\", fill : \"#5d9732\", id : \"FL\"},\n {points : \"388.93 121.27 383.76 122.33 380.08 109.88 373.23 111.08 352.03 115.19 353.23 120.41 353.51 119.79 353.99 119.5 355.62 117.73 356.34 117.59 356.96 116.68 357.53 116.39 357.96 115.39 358.44 115.96 359.3 116.11 360.36 115.67 360.5 115.05 363.18 114.19 363.76 114.48 364.33 114.62 365.1 114.33 365.38 115.05 365.67 115.19 366.58 117.16 367.15 117.01 367.92 117.3 368.64 117.59 368.06 118.31 368.93 119.22 370.55 119.22 371.17 119.98 372.18 120.41 372.95 121.27 372.8 121.75 371.75 123.52 371.17 125.01 371.32 126.2 372.51 126.2 373.52 125.58 374.43 126.49 374.86 126.78 374.86 126.49 375.77 126.35 377.11 126.35 378.74 126.92 379.45 127.21 379.89 127.21 379.89 126.92 379.45 126.49 378.74 125.3 378.12 125.15 377.97 125.01 378.12 124.53 378.4 124.53 378.59 124.24 377.83 123.95 377.25 122.9 376.49 121.13 376.35 120.41 376.2 119.5 376.49 117.59 376.49 117.16 376.2 116.87 376.06 116.25 376.2 115.96 376.49 115.53 376.63 114.91 378.12 113.9 378.4 113.57 378.74 112.08 379.45 112.28 379.89 112.71 379.17 113.9 378.74 114.62 378.26 115.19 377.83 116.11 378.26 117.16 379.02 117.3 379.45 119.22 379.31 119.5 378.26 120.13 378.4 120.56 379.31 120.84 379.45 121.27 379.31 122.04 379.45 122.47 379.45 123.09 379.89 124.24 380.94 125.01 381.51 125.01 381.99 124.53 382.57 124.72 382.85 124.86 382.71 125.44 383.33 126.49 383.48 126.92 383.76 127.5 384.82 127.5 384.82 127.64 385.53 126.92 388.07 126.01 388.07 125.58 388.36 125.01 389.07 121.61 388.93 121.27\", fill : \"#5d9732\", id : \"MD\"},\n {points : \"388.79 120.41 388.21 118.93 387.16 118.02 385.82 117.01 385.25 116.39 384.96 115.67 383.91 113.9 383.48 112.99 382.57 111.94 382.28 111.37 382.14 110.79 382.14 110.65 382.14 110.31 382.71 108.4 381.99 108.25 381.23 108.4 380.51 109.17 380.36 109.74 380.22 109.88 380.08 109.88 383.76 122.33 388.93 121.27 388.79 120.41\", fill : \"#5d9732\", id : \"DE\"},\n {points : \"392.95 103.09 392.67 100.41 392.19 99.5 391.04 99.83 390.56 100.12 390.27 99.97 390.13 99.83 389.84 99.97 389.55 99.97 389.55 99.5 390.13 98.16 390.56 98.01 390.85 97.87 390.85 96.86 391.04 96.1 391.32 95.67 391.76 95.24 391.32 94.18 384.82 91.79 384.34 92.13 383.76 92.99 383.76 93.42 383.48 94.9 382.57 95.81 382.42 96.1 382.42 96.39 383 97.01 383.19 98.01 382.57 98.35 382.71 100.26 382.85 100.26 383.91 100.55 384.19 101.75 385.1 101.89 385.39 102.32 385.82 102.46 386.3 102.94 387.45 103.8 387.31 104.09 386.11 104.86 384.96 106.05 384.62 107.06 382.71 108.4 382.14 110.31 382.14 110.65 382.57 110.46 383 111.37 383.62 112.08 384.19 112.71 385.96 113.57 386.59 113.9 387.93 114.05 388.36 114.19 388.36 115.39 388.36 116.11 388.79 116.53 389.22 115.96 389.84 114.77 389.84 113.76 390.7 112.28 391.18 111.08 392.33 109.59 392.81 108.25 393.24 107.06 393.24 106.34 392.95 103.09\", fill : \"#5d9732\", id : \"NJ\"},\n {points : \"406.11 85.57 404.49 79.97 397.69 81.88 397.55 82.17 397.4 82.31 396.93 81.74 392.33 82.94 393.24 90.5 393.81 91.07 393.67 91.5 392.52 92.7 393.38 93.61 394.44 92.99 396.93 90.78 398.12 89.59 398.41 89.88 400.37 89.01 401.66 88.82 401.86 88.68 401.86 88.25 402 87.96 402.72 88.11 404.97 87.05 405.83 87.05 405.83 86.77 405.68 86.48 405.83 86.19 406.11 85.57\", fill : \"#5d9732\", id : \"CT\"},\n {points : \"418.13 78.2 416.79 76.38 416.5 76.38 415.78 76.23 415.78 76.86 416.64 77.29 417.41 77.86 417.7 78.2 417.07 79.35 416.07 79.83 414.3 79.83 413.53 78.77 412.96 77.86 411.48 76.23 410.42 75.81 409.37 75.81 409.23 75.23 409.7 74.03 410.13 73.12 410.56 72.84 410.71 72.55 410.42 72.12 409.51 71.35 409.08 70.16 408.65 69.87 408.08 70.01 407.45 71.06 406.74 71.21 406.88 71.97 406.74 72.12 406.59 71.97 406.26 72.12 406.11 72.41 397.55 74.32 392.04 75.66 392.04 82.6 392.33 82.94 396.93 81.74 397.4 82.31 397.55 82.17 397.69 81.88 404.49 79.97 407.31 79.35 407.6 80.26 408.08 80.4 408.51 81.45 409.85 81.88 409.85 82.03 410.42 82.46 410.56 82.6 410.85 82.79 411 82.94 411.48 83.65 411.76 83.37 412.67 82.17 413.39 80.97 413.68 80.97 413.96 81.88 413.82 82.31 413.96 82.46 414.59 82.46 415.93 81.31 417.07 80.83 417.98 80.11 418.7 80.69 418.7 79.83 418.13 78.2\", fill : \"#5d9732\", id : \"MA\"},\n {points : \"411 82.94 410.85 82.79 410.56 82.6 410.42 82.46 409.85 82.03 409.85 81.88 408.51 81.45 408.08 80.4 407.6 80.26 407.31 79.35 404.49 79.97 406.11 85.57 405.83 86.19 405.68 86.48 405.83 86.77 405.83 87.05 406.26 87.05 407.74 86.19 408.51 85.42 408.51 84.71 408.36 84.28 408.36 83.37 408.94 82.79 409.23 82.94 409.23 83.51 409.23 84.71 409.51 85.14 409.99 84.99 409.99 84.28 410.28 84.28 410.71 83.8 411.48 83.8 411.48 83.65 411 82.94\", fill : \"#5d9732\", id : \"RI\"},\n {points : \"397.26 58.05 398.89 56.71 399.61 54.46 398.89 53.12 398.74 52.54 399.03 52.11 398.89 51.68 398.55 50.2 385.68 53.45 386.11 54.46 385.96 54.94 386.3 55.37 386.44 55.65 387.59 58.62 387.93 60.68 387.45 61.88 387.59 62.93 388.79 65.75 388.64 67.05 388.93 67.52 389.07 67.52 389.07 67.24 389.55 67.05 390.27 68.39 390.7 70.92 390.7 72.26 391.32 74.03 392.04 75.66 397.55 74.32 397.4 73.89 396.78 73.27 396.78 72.26 397.07 71.78 396.78 70.92 396.35 66.76 396.35 65.42 396.93 63.22 397.26 61.59 397.4 60.39 396.93 59.53 396.93 58.62 397.26 58.05\", fill : \"#5d9732\", id : \"VT\"},\n {points : \"408.51 67.05 408.51 66.76 408.36 66.18 408.08 66.18 406.59 64.99 406.59 64.7 406.59 63.93 406.4 63.65 400.8 46.46 400.37 46.9 399.89 47.09 399.46 46.75 399.18 47.52 398.55 47.52 398.41 47.66 398.89 48.38 398.55 50.2 398.89 51.68 399.03 52.11 398.74 52.54 398.89 53.12 399.61 54.46 398.89 56.71 397.26 58.05 396.93 58.62 396.93 59.53 397.4 60.39 397.26 61.59 396.93 63.22 396.35 65.42 396.35 66.76 396.78 70.92 397.07 71.78 396.78 72.26 396.78 73.27 397.4 73.89 397.55 74.32 406.11 72.41 406.26 72.12 406.59 71.97 406.74 72.12 406.88 71.97 406.74 71.21 407.45 71.06 408.08 70.01 408.65 69.87 409.08 70.16 409.08 69.44 409.23 68.86 409.23 68.53 408.51 67.05\", fill : \"#5d9732\", id : \"NH\"},\n {points : \"430.14 43.21 429.52 42.92 429.38 43.07 428.94 42.92 429.23 42.16 429.52 42.01 429.38 41.44 428.8 40.24 428.04 39.95 427.6 39.95 427.32 40.24 426.74 40.38 425.98 40.1 425.26 37.56 425.55 37.13 425.4 36.7 425.26 36.56 424.78 36.56 424.49 36.7 423.44 36.41 422.72 36.41 422.44 36.08 422 34.64 421.81 34.16 418.27 23.06 415.3 21.14 414.44 21 413.68 21.14 413.39 21.57 413.1 22.2 412.81 22.2 411.76 22.63 410.13 23.97 409.51 24.11 408.94 23.2 409.08 22.2 408.79 21.72 408.36 21.72 407.17 22.2 404.49 30.91 404.49 32.11 404.97 32.68 404.97 33.73 404.63 34.31 404.2 34.78 403.91 35.5 404.77 39.05 404.49 40.24 404.49 41.01 403.15 42.78 402.86 43.5 403.29 44.55 403.29 44.69 402.57 44.69 402.72 45.6 402.43 46.18 402 46.03 401.52 45.89 400.8 46.46 406.4 63.65 406.59 63.93 406.59 64.7 406.59 64.99 408.08 66.18 408.36 66.18 408.51 66.76 408.51 67.05 409.23 68.53 409.51 68.1 409.51 67.05 409.85 65.9 410.42 64.56 410.85 62.64 411.48 61.88 411.62 61.59 411.33 61.3 410.85 60.25 412.81 58.48 413.1 58.62 413.39 59.53 413.68 59.67 413.82 59.34 413.82 58.62 413.96 58.19 415.45 57.9 416.07 57.28 416.07 56.71 416.36 56.42 417.07 56.42 417.7 55.94 417.84 55.65 418.13 54.46 418.13 53.6 419.04 52.4 419.04 51.83 419.32 51.83 420.33 51.97 420.95 51.83 421.24 51.2 421.52 50.2 422 50.2 422.72 49 423.77 49.15 424.49 49.86 425.69 47.95 426.55 47.52 428.23 46.03 428.51 45.41 428.66 45.12 429.23 45.27 430 44.84 430.29 43.98 430.14 43.21\", fill : \"#5d9732\", id : \"ME\"},\n {points : \"365.67 115.19 365.38 115.05 365.1 114.33 364.33 114.62 363.76 114.48 363.18 114.19 360.5 115.05 360.36 115.67 359.3 116.11 358.44 115.96 357.96 115.39 357.53 116.39 356.96 116.68 356.34 117.59 355.62 117.73 353.99 119.5 353.51 119.79 353.23 120.41 352.03 115.19 344.18 116.87 342.55 107.83 342.41 107.83 341.83 108.25 342.27 109.31 341.07 110.17 342.55 110.94 342.12 114.62 341.69 115.53 341.69 116.25 341.83 116.87 341.98 118.02 341.07 118.78 340.78 118.93 339.3 120.7 339.15 120.99 338.29 121.27 337.53 121.13 336.95 121.9 336.95 122.33 336.19 122.9 335.47 124.72 335.75 125.87 334.85 126.92 334.13 125.72 333.55 125.72 332.79 128.12 332.79 129.31 332.79 130.46 332.21 130.75 331.45 132.24 330.44 132.24 330.59 133.57 330.59 134.49 330.59 135.06 330.73 135.82 332.36 137.88 333.36 139.37 333.7 139.65 333.99 139.51 334.85 139.94 334.99 140.13 335.32 140.28 335.75 140.71 336.33 140.71 336.67 140.85 336.33 141.57 337.53 142.76 339.3 143.53 340.21 143.53 341.07 142.76 341.21 142.33 341.83 141.9 342.55 142.48 342.89 142.62 343.46 142.48 345.52 141.76 345.81 140.42 346 140.42 346.43 140.85 348.06 139.37 348.63 139.65 349.97 137.88 349.68 137.31 349.83 136.11 351.17 133.57 352.94 126.92 353.23 126.92 354.28 127.5 354.28 127.97 354.85 128.41 355.91 128.26 356.48 127.06 357.25 124.53 357.82 123.67 358.73 123.95 359.3 122.47 359.93 122.33 360.5 121.61 361.08 120.27 361.36 119.98 361.56 119.5 361.08 119.22 361.22 117.3 361.56 116.87 361.84 116.68 365.38 118.93 365.96 119.22 366.15 119.07 366.58 117.16 365.67 115.19\", fill : \"#5d9732\", id : \"WV\"},\n {points : \"\", fill : \"\", id : \"\"}\n ];\n\n let that = this;\n\n let imageGroup;\n\n let getTransform = function getTransform(chartObject) {\n let scale = .33 * (chartObject.chartWidth / 435);\n return \"translate(\" + chartObject.plotLeft + \", \" + chartObject.plotTop + \") scale(\" + scale.toString() + \")\"\n }\n\n this._chartOptions = {\n chart : {\n height : 390,\n logo : Highcharts.logos.none,\n marginBottom: 145,\n events : {\n load : function() {\n if(!imageAdded) {\n imageGroup = this.renderer.g('map-group').attr({transform : getTransform(this), zIndex : 2}).add();\n for(let i = 0; i < that.mapImagePaths.length; i++) {\n let node = document.createElementNS('http://www.w3.org/2000/svg', 'polygon');\n node.setAttribute(\"points\", that.mapImagePaths[i].points);\n node.setAttribute(\"fill\", that.mapImagePaths[i].fill);\n node.setAttribute(\"id\", that.mapImagePaths[i].id);\n node.setAttribute(\"stroke\", \"#fff\");\n node.setAttribute(\"stroke-width\", \"0.75\");\n imageGroup.element.appendChild(node);\n }\n }\n },\n resize: function() {\n this.setTitle({text : that.title }, null, true);\n imageGroup.attr({transform : getTransform(this)});\n }\n }\n },\n title : {\n text : this.title\n },\n yAxis : [{\n title : {\n text : 'billion cubic feet'\n },\n tickInterval : 200,\n labels : {\n x : -4\n }\n\n }, {\n title : { text : null},\n tickInterval : 500,\n min: 0,\n max : 4500,\n opposite: true,\n labels : {\n x : 4\n }\n }],\n xAxis : [{\n type : 'category',\n categories : this.storageCategories,\n labels : {\n padding : 0,\n maxStaggerLines : 1\n }\n }],\n plotOptions: {\n columnrange: {\n dataLabels: {\n enabled: false,\n },\n grouping: false\n },\n pie : {\n label:{\n enabled:false\n },\n dataLabels : pieDataLabels,\n startAngle : -90,\n endAngle : 90,\n }\n },\n series : [{\n name : 'current',\n type : 'line',\n lineWidth : 0,\n lineColor : null,\n zIndex : 2,\n marker : {\n enabled : true,\n radius : 6,\n symbol : 'diamond',\n fillColor : 'black',\n lineColor : 'white',\n lineWidth : 1\n }\n }, {\n name : '5-year-range',\n type : 'columnrange',\n pointPadding: 0,\n zIndex : 0,\n color: 'rgb(200, 200, 200)',\n borderColor: 'rgba(0,0,0,0)'\n\n }, {\n name : '52-week-range',\n type : 'columnrange',\n zIndex : 1,\n pointPadding: 0.2,\n color: 'rgb(146, 146, 146)',\n borderColor: 'rgba(0,0,0,0)'\n },{\n name : 'current-lower-48',\n type : 'line',\n dataLabels : lineDataLabels,\n lineWidth : 0,\n lineColor : null,\n yAxis : 1,\n zIndex : 2,\n marker : {\n enabled : true,\n radius : 6,\n symbol : 'diamond',\n fillColor : 'black',\n lineColor : 'white',\n lineWidth : 1\n }\n }, {\n name : '5-year-range-lower-48',\n type : 'columnrange',\n dataLabels : columnRangeDataLabels,\n pointPadding: 0,\n yAxis : 1,\n zIndex : 0,\n color: 'rgb(200, 200, 200)',\n borderColor: 'rgba(0,0,0,0)'\n\n }, {\n name : '52-week-range-lower-48',\n type : 'columnrange',\n dataLabels : columnRangeDataLabels,\n yAxis : 1,\n zIndex : 1,\n pointPadding: 0.2,\n color: 'rgb(146, 146, 146)',\n borderColor: 'rgba(0,0,0,0)'\n }],\n tooltip: {\n shared: true,\n backgroundColor : 'rgba(247,247,247,1)',\n formatter: function(){\n if(this.series){return false;}\n let y, min5Year, max5Year, min52week, max52week;\n\n if(this.points[0].x === 'Lower 48') {\n y = this.points[3].y;\n min5Year = this.points[4].point.low;\n max5Year = this.points[4].point.high;\n min52week = this.points[5].point.low;\n max52week = this.points[5].point.high;\n }\n else {\n y = this.y;\n min5Year = this.points[1].point.low;\n max5Year = this.points[1].point.high;\n min52week = this.points[2].point.low;\n max52week = this.points[2].point.high;\n }\n\n let toolTipString = '
' + this.x +'
current: ' + Utils.numberWithComma(y) + '
5-year min: ' + Utils.numberWithComma(min5Year) +\n '
5-year max: ' + Utils.numberWithComma(max5Year) +\n '
52-week min: ' + Utils.numberWithComma(min52week) +\n '
52-week max: ' + Utils.numberWithComma(max52week) + '
';\n\n return toolTipString;\n }\n },\n exporting : {enabled : true},\n legend : {\n enabled : false\n },\n credits : {\n enabled : false\n },\n labels : {\n items : [{\n html : 'Underground storage capacity utilization',\n style : {\n fontWeight: 'bold',\n fontSize: '16px',\n left : '-40px',\n top : '230px'\n }\n }]\n }\n };\n\n this.subscription = this.dashboardService.getLatestDayNaturalGasStorage().subscribe(\n json => {\n this.data = json;\n }, null, () =>{\n let sourcekey:string;\n let i:number, j:number, k:number;\n let point: {[key: string]: any}, pointLower48: {[key: string]: any};\n this.storageData = [];\n this.gaugeData = [];\n\n let setPointData = function(point, id, data) {\n if(data.length === 3) {\n point.low = data[1];\n point.high = data[2];\n\n if(id === '52-week-range') {\n point.color = Utils.regionColors[sourcekey];\n }\n }\n else if(data.length === 2) {\n point.y = data[1];\n }\n return point;\n };\n\n for(i = 0; i < this.data.length - 1; i++) {\n this.storageData.push({\n id : this.data[i].id,\n data : []\n });\n this.storageData.push({\n id : this.data[i].id + '-lower-48',\n data : []\n });\n for(j = 0; j < this.storageCategories.length; j++) {\n if(this.storageCategories[j] === ' ') {\n point = null;\n pointLower48 = null;\n }\n else {\n point = { name : this.storageCategories[j]};\n pointLower48 = { name : this.storageCategories[j]};\n\n for(k = 0; k < this.data[i].data.length; k++) {\n sourcekey = this.data[i].data[k][0];\n if(this.storageCategories[j] == Utils.regionCodes[sourcekey]) {\n if(Utils.regionCodes[sourcekey] !== 'Lower 48') {\n point = setPointData(point, this.data[i].id, this.data[i].data[k]);\n }\n else {\n pointLower48 = setPointData(pointLower48, this.data[i].id, this.data[i].data[k]);\n }\n }\n }\n }\n\n this.storageData[this.storageData.length - 2].data.push(point);\n this.storageData[this.storageData.length - 1].data.push(pointLower48);\n }\n }\n\n // gaugeData\n for(j = 0; j < this.storageCategories.length; j++) {\n for(k = 0; k < this.data[3].data.length; k++) {\n sourcekey = this.data[3].data[k].region;\n if(this.storageCategories[j] == Utils.regionCodes[sourcekey]) {\n this.gaugeData.push(this.data[3].data[k]);\n }\n }\n }\n\n for(i = 0; i < this.storageData.length; i++) {\n for(j = 0; j < this._chartOptions.series.length; j++) {\n if(this.storageData[i].id == this._chartOptions.series[j].name) {\n this._chartOptions.series[j].data = this.storageData[i].data;\n }\n }\n }\n\n for(i = 0; i < this.gaugeData.length; i++) {\n this._chartOptions.series.push({\n type : \"pie\",\n enableMouseTracking: false,\n data : [{\n name: this.gaugeData[i].region,\n y: this.gaugeData[i].storage,\n color : Utils.regionColors[this.gaugeData[i].region],\n borderColor : Utils.regionColors[this.gaugeData[i].region]\n }, {\n name : 'Other',\n y : this.gaugeData[i].capacity - this.gaugeData[i].storage,\n dataLabels : { enabled : false},\n color : \"#FFF\",\n borderColor : \"#CCC\"\n }],\n //divide 100 by the number of charts to get the percentage then subtract number of\n //charts from that percentage to sort of center the charts in the div\n center: [(-5 + ((110 / (this.gaugeData.length - 1))*i)).toString() + \"%\", 285],\n size: 50,\n showInLegend: false\n });\n }\n\n this.displayChart = true;\n }\n );\n }\n\n ngOnDestroy(){\n this.subscription.unsubscribe();\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/share-modules/eia-charts/display-eia-single-day-storage-with-gauges/display-eia-single-day-storage-with-gauges.component.ts","
\n \n \n
\n\n\n// WEBPACK FOOTER //\n// ./src/app/share-modules/eia-charts/display-gas-trade-disposition/display-gas-trade-disposition.component.html","import {Utils} from '../../Utils';\n\ndeclare var Highcharts: any;\ndeclare var $: any;\nimport {Component, OnInit, Input, OnDestroy} from '@angular/core';\nimport {DashboardService} from '../../../dashboard/services/dashboard.service';\nimport {merge} from 'lodash';\nimport {utils} from \"protractor\";\n\n@Component({\n selector: 'app-display-gas-trade-disposition',\n templateUrl: './display-gas-trade-disposition.component.html'\n})\nexport class DisplayGasTradeDispositionComponent implements OnInit, OnDestroy {\n\n data: any;\n _chartOptions: any;\n _seriesOptions: any;\n displayChart: boolean = false;\n subscription: any;\n firstPointYear: any;\n lastPointYear: any;\n xLabels = [];\n @Input() title;\n\n constructor(public dashboardService: DashboardService) {\n }\n\n ngOnInit() {\n let controller = this;\n this.subscription = this.dashboardService.getGasTradeDisposition().subscribe(\n json => {\n this.data = json;\n },\n null, // error function\n () => {\n let exportMenuItems = merge([], (Highcharts.getOptions()).exporting.buttons.contextButton.menuItems);\n let component = this;\n\n exportMenuItems[0] = null;\n exportMenuItems[1] = null;\n exportMenuItems[4] = null;\n exportMenuItems[5] = null;\n\n this._chartOptions = {\n chart: {\n logo: Highcharts.logos.none,\n height: 300\n },\n title: {\n text: this.title\n },\n xAxis: {\n plotLines: [{\n color: Highcharts.eia_grey,\n width: 2,\n value: 6.5,\n dashStyle: 'Dash',\n label: {\n text: 'report week',\n align: 'right',\n rotation: 0,\n y: -5,\n x: -10\n }\n },\n {\n color: 'rgba(0,0,0,0)',\n width: 2,\n value: 6.5,\n dashStyle: 'Dash',\n label: {\n text: 'current week',\n align: 'left',\n rotation: 0,\n y: -5,\n x: 10\n }\n }],\n showFirstLabel: true,\n startOnTick: true,\n categories: controller.xLabels\n },\n yAxis: {\n title: {\n text: 'billion cubic feet per day'\n },\n plotLines: [{\n value: 0,\n color: 'black',\n dashStyle: 'solid',\n width: 2\n }],\n tickInterval: 2\n },\n legend: {\n layout: 'horizontal',\n align: 'center',\n verticalAlign: 'bottom'\n },\n tooltip: {\n shared: true,\n formatter: function () {\n let formatter = this;\n\n function checkForData() {\n let splitDate = formatter.x.split(' ');\n\n let toolTipString = '';\n toolTipString += '
' + Utils.monthsInYear[splitDate[0]] + ' ' + splitDate[1] + '

';\n formatter.points.forEach(function (element) {\n const year = parseInt(element.series.name.substring(0, 4), 10);\n\n if (element.series.options.id === 'previous_range') {\n const yearString = component.getSeriesYearText(element.series.options.id);\n toolTipString += '
' + yearString + ': ' + element.point.low + ' to ' + element.point.high + '
';\n } else {\n const yearString = component.getSeriesYearText(element.series.options.id);\n toolTipString += '
' + yearString + ': ' + element.point.y + '

';\n }\n });\n return toolTipString;\n }\n\n return checkForData();\n }\n },\n series: [],\n exporting: {\n buttons: {\n contextButton: {\n menuItems: exportMenuItems\n }\n }\n },\n credits : {\n enabled : false\n }\n };\n\n this._seriesOptions = {\n\n 'current': {\n id : 'current',\n type: 'line',\n name: null,\n zIndex: 3,\n color: Utils.areaPlotColors.current\n },\n\n 'previous_range': {\n id : 'previous_range',\n type: 'arearange',\n lineWidth: 0,\n name: null,\n zIndex: 0,\n color: Utils.areaPlotColors.range\n },\n 'previous': {\n id : 'previous',\n type: 'line',\n name: null,\n zIndex: 1,\n color: Utils.areaPlotColors.previous\n },\n }\n\n\n this._chartOptions.series = [];\n\n this.firstPointYear = new Date(this.data[0].data[0][0]).getUTCFullYear();\n this.lastPointYear = new Date(this.data[0].data[this.data[0].data.length - 1][0]).getUTCFullYear();\n\n for (let j = 0; j < this.data.length; j++) {\n\n if (this._seriesOptions[this.data[j].id]) {\n let seriesOptions = merge({}, this._seriesOptions[this.data[j].id]);\n seriesOptions.name = this.getSeriesName(this.data[j].id);\n\n seriesOptions.data = this.data[j].data.sort(function (a, b) {\n return (a[0] < b[0]) ? -1 : ((a[0] > b[0]) ? 1 : 0);\n });\n\n // set dates as MMM DD\n seriesOptions.data = controller.mapDateToNewdate(seriesOptions.data);\n\n this._chartOptions.series.push(seriesOptions);\n }\n }\n for (let i = 0; i < this._chartOptions.series.length; i++) {\n }\n // set x-axis labels to match MMM DD\n this.data[0].data.forEach(element => {\n controller.xLabels.push(element[0]);\n });\n\n this.displayChart = true;\n });\n\n }\n\n\n private getSeriesName(seriesId) {\n let name = this.getSeriesYearText(seriesId);\n\n if (seriesId === 'previous_range') {\n name += ' range';\n }\n\n return name;\n }\n\n private getSeriesYearText(seriesId) {\n let text = '';\n if (seriesId === 'previous_range') {\n if (this.firstPointYear === this.lastPointYear) {\n text = (this.firstPointYear - 5).toString() + '-' + (this.firstPointYear - 1).toString();\n } else {\n text = (this.firstPointYear - 5).toString() + '-' + ((this.firstPointYear - 1)).toString() + '/' + (this.lastPointYear - 5).toString() + '-' + ((this.lastPointYear - 1)).toString();\n }\n } else if (seriesId === 'current') {\n if (this.firstPointYear === this.lastPointYear) {\n text = this.firstPointYear.toString();\n } else {\n text = this.firstPointYear.toString() + '/' + (this.lastPointYear).toString();\n }\n } else if (seriesId === 'previous') {\n if (this.firstPointYear === this.lastPointYear) {\n text = (this.firstPointYear - 1).toString();\n } else {\n text = (this.firstPointYear - 1).toString() + '/' + ((this.lastPointYear - 1)).toString();\n }\n }\n\n return text;\n }\n\n private mapDateToNewdate(array) {\n return array.map(element => {\n element[0] = Utils.dateAsMMMDD(new Date(element[0]));\n return element;\n });\n }\n\n ngOnDestroy() {\n this.subscription.unsubscribe();\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/share-modules/eia-charts/display-gas-trade-disposition/display-gas-trade-disposition.component.ts","
\n\n
\n\n\n// WEBPACK FOOTER //\n// ./src/app/share-modules/eia-charts/display-henry-hub/display-henry-hub.component.html","declare var Highcharts: any;\nimport {Component, OnInit, Input, OnDestroy, ElementRef, ViewChild} from '@angular/core';\nimport {DashboardService} from '../../../dashboard/services/dashboard.service';\nimport {Utils} from '../../Utils';\nimport {DatePipe} from '@angular/common';\n\n\n@Component({\n selector: 'app-display-henry-hub',\n templateUrl: './display-henry-hub.component.html'\n})\nexport class DisplayHenryHubComponent implements OnInit {\n\n @Input() title: string;\n data: any;\n subscription: any;\n theChart: any;\n _chart: any;\n tempYears: any = {}; //holds unique years from data.\n years: any = [];\n seriesArray: any = [];\n mostRecent: any = [];\n plotColorsIndex: number = 0;\n plotColors: any = ['#0096D7', '#BD732A', '#5D9732', '#FFC702', '#A33340', '#DAADB3', '#76D5FF', '#BED5AD', '#006997', '#f27000'];//#8577A2\n @ViewChild('eiaHenryHub') public chartEl: ElementRef;\n\n\n constructor(private dashboardService: DashboardService, public datePipe: DatePipe) {\n }\n\n ngOnInit() {\n const controller = this;\n this.subscription = controller.dashboardService.getHenryHubGasPricesData().subscribe(\n json => {\n\n // create an string property for each date property in the objects.\n controller.data = json.data.map(function (element) {\n var tempArray = [element.x, element.y];\n tempArray['reportDateString'] = new Date(element.reportDate).getUTCFullYear();\n element.tempArray = tempArray;\n element.reportDateShort = Utils.dateAsMMMDD(new Date(element.reportDate));\n element.reportDateString = new Date(element.reportDate).getUTCFullYear();\n element.storageDateString = Utils.dateAsPlainString(new Date(element.storageDate));\n element.priceDateString = Utils.dateAsPlainString(new Date(element.priceDate));\n return element;\n });\n\n // get most recent point as its own point for use in its own series\n controller.mostRecent = json.data[json.data.length - 1];\n json.data.pop();\n\n\n // get array of unique years in the data\n this.data.forEach(element => {\n if (!controller.tempYears[element.reportDateString]) {\n controller.tempYears[element.reportDateString] = 1;\n controller.years.push(element.reportDateString);\n }\n });\n\n // build a series object for each unique year in the data\n controller.years.forEach(thing => {\n var tempObject = {};\n tempObject['name'] = thing;\n tempObject['data'] = [];\n tempObject['marker'] = {};\n //todo:set tempObject.marker.fillColor dynamically here\n tempObject['marker'].fillColor = this.plotColors[controller.plotColorsIndex];\n controller.plotColorsIndex++;\n\n var tempData = controller.data.filter(element => {\n return element.reportDateString == thing;\n });\n\n //format data as an object with props x, y, reportDate, storageDate, priceDate.\n tempData.forEach(element => {\n tempObject['data'].push({\n x: element.x,\n y: element.y,\n reportDate: element.reportDateString,\n storageDate: element.storageDateString,\n priceDate: element.priceDateString,\n reportDay: Utils.dateAsPlainString(new Date(element.reportDate))\n });\n });\n\n // numeric sort on x\n tempObject['data'].sort(function (a, b) {\n return a['x'] - b['x'];\n });\n\n controller.seriesArray.push(tempObject);\n });\n\n\n // add most recent point to series array\n const tempMostRecent = {};\n tempMostRecent['name'] = this.datePipe.transform(new Date(controller.mostRecent.reportDate), 'MM/d/yyyy', 'UTC');\n tempMostRecent['data'] = [{\n x: controller.mostRecent.x,\n y: controller.mostRecent.y,\n reportDate: controller.mostRecent.reportDateString,\n storageDate: controller.mostRecent.storageDateString,\n priceDate: controller.mostRecent.priceDateString,\n reportDay: Utils.dateAsPlainString(new Date(controller.mostRecent.reportDate))\n }];\n tempMostRecent['marker'] = {\n radius: 6,\n lineColor: 'rgb(255,255,255)',\n lineWidth: 1,\n fillColor: this.plotColors[this.plotColorsIndex]\n };\n\n controller.seriesArray.push(tempMostRecent);\n\n var larrow = {\n name: 'leftArrow',\n color: Highcharts.eia_grey,\n dataLabels: {\n align: 'left',\n enabled: true,\n x: -50,\n y: 6,\n format: 'deficit'\n },\n data: [{\n marker: {\n symbol: 'Larrow'\n },\n y: .5,\n x: -460\n },\n {\n dataLabels: {\n enabled: false\n },\n marker: {\n enabled: false,\n symbol: 'Rarrow'\n },\n y: .5\n }],\n type: 'line',\n lineWidth: 5,\n connectNulls: true,\n showInLegend: false,\n enableMouseTracking: false,\n marker: {\n enabled: true\n }\n };\n\n var rarrow = {\n name: 'rightArrow',\n color: Highcharts.eia_grey,\n dataLabels: {\n align: 'right',\n enabled: true,\n x: 50,\n y: 6,\n format: 'surplus'\n },\n data: [{\n dataLabels: {\n enabled: false\n },\n marker: {\n enabled: false,\n symbol: 'Larrow'\n }, y: .5\n }, {\n marker: {\n enabled: true,\n symbol: 'Rarrow'\n }, y: .5, x: 500\n }],\n type: 'line',\n lineWidth: 5,\n connectNulls: true,\n showInLegend: false,\n enableMouseTracking: false,\n marker: {\n enabled: true\n }\n };\n\n controller.seriesArray.push(larrow);\n controller.seriesArray.push(rarrow);\n },\n () => {\n },\n () => {\n this.theChart = {\n chart: {\n type: 'scatter',\n zoomType: 'xy'\n },\n title: {\n text: controller.title\n },\n credits: {\n enabled: false\n },\n logos: {\n none: 0\n },\n xAxis: {\n title: {\n enabled: true,\n text: 'billion cubic feet'\n },\n max: 1500,\n min: -1500,\n tickInterval: 500,\n startOnTick: true,\n endOnTick: true,\n showLastLabel: true\n },\n yAxis: {\n title: {\n text: 'price of gas at the Henry Hub in dollars per million British thermal units',\n margin: 25\n },\n tickInterval: 1\n\n },\n legend: {\n layout: 'vertical',\n align: 'right',\n verticalAlign: 'middle',\n itemMarginTop: 3,\n itemMarginBottom: 3,\n floating: false,\n y: 10\n },\n tooltip: {\n formatter: function () {\n var formatter = this;\n var defOrSur = formatter.x >= 0?'surplus: ': 'deficit: ';\n var toolTipString = '';\n toolTipString += '
' + formatter.point.reportDay + '

' + defOrSur + Utils.numberWithComma(formatter.x) + ' Bcf' + '
' +\n 'price: $' + Math.round(formatter.y * 100) / 100 + '
' +\n 'storage date: ' + formatter.point.storageDate + '
';\n\n return toolTipString;\n }\n },\n plotOptions: {\n scatter: {\n marker: {\n radius: 4,\n lineColor: 'rgb(255,255,255)',\n lineWidth: 1,\n states: {\n hover: {\n enabled: true,\n lineColor: 'rgb(255,255,255)'\n }\n }\n },\n states: {\n hover: {\n marker: {\n enabled: false\n }\n }\n },\n }\n },\n series: controller.seriesArray\n };\n\n this.setupChart();\n\n });\n }\n\n private setupChart() {\n\n\n Highcharts.wrap(Highcharts.Legend.prototype, 'colorizeItem', function (proceed, item, visible) {\n item.legendColor = item.options.legendColor;\n proceed.apply(this, Array.prototype.slice.call(arguments, 1));\n });\n\n\n if (this.chartEl && this.chartEl.nativeElement) {\n\n\n this.theChart.chart = {\n logo: Highcharts.logos.none,\n renderTo: this.chartEl.nativeElement,\n\n type: 'scatter',\n zoomType: 'xy',\n //inverted:false\n };\n\n // Define a custom symbol path for left arrowhead\n Highcharts.SVGRenderer.prototype.symbols.Larrow = function (x, y, w, h) {\n return ['M', x - 10, (y + 4), 'L', x - 10 + w * 1.75, (y + 4) + h, 'L', x - 10 + w * 1.75, (y + 4) - h, 'z'];\n };\n\n\n if (Highcharts.VMLRenderer) {\n Highcharts.VMLRenderer.prototype.symbols.Larrow = Highcharts.SVGRenderer.prototype.symbols.Larrow;\n }\n\n // Define a custom symbol path for right arrowhead\n Highcharts.SVGRenderer.prototype.symbols.Rarrow = function (x, y, w, h) {\n return ['M', x + 10, (y + 4), 'L', x + 10 - w * 1.75, (y + 4) - h, 'L', x + 10 - w * 1.75, (y + 4) + h, 'z'];\n };\n if (Highcharts.VMLRenderer) {\n Highcharts.VMLRenderer.prototype.symbols.Rarrow = Highcharts.SVGRenderer.prototype.symbols.Rarrow;\n }\n\n this._chart = new Highcharts.Chart(this.theChart);\n }\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/share-modules/eia-charts/display-henry-hub/display-henry-hub.component.ts","\n
\n \n \n
\n\n\n// WEBPACK FOOTER //\n// ./src/app/share-modules/eia-charts/display-storage-weekly-working/display-storage-weekly-working.component.html","declare var Highcharts: any;\nimport { Component, OnInit, Input, OnDestroy } from '@angular/core';\nimport {DashboardService} from \"../../../dashboard/services/dashboard.service\";\nimport {merge} from 'lodash';\nimport {Utils} from '../../Utils';\nimport { DatePipe} from \"@angular/common\";\n\n@Component({\n selector: 'app-display-storage-weekly-working',\n templateUrl: './display-storage-weekly-working.component.html'\n})\nexport class DisplayStorageWeeklyWorkingComponent implements OnInit, OnDestroy {\n\n data: any;\n _chartOptions: any;\n _seriesOptions: any;\n displayChart: boolean = false;\n subscription: any;\n @Input() sourceStorage;\n @Input() title;\n constructor(public dashboardService: DashboardService, public datePipe: DatePipe) { }\n\n ngOnInit() {\n let that = this;\n this._chartOptions = {\n chart : {\n logo : Highcharts.logos.none,\n height: 350\n },\n title : {\n text : this.title\n },\n credits: {\n enabled: false\n },\n xAxis : {\n type: 'datetime',\n labels: {\n formatter: function(){\n return Utils.dateAsMM(new Date(this.value));\n }\n },\n showFirstLabel : true\n },\n yAxis: {\n title: {\n text: 'billion cubic feet'\n }\n },\n legend: {\n layout: 'horizontal',\n align: 'center',\n verticalAlign: 'bottom'\n },\n tooltip: {\n shared: true,\n formatter: function(){\n var formatter = this;\n\n function checkForData(){\n var toolTipString = '';\n var theDate = that.datePipe.transform(new Date(formatter.x),'MMMM dd', 'UTC'); //Utils.dateAsMMMDD(new Date(formatter.x));\n\n toolTipString += '
' + theDate + '

';\n\n formatter.points.forEach(function(element){\n if(element.series.name.toUpperCase().indexOf('RANGE')>-1){\n toolTipString += '
' + element.series.name.toLowerCase() +': '+ Utils.numberWithComma(element.point.low) + ' to ' + Utils.numberWithComma(element.point.high) + '
';\n }\n else{\n toolTipString += '
'+element.series.name.toLowerCase()+': ' + Utils.numberWithComma(element.point.y) + '

'\n\n }\n });\n return toolTipString;\n }\n return checkForData();\n }\n },\n series : []\n };\n\n this._seriesOptions = {\n 'previous' : {\n type : 'line',\n name : null,\n zIndex : 3,\n color: Utils.areaPlotColors.previous,\n xType : Highcharts.xTypes.weekly\n },\n 'current' : {\n type : 'line',\n name : null,\n zIndex : 3,\n color:Utils.areaPlotColors.current,\n xType : Highcharts.xTypes.weekly\n },\n 'previous_range' : {\n type : 'arearange',\n lineWidth: 0,\n //fillOpacity: 0.3,\n name : null,\n zIndex : 0,\n color : Utils.areaPlotColors.range,\n xType : Highcharts.xTypes.weekly\n },\n 'previous_avg' : {\n type : 'line',\n name : null,\n zIndex : 1,\n color : Highcharts.eia_grey,\n xType : Highcharts.xTypes.weekly\n }\n }\n\n this.subscription = this.dashboardService.getStorageWeeklyWorking(this.sourceStorage).subscribe(\n json=>{\n this.data = json;\n },\n null, //error function\n ()=>{\n this._chartOptions.series = [];\n\n let current_year = (new Date(this.data[0].data[0][0])).getUTCFullYear();\n this._seriesOptions.previous.name = (current_year -1).toString();\n this._seriesOptions.current.name = current_year.toString();\n this._seriesOptions.previous_range.name = (current_year-5).toString() + '-' + (current_year-1).toString() + ' range';\n this._seriesOptions.previous_avg.name = (current_year-5).toString() + '-' + (current_year-1).toString() + ' average';\n for(let j = 0; j < this.data.length; j++) {\n if(this._seriesOptions[this.data[j].id]) {\n let seriesOptions = merge({}, this._seriesOptions[this.data[j].id]);\n //seriesOptions.legendColor = 'red';\n\n seriesOptions.data = this.data[j]['data'].sort(function(a,b) {\n return (a[0] < b[0]) ? -1 : ((a[0] > b[0]) ? 1 : 0);\n });\n this._chartOptions.series.push(seriesOptions);\n }\n }\n\n this.displayChart = true;\n });\n\n }\n\n ngOnDestroy() {\n this.subscription.unsubscribe();\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/share-modules/eia-charts/display-storage-weekly-working/display-storage-weekly-working.component.ts","
\n \n \n
\n\n\n// WEBPACK FOOTER //\n// ./src/app/share-modules/eia-charts/display-weekly-net-change/display-weekly-net-change.component.html","declare var Highcharts: any;\nimport { Component, OnInit, OnDestroy, Input, ViewChild, ElementRef } from '@angular/core';\nimport {DashboardService} from \"../../../dashboard/services/dashboard.service\";\nimport { Utils } from '../../Utils';\nimport {merge} from 'lodash';\nimport {DatePipe} from \"@angular/common\";\n\n@Component({\n selector: 'app-display-weekly-net-change',\n templateUrl: './display-weekly-net-change.component.html'\n})\nexport class DisplayWeeklyNetChangeComponent implements OnInit, OnDestroy {\n\n data: any;\n _chartOptions: any;\n _seriesOptions: any;\n displayChart: boolean = false;\n subscription: any;\n chartStartMonth: number = 1;\n @Input() sourceStorage;\n @Input() title;\n\n constructor(public dashboardService: DashboardService, public datePipe: DatePipe) { }\n\n ngOnInit() {\n let that = this;\n this._chartOptions = {\n chart : {\n logo : Highcharts.logos.none,\n height: 350\n },\n title : {\n text : this.title\n },\n /*subtitle:{\n text: 'billion cubic feet'\n },*/\n credits: {\n enabled: false\n },\n xAxis : {\n type: 'datetime',\n showFirstLabel : true,\n xType : Highcharts.xTypes.weekly,\n labels : {\n formatter: function(){\n return Utils.dateAsMM(new Date(this.value));\n }\n }\n },\n yAxis: {\n title: {\n text: 'billion cubic feet'\n }\n },\n legend: {\n layout: 'horizontal',\n align: 'center',\n verticalAlign: 'bottom'\n },\n tooltip: {\n shared: true,\n formatter: function(){\n var formatter = this;\n\n function checkForData(){\n var toolTipString = '';\n var theDate = that.datePipe.transform(new Date(formatter.x), 'MMMM dd', 'UTC');\n\n toolTipString += '
' + theDate + '

';\n\n formatter.points.forEach(function(element){\n if (element.series.name.toUpperCase().indexOf('RANGE') > -1){\n toolTipString += '
' + element.series.name.toLowerCase() +' : '+ element.point.low + ' to ' + element.point.high + '
';\n }\n else {\n toolTipString += '
' + element.series.name+' : ' + element.point.y + '

'\n\n }\n });\n return toolTipString;\n }\n return checkForData();\n }\n },\n series : []\n };\n\n this._seriesOptions = {\n 'current' : {\n type : 'line',\n name : null,\n zIndex : 3,\n lineWidth : 0,\n marker : {\n enabled : true\n },\n color: Utils.areaPlotColors.current,\n xType : Highcharts.xTypes.weekly\n },\n /* 'previous' : {\n type : 'line',\n name : null,\n zIndex : 2\n },*/\n 'previous_range' : {\n type : 'arearange',\n lineWidth: 0,\n //fillOpacity: 0.3,\n name : null,\n zIndex : 0,\n color : Utils.areaPlotColors.range,\n step : 'center',\n xType : Highcharts.xTypes.weekly\n },\n 'previous_avg' : {\n type : 'line',\n name : null,\n zIndex : 1,\n color : Utils.areaPlotColors.average,\n lineWidth : 0,\n marker : {\n enabled : true\n },\n xType : Highcharts.xTypes.weekly\n }\n }\n\n this.subscription = this.dashboardService.getStorageWeeklyNetChange(this.sourceStorage).subscribe(\n json=>{\n this.data = json;\n },\n null, //error function\n ()=>{\n this._chartOptions.series = [];\n\n let current_year = (new Date(this.data[0].data[0][0])).getUTCFullYear();\n if(this.chartStartMonth == 1) {\n this._seriesOptions.current.name = current_year.toString();\n this._seriesOptions.previous_range.name = (current_year-5).toString() + '-' + (current_year-1).toString() + ' range';\n this._seriesOptions.previous_avg.name = (current_year-5).toString() + '-' + (current_year-1).toString() + ' average';\n }\n else if(this.chartStartMonth == 10) {\n this._seriesOptions.current.name = 'Oct ' + (current_year -1) + ' - ' + 'Sep ' + current_year.toString();\n this._seriesOptions.previous_range.name = 'Oct ' + (current_year-5).toString() + ' - ' + 'Sep ' + (current_year).toString() + ' range';\n this._seriesOptions.previous_avg.name = 'Oct ' + (current_year-5).toString() + ' - ' + 'Sep ' + (current_year).toString() + ' average';\n }\n for(let j = 0; j < this.data.length; j++) {\n if(this._seriesOptions[this.data[j].id]) {\n let seriesOptions = merge({}, this._seriesOptions[this.data[j].id]);\n\n seriesOptions.data = this.data[j]['data'].sort(function(a,b) {\n return (a[0] < b[0]) ? -1 : ((a[0] > b[0]) ? 1 : 0);\n });\n this._chartOptions.series.push(seriesOptions);\n }\n }\n\n this.displayChart = true;\n });\n }\n\n ngOnDestroy() {\n this.subscription.unsubscribe();\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/share-modules/eia-charts/display-weekly-net-change/display-weekly-net-change.component.ts","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { DisplayEiaHighchartComponent } from './display-eia-highchart/display-eia-highchart.component';\nimport { DisplayEiaHighstockComponent } from './display-eia-highstock/display-eia-highstock.component';\nimport { DisplayEiaHighmapComponent } from './display-eia-highmap/display-eia-highmap.component';\nimport { DisplayEiaHeatmapComponent } from './display-eia-heatmap/display-eia-heatmap.component';\nimport { DisplayEiaParetoComponent } from './display-eia-pareto/display-eia-pareto.component';\nimport { GasConsumptionComponent } from './gas-consumption/gas-consumption.component';\nimport { DisplayStorageWeeklyWorkingComponent } from './display-storage-weekly-working/display-storage-weekly-working.component';\nimport { NuclearOutagesComponent } from './nuclear-outages/nuclear-outages.component';\nimport { DisplayWeeklyNetChangeComponent } from './display-weekly-net-change/display-weekly-net-change.component';\nimport { DisplayGasTradeDispositionComponent } from './display-gas-trade-disposition/display-gas-trade-disposition.component';\nimport { MapTemperatureDepartureFromNormalComponent } from './map-temperature-departure-from-normal/map-temperature-departure-from-normal.component';\nimport { MapDailyAnimationComponent } from './map-daily-animation/map-daily-animation.component';\nimport { NouisliderModule} from \"ng2-nouislider\";\nimport { SafeHtmlPipe } from './safe-html/safe-html.pipe';\nimport { DisplayHenryHubComponent } from './display-henry-hub/display-henry-hub.component';\nimport { MapLegendComponent } from './map-legend/map-legend.component';\nimport { DisplayEiaSingleDayStorageWithGaugesComponent } from './display-eia-single-day-storage-with-gauges/display-eia-single-day-storage-with-gauges.component';\n\ndeclare var require: any;\n@NgModule({\n imports: [\n CommonModule,\n NouisliderModule,\n FormsModule\n\n ],\n declarations: [\n DisplayEiaHighchartComponent, \n DisplayEiaHighstockComponent, \n DisplayEiaHighmapComponent,\n DisplayEiaHeatmapComponent,\n DisplayEiaParetoComponent,\n GasConsumptionComponent, \n DisplayStorageWeeklyWorkingComponent,\n DisplayWeeklyNetChangeComponent,\n NuclearOutagesComponent,\n DisplayGasTradeDispositionComponent,\n MapTemperatureDepartureFromNormalComponent,\n MapDailyAnimationComponent,\n DisplayHenryHubComponent,\n SafeHtmlPipe,\n MapLegendComponent,\n DisplayEiaSingleDayStorageWithGaugesComponent\n ],\n exports: [\n DisplayEiaHighchartComponent, \n DisplayEiaHighstockComponent, \n DisplayEiaHighmapComponent,\n DisplayEiaHeatmapComponent,\n DisplayEiaParetoComponent,\n GasConsumptionComponent,\n DisplayStorageWeeklyWorkingComponent,\n DisplayWeeklyNetChangeComponent,\n NuclearOutagesComponent,\n DisplayGasTradeDispositionComponent,\n MapTemperatureDepartureFromNormalComponent,\n MapDailyAnimationComponent,\n DisplayHenryHubComponent,\n SafeHtmlPipe,\n MapLegendComponent,\n DisplayEiaSingleDayStorageWithGaugesComponent\n ]\n})\nexport class EiaChartsModule { }\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/share-modules/eia-charts/eia-charts.module.ts","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\n\n@Injectable()\nexport class EiaChartsService {\n\n baseUrl: string;\n\n constructor(public http: HttpClient) { }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/share-modules/eia-charts/eia-charts.service.ts","
\n\n
\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/share-modules/eia-charts/gas-consumption/gas-consumption.component.html","import {DashboardService} from '../../../dashboard/services/dashboard.service';\nimport {merge} from 'lodash';\n\ndeclare var Highcharts: any;\nimport { Component,\n Input,\n ElementRef,\n OnInit,\n AfterViewInit,\n OnDestroy,\n ViewChild } from '@angular/core';\nimport { Utils } from '../../Utils';\n\n@Component({\n selector: 'app-gas-consumption',\n templateUrl: './gas-consumption.component.html'\n})\n\nexport class GasConsumptionComponent implements OnInit, OnDestroy {\n\n\n @ViewChild('eiaGasConsumption') public chartEl: ElementRef;\n @Input() consumptionSource;\n @Input() chartTitle;\n _chart: any;\n theChart: any;\n data: any;\n xLabels = [];\n subscribe: any;\n currentYear: any;\n previousYear: any;\n firstPointYear: any;\n lastPointYear: any;\n low: number;\n constructor(private dashboardService: DashboardService) { }\n\n ngOnInit() {\n let controller = this;\n this.subscribe = this.dashboardService.getGasConsumptionElectricPower(this.consumptionSource).subscribe(\n json => {\n this.data = json;\n }, null, () => {\n\n let exportMenuItems = merge([], (Highcharts.getOptions()).exporting.buttons.contextButton.menuItems);\n let component = this;\n\n exportMenuItems[0] = null;\n exportMenuItems[1] = null;\n exportMenuItems[4] = null;\n exportMenuItems[5] = null;\n\n // sort range data\n this.data[2].data.sort(function(a, b) {\n return a[0] - b[0];\n });\n\n let ranges = this.data[2].data;\n let current = this.data[0].data;\n let previous = this.data[1].data;\n\n this.firstPointYear = new Date(current[0][0]).getUTCFullYear();\n this.lastPointYear = new Date(current[current.length - 1][0]).getUTCFullYear();\n\n\n // change the dates to show as mmm dd\n ranges = this.mapDateToNewdate(ranges);\n current = this.mapDateToNewdate(current);\n previous = this.mapDateToNewdate(previous);\n\n ranges.forEach(function(element) {\n controller.xLabels.push(element[0]);\n });\n\n\n // set low value for y axis\n const rangeLow = ranges.map(function(element) {\n return element[1];\n });\n this.low = Math.min.apply(Math, rangeLow);\n\n this.theChart = {\n chart: {\n height: 250\n },\n title: {\n text: controller.chartTitle\n },\n xAxis: {\n categories: this.xLabels,\n plotLines: [{\n color: Highcharts.eia_grey,\n width: 2,\n value: 6.5,\n dashStyle: 'Dash',\n label: {\n text: 'report week',\n align: 'right',\n rotation: 0,\n y: -5,\n x: -10\n }\n }, {\n color: 'rgba(0,0,0,0)',\n width: 2,\n value: 6.5,\n dashStyle: 'Dash',\n label: {\n text: 'current week',\n align: 'left',\n rotation: 0,\n y: -5,\n x: 10\n }\n }]\n },\n yAxis: {\n title: {\n text: 'billion cubic feet per day'\n },\n min: controller.low - 5,\n tickInterval: 5\n },\n exporting: {\n buttons: {\n contextButton: {\n menuItems: exportMenuItems\n }\n }\n },\n tooltip: {\n crosshairs: true,\n shared: true,\n formatter: function() {\n let formatter = this;\n\n function getLegendName(series) {\n return series === 'current' ? controller.currentYear : controller.previousYear;\n }\n\n function checkForData() {\n let splitDate = formatter.x.split(' ');\n\n let toolTipString = '';\n toolTipString += '
' + Utils.monthsInYear[splitDate[0]] + ' ' + splitDate[1] + '

';\n\n formatter.points.forEach(function(element) {\n const year = parseInt(element.series.name.substring(0, 4), 10);\n\n if (element.series.options.id === 'previous_range') {\n const yearString = component.getSeriesYearText(element.series.options.id);\n toolTipString += '
' + yearString + ': ' + element.point.low + ' to ' + element.point.high + '
';\n } else {\n const yearString = component.getSeriesYearText(element.series.options.id);\n toolTipString += '
' + yearString + ': ' + element.point.y + '

';\n }\n });\n return toolTipString;\n }\n\n return checkForData();\n }\n },\n legend: { },\n credits: {\n enabled: false\n },\n series: [{\n id : 'current',\n type: 'line',\n data: current,\n zIndex: 1,\n color: Utils.areaPlotColors.current,\n marker: {\n lineWidth: 0,\n enabled: false\n },\n label: {\n enabled: false\n }\n }, {\n id : 'previous',\n type: 'line',\n data: previous,\n zIndex: 1,\n color: Utils.areaPlotColors.previous,\n marker: {\n lineWidth: 0,\n enabled: false\n },\n label: {\n enabled: false\n }\n }, {\n id : 'previous_range',\n data: ranges,\n type: 'arearange',\n lineWidth: 0,\n color: Utils.areaPlotColors.range,\n zIndex: 0,\n showInLegend: true,\n marker: {\n symbol: 'square',\n lineWidth: 0,\n enabled: false\n }\n }]\n };\n\n for (let i = 0; i < this.theChart.series.length; i++) {\n this.theChart.series[i].name = this.getSeriesName(this.theChart.series[i].id);\n }\n this.setupChart();\n });\n }\n\n private getSeriesName(seriesId) {\n let name = this.getSeriesYearText(seriesId);\n\n if (seriesId === 'previous_range') {\n name += ' range';\n }\n\n return name;\n }\n\n private getSeriesYearText(seriesId) {\n let text = '';\n if (seriesId === 'previous_range') {\n if (this.firstPointYear === this.lastPointYear) {\n text = (this.firstPointYear - 5).toString() + '-' + (this.firstPointYear - 1).toString();\n } else {\n text = (this.firstPointYear - 5).toString() + '-' + ((this.firstPointYear - 1)).toString() + '/' + (this.lastPointYear - 5).toString() + '-' + ((this.lastPointYear - 1)).toString();\n }\n } else if (seriesId === 'current') {\n if (this.firstPointYear === this.lastPointYear) {\n text = this.firstPointYear.toString();\n } else {\n text = this.firstPointYear.toString() + '/' + (this.lastPointYear).toString();\n }\n } else if (seriesId === 'previous') {\n if (this.firstPointYear === this.lastPointYear) {\n text = (this.firstPointYear - 1).toString();\n } else {\n text = (this.firstPointYear - 1).toString() + '/' + ((this.lastPointYear - 1)).toString();\n }\n }\n\n return text;\n }\n\n private mapDateToNewdate(array) {\n return array.map(element => {\n element[0] = Utils.dateAsMMMDD(new Date(element[0]));\n return element;\n });\n }\n\n private setupChart() {\n if (this.chartEl && this.chartEl.nativeElement) {\n this.theChart.chart = merge({}, this.theChart.chart, {\n logo: Highcharts.logos.none,\n renderTo: this.chartEl.nativeElement\n });\n\n this._chart = new Highcharts.Chart(this.theChart);\n }\n }\n\n ngOnDestroy() {\n this.subscribe.unsubscribe();\n if (this._chart !== undefined) {\n this._chart.destroy();\n this._chart = undefined;\n }\n }\n\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/share-modules/eia-charts/gas-consumption/gas-consumption.component.ts","
\n

{{mapTitle}} {{currentDate | date : \"longDate\"}}

\n
degrees Fahrenheit
\n
\n \n \n
\n
\n
\n
\n
\n\n\n\n\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/share-modules/eia-charts/map-daily-animation/map-daily-animation.component.html","import {Component, Input, OnInit, OnDestroy} from '@angular/core';\nimport {DashboardService} from \"../../../dashboard/services/dashboard.service\";\nimport {Utils} from \"../../Utils\";\nimport { NouiFormatter} from \"ng2-nouislider\";\n\ndeclare var $: any;\ndeclare var noUiSlider;\n@Component({\n selector: 'app-map-daily-animation',\n templateUrl: './map-daily-animation.component.html',\n styleUrls: ['./map-daily-animation.component.less']\n})\nexport class MapDailyAnimationComponent implements OnInit, OnDestroy {\n\n _map:any;\n subscription:any;\n data:any;\n mappedData:any;\n lastDataDate:any;\n currentDate:Date;\n dataCount:number = 13;\n @Input() mapId;\n @Input() mapTitle;\n currentIteration: number = 13;\n currentDateString:string;\n currentDateDateKey:string;\n disabled:boolean = true;\n highestData: number = -Infinity;\n lowestData: number = Infinity;\n numberOfLegendCategories: any;\n increment: number;\n heatMapColors = [\n {color : '#003c56', label : \"\", lower: '', upper: '', topLabel: \" \"},\n {color : '#006997', label : \"\", lower: '', upper: '' },\n {color : '#0096d7', label : \"\", lower: '', upper: '' },\n {color : '#4db6e3', label : \"\", lower: '', upper: '' },\n {color : '#99d5ef', label : \"\", lower: '', upper: '' },\n {color : '#e5c799', label : \"\", lower: '', upper: '' },\n {color : '#d19d69', label : \"\", lower: '', upper: '' },\n {color : '#bd732a', label : \"\", lower: '', upper: '' },\n {color : '#84511d', label : \"\", lower: '', upper: '' },\n {color : '#4c2e11', label : \"\", lower: '', upper: '', topLabel: \"degrees Fahrenheit\" }\n ];\n incrementsArray: any = [];\n\n constructor(private dashboardService: DashboardService) { }\n\n ngOnInit() {\n\n this.subscription = this.dashboardService.getTemperatureDepartureDailyAnimation().subscribe(\n json => {\n this.data = json;\n }, null, () => {\n let that = this;\n this.numberOfLegendCategories = 10;\n\n for(let date in this.data.data){\n\n //get highest and lowest values\n for(let regionData in that.data.data[date].data){\n this.highestData = Math.max(this.highestData, parseInt(this.data.data[date].data[regionData]));\n this.lowestData = Math.min(this.lowestData, parseInt(this.data.data[date].data[regionData]));\n }\n }\n\n\n let difference = Math.ceil((that.highestData - that.lowestData) / this.numberOfLegendCategories) * this.numberOfLegendCategories;\n\n this.increment = Math.round(difference/this.numberOfLegendCategories);// get distance between numbers\n\n let tempNumber:number = this.lowestData - Math.floor((difference - (that.highestData - that.lowestData)) / 2 );\n this.heatMapColors.forEach(function(elm,index, array) {\n elm.label = tempNumber + '-' + (tempNumber + that.increment - 1);\n elm.lower = tempNumber.toString();\n elm.upper = (tempNumber + that.increment - 1).toString();\n elm.label = elm.lower + '-' + elm.upper;\n tempNumber = tempNumber + that.increment;\n that.incrementsArray.push(tempNumber);\n });\n\n\n that.dataCount = 0;\n\n //put objects in an array so we can sort through them\n for(var prop in that.data.data){\n that.dataCount++;\n }\n this.dataCount--;\n\n this.currentIteration = this.dataCount;\n this.lastDataDate = Utils.oracleDateStringToDate(this.data.date);\n this.currentDate = new Date(this.lastDataDate);\n this.updateCurrentDate();\n\n let map = $('#' + this.mapId).vectorMap({\n map: 'climate-divisions_aea_en',\n backgroundColor: '#ffffff',\n series: {\n regions: [{\n values: this.mappedData,\n attribute : 'fill',\n scale: {\n \"1\":this.heatMapColors[0].color,\n \"2\":this.heatMapColors[1].color,//\"#006997\",\n \"3\":this.heatMapColors[2].color,//\"#0096d7\",\n \"4\":this.heatMapColors[3].color,//\"#4db6e3\",\n \"5\":this.heatMapColors[4].color,//\"#99d5ef\",\n \"6\":this.heatMapColors[5].color,//\"#e5c7aa\",\n \"7\":this.heatMapColors[6].color,//\"#d19d69\",\n \"8\":this.heatMapColors[7].color,//\"#bd732a\",\n \"9\":this.heatMapColors[8].color,//\"#84511d\",\n \"10\":this.heatMapColors[9].color//\"#4c2e11\"\n }\n }]\n },\n onRegionLabelShow: function(e, el, code){\n let currentRegName = el.html().toLowerCase().split(\",\");\n let stateRegName = currentRegName[1].toUpperCase();\n let cityName = currentRegName[0];\n\n el.html('' + cityName + \", \" + stateRegName + '' + ' : ' + that.data.data[that.currentDateDateKey].data[code] + ' ℉') // storage region here\n }\n });\n this._map = map.vectorMap('get', 'mapObject');\n\n // render lines for storage regions\n let storageRegionsPath = document.createElementNS(this._map.canvas.rootElement.node.namespaceURI, \"path\");\n storageRegionsPath.setAttributeNS(null, 'd', this._map.mapData.storagePath);\n storageRegionsPath.setAttributeNS(null, 'fill', 'none');\n storageRegionsPath.setAttributeNS(null, 'stroke', 'white');\n storageRegionsPath.setAttributeNS(null, 'stroke-width', \"5\");\n\n this._map.canvas.rootElement.node.appendChild(storageRegionsPath);\n this.disabled = false;\n });\n }\n\n public iterateMap(iteration) {\n this.currentIteration = iteration;\n this.updateCurrentDate();\n };\n\n private updateCurrentDate() {\n let d = new Date(this.lastDataDate.getTime());\n d.setDate(d.getDate() - (this.dataCount - this.currentIteration));\n this.currentDate = d;\n this.currentDateString = Utils.dateAsDDMMMYY(this.currentDate);\n this.currentDateDateKey = Utils.dateAsOracleDateString(this.currentDate);\n this.generateSingleDayData(this.currentDateDateKey);\n if(this._map) {\n this._map.series.regions[0].setValues(this.mappedData);\n }\n }\n\n private generateSingleDayData(date) {\n this.mappedData = {};\n let singleDayData = this.data.data[date];\n\n for(let code in singleDayData.data) {\n let temperature:number = +singleDayData.data[code];\n\n switch (true) {\n case temperature <= this.incrementsArray[0]:\n this.mappedData[code] = '1';\n break;\n case temperature <= this.incrementsArray[1]:\n this.mappedData[code] = '2';\n break;\n case temperature <= this.incrementsArray[2]:\n this.mappedData[code] = '3';\n break;\n case temperature <= this.incrementsArray[3]:\n this.mappedData[code] = '4';\n break;\n case temperature <= this.incrementsArray[4]:\n this.mappedData[code] = '5';\n break;\n case temperature <= this.incrementsArray[5]:\n this.mappedData[code] = '6';\n break;\n case temperature <= this.incrementsArray[6]:\n this.mappedData[code] = '7';\n break;\n case temperature <= this.incrementsArray[7]:\n this.mappedData[code] = '8';\n break;\n case temperature <= this.incrementsArray[8]:\n this.mappedData[code] = '9';\n break;\n default:\n this.mappedData[code] = '10';\n }\n }\n }\n\n public playDailyAnimation(){\n let that = this;\n // reset to beginning if they hit play when on the last date\n if(this.currentIteration == this.dataCount){\n this.currentIteration = -1;\n }\n\n // Play Interval\n var interval = setInterval( function(e) {\n that.currentIteration++;\n if(that.currentIteration > that.dataCount) {\n stopInterval();\n return;\n }\n\n that.updateCurrentDate();\n }, 1000);\n\n // Stop - Restart Interval\n $('#stopRestart').click(function(){\n clearInterval(interval);\n });\n\n function stopInterval() {\n clearInterval(interval);\n }\n }\n\n ngOnDestroy() {\n this.subscription.unsubscribe();\n if(this._map !== undefined) {\n this._map.remove();\n this._map = undefined;\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/share-modules/eia-charts/map-daily-animation/map-daily-animation.component.ts","
\n
\n\n
\n
{{topLabel}}
\n
\n\n
\n
\n
\n
\n
\n
\n
\n {{item.lower}}\n to \n {{item.upper}}\n
\n
\n
\n
\n
\n\n\n// WEBPACK FOOTER //\n// ./src/app/share-modules/eia-charts/map-legend/map-legend.component.html","import { Component, OnInit, Input } from '@angular/core';\n\n@Component({\n selector: 'app-map-legend',\n templateUrl: './map-legend.component.html',\n styleUrls: ['./map-legend.component.less']\n})\nexport class MapLegendComponent implements OnInit {\n\n @Input() heatMapColors : Array;\n topLabels : Array;\n constructor() { }\n\n ngOnInit() {\n this.topLabels = [];\n\n for(let i = 0; i < this.heatMapColors.length; i++) {\n if(this.heatMapColors[i].topLabel) {\n this.topLabels.push(this.heatMapColors[i].topLabel);\n }\n }\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/share-modules/eia-charts/map-legend/map-legend.component.ts","
\n

{{mapTitle}} {{currentDate | date : \"longDate\"}}

\n
\n
\n
\n
\n\n\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/share-modules/eia-charts/map-temperature-departure-from-normal/map-temperature-departure-from-normal.component.html","import {Component, Input, OnInit, OnDestroy} from '@angular/core';\nimport {DashboardService} from \"../../../dashboard/services/dashboard.service\";\nimport {Utils} from \"../../Utils\";\n\ndeclare var $: any;\n\n@Component({\n selector: 'app-map-temperature-departure-from-normal',\n templateUrl: './map-temperature-departure-from-normal.component.html',\n styleUrls: ['./map-temperature-departure-from-normal.component.less']\n})\nexport class MapTemperatureDepartureFromNormalComponent implements OnInit, OnDestroy {\n\n _map:any;\n subscription:any;\n data:any;\n currentDate:Date;\n mappedData:any;\n tooltipText: string;\n @Input() mapId;\n @Input() mapTitle;\n @Input() dataSet: string; // either 'departure' or 'weekly change'\n @Input() legend: any;\n // heatMapColors = [\n // {color : '#003c56', label : \"<= -20\" , topLabel : '°F below normal', upper: \"<= -20\", lower: \"\"},\n // {color : '#006997', label : \"-19 - -15\" ,lower: \"-19\", upper: \"-15\" },\n // {color : '#0096d7', label : \"-14 to -10\",lower: \"-14\", upper: \"-10\" },\n // {color : '#4db6e3', label : \"-9 to -5\",lower: \"-9\", upper: \"-5\" },\n // {color : '#99d5ef', label : \"-4 to -1\" ,lower: \"-4\", upper: \"-1\"},\n // {color : '#AFAFAF', label : \"0\" , topLabel : 'normal', lower: '', upper: '0' },\n // {color : '#e5c799', label : \"1 to 5\" ,lower: \"1\", upper: \"4\"},\n // {color : '#d19d69', label : \"6 to 10\" ,lower: \"5\", upper: \"9\"},\n // {color : '#bd732a', label : \"11 to 15\" ,lower: \"10\", upper: \"14\"},\n // {color : '#84511d', label : \"16 to 19\" ,lower: \"15\", upper: \"19\"},\n // {color : '#4c2e11', label : \">= 20\" , topLabel : '°F above normal' ,lower: \">= 20\", upper: \"\"}\n // ];\n constructor(private dashboardService: DashboardService) { }\n\n ngOnInit() {\n\n\n //If norm do one thing, if not do other\n if (this.dataSet == 'departure'){\n this.subscription = this.dashboardService.getTemperatureDepartureByClimateDivision().subscribe(\n json =>{\n this.data = json;\n }, null, ()=>{\n this.tooltipText = ' change from 30yr normal';\n this.setupMap();\n }\n )\n }\n else {\n this.dashboardService.getTemperatureDepartureFromPriorWeek().subscribe(\n json =>{\n this.data = json;\n }, null, ()=>{\n this.tooltipText = ' change from prior week';\n this.setupMap();\n }\n )\n }\n }\n\n ngAfterViewInit() {\n\n }\n private setupMap(){\n let that = this;\n this.mappedData = {};\n\n //Current Date\n this.currentDate =\n this.currentDate = Utils.oracleDateStringToDate(this.data.date);\n\n for(var code in this.data.data) {\n var temperature = +this.data.data[code];\n switch(true){\n case temperature <= -20:\n this.mappedData[code] = \"1\";\n break;\n case temperature <= -15:\n this.mappedData[code] = \"2\";\n break;\n case temperature <= -10:\n this.mappedData[code] = \"3\";\n break;\n case temperature <= -5:\n this.mappedData[code] = \"4\";\n break;\n case temperature < 0:\n this.mappedData[code] = \"5\";\n break;\n case temperature == 0:\n this.mappedData[code] = \"6\";\n break;\n case temperature <= 5:\n this.mappedData[code] = \"7\";\n break;\n case temperature <= 10:\n this.mappedData[code] = \"8\";\n break;\n case temperature <= 15:\n this.mappedData[code] = \"9\";\n break;\n case temperature <= 20:\n this.mappedData[code] = \"10\";\n break;\n default :\n this.mappedData[code] = \"11\"\n break;\n }\n }\n let map = $('#' + this.mapId).vectorMap({\n map: 'climate-divisions_aea_en',\n backgroundColor: '#ffffff',\n series: {\n regions: [{\n values: this.mappedData,\n attribute : 'fill',\n scale: {\n \"1\":\"#003c56\",\n \"2\":\"#006997\",\n \"3\":\"#0096d7\",\n \"4\":\"#4db6e3\",\n \"5\":\"#99d5ef\",\n \"6\":\"#afafaf\",\n \"7\":\"#e5c7aa\",\n \"8\":\"#d19d69\",\n \"9\":\"#bd732a\",\n \"10\":\"#84511d\",\n \"11\":\"#4c2e11\"\n }\n }]\n },\n onRegionLabelShow: function(e, el, code){\n let currentRegName = el.html().toLowerCase().split(\", \");\n let stateRegName = currentRegName[1].toUpperCase();\n currentRegName[1] = \" \" + stateRegName;\n\n el.html('' + currentRegName + '' + ' : ' + that.data.data[code] + ' ℉' + that.tooltipText);\n }\n });\n this._map = map.vectorMap('get', 'mapObject');\n\n // render lines for storage regions\n let storageRegionsPath = document.createElementNS(this._map.canvas.rootElement.node.namespaceURI, \"path\");\n storageRegionsPath.setAttributeNS(null, 'd', this._map.mapData.storagePath);\n storageRegionsPath.setAttributeNS(null, 'fill', 'none');\n storageRegionsPath.setAttributeNS(null, 'stroke', 'white');\n storageRegionsPath.setAttributeNS(null, 'stroke-width', \"5\");\n\n this._map.canvas.rootElement.node.appendChild(storageRegionsPath);\n }\n\n ngOnDestroy() {\n if (this.subscription) {\n this.subscription.unsubscribe();\n if (this._map !== undefined) {\n this._map.remove();\n this._map = undefined;\n }\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/share-modules/eia-charts/map-temperature-departure-from-normal/map-temperature-departure-from-normal.component.ts","\n
\n \n \n
\n\n\n// WEBPACK FOOTER //\n// ./src/app/share-modules/eia-charts/nuclear-outages/nuclear-outages.component.html","import {Utils} from \"../../Utils\";\n\ndeclare var Highcharts: any;\nimport { Component, OnInit, OnDestroy } from '@angular/core';\nimport {DashboardService} from \"../../../dashboard/services/dashboard.service\";\nimport { DatePipe} from \"@angular/common\";\n\n@Component({\n selector: 'app-nuclear-outages',\n templateUrl: './nuclear-outages.component.html'\n})\nexport class NuclearOutagesComponent implements OnInit, OnDestroy {\n\n data: any;\n _chartOptions: any;\n displayChart: boolean = false;\n subscription: any;\n currentDateIndex: number = -1;\n currentDay: number = 0;\n constructor(private dashboardService: DashboardService, public datePipe: DatePipe) { }\n\n ngOnInit() {\n let that = this;\n this._chartOptions = {\n chart:{\n logo: Highcharts.logos.none,\n height: 350\n },\n title: {\n text: 'Daily U.S. nuclear outages'\n },\n xAxis : {\n type : 'datetime',\n plotLines: [{\n color : Highcharts.eia_red,\n width : 2,\n value : null,\n label : {\n text : null,\n rotation : 0,\n y : 20,\n x : null,\n align : null\n }\n }],\n showLastLabel : false,\n endOnTick : false\n },\n yAxis : {\n title: {\n text : 'gigawatts (GW)'\n }\n },\n legend: {\n layout: 'horizontal',\n align: 'center',\n verticalAlign: 'bottom'\n },\n tooltip: {\n shared: true,\n formatter: function(){\n var formatter = this;\n\n function checkForData(){\n var toolTipString = '';\n var theDate = that.datePipe.transform(new Date(formatter.x),'MMMM dd', 'UTC'); //Utils.dateAsMMMDD(new Date(formatter.x));\n\n toolTipString += '
' + theDate + '

';\n\n formatter.points.forEach(function(element){\n if(element.series.name.toUpperCase().indexOf('RANGE')>-1){\n toolTipString += '
' + element.series.name.toLowerCase() +': '+ element.point.low + ' to ' + element.point.high + '
';\n }\n else{\n toolTipString += '
'+element.series.name.toLowerCase()+': ' + element.point.y + '

'\n\n }\n });\n return toolTipString;\n }\n return checkForData();\n }\n },\n series: [{\n type: 'line',\n color : Utils.areaPlotColors.current,\n name : null,\n zIndex : 3\n }, {\n type: 'line',\n color : Utils.areaPlotColors.previous,\n name : null,\n zIndex : 2\n }, {\n type: 'arearange',\n color : Utils.areaPlotColors.range,\n lineWidth: 0,\n //fillOpacity: 0.3,\n name : null,\n zIndex : 1\n }\n ],\n credits : {\n enabled : false\n }\n };\n\n this.subscription = this.dashboardService.getNuclearOutages().subscribe(\n json => {\n this.data = json;\n }, null, () =>{\n for(let j = 0; j < this.data.length; j++) {\n this._chartOptions.series[j]['data'] = this.data[j]['data'].sort(function(a,b) {\n return (a[0] < b[0]) ? -1 : ((a[0] > b[0]) ? 1 : 0);\n });\n }\n //check through all of these data.\n // if the date is null check if the previous date is null.\n // If it isnt and that index is higher that the last one then\n\n for(let i = 0; i that.currentDateIndex){\n that.currentDateIndex = i-1;\n that.currentDay = that._chartOptions.series[0].data[i-1][0];\n }\n }\n }\n\n //if nothing fits this criteria, the last item in the array is the current date so set that as the index.\n if(that.currentDateIndex == -1){that.currentDateIndex = this.data[0].data.length - 1;}\n\n //set custom marker for the current date Item\n let tempCurrentDate = Object.assign([],that._chartOptions.series[0].data[that.currentDateIndex]);\n that._chartOptions.series[0].data[that.currentDateIndex] = {\n x: tempCurrentDate[0],\n y: tempCurrentDate[1],\n marker:{\n enabled: true,\n symbol:'circle',\n radius: 4\n }\n };\n\n\n\n // let current_day = null;\n // for(let i = 0; i < this._chartOptions.series[0].data.length; i++) {\n // if(this._chartOptions.series[0].data[i][1] != null) {\n // current_day = this._chartOptions.series[0].data[i][0];\n // }\n // else {\n // break;\n // }\n // }\n // this._chartOptions.xAxis.plotLines[0].value = current_day;\n let current_date = new Date(that.currentDay);\n let current_year = current_date.getUTCFullYear();\n // this._chartOptions.xAxis.plotLines[0].label.text = current_date.getMonth()+1 + '/' + current_date.getDate() + '/' + current_date.getFullYear();\n // this._chartOptions.xAxis.plotLines[0].label.x = current_date.getMonth() >= 6 ? -10 : 10;\n // this._chartOptions.xAxis.plotLines[0].label.align = current_date.getMonth() >= 6 ? 'right' : 'left';\n this._chartOptions.series[0].name = current_year.toString();\n this._chartOptions.series[1].name = (current_year - 1).toString();\n this._chartOptions.series[2].name = (current_year - 5).toString() + '-' + (current_year - 1).toString() + ' range';\n\n this.displayChart = true;\n }\n );\n }\n ngOnDestroy(){\n this.subscription.unsubscribe();\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/share-modules/eia-charts/nuclear-outages/nuclear-outages.component.ts","export const environment = {\n production: true,\n apiUrl: '../dashboard-api',\n isBeta: false\n};\n\n\n\n// WEBPACK FOOTER //\n// ./src/environments/environment.ts","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule);\n\n\n\n// WEBPACK FOOTER //\n// ./src/main.ts"],"sourceRoot":"webpack:///"}