1"use strict";(globalThis.webpackChunk_ember_auto_import_=globalThis.webpackChunk_ember_auto_import_||[]).push([[536],{98536:(t,e,i)=>{function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){for(var i=0;i<e.length;i++){var n=e[i] 2n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function o(t,e,i){return e&&s(t.prototype,e),i&&s(t,i),t}function a(t){return+t.replace(/px/,"")}function r(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,n=Math.random()*(e-t)+t 3return Math.floor(n*Math.pow(10,i))/Math.pow(10,i)}function h(t){return t[r(0,t.length)]}i.r(e),i.d(e,{default:()=>f}) 4var c=["#fcf403","#62fc03","#f4fc03","#03e7fc","#03fca5","#a503fc","#fc03ad","#fc03c2"] 5function u(t){return Math.log(t)/Math.log(1920)}var l=function(){function t(e){n(this,t) 6var i=e.initialPosition,s=e.direction,o=e.confettiRadius,a=e.confettiColors,c=e.emojis,l=e.emojiSize,d=e.canvasWidth,f=r(.9,1.7,3)*u(d) 7this.confettiSpeed={x:f,y:f},this.finalConfettiSpeedX=r(.2,.6,3),this.rotationSpeed=c.length?.01:r(.03,.07,3)*u(d),this.dragForceCoefficient=r(5e-4,9e-4,6),this.radius={x:o,y:o},this.initialRadius=o,this.rotationAngle="left"===s?r(0,.2,3):r(-.2,0,3),this.emojiSize=l,this.emojiRotationAngle=r(0,2*Math.PI),this.radiusYUpdateDirection="down" 8var m="left"===s?r(82,15)*Math.PI/180:r(-15,-82)*Math.PI/180 9this.absCos=Math.abs(Math.cos(m)),this.absSin=Math.abs(Math.sin(m)) 10var p=r(-150,0),v={x:i.x+("left"===s?-p:p)*this.absCos,y:i.y-p*this.absSin} 11this.currentPosition=Object.assign({},v),this.initialPosition=Object.assign({},v),this.color=c.length?null:h(a),this.emoji=c.length?h(c):null,this.createdAt=(new Date).getTime(),this.direction=s}return o(t,[{key:"draw",value:function(t){var e=this.currentPosition,i=this.radius,n=this.color,s=this.emoji,o=this.rotationAngle,a=this.emojiRotationAngle,r=this.emojiSize,h=window.devicePixelRatio 12n?(t.fillStyle=n,t.beginPath(),t.ellipse(e.x*h,e.y*h,i.x*h,i.y*h,o,0,2*Math.PI),t.fill()):s&&(t.font="".concat(r,"px serif"),t.save(),t.translate(h*e.x,h*e.y),t.rotate(a),t.textAlign="center",t.fillText(s,0,0),t.restore())}},{key:"updatePosition",value:function(t,e){var i=this.confettiSpeed,n=this.dragForceCoefficient,s=this.finalConfettiSpeedX,o=this.radiusYUpdateDirection,a=this.rotationSpeed,r=this.createdAt,h=this.direction,c=e-r 13i.x>s&&(this.confettiSpeed.x-=n*t),this.currentPosition.x+=i.x*("left"===h?-this.absCos:this.absCos)*t,this.currentPosition.y=this.initialPosition.y-i.y*this.absSin*c+.00125*Math.pow(c,2)/2,this.rotationSpeed-=this.emoji?1e-4:1e-5*t,this.rotationSpeed<0&&(this.rotationSpeed=0),this.emoji?this.emojiRotationAngle+=this.rotationSpeed*t%(2*Math.PI):"down"===o?(this.radius.y-=t*a,this.radius.y<=0&&(this.radius.y=0,this.radiusYUpdateDirection="up")):(this.radius.y+=t*a,this.radius.y>=this.initialRadius&&(this.radius.y=this.initialRadius,this.radiusYUpdateDirection="down"))}},{key:"getIsVisibleOnCanvas",value:function(t){return this.currentPosition.y<t+100}}]),t}(),d=function(){function t(e){var i=this 14n(this,t),this.canvasContext=e,this.shapes=[],this.promise=new Promise((function(t){return i.resolvePromise=t}))}return o(t,[{key:"getBatchCompletePromise",value:function(){return this.promise}},{key:"addShapes",value:function(){var t;(t=this.shapes).push.apply(t,arguments)}},{key:"complete",value:function(){var t 15return!this.shapes.length&&(null===(t=this.resolvePromise)||void 0===t||t.call(this),!0)}},{key:"processShapes",value:function(t,e,i){var n=this,s=t.timeDelta,o=t.currentTime 16this.shapes=this.shapes.filter((function(t){return t.updatePosition(s,o),t.draw(n.canvasContext),!i||t.getIsVisibleOnCanvas(e)}))}}]),t}() 17const f=function(){function t(){var e,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{} 18n(this,t),this.activeConfettiBatches=[],this.canvas=i.canvas||((e=document.createElement("canvas")).style.position="fixed",e.style.width="100%",e.style.height="100%",e.style.top="0",e.style.left="0",e.style.zIndex="1000",e.style.pointerEvents="none",document.body.appendChild(e),e),this.canvasContext=this.canvas.getContext("2d"),this.requestAnimationFrameRequested=!1,this.lastUpdated=(new Date).getTime(),this.iterationIndex=0,this.loop=this.loop.bind(this),requestAnimationFrame(this.loop)}return o(t,[{key:"loop",value:function(){var t,e,i,n,s 19this.requestAnimationFrameRequested=!1,t=this.canvas,e=window.devicePixelRatio,n=a((i=getComputedStyle(t)).getPropertyValue("width")),s=a(i.getPropertyValue("height")),t.setAttribute("width",(n*e).toString()),t.setAttribute("height",(s*e).toString()) 20var o=(new Date).getTime(),r=o-this.lastUpdated,h=this.canvas.offsetHeight,c=this.iterationIndex%10==0 21this.activeConfettiBatches=this.activeConfettiBatches.filter((function(t){return t.processShapes({timeDelta:r,currentTime:o},h,c),!c||!t.complete()}
21)),this.iterationIndex++,this.queueAnimationFrameIfNeeded(o)}},{key:"queueAnimationFrameIfNeeded",value:function(t){this.requestAnimationFrameRequested||this.activeConfettiBatches.length<1||(this.requestAnimationFrameRequested=!0,this.lastUpdated=t||(new Date).getTime(),requestAnimationFrame(this.loop))}},{key:"addConfetti",value:function(){for(var t=function(t){var e=t.confettiRadius,i=void 0===e?6:e,n=t.confettiNumber,s=void 0===n?t.confettiesNumber||(t.emojis?40:250):n,o=t.confettiColors,a=void 0===o?c:o,r=t.emojis,h=void 0===r?t.emojies||[]:r,u=t.emojiSize,l=void 0===u?80:u 22return t.emojies&&console.error("emojies argument is deprecated, please use emojis instead"),t.confettiesNumber&&console.error("confettiesNumber argument is deprecated, please use confettiNumber instead"),{confettiRadius:i,confettiNumber:s,confettiColors:a,emojis:h,emojiSize:l}}(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}),e=t.confettiRadius,i=t.confettiNumber,n=t.confettiColors,s=t.emojis,o=t.emojiSize,a=this.canvas.getBoundingClientRect(),r=a.width,h=5*a.height/7,u={x:0,y:h},f={x:r,y:h},m=new d(this.canvasContext),p=0;p<i/2;p++){var v=new l({initialPosition:u,direction:"right",confettiRadius:e,confettiColors:n,confettiNumber:i,emojis:s,emojiSize:o,canvasWidth:r}),g=new l({initialPosition:f,direction:"left",confettiRadius:e,confettiColors:n,confettiNumber:i,emojis:s,emojiSize:o,canvasWidth:r}) 23m.addShapes(v,g)}return this.activeConfettiBatches.push(m),this.queueAnimationFrameIfNeeded(),m.getBatchCompletePromise()}},{key:"clearCanvas",value:function(){this.activeConfettiBatches=[]}},{key:"destroyCanvas",value:function(){this.canvas.remove()}}]),t}()}}]) 24 25//# sourceMappingURL=https://cdn.production.dochub.com/assets/chunk.20260924T072847615Z.c3044e4aacacd00584c5-14d8d7fe8692b2e94fad0fc2f4b81081.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.