{"version":3,"sources":["../../src/math/MathUtil.js","../../src/math/Span.js","../../src/utils/WebGLUtil.js","../../src/utils/DomUtil.js","../../src/utils/ImgUtil.js","../../src/utils/Util.js","../../src/utils/Puid.js","../../src/core/Pool.js","../../src/debug/Stats.js","../../src/events/EventDispatcher.js","../../src/math/Integration.js","../../src/core/Proton.js","../../src/utils/Rgb.js","../../src/math/ease.js","../../src/math/Vector2D.js","../../src/core/Particle.js","../../src/utils/ColorUtil.js","../../src/math/Polar2D.js","../../src/math/Mat3.js","../../src/math/ArraySpan.js","../../src/math/Rectangle.js","../../src/initialize/Rate.js","../../src/initialize/Initialize.js","../../src/initialize/Life.js","../../src/zone/Zone.js","../../src/zone/PointZone.js","../../src/initialize/Position.js","../../src/initialize/Velocity.js","../../src/initialize/Mass.js","../../src/initialize/Radius.js","../../src/initialize/Body.js","../../src/behaviour/Behaviour.js","../../src/behaviour/Force.js","../../src/behaviour/Attraction.js","../../src/behaviour/RandomDrift.js","../../src/behaviour/Gravity.js","../../src/behaviour/Collision.js","../../src/behaviour/CrossZone.js","../../src/behaviour/Alpha.js","../../src/behaviour/Scale.js","../../src/behaviour/Rotate.js","../../src/behaviour/Color.js","../../src/behaviour/Cyclone.js","../../src/behaviour/Repulsion.js","../../src/behaviour/GravityWell.js","../../src/initialize/InitializeUtil.js","../../src/emitter/Emitter.js","../../src/emitter/BehaviourEmitter.js","../../src/emitter/FollowEmitter.js","../../src/render/BaseRenderer.js","../../src/render/CanvasRenderer.js","../../src/render/DomRenderer.js","../../src/render/EaselRenderer.js","../../src/render/PixelRenderer.js","../../src/render/PixiRenderer.js","../../src/utils/MStack.js","../../src/render/WebGLRenderer.js","../../src/render/CustomRenderer.js","../../src/zone/LineZone.js","../../src/zone/CircleZone.js","../../src/zone/RectZone.js","../../src/zone/ImageZone.js","../../src/debug/Debug.js","../../src/index.js","../node_modules/react/jsx-runtime.js","../node_modules/react/index.js","../../src/RAFManager.js","../node_modules/object-assign/index.js","../node_modules/react-dom/index.js","../../src/utils/Rand.js","../../src/particles/Canvas.jsx","../../src/utils/Color.js","../../src/particles/Ball.jsx","../../src/particles/Color.jsx","../../src/particles/Custom.jsx","../../src/particles/Lines.jsx","../../src/particles/Thick.jsx","../../src/particles/Square.jsx","../../src/particles/Cobweb.jsx","../../src/particles/Circle.jsx","../../src/particles/Tadpole.jsx","../../src/particles/Polygon.jsx","../../src/particles/Fountain.jsx","../node_modules/mortgage-calculator-react/dist/MortgageCalculator.js","../node_modules/react/cjs/react.production.min.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/scheduler/index.js","../node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/react/cjs/react-jsx-runtime.production.min.js"],"names":["PI","MathUtil","num","this","Infinity","a","b","Math","floor","random","center","f","isInt","randomAToB","toString","slice","k","digits","pow","Span","isArray","Util","getRandFromArray","randomFloating","c","pan","getValue","initValue","length","i","tx","ty","angleInRadians","cos","s","sin","sx","sy","a00","a01","a02","a10","a11","a12","a20","a21","a22","b00","b01","b02","b10","b11","b12","b20","b21","b22","id","width","height","position","dom","document","createElement","style","opacity","transform","resize","marginLeft","marginTop","div","x","y","scale","rotate","willChange","css3","key","val","bkey","charAt","toUpperCase","substr","imgsCache","canvasCache","canvasId","context","image","rect","drawImage","imagedata","getImageData","clearRect","img","callback","param","src","Image","onload","e","target","canvas","WebGLUtil","DomUtil","createCanvas","getContext","value","defaults","Object","prototype","call","arr","obj","ignore","indexOf","constructor","args","bind","apply","concat","particle","conf","hasProp","p","v","copy","props","prop","hasOwnProperty","getSpanValue","ImgUtil","destroy","source","assign","idsMap","Puid","type","uid","getIdFromCache","_index","_cache","isBody","isInner","Pool","params","__puid","getId","cache","pop","createOrClone","getCache","push","total","create","classApply","clone","count","Stats","body","add","emitter","getEmitter","renderer","getRenderer","str","proton","emitters","emitSpeed","getEmitterPos","initializes","concatArr","behaviours","name","getCreatedNumber","getCount","pool","container","innerHTML","cssText","join","addEventListener","_this","bg","color","parentNode","appendChild","emitterIndex","renderers","rendererIndex","result","cpool","round","EventDispatcher","listener","_listeners","removeEventListener","splice","listeners","handler","dispatchEvent","hasEventListener","removeAllEventListeners","Integration","particles","time","damping","eulerIntegrate","sleep","old","multiplyScalar","mass","clear","Proton","render","init","index","remove","parent","EMITTER_ADDED","EMITTER_REMOVED","_fps","PROTON_UPDATE","USE_CLOCK","then","Date","getTime","now","elapsed","amendChangeTabsBug","emittersUpdate","DEFAULT_INTERVAL","PROTON_UPDATE_AFTER","_interval","update","destroyAll","destroyOther","getAllParticles","fps","integrationType","stats","EULER","integrator","MEASURE","RK2","PARTICLE_CREATED","PARTICLE_UPDATE","PARTICLE_SLEEP","PARTICLE_DEAD","Rgb","r","g","PI_2","sqrt","ease","easeLinear","Vector2D","atan2","w","addVectors","subVectors","set","divideScalar","distanceToSquared","tha","dx","dy","alpha","Particle","N180_PI","life","age","dead","sprite","energy","radius","rotation","easing","rgb","reset","emptyObject","data","removeAllBehaviours","applyBehaviours","max","applyBehaviour","behaviour","parents","initialize","addBehaviour","emptyArray","setProp","h","hex16","substring","parseInt","rbg","Number","Polar2D","getX","getY","abs","Mat3","mat3","mat","Float32Array","mat1","mat2","m","vec","ArraySpan","_arr","randomColor","toArray","Rectangle","right","bottom","Rate","startTime","nextTime","timePan","numPan","numpan","timepan","setSpanValue","Initialize","Life","lifePan","Zone","vector","crossType","alert","PointZone","error","Position","zone","getPosition","Velocity","rpan","thapan","rPan","thaPan","vr","polar2d","normalizeVelocity","PI_180","Mass","massPan","Radius","oldRadius","Body","imageTarget","Behaviour","getEasing","force","removeBehaviour","Force","fx","fy","normalizeForce","calculate","Attraction","targetPosition","normalizeValue","radiusSq","attractionForce","lengthSq","sub","normalize","RandomDrift","driftX","driftY","delay","panFoce","addXY","Gravity","Collision","collisionPool","delta","overlap","totalMass","averageMass1","averageMass2","distance","newPool","otherParticle","CrossZone","crossing","Alpha","same","alphaA","alphaB","Scale","scaleA","scaleB","Rotate","rotationA","rotationB","getDirection","influence","Color","createArraySpan","colorA","ColorUtil","hexToRgb","colorB","CHANGING","Cyclone","angle","span","String","toLowerCase","setAngleAndForce","cangle","cyclone","gradient","getGradient","Repulsion","GravityWell","centerPoint","distanceVec","factor","distanceSq","bindEmitter","setVectorVal","degreeTransform","Emitter","totalTime","stoped","emitTime","isNaN","rate","oldStoped","oldEmitTime","oldTotalTime","initAll","rest","initializer","arguments","emitting","integrate","dispatch","expire","event","bindEvent","createParticle","get","setupParticle","addBehaviours","stop","removeAllInitializers","removeEmitter","t","BehaviourEmitter","selfBehaviours","FollowEmitter","mousemoveHandler","_this2","mousemove","mousedownHandler","mousedown","mouseupHandler","mouseup","mouseTarget","_allowEmitting","layerX","layerY","offsetX","offsetY","babelHelpers.get","window","initEventHandler","BaseRenderer","thinkness","stroke","_protonUpdateHandler","onProtonUpdate","_protonUpdateAfterHandler","onProtonUpdateAfter","_emitterAddedHandler","onEmitterAdded","_emitterRemovedHandler","onEmitterRemoved","_particleCreatedHandler","onParticleCreated","_particleUpdateHandler","onParticleUpdate","_particleDeadHandler","onParticleDead","element","circleConf","isCircle","initHandler","CanvasRenderer","addImg2Body","drawCircle","bufContext","buffer","createBuffer","globalAlpha","globalCompositeOperation","fillStyle","rgbToHex","fillRect","save","translate","restore","beginPath","arc","strokeStyle","lineWidth","closePath","fill","size","bufferCache","DomRenderer","bodyReady","transform3d","backgroundColor","removeChild","babelHelpers.typeof","createCircle","createSprite","createDiv","borderRadius","borderColor","borderWidth","url","backgroundImage","createBody","EaselRenderer","addChild","scaleX","scaleY","graphics","regX","regY","createjs","Graphics","beginStroke","beginFill","shape","Shape","PixelRenderer","rectangle","imageData","createImageData","putImageData","setPixel","elementwidth","PIXIClass","PixiRenderer","PIXI","Sprite","createFromImage","from","fromImage","blendMode","setColor","tint","getHex16FromParticle","anchor","endFill","setPIXI","MStack","mats","multiply","WebGLRenderer","gl","antialias","stencil","depth","initVar","setMaxRadius","initShaders","initBuffers","blendEquation","FUNC_ADD","blendFunc","SRC_ALPHA","ONE_MINUS_SRC_ALPHA","enable","BLEND","CustomRenderer","umat","smat","mstack","viewport","circleCanvasURL","texturebuffers","A","B","fs","VERTEX_SHADER","shader","createShader","FRAGMENT_SHADER","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","getShaderInfoLog","fragmentShader","getShader","getFragmentShader","vertexShader","getVertexShader","sprogram","createProgram","attachShader","linkProgram","getProgramParameter","LINK_STATUS","useProgram","vpa","getAttribLocation","tca","enableVertexAttribArray","tMatUniform","getUniformLocation","samplerUniform","useTex","uniform1i","idx","unitIBuffer","bindBuffer","ELEMENT_ARRAY_BUFFER","bufferData","Uint16Array","STATIC_DRAW","ids","unitI33","stripBuffer","raidus","circleCanvasRadius","toDataURL","_w","_h","_width","_height","_scaleX","_scaleY","createTexture","texture","vcBuffer","tcBuffer","ARRAY_BUFFER","bindTexture","TEXTURE_2D","texImage2D","RGBA","UNSIGNED_BYTE","texParameteri","TEXTURE_MAG_FILTER","LINEAR","TEXTURE_MIN_FILTER","LINEAR_MIPMAP_NEAREST","generateMipmap","textureLoaded","textureWidth","textureHeight","tmat","imat","oldScale","drawImg2Canvas","updateMatrix","uniform3f","uniformMatrix3fv","top","vertexAttribPointer","FLOAT","drawElements","TRIANGLES","UNSIGNED_SHORT","moveOriginMatrix","translationMatrix","angel","rotationMatrix","scaleMatrix","matrix","inverse","LineZone","x1","y1","dot","xxyy","tha2","oldx","oldy","maxx","minx","maxy","miny","direction","rangeOut","getDistance","getSymmetric","x2","y2","min","getLength","CircleZone","PIx2","randomRadius","d","distanceTo","RectZone","ImageZone","vectors","setVectors","j","length1","length2","getBound","negate","func","getStyle","moveTo","lineTo","drawRect","Vector","Polar","getSpan","Init","L","P","V","M","R","F","RD","G","S","WebGlRenderer","Debug","module","exports","require","vendors","requestAnimationFrame","cancelAnimationFrame","aniData","n","animations","start","getIndex","deleteMap","state","tick","timer","getOwnPropertySymbols","propIsEnumerable","propertyIsEnumerable","toObject","undefined","TypeError","test1","getOwnPropertyNames","test2","fromCharCode","map","test3","split","forEach","letter","keys","err","shouldUseNative","symbols","to","checkDCE","__REACT_DEVTOOLS_GLOBAL_HOOK__","console","Rand","list","probability","calculation","Canvas","_iid","_oid","canvasRef","React","createRef","setTimeout","initCanvas","getCanvas","onCanvasDidMount","setCanvasSize","heartbeatDetectionCanvasSize","onCanvasInited","current","setInterval","clientHeight","onResize","clientWidth","onMouseDown","className","handleMouseDown","Component","getColor","hex","exec","Ball","renderProton","createProton","createMiniEmitter","addInitialize","customDeadBehaviour","emit","addEmitter","addRenderer","miniEmitteing","miniEmitter","radiusInitialize","colorBehaviour","colors","easeOutCubic","crossZoneBehaviour","defaultVal","config","Array","getProp","rps","getArrProp","cross","emitterV","pos","createRenderer","onUpdate","operation","Lines","mouseObj","attractionBehaviour","Thick","hue","colorTemplate","repulsion","attraction","begin","replace","Square","preEmit","Cobweb","pointZone","pA","pB","dis","Circle","Tadpole","mouseInfo","points","fillPointsData","unshift","drawTadpoleHead","drawTadpoleTail","l","linearEvaluation","COLOR","Polygon","createEmitter","drawPolygon","mainEmitter","once","gravity","completed","radiusInit","emitterCount","Fountain","createCustomBehaviour","ParticlesBg","getResult","Custom","getRandom","getBgParticles","Fragment","factory","modules","installedModules","__webpack_require__","moduleId","getter","o","defineProperty","enumerable","Symbol","toStringTag","mode","__esModule","ns","object","property","eval","0","StrictMode","Profiler","q","Suspense","u","for","iterator","z","encodeURIComponent","isMounted","enqueueForceUpdate","enqueueReplaceState","enqueueSetState","C","refs","updater","D","E","isReactComponent","setState","Error","forceUpdate","isPureReactComponent","H","I","ref","__self","__source","J","children","defaultProps","$$typeof","_owner","N","escape","O","K","next","done","Q","_status","_result","default","T","ReactCurrentDispatcher","ReactCurrentBatchConfig","transition","ReactCurrentOwner","IsSomeRendererActing","Children","only","PureComponent","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","cloneElement","createContext","_calculateChangedBits","_currentValue","_currentValue2","_threadCount","Provider","Consumer","_context","createFactory","forwardRef","isValidElement","lazy","_payload","_init","memo","compare","useCallback","useContext","useDebugValue","useEffect","useImperativeHandle","useLayoutEffect","useMemo","useReducer","useRef","useState","version","aa","ba","Set","ca","da","ea","fa","ha","ia","ja","ka","acceptsBooleans","attributeName","attributeNamespace","mustUseProperty","propertyName","sanitizeURL","removeEmptyString","oa","pa","qa","ma","na","test","la","removeAttribute","setAttribute","setAttributeNS","xlinkHref","ra","sa","ta","ua","wa","xa","ya","za","Aa","Ba","Ca","Da","Ea","Fa","Ga","Ha","Ia","Ja","Ma","Ka","La","Na","stack","trim","match","Oa","Pa","prepareStackTrace","Reflect","construct","displayName","Qa","tag","_render","Ra","Sa","Ta","nodeName","Va","_valueTracker","getOwnPropertyDescriptor","configurable","setValue","stopTracking","Ua","Wa","checked","Xa","activeElement","Ya","defaultChecked","defaultValue","_wrapperState","initialChecked","Za","initialValue","controlled","$a","ab","bb","cb","ownerDocument","eb","db","fb","options","selected","defaultSelected","disabled","gb","dangerouslySetInnerHTML","hb","ib","jb","textContent","kb","lb","mb","nb","ob","namespaceURI","valueOf","firstChild","MSApp","execUnsafeLocalFunction","pb","lastChild","nodeType","nodeValue","qb","animationIterationCount","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridArea","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","fontWeight","lineClamp","lineHeight","order","orphans","tabSize","widows","zIndex","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","rb","sb","tb","setProperty","ub","menuitem","area","base","br","col","embed","hr","input","keygen","link","meta","track","wbr","vb","wb","is","xb","srcElement","correspondingUseElement","yb","zb","Ab","Bb","Cb","stateNode","Db","Eb","Fb","Gb","Hb","Ib","Jb","Kb","Lb","Mb","Ob","Pb","Qb","Rb","onError","Sb","Tb","Ub","Vb","Wb","Xb","Zb","alternate","return","flags","$b","memoizedState","dehydrated","ac","cc","child","sibling","bc","dc","ec","fc","gc","hc","ic","jc","kc","lc","mc","nc","Map","oc","pc","qc","rc","blockedOn","domEventName","eventSystemFlags","nativeEvent","targetContainers","sc","delete","pointerId","tc","vc","wc","lanePriority","unstable_runWithPriority","priority","hydrate","containerInfo","xc","yc","shift","zc","Ac","Bc","unstable_scheduleCallback","unstable_NormalPriority","Cc","Dc","Ec","animationend","animationiteration","animationstart","transitionend","Fc","Gc","Hc","animation","Ic","Jc","Kc","Lc","Mc","Nc","Oc","Pc","Qc","unstable_now","Rc","Uc","pendingLanes","expiredLanes","suspendedLanes","pingedLanes","Vc","entangledLanes","entanglements","Wc","Xc","Yc","Zc","$c","eventTimes","clz32","bd","cd","log","LN2","dd","unstable_UserBlockingPriority","ed","fd","gd","hd","uc","jd","kd","ld","md","nd","od","keyCode","charCode","pd","qd","rd","_reactName","_targetInst","currentTarget","isDefaultPrevented","defaultPrevented","returnValue","isPropagationStopped","preventDefault","stopPropagation","cancelBubble","persist","isPersistent","wd","xd","yd","sd","eventPhase","bubbles","cancelable","timeStamp","isTrusted","td","ud","view","detail","vd","Ad","screenX","screenY","clientX","clientY","pageX","pageY","ctrlKey","shiftKey","altKey","metaKey","getModifierState","zd","button","buttons","relatedTarget","fromElement","toElement","movementX","movementY","Bd","Dd","dataTransfer","Fd","Hd","animationName","elapsedTime","pseudoElement","Jd","clipboardData","Ld","Md","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Apps","Scroll","MozPrintableKey","Nd","8","9","12","13","16","17","18","19","20","27","32","33","34","35","36","37","38","39","40","45","46","112","113","114","115","116","117","118","119","120","121","122","123","144","145","224","Od","Alt","Control","Meta","Shift","Pd","Rd","code","location","repeat","locale","which","Td","pressure","tangentialPressure","tiltX","tiltY","twist","pointerType","isPrimary","Vd","touches","targetTouches","changedTouches","Xd","Zd","deltaX","wheelDeltaX","deltaY","wheelDeltaY","wheelDelta","deltaZ","deltaMode","$d","ae","be","documentMode","ce","de","ee","fe","ge","he","ie","le","date","datetime","email","month","number","password","range","search","tel","text","week","me","ne","oe","pe","qe","re","se","te","ue","ve","we","xe","ye","ze","oninput","Ae","detachEvent","Be","Ce","attachEvent","De","Ee","Fe","He","Ie","Je","Ke","Le","node","offset","nextSibling","Me","contains","compareDocumentPosition","Ne","HTMLIFrameElement","contentWindow","href","Oe","contentEditable","Pe","Qe","Re","Se","Te","Ue","selectionStart","end","selectionEnd","anchorNode","defaultView","getSelection","anchorOffset","focusNode","focusOffset","Ve","We","Xe","Ye","Ze","Yb","instance","$e","has","af","bf","cf","df","capture","passive","Nb","ef","ff","parentWindow","gf","hf","je","char","ke","jf","kf","lf","mf","autoFocus","nf","__html","of","pf","clearTimeout","qf","rf","sf","previousSibling","tf","vf","wf","xf","yf","zf","Af","Bf","Cf","Df","Ef","contextTypes","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","Ff","childContextTypes","Gf","Hf","If","getChildContext","Jf","__reactInternalMemoizedMergedChildContext","Kf","Lf","Mf","Nf","Of","Pf","unstable_cancelCallback","Qf","unstable_shouldYield","Rf","unstable_requestPaint","Sf","Tf","unstable_getCurrentPriorityLevel","Uf","unstable_ImmediatePriority","Vf","Wf","Xf","unstable_LowPriority","Yf","unstable_IdlePriority","Zf","$f","ag","cg","dg","eg","fg","gg","hg","ig","jg","kg","lg","mg","ng","og","pg","qg","rg","sg","childLanes","tg","dependencies","firstContext","lanes","ug","vg","observedBits","responders","wg","xg","updateQueue","baseState","firstBaseUpdate","lastBaseUpdate","shared","pending","effects","yg","zg","eventTime","lane","payload","Ag","Bg","Cg","Dg","Eg","Fg","Gg","Kg","_reactInternals","Hg","Ig","Jg","Lg","shouldComponentUpdate","Mg","contextType","Ng","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","Og","getDerivedStateFromProps","getSnapshotBeforeUpdate","UNSAFE_componentWillMount","componentWillMount","componentDidMount","Pg","Qg","_stringRef","Rg","Sg","lastEffect","nextEffect","firstEffect","Tg","Ug","elementType","Vg","implementation","Wg","Xg","Yg","Zg","$g","ah","bh","ch","dh","eh","documentElement","tagName","fh","gh","hh","ih","memoizedProps","revealOrder","jh","kh","lh","mh","nh","oh","pendingProps","ph","qh","rh","sh","th","uh","_workInProgressVersionPrimary","vh","wh","xh","yh","zh","Ah","Bh","Ch","Dh","Eh","Fh","Gh","Hh","baseQueue","queue","Ih","Jh","Kh","lastRenderedReducer","action","eagerReducer","eagerState","lastRenderedState","Lh","Mh","_getVersion","_source","mutableReadLanes","Nh","U","getSnapshot","subscribe","setSnapshot","Oh","Ph","Qh","Rh","deps","Sh","Th","Uh","Vh","Wh","Xh","Yh","Zh","$h","ai","bi","ci","di","readContext","useDeferredValue","useTransition","useMutableSource","useOpaqueIdentifier","unstable_isNewReconciler","uf","ei","fi","gi","hi","ii","ji","ki","li","mi","baseLanes","ni","oi","pi","UNSAFE_componentWillUpdate","componentWillUpdate","componentDidUpdate","qi","getDerivedStateFromError","ri","pendingContext","Bi","Di","Ei","si","retryLane","ti","fallback","unstable_avoidThisFallback","ui","unstable_expectedLoadTime","vi","wi","xi","yi","zi","isBackwards","rendering","renderingStartTime","last","tail","tailMode","Ai","Fi","Gi","wasMultiple","multiple","onClick","onclick","createElementNS","createTextNode","Hi","Ii","W","Ji","Ki","Li","Mi","message","Ni","Oi","WeakMap","Pi","Qi","Ri","Si","componentDidCatch","Ti","componentStack","Ui","WeakSet","Vi","Wi","Xi","__reactInternalSnapshotBeforeUpdate","Yi","Zi","$i","focus","aj","display","bj","onCommitFiberUnmount","componentWillUnmount","cj","dj","ej","fj","gj","hj","insertBefore","_reactRootContainer","ij","jj","kj","lj","mj","nj","ceil","oj","pj","X","Y","qj","rj","sj","tj","uj","vj","wj","ck","Z","xj","yj","zj","Aj","Bj","Cj","Dj","Ej","Fj","Gj","Hj","Ij","Jj","Sc","Kj","Lj","Mj","callbackNode","expirationTimes","callbackPriority","Tc","Nj","Oj","Pj","Qj","Rj","Sj","Tj","finishedWork","finishedLanes","Uj","timeoutHandle","Wj","Xj","pingCache","Yj","Zj","va","ak","bk","dk","rangeCount","focusedElem","selectionRange","ek","extend","createRange","setStart","removeAllRanges","addRange","setEnd","left","scrollLeft","scrollTop","onCommitFiberRoot","fk","gk","ik","pendingChildren","jk","mutableSourceEagerHydrationData","kk","lk","mk","nk","ok","qk","hydrationOptions","mutableSources","_internalRoot","rk","tk","hasAttribute","sk","uk","hk","unstable_observedBits","unmount","querySelectorAll","JSON","stringify","form","Vj","vk","Events","wk","findFiberByHostInstance","bundleType","rendererPackageName","xk","rendererConfig","overrideHookState","overrideHookStateDeletePath","overrideHookStateRenamePath","overrideProps","overridePropsDeletePath","overridePropsRenamePath","setSuspenseHandler","scheduleUpdate","currentDispatcherRef","findHostInstanceByFiber","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","yk","isDisabled","supportsFiber","inject","createPortal","findDOMNode","flushSync","unmountComponentAtNode","unstable_batchedUpdates","unstable_createPortal","unstable_renderSubtreeIntoContainer","performance","MessageChannel","unstable_forceFrameRate","port2","port1","onmessage","postMessage","sortIndex","expirationTime","priorityLevel","unstable_Profiling","unstable_continueExecution","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","unstable_wrapCallback","jsx","jsxs"],"mappings":"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","file":"static/js/2.42530f71.chunk.js","sourcesContent":["const PI = 3.1415926;\nconst INFINITY = Infinity;\n\nconst MathUtil = {\n PI: PI,\n PIx2: PI * 2,\n PI_2: PI / 2,\n PI_180: PI / 180,\n N180_PI: 180 / PI,\n Infinity: -999,\n\n isInfinity(num) {\n return num === this.Infinity || num === INFINITY;\n },\n\n randomAToB(a, b, isInt = false) {\n if (!isInt) return a + Math.random() * (b - a);\n else return Math.floor(Math.random() * (b - a)) + a;\n },\n\n randomFloating(center, f, isInt) {\n return this.randomAToB(center - f, center + f, isInt);\n },\n\n randomColor() {\n return (\n \"#\" +\n (\"00000\" + ((Math.random() * 0x1000000) << 0).toString(16)).slice(-6)\n );\n },\n\n randomZone(display) {},\n\n floor(num, k = 4) {\n const digits = Math.pow(10, k);\n return Math.floor(num * digits) / digits;\n },\n\n degreeTransform(a) {\n return (a * PI) / 180;\n },\n\n toColor16(num) {\n return `#${num.toString(16)}`;\n }\n};\n\nexport default MathUtil;\n","import Util from \"../utils/Util\";\nimport MathUtil from \"../math/MathUtil\";\n\nexport default class Span {\n constructor(a, b, center) {\n if (Util.isArray(a)) {\n this.isArray = true;\n this.a = a;\n } else {\n this.isArray = false;\n this.a = Util.initValue(a, 1);\n this.b = Util.initValue(b, this.a);\n this.center = Util.initValue(center, false);\n }\n }\n\n getValue(isInt = false) {\n if (this.isArray) {\n return Util.getRandFromArray(this.a);\n } else {\n if (!this.center) {\n return MathUtil.randomAToB(this.a, this.b, isInt);\n } else {\n return MathUtil.randomFloating(this.a, this.b, isInt);\n }\n }\n }\n\n /**\n * Returns a new Span object\n *\n * @memberof Proton#Proton.Util\n * @method setSpanValue\n *\n * @todo a, b and c should be 'Mixed' or 'Number'?\n *\n * @param {Mixed | Span} a\n * @param {Mixed} b\n * @param {Mixed} c\n *\n * @return {Span}\n */\n static setSpanValue(a, b, c) {\n if (a instanceof Span) {\n return a;\n } else {\n if (b === undefined) {\n return new Span(a);\n } else {\n if (c === undefined) return new Span(a, b);\n else return new Span(a, b, c);\n }\n }\n }\n\n /**\n * Returns the value from a Span, if the param is not a Span it will return the given parameter\n *\n * @memberof Proton#Proton.Util\n * @method getValue\n *\n * @param {Mixed | Span} pan\n *\n * @return {Mixed} the value of Span OR the parameter if it is not a Span\n */\n static getSpanValue(pan) {\n return pan instanceof Span ? pan.getValue() : pan;\n }\n}\n","export default {\n /**\n * @memberof Proton#Proton.WebGLUtil\n * @method ipot\n *\n * @todo add description\n * @todo add length description\n *\n * @param {Number} length\n *\n * @return {Boolean}\n */\n ipot(length) {\n return (length & (length - 1)) === 0;\n },\n\n /**\n * @memberof Proton#Proton.WebGLUtil\n * @method nhpot\n *\n * @todo add description\n * @todo add length description\n *\n * @param {Number} length\n *\n * @return {Number}\n */\n nhpot(length) {\n --length;\n for (let i = 1; i < 32; i <<= 1) {\n length = length | (length >> i);\n }\n\n return length + 1;\n },\n\n /**\n * @memberof Proton#Proton.WebGLUtil\n * @method makeTranslation\n *\n * @todo add description\n * @todo add tx, ty description\n * @todo add return description\n *\n * @param {Number} tx either 0 or 1\n * @param {Number} ty either 0 or 1\n *\n * @return {Object}\n */\n makeTranslation(tx, ty) {\n return [1, 0, 0, 0, 1, 0, tx, ty, 1];\n },\n\n /**\n * @memberof Proton#Proton.WebGLUtil\n * @method makeRotation\n *\n * @todo add description\n * @todo add return description\n *\n * @param {Number} angleInRadians\n *\n * @return {Object}\n */\n makeRotation(angleInRadians) {\n let c = Math.cos(angleInRadians);\n let s = Math.sin(angleInRadians);\n\n return [c, -s, 0, s, c, 0, 0, 0, 1];\n },\n\n /**\n * @memberof Proton#Proton.WebGLUtil\n * @method makeScale\n *\n * @todo add description\n * @todo add tx, ty description\n * @todo add return description\n *\n * @param {Number} sx either 0 or 1\n * @param {Number} sy either 0 or 1\n *\n * @return {Object}\n */\n makeScale(sx, sy) {\n return [sx, 0, 0, 0, sy, 0, 0, 0, 1];\n },\n\n /**\n * @memberof Proton#Proton.WebGLUtil\n * @method matrixMultiply\n *\n * @todo add description\n * @todo add a, b description\n * @todo add return description\n *\n * @param {Object} a\n * @param {Object} b\n *\n * @return {Object}\n */\n matrixMultiply(a, b) {\n let a00 = a[0 * 3 + 0];\n let a01 = a[0 * 3 + 1];\n let a02 = a[0 * 3 + 2];\n let a10 = a[1 * 3 + 0];\n let a11 = a[1 * 3 + 1];\n let a12 = a[1 * 3 + 2];\n let a20 = a[2 * 3 + 0];\n let a21 = a[2 * 3 + 1];\n let a22 = a[2 * 3 + 2];\n let b00 = b[0 * 3 + 0];\n let b01 = b[0 * 3 + 1];\n let b02 = b[0 * 3 + 2];\n let b10 = b[1 * 3 + 0];\n let b11 = b[1 * 3 + 1];\n let b12 = b[1 * 3 + 2];\n let b20 = b[2 * 3 + 0];\n let b21 = b[2 * 3 + 1];\n let b22 = b[2 * 3 + 2];\n\n return [\n a00 * b00 + a01 * b10 + a02 * b20,\n a00 * b01 + a01 * b11 + a02 * b21,\n a00 * b02 + a01 * b12 + a02 * b22,\n a10 * b00 + a11 * b10 + a12 * b20,\n a10 * b01 + a11 * b11 + a12 * b21,\n a10 * b02 + a11 * b12 + a12 * b22,\n a20 * b00 + a21 * b10 + a22 * b20,\n a20 * b01 + a21 * b11 + a22 * b21,\n a20 * b02 + a21 * b12 + a22 * b22\n ];\n }\n};\n","export default {\n /**\n * Creates and returns a new canvas. The opacity is by default set to 0\n *\n * @memberof Proton#Proton.DomUtil\n * @method createCanvas\n *\n * @param {String} $id the canvas' id\n * @param {Number} $width the canvas' width\n * @param {Number} $height the canvas' height\n * @param {String} [$position=absolute] the canvas' position, default is 'absolute'\n *\n * @return {Object}\n */\n createCanvas(id, width, height, position = \"absolute\") {\n const dom = document.createElement(\"canvas\");\n\n dom.id = id;\n dom.width = width;\n dom.height = height;\n dom.style.opacity = 0;\n dom.style.position = position;\n this.transform(dom, -500, -500, 0, 0);\n\n return dom;\n },\n\n createDiv(id, width, height) {\n const dom = document.createElement(\"div\");\n\n dom.id = id;\n dom.style.position = \"absolute\";\n this.resize(dom, width, height);\n\n return dom;\n },\n\n resize(dom, width, height) {\n dom.style.width = width + \"px\";\n dom.style.height = height + \"px\";\n dom.style.marginLeft = -width / 2 + \"px\";\n dom.style.marginTop = -height / 2 + \"px\";\n },\n\n /**\n * Adds a transform: translate(), scale(), rotate() to a given div dom for all browsers\n *\n * @memberof Proton#Proton.DomUtil\n * @method transform\n *\n * @param {HTMLDivElement} div\n * @param {Number} $x\n * @param {Number} $y\n * @param {Number} $scale\n * @param {Number} $rotate\n */\n transform(div, x, y, scale, rotate) {\n div.style.willChange = \"transform\";\n const transform = `translate(${x}px, ${y}px) scale(${scale}) rotate(${rotate}deg)`;\n this.css3(div, \"transform\", transform);\n },\n\n transform3d(div, x, y, scale, rotate) {\n div.style.willChange = \"transform\";\n const transform = `translate3d(${x}px, ${y}px, 0) scale(${scale}) rotate(${rotate}deg)`;\n this.css3(div, \"backfaceVisibility\", \"hidden\");\n this.css3(div, \"transform\", transform);\n },\n\n css3(div, key, val) {\n const bkey = key.charAt(0).toUpperCase() + key.substr(1);\n\n div.style[`Webkit${bkey}`] = val;\n div.style[`Moz${bkey}`] = val;\n div.style[`O${bkey}`] = val;\n div.style[`ms${bkey}`] = val;\n div.style[`${key}`] = val;\n }\n};\n","import WebGLUtil from \"./WebGLUtil\";\nimport DomUtil from \"./DomUtil\";\n\nconst imgsCache = {};\nconst canvasCache = {};\nlet canvasId = 0;\n\nexport default {\n /**\n * This will get the image data. It could be necessary to create a Proton.Zone.\n *\n * @memberof Proton#Proton.Util\n * @method getImageData\n *\n * @param {HTMLCanvasElement} context any canvas, must be a 2dContext 'canvas.getContext('2d')'\n * @param {Object} image could be any dom image, e.g. document.getElementById('thisIsAnImgTag');\n * @param {Proton.Rectangle} rect\n */\n getImageData(context, image, rect) {\n context.drawImage(image, rect.x, rect.y);\n const imagedata = context.getImageData(\n rect.x,\n rect.y,\n rect.width,\n rect.height\n );\n context.clearRect(rect.x, rect.y, rect.width, rect.height);\n\n return imagedata;\n },\n\n /**\n * @memberof Proton#Proton.Util\n * @method getImgFromCache\n *\n * @todo add description\n * @todo describe func\n *\n * @param {Mixed} img\n * @param {Proton.Particle} particle\n * @param {Boolean} drawCanvas set to true if a canvas should be saved into particle.data.canvas\n * @param {Boolean} func\n */\n getImgFromCache(img, callback, param) {\n const src = typeof img === \"string\" ? img : img.src;\n\n if (imgsCache[src]) {\n callback(imgsCache[src], param);\n } else {\n const image = new Image();\n image.onload = e => {\n imgsCache[src] = e.target;\n callback(imgsCache[src], param);\n };\n\n image.src = src;\n }\n },\n\n getCanvasFromCache(img, callback, param) {\n const src = img.src;\n\n if (!canvasCache[src]) {\n const width = WebGLUtil.nhpot(img.width);\n const height = WebGLUtil.nhpot(img.height);\n\n const canvas = DomUtil.createCanvas(\n `proton_canvas_cache_${++canvasId}`,\n width,\n height\n );\n const context = canvas.getContext(\"2d\");\n context.drawImage(img, 0, 0, img.width, img.height);\n\n canvasCache[src] = canvas;\n }\n\n callback && callback(canvasCache[src], param);\n\n return canvasCache[src];\n }\n};\n","import Span from \"../math/Span\";\nimport ImgUtil from \"./ImgUtil\";\n\nexport default {\n /**\n * Returns the default if the value is null or undefined\n *\n * @memberof Proton#Proton.Util\n * @method initValue\n *\n * @param {Mixed} value a specific value, could be everything but null or undefined\n * @param {Mixed} defaults the default if the value is null or undefined\n */\n initValue(value, defaults) {\n value = value !== null && value !== undefined ? value : defaults;\n return value;\n },\n\n /**\n * Checks if the value is a valid array\n *\n * @memberof Proton#Proton.Util\n * @method isArray\n *\n * @param {Array} value Any array\n *\n * @returns {Boolean}\n */\n isArray(value) {\n return Object.prototype.toString.call(value) === \"[object Array]\";\n },\n\n /**\n * Destroyes the given array\n *\n * @memberof Proton#Proton.Util\n * @method emptyArray\n *\n * @param {Array} array Any array\n */\n emptyArray(arr) {\n if (arr) arr.length = 0;\n },\n\n toArray(arr) {\n return this.isArray(arr) ? arr : [arr];\n },\n\n getRandFromArray(arr) {\n if (!arr) return null;\n return arr[Math.floor(arr.length * Math.random())];\n },\n\n /**\n * Destroyes the given object\n *\n * @memberof Proton#Proton.Util\n * @method emptyObject\n *\n * @param {Object} obj Any object\n */\n emptyObject(obj, ignore = null) {\n for (let key in obj) {\n if (ignore && ignore.indexOf(key) > -1) continue;\n delete obj[key];\n }\n },\n\n /**\n * Makes an instance of a class and binds the given array\n *\n * @memberof Proton#Proton.Util\n * @method classApply\n *\n * @param {Function} constructor A class to make an instance from\n * @param {Array} [args] Any array to bind it to the constructor\n *\n * @return {Object} The instance of constructor, optionally bind with args\n */\n classApply(constructor, args = null) {\n if (!args) {\n return new constructor();\n } else {\n const FactoryFunc = constructor.bind.apply(\n constructor,\n [null].concat(args)\n );\n return new FactoryFunc();\n }\n },\n\n /**\n * @memberof Proton#Proton.Util\n * @method setVectorVal\n *\n * @todo add description for param `target`\n * @todo add description for param `conf`\n * @todo add description for function\n *\n * @param {Object} target\n * @param {Object} conf\n */\n setVectorVal(particle, conf = null) {\n if (!conf) return;\n\n if (this.hasProp(conf, \"x\")) particle.p.x = conf[\"x\"];\n if (this.hasProp(conf, \"y\")) particle.p.y = conf[\"y\"];\n\n if (this.hasProp(conf, \"vx\")) particle.v.x = conf[\"vx\"];\n if (this.hasProp(conf, \"vy\")) particle.v.y = conf[\"vy\"];\n\n if (this.hasProp(conf, \"ax\")) particle.a.x = conf[\"ax\"];\n if (this.hasProp(conf, \"ay\")) particle.a.y = conf[\"ay\"];\n\n if (this.hasProp(conf, \"p\")) particle.p.copy(conf[\"p\"]);\n if (this.hasProp(conf, \"v\")) particle.v.copy(conf[\"v\"]);\n if (this.hasProp(conf, \"a\")) particle.a.copy(conf[\"a\"]);\n\n if (this.hasProp(conf, \"position\")) particle.p.copy(conf[\"position\"]);\n if (this.hasProp(conf, \"velocity\")) particle.v.copy(conf[\"velocity\"]);\n if (this.hasProp(conf, \"accelerate\")) particle.a.copy(conf[\"accelerate\"]);\n },\n\n hasProp(target, key) {\n if (!target) return false;\n return target[key] !== undefined;\n // return obj.hasOwnProperty(key);\n },\n\n /**\n * set the prototype in a given prototypeObject\n *\n * @memberof Proton#Proton.Util\n * @method setProp\n *\n * @todo add description for param `target`\n * @todo translate desription from chinese to english\n *\n * @param {Object} target\n * @param {Object} prototypeObject An object of single prototypes\n *\n * @return {Object} target\n */\n setProp(target, props) {\n for (let prop in props) {\n if (target.hasOwnProperty(prop)) {\n target[prop] = Span.getSpanValue(props[prop]);\n }\n }\n\n return target;\n },\n\n /**\n * This will get the image data. It could be necessary to create a Proton.Zone.\n *\n * @memberof Proton#Proton.Util\n * @method getImageData\n *\n * @param {HTMLCanvasElement} context any canvas, must be a 2dContext 'canvas.getContext('2d')'\n * @param {Object} image could be any dom image, e.g. document.getElementById('thisIsAnImgTag');\n * @param {Proton.Rectangle} rect\n */\n getImageData(context, image, rect) {\n return ImgUtil.getImageData(context, image, rect);\n },\n\n destroyAll(arr, param = null) {\n let i = arr.length;\n\n while (i--) {\n try {\n arr[i].destroy(param);\n } catch (e) {}\n\n delete arr[i];\n }\n\n arr.length = 0;\n },\n\n assign(target, source) {\n if (typeof Object.assign !== \"function\") {\n for (let key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n\n return target;\n } else {\n return Object.assign(target, source);\n }\n }\n};\n","const idsMap = {};\n\nconst Puid = {\n _index: 0,\n _cache: {},\n\n id(type) {\n if (idsMap[type] === undefined || idsMap[type] === null) idsMap[type] = 0;\n return `${type}_${idsMap[type]++}`;\n },\n\n getId(target) {\n let uid = this.getIdFromCache(target);\n if (uid) return uid;\n\n uid = `PUID_${this._index++}`;\n this._cache[uid] = target;\n\n return uid;\n },\n\n getIdFromCache(target) {\n let obj, id;\n\n for (id in this._cache) {\n obj = this._cache[id];\n\n if (obj === target) return id;\n if (this.isBody(obj, target) && obj.src === target.src) return id;\n }\n\n return null;\n },\n\n isBody(obj, target) {\n return (\n typeof obj === \"object\" &&\n typeof target === \"object\" &&\n obj.isInner &&\n target.isInner\n );\n },\n\n getTarget(uid) {\n return this._cache[uid];\n }\n};\n\nexport default Puid;\n","/**\n * Pool is the cache pool of the proton engine, it is very important.\n *\n * get(target, params, uid)\n * Class\n * uid = Puid.getId -> Puid save target cache\n * target.__puid = uid\n *\n * body\n * uid = Puid.getId -> Puid save target cache\n *\n *\n * expire(target)\n * cache[target.__puid] push target\n *\n */\nimport Util from \"../utils/Util\";\nimport Puid from \"../utils/Puid\";\n\nexport default class Pool {\n /**\n * @memberof! Proton#\n * @constructor\n * @alias Proton.Pool\n *\n * @todo add description\n * @todo add description of properties\n *\n * @property {Number} total\n * @property {Object} cache\n */\n constructor(num) {\n this.total = 0;\n this.cache = {};\n }\n\n /**\n * @todo add description\n *\n * @method get\n * @memberof Proton#Proton.Pool\n *\n * @param {Object|Function} target\n * @param {Object} [params] just add if `target` is a function\n *\n * @return {Object}\n */\n get(target, params, uid) {\n let p;\n uid = uid || target.__puid || Puid.getId(target);\n\n if (this.cache[uid] && this.cache[uid].length > 0) {\n p = this.cache[uid].pop();\n } else {\n p = this.createOrClone(target, params);\n }\n\n p.__puid = target.__puid || uid;\n return p;\n }\n\n /**\n * @todo add description\n *\n * @method set\n * @memberof Proton#Proton.Pool\n *\n * @param {Object} target\n *\n * @return {Object}\n */\n expire(target) {\n return this.getCache(target.__puid).push(target);\n }\n\n /**\n * Creates a new class instance\n *\n * @todo add more documentation\n *\n * @method create\n * @memberof Proton#Proton.Pool\n *\n * @param {Object|Function} target any Object or Function\n * @param {Object} [params] just add if `target` is a function\n *\n * @return {Object}\n */\n createOrClone(target, params) {\n this.total++;\n\n if (this.create) {\n return this.create(target, params);\n } else if (typeof target === \"function\") {\n return Util.classApply(target, params);\n } else {\n return target.clone();\n }\n }\n\n /**\n * @todo add description - what is in the cache?\n *\n * @method getCount\n * @memberof Proton#Proton.Pool\n *\n * @return {Number}\n */\n getCount() {\n let count = 0;\n for (let id in this.cache) count += this.cache[id].length;\n return count++;\n }\n\n /**\n * Destroyes all items from Pool.cache\n *\n * @method destroy\n * @memberof Proton#Proton.Pool\n */\n destroy() {\n for (let id in this.cache) {\n this.cache[id].length = 0;\n delete this.cache[id];\n }\n }\n\n /**\n * Returns Pool.cache\n *\n * @method getCache\n * @memberof Proton#Proton.Pool\n * @private\n *\n * @param {Number} uid the unique id\n *\n * @return {Object}\n */\n getCache(uid = \"default\") {\n if (!this.cache[uid]) this.cache[uid] = [];\n return this.cache[uid];\n }\n}\n","export default class Stats {\n constructor(proton) {\n this.proton = proton;\n this.container = null;\n this.type = 1;\n\n this.emitterIndex = 0;\n this.rendererIndex = 0;\n }\n\n update(style, body) {\n this.add(style, body);\n\n const emitter = this.getEmitter();\n const renderer = this.getRenderer();\n let str = \"\";\n\n switch (this.type) {\n case 2:\n str += \"emitter:\" + this.proton.emitters.length + \"
\";\n if (emitter) str += \"em speed:\" + emitter.emitSpeed + \"
\";\n if (emitter) str += \"pos:\" + this.getEmitterPos(emitter);\n break;\n\n case 3:\n if (emitter)\n str += \"initializes:\" + emitter.initializes.length + \"
\";\n if (emitter)\n str +=\n '' +\n this.concatArr(emitter.initializes) +\n \"
\";\n if (emitter) str += \"behaviours:\" + emitter.behaviours.length + \"
\";\n if (emitter)\n str +=\n '' +\n this.concatArr(emitter.behaviours) +\n \"
\";\n break;\n\n case 4:\n if (renderer) str += renderer.name + \"
\";\n if (renderer) str += \"body:\" + this.getCreatedNumber(renderer) + \"
\";\n break;\n\n default:\n str += \"particles:\" + this.proton.getCount() + \"
\";\n str += \"pool:\" + this.proton.pool.getCount() + \"
\";\n str += \"total:\" + this.proton.pool.total;\n }\n\n this.container.innerHTML = str;\n }\n\n add(style, body) {\n if (!this.container) {\n this.type = 1;\n\n this.container = document.createElement(\"div\");\n this.container.style.cssText = [\n \"position:absolute;bottom:0px;left:0;cursor:pointer;\",\n \"opacity:0.9;z-index:10000;padding:10px;font-size:12px;font-family:Helvetica,Arial,sans-serif;\",\n \"width:120px;height:50px;background-color:#002;color:#0ff;\"\n ].join(\"\");\n\n this.container.addEventListener(\n \"click\",\n e => {\n this.type++;\n if (this.type > 4) this.type = 1;\n },\n false\n );\n\n let bg, color;\n switch (style) {\n case 2:\n bg = \"#201\";\n color = \"#f08\";\n break;\n\n case 3:\n bg = \"#020\";\n color = \"#0f0\";\n break;\n\n default:\n bg = \"#002\";\n color = \"#0ff\";\n }\n\n this.container.style[\"background-color\"] = bg;\n this.container.style[\"color\"] = color;\n }\n\n if (!this.container.parentNode) {\n body = body || this.body || document.body;\n body.appendChild(this.container);\n }\n }\n\n getEmitter() {\n return this.proton.emitters[this.emitterIndex];\n }\n\n getRenderer() {\n return this.proton.renderers[this.rendererIndex];\n }\n\n concatArr(arr) {\n let result = \"\";\n if (!arr || !arr.length) return result;\n\n for (let i = 0; i < arr.length; i++) {\n result += (arr[i].name || \"\").substr(0, 1) + \".\";\n }\n\n return result;\n }\n\n getCreatedNumber(renderer) {\n return renderer.pool.total || (renderer.cpool && renderer.cpool.total) || 0;\n }\n\n getEmitterPos(e) {\n return Math.round(e.p.x) + \",\" + Math.round(e.p.y);\n }\n}\n","/*\n * EventDispatcher\n * This code reference since http://createjs.com/.\n *\n **/\n\nexport default class EventDispatcher {\n constructor() {\n this._listeners = null;\n }\n\n static bind(target) {\n target.prototype.dispatchEvent = EventDispatcher.prototype.dispatchEvent;\n\n target.prototype.hasEventListener =\n EventDispatcher.prototype.hasEventListener;\n\n target.prototype.addEventListener =\n EventDispatcher.prototype.addEventListener;\n\n target.prototype.removeEventListener =\n EventDispatcher.prototype.removeEventListener;\n\n target.prototype.removeAllEventListeners =\n EventDispatcher.prototype.removeAllEventListeners;\n }\n\n addEventListener(type, listener) {\n if (!this._listeners) {\n this._listeners = {};\n } else {\n this.removeEventListener(type, listener);\n }\n\n if (!this._listeners[type]) this._listeners[type] = [];\n this._listeners[type].push(listener);\n\n return listener;\n }\n\n removeEventListener(type, listener) {\n if (!this._listeners) return;\n if (!this._listeners[type]) return;\n\n const arr = this._listeners[type];\n const length = arr.length;\n\n for (let i = 0; i < length; i++) {\n if (arr[i] === listener) {\n if (length === 1) {\n delete this._listeners[type];\n }\n\n // allows for faster checks.\n else {\n arr.splice(i, 1);\n }\n\n break;\n }\n }\n }\n\n removeAllEventListeners(type) {\n if (!type) this._listeners = null;\n else if (this._listeners) delete this._listeners[type];\n }\n\n dispatchEvent(type, args) {\n let result = false;\n const listeners = this._listeners;\n\n if (type && listeners) {\n let arr = listeners[type];\n if (!arr) return result;\n\n // arr = arr.slice();\n // to avoid issues with items being removed or added during the dispatch\n\n let handler;\n let i = arr.length;\n while (i--) {\n handler = arr[i];\n result = result || handler(args);\n }\n }\n\n return !!result;\n }\n\n hasEventListener(type) {\n const listeners = this._listeners;\n return !!(listeners && listeners[type]);\n }\n}\n","export default class Integration {\n constructor(type) {\n this.type = type;\n }\n\n calculate(particles, time, damping) {\n this.eulerIntegrate(particles, time, damping);\n }\n\n // Euler Integrate\n // https://rosettacode.org/wiki/Euler_method\n eulerIntegrate(particle, time, damping) {\n if (!particle.sleep) {\n particle.old.p.copy(particle.p);\n particle.old.v.copy(particle.v);\n\n particle.a.multiplyScalar(1 / particle.mass);\n particle.v.add(particle.a.multiplyScalar(time));\n particle.p.add(particle.old.v.multiplyScalar(time));\n\n if (damping) particle.v.multiplyScalar(damping);\n\n particle.a.clear();\n }\n }\n}\n","import Pool from \"./Pool\";\nimport Util from \"../utils/Util\";\nimport Stats from \"../debug/Stats\";\nimport EventDispatcher from \"../events/EventDispatcher\";\nimport MathUtil from \"../math/MathUtil\";\nimport Integration from \"../math/Integration\";\n\nexport default class Proton {\n static USE_CLOCK = false;\n\n // measure 1:100\n static MEASURE = 100;\n static EULER = \"euler\";\n static RK2 = \"runge-kutta2\";\n\n // event name\n static PARTICLE_CREATED = \"PARTICLE_CREATED\";\n static PARTICLE_UPDATE = \"PARTICLE_UPDATE\";\n static PARTICLE_SLEEP = \"PARTICLE_SLEEP\";\n static PARTICLE_DEAD = \"PARTICLE_DEAD\";\n\n static EMITTER_ADDED = \"EMITTER_ADDED\";\n static EMITTER_REMOVED = \"EMITTER_REMOVED\";\n\n static PROTON_UPDATE = \"PROTON_UPDATE\";\n static PROTON_UPDATE_AFTER = \"PROTON_UPDATE_AFTER\";\n static DEFAULT_INTERVAL = 0.0167;\n\n static amendChangeTabsBug = true;\n\n /**\n * The constructor to add emitters\n *\n * @constructor Proton\n *\n * @todo proParticleCount is not in use\n * @todo add more documentation of the single properties and parameters\n *\n * @param {Number} [proParticleCount] not in use?\n * @param {Number} [integrationType=Proton.EULER]\n *\n * @property {String} [integrationType=Proton.EULER]\n * @property {Array} emitters All added emitter\n * @property {Array} renderers All added renderer\n * @property {Number} time The active time\n * @property {Number} oldtime The old time\n */\n constructor(integrationType) {\n this.emitters = [];\n this.renderers = [];\n\n this.time = 0;\n this.now = 0;\n this.then = 0;\n this.elapsed = 0;\n\n this.stats = new Stats(this);\n this.pool = new Pool(80);\n\n this.integrationType = Util.initValue(integrationType, Proton.EULER);\n this.integrator = new Integration(this.integrationType);\n\n this._fps = \"auto\";\n this._interval = Proton.DEFAULT_INTERVAL;\n }\n\n set fps(fps) {\n this._fps = fps;\n this._interval =\n fps === \"auto\" ? Proton.DEFAULT_INTERVAL : MathUtil.floor(1 / fps, 7);\n }\n\n get fps() {\n return this._fps;\n }\n\n /**\n * add a type of Renderer\n *\n * @method addRenderer\n * @memberof Proton\n * @instance\n *\n * @param {Renderer} render\n */\n addRenderer(render) {\n render.init(this);\n this.renderers.push(render);\n }\n\n /**\n * @name add a type of Renderer\n *\n * @method addRenderer\n * @param {Renderer} render\n */\n removeRenderer(render) {\n const index = this.renderers.indexOf(render);\n this.renderers.splice(index, 1);\n render.remove(this);\n }\n\n /**\n * add the Emitter\n *\n * @method addEmitter\n * @memberof Proton\n * @instance\n *\n * @param {Emitter} emitter\n */\n addEmitter(emitter) {\n this.emitters.push(emitter);\n emitter.parent = this;\n\n this.dispatchEvent(Proton.EMITTER_ADDED, emitter);\n }\n\n /**\n * Removes an Emitter\n *\n * @method removeEmitter\n * @memberof Proton\n * @instance\n *\n * @param {Proton.Emitter} emitter\n */\n removeEmitter(emitter) {\n const index = this.emitters.indexOf(emitter);\n this.emitters.splice(index, 1);\n emitter.parent = null;\n\n this.dispatchEvent(Proton.EMITTER_REMOVED, emitter);\n }\n\n /**\n * Updates all added emitters\n *\n * @method update\n * @memberof Proton\n * @instance\n */\n update() {\n // 'auto' is the default browser refresh rate, the vast majority is 60fps\n if (this._fps === \"auto\") {\n this.dispatchEvent(Proton.PROTON_UPDATE);\n\n if (Proton.USE_CLOCK) {\n if (!this.then) this.then = new Date().getTime();\n this.now = new Date().getTime();\n this.elapsed = (this.now - this.then) * 0.001;\n // Fix bugs such as chrome browser switching tabs causing excessive time difference\n this.amendChangeTabsBug();\n\n if (this.elapsed > 0) this.emittersUpdate(this.elapsed);\n this.then = this.now;\n } else {\n this.emittersUpdate(Proton.DEFAULT_INTERVAL);\n }\n\n this.dispatchEvent(Proton.PROTON_UPDATE_AFTER);\n }\n\n // If the fps frame rate is set\n else {\n if (!this.then) this.then = new Date().getTime();\n this.now = new Date().getTime();\n this.elapsed = (this.now - this.then) * 0.001;\n\n if (this.elapsed > this._interval) {\n this.dispatchEvent(Proton.PROTON_UPDATE);\n this.emittersUpdate(this._interval);\n // https://stackoverflow.com/questions/19764018/controlling-fps-with-requestanimationframe\n this.then = this.now - (this.elapsed % this._interval) * 1000;\n this.dispatchEvent(Proton.PROTON_UPDATE_AFTER);\n }\n }\n }\n\n emittersUpdate(elapsed) {\n let i = this.emitters.length;\n while (i--) this.emitters[i].update(elapsed);\n }\n\n /**\n * @todo add description\n *\n * @method amendChangeTabsBug\n * @memberof Proton\n * @instance\n */\n amendChangeTabsBug() {\n if (!Proton.amendChangeTabsBug) return;\n if (this.elapsed > 0.5) {\n this.then = new Date().getTime();\n this.elapsed = 0;\n }\n }\n\n /**\n * Counts all particles from all emitters\n *\n * @method getCount\n * @memberof Proton\n * @instance\n */\n getCount() {\n let total = 0;\n let i = this.emitters.length;\n\n while (i--) total += this.emitters[i].particles.length;\n return total;\n }\n\n getAllParticles() {\n let particles = [];\n let i = this.emitters.length;\n\n while (i--) particles = particles.concat(this.emitters[i].particles);\n return particles;\n }\n\n destroyAllEmitters() {\n Util.destroyAll(this.emitters);\n }\n\n /**\n * Destroys everything related to this Proton instance. This includes all emitters, and all properties\n *\n * @method destroy\n * @memberof Proton\n * @instance\n */\n destroy(remove = false) {\n const destroyOther = () => {\n this.time = 0;\n this.then = 0;\n this.pool.destroy();\n\n Util.destroyAll(this.emitters);\n Util.destroyAll(this.renderers, this.getAllParticles());\n };\n\n if (remove) {\n setTimeout(destroyOther, 200);\n } else {\n destroyOther();\n }\n }\n}\n\nEventDispatcher.bind(Proton);\n","export default class Rgb {\n constructor(r = 255, g = 255, b = 255) {\n this.r = r;\n this.g = g;\n this.b = b;\n }\n\n reset() {\n this.r = 255;\n this.g = 255;\n this.b = 255;\n }\n}\n","import MathUtil from \"./MathUtil\";\n\nexport default {\n easeLinear(value) {\n return value;\n },\n\n easeInQuad(value) {\n return Math.pow(value, 2);\n },\n\n easeOutQuad(value) {\n return -(Math.pow(value - 1, 2) - 1);\n },\n\n easeInOutQuad(value) {\n if ((value /= 0.5) < 1) return 0.5 * Math.pow(value, 2);\n\n return -0.5 * ((value -= 2) * value - 2);\n },\n\n easeInCubic(value) {\n return Math.pow(value, 3);\n },\n\n easeOutCubic(value) {\n return Math.pow(value - 1, 3) + 1;\n },\n\n easeInOutCubic(value) {\n if ((value /= 0.5) < 1) return 0.5 * Math.pow(value, 3);\n\n return 0.5 * (Math.pow(value - 2, 3) + 2);\n },\n\n easeInQuart(value) {\n return Math.pow(value, 4);\n },\n\n easeOutQuart(value) {\n return -(Math.pow(value - 1, 4) - 1);\n },\n\n easeInOutQuart(value) {\n if ((value /= 0.5) < 1) return 0.5 * Math.pow(value, 4);\n\n return -0.5 * ((value -= 2) * Math.pow(value, 3) - 2);\n },\n\n easeInSine(value) {\n return -Math.cos(value * MathUtil.PI_2) + 1;\n },\n\n easeOutSine(value) {\n return Math.sin(value * MathUtil.PI_2);\n },\n\n easeInOutSine(value) {\n return -0.5 * (Math.cos(Math.PI * value) - 1);\n },\n\n easeInExpo(value) {\n return value === 0 ? 0 : Math.pow(2, 10 * (value - 1));\n },\n\n easeOutExpo(value) {\n return value === 1 ? 1 : -Math.pow(2, -10 * value) + 1;\n },\n\n easeInOutExpo(value) {\n if (value === 0) return 0;\n\n if (value === 1) return 1;\n\n if ((value /= 0.5) < 1) return 0.5 * Math.pow(2, 10 * (value - 1));\n\n return 0.5 * (-Math.pow(2, -10 * --value) + 2);\n },\n\n easeInCirc(value) {\n return -(Math.sqrt(1 - value * value) - 1);\n },\n\n easeOutCirc(value) {\n return Math.sqrt(1 - Math.pow(value - 1, 2));\n },\n\n easeInOutCirc(value) {\n if ((value /= 0.5) < 1) return -0.5 * (Math.sqrt(1 - value * value) - 1);\n return 0.5 * (Math.sqrt(1 - (value -= 2) * value) + 1);\n },\n\n easeInBack(value) {\n let s = 1.70158;\n return value * value * ((s + 1) * value - s);\n },\n\n easeOutBack(value) {\n let s = 1.70158;\n return (value = value - 1) * value * ((s + 1) * value + s) + 1;\n },\n\n easeInOutBack(value) {\n let s = 1.70158;\n if ((value /= 0.5) < 1)\n return 0.5 * (value * value * (((s *= 1.525) + 1) * value - s));\n return 0.5 * ((value -= 2) * value * (((s *= 1.525) + 1) * value + s) + 2);\n },\n\n getEasing(ease) {\n if (typeof ease === \"function\") return ease;\n else return this[ease] || this.easeLinear;\n }\n};\n","import MathUtil from \"../math/MathUtil\";\n\nexport default class Vector2D {\n constructor(x, y) {\n this.x = x || 0;\n this.y = y || 0;\n }\n\n set(x, y) {\n this.x = x;\n this.y = y;\n return this;\n }\n\n setX(x) {\n this.x = x;\n return this;\n }\n\n setY(y) {\n this.y = y;\n return this;\n }\n\n getGradient() {\n if (this.x !== 0) return Math.atan2(this.y, this.x);\n else if (this.y > 0) return MathUtil.PI_2;\n else if (this.y < 0) return -MathUtil.PI_2;\n }\n\n copy(v) {\n this.x = v.x;\n this.y = v.y;\n\n return this;\n }\n\n add(v, w) {\n if (w !== undefined) {\n return this.addVectors(v, w);\n }\n\n this.x += v.x;\n this.y += v.y;\n\n return this;\n }\n\n addXY(a, b) {\n this.x += a;\n this.y += b;\n\n return this;\n }\n\n addVectors(a, b) {\n this.x = a.x + b.x;\n this.y = a.y + b.y;\n\n return this;\n }\n\n sub(v, w) {\n if (w !== undefined) {\n return this.subVectors(v, w);\n }\n\n this.x -= v.x;\n this.y -= v.y;\n\n return this;\n }\n\n subVectors(a, b) {\n this.x = a.x - b.x;\n this.y = a.y - b.y;\n\n return this;\n }\n\n divideScalar(s) {\n if (s !== 0) {\n this.x /= s;\n this.y /= s;\n } else {\n this.set(0, 0);\n }\n\n return this;\n }\n\n multiplyScalar(s) {\n this.x *= s;\n this.y *= s;\n\n return this;\n }\n\n negate() {\n return this.multiplyScalar(-1);\n }\n\n dot(v) {\n return this.x * v.x + this.y * v.y;\n }\n\n lengthSq() {\n return this.x * this.x + this.y * this.y;\n }\n\n length() {\n return Math.sqrt(this.x * this.x + this.y * this.y);\n }\n\n normalize() {\n return this.divideScalar(this.length());\n }\n\n distanceTo(v) {\n return Math.sqrt(this.distanceToSquared(v));\n }\n\n rotate(tha) {\n const x = this.x;\n const y = this.y;\n\n this.x = x * Math.cos(tha) + y * Math.sin(tha);\n this.y = -x * Math.sin(tha) + y * Math.cos(tha);\n\n return this;\n }\n\n distanceToSquared(v) {\n const dx = this.x - v.x;\n const dy = this.y - v.y;\n\n return dx * dx + dy * dy;\n }\n\n lerp(v, alpha) {\n this.x += (v.x - this.x) * alpha;\n this.y += (v.y - this.y) * alpha;\n\n return this;\n }\n\n equals(v) {\n return v.x === this.x && v.y === this.y;\n }\n\n clear() {\n this.x = 0.0;\n this.y = 0.0;\n return this;\n }\n\n clone() {\n return new Vector2D(this.x, this.y);\n }\n}\n","/** @typedef {import('../behaviour/Behaviour')} Behaviour */\n/** @typedef {import('../math/Vector2D')} Vector2D */\n/** @typedef {import('../utils/Rgb')} Rgb */\nimport Rgb from \"../utils/Rgb\";\nimport Puid from \"../utils/Puid\";\nimport Util from \"../utils/Util\";\nimport ease from \"../math/ease\";\nimport Vector2D from \"../math/Vector2D\";\nimport MathUtil from \"../math/MathUtil\";\n\nexport default class Particle {\n /** @type string */\n id = ''\n\n /** @type {{p:Vector2D,v:Vector2D,a:Vector2D}} */\n old = {}\n\n /** @type {object} */\n data = {}\n\n /** @type {Behaviour[]} */\n behaviours = []\n\n /** @type {Vector2D} */\n p = []\n\n /** @type {Vector2D} */\n v = []\n\n /** @type {Vector2D} */\n a = []\n\n /** @type {Rgb} */\n rgb = {}\n\n /**\n * the Particle class\n *\n * @class Proton.Particle\n * @constructor\n * @param {Object} pObj the parameters object;\n * for example {life:3,dead:false}\n */\n constructor(conf) {\n /**\n * The particle's id;\n * @property id\n * @type {string}\n */\n this.name = \"Particle\";\n this.id = Puid.id(this.name);\n this.old = {};\n this.data = {};\n this.behaviours = [];\n\n this.p = new Vector2D();\n this.v = new Vector2D();\n this.a = new Vector2D();\n this.old.p = new Vector2D();\n this.old.v = new Vector2D();\n this.old.a = new Vector2D();\n\n this.rgb = new Rgb();\n this.reset();\n conf && Util.setProp(this, conf);\n }\n\n getDirection() {\n return Math.atan2(this.v.x, -this.v.y) * MathUtil.N180_PI;\n }\n\n reset() {\n this.life = Infinity;\n this.age = 0;\n\n this.dead = false;\n this.sleep = false;\n this.body = null;\n this.sprite = null;\n this.parent = null;\n\n this.energy = 1; // Energy Loss\n this.mass = 1;\n this.radius = 10;\n this.alpha = 1;\n this.scale = 1;\n this.rotation = 0;\n this.color = null;\n\n this.p.set(0, 0);\n this.v.set(0, 0);\n this.a.set(0, 0);\n this.old.p.set(0, 0);\n this.old.v.set(0, 0);\n this.old.a.set(0, 0);\n this.easing = ease.easeLinear;\n\n this.rgb.reset();\n Util.emptyObject(this.data);\n this.removeAllBehaviours();\n\n return this;\n }\n\n update(time, index) {\n if (!this.sleep) {\n this.age += time;\n this.applyBehaviours(time, index);\n }\n\n if (this.age < this.life) {\n const scale = this.easing(this.age / this.life);\n this.energy = Math.max(1 - scale, 0);\n } else {\n this.destroy();\n }\n }\n\n applyBehaviours(time, index) {\n const length = this.behaviours.length;\n let i;\n\n for (i = 0; i < length; i++) {\n this.behaviours[i] &&\n this.behaviours[i].applyBehaviour(this, time, index);\n }\n }\n\n /**\n * @param {Behaviour} behaviour\n */\n addBehaviour(behaviour) {\n this.behaviours.push(behaviour);\n\n if (behaviour.hasOwnProperty(\"parents\")) behaviour.parents.push(this);\n behaviour.initialize(this);\n }\n\n /**\n * @param {Behaviour[]} behaviours\n */\n addBehaviours(behaviours) {\n const length = behaviours.length;\n let i;\n\n for (i = 0; i < length; i++) {\n this.addBehaviour(behaviours[i]);\n }\n }\n\n removeBehaviour(behaviour) {\n const index = this.behaviours.indexOf(behaviour);\n\n if (index > -1) {\n const behaviour = this.behaviours.splice(index, 1);\n behaviour.parents = null;\n }\n }\n\n removeAllBehaviours() {\n Util.emptyArray(this.behaviours);\n }\n\n /**\n * Destory this particle\n * @method destroy\n */\n destroy() {\n this.removeAllBehaviours();\n this.energy = 0;\n this.dead = true;\n this.parent = null;\n }\n}\n","export default {\n /**\n * @typedef {Object} rgbObject\n * @property {Number} r red value\n * @property {Number} g green value\n * @property {Number} b blue value\n */\n /**\n * converts a hex value to a rgb object\n *\n * @memberof Proton#Proton.Util\n * @method hexToRgb\n *\n * @param {String} h any hex value, e.g. #000000 or 000000 for black\n *\n * @return {rgbObject}\n */\n hexToRgb(h) {\n const hex16 = h.charAt(0) === \"#\" ? h.substring(1, 7) : h;\n const r = parseInt(hex16.substring(0, 2), 16);\n const g = parseInt(hex16.substring(2, 4), 16);\n const b = parseInt(hex16.substring(4, 6), 16);\n\n return { r, g, b };\n },\n\n /**\n * converts a rgb value to a rgb string\n *\n * @memberof Proton#Proton.Util\n * @method rgbToHex\n *\n * @param {Object | Proton.hexToRgb} rgb a rgb object like in {@link Proton#Proton.}\n *\n * @return {String} rgb()\n */\n rgbToHex(rbg) {\n return `rgb(${rbg.r}, ${rbg.g}, ${rbg.b})`;\n },\n\n getHex16FromParticle(p) {\n return Number(p.rgb.r) * 65536 + Number(p.rgb.g) * 256 + Number(p.rgb.b);\n }\n};\n","import Vector2D from \"./Vector2D\";\n\nexport default class Polar2D {\n constructor(r, tha) {\n this.r = Math.abs(r) || 0;\n this.tha = tha || 0;\n }\n\n set(r, tha) {\n this.r = r;\n this.tha = tha;\n return this;\n }\n\n setR(r) {\n this.r = r;\n return this;\n }\n\n setTha(tha) {\n this.tha = tha;\n return this;\n }\n\n copy(p) {\n this.r = p.r;\n this.tha = p.tha;\n return this;\n }\n\n toVector() {\n return new Vector2D(this.getX(), this.getY());\n }\n\n getX() {\n return this.r * Math.sin(this.tha);\n }\n\n getY() {\n return -this.r * Math.cos(this.tha);\n }\n\n normalize() {\n this.r = 1;\n return this;\n }\n\n equals(v) {\n return v.r === this.r && v.tha === this.tha;\n }\n\n clear() {\n this.r = 0.0;\n this.tha = 0.0;\n return this;\n }\n\n clone() {\n return new Polar2D(this.r, this.tha);\n }\n}\n","const Mat3 = {\n create(mat3) {\n const mat = new Float32Array(9);\n if (mat3) this.set(mat3, mat);\n\n return mat;\n },\n\n set(mat1, mat2) {\n for (let i = 0; i < 9; i++) mat2[i] = mat1[i];\n\n return mat2;\n },\n\n multiply(mat, mat2, mat3) {\n let a00 = mat[0],\n a01 = mat[1],\n a02 = mat[2],\n a10 = mat[3],\n a11 = mat[4],\n a20 = mat[6],\n a21 = mat[7],\n b00 = mat2[0],\n b01 = mat2[1],\n b02 = mat2[2],\n b10 = mat2[3],\n b11 = mat2[4],\n b20 = mat2[6],\n b21 = mat2[7];\n\n mat3[0] = b00 * a00 + b01 * a10;\n mat3[1] = b00 * a01 + b01 * a11;\n mat3[2] = a02 * b02;\n mat3[3] = b10 * a00 + b11 * a10;\n mat3[4] = b10 * a01 + b11 * a11;\n mat3[6] = b20 * a00 + b21 * a10 + a20;\n mat3[7] = b20 * a01 + b21 * a11 + a21;\n\n return mat3;\n },\n\n inverse(mat, mat3) {\n let a00 = mat[0],\n a01 = mat[1],\n a10 = mat[3],\n a11 = mat[4],\n a20 = mat[6],\n a21 = mat[7],\n b01 = a11,\n b11 = -a10,\n b21 = a21 * a10 - a11 * a20,\n d = a00 * b01 + a01 * b11,\n id;\n\n id = 1 / d;\n mat3[0] = b01 * id;\n mat3[1] = -a01 * id;\n mat3[3] = b11 * id;\n mat3[4] = a00 * id;\n mat3[6] = b21 * id;\n mat3[7] = (-a21 * a00 + a01 * a20) * id;\n\n return mat3;\n },\n\n multiplyVec2(m, vec, mat3) {\n let x = vec[0],\n y = vec[1];\n\n mat3[0] = x * m[0] + y * m[3] + m[6];\n mat3[1] = x * m[1] + y * m[4] + m[7];\n\n return mat3;\n }\n};\n\nexport default Mat3;\n","import Span from \"./Span\";\nimport Util from \"../utils/Util\";\nimport MathUtil from \"./MathUtil\";\n\nexport default class ArraySpan extends Span {\n constructor(color) {\n super();\n this._arr = Util.toArray(color);\n }\n\n getValue() {\n const val = Util.getRandFromArray(this._arr);\n return val === \"random\" || val === \"Random\" ? MathUtil.randomColor() : val;\n }\n\n /**\n * Make sure that the color is an instance of Proton.ArraySpan, if not it makes a new instance\n *\n * @method setSpanValue\n * @memberof Proton#Proton.Color\n * @instance\n *\n * @param {Proton.Particle} particle\n * @param {Number} the integrate time 1/ms\n * @param {Int} the particle index\n */\n static createArraySpan(arr) {\n if (!arr) return null;\n\n if (arr instanceof ArraySpan) return arr;\n else return new ArraySpan(arr);\n }\n}\n","export default class Rectangle {\n constructor(x, y, w, h) {\n this.x = x;\n this.y = y;\n\n this.width = w;\n this.height = h;\n\n this.bottom = this.y + this.height;\n this.right = this.x + this.width;\n }\n\n contains(x, y) {\n if (x <= this.right && x >= this.x && y <= this.bottom && y >= this.y)\n return true;\n else return false;\n }\n}\n","import Span from \"../math/Span\";\nimport Util from \"../utils/Util\";\n\nexport default class Rate {\n /**\n * The number of particles per second emission (a [particle]/b [s]);\n * @namespace\n * @memberof! Proton#\n * @constructor\n * @alias Rate\n *\n * @param {Array | Number | Span} numpan the number of each emission;\n * @param {Array | Number | Span} timepan the time of each emission;\n * for example: new Rate(new Span(10, 20), new Span(.1, .25));\n */\n constructor(numpan, timepan) {\n this.numPan = Span.setSpanValue(Util.initValue(numpan, 1));\n this.timePan = Span.setSpanValue(Util.initValue(timepan, 1));\n\n this.startTime = 0;\n this.nextTime = 0;\n this.init();\n }\n\n init() {\n this.startTime = 0;\n this.nextTime = this.timePan.getValue();\n }\n\n getValue(time) {\n this.startTime += time;\n\n if (this.startTime >= this.nextTime) {\n this.startTime = 0;\n this.nextTime = this.timePan.getValue();\n\n if (this.numPan.b === 1) {\n if (this.numPan.getValue(false) > 0.5) return 1;\n else return 0;\n } else {\n return this.numPan.getValue(true);\n }\n }\n\n return 0;\n }\n}\n","export default class Initialize {\n reset() {}\n\n init(emitter, particle) {\n if (particle) {\n this.initialize(particle);\n } else {\n this.initialize(emitter);\n }\n }\n\n // sub class init\n initialize(target) {}\n}\n","import Span from \"../math/Span\";\nimport Initialize from \"./Initialize\";\n\nexport default class Life extends Initialize {\n constructor(a, b, c) {\n super();\n\n this.lifePan = Span.setSpanValue(a, b, c);\n this.name = \"Life\";\n }\n\n initialize(target) {\n if (this.lifePan.a === Infinity) target.life = Infinity;\n else target.life = this.lifePan.getValue();\n }\n}\n","import Vector2D from \"../math/Vector2D\";\n\nexport default class Zone {\n constructor() {\n this.vector = new Vector2D(0, 0);\n this.random = 0;\n this.crossType = \"dead\";\n this.alert = true;\n }\n\n getPosition() {}\n\n crossing(particle) {}\n}\n","import Zone from \"./Zone\";\n\nexport default class PointZone extends Zone {\n constructor(x, y) {\n super();\n\n this.x = x;\n this.y = y;\n }\n\n getPosition() {\n this.vector.x = this.x;\n this.vector.y = this.y;\n\n return this.vector;\n }\n\n crossing(particle) {\n if (this.alert) {\n console.error(\"Sorry, PointZone does not support crossing method!\");\n this.alert = false;\n }\n }\n}\n","import Util from \"../utils/Util\";\nimport PointZone from \"../zone/PointZone\";\nimport Initialize from \"./Initialize\";\n\nexport default class Position extends Initialize {\n constructor(zone) {\n super();\n this.zone = Util.initValue(zone, new PointZone());\n this.name = \"Position\";\n }\n\n reset(zone) {\n this.zone = Util.initValue(zone, new PointZone());\n }\n\n initialize(target) {\n this.zone.getPosition();\n\n target.p.x = this.zone.vector.x;\n target.p.y = this.zone.vector.y;\n }\n}\n","import Proton from \"../core/Proton\";\nimport Span from \"../math/Span\";\nimport Util from \"../utils/Util\";\nimport Initialize from \"./Initialize\";\nimport Polar2D from \"../math/Polar2D\";\nimport MathUtil from \"../math/MathUtil\";\n\nexport default class Velocity extends Initialize {\n constructor(rpan, thapan, type) {\n super();\n\n this.rPan = Span.setSpanValue(rpan);\n this.thaPan = Span.setSpanValue(thapan);\n this.type = Util.initValue(type, \"vector\");\n\n this.name = \"Velocity\";\n }\n\n reset(rpan, thapan, type) {\n this.rPan = Span.setSpanValue(rpan);\n this.thaPan = Span.setSpanValue(thapan);\n this.type = Util.initValue(type, \"vector\");\n }\n\n normalizeVelocity(vr) {\n return vr * Proton.MEASURE;\n }\n\n initialize(target) {\n if (this.type === \"p\" || this.type === \"P\" || this.type === \"polar\") {\n const polar2d = new Polar2D(\n this.normalizeVelocity(this.rPan.getValue()),\n this.thaPan.getValue() * MathUtil.PI_180\n );\n\n target.v.x = polar2d.getX();\n target.v.y = polar2d.getY();\n } else {\n target.v.x = this.normalizeVelocity(this.rPan.getValue());\n target.v.y = this.normalizeVelocity(this.thaPan.getValue());\n }\n }\n}\n","import Span from \"../math/Span\";\nimport Initialize from \"./Initialize\";\n\nexport default class Mass extends Initialize {\n constructor(a, b, c) {\n super();\n this.massPan = Span.setSpanValue(a, b, c);\n this.name = \"Mass\";\n }\n\n initialize(target) {\n target.mass = this.massPan.getValue();\n }\n}\n","import Span from \"../math/Span\";\nimport Initialize from \"./Initialize\";\n\nexport default class Radius extends Initialize {\n constructor(a, b, c) {\n super();\n this.radius = Span.setSpanValue(a, b, c);\n\n this.name = \"Radius\";\n }\n\n reset(a, b, c) {\n this.radius = Span.setSpanValue(a, b, c);\n }\n\n initialize(particle) {\n particle.radius = this.radius.getValue();\n particle.data.oldRadius = particle.radius;\n }\n}\n","import Util from \"../utils/Util\";\nimport ArraySpan from \"../math/ArraySpan\";\nimport Initialize from \"./Initialize\";\n\nexport default class Body extends Initialize {\n constructor(image, w, h) {\n super();\n\n this.image = this.setSpanValue(image);\n this.w = Util.initValue(w, 20);\n this.h = Util.initValue(h, this.w);\n this.name = \"Body\";\n }\n\n initialize(particle) {\n const imageTarget = this.image.getValue();\n\n if (typeof imageTarget === \"string\") {\n particle.body = {\n width: this.w,\n height: this.h,\n src: imageTarget,\n isInner: true,\n inner: true\n };\n } else {\n particle.body = imageTarget;\n }\n }\n\n setSpanValue(image) {\n return image instanceof ArraySpan ? image : new ArraySpan(image);\n }\n}\n","import Proton from '../core/Proton';\nimport Util from '../utils/Util';\nimport ease from '../math/ease';\n\nexport default class Behaviour {\n static id = 0;\n\n /**\n * The Behaviour class is the base for the other Behaviour\n *\n * @memberof! -\n * @interface\n * @alias Proton.Behaviour\n *\n * @param {Number} life \tthe behaviours life\n * @param {String} easing \tThe behaviour's decaying trend, for example ease.easeOutQuart\n *\n * @property {String} id \t\tThe behaviours id\n * @param {Number} [life=Infinity] \t\t\t\tthis behaviour's life\n * @param {String} [easing=ease.easeLinear] \tthis behaviour's easing\n * @property {Number} age=0 \tHow long the particle should be 'alife'\n * @property {Number} energy=1\n * @property {Boolean} dead=false The particle is dead at first\n * @property {Array} parents \tThe behaviour's parents array\n * @property {String} name \tThe behaviour name\n */\n constructor(life, easing) {\n\n this.life = Util.initValue(life, Infinity);\n this.easing = ease.getEasing(easing);\n\n this.age = 0;\n this.energy = 1;\n this.dead = false;\n this.parents = [];\n\n this.id = `Behaviour_${Behaviour.id++}`;\n this.name = 'Behaviour';\n }\n\n /**\n * Reset this behaviour's parameters\n *\n * @method reset\n * @memberof Proton.Behaviour\n * @instance\n *\n * @param {Number} [life=Infinity] \t\tthis behaviour's life\n * @param {String} [easing=easeLinear] \tthis behaviour's easing\n */\n reset(life, easing) {\n this.life = Util.initValue(life, Infinity);\n this.easing = ease.getEasing(easing);\n }\n\n /**\n * Normalize a force by 1:100;\n *\n * @method normalizeForce\n * @memberof Proton.Behaviour\n * @instance\n *\n * @param {Proton.Vector2D} force\n */\n normalizeForce(force) {\n return force.multiplyScalar(Proton.MEASURE);\n }\n\n /**\n * Normalize a value by 1:100;\n *\n * @method normalizeValue\n * @memberof Proton.Behaviour\n * @instance\n *\n * @param {Number} value\n */\n normalizeValue(value) {\n return value * Proton.MEASURE;\n }\n\n /**\n * Initialize the behaviour's parameters for all particles\n *\n * @method initialize\n * @memberof Proton.Behaviour\n * @instance\n *\n * @param {Proton.Particle} particle\n */\n initialize(particle) {}\n\n /**\n * Apply this behaviour for all particles every time\n *\n * @method applyBehaviour\n * @memberof Proton.Behaviour\n * @instance\n *\n * @param {Proton.Particle} particle\n * @param {Number} \t\t\ttime the integrate time 1/ms\n * @param {Int} \t\t\tindex the particle index\n */\n calculate(particle, time, index) {\n this.age += time;\n\n if (this.age >= this.life || this.dead) {\n this.energy = 0;\n this.dead = true;\n this.destroy();\n } else {\n const scale = this.easing(particle.age / particle.life);\n this.energy = Math.max(1 - scale, 0);\n }\n }\n\n /**\n * Destory this behaviour\n *\n * @method destroy\n * @memberof Proton.Behaviour\n * @instance\n */\n destroy() {\n let i = this.parents.length;\n while (i--) {\n this.parents[i].removeBehaviour(this);\n }\n\n this.parents.length = 0;\n }\n}\n","import Vector2D from '../math/Vector2D';\nimport Behaviour from './Behaviour';\n\nexport default class Force extends Behaviour {\n\n\t/**\n\t * @memberof! Proton#\n\t * @augments Proton.Behaviour\n\t * @constructor\n\t * @alias Proton.Force\n\t *\n\t * @param {Number} fx\n\t * @param {Number} fy\n\t * @param {Number} [life=Infinity] \t\t\tthis behaviour's life\n\t * @param {String} [easing=ease.easeLinear] \tthis behaviour's easing\n\t *\n\t * @property {String} name The Behaviour name\n\t */\n\tconstructor(fx, fy, life, easing) {\n\t\tsuper(life, easing);\n\n\t\tthis.force = this.normalizeForce(new Vector2D(fx, fy));\n\t\tthis.name = 'Force';\n\t}\n\n\t/**\n\t * Reset this behaviour's parameters\n\t *\n\t * @method reset\n\t * @memberof Proton#Proton.Force\n\t * @instance\n\t *\n\t * @param {Number} fx\n\t * @param {Number} fy\n\t * @param {Number} [life=Infinity] \t\t\tthis behaviour's life\n\t * @param {String} [easing=ease.easeLinear] \tthis behaviour's easing\n\t */\n\treset(fx, fy, life, easing) {\n\t\tthis.force = this.normalizeForce(new Vector2D(fx, fy));\n\n\t\tlife && super.reset(life, easing);\n\t}\n\n\t/**\n\t * Apply this behaviour for all particles every time\n\t *\n\t * @method applyBehaviour\n\t * @memberof Proton#Proton.Force\n\t * @instance\n\t *\n\t * @param {Proton.Particle} particle\n\t * @param {Number} the integrate time 1/ms\n\t * @param {Int} the particle index\n\t */\n\tapplyBehaviour(particle, time, index) {\n\t\tthis.calculate(particle, time, index);\n\t\tparticle.a.add(this.force);\n\t}\n}","import Util from \"../utils/Util\";\nimport Vector2D from \"../math/Vector2D\";\nimport Behaviour from \"./Behaviour\";\n\nexport default class Attraction extends Behaviour {\n /**\n * This behaviour let the particles follow one specific Proton.Vector2D\n *\n * @memberof! Proton#\n * @augments Proton.Behaviour\n * @constructor\n * @alias Proton.Attraction\n *\n * @todo add description for 'force' and 'radius'\n *\n * @param {Proton.Vector2D} targetPosition the attraction point coordinates\n * @param {Number} [force=100]\n * @param {Number} [radius=1000]\n * @param {Number} [life=Infinity] \t\t\t\tthis behaviour's life\n * @param {String} [easing=ease.easeLinear] \tthis behaviour's easing\n *\n * @property {Proton.Vector2D} targetPosition\n * @property {Number} radius\n * @property {Number} force\n * @property {Number} radiusSq\n * @property {Proton.Vector2D} attractionForce\n * @property {Number} lengthSq\n * @property {String} name The Behaviour name\n */\n constructor(targetPosition, force, radius, life, easing) {\n super(life, easing);\n\n this.targetPosition = Util.initValue(targetPosition, new Vector2D());\n this.radius = Util.initValue(radius, 1000);\n this.force = Util.initValue(this.normalizeValue(force), 100);\n\n this.radiusSq = this.radius * this.radius;\n this.attractionForce = new Vector2D();\n this.lengthSq = 0;\n\n this.name = \"Attraction\";\n }\n\n /**\n * Reset this behaviour's parameters\n *\n * @method reset\n * @memberof Proton#Proton.Attraction\n * @instance\n *\n * @todo add description for 'force' and 'radius'\n *\n * @param {Proton.Vector2D} targetPosition the attraction point coordinates\n * @param {Number} [force=100]\n * @param {Number} [radius=1000]\n * @param {Number} [life=Infinity] \t\t\t\tthis behaviour's life\n * @param {String} [easing=ease.easeLinear] \tthis behaviour's easing\n */\n reset(targetPosition, force, radius, life, easing) {\n this.targetPosition = Util.initValue(targetPosition, new Vector2D());\n this.radius = Util.initValue(radius, 1000);\n this.force = Util.initValue(this.normalizeValue(force), 100);\n\n this.radiusSq = this.radius * this.radius;\n this.attractionForce = new Vector2D();\n this.lengthSq = 0;\n\n life && super.reset(life, easing);\n }\n\n /**\n * Apply this behaviour for all particles every time\n *\n * @memberof Proton#Proton.Attraction\n * @method applyBehaviour\n * @instance\n *\n * @param {Proton.Particle} particle\n * @param {Number} \t\t\ttime the integrate time 1/ms\n * @param {Int} \t\t\tindex the particle index\n */\n applyBehaviour(particle, time, index) {\n this.calculate(particle, time, index);\n\n this.attractionForce.copy(this.targetPosition);\n this.attractionForce.sub(particle.p);\n this.lengthSq = this.attractionForce.lengthSq();\n\n if (this.lengthSq > 0.00004 && this.lengthSq < this.radiusSq) {\n this.attractionForce.normalize();\n this.attractionForce.multiplyScalar(1 - this.lengthSq / this.radiusSq);\n this.attractionForce.multiplyScalar(this.force);\n\n particle.a.add(this.attractionForce);\n }\n }\n}\n","import Vector2D from \"../math/Vector2D\";\nimport MathUtil from \"../math/MathUtil\";\nimport Behaviour from \"./Behaviour\";\n\nexport default class RandomDrift extends Behaviour {\n /**\n * @memberof! Proton#\n * @augments Behaviour\n * @constructor\n * @alias RandomDrift\n *\n * @param {Number} driftX \t\t\t\tX value of the new Vector2D\n * @param {Number} driftY \t\t\t\tY value of the new Vector2D\n * @param {Number} delay \t\t\t\tHow much delay the drift should have\n * @param {Number} [life=Infinity] \t\tthis behaviour's life\n * @param {String} [easing=easeLinear] \tthis behaviour's easing\n *\n * @property {Number} time The time of the drift\n * @property {String} name The Behaviour name\n */\n constructor(driftX, driftY, delay, life, easing) {\n super(life, easing);\n\n this.reset(driftX, driftY, delay);\n this.time = 0;\n this.name = \"RandomDrift\";\n }\n\n /**\n * Reset this behaviour's parameters\n *\n * @method reset\n * @memberof Proton#RandomDrift\n * @instance\n *\n * @param {Number} driftX \t\t\t\tX value of the new Vector2D\n * @param {Number} driftY \t\t\t\tY value of the new Vector2D\n * @param {Number} delay \t\t\t\tHow much delay the drift should have\n * @param {Number} [life=Infinity] \t\tthis behaviour's life\n * @param {String} [easing=easeLinear] \tthis behaviour's easing\n */\n reset(driftX, driftY, delay, life, easing) {\n this.panFoce = new Vector2D(driftX, driftY);\n this.panFoce = this.normalizeForce(this.panFoce);\n this.delay = delay;\n\n life && super.reset(life, easing);\n }\n\n initialize(particle) {\n particle.data.time = 0;\n }\n\n /**\n * Apply this behaviour for all particles every time\n *\n * @method applyBehaviour\n * @memberof Proton#RandomDrift\n * @instance\n *\n * @param {Particle} particle\n * @param {Number} \t\t\ttime the integrate time 1/ms\n * @param {Int} \t\t\tindex the particle index\n */\n applyBehaviour(particle, time, index) {\n this.calculate(particle, time, index);\n particle.data.time += time;\n\n if (particle.data.time >= this.delay) {\n particle.a.addXY(\n MathUtil.randomAToB(-this.panFoce.x, this.panFoce.x),\n MathUtil.randomAToB(-this.panFoce.y, this.panFoce.y)\n );\n\n particle.data.time = 0;\n }\n }\n}\n","import Force from './Force';\n\nexport default class Gravity extends Force {\n\n\t/**\n\t * @memberof! Proton#\n\t * @augments Proton#Proton.Force\n\t * @constructor\n\t * @alias Proton.Gravity\n\t *\n\t * @param {Number} g \t\t\t\t\t\t\tGravity\n\t * @param {Number} [life=Infinity] \t\t\t\tthis behaviour's life\n\t * @param {String} [easing=ease.easeLinear] \tthis behaviour's easing\n\t *\n\t * @property {String} name The Behaviour name\n\t */\n\tconstructor(g, life, easing) {\n\t\tsuper(0, g, life, easing);\n\t\tthis.name = 'Gravity';\n\t}\n\n\t/**\n\t * Reset this behaviour's parameters\n\t *\n\t * @method reset\n\t * @memberof Proton#Proton.Gravity\n\t * @instance\n\t *\n\t * @param {Number} g \t\t\t\t\t\t\tGravity\n\t * @param {Number} [life=Infinity] \t\t\t\tthis behaviour's life\n\t * @param {String} [easing=ease.easeLinear] \tthis behaviour's easing\n\t */\n\treset(g, life, easing) {\n\t\tsuper.reset(0, g, life, easing);\n\t}\n}","import Util from '../utils/Util';\nimport Vector2D from '../math/Vector2D';\nimport Behaviour from './Behaviour';\n\nexport default class Collision extends Behaviour {\n\n\t/**\n\t * The callback after collision\n\t *\n\t * @callback Callback\n\t *\n\t * @param {Proton.Particle} particle\n\t * @param {Proton.Paritcle} otherParticle\n\t */\n\t/**\n\t * @memberof! Proton#\n\t * @augments Proton.Behaviour\n\t * @constructor\n\t * @alias Proton.Collision\n\t *\n\t * @todo add description to mass\n\t *\n\t * @param {Proton.Emitter} \t[emitter=null] \t\tthe attraction point coordinates\n\t * @param {Boolean} \t\t[mass=true]\n\t * @param {Callback}\t \t[callback=null]\t\tthe callback after the collision\n\t * @param {Number} [life=Infinity] \t\t\t\tthis behaviour's life\n\t * @param {String} [easing=ease.easeLinear] \tthis behaviour's easing\n\t *\n\t * @property {String} name The Behaviour name\n\t */\n\tconstructor(emitter, mass, callback, life, easing) {\n\t\tsuper(life, easing);\n\n\t\tthis.reset(emitter, mass, callback);\n\t\tthis.name = 'Collision';\n\t}\n\n\t/**\n\t * Reset this behaviour's parameters\n\t *\n\t * @memberof Proton#Proton.Collision\n\t * @method reset\n\t * @instance\n\t *\n\t * @todo add description to mass\n\t *\n\t * @param {Proton.Emitter} \t[emitter=null] \t\tthe attraction point coordinates\n\t * @param {Boolean} \t\t[mass=true]\n\t * @param {Callback}\t \t[callback=null]\t\tthe callback after the collision\n\t * @param {Number} \t\t\t[life=Infinity] \tthis behaviour's life\n\t * @param {String} [easing=ease.easeLinear] \tthis behaviour's easing\n\t */\n\treset(emitter, mass, callback, life, easing) {\n\t\tthis.emitter = Util.initValue(emitter, null);\n\t\tthis.mass = Util.initValue(mass, true);\n\t\tthis.callback = Util.initValue(callback, null);\n\n\t\tthis.collisionPool = [];\n\t\tthis.delta = new Vector2D();\n\n\t\tlife && super.reset(life, easing);\n\t}\n\n\t/**\n\t * Apply this behaviour for all particles every time\n\t *\n\t * @memberof Proton#Proton.Collision\n\t * @method applyBehaviour\n\t * @instance\n\t *\n\t * @param {Proton.Particle} particle\n\t * @param {Number} \t\t\ttime the integrate time 1/ms\n\t * @param {Int} \t\t\tindex the particle index\n\t */\n\tapplyBehaviour(particle, time, index) {\n\t\tconst newPool = this.emitter ? this.emitter.particles.slice(index) : this.pool.slice(index);\n\t\tconst length = newPool.length;\n\n\t\tlet otherParticle;\n\t\tlet lengthSq;\n\t\tlet overlap;\n\t\tlet totalMass;\n\t\tlet averageMass1, averageMass2;\n\t\tlet i;\n\n\t\tfor (i = 0; i < length; i++) {\n\t\t\totherParticle = newPool[i];\n\n\t\t\tif (otherParticle !== particle) {\n\t\t\t\tthis.delta.copy(otherParticle.p);\n\t\t\t\tthis.delta.sub(particle.p);\n\n\t\t\t\tlengthSq = this.delta.lengthSq();\n\t\t\t\tconst distance = particle.radius + otherParticle.radius;\n\n\t\t\t\tif (lengthSq <= distance * distance) {\n\t\t\t\t\toverlap = distance - Math.sqrt(lengthSq);\n\t\t\t\t\toverlap += 0.5;\n\n\t\t\t\t\ttotalMass = particle.mass + otherParticle.mass;\n\t\t\t\t\taverageMass1 = this.mass ? otherParticle.mass / totalMass : 0.5;\n\t\t\t\t\taverageMass2 = this.mass ? particle.mass / totalMass : 0.5;\n\n\t\t\t\t\tparticle.p.add(this.delta.clone().normalize().multiplyScalar(overlap * -averageMass1));\n\t\t\t\t\totherParticle.p.add(this.delta.normalize().multiplyScalar(overlap * averageMass2));\n\n\t\t\t\t\tthis.callback && this.callback(particle, otherParticle);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}","import Util from '../utils/Util';\nimport Behaviour from './Behaviour';\n\nexport default class CrossZone extends Behaviour {\n\n /**\n * Defines what happens if the particles come to the end of the specified zone\n *\n * @memberof! Proton#\n * @augments Proton.Behaviour\n * @constructor\n * @alias Proton.CrossZone\n *\n * @param {Proton.Zone} zone \t\t\t\t\t\tcan be any Proton.Zone - e.g. Proton.RectZone()\n * @param {String} \t\t[crossType=dead] \t\t\twhat happens if the particles pass the zone - allowed strings: dead | bound | cross\n * @param {Number} \t\t[life=Infinity] \t\t\tthis behaviour's life\n * @param {String} \t\t[easing=ease.easeLinear] \tthis behaviour's easing\n *\n * @property {String} name The Behaviour name\n */\n constructor(zone, crossType, life, easing) {\n super(life, easing);\n\n this.reset(zone, crossType);\n this.name = 'CrossZone';\n }\n\n /**\n * Reset this behaviour's parameters\n *\n * @method reset\n * @memberof Proton#Proton.CrossZone\n * @instance\n *\n * @param {Proton.Zone} zone \t\t\t\tcan be any Proton.Zone - e.g. Proton.RectZone()\n * @param {String} \t\t[crossType=dead] \twhat happens if the particles pass the zone - allowed strings: dead | bound | cross\n * @param {Number} \t\t[life=Infinity] \tthis behaviour's life\n * @param {String} \t\t[easing=easeLinear]\tthis behaviour's easing\n */\n reset(zone, crossType, life, easing) {\n this.zone = zone;\n this.zone.crossType = Util.initValue(crossType, 'dead');\n\n life && super.reset(life, easing);\n }\n\n /**\n * Apply this behaviour for all particles every time\n *\n * @method applyBehaviour\n * @memberof Proton#Proton.CrossZone\n * @instance\n *\n * @param {Proton.Particle} particle\n * @param {Number} the integrate time 1/ms\n * @param {Int} the particle index\n */\n applyBehaviour(particle, time, index) {\n this.calculate(particle, time, index);\n this.zone.crossing(particle);\n };\n}","import Util from \"../utils/Util\";\nimport Span from \"../math/Span\";\nimport Behaviour from \"./Behaviour\";\n\nexport default class Alpha extends Behaviour {\n /**\n * @memberof! Proton#\n * @augments Proton.Behaviour\n * @constructor\n * @alias Proton.Alpha\n *\n * @todo add description for 'a' and 'b'\n *\n * @param {Number} a\n * @param {String} b\n * @param {Number} [life=Infinity] \t\t\t\tthis behaviour's life\n * @param {String} [easing=ease.easeLinear] \tthis behaviour's easing\n *\n * @property {String} name The Behaviour name\n */\n constructor(a, b, life, easing) {\n super(life, easing);\n\n this.reset(a, b);\n this.name = \"Alpha\";\n }\n\n /**\n * Reset this behaviour's parameters\n *\n * @method reset\n * @memberof Proton#Proton.Alpha\n * @instance\n *\n * @todo add description for 'a' and 'b'\n *\n * @param {Number} a\n * @param {String} b\n * @param {Number} [life=Infinity] \t\t\t\tthis behaviour's life\n * @param {String} [easing=ease.easeLinear] \tthis behaviour's easing\n */\n reset(a, b, life, easing) {\n this.same = b === null || b === undefined ? true : false;\n this.a = Span.setSpanValue(Util.initValue(a, 1));\n this.b = Span.setSpanValue(b);\n\n life && super.reset(life, easing);\n }\n\n /**\n * Sets the new alpha value of the particle\n *\n * @method initialize\n * @memberof Proton#Proton.Alpha\n * @instance\n *\n * @param {Proton.Particle} particle A single Proton generated particle\n */\n initialize(particle) {\n particle.data.alphaA = this.a.getValue();\n\n if (this.same) particle.data.alphaB = particle.data.alphaA;\n else particle.data.alphaB = this.b.getValue();\n }\n\n /**\n * @method applyBehaviour\n * @memberof Proton#Proton.Alpha\n * @instance\n *\n * @param {Proton.Particle} particle\n * @param {Number} \t\t\ttime the integrate time 1/ms\n * @param {Int} \t\t\tindex the particle index\n */\n applyBehaviour(particle, time, index) {\n this.calculate(particle, time, index);\n\n particle.alpha =\n particle.data.alphaB +\n (particle.data.alphaA - particle.data.alphaB) * this.energy;\n\n if (particle.alpha < 0.001) particle.alpha = 0;\n }\n}\n","import Span from \"../math/Span\";\nimport Util from '../utils/Util';\nimport Behaviour from './Behaviour';\n\nexport default class Scale extends Behaviour {\n\n\t/**\n\t * @memberof! Proton#\n\t * @augments Proton.Behaviour\n\t * @constructor\n\t * @alias Proton.Scale\n\t *\n\t * @todo add description for 'a' and 'b'\n\t *\n\t * @param {Number} a\n\t * @param {String} b\n\t * @param {Number} [life=Infinity] \t\t\t\tthis behaviour's life\n\t * @param {String} [easing=ease.easeLinear] \tthis behaviour's easing\n\t *\n\t * @property {String} name The Behaviour name\n\t */\n\tconstructor(a, b, life, easing) {\n\t\tsuper(life, easing);\n\n\t\tthis.reset(a, b);\n\t\tthis.name = 'Scale';\n\t}\n\n\t/**\n\t * Reset this behaviour's parameters\n\t *\n\t * @method reset\n\t * @memberof Proton#Proton.Scale\n\t * @instance\n\t *\n\t * @param {Number} a\n\t * @param {String} b\n\t * @param {Number} [life=Infinity] \t\t\t\tthis behaviour's life\n\t * @param {String} [easing=ease.easeLinear] \tthis behaviour's easing\n\t */\n\treset(a, b, life, easing) {\n\t\tthis.same = b === null || b === undefined ? true : false;\n\t\tthis.a = Span.setSpanValue(Util.initValue(a, 1));\n\t\tthis.b = Span.setSpanValue(b);\n\n\t\tlife && super.reset(life, easing);\n\t}\n\n\t/**\n\t * Initialize the behaviour's parameters for all particles\n\t *\n\t * @method initialize\n\t * @memberof Proton#Proton.Scale\n\t * @instance\n\t *\n\t * @param {Proton.Particle} particle\n\t */\n\tinitialize(particle) {\n\t\tparticle.data.scaleA = this.a.getValue();\n\t\tparticle.data.oldRadius = particle.radius;\n\t\tparticle.data.scaleB = this.same ? particle.data.scaleA : this.b.getValue();\n\t};\n\n\t/**\n\t * Apply this behaviour for all particles every time\n\t *\n\t * @method applyBehaviour\n\t * @memberof Proton#Proton.Scale\n\t * @instance\n\t *\n\t * @param {Proton.Particle} particle\n\t * @param {Number} \t\t\ttime the integrate time 1/ms\n\t * @param {Int} \t\t\tindex the particle index\n\t */\n\tapplyBehaviour(particle, time, index) {\n\t\tthis.calculate(particle, time, index);\n\t\tparticle.scale = particle.data.scaleB + (particle.data.scaleA - particle.data.scaleB) * this.energy;\n\n\t\tif (particle.scale < 0.0001) particle.scale = 0;\n\t\tparticle.radius = particle.data.oldRadius * particle.scale;\n\t}\n}","import Span from \"../math/Span\";\nimport Util from '../utils/Util';\nimport Behaviour from './Behaviour';\n\nexport default class Rotate extends Behaviour {\n\n\t/**\n\t * @memberof! Proton#\n\t * @augments Proton.Behaviour\n\t * @constructor\n\t * @alias Proton.Rotate\n\t *\n\t * @todo add description for 'a', 'b' and 'style'\n\t *\n\t * @param {String} [influence=Velocity] The rotation's influence\n\t * @param {String} b\n\t * @param {String} [style=to]\n\t * @param {Number} [life=Infinity] \t\t\t\tthis behaviour's life\n\t * @param {String} [easing=ease.easeLinear] \tthis behaviour's easing\n\t *\n\t * @property {String} name The Behaviour name\n\t */\n\tconstructor(influence, b, style, life, easing) {\n\t\tsuper(life, easing);\n\n\t\tthis.reset(influence, b, style);\n\t\tthis.name = 'Rotate';\n\t}\n\n\t/**\n\t * Reset this behaviour's parameters\n\t *\n\t * @method reset\n\t * @memberof Proton#Proton.Rotate\n\t * @instance\n\t *\n\t * @todo add description for 'a', 'b' and 'style'\n\t *\n\t * @param {String} a\n\t * @param {String} b\n\t * @param {String} [style=to]\n\t * @param {Number} [life=Infinity] \t\t\t\tthis behaviour's life\n\t * @param {String} [easing=ease.easeLinear] \tthis behaviour's easing\n\t */\n\treset(a, b, style, life, easing) {\n\t\tthis.same = b === null || b === undefined ? true : false;\n\n\t\tthis.a = Span.setSpanValue(Util.initValue(a, 'Velocity'));\n\t\tthis.b = Span.setSpanValue(Util.initValue(b, 0));\n\t\tthis.style = Util.initValue(style, 'to');\n\n\t\tlife && super.reset(life, easing);\n\t}\n\n\t/**\n\t * Initialize the behaviour's parameters for all particles\n\t *\n\t * @method initialize\n\t * @memberof Proton#Proton.Rotate\n\t * @instance\n\t *\n\t * @param {Proton.Particle} particle\n\t */\n\tinitialize(particle) {\n\t\tparticle.rotation = this.a.getValue();\n\t\tparticle.data.rotationA = this.a.getValue();\n\n\t\tif (!this.same) particle.data.rotationB = this.b.getValue();\n\t};\n\n\t/**\n\t * Apply this behaviour for all particles every time\n\t *\n\t * @method applyBehaviour\n\t * @memberof Proton#Proton.Rotate\n\t * @instance\n\t *\n\t * @param {Proton.Particle} particle\n\t * @param {Number} \t\t\ttime the integrate time 1/ms\n\t * @param {Int} \t\t\tindex the particle index\n\t */\n\tapplyBehaviour(particle, time, index) {\n\t\tthis.calculate(particle, time, index);\n\n\t\tif (!this.same) {\n\t\t\tif (this.style === 'to' || this.style === 'TO' || this.style === '_') {\n\t\t\t\tparticle.rotation += particle.data.rotationB + (particle.data.rotationA - particle.data.rotationB) * this.energy\n\t\t\t} else {\n\t\t\t\tparticle.rotation += particle.data.rotationB;\n\t\t\t}\n\t\t} else if (this.a.a === 'V' || this.a.a === 'Velocity' || this.a.a === 'v') {\n\t\t\t// beta...\n\t\t\tparticle.rotation = particle.getDirection();\n\t\t}\n\t}\n\n}\n","import ColorUtil from \"../utils/ColorUtil\";\nimport ArraySpan from \"../math/ArraySpan\";\nimport Behaviour from \"./Behaviour\";\n\nexport default class Color extends Behaviour {\n /**\n * @memberof! Proton#\n * @augments Proton.Behaviour\n * @constructor\n * @alias Proton.Color\n *\n * @param {Proton.ArraySpan | String} a the string should be a hex e.g. #000000 for black\n * @param {Proton.ArraySpan | String} b the string should be a hex e.g. #000000 for black\n * @param {Number} [life=Infinity] \tthis behaviour's life\n * @param {String} [easing=easeLinear] \tthis behaviour's easing\n *\n * @property {String} name The Behaviour name\n */\n constructor(a, b, life, easing) {\n super(life, easing);\n\n this.reset(a, b);\n this.name = \"Color\";\n }\n\n /**\n * Reset this behaviour's parameters\n *\n * @method reset\n * @memberof Proton#Proton.Color\n * @instance\n *\n * @param {Proton.ArraySpan | String} a the string should be a hex e.g. #000000 for black\n * @param {Proton.ArraySpan | String} b the string should be a hex e.g. #000000 for black\n * @param {Number} [life=Infinity] \tthis behaviour's life\n * @param {String} [easing=easeLinear] \tthis behaviour's easing\n */\n reset(a, b, life, easing) {\n this.a = ArraySpan.createArraySpan(a);\n this.b = ArraySpan.createArraySpan(b);\n life && super.reset(life, easing);\n }\n\n /**\n * Initialize the behaviour's parameters for all particles\n *\n * @method initialize\n * @memberof Proton#Proton.Color\n * @instance\n *\n * @param {Proton.Particle} particle\n */\n initialize(particle) {\n particle.color = this.a.getValue();\n particle.data.colorA = ColorUtil.hexToRgb(particle.color);\n\n if (this.b) particle.data.colorB = ColorUtil.hexToRgb(this.b.getValue());\n }\n\n /**\n * Apply this behaviour for all particles every time\n *\n * @method applyBehaviour\n * @memberof Proton#Proton.Color\n * @instance\n *\n * @param {Proton.Particle} particle\n * @param {Number} the integrate time 1/ms\n * @param {Int} the particle index\n */\n applyBehaviour(particle, time, index) {\n if (this.b) {\n this.calculate(particle, time, index);\n\n particle.rgb.r =\n particle.data.colorB.r +\n (particle.data.colorA.r - particle.data.colorB.r) * this.energy;\n particle.rgb.g =\n particle.data.colorB.g +\n (particle.data.colorA.g - particle.data.colorB.g) * this.energy;\n particle.rgb.b =\n particle.data.colorB.b +\n (particle.data.colorA.b - particle.data.colorB.b) * this.energy;\n\n particle.rgb.r = Math.floor(particle.rgb.r);\n particle.rgb.g = Math.floor(particle.rgb.g);\n particle.rgb.b = Math.floor(particle.rgb.b);\n } else {\n particle.rgb.r = particle.data.colorA.r;\n particle.rgb.g = particle.data.colorA.g;\n particle.rgb.b = particle.data.colorA.b;\n }\n }\n}\n","import MathUtil from \"../math/MathUtil\";\nimport Vector2D from \"../math/Vector2D\";\nimport Span from \"../math/Span\";\nimport Behaviour from \"./Behaviour\";\n\nconst CHANGING = \"changing\";\n\nexport default class Cyclone extends Behaviour {\n /**\n * @memberof! Proton#\n * @augments Proton.Behaviour\n * @constructor\n * @alias Proton.Cyclone\n *\n * @param {Number} angle\n * @param {Number} force\n * @param {Number} [life=Infinity] \t\t\tthis behaviour's life\n * @param {String} [easing=ease.easeLinear] \tthis behaviour's easing\n *\n * @property {String} name The Behaviour name\n */\n constructor(angle, force, life, easing) {\n super(life, easing);\n this.setAngleAndForce(angle, force);\n this.name = \"Cyclone\";\n }\n\n setAngleAndForce(angle, force) {\n this.force = CHANGING;\n this.angle = MathUtil.PI / 2;\n\n if (angle === \"right\") {\n this.angle = MathUtil.PI / 2;\n } else if (angle === \"left\") {\n this.angle = -MathUtil.PI / 2;\n } else if (angle === \"random\") {\n this.angle = \"random\";\n } else if (angle instanceof Span) {\n this.angle = \"span\";\n this.span = angle;\n } else if (angle) {\n this.angle = angle;\n }\n\n if (\n String(force).toLowerCase() === \"changing\" ||\n String(force).toLowerCase() === \"chang\" ||\n String(force).toLowerCase() === \"auto\"\n ) {\n this.force = CHANGING;\n } else if (force) {\n this.force = force;\n }\n }\n\n /**\n * Reset this behaviour's parameters\n *\n * @method reset\n * @memberof Proton#Proton.Cyclone\n * @instance\n *\n * @param {Number} angle\n * @param {Number} force\n * @param {Number} [life=Infinity] \t\t\tthis behaviour's life\n * @param {String} [easing=ease.easeLinear] \tthis behaviour's easing\n */\n reset(angle, force, life, easing) {\n this.angle = MathUtil.PI / 2;\n this.setAngleAndForce(angle, force);\n life && super.reset(life, easing);\n }\n\n initialize(particle) {\n if (this.angle === \"random\") {\n particle.data.cangle = MathUtil.randomAToB(-MathUtil.PI, MathUtil.PI);\n } else if (this.angle === \"span\") {\n particle.data.cangle = this.span.getValue();\n }\n\n particle.data.cyclone = new Vector2D(0, 0);\n }\n\n /**\n * Apply this behaviour for all particles every time\n *\n * @method applyBehaviour\n * @memberof Proton#Proton.Cyclone\n * @instance\n *\n * @param {Proton.Particle} particle\n * @param {Number} the integrate time 1/ms\n * @param {Int} the particle index\n */\n applyBehaviour(particle, time, index) {\n this.calculate(particle, time, index);\n\n let length;\n let gradient = particle.v.getGradient();\n if (this.angle === \"random\" || this.angle === \"span\") {\n gradient += particle.data.cangle;\n } else {\n gradient += this.angle;\n }\n\n if (this.force === CHANGING) {\n length = particle.v.length() / 100;\n } else {\n length = this.force;\n }\n\n particle.data.cyclone.x = length * Math.cos(gradient);\n particle.data.cyclone.y = length * Math.sin(gradient);\n particle.data.cyclone = this.normalizeForce(particle.data.cyclone);\n particle.a.add(particle.data.cyclone);\n }\n}\n","import Attraction from './Attraction';\n\nexport default class Repulsion extends Attraction {\n\n\t/**\n\t * The oppisite of Proton.Attraction - turns the force\n\t *\n\t * @memberof! Proton#\n\t * @augments Proton#Proton.Attraction\n\t * @constructor\n\t * @alias Proton.Repulsion\n\t *\n\t * @todo add description for 'force' and 'radius'\n\t *\n\t * @param {Proton.Vector2D} targetPosition the attraction point coordinates\n\t * @param {Number} [force=100]\n\t * @param {Number} [radius=1000]\n\t * @param {Number} [life=Infinity] \t\t\t\tthis behaviour's life\n\t * @param {String} [easing=ease.easeLinear] \tthis behaviour's easing\n\t *\n\t * @property {Number} force\n\t * @property {String} name The Behaviour name\n\t */\n\tconstructor(targetPosition, force, radius, life, easing) {\n\t\tsuper(targetPosition, force, radius, life, easing);\n\n\t\tthis.force *= -1;\n\t\tthis.name = 'Repulsion';\n\t}\n\n\t/**\n\t * Reset this behaviour's parameters\n\t *\n\t * @method reset\n\t * @memberof Proton#Proton.Repulsion\n\t * @instance\n\t *\n\t * @todo add description for 'force' and 'radius'\n\t *\n\t * @param {Proton.Vector2D} targetPosition the attraction point coordinates\n\t * @param {Number} [force=100]\n\t * @param {Number} [radius=1000]\n\t * @param {Number} [life=Infinity] \t\t\t\tthis behaviour's life\n\t * @param {String} [easing=ease.easeLinear] \tthis behaviour's easing\n\t */\n\treset(targetPosition, force, radius, life, easing) {\n\t\tsuper.reset(targetPosition, force, radius, life, easing);\n\t\tthis.force *= -1;\n\t}\n}\n","import Util from '../utils/Util';\nimport Vector2D from '../math/Vector2D';\nimport Behaviour from './Behaviour';\n\nexport default class GravityWell extends Behaviour {\n\n\t/**\n\t * @memberof! Proton#\n\t * @augments Behaviour\n\t * @constructor\n\t * @alias GravityWell\n\t *\n\t * @param {Vector2D} [centerPoint=new Vector2D] The point in the center\n\t * @param {Number} [force=100]\t\t\t\t\tThe force\n\t * @param {Number} [life=Infinity]\t\t\t\tthis behaviour's life\n\t * @param {String} [easing=easeLinear]\tthis behaviour's easing\n\t *\n\t * @property {String} name The Behaviour name\n\t */\n\tconstructor(centerPoint, force, life, easing) {\n\t\tsuper(life, easing);\n\n\t\tthis.distanceVec = new Vector2D();\n\t\tthis.centerPoint = Util.initValue(centerPoint, new Vector2D);\n\t\tthis.force = Util.initValue(this.normalizeValue(force), 100);\n\n\t\tthis.name = 'GravityWell';\n\t}\n\n\t/**\n\t * Reset this behaviour's parameters\n\t *\n\t * @method reset\n\t * @memberof Proton#GravityWell\n\t * @instance\n\t *\n\t * @param {Vector2D} [centerPoint=new Vector2D] The point in the center\n\t * @param {Number} [force=100]\t\t\t\t\tThe force\n\t * @param {Number} [life=Infinity]\t\t\t\tthis behaviour's life\n\t * @param {String} [easing=easeLinear]\tthis behaviour's easing\n\t */\n\treset(centerPoint, force, life, easing) {\n\t\tthis.distanceVec = new Vector2D();\n\t\tthis.centerPoint = Util.initValue(centerPoint, new Vector2D);\n\t\tthis.force = Util.initValue(this.normalizeValue(force), 100);\n\n\t\tlife && super.reset(life, easing);\n\t};\n\n\t/**\n\t * @inheritdoc\n\t */\n\tinitialize(particle) {\n\t};\n\n\t/**\n\t * Apply this behaviour for all particles every time\n\t *\n\t * @method applyBehaviour\n\t * @memberof Proton#GravityWell\n\t * @instance\n\t *\n\t * @param {Particle} particle\n\t * @param {Number} the integrate time 1/ms\n\t * @param {Int} the particle index\n\t */\n\tapplyBehaviour(particle, time, index) {\n\t\tthis.distanceVec.set(this.centerPoint.x - particle.p.x, this.centerPoint.y - particle.p.y);\n\t\tconst distanceSq = this.distanceVec.lengthSq();\n\n\t\tif (distanceSq !== 0) {\n\t\t\tconst distance = this.distanceVec.length();\n\t\t\tconst factor = (this.force * time) / (distanceSq * distance);\n\n\t\t\tparticle.v.x += factor * this.distanceVec.x;\n\t\t\tparticle.v.y += factor * this.distanceVec.y;\n\t\t}\n\t}\n}","import Util from \"../utils/Util\";\nimport Initialize from \"./Initialize\";\nimport MathUtil from \"../math/MathUtil\";\n\nexport default {\n initialize(emitter, particle, initializes) {\n const length = initializes.length;\n let i;\n\n for (i = 0; i < length; i++) {\n if (initializes[i] instanceof Initialize) {\n initializes[i].init(emitter, particle);\n } else {\n this.init(emitter, particle, initializes[i]);\n }\n }\n\n this.bindEmitter(emitter, particle);\n },\n\n // init\n init(emitter, particle, initialize) {\n Util.setProp(particle, initialize);\n Util.setVectorVal(particle, initialize);\n },\n\n bindEmitter(emitter, particle) {\n if (emitter.bindEmitter) {\n particle.p.add(emitter.p);\n particle.v.add(emitter.v);\n particle.a.add(emitter.a);\n\n particle.v.rotate(MathUtil.degreeTransform(emitter.rotation));\n }\n }\n};\n","import Util from \"../utils/Util\";\nimport Puid from \"../utils/Puid\";\nimport Particle from \"../core/Particle\";\nimport EventDispatcher from \"../events/EventDispatcher\";\n\nimport Rate from \"../initialize/Rate\";\nimport InitializeUtil from \"../initialize/InitializeUtil\";\n\nexport default class Emitter extends Particle {\n /**\n * You can use this emit particles.\n *\n * It will dispatch follow events:\n * PARTICLE_CREATED\n * PARTICLE_UPDATA\n * PARTICLE_DEAD\n *\n * @class Emitter\n * @constructor\n * @param {Object} conf the parameters object;\n * for example {damping:0.01,bindEmitter:false}\n */\n constructor(conf = {}) {\n super(conf);\n\n this.particles = [];\n this.behaviours = [];\n this.initializes = [];\n\n this.emitTime = 0;\n this.emitSpeed = 0;\n this.totalTime = -1;\n\n /**\n * The friction coefficient for all particle emit by This;\n * @property damping\n * @type {Number}\n * @default 0.006\n */\n this.damping = 0.006;\n\n /**\n * If bindEmitter the particles can bind this emitter's property;\n * @property bindEmitter\n * @type {Boolean}\n * @default true\n */\n this.bindEmitter = true;\n\n /**\n * The number of particles per second emit (a [particle]/b [s]);\n * @property rate\n * @type {Rate}\n * @default Rate(1, .1)\n */\n this.rate = new Rate(1, 0.1);\n\n this.name = \"Emitter\";\n this.id = Puid.id(this.name);\n }\n\n /**\n * start emit particle\n * @method emit\n * @param {Number} emitTime begin emit time;\n * @param {String} life the life of this emitter\n */\n emit(totalTime, life) {\n this.stoped = false;\n this.emitTime = 0;\n this.totalTime = Util.initValue(totalTime, Infinity);\n\n if (life === true || life === \"life\" || life === \"destroy\") {\n this.life = totalTime === \"once\" ? 1 : this.totalTime;\n } else if (!isNaN(life)) {\n this.life = life;\n }\n\n this.rate.init();\n }\n\n /**\n * stop emiting\n * @method stop\n */\n stop() {\n this.totalTime = -1;\n this.emitTime = 0;\n this.stoped = true;\n }\n\n preEmit(time) {\n let oldStoped = this.stoped;\n let oldEmitTime = this.emitTime;\n let oldTotalTime = this.totalTime;\n\n this.stoped = false;\n this.emitTime = 0;\n this.totalTime = time;\n this.rate.init();\n\n const step = 0.0167;\n while (time > step) {\n time -= step;\n this.update(step);\n }\n\n this.stoped = oldStoped;\n this.emitTime = oldEmitTime + Math.max(time, 0);\n this.totalTime = oldTotalTime;\n }\n\n /**\n * remove current all particles\n * @method removeAllParticles\n */\n removeAllParticles() {\n let i = this.particles.length;\n while (i--) this.particles[i].dead = true;\n }\n\n /**\n * add initialize to this emitter\n * @method addSelfInitialize\n */\n addSelfInitialize(initialize) {\n if (initialize[\"init\"]) {\n initialize.init(this);\n } else {\n this.initAll();\n }\n }\n\n /**\n * add the Initialize to particles;\n *\n * you can use initializes array:for example emitter.addInitialize(initialize1,initialize2,initialize3);\n * @method addInitialize\n * @param {Initialize} initialize like this new Radius(1, 12)\n */\n addInitialize(...rest) {\n let i = rest.length;\n while (i--) this.initializes.push(rest[i]);\n }\n\n /**\n * remove the Initialize\n * @method removeInitialize\n * @param {Initialize} initialize a initialize\n */\n removeInitialize(initializer) {\n const index = this.initializes.indexOf(initializer);\n if (index > -1) this.initializes.splice(index, 1);\n }\n\n /**\n * remove all Initializes\n * @method removeInitializers\n */\n removeAllInitializers() {\n Util.emptyArray(this.initializes);\n }\n\n /**\n * add the Behaviour to particles;\n *\n * you can use Behaviours array:emitter.addBehaviour(Behaviour1,Behaviour2,Behaviour3);\n * @method addBehaviour\n * @param {Behaviour} behaviour like this new Color('random')\n */\n addBehaviour(...rest) {\n let i = arguments.length;\n while (i--) {\n let behaviour = rest[i];\n this.behaviours.push(behaviour);\n if (behaviour.parents) behaviour.parents.push(this);\n }\n }\n\n /**\n * remove the Behaviour\n * @method removeBehaviour\n * @param {Behaviour} behaviour a behaviour\n */\n removeBehaviour(behaviour) {\n let index = this.behaviours.indexOf(behaviour);\n this.behaviours.splice(index, 1);\n\n if (behaviour.parents) {\n index = behaviour.parents.indexOf(behaviour);\n behaviour.parents.splice(index, 1);\n }\n\n return index;\n }\n\n /**\n * remove all behaviours\n * @method removeAllBehaviours\n */\n removeAllBehaviours() {\n Util.emptyArray(this.behaviours);\n }\n\n // emitter update\n update(time) {\n this.age += time;\n if (this.age >= this.life || this.dead) this.destroy();\n\n this.emitting(time);\n this.integrate(time);\n }\n\n integrate(time) {\n if (!this.parent) return;\n\n const damping = 1 - this.damping;\n this.parent.integrator.calculate(this, time, damping);\n\n const length = this.particles.length;\n let i, particle;\n\n for (i = length - 1; i >= 0; i--) {\n particle = this.particles[i];\n\n // particle update\n particle.update(time, i);\n this.parent.integrator.calculate(particle, time, damping);\n this.dispatch(\"PARTICLE_UPDATE\", particle);\n\n // check dead\n if (particle.dead) {\n this.dispatch(\"PARTICLE_DEAD\", particle);\n\n this.parent.pool.expire(particle);\n this.particles.splice(i, 1);\n }\n }\n }\n\n dispatch(event, target) {\n this.parent && this.parent.dispatchEvent(event, target);\n this.bindEvent && this.dispatchEvent(event, target);\n }\n\n emitting(time) {\n if (this.totalTime === \"once\") {\n let i;\n const length = this.rate.getValue(99999);\n\n if (length > 0) this.emitSpeed = length;\n for (i = 0; i < length; i++) this.createParticle();\n this.totalTime = \"none\";\n } else {\n this.emitTime += time;\n\n if (this.emitTime < this.totalTime) {\n const length = this.rate.getValue(time);\n let i;\n\n if (length > 0) this.emitSpeed = length;\n for (i = 0; i < length; i++) this.createParticle();\n }\n }\n }\n\n /**\n * create single particle;\n *\n * can use emit({x:10},new Gravity(10),{'particleUpdate',fun}) or emit([{x:10},new Initialize],new Gravity(10),{'particleUpdate',fun})\n * @method removeAllParticles\n */\n createParticle(initialize, behaviour) {\n const particle = this.parent.pool.get(Particle);\n this.setupParticle(particle, initialize, behaviour);\n this.dispatch(\"PARTICLE_CREATED\", particle);\n\n return particle;\n }\n\n setupParticle(particle, initialize, behaviour) {\n let initializes = this.initializes;\n let behaviours = this.behaviours;\n\n if (initialize) initializes = Util.toArray(initialize);\n if (behaviour) behaviours = Util.toArray(behaviour);\n\n particle.reset();\n InitializeUtil.initialize(this, particle, initializes);\n particle.addBehaviours(behaviours);\n particle.parent = this;\n\n this.particles.push(particle);\n }\n\n remove() {\n this.stop();\n Util.destroyAll(this.particles);\n }\n\n /**\n * Destory this Emitter\n * @method destroy\n */\n destroy() {\n this.dead = true;\n this.remove();\n this.removeAllInitializers();\n this.removeAllBehaviours();\n this.parent && this.parent.removeEmitter(this);\n }\n}\n\nEventDispatcher.bind(Emitter);\n","import Emitter from \"./Emitter\";\n\nexport default class BehaviourEmitter extends Emitter {\n /**\n * The BehaviourEmitter class inherits from Proton.Emitter\n *\n * use the BehaviourEmitter you can add behaviours to self;\n * @class Proton.BehaviourEmitter\n * @constructor\n * @param {Object} conf the parameters object;\n */\n constructor(conf) {\n super(conf);\n\n this.selfBehaviours = [];\n }\n\n /**\n * add the Behaviour to emitter;\n *\n * you can use Behaviours array:emitter.addSelfBehaviour(Behaviour1,Behaviour2,Behaviour3);\n * @method addSelfBehaviour\n * @param {Proton.Behaviour} behaviour like this new Proton.Color('random')\n */\n addSelfBehaviour(...rest) {\n let i,\n length = rest.length;\n\n for (i = 0; i < length; i++) {\n let behaviour = rest[i];\n this.selfBehaviours.push(behaviour);\n behaviour.initialize(this);\n }\n }\n\n /**\n * remove the Behaviour for self\n * @method removeSelfBehaviour\n * @param {Proton.Behaviour} behaviour a behaviour\n */\n removeSelfBehaviour(behaviour) {\n const index = this.selfBehaviours.indexOf(behaviour);\n if (index > -1) this.selfBehaviours.splice(index, 1);\n }\n\n update(time) {\n super.update(time);\n\n if (!this.sleep) {\n const length = this.selfBehaviours.length;\n let i;\n\n for (i = 0; i < length; i++) {\n this.selfBehaviours[i].applyBehaviour(this, time, i);\n }\n }\n }\n}\n","import Util from \"../utils/Util\";\nimport Emitter from \"./Emitter\";\n\nexport default class FollowEmitter extends Emitter {\n /**\n * The FollowEmitter class inherits from Proton.Emitter\n *\n * use the FollowEmitter will emit particle when mousemoving\n *\n * @class Proton.FollowEmitter\n * @constructor\n * @param {Element} mouseTarget mouseevent's target;\n * @param {Number} ease the easing of following speed;\n * @default 0.7\n * @param {Object} conf the parameters object;\n */\n constructor(mouseTarget, ease, conf) {\n super(conf);\n\n this.mouseTarget = Util.initValue(mouseTarget, window);\n this.ease = Util.initValue(ease, 0.7);\n\n this._allowEmitting = false;\n this.initEventHandler();\n }\n\n initEventHandler() {\n this.mousemoveHandler = e => this.mousemove.call(this, e);\n this.mousedownHandler = e => this.mousedown.call(this, e);\n this.mouseupHandler = e => this.mouseup.call(this, e);\n\n this.mouseTarget.addEventListener(\n \"mousemove\",\n this.mousemoveHandler,\n false\n );\n }\n\n /**\n * start emit particle\n * @method emit\n */\n emit() {\n this._allowEmitting = true;\n }\n\n /**\n * stop emiting\n * @method stop\n */\n stop() {\n this._allowEmitting = false;\n }\n\n mousemove(e) {\n if (e.layerX || e.layerX === 0) {\n this.p.x += (e.layerX - this.p.x) * this.ease;\n this.p.y += (e.layerY - this.p.y) * this.ease;\n } else if (e.offsetX || e.offsetX === 0) {\n this.p.x += (e.offsetX - this.p.x) * this.ease;\n this.p.y += (e.offsetY - this.p.y) * this.ease;\n }\n\n if (this._allowEmitting) super.emit(\"once\");\n }\n\n /**\n * Destory this Emitter\n * @method destroy\n */\n destroy() {\n super.destroy();\n this.mouseTarget.removeEventListener(\n \"mousemove\",\n this.mousemoveHandler,\n false\n );\n }\n}\n","import Pool from \"../core/Pool\";\n\nexport default class BaseRenderer {\n constructor(element, stroke) {\n this.pool = new Pool();\n this.element = element;\n this.stroke = stroke;\n this.circleConf = { isCircle: true };\n\n this.initHandler();\n this.name = \"BaseRenderer\";\n }\n\n setStroke(color = \"#000000\", thinkness = 1) {\n this.stroke = { color, thinkness };\n }\n\n initHandler() {\n this._protonUpdateHandler = () => {\n this.onProtonUpdate.call(this);\n };\n\n this._protonUpdateAfterHandler = () => {\n this.onProtonUpdateAfter.call(this);\n };\n\n this._emitterAddedHandler = emitter => {\n this.onEmitterAdded.call(this, emitter);\n };\n\n this._emitterRemovedHandler = emitter => {\n this.onEmitterRemoved.call(this, emitter);\n };\n\n this._particleCreatedHandler = particle => {\n this.onParticleCreated.call(this, particle);\n };\n\n this._particleUpdateHandler = particle => {\n this.onParticleUpdate.call(this, particle);\n };\n\n this._particleDeadHandler = particle => {\n this.onParticleDead.call(this, particle);\n };\n }\n\n init(proton) {\n this.parent = proton;\n\n proton.addEventListener(\"PROTON_UPDATE\", this._protonUpdateHandler);\n proton.addEventListener(\n \"PROTON_UPDATE_AFTER\",\n this._protonUpdateAfterHandler\n );\n\n proton.addEventListener(\"EMITTER_ADDED\", this._emitterAddedHandler);\n proton.addEventListener(\"EMITTER_REMOVED\", this._emitterRemovedHandler);\n\n proton.addEventListener(\n \"PARTICLE_CREATED\",\n this._particleCreatedHandler\n );\n proton.addEventListener(\"PARTICLE_UPDATE\", this._particleUpdateHandler);\n proton.addEventListener(\"PARTICLE_DEAD\", this._particleDeadHandler);\n }\n\n resize(width, height) {}\n\n destroy() {\n this.remove();\n }\n\n remove(proton) {\n this.parent.removeEventListener(\n \"PROTON_UPDATE\",\n this._protonUpdateHandler\n );\n this.parent.removeEventListener(\n \"PROTON_UPDATE_AFTER\",\n this._protonUpdateAfterHandler\n );\n\n this.parent.removeEventListener(\n \"EMITTER_ADDED\",\n this._emitterAddedHandler\n );\n this.parent.removeEventListener(\n \"EMITTER_REMOVED\",\n this._emitterRemovedHandler\n );\n\n this.parent.removeEventListener(\n \"PARTICLE_CREATED\",\n this._particleCreatedHandler\n );\n this.parent.removeEventListener(\n \"PARTICLE_UPDATE\",\n this._particleUpdateHandler\n );\n this.parent.removeEventListener(\n \"PARTICLE_DEAD\",\n this._particleDeadHandler\n );\n\n this.parent = null;\n }\n\n onProtonUpdate() {}\n onProtonUpdateAfter() {}\n\n onEmitterAdded(emitter) {}\n onEmitterRemoved(emitter) {}\n\n onParticleCreated(particle) {}\n onParticleUpdate(particle) {}\n onParticleDead(particle) {}\n}\n","import ImgUtil from \"../utils/ImgUtil\";\nimport ColorUtil from \"../utils/ColorUtil\";\nimport MathUtil from \"../math/MathUtil\";\nimport BaseRenderer from \"./BaseRenderer\";\n\nexport default class CanvasRenderer extends BaseRenderer {\n constructor(element) {\n super(element);\n\n this.stroke = null;\n this.context = this.element.getContext(\"2d\");\n this.bufferCache = {};\n this.name = \"CanvasRenderer\";\n }\n\n resize(width, height) {\n this.element.width = width;\n this.element.height = height;\n }\n\n onProtonUpdate() {\n this.context.clearRect(0, 0, this.element.width, this.element.height);\n }\n\n onParticleCreated(particle) {\n if (particle.body) {\n ImgUtil.getImgFromCache(particle.body, this.addImg2Body, particle);\n } else {\n particle.color = particle.color || \"#ff0000\";\n }\n }\n\n onParticleUpdate(particle) {\n if (particle.body) {\n if (particle.body instanceof Image) this.drawImage(particle);\n } else {\n this.drawCircle(particle);\n }\n }\n\n onParticleDead(particle) {\n particle.body = null;\n }\n\n // private\n addImg2Body(img, particle) {\n particle.body = img;\n }\n\n // private drawCircle\n drawImage(particle) {\n const w = (particle.body.width * particle.scale) | 0;\n const h = (particle.body.height * particle.scale) | 0;\n const x = particle.p.x - w / 2;\n const y = particle.p.y - h / 2;\n\n if (!!particle.color) {\n if (!particle.data[\"buffer\"])\n particle.data.buffer = this.createBuffer(particle.body);\n\n const bufContext = particle.data.buffer.getContext(\"2d\");\n bufContext.clearRect(\n 0,\n 0,\n particle.data.buffer.width,\n particle.data.buffer.height\n );\n bufContext.globalAlpha = particle.alpha;\n bufContext.drawImage(particle.body, 0, 0);\n\n bufContext.globalCompositeOperation = \"source-atop\";\n bufContext.fillStyle = ColorUtil.rgbToHex(particle.rgb);\n bufContext.fillRect(\n 0,\n 0,\n particle.data.buffer.width,\n particle.data.buffer.height\n );\n bufContext.globalCompositeOperation = \"source-over\";\n bufContext.globalAlpha = 1;\n\n this.context.drawImage(\n particle.data.buffer,\n 0,\n 0,\n particle.data.buffer.width,\n particle.data.buffer.height,\n x,\n y,\n w,\n h\n );\n } else {\n this.context.save();\n\n this.context.globalAlpha = particle.alpha;\n this.context.translate(particle.p.x, particle.p.y);\n this.context.rotate(MathUtil.degreeTransform(particle.rotation));\n this.context.translate(-particle.p.x, -particle.p.y);\n this.context.drawImage(\n particle.body,\n 0,\n 0,\n particle.body.width,\n particle.body.height,\n x,\n y,\n w,\n h\n );\n\n this.context.globalAlpha = 1;\n this.context.restore();\n }\n }\n\n // private drawCircle --\n drawCircle(particle) {\n if (particle.rgb) {\n this.context.fillStyle = `rgba(${particle.rgb.r},${particle.rgb.g},${particle.rgb.b},${particle.alpha})`;\n } else {\n this.context.fillStyle = particle.color;\n }\n\n // draw circle\n this.context.beginPath();\n this.context.arc(\n particle.p.x,\n particle.p.y,\n particle.radius,\n 0,\n Math.PI * 2,\n true\n );\n\n if (this.stroke) {\n this.context.strokeStyle = this.stroke.color;\n this.context.lineWidth = this.stroke.thinkness;\n this.context.stroke();\n }\n\n this.context.closePath();\n this.context.fill();\n }\n\n // private createBuffer\n createBuffer(image) {\n if (image instanceof Image) {\n const size = image.width + \"_\" + image.height;\n let canvas = this.bufferCache[size];\n\n if (!canvas) {\n canvas = document.createElement(\"canvas\");\n canvas.width = image.width;\n canvas.height = image.height;\n this.bufferCache[size] = canvas;\n }\n\n return canvas;\n }\n }\n}\n","import DomUtil from \"../utils/DomUtil\";\nimport ImgUtil from \"../utils/ImgUtil\";\nimport BaseRenderer from \"./BaseRenderer\";\n\nexport default class DomRenderer extends BaseRenderer {\n constructor(element) {\n super(element);\n\n this.stroke = null;\n this.pool.create = (body, particle) => this.createBody(body, particle);\n this.addImg2Body = this.addImg2Body.bind(this);\n\n this.transform3d = false;\n this.name = \"DomRenderer\";\n }\n\n onParticleCreated(particle) {\n if (particle.body) {\n ImgUtil.getImgFromCache(particle.body, this.addImg2Body, particle);\n } else {\n particle.body = this.pool.get(this.circleConf, particle);\n this.element.appendChild(particle.body);\n }\n }\n\n onParticleUpdate(particle) {\n if (this.bodyReady(particle)) {\n if (this.transform3d)\n DomUtil.transform3d(\n particle.body,\n particle.p.x,\n particle.p.y,\n particle.scale,\n particle.rotation\n );\n else\n DomUtil.transform(\n particle.body,\n particle.p.x,\n particle.p.y,\n particle.scale,\n particle.rotation\n );\n\n particle.body.style.opacity = particle.alpha;\n if (particle.body.isCircle) {\n particle.body.style.backgroundColor = particle.color || \"#ff0000\";\n }\n }\n }\n\n onParticleDead(particle) {\n if (this.bodyReady(particle)) {\n this.element.removeChild(particle.body);\n this.pool.expire(particle.body);\n particle.body = null;\n }\n }\n\n bodyReady(particle) {\n return (\n typeof particle.body === \"object\" &&\n particle.body &&\n !particle.body.isInner\n );\n }\n\n // private\n addImg2Body(img, particle) {\n if (particle.dead) return;\n particle.body = this.pool.get(img, particle);\n DomUtil.resize(particle.body, img.width, img.height);\n\n this.element.appendChild(particle.body);\n }\n\n createBody(body, particle) {\n if (body.isCircle) return this.createCircle(particle);\n else return this.createSprite(body, particle);\n }\n\n // private --\n createCircle(particle) {\n const dom = DomUtil.createDiv(\n `${particle.id}_dom`,\n 2 * particle.radius,\n 2 * particle.radius\n );\n dom.style.borderRadius = `${particle.radius}px`;\n\n if (this.stroke) {\n dom.style.borderColor = this.stroke.color;\n dom.style.borderWidth = `${this.stroke.thinkness}px`;\n }\n dom.isCircle = true;\n\n return dom;\n }\n\n createSprite(body, particle) {\n const url = typeof body === \"string\" ? body : body.src;\n const dom = DomUtil.createDiv(\n `${particle.id}_dom`,\n body.width,\n body.height\n );\n dom.style.backgroundImage = `url(${url})`;\n\n return dom;\n }\n}\n","import BaseRenderer from \"./BaseRenderer\";\n\nexport default class EaselRenderer extends BaseRenderer {\n constructor(element, stroke) {\n super(element);\n\n this.stroke = stroke;\n this.name = \"EaselRenderer\";\n }\n\n onParticleCreated(particle) {\n if (particle.body) {\n this.createSprite(particle);\n } else {\n this.createCircle(particle);\n }\n\n this.element.addChild(particle.body);\n }\n\n onParticleUpdate(particle) {\n if (particle.body) {\n particle.body.x = particle.p.x;\n particle.body.y = particle.p.y;\n\n particle.body.alpha = particle.alpha;\n particle.body.scaleX = particle.body.scaleY = particle.scale;\n particle.body.rotation = particle.rotation;\n }\n }\n\n onParticleDead(particle) {\n if (particle.body) {\n particle.body.parent && particle.body.parent.removeChild(particle.body);\n this.pool.expire(particle.body);\n particle.body = null;\n }\n\n if (particle.graphics) this.pool.expire(particle.graphics);\n }\n\n // private\n createSprite(particle) {\n particle.body = this.pool.get(particle.body);\n\n if (particle.body.parent) return;\n if (particle.body[\"image\"]) {\n particle.body.regX = particle.body.image.width / 2;\n particle.body.regY = particle.body.image.height / 2;\n }\n }\n\n createCircle(particle) {\n const graphics = this.pool.get(createjs.Graphics);\n\n if (this.stroke) {\n if (this.stroke instanceof String) graphics.beginStroke(this.stroke);\n else graphics.beginStroke(\"#000000\");\n }\n graphics\n .beginFill(particle.color || \"#ff0000\")\n .drawCircle(0, 0, particle.radius);\n\n const shape = this.pool.get(createjs.Shape, [graphics]);\n\n particle.body = shape;\n particle.graphics = graphics;\n }\n}\n","import Rectangle from \"../math/Rectangle\";\nimport BaseRenderer from \"./BaseRenderer\";\n\nexport default class PixelRenderer extends BaseRenderer {\n constructor(element, rectangle) {\n super(element);\n\n this.context = this.element.getContext(\"2d\");\n this.imageData = null;\n this.rectangle = null;\n this.rectangle = rectangle;\n this.createImageData(rectangle);\n\n this.name = \"PixelRenderer\";\n }\n\n resize(width, height) {\n this.element.width = width;\n this.element.height = height;\n }\n\n createImageData(rectangle) {\n this.rectangle = rectangle\n ? rectangle\n : new Rectangle(0, 0, this.element.width, this.element.height);\n this.imageData = this.context.createImageData(\n this.rectangle.width,\n this.rectangle.height\n );\n this.context.putImageData(\n this.imageData,\n this.rectangle.x,\n this.rectangle.y\n );\n }\n\n onProtonUpdate() {\n this.context.clearRect(\n this.rectangle.x,\n this.rectangle.y,\n this.rectangle.width,\n this.rectangle.height\n );\n this.imageData = this.context.getImageData(\n this.rectangle.x,\n this.rectangle.y,\n this.rectangle.width,\n this.rectangle.height\n );\n }\n\n onProtonUpdateAfter() {\n this.context.putImageData(\n this.imageData,\n this.rectangle.x,\n this.rectangle.y\n );\n }\n\n onParticleCreated(particle) {}\n\n onParticleUpdate(particle) {\n if (this.imageData) {\n this.setPixel(\n this.imageData,\n Math.floor(particle.p.x - this.rectangle.x),\n Math.floor(particle.p.y - this.rectangle.y),\n particle\n );\n }\n }\n\n setPixel(imagedata, x, y, particle) {\n const rgb = particle.rgb;\n if (x < 0 || x > this.element.width || y < 0 || y > this.elementwidth)\n return;\n\n const i = ((y >> 0) * imagedata.width + (x >> 0)) * 4;\n\n imagedata.data[i] = rgb.r;\n imagedata.data[i + 1] = rgb.g;\n imagedata.data[i + 2] = rgb.b;\n imagedata.data[i + 3] = particle.alpha * 255;\n }\n\n onParticleDead(particle) {}\n}\n","import ColorUtil from \"../utils/ColorUtil\";\nimport MathUtil from \"../math/MathUtil\";\nimport BaseRenderer from \"./BaseRenderer\";\n\nlet PIXIClass;\nexport default class PixiRenderer extends BaseRenderer {\n constructor(element, stroke) {\n super(element);\n\n this.stroke = stroke;\n this.color = false;\n this.setColor = false;\n this.blendMode = null;\n this.pool.create = (body, particle) => this.createBody(body, particle);\n this.setPIXI(window.PIXI);\n\n this.name = \"PixiRenderer\";\n }\n\n setPIXI(PIXI) {\n try {\n PIXIClass = PIXI || { Sprite: {} };\n this.createFromImage =\n PIXIClass.Sprite.from || PIXIClass.Sprite.fromImage;\n } catch (e) {}\n }\n\n onProtonUpdate() {}\n\n /**\n * @param particle\n */\n onParticleCreated(particle) {\n if (particle.body) {\n particle.body = this.pool.get(particle.body, particle);\n } else {\n particle.body = this.pool.get(this.circleConf, particle);\n }\n\n if (this.blendMode) {\n particle.body.blendMode = this.blendMode;\n }\n\n this.element.addChild(particle.body);\n }\n\n /**\n * @param particle\n */\n onParticleUpdate(particle) {\n this.transform(particle, particle.body);\n\n if (this.setColor === true || this.color === true) {\n particle.body.tint = ColorUtil.getHex16FromParticle(particle);\n }\n }\n\n /**\n * @param particle\n */\n onParticleDead(particle) {\n this.element.removeChild(particle.body);\n this.pool.expire(particle.body);\n particle.body = null;\n }\n\n destroy(particles) {\n super.destroy();\n this.pool.destroy();\n\n let i = particles.length;\n while (i--) {\n let particle = particles[i];\n if (particle.body) {\n this.element.removeChild(particle.body);\n }\n }\n }\n\n transform(particle, target) {\n target.x = particle.p.x;\n target.y = particle.p.y;\n\n target.alpha = particle.alpha;\n\n target.scale.x = particle.scale;\n target.scale.y = particle.scale;\n\n // using cached version of MathUtil.PI_180 for slight performance increase.\n target.rotation = particle.rotation * MathUtil.PI_180; // MathUtil.PI_180;\n }\n\n createBody(body, particle) {\n if (body.isCircle) return this.createCircle(particle);\n else return this.createSprite(body);\n }\n\n createSprite(body) {\n const sprite = body.isInner\n ? this.createFromImage(body.src)\n : new PIXIClass.Sprite(body);\n\n sprite.anchor.x = 0.5;\n sprite.anchor.y = 0.5;\n\n return sprite;\n }\n\n createCircle(particle) {\n const graphics = new PIXIClass.Graphics();\n\n if (this.stroke) {\n const stroke = this.stroke instanceof String ? this.stroke : 0x000000;\n graphics.beginStroke(stroke);\n }\n\n graphics.beginFill(particle.color || 0x008ced);\n graphics.drawCircle(0, 0, particle.radius);\n graphics.endFill();\n\n return graphics;\n }\n}\n","import Mat3 from \"../math/Mat3\";\n\nexport default class MStack {\n constructor() {\n this.mats = [];\n this.size = 0;\n\n for (let i = 0; i < 20; i++)\n this.mats.push(Mat3.create([0, 0, 0, 0, 0, 0, 0, 0, 0]));\n }\n\n set(m, i) {\n if (i === 0) Mat3.set(m, this.mats[0]);\n else Mat3.multiply(this.mats[i - 1], m, this.mats[i]);\n\n this.size = Math.max(this.size, i + 1);\n }\n\n push(m) {\n if (this.size === 0) Mat3.set(m, this.mats[0]);\n else Mat3.multiply(this.mats[this.size - 1], m, this.mats[this.size]);\n\n this.size++;\n }\n\n pop() {\n if (this.size > 0) this.size--;\n }\n\n top() {\n return this.mats[this.size - 1];\n }\n}\n","import Mat3 from '../math/Mat3';\nimport BaseRenderer from './BaseRenderer';\n\nimport Util from '../utils/Util';\nimport ImgUtil from '../utils/ImgUtil';\nimport MStack from '../utils/MStack';\nimport DomUtil from '../utils/DomUtil';\nimport WebGLUtil from '../utils/WebGLUtil';\nimport MathUtil from '../math/MathUtil';\n\nexport default class WebGLRenderer extends BaseRenderer {\n\n constructor(element) {\n super(element);\n\n this.gl = this.element.getContext('experimental-webgl', { antialias: true, stencil: false, depth: false });\n if (!this.gl) alert('Sorry your browser do not suppest WebGL!');\n\n this.initVar();\n this.setMaxRadius();\n this.initShaders();\n this.initBuffers();\n\n this.gl.blendEquation(this.gl.FUNC_ADD);\n this.gl.blendFunc(this.gl.SRC_ALPHA, this.gl.ONE_MINUS_SRC_ALPHA);\n this.gl.enable(this.gl.BLEND);\n\n this.addImg2Body = this.addImg2Body.bind(this);\n\n this.name = 'WebGLRenderer';\n }\n\n init(proton) {\n super.init(proton);\n this.resize(this.element.width, this.element.height);\n }\n\n resize(width, height) {\n this.umat[4] = -2;\n this.umat[7] = 1;\n\n this.smat[0] = 1 / width;\n this.smat[4] = 1 / height;\n\n this.mstack.set(this.umat, 0);\n this.mstack.set(this.smat, 1);\n\n this.gl.viewport(0, 0, width, height);\n this.element.width = width;\n this.element.height = height;\n }\n\n setMaxRadius(radius) {\n this.circleCanvasURL = this.createCircle(radius);\n }\n\n getVertexShader() {\n const vsSource = ['uniform vec2 viewport;', 'attribute vec2 aVertexPosition;', 'attribute vec2 aTextureCoord;', 'uniform mat3 tMat;', 'varying vec2 vTextureCoord;', 'varying float alpha;', 'void main() {', 'vec3 v = tMat * vec3(aVertexPosition, 1.0);', 'gl_Position = vec4(v.x, v.y, 0, 1);', 'vTextureCoord = aTextureCoord;', 'alpha = tMat[0][2];', '}'].join('\\n');\n return vsSource;\n }\n\n getFragmentShader() {\n const fsSource = ['precision mediump float;', 'varying vec2 vTextureCoord;', 'varying float alpha;', 'uniform sampler2D uSampler;', 'uniform vec4 color;', 'uniform bool useTexture;', 'uniform vec3 uColor;', 'void main() {', 'vec4 textureColor = texture2D(uSampler, vTextureCoord);', 'gl_FragColor = textureColor * vec4(uColor, 1.0);', 'gl_FragColor.w *= alpha;', '}'].join('\\n');\n return fsSource;\n }\n\n initVar() {\n this.mstack = new MStack();\n this.umat = Mat3.create([2, 0, 1, 0, -2, 0, -1, 1, 1]);\n this.smat = Mat3.create([1 / 100, 0, 1, 0, 1 / 100, 0, 0, 0, 1]);\n this.texturebuffers = {};\n }\n\n blendEquation(A) {\n this.gl.blendEquation(this.gl[A]);\n }\n\n blendFunc(A, B) {\n this.gl.blendFunc(this.gl[A], this.gl[B]);\n }\n\n getShader(gl, str, fs) {\n const shader = fs ? gl.createShader(gl.FRAGMENT_SHADER) : gl.createShader(gl.VERTEX_SHADER);\n\n gl.shaderSource(shader, str);\n gl.compileShader(shader);\n\n if (!gl.getShaderParameter(shader, gl.COMPILE_STATUS)) {\n alert(gl.getShaderInfoLog(shader));\n return null;\n }\n\n return shader;\n }\n\n initShaders() {\n const fragmentShader = this.getShader(this.gl, this.getFragmentShader(), true);\n const vertexShader = this.getShader(this.gl, this.getVertexShader(), false);\n\n this.sprogram = this.gl.createProgram();\n this.gl.attachShader(this.sprogram, vertexShader);\n this.gl.attachShader(this.sprogram, fragmentShader);\n this.gl.linkProgram(this.sprogram);\n\n if (!this.gl.getProgramParameter(this.sprogram, this.gl.LINK_STATUS))\n alert('Could not initialise shaders');\n\n this.gl.useProgram(this.sprogram);\n this.sprogram.vpa = this.gl.getAttribLocation(this.sprogram, 'aVertexPosition');\n this.sprogram.tca = this.gl.getAttribLocation(this.sprogram, 'aTextureCoord');\n this.gl.enableVertexAttribArray(this.sprogram.tca);\n this.gl.enableVertexAttribArray(this.sprogram.vpa);\n\n this.sprogram.tMatUniform = this.gl.getUniformLocation(this.sprogram, 'tMat');\n this.sprogram.samplerUniform = this.gl.getUniformLocation(this.sprogram, 'uSampler');\n this.sprogram.useTex = this.gl.getUniformLocation(this.sprogram, 'useTexture');\n this.sprogram.color = this.gl.getUniformLocation(this.sprogram, 'uColor');\n this.gl.uniform1i(this.sprogram.useTex, 1);\n };\n\n initBuffers() {\n const vs = [0, 3, 1, 0, 2, 3];\n let idx;\n\n this.unitIBuffer = this.gl.createBuffer();\n this.gl.bindBuffer(this.gl.ELEMENT_ARRAY_BUFFER, this.unitIBuffer);\n this.gl.bufferData(this.gl.ELEMENT_ARRAY_BUFFER, new Uint16Array(vs), this.gl.STATIC_DRAW);\n\n let i;\n let ids = [];\n for (i = 0; i < 100; i++) ids.push(i);\n idx = new Uint16Array(ids);\n\n this.unitI33 = this.gl.createBuffer();\n this.gl.bindBuffer(this.gl.ELEMENT_ARRAY_BUFFER, this.unitI33);\n this.gl.bufferData(this.gl.ELEMENT_ARRAY_BUFFER, idx, this.gl.STATIC_DRAW);\n\n ids = [];\n for (i = 0; i < 100; i++) ids.push(i, i + 1, i + 2);\n idx = new Uint16Array(ids);\n\n this.stripBuffer = this.gl.createBuffer();\n this.gl.bindBuffer(this.gl.ELEMENT_ARRAY_BUFFER, this.stripBuffer);\n this.gl.bufferData(this.gl.ELEMENT_ARRAY_BUFFER, idx, this.gl.STATIC_DRAW);\n };\n\n createCircle(raidus) {\n this.circleCanvasRadius = WebGLUtil.nhpot(Util.initValue(raidus, 32));\n const canvas = DomUtil.createCanvas('circle_canvas', this.circleCanvasRadius * 2, this.circleCanvasRadius * 2);\n const context = canvas.getContext('2d');\n\n context.beginPath();\n context.arc(this.circleCanvasRadius, this.circleCanvasRadius, this.circleCanvasRadius, 0, Math.PI * 2, true);\n context.closePath();\n context.fillStyle = '#FFF';\n context.fill();\n\n return canvas.toDataURL();\n };\n\n drawImg2Canvas(particle) {\n const _w = particle.body.width;\n const _h = particle.body.height;\n\n const _width = WebGLUtil.nhpot(particle.body.width);\n const _height = WebGLUtil.nhpot(particle.body.height);\n\n const _scaleX = particle.body.width / _width;\n const _scaleY = particle.body.height / _height;\n\n if (!this.texturebuffers[particle.data.src])\n this.texturebuffers[particle.data.src] = [this.gl.createTexture(), this.gl.createBuffer(), this.gl.createBuffer()];\n\n particle.data.texture = this.texturebuffers[particle.data.src][0];\n particle.data.vcBuffer = this.texturebuffers[particle.data.src][1];\n particle.data.tcBuffer = this.texturebuffers[particle.data.src][2];\n\n this.gl.bindBuffer(this.gl.ARRAY_BUFFER, particle.data.tcBuffer);\n this.gl.bufferData(this.gl.ARRAY_BUFFER, new Float32Array([0.0, 0.0, _scaleX, 0.0, 0.0, _scaleY, _scaleY, _scaleY]), this.gl.STATIC_DRAW);\n this.gl.bindBuffer(this.gl.ARRAY_BUFFER, particle.data.vcBuffer);\n this.gl.bufferData(this.gl.ARRAY_BUFFER, new Float32Array([0.0, 0.0, _w, 0.0, 0.0, _h, _w, _h]), this.gl.STATIC_DRAW);\n\n const context = particle.data.canvas.getContext('2d');\n const data = context.getImageData(0, 0, _width, _height);\n\n this.gl.bindTexture(this.gl.TEXTURE_2D, particle.data.texture);\n this.gl.texImage2D(this.gl.TEXTURE_2D, 0, this.gl.RGBA, this.gl.RGBA, this.gl.UNSIGNED_BYTE, data);\n this.gl.texParameteri(this.gl.TEXTURE_2D, this.gl.TEXTURE_MAG_FILTER, this.gl.LINEAR);\n this.gl.texParameteri(this.gl.TEXTURE_2D, this.gl.TEXTURE_MIN_FILTER, this.gl.LINEAR_MIPMAP_NEAREST);\n this.gl.generateMipmap(this.gl.TEXTURE_2D);\n\n particle.data.textureLoaded = true;\n particle.data.textureWidth = _w;\n particle.data.textureHeight = _h;\n }\n\n onProtonUpdate() {\n // this.gl.clearColor(0, 0, 0, 1);\n // this.gl.clear(this.gl.COLOR_BUFFER_BIT | this.gl.DEPTH_BUFFER_BIT);\n }\n\n onParticleCreated(particle) {\n particle.data.textureLoaded = false;\n particle.data.tmat = Mat3.create();\n particle.data.tmat[8] = 1;\n particle.data.imat = Mat3.create();\n particle.data.imat[8] = 1;\n\n if (particle.body) {\n ImgUtil.getImgFromCache(particle.body, this.addImg2Body, particle);\n } else {\n ImgUtil.getImgFromCache(this.circleCanvasURL, this.addImg2Body, particle);\n particle.data.oldScale = particle.radius / this.circleCanvasRadius;\n }\n }\n\n // private\n addImg2Body(img, particle) {\n if (particle.dead) return;\n particle.body = img;\n particle.data.src = img.src;\n particle.data.canvas = ImgUtil.getCanvasFromCache(img);\n particle.data.oldScale = 1;\n\n this.drawImg2Canvas(particle);\n }\n\n onParticleUpdate(particle) {\n if (particle.data.textureLoaded) {\n this.updateMatrix(particle);\n\n this.gl.uniform3f(this.sprogram.color, particle.rgb.r / 255, particle.rgb.g / 255, particle.rgb.b / 255);\n this.gl.uniformMatrix3fv(this.sprogram.tMatUniform, false, this.mstack.top());\n\n this.gl.bindBuffer(this.gl.ARRAY_BUFFER, particle.data.vcBuffer);\n this.gl.vertexAttribPointer(this.sprogram.vpa, 2, this.gl.FLOAT, false, 0, 0);\n this.gl.bindBuffer(this.gl.ARRAY_BUFFER, particle.data.tcBuffer);\n this.gl.vertexAttribPointer(this.sprogram.tca, 2, this.gl.FLOAT, false, 0, 0);\n this.gl.bindTexture(this.gl.TEXTURE_2D, particle.data.texture);\n this.gl.uniform1i(this.sprogram.samplerUniform, 0);\n this.gl.bindBuffer(this.gl.ELEMENT_ARRAY_BUFFER, this.unitIBuffer);\n\n this.gl.drawElements(this.gl.TRIANGLES, 6, this.gl.UNSIGNED_SHORT, 0);\n\n this.mstack.pop();\n }\n }\n\n onParticleDead(particle) { }\n\n updateMatrix(particle) {\n const moveOriginMatrix = WebGLUtil.makeTranslation(-particle.data.textureWidth / 2, -particle.data.textureHeight / 2);\n const translationMatrix = WebGLUtil.makeTranslation(particle.p.x, particle.p.y);\n\n const angel = particle.rotation * (MathUtil.PI_180);\n const rotationMatrix = WebGLUtil.makeRotation(angel);\n\n const scale = particle.scale * particle.data.oldScale;\n const scaleMatrix = WebGLUtil.makeScale(scale, scale);\n let matrix = WebGLUtil.matrixMultiply(moveOriginMatrix, scaleMatrix);\n\n matrix = WebGLUtil.matrixMultiply(matrix, rotationMatrix);\n matrix = WebGLUtil.matrixMultiply(matrix, translationMatrix);\n\n Mat3.inverse(matrix, particle.data.imat);\n matrix[2] = particle.alpha;\n\n this.mstack.push(matrix);\n }\n}","import BaseRenderer from \"./BaseRenderer\";\n\nexport default class CustomRenderer extends BaseRenderer {\n constructor(element) {\n super(element);\n\n this.name = \"CustomRenderer\";\n }\n}\n","import Zone from \"./Zone\";\nimport Util from \"../utils/Util\";\nimport MathUtil from \"../math/MathUtil\";\n\nexport default class LineZone extends Zone {\n constructor(x1, y1, x2, y2, direction) {\n super();\n\n if (x2 - x1 >= 0) {\n this.x1 = x1;\n this.y1 = y1;\n this.x2 = x2;\n this.y2 = y2;\n } else {\n this.x1 = x2;\n this.y1 = y2;\n this.x2 = x1;\n this.y2 = y1;\n }\n\n this.dx = this.x2 - this.x1;\n this.dy = this.y2 - this.y1;\n\n this.minx = Math.min(this.x1, this.x2);\n this.miny = Math.min(this.y1, this.y2);\n this.maxx = Math.max(this.x1, this.x2);\n this.maxy = Math.max(this.y1, this.y2);\n\n this.dot = this.x2 * this.y1 - this.x1 * this.y2;\n this.xxyy = this.dx * this.dx + this.dy * this.dy;\n\n this.gradient = this.getGradient();\n this.length = this.getLength();\n this.direction = Util.initValue(direction, \">\");\n }\n\n getPosition() {\n this.random = Math.random();\n\n this.vector.x =\n this.x1 + this.random * this.length * Math.cos(this.gradient);\n this.vector.y =\n this.y1 + this.random * this.length * Math.sin(this.gradient);\n\n return this.vector;\n }\n\n getDirection(x, y) {\n const A = this.dy;\n const B = -this.dx;\n const C = this.dot;\n const D = B === 0 ? 1 : B;\n\n if ((A * x + B * y + C) * D > 0) return true;\n else return false;\n }\n\n getDistance(x, y) {\n const A = this.dy;\n const B = -this.dx;\n const C = this.dot;\n const D = A * x + B * y + C;\n\n return D / Math.sqrt(this.xxyy);\n }\n\n getSymmetric(v) {\n const tha2 = v.getGradient();\n const tha1 = this.getGradient();\n const tha = 2 * (tha1 - tha2);\n\n const oldx = v.x;\n const oldy = v.y;\n\n v.x = oldx * Math.cos(tha) - oldy * Math.sin(tha);\n v.y = oldx * Math.sin(tha) + oldy * Math.cos(tha);\n\n return v;\n }\n\n getGradient() {\n return Math.atan2(this.dy, this.dx);\n }\n\n rangeOut(particle) {\n const angle = Math.abs(this.getGradient());\n\n if (angle <= MathUtil.PI / 4) {\n if (particle.p.x <= this.maxx && particle.p.x >= this.minx) return true;\n } else {\n if (particle.p.y <= this.maxy && particle.p.y >= this.miny) return true;\n }\n\n return false;\n }\n\n getLength() {\n return Math.sqrt(this.dx * this.dx + this.dy * this.dy);\n }\n\n crossing(particle) {\n if (this.crossType === \"dead\") {\n if (\n this.direction === \">\" ||\n this.direction === \"R\" ||\n this.direction === \"right\" ||\n this.direction === \"down\"\n ) {\n if (!this.rangeOut(particle)) return;\n if (this.getDirection(particle.p.x, particle.p.y)) particle.dead = true;\n } else {\n if (!this.rangeOut(particle)) return;\n if (!this.getDirection(particle.p.x, particle.p.y))\n particle.dead = true;\n }\n } else if (this.crossType === \"bound\") {\n if (!this.rangeOut(particle)) return;\n\n if (this.getDistance(particle.p.x, particle.p.y) <= particle.radius) {\n if (this.dx === 0) {\n particle.v.x *= -1;\n } else if (this.dy === 0) {\n particle.v.y *= -1;\n } else {\n this.getSymmetric(particle.v);\n }\n }\n } else if (this.crossType === \"cross\") {\n if (this.alert) {\n console.error(\"Sorry, LineZone does not support cross method!\");\n this.alert = false;\n }\n }\n }\n}\n","import Zone from \"./Zone\";\nimport MathUtil from \"../math/MathUtil\";\n\nexport default class CircleZone extends Zone {\n constructor(x, y, radius) {\n super();\n\n this.x = x;\n this.y = y;\n this.radius = radius;\n\n this.angle = 0;\n this.center = { x, y };\n }\n\n getPosition() {\n this.angle = MathUtil.PIx2 * Math.random();\n this.randomRadius = Math.random() * this.radius;\n\n this.vector.x = this.x + this.randomRadius * Math.cos(this.angle);\n this.vector.y = this.y + this.randomRadius * Math.sin(this.angle);\n\n return this.vector;\n }\n\n setCenter(x, y) {\n this.center.x = x;\n this.center.y = y;\n }\n\n crossing(particle) {\n const d = particle.p.distanceTo(this.center);\n\n if (this.crossType === \"dead\") {\n if (d - particle.radius > this.radius) particle.dead = true;\n } else if (this.crossType === \"bound\") {\n if (d + particle.radius >= this.radius) this.getSymmetric(particle);\n } else if (this.crossType === \"cross\") {\n if (this.alert) {\n console.error(\"Sorry, CircleZone does not support cross method!\");\n this.alert = false;\n }\n }\n }\n\n getSymmetric(particle) {\n let tha2 = particle.v.getGradient();\n let tha1 = this.getGradient(particle);\n\n let tha = 2 * (tha1 - tha2);\n let oldx = particle.v.x;\n let oldy = particle.v.y;\n\n particle.v.x = oldx * Math.cos(tha) - oldy * Math.sin(tha);\n particle.v.y = oldx * Math.sin(tha) + oldy * Math.cos(tha);\n }\n\n getGradient(particle) {\n return (\n -MathUtil.PI_2 +\n Math.atan2(particle.p.y - this.center.y, particle.p.x - this.center.x)\n );\n }\n}\n","import Zone from \"./Zone\";\n\nexport default class RectZone extends Zone {\n constructor(x, y, width, height) {\n super();\n\n this.x = x;\n this.y = y;\n this.width = width;\n this.height = height;\n }\n\n getPosition() {\n this.vector.x = this.x + Math.random() * this.width;\n this.vector.y = this.y + Math.random() * this.height;\n\n return this.vector;\n }\n\n crossing(particle) {\n // particle dead zone\n if (this.crossType === \"dead\") {\n if (particle.p.x + particle.radius < this.x) particle.dead = true;\n else if (particle.p.x - particle.radius > this.x + this.width)\n particle.dead = true;\n\n if (particle.p.y + particle.radius < this.y) particle.dead = true;\n else if (particle.p.y - particle.radius > this.y + this.height)\n particle.dead = true;\n }\n\n // particle bound zone\n else if (this.crossType === \"bound\") {\n if (particle.p.x - particle.radius < this.x) {\n particle.p.x = this.x + particle.radius;\n particle.v.x *= -1;\n } else if (particle.p.x + particle.radius > this.x + this.width) {\n particle.p.x = this.x + this.width - particle.radius;\n particle.v.x *= -1;\n }\n\n if (particle.p.y - particle.radius < this.y) {\n particle.p.y = this.y + particle.radius;\n particle.v.y *= -1;\n } else if (particle.p.y + particle.radius > this.y + this.height) {\n particle.p.y = this.y + this.height - particle.radius;\n particle.v.y *= -1;\n }\n }\n\n // particle cross zone\n else if (this.crossType === \"cross\") {\n if (particle.p.x + particle.radius < this.x && particle.v.x <= 0)\n particle.p.x = this.x + this.width + particle.radius;\n else if (\n particle.p.x - particle.radius > this.x + this.width &&\n particle.v.x >= 0\n )\n particle.p.x = this.x - particle.radius;\n\n if (particle.p.y + particle.radius < this.y && particle.v.y <= 0)\n particle.p.y = this.y + this.height + particle.radius;\n else if (\n particle.p.y - particle.radius > this.y + this.height &&\n particle.v.y >= 0\n )\n particle.p.y = this.y - particle.radius;\n }\n }\n}\n","import Zone from \"./Zone\";\nimport Util from \"../utils/Util\";\n\nexport default class ImageZone extends Zone {\n constructor(imageData, x, y, d) {\n super();\n\n this.reset(imageData, x, y, d);\n }\n\n reset(imageData, x, y, d) {\n this.imageData = imageData;\n this.x = Util.initValue(x, 0);\n this.y = Util.initValue(y, 0);\n this.d = Util.initValue(d, 2);\n\n this.vectors = [];\n this.setVectors();\n }\n\n setVectors() {\n let i, j;\n const length1 = this.imageData.width;\n const length2 = this.imageData.height;\n\n for (i = 0; i < length1; i += this.d) {\n for (j = 0; j < length2; j += this.d) {\n let index = ((j >> 0) * length1 + (i >> 0)) * 4;\n\n if (this.imageData.data[index + 3] > 0) {\n this.vectors.push({ x: i + this.x, y: j + this.y });\n }\n }\n }\n\n return this.vector;\n }\n\n getBound(x, y) {\n var index = ((y >> 0) * this.imageData.width + (x >> 0)) * 4;\n if (this.imageData.data[index + 3] > 0) return true;\n else return false;\n }\n\n getPosition() {\n const vector = Util.getRandFromArray(this.vectors);\n return this.vector.copy(vector);\n }\n\n getColor(x, y) {\n x -= this.x;\n y -= this.y;\n var i = ((y >> 0) * this.imageData.width + (x >> 0)) * 4;\n\n return {\n r: this.imageData.data[i],\n g: this.imageData.data[i + 1],\n b: this.imageData.data[i + 2],\n a: this.imageData.data[i + 3]\n };\n }\n\n crossing(particle) {\n if (this.crossType === \"dead\") {\n if (this.getBound(particle.p.x - this.x, particle.p.y - this.y))\n particle.dead = true;\n else particle.dead = false;\n } else if (this.crossType === \"bound\") {\n if (!this.getBound(particle.p.x - this.x, particle.p.y - this.y))\n particle.v.negate();\n }\n }\n}\n","import ColorUtil from \"../utils/ColorUtil\";\nimport CircleZone from \"../zone/CircleZone\";\nimport PointZone from \"../zone/PointZone\";\nimport LineZone from \"../zone/LineZone\";\nimport RectZone from \"../zone/RectZone\";\n\nexport default {\n addEventListener(proton, func) {\n proton.addEventListener(\"PROTON_UPDATE_AFTER\", () => func());\n },\n\n getStyle(color = \"#ff0000\") {\n const rgb = ColorUtil.hexToRgb(color);\n return `rgba(${rgb.r}, ${rgb.g}, ${rgb.b}, 0.5)`;\n },\n\n drawZone(proton, canvas, zone, clear) {\n const context = canvas.getContext(\"2d\");\n const style = this.getStyle();\n\n this.addEventListener(proton, () => {\n if (clear) context.clearRect(0, 0, canvas.width, canvas.height);\n\n if (zone instanceof PointZone) {\n context.beginPath();\n context.fillStyle = style;\n context.arc(zone.x, zone.y, 10, 0, Math.PI * 2, true);\n context.fill();\n context.closePath();\n } else if (zone instanceof LineZone) {\n context.beginPath();\n context.strokeStyle = style;\n context.moveTo(zone.x1, zone.y1);\n context.lineTo(zone.x2, zone.y2);\n context.stroke();\n context.closePath();\n } else if (zone instanceof RectZone) {\n context.beginPath();\n context.strokeStyle = style;\n context.drawRect(zone.x, zone.y, zone.width, zone.height);\n context.stroke();\n context.closePath();\n } else if (zone instanceof CircleZone) {\n context.beginPath();\n context.strokeStyle = style;\n context.arc(zone.x, zone.y, zone.radius, 0, Math.PI * 2, true);\n context.stroke();\n context.closePath();\n }\n });\n },\n\n drawEmitter(proton, canvas, emitter, clear) {\n const context = canvas.getContext(\"2d\");\n const style = this.getStyle();\n\n this.addEventListener(proton, () => {\n if (clear) context.clearRect(0, 0, canvas.width, canvas.height);\n\n context.beginPath();\n context.fillStyle = style;\n context.arc(emitter.p.x, emitter.p.y, 10, 0, Math.PI * 2, true);\n context.fill();\n context.closePath();\n });\n }\n};\n","import React, { Component } from \"react\";\nimport Rand from \"./utils/Rand.js\";\nimport Ball from \"./particles/Ball.jsx\";\nimport Color from \"./particles/Color.jsx\";\nimport Custom from \"./particles/Custom.jsx\";\nimport Lines from \"./particles/Lines.jsx\";\nimport Thick from \"./particles/Thick.jsx\";\nimport Square from \"./particles/Square.jsx\";\nimport Cobweb from \"./particles/Cobweb.jsx\";\nimport Circle from \"./particles/Circle.jsx\";\nimport Tadpole from \"./particles/Tadpole.jsx\";\nimport Polygon from \"./particles/Polygon.jsx\";\nimport Fountain from \"./particles/Fountain.jsx\";\n\nexport default class ParticlesBg extends Component {\n\n constructor(props) {\n super(props);\n }\n\n getRandom() {\n const { num, bg, color } = this.props;\n\n // Code source from here, thanks author\n // https://github.com/drawcall/Proton/blob/gh-pages/source/src/utils/Rand.js\n if (!this.random) {\n this.random = new Rand();\n this.random.set(0.25, );\n this.random.set(0.2, );\n this.random.set(0.2, );\n this.random.set(0.16, );\n this.random.set(0.18, );\n this.random.set(0.04, );\n this.random.set(0.1, );\n this.random.set(0.08, );\n this.random.set(0.18, );\n this.random.set(0.15, );\n }\n return this.random.getResult();\n }\n\n getBgParticles() {\n const { type, num, bg, color, config } = this.props;\n\n let particles;\n switch (String(type).toLowerCase()) {\n case \"color\":\n particles = ;\n break;\n case \"ball\":\n particles = ;\n break;\n case \"lines\":\n particles = ;\n break;\n case \"thick\":\n particles = ;\n break;\n case \"circle\":\n particles = ;\n break;\n case \"cobweb\":\n particles = ;\n break;\n case \"polygon\":\n particles = ;\n break;\n case \"square\":\n particles = ;\n break;\n case \"tadpole\":\n particles = ;\n break;\n case \"fountain\":\n particles = ;\n break;\n case \"custom\":\n particles = ;\n break;\n case \"random\":\n particles = this.getRandom(num);\n break;\n\n default:\n particles = ;\n break;\n }\n\n return particles;\n }\n\n render() {\n const particles = this.getBgParticles();\n return {particles};\n }\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.min.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n","/**\n * RAFManager requestAnimationFrame Manager\n * \n * Simple package\n * \n * CODE:\n * \n * \t\t// Add to\n * \t-- RAFManager.add(func);\n * \n * \t// Add and carry parameters\n * \t-- const func = data =>{ console.log(data) };\n * \t-- RAFManager.add(func, 25, { msg:'hello world!' }); \n * \t\t\n * \t\t// remove\n * \t-- RAFManager.remove(func);\n * \t-- RAFManager.stop();\t\n*/\n\n// simple polyfill by https://gist.github.com/paulirish/1579671\n(function () {\n\tlet lastTime = 0;\n\tlet vendors = ['ms', 'moz', 'webkit', 'o'];\n\tfor (let x = 0; x < vendors.length && !window.requestAnimationFrame; ++x) {\n\t\twindow.requestAnimationFrame = window[vendors[x] + 'RequestAnimationFrame'];\n\t\twindow.cancelAnimationFrame = window[vendors[x] + 'CancelAnimationFrame']\n\t\t\t|| window[vendors[x] + 'CancelRequestAnimationFrame'];\n\t}\n}());\n\nconst RAFManager = {\n\ttimer: 0,\n\tstate: 'stop',\n\tanimations: [],\n\n\tadd(callback, fps = 60, param = null) {\n\t\tconst n = 60 / fps;\n\t\tconst aniData = { callback, fps, n, param, i: 0 };\n\t\tthis.animations.push(aniData);\n\t\tif (this.animations.length >= 1) this.start();\n\n\t\treturn this;\n\t},\n\n\tgetIndex(callback) {\n\t\tfor (let i = 0; i < this.animations.length; i++) {\n\t\t\tconst aniData = this.animations[i];\n\t\t\tif (aniData.callback === callback) return i;\n\t\t}\n\n\t\treturn -1;\n\t},\n\n\tremove(callback) {\n\t\tconst index = this.getIndex(callback);\n\t\tif (index < 0) return;\n\n\t\tthis.deleteMap(callback);\n\t\tif (this.animations.length === 0) this.stop();\n\n\t\treturn this;\n\t},\n\n\tdeleteMap(callback) {\n\t\tconst index = this.getIndex(callback);\n\t\tconst aniData = this.animations[index];\n\t\tfor (let key in aniData) delete aniData[key];\n\n\t\tthis.animations.splice(index, 1);\n\t},\n\n\tstart() {\n\t\tif (this.state === 'start') return;\n\n\t\tthis.state = 'start';\n\t\tthis.tick();\n\t\treturn this;\n\t},\n\n\tstop() {\n\t\tif (this.state === 'stop') return;\n\n\t\tthis.state = 'stop';\n\t\tcancelAnimationFrame(this.timer);\n\t\treturn this;\n\t},\n\n\ttick() {\n\t\tthis.timer = requestAnimationFrame(() => { this.tick(); });\n\n\t\tfor (let i = 0; i < this.animations.length; i++) {\n\t\t\tconst aniData = this.animations[i];\n\t\t\tconst callback = aniData.callback;\n\t\t\tconst param = aniData.param;\n\n\t\t\taniData.i++;\n\t\t\tif (aniData.i >= aniData.n) {\n\t\t\t\tcallback(param);\n\t\t\t\taniData.i = 0;\n\t\t\t}\n\t\t}\n\t}\n}\n\nexport default RAFManager;","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","'use strict';\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (process.env.NODE_ENV === 'production') {\n // DCE check should happen before ReactDOM bundle executes so that\n // DevTools can report bad minification during injection.\n checkDCE();\n module.exports = require('./cjs/react-dom.production.min.js');\n} else {\n module.exports = require('./cjs/react-dom.development.js');\n}\n","// Code source from here, thanks author\n// https://github.com/drawcall/Proton/blob/gh-pages/source/src/utils/Rand.js\nclass Rand {\n\n constructor() {\n this.list = [];\n }\n\n set(probability, target) {\n this.list.push({\n probability,\n target,\n a: 0,\n b: 1\n });\n\n this.calculation();\n }\n\n calculation() {\n let total = 0;\n for (let i = 0; i < this.list.length; i++) {\n total += this.list[i].probability;\n }\n\n for (let i = 0; i < this.list.length; i++) {\n const obj = this.list[i];\n const val = obj.probability / total;\n\n obj.a = i === 0 ? 0 : this.list[i - 1].b;\n obj.b = obj.a + val;\n }\n }\n\n getResult() {\n const val = Math.random();\n for (let i = 0; i < this.list.length; i++) {\n const obj = this.list[i];\n\n if (val <= obj.b && val > obj.a) {\n return obj.target;\n }\n }\n\n return this.list[0].target;\n }\n};\n\nexport default Rand;\n","import React from \"react\";\nimport RAFManager from \"raf-manager\";\nexport default class Canvas extends React.Component {\n constructor(props) {\n super(props);\n\n this._iid = 0;\n this._oid = 0;\n this.size = { width: 0, height: 0 };\n this.canvasRef = React.createRef();\n }\n\n componentDidMount() {\n this._oid = setTimeout(() => {\n this.initCanvas();\n this.resize = this.resize.bind(this);\n window.addEventListener(\"resize\", this.resize);\n }, 100);\n\n const canvas = this.getCanvas();\n this.props.onCanvasDidMount && this.props.onCanvasDidMount(canvas);\n }\n\n initCanvas() {\n const canvas = this.getCanvas();\n\n if (this.props.globalCompositeOperation) {\n const context = canvas.getContext(\"2d\");\n context.globalCompositeOperation = this.props.globalCompositeOperation;\n }\n\n const { width, height } = this.setCanvasSize(canvas);\n this.heartbeatDetectionCanvasSize(canvas);\n this.props.onCanvasInited(canvas, width, height);\n }\n\n getCanvas(){\n const canvas = this.canvasRef.current;\n return canvas;\n }\n\n heartbeatDetectionCanvasSize(canvas) {\n this._iid = setInterval(() => {\n if(this.canvasRef.current){\n const newHeight = this.canvasRef.current.clientHeight;\n if (newHeight !== this.size.height) {\n const { width, height } = this.setCanvasSize(canvas);\n this.props.onResize && this.props.onResize(width, height);\n }\n }\n }, 1000 / 10);\n }\n\n componentWillUnmount() {\n try{\n window.removeEventListener(\"resize\", this.resize);\n clearInterval(this._iid);\n clearTimeout(this._oid);\n }catch(e){\n }\n }\n\n resize() {\n const canvas = this.getCanvas();\n const { width, height } = this.setCanvasSize(canvas);\n this.props.onResize && this.props.onResize(width, height);\n }\n\n setCanvasSize(canvas) {\n const width = this.canvasRef.current.clientWidth;\n const height = this.canvasRef.current.clientHeight;\n\n this.size.width = width;\n this.size.height = height;\n canvas.width = width;\n canvas.height = height;\n return { width, height };\n }\n\n handleWaypointEnter() {\n RAFManager.start();\n }\n\n handleWaypointLeave() {\n RAFManager.stop();\n }\n\n getStyle() {\n const { bg } = this.props;\n let style = { width: \"100%\", height: \"100%\" };\n\n if (bg === true) {\n style = Object.assign(style, {\n position: \"absolute\",\n zIndex: -1,\n top: 0,\n left: 0\n });\n } else if(bg && typeof bg === \"object\") {\n style = Object.assign(style, bg);\n }\n\n return style;\n }\n\n handleMouseDown(e) {\n this.props.onMouseDown && this.props.onMouseDown(e);\n }\n\n render() {\n return (\n \n );\n }\n}\n","\nfunction hexToRgb(hex) {\n var result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n return result ? {\n r: parseInt(result[1], 16),\n g: parseInt(result[2], 16),\n b: parseInt(result[3], 16)\n } : {};\n}\n\nfunction getColor(color, a) {\n let c;\n if (color) {\n c = hexToRgb(color);\n return `rgba(${c.r},${c.g},${c.b}, ${a})`;\n } else {\n return null;\n }\n}\n\n\nexport { hexToRgb, getColor };","import React from \"react\";\nimport Proton from \"proton-engine\";\nimport RAFManager from \"raf-manager\";\nimport Canvas from \"./Canvas.jsx\";\nimport { getColor } from \"../utils/Color\";\n\nexport default class Ball extends React.Component {\n constructor(props) {\n super(props);\n this.renderProton = this.renderProton.bind(this);\n }\n\n onCanvasInited(canvas, width, height) {\n this.createProton(canvas, width, height);\n this.createMiniEmitter(canvas);\n RAFManager.add(this.renderProton);\n }\n\n componentWillUnmount() {\n try {\n RAFManager.remove(this.renderProton);\n this.proton.destroy();\n } catch (e) { }\n }\n\n onResize() { }\n\n createProton(canvas, width, height) {\n const context = canvas.getContext(\"2d\");\n this.proton = new Proton();\n\n const emitter = new Proton.Emitter();\n emitter.rate = new Proton.Rate(\n this.props.num ? new Proton.Span(this.props.num) : new Proton.Span(4, 9),\n new Proton.Span(0.8, 1.3)\n );\n\n emitter.addInitialize(new Proton.Mass(1));\n emitter.addInitialize(new Proton.Radius(1, 50));\n emitter.addInitialize(new Proton.Life(5, 6));\n emitter.addInitialize(\n new Proton.Velocity(\n new Proton.Span(5, 8),\n new Proton.Span(30, 70),\n \"polar\"\n )\n );\n\n emitter.addBehaviour(new Proton.Alpha(1, 0));\n emitter.addBehaviour(\n new Proton.Color([\"#36aaf3\", \"#fd769c\", \"#94ff22\", \"#ffa545\", \"#ffffff\"])\n );\n emitter.addBehaviour(new Proton.Scale(0.7, 1));\n emitter.addBehaviour(new Proton.Gravity(3));\n emitter.addBehaviour(new Proton.Collision(emitter));\n emitter.addBehaviour(this.customDeadBehaviour(canvas));\n emitter.addBehaviour(\n new Proton.CrossZone(\n new Proton.RectZone(0, 0, canvas.width, canvas.height),\n \"bound\"\n )\n );\n\n emitter.p.x = Math.min(500, Math.max(canvas.width / 2 - 400, 50));\n emitter.p.y = canvas.height / 2 + 50;\n emitter.emit();\n this.proton.addEmitter(emitter);\n\n const renderer = new Proton.CanvasRenderer(canvas);\n renderer.onProtonUpdate = ()=> {\n context.fillStyle = getColor(this.props.color, 0.2) || \"rgba(255, 255, 255, 0.2)\";\n context.fillRect(0, 0, canvas.width, canvas.height);\n };\n this.proton.addRenderer(renderer);\n }\n\n customDeadBehaviour(canvas) {\n return {\n initialize: function (particle) { },\n applyBehaviour: particle => {\n if (particle.p.y + particle.radius >= canvas.height) {\n if (particle.radius > 9) {\n this.miniEmitteing(particle);\n particle.dead = true;\n }\n }\n }\n };\n }\n\n createMiniEmitter(canvas) {\n const miniEmitter = new Proton.Emitter();\n miniEmitter.rate = new Proton.Rate(\n new Proton.Span(3, 6),\n new Proton.Span(1, 2)\n );\n\n miniEmitter.addInitialize(new Proton.Mass(1));\n miniEmitter.radiusInitialize = new Proton.Radius();\n miniEmitter.addInitialize(miniEmitter.radiusInitialize);\n miniEmitter.addInitialize(new Proton.Life(0.5, 1));\n miniEmitter.addInitialize(\n new Proton.V(\n new Proton.Span(1.5, 3),\n new Proton.Span(0, 70, true),\n \"polar\"\n )\n );\n\n miniEmitter.colorBehaviour = new Proton.Color(\"#ffffff\");\n miniEmitter.addBehaviour(new Proton.Alpha(1, 0));\n miniEmitter.addBehaviour(miniEmitter.colorBehaviour);\n miniEmitter.addBehaviour(new Proton.Gravity(4));\n miniEmitter.addBehaviour(new Proton.Collision(miniEmitter));\n miniEmitter.addBehaviour(\n new Proton.CrossZone(\n new Proton.RectZone(0, 0, canvas.width, canvas.height),\n \"bound\"\n )\n );\n this.proton.addEmitter(miniEmitter);\n\n this.miniEmitter = miniEmitter;\n }\n\n miniEmitteing(particle) {\n const miniEmitter = this.miniEmitter;\n miniEmitter.radiusInitialize.reset(\n particle.radius * 0.05,\n particle.radius * 0.2\n );\n miniEmitter.colorBehaviour.reset(particle.color);\n miniEmitter.p.x = particle.p.x;\n miniEmitter.p.y = particle.p.y;\n miniEmitter.emit(\"once\");\n }\n\n renderProton() {\n this.proton && this.proton.update();\n }\n\n render() {\n return (\n \n );\n }\n}\n","import React from \"react\";\nimport Proton from \"proton-engine\";\nimport RAFManager from \"raf-manager\";\nimport Canvas from \"./Canvas.jsx\";\n\nexport default class Color extends React.Component {\n constructor(props) {\n super(props);\n\n this.colors = [\n \"#529B88\",\n \"#CDD180\",\n \"#FFFA32\",\n \"#FB6255\",\n \"#FB4A53\",\n \"#FF4E50\",\n \"#F9D423\"\n ];\n this.renderProton = this.renderProton.bind(this);\n }\n\n componentWillUnmount() {\n try {\n RAFManager.remove(this.renderProton);\n this.proton.destroy();\n } catch (e) {}\n }\n\n onCanvasInited(canvas, width, height) {\n this.createProton(canvas, width, height);\n RAFManager.add(this.renderProton);\n }\n\n onResize() {}\n\n createProton(canvas, width, height) {\n this.proton = new Proton();\n const emitter = new Proton.Emitter();\n emitter.rate = new Proton.Rate(\n this.props.num ? new Proton.Span(this.props.num) : new Proton.Span(5, 8),\n new Proton.Span(0.1, 0.25)\n );\n\n emitter.addInitialize(new Proton.Mass(1));\n emitter.addInitialize(new Proton.Radius(20, 200));\n emitter.addInitialize(new Proton.Life(2, 4));\n emitter.addInitialize(\n new Proton.Position(new Proton.RectZone(0, 0, width, height))\n );\n\n emitter.addBehaviour(new Proton.Alpha(0, 1, Infinity, Proton.easeOutCubic));\n emitter.addBehaviour(new Proton.Scale(1, 0, Infinity, Proton.easeOutCubic));\n emitter.addBehaviour(new Proton.Color(this.colors, \"random\"));\n\n emitter.emit();\n this.proton.addEmitter(emitter);\n\n const renderer = new Proton.CanvasRenderer(canvas);\n this.proton.addRenderer(renderer);\n }\n\n renderProton() {\n this.proton && this.proton.update();\n }\n\n render() {\n return (\n \n );\n }\n}\n","import React from \"react\";\nimport Proton from \"proton-engine\";\nimport RAFManager from \"raf-manager\";\nimport Canvas from \"./Canvas.jsx\";\n\nexport default class Color extends React.Component {\n constructor(props) {\n super(props);\n\n this.colors = [\n \"#529B88\",\n \"#CDD180\",\n \"#FFFA32\",\n \"#FB6255\",\n \"#FB4A53\",\n \"#FF4E50\",\n \"#F9D423\"\n ];\n this.renderProton = this.renderProton.bind(this);\n }\n\n componentWillUnmount() {\n try {\n RAFManager.remove(this.renderProton);\n this.proton.destroy();\n } catch (e) { }\n }\n\n onCanvasInited(canvas, width, height) {\n this.createProton(canvas, width, height);\n RAFManager.add(this.renderProton);\n }\n\n onResize(width, height) {\n this.crossZoneBehaviour.zone.width = width;\n this.crossZoneBehaviour.zone.height = height;\n this.proton.renderers[0].resize(width, height);;\n }\n\n getProp(key, defaultVal) {\n const config = this.props.config || {};\n const val = config[key] || defaultVal;\n if (Array.isArray(val)) {\n return new Proton.Span(val[0], val[1]);\n } else {\n return val;\n }\n }\n\n getArrProp(key, defaultVal) {\n const config = this.props.config || {};\n const val = config[key] || defaultVal;\n if (!val) return null;\n\n if (Array.isArray(val)) {\n return val;\n } else {\n return [val, val];\n }\n }\n\n createProton(canvas, width, height) {\n const num = this.getProp(\"num\", [5, 8]);\n const rps = this.getProp(\"rps\", [0.1, 0.2]);\n const mass = this.getProp(\"mass\", 1);\n const radius = this.getProp(\"radius\", [10, 30]);\n const life = this.getProp(\"life\", [2, 3]);\n const body = this.getProp(\"body\");\n const position = this.getProp(\"position\");\n const v = this.getProp(\"v\", [2, 3]);\n const tha = this.getProp(\"tha\", [-15, 15]);\n const alpha = this.getArrProp(\"alpha\");\n const scale = this.getArrProp(\"scale\");\n const color = this.getArrProp(\"color\");\n const cross = this.getProp(\"cross\", \"dead\");\n const random = this.getProp(\"random\");\n const rotate = this.getArrProp(\"rotate\");\n const g = this.getProp(\"g\");\n const f = this.getArrProp(\"f\");\n const emitterV = this.getProp(\"emitter\");\n\n this.proton = new Proton();\n let emitter;\n if (emitterV === \"follow\") {\n emitter = new Proton.FollowEmitter();\n } else {\n emitter = new Proton.Emitter();\n }\n emitter.rate = new Proton.Rate(num, rps);\n\n emitter.addInitialize(new Proton.Mass(mass));\n emitter.addInitialize(new Proton.Radius(radius));\n emitter.addInitialize(new Proton.Life(life));\n emitter.addInitialize(new Proton.Velocity(v, tha, \"polar\"));\n if (body) emitter.addInitialize(new Proton.Body(body));\n\n let pos;\n if (position === \"all\" || position === \"screen\") {\n pos = new Proton.Position(new Proton.RectZone(0, 0, canvas.width, canvas.height))\n } else if (typeof position === \"object\") {\n pos = new Proton.Position(new Proton.RectZone(position.x, position.y, position.width, position.height))\n } else {\n emitter.p.x = canvas.width / 2;\n emitter.p.y = canvas.height / 2;\n }\n\n emitter.addInitialize(pos);\n\n /// behaviour\n const alphaB = alpha ? new Proton.Alpha(alpha[0], alpha[1]) : new Proton.Alpha(0, 1);\n const scaleB = scale ? new Proton.Scale(scale[0], scale[1]) : new Proton.Scale(1, 0.2);\n const colorB = color ? new Proton.Color(color[0], color[1]) : new Proton.Color(this.colors);\n\n emitter.addBehaviour(alphaB);\n emitter.addBehaviour(scaleB);\n if(!body) emitter.addBehaviour(colorB);\n\n if(rotate){\n if(rotate[0]===true||rotate[0]===\"rotate\"){\n emitter.addBehaviour(new Proton.Rotate());\n }else{\n emitter.addBehaviour(new Proton.Rotate(rotate[0], rotate[1]));\n }\n }\n\n const zone = new Proton.RectZone(0, 0, canvas.width, canvas.height)\n const crossZoneBehaviour = new Proton.CrossZone(zone, cross);\n emitter.addBehaviour(crossZoneBehaviour);\n\n random && emitter.addBehaviour(new Proton.RandomDrift(random, random, 0.05));\n g && emitter.addBehaviour(new Proton.G(g));\n f && emitter.addBehaviour(new Proton.F(f[0], f[1]));\n\n emitter.emit();\n this.proton.addEmitter(emitter);\n\n const renderer = this.createRenderer(canvas);\n this.proton.addRenderer(renderer);\n\n this.emitter = emitter;\n this.crossZoneBehaviour = crossZoneBehaviour;\n }\n\n createRenderer(canvas) {\n const width = canvas.width;\n const height = canvas.height;\n const context = canvas.getContext(\"2d\");\n const renderer = new Proton.CanvasRenderer(canvas);\n\n const onUpdate = this.getProp(\"onUpdate\");\n if (onUpdate) {\n renderer.onProtonUpdate = () => {\n onUpdate(context, width, height);\n };\n }\n\n const onParticleCreated = this.getProp(\"onParticleCreated\");\n if (onParticleCreated) {\n renderer.onParticleCreated = (particle) => {\n onParticleCreated(context, particle);\n };\n }\n\n const onParticleUpdate = this.getProp(\"onParticleUpdate\");\n if (onParticleUpdate) {\n renderer.onParticleUpdate = (particle) => {\n onParticleUpdate(context, particle);\n };\n }\n\n return renderer;\n }\n\n renderProton() {\n this.proton && this.proton.update();\n }\n\n handleMouseDown(e) {\n const onMouseDown = this.getProp(\"onMouseDown\");\n if (onMouseDown) {\n onMouseDown(e);\n }\n }\n\n render() {\n const globalCompositeOperation = this.props.globalCompositeOperation || this.props.operation || \"source-over\";\n\n return (\n \n );\n }\n}\n","import React from \"react\";\nimport Proton from \"proton-engine\";\nimport RAFManager from \"raf-manager\";\nimport Canvas from \"./Canvas.jsx\";\nimport { getColor } from \"../utils/Color\";\n\nexport default class Lines extends React.Component {\n constructor(props) {\n super(props);\n this.renderProton = this.renderProton.bind(this);\n }\n\n onCanvasDidMount(canvas){\n if(this.props.color){\n canvas.style.backgroundColor = this.props.color;\n }\n }\n\n componentWillUnmount() {\n try {\n RAFManager.remove(this.renderProton);\n this.proton.destroy();\n } catch (e) { }\n }\n\n onCanvasInited(canvas, width, height) {\n this.createProton(canvas, width, height);\n RAFManager.add(this.renderProton);\n }\n\n onResize(width, height) {\n this.crossZoneBehaviour.zone.width = width;\n this.crossZoneBehaviour.zone.height = height;\n this.proton.renderers[0].resize(width, height);\n }\n\n createProton(canvas, width, height) {\n this.proton = new Proton();\n\n const emitter = new Proton.Emitter();\n emitter.damping = 0.008;\n emitter.rate = new Proton.Rate(this.props.num ? this.props.num : 250);\n emitter.addInitialize(new Proton.Mass(1));\n emitter.addInitialize(new Proton.Radius(4));\n emitter.addInitialize(\n new Proton.Velocity(\n new Proton.Span(1.5),\n new Proton.Span(0, 360),\n \"polar\"\n )\n );\n const mouseObj = {\n x: width / 2,\n y: height / 2\n };\n\n const attractionBehaviour = new Proton.Attraction(mouseObj, 0, 0);\n const crossZoneBehaviour = new Proton.CrossZone(\n new Proton.RectZone(0, 0, canvas.width, canvas.height),\n \"cross\"\n );\n emitter.addBehaviour(new Proton.Color(\"random\"));\n emitter.addBehaviour(attractionBehaviour, crossZoneBehaviour);\n emitter.addBehaviour(new Proton.RandomDrift(10, 10, 0.05));\n emitter.p.x = canvas.width / 2;\n emitter.p.y = canvas.height / 2;\n emitter.emit(\"once\");\n\n this.proton.addEmitter(emitter);\n this.proton.addRenderer(this.createRenderer(canvas));\n this.crossZoneBehaviour = crossZoneBehaviour;\n }\n\n createRenderer(canvas) {\n const context = canvas.getContext(\"2d\");\n const renderer = new Proton.CanvasRenderer(canvas);\n renderer.onProtonUpdate = () => {\n context.fillStyle = getColor(this.props.color, 0.02) || \"rgba(0, 0, 0, 0.02)\";\n context.fillRect(0, 0, canvas.width, canvas.height);\n };\n\n renderer.onParticleUpdate = function (particle) {\n context.beginPath();\n context.strokeStyle = particle.color;\n context.lineWidth = 1;\n context.moveTo(particle.old.p.x, particle.old.p.y);\n context.lineTo(particle.p.x, particle.p.y);\n context.closePath();\n context.stroke();\n };\n\n return renderer;\n }\n\n renderProton() {\n this.proton && this.proton.update();\n }\n\n render() {\n return (\n \n );\n }\n}\n","import React from \"react\";\nimport Proton from \"proton-engine\";\nimport RAFManager from \"raf-manager\";\nimport Canvas from \"./Canvas.jsx\";\nimport { getColor } from \"../utils/Color\";\n\nexport default class Thick extends React.Component {\n constructor(props) {\n super(props);\n this.hue = 0;\n this.index = 0;\n this.colorTemplate = `hsla(hue,80%,50%, 0.75)`;\n this.renderProton = this.renderProton.bind(this);\n }\n\n onCanvasDidMount(canvas){\n if(this.props.color){\n canvas.style.backgroundColor = this.props.color;\n }\n }\n\n onCanvasInited(canvas, width, height) {\n this.canvas = canvas;\n this.createProton(canvas, width, height);\n RAFManager.add(this.renderProton);\n }\n\n onResize(width, height) {\n this.crossZoneBehaviour.zone.width = width;\n this.crossZoneBehaviour.zone.height = height;\n this.proton.renderers[0].resize(width, height);\n }\n\n createProton(canvas, width, height) {\n this.proton = new Proton();\n\n const emitter = new Proton.Emitter();\n emitter.damping = 0.008;\n emitter.rate = new Proton.Rate(this.props.num ? this.props.num : 150);\n\n // Initialize\n emitter.addInitialize(new Proton.Mass(1));\n emitter.addInitialize(new Proton.Radius(8));\n emitter.addInitialize(\n new Proton.V(new Proton.Span(0.1, 0.5), new Proton.Span(0, 360), \"polar\")\n );\n emitter.addInitialize(\n new Proton.Position(\n new Proton.CircleZone(canvas.width / 2, canvas.height / 2, 100)\n )\n );\n\n // Behaviour\n const crossZoneBehaviour = new Proton.CrossZone(\n new Proton.RectZone(0, 0, canvas.width, canvas.height),\n \"cross\"\n );\n emitter.addBehaviour(crossZoneBehaviour);\n this.repulsion = new Proton.Repulsion(\n {\n x: canvas.width / 2,\n y: canvas.height / 2 - 100\n },\n 3,\n 300\n );\n\n this.attraction = new Proton.Attraction(\n {\n x: canvas.width / 2,\n y: canvas.height / 2\n },\n 3,\n 200\n );\n emitter.addBehaviour(this.attraction, this.repulsion);\n emitter.addBehaviour(new Proton.Color(\"random\"));\n emitter.addBehaviour(new Proton.RandomDrift(20, 15, 0.15));\n\n emitter.emit(\"once\");\n this.proton.addEmitter(emitter);\n this.proton.addRenderer(this.createRenderer(canvas));\n this.crossZoneBehaviour = crossZoneBehaviour;\n }\n\n createRenderer(canvas) {\n const context = canvas.getContext(\"2d\");\n const renderer = new Proton.CanvasRenderer(canvas);\n\n renderer.onProtonUpdate = () => {\n this.hue += 1;\n context.fillStyle = getColor(this.props.color, 0.02) || \"rgba(0, 0, 0, 0.02)\";\n context.fillRect(0, 0, canvas.width, canvas.height);\n };\n\n renderer.onParticleCreated = particle => {\n particle.data.begin = Proton.MathUtil.randomAToB(1, 120);\n particle.data.tha = Proton.MathUtil.randomAToB(0, Math.PI * 2);\n };\n\n renderer.onParticleUpdate = particle => {\n const hue = particle.data.begin + this.hue;\n particle.color = this.colorTemplate.replace(\"hue\", hue % 360);\n\n const ratio = 3 / 4;\n const radius =\n particle.radius * (1 - ratio) * Math.cos((particle.data.tha += 0.01)) +\n particle.radius * ratio;\n\n context.beginPath();\n context.fillStyle = particle.color;\n context.arc(particle.p.x, particle.p.y, radius, 0, Math.PI * 2, true);\n context.closePath();\n context.fill();\n };\n\n return renderer;\n }\n\n componentWillUnmount() {\n try {\n RAFManager.remove(this.renderProton);\n this.proton.destroy();\n } catch (e) {}\n }\n\n renderProton() {\n const canvas = this.canvas;\n this.proton.update();\n if (this.index % 200 === 0) {\n this.attraction.targetPosition.x = Math.random() * canvas.width;\n this.attraction.targetPosition.y = Math.random() * canvas.height;\n\n this.repulsion.targetPosition.x = Math.random() * canvas.width;\n this.repulsion.targetPosition.y = Math.random() * canvas.height;\n }\n\n this.index++;\n }\n\n render() {\n return (\n \n );\n }\n}\n","import React from \"react\";\nimport Proton from \"proton-engine\";\nimport RAFManager from \"raf-manager\";\nimport Canvas from \"./Canvas.jsx\";\n\nexport default class Square extends React.Component {\n constructor(props) {\n super(props);\n\n this.colors = [\n \"#fad390\",\n \"#81ecec\",\n \"#ffffff\",\n \"#badc58\",\n \"#f9ca24\",\n \"#FEA47F\"\n ];\n this.renderProton = this.renderProton.bind(this);\n }\n\n componentWillUnmount() {\n try {\n RAFManager.remove(this.renderProton);\n this.proton.destroy();\n } catch (e) {}\n }\n\n onCanvasDidMount(canvas) {\n \n }\n\n onCanvasInited(canvas, width, height) {\n this.createProton(canvas, width, height);\n RAFManager.add(this.renderProton);\n }\n\n onResize(width, height) {\n const dis = 150;\n this.crossZoneBehaviour.zone.width = width + 2 * dis;\n this.crossZoneBehaviour.zone.height = height + 2 * dis;\n this.proton.renderers[0].resize(width, height);\n }\n\n createProton(canvas, width, height) {\n this.proton = new Proton();\n const emitter = new Proton.Emitter();\n emitter.rate = new Proton.Rate(this.props.num ? this.props.num : 50);\n emitter.damping = 0;\n\n emitter.addInitialize(new Proton.Mass(1));\n emitter.addInitialize(new Proton.Radius(4, 70));\n emitter.addInitialize(\n new Proton.Velocity(new Proton.Span(2, 10), new Proton.Span(0), \"polar\")\n );\n emitter.addInitialize(\n new Proton.Position(\n new Proton.LineZone(0, canvas.height, canvas.width, canvas.height)\n )\n );\n\n const dis = 150;\n const crossZoneBehaviour = new Proton.CrossZone(\n new Proton.RectZone(\n 0 - dis,\n 0 - dis,\n canvas.width + 2 * dis,\n canvas.height + 2 * dis\n ),\n \"cross\"\n );\n emitter.addBehaviour(crossZoneBehaviour);\n emitter.addBehaviour(new Proton.Alpha(Proton.getSpan(0.1, 0.55)));\n emitter.addBehaviour(new Proton.Color(this.colors));\n\n emitter.emit(\"once\");\n this.proton.addEmitter(emitter);\n const renderer = this.createRenderer(canvas);\n this.proton.addRenderer(renderer);\n\n this.crossZoneBehaviour = crossZoneBehaviour;\n emitter.preEmit(2);\n }\n\n createRenderer(canvas) {\n const context = canvas.getContext(\"2d\");\n const renderer = new Proton.CustomRenderer();\n\n renderer.onProtonUpdate = () => {\n context.clearRect(0, 0, canvas.width, canvas.height);\n };\n\n renderer.onParticleCreated = particle => {\n const w = particle.radius || 60;\n const h = Proton.MathUtil.randomAToB(100, 200, \"int\");\n particle.data.w = w;\n particle.data.h = h;\n };\n\n renderer.onParticleUpdate = particle => {\n const w = particle.data.w;\n const h = particle.data.h;\n context.save();\n context.globalAlpha = particle.alpha;\n context.fillStyle = particle.color;\n\n context.translate(particle.p.x, particle.p.y);\n context.rotate(Proton.MathUtil.degreeTransform(particle.rotation));\n context.translate(-particle.p.x, -particle.p.y);\n\n context.beginPath();\n context.rect(particle.p.x - w / 2, particle.p.y - h / 2, w, h);\n\n context.closePath();\n context.fill();\n context.globalAlpha = 1;\n context.restore();\n };\n\n return renderer;\n }\n\n renderProton() {\n this.proton && this.proton.update();\n }\n\n render() {\n return (\n \n );\n }\n}\n","import React from \"react\";\nimport Proton from \"proton-engine\";\nimport RAFManager from \"raf-manager\";\nimport Canvas from \"./Canvas.jsx\";\nimport { getColor } from \"../utils/Color\";\n\nexport default class Cobweb extends React.Component {\n constructor(props) {\n super(props);\n this.renderProton = this.renderProton.bind(this);\n }\n\n onCanvasInited(canvas, width, height) {\n this.createProton(canvas, width, height);\n RAFManager.add(this.renderProton);\n }\n\n componentWillUnmount() {\n try {\n RAFManager.remove(this.renderProton);\n this.proton.destroy();\n } catch (e) {}\n }\n\n onResize(width, height) {\n this.crossZoneBehaviour.zone.width = width;\n this.crossZoneBehaviour.zone.height = height;\n this.proton.renderers[0].resize(width, height);\n }\n\n createProton(canvas, width, height) {\n this.proton = new Proton();\n\n const emitter = new Proton.Emitter();\n emitter.rate = new Proton.Rate(\n this.props.num ? new Proton.Span(this.props.num) : new Proton.Span(100),\n new Proton.Span(0.05, 0.2)\n );\n\n emitter.addInitialize(new Proton.Mass(1));\n emitter.addInitialize(new Proton.Radius(1, 4));\n emitter.addInitialize(new Proton.Life(Infinity));\n\n const pointZone = new Proton.Position(\n new Proton.RectZone(0, 0, width, height)\n );\n emitter.addInitialize(pointZone);\n emitter.addInitialize(\n new Proton.Velocity(\n new Proton.Span(0.3, 0.6),\n new Proton.Span(0, 360),\n \"polar\"\n )\n );\n\n emitter.addBehaviour(new Proton.Alpha(Proton.getSpan(0.2, 0.9)));\n emitter.addBehaviour(new Proton.Color(this.props.color || \"#333\"));\n this.crossZoneBehaviour = new Proton.CrossZone(\n new Proton.RectZone(0, 0, width, height),\n \"cross\"\n );\n emitter.addBehaviour(this.crossZoneBehaviour);\n\n emitter.emit(\"once\");\n emitter.damping = 0;\n this.proton.addEmitter(emitter);\n this.proton.addRenderer(this.createRenderer(canvas, emitter));\n }\n\n createRenderer(canvas, emitter) {\n const context = canvas.getContext(\"2d\");\n const renderer = new Proton.CanvasRenderer(canvas);\n const R = 140;\n\n renderer.onProtonUpdateAfter = ()=> {\n let particles = emitter.particles;\n\n for (let i = 0; i < particles.length; i++) {\n for (let j = i + 1; j < particles.length; j++) {\n let pA = particles[i];\n let pB = particles[j];\n let dis = pA.p.distanceTo(pB.p);\n\n if (dis < R) {\n let alpha = (1 - dis / R) * 0.5;\n context.strokeStyle = getColor(this.props.color, alpha) || `rgba(3, 3, 3, ${alpha})`;\n context.beginPath();\n context.moveTo(pA.p.x, pA.p.y);\n context.lineTo(pB.p.x, pB.p.y);\n context.closePath();\n context.stroke();\n }\n }\n }\n };\n\n return renderer;\n }\n\n renderProton() {\n this.proton && this.proton.update();\n }\n\n render() {\n return (\n \n );\n }\n}\n","import React from \"react\";\nimport Proton from \"proton-engine\";\nimport RAFManager from \"raf-manager\";\nimport Canvas from \"./Canvas.jsx\";\n\nexport default class Circle extends React.Component {\n constructor(props) {\n super(props);\n\n this.colors = [\n \"#74b9ff\",\n \"#e84393\",\n \"#6c5ce7\",\n \"#00b894\",\n \"#fdcb6e\",\n \"#006266\",\n \"#1B1464\"\n ];\n\n this.renderProton = this.renderProton.bind(this);\n }\n\n componentWillUnmount() {\n try {\n RAFManager.remove(this.renderProton);\n this.proton.destroy();\n } catch (e) { }\n }\n\n onCanvasInited(canvas, width, height) {\n this.createProton(canvas, width, height);\n RAFManager.add(this.renderProton);\n }\n\n onResize(width, height) {\n this.crossZoneBehaviour.zone.width = width;\n this.crossZoneBehaviour.zone.height = height;\n this.proton.renderers[0].resize(width, height);\n }\n\n createProton(canvas, width, height) {\n this.proton = new Proton();\n\n const emitter = new Proton.Emitter();\n emitter.rate = new Proton.Rate(this.props.num || 20);\n emitter.damping = 0.008;\n\n emitter.addInitialize(new Proton.Mass(1));\n emitter.addInitialize(new Proton.Radius(30, 600));\n emitter.addInitialize(\n new Proton.Velocity(\n new Proton.Span(0.5),\n new Proton.Span(0, 360),\n \"polar\"\n )\n );\n emitter.addInitialize(\n new Proton.Position(\n new Proton.RectZone(0, 0, canvas.width, canvas.height)\n )\n );\n\n const crossZoneBehaviour = new Proton.CrossZone(\n new Proton.RectZone(0, 0, canvas.width, canvas.height),\n \"cross\"\n );\n emitter.addBehaviour(crossZoneBehaviour);\n emitter.addBehaviour(new Proton.Alpha(Proton.getSpan(0.35, 0.55)));\n emitter.addBehaviour(new Proton.Color(this.getColor()));\n emitter.addBehaviour(new Proton.RandomDrift(50, 50, 0.5));\n\n emitter.emit(\"once\");\n this.proton.addEmitter(emitter);\n\n const renderer = new Proton.CanvasRenderer(canvas);\n this.proton.addRenderer(renderer);\n\n this.crossZoneBehaviour = crossZoneBehaviour;\n }\n\n getColor() {\n let c = this.colors;\n if (this.props.color) {\n if(Array.isArray(this.props.color)){\n c = this.props.color;\n }else{\n c = [this.props.color];\n }\n }\n\n return c;\n }\n\n renderProton() {\n this.proton && this.proton.update();\n }\n\n render() {\n return (\n \n );\n }\n}\n","import React from \"react\";\nimport Proton from \"proton-engine\";\nimport RAFManager from \"raf-manager\";\nimport Canvas from \"./Canvas.jsx\";\n\nexport default class Tadpole extends React.Component {\n constructor(props) {\n super(props);\n this.renderProton = this.renderProton.bind(this);\n }\n\n onCanvasDidMount(canvas) {\n\n }\n\n onCanvasInited(canvas, width, height) {\n this.createProton(canvas, width, height);\n this.renderProton();\n }\n\n onResize(width, height) {\n this.crossZoneBehaviour.zone.width = width;\n this.crossZoneBehaviour.zone.height = height;\n this.proton.renderers[0].resize(width, height);\n }\n\n createProton(canvas, width, height) {\n this.proton = new Proton();\n\n const emitter = new Proton.Emitter();\n emitter.damping = 0.008;\n emitter.rate = new Proton.Rate(this.props.num ? this.props.num : 50);\n emitter.addInitialize(new Proton.Mass(1));\n emitter.addInitialize(new Proton.Radius(5, 9));\n emitter.addInitialize(\n new Proton.Velocity(\n new Proton.Span(1.5),\n new Proton.Span(0, 360),\n \"polar\"\n )\n );\n emitter.addInitialize(\n new Proton.Position(new Proton.RectZone(0, 0, width, height))\n );\n\n const mouseInfo = {\n x: width / 2,\n y: height / 2\n };\n\n const attractionBehaviour = new Proton.Attraction(mouseInfo, 0, 0);\n const crossZoneBehaviour = new Proton.CrossZone(\n new Proton.RectZone(0, 0, canvas.width, canvas.height),\n \"bound\"\n );\n emitter.addBehaviour(new Proton.Color(this.props.color || \"#bbb\"));\n //emitter.addBehaviour(new Proton.Alpha(new Proton.Span(0.5, 1)));\n emitter.addBehaviour(attractionBehaviour, crossZoneBehaviour);\n emitter.addBehaviour(new Proton.RandomDrift(15, 15, 0.05));\n emitter.emit(\"once\");\n\n this.proton.addEmitter(emitter);\n this.proton.addRenderer(this.createRenderer(canvas));\n this.crossZoneBehaviour = crossZoneBehaviour;\n }\n\n createRenderer(canvas) {\n const jointCount = 10;\n const delayTime = 8;\n const context = canvas.getContext(\"2d\");\n const renderer = new Proton.CanvasRenderer(canvas);\n\n renderer.onProtonUpdate = function () {\n context.clearRect(0, 0, canvas.width, canvas.height);\n };\n\n renderer.onParticleCreated = particle => {\n particle.data.points = [];\n particle.data.index = 0;\n };\n\n renderer.onParticleUpdate = function (particle) {\n drawTadpoleTail(particle);\n if (particle.data.index % delayTime === 0) fillPointsData(particle);\n drawTadpoleHead(particle);\n particle.data.index++;\n };\n\n const fillPointsData = particle => {\n particle.data.points.unshift(particle.p.y);\n particle.data.points.unshift(particle.p.x);\n\n if (particle.data.points.length > jointCount) {\n particle.data.points.pop();\n particle.data.points.pop();\n }\n };\n\n const drawTadpoleHead = particle => {\n context.fillStyle = particle.color;\n context.beginPath();\n context.arc(\n particle.p.x,\n particle.p.y,\n particle.radius,\n 0,\n Math.PI * 2,\n true\n );\n context.closePath();\n context.fill();\n };\n\n const drawTadpoleTail = particle => {\n context.beginPath();\n context.strokeStyle = particle.color;\n\n context.moveTo(particle.p.x, particle.p.y);\n\n const l = particle.data.points.length;\n for (let i = 0; i < l; i += 2) {\n const x = particle.data.points[i];\n const y = particle.data.points[i + 1];\n\n context.lineWidth = linearEvaluation(i, l);\n context.lineTo(x, y);\n context.stroke();\n }\n };\n\n const linearEvaluation = (i, l) => {\n if (l <= 2) return 1;\n\n const max = 6;\n const A = (max - 1) / (2 / l - 1);\n const B = 1 - A;\n const X = (i + 2) / l;\n let val = A * X + B;\n val = val >> 0;\n\n return val;\n };\n\n return renderer;\n }\n\n renderProton() {\n RAFManager.add(() => {\n this.proton.update();\n //this.proton.stats.update();\n });\n }\n\n render() {\n return (\n \n );\n }\n}\n","import React from \"react\";\nimport Proton from \"proton-engine\";\nimport RAFManager from \"raf-manager\";\nimport Canvas from \"./Canvas.jsx\";\n\nconst COLOR = [\n \"#f6b93b\",\n \"#18dcff\",\n \"#cd84f1\",\n \"#ED4C67\",\n \"#ffffff\",\n \"#b71540\",\n \"#32ff7e\",\n \"#ff3838\"\n];\n\nexport default class Polygon extends React.Component {\n constructor(props) {\n super(props);\n this.renderProton = this.renderProton.bind(this);\n }\n\n onCanvasInited(canvas, width, height) {\n this.createProton(canvas);\n this.createEmitter({\n canvas,\n x: width / 2,\n y: height / 2,\n mainEmitter: true,\n zone: \"bound\"\n });\n\n RAFManager.add(this.renderProton);\n }\n\n componentWillUnmount() {\n try {\n RAFManager.remove(this.renderProton);\n this.proton.destroy();\n } catch (e) {}\n }\n\n onResize() {}\n\n createProton(canvas) {\n this.proton = new Proton();\n const renderer = this.createRenderer(canvas);\n this.proton.addRenderer(renderer);\n }\n\n createRenderer(canvas) {\n const context = canvas.getContext(\"2d\");\n const renderer = new Proton.CustomRenderer();\n\n renderer.onProtonUpdate = () => {\n context.clearRect(0, 0, canvas.width, canvas.height);\n };\n\n renderer.onParticleCreated = particle => {\n particle.data.count = Proton.MathUtil.randomAToB(3, 10, true);\n };\n\n renderer.onParticleUpdate = particle => {\n context.save();\n context.globalAlpha = particle.alpha;\n context.fillStyle = particle.color;\n\n context.translate(particle.p.x, particle.p.y);\n context.rotate(Proton.MathUtil.degreeTransform(particle.rotation));\n context.translate(-particle.p.x, -particle.p.y);\n\n context.beginPath();\n drawPolygon(particle, particle.data.count);\n\n context.closePath();\n context.fill();\n context.globalAlpha = 1;\n context.restore();\n };\n\n renderer.onParticleDead = particle => {};\n\n const drawPolygon = (particle, count) => {\n if (count >= 7) {\n context.arc(\n particle.p.x,\n particle.p.y,\n particle.radius,\n 0,\n Math.PI * 2,\n true\n );\n } else {\n const radius = particle.radius;\n\n for (let i = 0; i <= count; i++) {\n let x =\n particle.p.x +\n radius * Math.cos((((Math.PI / 180) * 360) / count) * i);\n let y =\n particle.p.y +\n radius * Math.sin((((Math.PI / 180) * 360) / count) * i);\n\n if (i === 0) context.moveTo(x, y);\n else context.lineTo(x, y);\n }\n }\n };\n\n return renderer;\n }\n\n createEmitter({\n mainEmitter,\n canvas,\n x,\n y,\n radius,\n color = COLOR,\n zone = \"dead\",\n once = \"all\",\n alpha = 0.85,\n gravity = 3.5\n }) {\n const emitter = this.proton.pool.get(Proton.Emitter);\n\n if (!emitter.completed) {\n emitter.rate = new Proton.Rate(\n this.props.num ? new Proton.Span(this.props.num) : new Proton.Span(4, 9),\n new Proton.Span(1.6, 2.2)\n );\n\n const radiusInit = mainEmitter\n ? new Proton.Radius(10, 110)\n : new Proton.Radius(3, radius);\n emitter.addInitialize(new Proton.Mass(1));\n emitter.addInitialize(radiusInit);\n emitter.addInitialize(new Proton.Life(3, 6));\n emitter.addInitialize(\n new Proton.Velocity(\n new Proton.Span(4, 6),\n new Proton.Span(-90, 90),\n \"polar\"\n )\n );\n\n emitter.addBehaviour(new Proton.Alpha(alpha, 0.2));\n emitter.addBehaviour(new Proton.Color(color));\n emitter.addBehaviour(new Proton.Scale(1, 0.3));\n emitter.addBehaviour(new Proton.Rotate());\n emitter.addBehaviour(new Proton.Gravity(gravity));\n\n emitter.addBehaviour(this.customDeadBehaviour(canvas));\n emitter.addBehaviour(\n new Proton.CrossZone(\n new Proton.RectZone(0, 0, canvas.width, canvas.height),\n zone\n )\n );\n }\n\n emitter.p.x = x;\n emitter.p.y = y;\n if (once === \"once\") emitter.emit(\"once\");\n else emitter.emit();\n\n this.proton.addEmitter(emitter);\n //this.expireEmitter(emitter);\n }\n\n expireEmitter(emitter) {\n setTimeout(() => {\n emitter.completed = true;\n this.proton.pool.expire(emitter);\n this.proton.removeEmitter(emitter);\n }, 500);\n }\n\n customDeadBehaviour(canvas) {\n return {\n initialize: particle => {\n particle.data = particle.data || {};\n particle.data.oldRadius = particle.radius;\n particle.data.emitterCount = 0;\n },\n applyBehaviour: particle => {\n if (particle.radius < 5) return;\n if (particle.data.emitterCount >= 2) return;\n\n if (particle.radius <= (1 / 3) * particle.data.oldRadius) {\n particle.data.emitterCount++;\n this.createEmitter({\n canvas,\n x: particle.p.x,\n y: particle.p.y,\n radius: particle.radius * (1 / 2),\n alpha: 0.5,\n gravity: 5,\n color: particle.color,\n once: \"once\"\n });\n }\n }\n };\n }\n\n renderProton() {\n this.proton && this.proton.update();\n }\n\n render() {\n return (\n \n );\n }\n}\n","import React from \"react\";\nimport Proton from \"proton-engine\";\nimport RAFManager from \"raf-manager\";\nimport Canvas from \"./Canvas.jsx\";\n\nexport default class Fountain extends React.Component {\n constructor(props) {\n super(props);\n\n this.colors = [\n \"#529B88\",\n \"#CDD180\",\n \"#FFFA32\",\n \"#FB6255\",\n \"#FB4A53\",\n \"#FF4E50\",\n \"#F9D423\"\n ];\n this.renderProton = this.renderProton.bind(this);\n }\n\n componentWillUnmount() {\n try {\n RAFManager.remove(this.renderProton);\n this.proton.destroy();\n } catch (e) {}\n }\n\n onCanvasInited(canvas, width, height) {\n this.createProton(canvas, width, height);\n RAFManager.add(this.renderProton);\n }\n\n onResize() {}\n\n createProton(canvas, width, height) {\n this.proton = new Proton();\n const emitter = new Proton.Emitter();\n emitter.rate = new Proton.Rate(\n this.props.num ? new Proton.Span(this.props.num) : new Proton.Span(4, 8),\n new Proton.Span(0.1, 0.25)\n );\n\n emitter.addInitialize(new Proton.Mass(1));\n emitter.addInitialize(new Proton.Radius(20, 200));\n emitter.addInitialize(new Proton.Life(2, 4));\n emitter.addInitialize(\n new Proton.Velocity(\n new Proton.Span(4, 7),\n new Proton.Span(0, 360),\n \"polar\"\n )\n );\n emitter.addInitialize(\n new Proton.Position(new Proton.CircleZone(width / 2, height / 2, 100))\n );\n\n emitter.addBehaviour(new Proton.Alpha(1, 0));\n emitter.addBehaviour(new Proton.Scale(0.2, 1));\n emitter.addBehaviour(this.createCustomBehaviour());\n emitter.addBehaviour(new Proton.Color(this.colors, \"random\"));\n emitter.emit();\n this.proton.addEmitter(emitter);\n\n const renderer = new Proton.CanvasRenderer(canvas);\n this.proton.addRenderer(renderer);\n }\n\n createCustomBehaviour() {\n const f = 10 * 100;\n return {\n initialize: function(particle) {\n particle.f = new Proton.Vector2D(0, 0);\n },\n applyBehaviour: particle => {\n let length = particle.v.length() / 1000;\n let gradient = particle.v.getGradient();\n gradient += 3.14 / 2;\n\n particle.f.x = f * length * Math.cos(gradient);\n particle.f.y = f * length * Math.sin(gradient);\n particle.a.add(particle.f);\n }\n };\n }\n\n renderProton() {\n this.proton && this.proton.update();\n }\n\n render() {\n return (\n \n );\n }\n}\n","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"mortgage-calculator-react\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"mortgage-calculator-react\"] = factory();\n\telse\n\t\troot[\"mortgage-calculator-react\"] = factory();\n})(window, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 0);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ \"./node_modules/css-loader/index.js!./src/DefaultStyle.css\":\n/*!********************************************************!*\\\n !*** ./node_modules/css-loader!./src/DefaultStyle.css ***!\n \\********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\neval(\"exports = module.exports = __webpack_require__(/*! ../node_modules/css-loader/lib/css-base.js */ \\\"./node_modules/css-loader/lib/css-base.js\\\")(false);\\n// imports\\n\\n\\n// module\\nexports.push([module.i, \\\":root {\\\\n --primary-one: #30C5FF;\\\\n --primary-one-light: #A0E4FF;\\\\n --primary-two: #FFE74C;\\\\n --primary-three: #69E062;\\\\n --secondary-one: #2A2D34;\\\\n --secondary-one-light: #9E9FA2;\\\\n --secondary-two: #1B4965;\\\\n}\\\\n\\\\n._2rRxbhZfd2m69aGyclMHup {\\\\n font-family: 'Helvetica', 'Arial', sans-serif;\\\\n font-size: 16px;\\\\n padding: 1em;\\\\n background-color: #f1f1f1;\\\\n border-radius: 4px;\\\\n border: 1px solid var(--secondary-one-light);\\\\n}\\\\n\\\\n.FhD6sRmOe8tMY0xW6D0KO {\\\\n padding: 0 0 1em 0;\\\\n}\\\\n\\\\nlabel {\\\\n display: block;\\\\n color: #777777;\\\\n}\\\\n\\\\n._3UZinu8u1JJRVIMHioZRr5 {\\\\n position: absolute;\\\\n width: 2em;\\\\n padding: .7em 0 0 0;\\\\n margin: 2px 0 0 0;\\\\n text-align: center;\\\\n line-height: normal;\\\\n color: var(--secondary-one-light);\\\\n}\\\\n\\\\ninput {\\\\n width: 100%;\\\\n text-indent: 1em;\\\\n border-radius: 4px;\\\\n font-size: 16px;\\\\n padding: .7em;\\\\n margin: 0 0 .2em 0;\\\\n border: 1px solid var(--secondary-one);\\\\n box-sizing: border-box;\\\\n -webkit-box-sizing: border-box;\\\\n -moz-box-sizing: border-box;\\\\n}\\\\n\\\\ninput:focus {\\\\n border: 1px solid var(--primary-one);\\\\n}\\\\n\\\\n._3N7LQgadYQG6Efvq5phiUY {\\\\n padding: .1em 0 .1em 0;\\\\n}\\\\n\\\\nselect {\\\\n width: 100%;\\\\n border-radius: 4px;\\\\n font-size: 16px;\\\\n border: 1px solid var(--secondary-one);\\\\n}\\\\n\\\\n._37q431tzwiJw837-Dlr_8F {\\\\n display: table;\\\\n width: 100%;\\\\n color: white;\\\\n border-radius: 4px;\\\\n margin: 1em 0 0 0 ;\\\\n}\\\\n\\\\n._3gGF3MGRKxzQZh6RczOEoz {\\\\n display: table-row;\\\\n background-color: var(--primary-one);\\\\n}\\\\n\\\\n._1b3zzIo85pUJ3f_AHItArg {\\\\n display: table-cell;\\\\n text-align: left;\\\\n padding: 1em 0 1em 1em;\\\\n border-bottom: 1px solid var(--primary-one-light);\\\\n}\\\\n\\\\n.jAN-uedtUK0ALBwN8-1Q0 {\\\\n display: table-cell;\\\\n text-align: right;\\\\n padding: 1em 1em 1em 0;\\\\n border-bottom: 1px solid var(--primary-one-light);\\\\n}\\\\n\\\\n.ggtReN8zzGuVkr5-qrqOl {\\\\n background-color: var(--secondary-two);\\\\n border-bottom: none;\\\\n}\\\\n\\\\nbutton {\\\\n background-color: var(--secondary-one);\\\\n border: none;\\\\n color: white;\\\\n padding: 0.5em 1em;\\\\n text-align: center;\\\\n text-decoration: none;\\\\n display: inline-block;\\\\n font-size: 16px;\\\\n}\\\\n\\\\n._1Q5hFe2AK7t_TU9za5kvCy {\\\\n padding-top: 1em;\\\\n}\\\\n\\\\n._39yvVzrxrpb0jfSJ06VKQG {\\\\n text-align: center;\\\\n}\\\\n\\\\n._26dq5g2bVLIO2cIh28C30n h3 {\\\\n text-align: center;\\\\n color: var(--secondary-one)\\\\n}\\\\n\\\\n._1tsxtEnK38HdtdMO1YnSI6 {\\\\n display: table;\\\\n padding: 0;\\\\n width: 100%;\\\\n font-size: 14px;\\\\n color: var(--secondary-one-light);\\\\n text-align: center;\\\\n}\\\\n\\\\n._1y_ILF8baWrm68ilPYBPFb {\\\\n color: var(--secondary-one);\\\\n}\\\\n._1y_ILF8baWrm68ilPYBPFb div {\\\\n border-bottom: 1px solid var(--secondary-one-light);\\\\n}\\\\n\\\\n.hKXwk7ccbH_w9igmaGPEc {\\\\n display: table-row;\\\\n}\\\\n\\\\n._1ibIPKVilJz-nmGV1gAkTi {\\\\n color: var(--secondary-one);\\\\n}\\\\n\\\\n.hKXwk7ccbH_w9igmaGPEc div {\\\\n display: table-cell;\\\\n padding: .2em 0;\\\\n}\\\\n\\\\n._2QxqScDSDuK4P0ny7KZKNr {\\\\n text-align: center;\\\\n font-size: 9pt;\\\\n}\\\\n\\\\n._2QxqScDSDuK4P0ny7KZKNr a {\\\\n color: var(--primary-one);\\\\n text-decoration: none;\\\\n}\\\", \\\"\\\"]);\\n\\n// exports\\nexports.locals = {\\n\\t\\\"container\\\": \\\"_2rRxbhZfd2m69aGyclMHup\\\",\\n\\t\\\"inputWrapper\\\": \\\"FhD6sRmOe8tMY0xW6D0KO\\\",\\n\\t\\\"inputIcon\\\": \\\"_3UZinu8u1JJRVIMHioZRr5\\\",\\n\\t\\\"inputSection\\\": \\\"_3N7LQgadYQG6Efvq5phiUY\\\",\\n\\t\\\"results\\\": \\\"_37q431tzwiJw837-Dlr_8F\\\",\\n\\t\\\"resultRow\\\": \\\"_3gGF3MGRKxzQZh6RczOEoz\\\",\\n\\t\\\"resultLabel\\\": \\\"_1b3zzIo85pUJ3f_AHItArg\\\",\\n\\t\\\"resultValue\\\": \\\"jAN-uedtUK0ALBwN8-1Q0\\\",\\n\\t\\\"totalPayment\\\": \\\"ggtReN8zzGuVkr5-qrqOl\\\",\\n\\t\\\"advanced\\\": \\\"_1Q5hFe2AK7t_TU9za5kvCy\\\",\\n\\t\\\"advancedButton\\\": \\\"_39yvVzrxrpb0jfSJ06VKQG\\\",\\n\\t\\\"schedule\\\": \\\"_26dq5g2bVLIO2cIh28C30n\\\",\\n\\t\\\"paymentList\\\": \\\"_1tsxtEnK38HdtdMO1YnSI6\\\",\\n\\t\\\"paymentHeader\\\": \\\"_1y_ILF8baWrm68ilPYBPFb\\\",\\n\\t\\\"paymentRow\\\": \\\"hKXwk7ccbH_w9igmaGPEc\\\",\\n\\t\\\"paymentRowYear\\\": \\\"_1ibIPKVilJz-nmGV1gAkTi\\\",\\n\\t\\\"versionInfo\\\": \\\"_2QxqScDSDuK4P0ny7KZKNr\\\"\\n};\\n\\n//# sourceURL=webpack://mortgage-calculator-react/./src/DefaultStyle.css?./node_modules/css-loader\");\n\n/***/ }),\n\n/***/ \"./node_modules/css-loader/index.js!./src/Switch.css\":\n/*!**************************************************!*\\\n !*** ./node_modules/css-loader!./src/Switch.css ***!\n \\**************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\neval(\"exports = module.exports = __webpack_require__(/*! ../node_modules/css-loader/lib/css-base.js */ \\\"./node_modules/css-loader/lib/css-base.js\\\")(false);\\n// imports\\n\\n\\n// module\\nexports.push([module.i, \\\"._244_WpsbxCKE_aQPsrcpn3 {\\\\n display: inline-block;\\\\n width: 3.5em;\\\\n background: slategray;\\\\n padding: 0.3em;\\\\n border-radius: 3em;\\\\n}\\\\n\\\\n._17s9sfRz_OhvsAxlINu-ba {\\\\n background: #69E062;\\\\n}\\\\n\\\\n._2eV9Fey7OO0QPs5uoY3ELN {\\\\n float: left;\\\\n width: 1.5em;\\\\n height: 1.5em;\\\\n background: white;\\\\n border-radius: 3em;\\\\n}\\\\n\\\\n._17s9sfRz_OhvsAxlINu-ba ._2eV9Fey7OO0QPs5uoY3ELN {\\\\n float: right;\\\\n}\\\", \\\"\\\"]);\\n\\n// exports\\nexports.locals = {\\n\\t\\\"switchWrapper\\\": \\\"_244_WpsbxCKE_aQPsrcpn3\\\",\\n\\t\\\"switchWrapperActive\\\": \\\"_17s9sfRz_OhvsAxlINu-ba\\\",\\n\\t\\\"switchBubble\\\": \\\"_2eV9Fey7OO0QPs5uoY3ELN\\\"\\n};\\n\\n//# sourceURL=webpack://mortgage-calculator-react/./src/Switch.css?./node_modules/css-loader\");\n\n/***/ }),\n\n/***/ \"./node_modules/css-loader/lib/css-base.js\":\n/*!*************************************************!*\\\n !*** ./node_modules/css-loader/lib/css-base.js ***!\n \\*************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\neval(\"/*\\n\\tMIT License http://www.opensource.org/licenses/mit-license.php\\n\\tAuthor Tobias Koppers @sokra\\n*/\\n// css base code, injected by the css-loader\\nmodule.exports = function(useSourceMap) {\\n\\tvar list = [];\\n\\n\\t// return the list of modules as css string\\n\\tlist.toString = function toString() {\\n\\t\\treturn this.map(function (item) {\\n\\t\\t\\tvar content = cssWithMappingToString(item, useSourceMap);\\n\\t\\t\\tif(item[2]) {\\n\\t\\t\\t\\treturn \\\"@media \\\" + item[2] + \\\"{\\\" + content + \\\"}\\\";\\n\\t\\t\\t} else {\\n\\t\\t\\t\\treturn content;\\n\\t\\t\\t}\\n\\t\\t}).join(\\\"\\\");\\n\\t};\\n\\n\\t// import a list of modules into the list\\n\\tlist.i = function(modules, mediaQuery) {\\n\\t\\tif(typeof modules === \\\"string\\\")\\n\\t\\t\\tmodules = [[null, modules, \\\"\\\"]];\\n\\t\\tvar alreadyImportedModules = {};\\n\\t\\tfor(var i = 0; i < this.length; i++) {\\n\\t\\t\\tvar id = this[i][0];\\n\\t\\t\\tif(typeof id === \\\"number\\\")\\n\\t\\t\\t\\talreadyImportedModules[id] = true;\\n\\t\\t}\\n\\t\\tfor(i = 0; i < modules.length; i++) {\\n\\t\\t\\tvar item = modules[i];\\n\\t\\t\\t// skip already imported module\\n\\t\\t\\t// this implementation is not 100% perfect for weird media query combinations\\n\\t\\t\\t// when a module is imported multiple times with different media queries.\\n\\t\\t\\t// I hope this will never occur (Hey this way we have smaller bundles)\\n\\t\\t\\tif(typeof item[0] !== \\\"number\\\" || !alreadyImportedModules[item[0]]) {\\n\\t\\t\\t\\tif(mediaQuery && !item[2]) {\\n\\t\\t\\t\\t\\titem[2] = mediaQuery;\\n\\t\\t\\t\\t} else if(mediaQuery) {\\n\\t\\t\\t\\t\\titem[2] = \\\"(\\\" + item[2] + \\\") and (\\\" + mediaQuery + \\\")\\\";\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\tlist.push(item);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t};\\n\\treturn list;\\n};\\n\\nfunction cssWithMappingToString(item, useSourceMap) {\\n\\tvar content = item[1] || '';\\n\\tvar cssMapping = item[3];\\n\\tif (!cssMapping) {\\n\\t\\treturn content;\\n\\t}\\n\\n\\tif (useSourceMap && typeof btoa === 'function') {\\n\\t\\tvar sourceMapping = toComment(cssMapping);\\n\\t\\tvar sourceURLs = cssMapping.sources.map(function (source) {\\n\\t\\t\\treturn '/*# sourceURL=' + cssMapping.sourceRoot + source + ' */'\\n\\t\\t});\\n\\n\\t\\treturn [content].concat(sourceURLs).concat([sourceMapping]).join('\\\\n');\\n\\t}\\n\\n\\treturn [content].join('\\\\n');\\n}\\n\\n// Adapted from convert-source-map (MIT)\\nfunction toComment(sourceMap) {\\n\\t// eslint-disable-next-line no-undef\\n\\tvar base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));\\n\\tvar data = 'sourceMappingURL=data:application/json;charset=utf-8;base64,' + base64;\\n\\n\\treturn '/*# ' + data + ' */';\\n}\\n\\n\\n//# sourceURL=webpack://mortgage-calculator-react/./node_modules/css-loader/lib/css-base.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/mortgage-js/index.js\":\n/*!*******************************************!*\\\n !*** ./node_modules/mortgage-js/index.js ***!\n \\*******************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\neval(\"const defaultPrice = 500000;\\nconst defaultDownPayment = 100000;\\nconst defaultInterestRate = 0.05;\\nconst defaultMonths = 360;\\nconst defaultTaxRate = 0.0126;\\nconst defaultInsuranceRate = 0.0014;\\nconst defaultMortgageInsuranceRate = 0.011;\\nconst defaultMortgageInsuranceEnabled = true;\\nconst defaultMortgageInsuranceThreshold = 0.2;\\nconst defaultAdditionalPrincipalPayment = 0;\\n\\nclass MortgageCalculator {\\n\\n constructor() {\\n this.totalPrice = defaultPrice;\\n this.downPayment = defaultDownPayment;\\n this.interestRate = defaultInterestRate;\\n this.months = defaultMonths;\\n this.taxRate = defaultTaxRate;\\n this.insuranceRate = defaultInsuranceRate;\\n this.mortgageInsuranceRate = defaultMortgageInsuranceRate;\\n this.mortgageInsuranceEnabled = defaultMortgageInsuranceEnabled;\\n this.mortgageInsuranceThreshold = defaultMortgageInsuranceThreshold;\\n this.additionalPrincipalPayment = defaultAdditionalPrincipalPayment;\\n }\\n\\n calculatePayment() {\\n let loanAmount = this.totalPrice - this.downPayment;\\n let paymentSchedule = MortgageCalculator.calculatePaymentSchedule(loanAmount, this.interestRate, this.months, this.additionalPrincipalPayment);\\n let piPayment = paymentSchedule.length ? paymentSchedule[0].totalPayment : 0;\\n let downPaymentPercentage = this.downPayment / this.totalPrice;\\n let mortgageInsurance = 0;\\n if (this.mortgageInsuranceEnabled && downPaymentPercentage < this.mortgageInsuranceThreshold) {\\n mortgageInsurance = (loanAmount * this.mortgageInsuranceRate) / 12;\\n }\\n\\n let propertyTax = (this.totalPrice * this.taxRate) / 12;\\n let homeOwnerInsurance = MortgageCalculator.roundPenny((this.totalPrice * this.insuranceRate) / 12);\\n return {\\n loanAmount: loanAmount,\\n principalAndInterest: piPayment,\\n tax: propertyTax,\\n insurance: homeOwnerInsurance,\\n total: piPayment + propertyTax + homeOwnerInsurance + mortgageInsurance,\\n termMonths: this.months,\\n paymentSchedule: paymentSchedule,\\n mortgageInsurance: mortgageInsurance\\n };\\n }\\n\\n static calculatePaymentSchedule(loanAmount, annualRate, termMonths, additionalPrincipalPayments = 0) {\\n const monthlyRate = annualRate / 12;\\n const monthlyPayment = MortgageCalculator.calculateMonthlyPIPayment(loanAmount, annualRate, termMonths);\\n let principal = MortgageCalculator.roundPenny(loanAmount);\\n let payments = [];\\n let totalInterest = 0;\\n let totalPayments = 0;\\n let i = 0;\\n while (principal > 0 && i < termMonths) {\\n let interestPayment = MortgageCalculator.roundPenny(principal * monthlyRate);\\n let principalPayment = MortgageCalculator.roundPenny(monthlyPayment - interestPayment + additionalPrincipalPayments);\\n if (principal > principalPayment) {\\n principal = MortgageCalculator.roundPenny(principal - principalPayment);\\n }\\n else {\\n principalPayment = principal;\\n principal = 0;\\n }\\n let totalPayment = interestPayment + principalPayment;\\n totalInterest += interestPayment;\\n totalPayments += totalPayment;\\n payments[i] = {\\n count: i+1,\\n interestPayment: interestPayment,\\n totalInterest: totalInterest,\\n principalPayment: principalPayment,\\n totalPayment: totalPayment,\\n totalPayments: totalPayments,\\n balance: principal\\n };\\n i++;\\n }\\n\\n return payments;\\n }\\n\\n static calculateMonthlyPIPayment(loanAmount, annualRate, termMonths) {\\n let monthlyRate = annualRate / 12;\\n let payment = (monthlyRate * loanAmount * Math.pow(1 + monthlyRate, termMonths)) / (Math.pow(1 + monthlyRate, termMonths) - 1);\\n return this.nextPenny(payment);\\n }\\n\\n static roundPenny(value) {\\n return Math.round(value * 100)/100;\\n }\\n\\n static nextPenny(value) {\\n return Math.ceil(value * 100)/100;\\n }\\n}\\n\\nconst _calc = new MortgageCalculator();\\n\\nmodule.exports = {\\n createMortgageCalculator: function(){\\n return new MortgageCalculator();\\n },\\n calculatePayment: function(totalPrice = defaultPrice,\\n downPayment = defaultDownPayment,\\n interestRate = defaultInterestRate,\\n months = defaultMonths,\\n taxRate = defaultTaxRate,\\n insuranceRate = defaultInsuranceRate,\\n mortgageInsuranceRate = defaultMortgageInsuranceRate,\\n mortgageInsuranceEnabled = defaultMortgageInsuranceEnabled,\\n mortgageInsuranceThreshold = defaultMortgageInsuranceThreshold,\\n additionalPrincipalPayment = defaultAdditionalPrincipalPayment) {\\n _calc.totalPrice = totalPrice;\\n _calc.downPayment = downPayment;\\n _calc.interestRate = interestRate;\\n _calc.months = months;\\n _calc.taxRate = taxRate;\\n _calc.insuranceRate = insuranceRate;\\n _calc.mortgageInsuranceRate = mortgageInsuranceRate;\\n _calc.mortgageInsuranceEnabled = mortgageInsuranceEnabled;\\n _calc.mortgageInsuranceThreshold = mortgageInsuranceThreshold;\\n _calc.additionalPrincipalPayment = additionalPrincipalPayment;\\n return _calc.calculatePayment();\\n },\\n nextPenny: MortgageCalculator.nextPenny\\n};\\n\\n\\n\\n//# sourceURL=webpack://mortgage-calculator-react/./node_modules/mortgage-js/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/object-assign/index.js\":\n/*!*********************************************!*\\\n !*** ./node_modules/object-assign/index.js ***!\n \\*********************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"/*\\nobject-assign\\n(c) Sindre Sorhus\\n@license MIT\\n*/\\n\\n\\n/* eslint-disable no-unused-vars */\\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\\n\\nfunction toObject(val) {\\n\\tif (val === null || val === undefined) {\\n\\t\\tthrow new TypeError('Object.assign cannot be called with null or undefined');\\n\\t}\\n\\n\\treturn Object(val);\\n}\\n\\nfunction shouldUseNative() {\\n\\ttry {\\n\\t\\tif (!Object.assign) {\\n\\t\\t\\treturn false;\\n\\t\\t}\\n\\n\\t\\t// Detect buggy property enumeration order in older V8 versions.\\n\\n\\t\\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\\n\\t\\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\\n\\t\\ttest1[5] = 'de';\\n\\t\\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\\n\\t\\t\\treturn false;\\n\\t\\t}\\n\\n\\t\\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\\n\\t\\tvar test2 = {};\\n\\t\\tfor (var i = 0; i < 10; i++) {\\n\\t\\t\\ttest2['_' + String.fromCharCode(i)] = i;\\n\\t\\t}\\n\\t\\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\\n\\t\\t\\treturn test2[n];\\n\\t\\t});\\n\\t\\tif (order2.join('') !== '0123456789') {\\n\\t\\t\\treturn false;\\n\\t\\t}\\n\\n\\t\\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\\n\\t\\tvar test3 = {};\\n\\t\\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\\n\\t\\t\\ttest3[letter] = letter;\\n\\t\\t});\\n\\t\\tif (Object.keys(Object.assign({}, test3)).join('') !==\\n\\t\\t\\t\\t'abcdefghijklmnopqrst') {\\n\\t\\t\\treturn false;\\n\\t\\t}\\n\\n\\t\\treturn true;\\n\\t} catch (err) {\\n\\t\\t// We don't expect any of the above to throw, but better to be safe.\\n\\t\\treturn false;\\n\\t}\\n}\\n\\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\\n\\tvar from;\\n\\tvar to = toObject(target);\\n\\tvar symbols;\\n\\n\\tfor (var s = 1; s < arguments.length; s++) {\\n\\t\\tfrom = Object(arguments[s]);\\n\\n\\t\\tfor (var key in from) {\\n\\t\\t\\tif (hasOwnProperty.call(from, key)) {\\n\\t\\t\\t\\tto[key] = from[key];\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\tif (getOwnPropertySymbols) {\\n\\t\\t\\tsymbols = getOwnPropertySymbols(from);\\n\\t\\t\\tfor (var i = 0; i < symbols.length; i++) {\\n\\t\\t\\t\\tif (propIsEnumerable.call(from, symbols[i])) {\\n\\t\\t\\t\\t\\tto[symbols[i]] = from[symbols[i]];\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\treturn to;\\n};\\n\\n\\n//# sourceURL=webpack://mortgage-calculator-react/./node_modules/object-assign/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/prop-types/checkPropTypes.js\":\n/*!***************************************************!*\\\n !*** ./node_modules/prop-types/checkPropTypes.js ***!\n \\***************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"/**\\n * Copyright (c) 2013-present, Facebook, Inc.\\n *\\n * This source code is licensed under the MIT license found in the\\n * LICENSE file in the root directory of this source tree.\\n */\\n\\n\\n\\nvar printWarning = function() {};\\n\\nif (true) {\\n var ReactPropTypesSecret = __webpack_require__(/*! ./lib/ReactPropTypesSecret */ \\\"./node_modules/prop-types/lib/ReactPropTypesSecret.js\\\");\\n var loggedTypeFailures = {};\\n\\n printWarning = function(text) {\\n var message = 'Warning: ' + text;\\n if (typeof console !== 'undefined') {\\n console.error(message);\\n }\\n try {\\n // --- Welcome to debugging React ---\\n // This error was thrown as a convenience so that you can use this stack\\n // to find the callsite that caused this warning to fire.\\n throw new Error(message);\\n } catch (x) {}\\n };\\n}\\n\\n/**\\n * Assert that the values match with the type specs.\\n * Error messages are memorized and will only be shown once.\\n *\\n * @param {object} typeSpecs Map of name to a ReactPropType\\n * @param {object} values Runtime values that need to be type-checked\\n * @param {string} location e.g. \\\"prop\\\", \\\"context\\\", \\\"child context\\\"\\n * @param {string} componentName Name of the component for error messages.\\n * @param {?Function} getStack Returns the component stack.\\n * @private\\n */\\nfunction checkPropTypes(typeSpecs, values, location, componentName, getStack) {\\n if (true) {\\n for (var typeSpecName in typeSpecs) {\\n if (typeSpecs.hasOwnProperty(typeSpecName)) {\\n var error;\\n // Prop type validation may throw. In case they do, we don't want to\\n // fail the render phase where it didn't fail before. So we log it.\\n // After these have been cleaned up, we'll let them throw.\\n try {\\n // This is intentionally an invariant that gets caught. It's the same\\n // behavior as without this statement except with a better message.\\n if (typeof typeSpecs[typeSpecName] !== 'function') {\\n var err = Error(\\n (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +\\n 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.'\\n );\\n err.name = 'Invariant Violation';\\n throw err;\\n }\\n error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);\\n } catch (ex) {\\n error = ex;\\n }\\n if (error && !(error instanceof Error)) {\\n printWarning(\\n (componentName || 'React class') + ': type specification of ' +\\n location + ' `' + typeSpecName + '` is invalid; the type checker ' +\\n 'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +\\n 'You may have forgotten to pass an argument to the type checker ' +\\n 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +\\n 'shape all require an argument).'\\n )\\n\\n }\\n if (error instanceof Error && !(error.message in loggedTypeFailures)) {\\n // Only monitor this failure once because there tends to be a lot of the\\n // same error.\\n loggedTypeFailures[error.message] = true;\\n\\n var stack = getStack ? getStack() : '';\\n\\n printWarning(\\n 'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')\\n );\\n }\\n }\\n }\\n }\\n}\\n\\nmodule.exports = checkPropTypes;\\n\\n\\n//# sourceURL=webpack://mortgage-calculator-react/./node_modules/prop-types/checkPropTypes.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/prop-types/lib/ReactPropTypesSecret.js\":\n/*!*************************************************************!*\\\n !*** ./node_modules/prop-types/lib/ReactPropTypesSecret.js ***!\n \\*************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"/**\\n * Copyright (c) 2013-present, Facebook, Inc.\\n *\\n * This source code is licensed under the MIT license found in the\\n * LICENSE file in the root directory of this source tree.\\n */\\n\\n\\n\\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\\n\\nmodule.exports = ReactPropTypesSecret;\\n\\n\\n//# sourceURL=webpack://mortgage-calculator-react/./node_modules/prop-types/lib/ReactPropTypesSecret.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/react/cjs/react.development.js\":\n/*!*****************************************************!*\\\n !*** ./node_modules/react/cjs/react.development.js ***!\n \\*****************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"/** @license React v16.6.1\\n * react.development.js\\n *\\n * Copyright (c) Facebook, Inc. and its affiliates.\\n *\\n * This source code is licensed under the MIT license found in the\\n * LICENSE file in the root directory of this source tree.\\n */\\n\\n\\n\\n\\n\\nif (true) {\\n (function() {\\n'use strict';\\n\\nvar _assign = __webpack_require__(/*! object-assign */ \\\"./node_modules/object-assign/index.js\\\");\\nvar checkPropTypes = __webpack_require__(/*! prop-types/checkPropTypes */ \\\"./node_modules/prop-types/checkPropTypes.js\\\");\\n\\n// TODO: this is special because it gets imported during build.\\n\\nvar ReactVersion = '16.6.3';\\n\\n// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\\n// nor polyfill, then a plain number is used for performance.\\nvar hasSymbol = typeof Symbol === 'function' && Symbol.for;\\n\\nvar REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;\\nvar REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;\\nvar REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;\\nvar REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;\\nvar REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;\\nvar REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;\\nvar REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace;\\n\\nvar REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;\\nvar REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;\\nvar REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;\\nvar REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;\\nvar REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;\\n\\nvar MAYBE_ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\\nvar FAUX_ITERATOR_SYMBOL = '@@iterator';\\n\\nfunction getIteratorFn(maybeIterable) {\\n if (maybeIterable === null || typeof maybeIterable !== 'object') {\\n return null;\\n }\\n var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL];\\n if (typeof maybeIterator === 'function') {\\n return maybeIterator;\\n }\\n return null;\\n}\\n\\nvar enableHooks = false;\\n// Helps identify side effects in begin-phase lifecycle hooks and setState reducers:\\n\\n\\n// In some cases, StrictMode should also double-render lifecycles.\\n// This can be confusing for tests though,\\n// And it can be bad for performance in production.\\n// This feature flag can be used to control the behavior:\\n\\n\\n// To preserve the \\\"Pause on caught exceptions\\\" behavior of the debugger, we\\n// replay the begin phase of a failed component inside invokeGuardedCallback.\\n\\n\\n// Warn about deprecated, async-unsafe lifecycles; relates to RFC #6:\\n\\n\\n// Gather advanced timing metrics for Profiler subtrees.\\n\\n\\n// Trace which interactions trigger each commit.\\n\\n\\n// Only used in www builds.\\n\\n\\n// Only used in www builds.\\n\\n\\n// React Fire: prevent the value and checked attributes from syncing\\n// with their related DOM properties\\n\\n\\n// These APIs will no longer be \\\"unstable\\\" in the upcoming 16.7 release,\\n// Control this behavior with a flag to support 16.6 minor releases in the meanwhile.\\nvar enableStableConcurrentModeAPIs = false;\\n\\n/**\\n * Use invariant() to assert state which your program assumes to be true.\\n *\\n * Provide sprintf-style format (only %s is supported) and arguments\\n * to provide information about what broke and what you were\\n * expecting.\\n *\\n * The invariant message will be stripped in production, but the invariant\\n * will remain to ensure logic does not differ in production.\\n */\\n\\nvar validateFormat = function () {};\\n\\n{\\n validateFormat = function (format) {\\n if (format === undefined) {\\n throw new Error('invariant requires an error message argument');\\n }\\n };\\n}\\n\\nfunction invariant(condition, format, a, b, c, d, e, f) {\\n validateFormat(format);\\n\\n if (!condition) {\\n var error = void 0;\\n if (format === undefined) {\\n error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\\n } else {\\n var args = [a, b, c, d, e, f];\\n var argIndex = 0;\\n error = new Error(format.replace(/%s/g, function () {\\n return args[argIndex++];\\n }));\\n error.name = 'Invariant Violation';\\n }\\n\\n error.framesToPop = 1; // we don't care about invariant's own frame\\n throw error;\\n }\\n}\\n\\n// Relying on the `invariant()` implementation lets us\\n// preserve the format and params in the www builds.\\n\\n/**\\n * Forked from fbjs/warning:\\n * https://github.com/facebook/fbjs/blob/e66ba20ad5be433eb54423f2b097d829324d9de6/packages/fbjs/src/__forks__/warning.js\\n *\\n * Only change is we use console.warn instead of console.error,\\n * and do nothing when 'console' is not supported.\\n * This really simplifies the code.\\n * ---\\n * Similar to invariant but only logs a warning if the condition is not met.\\n * This can be used to log issues in development environments in critical\\n * paths. Removing the logging code for production environments will keep the\\n * same logic and follow the same code paths.\\n */\\n\\nvar lowPriorityWarning = function () {};\\n\\n{\\n var printWarning = function (format) {\\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\\n args[_key - 1] = arguments[_key];\\n }\\n\\n var argIndex = 0;\\n var message = 'Warning: ' + format.replace(/%s/g, function () {\\n return args[argIndex++];\\n });\\n if (typeof console !== 'undefined') {\\n console.warn(message);\\n }\\n try {\\n // --- Welcome to debugging React ---\\n // This error was thrown as a convenience so that you can use this stack\\n // to find the callsite that caused this warning to fire.\\n throw new Error(message);\\n } catch (x) {}\\n };\\n\\n lowPriorityWarning = function (condition, format) {\\n if (format === undefined) {\\n throw new Error('`lowPriorityWarning(condition, format, ...args)` requires a warning ' + 'message argument');\\n }\\n if (!condition) {\\n for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {\\n args[_key2 - 2] = arguments[_key2];\\n }\\n\\n printWarning.apply(undefined, [format].concat(args));\\n }\\n };\\n}\\n\\nvar lowPriorityWarning$1 = lowPriorityWarning;\\n\\n/**\\n * Similar to invariant but only logs a warning if the condition is not met.\\n * This can be used to log issues in development environments in critical\\n * paths. Removing the logging code for production environments will keep the\\n * same logic and follow the same code paths.\\n */\\n\\nvar warningWithoutStack = function () {};\\n\\n{\\n warningWithoutStack = function (condition, format) {\\n for (var _len = arguments.length, args = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\\n args[_key - 2] = arguments[_key];\\n }\\n\\n if (format === undefined) {\\n throw new Error('`warningWithoutStack(condition, format, ...args)` requires a warning ' + 'message argument');\\n }\\n if (args.length > 8) {\\n // Check before the condition to catch violations early.\\n throw new Error('warningWithoutStack() currently supports at most 8 arguments.');\\n }\\n if (condition) {\\n return;\\n }\\n if (typeof console !== 'undefined') {\\n var argsWithFormat = args.map(function (item) {\\n return '' + item;\\n });\\n argsWithFormat.unshift('Warning: ' + format);\\n\\n // We intentionally don't use spread (or .apply) directly because it\\n // breaks IE9: https://github.com/facebook/react/issues/13610\\n Function.prototype.apply.call(console.error, console, argsWithFormat);\\n }\\n try {\\n // --- Welcome to debugging React ---\\n // This error was thrown as a convenience so that you can use this stack\\n // to find the callsite that caused this warning to fire.\\n var argIndex = 0;\\n var message = 'Warning: ' + format.replace(/%s/g, function () {\\n return args[argIndex++];\\n });\\n throw new Error(message);\\n } catch (x) {}\\n };\\n}\\n\\nvar warningWithoutStack$1 = warningWithoutStack;\\n\\nvar didWarnStateUpdateForUnmountedComponent = {};\\n\\nfunction warnNoop(publicInstance, callerName) {\\n {\\n var _constructor = publicInstance.constructor;\\n var componentName = _constructor && (_constructor.displayName || _constructor.name) || 'ReactClass';\\n var warningKey = componentName + '.' + callerName;\\n if (didWarnStateUpdateForUnmountedComponent[warningKey]) {\\n return;\\n }\\n warningWithoutStack$1(false, \\\"Can't call %s on a component that is not yet mounted. \\\" + 'This is a no-op, but it might indicate a bug in your application. ' + 'Instead, assign to `this.state` directly or define a `state = {};` ' + 'class property with the desired state in the %s component.', callerName, componentName);\\n didWarnStateUpdateForUnmountedComponent[warningKey] = true;\\n }\\n}\\n\\n/**\\n * This is the abstract API for an update queue.\\n */\\nvar ReactNoopUpdateQueue = {\\n /**\\n * Checks whether or not this composite component is mounted.\\n * @param {ReactClass} publicInstance The instance we want to test.\\n * @return {boolean} True if mounted, false otherwise.\\n * @protected\\n * @final\\n */\\n isMounted: function (publicInstance) {\\n return false;\\n },\\n\\n /**\\n * Forces an update. This should only be invoked when it is known with\\n * certainty that we are **not** in a DOM transaction.\\n *\\n * You may want to call this when you know that some deeper aspect of the\\n * component's state has changed but `setState` was not called.\\n *\\n * This will not invoke `shouldComponentUpdate`, but it will invoke\\n * `componentWillUpdate` and `componentDidUpdate`.\\n *\\n * @param {ReactClass} publicInstance The instance that should rerender.\\n * @param {?function} callback Called after component is updated.\\n * @param {?string} callerName name of the calling function in the public API.\\n * @internal\\n */\\n enqueueForceUpdate: function (publicInstance, callback, callerName) {\\n warnNoop(publicInstance, 'forceUpdate');\\n },\\n\\n /**\\n * Replaces all of the state. Always use this or `setState` to mutate state.\\n * You should treat `this.state` as immutable.\\n *\\n * There is no guarantee that `this.state` will be immediately updated, so\\n * accessing `this.state` after calling this method may return the old value.\\n *\\n * @param {ReactClass} publicInstance The instance that should rerender.\\n * @param {object} completeState Next state.\\n * @param {?function} callback Called after component is updated.\\n * @param {?string} callerName name of the calling function in the public API.\\n * @internal\\n */\\n enqueueReplaceState: function (publicInstance, completeState, callback, callerName) {\\n warnNoop(publicInstance, 'replaceState');\\n },\\n\\n /**\\n * Sets a subset of the state. This only exists because _pendingState is\\n * internal. This provides a merging strategy that is not available to deep\\n * properties which is confusing. TODO: Expose pendingState or don't use it\\n * during the merge.\\n *\\n * @param {ReactClass} publicInstance The instance that should rerender.\\n * @param {object} partialState Next partial state to be merged with state.\\n * @param {?function} callback Called after component is updated.\\n * @param {?string} Name of the calling function in the public API.\\n * @internal\\n */\\n enqueueSetState: function (publicInstance, partialState, callback, callerName) {\\n warnNoop(publicInstance, 'setState');\\n }\\n};\\n\\nvar emptyObject = {};\\n{\\n Object.freeze(emptyObject);\\n}\\n\\n/**\\n * Base class helpers for the updating state of a component.\\n */\\nfunction Component(props, context, updater) {\\n this.props = props;\\n this.context = context;\\n // If a component has string refs, we will assign a different object later.\\n this.refs = emptyObject;\\n // We initialize the default updater but the real one gets injected by the\\n // renderer.\\n this.updater = updater || ReactNoopUpdateQueue;\\n}\\n\\nComponent.prototype.isReactComponent = {};\\n\\n/**\\n * Sets a subset of the state. Always use this to mutate\\n * state. You should treat `this.state` as immutable.\\n *\\n * There is no guarantee that `this.state` will be immediately updated, so\\n * accessing `this.state` after calling this method may return the old value.\\n *\\n * There is no guarantee that calls to `setState` will run synchronously,\\n * as they may eventually be batched together. You can provide an optional\\n * callback that will be executed when the call to setState is actually\\n * completed.\\n *\\n * When a function is provided to setState, it will be called at some point in\\n * the future (not synchronously). It will be called with the up to date\\n * component arguments (state, props, context). These values can be different\\n * from this.* because your function may be called after receiveProps but before\\n * shouldComponentUpdate, and this new state, props, and context will not yet be\\n * assigned to this.\\n *\\n * @param {object|function} partialState Next partial state or function to\\n * produce next partial state to be merged with current state.\\n * @param {?function} callback Called after state is updated.\\n * @final\\n * @protected\\n */\\nComponent.prototype.setState = function (partialState, callback) {\\n !(typeof partialState === 'object' || typeof partialState === 'function' || partialState == null) ? invariant(false, 'setState(...): takes an object of state variables to update or a function which returns an object of state variables.') : void 0;\\n this.updater.enqueueSetState(this, partialState, callback, 'setState');\\n};\\n\\n/**\\n * Forces an update. This should only be invoked when it is known with\\n * certainty that we are **not** in a DOM transaction.\\n *\\n * You may want to call this when you know that some deeper aspect of the\\n * component's state has changed but `setState` was not called.\\n *\\n * This will not invoke `shouldComponentUpdate`, but it will invoke\\n * `componentWillUpdate` and `componentDidUpdate`.\\n *\\n * @param {?function} callback Called after update is complete.\\n * @final\\n * @protected\\n */\\nComponent.prototype.forceUpdate = function (callback) {\\n this.updater.enqueueForceUpdate(this, callback, 'forceUpdate');\\n};\\n\\n/**\\n * Deprecated APIs. These APIs used to exist on classic React classes but since\\n * we would like to deprecate them, we're not going to move them over to this\\n * modern base class. Instead, we define a getter that warns if it's accessed.\\n */\\n{\\n var deprecatedAPIs = {\\n isMounted: ['isMounted', 'Instead, make sure to clean up subscriptions and pending requests in ' + 'componentWillUnmount to prevent memory leaks.'],\\n replaceState: ['replaceState', 'Refactor your code to use setState instead (see ' + 'https://github.com/facebook/react/issues/3236).']\\n };\\n var defineDeprecationWarning = function (methodName, info) {\\n Object.defineProperty(Component.prototype, methodName, {\\n get: function () {\\n lowPriorityWarning$1(false, '%s(...) is deprecated in plain JavaScript React classes. %s', info[0], info[1]);\\n return undefined;\\n }\\n });\\n };\\n for (var fnName in deprecatedAPIs) {\\n if (deprecatedAPIs.hasOwnProperty(fnName)) {\\n defineDeprecationWarning(fnName, deprecatedAPIs[fnName]);\\n }\\n }\\n}\\n\\nfunction ComponentDummy() {}\\nComponentDummy.prototype = Component.prototype;\\n\\n/**\\n * Convenience component with default shallow equality check for sCU.\\n */\\nfunction PureComponent(props, context, updater) {\\n this.props = props;\\n this.context = context;\\n // If a component has string refs, we will assign a different object later.\\n this.refs = emptyObject;\\n this.updater = updater || ReactNoopUpdateQueue;\\n}\\n\\nvar pureComponentPrototype = PureComponent.prototype = new ComponentDummy();\\npureComponentPrototype.constructor = PureComponent;\\n// Avoid an extra prototype jump for these methods.\\n_assign(pureComponentPrototype, Component.prototype);\\npureComponentPrototype.isPureReactComponent = true;\\n\\n// an immutable object with a single mutable value\\nfunction createRef() {\\n var refObject = {\\n current: null\\n };\\n {\\n Object.seal(refObject);\\n }\\n return refObject;\\n}\\n\\n/**\\n * Keeps track of the current owner.\\n *\\n * The current owner is the component who should own any components that are\\n * currently being constructed.\\n */\\nvar ReactCurrentOwner = {\\n /**\\n * @internal\\n * @type {ReactComponent}\\n */\\n current: null,\\n currentDispatcher: null\\n};\\n\\nvar BEFORE_SLASH_RE = /^(.*)[\\\\\\\\\\\\/]/;\\n\\nvar describeComponentFrame = function (name, source, ownerName) {\\n var sourceInfo = '';\\n if (source) {\\n var path = source.fileName;\\n var fileName = path.replace(BEFORE_SLASH_RE, '');\\n {\\n // In DEV, include code for a common special case:\\n // prefer \\\"folder/index.js\\\" instead of just \\\"index.js\\\".\\n if (/^index\\\\./.test(fileName)) {\\n var match = path.match(BEFORE_SLASH_RE);\\n if (match) {\\n var pathBeforeSlash = match[1];\\n if (pathBeforeSlash) {\\n var folderName = pathBeforeSlash.replace(BEFORE_SLASH_RE, '');\\n fileName = folderName + '/' + fileName;\\n }\\n }\\n }\\n }\\n sourceInfo = ' (at ' + fileName + ':' + source.lineNumber + ')';\\n } else if (ownerName) {\\n sourceInfo = ' (created by ' + ownerName + ')';\\n }\\n return '\\\\n in ' + (name || 'Unknown') + sourceInfo;\\n};\\n\\nvar Resolved = 1;\\n\\n\\nfunction refineResolvedLazyComponent(lazyComponent) {\\n return lazyComponent._status === Resolved ? lazyComponent._result : null;\\n}\\n\\nfunction getWrappedName(outerType, innerType, wrapperName) {\\n var functionName = innerType.displayName || innerType.name || '';\\n return outerType.displayName || (functionName !== '' ? wrapperName + '(' + functionName + ')' : wrapperName);\\n}\\n\\nfunction getComponentName(type) {\\n if (type == null) {\\n // Host root, text node or just invalid type.\\n return null;\\n }\\n {\\n if (typeof type.tag === 'number') {\\n warningWithoutStack$1(false, 'Received an unexpected object in getComponentName(). ' + 'This is likely a bug in React. Please file an issue.');\\n }\\n }\\n if (typeof type === 'function') {\\n return type.displayName || type.name || null;\\n }\\n if (typeof type === 'string') {\\n return type;\\n }\\n switch (type) {\\n case REACT_CONCURRENT_MODE_TYPE:\\n return 'ConcurrentMode';\\n case REACT_FRAGMENT_TYPE:\\n return 'Fragment';\\n case REACT_PORTAL_TYPE:\\n return 'Portal';\\n case REACT_PROFILER_TYPE:\\n return 'Profiler';\\n case REACT_STRICT_MODE_TYPE:\\n return 'StrictMode';\\n case REACT_SUSPENSE_TYPE:\\n return 'Suspense';\\n }\\n if (typeof type === 'object') {\\n switch (type.$$typeof) {\\n case REACT_CONTEXT_TYPE:\\n return 'Context.Consumer';\\n case REACT_PROVIDER_TYPE:\\n return 'Context.Provider';\\n case REACT_FORWARD_REF_TYPE:\\n return getWrappedName(type, type.render, 'ForwardRef');\\n case REACT_MEMO_TYPE:\\n return getComponentName(type.type);\\n case REACT_LAZY_TYPE:\\n {\\n var thenable = type;\\n var resolvedThenable = refineResolvedLazyComponent(thenable);\\n if (resolvedThenable) {\\n return getComponentName(resolvedThenable);\\n }\\n }\\n }\\n }\\n return null;\\n}\\n\\nvar ReactDebugCurrentFrame = {};\\n\\nvar currentlyValidatingElement = null;\\n\\nfunction setCurrentlyValidatingElement(element) {\\n {\\n currentlyValidatingElement = element;\\n }\\n}\\n\\n{\\n // Stack implementation injected by the current renderer.\\n ReactDebugCurrentFrame.getCurrentStack = null;\\n\\n ReactDebugCurrentFrame.getStackAddendum = function () {\\n var stack = '';\\n\\n // Add an extra top frame while an element is being validated\\n if (currentlyValidatingElement) {\\n var name = getComponentName(currentlyValidatingElement.type);\\n var owner = currentlyValidatingElement._owner;\\n stack += describeComponentFrame(name, currentlyValidatingElement._source, owner && getComponentName(owner.type));\\n }\\n\\n // Delegate to the injected renderer-specific implementation\\n var impl = ReactDebugCurrentFrame.getCurrentStack;\\n if (impl) {\\n stack += impl() || '';\\n }\\n\\n return stack;\\n };\\n}\\n\\nvar ReactSharedInternals = {\\n ReactCurrentOwner: ReactCurrentOwner,\\n // Used by renderers to avoid bundling object-assign twice in UMD bundles:\\n assign: _assign\\n};\\n\\n{\\n _assign(ReactSharedInternals, {\\n // These should not be included in production.\\n ReactDebugCurrentFrame: ReactDebugCurrentFrame,\\n // Shim for React DOM 16.0.0 which still destructured (but not used) this.\\n // TODO: remove in React 17.0.\\n ReactComponentTreeHook: {}\\n });\\n}\\n\\n/**\\n * Similar to invariant but only logs a warning if the condition is not met.\\n * This can be used to log issues in development environments in critical\\n * paths. Removing the logging code for production environments will keep the\\n * same logic and follow the same code paths.\\n */\\n\\nvar warning = warningWithoutStack$1;\\n\\n{\\n warning = function (condition, format) {\\n if (condition) {\\n return;\\n }\\n var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\\n var stack = ReactDebugCurrentFrame.getStackAddendum();\\n // eslint-disable-next-line react-internal/warning-and-invariant-args\\n\\n for (var _len = arguments.length, args = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\\n args[_key - 2] = arguments[_key];\\n }\\n\\n warningWithoutStack$1.apply(undefined, [false, format + '%s'].concat(args, [stack]));\\n };\\n}\\n\\nvar warning$1 = warning;\\n\\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\\n\\nvar RESERVED_PROPS = {\\n key: true,\\n ref: true,\\n __self: true,\\n __source: true\\n};\\n\\nvar specialPropKeyWarningShown = void 0;\\nvar specialPropRefWarningShown = void 0;\\n\\nfunction hasValidRef(config) {\\n {\\n if (hasOwnProperty.call(config, 'ref')) {\\n var getter = Object.getOwnPropertyDescriptor(config, 'ref').get;\\n if (getter && getter.isReactWarning) {\\n return false;\\n }\\n }\\n }\\n return config.ref !== undefined;\\n}\\n\\nfunction hasValidKey(config) {\\n {\\n if (hasOwnProperty.call(config, 'key')) {\\n var getter = Object.getOwnPropertyDescriptor(config, 'key').get;\\n if (getter && getter.isReactWarning) {\\n return false;\\n }\\n }\\n }\\n return config.key !== undefined;\\n}\\n\\nfunction defineKeyPropWarningGetter(props, displayName) {\\n var warnAboutAccessingKey = function () {\\n if (!specialPropKeyWarningShown) {\\n specialPropKeyWarningShown = true;\\n warningWithoutStack$1(false, '%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://fb.me/react-special-props)', displayName);\\n }\\n };\\n warnAboutAccessingKey.isReactWarning = true;\\n Object.defineProperty(props, 'key', {\\n get: warnAboutAccessingKey,\\n configurable: true\\n });\\n}\\n\\nfunction defineRefPropWarningGetter(props, displayName) {\\n var warnAboutAccessingRef = function () {\\n if (!specialPropRefWarningShown) {\\n specialPropRefWarningShown = true;\\n warningWithoutStack$1(false, '%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://fb.me/react-special-props)', displayName);\\n }\\n };\\n warnAboutAccessingRef.isReactWarning = true;\\n Object.defineProperty(props, 'ref', {\\n get: warnAboutAccessingRef,\\n configurable: true\\n });\\n}\\n\\n/**\\n * Factory method to create a new React element. This no longer adheres to\\n * the class pattern, so do not use new to call it. Also, no instanceof check\\n * will work. Instead test $$typeof field against Symbol.for('react.element') to check\\n * if something is a React Element.\\n *\\n * @param {*} type\\n * @param {*} key\\n * @param {string|object} ref\\n * @param {*} self A *temporary* helper to detect places where `this` is\\n * different from the `owner` when React.createElement is called, so that we\\n * can warn. We want to get rid of owner and replace string `ref`s with arrow\\n * functions, and as long as `this` and owner are the same, there will be no\\n * change in behavior.\\n * @param {*} source An annotation object (added by a transpiler or otherwise)\\n * indicating filename, line number, and/or other information.\\n * @param {*} owner\\n * @param {*} props\\n * @internal\\n */\\nvar ReactElement = function (type, key, ref, self, source, owner, props) {\\n var element = {\\n // This tag allows us to uniquely identify this as a React Element\\n $$typeof: REACT_ELEMENT_TYPE,\\n\\n // Built-in properties that belong on the element\\n type: type,\\n key: key,\\n ref: ref,\\n props: props,\\n\\n // Record the component responsible for creating this element.\\n _owner: owner\\n };\\n\\n {\\n // The validation flag is currently mutative. We put it on\\n // an external backing store so that we can freeze the whole object.\\n // This can be replaced with a WeakMap once they are implemented in\\n // commonly used development environments.\\n element._store = {};\\n\\n // To make comparing ReactElements easier for testing purposes, we make\\n // the validation flag non-enumerable (where possible, which should\\n // include every environment we run tests in), so the test framework\\n // ignores it.\\n Object.defineProperty(element._store, 'validated', {\\n configurable: false,\\n enumerable: false,\\n writable: true,\\n value: false\\n });\\n // self and source are DEV only properties.\\n Object.defineProperty(element, '_self', {\\n configurable: false,\\n enumerable: false,\\n writable: false,\\n value: self\\n });\\n // Two elements created in two different places should be considered\\n // equal for testing purposes and therefore we hide it from enumeration.\\n Object.defineProperty(element, '_source', {\\n configurable: false,\\n enumerable: false,\\n writable: false,\\n value: source\\n });\\n if (Object.freeze) {\\n Object.freeze(element.props);\\n Object.freeze(element);\\n }\\n }\\n\\n return element;\\n};\\n\\n/**\\n * Create and return a new ReactElement of the given type.\\n * See https://reactjs.org/docs/react-api.html#createelement\\n */\\nfunction createElement(type, config, children) {\\n var propName = void 0;\\n\\n // Reserved names are extracted\\n var props = {};\\n\\n var key = null;\\n var ref = null;\\n var self = null;\\n var source = null;\\n\\n if (config != null) {\\n if (hasValidRef(config)) {\\n ref = config.ref;\\n }\\n if (hasValidKey(config)) {\\n key = '' + config.key;\\n }\\n\\n self = config.__self === undefined ? null : config.__self;\\n source = config.__source === undefined ? null : config.__source;\\n // Remaining properties are added to a new props object\\n for (propName in config) {\\n if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {\\n props[propName] = config[propName];\\n }\\n }\\n }\\n\\n // Children can be more than one argument, and those are transferred onto\\n // the newly allocated props object.\\n var childrenLength = arguments.length - 2;\\n if (childrenLength === 1) {\\n props.children = children;\\n } else if (childrenLength > 1) {\\n var childArray = Array(childrenLength);\\n for (var i = 0; i < childrenLength; i++) {\\n childArray[i] = arguments[i + 2];\\n }\\n {\\n if (Object.freeze) {\\n Object.freeze(childArray);\\n }\\n }\\n props.children = childArray;\\n }\\n\\n // Resolve default props\\n if (type && type.defaultProps) {\\n var defaultProps = type.defaultProps;\\n for (propName in defaultProps) {\\n if (props[propName] === undefined) {\\n props[propName] = defaultProps[propName];\\n }\\n }\\n }\\n {\\n if (key || ref) {\\n var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type;\\n if (key) {\\n defineKeyPropWarningGetter(props, displayName);\\n }\\n if (ref) {\\n defineRefPropWarningGetter(props, displayName);\\n }\\n }\\n }\\n return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props);\\n}\\n\\n/**\\n * Return a function that produces ReactElements of a given type.\\n * See https://reactjs.org/docs/react-api.html#createfactory\\n */\\n\\n\\nfunction cloneAndReplaceKey(oldElement, newKey) {\\n var newElement = ReactElement(oldElement.type, newKey, oldElement.ref, oldElement._self, oldElement._source, oldElement._owner, oldElement.props);\\n\\n return newElement;\\n}\\n\\n/**\\n * Clone and return a new ReactElement using element as the starting point.\\n * See https://reactjs.org/docs/react-api.html#cloneelement\\n */\\nfunction cloneElement(element, config, children) {\\n !!(element === null || element === undefined) ? invariant(false, 'React.cloneElement(...): The argument must be a React element, but you passed %s.', element) : void 0;\\n\\n var propName = void 0;\\n\\n // Original props are copied\\n var props = _assign({}, element.props);\\n\\n // Reserved names are extracted\\n var key = element.key;\\n var ref = element.ref;\\n // Self is preserved since the owner is preserved.\\n var self = element._self;\\n // Source is preserved since cloneElement is unlikely to be targeted by a\\n // transpiler, and the original source is probably a better indicator of the\\n // true owner.\\n var source = element._source;\\n\\n // Owner will be preserved, unless ref is overridden\\n var owner = element._owner;\\n\\n if (config != null) {\\n if (hasValidRef(config)) {\\n // Silently steal the ref from the parent.\\n ref = config.ref;\\n owner = ReactCurrentOwner.current;\\n }\\n if (hasValidKey(config)) {\\n key = '' + config.key;\\n }\\n\\n // Remaining properties override existing props\\n var defaultProps = void 0;\\n if (element.type && element.type.defaultProps) {\\n defaultProps = element.type.defaultProps;\\n }\\n for (propName in config) {\\n if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {\\n if (config[propName] === undefined && defaultProps !== undefined) {\\n // Resolve default props\\n props[propName] = defaultProps[propName];\\n } else {\\n props[propName] = config[propName];\\n }\\n }\\n }\\n }\\n\\n // Children can be more than one argument, and those are transferred onto\\n // the newly allocated props object.\\n var childrenLength = arguments.length - 2;\\n if (childrenLength === 1) {\\n props.children = children;\\n } else if (childrenLength > 1) {\\n var childArray = Array(childrenLength);\\n for (var i = 0; i < childrenLength; i++) {\\n childArray[i] = arguments[i + 2];\\n }\\n props.children = childArray;\\n }\\n\\n return ReactElement(element.type, key, ref, self, source, owner, props);\\n}\\n\\n/**\\n * Verifies the object is a ReactElement.\\n * See https://reactjs.org/docs/react-api.html#isvalidelement\\n * @param {?object} object\\n * @return {boolean} True if `object` is a ReactElement.\\n * @final\\n */\\nfunction isValidElement(object) {\\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\\n}\\n\\nvar SEPARATOR = '.';\\nvar SUBSEPARATOR = ':';\\n\\n/**\\n * Escape and wrap key so it is safe to use as a reactid\\n *\\n * @param {string} key to be escaped.\\n * @return {string} the escaped key.\\n */\\nfunction escape(key) {\\n var escapeRegex = /[=:]/g;\\n var escaperLookup = {\\n '=': '=0',\\n ':': '=2'\\n };\\n var escapedString = ('' + key).replace(escapeRegex, function (match) {\\n return escaperLookup[match];\\n });\\n\\n return '$' + escapedString;\\n}\\n\\n/**\\n * TODO: Test that a single child and an array with one item have the same key\\n * pattern.\\n */\\n\\nvar didWarnAboutMaps = false;\\n\\nvar userProvidedKeyEscapeRegex = /\\\\/+/g;\\nfunction escapeUserProvidedKey(text) {\\n return ('' + text).replace(userProvidedKeyEscapeRegex, '$&/');\\n}\\n\\nvar POOL_SIZE = 10;\\nvar traverseContextPool = [];\\nfunction getPooledTraverseContext(mapResult, keyPrefix, mapFunction, mapContext) {\\n if (traverseContextPool.length) {\\n var traverseContext = traverseContextPool.pop();\\n traverseContext.result = mapResult;\\n traverseContext.keyPrefix = keyPrefix;\\n traverseContext.func = mapFunction;\\n traverseContext.context = mapContext;\\n traverseContext.count = 0;\\n return traverseContext;\\n } else {\\n return {\\n result: mapResult,\\n keyPrefix: keyPrefix,\\n func: mapFunction,\\n context: mapContext,\\n count: 0\\n };\\n }\\n}\\n\\nfunction releaseTraverseContext(traverseContext) {\\n traverseContext.result = null;\\n traverseContext.keyPrefix = null;\\n traverseContext.func = null;\\n traverseContext.context = null;\\n traverseContext.count = 0;\\n if (traverseContextPool.length < POOL_SIZE) {\\n traverseContextPool.push(traverseContext);\\n }\\n}\\n\\n/**\\n * @param {?*} children Children tree container.\\n * @param {!string} nameSoFar Name of the key path so far.\\n * @param {!function} callback Callback to invoke with each child found.\\n * @param {?*} traverseContext Used to pass information throughout the traversal\\n * process.\\n * @return {!number} The number of children in this subtree.\\n */\\nfunction traverseAllChildrenImpl(children, nameSoFar, callback, traverseContext) {\\n var type = typeof children;\\n\\n if (type === 'undefined' || type === 'boolean') {\\n // All of the above are perceived as null.\\n children = null;\\n }\\n\\n var invokeCallback = false;\\n\\n if (children === null) {\\n invokeCallback = true;\\n } else {\\n switch (type) {\\n case 'string':\\n case 'number':\\n invokeCallback = true;\\n break;\\n case 'object':\\n switch (children.$$typeof) {\\n case REACT_ELEMENT_TYPE:\\n case REACT_PORTAL_TYPE:\\n invokeCallback = true;\\n }\\n }\\n }\\n\\n if (invokeCallback) {\\n callback(traverseContext, children,\\n // If it's the only child, treat the name as if it was wrapped in an array\\n // so that it's consistent if the number of children grows.\\n nameSoFar === '' ? SEPARATOR + getComponentKey(children, 0) : nameSoFar);\\n return 1;\\n }\\n\\n var child = void 0;\\n var nextName = void 0;\\n var subtreeCount = 0; // Count of children found in the current subtree.\\n var nextNamePrefix = nameSoFar === '' ? SEPARATOR : nameSoFar + SUBSEPARATOR;\\n\\n if (Array.isArray(children)) {\\n for (var i = 0; i < children.length; i++) {\\n child = children[i];\\n nextName = nextNamePrefix + getComponentKey(child, i);\\n subtreeCount += traverseAllChildrenImpl(child, nextName, callback, traverseContext);\\n }\\n } else {\\n var iteratorFn = getIteratorFn(children);\\n if (typeof iteratorFn === 'function') {\\n {\\n // Warn about using Maps as children\\n if (iteratorFn === children.entries) {\\n !didWarnAboutMaps ? warning$1(false, 'Using Maps as children is unsupported and will likely yield ' + 'unexpected results. Convert it to a sequence/iterable of keyed ' + 'ReactElements instead.') : void 0;\\n didWarnAboutMaps = true;\\n }\\n }\\n\\n var iterator = iteratorFn.call(children);\\n var step = void 0;\\n var ii = 0;\\n while (!(step = iterator.next()).done) {\\n child = step.value;\\n nextName = nextNamePrefix + getComponentKey(child, ii++);\\n subtreeCount += traverseAllChildrenImpl(child, nextName, callback, traverseContext);\\n }\\n } else if (type === 'object') {\\n var addendum = '';\\n {\\n addendum = ' If you meant to render a collection of children, use an array ' + 'instead.' + ReactDebugCurrentFrame.getStackAddendum();\\n }\\n var childrenString = '' + children;\\n invariant(false, 'Objects are not valid as a React child (found: %s).%s', childrenString === '[object Object]' ? 'object with keys {' + Object.keys(children).join(', ') + '}' : childrenString, addendum);\\n }\\n }\\n\\n return subtreeCount;\\n}\\n\\n/**\\n * Traverses children that are typically specified as `props.children`, but\\n * might also be specified through attributes:\\n *\\n * - `traverseAllChildren(this.props.children, ...)`\\n * - `traverseAllChildren(this.props.leftPanelChildren, ...)`\\n *\\n * The `traverseContext` is an optional argument that is passed through the\\n * entire traversal. It can be used to store accumulations or anything else that\\n * the callback might find relevant.\\n *\\n * @param {?*} children Children tree object.\\n * @param {!function} callback To invoke upon traversing each child.\\n * @param {?*} traverseContext Context for traversal.\\n * @return {!number} The number of children in this subtree.\\n */\\nfunction traverseAllChildren(children, callback, traverseContext) {\\n if (children == null) {\\n return 0;\\n }\\n\\n return traverseAllChildrenImpl(children, '', callback, traverseContext);\\n}\\n\\n/**\\n * Generate a key string that identifies a component within a set.\\n *\\n * @param {*} component A component that could contain a manual key.\\n * @param {number} index Index that is used if a manual key is not provided.\\n * @return {string}\\n */\\nfunction getComponentKey(component, index) {\\n // Do some typechecking here since we call this blindly. We want to ensure\\n // that we don't block potential future ES APIs.\\n if (typeof component === 'object' && component !== null && component.key != null) {\\n // Explicit key\\n return escape(component.key);\\n }\\n // Implicit key determined by the index in the set\\n return index.toString(36);\\n}\\n\\nfunction forEachSingleChild(bookKeeping, child, name) {\\n var func = bookKeeping.func,\\n context = bookKeeping.context;\\n\\n func.call(context, child, bookKeeping.count++);\\n}\\n\\n/**\\n * Iterates through children that are typically specified as `props.children`.\\n *\\n * See https://reactjs.org/docs/react-api.html#reactchildrenforeach\\n *\\n * The provided forEachFunc(child, index) will be called for each\\n * leaf child.\\n *\\n * @param {?*} children Children tree container.\\n * @param {function(*, int)} forEachFunc\\n * @param {*} forEachContext Context for forEachContext.\\n */\\nfunction forEachChildren(children, forEachFunc, forEachContext) {\\n if (children == null) {\\n return children;\\n }\\n var traverseContext = getPooledTraverseContext(null, null, forEachFunc, forEachContext);\\n traverseAllChildren(children, forEachSingleChild, traverseContext);\\n releaseTraverseContext(traverseContext);\\n}\\n\\nfunction mapSingleChildIntoContext(bookKeeping, child, childKey) {\\n var result = bookKeeping.result,\\n keyPrefix = bookKeeping.keyPrefix,\\n func = bookKeeping.func,\\n context = bookKeeping.context;\\n\\n\\n var mappedChild = func.call(context, child, bookKeeping.count++);\\n if (Array.isArray(mappedChild)) {\\n mapIntoWithKeyPrefixInternal(mappedChild, result, childKey, function (c) {\\n return c;\\n });\\n } else if (mappedChild != null) {\\n if (isValidElement(mappedChild)) {\\n mappedChild = cloneAndReplaceKey(mappedChild,\\n // Keep both the (mapped) and old keys if they differ, just as\\n // traverseAllChildren used to do for objects as children\\n keyPrefix + (mappedChild.key && (!child || child.key !== mappedChild.key) ? escapeUserProvidedKey(mappedChild.key) + '/' : '') + childKey);\\n }\\n result.push(mappedChild);\\n }\\n}\\n\\nfunction mapIntoWithKeyPrefixInternal(children, array, prefix, func, context) {\\n var escapedPrefix = '';\\n if (prefix != null) {\\n escapedPrefix = escapeUserProvidedKey(prefix) + '/';\\n }\\n var traverseContext = getPooledTraverseContext(array, escapedPrefix, func, context);\\n traverseAllChildren(children, mapSingleChildIntoContext, traverseContext);\\n releaseTraverseContext(traverseContext);\\n}\\n\\n/**\\n * Maps children that are typically specified as `props.children`.\\n *\\n * See https://reactjs.org/docs/react-api.html#reactchildrenmap\\n *\\n * The provided mapFunction(child, key, index) will be called for each\\n * leaf child.\\n *\\n * @param {?*} children Children tree container.\\n * @param {function(*, int)} func The map function.\\n * @param {*} context Context for mapFunction.\\n * @return {object} Object containing the ordered map of results.\\n */\\nfunction mapChildren(children, func, context) {\\n if (children == null) {\\n return children;\\n }\\n var result = [];\\n mapIntoWithKeyPrefixInternal(children, result, null, func, context);\\n return result;\\n}\\n\\n/**\\n * Count the number of children that are typically specified as\\n * `props.children`.\\n *\\n * See https://reactjs.org/docs/react-api.html#reactchildrencount\\n *\\n * @param {?*} children Children tree container.\\n * @return {number} The number of children.\\n */\\nfunction countChildren(children) {\\n return traverseAllChildren(children, function () {\\n return null;\\n }, null);\\n}\\n\\n/**\\n * Flatten a children object (typically specified as `props.children`) and\\n * return an array with appropriately re-keyed children.\\n *\\n * See https://reactjs.org/docs/react-api.html#reactchildrentoarray\\n */\\nfunction toArray(children) {\\n var result = [];\\n mapIntoWithKeyPrefixInternal(children, result, null, function (child) {\\n return child;\\n });\\n return result;\\n}\\n\\n/**\\n * Returns the first child in a collection of children and verifies that there\\n * is only one child in the collection.\\n *\\n * See https://reactjs.org/docs/react-api.html#reactchildrenonly\\n *\\n * The current implementation of this function assumes that a single child gets\\n * passed without a wrapper, but the purpose of this helper function is to\\n * abstract away the particular structure of children.\\n *\\n * @param {?object} children Child collection structure.\\n * @return {ReactElement} The first and only `ReactElement` contained in the\\n * structure.\\n */\\nfunction onlyChild(children) {\\n !isValidElement(children) ? invariant(false, 'React.Children.only expected to receive a single React element child.') : void 0;\\n return children;\\n}\\n\\nfunction createContext(defaultValue, calculateChangedBits) {\\n if (calculateChangedBits === undefined) {\\n calculateChangedBits = null;\\n } else {\\n {\\n !(calculateChangedBits === null || typeof calculateChangedBits === 'function') ? warningWithoutStack$1(false, 'createContext: Expected the optional second argument to be a ' + 'function. Instead received: %s', calculateChangedBits) : void 0;\\n }\\n }\\n\\n var context = {\\n $$typeof: REACT_CONTEXT_TYPE,\\n _calculateChangedBits: calculateChangedBits,\\n // As a workaround to support multiple concurrent renderers, we categorize\\n // some renderers as primary and others as secondary. We only expect\\n // there to be two concurrent renderers at most: React Native (primary) and\\n // Fabric (secondary); React DOM (primary) and React ART (secondary).\\n // Secondary renderers store their context values on separate fields.\\n _currentValue: defaultValue,\\n _currentValue2: defaultValue,\\n // Used to track how many concurrent renderers this context currently\\n // supports within in a single renderer. Such as parallel server rendering.\\n _threadCount: 0,\\n // These are circular\\n Provider: null,\\n Consumer: null\\n };\\n\\n context.Provider = {\\n $$typeof: REACT_PROVIDER_TYPE,\\n _context: context\\n };\\n\\n var hasWarnedAboutUsingNestedContextConsumers = false;\\n var hasWarnedAboutUsingConsumerProvider = false;\\n\\n {\\n // A separate object, but proxies back to the original context object for\\n // backwards compatibility. It has a different $$typeof, so we can properly\\n // warn for the incorrect usage of Context as a Consumer.\\n var Consumer = {\\n $$typeof: REACT_CONTEXT_TYPE,\\n _context: context,\\n _calculateChangedBits: context._calculateChangedBits\\n };\\n // $FlowFixMe: Flow complains about not setting a value, which is intentional here\\n Object.defineProperties(Consumer, {\\n Provider: {\\n get: function () {\\n if (!hasWarnedAboutUsingConsumerProvider) {\\n hasWarnedAboutUsingConsumerProvider = true;\\n warning$1(false, 'Rendering is not supported and will be removed in ' + 'a future major release. Did you mean to render instead?');\\n }\\n return context.Provider;\\n },\\n set: function (_Provider) {\\n context.Provider = _Provider;\\n }\\n },\\n _currentValue: {\\n get: function () {\\n return context._currentValue;\\n },\\n set: function (_currentValue) {\\n context._currentValue = _currentValue;\\n }\\n },\\n _currentValue2: {\\n get: function () {\\n return context._currentValue2;\\n },\\n set: function (_currentValue2) {\\n context._currentValue2 = _currentValue2;\\n }\\n },\\n _threadCount: {\\n get: function () {\\n return context._threadCount;\\n },\\n set: function (_threadCount) {\\n context._threadCount = _threadCount;\\n }\\n },\\n Consumer: {\\n get: function () {\\n if (!hasWarnedAboutUsingNestedContextConsumers) {\\n hasWarnedAboutUsingNestedContextConsumers = true;\\n warning$1(false, 'Rendering is not supported and will be removed in ' + 'a future major release. Did you mean to render instead?');\\n }\\n return context.Consumer;\\n }\\n }\\n });\\n // $FlowFixMe: Flow complains about missing properties because it doesn't understand defineProperty\\n context.Consumer = Consumer;\\n }\\n\\n {\\n context._currentRenderer = null;\\n context._currentRenderer2 = null;\\n }\\n\\n return context;\\n}\\n\\nfunction lazy(ctor) {\\n return {\\n $$typeof: REACT_LAZY_TYPE,\\n _ctor: ctor,\\n // React uses these fields to store the result.\\n _status: -1,\\n _result: null\\n };\\n}\\n\\nfunction forwardRef(render) {\\n {\\n if (render != null && render.$$typeof === REACT_MEMO_TYPE) {\\n warningWithoutStack$1(false, 'forwardRef requires a render function but received a `memo` ' + 'component. Instead of forwardRef(memo(...)), use ' + 'memo(forwardRef(...)).');\\n } else if (typeof render !== 'function') {\\n warningWithoutStack$1(false, 'forwardRef requires a render function but was given %s.', render === null ? 'null' : typeof render);\\n } else {\\n !(\\n // Do not warn for 0 arguments because it could be due to usage of the 'arguments' object\\n render.length === 0 || render.length === 2) ? warningWithoutStack$1(false, 'forwardRef render functions accept exactly two parameters: props and ref. %s', render.length === 1 ? 'Did you forget to use the ref parameter?' : 'Any additional parameter will be undefined.') : void 0;\\n }\\n\\n if (render != null) {\\n !(render.defaultProps == null && render.propTypes == null) ? warningWithoutStack$1(false, 'forwardRef render functions do not support propTypes or defaultProps. ' + 'Did you accidentally pass a React component?') : void 0;\\n }\\n }\\n\\n return {\\n $$typeof: REACT_FORWARD_REF_TYPE,\\n render: render\\n };\\n}\\n\\nfunction isValidElementType(type) {\\n return typeof type === 'string' || typeof type === 'function' ||\\n // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.\\n type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE);\\n}\\n\\nfunction memo(type, compare) {\\n {\\n if (!isValidElementType(type)) {\\n warningWithoutStack$1(false, 'memo: The first argument must be a component. Instead ' + 'received: %s', type === null ? 'null' : typeof type);\\n }\\n }\\n return {\\n $$typeof: REACT_MEMO_TYPE,\\n type: type,\\n compare: compare === undefined ? null : compare\\n };\\n}\\n\\nfunction resolveDispatcher() {\\n var dispatcher = ReactCurrentOwner.currentDispatcher;\\n !(dispatcher !== null) ? invariant(false, 'Hooks can only be called inside the body of a function component.') : void 0;\\n return dispatcher;\\n}\\n\\nfunction useContext(Context, observedBits) {\\n var dispatcher = resolveDispatcher();\\n {\\n // TODO: add a more generic warning for invalid values.\\n if (Context._context !== undefined) {\\n var realContext = Context._context;\\n // Don't deduplicate because this legitimately causes bugs\\n // and nobody should be using this in existing code.\\n if (realContext.Consumer === Context) {\\n warning$1(false, 'Calling useContext(Context.Consumer) is not supported, may cause bugs, and will be ' + 'removed in a future major release. Did you mean to call useContext(Context) instead?');\\n } else if (realContext.Provider === Context) {\\n warning$1(false, 'Calling useContext(Context.Provider) is not supported. ' + 'Did you mean to call useContext(Context) instead?');\\n }\\n }\\n }\\n return dispatcher.useContext(Context, observedBits);\\n}\\n\\nfunction useState(initialState) {\\n var dispatcher = resolveDispatcher();\\n return dispatcher.useState(initialState);\\n}\\n\\nfunction useReducer(reducer, initialState, initialAction) {\\n var dispatcher = resolveDispatcher();\\n return dispatcher.useReducer(reducer, initialState, initialAction);\\n}\\n\\nfunction useRef(initialValue) {\\n var dispatcher = resolveDispatcher();\\n return dispatcher.useRef(initialValue);\\n}\\n\\nfunction useEffect(create, inputs) {\\n var dispatcher = resolveDispatcher();\\n return dispatcher.useEffect(create, inputs);\\n}\\n\\nfunction useMutationEffect(create, inputs) {\\n var dispatcher = resolveDispatcher();\\n return dispatcher.useMutationEffect(create, inputs);\\n}\\n\\nfunction useLayoutEffect(create, inputs) {\\n var dispatcher = resolveDispatcher();\\n return dispatcher.useLayoutEffect(create, inputs);\\n}\\n\\nfunction useCallback(callback, inputs) {\\n var dispatcher = resolveDispatcher();\\n return dispatcher.useCallback(callback, inputs);\\n}\\n\\nfunction useMemo(create, inputs) {\\n var dispatcher = resolveDispatcher();\\n return dispatcher.useMemo(create, inputs);\\n}\\n\\nfunction useImperativeMethods(ref, create, inputs) {\\n var dispatcher = resolveDispatcher();\\n return dispatcher.useImperativeMethods(ref, create, inputs);\\n}\\n\\n/**\\n * ReactElementValidator provides a wrapper around a element factory\\n * which validates the props passed to the element. This is intended to be\\n * used only in DEV and could be replaced by a static type checker for languages\\n * that support it.\\n */\\n\\nvar propTypesMisspellWarningShown = void 0;\\n\\n{\\n propTypesMisspellWarningShown = false;\\n}\\n\\nfunction getDeclarationErrorAddendum() {\\n if (ReactCurrentOwner.current) {\\n var name = getComponentName(ReactCurrentOwner.current.type);\\n if (name) {\\n return '\\\\n\\\\nCheck the render method of `' + name + '`.';\\n }\\n }\\n return '';\\n}\\n\\nfunction getSourceInfoErrorAddendum(elementProps) {\\n if (elementProps !== null && elementProps !== undefined && elementProps.__source !== undefined) {\\n var source = elementProps.__source;\\n var fileName = source.fileName.replace(/^.*[\\\\\\\\\\\\/]/, '');\\n var lineNumber = source.lineNumber;\\n return '\\\\n\\\\nCheck your code at ' + fileName + ':' + lineNumber + '.';\\n }\\n return '';\\n}\\n\\n/**\\n * Warn if there's no key explicitly set on dynamic arrays of children or\\n * object keys are not valid. This allows us to keep track of children between\\n * updates.\\n */\\nvar ownerHasKeyUseWarning = {};\\n\\nfunction getCurrentComponentErrorInfo(parentType) {\\n var info = getDeclarationErrorAddendum();\\n\\n if (!info) {\\n var parentName = typeof parentType === 'string' ? parentType : parentType.displayName || parentType.name;\\n if (parentName) {\\n info = '\\\\n\\\\nCheck the top-level render call using <' + parentName + '>.';\\n }\\n }\\n return info;\\n}\\n\\n/**\\n * Warn if the element doesn't have an explicit key assigned to it.\\n * This element is in an array. The array could grow and shrink or be\\n * reordered. All children that haven't already been validated are required to\\n * have a \\\"key\\\" property assigned to it. Error statuses are cached so a warning\\n * will only be shown once.\\n *\\n * @internal\\n * @param {ReactElement} element Element that requires a key.\\n * @param {*} parentType element's parent's type.\\n */\\nfunction validateExplicitKey(element, parentType) {\\n if (!element._store || element._store.validated || element.key != null) {\\n return;\\n }\\n element._store.validated = true;\\n\\n var currentComponentErrorInfo = getCurrentComponentErrorInfo(parentType);\\n if (ownerHasKeyUseWarning[currentComponentErrorInfo]) {\\n return;\\n }\\n ownerHasKeyUseWarning[currentComponentErrorInfo] = true;\\n\\n // Usually the current owner is the offender, but if it accepts children as a\\n // property, it may be the creator of the child that's responsible for\\n // assigning it a key.\\n var childOwner = '';\\n if (element && element._owner && element._owner !== ReactCurrentOwner.current) {\\n // Give the component that originally created this child.\\n childOwner = ' It was passed a child from ' + getComponentName(element._owner.type) + '.';\\n }\\n\\n setCurrentlyValidatingElement(element);\\n {\\n warning$1(false, 'Each child in an array or iterator should have a unique \\\"key\\\" prop.' + '%s%s See https://fb.me/react-warning-keys for more information.', currentComponentErrorInfo, childOwner);\\n }\\n setCurrentlyValidatingElement(null);\\n}\\n\\n/**\\n * Ensure that every element either is passed in a static location, in an\\n * array with an explicit keys property defined, or in an object literal\\n * with valid key property.\\n *\\n * @internal\\n * @param {ReactNode} node Statically passed child of any type.\\n * @param {*} parentType node's parent's type.\\n */\\nfunction validateChildKeys(node, parentType) {\\n if (typeof node !== 'object') {\\n return;\\n }\\n if (Array.isArray(node)) {\\n for (var i = 0; i < node.length; i++) {\\n var child = node[i];\\n if (isValidElement(child)) {\\n validateExplicitKey(child, parentType);\\n }\\n }\\n } else if (isValidElement(node)) {\\n // This element was passed in a valid location.\\n if (node._store) {\\n node._store.validated = true;\\n }\\n } else if (node) {\\n var iteratorFn = getIteratorFn(node);\\n if (typeof iteratorFn === 'function') {\\n // Entry iterators used to provide implicit keys,\\n // but now we print a separate warning for them later.\\n if (iteratorFn !== node.entries) {\\n var iterator = iteratorFn.call(node);\\n var step = void 0;\\n while (!(step = iterator.next()).done) {\\n if (isValidElement(step.value)) {\\n validateExplicitKey(step.value, parentType);\\n }\\n }\\n }\\n }\\n }\\n}\\n\\n/**\\n * Given an element, validate that its props follow the propTypes definition,\\n * provided by the type.\\n *\\n * @param {ReactElement} element\\n */\\nfunction validatePropTypes(element) {\\n var type = element.type;\\n var name = void 0,\\n propTypes = void 0;\\n if (typeof type === 'function') {\\n // Class or function component\\n name = type.displayName || type.name;\\n propTypes = type.propTypes;\\n } else if (typeof type === 'object' && type !== null && type.$$typeof === REACT_FORWARD_REF_TYPE) {\\n // ForwardRef\\n var functionName = type.render.displayName || type.render.name || '';\\n name = type.displayName || (functionName !== '' ? 'ForwardRef(' + functionName + ')' : 'ForwardRef');\\n propTypes = type.propTypes;\\n } else {\\n return;\\n }\\n if (propTypes) {\\n setCurrentlyValidatingElement(element);\\n checkPropTypes(propTypes, element.props, 'prop', name, ReactDebugCurrentFrame.getStackAddendum);\\n setCurrentlyValidatingElement(null);\\n } else if (type.PropTypes !== undefined && !propTypesMisspellWarningShown) {\\n propTypesMisspellWarningShown = true;\\n warningWithoutStack$1(false, 'Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?', name || 'Unknown');\\n }\\n if (typeof type.getDefaultProps === 'function') {\\n !type.getDefaultProps.isReactClassApproved ? warningWithoutStack$1(false, 'getDefaultProps is only used on classic React.createClass ' + 'definitions. Use a static property named `defaultProps` instead.') : void 0;\\n }\\n}\\n\\n/**\\n * Given a fragment, validate that it can only be provided with fragment props\\n * @param {ReactElement} fragment\\n */\\nfunction validateFragmentProps(fragment) {\\n setCurrentlyValidatingElement(fragment);\\n\\n var keys = Object.keys(fragment.props);\\n for (var i = 0; i < keys.length; i++) {\\n var key = keys[i];\\n if (key !== 'children' && key !== 'key') {\\n warning$1(false, 'Invalid prop `%s` supplied to `React.Fragment`. ' + 'React.Fragment can only have `key` and `children` props.', key);\\n break;\\n }\\n }\\n\\n if (fragment.ref !== null) {\\n warning$1(false, 'Invalid attribute `ref` supplied to `React.Fragment`.');\\n }\\n\\n setCurrentlyValidatingElement(null);\\n}\\n\\nfunction createElementWithValidation(type, props, children) {\\n var validType = isValidElementType(type);\\n\\n // We warn in this case but don't throw. We expect the element creation to\\n // succeed and there will likely be errors in render.\\n if (!validType) {\\n var info = '';\\n if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) {\\n info += ' You likely forgot to export your component from the file ' + \\\"it's defined in, or you might have mixed up default and named imports.\\\";\\n }\\n\\n var sourceInfo = getSourceInfoErrorAddendum(props);\\n if (sourceInfo) {\\n info += sourceInfo;\\n } else {\\n info += getDeclarationErrorAddendum();\\n }\\n\\n var typeString = void 0;\\n if (type === null) {\\n typeString = 'null';\\n } else if (Array.isArray(type)) {\\n typeString = 'array';\\n } else if (type !== undefined && type.$$typeof === REACT_ELEMENT_TYPE) {\\n typeString = '<' + (getComponentName(type.type) || 'Unknown') + ' />';\\n info = ' Did you accidentally export a JSX literal instead of a component?';\\n } else {\\n typeString = typeof type;\\n }\\n\\n warning$1(false, 'React.createElement: type is invalid -- expected a string (for ' + 'built-in components) or a class/function (for composite ' + 'components) but got: %s.%s', typeString, info);\\n }\\n\\n var element = createElement.apply(this, arguments);\\n\\n // The result can be nullish if a mock or a custom function is used.\\n // TODO: Drop this when these are no longer allowed as the type argument.\\n if (element == null) {\\n return element;\\n }\\n\\n // Skip key warning if the type isn't valid since our key validation logic\\n // doesn't expect a non-string/function type and can throw confusing errors.\\n // We don't want exception behavior to differ between dev and prod.\\n // (Rendering will throw with a helpful message and as soon as the type is\\n // fixed, the key warnings will appear.)\\n if (validType) {\\n for (var i = 2; i < arguments.length; i++) {\\n validateChildKeys(arguments[i], type);\\n }\\n }\\n\\n if (type === REACT_FRAGMENT_TYPE) {\\n validateFragmentProps(element);\\n } else {\\n validatePropTypes(element);\\n }\\n\\n return element;\\n}\\n\\nfunction createFactoryWithValidation(type) {\\n var validatedFactory = createElementWithValidation.bind(null, type);\\n validatedFactory.type = type;\\n // Legacy hook: remove it\\n {\\n Object.defineProperty(validatedFactory, 'type', {\\n enumerable: false,\\n get: function () {\\n lowPriorityWarning$1(false, 'Factory.type is deprecated. Access the class directly ' + 'before passing it to createFactory.');\\n Object.defineProperty(this, 'type', {\\n value: type\\n });\\n return type;\\n }\\n });\\n }\\n\\n return validatedFactory;\\n}\\n\\nfunction cloneElementWithValidation(element, props, children) {\\n var newElement = cloneElement.apply(this, arguments);\\n for (var i = 2; i < arguments.length; i++) {\\n validateChildKeys(arguments[i], newElement.type);\\n }\\n validatePropTypes(newElement);\\n return newElement;\\n}\\n\\nvar React = {\\n Children: {\\n map: mapChildren,\\n forEach: forEachChildren,\\n count: countChildren,\\n toArray: toArray,\\n only: onlyChild\\n },\\n\\n createRef: createRef,\\n Component: Component,\\n PureComponent: PureComponent,\\n\\n createContext: createContext,\\n forwardRef: forwardRef,\\n lazy: lazy,\\n memo: memo,\\n\\n Fragment: REACT_FRAGMENT_TYPE,\\n StrictMode: REACT_STRICT_MODE_TYPE,\\n Suspense: REACT_SUSPENSE_TYPE,\\n\\n createElement: createElementWithValidation,\\n cloneElement: cloneElementWithValidation,\\n createFactory: createFactoryWithValidation,\\n isValidElement: isValidElement,\\n\\n version: ReactVersion,\\n\\n __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED: ReactSharedInternals\\n};\\n\\nif (enableStableConcurrentModeAPIs) {\\n React.ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;\\n React.Profiler = REACT_PROFILER_TYPE;\\n} else {\\n React.unstable_ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;\\n React.unstable_Profiler = REACT_PROFILER_TYPE;\\n}\\n\\nif (enableHooks) {\\n React.useCallback = useCallback;\\n React.useContext = useContext;\\n React.useEffect = useEffect;\\n React.useImperativeMethods = useImperativeMethods;\\n React.useLayoutEffect = useLayoutEffect;\\n React.useMemo = useMemo;\\n React.useMutationEffect = useMutationEffect;\\n React.useReducer = useReducer;\\n React.useRef = useRef;\\n React.useState = useState;\\n}\\n\\n\\n\\nvar React$2 = Object.freeze({\\n\\tdefault: React\\n});\\n\\nvar React$3 = ( React$2 && React ) || React$2;\\n\\n// TODO: decide on the top-level export form.\\n// This is hacky but makes it work with both Rollup and Jest.\\nvar react = React$3.default || React$3;\\n\\nmodule.exports = react;\\n })();\\n}\\n\\n\\n//# sourceURL=webpack://mortgage-calculator-react/./node_modules/react/cjs/react.development.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/react/index.js\":\n/*!*************************************!*\\\n !*** ./node_modules/react/index.js ***!\n \\*************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\nif (false) {} else {\\n module.exports = __webpack_require__(/*! ./cjs/react.development.js */ \\\"./node_modules/react/cjs/react.development.js\\\");\\n}\\n\\n\\n//# sourceURL=webpack://mortgage-calculator-react/./node_modules/react/index.js?\");\n\n/***/ }),\n\n/***/ \"./node_modules/style-loader/lib/addStyles.js\":\n/*!****************************************************!*\\\n !*** ./node_modules/style-loader/lib/addStyles.js ***!\n \\****************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\neval(\"/*\\n\\tMIT License http://www.opensource.org/licenses/mit-license.php\\n\\tAuthor Tobias Koppers @sokra\\n*/\\n\\nvar stylesInDom = {};\\n\\nvar\\tmemoize = function (fn) {\\n\\tvar memo;\\n\\n\\treturn function () {\\n\\t\\tif (typeof memo === \\\"undefined\\\") memo = fn.apply(this, arguments);\\n\\t\\treturn memo;\\n\\t};\\n};\\n\\nvar isOldIE = memoize(function () {\\n\\t// Test for IE <= 9 as proposed by Browserhacks\\n\\t// @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805\\n\\t// Tests for existence of standard globals is to allow style-loader\\n\\t// to operate correctly into non-standard environments\\n\\t// @see https://github.com/webpack-contrib/style-loader/issues/177\\n\\treturn window && document && document.all && !window.atob;\\n});\\n\\nvar getTarget = function (target) {\\n return document.querySelector(target);\\n};\\n\\nvar getElement = (function (fn) {\\n\\tvar memo = {};\\n\\n\\treturn function(target) {\\n // If passing function in options, then use it for resolve \\\"head\\\" element.\\n // Useful for Shadow Root style i.e\\n // {\\n // insertInto: function () { return document.querySelector(\\\"#foo\\\").shadowRoot }\\n // }\\n if (typeof target === 'function') {\\n return target();\\n }\\n if (typeof memo[target] === \\\"undefined\\\") {\\n\\t\\t\\tvar styleTarget = getTarget.call(this, target);\\n\\t\\t\\t// Special case to return head of iframe instead of iframe itself\\n\\t\\t\\tif (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\\n\\t\\t\\t\\ttry {\\n\\t\\t\\t\\t\\t// This will throw an exception if access to iframe is blocked\\n\\t\\t\\t\\t\\t// due to cross-origin restrictions\\n\\t\\t\\t\\t\\tstyleTarget = styleTarget.contentDocument.head;\\n\\t\\t\\t\\t} catch(e) {\\n\\t\\t\\t\\t\\tstyleTarget = null;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\tmemo[target] = styleTarget;\\n\\t\\t}\\n\\t\\treturn memo[target]\\n\\t};\\n})();\\n\\nvar singleton = null;\\nvar\\tsingletonCounter = 0;\\nvar\\tstylesInsertedAtTop = [];\\n\\nvar\\tfixUrls = __webpack_require__(/*! ./urls */ \\\"./node_modules/style-loader/lib/urls.js\\\");\\n\\nmodule.exports = function(list, options) {\\n\\tif (typeof DEBUG !== \\\"undefined\\\" && DEBUG) {\\n\\t\\tif (typeof document !== \\\"object\\\") throw new Error(\\\"The style-loader cannot be used in a non-browser environment\\\");\\n\\t}\\n\\n\\toptions = options || {};\\n\\n\\toptions.attrs = typeof options.attrs === \\\"object\\\" ? options.attrs : {};\\n\\n\\t// Force single-tag solution on IE6-9, which has a hard limit on the # of