Caso de Uso Deep Learning

Mejorando la predicción médica de casos de neumonía usando Deep Learning

Este artículo supone un caso de aplicación de como aplicar ML a necesidades de uso del mundo de la salud aportando valor en el caso del diagnóstico médico. Utilizando la última tecnología en redes neuronales conseguimos reconocer en una imagen, gracias a un entrenamiento previo, aquello que necesitamos. En este caso de uso identificamos en una radiografía la presencia o no de neumonía. Gracias a la precisión lograda tras los entrenamientos, los resultados superan el 95 por ciento de acierto, consiguiendo identificar infecciones incluso poco evidentes o indetectables para el ojo humano.
Las redes neuronales convolucionales pertenecen al campo de las redes neuronales. Sin embargo, son diferentes al perceptrón multicapa u otras como las redes neuronales recurrentes. Su aplicación se basa en matrices bidimensionales, y son efectivas en aplicaciones de visión artificial, tanto en clasificación como en segmentación.
Desde el punto de vista funcional, las redes neuronales necesitan una gran cantidad de datos para aprender las característica que va a ser predicha: en este caso, la presencia o no de neumonía.

Captura de pantalla 2021 09 15 a las 17.13.05
Captura de pantalla 2021 09 15 a las 17.13.19

Fig1. Ejemplo de imagen del dataset con neumonía Y ejemplo de dataset normal. La radiografía pulmonar con neumonía muestra manchas opacas en la imagen.

El dataset liberado en 2018 por Kermany et al. Cuenta con un muestreo de 5840 imágenes pertenecientes a radiografías pulmonares etiquetadas como diagnóstico de neumonía y radiografía de rayos X sin neumonía. Estas imágenes han sido seleccionadas bajo control de calidad humana y etiquetadas según diagnóstico de un experto antes de ser validadas para ser entrenadas en el sistema.

1- Preparación del dataset

Estos conjuntos de datos se utilizarán en los diferentes procesos de desarrollo del modelo de red neuronal . En la primera etapa de entrenamiento, le mostramos a la IA más de 5.000 imágenes e indicamos si hay o si no hay neumonía. Durante este proceso la red neuronal irá analizando imagen a imagen y encontrando patrones.
Una vez finalizado el entrenamiento, podemos pasar a la etapa de testeo : aplicamos otro conjunto de datos constituido por unas 624 imágenes y nuestra red neuronal podrá comprobar su progreso identificando la enfermedad en las radiografías. Volverá al paso anterior siempre y cuando no haya superado el porcentaje de acierto que le hemos indicado. Cuando consideremos que ha aprendido con éxito, podremos pasar al último paso: validación .En base a 18 imágenes en las que la mitad serán positivas en neumonía y la mitad negativas, obtenemos una métrica de acierto final.

Captura de pantalla 2021 09 15 a las 17.15.48

Fig 2. Fig 2. El dataset se subdivide en conjuntos de Entrenamiento (Train) ,Testeo (Test) y Validation (Validación).

Captura de pantalla 2021 09 15 a las 17.16.47

Fig 3. División del dataset en conjuntos de de entrenamiento, test y validación con los procesos utilizados para cada dataset.

Estos conjuntos de datos se utilizarán en los diferentes procesos de desarrollo del modelo de red neuronal . En la primera etapa de entrenamiento, le mostramos a la IA más de 5.000 imágenes e indicamos si hay o si no hay neumonía. Durante este proceso la red neuronal irá analizando imagen a imagen y encontrando patrones.
Una vez finalizado el entrenamiento, podemos pasar a la etapa de testeo : aplicamos otro conjunto de datos constituido por unas 624 imágenes y nuestra red neuronal podrá comprobar su progreso identificando la enfermedad en las radiografías. Volverá al paso anterior siempre y cuando no haya superado el porcentaje de acierto que le hemos indicado. Cuando consideremos que ha aprendido con éxito, podremos pasar al último paso: validación .En base a 18 imágenes en las que la mitad serán positivas en neumonía y la mitad negativas, obtenemos una métrica de acierto final.

2- Arquitectura del modelo

La arquitectura de redes convolucionales consiste en múltiples capas de filtros convolucionales de varias dimensiones. Como redes de clasificación, al principio se encuentra la fase de extracción de características, realizando una reducción de dimensionalidad progresiva con una última capa de perceptrón para mejorar la clasificación. Las capas de convolución tienen como objetivo aprender las características de la imagen, y las capas finales de perceptrón las clasifican según han sido etiquetadas de forma supervisada por un humano .
Esta tecnología analiza meticulosamente las imágenes que le hemos proporcionado, ampliando progresivamente éstas hasta llegar al píxel, o incluso menos, de modo que el margen de error que deja al haber estudiado miles de, en este caso, radiografías, nos deja porcentajes del 98-99 por ciento de acierto.

Captura de pantalla 2021 09 15 a las 17.19.13

Fig 4.  Esquema de arquitectura de red neuronal convolucional . Las capas convolucionales ayudan con el aprendizaje de características , las capas finales de perceptrón clasifican imagenes con Neumonia.

3- Evaluando la performance del modelo

A la hora de evaluar el rendimiento de la red, nos fijamos en dos funciones que forman un binomio: precisión y pérdida. Para evaluar el correcto entrenamiento debemos observar un comportamiento en el que la precisión sube y la pérdida baja a lo largo del tiempo de entrenamiento.

Captura de pantalla 2021 09 15 a las 17.21.40

Fig 5.  Funciones de pérdida y de precisión que evalúan los datasets de entrenamiento y validación.

Conclusión

En solo 4h de entrenamiento y unas 6 mil imágenes etiquetadas hemos logrado que nuestra red neuronal identifique con gran precisión la presencia de neumonías en las radiografías estudiadas, lo que agilizaría un diagnóstico de la enfermedad y aseguraría que éste fuera preciso más allá de lo que un ojo humano podría detectar, gracias a su entrenamiento en escalas imperceptibles para nosotros.
Para comprobar su efectividad, hemos realizado un experimento con una imagen concreta. El resultado con un 96 por ciento certidumbre nos indica la presencia de neumonía en este paciente.

Captura de pantalla 2021 09 15 a las 17.23.53

¿Buscas soluciones de datos?

