{"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","../stylis.js","../node_modules/react-is/index.js","../node_modules/memoize-one/dist/memoize-one.esm.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","../../src/index.ts","../node_modules/stylis-rule-sheet/index.js","../node_modules/@emotion/unitless/dist/unitless.browser.esm.js","../node_modules/smooth-scroll/dist/smooth-scroll.polyfills.min.js","../node_modules/@emotion/memoize/dist/memoize.browser.esm.js","../node_modules/@emotion/is-prop-valid/dist/is-prop-valid.browser.esm.js","../node_modules/is-what/dist/index.esm.js","../node_modules/merge-anything/dist/index.esm.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","../../src/ReactSimpleImageViewer.tsx","../../src/styles.tsx","../node_modules/@babel/runtime/helpers/taggedTemplateLiteral.js","../../src/models/StyleTags.js","../../src/models/ThemeProvider.js","../../src/models/GlobalStyle.js","../node_modules/process/browser.js","../node_modules/react-is/cjs/react-is.production.min.js","../node_modules/webpack/buildin/global.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","test1","getOwnPropertyNames","test2","fromCharCode","map","test3","split","forEach","letter","keys","err","shouldUseNative","symbols","to","undefined","TypeError","toObject","factory","options","nullptn","formatptn","colonptn","cursorptn","transformptn","animationptn","propertiesptn","elementptn","selectorptn","andptn","escapeptn","invalidptn","keyframeptn","plcholdrptn","readonlyptn","beforeptn","afterptn","tailptn","whiteptn","pseudoptn","writingptn","supportsptn","propertyptn","selfptn","pseudofmt","dimensionptn","imgsrcptn","webkit","moz","ms","SEMICOLON","CLOSEBRACES","OPENBRACES","OPENPARENTHESES","CLOSEPARENTHESES","OPENBRACKET","CLOSEBRACKET","NEWLINE","CARRIAGE","TAB","AT","SPACE","AND","DASH","UNDERSCORE","STAR","COMMA","COLON","SINGLEQUOTE","DOUBLEQUOTE","FOWARDSLASH","GREATERTHAN","PLUS","TILDE","NULL","FORMFEED","VERTICALTAB","KEYFRAME","MEDIA","SUPPORTS","PLACEHOLDER","READONLY","IMPORT","CHARSET","DOCUMENT","PAGE","column","line","pattern","cascade","prefix","escape","compress","semicolon","preserve","array","plugins","plugged","should","POSTS","PREPS","UNKWN","PROPS","BLCKS","ATRUL","unkwn","keyed","nscopealt","nscope","compile","current","selector","bracket","comment","parentheses","quote","first","second","code","tail","trail","peak","counter","atrule","pseudo","caret","format","insert","invert","eof","eol","char","chars","child","out","children","flat","charCodeAt","replace","trim","delimited","select","proxy","supports","vendor","property","padding","Array","elements","l","selectors","scope","level","input","third","hash","declare","list","items","parseFloat","test","content","match","group","at","next","stylis","ns","output","use","plugin","safeIsNaN","areInputsEqual","newInputs","lastInputs","memoizeOne","resultFn","isEqual","lastThis","lastResult","lastArgs","calledOnce","newArgs","_i","checkDCE","__REACT_DEVTOOLS_GLOBAL_HOOK__","console","Rand","probability","calculation","Canvas","_iid","_oid","canvasRef","React","createRef","setTimeout","initCanvas","getCanvas","onCanvasDidMount","setCanvasSize","heartbeatDetectionCanvasSize","onCanvasInited","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","getProp","rps","getArrProp","cross","emitterV","pos","createRenderer","onUpdate","operation","Lines","mouseObj","attractionBehaviour","Thick","hue","colorTemplate","repulsion","attraction","begin","Square","preEmit","Cobweb","pointZone","pA","pB","dis","Circle","Tadpole","mouseInfo","points","fillPointsData","unshift","drawTadpoleHead","drawTadpoleTail","linearEvaluation","COLOR","Polygon","createEmitter","drawPolygon","mainEmitter","once","gravity","completed","radiusInit","emitterCount","Fountain","createCustomBehaviour","ParticlesBg","getResult","Custom","getRandom","getBgParticles","Fragment","insertRule","delimiter","needle","toSheet","block","unitlessKeys","animationIterationCount","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","msGridRow","msGridRowSpan","msGridColumn","msGridColumnSpan","fontWeight","lineHeight","order","orphans","tabSize","widows","zIndex","zoom","WebkitLineClamp","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","Element","closest","ownerDocument","querySelectorAll","o","item","parentElement","bubbles","cancelable","detail","createEvent","initCustomEvent","CustomEvent","Event","clearTimeout","global","q","header","topOnEmptyHash","speed","speedAsDuration","durationMax","durationMin","clip","offset","customEasing","updateURL","popstate","emitEvents","I","InvalidCharacterError","scrollHeight","documentElement","offsetHeight","getComputedStyle","offsetTop","focus","activeElement","setAttribute","outline","scrollTo","H","toggle","O","C","cancelScroll","tagName","pageYOffset","querySelector","u","offsetParent","innerHeight","E","history","pushState","smoothScroll","JSON","stringify","title","matchMedia","matches","defaultPrevented","button","metaKey","ctrlKey","shiftKey","hostname","location","pathname","href","decodeURIComponent","preventDefault","replaceState","animateScroll","memoize","reactPropsRegex","fn","arg","getType","payload","isUndefined","isNull","isPlainObject","getPrototypeOf","isSymbol","__spreadArrays","il","jl","assignProp","carry","newVal","originalObject","propType","defineProperty","enumerable","writable","configurable","mergeRecursively","origin","newComer","extensions","extend","newObject","reduce","targetVal","includes","merge","newComers","base","StrictMode","Profiler","Suspense","Symbol","for","iterator","z","encodeURIComponent","isMounted","enqueueForceUpdate","enqueueReplaceState","enqueueSetState","refs","updater","D","isReactComponent","setState","Error","forceUpdate","isPureReactComponent","ref","__self","__source","J","defaultProps","$$typeof","_owner","N","K","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","la","removeAttribute","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","Oa","Pa","prepareStackTrace","Reflect","construct","displayName","Qa","tag","_render","Ra","Sa","Ta","nodeName","Va","_valueTracker","getOwnPropertyDescriptor","setValue","stopTracking","Ua","Wa","checked","Xa","Ya","defaultChecked","defaultValue","_wrapperState","initialChecked","Za","initialValue","controlled","$a","ab","bb","cb","eb","db","fb","selected","defaultSelected","disabled","gb","dangerouslySetInnerHTML","hb","ib","jb","textContent","kb","html","mathml","svg","lb","mb","nb","ob","namespaceURI","valueOf","firstChild","MSApp","execUnsafeLocalFunction","pb","lastChild","nodeType","nodeValue","qb","gridArea","lineClamp","rb","sb","tb","setProperty","ub","menuitem","area","br","col","embed","hr","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","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","returnValue","isPropagationStopped","stopPropagation","cancelBubble","persist","isPersistent","wd","xd","yd","sd","eventPhase","timeStamp","isTrusted","td","ud","view","vd","Ad","screenX","screenY","clientX","clientY","pageX","pageY","altKey","getModifierState","zd","buttons","relatedTarget","fromElement","toElement","movementX","movementY","Bd","Dd","dataTransfer","Fd","Hd","animationName","elapsedTime","pseudoElement","Id","clipboardData","Jd","Ld","Md","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Apps","Scroll","MozPrintableKey","Nd","Od","Alt","Control","Meta","Shift","Pd","Qd","repeat","locale","which","Rd","Td","pressure","tangentialPressure","tiltX","tiltY","twist","pointerType","isPrimary","Vd","touches","targetTouches","changedTouches","Xd","Yd","deltaX","wheelDeltaX","deltaY","wheelDeltaY","wheelDelta","deltaZ","deltaMode","Zd","$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","nextSibling","Me","contains","compareDocumentPosition","Ne","HTMLIFrameElement","contentWindow","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","ke","jf","kf","lf","mf","autoFocus","nf","__html","of","pf","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","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","mode","elementType","Vg","implementation","Wg","Xg","Yg","Zg","$g","ah","bh","ch","dh","eh","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","Ci","Di","Ei","si","retryLane","ti","fallback","unstable_avoidThisFallback","ui","unstable_expectedLoadTime","vi","wi","xi","yi","zi","isBackwards","rendering","renderingStartTime","last","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","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","createRange","setStart","removeAllRanges","addRange","setEnd","left","scrollLeft","scrollTop","onCommitFiberRoot","fk","gk","ik","pendingChildren","jk","mutableSourceEagerHydrationData","lk","mk","nk","ok","qk","hydrationOptions","mutableSources","_internalRoot","rk","tk","hasAttribute","sk","uk","kk","hk","unstable_observedBits","unmount","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","freeze","defineProperties","raw","__esModule","cachedSetTimeout","cachedClearTimeout","process","defaultSetTimout","defaultClearTimeout","runTimeout","fun","currentQueue","draining","queueIndex","cleanUpNextTick","drainQueue","timeout","len","run","marker","runClearTimeout","Item","noop","nextTick","browser","env","argv","versions","on","addListener","off","removeListener","removeAllListeners","prependListener","prependOnceListener","binding","cwd","chdir","dir","umask","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","ForwardRef","Lazy","Memo","Portal","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isMemo","isPortal","isProfiler","isStrictMode","isSuspense","isValidElementType","typeOf","Function"],"mappings":"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","file":"static/js/2.2c3c2294.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","!function(e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e(null):\"function\"==typeof define&&define.amd?define(e(null)):window.stylis=e(null)}(function e(a){\"use strict\";var r=/^\\0+/g,c=/[\\0\\r\\f]/g,s=/: */g,t=/zoo|gra/,i=/([,: ])(transform)/g,f=/,+\\s*(?![^(]*[)])/g,n=/ +\\s*(?![^(]*[)])/g,l=/ *[\\0] */g,o=/,\\r+?/g,h=/([\\t\\r\\n ])*\\f?&/g,u=/:global\\(((?:[^\\(\\)\\[\\]]*|\\[.*\\]|\\([^\\(\\)]*\\))*)\\)/g,d=/\\W+/g,b=/@(k\\w+)\\s*(\\S*)\\s*/,p=/::(place)/g,k=/:(read-only)/g,g=/\\s+(?=[{\\];=:>])/g,A=/([[}=:>])\\s+/g,C=/(\\{[^{]+?);(?=\\})/g,w=/\\s{2,}/g,v=/([^\\(])(:+) */g,m=/[svh]\\w+-[tblr]{2}/,x=/\\(\\s*(.*)\\s*\\)/g,$=/([\\s\\S]*?);/g,y=/-self|flex-/g,O=/[^]*?(:[rp][el]a[\\w-]+)[^]*/,j=/stretch|:\\s*\\w+\\-(?:conte|avail)/,z=/([^-])(image-set\\()/,N=\"-webkit-\",S=\"-moz-\",F=\"-ms-\",W=59,q=125,B=123,D=40,E=41,G=91,H=93,I=10,J=13,K=9,L=64,M=32,P=38,Q=45,R=95,T=42,U=44,V=58,X=39,Y=34,Z=47,_=62,ee=43,ae=126,re=0,ce=12,se=11,te=107,ie=109,fe=115,ne=112,le=111,oe=105,he=99,ue=100,de=112,be=1,pe=1,ke=0,ge=1,Ae=1,Ce=1,we=0,ve=0,me=0,xe=[],$e=[],ye=0,Oe=null,je=-2,ze=-1,Ne=0,Se=1,Fe=2,We=3,qe=0,Be=1,De=\"\",Ee=\"\",Ge=\"\";function He(e,a,s,t,i){for(var f,n,o=0,h=0,u=0,d=0,g=0,A=0,C=0,w=0,m=0,$=0,y=0,O=0,j=0,z=0,R=0,we=0,$e=0,Oe=0,je=0,ze=s.length,Je=ze-1,Re=\"\",Te=\"\",Ue=\"\",Ve=\"\",Xe=\"\",Ye=\"\";R0)Te=Te.replace(c,\"\");if(Te.trim().length>0){switch(C){case M:case K:case W:case J:case I:break;default:Te+=s.charAt(R)}C=W}}if(1===$e)switch(C){case B:case q:case W:case Y:case X:case D:case E:case U:$e=0;case K:case J:case I:case M:break;default:for($e=0,je=R,g=C,R--,C=W;je0)++R,C=g;case B:je=ze}}switch(C){case B:for(g=(Te=Te.trim()).charCodeAt(0),y=1,je=++R;R0)Te=Te.replace(c,\"\");switch(A=Te.charCodeAt(1)){case ue:case ie:case fe:case Q:f=a;break;default:f=xe}if(je=(Ue=He(a,f,Ue,A,i+1)).length,me>0&&0===je)je=Te.length;if(ye>0)if(f=Ie(xe,Te,Oe),n=Pe(We,Ue,f,a,pe,be,je,A,i,t),Te=f.join(\"\"),void 0!==n)if(0===(je=(Ue=n.trim()).length))A=0,Ue=\"\";if(je>0)switch(A){case fe:Te=Te.replace(x,Me);case ue:case ie:case Q:Ue=Te+\"{\"+Ue+\"}\";break;case te:if(Ue=(Te=Te.replace(b,\"$1 $2\"+(Be>0?De:\"\")))+\"{\"+Ue+\"}\",1===Ae||2===Ae&&Le(\"@\"+Ue,3))Ue=\"@\"+N+Ue+\"@\"+Ue;else Ue=\"@\"+Ue;break;default:if(Ue=Te+Ue,t===de)Ve+=Ue,Ue=\"\"}else Ue=\"\";break;default:Ue=He(a,Ie(a,Te,Oe),Ue,t,i+1)}Xe+=Ue,O=0,$e=0,z=0,we=0,Oe=0,j=0,Te=\"\",Ue=\"\",C=s.charCodeAt(++R);break;case q:case W:if((je=(Te=(we>0?Te.replace(c,\"\"):Te).trim()).length)>1){if(0===z)if((g=Te.charCodeAt(0))===Q||g>96&&g<123)je=(Te=Te.replace(\" \",\":\")).length;if(ye>0)if(void 0!==(n=Pe(Se,Te,a,e,pe,be,Ve.length,t,i,t)))if(0===(je=(Te=n.trim()).length))Te=\"\\0\\0\";switch(g=Te.charCodeAt(0),A=Te.charCodeAt(1),g){case re:break;case L:if(A===oe||A===he){Ye+=Te+s.charAt(R);break}default:if(Te.charCodeAt(je-1)===V)break;Ve+=Ke(Te,g,A,Te.charCodeAt(2))}}O=0,$e=0,z=0,we=0,Oe=0,Te=\"\",C=s.charCodeAt(++R)}}switch(C){case J:case I:if(h+d+u+o+ve===0)switch($){case E:case X:case Y:case L:case ae:case _:case T:case ee:case Z:case Q:case V:case U:case W:case B:case q:break;default:if(z>0)$e=1}if(h===Z)h=0;else if(ge+O===0&&t!==te&&Te.length>0)we=1,Te+=\"\\0\";if(ye*qe>0)Pe(Ne,Te,a,e,pe,be,Ve.length,t,i,t);be=1,pe++;break;case W:case q:if(h+d+u+o===0){be++;break}default:switch(be++,Re=s.charAt(R),C){case K:case M:if(d+o+h===0)switch(w){case U:case V:case K:case M:Re=\"\";break;default:if(C!==M)Re=\" \"}break;case re:Re=\"\\\\0\";break;case ce:Re=\"\\\\f\";break;case se:Re=\"\\\\v\";break;case P:if(d+h+o===0&&ge>0)Oe=1,we=1,Re=\"\\f\"+Re;break;case 108:if(d+h+o+ke===0&&z>0)switch(R-z){case 2:if(w===ne&&s.charCodeAt(R-3)===V)ke=w;case 8:if(m===le)ke=m}break;case V:if(d+h+o===0)z=R;break;case U:if(h+u+d+o===0)we=1,Re+=\"\\r\";break;case Y:case X:if(0===h)d=d===C?0:0===d?C:d;break;case G:if(d+h+u===0)o++;break;case H:if(d+h+u===0)o--;break;case E:if(d+h+o===0)u--;break;case D:if(d+h+o===0){if(0===O)switch(2*w+3*m){case 533:break;default:y=0,O=1}u++}break;case L:if(h+u+d+o+z+j===0)j=1;break;case T:case Z:if(d+o+u>0)break;switch(h){case 0:switch(2*C+3*s.charCodeAt(R+1)){case 235:h=Z;break;case 220:je=R,h=T}break;case T:if(C===Z&&w===T&&je+2!==R){if(33===s.charCodeAt(je+2))Ve+=s.substring(je,R+1);Re=\"\",h=0}}}if(0===h){if(ge+d+o+j===0&&t!==te&&C!==W)switch(C){case U:case ae:case _:case ee:case E:case D:if(0===O){switch(w){case K:case M:case I:case J:Re+=\"\\0\";break;default:Re=\"\\0\"+Re+(C===U?\"\":\"\\0\")}we=1}else switch(C){case D:if(z+7===R&&108===w)z=0;O=++y;break;case E:if(0==(O=--y))we=1,Re+=\"\\0\"}break;case K:case M:switch(w){case re:case B:case q:case W:case U:case ce:case K:case M:case I:case J:break;default:if(0===O)we=1,Re+=\"\\0\"}}if(Te+=Re,C!==M&&C!==K)$=C}}m=w,w=C,R++}if(je=Ve.length,me>0)if(0===je&&0===Xe.length&&0===a[0].length==false)if(t!==ie||1===a.length&&(ge>0?Ee:Ge)===a[0])je=a.join(\",\").length+2;if(je>0){if(f=0===ge&&t!==te?function(e){for(var a,r,s=0,t=e.length,i=Array(t);s1)continue;if(u=n.charCodeAt(n.length-1),d=r.charCodeAt(0),a=\"\",0!==o)switch(u){case T:case ae:case _:case ee:case M:case D:break;default:a=\" \"}switch(d){case P:r=a+Ee;case ae:case _:case ee:case M:case E:case D:break;case G:r=a+r+Ee;break;case V:switch(2*r.charCodeAt(1)+3*r.charCodeAt(2)){case 530:if(Ce>0){r=a+r.substring(8,h-1);break}default:if(o<1||f[o-1].length<1)r=a+Ee+r}break;case U:a=\"\";default:if(h>1&&r.indexOf(\":\")>0)r=a+r.replace(v,\"$1\"+Ee+\"$2\");else r=a+r+Ee}n+=r}i[s]=n.replace(c,\"\").trim()}return i}(a):a,ye>0)if(void 0!==(n=Pe(Fe,Ve,f,e,pe,be,je,t,i,t))&&0===(Ve=n).length)return Ye+Ve+Xe;if(Ve=f.join(\",\")+\"{\"+Ve+\"}\",Ae*ke!=0){if(2===Ae&&!Le(Ve,2))ke=0;switch(ke){case le:Ve=Ve.replace(k,\":\"+S+\"$1\")+Ve;break;case ne:Ve=Ve.replace(p,\"::\"+N+\"input-$1\")+Ve.replace(p,\"::\"+S+\"$1\")+Ve.replace(p,\":\"+F+\"input-$1\")+Ve}ke=0}}return Ye+Ve+Xe}function Ie(e,a,r){var c=a.trim().split(o),s=c,t=c.length,i=e.length;switch(i){case 0:case 1:for(var f=0,n=0===i?\"\":e[0]+\" \";f0&&ge>0)return s.replace(u,\"$1\").replace(h,\"$1\"+Ge);break;default:return e.trim()+s.replace(h,\"$1\"+e.trim())}default:if(r*ge>0&&s.indexOf(\"\\f\")>0)return s.replace(h,(e.charCodeAt(0)===V?\"\":\"$1\")+e.trim())}return e+s}function Ke(e,a,r,c){var l,o=0,h=e+\";\",u=2*a+3*r+4*c;if(944===u)return function(e){var a=e.length,r=e.indexOf(\":\",9)+1,c=e.substring(0,r).trim(),s=e.substring(r,a-1).trim();switch(e.charCodeAt(9)*Be){case 0:break;case Q:if(110!==e.charCodeAt(10))break;default:for(var t=s.split((s=\"\",f)),i=0,r=0,a=t.length;iL&&h<90||h>96&&h<123||h===R||h===Q&&l.charCodeAt(1)!==Q))switch(isNaN(parseFloat(l))+(-1!==l.indexOf(\"(\"))){case 1:switch(l){case\"infinite\":case\"alternate\":case\"backwards\":case\"running\":case\"normal\":case\"forwards\":case\"both\":case\"none\":case\"linear\":case\"ease\":case\"ease-in\":case\"ease-out\":case\"ease-in-out\":case\"paused\":case\"reverse\":case\"alternate-reverse\":case\"inherit\":case\"initial\":case\"unset\":case\"step-start\":case\"step-end\":break;default:l+=De}}o[r++]=l}s+=(0===i?\"\":\",\")+o.join(\" \")}}if(s=c+s+\";\",1===Ae||2===Ae&&Le(s,1))return N+s+s;return s}(h);else if(0===Ae||2===Ae&&!Le(h,1))return h;switch(u){case 1015:return 97===h.charCodeAt(10)?N+h+h:h;case 951:return 116===h.charCodeAt(3)?N+h+h:h;case 963:return 110===h.charCodeAt(5)?N+h+h:h;case 1009:if(100!==h.charCodeAt(4))break;case 969:case 942:return N+h+h;case 978:return N+h+S+h+h;case 1019:case 983:return N+h+S+h+F+h+h;case 883:if(h.charCodeAt(8)===Q)return N+h+h;if(h.indexOf(\"image-set(\",11)>0)return h.replace(z,\"$1\"+N+\"$2\")+h;return h;case 932:if(h.charCodeAt(4)===Q)switch(h.charCodeAt(5)){case 103:return N+\"box-\"+h.replace(\"-grow\",\"\")+N+h+F+h.replace(\"grow\",\"positive\")+h;case 115:return N+h+F+h.replace(\"shrink\",\"negative\")+h;case 98:return N+h+F+h.replace(\"basis\",\"preferred-size\")+h}return N+h+F+h+h;case 964:return N+h+F+\"flex-\"+h+h;case 1023:if(99!==h.charCodeAt(8))break;return l=h.substring(h.indexOf(\":\",15)).replace(\"flex-\",\"\").replace(\"space-between\",\"justify\"),N+\"box-pack\"+l+N+h+F+\"flex-pack\"+l+h;case 1005:return t.test(h)?h.replace(s,\":\"+N)+h.replace(s,\":\"+S)+h:h;case 1e3:switch(o=(l=h.substring(13).trim()).indexOf(\"-\")+1,l.charCodeAt(0)+l.charCodeAt(o)){case 226:l=h.replace(m,\"tb\");break;case 232:l=h.replace(m,\"tb-rl\");break;case 220:l=h.replace(m,\"lr\");break;default:return h}return N+h+F+l+h;case 1017:if(-1===h.indexOf(\"sticky\",9))return h;case 975:switch(o=(h=e).length-10,u=(l=(33===h.charCodeAt(o)?h.substring(0,o):h).substring(e.indexOf(\":\",7)+1).trim()).charCodeAt(0)+(0|l.charCodeAt(7))){case 203:if(l.charCodeAt(8)<111)break;case 115:h=h.replace(l,N+l)+\";\"+h;break;case 207:case 102:h=h.replace(l,N+(u>102?\"inline-\":\"\")+\"box\")+\";\"+h.replace(l,N+l)+\";\"+h.replace(l,F+l+\"box\")+\";\"+h}return h+\";\";case 938:if(h.charCodeAt(5)===Q)switch(h.charCodeAt(6)){case 105:return l=h.replace(\"-items\",\"\"),N+h+N+\"box-\"+l+F+\"flex-\"+l+h;case 115:return N+h+F+\"flex-item-\"+h.replace(y,\"\")+h;default:return N+h+F+\"flex-line-pack\"+h.replace(\"align-content\",\"\").replace(y,\"\")+h}break;case 973:case 989:if(h.charCodeAt(3)!==Q||122===h.charCodeAt(4))break;case 931:case 953:if(true===j.test(e))if(115===(l=e.substring(e.indexOf(\":\")+1)).charCodeAt(0))return Ke(e.replace(\"stretch\",\"fill-available\"),a,r,c).replace(\":fill-available\",\":stretch\");else return h.replace(l,N+l)+h.replace(l,S+l.replace(\"fill-\",\"\"))+h;break;case 962:if(h=N+h+(102===h.charCodeAt(5)?F+h:\"\")+h,r+c===211&&105===h.charCodeAt(13)&&h.indexOf(\"transform\",10)>0)return h.substring(0,h.indexOf(\";\",27)+1).replace(i,\"$1\"+N+\"$2\")+h}return h}function Le(e,a){var r=e.indexOf(1===a?\":\":\"{\"),c=e.substring(0,3!==a?r:10),s=e.substring(r+1,e.length-1);return Oe(2!==a?c:c.replace(O,\"$1\"),s,a)}function Me(e,a){var r=Ke(a,a.charCodeAt(0),a.charCodeAt(1),a.charCodeAt(2));return r!==a+\";\"?r.replace($,\" or ($1)\").substring(4):\"(\"+a+\")\"}function Pe(e,a,r,c,s,t,i,f,n,l){for(var o,h=0,u=a;h0)De=s.replace(d,t===G?\"\":\"-\");if(t=1,1===ge)Ge=s;else Ee=s;var i,f=[Ge];if(ye>0)if(void 0!==(i=Pe(ze,r,f,f,pe,be,0,0,0,0))&&\"string\"==typeof i)r=i;var n=He(xe,f,r,0,0);if(ye>0)if(void 0!==(i=Pe(je,n,f,f,pe,be,n.length,0,0,0))&&\"string\"!=typeof(n=i))t=0;return De=\"\",Ge=\"\",Ee=\"\",ke=0,pe=1,be=1,we*t==0?n:n.replace(c,\"\").replace(g,\"\").replace(A,\"$1\").replace(C,\"$1\").replace(w,\" \")}if(Te.use=function e(a){switch(a){case void 0:case null:ye=$e.length=0;break;default:if(\"function\"==typeof a)$e[ye++]=a;else if(\"object\"==typeof a)for(var r=0,c=a.length;r 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","\"use strict\";\nfunction __export(m) {\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\n}\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__export(require(\"./ReactSimpleImageViewer\"));\n//# sourceMappingURL=index.js.map","(function (factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? (module['exports'] = factory()) :\n\t\ttypeof define === 'function' && define['amd'] ? define(factory()) :\n\t\t\t(window['stylisRuleSheet'] = factory())\n}(function () {\n\n\t'use strict'\n\n\treturn function (insertRule) {\n\t\tvar delimiter = '/*|*/'\n\t\tvar needle = delimiter+'}'\n\n\t\tfunction toSheet (block) {\n\t\t\tif (block)\n\t\t\t\ttry {\n\t\t\t\t\tinsertRule(block + '}')\n\t\t\t\t} catch (e) {}\n\t\t}\n\n\t\treturn function ruleSheet (context, content, selectors, parents, line, column, length, ns, depth, at) {\n\t\t\tswitch (context) {\n\t\t\t\t// property\n\t\t\t\tcase 1:\n\t\t\t\t\t// @import\n\t\t\t\t\tif (depth === 0 && content.charCodeAt(0) === 64)\n\t\t\t\t\t\treturn insertRule(content+';'), ''\n\t\t\t\t\tbreak\n\t\t\t\t// selector\n\t\t\t\tcase 2:\n\t\t\t\t\tif (ns === 0)\n\t\t\t\t\t\treturn content + delimiter\n\t\t\t\t\tbreak\n\t\t\t\t// at-rule\n\t\t\t\tcase 3:\n\t\t\t\t\tswitch (ns) {\n\t\t\t\t\t\t// @font-face, @page\n\t\t\t\t\t\tcase 102:\n\t\t\t\t\t\tcase 112:\n\t\t\t\t\t\t\treturn insertRule(selectors[0]+content), ''\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\treturn content + (at === 0 ? delimiter : '')\n\t\t\t\t\t}\n\t\t\t\tcase -2:\n\t\t\t\t\tcontent.split(needle).forEach(toSheet)\n\t\t\t}\n\t\t}\n\t}\n}))\n","var unitlessKeys = {\n animationIterationCount: 1,\n borderImageOutset: 1,\n borderImageSlice: 1,\n borderImageWidth: 1,\n boxFlex: 1,\n boxFlexGroup: 1,\n boxOrdinalGroup: 1,\n columnCount: 1,\n columns: 1,\n flex: 1,\n flexGrow: 1,\n flexPositive: 1,\n flexShrink: 1,\n flexNegative: 1,\n flexOrder: 1,\n gridRow: 1,\n gridRowEnd: 1,\n gridRowSpan: 1,\n gridRowStart: 1,\n gridColumn: 1,\n gridColumnEnd: 1,\n gridColumnSpan: 1,\n gridColumnStart: 1,\n msGridRow: 1,\n msGridRowSpan: 1,\n msGridColumn: 1,\n msGridColumnSpan: 1,\n fontWeight: 1,\n lineHeight: 1,\n opacity: 1,\n order: 1,\n orphans: 1,\n tabSize: 1,\n widows: 1,\n zIndex: 1,\n zoom: 1,\n WebkitLineClamp: 1,\n // SVG-related properties\n fillOpacity: 1,\n floodOpacity: 1,\n stopOpacity: 1,\n strokeDasharray: 1,\n strokeDashoffset: 1,\n strokeMiterlimit: 1,\n strokeOpacity: 1,\n strokeWidth: 1\n};\n\nexport default unitlessKeys;\n","/*! smooth-scroll v16.1.3 | (c) 2020 Chris Ferdinandi | MIT License | http://github.com/cferdinandi/smooth-scroll */\nwindow.Element&&!Element.prototype.closest&&(Element.prototype.closest=function(e){var t,n=(this.document||this.ownerDocument).querySelectorAll(e),o=this;do{for(t=n.length;0<=--t&&n.item(t)!==o;);}while(t<0&&(o=o.parentElement));return o}),(function(){if(\"function\"==typeof window.CustomEvent)return;function e(e,t){t=t||{bubbles:!1,cancelable:!1,detail:void 0};var n=document.createEvent(\"CustomEvent\");return n.initCustomEvent(e,t.bubbles,t.cancelable,t.detail),n}e.prototype=window.Event.prototype,window.CustomEvent=e})(),(function(){for(var r=0,e=[\"ms\",\"moz\",\"webkit\",\"o\"],t=0;to.durationMax?o.durationMax:o.durationMin&&u=v)return C.cancelScroll(!0),x(a,t,c),H(\"scrollStop\",i,a,r),!(O=l=null)})(d,g)||(O=M.requestAnimationFrame(E),l=e)};0===M.pageYOffset&&M.scrollTo(0,0),f=a,h=i,c||history.pushState&&h.updateURL&&history.pushState({smoothScroll:JSON.stringify(h),anchor:f.id},document.title,f===document.documentElement?\"#top\":\"#\"+f.id),\"matchMedia\"in M&&M.matchMedia(\"(prefers-reduced-motion)\").matches?x(a,Math.floor(g),!1):(H(\"scrollStart\",i,a,r),C.cancelScroll(!0),M.requestAnimationFrame(E))}};var t=function(e){if(!e.defaultPrevented&&!(0!==e.button||e.metaKey||e.ctrlKey||e.shiftKey)&&\"closest\"in e.target&&(a=e.target.closest(o))&&\"a\"===a.tagName.toLowerCase()&&!e.target.closest(b.ignore)&&a.hostname===M.location.hostname&&a.pathname===M.location.pathname&&/#/.test(a.href)){var t,n;try{t=r(decodeURIComponent(a.hash))}catch(e){t=r(a.hash)}if(\"#\"===t){if(!b.topOnEmptyHash)return;n=document.documentElement}else n=document.querySelector(t);(n=n||\"#top\"!==t?n:document.documentElement)&&(e.preventDefault(),(function(e){if(history.replaceState&&e.updateURL&&!history.state){var t=M.location.hash;t=t||\"\",history.replaceState({smoothScroll:JSON.stringify(e),anchor:t||M.pageYOffset},document.title,t||M.location.href)}})(b),C.animateScroll(n,a))}},n=function(e){if(null!==history.state&&history.state.smoothScroll&&history.state.smoothScroll===JSON.stringify(b)){var t=history.state.anchor;\"string\"==typeof t&&t&&!(t=document.querySelector(r(history.state.anchor)))||C.animateScroll(t,null,{updateURL:!1})}};C.destroy=function(){b&&(document.removeEventListener(\"click\",t,!1),M.removeEventListener(\"popstate\",n,!1),C.cancelScroll(),O=A=a=b=null)};return (function(){if(!(\"querySelector\"in document&&\"addEventListener\"in M&&\"requestAnimationFrame\"in M&&\"closest\"in M.Element.prototype))throw\"Smooth Scroll: This browser does not support the required JavaScript methods and browser APIs.\";C.destroy(),b=I(q,e||{}),A=b.header?document.querySelector(b.header):null,document.addEventListener(\"click\",t,!1),b.updateURL&&b.popstate&&M.addEventListener(\"popstate\",n,!1)})(),C}}));","function memoize(fn) {\n var cache = {};\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\nexport default memoize;\n","import memoize from '@emotion/memoize';\n\nvar reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|inert|itemProp|itemScope|itemType|itemID|itemRef|on|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/; // https://esbench.com/bench/5bfee68a4cd7e6009ef61d23\n\nvar index = memoize(function (prop) {\n return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111\n /* o */\n && prop.charCodeAt(1) === 110\n /* n */\n && prop.charCodeAt(2) < 91;\n}\n/* Z+1 */\n);\n\nexport default index;\n","/**\r\n * Returns the object type of the given payload\r\n *\r\n * @param {*} payload\r\n * @returns {string}\r\n */\r\nfunction getType(payload) {\r\n return Object.prototype.toString.call(payload).slice(8, -1);\r\n}\r\n/**\r\n * Returns whether the payload is undefined\r\n *\r\n * @param {*} payload\r\n * @returns {payload is undefined}\r\n */\r\nfunction isUndefined(payload) {\r\n return getType(payload) === 'Undefined';\r\n}\r\n/**\r\n * Returns whether the payload is null\r\n *\r\n * @param {*} payload\r\n * @returns {payload is null}\r\n */\r\nfunction isNull(payload) {\r\n return getType(payload) === 'Null';\r\n}\r\n/**\r\n * Returns whether the payload is a plain JavaScript object (excluding special classes or objects with other prototypes)\r\n *\r\n * @param {*} payload\r\n * @returns {payload is PlainObject}\r\n */\r\nfunction isPlainObject(payload) {\r\n if (getType(payload) !== 'Object')\r\n return false;\r\n return payload.constructor === Object && Object.getPrototypeOf(payload) === Object.prototype;\r\n}\r\n/**\r\n * Returns whether the payload is a plain JavaScript object (excluding special classes or objects with other prototypes)\r\n *\r\n * @param {*} payload\r\n * @returns {payload is PlainObject}\r\n */\r\nfunction isObject(payload) {\r\n return isPlainObject(payload);\r\n}\r\n/**\r\n * Returns whether the payload is a an empty object (excluding special classes or objects with other prototypes)\r\n *\r\n * @param {*} payload\r\n * @returns {payload is { [K in any]: never }}\r\n */\r\nfunction isEmptyObject(payload) {\r\n return isPlainObject(payload) && Object.keys(payload).length === 0;\r\n}\r\n/**\r\n * Returns whether the payload is a an empty object (excluding special classes or objects with other prototypes)\r\n *\r\n * @param {*} payload\r\n * @returns {payload is PlainObject}\r\n */\r\nfunction isFullObject(payload) {\r\n return isPlainObject(payload) && Object.keys(payload).length > 0;\r\n}\r\n/**\r\n * Returns whether the payload is an any kind of object (including special classes or objects with different prototypes)\r\n *\r\n * @param {*} payload\r\n * @returns {payload is PlainObject}\r\n */\r\nfunction isAnyObject(payload) {\r\n return getType(payload) === 'Object';\r\n}\r\n/**\r\n * Returns whether the payload is an object like a type passed in < >\r\n *\r\n * Usage: isObjectLike<{id: any}>(payload) // will make sure it's an object and has an `id` prop.\r\n *\r\n * @template T this must be passed in < >\r\n * @param {*} payload\r\n * @returns {payload is T}\r\n */\r\nfunction isObjectLike(payload) {\r\n return isAnyObject(payload);\r\n}\r\n/**\r\n * Returns whether the payload is a function (regular or async)\r\n *\r\n * @param {*} payload\r\n * @returns {payload is AnyFunction}\r\n */\r\nfunction isFunction(payload) {\r\n return typeof payload === 'function';\r\n}\r\n/**\r\n * Returns whether the payload is an array\r\n *\r\n * @param {any} payload\r\n * @returns {payload is any[]}\r\n */\r\nfunction isArray(payload) {\r\n return getType(payload) === 'Array';\r\n}\r\n/**\r\n * Returns whether the payload is a an array with at least 1 item\r\n *\r\n * @param {*} payload\r\n * @returns {payload is any[]}\r\n */\r\nfunction isFullArray(payload) {\r\n return isArray(payload) && payload.length > 0;\r\n}\r\n/**\r\n * Returns whether the payload is a an empty array\r\n *\r\n * @param {*} payload\r\n * @returns {payload is []}\r\n */\r\nfunction isEmptyArray(payload) {\r\n return isArray(payload) && payload.length === 0;\r\n}\r\n/**\r\n * Returns whether the payload is a string\r\n *\r\n * @param {*} payload\r\n * @returns {payload is string}\r\n */\r\nfunction isString(payload) {\r\n return getType(payload) === 'String';\r\n}\r\n/**\r\n * Returns whether the payload is a string, BUT returns false for ''\r\n *\r\n * @param {*} payload\r\n * @returns {payload is string}\r\n */\r\nfunction isFullString(payload) {\r\n return isString(payload) && payload !== '';\r\n}\r\n/**\r\n * Returns whether the payload is ''\r\n *\r\n * @param {*} payload\r\n * @returns {payload is string}\r\n */\r\nfunction isEmptyString(payload) {\r\n return payload === '';\r\n}\r\n/**\r\n * Returns whether the payload is a number (but not NaN)\r\n *\r\n * This will return `false` for `NaN`!!\r\n *\r\n * @param {*} payload\r\n * @returns {payload is number}\r\n */\r\nfunction isNumber(payload) {\r\n return getType(payload) === 'Number' && !isNaN(payload);\r\n}\r\n/**\r\n * Returns whether the payload is a boolean\r\n *\r\n * @param {*} payload\r\n * @returns {payload is boolean}\r\n */\r\nfunction isBoolean(payload) {\r\n return getType(payload) === 'Boolean';\r\n}\r\n/**\r\n * Returns whether the payload is a regular expression (RegExp)\r\n *\r\n * @param {*} payload\r\n * @returns {payload is RegExp}\r\n */\r\nfunction isRegExp(payload) {\r\n return getType(payload) === 'RegExp';\r\n}\r\n/**\r\n * Returns whether the payload is a Map\r\n *\r\n * @param {*} payload\r\n * @returns {payload is Map}\r\n */\r\nfunction isMap(payload) {\r\n return getType(payload) === 'Map';\r\n}\r\n/**\r\n * Returns whether the payload is a WeakMap\r\n *\r\n * @param {*} payload\r\n * @returns {payload is WeakMap}\r\n */\r\nfunction isWeakMap(payload) {\r\n return getType(payload) === 'WeakMap';\r\n}\r\n/**\r\n * Returns whether the payload is a Set\r\n *\r\n * @param {*} payload\r\n * @returns {payload is Set}\r\n */\r\nfunction isSet(payload) {\r\n return getType(payload) === 'Set';\r\n}\r\n/**\r\n * Returns whether the payload is a WeakSet\r\n *\r\n * @param {*} payload\r\n * @returns {payload is WeakSet}\r\n */\r\nfunction isWeakSet(payload) {\r\n return getType(payload) === 'WeakSet';\r\n}\r\n/**\r\n * Returns whether the payload is a Symbol\r\n *\r\n * @param {*} payload\r\n * @returns {payload is symbol}\r\n */\r\nfunction isSymbol(payload) {\r\n return getType(payload) === 'Symbol';\r\n}\r\n/**\r\n * Returns whether the payload is a Date, and that the date is valid\r\n *\r\n * @param {*} payload\r\n * @returns {payload is Date}\r\n */\r\nfunction isDate(payload) {\r\n return getType(payload) === 'Date' && !isNaN(payload);\r\n}\r\n/**\r\n * Returns whether the payload is a Blob\r\n *\r\n * @param {*} payload\r\n * @returns {payload is Blob}\r\n */\r\nfunction isBlob(payload) {\r\n return getType(payload) === 'Blob';\r\n}\r\n/**\r\n * Returns whether the payload is a File\r\n *\r\n * @param {*} payload\r\n * @returns {payload is File}\r\n */\r\nfunction isFile(payload) {\r\n return getType(payload) === 'File';\r\n}\r\n/**\r\n * Returns whether the payload is a Promise\r\n *\r\n * @param {*} payload\r\n * @returns {payload is Promise}\r\n */\r\nfunction isPromise(payload) {\r\n return getType(payload) === 'Promise';\r\n}\r\n/**\r\n * Returns whether the payload is an Error\r\n *\r\n * @param {*} payload\r\n * @returns {payload is Error}\r\n */\r\nfunction isError(payload) {\r\n return getType(payload) === 'Error';\r\n}\r\n/**\r\n * Returns whether the payload is literally the value `NaN` (it's `NaN` and also a `number`)\r\n *\r\n * @param {*} payload\r\n * @returns {payload is typeof NaN}\r\n */\r\nfunction isNaNValue(payload) {\r\n return getType(payload) === 'Number' && isNaN(payload);\r\n}\r\n/**\r\n * Returns whether the payload is a primitive type (eg. Boolean | Null | Undefined | Number | String | Symbol)\r\n *\r\n * @param {*} payload\r\n * @returns {(payload is boolean | null | undefined | number | string | symbol)}\r\n */\r\nfunction isPrimitive(payload) {\r\n return (isBoolean(payload) ||\r\n isNull(payload) ||\r\n isUndefined(payload) ||\r\n isNumber(payload) ||\r\n isString(payload) ||\r\n isSymbol(payload));\r\n}\r\n/**\r\n * Returns true whether the payload is null or undefined\r\n *\r\n * @param {*} payload\r\n * @returns {(payload is null | undefined)}\r\n */\r\nvar isNullOrUndefined = isOneOf(isNull, isUndefined);\r\nfunction isOneOf(a, b, c, d, e) {\r\n return function (value) {\r\n return a(value) || b(value) || (!!c && c(value)) || (!!d && d(value)) || (!!e && e(value));\r\n };\r\n}\r\n/**\r\n * Does a generic check to check that the given payload is of a given type.\r\n * In cases like Number, it will return true for NaN as NaN is a Number (thanks javascript!);\r\n * It will, however, differentiate between object and null\r\n *\r\n * @template T\r\n * @param {*} payload\r\n * @param {T} type\r\n * @throws {TypeError} Will throw type error if type is an invalid type\r\n * @returns {payload is T}\r\n */\r\nfunction isType(payload, type) {\r\n if (!(type instanceof Function)) {\r\n throw new TypeError('Type must be a function');\r\n }\r\n if (!Object.prototype.hasOwnProperty.call(type, 'prototype')) {\r\n throw new TypeError('Type is not a class');\r\n }\r\n // Classes usually have names (as functions usually have names)\r\n var name = type.name;\r\n return getType(payload) === name || Boolean(payload && payload.constructor === type);\r\n}\n\nexport { getType, isAnyObject, isArray, isBlob, isBoolean, isDate, isEmptyArray, isEmptyObject, isEmptyString, isError, isFile, isFullArray, isFullObject, isFullString, isFunction, isMap, isNaNValue, isNull, isNullOrUndefined, isNumber, isObject, isObjectLike, isOneOf, isPlainObject, isPrimitive, isPromise, isRegExp, isSet, isString, isSymbol, isType, isUndefined, isWeakMap, isWeakSet };\n","import { isPlainObject, isArray, isSymbol } from 'is-what';\n\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n\r\nfunction __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\n\nfunction assignProp(carry, key, newVal, originalObject) {\r\n var propType = originalObject.propertyIsEnumerable(key)\r\n ? 'enumerable'\r\n : 'nonenumerable';\r\n if (propType === 'enumerable')\r\n carry[key] = newVal;\r\n if (propType === 'nonenumerable') {\r\n Object.defineProperty(carry, key, {\r\n value: newVal,\r\n enumerable: false,\r\n writable: true,\r\n configurable: true\r\n });\r\n }\r\n}\r\nfunction mergeRecursively(origin, newComer, extensions) {\r\n // work directly on newComer if its not an object\r\n if (!isPlainObject(newComer)) {\r\n // extend merge rules\r\n if (extensions && isArray(extensions)) {\r\n extensions.forEach(function (extend) {\r\n newComer = extend(origin, newComer);\r\n });\r\n }\r\n return newComer;\r\n }\r\n // define newObject to merge all values upon\r\n var newObject = {};\r\n if (isPlainObject(origin)) {\r\n var props_1 = Object.getOwnPropertyNames(origin);\r\n var symbols_1 = Object.getOwnPropertySymbols(origin);\r\n newObject = __spreadArrays(props_1, symbols_1).reduce(function (carry, key) {\r\n // @ts-ignore\r\n var targetVal = origin[key];\r\n if ((!isSymbol(key) && !Object.getOwnPropertyNames(newComer).includes(key)) ||\r\n (isSymbol(key) && !Object.getOwnPropertySymbols(newComer).includes(key))) {\r\n assignProp(carry, key, targetVal, origin);\r\n }\r\n return carry;\r\n }, {});\r\n }\r\n var props = Object.getOwnPropertyNames(newComer);\r\n var symbols = Object.getOwnPropertySymbols(newComer);\r\n var result = __spreadArrays(props, symbols).reduce(function (carry, key) {\r\n // re-define the origin and newComer as targetVal and newVal\r\n var newVal = newComer[key];\r\n var targetVal = (isPlainObject(origin))\r\n // @ts-ignore\r\n ? origin[key]\r\n : undefined;\r\n // extend merge rules\r\n if (extensions && isArray(extensions)) {\r\n extensions.forEach(function (extend) {\r\n newVal = extend(targetVal, newVal);\r\n });\r\n }\r\n // When newVal is an object do the merge recursively\r\n if (targetVal !== undefined && isPlainObject(newVal)) {\r\n newVal = mergeRecursively(targetVal, newVal, extensions);\r\n }\r\n assignProp(carry, key, newVal, newComer);\r\n return carry;\r\n }, newObject);\r\n return result;\r\n}\r\n/**\r\n * Merge anything recursively.\r\n * Objects get merged, special objects (classes etc.) are re-assigned \"as is\".\r\n * Basic types overwrite objects or other basic types.\r\n *\r\n * @param {(IConfig | any)} origin\r\n * @param {...any[]} newComers\r\n * @returns the result\r\n */\r\nfunction merge(origin) {\r\n var newComers = [];\r\n for (var _i = 1; _i < arguments.length; _i++) {\r\n newComers[_i - 1] = arguments[_i];\r\n }\r\n var extensions = null;\r\n var base = origin;\r\n if (isPlainObject(origin) && origin.extensions && Object.keys(origin).length === 1) {\r\n base = {};\r\n extensions = origin.extensions;\r\n }\r\n return newComers.reduce(function (result, newComer) {\r\n return mergeRecursively(result, newComer, extensions);\r\n }, base);\r\n}\n\nfunction concatArrays(originVal, newVal) {\r\n if (isArray(originVal) && isArray(newVal)) {\r\n // concat logic\r\n return originVal.concat(newVal);\r\n }\r\n return newVal; // always return newVal as fallback!!\r\n}\n\nexport default merge;\nexport { concatArrays, merge };\n","/** @license React v17.0.2\n * react.production.min.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'use strict';var l=require(\"object-assign\"),n=60103,p=60106;exports.Fragment=60107;exports.StrictMode=60108;exports.Profiler=60114;var q=60109,r=60110,t=60112;exports.Suspense=60113;var u=60115,v=60116;\nif(\"function\"===typeof Symbol&&Symbol.for){var w=Symbol.for;n=w(\"react.element\");p=w(\"react.portal\");exports.Fragment=w(\"react.fragment\");exports.StrictMode=w(\"react.strict_mode\");exports.Profiler=w(\"react.profiler\");q=w(\"react.provider\");r=w(\"react.context\");t=w(\"react.forward_ref\");exports.Suspense=w(\"react.suspense\");u=w(\"react.memo\");v=w(\"react.lazy\")}var x=\"function\"===typeof Symbol&&Symbol.iterator;\nfunction y(a){if(null===a||\"object\"!==typeof a)return null;a=x&&a[x]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}function z(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;cb}return!1}function B(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}var D={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){D[a]=new B(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];D[b]=new B(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){D[a]=new B(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){D[a]=new B(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){D[a]=new B(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){D[a]=new B(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){D[a]=new B(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){D[a]=new B(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){D[a]=new B(a,5,!1,a.toLowerCase(),null,!1,!1)});var oa=/[\\-:]([a-z])/g;function pa(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(oa,\npa);D[b]=new B(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(oa,pa);D[b]=new B(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(oa,pa);D[b]=new B(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){D[a]=new B(a,1,!1,a.toLowerCase(),null,!1,!1)});\nD.xlinkHref=new B(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){D[a]=new B(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction qa(a,b,c,d){var e=D.hasOwnProperty(b)?D[b]:null;var f=null!==e?0===e.type:d?!1:!(2h||e[g]!==f[h])return\"\\n\"+e[g].replace(\" at new \",\" at \");while(1<=g&&0<=h)}break}}}finally{Oa=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Na(a):\"\"}\nfunction Qa(a){switch(a.tag){case 5:return Na(a.type);case 16:return Na(\"Lazy\");case 13:return Na(\"Suspense\");case 19:return Na(\"SuspenseList\");case 0:case 2:case 15:return a=Pa(a.type,!1),a;case 11:return a=Pa(a.type.render,!1),a;case 22:return a=Pa(a.type._render,!1),a;case 1:return a=Pa(a.type,!0),a;default:return\"\"}}\nfunction Ra(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ua:return\"Fragment\";case ta:return\"Portal\";case xa:return\"Profiler\";case wa:return\"StrictMode\";case Ba:return\"Suspense\";case Ca:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case za:return(a.displayName||\"Context\")+\".Consumer\";case ya:return(a._context.displayName||\"Context\")+\".Provider\";case Aa:var b=a.render;b=b.displayName||b.name||\"\";\nreturn a.displayName||(\"\"!==b?\"ForwardRef(\"+b+\")\":\"ForwardRef\");case Da:return Ra(a.type);case Fa:return Ra(a._render);case Ea:b=a._payload;a=a._init;try{return Ra(a(b))}catch(c){}}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"object\":case \"string\":case \"undefined\":return a;default:return\"\"}}function Ta(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ua(a){var b=Ta(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Ta(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Xa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Ya(a,b){var c=b.checked;return m({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Za(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Sa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function $a(a,b){b=b.checked;null!=b&&qa(a,\"checked\",b,!1)}\nfunction ab(a,b){$a(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?bb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&bb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction cb(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction bb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}function db(a){var b=\"\";aa.Children.forEach(a,function(a){null!=a&&(b+=a)});return b}function eb(a,b){a=m({children:void 0},b);if(b=db(b.children))a.children=b;return a}\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e=c.length))throw Error(y(93));c=c[0]}b=c}null==b&&(b=\"\");c=b}a._wrapperState={initialValue:Sa(c)}}\nfunction ib(a,b){var c=Sa(b.value),d=Sa(b.defaultValue);null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=\"\"+d)}function jb(a){var b=a.textContent;b===a._wrapperState.initialValue&&\"\"!==b&&null!==b&&(a.value=b)}var kb={html:\"http://www.w3.org/1999/xhtml\",mathml:\"http://www.w3.org/1998/Math/MathML\",svg:\"http://www.w3.org/2000/svg\"};\nfunction lb(a){switch(a){case \"svg\":return\"http://www.w3.org/2000/svg\";case \"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}function mb(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?lb(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar nb,ob=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(a.namespaceURI!==kb.svg||\"innerHTML\"in a)a.innerHTML=b;else{nb=nb||document.createElement(\"div\");nb.innerHTML=\"\"+b.valueOf().toString()+\"\";for(b=nb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction pb(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar qb={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,\nfloodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},rb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(qb).forEach(function(a){rb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);qb[b]=qb[a]})});function sb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||qb.hasOwnProperty(a)&&qb[a]?(\"\"+b).trim():b+\"px\"}\nfunction tb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=sb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var ub=m({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction vb(a,b){if(b){if(ub[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(y(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(y(60));if(!(\"object\"===typeof b.dangerouslySetInnerHTML&&\"__html\"in b.dangerouslySetInnerHTML))throw Error(y(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(y(62));}}\nfunction wb(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}function xb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var yb=null,zb=null,Ab=null;\nfunction Bb(a){if(a=Cb(a)){if(\"function\"!==typeof yb)throw Error(y(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;ad?0:1<c;c++)b.push(a);return b}\nfunction $c(a,b,c){a.pendingLanes|=b;var d=b-1;a.suspendedLanes&=d;a.pingedLanes&=d;a=a.eventTimes;b=31-Vc(b);a[b]=c}var Vc=Math.clz32?Math.clz32:ad,bd=Math.log,cd=Math.LN2;function ad(a){return 0===a?32:31-(bd(a)/cd|0)|0}var dd=r.unstable_UserBlockingPriority,ed=r.unstable_runWithPriority,fd=!0;function gd(a,b,c,d){Kb||Ib();var e=hd,f=Kb;Kb=!0;try{Hb(e,a,b,c,d)}finally{(Kb=f)||Mb()}}function id(a,b,c,d){ed(dd,hd.bind(null,a,b,c,d))}\nfunction hd(a,b,c,d){if(fd){var e;if((e=0===(b&4))&&0=be),ee=String.fromCharCode(32),fe=!1;\nfunction ge(a,b){switch(a){case \"keyup\":return-1!==$d.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function he(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var ie=!1;function je(a,b){switch(a){case \"compositionend\":return he(b);case \"keypress\":if(32!==b.which)return null;fe=!0;return ee;case \"textInput\":return a=b.data,a===ee&&fe?null:a;default:return null}}\nfunction ke(a,b){if(ie)return\"compositionend\"===a||!ae&&ge(a,b)?(a=nd(),md=ld=kd=null,ie=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Ke(c)}}function Me(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Me(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Ne(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Xa(a.document)}return b}function Oe(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nvar Pe=fa&&\"documentMode\"in document&&11>=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;\nfunction Ue(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Te||null==Qe||Qe!==Xa(d)||(d=Qe,\"selectionStart\"in d&&Oe(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Se&&Je(Se,d)||(Se=d,d=oe(Re,\"onSelect\"),0Af||(a.current=zf[Af],zf[Af]=null,Af--)}function I(a,b){Af++;zf[Af]=a.current;a.current=b}var Cf={},M=Bf(Cf),N=Bf(!1),Df=Cf;\nfunction Ef(a,b){var c=a.type.contextTypes;if(!c)return Cf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}function Ff(a){a=a.childContextTypes;return null!==a&&void 0!==a}function Gf(){H(N);H(M)}function Hf(a,b,c){if(M.current!==Cf)throw Error(y(168));I(M,b);I(N,c)}\nfunction If(a,b,c){var d=a.stateNode;a=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in a))throw Error(y(108,Ra(b)||\"Unknown\",e));return m({},c,d)}function Jf(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Cf;Df=M.current;I(M,a);I(N,N.current);return!0}function Kf(a,b,c){var d=a.stateNode;if(!d)throw Error(y(169));c?(a=If(a,b,Df),d.__reactInternalMemoizedMergedChildContext=a,H(N),H(M),I(M,a)):H(N);I(N,c)}\nvar Lf=null,Mf=null,Nf=r.unstable_runWithPriority,Of=r.unstable_scheduleCallback,Pf=r.unstable_cancelCallback,Qf=r.unstable_shouldYield,Rf=r.unstable_requestPaint,Sf=r.unstable_now,Tf=r.unstable_getCurrentPriorityLevel,Uf=r.unstable_ImmediatePriority,Vf=r.unstable_UserBlockingPriority,Wf=r.unstable_NormalPriority,Xf=r.unstable_LowPriority,Yf=r.unstable_IdlePriority,Zf={},$f=void 0!==Rf?Rf:function(){},ag=null,bg=null,cg=!1,dg=Sf(),O=1E4>dg?Sf:function(){return Sf()-dg};\nfunction eg(){switch(Tf()){case Uf:return 99;case Vf:return 98;case Wf:return 97;case Xf:return 96;case Yf:return 95;default:throw Error(y(332));}}function fg(a){switch(a){case 99:return Uf;case 98:return Vf;case 97:return Wf;case 96:return Xf;case 95:return Yf;default:throw Error(y(332));}}function gg(a,b){a=fg(a);return Nf(a,b)}function hg(a,b,c){a=fg(a);return Of(a,b,c)}function ig(){if(null!==bg){var a=bg;bg=null;Pf(a)}jg()}\nfunction jg(){if(!cg&&null!==ag){cg=!0;var a=0;try{var b=ag;gg(99,function(){for(;az?(q=u,u=null):q=u.sibling;var n=p(e,u,h[z],k);if(null===n){null===u&&(u=q);break}a&&u&&null===\nn.alternate&&b(e,u);g=f(n,g,z);null===t?l=n:t.sibling=n;t=n;u=q}if(z===h.length)return c(e,u),l;if(null===u){for(;zz?(q=u,u=null):q=u.sibling;var w=p(e,u,n.value,k);if(null===w){null===u&&(u=q);break}a&&u&&null===w.alternate&&b(e,u);g=f(w,g,z);null===t?l=w:t.sibling=w;t=w;u=q}if(n.done)return c(e,u),l;if(null===u){for(;!n.done;z++,n=h.next())n=A(e,n.value,k),null!==n&&(g=f(n,g,z),null===t?l=n:t.sibling=n,t=n);return l}for(u=d(e,u);!n.done;z++,n=h.next())n=C(u,e,z,n.value,k),null!==n&&(a&&null!==n.alternate&&\nu.delete(null===n.key?z:n.key),g=f(n,g,z),null===t?l=n:t.sibling=n,t=n);a&&u.forEach(function(a){return b(e,a)});return l}return function(a,d,f,h){var k=\"object\"===typeof f&&null!==f&&f.type===ua&&null===f.key;k&&(f=f.props.children);var l=\"object\"===typeof f&&null!==f;if(l)switch(f.$$typeof){case sa:a:{l=f.key;for(k=d;null!==k;){if(k.key===l){switch(k.tag){case 7:if(f.type===ua){c(a,k.sibling);d=e(k,f.props.children);d.return=a;a=d;break a}break;default:if(k.elementType===f.type){c(a,k.sibling);\nd=e(k,f.props);d.ref=Qg(a,k,f);d.return=a;a=d;break a}}c(a,k);break}else b(a,k);k=k.sibling}f.type===ua?(d=Xg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Vg(f.type,f.key,f.props,null,a.mode,h),h.ref=Qg(a,d,f),h.return=a,a=h)}return g(a);case ta:a:{for(k=f.key;null!==d;){if(d.key===k)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=\nWg(f,a.mode,h);d.return=a;a=d}return g(a)}if(\"string\"===typeof f||\"number\"===typeof f)return f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):(c(a,d),d=Ug(f,a.mode,h),d.return=a,a=d),g(a);if(Pg(f))return x(a,d,f,h);if(La(f))return w(a,d,f,h);l&&Rg(a,f);if(\"undefined\"===typeof f&&!k)switch(a.tag){case 1:case 22:case 0:case 11:case 15:throw Error(y(152,Ra(a.type)||\"Component\"));}return c(a,d)}}var Yg=Sg(!0),Zg=Sg(!1),$g={},ah=Bf($g),bh=Bf($g),ch=Bf($g);\nfunction dh(a){if(a===$g)throw Error(y(174));return a}function eh(a,b){I(ch,b);I(bh,a);I(ah,$g);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:mb(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=mb(b,a)}H(ah);I(ah,b)}function fh(){H(ah);H(bh);H(ch)}function gh(a){dh(ch.current);var b=dh(ah.current);var c=mb(b,a.type);b!==c&&(I(bh,a),I(ah,c))}function hh(a){bh.current===a&&(H(ah),H(bh))}var P=Bf(0);\nfunction ih(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||\"$?\"===c.data||\"$!\"===c.data))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.flags&64))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}var jh=null,kh=null,lh=!1;\nfunction mh(a,b){var c=nh(5,null,null,0);c.elementType=\"DELETED\";c.type=\"DELETED\";c.stateNode=b;c.return=a;c.flags=8;null!==a.lastEffect?(a.lastEffect.nextEffect=c,a.lastEffect=c):a.firstEffect=a.lastEffect=c}function oh(a,b){switch(a.tag){case 5:var c=a.type;b=1!==b.nodeType||c.toLowerCase()!==b.nodeName.toLowerCase()?null:b;return null!==b?(a.stateNode=b,!0):!1;case 6:return b=\"\"===a.pendingProps||3!==b.nodeType?null:b,null!==b?(a.stateNode=b,!0):!1;case 13:return!1;default:return!1}}\nfunction ph(a){if(lh){var b=kh;if(b){var c=b;if(!oh(a,b)){b=rf(c.nextSibling);if(!b||!oh(a,b)){a.flags=a.flags&-1025|2;lh=!1;jh=a;return}mh(jh,c)}jh=a;kh=rf(b.firstChild)}else a.flags=a.flags&-1025|2,lh=!1,jh=a}}function qh(a){for(a=a.return;null!==a&&5!==a.tag&&3!==a.tag&&13!==a.tag;)a=a.return;jh=a}\nfunction rh(a){if(a!==jh)return!1;if(!lh)return qh(a),lh=!0,!1;var b=a.type;if(5!==a.tag||\"head\"!==b&&\"body\"!==b&&!nf(b,a.memoizedProps))for(b=kh;b;)mh(a,b),b=rf(b.nextSibling);qh(a);if(13===a.tag){a=a.memoizedState;a=null!==a?a.dehydrated:null;if(!a)throw Error(y(317));a:{a=a.nextSibling;for(b=0;a;){if(8===a.nodeType){var c=a.data;if(\"/$\"===c){if(0===b){kh=rf(a.nextSibling);break a}b--}else\"$\"!==c&&\"$!\"!==c&&\"$?\"!==c||b++}a=a.nextSibling}kh=null}}else kh=jh?rf(a.stateNode.nextSibling):null;return!0}\nfunction sh(){kh=jh=null;lh=!1}var th=[];function uh(){for(var a=0;af))throw Error(y(301));f+=1;T=S=null;b.updateQueue=null;vh.current=Fh;a=c(d,e)}while(zh)}vh.current=Gh;b=null!==S&&null!==S.next;xh=0;T=S=R=null;yh=!1;if(b)throw Error(y(300));return a}function Hh(){var a={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};null===T?R.memoizedState=T=a:T=T.next=a;return T}\nfunction Ih(){if(null===S){var a=R.alternate;a=null!==a?a.memoizedState:null}else a=S.next;var b=null===T?R.memoizedState:T.next;if(null!==b)T=b,S=a;else{if(null===a)throw Error(y(310));S=a;a={memoizedState:S.memoizedState,baseState:S.baseState,baseQueue:S.baseQueue,queue:S.queue,next:null};null===T?R.memoizedState=T=a:T=T.next=a}return T}function Jh(a,b){return\"function\"===typeof b?b(a):b}\nfunction Kh(a){var b=Ih(),c=b.queue;if(null===c)throw Error(y(311));c.lastRenderedReducer=a;var d=S,e=d.baseQueue,f=c.pending;if(null!==f){if(null!==e){var g=e.next;e.next=f.next;f.next=g}d.baseQueue=e=f;c.pending=null}if(null!==e){e=e.next;d=d.baseState;var h=g=f=null,k=e;do{var l=k.lane;if((xh&l)===l)null!==h&&(h=h.next={lane:0,action:k.action,eagerReducer:k.eagerReducer,eagerState:k.eagerState,next:null}),d=k.eagerReducer===a?k.eagerState:a(d,k.action);else{var n={lane:l,action:k.action,eagerReducer:k.eagerReducer,\neagerState:k.eagerState,next:null};null===h?(g=h=n,f=d):h=h.next=n;R.lanes|=l;Dg|=l}k=k.next}while(null!==k&&k!==e);null===h?f=d:h.next=g;He(d,b.memoizedState)||(ug=!0);b.memoizedState=d;b.baseState=f;b.baseQueue=h;c.lastRenderedState=d}return[b.memoizedState,c.dispatch]}\nfunction Lh(a){var b=Ih(),c=b.queue;if(null===c)throw Error(y(311));c.lastRenderedReducer=a;var d=c.dispatch,e=c.pending,f=b.memoizedState;if(null!==e){c.pending=null;var g=e=e.next;do f=a(f,g.action),g=g.next;while(g!==e);He(f,b.memoizedState)||(ug=!0);b.memoizedState=f;null===b.baseQueue&&(b.baseState=f);c.lastRenderedState=f}return[f,d]}\nfunction Mh(a,b,c){var d=b._getVersion;d=d(b._source);var e=b._workInProgressVersionPrimary;if(null!==e)a=e===d;else if(a=a.mutableReadLanes,a=(xh&a)===a)b._workInProgressVersionPrimary=d,th.push(b);if(a)return c(b._source);th.push(b);throw Error(y(350));}\nfunction Nh(a,b,c,d){var e=U;if(null===e)throw Error(y(349));var f=b._getVersion,g=f(b._source),h=vh.current,k=h.useState(function(){return Mh(e,b,c)}),l=k[1],n=k[0];k=T;var A=a.memoizedState,p=A.refs,C=p.getSnapshot,x=A.source;A=A.subscribe;var w=R;a.memoizedState={refs:p,source:b,subscribe:d};h.useEffect(function(){p.getSnapshot=c;p.setSnapshot=l;var a=f(b._source);if(!He(g,a)){a=c(b._source);He(n,a)||(l(a),a=Ig(w),e.mutableReadLanes|=a&e.pendingLanes);a=e.mutableReadLanes;e.entangledLanes|=a;for(var d=\ne.entanglements,h=a;0c?98:c,function(){a(!0)});gg(97\\x3c/script>\",a=a.removeChild(a.firstChild)):\"string\"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),\"select\"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[wf]=b;a[xf]=d;Bi(a,b,!1,!1);b.stateNode=a;g=wb(c,d);switch(c){case \"dialog\":G(\"cancel\",a);G(\"close\",a);\ne=d;break;case \"iframe\":case \"object\":case \"embed\":G(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;eJi&&(b.flags|=64,f=!0,Fi(d,!1),b.lanes=33554432)}else{if(!f)if(a=ih(g),null!==a){if(b.flags|=64,f=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Fi(d,!0),null===d.tail&&\"hidden\"===d.tailMode&&!g.alternate&&!lh)return b=b.lastEffect=d.lastEffect,null!==b&&(b.nextEffect=null),null}else 2*O()-d.renderingStartTime>Ji&&1073741824!==c&&(b.flags|=\n64,f=!0,Fi(d,!1),b.lanes=33554432);d.isBackwards?(g.sibling=b.child,b.child=g):(c=d.last,null!==c?c.sibling=g:b.child=g,d.last=g)}return null!==d.tail?(c=d.tail,d.rendering=c,d.tail=c.sibling,d.lastEffect=b.lastEffect,d.renderingStartTime=O(),c.sibling=null,b=P.current,I(P,f?b&1|2:b&1),c):null;case 23:case 24:return Ki(),null!==a&&null!==a.memoizedState!==(null!==b.memoizedState)&&\"unstable-defer-without-hiding\"!==d.mode&&(b.flags|=4),null}throw Error(y(156,b.tag));}\nfunction Li(a){switch(a.tag){case 1:Ff(a.type)&&Gf();var b=a.flags;return b&4096?(a.flags=b&-4097|64,a):null;case 3:fh();H(N);H(M);uh();b=a.flags;if(0!==(b&64))throw Error(y(285));a.flags=b&-4097|64;return a;case 5:return hh(a),null;case 13:return H(P),b=a.flags,b&4096?(a.flags=b&-4097|64,a):null;case 19:return H(P),null;case 4:return fh(),null;case 10:return rg(a),null;case 23:case 24:return Ki(),null;default:return null}}\nfunction Mi(a,b){try{var c=\"\",d=b;do c+=Qa(d),d=d.return;while(d);var e=c}catch(f){e=\"\\nError generating stack: \"+f.message+\"\\n\"+f.stack}return{value:a,source:b,stack:e}}function Ni(a,b){try{console.error(b.value)}catch(c){setTimeout(function(){throw c;})}}var Oi=\"function\"===typeof WeakMap?WeakMap:Map;function Pi(a,b,c){c=zg(-1,c);c.tag=3;c.payload={element:null};var d=b.value;c.callback=function(){Qi||(Qi=!0,Ri=d);Ni(a,b)};return c}\nfunction Si(a,b,c){c=zg(-1,c);c.tag=3;var d=a.type.getDerivedStateFromError;if(\"function\"===typeof d){var e=b.value;c.payload=function(){Ni(a,b);return d(e)}}var f=a.stateNode;null!==f&&\"function\"===typeof f.componentDidCatch&&(c.callback=function(){\"function\"!==typeof d&&(null===Ti?Ti=new Set([this]):Ti.add(this),Ni(a,b));var c=b.stack;this.componentDidCatch(b.value,{componentStack:null!==c?c:\"\"})});return c}var Ui=\"function\"===typeof WeakSet?WeakSet:Set;\nfunction Vi(a){var b=a.ref;if(null!==b)if(\"function\"===typeof b)try{b(null)}catch(c){Wi(a,c)}else b.current=null}function Xi(a,b){switch(b.tag){case 0:case 11:case 15:case 22:return;case 1:if(b.flags&256&&null!==a){var c=a.memoizedProps,d=a.memoizedState;a=b.stateNode;b=a.getSnapshotBeforeUpdate(b.elementType===b.type?c:lg(b.type,c),d);a.__reactInternalSnapshotBeforeUpdate=b}return;case 3:b.flags&256&&qf(b.stateNode.containerInfo);return;case 5:case 6:case 4:case 17:return}throw Error(y(163));}\nfunction Yi(a,b,c){switch(c.tag){case 0:case 11:case 15:case 22:b=c.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){a=b=b.next;do{if(3===(a.tag&3)){var d=a.create;a.destroy=d()}a=a.next}while(a!==b)}b=c.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){a=b=b.next;do{var e=a;d=e.next;e=e.tag;0!==(e&4)&&0!==(e&1)&&(Zi(c,a),$i(c,a));a=d}while(a!==b)}return;case 1:a=c.stateNode;c.flags&4&&(null===b?a.componentDidMount():(d=c.elementType===c.type?b.memoizedProps:lg(c.type,b.memoizedProps),a.componentDidUpdate(d,\nb.memoizedState,a.__reactInternalSnapshotBeforeUpdate)));b=c.updateQueue;null!==b&&Eg(c,b,a);return;case 3:b=c.updateQueue;if(null!==b){a=null;if(null!==c.child)switch(c.child.tag){case 5:a=c.child.stateNode;break;case 1:a=c.child.stateNode}Eg(c,b,a)}return;case 5:a=c.stateNode;null===b&&c.flags&4&&mf(c.type,c.memoizedProps)&&a.focus();return;case 6:return;case 4:return;case 12:return;case 13:null===c.memoizedState&&(c=c.alternate,null!==c&&(c=c.memoizedState,null!==c&&(c=c.dehydrated,null!==c&&Cc(c))));\nreturn;case 19:case 17:case 20:case 21:case 23:case 24:return}throw Error(y(163));}\nfunction aj(a,b){for(var c=a;;){if(5===c.tag){var d=c.stateNode;if(b)d=d.style,\"function\"===typeof d.setProperty?d.setProperty(\"display\",\"none\",\"important\"):d.display=\"none\";else{d=c.stateNode;var e=c.memoizedProps.style;e=void 0!==e&&null!==e&&e.hasOwnProperty(\"display\")?e.display:null;d.style.display=sb(\"display\",e)}}else if(6===c.tag)c.stateNode.nodeValue=b?\"\":c.memoizedProps;else if((23!==c.tag&&24!==c.tag||null===c.memoizedState||c===a)&&null!==c.child){c.child.return=c;c=c.child;continue}if(c===\na)break;for(;null===c.sibling;){if(null===c.return||c.return===a)return;c=c.return}c.sibling.return=c.return;c=c.sibling}}\nfunction bj(a,b){if(Mf&&\"function\"===typeof Mf.onCommitFiberUnmount)try{Mf.onCommitFiberUnmount(Lf,b)}catch(f){}switch(b.tag){case 0:case 11:case 14:case 15:case 22:a=b.updateQueue;if(null!==a&&(a=a.lastEffect,null!==a)){var c=a=a.next;do{var d=c,e=d.destroy;d=d.tag;if(void 0!==e)if(0!==(d&4))Zi(b,c);else{d=b;try{e()}catch(f){Wi(d,f)}}c=c.next}while(c!==a)}break;case 1:Vi(b);a=b.stateNode;if(\"function\"===typeof a.componentWillUnmount)try{a.props=b.memoizedProps,a.state=b.memoizedState,a.componentWillUnmount()}catch(f){Wi(b,\nf)}break;case 5:Vi(b);break;case 4:cj(a,b)}}function dj(a){a.alternate=null;a.child=null;a.dependencies=null;a.firstEffect=null;a.lastEffect=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.return=null;a.updateQueue=null}function ej(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction fj(a){a:{for(var b=a.return;null!==b;){if(ej(b))break a;b=b.return}throw Error(y(160));}var c=b;b=c.stateNode;switch(c.tag){case 5:var d=!1;break;case 3:b=b.containerInfo;d=!0;break;case 4:b=b.containerInfo;d=!0;break;default:throw Error(y(161));}c.flags&16&&(pb(b,\"\"),c.flags&=-17);a:b:for(c=a;;){for(;null===c.sibling;){if(null===c.return||ej(c.return)){c=null;break a}c=c.return}c.sibling.return=c.return;for(c=c.sibling;5!==c.tag&&6!==c.tag&&18!==c.tag;){if(c.flags&2)continue b;if(null===\nc.child||4===c.tag)continue b;else c.child.return=c,c=c.child}if(!(c.flags&2)){c=c.stateNode;break a}}d?gj(a,c,b):hj(a,c,b)}\nfunction gj(a,b,c){var d=a.tag,e=5===d||6===d;if(e)a=e?a.stateNode:a.stateNode.instance,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=jf));else if(4!==d&&(a=a.child,null!==a))for(gj(a,b,c),a=a.sibling;null!==a;)gj(a,b,c),a=a.sibling}\nfunction hj(a,b,c){var d=a.tag,e=5===d||6===d;if(e)a=e?a.stateNode:a.stateNode.instance,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(hj(a,b,c),a=a.sibling;null!==a;)hj(a,b,c),a=a.sibling}\nfunction cj(a,b){for(var c=b,d=!1,e,f;;){if(!d){d=c.return;a:for(;;){if(null===d)throw Error(y(160));e=d.stateNode;switch(d.tag){case 5:f=!1;break a;case 3:e=e.containerInfo;f=!0;break a;case 4:e=e.containerInfo;f=!0;break a}d=d.return}d=!0}if(5===c.tag||6===c.tag){a:for(var g=a,h=c,k=h;;)if(bj(g,k),null!==k.child&&4!==k.tag)k.child.return=k,k=k.child;else{if(k===h)break a;for(;null===k.sibling;){if(null===k.return||k.return===h)break a;k=k.return}k.sibling.return=k.return;k=k.sibling}f?(g=e,h=c.stateNode,\n8===g.nodeType?g.parentNode.removeChild(h):g.removeChild(h)):e.removeChild(c.stateNode)}else if(4===c.tag){if(null!==c.child){e=c.stateNode.containerInfo;f=!0;c.child.return=c;c=c.child;continue}}else if(bj(a,c),null!==c.child){c.child.return=c;c=c.child;continue}if(c===b)break;for(;null===c.sibling;){if(null===c.return||c.return===b)return;c=c.return;4===c.tag&&(d=!1)}c.sibling.return=c.return;c=c.sibling}}\nfunction ij(a,b){switch(b.tag){case 0:case 11:case 14:case 15:case 22:var c=b.updateQueue;c=null!==c?c.lastEffect:null;if(null!==c){var d=c=c.next;do 3===(d.tag&3)&&(a=d.destroy,d.destroy=void 0,void 0!==a&&a()),d=d.next;while(d!==c)}return;case 1:return;case 5:c=b.stateNode;if(null!=c){d=b.memoizedProps;var e=null!==a?a.memoizedProps:d;a=b.type;var f=b.updateQueue;b.updateQueue=null;if(null!==f){c[xf]=d;\"input\"===a&&\"radio\"===d.type&&null!=d.name&&$a(c,d);wb(a,e);b=wb(a,d);for(e=0;ee&&(e=g);c&=~f}c=e;c=O()-c;c=(120>c?120:480>c?480:1080>c?1080:1920>c?1920:3E3>c?3E3:4320>\nc?4320:1960*nj(c/1960))-c;if(10 component higher in the tree to provide a loading indicator or placeholder to display.\")}5!==V&&(V=2);k=Mi(k,h);p=\ng;do{switch(p.tag){case 3:f=k;p.flags|=4096;b&=-b;p.lanes|=b;var J=Pi(p,f,b);Bg(p,J);break a;case 1:f=k;var K=p.type,Q=p.stateNode;if(0===(p.flags&64)&&(\"function\"===typeof K.getDerivedStateFromError||null!==Q&&\"function\"===typeof Q.componentDidCatch&&(null===Ti||!Ti.has(Q)))){p.flags|=4096;b&=-b;p.lanes|=b;var L=Si(p,f,b);Bg(p,L);break a}}p=p.return}while(null!==p)}Zj(c)}catch(va){b=va;Y===c&&null!==c&&(Y=c=c.return);continue}break}while(1)}\nfunction Pj(){var a=oj.current;oj.current=Gh;return null===a?Gh:a}function Tj(a,b){var c=X;X|=16;var d=Pj();U===a&&W===b||Qj(a,b);do try{ak();break}catch(e){Sj(a,e)}while(1);qg();X=c;oj.current=d;if(null!==Y)throw Error(y(261));U=null;W=0;return V}function ak(){for(;null!==Y;)bk(Y)}function Rj(){for(;null!==Y&&!Qf();)bk(Y)}function bk(a){var b=ck(a.alternate,a,qj);a.memoizedProps=a.pendingProps;null===b?Zj(a):Y=b;pj.current=null}\nfunction Zj(a){var b=a;do{var c=b.alternate;a=b.return;if(0===(b.flags&2048)){c=Gi(c,b,qj);if(null!==c){Y=c;return}c=b;if(24!==c.tag&&23!==c.tag||null===c.memoizedState||0!==(qj&1073741824)||0===(c.mode&4)){for(var d=0,e=c.child;null!==e;)d|=e.lanes|e.childLanes,e=e.sibling;c.childLanes=d}null!==a&&0===(a.flags&2048)&&(null===a.firstEffect&&(a.firstEffect=b.firstEffect),null!==b.lastEffect&&(null!==a.lastEffect&&(a.lastEffect.nextEffect=b.firstEffect),a.lastEffect=b.lastEffect),1g&&(h=g,g=J,J=h),h=Le(t,J),f=Le(t,g),h&&f&&(1!==v.rangeCount||v.anchorNode!==h.node||v.anchorOffset!==h.offset||v.focusNode!==f.node||v.focusOffset!==f.offset)&&(q=q.createRange(),q.setStart(h.node,h.offset),v.removeAllRanges(),J>g?(v.addRange(q),v.extend(f.node,f.offset)):(q.setEnd(f.node,f.offset),v.addRange(q))))));q=[];for(v=t;v=v.parentNode;)1===v.nodeType&&q.push({element:v,left:v.scrollLeft,top:v.scrollTop});\"function\"===typeof t.focus&&t.focus();for(t=\n0;tO()-jj?Qj(a,0):uj|=c);Mj(a,b)}function lj(a,b){var c=a.stateNode;null!==c&&c.delete(b);b=0;0===b&&(b=a.mode,0===(b&2)?b=1:0===(b&4)?b=99===eg()?1:2:(0===Gj&&(Gj=tj),b=Yc(62914560&~Gj),0===b&&(b=4194304)));c=Hg();a=Kj(a,b);null!==a&&($c(a,b,c),Mj(a,c))}var ck;\nck=function(a,b,c){var d=b.lanes;if(null!==a)if(a.memoizedProps!==b.pendingProps||N.current)ug=!0;else if(0!==(c&d))ug=0!==(a.flags&16384)?!0:!1;else{ug=!1;switch(b.tag){case 3:ri(b);sh();break;case 5:gh(b);break;case 1:Ff(b.type)&&Jf(b);break;case 4:eh(b,b.stateNode.containerInfo);break;case 10:d=b.memoizedProps.value;var e=b.type._context;I(mg,e._currentValue);e._currentValue=d;break;case 13:if(null!==b.memoizedState){if(0!==(c&b.child.childLanes))return ti(a,b,c);I(P,P.current&1);b=hi(a,b,c);return null!==\nb?b.sibling:null}I(P,P.current&1);break;case 19:d=0!==(c&b.childLanes);if(0!==(a.flags&64)){if(d)return Ai(a,b,c);b.flags|=64}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null,e.lastEffect=null);I(P,P.current);if(d)break;else return null;case 23:case 24:return b.lanes=0,mi(a,b,c)}return hi(a,b,c)}else ug=!1;b.lanes=0;switch(b.tag){case 2:d=b.type;null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2);a=b.pendingProps;e=Ef(b,M.current);tg(b,c);e=Ch(null,b,d,a,e,c);b.flags|=1;if(\"object\"===\ntypeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof){b.tag=1;b.memoizedState=null;b.updateQueue=null;if(Ff(d)){var f=!0;Jf(b)}else f=!1;b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null;xg(b);var g=d.getDerivedStateFromProps;\"function\"===typeof g&&Gg(b,d,g,a);e.updater=Kg;b.stateNode=e;e._reactInternals=b;Og(b,d,a,c);b=qi(null,b,d,!0,f,c)}else b.tag=0,fi(null,b,e,c),b=b.child;return b;case 16:e=b.elementType;a:{null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2);\na=b.pendingProps;f=e._init;e=f(e._payload);b.type=e;f=b.tag=hk(e);a=lg(e,a);switch(f){case 0:b=li(null,b,e,a,c);break a;case 1:b=pi(null,b,e,a,c);break a;case 11:b=gi(null,b,e,a,c);break a;case 14:b=ii(null,b,e,lg(e.type,a),d,c);break a}throw Error(y(306,e,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:lg(d,e),li(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:lg(d,e),pi(a,b,d,e,c);case 3:ri(b);d=b.updateQueue;if(null===a||null===d)throw Error(y(282));\nd=b.pendingProps;e=b.memoizedState;e=null!==e?e.element:null;yg(a,b);Cg(b,d,null,c);d=b.memoizedState.element;if(d===e)sh(),b=hi(a,b,c);else{e=b.stateNode;if(f=e.hydrate)kh=rf(b.stateNode.containerInfo.firstChild),jh=b,f=lh=!0;if(f){a=e.mutableSourceEagerHydrationData;if(null!=a)for(e=0;e=\nE};k=function(){};exports.unstable_forceFrameRate=function(a){0>a||125>>1,e=a[d];if(void 0!==e&&0I(n,c))void 0!==r&&0>I(r,n)?(a[d]=r,a[v]=c,d=v):(a[d]=n,a[m]=c,d=m);else if(void 0!==r&&0>I(r,c))a[d]=r,a[v]=c,d=v;else break a}}return b}return null}function I(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}var L=[],M=[],N=1,O=null,P=3,Q=!1,R=!1,S=!1;\nfunction T(a){for(var b=J(M);null!==b;){if(null===b.callback)K(M);else if(b.startTime<=a)K(M),b.sortIndex=b.expirationTime,H(L,b);else break;b=J(M)}}function U(a){S=!1;T(a);if(!R)if(null!==J(L))R=!0,f(V);else{var b=J(M);null!==b&&g(U,b.startTime-a)}}\nfunction V(a,b){R=!1;S&&(S=!1,h());Q=!0;var c=P;try{T(b);for(O=J(L);null!==O&&(!(O.expirationTime>b)||a&&!exports.unstable_shouldYield());){var d=O.callback;if(\"function\"===typeof d){O.callback=null;P=O.priorityLevel;var e=d(O.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?O.callback=e:O===J(L)&&K(L);T(b)}else K(L);O=J(L)}if(null!==O)var m=!0;else{var n=J(M);null!==n&&g(U,n.startTime-b);m=!1}return m}finally{O=null,P=c,Q=!1}}var W=k;exports.unstable_IdlePriority=5;\nexports.unstable_ImmediatePriority=1;exports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null;exports.unstable_UserBlockingPriority=2;exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_continueExecution=function(){R||Q||(R=!0,f(V))};exports.unstable_getCurrentPriorityLevel=function(){return P};exports.unstable_getFirstCallbackNode=function(){return J(L)};\nexports.unstable_next=function(a){switch(P){case 1:case 2:case 3:var b=3;break;default:b=P}var c=P;P=b;try{return a()}finally{P=c}};exports.unstable_pauseExecution=function(){};exports.unstable_requestPaint=W;exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=P;P=a;try{return b()}finally{P=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();\"object\"===typeof c&&null!==c?(c=c.delay,c=\"number\"===typeof c&&0d?(a.sortIndex=c,H(M,a),null===J(L)&&a===J(M)&&(S?h():S=!0,g(U,c-d))):(a.sortIndex=e,H(L,a),R||Q||(R=!0,f(V)));return a};\nexports.unstable_wrapCallback=function(a){var b=P;return function(){var c=P;P=b;try{return a.apply(this,arguments)}finally{P=c}}};\n","/** @license React v17.0.2\n * react-jsx-runtime.production.min.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'use strict';require(\"object-assign\");var f=require(\"react\"),g=60103;exports.Fragment=60107;if(\"function\"===typeof Symbol&&Symbol.for){var h=Symbol.for;g=h(\"react.element\");exports.Fragment=h(\"react.fragment\")}var m=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,n=Object.prototype.hasOwnProperty,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,k){var b,d={},e=null,l=null;void 0!==k&&(e=\"\"+k);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(l=a.ref);for(b in a)n.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:g,type:c,key:e,ref:l,props:d,_owner:m.current}}exports.jsx=q;exports.jsxs=q;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst react_1 = __importDefault(require(\"react\"));\nconst styles_1 = require(\"./styles\");\nclass ReactSimpleImageViewer extends react_1.default.Component {\n constructor(props) {\n super(props);\n this.handleKeyDown = this.handleKeyDown.bind(this);\n this.handleClick = this.handleClick.bind(this);\n this.handleWheel = this.handleWheel.bind(this);\n this.callOnClose = this.callOnClose.bind(this);\n document.addEventListener('keydown', this.handleKeyDown);\n document.addEventListener('wheel', this.handleWheel);\n this.state = {\n currentIndex: this.props.currentIndex === undefined\n ? 0\n : this.props.currentIndex,\n };\n }\n componentWillUnmount() {\n document.removeEventListener('keydown', this.handleKeyDown);\n document.removeEventListener('wheel', this.handleWheel);\n }\n changeImage(direction) {\n let nextIndex = this.state.currentIndex + direction;\n if (nextIndex > this.props.src.length - 1) {\n nextIndex = 0;\n }\n else if (nextIndex < 0) {\n nextIndex = this.props.src.length - 1;\n }\n this.setState({\n currentIndex: nextIndex,\n });\n }\n callOnClose() {\n if (this.props.onClose !== undefined) {\n this.props.onClose();\n }\n }\n handleKeyDown(event) {\n if (event.key === 'Escape') {\n this.callOnClose();\n }\n if (['ArrowLeft', 'h'].includes(event.key)) {\n this.changeImage(-1);\n }\n if (['ArrowRight', 'l'].includes(event.key)) {\n this.changeImage(1);\n }\n }\n handleClick(event) {\n if (event.target && event.target.id === 'ReactSimpleImageViewer') {\n this.callOnClose();\n }\n }\n handleWheel(event) {\n if (event.wheelDeltaY > 0) {\n this.changeImage(-1);\n }\n else {\n this.changeImage(1);\n }\n }\n render() {\n const { src } = this.props;\n const { currentIndex } = this.state;\n return (react_1.default.createElement(styles_1.Wrapper, { id: \"ReactSimpleImageViewer\", onKeyDown: this.handleKeyDown, onClick: this.handleClick, className: \"react-simple-image-viewer__modal\", style: this.props.backgroundStyle },\n react_1.default.createElement(styles_1.Close, { className: \"react-simple-image-viewer__close\", onClick: this.callOnClose }, \"\\u00D7\"),\n src.length > 1 && react_1.default.createElement(styles_1.Prev, { className: \"react-simple-image-viewer__previous\", onClick: () => this.changeImage(-1) }, \"\\u276E\"),\n src.length > 1 && react_1.default.createElement(styles_1.Next, { className: \"react-simple-image-viewer__next\", onClick: () => this.changeImage(1) }, \"\\u276F\"),\n react_1.default.createElement(styles_1.Content, { className: \"react-simple-image-viewer__modal-content\" },\n react_1.default.createElement(styles_1.Slide, { className: \"react-simple-image-viewer__slide\" },\n react_1.default.createElement(styles_1.Image, { src: src[currentIndex], alt: \"\" })))));\n }\n}\nexports.default = ReactSimpleImageViewer;\n//# sourceMappingURL=ReactSimpleImageViewer.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst styled_components_1 = __importDefault(require(\"styled-components\"));\nexports.Wrapper = styled_components_1.default.div `\n z-index: 1;\n display: flex;\n align-items: center;\n position: fixed;\n padding: 0px 60px 0px 60px;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n background-color: black;\n box-sizing: border-box;\n`;\nexports.Content = styled_components_1.default.div `\n margin: auto;\n padding: 0;\n width: 90%;\n height: 100%;\n max-height: 100%;\n text-align: center;\n`;\nexports.Slide = styled_components_1.default.div `\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n`;\nexports.Image = styled_components_1.default.img `\n max-height: 100%;\n max-width: 100%;\n user-select: none;\n -moz-user-select: none;\n -webkit-user-select: none;\n`;\nexports.Close = styled_components_1.default.span `\n color: white;\n position: absolute;\n top: 15px;\n right: 15px;\n font-size: 40px;\n font-weight: bold;\n opacity: .2;\n cursor: pointer;\n\n &:hover {\n opacity: 1;\n }\n`;\nexports.Navigation = styled_components_1.default.span `\n height: 80%;\n color: white;\n cursor: pointer;\n position: absolute;\n font-size: 60px;\n line-height: 60px;\n font-weight: bold;\n display: flex;\n align-items: center;\n opacity: .2;\n padding: 0 15px;\n user-select: none;\n -moz-user-select: none;\n -webkit-user-select: none;\n\n &:hover {\n opacity: 1;\n }\n`;\nexports.Prev = styled_components_1.default(exports.Navigation) `\n left: 0;\n`;\nexports.Next = styled_components_1.default(exports.Navigation) `\n right: 0;\n`;\n//# sourceMappingURL=styles.js.map","function _taggedTemplateLiteral(e, t) {\n return t || (t = e.slice(0)), Object.freeze(Object.defineProperties(e, {\n raw: {\n value: Object.freeze(t)\n }\n }));\n}\nmodule.exports = _taggedTemplateLiteral, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// @flow\n/* eslint-disable flowtype/object-type-delimiter */\n/* eslint-disable react/prop-types */\n\nimport React, { type Element } from 'react';\nimport { IS_BROWSER, DISABLE_SPEEDY, SC_ATTR, SC_VERSION_ATTR } from '../constants';\nimport StyledError from '../utils/error';\nimport { type ExtractedComp } from '../utils/extractCompsFromCSS';\nimport { splitByRules } from '../utils/stringifyRules';\nimport getNonce from '../utils/nonce';\n\nimport {\n type Names,\n addNameForId,\n resetIdNames,\n hasNameForId,\n stringifyNames,\n cloneNames,\n} from '../utils/styleNames';\n\nimport { sheetForTag, safeInsertRule, deleteRules } from '../utils/insertRuleHelpers';\n\ndeclare var __VERSION__: string;\n\nexport interface Tag {\n // $FlowFixMe: Doesn't seem to accept any combination w/ HTMLStyleElement for some reason\n styleTag: HTMLStyleElement | null;\n /* lists all ids of the tag */\n getIds(): string[];\n /* checks whether `name` is already injected for `id` */\n hasNameForId(id: string, name: string): boolean;\n /* inserts a marker to ensure the id's correct position in the sheet */\n insertMarker(id: string): T;\n /* inserts rules according to the ids markers */\n insertRules(id: string, cssRules: string[], name: ?string): void;\n /* removes all rules belonging to the id, keeping the marker around */\n removeRules(id: string): void;\n css(): string;\n toHTML(additionalAttrs: ?string): string;\n toElement(): Element<*>;\n clone(): Tag;\n /* used in server side rendering to indicate that the rules in the tag have been flushed to HTML */\n sealed: boolean;\n}\n\n/* this marker separates component styles and is important for rehydration */\nconst makeTextMarker = id => `\\n/* sc-component-id: ${id} */\\n`;\n\n/* add up all numbers in array up until and including the index */\nconst addUpUntilIndex = (sizes: number[], index: number): number => {\n let totalUpToIndex = 0;\n for (let i = 0; i <= index; i += 1) {\n totalUpToIndex += sizes[i];\n }\n\n return totalUpToIndex;\n};\n\n/* create a new style tag after lastEl */\nconst makeStyleTag = (target: ?HTMLElement, tagEl: ?Node, insertBefore: ?boolean) => {\n let targetDocument = document;\n if(target) targetDocument = target.ownerDocument;\n else if(tagEl) targetDocument = tagEl.ownerDocument;\n\n const el = targetDocument.createElement('style');\n el.setAttribute(SC_ATTR, '');\n el.setAttribute(SC_VERSION_ATTR, __VERSION__);\n\n const nonce = getNonce();\n if (nonce) {\n el.setAttribute('nonce', nonce);\n }\n\n /* Work around insertRule quirk in EdgeHTML */\n el.appendChild(targetDocument.createTextNode(''));\n\n if (target && !tagEl) {\n /* Append to target when no previous element was passed */\n target.appendChild(el);\n } else {\n if (!tagEl || !target || !tagEl.parentNode) {\n throw new StyledError(6);\n }\n\n /* Insert new style tag after the previous one */\n tagEl.parentNode.insertBefore(el, insertBefore ? tagEl : tagEl.nextSibling);\n }\n\n return el;\n};\n\n/* takes a css factory function and outputs an html styled tag factory */\nconst wrapAsHtmlTag = (css: () => string, names: Names) => (additionalAttrs: ?string): string => {\n const nonce = getNonce();\n const attrs = [\n nonce && `nonce=\"${nonce}\"`,\n `${SC_ATTR}=\"${stringifyNames(names)}\"`,\n `${SC_VERSION_ATTR}=\"${__VERSION__}\"`,\n additionalAttrs,\n ];\n\n const htmlAttr = attrs.filter(Boolean).join(' ');\n return ``;\n};\n\n/* takes a css factory function and outputs an element factory */\nconst wrapAsElement = (css: () => string, names: Names) => () => {\n const props = {\n [SC_ATTR]: stringifyNames(names),\n [SC_VERSION_ATTR]: __VERSION__,\n };\n\n const nonce = getNonce();\n if (nonce) {\n // $FlowFixMe\n props.nonce = nonce;\n }\n\n // eslint-disable-next-line react/no-danger\n return