apiumhub software development projects barcelona
Secured By miniOrange",e=e.removeChild(e.firstChild)):"string"===typeof n.is?e=s.createElement(i,{is:n.is}):(e=s.createElement(i),"select"===i&&(s=e,n.multiple?s.multiple=!0:n.size&&(s.size=n.size))):e=s.createElementNS(e,i),e[Ea]=t,e[Pa]=n,kl(e,t),t.stateNode=e,s=ia(i,n),i){case"iframe":case"object":case"embed":Wt("load",e),u=n;break;case"video":case"audio":for(u=0;un.tailExpiration&&1t)&&qo.set(e,t))}}function Zo(e,t){e.expirationTime=(e=a>(e=e.nextKnownPendingLevel)?a:e)&&t!==e?0:e}function Qo(e){if(0!==e.lastExpiredTime)e.callbackExpirationTime=1073741823,e.callbackPriority=99,e.callbackNode=Hr($o.bind(null,e));else{var t=Ko(e),a=e.callbackNode;if(0===t)null!==a&&(e.callbackNode=null,e.callbackExpirationTime=0,e.callbackPriority=90);else{var n=Yo();if(1073741823===t?n=99:1===t||2===t?n=95:n=0>=(n=10*(1073741821-t)-10*(1073741821-n))?99:250>=n?98:5250>=n?97:95,null!==a){var r=e.callbackPriority;if(e.callbackExpirationTime===t&&r>=n)return;a!==Rr&&Er(a)}e.callbackExpirationTime=t,e.callbackPriority=n,t=1073741823===t?Hr($o.bind(null,e)):zr(n,Jo.bind(null,e),{timeout:10*(1073741821-t)-kr()}),e.callbackNode=t}}}function Jo(e,t){if(Uo=0,t)return Fs(e,t=Yo()),Qo(e),null;var a=Ko(e);if(0!==a){if(t=e.callbackNode,0!==(48&Eo))throw Error(l(327));if(ms(),e===Po&&a===wo||as(e,a),null!==Co){var n=Eo;Eo|=16;for(var r=rs();;)try{ss();break}catch(s){ns(e,s)}if($r(),Eo=n,yo.current=r,1===Go)throw t=jo,as(e,a),Ds(e,a),Qo(e),t;if(null===Co)switch(r=e.finishedWork=e.current.alternate,e.finishedExpirationTime=a,n=Go,Po=null,n){case bo:case 1:throw Error(l(345));case 2:Fs(e,2=a){e.lastPingedTime=a,as(e,a);break}}if(0!==(i=Ko(e))&&i!==a)break;if(0!==n&&n!==a){e.lastPingedTime=n;break}e.timeoutHandle=ya(ps.bind(null,e),r);break}ps(e);break;case So:if(Ds(e,a),a===(n=e.lastSuspendedTime)&&(e.nextKnownPendingLevel=ds(r)),Do&&(0===(r=e.lastPingedTime)||r>=a)){e.lastPingedTime=a,as(e,a);break}if(0!==(r=Ko(e))&&r!==a)break;if(0!==n&&n!==a){e.lastPingedTime=n;break}if(1073741823!==Oo?n=10*(1073741821-Oo)-kr():1073741823===Ao?n=0:(n=10*(1073741821-Ao)-5e3,0>(n=(r=kr())-n)&&(n=0),(a=10*(1073741821-a)-r)<(n=(120>n?120:480>n?480:1080>n?1080:1920>n?1920:3e3>n?3e3:4320>n?4320:1960*go(n/1960))-n)&&(n=a)),10=(n=0|o.busyMinDurationMs)?n=0:(r=0|o.busyDelayMs,n=(i=kr()-(10*(1073741821-i)-(0|o.timeoutMs||5e3)))<=r?0:r+n-i),10 component higher in the tree to provide a loading indicator or placeholder to display."+ge(l))}5!==Go&&(Go=2),o=Ql(o,l),d=i;do{switch(d.tag){case 3:s=o,d.effectTag|=4096,d.expirationTime=t,ui(d,fo(d,s,t));break e;case 1:s=o;var b=d.type,_=d.stateNode;if(0===(64&d.effectTag)&&("function"===typeof b.getDerivedStateFromError||null!==_&&"function"===typeof _.componentDidCatch&&(null===Io||!Io.has(_)))){d.effectTag|=4096,d.expirationTime=t,ui(d,mo(d,s,t));break e}}d=d.return}while(null!==d)}Co=cs(Co)}catch(S){t=S;continue}break}}function rs(){var e=yo.current;return yo.current=ml,null===e?ml:e}function is(e,t){eRo&&(Ro=e)}function os(){for(;null!==Co;)Co=us(Co)}function ss(){for(;null!==Co&&!Dr();)Co=us(Co)}function us(e){var t=vo(e.alternate,e,wo);return e.memoizedProps=e.pendingProps,null===t&&(t=cs(e)),xo.current=null,t}function cs(e){Co=e;do{var t=Co.alternate;if(e=Co.return,0===(2048&Co.effectTag)){if(t=Zl(t,Co,wo),1===wo||1!==Co.childExpirationTime){for(var a=0,n=Co.child;null!==n;){var r=n.expirationTime,i=n.childExpirationTime;r>a&&(a=r),i>a&&(a=i),n=n.sibling}Co.childExpirationTime=a}if(null!==t)return t;null!==e&&0===(2048&e.effectTag)&&(null===e.firstEffect&&(e.firstEffect=Co.firstEffect),null!==Co.lastEffect&&(null!==e.lastEffect&&(e.lastEffect.nextEffect=Co.firstEffect),e.lastEffect=Co.lastEffect),1(e=e.childExpirationTime)?t:e}function ps(e){var t=Nr();return qr(99,hs.bind(null,e,t)),null}function hs(e,t){do{ms()}while(null!==No);if(0!==(48&Eo))throw Error(l(327));var a=e.finishedWork,n=e.finishedExpirationTime;if(null===a)return null;if(e.finishedWork=null,e.finishedExpirationTime=0,a===e.current)throw Error(l(177));e.callbackNode=null,e.callbackExpirationTime=0,e.callbackPriority=90,e.nextKnownPendingLevel=0;var r=ds(a);if(e.firstPendingTime=r,n<=e.lastSuspendedTime?e.firstSuspendedTime=e.lastSuspendedTime=e.nextKnownPendingLevel=0:n<=e.firstSuspendedTime&&(e.firstSuspendedTime=n-1),n<=e.lastPingedTime&&(e.lastPingedTime=0),n<=e.lastExpiredTime&&(e.lastExpiredTime=0),e===Po&&(Co=Po=null,wo=0),1s&&(c=s,s=o,o=c),c=da(b,o),d=da(b,s),c&&d&&(1!==S.rangeCount||S.anchorNode!==c.node||S.anchorOffset!==c.offset||S.focusNode!==d.node||S.focusOffset!==d.offset)&&((_=_.createRange()).setStart(c.node,c.offset),S.removeAllRanges(),o>s?(S.addRange(_),S.extend(d.node,d.offset)):(_.setEnd(d.node,d.offset),S.addRange(_))))),_=[];for(S=b;S=S.parentNode;)1===S.nodeType&&_.push({element:S,left:S.scrollLeft,top:S.scrollTop});for("function"===typeof b.focus&&b.focus(),b=0;b<_.length;b++)(S=_[b]).element.scrollLeft=S.left,S.element.scrollTop=S.top}Yt=!!fa,ma=fa=null,e.current=a,Fo=r;do{try{for(b=e;null!==Fo;){var E=Fo.effectTag;if(36&E&&ro(b,Fo.alternate,Fo),128&E){_=void 0;var P=Fo.ref;if(null!==P){var C=Fo.stateNode;switch(Fo.tag){case 5:_=C;break;default:_=C}"function"===typeof P?P(_):P.current=_}}Fo=Fo.nextEffect}}catch(w){if(null===Fo)throw Error(l(330));ys(Fo,w),Fo=Fo.nextEffect}}while(null!==Fo);Fo=null,Br(),Eo=i}else e.current=a;if(ko)ko=!1,No=e,Vo=t;else for(Fo=r;null!==Fo;)t=Fo.nextEffect,Fo.nextEffect=null,Fo=t;if(0===(t=e.firstPendingTime)&&(Io=null),1073741823===t?e===Ho?zo++:(zo=0,Ho=e):zo=0,"function"===typeof _s&&_s(a.stateNode,n),Qo(e),To)throw To=!1,e=Lo,Lo=null,e;return 0!==(8&Eo)||Ur(),null}function fs(){for(;null!==Fo;){var e=Fo.effectTag;0!==(256&e)&&to(Fo.alternate,Fo),0===(512&e)||ko||(ko=!0,zr(97,(function(){return ms(),null}))),Fo=Fo.nextEffect}}function ms(){if(90!==Vo){var e=97=a?zl(e,t,a):(ur(Fi,1&Fi.current),null!==(t=Wl(e,t,a))?t.sibling:null);ur(Fi,1&Fi.current);break;case 19:if(n=t.childExpirationTime>=a,0!==(64&e.effectTag)){if(n)return Yl(e,t,a);t.effectTag|=64}if(null!==(r=t.memoizedState)&&(r.rendering=null,r.tail=null),ur(Fi,Fi.current),!n)return null}return Wl(e,t,a)}Al=!1}}else Al=!1;switch(t.expirationTime=0,t.tag){case 2:if(n=t.type,null!==e&&(e.alternate=null,t.alternate=null,t.effectTag|=2),e=t.pendingProps,r=fr(t,dr.current),ai(t,a),r=Wi(null,t,n,e,r,a),t.effectTag|=1,"object"===typeof r&&null!==r&&"function"===typeof r.render&&void 0===r.$$typeof){if(t.tag=1,t.memoizedState=null,t.updateQueue=null,mr(n)){var i=!0;xr(t)}else i=!1;t.memoizedState=null!==r.state&&void 0!==r.state?r.state:null,ii(t);var o=n.getDerivedStateFromProps;"function"===typeof o&&fi(t,n,o,e),r.updater=mi,t.stateNode=r,r._reactInternalFiber=t,xi(t,n,e,a),t=Ll(null,t,n,!0,i,a)}else t.tag=0,Ol(null,t,r,a),t=t.child;return t;case 16:e:{if(r=t.elementType,null!==e&&(e.alternate=null,t.alternate=null,t.effectTag|=2),e=t.pendingProps,function(e){if(-1===e._status){e._status=0;var t=e._ctor;t=t(),e._result=t,t.then((function(t){0===e._status&&(t=t.default,e._status=1,e._result=t)}),(function(t){0===e._status&&(e._status=2,e._result=t)}))}}(r),1!==r._status)throw r._result;switch(r=r._result,t.type=r,i=t.tag=function(e){if("function"===typeof e)return Cs(e)?1:0;if(void 0!==e&&null!==e){if((e=e.$$typeof)===se)return 11;if(e===de)return 14}return 2}(r),e=Xr(r,e),i){case 0:t=Fl(null,t,r,e,a);break e;case 1:t=Tl(null,t,r,e,a);break e;case 11:t=Ml(null,t,r,e,a);break e;case 14:t=Rl(null,t,r,Xr(r.type,e),n,a);break e}throw Error(l(306,r,""))}return t;case 0:return n=t.type,r=t.pendingProps,Fl(e,t,n,r=t.elementType===n?r:Xr(n,r),a);case 1:return n=t.type,r=t.pendingProps,Tl(e,t,n,r=t.elementType===n?r:Xr(n,r),a);case 3:if(Il(t),n=t.updateQueue,null===e||null===n)throw Error(l(282));if(n=t.pendingProps,r=null!==(r=t.memoizedState)?r.element:null,li(e,t),ci(t,n,null,a),(n=t.memoizedState.element)===r)Gl(),t=Wl(e,t,a);else{if((r=t.stateNode.hydrate)&&(bl=ba(t.stateNode.containerInfo.firstChild),xl=t,r=_l=!0),r)for(a=Ci(t,null,n,a),t.child=a;a;)a.effectTag=-3&a.effectTag|1024,a=a.sibling;else Ol(e,t,n,a),Gl();t=t.child}return t;case 5:return Di(t),null===e&&Pl(t),n=t.type,r=t.pendingProps,i=null!==e?e.memoizedProps:null,o=r.children,ga(n,r)?o=null:null!==i&&ga(n,i)&&(t.effectTag|=16),Bl(e,t),4&t.mode&&1!==a&&r.hidden?(t.expirationTime=t.childExpirationTime=1,t=null):(Ol(e,t,o,a),t=t.child),t;case 6:return null===e&&Pl(t),null;case 13:return zl(e,t,a);case 4:return Mi(t,t.stateNode.containerInfo),n=t.pendingProps,null===e?t.child=Pi(t,null,n,a):Ol(e,t,n,a),t.child;case 11:return n=t.type,r=t.pendingProps,Ml(e,t,n,r=t.elementType===n?r:Xr(n,r),a);case 7:return Ol(e,t,t.pendingProps,a),t.child;case 8:case 12:return Ol(e,t,t.pendingProps.children,a),t.child;case 10:e:{n=t.type._context,r=t.pendingProps,o=t.memoizedProps,i=r.value;var s=t.type._context;if(ur(Zr,s._currentValue),s._currentValue=i,null!==o)if(s=o.value,0===(i=Ln(s,i)?0:0|("function"===typeof n._calculateChangedBits?n._calculateChangedBits(s,i):1073741823))){if(o.children===r.children&&!pr.current){t=Wl(e,t,a);break e}}else for(null!==(s=t.child)&&(s.return=t);null!==s;){var u=s.dependencies;if(null!==u){o=s.child;for(var c=u.firstContext;null!==c;){if(c.context===n&&0!==(c.observedBits&i)){1===s.tag&&((c=oi(a,null)).tag=2,si(s,c)),s.expirationTime=t&&e<=t}function Ds(e,t){var a=e.firstSuspendedTime,n=e.lastSuspendedTime;at||0===a)&&(e.lastSuspendedTime=t),t<=e.lastPingedTime&&(e.lastPingedTime=0),t<=e.lastExpiredTime&&(e.lastExpiredTime=0)}function Bs(e,t){t>e.firstPendingTime&&(e.firstPendingTime=t);var a=e.firstSuspendedTime;0!==a&&(t>=a?e.firstSuspendedTime=e.lastSuspendedTime=e.nextKnownPendingLevel=0:t>=e.lastSuspendedTime&&(e.lastSuspendedTime=t+1),t>e.nextKnownPendingLevel&&(e.nextKnownPendingLevel=t))}function Fs(e,t){var a=e.lastExpiredTime;(0===a||a>t)&&(e.lastExpiredTime=t)}function Ts(e,t,a,n){var r=t.current,i=Yo(),o=pi.suspense;i=Wo(i,r,o);e:if(a){t:{if($e(a=a._reactInternalFiber)!==a||1!==a.tag)throw Error(l(170));var s=a;do{switch(s.tag){case 3:s=s.stateNode.context;break t;case 1:if(mr(s.type)){s=s.stateNode.__reactInternalMemoizedMergedChildContext;break t}}s=s.return}while(null!==s);throw Error(l(171))}if(1===a.tag){var u=a.type;if(mr(u)){a=yr(a,u,s);break e}}a=s}else a=cr;return null===t.context?t.context=a:t.pendingContext=a,(t=oi(i,o)).payload={element:e},null!==(n=void 0===n?null:n)&&(t.callback=n),si(r,t),Xo(r,i),i}function Ls(e){if(!(e=e.current).child)return null;switch(e.child.tag){case 5:default:return e.child.stateNode}}function Is(e,t){null!==(e=e.memoizedState)&&null!==e.dehydrated&&e.retryTime=S},o=function(){},t.unstable_forceFrameRate=function(e){0>e||125>>1,r=e[n];if(!(void 0!==r&&0j(l,a))void 0!==s&&0>j(s,l)?(e[n]=s,e[o]=a,n=o):(e[n]=l,e[i]=a,n=i);else{if(!(void 0!==s&&0>j(s,a)))break e;e[n]=s,e[o]=a,n=o}}}return t}return null}function j(e,t){var a=e.sortIndex-t.sortIndex;return 0!==a?a:e.id-t.id}var A=[],O=[],M=1,R=null,D=3,B=!1,F=!1,T=!1;function L(e){for(var t=w(O);null!==t;){if(null===t.callback)G(O);else{if(!(t.startTime<=e))break;G(O),t.sortIndex=t.expirationTime,C(A,t)}t=w(O)}}function I(e){if(T=!1,L(e),!F)if(null!==w(A))F=!0,n(k);else{var t=w(O);null!==t&&r(I,t.startTime-e)}}function k(e,a){F=!1,T&&(T=!1,i()),B=!0;var n=D;try{for(L(a),R=w(A);null!==R&&(!(R.expirationTime>a)||e&&!l());){var o=R.callback;if(null!==o){R.callback=null,D=R.priorityLevel;var s=o(R.expirationTime<=a);a=t.unstable_now(),"function"===typeof s?R.callback=s:R===w(A)&&G(A),L(a)}else G(A);R=w(A)}if(null!==R)var u=!0;else{var c=w(O);null!==c&&r(I,c.startTime-a),u=!1}return u}finally{R=null,D=n,B=!1}}function N(e){switch(e){case 1:return-1;case 2:return 250;case 5:return 1073741823;case 4:return 1e4;default:return 5e3}}var V=o;t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_continueExecution=function(){F||B||(F=!0,n(k))},t.unstable_getCurrentPriorityLevel=function(){return D},t.unstable_getFirstCallbackNode=function(){return w(A)},t.unstable_next=function(e){switch(D){case 1:case 2:case 3:var t=3;break;default:t=D}var a=D;D=t;try{return e()}finally{D=a}},t.unstable_pauseExecution=function(){},t.unstable_requestPaint=V,t.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var a=D;D=e;try{return t()}finally{D=a}},t.unstable_scheduleCallback=function(e,a,l){var o=t.unstable_now();if("object"===typeof l&&null!==l){var s=l.delay;s="number"===typeof s&&0o?(e.sortIndex=s,C(O,e),null===w(A)&&e===w(O)&&(T?i():T=!0,r(I,s-o))):(e.sortIndex=l,C(A,e),F||B||(F=!0,n(k))),e},t.unstable_shouldYield=function(){var e=t.unstable_now();L(e);var a=w(A);return a!==R&&null!==R&&null!==a&&null!==a.callback&&a.startTime<=e&&a.expirationTime1)for(var a=1;a0&&r[r.length-1])&&(6===i[0]||2===i[0])){l=0;continue}if(3===i[0]&&(!r||i[1]>r[0]&&i[1]=2500&&t(new Error("Direflow Error: React & ReactDOM was unable to load")),window.React&&window.ReactDOM&&(clearInterval(n),e()),a+=1}))}))];case 3:return t.sent(),s(),[3,5];case 4:return e=t.sent(),console.error(e.message),[3,5];case 5:return[2]}}))}))}))},function(e,t,a){"use strict";var n=this&&this.__awaiter||function(e,t,a,n){return new(a||(a=Promise))((function(r,i){function l(e){try{s(n.next(e))}catch(t){i(t)}}function o(e){try{s(n.throw(e))}catch(t){i(t)}}function s(e){var t;e.done?r(e.value):(t=e.value,t instanceof a?t:new a((function(e){e(t)}))).then(l,o)}s((n=n.apply(e,t||[])).next())}))},r=this&&this.__generator||function(e,t){var a,n,r,i,l={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return i={next:o(0),throw:o(1),return:o(2)},"function"===typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function o(i){return function(o){return function(i){if(a)throw new TypeError("Generator is already executing.");for(;l;)try{if(a=1,n&&(r=2&i[0]?n.return:i[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,i[1])).done)return r;switch(n=0,r&&(i=[2&i[0],r.value]),i[0]){case 0:case 1:r=i;break;case 4:return l.label++,{value:i[1],done:!1};case 5:l.label++,n=i[1],i=[0];continue;case 7:i=l.ops.pop(),l.trys.pop();continue;default:if(!(r=(r=l.trys).length>0&&r[r.length-1])&&(6===i[0]||2===i[0])){l=0;continue}if(3===i[0]&&(!r||i[1]>r[0]&&i[1]=2500&&t(new Error("Direflow Error: React & ReactDOM was unable to load")),window.React&&window.ReactDOM&&(clearInterval(n),e()),a+=1}))}))];case 3:return t.sent(),s(),[3,5];case 4:return e=t.sent(),console.error(e.message),[3,5];case 5:return[2]}}))}))}))},function(e,t,a){(t=a(34)(!1)).push([e.i,".tooltip {n padding: 12px 0;n}n",""]),e.exports=t},function(e,t,a){"use strict";var n=this&&this.__awaiter||function(e,t,a,n){return new(a||(a=Promise))((function(r,i){function l(e){try{s(n.next(e))}catch(t){i(t)}}function o(e){try{s(n.throw(e))}catch(t){i(t)}}function s(e){var t;e.done?r(e.value):(t=e.value,t instanceof a?t:new a((function(e){e(t)}))).then(l,o)}s((n=n.apply(e,t||[])).next())}))},r=this&&this.__generator||function(e,t){var a,n,r,i,l={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return i={next:o(0),throw:o(1),return:o(2)},"function"===typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function o(i){return function(o){return function(i){if(a)throw new TypeError("Generator is already executing.");for(;l;)try{if(a=1,n&&(r=2&i[0]?n.return:i[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,i[1])).done)return r;switch(n=0,r&&(i=[2&i[0],r.value]),i[0]){case 0:case 1:r=i;break;case 4:return l.label++,{value:i[1],done:!1};case 5:l.label++,n=i[1],i=[0];continue;case 7:i=l.ops.pop(),l.trys.pop();continue;default:if(!(r=(r=l.trys).length>0&&r[r.length-1])&&(6===i[0]||2===i[0])){l=0;continue}if(3===i[0]&&(!r||i[1]>r[0]&&i[1]=2500&&t(new Error("Direflow Error: React & ReactDOM was unable to load")),window.React&&window.ReactDOM&&(clearInterval(n),e()),a+=1}))}))];case 3:return t.sent(),s(),[3,5];case 4:return e=t.sent(),console.error(e.message),[3,5];case 5:return[2]}}))}))}))},function(e,t,a){(t=a(34)(!1)).push([e.i,".legend {n text-align: center;n margin: 0;n margin-top: 8px;n}n",""]),e.exports=t},function(e,t,a){"use strict";var n=this&&this.__awaiter||function(e,t,a,n){return new(a||(a=Promise))((function(r,i){function l(e){try{s(n.next(e))}catch(t){i(t)}}function o(e){try{s(n.throw(e))}catch(t){i(t)}}function s(e){var t;e.done?r(e.value):(t=e.value,t instanceof a?t:new a((function(e){e(t)}))).then(l,o)}s((n=n.apply(e,t||[])).next())}))},r=this&&this.__generator||function(e,t){var a,n,r,i,l={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return i={next:o(0),throw:o(1),return:o(2)},"function"===typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function o(i){return function(o){return function(i){if(a)throw new TypeError("Generator is already executing.");for(;l;)try{if(a=1,n&&(r=2&i[0]?n.return:i[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,i[1])).done)return r;switch(n=0,r&&(i=[2&i[0],r.value]),i[0]){case 0:case 1:r=i;break;case 4:return l.label++,{value:i[1],done:!1};case 5:l.label++,n=i[1],i=[0];continue;case 7:i=l.ops.pop(),l.trys.pop();continue;default:if(!(r=(r=l.trys).length>0&&r[r.length-1])&&(6===i[0]||2===i[0])){l=0;continue}if(3===i[0]&&(!r||i[1]>r[0]&&i[1]=2500&&t(new Error("Direflow Error: React & ReactDOM was unable to load")),window.React&&window.ReactDOM&&(clearInterval(n),e()),a+=1}))}))];case 3:return t.sent(),s(),[3,5];case 4:return e=t.sent(),console.error(e.message),[3,5];case 5:return[2]}}))}))}))},function(e,t,a){var n=a(34),r=a(104);(t=n(!1)).i(r),t.push([e.i,".info {n padding: 6px 8px;n font: 14px/16px Arial, Helvetica, sans-serif;n background: white;n background: rgba(255, 255, 255, 0.8);n box-shadow: 0 0 15px rgba(0, 0, 0, 0.2);n border-radius: 5px;n}n.info h4 {n margin: 0 0 5px;n color: #777;n}n.legend {n text-align: left;n line-height: 18px;n color: #555;n}n.legend i {n width: 18px;n height: 18px;n float: left;n margin-right: 8px;n opacity: 0.7;n}n",""]),e.exports=t},function(e,t,a){"use strict";e.exports=function(e,t){return t||(t={}),"string"!==typeof(e=e&&e.__esModule?e.default:e)?e:(/^['"].*['"]$/.test(e)&&(e=e.slice(1,-1)),t.hash&&(e+=t.hash),/["'() tn]/.test(e)||t.needQuotes?'"'.concat(e.replace(/"/g,'"').replace(/n/g,"n"),'"'):e)}},function(e,t){e.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC"},function(e,t){e.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII="},function(e,t){e.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII="},function(e,t,a){"use strict";var n=this&&this.__awaiter||function(e,t,a,n){return new(a||(a=Promise))((function(r,i){function l(e){try{s(n.next(e))}catch(t){i(t)}}function o(e){try{s(n.throw(e))}catch(t){i(t)}}function s(e){var t;e.done?r(e.value):(t=e.value,t instanceof a?t:new a((function(e){e(t)}))).then(l,o)}s((n=n.apply(e,t||[])).next())}))},r=this&&this.__generator||function(e,t){var a,n,r,i,l={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return i={next:o(0),throw:o(1),return:o(2)},"function"===typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function o(i){return function(o){return function(i){if(a)throw new TypeError("Generator is already executing.");for(;l;)try{if(a=1,n&&(r=2&i[0]?n.return:i[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,i[1])).done)return r;switch(n=0,r&&(i=[2&i[0],r.value]),i[0]){case 0:case 1:r=i;break;case 4:return l.label++,{value:i[1],done:!1};case 5:l.label++,n=i[1],i=[0];continue;case 7:i=l.ops.pop(),l.trys.pop();continue;default:if(!(r=(r=l.trys).length>0&&r[r.length-1])&&(6===i[0]||2===i[0])){l=0;continue}if(3===i[0]&&(!r||i[1]>r[0]&&i[1]=2500&&t(new Error("Direflow Error: React & ReactDOM was unable to load")),window.React&&window.ReactDOM&&(clearInterval(n),e()),a+=1}))}))];case 3:return t.sent(),s(),[3,5];case 4:return e=t.sent(),console.error(e.message),[3,5];case 5:return[2]}}))}))}))},function(e,t,a){"use strict";var n=this&&this.__awaiter||function(e,t,a,n){return new(a||(a=Promise))((function(r,i){function l(e){try{s(n.next(e))}catch(t){i(t)}}function o(e){try{s(n.throw(e))}catch(t){i(t)}}function s(e){var t;e.done?r(e.value):(t=e.value,t instanceof a?t:new a((function(e){e(t)}))).then(l,o)}s((n=n.apply(e,t||[])).next())}))},r=this&&this.__generator||function(e,t){var a,n,r,i,l={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return i={next:o(0),throw:o(1),return:o(2)},"function"===typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function o(i){return function(o){return function(i){if(a)throw new TypeError("Generator is already executing.");for(;l;)try{if(a=1,n&&(r=2&i[0]?n.return:i[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,i[1])).done)return r;switch(n=0,r&&(i=[2&i[0],r.value]),i[0]){case 0:case 1:r=i;break;case 4:return l.label++,{value:i[1],done:!1};case 5:l.label++,n=i[1],i=[0];continue;case 7:i=l.ops.pop(),l.trys.pop();continue;default:if(!(r=(r=l.trys).length>0&&r[r.length-1])&&(6===i[0]||2===i[0])){l=0;continue}if(3===i[0]&&(!r||i[1]>r[0]&&i[1]=2500&&t(new Error("Direflow Error: React & ReactDOM was unable to load")),window.React&&window.ReactDOM&&(clearInterval(n),e()),a+=1}))}))];case 3:return t.sent(),s(),[3,5];case 4:return e=t.sent(),console.error(e.message),[3,5];case 5:return[2]}}))}))}))},function(e,t,a){(t=a(34)(!1)).push([e.i,".title {n padding: 20px;n color: white;n}n",""]),e.exports=t},function(e,t,a){"use strict";var n=this&&this.__awaiter||function(e,t,a,n){return new(a||(a=Promise))((function(r,i){function l(e){try{s(n.next(e))}catch(t){i(t)}}function o(e){try{s(n.throw(e))}catch(t){i(t)}}function s(e){var t;e.done?r(e.value):(t=e.value,t instanceof a?t:new a((function(e){e(t)}))).then(l,o)}s((n=n.apply(e,t||[])).next())}))},r=this&&this.__generator||function(e,t){var a,n,r,i,l={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return i={next:o(0),throw:o(1),return:o(2)},"function"===typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function o(i){return function(o){return function(i){if(a)throw new TypeError("Generator is already executing.");for(;l;)try{if(a=1,n&&(r=2&i[0]?n.return:i[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,i[1])).done)return r;switch(n=0,r&&(i=[2&i[0],r.value]),i[0]){case 0:case 1:r=i;break;case 4:return l.label++,{value:i[1],done:!1};case 5:l.label++,n=i[1],i=[0];continue;case 7:i=l.ops.pop(),l.trys.pop();continue;default:if(!(r=(r=l.trys).length>0&&r[r.length-1])&&(6===i[0]||2===i[0])){l=0;continue}if(3===i[0]&&(!r||i[1]>r[0]&&i[1]=2500&&t(new Error("Direflow Error: React & ReactDOM was unable to load")),window.React&&window.ReactDOM&&(clearInterval(n),e()),a+=1}))}))];case 3:return t.sent(),s(),[3,5];case 4:return e=t.sent(),console.error(e.message),[3,5];case 5:return[2]}}))}))}))},function(e,t,a){(t=a(34)(!1)).push([e.i,".legend {n text-align: center;n margin: 0;n margin-top: 8px;n}n",""]),e.exports=t},function(e,t,a){"use strict";var n=this&&this.__awaiter||function(e,t,a,n){return new(a||(a=Promise))((function(r,i){function l(e){try{s(n.next(e))}catch(t){i(t)}}function o(e){try{s(n.throw(e))}catch(t){i(t)}}function s(e){var t;e.done?r(e.value):(t=e.value,t instanceof a?t:new a((function(e){e(t)}))).then(l,o)}s((n=n.apply(e,t||[])).next())}))},r=this&&this.__generator||function(e,t){var a,n,r,i,l={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return i={next:o(0),throw:o(1),return:o(2)},"function"===typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function o(i){return function(o){return function(i){if(a)throw new TypeError("Generator is already executing.");for(;l;)try{if(a=1,n&&(r=2&i[0]?n.return:i[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,i[1])).done)return r;switch(n=0,r&&(i=[2&i[0],r.value]),i[0]){case 0:case 1:r=i;break;case 4:return l.label++,{value:i[1],done:!1};case 5:l.label++,n=i[1],i=[0];continue;case 7:i=l.ops.pop(),l.trys.pop();continue;default:if(!(r=(r=l.trys).length>0&&r[r.length-1])&&(6===i[0]||2===i[0])){l=0;continue}if(3===i[0]&&(!r||i[1]>r[0]&&i[1]=2500&&t(new Error("Direflow Error: React & ReactDOM was unable to load")),window.React&&window.ReactDOM&&(clearInterval(n),e()),a+=1}))}))];case 3:return t.sent(),s(),[3,5];case 4:return e=t.sent(),console.error(e.message),[3,5];case 5:return[2]}}))}))}))},function(e,t,a){(t=a(34)(!1)).push([e.i,".legend {n text-align: center;n margin: 0;n margin-top: 8px;n}n",""]),e.exports=t},function(e,t,a){"use strict";var n=this&&this.__awaiter||function(e,t,a,n){return new(a||(a=Promise))((function(r,i){function l(e){try{s(n.next(e))}catch(t){i(t)}}function o(e){try{s(n.throw(e))}catch(t){i(t)}}function s(e){var t;e.done?r(e.value):(t=e.value,t instanceof a?t:new a((function(e){e(t)}))).then(l,o)}s((n=n.apply(e,t||[])).next())}))},r=this&&this.__generator||function(e,t){var a,n,r,i,l={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return i={next:o(0),throw:o(1),return:o(2)},"function"===typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function o(i){return function(o){return function(i){if(a)throw new TypeError("Generator is already executing.");for(;l;)try{if(a=1,n&&(r=2&i[0]?n.return:i[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,i[1])).done)return r;switch(n=0,r&&(i=[2&i[0],r.value]),i[0]){case 0:case 1:r=i;break;case 4:return l.label++,{value:i[1],done:!1};case 5:l.label++,n=i[1],i=[0];continue;case 7:i=l.ops.pop(),l.trys.pop();continue;default:if(!(r=(r=l.trys).length>0&&r[r.length-1])&&(6===i[0]||2===i[0])){l=0;continue}if(3===i[0]&&(!r||i[1]>r[0]&&i[1]=2500&&t(new Error("Direflow Error: React & ReactDOM was unable to load")),window.React&&window.ReactDOM&&(clearInterval(n),e()),a+=1}))}))];case 3:return t.sent(),s(),[3,5];case 4:return e=t.sent(),console.error(e.message),[3,5];case 5:return[2]}}))}))}))},function(e,t,a){(t=a(34)(!1)).push([e.i,".title {n padding: 20px;n color: white;n}n",""]),e.exports=t},function(e,t,a){"use strict";var n=this&&this.__awaiter||function(e,t,a,n){return new(a||(a=Promise))((function(r,i){function l(e){try{s(n.next(e))}catch(t){i(t)}}function o(e){try{s(n.throw(e))}catch(t){i(t)}}function s(e){var t;e.done?r(e.value):(t=e.value,t instanceof a?t:new a((function(e){e(t)}))).then(l,o)}s((n=n.apply(e,t||[])).next())}))},r=this&&this.__generator||function(e,t){var a,n,r,i,l={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return i={next:o(0),throw:o(1),return:o(2)},"function"===typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function o(i){return function(o){return function(i){if(a)throw new TypeError("Generator is already executing.");for(;l;)try{if(a=1,n&&(r=2&i[0]?n.return:i[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,i[1])).done)return r;switch(n=0,r&&(i=[2&i[0],r.value]),i[0]){case 0:case 1:r=i;break;case 4:return l.label++,{value:i[1],done:!1};case 5:l.label++,n=i[1],i=[0];continue;case 7:i=l.ops.pop(),l.trys.pop();continue;default:if(!(r=(r=l.trys).length>0&&r[r.length-1])&&(6===i[0]||2===i[0])){l=0;continue}if(3===i[0]&&(!r||i[1]>r[0]&&i[1]=2500&&t(new Error("Direflow Error: React & ReactDOM was unable to load")),window.React&&window.ReactDOM&&(clearInterval(n),e()),a+=1}))}))];case 3:return t.sent(),s(),[3,5];case 4:return e=t.sent(),console.error(e.message),[3,5];case 5:return[2]}}))}))}))},function(e,t,a){(t=a(34)(!1)).push([e.i,".title {n padding: 20px;n color: white;n}n",""]),e.exports=t},function(e,t,a){"use strict";var n=this&&this.__awaiter||function(e,t,a,n){return new(a||(a=Promise))((function(r,i){function l(e){try{s(n.next(e))}catch(t){i(t)}}function o(e){try{s(n.throw(e))}catch(t){i(t)}}function s(e){var t;e.done?r(e.value):(t=e.value,t instanceof a?t:new a((function(e){e(t)}))).then(l,o)}s((n=n.apply(e,t||[])).next())}))},r=this&&this.__generator||function(e,t){var a,n,r,i,l={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return i={next:o(0),throw:o(1),return:o(2)},"function"===typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function o(i){return function(o){return function(i){if(a)throw new TypeError("Generator is already executing.");for(;l;)try{if(a=1,n&&(r=2&i[0]?n.return:i[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,i[1])).done)return r;switch(n=0,r&&(i=[2&i[0],r.value]),i[0]){case 0:case 1:r=i;break;case 4:return l.label++,{value:i[1],done:!1};case 5:l.label++,n=i[1],i=[0];continue;case 7:i=l.ops.pop(),l.trys.pop();continue;default:if(!(r=(r=l.trys).length>0&&r[r.length-1])&&(6===i[0]||2===i[0])){l=0;continue}if(3===i[0]&&(!r||i[1]>r[0]&&i[1]=2500&&t(new Error("Direflow Error: React & ReactDOM was unable to load")),window.React&&window.ReactDOM&&(clearInterval(n),e()),a+=1}))}))];case 3:return t.sent(),s(),[3,5];case 4:return e=t.sent(),console.error(e.message),[3,5];case 5:return[2]}}))}))}))},function(e,t,a){(t=a(34)(!1)).push([e.i,".button {n margin: 0 4px;n border: 0;n outline: 0;n background-color: transparent;n cursor: pointer;n display: inline-flex;n flex-direction: row;n align-items: center;n}nn.button label {n margin-left: 0.5em;n cursor: pointer;n}n",""]),e.exports=t},function(e,t,a){(t=a(34)(!1)).push([e.i,".legend {n text-align: center;n margin: 0;n margin-top: 8px;n}n",""]),e.exports=t},function(e,t,a){"use strict";var n=this&&this.__awaiter||function(e,t,a,n){return new(a||(a=Promise))((function(r,i){function l(e){try{s(n.next(e))}catch(t){i(t)}}function o(e){try{s(n.throw(e))}catch(t){i(t)}}function s(e){var t;e.done?r(e.value):(t=e.value,t instanceof a?t:new a((function(e){e(t)}))).then(l,o)}s((n=n.apply(e,t||[])).next())}))},r=this&&this.__generator||function(e,t){var a,n,r,i,l={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return i={next:o(0),throw:o(1),return:o(2)},"function"===typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function o(i){return function(o){return function(i){if(a)throw new TypeError("Generator is already executing.");for(;l;)try{if(a=1,n&&(r=2&i[0]?n.return:i[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,i[1])).done)return r;switch(n=0,r&&(i=[2&i[0],r.value]),i[0]){case 0:case 1:r=i;break;case 4:return l.label++,{value:i[1],done:!1};case 5:l.label++,n=i[1],i=[0];continue;case 7:i=l.ops.pop(),l.trys.pop();continue;default:if(!(r=(r=l.trys).length>0&&r[r.length-1])&&(6===i[0]||2===i[0])){l=0;continue}if(3===i[0]&&(!r||i[1]>r[0]&&i[1]=2500&&t(new Error("Direflow Error: React & ReactDOM was unable to load")),window.React&&window.ReactDOM&&(clearInterval(n),e()),a+=1}))}))];case 3:return t.sent(),s(),[3,5];case 4:return e=t.sent(),console.error(e.message),[3,5];case 5:return[2]}}))}))}))},function(e,t,a){!function(e){"use strict";var t=L.MarkerClusterGroup=L.FeatureGroup.extend({options:{maxClusterRadius:80,iconCreateFunction:null,clusterPane:L.Marker.prototype.options.pane,spiderfyOnMaxZoom:!0,showCoverageOnHover:!0,zoomToBoundsOnClick:!0,singleMarkerMode:!1,disableClusteringAtZoom:null,removeOutsideVisibleBounds:!0,animate:!0,animateAddingMarkers:!1,spiderfyShapePositions:null,spiderfyDistanceMultiplier:1,spiderLegPolylineOptions:{weight:1.5,color:"#222",opacity:.5},chunkedLoading:!1,chunkInterval:200,chunkDelay:50,chunkProgress:null,polygonOptions:{}},initialize:function(e){L.Util.setOptions(this,e),this.options.iconCreateFunction||(this.options.iconCreateFunction=this._defaultIconCreateFunction),this._featureGroup=L.featureGroup(),this._featureGroup.addEventParent(this),this._nonPointGroup=L.featureGroup(),this._nonPointGroup.addEventParent(this),this._inZoomAnimation=0,this._needsClustering=[],this._needsRemoving=[],this._currentShownBounds=null,this._queue=[],this._childMarkerEventHandlers={dragstart:this._childMarkerDragStart,move:this._childMarkerMoved,dragend:this._childMarkerDragEnd};var t=L.DomUtil.TRANSITION&&this.options.animate;L.extend(this,t?this._withAnimation:this._noAnimation),this._markerCluster=t?L.MarkerCluster:L.MarkerClusterNonAnimated},addLayer:function(e){if(e instanceof L.LayerGroup)return this.addLayers([e]);if(!e.getLatLng)return this._nonPointGroup.addLayer(e),this.fire("layeradd",{layer:e}),this;if(!this._map)return this._needsClustering.push(e),this.fire("layeradd",{layer:e}),this;if(this.hasLayer(e))return this;this._unspiderfy&&this._unspiderfy(),this._addLayer(e,this._maxZoom),this.fire("layeradd",{layer:e}),this._topClusterLevel._recalculateBounds(),this._refreshClustersIcons();var t=e,a=this._zoom;if(e.__parent)for(;t.__parent._zoom>=a;)t=t.__parent;return this._currentShownBounds.contains(t.getLatLng())&&(this.options.animateAddingMarkers?this._animationAddLayer(e,t):this._animationAddLayerNonAnimated(e,t)),this},removeLayer:function(e){return e instanceof L.LayerGroup?this.removeLayers([e]):e.getLatLng?this._map?e.__parent?(this._unspiderfy&&(this._unspiderfy(),this._unspiderfyLayer(e)),this._removeLayer(e,!0),this.fire("layerremove",{layer:e}),this._topClusterLevel._recalculateBounds(),this._refreshClustersIcons(),e.off(this._childMarkerEventHandlers,this),this._featureGroup.hasLayer(e)&&(this._featureGroup.removeLayer(e),e.clusterShow&&e.clusterShow()),this):this:(!this._arraySplice(this._needsClustering,e)&&this.hasLayer(e)&&this._needsRemoving.push({layer:e,latlng:e._latlng}),this.fire("layerremove",{layer:e}),this):(this._nonPointGroup.removeLayer(e),this.fire("layerremove",{layer:e}),this)},addLayers:function(e,t){if(!L.Util.isArray(e))return this.addLayer(e);var a,n=this._featureGroup,r=this._nonPointGroup,i=this.options.chunkedLoading,l=this.options.chunkInterval,o=this.options.chunkProgress,s=e.length,u=0,c=!0;if(this._map){var d=(new Date).getTime(),p=L.bind((function(){var h=(new Date).getTime();for(this._map&&this._unspiderfy&&this._unspiderfy();ul);u++)if((a=e[u])instanceof L.LayerGroup)c&&(e=e.slice(),c=!1),this._extractNonGroupLayers(a,e),s=e.length;else if(a.getLatLng){if(!this.hasLayer(a)&&(this._addLayer(a,this._maxZoom),t||this.fire("layeradd",{layer:a}),a.__parent&&2===a.__parent.getChildCount())){var f=a.__parent.getAllChildMarkers(),m=f[0]===a?f[1]:f[0];n.removeLayer(m)}}else r.addLayer(a),t||this.fire("layeradd",{layer:a});o&&o(u,s,(new Date).getTime()-d),u===s?(this._topClusterLevel._recalculateBounds(),this._refreshClustersIcons(),this._topClusterLevel._recursivelyAddChildrenToMap(null,this._zoom,this._currentShownBounds)):setTimeout(p,this.options.chunkDelay)}),this);p()}else for(var h=this._needsClustering;u=0;t--)e.extend(this._needsClustering[t].getLatLng());return e.extend(this._nonPointGroup.getBounds()),e},eachLayer:function(e,t){var a,n,r,i=this._needsClustering.slice(),l=this._needsRemoving;for(this._topClusterLevel&&this._topClusterLevel.getAllChildMarkers(i),n=i.length-1;n>=0;n--){for(a=!0,r=l.length-1;r>=0;r--)if(l[r].layer===i[n]){a=!1;break}a&&e.call(t,i[n])}this._nonPointGroup.eachLayer(e,t)},getLayers:function(){var e=[];return this.eachLayer((function(t){e.push(t)})),e},getLayer:function(e){var t=null;return e=parseInt(e,10),this.eachLayer((function(a){L.stamp(a)===e&&(t=a)})),t},hasLayer:function(e){if(!e)return!1;var t,a=this._needsClustering;for(t=a.length-1;t>=0;t--)if(a[t]===e)return!0;for(t=(a=this._needsRemoving).length-1;t>=0;t--)if(a[t].layer===e)return!1;return!(!e.__parent||e.__parent._group!==this)||this._nonPointGroup.hasLayer(e)},zoomToShowLayer:function(e,t){var a=this._map;"function"!==typeof t&&(t=function(){});var n=function n(){!a.hasLayer(e)&&!a.hasLayer(e.__parent)||this._inZoomAnimation||(this._map.off("moveend",n,this),this.off("animationend",n,this),a.hasLayer(e)?t():e.__parent._icon&&(this.once("spiderfied",t,this),e.__parent.spiderfy()))};e._icon&&this._map.getBounds().contains(e.getLatLng())?t():e.__parent._zoom=0;a--)if(e[a]===t)return e.splice(a,1),!0},_removeFromGridUnclustered:function(e,t){for(var a=this._map,n=this._gridUnclustered,r=Math.floor(this._map.getMinZoom());t>=r&&n[t].removeObject(e,a.project(e.getLatLng(),t));t--);},_childMarkerDragStart:function(e){e.target.__dragStart=e.target._latlng},_childMarkerMoved:function(e){if(!this._ignoreMove&&!e.target.__dragStart){var t=e.target._popup&&e.target._popup.isOpen();this._moveChild(e.target,e.oldLatLng,e.latlng),t&&e.target.openPopup()}},_moveChild:function(e,t,a){e._latlng=t,this.removeLayer(e),e._latlng=a,this.addLayer(e)},_childMarkerDragEnd:function(e){var t=e.target.__dragStart;delete e.target.__dragStart,t&&this._moveChild(e.target,t,e.target._latlng)},_removeLayer:function(e,t,a){var n=this._gridClusters,r=this._gridUnclustered,i=this._featureGroup,l=this._map,o=Math.floor(this._map.getMinZoom());t&&this._removeFromGridUnclustered(e,this._maxZoom);var s,u=e.__parent,c=u._markers;for(this._arraySplice(c,e);u&&(u._childCount--,u._boundsNeedUpdate=!0,!(u._zoom"+t+"",className:"marker-cluster"+a,iconSize:new L.Point(40,40)})},_bindEvents:function(){var e=this._map,t=this.options.spiderfyOnMaxZoom,a=this.options.showCoverageOnHover,n=this.options.zoomToBoundsOnClick;(t||n)&&this.on("clusterclick",this._zoomOrSpiderfy,this),a&&(this.on("clustermouseover",this._showCoverage,this),this.on("clustermouseout",this._hideCoverage,this),e.on("zoomend",this._hideCoverage,this))},_zoomOrSpiderfy:function(e){for(var t=e.layer,a=t;1===a._childClusters.length;)a=a._childClusters[0];a._zoom===this._maxZoom&&a._childCount===t._childCount&&this.options.spiderfyOnMaxZoom?t.spiderfy():this.options.zoomToBoundsOnClick&&t.zoomToBounds(),e.originalEvent&&13===e.originalEvent.keyCode&&this._map._container.focus()},_showCoverage:function(e){var t=this._map;this._inZoomAnimation||(this._shownPolygon&&t.removeLayer(this._shownPolygon),e.layer.getChildCount()>2&&e.layer!==this._spiderfied&&(this._shownPolygon=new L.Polygon(e.layer.getConvexHull(),this.options.polygonOptions),t.addLayer(this._shownPolygon)))},_hideCoverage:function(){this._shownPolygon&&(this._map.removeLayer(this._shownPolygon),this._shownPolygon=null)},_unbindEvents:function(){var e=this.options.spiderfyOnMaxZoom,t=this.options.showCoverageOnHover,a=this.options.zoomToBoundsOnClick,n=this._map;(e||a)&&this.off("clusterclick",this._zoomOrSpiderfy,this),t&&(this.off("clustermouseover",this._showCoverage,this),this.off("clustermouseout",this._hideCoverage,this),n.off("zoomend",this._hideCoverage,this))},_zoomEnd:function(){this._map&&(this._mergeSplitClusters(),this._zoom=Math.round(this._map._zoom),this._currentShownBounds=this._getExpandedVisibleBounds())},_moveEnd:function(){if(!this._inZoomAnimation){var e=this._getExpandedVisibleBounds();this._topClusterLevel._recursivelyRemoveChildrenFromMap(this._currentShownBounds,Math.floor(this._map.getMinZoom()),this._zoom,e),this._topClusterLevel._recursivelyAddChildrenToMap(null,Math.round(this._map._zoom),e),this._currentShownBounds=e}},_generateInitialClusters:function(){var e=Math.ceil(this._map.getMaxZoom()),t=Math.floor(this._map.getMinZoom()),a=this.options.maxClusterRadius,n=a;"function"!==typeof a&&(n=function(){return a}),null!==this.options.disableClusteringAtZoom&&(e=this.options.disableClusteringAtZoom-1),this._maxZoom=e,this._gridClusters={},this._gridUnclustered={};for(var r=e;r>=t;r--)this._gridClusters[r]=new L.DistanceGrid(n(r)),this._gridUnclustered[r]=new L.DistanceGrid(n(r));this._topClusterLevel=new this._markerCluster(this,t-1)},_addLayer:function(e,t){var a,n,r=this._gridClusters,i=this._gridUnclustered,l=Math.floor(this._map.getMinZoom());for(this.options.singleMarkerMode&&this._overrideMarkerIcon(e),e.on(this._childMarkerEventHandlers,this);t>=l;t--){a=this._map.project(e.getLatLng(),t);var o=r[t].getNearObject(a);if(o)return o._addChild(e),void(e.__parent=o);if(o=i[t].getNearObject(a)){var s=o.__parent;s&&this._removeLayer(o,!1);var u=new this._markerCluster(this,t,o,e);r[t].addObject(u,this._map.project(u._cLatLng,t)),o.__parent=u,e.__parent=u;var c=u;for(n=t-1;n>s._zoom;n--)c=new this._markerCluster(this,n,c),r[n].addObject(c,this._map.project(o.getLatLng(),n));return s._addChild(c),void this._removeFromGridUnclustered(o,t)}i[t].addObject(e,a)}this._topClusterLevel._addChild(e),e.__parent=this._topClusterLevel},_refreshClustersIcons:function(){this._featureGroup.eachLayer((function(e){e instanceof L.MarkerCluster&&e._iconNeedsUpdate&&e._updateIcon()}))},_enqueue:function(e){this._queue.push(e),this._queueTimeout||(this._queueTimeout=setTimeout(L.bind(this._processQueue,this),300))},_processQueue:function(){for(var e=0;ee?(this._animationStart(),this._animationZoomOut(this._zoom,e)):this._moveEnd()},_getExpandedVisibleBounds:function(){return this.options.removeOutsideVisibleBounds?L.Browser.mobile?this._checkBoundsMaxLat(this._map.getBounds()):this._checkBoundsMaxLat(this._map.getBounds().pad(1)):this._mapBoundsInfinite},_checkBoundsMaxLat:function(e){var t=this._maxLat;return void 0!==t&&(e.getNorth()>=t&&(e._northEast.lat=1/0),e.getSouth()<=-t&&(e._southWest.lat=-1/0)),e},_animationAddLayerNonAnimated:function(e,t){if(t===e)this._featureGroup.addLayer(e);else if(2===t._childCount){t._addToMap();var a=t.getAllChildMarkers();this._featureGroup.removeLayer(a[0]),this._featureGroup.removeLayer(a[1])}else t._updateIcon()},_extractNonGroupLayers:function(e,t){var a,n=e.getLayers(),r=0;for(t=t||[];r=0;a--)l=s[a],n.contains(l._latlng)||r.removeLayer(l)})),this._forceLayout(),this._topClusterLevel._recursivelyBecomeVisible(n,t),r.eachLayer((function(e){e instanceof L.MarkerCluster||!e._icon||e.clusterShow()})),this._topClusterLevel._recursively(n,e,t,(function(e){e._recursivelyRestoreChildPositions(t)})),this._ignoreMove=!1,this._enqueue((function(){this._topClusterLevel._recursively(n,e,i,(function(e){r.removeLayer(e),e.clusterShow()})),this._animationEnd()}))},_animationZoomOut:function(e,t){this._animationZoomOutSingle(this._topClusterLevel,e-1,t),this._topClusterLevel._recursivelyAddChildrenToMap(null,t,this._getExpandedVisibleBounds()),this._topClusterLevel._recursivelyRemoveChildrenFromMap(this._currentShownBounds,Math.floor(this._map.getMinZoom()),e,this._getExpandedVisibleBounds())},_animationAddLayer:function(e,t){var a=this,n=this._featureGroup;n.addLayer(e),t!==e&&(t._childCount>2?(t._updateIcon(),this._forceLayout(),this._animationStart(),e._setPos(this._map.latLngToLayerPoint(t.getLatLng())),e.clusterHide(),this._enqueue((function(){n.removeLayer(e),e.clusterShow(),a._animationEnd()}))):(this._forceLayout(),a._animationStart(),a._animationZoomOutSingle(t,this._map.getMaxZoom(),this._zoom)))}},_animationZoomOutSingle:function(e,t,a){var n=this._getExpandedVisibleBounds(),r=Math.floor(this._map.getMinZoom());e._recursivelyAnimateChildrenInAndAddSelfToMap(n,r,t+1,a);var i=this;this._forceLayout(),e._recursivelyBecomeVisible(n,a),this._enqueue((function(){if(1===e._childCount){var l=e._markers[0];this._ignoreMove=!0,l.setLatLng(l.getLatLng()),this._ignoreMove=!1,l.clusterShow&&l.clusterShow()}else e._recursively(n,a,r,(function(e){e._recursivelyRemoveChildrenFromMap(n,r,t+1)}));i._animationEnd()}))},_animationEnd:function(){this._map&&(this._map._mapPane.className=this._map._mapPane.className.replace(" leaflet-cluster-anim","")),this._inZoomAnimation--,this.fire("animationend")},_forceLayout:function(){L.Util.falseFn(document.body.offsetWidth)}}),L.markerClusterGroup=function(e){return new L.MarkerClusterGroup(e)};var a=L.MarkerCluster=L.Marker.extend({options:L.Icon.prototype.options,initialize:function(e,t,a,n){L.Marker.prototype.initialize.call(this,a?a._cLatLng||a.getLatLng():new L.LatLng(0,0),{icon:this,pane:e.options.clusterPane}),this._group=e,this._zoom=t,this._markers=[],this._childClusters=[],this._childCount=0,this._iconNeedsUpdate=!0,this._boundsNeedUpdate=!0,this._bounds=new L.LatLngBounds,a&&this._addChild(a),n&&this._addChild(n)},getAllChildMarkers:function(e,t){e=e||[];for(var a=this._childClusters.length-1;a>=0;a--)this._childClusters[a].getAllChildMarkers(e);for(var n=this._markers.length-1;n>=0;n--)t&&this._markers[n].__dragStart||e.push(this._markers[n]);return e},getChildCount:function(){return this._childCount},zoomToBounds:function(e){for(var t,a=this._childClusters.slice(),n=this._group._map,r=n.getBoundsZoom(this._bounds),i=this._zoom+1,l=n.getZoom();a.length>0&&r>i;){i++;var o=[];for(t=0;ti?this._group._map.setView(this._latlng,i):r<=l?this._group._map.setView(this._latlng,l+1):this._group._map.fitBounds(this._bounds,e)},getBounds:function(){var e=new L.LatLngBounds;return e.extend(this._bounds),e},_updateIcon:function(){this._iconNeedsUpdate=!0,this._icon&&this.setIcon(this)},createIcon:function(){return this._iconNeedsUpdate&&(this._iconObj=this._group.options.iconCreateFunction(this),this._iconNeedsUpdate=!1),this._iconObj.createIcon()},createShadow:function(){return this._iconObj.createShadow()},_addChild:function(e,t){this._iconNeedsUpdate=!0,this._boundsNeedUpdate=!0,this._setClusterCenter(e),e instanceof L.MarkerCluster?(t||(this._childClusters.push(e),e.__parent=this),this._childCount+=e._childCount):(t||this._markers.push(e),this._childCount++),this.__parent&&this.__parent._addChild(e,!0)},_setClusterCenter:function(e){this._cLatLng||(this._cLatLng=e._cLatLng||e._latlng)},_resetBounds:function(){var e=this._bounds;e._southWest&&(e._southWest.lat=1/0,e._southWest.lng=1/0),e._northEast&&(e._northEast.lat=-1/0,e._northEast.lng=-1/0)},_recalculateBounds:function(){var e,t,a,n,r=this._markers,i=this._childClusters,l=0,o=0,s=this._childCount;if(0!==s){for(this._resetBounds(),e=0;e=0;a--)(n=r[a])._icon&&(n._setPos(t),n.clusterHide())}),(function(e){var a,n,r=e._childClusters;for(a=r.length-1;a>=0;a--)(n=r[a])._icon&&(n._setPos(t),n.clusterHide())}))},_recursivelyAnimateChildrenInAndAddSelfToMap:function(e,t,a,n){this._recursively(e,n,t,(function(r){r._recursivelyAnimateChildrenIn(e,r._group._map.latLngToLayerPoint(r.getLatLng()).round(),a),r._isSingleParent()&&a-1===n?(r.clusterShow(),r._recursivelyRemoveChildrenFromMap(e,t,a)):r.clusterHide(),r._addToMap()}))},_recursivelyBecomeVisible:function(e,t){this._recursively(e,this._group._map.getMinZoom(),t,null,(function(e){e.clusterShow()}))},_recursivelyAddChildrenToMap:function(e,t,a){this._recursively(a,this._group._map.getMinZoom()-1,t,(function(n){if(t!==n._zoom)for(var r=n._markers.length-1;r>=0;r--){var i=n._markers[r];a.contains(i._latlng)&&(e&&(i._backupLatlng=i.getLatLng(),i.setLatLng(e),i.clusterHide&&i.clusterHide()),n._group._featureGroup.addLayer(i))}}),(function(t){t._addToMap(e)}))},_recursivelyRestoreChildPositions:function(e){for(var t=this._markers.length-1;t>=0;t--){var a=this._markers[t];a._backupLatlng&&(a.setLatLng(a._backupLatlng),delete a._backupLatlng)}if(e-1===this._zoom)for(var n=this._childClusters.length-1;n>=0;n--)this._childClusters[n]._restorePosition();else for(var r=this._childClusters.length-1;r>=0;r--)this._childClusters[r]._recursivelyRestoreChildPositions(e)},_restorePosition:function(){this._backupLatlng&&(this.setLatLng(this._backupLatlng),delete this._backupLatlng)},_recursivelyRemoveChildrenFromMap:function(e,t,a,n){var r,i;this._recursively(e,t-1,a-1,(function(e){for(i=e._markers.length-1;i>=0;i--)r=e._markers[i],n&&n.contains(r._latlng)||(e._group._featureGroup.removeLayer(r),r.clusterShow&&r.clusterShow())}),(function(e){for(i=e._childClusters.length-1;i>=0;i--)r=e._childClusters[i],n&&n.contains(r._latlng)||(e._group._featureGroup.removeLayer(r),r.clusterShow&&r.clusterShow())}))},_recursively:function(e,t,a,n,r){var i,l,o=this._childClusters,s=this._zoom;if(t<=s&&(n&&n(this),r&&s===a&&r(this)),s=0;i--)(l=o[i])._boundsNeedUpdate&&l._recalculateBounds(),e.intersects(l._bounds)&&l._recursively(e,t,a,n,r)},_isSingleParent:function(){return this._childClusters.length>0&&this._childClusters[0]._childCount===this._childCount}});L.Marker.include({clusterHide:function(){var e=this.options.opacity;return this.setOpacity(0),this.options.opacity=e,this},clusterShow:function(){return this.setOpacity(this.options.opacity)}}),L.DistanceGrid=function(e){this._cellSize=e,this._sqCellSize=e*e,this._grid={},this._objectPoint={}},L.DistanceGrid.prototype={addObject:function(e,t){var a=this._getCoord(t.x),n=this._getCoord(t.y),r=this._grid,i=r[n]=r[n]||{},l=i[a]=i[a]||[],o=L.Util.stamp(e);this._objectPoint[o]=t,l.push(e)},updateObject:function(e,t){this.removeObject(e),this.addObject(e,t)},removeObject:function(e,t){var a,n,r=this._getCoord(t.x),i=this._getCoord(t.y),l=this._grid,o=l[i]=l[i]||{},s=o[r]=o[r]||[];for(delete this._objectPoint[L.Util.stamp(e)],a=0,n=s.length;a=0;a--)n=t[a],(r=this.getDistant(n,e))>0&&(o.push(n),r>i&&(i=r,l=n));return{maxPoint:l,newPoints:o}},buildConvexHull:function(e,t){var a=[],n=this.findMostDistantPointFromBaseLine(e,t);return n.maxPoint?a=(a=a.concat(this.buildConvexHull([e[0],n.maxPoint],n.newPoints))).concat(this.buildConvexHull([n.maxPoint,e[1]],n.newPoints)):[e[0]]},getConvexHull:function(e){var t,a=!1,n=!1,r=!1,i=!1,l=null,o=null,s=null,u=null,c=null,d=null;for(t=e.length-1;t>=0;t--){var p=e[t];(!1===a||p.lat>a)&&(l=p,a=p.lat),(!1===n||p.latr)&&(s=p,r=p.lng),(!1===i||p.lng=0;t--)e=a[t].getLatLng(),n.push(e);return L.QuickHull.getConvexHull(n)}}),L.MarkerCluster.include({_2PI:2*Math.PI,_circleFootSeparation:25,_circleStartAngle:0,_spiralFootSeparation:28,_spiralLengthStart:11,_spiralLengthFactor:5,_circleSpiralSwitchover:9,spiderfy:function(){if(this._group._spiderfied!==this&&!this._group._inZoomAnimation){var e,t=this.getAllChildMarkers(null,!0),a=this._group._map.latLngToLayerPoint(this._latlng);this._group._unspiderfy(),this._group._spiderfied=this,this._group.options.spiderfyShapePositions?e=this._group.options.spiderfyShapePositions(t.length,a):t.length>=this._circleSpiralSwitchover?e=this._generatePointsSpiral(t.length,a):(a.y+=10,e=this._generatePointsCircle(t.length,a)),this._animationSpiderfy(t,e)}},unspiderfy:function(e){this._group._inZoomAnimation||(this._animationUnspiderfy(e),this._group._spiderfied=null)},_generatePointsCircle:function(e,t){var a,n,r=this._group.options.spiderfyDistanceMultiplier*this._circleFootSeparation*(2+e)/this._2PI,i=this._2PI/e,l=[];for(r=Math.max(r,35),l.length=e,a=0;a=0;a--)a=0;t--)e=i[t],r.removeLayer(e),e._preSpiderfyLatlng&&(e.setLatLng(e._preSpiderfyLatlng),delete e._preSpiderfyLatlng),e.setZIndexOffset&&e.setZIndexOffset(0),e._spiderLeg&&(n.removeLayer(e._spiderLeg),delete e._spiderLeg);a.fire("unspiderfied",{cluster:this,markers:i}),a._ignoreMove=!1,a._spiderfied=null}}),L.MarkerClusterNonAnimated=L.MarkerCluster.extend({_animationSpiderfy:function(e,t){var a,n,r,i,l=this._group,o=l._map,s=l._featureGroup,u=this._group.options.spiderLegPolylineOptions;for(l._ignoreMove=!0,a=0;a=0;a--)o=c.layerPointToLatLng(t[a]),(n=e[a])._preSpiderfyLatlng=n._latlng,n.setLatLng(o),n.clusterShow&&n.clusterShow(),f&&((i=(r=n._spiderLeg)._path).style.strokeDashoffset=0,r.setStyle({opacity:v}));this.setOpacity(.3),u._ignoreMove=!1,setTimeout((function(){u._animationEnd(),u.fire("spiderfied",{cluster:s,markers:e})}),200)},_animationUnspiderfy:function(e){var t,a,n,r,i,l,o=this,s=this._group,u=s._map,c=s._featureGroup,d=e?u._latLngToNewLayerPoint(this._latlng,e.zoom,e.center):u.latLngToLayerPoint(this._latlng),p=this.getAllChildMarkers(null,!0),h=L.Path.SVG;for(s._ignoreMove=!0,s._animationStart(),this.setOpacity(1),a=p.length-1;a>=0;a--)(t=p[a])._preSpiderfyLatlng&&(t.closePopup(),t.setLatLng(t._preSpiderfyLatlng),delete t._preSpiderfyLatlng,l=!0,t._setPos&&(t._setPos(d),l=!1),t.clusterHide&&(t.clusterHide(),l=!1),l&&c.removeLayer(t),h&&(i=(r=(n=t._spiderLeg)._path).getTotalLength()+.1,r.style.strokeDashoffset=i,n.setStyle({opacity:0})));s._ignoreMove=!1,setTimeout((function(){var e=0;for(a=p.length-1;a>=0;a--)(t=p[a])._spiderLeg&&e++;for(a=p.length-1;a>=0;a--)(t=p[a])._spiderLeg&&(t.clusterShow&&t.clusterShow(),t.setZIndexOffset&&t.setZIndexOffset(0),e>1&&c.removeLayer(t),u.removeLayer(t._spiderLeg),delete t._spiderLeg);s._animationEnd(),s.fire("unspiderfied",{cluster:o,markers:p})}),200)}}),L.MarkerClusterGroup.include({_spiderfied:null,unspiderfy:function(){this._unspiderfy.apply(this,arguments)},_spiderfierOnAdd:function(){this._map.on("click",this._unspiderfyWrapper,this),this._map.options.zoomAnimation&&this._map.on("zoomstart",this._unspiderfyZoomStart,this),this._map.on("zoomend",this._noanimationUnspiderfy,this),L.Browser.touch||this._map.getRenderer(this)},_spiderfierOnRemove:function(){this._map.off("click",this._unspiderfyWrapper,this),this._map.off("zoomstart",this._unspiderfyZoomStart,this),this._map.off("zoomanim",this._unspiderfyZoomAnim,this),this._map.off("zoomend",this._noanimationUnspiderfy,this),this._noanimationUnspiderfy()},_unspiderfyZoomStart:function(){this._map&&this._map.on("zoomanim",this._unspiderfyZoomAnim,this)},_unspiderfyZoomAnim:function(e){L.DomUtil.hasClass(this._map._mapPane,"leaflet-touching")||(this._map.off("zoomanim",this._unspiderfyZoomAnim,this),this._unspiderfy(e))},_unspiderfyWrapper:function(){this._unspiderfy()},_unspiderfy:function(e){this._spiderfied&&this._spiderfied.unspiderfy(e)},_noanimationUnspiderfy:function(){this._spiderfied&&this._spiderfied._noanimationUnspiderfy()},_unspiderfyLayer:function(e){e._spiderLeg&&(this._featureGroup.removeLayer(e),e.clusterShow&&e.clusterShow(),e.setZIndexOffset&&e.setZIndexOffset(0),this._map.removeLayer(e._spiderLeg),delete e._spiderLeg)}}),L.MarkerClusterGroup.include({refreshClusters:function(e){return e?e instanceof L.MarkerClusterGroup?e=e._topClusterLevel.getAllChildMarkers():e instanceof L.LayerGroup?e=e._layers:e instanceof L.MarkerCluster?e=e.getAllChildMarkers():e instanceof L.Marker&&(e=[e]):e=this._topClusterLevel.getAllChildMarkers(),this._flagParentsIconsNeedUpdate(e),this._refreshClustersIcons(),this.options.singleMarkerMode&&this._refreshSingleMarkerModeMarkers(e),this},_flagParentsIconsNeedUpdate:function(e){var t,a;for(t in e)for(a=e[t].__parent;a;)a._iconNeedsUpdate=!0,a=a.__parent},_refreshSingleMarkerModeMarkers:function(e){var t,a;for(t in e)a=e[t],this.hasLayer(a)&&a.setIcon(this._overrideMarkerIcon(a))}}),L.Marker.include({refreshIconOptions:function(e,t){var a=this.options.icon;return L.setOptions(a,e),this.setIcon(a),t&&this.__parent&&this.__parent._group.refreshClusters(this),this}}),e.MarkerClusterGroup=t,e.MarkerCluster=a,Object.defineProperty(e,"__esModule",{value:!0})}(t)},function(e,t,a){var n=a(34),r=a(104);(t=n(!1)).i(r),t.push([e.i,".legend {n margin: 0;n margin-top: 8px;n text-align: center;n}nn.iconCluster {n overflow: hidden;n background-color: darkgreen;n padding-top: ;n color: white;n border-radius: 9999px;n line-height: 0.75rem;n display: flex;n flex-direction: column;n justify-content: center;n align-items: center;n}n.iconCluster strong {n display: block;n}n.iconCluster span {n display: block;n font-size: 0.8em;n}n",""]),e.exports=t},function(e,t,a){"use strict";var n=this&&this.__awaiter||function(e,t,a,n){return new(a||(a=Promise))((function(r,i){function l(e){try{s(n.next(e))}catch(t){i(t)}}function o(e){try{s(n.throw(e))}catch(t){i(t)}}function s(e){var t;e.done?r(e.value):(t=e.value,t instanceof a?t:new a((function(e){e(t)}))).then(l,o)}s((n=n.apply(e,t||[])).next())}))},r=this&&this.__generator||function(e,t){var a,n,r,i,l={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return i={next:o(0),throw:o(1),return:o(2)},"function"===typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function o(i){return function(o){return function(i){if(a)throw new TypeError("Generator is already executing.");for(;l;)try{if(a=1,n&&(r=2&i[0]?n.return:i[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,i[1])).done)return r;switch(n=0,r&&(i=[2&i[0],r.value]),i[0]){case 0:case 1:r=i;break;case 4:return l.label++,{value:i[1],done:!1};case 5:l.label++,n=i[1],i=[0];continue;case 7:i=l.ops.pop(),l.trys.pop();continue;default:if(!(r=(r=l.trys).length>0&&r[r.length-1])&&(6===i[0]||2===i[0])){l=0;continue}if(3===i[0]&&(!r||i[1]>r[0]&&i[1]=2500&&t(new Error("Direflow Error: React & ReactDOM was unable to load")),window.React&&window.ReactDOM&&(clearInterval(n),e()),a+=1}))}))];case 3:return t.sent(),s(),[3,5];case 4:return e=t.sent(),console.error(e.message),[3,5];case 5:return[2]}}))}))}))},function(e,t,a){"use strict";a.r(t);var n=a(8),r=a(25),i=a.n(r),l=a(44),o=a(20),s=a(2),u=a.n(s),c=a(123),d=a.n(c),p=a(23);function h(e){return"object"==typeof e&&e.length>=0}function f(e,t){return e.map((function(e){return"string"===typeof t?e[t]:t(e)}))}function m(e,t){if(!e)throw new Error("You must pass a first argument.");if(!t)throw new Error("You must pass a second argument.");if(!h(e))throw new Error("The first argument must be an array.");if(!h(t))throw new Error("The second argument must be an array.");var a=[];return t.forEach((function(n){t.forEach((function(t){var r=function(e,t,a){var n=f(e,t),r=f(e,a);return[n,r]}(e,n,t),i={x:n,y:t,data:parseFloat(v(r[0],r[1]).toFixed(2))};a.push(i)}))})),a}function v(e,t){var a=0;e.length==t.length?a=e.length:e.length>t.length?(a=t.length,console.error("x has more items in it, the last "+(e.length-a)+" item(s) will be ignored")):(a=e.length,console.error("y has more items in it, the last "+(t.length-a)+" item(s) will be ignored"));for(var n=[],r=[],i=[],l=0;l{name}
{value}'}),e.point().position("".concat(a,"*").concat(n)).color(t,r.reverse().join("-")).shape("circle").tooltip("".concat(t,"*").concat(a,"*").concat(n),(function(e,t,a){return{name:e,value:t+", "+a}})).style({fillOpacity:.85}),e.legend({layout:"vertical",reversed:!0,padding:[0,0,0,30],position:"right"}),e.interaction("legend-highlight"),e}(a,e.groupBy,e.x,e.y,e.colors);return r.render(),function(){r.destroy()}}),[c]),u.a.createElement(n.b,{styles:d.a},u.a.createElement("div",{style:{width:e.width}},u.a.createElement("div",{ref:t})))};v.defaultProps={width:400,height:800,csvUrl:"./SkillCraft.csv",x:"SelectByHotkeys",y:"APM",groupBy:"LeagueIndex",groupFilter:[3,4,5],colors:m.b};var g=v;t.default=n.a.create({component:g,configuration:{tagname:"scatter-chart"},plugins:[]})},function(e,t,a){"use strict";a.r(t);var n=a(8),r=a(25),i=a.n(r),l=a(44),o=a(20),s=a(2),u=a.n(s),c=a(142),d=a.n(c),p=a(23),h=a(46),f=a(19);var m=a(64),v=a.n(m),g=a(45),y=function(e){var t=Object(s.useRef)(null),a=Object(s.useState)([{x:0,y:0,data:1.2}]),r=Object(o.a)(a,2),c=r[0],m=r[1];return Object(s.useEffect)((function(){(function(){var t=Object(l.a)(i.a.mark((function t(){var a,n,r;return i.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,fetch(e.csvUrl).then((function(e){return e.text()})).then(h.a);case 2:(a=t.sent).shift(),n=new v.a,(r=n.createView().source(a)).transform({type:"bin.histogram",field:e.field,binWidth:e.tickInterval/5,groupBy:[e.groupBy],as:[e.field,"count"]}),m(r.rows);case 8:case"end":return t.stop()}}),t)})));return function(){return t.apply(this,arguments)}})()()}),[]),Object(s.useEffect)((function(){var a=new p.a({container:t.current,width:e.width,height:e.height}),n=c.filter((function(t){return e.groupFilter.includes(t[e.groupBy])}));a.data(n);var r=function(e,t,a,n,r){var i;return e.scale((i={},Object(f.a)(i,a,{tickInterval:r}),Object(f.a)(i,"count",{nice:!1}),i)),e.tooltip({position:"top",shared:!0,showMarkers:!1}),e.interval().position("".concat(a,"*count")).color(t,n.join("-")).adjust("stack"),e.legend({layout:"vertical",reversed:!0,padding:[0,0,0,30],position:"right"}),e.interaction("active-region"),e}(a,e.groupBy,e.field,e.colors,e.tickInterval);return r.render(),function(){r.destroy()}}),[c]),u.a.createElement(n.b,{styles:d.a},u.a.createElement("div",{style:{width:e.width}},u.a.createElement("div",{ref:t})))};y.defaultProps={width:400,height:800,csvUrl:"./SkillCraft.csv",field:"APM",groupBy:"LeagueIndex",groupFilter:[3,4,5],colors:g.b,tickInterval:10};var x=y;t.default=n.a.create({component:x,configuration:{tagname:"stacked-histogram"},plugins:[]})},function(e,t,a){"use strict";a.r(t);var n=a(8),r=a(23),i=a(2),l=a.n(i),o=a(16),s=a(130),u=function(e){var t=Object(i.useRef)(null);return Object(i.useEffect)((function(){var a=new r.a({container:t.current,width:e.width,height:e.height});return a.data(s),a.axis("value",{label:{formatter:function(e){return e.replace(/(d)(?=(?:d{3})+$)/g,"$1.")}}}),a.tooltip({shared:!0,showMarkers:!1}),a.interaction("active-region"),a.interval().adjust("stack").position("time*value").color("type",[o.a[0],o.a[2],o.a[4],o.a[6]]),a.render(),function(){a.destroy()}}),[]),l.a.createElement("div",{style:{width:e.width}},l.a.createElement("div",{ref:t}))};u.defaultProps={width:400,height:400};var c=u;t.default=n.a.create({component:c,configuration:{tagname:"health-betweenthebars"},plugins:[]})},function(e,t,a){"use strict";a.r(t);var n=a(8),r=a(23),i=a(2),l=a.n(i),o=a(131),s=a(132),u=a.n(s),c=a(16),d=function(e){var t=Object(i.useRef)(null);return Object(i.useEffect)((function(){var a=new r.a({container:t.current,width:e.width,height:e.height}),n=o,i=n.values,l=n.index;return a.data(i),a.scale("x",{type:"cat"}),a.scale("y",{type:"cat"}),a.scale("v",{nice:!0}),a.axis("x",{tickLine:null,label:{style:{textAlign:"start",textBaseline:"middle"},offset:5,autoHide:!1,rotate:Math.PI/2},grid:null}),a.axis("y",{tickLine:null,label:{style:{textAlign:"end",textBaseline:"middle"},offset:5,autoHide:!1}}),a.tooltip({showMarkers:!0,shared:!0,customContent:function(e,t){var a,n,r,i=null===(a=t[0])||void 0===a?void 0:a.data;if(!i)return"";var o=null!==(n=l[i.y])&&void 0!==n?n:i.y,s=null!==(r=l[i.x])&&void 0!==r?r:i.x;return"
".concat(o,"
").concat(s,"

").concat(i.v,"
")}}),a.polygon().position("x*y").color("v","".concat(c.a[0],"-").concat(c.a[4],"-").concat(c.a[9])).style({lineWidth:1,stroke:"#fff"}),a.render(),function(){a.destroy()}}),[]),l.a.createElement(n.b,{styles:u.a},l.a.createElement("div",{style:{width:e.width}},l.a.createElement("div",{ref:t})))};d.defaultProps={width:400,height:400};var p=d;t.default=n.a.create({component:p,configuration:{tagname:"health-correlation"},plugins:[]})},function(e,t,a){"use strict";a.r(t);var n=a(8),r=a(23),i=a(2),l=a.n(i),o=a(16),s=a(133),u=a.n(s),c=a(134),d=function(e){var t=Object(i.useRef)(null);return Object(i.useEffect)((function(){var a=new r.a({container:t.current,width:e.width,height:e.height});return a.data(c),a.scale({x:{nice:!0},y:{nice:!0}}),a.axis("x",{title:{text:e.xAxisLabel}}),a.axis("y",{title:{text:e.yAxisLabel}}),a.tooltip({showCrosshairs:!0,shared:!0}),a.legend({flipPage:!1}),a.line().position("x*y").color("country",o.a),a.render(),function(){a.destroy()}}),[]),l.a.createElement(n.b,{styles:u.a},l.a.createElement("div",{style:{width:e.width}},l.a.createElement("div",{ref:t})))};d.defaultProps={width:400,height:400,xAxisLabel:"time from 2020-12-24 to 2021-04-19",yAxisLabel:"number of vaccines administrated"};var p=d;t.default=n.a.create({component:p,configuration:{tagname:"health-line1"},plugins:[]})},function(e,t,a){"use strict";a.r(t);var n=a(8),r=a(20),i=a(26),l=a.n(i),o=a(2),s=a.n(o),u=a(135),c=a.n(u),d=a(89),p=[0,0],h=["#005741","#009570","#00d4a0","#13ffc7","#51ffd6","#90ffe5"];function f(e){return e>50?h[0]:e>40?h[1]:e>30?h[2]:e>20?h[3]:e>10?h[4]:h[5]}var m=function(e){var t=Object(o.useRef)(null);return Object(o.useEffect)((function(){var e=l.a.tileLayer("http://{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}.png",{attribution:'© OpenStreetMap contributors, © CartoDB'}),a=l.a.geoJSON(d,{style:function(e){return{fillColor:f(e.properties.FVH),weight:2,opacity:1,color:"white",dashArray:"3",fillOpacity:.7}}}),n=d.features.map((function(e){var t=e.properties,a=t.c,n=t.name,i=t.GPD,o=Object(r.a)(a,2),s=o[0],u=o[1],c=l.a.circleMarker(new l.a.LatLng(u,s),{radius:4,fillColor:"#009570",stroke:!1,fill:!0,opacity:1,fillOpacity:1});return c.bindPopup("".concat(n,"
GPD Growth rate: ").concat(i)),c})),i=l.a.layerGroup(n),o=l.a.map(t.current,{scrollWheelZoom:!1,layers:[e,a,i]}).setView(p,2),s=l.a.control({position:"bottomright"});return s.onAdd=function(){for(var e,t,a=l.a.DomUtil.create("div","info legend"),n=[0,10,20,30,40,50],r=[],i=0;i '+e+"–"+t);return a.innerHTML=r.join("
"),a},s.addTo(o),function(){o.remove()}}),[]),s.a.createElement(n.b,{styles:c.a},s.a.createElement("div",{style:{width:e.width}},s.a.createElement("div",{ref:t,style:{width:e.width,height:e.height}})))};m.defaultProps={width:400,height:400};var v=m;t.default=n.a.create({component:v,configuration:{tagname:"health-map"},plugins:[]})},function(e,t,a){"use strict";a.r(t);var n=a(8),r=a(19),i=a(48),l=a(64),o=a.n(l),s=a(23),u=a(2),c=a.n(u),d=a(16),p=a(90),h=p.reduce((function(e,t,a){return Object(i.a)(Object(i.a)({},e),{},Object(r.a)({},t.vaccine,d.a[2*a]))}),{}),f=function(e){var t=Object(u.useRef)(null);return Object(u.useEffect)((function(){var a=new s.a({container:t.current,width:e.width,height:e.height}),n=(new o.a).createView();return n.source(p).transform({type:"percent",field:"value",dimension:"vaccine",as:"percent"}),a.data(n.rows),a.coordinate("theta",{radius:.94,innerRadius:.3}),a.interval().adjust("stack").position("percent").color("vaccine",(function(e){return h[e]})).style({stroke:"white",lineWidth:1}).label({fields:["vaccine"],callback:function(){return{content:function(e){return"".concat(e.vaccine," ").concat(Math.floor(1e4*e.percent)/100,"%")}}}}),a.tooltip(!1),a.legend(!1),a.interaction(null),a.render(),function(){a.destroy()}}),[]),c.a.createElement("div",{style:{width:e.width}},c.a.createElement("div",{ref:t}))};f.defaultProps={width:400,height:400};var m=f;t.default=n.a.create({component:m,configuration:{tagname:"health-pie"},plugins:[]})},function(e,t,a){"use strict";a.r(t);var n=a(8),r=a(23),i=a(2),l=a.n(i),o=a(16),s=a(137),u=a.n(s),c=a(138),d=function(e){var t=Object(i.useRef)(null);return Object(i.useEffect)((function(){var a=new r.a({container:t.current,width:e.width,height:e.height});return a.data(c),a.scale({x:{nice:!0},y:{nice:!0}}),a.axis("x",{title:{text:e.xAxisLabel}}),a.axis("y",{title:{text:e.yAxisLabel},label:{formatter:function(e){return e.replace(/(d)(?=(?:d{3})+$)/g,"$1.")}}}),a.tooltip({showCrosshairs:!0,shared:!0}),a.legend({flipPage:!1}),a.line().position("x*y").color("country",o.a),a.render(),function(){a.destroy()}}),[]),l.a.createElement(n.b,{styles:u.a},l.a.createElement("div",{style:{width:e.width}},l.a.createElement("div",{ref:t})))};d.defaultProps={width:400,height:400,xAxisLabel:"time from 2013 to 2020",yAxisLabel:"number of data Suppliers"};var p=d;t.default=n.a.create({component:p,configuration:{tagname:"home-line1"},plugins:[]})},function(e,t,a){"use strict";a.r(t);var n=a(8),r=a(23),i=a(2),l=a.n(i),o=a(16),s=a(139),u=a.n(s),c=a(140),d=function(e){var t=Object(i.useRef)(null);return Object(i.useEffect)((function(){var a=new r.a({container:t.current,width:e.width,height:e.height});return a.data(c),a.scale({x:{nice:!0},y:{nice:!0}}),a.axis("x",{title:{text:e.xAxisLabel}}),a.axis("y",{title:{text:e.yAxisLabel},label:{formatter:function(e){return e.replace(/(d)(?=(?:d{3})+$)/g,"$1.")+"u20ac"}}}),a.tooltip({showCrosshairs:!0,shared:!0}),a.legend({flipPage:!1}),a.line().position("x*y").color("country",o.a),a.render(),function(){a.destroy()}}),[]),l.a.createElement(n.b,{styles:u.a},l.a.createElement("div",{style:{width:e.width}},l.a.createElement("div",{ref:t})))};d.defaultProps={width:400,height:400,xAxisLabel:"time from 2013 to 2020",yAxisLabel:"number of data Suppliers"};var p=d;t.default=n.a.create({component:p,configuration:{tagname:"home-line2"},plugins:[]})},function(e,t,a){"use strict";a.r(t);var n=a(8),r=a(20),i=a(26),l=a.n(i),o=(a(198),a(2)),s=a.n(o),u=a(146),c=a(147),d=a(148),p=a.n(d),h=[41.411,2.1557],f=function(e){var t=Object(o.useRef)(null);return Object(o.useEffect)((function(){var e=l.a.tileLayer("http://{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}.png",{minZoom:12,attribution:'© OpenStreetMap contributors, © CartoDB'}),a=l.a.geoJSON(c,{style:{fillColor:"green",stroke:!0,weight:1,color:"green"}}),n=new l.a.Point(48,48),i=l.a.markerClusterGroup({chunkedLoading:!0,showCoverageOnHover:!1,iconCreateFunction:function(e){var t=e.getAllChildMarkers().reduce((function(e,t){return e+t.feature.properties.price}),0),a=e.getChildCount(),r=t/a;return l.a.divIcon({html:"".concat(a,"").concat(Math.round(r),"u20ac"),className:"iconCluster",iconSize:n})}});u.forEach((function(e){var t=e,a=Object(r.a)(t,4),n=a[0],o=a[1],s=a[2],u=a[3],c=l.a.circleMarker(new l.a.LatLng(n,o),{stroke:!1,fill:!0,fillColor:"green",opacity:1,fillOpacity:1});c.feature={type:"Feature",properties:{price:s},geometry:void 0},c.bindPopup("".concat(u,"
").concat(s,"u20ac")),i.addLayer(c)}));var o=l.a.map(t.current,{layers:[e,a,i],scrollWheelZoom:!1}).setView(h,12);return function(){o.remove()}}),[]),s.a.createElement(n.b,{styles:p.a},s.a.createElement("div",{style:{width:e.width}},s.a.createElement("div",{ref:t,style:{width:e.width,height:e.height}}),s.a.createElement("p",{className:"legend"},e.legend)))};f.defaultProps={legend:"72 districts showing the number of Airbnbs and the median prices",width:400,height:400};var m=f;t.default=n.a.create({component:m,configuration:{tagname:"tourism-map"},plugins:[]})},function(e,t,a){"use strict";a.r(t);var n=a(8),r=a(54),i=a(20),l=a(23),o=a(2),s=a.n(o),u=a(16),c=a(36),d=a(149),p=function(e){var t=Object(o.useRef)(null);return Object(o.useEffect)((function(){var a=d.reduce((function(t,a,n){var l=Object(i.a)(a,3),o=l[0],s=l[1],u=l[2],d=c.a[n].title,p={neigh:d,type:e.entireApartment,value:o},h={neigh:d,type:e.privateRoom,value:s},f={neigh:d,type:e.other,value:u};return[].concat(Object(r.a)(t),[p,h,f])}),[]),n=new l.a({container:t.current,width:e.width,height:e.height});return n.coordinate("polar"),n.data(a),n.scale("value",{nice:!0}),n.axis("neigh",{grid:{alignTick:!1,line:{style:{lineDash:null}}}}),n.axis("value",{line:null,tickLine:null,label:null}),n.tooltip({showMarkers:!0,shared:!0,title:function(t){return e.accommodationsFor.replaceAll("$1","".concat(t))}}),n.interval().position("neigh*value").color("type",[u.a[0],u.a[3],u.a[5]]).adjust([{type:"dodge",marginRatio:1}]),n.legend({padding:[30,0,0,0]}),n.interaction("active-region"),n.render(),function(){n.destroy()}}),[]),s.a.createElement("div",{style:{width:e.width}},s.a.createElement("div",{ref:t,style:{width:e.width}}))};p.defaultProps={accommodationsFor:"Number of accommodations for $1",entireApartment:"Entire Apartment",privateRoom:"Private Room",other:"Other",width:400,height:400};var h=p;t.default=n.a.create({component:h,configuration:{tagname:"tourism-polar"},plugins:[]})},function(e,t,a){"use strict";a.d(t,"a",(function(){return v}));var n,r,i=0,l=0,o=0,s=0,u=0,c=0,d="object"===typeof performance&&performance.now?performance:Date,p="object"===typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function h(){return u||(p(f),u=d.now()+c)}function f(){u=0}function m(){this._call=this._time=this._next=null}function v(e,t,a){var n=new m;return n.restart(e,t,a),n}function g(){u=(s=d.now())+c,i=l=0;try{!function(){h(),++i;for(var e,t=n;t;)(e=u-t._time)>=0&&t._call.call(null,e),t=t._next;--i}()}finally{i=0,function(){var e,t,a=n,i=1/0;for(;a;)a._call?(i>a._time&&(i=a._time),e=a,a=a._next):(t=a._next,a._next=null,a=e?e._next=t:n=t);r=e,x(i)}(),u=0}}function y(){var e=d.now(),t=e-s;t>1e3&&(c-=t,s=e)}function x(e){i||(l&&(l=clearTimeout(l)),e-u>24?(e<1/0&&(l=setTimeout(g,e-d.now()-c)),o&&(o=clearInterval(o))):(o||(s=d.now(),o=setInterval(y,1e3)),i=1,p(g)))}m.prototype=v.prototype={constructor:m,restart:function(e,t,a){if("function"!==typeof e)throw new TypeError("callback is not a function");a=(null==a?h():+a)+(null==t?0:+t),this._next||r===this||(r?r._next=this:n=this,r=this),this._call=e,this._time=a,x()},stop:function(){this._call&&(this._call=null,this._time=1/0,x())}}}]); //# sourceMappingURL=direflowBundle.js.map;