From 444462ae5389233bf950070fbd87a5542e6a04b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dani=C3=ABl=20van=20Noord?= <13665637+DanielNoord@users.noreply.github.com> Date: Sun, 4 Apr 2021 13:52:34 +0200 Subject: [PATCH 1/6] Initial fix for #707 --- CookieMonster.js | 2 +- dist/CookieMonster.js | 2 +- dist/CookieMonster.js.map | 2 +- src/Main/LoopHook.js | 4 +++- src/Main/VariablesAndData.js | 5 +++++ src/Sim/Calculations/CalculateGains.js | 14 ++++++++++---- 6 files changed, 21 insertions(+), 8 deletions(-) diff --git a/CookieMonster.js b/CookieMonster.js index 6ad999d..024e1ad 100644 --- a/CookieMonster.js +++ b/CookieMonster.js @@ -1,2 +1,2 @@ /*! For license information please see CookieMonster.js.LICENSE.txt */ -(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,v,w,x=[],T=[],M=[],S={};const P="CMText",B="CMBack",E="Blue",N="Green",O="Yellow",F="Orange",W="Red",L="Purple",A="Gray",j="Pink",D="Brown",H=[A,E,N,O,F,W,L,j,D],U=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"],["FavouriteSettingPlaceholder","Click to set this setting as favourite and show it in 'favourite' settings at the top of the Cookie Monster Settings","250px"]],$={};let R,I,z=0,V=-1,_=[],Q=1,X=1,q=1;const Y=[10,15,30,60,300,600,900,1800],K=[1,5,10,15,30],J={Frenzy:O,"Dragon Harvest":D,"Elder frenzy":N,Clot:W,"Click frenzy":E,Dragonflight:j};let Z,ee,te,oe,ne,ie,ae,re={},le="",se=[];function ce(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return S.Beautify(t,o);if(Number.isFinite(t)){if(t<0)return`-${ce(Math.abs(t))}`;let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function pe(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=N):(n=de(t),o=t>300?W:t>60?F:O),{text:n,color:o}}let ue,me,he,ge,fe,Ce,ye,be,ke,Ge,ve,we,xe,Te,Me,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Ue,$e,Re,Ie,ze,Ve,_e,Qe,Xe=0,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=0,st=0,ct=1,dt=1,pt=1,ut=0,mt=0,ht=0,gt=0,ft={},Ct={},yt={},bt=0,kt=0,Gt=[0,null],vt=0,wt=0,xt={},Tt={},Mt={},St={},Pt={},Bt=0,Et=0,Nt=[],Ot=0,Ft=0,Wt=[],Lt=0,At=0,jt=[],Dt=0,Ht=0,Ut=[],$t=0,Rt=0,It={},zt={},Vt=0,_t=0,Qt=[],Xt={},qt=0,Yt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},Kt=[],Jt=[],Zt=[];function eo(e){let t=0;return Game.dragonAuras[He].name!==e&&Game.dragonAuras[Ue].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[He].name&&"Reality Bending"!==Game.dragonAuras[Ue].name||(t+=.1),t}function to(){let e=.25;return e*=1+eo("Earth Shatterer"),e}function oo(e,t){return void 0===Ve[e]?void 0===t?1:t:Ve[e]}function no(e){const t=Jt[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function io(e){if(Game.hasGod){void 0===Kt.Temple.minigame&&(Kt.Temple.minigame=Game.Objects.Temple.minigame);const t=Kt.Temple.minigame.gods[e];if($e===t.id)return 1;if(Re===t.id)return 2;if(Ie===t.id)return 3}return!1}function ao(e,t){let o=t;if(no("Season savings")&&(o*=.99),no("Santa's dominion")&&(o*=.99),no("Faberge egg")&&(o*=.99),no("Divine discount")&&(o*=.99),no("Fortune #100")&&(o*=.99),o*=1-.02*eo("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&no(e.fortune.name)&&(o*=.93),o*=oo("buildingCost"),Kt.Temple.minigameLoaded){const e=io("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function ro(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function lo(){let t=Game.buyBulk;if(1===Game.buyMode?X=t:t=X,1===t?t=ft:10===t?t=Ct:100===t&&(t=yt),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(ft).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=ce(ro(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(ft).map((e=>{const t=ft[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const t=ft[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eH.indexOf(t.color)?1:H.indexOf(e.color)e.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?Q=i:i=Q,1===i&&(i=ft),10===i&&(i=Ct),100===i&&(i=yt),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=ce(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=P+i[o].color,n=e.PPDisplayTime?de(Math.round(i[o].pp)):ce(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=pe((Game.Objects[o].bulkPrice-(Game.cookies+po()))/co());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=P+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&no(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(no(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&no(e.fortune.name)&&(t*=1.07),e.grandma&&no(e.grandma.name)&&(t*=1+.01*Kt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&no(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function Go(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;no("Thousand fingers")&&(t+=.1),no("Million fingers")&&(t*=5),no("Billion fingers")&&(t*=10),no("Trillion fingers")&&(t*=20),no("Quadrillion fingers")&&(t*=20),no("Quintillion fingers")&&(t*=20),no("Sextillion fingers")&&(t*=20),no("Septillion fingers")&&(t*=20),no("Octillion fingers")&&(t*=20),no("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(Kt).forEach((e=>{"Cursor"!==Kt[e].name&&(n+=Kt[e].amount)})),t*=n,o*=ko(e),o*=Game.magicCpS("Cursor"),o*=oo("cursorCps"),Game.ComputeCps(.1,no("Reinforced index finger")+no("Carpal tunnel prevention cream")+no("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{no(Game.GrandmaSynergies[e])&&(o*=2)})),no("Bingo center/Research facility")&&(o*=4),no("Ritual rolling pins")&&(o*=2),no("Naughty list")&&(o*=2),no("Elderwort biscuits")&&(o*=1.02),o*=oo("grandmaCps"),no("Cat ladies"))for(let e=0;e{"Grandma"!==Kt[e].name&&(i+=Kt[e].amount)})),o*=1+.01*eo("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=ko(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function vo(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(Kt).forEach((t=>{Kt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(no("Starlove")&&(e=3),Game.hasGod){const t=io("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function wo(){We=Game.UpgradesOwned,Le=Game.pledges,Ae=Game.AchievementsOwned,je=Game.heavenlyPower,De=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=Kt[e];void 0===o&&(Kt[e]=Go(e),o=Kt[e],mo(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&($e=t.minigame.slot[0],Re=t.minigame.slot[1],Ie=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),Kt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=Jt[e];void 0===o&&(Jt[e]=vo(e),o=Jt[e]),o.bought=t.bought,Jt[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=Zt[e];void 0===o&&(Zt[e]=bo(e),o=Zt[e]),o.won=t.won,Zt[e]=o})),yo(),He=Xe,Ue=qe}function xo(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function To(e){e.appendChild(xo("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(xo("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(xo("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(xo("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===te){e.appendChild(xo("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function Mo(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function Po(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function Bo(){if(wo(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===te?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(To(l("CMTooltipBorder")),1===Game.buyMode?q=t:t=q,1===Game.buyBulk?t=ft:10===Game.buyBulk?t=Ct:100===Game.buyBulk&&(t=yt),Z=Game.Objects[oe].bulkPrice,ee=t[oe].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=ce(ee,2);const o=Math.round(ee/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=P+t[oe].color,e.PPDisplayTime?l("CMTooltipPP").textContent=de(t[oe].pp):l("CMTooltipPP").textContent=ce(t[oe].pp,2),l("CMTooltipPP").className=P+t[oe].color;const n=pe((Z-(Game.cookies+po()))/co());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[oe[1]][oe[0]][0]-1].mature,o=t.plantsById[t.plot[oe[1]][oe[0]][0]-1].name;l("CMTooltipBorder").appendChild(xo("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${ce(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${ce(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${ce(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${ce(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===te?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(xo("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=uo(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==J[Game.buffs[t].name]?J[Game.buffs[t].name]:L,a.lastChild.children[1].className=B+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),ae!==n&&(ae=n,fo())}}(),ho(),Bo(),function(){if(1===e.TooltipWrink&&1===z){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===_[t]||void 0===_[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),V=t,_[t]=1}}else _[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[V],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[V].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),Kt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=ce(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,ce(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}function No(){ue.addLatest(Game.computedMouseCps)}class Oo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}calcSum(e){let t=e;return t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length),0===t?0:this.queue.slice(-t).reduce(((e,t)=>e+t),0)}}function Fo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+qt;Game.cpsSucked>0&&(o+=bt),$t=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-be,i=Math.max(0,Game.cookies-ke)/n,a=Math.max(0,bt-Ge)/n,r=Math.max(0,Gt[0]-ve)/n,l=Math.max(0,o-gt)/n,s=(Game.cookieClicks-we)/n;for(let e=0;e0&&(n=W),n}function Lo(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=A;else{t[n].color=Wo(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+po()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||Qt.push([t[n].pp,o])}))}function jo(){!function(){_t=1/0,Qt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Ao(ft,1),Ao(Ct,10),Ao(yt,100),Qt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;Qt[t][1]>Game.cookies&&(t+=1,Qt.length!==t+1););_t=Qt[e.PPExcludeTop][t],Lo(ft,1),Lo(Ct,10),Lo(yt,100)}(),Object.keys(xt).forEach((e=>{Game.cookiesPs?xt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+po()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/xt[e].bonus:xt[e].pp=Game.Upgrades[e].getPrice()/xt[e].bonus,Number.isNaN(xt[e].pp)&&(xt[e].pp=1/0),xt[e].color=Wo(xt[e],Game.Upgrades[e].getPrice())}))}function Do(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),Ve=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(De)*je*function(){let e=0;if(no("Heavenly chip secret")&&(e+=.05),no("Heavenly cookie stand")&&(e+=.2),no("Heavenly bakery")&&(e+=.25),no("Heavenly confectionery")&&(e+=.25),no("Heavenly key")&&(e+=.25),e*=1+.05*eo("Dragon God"),no("Lucky digit")&&(e*=1.01),no("Lucky number")&&(e*=1.01),no("Lucky payout")&&(e*=1.01),Game.hasGod){const t=io("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=oo("cps"),no("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];no(o.name)&&("function"==typeof o.power?e*=1+.01*Jt[o.name].power(Jt[o.name]):e*=1+.01*o.power)})),no("Specialized chocolate chips")&&(e*=1.01),no("Designer cocoa beans")&&(e*=1.02),no("Underworld ovens")&&(e*=1.03),no("Exotic nuts")&&(e*=1.04),no("Arcane sugar")&&(e*=1.05),no("Increased merriness")&&(e*=1.15),no("Improved jolliness")&&(e*=1.15),no("A lump of coal")&&(e*=1.01),no("An itchy sweater")&&(e*=1.01),no("Santa's dominion")&&(e*=1.2),no("Fortune #100")&&(e*=1.01),no("Fortune #101")&&(e*=1.07),no("Dragon scale")&&(e*=1.03);let o=1;if(io){let t=io("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=io("ages"),1===t?e*=1+.15*Math.sin(Date.now()/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(Date.now()/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(Date.now()/1e3/86400*Math.PI*2)),t=io("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=io("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=io("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}no("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=Ae/25;let i=1;if(no("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*eo("Breath of Milk"),io){const e=io("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=oo("milk");let a=1;no("Kitten helpers")&&(a*=1+.1*n*i),no("Kitten workers")&&(a*=1+.125*n*i),no("Kitten engineers")&&(a*=1+.15*n*i),no("Kitten overseers")&&(a*=1+.175*n*i),no("Kitten managers")&&(a*=1+.2*n*i),no("Kitten accountants")&&(a*=1+.2*n*i),no("Kitten specialists")&&(a*=1+.2*n*i),no("Kitten experts")&&(a*=1+.2*n*i),no("Kitten consultants")&&(a*=1+.2*n*i),no("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),no("Kitten marketeers")&&(a*=1+.15*n*i),no("Kitten analysts")&&(a*=1+.125*n*i),no("Kitten executives")&&(a*=1+.115*n*i),no("Kitten angels")&&(a*=1+.1*n*i),no("Fortune #103")&&(a*=1+.05*n*i),Object.keys(Kt).forEach((e=>{const t=Kt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&no("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),_e+=t.amount*a})),no('"egg"')&&(_e+=9),e*=a;let r=1;if(no("Chicken egg")&&(r*=1.01),no("Duck egg")&&(r*=1.01),no("Turkey egg")&&(r*=1.01),no("Quail egg")&&(r*=1.01),no("Robin egg")&&(r*=1.01),no("Ostrich egg")&&(r*=1.01),no("Cassowary egg")&&(r*=1.01),no("Salmon roe")&&(r*=1.01),no("Frogspawn")&&(r*=1.01),no("Shark egg")&&(r*=1.01),no("Turtle egg")&&(r*=1.01),no("Ant larva")&&(r*=1.01),no("Century egg")){let e=10*Math.floor((Date.now()-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),mt=1+.1*(1-(1-e/100)**3),r*=mt}e*=r,no("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+eo("Radiant Appetite");const l=_e*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&Ho(Game.CpsAchievements[e].name)})),Qe=l;const{n:s}=Game.shimmerTypes.golden,c=eo("Dragon's Fortune");for(let t=0;t{no(e[o])&&(t+=.1)}))}e*=t}if(no("Shimmering veil [off]")){let t=.5;no("Reinforced membrane")&&(t+=.1),e*=1+t}no("Magic shenanigans")&&(e*=1e3),no("Occult obstruction")&&(e*=0),_e=Game.runModHookOnValue("cps",_e),e*=So(),_e*=e}const $o=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],Ro=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Io=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],zo=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],Vo=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function _o(e){return Zt[e]?Zt[e].won:0}function Qo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{no(Game.GrandmaSynergies[t])&&(e+=1)})),!_o("Elder")&&e>=7&&Ho("Elder"),!_o("Veteran")&&e>=14&&Ho("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(Kt).forEach((e=>{t+=Kt[e].amount,i=Math.min(Kt[e].amount,i),_o("Mathematician")||Kt[e].amount=1&&Ho("One with everything"),1===o&&Ho("Mathematician"),1===n&&Ho("Base 10"),i>=100&&Ho("Centennial"),i>=150&&Ho("Centennial and a half"),i>=200&&Ho("Bicentennial"),i>=250&&Ho("Bicentennial and a half"),i>=300&&Ho("Tricentennial"),i>=350&&Ho("Tricentennial and a half"),i>=400&&Ho("Quadricentennial"),i>=450&&Ho("Quadricentennial and a half"),i>=500&&Ho("Quincentennial"),i>=550&&Ho("Quincentennial and a half"),i>=600&&Ho("Sexcentennial"),t>=100&&Ho("Builder"),t>=500&&Ho("Architect"),t>=1e3&&Ho("Engineer"),t>=2e3&&Ho("Lord of Constructs"),t>=4e3&&Ho("Grand design"),t>=8e3&&Ho("Ecumenopolis"),We>=20&&Ho("Enhancer"),We>=50&&Ho("Augmenter"),We>=100&&Ho("Upgrader"),We>=200&&Ho("Lord of Progress"),We>=300&&Ho("The full picture"),We>=400&&Ho("When there's nothing left to add"),t>=4e3&&We>=300&&Ho("Polymath"),t>=8e3&&We>=400&&Ho("Renaissance baker"),Kt.Cursor.amount+Kt.Grandma.amount>=777&&Ho("The elder scrolls");let a=!0;Object.keys(Ro).forEach((e=>{no(Ro[e])||(a=!1)})),a&&Ho("Spooky cookies");let r=!0;if(Object.keys(Io).forEach((e=>{no(Io[e])||(r=!1)})),r&&Ho("Let it snow"),no("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{no(e[o].name)&&(t+=1)})),t>=e.length&&Ho("O Fortuna")}}function Xo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){wo(),Kt[e].amount+=t;const o=Kt[e];"Cursor"===e?(o.amount>=1&&Ho("Click"),o.amount>=2&&Ho("Double-click"),o.amount>=50&&Ho("Mouse wheel"),o.amount>=100&&Ho("Of Mice and Men"),o.amount>=200&&Ho("The Digital"),o.amount>=300&&Ho("Extreme polydactyly"),o.amount>=400&&Ho("Dr. T"),o.amount>=500&&Ho("Thumbs, phalanges, metacarpals"),o.amount>=600&&Ho("With her finger and her thumb"),o.amount>=700&&Ho("Gotta hand it to you"),o.amount>=800&&Ho("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&Ho(Game.Objects[o.name].tieredAchievs[e].name)}));const n=Ae;return Uo(),Qo(),n!==Ae&&Uo(),_e-Game.cookiesPs}(o,e),1!==e&&(Ne=1)})),t}function qo(){Object.keys(Game.Objects).forEach((e=>{ft[e].price=Do(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),Ct[e].price=Do(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),yt[e].price=Do(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Yo(){ft=Xo(1),Ct=Xo(10),yt=Xo(100),xt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){wo(),"Shimmering veil [on]"===Jt[e].name?Jt["Shimmering veil [off]"].bought=0:"Golden switch [on]"===Jt[e].name?Jt["Golden switch [off]"].bought=0:Jt[e].bought=(Jt[e].bought+1)%2,Jt[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(We+=1),"Elder Pledge"===e?(Le+=1,Le>0&&Ho("Elder nap"),Le>=5&&Ho("Elder slumber")):"Elder Covenant"===e?Ho("Elder calm"):"Prism heart biscuits"===e?Ho("Lovely cookies"):"Heavenly key"===e&&Ho("Wholesome");const t=Ae;Uo(),Qo(),t!==Ae&&Uo();const o=function(){let e=0;no("Thousand fingers")&&(e+=.1),no("Million fingers")&&(e*=5),no("Billion fingers")&&(e*=10),no("Trillion fingers")&&(e*=20),no("Quadrillion fingers")&&(e*=20),no("Quintillion fingers")&&(e*=20),no("Sextillion fingers")&&(e*=20),no("Septillion fingers")&&(e*=20),no("Octillion fingers")&&(e*=20),no("Nonillion fingers")&&(e*=20);let t=0;Object.keys(Kt).forEach((e=>{t+=Kt[e].amount})),t-=Kt.Cursor.amount,e*=t,no("Plastic mouse")&&(e+=.01*_e),no("Iron mouse")&&(e+=.01*_e),no("Titanium mouse")&&(e+=.01*_e),no("Adamantium mouse")&&(e+=.01*_e),no("Unobtainium mouse")&&(e+=.01*_e),no("Eludium mouse")&&(e+=.01*_e),no("Wishalloy mouse")&&(e+=.01*_e),no("Fantasteel mouse")&&(e+=.01*_e),no("Nevercrack mouse")&&(e+=.01*_e),no("Armythril mouse")&&(e+=.01*_e),no("Technobsidian mouse")&&(e+=.01*_e),no("Plasmarble mouse")&&(e+=.01*_e),no("Miraculite mouse")&&(e+=.01*_e),no("Fortune #104")&&(e+=.01*_e);let o=1;if(no("Santa's helpers")&&(o*=1.1),no("Cookie egg")&&(o*=1.1),no("Halo gloves")&&(o*=1.1),no("Dragon claw")&&(o*=1.03),no("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,no("Luminous gloves")?20:10)),o*=oo("click"),Kt.Temple.minigameLoaded&&io){const e=io("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*eo("Dragon Cursor");let n=o*Game.ComputeCps(1,no("Reinforced index finger")+no("Carpal tunnel prevention cream")+no("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[_e-Game.cookiesPs,o]:[_e-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(xt[t]={bonus:Game.cookiesPs-xe},1===e.CalcWrink?xt[t].bonus-=Te:2===e.CalcWrink&&(xt[t].bonus-=Me),Number.isFinite(xt[t].bonus)||(xt[t].bonus=0)):(xt[t]={},o[0]&&(xt[t].bonus=o[0]),o[1]&&(xt[t].bonusMouse=o[1]))}))}function Ko(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Nt=Ko(7,e,dt),Bt=2*Nt[1]/dt,Et=Nt[2]/60/60/6/ct,Wt=Ko(6,e,pt),Ot=2*Wt[1]/pt,Ft=Wt[2]/60/60/6/ct,jt=Ko(7,7*e,dt),Lt=2*jt[1]/dt,At=jt[2]/60/60/6/ct,Ut=Ko(6,7*e,pt),Dt=2*Ut[1]/pt,Ht=Ut[2]/60/60/6/ct}function Zo(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Be,i=Math.max(0,o-Ee)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?St+=e:"cookie"===o.pool?Pt+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(Mt+=e)}}))}function tn(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),ht=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(ht*=2)}}function on(){Je=900*st/.15,Je*=ct;const e=So();e>0?Je/=e:Je=0,Ze=dt*(.15*Je)+13,et=pt*(.15*Je)+13,tt=7*Je,ot=dt*(.15*tt)+13,nt=pt*(.15*tt)+13,it=2*Je,at=.15*it,rt=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountrt&&(rt=2*Game.Objects[e].price,lt=e)}))}function nn(){let e=1,t=1,o=1;no("Green yeast digestives")&&(o*=1.01),no("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),dt=o*e,pt=o*t,ct=1,0===Game.shimmerTypes.golden.n&&(ct*=1+1.23*Game.auraMult("Dragon's Fortune"))}function an(){bt=0,kt=0,Gt=[0,null];for(let e=0;eGt[0]&&(Gt=[t,e]))}}function rn(){yo(),an(),on(),nn(),Jo(),en(),tn(),me=new Oo(Y[Y.length-1]),he=new Oo(Y[Y.length-1]),ge=new Oo(Y[Y.length-1]),fe=new Oo(Y[Y.length-1]),Ce=new Oo(K[K.length-1]),ye=new Oo(5),ue=new Oo(20*K[K.length-1]),Zo(),Fo(),Yo(),qo(),jo()}const ln={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,MissingAchievements:0,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,FavouriteSettings:1,Header:{Favourite:1,Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},sn=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function cn(){1===e.BotBar?(l("CMBotBar").style.display="",ho()):l("CMBotBar").style.display="none",fo()}function dn(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),ho(),lo(),so()}function pn(){1===e.Favicon&&y>0?It.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class un{constructor(e,t){this.type=e,this.group=t}}class mn extends un{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class hn extends un{constructor(e,t,o){super(e,t),this.desc=o}}class gn extends un{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class fn extends un{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const Cn={CPSMode:new mn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new mn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new mn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new mn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){ze=!0})),Scale:new mn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Abbreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){dn()})),ScaleDecimals:new mn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){dn()})),ScaleSeparator:new mn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){dn()})),ScaleCutoff:new fn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new mn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new mn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=I:Game.sayTime=S.sayTime})),PPDisplayTime:new mn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new mn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){lo()})),PPOnlyConsiderBuyable:new mn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new mn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new mn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new fn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),ColourBlue:new hn("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new hn("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new hn("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new hn("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new hn("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new hn("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new hn("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new hn("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new hn("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new mn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){cn()})),TimerBar:new mn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){Co()})),TimerBarPos:new mn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),fo()})),TimerBarOverlay:new mn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new mn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",so()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",so()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new mn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new mn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){lo()})),SortUpgrades:new mn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){so()})),DragonAuraInfo:new mn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new mn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new mn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(re).forEach((e=>{re[e].style.display="block",re[e].style.left=Xt[e].l.style.left,re[e].style.top=Xt[e].l.style.top})):Object.keys(re).forEach((e=>re[e].style.display="none"))})),Favicon:new mn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){pn()})),WrinklerButtons:new mn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new mn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new mn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new mn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new mn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new mn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new mn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new mn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new mn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new fn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new mn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new mn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){Po()})),TooltipGrim:new mn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new mn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new mn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new mn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new mn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new mn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new mn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new mn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in statistics menu",!0),MissingAchievements:new mn("bool","Statistics",["Missing Achievements OFF","Missing Normal Achievements ON"],"Shows missing normal achievements in statistics menu.",!1),UpStats:new mn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new fn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new mn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new mn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new mn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new mn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){sn(e.GCNotification)})),GCFlash:new mn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new hn("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new mn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new gn("vol","NotificationGC",[],"Volume"),GCSoundURL:new mn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new mn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){sn(e.FortuneNotification)})),FortuneFlash:new mn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new hn("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new mn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new gn("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new mn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new mn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){sn(e.SeaNotification)})),SeaFlash:new mn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new hn("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new mn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new gn("vol","NotificationSea",[],"Volume"),SeaSoundURL:new mn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new mn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new hn("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new mn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new gn("vol","NotificationGard",[],"Volume"),GardSoundURL:new mn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new mn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){sn(e.MagicNotification)})),MagicFlash:new mn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new hn("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new mn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new gn("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new mn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new mn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){sn(e.WrinklerNotification)})),WrinklerFlash:new mn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new hn("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new mn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new gn("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new mn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new mn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){sn(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new mn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new hn("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new mn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new gn("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new mn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new mn("bool","Miscellaneous",["Block bulk buying OFF","Block bulk buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0),FavouriteSettings:new mn("bool","Miscellaneous",["Favourite settings section OFF","Favourite settings section ON","Favourite settings section ON (Locked)"],"Show stars before each setting which allows selecting it for a 'favourites' section at the top of the Cookie Monster settings. Setting this to Locked removes the stars but shows the 'favourites' section",!0,(function(){Game.UpdateMenu()}))};function yn(){return JSON.stringify({favouriteSettings:se,settings:e,version:"2.031.6"})}function bn(){if(Ye!==Game.dragonLevel||ze){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{Kt[e]=Go(e)})),Jt=[],Object.keys(Game.Upgrades).forEach((e=>{Jt[e]=vo(e)})),Zt=[],Object.keys(Game.Achievements).forEach((e=>{Zt[e]=bo(e)})),wo()}let vn=!1;function wn(t,o,n){(1===e[o]||n)&&3===t&&!1===vn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){wn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){wn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){wn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function xn(t,o,n,i){if((1===e[o]||i)&&!1===vn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function Tn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===vn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function Mn(){if(ie!==Game.OnAscend&&(ie=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(cn(),Co()),go()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(Gn(),rn(),r=Object.keys(Game.mods).length),ze&&(Yo(),Game.Has("Golden switch [off]")?(wo(),Jt["Golden switch [off]"].bought=0,Uo(),st=_e):st=Game.cookiesPs,nn(),on(),en(),Jo(),bn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Yt[e][t]=kn(e,t)}(),tn(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;wo();let t=2;5!==He&&18!==He||(t-=1),5!==Ue&&18!==Ue||(t-=1),He=5,Ue=18;for(let e=0;e{Kt[t].amount>0&&(e=t)})),Kt[e].amount-=1,Fe-=1}return Object.keys(Kt).forEach((t=>{const o=Kt[t];e+=ro(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),qt=e}(),ze=0);const t=Game.auraMult("Fierce Hoarder")>0;!Oe&&t?(Oe=!0,Ne=1):Oe&&!t&&(Oe=!1,Ne=1),Ne&&(qo(),Ne=0),function(){an(),jo(),function(){vt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(Kt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}wt=e,vt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Fo(),Zo();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);Vt=de(e/co())}(),G=0,Xt={},Object.keys(Game.shimmers).forEach((e=>{Xt[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(It=Game.shimmers[e],G+=1)})),Object.keys(re).forEach((e=>{void 0===Xt[e]&&(re[e].parentNode.removeChild(re[e]),delete re[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===re[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},re[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),pn(),b=G,0===G&&(It=0)):1===e.GCTimer&&y&&Object.keys(re).forEach((e=>{re[e].style.opacity=Xt[e].l.style.opacity,re[e].style.transform=Xt[e].l.style.transform,re[e].textContent=Math.ceil(Xt[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(wn(3,"FortuneFlash",!1),xn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),Tn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&(zt=Game.shimmers[e])})),wn(3,"SeaFlash",!1),xn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),Tn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>v?(v=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?wn(3,"WrinklerMaxFlash",!1):wn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?xn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):xn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?Tn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):Tn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):v=t}}()}}function Sn(){let t="";for(let o=0;o{void 0===e[t]?(o=!0,e[t]=ln[t]):"Header"===t&&Object.keys(ln.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=ln[t][n])}))})),o&&Pn(),Mn(),Object.keys(ln).forEach((e=>{"Header"!==e&&void 0!==Cn[e].func&&Cn[e].func()}))}else Bn(ln);Game.UpdateMenu(),Sn()}function En(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Nn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Do(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${ce(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${pe((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(ce(Game.Objects[o].bulkPrice)).join(ce((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return te=t,oe=o,Bo(),l("tooltip").innerHTML}function On(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(T[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function Fn(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),Pn()}function Un(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){Hn(o),Game.UpdateMenu()},n.appendChild(i),n}function $n(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape($[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function Rn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function In(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(Un("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+po(){Game.HasUnlocked(Vo[e])||c.push(Vo[e])})),0!==c.length&&e.appendChild($n("basic","Rare plant drops left to unlock",Rn(c))),e}())),o.appendChild(Un("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige($t+Game.cookiesReset+bt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?gt:0)));t.appendChild($n("withTooltip","Prestige level (cur / max)",document.createTextNode(`${ce(Game.prestige)} / ${ce(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-($t+Game.cookiesReset+bt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&>?gt:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(ce(n)));const a=document.createElement("small");a.textContent=` (${de(n/Rt,1)})`,i.appendChild(a),t.appendChild($n("withTooltip","Cookies to next level",i,"NextPrestTooltipPlaceholder")),t.appendChild($n("withTooltip","Heavenly chips (cur / max)",document.createTextNode(`${ce(Game.heavenlyChips)} / ${ce(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild($n("basic","Heavenly chips per second (last 5 seconds)",document.createTextNode(ce(ut,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild($n("basic","Heavenly chips to target set in settings (cur)",document.createTextNode(ce(e)))),t.appendChild($n("basic","Time till target (cur, current 5 second average)",document.createTextNode(de(e/ut)))))}const l=function(e){let t=Game.cookiesPs;wo(),0===Jt["Heavenly key"].bought&&(Jt["Heavenly chip secret"].bought=1,Jt["Heavenly cookie stand"].bought=1,Jt["Heavenly bakery"].bought=1,Jt["Heavenly confectionery"].bought=1,Jt["Heavenly key"].bought=1,Uo(),t=_e,wo()),$t>=1e6&&Ho("Sacrifice"),$t>=1e9&&Ho("Oblivion"),$t>=1e12&&Ho("From scratch"),$t>=1e15&&Ho("Nihilism"),$t>=1e18&&Ho("Dematerialize"),$t>=1e21&&Ho("Nil zero zilch"),$t>=1e24&&Ho("Transcendence"),$t>=1e27&&Ho("Obliterate"),$t>=1e30&&Ho("Negative void"),$t>=1e33&&Ho("To crumbs, you say?"),$t>=1e36&&Ho("You get nothing"),$t>=1e39&&Ho("Humble rebeginnings"),$t>=1e42&&Ho("The end of the world"),$t>=1e45&&Ho("Oh, you're back"),$t>=1e48&&Ho("Lazarus"),$t>=1e51&&Ho("Smurf account"),$t>=1e54&&Ho("If at first you don't succeed"),Jt["Heavenly chip secret"].bought=1,Jt["Heavenly cookie stand"].bought=1,Jt["Heavenly bakery"].bought=1,Jt["Heavenly confectionery"].bought=1,Jt["Heavenly key"].bought=1,De=e;const o=Ae;Uo(),Qo(),o!==Ae&&Uo();const n=_e-t;return De=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(ce(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild($n("withTooltip","Reset bonus income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild($n("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild($n("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild($n("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(Un("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${ce(bt)} / ${ce(kt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){En()},e.appendChild(t),o.appendChild($n("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${ce(Gt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==Gt[1]&&(Game.wrinklers[Gt[1]].hp=0)},n.appendChild(i),o.appendChild($n("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==Gt[1]?Gt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(Ro).forEach((e=>{Game.Has(Ro[e])||(n.push(Ro[e]),o=!0)}));const i=[];Object.keys(Io).forEach((e=>{Game.Has(Io[e])||(i.push(Io[e]),o=!0)}));const a=[];Object.keys(zo).forEach((e=>{Game.Has(zo[e])||(a.push(zo[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(Un("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild($n("basic","Halloween cookies left to buy",Rn(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild($n("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${ce((1-e)*o*100)}% / ${ce((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild($n("basic","Christmas cookies left to buy",Rn(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild($n("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${ce((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild($n("basic","Valentine cookies left to buy",Rn(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild($n("basic","Normal easter eggs left to unlock",Rn(r))),t.appendChild($n("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${ce(100*e(.98)[0])}% / ${ce(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild($n("basic","Rare easter eggs left to unlock",Rn(l))),t.appendChild($n("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${ce(100*e(.98)[1])}% / ${ce(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild($n("basic","Reindeer reward",document.createTextNode(ce(ht)))),s&&t.appendChild($n("withTooltip","Chocolate egg cookies",document.createTextNode(ce(gt)),"ChoEggTooltipPlaceholder")),c&&t.appendChild($n("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(mt-1))/100+"%")))}return t}()),o.appendChild(Un("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild($n("basic",`Average cookies per second (past ${Y[e.AvgCPSHist]<60?`${Y[e.AvgCPSHist]} seconds`:Y[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(ce(co(),3)))),o.appendChild($n("basic",`Average cookie clicks per second (past ${K[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(ce(Tt,1)))),o.appendChild($n("basic",`Cookies from clicking (past ${K[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(ce(ue.calcSum(Tt*K[e.AvgClicksHist]))))),Game.Has("Fortune cookies")){const e=[];Object.keys($o).forEach((t=>{Game.Has($o[t])||e.push($o[t])})),0!==e.length&&o.appendChild($n("basic","Fortune Upgrades Left to Buy",Rn(e)))}if(e.ShowMissedGC&&o.appendChild($n("basic","Missed golden cookies",document.createTextNode(ce(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild($n("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&St){const t=St.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=St,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(Mt){const t=Mt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Mt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Pt){const t=Pt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Pt,e.appendChild(i)}}})),e.MissingAchievements&&function(){let t;Object.values(document.querySelectorAll("div.title")).forEach((e=>{e.textContent.includes("Achievements")&&(t=e.parentElement.querySelectorAll("div.listing.crateBox")[0])})),e.MissingAchievements&&Object.values(t.children).forEach((e=>{if(!e.className.includes("enabled")){const t=e.onclick.toString().match(/(?<=\[).*(?=\])/g)[0],{icon:o}=Game.AchievementsById[t];e.style.backgroundPosition=`${48*-o[0]}px ${48*-o[1]}px`,e.onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return function(e){const t=[];"shadow"===e.pool?t.push("Shadow Achievement","#9700cf"):t.push("Achievement",0),t.push("Locked",0);let o=0;(Game.Has("Neuromancy")||Game.sesame&&"debug"===e.pool)&&(o=1),o&&0===e.won?t.push("Click to win!","#00c462"):o&&e.won>0&&t.push("Click to lose!","#00c462");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());let{desc:i}=e;e.descFunc&&(i=e.descFunc("stats"));let a="";for(let e=0;e[${t[e]}]`);return a=a.substring(1),`
\n
\n
${e.name}
\n ${a}
${i}
\n ${Game.sesame?`
Id : ${e.id} | Order : ${Math.floor(e.order)}${e.tier?` | Tier : ${e.tier}`:""}
`:""}`}(Game.AchievementsById[t])}),"top"),Game.tooltip.wobble())}}}))}()}const zn={Favourite:"Favourite Settings",Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},Vn={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function _n(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){Hn(t),Game.UpdateMenu()},n.appendChild(i),n}function Qn(t){const o=document.createElement("div");if(o.className="listing",1===e.FavouriteSettings&&o.appendChild(function(e){const t=document.createElement("a");return se.includes(e)?(t.innerText="★",t.style.color="yellow"):t.innerText="☆",t.className="option",t.onclick=function(){!function(e){se.includes(e)?se=se.filter((function(t){return t!==e})):se.push(e)}(e),Pn(),Game.UpdateMenu()},t.onmouseover=function(){Game.tooltip.draw(this,escape($.FavouriteSettingPlaceholder.innerHTML))},t.onmouseout=function(){Game.tooltip.hide()},t.appendChild(document.createTextNode(" ")),t}(t)),"bool"===Cn[t].type){const n=document.createElement("a");Cn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=jn+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===Cn[t].label.length?(e[t]=0,Cn[t].toggle&&(l(jn+t).className="option off")):l(jn+t).className="option",void 0!==Cn[t].func&&Cn[t].func(),l(jn+t).innerHTML=Cn[t].label[e[t]],Pn()}(t)},n.textContent=Cn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=Cn[t].desc,i.style.lineHeight="1.6",o.appendChild(i),o}if("vol"===Cn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=Cn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Dn(t)},r.onchange=function(){Dn(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){xn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===Cn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${Cn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=jn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${jn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){!function(e,t){Game.promptWrapL.className="framed";const o=e;Game.promptL.innerHTML=`${o}
`,Object.keys(t).forEach((e=>{const o=document.createElement("a");o.id=`promptOption${e}`,o.className="option",o.onclick=function(){PlaySound("snd/tick.mp3"),t[e][1]()},o.textContent=t[e][0],Game.promptL.children[1].appendChild(o)})),Game.promptAnchorL.style.display="block",Game.darkenL.style.display="block",Game.promptL.focus(),Game.promptOn=1,Game.UpdatePrompt()}(a.outerHTML,[["Save",function(){e[t]=l(`CMConfig${t}Prompt`).value,Pn(),Game.ClosePrompt(),Game.UpdateMenu()}],["Cancel",function(){Game.ClosePrompt()}]])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=Cn[t].desc,s.style.lineHeight="1.6",o.appendChild(s),o}if("colour"===Cn[t].type){const n=document.createElement("span");n.className="option";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new Ln(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),Sn(),Pn(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=Cn[t].desc,a.style.lineHeight="1.6",n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){wn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),An().init(),o}if("numscale"===Cn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${Cn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=jn+t,i.className="option",i.type="number",i.value=e[t],i.min=Cn[t].min,i.max=Cn[t].max,i.oninput=function(){this.value>this.max&&console.log("TEST"),e[t]=this.value,Pn(),dn()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=Cn[t].desc,a.style.lineHeight="1.6",o.appendChild(a),o}return o}function Xn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function qn(){S.Beautify=Beautify,Beautify=ce,S.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){S.CalculateGains(),ze=1},S.tooltip={},S.tooltip.draw=Game.tooltip.draw,S.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){S.tooltip.drawMod(e,t,o)},S.tooltip.update=Game.tooltip.update,S.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){S.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},S.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){Xn(S.UpdateWrinklers)},S.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){Xn(S.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){Xn(Game.ClickCookie)}),!1),S.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){S.RebuildUpgrades(),M=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(M[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},S.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e].amount>0){const o=Kt[Game.ObjectsById[e].name].name;Kt[o].amount-=1,Fe-=1,t=Kt[o].basePrice*Game.priceIncrease**Math.max(0,Kt[o].amount-1-Kt[o].free),t=Game.modifyBuildingPrice(Kt[o],t),t=Math.ceil(t);break}const o=Ae;return Uo(),Qo(),o!==Ae&&Uo(),[_e-Game.cookiesPs,t]}(t),n=de(o/(e+Game.cookiesPs)),i=ce(e/Game.cookiesPs*100);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${ce(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},S.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){S.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${Ke}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},S.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==An().picker&&void 0!==An().picker.owner||(S.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(zn).forEach((t=>{if("Favourite"===t){if(0!==se.length&&e.FavouriteSettings>0&&(o.appendChild(_n(t,zn[t])),e.Header[t]))for(let e=0;e{const n=_n(t,Vn[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(Cn).forEach((e=>{Cn[e].group===t&&o.appendChild(Qn(e))}))})):Object.keys(Cn).forEach((e=>{Cn[e].group===t&&o.appendChild(Qn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Bn(ln)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",In(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){Hn("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},S.sayTime=Game.sayTime,I=function(e,t){return Number.isNaN(e)||e<=0?S.sayTime(e,t):de(e/Game.fps,1)},S.Logic=Game.Logic,Game.Logic=function(){S.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),le=`${Game.OnAscend?"Ascending! ":""}${ce(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=le;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=It?It.wrath?`[W${Math.ceil(It.life/Game.fps)}]`:`[G${Math.ceil(It.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil(zt.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=le;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;It&&(t=!0,It.wrath?e+=`[W${Math.ceil(It.life/Game.fps)}]`:e+=`[G${Math.ceil(It.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil(zt.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${ce(Game.prestige)}.
(CpS +${ce(Game.prestige)}%)`,n+='
'),n+=Ee<1?"Ascending now would grant you no prestige.":Ee<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${ce(Ee)} prestige levels (+${ce(Ee)}% CpS)
and ${ce(Ee)} heavenly chips to spend.`,n+='
',n+=`You need ${ce(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${Vt} to reach the next level and you were making ${ce(ut,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Yn(){Gn(),on(),rn(),r=Object.keys(Game.mods).length,w=document.createElement("style"),w.type="text/css",w.id="CMCSS",document.head.appendChild(w),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=P+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",O)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",E)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",E)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",E)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{mo(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=uo("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:A},{id:"CMTimerBarGCBar",color:L}]);e.appendChild(t);const o=uo("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:A},{id:"CMTimerBarRenBar",color:F}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=B+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(E,"Better than the best PP of a building option")),e.appendChild(o(N,"Same as the best PP building option")),e.appendChild(o(O,"Within the top 10 of PP for buildings")),e.appendChild(o(F,"Within the top 20 of PP for buildings")),e.appendChild(o(W,"Within the top 30 of PP for buildings")),e.appendChild(o(L,"Outside of the top 30 of PP for buildings")),e.appendChild(o(A,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=P+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",E)),e.appendChild(o("CMUpgradeBarGreen",N)),e.appendChild(o("CMUpgradeBarYellow",O)),e.appendChild(o("CMUpgradeBarOrange",F)),e.appendChild(o("CMUpgradeBarRed",W)),e.appendChild(o("CMUpgradeBarPurple",L)),e.appendChild(o("CMUpgradeBarGray",A)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(U).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),$[e]=n}(U[e][0],U[e][1],U[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){En()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==Gt[1]&&(Game.wrinklers[Gt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(x[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),On(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),Wn()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){z=1},l("backgroundLeftCanvas").onmouseout=function(){z=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{_[e]=0}))},qn(),Wn(),Game.CalculateGains(),Bn(),R=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const Kn={init:function(){vn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Yn(),Game.registerHook("draw",Eo),Game.registerHook("logic",Mn),Game.registerHook("click",No),vn=!1)},load:function(e){const t=JSON.parse(e);Gn(),void 0!==t.favouriteSettings&&(se=t.favouriteSettings),Bn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:yn};Game.registerMod("CookieMonster",Kn)})()})(); +(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,v,w,x,T=[],M=[],S=[],P={};const B="CMText",E="CMBack",N="Blue",O="Green",F="Yellow",W="Orange",L="Red",A="Purple",j="Gray",D="Pink",H="Brown",U=[j,N,O,F,W,L,A,D,H],$=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"],["FavouriteSettingPlaceholder","Click to set this setting as favourite and show it in 'favourite' settings at the top of the Cookie Monster Settings","250px"]],R={};let I,z,V=0,_=-1,Q=[],X=1,q=1,Y=1;const K=[10,15,30,60,300,600,900,1800],J=[1,5,10,15,30],Z={Frenzy:F,"Dragon Harvest":H,"Elder frenzy":O,Clot:L,"Click frenzy":N,Dragonflight:D};let ee,te,oe,ne,ie,ae,re,le={},se="",ce=[];function de(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return P.Beautify(t,o);if(Number.isFinite(t)){if(t<0)return`-${de(Math.abs(t))}`;let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function ue(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=O):(n=pe(t),o=t>300?L:t>60?W:F),{text:n,color:o}}let me,he,ge,fe,Ce,ye,be,ke,Ge,ve,we,xe,Te,Me,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Ue,$e,Re,Ie,ze,Ve,_e,Qe,Xe,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=0,st=0,ct=0,dt=1,pt=1,ut=1,mt=0,ht=0,gt=0,ft=0,Ct={},yt={},bt={},kt=0,Gt=0,vt=[0,null],wt=0,xt=0,Tt={},Mt={},St={},Pt={},Bt={},Et=0,Nt=0,Ot=[],Ft=0,Wt=0,Lt=[],At=0,jt=0,Dt=[],Ht=0,Ut=0,$t=[],Rt=0,It=0,zt={},Vt={},_t=0,Qt=0,Xt=[],qt={},Yt=0,Kt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},Jt=[],Zt=[],eo=[];function to(e){let t=0;return Game.dragonAuras[Ue].name!==e&&Game.dragonAuras[$e].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[Ue].name&&"Reality Bending"!==Game.dragonAuras[$e].name||(t+=.1),t}function oo(){let e=.25;return e*=1+to("Earth Shatterer"),e}function no(e,t){return void 0===_e[e]?void 0===t?1:t:_e[e]}function io(e){const t=Zt[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function ao(e){if(Game.hasGod){void 0===Jt.Temple.minigame&&(Jt.Temple.minigame=Game.Objects.Temple.minigame);const t=Jt.Temple.minigame.gods[e];if(Re===t.id)return 1;if(Ie===t.id)return 2;if(ze===t.id)return 3}return!1}function ro(e,t){let o=t;if(io("Season savings")&&(o*=.99),io("Santa's dominion")&&(o*=.99),io("Faberge egg")&&(o*=.99),io("Divine discount")&&(o*=.99),io("Fortune #100")&&(o*=.99),o*=1-.02*to("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&io(e.fortune.name)&&(o*=.93),o*=no("buildingCost"),Jt.Temple.minigameLoaded){const e=ao("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function lo(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function so(){let t=Game.buyBulk;if(1===Game.buyMode?q=t:t=q,1===t?t=Ct:10===t?t=yt:100===t&&(t=bt),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(Ct).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=de(lo(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(Ct).map((e=>{const t=Ct[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return U.indexOf(e.color)>U.indexOf(t.color)?1:U.indexOf(e.color){const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return U.indexOf(e.color)>U.indexOf(t.color)?1:U.indexOf(e.color){const t=Ct[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eU.indexOf(t.color)?1:U.indexOf(e.color)e.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?X=i:i=X,1===i&&(i=Ct),10===i&&(i=yt),100===i&&(i=bt),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=de(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=B+i[o].color,n=e.PPDisplayTime?pe(Math.round(i[o].pp)):de(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=ue((Game.Objects[o].bulkPrice-(Game.cookies+uo()))/po());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=B+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&io(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(io(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&io(e.fortune.name)&&(t*=1.07),e.grandma&&io(e.grandma.name)&&(t*=1+.01*Jt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&io(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function vo(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;io("Thousand fingers")&&(t+=.1),io("Million fingers")&&(t*=5),io("Billion fingers")&&(t*=10),io("Trillion fingers")&&(t*=20),io("Quadrillion fingers")&&(t*=20),io("Quintillion fingers")&&(t*=20),io("Sextillion fingers")&&(t*=20),io("Septillion fingers")&&(t*=20),io("Octillion fingers")&&(t*=20),io("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(Jt).forEach((e=>{"Cursor"!==Jt[e].name&&(n+=Jt[e].amount)})),t*=n,o*=Go(e),o*=Game.magicCpS("Cursor"),o*=no("cursorCps"),Game.ComputeCps(.1,io("Reinforced index finger")+io("Carpal tunnel prevention cream")+io("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{io(Game.GrandmaSynergies[e])&&(o*=2)})),io("Bingo center/Research facility")&&(o*=4),io("Ritual rolling pins")&&(o*=2),io("Naughty list")&&(o*=2),io("Elderwort biscuits")&&(o*=1.02),o*=no("grandmaCps"),io("Cat ladies"))for(let e=0;e{"Grandma"!==Jt[e].name&&(i+=Jt[e].amount)})),o*=1+.01*to("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=Go(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function wo(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(Jt).forEach((t=>{Jt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(io("Starlove")&&(e=3),Game.hasGod){const t=ao("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function xo(){Le=Game.UpgradesOwned,Ae=Game.pledges,je=Game.AchievementsOwned,De=Game.heavenlyPower,He=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=Jt[e];void 0===o&&(Jt[e]=vo(e),o=Jt[e],ho(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(Re=t.minigame.slot[0],Ie=t.minigame.slot[1],ze=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),Jt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=Zt[e];void 0===o&&(Zt[e]=wo(e),o=Zt[e]),o.bought=t.bought,Zt[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=eo[e];void 0===o&&(eo[e]=ko(e),o=eo[e]),o.won=t.won,eo[e]=o})),bo(),Ue=qe,$e=Ye}function To(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function Mo(e){e.appendChild(To("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(To("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(To("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(To("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===oe){e.appendChild(To("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function So(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function Bo(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function Eo(){if(xo(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===oe?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(Mo(l("CMTooltipBorder")),1===Game.buyMode?Y=t:t=Y,1===Game.buyBulk?t=Ct:10===Game.buyBulk?t=yt:100===Game.buyBulk&&(t=bt),ee=Game.Objects[ne].bulkPrice,te=t[ne].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=de(te,2);const o=Math.round(te/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=B+t[ne].color,e.PPDisplayTime?l("CMTooltipPP").textContent=pe(t[ne].pp):l("CMTooltipPP").textContent=de(t[ne].pp,2),l("CMTooltipPP").className=B+t[ne].color;const n=ue((ee-(Game.cookies+uo()))/po());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[ne[1]][ne[0]][0]-1].mature,o=t.plantsById[t.plot[ne[1]][ne[0]][0]-1].name;l("CMTooltipBorder").appendChild(To("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?de(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${de(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?de(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${de(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?de(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${de(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?de(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${de(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===oe?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(To("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=mo(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==Z[Game.buffs[t].name]?Z[Game.buffs[t].name]:A,a.lastChild.children[1].className=E+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),re!==n&&(re=n,Co())}}(),go(),Eo(),function(){if(1===e.TooltipWrink&&1===V){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===Q[t]||void 0===Q[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),_=t,Q[t]=1}}else Q[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[_],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[_].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),Jt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=de(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,de(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}function Oo(){me.addLatest(Game.computedMouseCps)}class Fo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}calcSum(e){let t=e;return t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length),0===t?0:this.queue.slice(-t).reduce(((e,t)=>e+t),0)}}function Wo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+Yt;Game.cpsSucked>0&&(o+=kt),Rt=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-ke,i=Math.max(0,Game.cookies-Ge)/n,a=Math.max(0,kt-ve)/n,r=Math.max(0,vt[0]-we)/n,l=Math.max(0,o-ft)/n,s=(Game.cookieClicks-xe)/n;for(let e=0;e0&&(n=L),n}function Ao(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=j;else{t[n].color=Lo(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+uo()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||Xt.push([t[n].pp,o])}))}function Do(){!function(){Qt=1/0,Xt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),jo(Ct,1),jo(yt,10),jo(bt,100),Xt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;Xt[t][1]>Game.cookies&&(t+=1,Xt.length!==t+1););Qt=Xt[e.PPExcludeTop][t],Ao(Ct,1),Ao(yt,10),Ao(bt,100)}(),Object.keys(Tt).forEach((e=>{Game.cookiesPs?Tt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+uo()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/Tt[e].bonus:Tt[e].pp=Game.Upgrades[e].getPrice()/Tt[e].bonus,Number.isNaN(Tt[e].pp)&&(Tt[e].pp=1/0),Tt[e].color=Lo(Tt[e],Game.Upgrades[e].getPrice())}))}function Ho(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),_e=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(He)*De*function(){let e=0;if(io("Heavenly chip secret")&&(e+=.05),io("Heavenly cookie stand")&&(e+=.2),io("Heavenly bakery")&&(e+=.25),io("Heavenly confectionery")&&(e+=.25),io("Heavenly key")&&(e+=.25),e*=1+.05*to("Dragon God"),io("Lucky digit")&&(e*=1.01),io("Lucky number")&&(e*=1.01),io("Lucky payout")&&(e*=1.01),Game.hasGod){const t=ao("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=no("cps"),io("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];io(o.name)&&("function"==typeof o.power?e*=1+.01*Zt[o.name].power(Zt[o.name]):e*=1+.01*o.power)})),io("Specialized chocolate chips")&&(e*=1.01),io("Designer cocoa beans")&&(e*=1.02),io("Underworld ovens")&&(e*=1.03),io("Exotic nuts")&&(e*=1.04),io("Arcane sugar")&&(e*=1.05),io("Increased merriness")&&(e*=1.15),io("Improved jolliness")&&(e*=1.15),io("A lump of coal")&&(e*=1.01),io("An itchy sweater")&&(e*=1.01),io("Santa's dominion")&&(e*=1.2),io("Fortune #100")&&(e*=1.01),io("Fortune #101")&&(e*=1.07),io("Dragon scale")&&(e*=1.03);let o=1;if(ao){let t=ao("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=ao("ages"),1===t?e*=1+.15*Math.sin(w/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(w/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(w/1e3/86400*Math.PI*2)),t=ao("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=ao("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=ao("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}io("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=je/25;let i=1;if(io("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*to("Breath of Milk"),ao){const e=ao("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=no("milk");let a=1;io("Kitten helpers")&&(a*=1+.1*n*i),io("Kitten workers")&&(a*=1+.125*n*i),io("Kitten engineers")&&(a*=1+.15*n*i),io("Kitten overseers")&&(a*=1+.175*n*i),io("Kitten managers")&&(a*=1+.2*n*i),io("Kitten accountants")&&(a*=1+.2*n*i),io("Kitten specialists")&&(a*=1+.2*n*i),io("Kitten experts")&&(a*=1+.2*n*i),io("Kitten consultants")&&(a*=1+.2*n*i),io("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),io("Kitten marketeers")&&(a*=1+.15*n*i),io("Kitten analysts")&&(a*=1+.125*n*i),io("Kitten executives")&&(a*=1+.115*n*i),io("Kitten angels")&&(a*=1+.1*n*i),io("Fortune #103")&&(a*=1+.05*n*i),Object.keys(Jt).forEach((e=>{const t=Jt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&io("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),Qe+=t.amount*a})),io('"egg"')&&(Qe+=9),e*=a;let r=1;if(io("Chicken egg")&&(r*=1.01),io("Duck egg")&&(r*=1.01),io("Turkey egg")&&(r*=1.01),io("Quail egg")&&(r*=1.01),io("Robin egg")&&(r*=1.01),io("Ostrich egg")&&(r*=1.01),io("Cassowary egg")&&(r*=1.01),io("Salmon roe")&&(r*=1.01),io("Frogspawn")&&(r*=1.01),io("Shark egg")&&(r*=1.01),io("Turtle egg")&&(r*=1.01),io("Ant larva")&&(r*=1.01),io("Century egg")){let e=10*Math.floor((w-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),ht=1+.1*(1-(1-e/100)**3),r*=ht}e*=r,io("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+to("Radiant Appetite");const l=Qe*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&Uo(Game.CpsAchievements[e].name)})),Xe=l;const{n:s}=Game.shimmerTypes.golden,c=to("Dragon's Fortune");for(let t=0;t{io(e[o])&&(t+=.1)}))}e*=t}if(io("Shimmering veil [off]")){let t=.5;io("Reinforced membrane")&&(t+=.1),e*=1+t}io("Magic shenanigans")&&(e*=1e3),io("Occult obstruction")&&(e*=0),Qe=Game.runModHookOnValue("cps",Qe),e*=Po(),Qe*=e}const Ro=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],Io=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],zo=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],Vo=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],_o=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function Qo(e){return eo[e]?eo[e].won:0}function Xo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{io(Game.GrandmaSynergies[t])&&(e+=1)})),!Qo("Elder")&&e>=7&&Uo("Elder"),!Qo("Veteran")&&e>=14&&Uo("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(Jt).forEach((e=>{t+=Jt[e].amount,i=Math.min(Jt[e].amount,i),Qo("Mathematician")||Jt[e].amount=1&&Uo("One with everything"),1===o&&Uo("Mathematician"),1===n&&Uo("Base 10"),i>=100&&Uo("Centennial"),i>=150&&Uo("Centennial and a half"),i>=200&&Uo("Bicentennial"),i>=250&&Uo("Bicentennial and a half"),i>=300&&Uo("Tricentennial"),i>=350&&Uo("Tricentennial and a half"),i>=400&&Uo("Quadricentennial"),i>=450&&Uo("Quadricentennial and a half"),i>=500&&Uo("Quincentennial"),i>=550&&Uo("Quincentennial and a half"),i>=600&&Uo("Sexcentennial"),t>=100&&Uo("Builder"),t>=500&&Uo("Architect"),t>=1e3&&Uo("Engineer"),t>=2e3&&Uo("Lord of Constructs"),t>=4e3&&Uo("Grand design"),t>=8e3&&Uo("Ecumenopolis"),Le>=20&&Uo("Enhancer"),Le>=50&&Uo("Augmenter"),Le>=100&&Uo("Upgrader"),Le>=200&&Uo("Lord of Progress"),Le>=300&&Uo("The full picture"),Le>=400&&Uo("When there's nothing left to add"),t>=4e3&&Le>=300&&Uo("Polymath"),t>=8e3&&Le>=400&&Uo("Renaissance baker"),Jt.Cursor.amount+Jt.Grandma.amount>=777&&Uo("The elder scrolls");let a=!0;Object.keys(Io).forEach((e=>{io(Io[e])||(a=!1)})),a&&Uo("Spooky cookies");let r=!0;if(Object.keys(zo).forEach((e=>{io(zo[e])||(r=!1)})),r&&Uo("Let it snow"),io("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{io(e[o].name)&&(t+=1)})),t>=e.length&&Uo("O Fortuna")}}function qo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){xo(),Jt[e].amount+=t;const o=Jt[e];"Cursor"===e?(o.amount>=1&&Uo("Click"),o.amount>=2&&Uo("Double-click"),o.amount>=50&&Uo("Mouse wheel"),o.amount>=100&&Uo("Of Mice and Men"),o.amount>=200&&Uo("The Digital"),o.amount>=300&&Uo("Extreme polydactyly"),o.amount>=400&&Uo("Dr. T"),o.amount>=500&&Uo("Thumbs, phalanges, metacarpals"),o.amount>=600&&Uo("With her finger and her thumb"),o.amount>=700&&Uo("Gotta hand it to you"),o.amount>=800&&Uo("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&Uo(Game.Objects[o.name].tieredAchievs[e].name)}));const n=je;return $o(),Xo(),n!==je&&$o(),Qe-Game.cookiesPs}(o,e),1!==e&&(Oe=1)})),t}function Yo(){Object.keys(Game.Objects).forEach((e=>{Ct[e].price=Ho(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),yt[e].price=Ho(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),bt[e].price=Ho(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Ko(){Ct=qo(1),yt=qo(10),bt=qo(100),Tt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){xo(),"Shimmering veil [on]"===Zt[e].name?Zt["Shimmering veil [off]"].bought=0:"Golden switch [on]"===Zt[e].name?Zt["Golden switch [off]"].bought=0:Zt[e].bought=(Zt[e].bought+1)%2,Zt[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Le+=1),"Elder Pledge"===e?(Ae+=1,Ae>0&&Uo("Elder nap"),Ae>=5&&Uo("Elder slumber")):"Elder Covenant"===e?Uo("Elder calm"):"Prism heart biscuits"===e?Uo("Lovely cookies"):"Heavenly key"===e&&Uo("Wholesome");const t=je;$o(),Xo(),t!==je&&$o();const o=function(){let e=0;io("Thousand fingers")&&(e+=.1),io("Million fingers")&&(e*=5),io("Billion fingers")&&(e*=10),io("Trillion fingers")&&(e*=20),io("Quadrillion fingers")&&(e*=20),io("Quintillion fingers")&&(e*=20),io("Sextillion fingers")&&(e*=20),io("Septillion fingers")&&(e*=20),io("Octillion fingers")&&(e*=20),io("Nonillion fingers")&&(e*=20);let t=0;Object.keys(Jt).forEach((e=>{t+=Jt[e].amount})),t-=Jt.Cursor.amount,e*=t,io("Plastic mouse")&&(e+=.01*Qe),io("Iron mouse")&&(e+=.01*Qe),io("Titanium mouse")&&(e+=.01*Qe),io("Adamantium mouse")&&(e+=.01*Qe),io("Unobtainium mouse")&&(e+=.01*Qe),io("Eludium mouse")&&(e+=.01*Qe),io("Wishalloy mouse")&&(e+=.01*Qe),io("Fantasteel mouse")&&(e+=.01*Qe),io("Nevercrack mouse")&&(e+=.01*Qe),io("Armythril mouse")&&(e+=.01*Qe),io("Technobsidian mouse")&&(e+=.01*Qe),io("Plasmarble mouse")&&(e+=.01*Qe),io("Miraculite mouse")&&(e+=.01*Qe),io("Fortune #104")&&(e+=.01*Qe);let o=1;if(io("Santa's helpers")&&(o*=1.1),io("Cookie egg")&&(o*=1.1),io("Halo gloves")&&(o*=1.1),io("Dragon claw")&&(o*=1.03),io("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,io("Luminous gloves")?20:10)),o*=no("click"),Jt.Temple.minigameLoaded&&ao){const e=ao("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*to("Dragon Cursor");let n=o*Game.ComputeCps(1,io("Reinforced index finger")+io("Carpal tunnel prevention cream")+io("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[Qe-Game.cookiesPs,o]:[Qe-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(Tt[t]={bonus:Game.cookiesPs-Te},1===e.CalcWrink?Tt[t].bonus-=Me:2===e.CalcWrink&&(Tt[t].bonus-=Se),Number.isFinite(Tt[t].bonus)||(Tt[t].bonus=0)):(Tt[t]={},o[0]&&(Tt[t].bonus=o[0]),o[1]&&(Tt[t].bonusMouse=o[1]))}))}function Jo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Ot=Jo(7,e,pt),Et=2*Ot[1]/pt,Nt=Ot[2]/60/60/6/dt,Lt=Jo(6,e,ut),Ft=2*Lt[1]/ut,Wt=Lt[2]/60/60/6/dt,Dt=Jo(7,7*e,pt),At=2*Dt[1]/pt,jt=Dt[2]/60/60/6/dt,$t=Jo(6,7*e,ut),Ht=2*$t[1]/ut,Ut=$t[2]/60/60/6/dt}function en(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Ee,i=Math.max(0,o-Ne)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?Pt+=e:"cookie"===o.pool?Bt+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(St+=e)}}))}function on(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),gt=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(gt*=2)}}function nn(){Ze=900*ct/.15,Ze*=dt;const e=Po();e>0?Ze/=e:Ze=0,et=pt*(.15*Ze)+13,tt=ut*(.15*Ze)+13,ot=7*Ze,nt=pt*(.15*ot)+13,it=ut*(.15*ot)+13,at=2*Ze,rt=.15*at,lt=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountlt&&(lt=2*Game.Objects[e].price,st=e)}))}function an(){let e=1,t=1,o=1;io("Green yeast digestives")&&(o*=1.01),io("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),pt=o*e,ut=o*t,dt=1,0===Game.shimmerTypes.golden.n&&(dt*=1+1.23*Game.auraMult("Dragon's Fortune"))}function rn(){kt=0,Gt=0,vt=[0,null];for(let e=0;evt[0]&&(vt=[t,e]))}}function ln(){bo(),rn(),nn(),an(),Zo(),tn(),on(),he=new Fo(K[K.length-1]),ge=new Fo(K[K.length-1]),fe=new Fo(K[K.length-1]),Ce=new Fo(K[K.length-1]),ye=new Fo(J[J.length-1]),be=new Fo(5),me=new Fo(20*J[J.length-1]),en(),Wo(),Ko(),Yo(),Do()}const sn={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,MissingAchievements:0,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,FavouriteSettings:1,Header:{Favourite:1,Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},cn=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function dn(){1===e.BotBar?(l("CMBotBar").style.display="",go()):l("CMBotBar").style.display="none",Co()}function pn(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),go(),so(),co()}function un(){1===e.Favicon&&y>0?zt.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class mn{constructor(e,t){this.type=e,this.group=t}}class hn extends mn{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class gn extends mn{constructor(e,t,o){super(e,t),this.desc=o}}class fn extends mn{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class Cn extends mn{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const yn={CPSMode:new hn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new hn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new hn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new hn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){Ve=!0})),Scale:new hn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Abbreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){pn()})),ScaleDecimals:new hn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){pn()})),ScaleSeparator:new hn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){pn()})),ScaleCutoff:new Cn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new hn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new hn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=z:Game.sayTime=P.sayTime})),PPDisplayTime:new hn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new hn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){so()})),PPOnlyConsiderBuyable:new hn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new hn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new hn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new Cn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),ColourBlue:new gn("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new gn("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new gn("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new gn("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new gn("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new gn("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new gn("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new gn("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new gn("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new hn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){dn()})),TimerBar:new hn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){yo()})),TimerBarPos:new hn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),Co()})),TimerBarOverlay:new hn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new hn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",co()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",co()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new hn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new hn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){so()})),SortUpgrades:new hn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){co()})),DragonAuraInfo:new hn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new hn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new hn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(le).forEach((e=>{le[e].style.display="block",le[e].style.left=qt[e].l.style.left,le[e].style.top=qt[e].l.style.top})):Object.keys(le).forEach((e=>le[e].style.display="none"))})),Favicon:new hn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){un()})),WrinklerButtons:new hn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new hn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new hn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new hn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new hn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new hn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new hn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new hn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new hn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new Cn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new hn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new hn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){Bo()})),TooltipGrim:new hn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new hn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new hn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new hn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new hn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new hn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new hn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new hn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in statistics menu",!0),MissingAchievements:new hn("bool","Statistics",["Missing Achievements OFF","Missing Normal Achievements ON"],"Shows missing normal achievements in statistics menu.",!1),UpStats:new hn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new Cn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new hn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new hn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new hn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new hn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){cn(e.GCNotification)})),GCFlash:new hn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new gn("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new hn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new fn("vol","NotificationGC",[],"Volume"),GCSoundURL:new hn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new hn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){cn(e.FortuneNotification)})),FortuneFlash:new hn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new gn("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new hn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new fn("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new hn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new hn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){cn(e.SeaNotification)})),SeaFlash:new hn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new gn("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new hn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new fn("vol","NotificationSea",[],"Volume"),SeaSoundURL:new hn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new hn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new gn("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new hn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new fn("vol","NotificationGard",[],"Volume"),GardSoundURL:new hn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new hn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){cn(e.MagicNotification)})),MagicFlash:new hn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new gn("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new hn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new fn("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new hn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new hn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){cn(e.WrinklerNotification)})),WrinklerFlash:new hn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new gn("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new hn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new fn("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new hn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new hn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){cn(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new hn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new gn("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new hn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new fn("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new hn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new hn("bool","Miscellaneous",["Block bulk buying OFF","Block bulk buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0),FavouriteSettings:new hn("bool","Miscellaneous",["Favourite settings section OFF","Favourite settings section ON","Favourite settings section ON (Locked)"],"Show stars before each setting which allows selecting it for a 'favourites' section at the top of the Cookie Monster settings. Setting this to Locked removes the stars but shows the 'favourites' section",!0,(function(){Game.UpdateMenu()}))};function bn(){return JSON.stringify({favouriteSettings:ce,settings:e,version:"2.031.6"})}function kn(){if(Ke!==Game.dragonLevel||Ve){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{Jt[e]=vo(e)})),Zt=[],Object.keys(Game.Upgrades).forEach((e=>{Zt[e]=wo(e)})),eo=[],Object.keys(Game.Achievements).forEach((e=>{eo[e]=ko(e)})),xo()}let wn=!1;function xn(t,o,n){(1===e[o]||n)&&3===t&&!1===wn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){xn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){xn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){xn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function Tn(t,o,n,i){if((1===e[o]||i)&&!1===wn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function Mn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===wn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function Sn(){if(w=Date.now(),ae!==Game.OnAscend&&(ae=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(dn(),yo()),fo()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(vn(),ln(),r=Object.keys(Game.mods).length),Ve&&(Ko(),Game.Has("Golden switch [off]")?(xo(),Zt["Golden switch [off]"].bought=0,$o(),ct=Qe):ct=Game.cookiesPs,an(),nn(),tn(),Zo(),kn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Kt[e][t]=Gn(e,t)}(),on(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;xo();let t=2;5!==Ue&&18!==Ue||(t-=1),5!==$e&&18!==$e||(t-=1),Ue=5,$e=18;for(let e=0;e{Jt[t].amount>0&&(e=t)})),Jt[e].amount-=1,We-=1}return Object.keys(Jt).forEach((t=>{const o=Jt[t];e+=lo(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),Yt=e}(),Ve=0);const t=Game.auraMult("Fierce Hoarder")>0;!Fe&&t?(Fe=!0,Oe=1):Fe&&!t&&(Fe=!1,Oe=1),Oe&&(Yo(),Oe=0),function(){rn(),Do(),function(){wt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(Jt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}xt=e,wt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Wo(),en();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);_t=pe(e/po())}(),G=0,qt={},Object.keys(Game.shimmers).forEach((e=>{qt[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(zt=Game.shimmers[e],G+=1)})),Object.keys(le).forEach((e=>{void 0===qt[e]&&(le[e].parentNode.removeChild(le[e]),delete le[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===le[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},le[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),un(),b=G,0===G&&(zt=0)):1===e.GCTimer&&y&&Object.keys(le).forEach((e=>{le[e].style.opacity=qt[e].l.style.opacity,le[e].style.transform=qt[e].l.style.transform,le[e].textContent=Math.ceil(qt[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(xn(3,"FortuneFlash",!1),Tn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),Mn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&(Vt=Game.shimmers[e])})),xn(3,"SeaFlash",!1),Tn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),Mn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>v?(v=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?xn(3,"WrinklerMaxFlash",!1):xn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?Tn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):Tn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?Mn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):Mn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):v=t}}()}}function Pn(){let t="";for(let o=0;o{void 0===e[t]?(o=!0,e[t]=sn[t]):"Header"===t&&Object.keys(sn.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=sn[t][n])}))})),o&&Bn(),Sn(),Object.keys(sn).forEach((e=>{"Header"!==e&&void 0!==yn[e].func&&yn[e].func()}))}else En(sn);Game.UpdateMenu(),Pn()}function Nn(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function On(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Ho(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${de(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${ue((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(de(Game.Objects[o].bulkPrice)).join(de((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return oe=t,ne=o,Eo(),l("tooltip").innerHTML}function Fn(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(M[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return On("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function Wn(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),Bn()}function $n(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){Un(o),Game.UpdateMenu()},n.appendChild(i),n}function Rn(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(R[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function In(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function zn(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild($n("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+uo(){Game.HasUnlocked(_o[e])||c.push(_o[e])})),0!==c.length&&e.appendChild(Rn("basic","Rare plant drops left to unlock",In(c))),e}())),o.appendChild($n("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige(Rt+Game.cookiesReset+kt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?ft:0)));t.appendChild(Rn("withTooltip","Prestige level (cur / max)",document.createTextNode(`${de(Game.prestige)} / ${de(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-(Rt+Game.cookiesReset+kt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&&ft?ft:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(de(n)));const a=document.createElement("small");a.textContent=` (${pe(n/It,1)})`,i.appendChild(a),t.appendChild(Rn("withTooltip","Cookies to next level",i,"NextPrestTooltipPlaceholder")),t.appendChild(Rn("withTooltip","Heavenly chips (cur / max)",document.createTextNode(`${de(Game.heavenlyChips)} / ${de(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild(Rn("basic","Heavenly chips per second (last 5 seconds)",document.createTextNode(de(mt,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild(Rn("basic","Heavenly chips to target set in settings (cur)",document.createTextNode(de(e)))),t.appendChild(Rn("basic","Time till target (cur, current 5 second average)",document.createTextNode(pe(e/mt)))))}const l=function(e){let t=Game.cookiesPs;xo(),0===Zt["Heavenly key"].bought&&(Zt["Heavenly chip secret"].bought=1,Zt["Heavenly cookie stand"].bought=1,Zt["Heavenly bakery"].bought=1,Zt["Heavenly confectionery"].bought=1,Zt["Heavenly key"].bought=1,$o(),t=Qe,xo()),Rt>=1e6&&Uo("Sacrifice"),Rt>=1e9&&Uo("Oblivion"),Rt>=1e12&&Uo("From scratch"),Rt>=1e15&&Uo("Nihilism"),Rt>=1e18&&Uo("Dematerialize"),Rt>=1e21&&Uo("Nil zero zilch"),Rt>=1e24&&Uo("Transcendence"),Rt>=1e27&&Uo("Obliterate"),Rt>=1e30&&Uo("Negative void"),Rt>=1e33&&Uo("To crumbs, you say?"),Rt>=1e36&&Uo("You get nothing"),Rt>=1e39&&Uo("Humble rebeginnings"),Rt>=1e42&&Uo("The end of the world"),Rt>=1e45&&Uo("Oh, you're back"),Rt>=1e48&&Uo("Lazarus"),Rt>=1e51&&Uo("Smurf account"),Rt>=1e54&&Uo("If at first you don't succeed"),Zt["Heavenly chip secret"].bought=1,Zt["Heavenly cookie stand"].bought=1,Zt["Heavenly bakery"].bought=1,Zt["Heavenly confectionery"].bought=1,Zt["Heavenly key"].bought=1,He=e;const o=je;$o(),Xo(),o!==je&&$o();const n=Qe-t;return He=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(de(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(Rn("withTooltip","Reset bonus income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Rn("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Rn("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Rn("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild($n("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${de(kt)} / ${de(Gt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){Nn()},e.appendChild(t),o.appendChild(Rn("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${de(vt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==vt[1]&&(Game.wrinklers[vt[1]].hp=0)},n.appendChild(i),o.appendChild(Rn("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==vt[1]?vt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(Io).forEach((e=>{Game.Has(Io[e])||(n.push(Io[e]),o=!0)}));const i=[];Object.keys(zo).forEach((e=>{Game.Has(zo[e])||(i.push(zo[e]),o=!0)}));const a=[];Object.keys(Vo).forEach((e=>{Game.Has(Vo[e])||(a.push(Vo[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild($n("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(Rn("basic","Halloween cookies left to buy",In(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild(Rn("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${de((1-e)*o*100)}% / ${de((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild(Rn("basic","Christmas cookies left to buy",In(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild(Rn("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${de((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild(Rn("basic","Valentine cookies left to buy",In(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(Rn("basic","Normal easter eggs left to unlock",In(r))),t.appendChild(Rn("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${de(100*e(.98)[0])}% / ${de(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(Rn("basic","Rare easter eggs left to unlock",In(l))),t.appendChild(Rn("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${de(100*e(.98)[1])}% / ${de(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild(Rn("basic","Reindeer reward",document.createTextNode(de(gt)))),s&&t.appendChild(Rn("withTooltip","Chocolate egg cookies",document.createTextNode(de(ft)),"ChoEggTooltipPlaceholder")),c&&t.appendChild(Rn("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(ht-1))/100+"%")))}return t}()),o.appendChild($n("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(Rn("basic",`Average cookies per second (past ${K[e.AvgCPSHist]<60?`${K[e.AvgCPSHist]} seconds`:K[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(de(po(),3)))),o.appendChild(Rn("basic",`Average cookie clicks per second (past ${J[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(de(Mt,1)))),o.appendChild(Rn("basic",`Cookies from clicking (past ${J[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(de(me.calcSum(Mt*J[e.AvgClicksHist]))))),Game.Has("Fortune cookies")){const e=[];Object.keys(Ro).forEach((t=>{Game.Has(Ro[t])||e.push(Ro[t])})),0!==e.length&&o.appendChild(Rn("basic","Fortune Upgrades Left to Buy",In(e)))}if(e.ShowMissedGC&&o.appendChild(Rn("basic","Missed golden cookies",document.createTextNode(de(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(Rn("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&Pt){const t=Pt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Pt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(St){const t=St.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=St,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Bt){const t=Bt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Bt,e.appendChild(i)}}})),e.MissingAchievements&&function(){let t;Object.values(document.querySelectorAll("div.title")).forEach((e=>{e.textContent.includes("Achievements")&&(t=e.parentElement.querySelectorAll("div.listing.crateBox")[0])})),e.MissingAchievements&&Object.values(t.children).forEach((e=>{if(!e.className.includes("enabled")){const t=e.onclick.toString().match(/(?<=\[).*(?=\])/g)[0],{icon:o}=Game.AchievementsById[t];e.style.backgroundPosition=`${48*-o[0]}px ${48*-o[1]}px`,e.onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return function(e){const t=[];"shadow"===e.pool?t.push("Shadow Achievement","#9700cf"):t.push("Achievement",0),t.push("Locked",0);let o=0;(Game.Has("Neuromancy")||Game.sesame&&"debug"===e.pool)&&(o=1),o&&0===e.won?t.push("Click to win!","#00c462"):o&&e.won>0&&t.push("Click to lose!","#00c462");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());let{desc:i}=e;e.descFunc&&(i=e.descFunc("stats"));let a="";for(let e=0;e[${t[e]}]`);return a=a.substring(1),`
\n
\n
${e.name}
\n ${a}
${i}
\n ${Game.sesame?`
Id : ${e.id} | Order : ${Math.floor(e.order)}${e.tier?` | Tier : ${e.tier}`:""}
`:""}`}(Game.AchievementsById[t])}),"top"),Game.tooltip.wobble())}}}))}()}const Vn={Favourite:"Favourite Settings",Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},_n={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function Qn(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){Un(t),Game.UpdateMenu()},n.appendChild(i),n}function Xn(t){const o=document.createElement("div");if(o.className="listing",1===e.FavouriteSettings&&o.appendChild(function(e){const t=document.createElement("a");return ce.includes(e)?(t.innerText="★",t.style.color="yellow"):t.innerText="☆",t.className="option",t.onclick=function(){!function(e){ce.includes(e)?ce=ce.filter((function(t){return t!==e})):ce.push(e)}(e),Bn(),Game.UpdateMenu()},t.onmouseover=function(){Game.tooltip.draw(this,escape(R.FavouriteSettingPlaceholder.innerHTML))},t.onmouseout=function(){Game.tooltip.hide()},t.appendChild(document.createTextNode(" ")),t}(t)),"bool"===yn[t].type){const n=document.createElement("a");yn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=Dn+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===yn[t].label.length?(e[t]=0,yn[t].toggle&&(l(Dn+t).className="option off")):l(Dn+t).className="option",void 0!==yn[t].func&&yn[t].func(),l(Dn+t).innerHTML=yn[t].label[e[t]],Bn()}(t)},n.textContent=yn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=yn[t].desc,i.style.lineHeight="1.6",o.appendChild(i),o}if("vol"===yn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=yn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Hn(t)},r.onchange=function(){Hn(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){Tn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===yn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${yn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=Dn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${Dn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){!function(e,t){Game.promptWrapL.className="framed";const o=e;Game.promptL.innerHTML=`${o}
`,Object.keys(t).forEach((e=>{const o=document.createElement("a");o.id=`promptOption${e}`,o.className="option",o.onclick=function(){PlaySound("snd/tick.mp3"),t[e][1]()},o.textContent=t[e][0],Game.promptL.children[1].appendChild(o)})),Game.promptAnchorL.style.display="block",Game.darkenL.style.display="block",Game.promptL.focus(),Game.promptOn=1,Game.UpdatePrompt()}(a.outerHTML,[["Save",function(){e[t]=l(`CMConfig${t}Prompt`).value,Bn(),Game.ClosePrompt(),Game.UpdateMenu()}],["Cancel",function(){Game.ClosePrompt()}]])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=yn[t].desc,s.style.lineHeight="1.6",o.appendChild(s),o}if("colour"===yn[t].type){const n=document.createElement("span");n.className="option";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new An(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),Pn(),Bn(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=yn[t].desc,a.style.lineHeight="1.6",n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){xn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),jn().init(),o}if("numscale"===yn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${yn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=Dn+t,i.className="option",i.type="number",i.value=e[t],i.min=yn[t].min,i.max=yn[t].max,i.oninput=function(){this.value>this.max&&console.log("TEST"),e[t]=this.value,Bn(),pn()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=yn[t].desc,a.style.lineHeight="1.6",o.appendChild(a),o}return o}function qn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function Yn(){P.Beautify=Beautify,Beautify=de,P.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){P.CalculateGains(),Ve=1},P.tooltip={},P.tooltip.draw=Game.tooltip.draw,P.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){P.tooltip.drawMod(e,t,o)},P.tooltip.update=Game.tooltip.update,P.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){P.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},P.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){qn(P.UpdateWrinklers)},P.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){qn(P.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){qn(Game.ClickCookie)}),!1),P.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){P.RebuildUpgrades(),S=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(S[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return On("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},P.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e].amount>0){const o=Jt[Game.ObjectsById[e].name].name;Jt[o].amount-=1,We-=1,t=Jt[o].basePrice*Game.priceIncrease**Math.max(0,Jt[o].amount-1-Jt[o].free),t=Game.modifyBuildingPrice(Jt[o],t),t=Math.ceil(t);break}const o=je;return $o(),Xo(),o!==je&&$o(),[Qe-Game.cookiesPs,t]}(t),n=pe(o/(e+Game.cookiesPs)),i=de(e/Game.cookiesPs*100);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${de(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},P.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){P.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${Je}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},P.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==jn().picker&&void 0!==jn().picker.owner||(P.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(Vn).forEach((t=>{if("Favourite"===t){if(0!==ce.length&&e.FavouriteSettings>0&&(o.appendChild(Qn(t,Vn[t])),e.Header[t]))for(let e=0;e{const n=Qn(t,_n[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(yn).forEach((e=>{yn[e].group===t&&o.appendChild(Xn(e))}))})):Object.keys(yn).forEach((e=>{yn[e].group===t&&o.appendChild(Xn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){En(sn)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",zn(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){Un("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},P.sayTime=Game.sayTime,z=function(e,t){return Number.isNaN(e)||e<=0?P.sayTime(e,t):pe(e/Game.fps,1)},P.Logic=Game.Logic,Game.Logic=function(){P.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),se=`${Game.OnAscend?"Ascending! ":""}${de(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=se;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=zt?zt.wrath?`[W${Math.ceil(zt.life/Game.fps)}]`:`[G${Math.ceil(zt.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil(Vt.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=se;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;zt&&(t=!0,zt.wrath?e+=`[W${Math.ceil(zt.life/Game.fps)}]`:e+=`[G${Math.ceil(zt.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil(Vt.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${de(Game.prestige)}.
(CpS +${de(Game.prestige)}%)`,n+='
'),n+=Ne<1?"Ascending now would grant you no prestige.":Ne<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${de(Ne)} prestige levels (+${de(Ne)}% CpS)
and ${de(Ne)} heavenly chips to spend.`,n+='
',n+=`You need ${de(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${_t} to reach the next level and you were making ${de(mt,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Kn(){vn(),nn(),ln(),r=Object.keys(Game.mods).length,x=document.createElement("style"),x.type="text/css",x.id="CMCSS",document.head.appendChild(x),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=B+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",F)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",N)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",N)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",N)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{ho(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=mo("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:j},{id:"CMTimerBarGCBar",color:A}]);e.appendChild(t);const o=mo("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:j},{id:"CMTimerBarRenBar",color:W}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=E+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(N,"Better than the best PP of a building option")),e.appendChild(o(O,"Same as the best PP building option")),e.appendChild(o(F,"Within the top 10 of PP for buildings")),e.appendChild(o(W,"Within the top 20 of PP for buildings")),e.appendChild(o(L,"Within the top 30 of PP for buildings")),e.appendChild(o(A,"Outside of the top 30 of PP for buildings")),e.appendChild(o(j,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=B+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",N)),e.appendChild(o("CMUpgradeBarGreen",O)),e.appendChild(o("CMUpgradeBarYellow",F)),e.appendChild(o("CMUpgradeBarOrange",W)),e.appendChild(o("CMUpgradeBarRed",L)),e.appendChild(o("CMUpgradeBarPurple",A)),e.appendChild(o("CMUpgradeBarGray",j)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys($).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),R[e]=n}($[e][0],$[e][1],$[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){Nn()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return On("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==vt[1]&&(Game.wrinklers[vt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return On("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(T[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return On("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return On("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return On("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return On("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),Fn(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return On("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return On("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),Ln()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){V=1},l("backgroundLeftCanvas").onmouseout=function(){V=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{Q[e]=0}))},Yn(),Ln(),Game.CalculateGains(),En(),I=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const Jn={init:function(){wn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Kn(),Game.registerHook("draw",No),Game.registerHook("logic",Sn),Game.registerHook("click",Oo),wn=!1)},load:function(e){const t=JSON.parse(e);vn(),void 0!==t.favouriteSettings&&(ce=t.favouriteSettings),En(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:bn};Game.registerMod("CookieMonster",Jn)})()})(); diff --git a/dist/CookieMonster.js b/dist/CookieMonster.js index 6ad999d..024e1ad 100644 --- a/dist/CookieMonster.js +++ b/dist/CookieMonster.js @@ -1,2 +1,2 @@ /*! For license information please see CookieMonster.js.LICENSE.txt */ -(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,v,w,x=[],T=[],M=[],S={};const P="CMText",B="CMBack",E="Blue",N="Green",O="Yellow",F="Orange",W="Red",L="Purple",A="Gray",j="Pink",D="Brown",H=[A,E,N,O,F,W,L,j,D],U=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"],["FavouriteSettingPlaceholder","Click to set this setting as favourite and show it in 'favourite' settings at the top of the Cookie Monster Settings","250px"]],$={};let R,I,z=0,V=-1,_=[],Q=1,X=1,q=1;const Y=[10,15,30,60,300,600,900,1800],K=[1,5,10,15,30],J={Frenzy:O,"Dragon Harvest":D,"Elder frenzy":N,Clot:W,"Click frenzy":E,Dragonflight:j};let Z,ee,te,oe,ne,ie,ae,re={},le="",se=[];function ce(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return S.Beautify(t,o);if(Number.isFinite(t)){if(t<0)return`-${ce(Math.abs(t))}`;let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function pe(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=N):(n=de(t),o=t>300?W:t>60?F:O),{text:n,color:o}}let ue,me,he,ge,fe,Ce,ye,be,ke,Ge,ve,we,xe,Te,Me,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Ue,$e,Re,Ie,ze,Ve,_e,Qe,Xe=0,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=0,st=0,ct=1,dt=1,pt=1,ut=0,mt=0,ht=0,gt=0,ft={},Ct={},yt={},bt=0,kt=0,Gt=[0,null],vt=0,wt=0,xt={},Tt={},Mt={},St={},Pt={},Bt=0,Et=0,Nt=[],Ot=0,Ft=0,Wt=[],Lt=0,At=0,jt=[],Dt=0,Ht=0,Ut=[],$t=0,Rt=0,It={},zt={},Vt=0,_t=0,Qt=[],Xt={},qt=0,Yt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},Kt=[],Jt=[],Zt=[];function eo(e){let t=0;return Game.dragonAuras[He].name!==e&&Game.dragonAuras[Ue].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[He].name&&"Reality Bending"!==Game.dragonAuras[Ue].name||(t+=.1),t}function to(){let e=.25;return e*=1+eo("Earth Shatterer"),e}function oo(e,t){return void 0===Ve[e]?void 0===t?1:t:Ve[e]}function no(e){const t=Jt[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function io(e){if(Game.hasGod){void 0===Kt.Temple.minigame&&(Kt.Temple.minigame=Game.Objects.Temple.minigame);const t=Kt.Temple.minigame.gods[e];if($e===t.id)return 1;if(Re===t.id)return 2;if(Ie===t.id)return 3}return!1}function ao(e,t){let o=t;if(no("Season savings")&&(o*=.99),no("Santa's dominion")&&(o*=.99),no("Faberge egg")&&(o*=.99),no("Divine discount")&&(o*=.99),no("Fortune #100")&&(o*=.99),o*=1-.02*eo("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&no(e.fortune.name)&&(o*=.93),o*=oo("buildingCost"),Kt.Temple.minigameLoaded){const e=io("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function ro(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function lo(){let t=Game.buyBulk;if(1===Game.buyMode?X=t:t=X,1===t?t=ft:10===t?t=Ct:100===t&&(t=yt),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(ft).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=ce(ro(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(ft).map((e=>{const t=ft[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return H.indexOf(e.color)>H.indexOf(t.color)?1:H.indexOf(e.color){const t=ft[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eH.indexOf(t.color)?1:H.indexOf(e.color)e.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?Q=i:i=Q,1===i&&(i=ft),10===i&&(i=Ct),100===i&&(i=yt),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=ce(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=P+i[o].color,n=e.PPDisplayTime?de(Math.round(i[o].pp)):ce(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=pe((Game.Objects[o].bulkPrice-(Game.cookies+po()))/co());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=P+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&no(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(no(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&no(e.fortune.name)&&(t*=1.07),e.grandma&&no(e.grandma.name)&&(t*=1+.01*Kt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&no(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function Go(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;no("Thousand fingers")&&(t+=.1),no("Million fingers")&&(t*=5),no("Billion fingers")&&(t*=10),no("Trillion fingers")&&(t*=20),no("Quadrillion fingers")&&(t*=20),no("Quintillion fingers")&&(t*=20),no("Sextillion fingers")&&(t*=20),no("Septillion fingers")&&(t*=20),no("Octillion fingers")&&(t*=20),no("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(Kt).forEach((e=>{"Cursor"!==Kt[e].name&&(n+=Kt[e].amount)})),t*=n,o*=ko(e),o*=Game.magicCpS("Cursor"),o*=oo("cursorCps"),Game.ComputeCps(.1,no("Reinforced index finger")+no("Carpal tunnel prevention cream")+no("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{no(Game.GrandmaSynergies[e])&&(o*=2)})),no("Bingo center/Research facility")&&(o*=4),no("Ritual rolling pins")&&(o*=2),no("Naughty list")&&(o*=2),no("Elderwort biscuits")&&(o*=1.02),o*=oo("grandmaCps"),no("Cat ladies"))for(let e=0;e{"Grandma"!==Kt[e].name&&(i+=Kt[e].amount)})),o*=1+.01*eo("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=ko(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function vo(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(Kt).forEach((t=>{Kt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(no("Starlove")&&(e=3),Game.hasGod){const t=io("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function wo(){We=Game.UpgradesOwned,Le=Game.pledges,Ae=Game.AchievementsOwned,je=Game.heavenlyPower,De=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=Kt[e];void 0===o&&(Kt[e]=Go(e),o=Kt[e],mo(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&($e=t.minigame.slot[0],Re=t.minigame.slot[1],Ie=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),Kt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=Jt[e];void 0===o&&(Jt[e]=vo(e),o=Jt[e]),o.bought=t.bought,Jt[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=Zt[e];void 0===o&&(Zt[e]=bo(e),o=Zt[e]),o.won=t.won,Zt[e]=o})),yo(),He=Xe,Ue=qe}function xo(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function To(e){e.appendChild(xo("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(xo("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(xo("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(xo("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===te){e.appendChild(xo("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function Mo(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function Po(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function Bo(){if(wo(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===te?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(To(l("CMTooltipBorder")),1===Game.buyMode?q=t:t=q,1===Game.buyBulk?t=ft:10===Game.buyBulk?t=Ct:100===Game.buyBulk&&(t=yt),Z=Game.Objects[oe].bulkPrice,ee=t[oe].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=ce(ee,2);const o=Math.round(ee/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=P+t[oe].color,e.PPDisplayTime?l("CMTooltipPP").textContent=de(t[oe].pp):l("CMTooltipPP").textContent=ce(t[oe].pp,2),l("CMTooltipPP").className=P+t[oe].color;const n=pe((Z-(Game.cookies+po()))/co());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[oe[1]][oe[0]][0]-1].mature,o=t.plantsById[t.plot[oe[1]][oe[0]][0]-1].name;l("CMTooltipBorder").appendChild(xo("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${ce(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${ce(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${ce(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?ce(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${ce(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===te?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(xo("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=uo(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==J[Game.buffs[t].name]?J[Game.buffs[t].name]:L,a.lastChild.children[1].className=B+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),ae!==n&&(ae=n,fo())}}(),ho(),Bo(),function(){if(1===e.TooltipWrink&&1===z){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===_[t]||void 0===_[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),V=t,_[t]=1}}else _[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[V],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[V].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),Kt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=ce(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,ce(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}function No(){ue.addLatest(Game.computedMouseCps)}class Oo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}calcSum(e){let t=e;return t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length),0===t?0:this.queue.slice(-t).reduce(((e,t)=>e+t),0)}}function Fo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+qt;Game.cpsSucked>0&&(o+=bt),$t=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-be,i=Math.max(0,Game.cookies-ke)/n,a=Math.max(0,bt-Ge)/n,r=Math.max(0,Gt[0]-ve)/n,l=Math.max(0,o-gt)/n,s=(Game.cookieClicks-we)/n;for(let e=0;e0&&(n=W),n}function Lo(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=A;else{t[n].color=Wo(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+po()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||Qt.push([t[n].pp,o])}))}function jo(){!function(){_t=1/0,Qt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Ao(ft,1),Ao(Ct,10),Ao(yt,100),Qt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;Qt[t][1]>Game.cookies&&(t+=1,Qt.length!==t+1););_t=Qt[e.PPExcludeTop][t],Lo(ft,1),Lo(Ct,10),Lo(yt,100)}(),Object.keys(xt).forEach((e=>{Game.cookiesPs?xt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+po()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/xt[e].bonus:xt[e].pp=Game.Upgrades[e].getPrice()/xt[e].bonus,Number.isNaN(xt[e].pp)&&(xt[e].pp=1/0),xt[e].color=Wo(xt[e],Game.Upgrades[e].getPrice())}))}function Do(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),Ve=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(De)*je*function(){let e=0;if(no("Heavenly chip secret")&&(e+=.05),no("Heavenly cookie stand")&&(e+=.2),no("Heavenly bakery")&&(e+=.25),no("Heavenly confectionery")&&(e+=.25),no("Heavenly key")&&(e+=.25),e*=1+.05*eo("Dragon God"),no("Lucky digit")&&(e*=1.01),no("Lucky number")&&(e*=1.01),no("Lucky payout")&&(e*=1.01),Game.hasGod){const t=io("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=oo("cps"),no("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];no(o.name)&&("function"==typeof o.power?e*=1+.01*Jt[o.name].power(Jt[o.name]):e*=1+.01*o.power)})),no("Specialized chocolate chips")&&(e*=1.01),no("Designer cocoa beans")&&(e*=1.02),no("Underworld ovens")&&(e*=1.03),no("Exotic nuts")&&(e*=1.04),no("Arcane sugar")&&(e*=1.05),no("Increased merriness")&&(e*=1.15),no("Improved jolliness")&&(e*=1.15),no("A lump of coal")&&(e*=1.01),no("An itchy sweater")&&(e*=1.01),no("Santa's dominion")&&(e*=1.2),no("Fortune #100")&&(e*=1.01),no("Fortune #101")&&(e*=1.07),no("Dragon scale")&&(e*=1.03);let o=1;if(io){let t=io("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=io("ages"),1===t?e*=1+.15*Math.sin(Date.now()/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(Date.now()/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(Date.now()/1e3/86400*Math.PI*2)),t=io("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=io("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=io("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}no("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=Ae/25;let i=1;if(no("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*eo("Breath of Milk"),io){const e=io("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=oo("milk");let a=1;no("Kitten helpers")&&(a*=1+.1*n*i),no("Kitten workers")&&(a*=1+.125*n*i),no("Kitten engineers")&&(a*=1+.15*n*i),no("Kitten overseers")&&(a*=1+.175*n*i),no("Kitten managers")&&(a*=1+.2*n*i),no("Kitten accountants")&&(a*=1+.2*n*i),no("Kitten specialists")&&(a*=1+.2*n*i),no("Kitten experts")&&(a*=1+.2*n*i),no("Kitten consultants")&&(a*=1+.2*n*i),no("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),no("Kitten marketeers")&&(a*=1+.15*n*i),no("Kitten analysts")&&(a*=1+.125*n*i),no("Kitten executives")&&(a*=1+.115*n*i),no("Kitten angels")&&(a*=1+.1*n*i),no("Fortune #103")&&(a*=1+.05*n*i),Object.keys(Kt).forEach((e=>{const t=Kt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&no("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),_e+=t.amount*a})),no('"egg"')&&(_e+=9),e*=a;let r=1;if(no("Chicken egg")&&(r*=1.01),no("Duck egg")&&(r*=1.01),no("Turkey egg")&&(r*=1.01),no("Quail egg")&&(r*=1.01),no("Robin egg")&&(r*=1.01),no("Ostrich egg")&&(r*=1.01),no("Cassowary egg")&&(r*=1.01),no("Salmon roe")&&(r*=1.01),no("Frogspawn")&&(r*=1.01),no("Shark egg")&&(r*=1.01),no("Turtle egg")&&(r*=1.01),no("Ant larva")&&(r*=1.01),no("Century egg")){let e=10*Math.floor((Date.now()-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),mt=1+.1*(1-(1-e/100)**3),r*=mt}e*=r,no("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+eo("Radiant Appetite");const l=_e*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&Ho(Game.CpsAchievements[e].name)})),Qe=l;const{n:s}=Game.shimmerTypes.golden,c=eo("Dragon's Fortune");for(let t=0;t{no(e[o])&&(t+=.1)}))}e*=t}if(no("Shimmering veil [off]")){let t=.5;no("Reinforced membrane")&&(t+=.1),e*=1+t}no("Magic shenanigans")&&(e*=1e3),no("Occult obstruction")&&(e*=0),_e=Game.runModHookOnValue("cps",_e),e*=So(),_e*=e}const $o=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],Ro=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Io=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],zo=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],Vo=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function _o(e){return Zt[e]?Zt[e].won:0}function Qo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{no(Game.GrandmaSynergies[t])&&(e+=1)})),!_o("Elder")&&e>=7&&Ho("Elder"),!_o("Veteran")&&e>=14&&Ho("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(Kt).forEach((e=>{t+=Kt[e].amount,i=Math.min(Kt[e].amount,i),_o("Mathematician")||Kt[e].amount=1&&Ho("One with everything"),1===o&&Ho("Mathematician"),1===n&&Ho("Base 10"),i>=100&&Ho("Centennial"),i>=150&&Ho("Centennial and a half"),i>=200&&Ho("Bicentennial"),i>=250&&Ho("Bicentennial and a half"),i>=300&&Ho("Tricentennial"),i>=350&&Ho("Tricentennial and a half"),i>=400&&Ho("Quadricentennial"),i>=450&&Ho("Quadricentennial and a half"),i>=500&&Ho("Quincentennial"),i>=550&&Ho("Quincentennial and a half"),i>=600&&Ho("Sexcentennial"),t>=100&&Ho("Builder"),t>=500&&Ho("Architect"),t>=1e3&&Ho("Engineer"),t>=2e3&&Ho("Lord of Constructs"),t>=4e3&&Ho("Grand design"),t>=8e3&&Ho("Ecumenopolis"),We>=20&&Ho("Enhancer"),We>=50&&Ho("Augmenter"),We>=100&&Ho("Upgrader"),We>=200&&Ho("Lord of Progress"),We>=300&&Ho("The full picture"),We>=400&&Ho("When there's nothing left to add"),t>=4e3&&We>=300&&Ho("Polymath"),t>=8e3&&We>=400&&Ho("Renaissance baker"),Kt.Cursor.amount+Kt.Grandma.amount>=777&&Ho("The elder scrolls");let a=!0;Object.keys(Ro).forEach((e=>{no(Ro[e])||(a=!1)})),a&&Ho("Spooky cookies");let r=!0;if(Object.keys(Io).forEach((e=>{no(Io[e])||(r=!1)})),r&&Ho("Let it snow"),no("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{no(e[o].name)&&(t+=1)})),t>=e.length&&Ho("O Fortuna")}}function Xo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){wo(),Kt[e].amount+=t;const o=Kt[e];"Cursor"===e?(o.amount>=1&&Ho("Click"),o.amount>=2&&Ho("Double-click"),o.amount>=50&&Ho("Mouse wheel"),o.amount>=100&&Ho("Of Mice and Men"),o.amount>=200&&Ho("The Digital"),o.amount>=300&&Ho("Extreme polydactyly"),o.amount>=400&&Ho("Dr. T"),o.amount>=500&&Ho("Thumbs, phalanges, metacarpals"),o.amount>=600&&Ho("With her finger and her thumb"),o.amount>=700&&Ho("Gotta hand it to you"),o.amount>=800&&Ho("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&Ho(Game.Objects[o.name].tieredAchievs[e].name)}));const n=Ae;return Uo(),Qo(),n!==Ae&&Uo(),_e-Game.cookiesPs}(o,e),1!==e&&(Ne=1)})),t}function qo(){Object.keys(Game.Objects).forEach((e=>{ft[e].price=Do(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),Ct[e].price=Do(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),yt[e].price=Do(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Yo(){ft=Xo(1),Ct=Xo(10),yt=Xo(100),xt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){wo(),"Shimmering veil [on]"===Jt[e].name?Jt["Shimmering veil [off]"].bought=0:"Golden switch [on]"===Jt[e].name?Jt["Golden switch [off]"].bought=0:Jt[e].bought=(Jt[e].bought+1)%2,Jt[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(We+=1),"Elder Pledge"===e?(Le+=1,Le>0&&Ho("Elder nap"),Le>=5&&Ho("Elder slumber")):"Elder Covenant"===e?Ho("Elder calm"):"Prism heart biscuits"===e?Ho("Lovely cookies"):"Heavenly key"===e&&Ho("Wholesome");const t=Ae;Uo(),Qo(),t!==Ae&&Uo();const o=function(){let e=0;no("Thousand fingers")&&(e+=.1),no("Million fingers")&&(e*=5),no("Billion fingers")&&(e*=10),no("Trillion fingers")&&(e*=20),no("Quadrillion fingers")&&(e*=20),no("Quintillion fingers")&&(e*=20),no("Sextillion fingers")&&(e*=20),no("Septillion fingers")&&(e*=20),no("Octillion fingers")&&(e*=20),no("Nonillion fingers")&&(e*=20);let t=0;Object.keys(Kt).forEach((e=>{t+=Kt[e].amount})),t-=Kt.Cursor.amount,e*=t,no("Plastic mouse")&&(e+=.01*_e),no("Iron mouse")&&(e+=.01*_e),no("Titanium mouse")&&(e+=.01*_e),no("Adamantium mouse")&&(e+=.01*_e),no("Unobtainium mouse")&&(e+=.01*_e),no("Eludium mouse")&&(e+=.01*_e),no("Wishalloy mouse")&&(e+=.01*_e),no("Fantasteel mouse")&&(e+=.01*_e),no("Nevercrack mouse")&&(e+=.01*_e),no("Armythril mouse")&&(e+=.01*_e),no("Technobsidian mouse")&&(e+=.01*_e),no("Plasmarble mouse")&&(e+=.01*_e),no("Miraculite mouse")&&(e+=.01*_e),no("Fortune #104")&&(e+=.01*_e);let o=1;if(no("Santa's helpers")&&(o*=1.1),no("Cookie egg")&&(o*=1.1),no("Halo gloves")&&(o*=1.1),no("Dragon claw")&&(o*=1.03),no("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,no("Luminous gloves")?20:10)),o*=oo("click"),Kt.Temple.minigameLoaded&&io){const e=io("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*eo("Dragon Cursor");let n=o*Game.ComputeCps(1,no("Reinforced index finger")+no("Carpal tunnel prevention cream")+no("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[_e-Game.cookiesPs,o]:[_e-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(xt[t]={bonus:Game.cookiesPs-xe},1===e.CalcWrink?xt[t].bonus-=Te:2===e.CalcWrink&&(xt[t].bonus-=Me),Number.isFinite(xt[t].bonus)||(xt[t].bonus=0)):(xt[t]={},o[0]&&(xt[t].bonus=o[0]),o[1]&&(xt[t].bonusMouse=o[1]))}))}function Ko(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Nt=Ko(7,e,dt),Bt=2*Nt[1]/dt,Et=Nt[2]/60/60/6/ct,Wt=Ko(6,e,pt),Ot=2*Wt[1]/pt,Ft=Wt[2]/60/60/6/ct,jt=Ko(7,7*e,dt),Lt=2*jt[1]/dt,At=jt[2]/60/60/6/ct,Ut=Ko(6,7*e,pt),Dt=2*Ut[1]/pt,Ht=Ut[2]/60/60/6/ct}function Zo(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Be,i=Math.max(0,o-Ee)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?St+=e:"cookie"===o.pool?Pt+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(Mt+=e)}}))}function tn(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),ht=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(ht*=2)}}function on(){Je=900*st/.15,Je*=ct;const e=So();e>0?Je/=e:Je=0,Ze=dt*(.15*Je)+13,et=pt*(.15*Je)+13,tt=7*Je,ot=dt*(.15*tt)+13,nt=pt*(.15*tt)+13,it=2*Je,at=.15*it,rt=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountrt&&(rt=2*Game.Objects[e].price,lt=e)}))}function nn(){let e=1,t=1,o=1;no("Green yeast digestives")&&(o*=1.01),no("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),dt=o*e,pt=o*t,ct=1,0===Game.shimmerTypes.golden.n&&(ct*=1+1.23*Game.auraMult("Dragon's Fortune"))}function an(){bt=0,kt=0,Gt=[0,null];for(let e=0;eGt[0]&&(Gt=[t,e]))}}function rn(){yo(),an(),on(),nn(),Jo(),en(),tn(),me=new Oo(Y[Y.length-1]),he=new Oo(Y[Y.length-1]),ge=new Oo(Y[Y.length-1]),fe=new Oo(Y[Y.length-1]),Ce=new Oo(K[K.length-1]),ye=new Oo(5),ue=new Oo(20*K[K.length-1]),Zo(),Fo(),Yo(),qo(),jo()}const ln={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,MissingAchievements:0,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,FavouriteSettings:1,Header:{Favourite:1,Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},sn=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function cn(){1===e.BotBar?(l("CMBotBar").style.display="",ho()):l("CMBotBar").style.display="none",fo()}function dn(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),ho(),lo(),so()}function pn(){1===e.Favicon&&y>0?It.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class un{constructor(e,t){this.type=e,this.group=t}}class mn extends un{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class hn extends un{constructor(e,t,o){super(e,t),this.desc=o}}class gn extends un{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class fn extends un{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const Cn={CPSMode:new mn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new mn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new mn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new mn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){ze=!0})),Scale:new mn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Abbreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){dn()})),ScaleDecimals:new mn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){dn()})),ScaleSeparator:new mn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){dn()})),ScaleCutoff:new fn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new mn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new mn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=I:Game.sayTime=S.sayTime})),PPDisplayTime:new mn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new mn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){lo()})),PPOnlyConsiderBuyable:new mn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new mn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new mn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new fn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),ColourBlue:new hn("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new hn("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new hn("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new hn("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new hn("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new hn("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new hn("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new hn("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new hn("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new mn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){cn()})),TimerBar:new mn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){Co()})),TimerBarPos:new mn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),fo()})),TimerBarOverlay:new mn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new mn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",so()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",so()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new mn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new mn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){lo()})),SortUpgrades:new mn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){so()})),DragonAuraInfo:new mn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new mn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new mn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(re).forEach((e=>{re[e].style.display="block",re[e].style.left=Xt[e].l.style.left,re[e].style.top=Xt[e].l.style.top})):Object.keys(re).forEach((e=>re[e].style.display="none"))})),Favicon:new mn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){pn()})),WrinklerButtons:new mn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new mn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new mn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new mn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new mn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new mn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new mn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new mn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new mn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new fn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new mn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new mn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){Po()})),TooltipGrim:new mn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new mn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new mn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new mn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new mn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new mn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new mn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new mn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in statistics menu",!0),MissingAchievements:new mn("bool","Statistics",["Missing Achievements OFF","Missing Normal Achievements ON"],"Shows missing normal achievements in statistics menu.",!1),UpStats:new mn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new fn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new mn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new mn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new mn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new mn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){sn(e.GCNotification)})),GCFlash:new mn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new hn("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new mn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new gn("vol","NotificationGC",[],"Volume"),GCSoundURL:new mn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new mn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){sn(e.FortuneNotification)})),FortuneFlash:new mn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new hn("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new mn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new gn("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new mn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new mn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){sn(e.SeaNotification)})),SeaFlash:new mn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new hn("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new mn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new gn("vol","NotificationSea",[],"Volume"),SeaSoundURL:new mn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new mn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new hn("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new mn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new gn("vol","NotificationGard",[],"Volume"),GardSoundURL:new mn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new mn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){sn(e.MagicNotification)})),MagicFlash:new mn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new hn("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new mn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new gn("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new mn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new mn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){sn(e.WrinklerNotification)})),WrinklerFlash:new mn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new hn("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new mn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new gn("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new mn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new mn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){sn(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new mn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new hn("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new mn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new gn("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new mn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new mn("bool","Miscellaneous",["Block bulk buying OFF","Block bulk buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0),FavouriteSettings:new mn("bool","Miscellaneous",["Favourite settings section OFF","Favourite settings section ON","Favourite settings section ON (Locked)"],"Show stars before each setting which allows selecting it for a 'favourites' section at the top of the Cookie Monster settings. Setting this to Locked removes the stars but shows the 'favourites' section",!0,(function(){Game.UpdateMenu()}))};function yn(){return JSON.stringify({favouriteSettings:se,settings:e,version:"2.031.6"})}function bn(){if(Ye!==Game.dragonLevel||ze){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{Kt[e]=Go(e)})),Jt=[],Object.keys(Game.Upgrades).forEach((e=>{Jt[e]=vo(e)})),Zt=[],Object.keys(Game.Achievements).forEach((e=>{Zt[e]=bo(e)})),wo()}let vn=!1;function wn(t,o,n){(1===e[o]||n)&&3===t&&!1===vn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){wn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){wn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){wn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function xn(t,o,n,i){if((1===e[o]||i)&&!1===vn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function Tn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===vn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function Mn(){if(ie!==Game.OnAscend&&(ie=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(cn(),Co()),go()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(Gn(),rn(),r=Object.keys(Game.mods).length),ze&&(Yo(),Game.Has("Golden switch [off]")?(wo(),Jt["Golden switch [off]"].bought=0,Uo(),st=_e):st=Game.cookiesPs,nn(),on(),en(),Jo(),bn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Yt[e][t]=kn(e,t)}(),tn(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;wo();let t=2;5!==He&&18!==He||(t-=1),5!==Ue&&18!==Ue||(t-=1),He=5,Ue=18;for(let e=0;e{Kt[t].amount>0&&(e=t)})),Kt[e].amount-=1,Fe-=1}return Object.keys(Kt).forEach((t=>{const o=Kt[t];e+=ro(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),qt=e}(),ze=0);const t=Game.auraMult("Fierce Hoarder")>0;!Oe&&t?(Oe=!0,Ne=1):Oe&&!t&&(Oe=!1,Ne=1),Ne&&(qo(),Ne=0),function(){an(),jo(),function(){vt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(Kt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}wt=e,vt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Fo(),Zo();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);Vt=de(e/co())}(),G=0,Xt={},Object.keys(Game.shimmers).forEach((e=>{Xt[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(It=Game.shimmers[e],G+=1)})),Object.keys(re).forEach((e=>{void 0===Xt[e]&&(re[e].parentNode.removeChild(re[e]),delete re[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===re[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},re[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),pn(),b=G,0===G&&(It=0)):1===e.GCTimer&&y&&Object.keys(re).forEach((e=>{re[e].style.opacity=Xt[e].l.style.opacity,re[e].style.transform=Xt[e].l.style.transform,re[e].textContent=Math.ceil(Xt[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(wn(3,"FortuneFlash",!1),xn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),Tn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&(zt=Game.shimmers[e])})),wn(3,"SeaFlash",!1),xn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),Tn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>v?(v=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?wn(3,"WrinklerMaxFlash",!1):wn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?xn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):xn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?Tn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):Tn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):v=t}}()}}function Sn(){let t="";for(let o=0;o{void 0===e[t]?(o=!0,e[t]=ln[t]):"Header"===t&&Object.keys(ln.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=ln[t][n])}))})),o&&Pn(),Mn(),Object.keys(ln).forEach((e=>{"Header"!==e&&void 0!==Cn[e].func&&Cn[e].func()}))}else Bn(ln);Game.UpdateMenu(),Sn()}function En(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Nn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Do(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${ce(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${pe((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(ce(Game.Objects[o].bulkPrice)).join(ce((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return te=t,oe=o,Bo(),l("tooltip").innerHTML}function On(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(T[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function Fn(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),Pn()}function Un(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){Hn(o),Game.UpdateMenu()},n.appendChild(i),n}function $n(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape($[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function Rn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function In(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(Un("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+po(){Game.HasUnlocked(Vo[e])||c.push(Vo[e])})),0!==c.length&&e.appendChild($n("basic","Rare plant drops left to unlock",Rn(c))),e}())),o.appendChild(Un("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige($t+Game.cookiesReset+bt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?gt:0)));t.appendChild($n("withTooltip","Prestige level (cur / max)",document.createTextNode(`${ce(Game.prestige)} / ${ce(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-($t+Game.cookiesReset+bt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&>?gt:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(ce(n)));const a=document.createElement("small");a.textContent=` (${de(n/Rt,1)})`,i.appendChild(a),t.appendChild($n("withTooltip","Cookies to next level",i,"NextPrestTooltipPlaceholder")),t.appendChild($n("withTooltip","Heavenly chips (cur / max)",document.createTextNode(`${ce(Game.heavenlyChips)} / ${ce(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild($n("basic","Heavenly chips per second (last 5 seconds)",document.createTextNode(ce(ut,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild($n("basic","Heavenly chips to target set in settings (cur)",document.createTextNode(ce(e)))),t.appendChild($n("basic","Time till target (cur, current 5 second average)",document.createTextNode(de(e/ut)))))}const l=function(e){let t=Game.cookiesPs;wo(),0===Jt["Heavenly key"].bought&&(Jt["Heavenly chip secret"].bought=1,Jt["Heavenly cookie stand"].bought=1,Jt["Heavenly bakery"].bought=1,Jt["Heavenly confectionery"].bought=1,Jt["Heavenly key"].bought=1,Uo(),t=_e,wo()),$t>=1e6&&Ho("Sacrifice"),$t>=1e9&&Ho("Oblivion"),$t>=1e12&&Ho("From scratch"),$t>=1e15&&Ho("Nihilism"),$t>=1e18&&Ho("Dematerialize"),$t>=1e21&&Ho("Nil zero zilch"),$t>=1e24&&Ho("Transcendence"),$t>=1e27&&Ho("Obliterate"),$t>=1e30&&Ho("Negative void"),$t>=1e33&&Ho("To crumbs, you say?"),$t>=1e36&&Ho("You get nothing"),$t>=1e39&&Ho("Humble rebeginnings"),$t>=1e42&&Ho("The end of the world"),$t>=1e45&&Ho("Oh, you're back"),$t>=1e48&&Ho("Lazarus"),$t>=1e51&&Ho("Smurf account"),$t>=1e54&&Ho("If at first you don't succeed"),Jt["Heavenly chip secret"].bought=1,Jt["Heavenly cookie stand"].bought=1,Jt["Heavenly bakery"].bought=1,Jt["Heavenly confectionery"].bought=1,Jt["Heavenly key"].bought=1,De=e;const o=Ae;Uo(),Qo(),o!==Ae&&Uo();const n=_e-t;return De=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(ce(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild($n("withTooltip","Reset bonus income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild($n("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild($n("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild($n("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(Un("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${ce(bt)} / ${ce(kt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){En()},e.appendChild(t),o.appendChild($n("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${ce(Gt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==Gt[1]&&(Game.wrinklers[Gt[1]].hp=0)},n.appendChild(i),o.appendChild($n("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==Gt[1]?Gt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(Ro).forEach((e=>{Game.Has(Ro[e])||(n.push(Ro[e]),o=!0)}));const i=[];Object.keys(Io).forEach((e=>{Game.Has(Io[e])||(i.push(Io[e]),o=!0)}));const a=[];Object.keys(zo).forEach((e=>{Game.Has(zo[e])||(a.push(zo[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(Un("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild($n("basic","Halloween cookies left to buy",Rn(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild($n("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${ce((1-e)*o*100)}% / ${ce((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild($n("basic","Christmas cookies left to buy",Rn(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild($n("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${ce((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild($n("basic","Valentine cookies left to buy",Rn(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild($n("basic","Normal easter eggs left to unlock",Rn(r))),t.appendChild($n("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${ce(100*e(.98)[0])}% / ${ce(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild($n("basic","Rare easter eggs left to unlock",Rn(l))),t.appendChild($n("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${ce(100*e(.98)[1])}% / ${ce(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild($n("basic","Reindeer reward",document.createTextNode(ce(ht)))),s&&t.appendChild($n("withTooltip","Chocolate egg cookies",document.createTextNode(ce(gt)),"ChoEggTooltipPlaceholder")),c&&t.appendChild($n("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(mt-1))/100+"%")))}return t}()),o.appendChild(Un("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild($n("basic",`Average cookies per second (past ${Y[e.AvgCPSHist]<60?`${Y[e.AvgCPSHist]} seconds`:Y[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(ce(co(),3)))),o.appendChild($n("basic",`Average cookie clicks per second (past ${K[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(ce(Tt,1)))),o.appendChild($n("basic",`Cookies from clicking (past ${K[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(ce(ue.calcSum(Tt*K[e.AvgClicksHist]))))),Game.Has("Fortune cookies")){const e=[];Object.keys($o).forEach((t=>{Game.Has($o[t])||e.push($o[t])})),0!==e.length&&o.appendChild($n("basic","Fortune Upgrades Left to Buy",Rn(e)))}if(e.ShowMissedGC&&o.appendChild($n("basic","Missed golden cookies",document.createTextNode(ce(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild($n("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&St){const t=St.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=St,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(Mt){const t=Mt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Mt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Pt){const t=Pt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Pt,e.appendChild(i)}}})),e.MissingAchievements&&function(){let t;Object.values(document.querySelectorAll("div.title")).forEach((e=>{e.textContent.includes("Achievements")&&(t=e.parentElement.querySelectorAll("div.listing.crateBox")[0])})),e.MissingAchievements&&Object.values(t.children).forEach((e=>{if(!e.className.includes("enabled")){const t=e.onclick.toString().match(/(?<=\[).*(?=\])/g)[0],{icon:o}=Game.AchievementsById[t];e.style.backgroundPosition=`${48*-o[0]}px ${48*-o[1]}px`,e.onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return function(e){const t=[];"shadow"===e.pool?t.push("Shadow Achievement","#9700cf"):t.push("Achievement",0),t.push("Locked",0);let o=0;(Game.Has("Neuromancy")||Game.sesame&&"debug"===e.pool)&&(o=1),o&&0===e.won?t.push("Click to win!","#00c462"):o&&e.won>0&&t.push("Click to lose!","#00c462");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());let{desc:i}=e;e.descFunc&&(i=e.descFunc("stats"));let a="";for(let e=0;e[${t[e]}]`);return a=a.substring(1),`
\n
\n
${e.name}
\n ${a}
${i}
\n ${Game.sesame?`
Id : ${e.id} | Order : ${Math.floor(e.order)}${e.tier?` | Tier : ${e.tier}`:""}
`:""}`}(Game.AchievementsById[t])}),"top"),Game.tooltip.wobble())}}}))}()}const zn={Favourite:"Favourite Settings",Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},Vn={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function _n(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){Hn(t),Game.UpdateMenu()},n.appendChild(i),n}function Qn(t){const o=document.createElement("div");if(o.className="listing",1===e.FavouriteSettings&&o.appendChild(function(e){const t=document.createElement("a");return se.includes(e)?(t.innerText="★",t.style.color="yellow"):t.innerText="☆",t.className="option",t.onclick=function(){!function(e){se.includes(e)?se=se.filter((function(t){return t!==e})):se.push(e)}(e),Pn(),Game.UpdateMenu()},t.onmouseover=function(){Game.tooltip.draw(this,escape($.FavouriteSettingPlaceholder.innerHTML))},t.onmouseout=function(){Game.tooltip.hide()},t.appendChild(document.createTextNode(" ")),t}(t)),"bool"===Cn[t].type){const n=document.createElement("a");Cn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=jn+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===Cn[t].label.length?(e[t]=0,Cn[t].toggle&&(l(jn+t).className="option off")):l(jn+t).className="option",void 0!==Cn[t].func&&Cn[t].func(),l(jn+t).innerHTML=Cn[t].label[e[t]],Pn()}(t)},n.textContent=Cn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=Cn[t].desc,i.style.lineHeight="1.6",o.appendChild(i),o}if("vol"===Cn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=Cn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Dn(t)},r.onchange=function(){Dn(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){xn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===Cn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${Cn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=jn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${jn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){!function(e,t){Game.promptWrapL.className="framed";const o=e;Game.promptL.innerHTML=`${o}
`,Object.keys(t).forEach((e=>{const o=document.createElement("a");o.id=`promptOption${e}`,o.className="option",o.onclick=function(){PlaySound("snd/tick.mp3"),t[e][1]()},o.textContent=t[e][0],Game.promptL.children[1].appendChild(o)})),Game.promptAnchorL.style.display="block",Game.darkenL.style.display="block",Game.promptL.focus(),Game.promptOn=1,Game.UpdatePrompt()}(a.outerHTML,[["Save",function(){e[t]=l(`CMConfig${t}Prompt`).value,Pn(),Game.ClosePrompt(),Game.UpdateMenu()}],["Cancel",function(){Game.ClosePrompt()}]])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=Cn[t].desc,s.style.lineHeight="1.6",o.appendChild(s),o}if("colour"===Cn[t].type){const n=document.createElement("span");n.className="option";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new Ln(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),Sn(),Pn(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=Cn[t].desc,a.style.lineHeight="1.6",n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){wn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),An().init(),o}if("numscale"===Cn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${Cn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=jn+t,i.className="option",i.type="number",i.value=e[t],i.min=Cn[t].min,i.max=Cn[t].max,i.oninput=function(){this.value>this.max&&console.log("TEST"),e[t]=this.value,Pn(),dn()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=Cn[t].desc,a.style.lineHeight="1.6",o.appendChild(a),o}return o}function Xn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function qn(){S.Beautify=Beautify,Beautify=ce,S.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){S.CalculateGains(),ze=1},S.tooltip={},S.tooltip.draw=Game.tooltip.draw,S.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){S.tooltip.drawMod(e,t,o)},S.tooltip.update=Game.tooltip.update,S.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){S.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},S.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){Xn(S.UpdateWrinklers)},S.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){Xn(S.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){Xn(Game.ClickCookie)}),!1),S.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){S.RebuildUpgrades(),M=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(M[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},S.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e].amount>0){const o=Kt[Game.ObjectsById[e].name].name;Kt[o].amount-=1,Fe-=1,t=Kt[o].basePrice*Game.priceIncrease**Math.max(0,Kt[o].amount-1-Kt[o].free),t=Game.modifyBuildingPrice(Kt[o],t),t=Math.ceil(t);break}const o=Ae;return Uo(),Qo(),o!==Ae&&Uo(),[_e-Game.cookiesPs,t]}(t),n=de(o/(e+Game.cookiesPs)),i=ce(e/Game.cookiesPs*100);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${ce(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},S.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){S.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${Ke}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},S.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==An().picker&&void 0!==An().picker.owner||(S.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(zn).forEach((t=>{if("Favourite"===t){if(0!==se.length&&e.FavouriteSettings>0&&(o.appendChild(_n(t,zn[t])),e.Header[t]))for(let e=0;e{const n=_n(t,Vn[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(Cn).forEach((e=>{Cn[e].group===t&&o.appendChild(Qn(e))}))})):Object.keys(Cn).forEach((e=>{Cn[e].group===t&&o.appendChild(Qn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Bn(ln)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",In(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){Hn("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},S.sayTime=Game.sayTime,I=function(e,t){return Number.isNaN(e)||e<=0?S.sayTime(e,t):de(e/Game.fps,1)},S.Logic=Game.Logic,Game.Logic=function(){S.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),le=`${Game.OnAscend?"Ascending! ":""}${ce(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=le;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=It?It.wrath?`[W${Math.ceil(It.life/Game.fps)}]`:`[G${Math.ceil(It.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil(zt.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=le;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;It&&(t=!0,It.wrath?e+=`[W${Math.ceil(It.life/Game.fps)}]`:e+=`[G${Math.ceil(It.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil(zt.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${ce(Game.prestige)}.
(CpS +${ce(Game.prestige)}%)`,n+='
'),n+=Ee<1?"Ascending now would grant you no prestige.":Ee<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${ce(Ee)} prestige levels (+${ce(Ee)}% CpS)
and ${ce(Ee)} heavenly chips to spend.`,n+='
',n+=`You need ${ce(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${Vt} to reach the next level and you were making ${ce(ut,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Yn(){Gn(),on(),rn(),r=Object.keys(Game.mods).length,w=document.createElement("style"),w.type="text/css",w.id="CMCSS",document.head.appendChild(w),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=P+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",O)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",E)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",E)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",E)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{mo(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=uo("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:A},{id:"CMTimerBarGCBar",color:L}]);e.appendChild(t);const o=uo("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:A},{id:"CMTimerBarRenBar",color:F}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=B+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(E,"Better than the best PP of a building option")),e.appendChild(o(N,"Same as the best PP building option")),e.appendChild(o(O,"Within the top 10 of PP for buildings")),e.appendChild(o(F,"Within the top 20 of PP for buildings")),e.appendChild(o(W,"Within the top 30 of PP for buildings")),e.appendChild(o(L,"Outside of the top 30 of PP for buildings")),e.appendChild(o(A,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=P+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",E)),e.appendChild(o("CMUpgradeBarGreen",N)),e.appendChild(o("CMUpgradeBarYellow",O)),e.appendChild(o("CMUpgradeBarOrange",F)),e.appendChild(o("CMUpgradeBarRed",W)),e.appendChild(o("CMUpgradeBarPurple",L)),e.appendChild(o("CMUpgradeBarGray",A)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(U).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),$[e]=n}(U[e][0],U[e][1],U[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){En()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==Gt[1]&&(Game.wrinklers[Gt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(x[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),On(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Nn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),Wn()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){z=1},l("backgroundLeftCanvas").onmouseout=function(){z=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{_[e]=0}))},qn(),Wn(),Game.CalculateGains(),Bn(),R=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const Kn={init:function(){vn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Yn(),Game.registerHook("draw",Eo),Game.registerHook("logic",Mn),Game.registerHook("click",No),vn=!1)},load:function(e){const t=JSON.parse(e);Gn(),void 0!==t.favouriteSettings&&(se=t.favouriteSettings),Bn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:yn};Game.registerMod("CookieMonster",Kn)})()})(); +(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,v,w,x,T=[],M=[],S=[],P={};const B="CMText",E="CMBack",N="Blue",O="Green",F="Yellow",W="Orange",L="Red",A="Purple",j="Gray",D="Pink",H="Brown",U=[j,N,O,F,W,L,A,D,H],$=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"],["FavouriteSettingPlaceholder","Click to set this setting as favourite and show it in 'favourite' settings at the top of the Cookie Monster Settings","250px"]],R={};let I,z,V=0,_=-1,Q=[],X=1,q=1,Y=1;const K=[10,15,30,60,300,600,900,1800],J=[1,5,10,15,30],Z={Frenzy:F,"Dragon Harvest":H,"Elder frenzy":O,Clot:L,"Click frenzy":N,Dragonflight:D};let ee,te,oe,ne,ie,ae,re,le={},se="",ce=[];function de(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return P.Beautify(t,o);if(Number.isFinite(t)){if(t<0)return`-${de(Math.abs(t))}`;let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function ue(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=O):(n=pe(t),o=t>300?L:t>60?W:F),{text:n,color:o}}let me,he,ge,fe,Ce,ye,be,ke,Ge,ve,we,xe,Te,Me,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Ue,$e,Re,Ie,ze,Ve,_e,Qe,Xe,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=0,st=0,ct=0,dt=1,pt=1,ut=1,mt=0,ht=0,gt=0,ft=0,Ct={},yt={},bt={},kt=0,Gt=0,vt=[0,null],wt=0,xt=0,Tt={},Mt={},St={},Pt={},Bt={},Et=0,Nt=0,Ot=[],Ft=0,Wt=0,Lt=[],At=0,jt=0,Dt=[],Ht=0,Ut=0,$t=[],Rt=0,It=0,zt={},Vt={},_t=0,Qt=0,Xt=[],qt={},Yt=0,Kt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},Jt=[],Zt=[],eo=[];function to(e){let t=0;return Game.dragonAuras[Ue].name!==e&&Game.dragonAuras[$e].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[Ue].name&&"Reality Bending"!==Game.dragonAuras[$e].name||(t+=.1),t}function oo(){let e=.25;return e*=1+to("Earth Shatterer"),e}function no(e,t){return void 0===_e[e]?void 0===t?1:t:_e[e]}function io(e){const t=Zt[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function ao(e){if(Game.hasGod){void 0===Jt.Temple.minigame&&(Jt.Temple.minigame=Game.Objects.Temple.minigame);const t=Jt.Temple.minigame.gods[e];if(Re===t.id)return 1;if(Ie===t.id)return 2;if(ze===t.id)return 3}return!1}function ro(e,t){let o=t;if(io("Season savings")&&(o*=.99),io("Santa's dominion")&&(o*=.99),io("Faberge egg")&&(o*=.99),io("Divine discount")&&(o*=.99),io("Fortune #100")&&(o*=.99),o*=1-.02*to("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&io(e.fortune.name)&&(o*=.93),o*=no("buildingCost"),Jt.Temple.minigameLoaded){const e=ao("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function lo(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function so(){let t=Game.buyBulk;if(1===Game.buyMode?q=t:t=q,1===t?t=Ct:10===t?t=yt:100===t&&(t=bt),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(Ct).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=de(lo(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(Ct).map((e=>{const t=Ct[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return U.indexOf(e.color)>U.indexOf(t.color)?1:U.indexOf(e.color){const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return U.indexOf(e.color)>U.indexOf(t.color)?1:U.indexOf(e.color){const t=Ct[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eU.indexOf(t.color)?1:U.indexOf(e.color)e.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?X=i:i=X,1===i&&(i=Ct),10===i&&(i=yt),100===i&&(i=bt),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=de(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=B+i[o].color,n=e.PPDisplayTime?pe(Math.round(i[o].pp)):de(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=ue((Game.Objects[o].bulkPrice-(Game.cookies+uo()))/po());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=B+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&io(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(io(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&io(e.fortune.name)&&(t*=1.07),e.grandma&&io(e.grandma.name)&&(t*=1+.01*Jt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&io(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function vo(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;io("Thousand fingers")&&(t+=.1),io("Million fingers")&&(t*=5),io("Billion fingers")&&(t*=10),io("Trillion fingers")&&(t*=20),io("Quadrillion fingers")&&(t*=20),io("Quintillion fingers")&&(t*=20),io("Sextillion fingers")&&(t*=20),io("Septillion fingers")&&(t*=20),io("Octillion fingers")&&(t*=20),io("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(Jt).forEach((e=>{"Cursor"!==Jt[e].name&&(n+=Jt[e].amount)})),t*=n,o*=Go(e),o*=Game.magicCpS("Cursor"),o*=no("cursorCps"),Game.ComputeCps(.1,io("Reinforced index finger")+io("Carpal tunnel prevention cream")+io("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{io(Game.GrandmaSynergies[e])&&(o*=2)})),io("Bingo center/Research facility")&&(o*=4),io("Ritual rolling pins")&&(o*=2),io("Naughty list")&&(o*=2),io("Elderwort biscuits")&&(o*=1.02),o*=no("grandmaCps"),io("Cat ladies"))for(let e=0;e{"Grandma"!==Jt[e].name&&(i+=Jt[e].amount)})),o*=1+.01*to("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=Go(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function wo(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(Jt).forEach((t=>{Jt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(io("Starlove")&&(e=3),Game.hasGod){const t=ao("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function xo(){Le=Game.UpgradesOwned,Ae=Game.pledges,je=Game.AchievementsOwned,De=Game.heavenlyPower,He=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=Jt[e];void 0===o&&(Jt[e]=vo(e),o=Jt[e],ho(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(Re=t.minigame.slot[0],Ie=t.minigame.slot[1],ze=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),Jt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=Zt[e];void 0===o&&(Zt[e]=wo(e),o=Zt[e]),o.bought=t.bought,Zt[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=eo[e];void 0===o&&(eo[e]=ko(e),o=eo[e]),o.won=t.won,eo[e]=o})),bo(),Ue=qe,$e=Ye}function To(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function Mo(e){e.appendChild(To("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(To("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(To("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(To("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===oe){e.appendChild(To("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function So(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function Bo(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function Eo(){if(xo(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===oe?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(Mo(l("CMTooltipBorder")),1===Game.buyMode?Y=t:t=Y,1===Game.buyBulk?t=Ct:10===Game.buyBulk?t=yt:100===Game.buyBulk&&(t=bt),ee=Game.Objects[ne].bulkPrice,te=t[ne].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=de(te,2);const o=Math.round(te/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=B+t[ne].color,e.PPDisplayTime?l("CMTooltipPP").textContent=pe(t[ne].pp):l("CMTooltipPP").textContent=de(t[ne].pp,2),l("CMTooltipPP").className=B+t[ne].color;const n=ue((ee-(Game.cookies+uo()))/po());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[ne[1]][ne[0]][0]-1].mature,o=t.plantsById[t.plot[ne[1]][ne[0]][0]-1].name;l("CMTooltipBorder").appendChild(To("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?de(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${de(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?de(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${de(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?de(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${de(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?de(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${de(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===oe?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(To("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=mo(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==Z[Game.buffs[t].name]?Z[Game.buffs[t].name]:A,a.lastChild.children[1].className=E+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),re!==n&&(re=n,Co())}}(),go(),Eo(),function(){if(1===e.TooltipWrink&&1===V){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===Q[t]||void 0===Q[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),_=t,Q[t]=1}}else Q[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[_],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[_].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),Jt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=de(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,de(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}function Oo(){me.addLatest(Game.computedMouseCps)}class Fo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}calcSum(e){let t=e;return t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length),0===t?0:this.queue.slice(-t).reduce(((e,t)=>e+t),0)}}function Wo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+Yt;Game.cpsSucked>0&&(o+=kt),Rt=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-ke,i=Math.max(0,Game.cookies-Ge)/n,a=Math.max(0,kt-ve)/n,r=Math.max(0,vt[0]-we)/n,l=Math.max(0,o-ft)/n,s=(Game.cookieClicks-xe)/n;for(let e=0;e0&&(n=L),n}function Ao(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=j;else{t[n].color=Lo(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+uo()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||Xt.push([t[n].pp,o])}))}function Do(){!function(){Qt=1/0,Xt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),jo(Ct,1),jo(yt,10),jo(bt,100),Xt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;Xt[t][1]>Game.cookies&&(t+=1,Xt.length!==t+1););Qt=Xt[e.PPExcludeTop][t],Ao(Ct,1),Ao(yt,10),Ao(bt,100)}(),Object.keys(Tt).forEach((e=>{Game.cookiesPs?Tt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+uo()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/Tt[e].bonus:Tt[e].pp=Game.Upgrades[e].getPrice()/Tt[e].bonus,Number.isNaN(Tt[e].pp)&&(Tt[e].pp=1/0),Tt[e].color=Lo(Tt[e],Game.Upgrades[e].getPrice())}))}function Ho(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),_e=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(He)*De*function(){let e=0;if(io("Heavenly chip secret")&&(e+=.05),io("Heavenly cookie stand")&&(e+=.2),io("Heavenly bakery")&&(e+=.25),io("Heavenly confectionery")&&(e+=.25),io("Heavenly key")&&(e+=.25),e*=1+.05*to("Dragon God"),io("Lucky digit")&&(e*=1.01),io("Lucky number")&&(e*=1.01),io("Lucky payout")&&(e*=1.01),Game.hasGod){const t=ao("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=no("cps"),io("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];io(o.name)&&("function"==typeof o.power?e*=1+.01*Zt[o.name].power(Zt[o.name]):e*=1+.01*o.power)})),io("Specialized chocolate chips")&&(e*=1.01),io("Designer cocoa beans")&&(e*=1.02),io("Underworld ovens")&&(e*=1.03),io("Exotic nuts")&&(e*=1.04),io("Arcane sugar")&&(e*=1.05),io("Increased merriness")&&(e*=1.15),io("Improved jolliness")&&(e*=1.15),io("A lump of coal")&&(e*=1.01),io("An itchy sweater")&&(e*=1.01),io("Santa's dominion")&&(e*=1.2),io("Fortune #100")&&(e*=1.01),io("Fortune #101")&&(e*=1.07),io("Dragon scale")&&(e*=1.03);let o=1;if(ao){let t=ao("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=ao("ages"),1===t?e*=1+.15*Math.sin(w/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(w/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(w/1e3/86400*Math.PI*2)),t=ao("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=ao("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=ao("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}io("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=je/25;let i=1;if(io("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*to("Breath of Milk"),ao){const e=ao("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=no("milk");let a=1;io("Kitten helpers")&&(a*=1+.1*n*i),io("Kitten workers")&&(a*=1+.125*n*i),io("Kitten engineers")&&(a*=1+.15*n*i),io("Kitten overseers")&&(a*=1+.175*n*i),io("Kitten managers")&&(a*=1+.2*n*i),io("Kitten accountants")&&(a*=1+.2*n*i),io("Kitten specialists")&&(a*=1+.2*n*i),io("Kitten experts")&&(a*=1+.2*n*i),io("Kitten consultants")&&(a*=1+.2*n*i),io("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),io("Kitten marketeers")&&(a*=1+.15*n*i),io("Kitten analysts")&&(a*=1+.125*n*i),io("Kitten executives")&&(a*=1+.115*n*i),io("Kitten angels")&&(a*=1+.1*n*i),io("Fortune #103")&&(a*=1+.05*n*i),Object.keys(Jt).forEach((e=>{const t=Jt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&io("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),Qe+=t.amount*a})),io('"egg"')&&(Qe+=9),e*=a;let r=1;if(io("Chicken egg")&&(r*=1.01),io("Duck egg")&&(r*=1.01),io("Turkey egg")&&(r*=1.01),io("Quail egg")&&(r*=1.01),io("Robin egg")&&(r*=1.01),io("Ostrich egg")&&(r*=1.01),io("Cassowary egg")&&(r*=1.01),io("Salmon roe")&&(r*=1.01),io("Frogspawn")&&(r*=1.01),io("Shark egg")&&(r*=1.01),io("Turtle egg")&&(r*=1.01),io("Ant larva")&&(r*=1.01),io("Century egg")){let e=10*Math.floor((w-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),ht=1+.1*(1-(1-e/100)**3),r*=ht}e*=r,io("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+to("Radiant Appetite");const l=Qe*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&Uo(Game.CpsAchievements[e].name)})),Xe=l;const{n:s}=Game.shimmerTypes.golden,c=to("Dragon's Fortune");for(let t=0;t{io(e[o])&&(t+=.1)}))}e*=t}if(io("Shimmering veil [off]")){let t=.5;io("Reinforced membrane")&&(t+=.1),e*=1+t}io("Magic shenanigans")&&(e*=1e3),io("Occult obstruction")&&(e*=0),Qe=Game.runModHookOnValue("cps",Qe),e*=Po(),Qe*=e}const Ro=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],Io=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],zo=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],Vo=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],_o=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function Qo(e){return eo[e]?eo[e].won:0}function Xo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{io(Game.GrandmaSynergies[t])&&(e+=1)})),!Qo("Elder")&&e>=7&&Uo("Elder"),!Qo("Veteran")&&e>=14&&Uo("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(Jt).forEach((e=>{t+=Jt[e].amount,i=Math.min(Jt[e].amount,i),Qo("Mathematician")||Jt[e].amount=1&&Uo("One with everything"),1===o&&Uo("Mathematician"),1===n&&Uo("Base 10"),i>=100&&Uo("Centennial"),i>=150&&Uo("Centennial and a half"),i>=200&&Uo("Bicentennial"),i>=250&&Uo("Bicentennial and a half"),i>=300&&Uo("Tricentennial"),i>=350&&Uo("Tricentennial and a half"),i>=400&&Uo("Quadricentennial"),i>=450&&Uo("Quadricentennial and a half"),i>=500&&Uo("Quincentennial"),i>=550&&Uo("Quincentennial and a half"),i>=600&&Uo("Sexcentennial"),t>=100&&Uo("Builder"),t>=500&&Uo("Architect"),t>=1e3&&Uo("Engineer"),t>=2e3&&Uo("Lord of Constructs"),t>=4e3&&Uo("Grand design"),t>=8e3&&Uo("Ecumenopolis"),Le>=20&&Uo("Enhancer"),Le>=50&&Uo("Augmenter"),Le>=100&&Uo("Upgrader"),Le>=200&&Uo("Lord of Progress"),Le>=300&&Uo("The full picture"),Le>=400&&Uo("When there's nothing left to add"),t>=4e3&&Le>=300&&Uo("Polymath"),t>=8e3&&Le>=400&&Uo("Renaissance baker"),Jt.Cursor.amount+Jt.Grandma.amount>=777&&Uo("The elder scrolls");let a=!0;Object.keys(Io).forEach((e=>{io(Io[e])||(a=!1)})),a&&Uo("Spooky cookies");let r=!0;if(Object.keys(zo).forEach((e=>{io(zo[e])||(r=!1)})),r&&Uo("Let it snow"),io("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{io(e[o].name)&&(t+=1)})),t>=e.length&&Uo("O Fortuna")}}function qo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){xo(),Jt[e].amount+=t;const o=Jt[e];"Cursor"===e?(o.amount>=1&&Uo("Click"),o.amount>=2&&Uo("Double-click"),o.amount>=50&&Uo("Mouse wheel"),o.amount>=100&&Uo("Of Mice and Men"),o.amount>=200&&Uo("The Digital"),o.amount>=300&&Uo("Extreme polydactyly"),o.amount>=400&&Uo("Dr. T"),o.amount>=500&&Uo("Thumbs, phalanges, metacarpals"),o.amount>=600&&Uo("With her finger and her thumb"),o.amount>=700&&Uo("Gotta hand it to you"),o.amount>=800&&Uo("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&Uo(Game.Objects[o.name].tieredAchievs[e].name)}));const n=je;return $o(),Xo(),n!==je&&$o(),Qe-Game.cookiesPs}(o,e),1!==e&&(Oe=1)})),t}function Yo(){Object.keys(Game.Objects).forEach((e=>{Ct[e].price=Ho(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),yt[e].price=Ho(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),bt[e].price=Ho(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Ko(){Ct=qo(1),yt=qo(10),bt=qo(100),Tt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){xo(),"Shimmering veil [on]"===Zt[e].name?Zt["Shimmering veil [off]"].bought=0:"Golden switch [on]"===Zt[e].name?Zt["Golden switch [off]"].bought=0:Zt[e].bought=(Zt[e].bought+1)%2,Zt[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Le+=1),"Elder Pledge"===e?(Ae+=1,Ae>0&&Uo("Elder nap"),Ae>=5&&Uo("Elder slumber")):"Elder Covenant"===e?Uo("Elder calm"):"Prism heart biscuits"===e?Uo("Lovely cookies"):"Heavenly key"===e&&Uo("Wholesome");const t=je;$o(),Xo(),t!==je&&$o();const o=function(){let e=0;io("Thousand fingers")&&(e+=.1),io("Million fingers")&&(e*=5),io("Billion fingers")&&(e*=10),io("Trillion fingers")&&(e*=20),io("Quadrillion fingers")&&(e*=20),io("Quintillion fingers")&&(e*=20),io("Sextillion fingers")&&(e*=20),io("Septillion fingers")&&(e*=20),io("Octillion fingers")&&(e*=20),io("Nonillion fingers")&&(e*=20);let t=0;Object.keys(Jt).forEach((e=>{t+=Jt[e].amount})),t-=Jt.Cursor.amount,e*=t,io("Plastic mouse")&&(e+=.01*Qe),io("Iron mouse")&&(e+=.01*Qe),io("Titanium mouse")&&(e+=.01*Qe),io("Adamantium mouse")&&(e+=.01*Qe),io("Unobtainium mouse")&&(e+=.01*Qe),io("Eludium mouse")&&(e+=.01*Qe),io("Wishalloy mouse")&&(e+=.01*Qe),io("Fantasteel mouse")&&(e+=.01*Qe),io("Nevercrack mouse")&&(e+=.01*Qe),io("Armythril mouse")&&(e+=.01*Qe),io("Technobsidian mouse")&&(e+=.01*Qe),io("Plasmarble mouse")&&(e+=.01*Qe),io("Miraculite mouse")&&(e+=.01*Qe),io("Fortune #104")&&(e+=.01*Qe);let o=1;if(io("Santa's helpers")&&(o*=1.1),io("Cookie egg")&&(o*=1.1),io("Halo gloves")&&(o*=1.1),io("Dragon claw")&&(o*=1.03),io("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,io("Luminous gloves")?20:10)),o*=no("click"),Jt.Temple.minigameLoaded&&ao){const e=ao("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*to("Dragon Cursor");let n=o*Game.ComputeCps(1,io("Reinforced index finger")+io("Carpal tunnel prevention cream")+io("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[Qe-Game.cookiesPs,o]:[Qe-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(Tt[t]={bonus:Game.cookiesPs-Te},1===e.CalcWrink?Tt[t].bonus-=Me:2===e.CalcWrink&&(Tt[t].bonus-=Se),Number.isFinite(Tt[t].bonus)||(Tt[t].bonus=0)):(Tt[t]={},o[0]&&(Tt[t].bonus=o[0]),o[1]&&(Tt[t].bonusMouse=o[1]))}))}function Jo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Ot=Jo(7,e,pt),Et=2*Ot[1]/pt,Nt=Ot[2]/60/60/6/dt,Lt=Jo(6,e,ut),Ft=2*Lt[1]/ut,Wt=Lt[2]/60/60/6/dt,Dt=Jo(7,7*e,pt),At=2*Dt[1]/pt,jt=Dt[2]/60/60/6/dt,$t=Jo(6,7*e,ut),Ht=2*$t[1]/ut,Ut=$t[2]/60/60/6/dt}function en(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Ee,i=Math.max(0,o-Ne)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?Pt+=e:"cookie"===o.pool?Bt+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(St+=e)}}))}function on(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),gt=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(gt*=2)}}function nn(){Ze=900*ct/.15,Ze*=dt;const e=Po();e>0?Ze/=e:Ze=0,et=pt*(.15*Ze)+13,tt=ut*(.15*Ze)+13,ot=7*Ze,nt=pt*(.15*ot)+13,it=ut*(.15*ot)+13,at=2*Ze,rt=.15*at,lt=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountlt&&(lt=2*Game.Objects[e].price,st=e)}))}function an(){let e=1,t=1,o=1;io("Green yeast digestives")&&(o*=1.01),io("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),pt=o*e,ut=o*t,dt=1,0===Game.shimmerTypes.golden.n&&(dt*=1+1.23*Game.auraMult("Dragon's Fortune"))}function rn(){kt=0,Gt=0,vt=[0,null];for(let e=0;evt[0]&&(vt=[t,e]))}}function ln(){bo(),rn(),nn(),an(),Zo(),tn(),on(),he=new Fo(K[K.length-1]),ge=new Fo(K[K.length-1]),fe=new Fo(K[K.length-1]),Ce=new Fo(K[K.length-1]),ye=new Fo(J[J.length-1]),be=new Fo(5),me=new Fo(20*J[J.length-1]),en(),Wo(),Ko(),Yo(),Do()}const sn={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,MissingAchievements:0,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,FavouriteSettings:1,Header:{Favourite:1,Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},cn=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function dn(){1===e.BotBar?(l("CMBotBar").style.display="",go()):l("CMBotBar").style.display="none",Co()}function pn(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),go(),so(),co()}function un(){1===e.Favicon&&y>0?zt.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class mn{constructor(e,t){this.type=e,this.group=t}}class hn extends mn{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class gn extends mn{constructor(e,t,o){super(e,t),this.desc=o}}class fn extends mn{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class Cn extends mn{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const yn={CPSMode:new hn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new hn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new hn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new hn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){Ve=!0})),Scale:new hn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Abbreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){pn()})),ScaleDecimals:new hn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){pn()})),ScaleSeparator:new hn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){pn()})),ScaleCutoff:new Cn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new hn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new hn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=z:Game.sayTime=P.sayTime})),PPDisplayTime:new hn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new hn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){so()})),PPOnlyConsiderBuyable:new hn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new hn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new hn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new Cn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),ColourBlue:new gn("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new gn("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new gn("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new gn("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new gn("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new gn("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new gn("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new gn("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new gn("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new hn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){dn()})),TimerBar:new hn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){yo()})),TimerBarPos:new hn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),Co()})),TimerBarOverlay:new hn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new hn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",co()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",co()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new hn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new hn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){so()})),SortUpgrades:new hn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){co()})),DragonAuraInfo:new hn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new hn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new hn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(le).forEach((e=>{le[e].style.display="block",le[e].style.left=qt[e].l.style.left,le[e].style.top=qt[e].l.style.top})):Object.keys(le).forEach((e=>le[e].style.display="none"))})),Favicon:new hn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){un()})),WrinklerButtons:new hn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new hn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new hn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new hn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new hn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new hn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new hn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new hn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new hn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new Cn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new hn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new hn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){Bo()})),TooltipGrim:new hn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new hn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new hn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new hn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new hn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new hn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new hn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new hn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in statistics menu",!0),MissingAchievements:new hn("bool","Statistics",["Missing Achievements OFF","Missing Normal Achievements ON"],"Shows missing normal achievements in statistics menu.",!1),UpStats:new hn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new Cn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new hn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new hn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new hn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new hn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){cn(e.GCNotification)})),GCFlash:new hn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new gn("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new hn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new fn("vol","NotificationGC",[],"Volume"),GCSoundURL:new hn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new hn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){cn(e.FortuneNotification)})),FortuneFlash:new hn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new gn("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new hn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new fn("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new hn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new hn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){cn(e.SeaNotification)})),SeaFlash:new hn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new gn("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new hn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new fn("vol","NotificationSea",[],"Volume"),SeaSoundURL:new hn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new hn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new gn("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new hn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new fn("vol","NotificationGard",[],"Volume"),GardSoundURL:new hn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new hn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){cn(e.MagicNotification)})),MagicFlash:new hn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new gn("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new hn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new fn("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new hn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new hn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){cn(e.WrinklerNotification)})),WrinklerFlash:new hn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new gn("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new hn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new fn("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new hn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new hn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){cn(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new hn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new gn("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new hn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new fn("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new hn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new hn("bool","Miscellaneous",["Block bulk buying OFF","Block bulk buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0),FavouriteSettings:new hn("bool","Miscellaneous",["Favourite settings section OFF","Favourite settings section ON","Favourite settings section ON (Locked)"],"Show stars before each setting which allows selecting it for a 'favourites' section at the top of the Cookie Monster settings. Setting this to Locked removes the stars but shows the 'favourites' section",!0,(function(){Game.UpdateMenu()}))};function bn(){return JSON.stringify({favouriteSettings:ce,settings:e,version:"2.031.6"})}function kn(){if(Ke!==Game.dragonLevel||Ve){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{Jt[e]=vo(e)})),Zt=[],Object.keys(Game.Upgrades).forEach((e=>{Zt[e]=wo(e)})),eo=[],Object.keys(Game.Achievements).forEach((e=>{eo[e]=ko(e)})),xo()}let wn=!1;function xn(t,o,n){(1===e[o]||n)&&3===t&&!1===wn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){xn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){xn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){xn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function Tn(t,o,n,i){if((1===e[o]||i)&&!1===wn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function Mn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===wn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function Sn(){if(w=Date.now(),ae!==Game.OnAscend&&(ae=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(dn(),yo()),fo()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(vn(),ln(),r=Object.keys(Game.mods).length),Ve&&(Ko(),Game.Has("Golden switch [off]")?(xo(),Zt["Golden switch [off]"].bought=0,$o(),ct=Qe):ct=Game.cookiesPs,an(),nn(),tn(),Zo(),kn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Kt[e][t]=Gn(e,t)}(),on(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;xo();let t=2;5!==Ue&&18!==Ue||(t-=1),5!==$e&&18!==$e||(t-=1),Ue=5,$e=18;for(let e=0;e{Jt[t].amount>0&&(e=t)})),Jt[e].amount-=1,We-=1}return Object.keys(Jt).forEach((t=>{const o=Jt[t];e+=lo(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),Yt=e}(),Ve=0);const t=Game.auraMult("Fierce Hoarder")>0;!Fe&&t?(Fe=!0,Oe=1):Fe&&!t&&(Fe=!1,Oe=1),Oe&&(Yo(),Oe=0),function(){rn(),Do(),function(){wt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(Jt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}xt=e,wt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Wo(),en();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);_t=pe(e/po())}(),G=0,qt={},Object.keys(Game.shimmers).forEach((e=>{qt[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(zt=Game.shimmers[e],G+=1)})),Object.keys(le).forEach((e=>{void 0===qt[e]&&(le[e].parentNode.removeChild(le[e]),delete le[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===le[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},le[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),un(),b=G,0===G&&(zt=0)):1===e.GCTimer&&y&&Object.keys(le).forEach((e=>{le[e].style.opacity=qt[e].l.style.opacity,le[e].style.transform=qt[e].l.style.transform,le[e].textContent=Math.ceil(qt[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(xn(3,"FortuneFlash",!1),Tn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),Mn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&(Vt=Game.shimmers[e])})),xn(3,"SeaFlash",!1),Tn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),Mn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>v?(v=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?xn(3,"WrinklerMaxFlash",!1):xn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?Tn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):Tn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?Mn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):Mn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):v=t}}()}}function Pn(){let t="";for(let o=0;o{void 0===e[t]?(o=!0,e[t]=sn[t]):"Header"===t&&Object.keys(sn.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=sn[t][n])}))})),o&&Bn(),Sn(),Object.keys(sn).forEach((e=>{"Header"!==e&&void 0!==yn[e].func&&yn[e].func()}))}else En(sn);Game.UpdateMenu(),Pn()}function Nn(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function On(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Ho(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${de(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${ue((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(de(Game.Objects[o].bulkPrice)).join(de((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return oe=t,ne=o,Eo(),l("tooltip").innerHTML}function Fn(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(M[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return On("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function Wn(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),Bn()}function $n(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){Un(o),Game.UpdateMenu()},n.appendChild(i),n}function Rn(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(R[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function In(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function zn(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild($n("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+uo(){Game.HasUnlocked(_o[e])||c.push(_o[e])})),0!==c.length&&e.appendChild(Rn("basic","Rare plant drops left to unlock",In(c))),e}())),o.appendChild($n("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige(Rt+Game.cookiesReset+kt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?ft:0)));t.appendChild(Rn("withTooltip","Prestige level (cur / max)",document.createTextNode(`${de(Game.prestige)} / ${de(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-(Rt+Game.cookiesReset+kt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&&ft?ft:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(de(n)));const a=document.createElement("small");a.textContent=` (${pe(n/It,1)})`,i.appendChild(a),t.appendChild(Rn("withTooltip","Cookies to next level",i,"NextPrestTooltipPlaceholder")),t.appendChild(Rn("withTooltip","Heavenly chips (cur / max)",document.createTextNode(`${de(Game.heavenlyChips)} / ${de(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild(Rn("basic","Heavenly chips per second (last 5 seconds)",document.createTextNode(de(mt,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild(Rn("basic","Heavenly chips to target set in settings (cur)",document.createTextNode(de(e)))),t.appendChild(Rn("basic","Time till target (cur, current 5 second average)",document.createTextNode(pe(e/mt)))))}const l=function(e){let t=Game.cookiesPs;xo(),0===Zt["Heavenly key"].bought&&(Zt["Heavenly chip secret"].bought=1,Zt["Heavenly cookie stand"].bought=1,Zt["Heavenly bakery"].bought=1,Zt["Heavenly confectionery"].bought=1,Zt["Heavenly key"].bought=1,$o(),t=Qe,xo()),Rt>=1e6&&Uo("Sacrifice"),Rt>=1e9&&Uo("Oblivion"),Rt>=1e12&&Uo("From scratch"),Rt>=1e15&&Uo("Nihilism"),Rt>=1e18&&Uo("Dematerialize"),Rt>=1e21&&Uo("Nil zero zilch"),Rt>=1e24&&Uo("Transcendence"),Rt>=1e27&&Uo("Obliterate"),Rt>=1e30&&Uo("Negative void"),Rt>=1e33&&Uo("To crumbs, you say?"),Rt>=1e36&&Uo("You get nothing"),Rt>=1e39&&Uo("Humble rebeginnings"),Rt>=1e42&&Uo("The end of the world"),Rt>=1e45&&Uo("Oh, you're back"),Rt>=1e48&&Uo("Lazarus"),Rt>=1e51&&Uo("Smurf account"),Rt>=1e54&&Uo("If at first you don't succeed"),Zt["Heavenly chip secret"].bought=1,Zt["Heavenly cookie stand"].bought=1,Zt["Heavenly bakery"].bought=1,Zt["Heavenly confectionery"].bought=1,Zt["Heavenly key"].bought=1,He=e;const o=je;$o(),Xo(),o!==je&&$o();const n=Qe-t;return He=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(de(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(Rn("withTooltip","Reset bonus income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Rn("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Rn("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Rn("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild($n("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${de(kt)} / ${de(Gt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){Nn()},e.appendChild(t),o.appendChild(Rn("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${de(vt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==vt[1]&&(Game.wrinklers[vt[1]].hp=0)},n.appendChild(i),o.appendChild(Rn("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==vt[1]?vt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(Io).forEach((e=>{Game.Has(Io[e])||(n.push(Io[e]),o=!0)}));const i=[];Object.keys(zo).forEach((e=>{Game.Has(zo[e])||(i.push(zo[e]),o=!0)}));const a=[];Object.keys(Vo).forEach((e=>{Game.Has(Vo[e])||(a.push(Vo[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild($n("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(Rn("basic","Halloween cookies left to buy",In(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild(Rn("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${de((1-e)*o*100)}% / ${de((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild(Rn("basic","Christmas cookies left to buy",In(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild(Rn("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${de((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild(Rn("basic","Valentine cookies left to buy",In(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(Rn("basic","Normal easter eggs left to unlock",In(r))),t.appendChild(Rn("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${de(100*e(.98)[0])}% / ${de(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(Rn("basic","Rare easter eggs left to unlock",In(l))),t.appendChild(Rn("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${de(100*e(.98)[1])}% / ${de(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild(Rn("basic","Reindeer reward",document.createTextNode(de(gt)))),s&&t.appendChild(Rn("withTooltip","Chocolate egg cookies",document.createTextNode(de(ft)),"ChoEggTooltipPlaceholder")),c&&t.appendChild(Rn("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(ht-1))/100+"%")))}return t}()),o.appendChild($n("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(Rn("basic",`Average cookies per second (past ${K[e.AvgCPSHist]<60?`${K[e.AvgCPSHist]} seconds`:K[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(de(po(),3)))),o.appendChild(Rn("basic",`Average cookie clicks per second (past ${J[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(de(Mt,1)))),o.appendChild(Rn("basic",`Cookies from clicking (past ${J[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(de(me.calcSum(Mt*J[e.AvgClicksHist]))))),Game.Has("Fortune cookies")){const e=[];Object.keys(Ro).forEach((t=>{Game.Has(Ro[t])||e.push(Ro[t])})),0!==e.length&&o.appendChild(Rn("basic","Fortune Upgrades Left to Buy",In(e)))}if(e.ShowMissedGC&&o.appendChild(Rn("basic","Missed golden cookies",document.createTextNode(de(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(Rn("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&Pt){const t=Pt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Pt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(St){const t=St.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=St,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Bt){const t=Bt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Bt,e.appendChild(i)}}})),e.MissingAchievements&&function(){let t;Object.values(document.querySelectorAll("div.title")).forEach((e=>{e.textContent.includes("Achievements")&&(t=e.parentElement.querySelectorAll("div.listing.crateBox")[0])})),e.MissingAchievements&&Object.values(t.children).forEach((e=>{if(!e.className.includes("enabled")){const t=e.onclick.toString().match(/(?<=\[).*(?=\])/g)[0],{icon:o}=Game.AchievementsById[t];e.style.backgroundPosition=`${48*-o[0]}px ${48*-o[1]}px`,e.onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return function(e){const t=[];"shadow"===e.pool?t.push("Shadow Achievement","#9700cf"):t.push("Achievement",0),t.push("Locked",0);let o=0;(Game.Has("Neuromancy")||Game.sesame&&"debug"===e.pool)&&(o=1),o&&0===e.won?t.push("Click to win!","#00c462"):o&&e.won>0&&t.push("Click to lose!","#00c462");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());let{desc:i}=e;e.descFunc&&(i=e.descFunc("stats"));let a="";for(let e=0;e[${t[e]}]`);return a=a.substring(1),`
\n
\n
${e.name}
\n ${a}
${i}
\n ${Game.sesame?`
Id : ${e.id} | Order : ${Math.floor(e.order)}${e.tier?` | Tier : ${e.tier}`:""}
`:""}`}(Game.AchievementsById[t])}),"top"),Game.tooltip.wobble())}}}))}()}const Vn={Favourite:"Favourite Settings",Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},_n={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function Qn(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){Un(t),Game.UpdateMenu()},n.appendChild(i),n}function Xn(t){const o=document.createElement("div");if(o.className="listing",1===e.FavouriteSettings&&o.appendChild(function(e){const t=document.createElement("a");return ce.includes(e)?(t.innerText="★",t.style.color="yellow"):t.innerText="☆",t.className="option",t.onclick=function(){!function(e){ce.includes(e)?ce=ce.filter((function(t){return t!==e})):ce.push(e)}(e),Bn(),Game.UpdateMenu()},t.onmouseover=function(){Game.tooltip.draw(this,escape(R.FavouriteSettingPlaceholder.innerHTML))},t.onmouseout=function(){Game.tooltip.hide()},t.appendChild(document.createTextNode(" ")),t}(t)),"bool"===yn[t].type){const n=document.createElement("a");yn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=Dn+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===yn[t].label.length?(e[t]=0,yn[t].toggle&&(l(Dn+t).className="option off")):l(Dn+t).className="option",void 0!==yn[t].func&&yn[t].func(),l(Dn+t).innerHTML=yn[t].label[e[t]],Bn()}(t)},n.textContent=yn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=yn[t].desc,i.style.lineHeight="1.6",o.appendChild(i),o}if("vol"===yn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=yn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Hn(t)},r.onchange=function(){Hn(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){Tn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===yn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${yn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=Dn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${Dn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){!function(e,t){Game.promptWrapL.className="framed";const o=e;Game.promptL.innerHTML=`${o}
`,Object.keys(t).forEach((e=>{const o=document.createElement("a");o.id=`promptOption${e}`,o.className="option",o.onclick=function(){PlaySound("snd/tick.mp3"),t[e][1]()},o.textContent=t[e][0],Game.promptL.children[1].appendChild(o)})),Game.promptAnchorL.style.display="block",Game.darkenL.style.display="block",Game.promptL.focus(),Game.promptOn=1,Game.UpdatePrompt()}(a.outerHTML,[["Save",function(){e[t]=l(`CMConfig${t}Prompt`).value,Bn(),Game.ClosePrompt(),Game.UpdateMenu()}],["Cancel",function(){Game.ClosePrompt()}]])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=yn[t].desc,s.style.lineHeight="1.6",o.appendChild(s),o}if("colour"===yn[t].type){const n=document.createElement("span");n.className="option";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new An(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),Pn(),Bn(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=yn[t].desc,a.style.lineHeight="1.6",n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){xn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),jn().init(),o}if("numscale"===yn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${yn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=Dn+t,i.className="option",i.type="number",i.value=e[t],i.min=yn[t].min,i.max=yn[t].max,i.oninput=function(){this.value>this.max&&console.log("TEST"),e[t]=this.value,Bn(),pn()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=yn[t].desc,a.style.lineHeight="1.6",o.appendChild(a),o}return o}function qn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function Yn(){P.Beautify=Beautify,Beautify=de,P.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){P.CalculateGains(),Ve=1},P.tooltip={},P.tooltip.draw=Game.tooltip.draw,P.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){P.tooltip.drawMod(e,t,o)},P.tooltip.update=Game.tooltip.update,P.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){P.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},P.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){qn(P.UpdateWrinklers)},P.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){qn(P.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){qn(Game.ClickCookie)}),!1),P.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){P.RebuildUpgrades(),S=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(S[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return On("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},P.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e].amount>0){const o=Jt[Game.ObjectsById[e].name].name;Jt[o].amount-=1,We-=1,t=Jt[o].basePrice*Game.priceIncrease**Math.max(0,Jt[o].amount-1-Jt[o].free),t=Game.modifyBuildingPrice(Jt[o],t),t=Math.ceil(t);break}const o=je;return $o(),Xo(),o!==je&&$o(),[Qe-Game.cookiesPs,t]}(t),n=pe(o/(e+Game.cookiesPs)),i=de(e/Game.cookiesPs*100);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${de(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},P.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){P.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${Je}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},P.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==jn().picker&&void 0!==jn().picker.owner||(P.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(Vn).forEach((t=>{if("Favourite"===t){if(0!==ce.length&&e.FavouriteSettings>0&&(o.appendChild(Qn(t,Vn[t])),e.Header[t]))for(let e=0;e{const n=Qn(t,_n[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(yn).forEach((e=>{yn[e].group===t&&o.appendChild(Xn(e))}))})):Object.keys(yn).forEach((e=>{yn[e].group===t&&o.appendChild(Xn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){En(sn)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",zn(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){Un("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},P.sayTime=Game.sayTime,z=function(e,t){return Number.isNaN(e)||e<=0?P.sayTime(e,t):pe(e/Game.fps,1)},P.Logic=Game.Logic,Game.Logic=function(){P.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),se=`${Game.OnAscend?"Ascending! ":""}${de(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=se;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=zt?zt.wrath?`[W${Math.ceil(zt.life/Game.fps)}]`:`[G${Math.ceil(zt.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil(Vt.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=se;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;zt&&(t=!0,zt.wrath?e+=`[W${Math.ceil(zt.life/Game.fps)}]`:e+=`[G${Math.ceil(zt.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil(Vt.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${de(Game.prestige)}.
(CpS +${de(Game.prestige)}%)`,n+='
'),n+=Ne<1?"Ascending now would grant you no prestige.":Ne<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${de(Ne)} prestige levels (+${de(Ne)}% CpS)
and ${de(Ne)} heavenly chips to spend.`,n+='
',n+=`You need ${de(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${_t} to reach the next level and you were making ${de(mt,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Kn(){vn(),nn(),ln(),r=Object.keys(Game.mods).length,x=document.createElement("style"),x.type="text/css",x.id="CMCSS",document.head.appendChild(x),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=B+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",F)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",N)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",N)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",N)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{ho(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=mo("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:j},{id:"CMTimerBarGCBar",color:A}]);e.appendChild(t);const o=mo("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:j},{id:"CMTimerBarRenBar",color:W}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=E+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(N,"Better than the best PP of a building option")),e.appendChild(o(O,"Same as the best PP building option")),e.appendChild(o(F,"Within the top 10 of PP for buildings")),e.appendChild(o(W,"Within the top 20 of PP for buildings")),e.appendChild(o(L,"Within the top 30 of PP for buildings")),e.appendChild(o(A,"Outside of the top 30 of PP for buildings")),e.appendChild(o(j,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=B+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",N)),e.appendChild(o("CMUpgradeBarGreen",O)),e.appendChild(o("CMUpgradeBarYellow",F)),e.appendChild(o("CMUpgradeBarOrange",W)),e.appendChild(o("CMUpgradeBarRed",L)),e.appendChild(o("CMUpgradeBarPurple",A)),e.appendChild(o("CMUpgradeBarGray",j)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys($).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),R[e]=n}($[e][0],$[e][1],$[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){Nn()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return On("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==vt[1]&&(Game.wrinklers[vt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return On("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(T[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return On("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return On("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return On("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return On("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),Fn(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return On("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return On("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),Ln()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){V=1},l("backgroundLeftCanvas").onmouseout=function(){V=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{Q[e]=0}))},Yn(),Ln(),Game.CalculateGains(),En(),I=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const Jn={init:function(){wn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Kn(),Game.registerHook("draw",No),Game.registerHook("logic",Sn),Game.registerHook("click",Oo),wn=!1)},load:function(e){const t=JSON.parse(e);vn(),void 0!==t.favouriteSettings&&(ce=t.favouriteSettings),En(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:bn};Game.registerMod("CookieMonster",Jn)})()})(); diff --git a/dist/CookieMonster.js.map b/dist/CookieMonster.js.map index 1c671f4..ef7b280 100644 --- a/dist/CookieMonster.js.map +++ b/dist/CookieMonster.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack://cookiemonster-mod/CookieMonster.js"],"names":["__webpack_modules__","877","module","global","factory","exports","document","win","Error","window","this","BoxShadow","funcName","elm","jsc","jscolor","initialized","instances","readyQueue","register","addEventListener","pub","init","installBySelector","selector","rootNode","node","elms","querySelectorAll","matchClass","RegExp","lookupClass","i","length","dataOpts","m","undefined","type","toLowerCase","isColorAttrSupported","getDataAttr","className","match","targetElm","optsStr","console","warn","docsRef","opts","trim","parseOptionsStr","e","str","JSON","parse","eParse","looseJSON","Function","eEval","getInstances","inst","targetElement","push","createEl","tagName","el","createElement","setData","nodeOrSelector","sel","querySelector","isNode","val","Node","nodeType","nodeName","removeChildren","firstChild","removeChild","isTextInput","isButton","n","indexOf","isButtonEmpty","value","textContent","isPassiveEventSupported","supported","Object","defineProperty","get","removeEventListener","setAttribute","dataProp","obj","arguments","data","hasOwnProperty","prop","map","removeData","getData","setDefault","name","attrName","getAttribute","setDataAttr","_attachedGroupEvents","attachGroupEvent","groupName","evnt","func","detachGroupEvents","evt","preventDefault","returnValue","captureTarget","target","setCapture","_capturedTarget","releaseTarget","releaseCapture","triggerEvent","eventName","bubbles","cancelable","ev","Event","createEvent","initEvent","dispatchEvent","triggerInputEvent","eventKey","keys","9","13","27","code","keyCode","strList","replace","split","hasClass","classList","contains","addClass","classNames","add","removeClass","repl","remove","getCompStyle","getComputedStyle","currentStyle","setStyle","styles","important","reversible","priority","origStyle","setVal","style","setProperty","hexColor","r","g","b","Math","round","toString","substr","toUpperCase","hexaColor","a","rgbColor","rgbaColor","linearGradient","stdName","prefixes","helper","tryFunc","tryVal","background","getFuncName","Array","prototype","join","call","setBorderRadius","border-radius","setBoxShadow","box-shadow","getElementPos","relativeToViewport","x","y","rect","getBoundingClientRect","left","top","viewPos","getViewPos","getElementSize","offsetWidth","offsetHeight","getAbsPointerPos","changedTouches","clientX","clientY","getRelPointerPos","targetRect","srcElement","doc","documentElement","pageXOffset","scrollLeft","clientLeft","pageYOffset","scrollTop","clientTop","getViewSize","innerWidth","clientWidth","innerHeight","clientHeight","RGB_HSV","min","v","max","h","HSV_RGB","s","u","floor","parseColorString","ret","rgba","format","parseInt","charAt","mR","mG","mB","mA","par","re","parseFloat","parsePaletteValue","mixed","vals","isArray","colors","color","containsTranparentColor","isAlphaFormat","scaleCanvasForHighDPR","canvas","dpr","devicePixelRatio","width","height","getContext","scale","genColorPreviewCanvas","separatorPos","specWidth","scaleForHighDPR","sepW","previewSeparator","sqSize","chessboardSize","sqColor1","chessboardColor1","sqColor2","chessboardColor2","cWidth","cHeight","ctx","fillStyle","fillRect","start","clearRect","lineWidth","beginPath","strokeStyle","moveTo","lineTo","stroke","genColorPreviewGradient","position","params","right","apply","redrawPosition","picker","owner","tp","vp","thisObj","fixed","c","ts","vs","pd","getPickerDims","ps","borderW","borderH","l","smartPosition","pp","positionValue","contractShadow","_drawPosition","vShadow","shadowBlur","wrap","boxS","shadow","shadowColor","w","controlBorderWidth","sliderSpace","getControlPadding","sliderSize","getSliderChannel","hasAlphaChannel","pal","getPaletteDims","padding","closeButton","buttonHeight","pW","pH","contentW","contentH","paddedW","paddedH","borderWidth","palette","cols","rows","cellW","cellH","sampleCount","_palette","paletteCols","ceil","paletteSpacing","paletteHeight","pointerBorderWidth","pointerThickness","getPadYChannel","mode","triggerCallback","callback","error","triggerGlobal","eventNames","trigger","_pointerMoveEvent","mouse","touch","_pointerEndEvent","_pointerOrigin","onDocumentKeyUp","tryHide","onWindowResize","onWindowScroll","onParentScroll","onDocumentMouseDown","showOnClick","disabled","show","onControlPointerStart","onPickerTouchStart","controlName","pointerType","registerDragEvents","offset","onDocumentPointerMove","onDocumentPointerEnd","parent","frameElement","ofs","abs","rel","channels","fromHSVA","setPad","setSld","setASld","onPaletteSampleClick","currentTarget","_setFormat","getFormat","paletteSetsAlpha","_paletteHasTransparency","fromRGBA","hideOnPaletteClick","hide","ofsX","ofsY","pointerAbs","xVal","yVal","fmt","createPadCanvas","draw","hGrad","createLinearGradient","addColorStop","vGrad","createSliderGradient","color1","color2","grad","createASliderGradient","hShadow","blur","spread","inset","flags","leaveValue","leaveAlpha","leavePreview","enumOpts","previewPosition","alphaChannel","deprecatedOpts","styleElement","onFineChange","overwriteImportant","closable","insetWidth","insetColor","refine","THIS","setOption","option","oldOpt","newOpt","setter","getOption","getter","drawPicker","_processParentElementsInDOM","box","boxB","pad","padB","padM","padCanvas","cross","crossBY","crossBX","crossLY","crossLX","sld","sldB","sldM","sldGrad","sldPtrS","sldPtrIB","sldPtrMB","sldPtrOB","asld","asldB","asldM","asldGrad","asldPtrS","asldPtrIB","asldPtrMB","asldPtrOB","btn","btnT","appendChild","passive","insetColors","outsetColor","p","displaySlider","displayAlphaSlider","pickerDims","crossOuterSize","crossSize","controlPadding","borderRadius","PI","clear","zIndex","border","borderColor","backgroundColor","opacity","controlBorderColor","cursor","instance","control","pointerBorderColor","pointerColor","overflow","display","sliderInnerSpace","innerHTML","chessboard","si","sampleColor","sampleCssColor","sc","sw","backgroundImage","toDataURL","backgroundRepeat","backgroundPosition","bottom","maxWidth","whiteSpace","buttonColor","font","textAlign","onmousedown","lineHeight","createTextNode","closeText","redrawPad","redrawSld","redrawASld","activeClassName","container","body","parentNode","yChannel","rgb1","rgb2","rgb","toHEXString","sldChannel","isPickerOwner","alpha","onChange","onInput","valueElement","alphaElement","previewElement","previewSize","previewPadding","required","hash","uppercase","forceStyle","hideOnLeave","minS","maxS","minV","maxV","minA","maxA","redraw","exposeColor","success","opt","channel","res","evs","callbackProp","isNaN","hsv","fromHSV","fromRGB","fromString","setPreviewElementBg","setValueElementValue","toHEXAString","toRGBString","toRGBAString","toGrayscale","toCanvas","toBackground","isLight","_currentFormat","processValueInput","processAlphaInput","colorStr","alphaVal","setAlphaElementValue","backgrounds","image","size","repeat","origin","preview","bg","sty","background-image","background-position","background-size","background-repeat","background-origin","padding-left","padding-right","_parentElementsProcessed","compStyle","set__palette","options","presetsArr","preset","slice","pres","presets","nonProperties","test","min-width","valueElementOrigEvents","oninput","oldVal","initValue","initAlpha","install","shift","ready","triggerNow","installByClassName","JSColor","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__esModule","d","definition","key","o","enumerable","CMOptions","ToggleWrinklerButtons","WrinklerButtons","Game","elderWrath","metric","shortScale","shortScaleAbbreviated","LastModCount","TooltipLumpBackup","BackupGrimoireLaunch","BackupGrimoireLaunchMod","BackupGrimoireDraw","HasReplaceNativeGrimoireLaunch","HasReplaceNativeGrimoireDraw","LoadMinigames","LastSeasonPopupState","LastTickerFortuneState","LastGardenNextStep","LastGoldenCookieState","LastSpawnedGoldenCookieState","LastMagicBarFull","CurrSpawnedGoldenCookieState","LastWrinklerCount","DispCSS","TooltipBuildBackup","TooltipGrimoireBackup","TooltipUpgradeBackup","BackupFunctions","ColourTextPre","ColourBackPre","ColourBlue","ColourGreen","ColourYellow","ColourOrange","ColourRed","ColourPurple","ColourGray","ColourPink","ColourBrown","ColoursOrdering","TooltipText","SimpleTooltipElements","CMLastAscendState","CMSayTime","TooltipWrinklerArea","TooltipWrinkler","TooltipWrinklerBeingShown","LastTargetBotBar","LastTargetBuildings","LastTargetTooltipBuilding","CookieTimes","ClickTimes","BuffColours","Frenzy","Dragon Harvest","Elder frenzy","Clot","Click frenzy","Dragonflight","TooltipPrice","TooltipBonusIncome","TooltipType","TooltipName","TooltipBonusMouse","LastAscendState","LastNumberOfTimers","GCTimers","Title","FavouriteSettings","BeautifyFormatting_Beautify","num","floats","forced","decimals","ScaleDecimals","Infinity","Scale","Beautify","Number","isFinite","answer","ScaleCutoff","ScaleSeparator","toLocaleString","toExponential","exponential","AmountOfTenPowerThree","toFixed","log","FormatTime","time","longFormat","formattedTime","TimeFormat","GetTimeColour","text","CacheAverageCookiesFromClicks","CookiesDiff","WrinkDiff","WrinkFattestDiff","ChoEggDiff","ClicksDiff","HeavenlyChipsDiff","CacheLastCPSCheck","CacheLastCookies","CacheLastWrinkCookies","CacheLastWrinkFattestCookies","CacheLastClicks","CacheAverageGainBank","CacheAverageGainWrink","CacheAverageGainWrinkFattest","CacheAverageGainChoEgg","CacheAverageCPS","CacheLastHeavenlyCheck","CacheLastHeavenlyChips","CacheDoRemakeBuildPrices","CacheHadBuildAura","SimBuildingsOwned","SimUpgradesOwned","SimPledges","SimAchievementsOwned","SimHeavenlyPower","SimPrestige","SimDragonAura","SimDragonAura2","SimGod1","SimGod2","SimGod3","SimDoSims","SimEffs","SimCookiesPs","SimCookiesPsRaw","CacheDragonAura","CacheDragonAura2","CacheLastDragonLevel","CacheCostDragonUpgrade","CacheLucky","CacheLuckyReward","CacheLuckyWrathReward","CacheLuckyFrenzy","CacheLuckyRewardFrenzy","CacheLuckyWrathRewardFrenzy","CacheConjure","CacheConjureReward","CacheEdifice","CacheEdificeBuilding","CacheNoGoldSwitchCookiesPS","CacheDragonsFortuneMultAdjustment","CacheGoldenCookiesMult","CacheWrathCookiesMult","CacheHCPerSecond","CacheCentEgg","CacheSeaSpec","CacheLastChoEgg","CacheObjects1","CacheObjects10","CacheObjects100","CacheWrinklersTotal","CacheWrinklersNormal","CacheWrinklersFattest","CacheCurrWrinklerCPSMult","CacheCurrWrinklerCount","CacheUpgrades","CacheAverageClicks","CacheMissingUpgrades","CacheMissingUpgradesPrestige","CacheMissingUpgradesCookies","CacheChainRequired","CacheChainRequiredNext","CacheChainMaxReward","CacheChainWrathRequired","CacheChainWrathRequiredNext","CacheChainWrathMaxReward","CacheChainFrenzyRequired","CacheChainFrenzyRequiredNext","CacheChainFrenzyMaxReward","CacheChainFrenzyWrathRequired","CacheChainFrenzyWrathRequiredNext","CacheChainFrenzyWrathMaxReward","CacheRealCookiesEarned","CacheAvgCPSWithChoEgg","CacheSpawnedGoldenShimmer","CacheSeasonPopShimmer","CacheTimeTillNextPrestige","CacheMinPP","CachePPArray","CacheGoldenShimmersByID","CacheSellForChoEgg","CacheGods","0","1","2","3","4","5","6","7","8","10","SimObjects","SimUpgrades","SimAchievements","SimAuraMult","what","dragonAuras","SimGetSellMultiplier","giveBack","SimEff","def","SimHas","it","ascensionMode","pool","tier","bought","SimHasGod","hasGod","Temple","minigame","Objects","god","gods","id","SimModifyBuildingPrice","building","price","ModifiedPrice","hasBuff","fortune","minigameLoaded","godLvl","BuildingSell","build","basePrice","free","amount","noSim","noSimRes","toChange","startingAmount","moni","buyBulk","priceIncrease","modifyBuildingPrice","getSellMultiplier","UpdateBuildings","buyMode","BuildColour","forEach","removeProperty","SortBuildings","arr","k","sort","gridRow","UpdateUpgrades","UpBarColour","blue","green","yellow","orange","red","purple","gray","UpgradesInStore","me","addedColour","j","childNodes","div","SortUpgrades","nameChecker","arr2","upgrade","findIndex","order","GetCPS","CPSMode","CalcWrink","cookiesPs","cpsSucked","wrinklers","GetWrinkConfigBank","CreateTimer","bars","timerBar","margin","fontSize","marginRight","verticalAlign","colorBar","borderTopRightRadius","borderBottomRightRadius","timer","marginLeft","CreateBotBarBuildingColumn","buildingName","bonus","header","substring","lastChild","paddingLeft","UpdateBotBar","BotBar","count","PPString","PPDisplayTime","timeColour","bulkPrice","cookies","UpdateBackground","Background","LeftBackground","UpdateBotTimerBarPosition","TimerBar","TimerBarPos","ToggleTimerBar","CacheDragonAuras","dragonAura","dragonAura2","InitAchievement","achievementName","Achievements","you","SimGetTieredCpsMult","mult","tieredUpgrades","Tiers","special","synergies","syn","buildingTie1","buildingTie2","grandma","Grandma","misfortune","vanilla","InitialBuildingData","cps","magicCpS","ComputeCps","GrandmaSynergies","UpgradesByPool","kitten","Portal","baseCps","baseCPS","InitUpgrade","upgradeName","Upgrades","power","level","pow","CopyData","UpgradesOwned","pledges","AchievementsOwned","heavenlyPower","prestige","totalCookies","slot","won","TooltipCreateHeader","fontWeight","TooltipCreateCalculationSection","tooltip","income","marginBottom","click","production","CalculateGrimoireRefillTime","currentMagic","maxMagic","targetMagic","magic","fps","GetCPSBuffMult","buffs","multCpS","ToggleToolWarnPos","ToolWarnPos","UpdateTooltips","tooltipBox","paddingBottom","TooltipCreateTooltipBox","TooltipBuildUpgrade","increase","productionAchievs","HasAchiev","achiev","nextProductionAchiev","Building","getPrice","bonusMouse","previousSibling","chocolate","Upgrade","TooltipLump","lumpType","lumpColour","lumpCurrentType","SugarLump","spellCost","getSpellCost","spellsById","TooltipGrim","magicM","recover","recoverColour","conjure","reward","seperator","loss","Grimoire","Farm","TooltipPlots","plot","mature","plantsById","plantName","GardenPlots","totalGain","mortal","tile","immortal","matureBase","HarvestAll","WrinklerReward","WrinklerButton","TooltipPantheon","GodID","cps1","cps2","cps3","PantheonGods","getElementById","TooltipWarn","create","boxId","labelTextFront","labelTextBack","deficitId","transition","labelDiv","labelSpan","deficitDiv","deficitSpan","ToolWarnUser","TooltipCreateWarningSection","bonusIncomeUsed","ToolWarnBon","limitLucky","bonusNoFren","ToolWarnLucky","ToolWarnLuckyFrenzy","limitLuckyFrenzy","ToolWarnConjure","limitConjure","ToolWarnConjureFrenzy","limitConjureFrenzy","ToolWarnEdifice","children","Warnings","CMDrawHook","prefs","autosave","drawT","onMenu","Stats","innerText","sayTime","T","maxWidthTwoBar","maxWidthOneBar","numberOfTimers","shimmerTypes","golden","spawned","Has","minTime","maxTime","TimerBarOverlay","season","reindeer","BuffTimerBars","classColour","UpdateTimerBar","TooltipWrink","showingTooltip","phase","selected","placeholder","wrinkler","minWidth","escape","CheckWrinklerTooltip","sucked","toSuck","UpdateWrinklerTooltip","UpStats","UpdateMenu","monospace","CMClickHook","addLatest","computedMouseCps","CMAvgQueue","[object Object]","maxLength","queue","newValue","timePeriod","reduce","CacheAvgCPS","currDate","Date","now","choEggTotal","cookiesEarned","timeDiff","bankDiffAvg","wrinkDiffAvg","wrinkFattestDiffAvg","choEggDiffAvg","clicksDiffAvg","cookieClicks","cpsLength","AvgCPSHist","calcAverage","choEgg","HasUnlocked","AvgClicksHist","ColourOfPP","PPSecondsLowerLimit","PPOnlyConsiderBuyable","CacheColour","PPRigidelMode","getSumPrice","PPExcludeTop","CachePP","PP_CachePP","indexOfMin","CacheBuildingsPP","BuildingGetPrice","SimWin","CalculateGains","effs","myEffs","ii","heavenlyMult","SimGetHeavenlyMultiplier","heralds","cookieUpgrades","buildMult","sin","santaLevel","milkProgress","milkMult","catMult","storedCps","eggMult","day","startDate","lumps","rawCookiesPs","CpsAchievements","threshold","auraMult","bakeryName","goldenSwitchMult","upgrades","goldenCookieUpgrades","veilMult","runModHookOnValue","Fortunes","HalloCookies","ChristCookies","ValCookies","PlantDrops","SimHasAchiev","CheckOtherAchiev","grandmas","buildingsOwned","mathematician","base10","minAmount","ObjectsById","Cursor","hasAllHalloCook","hasAllChristCook","list","fortunes","CacheBuildingIncome","result","tieredAchievs","achievUnlock","lastAchievementsOwned","BuyBuildingsBonusIncome","CacheBuildingsPrices","CacheIncome","bonusIncome","unlocked","CountsAsUpgradeOwned","diffMouseCPS","multClick","out","MouseCps","BuyUpgradesBonusIncome","MaxChainCookieReward","digit","maxPayout","totalFromChain","nextMoni","nextRequired","chain","LN10","CacheChain","cpsBuffMult","CacheHeavenlyChipsPS","chipsOwned","HowMuchPrestige","cookiesReset","ascendNowToGet","heavenlyChipsDiffAvg","CacheAllMissingUpgrades","classes","noFrame","crates","icon","iconFunction","getDynamicTooltip","crateMissing","CacheSeasonSpec","CacheStatsCookies","CacheGoldenAndWrathCookiesMults","goldenMult","wrathMult","eff","CacheWrinklers","InitCache","SettingsDefault","DetailedTime","UpgradeBarFixedPos","DragonAuraInfo","GrimoireBar","GCTimer","Favicon","HideSectionsButtons","TooltipAmor","TooltipAscendButton","MissingUpgrades","MissingAchievements","HeavenlyChipsTarget","ShowMissedGC","GeneralSound","GCNotification","GCFlash","ColourGCFlash","GCSound","GCVolume","GCSoundURL","FortuneNotification","FortuneFlash","ColourFortuneFlash","FortuneSound","FortuneVolume","FortuneSoundURL","SeaNotification","SeaFlash","ColourSeaFlash","SeaSound","SeaVolume","SeaSoundURL","GardFlash","ColourGardFlash","GardSound","GardVolume","GardSoundURL","MagicNotification","MagicFlash","ColourMagicFlash","MagicSound","MagicVolume","MagicSoundURL","WrinklerNotification","WrinklerFlash","ColourWrinklerFlash","WrinklerSound","WrinklerVolume","WrinklerSoundURL","WrinklerMaxNotification","WrinklerMaxFlash","ColourWrinklerMaxFlash","WrinklerMaxSound","WrinklerMaxVolume","WrinklerMaxSoundURL","BulkBuyBlock","Header","Favourite","Calculation","Notation","Colours","BarsDisplay","Tooltip","Statistics","Notification","NotificationGeneral","NotificationGC","NotificationFC","NotificationSea","NotificationGard","NotificationMagi","NotificationWrink","NotificationWrinkMax","Miscellaneous","Lucky","Chain","Spells","Garden","Prestige","Wrink","Sea","Misc","InfoTab","Config_CheckNotificationPermissions","ToggleOnOff","checkNotificationPromise","requestPermission","then","ToggleBotBar","RefreshScale","BeautifyAll","RefreshStore","RebuildUpgrades","UpdateFavicon","wrath","href","Setting","group","SettingStandard","label","desc","toggle","super","SettingColours","SettingVolume","SettingInputNumber","SettingsData","insertBefore","UpBarColor","save","stringify","favouriteSettings","settings","version","CacheDragonCost","dragonLevel","dragonLevels","buy","includes","replaceAll","cost","CalculateChangeGod","InitData","isInitializing","Flash","config","setTimeout","Sound_PlaySound","url","sndConfig","volConfig","sound","Audio","volume","play","CreateNotification","notifyConfig","title","message","visibilityState","badge","CMLoopHook","OnAscend","AscendTimer","mods","CachePantheonGods","sellTotal","Bank","marketGoods","goods","goodsVal","marketGood","stock","cookiesPsRawHighest","buildingsToSacrifice","highestBuilding","SellBuildingsForChoEgg","CacheSellAllForChoEgg","hasBuildAura","godMult","CacheCurrWrinklerCPS","cookiesToNext","HowManyCookiesReset","LoopCache","shimmers","spawnLead","cookie","fontFamily","onclick","pop","onmouseover","filter","webkitFilter","onmouseout","CreateGCTimer","transform","life","TickerEffect","nextStep","CheckMagicMeter","CurrentWrinklers","getWrinklersMax","CheckWrinklerCount","UpdateColours","SaveConfig","saveString","b64_to_utf8","unescape","localStorage","getItem","CookieMonsterSave","newSaveString","setItem","utf8_to_b64","LoadConfig","CMConfig","Colors","mod","PopAllNormalWrinklers","hp","CreateTooltip","buildPrice","amortizeAmount","storedTotalCps","globalCpsMult","crateTooltip","lumpTooltip","spellTooltip","tileTooltip","toolTooltip","godTooltip","slotTooltip","area","ReplaceTooltipGrimoire","dynamic","wobble","ReplaceNativeGrimoireDraw","magicBarTextL","ReplaceNativeGrimoire","launch","ReplaceNativeGrimoireLaunch","jscolor_default","ToggleSetting_ConfigPrefix","ToggleConfigVolume","ToggleHeader","StatsHeader","span","StatsListing","listingName","StatsMissDisp","theMissDisp","frag","createDocumentFragment","missing","AddMenuStats","stats","goldCookTooltip","section","luckyColour","luckyTime","luckyReqFrag","luckyReqSpan","luckyReqSmall","luckyColourFrenzy","luckyTimeFrenzy","luckyReqFrenFrag","luckyReqFrenSpan","luckyReqFrenSmall","luckySplit","luckyRewardMaxSpan","luckyRewardFrenzyMaxSpan","luckyCurBase","luckyCurSpan","LuckySection","chainColour","chainTime","chainReqFrag","chainReqSpan","chainReqSmall","chainWrathColour","chainWrathTime","chainWrathReqFrag","chainWrathReqSpan","chainWrathReqSmall","chainColourFrenzy","chainTimeFrenzy","chainReqFrenFrag","chainReqFrenSpan","chainReqFrenSmall","chainWrathColourFrenzy","chainWrathTimeFrenzy","chainWrathReqFrenFrag","chainWrathReqFrenSpan","chainWrathReqFrenSmall","chainCurMax","chainCur","chainCurWrath","ChainSection","conjureColour","conjureTime","conjureReqFrag","conjureReqSpan","conjureReqSmall","conjureFrenzyColour","conjureFrenzyCur","conjureFrenzyTime","conjureFrenzyReqFrag","conjureFrenzyReqSpan","conjureFrenzyReqSmall","SpellsSection","bakeberryColour","bakeberryFrag","chocorootColour","chocorootFrag","queenbeetColour","queenbeetFrag","duketaterColour","duketaterFrag","missingPlantDrops","GardenSection","possiblePresMax","neededCook","cookiesNextFrag","cookiesNextSmall","heavenlyChips","HCTarget","CookiesTillTarget","resetBonus","newHeavenlyChips","curCPS","ResetCPS","ResetBonus","resetFrag","resetSmall","currentPrestige","willHave","willGet","delta7","next7Reset","next7Total","frag7","delta777","next777Reset","next777Total","frag777","delta777777","next777777Reset","next777777Total","frag777777","PrestigeSection","popAllFrag","popAllA","popFattestFrag","popFattestA","specDisp","missingHalloweenCookies","missingChristmasCookies","missingValentineCookies","missingNormalEggs","eggDrops","missingRareEggs","rareEggDrops","centEgg","failRateHalloween","dropRateMult","obtainedCookiesChance","failRateChristmas","dropRateEgg","StartingFailRate","failRateEgg","succesRateEgg","obtainedEggs","obtainedRareEggs","pNormal1","pRare1","pRedrop","SeasonSection","calcSum","missedGoldenClicks","menuSection","prestigeUpgradesMissing","titlefrag","PrestigeUpgrades","normalUpgradesMissing","tech","nextSibling","cookieUpgradesMissing","achievs","values","parentElement","achievsCrate","AchievementsById","mouseDown","setOnCrate","tags","neuromancy","sesame","descFunc","tagsStr","CrateTooltipLockedAchievements","AddMissingAchievements","ConfigGroups","ConfigGroupsNotification","CreatePrefHeader","CreatePrefOption","FavStar","ele","ToggleFavouriteSetting","FavouriteSettingPlaceholder","CreateFavouriteStar","ToggleConfig","float","percent","slider","step","onchange","input","readOnly","inputPrompt","content","promptWrapL","promptL","PlaySound","promptAnchorL","darkenL","focus","promptOn","UpdatePrompt","CookieMonsterPrompt","outerHTML","ClosePrompt","innerSpan","FixMouseY","timerBarHeight","mouseY","ReplaceNative","drawMod","from","update","updateMod","warnOffset","tta","tt","UpdateTooltipLocation","UpdateWrinklers","UpdateSpecial","ClickCookie","ClickProduct","DescribeDragonAura","aura","bonusCPS","priceOfChange","CalculateChangeAura","timeToRecover","bonusCPSPercentage","minHeight","div2","AddAuraInfo","ToggleSpecialMenu","on","shouldHide","AddDragonLevelUpTooltip","index","subGroup","subGroupObject","resDef","resDefBut","AddMenuPref","info","description","notes","menu","AddMenuInfo","AddMenu","detail","Logic","titleGC","titleFC","titleSP","addFC","addSP","lastIndexOf","spawn","UpdateTitle","ReplaceAscendTooltip","InitializeCookieMonster","head","backgroundColour","borderTop","textShadow","table","tbody","firstCol","td","CreateBotBar","CMTimerBarGC","CMTimerBarRen","TimerBarBuffTimers","CreateTimerBar","UpgradeBar","legend","legendLine","CreateUpgradeBarLegend","upgradeNumber","CreateUpgradeBar","WhiteScreen","CreateFlashScreen","CreateSectionHideButtons","getElementsByTagName","CreateFavicon","CreateSimpleTooltip","append","CreateWrinklerButtons","canLumps","child","coords","ReplaceTooltipPantheon","popups","Popup","Notify","Win","CM","proceed","confirm","registerHook","load","registerMod"],"mappings":"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C,KAAKC,YACpC1U,EAAE,8BAA8BnJ,MAAMqV,QAAU,GAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,KAE9ClM,EAAE,8BAA8BnJ,MAAMqV,QAAU,OAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,QAQlD,MAAMyI,EAAS,CAAC,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAGhDC,EAAa,CACjB,GACA,GACA,IACA,IACA,KACA,QACA,QACA,OACA,OACA,MACA,MACA,MACA,QACA,SACA,SACA,cACA,UACA,SACA,YACA,UACA,WACA,SACA,WACA,YACA,YACA,kBAIIC,EAAwB,CAC5B,GACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,OAMF,IAAIC,EAEAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAOAC,EA1BAC,EAAqB,GAErBC,EAAwB,GACxBC,EAAuB,GAOvBC,EAAkB,GAqBtB,MAAMC,EAAgB,SAChBC,EAAgB,SAMhBC,EAAa,OACbC,EAAc,QACdC,EAAe,SACfC,EAAe,SACfC,EAAY,MACZC,EAAe,SACfC,EAAa,OACbC,EAAa,OACbC,EAAc,QACdC,EAAkB,CACtBH,EACAN,EACAC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","file":"./CookieMonster.js","sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack://cookiemonster-mod/CookieMonster.js"],"names":["__webpack_modules__","877","module","global","factory","exports","document","win","Error","window","this","BoxShadow","funcName","elm","jsc","jscolor","initialized","instances","readyQueue","register","addEventListener","pub","init","installBySelector","selector","rootNode","node","elms","querySelectorAll","matchClass","RegExp","lookupClass","i","length","dataOpts","m","undefined","type","toLowerCase","isColorAttrSupported","getDataAttr","className","match","targetElm","optsStr","console","warn","docsRef","opts","trim","parseOptionsStr","e","str","JSON","parse","eParse","looseJSON","Function","eEval","getInstances","inst","targetElement","push","createEl","tagName","el","createElement","setData","nodeOrSelector","sel","querySelector","isNode","val","Node","nodeType","nodeName","removeChildren","firstChild","removeChild","isTextInput","isButton","n","indexOf","isButtonEmpty","value","textContent","isPassiveEventSupported","supported","Object","defineProperty","get","removeEventListener","setAttribute","dataProp","obj","arguments","data","hasOwnProperty","prop","map","removeData","getData","setDefault","name","attrName","getAttribute","setDataAttr","_attachedGroupEvents","attachGroupEvent","groupName","evnt","func","detachGroupEvents","evt","preventDefault","returnValue","captureTarget","target","setCapture","_capturedTarget","releaseTarget","releaseCapture","triggerEvent","eventName","bubbles","cancelable","ev","Event","createEvent","initEvent","dispatchEvent","triggerInputEvent","eventKey","keys","9","13","27","code","keyCode","strList","replace","split","hasClass","classList","contains","addClass","classNames","add","removeClass","repl","remove","getCompStyle","getComputedStyle","currentStyle","setStyle","styles","important","reversible","priority","origStyle","setVal","style","setProperty","hexColor","r","g","b","Math","round","toString","substr","toUpperCase","hexaColor","a","rgbColor","rgbaColor","linearGradient","stdName","prefixes","helper","tryFunc","tryVal","background","getFuncName","Array","prototype","join","call","setBorderRadius","border-radius","setBoxShadow","box-shadow","getElementPos","relativeToViewport","x","y","rect","getBoundingClientRect","left","top","viewPos","getViewPos","getElementSize","offsetWidth","offsetHeight","getAbsPointerPos","changedTouches","clientX","clientY","getRelPointerPos","targetRect","srcElement","doc","documentElement","pageXOffset","scrollLeft","clientLeft","pageYOffset","scrollTop","clientTop","getViewSize","innerWidth","clientWidth","innerHeight","clientHeight","RGB_HSV","min","v","max","h","HSV_RGB","s","u","floor","parseColorString","ret","rgba","format","parseInt","charAt","mR","mG","mB","mA","par","re","parseFloat","parsePaletteValue","mixed","vals","isArray","colors","color","containsTranparentColor","isAlphaFormat","scaleCanvasForHighDPR","canvas","dpr","devicePixelRatio","width","height","getContext","scale","genColorPreviewCanvas","separatorPos","specWidth","scaleForHighDPR","sepW","previewSeparator","sqSize","chessboardSize","sqColor1","chessboardColor1","sqColor2","chessboardColor2","cWidth","cHeight","ctx","fillStyle","fillRect","start","clearRect","lineWidth","beginPath","strokeStyle","moveTo","lineTo","stroke","genColorPreviewGradient","position","params","right","apply","redrawPosition","picker","owner","tp","vp","thisObj","fixed","c","ts","vs","pd","getPickerDims","ps","borderW","borderH","l","smartPosition","pp","positionValue","contractShadow","_drawPosition","vShadow","shadowBlur","wrap","boxS","shadow","shadowColor","w","controlBorderWidth","sliderSpace","getControlPadding","sliderSize","getSliderChannel","hasAlphaChannel","pal","getPaletteDims","padding","closeButton","buttonHeight","pW","pH","contentW","contentH","paddedW","paddedH","borderWidth","palette","cols","rows","cellW","cellH","sampleCount","_palette","paletteCols","ceil","paletteSpacing","paletteHeight","pointerBorderWidth","pointerThickness","getPadYChannel","mode","triggerCallback","callback","error","triggerGlobal","eventNames","trigger","_pointerMoveEvent","mouse","touch","_pointerEndEvent","_pointerOrigin","onDocumentKeyUp","tryHide","onWindowResize","onWindowScroll","onParentScroll","onDocumentMouseDown","showOnClick","disabled","show","onControlPointerStart","onPickerTouchStart","controlName","pointerType","registerDragEvents","offset","onDocumentPointerMove","onDocumentPointerEnd","parent","frameElement","ofs","abs","rel","channels","fromHSVA","setPad","setSld","setASld","onPaletteSampleClick","currentTarget","_setFormat","getFormat","paletteSetsAlpha","_paletteHasTransparency","fromRGBA","hideOnPaletteClick","hide","ofsX","ofsY","pointerAbs","xVal","yVal","fmt","createPadCanvas","draw","hGrad","createLinearGradient","addColorStop","vGrad","createSliderGradient","color1","color2","grad","createASliderGradient","hShadow","blur","spread","inset","flags","leaveValue","leaveAlpha","leavePreview","enumOpts","previewPosition","alphaChannel","deprecatedOpts","styleElement","onFineChange","overwriteImportant","closable","insetWidth","insetColor","refine","THIS","setOption","option","oldOpt","newOpt","setter","getOption","getter","drawPicker","_processParentElementsInDOM","box","boxB","pad","padB","padM","padCanvas","cross","crossBY","crossBX","crossLY","crossLX","sld","sldB","sldM","sldGrad","sldPtrS","sldPtrIB","sldPtrMB","sldPtrOB","asld","asldB","asldM","asldGrad","asldPtrS","asldPtrIB","asldPtrMB","asldPtrOB","btn","btnT","appendChild","passive","insetColors","outsetColor","p","displaySlider","displayAlphaSlider","pickerDims","crossOuterSize","crossSize","controlPadding","borderRadius","PI","clear","zIndex","border","borderColor","backgroundColor","opacity","controlBorderColor","cursor","instance","control","pointerBorderColor","pointerColor","overflow","display","sliderInnerSpace","innerHTML","chessboard","si","sampleColor","sampleCssColor","sc","sw","backgroundImage","toDataURL","backgroundRepeat","backgroundPosition","bottom","maxWidth","whiteSpace","buttonColor","font","textAlign","onmousedown","lineHeight","createTextNode","closeText","redrawPad","redrawSld","redrawASld","activeClassName","container","body","parentNode","yChannel","rgb1","rgb2","rgb","toHEXString","sldChannel","isPickerOwner","alpha","onChange","onInput","valueElement","alphaElement","previewElement","previewSize","previewPadding","required","hash","uppercase","forceStyle","hideOnLeave","minS","maxS","minV","maxV","minA","maxA","redraw","exposeColor","success","opt","channel","res","evs","callbackProp","isNaN","hsv","fromHSV","fromRGB","fromString","setPreviewElementBg","setValueElementValue","toHEXAString","toRGBString","toRGBAString","toGrayscale","toCanvas","toBackground","isLight","_currentFormat","processValueInput","processAlphaInput","colorStr","alphaVal","setAlphaElementValue","backgrounds","image","size","repeat","origin","preview","bg","sty","background-image","background-position","background-size","background-repeat","background-origin","padding-left","padding-right","_parentElementsProcessed","compStyle","set__palette","options","presetsArr","preset","slice","pres","presets","nonProperties","test","min-width","valueElementOrigEvents","oninput","oldVal","initValue","initAlpha","install","shift","ready","triggerNow","installByClassName","JSColor","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__esModule","d","definition","key","o","enumerable","CMOptions","ToggleWrinklerButtons","WrinklerButtons","Game","elderWrath","metric","shortScale","shortScaleAbbreviated","LastModCount","TooltipLumpBackup","BackupGrimoireLaunch","BackupGrimoireLaunchMod","BackupGrimoireDraw","HasReplaceNativeGrimoireLaunch","HasReplaceNativeGrimoireDraw","LoadMinigames","LastSeasonPopupState","LastTickerFortuneState","LastGardenNextStep","LastGoldenCookieState","LastSpawnedGoldenCookieState","LastMagicBarFull","CurrSpawnedGoldenCookieState","LastWrinklerCount","DateAtBeginLoop","DispCSS","TooltipBuildBackup","TooltipGrimoireBackup","TooltipUpgradeBackup","BackupFunctions","ColourTextPre","ColourBackPre","ColourBlue","ColourGreen","ColourYellow","ColourOrange","ColourRed","ColourPurple","ColourGray","ColourPink","ColourBrown","ColoursOrdering","TooltipText","SimpleTooltipElements","CMLastAscendState","CMSayTime","TooltipWrinklerArea","TooltipWrinkler","TooltipWrinklerBeingShown","LastTargetBotBar","LastTargetBuildings","LastTargetTooltipBuilding","CookieTimes","ClickTimes","BuffColours","Frenzy","Dragon Harvest","Elder frenzy","Clot","Click frenzy","Dragonflight","TooltipPrice","TooltipBonusIncome","TooltipType","TooltipName","TooltipBonusMouse","LastAscendState","LastNumberOfTimers","GCTimers","Title","FavouriteSettings","BeautifyFormatting_Beautify","num","floats","forced","decimals","ScaleDecimals","Infinity","Scale","Beautify","Number","isFinite","answer","ScaleCutoff","ScaleSeparator","toLocaleString","toExponential","exponential","AmountOfTenPowerThree","toFixed","log","FormatTime","time","longFormat","formattedTime","TimeFormat","GetTimeColour","text","CacheAverageCookiesFromClicks","CookiesDiff","WrinkDiff","WrinkFattestDiff","ChoEggDiff","ClicksDiff","HeavenlyChipsDiff","CacheLastCPSCheck","CacheLastCookies","CacheLastWrinkCookies","CacheLastWrinkFattestCookies","CacheLastClicks","CacheAverageGainBank","CacheAverageGainWrink","CacheAverageGainWrinkFattest","CacheAverageGainChoEgg","CacheAverageCPS","CacheLastHeavenlyCheck","CacheLastHeavenlyChips","CacheDoRemakeBuildPrices","CacheHadBuildAura","SimBuildingsOwned","SimUpgradesOwned","SimPledges","SimAchievementsOwned","SimHeavenlyPower","SimPrestige","SimDragonAura","SimDragonAura2","SimGod1","SimGod2","SimGod3","SimDoSims","SimEffs","SimCookiesPs","SimCookiesPsRaw","CacheDragonAura","CacheDragonAura2","CacheLastDragonLevel","CacheCostDragonUpgrade","CacheLucky","CacheLuckyReward","CacheLuckyWrathReward","CacheLuckyFrenzy","CacheLuckyRewardFrenzy","CacheLuckyWrathRewardFrenzy","CacheConjure","CacheConjureReward","CacheEdifice","CacheEdificeBuilding","CacheNoGoldSwitchCookiesPS","CacheDragonsFortuneMultAdjustment","CacheGoldenCookiesMult","CacheWrathCookiesMult","CacheHCPerSecond","CacheCentEgg","CacheSeaSpec","CacheLastChoEgg","CacheObjects1","CacheObjects10","CacheObjects100","CacheWrinklersTotal","CacheWrinklersNormal","CacheWrinklersFattest","CacheCurrWrinklerCPSMult","CacheCurrWrinklerCount","CacheUpgrades","CacheAverageClicks","CacheMissingUpgrades","CacheMissingUpgradesPrestige","CacheMissingUpgradesCookies","CacheChainRequired","CacheChainRequiredNext","CacheChainMaxReward","CacheChainWrathRequired","CacheChainWrathRequiredNext","CacheChainWrathMaxReward","CacheChainFrenzyRequired","CacheChainFrenzyRequiredNext","CacheChainFrenzyMaxReward","CacheChainFrenzyWrathRequired","CacheChainFrenzyWrathRequiredNext","CacheChainFrenzyWrathMaxReward","CacheRealCookiesEarned","CacheAvgCPSWithChoEgg","CacheSpawnedGoldenShimmer","CacheSeasonPopShimmer","CacheTimeTillNextPrestige","CacheMinPP","CachePPArray","CacheGoldenShimmersByID","CacheSellForChoEgg","CacheGods","0","1","2","3","4","5","6","7","8","10","SimObjects","SimUpgrades","SimAchievements","SimAuraMult","what","dragonAuras","SimGetSellMultiplier","giveBack","SimEff","def","SimHas","it","ascensionMode","pool","tier","bought","SimHasGod","hasGod","Temple","minigame","Objects","god","gods","id","SimModifyBuildingPrice","building","price","ModifiedPrice","hasBuff","fortune","minigameLoaded","godLvl","BuildingSell","build","basePrice","free","amount","noSim","noSimRes","toChange","startingAmount","moni","buyBulk","priceIncrease","modifyBuildingPrice","getSellMultiplier","UpdateBuildings","buyMode","BuildColour","forEach","removeProperty","SortBuildings","arr","k","sort","gridRow","UpdateUpgrades","UpBarColour","blue","green","yellow","orange","red","purple","gray","UpgradesInStore","me","addedColour","j","childNodes","div","SortUpgrades","nameChecker","arr2","upgrade","findIndex","order","GetCPS","CPSMode","CalcWrink","cookiesPs","cpsSucked","wrinklers","GetWrinkConfigBank","CreateTimer","bars","timerBar","margin","fontSize","marginRight","verticalAlign","colorBar","borderTopRightRadius","borderBottomRightRadius","timer","marginLeft","CreateBotBarBuildingColumn","buildingName","bonus","header","substring","lastChild","paddingLeft","UpdateBotBar","BotBar","count","PPString","PPDisplayTime","timeColour","bulkPrice","cookies","UpdateBackground","Background","LeftBackground","UpdateBotTimerBarPosition","TimerBar","TimerBarPos","ToggleTimerBar","CacheDragonAuras","dragonAura","dragonAura2","InitAchievement","achievementName","Achievements","you","SimGetTieredCpsMult","mult","tieredUpgrades","Tiers","special","synergies","syn","buildingTie1","buildingTie2","grandma","Grandma","misfortune","vanilla","InitialBuildingData","cps","magicCpS","ComputeCps","GrandmaSynergies","UpgradesByPool","kitten","Portal","baseCps","baseCPS","InitUpgrade","upgradeName","Upgrades","power","level","pow","CopyData","UpgradesOwned","pledges","AchievementsOwned","heavenlyPower","prestige","totalCookies","slot","won","TooltipCreateHeader","fontWeight","TooltipCreateCalculationSection","tooltip","income","marginBottom","click","production","CalculateGrimoireRefillTime","currentMagic","maxMagic","targetMagic","magic","fps","GetCPSBuffMult","buffs","multCpS","ToggleToolWarnPos","ToolWarnPos","UpdateTooltips","tooltipBox","paddingBottom","TooltipCreateTooltipBox","TooltipBuildUpgrade","increase","productionAchievs","HasAchiev","achiev","nextProductionAchiev","Building","getPrice","bonusMouse","previousSibling","chocolate","Upgrade","TooltipLump","lumpType","lumpColour","lumpCurrentType","SugarLump","spellCost","getSpellCost","spellsById","TooltipGrim","magicM","recover","recoverColour","conjure","reward","seperator","loss","Grimoire","Farm","TooltipPlots","plot","mature","plantsById","plantName","GardenPlots","totalGain","mortal","tile","immortal","matureBase","HarvestAll","WrinklerReward","WrinklerButton","TooltipPantheon","GodID","cps1","cps2","cps3","PantheonGods","getElementById","TooltipWarn","create","boxId","labelTextFront","labelTextBack","deficitId","transition","labelDiv","labelSpan","deficitDiv","deficitSpan","ToolWarnUser","TooltipCreateWarningSection","bonusIncomeUsed","ToolWarnBon","limitLucky","bonusNoFren","ToolWarnLucky","ToolWarnLuckyFrenzy","limitLuckyFrenzy","ToolWarnConjure","limitConjure","ToolWarnConjureFrenzy","limitConjureFrenzy","ToolWarnEdifice","children","Warnings","CMDrawHook","prefs","autosave","drawT","onMenu","Stats","innerText","sayTime","T","maxWidthTwoBar","maxWidthOneBar","numberOfTimers","shimmerTypes","golden","spawned","Has","minTime","maxTime","TimerBarOverlay","season","reindeer","BuffTimerBars","classColour","UpdateTimerBar","TooltipWrink","showingTooltip","phase","selected","placeholder","wrinkler","minWidth","escape","CheckWrinklerTooltip","sucked","toSuck","UpdateWrinklerTooltip","UpStats","UpdateMenu","monospace","CMClickHook","addLatest","computedMouseCps","CMAvgQueue","[object Object]","maxLength","queue","newValue","timePeriod","reduce","CacheAvgCPS","currDate","Date","now","choEggTotal","cookiesEarned","timeDiff","bankDiffAvg","wrinkDiffAvg","wrinkFattestDiffAvg","choEggDiffAvg","clicksDiffAvg","cookieClicks","cpsLength","AvgCPSHist","calcAverage","choEgg","HasUnlocked","AvgClicksHist","ColourOfPP","PPSecondsLowerLimit","PPOnlyConsiderBuyable","CacheColour","PPRigidelMode","getSumPrice","PPExcludeTop","CachePP","PP_CachePP","indexOfMin","CacheBuildingsPP","BuildingGetPrice","SimWin","CalculateGains","effs","myEffs","ii","heavenlyMult","SimGetHeavenlyMultiplier","heralds","cookieUpgrades","buildMult","sin","santaLevel","milkProgress","milkMult","catMult","storedCps","eggMult","day","startDate","lumps","rawCookiesPs","CpsAchievements","threshold","auraMult","bakeryName","goldenSwitchMult","upgrades","goldenCookieUpgrades","veilMult","runModHookOnValue","Fortunes","HalloCookies","ChristCookies","ValCookies","PlantDrops","SimHasAchiev","CheckOtherAchiev","grandmas","buildingsOwned","mathematician","base10","minAmount","ObjectsById","Cursor","hasAllHalloCook","hasAllChristCook","list","fortunes","CacheBuildingIncome","result","tieredAchievs","achievUnlock","lastAchievementsOwned","BuyBuildingsBonusIncome","CacheBuildingsPrices","CacheIncome","bonusIncome","unlocked","CountsAsUpgradeOwned","diffMouseCPS","multClick","out","MouseCps","BuyUpgradesBonusIncome","MaxChainCookieReward","digit","maxPayout","totalFromChain","nextMoni","nextRequired","chain","LN10","CacheChain","cpsBuffMult","CacheHeavenlyChipsPS","chipsOwned","HowMuchPrestige","cookiesReset","ascendNowToGet","heavenlyChipsDiffAvg","CacheAllMissingUpgrades","classes","noFrame","crates","icon","iconFunction","getDynamicTooltip","crateMissing","CacheSeasonSpec","CacheStatsCookies","CacheGoldenAndWrathCookiesMults","goldenMult","wrathMult","eff","CacheWrinklers","InitCache","SettingsDefault","DetailedTime","UpgradeBarFixedPos","DragonAuraInfo","GrimoireBar","GCTimer","Favicon","HideSectionsButtons","TooltipAmor","TooltipAscendButton","MissingUpgrades","MissingAchievements","HeavenlyChipsTarget","ShowMissedGC","GeneralSound","GCNotification","GCFlash","ColourGCFlash","GCSound","GCVolume","GCSoundURL","FortuneNotification","FortuneFlash","ColourFortuneFlash","FortuneSound","FortuneVolume","FortuneSoundURL","SeaNotification","SeaFlash","ColourSeaFlash","SeaSound","SeaVolume","SeaSoundURL","GardFlash","ColourGardFlash","GardSound","GardVolume","GardSoundURL","MagicNotification","MagicFlash","ColourMagicFlash","MagicSound","MagicVolume","MagicSoundURL","WrinklerNotification","WrinklerFlash","ColourWrinklerFlash","WrinklerSound","WrinklerVolume","WrinklerSoundURL","WrinklerMaxNotification","WrinklerMaxFlash","ColourWrinklerMaxFlash","WrinklerMaxSound","WrinklerMaxVolume","WrinklerMaxSoundURL","BulkBuyBlock","Header","Favourite","Calculation","Notation","Colours","BarsDisplay","Tooltip","Statistics","Notification","NotificationGeneral","NotificationGC","NotificationFC","NotificationSea","NotificationGard","NotificationMagi","NotificationWrink","NotificationWrinkMax","Miscellaneous","Lucky","Chain","Spells","Garden","Prestige","Wrink","Sea","Misc","InfoTab","Config_CheckNotificationPermissions","ToggleOnOff","checkNotificationPromise","requestPermission","then","ToggleBotBar","RefreshScale","BeautifyAll","RefreshStore","RebuildUpgrades","UpdateFavicon","wrath","href","Setting","group","SettingStandard","label","desc","toggle","super","SettingColours","SettingVolume","SettingInputNumber","SettingsData","insertBefore","UpBarColor","save","stringify","favouriteSettings","settings","version","CacheDragonCost","dragonLevel","dragonLevels","buy","includes","replaceAll","cost","CalculateChangeGod","InitData","isInitializing","Flash","config","setTimeout","Sound_PlaySound","url","sndConfig","volConfig","sound","Audio","volume","play","CreateNotification","notifyConfig","title","message","visibilityState","badge","CMLoopHook","OnAscend","AscendTimer","mods","CachePantheonGods","sellTotal","Bank","marketGoods","goods","goodsVal","marketGood","stock","cookiesPsRawHighest","buildingsToSacrifice","highestBuilding","SellBuildingsForChoEgg","CacheSellAllForChoEgg","hasBuildAura","godMult","CacheCurrWrinklerCPS","cookiesToNext","HowManyCookiesReset","LoopCache","shimmers","spawnLead","cookie","fontFamily","onclick","pop","onmouseover","filter","webkitFilter","onmouseout","CreateGCTimer","transform","life","TickerEffect","nextStep","CheckMagicMeter","CurrentWrinklers","getWrinklersMax","CheckWrinklerCount","UpdateColours","SaveConfig","saveString","b64_to_utf8","unescape","localStorage","getItem","CookieMonsterSave","newSaveString","setItem","utf8_to_b64","LoadConfig","CMConfig","Colors","mod","PopAllNormalWrinklers","hp","CreateTooltip","buildPrice","amortizeAmount","storedTotalCps","globalCpsMult","crateTooltip","lumpTooltip","spellTooltip","tileTooltip","toolTooltip","godTooltip","slotTooltip","area","ReplaceTooltipGrimoire","dynamic","wobble","ReplaceNativeGrimoireDraw","magicBarTextL","ReplaceNativeGrimoire","launch","ReplaceNativeGrimoireLaunch","jscolor_default","ToggleSetting_ConfigPrefix","ToggleConfigVolume","ToggleHeader","StatsHeader","span","StatsListing","listingName","StatsMissDisp","theMissDisp","frag","createDocumentFragment","missing","AddMenuStats","stats","goldCookTooltip","section","luckyColour","luckyTime","luckyReqFrag","luckyReqSpan","luckyReqSmall","luckyColourFrenzy","luckyTimeFrenzy","luckyReqFrenFrag","luckyReqFrenSpan","luckyReqFrenSmall","luckySplit","luckyRewardMaxSpan","luckyRewardFrenzyMaxSpan","luckyCurBase","luckyCurSpan","LuckySection","chainColour","chainTime","chainReqFrag","chainReqSpan","chainReqSmall","chainWrathColour","chainWrathTime","chainWrathReqFrag","chainWrathReqSpan","chainWrathReqSmall","chainColourFrenzy","chainTimeFrenzy","chainReqFrenFrag","chainReqFrenSpan","chainReqFrenSmall","chainWrathColourFrenzy","chainWrathTimeFrenzy","chainWrathReqFrenFrag","chainWrathReqFrenSpan","chainWrathReqFrenSmall","chainCurMax","chainCur","chainCurWrath","ChainSection","conjureColour","conjureTime","conjureReqFrag","conjureReqSpan","conjureReqSmall","conjureFrenzyColour","conjureFrenzyCur","conjureFrenzyTime","conjureFrenzyReqFrag","conjureFrenzyReqSpan","conjureFrenzyReqSmall","SpellsSection","bakeberryColour","bakeberryFrag","chocorootColour","chocorootFrag","queenbeetColour","queenbeetFrag","duketaterColour","duketaterFrag","missingPlantDrops","GardenSection","possiblePresMax","neededCook","cookiesNextFrag","cookiesNextSmall","heavenlyChips","HCTarget","CookiesTillTarget","resetBonus","newHeavenlyChips","curCPS","ResetCPS","ResetBonus","resetFrag","resetSmall","currentPrestige","willHave","willGet","delta7","next7Reset","next7Total","frag7","delta777","next777Reset","next777Total","frag777","delta777777","next777777Reset","next777777Total","frag777777","PrestigeSection","popAllFrag","popAllA","popFattestFrag","popFattestA","specDisp","missingHalloweenCookies","missingChristmasCookies","missingValentineCookies","missingNormalEggs","eggDrops","missingRareEggs","rareEggDrops","centEgg","failRateHalloween","dropRateMult","obtainedCookiesChance","failRateChristmas","dropRateEgg","StartingFailRate","failRateEgg","succesRateEgg","obtainedEggs","obtainedRareEggs","pNormal1","pRare1","pRedrop","SeasonSection","calcSum","missedGoldenClicks","menuSection","prestigeUpgradesMissing","titlefrag","PrestigeUpgrades","normalUpgradesMissing","tech","nextSibling","cookieUpgradesMissing","achievs","values","parentElement","achievsCrate","AchievementsById","mouseDown","setOnCrate","tags","neuromancy","sesame","descFunc","tagsStr","CrateTooltipLockedAchievements","AddMissingAchievements","ConfigGroups","ConfigGroupsNotification","CreatePrefHeader","CreatePrefOption","FavStar","ele","ToggleFavouriteSetting","FavouriteSettingPlaceholder","CreateFavouriteStar","ToggleConfig","float","percent","slider","step","onchange","input","readOnly","inputPrompt","content","promptWrapL","promptL","PlaySound","promptAnchorL","darkenL","focus","promptOn","UpdatePrompt","CookieMonsterPrompt","outerHTML","ClosePrompt","innerSpan","FixMouseY","timerBarHeight","mouseY","ReplaceNative","drawMod","from","update","updateMod","warnOffset","tta","tt","UpdateTooltipLocation","UpdateWrinklers","UpdateSpecial","ClickCookie","ClickProduct","DescribeDragonAura","aura","bonusCPS","priceOfChange","CalculateChangeAura","timeToRecover","bonusCPSPercentage","minHeight","div2","AddAuraInfo","ToggleSpecialMenu","on","shouldHide","AddDragonLevelUpTooltip","index","subGroup","subGroupObject","resDef","resDefBut","AddMenuPref","info","description","notes","menu","AddMenuInfo","AddMenu","detail","Logic","titleGC","titleFC","titleSP","addFC","addSP","lastIndexOf","spawn","UpdateTitle","ReplaceAscendTooltip","InitializeCookieMonster","head","backgroundColour","borderTop","textShadow","table","tbody","firstCol","td","CreateBotBar","CMTimerBarGC","CMTimerBarRen","TimerBarBuffTimers","CreateTimerBar","UpgradeBar","legend","legendLine","CreateUpgradeBarLegend","upgradeNumber","CreateUpgradeBar","WhiteScreen","CreateFlashScreen","CreateSectionHideButtons","getElementsByTagName","CreateFavicon","CreateSimpleTooltip","append","CreateWrinklerButtons","canLumps","child","coords","ReplaceTooltipPantheon","popups","Popup","Notify","Win","CM","proceed","confirm","registerHook","load","registerMod"],"mappings":"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C,KAAKC,YACpC1U,EAAE,8BAA8BnJ,MAAMqV,QAAU,GAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,KAE9ClM,EAAE,8BAA8BnJ,MAAMqV,QAAU,OAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,QAQlD,MAAMyI,EAAS,CAAC,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAGhDC,EAAa,CACjB,GACA,GACA,IACA,IACA,KACA,QACA,QACA,OACA,OACA,MACA,MACA,MACA,QACA,SACA,SACA,cACA,UACA,SACA,YACA,UACA,WACA,SACA,WACA,YACA,YACA,kBAIIC,EAAwB,CAC5B,GACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,OAMF,IAAIC,EAEAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAKAC,EAOAC,EA/BAC,EAAqB,GAErBC,EAAwB,GACxBC,EAAuB,GAOvBC,EAAkB,GA0BtB,MAAMC,EAAgB,SAChBC,EAAgB,SAMhBC,EAAa,OACbC,EAAc,QACdC,EAAe,SACfC,EAAe,SACfC,EAAY,MACZC,EAAe,SACfC,EAAa,OACbC,EAAa,OACbC,EAAc,QACdC,EAAkB,CACtBH,EACAN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","file":"./CookieMonster.js","sourceRoot":""} \ No newline at end of file diff --git a/src/Main/LoopHook.js b/src/Main/LoopHook.js index 5ce57d7..91fbf01 100644 --- a/src/Main/LoopHook.js +++ b/src/Main/LoopHook.js @@ -1,3 +1,4 @@ +/* eslint-disable no-unused-vars */ import InitCache from '../Cache/CacheInit'; import LoopCache from '../Cache/CacheLoop'; import CacheNoGoldSwitchCPS from '../Cache/CPS/NoGoldSwitchCPS'; @@ -29,13 +30,14 @@ import CheckMagicMeter from './CheckStates/Grimoire'; import CheckSeasonPopup from './CheckStates/Season'; import CheckTickerFortune from './CheckStates/Ticker'; import CheckWrinklerCount from './CheckStates/Wrinkler'; -import { LastModCount } from './VariablesAndData'; +import { DateAtBeginLoop, LastModCount } from './VariablesAndData'; /** * Main loop of Cookie Monster * CM.init registers it to the "logic" hook provided by the modding api */ export default function CMLoopHook() { + DateAtBeginLoop = Date.now(); if (LastAscendState !== Game.OnAscend) { LastAscendState = Game.OnAscend; UpdateAscendState(); diff --git a/src/Main/VariablesAndData.js b/src/Main/VariablesAndData.js index 67fc80e..429d7f3 100644 --- a/src/Main/VariablesAndData.js +++ b/src/Main/VariablesAndData.js @@ -21,3 +21,8 @@ export let LastSpawnedGoldenCookieState; export let LastMagicBarFull; export let CurrSpawnedGoldenCookieState; export let LastWrinklerCount; + +/** Stores the date at the beginning of a Main loop + * Calculations depending on time (God Cyclius) will all use same time + */ +export let DateAtBeginLoop; diff --git a/src/Sim/Calculations/CalculateGains.js b/src/Sim/Calculations/CalculateGains.js index fd42a0f..5c11539 100644 --- a/src/Sim/Calculations/CalculateGains.js +++ b/src/Sim/Calculations/CalculateGains.js @@ -1,6 +1,7 @@ /* eslint-disable no-unused-vars */ import GetCPSBuffMult from '../../Cache/CPS/GetCPSBuffMult'; import { CacheCentEgg } from '../../Cache/VariablesAndData'; +import { DateAtBeginLoop } from '../../Main/VariablesAndData'; import SimAuraMult from '../ReplacedGameFunctions/SimAuraMult'; import SimEff from '../ReplacedGameFunctions/SimEff'; import SimGetHeavenlyMultiplier from '../ReplacedGameFunctions/SimGetHeavenlyMultiplier'; @@ -92,13 +93,18 @@ export default function CalculateGains() { godLvl = SimHasGod('ages'); if (godLvl === 1) mult *= - 1 + 0.15 * Math.sin((Date.now() / 1000 / (60 * 60 * 3)) * Math.PI * 2); + 1 + + 0.15 * Math.sin((DateAtBeginLoop / 1000 / (60 * 60 * 3)) * Math.PI * 2); else if (godLvl === 2) mult *= - 1 + 0.15 * Math.sin((Date.now() / 1000 / (60 * 60 * 12)) * Math.PI * 2); + 1 + + 0.15 * + Math.sin((DateAtBeginLoop / 1000 / (60 * 60 * 12)) * Math.PI * 2); else if (godLvl === 3) mult *= - 1 + 0.15 * Math.sin((Date.now() / 1000 / (60 * 60 * 24)) * Math.PI * 2); + 1 + + 0.15 * + Math.sin((DateAtBeginLoop / 1000 / (60 * 60 * 24)) * Math.PI * 2); godLvl = SimHasGod('decadence'); if (godLvl === 1) buildMult *= 0.93; @@ -189,7 +195,7 @@ export default function CalculateGains() { if (SimHas('Century egg')) { // The boost increases a little every day, with diminishing returns up to +10% on the 100th day let day = - (Math.floor((Date.now() - Game.startDate) / 1000 / 10) * 10) / + (Math.floor((DateAtBeginLoop - Game.startDate) / 1000 / 10) * 10) / 60 / 60 / 24; From 3f08ed3e2dd7f09a0b885e43ba4a15d45cab94eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dani=C3=ABl=20van=20Noord?= <13665637+DanielNoord@users.noreply.github.com> Date: Sun, 4 Apr 2021 14:04:56 +0200 Subject: [PATCH 2/6] Additional fixes for #707 --- CookieMonster.js | 2 +- dist/CookieMonster.js | 2 +- dist/CookieMonster.js.map | 2 +- src/Main/LoopHook.js | 3 +-- .../ReplaceGameFunctions/ReplaceNative.js | 8 +++++++- src/Main/VariablesAndData.js | 9 ++++++--- src/Sim/Calculations/CalculateGains.js | 20 ++++++++++++++----- 7 files changed, 32 insertions(+), 14 deletions(-) diff --git a/CookieMonster.js b/CookieMonster.js index 024e1ad..74d19ed 100644 --- a/CookieMonster.js +++ b/CookieMonster.js @@ -1,2 +1,2 @@ /*! For license information please see CookieMonster.js.LICENSE.txt */ -(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,v,w,x,T=[],M=[],S=[],P={};const B="CMText",E="CMBack",N="Blue",O="Green",F="Yellow",W="Orange",L="Red",A="Purple",j="Gray",D="Pink",H="Brown",U=[j,N,O,F,W,L,A,D,H],$=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"],["FavouriteSettingPlaceholder","Click to set this setting as favourite and show it in 'favourite' settings at the top of the Cookie Monster Settings","250px"]],R={};let I,z,V=0,_=-1,Q=[],X=1,q=1,Y=1;const K=[10,15,30,60,300,600,900,1800],J=[1,5,10,15,30],Z={Frenzy:F,"Dragon Harvest":H,"Elder frenzy":O,Clot:L,"Click frenzy":N,Dragonflight:D};let ee,te,oe,ne,ie,ae,re,le={},se="",ce=[];function de(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return P.Beautify(t,o);if(Number.isFinite(t)){if(t<0)return`-${de(Math.abs(t))}`;let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function ue(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=O):(n=pe(t),o=t>300?L:t>60?W:F),{text:n,color:o}}let me,he,ge,fe,Ce,ye,be,ke,Ge,ve,we,xe,Te,Me,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Ue,$e,Re,Ie,ze,Ve,_e,Qe,Xe,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=0,st=0,ct=0,dt=1,pt=1,ut=1,mt=0,ht=0,gt=0,ft=0,Ct={},yt={},bt={},kt=0,Gt=0,vt=[0,null],wt=0,xt=0,Tt={},Mt={},St={},Pt={},Bt={},Et=0,Nt=0,Ot=[],Ft=0,Wt=0,Lt=[],At=0,jt=0,Dt=[],Ht=0,Ut=0,$t=[],Rt=0,It=0,zt={},Vt={},_t=0,Qt=0,Xt=[],qt={},Yt=0,Kt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},Jt=[],Zt=[],eo=[];function to(e){let t=0;return Game.dragonAuras[Ue].name!==e&&Game.dragonAuras[$e].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[Ue].name&&"Reality Bending"!==Game.dragonAuras[$e].name||(t+=.1),t}function oo(){let e=.25;return e*=1+to("Earth Shatterer"),e}function no(e,t){return void 0===_e[e]?void 0===t?1:t:_e[e]}function io(e){const t=Zt[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function ao(e){if(Game.hasGod){void 0===Jt.Temple.minigame&&(Jt.Temple.minigame=Game.Objects.Temple.minigame);const t=Jt.Temple.minigame.gods[e];if(Re===t.id)return 1;if(Ie===t.id)return 2;if(ze===t.id)return 3}return!1}function ro(e,t){let o=t;if(io("Season savings")&&(o*=.99),io("Santa's dominion")&&(o*=.99),io("Faberge egg")&&(o*=.99),io("Divine discount")&&(o*=.99),io("Fortune #100")&&(o*=.99),o*=1-.02*to("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&io(e.fortune.name)&&(o*=.93),o*=no("buildingCost"),Jt.Temple.minigameLoaded){const e=ao("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function lo(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function so(){let t=Game.buyBulk;if(1===Game.buyMode?q=t:t=q,1===t?t=Ct:10===t?t=yt:100===t&&(t=bt),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(Ct).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=de(lo(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(Ct).map((e=>{const t=Ct[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return U.indexOf(e.color)>U.indexOf(t.color)?1:U.indexOf(e.color){const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return U.indexOf(e.color)>U.indexOf(t.color)?1:U.indexOf(e.color){const t=Ct[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eU.indexOf(t.color)?1:U.indexOf(e.color)e.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?X=i:i=X,1===i&&(i=Ct),10===i&&(i=yt),100===i&&(i=bt),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=de(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=B+i[o].color,n=e.PPDisplayTime?pe(Math.round(i[o].pp)):de(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=ue((Game.Objects[o].bulkPrice-(Game.cookies+uo()))/po());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=B+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&io(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(io(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&io(e.fortune.name)&&(t*=1.07),e.grandma&&io(e.grandma.name)&&(t*=1+.01*Jt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&io(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function vo(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;io("Thousand fingers")&&(t+=.1),io("Million fingers")&&(t*=5),io("Billion fingers")&&(t*=10),io("Trillion fingers")&&(t*=20),io("Quadrillion fingers")&&(t*=20),io("Quintillion fingers")&&(t*=20),io("Sextillion fingers")&&(t*=20),io("Septillion fingers")&&(t*=20),io("Octillion fingers")&&(t*=20),io("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(Jt).forEach((e=>{"Cursor"!==Jt[e].name&&(n+=Jt[e].amount)})),t*=n,o*=Go(e),o*=Game.magicCpS("Cursor"),o*=no("cursorCps"),Game.ComputeCps(.1,io("Reinforced index finger")+io("Carpal tunnel prevention cream")+io("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{io(Game.GrandmaSynergies[e])&&(o*=2)})),io("Bingo center/Research facility")&&(o*=4),io("Ritual rolling pins")&&(o*=2),io("Naughty list")&&(o*=2),io("Elderwort biscuits")&&(o*=1.02),o*=no("grandmaCps"),io("Cat ladies"))for(let e=0;e{"Grandma"!==Jt[e].name&&(i+=Jt[e].amount)})),o*=1+.01*to("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=Go(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function wo(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(Jt).forEach((t=>{Jt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(io("Starlove")&&(e=3),Game.hasGod){const t=ao("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function xo(){Le=Game.UpgradesOwned,Ae=Game.pledges,je=Game.AchievementsOwned,De=Game.heavenlyPower,He=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=Jt[e];void 0===o&&(Jt[e]=vo(e),o=Jt[e],ho(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(Re=t.minigame.slot[0],Ie=t.minigame.slot[1],ze=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),Jt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=Zt[e];void 0===o&&(Zt[e]=wo(e),o=Zt[e]),o.bought=t.bought,Zt[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=eo[e];void 0===o&&(eo[e]=ko(e),o=eo[e]),o.won=t.won,eo[e]=o})),bo(),Ue=qe,$e=Ye}function To(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function Mo(e){e.appendChild(To("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(To("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(To("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(To("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===oe){e.appendChild(To("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function So(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function Bo(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function Eo(){if(xo(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===oe?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(Mo(l("CMTooltipBorder")),1===Game.buyMode?Y=t:t=Y,1===Game.buyBulk?t=Ct:10===Game.buyBulk?t=yt:100===Game.buyBulk&&(t=bt),ee=Game.Objects[ne].bulkPrice,te=t[ne].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=de(te,2);const o=Math.round(te/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=B+t[ne].color,e.PPDisplayTime?l("CMTooltipPP").textContent=pe(t[ne].pp):l("CMTooltipPP").textContent=de(t[ne].pp,2),l("CMTooltipPP").className=B+t[ne].color;const n=ue((ee-(Game.cookies+uo()))/po());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[ne[1]][ne[0]][0]-1].mature,o=t.plantsById[t.plot[ne[1]][ne[0]][0]-1].name;l("CMTooltipBorder").appendChild(To("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?de(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${de(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?de(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${de(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?de(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${de(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?de(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${de(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===oe?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(To("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=mo(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==Z[Game.buffs[t].name]?Z[Game.buffs[t].name]:A,a.lastChild.children[1].className=E+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),re!==n&&(re=n,Co())}}(),go(),Eo(),function(){if(1===e.TooltipWrink&&1===V){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===Q[t]||void 0===Q[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),_=t,Q[t]=1}}else Q[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[_],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[_].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),Jt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=de(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,de(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}function Oo(){me.addLatest(Game.computedMouseCps)}class Fo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}calcSum(e){let t=e;return t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length),0===t?0:this.queue.slice(-t).reduce(((e,t)=>e+t),0)}}function Wo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+Yt;Game.cpsSucked>0&&(o+=kt),Rt=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-ke,i=Math.max(0,Game.cookies-Ge)/n,a=Math.max(0,kt-ve)/n,r=Math.max(0,vt[0]-we)/n,l=Math.max(0,o-ft)/n,s=(Game.cookieClicks-xe)/n;for(let e=0;e0&&(n=L),n}function Ao(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=j;else{t[n].color=Lo(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+uo()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||Xt.push([t[n].pp,o])}))}function Do(){!function(){Qt=1/0,Xt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),jo(Ct,1),jo(yt,10),jo(bt,100),Xt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;Xt[t][1]>Game.cookies&&(t+=1,Xt.length!==t+1););Qt=Xt[e.PPExcludeTop][t],Ao(Ct,1),Ao(yt,10),Ao(bt,100)}(),Object.keys(Tt).forEach((e=>{Game.cookiesPs?Tt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+uo()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/Tt[e].bonus:Tt[e].pp=Game.Upgrades[e].getPrice()/Tt[e].bonus,Number.isNaN(Tt[e].pp)&&(Tt[e].pp=1/0),Tt[e].color=Lo(Tt[e],Game.Upgrades[e].getPrice())}))}function Ho(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),_e=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(He)*De*function(){let e=0;if(io("Heavenly chip secret")&&(e+=.05),io("Heavenly cookie stand")&&(e+=.2),io("Heavenly bakery")&&(e+=.25),io("Heavenly confectionery")&&(e+=.25),io("Heavenly key")&&(e+=.25),e*=1+.05*to("Dragon God"),io("Lucky digit")&&(e*=1.01),io("Lucky number")&&(e*=1.01),io("Lucky payout")&&(e*=1.01),Game.hasGod){const t=ao("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=no("cps"),io("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];io(o.name)&&("function"==typeof o.power?e*=1+.01*Zt[o.name].power(Zt[o.name]):e*=1+.01*o.power)})),io("Specialized chocolate chips")&&(e*=1.01),io("Designer cocoa beans")&&(e*=1.02),io("Underworld ovens")&&(e*=1.03),io("Exotic nuts")&&(e*=1.04),io("Arcane sugar")&&(e*=1.05),io("Increased merriness")&&(e*=1.15),io("Improved jolliness")&&(e*=1.15),io("A lump of coal")&&(e*=1.01),io("An itchy sweater")&&(e*=1.01),io("Santa's dominion")&&(e*=1.2),io("Fortune #100")&&(e*=1.01),io("Fortune #101")&&(e*=1.07),io("Dragon scale")&&(e*=1.03);let o=1;if(ao){let t=ao("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=ao("ages"),1===t?e*=1+.15*Math.sin(w/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(w/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(w/1e3/86400*Math.PI*2)),t=ao("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=ao("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=ao("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}io("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=je/25;let i=1;if(io("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*to("Breath of Milk"),ao){const e=ao("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=no("milk");let a=1;io("Kitten helpers")&&(a*=1+.1*n*i),io("Kitten workers")&&(a*=1+.125*n*i),io("Kitten engineers")&&(a*=1+.15*n*i),io("Kitten overseers")&&(a*=1+.175*n*i),io("Kitten managers")&&(a*=1+.2*n*i),io("Kitten accountants")&&(a*=1+.2*n*i),io("Kitten specialists")&&(a*=1+.2*n*i),io("Kitten experts")&&(a*=1+.2*n*i),io("Kitten consultants")&&(a*=1+.2*n*i),io("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),io("Kitten marketeers")&&(a*=1+.15*n*i),io("Kitten analysts")&&(a*=1+.125*n*i),io("Kitten executives")&&(a*=1+.115*n*i),io("Kitten angels")&&(a*=1+.1*n*i),io("Fortune #103")&&(a*=1+.05*n*i),Object.keys(Jt).forEach((e=>{const t=Jt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&io("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),Qe+=t.amount*a})),io('"egg"')&&(Qe+=9),e*=a;let r=1;if(io("Chicken egg")&&(r*=1.01),io("Duck egg")&&(r*=1.01),io("Turkey egg")&&(r*=1.01),io("Quail egg")&&(r*=1.01),io("Robin egg")&&(r*=1.01),io("Ostrich egg")&&(r*=1.01),io("Cassowary egg")&&(r*=1.01),io("Salmon roe")&&(r*=1.01),io("Frogspawn")&&(r*=1.01),io("Shark egg")&&(r*=1.01),io("Turtle egg")&&(r*=1.01),io("Ant larva")&&(r*=1.01),io("Century egg")){let e=10*Math.floor((w-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),ht=1+.1*(1-(1-e/100)**3),r*=ht}e*=r,io("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+to("Radiant Appetite");const l=Qe*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&Uo(Game.CpsAchievements[e].name)})),Xe=l;const{n:s}=Game.shimmerTypes.golden,c=to("Dragon's Fortune");for(let t=0;t{io(e[o])&&(t+=.1)}))}e*=t}if(io("Shimmering veil [off]")){let t=.5;io("Reinforced membrane")&&(t+=.1),e*=1+t}io("Magic shenanigans")&&(e*=1e3),io("Occult obstruction")&&(e*=0),Qe=Game.runModHookOnValue("cps",Qe),e*=Po(),Qe*=e}const Ro=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],Io=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],zo=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],Vo=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],_o=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function Qo(e){return eo[e]?eo[e].won:0}function Xo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{io(Game.GrandmaSynergies[t])&&(e+=1)})),!Qo("Elder")&&e>=7&&Uo("Elder"),!Qo("Veteran")&&e>=14&&Uo("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(Jt).forEach((e=>{t+=Jt[e].amount,i=Math.min(Jt[e].amount,i),Qo("Mathematician")||Jt[e].amount=1&&Uo("One with everything"),1===o&&Uo("Mathematician"),1===n&&Uo("Base 10"),i>=100&&Uo("Centennial"),i>=150&&Uo("Centennial and a half"),i>=200&&Uo("Bicentennial"),i>=250&&Uo("Bicentennial and a half"),i>=300&&Uo("Tricentennial"),i>=350&&Uo("Tricentennial and a half"),i>=400&&Uo("Quadricentennial"),i>=450&&Uo("Quadricentennial and a half"),i>=500&&Uo("Quincentennial"),i>=550&&Uo("Quincentennial and a half"),i>=600&&Uo("Sexcentennial"),t>=100&&Uo("Builder"),t>=500&&Uo("Architect"),t>=1e3&&Uo("Engineer"),t>=2e3&&Uo("Lord of Constructs"),t>=4e3&&Uo("Grand design"),t>=8e3&&Uo("Ecumenopolis"),Le>=20&&Uo("Enhancer"),Le>=50&&Uo("Augmenter"),Le>=100&&Uo("Upgrader"),Le>=200&&Uo("Lord of Progress"),Le>=300&&Uo("The full picture"),Le>=400&&Uo("When there's nothing left to add"),t>=4e3&&Le>=300&&Uo("Polymath"),t>=8e3&&Le>=400&&Uo("Renaissance baker"),Jt.Cursor.amount+Jt.Grandma.amount>=777&&Uo("The elder scrolls");let a=!0;Object.keys(Io).forEach((e=>{io(Io[e])||(a=!1)})),a&&Uo("Spooky cookies");let r=!0;if(Object.keys(zo).forEach((e=>{io(zo[e])||(r=!1)})),r&&Uo("Let it snow"),io("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{io(e[o].name)&&(t+=1)})),t>=e.length&&Uo("O Fortuna")}}function qo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){xo(),Jt[e].amount+=t;const o=Jt[e];"Cursor"===e?(o.amount>=1&&Uo("Click"),o.amount>=2&&Uo("Double-click"),o.amount>=50&&Uo("Mouse wheel"),o.amount>=100&&Uo("Of Mice and Men"),o.amount>=200&&Uo("The Digital"),o.amount>=300&&Uo("Extreme polydactyly"),o.amount>=400&&Uo("Dr. T"),o.amount>=500&&Uo("Thumbs, phalanges, metacarpals"),o.amount>=600&&Uo("With her finger and her thumb"),o.amount>=700&&Uo("Gotta hand it to you"),o.amount>=800&&Uo("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&Uo(Game.Objects[o.name].tieredAchievs[e].name)}));const n=je;return $o(),Xo(),n!==je&&$o(),Qe-Game.cookiesPs}(o,e),1!==e&&(Oe=1)})),t}function Yo(){Object.keys(Game.Objects).forEach((e=>{Ct[e].price=Ho(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),yt[e].price=Ho(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),bt[e].price=Ho(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Ko(){Ct=qo(1),yt=qo(10),bt=qo(100),Tt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){xo(),"Shimmering veil [on]"===Zt[e].name?Zt["Shimmering veil [off]"].bought=0:"Golden switch [on]"===Zt[e].name?Zt["Golden switch [off]"].bought=0:Zt[e].bought=(Zt[e].bought+1)%2,Zt[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Le+=1),"Elder Pledge"===e?(Ae+=1,Ae>0&&Uo("Elder nap"),Ae>=5&&Uo("Elder slumber")):"Elder Covenant"===e?Uo("Elder calm"):"Prism heart biscuits"===e?Uo("Lovely cookies"):"Heavenly key"===e&&Uo("Wholesome");const t=je;$o(),Xo(),t!==je&&$o();const o=function(){let e=0;io("Thousand fingers")&&(e+=.1),io("Million fingers")&&(e*=5),io("Billion fingers")&&(e*=10),io("Trillion fingers")&&(e*=20),io("Quadrillion fingers")&&(e*=20),io("Quintillion fingers")&&(e*=20),io("Sextillion fingers")&&(e*=20),io("Septillion fingers")&&(e*=20),io("Octillion fingers")&&(e*=20),io("Nonillion fingers")&&(e*=20);let t=0;Object.keys(Jt).forEach((e=>{t+=Jt[e].amount})),t-=Jt.Cursor.amount,e*=t,io("Plastic mouse")&&(e+=.01*Qe),io("Iron mouse")&&(e+=.01*Qe),io("Titanium mouse")&&(e+=.01*Qe),io("Adamantium mouse")&&(e+=.01*Qe),io("Unobtainium mouse")&&(e+=.01*Qe),io("Eludium mouse")&&(e+=.01*Qe),io("Wishalloy mouse")&&(e+=.01*Qe),io("Fantasteel mouse")&&(e+=.01*Qe),io("Nevercrack mouse")&&(e+=.01*Qe),io("Armythril mouse")&&(e+=.01*Qe),io("Technobsidian mouse")&&(e+=.01*Qe),io("Plasmarble mouse")&&(e+=.01*Qe),io("Miraculite mouse")&&(e+=.01*Qe),io("Fortune #104")&&(e+=.01*Qe);let o=1;if(io("Santa's helpers")&&(o*=1.1),io("Cookie egg")&&(o*=1.1),io("Halo gloves")&&(o*=1.1),io("Dragon claw")&&(o*=1.03),io("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,io("Luminous gloves")?20:10)),o*=no("click"),Jt.Temple.minigameLoaded&&ao){const e=ao("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*to("Dragon Cursor");let n=o*Game.ComputeCps(1,io("Reinforced index finger")+io("Carpal tunnel prevention cream")+io("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[Qe-Game.cookiesPs,o]:[Qe-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(Tt[t]={bonus:Game.cookiesPs-Te},1===e.CalcWrink?Tt[t].bonus-=Me:2===e.CalcWrink&&(Tt[t].bonus-=Se),Number.isFinite(Tt[t].bonus)||(Tt[t].bonus=0)):(Tt[t]={},o[0]&&(Tt[t].bonus=o[0]),o[1]&&(Tt[t].bonusMouse=o[1]))}))}function Jo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Ot=Jo(7,e,pt),Et=2*Ot[1]/pt,Nt=Ot[2]/60/60/6/dt,Lt=Jo(6,e,ut),Ft=2*Lt[1]/ut,Wt=Lt[2]/60/60/6/dt,Dt=Jo(7,7*e,pt),At=2*Dt[1]/pt,jt=Dt[2]/60/60/6/dt,$t=Jo(6,7*e,ut),Ht=2*$t[1]/ut,Ut=$t[2]/60/60/6/dt}function en(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Ee,i=Math.max(0,o-Ne)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?Pt+=e:"cookie"===o.pool?Bt+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(St+=e)}}))}function on(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),gt=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(gt*=2)}}function nn(){Ze=900*ct/.15,Ze*=dt;const e=Po();e>0?Ze/=e:Ze=0,et=pt*(.15*Ze)+13,tt=ut*(.15*Ze)+13,ot=7*Ze,nt=pt*(.15*ot)+13,it=ut*(.15*ot)+13,at=2*Ze,rt=.15*at,lt=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountlt&&(lt=2*Game.Objects[e].price,st=e)}))}function an(){let e=1,t=1,o=1;io("Green yeast digestives")&&(o*=1.01),io("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),pt=o*e,ut=o*t,dt=1,0===Game.shimmerTypes.golden.n&&(dt*=1+1.23*Game.auraMult("Dragon's Fortune"))}function rn(){kt=0,Gt=0,vt=[0,null];for(let e=0;evt[0]&&(vt=[t,e]))}}function ln(){bo(),rn(),nn(),an(),Zo(),tn(),on(),he=new Fo(K[K.length-1]),ge=new Fo(K[K.length-1]),fe=new Fo(K[K.length-1]),Ce=new Fo(K[K.length-1]),ye=new Fo(J[J.length-1]),be=new Fo(5),me=new Fo(20*J[J.length-1]),en(),Wo(),Ko(),Yo(),Do()}const sn={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,MissingAchievements:0,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,FavouriteSettings:1,Header:{Favourite:1,Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},cn=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function dn(){1===e.BotBar?(l("CMBotBar").style.display="",go()):l("CMBotBar").style.display="none",Co()}function pn(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),go(),so(),co()}function un(){1===e.Favicon&&y>0?zt.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class mn{constructor(e,t){this.type=e,this.group=t}}class hn extends mn{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class gn extends mn{constructor(e,t,o){super(e,t),this.desc=o}}class fn extends mn{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class Cn extends mn{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const yn={CPSMode:new hn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new hn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new hn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new hn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){Ve=!0})),Scale:new hn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Abbreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){pn()})),ScaleDecimals:new hn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){pn()})),ScaleSeparator:new hn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){pn()})),ScaleCutoff:new Cn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new hn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new hn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=z:Game.sayTime=P.sayTime})),PPDisplayTime:new hn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new hn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){so()})),PPOnlyConsiderBuyable:new hn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new hn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new hn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new Cn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),ColourBlue:new gn("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new gn("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new gn("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new gn("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new gn("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new gn("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new gn("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new gn("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new gn("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new hn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){dn()})),TimerBar:new hn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){yo()})),TimerBarPos:new hn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),Co()})),TimerBarOverlay:new hn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new hn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",co()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",co()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new hn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new hn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){so()})),SortUpgrades:new hn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){co()})),DragonAuraInfo:new hn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new hn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new hn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(le).forEach((e=>{le[e].style.display="block",le[e].style.left=qt[e].l.style.left,le[e].style.top=qt[e].l.style.top})):Object.keys(le).forEach((e=>le[e].style.display="none"))})),Favicon:new hn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){un()})),WrinklerButtons:new hn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new hn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new hn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new hn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new hn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new hn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new hn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new hn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new hn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new Cn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new hn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new hn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){Bo()})),TooltipGrim:new hn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new hn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new hn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new hn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new hn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new hn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new hn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new hn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in statistics menu",!0),MissingAchievements:new hn("bool","Statistics",["Missing Achievements OFF","Missing Normal Achievements ON"],"Shows missing normal achievements in statistics menu.",!1),UpStats:new hn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new Cn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new hn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new hn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new hn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new hn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){cn(e.GCNotification)})),GCFlash:new hn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new gn("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new hn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new fn("vol","NotificationGC",[],"Volume"),GCSoundURL:new hn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new hn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){cn(e.FortuneNotification)})),FortuneFlash:new hn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new gn("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new hn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new fn("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new hn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new hn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){cn(e.SeaNotification)})),SeaFlash:new hn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new gn("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new hn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new fn("vol","NotificationSea",[],"Volume"),SeaSoundURL:new hn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new hn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new gn("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new hn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new fn("vol","NotificationGard",[],"Volume"),GardSoundURL:new hn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new hn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){cn(e.MagicNotification)})),MagicFlash:new hn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new gn("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new hn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new fn("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new hn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new hn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){cn(e.WrinklerNotification)})),WrinklerFlash:new hn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new gn("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new hn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new fn("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new hn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new hn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){cn(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new hn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new gn("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new hn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new fn("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new hn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new hn("bool","Miscellaneous",["Block bulk buying OFF","Block bulk buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0),FavouriteSettings:new hn("bool","Miscellaneous",["Favourite settings section OFF","Favourite settings section ON","Favourite settings section ON (Locked)"],"Show stars before each setting which allows selecting it for a 'favourites' section at the top of the Cookie Monster settings. Setting this to Locked removes the stars but shows the 'favourites' section",!0,(function(){Game.UpdateMenu()}))};function bn(){return JSON.stringify({favouriteSettings:ce,settings:e,version:"2.031.6"})}function kn(){if(Ke!==Game.dragonLevel||Ve){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{Jt[e]=vo(e)})),Zt=[],Object.keys(Game.Upgrades).forEach((e=>{Zt[e]=wo(e)})),eo=[],Object.keys(Game.Achievements).forEach((e=>{eo[e]=ko(e)})),xo()}let wn=!1;function xn(t,o,n){(1===e[o]||n)&&3===t&&!1===wn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){xn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){xn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){xn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function Tn(t,o,n,i){if((1===e[o]||i)&&!1===wn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function Mn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===wn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function Sn(){if(w=Date.now(),ae!==Game.OnAscend&&(ae=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(dn(),yo()),fo()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(vn(),ln(),r=Object.keys(Game.mods).length),Ve&&(Ko(),Game.Has("Golden switch [off]")?(xo(),Zt["Golden switch [off]"].bought=0,$o(),ct=Qe):ct=Game.cookiesPs,an(),nn(),tn(),Zo(),kn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Kt[e][t]=Gn(e,t)}(),on(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;xo();let t=2;5!==Ue&&18!==Ue||(t-=1),5!==$e&&18!==$e||(t-=1),Ue=5,$e=18;for(let e=0;e{Jt[t].amount>0&&(e=t)})),Jt[e].amount-=1,We-=1}return Object.keys(Jt).forEach((t=>{const o=Jt[t];e+=lo(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),Yt=e}(),Ve=0);const t=Game.auraMult("Fierce Hoarder")>0;!Fe&&t?(Fe=!0,Oe=1):Fe&&!t&&(Fe=!1,Oe=1),Oe&&(Yo(),Oe=0),function(){rn(),Do(),function(){wt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(Jt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}xt=e,wt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Wo(),en();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);_t=pe(e/po())}(),G=0,qt={},Object.keys(Game.shimmers).forEach((e=>{qt[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(zt=Game.shimmers[e],G+=1)})),Object.keys(le).forEach((e=>{void 0===qt[e]&&(le[e].parentNode.removeChild(le[e]),delete le[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===le[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},le[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),un(),b=G,0===G&&(zt=0)):1===e.GCTimer&&y&&Object.keys(le).forEach((e=>{le[e].style.opacity=qt[e].l.style.opacity,le[e].style.transform=qt[e].l.style.transform,le[e].textContent=Math.ceil(qt[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(xn(3,"FortuneFlash",!1),Tn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),Mn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&(Vt=Game.shimmers[e])})),xn(3,"SeaFlash",!1),Tn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),Mn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>v?(v=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?xn(3,"WrinklerMaxFlash",!1):xn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?Tn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):Tn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?Mn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):Mn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):v=t}}()}}function Pn(){let t="";for(let o=0;o{void 0===e[t]?(o=!0,e[t]=sn[t]):"Header"===t&&Object.keys(sn.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=sn[t][n])}))})),o&&Bn(),Sn(),Object.keys(sn).forEach((e=>{"Header"!==e&&void 0!==yn[e].func&&yn[e].func()}))}else En(sn);Game.UpdateMenu(),Pn()}function Nn(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function On(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Ho(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${de(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${ue((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(de(Game.Objects[o].bulkPrice)).join(de((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return oe=t,ne=o,Eo(),l("tooltip").innerHTML}function Fn(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(M[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return On("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function Wn(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),Bn()}function $n(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){Un(o),Game.UpdateMenu()},n.appendChild(i),n}function Rn(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(R[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function In(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function zn(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild($n("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+uo(){Game.HasUnlocked(_o[e])||c.push(_o[e])})),0!==c.length&&e.appendChild(Rn("basic","Rare plant drops left to unlock",In(c))),e}())),o.appendChild($n("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige(Rt+Game.cookiesReset+kt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?ft:0)));t.appendChild(Rn("withTooltip","Prestige level (cur / max)",document.createTextNode(`${de(Game.prestige)} / ${de(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-(Rt+Game.cookiesReset+kt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&&ft?ft:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(de(n)));const a=document.createElement("small");a.textContent=` (${pe(n/It,1)})`,i.appendChild(a),t.appendChild(Rn("withTooltip","Cookies to next level",i,"NextPrestTooltipPlaceholder")),t.appendChild(Rn("withTooltip","Heavenly chips (cur / max)",document.createTextNode(`${de(Game.heavenlyChips)} / ${de(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild(Rn("basic","Heavenly chips per second (last 5 seconds)",document.createTextNode(de(mt,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild(Rn("basic","Heavenly chips to target set in settings (cur)",document.createTextNode(de(e)))),t.appendChild(Rn("basic","Time till target (cur, current 5 second average)",document.createTextNode(pe(e/mt)))))}const l=function(e){let t=Game.cookiesPs;xo(),0===Zt["Heavenly key"].bought&&(Zt["Heavenly chip secret"].bought=1,Zt["Heavenly cookie stand"].bought=1,Zt["Heavenly bakery"].bought=1,Zt["Heavenly confectionery"].bought=1,Zt["Heavenly key"].bought=1,$o(),t=Qe,xo()),Rt>=1e6&&Uo("Sacrifice"),Rt>=1e9&&Uo("Oblivion"),Rt>=1e12&&Uo("From scratch"),Rt>=1e15&&Uo("Nihilism"),Rt>=1e18&&Uo("Dematerialize"),Rt>=1e21&&Uo("Nil zero zilch"),Rt>=1e24&&Uo("Transcendence"),Rt>=1e27&&Uo("Obliterate"),Rt>=1e30&&Uo("Negative void"),Rt>=1e33&&Uo("To crumbs, you say?"),Rt>=1e36&&Uo("You get nothing"),Rt>=1e39&&Uo("Humble rebeginnings"),Rt>=1e42&&Uo("The end of the world"),Rt>=1e45&&Uo("Oh, you're back"),Rt>=1e48&&Uo("Lazarus"),Rt>=1e51&&Uo("Smurf account"),Rt>=1e54&&Uo("If at first you don't succeed"),Zt["Heavenly chip secret"].bought=1,Zt["Heavenly cookie stand"].bought=1,Zt["Heavenly bakery"].bought=1,Zt["Heavenly confectionery"].bought=1,Zt["Heavenly key"].bought=1,He=e;const o=je;$o(),Xo(),o!==je&&$o();const n=Qe-t;return He=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(de(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(Rn("withTooltip","Reset bonus income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Rn("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Rn("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Rn("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild($n("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${de(kt)} / ${de(Gt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){Nn()},e.appendChild(t),o.appendChild(Rn("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${de(vt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==vt[1]&&(Game.wrinklers[vt[1]].hp=0)},n.appendChild(i),o.appendChild(Rn("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==vt[1]?vt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(Io).forEach((e=>{Game.Has(Io[e])||(n.push(Io[e]),o=!0)}));const i=[];Object.keys(zo).forEach((e=>{Game.Has(zo[e])||(i.push(zo[e]),o=!0)}));const a=[];Object.keys(Vo).forEach((e=>{Game.Has(Vo[e])||(a.push(Vo[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild($n("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(Rn("basic","Halloween cookies left to buy",In(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild(Rn("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${de((1-e)*o*100)}% / ${de((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild(Rn("basic","Christmas cookies left to buy",In(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild(Rn("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${de((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild(Rn("basic","Valentine cookies left to buy",In(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(Rn("basic","Normal easter eggs left to unlock",In(r))),t.appendChild(Rn("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${de(100*e(.98)[0])}% / ${de(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(Rn("basic","Rare easter eggs left to unlock",In(l))),t.appendChild(Rn("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${de(100*e(.98)[1])}% / ${de(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild(Rn("basic","Reindeer reward",document.createTextNode(de(gt)))),s&&t.appendChild(Rn("withTooltip","Chocolate egg cookies",document.createTextNode(de(ft)),"ChoEggTooltipPlaceholder")),c&&t.appendChild(Rn("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(ht-1))/100+"%")))}return t}()),o.appendChild($n("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(Rn("basic",`Average cookies per second (past ${K[e.AvgCPSHist]<60?`${K[e.AvgCPSHist]} seconds`:K[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(de(po(),3)))),o.appendChild(Rn("basic",`Average cookie clicks per second (past ${J[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(de(Mt,1)))),o.appendChild(Rn("basic",`Cookies from clicking (past ${J[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(de(me.calcSum(Mt*J[e.AvgClicksHist]))))),Game.Has("Fortune cookies")){const e=[];Object.keys(Ro).forEach((t=>{Game.Has(Ro[t])||e.push(Ro[t])})),0!==e.length&&o.appendChild(Rn("basic","Fortune Upgrades Left to Buy",In(e)))}if(e.ShowMissedGC&&o.appendChild(Rn("basic","Missed golden cookies",document.createTextNode(de(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(Rn("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&Pt){const t=Pt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Pt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(St){const t=St.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=St,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Bt){const t=Bt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Bt,e.appendChild(i)}}})),e.MissingAchievements&&function(){let t;Object.values(document.querySelectorAll("div.title")).forEach((e=>{e.textContent.includes("Achievements")&&(t=e.parentElement.querySelectorAll("div.listing.crateBox")[0])})),e.MissingAchievements&&Object.values(t.children).forEach((e=>{if(!e.className.includes("enabled")){const t=e.onclick.toString().match(/(?<=\[).*(?=\])/g)[0],{icon:o}=Game.AchievementsById[t];e.style.backgroundPosition=`${48*-o[0]}px ${48*-o[1]}px`,e.onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return function(e){const t=[];"shadow"===e.pool?t.push("Shadow Achievement","#9700cf"):t.push("Achievement",0),t.push("Locked",0);let o=0;(Game.Has("Neuromancy")||Game.sesame&&"debug"===e.pool)&&(o=1),o&&0===e.won?t.push("Click to win!","#00c462"):o&&e.won>0&&t.push("Click to lose!","#00c462");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());let{desc:i}=e;e.descFunc&&(i=e.descFunc("stats"));let a="";for(let e=0;e[${t[e]}]`);return a=a.substring(1),`
\n
\n
${e.name}
\n ${a}
${i}
\n ${Game.sesame?`
Id : ${e.id} | Order : ${Math.floor(e.order)}${e.tier?` | Tier : ${e.tier}`:""}
`:""}`}(Game.AchievementsById[t])}),"top"),Game.tooltip.wobble())}}}))}()}const Vn={Favourite:"Favourite Settings",Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},_n={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function Qn(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){Un(t),Game.UpdateMenu()},n.appendChild(i),n}function Xn(t){const o=document.createElement("div");if(o.className="listing",1===e.FavouriteSettings&&o.appendChild(function(e){const t=document.createElement("a");return ce.includes(e)?(t.innerText="★",t.style.color="yellow"):t.innerText="☆",t.className="option",t.onclick=function(){!function(e){ce.includes(e)?ce=ce.filter((function(t){return t!==e})):ce.push(e)}(e),Bn(),Game.UpdateMenu()},t.onmouseover=function(){Game.tooltip.draw(this,escape(R.FavouriteSettingPlaceholder.innerHTML))},t.onmouseout=function(){Game.tooltip.hide()},t.appendChild(document.createTextNode(" ")),t}(t)),"bool"===yn[t].type){const n=document.createElement("a");yn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=Dn+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===yn[t].label.length?(e[t]=0,yn[t].toggle&&(l(Dn+t).className="option off")):l(Dn+t).className="option",void 0!==yn[t].func&&yn[t].func(),l(Dn+t).innerHTML=yn[t].label[e[t]],Bn()}(t)},n.textContent=yn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=yn[t].desc,i.style.lineHeight="1.6",o.appendChild(i),o}if("vol"===yn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=yn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Hn(t)},r.onchange=function(){Hn(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){Tn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===yn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${yn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=Dn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${Dn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){!function(e,t){Game.promptWrapL.className="framed";const o=e;Game.promptL.innerHTML=`${o}
`,Object.keys(t).forEach((e=>{const o=document.createElement("a");o.id=`promptOption${e}`,o.className="option",o.onclick=function(){PlaySound("snd/tick.mp3"),t[e][1]()},o.textContent=t[e][0],Game.promptL.children[1].appendChild(o)})),Game.promptAnchorL.style.display="block",Game.darkenL.style.display="block",Game.promptL.focus(),Game.promptOn=1,Game.UpdatePrompt()}(a.outerHTML,[["Save",function(){e[t]=l(`CMConfig${t}Prompt`).value,Bn(),Game.ClosePrompt(),Game.UpdateMenu()}],["Cancel",function(){Game.ClosePrompt()}]])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=yn[t].desc,s.style.lineHeight="1.6",o.appendChild(s),o}if("colour"===yn[t].type){const n=document.createElement("span");n.className="option";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new An(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),Pn(),Bn(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=yn[t].desc,a.style.lineHeight="1.6",n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){xn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),jn().init(),o}if("numscale"===yn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${yn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=Dn+t,i.className="option",i.type="number",i.value=e[t],i.min=yn[t].min,i.max=yn[t].max,i.oninput=function(){this.value>this.max&&console.log("TEST"),e[t]=this.value,Bn(),pn()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=yn[t].desc,a.style.lineHeight="1.6",o.appendChild(a),o}return o}function qn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function Yn(){P.Beautify=Beautify,Beautify=de,P.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){P.CalculateGains(),Ve=1},P.tooltip={},P.tooltip.draw=Game.tooltip.draw,P.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){P.tooltip.drawMod(e,t,o)},P.tooltip.update=Game.tooltip.update,P.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){P.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},P.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){qn(P.UpdateWrinklers)},P.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){qn(P.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){qn(Game.ClickCookie)}),!1),P.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){P.RebuildUpgrades(),S=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(S[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return On("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},P.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e].amount>0){const o=Jt[Game.ObjectsById[e].name].name;Jt[o].amount-=1,We-=1,t=Jt[o].basePrice*Game.priceIncrease**Math.max(0,Jt[o].amount-1-Jt[o].free),t=Game.modifyBuildingPrice(Jt[o],t),t=Math.ceil(t);break}const o=je;return $o(),Xo(),o!==je&&$o(),[Qe-Game.cookiesPs,t]}(t),n=pe(o/(e+Game.cookiesPs)),i=de(e/Game.cookiesPs*100);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${de(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},P.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){P.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${Je}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},P.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==jn().picker&&void 0!==jn().picker.owner||(P.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(Vn).forEach((t=>{if("Favourite"===t){if(0!==ce.length&&e.FavouriteSettings>0&&(o.appendChild(Qn(t,Vn[t])),e.Header[t]))for(let e=0;e{const n=Qn(t,_n[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(yn).forEach((e=>{yn[e].group===t&&o.appendChild(Xn(e))}))})):Object.keys(yn).forEach((e=>{yn[e].group===t&&o.appendChild(Xn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){En(sn)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",zn(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){Un("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},P.sayTime=Game.sayTime,z=function(e,t){return Number.isNaN(e)||e<=0?P.sayTime(e,t):pe(e/Game.fps,1)},P.Logic=Game.Logic,Game.Logic=function(){P.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),se=`${Game.OnAscend?"Ascending! ":""}${de(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=se;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=zt?zt.wrath?`[W${Math.ceil(zt.life/Game.fps)}]`:`[G${Math.ceil(zt.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil(Vt.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=se;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;zt&&(t=!0,zt.wrath?e+=`[W${Math.ceil(zt.life/Game.fps)}]`:e+=`[G${Math.ceil(zt.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil(Vt.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${de(Game.prestige)}.
(CpS +${de(Game.prestige)}%)`,n+='
'),n+=Ne<1?"Ascending now would grant you no prestige.":Ne<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${de(Ne)} prestige levels (+${de(Ne)}% CpS)
and ${de(Ne)} heavenly chips to spend.`,n+='
',n+=`You need ${de(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${_t} to reach the next level and you were making ${de(mt,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Kn(){vn(),nn(),ln(),r=Object.keys(Game.mods).length,x=document.createElement("style"),x.type="text/css",x.id="CMCSS",document.head.appendChild(x),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=B+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",F)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",N)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",N)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",N)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{ho(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=mo("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:j},{id:"CMTimerBarGCBar",color:A}]);e.appendChild(t);const o=mo("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:j},{id:"CMTimerBarRenBar",color:W}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=E+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(N,"Better than the best PP of a building option")),e.appendChild(o(O,"Same as the best PP building option")),e.appendChild(o(F,"Within the top 10 of PP for buildings")),e.appendChild(o(W,"Within the top 20 of PP for buildings")),e.appendChild(o(L,"Within the top 30 of PP for buildings")),e.appendChild(o(A,"Outside of the top 30 of PP for buildings")),e.appendChild(o(j,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=B+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",N)),e.appendChild(o("CMUpgradeBarGreen",O)),e.appendChild(o("CMUpgradeBarYellow",F)),e.appendChild(o("CMUpgradeBarOrange",W)),e.appendChild(o("CMUpgradeBarRed",L)),e.appendChild(o("CMUpgradeBarPurple",A)),e.appendChild(o("CMUpgradeBarGray",j)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys($).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),R[e]=n}($[e][0],$[e][1],$[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){Nn()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return On("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==vt[1]&&(Game.wrinklers[vt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return On("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(T[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return On("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return On("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return On("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return On("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),Fn(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return On("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return On("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),Ln()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){V=1},l("backgroundLeftCanvas").onmouseout=function(){V=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{Q[e]=0}))},Yn(),Ln(),Game.CalculateGains(),En(),I=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const Jn={init:function(){wn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Kn(),Game.registerHook("draw",No),Game.registerHook("logic",Sn),Game.registerHook("click",Oo),wn=!1)},load:function(e){const t=JSON.parse(e);vn(),void 0!==t.favouriteSettings&&(ce=t.favouriteSettings),En(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:bn};Game.registerMod("CookieMonster",Jn)})()})(); +(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,v,w,x,T,M=[],S=[],P=[],B={};const E="CMText",N="CMBack",O="Blue",F="Green",W="Yellow",L="Orange",A="Red",j="Purple",D="Gray",H="Pink",U="Brown",$=[D,O,F,W,L,A,j,H,U],R=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"],["FavouriteSettingPlaceholder","Click to set this setting as favourite and show it in 'favourite' settings at the top of the Cookie Monster Settings","250px"]],I={};let z,V,_=0,Q=-1,X=[],q=1,Y=1,K=1;const J=[10,15,30,60,300,600,900,1800],Z=[1,5,10,15,30],ee={Frenzy:W,"Dragon Harvest":U,"Elder frenzy":F,Clot:A,"Click frenzy":O,Dragonflight:H};let te,oe,ne,ie,ae,re,le,se={},ce="",de=[];function pe(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return B.Beautify(t,o);if(Number.isFinite(t)){if(t<0)return`-${pe(Math.abs(t))}`;let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function me(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=F):(n=ue(t),o=t>300?A:t>60?L:W),{text:n,color:o}}let he,ge,fe,Ce,ye,be,ke,Ge,ve,we,xe,Te,Me,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Ue,$e,Re,Ie,ze,Ve,_e,Qe,Xe,qe,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=0,st=0,ct=0,dt=0,pt=1,ut=1,mt=1,ht=0,gt=0,ft=0,Ct=0,yt={},bt={},kt={},Gt=0,vt=0,wt=[0,null],xt=0,Tt=0,Mt={},St={},Pt={},Bt={},Et={},Nt=0,Ot=0,Ft=[],Wt=0,Lt=0,At=[],jt=0,Dt=0,Ht=[],Ut=0,$t=0,Rt=[],It=0,zt=0,Vt={},_t={},Qt=0,Xt=0,qt=[],Yt={},Kt=0,Jt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},Zt=[],eo=[],to=[];function oo(e){let t=0;return Game.dragonAuras[$e].name!==e&&Game.dragonAuras[Re].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[$e].name&&"Reality Bending"!==Game.dragonAuras[Re].name||(t+=.1),t}function no(){let e=.25;return e*=1+oo("Earth Shatterer"),e}function io(e,t){return void 0===Qe[e]?void 0===t?1:t:Qe[e]}function ao(e){const t=eo[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function ro(e){if(Game.hasGod){void 0===Zt.Temple.minigame&&(Zt.Temple.minigame=Game.Objects.Temple.minigame);const t=Zt.Temple.minigame.gods[e];if(Ie===t.id)return 1;if(ze===t.id)return 2;if(Ve===t.id)return 3}return!1}function lo(e,t){let o=t;if(ao("Season savings")&&(o*=.99),ao("Santa's dominion")&&(o*=.99),ao("Faberge egg")&&(o*=.99),ao("Divine discount")&&(o*=.99),ao("Fortune #100")&&(o*=.99),o*=1-.02*oo("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&ao(e.fortune.name)&&(o*=.93),o*=io("buildingCost"),Zt.Temple.minigameLoaded){const e=ro("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function so(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function co(){let t=Game.buyBulk;if(1===Game.buyMode?Y=t:t=Y,1===t?t=yt:10===t?t=bt:100===t&&(t=kt),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(yt).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=pe(so(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(yt).map((e=>{const t=yt[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return $.indexOf(e.color)>$.indexOf(t.color)?1:$.indexOf(e.color)<$.indexOf(t.color)||e.pp{const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return $.indexOf(e.color)>$.indexOf(t.color)?1:$.indexOf(e.color)<$.indexOf(t.color)||e.pp{const t=yt[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;e$.indexOf(t.color)?1:$.indexOf(e.color)<$.indexOf(t.color)||e.ppe.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?q=i:i=q,1===i&&(i=yt),10===i&&(i=bt),100===i&&(i=kt),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=pe(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=E+i[o].color,n=e.PPDisplayTime?ue(Math.round(i[o].pp)):pe(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=me((Game.Objects[o].bulkPrice-(Game.cookies+mo()))/uo());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=E+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&ao(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(ao(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&ao(e.fortune.name)&&(t*=1.07),e.grandma&&ao(e.grandma.name)&&(t*=1+.01*Zt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&ao(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function wo(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;ao("Thousand fingers")&&(t+=.1),ao("Million fingers")&&(t*=5),ao("Billion fingers")&&(t*=10),ao("Trillion fingers")&&(t*=20),ao("Quadrillion fingers")&&(t*=20),ao("Quintillion fingers")&&(t*=20),ao("Sextillion fingers")&&(t*=20),ao("Septillion fingers")&&(t*=20),ao("Octillion fingers")&&(t*=20),ao("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(Zt).forEach((e=>{"Cursor"!==Zt[e].name&&(n+=Zt[e].amount)})),t*=n,o*=vo(e),o*=Game.magicCpS("Cursor"),o*=io("cursorCps"),Game.ComputeCps(.1,ao("Reinforced index finger")+ao("Carpal tunnel prevention cream")+ao("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{ao(Game.GrandmaSynergies[e])&&(o*=2)})),ao("Bingo center/Research facility")&&(o*=4),ao("Ritual rolling pins")&&(o*=2),ao("Naughty list")&&(o*=2),ao("Elderwort biscuits")&&(o*=1.02),o*=io("grandmaCps"),ao("Cat ladies"))for(let e=0;e{"Grandma"!==Zt[e].name&&(i+=Zt[e].amount)})),o*=1+.01*oo("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=vo(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function xo(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(Zt).forEach((t=>{Zt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(ao("Starlove")&&(e=3),Game.hasGod){const t=ro("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function To(){Ae=Game.UpgradesOwned,je=Game.pledges,De=Game.AchievementsOwned,He=Game.heavenlyPower,Ue=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=Zt[e];void 0===o&&(Zt[e]=wo(e),o=Zt[e],go(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(Ie=t.minigame.slot[0],ze=t.minigame.slot[1],Ve=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),Zt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=eo[e];void 0===o&&(eo[e]=xo(e),o=eo[e]),o.bought=t.bought,eo[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=to[e];void 0===o&&(to[e]=Go(e),o=to[e]),o.won=t.won,to[e]=o})),ko(),$e=Ye,Re=Ke}function Mo(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function So(e){e.appendChild(Mo("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(Mo("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(Mo("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(Mo("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===ne){e.appendChild(Mo("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function Po(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function Eo(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function No(){if(To(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===ne?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(So(l("CMTooltipBorder")),1===Game.buyMode?K=t:t=K,1===Game.buyBulk?t=yt:10===Game.buyBulk?t=bt:100===Game.buyBulk&&(t=kt),te=Game.Objects[ie].bulkPrice,oe=t[ie].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=pe(oe,2);const o=Math.round(oe/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=E+t[ie].color,e.PPDisplayTime?l("CMTooltipPP").textContent=ue(t[ie].pp):l("CMTooltipPP").textContent=pe(t[ie].pp,2),l("CMTooltipPP").className=E+t[ie].color;const n=me((te-(Game.cookies+mo()))/uo());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[ie[1]][ie[0]][0]-1].mature,o=t.plantsById[t.plot[ie[1]][ie[0]][0]-1].name;l("CMTooltipBorder").appendChild(Mo("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${pe(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${pe(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${pe(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${pe(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===ne?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(Mo("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=ho(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==ee[Game.buffs[t].name]?ee[Game.buffs[t].name]:j,a.lastChild.children[1].className=N+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),le!==n&&(le=n,yo())}}(),fo(),No(),function(){if(1===e.TooltipWrink&&1===_){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===X[t]||void 0===X[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),Q=t,X[t]=1}}else X[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[Q],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[Q].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),Zt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=pe(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,pe(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}function Fo(){he.addLatest(Game.computedMouseCps)}class Wo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}calcSum(e){let t=e;return t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length),0===t?0:this.queue.slice(-t).reduce(((e,t)=>e+t),0)}}function Lo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+Kt;Game.cpsSucked>0&&(o+=Gt),It=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-Ge,i=Math.max(0,Game.cookies-ve)/n,a=Math.max(0,Gt-we)/n,r=Math.max(0,wt[0]-xe)/n,l=Math.max(0,o-Ct)/n,s=(Game.cookieClicks-Te)/n;for(let e=0;e0&&(n=A),n}function jo(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=D;else{t[n].color=Ao(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+mo()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||qt.push([t[n].pp,o])}))}function Ho(){!function(){Xt=1/0,qt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Do(yt,1),Do(bt,10),Do(kt,100),qt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;qt[t][1]>Game.cookies&&(t+=1,qt.length!==t+1););Xt=qt[e.PPExcludeTop][t],jo(yt,1),jo(bt,10),jo(kt,100)}(),Object.keys(Mt).forEach((e=>{Game.cookiesPs?Mt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+mo()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/Mt[e].bonus:Mt[e].pp=Game.Upgrades[e].getPrice()/Mt[e].bonus,Number.isNaN(Mt[e].pp)&&(Mt[e].pp=1/0),Mt[e].color=Ao(Mt[e],Game.Upgrades[e].getPrice())}))}function Uo(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),Qe=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(Ue)*He*function(){let e=0;if(ao("Heavenly chip secret")&&(e+=.05),ao("Heavenly cookie stand")&&(e+=.2),ao("Heavenly bakery")&&(e+=.25),ao("Heavenly confectionery")&&(e+=.25),ao("Heavenly key")&&(e+=.25),e*=1+.05*oo("Dragon God"),ao("Lucky digit")&&(e*=1.01),ao("Lucky number")&&(e*=1.01),ao("Lucky payout")&&(e*=1.01),Game.hasGod){const t=ro("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=io("cps"),ao("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];ao(o.name)&&("function"==typeof o.power?e*=1+.01*eo[o.name].power(eo[o.name]):e*=1+.01*o.power)})),ao("Specialized chocolate chips")&&(e*=1.01),ao("Designer cocoa beans")&&(e*=1.02),ao("Underworld ovens")&&(e*=1.03),ao("Exotic nuts")&&(e*=1.04),ao("Arcane sugar")&&(e*=1.05),ao("Increased merriness")&&(e*=1.15),ao("Improved jolliness")&&(e*=1.15),ao("A lump of coal")&&(e*=1.01),ao("An itchy sweater")&&(e*=1.01),ao("Santa's dominion")&&(e*=1.2),ao("Fortune #100")&&(e*=1.01),ao("Fortune #101")&&(e*=1.07),ao("Dragon scale")&&(e*=1.03);let o=1;if(ro){let t=ro("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=ro("ages"),1===t?e*=1+.15*Math.sin(w/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(w/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(w/1e3/86400*Math.PI*2)),t=ro("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=ro("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=ro("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}ao("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=De/25;let i=1;if(ao("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*oo("Breath of Milk"),ro){const e=ro("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=io("milk");let a=1;ao("Kitten helpers")&&(a*=1+.1*n*i),ao("Kitten workers")&&(a*=1+.125*n*i),ao("Kitten engineers")&&(a*=1+.15*n*i),ao("Kitten overseers")&&(a*=1+.175*n*i),ao("Kitten managers")&&(a*=1+.2*n*i),ao("Kitten accountants")&&(a*=1+.2*n*i),ao("Kitten specialists")&&(a*=1+.2*n*i),ao("Kitten experts")&&(a*=1+.2*n*i),ao("Kitten consultants")&&(a*=1+.2*n*i),ao("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),ao("Kitten marketeers")&&(a*=1+.15*n*i),ao("Kitten analysts")&&(a*=1+.125*n*i),ao("Kitten executives")&&(a*=1+.115*n*i),ao("Kitten angels")&&(a*=1+.1*n*i),ao("Fortune #103")&&(a*=1+.05*n*i),Object.keys(Zt).forEach((e=>{const t=Zt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&ao("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),Xe+=t.amount*a})),ao('"egg"')&&(Xe+=9),e*=a;let r=1;if(ao("Chicken egg")&&(r*=1.01),ao("Duck egg")&&(r*=1.01),ao("Turkey egg")&&(r*=1.01),ao("Quail egg")&&(r*=1.01),ao("Robin egg")&&(r*=1.01),ao("Ostrich egg")&&(r*=1.01),ao("Cassowary egg")&&(r*=1.01),ao("Salmon roe")&&(r*=1.01),ao("Frogspawn")&&(r*=1.01),ao("Shark egg")&&(r*=1.01),ao("Turtle egg")&&(r*=1.01),ao("Ant larva")&&(r*=1.01),ao("Century egg")){let e=10*Math.floor((x-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),gt=1+.1*(1-(1-e/100)**3),r*=gt}e*=r,ao("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+oo("Radiant Appetite");const l=Xe*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&$o(Game.CpsAchievements[e].name)})),qe=l;const{n:s}=Game.shimmerTypes.golden,c=oo("Dragon's Fortune");for(let t=0;t{ao(e[o])&&(t+=.1)}))}e*=t}if(ao("Shimmering veil [off]")){let t=.5;ao("Reinforced membrane")&&(t+=.1),e*=1+t}ao("Magic shenanigans")&&(e*=1e3),ao("Occult obstruction")&&(e*=0),Xe=Game.runModHookOnValue("cps",Xe),e*=Bo(),Xe*=e}const Io=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],zo=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Vo=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],_o=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],Qo=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function Xo(e){return to[e]?to[e].won:0}function qo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{ao(Game.GrandmaSynergies[t])&&(e+=1)})),!Xo("Elder")&&e>=7&&$o("Elder"),!Xo("Veteran")&&e>=14&&$o("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(Zt).forEach((e=>{t+=Zt[e].amount,i=Math.min(Zt[e].amount,i),Xo("Mathematician")||Zt[e].amount=1&&$o("One with everything"),1===o&&$o("Mathematician"),1===n&&$o("Base 10"),i>=100&&$o("Centennial"),i>=150&&$o("Centennial and a half"),i>=200&&$o("Bicentennial"),i>=250&&$o("Bicentennial and a half"),i>=300&&$o("Tricentennial"),i>=350&&$o("Tricentennial and a half"),i>=400&&$o("Quadricentennial"),i>=450&&$o("Quadricentennial and a half"),i>=500&&$o("Quincentennial"),i>=550&&$o("Quincentennial and a half"),i>=600&&$o("Sexcentennial"),t>=100&&$o("Builder"),t>=500&&$o("Architect"),t>=1e3&&$o("Engineer"),t>=2e3&&$o("Lord of Constructs"),t>=4e3&&$o("Grand design"),t>=8e3&&$o("Ecumenopolis"),Ae>=20&&$o("Enhancer"),Ae>=50&&$o("Augmenter"),Ae>=100&&$o("Upgrader"),Ae>=200&&$o("Lord of Progress"),Ae>=300&&$o("The full picture"),Ae>=400&&$o("When there's nothing left to add"),t>=4e3&&Ae>=300&&$o("Polymath"),t>=8e3&&Ae>=400&&$o("Renaissance baker"),Zt.Cursor.amount+Zt.Grandma.amount>=777&&$o("The elder scrolls");let a=!0;Object.keys(zo).forEach((e=>{ao(zo[e])||(a=!1)})),a&&$o("Spooky cookies");let r=!0;if(Object.keys(Vo).forEach((e=>{ao(Vo[e])||(r=!1)})),r&&$o("Let it snow"),ao("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{ao(e[o].name)&&(t+=1)})),t>=e.length&&$o("O Fortuna")}}function Yo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){To(),Zt[e].amount+=t;const o=Zt[e];"Cursor"===e?(o.amount>=1&&$o("Click"),o.amount>=2&&$o("Double-click"),o.amount>=50&&$o("Mouse wheel"),o.amount>=100&&$o("Of Mice and Men"),o.amount>=200&&$o("The Digital"),o.amount>=300&&$o("Extreme polydactyly"),o.amount>=400&&$o("Dr. T"),o.amount>=500&&$o("Thumbs, phalanges, metacarpals"),o.amount>=600&&$o("With her finger and her thumb"),o.amount>=700&&$o("Gotta hand it to you"),o.amount>=800&&$o("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&$o(Game.Objects[o.name].tieredAchievs[e].name)}));const n=De;return Ro(),qo(),n!==De&&Ro(),Xe-Game.cookiesPs}(o,e),1!==e&&(Fe=1)})),t}function Ko(){Object.keys(Game.Objects).forEach((e=>{yt[e].price=Uo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),bt[e].price=Uo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),kt[e].price=Uo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Jo(){yt=Yo(1),bt=Yo(10),kt=Yo(100),Mt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){To(),"Shimmering veil [on]"===eo[e].name?eo["Shimmering veil [off]"].bought=0:"Golden switch [on]"===eo[e].name?eo["Golden switch [off]"].bought=0:eo[e].bought=(eo[e].bought+1)%2,eo[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Ae+=1),"Elder Pledge"===e?(je+=1,je>0&&$o("Elder nap"),je>=5&&$o("Elder slumber")):"Elder Covenant"===e?$o("Elder calm"):"Prism heart biscuits"===e?$o("Lovely cookies"):"Heavenly key"===e&&$o("Wholesome");const t=De;Ro(),qo(),t!==De&&Ro();const o=function(){let e=0;ao("Thousand fingers")&&(e+=.1),ao("Million fingers")&&(e*=5),ao("Billion fingers")&&(e*=10),ao("Trillion fingers")&&(e*=20),ao("Quadrillion fingers")&&(e*=20),ao("Quintillion fingers")&&(e*=20),ao("Sextillion fingers")&&(e*=20),ao("Septillion fingers")&&(e*=20),ao("Octillion fingers")&&(e*=20),ao("Nonillion fingers")&&(e*=20);let t=0;Object.keys(Zt).forEach((e=>{t+=Zt[e].amount})),t-=Zt.Cursor.amount,e*=t,ao("Plastic mouse")&&(e+=.01*Xe),ao("Iron mouse")&&(e+=.01*Xe),ao("Titanium mouse")&&(e+=.01*Xe),ao("Adamantium mouse")&&(e+=.01*Xe),ao("Unobtainium mouse")&&(e+=.01*Xe),ao("Eludium mouse")&&(e+=.01*Xe),ao("Wishalloy mouse")&&(e+=.01*Xe),ao("Fantasteel mouse")&&(e+=.01*Xe),ao("Nevercrack mouse")&&(e+=.01*Xe),ao("Armythril mouse")&&(e+=.01*Xe),ao("Technobsidian mouse")&&(e+=.01*Xe),ao("Plasmarble mouse")&&(e+=.01*Xe),ao("Miraculite mouse")&&(e+=.01*Xe),ao("Fortune #104")&&(e+=.01*Xe);let o=1;if(ao("Santa's helpers")&&(o*=1.1),ao("Cookie egg")&&(o*=1.1),ao("Halo gloves")&&(o*=1.1),ao("Dragon claw")&&(o*=1.03),ao("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,ao("Luminous gloves")?20:10)),o*=io("click"),Zt.Temple.minigameLoaded&&ro){const e=ro("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*oo("Dragon Cursor");let n=o*Game.ComputeCps(1,ao("Reinforced index finger")+ao("Carpal tunnel prevention cream")+ao("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[Xe-Game.cookiesPs,o]:[Xe-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(Mt[t]={bonus:Game.cookiesPs-Me},1===e.CalcWrink?Mt[t].bonus-=Se:2===e.CalcWrink&&(Mt[t].bonus-=Pe),Number.isFinite(Mt[t].bonus)||(Mt[t].bonus=0)):(Mt[t]={},o[0]&&(Mt[t].bonus=o[0]),o[1]&&(Mt[t].bonusMouse=o[1]))}))}function Zo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Ft=Zo(7,e,ut),Nt=2*Ft[1]/ut,Ot=Ft[2]/60/60/6/pt,At=Zo(6,e,mt),Wt=2*At[1]/mt,Lt=At[2]/60/60/6/pt,Ht=Zo(7,7*e,ut),jt=2*Ht[1]/ut,Dt=Ht[2]/60/60/6/pt,Rt=Zo(6,7*e,mt),Ut=2*Rt[1]/mt,$t=Rt[2]/60/60/6/pt}function tn(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Ne,i=Math.max(0,o-Oe)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?Bt+=e:"cookie"===o.pool?Et+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(Pt+=e)}}))}function nn(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),ft=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(ft*=2)}}function an(){et=900*dt/.15,et*=pt;const e=Bo();e>0?et/=e:et=0,tt=ut*(.15*et)+13,ot=mt*(.15*et)+13,nt=7*et,it=ut*(.15*nt)+13,at=mt*(.15*nt)+13,rt=2*et,lt=.15*rt,st=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountst&&(st=2*Game.Objects[e].price,ct=e)}))}function rn(){let e=1,t=1,o=1;ao("Green yeast digestives")&&(o*=1.01),ao("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),ut=o*e,mt=o*t,pt=1,0===Game.shimmerTypes.golden.n&&(pt*=1+1.23*Game.auraMult("Dragon's Fortune"))}function ln(){Gt=0,vt=0,wt=[0,null];for(let e=0;ewt[0]&&(wt=[t,e]))}}function sn(){ko(),ln(),an(),rn(),en(),on(),nn(),ge=new Wo(J[J.length-1]),fe=new Wo(J[J.length-1]),Ce=new Wo(J[J.length-1]),ye=new Wo(J[J.length-1]),be=new Wo(Z[Z.length-1]),ke=new Wo(5),he=new Wo(20*Z[Z.length-1]),tn(),Lo(),Jo(),Ko(),Ho()}const cn={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,MissingAchievements:0,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,FavouriteSettings:1,Header:{Favourite:1,Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},dn=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function pn(){1===e.BotBar?(l("CMBotBar").style.display="",fo()):l("CMBotBar").style.display="none",yo()}function un(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),fo(),co(),po()}function mn(){1===e.Favicon&&y>0?Vt.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class hn{constructor(e,t){this.type=e,this.group=t}}class gn extends hn{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class fn extends hn{constructor(e,t,o){super(e,t),this.desc=o}}class Cn extends hn{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class yn extends hn{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const bn={CPSMode:new gn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new gn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new gn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new gn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){_e=!0})),Scale:new gn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Abbreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){un()})),ScaleDecimals:new gn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){un()})),ScaleSeparator:new gn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){un()})),ScaleCutoff:new yn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new gn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new gn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=V:Game.sayTime=B.sayTime})),PPDisplayTime:new gn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new gn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){co()})),PPOnlyConsiderBuyable:new gn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new gn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new gn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new yn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),ColourBlue:new fn("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new fn("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new fn("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new fn("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new fn("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new fn("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new fn("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new fn("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new fn("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new gn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){pn()})),TimerBar:new gn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){bo()})),TimerBarPos:new gn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),yo()})),TimerBarOverlay:new gn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new gn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",po()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",po()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new gn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new gn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){co()})),SortUpgrades:new gn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){po()})),DragonAuraInfo:new gn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new gn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new gn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(se).forEach((e=>{se[e].style.display="block",se[e].style.left=Yt[e].l.style.left,se[e].style.top=Yt[e].l.style.top})):Object.keys(se).forEach((e=>se[e].style.display="none"))})),Favicon:new gn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){mn()})),WrinklerButtons:new gn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new gn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new gn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new gn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new gn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new gn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new gn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new gn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new gn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new yn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new gn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new gn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){Eo()})),TooltipGrim:new gn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new gn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new gn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new gn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new gn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new gn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new gn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new gn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in statistics menu",!0),MissingAchievements:new gn("bool","Statistics",["Missing Achievements OFF","Missing Normal Achievements ON"],"Shows missing normal achievements in statistics menu.",!1),UpStats:new gn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new yn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new gn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new gn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new gn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new gn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){dn(e.GCNotification)})),GCFlash:new gn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new fn("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new gn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new Cn("vol","NotificationGC",[],"Volume"),GCSoundURL:new gn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new gn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){dn(e.FortuneNotification)})),FortuneFlash:new gn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new fn("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new gn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new Cn("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new gn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new gn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){dn(e.SeaNotification)})),SeaFlash:new gn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new fn("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new gn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new Cn("vol","NotificationSea",[],"Volume"),SeaSoundURL:new gn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new gn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new fn("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new gn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new Cn("vol","NotificationGard",[],"Volume"),GardSoundURL:new gn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new gn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){dn(e.MagicNotification)})),MagicFlash:new gn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new fn("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new gn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new Cn("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new gn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new gn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){dn(e.WrinklerNotification)})),WrinklerFlash:new gn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new fn("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new gn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new Cn("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new gn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new gn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){dn(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new gn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new fn("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new gn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new Cn("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new gn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new gn("bool","Miscellaneous",["Block bulk buying OFF","Block bulk buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0),FavouriteSettings:new gn("bool","Miscellaneous",["Favourite settings section OFF","Favourite settings section ON","Favourite settings section ON (Locked)"],"Show stars before each setting which allows selecting it for a 'favourites' section at the top of the Cookie Monster settings. Setting this to Locked removes the stars but shows the 'favourites' section",!0,(function(){Game.UpdateMenu()}))};function kn(){return JSON.stringify({favouriteSettings:de,settings:e,version:"2.031.6"})}function Gn(){if(Je!==Game.dragonLevel||_e){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{Zt[e]=wo(e)})),eo=[],Object.keys(Game.Upgrades).forEach((e=>{eo[e]=xo(e)})),to=[],Object.keys(Game.Achievements).forEach((e=>{to[e]=Go(e)})),To()}let xn=!1;function Tn(t,o,n){(1===e[o]||n)&&3===t&&!1===xn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){Tn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){Tn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){Tn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function Mn(t,o,n,i){if((1===e[o]||i)&&!1===xn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function Sn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===xn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function Pn(){if(re!==Game.OnAscend&&(re=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(pn(),bo()),Co()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(wn(),sn(),r=Object.keys(Game.mods).length),_e&&(Jo(),Game.Has("Golden switch [off]")?(To(),eo["Golden switch [off]"].bought=0,Ro(),dt=Xe):dt=Game.cookiesPs,rn(),an(),on(),en(),Gn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Jt[e][t]=vn(e,t)}(),nn(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;To();let t=2;5!==$e&&18!==$e||(t-=1),5!==Re&&18!==Re||(t-=1),$e=5,Re=18;for(let e=0;e{Zt[t].amount>0&&(e=t)})),Zt[e].amount-=1,Le-=1}return Object.keys(Zt).forEach((t=>{const o=Zt[t];e+=so(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),Kt=e}(),_e=0);const t=Game.auraMult("Fierce Hoarder")>0;!We&&t?(We=!0,Fe=1):We&&!t&&(We=!1,Fe=1),Fe&&(Ko(),Fe=0),function(){ln(),Ho(),function(){xt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(Zt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}Tt=e,xt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Lo(),tn();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);Qt=ue(e/uo())}(),G=0,Yt={},Object.keys(Game.shimmers).forEach((e=>{Yt[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(Vt=Game.shimmers[e],G+=1)})),Object.keys(se).forEach((e=>{void 0===Yt[e]&&(se[e].parentNode.removeChild(se[e]),delete se[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===se[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},se[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),mn(),b=G,0===G&&(Vt=0)):1===e.GCTimer&&y&&Object.keys(se).forEach((e=>{se[e].style.opacity=Yt[e].l.style.opacity,se[e].style.transform=Yt[e].l.style.transform,se[e].textContent=Math.ceil(Yt[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(Tn(3,"FortuneFlash",!1),Mn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),Sn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&(_t=Game.shimmers[e])})),Tn(3,"SeaFlash",!1),Mn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),Sn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>v?(v=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?Tn(3,"WrinklerMaxFlash",!1):Tn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?Mn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):Mn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?Sn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):Sn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):v=t}}()}}function Bn(){let t="";for(let o=0;o<$.length;o++)t+=`.CMText${$[o]} { color: ${e[`Colour${$[o]}`]}; }\n`;for(let o=0;o<$.length;o++)t+=`.CMBack${$[o]} { background-color: ${e[`Colour${$[o]}`]}; }\n`;for(let o=0;o<$.length;o++)t+=`.CMBorder${$[o]} { border: 1px solid ${e[`Colour${$[o]}`]}; }\n`;l("CMCSS").textContent=t,co()}function En(){const e=b64_to_utf8(unescape(localStorage.getItem("CookieClickerGame")).split("!END!")[0]),t=e.match(/CookieMonster.*(;|$)/);if(null!==t){const o=e.replace(t[0],`CookieMonster:${kn()}`);localStorage.setItem("CookieClickerGame",escape(`${utf8_to_b64(o)}!END!`))}}function Nn(t){if(void 0!==localStorage.CMConfig&&delete localStorage.CMConfig,void 0!==t){e=t,void 0!==e.Colors&&delete e.Colors,void 0!==e.Colours&&delete e.Colours;let o=!1;Object.keys(cn).forEach((t=>{void 0===e[t]?(o=!0,e[t]=cn[t]):"Header"===t&&Object.keys(cn.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=cn[t][n])}))})),o&&En(),Pn(),Object.keys(cn).forEach((e=>{"Header"!==e&&void 0!==bn[e].func&&bn[e].func()}))}else Nn(cn);Game.UpdateMenu(),Bn()}function On(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Fn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Uo(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${pe(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${me((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(pe(Game.Objects[o].bulkPrice)).join(pe((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return ne=t,ie=o,No(),l("tooltip").innerHTML}function Wn(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(S[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function Ln(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),En()}function Rn(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){$n(o),Game.UpdateMenu()},n.appendChild(i),n}function In(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(I[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function zn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function Vn(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(Rn("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+mo(){Game.HasUnlocked(Qo[e])||c.push(Qo[e])})),0!==c.length&&e.appendChild(In("basic","Rare plant drops left to unlock",zn(c))),e}())),o.appendChild(Rn("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige(It+Game.cookiesReset+Gt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?Ct:0)));t.appendChild(In("withTooltip","Prestige level (cur / max)",document.createTextNode(`${pe(Game.prestige)} / ${pe(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-(It+Game.cookiesReset+Gt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&&Ct?Ct:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(pe(n)));const a=document.createElement("small");a.textContent=` (${ue(n/zt,1)})`,i.appendChild(a),t.appendChild(In("withTooltip","Cookies to next level",i,"NextPrestTooltipPlaceholder")),t.appendChild(In("withTooltip","Heavenly chips (cur / max)",document.createTextNode(`${pe(Game.heavenlyChips)} / ${pe(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild(In("basic","Heavenly chips per second (last 5 seconds)",document.createTextNode(pe(ht,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild(In("basic","Heavenly chips to target set in settings (cur)",document.createTextNode(pe(e)))),t.appendChild(In("basic","Time till target (cur, current 5 second average)",document.createTextNode(ue(e/ht)))))}const l=function(e){let t=Game.cookiesPs;To(),0===eo["Heavenly key"].bought&&(eo["Heavenly chip secret"].bought=1,eo["Heavenly cookie stand"].bought=1,eo["Heavenly bakery"].bought=1,eo["Heavenly confectionery"].bought=1,eo["Heavenly key"].bought=1,Ro(),t=Xe,To()),It>=1e6&&$o("Sacrifice"),It>=1e9&&$o("Oblivion"),It>=1e12&&$o("From scratch"),It>=1e15&&$o("Nihilism"),It>=1e18&&$o("Dematerialize"),It>=1e21&&$o("Nil zero zilch"),It>=1e24&&$o("Transcendence"),It>=1e27&&$o("Obliterate"),It>=1e30&&$o("Negative void"),It>=1e33&&$o("To crumbs, you say?"),It>=1e36&&$o("You get nothing"),It>=1e39&&$o("Humble rebeginnings"),It>=1e42&&$o("The end of the world"),It>=1e45&&$o("Oh, you're back"),It>=1e48&&$o("Lazarus"),It>=1e51&&$o("Smurf account"),It>=1e54&&$o("If at first you don't succeed"),eo["Heavenly chip secret"].bought=1,eo["Heavenly cookie stand"].bought=1,eo["Heavenly bakery"].bought=1,eo["Heavenly confectionery"].bought=1,eo["Heavenly key"].bought=1,Ue=e;const o=De;Ro(),qo(),o!==De&&Ro();const n=Xe-t;return Ue=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(pe(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(In("withTooltip","Reset bonus income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(In("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(In("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(In("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(Rn("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${pe(Gt)} / ${pe(vt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){On()},e.appendChild(t),o.appendChild(In("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${pe(wt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==wt[1]&&(Game.wrinklers[wt[1]].hp=0)},n.appendChild(i),o.appendChild(In("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==wt[1]?wt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(zo).forEach((e=>{Game.Has(zo[e])||(n.push(zo[e]),o=!0)}));const i=[];Object.keys(Vo).forEach((e=>{Game.Has(Vo[e])||(i.push(Vo[e]),o=!0)}));const a=[];Object.keys(_o).forEach((e=>{Game.Has(_o[e])||(a.push(_o[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(Rn("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(In("basic","Halloween cookies left to buy",zn(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild(In("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${pe((1-e)*o*100)}% / ${pe((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild(In("basic","Christmas cookies left to buy",zn(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild(In("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${pe((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild(In("basic","Valentine cookies left to buy",zn(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(In("basic","Normal easter eggs left to unlock",zn(r))),t.appendChild(In("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${pe(100*e(.98)[0])}% / ${pe(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(In("basic","Rare easter eggs left to unlock",zn(l))),t.appendChild(In("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${pe(100*e(.98)[1])}% / ${pe(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild(In("basic","Reindeer reward",document.createTextNode(pe(ft)))),s&&t.appendChild(In("withTooltip","Chocolate egg cookies",document.createTextNode(pe(Ct)),"ChoEggTooltipPlaceholder")),c&&t.appendChild(In("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(gt-1))/100+"%")))}return t}()),o.appendChild(Rn("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(In("basic",`Average cookies per second (past ${J[e.AvgCPSHist]<60?`${J[e.AvgCPSHist]} seconds`:J[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(pe(uo(),3)))),o.appendChild(In("basic",`Average cookie clicks per second (past ${Z[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(pe(St,1)))),o.appendChild(In("basic",`Cookies from clicking (past ${Z[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(pe(he.calcSum(St*Z[e.AvgClicksHist]))))),Game.Has("Fortune cookies")){const e=[];Object.keys(Io).forEach((t=>{Game.Has(Io[t])||e.push(Io[t])})),0!==e.length&&o.appendChild(In("basic","Fortune Upgrades Left to Buy",zn(e)))}if(e.ShowMissedGC&&o.appendChild(In("basic","Missed golden cookies",document.createTextNode(pe(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(In("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&Bt){const t=Bt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Bt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(Pt){const t=Pt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Pt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Et){const t=Et.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Et,e.appendChild(i)}}})),e.MissingAchievements&&function(){let t;Object.values(document.querySelectorAll("div.title")).forEach((e=>{e.textContent.includes("Achievements")&&(t=e.parentElement.querySelectorAll("div.listing.crateBox")[0])})),e.MissingAchievements&&Object.values(t.children).forEach((e=>{if(!e.className.includes("enabled")){const t=e.onclick.toString().match(/(?<=\[).*(?=\])/g)[0],{icon:o}=Game.AchievementsById[t];e.style.backgroundPosition=`${48*-o[0]}px ${48*-o[1]}px`,e.onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return function(e){const t=[];"shadow"===e.pool?t.push("Shadow Achievement","#9700cf"):t.push("Achievement",0),t.push("Locked",0);let o=0;(Game.Has("Neuromancy")||Game.sesame&&"debug"===e.pool)&&(o=1),o&&0===e.won?t.push("Click to win!","#00c462"):o&&e.won>0&&t.push("Click to lose!","#00c462");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());let{desc:i}=e;e.descFunc&&(i=e.descFunc("stats"));let a="";for(let e=0;e[${t[e]}]`);return a=a.substring(1),`
\n
\n
${e.name}
\n ${a}
${i}
\n ${Game.sesame?`
Id : ${e.id} | Order : ${Math.floor(e.order)}${e.tier?` | Tier : ${e.tier}`:""}
`:""}`}(Game.AchievementsById[t])}),"top"),Game.tooltip.wobble())}}}))}()}const _n={Favourite:"Favourite Settings",Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},Qn={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function Xn(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){$n(t),Game.UpdateMenu()},n.appendChild(i),n}function qn(t){const o=document.createElement("div");if(o.className="listing",1===e.FavouriteSettings&&o.appendChild(function(e){const t=document.createElement("a");return de.includes(e)?(t.innerText="★",t.style.color="yellow"):t.innerText="☆",t.className="option",t.onclick=function(){!function(e){de.includes(e)?de=de.filter((function(t){return t!==e})):de.push(e)}(e),En(),Game.UpdateMenu()},t.onmouseover=function(){Game.tooltip.draw(this,escape(I.FavouriteSettingPlaceholder.innerHTML))},t.onmouseout=function(){Game.tooltip.hide()},t.appendChild(document.createTextNode(" ")),t}(t)),"bool"===bn[t].type){const n=document.createElement("a");bn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=Hn+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===bn[t].label.length?(e[t]=0,bn[t].toggle&&(l(Hn+t).className="option off")):l(Hn+t).className="option",void 0!==bn[t].func&&bn[t].func(),l(Hn+t).innerHTML=bn[t].label[e[t]],En()}(t)},n.textContent=bn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=bn[t].desc,i.style.lineHeight="1.6",o.appendChild(i),o}if("vol"===bn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=bn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Un(t)},r.onchange=function(){Un(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){Mn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===bn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${bn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=Hn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${Hn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){!function(e,t){Game.promptWrapL.className="framed";const o=e;Game.promptL.innerHTML=`${o}
`,Object.keys(t).forEach((e=>{const o=document.createElement("a");o.id=`promptOption${e}`,o.className="option",o.onclick=function(){PlaySound("snd/tick.mp3"),t[e][1]()},o.textContent=t[e][0],Game.promptL.children[1].appendChild(o)})),Game.promptAnchorL.style.display="block",Game.darkenL.style.display="block",Game.promptL.focus(),Game.promptOn=1,Game.UpdatePrompt()}(a.outerHTML,[["Save",function(){e[t]=l(`CMConfig${t}Prompt`).value,En(),Game.ClosePrompt(),Game.UpdateMenu()}],["Cancel",function(){Game.ClosePrompt()}]])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=bn[t].desc,s.style.lineHeight="1.6",o.appendChild(s),o}if("colour"===bn[t].type){const n=document.createElement("span");n.className="option";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new jn(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),Bn(),En(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=bn[t].desc,a.style.lineHeight="1.6",n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){Tn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),Dn().init(),o}if("numscale"===bn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${bn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=Hn+t,i.className="option",i.type="number",i.value=e[t],i.min=bn[t].min,i.max=bn[t].max,i.oninput=function(){this.value>this.max&&console.log("TEST"),e[t]=this.value,En(),un()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=bn[t].desc,a.style.lineHeight="1.6",o.appendChild(a),o}return o}function Yn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function Kn(){B.Beautify=Beautify,Beautify=pe,B.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){B.CalculateGains(),_e=1,w=Date.now(),x=Date.now()},B.tooltip={},B.tooltip.draw=Game.tooltip.draw,B.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){B.tooltip.drawMod(e,t,o)},B.tooltip.update=Game.tooltip.update,B.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){B.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},B.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){Yn(B.UpdateWrinklers)},B.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){Yn(B.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){Yn(Game.ClickCookie)}),!1),B.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){B.RebuildUpgrades(),P=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(P[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},B.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e].amount>0){const o=Zt[Game.ObjectsById[e].name].name;Zt[o].amount-=1,Le-=1,t=Zt[o].basePrice*Game.priceIncrease**Math.max(0,Zt[o].amount-1-Zt[o].free),t=Game.modifyBuildingPrice(Zt[o],t),t=Math.ceil(t);break}const o=De;return Ro(),qo(),o!==De&&Ro(),[Xe-Game.cookiesPs,t]}(t),n=ue(o/(e+Game.cookiesPs)),i=pe(e/Game.cookiesPs*100);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${pe(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},B.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){B.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${Ze}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},B.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==Dn().picker&&void 0!==Dn().picker.owner||(B.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(_n).forEach((t=>{if("Favourite"===t){if(0!==de.length&&e.FavouriteSettings>0&&(o.appendChild(Xn(t,_n[t])),e.Header[t]))for(let e=0;e{const n=Xn(t,Qn[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(bn).forEach((e=>{bn[e].group===t&&o.appendChild(qn(e))}))})):Object.keys(bn).forEach((e=>{bn[e].group===t&&o.appendChild(qn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Nn(cn)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",Vn(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){$n("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},B.sayTime=Game.sayTime,V=function(e,t){return Number.isNaN(e)||e<=0?B.sayTime(e,t):ue(e/Game.fps,1)},B.Logic=Game.Logic,Game.Logic=function(){B.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),ce=`${Game.OnAscend?"Ascending! ":""}${pe(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=ce;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=Vt?Vt.wrath?`[W${Math.ceil(Vt.life/Game.fps)}]`:`[G${Math.ceil(Vt.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil(_t.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=ce;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;Vt&&(t=!0,Vt.wrath?e+=`[W${Math.ceil(Vt.life/Game.fps)}]`:e+=`[G${Math.ceil(Vt.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil(_t.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${pe(Game.prestige)}.
(CpS +${pe(Game.prestige)}%)`,n+='
'),n+=Oe<1?"Ascending now would grant you no prestige.":Oe<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${pe(Oe)} prestige levels (+${pe(Oe)}% CpS)
and ${pe(Oe)} heavenly chips to spend.`,n+='
',n+=`You need ${pe(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${Qt} to reach the next level and you were making ${pe(ht,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Jn(){wn(),an(),sn(),r=Object.keys(Game.mods).length,T=document.createElement("style"),T.type="text/css",T.id="CMCSS",document.head.appendChild(T),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=E+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",W)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",O)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",O)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",O)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{go(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=ho("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:D},{id:"CMTimerBarGCBar",color:j}]);e.appendChild(t);const o=ho("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:D},{id:"CMTimerBarRenBar",color:L}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=N+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(O,"Better than the best PP of a building option")),e.appendChild(o(F,"Same as the best PP building option")),e.appendChild(o(W,"Within the top 10 of PP for buildings")),e.appendChild(o(L,"Within the top 20 of PP for buildings")),e.appendChild(o(A,"Within the top 30 of PP for buildings")),e.appendChild(o(j,"Outside of the top 30 of PP for buildings")),e.appendChild(o(D,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=E+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",O)),e.appendChild(o("CMUpgradeBarGreen",F)),e.appendChild(o("CMUpgradeBarYellow",W)),e.appendChild(o("CMUpgradeBarOrange",L)),e.appendChild(o("CMUpgradeBarRed",A)),e.appendChild(o("CMUpgradeBarPurple",j)),e.appendChild(o("CMUpgradeBarGray",D)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(R).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),I[e]=n}(R[e][0],R[e][1],R[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){On()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==wt[1]&&(Game.wrinklers[wt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(M[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),Wn(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),An()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){_=1},l("backgroundLeftCanvas").onmouseout=function(){_=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{X[e]=0}))},Kn(),An(),Game.CalculateGains(),Nn(),z=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const Zn={init:function(){xn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Jn(),Game.registerHook("draw",Oo),Game.registerHook("logic",Pn),Game.registerHook("click",Fo),xn=!1)},load:function(e){const t=JSON.parse(e);wn(),void 0!==t.favouriteSettings&&(de=t.favouriteSettings),Nn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:kn};Game.registerMod("CookieMonster",Zn)})()})(); diff --git a/dist/CookieMonster.js b/dist/CookieMonster.js index 024e1ad..74d19ed 100644 --- a/dist/CookieMonster.js +++ b/dist/CookieMonster.js @@ -1,2 +1,2 @@ /*! For license information please see CookieMonster.js.LICENSE.txt */ -(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,v,w,x,T=[],M=[],S=[],P={};const B="CMText",E="CMBack",N="Blue",O="Green",F="Yellow",W="Orange",L="Red",A="Purple",j="Gray",D="Pink",H="Brown",U=[j,N,O,F,W,L,A,D,H],$=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"],["FavouriteSettingPlaceholder","Click to set this setting as favourite and show it in 'favourite' settings at the top of the Cookie Monster Settings","250px"]],R={};let I,z,V=0,_=-1,Q=[],X=1,q=1,Y=1;const K=[10,15,30,60,300,600,900,1800],J=[1,5,10,15,30],Z={Frenzy:F,"Dragon Harvest":H,"Elder frenzy":O,Clot:L,"Click frenzy":N,Dragonflight:D};let ee,te,oe,ne,ie,ae,re,le={},se="",ce=[];function de(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return P.Beautify(t,o);if(Number.isFinite(t)){if(t<0)return`-${de(Math.abs(t))}`;let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function ue(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=O):(n=pe(t),o=t>300?L:t>60?W:F),{text:n,color:o}}let me,he,ge,fe,Ce,ye,be,ke,Ge,ve,we,xe,Te,Me,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Ue,$e,Re,Ie,ze,Ve,_e,Qe,Xe,qe=0,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=0,st=0,ct=0,dt=1,pt=1,ut=1,mt=0,ht=0,gt=0,ft=0,Ct={},yt={},bt={},kt=0,Gt=0,vt=[0,null],wt=0,xt=0,Tt={},Mt={},St={},Pt={},Bt={},Et=0,Nt=0,Ot=[],Ft=0,Wt=0,Lt=[],At=0,jt=0,Dt=[],Ht=0,Ut=0,$t=[],Rt=0,It=0,zt={},Vt={},_t=0,Qt=0,Xt=[],qt={},Yt=0,Kt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},Jt=[],Zt=[],eo=[];function to(e){let t=0;return Game.dragonAuras[Ue].name!==e&&Game.dragonAuras[$e].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[Ue].name&&"Reality Bending"!==Game.dragonAuras[$e].name||(t+=.1),t}function oo(){let e=.25;return e*=1+to("Earth Shatterer"),e}function no(e,t){return void 0===_e[e]?void 0===t?1:t:_e[e]}function io(e){const t=Zt[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function ao(e){if(Game.hasGod){void 0===Jt.Temple.minigame&&(Jt.Temple.minigame=Game.Objects.Temple.minigame);const t=Jt.Temple.minigame.gods[e];if(Re===t.id)return 1;if(Ie===t.id)return 2;if(ze===t.id)return 3}return!1}function ro(e,t){let o=t;if(io("Season savings")&&(o*=.99),io("Santa's dominion")&&(o*=.99),io("Faberge egg")&&(o*=.99),io("Divine discount")&&(o*=.99),io("Fortune #100")&&(o*=.99),o*=1-.02*to("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&io(e.fortune.name)&&(o*=.93),o*=no("buildingCost"),Jt.Temple.minigameLoaded){const e=ao("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function lo(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function so(){let t=Game.buyBulk;if(1===Game.buyMode?q=t:t=q,1===t?t=Ct:10===t?t=yt:100===t&&(t=bt),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(Ct).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=de(lo(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(Ct).map((e=>{const t=Ct[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return U.indexOf(e.color)>U.indexOf(t.color)?1:U.indexOf(e.color){const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return U.indexOf(e.color)>U.indexOf(t.color)?1:U.indexOf(e.color){const t=Ct[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;eU.indexOf(t.color)?1:U.indexOf(e.color)e.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?X=i:i=X,1===i&&(i=Ct),10===i&&(i=yt),100===i&&(i=bt),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=de(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=B+i[o].color,n=e.PPDisplayTime?pe(Math.round(i[o].pp)):de(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=ue((Game.Objects[o].bulkPrice-(Game.cookies+uo()))/po());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=B+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&io(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(io(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&io(e.fortune.name)&&(t*=1.07),e.grandma&&io(e.grandma.name)&&(t*=1+.01*Jt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&io(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function vo(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;io("Thousand fingers")&&(t+=.1),io("Million fingers")&&(t*=5),io("Billion fingers")&&(t*=10),io("Trillion fingers")&&(t*=20),io("Quadrillion fingers")&&(t*=20),io("Quintillion fingers")&&(t*=20),io("Sextillion fingers")&&(t*=20),io("Septillion fingers")&&(t*=20),io("Octillion fingers")&&(t*=20),io("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(Jt).forEach((e=>{"Cursor"!==Jt[e].name&&(n+=Jt[e].amount)})),t*=n,o*=Go(e),o*=Game.magicCpS("Cursor"),o*=no("cursorCps"),Game.ComputeCps(.1,io("Reinforced index finger")+io("Carpal tunnel prevention cream")+io("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{io(Game.GrandmaSynergies[e])&&(o*=2)})),io("Bingo center/Research facility")&&(o*=4),io("Ritual rolling pins")&&(o*=2),io("Naughty list")&&(o*=2),io("Elderwort biscuits")&&(o*=1.02),o*=no("grandmaCps"),io("Cat ladies"))for(let e=0;e{"Grandma"!==Jt[e].name&&(i+=Jt[e].amount)})),o*=1+.01*to("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=Go(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function wo(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(Jt).forEach((t=>{Jt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(io("Starlove")&&(e=3),Game.hasGod){const t=ao("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function xo(){Le=Game.UpgradesOwned,Ae=Game.pledges,je=Game.AchievementsOwned,De=Game.heavenlyPower,He=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=Jt[e];void 0===o&&(Jt[e]=vo(e),o=Jt[e],ho(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(Re=t.minigame.slot[0],Ie=t.minigame.slot[1],ze=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),Jt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=Zt[e];void 0===o&&(Zt[e]=wo(e),o=Zt[e]),o.bought=t.bought,Zt[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=eo[e];void 0===o&&(eo[e]=ko(e),o=eo[e]),o.won=t.won,eo[e]=o})),bo(),Ue=qe,$e=Ye}function To(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function Mo(e){e.appendChild(To("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(To("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(To("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(To("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===oe){e.appendChild(To("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function So(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function Bo(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function Eo(){if(xo(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===oe?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(Mo(l("CMTooltipBorder")),1===Game.buyMode?Y=t:t=Y,1===Game.buyBulk?t=Ct:10===Game.buyBulk?t=yt:100===Game.buyBulk&&(t=bt),ee=Game.Objects[ne].bulkPrice,te=t[ne].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=de(te,2);const o=Math.round(te/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=B+t[ne].color,e.PPDisplayTime?l("CMTooltipPP").textContent=pe(t[ne].pp):l("CMTooltipPP").textContent=de(t[ne].pp,2),l("CMTooltipPP").className=B+t[ne].color;const n=ue((ee-(Game.cookies+uo()))/po());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[ne[1]][ne[0]][0]-1].mature,o=t.plantsById[t.plot[ne[1]][ne[0]][0]-1].name;l("CMTooltipBorder").appendChild(To("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?de(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${de(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?de(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${de(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?de(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${de(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?de(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${de(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===oe?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(To("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=mo(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==Z[Game.buffs[t].name]?Z[Game.buffs[t].name]:A,a.lastChild.children[1].className=E+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),re!==n&&(re=n,Co())}}(),go(),Eo(),function(){if(1===e.TooltipWrink&&1===V){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===Q[t]||void 0===Q[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),_=t,Q[t]=1}}else Q[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[_],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[_].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),Jt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=de(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,de(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}function Oo(){me.addLatest(Game.computedMouseCps)}class Fo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}calcSum(e){let t=e;return t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length),0===t?0:this.queue.slice(-t).reduce(((e,t)=>e+t),0)}}function Wo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+Yt;Game.cpsSucked>0&&(o+=kt),Rt=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-ke,i=Math.max(0,Game.cookies-Ge)/n,a=Math.max(0,kt-ve)/n,r=Math.max(0,vt[0]-we)/n,l=Math.max(0,o-ft)/n,s=(Game.cookieClicks-xe)/n;for(let e=0;e0&&(n=L),n}function Ao(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=j;else{t[n].color=Lo(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+uo()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||Xt.push([t[n].pp,o])}))}function Do(){!function(){Qt=1/0,Xt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),jo(Ct,1),jo(yt,10),jo(bt,100),Xt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;Xt[t][1]>Game.cookies&&(t+=1,Xt.length!==t+1););Qt=Xt[e.PPExcludeTop][t],Ao(Ct,1),Ao(yt,10),Ao(bt,100)}(),Object.keys(Tt).forEach((e=>{Game.cookiesPs?Tt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+uo()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/Tt[e].bonus:Tt[e].pp=Game.Upgrades[e].getPrice()/Tt[e].bonus,Number.isNaN(Tt[e].pp)&&(Tt[e].pp=1/0),Tt[e].color=Lo(Tt[e],Game.Upgrades[e].getPrice())}))}function Ho(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),_e=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(He)*De*function(){let e=0;if(io("Heavenly chip secret")&&(e+=.05),io("Heavenly cookie stand")&&(e+=.2),io("Heavenly bakery")&&(e+=.25),io("Heavenly confectionery")&&(e+=.25),io("Heavenly key")&&(e+=.25),e*=1+.05*to("Dragon God"),io("Lucky digit")&&(e*=1.01),io("Lucky number")&&(e*=1.01),io("Lucky payout")&&(e*=1.01),Game.hasGod){const t=ao("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=no("cps"),io("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];io(o.name)&&("function"==typeof o.power?e*=1+.01*Zt[o.name].power(Zt[o.name]):e*=1+.01*o.power)})),io("Specialized chocolate chips")&&(e*=1.01),io("Designer cocoa beans")&&(e*=1.02),io("Underworld ovens")&&(e*=1.03),io("Exotic nuts")&&(e*=1.04),io("Arcane sugar")&&(e*=1.05),io("Increased merriness")&&(e*=1.15),io("Improved jolliness")&&(e*=1.15),io("A lump of coal")&&(e*=1.01),io("An itchy sweater")&&(e*=1.01),io("Santa's dominion")&&(e*=1.2),io("Fortune #100")&&(e*=1.01),io("Fortune #101")&&(e*=1.07),io("Dragon scale")&&(e*=1.03);let o=1;if(ao){let t=ao("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=ao("ages"),1===t?e*=1+.15*Math.sin(w/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(w/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(w/1e3/86400*Math.PI*2)),t=ao("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=ao("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=ao("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}io("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=je/25;let i=1;if(io("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*to("Breath of Milk"),ao){const e=ao("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=no("milk");let a=1;io("Kitten helpers")&&(a*=1+.1*n*i),io("Kitten workers")&&(a*=1+.125*n*i),io("Kitten engineers")&&(a*=1+.15*n*i),io("Kitten overseers")&&(a*=1+.175*n*i),io("Kitten managers")&&(a*=1+.2*n*i),io("Kitten accountants")&&(a*=1+.2*n*i),io("Kitten specialists")&&(a*=1+.2*n*i),io("Kitten experts")&&(a*=1+.2*n*i),io("Kitten consultants")&&(a*=1+.2*n*i),io("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),io("Kitten marketeers")&&(a*=1+.15*n*i),io("Kitten analysts")&&(a*=1+.125*n*i),io("Kitten executives")&&(a*=1+.115*n*i),io("Kitten angels")&&(a*=1+.1*n*i),io("Fortune #103")&&(a*=1+.05*n*i),Object.keys(Jt).forEach((e=>{const t=Jt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&io("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),Qe+=t.amount*a})),io('"egg"')&&(Qe+=9),e*=a;let r=1;if(io("Chicken egg")&&(r*=1.01),io("Duck egg")&&(r*=1.01),io("Turkey egg")&&(r*=1.01),io("Quail egg")&&(r*=1.01),io("Robin egg")&&(r*=1.01),io("Ostrich egg")&&(r*=1.01),io("Cassowary egg")&&(r*=1.01),io("Salmon roe")&&(r*=1.01),io("Frogspawn")&&(r*=1.01),io("Shark egg")&&(r*=1.01),io("Turtle egg")&&(r*=1.01),io("Ant larva")&&(r*=1.01),io("Century egg")){let e=10*Math.floor((w-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),ht=1+.1*(1-(1-e/100)**3),r*=ht}e*=r,io("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+to("Radiant Appetite");const l=Qe*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&Uo(Game.CpsAchievements[e].name)})),Xe=l;const{n:s}=Game.shimmerTypes.golden,c=to("Dragon's Fortune");for(let t=0;t{io(e[o])&&(t+=.1)}))}e*=t}if(io("Shimmering veil [off]")){let t=.5;io("Reinforced membrane")&&(t+=.1),e*=1+t}io("Magic shenanigans")&&(e*=1e3),io("Occult obstruction")&&(e*=0),Qe=Game.runModHookOnValue("cps",Qe),e*=Po(),Qe*=e}const Ro=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],Io=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],zo=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],Vo=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],_o=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function Qo(e){return eo[e]?eo[e].won:0}function Xo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{io(Game.GrandmaSynergies[t])&&(e+=1)})),!Qo("Elder")&&e>=7&&Uo("Elder"),!Qo("Veteran")&&e>=14&&Uo("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(Jt).forEach((e=>{t+=Jt[e].amount,i=Math.min(Jt[e].amount,i),Qo("Mathematician")||Jt[e].amount=1&&Uo("One with everything"),1===o&&Uo("Mathematician"),1===n&&Uo("Base 10"),i>=100&&Uo("Centennial"),i>=150&&Uo("Centennial and a half"),i>=200&&Uo("Bicentennial"),i>=250&&Uo("Bicentennial and a half"),i>=300&&Uo("Tricentennial"),i>=350&&Uo("Tricentennial and a half"),i>=400&&Uo("Quadricentennial"),i>=450&&Uo("Quadricentennial and a half"),i>=500&&Uo("Quincentennial"),i>=550&&Uo("Quincentennial and a half"),i>=600&&Uo("Sexcentennial"),t>=100&&Uo("Builder"),t>=500&&Uo("Architect"),t>=1e3&&Uo("Engineer"),t>=2e3&&Uo("Lord of Constructs"),t>=4e3&&Uo("Grand design"),t>=8e3&&Uo("Ecumenopolis"),Le>=20&&Uo("Enhancer"),Le>=50&&Uo("Augmenter"),Le>=100&&Uo("Upgrader"),Le>=200&&Uo("Lord of Progress"),Le>=300&&Uo("The full picture"),Le>=400&&Uo("When there's nothing left to add"),t>=4e3&&Le>=300&&Uo("Polymath"),t>=8e3&&Le>=400&&Uo("Renaissance baker"),Jt.Cursor.amount+Jt.Grandma.amount>=777&&Uo("The elder scrolls");let a=!0;Object.keys(Io).forEach((e=>{io(Io[e])||(a=!1)})),a&&Uo("Spooky cookies");let r=!0;if(Object.keys(zo).forEach((e=>{io(zo[e])||(r=!1)})),r&&Uo("Let it snow"),io("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{io(e[o].name)&&(t+=1)})),t>=e.length&&Uo("O Fortuna")}}function qo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){xo(),Jt[e].amount+=t;const o=Jt[e];"Cursor"===e?(o.amount>=1&&Uo("Click"),o.amount>=2&&Uo("Double-click"),o.amount>=50&&Uo("Mouse wheel"),o.amount>=100&&Uo("Of Mice and Men"),o.amount>=200&&Uo("The Digital"),o.amount>=300&&Uo("Extreme polydactyly"),o.amount>=400&&Uo("Dr. T"),o.amount>=500&&Uo("Thumbs, phalanges, metacarpals"),o.amount>=600&&Uo("With her finger and her thumb"),o.amount>=700&&Uo("Gotta hand it to you"),o.amount>=800&&Uo("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&Uo(Game.Objects[o.name].tieredAchievs[e].name)}));const n=je;return $o(),Xo(),n!==je&&$o(),Qe-Game.cookiesPs}(o,e),1!==e&&(Oe=1)})),t}function Yo(){Object.keys(Game.Objects).forEach((e=>{Ct[e].price=Ho(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),yt[e].price=Ho(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),bt[e].price=Ho(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Ko(){Ct=qo(1),yt=qo(10),bt=qo(100),Tt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){xo(),"Shimmering veil [on]"===Zt[e].name?Zt["Shimmering veil [off]"].bought=0:"Golden switch [on]"===Zt[e].name?Zt["Golden switch [off]"].bought=0:Zt[e].bought=(Zt[e].bought+1)%2,Zt[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Le+=1),"Elder Pledge"===e?(Ae+=1,Ae>0&&Uo("Elder nap"),Ae>=5&&Uo("Elder slumber")):"Elder Covenant"===e?Uo("Elder calm"):"Prism heart biscuits"===e?Uo("Lovely cookies"):"Heavenly key"===e&&Uo("Wholesome");const t=je;$o(),Xo(),t!==je&&$o();const o=function(){let e=0;io("Thousand fingers")&&(e+=.1),io("Million fingers")&&(e*=5),io("Billion fingers")&&(e*=10),io("Trillion fingers")&&(e*=20),io("Quadrillion fingers")&&(e*=20),io("Quintillion fingers")&&(e*=20),io("Sextillion fingers")&&(e*=20),io("Septillion fingers")&&(e*=20),io("Octillion fingers")&&(e*=20),io("Nonillion fingers")&&(e*=20);let t=0;Object.keys(Jt).forEach((e=>{t+=Jt[e].amount})),t-=Jt.Cursor.amount,e*=t,io("Plastic mouse")&&(e+=.01*Qe),io("Iron mouse")&&(e+=.01*Qe),io("Titanium mouse")&&(e+=.01*Qe),io("Adamantium mouse")&&(e+=.01*Qe),io("Unobtainium mouse")&&(e+=.01*Qe),io("Eludium mouse")&&(e+=.01*Qe),io("Wishalloy mouse")&&(e+=.01*Qe),io("Fantasteel mouse")&&(e+=.01*Qe),io("Nevercrack mouse")&&(e+=.01*Qe),io("Armythril mouse")&&(e+=.01*Qe),io("Technobsidian mouse")&&(e+=.01*Qe),io("Plasmarble mouse")&&(e+=.01*Qe),io("Miraculite mouse")&&(e+=.01*Qe),io("Fortune #104")&&(e+=.01*Qe);let o=1;if(io("Santa's helpers")&&(o*=1.1),io("Cookie egg")&&(o*=1.1),io("Halo gloves")&&(o*=1.1),io("Dragon claw")&&(o*=1.03),io("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,io("Luminous gloves")?20:10)),o*=no("click"),Jt.Temple.minigameLoaded&&ao){const e=ao("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*to("Dragon Cursor");let n=o*Game.ComputeCps(1,io("Reinforced index finger")+io("Carpal tunnel prevention cream")+io("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[Qe-Game.cookiesPs,o]:[Qe-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(Tt[t]={bonus:Game.cookiesPs-Te},1===e.CalcWrink?Tt[t].bonus-=Me:2===e.CalcWrink&&(Tt[t].bonus-=Se),Number.isFinite(Tt[t].bonus)||(Tt[t].bonus=0)):(Tt[t]={},o[0]&&(Tt[t].bonus=o[0]),o[1]&&(Tt[t].bonusMouse=o[1]))}))}function Jo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Ot=Jo(7,e,pt),Et=2*Ot[1]/pt,Nt=Ot[2]/60/60/6/dt,Lt=Jo(6,e,ut),Ft=2*Lt[1]/ut,Wt=Lt[2]/60/60/6/dt,Dt=Jo(7,7*e,pt),At=2*Dt[1]/pt,jt=Dt[2]/60/60/6/dt,$t=Jo(6,7*e,ut),Ht=2*$t[1]/ut,Ut=$t[2]/60/60/6/dt}function en(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Ee,i=Math.max(0,o-Ne)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?Pt+=e:"cookie"===o.pool?Bt+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(St+=e)}}))}function on(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),gt=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(gt*=2)}}function nn(){Ze=900*ct/.15,Ze*=dt;const e=Po();e>0?Ze/=e:Ze=0,et=pt*(.15*Ze)+13,tt=ut*(.15*Ze)+13,ot=7*Ze,nt=pt*(.15*ot)+13,it=ut*(.15*ot)+13,at=2*Ze,rt=.15*at,lt=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountlt&&(lt=2*Game.Objects[e].price,st=e)}))}function an(){let e=1,t=1,o=1;io("Green yeast digestives")&&(o*=1.01),io("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),pt=o*e,ut=o*t,dt=1,0===Game.shimmerTypes.golden.n&&(dt*=1+1.23*Game.auraMult("Dragon's Fortune"))}function rn(){kt=0,Gt=0,vt=[0,null];for(let e=0;evt[0]&&(vt=[t,e]))}}function ln(){bo(),rn(),nn(),an(),Zo(),tn(),on(),he=new Fo(K[K.length-1]),ge=new Fo(K[K.length-1]),fe=new Fo(K[K.length-1]),Ce=new Fo(K[K.length-1]),ye=new Fo(J[J.length-1]),be=new Fo(5),me=new Fo(20*J[J.length-1]),en(),Wo(),Ko(),Yo(),Do()}const sn={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,MissingAchievements:0,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,FavouriteSettings:1,Header:{Favourite:1,Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},cn=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function dn(){1===e.BotBar?(l("CMBotBar").style.display="",go()):l("CMBotBar").style.display="none",Co()}function pn(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),go(),so(),co()}function un(){1===e.Favicon&&y>0?zt.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class mn{constructor(e,t){this.type=e,this.group=t}}class hn extends mn{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class gn extends mn{constructor(e,t,o){super(e,t),this.desc=o}}class fn extends mn{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class Cn extends mn{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const yn={CPSMode:new hn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new hn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new hn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new hn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){Ve=!0})),Scale:new hn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Abbreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){pn()})),ScaleDecimals:new hn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){pn()})),ScaleSeparator:new hn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){pn()})),ScaleCutoff:new Cn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new hn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new hn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=z:Game.sayTime=P.sayTime})),PPDisplayTime:new hn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new hn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){so()})),PPOnlyConsiderBuyable:new hn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new hn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new hn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new Cn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),ColourBlue:new gn("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new gn("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new gn("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new gn("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new gn("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new gn("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new gn("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new gn("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new gn("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new hn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){dn()})),TimerBar:new hn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){yo()})),TimerBarPos:new hn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),Co()})),TimerBarOverlay:new hn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new hn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",co()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",co()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new hn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new hn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){so()})),SortUpgrades:new hn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){co()})),DragonAuraInfo:new hn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new hn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new hn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(le).forEach((e=>{le[e].style.display="block",le[e].style.left=qt[e].l.style.left,le[e].style.top=qt[e].l.style.top})):Object.keys(le).forEach((e=>le[e].style.display="none"))})),Favicon:new hn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){un()})),WrinklerButtons:new hn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new hn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new hn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new hn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new hn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new hn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new hn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new hn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new hn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new Cn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new hn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new hn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){Bo()})),TooltipGrim:new hn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new hn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new hn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new hn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new hn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new hn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new hn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new hn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in statistics menu",!0),MissingAchievements:new hn("bool","Statistics",["Missing Achievements OFF","Missing Normal Achievements ON"],"Shows missing normal achievements in statistics menu.",!1),UpStats:new hn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new Cn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new hn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new hn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new hn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new hn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){cn(e.GCNotification)})),GCFlash:new hn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new gn("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new hn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new fn("vol","NotificationGC",[],"Volume"),GCSoundURL:new hn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new hn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){cn(e.FortuneNotification)})),FortuneFlash:new hn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new gn("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new hn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new fn("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new hn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new hn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){cn(e.SeaNotification)})),SeaFlash:new hn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new gn("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new hn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new fn("vol","NotificationSea",[],"Volume"),SeaSoundURL:new hn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new hn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new gn("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new hn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new fn("vol","NotificationGard",[],"Volume"),GardSoundURL:new hn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new hn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){cn(e.MagicNotification)})),MagicFlash:new hn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new gn("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new hn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new fn("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new hn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new hn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){cn(e.WrinklerNotification)})),WrinklerFlash:new hn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new gn("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new hn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new fn("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new hn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new hn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){cn(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new hn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new gn("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new hn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new fn("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new hn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new hn("bool","Miscellaneous",["Block bulk buying OFF","Block bulk buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0),FavouriteSettings:new hn("bool","Miscellaneous",["Favourite settings section OFF","Favourite settings section ON","Favourite settings section ON (Locked)"],"Show stars before each setting which allows selecting it for a 'favourites' section at the top of the Cookie Monster settings. Setting this to Locked removes the stars but shows the 'favourites' section",!0,(function(){Game.UpdateMenu()}))};function bn(){return JSON.stringify({favouriteSettings:ce,settings:e,version:"2.031.6"})}function kn(){if(Ke!==Game.dragonLevel||Ve){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{Jt[e]=vo(e)})),Zt=[],Object.keys(Game.Upgrades).forEach((e=>{Zt[e]=wo(e)})),eo=[],Object.keys(Game.Achievements).forEach((e=>{eo[e]=ko(e)})),xo()}let wn=!1;function xn(t,o,n){(1===e[o]||n)&&3===t&&!1===wn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){xn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){xn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){xn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function Tn(t,o,n,i){if((1===e[o]||i)&&!1===wn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function Mn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===wn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function Sn(){if(w=Date.now(),ae!==Game.OnAscend&&(ae=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(dn(),yo()),fo()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(vn(),ln(),r=Object.keys(Game.mods).length),Ve&&(Ko(),Game.Has("Golden switch [off]")?(xo(),Zt["Golden switch [off]"].bought=0,$o(),ct=Qe):ct=Game.cookiesPs,an(),nn(),tn(),Zo(),kn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Kt[e][t]=Gn(e,t)}(),on(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;xo();let t=2;5!==Ue&&18!==Ue||(t-=1),5!==$e&&18!==$e||(t-=1),Ue=5,$e=18;for(let e=0;e{Jt[t].amount>0&&(e=t)})),Jt[e].amount-=1,We-=1}return Object.keys(Jt).forEach((t=>{const o=Jt[t];e+=lo(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),Yt=e}(),Ve=0);const t=Game.auraMult("Fierce Hoarder")>0;!Fe&&t?(Fe=!0,Oe=1):Fe&&!t&&(Fe=!1,Oe=1),Oe&&(Yo(),Oe=0),function(){rn(),Do(),function(){wt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(Jt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}xt=e,wt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Wo(),en();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);_t=pe(e/po())}(),G=0,qt={},Object.keys(Game.shimmers).forEach((e=>{qt[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(zt=Game.shimmers[e],G+=1)})),Object.keys(le).forEach((e=>{void 0===qt[e]&&(le[e].parentNode.removeChild(le[e]),delete le[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===le[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},le[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),un(),b=G,0===G&&(zt=0)):1===e.GCTimer&&y&&Object.keys(le).forEach((e=>{le[e].style.opacity=qt[e].l.style.opacity,le[e].style.transform=qt[e].l.style.transform,le[e].textContent=Math.ceil(qt[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(xn(3,"FortuneFlash",!1),Tn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),Mn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&(Vt=Game.shimmers[e])})),xn(3,"SeaFlash",!1),Tn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),Mn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>v?(v=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?xn(3,"WrinklerMaxFlash",!1):xn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?Tn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):Tn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?Mn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):Mn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):v=t}}()}}function Pn(){let t="";for(let o=0;o{void 0===e[t]?(o=!0,e[t]=sn[t]):"Header"===t&&Object.keys(sn.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=sn[t][n])}))})),o&&Bn(),Sn(),Object.keys(sn).forEach((e=>{"Header"!==e&&void 0!==yn[e].func&&yn[e].func()}))}else En(sn);Game.UpdateMenu(),Pn()}function Nn(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function On(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Ho(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${de(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${ue((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(de(Game.Objects[o].bulkPrice)).join(de((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return oe=t,ne=o,Eo(),l("tooltip").innerHTML}function Fn(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(M[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return On("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function Wn(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),Bn()}function $n(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){Un(o),Game.UpdateMenu()},n.appendChild(i),n}function Rn(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(R[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function In(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function zn(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild($n("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+uo(){Game.HasUnlocked(_o[e])||c.push(_o[e])})),0!==c.length&&e.appendChild(Rn("basic","Rare plant drops left to unlock",In(c))),e}())),o.appendChild($n("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige(Rt+Game.cookiesReset+kt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?ft:0)));t.appendChild(Rn("withTooltip","Prestige level (cur / max)",document.createTextNode(`${de(Game.prestige)} / ${de(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-(Rt+Game.cookiesReset+kt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&&ft?ft:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(de(n)));const a=document.createElement("small");a.textContent=` (${pe(n/It,1)})`,i.appendChild(a),t.appendChild(Rn("withTooltip","Cookies to next level",i,"NextPrestTooltipPlaceholder")),t.appendChild(Rn("withTooltip","Heavenly chips (cur / max)",document.createTextNode(`${de(Game.heavenlyChips)} / ${de(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild(Rn("basic","Heavenly chips per second (last 5 seconds)",document.createTextNode(de(mt,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild(Rn("basic","Heavenly chips to target set in settings (cur)",document.createTextNode(de(e)))),t.appendChild(Rn("basic","Time till target (cur, current 5 second average)",document.createTextNode(pe(e/mt)))))}const l=function(e){let t=Game.cookiesPs;xo(),0===Zt["Heavenly key"].bought&&(Zt["Heavenly chip secret"].bought=1,Zt["Heavenly cookie stand"].bought=1,Zt["Heavenly bakery"].bought=1,Zt["Heavenly confectionery"].bought=1,Zt["Heavenly key"].bought=1,$o(),t=Qe,xo()),Rt>=1e6&&Uo("Sacrifice"),Rt>=1e9&&Uo("Oblivion"),Rt>=1e12&&Uo("From scratch"),Rt>=1e15&&Uo("Nihilism"),Rt>=1e18&&Uo("Dematerialize"),Rt>=1e21&&Uo("Nil zero zilch"),Rt>=1e24&&Uo("Transcendence"),Rt>=1e27&&Uo("Obliterate"),Rt>=1e30&&Uo("Negative void"),Rt>=1e33&&Uo("To crumbs, you say?"),Rt>=1e36&&Uo("You get nothing"),Rt>=1e39&&Uo("Humble rebeginnings"),Rt>=1e42&&Uo("The end of the world"),Rt>=1e45&&Uo("Oh, you're back"),Rt>=1e48&&Uo("Lazarus"),Rt>=1e51&&Uo("Smurf account"),Rt>=1e54&&Uo("If at first you don't succeed"),Zt["Heavenly chip secret"].bought=1,Zt["Heavenly cookie stand"].bought=1,Zt["Heavenly bakery"].bought=1,Zt["Heavenly confectionery"].bought=1,Zt["Heavenly key"].bought=1,He=e;const o=je;$o(),Xo(),o!==je&&$o();const n=Qe-t;return He=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(de(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(Rn("withTooltip","Reset bonus income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Rn("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Rn("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(Rn("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild($n("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${de(kt)} / ${de(Gt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){Nn()},e.appendChild(t),o.appendChild(Rn("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${de(vt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==vt[1]&&(Game.wrinklers[vt[1]].hp=0)},n.appendChild(i),o.appendChild(Rn("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==vt[1]?vt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(Io).forEach((e=>{Game.Has(Io[e])||(n.push(Io[e]),o=!0)}));const i=[];Object.keys(zo).forEach((e=>{Game.Has(zo[e])||(i.push(zo[e]),o=!0)}));const a=[];Object.keys(Vo).forEach((e=>{Game.Has(Vo[e])||(a.push(Vo[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild($n("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(Rn("basic","Halloween cookies left to buy",In(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild(Rn("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${de((1-e)*o*100)}% / ${de((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild(Rn("basic","Christmas cookies left to buy",In(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild(Rn("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${de((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild(Rn("basic","Valentine cookies left to buy",In(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(Rn("basic","Normal easter eggs left to unlock",In(r))),t.appendChild(Rn("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${de(100*e(.98)[0])}% / ${de(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(Rn("basic","Rare easter eggs left to unlock",In(l))),t.appendChild(Rn("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${de(100*e(.98)[1])}% / ${de(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild(Rn("basic","Reindeer reward",document.createTextNode(de(gt)))),s&&t.appendChild(Rn("withTooltip","Chocolate egg cookies",document.createTextNode(de(ft)),"ChoEggTooltipPlaceholder")),c&&t.appendChild(Rn("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(ht-1))/100+"%")))}return t}()),o.appendChild($n("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(Rn("basic",`Average cookies per second (past ${K[e.AvgCPSHist]<60?`${K[e.AvgCPSHist]} seconds`:K[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(de(po(),3)))),o.appendChild(Rn("basic",`Average cookie clicks per second (past ${J[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(de(Mt,1)))),o.appendChild(Rn("basic",`Cookies from clicking (past ${J[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(de(me.calcSum(Mt*J[e.AvgClicksHist]))))),Game.Has("Fortune cookies")){const e=[];Object.keys(Ro).forEach((t=>{Game.Has(Ro[t])||e.push(Ro[t])})),0!==e.length&&o.appendChild(Rn("basic","Fortune Upgrades Left to Buy",In(e)))}if(e.ShowMissedGC&&o.appendChild(Rn("basic","Missed golden cookies",document.createTextNode(de(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(Rn("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&Pt){const t=Pt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Pt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(St){const t=St.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=St,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Bt){const t=Bt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Bt,e.appendChild(i)}}})),e.MissingAchievements&&function(){let t;Object.values(document.querySelectorAll("div.title")).forEach((e=>{e.textContent.includes("Achievements")&&(t=e.parentElement.querySelectorAll("div.listing.crateBox")[0])})),e.MissingAchievements&&Object.values(t.children).forEach((e=>{if(!e.className.includes("enabled")){const t=e.onclick.toString().match(/(?<=\[).*(?=\])/g)[0],{icon:o}=Game.AchievementsById[t];e.style.backgroundPosition=`${48*-o[0]}px ${48*-o[1]}px`,e.onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return function(e){const t=[];"shadow"===e.pool?t.push("Shadow Achievement","#9700cf"):t.push("Achievement",0),t.push("Locked",0);let o=0;(Game.Has("Neuromancy")||Game.sesame&&"debug"===e.pool)&&(o=1),o&&0===e.won?t.push("Click to win!","#00c462"):o&&e.won>0&&t.push("Click to lose!","#00c462");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());let{desc:i}=e;e.descFunc&&(i=e.descFunc("stats"));let a="";for(let e=0;e[${t[e]}]`);return a=a.substring(1),`
\n
\n
${e.name}
\n ${a}
${i}
\n ${Game.sesame?`
Id : ${e.id} | Order : ${Math.floor(e.order)}${e.tier?` | Tier : ${e.tier}`:""}
`:""}`}(Game.AchievementsById[t])}),"top"),Game.tooltip.wobble())}}}))}()}const Vn={Favourite:"Favourite Settings",Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},_n={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function Qn(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){Un(t),Game.UpdateMenu()},n.appendChild(i),n}function Xn(t){const o=document.createElement("div");if(o.className="listing",1===e.FavouriteSettings&&o.appendChild(function(e){const t=document.createElement("a");return ce.includes(e)?(t.innerText="★",t.style.color="yellow"):t.innerText="☆",t.className="option",t.onclick=function(){!function(e){ce.includes(e)?ce=ce.filter((function(t){return t!==e})):ce.push(e)}(e),Bn(),Game.UpdateMenu()},t.onmouseover=function(){Game.tooltip.draw(this,escape(R.FavouriteSettingPlaceholder.innerHTML))},t.onmouseout=function(){Game.tooltip.hide()},t.appendChild(document.createTextNode(" ")),t}(t)),"bool"===yn[t].type){const n=document.createElement("a");yn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=Dn+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===yn[t].label.length?(e[t]=0,yn[t].toggle&&(l(Dn+t).className="option off")):l(Dn+t).className="option",void 0!==yn[t].func&&yn[t].func(),l(Dn+t).innerHTML=yn[t].label[e[t]],Bn()}(t)},n.textContent=yn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=yn[t].desc,i.style.lineHeight="1.6",o.appendChild(i),o}if("vol"===yn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=yn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Hn(t)},r.onchange=function(){Hn(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){Tn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===yn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${yn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=Dn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${Dn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){!function(e,t){Game.promptWrapL.className="framed";const o=e;Game.promptL.innerHTML=`${o}
`,Object.keys(t).forEach((e=>{const o=document.createElement("a");o.id=`promptOption${e}`,o.className="option",o.onclick=function(){PlaySound("snd/tick.mp3"),t[e][1]()},o.textContent=t[e][0],Game.promptL.children[1].appendChild(o)})),Game.promptAnchorL.style.display="block",Game.darkenL.style.display="block",Game.promptL.focus(),Game.promptOn=1,Game.UpdatePrompt()}(a.outerHTML,[["Save",function(){e[t]=l(`CMConfig${t}Prompt`).value,Bn(),Game.ClosePrompt(),Game.UpdateMenu()}],["Cancel",function(){Game.ClosePrompt()}]])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=yn[t].desc,s.style.lineHeight="1.6",o.appendChild(s),o}if("colour"===yn[t].type){const n=document.createElement("span");n.className="option";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new An(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),Pn(),Bn(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=yn[t].desc,a.style.lineHeight="1.6",n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){xn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),jn().init(),o}if("numscale"===yn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${yn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=Dn+t,i.className="option",i.type="number",i.value=e[t],i.min=yn[t].min,i.max=yn[t].max,i.oninput=function(){this.value>this.max&&console.log("TEST"),e[t]=this.value,Bn(),pn()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=yn[t].desc,a.style.lineHeight="1.6",o.appendChild(a),o}return o}function qn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function Yn(){P.Beautify=Beautify,Beautify=de,P.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){P.CalculateGains(),Ve=1},P.tooltip={},P.tooltip.draw=Game.tooltip.draw,P.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){P.tooltip.drawMod(e,t,o)},P.tooltip.update=Game.tooltip.update,P.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){P.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},P.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){qn(P.UpdateWrinklers)},P.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){qn(P.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){qn(Game.ClickCookie)}),!1),P.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){P.RebuildUpgrades(),S=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(S[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return On("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},P.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e].amount>0){const o=Jt[Game.ObjectsById[e].name].name;Jt[o].amount-=1,We-=1,t=Jt[o].basePrice*Game.priceIncrease**Math.max(0,Jt[o].amount-1-Jt[o].free),t=Game.modifyBuildingPrice(Jt[o],t),t=Math.ceil(t);break}const o=je;return $o(),Xo(),o!==je&&$o(),[Qe-Game.cookiesPs,t]}(t),n=pe(o/(e+Game.cookiesPs)),i=de(e/Game.cookiesPs*100);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${de(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},P.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){P.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${Je}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},P.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==jn().picker&&void 0!==jn().picker.owner||(P.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(Vn).forEach((t=>{if("Favourite"===t){if(0!==ce.length&&e.FavouriteSettings>0&&(o.appendChild(Qn(t,Vn[t])),e.Header[t]))for(let e=0;e{const n=Qn(t,_n[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(yn).forEach((e=>{yn[e].group===t&&o.appendChild(Xn(e))}))})):Object.keys(yn).forEach((e=>{yn[e].group===t&&o.appendChild(Xn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){En(sn)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",zn(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){Un("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},P.sayTime=Game.sayTime,z=function(e,t){return Number.isNaN(e)||e<=0?P.sayTime(e,t):pe(e/Game.fps,1)},P.Logic=Game.Logic,Game.Logic=function(){P.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),se=`${Game.OnAscend?"Ascending! ":""}${de(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=se;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=zt?zt.wrath?`[W${Math.ceil(zt.life/Game.fps)}]`:`[G${Math.ceil(zt.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil(Vt.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=se;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;zt&&(t=!0,zt.wrath?e+=`[W${Math.ceil(zt.life/Game.fps)}]`:e+=`[G${Math.ceil(zt.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil(Vt.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${de(Game.prestige)}.
(CpS +${de(Game.prestige)}%)`,n+='
'),n+=Ne<1?"Ascending now would grant you no prestige.":Ne<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${de(Ne)} prestige levels (+${de(Ne)}% CpS)
and ${de(Ne)} heavenly chips to spend.`,n+='
',n+=`You need ${de(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${_t} to reach the next level and you were making ${de(mt,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Kn(){vn(),nn(),ln(),r=Object.keys(Game.mods).length,x=document.createElement("style"),x.type="text/css",x.id="CMCSS",document.head.appendChild(x),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=B+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",F)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",N)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",N)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",N)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{ho(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=mo("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:j},{id:"CMTimerBarGCBar",color:A}]);e.appendChild(t);const o=mo("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:j},{id:"CMTimerBarRenBar",color:W}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=E+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(N,"Better than the best PP of a building option")),e.appendChild(o(O,"Same as the best PP building option")),e.appendChild(o(F,"Within the top 10 of PP for buildings")),e.appendChild(o(W,"Within the top 20 of PP for buildings")),e.appendChild(o(L,"Within the top 30 of PP for buildings")),e.appendChild(o(A,"Outside of the top 30 of PP for buildings")),e.appendChild(o(j,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=B+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",N)),e.appendChild(o("CMUpgradeBarGreen",O)),e.appendChild(o("CMUpgradeBarYellow",F)),e.appendChild(o("CMUpgradeBarOrange",W)),e.appendChild(o("CMUpgradeBarRed",L)),e.appendChild(o("CMUpgradeBarPurple",A)),e.appendChild(o("CMUpgradeBarGray",j)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys($).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),R[e]=n}($[e][0],$[e][1],$[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){Nn()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return On("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==vt[1]&&(Game.wrinklers[vt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return On("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(T[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return On("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return On("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return On("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return On("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),Fn(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return On("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return On("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),Ln()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){V=1},l("backgroundLeftCanvas").onmouseout=function(){V=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{Q[e]=0}))},Yn(),Ln(),Game.CalculateGains(),En(),I=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const Jn={init:function(){wn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Kn(),Game.registerHook("draw",No),Game.registerHook("logic",Sn),Game.registerHook("click",Oo),wn=!1)},load:function(e){const t=JSON.parse(e);vn(),void 0!==t.favouriteSettings&&(ce=t.favouriteSettings),En(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:bn};Game.registerMod("CookieMonster",Jn)})()})(); +(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,v,w,x,T,M=[],S=[],P=[],B={};const E="CMText",N="CMBack",O="Blue",F="Green",W="Yellow",L="Orange",A="Red",j="Purple",D="Gray",H="Pink",U="Brown",$=[D,O,F,W,L,A,j,H,U],R=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"],["FavouriteSettingPlaceholder","Click to set this setting as favourite and show it in 'favourite' settings at the top of the Cookie Monster Settings","250px"]],I={};let z,V,_=0,Q=-1,X=[],q=1,Y=1,K=1;const J=[10,15,30,60,300,600,900,1800],Z=[1,5,10,15,30],ee={Frenzy:W,"Dragon Harvest":U,"Elder frenzy":F,Clot:A,"Click frenzy":O,Dragonflight:H};let te,oe,ne,ie,ae,re,le,se={},ce="",de=[];function pe(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return B.Beautify(t,o);if(Number.isFinite(t)){if(t<0)return`-${pe(Math.abs(t))}`;let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function me(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=F):(n=ue(t),o=t>300?A:t>60?L:W),{text:n,color:o}}let he,ge,fe,Ce,ye,be,ke,Ge,ve,we,xe,Te,Me,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Ue,$e,Re,Ie,ze,Ve,_e,Qe,Xe,qe,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=0,st=0,ct=0,dt=0,pt=1,ut=1,mt=1,ht=0,gt=0,ft=0,Ct=0,yt={},bt={},kt={},Gt=0,vt=0,wt=[0,null],xt=0,Tt=0,Mt={},St={},Pt={},Bt={},Et={},Nt=0,Ot=0,Ft=[],Wt=0,Lt=0,At=[],jt=0,Dt=0,Ht=[],Ut=0,$t=0,Rt=[],It=0,zt=0,Vt={},_t={},Qt=0,Xt=0,qt=[],Yt={},Kt=0,Jt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},Zt=[],eo=[],to=[];function oo(e){let t=0;return Game.dragonAuras[$e].name!==e&&Game.dragonAuras[Re].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[$e].name&&"Reality Bending"!==Game.dragonAuras[Re].name||(t+=.1),t}function no(){let e=.25;return e*=1+oo("Earth Shatterer"),e}function io(e,t){return void 0===Qe[e]?void 0===t?1:t:Qe[e]}function ao(e){const t=eo[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function ro(e){if(Game.hasGod){void 0===Zt.Temple.minigame&&(Zt.Temple.minigame=Game.Objects.Temple.minigame);const t=Zt.Temple.minigame.gods[e];if(Ie===t.id)return 1;if(ze===t.id)return 2;if(Ve===t.id)return 3}return!1}function lo(e,t){let o=t;if(ao("Season savings")&&(o*=.99),ao("Santa's dominion")&&(o*=.99),ao("Faberge egg")&&(o*=.99),ao("Divine discount")&&(o*=.99),ao("Fortune #100")&&(o*=.99),o*=1-.02*oo("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&ao(e.fortune.name)&&(o*=.93),o*=io("buildingCost"),Zt.Temple.minigameLoaded){const e=ro("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function so(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function co(){let t=Game.buyBulk;if(1===Game.buyMode?Y=t:t=Y,1===t?t=yt:10===t?t=bt:100===t&&(t=kt),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(yt).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=pe(so(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(yt).map((e=>{const t=yt[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return $.indexOf(e.color)>$.indexOf(t.color)?1:$.indexOf(e.color)<$.indexOf(t.color)||e.pp{const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return $.indexOf(e.color)>$.indexOf(t.color)?1:$.indexOf(e.color)<$.indexOf(t.color)||e.pp{const t=yt[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;e$.indexOf(t.color)?1:$.indexOf(e.color)<$.indexOf(t.color)||e.ppe.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?q=i:i=q,1===i&&(i=yt),10===i&&(i=bt),100===i&&(i=kt),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=pe(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=E+i[o].color,n=e.PPDisplayTime?ue(Math.round(i[o].pp)):pe(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=me((Game.Objects[o].bulkPrice-(Game.cookies+mo()))/uo());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=E+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&ao(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(ao(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&ao(e.fortune.name)&&(t*=1.07),e.grandma&&ao(e.grandma.name)&&(t*=1+.01*Zt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&ao(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function wo(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;ao("Thousand fingers")&&(t+=.1),ao("Million fingers")&&(t*=5),ao("Billion fingers")&&(t*=10),ao("Trillion fingers")&&(t*=20),ao("Quadrillion fingers")&&(t*=20),ao("Quintillion fingers")&&(t*=20),ao("Sextillion fingers")&&(t*=20),ao("Septillion fingers")&&(t*=20),ao("Octillion fingers")&&(t*=20),ao("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(Zt).forEach((e=>{"Cursor"!==Zt[e].name&&(n+=Zt[e].amount)})),t*=n,o*=vo(e),o*=Game.magicCpS("Cursor"),o*=io("cursorCps"),Game.ComputeCps(.1,ao("Reinforced index finger")+ao("Carpal tunnel prevention cream")+ao("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{ao(Game.GrandmaSynergies[e])&&(o*=2)})),ao("Bingo center/Research facility")&&(o*=4),ao("Ritual rolling pins")&&(o*=2),ao("Naughty list")&&(o*=2),ao("Elderwort biscuits")&&(o*=1.02),o*=io("grandmaCps"),ao("Cat ladies"))for(let e=0;e{"Grandma"!==Zt[e].name&&(i+=Zt[e].amount)})),o*=1+.01*oo("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=vo(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function xo(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(Zt).forEach((t=>{Zt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(ao("Starlove")&&(e=3),Game.hasGod){const t=ro("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function To(){Ae=Game.UpgradesOwned,je=Game.pledges,De=Game.AchievementsOwned,He=Game.heavenlyPower,Ue=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=Zt[e];void 0===o&&(Zt[e]=wo(e),o=Zt[e],go(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(Ie=t.minigame.slot[0],ze=t.minigame.slot[1],Ve=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),Zt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=eo[e];void 0===o&&(eo[e]=xo(e),o=eo[e]),o.bought=t.bought,eo[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=to[e];void 0===o&&(to[e]=Go(e),o=to[e]),o.won=t.won,to[e]=o})),ko(),$e=Ye,Re=Ke}function Mo(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function So(e){e.appendChild(Mo("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(Mo("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(Mo("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(Mo("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===ne){e.appendChild(Mo("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function Po(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function Eo(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function No(){if(To(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===ne?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(So(l("CMTooltipBorder")),1===Game.buyMode?K=t:t=K,1===Game.buyBulk?t=yt:10===Game.buyBulk?t=bt:100===Game.buyBulk&&(t=kt),te=Game.Objects[ie].bulkPrice,oe=t[ie].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=pe(oe,2);const o=Math.round(oe/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=E+t[ie].color,e.PPDisplayTime?l("CMTooltipPP").textContent=ue(t[ie].pp):l("CMTooltipPP").textContent=pe(t[ie].pp,2),l("CMTooltipPP").className=E+t[ie].color;const n=me((te-(Game.cookies+mo()))/uo());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[ie[1]][ie[0]][0]-1].mature,o=t.plantsById[t.plot[ie[1]][ie[0]][0]-1].name;l("CMTooltipBorder").appendChild(Mo("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${pe(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${pe(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${pe(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${pe(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===ne?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(Mo("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=ho(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==ee[Game.buffs[t].name]?ee[Game.buffs[t].name]:j,a.lastChild.children[1].className=N+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),le!==n&&(le=n,yo())}}(),fo(),No(),function(){if(1===e.TooltipWrink&&1===_){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===X[t]||void 0===X[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),Q=t,X[t]=1}}else X[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[Q],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[Q].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),Zt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=pe(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,pe(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}function Fo(){he.addLatest(Game.computedMouseCps)}class Wo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}calcSum(e){let t=e;return t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length),0===t?0:this.queue.slice(-t).reduce(((e,t)=>e+t),0)}}function Lo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+Kt;Game.cpsSucked>0&&(o+=Gt),It=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-Ge,i=Math.max(0,Game.cookies-ve)/n,a=Math.max(0,Gt-we)/n,r=Math.max(0,wt[0]-xe)/n,l=Math.max(0,o-Ct)/n,s=(Game.cookieClicks-Te)/n;for(let e=0;e0&&(n=A),n}function jo(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=D;else{t[n].color=Ao(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+mo()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||qt.push([t[n].pp,o])}))}function Ho(){!function(){Xt=1/0,qt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Do(yt,1),Do(bt,10),Do(kt,100),qt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;qt[t][1]>Game.cookies&&(t+=1,qt.length!==t+1););Xt=qt[e.PPExcludeTop][t],jo(yt,1),jo(bt,10),jo(kt,100)}(),Object.keys(Mt).forEach((e=>{Game.cookiesPs?Mt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+mo()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/Mt[e].bonus:Mt[e].pp=Game.Upgrades[e].getPrice()/Mt[e].bonus,Number.isNaN(Mt[e].pp)&&(Mt[e].pp=1/0),Mt[e].color=Ao(Mt[e],Game.Upgrades[e].getPrice())}))}function Uo(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),Qe=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(Ue)*He*function(){let e=0;if(ao("Heavenly chip secret")&&(e+=.05),ao("Heavenly cookie stand")&&(e+=.2),ao("Heavenly bakery")&&(e+=.25),ao("Heavenly confectionery")&&(e+=.25),ao("Heavenly key")&&(e+=.25),e*=1+.05*oo("Dragon God"),ao("Lucky digit")&&(e*=1.01),ao("Lucky number")&&(e*=1.01),ao("Lucky payout")&&(e*=1.01),Game.hasGod){const t=ro("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=io("cps"),ao("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];ao(o.name)&&("function"==typeof o.power?e*=1+.01*eo[o.name].power(eo[o.name]):e*=1+.01*o.power)})),ao("Specialized chocolate chips")&&(e*=1.01),ao("Designer cocoa beans")&&(e*=1.02),ao("Underworld ovens")&&(e*=1.03),ao("Exotic nuts")&&(e*=1.04),ao("Arcane sugar")&&(e*=1.05),ao("Increased merriness")&&(e*=1.15),ao("Improved jolliness")&&(e*=1.15),ao("A lump of coal")&&(e*=1.01),ao("An itchy sweater")&&(e*=1.01),ao("Santa's dominion")&&(e*=1.2),ao("Fortune #100")&&(e*=1.01),ao("Fortune #101")&&(e*=1.07),ao("Dragon scale")&&(e*=1.03);let o=1;if(ro){let t=ro("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=ro("ages"),1===t?e*=1+.15*Math.sin(w/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(w/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(w/1e3/86400*Math.PI*2)),t=ro("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=ro("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=ro("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}ao("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=De/25;let i=1;if(ao("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*oo("Breath of Milk"),ro){const e=ro("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=io("milk");let a=1;ao("Kitten helpers")&&(a*=1+.1*n*i),ao("Kitten workers")&&(a*=1+.125*n*i),ao("Kitten engineers")&&(a*=1+.15*n*i),ao("Kitten overseers")&&(a*=1+.175*n*i),ao("Kitten managers")&&(a*=1+.2*n*i),ao("Kitten accountants")&&(a*=1+.2*n*i),ao("Kitten specialists")&&(a*=1+.2*n*i),ao("Kitten experts")&&(a*=1+.2*n*i),ao("Kitten consultants")&&(a*=1+.2*n*i),ao("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),ao("Kitten marketeers")&&(a*=1+.15*n*i),ao("Kitten analysts")&&(a*=1+.125*n*i),ao("Kitten executives")&&(a*=1+.115*n*i),ao("Kitten angels")&&(a*=1+.1*n*i),ao("Fortune #103")&&(a*=1+.05*n*i),Object.keys(Zt).forEach((e=>{const t=Zt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&ao("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),Xe+=t.amount*a})),ao('"egg"')&&(Xe+=9),e*=a;let r=1;if(ao("Chicken egg")&&(r*=1.01),ao("Duck egg")&&(r*=1.01),ao("Turkey egg")&&(r*=1.01),ao("Quail egg")&&(r*=1.01),ao("Robin egg")&&(r*=1.01),ao("Ostrich egg")&&(r*=1.01),ao("Cassowary egg")&&(r*=1.01),ao("Salmon roe")&&(r*=1.01),ao("Frogspawn")&&(r*=1.01),ao("Shark egg")&&(r*=1.01),ao("Turtle egg")&&(r*=1.01),ao("Ant larva")&&(r*=1.01),ao("Century egg")){let e=10*Math.floor((x-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),gt=1+.1*(1-(1-e/100)**3),r*=gt}e*=r,ao("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+oo("Radiant Appetite");const l=Xe*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&$o(Game.CpsAchievements[e].name)})),qe=l;const{n:s}=Game.shimmerTypes.golden,c=oo("Dragon's Fortune");for(let t=0;t{ao(e[o])&&(t+=.1)}))}e*=t}if(ao("Shimmering veil [off]")){let t=.5;ao("Reinforced membrane")&&(t+=.1),e*=1+t}ao("Magic shenanigans")&&(e*=1e3),ao("Occult obstruction")&&(e*=0),Xe=Game.runModHookOnValue("cps",Xe),e*=Bo(),Xe*=e}const Io=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],zo=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Vo=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],_o=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],Qo=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function Xo(e){return to[e]?to[e].won:0}function qo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{ao(Game.GrandmaSynergies[t])&&(e+=1)})),!Xo("Elder")&&e>=7&&$o("Elder"),!Xo("Veteran")&&e>=14&&$o("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(Zt).forEach((e=>{t+=Zt[e].amount,i=Math.min(Zt[e].amount,i),Xo("Mathematician")||Zt[e].amount=1&&$o("One with everything"),1===o&&$o("Mathematician"),1===n&&$o("Base 10"),i>=100&&$o("Centennial"),i>=150&&$o("Centennial and a half"),i>=200&&$o("Bicentennial"),i>=250&&$o("Bicentennial and a half"),i>=300&&$o("Tricentennial"),i>=350&&$o("Tricentennial and a half"),i>=400&&$o("Quadricentennial"),i>=450&&$o("Quadricentennial and a half"),i>=500&&$o("Quincentennial"),i>=550&&$o("Quincentennial and a half"),i>=600&&$o("Sexcentennial"),t>=100&&$o("Builder"),t>=500&&$o("Architect"),t>=1e3&&$o("Engineer"),t>=2e3&&$o("Lord of Constructs"),t>=4e3&&$o("Grand design"),t>=8e3&&$o("Ecumenopolis"),Ae>=20&&$o("Enhancer"),Ae>=50&&$o("Augmenter"),Ae>=100&&$o("Upgrader"),Ae>=200&&$o("Lord of Progress"),Ae>=300&&$o("The full picture"),Ae>=400&&$o("When there's nothing left to add"),t>=4e3&&Ae>=300&&$o("Polymath"),t>=8e3&&Ae>=400&&$o("Renaissance baker"),Zt.Cursor.amount+Zt.Grandma.amount>=777&&$o("The elder scrolls");let a=!0;Object.keys(zo).forEach((e=>{ao(zo[e])||(a=!1)})),a&&$o("Spooky cookies");let r=!0;if(Object.keys(Vo).forEach((e=>{ao(Vo[e])||(r=!1)})),r&&$o("Let it snow"),ao("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{ao(e[o].name)&&(t+=1)})),t>=e.length&&$o("O Fortuna")}}function Yo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){To(),Zt[e].amount+=t;const o=Zt[e];"Cursor"===e?(o.amount>=1&&$o("Click"),o.amount>=2&&$o("Double-click"),o.amount>=50&&$o("Mouse wheel"),o.amount>=100&&$o("Of Mice and Men"),o.amount>=200&&$o("The Digital"),o.amount>=300&&$o("Extreme polydactyly"),o.amount>=400&&$o("Dr. T"),o.amount>=500&&$o("Thumbs, phalanges, metacarpals"),o.amount>=600&&$o("With her finger and her thumb"),o.amount>=700&&$o("Gotta hand it to you"),o.amount>=800&&$o("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&$o(Game.Objects[o.name].tieredAchievs[e].name)}));const n=De;return Ro(),qo(),n!==De&&Ro(),Xe-Game.cookiesPs}(o,e),1!==e&&(Fe=1)})),t}function Ko(){Object.keys(Game.Objects).forEach((e=>{yt[e].price=Uo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),bt[e].price=Uo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),kt[e].price=Uo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Jo(){yt=Yo(1),bt=Yo(10),kt=Yo(100),Mt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){To(),"Shimmering veil [on]"===eo[e].name?eo["Shimmering veil [off]"].bought=0:"Golden switch [on]"===eo[e].name?eo["Golden switch [off]"].bought=0:eo[e].bought=(eo[e].bought+1)%2,eo[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Ae+=1),"Elder Pledge"===e?(je+=1,je>0&&$o("Elder nap"),je>=5&&$o("Elder slumber")):"Elder Covenant"===e?$o("Elder calm"):"Prism heart biscuits"===e?$o("Lovely cookies"):"Heavenly key"===e&&$o("Wholesome");const t=De;Ro(),qo(),t!==De&&Ro();const o=function(){let e=0;ao("Thousand fingers")&&(e+=.1),ao("Million fingers")&&(e*=5),ao("Billion fingers")&&(e*=10),ao("Trillion fingers")&&(e*=20),ao("Quadrillion fingers")&&(e*=20),ao("Quintillion fingers")&&(e*=20),ao("Sextillion fingers")&&(e*=20),ao("Septillion fingers")&&(e*=20),ao("Octillion fingers")&&(e*=20),ao("Nonillion fingers")&&(e*=20);let t=0;Object.keys(Zt).forEach((e=>{t+=Zt[e].amount})),t-=Zt.Cursor.amount,e*=t,ao("Plastic mouse")&&(e+=.01*Xe),ao("Iron mouse")&&(e+=.01*Xe),ao("Titanium mouse")&&(e+=.01*Xe),ao("Adamantium mouse")&&(e+=.01*Xe),ao("Unobtainium mouse")&&(e+=.01*Xe),ao("Eludium mouse")&&(e+=.01*Xe),ao("Wishalloy mouse")&&(e+=.01*Xe),ao("Fantasteel mouse")&&(e+=.01*Xe),ao("Nevercrack mouse")&&(e+=.01*Xe),ao("Armythril mouse")&&(e+=.01*Xe),ao("Technobsidian mouse")&&(e+=.01*Xe),ao("Plasmarble mouse")&&(e+=.01*Xe),ao("Miraculite mouse")&&(e+=.01*Xe),ao("Fortune #104")&&(e+=.01*Xe);let o=1;if(ao("Santa's helpers")&&(o*=1.1),ao("Cookie egg")&&(o*=1.1),ao("Halo gloves")&&(o*=1.1),ao("Dragon claw")&&(o*=1.03),ao("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,ao("Luminous gloves")?20:10)),o*=io("click"),Zt.Temple.minigameLoaded&&ro){const e=ro("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*oo("Dragon Cursor");let n=o*Game.ComputeCps(1,ao("Reinforced index finger")+ao("Carpal tunnel prevention cream")+ao("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[Xe-Game.cookiesPs,o]:[Xe-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(Mt[t]={bonus:Game.cookiesPs-Me},1===e.CalcWrink?Mt[t].bonus-=Se:2===e.CalcWrink&&(Mt[t].bonus-=Pe),Number.isFinite(Mt[t].bonus)||(Mt[t].bonus=0)):(Mt[t]={},o[0]&&(Mt[t].bonus=o[0]),o[1]&&(Mt[t].bonusMouse=o[1]))}))}function Zo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Ft=Zo(7,e,ut),Nt=2*Ft[1]/ut,Ot=Ft[2]/60/60/6/pt,At=Zo(6,e,mt),Wt=2*At[1]/mt,Lt=At[2]/60/60/6/pt,Ht=Zo(7,7*e,ut),jt=2*Ht[1]/ut,Dt=Ht[2]/60/60/6/pt,Rt=Zo(6,7*e,mt),Ut=2*Rt[1]/mt,$t=Rt[2]/60/60/6/pt}function tn(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Ne,i=Math.max(0,o-Oe)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?Bt+=e:"cookie"===o.pool?Et+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(Pt+=e)}}))}function nn(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),ft=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(ft*=2)}}function an(){et=900*dt/.15,et*=pt;const e=Bo();e>0?et/=e:et=0,tt=ut*(.15*et)+13,ot=mt*(.15*et)+13,nt=7*et,it=ut*(.15*nt)+13,at=mt*(.15*nt)+13,rt=2*et,lt=.15*rt,st=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountst&&(st=2*Game.Objects[e].price,ct=e)}))}function rn(){let e=1,t=1,o=1;ao("Green yeast digestives")&&(o*=1.01),ao("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),ut=o*e,mt=o*t,pt=1,0===Game.shimmerTypes.golden.n&&(pt*=1+1.23*Game.auraMult("Dragon's Fortune"))}function ln(){Gt=0,vt=0,wt=[0,null];for(let e=0;ewt[0]&&(wt=[t,e]))}}function sn(){ko(),ln(),an(),rn(),en(),on(),nn(),ge=new Wo(J[J.length-1]),fe=new Wo(J[J.length-1]),Ce=new Wo(J[J.length-1]),ye=new Wo(J[J.length-1]),be=new Wo(Z[Z.length-1]),ke=new Wo(5),he=new Wo(20*Z[Z.length-1]),tn(),Lo(),Jo(),Ko(),Ho()}const cn={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,MissingAchievements:0,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,FavouriteSettings:1,Header:{Favourite:1,Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},dn=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function pn(){1===e.BotBar?(l("CMBotBar").style.display="",fo()):l("CMBotBar").style.display="none",yo()}function un(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),fo(),co(),po()}function mn(){1===e.Favicon&&y>0?Vt.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class hn{constructor(e,t){this.type=e,this.group=t}}class gn extends hn{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class fn extends hn{constructor(e,t,o){super(e,t),this.desc=o}}class Cn extends hn{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class yn extends hn{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const bn={CPSMode:new gn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new gn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new gn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new gn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){_e=!0})),Scale:new gn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Abbreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){un()})),ScaleDecimals:new gn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){un()})),ScaleSeparator:new gn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){un()})),ScaleCutoff:new yn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new gn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new gn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=V:Game.sayTime=B.sayTime})),PPDisplayTime:new gn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new gn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){co()})),PPOnlyConsiderBuyable:new gn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new gn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new gn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new yn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),ColourBlue:new fn("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new fn("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new fn("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new fn("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new fn("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new fn("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new fn("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new fn("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new fn("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new gn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){pn()})),TimerBar:new gn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){bo()})),TimerBarPos:new gn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),yo()})),TimerBarOverlay:new gn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new gn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",po()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",po()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new gn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new gn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){co()})),SortUpgrades:new gn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){po()})),DragonAuraInfo:new gn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new gn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new gn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(se).forEach((e=>{se[e].style.display="block",se[e].style.left=Yt[e].l.style.left,se[e].style.top=Yt[e].l.style.top})):Object.keys(se).forEach((e=>se[e].style.display="none"))})),Favicon:new gn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){mn()})),WrinklerButtons:new gn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new gn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new gn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new gn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new gn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new gn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new gn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new gn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new gn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new yn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new gn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new gn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){Eo()})),TooltipGrim:new gn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new gn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new gn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new gn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new gn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new gn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new gn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new gn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in statistics menu",!0),MissingAchievements:new gn("bool","Statistics",["Missing Achievements OFF","Missing Normal Achievements ON"],"Shows missing normal achievements in statistics menu.",!1),UpStats:new gn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new yn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new gn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new gn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new gn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new gn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){dn(e.GCNotification)})),GCFlash:new gn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new fn("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new gn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new Cn("vol","NotificationGC",[],"Volume"),GCSoundURL:new gn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new gn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){dn(e.FortuneNotification)})),FortuneFlash:new gn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new fn("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new gn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new Cn("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new gn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new gn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){dn(e.SeaNotification)})),SeaFlash:new gn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new fn("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new gn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new Cn("vol","NotificationSea",[],"Volume"),SeaSoundURL:new gn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new gn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new fn("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new gn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new Cn("vol","NotificationGard",[],"Volume"),GardSoundURL:new gn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new gn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){dn(e.MagicNotification)})),MagicFlash:new gn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new fn("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new gn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new Cn("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new gn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new gn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){dn(e.WrinklerNotification)})),WrinklerFlash:new gn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new fn("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new gn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new Cn("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new gn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new gn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){dn(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new gn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new fn("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new gn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new Cn("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new gn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new gn("bool","Miscellaneous",["Block bulk buying OFF","Block bulk buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0),FavouriteSettings:new gn("bool","Miscellaneous",["Favourite settings section OFF","Favourite settings section ON","Favourite settings section ON (Locked)"],"Show stars before each setting which allows selecting it for a 'favourites' section at the top of the Cookie Monster settings. Setting this to Locked removes the stars but shows the 'favourites' section",!0,(function(){Game.UpdateMenu()}))};function kn(){return JSON.stringify({favouriteSettings:de,settings:e,version:"2.031.6"})}function Gn(){if(Je!==Game.dragonLevel||_e){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{Zt[e]=wo(e)})),eo=[],Object.keys(Game.Upgrades).forEach((e=>{eo[e]=xo(e)})),to=[],Object.keys(Game.Achievements).forEach((e=>{to[e]=Go(e)})),To()}let xn=!1;function Tn(t,o,n){(1===e[o]||n)&&3===t&&!1===xn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){Tn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){Tn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){Tn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function Mn(t,o,n,i){if((1===e[o]||i)&&!1===xn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function Sn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===xn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function Pn(){if(re!==Game.OnAscend&&(re=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(pn(),bo()),Co()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(wn(),sn(),r=Object.keys(Game.mods).length),_e&&(Jo(),Game.Has("Golden switch [off]")?(To(),eo["Golden switch [off]"].bought=0,Ro(),dt=Xe):dt=Game.cookiesPs,rn(),an(),on(),en(),Gn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Jt[e][t]=vn(e,t)}(),nn(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;To();let t=2;5!==$e&&18!==$e||(t-=1),5!==Re&&18!==Re||(t-=1),$e=5,Re=18;for(let e=0;e{Zt[t].amount>0&&(e=t)})),Zt[e].amount-=1,Le-=1}return Object.keys(Zt).forEach((t=>{const o=Zt[t];e+=so(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),Kt=e}(),_e=0);const t=Game.auraMult("Fierce Hoarder")>0;!We&&t?(We=!0,Fe=1):We&&!t&&(We=!1,Fe=1),Fe&&(Ko(),Fe=0),function(){ln(),Ho(),function(){xt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(Zt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}Tt=e,xt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Lo(),tn();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);Qt=ue(e/uo())}(),G=0,Yt={},Object.keys(Game.shimmers).forEach((e=>{Yt[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(Vt=Game.shimmers[e],G+=1)})),Object.keys(se).forEach((e=>{void 0===Yt[e]&&(se[e].parentNode.removeChild(se[e]),delete se[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===se[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},se[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),mn(),b=G,0===G&&(Vt=0)):1===e.GCTimer&&y&&Object.keys(se).forEach((e=>{se[e].style.opacity=Yt[e].l.style.opacity,se[e].style.transform=Yt[e].l.style.transform,se[e].textContent=Math.ceil(Yt[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(Tn(3,"FortuneFlash",!1),Mn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),Sn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&(_t=Game.shimmers[e])})),Tn(3,"SeaFlash",!1),Mn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),Sn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>v?(v=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?Tn(3,"WrinklerMaxFlash",!1):Tn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?Mn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):Mn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?Sn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):Sn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):v=t}}()}}function Bn(){let t="";for(let o=0;o<$.length;o++)t+=`.CMText${$[o]} { color: ${e[`Colour${$[o]}`]}; }\n`;for(let o=0;o<$.length;o++)t+=`.CMBack${$[o]} { background-color: ${e[`Colour${$[o]}`]}; }\n`;for(let o=0;o<$.length;o++)t+=`.CMBorder${$[o]} { border: 1px solid ${e[`Colour${$[o]}`]}; }\n`;l("CMCSS").textContent=t,co()}function En(){const e=b64_to_utf8(unescape(localStorage.getItem("CookieClickerGame")).split("!END!")[0]),t=e.match(/CookieMonster.*(;|$)/);if(null!==t){const o=e.replace(t[0],`CookieMonster:${kn()}`);localStorage.setItem("CookieClickerGame",escape(`${utf8_to_b64(o)}!END!`))}}function Nn(t){if(void 0!==localStorage.CMConfig&&delete localStorage.CMConfig,void 0!==t){e=t,void 0!==e.Colors&&delete e.Colors,void 0!==e.Colours&&delete e.Colours;let o=!1;Object.keys(cn).forEach((t=>{void 0===e[t]?(o=!0,e[t]=cn[t]):"Header"===t&&Object.keys(cn.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=cn[t][n])}))})),o&&En(),Pn(),Object.keys(cn).forEach((e=>{"Header"!==e&&void 0!==bn[e].func&&bn[e].func()}))}else Nn(cn);Game.UpdateMenu(),Bn()}function On(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Fn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Uo(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${pe(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${me((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(pe(Game.Objects[o].bulkPrice)).join(pe((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return ne=t,ie=o,No(),l("tooltip").innerHTML}function Wn(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(S[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function Ln(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),En()}function Rn(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){$n(o),Game.UpdateMenu()},n.appendChild(i),n}function In(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(I[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function zn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function Vn(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(Rn("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+mo(){Game.HasUnlocked(Qo[e])||c.push(Qo[e])})),0!==c.length&&e.appendChild(In("basic","Rare plant drops left to unlock",zn(c))),e}())),o.appendChild(Rn("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige(It+Game.cookiesReset+Gt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?Ct:0)));t.appendChild(In("withTooltip","Prestige level (cur / max)",document.createTextNode(`${pe(Game.prestige)} / ${pe(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-(It+Game.cookiesReset+Gt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&&Ct?Ct:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(pe(n)));const a=document.createElement("small");a.textContent=` (${ue(n/zt,1)})`,i.appendChild(a),t.appendChild(In("withTooltip","Cookies to next level",i,"NextPrestTooltipPlaceholder")),t.appendChild(In("withTooltip","Heavenly chips (cur / max)",document.createTextNode(`${pe(Game.heavenlyChips)} / ${pe(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild(In("basic","Heavenly chips per second (last 5 seconds)",document.createTextNode(pe(ht,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild(In("basic","Heavenly chips to target set in settings (cur)",document.createTextNode(pe(e)))),t.appendChild(In("basic","Time till target (cur, current 5 second average)",document.createTextNode(ue(e/ht)))))}const l=function(e){let t=Game.cookiesPs;To(),0===eo["Heavenly key"].bought&&(eo["Heavenly chip secret"].bought=1,eo["Heavenly cookie stand"].bought=1,eo["Heavenly bakery"].bought=1,eo["Heavenly confectionery"].bought=1,eo["Heavenly key"].bought=1,Ro(),t=Xe,To()),It>=1e6&&$o("Sacrifice"),It>=1e9&&$o("Oblivion"),It>=1e12&&$o("From scratch"),It>=1e15&&$o("Nihilism"),It>=1e18&&$o("Dematerialize"),It>=1e21&&$o("Nil zero zilch"),It>=1e24&&$o("Transcendence"),It>=1e27&&$o("Obliterate"),It>=1e30&&$o("Negative void"),It>=1e33&&$o("To crumbs, you say?"),It>=1e36&&$o("You get nothing"),It>=1e39&&$o("Humble rebeginnings"),It>=1e42&&$o("The end of the world"),It>=1e45&&$o("Oh, you're back"),It>=1e48&&$o("Lazarus"),It>=1e51&&$o("Smurf account"),It>=1e54&&$o("If at first you don't succeed"),eo["Heavenly chip secret"].bought=1,eo["Heavenly cookie stand"].bought=1,eo["Heavenly bakery"].bought=1,eo["Heavenly confectionery"].bought=1,eo["Heavenly key"].bought=1,Ue=e;const o=De;Ro(),qo(),o!==De&&Ro();const n=Xe-t;return Ue=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(pe(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(In("withTooltip","Reset bonus income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(In("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(In("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(In("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(Rn("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${pe(Gt)} / ${pe(vt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){On()},e.appendChild(t),o.appendChild(In("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${pe(wt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==wt[1]&&(Game.wrinklers[wt[1]].hp=0)},n.appendChild(i),o.appendChild(In("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==wt[1]?wt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(zo).forEach((e=>{Game.Has(zo[e])||(n.push(zo[e]),o=!0)}));const i=[];Object.keys(Vo).forEach((e=>{Game.Has(Vo[e])||(i.push(Vo[e]),o=!0)}));const a=[];Object.keys(_o).forEach((e=>{Game.Has(_o[e])||(a.push(_o[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(Rn("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(In("basic","Halloween cookies left to buy",zn(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild(In("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${pe((1-e)*o*100)}% / ${pe((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild(In("basic","Christmas cookies left to buy",zn(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild(In("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${pe((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild(In("basic","Valentine cookies left to buy",zn(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(In("basic","Normal easter eggs left to unlock",zn(r))),t.appendChild(In("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${pe(100*e(.98)[0])}% / ${pe(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(In("basic","Rare easter eggs left to unlock",zn(l))),t.appendChild(In("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${pe(100*e(.98)[1])}% / ${pe(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild(In("basic","Reindeer reward",document.createTextNode(pe(ft)))),s&&t.appendChild(In("withTooltip","Chocolate egg cookies",document.createTextNode(pe(Ct)),"ChoEggTooltipPlaceholder")),c&&t.appendChild(In("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(gt-1))/100+"%")))}return t}()),o.appendChild(Rn("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(In("basic",`Average cookies per second (past ${J[e.AvgCPSHist]<60?`${J[e.AvgCPSHist]} seconds`:J[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(pe(uo(),3)))),o.appendChild(In("basic",`Average cookie clicks per second (past ${Z[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(pe(St,1)))),o.appendChild(In("basic",`Cookies from clicking (past ${Z[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(pe(he.calcSum(St*Z[e.AvgClicksHist]))))),Game.Has("Fortune cookies")){const e=[];Object.keys(Io).forEach((t=>{Game.Has(Io[t])||e.push(Io[t])})),0!==e.length&&o.appendChild(In("basic","Fortune Upgrades Left to Buy",zn(e)))}if(e.ShowMissedGC&&o.appendChild(In("basic","Missed golden cookies",document.createTextNode(pe(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(In("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&Bt){const t=Bt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Bt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(Pt){const t=Pt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Pt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Et){const t=Et.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Et,e.appendChild(i)}}})),e.MissingAchievements&&function(){let t;Object.values(document.querySelectorAll("div.title")).forEach((e=>{e.textContent.includes("Achievements")&&(t=e.parentElement.querySelectorAll("div.listing.crateBox")[0])})),e.MissingAchievements&&Object.values(t.children).forEach((e=>{if(!e.className.includes("enabled")){const t=e.onclick.toString().match(/(?<=\[).*(?=\])/g)[0],{icon:o}=Game.AchievementsById[t];e.style.backgroundPosition=`${48*-o[0]}px ${48*-o[1]}px`,e.onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return function(e){const t=[];"shadow"===e.pool?t.push("Shadow Achievement","#9700cf"):t.push("Achievement",0),t.push("Locked",0);let o=0;(Game.Has("Neuromancy")||Game.sesame&&"debug"===e.pool)&&(o=1),o&&0===e.won?t.push("Click to win!","#00c462"):o&&e.won>0&&t.push("Click to lose!","#00c462");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());let{desc:i}=e;e.descFunc&&(i=e.descFunc("stats"));let a="";for(let e=0;e[${t[e]}]`);return a=a.substring(1),`
\n
\n
${e.name}
\n ${a}
${i}
\n ${Game.sesame?`
Id : ${e.id} | Order : ${Math.floor(e.order)}${e.tier?` | Tier : ${e.tier}`:""}
`:""}`}(Game.AchievementsById[t])}),"top"),Game.tooltip.wobble())}}}))}()}const _n={Favourite:"Favourite Settings",Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},Qn={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function Xn(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){$n(t),Game.UpdateMenu()},n.appendChild(i),n}function qn(t){const o=document.createElement("div");if(o.className="listing",1===e.FavouriteSettings&&o.appendChild(function(e){const t=document.createElement("a");return de.includes(e)?(t.innerText="★",t.style.color="yellow"):t.innerText="☆",t.className="option",t.onclick=function(){!function(e){de.includes(e)?de=de.filter((function(t){return t!==e})):de.push(e)}(e),En(),Game.UpdateMenu()},t.onmouseover=function(){Game.tooltip.draw(this,escape(I.FavouriteSettingPlaceholder.innerHTML))},t.onmouseout=function(){Game.tooltip.hide()},t.appendChild(document.createTextNode(" ")),t}(t)),"bool"===bn[t].type){const n=document.createElement("a");bn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=Hn+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===bn[t].label.length?(e[t]=0,bn[t].toggle&&(l(Hn+t).className="option off")):l(Hn+t).className="option",void 0!==bn[t].func&&bn[t].func(),l(Hn+t).innerHTML=bn[t].label[e[t]],En()}(t)},n.textContent=bn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=bn[t].desc,i.style.lineHeight="1.6",o.appendChild(i),o}if("vol"===bn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=bn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Un(t)},r.onchange=function(){Un(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){Mn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===bn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${bn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=Hn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${Hn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){!function(e,t){Game.promptWrapL.className="framed";const o=e;Game.promptL.innerHTML=`${o}
`,Object.keys(t).forEach((e=>{const o=document.createElement("a");o.id=`promptOption${e}`,o.className="option",o.onclick=function(){PlaySound("snd/tick.mp3"),t[e][1]()},o.textContent=t[e][0],Game.promptL.children[1].appendChild(o)})),Game.promptAnchorL.style.display="block",Game.darkenL.style.display="block",Game.promptL.focus(),Game.promptOn=1,Game.UpdatePrompt()}(a.outerHTML,[["Save",function(){e[t]=l(`CMConfig${t}Prompt`).value,En(),Game.ClosePrompt(),Game.UpdateMenu()}],["Cancel",function(){Game.ClosePrompt()}]])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=bn[t].desc,s.style.lineHeight="1.6",o.appendChild(s),o}if("colour"===bn[t].type){const n=document.createElement("span");n.className="option";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new jn(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),Bn(),En(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=bn[t].desc,a.style.lineHeight="1.6",n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){Tn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),Dn().init(),o}if("numscale"===bn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${bn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=Hn+t,i.className="option",i.type="number",i.value=e[t],i.min=bn[t].min,i.max=bn[t].max,i.oninput=function(){this.value>this.max&&console.log("TEST"),e[t]=this.value,En(),un()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=bn[t].desc,a.style.lineHeight="1.6",o.appendChild(a),o}return o}function Yn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function Kn(){B.Beautify=Beautify,Beautify=pe,B.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){B.CalculateGains(),_e=1,w=Date.now(),x=Date.now()},B.tooltip={},B.tooltip.draw=Game.tooltip.draw,B.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){B.tooltip.drawMod(e,t,o)},B.tooltip.update=Game.tooltip.update,B.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){B.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},B.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){Yn(B.UpdateWrinklers)},B.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){Yn(B.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){Yn(Game.ClickCookie)}),!1),B.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){B.RebuildUpgrades(),P=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(P[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},B.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e].amount>0){const o=Zt[Game.ObjectsById[e].name].name;Zt[o].amount-=1,Le-=1,t=Zt[o].basePrice*Game.priceIncrease**Math.max(0,Zt[o].amount-1-Zt[o].free),t=Game.modifyBuildingPrice(Zt[o],t),t=Math.ceil(t);break}const o=De;return Ro(),qo(),o!==De&&Ro(),[Xe-Game.cookiesPs,t]}(t),n=ue(o/(e+Game.cookiesPs)),i=pe(e/Game.cookiesPs*100);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${pe(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},B.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){B.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${Ze}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},B.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==Dn().picker&&void 0!==Dn().picker.owner||(B.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(_n).forEach((t=>{if("Favourite"===t){if(0!==de.length&&e.FavouriteSettings>0&&(o.appendChild(Xn(t,_n[t])),e.Header[t]))for(let e=0;e{const n=Xn(t,Qn[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(bn).forEach((e=>{bn[e].group===t&&o.appendChild(qn(e))}))})):Object.keys(bn).forEach((e=>{bn[e].group===t&&o.appendChild(qn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Nn(cn)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",Vn(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){$n("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},B.sayTime=Game.sayTime,V=function(e,t){return Number.isNaN(e)||e<=0?B.sayTime(e,t):ue(e/Game.fps,1)},B.Logic=Game.Logic,Game.Logic=function(){B.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),ce=`${Game.OnAscend?"Ascending! ":""}${pe(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=ce;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=Vt?Vt.wrath?`[W${Math.ceil(Vt.life/Game.fps)}]`:`[G${Math.ceil(Vt.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil(_t.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=ce;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;Vt&&(t=!0,Vt.wrath?e+=`[W${Math.ceil(Vt.life/Game.fps)}]`:e+=`[G${Math.ceil(Vt.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil(_t.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${pe(Game.prestige)}.
(CpS +${pe(Game.prestige)}%)`,n+='
'),n+=Oe<1?"Ascending now would grant you no prestige.":Oe<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${pe(Oe)} prestige levels (+${pe(Oe)}% CpS)
and ${pe(Oe)} heavenly chips to spend.`,n+='
',n+=`You need ${pe(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${Qt} to reach the next level and you were making ${pe(ht,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Jn(){wn(),an(),sn(),r=Object.keys(Game.mods).length,T=document.createElement("style"),T.type="text/css",T.id="CMCSS",document.head.appendChild(T),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=E+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",W)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",O)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",O)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",O)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{go(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=ho("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:D},{id:"CMTimerBarGCBar",color:j}]);e.appendChild(t);const o=ho("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:D},{id:"CMTimerBarRenBar",color:L}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=N+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(O,"Better than the best PP of a building option")),e.appendChild(o(F,"Same as the best PP building option")),e.appendChild(o(W,"Within the top 10 of PP for buildings")),e.appendChild(o(L,"Within the top 20 of PP for buildings")),e.appendChild(o(A,"Within the top 30 of PP for buildings")),e.appendChild(o(j,"Outside of the top 30 of PP for buildings")),e.appendChild(o(D,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=E+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",O)),e.appendChild(o("CMUpgradeBarGreen",F)),e.appendChild(o("CMUpgradeBarYellow",W)),e.appendChild(o("CMUpgradeBarOrange",L)),e.appendChild(o("CMUpgradeBarRed",A)),e.appendChild(o("CMUpgradeBarPurple",j)),e.appendChild(o("CMUpgradeBarGray",D)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(R).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),I[e]=n}(R[e][0],R[e][1],R[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){On()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==wt[1]&&(Game.wrinklers[wt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(M[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),Wn(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),An()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){_=1},l("backgroundLeftCanvas").onmouseout=function(){_=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{X[e]=0}))},Kn(),An(),Game.CalculateGains(),Nn(),z=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const Zn={init:function(){xn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Jn(),Game.registerHook("draw",Oo),Game.registerHook("logic",Pn),Game.registerHook("click",Fo),xn=!1)},load:function(e){const t=JSON.parse(e);wn(),void 0!==t.favouriteSettings&&(de=t.favouriteSettings),Nn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:kn};Game.registerMod("CookieMonster",Zn)})()})(); diff --git a/dist/CookieMonster.js.map b/dist/CookieMonster.js.map index ef7b280..c0cf8bd 100644 --- a/dist/CookieMonster.js.map +++ b/dist/CookieMonster.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack://cookiemonster-mod/CookieMonster.js"],"names":["__webpack_modules__","877","module","global","factory","exports","document","win","Error","window","this","BoxShadow","funcName","elm","jsc","jscolor","initialized","instances","readyQueue","register","addEventListener","pub","init","installBySelector","selector","rootNode","node","elms","querySelectorAll","matchClass","RegExp","lookupClass","i","length","dataOpts","m","undefined","type","toLowerCase","isColorAttrSupported","getDataAttr","className","match","targetElm","optsStr","console","warn","docsRef","opts","trim","parseOptionsStr","e","str","JSON","parse","eParse","looseJSON","Function","eEval","getInstances","inst","targetElement","push","createEl","tagName","el","createElement","setData","nodeOrSelector","sel","querySelector","isNode","val","Node","nodeType","nodeName","removeChildren","firstChild","removeChild","isTextInput","isButton","n","indexOf","isButtonEmpty","value","textContent","isPassiveEventSupported","supported","Object","defineProperty","get","removeEventListener","setAttribute","dataProp","obj","arguments","data","hasOwnProperty","prop","map","removeData","getData","setDefault","name","attrName","getAttribute","setDataAttr","_attachedGroupEvents","attachGroupEvent","groupName","evnt","func","detachGroupEvents","evt","preventDefault","returnValue","captureTarget","target","setCapture","_capturedTarget","releaseTarget","releaseCapture","triggerEvent","eventName","bubbles","cancelable","ev","Event","createEvent","initEvent","dispatchEvent","triggerInputEvent","eventKey","keys","9","13","27","code","keyCode","strList","replace","split","hasClass","classList","contains","addClass","classNames","add","removeClass","repl","remove","getCompStyle","getComputedStyle","currentStyle","setStyle","styles","important","reversible","priority","origStyle","setVal","style","setProperty","hexColor","r","g","b","Math","round","toString","substr","toUpperCase","hexaColor","a","rgbColor","rgbaColor","linearGradient","stdName","prefixes","helper","tryFunc","tryVal","background","getFuncName","Array","prototype","join","call","setBorderRadius","border-radius","setBoxShadow","box-shadow","getElementPos","relativeToViewport","x","y","rect","getBoundingClientRect","left","top","viewPos","getViewPos","getElementSize","offsetWidth","offsetHeight","getAbsPointerPos","changedTouches","clientX","clientY","getRelPointerPos","targetRect","srcElement","doc","documentElement","pageXOffset","scrollLeft","clientLeft","pageYOffset","scrollTop","clientTop","getViewSize","innerWidth","clientWidth","innerHeight","clientHeight","RGB_HSV","min","v","max","h","HSV_RGB","s","u","floor","parseColorString","ret","rgba","format","parseInt","charAt","mR","mG","mB","mA","par","re","parseFloat","parsePaletteValue","mixed","vals","isArray","colors","color","containsTranparentColor","isAlphaFormat","scaleCanvasForHighDPR","canvas","dpr","devicePixelRatio","width","height","getContext","scale","genColorPreviewCanvas","separatorPos","specWidth","scaleForHighDPR","sepW","previewSeparator","sqSize","chessboardSize","sqColor1","chessboardColor1","sqColor2","chessboardColor2","cWidth","cHeight","ctx","fillStyle","fillRect","start","clearRect","lineWidth","beginPath","strokeStyle","moveTo","lineTo","stroke","genColorPreviewGradient","position","params","right","apply","redrawPosition","picker","owner","tp","vp","thisObj","fixed","c","ts","vs","pd","getPickerDims","ps","borderW","borderH","l","smartPosition","pp","positionValue","contractShadow","_drawPosition","vShadow","shadowBlur","wrap","boxS","shadow","shadowColor","w","controlBorderWidth","sliderSpace","getControlPadding","sliderSize","getSliderChannel","hasAlphaChannel","pal","getPaletteDims","padding","closeButton","buttonHeight","pW","pH","contentW","contentH","paddedW","paddedH","borderWidth","palette","cols","rows","cellW","cellH","sampleCount","_palette","paletteCols","ceil","paletteSpacing","paletteHeight","pointerBorderWidth","pointerThickness","getPadYChannel","mode","triggerCallback","callback","error","triggerGlobal","eventNames","trigger","_pointerMoveEvent","mouse","touch","_pointerEndEvent","_pointerOrigin","onDocumentKeyUp","tryHide","onWindowResize","onWindowScroll","onParentScroll","onDocumentMouseDown","showOnClick","disabled","show","onControlPointerStart","onPickerTouchStart","controlName","pointerType","registerDragEvents","offset","onDocumentPointerMove","onDocumentPointerEnd","parent","frameElement","ofs","abs","rel","channels","fromHSVA","setPad","setSld","setASld","onPaletteSampleClick","currentTarget","_setFormat","getFormat","paletteSetsAlpha","_paletteHasTransparency","fromRGBA","hideOnPaletteClick","hide","ofsX","ofsY","pointerAbs","xVal","yVal","fmt","createPadCanvas","draw","hGrad","createLinearGradient","addColorStop","vGrad","createSliderGradient","color1","color2","grad","createASliderGradient","hShadow","blur","spread","inset","flags","leaveValue","leaveAlpha","leavePreview","enumOpts","previewPosition","alphaChannel","deprecatedOpts","styleElement","onFineChange","overwriteImportant","closable","insetWidth","insetColor","refine","THIS","setOption","option","oldOpt","newOpt","setter","getOption","getter","drawPicker","_processParentElementsInDOM","box","boxB","pad","padB","padM","padCanvas","cross","crossBY","crossBX","crossLY","crossLX","sld","sldB","sldM","sldGrad","sldPtrS","sldPtrIB","sldPtrMB","sldPtrOB","asld","asldB","asldM","asldGrad","asldPtrS","asldPtrIB","asldPtrMB","asldPtrOB","btn","btnT","appendChild","passive","insetColors","outsetColor","p","displaySlider","displayAlphaSlider","pickerDims","crossOuterSize","crossSize","controlPadding","borderRadius","PI","clear","zIndex","border","borderColor","backgroundColor","opacity","controlBorderColor","cursor","instance","control","pointerBorderColor","pointerColor","overflow","display","sliderInnerSpace","innerHTML","chessboard","si","sampleColor","sampleCssColor","sc","sw","backgroundImage","toDataURL","backgroundRepeat","backgroundPosition","bottom","maxWidth","whiteSpace","buttonColor","font","textAlign","onmousedown","lineHeight","createTextNode","closeText","redrawPad","redrawSld","redrawASld","activeClassName","container","body","parentNode","yChannel","rgb1","rgb2","rgb","toHEXString","sldChannel","isPickerOwner","alpha","onChange","onInput","valueElement","alphaElement","previewElement","previewSize","previewPadding","required","hash","uppercase","forceStyle","hideOnLeave","minS","maxS","minV","maxV","minA","maxA","redraw","exposeColor","success","opt","channel","res","evs","callbackProp","isNaN","hsv","fromHSV","fromRGB","fromString","setPreviewElementBg","setValueElementValue","toHEXAString","toRGBString","toRGBAString","toGrayscale","toCanvas","toBackground","isLight","_currentFormat","processValueInput","processAlphaInput","colorStr","alphaVal","setAlphaElementValue","backgrounds","image","size","repeat","origin","preview","bg","sty","background-image","background-position","background-size","background-repeat","background-origin","padding-left","padding-right","_parentElementsProcessed","compStyle","set__palette","options","presetsArr","preset","slice","pres","presets","nonProperties","test","min-width","valueElementOrigEvents","oninput","oldVal","initValue","initAlpha","install","shift","ready","triggerNow","installByClassName","JSColor","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__esModule","d","definition","key","o","enumerable","CMOptions","ToggleWrinklerButtons","WrinklerButtons","Game","elderWrath","metric","shortScale","shortScaleAbbreviated","LastModCount","TooltipLumpBackup","BackupGrimoireLaunch","BackupGrimoireLaunchMod","BackupGrimoireDraw","HasReplaceNativeGrimoireLaunch","HasReplaceNativeGrimoireDraw","LoadMinigames","LastSeasonPopupState","LastTickerFortuneState","LastGardenNextStep","LastGoldenCookieState","LastSpawnedGoldenCookieState","LastMagicBarFull","CurrSpawnedGoldenCookieState","LastWrinklerCount","DateAtBeginLoop","DispCSS","TooltipBuildBackup","TooltipGrimoireBackup","TooltipUpgradeBackup","BackupFunctions","ColourTextPre","ColourBackPre","ColourBlue","ColourGreen","ColourYellow","ColourOrange","ColourRed","ColourPurple","ColourGray","ColourPink","ColourBrown","ColoursOrdering","TooltipText","SimpleTooltipElements","CMLastAscendState","CMSayTime","TooltipWrinklerArea","TooltipWrinkler","TooltipWrinklerBeingShown","LastTargetBotBar","LastTargetBuildings","LastTargetTooltipBuilding","CookieTimes","ClickTimes","BuffColours","Frenzy","Dragon Harvest","Elder frenzy","Clot","Click frenzy","Dragonflight","TooltipPrice","TooltipBonusIncome","TooltipType","TooltipName","TooltipBonusMouse","LastAscendState","LastNumberOfTimers","GCTimers","Title","FavouriteSettings","BeautifyFormatting_Beautify","num","floats","forced","decimals","ScaleDecimals","Infinity","Scale","Beautify","Number","isFinite","answer","ScaleCutoff","ScaleSeparator","toLocaleString","toExponential","exponential","AmountOfTenPowerThree","toFixed","log","FormatTime","time","longFormat","formattedTime","TimeFormat","GetTimeColour","text","CacheAverageCookiesFromClicks","CookiesDiff","WrinkDiff","WrinkFattestDiff","ChoEggDiff","ClicksDiff","HeavenlyChipsDiff","CacheLastCPSCheck","CacheLastCookies","CacheLastWrinkCookies","CacheLastWrinkFattestCookies","CacheLastClicks","CacheAverageGainBank","CacheAverageGainWrink","CacheAverageGainWrinkFattest","CacheAverageGainChoEgg","CacheAverageCPS","CacheLastHeavenlyCheck","CacheLastHeavenlyChips","CacheDoRemakeBuildPrices","CacheHadBuildAura","SimBuildingsOwned","SimUpgradesOwned","SimPledges","SimAchievementsOwned","SimHeavenlyPower","SimPrestige","SimDragonAura","SimDragonAura2","SimGod1","SimGod2","SimGod3","SimDoSims","SimEffs","SimCookiesPs","SimCookiesPsRaw","CacheDragonAura","CacheDragonAura2","CacheLastDragonLevel","CacheCostDragonUpgrade","CacheLucky","CacheLuckyReward","CacheLuckyWrathReward","CacheLuckyFrenzy","CacheLuckyRewardFrenzy","CacheLuckyWrathRewardFrenzy","CacheConjure","CacheConjureReward","CacheEdifice","CacheEdificeBuilding","CacheNoGoldSwitchCookiesPS","CacheDragonsFortuneMultAdjustment","CacheGoldenCookiesMult","CacheWrathCookiesMult","CacheHCPerSecond","CacheCentEgg","CacheSeaSpec","CacheLastChoEgg","CacheObjects1","CacheObjects10","CacheObjects100","CacheWrinklersTotal","CacheWrinklersNormal","CacheWrinklersFattest","CacheCurrWrinklerCPSMult","CacheCurrWrinklerCount","CacheUpgrades","CacheAverageClicks","CacheMissingUpgrades","CacheMissingUpgradesPrestige","CacheMissingUpgradesCookies","CacheChainRequired","CacheChainRequiredNext","CacheChainMaxReward","CacheChainWrathRequired","CacheChainWrathRequiredNext","CacheChainWrathMaxReward","CacheChainFrenzyRequired","CacheChainFrenzyRequiredNext","CacheChainFrenzyMaxReward","CacheChainFrenzyWrathRequired","CacheChainFrenzyWrathRequiredNext","CacheChainFrenzyWrathMaxReward","CacheRealCookiesEarned","CacheAvgCPSWithChoEgg","CacheSpawnedGoldenShimmer","CacheSeasonPopShimmer","CacheTimeTillNextPrestige","CacheMinPP","CachePPArray","CacheGoldenShimmersByID","CacheSellForChoEgg","CacheGods","0","1","2","3","4","5","6","7","8","10","SimObjects","SimUpgrades","SimAchievements","SimAuraMult","what","dragonAuras","SimGetSellMultiplier","giveBack","SimEff","def","SimHas","it","ascensionMode","pool","tier","bought","SimHasGod","hasGod","Temple","minigame","Objects","god","gods","id","SimModifyBuildingPrice","building","price","ModifiedPrice","hasBuff","fortune","minigameLoaded","godLvl","BuildingSell","build","basePrice","free","amount","noSim","noSimRes","toChange","startingAmount","moni","buyBulk","priceIncrease","modifyBuildingPrice","getSellMultiplier","UpdateBuildings","buyMode","BuildColour","forEach","removeProperty","SortBuildings","arr","k","sort","gridRow","UpdateUpgrades","UpBarColour","blue","green","yellow","orange","red","purple","gray","UpgradesInStore","me","addedColour","j","childNodes","div","SortUpgrades","nameChecker","arr2","upgrade","findIndex","order","GetCPS","CPSMode","CalcWrink","cookiesPs","cpsSucked","wrinklers","GetWrinkConfigBank","CreateTimer","bars","timerBar","margin","fontSize","marginRight","verticalAlign","colorBar","borderTopRightRadius","borderBottomRightRadius","timer","marginLeft","CreateBotBarBuildingColumn","buildingName","bonus","header","substring","lastChild","paddingLeft","UpdateBotBar","BotBar","count","PPString","PPDisplayTime","timeColour","bulkPrice","cookies","UpdateBackground","Background","LeftBackground","UpdateBotTimerBarPosition","TimerBar","TimerBarPos","ToggleTimerBar","CacheDragonAuras","dragonAura","dragonAura2","InitAchievement","achievementName","Achievements","you","SimGetTieredCpsMult","mult","tieredUpgrades","Tiers","special","synergies","syn","buildingTie1","buildingTie2","grandma","Grandma","misfortune","vanilla","InitialBuildingData","cps","magicCpS","ComputeCps","GrandmaSynergies","UpgradesByPool","kitten","Portal","baseCps","baseCPS","InitUpgrade","upgradeName","Upgrades","power","level","pow","CopyData","UpgradesOwned","pledges","AchievementsOwned","heavenlyPower","prestige","totalCookies","slot","won","TooltipCreateHeader","fontWeight","TooltipCreateCalculationSection","tooltip","income","marginBottom","click","production","CalculateGrimoireRefillTime","currentMagic","maxMagic","targetMagic","magic","fps","GetCPSBuffMult","buffs","multCpS","ToggleToolWarnPos","ToolWarnPos","UpdateTooltips","tooltipBox","paddingBottom","TooltipCreateTooltipBox","TooltipBuildUpgrade","increase","productionAchievs","HasAchiev","achiev","nextProductionAchiev","Building","getPrice","bonusMouse","previousSibling","chocolate","Upgrade","TooltipLump","lumpType","lumpColour","lumpCurrentType","SugarLump","spellCost","getSpellCost","spellsById","TooltipGrim","magicM","recover","recoverColour","conjure","reward","seperator","loss","Grimoire","Farm","TooltipPlots","plot","mature","plantsById","plantName","GardenPlots","totalGain","mortal","tile","immortal","matureBase","HarvestAll","WrinklerReward","WrinklerButton","TooltipPantheon","GodID","cps1","cps2","cps3","PantheonGods","getElementById","TooltipWarn","create","boxId","labelTextFront","labelTextBack","deficitId","transition","labelDiv","labelSpan","deficitDiv","deficitSpan","ToolWarnUser","TooltipCreateWarningSection","bonusIncomeUsed","ToolWarnBon","limitLucky","bonusNoFren","ToolWarnLucky","ToolWarnLuckyFrenzy","limitLuckyFrenzy","ToolWarnConjure","limitConjure","ToolWarnConjureFrenzy","limitConjureFrenzy","ToolWarnEdifice","children","Warnings","CMDrawHook","prefs","autosave","drawT","onMenu","Stats","innerText","sayTime","T","maxWidthTwoBar","maxWidthOneBar","numberOfTimers","shimmerTypes","golden","spawned","Has","minTime","maxTime","TimerBarOverlay","season","reindeer","BuffTimerBars","classColour","UpdateTimerBar","TooltipWrink","showingTooltip","phase","selected","placeholder","wrinkler","minWidth","escape","CheckWrinklerTooltip","sucked","toSuck","UpdateWrinklerTooltip","UpStats","UpdateMenu","monospace","CMClickHook","addLatest","computedMouseCps","CMAvgQueue","[object Object]","maxLength","queue","newValue","timePeriod","reduce","CacheAvgCPS","currDate","Date","now","choEggTotal","cookiesEarned","timeDiff","bankDiffAvg","wrinkDiffAvg","wrinkFattestDiffAvg","choEggDiffAvg","clicksDiffAvg","cookieClicks","cpsLength","AvgCPSHist","calcAverage","choEgg","HasUnlocked","AvgClicksHist","ColourOfPP","PPSecondsLowerLimit","PPOnlyConsiderBuyable","CacheColour","PPRigidelMode","getSumPrice","PPExcludeTop","CachePP","PP_CachePP","indexOfMin","CacheBuildingsPP","BuildingGetPrice","SimWin","CalculateGains","effs","myEffs","ii","heavenlyMult","SimGetHeavenlyMultiplier","heralds","cookieUpgrades","buildMult","sin","santaLevel","milkProgress","milkMult","catMult","storedCps","eggMult","day","startDate","lumps","rawCookiesPs","CpsAchievements","threshold","auraMult","bakeryName","goldenSwitchMult","upgrades","goldenCookieUpgrades","veilMult","runModHookOnValue","Fortunes","HalloCookies","ChristCookies","ValCookies","PlantDrops","SimHasAchiev","CheckOtherAchiev","grandmas","buildingsOwned","mathematician","base10","minAmount","ObjectsById","Cursor","hasAllHalloCook","hasAllChristCook","list","fortunes","CacheBuildingIncome","result","tieredAchievs","achievUnlock","lastAchievementsOwned","BuyBuildingsBonusIncome","CacheBuildingsPrices","CacheIncome","bonusIncome","unlocked","CountsAsUpgradeOwned","diffMouseCPS","multClick","out","MouseCps","BuyUpgradesBonusIncome","MaxChainCookieReward","digit","maxPayout","totalFromChain","nextMoni","nextRequired","chain","LN10","CacheChain","cpsBuffMult","CacheHeavenlyChipsPS","chipsOwned","HowMuchPrestige","cookiesReset","ascendNowToGet","heavenlyChipsDiffAvg","CacheAllMissingUpgrades","classes","noFrame","crates","icon","iconFunction","getDynamicTooltip","crateMissing","CacheSeasonSpec","CacheStatsCookies","CacheGoldenAndWrathCookiesMults","goldenMult","wrathMult","eff","CacheWrinklers","InitCache","SettingsDefault","DetailedTime","UpgradeBarFixedPos","DragonAuraInfo","GrimoireBar","GCTimer","Favicon","HideSectionsButtons","TooltipAmor","TooltipAscendButton","MissingUpgrades","MissingAchievements","HeavenlyChipsTarget","ShowMissedGC","GeneralSound","GCNotification","GCFlash","ColourGCFlash","GCSound","GCVolume","GCSoundURL","FortuneNotification","FortuneFlash","ColourFortuneFlash","FortuneSound","FortuneVolume","FortuneSoundURL","SeaNotification","SeaFlash","ColourSeaFlash","SeaSound","SeaVolume","SeaSoundURL","GardFlash","ColourGardFlash","GardSound","GardVolume","GardSoundURL","MagicNotification","MagicFlash","ColourMagicFlash","MagicSound","MagicVolume","MagicSoundURL","WrinklerNotification","WrinklerFlash","ColourWrinklerFlash","WrinklerSound","WrinklerVolume","WrinklerSoundURL","WrinklerMaxNotification","WrinklerMaxFlash","ColourWrinklerMaxFlash","WrinklerMaxSound","WrinklerMaxVolume","WrinklerMaxSoundURL","BulkBuyBlock","Header","Favourite","Calculation","Notation","Colours","BarsDisplay","Tooltip","Statistics","Notification","NotificationGeneral","NotificationGC","NotificationFC","NotificationSea","NotificationGard","NotificationMagi","NotificationWrink","NotificationWrinkMax","Miscellaneous","Lucky","Chain","Spells","Garden","Prestige","Wrink","Sea","Misc","InfoTab","Config_CheckNotificationPermissions","ToggleOnOff","checkNotificationPromise","requestPermission","then","ToggleBotBar","RefreshScale","BeautifyAll","RefreshStore","RebuildUpgrades","UpdateFavicon","wrath","href","Setting","group","SettingStandard","label","desc","toggle","super","SettingColours","SettingVolume","SettingInputNumber","SettingsData","insertBefore","UpBarColor","save","stringify","favouriteSettings","settings","version","CacheDragonCost","dragonLevel","dragonLevels","buy","includes","replaceAll","cost","CalculateChangeGod","InitData","isInitializing","Flash","config","setTimeout","Sound_PlaySound","url","sndConfig","volConfig","sound","Audio","volume","play","CreateNotification","notifyConfig","title","message","visibilityState","badge","CMLoopHook","OnAscend","AscendTimer","mods","CachePantheonGods","sellTotal","Bank","marketGoods","goods","goodsVal","marketGood","stock","cookiesPsRawHighest","buildingsToSacrifice","highestBuilding","SellBuildingsForChoEgg","CacheSellAllForChoEgg","hasBuildAura","godMult","CacheCurrWrinklerCPS","cookiesToNext","HowManyCookiesReset","LoopCache","shimmers","spawnLead","cookie","fontFamily","onclick","pop","onmouseover","filter","webkitFilter","onmouseout","CreateGCTimer","transform","life","TickerEffect","nextStep","CheckMagicMeter","CurrentWrinklers","getWrinklersMax","CheckWrinklerCount","UpdateColours","SaveConfig","saveString","b64_to_utf8","unescape","localStorage","getItem","CookieMonsterSave","newSaveString","setItem","utf8_to_b64","LoadConfig","CMConfig","Colors","mod","PopAllNormalWrinklers","hp","CreateTooltip","buildPrice","amortizeAmount","storedTotalCps","globalCpsMult","crateTooltip","lumpTooltip","spellTooltip","tileTooltip","toolTooltip","godTooltip","slotTooltip","area","ReplaceTooltipGrimoire","dynamic","wobble","ReplaceNativeGrimoireDraw","magicBarTextL","ReplaceNativeGrimoire","launch","ReplaceNativeGrimoireLaunch","jscolor_default","ToggleSetting_ConfigPrefix","ToggleConfigVolume","ToggleHeader","StatsHeader","span","StatsListing","listingName","StatsMissDisp","theMissDisp","frag","createDocumentFragment","missing","AddMenuStats","stats","goldCookTooltip","section","luckyColour","luckyTime","luckyReqFrag","luckyReqSpan","luckyReqSmall","luckyColourFrenzy","luckyTimeFrenzy","luckyReqFrenFrag","luckyReqFrenSpan","luckyReqFrenSmall","luckySplit","luckyRewardMaxSpan","luckyRewardFrenzyMaxSpan","luckyCurBase","luckyCurSpan","LuckySection","chainColour","chainTime","chainReqFrag","chainReqSpan","chainReqSmall","chainWrathColour","chainWrathTime","chainWrathReqFrag","chainWrathReqSpan","chainWrathReqSmall","chainColourFrenzy","chainTimeFrenzy","chainReqFrenFrag","chainReqFrenSpan","chainReqFrenSmall","chainWrathColourFrenzy","chainWrathTimeFrenzy","chainWrathReqFrenFrag","chainWrathReqFrenSpan","chainWrathReqFrenSmall","chainCurMax","chainCur","chainCurWrath","ChainSection","conjureColour","conjureTime","conjureReqFrag","conjureReqSpan","conjureReqSmall","conjureFrenzyColour","conjureFrenzyCur","conjureFrenzyTime","conjureFrenzyReqFrag","conjureFrenzyReqSpan","conjureFrenzyReqSmall","SpellsSection","bakeberryColour","bakeberryFrag","chocorootColour","chocorootFrag","queenbeetColour","queenbeetFrag","duketaterColour","duketaterFrag","missingPlantDrops","GardenSection","possiblePresMax","neededCook","cookiesNextFrag","cookiesNextSmall","heavenlyChips","HCTarget","CookiesTillTarget","resetBonus","newHeavenlyChips","curCPS","ResetCPS","ResetBonus","resetFrag","resetSmall","currentPrestige","willHave","willGet","delta7","next7Reset","next7Total","frag7","delta777","next777Reset","next777Total","frag777","delta777777","next777777Reset","next777777Total","frag777777","PrestigeSection","popAllFrag","popAllA","popFattestFrag","popFattestA","specDisp","missingHalloweenCookies","missingChristmasCookies","missingValentineCookies","missingNormalEggs","eggDrops","missingRareEggs","rareEggDrops","centEgg","failRateHalloween","dropRateMult","obtainedCookiesChance","failRateChristmas","dropRateEgg","StartingFailRate","failRateEgg","succesRateEgg","obtainedEggs","obtainedRareEggs","pNormal1","pRare1","pRedrop","SeasonSection","calcSum","missedGoldenClicks","menuSection","prestigeUpgradesMissing","titlefrag","PrestigeUpgrades","normalUpgradesMissing","tech","nextSibling","cookieUpgradesMissing","achievs","values","parentElement","achievsCrate","AchievementsById","mouseDown","setOnCrate","tags","neuromancy","sesame","descFunc","tagsStr","CrateTooltipLockedAchievements","AddMissingAchievements","ConfigGroups","ConfigGroupsNotification","CreatePrefHeader","CreatePrefOption","FavStar","ele","ToggleFavouriteSetting","FavouriteSettingPlaceholder","CreateFavouriteStar","ToggleConfig","float","percent","slider","step","onchange","input","readOnly","inputPrompt","content","promptWrapL","promptL","PlaySound","promptAnchorL","darkenL","focus","promptOn","UpdatePrompt","CookieMonsterPrompt","outerHTML","ClosePrompt","innerSpan","FixMouseY","timerBarHeight","mouseY","ReplaceNative","drawMod","from","update","updateMod","warnOffset","tta","tt","UpdateTooltipLocation","UpdateWrinklers","UpdateSpecial","ClickCookie","ClickProduct","DescribeDragonAura","aura","bonusCPS","priceOfChange","CalculateChangeAura","timeToRecover","bonusCPSPercentage","minHeight","div2","AddAuraInfo","ToggleSpecialMenu","on","shouldHide","AddDragonLevelUpTooltip","index","subGroup","subGroupObject","resDef","resDefBut","AddMenuPref","info","description","notes","menu","AddMenuInfo","AddMenu","detail","Logic","titleGC","titleFC","titleSP","addFC","addSP","lastIndexOf","spawn","UpdateTitle","ReplaceAscendTooltip","InitializeCookieMonster","head","backgroundColour","borderTop","textShadow","table","tbody","firstCol","td","CreateBotBar","CMTimerBarGC","CMTimerBarRen","TimerBarBuffTimers","CreateTimerBar","UpgradeBar","legend","legendLine","CreateUpgradeBarLegend","upgradeNumber","CreateUpgradeBar","WhiteScreen","CreateFlashScreen","CreateSectionHideButtons","getElementsByTagName","CreateFavicon","CreateSimpleTooltip","append","CreateWrinklerButtons","canLumps","child","coords","ReplaceTooltipPantheon","popups","Popup","Notify","Win","CM","proceed","confirm","registerHook","load","registerMod"],"mappings":"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C,KAAKC,YACpC1U,EAAE,8BAA8BnJ,MAAMqV,QAAU,GAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,KAE9ClM,EAAE,8BAA8BnJ,MAAMqV,QAAU,OAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,QAQlD,MAAMyI,EAAS,CAAC,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAGhDC,EAAa,CACjB,GACA,GACA,IACA,IACA,KACA,QACA,QACA,OACA,OACA,MACA,MACA,MACA,QACA,SACA,SACA,cACA,UACA,SACA,YACA,UACA,WACA,SACA,WACA,YACA,YACA,kBAIIC,EAAwB,CAC5B,GACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,OAMF,IAAIC,EAEAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAKAC,EAOAC,EA/BAC,EAAqB,GAErBC,EAAwB,GACxBC,EAAuB,GAOvBC,EAAkB,GA0BtB,MAAMC,EAAgB,SAChBC,EAAgB,SAMhBC,EAAa,OACbC,EAAc,QACdC,EAAe,SACfC,EAAe,SACfC,EAAY,MACZC,EAAe,SACfC,EAAa,OACbC,EAAa,OACbC,EAAc,QACdC,EAAkB,CACtBH,EACAN,EACAC,EACAC,EACAC,EACAC,EACAC,EACAE,EACAC,GAUIE,EAAc,CAClB,CAAC,6BAA8B,oCAAqC,SACpE,CACE,2CACA,6EACA,SAEF,CACE,6BACA,qPACA,SAEF,CACE,8BACA,kEACA,SAEF,CACE,kCACA,2PACA,SAEF,CACE,0BACA,gLACA,SAEF,CACE,2BACA,uOACA,SAEF,CACE,4BACA,2CACA,SAEF,CACE,8BACA,uHACA,UAGEC,EAAwB,GAM9B,IAUIC,EACAC,EAXAC,EAAsB,EACtBC,GAAmB,EAOnBC,EAA4B,GAQ5BC,EAAmB,EACnBC,EAAsB,EACtBC,EAA4B,EAMhC,MAAMC,EAAc,CAAC,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,MAC9CC,EAAa,CAAC,EAAG,EAAG,GAAI,GAAI,IAK5BC,EAAc,CAClBC,OAAQrB,EACRsB,iBAAkBhB,EAClBiB,eAAgBxB,EAChByB,KAAMtB,EACNuB,eAAgB3B,EAChB4B,aAAcrB,GAMhB,IAOIsB,GACAC,GACAC,GACAC,GACAC,GAEAC,GACAC,GAdAC,GAAW,GAKXC,GAAQ,GAcRC,GAAoB,GAkBxB,SAASC,GAA4BC,EAAKC,EAAQC,GAChD,MAAMC,EAAW3E,EAAU4E,cAAgB,EAC3C,GAAIJ,IAAQK,IACV,MAAO,WAET,QAAmB,IAARL,EACT,MAAO,IAET,GAAwB,IAApBxE,EAAU8E,MACZ,OAAOjD,EAAgBkD,SAASP,EAAKC,GAEvC,GAAIO,OAAOC,SAAST,GAAM,CACxB,GAAIA,EAAM,EACR,MAAO,IAAID,GAA4B1hB,KAAK0N,IAAIiU,MAElD,IAAIU,EAAS,GACb,GAAY,IAARV,EACF,OAAOA,EAAIzhB,WAEb,GAAIyhB,EAAM,MAASA,EAAMxE,EAAUmF,YAGjC,OAF8BD,EAA1BlF,EAAUoF,eAAyBZ,EAAIa,eAAe,MAC5Cb,EAAIa,eAAe,MAC1BH,EAET,GAAyB,IAApBlF,EAAU8E,QAAgBJ,GAAsB,IAAXA,EAExCQ,EAASV,EAAIc,cAAcX,GAAU5hB,WAAW7B,QAAQ,IAAK,SACxD,CACL,MAAMqkB,EAAcf,EAAIc,gBAAgBviB,WAClCyiB,EAAwB3iB,KAAKkE,MACjCwe,EAAYlH,MAAMkH,EAAY/nB,QAAQ,KAAO,GAAK,GAEpD0nB,GAAUV,EAAMQ,OAAO,KAA6B,EAAxBQ,IAA8BC,QACxDd,GAGuB,IAApB3E,EAAU8E,QAAgBJ,GAAsB,IAAXA,EAEpCF,GAAO,KAAQA,EAAMQ,OAAO,KAAqB,EAAhB3E,EAAO9lB,QAC1C2qB,GAAU,IAAI7E,EAAOmF,KAChBN,EAASX,GAA4BC,EAAK,EAAG,GACtB,IAApBxE,EAAU8E,QAAgBJ,GAAsB,IAAXA,EAE3CF,GAAO,KAAQA,EAAMQ,OAAO,KAAyB,EAApB1E,EAAW/lB,QAC9C2qB,GAAU,IAAI5E,EAAWkF,KACpBN,EAASX,GAA4BC,EAAK,EAAG,GACtB,IAApBxE,EAAU8E,QAAgBJ,GAAsB,IAAXA,EAG7CF,GAAO,KACPA,EAAMQ,OAAO,KAAoC,EAA/BzE,EAAsBhmB,QAExC2qB,GAAU,IAAI3E,EAAsBiF,KAC/BN,EAASX,GAA4BC,EAAK,EAAG,IACtB,IAApBxE,EAAU8E,QAAgBJ,GAAsB,IAAXA,KAE/CQ,GAAU,IAA4B,EAAxBM,GAUlB,MAPe,KAAXN,IACF/pB,QAAQuqB,IACN,2DAA2DlB,KAE7DU,EAASrD,EAAgBkD,SAASP,EAAKC,IAErCzE,EAAUoF,iBAAgBF,EAASA,EAAOhkB,QAAQ,IAAK,MACpDgkB,EAGT,OADA/pB,QAAQuqB,IAAI,2DAA2DlB,KAChE3C,EAAgBkD,SAASP,EAAKC,GASvC,SAASkB,GAAWC,EAAMC,GACxB,IAAIC,EAAgBF,EACpB,GAAIA,IAASf,IAAU,OAAOe,EAC9B,GAAIA,EAAO,EAAG,MAAO,uBACrBE,EAAgBjjB,KAAKoL,KAAK2X,GAC1B,MAAMnhB,EAAI5B,KAAKkE,MAAM+e,EAAgB,UAC/BnG,EAAI9c,KAAKkE,MAAO+e,EAAgB,SAAY,OAC5Cnf,EAAI9D,KAAKkE,MAAO+e,EAAgB,MAAS,MACzCrrB,EAAIoI,KAAKkE,MAAO+e,EAAgB,KAAQ,IACxCjf,EAAIhE,KAAKkE,MAAM+e,EAAgB,IACrC,IAAIpqB,EAAM,GACV,GAAIskB,EAAU+F,WAAY,CACxB,GAAID,EAAgB,SAAY,MAAO,iBACvCpqB,IAAW+I,EAAI,GAAK,IAAM,IAAMA,EAAzB,IACP/I,IAAWikB,EAAI,GAAK,IAAM,IAAMA,EAAzB,IACPjkB,IAAWiL,EAAI,GAAK,IAAM,IAAMA,EAAzB,IACPjL,IAAWjB,EAAI,GAAK,IAAM,IAAMA,EAAzB,IACPiB,IAAQmL,EAAI,GAAK,IAAM,IAAMA,MACxB,CACL,GAAIif,EAAgB,OAClB,OAAOD,EAAa,kBAAoB,SAC1CnqB,GACE+I,EAAI,EACGA,GAAKohB,EAAoB,IAANphB,EAAU,QAAU,SAAY,KAAtD,KACA,GACN/I,GACEikB,EAAI,EAAOA,GAAKkG,EAAoB,IAANlG,EAAU,OAAS,QAAW,KAApD,KAA+D,IACrEjkB,EAAInB,OAAS,GAAKoM,EAAI,KACxBjL,GAAUiL,GAAKkf,EAAoB,IAANlf,EAAU,QAAU,SAAY,KAAtD,OACLjL,EAAInB,OAAS,GAAKE,EAAI,KACxBiB,GAAUjB,GAAKorB,EAAoB,IAANprB,EAAU,UAAY,WAAc,KAA1D,MACTiB,GAAOmL,GAAKgf,EAAoB,IAANhf,EAAU,UAAY,WAAc,KAEhE,OAAOnL,EAQT,SAASsqB,GAAcJ,GACrB,IAAI1d,EACA+d,EAWJ,OAVIL,GAAQ,GACgBK,EAAtBjG,EAAU+F,WAAmB,iBACrB,QACZ7d,EAAQ+Z,IAERgE,EAAON,GAAWC,GACF1d,EAAZ0d,EAAO,IAAaxD,EACfwD,EAAO,GAAYzD,EACfD,GAER,CAAE+D,OAAM/d,SAMjB,IAuCIge,GAoCAC,GACAC,GACAC,GACAC,GACAC,GACAC,GAEAC,GACAC,GACAC,GACAC,GACAC,GAEAC,GACAC,GACAC,GACAC,GACAC,GAEAC,GACAC,GAEAC,GAEAC,GAwBAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GAzIAC,GAAkB,EAClBC,GAAmB,EACnBC,GAAuB,EACvBC,GAAyB,EACzBC,GAAa,EACbC,GAAmB,EACnBC,GAAwB,EACxBC,GAAmB,EACnBC,GAAyB,EACzBC,GAA8B,EAC9BC,GAAe,EACfC,GAAqB,EACrBC,GAAe,EACfC,GAAuB,EACvBC,GAA6B,EAC7BC,GAAoC,EACpCC,GAAyB,EACzBC,GAAwB,EAExBC,GAAmB,EAEnBC,GAAe,EACfC,GAAe,EACfC,GAAkB,EAElBC,GAAgB,GAChBC,GAAiB,GACjBC,GAAkB,GAElBC,GAAsB,EACtBC,GAAuB,EACvBC,GAAwB,CAAC,EAAG,MAE5BC,GAA2B,EAC3BC,GAAyB,EAEzBC,GAAgB,GAEhBC,GAAqB,GAGrBC,GAAuB,GACvBC,GAA+B,GAC/BC,GAA8B,GAE9BC,GAAqB,EACrBC,GAAyB,EACzBC,GAAsB,GACtBC,GAA0B,EAC1BC,GAA8B,EAC9BC,GAA2B,GAC3BC,GAA2B,EAC3BC,GAA+B,EAC/BC,GAA4B,GAC5BC,GAAgC,EAChCC,GAAoC,EACpCC,GAAiC,GAEjCC,GAAyB,EACzBC,GAAwB,EAExBC,GAA4B,GAC5BC,GAAwB,GAExBC,GAA4B,EAG5BC,GAAa,EAEbC,GAAe,GAEfC,GAA0B,GAE1BC,GAAqB,EA6BrBC,GAAY,CACdC,EAAG,CAAC,EAAG,EAAG,GACVC,EAAG,CAAC,EAAG,EAAG,GACVC,EAAG,CAAC,EAAG,EAAG,GACVC,EAAG,CAAC,EAAG,EAAG,GACVC,EAAG,CAAC,EAAG,EAAG,GACVC,EAAG,CAAC,EAAG,EAAG,GACVC,EAAG,CAAC,EAAG,EAAG,GACVC,EAAG,CAAC,EAAG,EAAG,GACVC,EAAG,CAAC,EAAG,EAAG,GACV3rB,EAAG,CAAC,EAAG,EAAG,GACV4rB,GAAI,CAAC,EAAG,EAAG,IAOTC,GAAa,GACbC,GAAc,GACdC,GAAkB,GAuBtB,SAASC,GAAYC,GACnB,IAAItvB,EAAI,EAWR,OATE4iB,KAAK2M,YAAYjF,IAAehpB,OAASguB,GACzC1M,KAAK2M,YAAYhF,IAAgBjpB,OAASguB,IAE1CtvB,EAAI,GAEqC,oBAAzC4iB,KAAK2M,YAAYjF,IAAehpB,MACU,oBAA1CshB,KAAK2M,YAAYhF,IAAgBjpB,OAEjCtB,GAAK,IACAA,EAWT,SAASwvB,KACP,IAAIC,EAAW,IAEf,OADAA,GAAY,EAAIJ,GAAY,mBACrBI,EAST,SAASC,GAAOpuB,EAAMquB,GACpB,YAA6B,IAAlB/E,GAAQtpB,QACK,IAARquB,EAAsB,EAAIA,EAEnC/E,GAAQtpB,GASjB,SAASsuB,GAAON,GACd,MAAMO,EAAKV,GAAYG,GACvB,OACyB,IAAvB1M,KAAKkN,eACQ,aAAZD,EAAGE,MAAmC,YAAZF,EAAGG,OAGzBH,EAAKA,EAAGI,OADN,EAYX,SAASC,GAAUZ,GACjB,GAAI1M,KAAKuN,OAAQ,MACoBhzB,IAA/B+xB,GAAWkB,OAAOC,WACpBnB,GAAWkB,OAAOC,SAAWzN,KAAK0N,QAAQF,OAAOC,UAEnD,MAAME,EAAMrB,GAAWkB,OAAOC,SAASG,KAAKlB,GAC5C,GAAI9E,KAAY+F,EAAIE,GAClB,OAAO,EAET,GAAIhG,KAAY8F,EAAIE,GAClB,OAAO,EAET,GAAI/F,KAAY6F,EAAIE,GAClB,OAAO,EAGX,OAAO,EAgBT,SAASC,GAAuBC,EAAUC,GACxC,IAAIC,EAAgBD,EAapB,GAZIhB,GAAO,oBAAmBiB,GAAiB,KAC3CjB,GAAO,sBAAqBiB,GAAiB,KAC7CjB,GAAO,iBAAgBiB,GAAiB,KACxCjB,GAAO,qBAAoBiB,GAAiB,KAC5CjB,GAAO,kBAAiBiB,GAAiB,KAE7CA,GAAiB,EAAoC,IAAhCxB,GAAY,kBAC7BzM,KAAKkO,QAAQ,wBAAuBD,GAAiB,KACrDjO,KAAKkO,QAAQ,mBAAkBD,GAAiB,KAChDjO,KAAKkO,QAAQ,mBAAkBD,GAAiB,MAChDF,EAASI,SAAWnB,GAAOe,EAASI,QAAQzvB,QAAOuvB,GAAiB,KACxEA,GAAiBnB,GAAO,gBACpBR,GAAWkB,OAAOY,eAAgB,CACpC,MAAMC,EAASf,GAAU,YACV,IAAXe,EAAcJ,GAAiB,IACf,IAAXI,EAAcJ,GAAiB,IACpB,IAAXI,IAAcJ,GAAiB,KAE1C,OAAOA,EAkBT,SAASK,GACPC,EACAC,EACA7kB,EACA8kB,EACAC,EACAC,GAIA,MAAMC,OAA4B,IAAVD,EAAwB,EAAIA,EACpD,IAAIE,EAAWH,EACXI,EAAiBnlB,EACjBolB,EAAO,GACK,IAAZL,IAAeG,EAAWC,GACzBJ,IAAQG,EAAW7O,KAAKgP,SAC7B,IAAK,IAAI70B,EAAI,EAAGA,EAAI00B,EAAU10B,IAAK,CACjC,IAAI6zB,EACFQ,EAAYxO,KAAKiP,eAAiBvsB,KAAK6D,IAAI,EAAGuoB,EAAiBL,GACjET,EAAQY,EACJ5O,KAAKkP,oBAAoBX,EAAOP,GAChCF,GAAuBS,EAAOP,GAClCA,EAAQtrB,KAAKoL,KAAKkgB,GAClB,MAAMnB,EAAW+B,EACbL,EAAMY,oBACNvC,KACJoB,EAAQtrB,KAAKkE,MAAMonB,EAAQnB,GACvBiC,EAAiB,IACnBC,GAAQf,EACRc,GAAkB,GAGtB,OAAOC,EAoBT,SAASK,KACP,IAAI5vB,EAASwgB,KAAKgP,QA0ClB,GAzCqB,IAAjBhP,KAAKqP,QACPtM,EAAsBvjB,EAEtBA,EAASujB,EAEI,IAAXvjB,EAAcA,EAASiqB,GACP,KAAXjqB,EAAeA,EAASkqB,GACb,MAAXlqB,IAAgBA,EAASmqB,IAEb,IAAjB3J,KAAKqP,QACuB,IAA1BxP,EAAUyP,YACZ3xB,OAAO6C,KAAKhB,GAAQ+vB,SAASp1B,IAC3BoR,EAAE,eAAeyU,KAAK0N,QAAQvzB,GAAG0zB,MAAMzrB,MAAM2F,MAC3C8X,EAAU,SAASrgB,EAAOrF,GAAG4N,YAGjCpK,OAAO6C,KAAKwf,KAAK0N,SAAS6B,SAASp1B,IACjCoR,EAAE,eAAeyU,KAAK0N,QAAQvzB,GAAG0zB,MAAMzrB,MAAMotB,eAAe,aAGrC,IAAlBxP,KAAKqP,SACd1xB,OAAO6C,KAAKipB,IAAe8F,SAASp1B,IAClC,MAAMwlB,EAAIK,KAAK0N,QAAQvzB,GACvBoR,EAAE,eAAeoU,EAAEkO,MAAMzrB,MAAM2F,MAAQ,GASvCwD,EAAE,eAAeoU,EAAEkO,MAAMlW,UAAYyM,GACnCkK,GAAa3O,EAAGA,EAAE6O,UAAW7O,EAAE+O,OAAQ/O,EAAE8O,KAAMzO,KAAKgP,QAAS,OAQ9C,IAAjBhP,KAAKqP,SAAiBxP,EAAU4P,cAAe,CACjD,IAAIC,EAC4B,IAA5B7P,EAAU4P,eACZC,EAAM/xB,OAAO6C,KAAKipB,IAAenrB,KAAKqxB,IACpC,MAAMhQ,EAAI8J,GAAckG,GAGxB,OAFAhQ,EAAEjhB,KAAOixB,EACThQ,EAAEkO,GAAK7N,KAAK0N,QAAQiC,GAAG9B,GAChBlO,KAGT+P,EAAIE,MAAK,SAAU5sB,EAAGP,GACpB,OAAO6f,EAAgBjlB,QAAQ2F,EAAE+E,OAC/Bua,EAAgBjlB,QAAQoF,EAAEsF,OACxB,EACAua,EAAgBjlB,QAAQ2F,EAAE+E,OAASua,EAAgBjlB,QAAQoF,EAAEsF,QAE7D/E,EAAEyI,GAAKhJ,EAAEgJ,IADR,EAGD,MAE+B,IAA5BoU,EAAU4P,gBACnBC,EAAM/xB,OAAO6C,KAAKhB,GAAQlB,KAAKqxB,IAC7B,MAAMhQ,EAAIngB,EAAOmwB,GAGjB,OAFAhQ,EAAEjhB,KAAOixB,EACThQ,EAAEkO,GAAK7N,KAAK0N,QAAQiC,GAAG9B,GAChBlO,KAGT+P,EAAIE,MAAK,SAAU5sB,EAAGP,GACpB,OAAO6f,EAAgBjlB,QAAQ2F,EAAE+E,OAC/Bua,EAAgBjlB,QAAQoF,EAAEsF,OACxB,EACAua,EAAgBjlB,QAAQ2F,EAAE+E,OAASua,EAAgBjlB,QAAQoF,EAAEsF,QAE7D/E,EAAEyI,GAAKhJ,EAAEgJ,IADR,EAGD,MAIR,IAAK,IAAIpH,EAAI,EAAGA,EAAIqrB,EAAIt1B,OAAQiK,IAC9B2b,KAAK0N,QAAQgC,EAAIrrB,GAAG3F,MAAM6M,EAAEnJ,MAAMytB,QAAU,GAAGxrB,EAAI,KAAKA,EAAI,QAEzD,CACL,MAAMqrB,EAAM/xB,OAAO6C,KAAKipB,IAAenrB,KAAKqxB,IAC1C,MAAMhQ,EAAI8J,GAAckG,GAGxB,OAFAhQ,EAAEjhB,KAAOixB,EACThQ,EAAEkO,GAAK7N,KAAK0N,QAAQiC,GAAG9B,GAChBlO,KAET+P,EAAIE,MAAK,CAAC5sB,EAAGP,IAAMO,EAAE6qB,GAAKprB,EAAEorB,KAC5B,IAAK,IAAIxpB,EAAI,EAAGA,EAAIqrB,EAAIt1B,OAAQiK,IAC9B2b,KAAK0N,QAAQgC,EAAIrrB,GAAG3F,MAAM6M,EAAEnJ,MAAMytB,QAAU,GAAGxrB,EAAI,KAAKA,EAAI,KAiBlE,SAASyrB,KAEP,GAAIjQ,EAAUkQ,YAAc,EAAG,CAC7B,IAAIC,EAAO,EACPC,EAAQ,EACRC,EAAS,EACTC,EAAS,EACTC,EAAM,EACNC,EAAS,EACTC,EAAO,EAEX3yB,OAAO6C,KAAKwf,KAAKuQ,iBAAiBhB,SAASp1B,IACzC,MAAMq2B,EAAKxQ,KAAKuQ,gBAAgBp2B,GAChC,IAAIs2B,GAAc,EAClB,IAAK,IAAIC,EAAI,EAAGA,EAAInlB,EAAE,UAAUpR,KAAKw2B,WAAWv2B,OAAQs2B,GAAK,EAC3D,IACuE,IAArEnlB,EAAE,UAAUpR,KAAKw2B,WAAWD,GAAG91B,UAAUyC,QAAQukB,GACjD,CACArW,EAAE,UAAUpR,KAAKw2B,WAAWD,GAAG91B,UAC7BgnB,EAAgBqI,GAAcuG,EAAG9xB,MAAMqJ,MACzC0oB,GAAc,EACd,MAGJ,IAAKA,EAAa,CAChB,MAAMG,EAAMn4B,SAAS4D,cAAc,OACnCu0B,EAAIxuB,MAAMkG,MAAQ,OAClBsoB,EAAIxuB,MAAMmG,OAAS,OACnBqoB,EAAIh2B,UAAYgnB,EAAgBqI,GAAcuG,EAAG9xB,MAAMqJ,MACvDwD,EAAE,UAAUpR,KAAK4b,YAAY6a,GAE3B3G,GAAcuG,EAAG9xB,MAAMqJ,QAAU8Z,EAAYmO,GAAQ,EAChD/F,GAAcuG,EAAG9xB,MAAMqJ,QAAU+Z,EAAamO,GAAS,EACvDhG,GAAcuG,EAAG9xB,MAAMqJ,QAAUga,EAAcmO,GAAU,EACzDjG,GAAcuG,EAAG9xB,MAAMqJ,QAAUia,EAAcmO,GAAU,EACzDlG,GAAcuG,EAAG9xB,MAAMqJ,QAAUka,EAAWmO,GAAO,EACnDnG,GAAcuG,EAAG9xB,MAAMqJ,QAAUma,EAAcmO,GAAU,EACzDpG,GAAcuG,EAAG9xB,MAAMqJ,QAAUoa,IAAYmO,GAAQ,MAGhE/kB,EAAE,oBAAoB/N,YAAcwyB,EACpCzkB,EAAE,qBAAqB/N,YAAcyyB,EACrC1kB,EAAE,sBAAsB/N,YAAc0yB,EACtC3kB,EAAE,sBAAsB/N,YAAc2yB,EACtC5kB,EAAE,mBAAmB/N,YAAc4yB,EACnC7kB,EAAE,sBAAsB/N,YAAc6yB,EACtC9kB,EAAE,oBAAoB/N,YAAc8yB,EAGtC,MAAMZ,EAAM,GAGZ,IAAK,IAAIrrB,EAAI,EAAGA,EAAI2b,KAAKuQ,gBAAgBn2B,OAAQiK,GAAK,EAAG,CACvD,MAAMsb,EAAI,GACVA,EAAEjhB,KAAOshB,KAAKuQ,gBAAgBlsB,GAAG3F,KACjCihB,EAAEqO,MAAQhO,KAAKuQ,gBAAgBlsB,GAAGmqB,UAClC7O,EAAElU,GAAKwe,GAActK,EAAEjhB,MAAM+M,GAC7BikB,EAAIzzB,KAAK0jB,GAGPE,EAAUgR,aACZnB,EAAIE,MAAK,SAAU5sB,EAAGP,GACpB,OAAO6f,EAAgBjlB,QAAQ2F,EAAE+E,OAASua,EAAgBjlB,QAAQoF,EAAEsF,OAChE,EACAua,EAAgBjlB,QAAQ2F,EAAE+E,OAASua,EAAgBjlB,QAAQoF,EAAEsF,QAE7D/E,EAAEyI,GAAKhJ,EAAEgJ,IADR,EAGD,KAGNikB,EAAIE,MAAK,CAAC5sB,EAAGP,IAAMO,EAAEgrB,MAAQvrB,EAAEurB,QAGjC,MAAM8C,EAAc,SAAUC,EAAMC,GAClC,OAAOD,EAAKE,WAAW31B,GAAMA,EAAEoD,OAASsyB,EAAQtyB,QAElD,IAAK,IAAI2F,EAAI,EAAGA,EAAI2b,KAAKuQ,gBAAgBn2B,OAAQiK,GAAK,EACpDkH,EAAE,UAAUlH,KAAKjC,MAAM8uB,MACrBJ,EAAYpB,EAAK1P,KAAKuQ,gBAAgBlsB,IAAM,EAYlD,SAAS8sB,KACP,OAAItR,EAAUuR,QACLrK,GAEmB,IAAxBlH,EAAUwR,UACLrR,KAAKsR,WAAa,EAAItR,KAAKuR,WAER,IAAxB1R,EAAUwR,UAEVrR,KAAKsR,WACJvH,IAA4B,EAA6B,IAAzBC,KAGJ,OAA7BF,GAAsB,IAEE,IAAxBjK,EAAUwR,WACwC,IAAlDrR,KAAKwR,UAAU1H,GAAsB,IAAItvB,KAGvCwlB,KAAKsR,WACwB,EAA3BvH,GAAgCC,IAC/B,EAA6B,IAAzBA,KAIXhK,KAAKsR,WACJvH,GAA2BC,IACzB,EAA6B,IAAzBA,KAaX,SAASyH,KACP,OAA4B,IAAxB5R,EAAUwR,UACLzH,GAEmB,IAAxB/J,EAAUwR,UACLvH,GAAsB,GAExB,EAcT,SAAS4H,GAAY7D,EAAInvB,EAAMizB,GAC7B,MAAMC,EAAWn5B,SAAS4D,cAAc,OACxCu1B,EAAS/D,GAAKA,EACd+D,EAASxvB,MAAMmG,OAAS,OACxBqpB,EAASxvB,MAAMyvB,OAAS,WACxBD,EAASxvB,MAAMgI,SAAW,WAE1B,MAAMwmB,EAAMn4B,SAAS4D,cAAc,OACnCu0B,EAAIxuB,MAAMkG,MAAQ,OAClBsoB,EAAIxuB,MAAMmG,OAAS,OACnBqoB,EAAIxuB,MAAMyvB,OAAS,OACnBjB,EAAIxuB,MAAMgI,SAAW,WACrBwmB,EAAIxuB,MAAMqC,KAAO,MACjBmsB,EAAIxuB,MAAMsC,IAAM,MAChBksB,EAAIxuB,MAAMkI,MAAQ,MAClBsmB,EAAIxuB,MAAMkW,OAAS,MAEnB,MAAM9d,EAAO/B,SAAS4D,cAAc,QACpC7B,EAAK4H,MAAMqV,QAAU,eACrBjd,EAAK4H,MAAMuW,UAAY,QACvBne,EAAK4H,MAAM0vB,SAAW,OACtBt3B,EAAK4H,MAAMkG,MAAQ,QACnB9N,EAAK4H,MAAM2vB,YAAc,MACzBv3B,EAAK4H,MAAM4vB,cAAgB,WAC3Bx3B,EAAKgD,YAAckB,EACnBkyB,EAAI7a,YAAYvb,GAEhB,IAAK,IAAIL,EAAI,EAAGA,EAAIw3B,EAAKv3B,OAAQD,IAAK,CACpC,MAAM83B,EAAWx5B,SAAS4D,cAAc,QACxC41B,EAASpE,GAAK8D,EAAKx3B,GAAG0zB,GACtBoE,EAAS7vB,MAAMqV,QAAU,eACzBwa,EAAS7vB,MAAMmG,OAAS,OACxB0pB,EAAS7vB,MAAM4vB,cAAgB,WAC/BC,EAAS7vB,MAAMuW,UAAY,SACvBgZ,EAAKv3B,OAAS,IAAMD,IACtB83B,EAAS7vB,MAAM8vB,qBAAuB,OACtCD,EAAS7vB,MAAM+vB,wBAA0B,aAEd,IAAlBR,EAAKx3B,GAAG4N,QACjBkqB,EAASr3B,UAAYgnB,EAAgB+P,EAAKx3B,GAAG4N,OAE/C6oB,EAAI7a,YAAYkc,GAGlB,MAAMG,EAAQ35B,SAAS4D,cAAc,QAQrC,OAPA+1B,EAAMvE,GAAK,GAAGA,QACduE,EAAMhwB,MAAMiwB,WAAa,MACzBD,EAAMhwB,MAAM4vB,cAAgB,WAC5BpB,EAAI7a,YAAYqc,GAEhBR,EAAS7b,YAAY6a,GAEdgB,EAOT,SAASU,GAA2BC,GAClC,GAAsB,OAAlBhnB,EAAE,YAAsB,CAC1B,MAAM/Q,EAAO+Q,EAAE,YAAYvO,WAAWA,WAAW2zB,WAAW,GACtD6B,EAAQjnB,EAAE,YAAYvO,WAAWA,WAAW2zB,WAAW,GACvDllB,EAAKF,EAAE,YAAYvO,WAAWA,WAAW2zB,WAAW,GACpDlL,EAAOla,EAAE,YAAYvO,WAAWA,WAAW2zB,WAAW,GAEtDx2B,EAAIo4B,EACJE,EAASj4B,EAAKub,YAAYtd,SAAS4D,cAAc,OACvDo2B,EAAO1c,YACLtd,SAASqgB,eACP,IAAuB,IAApB3e,EAAEkD,QAAQ,KAAclD,EAAEu4B,UAAU,EAAGv4B,EAAEkD,QAAQ,MAAQlD,QAInDs4B,EAAO1c,YAAYtd,SAAS4D,cAAc,SAClDzB,UAAY+mB,aAEjB8Q,EAAO1c,YAAYtd,SAASqgB,eAAe,MAC3Cte,EAAKm4B,UAAUvwB,MAAMwwB,YAAc,MACnCJ,EAAMzc,YAAYtd,SAAS4D,cAAc,OACzCm2B,EAAMG,UAAUvwB,MAAMwwB,YAAc,MACpCnnB,EAAGsK,YAAYtd,SAAS4D,cAAc,OACtCoP,EAAGknB,UAAUvwB,MAAMwwB,YAAc,MACjCnN,EAAK1P,YAAYtd,SAAS4D,cAAc,OACxCopB,EAAKkN,UAAUvwB,MAAMwwB,YAAc,OAoEvC,SAASC,KACP,GAAyB,IAArBhT,EAAUiT,QAAgBrJ,IAAkC,IAAjBzJ,KAAKqP,QAAe,CACjE,IAAI0D,EAAQ,EACZp1B,OAAO6C,KAAKipB,IAAe8F,SAASp1B,IAClC,IAmBI64B,EAnBAxzB,EAASwgB,KAAKgP,QACG,IAAjBhP,KAAKqP,QACPvM,EAAmBtjB,EAEnBA,EAASsjB,EAEI,IAAXtjB,IAAcA,EAASiqB,IACZ,KAAXjqB,IAAeA,EAASkqB,IACb,MAAXlqB,IAAgBA,EAASmqB,IAC7BoJ,GAAS,EACTxnB,EAAE,YAAYvO,WAAWA,WAAW2zB,WAAW,GAAGA,WAChDoC,GACApC,WAAW,GAAGnzB,YAAcwiB,KAAK0N,QAAQvzB,GAAGu0B,OAC9CnjB,EAAE,YAAYvO,WAAWA,WAAW2zB,WAAW,GAAGA,WAChDoC,GACAv1B,YAAc4mB,GAA4B5kB,EAAOrF,GAAGq4B,MAAO,GAC7DjnB,EAAE,YAAYvO,WAAWA,WAAW2zB,WAAW,GAAGA,WAChDoC,GACAn4B,UAAY+mB,EAAgBniB,EAAOrF,GAAG4N,MAGtCirB,EADEnT,EAAUoT,cACDzN,GAAW9iB,KAAKC,MAAMnD,EAAOrF,GAAGsR,KAC7B2Y,GAA4B1hB,KAAKC,MAAMnD,EAAOrF,GAAGsR,IAAK,GACtEF,EAAE,YAAYvO,WAAWA,WAAW2zB,WAAW,GAAGA,WAChDoC,GACAv1B,YAAcw1B,EAChB,MAAME,EAAarN,IAChB7F,KAAK0N,QAAQvzB,GAAGg5B,WAAanT,KAAKoT,QAAU3B,OAC3CN,MAEJ5lB,EAAE,YAAYvO,WAAWA,WAAW2zB,WAAW,GAAGA,WAChDoC,GACAn4B,UAAY+mB,EAAgBuR,EAAWnrB,MAEnB,UAApBmrB,EAAWpN,MACX9F,KAAKoT,QAAUpT,KAAK0N,QAAQvzB,GAAGg5B,UAE/B5nB,EAAE,YAAYvO,WAAWA,WAAW2zB,WAAW,GAAGA,WAChDoC,GACAv1B,YAAc,GAAG01B,EAAWpN,oBAE9Bva,EAAE,YAAYvO,WAAWA,WAAW2zB,WAAW,GAAGA,WAChDoC,GACAv1B,YAAc01B,EAAWpN,SAWnC,SAASuN,KACPrT,KAAKsT,WAAWnrB,OAAOG,MAAQ0X,KAAKsT,WAAWnrB,OAAOmR,WAAWxU,YACjEkb,KAAKsT,WAAWnrB,OAAOI,OACrByX,KAAKsT,WAAWnrB,OAAOmR,WAAWvU,aACpCib,KAAKuT,eAAeprB,OAAOG,MACzB0X,KAAKuT,eAAeprB,OAAOmR,WAAWxU,YACxCkb,KAAKuT,eAAeprB,OAAOI,OACzByX,KAAKuT,eAAeprB,OAAOmR,WAAWvU,aAY1C,SAASyuB,KAEgB,IAArB3T,EAAUiT,QACa,IAAvBjT,EAAU4T,UACgB,IAA1B5T,EAAU6T,aAEVnoB,EAAE,YAAYnJ,MAAMkW,OAAS/M,EAAE,cAAcnJ,MAAMmG,OACnDgD,EAAE,QAAQnJ,MAAMkW,OAAS,GACvBuM,OAAOtZ,EAAE,cAAcnJ,MAAMmG,OAAOxH,QAAQ,KAAM,KAAO,QAE7B,IAArB8e,EAAUiT,QACnBvnB,EAAE,YAAYnJ,MAAMkW,OAAS,MAC7B/M,EAAE,QAAQnJ,MAAMkW,OAAS,QACO,IAAvBuH,EAAU4T,UAA4C,IAA1B5T,EAAU6T,YAC/CnoB,EAAE,QAAQnJ,MAAMkW,OAAS/M,EAAE,cAAcnJ,MAAMmG,OAG/CgD,EAAE,QAAQnJ,MAAMkW,OAAS,MAGA,IAAvBuH,EAAU4T,UAA4C,IAA1B5T,EAAU6T,YACxCnoB,EAAE,eAAenJ,MAAMsC,IAAM6G,EAAE,cAAcnJ,MAAMmG,OAEnDgD,EAAE,eAAenJ,MAAMsC,IAAM,GAG/B2uB,KAMF,SAASM,KACoB,IAAvB9T,EAAU4T,SAAgBloB,EAAE,cAAcnJ,MAAMqV,QAAU,GACzDlM,EAAE,cAAcnJ,MAAMqV,QAAU,OACrC+b,KAoPF,SAASI,KACPzL,GAAkBnI,KAAK6T,WACvBzL,GAAmBpI,KAAK8T,YAS1B,SAASC,GAAgBC,GACvB,MAAMxD,EAAKxQ,KAAKiU,aAAaD,GACvBE,EAAM,GAEZ,OADAA,EAAIx1B,KAAO8xB,EAAG9xB,KACPw1B,EAUT,SAASC,GAAoB3D,GAC3B,IAAI4D,EAAO,EAoBX,GAnBAz2B,OAAO6C,KAAKgwB,EAAG6D,gBAAgB9E,SAASp1B,KAEnC6lB,KAAKsU,MAAM9D,EAAG6D,eAAel6B,GAAGizB,MAAMmH,SACvCvH,GAAOwD,EAAG6D,eAAel6B,GAAGuE,QAE5B01B,GAAQ,MAEZz2B,OAAO6C,KAAKgwB,EAAGgE,WAAWjF,SAASp1B,IACjC,GAAI6yB,GAAOwD,EAAGgE,UAAUr6B,GAAGuE,MAAO,CAChC,MAAM+1B,EAAMjE,EAAGgE,UAAUr6B,GACrBs6B,EAAIC,aAAah2B,OAAS8xB,EAAG9xB,KAC/B01B,GAAQ,EAAI,IAAOK,EAAIE,aAAajG,OAC7B+F,EAAIE,aAAaj2B,OAAS8xB,EAAG9xB,OACpC01B,GAAQ,EAAI,KAAQK,EAAIC,aAAahG,YAGvC8B,EAAGrC,SAAWnB,GAAOwD,EAAGrC,QAAQzvB,QAAO01B,GAAQ,MAC/C5D,EAAGoE,SAAW5H,GAAOwD,EAAGoE,QAAQl2B,QAClC01B,GAAQ,EAAgC,IAA5B9H,GAAWuI,QAAQnG,QAAiB,GAAK8B,EAAG3C,GAAK,KACnB,iBAAjC2C,EAAG6D,eAAeS,YACR,IAAftE,EAAGuE,SAAiB/H,GAAOwD,EAAG6D,eAAeS,WAAWp2B,MAC1D,OAAQshB,KAAKC,YACX,QACEmU,GAAQ,EACR,MACF,KAAK,EACHA,GAAQ,KACR,MACF,KAAK,EACHA,GAAQ,KACR,MACF,KAAK,EACHA,GAAQ,KAKhB,OAAOA,EAiBT,SAASY,GAAoBzC,GAC3B,MAAM/B,EAAKxQ,KAAK0N,QAAQ6E,GAClB2B,EAAM,GA2FZ,MA1FgB,WAAZ1D,EAAG9xB,KACLw1B,EAAIe,IAAM,SAAUhI,GAClB,IAAI3rB,EAAM,EACN0rB,GAAO,sBAAqB1rB,GAAO,IACnC0rB,GAAO,qBAAoB1rB,GAAO,GAClC0rB,GAAO,qBAAoB1rB,GAAO,IAClC0rB,GAAO,sBAAqB1rB,GAAO,IACnC0rB,GAAO,yBAAwB1rB,GAAO,IACtC0rB,GAAO,yBAAwB1rB,GAAO,IACtC0rB,GAAO,wBAAuB1rB,GAAO,IACrC0rB,GAAO,wBAAuB1rB,GAAO,IACrC0rB,GAAO,uBAAsB1rB,GAAO,IACpC0rB,GAAO,uBAAsB1rB,GAAO,IACxC,IAAI8yB,EAAO,EACP/P,EAAM,EAQV,OAPA1mB,OAAO6C,KAAK8rB,IAAYiD,SAASp1B,IACJ,WAAvBmyB,GAAWnyB,GAAGuE,OAAmB2lB,GAAOiI,GAAWnyB,GAAGu0B,WAE5DptB,GAAO+iB,EACP+P,GAAQD,GAAoBlH,GAC5BmH,GAAQpU,KAAKkV,SAAS,UACtBd,GAAQtH,GAAO,aAEb9M,KAAKmV,WACH,GACAnI,GAAO,2BACLA,GAAO,kCACPA,GAAO,gBACT1rB,GACE8yB,GAGa,YAAZ5D,EAAG9xB,KACZw1B,EAAIe,IAAM,SAAUhI,GAClB,IAAImH,EAAO,EAYX,GAXAz2B,OAAO6C,KAAKwf,KAAKoV,kBAAkB7F,SAASp1B,IACtC6yB,GAAOhN,KAAKoV,iBAAiBj7B,MAAKi6B,GAAQ,MAE5CpH,GAAO,oCAAmCoH,GAAQ,GAClDpH,GAAO,yBAAwBoH,GAAQ,GACvCpH,GAAO,kBAAiBoH,GAAQ,GAEhCpH,GAAO,wBAAuBoH,GAAQ,MAE1CA,GAAQtH,GAAO,cAEXE,GAAO,cACT,IAAK,IAAI7yB,EAAI,EAAGA,EAAI6lB,KAAKqV,eAAeC,OAAOl7B,OAAQD,IACjD6yB,GAAOhN,KAAKqV,eAAeC,OAAOn7B,GAAGuE,QAAO01B,GAAQ,MAI5DA,GAAQD,GAAoBlH,GAE5B,IAAI3rB,EAAM,EACN0rB,GAAO,cAAa1rB,GAAmC,IAA5BgrB,GAAWuI,QAAQnG,QAC9C1B,GAAO,yBACT1rB,GAAmC,IAA5BgrB,GAAWuI,QAAQnG,QACxB1B,GAAO,gBAAe1rB,GAAkC,IAA3BgrB,GAAWiJ,OAAO7G,QAEnD,IAAIrK,EAAM,EASV,OARA1mB,OAAO6C,KAAK8rB,IAAYiD,SAASp1B,IACJ,YAAvBmyB,GAAWnyB,GAAGuE,OAAoB2lB,GAAOiI,GAAWnyB,GAAGu0B,WAG7D0F,GAAQ,EAAqC,IAAjC3H,GAAY,mBAA4BpI,EAEpD+P,GAAQpU,KAAKkV,SAAS1E,EAAG9xB,OAEjB8xB,EAAGgF,QAAUl0B,GAAO8yB,GAG9BF,EAAIe,IAAM,SAAUhI,GAClB,IAAImH,EAAO,EAGX,OAFAA,GAAQD,GAAoBlH,GAC5BmH,GAAQpU,KAAKkV,SAASjI,EAAGvuB,MAClBuuB,EAAGwI,QAAUrB,GAKxBF,EAAIsB,QAAUhF,EAAGgF,QACjBtB,EAAIx1B,KAAO8xB,EAAG9xB,KACdw1B,EAAIG,eAAiB7D,EAAG6D,eACxBH,EAAIM,UAAYhE,EAAGgE,UACnBN,EAAI/F,QAAUqC,EAAGrC,QACjB+F,EAAIU,QAAUpE,EAAGoE,QACjBV,EAAIuB,QAAUjF,EAAGgF,QACjBtB,EAAIrG,GAAK2C,EAAG3C,GACZqG,EAAIa,QAAUvE,EAAGuE,QACVb,EAaT,SAASwB,GAAYC,GACnB,MAAMnF,EAAKxQ,KAAK4V,SAASD,GACnBzB,EAAM,GA4BZ,OA1BAA,EAAI2B,MAAQrF,EAAGqF,MACU,mBAAd3B,EAAI2B,QACG,0BAAZrF,EAAG9xB,KACLw1B,EAAI2B,MAAQ,WACV,IAAIz4B,EAAI,EAIR,OAHAO,OAAO6C,KAAK8rB,IAAYiD,SAASp1B,IAC3BmyB,GAAWnyB,GAAG27B,OAAS,KAAI14B,GAAK,MAE/BA,GAGT82B,EAAI2B,MAAQ,WACV,IAAIE,EAAM,EAEV,GADI/I,GAAO,cAAa+I,EAAM,GAC1B/V,KAAKuN,OAAQ,CACf,MAAMc,EAASf,GAAU,WACV,IAAXe,EAAc0H,GAAO,IACL,IAAX1H,EAAc0H,GAAO,IACV,IAAX1H,IAAc0H,GAAO,KAEhC,OAAOA,IAIb7B,EAAI/G,KAAOqD,EAAGrD,KACd+G,EAAIx1B,KAAO8xB,EAAG9xB,KACPw1B,EAiBT,SAAS8B,KAEP3O,GAAmBrH,KAAKiW,cACxB3O,GAAatH,KAAKkW,QAClB3O,GAAuBvH,KAAKmW,kBAC5B3O,GAAmBxH,KAAKoW,cACxB3O,GAAczH,KAAKqW,SAGnB14B,OAAO6C,KAAKwf,KAAK0N,SAAS6B,SAASp1B,IACjC,MAAMq2B,EAAKxQ,KAAK0N,QAAQvzB,GACxB,IAAI+5B,EAAM5H,GAAWnyB,QACTI,IAAR25B,IAEF5H,GAAWnyB,GAAK66B,GAAoB76B,GACpC+5B,EAAM5H,GAAWnyB,GACjBm4B,GAA2Bn4B,IAE7B+5B,EAAIxF,OAAS8B,EAAG9B,OAChBwF,EAAI4B,MAAQtF,EAAGsF,MACf5B,EAAIoC,aAAe9F,EAAG8F,aACtBpC,EAAI1F,UAAYgC,EAAGhC,UACnB0F,EAAIzF,KAAO+B,EAAG/B,KACV+B,EAAGpC,iBACW,WAAZoC,EAAG9xB,OACLkpB,GAAU4I,EAAG/C,SAAS8I,KAAK,GAC3B1O,GAAU2I,EAAG/C,SAAS8I,KAAK,GAC3BzO,GAAU0I,EAAG/C,SAAS8I,KAAK,IAE7BrC,EAAI9F,eAAiBoC,EAAGpC,eACxB8F,EAAIzG,SAAW+C,EAAG/C,UAEpBnB,GAAWnyB,GAAK+5B,KAIlBv2B,OAAO6C,KAAKwf,KAAK4V,UAAUrG,SAASp1B,IAClC,MAAMq2B,EAAKxQ,KAAK4V,SAASz7B,GACzB,IAAI+5B,EAAM3H,GAAYpyB,QACVI,IAAR25B,IACF3H,GAAYpyB,GAAKu7B,GAAYv7B,GAC7B+5B,EAAM3H,GAAYpyB,IAEpB+5B,EAAI7G,OAASmD,EAAGnD,OAChBd,GAAYpyB,GAAK+5B,KAInBv2B,OAAO6C,KAAKwf,KAAKiU,cAAc1E,SAASp1B,IACtC,MAAMq2B,EAAKxQ,KAAKiU,aAAa95B,GAC7B,IAAI+5B,EAAM1H,GAAgBryB,QACdI,IAAR25B,IACF1H,GAAgBryB,GAAK45B,GAAgB55B,GACrC+5B,EAAM1H,GAAgBryB,IAExB+5B,EAAIsC,IAAMhG,EAAGgG,IACbhK,GAAgBryB,GAAK+5B,KAIvBN,KACAlM,GAAgBS,GAChBR,GAAiBS,GA8BnB,SAASqO,GAAoB3Q,GAC3B,MAAM8K,EAAMn4B,SAAS4D,cAAc,OAKnC,OAJAu0B,EAAIxuB,MAAMs0B,WAAa,OACvB9F,EAAI/C,GAAK,GAAG/H,SACZ8K,EAAIh2B,UAAY+mB,aAChBiP,EAAIpzB,YAAcsoB,EACX8K,EAmHT,SAAS+F,GAAgCC,GACvCA,EAAQ7gB,YAAY0gB,GAAoB,iBACxC,MAAMI,EAASp+B,SAAS4D,cAAc,OACtCw6B,EAAOz0B,MAAM00B,aAAe,MAC5BD,EAAOz0B,MAAM2F,MAAQ,QACrB8uB,EAAOhJ,GAAK,kBACZ+I,EAAQ7gB,YAAY8gB,GAEpBD,EAAQ7gB,YAAY0gB,GAAoB,4BACxCG,EAAQjE,UAAUvwB,MAAMqV,QAAU,OAClC,MAAMsf,EAAQt+B,SAAS4D,cAAc,OACrC06B,EAAM30B,MAAM00B,aAAe,MAC3BC,EAAM30B,MAAM2F,MAAQ,QACpBgvB,EAAM30B,MAAMqV,QAAU,OACtBsf,EAAMlJ,GAAK,0BACX+I,EAAQ7gB,YAAYghB,GAEpBH,EAAQ7gB,YAAY0gB,GAAoB,mBACxC,MAAMhrB,EAAKhT,SAAS4D,cAAc,OAClCoP,EAAGrJ,MAAM00B,aAAe,MACxBrrB,EAAGoiB,GAAK,cACR+I,EAAQ7gB,YAAYtK,GAEpBmrB,EAAQ7gB,YAAY0gB,GAAoB,cACxC,MAAMhR,EAAOhtB,SAAS4D,cAAc,OAIpC,GAHAopB,EAAKoI,GAAK,gBACV+I,EAAQ7gB,YAAY0P,GAEA,MAAhB7B,GAAqB,CACvBgT,EAAQ7gB,YACN0gB,GAAoB,0CAEtBG,EAAQjE,UAAU9E,GAAK,4BACvB,MAAMmJ,EAAav+B,SAAS4D,cAAc,OAC1C26B,EAAWnJ,GAAK,sBAChB+I,EAAQ7gB,YAAYihB,IA+JxB,SAASC,GACPC,EACAC,EACAC,GAEA,IAAIC,EAAQH,EACRnE,EAAQ,EACZ,KAAOsE,EAAQD,GACbC,GAAqE,KAA5D30B,KAAK6D,IAAI,MAAQ8wB,EAAQ30B,KAAK6D,IAAI4wB,EAAU,OAAS,IAC9DpE,GAAS,EAEX,OAAOA,EAAQ/S,KAAKsX,IA0XtB,SAASC,KACP,IAAInD,EAAO,EAKX,OAJAz2B,OAAO6C,KAAKwf,KAAKwX,OAAOjI,SAASp1B,SACM,IAA1B6lB,KAAKwX,MAAMr9B,GAAGs9B,UACvBrD,GAAQpU,KAAKwX,MAAMr9B,GAAGs9B,YAEnBrD,EAWT,SAASsD,KACiC,OAApCnsB,EAAE,gCAC0B,IAA1BsU,EAAU8X,aACZpsB,EAAE,8BAA8BnJ,MAAMsC,IAAM,OAC5C6G,EAAE,8BAA8BnJ,MAAMyvB,OAAS,WAC/CtmB,EAAE,8BAA8BnJ,MAAMwK,QAAU,YAEhDrB,EAAE,8BAA8BnJ,MAAMkI,MAAQ,OAC9CiB,EAAE,8BAA8BnJ,MAAMyvB,OAAS,MAC/CtmB,EAAE,8BAA8BnJ,MAAMwK,QAAU,YA0LtD,SAASgrB,KAEP,GADA5B,KACyC,SAArCzqB,EAAE,iBAAiBnJ,MAAMqV,SAAsBlM,EAAE,iBAAkB,CACrEA,EAAE,iBAAiBoM,UAAY,GAC/B,MAAMkgB,EAx6BV,WACEtsB,EAAE,WAAWvO,WAAWoF,MAAM01B,cAAgB,MAC9C,MAAMD,EAAap/B,SAAS4D,cAAc,OAM1C,OALAw7B,EAAWz1B,MAAM0U,OAAS,YAC1B+gB,EAAWz1B,MAAMwK,QAAU,MAC3BirB,EAAWz1B,MAAMyvB,OAAS,WAC1BgG,EAAWhK,GAAK,kBAChBgK,EAAWj9B,UAAY+mB,aAChBkW,EAg6BcE,GACnBxsB,EAAE,iBAAiBwK,YAAY8hB,GAEX,MAAhBjU,GA9uBR,WACE,GAAsC,IAAlC/D,EAAUmY,qBAA8C,IAAjBhY,KAAKqP,QAAe,CAI7D,IAAI7vB,EAaJ,GAfAm3B,GADmBprB,EAAE,oBAIA,IAAjByU,KAAKqP,QACPrM,EAA4BxjB,EAE5BA,EAASwjB,EAEU,IAAjBhD,KAAKgP,QAAexvB,EAASiqB,GACP,KAAjBzJ,KAAKgP,QAAgBxvB,EAASkqB,GACb,MAAjB1J,KAAKgP,UAAiBxvB,EAASmqB,IAExCjG,GAAe1D,KAAK0N,QAAQ7J,IAAasP,UACzCxP,GAAqBnkB,EAAOqkB,IAAa2O,MAEH,IAAlC3S,EAAUmY,qBAA8C,IAAjBhY,KAAKqP,QAAe,CAC7D9jB,EAAE,mBAAmB/N,YAAc4mB,GAA4BT,GAAoB,GACnF,MAAMsU,EAAWv1B,KAAKC,MACnBghB,GAAqB3D,KAAKsR,UAAa,KAEtCzM,OAAOC,SAASmT,IAA0B,IAAbA,EAC/B1sB,EAAE,mBAAmB/N,aAAe,KAAKy6B,EAAW,kBAEpD1sB,EAAE,mBAAmB/N,aAAe,OAClCqiB,EAAUoF,eAAiB,IAAM,oBAGrC1Z,EAAE,mBAAmB3Q,UACnB+mB,EAAgBniB,EAAOqkB,IAAa9b,MAClC8X,EAAUoT,cACZ1nB,EAAE,eAAe/N,YAAcgoB,GAAWhmB,EAAOqkB,IAAapY,IAC3DF,EAAE,eAAe/N,YAAc4mB,GAA4B5kB,EAAOqkB,IAAapY,GAAI,GACxFF,EAAE,eAAe3Q,UAAY+mB,EAAgBniB,EAAOqkB,IAAa9b,MACjE,MAAMmrB,EAAarN,IAChBnC,IAAgB1D,KAAKoT,QAAU3B,OAAyBN,MAE3D5lB,EAAE,iBAAiB/N,YAAc01B,EAAWpN,KAEtB,UAApBoN,EAAWpN,MACX9F,KAAKoT,QAAU5zB,EAAOqkB,IAAamK,MAEnCziB,EAAE,iBAAiB/N,YAAc,GAAG01B,EAAWpN,oBAC1Cva,EAAE,iBAAiB/N,YAAc01B,EAAWpN,KACnDva,EAAE,iBAAiB3Q,UAAY+mB,EAAgBuR,EAAWnrB,MAI5DwD,EAAE,6BAA6BnJ,MAAMqV,QAAU,OAC/ClM,EAAE,iBAAiBnJ,MAAM00B,aAAe,MAIxC,IAAK,MAAM38B,KAAKwD,OAAO6C,KAAKwf,KAAK0N,QAAQ7J,IAAaqU,mBACpD,IACGlY,KAAKmY,UACJnY,KAAK0N,QAAQ7J,IAAaqU,kBAAkB/9B,GAAGi+B,OAAO15B,MAExD,CACA,MAAM25B,EACJrY,KAAK0N,QAAQ7J,IAAaqU,kBAAkB/9B,GAC9CoR,EAAE,iBAAiBnJ,MAAM00B,aAAe,MACxCvrB,EAAE,6BAA6BnJ,MAAMqV,QAAU,GAC/ClM,EAAE,uBAAuB3Q,UAAY,kBAAkBipB,KACvDtY,EAAE,uBAAuB/N,YAAc4mB,GACrCiU,EAAqBtC,IAAMzJ,GAAWzI,IAAayS,aACnD,IAEF/qB,EAAE,uBAAuBnJ,MAAM2F,MAAQ,QACvC,YAGCwD,EAAE,iBAAiBnJ,MAAMqV,QAAU,OAqqBtC6gB,GACyB,MAAhB1U,GA5Tf,WAYE,GAVA+S,GADmBprB,EAAE,oBAGrBoY,GACEsG,GAAcjK,KAAKuQ,gBAAgB1M,IAAanlB,MAAM8zB,MACxD9O,GAAe1D,KAAK4V,SAClB5V,KAAKuQ,gBAAgB1M,IAAanlB,MAClC65B,WACFzU,GACEmG,GAAcjK,KAAKuQ,gBAAgB1M,IAAanlB,MAAM85B,WAElB,IAAlC3Y,EAAUmY,oBAA2B,CACvCzsB,EAAE,mBAAmB/N,YAAc4mB,GAA4BT,GAAoB,GACnF,MAAMsU,EAAWv1B,KAAKC,MAAOghB,GAAqB3D,KAAKsR,UAAa,KAG7B,MAArC/lB,EAAE,mBAAmB/N,aACJ,MAAhBomB,IAAuC,MAAhBA,IAOpBiB,OAAOC,SAASmT,IAA0B,IAAbA,EAC/B1sB,EAAE,mBAAmB/N,aAAe,KAAKy6B,EAAW,kBAEpD1sB,EAAE,mBAAmB/N,aAAe,OAClCqiB,EAAUoF,eAAiB,IAAM,oBAGrC1Z,EAAE,mBAAmB3Q,UACnB+mB,EACAsI,GAAcjK,KAAKuQ,gBAAgB1M,IAAanlB,MAAMqJ,MAEpD+b,KACFvY,EAAE,2BAA2B/N,YAAc4mB,GAA4BN,IACvEvY,EAAE,2BAA2BnJ,MAAMqV,QAAU,QAC7ClM,EAAE,2BAA2BktB,gBAAgBr2B,MAAMqV,QAAU,SAGpC,IAAvBkM,IAA4BG,IAC9BvY,EAAE,eAAe/N,YAAc,GAAG4mB,GAChCV,GAAeI,aAEjBvY,EAAE,eAAenJ,MAAM2F,MAAQ,UAE3B8X,EAAUoT,cACZ1nB,EAAE,eAAe/N,YAAcgoB,GAC7ByE,GAAcjK,KAAKuQ,gBAAgB1M,IAAanlB,MAAM+M,IAGxDF,EAAE,eAAe/N,YAAc4mB,GAC7B6F,GAAcjK,KAAKuQ,gBAAgB1M,IAAanlB,MAAM+M,GACtD,GAEJF,EAAE,eAAe3Q,UACf+mB,EACAsI,GAAcjK,KAAKuQ,gBAAgB1M,IAAanlB,MAAMqJ,SAvC1DwD,EAAE,qBAAqBnJ,MAAMqV,QAAU,OACvClM,EAAE,mBAAmBnJ,MAAMqV,QAAU,OACrClM,EAAE,uBAAuBnJ,MAAMqV,QAAU,OACzClM,EAAE,eAAenJ,MAAMqV,QAAU,QAuCnC,MAAMyb,EAAarN,IAChBnC,IAAgB1D,KAAKoT,QAAU3B,OAAyBN,MAY3D,GAVA5lB,EAAE,iBAAiB/N,YAAc01B,EAAWpN,KAEtB,UAApBoN,EAAWpN,MACX9F,KAAKoT,QAAUpT,KAAKuQ,gBAAgB1M,IAAa0U,WAEjDhtB,EAAE,iBAAiB/N,YAAc,GAAG01B,EAAWpN,oBAC1Cva,EAAE,iBAAiB/N,YAAc01B,EAAWpN,KACnDva,EAAE,iBAAiB3Q,UAAY+mB,EAAgBuR,EAAWnrB,MAGX,kBAA3CiY,KAAKuQ,gBAAgB1M,IAAanlB,KAA0B,CAC9D6M,EAAE,mBAAmBonB,UAAUvwB,MAAM00B,aAAe,MACpDvrB,EAAE,mBAAmBwK,YACnB0gB,GAAoB,yCAEtB,MAAMiC,EAAYjgC,SAAS4D,cAAc,OACzCq8B,EAAUt2B,MAAM2F,MAAQ,QACxB2wB,EAAUl7B,YAAc,GAAG4mB,GAA2C,IAAfpE,KAAKoT,cAAqBhP,GAC/EoF,MAEFje,EAAE,mBAAmBwK,YAAY2iB,SAE9BntB,EAAE,iBAAiBnJ,MAAMqV,QAAU,OAsOtCkhB,GACyB,MAAhB/U,GAzVf,WACE,GAA8B,IAA1B/D,EAAU+Y,YAAmB,CAC/B,MAAMf,EAAatsB,EAAE,mBAErBssB,EAAW9hB,YAAY0gB,GAAoB,uBAE3C,MAAMoC,EAAWpgC,SAAS4D,cAAc,OACxCw8B,EAAShL,GAAK,gBACdgK,EAAW9hB,YAAY8iB,GACvB,MAAMC,EApCK,KADQt+B,EAqCcwlB,KAAK+Y,iBAnC/B,CAAEjT,KAAM,SAAU/d,MAAOoa,GAErB,IAAT3nB,EACK,CAAEsrB,KAAM,aAAc/d,MAAO+Z,GAEzB,IAATtnB,EACK,CAAEsrB,KAAM,SAAU/d,MAAOga,GAErB,IAATvnB,EACK,CAAEsrB,KAAM,QAAS/d,MAAOia,GAEpB,IAATxnB,EACK,CAAEsrB,KAAM,cAAe/d,MAAOma,GAEhC,CAAE4D,KAAM,qBAAsB/d,MAAOka,GAsB1C4W,EAASr7B,YAAcs7B,EAAWhT,KAClC+S,EAASj+B,UAAY+mB,EAAgBmX,EAAW/wB,WAC3CwD,EAAE,iBAAiBnJ,MAAMqV,QAAU,OAxC5C,IAAuBjd,EAsXjBw+B,GACyB,MAAhBpV,GA3kBf,WACE,MAAM6J,SAAEA,GAAazN,KAAK0N,QAAQ,gBAC5BuL,EAAYxL,EAASyL,aAAazL,EAAS0L,WAAWtV,KAE5D,GAA8B,IAA1BhE,EAAUuZ,aAAqBH,GAAaxL,EAAS4L,OAAQ,CAC/D,MAAMxB,EAAatsB,EAAE,mBAGrBssB,EAAW9hB,YAAY0gB,GAAoB,cAC3C,MAAMhR,EAAOhtB,SAAS4D,cAAc,OACpCopB,EAAKoI,GAAK,gBACVgK,EAAW9hB,YAAY0P,GACvB,MAAMyN,EAAarN,GACjBoR,GAA4BxJ,EAAS4J,MAAO5J,EAAS4L,OAAQJ,IAM/D,GAJAxT,EAAKjoB,YAAc01B,EAAWpN,KAC9BL,EAAK7qB,UAAY+mB,EAAgBuR,EAAWnrB,MAGxCkxB,GAAaxL,EAAS4J,MAAO,CAC/BQ,EAAW9hB,YAAY0gB,GAAoB,iBAC3C,MAAM6C,EAAU7gC,SAAS4D,cAAc,OACvCi9B,EAAQzL,GAAK,mBACbgK,EAAW9hB,YAAYujB,GACvB,MAAMC,EAAgB1T,GACpBoR,GACEv0B,KAAK6D,IAAI,EAAGknB,EAAS4J,MAAQ4B,GAC7BxL,EAAS4L,OACT5L,EAAS4J,QAGbiC,EAAQ97B,YAAc+7B,EAAczT,KACpCwT,EAAQ1+B,UAAY+mB,EAAgB4X,EAAcxxB,MAIpD,GAAoB,MAAhB8b,GAAqB,CACvBgU,EAAW9hB,YACT0gB,GAAoB,8BAEtB,MAAM+C,EAAU/gC,SAAS4D,cAAc,OACvCm9B,EAAQ3L,GAAK,IACbgK,EAAW9hB,YAAYyjB,GACvB,MAAMC,EAAShhC,SAAS4D,cAAc,QACtCo9B,EAAOr3B,MAAM2F,MAAQ,UACrB0xB,EAAOj8B,YAAc4mB,GACnB1hB,KAAK2D,IACqC,KAAvC2Z,KAAKoT,QAAU3B,MACa,GAA7BxI,GAAkC,IAEpC,GAEFuQ,EAAQzjB,YAAY0jB,GACpB,MAAMC,EAAYjhC,SAAS4D,cAAc,QACzCq9B,EAAUl8B,YAAc,MACxBg8B,EAAQzjB,YAAY2jB,GACpB,MAAMC,EAAOlhC,SAAS4D,cAAc,QACpCs9B,EAAKv3B,MAAM2F,MAAQ,MACnB4xB,EAAKn8B,YAAc4mB,GAAyD,GAA7B6E,GAAkC,GAAI,GACrFuQ,EAAQzjB,YAAY4jB,GAGtBpuB,EAAE,iBAAiBwK,YAAY8hB,QAC1BtsB,EAAE,iBAAiBnJ,MAAMqV,QAAU,OA6gBtCmiB,GACyB,MAAhBhW,GA/pBf,WACE,MAAM6J,SAAEA,GAAazN,KAAK0N,QAAQmM,KAClC,GACEha,EAAUia,cAC2C,IAArDrM,EAASsM,KAAKlW,GAAY,IAAIA,GAAY,IAAI,GAC9C,CACA,MAAMmW,EACJvM,EAASsM,KAAKlW,GAAY,IAAIA,GAAY,IAAI,GAC9C4J,EAASwM,WAAWxM,EAASsM,KAAKlW,GAAY,IAAIA,GAAY,IAAI,GAAK,GACpEmW,OACCE,EACJzM,EAASwM,WAAWxM,EAASsM,KAAKlW,GAAY,IAAIA,GAAY,IAAI,GAAK,GACpEnlB,KACL6M,EAAE,mBAAmBwK,YACnB0gB,GAAoB,+BAEtB,MAAMgD,EAAShhC,SAAS4D,cAAc,OACtCo9B,EAAO5L,GAAK,uBACZtiB,EAAE,mBAAmBwK,YAAY0jB,GACf,cAAdS,EACF3uB,EAAE,wBAAwB/N,YAAc,GACtCw8B,EACI5V,GAA4B1hB,KAAK2D,IAAmB,IAAf2Z,KAAKoT,QAAiC,GAAjBpT,KAAKsR,UAAiB,KAChF,SACAlN,GAA6C,GAAjBpE,KAAKsR,UAAiB,MACjC,cAAd4I,GAA2C,oBAAdA,EACtC3uB,EAAE,wBAAwB/N,YAAc,GACtCw8B,EACI5V,GAA4B1hB,KAAK2D,IAAmB,IAAf2Z,KAAKoT,QAAiC,GAAjBpT,KAAKsR,UAAiB,IAChF,SACAlN,GAA6C,GAAjBpE,KAAKsR,UAAiB,KACjC,cAAd4I,EACT3uB,EAAE,wBAAwB/N,YAAc,GACtCw8B,EACI5V,GAA4B1hB,KAAK2D,IAAmB,IAAf2Z,KAAKoT,QAAiC,GAAjBpT,KAAKsR,UAAiB,KAChF,SACAlN,GAA6C,GAAjBpE,KAAKsR,UAAiB,MACjC,cAAd4I,EACT3uB,EAAE,wBAAwB/N,YAAc,GACtCw8B,EACI5V,GAA4B1hB,KAAK2D,IAAmB,IAAf2Z,KAAKoT,QAAiC,GAAjBpT,KAAKsR,UAAiB,MAChF,SACAlN,GAA6C,GAAjBpE,KAAKsR,UAAiB,OACnD/lB,EAAE,iBAAiBnJ,MAAMqV,QAAU,YACrClM,EAAE,iBAAiBnJ,MAAMqV,QAAU,OAonBtC0iB,GACyB,OAAhBvW,GAngBf,WACE,MAAM6J,SAAEA,GAAazN,KAAK0N,QAAQmM,KAClC,GAAIha,EAAU+Y,YAAa,CACzBrtB,EAAE,mBAAmBwK,YACnB0gB,GAAoB,oCAEtB,IAAI2D,EAAY,EACZC,EAAS,EACTra,KAAKxf,KAAK,KAAOwf,KAAKxf,KAAK,MAAK65B,EAAS,GAC7C,IAAK,IAAI/1B,EAAI,EAAGA,EAAI,EAAGA,IACrB,IAAK,IAAID,EAAI,EAAGA,EAAI,EAAGA,IACrB,GAAIopB,EAASsM,KAAKz1B,GAAGD,GAAG,IAAM,EAAG,CAC/B,MAAMi2B,EAAO7M,EAASsM,KAAKz1B,GAAGD,GACxBmsB,EAAK/C,EAASwM,WAAWK,EAAK,GAAK,GACnCJ,EAAY1J,EAAG9xB,KAErB,IAAIq0B,GAAQ,EACRsH,GAAU7J,EAAG+J,WAAUxH,GAAQ,GAC/BuH,EAAK,GAAK9J,EAAGgK,aAAYzH,GAAQ,GACjCA,GAAuB,cAAdmH,EACXE,GAAa13B,KAAK2D,IACD,IAAf2Z,KAAKoT,QACY,GAAjBpT,KAAKsR,UAAiB,IAGvByB,GAAuB,cAAdmH,GACI,oBAAdA,EAEAE,GAAa13B,KAAK2D,IAAmB,IAAf2Z,KAAKoT,QAAiC,GAAjBpT,KAAKsR,UAAiB,GACxDyB,GAAuB,cAAdmH,EAClBE,GAAa13B,KAAK2D,IACD,IAAf2Z,KAAKoT,QACY,GAAjBpT,KAAKsR,UAAiB,IAEfyB,GAAuB,cAAdmH,IAClBE,GAAa13B,KAAK2D,IACD,IAAf2Z,KAAKoT,QACY,GAAjBpT,KAAKsR,UAAiB,MAMhC/lB,EAAE,mBAAmBwK,YACnBtd,SAASqgB,eAAesL,GAA4BgW,UAEjD7uB,EAAE,iBAAiBnJ,MAAMqV,QAAU,OAsdtCgjB,GACyB,OAAhB7W,GAnDf,WACErY,EAAE,WAAWoM,UAAY,GACzBpM,EAAE,WAAWwK,YAAY0gB,GAAoB,YAE7C,MAAMiE,EAAiBjiC,SAAS4D,cAAc,OAC9Cq+B,EAAe7M,GAAK,mBACA,WAAhBhK,GACF6W,EAAel9B,YAAc4mB,GAA4BwF,IAChC,eAAhB/F,KACT6W,EAAel9B,YAAc4mB,GAA4B0F,GAAsB,KAGjFve,EAAE,WAAWwK,YAAY2kB,GAwCrBC,IAEgB,QAAhB/W,IACiB,QAAhBA,KAA6C,IAApBC,GAAY,KA5c5C,WACE,GAAkC,IAA9BhE,EAAU+a,gBAAuB,CACnC,MAAM/C,EAAatsB,EAAE,mBACrB,IAAIsvB,EACuBA,EAAP,QAAhBjX,GAA+BC,GAAY,GAClCA,GAGbgU,EAAW9hB,YAAY0gB,GAAoB,0BAC3C,MAAMqE,EAAOriC,SAAS4D,cAAc,OAEpC,GADAy+B,EAAKjN,GAAK,6BACkB,IAAxBlC,GAAUkP,GAAO,GAAU,CAC7BC,EAAKt9B,YAAc4mB,GAA4BuH,GAAUkP,GAAO,IAChE,MAAM5C,EAAWv1B,KAAKC,MACnBgpB,GAAUkP,GAAO,GAAK7a,KAAKsR,UAAa,KAEvCzM,OAAOC,SAASmT,IAA0B,IAAbA,EAC/B6C,EAAKt9B,aAAe,KAAKy6B,EAAW,kBAEpC6C,EAAKt9B,aAAe,OAClBqiB,EAAUoF,eAAiB,IAAM,yBAGhC6V,EAAKt9B,YAAc,mBAC1Bq6B,EAAW9hB,YAAY+kB,GAEvBjD,EAAW9hB,YAAY0gB,GAAoB,0BAC3C,MAAMsE,EAAOtiC,SAAS4D,cAAc,OAEpC,GADA0+B,EAAKlN,GAAK,6BACkB,IAAxBlC,GAAUkP,GAAO,GAAU,CAC7BE,EAAKv9B,YAAc4mB,GAA4BuH,GAAUkP,GAAO,IAChE,MAAM5C,EAAWv1B,KAAKC,MACnBgpB,GAAUkP,GAAO,GAAK7a,KAAKsR,UAAa,KAEvCzM,OAAOC,SAASmT,IAA0B,IAAbA,EAC/B8C,EAAKv9B,aAAe,KAAKy6B,EAAW,kBAEpC8C,EAAKv9B,aAAe,OAClBqiB,EAAUoF,eAAiB,IAAM,yBAGhC8V,EAAKv9B,YAAc,mBAC1Bq6B,EAAW9hB,YAAYglB,GAEvBlD,EAAW9hB,YAAY0gB,GAAoB,0BAC3C,MAAMuE,EAAOviC,SAAS4D,cAAc,OAEpC,GADA2+B,EAAKnN,GAAK,6BACkB,IAAxBlC,GAAUkP,GAAO,GAAU,CAC7BG,EAAKx9B,YAAc4mB,GAA4BuH,GAAUkP,GAAO,IAChE,MAAM5C,EAAWv1B,KAAKC,MACnBgpB,GAAUkP,GAAO,GAAK7a,KAAKsR,UAAa,KAEvCzM,OAAOC,SAASmT,IAA0B,IAAbA,EAC/B+C,EAAKx9B,aAAe,KAAKy6B,EAAW,kBAEpC+C,EAAKx9B,aAAe,OAClBqiB,EAAUoF,eAAiB,IAAM,yBAGhC+V,EAAKx9B,YAAc,mBAC1Bq6B,EAAW9hB,YAAYilB,GAEvBzvB,EAAE,iBAAiBwK,YAAY8hB,QAC1BtsB,EAAE,iBAAiBnJ,MAAMqV,QAAU,OA+YtCwjB,GA/LN,WACE,GAAoB,MAAhBrX,IAAuC,MAAhBA,GAAqB,CACgB,OAA1DnrB,SAASyiC,eAAe,gCAC1B3vB,EAAE,iBAAiBwK,YAnuBzB,WACE,MAAMolB,EAAc1iC,SAAS4D,cAAc,OAC3C8+B,EAAY/4B,MAAMgI,SAAW,WAC7B+wB,EAAY/4B,MAAMqV,QAAU,QAC5B0jB,EAAY/4B,MAAMqC,KAAO,OACzB02B,EAAY/4B,MAAMkW,OAAS,OAC3B6iB,EAAYtN,GAAK,6BAEjB,MAAMuN,EAAS,SACbC,EACAtzB,EACAuzB,EACAC,EACAC,GAEA,MAAMtnB,EAAMzb,SAAS4D,cAAc,OACnC6X,EAAI2Z,GAAKwN,EACTnnB,EAAI9R,MAAMqV,QAAU,OACpBvD,EAAI9R,MAAMq5B,WAAa,wBACvBvnB,EAAItZ,UAnuDgB,WAmuDcmN,EAClCmM,EAAI9R,MAAMwK,QAAU,MACpBsH,EAAI9R,MAAMqB,WAAa,8BACvB,MAAMi4B,EAAWjjC,SAAS4D,cAAc,OACxC6X,EAAI6B,YAAY2lB,GAChB,MAAMC,EAAYljC,SAAS4D,cAAc,QACzCs/B,EAAU/gC,UAAY+mB,EAAgB5Z,EACtC4zB,EAAUv5B,MAAMs0B,WAAa,OAC7BiF,EAAUn+B,YAAc89B,EACxBI,EAAS3lB,YAAY4lB,GACrBD,EAAS3lB,YAAYtd,SAASqgB,eAAeyiB,IAC7C,MAAMK,EAAanjC,SAAS4D,cAAc,OAC1C6X,EAAI6B,YAAY6lB,GAChB,MAAMC,EAAcpjC,SAAS4D,cAAc,QAI3C,OAHAw/B,EAAYhO,GAAK2N,EACjBI,EAAW7lB,YAAYtd,SAASqgB,eAAe,cAC/C8iB,EAAW7lB,YAAY8lB,GAChB3nB,GA+DT,OA5DAinB,EAAYplB,YACVqlB,EACE,yBACAnZ,EACA,YACA,uFACA,+BAGJkZ,EAAYn+B,WAAWoF,MAAM00B,aAAe,MAC5CqE,EAAYplB,YACVqlB,EACE,+BACArZ,EACA,YACA,gGACA,qCAGJoZ,EAAYxI,UAAUvwB,MAAM00B,aAAe,MAC3CqE,EAAYplB,YACVqlB,EACE,2BACAlZ,EACA,YACA,oGACA,iCAGJiZ,EAAYxI,UAAUvwB,MAAM00B,aAAe,MAC3CqE,EAAYplB,YACVqlB,EACE,iCACAlZ,EACA,YACA,6GACA,uCAGJiZ,EAAYxI,UAAUvwB,MAAM00B,aAAe,MAC3CqE,EAAYplB,YACVqlB,EACE,2BACAlZ,EACA,YACA,qJACA,iCAGJiZ,EAAYxI,UAAUvwB,MAAM00B,aAAe,MAC3CqE,EAAYplB,YACVqlB,EACE,wBACAnZ,EACA,YACA,2EAA2EpC,EAAUic,8BACrF,8BAIGX,EAgoB4BY,IAC/BrE,MAG4B,IAA1B7X,EAAU8X,YACZpsB,EAAE,8BAA8BnJ,MAAMkI,MAAQ,MAE9CiB,EAAE,8BAA8BnJ,MAAMsC,IAAM,GAC1C6G,EAAE,WAAWxG,iBAGjBwG,EAAE,8BAA8BnJ,MAAMkG,MACpCiD,EAAE,WAAWzG,YAAc,EADiB,KAI9C,MAAM4pB,EAAS1O,KAAKoT,QAAU3B,KAAuB/N,GAC/CsY,EAAkBnc,EAAUoc,YAActY,GAAqB,EACrE,IAAIuY,EAAa3T,GACjB,GAA8B,IAA1B1I,EAAUoc,YAAmB,CAC/B,IAAIE,EAAcxY,GAClBwY,GAAe5E,KACf2E,GAA6B,GAAdC,EAAmB,GAAM,IAc1C,GAXgC,IAA5Btc,EAAUuc,eACR1N,EAASwN,IAA+B,MAAhBtY,IAAwC,IAAjB5D,KAAKqP,UACtD9jB,EAAE,0BAA0BnJ,MAAMqV,QAAU,GAC5ClM,EAAE,8BAA8B/N,YAAc,GAAG4mB,GAC/C8X,EAAaxN,OACTlJ,IACH0W,EAAaxN,IAAWyC,KAAW6K,QAGnCzwB,EAAE,0BAA0BnJ,MAAMqV,QAAU,OAEb,IAAlCoI,EAAUwc,oBAA2B,CACvC,MAAMC,EAAgC,EAAbJ,EAEvBxN,EAAS4N,IACQ,MAAhB1Y,IAAwC,IAAjB5D,KAAKqP,UAE7B9jB,EAAE,gCAAgCnJ,MAAMqV,QAAU,GAClDlM,EAAE,oCAAoC/N,YAAc,GAAG4mB,GACrDkY,EAAmB5N,OACflJ,IACH8W,EAAmB5N,IAAWyC,KAAW6K,QAEvCzwB,EAAE,gCAAgCnJ,MAAMqV,QAAU,YACpDlM,EAAE,gCAAgCnJ,MAAMqV,QAAU,OAEzD,GAAkC,IAA9BoI,EAAU0c,gBAAuB,CACnC,MAAMC,EAA4B,EAAbN,EAEnBxN,EAAS8N,IACQ,MAAhB5Y,IAAwC,IAAjB5D,KAAKqP,UAE7B9jB,EAAE,4BAA4BnJ,MAAMqV,QAAU,GAC9ClM,EAAE,gCAAgC/N,YAAc,GAAG4mB,GACjDoY,EAAe9N,OACXlJ,IACHgX,EAAe9N,IAAWyC,KAAW6K,QAEnCzwB,EAAE,4BAA4BnJ,MAAMqV,QAAU,YAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,OAErD,GAAwC,IAApCoI,EAAU4c,sBAA6B,CACzC,MAAMC,EAAkC,EAAbR,EAAiB,EAE1CxN,EAASgO,IACQ,MAAhB9Y,IAAwC,IAAjB5D,KAAKqP,UAE7B9jB,EAAE,kCAAkCnJ,MAAMqV,QAAU,GACpDlM,EAAE,sCAAsC/N,YAAc,GAAG4mB,GACvDsY,EAAqBhO,OACjBlJ,IACHkX,EAAqBhO,IAAWyC,KAAW6K,QAEzCzwB,EAAE,kCAAkCnJ,MAAMqV,QAAU,YACtDlM,EAAE,kCAAkCnJ,MAAMqV,QAAU,OAG3B,IAA9BoI,EAAU8c,iBACV3c,KAAK0N,QAAQ,gBAAgBU,gBAG3BrF,IACA2F,EAAS3F,KACQ,MAAhBnF,IAAwC,IAAjB5D,KAAKqP,UAE7B9jB,EAAE,4BAA4BnJ,MAAMqV,QAAU,GAC9ClM,EAAE,gCAAgC/N,YAAc,GAAG4mB,GACjD2E,GAAe2F,OACXlJ,IACHuD,GAAe2F,IAAWyC,KAAW6K,QAGrCzwB,EAAE,4BAA4BnJ,MAAMqV,QAAU,OAEjDoI,EAAUic,aAAe,GAEzBpN,EAAS7O,EAAUic,aAAe3K,OACjB,MAAhBvN,IAAwC,IAAjB5D,KAAKqP,UAE7B9jB,EAAE,yBAAyBnJ,MAAMqV,QAAU,GAE3ClM,EACE,yBACAqxB,SAAS,GAAGp/B,YAAc,2EAA2EqiB,EAAUic,8BACjHvwB,EAAE,6BAA6B/N,YAAc,GAAG4mB,GAC9CvE,EAAUic,aAAe3K,KAAWzC,OAChClJ,IACH3F,EAAUic,aAAe3K,KAAWzC,IAClCyC,KAAW6K,QAGbzwB,EAAE,yBAAyBnJ,MAAMqV,QAAU,YACL,OAApClM,EAAE,+BACXA,EAAE,8BAA8B9J,SAyEhCo7B,QACgC,OAAvBtxB,EAAE,kBAE6B,OAApCA,EAAE,+BACJA,EAAE,8BAA8B9J,SA0FtC,SAASq7B,KAEP,GACE9c,KAAK+c,MAAMC,UACXhd,KAAKid,MAAQ,IAAO,GACJ,UAAhBjd,KAAKkd,QACLrd,EAAUsd,MACV,CACA,MAAM/K,EAAQ35B,SAASyiC,eAAe,wBAClC9I,IACFA,EAAMgL,UAAYpd,KAAKqd,QACV,GAAXrd,KAAKsX,IAAYtX,KAAKsd,GAAgB,GAAXtd,KAAKsX,KAChC,IA6BN,GAvBAlI,KACAU,KA3hDF,WACE,GAA2B,IAAvBjQ,EAAU4T,SAAgB,CAE5B,MAAM8J,EAAiBhyB,EAAE,cAAczG,YAAc,IAE/C04B,EAAiBjyB,EAAE,cAAczG,YAAc,IACrD,IAAI24B,EAAiB,EAIkB,IAArCzd,KAAK0d,aAAaC,OAAOC,SACxB5d,KAAK6d,IAAI,uBA+CLtyB,EAAE,gBAAgBnJ,MAAMqV,QAAU,QA7CvClM,EAAE,gBAAgBnJ,MAAMqV,QAAU,GAClClM,EAAE,sBAAsBnJ,MAAMkG,MAAQ,GAAG5F,KAAKC,MAC3CD,KAAK6D,IACJ,EACAyZ,KAAK0d,aAAaC,OAAOG,QAAU9d,KAAK0d,aAAaC,OAAOlY,MAE5D8X,EACAvd,KAAK0d,aAAaC,OAAOI,aAEzBle,EAAUme,iBAAmB,EAC/BzyB,EAAE,sBAAsB/N,YAAckF,KAAKoL,MACxCkS,KAAK0d,aAAaC,OAAOG,QAAU9d,KAAK0d,aAAaC,OAAOlY,MAC3DzF,KAAKsX,KAEN/rB,EAAE,sBAAsB/N,YAAc,GAEzCwiB,KAAK0d,aAAaC,OAAOG,UAAY9d,KAAK0d,aAAaC,OAAOI,SAE9DxyB,EAAE,sBAAsBnJ,MAAM8vB,qBAAuB,OACrD3mB,EAAE,sBAAsBnJ,MAAM+vB,wBAA0B,SAExD5mB,EAAE,sBAAsBnJ,MAAM8vB,qBAAuB,GACrD3mB,EAAE,sBAAsBnJ,MAAM+vB,wBAA0B,IAE1D5mB,EAAE,mBAAmBnJ,MAAMkG,MAAQ,GAAG5F,KAAKC,MACxCD,KAAK2D,IACJ2Z,KAAK0d,aAAaC,OAAOI,QAAU/d,KAAK0d,aAAaC,OAAOG,QAC5D9d,KAAK0d,aAAaC,OAAOI,QAAU/d,KAAK0d,aAAaC,OAAOlY,MAE5D8X,EACAvd,KAAK0d,aAAaC,OAAOI,aAEzBle,EAAUme,iBAAmB,EAC/BzyB,EAAE,mBAAmB/N,YAAckF,KAAKoL,KACtCpL,KAAK2D,IACH2Z,KAAK0d,aAAaC,OAAOI,QAAU/d,KAAK0d,aAAaC,OAAOG,QAC5D9d,KAAK0d,aAAaC,OAAOI,QAAU/d,KAAK0d,aAAaC,OAAOlY,MAC1DzF,KAAKsX,KAER/rB,EAAE,mBAAmB/N,YAAc,GACxC+N,EAAE,oBAAoB/N,YAAckF,KAAKoL,MACtCkS,KAAK0d,aAAaC,OAAOI,QAAU/d,KAAK0d,aAAaC,OAAOlY,MAC3DzF,KAAKsX,KAETmG,GAAkB,GAKF,cAAhBzd,KAAKie,QACkC,IAAvCje,KAAK0d,aAAaQ,SAASN,SAE3BryB,EAAE,iBAAiBnJ,MAAMqV,QAAU,GACnClM,EAAE,uBAAuBnJ,MAAMkG,MAAQ,GAAG5F,KAAKC,MAC5CD,KAAK6D,IACJ,EACAyZ,KAAK0d,aAAaQ,SAASJ,QAAU9d,KAAK0d,aAAaQ,SAASzY,MAEhE8X,EACAvd,KAAK0d,aAAaQ,SAASH,aAE3Ble,EAAUme,iBAAmB,EAC/BzyB,EAAE,uBAAuB/N,YAAckF,KAAKoL,MACzCkS,KAAK0d,aAAaQ,SAASJ,QAC1B9d,KAAK0d,aAAaQ,SAASzY,MAC3BzF,KAAKsX,KAEN/rB,EAAE,uBAAuB/N,YAAc,GAC5C+N,EAAE,oBAAoBnJ,MAAMkG,MAAQ,GAAG5F,KAAKC,MACzCD,KAAK2D,IACJ2Z,KAAK0d,aAAaQ,SAASH,QACzB/d,KAAK0d,aAAaQ,SAASJ,QAC7B9d,KAAK0d,aAAaQ,SAASH,QAAU/d,KAAK0d,aAAaQ,SAASzY,MAEhE8X,EACAvd,KAAK0d,aAAaQ,SAASH,aAE3Ble,EAAUme,iBAAmB,EAC/BzyB,EAAE,oBAAoB/N,YAAckF,KAAKoL,KACvCpL,KAAK2D,IACH2Z,KAAK0d,aAAaQ,SAASH,QACzB/d,KAAK0d,aAAaQ,SAASJ,QAC7B9d,KAAK0d,aAAaQ,SAASH,QACzB/d,KAAK0d,aAAaQ,SAASzY,MAC3BzF,KAAKsX,KAER/rB,EAAE,oBAAoB/N,YAAc,GACzC+N,EAAE,qBAAqB/N,YAAckF,KAAKoL,MACvCkS,KAAK0d,aAAaQ,SAASH,QAAU/d,KAAK0d,aAAaQ,SAASzY,MAC/DzF,KAAKsX,KAETmG,GAAkB,GAElBlyB,EAAE,iBAAiBnJ,MAAMqV,QAAU,OAIrC,MAAM0mB,EAAgB,GACtB5yB,EAAE,wBAAwBoM,UAAY,GACtCha,OAAO6C,KAAKwf,KAAKwX,OAAOjI,SAASp1B,IAC/B,GAAI6lB,KAAKwX,MAAMr9B,GAAI,CACjB,MAAMi4B,EAAQV,GAAY1R,KAAKwX,MAAMr9B,GAAGuE,KAAMshB,KAAKwX,MAAMr9B,GAAGuE,KAAM,CAChE,CAAEmvB,GAAI,GAAG7N,KAAKwX,MAAMr9B,GAAGuE,aAEzB0zB,EAAMhwB,MAAMqV,QAAU,GACtB,IAAI2mB,EAAc,GAGhBA,OAD6C,IAApCjb,EAAYnD,KAAKwX,MAAMr9B,GAAGuE,MACrBykB,EAAYnD,KAAKwX,MAAMr9B,GAAGuE,MACrBwjB,EACrBkQ,EAAMO,UAAUiK,SAAS,GAAGhiC,UAAYgnB,EAAgBwc,EACxDhM,EAAMO,UAAUiK,SAAS,GAAGx6B,MAAM2F,MAAQ,QACR,IAA9B8X,EAAUme,gBACZ5L,EAAMO,UAAUiK,SAAS,GAAGp/B,YAAc,GAAGkF,KAAKC,MACzCqd,KAAKwX,MAAMr9B,GAAGsrB,KAAOzF,KAAKwX,MAAMr9B,GAAG4jC,QAA1C,QAEC3L,EAAMO,UAAUiK,SAAS,GAAGp/B,YAAc,GAC/C40B,EAAMO,UAAUiK,SAAS,GAAGx6B,MAAMkG,MAAQ,GAAG5F,KAAKC,MAC/Cqd,KAAKwX,MAAMr9B,GAAGsrB,MACZ+X,EAC8D,EAA7D96B,KAAKoL,KAAKkS,KAAKwX,MAAMr9B,GAAGsrB,KAAOzF,KAAKsX,KAAK10B,WAAWxI,QACtD4lB,KAAKwX,MAAMr9B,GAAG4jC,aAElB3L,EAAMO,UAAUiK,SAAS,GAAGp/B,YAAckF,KAAKoL,KAC7CkS,KAAKwX,MAAMr9B,GAAGsrB,KAAOzF,KAAKsX,KAE5BmG,GAAkB,EAClBU,EAAcne,KAAKwX,MAAMr9B,GAAGuE,MAAQ0zB,MAGxCz0B,OAAO6C,KAAK29B,GAAe5O,SAASp1B,IAClCoR,EAAE,wBAAwBwK,YAAYooB,EAAchkC,OAG/B,IAAnBsjC,IACFlyB,EAAE,cAAcnJ,MAAMmG,OAA6B,GAAjBk1B,EAAsB,EAAzB,MAE7BzZ,KAAuByZ,IACzBzZ,GAAqByZ,EACrBjK,OAs4CJ6K,GAGAxL,KAGA+E,KAtGF,WACE,GAA+B,IAA3B/X,EAAUye,cAA8C,IAAxB3b,EAA2B,CAE7D,IAAI4b,GAAiB,EACrB5gC,OAAO6C,KAAKwf,KAAKwR,WAAWjC,SAASp1B,IACnC,MAAMq2B,EAAKxQ,KAAKwR,UAAUr3B,GAC1B,GAAIq2B,EAAGgO,MAAQ,GAAKhO,EAAGiO,UAErB,GADAF,GAAiB,EAEkB,IAAjC1b,EAA0B1oB,SACOI,IAAjCsoB,EAA0B1oB,GAC1B,CACA,MAAMukC,EAAcjmC,SAAS4D,cAAc,OACrCsiC,EAAWlmC,SAAS4D,cAAc,OACxCsiC,EAASv8B,MAAMw8B,SAAW,QAC1BD,EAASv8B,MAAM00B,aAAe,MAC9B,MAAMlG,EAAMn4B,SAAS4D,cAAc,OACnCu0B,EAAIxuB,MAAMuW,UAAY,SACtBiY,EAAI/C,GAAK,oBACT8Q,EAAS5oB,YAAY6a,GACrB8N,EAAY3oB,YAAY4oB,GACxB3e,KAAK4W,QAAQjlB,KAAK9Y,KAAMgmC,OAAOH,EAAY/mB,YAC3CiL,EAAkBzoB,EAClB0oB,EAA0B1oB,GAAK,QAGjC0oB,EAA0B1oB,GAAK,KAG9BokC,GACHve,KAAK4W,QAAQzlB,QA2EjB2tB,GAjEF,WACE,GAA+B,IAA3Bjf,EAAUye,cAAiD,OAA3B/yB,EAAE,qBAA+B,CACnE,IAAIwzB,OAAEA,GAAW/e,KAAKwR,UAAU5O,GAC5Boc,EAAS,IAKb,GAJIhf,KAAK6d,IAAI,6BAA4BmB,GAAU,MACN,IAAzChf,KAAKwR,UAAU5O,GAAiBpoB,OAAYwkC,GAAU,GAC1DD,GAAUC,EACNhf,KAAK6d,IAAI,mBAAkBkB,GAAU,MACrCzS,GAAWkB,OAAOY,eAAgB,CACpC,MAAMC,EAASrO,KAAKuN,OAAO,SACZ,IAAXc,EAAc0Q,GAAU,KACR,IAAX1Q,EAAc0Q,GAAU,IACb,IAAX1Q,IAAc0Q,GAAU,MAEnCxzB,EAAE,qBAAqB/N,YAAc4mB,GAA4B2a,IAoDnEE,GAl4CEpf,EAAUqf,SACM,UAAhBlf,KAAKkd,SACJld,KAAKid,MAAQ,IAAiB,EAAXjd,KAAKsX,MAAa,IACrCtX,KAAKid,MAAQ,GAAKjd,KAAKsX,KAAQ,GAEhCtX,KAAKmf,aAm4CPrf,IAGID,EAAU8E,MAAO,CACnB,IAAIppB,EAAMgQ,EAAE,WAAWoM,UAAU5W,QAC/B,cACAqjB,GAA4BpE,KAAKoT,UAE/BpT,KAAK+c,MAAMqC,YAAW7jC,EAAM,2BAA2BA,YAC3DgQ,EAAE,WAAWoM,UAAYpc,GAO7B,SAAS8jC,KAEPtZ,GAA8BuZ,UAAUtf,KAAKuf,kBAgB/C,MAAMC,GACJC,YAAYC,GACV7mC,KAAK6mC,UAAYA,EACjB7mC,KAAK8mC,MAAQ,GAGfF,UAAUG,GACJ/mC,KAAK8mC,MAAM1jC,KAAK2jC,GAAY/mC,KAAK6mC,WACnC7mC,KAAK8mC,MAAM7gB,QASf2gB,YAAYI,GACV,IAAIpa,EAAOoa,EACPpa,EAAO5sB,KAAK6mC,YAAWja,EAAO5sB,KAAK6mC,WACnCja,EAAO5sB,KAAK8mC,MAAMvlC,SAAQqrB,EAAO5sB,KAAK8mC,MAAMvlC,QAChD,IAAI0M,EAAM,EACV,IACE,IAAI3M,EAAItB,KAAK8mC,MAAMvlC,OAAS,EAC5BD,GAAK,GAAKA,EAAItB,KAAK8mC,MAAMvlC,OAAS,EAAIqrB,EACtCtrB,IAEA2M,GAAOjO,KAAK8mC,MAAMxlC,GAEpB,OAAY,IAAR2M,EACK,EAEFA,EAAM2e,EAGfga,QAAQI,GACN,IAAIpa,EAAOoa,EAGX,OAFIpa,EAAO5sB,KAAK6mC,YAAWja,EAAO5sB,KAAK6mC,WACnCja,EAAO5sB,KAAK8mC,MAAMvlC,SAAQqrB,EAAO5sB,KAAK8mC,MAAMvlC,QACnC,IAATqrB,EAAmB,EAChB5sB,KAAK8mC,MAAMzhB,OAAOuH,GAAMqa,QAAO,CAAC98B,EAAGP,IAAMO,EAAIP,GAAG,IA+B3D,SAASs9B,KACP,MAAMC,EAAWt9B,KAAKkE,MAAMq5B,KAAKC,MAAQ,KAEzC,GAAKlgB,KAAKsd,EAAItd,KAAKsX,IAAO,GAAM,EAAG,CACjC,IAAI6I,EAAcngB,KAAKoT,QAAU1H,GAC7B1L,KAAKuR,UAAY,IAAG4O,GAAevW,IACvCsB,GAAyBxoB,KAAK6D,IAAIyZ,KAAKogB,cAAeD,GACtDA,GAAe,IAGf,MAAME,EAAWL,EAAW1Z,GACtBga,EAAc59B,KAAK6D,IAAI,EAAGyZ,KAAKoT,QAAU7M,IAAoB8Z,EAC7DE,EACJ79B,KAAK6D,IAAI,EAAGqjB,GAAsBpD,IAAyB6Z,EACvDG,EACJ99B,KAAK6D,IAAI,EAAGujB,GAAsB,GAAKrD,IACvC4Z,EACII,EAAgB/9B,KAAK6D,IAAI,EAAG45B,EAAc3W,IAAmB6W,EAC7DK,GAAiB1gB,KAAK2gB,aAAeja,IAAmB2Z,EAC9D,IAAK,IAAIlmC,EAAI,EAAGA,EAAIkmC,EAAUlmC,IAC5B6rB,GAAYsZ,UAAUgB,GACtBra,GAAUqZ,UAAUiB,GACpBra,GAAiBoZ,UAAUkB,GAC3Bra,GAAWmZ,UAAUmB,GACrBra,GAAWkZ,UAAUoB,GAIvBpa,GAAoB0Z,EACpBzZ,GAAmBvG,KAAKoT,QACxB5M,GAAwBoD,GACxBnD,GAA+BqD,GAAsB,GACrDN,GAAkB2W,EAClBzZ,GAAkB1G,KAAK2gB,aAGvB,MAAMC,EAAY3d,EAAYpD,EAAUghB,YACxCla,GAAuBX,GAAY8a,YAAYF,GAC/Cha,GAAwBX,GAAU6a,YAAYF,GAC9C/Z,GAA+BX,GAAiB4a,YAAYF,GAC5D9Z,GAAyBX,GAAW2a,YAAYF,GAChD7Z,GAAkBJ,GACU,IAAxB9G,EAAUwR,YAAiBtK,IAAmBH,IACtB,IAAxB/G,EAAUwR,YACZtK,IAAmBF,IAErB,MAAMka,EACJ/gB,KAAKghB,YAAY,mBAAqBhhB,KAAK6d,IAAI,iBAG/C1S,GADE4V,GAAkC,IAAxBlhB,EAAUwR,UAEpB1K,GACAC,IACCma,EAASja,GAAyB,GACRC,GAE/BmD,GAAqB9D,GAAW0a,YAC9B5d,EAAWrD,EAAUohB,iBAkB3B,SAASC,GAAW1Q,EAAIxC,GACtB,IAAIjmB,EAAQ,GAmBZ,OAjBsCA,EAAlCyoB,EAAG/kB,IAAM,GAAK+kB,EAAG/kB,KAAOiZ,IAAkBvC,EACrCqO,EAAG/kB,GAAK8f,GAAoB1J,EAC5B2O,EAAG/kB,KAAO8f,GAAoBzJ,EAC9B0O,EAAG/kB,GAAK+f,GAAa,IAAI,GAAYzJ,EACrCyO,EAAG/kB,GAAK+f,GAAa,IAAI,GAAYxJ,EACrCwO,EAAG/kB,GAAK+f,GAAa,IAAI,GAAYvJ,EACjCC,EAGiC,IAA1C2C,OAAOhF,EAAUshB,sBACfnT,EAAQmD,KAAWtM,OAAOhF,EAAUshB,uBACtCp5B,EAAQ8Z,GAGRhC,EAAUuhB,uBACRpT,EAAQhO,KAAKoT,QAAU,IAAGrrB,EAAQka,GAEjCla,EAiBT,SAASs5B,GAAY7hC,EAAQkvB,GAC3B/wB,OAAO6C,KAAKhB,GAAQ+vB,SAASp1B,IAC3B,GAAI0lB,EAAUyhB,eAA4B,IAAX5S,EAC7BlvB,EAAOrF,GAAG4N,MAAQoa,MADpB,CAIA3iB,EAAOrF,GAAG4N,MAAQm5B,GAChB1hC,EAAOrF,GACP6lB,KAAK0N,QAAQvzB,GAAGonC,YAAY7S,IAG9B,IAAK,IAAIgC,EAAI,EAAGA,EAAI7Q,EAAU2hB,aAAc9Q,IACtClxB,EAAOrF,GAAGsR,KAAO+f,GAAakF,GAAG,KAAIlxB,EAAOrF,GAAG4N,MAAQoa,OAKjE,SAASsf,GAAQjiC,EAAQkvB,GACvB/wB,OAAO6C,KAAKhB,GAAQ+vB,SAASp1B,IAC3B,MAAM6zB,EAAQhO,KAAK0N,QAAQvzB,GAAGonC,YAAY7S,GACtC1O,KAAKsR,UACP9xB,EAAOrF,GAAGsR,GACR/I,KAAK6D,IAAIynB,GAAShO,KAAKoT,QAAU3B,MAAuB,GACtDzR,KAAKsR,UACPtD,EAAQxuB,EAAOrF,GAAGq4B,MACfhzB,EAAOrF,GAAGsR,GAAKuiB,EAAQxuB,EAAOrF,GAAGq4B,MAClC3S,EAAUyhB,eAA4B,IAAX5S,GAC/BlD,GAAavvB,KAAK,CAACuD,EAAOrF,GAAGsR,GAAIijB,OA8EvC,SAASgT,MAtET,WACEnW,GAAa7G,IACb8G,GAAe,QACuB,IAA3B3L,EAAU2hB,eAA8B3hB,EAAU2hB,aAAe,GAG5EC,GAAQhY,GAAe,GACvBgY,GAAQ/X,GAAgB,IACxB+X,GAAQ9X,GAAiB,KAGzB6B,GAAaoE,MAAK,CAAC5sB,EAAGP,IAAMO,EAAE,GAAKP,EAAE,KACrC,IAAIk/B,EAAa,EACjB,GAAI9hB,EAAUuhB,sBACZ,KAAO5V,GAAamW,GAAY,GAAK3hB,KAAKoT,UACxCuO,GAAc,EACVnW,GAAapxB,SAAWunC,EAAa,KAK7CpW,GAAaC,GAAa3L,EAAU2hB,cAAcG,GAElDN,GAAY5X,GAAe,GAC3B4X,GAAY3X,GAAgB,IAC5B2X,GAAY1X,GAAiB,KA8C7BiY,GAjCAjkC,OAAO6C,KAAKypB,IAAesF,SAASp1B,IAC9B6lB,KAAKsR,UACPrH,GAAc9vB,GAAGsR,GACf/I,KAAK6D,IACHyZ,KAAK4V,SAASz7B,GAAGo+B,YAAcvY,KAAKoT,QAAU3B,MAC9C,GAEAzR,KAAKsR,UACPtR,KAAK4V,SAASz7B,GAAGo+B,WAAatO,GAAc9vB,GAAGq4B,MAEjDvI,GAAc9vB,GAAGsR,GACfuU,KAAK4V,SAASz7B,GAAGo+B,WAAatO,GAAc9vB,GAAGq4B,MAC/C3N,OAAOpJ,MAAMwO,GAAc9vB,GAAGsR,MAAKwe,GAAc9vB,GAAGsR,GAAKiZ,KAE7DuF,GAAc9vB,GAAG4N,MAAQm5B,GACvBjX,GAAc9vB,GACd6lB,KAAK4V,SAASz7B,GAAGo+B,eAiCvB,SAASsJ,GACPtT,EACAC,EACA7kB,EACA8kB,EACAwJ,GAEA,IAAInJ,EAAiBnlB,EACjBolB,EAAO,EACX,IAAK,IAAI50B,EAAI,EAAGA,EAAI89B,EAAU99B,GAAK,EAAG,CACpC,IAAI6zB,EACFQ,EAAYxO,KAAKiP,eAAiBvsB,KAAK6D,IAAI,EAAGuoB,EAAiBL,GACjET,EAAQhO,KAAKkP,oBAAoBX,EAAOP,GACxCA,EAAQtrB,KAAKoL,KAAKkgB,GAClBe,GAAQf,EACRc,GAAkB,EAEpB,OAAOC,EA0CT,SAAS+S,GAAOpV,GACVF,GAAgBE,IACgB,IAA9BF,GAAgBE,GAAM8J,MACxBhK,GAAgBE,GAAM8J,IAAM,EACS,WAAjCxW,KAAKiU,aAAavH,GAAMS,OAAmB5F,IAAwB,IAwB7E,SAASwa,KACP9Z,GAAe,EACf,IAAImM,EAAO,EAEX,MAAM4N,EAAO,GACbrkC,OAAO6C,KAAKwf,KAAK0N,SAAS6B,SAASp1B,IACjC,GAAI6lB,KAAK0N,QAAQvzB,GAAGi0B,gBAAkBpO,KAAK0N,QAAQvzB,GAAGszB,SAASuU,KAAM,CACnE,MAAMC,EAASjiB,KAAK0N,QAAQvzB,GAAGszB,SAASuU,KACxCrkC,OAAO6C,KAAKyhC,GAAQ1S,SAAS2S,IACvBF,EAAKE,GAAKF,EAAKE,IAAOD,EAAOC,GAC5BF,EAAKE,GAAMD,EAAOC,UAI7Bla,GAAUga,EAEiB,IAAvBhiB,KAAKkN,gBACPkH,GAEE,IADA3sB,WAAWggB,IAEXD,GA/EN,WACE,IAAI2a,EAAe,EAWnB,GAVInV,GAAO,0BAAyBmV,GAAgB,KAChDnV,GAAO,2BAA0BmV,GAAgB,IACjDnV,GAAO,qBAAoBmV,GAAgB,KAC3CnV,GAAO,4BAA2BmV,GAAgB,KAClDnV,GAAO,kBAAiBmV,GAAgB,KAE5CA,GAAgB,EAAgC,IAA5B1V,GAAY,cAC5BO,GAAO,iBAAgBmV,GAAgB,MACvCnV,GAAO,kBAAiBmV,GAAgB,MACxCnV,GAAO,kBAAiBmV,GAAgB,MACxCniB,KAAKuN,OAAQ,CACf,MAAMc,EAASf,GAAU,YACV,IAAXe,EAAc8T,GAAgB,GACd,IAAX9T,EAAc8T,GAAgB,GACnB,IAAX9T,IAAc8T,GAAgB,IAEzC,OAAOA,EA8DHC,IAEJhO,GAAQtH,GAAO,OAEXE,GAAO,YAAqC,IAAvBhN,KAAKkN,gBAC5BkH,GAAQ,EAAI,IAAOpU,KAAKqiB,SAE1B1kC,OAAO6C,KAAKwf,KAAKsiB,gBAAgB/S,SAASp1B,IACxC,MAAMq2B,EAAKxQ,KAAKsiB,eAAenoC,GAC3B6yB,GAAOwD,EAAG9xB,QAIY,mBAAb8xB,EAAGqF,MACZzB,GAAQ,EAAuD,IAAnD7H,GAAYiE,EAAG9xB,MAAMm3B,MAAMtJ,GAAYiE,EAAG9xB,OACjD01B,GAAQ,EAAe,IAAX5D,EAAGqF,UAItB7I,GAAO,iCAAgCoH,GAAQ,MAC/CpH,GAAO,0BAAyBoH,GAAQ,MACxCpH,GAAO,sBAAqBoH,GAAQ,MACpCpH,GAAO,iBAAgBoH,GAAQ,MAC/BpH,GAAO,kBAAiBoH,GAAQ,MAEhCpH,GAAO,yBAAwBoH,GAAQ,MACvCpH,GAAO,wBAAuBoH,GAAQ,MACtCpH,GAAO,oBAAmBoH,GAAQ,MAClCpH,GAAO,sBAAqBoH,GAAQ,MACpCpH,GAAO,sBAAqBoH,GAAQ,KAEpCpH,GAAO,kBAAiBoH,GAAQ,MAChCpH,GAAO,kBAAiBoH,GAAQ,MAEhCpH,GAAO,kBAAiBoH,GAAQ,MAGpC,IAAImO,EAAY,EAChB,GAAIjV,GAAW,CACb,IAAIe,EAASf,GAAU,cACR,IAAXe,EAAc+F,GAAQ,KACN,IAAX/F,EAAc+F,GAAQ,IACX,IAAX/F,IAAc+F,GAAQ,MAE/B/F,EAASf,GAAU,QACJ,IAAXe,EACF+F,GACE,EACA,IAAO1xB,KAAK8/B,IAAKnhB,EAAkB,IAAO,MAAiB3e,KAAKiU,GAAK,GACrD,IAAX0X,EACP+F,GACE,EACA,IACE1xB,KAAK8/B,IAAKnhB,EAAkB,IAAO,MAAkB3e,KAAKiU,GAAK,GACjD,IAAX0X,IACP+F,GACE,EACA,IACE1xB,KAAK8/B,IAAKnhB,EAAkB,IAAO,MAAkB3e,KAAKiU,GAAK,IAErE0X,EAASf,GAAU,aACJ,IAAXe,EAAckU,GAAa,IACX,IAAXlU,EAAckU,GAAa,IAChB,IAAXlU,IAAckU,GAAa,KAEpClU,EAASf,GAAU,YACJ,IAAXe,EAAckU,GAAa,IACX,IAAXlU,EAAckU,GAAa,KAChB,IAAXlU,IAAckU,GAAa,MAEpClU,EAASf,GAAU,SACJ,IAAXe,EAAckU,GAAa,IACX,IAAXlU,EAAckU,GAAa,IAChB,IAAXlU,IAAckU,GAAa,KAGlCvV,GAAO,oBAAmBoH,GAAQ,EAA4B,KAAvBpU,KAAKyiB,WAAa,IAE7D,MAAMC,EAAenb,GAAuB,GAC5C,IAAIob,EAAW,EAIf,GAHI3V,GAAO,8BAA6B2V,GAAY,MAEpDA,GAAY,EAAoC,IAAhClW,GAAY,kBACxBa,GAAW,CACb,MAAMe,EAASf,GAAU,UACV,IAAXe,EAAcsU,GAAY,IACV,IAAXtU,EAAcsU,GAAY,KACf,IAAXtU,IAAcsU,GAAY,MAErCA,GAAY7V,GAAO,QAEnB,IAAI8V,EAAU,EAEV5V,GAAO,oBAAmB4V,GAAW,EAAmB,GAAfF,EAAqBC,GAC9D3V,GAAO,oBAAmB4V,GAAW,EAAmB,KAAfF,EAAuBC,GAChE3V,GAAO,sBAAqB4V,GAAW,EAAmB,IAAfF,EAAsBC,GACjE3V,GAAO,sBACT4V,GAAW,EAAmB,KAAfF,EAAuBC,GACpC3V,GAAO,qBAAoB4V,GAAW,EAAmB,GAAfF,EAAqBC,GAC/D3V,GAAO,wBACT4V,GAAW,EAAmB,GAAfF,EAAqBC,GAClC3V,GAAO,wBACT4V,GAAW,EAAmB,GAAfF,EAAqBC,GAClC3V,GAAO,oBAAmB4V,GAAW,EAAmB,GAAfF,EAAqBC,GAC9D3V,GAAO,wBACT4V,GAAW,EAAmB,GAAfF,EAAqBC,GAClC3V,GAAO,+CACT4V,GAAW,EAAmB,KAAfF,EAAuBC,GACpC3V,GAAO,uBACT4V,GAAW,EAAmB,IAAfF,EAAsBC,GACnC3V,GAAO,qBAAoB4V,GAAW,EAAmB,KAAfF,EAAuBC,GACjE3V,GAAO,uBACT4V,GAAW,EAAmB,KAAfF,EAAuBC,GACpC3V,GAAO,mBAAkB4V,GAAW,EAAmB,GAAfF,EAAqBC,GAC7D3V,GAAO,kBAAiB4V,GAAW,EAAmB,IAAfF,EAAsBC,GAEjEhlC,OAAO6C,KAAK8rB,IAAYiD,SAASp1B,IAC/B,MAAMq2B,EAAKlE,GAAWnyB,GACtB,IAAI0oC,EAAYrS,EAAGyE,IAAIzE,GACI,IAAvBxQ,KAAKkN,gBACP2V,IAAc,EAAe,IAAXrS,EAAGsF,OAAgByM,GAEzB,YAAZ/R,EAAG9xB,MACHsuB,GAAO,sDAEP6V,GAAa,EAAI,IAAOH,EAAeC,GACzC1a,IAAgBuI,EAAG9B,OAASmU,KAG1B7V,GAAO,WAAU/E,IAAgB,GAErCmM,GAAQwO,EAER,IAAIE,EAAU,EAad,GAZI9V,GAAO,iBAAgB8V,GAAW,MAClC9V,GAAO,cAAa8V,GAAW,MAC/B9V,GAAO,gBAAe8V,GAAW,MACjC9V,GAAO,eAAc8V,GAAW,MAChC9V,GAAO,eAAc8V,GAAW,MAChC9V,GAAO,iBAAgB8V,GAAW,MAClC9V,GAAO,mBAAkB8V,GAAW,MACpC9V,GAAO,gBAAe8V,GAAW,MACjC9V,GAAO,eAAc8V,GAAW,MAChC9V,GAAO,eAAc8V,GAAW,MAChC9V,GAAO,gBAAe8V,GAAW,MACjC9V,GAAO,eAAc8V,GAAW,MAChC9V,GAAO,eAAgB,CAEzB,IAAI+V,EAC4D,GAA7DrgC,KAAKkE,OAAOya,EAAkBrB,KAAKgjB,WAAa,IAAO,IACxD,GACA,GACA,GACFD,EAAMrgC,KAAK2D,IAAI08B,EAAK,KAEpBzZ,GAAe,EAAiC,IAA5B,GAAK,EAAIyZ,EAAM,MAAQ,GAC3CD,GAAWxZ,GAEb8K,GAAQ0O,EAEJ9V,GAAO,kBAAiBoH,GAAQ,EAAgC,IAA5B1xB,KAAK2D,IAAI,IAAK2Z,KAAKijB,QAG3D7O,GAAQ,EAAI3H,GAAY,oBAExB,MAAMyW,EAAejb,GAAemM,EACpCz2B,OAAO6C,KAAKwf,KAAKmjB,iBAAiB5T,SAASp1B,IACrC+oC,GAAgBljB,KAAKmjB,gBAAgBhpC,GAAGipC,WAC1CtB,GAAO9hB,KAAKmjB,gBAAgBhpC,GAAGuE,SAGnCwpB,GAAkBgb,EAElB,MAAM9lC,EAAEA,GAAM4iB,KAAK0d,aAAaC,OAC1B0F,EAAW5W,GAAY,oBAC7B,IAAK,IAAItyB,EAAI,EAAGA,EAAIiD,EAAGjD,IACrBi6B,GAAQ,EAAe,KAAXiP,EAGd,MAAM3kC,EAAOshB,KAAKsjB,WAAW7oC,cAM7B,GALa,WAATiE,EAAmB01B,GAAQ,IACb,WAAT11B,IAAmB01B,GAAQ,KAEhCpH,GAAO,oBAAmBoH,GAAQ,KAElCpH,GAAO,uBAAwB,CACjC,IAAIuW,EAAmB,IACvB,GAAIvW,GAAO,iBAAkB,CAC3B,MAAMwW,EAAWxjB,KAAKyjB,qBACtB9lC,OAAO6C,KAAKgjC,GAAUjU,SAASp1B,IACzB6yB,GAAOwW,EAASrpC,MAAKopC,GAAoB,OAGjDnP,GAAQmP,EAEV,GAAIvW,GAAO,yBAA0B,CACnC,IAAI0W,EAAW,GACX1W,GAAO,yBAAwB0W,GAAY,IAC/CtP,GAAQ,EAAIsP,EAGV1W,GAAO,uBAAsBoH,GAAQ,KACrCpH,GAAO,wBAAuBoH,GAAQ,GAE1CnM,GAAejI,KAAK2jB,kBAAkB,MAAO1b,IAE7CmM,GAAQmD,KAERtP,IAAgBmM,EASlB,MAAMwP,GAAW,CACf,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,gBAIIC,GAAe,CACnB,gBACA,gBACA,cACA,gBACA,kBACA,kBACA,kBAIIC,GAAgB,CACpB,0BACA,qBACA,mBACA,iBACA,sBACA,gBACA,oBAIIC,GAAa,CACjB,sBACA,wBACA,sBACA,yBACA,wBACA,yBACA,wBAIIC,GAAa,CACjB,qBACA,oBACA,oBACA,yBACA,cACA,WACA,eAkCF,SAASC,GAAavX,GACpB,OAAOF,GAAgBE,GAAQF,GAAgBE,GAAM8J,IAAM,EAe7D,SAAS0N,KACP,IAAIC,EAAW,EACfxmC,OAAO6C,KAAKwf,KAAKoV,kBAAkB7F,SAASp1B,IACtC6yB,GAAOhN,KAAKoV,iBAAiBj7B,MAAKgqC,GAAY,OAE/CF,GAAa,UAAYE,GAAY,GAAGrC,GAAO,UAC/CmC,GAAa,YAAcE,GAAY,IAAIrC,GAAO,WAEvD,IAAIsC,EAAiB,EACjBC,EAAgB,EAChBC,EAAS,EACTC,EAAY,IAChB5mC,OAAO6C,KAAK8rB,IAAYiD,SAASp1B,IAC/BiqC,GAAkB9X,GAAWnyB,GAAGu0B,OAChC6V,EAAY7hC,KAAK2D,IAAIimB,GAAWnyB,GAAGu0B,OAAQ6V,GACtCN,GAAa,kBAEd3X,GAAWnyB,GAAGu0B,OACdhsB,KAAK2D,IAAI,IAAK,IAAM2Z,KAAKwkB,YAAYpqC,OAAS4lB,KAAK0N,QAAQvzB,GAAG0zB,GAAK,MAEnEwW,EAAgB,GAEfJ,GAAa,YAEd3X,GAAWnyB,GAAGu0B,OACmC,IAAhD1O,KAAKwkB,YAAYpqC,OAAS4lB,KAAK0N,QAAQvzB,GAAG0zB,MAE3CyW,EAAS,MAGXC,GAAa,GAAGzC,GAAO,uBACL,IAAlBuC,GAAqBvC,GAAO,iBACjB,IAAXwC,GAAcxC,GAAO,WACrByC,GAAa,KAAKzC,GAAO,cACzByC,GAAa,KAAKzC,GAAO,yBACzByC,GAAa,KAAKzC,GAAO,gBACzByC,GAAa,KAAKzC,GAAO,2BACzByC,GAAa,KAAKzC,GAAO,iBACzByC,GAAa,KAAKzC,GAAO,4BACzByC,GAAa,KAAKzC,GAAO,oBACzByC,GAAa,KAAKzC,GAAO,+BACzByC,GAAa,KAAKzC,GAAO,kBACzByC,GAAa,KAAKzC,GAAO,6BACzByC,GAAa,KAAKzC,GAAO,iBAEzBsC,GAAkB,KAAKtC,GAAO,WAC9BsC,GAAkB,KAAKtC,GAAO,aAC9BsC,GAAkB,KAAMtC,GAAO,YAC/BsC,GAAkB,KAAMtC,GAAO,sBAC/BsC,GAAkB,KAAMtC,GAAO,gBAC/BsC,GAAkB,KAAMtC,GAAO,gBAE/Bza,IAAoB,IAAIya,GAAO,YAC/Bza,IAAoB,IAAIya,GAAO,aAC/Bza,IAAoB,KAAKya,GAAO,YAChCza,IAAoB,KAAKya,GAAO,oBAChCza,IAAoB,KAAKya,GAAO,oBAChCza,IAAoB,KAAKya,GAAO,oCAEhCsC,GAAkB,KAAQ/c,IAAoB,KAAKya,GAAO,YAC1DsC,GAAkB,KAAQ/c,IAAoB,KAChDya,GAAO,qBAELxV,GAAWmY,OAAO/V,OAASpC,GAAWuI,QAAQnG,QAAU,KAC1DoT,GAAO,qBAET,IAAI4C,GAAkB,EACtB/mC,OAAO6C,KAAKqjC,IAActU,SAASp1B,IAC5B6yB,GAAO6W,GAAa1pC,MAAKuqC,GAAkB,MAE9CA,GAAiB5C,GAAO,kBAE5B,IAAI6C,GAAmB,EAMvB,GALAhnC,OAAO6C,KAAKsjC,IAAevU,SAASp1B,IAC7B6yB,GAAO8W,GAAc3pC,MAAKwqC,GAAmB,MAEhDA,GAAkB7C,GAAO,eAEzB9U,GAAO,mBAAoB,CAC7B,MAAM4X,EAAO5kB,KAAKsU,MAAMnG,QAAQqV,SAChC,IAAIqB,EAAW,EACflnC,OAAO6C,KAAKokC,GAAMrV,SAASp1B,IACrB6yB,GAAO4X,EAAKzqC,GAAGuE,QAAOmmC,GAAY,MAEpCA,GAAYD,EAAKxqC,QAAQ0nC,GAAO,cA6OxC,SAASgD,GAAoBpW,GAC3B,MAAMqW,EAAS,GAQf,OAPApnC,OAAO6C,KAAKwf,KAAK0N,SAAS6B,SAASp1B,IACjC4qC,EAAO5qC,GAAK,GACZ4qC,EAAO5qC,GAAGq4B,MA/Nd,SAAiCzE,EAAUW,GACzCsH,KACA1J,GAAWyB,GAAUW,QAAUA,EAC/B,MAAM8B,EAAKlE,GAAWyB,GAEL,WAAbA,GACEyC,EAAG9B,QAAU,GAAGoT,GAAO,SACvBtR,EAAG9B,QAAU,GAAGoT,GAAO,gBACvBtR,EAAG9B,QAAU,IAAIoT,GAAO,eACxBtR,EAAG9B,QAAU,KAAKoT,GAAO,mBACzBtR,EAAG9B,QAAU,KAAKoT,GAAO,eACzBtR,EAAG9B,QAAU,KAAKoT,GAAO,uBACzBtR,EAAG9B,QAAU,KAAKoT,GAAO,SACzBtR,EAAG9B,QAAU,KAAKoT,GAAO,kCACzBtR,EAAG9B,QAAU,KAAKoT,GAAO,iCACzBtR,EAAG9B,QAAU,KAAKoT,GAAO,wBACzBtR,EAAG9B,QAAU,KAAKoT,GAAO,yBAE7BnkC,OAAO6C,KAAKwf,KAAK0N,QAAQ8C,EAAG9xB,MAAMsmC,eAAezV,SAASmB,IAEtDF,EAAG9B,QACH1O,KAAKsU,MAAMtU,KAAK0N,QAAQ8C,EAAG9xB,MAAMsmC,cAActU,GAAGtD,MAAM6X,cAExDnD,GAAO9hB,KAAK0N,QAAQ8C,EAAG9xB,MAAMsmC,cAActU,GAAGhyB,SAKpD,MAAMwmC,EAAwB3d,GAU9B,OARAwa,KAEAmC,KAEIgB,IAA0B3d,IAC5Bwa,KAGK9Z,GAAejI,KAAKsR,UAyLP6T,CAAwBhrC,EAAGu0B,GAC9B,IAAXA,IACFxH,GAA2B,MAGxB6d,EA6BT,SAASK,KACPznC,OAAO6C,KAAKwf,KAAK0N,SAAS6B,SAASp1B,IACjCsvB,GAActvB,GAAG6zB,MAAQ6T,GACvB7hB,KAAK0N,QAAQvzB,GACb6lB,KAAK0N,QAAQvzB,GAAGq0B,UAChBxO,KAAK0N,QAAQvzB,GAAGu0B,OAChB1O,KAAK0N,QAAQvzB,GAAGs0B,KAChB,GAEF/E,GAAevvB,GAAG6zB,MAAQ6T,GACxB7hB,KAAK0N,QAAQvzB,GACb6lB,KAAK0N,QAAQvzB,GAAGq0B,UAChBxO,KAAK0N,QAAQvzB,GAAGu0B,OAChB1O,KAAK0N,QAAQvzB,GAAGs0B,KAChB,IAEF9E,GAAgBxvB,GAAG6zB,MAAQ6T,GACzB7hB,KAAK0N,QAAQvzB,GACb6lB,KAAK0N,QAAQvzB,GAAGq0B,UAChBxO,KAAK0N,QAAQvzB,GAAGu0B,OAChB1O,KAAK0N,QAAQvzB,GAAGs0B,KAChB,QASN,SAAS4W,KAEP5b,GAAgBqb,GAAoB,GACpCpb,GAAiBob,GAAoB,IACrCnb,GAAkBmb,GAAoB,KAvDtC7a,GAAgB,GAChBtsB,OAAO6C,KAAKwf,KAAK4V,UAAUrG,SAASp1B,IAClC,MAAMmrC,EAtFV,SAAgCtU,GAC9B,GACkC,WAAhChR,KAAK4V,SAAS5E,GAAS7D,MACY,IAAlCnN,KAAK4V,SAAS5E,GAAS3D,QACtBrN,KAAK4V,SAAS5E,GAASuU,UACS,aAAhCvlB,KAAK4V,SAAS5E,GAAS7D,KACzB,CACA6I,KACkC,yBAA9BzJ,GAAYyE,GAAStyB,KACvB6tB,GAAY,yBAAyBc,OAAS,EACP,uBAA9Bd,GAAYyE,GAAStyB,KAC9B6tB,GAAY,uBAAuBc,OAAS,EAE5Cd,GAAYyE,GAAS3D,QAAUd,GAAYyE,GAAS3D,OAAS,GAAK,EAEzDd,GAAYyE,GACnBhR,KAAKwlB,qBAAqBxlB,KAAK4V,SAAS5E,GAAS7D,QACnD9F,IAAoB,GAEN,iBAAZ2J,GACF1J,IAAc,EACVA,GAAa,GAAGwa,GAAO,aACvBxa,IAAc,GAAGwa,GAAO,kBACP,mBAAZ9Q,EACT8Q,GAAO,cACc,yBAAZ9Q,EACT8Q,GAAO,kBACc,iBAAZ9Q,GACT8Q,GAAO,aAGT,MAAMoD,EAAwB3d,GAE9Bwa,KAEAmC,KAEIgB,IAA0B3d,IAC5Bwa,KAGF,MAAM0D,EAvIV,WACE,IAAInkC,EAAM,EACN0rB,GAAO,sBAAqB1rB,GAAO,IACnC0rB,GAAO,qBAAoB1rB,GAAO,GAClC0rB,GAAO,qBAAoB1rB,GAAO,IAClC0rB,GAAO,sBAAqB1rB,GAAO,IACnC0rB,GAAO,yBAAwB1rB,GAAO,IACtC0rB,GAAO,yBAAwB1rB,GAAO,IACtC0rB,GAAO,wBAAuB1rB,GAAO,IACrC0rB,GAAO,wBAAuB1rB,GAAO,IACrC0rB,GAAO,uBAAsB1rB,GAAO,IACpC0rB,GAAO,uBAAsB1rB,GAAO,IACxC,IAAI+iB,EAAM,EACV1mB,OAAO6C,KAAK8rB,IAAYiD,SAASp1B,IAC/BkqB,GAAOiI,GAAWnyB,GAAGu0B,UAEvBrK,GAAOiI,GAAWmY,OAAO/V,OACzBptB,GAAO+iB,EAGH2I,GAAO,mBAAkB1rB,GAAsB,IAAf2mB,IAChC+E,GAAO,gBAAe1rB,GAAsB,IAAf2mB,IAC7B+E,GAAO,oBAAmB1rB,GAAsB,IAAf2mB,IACjC+E,GAAO,sBAAqB1rB,GAAsB,IAAf2mB,IACnC+E,GAAO,uBAAsB1rB,GAAsB,IAAf2mB,IACpC+E,GAAO,mBAAkB1rB,GAAsB,IAAf2mB,IAChC+E,GAAO,qBAAoB1rB,GAAsB,IAAf2mB,IAClC+E,GAAO,sBAAqB1rB,GAAsB,IAAf2mB,IACnC+E,GAAO,sBAAqB1rB,GAAsB,IAAf2mB,IACnC+E,GAAO,qBAAoB1rB,GAAsB,IAAf2mB,IAClC+E,GAAO,yBAAwB1rB,GAAsB,IAAf2mB,IACtC+E,GAAO,sBAAqB1rB,GAAsB,IAAf2mB,IACnC+E,GAAO,sBAAqB1rB,GAAsB,IAAf2mB,IAEnC+E,GAAO,kBAAiB1rB,GAAsB,IAAf2mB,IAEnC,IAAImM,EAAO,EAiBX,GAhBIpH,GAAO,qBAAoBoH,GAAQ,KACnCpH,GAAO,gBAAeoH,GAAQ,KAC9BpH,GAAO,iBAAgBoH,GAAQ,KAC/BpH,GAAO,iBAAgBoH,GAAQ,MAE/BpH,GAAO,iBACToH,GACE,EACA,IACE1xB,KAAK2D,IACH2Z,KAAK0N,QAAQ+W,OAAO3O,MACpB9I,GAAO,mBAAqB,GAAK,KAIzCoH,GAAQtH,GAAO,SACXR,GAAWkB,OAAOY,gBAChBd,GAAW,CACb,MAAMe,EAASf,GAAU,SACV,IAAXe,EAAc+F,GAAQ,KACN,IAAX/F,EAAc+F,GAAQ,IACX,IAAX/F,IAAc+F,GAAQ,MAInCz2B,OAAO6C,KAAKwf,KAAKwX,OAAOjI,SAASp1B,SACQ,IAA5B6lB,KAAKwX,MAAMr9B,GAAGurC,YACvBtR,GAAQpU,KAAKwX,MAAMr9B,GAAGurC,cAI1BtR,GAAQ,EAAmC,IAA/B3H,GAAY,iBAGxB,IAAIkZ,EACFvR,EACApU,KAAKmV,WACH,EACAnI,GAAO,2BACLA,GAAO,kCACPA,GAAO,gBACT1rB,GAOJ,OAJAqkC,EAAM3lB,KAAK2jB,kBAAkB,kBAAmBgC,GAE5C3lB,KAAKkO,QAAQ,mBAAkByX,EAAM3lB,KAAKwX,MAAM,iBAAiB3B,OAE9D8P,EAkDgBC,GAAa5lB,KAAKuf,iBACvC,OAAIkG,EACK,CAACxd,GAAejI,KAAKsR,UAAWmU,GAElC,CAACxd,GAAejI,KAAKsR,WAE9B,MAAO,GAuCeuU,CAAuB1rC,GACjC,iBAANA,GACF8vB,GAAc9vB,GAAK,CAAEq4B,MAAOxS,KAAKsR,UAAY3K,IACjB,IAAxB9G,EAAUwR,UACZpH,GAAc9vB,GAAGq4B,OAAS5L,GACK,IAAxB/G,EAAUwR,YACjBpH,GAAc9vB,GAAGq4B,OAAS3L,IACvBhC,OAAOC,SAASmF,GAAc9vB,GAAGq4B,SAAQvI,GAAc9vB,GAAGq4B,MAAQ,KAEvEvI,GAAc9vB,GAAK,GACfmrC,EAAY,KAAIrb,GAAc9vB,GAAGq4B,MAAQ8S,EAAY,IACrDA,EAAY,KAAIrb,GAAc9vB,GAAGq+B,WAAa8M,EAAY,QA6DpE,SAASQ,GAAqBC,EAAOC,EAAW5R,GAC9C,IAAI6R,EAAiB,EACjBlX,EAAO,EACPmX,EAAW,EACXC,EAAe,EACfC,EACF,EAAI1jC,KAAK6D,IAAI,EAAG7D,KAAKoL,KAAKpL,KAAK6iB,IAAIvF,KAAKoT,SAAW1wB,KAAK2jC,MAAQ,IAClE,KAAOH,EAAWF,EAAY5R,GAC5BrF,EAAOrsB,KAAK6D,IACVw/B,EACArjC,KAAK2D,IACH3D,KAAKkE,MAAO,EAAI,EAAK,IAAMw/B,EAAQL,EAAQ3R,GAC3C4R,EAAY5R,IAGhB8R,EAAWxjC,KAAK6D,IACdw/B,EACArjC,KAAK2D,IACH3D,KAAKkE,MAAO,EAAI,EAAK,KAAOw/B,EAAQ,GAAKL,EAAQ3R,GACjD4R,EAAY5R,IAGhB+R,EAAezjC,KAAKkE,MAAO,EAAI,EAAK,KAAOw/B,EAAQ,GAAKL,EAAQ3R,GAChE6R,GAAkBlX,EAClBqX,GAAS,EAEX,MAAO,CAACH,EAAgBlX,EAAMoX,GAmBhC,SAASG,KACP,IAAIN,EAEF,GADA/c,GAEA,GACA,EACAC,GAEF,MAAMqd,EAAchP,KAChBgP,EAAc,EAAGP,GAAaO,EAC7BP,EAAY,EAEjBxb,GAAsBsb,GACpB,EACAE,EACA7c,IAEFmB,GAA+C,EAAzBE,GAAoB,GAAUrB,GACpDoB,GACEC,GAAoB,GAAK,GAAK,GAAK,EAAItB,GAEzCyB,GAA2Bmb,GACzB,EACAE,EACA5c,IAEFqB,GACiC,EAA9BE,GAAyB,GAAUvB,GACtCsB,GACEC,GAAyB,GACzB,GACA,GACA,EACAzB,GAEF4B,GAA4Bgb,GAC1B,EACY,EAAZE,EACA7c,IAEFyB,GACkC,EAA/BE,GAA0B,GAAU3B,GACvC0B,GACEC,GAA0B,GAC1B,GACA,GACA,EACA5B,GAEF+B,GAAiC6a,GAC/B,EACY,EAAZE,EACA5c,IAEF2B,GACuC,EAApCE,GAA+B,GAAU7B,GAC5C4B,GACEC,GAA+B,GAC/B,GACA,GACA,EACA/B,GAYJ,SAASsd,KACP,MAAMxG,EAAWt9B,KAAKkE,MAAMq5B,KAAKC,MAAQ,KAEzC,GAAKlgB,KAAKsd,EAAItd,KAAKsX,IAAO,GAAM,EAAG,CACjC,MAAMmP,EAAazmB,KAAK0mB,gBAAgB1mB,KAAK2mB,cAIvCC,EAHiBlkC,KAAKkE,MAC1BoZ,KAAK0mB,gBAAgB1mB,KAAK2mB,aAAe3mB,KAAKogB,gBAER19B,KAAKkE,MAAM6/B,GAG7CpG,EAAWL,EAAWhZ,GACtB6f,EACJnkC,KAAK6D,IAAI,EAAGqgC,EAAiB3f,IAA0BoZ,EACzD,IAAK,IAAIlmC,EAAI,EAAGA,EAAIkmC,EAAUlmC,IAC5BksB,GAAkBiZ,UAAUuH,GAI9B7f,GAAyBgZ,EACzB/Y,GAAyB2f,EAGzBvd,GAAmBhD,GAAkBya,YAAY,IA6HrD,SAASgG,KACP3c,GAAuB,GACvBE,GAA8B,GAC9BD,GAA+B,GAC/B,MAAMwa,EAAO,GAEbjnC,OAAO6C,KAAKwf,KAAK4V,UAAUrG,SAASp1B,IAClCyqC,EAAK3oC,KAAK+jB,KAAK4V,SAASz7B,OAO1ByqC,EAAKhV,MALW,SAAU5sB,EAAGP,GAC3B,OAAIO,EAAEkuB,MAAQzuB,EAAEyuB,MAAc,EAC1BluB,EAAEkuB,MAAQzuB,EAAEyuB,OAAe,EACxB,KAITvzB,OAAO6C,KAAKokC,GAAMrV,SAASp1B,IACzB,MAAMq2B,EAAKoU,EAAKzqC,GAEhB,GAAkB,IAAdq2B,EAAGnD,OAAc,CACnB,IAAI9xB,EAAM,GAEVA,GArDN,SAAsBi1B,GACpB,IAAIuW,EAAU,wBACE,aAAZvW,EAAGrD,OAAqB4Z,GAAW,aAEvC,IAAIC,EAAU,EACThnB,KAAK+c,MAAMkK,SAAQD,EAAU,GAC9BA,IAASD,GAAW,YAExB,IAAIG,KAAEA,GAAS1W,EACXA,EAAG2W,eAAcD,EAAO1W,EAAG2W,gBAC/B,MAAMvQ,EAAU,0DAA0DpG,EAAG3C,kBAC7E,MAAO,eAAekZ,SACrB/mB,KAAKonB,kBAAkBxQ,EAAS,OAAO,kBAEtCsQ,EAAK,GAAK,yBAAyBA,EAAK,OAAS,yBACjB,IAAVA,EAAK,QAAwB,IAAVA,EAAK,oBAsCrCG,CAAa7W,GACJ,aAAZA,EAAGrD,KAAqB/C,IAAgC7uB,EACvC,WAAZi1B,EAAGrD,KAAmB9C,IAA+B9uB,EAEhD,WAAZi1B,EAAGrD,MACS,WAAZqD,EAAGrD,MACS,UAAZqD,EAAGrD,OAEHhD,IAAwB5uB,OAchC,SAAS+rC,KACP,GAAoB,cAAhBtnB,KAAKie,OAAwB,CAC/B,IAAIthC,EAAuB,GAAjBqjB,KAAKsR,UACXtR,KAAKkO,QAAQ,kBAAiBvxB,GAAO,IACrCqjB,KAAKkO,QAAQ,YAAWvxB,GAAO,KACnC4sB,GAAe7mB,KAAK6D,IAAI,GAAI5J,GACxBqjB,KAAK6d,IAAI,gCAA+BtU,IAAgB,IAehE,SAASge,KACPhf,GAA2C,IAA7BU,GAAoC,IAClDV,IAAcW,GACd,MAAMqd,EAAchP,KAChBgP,EAAc,EAAGhe,IAAcge,EAC9Bhe,GAAa,EAClBC,GAAmBW,IAAuC,IAAbZ,IAAqB,GAClEE,GAAwBW,IAAsC,IAAbb,IAAqB,GACtEG,GAAgC,EAAbH,GACnBI,GACEQ,IAA6C,IAAnBT,IAA2B,GACvDE,GACEQ,IAA4C,IAAnBV,IAA2B,GACtDG,GAA4B,EAAbN,GACfO,GAAoC,IAAfD,GAErBE,GAAe,EACf,IAAIxiB,EAAM,EACNnJ,EAAI,EACRO,OAAO6C,KAAKwf,KAAK0N,SAAS6B,SAASp1B,IAC7B6lB,KAAK0N,QAAQvzB,GAAGu0B,OAASnoB,IAAKA,EAAMyZ,KAAK0N,QAAQvzB,GAAGu0B,QACpD1O,KAAK0N,QAAQvzB,GAAGu0B,OAAS,IAAGtxB,GAAK,MAEvCO,OAAO6C,KAAKwf,KAAK0N,SAAS6B,SAASp1B,KAE9B6lB,KAAK0N,QAAQvzB,GAAGu0B,OAASnoB,GAAa,IAANnJ,IACjC4iB,KAAK0N,QAAQvzB,GAAGu0B,OAAS,KACD,EAAxB1O,KAAK0N,QAAQvzB,GAAG6zB,MAAYjF,KAE5BA,GAAuC,EAAxB/I,KAAK0N,QAAQvzB,GAAG6zB,MAC/BhF,GAAuB7uB,MAQ7B,SAASqtC,KACP,IAAIC,EAAa,EACbC,EAAY,EACZtT,EAAO,EAGPpH,GAAO,4BAA2BoH,GAAQ,MAC1CpH,GAAO,iBAAgBoH,GAAQ,MAEnCqT,GAAc,EAA+C,GAA3CznB,KAAKqjB,SAAS,2BAChCoE,GAAcznB,KAAK2nB,IAAI,oBACvBD,GAAa,EAAuC,GAAnC1nB,KAAKqjB,SAAS,mBAC/BqE,GAAa1nB,KAAK2nB,IAAI,mBAGtBxe,GAAyBiL,EAAOqT,EAChCre,GAAwBgL,EAAOsT,EAM/Bxe,GAAoC,EACD,IAA/BlJ,KAAK0d,aAAaC,OAAOvgC,IAC3B8rB,IACE,EAAwC,KAApClJ,KAAKqjB,SAAS,qBAkBxB,SAASuE,KACPhe,GAAsB,EACtBC,GAAuB,EACvBC,GAAwB,CAAC,EAAG,MAC5B,IAAK,IAAI3vB,EAAI,EAAGA,EAAI6lB,KAAKwR,UAAUp3B,OAAQD,IAAK,CAC9C,IAAI4kC,OAAEA,GAAW/e,KAAKwR,UAAUr3B,GAC5B6kC,EAAS,IAKb,GAJIhf,KAAK6d,IAAI,6BAA4BmB,GAAU,MACpB,IAA3Bhf,KAAKwR,UAAUr3B,GAAGK,OAAYwkC,GAAU,GAC5CD,GAAUC,EACNhf,KAAK6d,IAAI,mBAAkBkB,GAAU,MACrCzS,GAAWkB,OAAOY,eAAgB,CACpC,MAAMC,EAASrO,KAAKuN,OAAO,SACZ,IAAXc,EAAc0Q,GAAU,KACR,IAAX1Q,EAAc0Q,GAAU,IACb,IAAX1Q,IAAc0Q,GAAU,MAEnCnV,IAAuBmV,EACQ,IAA3B/e,KAAKwR,UAAUr3B,GAAGK,OACpBqvB,IAAwBkV,EACpBA,EAASjV,GAAsB,KACjCA,GAAwB,CAACiV,EAAQ5kC,MAwBzC,SAAS0tC,KACPjU,KACAgU,KACAL,KACAC,KACAlB,KACAQ,KACAQ,KAtiDAthB,GAAc,IAAIwZ,GAAWvc,EAAYA,EAAY7oB,OAAS,IAC9D6rB,GAAY,IAAIuZ,GAAWvc,EAAYA,EAAY7oB,OAAS,IAC5D8rB,GAAmB,IAAIsZ,GAAWvc,EAAYA,EAAY7oB,OAAS,IACnE+rB,GAAa,IAAIqZ,GAAWvc,EAAYA,EAAY7oB,OAAS,IAC7DgsB,GAAa,IAAIoZ,GAAWtc,EAAWA,EAAW9oB,OAAS,IAoiD3DisB,GAAoB,IAAImZ,GAAW,GACnCzZ,GAAgC,IAAIyZ,GACE,GAApCtc,EAAWA,EAAW9oB,OAAS,IAEjCosC,KACAzG,KACAsF,KACAD,KACA1D,KAKF,MA8ImCoG,GA9Ib,CACpB1W,QAAS,EACTyP,WAAY,EACZI,cAAe,EACf5P,UAAW,EACX1M,MAAO,EACPF,cAAe,EACfQ,eAAgB,EAChBD,YAAa,OACbY,WAAY,EACZmiB,aAAc,EACd9U,cAAe,EACf3D,YAAa,EACb8R,sBAAuB,EACvBI,aAAc,EACdF,cAAe,EACfH,oBAAqB,EACrBtf,WAAY,UACZC,YAAa,UACbC,aAAc,UACdC,aAAc,UACdC,UAAW,UACXC,aAAc,UACdC,WAAY,UACZC,WAAY,UACZC,YAAa,UACbyQ,OAAQ,EACRW,SAAU,EACVC,YAAa,EACbsK,gBAAiB,EACjBjO,YAAa,EACbiY,mBAAoB,EACpBvY,cAAe,EACfoB,aAAc,EACdoX,eAAgB,EAChBC,YAAa,EACbC,QAAS,EACTC,QAAS,EACTroB,gBAAiB,EACjBsoB,oBAAqB,EACrBrQ,oBAAqB,EACrBsQ,YAAa,EACblM,cAAe,EACfC,oBAAqB,EACrBE,gBAAiB,EACjBE,sBAAuB,EACvBE,gBAAiB,EACjBb,aAAc,EACdG,YAAa,EACbtE,YAAa,EACbyB,YAAa,EACbkF,aAAc,EACd1F,YAAa,EACbkB,aAAc,EACdc,gBAAiB,EACjB2N,oBAAqB,EACrBpL,MAAO,EACPqL,gBAAiB,EACjBC,oBAAqB,EACrBvJ,QAAS,EACTwJ,oBAAqB,EACrBC,aAAc,EACdzkB,MAAO,EACP0kB,aAAc,EACdC,eAAgB,EAChBC,QAAS,EACTC,cAAe,UACfC,QAAS,EACTC,SAAU,IACVC,WAAY,6DACZC,oBAAqB,EACrBC,aAAc,EACdC,mBAAoB,UACpBC,aAAc,EACdC,cAAe,IACfC,gBACE,gEACFC,gBAAiB,EACjBC,SAAU,EACVC,eAAgB,UAChBC,SAAU,EACVC,UAAW,IACXC,YACE,oEACFC,UAAW,EACXC,gBAAiB,UACjBC,UAAW,EACXC,WAAY,IACZC,aAAc,+DACdC,kBAAmB,EACnBC,WAAY,EACZC,iBAAkB,UAClBC,WAAY,EACZC,YAAa,IACbC,cACE,gEACFC,qBAAsB,EACtBC,cAAe,EACfC,oBAAqB,UACrBC,cAAe,EACfC,eAAgB,IAChBC,iBACE,6DACFC,wBAAyB,EACzBC,iBAAkB,EAClBC,uBAAwB,UACxBC,iBAAkB,EAClBC,kBAAmB,IACnBC,oBACE,8DACFC,aAAc,EACdnnB,kBAAmB,EACnBonB,OAAQ,CACNC,UAAW,EACXC,YAAa,EACbC,SAAU,EACVC,QAAS,EACTC,YAAa,EACbC,QAAS,EACTC,WAAY,EACZC,aAAc,EACdC,oBAAqB,EACrBC,eAAgB,EAChBC,eAAgB,EAChBC,gBAAiB,EACjBC,iBAAkB,EAClBC,iBAAkB,EAClBC,kBAAmB,EACnBC,qBAAsB,EACtBC,cAAe,EACfC,MAAO,EACPC,MAAO,EACPC,OAAQ,EACRC,OAAQ,EACRC,SAAU,EACVC,MAAO,EACPC,IAAK,EACLC,KAAM,EACNC,QAAS,IAoCsBC,GAvBnC,SAAsCC,GACpC,GAAoB,IAAhBA,EAAmB,CAErB,MAAMC,EAA2B,WAC/B,IACErB,aAAasB,oBAAoBC,OACjC,MAAOhyC,GACP,OAAO,EAET,OAAO,GAIH,iBAAkB1C,OAEbw0C,IACTrB,aAAasB,oBAAoBC,OAEjCvB,aAAasB,oBAJbryC,QAAQuqB,IAAI,kDAoBlB,SAASgoB,KACkB,IAArB1tB,EAAUiT,QACZvnB,EAAE,YAAYnJ,MAAMqV,QAAU,GAC9Bob,MAEAtnB,EAAE,YAAYnJ,MAAMqV,QAAU,OAEhC+b,KAwGF,SAASga,KACPC,cACAztB,KAAK0tB,eACL1tB,KAAK2tB,kBAEL9a,KACAzD,KACAU,KAuBF,SAAS8d,KACmB,IAAtB/tB,EAAUuoB,SAAiBpnB,EAAwB,EACjDoK,GAA0ByiB,MAC5BtiC,EAAE,aAAauiC,KACb,mEAEFviC,EAAE,aAAauiC,KACb,oEAEJviC,EAAE,aAAauiC,KACb,uDAQN,MAAMC,GACJtO,YAAYjlC,EAAMwzC,GAChBn1C,KAAK2B,KAAOA,EACZ3B,KAAKm1C,MAAQA,GAKjB,MAAMC,WAAwBF,GAC5BtO,YAAYjlC,EAAMwzC,EAAOE,EAAOC,EAAMC,EAAQlvC,EAAO,MACnDmvC,MAAM7zC,EAAMwzC,GACZn1C,KAAKq1C,MAAQA,EACbr1C,KAAKs1C,KAAOA,EACZt1C,KAAKu1C,OAASA,EACVlvC,IACFrG,KAAKqG,KAAOA,IAKlB,MAAMovC,WAAuBP,GAC3BtO,YAAYjlC,EAAMwzC,EAAOG,GACvBE,MAAM7zC,EAAMwzC,GACZn1C,KAAKs1C,KAAOA,GAKhB,MAAMI,WAAsBR,GAC1BtO,YAAYjlC,EAAMwzC,EAAOE,EAAOC,GAC9BE,MAAM7zC,EAAMwzC,GACZn1C,KAAKq1C,MAAQA,EACbr1C,KAAKs1C,KAAOA,EACZ,IAAK,IAAIh0C,EAAI,EAAGA,EAAI,IAAKA,IACvBtB,KAAKq1C,MAAM/zC,GAAK,GAAGA,MAMzB,MAAMq0C,WAA2BT,GAC/BtO,YAAYjlC,EAAMwzC,EAAOE,EAAOC,EAAM9nC,EAAKE,GACzC8nC,MAAM7zC,EAAMwzC,GACZn1C,KAAKq1C,MAAQA,EACbr1C,KAAKs1C,KAAOA,EACZt1C,KAAKwN,IAAMA,EACXxN,KAAK0N,IAAMA,GAyBf,MAmzBmCkoC,GAnzBpB,CAEbrd,QAAS,IAAI6c,GACX,OACA,cACA,CAAC,6BAA8B,8BAC/B,kFACA,GAEFpN,WAAY,IAAIoN,GACd,OACA,cACA,CACE,0BACA,0BACA,0BACA,yBACA,yBACA,0BACA,0BACA,2BAEF,4DACA,GAEFhN,cAAe,IAAIgN,GACjB,OACA,cACA,CACE,4BACA,4BACA,6BACA,6BACA,8BAEF,uDACA,GAEF5c,UAAW,IAAI4c,GACb,OACA,cACA,CACE,+BACA,8BACA,6CAEF,qGACA,GACA,WACElmB,IAAY,KAKhBpD,MAAO,IAAIspB,GACT,OACA,WACA,CACE,uBACA,SACA,cACA,4BACA,sBACA,wBAEF,yCACA,GACA,WACET,QAGJ/oB,cAAe,IAAIwpB,GACjB,OACA,WACA,CAAC,aAAc,aAAc,cAC7B,oIACA,GACA,WACET,QAGJvoB,eAAgB,IAAIgpB,GAClB,OACA,WACA,CAAC,4BAA6B,mBAC9B,qDACA,GACA,WACET,QAGJxoB,YAAa,IAAIwpB,GACf,WACA,WACA,2BACA,8KACA,EACA,WAEF5oB,WAAY,IAAIqoB,GACd,OACA,WACA,CAAC,0BAA2B,uBAC5B,0BACA,GAEFlG,aAAc,IAAIkG,GAChB,OACA,WACA,CAAC,oBAAqB,oBACtB,mEACA,GACA,WAlU6B,IAA3BpuB,EAAUkoB,aAAoB/nB,KAAKqd,QAAU3a,EAC5C1C,KAAKqd,QAAU3b,EAAgB2b,WAqUpCpK,cAAe,IAAIgb,GACjB,OACA,WACA,CAAC,yBAA0B,mBAC3B,sKACA,GAIF3e,YAAa,IAAI2e,GACf,OACA,UACA,CAAC,uBAAwB,uBACzB,yBACA,GACA,WACE7e,QAGJgS,sBAAuB,IAAI6M,GACzB,OACA,UACA,CAAC,2BAA4B,sBAC7B,0KACA,GAEFzM,aAAc,IAAIyM,GAChB,OACA,UACA,CACE,mBACA,kBACA,0BACA,gCAEF,sGACA,GAEF3M,cAAe,IAAI2M,GACjB,OACA,UACA,CAAC,mBAAoB,mBACrB,sJACA,GAEF9M,oBAAqB,IAAIqN,GACvB,WACA,UACA,oCACA,wMACA,EACA9pB,KAEF7C,WAAY,IAAIysB,GACd,SACA,UACA,6HAEFxsB,YAAa,IAAIwsB,GACf,SACA,UACA,yGAEFvsB,aAAc,IAAIusB,GAChB,SACA,UACA,qHAEFtsB,aAAc,IAAIssB,GAChB,SACA,UACA,4HAEFrsB,UAAW,IAAIqsB,GACb,SACA,UACA,gHAEFpsB,aAAc,IAAIosB,GAChB,SACA,UACA,8HAEFnsB,WAAY,IAAImsB,GACd,SACA,UACA,wGAEFlsB,WAAY,IAAIksB,GACd,SACA,UACA,sDAEFjsB,YAAa,IAAIisB,GACf,SACA,UACA,yDAIFxb,OAAQ,IAAImb,GACV,OACA,cACA,CAAC,iBAAkB,iBACnB,wBACA,GACA,WACEV,QAGJ9Z,SAAU,IAAIwa,GACZ,OACA,cACA,CAAC,gBAAiB,gBAClB,+FACA,GACA,WACEta,QAGJD,YAAa,IAAIua,GACf,OACA,cACA,CAAC,gCAAiC,+BAClC,8BACA,GACA,WA/3H4B,IAA1BpuB,EAAU6T,aACZnoB,EAAE,cAAcnJ,MAAMkG,MAAQ,MAC9BiD,EAAE,cAAcnJ,MAAMkW,OAAS,GAC/B/M,EAAE,QAAQmjC,aAAanjC,EAAE,cAAeA,EAAE,kBAE1CA,EAAE,cAAcnJ,MAAMkG,MAAQ,OAC9BiD,EAAE,cAAcnJ,MAAMkW,OAAS,MAC/B/M,EAAE,WAAWwK,YAAYxK,EAAE,gBAE7BioB,QA03HAwK,gBAAiB,IAAIiQ,GACnB,OACA,cACA,CACE,wBACA,iCACA,0BAEF,+DACA,GAEFle,YAAa,IAAIke,GACf,OACA,cACA,CACE,0BACA,8BACA,kCAEF,yDACA,GACA,WA3a2B,IAAzBpuB,EAAU8uB,YAEZpjC,EAAE,gBAAgBnJ,MAAMqV,QAAU,GAClCqY,MACkC,IAAzBjQ,EAAU8uB,YAEnBpjC,EAAE,gBAAgBnJ,MAAMqV,QAAU,OAClCqY,OAGAvkB,EAAE,gBAAgBnJ,MAAMqV,QAAU,OAClCuI,KAAK2tB,sBAoaP3F,mBAAoB,IAAIiG,GACtB,OACA,cACA,CAAC,iCAAkC,iCACnC,+FACA,GACA,WA9ZmC,IAAjCpuB,EAAUmoB,oBAEZz8B,EAAE,gBAAgBnJ,MAAMgI,SAAW,SACnCmB,EAAE,gBAAgBnJ,MAAMsC,IAAM,OAE9B6G,EAAE,gBAAgBnJ,MAAMgI,SAAW,MA6ZrCqlB,cAAe,IAAIwe,GACjB,OACA,cACA,CACE,0BACA,oCACA,4CAEF,kEACA,GACA,WACE7e,QAGJyB,aAAc,IAAIod,GAChB,OACA,cACA,CAAC,yBAA0B,qBAC3B,iEACA,GACA,WACEne,QAGJmY,eAAgB,IAAIgG,GAClB,OACA,cACA,CAAC,6BAA8B,6BAC/B,kFACA,GAEF/F,YAAa,IAAI+F,GACf,OACA,cACA,CAAC,iCAAkC,iCACnC,+DACA,GAEF9F,QAAS,IAAI8F,GACX,OACA,cACA,CAAC,0BAA2B,0BAC5B,yDACA,GACA,WAxgBwB,IAAtBpuB,EAAUsoB,QACZxqC,OAAO6C,KAAKyjB,IAAUsL,SAASp1B,IAC7B8pB,GAAS9pB,GAAGiI,MAAMqV,QAAU,QAC5BwM,GAAS9pB,GAAGiI,MAAMqC,KAAOgnB,GAAwBtxB,GAAGoR,EAAEnJ,MAAMqC,KAC5Dwf,GAAS9pB,GAAGiI,MAAMsC,IAAM+mB,GAAwBtxB,GAAGoR,EAAEnJ,MAAMsC,OAG7D/G,OAAO6C,KAAKyjB,IAAUsL,SAASp1B,GAAO8pB,GAAS9pB,GAAGiI,MAAMqV,QAAU,YAqgBpE2wB,QAAS,IAAI6F,GACX,OACA,cACA,CAAC,cAAe,cAChB,2CACA,GACA,WACEL,QAGJ7tB,gBAAiB,IAAIkuB,GACnB,OACA,cACA,CAAC,6BAA8B,6BAC/B,kEACA,GACA,WACEnuB,OAGJuoB,oBAAqB,IAAI4F,GACvB,OACA,cACA,CAAC,qCAAsC,qCACvC,+FACA,GACA,WAnhBEpuB,EAAUwoB,oBACZ98B,EAAE,uBAAuBnJ,MAAMqV,QAAU,GAEzClM,EAAE,uBAAuBnJ,MAAMqV,QAAU,UAshB3CugB,oBAAqB,IAAIiW,GACvB,OACA,UACA,CACE,2CACA,2CAEF,kDACA,GAEF3F,YAAa,IAAI2F,GACf,OACA,UACA,CACE,iDACA,iDAEF,qDACA,GAEF7R,cAAe,IAAI6R,GACjB,OACA,UACA,CAAC,4BAA6B,4BAC9B,kGACA,GAEF5R,oBAAqB,IAAI4R,GACvB,OACA,UACA,CAAC,mCAAoC,mCACrC,2GACA,GAEF1R,gBAAiB,IAAI0R,GACnB,OACA,UACA,CAAC,8BAA+B,8BAChC,+GACA,GAEFxR,sBAAuB,IAAIwR,GACzB,OACA,UACA,CAAC,qCAAsC,qCACvC,kIACA,GAEFtR,gBAAiB,IAAIsR,GACnB,OACA,UACA,CAAC,8BAA+B,8BAChC,qJACA,GAEFnS,aAAc,IAAI0S,GAChB,WACA,UACA,mCACA,gKACA,EACA9pB,KAEFuX,YAAa,IAAIgS,GACf,OACA,UACA,CACE,+CACA,+CAEF,2EACA,GAEFtW,YAAa,IAAIsW,GACf,OACA,UACA,CAAC,kCAAmC,qCACpC,kCACA,GACA,WACEvW,QAGJ0B,YAAa,IAAI6U,GACf,OACA,UACA,CAAC,mCAAoC,mCACrC,6CACA,GAEF3P,aAAc,IAAI2P,GAChB,OACA,UACA,CAAC,uBAAwB,uBACzB,oEACA,GAEFrV,YAAa,IAAIqV,GACf,OACA,UACA,CAAC,yBAA0B,yBAC3B,4DACA,GAEFnU,aAAc,IAAImU,GAChB,OACA,UACA,CAAC,2BAA4B,2BAC7B,yDACA,GAEFrT,gBAAiB,IAAIqT,GACnB,OACA,UACA,CAAC,uBAAwB,uBACzB,iDACA,GAEF1F,oBAAqB,IAAI0F,GACvB,OACA,UACA,CAAC,qCAAsC,qCACvC,+CACA,GAIF9Q,MAAO,IAAI8Q,GACT,OACA,aACA,CAAC,iBAAkB,iBACnB,oCACA,GAEFzF,gBAAiB,IAAIyF,GACnB,OACA,aACA,CAAC,uBAAwB,uBACzB,6CACA,GAEFxF,oBAAqB,IAAIwF,GACvB,OACA,aACA,CAAC,2BAA4B,kCAC7B,yDACA,GAEF/O,QAAS,IAAI+O,GACX,OACA,aACA,CAAC,mCAAoC,+BACrC,wCACA,GAEFvF,oBAAqB,IAAI8F,GACvB,WACA,aACA,0BACA,8GACA,EACA9pB,KAEFikB,aAAc,IAAIsF,GAChB,OACA,aACA,CAAC,gBAAiB,gBAClB,4FACA,GAIF/pB,MAAO,IAAI+pB,GACT,OACA,sBACA,CAAC,YAAa,WAAY,8BAC1B,8LACA,GAEFrF,aAAc,IAAIqF,GAChB,OACA,sBACA,CAAC,mCAAoC,mCACrC,kLACA,GAEFpF,eAAgB,IAAIoF,GAClB,OACA,iBACA,CAAC,mBAAoB,mBACrB,mDACA,GACA,WACEf,GAAoCrtB,EAAUgpB,mBAGlDC,QAAS,IAAImF,GACX,OACA,iBACA,CAAC,YAAa,YACd,iCACA,GAEFlF,cAAe,IAAIuF,GACjB,SACA,iBACA,wDAEFtF,QAAS,IAAIiF,GACX,OACA,iBACA,CAAC,YAAa,YACd,iCACA,GAEFhF,SAAU,IAAIsF,GAAc,MAAO,iBAAkB,GAAI,UACzDrF,WAAY,IAAI+E,GACd,MACA,iBACA,aACA,6DAEF9E,oBAAqB,IAAI8E,GACvB,OACA,iBACA,CAAC,mBAAoB,mBACrB,8DACA,GACA,WACEf,GAAoCrtB,EAAUspB,wBAGlDC,aAAc,IAAI6E,GAChB,OACA,iBACA,CAAC,YAAa,YACd,wCACA,GAEF5E,mBAAoB,IAAIiF,GACtB,SACA,iBACA,6DAEFhF,aAAc,IAAI2E,GAChB,OACA,iBACA,CAAC,YAAa,YACd,wCACA,GAEF1E,cAAe,IAAIgF,GAAc,MAAO,iBAAkB,GAAI,UAC9D/E,gBAAiB,IAAIyE,GACnB,MACA,iBACA,aACA,sEAEFxE,gBAAiB,IAAIwE,GACnB,OACA,kBACA,CAAC,mBAAoB,mBACrB,yCACA,GACA,WACEf,GAAoCrtB,EAAU4pB,oBAGlDC,SAAU,IAAIuE,GACZ,OACA,kBACA,CAAC,YAAa,YACd,gCACA,GAEFtE,eAAgB,IAAI2E,GAClB,SACA,kBACA,kEAEF1E,SAAU,IAAIqE,GACZ,OACA,kBACA,CAAC,YAAa,YACd,gCACA,GAEFpE,UAAW,IAAI0E,GAAc,MAAO,kBAAmB,GAAI,UAC3DzE,YAAa,IAAImE,GACf,MACA,kBACA,aACA,6DAEFlE,UAAW,IAAIkE,GACb,OACA,mBACA,CAAC,wBAAyB,YAC1B,+BACA,GAEFjE,gBAAiB,IAAIsE,GACnB,SACA,mBACA,4DAEFrE,UAAW,IAAIgE,GACb,OACA,mBACA,CAAC,YAAa,YACd,+BACA,GAEF/D,WAAY,IAAIqE,GAAc,MAAO,mBAAoB,GAAI,UAC7DpE,aAAc,IAAI8D,GAChB,MACA,mBACA,yBACA,uDAEF7D,kBAAmB,IAAI6D,GACrB,OACA,mBACA,CAAC,mBAAoB,mBACrB,oDACA,GACA,WACEf,GAAoCrtB,EAAUuqB,sBAGlDC,WAAY,IAAI4D,GACd,OACA,mBACA,CAAC,YAAa,YACd,2CACA,GAEF3D,iBAAkB,IAAIgE,GACpB,SACA,mBACA,2DAEF/D,WAAY,IAAI0D,GACd,OACA,mBACA,CAAC,YAAa,YACd,2CACA,GAEFzD,YAAa,IAAI+D,GAAc,MAAO,mBAAoB,GAAI,UAC9D9D,cAAe,IAAIwD,GACjB,MACA,mBACA,aACA,2DAEFvD,qBAAsB,IAAIuD,GACxB,OACA,oBACA,CAAC,mBAAoB,mBACrB,iDACA,GACA,WACEf,GAAoCrtB,EAAU6qB,yBAGlDC,cAAe,IAAIsD,GACjB,OACA,oBACA,CAAC,YAAa,YACd,wCACA,GAEFrD,oBAAqB,IAAI0D,GACvB,SACA,oBACA,8DAEFzD,cAAe,IAAIoD,GACjB,OACA,oBACA,CAAC,YAAa,YACd,wCACA,GAEFnD,eAAgB,IAAIyD,GAAc,MAAO,oBAAqB,GAAI,UAClExD,iBAAkB,IAAIkD,GACpB,MACA,oBACA,aACA,yDAEFjD,wBAAyB,IAAIiD,GAC3B,OACA,uBACA,CAAC,mBAAoB,mBACrB,2EACA,GACA,WACEf,GAAoCrtB,EAAUmrB,4BAGlDC,iBAAkB,IAAIgD,GACpB,OACA,uBACA,CAAC,YAAa,YACd,kEACA,GAEF/C,uBAAwB,IAAIoD,GAC1B,SACA,uBACA,sEAEFnD,iBAAkB,IAAI8C,GACpB,OACA,uBACA,CAAC,YAAa,YACd,kEACA,GAEF7C,kBAAmB,IAAImD,GACrB,MACA,uBACA,GACA,UAEFlD,oBAAqB,IAAI4C,GACvB,MACA,uBACA,aACA,mFAIF3C,aAAc,IAAI2C,GAChB,OACA,gBACA,CAAC,wBAAyB,wBAC1B,mIACA,GAEF9pB,kBAAmB,IAAI8pB,GACrB,OACA,gBACA,CACE,iCACA,gCACA,0CAEF,8MACA,GACA,WACEjuB,KAAKmf,iBAiBX,SAASyP,KACP,OAAOpzC,KAAKqzC,UAAU,CACpBC,kBAAmB3qB,GACnB4qB,SAAUlvB,EACVmvB,QAAS,YAkMb,SAASC,KACP,GAAI5mB,KAAyBrI,KAAKkvB,aAAennB,GAAW,CAC1D,GACE/H,KAAKkvB,YAAc,IACnBlvB,KAAKmvB,aAAanvB,KAAKkvB,aAAaE,IAAIxsC,WAAWysC,SAAS,aAC5D,CACA,IAAI7vC,EAASwgB,KAAKmvB,aAAanvB,KAAKkvB,aAAaE,IAC9CxsC,WACA/H,MAAM,mBAAmB,GAC5B,MAAM6zB,EAAS1O,KAAKmvB,aAAanvB,KAAKkvB,aAAaE,IAChDxsC,WACA/H,MAAM,sBAAsB,GAC/B,GAAe,MAAX2E,EAEF,GADAA,EAASA,EAAO8vC,WAAW,IAAK,IAC5BtvB,KAAK0N,QAAQluB,GAAQkvB,OAASA,EAChCpG,GAAyB,mCACpB,CACL,IAAIinB,EAAO,EACXvZ,KACA,IAAK,IAAI77B,EAAI,EAAGA,EAAIu0B,EAAQv0B,IAAK,CAC/B,IAAI6zB,EACF1B,GAAW9sB,GAAQgvB,UACnBxO,KAAKiP,eACHvsB,KAAK6D,IACH,EACA+lB,GAAW9sB,GAAQkvB,OAAS,EAAIpC,GAAW9sB,GAAQivB,MAEzDT,EAAQhO,KAAKkP,oBAAoB5C,GAAW9sB,GAASwuB,GACrDA,EAAQtrB,KAAKoL,KAAKkgB,GAClBuhB,GAAQvhB,EACR1B,GAAW9sB,GAAQkvB,QAAU,EAE/BpG,GAAyB,kBAAkBlE,GAA4BmrB,SAEpE,CACL,IAAIA,EAAO,EACXvZ,KACAr4B,OAAO6C,KAAKwf,KAAK0N,SAAS6B,SAASmB,IAEjC,GADAlxB,EAASkxB,EACL1Q,KAAK0N,QAAQluB,GAAQkvB,OAASA,EAChCpG,GAAyB,mCAD3B,CAIA,IAAK,IAAInuB,EAAI,EAAGA,EAAIu0B,EAAQv0B,IAAK,CAC/B,IAAI6zB,EACF1B,GAAW9sB,GAAQgvB,UACnBxO,KAAKiP,eACHvsB,KAAK6D,IACH,EACA+lB,GAAW9sB,GAAQkvB,OAAS,EAAIpC,GAAW9sB,GAAQivB,MAEzDT,EAAQhO,KAAKkP,oBAAoB5C,GAAW9sB,GAASwuB,GACrDA,EAAQtrB,KAAKoL,KAAKkgB,GAClBuhB,GAAQvhB,EACR1B,GAAW9sB,GAAQkvB,QAAU,EAE/BpG,GAAyB,kBAAkBlE,GAA4BmrB,UAI7ElnB,GAAuBrI,KAAKkvB,aAkBhC,SAASM,GAAmB7hB,EAAK4I,GAC/BP,KACa,IAATO,EAAY3O,GAAU+F,EACR,IAAT4I,EAAY1O,GAAU8F,EACb,IAAT4I,IAAYzO,GAAU6F,GAE/B,MAAMuX,EAAwB3d,GAO9B,OANAwa,KAEAmC,KACIgB,IAA0B3d,IAC5Bwa,KAEK9Z,GAAejI,KAAKsR,UAoD7B,SAASme,KAEPnjB,GAAa,GACb3uB,OAAO6C,KAAKwf,KAAK0N,SAAS6B,SAASp1B,IACjCmyB,GAAWnyB,GAAK66B,GAAoB76B,MAItCoyB,GAAc,GACd5uB,OAAO6C,KAAKwf,KAAK4V,UAAUrG,SAASp1B,IAClCoyB,GAAYpyB,GAAKu7B,GAAYv7B,MAI/BqyB,GAAkB,GAClB7uB,OAAO6C,KAAKwf,KAAKiU,cAAc1E,SAASp1B,IACtCqyB,GAAgBryB,GAAK45B,GAAgB55B,MAEvC67B,KAMF,IAAI0Z,IAAiB,EAerB,SAASC,GAAMvhC,EAAMwhC,EAAQrrB,IAGD,IAAtB1E,EAAU+vB,IAAiBrrB,IAClB,IAATnW,IACmB,IAAnBshC,IACO,IAATthC,GAEA7C,EAAE,iBAAiBnJ,MAAM4U,gBAAkB6I,EAAU,SAAS+vB,KAC9DrkC,EAAE,iBAAiBnJ,MAAM6U,QAAU,MACtB,IAAT7I,GACF7C,EAAE,iBAAiBnJ,MAAMqV,QAAU,SACnCo4B,YAAW,WACTF,GAAM,EAAGC,GAAQ,KAChB,IAAO5vB,KAAKsX,MAEfuY,YAAW,WACTF,GAAM,EAAGC,GAAQ,KAChB,IAAO5vB,KAAKsX,MAEC,IAATlpB,GACT7C,EAAE,iBAAiBnJ,MAAM6U,QAAU,IACnC44B,YAAW,WACTF,GAAM,EAAGC,GAAQ,KAChB,IAAO5vB,KAAKsX,MACG,IAATlpB,IAAY7C,EAAE,iBAAiBnJ,MAAMqV,QAAU,QAe5D,SAASq4B,GAAgBC,EAAKC,EAAWC,EAAW1rB,GAElD,IAA8B,IAAzB1E,EAAUmwB,IAAoBzrB,KAA8B,IAAnBmrB,GAA0B,CAEtE,MAAMQ,EAAQ,IAAIC,MAAMJ,GACpBlwB,EAAU+oB,aACZsH,EAAME,OAAUvwB,EAAUowB,GAAa,KAAQjwB,KAAKowB,OAAS,KAC1DF,EAAME,OAASvwB,EAAUowB,GAAa,IAC3CC,EAAMG,QAoFV,SAASC,GAAmBC,EAAcC,EAAOC,GAGjB,IAA5B5wB,EAAU0wB,IACmB,WAA7B93C,SAASi4C,kBACU,IAAnBhB,IAIA,IAAI3D,aAAayE,EAAO,CAAEn3B,KAAMo3B,EAASE,MAFtB,yDAmRvB,SAASC,KAMP,GALAvvB,EAAkB4e,KAAKC,MACnBnc,KAAoB/D,KAAK6wB,WAC3B9sB,GAAkB/D,KAAK6wB,SA/drB7wB,KAAK6wB,UACPtlC,EAAE,QAAQnJ,MAAMkW,OAAS,MACA,IAArBuH,EAAUiT,SAAcvnB,EAAE,YAAYnJ,MAAMqV,QAAU,QAC/B,IAAvBoI,EAAU4T,WAAgBloB,EAAE,cAAcnJ,MAAMqV,QAAU,UAE9D81B,KACA5Z,MAEFN,OA0dKrT,KAAK6wB,UAAiC,IAArB7wB,KAAK8wB,YAAmB,CAExCzwB,IAAiB1iB,OAAO6C,KAAKwf,KAAK+wB,MAAM32C,SAC1Cq1C,KACA5H,KACAxnB,EAAe1iB,OAAO6C,KAAKwf,KAAK+wB,MAAM32C,QAIpC2tB,KACFsd,KAtsBArlB,KAAK6d,IAAI,wBAjBb7H,KACAzJ,GAAY,uBAAuBc,OAAS,EAC5C0U,KAgBE9Y,GAfKhB,IAgBAgB,GAA6BjJ,KAAKsR,UAusBrCkW,KACAD,KACAT,KACAR,KACA2I,KAtgBN,WACE,IAAK,IAAIthB,EAAM,EAAGA,EAAM,GAAIA,GAAO,EACjC,IAAK,IAAI4I,EAAO,EAAGA,EAAO,EAAGA,GAAQ,EACnC5K,GAAUgC,GAAK4I,GAAQiZ,GAAmB7hB,EAAK4I,GAogB/Cya,GAEA1J,KA3oBN,WACE,IAAI2J,EAAY,EAEhB,GAAIjxB,KAAK0N,QAAQwjB,KAAK9iB,eAAgB,CACpC,MAAM+iB,EAAcnxB,KAAK0N,QAAQwjB,KAAKzjB,SAAS2jB,MAC/C,IAAIC,EAAW,EACf1zC,OAAO6C,KAAK2wC,GAAa5hB,SAASp1B,IAChC,MAAMm3C,EAAaH,EAAYh3C,GAC/Bk3C,GAAYC,EAAWC,MAAQD,EAAW30C,OAE5Cs0C,GAAaI,EAAWrxB,KAAKwxB,oBAG/BP,GAlEF,WACE,IAAIA,EAAY,EAEhBjb,KAGA,IAAIyb,EAAuB,EACL,IAAlB/pB,IAAyC,KAAlBA,KACzB+pB,GAAwB,GAEH,IAAnB9pB,IAA2C,KAAnBA,KAC1B8pB,GAAwB,GAE1B/pB,GAAgB,EAChBC,GAAiB,GAGjB,IAAK,IAAIxtB,EAAI,EAAGA,EAAIs3C,IAAwBt3C,EAAG,CAC7C,IAAIu3C,EAAkB,SACtB/zC,OAAO6C,KAAK8rB,IAAYiD,SAASmB,IAC3BpE,GAAWoE,GAAGhC,OAAS,IACzBgjB,EAAkBhhB,MAGtBpE,GAAWolB,GAAiBhjB,QAAU,EACtCtH,IAAqB,EAevB,OAXAzpB,OAAO6C,KAAK8rB,IAAYiD,SAASp1B,IAC/B,MAAMq2B,EAAKlE,GAAWnyB,GACtB82C,GAAa3iB,GACXtO,KAAK0N,QAAQ8C,EAAG9xB,MAChBshB,KAAK0N,QAAQvzB,GAAGq0B,UAChBgC,EAAG9B,OACH1O,KAAK0N,QAAQvzB,GAAGs0B,KAChB+B,EAAG9B,WAIAuiB,EA0BMU,GACbjmB,GAAqBulB,EA8nBjBW,GAEA7pB,GAAY,GAId,MAAM8pB,EAAe7xB,KAAKqjB,SAAS,kBAAoB,GAClDlc,IAAqB0qB,GACxB1qB,IAAoB,EACpBD,GAA2B,GAClBC,KAAsB0qB,IAC/B1qB,IAAoB,EACpBD,GAA2B,GAGzBA,KACFke,KACAle,GAA2B,GA/wBjC,WAEE0gB,KAEAlG,KAzCF,WACE3X,GAA2B,EAC3B,IAAIgJ,EAAQ,EACZp1B,OAAO6C,KAAKwf,KAAKwR,WAAWjC,SAASp1B,IACH,IAA5B6lB,KAAKwR,UAAUr3B,GAAGqkC,QAAazL,GAAS,MAE9C,IAAI+e,EAAU,EACd,GAAIxlB,GAAWkB,OAAOY,eAAgB,CACpC,MAAMC,EAASrO,KAAKuN,OAAO,SACZ,IAAXc,EAAcyjB,GAAW,KACT,IAAXzjB,EAAcyjB,GAAW,IACd,IAAXzjB,IAAcyjB,GAAW,MAEpC9nB,GAAyB+I,EACzBhJ,GACEgJ,GACS,IAARA,EAAe,MACuB,IAAtC/S,KAAK6d,IAAI,2BAAoC,IACjB,IAA5B7d,KAAK6d,IAAI,iBAA0B,GACpCiU,EAuBFC,GACAhS,KACAyG,KAEA,MAAMwL,EACJhyB,KAAKiyB,oBACHvvC,KAAKkE,MAAMoZ,KAAK0mB,gBAAgB1mB,KAAK2mB,aAAe3mB,KAAKogB,gBACvD,IAEHpgB,KAAKogB,cAAgBpgB,KAAK2mB,cAC7Brb,GAA4B9F,GAAWwsB,EAAgB7gB,MAmwBrD+gB,GA1SF/wB,EAA+B,EAC/BsK,GAA0B,GAC1B9tB,OAAO6C,KAAKwf,KAAKmyB,UAAU5iB,SAASp1B,IAClCsxB,GAAwBzL,KAAKmyB,SAASh4C,GAAG0zB,IAAM7N,KAAKmyB,SAASh4C,GACzD6lB,KAAKmyB,SAASh4C,GAAGi4C,WAAuC,WAA1BpyB,KAAKmyB,SAASh4C,GAAGK,OACjD4wB,GAA4BpL,KAAKmyB,SAASh4C,GAC1CgnB,GAAgC,MAWpCxjB,OAAO6C,KAAKyjB,IAAUsL,SAASp1B,SACa,IAA/BsxB,GAAwBtxB,KACjC8pB,GAAS9pB,GAAGmf,WAAWrc,YAAYgnB,GAAS9pB,WACrC8pB,GAAS9pB,OAGhB6mB,IAA0BhB,KAAK0d,aAAaC,OAAOvgC,GACrD4jB,EAAwBhB,KAAK0d,aAAaC,OAAOvgC,EAC7C4jB,IACEC,EAA+BE,IACjCwuB,GAAM,EAAG,WAAW,GACpBG,GAAgBjwB,EAAUqpB,WAAY,UAAW,YAAY,GAC7DoH,GACE,iBACA,wBACA,+CAIJ3yC,OAAO6C,KAAKwf,KAAKmyB,UAAU5iB,SAASp1B,SACW,IAAlC8pB,GAASjE,KAAKmyB,SAASh4C,GAAG0zB,KAnH7C,SAAuBwkB,GACrB,MAAMlK,EAAU1vC,SAAS4D,cAAc,OACvC8rC,EAAQta,GAAK,UAAUwkB,EAAOxkB,KAC9Bsa,EAAQ/lC,MAAMkG,MAAQ,OACtB6/B,EAAQ/lC,MAAMmG,OAAS,OACvB4/B,EAAQ/lC,MAAMgI,SAAW,WACzB+9B,EAAQ/lC,MAAMyU,OAAS,cACvBsxB,EAAQ/lC,MAAMuW,UAAY,SAC1BwvB,EAAQ/lC,MAAMyW,WAAa,OAC3BsvB,EAAQ/lC,MAAMkwC,WAAa,2BAC3BnK,EAAQ/lC,MAAM0vB,SAAW,OACzBqW,EAAQ/lC,MAAM+U,OAAS,UACvBgxB,EAAQ/lC,MAAMqV,QAAU,QACE,IAAtBoI,EAAUsoB,UAAeA,EAAQ/lC,MAAMqV,QAAU,QACrD0wB,EAAQ/lC,MAAMqC,KAAO4tC,EAAO9mC,EAAEnJ,MAAMqC,KACpC0jC,EAAQ/lC,MAAMsC,IAAM2tC,EAAO9mC,EAAEnJ,MAAMsC,IACnCyjC,EAAQoK,QAAU,WAChBF,EAAOG,OAETrK,EAAQsK,YAAc,WACpBJ,EAAO9mC,EAAEnJ,MAAMswC,OACb,gEACFL,EAAO9mC,EAAEnJ,MAAMuwC,aACb,iEAEJxK,EAAQyK,WAAa,WACnBP,EAAO9mC,EAAEnJ,MAAMswC,OAAS,GACxBL,EAAO9mC,EAAEnJ,MAAMuwC,aAAe,IAGhC1uB,GAASouB,EAAOxkB,IAAMsa,EACtB58B,EAAE,YAAYwK,YAAYoyB,GAqFlB0K,CAAc7yB,KAAKmyB,SAASh4C,QAIlCyzC,KACA3sB,EAA+BE,EACM,IAAjCA,IAAoCiK,GAA4B,IACrC,IAAtBvL,EAAUsoB,SAAiBnnB,GACpCrjB,OAAO6C,KAAKyjB,IAAUsL,SAASp1B,IAC7B8pB,GAAS9pB,GAAGiI,MAAM6U,QAAUwU,GAAwBtxB,GAAGoR,EAAEnJ,MAAM6U,QAC/DgN,GAAS9pB,GAAGiI,MAAM0wC,UAChBrnB,GAAwBtxB,GAAGoR,EAAEnJ,MAAM0wC,UACrC7uB,GAAS9pB,GAAGqD,YAAckF,KAAKoL,KAC7B2d,GAAwBtxB,GAAG44C,KAAO/yB,KAAKsX,QAiF3CxW,KACCd,KAAKgzB,cAA2C,YAA3BhzB,KAAKgzB,aAAax4C,QAExCsmB,EACEd,KAAKgzB,cAA2C,YAA3BhzB,KAAKgzB,aAAax4C,KACrCsmB,IACF6uB,GAAM,EAAG,gBAAgB,GACzBG,GACEjwB,EAAU2pB,gBACV,eACA,iBACA,GAEF8G,GACE,sBACA,uBACA,kDA9CFzvB,IAAyBb,KAAK0d,aAAaQ,SAASN,UACtD/c,EAAuBb,KAAK0d,aAAaQ,SAASN,QAClDjgC,OAAO6C,KAAKwf,KAAKmyB,UAAU5iB,SAASp1B,IAC9B6lB,KAAKmyB,SAASh4C,GAAGi4C,WAAuC,aAA1BpyB,KAAKmyB,SAASh4C,GAAGK,OACjD6wB,GAAwBrL,KAAKmyB,SAASh4C,OAG1Cw1C,GAAM,EAAG,YAAY,GACrBG,GAAgBjwB,EAAUiqB,YAAa,WAAY,aAAa,GAChEwG,GACE,kBACA,oBACA,0CAtNFtwB,KAAK0N,QAAQmM,KAAKzL,gBAClBrN,IAAuBf,KAAK0N,QAAQmM,KAAKpM,SAASwlB,WAEvB,IAAvBlyB,GAA4BA,EAAqBkf,KAAKC,QACxDyP,GAAM,EAAG,aAAa,GACtBG,GAAgBjwB,EAAUsqB,aAAc,YAAa,cAAc,IAErEppB,EAAqBf,KAAK0N,QAAQmM,KAAKpM,SAASwlB,UAiKpD,WACE,GACEjzB,KAAK0N,QAAQ,gBAAgBU,gBACH,IAA1BvO,EAAUqoB,YACV,CACA,MAAMza,SAAEA,GAAazN,KAAK0N,QAAQ,gBAC9BD,EAAS4J,MAAQ5J,EAAS4L,OAAQnY,GAAmB,EAC/CA,IACRA,GAAmB,EACnByuB,GAAM,EAAG,cAAc,GACvBG,GAAgBjwB,EAAU4qB,cAAe,aAAc,eAAe,GACtE6F,GACE,oBACA,mBACA,6CA+NJ4C,GA5IJ,WACE,GAAIlzB,KAAKC,WAAa,EAAG,CACvB,IAAIkzB,EAAmB,EACvBx1C,OAAO6C,KAAKwf,KAAKwR,WAAWjC,SAASp1B,IACH,IAA5B6lB,KAAKwR,UAAUr3B,GAAGqkC,QAAa2U,GAAoB,MAErDA,EAAmB/xB,GACrBA,EAAoB+xB,EAElBA,IAAqBnzB,KAAKozB,mBAC1BvzB,EAAUorB,iBAEV0E,GAAM,EAAG,oBAAoB,GAE7BA,GAAM,EAAG,iBAAiB,GAG1BwD,IAAqBnzB,KAAKozB,mBAC1BvzB,EAAUsrB,iBAEV2E,GACEjwB,EAAUwrB,oBACV,mBACA,qBACA,GAGFyE,GACEjwB,EAAUkrB,iBACV,gBACA,kBACA,GAIFoI,IAAqBnzB,KAAKozB,mBAC1BvzB,EAAUmrB,wBAEVsF,GACE,0BACA,4BACA,sDAGFA,GACE,uBACA,sBACA,gCAIJlvB,EAAoB+xB,GA0FtBE,IAaJ,SAASC,KACP,IAAI/3C,EAAM,GACV,IAAK,IAAIpB,EAAI,EAAGA,EAAImoB,EAAgBloB,OAAQD,IAC1CoB,GAAO,UAAoB+mB,EAAgBnoB,eACzC0lB,EAAU,SAASyC,EAAgBnoB,aAGvC,IAAK,IAAIA,EAAI,EAAGA,EAAImoB,EAAgBloB,OAAQD,IAC1CoB,GAAO,UAAoB+mB,EAAgBnoB,0BACzC0lB,EAAU,SAASyC,EAAgBnoB,aAGvC,IAAK,IAAIA,EAAI,EAAGA,EAAImoB,EAAgBloB,OAAQD,IAC1CoB,GAAO,YAAsB+mB,EAAgBnoB,0BAC3C0lB,EAAU,SAASyC,EAAgBnoB,aAGvCoR,EAAE,SAAS/N,YAAcjC,EACzB6zB,KAmBF,SAASmkB,KACP,MAAMC,EAAaC,YACjBC,SAASC,aAAaC,QAAQ,sBAAsB5yC,MAAM,SAAS,IAE/D6yC,EAAoBL,EAAW34C,MAAM,wBAC3C,GAA0B,OAAtBg5C,EAA4B,CAC9B,MAAMC,EAAgBN,EAAWzyC,QAC/B8yC,EAAkB,GAClB,iBAAiBjF,QAEnB+E,aAAaI,QACX,oBACAlV,OAAO,GAAGmV,YAAYF,aAS5B,SAASG,GAAWlF,GAKlB,QAHqC,IAA1B4E,aAAaO,iBACfP,aAAaO,cAEL35C,IAAbw0C,EAAwB,CAC1BlvB,EAAYkvB,OAEoB,IAArBlvB,EAAUs0B,eACZt0B,EAAUs0B,YAEc,IAAtBt0B,EAAU8rB,gBACZ9rB,EAAU8rB,QAInB,IAAIyI,GAAM,EACVz2C,OAAO6C,KAAKsnC,IAAiBvY,SAASp1B,SACR,IAAjB0lB,EAAU1lB,IACnBi6C,GAAM,EACNv0B,EAAU1lB,GAAK2tC,GAAgB3tC,IAChB,WAANA,GACTwD,OAAO6C,KAAKsnC,GAAgByD,QAAQhc,SAASmB,SAEd,IAApB7Q,EAAU1lB,GAAGu2B,IAClB7Q,EAAU1lB,GAAGu2B,IAAM,GAAK7Q,EAAU1lB,GAAGu2B,GAAK,IAE5C0jB,GAAM,EACNv0B,EAAU1lB,GAAGu2B,GAAKoX,GAAgB3tC,GAAGu2B,UAKzC0jB,GAAKb,KACT3C,KACAjzC,OAAO6C,KAAKsnC,IAAiBvY,SAASp1B,IAC1B,WAANA,QAAkD,IAAzBs0C,GAAat0C,GAAG+E,MAC3CuvC,GAAat0C,GAAG+E,eAKpB+0C,GAAWnM,IAEb9nB,KAAKmf,aACLmU,KAkJF,SAASe,KACP12C,OAAO6C,KAAKwf,KAAKwR,WAAWjC,SAASp1B,IAC/B6lB,KAAKwR,UAAUr3B,GAAG4kC,OAAS,GAAgC,IAA3B/e,KAAKwR,UAAUr3B,GAAGK,OACpDwlB,KAAKwR,UAAUr3B,GAAGm6C,GAAK,MA6C7B,SAASC,GAAc/5C,EAAMkE,GAC3B,GAAa,MAATlE,EAAc,CAIhB,GAFA+Q,EAAE,WAAWoM,UAAYqI,KAAK0N,QAAQhvB,GAAMk4B,UAEd,IAA1B/W,EAAUyoB,YAAmB,CAC/B,MAAMkM,EAAa3S,GACjB7hB,KAAK0N,QAAQhvB,GACbshB,KAAK0N,QAAQhvB,GAAM8vB,UACnB,EACAxO,KAAK0N,QAAQhvB,GAAM+vB,KACnBzO,KAAK0N,QAAQhvB,GAAMgwB,QAEf+lB,EAAiBD,EAAax0B,KAAK0N,QAAQhvB,GAAM43B,aACnDme,EAAiB,IACnBlpC,EAAE,WAAWoM,UAAYpM,EAAE,WACxBoM,UAAU3W,MAAM,gBAChB6C,KACC,wBAAwBugB,GAA4BqwB,UACnB,IAA/B/xC,KAAKkE,MAAM6tC,GAAwB,SAAW,+BAE9C5uB,IACG2uB,EAAax0B,KAAK0N,QAAQhvB,GAAM43B,eAC9BtW,KAAK0N,QAAQhvB,GAAMg2C,eAAiB10B,KAAK20B,gBAC5C7uB,iBAKU,IAAlB9F,KAAKqP,UASP9jB,EAAE,WAAWoM,UAAYpM,EAAE,WACxBoM,UAAU3W,MAAMojB,GAA4BpE,KAAK0N,QAAQhvB,GAAMy0B,YAC/DtvB,KACCugB,IACGpE,KAAK0N,QAAQhvB,GACdshB,KAAK0N,QAAQhvB,GAAM8vB,UACnBxO,KAAK0N,QAAQhvB,GAAMgwB,OACnB1O,KAAK0N,QAAQhvB,GAAM+vB,KACnBzO,KAAKgP,QACL,WAIH,GAAa,MAATx0B,EAAc,CAEvB,IAAKwlB,KAAKuQ,gBAAgB7xB,GAAO,MAAO,GACxC6M,EAAE,WAAWoM,UAAYqI,KAAK40B,aAC5B50B,KAAKuQ,gBAAgB7xB,GACrB,aAEgB,MAATlE,EAAc+Q,EAAE,WAAWoM,UAAYqI,KAAK60B,cAErC,MAATr6C,EACP+Q,EAAE,WAAWoM,UAAYqI,KAAK0N,QAAQ,gBAAgBD,SAASqnB,aAC7Dp2C,EADuBshB,GAIT,MAATxlB,EACP+Q,EAAE,WAAWoM,UAAYqI,KAAKwkB,YAAY,GAAG/W,SAASsnB,YACpDr2C,EAAK,GACLA,EAAK,GAFkBshB,GAKT,OAATxlB,EACP+Q,EAAE,WAAWoM,UAAYqI,KAAKwkB,YAAY,GAAG/W,SAASunB,YAAY,EAAzCh1B,GACT,OAATxlB,EAAe+Q,EAAE,WAAWoM,UAAY,GAC/B,QAATnd,EACP+Q,EAAE,WAAWoM,UAAYqI,KAAK0N,QAAQF,OAAOC,SAASwnB,WAAWv2C,EAAxCshB,GACT,QAATxlB,IACP+Q,EAAE,WAAWoM,UAAYqI,KAAK0N,QAAQF,OAAOC,SAASynB,YACpDx2C,EAAK,GADkBshB,IAK3B,GACY,MAATxlB,GAAiC,IAAjBwlB,KAAKqP,SACb,MAAT70B,GACS,MAATA,GACS,MAATA,GACU,MAATA,IAAiBwlB,KAAKxf,KAAK,KACnB,OAAThG,GACS,OAATA,GACS,QAATA,GACU,QAATA,IAA+B,IAAbkE,EAAK,GACxB,CACA,MAAMy2C,EAAO18C,SAAS4D,cAAc,OACpC84C,EAAKtnB,GAAK,gBACVtiB,EAAE,WAAWwK,YAAYo/B,GAS3B,OALAvxB,GAAcppB,EACdqpB,GAAcnlB,EAEdk5B,KAEOrsB,EAAE,WAAWoM,UA6GtB,SAASy9B,KACHp1B,KAAK0N,QAAQ,gBAAgBU,gBAC/BzwB,OAAO6C,KAAKwf,KAAK0N,QAAQ,gBAAgBD,SAAS0L,YAAY5J,SAC3Dp1B,IAC4C,OAAvCoR,EAAE,gBAAgBpR,KAAKs4C,cACzBjxB,EAAsBrnB,GAAKoR,EAAE,gBAAgBpR,KAAKs4C,YAClDlnC,EAAE,gBAAgBpR,KAAKs4C,YAAc,WACnCzyB,KAAK4W,QAAQye,QAAU,EACvBr1B,KAAK4W,QAAQjlB,KACX9Y,MACA,WACE,OAAO07C,GAAc,IAAK,GAAGp6C,OAE/B,QAEF6lB,KAAK4W,QAAQ0e,cAoBzB,SAASC,KACP,IACG50B,GACDX,KAAK0N,QAAQ,gBAAgBU,eAC7B,CACA,MAAMX,SAAEA,GAAazN,KAAK0N,QAAQ,gBAClCjN,EAAqBgN,EAAS9b,KAC9BqO,KAAK0N,QAAQ,gBAAgBD,SAAS9b,KAAO,WAC3C8O,IAC8B,IAA1BZ,EAAUqoB,aAAqBza,EAAS4J,MAAQ5J,EAAS4L,SAC3D5L,EAAS+nB,cAAc79B,WAAa,KAAK6N,GACvCyR,GACExJ,EAAS4J,MACT5J,EAAS4L,OACT5L,EAAS4L,cAKjB1Y,GAA+B,GAkCnC,SAAS80B,MA3BT,WACE,IACG/0B,GACDV,KAAK0N,QAAQ,gBAAgBU,eAC7B,CACA,MAAMX,SAAEA,GAAazN,KAAK0N,QAAQ,gBAClCnN,EAAuBkN,EAASioB,OAChCl1B,EAA0B,IAAI5kB,SAC5B,UAAU6xB,EAASioB,OAChB9yC,WACA5B,MAAM,SACN6C,KAAK,8CAEVmc,KAAK0N,QAAQ,gBAAgBD,SAASioB,OAAS,WAC7Cl1B,IACA40B,KACAz0B,GAA+B,EAC/B40B,KAEA70B,GAAiC,IASrCi1B,GACAJ,KAiJF,IAAIr8C,GAAUkmB,EAAoB,KAC9Bw2B,GAA+Bx2B,EAAoBhiB,EAAElE,IA+OzD,MAAM28C,GAA6B,WA8BnC,SAASC,GAAmBlG,GACG,OAAzBrkC,EAAE,SAASqkC,OACbrkC,EAAE,SAASqkC,UAAej4B,UAAY,GAAGpM,EAAE,SAASqkC,KAAUryC,SAC9DsiB,EAAU+vB,GAAUltC,KAAKC,MAAM4I,EAAE,SAASqkC,KAAUryC,QAEtDg2C,KAQF,SAASwC,GAAanG,GACpB/vB,EAAU0rB,OAAOqE,IAAW,EACxB/vB,EAAU0rB,OAAOqE,GAAU,IAAG/vB,EAAU0rB,OAAOqE,GAAU,GAC7D2D,KAiBF,SAASyC,GAAYlwB,EAAM8pB,GACzB,MAAMhf,EAAMn4B,SAAS4D,cAAc,OACnCu0B,EAAIh2B,UAAY,QAChBg2B,EAAIxuB,MAAMwK,QAAU,WACpBgkB,EAAIxuB,MAAM6U,QAAU,MACpB2Z,EAAIxuB,MAAM0vB,SAAW,OACrBlB,EAAIxuB,MAAMkwC,WAAa,2BACvB1hB,EAAI7a,YAAYtd,SAASqgB,eAAe,GAAGgN,OAC3C,MAAMmwB,EAAOx9C,SAAS4D,cAAc,QAiBpC,OAhBA45C,EAAK7zC,MAAM+U,OAAS,UACpB8+B,EAAK7zC,MAAMqV,QAAU,eACrBw+B,EAAK7zC,MAAMmG,OAAS,OACpB0tC,EAAK7zC,MAAMkG,MAAQ,OACnB2tC,EAAK7zC,MAAMsU,aAAe,MAC1Bu/B,EAAK7zC,MAAMuW,UAAY,SACvBs9B,EAAK7zC,MAAM4U,gBAAkB,UAC7Bi/B,EAAK7zC,MAAM2F,MAAQ,QACnBkuC,EAAK7zC,MAAM0vB,SAAW,OACtBmkB,EAAK7zC,MAAM4vB,cAAgB,SAC3BikB,EAAKz4C,YAAcqiB,EAAU0rB,OAAOqE,GAAU,IAAM,IACpDqG,EAAK1D,QAAU,WACbwD,GAAanG,GACb5vB,KAAKmf,cAEPvO,EAAI7a,YAAYkgC,GACTrlB,EAYT,SAASslB,GAAa17C,EAAMkE,EAAMonB,EAAM4Y,GACtC,MAAM9N,EAAMn4B,SAAS4D,cAAc,OACnCu0B,EAAIh2B,UAAY,UAEhB,MAAMu7C,EAAc19C,SAAS4D,cAAc,KAG3C,GAFA85C,EAAY34C,YAAckB,EAC1BkyB,EAAI7a,YAAYogC,GACH,gBAAT37C,EAAwB,CAC1Bo2B,EAAIh2B,UAAY,UAChBg2B,EAAI7a,YAAYtd,SAASqgB,eAAe,MAExC,MAAM8d,EAAUn+B,SAAS4D,cAAc,QACvCu6B,EAAQgc,WAAa,WACnB5yB,KAAK4W,QAAQzlB,QAEfylB,EAAQ6b,YAAc,WACpBzyB,KAAK4W,QAAQjlB,KACX9Y,KACAgmC,OAAOrc,EAAsBkc,GAAa/mB,aAG9Cif,EAAQx0B,MAAM+U,OAAS,UACvByf,EAAQx0B,MAAMqV,QAAU,eACxBmf,EAAQx0B,MAAMmG,OAAS,OACvBquB,EAAQx0B,MAAMkG,MAAQ,OACtBsuB,EAAQx0B,MAAMsU,aAAe,MAC7BkgB,EAAQx0B,MAAMuW,UAAY,SAC1Bie,EAAQx0B,MAAM4U,gBAAkB,UAChC4f,EAAQx0B,MAAM2F,MAAQ,QACtB6uB,EAAQx0B,MAAM0vB,SAAW,MACzB8E,EAAQx0B,MAAM4vB,cAAgB,SAC9B4E,EAAQp5B,YAAc,IACtBozB,EAAI7a,YAAY6gB,GAIlB,OAFAhG,EAAI7a,YAAYtd,SAASqgB,eAAe,OACxC8X,EAAI7a,YAAY+P,GACT8K,EAQT,SAASwlB,GAAcC,GACrB,MAAMC,EAAO79C,SAAS89C,yBACtBD,EAAKvgC,YAAYtd,SAASqgB,eAAe,GAAGu9B,EAAYj8C,YACxD,MAAM67C,EAAOx9C,SAAS4D,cAAc,QACpC45C,EAAKrD,WAAa,WAChB5yB,KAAK4W,QAAQzlB,QAEf,MAAMutB,EAAcjmC,SAAS4D,cAAc,OACrCm6C,EAAU/9C,SAAS4D,cAAc,OACvCm6C,EAAQp0C,MAAMw8B,SAAW,QACzB4X,EAAQp0C,MAAM00B,aAAe,MAC7B,MAAM0Z,EAAQ/3C,SAAS4D,cAAc,OA4BrC,OA3BAm0C,EAAM51C,UAAY,OAClB41C,EAAMpuC,MAAM00B,aAAe,MAC3B0Z,EAAMpuC,MAAMuW,UAAY,SACxB63B,EAAMhzC,YAAc,UACpBg5C,EAAQzgC,YAAYy6B,GACpB7yC,OAAO6C,KAAK61C,GAAa9mB,SAASp1B,IAChC,MAAMy2B,EAAMn4B,SAAS4D,cAAc,OACnCu0B,EAAIxuB,MAAMuW,UAAY,SACtBiY,EAAI7a,YAAYtd,SAASqgB,eAAeu9B,EAAYl8C,KACpDq8C,EAAQzgC,YAAY6a,MAEtB8N,EAAY3oB,YAAYygC,GACxBP,EAAKxD,YAAc,WACjBzyB,KAAK4W,QAAQjlB,KAAK9Y,KAAMgmC,OAAOH,EAAY/mB,aAE7Cs+B,EAAK7zC,MAAM+U,OAAS,UACpB8+B,EAAK7zC,MAAMqV,QAAU,eACrBw+B,EAAK7zC,MAAMmG,OAAS,OACpB0tC,EAAK7zC,MAAMkG,MAAQ,OACnB2tC,EAAK7zC,MAAMsU,aAAe,MAC1Bu/B,EAAK7zC,MAAMuW,UAAY,SACvBs9B,EAAK7zC,MAAM4U,gBAAkB,UAC7Bi/B,EAAK7zC,MAAM2F,MAAQ,QACnBkuC,EAAK7zC,MAAM0vB,SAAW,MACtBmkB,EAAK7zC,MAAM4vB,cAAgB,SAC3BikB,EAAKz4C,YAAc,IACnB84C,EAAKvgC,YAAYkgC,GACVK,EAgjCT,SAASG,GAAajG,GACpB,MAAMkG,EAAQj+C,SAAS4D,cAAc,OAiCrC,GAhCAq6C,EAAM97C,UAAY,aAClB87C,EAAM3gC,YAAYy6B,GAElBkG,EAAM3gC,YAAYigC,GAAY,gBAAiB,UAC3Cn2B,EAAU0rB,OAAOkB,OACnBiK,EAAM3gC,YAjiCV,WAEE,MAAM4gC,EAAkB32B,KAAKqjB,SAAS,oBAClC,2CACA,6BAEEuT,EAAUn+C,SAAS4D,cAAc,OACvCu6C,EAAQh8C,UAAY,sBAEpB,MAAMi8C,EACJ72B,KAAKoT,QAAU3B,KAAuBlJ,GAAatG,EAAYH,EAC3Dg1B,EACJ92B,KAAKoT,QAAU3B,KAAuBlJ,GAClC/C,IACG+C,IAAcvI,KAAKoT,QAAU3B,OAAyBN,MAEzD,GACA4lB,EAAet+C,SAAS89C,yBACxBS,EAAev+C,SAAS4D,cAAc,QAK5C,GAJA26C,EAAa50C,MAAMs0B,WAAa,OAChCsgB,EAAap8C,UAAY+mB,EAAgBk1B,EACzCG,EAAax5C,YAAc4mB,GAA4BmE,IACvDwuB,EAAahhC,YAAYihC,GACP,KAAdF,EAAkB,CACpB,MAAMG,EAAgBx+C,SAAS4D,cAAc,SAC7C46C,EAAcz5C,YAAc,KAAKs5C,KACjCC,EAAahhC,YAAYkhC,GAE3BL,EAAQ7gC,YACNmgC,GACE,cACA,4BACAa,EACAJ,IAIJ,MAAMO,EACJl3B,KAAKoT,QAAU3B,KAAuB/I,GAClCzG,EACAH,EACAq1B,EACJn3B,KAAKoT,QAAU3B,KAAuB/I,GAClClD,IACGkD,IAAoB1I,KAAKoT,QAAU3B,OAAyBN,MAE/D,GACAimB,EAAmB3+C,SAAS89C,yBAC5Bc,EAAmB5+C,SAAS4D,cAAc,QAKhD,GAJAg7C,EAAiBj1C,MAAMs0B,WAAa,OACpC2gB,EAAiBz8C,UAAY+mB,EAAgBu1B,EAC7CG,EAAiB75C,YAAc4mB,GAA4BsE,IAC3D0uB,EAAiBrhC,YAAYshC,GACL,KAApBF,EAAwB,CAC1B,MAAMG,EAAoB7+C,SAAS4D,cAAc,SACjDi7C,EAAkB95C,YAAc,KAAK25C,KACrCC,EAAiBrhC,YAAYuhC,GAE/BV,EAAQ7gC,YACNmgC,GACE,cACA,qCACAkB,EACAT,IAIJ,MAAMY,EAAa/uB,KAAqBC,GAElC+uB,EAAqB/+C,SAAS4D,cAAc,QAClDm7C,EAAmBp1C,MAAMs0B,WAAa,OACtC8gB,EAAmB58C,UAAY+mB,EAAgB6G,GAC/CgvB,EAAmBh6C,YACjB4mB,GAA4BoE,KAC3B+uB,EAAa,MAAMnzB,GAA4BqE,MAA2B,IAC7EmuB,EAAQ7gC,YACNmgC,GACE,cACA,yBAAwBqB,EAAa,oBAAsB,IAC3DC,EACAb,IAIJ,MAAMc,EAA2Bh/C,SAAS4D,cAAc,QACxDo7C,EAAyBr1C,MAAMs0B,WAAa,OAC5C+gB,EAAyB78C,UAAY+mB,EAAgB81B,EACrDA,EAAyBj6C,YACvB4mB,GAA4BuE,KAC3B4uB,EAAa,MAAMnzB,GAA4BwE,MAAiC,IACnFguB,EAAQ7gC,YACNmgC,GACE,cACA,kCAAiCqB,EAAa,oBAAsB,IACpEE,EACAd,IAIJ,MAAMe,EACJh1C,KAAK2D,IACqC,KAAvC2Z,KAAKoT,QAAU3B,MAChBxI,GAA6BC,GAAoC,GAAK,IACpE,GACAyuB,EAAel/C,SAAS4D,cAAc,QAc5C,OAbAs7C,EAAav1C,MAAMs0B,WAAa,OAChCihB,EAAa/8C,UAAY+mB,EAAgBg2B,EACzCA,EAAan6C,YACX4mB,GAA4B+E,GAAyBuuB,IACpDH,EAAa,MAAMnzB,GAA4BgF,GAAwBsuB,KAAkB,IAC5Fd,EAAQ7gC,YACNmgC,GACE,cACA,yBAAwBqB,EAAa,oBAAsB,IAC3DI,EACAhB,IAGGC,EA26BagB,IAGpBlB,EAAM3gC,YAAYigC,GAAY,gBAAiB,UAC3Cn2B,EAAU0rB,OAAOmB,OACnBgK,EAAM3gC,YAz6BV,WAEE,MAAM4gC,EAAkB32B,KAAKqjB,SAAS,oBAClC,2CACA,6BAEEuT,EAAUn+C,SAAS4D,cAAc,OACvCu6C,EAAQh8C,UAAY,sBAEpB,MAAMi9C,EACJ73B,KAAKoT,QAAU3B,KAAuBnH,GAClCrI,EACAH,EACAg2B,EACJ93B,KAAKoT,QAAU3B,KAAuBnH,GAClC9E,IACG8E,IAAsBtK,KAAKoT,QAAU3B,OACpCN,MAEJ,GACA4mB,EAAet/C,SAAS89C,yBACxByB,EAAev/C,SAAS4D,cAAc,QAK5C,GAJA27C,EAAa51C,MAAMs0B,WAAa,OAChCshB,EAAap9C,UAAY+mB,EAAgBk2B,EACzCG,EAAax6C,YAAc4mB,GAA4BkG,IACvDytB,EAAahiC,YAAYiiC,GACP,KAAdF,EAAkB,CACpB,MAAMG,EAAgBx/C,SAAS4D,cAAc,SAC7C47C,EAAcz6C,YAAc,KAAKs6C,KACjCC,EAAahiC,YAAYkiC,GAE3BrB,EAAQ7gC,YACNmgC,GACE,cACA,2BACA6B,EACApB,IAIJ,MAAMuB,EACJl4B,KAAKoT,QAAU3B,KAAuBhH,GAClCxI,EACAH,EACAq2B,EACJn4B,KAAKoT,QAAU3B,KAAuBhH,GAClCjF,IACGiF,IAA2BzK,KAAKoT,QAAU3B,OACzCN,MAEJ,GACAinB,EAAoB3/C,SAAS89C,yBAC7B8B,EAAoB5/C,SAAS4D,cAAc,QAKjD,GAJAg8C,EAAkBj2C,MAAMs0B,WAAa,OACrC2hB,EAAkBz9C,UAAY+mB,EAAgBu2B,EAC9CG,EAAkB76C,YAAc4mB,GAA4BqG,IAC5D2tB,EAAkBriC,YAAYsiC,GACP,KAAnBF,EAAuB,CACzB,MAAMG,EAAqB7/C,SAAS4D,cAAc,SAClDi8C,EAAmB96C,YAAc,KAAK26C,KACtCC,EAAkBriC,YAAYuiC,GAEhC1B,EAAQ7gC,YACNmgC,GACE,cACA,mCACAkC,EACAzB,IAIJ,MAAM4B,EACJv4B,KAAKoT,QAAU3B,KAAuB7G,GAClC3I,EACAH,EACA02B,EACJx4B,KAAKoT,QAAU3B,KAAuB7G,GAClCpF,IACGoF,IAA4B5K,KAAKoT,QAAU3B,OAC1CN,MAEJ,GACAsnB,EAAmBhgD,SAAS89C,yBAC5BmC,EAAmBjgD,SAAS4D,cAAc,QAKhD,GAJAq8C,EAAiBt2C,MAAMs0B,WAAa,OACpCgiB,EAAiB99C,UAAY+mB,EAAgB42B,EAC7CG,EAAiBl7C,YAAc4mB,GAA4BwG,IAC3D6tB,EAAiB1iC,YAAY2iC,GACL,KAApBF,EAAwB,CAC1B,MAAMG,EAAoBlgD,SAAS4D,cAAc,SACjDs8C,EAAkBn7C,YAAc,KAAKg7C,KACrCC,EAAiB1iC,YAAY4iC,GAE/B/B,EAAQ7gC,YACNmgC,GACE,cACA,oCACAuC,EACA9B,IAIJ,MAAMiC,EACJ54B,KAAKoT,QAAU3B,KAAuB1G,GAClC9I,EACAH,EACA+2B,EACJ74B,KAAKoT,QAAU3B,KAAuB1G,GAClCvF,IACGuF,IACE/K,KAAKoT,QAAU3B,OAChBN,MAEJ,GACA2nB,EAAwBrgD,SAAS89C,yBACjCwC,EAAwBtgD,SAAS4D,cAAc,QAKrD,GAJA08C,EAAsB32C,MAAMs0B,WAAa,OACzCqiB,EAAsBn+C,UAAY+mB,EAAgBi3B,EAClDG,EAAsBv7C,YAAc4mB,GAA4B2G,IAChE+tB,EAAsB/iC,YAAYgjC,GACL,KAAzBF,EAA6B,CAC/B,MAAMG,EAAyBvgD,SAAS4D,cAAc,SACtD28C,EAAuBx7C,YAAc,KAAKq7C,KAC1CC,EAAsB/iC,YAAYijC,GAEpCpC,EAAQ7gC,YACNmgC,GACE,cACA,4CACA4C,EACAnC,IAIJC,EAAQ7gC,YACNmgC,GACE,cACA,wCACAz9C,SAASqgB,eACP,GAAGsL,GAA4BoG,GAAoB,SAASpG,GAC1DuG,GAAyB,OAG7BgsB,IAIJC,EAAQ7gC,YACNmgC,GACE,cACA,iDACAz9C,SAASqgB,eACP,GAAGsL,GAA4B0G,GAA0B,SAAS1G,GAChE0G,GAA0B,OAG9B6rB,IAIJ,MAAMsC,EAAcv2C,KAAK2D,IACN,GAAjB2Z,KAAKsR,UAAiB,GAAK,EAAIpI,GAChB,GAAflJ,KAAKoT,SAED8lB,EAAWpT,GACf,EACAmT,EACA9vB,IACA,GACIgwB,EAAgBrT,GACpB,EACAmT,EACA7vB,IACA,GAoCF,OAnCAwtB,EAAQ7gC,YACNmgC,GACE,cACA,wCACAz9C,SAASqgB,eACP,GAAGsL,GAA4B80B,QAAe90B,GAA4B+0B,MAE5ExC,IAIJC,EAAQ7gC,YACNmgC,GACE,cACA,oCACAz9C,SAASqgB,eACP,GAAGsL,GAA4BmG,SAA6BnG,GAC1DsG,OAGJ,8BAGJksB,EAAQ7gC,YACNmgC,GACE,cACA,6CACAz9C,SAASqgB,eACP,GAAGsL,GAA4ByG,SAAmCzG,GAChE4G,OAGJ,8BAGG4rB,EAwtBawC,IAGhBp5B,KAAK0N,QAAQ,gBAAgBU,iBAC/BsoB,EAAM3gC,YAAYigC,GAAY,SAAU,WACpCn2B,EAAU0rB,OAAOoB,QACnB+J,EAAM3gC,YAvtBZ,WACE,MAAM6gC,EAAUn+C,SAAS4D,cAAc,OACvCu6C,EAAQh8C,UAAY,uBAEpB,MAAMy+C,EACJr5B,KAAKoT,QAAU3B,KAAuB5I,GAClC5G,EACAH,EACAw3B,EACJt5B,KAAKoT,QAAU3B,KAAuB5I,GAClCrD,IACGqD,IAAgB7I,KAAKoT,QAAU3B,OAAyBN,MAE3D,GAEAooB,EAAiB9gD,SAAS89C,yBAC1BiD,EAAiB/gD,SAAS4D,cAAc,QAK9C,GAJAm9C,EAAep3C,MAAMs0B,WAAa,OAClC8iB,EAAe5+C,UAAY+mB,EAAgB03B,EAC3CG,EAAeh8C,YAAc4mB,GAA4ByE,IACzD0wB,EAAexjC,YAAYyjC,GACP,KAAhBF,EAAoB,CACtB,MAAMG,EAAkBhhD,SAAS4D,cAAc,SAC/Co9C,EAAgBj8C,YAAc,KAAK87C,KACnCC,EAAexjC,YAAY0jC,GAE7B7C,EAAQ7gC,YACNmgC,GACE,cACA,yCACAqD,EACA,+BAGJ3C,EAAQ7gC,YACNmgC,GACE,cACA,qCACAz9C,SAASqgB,eAAesL,GAA4B0E,KACpD,+BAIJ,MAAM4wB,EACJ15B,KAAKoT,QAAU3B,KAAsC,EAAf5I,GAClC5G,EACAH,EACA63B,EAAmBj3C,KAAK2D,IACY,KAAvC2Z,KAAKoT,QAAU3B,MACa,GAA7BxI,GAAkC,IAE9B2wB,EACJ55B,KAAKoT,QAAU3B,KAAsC,EAAf5I,GAClCrD,IACkB,EAAfqD,IAAoB7I,KAAKoT,QAAU3B,OAAyBN,MAE/D,GAEA0oB,EAAuBphD,SAAS89C,yBAChCuD,EAAuBrhD,SAAS4D,cAAc,QAKpD,GAJAy9C,EAAqB13C,MAAMs0B,WAAa,OACxCojB,EAAqBl/C,UAAY+mB,EAAgB+3B,EACjDI,EAAqBt8C,YAAc4mB,GAA2C,EAAfyE,IAC/DgxB,EAAqB9jC,YAAY+jC,GACP,KAAtBF,EAA0B,CAC5B,MAAMG,EAAwBthD,SAAS4D,cAAc,SACrD09C,EAAsBv8C,YAAc,KAAKo8C,KACzCC,EAAqB9jC,YAAYgkC,GAsCnC,OApCAnD,EAAQ7gC,YACNmgC,GACE,cACA,kDACA2D,EACA,+BAGJjD,EAAQ7gC,YACNmgC,GACE,cACA,8CACAz9C,SAASqgB,eAAesL,GAAiD,EAArB0E,KACpD,+BAGJ8tB,EAAQ7gC,YACNmgC,GACE,cACA,qCACAz9C,SAASqgB,eAAesL,GAA4Bu1B,IACpD,+BAGA5wB,IACF6tB,EAAQ7gC,YACNmgC,GACE,cACA,mEACAz9C,SAASqgB,eACP,GAAGsL,GAA4B2E,QAAkBC,OAEnD,+BAIC4tB,EA8mBeoD,KAIlBh6B,KAAK0N,QAAQmM,KAAKzL,iBACpBsoB,EAAM3gC,YAAYigC,GAAY,SAAU,WACpCn2B,EAAU0rB,OAAOqB,QACnB8J,EAAM3gC,YA9mBZ,WACE,MAAM6gC,EAAUn+C,SAAS4D,cAAc,OACvCu6C,EAAQh8C,UAAY,uBAEpB,MAAMq/C,EACJj6B,KAAKoT,QAA2B,GAAjBpT,KAAKsR,UAAiB,GAAK,IAAMrP,EAAYH,EACxDo4B,EAAgBzhD,SAAS4D,cAAc,QAC7C69C,EAAc93C,MAAMs0B,WAAa,OACjCwjB,EAAct/C,UAAY+mB,EAAgBs4B,EAC1CC,EAAc18C,YAAc4mB,GAA6C,GAAjBpE,KAAKsR,UAAiB,GAAK,KACnFslB,EAAQ7gC,YACNmgC,GACE,QACA,iDACAgE,IAIJ,MAAMC,EACJn6B,KAAKoT,QAA2B,GAAjBpT,KAAKsR,UAAiB,IAAMrP,EAAYH,EACnDs4B,EAAgB3hD,SAAS4D,cAAc,QAC7C+9C,EAAch4C,MAAMs0B,WAAa,OACjC0jB,EAAcx/C,UAAY+mB,EAAgBw4B,EAC1CC,EAAc58C,YAAc4mB,GAA6C,GAAjBpE,KAAKsR,UAAiB,KAC9EslB,EAAQ7gC,YACNmgC,GACE,QACA,iDACAkE,IAIJ,MAAMC,EACJr6B,KAAKoT,QAA2B,GAAjBpT,KAAKsR,UAAiB,GAAK,GAAKrP,EAAYH,EACvDw4B,EAAgB7hD,SAAS4D,cAAc,QAC7Ci+C,EAAcl4C,MAAMs0B,WAAa,OACjC4jB,EAAc1/C,UAAY+mB,EAAgB04B,EAC1CC,EAAc98C,YAAc4mB,GAA6C,GAAjBpE,KAAKsR,UAAiB,GAAK,IACnFslB,EAAQ7gC,YACNmgC,GACE,QACA,iDACAoE,IAIJ,MAAMC,EACJv6B,KAAKoT,QAA2B,GAAjBpT,KAAKsR,UAAiB,GAAK,IAAMrP,EAAYH,EACxD04B,EAAgB/hD,SAAS4D,cAAc,QAC7Cm+C,EAAcp4C,MAAMs0B,WAAa,OACjC8jB,EAAc5/C,UAAY+mB,EAAgB44B,EAC1CC,EAAch9C,YAAc4mB,GAA6C,GAAjBpE,KAAKsR,UAAiB,GAAK,KACnFslB,EAAQ7gC,YACNmgC,GACE,QACA,iDACAsE,IAGJ,MAAMC,EAAoB,GAe1B,OAdA98C,OAAO6C,KAAKwjC,IAAYzU,SAASp1B,IAC1B6lB,KAAKghB,YAAYgD,GAAW7pC,KAC/BsgD,EAAkBx+C,KAAK+nC,GAAW7pC,OAGL,IAA7BsgD,EAAkBrgD,QACpBw8C,EAAQ7gC,YACNmgC,GACE,QACA,kCACAE,GAAcqE,KAIb7D,EAoiBe8D,KAItBhE,EAAM3gC,YAAYigC,GAAY,WAAY,aACtCn2B,EAAU0rB,OAAOsB,UACnB6J,EAAM3gC,YAniBV,WACE,MAAM6gC,EAAUn+C,SAAS4D,cAAc,OACvCu6C,EAAQh8C,UAAY,yBAEpB,MAAM+/C,EAAkBj4C,KAAKkE,MAC3BoZ,KAAK0mB,gBACHxb,GACElL,KAAK2mB,aACL/c,IACC5J,KAAKghB,YAAY,mBAAqBhhB,KAAK6d,IAAI,iBAC5CrU,GACA,KAGVotB,EAAQ7gC,YACNmgC,GACE,cACA,6BACAz9C,SAASqgB,eACP,GAAGsL,GAA4BpE,KAAKqW,eAAejS,GAA4Bu2B,MAEjF,+BAIJ,MAAMC,EAAal4C,KAAK6D,IACtB,EACAyZ,KAAKiyB,oBAAoB0I,EAAkB,IACxCzvB,GACClL,KAAK2mB,aACL/c,IAEE5J,KAAKghB,YAAY,mBAAqBhhB,KAAK6d,IAAI,kBAC3CrU,GAGFA,GACA,KAEJqxB,EAAkBpiD,SAAS89C,yBACjCsE,EAAgB9kC,YAAYtd,SAASqgB,eAAesL,GAA4Bw2B,KAChF,MAAME,EAAmBriD,SAAS4D,cAAc,SAChDy+C,EAAiBt9C,YAAc,KAAKgoB,GAClCo1B,EAAazvB,GACb,MAEF0vB,EAAgB9kC,YAAY+kC,GAC5BlE,EAAQ7gC,YACNmgC,GACE,cACA,wBACA2E,EACA,gCAIJjE,EAAQ7gC,YACNmgC,GACE,cACA,6BACAz9C,SAASqgB,eACP,GAAGsL,GAA4BpE,KAAK+6B,oBAAoB32B,GACtDu2B,EAAkB36B,KAAKqW,SAAWrW,KAAK+6B,kBAG3C,oCAIJnE,EAAQ7gC,YACNmgC,GACE,QACA,6CACAz9C,SAASqgB,eAAesL,GAA4BiF,GAAkB,MAI1E,MAAM2xB,EAAWn2B,OAAOhF,EAAU6oB,qBAClC,IAAK7jB,OAAOpJ,MAAMu/B,GAAW,CAC3B,MAAMC,EACJD,EACAt4C,KAAKkE,MAAMoZ,KAAK0mB,gBAAgB1mB,KAAK2mB,aAAe3mB,KAAKogB,gBACvD6a,EAAoB,IACtBrE,EAAQ7gC,YACNmgC,GACE,QACA,iDACAz9C,SAASqgB,eAAesL,GAA4B62B,MAGxDrE,EAAQ7gC,YACNmgC,GACE,QACA,mDACAz9C,SAASqgB,eACP0M,GAAWy1B,EAAoB5xB,QAOzC,MAAM6xB,EAr6BR,SAAoBC,GAElB,IAAIC,EAASp7B,KAAKsR,UAElB0E,KAE2C,IAAvCzJ,GAAY,gBAAgBc,SAC9Bd,GAAY,wBAAwBc,OAAS,EAC7Cd,GAAY,yBAAyBc,OAAS,EAC9Cd,GAAY,mBAAmBc,OAAS,EACxCd,GAAY,0BAA0Bc,OAAS,EAC/Cd,GAAY,gBAAgBc,OAAS,EAErC0U,KAEAqZ,EAASnzB,GAET+N,MAGE9K,IAA0B,KAAS4W,GAAO,aAC1C5W,IAA0B,KAAY4W,GAAO,YAC7C5W,IAA0B,MAAe4W,GAAO,gBAChD5W,IAA0B,MAAkB4W,GAAO,YACnD5W,IAA0B,MAAqB4W,GAAO,iBACtD5W,IAA0B,MAC5B4W,GAAO,kBACL5W,IAA0B,MAC5B4W,GAAO,iBACL5W,IAA0B,MAC5B4W,GAAO,cACL5W,IAA0B,MAC5B4W,GAAO,iBACL5W,IAA0B,MAC5B4W,GAAO,uBACL5W,IAA0B,MAC5B4W,GAAO,mBACL5W,IAA0B,MAC5B4W,GAAO,uBACL5W,IAA0B,MAC5B4W,GAAO,wBACL5W,IAA0B,MAC5B4W,GAAO,mBAEP5W,IAA0B,MAE1B4W,GAAO,WAEP5W,IACA,MAEA4W,GAAO,iBAEP5W,IACA,MAEA4W,GAAO,iCAETvV,GAAY,wBAAwBc,OAAS,EAC7Cd,GAAY,yBAAyBc,OAAS,EAC9Cd,GAAY,mBAAmBc,OAAS,EACxCd,GAAY,0BAA0Bc,OAAS,EAC/Cd,GAAY,gBAAgBc,OAAS,EAErC5F,GAAc0zB,EAEd,MAAMjW,EAAwB3d,GAE9Bwa,KAEAmC,KAEIgB,IAA0B3d,IAC5Bwa,KAGF,MAAMsZ,EAAWpzB,GAAemzB,EAKhC,OAFA3zB,GAAczH,KAAKqW,SAEZglB,EAo1BYC,CAAWX,GACxBY,EAAY9iD,SAAS89C,yBAC3BgF,EAAUxlC,YAAYtd,SAASqgB,eAAesL,GAA4B82B,KAC1E,MAAMjjB,EAAWv1B,KAAKC,MAAOu4C,EAAal7B,KAAKsR,UAAa,KAC5D,GAAIzM,OAAOC,SAASmT,IAA0B,IAAbA,EAAgB,CAC/C,MAAMujB,EAAa/iD,SAAS4D,cAAc,SAC1Cm/C,EAAWh+C,YAAc,KAAKy6B,EAAW,kBACzCsjB,EAAUxlC,YAAYylC,GAExB5E,EAAQ7gC,YACNmgC,GACE,cACA,qBACAqF,EACA,4BAIJ,MAAME,EAAkB/4C,KAAKkE,MAAMoZ,KAAK0mB,gBAAgB1mB,KAAK2mB,eACvD+U,EAAWh5C,KAAKkE,MACpBoZ,KAAK0mB,gBAAgB1mB,KAAK2mB,aAAe3mB,KAAKogB,gBAE1Cub,EAAUD,EAAWD,EAC3B,IAAKz7B,KAAK6d,IAAI,eAAgB,CAC5B,IAAI+d,EAAS,EAAKF,EAAW,GACzBE,EAAS,IAAGA,GAAU,IAC1B,MAAMC,EAAaF,EAAUC,EACvBE,EAAaJ,EAAWE,EACxBG,EAAQtjD,SAAS89C,yBACvBwF,EAAMhmC,YACJtd,SAASqgB,eACP,GAAGgjC,EAAW52B,sBAAsB22B,EAAW32B,sBAAsB02B,OAGzEhF,EAAQ7gC,YACNmgC,GAAa,QAAS,qCAAsC6F,IAIhE,IAAK/7B,KAAK6d,IAAI,gBAAiB,CAC7B,IAAIme,EAAW,IAAON,EAAW,IAC7BM,EAAW,IAAGA,GAAY,KAC9B,MAAMC,EAAeN,EAAUK,EACzBE,EAAeR,EAAWM,EAC1BG,EAAU1jD,SAAS89C,yBACzB4F,EAAQpmC,YACNtd,SAASqgB,eACP,GAAGojC,EAAah3B,sBAAsB+2B,EAAa/2B,sBAAsB82B,OAG7EpF,EAAQ7gC,YACNmgC,GAAa,QAAS,sCAAuCiG,IAIjE,IAAKn8B,KAAK6d,IAAI,gBAAiB,CAC7B,IAAIue,EAAc,OAAUV,EAAW,IACnCU,EAAc,IAAGA,GAAe,KACpC,MAAMC,EAAkBV,EAAUS,EAC5BE,EAAkBZ,EAAWU,EAC7BG,EAAa9jD,SAAS89C,yBAC5BgG,EAAWxmC,YACTtd,SAASqgB,eACP,GAAGwjC,EAAgBp3B,sBAAsBm3B,EAAgBn3B,sBAAsBk3B,OAGnFxF,EAAQ7gC,YACNmgC,GAAa,QAAS,sCAAuCqG,IAIjE,OAAO3F,EAsXa4F,IAGhBx8B,KAAKuR,UAAY,IACnBmlB,EAAM3gC,YAAYigC,GAAY,YAAa,UACvCn2B,EAAU0rB,OAAOuB,OAAO,CAC1B,MAAM2P,EAAahkD,SAAS89C,yBAC5BkG,EAAW1mC,YACTtd,SAASqgB,eACP,GAAGsL,GAA4BwF,SAA0BxF,GACvDyF,SAIN,MAAM6yB,EAAUjkD,SAAS4D,cAAc,KACvCqgD,EAAQl/C,YAAc,iBACtBk/C,EAAQ9hD,UAAY,SACpB8hD,EAAQnK,QAAU,WAChB8B,MAEFoI,EAAW1mC,YAAY2mC,GACvBhG,EAAM3gC,YACJmgC,GACE,QACA,kCACAuG,IAGJ,MAAME,EAAiBlkD,SAAS89C,yBAChCoG,EAAe5mC,YACbtd,SAASqgB,eAAe,GAAGsL,GAA4B0F,GAAsB,SAE/E,MAAM8yB,EAAcnkD,SAAS4D,cAAc,KAC3CugD,EAAYp/C,YAAc,qBAC1Bo/C,EAAYhiD,UAAY,SACxBgiD,EAAYrK,QAAU,WACa,OAA7BzoB,GAAsB,KACxB9J,KAAKwR,UAAU1H,GAAsB,IAAIwqB,GAAK,IAElDqI,EAAe5mC,YAAY6mC,GAC3BlG,EAAM3gC,YACJmgC,GACE,QACA,6DAC+B,OAA7BpsB,GAAsB,GAClBA,GAAsB,GACtB,UAEN6yB,IASR,GAHAjG,EAAM3gC,YAraR,WACE,MAAM6gC,EAAUn+C,SAAS4D,cAAc,OACvCu6C,EAAQh8C,UAAY,uBAEpB,IAAIiiD,GAAW,EACf,MAAMC,EAA0B,GAChCn/C,OAAO6C,KAAKqjC,IAActU,SAASp1B,IAC5B6lB,KAAK6d,IAAIgG,GAAa1pC,MACzB2iD,EAAwB7gD,KAAK4nC,GAAa1pC,IAC1C0iD,GAAW,MAGf,MAAME,EAA0B,GAChCp/C,OAAO6C,KAAKsjC,IAAevU,SAASp1B,IAC7B6lB,KAAK6d,IAAIiG,GAAc3pC,MAC1B4iD,EAAwB9gD,KAAK6nC,GAAc3pC,IAC3C0iD,GAAW,MAGf,MAAMG,EAA0B,GAChCr/C,OAAO6C,KAAKujC,IAAYxU,SAASp1B,IAC1B6lB,KAAK6d,IAAIkG,GAAW5pC,MACvB6iD,EAAwB/gD,KAAK8nC,GAAW5pC,IACxC0iD,GAAW,MAGf,MAAMI,EAAoB,GAC1Bt/C,OAAO6C,KAAKwf,KAAKk9B,UAAU3tB,SAASp1B,IAC7B6lB,KAAKghB,YAAYhhB,KAAKk9B,SAAS/iD,MAClC8iD,EAAkBhhD,KAAK+jB,KAAKk9B,SAAS/iD,IACrC0iD,GAAW,MAGf,MAAMM,EAAkB,GACxBx/C,OAAO6C,KAAKwf,KAAKo9B,cAAc7tB,SAASp1B,IACjC6lB,KAAKghB,YAAYhhB,KAAKo9B,aAAajjD,MACtCgjD,EAAgBlhD,KAAK+jB,KAAKo9B,aAAajjD,IACvC0iD,GAAW,MAGf,MAAM9b,EACJ/gB,KAAKghB,YAAY,mBAAqBhhB,KAAK6d,IAAI,iBAC3Cwf,EAAUr9B,KAAK6d,IAAI,eAEzB,IAAoB,cAAhB7d,KAAKie,QAA0B4e,GAAY9b,GAAUsc,KACvDzG,EAAQ7gC,YAAYigC,GAAY,kBAAmB,QAC/Cn2B,EAAU0rB,OAAOwB,KAAK,CACxB,GAAuC,IAAnC+P,EAAwB1iD,OAAc,CACxCw8C,EAAQ7gC,YACNmgC,GACE,QACA,gCACAE,GAAc0G,KAGlB,IAAIQ,EAAoB,IAIxB,GAHIt9B,KAAKmY,UAAU,oBAAmBmlB,EAAoB,IACtDt9B,KAAK6d,IAAI,gBAAeyf,GAAqB,IACjDA,GAAqB,EAAIt9B,KAAKu9B,eAC1Bv9B,KAAKuN,OAAQ,CACf,MAAMc,EAASrO,KAAKuN,OAAO,WACZ,IAAXc,EAAcivB,GAAqB,GACnB,IAAXjvB,EAAcivB,GAAqB,IACxB,IAAXjvB,IAAcivB,GAAqB,KAE9C,MAAME,EAAwBV,EAAwB1iD,OAAS,EAC/Dw8C,EAAQ7gC,YACNmgC,GACE,QACA,4DACAz9C,SAASqgB,eACP,GAAGsL,IACA,EAAIk5B,GAAqBE,EAAwB,WAC5Cp5B,IACL,EAAwB,GAApBk5B,GAA2BE,EAAwB,WAMlE,GAAuC,IAAnCT,EAAwB3iD,OAAc,CACxCw8C,EAAQ7gC,YACNmgC,GACE,QACA,gCACAE,GAAc2G,KAGlB,IAAIU,EAAoB,GAIxB,GAHIz9B,KAAKmY,UAAU,iBAAgBslB,EAAoB,IACvDA,GAAqB,EAAIz9B,KAAKu9B,eAC1Bv9B,KAAK6d,IAAI,cAAa4f,GAAqB,KAC3Cz9B,KAAKuN,OAAQ,CACf,MAAMc,EAASrO,KAAKuN,OAAO,WACZ,IAAXc,EAAcovB,GAAqB,GACnB,IAAXpvB,EAAcovB,GAAqB,IACxB,IAAXpvB,IAAcovB,GAAqB,KAE9C,MAAMD,EAAwBT,EAAwB3iD,OAAS,EAC/Dw8C,EAAQ7gC,YACNmgC,GACE,QACA,6CACAz9C,SAASqgB,eACP,GAAGsL,IACA,EAAIq5B,GAAqBD,EAAwB,WAMrB,IAAnCR,EAAwB5iD,QAC1Bw8C,EAAQ7gC,YACNmgC,GACE,QACA,gCACAE,GAAc4G,KAIpB,MAAMU,EAAc,SAAUC,GAC5B,IAAIC,EAAcD,GAAoB,EAAI39B,KAAKu9B,gBAI/C,GAHIv9B,KAAKmY,UAAU,0BAAyBylB,GAAe,IACvD59B,KAAK6d,IAAI,cAAa+f,GAAe,IACrC59B,KAAK6d,IAAI,eAAc+f,GAAe,IACtC59B,KAAKuN,OAAQ,CACf,MAAMc,EAASrO,KAAKuN,OAAO,WACZ,IAAXc,EAAcuvB,GAAe,GACb,IAAXvvB,EAAcuvB,GAAe,IAClB,IAAXvvB,IAAcuvB,GAAe,KAGxC,MAAMC,EAAgB,EAAID,EACpBE,EAAe99B,KAAKk9B,SAAS9iD,OAAS6iD,EAAkB7iD,OACxD2jD,EACJ/9B,KAAKo9B,aAAahjD,OAAS+iD,EAAgB/iD,OACvC4jD,EACY,GAAhBH,GAAuB,EAAIC,EAAe99B,KAAKk9B,SAAS9iD,QACpD6jD,EAEJ,GADAJ,GAEC,EAAIE,EAAmB/9B,KAAKo9B,aAAahjD,QAKtC8jD,EAHY,GAAhBL,GAAuBC,EAAe99B,KAAKk9B,SAAS9iD,QAEpC,GAAhByjD,GAAuBE,EAAmB/9B,KAAKo9B,aAAahjD,QAM9D,MAAO,CAAC4jD,EAHI,GAAVE,GAAiB,EAAIJ,EAAe99B,KAAKk9B,SAAS9iD,QAGvB6jD,EADjB,GAAVC,GAAiB,EAAIH,EAAmB/9B,KAAKo9B,aAAahjD,UAG7B,IAA7B6iD,EAAkB7iD,SACpBw8C,EAAQ7gC,YACNmgC,GACE,QACA,oCACAE,GAAc6G,KAGlBrG,EAAQ7gC,YACNmgC,GACE,QACA,yDACAz9C,SAASqgB,eACP,GAAGsL,GAAmD,IAAvBs5B,EAAY,KAAM,UAAgBt5B,GACzC,IAAtBs5B,EAAY,IAAK,WAMI,IAA3BP,EAAgB/iD,SAClBw8C,EAAQ7gC,YACNmgC,GACE,QACA,kCACAE,GAAc+G,KAGlBvG,EAAQ7gC,YACNmgC,GACE,QACA,6DACAz9C,SAASqgB,eACP,GAAGsL,GAAmD,IAAvBs5B,EAAY,KAAM,UAAgBt5B,GACzC,IAAtBs5B,EAAY,IAAK,WAOP,cAAhB19B,KAAKie,QACP2Y,EAAQ7gC,YACNmgC,GACE,QACA,kBACAz9C,SAASqgB,eAAesL,GAA4BmF,OAGtDwX,GACF6V,EAAQ7gC,YACNmgC,GACE,cACA,wBACAz9C,SAASqgB,eAAesL,GAA4BoF,KACpD,6BAIF6zB,GACFzG,EAAQ7gC,YACNmgC,GACE,QACA,yBACAz9C,SAASqgB,eACJpW,KAAKC,MAA2B,KAApB2mB,GAAe,IAAc,IAA5C,OAOZ,OAAOstB,EAoMWuH,IAElBzH,EAAM3gC,YAAYigC,GAAY,gBAAiB,SAC3Cn2B,EAAU0rB,OAAOyB,KAAM,CAqCzB,GApCA0J,EAAM3gC,YACJmgC,GACE,QACA,oCACEjzB,EAAYpD,EAAUghB,YAAc,GAChC,GAAG5d,EAAYpD,EAAUghB,sBACzB5d,EAAYpD,EAAUghB,YAAc,IACV,IAAzBhhB,EAAUghB,WAAmB,UAAY,eAEhDpoC,SAASqgB,eAAesL,GAA4B+M,KAAU,MAGlEulB,EAAM3gC,YACJmgC,GACE,QACA,0CACEhzB,EAAWrD,EAAUohB,iBACQ,IAA5BphB,EAAUohB,cAAsB,UAAY,cAC/CxoC,SAASqgB,eAAesL,GAA4B8F,GAAoB,MAG5EwsB,EAAM3gC,YACJmgC,GACE,QACA,+BAA+BhzB,EAAWrD,EAAUohB,iBACtB,IAA5BphB,EAAUohB,cAAsB,UAAY,cAE9CxoC,SAASqgB,eACPsL,GACE2B,GAA8Bq4B,QAC5Bl0B,GAAqBhH,EAAWrD,EAAUohB,oBAMhDjhB,KAAK6d,IAAI,mBAAoB,CAC/B,MAAMgH,EAAW,GACjBlnC,OAAO6C,KAAKojC,IAAUrU,SAASp1B,IACxB6lB,KAAK6d,IAAI+F,GAASzpC,KACrB0qC,EAAS5oC,KAAK2nC,GAASzpC,OAGH,IAApB0qC,EAASzqC,QACXs8C,EAAM3gC,YACJmgC,GACE,QACA,+BACAE,GAAcvR,KAatB,GATIhlB,EAAU8oB,cACZ+N,EAAM3gC,YACJmgC,GACE,QACA,wBACAz9C,SAASqgB,eAAesL,GAA4BpE,KAAKq+B,uBAI3Dr+B,KAAK+c,MAAMC,SAAU,CACvB,MAAM5K,EAAQ35B,SAAS4D,cAAc,QACrC+1B,EAAMvE,GAAK,uBACXuE,EAAMgL,UAAYpd,KAAKqd,QACV,GAAXrd,KAAKsX,KAAYtX,KAAK6wB,SAAW,EAAI7wB,KAAKsd,GAAgB,GAAXtd,KAAKsX,MACpD,GAEFof,EAAM3gC,YACJmgC,GAAa,QAAS,qBAAsB9jB,KAKlD7mB,EAAE,QAAQmjC,aAAagI,EAAOnrC,EAAE,QAAQolB,WAAW,IAE/C9Q,EAAU2oB,iBAtuJdj9B,EAAE,QAAQolB,WAAWpB,SAAS+uB,IAC5B,GAAIA,EAAY1hB,SAAS,GACvB,GACwC,aAAtC0hB,EAAY1hB,SAAS,GAAGjlB,WACxByS,GACA,CACA,MAAMm0B,EACJn0B,GAA6BvvB,MAAM,IAAIZ,OAAO,MAAO,MAAQ,GAC1DG,OAAS,EACRo2C,EAAQ/3C,SAAS4D,cAAc,OACrCm0C,EAAM3iB,GAAK,iCACX2iB,EAAM51C,UAAY,UAClB,MAAM4jD,EAAY/lD,SAAS4D,cAAc,OACzCmiD,EAAU7mC,UAAY,qCAAqC4mC,KACzDv+B,KAAKy+B,iBAAiBrkD,WACnBsI,KAAKkE,MACP23C,EAA0Bv+B,KAAKy+B,iBAAiBrkD,OAAU,SAE7Do2C,EAAMz6B,YAAYyoC,GAClBF,EAAYvoC,YAAYy6B,GACxB,MAAMhN,EAAW/qC,SAAS4D,cAAc,OACxCmnC,EAAS5oC,UAAY,mBACrB4oC,EAAS7rB,UAAYyS,GACrBk0B,EAAYvoC,YAAYytB,QACnB,GAA0C,aAAtC8a,EAAY1hB,SAAS,GAAGjlB,UAA0B,CAC3D,GAAIwS,GAAsB,CACxB,MAAMu0B,EACJv0B,GAAqBtvB,MAAM,IAAIZ,OAAO,MAAO,MAAQ,GAAGG,OAAS,EAC7Do2C,EAAQ/3C,SAAS4D,cAAc,OACrCm0C,EAAM3iB,GAAK,yBACX2iB,EAAM51C,UAAY,UAClB,MAAM4jD,EAAY/lD,SAAS4D,cAAc,OACzCmiD,EAAU7mC,UAAY,mCAAmC+mC,KACvD1+B,KAAKqV,eAAe,IAAIj7B,OAAS4lB,KAAKqV,eAAespB,KAAKvkD,WACvDsI,KAAKkE,MACP83C,GACE1+B,KAAKqV,eAAe,IAAIj7B,OACvB4lB,KAAKqV,eAAespB,KAAKvkD,QAC3B,SAEJo2C,EAAMz6B,YAAYyoC,GAClBF,EAAY5P,aAAa8B,EAAO8N,EAAY3tB,WAAW,IACvD,MAAM6S,EAAW/qC,SAAS4D,cAAc,OACxCmnC,EAAS5oC,UAAY,mBACrB4oC,EAAS7rB,UAAYwS,GACrBm0B,EAAY5P,aACVlL,EACA/qC,SAASyiC,eAAe,0BAA0B0jB,aAGtD,GAAIv0B,GAA6B,CAC/B,MAAMw0B,EACJx0B,GAA4BxvB,MAAM,IAAIZ,OAAO,MAAO,MAAQ,GACzDG,OAAS,EACRo2C,EAAQ/3C,SAAS4D,cAAc,OACrCm0C,EAAM3iB,GAAK,gCACX2iB,EAAM51C,UAAY,UAClB,MAAM4jD,EAAY/lD,SAAS4D,cAAc,OACzCmiD,EAAU7mC,UAAY,mCAAmCknC,KACvD7+B,KAAKqV,eAAegd,OAAOj4C,WACxBsI,KAAKkE,MACPi4C,EAAwB7+B,KAAKqV,eAAegd,OAAOj4C,OAAU,SAEhEo2C,EAAMz6B,YAAYyoC,GAClBF,EAAYvoC,YAAYy6B,GACxB,MAAMhN,EAAW/qC,SAAS4D,cAAc,OACxCmnC,EAAS5oC,UAAY,mBACrB4oC,EAAS7rB,UAAY0S,GACrBi0B,EAAYvoC,YAAYytB,QAqqJ5B3jB,EAAU4oB,qBAnOhB,WACE,IAAIqW,EACJnhD,OAAOohD,OAAOtmD,SAASsB,iBAAiB,cAAcw1B,SAASp1B,IACzDA,EAAEqD,YAAY6xC,SAAS,kBACzByP,EAAU3kD,EAAE6kD,cAAcjlD,iBAAiB,wBAAwB,OAGnE8lB,EAAU4oB,qBACZ9qC,OAAOohD,OAAOD,EAAQliB,UAAUrN,SAAS0vB,IACvC,IAAKA,EAAarkD,UAAUy0C,SAAS,WAAY,CAC/C,MAAMxhB,EAAKoxB,EAAa1M,QAAQ3vC,WAAW/H,MAAM,oBAAoB,IAC/DqsC,KAAEA,GAASlnB,KAAKk/B,iBAAiBrxB,GACvCoxB,EAAa78C,MAAMiW,mBAAqB,GAAc,IAAV6uB,EAAK,QACpC,IAAVA,EAAK,OAER+X,EAAaxM,YAAc,WACpBzyB,KAAKm/B,YACRn/B,KAAKo/B,WAAWvmD,MAChBmnB,KAAK4W,QAAQye,QAAU,EACvBr1B,KAAK4W,QAAQjlB,KACX9Y,MACA,WACE,OAnEhB,SAAwC23B,GACtC,MAAM6uB,EAAO,GACG,WAAZ7uB,EAAGrD,KAAmBkyB,EAAKpjD,KAAK,qBAAsB,WACrDojD,EAAKpjD,KAAK,cAAe,GAC9BojD,EAAKpjD,KAAK,SAAU,GAEpB,IAAIqjD,EAAa,GACbt/B,KAAK6d,IAAI,eAAkB7d,KAAKu/B,QAAsB,UAAZ/uB,EAAGrD,QAC/CmyB,EAAa,GACXA,GAAyB,IAAX9uB,EAAGgG,IAAW6oB,EAAKpjD,KAAK,gBAAiB,WAClDqjD,GAAc9uB,EAAGgG,IAAM,GAAG6oB,EAAKpjD,KAAK,iBAAkB,WAE/D,IAAIirC,KAAEA,GAAS1W,EACXA,EAAG2W,eAAcD,EAAO1W,EAAG2W,gBAE/B,IAAIgH,KAAEA,GAAS3d,EACXA,EAAGgvB,WAAUrR,EAAO3d,EAAGgvB,SAAS,UAEpC,IAAIC,EAAU,GACd,IAAK,IAAItlD,EAAI,EAAGA,EAAIklD,EAAKjlD,OAAQD,GAAK,EAChCA,EAAI,GAAM,IACZslD,GAAW,kCACO,IAAhBJ,EAAKllD,EAAI,GAAW,OAASklD,EAAKllD,EAAI,SACjCklD,EAAKllD,aAIhB,OAFAslD,EAAUA,EAAQ/sB,UAAU,GAErB,yJAEM,IAAVwU,EAAK,QACS,IAAVA,EAAK,sCACQ1W,EAAG9xB,iBACrB+gD,qDAA2DtR,oBAE3DnuB,KAAKu/B,OACD,oCAAoC/uB,EAAG3C,gBAAgBnrB,KAAKkE,MAC1D4pB,EAAGU,SACDV,EAAGpD,KAAO,aAAaoD,EAAGpD,OAAS,WACvC,KA8BiBsyB,CACL1/B,KAAKk/B,iBAAiBrxB,MAI5B,OAEF7N,KAAK4W,QAAQ0e,eAsMrBqK,GAuDJ,MAAMC,GAAe,CACnBpU,UAAW,qBACXC,YAAa,cACbC,SAAU,WACVC,QAAS,4BACTC,YAAa,+BACbC,QAAS,WACTC,WAAY,aACZC,aAAc,gBACdS,cAAe,iBAIXqT,GAA2B,CAC/B7T,oBAAqB,wBACrBC,eAAgB,gBAChBC,eAAgB,iBAChBC,gBAAiB,iBACjBC,iBAAkB,cAClBC,iBAAkB,iBAClBC,kBAAmB,WACnBC,qBAAsB,qBAaxB,SAASuT,GAAiBlQ,EAAQ9pB,GAChC,MAAM8K,EAAMn4B,SAAS4D,cAAc,OACnCu0B,EAAIh2B,UAAY,QAEhBg2B,EAAIxuB,MAAM6U,QAAU,MACpB2Z,EAAIxuB,MAAM0vB,SAAW,OACrBlB,EAAI7a,YAAYtd,SAASqgB,eAAe,GAAGgN,OAC3C,MAAMmwB,EAAOx9C,SAAS4D,cAAc,QAiBpC,OAhBA45C,EAAK7zC,MAAM+U,OAAS,UACpB8+B,EAAK7zC,MAAMqV,QAAU,eACrBw+B,EAAK7zC,MAAMmG,OAAS,OACpB0tC,EAAK7zC,MAAMkG,MAAQ,OACnB2tC,EAAK7zC,MAAMsU,aAAe,MAC1Bu/B,EAAK7zC,MAAMuW,UAAY,SACvBs9B,EAAK7zC,MAAM4U,gBAAkB,UAC7Bi/B,EAAK7zC,MAAM2F,MAAQ,QACnBkuC,EAAK7zC,MAAM0vB,SAAW,OACtBmkB,EAAK7zC,MAAM4vB,cAAgB,SAC3BikB,EAAKz4C,YAAcqiB,EAAU0rB,OAAOqE,GAAU,IAAM,IACpDqG,EAAK1D,QAAU,WACbwD,GAAanG,GACb5vB,KAAKmf,cAEPvO,EAAI7a,YAAYkgC,GACTrlB,EA4FT,SAASmvB,GAAiBnQ,GACxB,MAAMhf,EAAMn4B,SAAS4D,cAAc,OAKnC,GAJAu0B,EAAIh2B,UAAY,UACoB,IAAhCilB,EAAUsE,mBACZyM,EAAI7a,YAlCR,SAA6B65B,GAC3B,MAAMoQ,EAAUvnD,SAAS4D,cAAc,KAqBvC,OApBI8nB,GAAkBkrB,SAASO,IAC7BoQ,EAAQ5iB,UAAY,IACpB4iB,EAAQ59C,MAAM2F,MAAQ,UACjBi4C,EAAQ5iB,UAAY,IAC3B4iB,EAAQplD,UAAY,SACpBolD,EAAQzN,QAAU,YA3DpB,SAAgC3C,GAC1BzrB,GAAkBkrB,SAASO,GAC7BzrB,GAAoBA,GAAkBuuB,QAAO,SAAUuN,GACrD,OAAOA,IAAQrQ,KAEdzrB,GAAkBloB,KAAK2zC,GAuD1BsQ,CAAuBtQ,GACvB2D,KACAvzB,KAAKmf,cAEP6gB,EAAQvN,YAAc,WACpBzyB,KAAK4W,QAAQjlB,KACX9Y,KACAgmC,OAAOrc,EAAsB29B,4BAA4BxoC,aAG7DqoC,EAAQpN,WAAa,WACnB5yB,KAAK4W,QAAQzlB,QAEf6uC,EAAQjqC,YAAYtd,SAASqgB,eAAe,MACrCknC,EAYWI,CAAoBxQ,IAEJ,SAA9BnB,GAAamB,GAAQp1C,KAAiB,CACxC,MAAMwI,EAAIvK,SAAS4D,cAAc,KAC7BoyC,GAAamB,GAAQxB,QAAgC,IAAtBvuB,EAAU+vB,GAC3C5sC,EAAEpI,UAAY,aAEdoI,EAAEpI,UAAY,SAEhBoI,EAAE6qB,GAAKgoB,GAA6BjG,EACpC5sC,EAAEuvC,QAAU,YApmDhB,SAAsB3C,GACpB/vB,EAAU+vB,IAAW,EAEjB/vB,EAAU+vB,KAAYnB,GAAamB,GAAQ1B,MAAM9zC,QACnDylB,EAAU+vB,GAAU,EAChBnB,GAAamB,GAAQxB,SACvB7iC,EAAEsqC,GAA6BjG,GAAQh1C,UAAY,eAChD2Q,EAAEsqC,GAA6BjG,GAAQh1C,UAAY,cAEjB,IAA9B6zC,GAAamB,GAAQ1wC,MAC9BuvC,GAAamB,GAAQ1wC,OAGvBqM,EAAEsqC,GAA6BjG,GAAQj4B,UACrC82B,GAAamB,GAAQ1B,MAAMruB,EAAU+vB,IACvC2D,KAslDI8M,CAAazQ,IAEf5sC,EAAExF,YAAcixC,GAAamB,GAAQ1B,MAAMruB,EAAU+vB,IACrDhf,EAAI7a,YAAY/S,GAChB,MAAMkrC,EAAQz1C,SAAS4D,cAAc,SAIrC,OAHA6xC,EAAM1wC,YAAcixC,GAAamB,GAAQzB,KACzCD,EAAM9rC,MAAMyW,WAAa,MACzB+X,EAAI7a,YAAYm4B,GACTtd,EAET,GAAkC,QAA9B6d,GAAamB,GAAQp1C,KAAgB,CACvC,MAAM41C,EAAS33C,SAAS4D,cAAc,OACtC+zC,EAAOx1C,UAAY,YACnB,MAAM41C,EAAQ/3C,SAAS4D,cAAc,OACrCm0C,EAAMpuC,MAAMk+C,MAAQ,OACpB9P,EAAM74B,UAAY82B,GAAamB,GAAQzB,KACvCiC,EAAOr6B,YAAYy6B,GACnB,MAAM+P,EAAU9nD,SAAS4D,cAAc,OACvCkkD,EAAQ1yB,GAAK,SAAS+hB,SACtB2Q,EAAQn+C,MAAMk+C,MAAQ,QACtBC,EAAQ5oC,UAAY,GAAGkI,EAAU+vB,MACjCQ,EAAOr6B,YAAYwqC,GACnB,MAAMC,EAAS/nD,SAAS4D,cAAc,SACtCmkD,EAAO5lD,UAAY,SACnB4lD,EAAO3yB,GAAK,SAAS+hB,IACrB4Q,EAAOp+C,MAAMwU,MAAQ,OACrB4pC,EAAOhmD,KAAO,QACdgmD,EAAOn6C,IAAM,IACbm6C,EAAOj6C,IAAM,MACbi6C,EAAOC,KAAO,IACdD,EAAOjjD,MAAQsiB,EAAU+vB,GACzB4Q,EAAO/hC,QAAU,WACfq3B,GAAmBlG,IAErB4Q,EAAOE,SAAW,WAChB5K,GAAmBlG,IAErBQ,EAAOr6B,YAAYyqC,GACnB5vB,EAAI7a,YAAYq6B,GAChB,MAAMptC,EAAIvK,SAAS4D,cAAc,KAYjC,OAXA2G,EAAEpI,UAAY,SACdoI,EAAEuvC,QAAU,WACVzC,GACEjwB,EAAU+vB,EAAO7uC,QAAQ,SAAU,aACnC6uC,EAAO7uC,QAAQ,SAAU,SACzB6uC,GACA,IAGJ5sC,EAAExF,YAAc,aAChBozB,EAAI7a,YAAY/S,GACT4tB,EAET,GAAkC,QAA9B6d,GAAamB,GAAQp1C,KAAgB,CACvC,MAAMy7C,EAAOx9C,SAAS4D,cAAc,QACpC45C,EAAKr7C,UAAY,SACjBq7C,EAAKz4C,YAAc,GAAGixC,GAAamB,GAAQ1B,SAC3C+H,EAAK7zC,MAAMyW,WAAa,MACxB+X,EAAI7a,YAAYkgC,GAChB,MAAM0K,EAAQloD,SAAS4D,cAAc,SACrCskD,EAAM9yB,GAAKgoB,GAA6BjG,EACxC+Q,EAAM/lD,UAAY,SAClB+lD,EAAMnmD,KAAO,OACbmmD,EAAMC,UAAW,EACjBD,EAAM5iD,aAAa,QAAS8hB,EAAU+vB,IACtC+Q,EAAMv+C,MAAMkG,MAAQ,QACpBsoB,EAAI7a,YAAY4qC,GAChB/vB,EAAI7a,YAAYtd,SAASqgB,eAAe,MACxC,MAAM+nC,EAAcpoD,SAAS4D,cAAc,SAC3CwkD,EAAYhzB,GAAK,GAAGgoB,GAA6BjG,UACjDiR,EAAYjmD,UAAY,SACxBimD,EAAYrmD,KAAO,OACnBqmD,EAAY9iD,aAAa,QAAS8hB,EAAU+vB,IAC5C,MAAM5sC,EAAIvK,SAAS4D,cAAc,KACjC2G,EAAEpI,UAAY,SACdoI,EAAEuvC,QAAU,YAlKhB,SAA6BuO,EAAS/iC,GACpCiC,KAAK+gC,YAAYnmD,UAAY,SAC7B,MAAMW,EAAMulD,EACZ9gC,KAAKghC,QAAQrpC,UAAY,GAAGpc,iCAC5BoC,OAAO6C,KAAKud,GAASwR,SAASp1B,IAC5B,MAAMuZ,EAASjb,SAAS4D,cAAc,KACtCqX,EAAOma,GAAK,eAAe1zB,IAC3BuZ,EAAO9Y,UAAY,SACnB8Y,EAAO6+B,QAAU,WACf0O,UAAU,gBACVljC,EAAQ5jB,GAAG,MAEbuZ,EAAOlW,YAAcugB,EAAQ5jB,GAAG,GAChC6lB,KAAKghC,QAAQpkB,SAAS,GAAG7mB,YAAYrC,MAEvCsM,KAAKkhC,cAAc9+C,MAAMqV,QAAU,QACnCuI,KAAKmhC,QAAQ/+C,MAAMqV,QAAU,QAC7BuI,KAAKghC,QAAQI,QACbphC,KAAKqhC,SAAW,EAChBrhC,KAAKshC,eAgJDC,CAAoBV,EAAYW,UAAW,CACzC,CACE,OACA,WACE3hC,EAAU+vB,GAAUrkC,EAAE,WAAgCqkC,WAAgBryC,MACtEg2C,KACAvzB,KAAKyhC,cACLzhC,KAAKmf,eAGT,CACE,SACA,WACEnf,KAAKyhC,mBAKbz+C,EAAExF,YAAc,OAChBozB,EAAI7a,YAAY/S,GAChB,MAAMkrC,EAAQz1C,SAAS4D,cAAc,SAIrC,OAHA6xC,EAAM1wC,YAAcixC,GAAamB,GAAQzB,KACzCD,EAAM9rC,MAAMyW,WAAa,MACzB+X,EAAI7a,YAAYm4B,GACTtd,EAET,GAAkC,WAA9B6d,GAAamB,GAAQp1C,KAAmB,CAC1C,MAAMknD,EAAYjpD,SAAS4D,cAAc,QACzCqlD,EAAU9mD,UAAY,SACtB,MAAM+lD,EAAQloD,SAAS4D,cAAc,SACrCskD,EAAM9yB,GAAK+hB,EACX+Q,EAAMv+C,MAAMkG,MAAQ,OACpBq4C,EAAM5iD,aAAa,QAAS8hB,EAAU+vB,IACtC8R,EAAU3rC,YAAY4qC,GAQtB,IAAIznD,GAAQynD,EAAO,CAAEpmC,MAAM,EAAMnQ,SAAU,QAAS4P,QAPrC,WACb6F,EAAUhnB,KAAKmD,cAAc6xB,IAAMh1B,KAAK8gB,cACxC25B,KACAC,KACAvzB,KAAKmf,gBAIP,MAAM+O,EAAQz1C,SAAS4D,cAAc,SAIrC,GAHA6xC,EAAM1wC,YAAcixC,GAAamB,GAAQzB,KACzCD,EAAM9rC,MAAMyW,WAAa,MACzB6oC,EAAU3rC,YAAYm4B,GAClB0B,EAAOP,SAAS,SAAU,CAC5B,MAAMrsC,EAAIvK,SAAS4D,cAAc,KACjC2G,EAAEpI,UAAY,SACdoI,EAAEuvC,QAAU,WACV5C,GAAM,EAAGC,EAAO7uC,QAAQ,SAAU,KAAK,IAEzCiC,EAAExF,YAAc,aAChBkkD,EAAU3rC,YAAY/S,GAIxB,OAFA4tB,EAAI7a,YAAY2rC,GAChB9L,KAAkBn8C,OACXm3B,EAET,GAAkC,aAA9B6d,GAAamB,GAAQp1C,KAAqB,CAC5C,MAAMy7C,EAAOx9C,SAAS4D,cAAc,QACpC45C,EAAKr7C,UAAY,SACjBq7C,EAAKz4C,YAAc,GAAGixC,GAAamB,GAAQ1B,SAC3C+H,EAAK7zC,MAAMyW,WAAa,MACxB+X,EAAI7a,YAAYkgC,GAChB,MAAM0K,EAAQloD,SAAS4D,cAAc,SACrCskD,EAAM9yB,GAAKgoB,GAA6BjG,EACxC+Q,EAAM/lD,UAAY,SAClB+lD,EAAMnmD,KAAO,SACbmmD,EAAMpjD,MAAQsiB,EAAU+vB,GACxB+Q,EAAMt6C,IAAMooC,GAAamB,GAAQvpC,IACjCs6C,EAAMp6C,IAAMkoC,GAAamB,GAAQrpC,IACjCo6C,EAAMliC,QAAU,WACV5lB,KAAK0E,MAAQ1E,KAAK0N,KAAKvL,QAAQuqB,IAAI,QACvC1F,EAAU+vB,GAAU/2C,KAAK0E,MACzBg2C,KACA/F,MAEF5c,EAAI7a,YAAY4qC,GAChB/vB,EAAI7a,YAAYtd,SAASqgB,eAAe,MACxC,MAAMo1B,EAAQz1C,SAAS4D,cAAc,SAIrC,OAHA6xC,EAAM1wC,YAAcixC,GAAamB,GAAQzB,KACzCD,EAAM9rC,MAAMyW,WAAa,MACzB+X,EAAI7a,YAAYm4B,GACTtd,EAET,OAAOA,EA4UT,SAAS+wB,GAAUniD,GACjB,GAA2B,IAAvBqgB,EAAU4T,UAA4C,IAA1B5T,EAAU6T,YAAmB,CAC3D,MAAMkuB,EAAiB36C,SAASsE,EAAE,cAAcnJ,MAAMmG,OAAQ,IAC9DyX,KAAK6hC,QAAUD,EACfpiD,IACAwgB,KAAK6hC,QAAUD,OAEfpiD,IAuBJ,SAASsiD,KAEPpgC,EAAgBkD,SAAWA,SAE3BA,SAAWR,GAEX1C,EAAgBqgB,eAAiB/hB,KAAK+hB,eACtC/hB,KAAK+hB,eAAiB,WACpBrgB,EAAgBqgB,iBAChBha,GAAY,GAGdrG,EAAgBkV,QAAU,GAC1BlV,EAAgBkV,QAAQjlB,KAAOqO,KAAK4W,QAAQjlB,KAC5C+P,EAAgBkV,QAAQmrB,QAAU,IAAInmD,SACpC,UAAUokB,KAAK4W,QAAQjlB,KAAK/O,WAAW5B,MAAM,QAAQ6C,KAAK,kBAD1B,GAGlCmc,KAAK4W,QAAQjlB,KAAO,SAAUqwC,EAAMl8B,EAAM7I,GACxCyE,EAAgBkV,QAAQmrB,QAAQC,EAAMl8B,EAAM7I,IAG9CyE,EAAgBkV,QAAQqrB,OAASjiC,KAAK4W,QAAQqrB,OAC9CvgC,EAAgBkV,QAAQsrB,UAAY,IAAItmD,SACtC,UAAUokB,KAAK4W,QAAQqrB,OACpBr/C,WACA5B,MAAM,SACN6C,KAAK,mBAJ0B,GAMpCmc,KAAK4W,QAAQqrB,OAAS,WACpBvgC,EAAgBkV,QAAQsrB,YA5H5B,WACE,GAA4B,UAAxBliC,KAAK4W,QAAQ3Z,OAAoB,CACnC,IAAIklC,EAAa,EAEa,IAA5BtiC,EAAUuc,eACgB,IAA1Bvc,EAAU8X,aAC0B,OAApCpsB,EAAE,gCAEF42C,EAAa52C,EAAE,8BAA8BpF,aAAe,GAE9D6Z,KAAK4W,QAAQwrB,IAAIhgD,MAAMsC,IAAM,GAAGhC,KAAK2D,IACnCY,SAAS+Y,KAAK4W,QAAQwrB,IAAIhgD,MAAMsC,IAAK,IACrC6G,EAAE,QAAQpF,aACRoF,EAAE,UAAUpF,aACZ6Z,KAAK4W,QAAQyrB,GAAGl8C,aAChBg8C,EACA,SA6GJG,IAGF5gC,EAAgB6gC,gBAAkBviC,KAAKuiC,gBACvCviC,KAAKuiC,gBAAkB,WACrBZ,GAAUjgC,EAAgB6gC,kBAG5B7gC,EAAgB8gC,cAAgBxiC,KAAKwiC,cACrCxiC,KAAKwiC,cAAgB,WACnBb,GAAUjgC,EAAgB8gC,gBAI5Bj3C,EAAE,aAAazN,oBAAoB,QAASkiB,KAAKyiC,aAAa,GAC9Dl3C,EAAE,aAAahS,iBACb,SACA,WACEooD,GAAU3hC,KAAKyiC,gBAEjB,GAGF/gC,EAAgBisB,gBAAkB3tB,KAAK2tB,gBACvC3tB,KAAK2tB,gBAAkB,WACrBjsB,EAAgBisB,kBAnHlBlsB,EAAuB,GACvB9jB,OAAO6C,KAAKwf,KAAKuQ,iBAAiBhB,SAASp1B,IACJ,OAAjCoR,EAAE,UAAUpR,KAAKs4C,cACnBhxB,EAAqBtnB,GAAKoR,EAAE,UAAUpR,KAAKs4C,YAC3ClnC,EAAE,UAAUpR,KAAKs4C,YAAc,WACxBzyB,KAAKm/B,YACRn/B,KAAKo/B,WAAWvmD,MAChBmnB,KAAK4W,QAAQye,QAAU,EACvBr1B,KAAK4W,QAAQjlB,KACX9Y,MACA,WACE,OAAO07C,GAAc,IAAK,GAAGp6C,OAE/B,SAEF6lB,KAAK4W,QAAQ0e,eAsGnBt1B,KAAK+hB,kBAGPrgB,EAAgBghC,aAAe1iC,KAAK0iC,aAKpC1iC,KAAK0iC,aAAe,SAAUh2B,KAEzB7M,EAAUyrB,cACXtrB,KAAKwkB,YAAY9X,GAAMyG,UAAYnT,KAAKoT,UACtB,IAAlBpT,KAAKqP,UAEL3N,EAAgBghC,aAAah2B,IAIjChL,EAAgBihC,mBAAqB3iC,KAAK2iC,mBAM1C3iC,KAAK2iC,mBAAqB,SAAUC,GAClClhC,EAAgBihC,mBAAmBC,GA92EvC,SAAqBA,GACnB,GAAiC,IAA7B/iC,EAAUooB,eAAsB,CAClC,MAAO4a,EAAUC,GA9DrB,SAA6BF,GAC3B5sB,KAGwBzqB,EAAE,iBAAiBqxB,SAAS,GAAGjlB,UAAU03B,SAC/D,aAEmB1nB,GAAiBi7B,EACjCl7B,GAAgBk7B,EAGrB,IAAI50B,EAAQ,EACZ,GACEtG,KAAkBS,IAClBR,KAAmBS,GAEnB,IAAK,IAAIjuB,EAAI6lB,KAAKwkB,YAAYpqC,OAAS,EAAGD,GAAK,IAAKA,EAClD,GAAI6lB,KAAKwkB,YAAYrqC,GAAGu0B,OAAS,EAAG,CAClC,MAAMgjB,EAAkBplB,GAAWtM,KAAKwkB,YAAYrqC,GAAGuE,MAAMA,KAC7D4tB,GAAWolB,GAAiBhjB,QAAU,EACtCtH,IAAqB,EACrB4G,EACE1B,GAAWolB,GAAiBljB,UAC5BxO,KAAKiP,eACHvsB,KAAK6D,IACH,EACA+lB,GAAWolB,GAAiBhjB,OAC1B,EACApC,GAAWolB,GAAiBjjB,MAEpCT,EAAQhO,KAAKkP,oBAAoB5C,GAAWolB,GAAkB1jB,GAC9DA,EAAQtrB,KAAKoL,KAAKkgB,GAClB,MAKN,MAAMkX,EAAwB3d,GAO9B,OANAwa,KAEAmC,KACIgB,IAA0B3d,IAC5Bwa,KAEK,CAAC9Z,GAAejI,KAAKsR,UAAWtD,GAkBH+0B,CAAoBH,GAChDI,EAAgBx9B,GACpBs9B,GAAiBD,EAAW7iC,KAAKsR,YAE7B2xB,EAAqB7+B,GAA6By+B,EAAW7iC,KAAKsR,UAAa,KAErF/lB,EAAE,kBAAkBnJ,MAAM8gD,UAAY,OACtC33C,EAAE,kBAAkBnJ,MAAMyvB,OAAS,MACnCtmB,EAAE,kBAAkBwK,YAAYtd,SAAS4D,cAAc,QAAQzB,UAC7D,OACF,MAAMg2B,EAAMn4B,SAAS4D,cAAc,OACnCu0B,EAAIxuB,MAAMw8B,SAAW,QACrBhO,EAAIxuB,MAAMuW,UAAY,SACtBiY,EAAIpzB,YAAc,wCAAwC4mB,GACxDy+B,OACII,sBACN13C,EAAE,kBAAkBwK,YAAY6a,GAChC,MAAMuyB,EAAO1qD,SAAS4D,cAAc,OACpC8mD,EAAK/gD,MAAMw8B,SAAW,QACtBukB,EAAK/gD,MAAMuW,UAAY,SACvBwqC,EAAK3lD,YAAc,gBAAgBwlD,yBACnCz3C,EAAE,kBAAkBwK,YAAYotC,IAw1EhCC,CAAYR,IAGdlhC,EAAgB2hC,kBAAoBrjC,KAAKqjC,kBAIzCrjC,KAAKqjC,kBAAoB,SAAUC,GACjC5hC,EAAgB2hC,kBAAkBC,GAx1EtC,WAEE,GAEwE,QADrE/3C,EAAE,gBAAgB3Q,UAAUC,MAAM,aACjC0Q,EAAE,gBAAgBqxB,SAAS,GAAGx6B,MAAMqB,WAAW5I,MAAM,WAEvD,IAAK,IAAIV,EAAI,EAAGA,EAAIoR,EAAE,gBAAgBolB,WAAWv2B,OAAQD,IACL,cAA9CoR,EAAE,gBAAgBolB,WAAWx2B,GAAGS,YAClC2Q,EAAE,gBAAgBqxB,SAASziC,GAAGs4C,YAAc,WAC1CxD,KACAjvB,KAAK4W,QAAQye,QAAU,EACvBr1B,KAAK4W,QAAQjlB,KACXpG,EAAE,gBACF,mDAAmD+c,WACnD,QAEFtI,KAAK4W,QAAQ0e,UAEf/pC,EAAE,gBAAgBqxB,SAASziC,GAAGy4C,WAAa,WACzC5yB,KAAK4W,QAAQ2sB,WAAa,IAs0EhCC,IAGF9hC,EAAgByd,WAAanf,KAAKmf,WAClCnf,KAAKmf,WAAa,gBAEwB,IAA9ByW,KAAmBnrC,aACiB,IAApCmrC,KAAmBnrC,OAAOC,QAElCgX,EAAgByd,aArXtB,WACE,MAAMqR,EAAQ/3C,SAAS4D,cAAc,OACrCm0C,EAAM51C,UAAY,QAEE,UAAhBolB,KAAKkd,QACPsT,EAAMhzC,YAAc,0BA7ExB,SAAqBgzC,GACnB,MAAM8F,EAAO79C,SAAS89C,yBACtBD,EAAKvgC,YAAYy6B,GAEjB7yC,OAAO6C,KAAKo/C,IAAcrwB,SAASye,IACjC,GAAc,cAAVA,GACF,GAAiC,IAA7B7pB,GAAkB/pB,QAAgBylB,EAAUsE,kBAAoB,IAClEmyB,EAAKvgC,YAAY+pC,GAAiB9R,EAAO4R,GAAa5R,KAClDnuB,EAAU0rB,OAAOyC,IACnB,IAAK,IAAIyV,EAAQ,EAAGA,EAAQt/B,GAAkB/pB,OAAQqpD,IACpDnN,EAAKvgC,YAAYgqC,GAAiB57B,GAAkBs/B,UAI1DnN,EAAKvgC,YAAY+pC,GAAiB9R,EAAO4R,GAAa5R,KAClDnuB,EAAU0rB,OAAOyC,KAGL,iBAAVA,EACFrwC,OAAO6C,KAAKq/C,IAA0BtwB,SAASm0B,IAC7C,MAAMC,EAAiB7D,GACrB4D,EACA7D,GAAyB6D,IAE3BC,EAAevhD,MAAM0vB,SAAW,OAChC6xB,EAAevhD,MAAM6U,QAAU,MAC/Bq/B,EAAKvgC,YAAY4tC,GACb9jC,EAAU0rB,OAAOmY,IACnB/lD,OAAO6C,KAAKiuC,IAAclf,SAAS7b,IAC7B+6B,GAAa/6B,GAAQs6B,QAAU0V,GACjCpN,EAAKvgC,YAAYgqC,GAAiBrsC,UAK1C/V,OAAO6C,KAAKiuC,IAAclf,SAAS7b,IAC7B+6B,GAAa/6B,GAAQs6B,QAAUA,GACjCsI,EAAKvgC,YAAYgqC,GAAiBrsC,WAO9C,MAAMkwC,EAASnrD,SAAS4D,cAAc,OACtCunD,EAAOhpD,UAAY,UACnB,MAAMipD,EAAYprD,SAAS4D,cAAc,KACzCwnD,EAAUjpD,UAAY,SACtBipD,EAAUtR,QAAU,WAClB0B,GAAWnM,KAEb+b,EAAUrmD,YAAc,kBACxBomD,EAAO7tC,YAAY8tC,GACnBvN,EAAKvgC,YAAY6tC,GAEjBr4C,EAAE,QAAQolB,WAAW,GAAG+d,aACtB4H,EACA/qC,EAAE,QAAQolB,WAAW,GAAGA,WACtBplB,EAAE,QAAQolB,WAAW,GAAGA,WAAWv2B,OAAS,IAoB9C0pD,CAAYtT,IACa,UAAhBxwB,KAAKkd,OACVrd,EAAUsd,QACZqT,EAAMhzC,YAAc,4BACpBi5C,GAAajG,IAEU,QAAhBxwB,KAAKkd,SACdsT,EAAMhzC,YAAc,kBAtdxB,SAAqBgzC,GACnB,MAAMuT,EAAOtrD,SAAS4D,cAAc,OACpC0nD,EAAKnpD,UAAY,aAEjB,MAAMq7C,EAAOx9C,SAAS4D,cAAc,QAmBpC,GAlBA45C,EAAK7zC,MAAM+U,OAAS,UACpB8+B,EAAK7zC,MAAMqV,QAAU,eACrBw+B,EAAK7zC,MAAMmG,OAAS,OACpB0tC,EAAK7zC,MAAMkG,MAAQ,OACnB2tC,EAAK7zC,MAAMsU,aAAe,MAC1Bu/B,EAAK7zC,MAAMuW,UAAY,SACvBs9B,EAAK7zC,MAAM4U,gBAAkB,UAC7Bi/B,EAAK7zC,MAAM2F,MAAQ,QACnBkuC,EAAK7zC,MAAM0vB,SAAW,OACtBmkB,EAAK7zC,MAAM4vB,cAAgB,SAC3BikB,EAAKz4C,YAAcqiB,EAAU0rB,OAAO0B,QAAU,IAAM,IACpDgJ,EAAK1D,QAAU,WACbwD,GAAa,WACb/1B,KAAKmf,cAEPqR,EAAMz6B,YAAYkgC,GAClB8N,EAAKhuC,YAAYy6B,GAEb3wB,EAAU0rB,OAAO0B,QAAS,CAC5B,MAAM+W,EAAcvrD,SAAS4D,cAAc,OAC3C2nD,EAAYrsC,UA/jSO,siBAgkSnBosC,EAAKhuC,YAAYiuC,GACjB,MAAMC,EAAQxrD,SAAS4D,cAAc,OACrC4nD,EAAMtsC,UAxjSiB,+1EAyjSvBosC,EAAKhuC,YAAYkuC,GAGnB,MAAMC,EAAO34C,EAAE,QAAQqxB,SAAS,GAChCsnB,EAAKxV,aAAaqV,EAAMG,EAAKtnB,SAAS,IAsbpCunB,CAAY3T,IAwWV4T,KAIJ1iC,EAAgB2b,QAAUrd,KAAKqd,QAC/B3a,EAAY,SAAU+C,EAAM4+B,GAC1B,OAAIx/B,OAAOpJ,MAAMgK,IAASA,GAAQ,EACzB/D,EAAgB2b,QAAQ5X,EAAM4+B,GAChC7+B,GAAWC,EAAOzF,KAAKsX,IAAK,IAGrC5V,EAAgB4iC,MAAQtkC,KAAKskC,MAC7BtkC,KAAKskC,MAAQ,WACX5iC,EAAgB4iC,QAGhB,IAAI9T,EAAQ,iBACQ,UAAhBxwB,KAAKie,SAAoBuS,EAAQ,gBACrCtsB,GAAQ,GAAGlE,KAAK6wB,SAAW,cAAgB,KAAKzsB,GAA4BpE,KAAKoT,YAC9D,IAAjBpT,KAAKoT,QAAgB,SAAW,eAC5Bod,IA5WV,WACE,GAAIxwB,KAAK6wB,UAAgC,IAApBhxB,EAAUqE,MAC7BzrB,SAAS+3C,MAAQtsB,QACZ,GAAwB,IAApBrE,EAAUqE,MAAa,CAChC,IAEIqgC,EACAC,EACAC,EAJAC,GAAQ,EACRC,GAAQ,EAORJ,EAFAn5B,GACEA,GAA0ByiB,MAClB,KAAKnrC,KAAKoL,KAAKsd,GAA0B2nB,KAAO/yB,KAAKsX,QAErD,KAAK50B,KAAKoL,KAAKsd,GAA0B2nB,KAAO/yB,KAAKsX,QACvDtX,KAAK6d,IAAI,uBAOJ,OANL,IACRhZ,OAAOtZ,EAAE,sBAAsB/N,aAAe,EAAI,IAAM,KACvDkF,KAAKoL,MACLkS,KAAK0d,aAAaC,OAAOI,QAAU/d,KAAK0d,aAAaC,OAAOlY,MAC3DzF,KAAKsX,QAIPxW,IACF4jC,GAAQ,EACRF,EAAU,OAGQ,cAAhBxkC,KAAKie,SACP0mB,GAAQ,EAENF,EADE5jC,EACQ,KAAKne,KAAKoL,KAAKud,GAAsB0nB,KAAO/yB,KAAKsX,QAEjD,IACRzS,OAAOtZ,EAAE,uBAAuB/N,aAAe,EAAI,IAAM,KACxDkF,KAAKoL,MACLkS,KAAK0d,aAAaQ,SAASH,QAC1B/d,KAAK0d,aAAaQ,SAASzY,MAC3BzF,KAAKsX,SAMb,IAAI/7B,EAAM2oB,GACY,MAAlB3oB,EAAI2L,OAAO,KACb3L,EAAMA,EAAIm3B,UAAUn3B,EAAIqpD,YAAY,KAAO,IAE7CnsD,SAAS+3C,MAAQ,GACf+T,GAAWG,EAAQF,EAAU,KAAOG,EAAQF,EAAU,OACpDlpD,SACC,GAAwB,IAApBskB,EAAUqE,MAAa,CAChC,IAAI3oB,EAAM,GACNspD,GAAQ,EACRz5B,KACFy5B,GAAQ,EACJz5B,GAA0ByiB,MAC5BtyC,GAAO,KAAKmH,KAAKoL,KAAKsd,GAA0B2nB,KAAO/yB,KAAKsX,QACzD/7B,GAAO,KAAKmH,KAAKoL,KAAKsd,GAA0B2nB,KAAO/yB,KAAKsX,SAE/DxW,IACF+jC,GAAQ,EACRtpD,GAAO,OAEW,cAAhBykB,KAAKie,QAA0Bpd,IACjCtlB,GAAO,KAAKmH,KAAKoL,KAAKud,GAAsB0nB,KAAO/yB,KAAKsX,QACxDutB,GAAQ,GAENA,IAAOtpD,GAAO,OAClB,IAAIi1C,EAAQ,iBACQ,UAAhBxwB,KAAKie,SAAoBuS,EAAQ,gBACrCj1C,GAAOi1C,EACP/3C,SAAS+3C,MAAQj1C,GAoSjBupD,GAtRJ,WACE,MAAM9S,EAAgBtvC,KAAK6D,IACzB,EACAyZ,KAAKiyB,oBACHvvC,KAAKkE,MAAMoZ,KAAK0mB,gBAAgB1mB,KAAK2mB,aAAe3mB,KAAKogB,gBACvD,IAEDpgB,KAAKogB,cAAgBpgB,KAAK2mB,eAGzB3D,EAAYhjB,KAAKqd,SACnB4C,KAAKC,MAAQlgB,KAAKgjB,WAAa,IAAQhjB,KAAKsX,KAC7C,GAEH,IAAI/7B,EAAM,GACVA,GAAO,kCACS,KAAdynC,EAAmB,gBAAkBA,aAEvCznC,GAAO,2BACHykB,KAAKqW,SAAW,IAClB96B,GAAO,uCAAuC6oB,GAC5CpE,KAAKqW,2BACYjS,GAA4BpE,KAAKqW,cACpD96B,GAAO,4BAGPA,GADE0rB,GAAyB,EACpB,6CACAA,GAAyB,EAE9B,6GAEK,uCAAuC7C,GAC5C6C,6BACyB7C,GACzB6C,uBACmB7C,GACnB6C,mCAEJ1rB,GAAO,2BACPA,GAAO,eAAe6oB,GACpB4tB,8CAEFz2C,GACEskB,EAAU0oB,oBACN,oCAAoCjd,kDAAyElH,GAC3GiF,GACA,iDAEF,GAEN9d,EAAE,iBAAiBoM,UAAYpc,EAuO7BwpD,IAqDJ,SAASC,KACPvV,KACAlI,KACAM,KAGAxnB,EAAe1iB,OAAO6C,KAAKwf,KAAK+wB,MAAM32C,OAtzFtCknB,EAAU7oB,SAAS4D,cAAc,SACjCilB,EAAQ9mB,KAAO,WACf8mB,EAAQuM,GAAK,QAEbp1B,SAASwsD,KAAKlvC,YAAYuL,GA16L5B,WACE,MAAMwR,EAASr6B,SAAS4D,cAAc,OACtCy2B,EAAOjF,GAAK,WACZiF,EAAO1wB,MAAMmG,OAAS,OACtBuqB,EAAO1wB,MAAMkG,MAAQ,OACrBwqB,EAAO1wB,MAAMgI,SAAW,WACxB0oB,EAAO1wB,MAAMqV,QAAU,OACvBqb,EAAO1wB,MAAM8iD,iBAAmB,UAChCpyB,EAAO1wB,MAAM8V,gBAAkB,+CAC/B4a,EAAO1wB,MAAM+iD,UAAY,kBACzBryB,EAAO1wB,MAAMoV,SAAW,OACxBsb,EAAO1wB,MAAMgjD,WACX,uDAEF,MAAMC,EAAQvyB,EAAO/c,YAAYtd,SAAS4D,cAAc,UACxDgpD,EAAMjjD,MAAMkG,MAAQ,OACpB+8C,EAAMjjD,MAAMuW,UAAY,SACxB0sC,EAAMjjD,MAAMoW,WAAa,SACzB,MAAM8sC,EAAQD,EAAMtvC,YAAYtd,SAAS4D,cAAc,UAEjDkpD,EAAW,SAAUz/B,EAAM/d,GAC/B,MAAMy9C,EAAK/sD,SAAS4D,cAAc,MAIlC,OAHAmpD,EAAGpjD,MAAMuW,UAAY,QACrB6sC,EAAG5qD,UAAY+mB,EAAgB5Z,EAC/By9C,EAAGhoD,YAAcsoB,EACV0/B,GAEHhrD,EAAO8qD,EAAMvvC,YAAYtd,SAAS4D,cAAc,OACtD7B,EAAK4H,MAAMs0B,WAAa,OACxBl8B,EAAKub,YACHwvC,EAAS,aAAsCxjC,IAEnCujC,EAAMvvC,YAAYtd,SAAS4D,cAAc,OACjD0Z,YAAYwvC,EAAS,eAAgB1jC,IAChCyjC,EAAMvvC,YAAYtd,SAAS4D,cAAc,OACjD0Z,YAAYwvC,EAAS,iBAAkB1jC,IAC7ByjC,EAAMvvC,YAAYtd,SAAS4D,cAAc,OACjD0Z,YAAYwvC,EAAS,YAAa1jC,IAEvCtW,EAAE,WAAWwK,YAAY+c,GAEzBn1B,OAAO6C,KAAKwf,KAAK0N,SAAS6B,SAASp1B,IACjCm4B,GAA2Bn4B,MAsrR7BsrD,GAjiRF,WACE,MAAMhyB,EAAWh7B,SAAS4D,cAAc,OACxCo3B,EAAS5F,GAAK,aACd4F,EAASrxB,MAAMgI,SAAW,WAC1BqpB,EAASrxB,MAAMqV,QAAU,OACzBgc,EAASrxB,MAAMmG,OAAS,MACxBkrB,EAASrxB,MAAM0vB,SAAW,OAC1B2B,EAASrxB,MAAMs0B,WAAa,OAC5BjD,EAASrxB,MAAM8iD,iBAAmB,QAGlC,MAAMQ,EAAeh0B,GAAY,eAAgB,cAAe,CAC9D,CAAE7D,GAAI,qBAAsB9lB,MAAOoa,GACnC,CAAE0L,GAAI,kBAAmB9lB,MAAOma,KAElCuR,EAAS1d,YAAY2vC,GAGrB,MAAMC,EAAgBj0B,GAAY,gBAAiB,gBAAiB,CAClE,CAAE7D,GAAI,sBAAuB9lB,MAAOoa,GACpC,CAAE0L,GAAI,mBAAoB9lB,MAAOia,KAEnCyR,EAAS1d,YAAY4vC,GACrB,MAAMC,EAAqBntD,SAAS4D,cAAc,OAClDupD,EAAmB/3B,GAAK,uBACxB4F,EAAS1d,YAAY6vC,GAErBr6C,EAAE,WAAWwK,YAAY0d,GAugRzBoyB,GA7mGF,WACE,MAAMC,EAAartD,SAAS4D,cAAc,OAC1CypD,EAAWj4B,GAAK,eAChBi4B,EAAW1jD,MAAMkG,MAAQ,OACzBw9C,EAAW1jD,MAAM8iD,iBAAmB,QACpCY,EAAW1jD,MAAMuW,UAAY,SAC7BmtC,EAAW1jD,MAAMs0B,WAAa,OAC9BovB,EAAW1jD,MAAMqV,QAAU,OAC3BquC,EAAW1jD,MAAMyU,OAAS,KAC1BivC,EAAWlT,WAAa,WACtB5yB,KAAK4W,QAAQzlB,QAGf,MAAMutB,EAAcjmC,SAAS4D,cAAc,OAC3CqiC,EAAY3oB,YA/Dd,WACE,MAAMgwC,EAASttD,SAAS4D,cAAc,OACtC0pD,EAAO3jD,MAAMw8B,SAAW,QACxBmnB,EAAO3jD,MAAM00B,aAAe,MAC5B,MAAM0Z,EAAQ/3C,SAAS4D,cAAc,OACrCm0C,EAAM51C,UAAY,OAClB41C,EAAMpuC,MAAM00B,aAAe,MAC3B0Z,EAAMhzC,YAAc,SACpBuoD,EAAOhwC,YAAYy6B,GAEnB,MAAMwV,EAAa,SAAUj+C,EAAO+d,GAClC,MAAM8K,EAAMn4B,SAAS4D,cAAc,OACnCu0B,EAAIxuB,MAAM4vB,cAAgB,SAC1B,MAAMikB,EAAOx9C,SAAS4D,cAAc,QAQpC,OAPA45C,EAAKr7C,UAAYgnB,EAAgB7Z,EACjCkuC,EAAK7zC,MAAMqV,QAAU,eACrBw+B,EAAK7zC,MAAMmG,OAAS,OACpB0tC,EAAK7zC,MAAMkG,MAAQ,OACnB2tC,EAAK7zC,MAAM2vB,YAAc,MACzBnB,EAAI7a,YAAYkgC,GAChBrlB,EAAI7a,YAAYtd,SAASqgB,eAAegN,IACjC8K,GAsBT,OAnBAm1B,EAAOhwC,YACLiwC,EAAWnkC,EAAY,iDAEzBkkC,EAAOhwC,YACLiwC,EAAWlkC,EAAa,wCAE1BikC,EAAOhwC,YACLiwC,EAAWjkC,EAAc,0CAE3BgkC,EAAOhwC,YACLiwC,EAAWhkC,EAAc,0CAE3B+jC,EAAOhwC,YACLiwC,EAAW/jC,EAAW,0CAExB8jC,EAAOhwC,YACLiwC,EAAW9jC,EAAc,8CAE3B6jC,EAAOhwC,YAAYiwC,EAAW7jC,EAAY,4BACnC4jC,EAoBiBE,IACxBH,EAAWrT,YAAc,WACvBzyB,KAAK4W,QAAQjlB,KAAK9Y,KAAMgmC,OAAOH,EAAY/mB,WAAY,UAGzD,MAAMuuC,EAAgB,SAAUr4B,EAAI9lB,GAClC,MAAMkuC,EAAOx9C,SAAS4D,cAAc,QAMpC,OALA45C,EAAKpoB,GAAKA,EACVooB,EAAKr7C,UAAY+mB,EAAgB5Z,EACjCkuC,EAAK7zC,MAAMkG,MAAQ,qBACnB2tC,EAAK7zC,MAAMqV,QAAU,eACrBw+B,EAAKz4C,YAAc,IACZy4C,GAET6P,EAAW/vC,YAAYmwC,EAAc,mBAAoBrkC,IACzDikC,EAAW/vC,YAAYmwC,EAAc,oBAAqBpkC,IAC1DgkC,EAAW/vC,YAAYmwC,EAAc,qBAAsBnkC,IAC3D+jC,EAAW/vC,YAAYmwC,EAAc,qBAAsBlkC,IAC3D8jC,EAAW/vC,YAAYmwC,EAAc,kBAAmBjkC,IACxD6jC,EAAW/vC,YAAYmwC,EAAc,qBAAsBhkC,IAC3D4jC,EAAW/vC,YAAYmwC,EAAc,mBAAoB/jC,IAEzD5W,EAAE,YAAY+N,WAAWo1B,aACvBoX,EACAv6C,EAAE,YAAY+N,WAAWqX,WAAW,IAwkGtCw1B,GAryFF,WACE,MAAMC,EAAc3tD,SAAS4D,cAAc,OAC3C+pD,EAAYv4B,GAAK,gBACjBu4B,EAAYhkD,MAAMkG,MAAQ,OAC1B89C,EAAYhkD,MAAMmG,OAAS,OAC3B69C,EAAYhkD,MAAM4U,gBAAkB,QACpCovC,EAAYhkD,MAAMqV,QAAU,OAC5B2uC,EAAYhkD,MAAMyU,OAAS,aAC3BuvC,EAAYhkD,MAAMgI,SAAW,WAC7BmB,EAAE,WAAWwK,YAAYqwC,GA6xFzBC,GAjkGF,WACE,MAAMz1B,EAAMn4B,SAAS4D,cAAc,OACnCu0B,EAAI/C,GAAK,sBACT+C,EAAIxuB,MAAMuW,UAAY,SACtB,MAAM3V,EAAIvK,SAAS4D,cAAc,KACjC2G,EAAEpI,UAAY,SACdoI,EAAEuvC,QAAU,WAC0B,SAAhChnC,EAAE,YAAYnJ,MAAMqV,SACtBlM,EAAE,YAAYnJ,MAAMqV,QAAU,OAC9BlM,EAAE,kBAAkBnJ,MAAMqV,QAAU,OACpClM,EAAE,gBAAgBnJ,MAAMqV,QAAU,OAClClM,EAAE,iBAAiBnJ,MAAMqV,QAAU,SAEnClM,EAAE,YAAYnJ,MAAMqV,QAAU,OACc,IAAxClM,EAAE,kBAAkBqxB,SAASxiC,SAC/BmR,EAAE,kBAAkBnJ,MAAMqV,QAAU,SACI,IAAtClM,EAAE,gBAAgBqxB,SAASxiC,SAC7BmR,EAAE,gBAAgBnJ,MAAMqV,QAAU,SACO,IAAvClM,EAAE,iBAAiBqxB,SAASxiC,SAC9BmR,EAAE,iBAAiBnJ,MAAMqV,QAAU,WAGzCzU,EAAExF,YAAc,qBAChBozB,EAAI7a,YAAY/S,GAChB,MAAMP,EAAIhK,SAAS4D,cAAc,KACjCoG,EAAE7H,UAAY,SACd6H,EAAE8vC,QAAU,WAC0B,SAAhChnC,EAAE,YAAYnJ,MAAMqV,QACtBlM,EAAE,YAAYnJ,MAAMqV,QAAU,OAC3BlM,EAAE,YAAYnJ,MAAMqV,QAAU,QAErChV,EAAEjF,YAAc,sBAChBozB,EAAI7a,YAAYtT,GAChB8I,EAAE,SAASmjC,aAAa9d,EAAKrlB,EAAE,SAASolB,WAAW,IAiiGnD21B,GAphKF,WACE,MAAMle,EAAU3vC,SAAS4D,cAAc,QACvC+rC,EAAQva,GAAK,YACbua,EAAQ/3B,IAAM,gBACd+3B,EAAQ0F,KAAO,uDACfr1C,SAAS8tD,qBAAqB,QAAQ,GAAGxwC,YAAYqyB,GAghKrDoe,GACA7oD,OAAO6C,KAAK+hB,GAAagN,SAASp1B,KAhgGpC,SAA6BukC,EAAa5Y,EAAM8Y,GAC9C,MAAMiN,EAAUpzC,SAAS4D,cAAc,OACvCwvC,EAAQhe,GAAK6Q,EACb,MAAMyP,EAAO11C,SAAS4D,cAAc,OACpC8xC,EAAK/rC,MAAMw8B,SAAWA,EACtBuP,EAAK/rC,MAAM00B,aAAe,MAC1B,MAAMlG,EAAMn4B,SAAS4D,cAAc,OACnCu0B,EAAIxuB,MAAMuW,UAAY,OACtBiY,EAAIpzB,YAAcsoB,EAClBqoB,EAAKp4B,YAAY6a,GACjBib,EAAQ91B,YAAYo4B,GACpB3rB,EAAsBkc,GAAemN,EAs/FnC4a,CACElkC,EAAYpoB,GAAG,GACfooB,EAAYpoB,GAAG,GACfooB,EAAYpoB,GAAG,OA53FrB,WACE,MAAMuiD,EAAUjkD,SAAS4D,cAAc,KACvCqgD,EAAQ7uB,GAAK,6BACb6uB,EAAQl/C,YAAc,iBACtBk/C,EAAQ9hD,UAAY,SACpB8hD,EAAQnK,QAAU,WAChB8B,MAEFqI,EAAQ9J,WAAa,WACnB5yB,KAAK4W,QAAQ2sB,WAAa,GAE5B7G,EAAQjK,YAAc,WACpBzyB,KAAK4W,QAAQye,QAAU,EACvBr1B,KAAK4W,QAAQjlB,KACX9Y,MACA,WACE,OAAO07C,GAAc,KAAM,YAE7B,QAEFv0B,KAAK4W,QAAQ0e,UAEf/pC,EAAE,oBAAoBqxB,SAAS,GAAG8pB,OAAOhK,GACzC,MAAME,EAAcnkD,SAAS4D,cAAc,KAC3CugD,EAAY/uB,GAAK,2BACjB+uB,EAAYp/C,YAAc,qBAC1Bo/C,EAAYhiD,UAAY,SACxBgiD,EAAYrK,QAAU,WACa,OAA7BzoB,GAAsB,KACxB9J,KAAKwR,UAAU1H,GAAsB,IAAIwqB,GAAK,IAElDsI,EAAYhK,WAAa,WACvB5yB,KAAK4W,QAAQ2sB,WAAa,GAE5B3G,EAAYnK,YAAc,WACxBzyB,KAAK4W,QAAQye,QAAU,EACvBr1B,KAAK4W,QAAQjlB,KACX9Y,MACA,WACE,OAAO07C,GAAc,KAAM,gBAE7B,QAEFv0B,KAAK4W,QAAQ0e,UAEf/pC,EAAE,oBAAoBqxB,SAAS,GAAG8pB,OAAO9J,GAk1FzC+J,GA3zFAp7C,EAAE,YAAYnJ,MAAMqV,QAAU,OAC9BlM,EAAE,aAAanJ,MAAMytB,QAAU,MAE/BtkB,EAAE,YAAYnJ,MAAMqV,QAAU,OAC9BlM,EAAE,YAAYnJ,MAAM,aAAe,OAqInCzE,OAAO6C,KAAKwf,KAAK0N,SAAS6B,SAASp1B,IACjC,MAAMq2B,EAAKxQ,KAAK0N,QAAQvzB,GACiB,OAArCoR,EAAE,UAAUilB,EAAG3C,MAAM4kB,cACvBlxB,EAAmBpnB,GAAKoR,EAAE,UAAUilB,EAAG3C,MAAM4kB,YAC7ClnC,EAAE,UAAUilB,EAAG3C,MAAM4kB,YAAc,WACjCzyB,KAAK4W,QAAQye,QAAU,EACvBr1B,KAAK4W,QAAQjlB,KACX9Y,MACA,WACE,OAAO07C,GAAc,IAAK,GAAGp6C,OAE/B,SAEF6lB,KAAK4W,QAAQ0e,cAUft1B,KAAK4mC,aACPtmC,EAAoB/U,EAAE,SAASknC,YAC/BlnC,EAAE,SAASknC,YAAc,WACvBzyB,KAAK4W,QAAQye,QAAU,EACvBr1B,KAAK4W,QAAQjlB,KACX9Y,MACA,WACE,OAAO07C,GAAc,IAAK,UAE5B,QAEFv0B,KAAK4W,QAAQ0e,WAkFjB10B,EAAgBZ,KAAKY,cACrBZ,KAAKY,cAAgB,WACnBA,IA3EEZ,KAAK0N,QAAQmM,KAAKzL,iBACpB7iB,EAAE,gBAAgBknC,YAAc,WAC9BzyB,KAAK4W,QAAQye,QAAU,EACvBr1B,KAAK4W,QAAQjlB,KACX9Y,MACA,WACE,OAAO07C,GAAc,KAAM,sBAE7B,QAEFv0B,KAAK4W,QAAQ0e,UAEf3xC,MAAMq+C,KAAKz2C,EAAE,cAAcqxB,UAAUrN,SAASs3B,IAC5C,MAAMC,EAASD,EAAMh5B,GAAG3P,OAAO,GAC/B2oC,EAAMpU,YAAc,WAClBzyB,KAAK4W,QAAQye,QAAU,EACvBr1B,KAAK4W,QAAQjlB,KACX9Y,MACA,WACE,OAAO07C,GAAc,IAAK,CAAC,GAAGuS,EAAO,KAAM,GAAGA,EAAO,SAEvD,QAEF9mC,KAAK4W,QAAQ0e,cAsDjBF,KAhDJ,WACE,GAAIp1B,KAAK0N,QAAQF,OAAOY,eAAgB,CACtC,IAAK,IAAIj0B,EAAI,EAAGA,EAAI,GAAIA,GAAK,EAC3BoR,EAAE,YAAYpR,KAAKs4C,YAAc,WAC/BzyB,KAAK4W,QAAQye,QAAU,EACvBr1B,KAAK4W,QAAQjlB,KACX9Y,MACA,WACE,OAAO07C,GAAc,MAAOp6C,KAE9B,QAEF6lB,KAAK4W,QAAQ0e,UAGjB,IAAK,IAAIn7C,EAAI,EAAGA,EAAI,EAAGA,GAAK,EAC1BoR,EAAE,aAAapR,KAAKs4C,YAAc,WAChCzyB,KAAK4W,QAAQye,QAAU,EACvBr1B,KAAK4W,QAAQjlB,KACX9Y,MACA,WACE,OAAO07C,GAAc,MAAO,CAC1Bp6C,EACA6lB,KAAK0N,QAAQF,OAAOC,SAAS8I,KAAKp8B,OAGtC,QAEF6lB,KAAK4W,QAAQ0e,WAqBjByR,GACAtR,MAEFz1B,KAAKY,gBAu/ELrV,EAAE,wBAAwBknC,YAAc,WACtC9vB,EAAsB,GAExBpX,EAAE,wBAAwBqnC,WAAa,WACrCjwB,EAAsB,EACtB3C,KAAK4W,QAAQzlB,OACbxT,OAAO6C,KAAKwf,KAAKwR,WAAWjC,SAASp1B,IACnC0oB,EAA0B1oB,GAAK,MA+DnC2nD,KACArM,KACAz1B,KAAK+hB,iBAELkS,KACAxxB,EAAoBzC,KAAK6wB,SAErB7wB,KAAK+c,MAAMiqB,OACbhnC,KAAKinC,MACH,0CAGFjnC,KAAKknC,OACH,yCACA,GACA,GACA,EACA,GAGJlnC,KAAKmnC,IAAI,eA2EX,MAAMC,GAAK,CACT3tD,KA1DF,WACEi2C,IAAiB,EACjB,IAAI2X,GAAU,EACVrnC,KAAKgvB,UAAYnqB,OA7/TF,WA8/TjBwiC,EAAUC,QACR,4JAGAD,IACFrC,KACAhlC,KAAKunC,aAAa,OAAQzqB,IAC1B9c,KAAKunC,aAAa,QAAS3W,IAC3B5wB,KAAKunC,aAAa,QAASloB,IAC3BqQ,IAAiB,IA8CnB8X,KA/BF,SAAcjsD,GACZ,MAAMqzC,EAAOpzC,KAAKC,MAAMF,GACxBk0C,UAEsC,IAA3Bb,EAAKE,oBACd3qB,GAAoByqB,EAAKE,mBAC3BmF,GAAWrF,EAAKG,UACK,YAAjBH,EAAKI,UACHhvB,KAAK+c,MAAMiqB,OACbhnC,KAAKinC,MACH,iGAGFjnC,KAAKknC,OACH,gGACA,GACA,GACA,EACA,KAcNtY,KAAMA,IAGR5uB,KAAKynC,YAAY,gBAAiBL,KA/jUlC,IAxgHS","file":"./CookieMonster.js","sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack://cookiemonster-mod/CookieMonster.js"],"names":["__webpack_modules__","877","module","global","factory","exports","document","win","Error","window","this","BoxShadow","funcName","elm","jsc","jscolor","initialized","instances","readyQueue","register","addEventListener","pub","init","installBySelector","selector","rootNode","node","elms","querySelectorAll","matchClass","RegExp","lookupClass","i","length","dataOpts","m","undefined","type","toLowerCase","isColorAttrSupported","getDataAttr","className","match","targetElm","optsStr","console","warn","docsRef","opts","trim","parseOptionsStr","e","str","JSON","parse","eParse","looseJSON","Function","eEval","getInstances","inst","targetElement","push","createEl","tagName","el","createElement","setData","nodeOrSelector","sel","querySelector","isNode","val","Node","nodeType","nodeName","removeChildren","firstChild","removeChild","isTextInput","isButton","n","indexOf","isButtonEmpty","value","textContent","isPassiveEventSupported","supported","Object","defineProperty","get","removeEventListener","setAttribute","dataProp","obj","arguments","data","hasOwnProperty","prop","map","removeData","getData","setDefault","name","attrName","getAttribute","setDataAttr","_attachedGroupEvents","attachGroupEvent","groupName","evnt","func","detachGroupEvents","evt","preventDefault","returnValue","captureTarget","target","setCapture","_capturedTarget","releaseTarget","releaseCapture","triggerEvent","eventName","bubbles","cancelable","ev","Event","createEvent","initEvent","dispatchEvent","triggerInputEvent","eventKey","keys","9","13","27","code","keyCode","strList","replace","split","hasClass","classList","contains","addClass","classNames","add","removeClass","repl","remove","getCompStyle","getComputedStyle","currentStyle","setStyle","styles","important","reversible","priority","origStyle","setVal","style","setProperty","hexColor","r","g","b","Math","round","toString","substr","toUpperCase","hexaColor","a","rgbColor","rgbaColor","linearGradient","stdName","prefixes","helper","tryFunc","tryVal","background","getFuncName","Array","prototype","join","call","setBorderRadius","border-radius","setBoxShadow","box-shadow","getElementPos","relativeToViewport","x","y","rect","getBoundingClientRect","left","top","viewPos","getViewPos","getElementSize","offsetWidth","offsetHeight","getAbsPointerPos","changedTouches","clientX","clientY","getRelPointerPos","targetRect","srcElement","doc","documentElement","pageXOffset","scrollLeft","clientLeft","pageYOffset","scrollTop","clientTop","getViewSize","innerWidth","clientWidth","innerHeight","clientHeight","RGB_HSV","min","v","max","h","HSV_RGB","s","u","floor","parseColorString","ret","rgba","format","parseInt","charAt","mR","mG","mB","mA","par","re","parseFloat","parsePaletteValue","mixed","vals","isArray","colors","color","containsTranparentColor","isAlphaFormat","scaleCanvasForHighDPR","canvas","dpr","devicePixelRatio","width","height","getContext","scale","genColorPreviewCanvas","separatorPos","specWidth","scaleForHighDPR","sepW","previewSeparator","sqSize","chessboardSize","sqColor1","chessboardColor1","sqColor2","chessboardColor2","cWidth","cHeight","ctx","fillStyle","fillRect","start","clearRect","lineWidth","beginPath","strokeStyle","moveTo","lineTo","stroke","genColorPreviewGradient","position","params","right","apply","redrawPosition","picker","owner","tp","vp","thisObj","fixed","c","ts","vs","pd","getPickerDims","ps","borderW","borderH","l","smartPosition","pp","positionValue","contractShadow","_drawPosition","vShadow","shadowBlur","wrap","boxS","shadow","shadowColor","w","controlBorderWidth","sliderSpace","getControlPadding","sliderSize","getSliderChannel","hasAlphaChannel","pal","getPaletteDims","padding","closeButton","buttonHeight","pW","pH","contentW","contentH","paddedW","paddedH","borderWidth","palette","cols","rows","cellW","cellH","sampleCount","_palette","paletteCols","ceil","paletteSpacing","paletteHeight","pointerBorderWidth","pointerThickness","getPadYChannel","mode","triggerCallback","callback","error","triggerGlobal","eventNames","trigger","_pointerMoveEvent","mouse","touch","_pointerEndEvent","_pointerOrigin","onDocumentKeyUp","tryHide","onWindowResize","onWindowScroll","onParentScroll","onDocumentMouseDown","showOnClick","disabled","show","onControlPointerStart","onPickerTouchStart","controlName","pointerType","registerDragEvents","offset","onDocumentPointerMove","onDocumentPointerEnd","parent","frameElement","ofs","abs","rel","channels","fromHSVA","setPad","setSld","setASld","onPaletteSampleClick","currentTarget","_setFormat","getFormat","paletteSetsAlpha","_paletteHasTransparency","fromRGBA","hideOnPaletteClick","hide","ofsX","ofsY","pointerAbs","xVal","yVal","fmt","createPadCanvas","draw","hGrad","createLinearGradient","addColorStop","vGrad","createSliderGradient","color1","color2","grad","createASliderGradient","hShadow","blur","spread","inset","flags","leaveValue","leaveAlpha","leavePreview","enumOpts","previewPosition","alphaChannel","deprecatedOpts","styleElement","onFineChange","overwriteImportant","closable","insetWidth","insetColor","refine","THIS","setOption","option","oldOpt","newOpt","setter","getOption","getter","drawPicker","_processParentElementsInDOM","box","boxB","pad","padB","padM","padCanvas","cross","crossBY","crossBX","crossLY","crossLX","sld","sldB","sldM","sldGrad","sldPtrS","sldPtrIB","sldPtrMB","sldPtrOB","asld","asldB","asldM","asldGrad","asldPtrS","asldPtrIB","asldPtrMB","asldPtrOB","btn","btnT","appendChild","passive","insetColors","outsetColor","p","displaySlider","displayAlphaSlider","pickerDims","crossOuterSize","crossSize","controlPadding","borderRadius","PI","clear","zIndex","border","borderColor","backgroundColor","opacity","controlBorderColor","cursor","instance","control","pointerBorderColor","pointerColor","overflow","display","sliderInnerSpace","innerHTML","chessboard","si","sampleColor","sampleCssColor","sc","sw","backgroundImage","toDataURL","backgroundRepeat","backgroundPosition","bottom","maxWidth","whiteSpace","buttonColor","font","textAlign","onmousedown","lineHeight","createTextNode","closeText","redrawPad","redrawSld","redrawASld","activeClassName","container","body","parentNode","yChannel","rgb1","rgb2","rgb","toHEXString","sldChannel","isPickerOwner","alpha","onChange","onInput","valueElement","alphaElement","previewElement","previewSize","previewPadding","required","hash","uppercase","forceStyle","hideOnLeave","minS","maxS","minV","maxV","minA","maxA","redraw","exposeColor","success","opt","channel","res","evs","callbackProp","isNaN","hsv","fromHSV","fromRGB","fromString","setPreviewElementBg","setValueElementValue","toHEXAString","toRGBString","toRGBAString","toGrayscale","toCanvas","toBackground","isLight","_currentFormat","processValueInput","processAlphaInput","colorStr","alphaVal","setAlphaElementValue","backgrounds","image","size","repeat","origin","preview","bg","sty","background-image","background-position","background-size","background-repeat","background-origin","padding-left","padding-right","_parentElementsProcessed","compStyle","set__palette","options","presetsArr","preset","slice","pres","presets","nonProperties","test","min-width","valueElementOrigEvents","oninput","oldVal","initValue","initAlpha","install","shift","ready","triggerNow","installByClassName","JSColor","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__esModule","d","definition","key","o","enumerable","CMOptions","ToggleWrinklerButtons","WrinklerButtons","Game","elderWrath","metric","shortScale","shortScaleAbbreviated","LastModCount","TooltipLumpBackup","BackupGrimoireLaunch","BackupGrimoireLaunchMod","BackupGrimoireDraw","HasReplaceNativeGrimoireLaunch","HasReplaceNativeGrimoireDraw","LoadMinigames","LastSeasonPopupState","LastTickerFortuneState","LastGardenNextStep","LastGoldenCookieState","LastSpawnedGoldenCookieState","LastMagicBarFull","CurrSpawnedGoldenCookieState","LastWrinklerCount","CycliusDateAtBeginLoop","CenturyDateAtBeginLoop","DispCSS","TooltipBuildBackup","TooltipGrimoireBackup","TooltipUpgradeBackup","BackupFunctions","ColourTextPre","ColourBackPre","ColourBlue","ColourGreen","ColourYellow","ColourOrange","ColourRed","ColourPurple","ColourGray","ColourPink","ColourBrown","ColoursOrdering","TooltipText","SimpleTooltipElements","CMLastAscendState","CMSayTime","TooltipWrinklerArea","TooltipWrinkler","TooltipWrinklerBeingShown","LastTargetBotBar","LastTargetBuildings","LastTargetTooltipBuilding","CookieTimes","ClickTimes","BuffColours","Frenzy","Dragon Harvest","Elder frenzy","Clot","Click frenzy","Dragonflight","TooltipPrice","TooltipBonusIncome","TooltipType","TooltipName","TooltipBonusMouse","LastAscendState","LastNumberOfTimers","GCTimers","Title","FavouriteSettings","BeautifyFormatting_Beautify","num","floats","forced","decimals","ScaleDecimals","Infinity","Scale","Beautify","Number","isFinite","answer","ScaleCutoff","ScaleSeparator","toLocaleString","toExponential","exponential","AmountOfTenPowerThree","toFixed","log","FormatTime","time","longFormat","formattedTime","TimeFormat","GetTimeColour","text","CacheAverageCookiesFromClicks","CookiesDiff","WrinkDiff","WrinkFattestDiff","ChoEggDiff","ClicksDiff","HeavenlyChipsDiff","CacheLastCPSCheck","CacheLastCookies","CacheLastWrinkCookies","CacheLastWrinkFattestCookies","CacheLastClicks","CacheAverageGainBank","CacheAverageGainWrink","CacheAverageGainWrinkFattest","CacheAverageGainChoEgg","CacheAverageCPS","CacheLastHeavenlyCheck","CacheLastHeavenlyChips","CacheDoRemakeBuildPrices","CacheHadBuildAura","SimBuildingsOwned","SimUpgradesOwned","SimPledges","SimAchievementsOwned","SimHeavenlyPower","SimPrestige","SimDragonAura","SimDragonAura2","SimGod1","SimGod2","SimGod3","SimDoSims","SimEffs","SimCookiesPs","SimCookiesPsRaw","CacheDragonAura","CacheDragonAura2","CacheLastDragonLevel","CacheCostDragonUpgrade","CacheLucky","CacheLuckyReward","CacheLuckyWrathReward","CacheLuckyFrenzy","CacheLuckyRewardFrenzy","CacheLuckyWrathRewardFrenzy","CacheConjure","CacheConjureReward","CacheEdifice","CacheEdificeBuilding","CacheNoGoldSwitchCookiesPS","CacheDragonsFortuneMultAdjustment","CacheGoldenCookiesMult","CacheWrathCookiesMult","CacheHCPerSecond","CacheCentEgg","CacheSeaSpec","CacheLastChoEgg","CacheObjects1","CacheObjects10","CacheObjects100","CacheWrinklersTotal","CacheWrinklersNormal","CacheWrinklersFattest","CacheCurrWrinklerCPSMult","CacheCurrWrinklerCount","CacheUpgrades","CacheAverageClicks","CacheMissingUpgrades","CacheMissingUpgradesPrestige","CacheMissingUpgradesCookies","CacheChainRequired","CacheChainRequiredNext","CacheChainMaxReward","CacheChainWrathRequired","CacheChainWrathRequiredNext","CacheChainWrathMaxReward","CacheChainFrenzyRequired","CacheChainFrenzyRequiredNext","CacheChainFrenzyMaxReward","CacheChainFrenzyWrathRequired","CacheChainFrenzyWrathRequiredNext","CacheChainFrenzyWrathMaxReward","CacheRealCookiesEarned","CacheAvgCPSWithChoEgg","CacheSpawnedGoldenShimmer","CacheSeasonPopShimmer","CacheTimeTillNextPrestige","CacheMinPP","CachePPArray","CacheGoldenShimmersByID","CacheSellForChoEgg","CacheGods","0","1","2","3","4","5","6","7","8","10","SimObjects","SimUpgrades","SimAchievements","SimAuraMult","what","dragonAuras","SimGetSellMultiplier","giveBack","SimEff","def","SimHas","it","ascensionMode","pool","tier","bought","SimHasGod","hasGod","Temple","minigame","Objects","god","gods","id","SimModifyBuildingPrice","building","price","ModifiedPrice","hasBuff","fortune","minigameLoaded","godLvl","BuildingSell","build","basePrice","free","amount","noSim","noSimRes","toChange","startingAmount","moni","buyBulk","priceIncrease","modifyBuildingPrice","getSellMultiplier","UpdateBuildings","buyMode","BuildColour","forEach","removeProperty","SortBuildings","arr","k","sort","gridRow","UpdateUpgrades","UpBarColour","blue","green","yellow","orange","red","purple","gray","UpgradesInStore","me","addedColour","j","childNodes","div","SortUpgrades","nameChecker","arr2","upgrade","findIndex","order","GetCPS","CPSMode","CalcWrink","cookiesPs","cpsSucked","wrinklers","GetWrinkConfigBank","CreateTimer","bars","timerBar","margin","fontSize","marginRight","verticalAlign","colorBar","borderTopRightRadius","borderBottomRightRadius","timer","marginLeft","CreateBotBarBuildingColumn","buildingName","bonus","header","substring","lastChild","paddingLeft","UpdateBotBar","BotBar","count","PPString","PPDisplayTime","timeColour","bulkPrice","cookies","UpdateBackground","Background","LeftBackground","UpdateBotTimerBarPosition","TimerBar","TimerBarPos","ToggleTimerBar","CacheDragonAuras","dragonAura","dragonAura2","InitAchievement","achievementName","Achievements","you","SimGetTieredCpsMult","mult","tieredUpgrades","Tiers","special","synergies","syn","buildingTie1","buildingTie2","grandma","Grandma","misfortune","vanilla","InitialBuildingData","cps","magicCpS","ComputeCps","GrandmaSynergies","UpgradesByPool","kitten","Portal","baseCps","baseCPS","InitUpgrade","upgradeName","Upgrades","power","level","pow","CopyData","UpgradesOwned","pledges","AchievementsOwned","heavenlyPower","prestige","totalCookies","slot","won","TooltipCreateHeader","fontWeight","TooltipCreateCalculationSection","tooltip","income","marginBottom","click","production","CalculateGrimoireRefillTime","currentMagic","maxMagic","targetMagic","magic","fps","GetCPSBuffMult","buffs","multCpS","ToggleToolWarnPos","ToolWarnPos","UpdateTooltips","tooltipBox","paddingBottom","TooltipCreateTooltipBox","TooltipBuildUpgrade","increase","productionAchievs","HasAchiev","achiev","nextProductionAchiev","Building","getPrice","bonusMouse","previousSibling","chocolate","Upgrade","TooltipLump","lumpType","lumpColour","lumpCurrentType","SugarLump","spellCost","getSpellCost","spellsById","TooltipGrim","magicM","recover","recoverColour","conjure","reward","seperator","loss","Grimoire","Farm","TooltipPlots","plot","mature","plantsById","plantName","GardenPlots","totalGain","mortal","tile","immortal","matureBase","HarvestAll","WrinklerReward","WrinklerButton","TooltipPantheon","GodID","cps1","cps2","cps3","PantheonGods","getElementById","TooltipWarn","create","boxId","labelTextFront","labelTextBack","deficitId","transition","labelDiv","labelSpan","deficitDiv","deficitSpan","ToolWarnUser","TooltipCreateWarningSection","bonusIncomeUsed","ToolWarnBon","limitLucky","bonusNoFren","ToolWarnLucky","ToolWarnLuckyFrenzy","limitLuckyFrenzy","ToolWarnConjure","limitConjure","ToolWarnConjureFrenzy","limitConjureFrenzy","ToolWarnEdifice","children","Warnings","CMDrawHook","prefs","autosave","drawT","onMenu","Stats","innerText","sayTime","T","maxWidthTwoBar","maxWidthOneBar","numberOfTimers","shimmerTypes","golden","spawned","Has","minTime","maxTime","TimerBarOverlay","season","reindeer","BuffTimerBars","classColour","UpdateTimerBar","TooltipWrink","showingTooltip","phase","selected","placeholder","wrinkler","minWidth","escape","CheckWrinklerTooltip","sucked","toSuck","UpdateWrinklerTooltip","UpStats","UpdateMenu","monospace","CMClickHook","addLatest","computedMouseCps","CMAvgQueue","[object Object]","maxLength","queue","newValue","timePeriod","reduce","CacheAvgCPS","currDate","Date","now","choEggTotal","cookiesEarned","timeDiff","bankDiffAvg","wrinkDiffAvg","wrinkFattestDiffAvg","choEggDiffAvg","clicksDiffAvg","cookieClicks","cpsLength","AvgCPSHist","calcAverage","choEgg","HasUnlocked","AvgClicksHist","ColourOfPP","PPSecondsLowerLimit","PPOnlyConsiderBuyable","CacheColour","PPRigidelMode","getSumPrice","PPExcludeTop","CachePP","PP_CachePP","indexOfMin","CacheBuildingsPP","BuildingGetPrice","SimWin","CalculateGains","effs","myEffs","ii","heavenlyMult","SimGetHeavenlyMultiplier","heralds","cookieUpgrades","buildMult","sin","santaLevel","milkProgress","milkMult","catMult","storedCps","eggMult","day","startDate","lumps","rawCookiesPs","CpsAchievements","threshold","auraMult","bakeryName","goldenSwitchMult","upgrades","goldenCookieUpgrades","veilMult","runModHookOnValue","Fortunes","HalloCookies","ChristCookies","ValCookies","PlantDrops","SimHasAchiev","CheckOtherAchiev","grandmas","buildingsOwned","mathematician","base10","minAmount","ObjectsById","Cursor","hasAllHalloCook","hasAllChristCook","list","fortunes","CacheBuildingIncome","result","tieredAchievs","achievUnlock","lastAchievementsOwned","BuyBuildingsBonusIncome","CacheBuildingsPrices","CacheIncome","bonusIncome","unlocked","CountsAsUpgradeOwned","diffMouseCPS","multClick","out","MouseCps","BuyUpgradesBonusIncome","MaxChainCookieReward","digit","maxPayout","totalFromChain","nextMoni","nextRequired","chain","LN10","CacheChain","cpsBuffMult","CacheHeavenlyChipsPS","chipsOwned","HowMuchPrestige","cookiesReset","ascendNowToGet","heavenlyChipsDiffAvg","CacheAllMissingUpgrades","classes","noFrame","crates","icon","iconFunction","getDynamicTooltip","crateMissing","CacheSeasonSpec","CacheStatsCookies","CacheGoldenAndWrathCookiesMults","goldenMult","wrathMult","eff","CacheWrinklers","InitCache","SettingsDefault","DetailedTime","UpgradeBarFixedPos","DragonAuraInfo","GrimoireBar","GCTimer","Favicon","HideSectionsButtons","TooltipAmor","TooltipAscendButton","MissingUpgrades","MissingAchievements","HeavenlyChipsTarget","ShowMissedGC","GeneralSound","GCNotification","GCFlash","ColourGCFlash","GCSound","GCVolume","GCSoundURL","FortuneNotification","FortuneFlash","ColourFortuneFlash","FortuneSound","FortuneVolume","FortuneSoundURL","SeaNotification","SeaFlash","ColourSeaFlash","SeaSound","SeaVolume","SeaSoundURL","GardFlash","ColourGardFlash","GardSound","GardVolume","GardSoundURL","MagicNotification","MagicFlash","ColourMagicFlash","MagicSound","MagicVolume","MagicSoundURL","WrinklerNotification","WrinklerFlash","ColourWrinklerFlash","WrinklerSound","WrinklerVolume","WrinklerSoundURL","WrinklerMaxNotification","WrinklerMaxFlash","ColourWrinklerMaxFlash","WrinklerMaxSound","WrinklerMaxVolume","WrinklerMaxSoundURL","BulkBuyBlock","Header","Favourite","Calculation","Notation","Colours","BarsDisplay","Tooltip","Statistics","Notification","NotificationGeneral","NotificationGC","NotificationFC","NotificationSea","NotificationGard","NotificationMagi","NotificationWrink","NotificationWrinkMax","Miscellaneous","Lucky","Chain","Spells","Garden","Prestige","Wrink","Sea","Misc","InfoTab","Config_CheckNotificationPermissions","ToggleOnOff","checkNotificationPromise","requestPermission","then","ToggleBotBar","RefreshScale","BeautifyAll","RefreshStore","RebuildUpgrades","UpdateFavicon","wrath","href","Setting","group","SettingStandard","label","desc","toggle","super","SettingColours","SettingVolume","SettingInputNumber","SettingsData","insertBefore","UpBarColor","save","stringify","favouriteSettings","settings","version","CacheDragonCost","dragonLevel","dragonLevels","buy","includes","replaceAll","cost","CalculateChangeGod","InitData","isInitializing","Flash","config","setTimeout","Sound_PlaySound","url","sndConfig","volConfig","sound","Audio","volume","play","CreateNotification","notifyConfig","title","message","visibilityState","badge","CMLoopHook","OnAscend","AscendTimer","mods","CachePantheonGods","sellTotal","Bank","marketGoods","goods","goodsVal","marketGood","stock","cookiesPsRawHighest","buildingsToSacrifice","highestBuilding","SellBuildingsForChoEgg","CacheSellAllForChoEgg","hasBuildAura","godMult","CacheCurrWrinklerCPS","cookiesToNext","HowManyCookiesReset","LoopCache","shimmers","spawnLead","cookie","fontFamily","onclick","pop","onmouseover","filter","webkitFilter","onmouseout","CreateGCTimer","transform","life","TickerEffect","nextStep","CheckMagicMeter","CurrentWrinklers","getWrinklersMax","CheckWrinklerCount","UpdateColours","SaveConfig","saveString","b64_to_utf8","unescape","localStorage","getItem","CookieMonsterSave","newSaveString","setItem","utf8_to_b64","LoadConfig","CMConfig","Colors","mod","PopAllNormalWrinklers","hp","CreateTooltip","buildPrice","amortizeAmount","storedTotalCps","globalCpsMult","crateTooltip","lumpTooltip","spellTooltip","tileTooltip","toolTooltip","godTooltip","slotTooltip","area","ReplaceTooltipGrimoire","dynamic","wobble","ReplaceNativeGrimoireDraw","magicBarTextL","ReplaceNativeGrimoire","launch","ReplaceNativeGrimoireLaunch","jscolor_default","ToggleSetting_ConfigPrefix","ToggleConfigVolume","ToggleHeader","StatsHeader","span","StatsListing","listingName","StatsMissDisp","theMissDisp","frag","createDocumentFragment","missing","AddMenuStats","stats","goldCookTooltip","section","luckyColour","luckyTime","luckyReqFrag","luckyReqSpan","luckyReqSmall","luckyColourFrenzy","luckyTimeFrenzy","luckyReqFrenFrag","luckyReqFrenSpan","luckyReqFrenSmall","luckySplit","luckyRewardMaxSpan","luckyRewardFrenzyMaxSpan","luckyCurBase","luckyCurSpan","LuckySection","chainColour","chainTime","chainReqFrag","chainReqSpan","chainReqSmall","chainWrathColour","chainWrathTime","chainWrathReqFrag","chainWrathReqSpan","chainWrathReqSmall","chainColourFrenzy","chainTimeFrenzy","chainReqFrenFrag","chainReqFrenSpan","chainReqFrenSmall","chainWrathColourFrenzy","chainWrathTimeFrenzy","chainWrathReqFrenFrag","chainWrathReqFrenSpan","chainWrathReqFrenSmall","chainCurMax","chainCur","chainCurWrath","ChainSection","conjureColour","conjureTime","conjureReqFrag","conjureReqSpan","conjureReqSmall","conjureFrenzyColour","conjureFrenzyCur","conjureFrenzyTime","conjureFrenzyReqFrag","conjureFrenzyReqSpan","conjureFrenzyReqSmall","SpellsSection","bakeberryColour","bakeberryFrag","chocorootColour","chocorootFrag","queenbeetColour","queenbeetFrag","duketaterColour","duketaterFrag","missingPlantDrops","GardenSection","possiblePresMax","neededCook","cookiesNextFrag","cookiesNextSmall","heavenlyChips","HCTarget","CookiesTillTarget","resetBonus","newHeavenlyChips","curCPS","ResetCPS","ResetBonus","resetFrag","resetSmall","currentPrestige","willHave","willGet","delta7","next7Reset","next7Total","frag7","delta777","next777Reset","next777Total","frag777","delta777777","next777777Reset","next777777Total","frag777777","PrestigeSection","popAllFrag","popAllA","popFattestFrag","popFattestA","specDisp","missingHalloweenCookies","missingChristmasCookies","missingValentineCookies","missingNormalEggs","eggDrops","missingRareEggs","rareEggDrops","centEgg","failRateHalloween","dropRateMult","obtainedCookiesChance","failRateChristmas","dropRateEgg","StartingFailRate","failRateEgg","succesRateEgg","obtainedEggs","obtainedRareEggs","pNormal1","pRare1","pRedrop","SeasonSection","calcSum","missedGoldenClicks","menuSection","prestigeUpgradesMissing","titlefrag","PrestigeUpgrades","normalUpgradesMissing","tech","nextSibling","cookieUpgradesMissing","achievs","values","parentElement","achievsCrate","AchievementsById","mouseDown","setOnCrate","tags","neuromancy","sesame","descFunc","tagsStr","CrateTooltipLockedAchievements","AddMissingAchievements","ConfigGroups","ConfigGroupsNotification","CreatePrefHeader","CreatePrefOption","FavStar","ele","ToggleFavouriteSetting","FavouriteSettingPlaceholder","CreateFavouriteStar","ToggleConfig","float","percent","slider","step","onchange","input","readOnly","inputPrompt","content","promptWrapL","promptL","PlaySound","promptAnchorL","darkenL","focus","promptOn","UpdatePrompt","CookieMonsterPrompt","outerHTML","ClosePrompt","innerSpan","FixMouseY","timerBarHeight","mouseY","ReplaceNative","drawMod","from","update","updateMod","warnOffset","tta","tt","UpdateTooltipLocation","UpdateWrinklers","UpdateSpecial","ClickCookie","ClickProduct","DescribeDragonAura","aura","bonusCPS","priceOfChange","CalculateChangeAura","timeToRecover","bonusCPSPercentage","minHeight","div2","AddAuraInfo","ToggleSpecialMenu","on","shouldHide","AddDragonLevelUpTooltip","index","subGroup","subGroupObject","resDef","resDefBut","AddMenuPref","info","description","notes","menu","AddMenuInfo","AddMenu","detail","Logic","titleGC","titleFC","titleSP","addFC","addSP","lastIndexOf","spawn","UpdateTitle","ReplaceAscendTooltip","InitializeCookieMonster","head","backgroundColour","borderTop","textShadow","table","tbody","firstCol","td","CreateBotBar","CMTimerBarGC","CMTimerBarRen","TimerBarBuffTimers","CreateTimerBar","UpgradeBar","legend","legendLine","CreateUpgradeBarLegend","upgradeNumber","CreateUpgradeBar","WhiteScreen","CreateFlashScreen","CreateSectionHideButtons","getElementsByTagName","CreateFavicon","CreateSimpleTooltip","append","CreateWrinklerButtons","canLumps","child","coords","ReplaceTooltipPantheon","popups","Popup","Notify","Win","CM","proceed","confirm","registerHook","load","registerMod"],"mappings":"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C,KAAKC,YACpC1U,EAAE,8BAA8BnJ,MAAMqV,QAAU,GAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,KAE9ClM,EAAE,8BAA8BnJ,MAAMqV,QAAU,OAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,QAQlD,MAAMyI,EAAS,CAAC,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAGhDC,EAAa,CACjB,GACA,GACA,IACA,IACA,KACA,QACA,QACA,OACA,OACA,MACA,MACA,MACA,QACA,SACA,SACA,cACA,UACA,SACA,YACA,UACA,WACA,SACA,WACA,YACA,YACA,kBAIIC,EAAwB,CAC5B,GACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,OAMF,IAAIC,EAEAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAIAC,EAIAC,EAOAC,EAlCAC,EAAqB,GAErBC,EAAwB,GACxBC,EAAuB,GAOvBC,EAAkB,GA6BtB,MAAMC,EAAgB,SAChBC,EAAgB,SAMhBC,EAAa,OACbC,EAAc,QACdC,EAAe,SACfC,EAAe,SACfC,EAAY,MACZC,EAAe,SACfC,EAAa,OACbC,EAAa,OACbC,EAAc,QACdC,EAAkB,CACtBH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","file":"./CookieMonster.js","sourceRoot":""} \ No newline at end of file diff --git a/src/Main/LoopHook.js b/src/Main/LoopHook.js index 91fbf01..5f48441 100644 --- a/src/Main/LoopHook.js +++ b/src/Main/LoopHook.js @@ -30,14 +30,13 @@ import CheckMagicMeter from './CheckStates/Grimoire'; import CheckSeasonPopup from './CheckStates/Season'; import CheckTickerFortune from './CheckStates/Ticker'; import CheckWrinklerCount from './CheckStates/Wrinkler'; -import { DateAtBeginLoop, LastModCount } from './VariablesAndData'; +import { LastModCount } from './VariablesAndData'; /** * Main loop of Cookie Monster * CM.init registers it to the "logic" hook provided by the modding api */ export default function CMLoopHook() { - DateAtBeginLoop = Date.now(); if (LastAscendState !== Game.OnAscend) { LastAscendState = Game.OnAscend; UpdateAscendState(); diff --git a/src/Main/ReplaceGameFunctions/ReplaceNative.js b/src/Main/ReplaceGameFunctions/ReplaceNative.js index 1ee8d85..2ed0536 100644 --- a/src/Main/ReplaceGameFunctions/ReplaceNative.js +++ b/src/Main/ReplaceGameFunctions/ReplaceNative.js @@ -13,7 +13,11 @@ import UpdateTooltipLocation from '../../Disp/Tooltips/PositionLocation'; import { CMSayTime, Title } from '../../Disp/VariablesAndData'; import { SimDoSims } from '../../Sim/VariablesAndData'; import ReplaceTooltipUpgrade from '../ReplaceGameElements/TooltipUpgrades'; -import { BackupFunctions } from '../VariablesAndData'; +import { + BackupFunctions, + CenturyDateAtBeginLoop, + CycliusDateAtBeginLoop, +} from '../VariablesAndData'; import FixMouseY from './FixMouse'; /** @@ -29,6 +33,8 @@ export default function ReplaceNative() { Game.CalculateGains = function () { BackupFunctions.CalculateGains(); SimDoSims = 1; + CycliusDateAtBeginLoop = Date.now(); + CenturyDateAtBeginLoop = Date.now(); }; BackupFunctions.tooltip = {}; diff --git a/src/Main/VariablesAndData.js b/src/Main/VariablesAndData.js index 429d7f3..a014e9d 100644 --- a/src/Main/VariablesAndData.js +++ b/src/Main/VariablesAndData.js @@ -22,7 +22,10 @@ export let LastMagicBarFull; export let CurrSpawnedGoldenCookieState; export let LastWrinklerCount; -/** Stores the date at the beginning of a Main loop - * Calculations depending on time (God Cyclius) will all use same time +/** Stores the date at Game.CalculateGains for God Cyclius */ -export let DateAtBeginLoop; +export let CycliusDateAtBeginLoop; + +/** Stores the date at Game.CalculateGains for the Century egg + */ +export let CenturyDateAtBeginLoop; diff --git a/src/Sim/Calculations/CalculateGains.js b/src/Sim/Calculations/CalculateGains.js index 5c11539..0d402d8 100644 --- a/src/Sim/Calculations/CalculateGains.js +++ b/src/Sim/Calculations/CalculateGains.js @@ -1,7 +1,10 @@ /* eslint-disable no-unused-vars */ import GetCPSBuffMult from '../../Cache/CPS/GetCPSBuffMult'; import { CacheCentEgg } from '../../Cache/VariablesAndData'; -import { DateAtBeginLoop } from '../../Main/VariablesAndData'; +import { + CenturyDateAtBeginLoop, + CycliusDateAtBeginLoop, +} from '../../Main/VariablesAndData'; import SimAuraMult from '../ReplacedGameFunctions/SimAuraMult'; import SimEff from '../ReplacedGameFunctions/SimEff'; import SimGetHeavenlyMultiplier from '../ReplacedGameFunctions/SimGetHeavenlyMultiplier'; @@ -94,17 +97,24 @@ export default function CalculateGains() { if (godLvl === 1) mult *= 1 + - 0.15 * Math.sin((DateAtBeginLoop / 1000 / (60 * 60 * 3)) * Math.PI * 2); + 0.15 * + Math.sin( + (CycliusDateAtBeginLoop / 1000 / (60 * 60 * 3)) * Math.PI * 2, + ); else if (godLvl === 2) mult *= 1 + 0.15 * - Math.sin((DateAtBeginLoop / 1000 / (60 * 60 * 12)) * Math.PI * 2); + Math.sin( + (CycliusDateAtBeginLoop / 1000 / (60 * 60 * 12)) * Math.PI * 2, + ); else if (godLvl === 3) mult *= 1 + 0.15 * - Math.sin((DateAtBeginLoop / 1000 / (60 * 60 * 24)) * Math.PI * 2); + Math.sin( + (CycliusDateAtBeginLoop / 1000 / (60 * 60 * 24)) * Math.PI * 2, + ); godLvl = SimHasGod('decadence'); if (godLvl === 1) buildMult *= 0.93; @@ -195,7 +205,7 @@ export default function CalculateGains() { if (SimHas('Century egg')) { // The boost increases a little every day, with diminishing returns up to +10% on the 100th day let day = - (Math.floor((DateAtBeginLoop - Game.startDate) / 1000 / 10) * 10) / + (Math.floor((CenturyDateAtBeginLoop - Game.startDate) / 1000 / 10) * 10) / 60 / 60 / 24; From e2f99d1cf978dad8fddf683cd68214cdccd43516 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dani=C3=ABl=20van=20Noord?= <13665637+DanielNoord@users.noreply.github.com> Date: Sun, 4 Apr 2021 15:14:29 +0200 Subject: [PATCH 3/6] Removed eslintignore file --- .eslintignore | 6 ------ .eslintrc.js | 1 + 2 files changed, 1 insertion(+), 6 deletions(-) delete mode 100644 .eslintignore diff --git a/.eslintignore b/.eslintignore deleted file mode 100644 index 6ce89d0..0000000 --- a/.eslintignore +++ /dev/null @@ -1,6 +0,0 @@ -CookieMonster.js -CookieMonster.user.js -src/*.js -!src/CookieMonster.js -!src/*/* -dist/* diff --git a/.eslintrc.js b/.eslintrc.js index 1a7f792..edc1832 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -15,6 +15,7 @@ module.exports = { parserOptions: { ecmaVersion: 12, }, + ignorePatterns: ['*CookieMonster*.js', 'dist/*', 'node_modules/*'], rules: { 'import/no-mutable-exports': 'off', 'no-plusplus': ['error', { allowForLoopAfterthoughts: true }], From e3321ebe2fc47a906d28a7959bd86c0a48e6bdbf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dani=C3=ABl=20van=20Noord?= <13665637+DanielNoord@users.noreply.github.com> Date: Sun, 4 Apr 2021 17:05:39 +0200 Subject: [PATCH 4/6] Fixed high number of ESLint errors --- .eslintrc.js | 4 ---- src/Cache/CPS/AverageQueue.js | 11 +++++----- src/Cache/CPS/CPS.js | 7 +++---- src/Cache/CPS/CurrWrinklerCPS.js | 5 ++--- src/Cache/CPS/NoGoldSwitchCPS.js | 3 +-- src/Cache/CPS/SellChoEgg.js | 3 +-- src/Cache/CacheInit.js | 6 +++--- src/Cache/CacheLoop.js | 3 +-- src/Cache/Dragon/CacheDragonAuras.js | 5 ++--- src/Cache/Dragon/Dragon.js | 5 +---- src/Cache/PP/Building.js | 13 ++++++------ src/Cache/PriceAndIncome/PriceAndIncome.js | 5 +---- src/Cache/Stats/ChainCookies.js | 17 +++++++-------- src/Cache/Stats/HeavenlyChips.js | 3 +-- src/Cache/Stats/MissingUpgrades.js | 3 ++- src/Cache/Stats/Reindeer.js | 3 +-- src/Cache/Stats/Stats.js | 13 ++++++------ src/Cache/Wrinklers/Wrinklers.js | 5 ++--- src/Config/CheckNotificationPermissions.js | 2 +- src/Config/Toggles/ToggleGCTimer.js | 2 +- src/Config/VariablesAndData.js | 4 +--- src/CookieMonster.js | 1 - src/Data/SettingsData.js | 3 +-- .../BeautifyFormatting.js | 14 ++++++------- src/Disp/BuildingsUpgrades/Buildings.js | 9 ++++---- src/Disp/BuildingsUpgrades/Upgrades.js | 5 ++--- .../GoldenCookieTimers/GoldenCookieTimers.js | 9 ++++---- .../MenuSections/Settings/CreateOption.js | 1 - .../Statistics/CreateMissingAchievements.js | 3 ++- src/Disp/Tooltips/CreateTooltip.js | 6 +++--- src/Disp/Tooltips/Tooltip.js | 9 +++----- src/Disp/VariablesAndData.js | 19 ++++++++--------- src/InitSaveLoad/Variables.js | 3 +-- src/InitSaveLoad/init.js | 4 ++-- src/InitSaveLoad/load.js | 3 +-- src/Main/CheckStates/GoldenCookie.js | 3 +-- src/Main/CheckStates/Season.js | 3 +-- src/Main/Initialization.js | 6 ++---- src/Main/LoopHook.js | 1 - .../ReplaceGameElements/NativeGrimoire.js | 5 ++--- src/Main/ReplaceGameElements/Tooltips.js | 5 ++--- .../ReplaceGameFunctions/ReplaceNative.js | 13 ++++++------ src/Main/VariablesAndData.js | 10 ++++----- src/Main/WrinklerArea/AddDetectArea.js | 3 +-- src/Sim/Calculations/CalculateGains.js | 5 ++--- src/Sim/SimulationData/CopyData.js | 21 +++++++++---------- src/Sim/SimulationData/SimWin.js | 3 +-- src/Sim/SimulationEvents/AuraChange.js | 3 +-- src/Sim/SimulationEvents/BuyUpgrades.js | 4 +--- src/Sim/SimulationEvents/GodChange.js | 3 ++- src/Sim/SimulationEvents/ResetAscension.js | 3 +-- .../SimulationEvents/SellBuildingForChoEgg.js | 3 +-- src/Sim/VariablesAndData.js | 7 +++---- 53 files changed, 130 insertions(+), 182 deletions(-) diff --git a/.eslintrc.js b/.eslintrc.js index edc1832..5a6d452 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -19,11 +19,7 @@ module.exports = { rules: { 'import/no-mutable-exports': 'off', 'no-plusplus': ['error', { allowForLoopAfterthoughts: true }], - 'no-new-func': 'off', 'func-names': 'off', - 'no-console': 'off', - 'no-alert': 'off', - 'no-restricted-globals': 'off', 'prefer-destructuring': ['error', { object: true, array: false }], 'max-len': [ 1, diff --git a/src/Cache/CPS/AverageQueue.js b/src/Cache/CPS/AverageQueue.js index 9313bec..ab2f4eb 100644 --- a/src/Cache/CPS/AverageQueue.js +++ b/src/Cache/CPS/AverageQueue.js @@ -1,4 +1,3 @@ -/* eslint-disable no-unused-vars */ import { ClickTimes, CookieTimes } from '../../Disp/VariablesAndData'; import { ChoEggDiff, @@ -65,9 +64,9 @@ export class CMAvgQueue { * Called by CM.Cache.InitCache() */ export function InitCookiesDiff() { - CookiesDiff = new CMAvgQueue(CookieTimes[CookieTimes.length - 1]); - WrinkDiff = new CMAvgQueue(CookieTimes[CookieTimes.length - 1]); - WrinkFattestDiff = new CMAvgQueue(CookieTimes[CookieTimes.length - 1]); - ChoEggDiff = new CMAvgQueue(CookieTimes[CookieTimes.length - 1]); - ClicksDiff = new CMAvgQueue(ClickTimes[ClickTimes.length - 1]); + CookiesDiff = new CMAvgQueue(CookieTimes[CookieTimes.length - 1]); // eslint-disable-line no-unused-vars + WrinkDiff = new CMAvgQueue(CookieTimes[CookieTimes.length - 1]); // eslint-disable-line no-unused-vars + WrinkFattestDiff = new CMAvgQueue(CookieTimes[CookieTimes.length - 1]); // eslint-disable-line no-unused-vars + ChoEggDiff = new CMAvgQueue(CookieTimes[CookieTimes.length - 1]); // eslint-disable-line no-unused-vars + ClicksDiff = new CMAvgQueue(ClickTimes[ClickTimes.length - 1]); // eslint-disable-line no-unused-vars } diff --git a/src/Cache/CPS/CPS.js b/src/Cache/CPS/CPS.js index 7e4f8e6..33c69c3 100644 --- a/src/Cache/CPS/CPS.js +++ b/src/Cache/CPS/CPS.js @@ -1,5 +1,3 @@ -/* eslint-disable no-unused-vars */ - import { CMOptions } from '../../Config/VariablesAndData'; import { ClickTimes, CookieTimes } from '../../Disp/VariablesAndData'; import { @@ -41,7 +39,7 @@ export default function CacheAvgCPS() { if ((Game.T / Game.fps) % 1 === 0) { let choEggTotal = Game.cookies + CacheSellForChoEgg; if (Game.cpsSucked > 0) choEggTotal += CacheWrinklersTotal; - CacheRealCookiesEarned = Math.max(Game.cookiesEarned, choEggTotal); + CacheRealCookiesEarned = Math.max(Game.cookiesEarned, choEggTotal); // eslint-disable-line no-unused-vars choEggTotal *= 0.05; // Add recent gains to AvgQueue's @@ -89,8 +87,9 @@ export default function CacheAvgCPS() { CacheAverageGainBank + CacheAverageGainWrink + (choEgg ? CacheAverageGainChoEgg : 0); - } else CacheAvgCPSWithChoEgg = CacheAverageCPS; + } else CacheAvgCPSWithChoEgg = CacheAverageCPS; // eslint-disable-line no-unused-vars + // eslint-disable-next-line no-unused-vars CacheAverageClicks = ClicksDiff.calcAverage( ClickTimes[CMOptions.AvgClicksHist], ); diff --git a/src/Cache/CPS/CurrWrinklerCPS.js b/src/Cache/CPS/CurrWrinklerCPS.js index b42a53d..f107bec 100644 --- a/src/Cache/CPS/CurrWrinklerCPS.js +++ b/src/Cache/CPS/CurrWrinklerCPS.js @@ -1,4 +1,3 @@ -/* eslint-disable no-unused-vars */ import { SimObjects } from '../../Sim/VariablesAndData'; import { CacheCurrWrinklerCount, @@ -23,8 +22,8 @@ export default function CacheCurrWrinklerCPS() { else if (godLvl === 2) godMult *= 1.1; else if (godLvl === 3) godMult *= 1.05; } - CacheCurrWrinklerCount = count; - CacheCurrWrinklerCPSMult = + CacheCurrWrinklerCount = count; // eslint-disable-line no-unused-vars + CacheCurrWrinklerCPSMult = // eslint-disable-line no-unused-vars count * (count * 0.05 * 1.1) * (Game.Has('Sacrilegious corruption') * 0.05 + 1) * diff --git a/src/Cache/CPS/NoGoldSwitchCPS.js b/src/Cache/CPS/NoGoldSwitchCPS.js index a3a5830..f0cd5bc 100644 --- a/src/Cache/CPS/NoGoldSwitchCPS.js +++ b/src/Cache/CPS/NoGoldSwitchCPS.js @@ -1,4 +1,3 @@ -/* eslint-disable no-unused-vars */ import CalcNoGoldSwitchCPS from '../../Sim/Calculations/NoGoldenSwitchCalc'; import { CacheNoGoldSwitchCookiesPS } from '../VariablesAndData'; @@ -10,5 +9,5 @@ import { CacheNoGoldSwitchCookiesPS } from '../VariablesAndData'; export default function CacheNoGoldSwitchCPS() { if (Game.Has('Golden switch [off]')) { CacheNoGoldSwitchCookiesPS = CalcNoGoldSwitchCPS(); - } else CacheNoGoldSwitchCookiesPS = Game.cookiesPs; + } else CacheNoGoldSwitchCookiesPS = Game.cookiesPs; // eslint-disable-line no-unused-vars } diff --git a/src/Cache/CPS/SellChoEgg.js b/src/Cache/CPS/SellChoEgg.js index 3825ce4..e3222e2 100644 --- a/src/Cache/CPS/SellChoEgg.js +++ b/src/Cache/CPS/SellChoEgg.js @@ -1,4 +1,3 @@ -/* eslint-disable no-unused-vars */ import SellBuildingsForChoEgg from '../../Sim/SimulationEvents/SellBuildingForChoEgg'; import { CacheSellForChoEgg } from '../VariablesAndData'; @@ -21,5 +20,5 @@ export default function CacheSellAllForChoEgg() { } // Compute cookies earned by selling all buildings with optimal auras (ES + RB) sellTotal += SellBuildingsForChoEgg(); - CacheSellForChoEgg = sellTotal; + CacheSellForChoEgg = sellTotal; // eslint-disable-line no-unused-vars } diff --git a/src/Cache/CacheInit.js b/src/Cache/CacheInit.js index 4a3dfc6..1405d2f 100644 --- a/src/Cache/CacheInit.js +++ b/src/Cache/CacheInit.js @@ -1,4 +1,3 @@ -/* eslint-disable no-unused-vars */ import { ClickTimes } from '../Disp/VariablesAndData'; import { CMAvgQueue, InitCookiesDiff } from './CPS/AverageQueue'; import CacheAvgCPS from './CPS/CPS'; @@ -34,8 +33,9 @@ export default function InitCache() { CacheAllMissingUpgrades(); CacheSeasonSpec(); InitCookiesDiff(); - HeavenlyChipsDiff = new CMAvgQueue(5); // Used by CM.Cache.CacheHeavenlyChipsPS() - CacheAverageCookiesFromClicks = new CMAvgQueue( + /** Used by CM.Cache.CacheHeavenlyChipsPS() */ + HeavenlyChipsDiff = new CMAvgQueue(5); // eslint-disable-line no-unused-vars + CacheAverageCookiesFromClicks = new CMAvgQueue( // eslint-disable-line no-unused-vars ClickTimes[ClickTimes.length - 1] * 20, ); CacheHeavenlyChipsPS(); diff --git a/src/Cache/CacheLoop.js b/src/Cache/CacheLoop.js index e9e7af4..fc33e5b 100644 --- a/src/Cache/CacheLoop.js +++ b/src/Cache/CacheLoop.js @@ -1,4 +1,3 @@ -/* eslint-disable no-unused-vars */ import { FormatTime } from '../Disp/BeautifyAndFormatting/BeautifyFormatting'; import GetCPS from '../Disp/HelperFunctions/GetCPS'; import CacheAvgCPS from './CPS/CPS'; @@ -27,5 +26,5 @@ export default function LoopCache() { 1, ) - (Game.cookiesEarned + Game.cookiesReset); - CacheTimeTillNextPrestige = FormatTime(cookiesToNext / GetCPS()); + CacheTimeTillNextPrestige = FormatTime(cookiesToNext / GetCPS()); // eslint-disable-line no-unused-vars } diff --git a/src/Cache/Dragon/CacheDragonAuras.js b/src/Cache/Dragon/CacheDragonAuras.js index 0490482..32ef632 100644 --- a/src/Cache/Dragon/CacheDragonAuras.js +++ b/src/Cache/Dragon/CacheDragonAuras.js @@ -1,10 +1,9 @@ -/* eslint-disable no-unused-vars */ import { CacheDragonAura, CacheDragonAura2 } from '../VariablesAndData'; /** * This functions caches the currently selected Dragon Auras */ export default function CacheDragonAuras() { - CacheDragonAura = Game.dragonAura; - CacheDragonAura2 = Game.dragonAura2; + CacheDragonAura = Game.dragonAura; // eslint-disable-line no-unused-vars + CacheDragonAura2 = Game.dragonAura2; // eslint-disable-line no-unused-vars } diff --git a/src/Cache/Dragon/Dragon.js b/src/Cache/Dragon/Dragon.js index c0f97a0..5f64b53 100644 --- a/src/Cache/Dragon/Dragon.js +++ b/src/Cache/Dragon/Dragon.js @@ -1,4 +1,3 @@ -/* eslint-disable no-unused-vars */ /** Functions related to the Dragon */ import { Beautify } from '../../Disp/BeautifyAndFormatting/BeautifyFormatting'; @@ -6,8 +5,6 @@ import CopyData from '../../Sim/SimulationData/CopyData'; import { SimDoSims, SimObjects } from '../../Sim/VariablesAndData'; import { CacheCostDragonUpgrade, - CacheDragonAura, - CacheDragonAura2, CacheLastDragonLevel, } from '../VariablesAndData'; @@ -70,7 +67,7 @@ export default function CacheDragonCost() { cost += price; SimObjects[target].amount -= 1; } - CacheCostDragonUpgrade = `Cost to rebuy: ${Beautify(cost)}`; + CacheCostDragonUpgrade = `Cost to rebuy: ${Beautify(cost)}`; // eslint-disable-line no-unused-vars }); } } diff --git a/src/Cache/PP/Building.js b/src/Cache/PP/Building.js index 8551744..13cc627 100644 --- a/src/Cache/PP/Building.js +++ b/src/Cache/PP/Building.js @@ -1,5 +1,3 @@ -/* eslint-disable no-param-reassign */ -/* eslint-disable no-unused-vars */ import { CMOptions } from '../../Config/VariablesAndData'; import GetWrinkConfigBank from '../../Disp/HelperFunctions/GetWrinkConfigBank'; import { ColourGray } from '../../Disp/VariablesAndData'; @@ -20,16 +18,17 @@ import ColourOfPP from './ColourOfPP'; function CacheColour(target, amount) { Object.keys(target).forEach((i) => { if (CMOptions.PPRigidelMode && amount === 1) { - target[i].color = ColourGray; + target[i].color = ColourGray; // eslint-disable-line no-param-reassign return; } + // eslint-disable-next-line no-param-reassign target[i].color = ColourOfPP( target[i], Game.Objects[i].getSumPrice(amount), ); // Colour based on excluding certain top-buildings for (let j = 0; j < CMOptions.PPExcludeTop; j++) { - if (target[i].pp === CachePPArray[j][0]) target[i].color = ColourGray; + if (target[i].pp === CachePPArray[j][0]) target[i].color = ColourGray; // eslint-disable-line no-param-reassign } }); } @@ -38,11 +37,11 @@ function CachePP(target, amount) { Object.keys(target).forEach((i) => { const price = Game.Objects[i].getSumPrice(amount); if (Game.cookiesPs) { - target[i].pp = + target[i].pp = // eslint-disable-line no-param-reassign Math.max(price - (Game.cookies + GetWrinkConfigBank()), 0) / Game.cookiesPs + price / target[i].bonus; - } else target[i].pp = price / target[i].bonus; + } else target[i].pp = price / target[i].bonus; // eslint-disable-line no-param-reassign if (!(CMOptions.PPRigidelMode && amount === 1)) CachePPArray.push([target[i].pp, amount]); }); @@ -73,7 +72,7 @@ export default function CacheBuildingsPP() { } } } - CacheMinPP = CachePPArray[CMOptions.PPExcludeTop][indexOfMin]; + CacheMinPP = CachePPArray[CMOptions.PPExcludeTop][indexOfMin]; // eslint-disable-line no-unused-vars CacheColour(CacheObjects1, 1); CacheColour(CacheObjects10, 10); diff --git a/src/Cache/PriceAndIncome/PriceAndIncome.js b/src/Cache/PriceAndIncome/PriceAndIncome.js index cb9123b..feceab8 100644 --- a/src/Cache/PriceAndIncome/PriceAndIncome.js +++ b/src/Cache/PriceAndIncome/PriceAndIncome.js @@ -1,13 +1,10 @@ -/* eslint-disable no-unused-vars */ /** Section: Functions related to caching income */ import { CMOptions } from '../../Config/VariablesAndData'; -import GetCPS from '../../Disp/HelperFunctions/GetCPS'; import BuildingGetPrice from '../../Sim/SimulationEvents/BuyBuilding'; import BuyBuildingsBonusIncome from '../../Sim/SimulationEvents/BuyBuildingBonusIncome'; import BuyUpgradesBonusIncome from '../../Sim/SimulationEvents/BuyUpgrades'; import { - CacheAverageCPS, CacheAverageGainBank, CacheAverageGainWrink, CacheAverageGainWrinkFattest, @@ -30,7 +27,7 @@ function CacheBuildingIncome(amount) { result[i] = {}; result[i].bonus = BuyBuildingsBonusIncome(i, amount); if (amount !== 1) { - CacheDoRemakeBuildPrices = 1; + CacheDoRemakeBuildPrices = 1; // eslint-disable-line no-unused-vars } }); return result; diff --git a/src/Cache/Stats/ChainCookies.js b/src/Cache/Stats/ChainCookies.js index 27a29ae..c1741cb 100644 --- a/src/Cache/Stats/ChainCookies.js +++ b/src/Cache/Stats/ChainCookies.js @@ -1,4 +1,3 @@ -/* eslint-disable no-unused-vars */ import GetCPSBuffMult from '../CPS/GetCPSBuffMult'; import { CacheChainFrenzyMaxReward, @@ -89,8 +88,8 @@ export function CacheChain() { maxPayout, CacheGoldenCookiesMult, ); - CacheChainRequired = (CacheChainMaxReward[1] * 2) / CacheGoldenCookiesMult; - CacheChainRequiredNext = + CacheChainRequired = (CacheChainMaxReward[1] * 2) / CacheGoldenCookiesMult; // eslint-disable-line no-unused-vars + CacheChainRequiredNext = // eslint-disable-line no-unused-vars CacheChainMaxReward[2] / 60 / 60 / 6 / CacheDragonsFortuneMultAdjustment; CacheChainWrathMaxReward = MaxChainCookieReward( @@ -98,9 +97,9 @@ export function CacheChain() { maxPayout, CacheWrathCookiesMult, ); - CacheChainWrathRequired = + CacheChainWrathRequired = // eslint-disable-line no-unused-vars (CacheChainWrathMaxReward[1] * 2) / CacheWrathCookiesMult; - CacheChainWrathRequiredNext = + CacheChainWrathRequiredNext = // eslint-disable-line no-unused-vars CacheChainWrathMaxReward[2] / 60 / 60 / @@ -112,9 +111,9 @@ export function CacheChain() { maxPayout * 7, CacheGoldenCookiesMult, ); - CacheChainFrenzyRequired = + CacheChainFrenzyRequired = // eslint-disable-line no-unused-vars (CacheChainFrenzyMaxReward[1] * 2) / CacheGoldenCookiesMult; - CacheChainFrenzyRequiredNext = + CacheChainFrenzyRequiredNext = // eslint-disable-line no-unused-vars CacheChainFrenzyMaxReward[2] / 60 / 60 / @@ -126,9 +125,9 @@ export function CacheChain() { maxPayout * 7, CacheWrathCookiesMult, ); - CacheChainFrenzyWrathRequired = + CacheChainFrenzyWrathRequired = // eslint-disable-line no-unused-vars (CacheChainFrenzyWrathMaxReward[1] * 2) / CacheWrathCookiesMult; - CacheChainFrenzyWrathRequiredNext = + CacheChainFrenzyWrathRequiredNext = // eslint-disable-line no-unused-vars CacheChainFrenzyWrathMaxReward[2] / 60 / 60 / diff --git a/src/Cache/Stats/HeavenlyChips.js b/src/Cache/Stats/HeavenlyChips.js index ec4aff8..452ebca 100644 --- a/src/Cache/Stats/HeavenlyChips.js +++ b/src/Cache/Stats/HeavenlyChips.js @@ -1,4 +1,3 @@ -/* eslint-disable no-unused-vars */ import { CacheHCPerSecond, CacheLastHeavenlyCheck, @@ -34,6 +33,6 @@ export default function CacheHeavenlyChipsPS() { CacheLastHeavenlyChips = ascendNowToGet; // Get average gain over period of 5 seconds - CacheHCPerSecond = HeavenlyChipsDiff.calcAverage(5); + CacheHCPerSecond = HeavenlyChipsDiff.calcAverage(5); // eslint-disable-line no-unused-vars } } diff --git a/src/Cache/Stats/MissingUpgrades.js b/src/Cache/Stats/MissingUpgrades.js index 73975b8..d410f64 100644 --- a/src/Cache/Stats/MissingUpgrades.js +++ b/src/Cache/Stats/MissingUpgrades.js @@ -1,4 +1,3 @@ -/* eslint-disable no-unused-vars */ import { crateMissing } from '../../Disp/MenuSections/Statistics/CreateMissingUpgrades'; import { CacheMissingUpgrades, @@ -36,6 +35,7 @@ export default function CacheAllMissingUpgrades() { let str = ''; str += crateMissing(me); + /* eslint-disable no-unused-vars */ if (me.pool === 'prestige') CacheMissingUpgradesPrestige += str; else if (me.pool === 'cookie') CacheMissingUpgradesCookies += str; else if ( @@ -44,6 +44,7 @@ export default function CacheAllMissingUpgrades() { me.pool !== 'debug' ) CacheMissingUpgrades += str; + /* eslint-enable no-unused-vars */ } }); } diff --git a/src/Cache/Stats/Reindeer.js b/src/Cache/Stats/Reindeer.js index 77d4cb1..f4142d0 100644 --- a/src/Cache/Stats/Reindeer.js +++ b/src/Cache/Stats/Reindeer.js @@ -1,4 +1,3 @@ -/* eslint-disable no-unused-vars */ import { CacheSeaSpec } from '../VariablesAndData'; /** @@ -12,6 +11,6 @@ export default function CacheSeasonSpec() { if (Game.hasBuff('Elder frenzy')) val *= 0.5; if (Game.hasBuff('Frenzy')) val *= 0.75; CacheSeaSpec = Math.max(25, val); - if (Game.Has('Ho ho ho-flavored frosting')) CacheSeaSpec *= 2; + if (Game.Has('Ho ho ho-flavored frosting')) CacheSeaSpec *= 2; // eslint-disable-line no-unused-vars } } diff --git a/src/Cache/Stats/Stats.js b/src/Cache/Stats/Stats.js index decbe0c..2703b90 100644 --- a/src/Cache/Stats/Stats.js +++ b/src/Cache/Stats/Stats.js @@ -1,4 +1,3 @@ -/* eslint-disable no-unused-vars */ /** Functions related to Caching stats */ import SimHas from '../../Sim/ReplacedGameFunctions/SimHas'; @@ -29,15 +28,15 @@ export function CacheStatsCookies() { const cpsBuffMult = GetCPSBuffMult(); if (cpsBuffMult > 0) CacheLucky /= cpsBuffMult; else CacheLucky = 0; - CacheLuckyReward = CacheGoldenCookiesMult * (CacheLucky * 0.15) + 13; - CacheLuckyWrathReward = CacheWrathCookiesMult * (CacheLucky * 0.15) + 13; + CacheLuckyReward = CacheGoldenCookiesMult * (CacheLucky * 0.15) + 13; // eslint-disable-line no-unused-vars + CacheLuckyWrathReward = CacheWrathCookiesMult * (CacheLucky * 0.15) + 13; // eslint-disable-line no-unused-vars CacheLuckyFrenzy = CacheLucky * 7; - CacheLuckyRewardFrenzy = + CacheLuckyRewardFrenzy = // eslint-disable-line no-unused-vars CacheGoldenCookiesMult * (CacheLuckyFrenzy * 0.15) + 13; - CacheLuckyWrathRewardFrenzy = + CacheLuckyWrathRewardFrenzy = // eslint-disable-line no-unused-vars CacheWrathCookiesMult * (CacheLuckyFrenzy * 0.15) + 13; CacheConjure = CacheLucky * 2; - CacheConjureReward = CacheConjure * 0.15; + CacheConjureReward = CacheConjure * 0.15; // eslint-disable-line no-unused-vars CacheEdifice = 0; let max = 0; @@ -53,7 +52,7 @@ export function CacheStatsCookies() { Game.Objects[i].price * 2 > CacheEdifice ) { CacheEdifice = Game.Objects[i].price * 2; - CacheEdificeBuilding = i; + CacheEdificeBuilding = i; // eslint-disable-line no-unused-vars } }); } diff --git a/src/Cache/Wrinklers/Wrinklers.js b/src/Cache/Wrinklers/Wrinklers.js index 5f593ee..443af7e 100644 --- a/src/Cache/Wrinklers/Wrinklers.js +++ b/src/Cache/Wrinklers/Wrinklers.js @@ -1,4 +1,3 @@ -/* eslint-disable no-unused-vars */ /** Caches data related to Wrinklers */ import { SimObjects } from '../../Sim/VariablesAndData'; @@ -32,9 +31,9 @@ export default function CacheWrinklers() { else if (godLvl === 2) sucked *= 1.1; else if (godLvl === 3) sucked *= 1.05; } - CacheWrinklersTotal += sucked; + CacheWrinklersTotal += sucked; // eslint-disable-line no-unused-vars if (Game.wrinklers[i].type === 0) { - CacheWrinklersNormal += sucked; + CacheWrinklersNormal += sucked; // eslint-disable-line no-unused-vars if (sucked > CacheWrinklersFattest[0]) CacheWrinklersFattest = [sucked, i]; } diff --git a/src/Config/CheckNotificationPermissions.js b/src/Config/CheckNotificationPermissions.js index c20a0b0..759a5b6 100644 --- a/src/Config/CheckNotificationPermissions.js +++ b/src/Config/CheckNotificationPermissions.js @@ -18,7 +18,7 @@ function CheckNotificationPermissions(ToggleOnOff) { // Check if the browser supports notifications and which type if (!('Notification' in window)) { - console.log('This browser does not support notifications.'); + console.log('This browser does not support notifications.'); // eslint-disable-line no-console } else if (checkNotificationPromise()) { Notification.requestPermission().then(); } else { diff --git a/src/Config/Toggles/ToggleGCTimer.js b/src/Config/Toggles/ToggleGCTimer.js index 044207f..42e0859 100644 --- a/src/Config/Toggles/ToggleGCTimer.js +++ b/src/Config/Toggles/ToggleGCTimer.js @@ -1,4 +1,3 @@ -/* eslint-disable no-return-assign */ import { CacheGoldenShimmersByID } from '../../Cache/VariablesAndData'; import { GCTimers } from '../../Disp/VariablesAndData'; import { CMOptions } from '../VariablesAndData'; @@ -15,6 +14,7 @@ export default function ToggleGCTimer() { GCTimers[i].style.top = CacheGoldenShimmersByID[i].l.style.top; }); } else { + // eslint-disable-next-line no-return-assign Object.keys(GCTimers).forEach((i) => (GCTimers[i].style.display = 'none')); } } diff --git a/src/Config/VariablesAndData.js b/src/Config/VariablesAndData.js index c0ec2a6..aea9382 100644 --- a/src/Config/VariablesAndData.js +++ b/src/Config/VariablesAndData.js @@ -1,4 +1,2 @@ -/* eslint-disable prefer-const */ - -export let CMOptions = {}; +export let CMOptions = {}; // eslint-disable-line prefer-const export const ConfigPrefix = 'CMConfig'; diff --git a/src/CookieMonster.js b/src/CookieMonster.js index 658c81d..b84881d 100644 --- a/src/CookieMonster.js +++ b/src/CookieMonster.js @@ -1,4 +1,3 @@ -/* eslint-disable no-unused-vars */ import init from './InitSaveLoad/init'; import load from './InitSaveLoad/load'; import save from './InitSaveLoad/save'; diff --git a/src/Data/SettingsData.js b/src/Data/SettingsData.js index 6786006..21831f6 100644 --- a/src/Data/SettingsData.js +++ b/src/Data/SettingsData.js @@ -1,4 +1,3 @@ -/* eslint-disable no-unused-vars */ import CheckNotificationPermissions from '../Config/CheckNotificationPermissions'; import { ToggleTimerBar, ToggleTimerBarPos } from '../Config/SpecificToggles'; import ToggleBotBar from '../Config/Toggles/ToggleBotBar'; @@ -72,7 +71,7 @@ const Config = { 'Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers', true, function () { - SimDoSims = true; + SimDoSims = true; // eslint-disable-line no-unused-vars }, ), diff --git a/src/Disp/BeautifyAndFormatting/BeautifyFormatting.js b/src/Disp/BeautifyAndFormatting/BeautifyFormatting.js index 1f7257e..07b9373 100644 --- a/src/Disp/BeautifyAndFormatting/BeautifyFormatting.js +++ b/src/Disp/BeautifyAndFormatting/BeautifyFormatting.js @@ -1,4 +1,3 @@ -/* eslint-disable no-nested-ternary */ /** General functions to format or beautify strings */ import { CMOptions } from '../../Config/VariablesAndData'; @@ -78,6 +77,7 @@ export function Beautify(num, floats, forced) { } } if (answer === '') { + // eslint-disable-next-line no-console console.log( `Could not beautify number with Cookie Monster Beautify: ${num}`, ); @@ -86,7 +86,7 @@ export function Beautify(num, floats, forced) { if (CMOptions.ScaleSeparator) answer = answer.replace('.', ','); return answer; } - console.log(`Could not beautify number with Cookie Monster Beautify: ${num}`); + console.log(`Could not beautify number with Cookie Monster Beautify: ${num}`); // eslint-disable-line no-console return BackupFunctions.Beautify(num, floats); } @@ -119,15 +119,15 @@ export function FormatTime(time, longFormat) { return longFormat ? 'Over 9000 days!' : '>9000d'; str += y > 0 - ? `${y + (longFormat ? (y === 1 ? ' year' : ' years') : 'y')}, ` + ? `${y + (longFormat ? (y === 1 ? ' year' : ' years') : 'y')}, ` // eslint-disable-line no-nested-ternary : ''; str += - d > 0 ? `${d + (longFormat ? (d === 1 ? ' day' : ' days') : 'd')}, ` : ''; + d > 0 ? `${d + (longFormat ? (d === 1 ? ' day' : ' days') : 'd')}, ` : ''; // eslint-disable-line no-nested-ternary if (str.length > 0 || h > 0) - str += `${h + (longFormat ? (h === 1 ? ' hour' : ' hours') : 'h')}, `; + str += `${h + (longFormat ? (h === 1 ? ' hour' : ' hours') : 'h')}, `; // eslint-disable-line no-nested-ternary if (str.length > 0 || m > 0) - str += `${m + (longFormat ? (m === 1 ? ' minute' : ' minutes') : 'm')}, `; - str += s + (longFormat ? (s === 1 ? ' second' : ' seconds') : 's'); + str += `${m + (longFormat ? (m === 1 ? ' minute' : ' minutes') : 'm')}, `; // eslint-disable-line no-nested-ternary + str += s + (longFormat ? (s === 1 ? ' second' : ' seconds') : 's'); // eslint-disable-line no-nested-ternary } return str; } diff --git a/src/Disp/BuildingsUpgrades/Buildings.js b/src/Disp/BuildingsUpgrades/Buildings.js index 5b26253..82f22da 100644 --- a/src/Disp/BuildingsUpgrades/Buildings.js +++ b/src/Disp/BuildingsUpgrades/Buildings.js @@ -1,4 +1,3 @@ -/* eslint-disable no-nested-ternary */ import { CacheObjects1, CacheObjects10, @@ -72,10 +71,10 @@ export default function UpdateBuildings() { }); arr.sort(function (a, b) { - return ColoursOrdering.indexOf(a.color) > + return ColoursOrdering.indexOf(a.color) > // eslint-disable-line no-nested-ternary ColoursOrdering.indexOf(b.color) ? 1 - : ColoursOrdering.indexOf(a.color) < ColoursOrdering.indexOf(b.color) + : ColoursOrdering.indexOf(a.color) < ColoursOrdering.indexOf(b.color) // eslint-disable-line no-nested-ternary ? -1 : a.pp < b.pp ? -1 @@ -90,10 +89,10 @@ export default function UpdateBuildings() { }); arr.sort(function (a, b) { - return ColoursOrdering.indexOf(a.color) > + return ColoursOrdering.indexOf(a.color) > // eslint-disable-line no-nested-ternary ColoursOrdering.indexOf(b.color) ? 1 - : ColoursOrdering.indexOf(a.color) < ColoursOrdering.indexOf(b.color) + : ColoursOrdering.indexOf(a.color) < ColoursOrdering.indexOf(b.color) // eslint-disable-line no-nested-ternary ? -1 : a.pp < b.pp ? -1 diff --git a/src/Disp/BuildingsUpgrades/Upgrades.js b/src/Disp/BuildingsUpgrades/Upgrades.js index b5668ab..d3076b2 100644 --- a/src/Disp/BuildingsUpgrades/Upgrades.js +++ b/src/Disp/BuildingsUpgrades/Upgrades.js @@ -1,4 +1,3 @@ -/* eslint-disable no-nested-ternary */ import { CacheUpgrades } from '../../Cache/VariablesAndData'; import { CMOptions } from '../../Config/VariablesAndData'; import { @@ -81,9 +80,9 @@ export default function UpdateUpgrades() { if (CMOptions.SortUpgrades) { arr.sort(function (a, b) { - return ColoursOrdering.indexOf(a.color) > ColoursOrdering.indexOf(b.color) + return ColoursOrdering.indexOf(a.color) > ColoursOrdering.indexOf(b.color) // eslint-disable-line no-nested-ternary ? 1 - : ColoursOrdering.indexOf(a.color) < ColoursOrdering.indexOf(b.color) + : ColoursOrdering.indexOf(a.color) < ColoursOrdering.indexOf(b.color) // eslint-disable-line no-nested-ternary ? -1 : a.pp < b.pp ? -1 diff --git a/src/Disp/GoldenCookieTimers/GoldenCookieTimers.js b/src/Disp/GoldenCookieTimers/GoldenCookieTimers.js index a15a274..8aa5df8 100644 --- a/src/Disp/GoldenCookieTimers/GoldenCookieTimers.js +++ b/src/Disp/GoldenCookieTimers/GoldenCookieTimers.js @@ -1,4 +1,3 @@ -/* eslint-disable no-param-reassign */ /** Section: Functions related to the Golden Cookie Timers */ import { CMOptions } from '../../Config/VariablesAndData'; @@ -28,14 +27,14 @@ export default function CreateGCTimer(cookie) { cookie.pop(); }; GCTimer.onmouseover = function () { - cookie.l.style.filter = + cookie.l.style.filter = // eslint-disable-line no-param-reassign 'brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))'; - cookie.l.style.webkitFilter = + cookie.l.style.webkitFilter = // eslint-disable-line no-param-reassign 'brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))'; }; GCTimer.onmouseout = function () { - cookie.l.style.filter = ''; - cookie.l.style.webkitFilter = ''; + cookie.l.style.filter = ''; // eslint-disable-line no-param-reassign + cookie.l.style.webkitFilter = ''; // eslint-disable-line no-param-reassign }; GCTimers[cookie.id] = GCTimer; diff --git a/src/Disp/MenuSections/Settings/CreateOption.js b/src/Disp/MenuSections/Settings/CreateOption.js index 0581314..ea0b8d1 100644 --- a/src/Disp/MenuSections/Settings/CreateOption.js +++ b/src/Disp/MenuSections/Settings/CreateOption.js @@ -218,7 +218,6 @@ export default function CreatePrefOption(config) { input.min = Config[config].min; input.max = Config[config].max; input.oninput = function () { - if (this.value > this.max) console.log('TEST'); CMOptions[config] = this.value; SaveConfig(); RefreshScale(); diff --git a/src/Disp/MenuSections/Statistics/CreateMissingAchievements.js b/src/Disp/MenuSections/Statistics/CreateMissingAchievements.js index ee77175..e90e944 100644 --- a/src/Disp/MenuSections/Statistics/CreateMissingAchievements.js +++ b/src/Disp/MenuSections/Statistics/CreateMissingAchievements.js @@ -1,4 +1,3 @@ -/* eslint-disable no-param-reassign */ import { CMOptions } from '../../../Config/VariablesAndData'; function CrateTooltipLockedAchievements(me) { @@ -58,9 +57,11 @@ export default function AddMissingAchievements() { if (!achievsCrate.className.includes('enabled')) { const id = achievsCrate.onclick.toString().match(/(?<=\[).*(?=\])/g)[0]; const { icon } = Game.AchievementsById[id]; + // eslint-disable-next-line no-param-reassign achievsCrate.style.backgroundPosition = `${-icon[0] * 48}px ${ -icon[1] * 48 }px`; + // eslint-disable-next-line no-param-reassign achievsCrate.onmouseover = function () { if (!Game.mouseDown) { Game.setOnCrate(this); diff --git a/src/Disp/Tooltips/CreateTooltip.js b/src/Disp/Tooltips/CreateTooltip.js index 3823f4c..2f1a71c 100644 --- a/src/Disp/Tooltips/CreateTooltip.js +++ b/src/Disp/Tooltips/CreateTooltip.js @@ -1,4 +1,3 @@ -/* eslint-disable no-param-reassign */ import { CMOptions } from '../../Config/VariablesAndData'; import { ColourTextPre, @@ -163,7 +162,7 @@ export function TooltipCreateCalculationSection(tooltip) { tooltip.appendChild(income); tooltip.appendChild(TooltipCreateHeader('Bonus Cookies per Click')); - tooltip.lastChild.style.display = 'none'; + tooltip.lastChild.style.display = 'none'; // eslint-disable-line no-param-reassign const click = document.createElement('div'); click.style.marginBottom = '4px'; click.style.color = 'white'; @@ -186,7 +185,8 @@ export function TooltipCreateCalculationSection(tooltip) { tooltip.appendChild( TooltipCreateHeader('Production left till next achievement'), ); - tooltip.lastChild.id = 'CMTooltipProductionHeader'; // Assign a id in order to hid when no achiev's are left + // Assign a id in order to hide when no achiev's are left + tooltip.lastChild.id = 'CMTooltipProductionHeader'; // eslint-disable-line no-param-reassign const production = document.createElement('div'); production.id = 'CMTooltipProduction'; tooltip.appendChild(production); diff --git a/src/Disp/Tooltips/Tooltip.js b/src/Disp/Tooltips/Tooltip.js index dedfb6f..63307cd 100644 --- a/src/Disp/Tooltips/Tooltip.js +++ b/src/Disp/Tooltips/Tooltip.js @@ -1,11 +1,8 @@ -/* eslint-disable no-unused-vars */ -import UpdateTooltips, * as UpdateTooltip from './UpdateTooltips'; -import { TooltipCreateTooltipBox } from './CreateTooltip'; +import UpdateTooltips from './UpdateTooltips'; import { Beautify, GetTimeColour, } from '../BeautifyAndFormatting/BeautifyFormatting'; -import CopyData from '../../Sim/SimulationData/CopyData'; import { SimpleTooltipElements, TooltipName, @@ -143,8 +140,8 @@ export function CreateTooltip(type, name) { } // Sets global variables used by CM.Disp.UpdateTooltip() - TooltipType = type; - TooltipName = name; + TooltipType = type; // eslint-disable-line no-unused-vars + TooltipName = name; // eslint-disable-line no-unused-vars UpdateTooltips(); diff --git a/src/Disp/VariablesAndData.js b/src/Disp/VariablesAndData.js index e788a9b..b41dc15 100644 --- a/src/Disp/VariablesAndData.js +++ b/src/Disp/VariablesAndData.js @@ -1,4 +1,3 @@ -/* eslint-disable prefer-const */ /** * Section: Variables used in Disp functions */ @@ -91,15 +90,15 @@ export const SimpleTooltipElements = {}; * These are variables used by the functions that create tooltips for wrinklers * See CM.Disp.CheckWrinklerTooltip(), CM.Disp.UpdateWrinklerTooltip() and CM.Main.AddWrinklerAreaDetect() */ -export let TooltipWrinklerArea = 0; -export let TooltipWrinkler = -1; +export let TooltipWrinklerArea = 0; // eslint-disable-line prefer-const +export let TooltipWrinkler = -1; // eslint-disable-line prefer-const /** * This array is used to store whether a Wrinkler tooltip is being shown or not * [i] = 1 means tooltip is being shown, [i] = 0 means hidden * It is used by CM.Disp.CheckWrinklerTooltip() and CM.Main.AddWrinklerAreaDetect() */ -export let TooltipWrinklerBeingShown = []; +export let TooltipWrinklerBeingShown = []; // eslint-disable-line prefer-const export let CMLastAscendState; export let CMSayTime; @@ -107,9 +106,9 @@ export let CMSayTime; /** * These are variables used to create various displays when the game is loaded on the "sell all" screen */ -export let LastTargetBotBar = 1; -export let LastTargetBuildings = 1; -export let LastTargetTooltipBuilding = 1; +export let LastTargetBotBar = 1; // eslint-disable-line prefer-const +export let LastTargetBuildings = 1; // eslint-disable-line prefer-const +export let LastTargetTooltipBuilding = 1; // eslint-disable-line prefer-const /** * These arrays are used in the stats page to show @@ -133,12 +132,12 @@ export const BuffColours = { /** * This array is used to track GC timers */ -export let GCTimers = {}; +export let GCTimers = {}; // eslint-disable-line prefer-const /** * Used to store the number of cookies to be displayed in the tab-title */ -export let Title = ''; +export let Title = ''; // eslint-disable-line prefer-const export let TooltipPrice; export let TooltipBonusIncome; @@ -152,4 +151,4 @@ export let LastNumberOfTimers; /** * This stores the names of settings shown in the favourites section */ -export let FavouriteSettings = []; +export let FavouriteSettings = []; // eslint-disable-line prefer-const diff --git a/src/InitSaveLoad/Variables.js b/src/InitSaveLoad/Variables.js index 2b6eb6e..bb4f806 100644 --- a/src/InitSaveLoad/Variables.js +++ b/src/InitSaveLoad/Variables.js @@ -1,4 +1,3 @@ -/* eslint-disable prefer-const */ /** Variable that shows if Cookie Moonster is initzializing */ -export let isInitializing = false; +export let isInitializing = false; // eslint-disable-line prefer-const export let test; diff --git a/src/InitSaveLoad/init.js b/src/InitSaveLoad/init.js index 6b93971..cb5e4bf 100644 --- a/src/InitSaveLoad/init.js +++ b/src/InitSaveLoad/init.js @@ -1,4 +1,3 @@ -/* eslint-disable no-unused-vars */ import { VersionMajor, VersionMinor } from '../Data/Moddata'; import CMDrawHook from '../Disp/DrawHook'; import CMClickHook from '../Main/ClickHook'; @@ -16,6 +15,7 @@ export default function init() { isInitializing = true; let proceed = true; if (Game.version !== Number(VersionMajor)) { + // eslint-disable-next-line no-restricted-globals, no-alert proceed = confirm( `Cookie Monster version ${VersionMajor}.${VersionMinor} is meant for Game version ${VersionMajor}. Loading a different version may cause errors. Do you still want to load Cookie Monster?`, ); @@ -25,6 +25,6 @@ export default function init() { Game.registerHook('draw', CMDrawHook); Game.registerHook('logic', CMLoopHook); Game.registerHook('click', CMClickHook); - isInitializing = false; + isInitializing = false; // eslint-disable-line no-unused-vars } } diff --git a/src/InitSaveLoad/load.js b/src/InitSaveLoad/load.js index 70a81aa..8e3ee0b 100644 --- a/src/InitSaveLoad/load.js +++ b/src/InitSaveLoad/load.js @@ -1,4 +1,3 @@ -/* eslint-disable no-unused-vars */ import { LoadConfig } from '../Config/SaveLoadReload/SaveLoadReloadSettings'; import { VersionMajor, VersionMinor } from '../Data/Moddata'; import { FavouriteSettings } from '../Disp/VariablesAndData'; @@ -13,7 +12,7 @@ export default function load(str) { InitData(); // The if-statement is a failsafe for old saves if (typeof save.favouriteSettings !== 'undefined') - FavouriteSettings = save.favouriteSettings; + FavouriteSettings = save.favouriteSettings; // eslint-disable-line no-unused-vars LoadConfig(save.settings); if (save.version !== `${VersionMajor}.${VersionMinor}`) { if (Game.prefs.popups) diff --git a/src/Main/CheckStates/GoldenCookie.js b/src/Main/CheckStates/GoldenCookie.js index 80dd749..e0ef142 100644 --- a/src/Main/CheckStates/GoldenCookie.js +++ b/src/Main/CheckStates/GoldenCookie.js @@ -1,4 +1,3 @@ -/* eslint-disable no-unused-vars */ import { CacheSpawnedGoldenShimmer, CacheGoldenShimmersByID, @@ -66,7 +65,7 @@ export default function CheckGoldenCookie() { } UpdateFavicon(); LastSpawnedGoldenCookieState = CurrSpawnedGoldenCookieState; - if (CurrSpawnedGoldenCookieState === 0) CacheSpawnedGoldenShimmer = 0; + if (CurrSpawnedGoldenCookieState === 0) CacheSpawnedGoldenShimmer = 0; // eslint-disable-line no-unused-vars } else if (CMOptions.GCTimer === 1 && LastGoldenCookieState) { Object.keys(GCTimers).forEach((i) => { GCTimers[i].style.opacity = CacheGoldenShimmersByID[i].l.style.opacity; diff --git a/src/Main/CheckStates/Season.js b/src/Main/CheckStates/Season.js index 8b01f76..b521dd2 100644 --- a/src/Main/CheckStates/Season.js +++ b/src/Main/CheckStates/Season.js @@ -1,4 +1,3 @@ -/* eslint-disable no-unused-vars */ import { CacheSeasonPopShimmer } from '../../Cache/VariablesAndData'; import { CMOptions } from '../../Config/VariablesAndData'; import Flash from '../../Disp/Notifications/Flash'; @@ -15,7 +14,7 @@ export default function CheckSeasonPopup() { LastSeasonPopupState = Game.shimmerTypes.reindeer.spawned; Object.keys(Game.shimmers).forEach((i) => { if (Game.shimmers[i].spawnLead && Game.shimmers[i].type === 'reindeer') { - CacheSeasonPopShimmer = Game.shimmers[i]; + CacheSeasonPopShimmer = Game.shimmers[i]; // eslint-disable-line no-unused-vars } }); Flash(3, 'SeaFlash', false); diff --git a/src/Main/Initialization.js b/src/Main/Initialization.js index 965d117..c08aec8 100644 --- a/src/Main/Initialization.js +++ b/src/Main/Initialization.js @@ -1,10 +1,8 @@ -/* eslint-disable no-unused-vars */ import InitCache from '../Cache/CacheInit'; import { CacheStatsCookies } from '../Cache/Stats/Stats'; import { LoadConfig } from '../Config/SaveLoadReload/SaveLoadReloadSettings'; import { VersionMajor, VersionMinor } from '../Data/Moddata'; import CreateUpgradeBar from '../Disp/BuildingsUpgrades/UpgradeBar'; -import UpdateColours from '../Disp/HelperFunctions/UpdateColours'; import { CreateBotBar } from '../Disp/InfoBars/BottomBar'; import { CreateTimerBar } from '../Disp/InfoBars/TimerBar'; import CreateSectionHideButtons from '../Disp/Initialization/CreateSectionHideButtons'; @@ -31,7 +29,7 @@ export default function InitializeCookieMonster() { InitCache(); // Stored to check if we need to re-initiliaze data - LastModCount = Object.keys(Game.mods).length; + LastModCount = Object.keys(Game.mods).length; // eslint-disable-line no-unused-vars // Creating visual elements CreateCssArea(); @@ -60,7 +58,7 @@ export default function InitializeCookieMonster() { Game.CalculateGains(); LoadConfig(); - CMLastAscendState = Game.OnAscend; + CMLastAscendState = Game.OnAscend; // eslint-disable-line no-unused-vars if (Game.prefs.popups) Game.Popup( diff --git a/src/Main/LoopHook.js b/src/Main/LoopHook.js index 5f48441..5ce57d7 100644 --- a/src/Main/LoopHook.js +++ b/src/Main/LoopHook.js @@ -1,4 +1,3 @@ -/* eslint-disable no-unused-vars */ import InitCache from '../Cache/CacheInit'; import LoopCache from '../Cache/CacheLoop'; import CacheNoGoldSwitchCPS from '../Cache/CPS/NoGoldSwitchCPS'; diff --git a/src/Main/ReplaceGameElements/NativeGrimoire.js b/src/Main/ReplaceGameElements/NativeGrimoire.js index c21f150..59e27f4 100644 --- a/src/Main/ReplaceGameElements/NativeGrimoire.js +++ b/src/Main/ReplaceGameElements/NativeGrimoire.js @@ -1,4 +1,3 @@ -/* eslint-disable no-unused-vars */ import { CMOptions } from '../../Config/VariablesAndData'; import { FormatTime } from '../../Disp/BeautifyAndFormatting/BeautifyFormatting'; @@ -47,8 +46,8 @@ function ReplaceNativeGrimoireLaunch() { Game.Objects['Wizard tower'].minigameLoaded ) { const { minigame } = Game.Objects['Wizard tower']; - BackupGrimoireLaunch = minigame.launch; - BackupGrimoireLaunchMod = new Function( + BackupGrimoireLaunch = minigame.launch; // eslint-disable-line no-unused-vars + BackupGrimoireLaunchMod = new Function( // eslint-disable-line no-new-func `return ${minigame.launch .toString() .split('=this') diff --git a/src/Main/ReplaceGameElements/Tooltips.js b/src/Main/ReplaceGameElements/Tooltips.js index 6926288..a0594bd 100644 --- a/src/Main/ReplaceGameElements/Tooltips.js +++ b/src/Main/ReplaceGameElements/Tooltips.js @@ -1,5 +1,3 @@ -/* eslint-disable no-param-reassign */ -/* eslint-disable no-unused-vars */ /** Functions related to replacing tooltips */ import { CreateTooltip } from '../../Disp/Tooltips/Tooltip'; @@ -39,7 +37,7 @@ function ReplaceTooltipBuild() { */ function ReplaceTooltipLump() { if (Game.canLumps()) { - TooltipLumpBackup = l('lumps').onmouseover; + TooltipLumpBackup = l('lumps').onmouseover; // eslint-disable-line no-unused-vars l('lumps').onmouseover = function () { Game.tooltip.dynamic = 1; Game.tooltip.draw( @@ -72,6 +70,7 @@ function ReplaceTooltipGarden() { }; Array.from(l('gardenPlot').children).forEach((child) => { const coords = child.id.slice(-3); + // eslint-disable-next-line no-param-reassign child.onmouseover = function () { Game.tooltip.dynamic = 1; Game.tooltip.draw( diff --git a/src/Main/ReplaceGameFunctions/ReplaceNative.js b/src/Main/ReplaceGameFunctions/ReplaceNative.js index 2ed0536..b9d8dbf 100644 --- a/src/Main/ReplaceGameFunctions/ReplaceNative.js +++ b/src/Main/ReplaceGameFunctions/ReplaceNative.js @@ -1,4 +1,3 @@ -/* eslint-disable no-unused-vars */ import jscolor from '@eastdesire/jscolor'; import { CMOptions } from '../../Config/VariablesAndData'; import { @@ -32,14 +31,14 @@ export default function ReplaceNative() { BackupFunctions.CalculateGains = Game.CalculateGains; Game.CalculateGains = function () { BackupFunctions.CalculateGains(); - SimDoSims = 1; - CycliusDateAtBeginLoop = Date.now(); - CenturyDateAtBeginLoop = Date.now(); + SimDoSims = 1; // eslint-disable-line no-unused-vars + CycliusDateAtBeginLoop = Date.now(); // eslint-disable-line no-unused-vars + CenturyDateAtBeginLoop = Date.now(); // eslint-disable-line no-unused-vars }; BackupFunctions.tooltip = {}; BackupFunctions.tooltip.draw = Game.tooltip.draw; - BackupFunctions.tooltip.drawMod = new Function( + BackupFunctions.tooltip.drawMod = new Function( // eslint-disable-line no-new-func `return ${Game.tooltip.draw.toString().split('this').join('Game.tooltip')}`, )(); Game.tooltip.draw = function (from, text, origin) { @@ -47,7 +46,7 @@ export default function ReplaceNative() { }; BackupFunctions.tooltip.update = Game.tooltip.update; - BackupFunctions.tooltip.updateMod = new Function( + BackupFunctions.tooltip.updateMod = new Function( // eslint-disable-line no-new-func `return ${Game.tooltip.update .toString() .split('this.') @@ -132,6 +131,7 @@ export default function ReplaceNative() { }; BackupFunctions.sayTime = Game.sayTime; + // eslint-disable-next-line no-unused-vars CMSayTime = function (time, detail) { if (Number.isNaN(time) || time <= 0) return BackupFunctions.sayTime(time, detail); @@ -145,6 +145,7 @@ export default function ReplaceNative() { // Update tab title let title = 'Cookie Clicker'; if (Game.season === 'fools') title = 'Cookie Baker'; + // eslint-disable-next-line no-unused-vars Title = `${Game.OnAscend ? 'Ascending! ' : ''}${CMBeautify(Game.cookies)} ${ Game.cookies === 1 ? 'cookie' : 'cookies' } - ${title}`; diff --git a/src/Main/VariablesAndData.js b/src/Main/VariablesAndData.js index a014e9d..b23f9d1 100644 --- a/src/Main/VariablesAndData.js +++ b/src/Main/VariablesAndData.js @@ -1,17 +1,15 @@ -/* eslint-disable prefer-const */ - export let LastModCount; -export let TooltipBuildBackup = []; +export let TooltipBuildBackup = []; // eslint-disable-line prefer-const export let TooltipLumpBackup; -export let TooltipGrimoireBackup = []; -export let TooltipUpgradeBackup = []; +export let TooltipGrimoireBackup = []; // eslint-disable-line prefer-const +export let TooltipUpgradeBackup = []; // eslint-disable-line prefer-const export let BackupGrimoireLaunch; export let BackupGrimoireLaunchMod; export let BackupGrimoireDraw; export let HasReplaceNativeGrimoireLaunch; export let HasReplaceNativeGrimoireDraw; export let LoadMinigames; -export let BackupFunctions = {}; +export let BackupFunctions = {}; // eslint-disable-line prefer-const export let LastSeasonPopupState; export let LastTickerFortuneState; diff --git a/src/Main/WrinklerArea/AddDetectArea.js b/src/Main/WrinklerArea/AddDetectArea.js index 79f54b8..bf8188a 100644 --- a/src/Main/WrinklerArea/AddDetectArea.js +++ b/src/Main/WrinklerArea/AddDetectArea.js @@ -1,4 +1,3 @@ -/* eslint-disable no-unused-vars */ import { TooltipWrinklerArea, TooltipWrinklerBeingShown, @@ -13,7 +12,7 @@ export default function AddWrinklerAreaDetect() { TooltipWrinklerArea = 1; }; l('backgroundLeftCanvas').onmouseout = function () { - TooltipWrinklerArea = 0; + TooltipWrinklerArea = 0; // eslint-disable-line no-unused-vars Game.tooltip.hide(); Object.keys(Game.wrinklers).forEach((i) => { TooltipWrinklerBeingShown[i] = 0; diff --git a/src/Sim/Calculations/CalculateGains.js b/src/Sim/Calculations/CalculateGains.js index 0d402d8..71d458d 100644 --- a/src/Sim/Calculations/CalculateGains.js +++ b/src/Sim/Calculations/CalculateGains.js @@ -1,4 +1,3 @@ -/* eslint-disable no-unused-vars */ import GetCPSBuffMult from '../../Cache/CPS/GetCPSBuffMult'; import { CacheCentEgg } from '../../Cache/VariablesAndData'; import { @@ -42,7 +41,7 @@ export default function CalculateGains() { }); } }); - SimEffs = effs; + SimEffs = effs; // eslint-disable-line no-unused-vars if (Game.ascensionMode !== 1) mult += @@ -227,7 +226,7 @@ export default function CalculateGains() { SimWin(Game.CpsAchievements[i].name); }); - SimCookiesPsRaw = rawCookiesPs; + SimCookiesPsRaw = rawCookiesPs; // eslint-disable-line no-unused-vars const { n } = Game.shimmerTypes.golden; const auraMult = SimAuraMult("Dragon's Fortune"); diff --git a/src/Sim/SimulationData/CopyData.js b/src/Sim/SimulationData/CopyData.js index 74b74c5..210f2e2 100644 --- a/src/Sim/SimulationData/CopyData.js +++ b/src/Sim/SimulationData/CopyData.js @@ -1,4 +1,3 @@ -/* eslint-disable no-unused-vars */ import CacheDragonAuras from '../../Cache/Dragon/CacheDragonAuras'; import { CacheDragonAura, @@ -30,11 +29,11 @@ import { */ export default function CopyData() { // Other variables - SimUpgradesOwned = Game.UpgradesOwned; - SimPledges = Game.pledges; - SimAchievementsOwned = Game.AchievementsOwned; - SimHeavenlyPower = Game.heavenlyPower; - SimPrestige = Game.prestige; + SimUpgradesOwned = Game.UpgradesOwned; // eslint-disable-line no-unused-vars + SimPledges = Game.pledges; // eslint-disable-line no-unused-vars + SimAchievementsOwned = Game.AchievementsOwned; // eslint-disable-line no-unused-vars + SimHeavenlyPower = Game.heavenlyPower; // eslint-disable-line no-unused-vars + SimPrestige = Game.prestige; // eslint-disable-line no-unused-vars // Buildings Object.keys(Game.Objects).forEach((i) => { @@ -53,9 +52,9 @@ export default function CopyData() { you.free = me.free; if (me.minigameLoaded) { if (me.name === 'Temple') { - SimGod1 = me.minigame.slot[0]; - SimGod2 = me.minigame.slot[1]; - SimGod3 = me.minigame.slot[2]; + SimGod1 = me.minigame.slot[0]; // eslint-disable-line no-unused-vars + SimGod2 = me.minigame.slot[1]; // eslint-disable-line no-unused-vars + SimGod3 = me.minigame.slot[2]; // eslint-disable-line no-unused-vars } you.minigameLoaded = me.minigameLoaded; you.minigame = me.minigame; @@ -89,6 +88,6 @@ export default function CopyData() { // Auras CacheDragonAuras(); - SimDragonAura = CacheDragonAura; - SimDragonAura2 = CacheDragonAura2; + SimDragonAura = CacheDragonAura; // eslint-disable-line no-unused-vars + SimDragonAura2 = CacheDragonAura2; // eslint-disable-line no-unused-vars } diff --git a/src/Sim/SimulationData/SimWin.js b/src/Sim/SimulationData/SimWin.js index 4221811..58a3d1e 100644 --- a/src/Sim/SimulationData/SimWin.js +++ b/src/Sim/SimulationData/SimWin.js @@ -1,4 +1,3 @@ -/* eslint-disable no-unused-vars */ import { SimAchievements, SimAchievementsOwned } from '../VariablesAndData'; /** @@ -11,7 +10,7 @@ export default function SimWin(what) { if (SimAchievements[what]) { if (SimAchievements[what].won === 0) { SimAchievements[what].won = 1; - if (Game.Achievements[what].pool !== 'shadow') SimAchievementsOwned += 1; + if (Game.Achievements[what].pool !== 'shadow') SimAchievementsOwned += 1; // eslint-disable-line no-unused-vars } } } diff --git a/src/Sim/SimulationEvents/AuraChange.js b/src/Sim/SimulationEvents/AuraChange.js index e740f3e..008c8fb 100644 --- a/src/Sim/SimulationEvents/AuraChange.js +++ b/src/Sim/SimulationEvents/AuraChange.js @@ -1,4 +1,3 @@ -/* eslint-disable no-unused-vars */ import { CacheDragonAura, CacheDragonAura2, @@ -41,7 +40,7 @@ export default function CalculateChangeAura(aura) { if (Game.ObjectsById[i].amount > 0) { const highestBuilding = SimObjects[Game.ObjectsById[i].name].name; SimObjects[highestBuilding].amount -= 1; - SimBuildingsOwned -= 1; + SimBuildingsOwned -= 1; // eslint-disable-line no-unused-vars price = SimObjects[highestBuilding].basePrice * Game.priceIncrease ** diff --git a/src/Sim/SimulationEvents/BuyUpgrades.js b/src/Sim/SimulationEvents/BuyUpgrades.js index 9e03266..ce3182c 100644 --- a/src/Sim/SimulationEvents/BuyUpgrades.js +++ b/src/Sim/SimulationEvents/BuyUpgrades.js @@ -1,4 +1,3 @@ -/* eslint-disable no-unused-vars */ import CalculateGains from '../Calculations/CalculateGains'; import CheckOtherAchiev from '../Calculations/CheckOtherAchiev'; import SimAuraMult from '../ReplacedGameFunctions/SimAuraMult'; @@ -130,9 +129,8 @@ export default function BuyUpgradesBonusIncome(upgrade) { } else { SimUpgrades[upgrade].bought = (SimUpgrades[upgrade].bought + 1) % 2; } - const me = SimUpgrades[upgrade]; if (Game.CountsAsUpgradeOwned(Game.Upgrades[upgrade].pool)) - SimUpgradesOwned += 1; + SimUpgradesOwned += 1; // eslint-disable-line no-unused-vars if (upgrade === 'Elder Pledge') { SimPledges += 1; diff --git a/src/Sim/SimulationEvents/GodChange.js b/src/Sim/SimulationEvents/GodChange.js index b86e780..7f085ae 100644 --- a/src/Sim/SimulationEvents/GodChange.js +++ b/src/Sim/SimulationEvents/GodChange.js @@ -1,4 +1,3 @@ -/* eslint-disable no-unused-vars */ import CalculateGains from '../Calculations/CalculateGains'; import CheckOtherAchiev from '../Calculations/CheckOtherAchiev'; import CopyData from '../SimulationData/CopyData'; @@ -19,9 +18,11 @@ import { */ export default function CalculateChangeGod(god, slot) { CopyData(); + /* eslint-disable no-unused-vars */ if (slot === 0) SimGod1 = god; else if (slot === 1) SimGod2 = god; else if (slot === 2) SimGod3 = god; + /* eslint-enable no-unused-vars */ const lastAchievementsOwned = SimAchievementsOwned; CalculateGains(); diff --git a/src/Sim/SimulationEvents/ResetAscension.js b/src/Sim/SimulationEvents/ResetAscension.js index 86be138..193d753 100644 --- a/src/Sim/SimulationEvents/ResetAscension.js +++ b/src/Sim/SimulationEvents/ResetAscension.js @@ -1,4 +1,3 @@ -/* eslint-disable no-unused-vars */ import { CacheRealCookiesEarned } from '../../Cache/VariablesAndData'; import CalculateGains from '../Calculations/CalculateGains'; import CheckOtherAchiev from '../Calculations/CheckOtherAchiev'; @@ -96,7 +95,7 @@ export default function ResetBonus(newHeavenlyChips) { const ResetCPS = SimCookiesPs - curCPS; // Reset Pretige level after calculation as it is used in CM.Sim.CalculateGains() so can't be local - SimPrestige = Game.prestige; + SimPrestige = Game.prestige; // eslint-disable-line no-unused-vars return ResetCPS; } diff --git a/src/Sim/SimulationEvents/SellBuildingForChoEgg.js b/src/Sim/SimulationEvents/SellBuildingForChoEgg.js index 49c19ef..5d95588 100644 --- a/src/Sim/SimulationEvents/SellBuildingForChoEgg.js +++ b/src/Sim/SimulationEvents/SellBuildingForChoEgg.js @@ -1,4 +1,3 @@ -/* eslint-disable no-unused-vars */ import CopyData from '../SimulationData/CopyData'; import { SimBuildingsOwned, @@ -38,7 +37,7 @@ export default function SellBuildingsForChoEgg() { } }); SimObjects[highestBuilding].amount -= 1; - SimBuildingsOwned -= 1; + SimBuildingsOwned -= 1; // eslint-disable-line no-unused-vars } // Get money made by selling all remaining buildings diff --git a/src/Sim/VariablesAndData.js b/src/Sim/VariablesAndData.js index 7ad74e8..40ce39f 100644 --- a/src/Sim/VariablesAndData.js +++ b/src/Sim/VariablesAndData.js @@ -1,9 +1,8 @@ -/* eslint-disable prefer-const */ /** All variables used by simulation functions */ -export let SimObjects = []; -export let SimUpgrades = []; -export let SimAchievements = []; +export let SimObjects = []; // eslint-disable-line prefer-const +export let SimUpgrades = []; // eslint-disable-line prefer-const +export let SimAchievements = []; // eslint-disable-line prefer-const export let SimBuildingsOwned; export let SimUpgradesOwned; export let SimPledges; From 9b04663cd8db76803c7b5aa6c8f36c0301d70780 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dani=C3=ABl=20van=20Noord?= <13665637+DanielNoord@users.noreply.github.com> Date: Sun, 4 Apr 2021 17:06:45 +0200 Subject: [PATCH 5/6] Build CookieMonster.js --- CookieMonster.js | 2 +- dist/CookieMonster.js | 2 +- dist/CookieMonster.js.map | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CookieMonster.js b/CookieMonster.js index 74d19ed..eda6870 100644 --- a/CookieMonster.js +++ b/CookieMonster.js @@ -1,2 +1,2 @@ /*! For license information please see CookieMonster.js.LICENSE.txt */ -(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,v,w,x,T,M=[],S=[],P=[],B={};const E="CMText",N="CMBack",O="Blue",F="Green",W="Yellow",L="Orange",A="Red",j="Purple",D="Gray",H="Pink",U="Brown",$=[D,O,F,W,L,A,j,H,U],R=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"],["FavouriteSettingPlaceholder","Click to set this setting as favourite and show it in 'favourite' settings at the top of the Cookie Monster Settings","250px"]],I={};let z,V,_=0,Q=-1,X=[],q=1,Y=1,K=1;const J=[10,15,30,60,300,600,900,1800],Z=[1,5,10,15,30],ee={Frenzy:W,"Dragon Harvest":U,"Elder frenzy":F,Clot:A,"Click frenzy":O,Dragonflight:H};let te,oe,ne,ie,ae,re,le,se={},ce="",de=[];function pe(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return B.Beautify(t,o);if(Number.isFinite(t)){if(t<0)return`-${pe(Math.abs(t))}`;let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function me(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=F):(n=ue(t),o=t>300?A:t>60?L:W),{text:n,color:o}}let he,ge,fe,Ce,ye,be,ke,Ge,ve,we,xe,Te,Me,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Ue,$e,Re,Ie,ze,Ve,_e,Qe,Xe,qe,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=0,st=0,ct=0,dt=0,pt=1,ut=1,mt=1,ht=0,gt=0,ft=0,Ct=0,yt={},bt={},kt={},Gt=0,vt=0,wt=[0,null],xt=0,Tt=0,Mt={},St={},Pt={},Bt={},Et={},Nt=0,Ot=0,Ft=[],Wt=0,Lt=0,At=[],jt=0,Dt=0,Ht=[],Ut=0,$t=0,Rt=[],It=0,zt=0,Vt={},_t={},Qt=0,Xt=0,qt=[],Yt={},Kt=0,Jt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},Zt=[],eo=[],to=[];function oo(e){let t=0;return Game.dragonAuras[$e].name!==e&&Game.dragonAuras[Re].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[$e].name&&"Reality Bending"!==Game.dragonAuras[Re].name||(t+=.1),t}function no(){let e=.25;return e*=1+oo("Earth Shatterer"),e}function io(e,t){return void 0===Qe[e]?void 0===t?1:t:Qe[e]}function ao(e){const t=eo[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function ro(e){if(Game.hasGod){void 0===Zt.Temple.minigame&&(Zt.Temple.minigame=Game.Objects.Temple.minigame);const t=Zt.Temple.minigame.gods[e];if(Ie===t.id)return 1;if(ze===t.id)return 2;if(Ve===t.id)return 3}return!1}function lo(e,t){let o=t;if(ao("Season savings")&&(o*=.99),ao("Santa's dominion")&&(o*=.99),ao("Faberge egg")&&(o*=.99),ao("Divine discount")&&(o*=.99),ao("Fortune #100")&&(o*=.99),o*=1-.02*oo("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&ao(e.fortune.name)&&(o*=.93),o*=io("buildingCost"),Zt.Temple.minigameLoaded){const e=ro("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function so(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function co(){let t=Game.buyBulk;if(1===Game.buyMode?Y=t:t=Y,1===t?t=yt:10===t?t=bt:100===t&&(t=kt),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(yt).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=pe(so(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(yt).map((e=>{const t=yt[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return $.indexOf(e.color)>$.indexOf(t.color)?1:$.indexOf(e.color)<$.indexOf(t.color)||e.pp{const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return $.indexOf(e.color)>$.indexOf(t.color)?1:$.indexOf(e.color)<$.indexOf(t.color)||e.pp{const t=yt[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;e$.indexOf(t.color)?1:$.indexOf(e.color)<$.indexOf(t.color)||e.ppe.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?q=i:i=q,1===i&&(i=yt),10===i&&(i=bt),100===i&&(i=kt),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=pe(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=E+i[o].color,n=e.PPDisplayTime?ue(Math.round(i[o].pp)):pe(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=me((Game.Objects[o].bulkPrice-(Game.cookies+mo()))/uo());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=E+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&ao(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(ao(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&ao(e.fortune.name)&&(t*=1.07),e.grandma&&ao(e.grandma.name)&&(t*=1+.01*Zt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&ao(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function wo(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;ao("Thousand fingers")&&(t+=.1),ao("Million fingers")&&(t*=5),ao("Billion fingers")&&(t*=10),ao("Trillion fingers")&&(t*=20),ao("Quadrillion fingers")&&(t*=20),ao("Quintillion fingers")&&(t*=20),ao("Sextillion fingers")&&(t*=20),ao("Septillion fingers")&&(t*=20),ao("Octillion fingers")&&(t*=20),ao("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(Zt).forEach((e=>{"Cursor"!==Zt[e].name&&(n+=Zt[e].amount)})),t*=n,o*=vo(e),o*=Game.magicCpS("Cursor"),o*=io("cursorCps"),Game.ComputeCps(.1,ao("Reinforced index finger")+ao("Carpal tunnel prevention cream")+ao("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{ao(Game.GrandmaSynergies[e])&&(o*=2)})),ao("Bingo center/Research facility")&&(o*=4),ao("Ritual rolling pins")&&(o*=2),ao("Naughty list")&&(o*=2),ao("Elderwort biscuits")&&(o*=1.02),o*=io("grandmaCps"),ao("Cat ladies"))for(let e=0;e{"Grandma"!==Zt[e].name&&(i+=Zt[e].amount)})),o*=1+.01*oo("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=vo(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function xo(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(Zt).forEach((t=>{Zt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(ao("Starlove")&&(e=3),Game.hasGod){const t=ro("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function To(){Ae=Game.UpgradesOwned,je=Game.pledges,De=Game.AchievementsOwned,He=Game.heavenlyPower,Ue=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=Zt[e];void 0===o&&(Zt[e]=wo(e),o=Zt[e],go(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(Ie=t.minigame.slot[0],ze=t.minigame.slot[1],Ve=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),Zt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=eo[e];void 0===o&&(eo[e]=xo(e),o=eo[e]),o.bought=t.bought,eo[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=to[e];void 0===o&&(to[e]=Go(e),o=to[e]),o.won=t.won,to[e]=o})),ko(),$e=Ye,Re=Ke}function Mo(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function So(e){e.appendChild(Mo("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(Mo("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(Mo("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(Mo("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===ne){e.appendChild(Mo("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function Po(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function Eo(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function No(){if(To(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===ne?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(So(l("CMTooltipBorder")),1===Game.buyMode?K=t:t=K,1===Game.buyBulk?t=yt:10===Game.buyBulk?t=bt:100===Game.buyBulk&&(t=kt),te=Game.Objects[ie].bulkPrice,oe=t[ie].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=pe(oe,2);const o=Math.round(oe/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=E+t[ie].color,e.PPDisplayTime?l("CMTooltipPP").textContent=ue(t[ie].pp):l("CMTooltipPP").textContent=pe(t[ie].pp,2),l("CMTooltipPP").className=E+t[ie].color;const n=me((te-(Game.cookies+mo()))/uo());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[ie[1]][ie[0]][0]-1].mature,o=t.plantsById[t.plot[ie[1]][ie[0]][0]-1].name;l("CMTooltipBorder").appendChild(Mo("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${pe(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${pe(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${pe(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${pe(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===ne?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(Mo("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=ho(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==ee[Game.buffs[t].name]?ee[Game.buffs[t].name]:j,a.lastChild.children[1].className=N+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),le!==n&&(le=n,yo())}}(),fo(),No(),function(){if(1===e.TooltipWrink&&1===_){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===X[t]||void 0===X[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),Q=t,X[t]=1}}else X[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[Q],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[Q].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),Zt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=pe(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,pe(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}function Fo(){he.addLatest(Game.computedMouseCps)}class Wo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}calcSum(e){let t=e;return t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length),0===t?0:this.queue.slice(-t).reduce(((e,t)=>e+t),0)}}function Lo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+Kt;Game.cpsSucked>0&&(o+=Gt),It=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-Ge,i=Math.max(0,Game.cookies-ve)/n,a=Math.max(0,Gt-we)/n,r=Math.max(0,wt[0]-xe)/n,l=Math.max(0,o-Ct)/n,s=(Game.cookieClicks-Te)/n;for(let e=0;e0&&(n=A),n}function jo(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=D;else{t[n].color=Ao(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+mo()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||qt.push([t[n].pp,o])}))}function Ho(){!function(){Xt=1/0,qt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Do(yt,1),Do(bt,10),Do(kt,100),qt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;qt[t][1]>Game.cookies&&(t+=1,qt.length!==t+1););Xt=qt[e.PPExcludeTop][t],jo(yt,1),jo(bt,10),jo(kt,100)}(),Object.keys(Mt).forEach((e=>{Game.cookiesPs?Mt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+mo()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/Mt[e].bonus:Mt[e].pp=Game.Upgrades[e].getPrice()/Mt[e].bonus,Number.isNaN(Mt[e].pp)&&(Mt[e].pp=1/0),Mt[e].color=Ao(Mt[e],Game.Upgrades[e].getPrice())}))}function Uo(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),Qe=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(Ue)*He*function(){let e=0;if(ao("Heavenly chip secret")&&(e+=.05),ao("Heavenly cookie stand")&&(e+=.2),ao("Heavenly bakery")&&(e+=.25),ao("Heavenly confectionery")&&(e+=.25),ao("Heavenly key")&&(e+=.25),e*=1+.05*oo("Dragon God"),ao("Lucky digit")&&(e*=1.01),ao("Lucky number")&&(e*=1.01),ao("Lucky payout")&&(e*=1.01),Game.hasGod){const t=ro("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=io("cps"),ao("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];ao(o.name)&&("function"==typeof o.power?e*=1+.01*eo[o.name].power(eo[o.name]):e*=1+.01*o.power)})),ao("Specialized chocolate chips")&&(e*=1.01),ao("Designer cocoa beans")&&(e*=1.02),ao("Underworld ovens")&&(e*=1.03),ao("Exotic nuts")&&(e*=1.04),ao("Arcane sugar")&&(e*=1.05),ao("Increased merriness")&&(e*=1.15),ao("Improved jolliness")&&(e*=1.15),ao("A lump of coal")&&(e*=1.01),ao("An itchy sweater")&&(e*=1.01),ao("Santa's dominion")&&(e*=1.2),ao("Fortune #100")&&(e*=1.01),ao("Fortune #101")&&(e*=1.07),ao("Dragon scale")&&(e*=1.03);let o=1;if(ro){let t=ro("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=ro("ages"),1===t?e*=1+.15*Math.sin(w/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(w/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(w/1e3/86400*Math.PI*2)),t=ro("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=ro("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=ro("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}ao("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=De/25;let i=1;if(ao("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*oo("Breath of Milk"),ro){const e=ro("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=io("milk");let a=1;ao("Kitten helpers")&&(a*=1+.1*n*i),ao("Kitten workers")&&(a*=1+.125*n*i),ao("Kitten engineers")&&(a*=1+.15*n*i),ao("Kitten overseers")&&(a*=1+.175*n*i),ao("Kitten managers")&&(a*=1+.2*n*i),ao("Kitten accountants")&&(a*=1+.2*n*i),ao("Kitten specialists")&&(a*=1+.2*n*i),ao("Kitten experts")&&(a*=1+.2*n*i),ao("Kitten consultants")&&(a*=1+.2*n*i),ao("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),ao("Kitten marketeers")&&(a*=1+.15*n*i),ao("Kitten analysts")&&(a*=1+.125*n*i),ao("Kitten executives")&&(a*=1+.115*n*i),ao("Kitten angels")&&(a*=1+.1*n*i),ao("Fortune #103")&&(a*=1+.05*n*i),Object.keys(Zt).forEach((e=>{const t=Zt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&ao("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),Xe+=t.amount*a})),ao('"egg"')&&(Xe+=9),e*=a;let r=1;if(ao("Chicken egg")&&(r*=1.01),ao("Duck egg")&&(r*=1.01),ao("Turkey egg")&&(r*=1.01),ao("Quail egg")&&(r*=1.01),ao("Robin egg")&&(r*=1.01),ao("Ostrich egg")&&(r*=1.01),ao("Cassowary egg")&&(r*=1.01),ao("Salmon roe")&&(r*=1.01),ao("Frogspawn")&&(r*=1.01),ao("Shark egg")&&(r*=1.01),ao("Turtle egg")&&(r*=1.01),ao("Ant larva")&&(r*=1.01),ao("Century egg")){let e=10*Math.floor((x-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),gt=1+.1*(1-(1-e/100)**3),r*=gt}e*=r,ao("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+oo("Radiant Appetite");const l=Xe*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&$o(Game.CpsAchievements[e].name)})),qe=l;const{n:s}=Game.shimmerTypes.golden,c=oo("Dragon's Fortune");for(let t=0;t{ao(e[o])&&(t+=.1)}))}e*=t}if(ao("Shimmering veil [off]")){let t=.5;ao("Reinforced membrane")&&(t+=.1),e*=1+t}ao("Magic shenanigans")&&(e*=1e3),ao("Occult obstruction")&&(e*=0),Xe=Game.runModHookOnValue("cps",Xe),e*=Bo(),Xe*=e}const Io=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],zo=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Vo=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],_o=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],Qo=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function Xo(e){return to[e]?to[e].won:0}function qo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{ao(Game.GrandmaSynergies[t])&&(e+=1)})),!Xo("Elder")&&e>=7&&$o("Elder"),!Xo("Veteran")&&e>=14&&$o("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(Zt).forEach((e=>{t+=Zt[e].amount,i=Math.min(Zt[e].amount,i),Xo("Mathematician")||Zt[e].amount=1&&$o("One with everything"),1===o&&$o("Mathematician"),1===n&&$o("Base 10"),i>=100&&$o("Centennial"),i>=150&&$o("Centennial and a half"),i>=200&&$o("Bicentennial"),i>=250&&$o("Bicentennial and a half"),i>=300&&$o("Tricentennial"),i>=350&&$o("Tricentennial and a half"),i>=400&&$o("Quadricentennial"),i>=450&&$o("Quadricentennial and a half"),i>=500&&$o("Quincentennial"),i>=550&&$o("Quincentennial and a half"),i>=600&&$o("Sexcentennial"),t>=100&&$o("Builder"),t>=500&&$o("Architect"),t>=1e3&&$o("Engineer"),t>=2e3&&$o("Lord of Constructs"),t>=4e3&&$o("Grand design"),t>=8e3&&$o("Ecumenopolis"),Ae>=20&&$o("Enhancer"),Ae>=50&&$o("Augmenter"),Ae>=100&&$o("Upgrader"),Ae>=200&&$o("Lord of Progress"),Ae>=300&&$o("The full picture"),Ae>=400&&$o("When there's nothing left to add"),t>=4e3&&Ae>=300&&$o("Polymath"),t>=8e3&&Ae>=400&&$o("Renaissance baker"),Zt.Cursor.amount+Zt.Grandma.amount>=777&&$o("The elder scrolls");let a=!0;Object.keys(zo).forEach((e=>{ao(zo[e])||(a=!1)})),a&&$o("Spooky cookies");let r=!0;if(Object.keys(Vo).forEach((e=>{ao(Vo[e])||(r=!1)})),r&&$o("Let it snow"),ao("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{ao(e[o].name)&&(t+=1)})),t>=e.length&&$o("O Fortuna")}}function Yo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){To(),Zt[e].amount+=t;const o=Zt[e];"Cursor"===e?(o.amount>=1&&$o("Click"),o.amount>=2&&$o("Double-click"),o.amount>=50&&$o("Mouse wheel"),o.amount>=100&&$o("Of Mice and Men"),o.amount>=200&&$o("The Digital"),o.amount>=300&&$o("Extreme polydactyly"),o.amount>=400&&$o("Dr. T"),o.amount>=500&&$o("Thumbs, phalanges, metacarpals"),o.amount>=600&&$o("With her finger and her thumb"),o.amount>=700&&$o("Gotta hand it to you"),o.amount>=800&&$o("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&$o(Game.Objects[o.name].tieredAchievs[e].name)}));const n=De;return Ro(),qo(),n!==De&&Ro(),Xe-Game.cookiesPs}(o,e),1!==e&&(Fe=1)})),t}function Ko(){Object.keys(Game.Objects).forEach((e=>{yt[e].price=Uo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),bt[e].price=Uo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),kt[e].price=Uo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Jo(){yt=Yo(1),bt=Yo(10),kt=Yo(100),Mt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){To(),"Shimmering veil [on]"===eo[e].name?eo["Shimmering veil [off]"].bought=0:"Golden switch [on]"===eo[e].name?eo["Golden switch [off]"].bought=0:eo[e].bought=(eo[e].bought+1)%2,eo[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Ae+=1),"Elder Pledge"===e?(je+=1,je>0&&$o("Elder nap"),je>=5&&$o("Elder slumber")):"Elder Covenant"===e?$o("Elder calm"):"Prism heart biscuits"===e?$o("Lovely cookies"):"Heavenly key"===e&&$o("Wholesome");const t=De;Ro(),qo(),t!==De&&Ro();const o=function(){let e=0;ao("Thousand fingers")&&(e+=.1),ao("Million fingers")&&(e*=5),ao("Billion fingers")&&(e*=10),ao("Trillion fingers")&&(e*=20),ao("Quadrillion fingers")&&(e*=20),ao("Quintillion fingers")&&(e*=20),ao("Sextillion fingers")&&(e*=20),ao("Septillion fingers")&&(e*=20),ao("Octillion fingers")&&(e*=20),ao("Nonillion fingers")&&(e*=20);let t=0;Object.keys(Zt).forEach((e=>{t+=Zt[e].amount})),t-=Zt.Cursor.amount,e*=t,ao("Plastic mouse")&&(e+=.01*Xe),ao("Iron mouse")&&(e+=.01*Xe),ao("Titanium mouse")&&(e+=.01*Xe),ao("Adamantium mouse")&&(e+=.01*Xe),ao("Unobtainium mouse")&&(e+=.01*Xe),ao("Eludium mouse")&&(e+=.01*Xe),ao("Wishalloy mouse")&&(e+=.01*Xe),ao("Fantasteel mouse")&&(e+=.01*Xe),ao("Nevercrack mouse")&&(e+=.01*Xe),ao("Armythril mouse")&&(e+=.01*Xe),ao("Technobsidian mouse")&&(e+=.01*Xe),ao("Plasmarble mouse")&&(e+=.01*Xe),ao("Miraculite mouse")&&(e+=.01*Xe),ao("Fortune #104")&&(e+=.01*Xe);let o=1;if(ao("Santa's helpers")&&(o*=1.1),ao("Cookie egg")&&(o*=1.1),ao("Halo gloves")&&(o*=1.1),ao("Dragon claw")&&(o*=1.03),ao("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,ao("Luminous gloves")?20:10)),o*=io("click"),Zt.Temple.minigameLoaded&&ro){const e=ro("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*oo("Dragon Cursor");let n=o*Game.ComputeCps(1,ao("Reinforced index finger")+ao("Carpal tunnel prevention cream")+ao("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[Xe-Game.cookiesPs,o]:[Xe-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(Mt[t]={bonus:Game.cookiesPs-Me},1===e.CalcWrink?Mt[t].bonus-=Se:2===e.CalcWrink&&(Mt[t].bonus-=Pe),Number.isFinite(Mt[t].bonus)||(Mt[t].bonus=0)):(Mt[t]={},o[0]&&(Mt[t].bonus=o[0]),o[1]&&(Mt[t].bonusMouse=o[1]))}))}function Zo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Ft=Zo(7,e,ut),Nt=2*Ft[1]/ut,Ot=Ft[2]/60/60/6/pt,At=Zo(6,e,mt),Wt=2*At[1]/mt,Lt=At[2]/60/60/6/pt,Ht=Zo(7,7*e,ut),jt=2*Ht[1]/ut,Dt=Ht[2]/60/60/6/pt,Rt=Zo(6,7*e,mt),Ut=2*Rt[1]/mt,$t=Rt[2]/60/60/6/pt}function tn(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Ne,i=Math.max(0,o-Oe)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?Bt+=e:"cookie"===o.pool?Et+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(Pt+=e)}}))}function nn(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),ft=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(ft*=2)}}function an(){et=900*dt/.15,et*=pt;const e=Bo();e>0?et/=e:et=0,tt=ut*(.15*et)+13,ot=mt*(.15*et)+13,nt=7*et,it=ut*(.15*nt)+13,at=mt*(.15*nt)+13,rt=2*et,lt=.15*rt,st=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountst&&(st=2*Game.Objects[e].price,ct=e)}))}function rn(){let e=1,t=1,o=1;ao("Green yeast digestives")&&(o*=1.01),ao("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),ut=o*e,mt=o*t,pt=1,0===Game.shimmerTypes.golden.n&&(pt*=1+1.23*Game.auraMult("Dragon's Fortune"))}function ln(){Gt=0,vt=0,wt=[0,null];for(let e=0;ewt[0]&&(wt=[t,e]))}}function sn(){ko(),ln(),an(),rn(),en(),on(),nn(),ge=new Wo(J[J.length-1]),fe=new Wo(J[J.length-1]),Ce=new Wo(J[J.length-1]),ye=new Wo(J[J.length-1]),be=new Wo(Z[Z.length-1]),ke=new Wo(5),he=new Wo(20*Z[Z.length-1]),tn(),Lo(),Jo(),Ko(),Ho()}const cn={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,MissingAchievements:0,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,FavouriteSettings:1,Header:{Favourite:1,Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},dn=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function pn(){1===e.BotBar?(l("CMBotBar").style.display="",fo()):l("CMBotBar").style.display="none",yo()}function un(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),fo(),co(),po()}function mn(){1===e.Favicon&&y>0?Vt.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class hn{constructor(e,t){this.type=e,this.group=t}}class gn extends hn{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class fn extends hn{constructor(e,t,o){super(e,t),this.desc=o}}class Cn extends hn{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class yn extends hn{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const bn={CPSMode:new gn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new gn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new gn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new gn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){_e=!0})),Scale:new gn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Abbreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){un()})),ScaleDecimals:new gn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){un()})),ScaleSeparator:new gn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){un()})),ScaleCutoff:new yn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new gn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new gn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=V:Game.sayTime=B.sayTime})),PPDisplayTime:new gn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new gn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){co()})),PPOnlyConsiderBuyable:new gn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new gn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new gn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new yn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),ColourBlue:new fn("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new fn("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new fn("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new fn("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new fn("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new fn("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new fn("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new fn("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new fn("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new gn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){pn()})),TimerBar:new gn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){bo()})),TimerBarPos:new gn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),yo()})),TimerBarOverlay:new gn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new gn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",po()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",po()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new gn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new gn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){co()})),SortUpgrades:new gn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){po()})),DragonAuraInfo:new gn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new gn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new gn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(se).forEach((e=>{se[e].style.display="block",se[e].style.left=Yt[e].l.style.left,se[e].style.top=Yt[e].l.style.top})):Object.keys(se).forEach((e=>se[e].style.display="none"))})),Favicon:new gn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){mn()})),WrinklerButtons:new gn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new gn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new gn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new gn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new gn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new gn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new gn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new gn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new gn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new yn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new gn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new gn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){Eo()})),TooltipGrim:new gn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new gn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new gn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new gn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new gn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new gn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new gn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new gn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in statistics menu",!0),MissingAchievements:new gn("bool","Statistics",["Missing Achievements OFF","Missing Normal Achievements ON"],"Shows missing normal achievements in statistics menu.",!1),UpStats:new gn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new yn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new gn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new gn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new gn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new gn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){dn(e.GCNotification)})),GCFlash:new gn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new fn("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new gn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new Cn("vol","NotificationGC",[],"Volume"),GCSoundURL:new gn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new gn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){dn(e.FortuneNotification)})),FortuneFlash:new gn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new fn("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new gn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new Cn("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new gn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new gn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){dn(e.SeaNotification)})),SeaFlash:new gn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new fn("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new gn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new Cn("vol","NotificationSea",[],"Volume"),SeaSoundURL:new gn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new gn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new fn("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new gn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new Cn("vol","NotificationGard",[],"Volume"),GardSoundURL:new gn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new gn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){dn(e.MagicNotification)})),MagicFlash:new gn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new fn("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new gn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new Cn("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new gn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new gn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){dn(e.WrinklerNotification)})),WrinklerFlash:new gn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new fn("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new gn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new Cn("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new gn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new gn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){dn(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new gn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new fn("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new gn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new Cn("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new gn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new gn("bool","Miscellaneous",["Block bulk buying OFF","Block bulk buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0),FavouriteSettings:new gn("bool","Miscellaneous",["Favourite settings section OFF","Favourite settings section ON","Favourite settings section ON (Locked)"],"Show stars before each setting which allows selecting it for a 'favourites' section at the top of the Cookie Monster settings. Setting this to Locked removes the stars but shows the 'favourites' section",!0,(function(){Game.UpdateMenu()}))};function kn(){return JSON.stringify({favouriteSettings:de,settings:e,version:"2.031.6"})}function Gn(){if(Je!==Game.dragonLevel||_e){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{Zt[e]=wo(e)})),eo=[],Object.keys(Game.Upgrades).forEach((e=>{eo[e]=xo(e)})),to=[],Object.keys(Game.Achievements).forEach((e=>{to[e]=Go(e)})),To()}let xn=!1;function Tn(t,o,n){(1===e[o]||n)&&3===t&&!1===xn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){Tn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){Tn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){Tn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function Mn(t,o,n,i){if((1===e[o]||i)&&!1===xn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function Sn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===xn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function Pn(){if(re!==Game.OnAscend&&(re=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(pn(),bo()),Co()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(wn(),sn(),r=Object.keys(Game.mods).length),_e&&(Jo(),Game.Has("Golden switch [off]")?(To(),eo["Golden switch [off]"].bought=0,Ro(),dt=Xe):dt=Game.cookiesPs,rn(),an(),on(),en(),Gn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Jt[e][t]=vn(e,t)}(),nn(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;To();let t=2;5!==$e&&18!==$e||(t-=1),5!==Re&&18!==Re||(t-=1),$e=5,Re=18;for(let e=0;e{Zt[t].amount>0&&(e=t)})),Zt[e].amount-=1,Le-=1}return Object.keys(Zt).forEach((t=>{const o=Zt[t];e+=so(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),Kt=e}(),_e=0);const t=Game.auraMult("Fierce Hoarder")>0;!We&&t?(We=!0,Fe=1):We&&!t&&(We=!1,Fe=1),Fe&&(Ko(),Fe=0),function(){ln(),Ho(),function(){xt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(Zt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}Tt=e,xt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Lo(),tn();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);Qt=ue(e/uo())}(),G=0,Yt={},Object.keys(Game.shimmers).forEach((e=>{Yt[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(Vt=Game.shimmers[e],G+=1)})),Object.keys(se).forEach((e=>{void 0===Yt[e]&&(se[e].parentNode.removeChild(se[e]),delete se[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===se[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},se[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),mn(),b=G,0===G&&(Vt=0)):1===e.GCTimer&&y&&Object.keys(se).forEach((e=>{se[e].style.opacity=Yt[e].l.style.opacity,se[e].style.transform=Yt[e].l.style.transform,se[e].textContent=Math.ceil(Yt[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(Tn(3,"FortuneFlash",!1),Mn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),Sn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&(_t=Game.shimmers[e])})),Tn(3,"SeaFlash",!1),Mn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),Sn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>v?(v=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?Tn(3,"WrinklerMaxFlash",!1):Tn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?Mn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):Mn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?Sn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):Sn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):v=t}}()}}function Bn(){let t="";for(let o=0;o<$.length;o++)t+=`.CMText${$[o]} { color: ${e[`Colour${$[o]}`]}; }\n`;for(let o=0;o<$.length;o++)t+=`.CMBack${$[o]} { background-color: ${e[`Colour${$[o]}`]}; }\n`;for(let o=0;o<$.length;o++)t+=`.CMBorder${$[o]} { border: 1px solid ${e[`Colour${$[o]}`]}; }\n`;l("CMCSS").textContent=t,co()}function En(){const e=b64_to_utf8(unescape(localStorage.getItem("CookieClickerGame")).split("!END!")[0]),t=e.match(/CookieMonster.*(;|$)/);if(null!==t){const o=e.replace(t[0],`CookieMonster:${kn()}`);localStorage.setItem("CookieClickerGame",escape(`${utf8_to_b64(o)}!END!`))}}function Nn(t){if(void 0!==localStorage.CMConfig&&delete localStorage.CMConfig,void 0!==t){e=t,void 0!==e.Colors&&delete e.Colors,void 0!==e.Colours&&delete e.Colours;let o=!1;Object.keys(cn).forEach((t=>{void 0===e[t]?(o=!0,e[t]=cn[t]):"Header"===t&&Object.keys(cn.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=cn[t][n])}))})),o&&En(),Pn(),Object.keys(cn).forEach((e=>{"Header"!==e&&void 0!==bn[e].func&&bn[e].func()}))}else Nn(cn);Game.UpdateMenu(),Bn()}function On(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Fn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Uo(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${pe(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${me((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(pe(Game.Objects[o].bulkPrice)).join(pe((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return ne=t,ie=o,No(),l("tooltip").innerHTML}function Wn(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(S[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function Ln(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),En()}function Rn(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){$n(o),Game.UpdateMenu()},n.appendChild(i),n}function In(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(I[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function zn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function Vn(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(Rn("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+mo(){Game.HasUnlocked(Qo[e])||c.push(Qo[e])})),0!==c.length&&e.appendChild(In("basic","Rare plant drops left to unlock",zn(c))),e}())),o.appendChild(Rn("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige(It+Game.cookiesReset+Gt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?Ct:0)));t.appendChild(In("withTooltip","Prestige level (cur / max)",document.createTextNode(`${pe(Game.prestige)} / ${pe(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-(It+Game.cookiesReset+Gt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&&Ct?Ct:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(pe(n)));const a=document.createElement("small");a.textContent=` (${ue(n/zt,1)})`,i.appendChild(a),t.appendChild(In("withTooltip","Cookies to next level",i,"NextPrestTooltipPlaceholder")),t.appendChild(In("withTooltip","Heavenly chips (cur / max)",document.createTextNode(`${pe(Game.heavenlyChips)} / ${pe(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild(In("basic","Heavenly chips per second (last 5 seconds)",document.createTextNode(pe(ht,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild(In("basic","Heavenly chips to target set in settings (cur)",document.createTextNode(pe(e)))),t.appendChild(In("basic","Time till target (cur, current 5 second average)",document.createTextNode(ue(e/ht)))))}const l=function(e){let t=Game.cookiesPs;To(),0===eo["Heavenly key"].bought&&(eo["Heavenly chip secret"].bought=1,eo["Heavenly cookie stand"].bought=1,eo["Heavenly bakery"].bought=1,eo["Heavenly confectionery"].bought=1,eo["Heavenly key"].bought=1,Ro(),t=Xe,To()),It>=1e6&&$o("Sacrifice"),It>=1e9&&$o("Oblivion"),It>=1e12&&$o("From scratch"),It>=1e15&&$o("Nihilism"),It>=1e18&&$o("Dematerialize"),It>=1e21&&$o("Nil zero zilch"),It>=1e24&&$o("Transcendence"),It>=1e27&&$o("Obliterate"),It>=1e30&&$o("Negative void"),It>=1e33&&$o("To crumbs, you say?"),It>=1e36&&$o("You get nothing"),It>=1e39&&$o("Humble rebeginnings"),It>=1e42&&$o("The end of the world"),It>=1e45&&$o("Oh, you're back"),It>=1e48&&$o("Lazarus"),It>=1e51&&$o("Smurf account"),It>=1e54&&$o("If at first you don't succeed"),eo["Heavenly chip secret"].bought=1,eo["Heavenly cookie stand"].bought=1,eo["Heavenly bakery"].bought=1,eo["Heavenly confectionery"].bought=1,eo["Heavenly key"].bought=1,Ue=e;const o=De;Ro(),qo(),o!==De&&Ro();const n=Xe-t;return Ue=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(pe(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(In("withTooltip","Reset bonus income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(In("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(In("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(In("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(Rn("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${pe(Gt)} / ${pe(vt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){On()},e.appendChild(t),o.appendChild(In("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${pe(wt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==wt[1]&&(Game.wrinklers[wt[1]].hp=0)},n.appendChild(i),o.appendChild(In("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==wt[1]?wt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(zo).forEach((e=>{Game.Has(zo[e])||(n.push(zo[e]),o=!0)}));const i=[];Object.keys(Vo).forEach((e=>{Game.Has(Vo[e])||(i.push(Vo[e]),o=!0)}));const a=[];Object.keys(_o).forEach((e=>{Game.Has(_o[e])||(a.push(_o[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(Rn("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(In("basic","Halloween cookies left to buy",zn(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild(In("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${pe((1-e)*o*100)}% / ${pe((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild(In("basic","Christmas cookies left to buy",zn(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild(In("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${pe((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild(In("basic","Valentine cookies left to buy",zn(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(In("basic","Normal easter eggs left to unlock",zn(r))),t.appendChild(In("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${pe(100*e(.98)[0])}% / ${pe(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(In("basic","Rare easter eggs left to unlock",zn(l))),t.appendChild(In("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${pe(100*e(.98)[1])}% / ${pe(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild(In("basic","Reindeer reward",document.createTextNode(pe(ft)))),s&&t.appendChild(In("withTooltip","Chocolate egg cookies",document.createTextNode(pe(Ct)),"ChoEggTooltipPlaceholder")),c&&t.appendChild(In("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(gt-1))/100+"%")))}return t}()),o.appendChild(Rn("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(In("basic",`Average cookies per second (past ${J[e.AvgCPSHist]<60?`${J[e.AvgCPSHist]} seconds`:J[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(pe(uo(),3)))),o.appendChild(In("basic",`Average cookie clicks per second (past ${Z[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(pe(St,1)))),o.appendChild(In("basic",`Cookies from clicking (past ${Z[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(pe(he.calcSum(St*Z[e.AvgClicksHist]))))),Game.Has("Fortune cookies")){const e=[];Object.keys(Io).forEach((t=>{Game.Has(Io[t])||e.push(Io[t])})),0!==e.length&&o.appendChild(In("basic","Fortune Upgrades Left to Buy",zn(e)))}if(e.ShowMissedGC&&o.appendChild(In("basic","Missed golden cookies",document.createTextNode(pe(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(In("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&Bt){const t=Bt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Bt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(Pt){const t=Pt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Pt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Et){const t=Et.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Et,e.appendChild(i)}}})),e.MissingAchievements&&function(){let t;Object.values(document.querySelectorAll("div.title")).forEach((e=>{e.textContent.includes("Achievements")&&(t=e.parentElement.querySelectorAll("div.listing.crateBox")[0])})),e.MissingAchievements&&Object.values(t.children).forEach((e=>{if(!e.className.includes("enabled")){const t=e.onclick.toString().match(/(?<=\[).*(?=\])/g)[0],{icon:o}=Game.AchievementsById[t];e.style.backgroundPosition=`${48*-o[0]}px ${48*-o[1]}px`,e.onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return function(e){const t=[];"shadow"===e.pool?t.push("Shadow Achievement","#9700cf"):t.push("Achievement",0),t.push("Locked",0);let o=0;(Game.Has("Neuromancy")||Game.sesame&&"debug"===e.pool)&&(o=1),o&&0===e.won?t.push("Click to win!","#00c462"):o&&e.won>0&&t.push("Click to lose!","#00c462");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());let{desc:i}=e;e.descFunc&&(i=e.descFunc("stats"));let a="";for(let e=0;e[${t[e]}]`);return a=a.substring(1),`
\n
\n
${e.name}
\n ${a}
${i}
\n ${Game.sesame?`
Id : ${e.id} | Order : ${Math.floor(e.order)}${e.tier?` | Tier : ${e.tier}`:""}
`:""}`}(Game.AchievementsById[t])}),"top"),Game.tooltip.wobble())}}}))}()}const _n={Favourite:"Favourite Settings",Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},Qn={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function Xn(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){$n(t),Game.UpdateMenu()},n.appendChild(i),n}function qn(t){const o=document.createElement("div");if(o.className="listing",1===e.FavouriteSettings&&o.appendChild(function(e){const t=document.createElement("a");return de.includes(e)?(t.innerText="★",t.style.color="yellow"):t.innerText="☆",t.className="option",t.onclick=function(){!function(e){de.includes(e)?de=de.filter((function(t){return t!==e})):de.push(e)}(e),En(),Game.UpdateMenu()},t.onmouseover=function(){Game.tooltip.draw(this,escape(I.FavouriteSettingPlaceholder.innerHTML))},t.onmouseout=function(){Game.tooltip.hide()},t.appendChild(document.createTextNode(" ")),t}(t)),"bool"===bn[t].type){const n=document.createElement("a");bn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=Hn+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===bn[t].label.length?(e[t]=0,bn[t].toggle&&(l(Hn+t).className="option off")):l(Hn+t).className="option",void 0!==bn[t].func&&bn[t].func(),l(Hn+t).innerHTML=bn[t].label[e[t]],En()}(t)},n.textContent=bn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=bn[t].desc,i.style.lineHeight="1.6",o.appendChild(i),o}if("vol"===bn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=bn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Un(t)},r.onchange=function(){Un(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){Mn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===bn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${bn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=Hn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${Hn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){!function(e,t){Game.promptWrapL.className="framed";const o=e;Game.promptL.innerHTML=`${o}
`,Object.keys(t).forEach((e=>{const o=document.createElement("a");o.id=`promptOption${e}`,o.className="option",o.onclick=function(){PlaySound("snd/tick.mp3"),t[e][1]()},o.textContent=t[e][0],Game.promptL.children[1].appendChild(o)})),Game.promptAnchorL.style.display="block",Game.darkenL.style.display="block",Game.promptL.focus(),Game.promptOn=1,Game.UpdatePrompt()}(a.outerHTML,[["Save",function(){e[t]=l(`CMConfig${t}Prompt`).value,En(),Game.ClosePrompt(),Game.UpdateMenu()}],["Cancel",function(){Game.ClosePrompt()}]])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=bn[t].desc,s.style.lineHeight="1.6",o.appendChild(s),o}if("colour"===bn[t].type){const n=document.createElement("span");n.className="option";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new jn(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),Bn(),En(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=bn[t].desc,a.style.lineHeight="1.6",n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){Tn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),Dn().init(),o}if("numscale"===bn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${bn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=Hn+t,i.className="option",i.type="number",i.value=e[t],i.min=bn[t].min,i.max=bn[t].max,i.oninput=function(){this.value>this.max&&console.log("TEST"),e[t]=this.value,En(),un()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=bn[t].desc,a.style.lineHeight="1.6",o.appendChild(a),o}return o}function Yn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function Kn(){B.Beautify=Beautify,Beautify=pe,B.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){B.CalculateGains(),_e=1,w=Date.now(),x=Date.now()},B.tooltip={},B.tooltip.draw=Game.tooltip.draw,B.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){B.tooltip.drawMod(e,t,o)},B.tooltip.update=Game.tooltip.update,B.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){B.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},B.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){Yn(B.UpdateWrinklers)},B.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){Yn(B.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){Yn(Game.ClickCookie)}),!1),B.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){B.RebuildUpgrades(),P=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(P[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},B.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e].amount>0){const o=Zt[Game.ObjectsById[e].name].name;Zt[o].amount-=1,Le-=1,t=Zt[o].basePrice*Game.priceIncrease**Math.max(0,Zt[o].amount-1-Zt[o].free),t=Game.modifyBuildingPrice(Zt[o],t),t=Math.ceil(t);break}const o=De;return Ro(),qo(),o!==De&&Ro(),[Xe-Game.cookiesPs,t]}(t),n=ue(o/(e+Game.cookiesPs)),i=pe(e/Game.cookiesPs*100);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${pe(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},B.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){B.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${Ze}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},B.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==Dn().picker&&void 0!==Dn().picker.owner||(B.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(_n).forEach((t=>{if("Favourite"===t){if(0!==de.length&&e.FavouriteSettings>0&&(o.appendChild(Xn(t,_n[t])),e.Header[t]))for(let e=0;e{const n=Xn(t,Qn[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(bn).forEach((e=>{bn[e].group===t&&o.appendChild(qn(e))}))})):Object.keys(bn).forEach((e=>{bn[e].group===t&&o.appendChild(qn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Nn(cn)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",Vn(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){$n("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},B.sayTime=Game.sayTime,V=function(e,t){return Number.isNaN(e)||e<=0?B.sayTime(e,t):ue(e/Game.fps,1)},B.Logic=Game.Logic,Game.Logic=function(){B.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),ce=`${Game.OnAscend?"Ascending! ":""}${pe(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=ce;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=Vt?Vt.wrath?`[W${Math.ceil(Vt.life/Game.fps)}]`:`[G${Math.ceil(Vt.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil(_t.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=ce;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;Vt&&(t=!0,Vt.wrath?e+=`[W${Math.ceil(Vt.life/Game.fps)}]`:e+=`[G${Math.ceil(Vt.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil(_t.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${pe(Game.prestige)}.
(CpS +${pe(Game.prestige)}%)`,n+='
'),n+=Oe<1?"Ascending now would grant you no prestige.":Oe<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${pe(Oe)} prestige levels (+${pe(Oe)}% CpS)
and ${pe(Oe)} heavenly chips to spend.`,n+='
',n+=`You need ${pe(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${Qt} to reach the next level and you were making ${pe(ht,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Jn(){wn(),an(),sn(),r=Object.keys(Game.mods).length,T=document.createElement("style"),T.type="text/css",T.id="CMCSS",document.head.appendChild(T),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=E+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",W)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",O)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",O)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",O)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{go(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=ho("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:D},{id:"CMTimerBarGCBar",color:j}]);e.appendChild(t);const o=ho("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:D},{id:"CMTimerBarRenBar",color:L}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=N+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(O,"Better than the best PP of a building option")),e.appendChild(o(F,"Same as the best PP building option")),e.appendChild(o(W,"Within the top 10 of PP for buildings")),e.appendChild(o(L,"Within the top 20 of PP for buildings")),e.appendChild(o(A,"Within the top 30 of PP for buildings")),e.appendChild(o(j,"Outside of the top 30 of PP for buildings")),e.appendChild(o(D,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=E+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",O)),e.appendChild(o("CMUpgradeBarGreen",F)),e.appendChild(o("CMUpgradeBarYellow",W)),e.appendChild(o("CMUpgradeBarOrange",L)),e.appendChild(o("CMUpgradeBarRed",A)),e.appendChild(o("CMUpgradeBarPurple",j)),e.appendChild(o("CMUpgradeBarGray",D)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(R).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),I[e]=n}(R[e][0],R[e][1],R[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){On()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==wt[1]&&(Game.wrinklers[wt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(M[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),Wn(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),An()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){_=1},l("backgroundLeftCanvas").onmouseout=function(){_=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{X[e]=0}))},Kn(),An(),Game.CalculateGains(),Nn(),z=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const Zn={init:function(){xn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Jn(),Game.registerHook("draw",Oo),Game.registerHook("logic",Pn),Game.registerHook("click",Fo),xn=!1)},load:function(e){const t=JSON.parse(e);wn(),void 0!==t.favouriteSettings&&(de=t.favouriteSettings),Nn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:kn};Game.registerMod("CookieMonster",Zn)})()})(); +(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,v,w,x,M,T=[],S=[],P=[],B={};const E="CMText",N="CMBack",O="Blue",F="Green",W="Yellow",L="Orange",A="Red",j="Purple",D="Gray",H="Pink",U="Brown",$=[D,O,F,W,L,A,j,H,U],R=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"],["FavouriteSettingPlaceholder","Click to set this setting as favourite and show it in 'favourite' settings at the top of the Cookie Monster Settings","250px"]],I={};let z,V,_=0,Q=-1,X=[],q=1,Y=1,K=1;const J=[10,15,30,60,300,600,900,1800],Z=[1,5,10,15,30],ee={Frenzy:W,"Dragon Harvest":U,"Elder frenzy":F,Clot:A,"Click frenzy":O,Dragonflight:H};let te,oe,ne,ie,ae,re,le,se={},ce="",de=[];function pe(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return B.Beautify(t,o);if(Number.isFinite(t)){if(t<0)return`-${pe(Math.abs(t))}`;let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function me(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=F):(n=ue(t),o=t>300?A:t>60?L:W),{text:n,color:o}}let he,ge,fe,Ce,ye,be,ke,Ge,ve,we,xe,Me,Te,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Ue,$e,Re,Ie,ze,Ve,_e,Qe,Xe,qe,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=0,st=0,ct=0,dt=0,pt=1,ut=1,mt=1,ht=0,gt=0,ft=0,Ct=0,yt={},bt={},kt={},Gt=0,vt=0,wt=[0,null],xt=0,Mt=0,Tt={},St={},Pt={},Bt={},Et={},Nt=0,Ot=0,Ft=[],Wt=0,Lt=0,At=[],jt=0,Dt=0,Ht=[],Ut=0,$t=0,Rt=[],It=0,zt=0,Vt={},_t={},Qt=0,Xt=0,qt=[],Yt={},Kt=0,Jt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},Zt=[],eo=[],to=[];function oo(e){let t=0;return Game.dragonAuras[$e].name!==e&&Game.dragonAuras[Re].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[$e].name&&"Reality Bending"!==Game.dragonAuras[Re].name||(t+=.1),t}function no(){let e=.25;return e*=1+oo("Earth Shatterer"),e}function io(e,t){return void 0===Qe[e]?void 0===t?1:t:Qe[e]}function ao(e){const t=eo[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function ro(e){if(Game.hasGod){void 0===Zt.Temple.minigame&&(Zt.Temple.minigame=Game.Objects.Temple.minigame);const t=Zt.Temple.minigame.gods[e];if(Ie===t.id)return 1;if(ze===t.id)return 2;if(Ve===t.id)return 3}return!1}function lo(e,t){let o=t;if(ao("Season savings")&&(o*=.99),ao("Santa's dominion")&&(o*=.99),ao("Faberge egg")&&(o*=.99),ao("Divine discount")&&(o*=.99),ao("Fortune #100")&&(o*=.99),o*=1-.02*oo("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&ao(e.fortune.name)&&(o*=.93),o*=io("buildingCost"),Zt.Temple.minigameLoaded){const e=ro("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function so(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function co(){let t=Game.buyBulk;if(1===Game.buyMode?Y=t:t=Y,1===t?t=yt:10===t?t=bt:100===t&&(t=kt),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(yt).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=pe(so(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(yt).map((e=>{const t=yt[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return $.indexOf(e.color)>$.indexOf(t.color)?1:$.indexOf(e.color)<$.indexOf(t.color)||e.pp{const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return $.indexOf(e.color)>$.indexOf(t.color)?1:$.indexOf(e.color)<$.indexOf(t.color)||e.pp{const t=yt[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;e$.indexOf(t.color)?1:$.indexOf(e.color)<$.indexOf(t.color)||e.ppe.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?q=i:i=q,1===i&&(i=yt),10===i&&(i=bt),100===i&&(i=kt),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=pe(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=E+i[o].color,n=e.PPDisplayTime?ue(Math.round(i[o].pp)):pe(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=me((Game.Objects[o].bulkPrice-(Game.cookies+mo()))/uo());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=E+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&ao(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(ao(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&ao(e.fortune.name)&&(t*=1.07),e.grandma&&ao(e.grandma.name)&&(t*=1+.01*Zt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&ao(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function wo(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;ao("Thousand fingers")&&(t+=.1),ao("Million fingers")&&(t*=5),ao("Billion fingers")&&(t*=10),ao("Trillion fingers")&&(t*=20),ao("Quadrillion fingers")&&(t*=20),ao("Quintillion fingers")&&(t*=20),ao("Sextillion fingers")&&(t*=20),ao("Septillion fingers")&&(t*=20),ao("Octillion fingers")&&(t*=20),ao("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(Zt).forEach((e=>{"Cursor"!==Zt[e].name&&(n+=Zt[e].amount)})),t*=n,o*=vo(e),o*=Game.magicCpS("Cursor"),o*=io("cursorCps"),Game.ComputeCps(.1,ao("Reinforced index finger")+ao("Carpal tunnel prevention cream")+ao("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{ao(Game.GrandmaSynergies[e])&&(o*=2)})),ao("Bingo center/Research facility")&&(o*=4),ao("Ritual rolling pins")&&(o*=2),ao("Naughty list")&&(o*=2),ao("Elderwort biscuits")&&(o*=1.02),o*=io("grandmaCps"),ao("Cat ladies"))for(let e=0;e{"Grandma"!==Zt[e].name&&(i+=Zt[e].amount)})),o*=1+.01*oo("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=vo(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function xo(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(Zt).forEach((t=>{Zt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(ao("Starlove")&&(e=3),Game.hasGod){const t=ro("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function Mo(){Ae=Game.UpgradesOwned,je=Game.pledges,De=Game.AchievementsOwned,He=Game.heavenlyPower,Ue=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=Zt[e];void 0===o&&(Zt[e]=wo(e),o=Zt[e],go(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(Ie=t.minigame.slot[0],ze=t.minigame.slot[1],Ve=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),Zt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=eo[e];void 0===o&&(eo[e]=xo(e),o=eo[e]),o.bought=t.bought,eo[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=to[e];void 0===o&&(to[e]=Go(e),o=to[e]),o.won=t.won,to[e]=o})),ko(),$e=Ye,Re=Ke}function To(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function So(e){e.appendChild(To("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(To("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(To("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(To("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===ne){e.appendChild(To("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function Po(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function Eo(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function No(){if(Mo(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===ne?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(So(l("CMTooltipBorder")),1===Game.buyMode?K=t:t=K,1===Game.buyBulk?t=yt:10===Game.buyBulk?t=bt:100===Game.buyBulk&&(t=kt),te=Game.Objects[ie].bulkPrice,oe=t[ie].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=pe(oe,2);const o=Math.round(oe/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=E+t[ie].color,e.PPDisplayTime?l("CMTooltipPP").textContent=ue(t[ie].pp):l("CMTooltipPP").textContent=pe(t[ie].pp,2),l("CMTooltipPP").className=E+t[ie].color;const n=me((te-(Game.cookies+mo()))/uo());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[ie[1]][ie[0]][0]-1].mature,o=t.plantsById[t.plot[ie[1]][ie[0]][0]-1].name;l("CMTooltipBorder").appendChild(To("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${pe(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${pe(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${pe(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${pe(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===ne?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(To("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=ho(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==ee[Game.buffs[t].name]?ee[Game.buffs[t].name]:j,a.lastChild.children[1].className=N+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),le!==n&&(le=n,yo())}}(),fo(),No(),function(){if(1===e.TooltipWrink&&1===_){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===X[t]||void 0===X[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),Q=t,X[t]=1}}else X[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[Q],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[Q].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),Zt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=pe(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,pe(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}function Fo(){he.addLatest(Game.computedMouseCps)}class Wo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}calcSum(e){let t=e;return t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length),0===t?0:this.queue.slice(-t).reduce(((e,t)=>e+t),0)}}function Lo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+Kt;Game.cpsSucked>0&&(o+=Gt),It=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-Ge,i=Math.max(0,Game.cookies-ve)/n,a=Math.max(0,Gt-we)/n,r=Math.max(0,wt[0]-xe)/n,l=Math.max(0,o-Ct)/n,s=(Game.cookieClicks-Me)/n;for(let e=0;e0&&(n=A),n}function jo(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=D;else{t[n].color=Ao(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+mo()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||qt.push([t[n].pp,o])}))}function Ho(){!function(){Xt=1/0,qt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Do(yt,1),Do(bt,10),Do(kt,100),qt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;qt[t][1]>Game.cookies&&(t+=1,qt.length!==t+1););Xt=qt[e.PPExcludeTop][t],jo(yt,1),jo(bt,10),jo(kt,100)}(),Object.keys(Tt).forEach((e=>{Game.cookiesPs?Tt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+mo()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/Tt[e].bonus:Tt[e].pp=Game.Upgrades[e].getPrice()/Tt[e].bonus,Number.isNaN(Tt[e].pp)&&(Tt[e].pp=1/0),Tt[e].color=Ao(Tt[e],Game.Upgrades[e].getPrice())}))}function Uo(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),Qe=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(Ue)*He*function(){let e=0;if(ao("Heavenly chip secret")&&(e+=.05),ao("Heavenly cookie stand")&&(e+=.2),ao("Heavenly bakery")&&(e+=.25),ao("Heavenly confectionery")&&(e+=.25),ao("Heavenly key")&&(e+=.25),e*=1+.05*oo("Dragon God"),ao("Lucky digit")&&(e*=1.01),ao("Lucky number")&&(e*=1.01),ao("Lucky payout")&&(e*=1.01),Game.hasGod){const t=ro("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=io("cps"),ao("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];ao(o.name)&&("function"==typeof o.power?e*=1+.01*eo[o.name].power(eo[o.name]):e*=1+.01*o.power)})),ao("Specialized chocolate chips")&&(e*=1.01),ao("Designer cocoa beans")&&(e*=1.02),ao("Underworld ovens")&&(e*=1.03),ao("Exotic nuts")&&(e*=1.04),ao("Arcane sugar")&&(e*=1.05),ao("Increased merriness")&&(e*=1.15),ao("Improved jolliness")&&(e*=1.15),ao("A lump of coal")&&(e*=1.01),ao("An itchy sweater")&&(e*=1.01),ao("Santa's dominion")&&(e*=1.2),ao("Fortune #100")&&(e*=1.01),ao("Fortune #101")&&(e*=1.07),ao("Dragon scale")&&(e*=1.03);let o=1;if(ro){let t=ro("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=ro("ages"),1===t?e*=1+.15*Math.sin(w/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(w/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(w/1e3/86400*Math.PI*2)),t=ro("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=ro("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=ro("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}ao("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=De/25;let i=1;if(ao("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*oo("Breath of Milk"),ro){const e=ro("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=io("milk");let a=1;ao("Kitten helpers")&&(a*=1+.1*n*i),ao("Kitten workers")&&(a*=1+.125*n*i),ao("Kitten engineers")&&(a*=1+.15*n*i),ao("Kitten overseers")&&(a*=1+.175*n*i),ao("Kitten managers")&&(a*=1+.2*n*i),ao("Kitten accountants")&&(a*=1+.2*n*i),ao("Kitten specialists")&&(a*=1+.2*n*i),ao("Kitten experts")&&(a*=1+.2*n*i),ao("Kitten consultants")&&(a*=1+.2*n*i),ao("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),ao("Kitten marketeers")&&(a*=1+.15*n*i),ao("Kitten analysts")&&(a*=1+.125*n*i),ao("Kitten executives")&&(a*=1+.115*n*i),ao("Kitten angels")&&(a*=1+.1*n*i),ao("Fortune #103")&&(a*=1+.05*n*i),Object.keys(Zt).forEach((e=>{const t=Zt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&ao("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),Xe+=t.amount*a})),ao('"egg"')&&(Xe+=9),e*=a;let r=1;if(ao("Chicken egg")&&(r*=1.01),ao("Duck egg")&&(r*=1.01),ao("Turkey egg")&&(r*=1.01),ao("Quail egg")&&(r*=1.01),ao("Robin egg")&&(r*=1.01),ao("Ostrich egg")&&(r*=1.01),ao("Cassowary egg")&&(r*=1.01),ao("Salmon roe")&&(r*=1.01),ao("Frogspawn")&&(r*=1.01),ao("Shark egg")&&(r*=1.01),ao("Turtle egg")&&(r*=1.01),ao("Ant larva")&&(r*=1.01),ao("Century egg")){let e=10*Math.floor((x-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),gt=1+.1*(1-(1-e/100)**3),r*=gt}e*=r,ao("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+oo("Radiant Appetite");const l=Xe*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&$o(Game.CpsAchievements[e].name)})),qe=l;const{n:s}=Game.shimmerTypes.golden,c=oo("Dragon's Fortune");for(let t=0;t{ao(e[o])&&(t+=.1)}))}e*=t}if(ao("Shimmering veil [off]")){let t=.5;ao("Reinforced membrane")&&(t+=.1),e*=1+t}ao("Magic shenanigans")&&(e*=1e3),ao("Occult obstruction")&&(e*=0),Xe=Game.runModHookOnValue("cps",Xe),e*=Bo(),Xe*=e}const Io=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],zo=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Vo=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],_o=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],Qo=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function Xo(e){return to[e]?to[e].won:0}function qo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{ao(Game.GrandmaSynergies[t])&&(e+=1)})),!Xo("Elder")&&e>=7&&$o("Elder"),!Xo("Veteran")&&e>=14&&$o("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(Zt).forEach((e=>{t+=Zt[e].amount,i=Math.min(Zt[e].amount,i),Xo("Mathematician")||Zt[e].amount=1&&$o("One with everything"),1===o&&$o("Mathematician"),1===n&&$o("Base 10"),i>=100&&$o("Centennial"),i>=150&&$o("Centennial and a half"),i>=200&&$o("Bicentennial"),i>=250&&$o("Bicentennial and a half"),i>=300&&$o("Tricentennial"),i>=350&&$o("Tricentennial and a half"),i>=400&&$o("Quadricentennial"),i>=450&&$o("Quadricentennial and a half"),i>=500&&$o("Quincentennial"),i>=550&&$o("Quincentennial and a half"),i>=600&&$o("Sexcentennial"),t>=100&&$o("Builder"),t>=500&&$o("Architect"),t>=1e3&&$o("Engineer"),t>=2e3&&$o("Lord of Constructs"),t>=4e3&&$o("Grand design"),t>=8e3&&$o("Ecumenopolis"),Ae>=20&&$o("Enhancer"),Ae>=50&&$o("Augmenter"),Ae>=100&&$o("Upgrader"),Ae>=200&&$o("Lord of Progress"),Ae>=300&&$o("The full picture"),Ae>=400&&$o("When there's nothing left to add"),t>=4e3&&Ae>=300&&$o("Polymath"),t>=8e3&&Ae>=400&&$o("Renaissance baker"),Zt.Cursor.amount+Zt.Grandma.amount>=777&&$o("The elder scrolls");let a=!0;Object.keys(zo).forEach((e=>{ao(zo[e])||(a=!1)})),a&&$o("Spooky cookies");let r=!0;if(Object.keys(Vo).forEach((e=>{ao(Vo[e])||(r=!1)})),r&&$o("Let it snow"),ao("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{ao(e[o].name)&&(t+=1)})),t>=e.length&&$o("O Fortuna")}}function Yo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){Mo(),Zt[e].amount+=t;const o=Zt[e];"Cursor"===e?(o.amount>=1&&$o("Click"),o.amount>=2&&$o("Double-click"),o.amount>=50&&$o("Mouse wheel"),o.amount>=100&&$o("Of Mice and Men"),o.amount>=200&&$o("The Digital"),o.amount>=300&&$o("Extreme polydactyly"),o.amount>=400&&$o("Dr. T"),o.amount>=500&&$o("Thumbs, phalanges, metacarpals"),o.amount>=600&&$o("With her finger and her thumb"),o.amount>=700&&$o("Gotta hand it to you"),o.amount>=800&&$o("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&$o(Game.Objects[o.name].tieredAchievs[e].name)}));const n=De;return Ro(),qo(),n!==De&&Ro(),Xe-Game.cookiesPs}(o,e),1!==e&&(Fe=1)})),t}function Ko(){Object.keys(Game.Objects).forEach((e=>{yt[e].price=Uo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),bt[e].price=Uo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),kt[e].price=Uo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Jo(){yt=Yo(1),bt=Yo(10),kt=Yo(100),Tt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){Mo(),"Shimmering veil [on]"===eo[e].name?eo["Shimmering veil [off]"].bought=0:"Golden switch [on]"===eo[e].name?eo["Golden switch [off]"].bought=0:eo[e].bought=(eo[e].bought+1)%2,Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Ae+=1),"Elder Pledge"===e?(je+=1,je>0&&$o("Elder nap"),je>=5&&$o("Elder slumber")):"Elder Covenant"===e?$o("Elder calm"):"Prism heart biscuits"===e?$o("Lovely cookies"):"Heavenly key"===e&&$o("Wholesome");const t=De;Ro(),qo(),t!==De&&Ro();const o=function(){let e=0;ao("Thousand fingers")&&(e+=.1),ao("Million fingers")&&(e*=5),ao("Billion fingers")&&(e*=10),ao("Trillion fingers")&&(e*=20),ao("Quadrillion fingers")&&(e*=20),ao("Quintillion fingers")&&(e*=20),ao("Sextillion fingers")&&(e*=20),ao("Septillion fingers")&&(e*=20),ao("Octillion fingers")&&(e*=20),ao("Nonillion fingers")&&(e*=20);let t=0;Object.keys(Zt).forEach((e=>{t+=Zt[e].amount})),t-=Zt.Cursor.amount,e*=t,ao("Plastic mouse")&&(e+=.01*Xe),ao("Iron mouse")&&(e+=.01*Xe),ao("Titanium mouse")&&(e+=.01*Xe),ao("Adamantium mouse")&&(e+=.01*Xe),ao("Unobtainium mouse")&&(e+=.01*Xe),ao("Eludium mouse")&&(e+=.01*Xe),ao("Wishalloy mouse")&&(e+=.01*Xe),ao("Fantasteel mouse")&&(e+=.01*Xe),ao("Nevercrack mouse")&&(e+=.01*Xe),ao("Armythril mouse")&&(e+=.01*Xe),ao("Technobsidian mouse")&&(e+=.01*Xe),ao("Plasmarble mouse")&&(e+=.01*Xe),ao("Miraculite mouse")&&(e+=.01*Xe),ao("Fortune #104")&&(e+=.01*Xe);let o=1;if(ao("Santa's helpers")&&(o*=1.1),ao("Cookie egg")&&(o*=1.1),ao("Halo gloves")&&(o*=1.1),ao("Dragon claw")&&(o*=1.03),ao("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,ao("Luminous gloves")?20:10)),o*=io("click"),Zt.Temple.minigameLoaded&&ro){const e=ro("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*oo("Dragon Cursor");let n=o*Game.ComputeCps(1,ao("Reinforced index finger")+ao("Carpal tunnel prevention cream")+ao("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[Xe-Game.cookiesPs,o]:[Xe-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(Tt[t]={bonus:Game.cookiesPs-Te},1===e.CalcWrink?Tt[t].bonus-=Se:2===e.CalcWrink&&(Tt[t].bonus-=Pe),Number.isFinite(Tt[t].bonus)||(Tt[t].bonus=0)):(Tt[t]={},o[0]&&(Tt[t].bonus=o[0]),o[1]&&(Tt[t].bonusMouse=o[1]))}))}function Zo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Ft=Zo(7,e,ut),Nt=2*Ft[1]/ut,Ot=Ft[2]/60/60/6/pt,At=Zo(6,e,mt),Wt=2*At[1]/mt,Lt=At[2]/60/60/6/pt,Ht=Zo(7,7*e,ut),jt=2*Ht[1]/ut,Dt=Ht[2]/60/60/6/pt,Rt=Zo(6,7*e,mt),Ut=2*Rt[1]/mt,$t=Rt[2]/60/60/6/pt}function tn(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Ne,i=Math.max(0,o-Oe)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?Bt+=e:"cookie"===o.pool?Et+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(Pt+=e)}}))}function nn(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),ft=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(ft*=2)}}function an(){et=900*dt/.15,et*=pt;const e=Bo();e>0?et/=e:et=0,tt=ut*(.15*et)+13,ot=mt*(.15*et)+13,nt=7*et,it=ut*(.15*nt)+13,at=mt*(.15*nt)+13,rt=2*et,lt=.15*rt,st=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountst&&(st=2*Game.Objects[e].price,ct=e)}))}function rn(){let e=1,t=1,o=1;ao("Green yeast digestives")&&(o*=1.01),ao("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),ut=o*e,mt=o*t,pt=1,0===Game.shimmerTypes.golden.n&&(pt*=1+1.23*Game.auraMult("Dragon's Fortune"))}function ln(){Gt=0,vt=0,wt=[0,null];for(let e=0;ewt[0]&&(wt=[t,e]))}}function sn(){ko(),ln(),an(),rn(),en(),on(),nn(),ge=new Wo(J[J.length-1]),fe=new Wo(J[J.length-1]),Ce=new Wo(J[J.length-1]),ye=new Wo(J[J.length-1]),be=new Wo(Z[Z.length-1]),ke=new Wo(5),he=new Wo(20*Z[Z.length-1]),tn(),Lo(),Jo(),Ko(),Ho()}const cn={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,MissingAchievements:0,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,FavouriteSettings:1,Header:{Favourite:1,Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},dn=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function pn(){1===e.BotBar?(l("CMBotBar").style.display="",fo()):l("CMBotBar").style.display="none",yo()}function un(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),fo(),co(),po()}function mn(){1===e.Favicon&&y>0?Vt.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class hn{constructor(e,t){this.type=e,this.group=t}}class gn extends hn{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class fn extends hn{constructor(e,t,o){super(e,t),this.desc=o}}class Cn extends hn{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class yn extends hn{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const bn={CPSMode:new gn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new gn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new gn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new gn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){_e=!0})),Scale:new gn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Abbreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){un()})),ScaleDecimals:new gn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){un()})),ScaleSeparator:new gn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){un()})),ScaleCutoff:new yn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new gn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new gn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=V:Game.sayTime=B.sayTime})),PPDisplayTime:new gn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new gn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){co()})),PPOnlyConsiderBuyable:new gn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new gn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new gn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new yn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),ColourBlue:new fn("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new fn("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new fn("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new fn("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new fn("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new fn("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new fn("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new fn("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new fn("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new gn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){pn()})),TimerBar:new gn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){bo()})),TimerBarPos:new gn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),yo()})),TimerBarOverlay:new gn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new gn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",po()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",po()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new gn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new gn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){co()})),SortUpgrades:new gn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){po()})),DragonAuraInfo:new gn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new gn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new gn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(se).forEach((e=>{se[e].style.display="block",se[e].style.left=Yt[e].l.style.left,se[e].style.top=Yt[e].l.style.top})):Object.keys(se).forEach((e=>se[e].style.display="none"))})),Favicon:new gn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){mn()})),WrinklerButtons:new gn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new gn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new gn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new gn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new gn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new gn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new gn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new gn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new gn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new yn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new gn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new gn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){Eo()})),TooltipGrim:new gn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new gn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new gn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new gn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new gn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new gn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new gn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new gn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in statistics menu",!0),MissingAchievements:new gn("bool","Statistics",["Missing Achievements OFF","Missing Normal Achievements ON"],"Shows missing normal achievements in statistics menu.",!1),UpStats:new gn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new yn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new gn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new gn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new gn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new gn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){dn(e.GCNotification)})),GCFlash:new gn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new fn("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new gn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new Cn("vol","NotificationGC",[],"Volume"),GCSoundURL:new gn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new gn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){dn(e.FortuneNotification)})),FortuneFlash:new gn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new fn("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new gn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new Cn("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new gn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new gn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){dn(e.SeaNotification)})),SeaFlash:new gn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new fn("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new gn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new Cn("vol","NotificationSea",[],"Volume"),SeaSoundURL:new gn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new gn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new fn("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new gn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new Cn("vol","NotificationGard",[],"Volume"),GardSoundURL:new gn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new gn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){dn(e.MagicNotification)})),MagicFlash:new gn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new fn("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new gn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new Cn("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new gn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new gn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){dn(e.WrinklerNotification)})),WrinklerFlash:new gn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new fn("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new gn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new Cn("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new gn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new gn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){dn(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new gn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new fn("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new gn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new Cn("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new gn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new gn("bool","Miscellaneous",["Block bulk buying OFF","Block bulk buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0),FavouriteSettings:new gn("bool","Miscellaneous",["Favourite settings section OFF","Favourite settings section ON","Favourite settings section ON (Locked)"],"Show stars before each setting which allows selecting it for a 'favourites' section at the top of the Cookie Monster settings. Setting this to Locked removes the stars but shows the 'favourites' section",!0,(function(){Game.UpdateMenu()}))};function kn(){return JSON.stringify({favouriteSettings:de,settings:e,version:"2.031.6"})}function Gn(){if(Je!==Game.dragonLevel||_e){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{Zt[e]=wo(e)})),eo=[],Object.keys(Game.Upgrades).forEach((e=>{eo[e]=xo(e)})),to=[],Object.keys(Game.Achievements).forEach((e=>{to[e]=Go(e)})),Mo()}let xn=!1;function Mn(t,o,n){(1===e[o]||n)&&3===t&&!1===xn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){Mn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){Mn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){Mn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function Tn(t,o,n,i){if((1===e[o]||i)&&!1===xn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function Sn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===xn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function Pn(){if(re!==Game.OnAscend&&(re=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(pn(),bo()),Co()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(wn(),sn(),r=Object.keys(Game.mods).length),_e&&(Jo(),Game.Has("Golden switch [off]")?(Mo(),eo["Golden switch [off]"].bought=0,Ro(),dt=Xe):dt=Game.cookiesPs,rn(),an(),on(),en(),Gn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Jt[e][t]=vn(e,t)}(),nn(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;Mo();let t=2;5!==$e&&18!==$e||(t-=1),5!==Re&&18!==Re||(t-=1),$e=5,Re=18;for(let e=0;e{Zt[t].amount>0&&(e=t)})),Zt[e].amount-=1,Le-=1}return Object.keys(Zt).forEach((t=>{const o=Zt[t];e+=so(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),Kt=e}(),_e=0);const t=Game.auraMult("Fierce Hoarder")>0;!We&&t?(We=!0,Fe=1):We&&!t&&(We=!1,Fe=1),Fe&&(Ko(),Fe=0),function(){ln(),Ho(),function(){xt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(Zt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}Mt=e,xt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Lo(),tn();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);Qt=ue(e/uo())}(),G=0,Yt={},Object.keys(Game.shimmers).forEach((e=>{Yt[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(Vt=Game.shimmers[e],G+=1)})),Object.keys(se).forEach((e=>{void 0===Yt[e]&&(se[e].parentNode.removeChild(se[e]),delete se[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===se[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},se[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),mn(),b=G,0===G&&(Vt=0)):1===e.GCTimer&&y&&Object.keys(se).forEach((e=>{se[e].style.opacity=Yt[e].l.style.opacity,se[e].style.transform=Yt[e].l.style.transform,se[e].textContent=Math.ceil(Yt[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(Mn(3,"FortuneFlash",!1),Tn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),Sn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&(_t=Game.shimmers[e])})),Mn(3,"SeaFlash",!1),Tn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),Sn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>v?(v=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?Mn(3,"WrinklerMaxFlash",!1):Mn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?Tn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):Tn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?Sn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):Sn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):v=t}}()}}function Bn(){let t="";for(let o=0;o<$.length;o++)t+=`.CMText${$[o]} { color: ${e[`Colour${$[o]}`]}; }\n`;for(let o=0;o<$.length;o++)t+=`.CMBack${$[o]} { background-color: ${e[`Colour${$[o]}`]}; }\n`;for(let o=0;o<$.length;o++)t+=`.CMBorder${$[o]} { border: 1px solid ${e[`Colour${$[o]}`]}; }\n`;l("CMCSS").textContent=t,co()}function En(){const e=b64_to_utf8(unescape(localStorage.getItem("CookieClickerGame")).split("!END!")[0]),t=e.match(/CookieMonster.*(;|$)/);if(null!==t){const o=e.replace(t[0],`CookieMonster:${kn()}`);localStorage.setItem("CookieClickerGame",escape(`${utf8_to_b64(o)}!END!`))}}function Nn(t){if(void 0!==localStorage.CMConfig&&delete localStorage.CMConfig,void 0!==t){e=t,void 0!==e.Colors&&delete e.Colors,void 0!==e.Colours&&delete e.Colours;let o=!1;Object.keys(cn).forEach((t=>{void 0===e[t]?(o=!0,e[t]=cn[t]):"Header"===t&&Object.keys(cn.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=cn[t][n])}))})),o&&En(),Pn(),Object.keys(cn).forEach((e=>{"Header"!==e&&void 0!==bn[e].func&&bn[e].func()}))}else Nn(cn);Game.UpdateMenu(),Bn()}function On(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Fn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Uo(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${pe(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${me((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(pe(Game.Objects[o].bulkPrice)).join(pe((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return ne=t,ie=o,No(),l("tooltip").innerHTML}function Wn(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(S[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function Ln(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),En()}function Rn(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){$n(o),Game.UpdateMenu()},n.appendChild(i),n}function In(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(I[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function zn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function Vn(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(Rn("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+mo(){Game.HasUnlocked(Qo[e])||c.push(Qo[e])})),0!==c.length&&e.appendChild(In("basic","Rare plant drops left to unlock",zn(c))),e}())),o.appendChild(Rn("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige(It+Game.cookiesReset+Gt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?Ct:0)));t.appendChild(In("withTooltip","Prestige level (cur / max)",document.createTextNode(`${pe(Game.prestige)} / ${pe(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-(It+Game.cookiesReset+Gt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&&Ct?Ct:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(pe(n)));const a=document.createElement("small");a.textContent=` (${ue(n/zt,1)})`,i.appendChild(a),t.appendChild(In("withTooltip","Cookies to next level",i,"NextPrestTooltipPlaceholder")),t.appendChild(In("withTooltip","Heavenly chips (cur / max)",document.createTextNode(`${pe(Game.heavenlyChips)} / ${pe(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild(In("basic","Heavenly chips per second (last 5 seconds)",document.createTextNode(pe(ht,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild(In("basic","Heavenly chips to target set in settings (cur)",document.createTextNode(pe(e)))),t.appendChild(In("basic","Time till target (cur, current 5 second average)",document.createTextNode(ue(e/ht)))))}const l=function(e){let t=Game.cookiesPs;Mo(),0===eo["Heavenly key"].bought&&(eo["Heavenly chip secret"].bought=1,eo["Heavenly cookie stand"].bought=1,eo["Heavenly bakery"].bought=1,eo["Heavenly confectionery"].bought=1,eo["Heavenly key"].bought=1,Ro(),t=Xe,Mo()),It>=1e6&&$o("Sacrifice"),It>=1e9&&$o("Oblivion"),It>=1e12&&$o("From scratch"),It>=1e15&&$o("Nihilism"),It>=1e18&&$o("Dematerialize"),It>=1e21&&$o("Nil zero zilch"),It>=1e24&&$o("Transcendence"),It>=1e27&&$o("Obliterate"),It>=1e30&&$o("Negative void"),It>=1e33&&$o("To crumbs, you say?"),It>=1e36&&$o("You get nothing"),It>=1e39&&$o("Humble rebeginnings"),It>=1e42&&$o("The end of the world"),It>=1e45&&$o("Oh, you're back"),It>=1e48&&$o("Lazarus"),It>=1e51&&$o("Smurf account"),It>=1e54&&$o("If at first you don't succeed"),eo["Heavenly chip secret"].bought=1,eo["Heavenly cookie stand"].bought=1,eo["Heavenly bakery"].bought=1,eo["Heavenly confectionery"].bought=1,eo["Heavenly key"].bought=1,Ue=e;const o=De;Ro(),qo(),o!==De&&Ro();const n=Xe-t;return Ue=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(pe(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(In("withTooltip","Reset bonus income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(In("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(In("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(In("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(Rn("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${pe(Gt)} / ${pe(vt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){On()},e.appendChild(t),o.appendChild(In("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${pe(wt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==wt[1]&&(Game.wrinklers[wt[1]].hp=0)},n.appendChild(i),o.appendChild(In("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==wt[1]?wt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(zo).forEach((e=>{Game.Has(zo[e])||(n.push(zo[e]),o=!0)}));const i=[];Object.keys(Vo).forEach((e=>{Game.Has(Vo[e])||(i.push(Vo[e]),o=!0)}));const a=[];Object.keys(_o).forEach((e=>{Game.Has(_o[e])||(a.push(_o[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(Rn("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(In("basic","Halloween cookies left to buy",zn(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild(In("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${pe((1-e)*o*100)}% / ${pe((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild(In("basic","Christmas cookies left to buy",zn(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild(In("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${pe((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild(In("basic","Valentine cookies left to buy",zn(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(In("basic","Normal easter eggs left to unlock",zn(r))),t.appendChild(In("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${pe(100*e(.98)[0])}% / ${pe(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(In("basic","Rare easter eggs left to unlock",zn(l))),t.appendChild(In("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${pe(100*e(.98)[1])}% / ${pe(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild(In("basic","Reindeer reward",document.createTextNode(pe(ft)))),s&&t.appendChild(In("withTooltip","Chocolate egg cookies",document.createTextNode(pe(Ct)),"ChoEggTooltipPlaceholder")),c&&t.appendChild(In("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(gt-1))/100+"%")))}return t}()),o.appendChild(Rn("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(In("basic",`Average cookies per second (past ${J[e.AvgCPSHist]<60?`${J[e.AvgCPSHist]} seconds`:J[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(pe(uo(),3)))),o.appendChild(In("basic",`Average cookie clicks per second (past ${Z[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(pe(St,1)))),o.appendChild(In("basic",`Cookies from clicking (past ${Z[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(pe(he.calcSum(St*Z[e.AvgClicksHist]))))),Game.Has("Fortune cookies")){const e=[];Object.keys(Io).forEach((t=>{Game.Has(Io[t])||e.push(Io[t])})),0!==e.length&&o.appendChild(In("basic","Fortune Upgrades Left to Buy",zn(e)))}if(e.ShowMissedGC&&o.appendChild(In("basic","Missed golden cookies",document.createTextNode(pe(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(In("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&Bt){const t=Bt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Bt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(Pt){const t=Pt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Pt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Et){const t=Et.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Et,e.appendChild(i)}}})),e.MissingAchievements&&function(){let t;Object.values(document.querySelectorAll("div.title")).forEach((e=>{e.textContent.includes("Achievements")&&(t=e.parentElement.querySelectorAll("div.listing.crateBox")[0])})),e.MissingAchievements&&Object.values(t.children).forEach((e=>{if(!e.className.includes("enabled")){const t=e.onclick.toString().match(/(?<=\[).*(?=\])/g)[0],{icon:o}=Game.AchievementsById[t];e.style.backgroundPosition=`${48*-o[0]}px ${48*-o[1]}px`,e.onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return function(e){const t=[];"shadow"===e.pool?t.push("Shadow Achievement","#9700cf"):t.push("Achievement",0),t.push("Locked",0);let o=0;(Game.Has("Neuromancy")||Game.sesame&&"debug"===e.pool)&&(o=1),o&&0===e.won?t.push("Click to win!","#00c462"):o&&e.won>0&&t.push("Click to lose!","#00c462");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());let{desc:i}=e;e.descFunc&&(i=e.descFunc("stats"));let a="";for(let e=0;e[${t[e]}]`);return a=a.substring(1),`
\n
\n
${e.name}
\n ${a}
${i}
\n ${Game.sesame?`
Id : ${e.id} | Order : ${Math.floor(e.order)}${e.tier?` | Tier : ${e.tier}`:""}
`:""}`}(Game.AchievementsById[t])}),"top"),Game.tooltip.wobble())}}}))}()}const _n={Favourite:"Favourite Settings",Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},Qn={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function Xn(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){$n(t),Game.UpdateMenu()},n.appendChild(i),n}function qn(t){const o=document.createElement("div");if(o.className="listing",1===e.FavouriteSettings&&o.appendChild(function(e){const t=document.createElement("a");return de.includes(e)?(t.innerText="★",t.style.color="yellow"):t.innerText="☆",t.className="option",t.onclick=function(){!function(e){de.includes(e)?de=de.filter((function(t){return t!==e})):de.push(e)}(e),En(),Game.UpdateMenu()},t.onmouseover=function(){Game.tooltip.draw(this,escape(I.FavouriteSettingPlaceholder.innerHTML))},t.onmouseout=function(){Game.tooltip.hide()},t.appendChild(document.createTextNode(" ")),t}(t)),"bool"===bn[t].type){const n=document.createElement("a");bn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=Hn+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===bn[t].label.length?(e[t]=0,bn[t].toggle&&(l(Hn+t).className="option off")):l(Hn+t).className="option",void 0!==bn[t].func&&bn[t].func(),l(Hn+t).innerHTML=bn[t].label[e[t]],En()}(t)},n.textContent=bn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=bn[t].desc,i.style.lineHeight="1.6",o.appendChild(i),o}if("vol"===bn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=bn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Un(t)},r.onchange=function(){Un(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){Tn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===bn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${bn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=Hn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${Hn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){!function(e,t){Game.promptWrapL.className="framed";const o=e;Game.promptL.innerHTML=`${o}
`,Object.keys(t).forEach((e=>{const o=document.createElement("a");o.id=`promptOption${e}`,o.className="option",o.onclick=function(){PlaySound("snd/tick.mp3"),t[e][1]()},o.textContent=t[e][0],Game.promptL.children[1].appendChild(o)})),Game.promptAnchorL.style.display="block",Game.darkenL.style.display="block",Game.promptL.focus(),Game.promptOn=1,Game.UpdatePrompt()}(a.outerHTML,[["Save",function(){e[t]=l(`CMConfig${t}Prompt`).value,En(),Game.ClosePrompt(),Game.UpdateMenu()}],["Cancel",function(){Game.ClosePrompt()}]])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=bn[t].desc,s.style.lineHeight="1.6",o.appendChild(s),o}if("colour"===bn[t].type){const n=document.createElement("span");n.className="option";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new jn(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),Bn(),En(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=bn[t].desc,a.style.lineHeight="1.6",n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){Mn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),Dn().init(),o}if("numscale"===bn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${bn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=Hn+t,i.className="option",i.type="number",i.value=e[t],i.min=bn[t].min,i.max=bn[t].max,i.oninput=function(){e[t]=this.value,En(),un()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=bn[t].desc,a.style.lineHeight="1.6",o.appendChild(a),o}return o}function Yn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function Kn(){B.Beautify=Beautify,Beautify=pe,B.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){B.CalculateGains(),_e=1,w=Date.now(),x=Date.now()},B.tooltip={},B.tooltip.draw=Game.tooltip.draw,B.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){B.tooltip.drawMod(e,t,o)},B.tooltip.update=Game.tooltip.update,B.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){B.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},B.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){Yn(B.UpdateWrinklers)},B.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){Yn(B.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){Yn(Game.ClickCookie)}),!1),B.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){B.RebuildUpgrades(),P=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(P[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},B.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e].amount>0){const o=Zt[Game.ObjectsById[e].name].name;Zt[o].amount-=1,Le-=1,t=Zt[o].basePrice*Game.priceIncrease**Math.max(0,Zt[o].amount-1-Zt[o].free),t=Game.modifyBuildingPrice(Zt[o],t),t=Math.ceil(t);break}const o=De;return Ro(),qo(),o!==De&&Ro(),[Xe-Game.cookiesPs,t]}(t),n=ue(o/(e+Game.cookiesPs)),i=pe(e/Game.cookiesPs*100);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${pe(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},B.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){B.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${Ze}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},B.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==Dn().picker&&void 0!==Dn().picker.owner||(B.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(_n).forEach((t=>{if("Favourite"===t){if(0!==de.length&&e.FavouriteSettings>0&&(o.appendChild(Xn(t,_n[t])),e.Header[t]))for(let e=0;e{const n=Xn(t,Qn[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(bn).forEach((e=>{bn[e].group===t&&o.appendChild(qn(e))}))})):Object.keys(bn).forEach((e=>{bn[e].group===t&&o.appendChild(qn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Nn(cn)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",Vn(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){$n("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},B.sayTime=Game.sayTime,V=function(e,t){return Number.isNaN(e)||e<=0?B.sayTime(e,t):ue(e/Game.fps,1)},B.Logic=Game.Logic,Game.Logic=function(){B.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),ce=`${Game.OnAscend?"Ascending! ":""}${pe(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=ce;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=Vt?Vt.wrath?`[W${Math.ceil(Vt.life/Game.fps)}]`:`[G${Math.ceil(Vt.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil(_t.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=ce;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;Vt&&(t=!0,Vt.wrath?e+=`[W${Math.ceil(Vt.life/Game.fps)}]`:e+=`[G${Math.ceil(Vt.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil(_t.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${pe(Game.prestige)}.
(CpS +${pe(Game.prestige)}%)`,n+='
'),n+=Oe<1?"Ascending now would grant you no prestige.":Oe<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${pe(Oe)} prestige levels (+${pe(Oe)}% CpS)
and ${pe(Oe)} heavenly chips to spend.`,n+='
',n+=`You need ${pe(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${Qt} to reach the next level and you were making ${pe(ht,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Jn(){wn(),an(),sn(),r=Object.keys(Game.mods).length,M=document.createElement("style"),M.type="text/css",M.id="CMCSS",document.head.appendChild(M),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=E+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",W)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",O)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",O)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",O)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{go(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=ho("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:D},{id:"CMTimerBarGCBar",color:j}]);e.appendChild(t);const o=ho("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:D},{id:"CMTimerBarRenBar",color:L}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=N+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(O,"Better than the best PP of a building option")),e.appendChild(o(F,"Same as the best PP building option")),e.appendChild(o(W,"Within the top 10 of PP for buildings")),e.appendChild(o(L,"Within the top 20 of PP for buildings")),e.appendChild(o(A,"Within the top 30 of PP for buildings")),e.appendChild(o(j,"Outside of the top 30 of PP for buildings")),e.appendChild(o(D,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=E+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",O)),e.appendChild(o("CMUpgradeBarGreen",F)),e.appendChild(o("CMUpgradeBarYellow",W)),e.appendChild(o("CMUpgradeBarOrange",L)),e.appendChild(o("CMUpgradeBarRed",A)),e.appendChild(o("CMUpgradeBarPurple",j)),e.appendChild(o("CMUpgradeBarGray",D)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(R).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),I[e]=n}(R[e][0],R[e][1],R[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){On()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==wt[1]&&(Game.wrinklers[wt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(T[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),Wn(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),An()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){_=1},l("backgroundLeftCanvas").onmouseout=function(){_=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{X[e]=0}))},Kn(),An(),Game.CalculateGains(),Nn(),z=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const Zn={init:function(){xn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Jn(),Game.registerHook("draw",Oo),Game.registerHook("logic",Pn),Game.registerHook("click",Fo),xn=!1)},load:function(e){const t=JSON.parse(e);wn(),void 0!==t.favouriteSettings&&(de=t.favouriteSettings),Nn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:kn};Game.registerMod("CookieMonster",Zn)})()})(); diff --git a/dist/CookieMonster.js b/dist/CookieMonster.js index 74d19ed..eda6870 100644 --- a/dist/CookieMonster.js +++ b/dist/CookieMonster.js @@ -1,2 +1,2 @@ /*! For license information please see CookieMonster.js.LICENSE.txt */ -(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,v,w,x,T,M=[],S=[],P=[],B={};const E="CMText",N="CMBack",O="Blue",F="Green",W="Yellow",L="Orange",A="Red",j="Purple",D="Gray",H="Pink",U="Brown",$=[D,O,F,W,L,A,j,H,U],R=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"],["FavouriteSettingPlaceholder","Click to set this setting as favourite and show it in 'favourite' settings at the top of the Cookie Monster Settings","250px"]],I={};let z,V,_=0,Q=-1,X=[],q=1,Y=1,K=1;const J=[10,15,30,60,300,600,900,1800],Z=[1,5,10,15,30],ee={Frenzy:W,"Dragon Harvest":U,"Elder frenzy":F,Clot:A,"Click frenzy":O,Dragonflight:H};let te,oe,ne,ie,ae,re,le,se={},ce="",de=[];function pe(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return B.Beautify(t,o);if(Number.isFinite(t)){if(t<0)return`-${pe(Math.abs(t))}`;let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function me(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=F):(n=ue(t),o=t>300?A:t>60?L:W),{text:n,color:o}}let he,ge,fe,Ce,ye,be,ke,Ge,ve,we,xe,Te,Me,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Ue,$e,Re,Ie,ze,Ve,_e,Qe,Xe,qe,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=0,st=0,ct=0,dt=0,pt=1,ut=1,mt=1,ht=0,gt=0,ft=0,Ct=0,yt={},bt={},kt={},Gt=0,vt=0,wt=[0,null],xt=0,Tt=0,Mt={},St={},Pt={},Bt={},Et={},Nt=0,Ot=0,Ft=[],Wt=0,Lt=0,At=[],jt=0,Dt=0,Ht=[],Ut=0,$t=0,Rt=[],It=0,zt=0,Vt={},_t={},Qt=0,Xt=0,qt=[],Yt={},Kt=0,Jt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},Zt=[],eo=[],to=[];function oo(e){let t=0;return Game.dragonAuras[$e].name!==e&&Game.dragonAuras[Re].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[$e].name&&"Reality Bending"!==Game.dragonAuras[Re].name||(t+=.1),t}function no(){let e=.25;return e*=1+oo("Earth Shatterer"),e}function io(e,t){return void 0===Qe[e]?void 0===t?1:t:Qe[e]}function ao(e){const t=eo[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function ro(e){if(Game.hasGod){void 0===Zt.Temple.minigame&&(Zt.Temple.minigame=Game.Objects.Temple.minigame);const t=Zt.Temple.minigame.gods[e];if(Ie===t.id)return 1;if(ze===t.id)return 2;if(Ve===t.id)return 3}return!1}function lo(e,t){let o=t;if(ao("Season savings")&&(o*=.99),ao("Santa's dominion")&&(o*=.99),ao("Faberge egg")&&(o*=.99),ao("Divine discount")&&(o*=.99),ao("Fortune #100")&&(o*=.99),o*=1-.02*oo("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&ao(e.fortune.name)&&(o*=.93),o*=io("buildingCost"),Zt.Temple.minigameLoaded){const e=ro("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function so(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function co(){let t=Game.buyBulk;if(1===Game.buyMode?Y=t:t=Y,1===t?t=yt:10===t?t=bt:100===t&&(t=kt),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(yt).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=pe(so(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(yt).map((e=>{const t=yt[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return $.indexOf(e.color)>$.indexOf(t.color)?1:$.indexOf(e.color)<$.indexOf(t.color)||e.pp{const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return $.indexOf(e.color)>$.indexOf(t.color)?1:$.indexOf(e.color)<$.indexOf(t.color)||e.pp{const t=yt[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;e$.indexOf(t.color)?1:$.indexOf(e.color)<$.indexOf(t.color)||e.ppe.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?q=i:i=q,1===i&&(i=yt),10===i&&(i=bt),100===i&&(i=kt),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=pe(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=E+i[o].color,n=e.PPDisplayTime?ue(Math.round(i[o].pp)):pe(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=me((Game.Objects[o].bulkPrice-(Game.cookies+mo()))/uo());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=E+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&ao(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(ao(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&ao(e.fortune.name)&&(t*=1.07),e.grandma&&ao(e.grandma.name)&&(t*=1+.01*Zt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&ao(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function wo(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;ao("Thousand fingers")&&(t+=.1),ao("Million fingers")&&(t*=5),ao("Billion fingers")&&(t*=10),ao("Trillion fingers")&&(t*=20),ao("Quadrillion fingers")&&(t*=20),ao("Quintillion fingers")&&(t*=20),ao("Sextillion fingers")&&(t*=20),ao("Septillion fingers")&&(t*=20),ao("Octillion fingers")&&(t*=20),ao("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(Zt).forEach((e=>{"Cursor"!==Zt[e].name&&(n+=Zt[e].amount)})),t*=n,o*=vo(e),o*=Game.magicCpS("Cursor"),o*=io("cursorCps"),Game.ComputeCps(.1,ao("Reinforced index finger")+ao("Carpal tunnel prevention cream")+ao("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{ao(Game.GrandmaSynergies[e])&&(o*=2)})),ao("Bingo center/Research facility")&&(o*=4),ao("Ritual rolling pins")&&(o*=2),ao("Naughty list")&&(o*=2),ao("Elderwort biscuits")&&(o*=1.02),o*=io("grandmaCps"),ao("Cat ladies"))for(let e=0;e{"Grandma"!==Zt[e].name&&(i+=Zt[e].amount)})),o*=1+.01*oo("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=vo(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function xo(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(Zt).forEach((t=>{Zt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(ao("Starlove")&&(e=3),Game.hasGod){const t=ro("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function To(){Ae=Game.UpgradesOwned,je=Game.pledges,De=Game.AchievementsOwned,He=Game.heavenlyPower,Ue=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=Zt[e];void 0===o&&(Zt[e]=wo(e),o=Zt[e],go(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(Ie=t.minigame.slot[0],ze=t.minigame.slot[1],Ve=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),Zt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=eo[e];void 0===o&&(eo[e]=xo(e),o=eo[e]),o.bought=t.bought,eo[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=to[e];void 0===o&&(to[e]=Go(e),o=to[e]),o.won=t.won,to[e]=o})),ko(),$e=Ye,Re=Ke}function Mo(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function So(e){e.appendChild(Mo("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(Mo("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(Mo("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(Mo("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===ne){e.appendChild(Mo("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function Po(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function Eo(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function No(){if(To(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===ne?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(So(l("CMTooltipBorder")),1===Game.buyMode?K=t:t=K,1===Game.buyBulk?t=yt:10===Game.buyBulk?t=bt:100===Game.buyBulk&&(t=kt),te=Game.Objects[ie].bulkPrice,oe=t[ie].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=pe(oe,2);const o=Math.round(oe/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=E+t[ie].color,e.PPDisplayTime?l("CMTooltipPP").textContent=ue(t[ie].pp):l("CMTooltipPP").textContent=pe(t[ie].pp,2),l("CMTooltipPP").className=E+t[ie].color;const n=me((te-(Game.cookies+mo()))/uo());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[ie[1]][ie[0]][0]-1].mature,o=t.plantsById[t.plot[ie[1]][ie[0]][0]-1].name;l("CMTooltipBorder").appendChild(Mo("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${pe(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${pe(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${pe(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${pe(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===ne?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(Mo("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=ho(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==ee[Game.buffs[t].name]?ee[Game.buffs[t].name]:j,a.lastChild.children[1].className=N+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),le!==n&&(le=n,yo())}}(),fo(),No(),function(){if(1===e.TooltipWrink&&1===_){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===X[t]||void 0===X[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),Q=t,X[t]=1}}else X[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[Q],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[Q].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),Zt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=pe(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,pe(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}function Fo(){he.addLatest(Game.computedMouseCps)}class Wo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}calcSum(e){let t=e;return t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length),0===t?0:this.queue.slice(-t).reduce(((e,t)=>e+t),0)}}function Lo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+Kt;Game.cpsSucked>0&&(o+=Gt),It=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-Ge,i=Math.max(0,Game.cookies-ve)/n,a=Math.max(0,Gt-we)/n,r=Math.max(0,wt[0]-xe)/n,l=Math.max(0,o-Ct)/n,s=(Game.cookieClicks-Te)/n;for(let e=0;e0&&(n=A),n}function jo(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=D;else{t[n].color=Ao(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+mo()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||qt.push([t[n].pp,o])}))}function Ho(){!function(){Xt=1/0,qt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Do(yt,1),Do(bt,10),Do(kt,100),qt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;qt[t][1]>Game.cookies&&(t+=1,qt.length!==t+1););Xt=qt[e.PPExcludeTop][t],jo(yt,1),jo(bt,10),jo(kt,100)}(),Object.keys(Mt).forEach((e=>{Game.cookiesPs?Mt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+mo()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/Mt[e].bonus:Mt[e].pp=Game.Upgrades[e].getPrice()/Mt[e].bonus,Number.isNaN(Mt[e].pp)&&(Mt[e].pp=1/0),Mt[e].color=Ao(Mt[e],Game.Upgrades[e].getPrice())}))}function Uo(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),Qe=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(Ue)*He*function(){let e=0;if(ao("Heavenly chip secret")&&(e+=.05),ao("Heavenly cookie stand")&&(e+=.2),ao("Heavenly bakery")&&(e+=.25),ao("Heavenly confectionery")&&(e+=.25),ao("Heavenly key")&&(e+=.25),e*=1+.05*oo("Dragon God"),ao("Lucky digit")&&(e*=1.01),ao("Lucky number")&&(e*=1.01),ao("Lucky payout")&&(e*=1.01),Game.hasGod){const t=ro("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=io("cps"),ao("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];ao(o.name)&&("function"==typeof o.power?e*=1+.01*eo[o.name].power(eo[o.name]):e*=1+.01*o.power)})),ao("Specialized chocolate chips")&&(e*=1.01),ao("Designer cocoa beans")&&(e*=1.02),ao("Underworld ovens")&&(e*=1.03),ao("Exotic nuts")&&(e*=1.04),ao("Arcane sugar")&&(e*=1.05),ao("Increased merriness")&&(e*=1.15),ao("Improved jolliness")&&(e*=1.15),ao("A lump of coal")&&(e*=1.01),ao("An itchy sweater")&&(e*=1.01),ao("Santa's dominion")&&(e*=1.2),ao("Fortune #100")&&(e*=1.01),ao("Fortune #101")&&(e*=1.07),ao("Dragon scale")&&(e*=1.03);let o=1;if(ro){let t=ro("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=ro("ages"),1===t?e*=1+.15*Math.sin(w/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(w/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(w/1e3/86400*Math.PI*2)),t=ro("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=ro("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=ro("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}ao("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=De/25;let i=1;if(ao("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*oo("Breath of Milk"),ro){const e=ro("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=io("milk");let a=1;ao("Kitten helpers")&&(a*=1+.1*n*i),ao("Kitten workers")&&(a*=1+.125*n*i),ao("Kitten engineers")&&(a*=1+.15*n*i),ao("Kitten overseers")&&(a*=1+.175*n*i),ao("Kitten managers")&&(a*=1+.2*n*i),ao("Kitten accountants")&&(a*=1+.2*n*i),ao("Kitten specialists")&&(a*=1+.2*n*i),ao("Kitten experts")&&(a*=1+.2*n*i),ao("Kitten consultants")&&(a*=1+.2*n*i),ao("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),ao("Kitten marketeers")&&(a*=1+.15*n*i),ao("Kitten analysts")&&(a*=1+.125*n*i),ao("Kitten executives")&&(a*=1+.115*n*i),ao("Kitten angels")&&(a*=1+.1*n*i),ao("Fortune #103")&&(a*=1+.05*n*i),Object.keys(Zt).forEach((e=>{const t=Zt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&ao("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),Xe+=t.amount*a})),ao('"egg"')&&(Xe+=9),e*=a;let r=1;if(ao("Chicken egg")&&(r*=1.01),ao("Duck egg")&&(r*=1.01),ao("Turkey egg")&&(r*=1.01),ao("Quail egg")&&(r*=1.01),ao("Robin egg")&&(r*=1.01),ao("Ostrich egg")&&(r*=1.01),ao("Cassowary egg")&&(r*=1.01),ao("Salmon roe")&&(r*=1.01),ao("Frogspawn")&&(r*=1.01),ao("Shark egg")&&(r*=1.01),ao("Turtle egg")&&(r*=1.01),ao("Ant larva")&&(r*=1.01),ao("Century egg")){let e=10*Math.floor((x-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),gt=1+.1*(1-(1-e/100)**3),r*=gt}e*=r,ao("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+oo("Radiant Appetite");const l=Xe*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&$o(Game.CpsAchievements[e].name)})),qe=l;const{n:s}=Game.shimmerTypes.golden,c=oo("Dragon's Fortune");for(let t=0;t{ao(e[o])&&(t+=.1)}))}e*=t}if(ao("Shimmering veil [off]")){let t=.5;ao("Reinforced membrane")&&(t+=.1),e*=1+t}ao("Magic shenanigans")&&(e*=1e3),ao("Occult obstruction")&&(e*=0),Xe=Game.runModHookOnValue("cps",Xe),e*=Bo(),Xe*=e}const Io=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],zo=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Vo=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],_o=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],Qo=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function Xo(e){return to[e]?to[e].won:0}function qo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{ao(Game.GrandmaSynergies[t])&&(e+=1)})),!Xo("Elder")&&e>=7&&$o("Elder"),!Xo("Veteran")&&e>=14&&$o("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(Zt).forEach((e=>{t+=Zt[e].amount,i=Math.min(Zt[e].amount,i),Xo("Mathematician")||Zt[e].amount=1&&$o("One with everything"),1===o&&$o("Mathematician"),1===n&&$o("Base 10"),i>=100&&$o("Centennial"),i>=150&&$o("Centennial and a half"),i>=200&&$o("Bicentennial"),i>=250&&$o("Bicentennial and a half"),i>=300&&$o("Tricentennial"),i>=350&&$o("Tricentennial and a half"),i>=400&&$o("Quadricentennial"),i>=450&&$o("Quadricentennial and a half"),i>=500&&$o("Quincentennial"),i>=550&&$o("Quincentennial and a half"),i>=600&&$o("Sexcentennial"),t>=100&&$o("Builder"),t>=500&&$o("Architect"),t>=1e3&&$o("Engineer"),t>=2e3&&$o("Lord of Constructs"),t>=4e3&&$o("Grand design"),t>=8e3&&$o("Ecumenopolis"),Ae>=20&&$o("Enhancer"),Ae>=50&&$o("Augmenter"),Ae>=100&&$o("Upgrader"),Ae>=200&&$o("Lord of Progress"),Ae>=300&&$o("The full picture"),Ae>=400&&$o("When there's nothing left to add"),t>=4e3&&Ae>=300&&$o("Polymath"),t>=8e3&&Ae>=400&&$o("Renaissance baker"),Zt.Cursor.amount+Zt.Grandma.amount>=777&&$o("The elder scrolls");let a=!0;Object.keys(zo).forEach((e=>{ao(zo[e])||(a=!1)})),a&&$o("Spooky cookies");let r=!0;if(Object.keys(Vo).forEach((e=>{ao(Vo[e])||(r=!1)})),r&&$o("Let it snow"),ao("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{ao(e[o].name)&&(t+=1)})),t>=e.length&&$o("O Fortuna")}}function Yo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){To(),Zt[e].amount+=t;const o=Zt[e];"Cursor"===e?(o.amount>=1&&$o("Click"),o.amount>=2&&$o("Double-click"),o.amount>=50&&$o("Mouse wheel"),o.amount>=100&&$o("Of Mice and Men"),o.amount>=200&&$o("The Digital"),o.amount>=300&&$o("Extreme polydactyly"),o.amount>=400&&$o("Dr. T"),o.amount>=500&&$o("Thumbs, phalanges, metacarpals"),o.amount>=600&&$o("With her finger and her thumb"),o.amount>=700&&$o("Gotta hand it to you"),o.amount>=800&&$o("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&$o(Game.Objects[o.name].tieredAchievs[e].name)}));const n=De;return Ro(),qo(),n!==De&&Ro(),Xe-Game.cookiesPs}(o,e),1!==e&&(Fe=1)})),t}function Ko(){Object.keys(Game.Objects).forEach((e=>{yt[e].price=Uo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),bt[e].price=Uo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),kt[e].price=Uo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Jo(){yt=Yo(1),bt=Yo(10),kt=Yo(100),Mt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){To(),"Shimmering veil [on]"===eo[e].name?eo["Shimmering veil [off]"].bought=0:"Golden switch [on]"===eo[e].name?eo["Golden switch [off]"].bought=0:eo[e].bought=(eo[e].bought+1)%2,eo[e],Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Ae+=1),"Elder Pledge"===e?(je+=1,je>0&&$o("Elder nap"),je>=5&&$o("Elder slumber")):"Elder Covenant"===e?$o("Elder calm"):"Prism heart biscuits"===e?$o("Lovely cookies"):"Heavenly key"===e&&$o("Wholesome");const t=De;Ro(),qo(),t!==De&&Ro();const o=function(){let e=0;ao("Thousand fingers")&&(e+=.1),ao("Million fingers")&&(e*=5),ao("Billion fingers")&&(e*=10),ao("Trillion fingers")&&(e*=20),ao("Quadrillion fingers")&&(e*=20),ao("Quintillion fingers")&&(e*=20),ao("Sextillion fingers")&&(e*=20),ao("Septillion fingers")&&(e*=20),ao("Octillion fingers")&&(e*=20),ao("Nonillion fingers")&&(e*=20);let t=0;Object.keys(Zt).forEach((e=>{t+=Zt[e].amount})),t-=Zt.Cursor.amount,e*=t,ao("Plastic mouse")&&(e+=.01*Xe),ao("Iron mouse")&&(e+=.01*Xe),ao("Titanium mouse")&&(e+=.01*Xe),ao("Adamantium mouse")&&(e+=.01*Xe),ao("Unobtainium mouse")&&(e+=.01*Xe),ao("Eludium mouse")&&(e+=.01*Xe),ao("Wishalloy mouse")&&(e+=.01*Xe),ao("Fantasteel mouse")&&(e+=.01*Xe),ao("Nevercrack mouse")&&(e+=.01*Xe),ao("Armythril mouse")&&(e+=.01*Xe),ao("Technobsidian mouse")&&(e+=.01*Xe),ao("Plasmarble mouse")&&(e+=.01*Xe),ao("Miraculite mouse")&&(e+=.01*Xe),ao("Fortune #104")&&(e+=.01*Xe);let o=1;if(ao("Santa's helpers")&&(o*=1.1),ao("Cookie egg")&&(o*=1.1),ao("Halo gloves")&&(o*=1.1),ao("Dragon claw")&&(o*=1.03),ao("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,ao("Luminous gloves")?20:10)),o*=io("click"),Zt.Temple.minigameLoaded&&ro){const e=ro("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*oo("Dragon Cursor");let n=o*Game.ComputeCps(1,ao("Reinforced index finger")+ao("Carpal tunnel prevention cream")+ao("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[Xe-Game.cookiesPs,o]:[Xe-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(Mt[t]={bonus:Game.cookiesPs-Me},1===e.CalcWrink?Mt[t].bonus-=Se:2===e.CalcWrink&&(Mt[t].bonus-=Pe),Number.isFinite(Mt[t].bonus)||(Mt[t].bonus=0)):(Mt[t]={},o[0]&&(Mt[t].bonus=o[0]),o[1]&&(Mt[t].bonusMouse=o[1]))}))}function Zo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Ft=Zo(7,e,ut),Nt=2*Ft[1]/ut,Ot=Ft[2]/60/60/6/pt,At=Zo(6,e,mt),Wt=2*At[1]/mt,Lt=At[2]/60/60/6/pt,Ht=Zo(7,7*e,ut),jt=2*Ht[1]/ut,Dt=Ht[2]/60/60/6/pt,Rt=Zo(6,7*e,mt),Ut=2*Rt[1]/mt,$t=Rt[2]/60/60/6/pt}function tn(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Ne,i=Math.max(0,o-Oe)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?Bt+=e:"cookie"===o.pool?Et+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(Pt+=e)}}))}function nn(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),ft=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(ft*=2)}}function an(){et=900*dt/.15,et*=pt;const e=Bo();e>0?et/=e:et=0,tt=ut*(.15*et)+13,ot=mt*(.15*et)+13,nt=7*et,it=ut*(.15*nt)+13,at=mt*(.15*nt)+13,rt=2*et,lt=.15*rt,st=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountst&&(st=2*Game.Objects[e].price,ct=e)}))}function rn(){let e=1,t=1,o=1;ao("Green yeast digestives")&&(o*=1.01),ao("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),ut=o*e,mt=o*t,pt=1,0===Game.shimmerTypes.golden.n&&(pt*=1+1.23*Game.auraMult("Dragon's Fortune"))}function ln(){Gt=0,vt=0,wt=[0,null];for(let e=0;ewt[0]&&(wt=[t,e]))}}function sn(){ko(),ln(),an(),rn(),en(),on(),nn(),ge=new Wo(J[J.length-1]),fe=new Wo(J[J.length-1]),Ce=new Wo(J[J.length-1]),ye=new Wo(J[J.length-1]),be=new Wo(Z[Z.length-1]),ke=new Wo(5),he=new Wo(20*Z[Z.length-1]),tn(),Lo(),Jo(),Ko(),Ho()}const cn={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,MissingAchievements:0,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,FavouriteSettings:1,Header:{Favourite:1,Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},dn=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function pn(){1===e.BotBar?(l("CMBotBar").style.display="",fo()):l("CMBotBar").style.display="none",yo()}function un(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),fo(),co(),po()}function mn(){1===e.Favicon&&y>0?Vt.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class hn{constructor(e,t){this.type=e,this.group=t}}class gn extends hn{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class fn extends hn{constructor(e,t,o){super(e,t),this.desc=o}}class Cn extends hn{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class yn extends hn{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const bn={CPSMode:new gn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new gn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new gn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new gn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){_e=!0})),Scale:new gn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Abbreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){un()})),ScaleDecimals:new gn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){un()})),ScaleSeparator:new gn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){un()})),ScaleCutoff:new yn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new gn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new gn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=V:Game.sayTime=B.sayTime})),PPDisplayTime:new gn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new gn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){co()})),PPOnlyConsiderBuyable:new gn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new gn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new gn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new yn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),ColourBlue:new fn("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new fn("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new fn("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new fn("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new fn("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new fn("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new fn("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new fn("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new fn("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new gn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){pn()})),TimerBar:new gn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){bo()})),TimerBarPos:new gn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),yo()})),TimerBarOverlay:new gn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new gn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",po()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",po()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new gn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new gn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){co()})),SortUpgrades:new gn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){po()})),DragonAuraInfo:new gn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new gn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new gn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(se).forEach((e=>{se[e].style.display="block",se[e].style.left=Yt[e].l.style.left,se[e].style.top=Yt[e].l.style.top})):Object.keys(se).forEach((e=>se[e].style.display="none"))})),Favicon:new gn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){mn()})),WrinklerButtons:new gn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new gn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new gn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new gn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new gn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new gn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new gn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new gn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new gn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new yn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new gn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new gn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){Eo()})),TooltipGrim:new gn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new gn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new gn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new gn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new gn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new gn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new gn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new gn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in statistics menu",!0),MissingAchievements:new gn("bool","Statistics",["Missing Achievements OFF","Missing Normal Achievements ON"],"Shows missing normal achievements in statistics menu.",!1),UpStats:new gn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new yn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new gn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new gn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new gn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new gn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){dn(e.GCNotification)})),GCFlash:new gn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new fn("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new gn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new Cn("vol","NotificationGC",[],"Volume"),GCSoundURL:new gn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new gn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){dn(e.FortuneNotification)})),FortuneFlash:new gn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new fn("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new gn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new Cn("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new gn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new gn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){dn(e.SeaNotification)})),SeaFlash:new gn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new fn("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new gn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new Cn("vol","NotificationSea",[],"Volume"),SeaSoundURL:new gn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new gn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new fn("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new gn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new Cn("vol","NotificationGard",[],"Volume"),GardSoundURL:new gn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new gn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){dn(e.MagicNotification)})),MagicFlash:new gn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new fn("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new gn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new Cn("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new gn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new gn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){dn(e.WrinklerNotification)})),WrinklerFlash:new gn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new fn("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new gn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new Cn("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new gn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new gn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){dn(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new gn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new fn("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new gn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new Cn("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new gn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new gn("bool","Miscellaneous",["Block bulk buying OFF","Block bulk buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0),FavouriteSettings:new gn("bool","Miscellaneous",["Favourite settings section OFF","Favourite settings section ON","Favourite settings section ON (Locked)"],"Show stars before each setting which allows selecting it for a 'favourites' section at the top of the Cookie Monster settings. Setting this to Locked removes the stars but shows the 'favourites' section",!0,(function(){Game.UpdateMenu()}))};function kn(){return JSON.stringify({favouriteSettings:de,settings:e,version:"2.031.6"})}function Gn(){if(Je!==Game.dragonLevel||_e){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{Zt[e]=wo(e)})),eo=[],Object.keys(Game.Upgrades).forEach((e=>{eo[e]=xo(e)})),to=[],Object.keys(Game.Achievements).forEach((e=>{to[e]=Go(e)})),To()}let xn=!1;function Tn(t,o,n){(1===e[o]||n)&&3===t&&!1===xn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){Tn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){Tn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){Tn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function Mn(t,o,n,i){if((1===e[o]||i)&&!1===xn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function Sn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===xn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function Pn(){if(re!==Game.OnAscend&&(re=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(pn(),bo()),Co()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(wn(),sn(),r=Object.keys(Game.mods).length),_e&&(Jo(),Game.Has("Golden switch [off]")?(To(),eo["Golden switch [off]"].bought=0,Ro(),dt=Xe):dt=Game.cookiesPs,rn(),an(),on(),en(),Gn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Jt[e][t]=vn(e,t)}(),nn(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;To();let t=2;5!==$e&&18!==$e||(t-=1),5!==Re&&18!==Re||(t-=1),$e=5,Re=18;for(let e=0;e{Zt[t].amount>0&&(e=t)})),Zt[e].amount-=1,Le-=1}return Object.keys(Zt).forEach((t=>{const o=Zt[t];e+=so(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),Kt=e}(),_e=0);const t=Game.auraMult("Fierce Hoarder")>0;!We&&t?(We=!0,Fe=1):We&&!t&&(We=!1,Fe=1),Fe&&(Ko(),Fe=0),function(){ln(),Ho(),function(){xt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(Zt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}Tt=e,xt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Lo(),tn();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);Qt=ue(e/uo())}(),G=0,Yt={},Object.keys(Game.shimmers).forEach((e=>{Yt[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(Vt=Game.shimmers[e],G+=1)})),Object.keys(se).forEach((e=>{void 0===Yt[e]&&(se[e].parentNode.removeChild(se[e]),delete se[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===se[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},se[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),mn(),b=G,0===G&&(Vt=0)):1===e.GCTimer&&y&&Object.keys(se).forEach((e=>{se[e].style.opacity=Yt[e].l.style.opacity,se[e].style.transform=Yt[e].l.style.transform,se[e].textContent=Math.ceil(Yt[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(Tn(3,"FortuneFlash",!1),Mn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),Sn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&(_t=Game.shimmers[e])})),Tn(3,"SeaFlash",!1),Mn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),Sn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>v?(v=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?Tn(3,"WrinklerMaxFlash",!1):Tn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?Mn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):Mn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?Sn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):Sn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):v=t}}()}}function Bn(){let t="";for(let o=0;o<$.length;o++)t+=`.CMText${$[o]} { color: ${e[`Colour${$[o]}`]}; }\n`;for(let o=0;o<$.length;o++)t+=`.CMBack${$[o]} { background-color: ${e[`Colour${$[o]}`]}; }\n`;for(let o=0;o<$.length;o++)t+=`.CMBorder${$[o]} { border: 1px solid ${e[`Colour${$[o]}`]}; }\n`;l("CMCSS").textContent=t,co()}function En(){const e=b64_to_utf8(unescape(localStorage.getItem("CookieClickerGame")).split("!END!")[0]),t=e.match(/CookieMonster.*(;|$)/);if(null!==t){const o=e.replace(t[0],`CookieMonster:${kn()}`);localStorage.setItem("CookieClickerGame",escape(`${utf8_to_b64(o)}!END!`))}}function Nn(t){if(void 0!==localStorage.CMConfig&&delete localStorage.CMConfig,void 0!==t){e=t,void 0!==e.Colors&&delete e.Colors,void 0!==e.Colours&&delete e.Colours;let o=!1;Object.keys(cn).forEach((t=>{void 0===e[t]?(o=!0,e[t]=cn[t]):"Header"===t&&Object.keys(cn.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=cn[t][n])}))})),o&&En(),Pn(),Object.keys(cn).forEach((e=>{"Header"!==e&&void 0!==bn[e].func&&bn[e].func()}))}else Nn(cn);Game.UpdateMenu(),Bn()}function On(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Fn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Uo(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${pe(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${me((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(pe(Game.Objects[o].bulkPrice)).join(pe((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return ne=t,ie=o,No(),l("tooltip").innerHTML}function Wn(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(S[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function Ln(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),En()}function Rn(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){$n(o),Game.UpdateMenu()},n.appendChild(i),n}function In(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(I[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function zn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function Vn(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(Rn("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+mo(){Game.HasUnlocked(Qo[e])||c.push(Qo[e])})),0!==c.length&&e.appendChild(In("basic","Rare plant drops left to unlock",zn(c))),e}())),o.appendChild(Rn("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige(It+Game.cookiesReset+Gt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?Ct:0)));t.appendChild(In("withTooltip","Prestige level (cur / max)",document.createTextNode(`${pe(Game.prestige)} / ${pe(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-(It+Game.cookiesReset+Gt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&&Ct?Ct:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(pe(n)));const a=document.createElement("small");a.textContent=` (${ue(n/zt,1)})`,i.appendChild(a),t.appendChild(In("withTooltip","Cookies to next level",i,"NextPrestTooltipPlaceholder")),t.appendChild(In("withTooltip","Heavenly chips (cur / max)",document.createTextNode(`${pe(Game.heavenlyChips)} / ${pe(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild(In("basic","Heavenly chips per second (last 5 seconds)",document.createTextNode(pe(ht,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild(In("basic","Heavenly chips to target set in settings (cur)",document.createTextNode(pe(e)))),t.appendChild(In("basic","Time till target (cur, current 5 second average)",document.createTextNode(ue(e/ht)))))}const l=function(e){let t=Game.cookiesPs;To(),0===eo["Heavenly key"].bought&&(eo["Heavenly chip secret"].bought=1,eo["Heavenly cookie stand"].bought=1,eo["Heavenly bakery"].bought=1,eo["Heavenly confectionery"].bought=1,eo["Heavenly key"].bought=1,Ro(),t=Xe,To()),It>=1e6&&$o("Sacrifice"),It>=1e9&&$o("Oblivion"),It>=1e12&&$o("From scratch"),It>=1e15&&$o("Nihilism"),It>=1e18&&$o("Dematerialize"),It>=1e21&&$o("Nil zero zilch"),It>=1e24&&$o("Transcendence"),It>=1e27&&$o("Obliterate"),It>=1e30&&$o("Negative void"),It>=1e33&&$o("To crumbs, you say?"),It>=1e36&&$o("You get nothing"),It>=1e39&&$o("Humble rebeginnings"),It>=1e42&&$o("The end of the world"),It>=1e45&&$o("Oh, you're back"),It>=1e48&&$o("Lazarus"),It>=1e51&&$o("Smurf account"),It>=1e54&&$o("If at first you don't succeed"),eo["Heavenly chip secret"].bought=1,eo["Heavenly cookie stand"].bought=1,eo["Heavenly bakery"].bought=1,eo["Heavenly confectionery"].bought=1,eo["Heavenly key"].bought=1,Ue=e;const o=De;Ro(),qo(),o!==De&&Ro();const n=Xe-t;return Ue=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(pe(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(In("withTooltip","Reset bonus income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(In("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(In("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(In("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(Rn("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${pe(Gt)} / ${pe(vt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){On()},e.appendChild(t),o.appendChild(In("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${pe(wt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==wt[1]&&(Game.wrinklers[wt[1]].hp=0)},n.appendChild(i),o.appendChild(In("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==wt[1]?wt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(zo).forEach((e=>{Game.Has(zo[e])||(n.push(zo[e]),o=!0)}));const i=[];Object.keys(Vo).forEach((e=>{Game.Has(Vo[e])||(i.push(Vo[e]),o=!0)}));const a=[];Object.keys(_o).forEach((e=>{Game.Has(_o[e])||(a.push(_o[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(Rn("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(In("basic","Halloween cookies left to buy",zn(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild(In("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${pe((1-e)*o*100)}% / ${pe((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild(In("basic","Christmas cookies left to buy",zn(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild(In("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${pe((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild(In("basic","Valentine cookies left to buy",zn(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(In("basic","Normal easter eggs left to unlock",zn(r))),t.appendChild(In("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${pe(100*e(.98)[0])}% / ${pe(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(In("basic","Rare easter eggs left to unlock",zn(l))),t.appendChild(In("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${pe(100*e(.98)[1])}% / ${pe(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild(In("basic","Reindeer reward",document.createTextNode(pe(ft)))),s&&t.appendChild(In("withTooltip","Chocolate egg cookies",document.createTextNode(pe(Ct)),"ChoEggTooltipPlaceholder")),c&&t.appendChild(In("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(gt-1))/100+"%")))}return t}()),o.appendChild(Rn("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(In("basic",`Average cookies per second (past ${J[e.AvgCPSHist]<60?`${J[e.AvgCPSHist]} seconds`:J[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(pe(uo(),3)))),o.appendChild(In("basic",`Average cookie clicks per second (past ${Z[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(pe(St,1)))),o.appendChild(In("basic",`Cookies from clicking (past ${Z[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(pe(he.calcSum(St*Z[e.AvgClicksHist]))))),Game.Has("Fortune cookies")){const e=[];Object.keys(Io).forEach((t=>{Game.Has(Io[t])||e.push(Io[t])})),0!==e.length&&o.appendChild(In("basic","Fortune Upgrades Left to Buy",zn(e)))}if(e.ShowMissedGC&&o.appendChild(In("basic","Missed golden cookies",document.createTextNode(pe(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(In("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&Bt){const t=Bt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Bt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(Pt){const t=Pt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Pt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Et){const t=Et.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Et,e.appendChild(i)}}})),e.MissingAchievements&&function(){let t;Object.values(document.querySelectorAll("div.title")).forEach((e=>{e.textContent.includes("Achievements")&&(t=e.parentElement.querySelectorAll("div.listing.crateBox")[0])})),e.MissingAchievements&&Object.values(t.children).forEach((e=>{if(!e.className.includes("enabled")){const t=e.onclick.toString().match(/(?<=\[).*(?=\])/g)[0],{icon:o}=Game.AchievementsById[t];e.style.backgroundPosition=`${48*-o[0]}px ${48*-o[1]}px`,e.onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return function(e){const t=[];"shadow"===e.pool?t.push("Shadow Achievement","#9700cf"):t.push("Achievement",0),t.push("Locked",0);let o=0;(Game.Has("Neuromancy")||Game.sesame&&"debug"===e.pool)&&(o=1),o&&0===e.won?t.push("Click to win!","#00c462"):o&&e.won>0&&t.push("Click to lose!","#00c462");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());let{desc:i}=e;e.descFunc&&(i=e.descFunc("stats"));let a="";for(let e=0;e[${t[e]}]`);return a=a.substring(1),`
\n
\n
${e.name}
\n ${a}
${i}
\n ${Game.sesame?`
Id : ${e.id} | Order : ${Math.floor(e.order)}${e.tier?` | Tier : ${e.tier}`:""}
`:""}`}(Game.AchievementsById[t])}),"top"),Game.tooltip.wobble())}}}))}()}const _n={Favourite:"Favourite Settings",Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},Qn={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function Xn(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){$n(t),Game.UpdateMenu()},n.appendChild(i),n}function qn(t){const o=document.createElement("div");if(o.className="listing",1===e.FavouriteSettings&&o.appendChild(function(e){const t=document.createElement("a");return de.includes(e)?(t.innerText="★",t.style.color="yellow"):t.innerText="☆",t.className="option",t.onclick=function(){!function(e){de.includes(e)?de=de.filter((function(t){return t!==e})):de.push(e)}(e),En(),Game.UpdateMenu()},t.onmouseover=function(){Game.tooltip.draw(this,escape(I.FavouriteSettingPlaceholder.innerHTML))},t.onmouseout=function(){Game.tooltip.hide()},t.appendChild(document.createTextNode(" ")),t}(t)),"bool"===bn[t].type){const n=document.createElement("a");bn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=Hn+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===bn[t].label.length?(e[t]=0,bn[t].toggle&&(l(Hn+t).className="option off")):l(Hn+t).className="option",void 0!==bn[t].func&&bn[t].func(),l(Hn+t).innerHTML=bn[t].label[e[t]],En()}(t)},n.textContent=bn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=bn[t].desc,i.style.lineHeight="1.6",o.appendChild(i),o}if("vol"===bn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=bn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Un(t)},r.onchange=function(){Un(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){Mn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===bn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${bn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=Hn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${Hn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){!function(e,t){Game.promptWrapL.className="framed";const o=e;Game.promptL.innerHTML=`${o}
`,Object.keys(t).forEach((e=>{const o=document.createElement("a");o.id=`promptOption${e}`,o.className="option",o.onclick=function(){PlaySound("snd/tick.mp3"),t[e][1]()},o.textContent=t[e][0],Game.promptL.children[1].appendChild(o)})),Game.promptAnchorL.style.display="block",Game.darkenL.style.display="block",Game.promptL.focus(),Game.promptOn=1,Game.UpdatePrompt()}(a.outerHTML,[["Save",function(){e[t]=l(`CMConfig${t}Prompt`).value,En(),Game.ClosePrompt(),Game.UpdateMenu()}],["Cancel",function(){Game.ClosePrompt()}]])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=bn[t].desc,s.style.lineHeight="1.6",o.appendChild(s),o}if("colour"===bn[t].type){const n=document.createElement("span");n.className="option";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new jn(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),Bn(),En(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=bn[t].desc,a.style.lineHeight="1.6",n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){Tn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),Dn().init(),o}if("numscale"===bn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${bn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=Hn+t,i.className="option",i.type="number",i.value=e[t],i.min=bn[t].min,i.max=bn[t].max,i.oninput=function(){this.value>this.max&&console.log("TEST"),e[t]=this.value,En(),un()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=bn[t].desc,a.style.lineHeight="1.6",o.appendChild(a),o}return o}function Yn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function Kn(){B.Beautify=Beautify,Beautify=pe,B.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){B.CalculateGains(),_e=1,w=Date.now(),x=Date.now()},B.tooltip={},B.tooltip.draw=Game.tooltip.draw,B.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){B.tooltip.drawMod(e,t,o)},B.tooltip.update=Game.tooltip.update,B.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){B.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},B.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){Yn(B.UpdateWrinklers)},B.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){Yn(B.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){Yn(Game.ClickCookie)}),!1),B.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){B.RebuildUpgrades(),P=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(P[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},B.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e].amount>0){const o=Zt[Game.ObjectsById[e].name].name;Zt[o].amount-=1,Le-=1,t=Zt[o].basePrice*Game.priceIncrease**Math.max(0,Zt[o].amount-1-Zt[o].free),t=Game.modifyBuildingPrice(Zt[o],t),t=Math.ceil(t);break}const o=De;return Ro(),qo(),o!==De&&Ro(),[Xe-Game.cookiesPs,t]}(t),n=ue(o/(e+Game.cookiesPs)),i=pe(e/Game.cookiesPs*100);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${pe(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},B.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){B.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${Ze}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},B.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==Dn().picker&&void 0!==Dn().picker.owner||(B.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(_n).forEach((t=>{if("Favourite"===t){if(0!==de.length&&e.FavouriteSettings>0&&(o.appendChild(Xn(t,_n[t])),e.Header[t]))for(let e=0;e{const n=Xn(t,Qn[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(bn).forEach((e=>{bn[e].group===t&&o.appendChild(qn(e))}))})):Object.keys(bn).forEach((e=>{bn[e].group===t&&o.appendChild(qn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Nn(cn)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",Vn(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){$n("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},B.sayTime=Game.sayTime,V=function(e,t){return Number.isNaN(e)||e<=0?B.sayTime(e,t):ue(e/Game.fps,1)},B.Logic=Game.Logic,Game.Logic=function(){B.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),ce=`${Game.OnAscend?"Ascending! ":""}${pe(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=ce;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=Vt?Vt.wrath?`[W${Math.ceil(Vt.life/Game.fps)}]`:`[G${Math.ceil(Vt.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil(_t.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=ce;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;Vt&&(t=!0,Vt.wrath?e+=`[W${Math.ceil(Vt.life/Game.fps)}]`:e+=`[G${Math.ceil(Vt.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil(_t.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${pe(Game.prestige)}.
(CpS +${pe(Game.prestige)}%)`,n+='
'),n+=Oe<1?"Ascending now would grant you no prestige.":Oe<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${pe(Oe)} prestige levels (+${pe(Oe)}% CpS)
and ${pe(Oe)} heavenly chips to spend.`,n+='
',n+=`You need ${pe(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${Qt} to reach the next level and you were making ${pe(ht,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Jn(){wn(),an(),sn(),r=Object.keys(Game.mods).length,T=document.createElement("style"),T.type="text/css",T.id="CMCSS",document.head.appendChild(T),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=E+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",W)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",O)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",O)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",O)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{go(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=ho("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:D},{id:"CMTimerBarGCBar",color:j}]);e.appendChild(t);const o=ho("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:D},{id:"CMTimerBarRenBar",color:L}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=N+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(O,"Better than the best PP of a building option")),e.appendChild(o(F,"Same as the best PP building option")),e.appendChild(o(W,"Within the top 10 of PP for buildings")),e.appendChild(o(L,"Within the top 20 of PP for buildings")),e.appendChild(o(A,"Within the top 30 of PP for buildings")),e.appendChild(o(j,"Outside of the top 30 of PP for buildings")),e.appendChild(o(D,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=E+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",O)),e.appendChild(o("CMUpgradeBarGreen",F)),e.appendChild(o("CMUpgradeBarYellow",W)),e.appendChild(o("CMUpgradeBarOrange",L)),e.appendChild(o("CMUpgradeBarRed",A)),e.appendChild(o("CMUpgradeBarPurple",j)),e.appendChild(o("CMUpgradeBarGray",D)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(R).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),I[e]=n}(R[e][0],R[e][1],R[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){On()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==wt[1]&&(Game.wrinklers[wt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(M[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),Wn(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),An()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){_=1},l("backgroundLeftCanvas").onmouseout=function(){_=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{X[e]=0}))},Kn(),An(),Game.CalculateGains(),Nn(),z=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const Zn={init:function(){xn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Jn(),Game.registerHook("draw",Oo),Game.registerHook("logic",Pn),Game.registerHook("click",Fo),xn=!1)},load:function(e){const t=JSON.parse(e);wn(),void 0!==t.favouriteSettings&&(de=t.favouriteSettings),Nn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:kn};Game.registerMod("CookieMonster",Zn)})()})(); +(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,v,w,x,M,T=[],S=[],P=[],B={};const E="CMText",N="CMBack",O="Blue",F="Green",W="Yellow",L="Orange",A="Red",j="Purple",D="Gray",H="Pink",U="Brown",$=[D,O,F,W,L,A,j,H,U],R=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"],["FavouriteSettingPlaceholder","Click to set this setting as favourite and show it in 'favourite' settings at the top of the Cookie Monster Settings","250px"]],I={};let z,V,_=0,Q=-1,X=[],q=1,Y=1,K=1;const J=[10,15,30,60,300,600,900,1800],Z=[1,5,10,15,30],ee={Frenzy:W,"Dragon Harvest":U,"Elder frenzy":F,Clot:A,"Click frenzy":O,Dragonflight:H};let te,oe,ne,ie,ae,re,le,se={},ce="",de=[];function pe(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return B.Beautify(t,o);if(Number.isFinite(t)){if(t<0)return`-${pe(Math.abs(t))}`;let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function me(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=F):(n=ue(t),o=t>300?A:t>60?L:W),{text:n,color:o}}let he,ge,fe,Ce,ye,be,ke,Ge,ve,we,xe,Me,Te,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Ue,$e,Re,Ie,ze,Ve,_e,Qe,Xe,qe,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=0,st=0,ct=0,dt=0,pt=1,ut=1,mt=1,ht=0,gt=0,ft=0,Ct=0,yt={},bt={},kt={},Gt=0,vt=0,wt=[0,null],xt=0,Mt=0,Tt={},St={},Pt={},Bt={},Et={},Nt=0,Ot=0,Ft=[],Wt=0,Lt=0,At=[],jt=0,Dt=0,Ht=[],Ut=0,$t=0,Rt=[],It=0,zt=0,Vt={},_t={},Qt=0,Xt=0,qt=[],Yt={},Kt=0,Jt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},Zt=[],eo=[],to=[];function oo(e){let t=0;return Game.dragonAuras[$e].name!==e&&Game.dragonAuras[Re].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[$e].name&&"Reality Bending"!==Game.dragonAuras[Re].name||(t+=.1),t}function no(){let e=.25;return e*=1+oo("Earth Shatterer"),e}function io(e,t){return void 0===Qe[e]?void 0===t?1:t:Qe[e]}function ao(e){const t=eo[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function ro(e){if(Game.hasGod){void 0===Zt.Temple.minigame&&(Zt.Temple.minigame=Game.Objects.Temple.minigame);const t=Zt.Temple.minigame.gods[e];if(Ie===t.id)return 1;if(ze===t.id)return 2;if(Ve===t.id)return 3}return!1}function lo(e,t){let o=t;if(ao("Season savings")&&(o*=.99),ao("Santa's dominion")&&(o*=.99),ao("Faberge egg")&&(o*=.99),ao("Divine discount")&&(o*=.99),ao("Fortune #100")&&(o*=.99),o*=1-.02*oo("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&ao(e.fortune.name)&&(o*=.93),o*=io("buildingCost"),Zt.Temple.minigameLoaded){const e=ro("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function so(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function co(){let t=Game.buyBulk;if(1===Game.buyMode?Y=t:t=Y,1===t?t=yt:10===t?t=bt:100===t&&(t=kt),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(yt).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=pe(so(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(yt).map((e=>{const t=yt[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return $.indexOf(e.color)>$.indexOf(t.color)?1:$.indexOf(e.color)<$.indexOf(t.color)||e.pp{const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return $.indexOf(e.color)>$.indexOf(t.color)?1:$.indexOf(e.color)<$.indexOf(t.color)||e.pp{const t=yt[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;e$.indexOf(t.color)?1:$.indexOf(e.color)<$.indexOf(t.color)||e.ppe.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?q=i:i=q,1===i&&(i=yt),10===i&&(i=bt),100===i&&(i=kt),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=pe(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=E+i[o].color,n=e.PPDisplayTime?ue(Math.round(i[o].pp)):pe(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=me((Game.Objects[o].bulkPrice-(Game.cookies+mo()))/uo());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=E+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&ao(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(ao(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&ao(e.fortune.name)&&(t*=1.07),e.grandma&&ao(e.grandma.name)&&(t*=1+.01*Zt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&ao(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function wo(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;ao("Thousand fingers")&&(t+=.1),ao("Million fingers")&&(t*=5),ao("Billion fingers")&&(t*=10),ao("Trillion fingers")&&(t*=20),ao("Quadrillion fingers")&&(t*=20),ao("Quintillion fingers")&&(t*=20),ao("Sextillion fingers")&&(t*=20),ao("Septillion fingers")&&(t*=20),ao("Octillion fingers")&&(t*=20),ao("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(Zt).forEach((e=>{"Cursor"!==Zt[e].name&&(n+=Zt[e].amount)})),t*=n,o*=vo(e),o*=Game.magicCpS("Cursor"),o*=io("cursorCps"),Game.ComputeCps(.1,ao("Reinforced index finger")+ao("Carpal tunnel prevention cream")+ao("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{ao(Game.GrandmaSynergies[e])&&(o*=2)})),ao("Bingo center/Research facility")&&(o*=4),ao("Ritual rolling pins")&&(o*=2),ao("Naughty list")&&(o*=2),ao("Elderwort biscuits")&&(o*=1.02),o*=io("grandmaCps"),ao("Cat ladies"))for(let e=0;e{"Grandma"!==Zt[e].name&&(i+=Zt[e].amount)})),o*=1+.01*oo("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=vo(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function xo(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(Zt).forEach((t=>{Zt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(ao("Starlove")&&(e=3),Game.hasGod){const t=ro("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function Mo(){Ae=Game.UpgradesOwned,je=Game.pledges,De=Game.AchievementsOwned,He=Game.heavenlyPower,Ue=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=Zt[e];void 0===o&&(Zt[e]=wo(e),o=Zt[e],go(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(Ie=t.minigame.slot[0],ze=t.minigame.slot[1],Ve=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),Zt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=eo[e];void 0===o&&(eo[e]=xo(e),o=eo[e]),o.bought=t.bought,eo[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=to[e];void 0===o&&(to[e]=Go(e),o=to[e]),o.won=t.won,to[e]=o})),ko(),$e=Ye,Re=Ke}function To(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function So(e){e.appendChild(To("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(To("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(To("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(To("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===ne){e.appendChild(To("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function Po(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function Eo(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function No(){if(Mo(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===ne?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(So(l("CMTooltipBorder")),1===Game.buyMode?K=t:t=K,1===Game.buyBulk?t=yt:10===Game.buyBulk?t=bt:100===Game.buyBulk&&(t=kt),te=Game.Objects[ie].bulkPrice,oe=t[ie].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=pe(oe,2);const o=Math.round(oe/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=E+t[ie].color,e.PPDisplayTime?l("CMTooltipPP").textContent=ue(t[ie].pp):l("CMTooltipPP").textContent=pe(t[ie].pp,2),l("CMTooltipPP").className=E+t[ie].color;const n=me((te-(Game.cookies+mo()))/uo());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[ie[1]][ie[0]][0]-1].mature,o=t.plantsById[t.plot[ie[1]][ie[0]][0]-1].name;l("CMTooltipBorder").appendChild(To("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${pe(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${pe(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${pe(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${pe(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===ne?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(To("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=ho(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==ee[Game.buffs[t].name]?ee[Game.buffs[t].name]:j,a.lastChild.children[1].className=N+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),le!==n&&(le=n,yo())}}(),fo(),No(),function(){if(1===e.TooltipWrink&&1===_){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===X[t]||void 0===X[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),Q=t,X[t]=1}}else X[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[Q],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[Q].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),Zt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=pe(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,pe(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}function Fo(){he.addLatest(Game.computedMouseCps)}class Wo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}calcSum(e){let t=e;return t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length),0===t?0:this.queue.slice(-t).reduce(((e,t)=>e+t),0)}}function Lo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+Kt;Game.cpsSucked>0&&(o+=Gt),It=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-Ge,i=Math.max(0,Game.cookies-ve)/n,a=Math.max(0,Gt-we)/n,r=Math.max(0,wt[0]-xe)/n,l=Math.max(0,o-Ct)/n,s=(Game.cookieClicks-Me)/n;for(let e=0;e0&&(n=A),n}function jo(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=D;else{t[n].color=Ao(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+mo()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||qt.push([t[n].pp,o])}))}function Ho(){!function(){Xt=1/0,qt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Do(yt,1),Do(bt,10),Do(kt,100),qt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;qt[t][1]>Game.cookies&&(t+=1,qt.length!==t+1););Xt=qt[e.PPExcludeTop][t],jo(yt,1),jo(bt,10),jo(kt,100)}(),Object.keys(Tt).forEach((e=>{Game.cookiesPs?Tt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+mo()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/Tt[e].bonus:Tt[e].pp=Game.Upgrades[e].getPrice()/Tt[e].bonus,Number.isNaN(Tt[e].pp)&&(Tt[e].pp=1/0),Tt[e].color=Ao(Tt[e],Game.Upgrades[e].getPrice())}))}function Uo(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),Qe=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(Ue)*He*function(){let e=0;if(ao("Heavenly chip secret")&&(e+=.05),ao("Heavenly cookie stand")&&(e+=.2),ao("Heavenly bakery")&&(e+=.25),ao("Heavenly confectionery")&&(e+=.25),ao("Heavenly key")&&(e+=.25),e*=1+.05*oo("Dragon God"),ao("Lucky digit")&&(e*=1.01),ao("Lucky number")&&(e*=1.01),ao("Lucky payout")&&(e*=1.01),Game.hasGod){const t=ro("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=io("cps"),ao("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];ao(o.name)&&("function"==typeof o.power?e*=1+.01*eo[o.name].power(eo[o.name]):e*=1+.01*o.power)})),ao("Specialized chocolate chips")&&(e*=1.01),ao("Designer cocoa beans")&&(e*=1.02),ao("Underworld ovens")&&(e*=1.03),ao("Exotic nuts")&&(e*=1.04),ao("Arcane sugar")&&(e*=1.05),ao("Increased merriness")&&(e*=1.15),ao("Improved jolliness")&&(e*=1.15),ao("A lump of coal")&&(e*=1.01),ao("An itchy sweater")&&(e*=1.01),ao("Santa's dominion")&&(e*=1.2),ao("Fortune #100")&&(e*=1.01),ao("Fortune #101")&&(e*=1.07),ao("Dragon scale")&&(e*=1.03);let o=1;if(ro){let t=ro("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=ro("ages"),1===t?e*=1+.15*Math.sin(w/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(w/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(w/1e3/86400*Math.PI*2)),t=ro("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=ro("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=ro("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}ao("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=De/25;let i=1;if(ao("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*oo("Breath of Milk"),ro){const e=ro("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=io("milk");let a=1;ao("Kitten helpers")&&(a*=1+.1*n*i),ao("Kitten workers")&&(a*=1+.125*n*i),ao("Kitten engineers")&&(a*=1+.15*n*i),ao("Kitten overseers")&&(a*=1+.175*n*i),ao("Kitten managers")&&(a*=1+.2*n*i),ao("Kitten accountants")&&(a*=1+.2*n*i),ao("Kitten specialists")&&(a*=1+.2*n*i),ao("Kitten experts")&&(a*=1+.2*n*i),ao("Kitten consultants")&&(a*=1+.2*n*i),ao("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),ao("Kitten marketeers")&&(a*=1+.15*n*i),ao("Kitten analysts")&&(a*=1+.125*n*i),ao("Kitten executives")&&(a*=1+.115*n*i),ao("Kitten angels")&&(a*=1+.1*n*i),ao("Fortune #103")&&(a*=1+.05*n*i),Object.keys(Zt).forEach((e=>{const t=Zt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&ao("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),Xe+=t.amount*a})),ao('"egg"')&&(Xe+=9),e*=a;let r=1;if(ao("Chicken egg")&&(r*=1.01),ao("Duck egg")&&(r*=1.01),ao("Turkey egg")&&(r*=1.01),ao("Quail egg")&&(r*=1.01),ao("Robin egg")&&(r*=1.01),ao("Ostrich egg")&&(r*=1.01),ao("Cassowary egg")&&(r*=1.01),ao("Salmon roe")&&(r*=1.01),ao("Frogspawn")&&(r*=1.01),ao("Shark egg")&&(r*=1.01),ao("Turtle egg")&&(r*=1.01),ao("Ant larva")&&(r*=1.01),ao("Century egg")){let e=10*Math.floor((x-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),gt=1+.1*(1-(1-e/100)**3),r*=gt}e*=r,ao("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+oo("Radiant Appetite");const l=Xe*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&$o(Game.CpsAchievements[e].name)})),qe=l;const{n:s}=Game.shimmerTypes.golden,c=oo("Dragon's Fortune");for(let t=0;t{ao(e[o])&&(t+=.1)}))}e*=t}if(ao("Shimmering veil [off]")){let t=.5;ao("Reinforced membrane")&&(t+=.1),e*=1+t}ao("Magic shenanigans")&&(e*=1e3),ao("Occult obstruction")&&(e*=0),Xe=Game.runModHookOnValue("cps",Xe),e*=Bo(),Xe*=e}const Io=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],zo=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Vo=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],_o=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],Qo=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function Xo(e){return to[e]?to[e].won:0}function qo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{ao(Game.GrandmaSynergies[t])&&(e+=1)})),!Xo("Elder")&&e>=7&&$o("Elder"),!Xo("Veteran")&&e>=14&&$o("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(Zt).forEach((e=>{t+=Zt[e].amount,i=Math.min(Zt[e].amount,i),Xo("Mathematician")||Zt[e].amount=1&&$o("One with everything"),1===o&&$o("Mathematician"),1===n&&$o("Base 10"),i>=100&&$o("Centennial"),i>=150&&$o("Centennial and a half"),i>=200&&$o("Bicentennial"),i>=250&&$o("Bicentennial and a half"),i>=300&&$o("Tricentennial"),i>=350&&$o("Tricentennial and a half"),i>=400&&$o("Quadricentennial"),i>=450&&$o("Quadricentennial and a half"),i>=500&&$o("Quincentennial"),i>=550&&$o("Quincentennial and a half"),i>=600&&$o("Sexcentennial"),t>=100&&$o("Builder"),t>=500&&$o("Architect"),t>=1e3&&$o("Engineer"),t>=2e3&&$o("Lord of Constructs"),t>=4e3&&$o("Grand design"),t>=8e3&&$o("Ecumenopolis"),Ae>=20&&$o("Enhancer"),Ae>=50&&$o("Augmenter"),Ae>=100&&$o("Upgrader"),Ae>=200&&$o("Lord of Progress"),Ae>=300&&$o("The full picture"),Ae>=400&&$o("When there's nothing left to add"),t>=4e3&&Ae>=300&&$o("Polymath"),t>=8e3&&Ae>=400&&$o("Renaissance baker"),Zt.Cursor.amount+Zt.Grandma.amount>=777&&$o("The elder scrolls");let a=!0;Object.keys(zo).forEach((e=>{ao(zo[e])||(a=!1)})),a&&$o("Spooky cookies");let r=!0;if(Object.keys(Vo).forEach((e=>{ao(Vo[e])||(r=!1)})),r&&$o("Let it snow"),ao("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{ao(e[o].name)&&(t+=1)})),t>=e.length&&$o("O Fortuna")}}function Yo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){Mo(),Zt[e].amount+=t;const o=Zt[e];"Cursor"===e?(o.amount>=1&&$o("Click"),o.amount>=2&&$o("Double-click"),o.amount>=50&&$o("Mouse wheel"),o.amount>=100&&$o("Of Mice and Men"),o.amount>=200&&$o("The Digital"),o.amount>=300&&$o("Extreme polydactyly"),o.amount>=400&&$o("Dr. T"),o.amount>=500&&$o("Thumbs, phalanges, metacarpals"),o.amount>=600&&$o("With her finger and her thumb"),o.amount>=700&&$o("Gotta hand it to you"),o.amount>=800&&$o("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&$o(Game.Objects[o.name].tieredAchievs[e].name)}));const n=De;return Ro(),qo(),n!==De&&Ro(),Xe-Game.cookiesPs}(o,e),1!==e&&(Fe=1)})),t}function Ko(){Object.keys(Game.Objects).forEach((e=>{yt[e].price=Uo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),bt[e].price=Uo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),kt[e].price=Uo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Jo(){yt=Yo(1),bt=Yo(10),kt=Yo(100),Tt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){Mo(),"Shimmering veil [on]"===eo[e].name?eo["Shimmering veil [off]"].bought=0:"Golden switch [on]"===eo[e].name?eo["Golden switch [off]"].bought=0:eo[e].bought=(eo[e].bought+1)%2,Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Ae+=1),"Elder Pledge"===e?(je+=1,je>0&&$o("Elder nap"),je>=5&&$o("Elder slumber")):"Elder Covenant"===e?$o("Elder calm"):"Prism heart biscuits"===e?$o("Lovely cookies"):"Heavenly key"===e&&$o("Wholesome");const t=De;Ro(),qo(),t!==De&&Ro();const o=function(){let e=0;ao("Thousand fingers")&&(e+=.1),ao("Million fingers")&&(e*=5),ao("Billion fingers")&&(e*=10),ao("Trillion fingers")&&(e*=20),ao("Quadrillion fingers")&&(e*=20),ao("Quintillion fingers")&&(e*=20),ao("Sextillion fingers")&&(e*=20),ao("Septillion fingers")&&(e*=20),ao("Octillion fingers")&&(e*=20),ao("Nonillion fingers")&&(e*=20);let t=0;Object.keys(Zt).forEach((e=>{t+=Zt[e].amount})),t-=Zt.Cursor.amount,e*=t,ao("Plastic mouse")&&(e+=.01*Xe),ao("Iron mouse")&&(e+=.01*Xe),ao("Titanium mouse")&&(e+=.01*Xe),ao("Adamantium mouse")&&(e+=.01*Xe),ao("Unobtainium mouse")&&(e+=.01*Xe),ao("Eludium mouse")&&(e+=.01*Xe),ao("Wishalloy mouse")&&(e+=.01*Xe),ao("Fantasteel mouse")&&(e+=.01*Xe),ao("Nevercrack mouse")&&(e+=.01*Xe),ao("Armythril mouse")&&(e+=.01*Xe),ao("Technobsidian mouse")&&(e+=.01*Xe),ao("Plasmarble mouse")&&(e+=.01*Xe),ao("Miraculite mouse")&&(e+=.01*Xe),ao("Fortune #104")&&(e+=.01*Xe);let o=1;if(ao("Santa's helpers")&&(o*=1.1),ao("Cookie egg")&&(o*=1.1),ao("Halo gloves")&&(o*=1.1),ao("Dragon claw")&&(o*=1.03),ao("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,ao("Luminous gloves")?20:10)),o*=io("click"),Zt.Temple.minigameLoaded&&ro){const e=ro("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*oo("Dragon Cursor");let n=o*Game.ComputeCps(1,ao("Reinforced index finger")+ao("Carpal tunnel prevention cream")+ao("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[Xe-Game.cookiesPs,o]:[Xe-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(Tt[t]={bonus:Game.cookiesPs-Te},1===e.CalcWrink?Tt[t].bonus-=Se:2===e.CalcWrink&&(Tt[t].bonus-=Pe),Number.isFinite(Tt[t].bonus)||(Tt[t].bonus=0)):(Tt[t]={},o[0]&&(Tt[t].bonus=o[0]),o[1]&&(Tt[t].bonusMouse=o[1]))}))}function Zo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Ft=Zo(7,e,ut),Nt=2*Ft[1]/ut,Ot=Ft[2]/60/60/6/pt,At=Zo(6,e,mt),Wt=2*At[1]/mt,Lt=At[2]/60/60/6/pt,Ht=Zo(7,7*e,ut),jt=2*Ht[1]/ut,Dt=Ht[2]/60/60/6/pt,Rt=Zo(6,7*e,mt),Ut=2*Rt[1]/mt,$t=Rt[2]/60/60/6/pt}function tn(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Ne,i=Math.max(0,o-Oe)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?Bt+=e:"cookie"===o.pool?Et+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(Pt+=e)}}))}function nn(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),ft=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(ft*=2)}}function an(){et=900*dt/.15,et*=pt;const e=Bo();e>0?et/=e:et=0,tt=ut*(.15*et)+13,ot=mt*(.15*et)+13,nt=7*et,it=ut*(.15*nt)+13,at=mt*(.15*nt)+13,rt=2*et,lt=.15*rt,st=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountst&&(st=2*Game.Objects[e].price,ct=e)}))}function rn(){let e=1,t=1,o=1;ao("Green yeast digestives")&&(o*=1.01),ao("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),ut=o*e,mt=o*t,pt=1,0===Game.shimmerTypes.golden.n&&(pt*=1+1.23*Game.auraMult("Dragon's Fortune"))}function ln(){Gt=0,vt=0,wt=[0,null];for(let e=0;ewt[0]&&(wt=[t,e]))}}function sn(){ko(),ln(),an(),rn(),en(),on(),nn(),ge=new Wo(J[J.length-1]),fe=new Wo(J[J.length-1]),Ce=new Wo(J[J.length-1]),ye=new Wo(J[J.length-1]),be=new Wo(Z[Z.length-1]),ke=new Wo(5),he=new Wo(20*Z[Z.length-1]),tn(),Lo(),Jo(),Ko(),Ho()}const cn={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,MissingAchievements:0,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,FavouriteSettings:1,Header:{Favourite:1,Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},dn=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function pn(){1===e.BotBar?(l("CMBotBar").style.display="",fo()):l("CMBotBar").style.display="none",yo()}function un(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),fo(),co(),po()}function mn(){1===e.Favicon&&y>0?Vt.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class hn{constructor(e,t){this.type=e,this.group=t}}class gn extends hn{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class fn extends hn{constructor(e,t,o){super(e,t),this.desc=o}}class Cn extends hn{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class yn extends hn{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const bn={CPSMode:new gn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new gn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new gn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new gn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){_e=!0})),Scale:new gn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Abbreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){un()})),ScaleDecimals:new gn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){un()})),ScaleSeparator:new gn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){un()})),ScaleCutoff:new yn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new gn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new gn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=V:Game.sayTime=B.sayTime})),PPDisplayTime:new gn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new gn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){co()})),PPOnlyConsiderBuyable:new gn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new gn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new gn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new yn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),ColourBlue:new fn("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new fn("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new fn("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new fn("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new fn("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new fn("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new fn("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new fn("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new fn("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new gn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){pn()})),TimerBar:new gn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){bo()})),TimerBarPos:new gn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),yo()})),TimerBarOverlay:new gn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new gn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",po()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",po()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new gn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new gn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){co()})),SortUpgrades:new gn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){po()})),DragonAuraInfo:new gn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new gn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new gn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(se).forEach((e=>{se[e].style.display="block",se[e].style.left=Yt[e].l.style.left,se[e].style.top=Yt[e].l.style.top})):Object.keys(se).forEach((e=>se[e].style.display="none"))})),Favicon:new gn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){mn()})),WrinklerButtons:new gn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new gn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new gn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new gn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new gn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new gn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new gn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new gn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new gn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new yn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new gn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new gn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){Eo()})),TooltipGrim:new gn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new gn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new gn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new gn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new gn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new gn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new gn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new gn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in statistics menu",!0),MissingAchievements:new gn("bool","Statistics",["Missing Achievements OFF","Missing Normal Achievements ON"],"Shows missing normal achievements in statistics menu.",!1),UpStats:new gn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new yn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new gn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new gn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new gn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new gn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){dn(e.GCNotification)})),GCFlash:new gn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new fn("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new gn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new Cn("vol","NotificationGC",[],"Volume"),GCSoundURL:new gn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new gn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){dn(e.FortuneNotification)})),FortuneFlash:new gn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new fn("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new gn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new Cn("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new gn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new gn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){dn(e.SeaNotification)})),SeaFlash:new gn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new fn("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new gn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new Cn("vol","NotificationSea",[],"Volume"),SeaSoundURL:new gn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new gn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new fn("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new gn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new Cn("vol","NotificationGard",[],"Volume"),GardSoundURL:new gn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new gn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){dn(e.MagicNotification)})),MagicFlash:new gn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new fn("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new gn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new Cn("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new gn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new gn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){dn(e.WrinklerNotification)})),WrinklerFlash:new gn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new fn("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new gn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new Cn("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new gn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new gn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){dn(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new gn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new fn("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new gn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new Cn("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new gn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new gn("bool","Miscellaneous",["Block bulk buying OFF","Block bulk buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0),FavouriteSettings:new gn("bool","Miscellaneous",["Favourite settings section OFF","Favourite settings section ON","Favourite settings section ON (Locked)"],"Show stars before each setting which allows selecting it for a 'favourites' section at the top of the Cookie Monster settings. Setting this to Locked removes the stars but shows the 'favourites' section",!0,(function(){Game.UpdateMenu()}))};function kn(){return JSON.stringify({favouriteSettings:de,settings:e,version:"2.031.6"})}function Gn(){if(Je!==Game.dragonLevel||_e){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{Zt[e]=wo(e)})),eo=[],Object.keys(Game.Upgrades).forEach((e=>{eo[e]=xo(e)})),to=[],Object.keys(Game.Achievements).forEach((e=>{to[e]=Go(e)})),Mo()}let xn=!1;function Mn(t,o,n){(1===e[o]||n)&&3===t&&!1===xn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){Mn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){Mn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){Mn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function Tn(t,o,n,i){if((1===e[o]||i)&&!1===xn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function Sn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===xn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function Pn(){if(re!==Game.OnAscend&&(re=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(pn(),bo()),Co()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(wn(),sn(),r=Object.keys(Game.mods).length),_e&&(Jo(),Game.Has("Golden switch [off]")?(Mo(),eo["Golden switch [off]"].bought=0,Ro(),dt=Xe):dt=Game.cookiesPs,rn(),an(),on(),en(),Gn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Jt[e][t]=vn(e,t)}(),nn(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;Mo();let t=2;5!==$e&&18!==$e||(t-=1),5!==Re&&18!==Re||(t-=1),$e=5,Re=18;for(let e=0;e{Zt[t].amount>0&&(e=t)})),Zt[e].amount-=1,Le-=1}return Object.keys(Zt).forEach((t=>{const o=Zt[t];e+=so(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),Kt=e}(),_e=0);const t=Game.auraMult("Fierce Hoarder")>0;!We&&t?(We=!0,Fe=1):We&&!t&&(We=!1,Fe=1),Fe&&(Ko(),Fe=0),function(){ln(),Ho(),function(){xt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(Zt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}Mt=e,xt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Lo(),tn();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);Qt=ue(e/uo())}(),G=0,Yt={},Object.keys(Game.shimmers).forEach((e=>{Yt[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(Vt=Game.shimmers[e],G+=1)})),Object.keys(se).forEach((e=>{void 0===Yt[e]&&(se[e].parentNode.removeChild(se[e]),delete se[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===se[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},se[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),mn(),b=G,0===G&&(Vt=0)):1===e.GCTimer&&y&&Object.keys(se).forEach((e=>{se[e].style.opacity=Yt[e].l.style.opacity,se[e].style.transform=Yt[e].l.style.transform,se[e].textContent=Math.ceil(Yt[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(Mn(3,"FortuneFlash",!1),Tn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),Sn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&(_t=Game.shimmers[e])})),Mn(3,"SeaFlash",!1),Tn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),Sn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>v?(v=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?Mn(3,"WrinklerMaxFlash",!1):Mn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?Tn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):Tn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?Sn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):Sn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):v=t}}()}}function Bn(){let t="";for(let o=0;o<$.length;o++)t+=`.CMText${$[o]} { color: ${e[`Colour${$[o]}`]}; }\n`;for(let o=0;o<$.length;o++)t+=`.CMBack${$[o]} { background-color: ${e[`Colour${$[o]}`]}; }\n`;for(let o=0;o<$.length;o++)t+=`.CMBorder${$[o]} { border: 1px solid ${e[`Colour${$[o]}`]}; }\n`;l("CMCSS").textContent=t,co()}function En(){const e=b64_to_utf8(unescape(localStorage.getItem("CookieClickerGame")).split("!END!")[0]),t=e.match(/CookieMonster.*(;|$)/);if(null!==t){const o=e.replace(t[0],`CookieMonster:${kn()}`);localStorage.setItem("CookieClickerGame",escape(`${utf8_to_b64(o)}!END!`))}}function Nn(t){if(void 0!==localStorage.CMConfig&&delete localStorage.CMConfig,void 0!==t){e=t,void 0!==e.Colors&&delete e.Colors,void 0!==e.Colours&&delete e.Colours;let o=!1;Object.keys(cn).forEach((t=>{void 0===e[t]?(o=!0,e[t]=cn[t]):"Header"===t&&Object.keys(cn.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=cn[t][n])}))})),o&&En(),Pn(),Object.keys(cn).forEach((e=>{"Header"!==e&&void 0!==bn[e].func&&bn[e].func()}))}else Nn(cn);Game.UpdateMenu(),Bn()}function On(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Fn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Uo(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${pe(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${me((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(pe(Game.Objects[o].bulkPrice)).join(pe((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return ne=t,ie=o,No(),l("tooltip").innerHTML}function Wn(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(S[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function Ln(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),En()}function Rn(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){$n(o),Game.UpdateMenu()},n.appendChild(i),n}function In(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(I[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function zn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function Vn(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(Rn("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+mo(){Game.HasUnlocked(Qo[e])||c.push(Qo[e])})),0!==c.length&&e.appendChild(In("basic","Rare plant drops left to unlock",zn(c))),e}())),o.appendChild(Rn("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige(It+Game.cookiesReset+Gt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?Ct:0)));t.appendChild(In("withTooltip","Prestige level (cur / max)",document.createTextNode(`${pe(Game.prestige)} / ${pe(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-(It+Game.cookiesReset+Gt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&&Ct?Ct:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(pe(n)));const a=document.createElement("small");a.textContent=` (${ue(n/zt,1)})`,i.appendChild(a),t.appendChild(In("withTooltip","Cookies to next level",i,"NextPrestTooltipPlaceholder")),t.appendChild(In("withTooltip","Heavenly chips (cur / max)",document.createTextNode(`${pe(Game.heavenlyChips)} / ${pe(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild(In("basic","Heavenly chips per second (last 5 seconds)",document.createTextNode(pe(ht,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild(In("basic","Heavenly chips to target set in settings (cur)",document.createTextNode(pe(e)))),t.appendChild(In("basic","Time till target (cur, current 5 second average)",document.createTextNode(ue(e/ht)))))}const l=function(e){let t=Game.cookiesPs;Mo(),0===eo["Heavenly key"].bought&&(eo["Heavenly chip secret"].bought=1,eo["Heavenly cookie stand"].bought=1,eo["Heavenly bakery"].bought=1,eo["Heavenly confectionery"].bought=1,eo["Heavenly key"].bought=1,Ro(),t=Xe,Mo()),It>=1e6&&$o("Sacrifice"),It>=1e9&&$o("Oblivion"),It>=1e12&&$o("From scratch"),It>=1e15&&$o("Nihilism"),It>=1e18&&$o("Dematerialize"),It>=1e21&&$o("Nil zero zilch"),It>=1e24&&$o("Transcendence"),It>=1e27&&$o("Obliterate"),It>=1e30&&$o("Negative void"),It>=1e33&&$o("To crumbs, you say?"),It>=1e36&&$o("You get nothing"),It>=1e39&&$o("Humble rebeginnings"),It>=1e42&&$o("The end of the world"),It>=1e45&&$o("Oh, you're back"),It>=1e48&&$o("Lazarus"),It>=1e51&&$o("Smurf account"),It>=1e54&&$o("If at first you don't succeed"),eo["Heavenly chip secret"].bought=1,eo["Heavenly cookie stand"].bought=1,eo["Heavenly bakery"].bought=1,eo["Heavenly confectionery"].bought=1,eo["Heavenly key"].bought=1,Ue=e;const o=De;Ro(),qo(),o!==De&&Ro();const n=Xe-t;return Ue=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(pe(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(In("withTooltip","Reset bonus income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(In("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(In("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(In("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(Rn("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${pe(Gt)} / ${pe(vt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){On()},e.appendChild(t),o.appendChild(In("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${pe(wt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==wt[1]&&(Game.wrinklers[wt[1]].hp=0)},n.appendChild(i),o.appendChild(In("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==wt[1]?wt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(zo).forEach((e=>{Game.Has(zo[e])||(n.push(zo[e]),o=!0)}));const i=[];Object.keys(Vo).forEach((e=>{Game.Has(Vo[e])||(i.push(Vo[e]),o=!0)}));const a=[];Object.keys(_o).forEach((e=>{Game.Has(_o[e])||(a.push(_o[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(Rn("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(In("basic","Halloween cookies left to buy",zn(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild(In("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${pe((1-e)*o*100)}% / ${pe((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild(In("basic","Christmas cookies left to buy",zn(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild(In("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${pe((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild(In("basic","Valentine cookies left to buy",zn(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(In("basic","Normal easter eggs left to unlock",zn(r))),t.appendChild(In("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${pe(100*e(.98)[0])}% / ${pe(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(In("basic","Rare easter eggs left to unlock",zn(l))),t.appendChild(In("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${pe(100*e(.98)[1])}% / ${pe(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild(In("basic","Reindeer reward",document.createTextNode(pe(ft)))),s&&t.appendChild(In("withTooltip","Chocolate egg cookies",document.createTextNode(pe(Ct)),"ChoEggTooltipPlaceholder")),c&&t.appendChild(In("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(gt-1))/100+"%")))}return t}()),o.appendChild(Rn("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(In("basic",`Average cookies per second (past ${J[e.AvgCPSHist]<60?`${J[e.AvgCPSHist]} seconds`:J[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(pe(uo(),3)))),o.appendChild(In("basic",`Average cookie clicks per second (past ${Z[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(pe(St,1)))),o.appendChild(In("basic",`Cookies from clicking (past ${Z[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(pe(he.calcSum(St*Z[e.AvgClicksHist]))))),Game.Has("Fortune cookies")){const e=[];Object.keys(Io).forEach((t=>{Game.Has(Io[t])||e.push(Io[t])})),0!==e.length&&o.appendChild(In("basic","Fortune Upgrades Left to Buy",zn(e)))}if(e.ShowMissedGC&&o.appendChild(In("basic","Missed golden cookies",document.createTextNode(pe(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(In("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&Bt){const t=Bt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Bt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(Pt){const t=Pt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Pt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Et){const t=Et.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Et,e.appendChild(i)}}})),e.MissingAchievements&&function(){let t;Object.values(document.querySelectorAll("div.title")).forEach((e=>{e.textContent.includes("Achievements")&&(t=e.parentElement.querySelectorAll("div.listing.crateBox")[0])})),e.MissingAchievements&&Object.values(t.children).forEach((e=>{if(!e.className.includes("enabled")){const t=e.onclick.toString().match(/(?<=\[).*(?=\])/g)[0],{icon:o}=Game.AchievementsById[t];e.style.backgroundPosition=`${48*-o[0]}px ${48*-o[1]}px`,e.onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return function(e){const t=[];"shadow"===e.pool?t.push("Shadow Achievement","#9700cf"):t.push("Achievement",0),t.push("Locked",0);let o=0;(Game.Has("Neuromancy")||Game.sesame&&"debug"===e.pool)&&(o=1),o&&0===e.won?t.push("Click to win!","#00c462"):o&&e.won>0&&t.push("Click to lose!","#00c462");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());let{desc:i}=e;e.descFunc&&(i=e.descFunc("stats"));let a="";for(let e=0;e[${t[e]}]`);return a=a.substring(1),`
\n
\n
${e.name}
\n ${a}
${i}
\n ${Game.sesame?`
Id : ${e.id} | Order : ${Math.floor(e.order)}${e.tier?` | Tier : ${e.tier}`:""}
`:""}`}(Game.AchievementsById[t])}),"top"),Game.tooltip.wobble())}}}))}()}const _n={Favourite:"Favourite Settings",Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},Qn={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function Xn(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){$n(t),Game.UpdateMenu()},n.appendChild(i),n}function qn(t){const o=document.createElement("div");if(o.className="listing",1===e.FavouriteSettings&&o.appendChild(function(e){const t=document.createElement("a");return de.includes(e)?(t.innerText="★",t.style.color="yellow"):t.innerText="☆",t.className="option",t.onclick=function(){!function(e){de.includes(e)?de=de.filter((function(t){return t!==e})):de.push(e)}(e),En(),Game.UpdateMenu()},t.onmouseover=function(){Game.tooltip.draw(this,escape(I.FavouriteSettingPlaceholder.innerHTML))},t.onmouseout=function(){Game.tooltip.hide()},t.appendChild(document.createTextNode(" ")),t}(t)),"bool"===bn[t].type){const n=document.createElement("a");bn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=Hn+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===bn[t].label.length?(e[t]=0,bn[t].toggle&&(l(Hn+t).className="option off")):l(Hn+t).className="option",void 0!==bn[t].func&&bn[t].func(),l(Hn+t).innerHTML=bn[t].label[e[t]],En()}(t)},n.textContent=bn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=bn[t].desc,i.style.lineHeight="1.6",o.appendChild(i),o}if("vol"===bn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=bn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Un(t)},r.onchange=function(){Un(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){Tn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===bn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${bn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=Hn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${Hn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){!function(e,t){Game.promptWrapL.className="framed";const o=e;Game.promptL.innerHTML=`${o}
`,Object.keys(t).forEach((e=>{const o=document.createElement("a");o.id=`promptOption${e}`,o.className="option",o.onclick=function(){PlaySound("snd/tick.mp3"),t[e][1]()},o.textContent=t[e][0],Game.promptL.children[1].appendChild(o)})),Game.promptAnchorL.style.display="block",Game.darkenL.style.display="block",Game.promptL.focus(),Game.promptOn=1,Game.UpdatePrompt()}(a.outerHTML,[["Save",function(){e[t]=l(`CMConfig${t}Prompt`).value,En(),Game.ClosePrompt(),Game.UpdateMenu()}],["Cancel",function(){Game.ClosePrompt()}]])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=bn[t].desc,s.style.lineHeight="1.6",o.appendChild(s),o}if("colour"===bn[t].type){const n=document.createElement("span");n.className="option";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new jn(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),Bn(),En(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=bn[t].desc,a.style.lineHeight="1.6",n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){Mn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),Dn().init(),o}if("numscale"===bn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${bn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=Hn+t,i.className="option",i.type="number",i.value=e[t],i.min=bn[t].min,i.max=bn[t].max,i.oninput=function(){e[t]=this.value,En(),un()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=bn[t].desc,a.style.lineHeight="1.6",o.appendChild(a),o}return o}function Yn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function Kn(){B.Beautify=Beautify,Beautify=pe,B.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){B.CalculateGains(),_e=1,w=Date.now(),x=Date.now()},B.tooltip={},B.tooltip.draw=Game.tooltip.draw,B.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){B.tooltip.drawMod(e,t,o)},B.tooltip.update=Game.tooltip.update,B.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){B.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},B.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){Yn(B.UpdateWrinklers)},B.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){Yn(B.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){Yn(Game.ClickCookie)}),!1),B.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){B.RebuildUpgrades(),P=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(P[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},B.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e].amount>0){const o=Zt[Game.ObjectsById[e].name].name;Zt[o].amount-=1,Le-=1,t=Zt[o].basePrice*Game.priceIncrease**Math.max(0,Zt[o].amount-1-Zt[o].free),t=Game.modifyBuildingPrice(Zt[o],t),t=Math.ceil(t);break}const o=De;return Ro(),qo(),o!==De&&Ro(),[Xe-Game.cookiesPs,t]}(t),n=ue(o/(e+Game.cookiesPs)),i=pe(e/Game.cookiesPs*100);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${pe(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},B.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){B.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${Ze}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},B.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==Dn().picker&&void 0!==Dn().picker.owner||(B.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(_n).forEach((t=>{if("Favourite"===t){if(0!==de.length&&e.FavouriteSettings>0&&(o.appendChild(Xn(t,_n[t])),e.Header[t]))for(let e=0;e{const n=Xn(t,Qn[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(bn).forEach((e=>{bn[e].group===t&&o.appendChild(qn(e))}))})):Object.keys(bn).forEach((e=>{bn[e].group===t&&o.appendChild(qn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Nn(cn)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",Vn(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){$n("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},B.sayTime=Game.sayTime,V=function(e,t){return Number.isNaN(e)||e<=0?B.sayTime(e,t):ue(e/Game.fps,1)},B.Logic=Game.Logic,Game.Logic=function(){B.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),ce=`${Game.OnAscend?"Ascending! ":""}${pe(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=ce;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=Vt?Vt.wrath?`[W${Math.ceil(Vt.life/Game.fps)}]`:`[G${Math.ceil(Vt.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil(_t.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=ce;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;Vt&&(t=!0,Vt.wrath?e+=`[W${Math.ceil(Vt.life/Game.fps)}]`:e+=`[G${Math.ceil(Vt.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil(_t.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${pe(Game.prestige)}.
(CpS +${pe(Game.prestige)}%)`,n+='
'),n+=Oe<1?"Ascending now would grant you no prestige.":Oe<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${pe(Oe)} prestige levels (+${pe(Oe)}% CpS)
and ${pe(Oe)} heavenly chips to spend.`,n+='
',n+=`You need ${pe(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${Qt} to reach the next level and you were making ${pe(ht,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Jn(){wn(),an(),sn(),r=Object.keys(Game.mods).length,M=document.createElement("style"),M.type="text/css",M.id="CMCSS",document.head.appendChild(M),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=E+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",W)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",O)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",O)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",O)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{go(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=ho("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:D},{id:"CMTimerBarGCBar",color:j}]);e.appendChild(t);const o=ho("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:D},{id:"CMTimerBarRenBar",color:L}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=N+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(O,"Better than the best PP of a building option")),e.appendChild(o(F,"Same as the best PP building option")),e.appendChild(o(W,"Within the top 10 of PP for buildings")),e.appendChild(o(L,"Within the top 20 of PP for buildings")),e.appendChild(o(A,"Within the top 30 of PP for buildings")),e.appendChild(o(j,"Outside of the top 30 of PP for buildings")),e.appendChild(o(D,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=E+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",O)),e.appendChild(o("CMUpgradeBarGreen",F)),e.appendChild(o("CMUpgradeBarYellow",W)),e.appendChild(o("CMUpgradeBarOrange",L)),e.appendChild(o("CMUpgradeBarRed",A)),e.appendChild(o("CMUpgradeBarPurple",j)),e.appendChild(o("CMUpgradeBarGray",D)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(R).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),I[e]=n}(R[e][0],R[e][1],R[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){On()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==wt[1]&&(Game.wrinklers[wt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(T[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),Wn(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),An()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){_=1},l("backgroundLeftCanvas").onmouseout=function(){_=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{X[e]=0}))},Kn(),An(),Game.CalculateGains(),Nn(),z=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const Zn={init:function(){xn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Jn(),Game.registerHook("draw",Oo),Game.registerHook("logic",Pn),Game.registerHook("click",Fo),xn=!1)},load:function(e){const t=JSON.parse(e);wn(),void 0!==t.favouriteSettings&&(de=t.favouriteSettings),Nn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:kn};Game.registerMod("CookieMonster",Zn)})()})(); diff --git a/dist/CookieMonster.js.map b/dist/CookieMonster.js.map index c0cf8bd..e5144d2 100644 --- a/dist/CookieMonster.js.map +++ b/dist/CookieMonster.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack://cookiemonster-mod/CookieMonster.js"],"names":["__webpack_modules__","877","module","global","factory","exports","document","win","Error","window","this","BoxShadow","funcName","elm","jsc","jscolor","initialized","instances","readyQueue","register","addEventListener","pub","init","installBySelector","selector","rootNode","node","elms","querySelectorAll","matchClass","RegExp","lookupClass","i","length","dataOpts","m","undefined","type","toLowerCase","isColorAttrSupported","getDataAttr","className","match","targetElm","optsStr","console","warn","docsRef","opts","trim","parseOptionsStr","e","str","JSON","parse","eParse","looseJSON","Function","eEval","getInstances","inst","targetElement","push","createEl","tagName","el","createElement","setData","nodeOrSelector","sel","querySelector","isNode","val","Node","nodeType","nodeName","removeChildren","firstChild","removeChild","isTextInput","isButton","n","indexOf","isButtonEmpty","value","textContent","isPassiveEventSupported","supported","Object","defineProperty","get","removeEventListener","setAttribute","dataProp","obj","arguments","data","hasOwnProperty","prop","map","removeData","getData","setDefault","name","attrName","getAttribute","setDataAttr","_attachedGroupEvents","attachGroupEvent","groupName","evnt","func","detachGroupEvents","evt","preventDefault","returnValue","captureTarget","target","setCapture","_capturedTarget","releaseTarget","releaseCapture","triggerEvent","eventName","bubbles","cancelable","ev","Event","createEvent","initEvent","dispatchEvent","triggerInputEvent","eventKey","keys","9","13","27","code","keyCode","strList","replace","split","hasClass","classList","contains","addClass","classNames","add","removeClass","repl","remove","getCompStyle","getComputedStyle","currentStyle","setStyle","styles","important","reversible","priority","origStyle","setVal","style","setProperty","hexColor","r","g","b","Math","round","toString","substr","toUpperCase","hexaColor","a","rgbColor","rgbaColor","linearGradient","stdName","prefixes","helper","tryFunc","tryVal","background","getFuncName","Array","prototype","join","call","setBorderRadius","border-radius","setBoxShadow","box-shadow","getElementPos","relativeToViewport","x","y","rect","getBoundingClientRect","left","top","viewPos","getViewPos","getElementSize","offsetWidth","offsetHeight","getAbsPointerPos","changedTouches","clientX","clientY","getRelPointerPos","targetRect","srcElement","doc","documentElement","pageXOffset","scrollLeft","clientLeft","pageYOffset","scrollTop","clientTop","getViewSize","innerWidth","clientWidth","innerHeight","clientHeight","RGB_HSV","min","v","max","h","HSV_RGB","s","u","floor","parseColorString","ret","rgba","format","parseInt","charAt","mR","mG","mB","mA","par","re","parseFloat","parsePaletteValue","mixed","vals","isArray","colors","color","containsTranparentColor","isAlphaFormat","scaleCanvasForHighDPR","canvas","dpr","devicePixelRatio","width","height","getContext","scale","genColorPreviewCanvas","separatorPos","specWidth","scaleForHighDPR","sepW","previewSeparator","sqSize","chessboardSize","sqColor1","chessboardColor1","sqColor2","chessboardColor2","cWidth","cHeight","ctx","fillStyle","fillRect","start","clearRect","lineWidth","beginPath","strokeStyle","moveTo","lineTo","stroke","genColorPreviewGradient","position","params","right","apply","redrawPosition","picker","owner","tp","vp","thisObj","fixed","c","ts","vs","pd","getPickerDims","ps","borderW","borderH","l","smartPosition","pp","positionValue","contractShadow","_drawPosition","vShadow","shadowBlur","wrap","boxS","shadow","shadowColor","w","controlBorderWidth","sliderSpace","getControlPadding","sliderSize","getSliderChannel","hasAlphaChannel","pal","getPaletteDims","padding","closeButton","buttonHeight","pW","pH","contentW","contentH","paddedW","paddedH","borderWidth","palette","cols","rows","cellW","cellH","sampleCount","_palette","paletteCols","ceil","paletteSpacing","paletteHeight","pointerBorderWidth","pointerThickness","getPadYChannel","mode","triggerCallback","callback","error","triggerGlobal","eventNames","trigger","_pointerMoveEvent","mouse","touch","_pointerEndEvent","_pointerOrigin","onDocumentKeyUp","tryHide","onWindowResize","onWindowScroll","onParentScroll","onDocumentMouseDown","showOnClick","disabled","show","onControlPointerStart","onPickerTouchStart","controlName","pointerType","registerDragEvents","offset","onDocumentPointerMove","onDocumentPointerEnd","parent","frameElement","ofs","abs","rel","channels","fromHSVA","setPad","setSld","setASld","onPaletteSampleClick","currentTarget","_setFormat","getFormat","paletteSetsAlpha","_paletteHasTransparency","fromRGBA","hideOnPaletteClick","hide","ofsX","ofsY","pointerAbs","xVal","yVal","fmt","createPadCanvas","draw","hGrad","createLinearGradient","addColorStop","vGrad","createSliderGradient","color1","color2","grad","createASliderGradient","hShadow","blur","spread","inset","flags","leaveValue","leaveAlpha","leavePreview","enumOpts","previewPosition","alphaChannel","deprecatedOpts","styleElement","onFineChange","overwriteImportant","closable","insetWidth","insetColor","refine","THIS","setOption","option","oldOpt","newOpt","setter","getOption","getter","drawPicker","_processParentElementsInDOM","box","boxB","pad","padB","padM","padCanvas","cross","crossBY","crossBX","crossLY","crossLX","sld","sldB","sldM","sldGrad","sldPtrS","sldPtrIB","sldPtrMB","sldPtrOB","asld","asldB","asldM","asldGrad","asldPtrS","asldPtrIB","asldPtrMB","asldPtrOB","btn","btnT","appendChild","passive","insetColors","outsetColor","p","displaySlider","displayAlphaSlider","pickerDims","crossOuterSize","crossSize","controlPadding","borderRadius","PI","clear","zIndex","border","borderColor","backgroundColor","opacity","controlBorderColor","cursor","instance","control","pointerBorderColor","pointerColor","overflow","display","sliderInnerSpace","innerHTML","chessboard","si","sampleColor","sampleCssColor","sc","sw","backgroundImage","toDataURL","backgroundRepeat","backgroundPosition","bottom","maxWidth","whiteSpace","buttonColor","font","textAlign","onmousedown","lineHeight","createTextNode","closeText","redrawPad","redrawSld","redrawASld","activeClassName","container","body","parentNode","yChannel","rgb1","rgb2","rgb","toHEXString","sldChannel","isPickerOwner","alpha","onChange","onInput","valueElement","alphaElement","previewElement","previewSize","previewPadding","required","hash","uppercase","forceStyle","hideOnLeave","minS","maxS","minV","maxV","minA","maxA","redraw","exposeColor","success","opt","channel","res","evs","callbackProp","isNaN","hsv","fromHSV","fromRGB","fromString","setPreviewElementBg","setValueElementValue","toHEXAString","toRGBString","toRGBAString","toGrayscale","toCanvas","toBackground","isLight","_currentFormat","processValueInput","processAlphaInput","colorStr","alphaVal","setAlphaElementValue","backgrounds","image","size","repeat","origin","preview","bg","sty","background-image","background-position","background-size","background-repeat","background-origin","padding-left","padding-right","_parentElementsProcessed","compStyle","set__palette","options","presetsArr","preset","slice","pres","presets","nonProperties","test","min-width","valueElementOrigEvents","oninput","oldVal","initValue","initAlpha","install","shift","ready","triggerNow","installByClassName","JSColor","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__esModule","d","definition","key","o","enumerable","CMOptions","ToggleWrinklerButtons","WrinklerButtons","Game","elderWrath","metric","shortScale","shortScaleAbbreviated","LastModCount","TooltipLumpBackup","BackupGrimoireLaunch","BackupGrimoireLaunchMod","BackupGrimoireDraw","HasReplaceNativeGrimoireLaunch","HasReplaceNativeGrimoireDraw","LoadMinigames","LastSeasonPopupState","LastTickerFortuneState","LastGardenNextStep","LastGoldenCookieState","LastSpawnedGoldenCookieState","LastMagicBarFull","CurrSpawnedGoldenCookieState","LastWrinklerCount","CycliusDateAtBeginLoop","CenturyDateAtBeginLoop","DispCSS","TooltipBuildBackup","TooltipGrimoireBackup","TooltipUpgradeBackup","BackupFunctions","ColourTextPre","ColourBackPre","ColourBlue","ColourGreen","ColourYellow","ColourOrange","ColourRed","ColourPurple","ColourGray","ColourPink","ColourBrown","ColoursOrdering","TooltipText","SimpleTooltipElements","CMLastAscendState","CMSayTime","TooltipWrinklerArea","TooltipWrinkler","TooltipWrinklerBeingShown","LastTargetBotBar","LastTargetBuildings","LastTargetTooltipBuilding","CookieTimes","ClickTimes","BuffColours","Frenzy","Dragon Harvest","Elder frenzy","Clot","Click frenzy","Dragonflight","TooltipPrice","TooltipBonusIncome","TooltipType","TooltipName","TooltipBonusMouse","LastAscendState","LastNumberOfTimers","GCTimers","Title","FavouriteSettings","BeautifyFormatting_Beautify","num","floats","forced","decimals","ScaleDecimals","Infinity","Scale","Beautify","Number","isFinite","answer","ScaleCutoff","ScaleSeparator","toLocaleString","toExponential","exponential","AmountOfTenPowerThree","toFixed","log","FormatTime","time","longFormat","formattedTime","TimeFormat","GetTimeColour","text","CacheAverageCookiesFromClicks","CookiesDiff","WrinkDiff","WrinkFattestDiff","ChoEggDiff","ClicksDiff","HeavenlyChipsDiff","CacheLastCPSCheck","CacheLastCookies","CacheLastWrinkCookies","CacheLastWrinkFattestCookies","CacheLastClicks","CacheAverageGainBank","CacheAverageGainWrink","CacheAverageGainWrinkFattest","CacheAverageGainChoEgg","CacheAverageCPS","CacheLastHeavenlyCheck","CacheLastHeavenlyChips","CacheDoRemakeBuildPrices","CacheHadBuildAura","SimBuildingsOwned","SimUpgradesOwned","SimPledges","SimAchievementsOwned","SimHeavenlyPower","SimPrestige","SimDragonAura","SimDragonAura2","SimGod1","SimGod2","SimGod3","SimDoSims","SimEffs","SimCookiesPs","SimCookiesPsRaw","CacheDragonAura","CacheDragonAura2","CacheLastDragonLevel","CacheCostDragonUpgrade","CacheLucky","CacheLuckyReward","CacheLuckyWrathReward","CacheLuckyFrenzy","CacheLuckyRewardFrenzy","CacheLuckyWrathRewardFrenzy","CacheConjure","CacheConjureReward","CacheEdifice","CacheEdificeBuilding","CacheNoGoldSwitchCookiesPS","CacheDragonsFortuneMultAdjustment","CacheGoldenCookiesMult","CacheWrathCookiesMult","CacheHCPerSecond","CacheCentEgg","CacheSeaSpec","CacheLastChoEgg","CacheObjects1","CacheObjects10","CacheObjects100","CacheWrinklersTotal","CacheWrinklersNormal","CacheWrinklersFattest","CacheCurrWrinklerCPSMult","CacheCurrWrinklerCount","CacheUpgrades","CacheAverageClicks","CacheMissingUpgrades","CacheMissingUpgradesPrestige","CacheMissingUpgradesCookies","CacheChainRequired","CacheChainRequiredNext","CacheChainMaxReward","CacheChainWrathRequired","CacheChainWrathRequiredNext","CacheChainWrathMaxReward","CacheChainFrenzyRequired","CacheChainFrenzyRequiredNext","CacheChainFrenzyMaxReward","CacheChainFrenzyWrathRequired","CacheChainFrenzyWrathRequiredNext","CacheChainFrenzyWrathMaxReward","CacheRealCookiesEarned","CacheAvgCPSWithChoEgg","CacheSpawnedGoldenShimmer","CacheSeasonPopShimmer","CacheTimeTillNextPrestige","CacheMinPP","CachePPArray","CacheGoldenShimmersByID","CacheSellForChoEgg","CacheGods","0","1","2","3","4","5","6","7","8","10","SimObjects","SimUpgrades","SimAchievements","SimAuraMult","what","dragonAuras","SimGetSellMultiplier","giveBack","SimEff","def","SimHas","it","ascensionMode","pool","tier","bought","SimHasGod","hasGod","Temple","minigame","Objects","god","gods","id","SimModifyBuildingPrice","building","price","ModifiedPrice","hasBuff","fortune","minigameLoaded","godLvl","BuildingSell","build","basePrice","free","amount","noSim","noSimRes","toChange","startingAmount","moni","buyBulk","priceIncrease","modifyBuildingPrice","getSellMultiplier","UpdateBuildings","buyMode","BuildColour","forEach","removeProperty","SortBuildings","arr","k","sort","gridRow","UpdateUpgrades","UpBarColour","blue","green","yellow","orange","red","purple","gray","UpgradesInStore","me","addedColour","j","childNodes","div","SortUpgrades","nameChecker","arr2","upgrade","findIndex","order","GetCPS","CPSMode","CalcWrink","cookiesPs","cpsSucked","wrinklers","GetWrinkConfigBank","CreateTimer","bars","timerBar","margin","fontSize","marginRight","verticalAlign","colorBar","borderTopRightRadius","borderBottomRightRadius","timer","marginLeft","CreateBotBarBuildingColumn","buildingName","bonus","header","substring","lastChild","paddingLeft","UpdateBotBar","BotBar","count","PPString","PPDisplayTime","timeColour","bulkPrice","cookies","UpdateBackground","Background","LeftBackground","UpdateBotTimerBarPosition","TimerBar","TimerBarPos","ToggleTimerBar","CacheDragonAuras","dragonAura","dragonAura2","InitAchievement","achievementName","Achievements","you","SimGetTieredCpsMult","mult","tieredUpgrades","Tiers","special","synergies","syn","buildingTie1","buildingTie2","grandma","Grandma","misfortune","vanilla","InitialBuildingData","cps","magicCpS","ComputeCps","GrandmaSynergies","UpgradesByPool","kitten","Portal","baseCps","baseCPS","InitUpgrade","upgradeName","Upgrades","power","level","pow","CopyData","UpgradesOwned","pledges","AchievementsOwned","heavenlyPower","prestige","totalCookies","slot","won","TooltipCreateHeader","fontWeight","TooltipCreateCalculationSection","tooltip","income","marginBottom","click","production","CalculateGrimoireRefillTime","currentMagic","maxMagic","targetMagic","magic","fps","GetCPSBuffMult","buffs","multCpS","ToggleToolWarnPos","ToolWarnPos","UpdateTooltips","tooltipBox","paddingBottom","TooltipCreateTooltipBox","TooltipBuildUpgrade","increase","productionAchievs","HasAchiev","achiev","nextProductionAchiev","Building","getPrice","bonusMouse","previousSibling","chocolate","Upgrade","TooltipLump","lumpType","lumpColour","lumpCurrentType","SugarLump","spellCost","getSpellCost","spellsById","TooltipGrim","magicM","recover","recoverColour","conjure","reward","seperator","loss","Grimoire","Farm","TooltipPlots","plot","mature","plantsById","plantName","GardenPlots","totalGain","mortal","tile","immortal","matureBase","HarvestAll","WrinklerReward","WrinklerButton","TooltipPantheon","GodID","cps1","cps2","cps3","PantheonGods","getElementById","TooltipWarn","create","boxId","labelTextFront","labelTextBack","deficitId","transition","labelDiv","labelSpan","deficitDiv","deficitSpan","ToolWarnUser","TooltipCreateWarningSection","bonusIncomeUsed","ToolWarnBon","limitLucky","bonusNoFren","ToolWarnLucky","ToolWarnLuckyFrenzy","limitLuckyFrenzy","ToolWarnConjure","limitConjure","ToolWarnConjureFrenzy","limitConjureFrenzy","ToolWarnEdifice","children","Warnings","CMDrawHook","prefs","autosave","drawT","onMenu","Stats","innerText","sayTime","T","maxWidthTwoBar","maxWidthOneBar","numberOfTimers","shimmerTypes","golden","spawned","Has","minTime","maxTime","TimerBarOverlay","season","reindeer","BuffTimerBars","classColour","UpdateTimerBar","TooltipWrink","showingTooltip","phase","selected","placeholder","wrinkler","minWidth","escape","CheckWrinklerTooltip","sucked","toSuck","UpdateWrinklerTooltip","UpStats","UpdateMenu","monospace","CMClickHook","addLatest","computedMouseCps","CMAvgQueue","[object Object]","maxLength","queue","newValue","timePeriod","reduce","CacheAvgCPS","currDate","Date","now","choEggTotal","cookiesEarned","timeDiff","bankDiffAvg","wrinkDiffAvg","wrinkFattestDiffAvg","choEggDiffAvg","clicksDiffAvg","cookieClicks","cpsLength","AvgCPSHist","calcAverage","choEgg","HasUnlocked","AvgClicksHist","ColourOfPP","PPSecondsLowerLimit","PPOnlyConsiderBuyable","CacheColour","PPRigidelMode","getSumPrice","PPExcludeTop","CachePP","PP_CachePP","indexOfMin","CacheBuildingsPP","BuildingGetPrice","SimWin","CalculateGains","effs","myEffs","ii","heavenlyMult","SimGetHeavenlyMultiplier","heralds","cookieUpgrades","buildMult","sin","santaLevel","milkProgress","milkMult","catMult","storedCps","eggMult","day","startDate","lumps","rawCookiesPs","CpsAchievements","threshold","auraMult","bakeryName","goldenSwitchMult","upgrades","goldenCookieUpgrades","veilMult","runModHookOnValue","Fortunes","HalloCookies","ChristCookies","ValCookies","PlantDrops","SimHasAchiev","CheckOtherAchiev","grandmas","buildingsOwned","mathematician","base10","minAmount","ObjectsById","Cursor","hasAllHalloCook","hasAllChristCook","list","fortunes","CacheBuildingIncome","result","tieredAchievs","achievUnlock","lastAchievementsOwned","BuyBuildingsBonusIncome","CacheBuildingsPrices","CacheIncome","bonusIncome","unlocked","CountsAsUpgradeOwned","diffMouseCPS","multClick","out","MouseCps","BuyUpgradesBonusIncome","MaxChainCookieReward","digit","maxPayout","totalFromChain","nextMoni","nextRequired","chain","LN10","CacheChain","cpsBuffMult","CacheHeavenlyChipsPS","chipsOwned","HowMuchPrestige","cookiesReset","ascendNowToGet","heavenlyChipsDiffAvg","CacheAllMissingUpgrades","classes","noFrame","crates","icon","iconFunction","getDynamicTooltip","crateMissing","CacheSeasonSpec","CacheStatsCookies","CacheGoldenAndWrathCookiesMults","goldenMult","wrathMult","eff","CacheWrinklers","InitCache","SettingsDefault","DetailedTime","UpgradeBarFixedPos","DragonAuraInfo","GrimoireBar","GCTimer","Favicon","HideSectionsButtons","TooltipAmor","TooltipAscendButton","MissingUpgrades","MissingAchievements","HeavenlyChipsTarget","ShowMissedGC","GeneralSound","GCNotification","GCFlash","ColourGCFlash","GCSound","GCVolume","GCSoundURL","FortuneNotification","FortuneFlash","ColourFortuneFlash","FortuneSound","FortuneVolume","FortuneSoundURL","SeaNotification","SeaFlash","ColourSeaFlash","SeaSound","SeaVolume","SeaSoundURL","GardFlash","ColourGardFlash","GardSound","GardVolume","GardSoundURL","MagicNotification","MagicFlash","ColourMagicFlash","MagicSound","MagicVolume","MagicSoundURL","WrinklerNotification","WrinklerFlash","ColourWrinklerFlash","WrinklerSound","WrinklerVolume","WrinklerSoundURL","WrinklerMaxNotification","WrinklerMaxFlash","ColourWrinklerMaxFlash","WrinklerMaxSound","WrinklerMaxVolume","WrinklerMaxSoundURL","BulkBuyBlock","Header","Favourite","Calculation","Notation","Colours","BarsDisplay","Tooltip","Statistics","Notification","NotificationGeneral","NotificationGC","NotificationFC","NotificationSea","NotificationGard","NotificationMagi","NotificationWrink","NotificationWrinkMax","Miscellaneous","Lucky","Chain","Spells","Garden","Prestige","Wrink","Sea","Misc","InfoTab","Config_CheckNotificationPermissions","ToggleOnOff","checkNotificationPromise","requestPermission","then","ToggleBotBar","RefreshScale","BeautifyAll","RefreshStore","RebuildUpgrades","UpdateFavicon","wrath","href","Setting","group","SettingStandard","label","desc","toggle","super","SettingColours","SettingVolume","SettingInputNumber","SettingsData","insertBefore","UpBarColor","save","stringify","favouriteSettings","settings","version","CacheDragonCost","dragonLevel","dragonLevels","buy","includes","replaceAll","cost","CalculateChangeGod","InitData","isInitializing","Flash","config","setTimeout","Sound_PlaySound","url","sndConfig","volConfig","sound","Audio","volume","play","CreateNotification","notifyConfig","title","message","visibilityState","badge","CMLoopHook","OnAscend","AscendTimer","mods","CachePantheonGods","sellTotal","Bank","marketGoods","goods","goodsVal","marketGood","stock","cookiesPsRawHighest","buildingsToSacrifice","highestBuilding","SellBuildingsForChoEgg","CacheSellAllForChoEgg","hasBuildAura","godMult","CacheCurrWrinklerCPS","cookiesToNext","HowManyCookiesReset","LoopCache","shimmers","spawnLead","cookie","fontFamily","onclick","pop","onmouseover","filter","webkitFilter","onmouseout","CreateGCTimer","transform","life","TickerEffect","nextStep","CheckMagicMeter","CurrentWrinklers","getWrinklersMax","CheckWrinklerCount","UpdateColours","SaveConfig","saveString","b64_to_utf8","unescape","localStorage","getItem","CookieMonsterSave","newSaveString","setItem","utf8_to_b64","LoadConfig","CMConfig","Colors","mod","PopAllNormalWrinklers","hp","CreateTooltip","buildPrice","amortizeAmount","storedTotalCps","globalCpsMult","crateTooltip","lumpTooltip","spellTooltip","tileTooltip","toolTooltip","godTooltip","slotTooltip","area","ReplaceTooltipGrimoire","dynamic","wobble","ReplaceNativeGrimoireDraw","magicBarTextL","ReplaceNativeGrimoire","launch","ReplaceNativeGrimoireLaunch","jscolor_default","ToggleSetting_ConfigPrefix","ToggleConfigVolume","ToggleHeader","StatsHeader","span","StatsListing","listingName","StatsMissDisp","theMissDisp","frag","createDocumentFragment","missing","AddMenuStats","stats","goldCookTooltip","section","luckyColour","luckyTime","luckyReqFrag","luckyReqSpan","luckyReqSmall","luckyColourFrenzy","luckyTimeFrenzy","luckyReqFrenFrag","luckyReqFrenSpan","luckyReqFrenSmall","luckySplit","luckyRewardMaxSpan","luckyRewardFrenzyMaxSpan","luckyCurBase","luckyCurSpan","LuckySection","chainColour","chainTime","chainReqFrag","chainReqSpan","chainReqSmall","chainWrathColour","chainWrathTime","chainWrathReqFrag","chainWrathReqSpan","chainWrathReqSmall","chainColourFrenzy","chainTimeFrenzy","chainReqFrenFrag","chainReqFrenSpan","chainReqFrenSmall","chainWrathColourFrenzy","chainWrathTimeFrenzy","chainWrathReqFrenFrag","chainWrathReqFrenSpan","chainWrathReqFrenSmall","chainCurMax","chainCur","chainCurWrath","ChainSection","conjureColour","conjureTime","conjureReqFrag","conjureReqSpan","conjureReqSmall","conjureFrenzyColour","conjureFrenzyCur","conjureFrenzyTime","conjureFrenzyReqFrag","conjureFrenzyReqSpan","conjureFrenzyReqSmall","SpellsSection","bakeberryColour","bakeberryFrag","chocorootColour","chocorootFrag","queenbeetColour","queenbeetFrag","duketaterColour","duketaterFrag","missingPlantDrops","GardenSection","possiblePresMax","neededCook","cookiesNextFrag","cookiesNextSmall","heavenlyChips","HCTarget","CookiesTillTarget","resetBonus","newHeavenlyChips","curCPS","ResetCPS","ResetBonus","resetFrag","resetSmall","currentPrestige","willHave","willGet","delta7","next7Reset","next7Total","frag7","delta777","next777Reset","next777Total","frag777","delta777777","next777777Reset","next777777Total","frag777777","PrestigeSection","popAllFrag","popAllA","popFattestFrag","popFattestA","specDisp","missingHalloweenCookies","missingChristmasCookies","missingValentineCookies","missingNormalEggs","eggDrops","missingRareEggs","rareEggDrops","centEgg","failRateHalloween","dropRateMult","obtainedCookiesChance","failRateChristmas","dropRateEgg","StartingFailRate","failRateEgg","succesRateEgg","obtainedEggs","obtainedRareEggs","pNormal1","pRare1","pRedrop","SeasonSection","calcSum","missedGoldenClicks","menuSection","prestigeUpgradesMissing","titlefrag","PrestigeUpgrades","normalUpgradesMissing","tech","nextSibling","cookieUpgradesMissing","achievs","values","parentElement","achievsCrate","AchievementsById","mouseDown","setOnCrate","tags","neuromancy","sesame","descFunc","tagsStr","CrateTooltipLockedAchievements","AddMissingAchievements","ConfigGroups","ConfigGroupsNotification","CreatePrefHeader","CreatePrefOption","FavStar","ele","ToggleFavouriteSetting","FavouriteSettingPlaceholder","CreateFavouriteStar","ToggleConfig","float","percent","slider","step","onchange","input","readOnly","inputPrompt","content","promptWrapL","promptL","PlaySound","promptAnchorL","darkenL","focus","promptOn","UpdatePrompt","CookieMonsterPrompt","outerHTML","ClosePrompt","innerSpan","FixMouseY","timerBarHeight","mouseY","ReplaceNative","drawMod","from","update","updateMod","warnOffset","tta","tt","UpdateTooltipLocation","UpdateWrinklers","UpdateSpecial","ClickCookie","ClickProduct","DescribeDragonAura","aura","bonusCPS","priceOfChange","CalculateChangeAura","timeToRecover","bonusCPSPercentage","minHeight","div2","AddAuraInfo","ToggleSpecialMenu","on","shouldHide","AddDragonLevelUpTooltip","index","subGroup","subGroupObject","resDef","resDefBut","AddMenuPref","info","description","notes","menu","AddMenuInfo","AddMenu","detail","Logic","titleGC","titleFC","titleSP","addFC","addSP","lastIndexOf","spawn","UpdateTitle","ReplaceAscendTooltip","InitializeCookieMonster","head","backgroundColour","borderTop","textShadow","table","tbody","firstCol","td","CreateBotBar","CMTimerBarGC","CMTimerBarRen","TimerBarBuffTimers","CreateTimerBar","UpgradeBar","legend","legendLine","CreateUpgradeBarLegend","upgradeNumber","CreateUpgradeBar","WhiteScreen","CreateFlashScreen","CreateSectionHideButtons","getElementsByTagName","CreateFavicon","CreateSimpleTooltip","append","CreateWrinklerButtons","canLumps","child","coords","ReplaceTooltipPantheon","popups","Popup","Notify","Win","CM","proceed","confirm","registerHook","load","registerMod"],"mappings":"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C,KAAKC,YACpC1U,EAAE,8BAA8BnJ,MAAMqV,QAAU,GAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,KAE9ClM,EAAE,8BAA8BnJ,MAAMqV,QAAU,OAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,QAQlD,MAAMyI,EAAS,CAAC,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAGhDC,EAAa,CACjB,GACA,GACA,IACA,IACA,KACA,QACA,QACA,OACA,OACA,MACA,MACA,MACA,QACA,SACA,SACA,cACA,UACA,SACA,YACA,UACA,WACA,SACA,WACA,YACA,YACA,kBAIIC,EAAwB,CAC5B,GACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,OAMF,IAAIC,EAEAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAIAC,EAIAC,EAOAC,EAlCAC,EAAqB,GAErBC,EAAwB,GACxBC,EAAuB,GAOvBC,EAAkB,GA6BtB,MAAMC,EAAgB,SAChBC,EAAgB,SAMhBC,EAAa,OACbC,EAAc,QACdC,EAAe,SACfC,EAAe,SACfC,EAAY,MACZC,EAAe,SACfC,EAAa,OACbC,EAAa,OACbC,EAAc,QACdC,EAAkB,CACtBH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","file":"./CookieMonster.js","sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack://cookiemonster-mod/CookieMonster.js"],"names":["__webpack_modules__","877","module","global","factory","exports","document","win","Error","window","this","BoxShadow","funcName","elm","jsc","jscolor","initialized","instances","readyQueue","register","addEventListener","pub","init","installBySelector","selector","rootNode","node","elms","querySelectorAll","matchClass","RegExp","lookupClass","i","length","dataOpts","m","undefined","type","toLowerCase","isColorAttrSupported","getDataAttr","className","match","targetElm","optsStr","console","warn","docsRef","opts","trim","parseOptionsStr","e","str","JSON","parse","eParse","looseJSON","Function","eEval","getInstances","inst","targetElement","push","createEl","tagName","el","createElement","setData","nodeOrSelector","sel","querySelector","isNode","val","Node","nodeType","nodeName","removeChildren","firstChild","removeChild","isTextInput","isButton","n","indexOf","isButtonEmpty","value","textContent","isPassiveEventSupported","supported","Object","defineProperty","get","removeEventListener","setAttribute","dataProp","obj","arguments","data","hasOwnProperty","prop","map","removeData","getData","setDefault","name","attrName","getAttribute","setDataAttr","_attachedGroupEvents","attachGroupEvent","groupName","evnt","func","detachGroupEvents","evt","preventDefault","returnValue","captureTarget","target","setCapture","_capturedTarget","releaseTarget","releaseCapture","triggerEvent","eventName","bubbles","cancelable","ev","Event","createEvent","initEvent","dispatchEvent","triggerInputEvent","eventKey","keys","9","13","27","code","keyCode","strList","replace","split","hasClass","classList","contains","addClass","classNames","add","removeClass","repl","remove","getCompStyle","getComputedStyle","currentStyle","setStyle","styles","important","reversible","priority","origStyle","setVal","style","setProperty","hexColor","r","g","b","Math","round","toString","substr","toUpperCase","hexaColor","a","rgbColor","rgbaColor","linearGradient","stdName","prefixes","helper","tryFunc","tryVal","background","getFuncName","Array","prototype","join","call","setBorderRadius","border-radius","setBoxShadow","box-shadow","getElementPos","relativeToViewport","x","y","rect","getBoundingClientRect","left","top","viewPos","getViewPos","getElementSize","offsetWidth","offsetHeight","getAbsPointerPos","changedTouches","clientX","clientY","getRelPointerPos","targetRect","srcElement","doc","documentElement","pageXOffset","scrollLeft","clientLeft","pageYOffset","scrollTop","clientTop","getViewSize","innerWidth","clientWidth","innerHeight","clientHeight","RGB_HSV","min","v","max","h","HSV_RGB","s","u","floor","parseColorString","ret","rgba","format","parseInt","charAt","mR","mG","mB","mA","par","re","parseFloat","parsePaletteValue","mixed","vals","isArray","colors","color","containsTranparentColor","isAlphaFormat","scaleCanvasForHighDPR","canvas","dpr","devicePixelRatio","width","height","getContext","scale","genColorPreviewCanvas","separatorPos","specWidth","scaleForHighDPR","sepW","previewSeparator","sqSize","chessboardSize","sqColor1","chessboardColor1","sqColor2","chessboardColor2","cWidth","cHeight","ctx","fillStyle","fillRect","start","clearRect","lineWidth","beginPath","strokeStyle","moveTo","lineTo","stroke","genColorPreviewGradient","position","params","right","apply","redrawPosition","picker","owner","tp","vp","thisObj","fixed","c","ts","vs","pd","getPickerDims","ps","borderW","borderH","l","smartPosition","pp","positionValue","contractShadow","_drawPosition","vShadow","shadowBlur","wrap","boxS","shadow","shadowColor","w","controlBorderWidth","sliderSpace","getControlPadding","sliderSize","getSliderChannel","hasAlphaChannel","pal","getPaletteDims","padding","closeButton","buttonHeight","pW","pH","contentW","contentH","paddedW","paddedH","borderWidth","palette","cols","rows","cellW","cellH","sampleCount","_palette","paletteCols","ceil","paletteSpacing","paletteHeight","pointerBorderWidth","pointerThickness","getPadYChannel","mode","triggerCallback","callback","error","triggerGlobal","eventNames","trigger","_pointerMoveEvent","mouse","touch","_pointerEndEvent","_pointerOrigin","onDocumentKeyUp","tryHide","onWindowResize","onWindowScroll","onParentScroll","onDocumentMouseDown","showOnClick","disabled","show","onControlPointerStart","onPickerTouchStart","controlName","pointerType","registerDragEvents","offset","onDocumentPointerMove","onDocumentPointerEnd","parent","frameElement","ofs","abs","rel","channels","fromHSVA","setPad","setSld","setASld","onPaletteSampleClick","currentTarget","_setFormat","getFormat","paletteSetsAlpha","_paletteHasTransparency","fromRGBA","hideOnPaletteClick","hide","ofsX","ofsY","pointerAbs","xVal","yVal","fmt","createPadCanvas","draw","hGrad","createLinearGradient","addColorStop","vGrad","createSliderGradient","color1","color2","grad","createASliderGradient","hShadow","blur","spread","inset","flags","leaveValue","leaveAlpha","leavePreview","enumOpts","previewPosition","alphaChannel","deprecatedOpts","styleElement","onFineChange","overwriteImportant","closable","insetWidth","insetColor","refine","THIS","setOption","option","oldOpt","newOpt","setter","getOption","getter","drawPicker","_processParentElementsInDOM","box","boxB","pad","padB","padM","padCanvas","cross","crossBY","crossBX","crossLY","crossLX","sld","sldB","sldM","sldGrad","sldPtrS","sldPtrIB","sldPtrMB","sldPtrOB","asld","asldB","asldM","asldGrad","asldPtrS","asldPtrIB","asldPtrMB","asldPtrOB","btn","btnT","appendChild","passive","insetColors","outsetColor","p","displaySlider","displayAlphaSlider","pickerDims","crossOuterSize","crossSize","controlPadding","borderRadius","PI","clear","zIndex","border","borderColor","backgroundColor","opacity","controlBorderColor","cursor","instance","control","pointerBorderColor","pointerColor","overflow","display","sliderInnerSpace","innerHTML","chessboard","si","sampleColor","sampleCssColor","sc","sw","backgroundImage","toDataURL","backgroundRepeat","backgroundPosition","bottom","maxWidth","whiteSpace","buttonColor","font","textAlign","onmousedown","lineHeight","createTextNode","closeText","redrawPad","redrawSld","redrawASld","activeClassName","container","body","parentNode","yChannel","rgb1","rgb2","rgb","toHEXString","sldChannel","isPickerOwner","alpha","onChange","onInput","valueElement","alphaElement","previewElement","previewSize","previewPadding","required","hash","uppercase","forceStyle","hideOnLeave","minS","maxS","minV","maxV","minA","maxA","redraw","exposeColor","success","opt","channel","res","evs","callbackProp","isNaN","hsv","fromHSV","fromRGB","fromString","setPreviewElementBg","setValueElementValue","toHEXAString","toRGBString","toRGBAString","toGrayscale","toCanvas","toBackground","isLight","_currentFormat","processValueInput","processAlphaInput","colorStr","alphaVal","setAlphaElementValue","backgrounds","image","size","repeat","origin","preview","bg","sty","background-image","background-position","background-size","background-repeat","background-origin","padding-left","padding-right","_parentElementsProcessed","compStyle","set__palette","options","presetsArr","preset","slice","pres","presets","nonProperties","test","min-width","valueElementOrigEvents","oninput","oldVal","initValue","initAlpha","install","shift","ready","triggerNow","installByClassName","JSColor","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__esModule","d","definition","key","o","enumerable","CMOptions","ToggleWrinklerButtons","WrinklerButtons","Game","elderWrath","metric","shortScale","shortScaleAbbreviated","LastModCount","TooltipLumpBackup","BackupGrimoireLaunch","BackupGrimoireLaunchMod","BackupGrimoireDraw","HasReplaceNativeGrimoireLaunch","HasReplaceNativeGrimoireDraw","LoadMinigames","LastSeasonPopupState","LastTickerFortuneState","LastGardenNextStep","LastGoldenCookieState","LastSpawnedGoldenCookieState","LastMagicBarFull","CurrSpawnedGoldenCookieState","LastWrinklerCount","CycliusDateAtBeginLoop","CenturyDateAtBeginLoop","DispCSS","TooltipBuildBackup","TooltipGrimoireBackup","TooltipUpgradeBackup","BackupFunctions","ColourTextPre","ColourBackPre","ColourBlue","ColourGreen","ColourYellow","ColourOrange","ColourRed","ColourPurple","ColourGray","ColourPink","ColourBrown","ColoursOrdering","TooltipText","SimpleTooltipElements","CMLastAscendState","CMSayTime","TooltipWrinklerArea","TooltipWrinkler","TooltipWrinklerBeingShown","LastTargetBotBar","LastTargetBuildings","LastTargetTooltipBuilding","CookieTimes","ClickTimes","BuffColours","Frenzy","Dragon Harvest","Elder frenzy","Clot","Click frenzy","Dragonflight","TooltipPrice","TooltipBonusIncome","TooltipType","TooltipName","TooltipBonusMouse","LastAscendState","LastNumberOfTimers","GCTimers","Title","FavouriteSettings","BeautifyFormatting_Beautify","num","floats","forced","decimals","ScaleDecimals","Infinity","Scale","Beautify","Number","isFinite","answer","ScaleCutoff","ScaleSeparator","toLocaleString","toExponential","exponential","AmountOfTenPowerThree","toFixed","log","FormatTime","time","longFormat","formattedTime","TimeFormat","GetTimeColour","text","CacheAverageCookiesFromClicks","CookiesDiff","WrinkDiff","WrinkFattestDiff","ChoEggDiff","ClicksDiff","HeavenlyChipsDiff","CacheLastCPSCheck","CacheLastCookies","CacheLastWrinkCookies","CacheLastWrinkFattestCookies","CacheLastClicks","CacheAverageGainBank","CacheAverageGainWrink","CacheAverageGainWrinkFattest","CacheAverageGainChoEgg","CacheAverageCPS","CacheLastHeavenlyCheck","CacheLastHeavenlyChips","CacheDoRemakeBuildPrices","CacheHadBuildAura","SimBuildingsOwned","SimUpgradesOwned","SimPledges","SimAchievementsOwned","SimHeavenlyPower","SimPrestige","SimDragonAura","SimDragonAura2","SimGod1","SimGod2","SimGod3","SimDoSims","SimEffs","SimCookiesPs","SimCookiesPsRaw","CacheDragonAura","CacheDragonAura2","CacheLastDragonLevel","CacheCostDragonUpgrade","CacheLucky","CacheLuckyReward","CacheLuckyWrathReward","CacheLuckyFrenzy","CacheLuckyRewardFrenzy","CacheLuckyWrathRewardFrenzy","CacheConjure","CacheConjureReward","CacheEdifice","CacheEdificeBuilding","CacheNoGoldSwitchCookiesPS","CacheDragonsFortuneMultAdjustment","CacheGoldenCookiesMult","CacheWrathCookiesMult","CacheHCPerSecond","CacheCentEgg","CacheSeaSpec","CacheLastChoEgg","CacheObjects1","CacheObjects10","CacheObjects100","CacheWrinklersTotal","CacheWrinklersNormal","CacheWrinklersFattest","CacheCurrWrinklerCPSMult","CacheCurrWrinklerCount","CacheUpgrades","CacheAverageClicks","CacheMissingUpgrades","CacheMissingUpgradesPrestige","CacheMissingUpgradesCookies","CacheChainRequired","CacheChainRequiredNext","CacheChainMaxReward","CacheChainWrathRequired","CacheChainWrathRequiredNext","CacheChainWrathMaxReward","CacheChainFrenzyRequired","CacheChainFrenzyRequiredNext","CacheChainFrenzyMaxReward","CacheChainFrenzyWrathRequired","CacheChainFrenzyWrathRequiredNext","CacheChainFrenzyWrathMaxReward","CacheRealCookiesEarned","CacheAvgCPSWithChoEgg","CacheSpawnedGoldenShimmer","CacheSeasonPopShimmer","CacheTimeTillNextPrestige","CacheMinPP","CachePPArray","CacheGoldenShimmersByID","CacheSellForChoEgg","CacheGods","0","1","2","3","4","5","6","7","8","10","SimObjects","SimUpgrades","SimAchievements","SimAuraMult","what","dragonAuras","SimGetSellMultiplier","giveBack","SimEff","def","SimHas","it","ascensionMode","pool","tier","bought","SimHasGod","hasGod","Temple","minigame","Objects","god","gods","id","SimModifyBuildingPrice","building","price","ModifiedPrice","hasBuff","fortune","minigameLoaded","godLvl","BuildingSell","build","basePrice","free","amount","noSim","noSimRes","toChange","startingAmount","moni","buyBulk","priceIncrease","modifyBuildingPrice","getSellMultiplier","UpdateBuildings","buyMode","BuildColour","forEach","removeProperty","SortBuildings","arr","k","sort","gridRow","UpdateUpgrades","UpBarColour","blue","green","yellow","orange","red","purple","gray","UpgradesInStore","me","addedColour","j","childNodes","div","SortUpgrades","nameChecker","arr2","upgrade","findIndex","order","GetCPS","CPSMode","CalcWrink","cookiesPs","cpsSucked","wrinklers","GetWrinkConfigBank","CreateTimer","bars","timerBar","margin","fontSize","marginRight","verticalAlign","colorBar","borderTopRightRadius","borderBottomRightRadius","timer","marginLeft","CreateBotBarBuildingColumn","buildingName","bonus","header","substring","lastChild","paddingLeft","UpdateBotBar","BotBar","count","PPString","PPDisplayTime","timeColour","bulkPrice","cookies","UpdateBackground","Background","LeftBackground","UpdateBotTimerBarPosition","TimerBar","TimerBarPos","ToggleTimerBar","CacheDragonAuras","dragonAura","dragonAura2","InitAchievement","achievementName","Achievements","you","SimGetTieredCpsMult","mult","tieredUpgrades","Tiers","special","synergies","syn","buildingTie1","buildingTie2","grandma","Grandma","misfortune","vanilla","InitialBuildingData","cps","magicCpS","ComputeCps","GrandmaSynergies","UpgradesByPool","kitten","Portal","baseCps","baseCPS","InitUpgrade","upgradeName","Upgrades","power","level","pow","CopyData","UpgradesOwned","pledges","AchievementsOwned","heavenlyPower","prestige","totalCookies","slot","won","TooltipCreateHeader","fontWeight","TooltipCreateCalculationSection","tooltip","income","marginBottom","click","production","CalculateGrimoireRefillTime","currentMagic","maxMagic","targetMagic","magic","fps","GetCPSBuffMult","buffs","multCpS","ToggleToolWarnPos","ToolWarnPos","UpdateTooltips","tooltipBox","paddingBottom","TooltipCreateTooltipBox","TooltipBuildUpgrade","increase","productionAchievs","HasAchiev","achiev","nextProductionAchiev","Building","getPrice","bonusMouse","previousSibling","chocolate","Upgrade","TooltipLump","lumpType","lumpColour","lumpCurrentType","SugarLump","spellCost","getSpellCost","spellsById","TooltipGrim","magicM","recover","recoverColour","conjure","reward","seperator","loss","Grimoire","Farm","TooltipPlots","plot","mature","plantsById","plantName","GardenPlots","totalGain","mortal","tile","immortal","matureBase","HarvestAll","WrinklerReward","WrinklerButton","TooltipPantheon","GodID","cps1","cps2","cps3","PantheonGods","getElementById","TooltipWarn","create","boxId","labelTextFront","labelTextBack","deficitId","transition","labelDiv","labelSpan","deficitDiv","deficitSpan","ToolWarnUser","TooltipCreateWarningSection","bonusIncomeUsed","ToolWarnBon","limitLucky","bonusNoFren","ToolWarnLucky","ToolWarnLuckyFrenzy","limitLuckyFrenzy","ToolWarnConjure","limitConjure","ToolWarnConjureFrenzy","limitConjureFrenzy","ToolWarnEdifice","children","Warnings","CMDrawHook","prefs","autosave","drawT","onMenu","Stats","innerText","sayTime","T","maxWidthTwoBar","maxWidthOneBar","numberOfTimers","shimmerTypes","golden","spawned","Has","minTime","maxTime","TimerBarOverlay","season","reindeer","BuffTimerBars","classColour","UpdateTimerBar","TooltipWrink","showingTooltip","phase","selected","placeholder","wrinkler","minWidth","escape","CheckWrinklerTooltip","sucked","toSuck","UpdateWrinklerTooltip","UpStats","UpdateMenu","monospace","CMClickHook","addLatest","computedMouseCps","CMAvgQueue","[object Object]","maxLength","queue","newValue","timePeriod","reduce","CacheAvgCPS","currDate","Date","now","choEggTotal","cookiesEarned","timeDiff","bankDiffAvg","wrinkDiffAvg","wrinkFattestDiffAvg","choEggDiffAvg","clicksDiffAvg","cookieClicks","cpsLength","AvgCPSHist","calcAverage","choEgg","HasUnlocked","AvgClicksHist","ColourOfPP","PPSecondsLowerLimit","PPOnlyConsiderBuyable","CacheColour","PPRigidelMode","getSumPrice","PPExcludeTop","CachePP","PP_CachePP","indexOfMin","CacheBuildingsPP","BuildingGetPrice","SimWin","CalculateGains","effs","myEffs","ii","heavenlyMult","SimGetHeavenlyMultiplier","heralds","cookieUpgrades","buildMult","sin","santaLevel","milkProgress","milkMult","catMult","storedCps","eggMult","day","startDate","lumps","rawCookiesPs","CpsAchievements","threshold","auraMult","bakeryName","goldenSwitchMult","upgrades","goldenCookieUpgrades","veilMult","runModHookOnValue","Fortunes","HalloCookies","ChristCookies","ValCookies","PlantDrops","SimHasAchiev","CheckOtherAchiev","grandmas","buildingsOwned","mathematician","base10","minAmount","ObjectsById","Cursor","hasAllHalloCook","hasAllChristCook","list","fortunes","CacheBuildingIncome","result","tieredAchievs","achievUnlock","lastAchievementsOwned","BuyBuildingsBonusIncome","CacheBuildingsPrices","CacheIncome","bonusIncome","unlocked","CountsAsUpgradeOwned","diffMouseCPS","multClick","out","MouseCps","BuyUpgradesBonusIncome","MaxChainCookieReward","digit","maxPayout","totalFromChain","nextMoni","nextRequired","chain","LN10","CacheChain","cpsBuffMult","CacheHeavenlyChipsPS","chipsOwned","HowMuchPrestige","cookiesReset","ascendNowToGet","heavenlyChipsDiffAvg","CacheAllMissingUpgrades","classes","noFrame","crates","icon","iconFunction","getDynamicTooltip","crateMissing","CacheSeasonSpec","CacheStatsCookies","CacheGoldenAndWrathCookiesMults","goldenMult","wrathMult","eff","CacheWrinklers","InitCache","SettingsDefault","DetailedTime","UpgradeBarFixedPos","DragonAuraInfo","GrimoireBar","GCTimer","Favicon","HideSectionsButtons","TooltipAmor","TooltipAscendButton","MissingUpgrades","MissingAchievements","HeavenlyChipsTarget","ShowMissedGC","GeneralSound","GCNotification","GCFlash","ColourGCFlash","GCSound","GCVolume","GCSoundURL","FortuneNotification","FortuneFlash","ColourFortuneFlash","FortuneSound","FortuneVolume","FortuneSoundURL","SeaNotification","SeaFlash","ColourSeaFlash","SeaSound","SeaVolume","SeaSoundURL","GardFlash","ColourGardFlash","GardSound","GardVolume","GardSoundURL","MagicNotification","MagicFlash","ColourMagicFlash","MagicSound","MagicVolume","MagicSoundURL","WrinklerNotification","WrinklerFlash","ColourWrinklerFlash","WrinklerSound","WrinklerVolume","WrinklerSoundURL","WrinklerMaxNotification","WrinklerMaxFlash","ColourWrinklerMaxFlash","WrinklerMaxSound","WrinklerMaxVolume","WrinklerMaxSoundURL","BulkBuyBlock","Header","Favourite","Calculation","Notation","Colours","BarsDisplay","Tooltip","Statistics","Notification","NotificationGeneral","NotificationGC","NotificationFC","NotificationSea","NotificationGard","NotificationMagi","NotificationWrink","NotificationWrinkMax","Miscellaneous","Lucky","Chain","Spells","Garden","Prestige","Wrink","Sea","Misc","InfoTab","Config_CheckNotificationPermissions","ToggleOnOff","checkNotificationPromise","requestPermission","then","ToggleBotBar","RefreshScale","BeautifyAll","RefreshStore","RebuildUpgrades","UpdateFavicon","wrath","href","Setting","group","SettingStandard","label","desc","toggle","super","SettingColours","SettingVolume","SettingInputNumber","SettingsData","insertBefore","UpBarColor","save","stringify","favouriteSettings","settings","version","CacheDragonCost","dragonLevel","dragonLevels","buy","includes","replaceAll","cost","CalculateChangeGod","InitData","isInitializing","Flash","config","setTimeout","Sound_PlaySound","url","sndConfig","volConfig","sound","Audio","volume","play","CreateNotification","notifyConfig","title","message","visibilityState","badge","CMLoopHook","OnAscend","AscendTimer","mods","CachePantheonGods","sellTotal","Bank","marketGoods","goods","goodsVal","marketGood","stock","cookiesPsRawHighest","buildingsToSacrifice","highestBuilding","SellBuildingsForChoEgg","CacheSellAllForChoEgg","hasBuildAura","godMult","CacheCurrWrinklerCPS","cookiesToNext","HowManyCookiesReset","LoopCache","shimmers","spawnLead","cookie","fontFamily","onclick","pop","onmouseover","filter","webkitFilter","onmouseout","CreateGCTimer","transform","life","TickerEffect","nextStep","CheckMagicMeter","CurrentWrinklers","getWrinklersMax","CheckWrinklerCount","UpdateColours","SaveConfig","saveString","b64_to_utf8","unescape","localStorage","getItem","CookieMonsterSave","newSaveString","setItem","utf8_to_b64","LoadConfig","CMConfig","Colors","mod","PopAllNormalWrinklers","hp","CreateTooltip","buildPrice","amortizeAmount","storedTotalCps","globalCpsMult","crateTooltip","lumpTooltip","spellTooltip","tileTooltip","toolTooltip","godTooltip","slotTooltip","area","ReplaceTooltipGrimoire","dynamic","wobble","ReplaceNativeGrimoireDraw","magicBarTextL","ReplaceNativeGrimoire","launch","ReplaceNativeGrimoireLaunch","jscolor_default","ToggleSetting_ConfigPrefix","ToggleConfigVolume","ToggleHeader","StatsHeader","span","StatsListing","listingName","StatsMissDisp","theMissDisp","frag","createDocumentFragment","missing","AddMenuStats","stats","goldCookTooltip","section","luckyColour","luckyTime","luckyReqFrag","luckyReqSpan","luckyReqSmall","luckyColourFrenzy","luckyTimeFrenzy","luckyReqFrenFrag","luckyReqFrenSpan","luckyReqFrenSmall","luckySplit","luckyRewardMaxSpan","luckyRewardFrenzyMaxSpan","luckyCurBase","luckyCurSpan","LuckySection","chainColour","chainTime","chainReqFrag","chainReqSpan","chainReqSmall","chainWrathColour","chainWrathTime","chainWrathReqFrag","chainWrathReqSpan","chainWrathReqSmall","chainColourFrenzy","chainTimeFrenzy","chainReqFrenFrag","chainReqFrenSpan","chainReqFrenSmall","chainWrathColourFrenzy","chainWrathTimeFrenzy","chainWrathReqFrenFrag","chainWrathReqFrenSpan","chainWrathReqFrenSmall","chainCurMax","chainCur","chainCurWrath","ChainSection","conjureColour","conjureTime","conjureReqFrag","conjureReqSpan","conjureReqSmall","conjureFrenzyColour","conjureFrenzyCur","conjureFrenzyTime","conjureFrenzyReqFrag","conjureFrenzyReqSpan","conjureFrenzyReqSmall","SpellsSection","bakeberryColour","bakeberryFrag","chocorootColour","chocorootFrag","queenbeetColour","queenbeetFrag","duketaterColour","duketaterFrag","missingPlantDrops","GardenSection","possiblePresMax","neededCook","cookiesNextFrag","cookiesNextSmall","heavenlyChips","HCTarget","CookiesTillTarget","resetBonus","newHeavenlyChips","curCPS","ResetCPS","ResetBonus","resetFrag","resetSmall","currentPrestige","willHave","willGet","delta7","next7Reset","next7Total","frag7","delta777","next777Reset","next777Total","frag777","delta777777","next777777Reset","next777777Total","frag777777","PrestigeSection","popAllFrag","popAllA","popFattestFrag","popFattestA","specDisp","missingHalloweenCookies","missingChristmasCookies","missingValentineCookies","missingNormalEggs","eggDrops","missingRareEggs","rareEggDrops","centEgg","failRateHalloween","dropRateMult","obtainedCookiesChance","failRateChristmas","dropRateEgg","StartingFailRate","failRateEgg","succesRateEgg","obtainedEggs","obtainedRareEggs","pNormal1","pRare1","pRedrop","SeasonSection","calcSum","missedGoldenClicks","menuSection","prestigeUpgradesMissing","titlefrag","PrestigeUpgrades","normalUpgradesMissing","tech","nextSibling","cookieUpgradesMissing","achievs","values","parentElement","achievsCrate","AchievementsById","mouseDown","setOnCrate","tags","neuromancy","sesame","descFunc","tagsStr","CrateTooltipLockedAchievements","AddMissingAchievements","ConfigGroups","ConfigGroupsNotification","CreatePrefHeader","CreatePrefOption","FavStar","ele","ToggleFavouriteSetting","FavouriteSettingPlaceholder","CreateFavouriteStar","ToggleConfig","float","percent","slider","step","onchange","input","readOnly","inputPrompt","content","promptWrapL","promptL","PlaySound","promptAnchorL","darkenL","focus","promptOn","UpdatePrompt","CookieMonsterPrompt","outerHTML","ClosePrompt","innerSpan","FixMouseY","timerBarHeight","mouseY","ReplaceNative","drawMod","from","update","updateMod","warnOffset","tta","tt","UpdateTooltipLocation","UpdateWrinklers","UpdateSpecial","ClickCookie","ClickProduct","DescribeDragonAura","aura","bonusCPS","priceOfChange","CalculateChangeAura","timeToRecover","bonusCPSPercentage","minHeight","div2","AddAuraInfo","ToggleSpecialMenu","on","shouldHide","AddDragonLevelUpTooltip","index","subGroup","subGroupObject","resDef","resDefBut","AddMenuPref","info","description","notes","menu","AddMenuInfo","AddMenu","detail","Logic","titleGC","titleFC","titleSP","addFC","addSP","lastIndexOf","spawn","UpdateTitle","ReplaceAscendTooltip","InitializeCookieMonster","head","backgroundColour","borderTop","textShadow","table","tbody","firstCol","td","CreateBotBar","CMTimerBarGC","CMTimerBarRen","TimerBarBuffTimers","CreateTimerBar","UpgradeBar","legend","legendLine","CreateUpgradeBarLegend","upgradeNumber","CreateUpgradeBar","WhiteScreen","CreateFlashScreen","CreateSectionHideButtons","getElementsByTagName","CreateFavicon","CreateSimpleTooltip","append","CreateWrinklerButtons","canLumps","child","coords","ReplaceTooltipPantheon","popups","Popup","Notify","Win","CM","proceed","confirm","registerHook","load","registerMod"],"mappings":"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C,KAAKC,YACpC1U,EAAE,8BAA8BnJ,MAAMqV,QAAU,GAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,KAE9ClM,EAAE,8BAA8BnJ,MAAMqV,QAAU,OAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,QAQlD,MAAMyI,EAAS,CAAC,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAGhDC,EAAa,CACjB,GACA,GACA,IACA,IACA,KACA,QACA,QACA,OACA,OACA,MACA,MACA,MACA,QACA,SACA,SACA,cACA,UACA,SACA,YACA,UACA,WACA,SACA,WACA,YACA,YACA,kBAIIC,EAAwB,CAC5B,GACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,OAIF,IAAIC,EAEAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAIAC,EAIAC,EAMAC,EAjCAC,EAAqB,GAErBC,EAAwB,GACxBC,EAAuB,GAOvBC,EAAkB,GA4BtB,MAAMC,EAAgB,SAChBC,EAAgB,SAMhBC,EAAa,OACbC,EAAc,QACdC,EAAe,SACfC,EAAe,SACfC,EAAY,MACZC,EAAe,SACfC,EAAa,OACbC,EAAa,OACbC,EAAc,QACdC,EAAkB,CACtBH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","file":"./CookieMonster.js","sourceRoot":""} \ No newline at end of file From 37bff7df1e9e4bd59c51f349136e2eac40ddea0a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dani=C3=ABl=20van=20Noord?= <13665637+DanielNoord@users.noreply.github.com> Date: Sun, 4 Apr 2021 20:13:44 +0200 Subject: [PATCH 6/6] Fixed #707 --- CookieMonster.js | 2 +- dist/CookieMonster.js | 2 +- dist/CookieMonster.js.map | 2 +- src/Main/VariablesAndData.js | 4 ++-- src/Sim/SimulationEvents/GodChange.js | 7 ++++++- 5 files changed, 11 insertions(+), 6 deletions(-) diff --git a/CookieMonster.js b/CookieMonster.js index eda6870..5feb961 100644 --- a/CookieMonster.js +++ b/CookieMonster.js @@ -1,2 +1,2 @@ /*! For license information please see CookieMonster.js.LICENSE.txt */ -(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,v,w,x,M,T=[],S=[],P=[],B={};const E="CMText",N="CMBack",O="Blue",F="Green",W="Yellow",L="Orange",A="Red",j="Purple",D="Gray",H="Pink",U="Brown",$=[D,O,F,W,L,A,j,H,U],R=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"],["FavouriteSettingPlaceholder","Click to set this setting as favourite and show it in 'favourite' settings at the top of the Cookie Monster Settings","250px"]],I={};let z,V,_=0,Q=-1,X=[],q=1,Y=1,K=1;const J=[10,15,30,60,300,600,900,1800],Z=[1,5,10,15,30],ee={Frenzy:W,"Dragon Harvest":U,"Elder frenzy":F,Clot:A,"Click frenzy":O,Dragonflight:H};let te,oe,ne,ie,ae,re,le,se={},ce="",de=[];function pe(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return B.Beautify(t,o);if(Number.isFinite(t)){if(t<0)return`-${pe(Math.abs(t))}`;let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function me(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=F):(n=ue(t),o=t>300?A:t>60?L:W),{text:n,color:o}}let he,ge,fe,Ce,ye,be,ke,Ge,ve,we,xe,Me,Te,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Ue,$e,Re,Ie,ze,Ve,_e,Qe,Xe,qe,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=0,st=0,ct=0,dt=0,pt=1,ut=1,mt=1,ht=0,gt=0,ft=0,Ct=0,yt={},bt={},kt={},Gt=0,vt=0,wt=[0,null],xt=0,Mt=0,Tt={},St={},Pt={},Bt={},Et={},Nt=0,Ot=0,Ft=[],Wt=0,Lt=0,At=[],jt=0,Dt=0,Ht=[],Ut=0,$t=0,Rt=[],It=0,zt=0,Vt={},_t={},Qt=0,Xt=0,qt=[],Yt={},Kt=0,Jt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},Zt=[],eo=[],to=[];function oo(e){let t=0;return Game.dragonAuras[$e].name!==e&&Game.dragonAuras[Re].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[$e].name&&"Reality Bending"!==Game.dragonAuras[Re].name||(t+=.1),t}function no(){let e=.25;return e*=1+oo("Earth Shatterer"),e}function io(e,t){return void 0===Qe[e]?void 0===t?1:t:Qe[e]}function ao(e){const t=eo[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function ro(e){if(Game.hasGod){void 0===Zt.Temple.minigame&&(Zt.Temple.minigame=Game.Objects.Temple.minigame);const t=Zt.Temple.minigame.gods[e];if(Ie===t.id)return 1;if(ze===t.id)return 2;if(Ve===t.id)return 3}return!1}function lo(e,t){let o=t;if(ao("Season savings")&&(o*=.99),ao("Santa's dominion")&&(o*=.99),ao("Faberge egg")&&(o*=.99),ao("Divine discount")&&(o*=.99),ao("Fortune #100")&&(o*=.99),o*=1-.02*oo("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&ao(e.fortune.name)&&(o*=.93),o*=io("buildingCost"),Zt.Temple.minigameLoaded){const e=ro("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function so(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function co(){let t=Game.buyBulk;if(1===Game.buyMode?Y=t:t=Y,1===t?t=yt:10===t?t=bt:100===t&&(t=kt),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(yt).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=pe(so(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(yt).map((e=>{const t=yt[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return $.indexOf(e.color)>$.indexOf(t.color)?1:$.indexOf(e.color)<$.indexOf(t.color)||e.pp{const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return $.indexOf(e.color)>$.indexOf(t.color)?1:$.indexOf(e.color)<$.indexOf(t.color)||e.pp{const t=yt[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;e$.indexOf(t.color)?1:$.indexOf(e.color)<$.indexOf(t.color)||e.ppe.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?q=i:i=q,1===i&&(i=yt),10===i&&(i=bt),100===i&&(i=kt),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=pe(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=E+i[o].color,n=e.PPDisplayTime?ue(Math.round(i[o].pp)):pe(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=me((Game.Objects[o].bulkPrice-(Game.cookies+mo()))/uo());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=E+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&ao(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(ao(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&ao(e.fortune.name)&&(t*=1.07),e.grandma&&ao(e.grandma.name)&&(t*=1+.01*Zt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&ao(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function wo(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;ao("Thousand fingers")&&(t+=.1),ao("Million fingers")&&(t*=5),ao("Billion fingers")&&(t*=10),ao("Trillion fingers")&&(t*=20),ao("Quadrillion fingers")&&(t*=20),ao("Quintillion fingers")&&(t*=20),ao("Sextillion fingers")&&(t*=20),ao("Septillion fingers")&&(t*=20),ao("Octillion fingers")&&(t*=20),ao("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(Zt).forEach((e=>{"Cursor"!==Zt[e].name&&(n+=Zt[e].amount)})),t*=n,o*=vo(e),o*=Game.magicCpS("Cursor"),o*=io("cursorCps"),Game.ComputeCps(.1,ao("Reinforced index finger")+ao("Carpal tunnel prevention cream")+ao("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{ao(Game.GrandmaSynergies[e])&&(o*=2)})),ao("Bingo center/Research facility")&&(o*=4),ao("Ritual rolling pins")&&(o*=2),ao("Naughty list")&&(o*=2),ao("Elderwort biscuits")&&(o*=1.02),o*=io("grandmaCps"),ao("Cat ladies"))for(let e=0;e{"Grandma"!==Zt[e].name&&(i+=Zt[e].amount)})),o*=1+.01*oo("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=vo(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function xo(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(Zt).forEach((t=>{Zt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(ao("Starlove")&&(e=3),Game.hasGod){const t=ro("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function Mo(){Ae=Game.UpgradesOwned,je=Game.pledges,De=Game.AchievementsOwned,He=Game.heavenlyPower,Ue=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=Zt[e];void 0===o&&(Zt[e]=wo(e),o=Zt[e],go(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(Ie=t.minigame.slot[0],ze=t.minigame.slot[1],Ve=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),Zt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=eo[e];void 0===o&&(eo[e]=xo(e),o=eo[e]),o.bought=t.bought,eo[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=to[e];void 0===o&&(to[e]=Go(e),o=to[e]),o.won=t.won,to[e]=o})),ko(),$e=Ye,Re=Ke}function To(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function So(e){e.appendChild(To("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(To("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(To("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(To("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===ne){e.appendChild(To("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function Po(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function Eo(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function No(){if(Mo(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===ne?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(So(l("CMTooltipBorder")),1===Game.buyMode?K=t:t=K,1===Game.buyBulk?t=yt:10===Game.buyBulk?t=bt:100===Game.buyBulk&&(t=kt),te=Game.Objects[ie].bulkPrice,oe=t[ie].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=pe(oe,2);const o=Math.round(oe/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=E+t[ie].color,e.PPDisplayTime?l("CMTooltipPP").textContent=ue(t[ie].pp):l("CMTooltipPP").textContent=pe(t[ie].pp,2),l("CMTooltipPP").className=E+t[ie].color;const n=me((te-(Game.cookies+mo()))/uo());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[ie[1]][ie[0]][0]-1].mature,o=t.plantsById[t.plot[ie[1]][ie[0]][0]-1].name;l("CMTooltipBorder").appendChild(To("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${pe(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${pe(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${pe(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${pe(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===ne?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(To("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=ho(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==ee[Game.buffs[t].name]?ee[Game.buffs[t].name]:j,a.lastChild.children[1].className=N+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),le!==n&&(le=n,yo())}}(),fo(),No(),function(){if(1===e.TooltipWrink&&1===_){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===X[t]||void 0===X[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),Q=t,X[t]=1}}else X[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[Q],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[Q].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),Zt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=pe(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,pe(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}function Fo(){he.addLatest(Game.computedMouseCps)}class Wo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}calcSum(e){let t=e;return t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length),0===t?0:this.queue.slice(-t).reduce(((e,t)=>e+t),0)}}function Lo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+Kt;Game.cpsSucked>0&&(o+=Gt),It=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-Ge,i=Math.max(0,Game.cookies-ve)/n,a=Math.max(0,Gt-we)/n,r=Math.max(0,wt[0]-xe)/n,l=Math.max(0,o-Ct)/n,s=(Game.cookieClicks-Me)/n;for(let e=0;e0&&(n=A),n}function jo(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=D;else{t[n].color=Ao(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+mo()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||qt.push([t[n].pp,o])}))}function Ho(){!function(){Xt=1/0,qt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Do(yt,1),Do(bt,10),Do(kt,100),qt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;qt[t][1]>Game.cookies&&(t+=1,qt.length!==t+1););Xt=qt[e.PPExcludeTop][t],jo(yt,1),jo(bt,10),jo(kt,100)}(),Object.keys(Tt).forEach((e=>{Game.cookiesPs?Tt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+mo()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/Tt[e].bonus:Tt[e].pp=Game.Upgrades[e].getPrice()/Tt[e].bonus,Number.isNaN(Tt[e].pp)&&(Tt[e].pp=1/0),Tt[e].color=Ao(Tt[e],Game.Upgrades[e].getPrice())}))}function Uo(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),Qe=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(Ue)*He*function(){let e=0;if(ao("Heavenly chip secret")&&(e+=.05),ao("Heavenly cookie stand")&&(e+=.2),ao("Heavenly bakery")&&(e+=.25),ao("Heavenly confectionery")&&(e+=.25),ao("Heavenly key")&&(e+=.25),e*=1+.05*oo("Dragon God"),ao("Lucky digit")&&(e*=1.01),ao("Lucky number")&&(e*=1.01),ao("Lucky payout")&&(e*=1.01),Game.hasGod){const t=ro("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=io("cps"),ao("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];ao(o.name)&&("function"==typeof o.power?e*=1+.01*eo[o.name].power(eo[o.name]):e*=1+.01*o.power)})),ao("Specialized chocolate chips")&&(e*=1.01),ao("Designer cocoa beans")&&(e*=1.02),ao("Underworld ovens")&&(e*=1.03),ao("Exotic nuts")&&(e*=1.04),ao("Arcane sugar")&&(e*=1.05),ao("Increased merriness")&&(e*=1.15),ao("Improved jolliness")&&(e*=1.15),ao("A lump of coal")&&(e*=1.01),ao("An itchy sweater")&&(e*=1.01),ao("Santa's dominion")&&(e*=1.2),ao("Fortune #100")&&(e*=1.01),ao("Fortune #101")&&(e*=1.07),ao("Dragon scale")&&(e*=1.03);let o=1;if(ro){let t=ro("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=ro("ages"),1===t?e*=1+.15*Math.sin(w/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(w/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(w/1e3/86400*Math.PI*2)),t=ro("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=ro("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=ro("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}ao("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=De/25;let i=1;if(ao("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*oo("Breath of Milk"),ro){const e=ro("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=io("milk");let a=1;ao("Kitten helpers")&&(a*=1+.1*n*i),ao("Kitten workers")&&(a*=1+.125*n*i),ao("Kitten engineers")&&(a*=1+.15*n*i),ao("Kitten overseers")&&(a*=1+.175*n*i),ao("Kitten managers")&&(a*=1+.2*n*i),ao("Kitten accountants")&&(a*=1+.2*n*i),ao("Kitten specialists")&&(a*=1+.2*n*i),ao("Kitten experts")&&(a*=1+.2*n*i),ao("Kitten consultants")&&(a*=1+.2*n*i),ao("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),ao("Kitten marketeers")&&(a*=1+.15*n*i),ao("Kitten analysts")&&(a*=1+.125*n*i),ao("Kitten executives")&&(a*=1+.115*n*i),ao("Kitten angels")&&(a*=1+.1*n*i),ao("Fortune #103")&&(a*=1+.05*n*i),Object.keys(Zt).forEach((e=>{const t=Zt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&ao("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),Xe+=t.amount*a})),ao('"egg"')&&(Xe+=9),e*=a;let r=1;if(ao("Chicken egg")&&(r*=1.01),ao("Duck egg")&&(r*=1.01),ao("Turkey egg")&&(r*=1.01),ao("Quail egg")&&(r*=1.01),ao("Robin egg")&&(r*=1.01),ao("Ostrich egg")&&(r*=1.01),ao("Cassowary egg")&&(r*=1.01),ao("Salmon roe")&&(r*=1.01),ao("Frogspawn")&&(r*=1.01),ao("Shark egg")&&(r*=1.01),ao("Turtle egg")&&(r*=1.01),ao("Ant larva")&&(r*=1.01),ao("Century egg")){let e=10*Math.floor((x-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),gt=1+.1*(1-(1-e/100)**3),r*=gt}e*=r,ao("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+oo("Radiant Appetite");const l=Xe*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&$o(Game.CpsAchievements[e].name)})),qe=l;const{n:s}=Game.shimmerTypes.golden,c=oo("Dragon's Fortune");for(let t=0;t{ao(e[o])&&(t+=.1)}))}e*=t}if(ao("Shimmering veil [off]")){let t=.5;ao("Reinforced membrane")&&(t+=.1),e*=1+t}ao("Magic shenanigans")&&(e*=1e3),ao("Occult obstruction")&&(e*=0),Xe=Game.runModHookOnValue("cps",Xe),e*=Bo(),Xe*=e}const Io=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],zo=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Vo=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],_o=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],Qo=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function Xo(e){return to[e]?to[e].won:0}function qo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{ao(Game.GrandmaSynergies[t])&&(e+=1)})),!Xo("Elder")&&e>=7&&$o("Elder"),!Xo("Veteran")&&e>=14&&$o("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(Zt).forEach((e=>{t+=Zt[e].amount,i=Math.min(Zt[e].amount,i),Xo("Mathematician")||Zt[e].amount=1&&$o("One with everything"),1===o&&$o("Mathematician"),1===n&&$o("Base 10"),i>=100&&$o("Centennial"),i>=150&&$o("Centennial and a half"),i>=200&&$o("Bicentennial"),i>=250&&$o("Bicentennial and a half"),i>=300&&$o("Tricentennial"),i>=350&&$o("Tricentennial and a half"),i>=400&&$o("Quadricentennial"),i>=450&&$o("Quadricentennial and a half"),i>=500&&$o("Quincentennial"),i>=550&&$o("Quincentennial and a half"),i>=600&&$o("Sexcentennial"),t>=100&&$o("Builder"),t>=500&&$o("Architect"),t>=1e3&&$o("Engineer"),t>=2e3&&$o("Lord of Constructs"),t>=4e3&&$o("Grand design"),t>=8e3&&$o("Ecumenopolis"),Ae>=20&&$o("Enhancer"),Ae>=50&&$o("Augmenter"),Ae>=100&&$o("Upgrader"),Ae>=200&&$o("Lord of Progress"),Ae>=300&&$o("The full picture"),Ae>=400&&$o("When there's nothing left to add"),t>=4e3&&Ae>=300&&$o("Polymath"),t>=8e3&&Ae>=400&&$o("Renaissance baker"),Zt.Cursor.amount+Zt.Grandma.amount>=777&&$o("The elder scrolls");let a=!0;Object.keys(zo).forEach((e=>{ao(zo[e])||(a=!1)})),a&&$o("Spooky cookies");let r=!0;if(Object.keys(Vo).forEach((e=>{ao(Vo[e])||(r=!1)})),r&&$o("Let it snow"),ao("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{ao(e[o].name)&&(t+=1)})),t>=e.length&&$o("O Fortuna")}}function Yo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){Mo(),Zt[e].amount+=t;const o=Zt[e];"Cursor"===e?(o.amount>=1&&$o("Click"),o.amount>=2&&$o("Double-click"),o.amount>=50&&$o("Mouse wheel"),o.amount>=100&&$o("Of Mice and Men"),o.amount>=200&&$o("The Digital"),o.amount>=300&&$o("Extreme polydactyly"),o.amount>=400&&$o("Dr. T"),o.amount>=500&&$o("Thumbs, phalanges, metacarpals"),o.amount>=600&&$o("With her finger and her thumb"),o.amount>=700&&$o("Gotta hand it to you"),o.amount>=800&&$o("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&$o(Game.Objects[o.name].tieredAchievs[e].name)}));const n=De;return Ro(),qo(),n!==De&&Ro(),Xe-Game.cookiesPs}(o,e),1!==e&&(Fe=1)})),t}function Ko(){Object.keys(Game.Objects).forEach((e=>{yt[e].price=Uo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),bt[e].price=Uo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),kt[e].price=Uo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Jo(){yt=Yo(1),bt=Yo(10),kt=Yo(100),Tt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){Mo(),"Shimmering veil [on]"===eo[e].name?eo["Shimmering veil [off]"].bought=0:"Golden switch [on]"===eo[e].name?eo["Golden switch [off]"].bought=0:eo[e].bought=(eo[e].bought+1)%2,Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Ae+=1),"Elder Pledge"===e?(je+=1,je>0&&$o("Elder nap"),je>=5&&$o("Elder slumber")):"Elder Covenant"===e?$o("Elder calm"):"Prism heart biscuits"===e?$o("Lovely cookies"):"Heavenly key"===e&&$o("Wholesome");const t=De;Ro(),qo(),t!==De&&Ro();const o=function(){let e=0;ao("Thousand fingers")&&(e+=.1),ao("Million fingers")&&(e*=5),ao("Billion fingers")&&(e*=10),ao("Trillion fingers")&&(e*=20),ao("Quadrillion fingers")&&(e*=20),ao("Quintillion fingers")&&(e*=20),ao("Sextillion fingers")&&(e*=20),ao("Septillion fingers")&&(e*=20),ao("Octillion fingers")&&(e*=20),ao("Nonillion fingers")&&(e*=20);let t=0;Object.keys(Zt).forEach((e=>{t+=Zt[e].amount})),t-=Zt.Cursor.amount,e*=t,ao("Plastic mouse")&&(e+=.01*Xe),ao("Iron mouse")&&(e+=.01*Xe),ao("Titanium mouse")&&(e+=.01*Xe),ao("Adamantium mouse")&&(e+=.01*Xe),ao("Unobtainium mouse")&&(e+=.01*Xe),ao("Eludium mouse")&&(e+=.01*Xe),ao("Wishalloy mouse")&&(e+=.01*Xe),ao("Fantasteel mouse")&&(e+=.01*Xe),ao("Nevercrack mouse")&&(e+=.01*Xe),ao("Armythril mouse")&&(e+=.01*Xe),ao("Technobsidian mouse")&&(e+=.01*Xe),ao("Plasmarble mouse")&&(e+=.01*Xe),ao("Miraculite mouse")&&(e+=.01*Xe),ao("Fortune #104")&&(e+=.01*Xe);let o=1;if(ao("Santa's helpers")&&(o*=1.1),ao("Cookie egg")&&(o*=1.1),ao("Halo gloves")&&(o*=1.1),ao("Dragon claw")&&(o*=1.03),ao("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,ao("Luminous gloves")?20:10)),o*=io("click"),Zt.Temple.minigameLoaded&&ro){const e=ro("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*oo("Dragon Cursor");let n=o*Game.ComputeCps(1,ao("Reinforced index finger")+ao("Carpal tunnel prevention cream")+ao("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[Xe-Game.cookiesPs,o]:[Xe-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(Tt[t]={bonus:Game.cookiesPs-Te},1===e.CalcWrink?Tt[t].bonus-=Se:2===e.CalcWrink&&(Tt[t].bonus-=Pe),Number.isFinite(Tt[t].bonus)||(Tt[t].bonus=0)):(Tt[t]={},o[0]&&(Tt[t].bonus=o[0]),o[1]&&(Tt[t].bonusMouse=o[1]))}))}function Zo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Ft=Zo(7,e,ut),Nt=2*Ft[1]/ut,Ot=Ft[2]/60/60/6/pt,At=Zo(6,e,mt),Wt=2*At[1]/mt,Lt=At[2]/60/60/6/pt,Ht=Zo(7,7*e,ut),jt=2*Ht[1]/ut,Dt=Ht[2]/60/60/6/pt,Rt=Zo(6,7*e,mt),Ut=2*Rt[1]/mt,$t=Rt[2]/60/60/6/pt}function tn(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Ne,i=Math.max(0,o-Oe)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?Bt+=e:"cookie"===o.pool?Et+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(Pt+=e)}}))}function nn(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),ft=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(ft*=2)}}function an(){et=900*dt/.15,et*=pt;const e=Bo();e>0?et/=e:et=0,tt=ut*(.15*et)+13,ot=mt*(.15*et)+13,nt=7*et,it=ut*(.15*nt)+13,at=mt*(.15*nt)+13,rt=2*et,lt=.15*rt,st=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountst&&(st=2*Game.Objects[e].price,ct=e)}))}function rn(){let e=1,t=1,o=1;ao("Green yeast digestives")&&(o*=1.01),ao("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),ut=o*e,mt=o*t,pt=1,0===Game.shimmerTypes.golden.n&&(pt*=1+1.23*Game.auraMult("Dragon's Fortune"))}function ln(){Gt=0,vt=0,wt=[0,null];for(let e=0;ewt[0]&&(wt=[t,e]))}}function sn(){ko(),ln(),an(),rn(),en(),on(),nn(),ge=new Wo(J[J.length-1]),fe=new Wo(J[J.length-1]),Ce=new Wo(J[J.length-1]),ye=new Wo(J[J.length-1]),be=new Wo(Z[Z.length-1]),ke=new Wo(5),he=new Wo(20*Z[Z.length-1]),tn(),Lo(),Jo(),Ko(),Ho()}const cn={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,MissingAchievements:0,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,FavouriteSettings:1,Header:{Favourite:1,Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},dn=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function pn(){1===e.BotBar?(l("CMBotBar").style.display="",fo()):l("CMBotBar").style.display="none",yo()}function un(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),fo(),co(),po()}function mn(){1===e.Favicon&&y>0?Vt.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class hn{constructor(e,t){this.type=e,this.group=t}}class gn extends hn{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class fn extends hn{constructor(e,t,o){super(e,t),this.desc=o}}class Cn extends hn{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class yn extends hn{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const bn={CPSMode:new gn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new gn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new gn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new gn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){_e=!0})),Scale:new gn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Abbreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){un()})),ScaleDecimals:new gn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){un()})),ScaleSeparator:new gn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){un()})),ScaleCutoff:new yn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new gn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new gn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=V:Game.sayTime=B.sayTime})),PPDisplayTime:new gn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new gn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){co()})),PPOnlyConsiderBuyable:new gn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new gn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new gn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new yn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),ColourBlue:new fn("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new fn("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new fn("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new fn("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new fn("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new fn("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new fn("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new fn("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new fn("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new gn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){pn()})),TimerBar:new gn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){bo()})),TimerBarPos:new gn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),yo()})),TimerBarOverlay:new gn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new gn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",po()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",po()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new gn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new gn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){co()})),SortUpgrades:new gn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){po()})),DragonAuraInfo:new gn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new gn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new gn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(se).forEach((e=>{se[e].style.display="block",se[e].style.left=Yt[e].l.style.left,se[e].style.top=Yt[e].l.style.top})):Object.keys(se).forEach((e=>se[e].style.display="none"))})),Favicon:new gn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){mn()})),WrinklerButtons:new gn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new gn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new gn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new gn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new gn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new gn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new gn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new gn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new gn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new yn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new gn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new gn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){Eo()})),TooltipGrim:new gn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new gn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new gn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new gn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new gn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new gn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new gn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new gn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in statistics menu",!0),MissingAchievements:new gn("bool","Statistics",["Missing Achievements OFF","Missing Normal Achievements ON"],"Shows missing normal achievements in statistics menu.",!1),UpStats:new gn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new yn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new gn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new gn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new gn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new gn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){dn(e.GCNotification)})),GCFlash:new gn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new fn("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new gn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new Cn("vol","NotificationGC",[],"Volume"),GCSoundURL:new gn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new gn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){dn(e.FortuneNotification)})),FortuneFlash:new gn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new fn("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new gn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new Cn("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new gn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new gn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){dn(e.SeaNotification)})),SeaFlash:new gn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new fn("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new gn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new Cn("vol","NotificationSea",[],"Volume"),SeaSoundURL:new gn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new gn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new fn("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new gn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new Cn("vol","NotificationGard",[],"Volume"),GardSoundURL:new gn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new gn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){dn(e.MagicNotification)})),MagicFlash:new gn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new fn("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new gn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new Cn("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new gn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new gn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){dn(e.WrinklerNotification)})),WrinklerFlash:new gn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new fn("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new gn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new Cn("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new gn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new gn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){dn(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new gn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new fn("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new gn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new Cn("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new gn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new gn("bool","Miscellaneous",["Block bulk buying OFF","Block bulk buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0),FavouriteSettings:new gn("bool","Miscellaneous",["Favourite settings section OFF","Favourite settings section ON","Favourite settings section ON (Locked)"],"Show stars before each setting which allows selecting it for a 'favourites' section at the top of the Cookie Monster settings. Setting this to Locked removes the stars but shows the 'favourites' section",!0,(function(){Game.UpdateMenu()}))};function kn(){return JSON.stringify({favouriteSettings:de,settings:e,version:"2.031.6"})}function Gn(){if(Je!==Game.dragonLevel||_e){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{Zt[e]=wo(e)})),eo=[],Object.keys(Game.Upgrades).forEach((e=>{eo[e]=xo(e)})),to=[],Object.keys(Game.Achievements).forEach((e=>{to[e]=Go(e)})),Mo()}let xn=!1;function Mn(t,o,n){(1===e[o]||n)&&3===t&&!1===xn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){Mn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){Mn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){Mn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function Tn(t,o,n,i){if((1===e[o]||i)&&!1===xn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function Sn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===xn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function Pn(){if(re!==Game.OnAscend&&(re=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(pn(),bo()),Co()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(wn(),sn(),r=Object.keys(Game.mods).length),_e&&(Jo(),Game.Has("Golden switch [off]")?(Mo(),eo["Golden switch [off]"].bought=0,Ro(),dt=Xe):dt=Game.cookiesPs,rn(),an(),on(),en(),Gn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Jt[e][t]=vn(e,t)}(),nn(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;Mo();let t=2;5!==$e&&18!==$e||(t-=1),5!==Re&&18!==Re||(t-=1),$e=5,Re=18;for(let e=0;e{Zt[t].amount>0&&(e=t)})),Zt[e].amount-=1,Le-=1}return Object.keys(Zt).forEach((t=>{const o=Zt[t];e+=so(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),Kt=e}(),_e=0);const t=Game.auraMult("Fierce Hoarder")>0;!We&&t?(We=!0,Fe=1):We&&!t&&(We=!1,Fe=1),Fe&&(Ko(),Fe=0),function(){ln(),Ho(),function(){xt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(Zt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}Mt=e,xt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Lo(),tn();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);Qt=ue(e/uo())}(),G=0,Yt={},Object.keys(Game.shimmers).forEach((e=>{Yt[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(Vt=Game.shimmers[e],G+=1)})),Object.keys(se).forEach((e=>{void 0===Yt[e]&&(se[e].parentNode.removeChild(se[e]),delete se[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===se[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},se[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),mn(),b=G,0===G&&(Vt=0)):1===e.GCTimer&&y&&Object.keys(se).forEach((e=>{se[e].style.opacity=Yt[e].l.style.opacity,se[e].style.transform=Yt[e].l.style.transform,se[e].textContent=Math.ceil(Yt[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(Mn(3,"FortuneFlash",!1),Tn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),Sn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&(_t=Game.shimmers[e])})),Mn(3,"SeaFlash",!1),Tn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),Sn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>v?(v=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?Mn(3,"WrinklerMaxFlash",!1):Mn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?Tn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):Tn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?Sn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):Sn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):v=t}}()}}function Bn(){let t="";for(let o=0;o<$.length;o++)t+=`.CMText${$[o]} { color: ${e[`Colour${$[o]}`]}; }\n`;for(let o=0;o<$.length;o++)t+=`.CMBack${$[o]} { background-color: ${e[`Colour${$[o]}`]}; }\n`;for(let o=0;o<$.length;o++)t+=`.CMBorder${$[o]} { border: 1px solid ${e[`Colour${$[o]}`]}; }\n`;l("CMCSS").textContent=t,co()}function En(){const e=b64_to_utf8(unescape(localStorage.getItem("CookieClickerGame")).split("!END!")[0]),t=e.match(/CookieMonster.*(;|$)/);if(null!==t){const o=e.replace(t[0],`CookieMonster:${kn()}`);localStorage.setItem("CookieClickerGame",escape(`${utf8_to_b64(o)}!END!`))}}function Nn(t){if(void 0!==localStorage.CMConfig&&delete localStorage.CMConfig,void 0!==t){e=t,void 0!==e.Colors&&delete e.Colors,void 0!==e.Colours&&delete e.Colours;let o=!1;Object.keys(cn).forEach((t=>{void 0===e[t]?(o=!0,e[t]=cn[t]):"Header"===t&&Object.keys(cn.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=cn[t][n])}))})),o&&En(),Pn(),Object.keys(cn).forEach((e=>{"Header"!==e&&void 0!==bn[e].func&&bn[e].func()}))}else Nn(cn);Game.UpdateMenu(),Bn()}function On(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Fn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Uo(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${pe(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${me((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(pe(Game.Objects[o].bulkPrice)).join(pe((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return ne=t,ie=o,No(),l("tooltip").innerHTML}function Wn(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(S[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function Ln(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),En()}function Rn(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){$n(o),Game.UpdateMenu()},n.appendChild(i),n}function In(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(I[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function zn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function Vn(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(Rn("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+mo(){Game.HasUnlocked(Qo[e])||c.push(Qo[e])})),0!==c.length&&e.appendChild(In("basic","Rare plant drops left to unlock",zn(c))),e}())),o.appendChild(Rn("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige(It+Game.cookiesReset+Gt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?Ct:0)));t.appendChild(In("withTooltip","Prestige level (cur / max)",document.createTextNode(`${pe(Game.prestige)} / ${pe(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-(It+Game.cookiesReset+Gt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&&Ct?Ct:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(pe(n)));const a=document.createElement("small");a.textContent=` (${ue(n/zt,1)})`,i.appendChild(a),t.appendChild(In("withTooltip","Cookies to next level",i,"NextPrestTooltipPlaceholder")),t.appendChild(In("withTooltip","Heavenly chips (cur / max)",document.createTextNode(`${pe(Game.heavenlyChips)} / ${pe(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild(In("basic","Heavenly chips per second (last 5 seconds)",document.createTextNode(pe(ht,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild(In("basic","Heavenly chips to target set in settings (cur)",document.createTextNode(pe(e)))),t.appendChild(In("basic","Time till target (cur, current 5 second average)",document.createTextNode(ue(e/ht)))))}const l=function(e){let t=Game.cookiesPs;Mo(),0===eo["Heavenly key"].bought&&(eo["Heavenly chip secret"].bought=1,eo["Heavenly cookie stand"].bought=1,eo["Heavenly bakery"].bought=1,eo["Heavenly confectionery"].bought=1,eo["Heavenly key"].bought=1,Ro(),t=Xe,Mo()),It>=1e6&&$o("Sacrifice"),It>=1e9&&$o("Oblivion"),It>=1e12&&$o("From scratch"),It>=1e15&&$o("Nihilism"),It>=1e18&&$o("Dematerialize"),It>=1e21&&$o("Nil zero zilch"),It>=1e24&&$o("Transcendence"),It>=1e27&&$o("Obliterate"),It>=1e30&&$o("Negative void"),It>=1e33&&$o("To crumbs, you say?"),It>=1e36&&$o("You get nothing"),It>=1e39&&$o("Humble rebeginnings"),It>=1e42&&$o("The end of the world"),It>=1e45&&$o("Oh, you're back"),It>=1e48&&$o("Lazarus"),It>=1e51&&$o("Smurf account"),It>=1e54&&$o("If at first you don't succeed"),eo["Heavenly chip secret"].bought=1,eo["Heavenly cookie stand"].bought=1,eo["Heavenly bakery"].bought=1,eo["Heavenly confectionery"].bought=1,eo["Heavenly key"].bought=1,Ue=e;const o=De;Ro(),qo(),o!==De&&Ro();const n=Xe-t;return Ue=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(pe(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(In("withTooltip","Reset bonus income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(In("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(In("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(In("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(Rn("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${pe(Gt)} / ${pe(vt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){On()},e.appendChild(t),o.appendChild(In("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${pe(wt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==wt[1]&&(Game.wrinklers[wt[1]].hp=0)},n.appendChild(i),o.appendChild(In("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==wt[1]?wt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(zo).forEach((e=>{Game.Has(zo[e])||(n.push(zo[e]),o=!0)}));const i=[];Object.keys(Vo).forEach((e=>{Game.Has(Vo[e])||(i.push(Vo[e]),o=!0)}));const a=[];Object.keys(_o).forEach((e=>{Game.Has(_o[e])||(a.push(_o[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(Rn("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(In("basic","Halloween cookies left to buy",zn(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild(In("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${pe((1-e)*o*100)}% / ${pe((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild(In("basic","Christmas cookies left to buy",zn(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild(In("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${pe((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild(In("basic","Valentine cookies left to buy",zn(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(In("basic","Normal easter eggs left to unlock",zn(r))),t.appendChild(In("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${pe(100*e(.98)[0])}% / ${pe(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(In("basic","Rare easter eggs left to unlock",zn(l))),t.appendChild(In("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${pe(100*e(.98)[1])}% / ${pe(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild(In("basic","Reindeer reward",document.createTextNode(pe(ft)))),s&&t.appendChild(In("withTooltip","Chocolate egg cookies",document.createTextNode(pe(Ct)),"ChoEggTooltipPlaceholder")),c&&t.appendChild(In("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(gt-1))/100+"%")))}return t}()),o.appendChild(Rn("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(In("basic",`Average cookies per second (past ${J[e.AvgCPSHist]<60?`${J[e.AvgCPSHist]} seconds`:J[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(pe(uo(),3)))),o.appendChild(In("basic",`Average cookie clicks per second (past ${Z[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(pe(St,1)))),o.appendChild(In("basic",`Cookies from clicking (past ${Z[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(pe(he.calcSum(St*Z[e.AvgClicksHist]))))),Game.Has("Fortune cookies")){const e=[];Object.keys(Io).forEach((t=>{Game.Has(Io[t])||e.push(Io[t])})),0!==e.length&&o.appendChild(In("basic","Fortune Upgrades Left to Buy",zn(e)))}if(e.ShowMissedGC&&o.appendChild(In("basic","Missed golden cookies",document.createTextNode(pe(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(In("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&Bt){const t=Bt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Bt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(Pt){const t=Pt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Pt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Et){const t=Et.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Et,e.appendChild(i)}}})),e.MissingAchievements&&function(){let t;Object.values(document.querySelectorAll("div.title")).forEach((e=>{e.textContent.includes("Achievements")&&(t=e.parentElement.querySelectorAll("div.listing.crateBox")[0])})),e.MissingAchievements&&Object.values(t.children).forEach((e=>{if(!e.className.includes("enabled")){const t=e.onclick.toString().match(/(?<=\[).*(?=\])/g)[0],{icon:o}=Game.AchievementsById[t];e.style.backgroundPosition=`${48*-o[0]}px ${48*-o[1]}px`,e.onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return function(e){const t=[];"shadow"===e.pool?t.push("Shadow Achievement","#9700cf"):t.push("Achievement",0),t.push("Locked",0);let o=0;(Game.Has("Neuromancy")||Game.sesame&&"debug"===e.pool)&&(o=1),o&&0===e.won?t.push("Click to win!","#00c462"):o&&e.won>0&&t.push("Click to lose!","#00c462");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());let{desc:i}=e;e.descFunc&&(i=e.descFunc("stats"));let a="";for(let e=0;e[${t[e]}]`);return a=a.substring(1),`
\n
\n
${e.name}
\n ${a}
${i}
\n ${Game.sesame?`
Id : ${e.id} | Order : ${Math.floor(e.order)}${e.tier?` | Tier : ${e.tier}`:""}
`:""}`}(Game.AchievementsById[t])}),"top"),Game.tooltip.wobble())}}}))}()}const _n={Favourite:"Favourite Settings",Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},Qn={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function Xn(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){$n(t),Game.UpdateMenu()},n.appendChild(i),n}function qn(t){const o=document.createElement("div");if(o.className="listing",1===e.FavouriteSettings&&o.appendChild(function(e){const t=document.createElement("a");return de.includes(e)?(t.innerText="★",t.style.color="yellow"):t.innerText="☆",t.className="option",t.onclick=function(){!function(e){de.includes(e)?de=de.filter((function(t){return t!==e})):de.push(e)}(e),En(),Game.UpdateMenu()},t.onmouseover=function(){Game.tooltip.draw(this,escape(I.FavouriteSettingPlaceholder.innerHTML))},t.onmouseout=function(){Game.tooltip.hide()},t.appendChild(document.createTextNode(" ")),t}(t)),"bool"===bn[t].type){const n=document.createElement("a");bn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=Hn+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===bn[t].label.length?(e[t]=0,bn[t].toggle&&(l(Hn+t).className="option off")):l(Hn+t).className="option",void 0!==bn[t].func&&bn[t].func(),l(Hn+t).innerHTML=bn[t].label[e[t]],En()}(t)},n.textContent=bn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=bn[t].desc,i.style.lineHeight="1.6",o.appendChild(i),o}if("vol"===bn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=bn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Un(t)},r.onchange=function(){Un(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){Tn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===bn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${bn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=Hn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${Hn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){!function(e,t){Game.promptWrapL.className="framed";const o=e;Game.promptL.innerHTML=`${o}
`,Object.keys(t).forEach((e=>{const o=document.createElement("a");o.id=`promptOption${e}`,o.className="option",o.onclick=function(){PlaySound("snd/tick.mp3"),t[e][1]()},o.textContent=t[e][0],Game.promptL.children[1].appendChild(o)})),Game.promptAnchorL.style.display="block",Game.darkenL.style.display="block",Game.promptL.focus(),Game.promptOn=1,Game.UpdatePrompt()}(a.outerHTML,[["Save",function(){e[t]=l(`CMConfig${t}Prompt`).value,En(),Game.ClosePrompt(),Game.UpdateMenu()}],["Cancel",function(){Game.ClosePrompt()}]])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=bn[t].desc,s.style.lineHeight="1.6",o.appendChild(s),o}if("colour"===bn[t].type){const n=document.createElement("span");n.className="option";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new jn(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),Bn(),En(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=bn[t].desc,a.style.lineHeight="1.6",n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){Mn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),Dn().init(),o}if("numscale"===bn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${bn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=Hn+t,i.className="option",i.type="number",i.value=e[t],i.min=bn[t].min,i.max=bn[t].max,i.oninput=function(){e[t]=this.value,En(),un()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=bn[t].desc,a.style.lineHeight="1.6",o.appendChild(a),o}return o}function Yn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function Kn(){B.Beautify=Beautify,Beautify=pe,B.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){B.CalculateGains(),_e=1,w=Date.now(),x=Date.now()},B.tooltip={},B.tooltip.draw=Game.tooltip.draw,B.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){B.tooltip.drawMod(e,t,o)},B.tooltip.update=Game.tooltip.update,B.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){B.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},B.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){Yn(B.UpdateWrinklers)},B.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){Yn(B.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){Yn(Game.ClickCookie)}),!1),B.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){B.RebuildUpgrades(),P=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(P[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},B.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e].amount>0){const o=Zt[Game.ObjectsById[e].name].name;Zt[o].amount-=1,Le-=1,t=Zt[o].basePrice*Game.priceIncrease**Math.max(0,Zt[o].amount-1-Zt[o].free),t=Game.modifyBuildingPrice(Zt[o],t),t=Math.ceil(t);break}const o=De;return Ro(),qo(),o!==De&&Ro(),[Xe-Game.cookiesPs,t]}(t),n=ue(o/(e+Game.cookiesPs)),i=pe(e/Game.cookiesPs*100);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${pe(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},B.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){B.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${Ze}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},B.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==Dn().picker&&void 0!==Dn().picker.owner||(B.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(_n).forEach((t=>{if("Favourite"===t){if(0!==de.length&&e.FavouriteSettings>0&&(o.appendChild(Xn(t,_n[t])),e.Header[t]))for(let e=0;e{const n=Xn(t,Qn[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(bn).forEach((e=>{bn[e].group===t&&o.appendChild(qn(e))}))})):Object.keys(bn).forEach((e=>{bn[e].group===t&&o.appendChild(qn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Nn(cn)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",Vn(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){$n("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},B.sayTime=Game.sayTime,V=function(e,t){return Number.isNaN(e)||e<=0?B.sayTime(e,t):ue(e/Game.fps,1)},B.Logic=Game.Logic,Game.Logic=function(){B.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),ce=`${Game.OnAscend?"Ascending! ":""}${pe(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=ce;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=Vt?Vt.wrath?`[W${Math.ceil(Vt.life/Game.fps)}]`:`[G${Math.ceil(Vt.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil(_t.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=ce;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;Vt&&(t=!0,Vt.wrath?e+=`[W${Math.ceil(Vt.life/Game.fps)}]`:e+=`[G${Math.ceil(Vt.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil(_t.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${pe(Game.prestige)}.
(CpS +${pe(Game.prestige)}%)`,n+='
'),n+=Oe<1?"Ascending now would grant you no prestige.":Oe<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${pe(Oe)} prestige levels (+${pe(Oe)}% CpS)
and ${pe(Oe)} heavenly chips to spend.`,n+='
',n+=`You need ${pe(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${Qt} to reach the next level and you were making ${pe(ht,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Jn(){wn(),an(),sn(),r=Object.keys(Game.mods).length,M=document.createElement("style"),M.type="text/css",M.id="CMCSS",document.head.appendChild(M),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=E+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",W)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",O)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",O)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",O)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{go(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=ho("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:D},{id:"CMTimerBarGCBar",color:j}]);e.appendChild(t);const o=ho("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:D},{id:"CMTimerBarRenBar",color:L}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=N+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(O,"Better than the best PP of a building option")),e.appendChild(o(F,"Same as the best PP building option")),e.appendChild(o(W,"Within the top 10 of PP for buildings")),e.appendChild(o(L,"Within the top 20 of PP for buildings")),e.appendChild(o(A,"Within the top 30 of PP for buildings")),e.appendChild(o(j,"Outside of the top 30 of PP for buildings")),e.appendChild(o(D,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=E+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",O)),e.appendChild(o("CMUpgradeBarGreen",F)),e.appendChild(o("CMUpgradeBarYellow",W)),e.appendChild(o("CMUpgradeBarOrange",L)),e.appendChild(o("CMUpgradeBarRed",A)),e.appendChild(o("CMUpgradeBarPurple",j)),e.appendChild(o("CMUpgradeBarGray",D)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(R).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),I[e]=n}(R[e][0],R[e][1],R[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){On()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==wt[1]&&(Game.wrinklers[wt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(T[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),Wn(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),An()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){_=1},l("backgroundLeftCanvas").onmouseout=function(){_=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{X[e]=0}))},Kn(),An(),Game.CalculateGains(),Nn(),z=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const Zn={init:function(){xn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Jn(),Game.registerHook("draw",Oo),Game.registerHook("logic",Pn),Game.registerHook("click",Fo),xn=!1)},load:function(e){const t=JSON.parse(e);wn(),void 0!==t.favouriteSettings&&(de=t.favouriteSettings),Nn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:kn};Game.registerMod("CookieMonster",Zn)})()})(); +(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,v,w,x=[],M=[],T=[],S={},P=Date.now(),B=Date.now();const E="CMText",N="CMBack",O="Blue",F="Green",W="Yellow",L="Orange",A="Red",j="Purple",D="Gray",H="Pink",U="Brown",$=[D,O,F,W,L,A,j,H,U],R=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"],["FavouriteSettingPlaceholder","Click to set this setting as favourite and show it in 'favourite' settings at the top of the Cookie Monster Settings","250px"]],I={};let z,V,_=0,Q=-1,X=[],q=1,Y=1,K=1;const J=[10,15,30,60,300,600,900,1800],Z=[1,5,10,15,30],ee={Frenzy:W,"Dragon Harvest":U,"Elder frenzy":F,Clot:A,"Click frenzy":O,Dragonflight:H};let te,oe,ne,ie,ae,re,le,se={},ce="",de=[];function pe(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return S.Beautify(t,o);if(Number.isFinite(t)){if(t<0)return`-${pe(Math.abs(t))}`;let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function me(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=F):(n=ue(t),o=t>300?A:t>60?L:W),{text:n,color:o}}let he,ge,fe,Ce,ye,be,ke,Ge,ve,we,xe,Me,Te,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Ue,$e,Re,Ie,ze,Ve,_e,Qe,Xe,qe,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=0,st=0,ct=0,dt=0,pt=1,ut=1,mt=1,ht=0,gt=0,ft=0,Ct=0,yt={},bt={},kt={},Gt=0,vt=0,wt=[0,null],xt=0,Mt=0,Tt={},St={},Pt={},Bt={},Et={},Nt=0,Ot=0,Ft=[],Wt=0,Lt=0,At=[],jt=0,Dt=0,Ht=[],Ut=0,$t=0,Rt=[],It=0,zt=0,Vt={},_t={},Qt=0,Xt=0,qt=[],Yt={},Kt=0,Jt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},Zt=[],eo=[],to=[];function oo(e){let t=0;return Game.dragonAuras[$e].name!==e&&Game.dragonAuras[Re].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[$e].name&&"Reality Bending"!==Game.dragonAuras[Re].name||(t+=.1),t}function no(){let e=.25;return e*=1+oo("Earth Shatterer"),e}function io(e,t){return void 0===Qe[e]?void 0===t?1:t:Qe[e]}function ao(e){const t=eo[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function ro(e){if(Game.hasGod){void 0===Zt.Temple.minigame&&(Zt.Temple.minigame=Game.Objects.Temple.minigame);const t=Zt.Temple.minigame.gods[e];if(Ie===t.id)return 1;if(ze===t.id)return 2;if(Ve===t.id)return 3}return!1}function lo(e,t){let o=t;if(ao("Season savings")&&(o*=.99),ao("Santa's dominion")&&(o*=.99),ao("Faberge egg")&&(o*=.99),ao("Divine discount")&&(o*=.99),ao("Fortune #100")&&(o*=.99),o*=1-.02*oo("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&ao(e.fortune.name)&&(o*=.93),o*=io("buildingCost"),Zt.Temple.minigameLoaded){const e=ro("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function so(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function co(){let t=Game.buyBulk;if(1===Game.buyMode?Y=t:t=Y,1===t?t=yt:10===t?t=bt:100===t&&(t=kt),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(yt).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=pe(so(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(yt).map((e=>{const t=yt[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return $.indexOf(e.color)>$.indexOf(t.color)?1:$.indexOf(e.color)<$.indexOf(t.color)||e.pp{const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return $.indexOf(e.color)>$.indexOf(t.color)?1:$.indexOf(e.color)<$.indexOf(t.color)||e.pp{const t=yt[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;e$.indexOf(t.color)?1:$.indexOf(e.color)<$.indexOf(t.color)||e.ppe.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?q=i:i=q,1===i&&(i=yt),10===i&&(i=bt),100===i&&(i=kt),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=pe(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=E+i[o].color,n=e.PPDisplayTime?ue(Math.round(i[o].pp)):pe(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=me((Game.Objects[o].bulkPrice-(Game.cookies+mo()))/uo());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=E+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&ao(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(ao(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&ao(e.fortune.name)&&(t*=1.07),e.grandma&&ao(e.grandma.name)&&(t*=1+.01*Zt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&ao(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function wo(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;ao("Thousand fingers")&&(t+=.1),ao("Million fingers")&&(t*=5),ao("Billion fingers")&&(t*=10),ao("Trillion fingers")&&(t*=20),ao("Quadrillion fingers")&&(t*=20),ao("Quintillion fingers")&&(t*=20),ao("Sextillion fingers")&&(t*=20),ao("Septillion fingers")&&(t*=20),ao("Octillion fingers")&&(t*=20),ao("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(Zt).forEach((e=>{"Cursor"!==Zt[e].name&&(n+=Zt[e].amount)})),t*=n,o*=vo(e),o*=Game.magicCpS("Cursor"),o*=io("cursorCps"),Game.ComputeCps(.1,ao("Reinforced index finger")+ao("Carpal tunnel prevention cream")+ao("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{ao(Game.GrandmaSynergies[e])&&(o*=2)})),ao("Bingo center/Research facility")&&(o*=4),ao("Ritual rolling pins")&&(o*=2),ao("Naughty list")&&(o*=2),ao("Elderwort biscuits")&&(o*=1.02),o*=io("grandmaCps"),ao("Cat ladies"))for(let e=0;e{"Grandma"!==Zt[e].name&&(i+=Zt[e].amount)})),o*=1+.01*oo("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=vo(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function xo(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(Zt).forEach((t=>{Zt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(ao("Starlove")&&(e=3),Game.hasGod){const t=ro("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function Mo(){Ae=Game.UpgradesOwned,je=Game.pledges,De=Game.AchievementsOwned,He=Game.heavenlyPower,Ue=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=Zt[e];void 0===o&&(Zt[e]=wo(e),o=Zt[e],go(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(Ie=t.minigame.slot[0],ze=t.minigame.slot[1],Ve=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),Zt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=eo[e];void 0===o&&(eo[e]=xo(e),o=eo[e]),o.bought=t.bought,eo[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=to[e];void 0===o&&(to[e]=Go(e),o=to[e]),o.won=t.won,to[e]=o})),ko(),$e=Ye,Re=Ke}function To(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function So(e){e.appendChild(To("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(To("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(To("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(To("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===ne){e.appendChild(To("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function Po(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function Eo(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function No(){if(Mo(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===ne?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(So(l("CMTooltipBorder")),1===Game.buyMode?K=t:t=K,1===Game.buyBulk?t=yt:10===Game.buyBulk?t=bt:100===Game.buyBulk&&(t=kt),te=Game.Objects[ie].bulkPrice,oe=t[ie].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=pe(oe,2);const o=Math.round(oe/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=E+t[ie].color,e.PPDisplayTime?l("CMTooltipPP").textContent=ue(t[ie].pp):l("CMTooltipPP").textContent=pe(t[ie].pp,2),l("CMTooltipPP").className=E+t[ie].color;const n=me((te-(Game.cookies+mo()))/uo());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[ie[1]][ie[0]][0]-1].mature,o=t.plantsById[t.plot[ie[1]][ie[0]][0]-1].name;l("CMTooltipBorder").appendChild(To("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${pe(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${pe(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${pe(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${pe(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===ne?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(To("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=ho(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==ee[Game.buffs[t].name]?ee[Game.buffs[t].name]:j,a.lastChild.children[1].className=N+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),le!==n&&(le=n,yo())}}(),fo(),No(),function(){if(1===e.TooltipWrink&&1===_){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===X[t]||void 0===X[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),Q=t,X[t]=1}}else X[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[Q],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[Q].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),Zt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=pe(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,pe(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}function Fo(){he.addLatest(Game.computedMouseCps)}class Wo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}calcSum(e){let t=e;return t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length),0===t?0:this.queue.slice(-t).reduce(((e,t)=>e+t),0)}}function Lo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+Kt;Game.cpsSucked>0&&(o+=Gt),It=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-Ge,i=Math.max(0,Game.cookies-ve)/n,a=Math.max(0,Gt-we)/n,r=Math.max(0,wt[0]-xe)/n,l=Math.max(0,o-Ct)/n,s=(Game.cookieClicks-Me)/n;for(let e=0;e0&&(n=A),n}function jo(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=D;else{t[n].color=Ao(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+mo()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||qt.push([t[n].pp,o])}))}function Ho(){!function(){Xt=1/0,qt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Do(yt,1),Do(bt,10),Do(kt,100),qt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;qt[t][1]>Game.cookies&&(t+=1,qt.length!==t+1););Xt=qt[e.PPExcludeTop][t],jo(yt,1),jo(bt,10),jo(kt,100)}(),Object.keys(Tt).forEach((e=>{Game.cookiesPs?Tt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+mo()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/Tt[e].bonus:Tt[e].pp=Game.Upgrades[e].getPrice()/Tt[e].bonus,Number.isNaN(Tt[e].pp)&&(Tt[e].pp=1/0),Tt[e].color=Ao(Tt[e],Game.Upgrades[e].getPrice())}))}function Uo(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),Qe=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(Ue)*He*function(){let e=0;if(ao("Heavenly chip secret")&&(e+=.05),ao("Heavenly cookie stand")&&(e+=.2),ao("Heavenly bakery")&&(e+=.25),ao("Heavenly confectionery")&&(e+=.25),ao("Heavenly key")&&(e+=.25),e*=1+.05*oo("Dragon God"),ao("Lucky digit")&&(e*=1.01),ao("Lucky number")&&(e*=1.01),ao("Lucky payout")&&(e*=1.01),Game.hasGod){const t=ro("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=io("cps"),ao("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];ao(o.name)&&("function"==typeof o.power?e*=1+.01*eo[o.name].power(eo[o.name]):e*=1+.01*o.power)})),ao("Specialized chocolate chips")&&(e*=1.01),ao("Designer cocoa beans")&&(e*=1.02),ao("Underworld ovens")&&(e*=1.03),ao("Exotic nuts")&&(e*=1.04),ao("Arcane sugar")&&(e*=1.05),ao("Increased merriness")&&(e*=1.15),ao("Improved jolliness")&&(e*=1.15),ao("A lump of coal")&&(e*=1.01),ao("An itchy sweater")&&(e*=1.01),ao("Santa's dominion")&&(e*=1.2),ao("Fortune #100")&&(e*=1.01),ao("Fortune #101")&&(e*=1.07),ao("Dragon scale")&&(e*=1.03);let o=1;if(ro){let t=ro("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=ro("ages"),1===t?e*=1+.15*Math.sin(P/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(P/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(P/1e3/86400*Math.PI*2)),t=ro("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=ro("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=ro("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}ao("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=De/25;let i=1;if(ao("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*oo("Breath of Milk"),ro){const e=ro("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=io("milk");let a=1;ao("Kitten helpers")&&(a*=1+.1*n*i),ao("Kitten workers")&&(a*=1+.125*n*i),ao("Kitten engineers")&&(a*=1+.15*n*i),ao("Kitten overseers")&&(a*=1+.175*n*i),ao("Kitten managers")&&(a*=1+.2*n*i),ao("Kitten accountants")&&(a*=1+.2*n*i),ao("Kitten specialists")&&(a*=1+.2*n*i),ao("Kitten experts")&&(a*=1+.2*n*i),ao("Kitten consultants")&&(a*=1+.2*n*i),ao("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),ao("Kitten marketeers")&&(a*=1+.15*n*i),ao("Kitten analysts")&&(a*=1+.125*n*i),ao("Kitten executives")&&(a*=1+.115*n*i),ao("Kitten angels")&&(a*=1+.1*n*i),ao("Fortune #103")&&(a*=1+.05*n*i),Object.keys(Zt).forEach((e=>{const t=Zt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&ao("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),Xe+=t.amount*a})),ao('"egg"')&&(Xe+=9),e*=a;let r=1;if(ao("Chicken egg")&&(r*=1.01),ao("Duck egg")&&(r*=1.01),ao("Turkey egg")&&(r*=1.01),ao("Quail egg")&&(r*=1.01),ao("Robin egg")&&(r*=1.01),ao("Ostrich egg")&&(r*=1.01),ao("Cassowary egg")&&(r*=1.01),ao("Salmon roe")&&(r*=1.01),ao("Frogspawn")&&(r*=1.01),ao("Shark egg")&&(r*=1.01),ao("Turtle egg")&&(r*=1.01),ao("Ant larva")&&(r*=1.01),ao("Century egg")){let e=10*Math.floor((B-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),gt=1+.1*(1-(1-e/100)**3),r*=gt}e*=r,ao("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+oo("Radiant Appetite");const l=Xe*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&$o(Game.CpsAchievements[e].name)})),qe=l;const{n:s}=Game.shimmerTypes.golden,c=oo("Dragon's Fortune");for(let t=0;t{ao(e[o])&&(t+=.1)}))}e*=t}if(ao("Shimmering veil [off]")){let t=.5;ao("Reinforced membrane")&&(t+=.1),e*=1+t}ao("Magic shenanigans")&&(e*=1e3),ao("Occult obstruction")&&(e*=0),Xe=Game.runModHookOnValue("cps",Xe),e*=Bo(),Xe*=e}const Io=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],zo=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Vo=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],_o=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],Qo=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function Xo(e){return to[e]?to[e].won:0}function qo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{ao(Game.GrandmaSynergies[t])&&(e+=1)})),!Xo("Elder")&&e>=7&&$o("Elder"),!Xo("Veteran")&&e>=14&&$o("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(Zt).forEach((e=>{t+=Zt[e].amount,i=Math.min(Zt[e].amount,i),Xo("Mathematician")||Zt[e].amount=1&&$o("One with everything"),1===o&&$o("Mathematician"),1===n&&$o("Base 10"),i>=100&&$o("Centennial"),i>=150&&$o("Centennial and a half"),i>=200&&$o("Bicentennial"),i>=250&&$o("Bicentennial and a half"),i>=300&&$o("Tricentennial"),i>=350&&$o("Tricentennial and a half"),i>=400&&$o("Quadricentennial"),i>=450&&$o("Quadricentennial and a half"),i>=500&&$o("Quincentennial"),i>=550&&$o("Quincentennial and a half"),i>=600&&$o("Sexcentennial"),t>=100&&$o("Builder"),t>=500&&$o("Architect"),t>=1e3&&$o("Engineer"),t>=2e3&&$o("Lord of Constructs"),t>=4e3&&$o("Grand design"),t>=8e3&&$o("Ecumenopolis"),Ae>=20&&$o("Enhancer"),Ae>=50&&$o("Augmenter"),Ae>=100&&$o("Upgrader"),Ae>=200&&$o("Lord of Progress"),Ae>=300&&$o("The full picture"),Ae>=400&&$o("When there's nothing left to add"),t>=4e3&&Ae>=300&&$o("Polymath"),t>=8e3&&Ae>=400&&$o("Renaissance baker"),Zt.Cursor.amount+Zt.Grandma.amount>=777&&$o("The elder scrolls");let a=!0;Object.keys(zo).forEach((e=>{ao(zo[e])||(a=!1)})),a&&$o("Spooky cookies");let r=!0;if(Object.keys(Vo).forEach((e=>{ao(Vo[e])||(r=!1)})),r&&$o("Let it snow"),ao("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{ao(e[o].name)&&(t+=1)})),t>=e.length&&$o("O Fortuna")}}function Yo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){Mo(),Zt[e].amount+=t;const o=Zt[e];"Cursor"===e?(o.amount>=1&&$o("Click"),o.amount>=2&&$o("Double-click"),o.amount>=50&&$o("Mouse wheel"),o.amount>=100&&$o("Of Mice and Men"),o.amount>=200&&$o("The Digital"),o.amount>=300&&$o("Extreme polydactyly"),o.amount>=400&&$o("Dr. T"),o.amount>=500&&$o("Thumbs, phalanges, metacarpals"),o.amount>=600&&$o("With her finger and her thumb"),o.amount>=700&&$o("Gotta hand it to you"),o.amount>=800&&$o("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&$o(Game.Objects[o.name].tieredAchievs[e].name)}));const n=De;return Ro(),qo(),n!==De&&Ro(),Xe-Game.cookiesPs}(o,e),1!==e&&(Fe=1)})),t}function Ko(){Object.keys(Game.Objects).forEach((e=>{yt[e].price=Uo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),bt[e].price=Uo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),kt[e].price=Uo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Jo(){yt=Yo(1),bt=Yo(10),kt=Yo(100),Tt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){Mo(),"Shimmering veil [on]"===eo[e].name?eo["Shimmering veil [off]"].bought=0:"Golden switch [on]"===eo[e].name?eo["Golden switch [off]"].bought=0:eo[e].bought=(eo[e].bought+1)%2,Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Ae+=1),"Elder Pledge"===e?(je+=1,je>0&&$o("Elder nap"),je>=5&&$o("Elder slumber")):"Elder Covenant"===e?$o("Elder calm"):"Prism heart biscuits"===e?$o("Lovely cookies"):"Heavenly key"===e&&$o("Wholesome");const t=De;Ro(),qo(),t!==De&&Ro();const o=function(){let e=0;ao("Thousand fingers")&&(e+=.1),ao("Million fingers")&&(e*=5),ao("Billion fingers")&&(e*=10),ao("Trillion fingers")&&(e*=20),ao("Quadrillion fingers")&&(e*=20),ao("Quintillion fingers")&&(e*=20),ao("Sextillion fingers")&&(e*=20),ao("Septillion fingers")&&(e*=20),ao("Octillion fingers")&&(e*=20),ao("Nonillion fingers")&&(e*=20);let t=0;Object.keys(Zt).forEach((e=>{t+=Zt[e].amount})),t-=Zt.Cursor.amount,e*=t,ao("Plastic mouse")&&(e+=.01*Xe),ao("Iron mouse")&&(e+=.01*Xe),ao("Titanium mouse")&&(e+=.01*Xe),ao("Adamantium mouse")&&(e+=.01*Xe),ao("Unobtainium mouse")&&(e+=.01*Xe),ao("Eludium mouse")&&(e+=.01*Xe),ao("Wishalloy mouse")&&(e+=.01*Xe),ao("Fantasteel mouse")&&(e+=.01*Xe),ao("Nevercrack mouse")&&(e+=.01*Xe),ao("Armythril mouse")&&(e+=.01*Xe),ao("Technobsidian mouse")&&(e+=.01*Xe),ao("Plasmarble mouse")&&(e+=.01*Xe),ao("Miraculite mouse")&&(e+=.01*Xe),ao("Fortune #104")&&(e+=.01*Xe);let o=1;if(ao("Santa's helpers")&&(o*=1.1),ao("Cookie egg")&&(o*=1.1),ao("Halo gloves")&&(o*=1.1),ao("Dragon claw")&&(o*=1.03),ao("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,ao("Luminous gloves")?20:10)),o*=io("click"),Zt.Temple.minigameLoaded&&ro){const e=ro("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*oo("Dragon Cursor");let n=o*Game.ComputeCps(1,ao("Reinforced index finger")+ao("Carpal tunnel prevention cream")+ao("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[Xe-Game.cookiesPs,o]:[Xe-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(Tt[t]={bonus:Game.cookiesPs-Te},1===e.CalcWrink?Tt[t].bonus-=Se:2===e.CalcWrink&&(Tt[t].bonus-=Pe),Number.isFinite(Tt[t].bonus)||(Tt[t].bonus=0)):(Tt[t]={},o[0]&&(Tt[t].bonus=o[0]),o[1]&&(Tt[t].bonusMouse=o[1]))}))}function Zo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Ft=Zo(7,e,ut),Nt=2*Ft[1]/ut,Ot=Ft[2]/60/60/6/pt,At=Zo(6,e,mt),Wt=2*At[1]/mt,Lt=At[2]/60/60/6/pt,Ht=Zo(7,7*e,ut),jt=2*Ht[1]/ut,Dt=Ht[2]/60/60/6/pt,Rt=Zo(6,7*e,mt),Ut=2*Rt[1]/mt,$t=Rt[2]/60/60/6/pt}function tn(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Ne,i=Math.max(0,o-Oe)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?Bt+=e:"cookie"===o.pool?Et+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(Pt+=e)}}))}function nn(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),ft=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(ft*=2)}}function an(){et=900*dt/.15,et*=pt;const e=Bo();e>0?et/=e:et=0,tt=ut*(.15*et)+13,ot=mt*(.15*et)+13,nt=7*et,it=ut*(.15*nt)+13,at=mt*(.15*nt)+13,rt=2*et,lt=.15*rt,st=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountst&&(st=2*Game.Objects[e].price,ct=e)}))}function rn(){let e=1,t=1,o=1;ao("Green yeast digestives")&&(o*=1.01),ao("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),ut=o*e,mt=o*t,pt=1,0===Game.shimmerTypes.golden.n&&(pt*=1+1.23*Game.auraMult("Dragon's Fortune"))}function ln(){Gt=0,vt=0,wt=[0,null];for(let e=0;ewt[0]&&(wt=[t,e]))}}function sn(){ko(),ln(),an(),rn(),en(),on(),nn(),ge=new Wo(J[J.length-1]),fe=new Wo(J[J.length-1]),Ce=new Wo(J[J.length-1]),ye=new Wo(J[J.length-1]),be=new Wo(Z[Z.length-1]),ke=new Wo(5),he=new Wo(20*Z[Z.length-1]),tn(),Lo(),Jo(),Ko(),Ho()}const cn={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,MissingAchievements:0,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,FavouriteSettings:1,Header:{Favourite:1,Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},dn=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function pn(){1===e.BotBar?(l("CMBotBar").style.display="",fo()):l("CMBotBar").style.display="none",yo()}function un(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),fo(),co(),po()}function mn(){1===e.Favicon&&y>0?Vt.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class hn{constructor(e,t){this.type=e,this.group=t}}class gn extends hn{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class fn extends hn{constructor(e,t,o){super(e,t),this.desc=o}}class Cn extends hn{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class yn extends hn{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const bn={CPSMode:new gn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new gn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new gn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new gn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){_e=!0})),Scale:new gn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Abbreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){un()})),ScaleDecimals:new gn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){un()})),ScaleSeparator:new gn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){un()})),ScaleCutoff:new yn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new gn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new gn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=V:Game.sayTime=S.sayTime})),PPDisplayTime:new gn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new gn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){co()})),PPOnlyConsiderBuyable:new gn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new gn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new gn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new yn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),ColourBlue:new fn("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new fn("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new fn("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new fn("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new fn("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new fn("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new fn("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new fn("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new fn("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new gn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){pn()})),TimerBar:new gn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){bo()})),TimerBarPos:new gn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),yo()})),TimerBarOverlay:new gn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new gn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",po()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",po()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new gn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new gn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){co()})),SortUpgrades:new gn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){po()})),DragonAuraInfo:new gn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new gn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new gn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(se).forEach((e=>{se[e].style.display="block",se[e].style.left=Yt[e].l.style.left,se[e].style.top=Yt[e].l.style.top})):Object.keys(se).forEach((e=>se[e].style.display="none"))})),Favicon:new gn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){mn()})),WrinklerButtons:new gn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new gn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new gn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new gn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new gn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new gn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new gn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new gn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new gn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new yn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new gn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new gn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){Eo()})),TooltipGrim:new gn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new gn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new gn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new gn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new gn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new gn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new gn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new gn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in statistics menu",!0),MissingAchievements:new gn("bool","Statistics",["Missing Achievements OFF","Missing Normal Achievements ON"],"Shows missing normal achievements in statistics menu.",!1),UpStats:new gn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new yn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new gn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new gn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new gn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new gn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){dn(e.GCNotification)})),GCFlash:new gn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new fn("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new gn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new Cn("vol","NotificationGC",[],"Volume"),GCSoundURL:new gn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new gn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){dn(e.FortuneNotification)})),FortuneFlash:new gn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new fn("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new gn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new Cn("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new gn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new gn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){dn(e.SeaNotification)})),SeaFlash:new gn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new fn("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new gn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new Cn("vol","NotificationSea",[],"Volume"),SeaSoundURL:new gn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new gn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new fn("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new gn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new Cn("vol","NotificationGard",[],"Volume"),GardSoundURL:new gn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new gn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){dn(e.MagicNotification)})),MagicFlash:new gn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new fn("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new gn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new Cn("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new gn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new gn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){dn(e.WrinklerNotification)})),WrinklerFlash:new gn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new fn("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new gn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new Cn("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new gn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new gn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){dn(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new gn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new fn("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new gn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new Cn("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new gn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new gn("bool","Miscellaneous",["Block bulk buying OFF","Block bulk buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0),FavouriteSettings:new gn("bool","Miscellaneous",["Favourite settings section OFF","Favourite settings section ON","Favourite settings section ON (Locked)"],"Show stars before each setting which allows selecting it for a 'favourites' section at the top of the Cookie Monster settings. Setting this to Locked removes the stars but shows the 'favourites' section",!0,(function(){Game.UpdateMenu()}))};function kn(){return JSON.stringify({favouriteSettings:de,settings:e,version:"2.031.6"})}function Gn(){if(Je!==Game.dragonLevel||_e){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{Zt[e]=wo(e)})),eo=[],Object.keys(Game.Upgrades).forEach((e=>{eo[e]=xo(e)})),to=[],Object.keys(Game.Achievements).forEach((e=>{to[e]=Go(e)})),Mo()}let xn=!1;function Mn(t,o,n){(1===e[o]||n)&&3===t&&!1===xn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){Mn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){Mn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){Mn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function Tn(t,o,n,i){if((1===e[o]||i)&&!1===xn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function Sn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===xn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function Pn(){if(re!==Game.OnAscend&&(re=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(pn(),bo()),Co()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(wn(),sn(),r=Object.keys(Game.mods).length),_e&&(Jo(),Game.Has("Golden switch [off]")?(Mo(),eo["Golden switch [off]"].bought=0,Ro(),dt=Xe):dt=Game.cookiesPs,rn(),an(),on(),en(),Gn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Jt[e][t]=vn(e,t)}(),nn(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;Mo();let t=2;5!==$e&&18!==$e||(t-=1),5!==Re&&18!==Re||(t-=1),$e=5,Re=18;for(let e=0;e{Zt[t].amount>0&&(e=t)})),Zt[e].amount-=1,Le-=1}return Object.keys(Zt).forEach((t=>{const o=Zt[t];e+=so(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),Kt=e}(),_e=0);const t=Game.auraMult("Fierce Hoarder")>0;!We&&t?(We=!0,Fe=1):We&&!t&&(We=!1,Fe=1),Fe&&(Ko(),Fe=0),function(){ln(),Ho(),function(){xt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(Zt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}Mt=e,xt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Lo(),tn();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);Qt=ue(e/uo())}(),G=0,Yt={},Object.keys(Game.shimmers).forEach((e=>{Yt[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(Vt=Game.shimmers[e],G+=1)})),Object.keys(se).forEach((e=>{void 0===Yt[e]&&(se[e].parentNode.removeChild(se[e]),delete se[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===se[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},se[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),mn(),b=G,0===G&&(Vt=0)):1===e.GCTimer&&y&&Object.keys(se).forEach((e=>{se[e].style.opacity=Yt[e].l.style.opacity,se[e].style.transform=Yt[e].l.style.transform,se[e].textContent=Math.ceil(Yt[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(Mn(3,"FortuneFlash",!1),Tn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),Sn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&(_t=Game.shimmers[e])})),Mn(3,"SeaFlash",!1),Tn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),Sn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>v?(v=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?Mn(3,"WrinklerMaxFlash",!1):Mn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?Tn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):Tn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?Sn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):Sn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):v=t}}()}}function Bn(){let t="";for(let o=0;o<$.length;o++)t+=`.CMText${$[o]} { color: ${e[`Colour${$[o]}`]}; }\n`;for(let o=0;o<$.length;o++)t+=`.CMBack${$[o]} { background-color: ${e[`Colour${$[o]}`]}; }\n`;for(let o=0;o<$.length;o++)t+=`.CMBorder${$[o]} { border: 1px solid ${e[`Colour${$[o]}`]}; }\n`;l("CMCSS").textContent=t,co()}function En(){const e=b64_to_utf8(unescape(localStorage.getItem("CookieClickerGame")).split("!END!")[0]),t=e.match(/CookieMonster.*(;|$)/);if(null!==t){const o=e.replace(t[0],`CookieMonster:${kn()}`);localStorage.setItem("CookieClickerGame",escape(`${utf8_to_b64(o)}!END!`))}}function Nn(t){if(void 0!==localStorage.CMConfig&&delete localStorage.CMConfig,void 0!==t){e=t,void 0!==e.Colors&&delete e.Colors,void 0!==e.Colours&&delete e.Colours;let o=!1;Object.keys(cn).forEach((t=>{void 0===e[t]?(o=!0,e[t]=cn[t]):"Header"===t&&Object.keys(cn.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=cn[t][n])}))})),o&&En(),Pn(),Object.keys(cn).forEach((e=>{"Header"!==e&&void 0!==bn[e].func&&bn[e].func()}))}else Nn(cn);Game.UpdateMenu(),Bn()}function On(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Fn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Uo(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${pe(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${me((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(pe(Game.Objects[o].bulkPrice)).join(pe((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return ne=t,ie=o,No(),l("tooltip").innerHTML}function Wn(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(M[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function Ln(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),En()}function Rn(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){$n(o),Game.UpdateMenu()},n.appendChild(i),n}function In(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(I[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function zn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function Vn(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(Rn("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+mo(){Game.HasUnlocked(Qo[e])||c.push(Qo[e])})),0!==c.length&&e.appendChild(In("basic","Rare plant drops left to unlock",zn(c))),e}())),o.appendChild(Rn("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige(It+Game.cookiesReset+Gt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?Ct:0)));t.appendChild(In("withTooltip","Prestige level (cur / max)",document.createTextNode(`${pe(Game.prestige)} / ${pe(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-(It+Game.cookiesReset+Gt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&&Ct?Ct:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(pe(n)));const a=document.createElement("small");a.textContent=` (${ue(n/zt,1)})`,i.appendChild(a),t.appendChild(In("withTooltip","Cookies to next level",i,"NextPrestTooltipPlaceholder")),t.appendChild(In("withTooltip","Heavenly chips (cur / max)",document.createTextNode(`${pe(Game.heavenlyChips)} / ${pe(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild(In("basic","Heavenly chips per second (last 5 seconds)",document.createTextNode(pe(ht,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild(In("basic","Heavenly chips to target set in settings (cur)",document.createTextNode(pe(e)))),t.appendChild(In("basic","Time till target (cur, current 5 second average)",document.createTextNode(ue(e/ht)))))}const l=function(e){let t=Game.cookiesPs;Mo(),0===eo["Heavenly key"].bought&&(eo["Heavenly chip secret"].bought=1,eo["Heavenly cookie stand"].bought=1,eo["Heavenly bakery"].bought=1,eo["Heavenly confectionery"].bought=1,eo["Heavenly key"].bought=1,Ro(),t=Xe,Mo()),It>=1e6&&$o("Sacrifice"),It>=1e9&&$o("Oblivion"),It>=1e12&&$o("From scratch"),It>=1e15&&$o("Nihilism"),It>=1e18&&$o("Dematerialize"),It>=1e21&&$o("Nil zero zilch"),It>=1e24&&$o("Transcendence"),It>=1e27&&$o("Obliterate"),It>=1e30&&$o("Negative void"),It>=1e33&&$o("To crumbs, you say?"),It>=1e36&&$o("You get nothing"),It>=1e39&&$o("Humble rebeginnings"),It>=1e42&&$o("The end of the world"),It>=1e45&&$o("Oh, you're back"),It>=1e48&&$o("Lazarus"),It>=1e51&&$o("Smurf account"),It>=1e54&&$o("If at first you don't succeed"),eo["Heavenly chip secret"].bought=1,eo["Heavenly cookie stand"].bought=1,eo["Heavenly bakery"].bought=1,eo["Heavenly confectionery"].bought=1,eo["Heavenly key"].bought=1,Ue=e;const o=De;Ro(),qo(),o!==De&&Ro();const n=Xe-t;return Ue=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(pe(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(In("withTooltip","Reset bonus income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(In("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(In("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(In("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(Rn("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${pe(Gt)} / ${pe(vt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){On()},e.appendChild(t),o.appendChild(In("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${pe(wt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==wt[1]&&(Game.wrinklers[wt[1]].hp=0)},n.appendChild(i),o.appendChild(In("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==wt[1]?wt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(zo).forEach((e=>{Game.Has(zo[e])||(n.push(zo[e]),o=!0)}));const i=[];Object.keys(Vo).forEach((e=>{Game.Has(Vo[e])||(i.push(Vo[e]),o=!0)}));const a=[];Object.keys(_o).forEach((e=>{Game.Has(_o[e])||(a.push(_o[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(Rn("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(In("basic","Halloween cookies left to buy",zn(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild(In("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${pe((1-e)*o*100)}% / ${pe((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild(In("basic","Christmas cookies left to buy",zn(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild(In("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${pe((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild(In("basic","Valentine cookies left to buy",zn(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(In("basic","Normal easter eggs left to unlock",zn(r))),t.appendChild(In("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${pe(100*e(.98)[0])}% / ${pe(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(In("basic","Rare easter eggs left to unlock",zn(l))),t.appendChild(In("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${pe(100*e(.98)[1])}% / ${pe(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild(In("basic","Reindeer reward",document.createTextNode(pe(ft)))),s&&t.appendChild(In("withTooltip","Chocolate egg cookies",document.createTextNode(pe(Ct)),"ChoEggTooltipPlaceholder")),c&&t.appendChild(In("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(gt-1))/100+"%")))}return t}()),o.appendChild(Rn("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(In("basic",`Average cookies per second (past ${J[e.AvgCPSHist]<60?`${J[e.AvgCPSHist]} seconds`:J[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(pe(uo(),3)))),o.appendChild(In("basic",`Average cookie clicks per second (past ${Z[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(pe(St,1)))),o.appendChild(In("basic",`Cookies from clicking (past ${Z[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(pe(he.calcSum(St*Z[e.AvgClicksHist]))))),Game.Has("Fortune cookies")){const e=[];Object.keys(Io).forEach((t=>{Game.Has(Io[t])||e.push(Io[t])})),0!==e.length&&o.appendChild(In("basic","Fortune Upgrades Left to Buy",zn(e)))}if(e.ShowMissedGC&&o.appendChild(In("basic","Missed golden cookies",document.createTextNode(pe(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(In("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&Bt){const t=Bt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Bt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(Pt){const t=Pt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Pt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Et){const t=Et.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Et,e.appendChild(i)}}})),e.MissingAchievements&&function(){let t;Object.values(document.querySelectorAll("div.title")).forEach((e=>{e.textContent.includes("Achievements")&&(t=e.parentElement.querySelectorAll("div.listing.crateBox")[0])})),e.MissingAchievements&&Object.values(t.children).forEach((e=>{if(!e.className.includes("enabled")){const t=e.onclick.toString().match(/(?<=\[).*(?=\])/g)[0],{icon:o}=Game.AchievementsById[t];e.style.backgroundPosition=`${48*-o[0]}px ${48*-o[1]}px`,e.onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return function(e){const t=[];"shadow"===e.pool?t.push("Shadow Achievement","#9700cf"):t.push("Achievement",0),t.push("Locked",0);let o=0;(Game.Has("Neuromancy")||Game.sesame&&"debug"===e.pool)&&(o=1),o&&0===e.won?t.push("Click to win!","#00c462"):o&&e.won>0&&t.push("Click to lose!","#00c462");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());let{desc:i}=e;e.descFunc&&(i=e.descFunc("stats"));let a="";for(let e=0;e[${t[e]}]`);return a=a.substring(1),`
\n
\n
${e.name}
\n ${a}
${i}
\n ${Game.sesame?`
Id : ${e.id} | Order : ${Math.floor(e.order)}${e.tier?` | Tier : ${e.tier}`:""}
`:""}`}(Game.AchievementsById[t])}),"top"),Game.tooltip.wobble())}}}))}()}const _n={Favourite:"Favourite Settings",Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},Qn={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function Xn(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){$n(t),Game.UpdateMenu()},n.appendChild(i),n}function qn(t){const o=document.createElement("div");if(o.className="listing",1===e.FavouriteSettings&&o.appendChild(function(e){const t=document.createElement("a");return de.includes(e)?(t.innerText="★",t.style.color="yellow"):t.innerText="☆",t.className="option",t.onclick=function(){!function(e){de.includes(e)?de=de.filter((function(t){return t!==e})):de.push(e)}(e),En(),Game.UpdateMenu()},t.onmouseover=function(){Game.tooltip.draw(this,escape(I.FavouriteSettingPlaceholder.innerHTML))},t.onmouseout=function(){Game.tooltip.hide()},t.appendChild(document.createTextNode(" ")),t}(t)),"bool"===bn[t].type){const n=document.createElement("a");bn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=Hn+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===bn[t].label.length?(e[t]=0,bn[t].toggle&&(l(Hn+t).className="option off")):l(Hn+t).className="option",void 0!==bn[t].func&&bn[t].func(),l(Hn+t).innerHTML=bn[t].label[e[t]],En()}(t)},n.textContent=bn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=bn[t].desc,i.style.lineHeight="1.6",o.appendChild(i),o}if("vol"===bn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=bn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Un(t)},r.onchange=function(){Un(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){Tn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===bn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${bn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=Hn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${Hn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){!function(e,t){Game.promptWrapL.className="framed";const o=e;Game.promptL.innerHTML=`${o}
`,Object.keys(t).forEach((e=>{const o=document.createElement("a");o.id=`promptOption${e}`,o.className="option",o.onclick=function(){PlaySound("snd/tick.mp3"),t[e][1]()},o.textContent=t[e][0],Game.promptL.children[1].appendChild(o)})),Game.promptAnchorL.style.display="block",Game.darkenL.style.display="block",Game.promptL.focus(),Game.promptOn=1,Game.UpdatePrompt()}(a.outerHTML,[["Save",function(){e[t]=l(`CMConfig${t}Prompt`).value,En(),Game.ClosePrompt(),Game.UpdateMenu()}],["Cancel",function(){Game.ClosePrompt()}]])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=bn[t].desc,s.style.lineHeight="1.6",o.appendChild(s),o}if("colour"===bn[t].type){const n=document.createElement("span");n.className="option";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new jn(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),Bn(),En(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=bn[t].desc,a.style.lineHeight="1.6",n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){Mn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),Dn().init(),o}if("numscale"===bn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${bn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=Hn+t,i.className="option",i.type="number",i.value=e[t],i.min=bn[t].min,i.max=bn[t].max,i.oninput=function(){e[t]=this.value,En(),un()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=bn[t].desc,a.style.lineHeight="1.6",o.appendChild(a),o}return o}function Yn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function Kn(){S.Beautify=Beautify,Beautify=pe,S.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){S.CalculateGains(),_e=1,P=Date.now(),B=Date.now()},S.tooltip={},S.tooltip.draw=Game.tooltip.draw,S.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){S.tooltip.drawMod(e,t,o)},S.tooltip.update=Game.tooltip.update,S.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){S.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},S.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){Yn(S.UpdateWrinklers)},S.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){Yn(S.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){Yn(Game.ClickCookie)}),!1),S.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){S.RebuildUpgrades(),T=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(T[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},S.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e].amount>0){const o=Zt[Game.ObjectsById[e].name].name;Zt[o].amount-=1,Le-=1,t=Zt[o].basePrice*Game.priceIncrease**Math.max(0,Zt[o].amount-1-Zt[o].free),t=Game.modifyBuildingPrice(Zt[o],t),t=Math.ceil(t);break}const o=De;return Ro(),qo(),o!==De&&Ro(),[Xe-Game.cookiesPs,t]}(t),n=ue(o/(e+Game.cookiesPs)),i=pe(e/Game.cookiesPs*100);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${pe(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},S.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){S.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${Ze}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},S.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==Dn().picker&&void 0!==Dn().picker.owner||(S.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(_n).forEach((t=>{if("Favourite"===t){if(0!==de.length&&e.FavouriteSettings>0&&(o.appendChild(Xn(t,_n[t])),e.Header[t]))for(let e=0;e{const n=Xn(t,Qn[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(bn).forEach((e=>{bn[e].group===t&&o.appendChild(qn(e))}))})):Object.keys(bn).forEach((e=>{bn[e].group===t&&o.appendChild(qn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Nn(cn)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",Vn(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){$n("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},S.sayTime=Game.sayTime,V=function(e,t){return Number.isNaN(e)||e<=0?S.sayTime(e,t):ue(e/Game.fps,1)},S.Logic=Game.Logic,Game.Logic=function(){S.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),ce=`${Game.OnAscend?"Ascending! ":""}${pe(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=ce;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=Vt?Vt.wrath?`[W${Math.ceil(Vt.life/Game.fps)}]`:`[G${Math.ceil(Vt.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil(_t.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=ce;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;Vt&&(t=!0,Vt.wrath?e+=`[W${Math.ceil(Vt.life/Game.fps)}]`:e+=`[G${Math.ceil(Vt.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil(_t.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${pe(Game.prestige)}.
(CpS +${pe(Game.prestige)}%)`,n+='
'),n+=Oe<1?"Ascending now would grant you no prestige.":Oe<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${pe(Oe)} prestige levels (+${pe(Oe)}% CpS)
and ${pe(Oe)} heavenly chips to spend.`,n+='
',n+=`You need ${pe(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${Qt} to reach the next level and you were making ${pe(ht,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Jn(){wn(),an(),sn(),r=Object.keys(Game.mods).length,w=document.createElement("style"),w.type="text/css",w.id="CMCSS",document.head.appendChild(w),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=E+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",W)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",O)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",O)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",O)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{go(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=ho("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:D},{id:"CMTimerBarGCBar",color:j}]);e.appendChild(t);const o=ho("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:D},{id:"CMTimerBarRenBar",color:L}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=N+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(O,"Better than the best PP of a building option")),e.appendChild(o(F,"Same as the best PP building option")),e.appendChild(o(W,"Within the top 10 of PP for buildings")),e.appendChild(o(L,"Within the top 20 of PP for buildings")),e.appendChild(o(A,"Within the top 30 of PP for buildings")),e.appendChild(o(j,"Outside of the top 30 of PP for buildings")),e.appendChild(o(D,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=E+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",O)),e.appendChild(o("CMUpgradeBarGreen",F)),e.appendChild(o("CMUpgradeBarYellow",W)),e.appendChild(o("CMUpgradeBarOrange",L)),e.appendChild(o("CMUpgradeBarRed",A)),e.appendChild(o("CMUpgradeBarPurple",j)),e.appendChild(o("CMUpgradeBarGray",D)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(R).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),I[e]=n}(R[e][0],R[e][1],R[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){On()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==wt[1]&&(Game.wrinklers[wt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(x[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),Wn(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),An()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){_=1},l("backgroundLeftCanvas").onmouseout=function(){_=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{X[e]=0}))},Kn(),An(),Game.CalculateGains(),Nn(),z=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const Zn={init:function(){xn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Jn(),Game.registerHook("draw",Oo),Game.registerHook("logic",Pn),Game.registerHook("click",Fo),xn=!1)},load:function(e){const t=JSON.parse(e);wn(),void 0!==t.favouriteSettings&&(de=t.favouriteSettings),Nn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:kn};Game.registerMod("CookieMonster",Zn)})()})(); diff --git a/dist/CookieMonster.js b/dist/CookieMonster.js index eda6870..5feb961 100644 --- a/dist/CookieMonster.js +++ b/dist/CookieMonster.js @@ -1,2 +1,2 @@ /*! For license information please see CookieMonster.js.LICENSE.txt */ -(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,v,w,x,M,T=[],S=[],P=[],B={};const E="CMText",N="CMBack",O="Blue",F="Green",W="Yellow",L="Orange",A="Red",j="Purple",D="Gray",H="Pink",U="Brown",$=[D,O,F,W,L,A,j,H,U],R=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"],["FavouriteSettingPlaceholder","Click to set this setting as favourite and show it in 'favourite' settings at the top of the Cookie Monster Settings","250px"]],I={};let z,V,_=0,Q=-1,X=[],q=1,Y=1,K=1;const J=[10,15,30,60,300,600,900,1800],Z=[1,5,10,15,30],ee={Frenzy:W,"Dragon Harvest":U,"Elder frenzy":F,Clot:A,"Click frenzy":O,Dragonflight:H};let te,oe,ne,ie,ae,re,le,se={},ce="",de=[];function pe(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return B.Beautify(t,o);if(Number.isFinite(t)){if(t<0)return`-${pe(Math.abs(t))}`;let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function me(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=F):(n=ue(t),o=t>300?A:t>60?L:W),{text:n,color:o}}let he,ge,fe,Ce,ye,be,ke,Ge,ve,we,xe,Me,Te,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Ue,$e,Re,Ie,ze,Ve,_e,Qe,Xe,qe,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=0,st=0,ct=0,dt=0,pt=1,ut=1,mt=1,ht=0,gt=0,ft=0,Ct=0,yt={},bt={},kt={},Gt=0,vt=0,wt=[0,null],xt=0,Mt=0,Tt={},St={},Pt={},Bt={},Et={},Nt=0,Ot=0,Ft=[],Wt=0,Lt=0,At=[],jt=0,Dt=0,Ht=[],Ut=0,$t=0,Rt=[],It=0,zt=0,Vt={},_t={},Qt=0,Xt=0,qt=[],Yt={},Kt=0,Jt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},Zt=[],eo=[],to=[];function oo(e){let t=0;return Game.dragonAuras[$e].name!==e&&Game.dragonAuras[Re].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[$e].name&&"Reality Bending"!==Game.dragonAuras[Re].name||(t+=.1),t}function no(){let e=.25;return e*=1+oo("Earth Shatterer"),e}function io(e,t){return void 0===Qe[e]?void 0===t?1:t:Qe[e]}function ao(e){const t=eo[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function ro(e){if(Game.hasGod){void 0===Zt.Temple.minigame&&(Zt.Temple.minigame=Game.Objects.Temple.minigame);const t=Zt.Temple.minigame.gods[e];if(Ie===t.id)return 1;if(ze===t.id)return 2;if(Ve===t.id)return 3}return!1}function lo(e,t){let o=t;if(ao("Season savings")&&(o*=.99),ao("Santa's dominion")&&(o*=.99),ao("Faberge egg")&&(o*=.99),ao("Divine discount")&&(o*=.99),ao("Fortune #100")&&(o*=.99),o*=1-.02*oo("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&ao(e.fortune.name)&&(o*=.93),o*=io("buildingCost"),Zt.Temple.minigameLoaded){const e=ro("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function so(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function co(){let t=Game.buyBulk;if(1===Game.buyMode?Y=t:t=Y,1===t?t=yt:10===t?t=bt:100===t&&(t=kt),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(yt).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=pe(so(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(yt).map((e=>{const t=yt[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return $.indexOf(e.color)>$.indexOf(t.color)?1:$.indexOf(e.color)<$.indexOf(t.color)||e.pp{const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return $.indexOf(e.color)>$.indexOf(t.color)?1:$.indexOf(e.color)<$.indexOf(t.color)||e.pp{const t=yt[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;e$.indexOf(t.color)?1:$.indexOf(e.color)<$.indexOf(t.color)||e.ppe.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?q=i:i=q,1===i&&(i=yt),10===i&&(i=bt),100===i&&(i=kt),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=pe(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=E+i[o].color,n=e.PPDisplayTime?ue(Math.round(i[o].pp)):pe(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=me((Game.Objects[o].bulkPrice-(Game.cookies+mo()))/uo());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=E+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&ao(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(ao(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&ao(e.fortune.name)&&(t*=1.07),e.grandma&&ao(e.grandma.name)&&(t*=1+.01*Zt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&ao(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function wo(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;ao("Thousand fingers")&&(t+=.1),ao("Million fingers")&&(t*=5),ao("Billion fingers")&&(t*=10),ao("Trillion fingers")&&(t*=20),ao("Quadrillion fingers")&&(t*=20),ao("Quintillion fingers")&&(t*=20),ao("Sextillion fingers")&&(t*=20),ao("Septillion fingers")&&(t*=20),ao("Octillion fingers")&&(t*=20),ao("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(Zt).forEach((e=>{"Cursor"!==Zt[e].name&&(n+=Zt[e].amount)})),t*=n,o*=vo(e),o*=Game.magicCpS("Cursor"),o*=io("cursorCps"),Game.ComputeCps(.1,ao("Reinforced index finger")+ao("Carpal tunnel prevention cream")+ao("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{ao(Game.GrandmaSynergies[e])&&(o*=2)})),ao("Bingo center/Research facility")&&(o*=4),ao("Ritual rolling pins")&&(o*=2),ao("Naughty list")&&(o*=2),ao("Elderwort biscuits")&&(o*=1.02),o*=io("grandmaCps"),ao("Cat ladies"))for(let e=0;e{"Grandma"!==Zt[e].name&&(i+=Zt[e].amount)})),o*=1+.01*oo("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=vo(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function xo(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(Zt).forEach((t=>{Zt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(ao("Starlove")&&(e=3),Game.hasGod){const t=ro("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function Mo(){Ae=Game.UpgradesOwned,je=Game.pledges,De=Game.AchievementsOwned,He=Game.heavenlyPower,Ue=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=Zt[e];void 0===o&&(Zt[e]=wo(e),o=Zt[e],go(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(Ie=t.minigame.slot[0],ze=t.minigame.slot[1],Ve=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),Zt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=eo[e];void 0===o&&(eo[e]=xo(e),o=eo[e]),o.bought=t.bought,eo[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=to[e];void 0===o&&(to[e]=Go(e),o=to[e]),o.won=t.won,to[e]=o})),ko(),$e=Ye,Re=Ke}function To(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function So(e){e.appendChild(To("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(To("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(To("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(To("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===ne){e.appendChild(To("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function Po(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function Eo(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function No(){if(Mo(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===ne?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(So(l("CMTooltipBorder")),1===Game.buyMode?K=t:t=K,1===Game.buyBulk?t=yt:10===Game.buyBulk?t=bt:100===Game.buyBulk&&(t=kt),te=Game.Objects[ie].bulkPrice,oe=t[ie].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=pe(oe,2);const o=Math.round(oe/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=E+t[ie].color,e.PPDisplayTime?l("CMTooltipPP").textContent=ue(t[ie].pp):l("CMTooltipPP").textContent=pe(t[ie].pp,2),l("CMTooltipPP").className=E+t[ie].color;const n=me((te-(Game.cookies+mo()))/uo());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[ie[1]][ie[0]][0]-1].mature,o=t.plantsById[t.plot[ie[1]][ie[0]][0]-1].name;l("CMTooltipBorder").appendChild(To("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${pe(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${pe(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${pe(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${pe(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===ne?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(To("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=ho(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==ee[Game.buffs[t].name]?ee[Game.buffs[t].name]:j,a.lastChild.children[1].className=N+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),le!==n&&(le=n,yo())}}(),fo(),No(),function(){if(1===e.TooltipWrink&&1===_){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===X[t]||void 0===X[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),Q=t,X[t]=1}}else X[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[Q],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[Q].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),Zt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=pe(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,pe(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}function Fo(){he.addLatest(Game.computedMouseCps)}class Wo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}calcSum(e){let t=e;return t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length),0===t?0:this.queue.slice(-t).reduce(((e,t)=>e+t),0)}}function Lo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+Kt;Game.cpsSucked>0&&(o+=Gt),It=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-Ge,i=Math.max(0,Game.cookies-ve)/n,a=Math.max(0,Gt-we)/n,r=Math.max(0,wt[0]-xe)/n,l=Math.max(0,o-Ct)/n,s=(Game.cookieClicks-Me)/n;for(let e=0;e0&&(n=A),n}function jo(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=D;else{t[n].color=Ao(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+mo()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||qt.push([t[n].pp,o])}))}function Ho(){!function(){Xt=1/0,qt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Do(yt,1),Do(bt,10),Do(kt,100),qt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;qt[t][1]>Game.cookies&&(t+=1,qt.length!==t+1););Xt=qt[e.PPExcludeTop][t],jo(yt,1),jo(bt,10),jo(kt,100)}(),Object.keys(Tt).forEach((e=>{Game.cookiesPs?Tt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+mo()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/Tt[e].bonus:Tt[e].pp=Game.Upgrades[e].getPrice()/Tt[e].bonus,Number.isNaN(Tt[e].pp)&&(Tt[e].pp=1/0),Tt[e].color=Ao(Tt[e],Game.Upgrades[e].getPrice())}))}function Uo(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),Qe=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(Ue)*He*function(){let e=0;if(ao("Heavenly chip secret")&&(e+=.05),ao("Heavenly cookie stand")&&(e+=.2),ao("Heavenly bakery")&&(e+=.25),ao("Heavenly confectionery")&&(e+=.25),ao("Heavenly key")&&(e+=.25),e*=1+.05*oo("Dragon God"),ao("Lucky digit")&&(e*=1.01),ao("Lucky number")&&(e*=1.01),ao("Lucky payout")&&(e*=1.01),Game.hasGod){const t=ro("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=io("cps"),ao("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];ao(o.name)&&("function"==typeof o.power?e*=1+.01*eo[o.name].power(eo[o.name]):e*=1+.01*o.power)})),ao("Specialized chocolate chips")&&(e*=1.01),ao("Designer cocoa beans")&&(e*=1.02),ao("Underworld ovens")&&(e*=1.03),ao("Exotic nuts")&&(e*=1.04),ao("Arcane sugar")&&(e*=1.05),ao("Increased merriness")&&(e*=1.15),ao("Improved jolliness")&&(e*=1.15),ao("A lump of coal")&&(e*=1.01),ao("An itchy sweater")&&(e*=1.01),ao("Santa's dominion")&&(e*=1.2),ao("Fortune #100")&&(e*=1.01),ao("Fortune #101")&&(e*=1.07),ao("Dragon scale")&&(e*=1.03);let o=1;if(ro){let t=ro("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=ro("ages"),1===t?e*=1+.15*Math.sin(w/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(w/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(w/1e3/86400*Math.PI*2)),t=ro("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=ro("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=ro("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}ao("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=De/25;let i=1;if(ao("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*oo("Breath of Milk"),ro){const e=ro("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=io("milk");let a=1;ao("Kitten helpers")&&(a*=1+.1*n*i),ao("Kitten workers")&&(a*=1+.125*n*i),ao("Kitten engineers")&&(a*=1+.15*n*i),ao("Kitten overseers")&&(a*=1+.175*n*i),ao("Kitten managers")&&(a*=1+.2*n*i),ao("Kitten accountants")&&(a*=1+.2*n*i),ao("Kitten specialists")&&(a*=1+.2*n*i),ao("Kitten experts")&&(a*=1+.2*n*i),ao("Kitten consultants")&&(a*=1+.2*n*i),ao("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),ao("Kitten marketeers")&&(a*=1+.15*n*i),ao("Kitten analysts")&&(a*=1+.125*n*i),ao("Kitten executives")&&(a*=1+.115*n*i),ao("Kitten angels")&&(a*=1+.1*n*i),ao("Fortune #103")&&(a*=1+.05*n*i),Object.keys(Zt).forEach((e=>{const t=Zt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&ao("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),Xe+=t.amount*a})),ao('"egg"')&&(Xe+=9),e*=a;let r=1;if(ao("Chicken egg")&&(r*=1.01),ao("Duck egg")&&(r*=1.01),ao("Turkey egg")&&(r*=1.01),ao("Quail egg")&&(r*=1.01),ao("Robin egg")&&(r*=1.01),ao("Ostrich egg")&&(r*=1.01),ao("Cassowary egg")&&(r*=1.01),ao("Salmon roe")&&(r*=1.01),ao("Frogspawn")&&(r*=1.01),ao("Shark egg")&&(r*=1.01),ao("Turtle egg")&&(r*=1.01),ao("Ant larva")&&(r*=1.01),ao("Century egg")){let e=10*Math.floor((x-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),gt=1+.1*(1-(1-e/100)**3),r*=gt}e*=r,ao("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+oo("Radiant Appetite");const l=Xe*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&$o(Game.CpsAchievements[e].name)})),qe=l;const{n:s}=Game.shimmerTypes.golden,c=oo("Dragon's Fortune");for(let t=0;t{ao(e[o])&&(t+=.1)}))}e*=t}if(ao("Shimmering veil [off]")){let t=.5;ao("Reinforced membrane")&&(t+=.1),e*=1+t}ao("Magic shenanigans")&&(e*=1e3),ao("Occult obstruction")&&(e*=0),Xe=Game.runModHookOnValue("cps",Xe),e*=Bo(),Xe*=e}const Io=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],zo=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Vo=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],_o=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],Qo=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function Xo(e){return to[e]?to[e].won:0}function qo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{ao(Game.GrandmaSynergies[t])&&(e+=1)})),!Xo("Elder")&&e>=7&&$o("Elder"),!Xo("Veteran")&&e>=14&&$o("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(Zt).forEach((e=>{t+=Zt[e].amount,i=Math.min(Zt[e].amount,i),Xo("Mathematician")||Zt[e].amount=1&&$o("One with everything"),1===o&&$o("Mathematician"),1===n&&$o("Base 10"),i>=100&&$o("Centennial"),i>=150&&$o("Centennial and a half"),i>=200&&$o("Bicentennial"),i>=250&&$o("Bicentennial and a half"),i>=300&&$o("Tricentennial"),i>=350&&$o("Tricentennial and a half"),i>=400&&$o("Quadricentennial"),i>=450&&$o("Quadricentennial and a half"),i>=500&&$o("Quincentennial"),i>=550&&$o("Quincentennial and a half"),i>=600&&$o("Sexcentennial"),t>=100&&$o("Builder"),t>=500&&$o("Architect"),t>=1e3&&$o("Engineer"),t>=2e3&&$o("Lord of Constructs"),t>=4e3&&$o("Grand design"),t>=8e3&&$o("Ecumenopolis"),Ae>=20&&$o("Enhancer"),Ae>=50&&$o("Augmenter"),Ae>=100&&$o("Upgrader"),Ae>=200&&$o("Lord of Progress"),Ae>=300&&$o("The full picture"),Ae>=400&&$o("When there's nothing left to add"),t>=4e3&&Ae>=300&&$o("Polymath"),t>=8e3&&Ae>=400&&$o("Renaissance baker"),Zt.Cursor.amount+Zt.Grandma.amount>=777&&$o("The elder scrolls");let a=!0;Object.keys(zo).forEach((e=>{ao(zo[e])||(a=!1)})),a&&$o("Spooky cookies");let r=!0;if(Object.keys(Vo).forEach((e=>{ao(Vo[e])||(r=!1)})),r&&$o("Let it snow"),ao("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{ao(e[o].name)&&(t+=1)})),t>=e.length&&$o("O Fortuna")}}function Yo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){Mo(),Zt[e].amount+=t;const o=Zt[e];"Cursor"===e?(o.amount>=1&&$o("Click"),o.amount>=2&&$o("Double-click"),o.amount>=50&&$o("Mouse wheel"),o.amount>=100&&$o("Of Mice and Men"),o.amount>=200&&$o("The Digital"),o.amount>=300&&$o("Extreme polydactyly"),o.amount>=400&&$o("Dr. T"),o.amount>=500&&$o("Thumbs, phalanges, metacarpals"),o.amount>=600&&$o("With her finger and her thumb"),o.amount>=700&&$o("Gotta hand it to you"),o.amount>=800&&$o("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&$o(Game.Objects[o.name].tieredAchievs[e].name)}));const n=De;return Ro(),qo(),n!==De&&Ro(),Xe-Game.cookiesPs}(o,e),1!==e&&(Fe=1)})),t}function Ko(){Object.keys(Game.Objects).forEach((e=>{yt[e].price=Uo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),bt[e].price=Uo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),kt[e].price=Uo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Jo(){yt=Yo(1),bt=Yo(10),kt=Yo(100),Tt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){Mo(),"Shimmering veil [on]"===eo[e].name?eo["Shimmering veil [off]"].bought=0:"Golden switch [on]"===eo[e].name?eo["Golden switch [off]"].bought=0:eo[e].bought=(eo[e].bought+1)%2,Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Ae+=1),"Elder Pledge"===e?(je+=1,je>0&&$o("Elder nap"),je>=5&&$o("Elder slumber")):"Elder Covenant"===e?$o("Elder calm"):"Prism heart biscuits"===e?$o("Lovely cookies"):"Heavenly key"===e&&$o("Wholesome");const t=De;Ro(),qo(),t!==De&&Ro();const o=function(){let e=0;ao("Thousand fingers")&&(e+=.1),ao("Million fingers")&&(e*=5),ao("Billion fingers")&&(e*=10),ao("Trillion fingers")&&(e*=20),ao("Quadrillion fingers")&&(e*=20),ao("Quintillion fingers")&&(e*=20),ao("Sextillion fingers")&&(e*=20),ao("Septillion fingers")&&(e*=20),ao("Octillion fingers")&&(e*=20),ao("Nonillion fingers")&&(e*=20);let t=0;Object.keys(Zt).forEach((e=>{t+=Zt[e].amount})),t-=Zt.Cursor.amount,e*=t,ao("Plastic mouse")&&(e+=.01*Xe),ao("Iron mouse")&&(e+=.01*Xe),ao("Titanium mouse")&&(e+=.01*Xe),ao("Adamantium mouse")&&(e+=.01*Xe),ao("Unobtainium mouse")&&(e+=.01*Xe),ao("Eludium mouse")&&(e+=.01*Xe),ao("Wishalloy mouse")&&(e+=.01*Xe),ao("Fantasteel mouse")&&(e+=.01*Xe),ao("Nevercrack mouse")&&(e+=.01*Xe),ao("Armythril mouse")&&(e+=.01*Xe),ao("Technobsidian mouse")&&(e+=.01*Xe),ao("Plasmarble mouse")&&(e+=.01*Xe),ao("Miraculite mouse")&&(e+=.01*Xe),ao("Fortune #104")&&(e+=.01*Xe);let o=1;if(ao("Santa's helpers")&&(o*=1.1),ao("Cookie egg")&&(o*=1.1),ao("Halo gloves")&&(o*=1.1),ao("Dragon claw")&&(o*=1.03),ao("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,ao("Luminous gloves")?20:10)),o*=io("click"),Zt.Temple.minigameLoaded&&ro){const e=ro("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*oo("Dragon Cursor");let n=o*Game.ComputeCps(1,ao("Reinforced index finger")+ao("Carpal tunnel prevention cream")+ao("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[Xe-Game.cookiesPs,o]:[Xe-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(Tt[t]={bonus:Game.cookiesPs-Te},1===e.CalcWrink?Tt[t].bonus-=Se:2===e.CalcWrink&&(Tt[t].bonus-=Pe),Number.isFinite(Tt[t].bonus)||(Tt[t].bonus=0)):(Tt[t]={},o[0]&&(Tt[t].bonus=o[0]),o[1]&&(Tt[t].bonusMouse=o[1]))}))}function Zo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Ft=Zo(7,e,ut),Nt=2*Ft[1]/ut,Ot=Ft[2]/60/60/6/pt,At=Zo(6,e,mt),Wt=2*At[1]/mt,Lt=At[2]/60/60/6/pt,Ht=Zo(7,7*e,ut),jt=2*Ht[1]/ut,Dt=Ht[2]/60/60/6/pt,Rt=Zo(6,7*e,mt),Ut=2*Rt[1]/mt,$t=Rt[2]/60/60/6/pt}function tn(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Ne,i=Math.max(0,o-Oe)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?Bt+=e:"cookie"===o.pool?Et+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(Pt+=e)}}))}function nn(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),ft=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(ft*=2)}}function an(){et=900*dt/.15,et*=pt;const e=Bo();e>0?et/=e:et=0,tt=ut*(.15*et)+13,ot=mt*(.15*et)+13,nt=7*et,it=ut*(.15*nt)+13,at=mt*(.15*nt)+13,rt=2*et,lt=.15*rt,st=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountst&&(st=2*Game.Objects[e].price,ct=e)}))}function rn(){let e=1,t=1,o=1;ao("Green yeast digestives")&&(o*=1.01),ao("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),ut=o*e,mt=o*t,pt=1,0===Game.shimmerTypes.golden.n&&(pt*=1+1.23*Game.auraMult("Dragon's Fortune"))}function ln(){Gt=0,vt=0,wt=[0,null];for(let e=0;ewt[0]&&(wt=[t,e]))}}function sn(){ko(),ln(),an(),rn(),en(),on(),nn(),ge=new Wo(J[J.length-1]),fe=new Wo(J[J.length-1]),Ce=new Wo(J[J.length-1]),ye=new Wo(J[J.length-1]),be=new Wo(Z[Z.length-1]),ke=new Wo(5),he=new Wo(20*Z[Z.length-1]),tn(),Lo(),Jo(),Ko(),Ho()}const cn={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,MissingAchievements:0,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,FavouriteSettings:1,Header:{Favourite:1,Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},dn=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function pn(){1===e.BotBar?(l("CMBotBar").style.display="",fo()):l("CMBotBar").style.display="none",yo()}function un(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),fo(),co(),po()}function mn(){1===e.Favicon&&y>0?Vt.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class hn{constructor(e,t){this.type=e,this.group=t}}class gn extends hn{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class fn extends hn{constructor(e,t,o){super(e,t),this.desc=o}}class Cn extends hn{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class yn extends hn{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const bn={CPSMode:new gn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new gn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new gn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new gn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){_e=!0})),Scale:new gn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Abbreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){un()})),ScaleDecimals:new gn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){un()})),ScaleSeparator:new gn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){un()})),ScaleCutoff:new yn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new gn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new gn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=V:Game.sayTime=B.sayTime})),PPDisplayTime:new gn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new gn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){co()})),PPOnlyConsiderBuyable:new gn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new gn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new gn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new yn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),ColourBlue:new fn("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new fn("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new fn("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new fn("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new fn("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new fn("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new fn("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new fn("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new fn("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new gn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){pn()})),TimerBar:new gn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){bo()})),TimerBarPos:new gn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),yo()})),TimerBarOverlay:new gn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new gn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",po()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",po()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new gn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new gn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){co()})),SortUpgrades:new gn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){po()})),DragonAuraInfo:new gn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new gn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new gn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(se).forEach((e=>{se[e].style.display="block",se[e].style.left=Yt[e].l.style.left,se[e].style.top=Yt[e].l.style.top})):Object.keys(se).forEach((e=>se[e].style.display="none"))})),Favicon:new gn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){mn()})),WrinklerButtons:new gn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new gn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new gn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new gn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new gn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new gn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new gn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new gn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new gn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new yn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new gn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new gn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){Eo()})),TooltipGrim:new gn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new gn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new gn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new gn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new gn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new gn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new gn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new gn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in statistics menu",!0),MissingAchievements:new gn("bool","Statistics",["Missing Achievements OFF","Missing Normal Achievements ON"],"Shows missing normal achievements in statistics menu.",!1),UpStats:new gn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new yn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new gn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new gn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new gn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new gn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){dn(e.GCNotification)})),GCFlash:new gn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new fn("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new gn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new Cn("vol","NotificationGC",[],"Volume"),GCSoundURL:new gn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new gn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){dn(e.FortuneNotification)})),FortuneFlash:new gn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new fn("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new gn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new Cn("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new gn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new gn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){dn(e.SeaNotification)})),SeaFlash:new gn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new fn("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new gn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new Cn("vol","NotificationSea",[],"Volume"),SeaSoundURL:new gn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new gn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new fn("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new gn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new Cn("vol","NotificationGard",[],"Volume"),GardSoundURL:new gn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new gn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){dn(e.MagicNotification)})),MagicFlash:new gn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new fn("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new gn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new Cn("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new gn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new gn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){dn(e.WrinklerNotification)})),WrinklerFlash:new gn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new fn("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new gn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new Cn("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new gn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new gn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){dn(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new gn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new fn("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new gn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new Cn("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new gn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new gn("bool","Miscellaneous",["Block bulk buying OFF","Block bulk buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0),FavouriteSettings:new gn("bool","Miscellaneous",["Favourite settings section OFF","Favourite settings section ON","Favourite settings section ON (Locked)"],"Show stars before each setting which allows selecting it for a 'favourites' section at the top of the Cookie Monster settings. Setting this to Locked removes the stars but shows the 'favourites' section",!0,(function(){Game.UpdateMenu()}))};function kn(){return JSON.stringify({favouriteSettings:de,settings:e,version:"2.031.6"})}function Gn(){if(Je!==Game.dragonLevel||_e){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{Zt[e]=wo(e)})),eo=[],Object.keys(Game.Upgrades).forEach((e=>{eo[e]=xo(e)})),to=[],Object.keys(Game.Achievements).forEach((e=>{to[e]=Go(e)})),Mo()}let xn=!1;function Mn(t,o,n){(1===e[o]||n)&&3===t&&!1===xn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){Mn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){Mn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){Mn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function Tn(t,o,n,i){if((1===e[o]||i)&&!1===xn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function Sn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===xn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function Pn(){if(re!==Game.OnAscend&&(re=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(pn(),bo()),Co()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(wn(),sn(),r=Object.keys(Game.mods).length),_e&&(Jo(),Game.Has("Golden switch [off]")?(Mo(),eo["Golden switch [off]"].bought=0,Ro(),dt=Xe):dt=Game.cookiesPs,rn(),an(),on(),en(),Gn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Jt[e][t]=vn(e,t)}(),nn(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;Mo();let t=2;5!==$e&&18!==$e||(t-=1),5!==Re&&18!==Re||(t-=1),$e=5,Re=18;for(let e=0;e{Zt[t].amount>0&&(e=t)})),Zt[e].amount-=1,Le-=1}return Object.keys(Zt).forEach((t=>{const o=Zt[t];e+=so(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),Kt=e}(),_e=0);const t=Game.auraMult("Fierce Hoarder")>0;!We&&t?(We=!0,Fe=1):We&&!t&&(We=!1,Fe=1),Fe&&(Ko(),Fe=0),function(){ln(),Ho(),function(){xt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(Zt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}Mt=e,xt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Lo(),tn();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);Qt=ue(e/uo())}(),G=0,Yt={},Object.keys(Game.shimmers).forEach((e=>{Yt[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(Vt=Game.shimmers[e],G+=1)})),Object.keys(se).forEach((e=>{void 0===Yt[e]&&(se[e].parentNode.removeChild(se[e]),delete se[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===se[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},se[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),mn(),b=G,0===G&&(Vt=0)):1===e.GCTimer&&y&&Object.keys(se).forEach((e=>{se[e].style.opacity=Yt[e].l.style.opacity,se[e].style.transform=Yt[e].l.style.transform,se[e].textContent=Math.ceil(Yt[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(Mn(3,"FortuneFlash",!1),Tn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),Sn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&(_t=Game.shimmers[e])})),Mn(3,"SeaFlash",!1),Tn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),Sn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>v?(v=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?Mn(3,"WrinklerMaxFlash",!1):Mn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?Tn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):Tn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?Sn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):Sn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):v=t}}()}}function Bn(){let t="";for(let o=0;o<$.length;o++)t+=`.CMText${$[o]} { color: ${e[`Colour${$[o]}`]}; }\n`;for(let o=0;o<$.length;o++)t+=`.CMBack${$[o]} { background-color: ${e[`Colour${$[o]}`]}; }\n`;for(let o=0;o<$.length;o++)t+=`.CMBorder${$[o]} { border: 1px solid ${e[`Colour${$[o]}`]}; }\n`;l("CMCSS").textContent=t,co()}function En(){const e=b64_to_utf8(unescape(localStorage.getItem("CookieClickerGame")).split("!END!")[0]),t=e.match(/CookieMonster.*(;|$)/);if(null!==t){const o=e.replace(t[0],`CookieMonster:${kn()}`);localStorage.setItem("CookieClickerGame",escape(`${utf8_to_b64(o)}!END!`))}}function Nn(t){if(void 0!==localStorage.CMConfig&&delete localStorage.CMConfig,void 0!==t){e=t,void 0!==e.Colors&&delete e.Colors,void 0!==e.Colours&&delete e.Colours;let o=!1;Object.keys(cn).forEach((t=>{void 0===e[t]?(o=!0,e[t]=cn[t]):"Header"===t&&Object.keys(cn.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=cn[t][n])}))})),o&&En(),Pn(),Object.keys(cn).forEach((e=>{"Header"!==e&&void 0!==bn[e].func&&bn[e].func()}))}else Nn(cn);Game.UpdateMenu(),Bn()}function On(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Fn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Uo(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${pe(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${me((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(pe(Game.Objects[o].bulkPrice)).join(pe((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return ne=t,ie=o,No(),l("tooltip").innerHTML}function Wn(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(S[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function Ln(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),En()}function Rn(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){$n(o),Game.UpdateMenu()},n.appendChild(i),n}function In(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(I[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function zn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function Vn(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(Rn("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+mo(){Game.HasUnlocked(Qo[e])||c.push(Qo[e])})),0!==c.length&&e.appendChild(In("basic","Rare plant drops left to unlock",zn(c))),e}())),o.appendChild(Rn("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige(It+Game.cookiesReset+Gt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?Ct:0)));t.appendChild(In("withTooltip","Prestige level (cur / max)",document.createTextNode(`${pe(Game.prestige)} / ${pe(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-(It+Game.cookiesReset+Gt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&&Ct?Ct:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(pe(n)));const a=document.createElement("small");a.textContent=` (${ue(n/zt,1)})`,i.appendChild(a),t.appendChild(In("withTooltip","Cookies to next level",i,"NextPrestTooltipPlaceholder")),t.appendChild(In("withTooltip","Heavenly chips (cur / max)",document.createTextNode(`${pe(Game.heavenlyChips)} / ${pe(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild(In("basic","Heavenly chips per second (last 5 seconds)",document.createTextNode(pe(ht,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild(In("basic","Heavenly chips to target set in settings (cur)",document.createTextNode(pe(e)))),t.appendChild(In("basic","Time till target (cur, current 5 second average)",document.createTextNode(ue(e/ht)))))}const l=function(e){let t=Game.cookiesPs;Mo(),0===eo["Heavenly key"].bought&&(eo["Heavenly chip secret"].bought=1,eo["Heavenly cookie stand"].bought=1,eo["Heavenly bakery"].bought=1,eo["Heavenly confectionery"].bought=1,eo["Heavenly key"].bought=1,Ro(),t=Xe,Mo()),It>=1e6&&$o("Sacrifice"),It>=1e9&&$o("Oblivion"),It>=1e12&&$o("From scratch"),It>=1e15&&$o("Nihilism"),It>=1e18&&$o("Dematerialize"),It>=1e21&&$o("Nil zero zilch"),It>=1e24&&$o("Transcendence"),It>=1e27&&$o("Obliterate"),It>=1e30&&$o("Negative void"),It>=1e33&&$o("To crumbs, you say?"),It>=1e36&&$o("You get nothing"),It>=1e39&&$o("Humble rebeginnings"),It>=1e42&&$o("The end of the world"),It>=1e45&&$o("Oh, you're back"),It>=1e48&&$o("Lazarus"),It>=1e51&&$o("Smurf account"),It>=1e54&&$o("If at first you don't succeed"),eo["Heavenly chip secret"].bought=1,eo["Heavenly cookie stand"].bought=1,eo["Heavenly bakery"].bought=1,eo["Heavenly confectionery"].bought=1,eo["Heavenly key"].bought=1,Ue=e;const o=De;Ro(),qo(),o!==De&&Ro();const n=Xe-t;return Ue=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(pe(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(In("withTooltip","Reset bonus income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(In("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(In("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(In("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(Rn("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${pe(Gt)} / ${pe(vt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){On()},e.appendChild(t),o.appendChild(In("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${pe(wt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==wt[1]&&(Game.wrinklers[wt[1]].hp=0)},n.appendChild(i),o.appendChild(In("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==wt[1]?wt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(zo).forEach((e=>{Game.Has(zo[e])||(n.push(zo[e]),o=!0)}));const i=[];Object.keys(Vo).forEach((e=>{Game.Has(Vo[e])||(i.push(Vo[e]),o=!0)}));const a=[];Object.keys(_o).forEach((e=>{Game.Has(_o[e])||(a.push(_o[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(Rn("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(In("basic","Halloween cookies left to buy",zn(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild(In("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${pe((1-e)*o*100)}% / ${pe((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild(In("basic","Christmas cookies left to buy",zn(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild(In("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${pe((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild(In("basic","Valentine cookies left to buy",zn(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(In("basic","Normal easter eggs left to unlock",zn(r))),t.appendChild(In("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${pe(100*e(.98)[0])}% / ${pe(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(In("basic","Rare easter eggs left to unlock",zn(l))),t.appendChild(In("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${pe(100*e(.98)[1])}% / ${pe(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild(In("basic","Reindeer reward",document.createTextNode(pe(ft)))),s&&t.appendChild(In("withTooltip","Chocolate egg cookies",document.createTextNode(pe(Ct)),"ChoEggTooltipPlaceholder")),c&&t.appendChild(In("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(gt-1))/100+"%")))}return t}()),o.appendChild(Rn("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(In("basic",`Average cookies per second (past ${J[e.AvgCPSHist]<60?`${J[e.AvgCPSHist]} seconds`:J[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(pe(uo(),3)))),o.appendChild(In("basic",`Average cookie clicks per second (past ${Z[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(pe(St,1)))),o.appendChild(In("basic",`Cookies from clicking (past ${Z[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(pe(he.calcSum(St*Z[e.AvgClicksHist]))))),Game.Has("Fortune cookies")){const e=[];Object.keys(Io).forEach((t=>{Game.Has(Io[t])||e.push(Io[t])})),0!==e.length&&o.appendChild(In("basic","Fortune Upgrades Left to Buy",zn(e)))}if(e.ShowMissedGC&&o.appendChild(In("basic","Missed golden cookies",document.createTextNode(pe(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(In("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&Bt){const t=Bt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Bt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(Pt){const t=Pt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Pt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Et){const t=Et.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Et,e.appendChild(i)}}})),e.MissingAchievements&&function(){let t;Object.values(document.querySelectorAll("div.title")).forEach((e=>{e.textContent.includes("Achievements")&&(t=e.parentElement.querySelectorAll("div.listing.crateBox")[0])})),e.MissingAchievements&&Object.values(t.children).forEach((e=>{if(!e.className.includes("enabled")){const t=e.onclick.toString().match(/(?<=\[).*(?=\])/g)[0],{icon:o}=Game.AchievementsById[t];e.style.backgroundPosition=`${48*-o[0]}px ${48*-o[1]}px`,e.onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return function(e){const t=[];"shadow"===e.pool?t.push("Shadow Achievement","#9700cf"):t.push("Achievement",0),t.push("Locked",0);let o=0;(Game.Has("Neuromancy")||Game.sesame&&"debug"===e.pool)&&(o=1),o&&0===e.won?t.push("Click to win!","#00c462"):o&&e.won>0&&t.push("Click to lose!","#00c462");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());let{desc:i}=e;e.descFunc&&(i=e.descFunc("stats"));let a="";for(let e=0;e[${t[e]}]`);return a=a.substring(1),`
\n
\n
${e.name}
\n ${a}
${i}
\n ${Game.sesame?`
Id : ${e.id} | Order : ${Math.floor(e.order)}${e.tier?` | Tier : ${e.tier}`:""}
`:""}`}(Game.AchievementsById[t])}),"top"),Game.tooltip.wobble())}}}))}()}const _n={Favourite:"Favourite Settings",Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},Qn={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function Xn(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){$n(t),Game.UpdateMenu()},n.appendChild(i),n}function qn(t){const o=document.createElement("div");if(o.className="listing",1===e.FavouriteSettings&&o.appendChild(function(e){const t=document.createElement("a");return de.includes(e)?(t.innerText="★",t.style.color="yellow"):t.innerText="☆",t.className="option",t.onclick=function(){!function(e){de.includes(e)?de=de.filter((function(t){return t!==e})):de.push(e)}(e),En(),Game.UpdateMenu()},t.onmouseover=function(){Game.tooltip.draw(this,escape(I.FavouriteSettingPlaceholder.innerHTML))},t.onmouseout=function(){Game.tooltip.hide()},t.appendChild(document.createTextNode(" ")),t}(t)),"bool"===bn[t].type){const n=document.createElement("a");bn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=Hn+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===bn[t].label.length?(e[t]=0,bn[t].toggle&&(l(Hn+t).className="option off")):l(Hn+t).className="option",void 0!==bn[t].func&&bn[t].func(),l(Hn+t).innerHTML=bn[t].label[e[t]],En()}(t)},n.textContent=bn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=bn[t].desc,i.style.lineHeight="1.6",o.appendChild(i),o}if("vol"===bn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=bn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Un(t)},r.onchange=function(){Un(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){Tn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===bn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${bn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=Hn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${Hn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){!function(e,t){Game.promptWrapL.className="framed";const o=e;Game.promptL.innerHTML=`${o}
`,Object.keys(t).forEach((e=>{const o=document.createElement("a");o.id=`promptOption${e}`,o.className="option",o.onclick=function(){PlaySound("snd/tick.mp3"),t[e][1]()},o.textContent=t[e][0],Game.promptL.children[1].appendChild(o)})),Game.promptAnchorL.style.display="block",Game.darkenL.style.display="block",Game.promptL.focus(),Game.promptOn=1,Game.UpdatePrompt()}(a.outerHTML,[["Save",function(){e[t]=l(`CMConfig${t}Prompt`).value,En(),Game.ClosePrompt(),Game.UpdateMenu()}],["Cancel",function(){Game.ClosePrompt()}]])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=bn[t].desc,s.style.lineHeight="1.6",o.appendChild(s),o}if("colour"===bn[t].type){const n=document.createElement("span");n.className="option";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new jn(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),Bn(),En(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=bn[t].desc,a.style.lineHeight="1.6",n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){Mn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),Dn().init(),o}if("numscale"===bn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${bn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=Hn+t,i.className="option",i.type="number",i.value=e[t],i.min=bn[t].min,i.max=bn[t].max,i.oninput=function(){e[t]=this.value,En(),un()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=bn[t].desc,a.style.lineHeight="1.6",o.appendChild(a),o}return o}function Yn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function Kn(){B.Beautify=Beautify,Beautify=pe,B.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){B.CalculateGains(),_e=1,w=Date.now(),x=Date.now()},B.tooltip={},B.tooltip.draw=Game.tooltip.draw,B.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){B.tooltip.drawMod(e,t,o)},B.tooltip.update=Game.tooltip.update,B.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){B.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},B.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){Yn(B.UpdateWrinklers)},B.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){Yn(B.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){Yn(Game.ClickCookie)}),!1),B.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){B.RebuildUpgrades(),P=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(P[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},B.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e].amount>0){const o=Zt[Game.ObjectsById[e].name].name;Zt[o].amount-=1,Le-=1,t=Zt[o].basePrice*Game.priceIncrease**Math.max(0,Zt[o].amount-1-Zt[o].free),t=Game.modifyBuildingPrice(Zt[o],t),t=Math.ceil(t);break}const o=De;return Ro(),qo(),o!==De&&Ro(),[Xe-Game.cookiesPs,t]}(t),n=ue(o/(e+Game.cookiesPs)),i=pe(e/Game.cookiesPs*100);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${pe(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},B.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){B.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${Ze}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},B.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==Dn().picker&&void 0!==Dn().picker.owner||(B.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(_n).forEach((t=>{if("Favourite"===t){if(0!==de.length&&e.FavouriteSettings>0&&(o.appendChild(Xn(t,_n[t])),e.Header[t]))for(let e=0;e{const n=Xn(t,Qn[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(bn).forEach((e=>{bn[e].group===t&&o.appendChild(qn(e))}))})):Object.keys(bn).forEach((e=>{bn[e].group===t&&o.appendChild(qn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Nn(cn)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",Vn(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){$n("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},B.sayTime=Game.sayTime,V=function(e,t){return Number.isNaN(e)||e<=0?B.sayTime(e,t):ue(e/Game.fps,1)},B.Logic=Game.Logic,Game.Logic=function(){B.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),ce=`${Game.OnAscend?"Ascending! ":""}${pe(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=ce;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=Vt?Vt.wrath?`[W${Math.ceil(Vt.life/Game.fps)}]`:`[G${Math.ceil(Vt.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil(_t.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=ce;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;Vt&&(t=!0,Vt.wrath?e+=`[W${Math.ceil(Vt.life/Game.fps)}]`:e+=`[G${Math.ceil(Vt.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil(_t.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${pe(Game.prestige)}.
(CpS +${pe(Game.prestige)}%)`,n+='
'),n+=Oe<1?"Ascending now would grant you no prestige.":Oe<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${pe(Oe)} prestige levels (+${pe(Oe)}% CpS)
and ${pe(Oe)} heavenly chips to spend.`,n+='
',n+=`You need ${pe(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${Qt} to reach the next level and you were making ${pe(ht,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Jn(){wn(),an(),sn(),r=Object.keys(Game.mods).length,M=document.createElement("style"),M.type="text/css",M.id="CMCSS",document.head.appendChild(M),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=E+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",W)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",O)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",O)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",O)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{go(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=ho("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:D},{id:"CMTimerBarGCBar",color:j}]);e.appendChild(t);const o=ho("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:D},{id:"CMTimerBarRenBar",color:L}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=N+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(O,"Better than the best PP of a building option")),e.appendChild(o(F,"Same as the best PP building option")),e.appendChild(o(W,"Within the top 10 of PP for buildings")),e.appendChild(o(L,"Within the top 20 of PP for buildings")),e.appendChild(o(A,"Within the top 30 of PP for buildings")),e.appendChild(o(j,"Outside of the top 30 of PP for buildings")),e.appendChild(o(D,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=E+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",O)),e.appendChild(o("CMUpgradeBarGreen",F)),e.appendChild(o("CMUpgradeBarYellow",W)),e.appendChild(o("CMUpgradeBarOrange",L)),e.appendChild(o("CMUpgradeBarRed",A)),e.appendChild(o("CMUpgradeBarPurple",j)),e.appendChild(o("CMUpgradeBarGray",D)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(R).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),I[e]=n}(R[e][0],R[e][1],R[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){On()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==wt[1]&&(Game.wrinklers[wt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(T[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),Wn(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),An()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){_=1},l("backgroundLeftCanvas").onmouseout=function(){_=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{X[e]=0}))},Kn(),An(),Game.CalculateGains(),Nn(),z=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const Zn={init:function(){xn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Jn(),Game.registerHook("draw",Oo),Game.registerHook("logic",Pn),Game.registerHook("click",Fo),xn=!1)},load:function(e){const t=JSON.parse(e);wn(),void 0!==t.favouriteSettings&&(de=t.favouriteSettings),Nn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:kn};Game.registerMod("CookieMonster",Zn)})()})(); +(()=>{var e={877:function(e){!function(t,o){"use strict";"object"!=typeof e.exports?o(t):e.exports=t.document?o(t):function(e){if(!e.document)throw new Error("jscolor needs a window with document");return o(e)}}("undefined"!=typeof window?window:this,(function(e){"use strict";var t,o,n,i,a=((i={initialized:!1,instances:[],readyQueue:[],register:function(){void 0!==e&&e.document&&e.document.addEventListener("DOMContentLoaded",i.pub.init,!1)},installBySelector:function(t,o){if(!(o=o?i.node(o):e.document))throw new Error("Missing root node");for(var n=o.querySelectorAll(t),a=new RegExp("(^|\\s)("+i.pub.lookupClass+")(\\s*(\\{[^}]*\\})|\\s|$)","i"),r=0;r-1},isButtonEmpty:function(e){switch(i.nodeName(e)){case"input":return!e.value||""===e.value.trim();case"button":return""===e.textContent.trim()}return null},isPassiveEventSupported:function(){var t=!1;try{var o=Object.defineProperty({},"passive",{get:function(){t=!0}});e.addEventListener("testPassive",null,o),e.removeEventListener("testPassive",null,o)}catch(e){}return t}(),isColorAttrSupported:(n=e.document.createElement("input"),!(!n.setAttribute||(n.setAttribute("type","color"),"color"!=n.type.toLowerCase()))),dataProp:"_data_jscolor",setData:function(){var e=arguments[0];if(3===arguments.length){var t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={},o=arguments[2];return t[a=arguments[1]]=o,!0}if(2===arguments.length&&"object"==typeof arguments[1]){t=e.hasOwnProperty(i.dataProp)?e[i.dataProp]:e[i.dataProp]={};var n=arguments[1];for(var a in n)n.hasOwnProperty(a)&&(t[a]=n[a]);return!0}throw new Error("Invalid arguments")},removeData:function(){var e=arguments[0];if(!e.hasOwnProperty(i.dataProp))return!0;for(var t=1;t=3&&(n=l[0].match(s))&&(i=l[1].match(s))&&(a=l[2].match(s)))return o.format="rgb",o.rgba=[parseFloat(n[1])||0,parseFloat(i[1])||0,parseFloat(a[1])||0,null],l.length>=4&&(r=l[3].match(s))&&(o.format="rgba",o.rgba[3]=parseFloat(r[1])||0),o}return!1},parsePaletteValue:function(e){var t=[];"string"==typeof e?e.replace(/#[0-9A-F]{3}([0-9A-F]{3})?|rgba?\(([^)]*)\)/gi,(function(e){t.push(e)})):Array.isArray(e)&&(t=e);for(var o=[],n=0;ns[n]&&-t[n]+e[n]+l[n]/2>s[n]/2&&e[n]+l[n]-d[n]>=0?e[n]+l[n]-d[n]:e[n],-t[a]+e[a]+l[a]+d[a]-p+p*r>s[a]?-t[a]+e[a]+l[a]/2>s[a]/2&&e[a]+l[a]-p-p*r>=0?e[a]+l[a]-p-p*r:e[a]+l[a]-p+p*r:e[a]+l[a]-p+p*r>=0?e[a]+l[a]-p+p*r:e[a]+l[a]-p-p*r];else var u=[e[n],e[a]+l[a]-p+p*r];var m=u[n],h=u[a],g=o.fixed?"fixed":"absolute",f=(u[0]+d[0]>e[0]||u[0]0?Math.ceil(l/o):0,i=Math.max(1,Math.floor((t-(o-1)*e.paletteSpacing)/o)),a=e.paletteHeight?Math.min(e.paletteHeight,i):i),n&&(r=n*a+(n-1)*e.paletteSpacing),{cols:o,rows:n,cellW:i,cellH:a,width:t,height:r}},getControlPadding:function(e){return Math.max(e.padding/2,2*e.pointerBorderWidth+e.pointerThickness-e.controlBorderWidth)},getPadYChannel:function(e){switch(e.mode.charAt(1).toLowerCase()){case"v":return"v"}return"s"},getSliderChannel:function(e){if(e.mode.length>2)switch(e.mode.charAt(2).toLowerCase()){case"s":return"s";case"v":return"v"}return null},triggerCallback:function(e,t){if(e[t]){var o=null;if("string"==typeof e[t])try{o=new Function(e[t])}catch(e){console.error(e)}else o=e[t];o&&o.call(e)}},triggerGlobal:function(e){for(var t=i.getInstances(),o=0;o0)for(var c=0;c=2&&"string"==typeof arguments[0]){try{if(!a(arguments[0],arguments[1]))return!1}catch(e){return console.warn(e),!1}return this.redraw(),this.exposeColor(),!0}if(1===arguments.length&&"object"==typeof arguments[0]){var e=arguments[0],t=!0;for(var o in e)if(e.hasOwnProperty(o))try{a(o,e[o])||(t=!1)}catch(e){console.warn(e),t=!1}return this.redraw(),this.exposeColor(),t}throw new Error("Invalid arguments")},this.channel=function(e,t){if("string"!=typeof e)throw new Error("Invalid value for channel name: "+e);if(void 0===t)return this.channels.hasOwnProperty(e.toLowerCase())?this.channels[e.toLowerCase()]:(console.warn("Getting unknown channel: "+e),!1);var o=!1;switch(e.toLowerCase()){case"r":o=this.fromRGBA(t,null,null,null);break;case"g":o=this.fromRGBA(null,t,null,null);break;case"b":o=this.fromRGBA(null,null,t,null);break;case"h":o=this.fromHSVA(t,null,null,null);break;case"s":o=this.fromHSVA(null,t,null,null);break;case"v":o=this.fromHSVA(null,null,t,null);break;case"a":o=this.fromHSVA(null,null,null,t);break;default:return console.warn("Setting unknown channel: "+e),!1}return!!o&&(this.redraw(),!0)},this.trigger=function(e){for(var t=i.strList(e),o=0;o127.5},this.hide=function(){p()&&(i.removeClass(n.targetElement,i.pub.activeClassName),i.picker.wrap.parentNode.removeChild(i.picker.wrap),delete i.picker.owner)},this.show=function(){l()},this.redraw=function(){p()&&l()},this.getFormat=function(){return this._currentFormat},this._setFormat=function(e){this._currentFormat=e.toLowerCase()},this.hasAlphaChannel=function(){return"auto"===this.alphaChannel?"any"===this.format.toLowerCase()||i.isAlphaFormat(this.getFormat())||void 0!==this.alpha||void 0!==this.alphaElement:this.alphaChannel},this.processValueInput=function(e){this.fromString(e)||this.exposeColor()},this.processAlphaInput=function(e){this.fromHSVA(null,null,null,parseFloat(e))||this.exposeColor()},this.exposeColor=function(e){var t=this.toString(),o=this.getFormat();if(i.setDataAttr(this.targetElement,"current-color",t),e&i.flags.leaveValue||!this.valueElement||("hex"!==o&&"hexa"!==o||(this.uppercase||(t=t.toLowerCase()),this.hash||(t=t.replace(/^#/,""))),this.setValueElementValue(t)),!(e&i.flags.leaveAlpha)&&this.alphaElement){var n=Math.round(100*this.channels.a)/100;this.setAlphaElementValue(n)}e&i.flags.leavePreview||!this.previewElement||((i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&this.previewPosition,this.setPreviewElementBg(this.toRGBAString())),p()&&(s(),c(),d())},this.setPreviewElementBg=function(e){if(this.previewElement){var t=null,o=null;(i.isTextInput(this.previewElement)||i.isButton(this.previewElement)&&!i.isButtonEmpty(this.previewElement))&&(t=this.previewPosition,o=this.previewSize);var n=[];if(e){n.push({image:i.genColorPreviewGradient(e,t,o?o-i.pub.previewSeparator.length:null),position:"left top",size:"auto",repeat:t?"repeat-y":"repeat",origin:"padding-box"});var a=i.genColorPreviewCanvas("rgba(0,0,0,0)",t?{left:"right",right:"left"}[t]:null,o,!0);n.push({image:"url('"+a.canvas.toDataURL()+"')",position:(t||"left")+" top",size:a.width+"px "+a.height+"px",repeat:t?"repeat-y":"repeat",origin:"padding-box"})}else n.push({image:"none",position:"left top",size:"auto",repeat:"no-repeat",origin:"padding-box"});for(var r={image:[],position:[],size:[],repeat:[],origin:[]},l=0;l=0;h-=1){var g=m[h];if(g)if(i.pub.presets.hasOwnProperty(g)){for(var u in i.pub.presets[g])if(i.pub.presets[g].hasOwnProperty(u))try{a(u,i.pub.presets[g][u])}catch(e){console.warn(e)}}else console.warn("Unknown preset: %s",g)}var f=["preset"];for(var u in o)if(o.hasOwnProperty(u)&&-1===f.indexOf(u))try{a(u,o[u])}catch(e){console.warn(e)}if(void 0===this.container?this.container=e.document.body:this.container=i.node(this.container),!this.container)throw new Error("Cannot instantiate color picker without a container element");if(this.targetElement=i.node(t),!this.targetElement){if("string"==typeof t&&/^[a-zA-Z][\w:.-]*$/.test(t))throw new Error("If '"+t+"' is supposed to be an ID, please use '#"+t+"' or any valid CSS selector.");throw new Error("Cannot instantiate color picker without a target element")}if(this.targetElement.jscolor&&this.targetElement.jscolor instanceof i.pub)throw new Error("Color picker already installed on this element");if(this.targetElement.jscolor=this,i.addClass(this.targetElement,i.pub.className),i.instances.push(this),i.isButton(this.targetElement)&&("button"!==this.targetElement.type.toLowerCase()&&(this.targetElement.type="button"),i.isButtonEmpty(this.targetElement))){i.removeChildren(this.targetElement),this.targetElement.appendChild(e.document.createTextNode(" "));var C=i.getCompStyle(this.targetElement);(parseFloat(C["min-width"])||0)-1){var G=i.parseColorString(b);this._currentFormat=G?G.format:"hex"}else this._currentFormat=this.format.toLowerCase();this.processValueInput(b),void 0!==k&&this.processAlphaInput(k)}}).pub.className="jscolor",i.pub.activeClassName="jscolor-active",i.pub.looseJSON=!0,i.pub.presets={},i.pub.presets.default={},i.pub.presets.light={backgroundColor:"rgba(255,255,255,1)",controlBorderColor:"rgba(187,187,187,1)",buttonColor:"rgba(0,0,0,1)"},i.pub.presets.dark={backgroundColor:"rgba(51,51,51,1)",controlBorderColor:"rgba(153,153,153,1)",buttonColor:"rgba(240,240,240,1)"},i.pub.presets.small={width:101,height:101,padding:10,sliderSize:14,paletteCols:8},i.pub.presets.medium={width:181,height:101,padding:12,sliderSize:16,paletteCols:10},i.pub.presets.large={width:271,height:151,padding:12,sliderSize:24,paletteCols:15},i.pub.presets.thin={borderWidth:1,controlBorderWidth:1,pointerBorderWidth:1},i.pub.presets.thick={borderWidth:2,controlBorderWidth:2,pointerBorderWidth:2},i.pub.sliderInnerSpace=3,i.pub.chessboardSize=8,i.pub.chessboardColor1="#666666",i.pub.chessboardColor2="#999999",i.pub.previewSeparator=["rgba(255,255,255,.65)","rgba(128,128,128,.65)"],i.pub.init=function(){if(!i.initialized)for(e.document.addEventListener("mousedown",i.onDocumentMouseDown,!1),e.document.addEventListener("keyup",i.onDocumentKeyUp,!1),e.addEventListener("resize",i.onWindowResize,!1),e.addEventListener("scroll",i.onWindowScroll,!1),i.pub.install(),i.initialized=!0;i.readyQueue.length;)i.readyQueue.shift()()},i.pub.install=function(e){var t=!0;try{i.installBySelector("[data-jscolor]",e)}catch(e){t=!1,console.warn(e)}if(i.pub.lookupClass)try{i.installBySelector("input."+i.pub.lookupClass+", button."+i.pub.lookupClass,e)}catch(e){}return t},i.pub.ready=function(e){return"function"!=typeof e?(console.warn("Passed value is not a function"),!1):(i.initialized?e():i.readyQueue.push(e),!0)},i.pub.trigger=function(e){var t=function(){i.triggerGlobal(e)};i.initialized?t():i.pub.ready(t)},i.pub.hide=function(){i.picker&&i.picker.owner&&i.picker.owner.hide()},i.pub.chessboard=function(e){return e||(e="rgba(0,0,0,0)"),i.genColorPreviewCanvas(e).canvas.toDataURL()},i.pub.background=function(e){var t=[];t.push(i.genColorPreviewGradient(e));var o=i.genColorPreviewCanvas();return t.push(["url('"+o.canvas.toDataURL()+"')","left top","repeat"].join(" ")),t.join(", ")},i.pub.options={},i.pub.lookupClass="jscolor",i.pub.installByClassName=function(){return console.error('jscolor.installByClassName() is DEPRECATED. Use data-jscolor="" attribute instead of a class name.'+i.docsRef),!1},i.register(),i.pub);return void 0===e.jscolor&&(e.jscolor=e.JSColor=a),a}))}},t={};function o(n){var i=t[n];if(void 0!==i)return i.exports;var a=t[n]={exports:{}};return e[n].call(a.exports,a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";let e={};function t(){e.WrinklerButtons&&Game.elderWrath?(l("PopAllNormalWrinklerButton").style.display="",l("PopFattestWrinklerButton").style.display=""):(l("PopAllNormalWrinklerButton").style.display="none",l("PopFattestWrinklerButton").style.display="none")}const n=["","","M","G","T","P","E","Z","Y"],i=["","","M","B","Tr","Quadr","Quint","Sext","Sept","Oct","Non","Dec","Undec","Duodec","Tredec","Quattuordec","Quindec","Sexdec","Septendec","Octodec","Novemdec","Vigint","Unvigint","Duovigint","Trevigint","Quattuorvigint"],a=["","K","M","B","T","Qa","Qi","Sx","Sp","Oc","No","De","UDe","DDe","TDe","QaDe","QiDe","SxDe","SpDe","ODe","NDe","Vi","UVi","DVi","TVi","QaVi","QiVi","SxVi","SpVi","OVi","NVi","Tr","UTr","DTr","TTr","QaTr","QiTr","SxTr","SpTr","OTr","NTr","Qaa","UQa","DQa","TQa","QaQa","QiQa","SxQa","SpQa","OQa","NQa","Qia","UQi","DQi","TQi","QaQi","QiQi","SxQi","SpQi","OQi","NQi","Sxa","USx","DSx","TSx","QaSx","QiSx","SxSx","SpSx","OSx","NSx","Spa","USp","DSp","TSp","QaSp","QiSp","SxSp","SpSp","OSp","NSp","Oco","UOc","DOc","TOc","QaOc","QiOc","SxOc","SpOc","OOc","NOc","Noa","UNo","DNo","TNo","QaNo","QiNo","SxNo","SpNo","ONo","NNo","Ct","UCt"];let r,s,c,d,p,u,m,h,g,f,C,y,b,k,G,v,w,x=[],M=[],T=[],S={},P=Date.now(),B=Date.now();const E="CMText",N="CMBack",O="Blue",F="Green",W="Yellow",L="Orange",A="Red",j="Purple",D="Gray",H="Pink",U="Brown",$=[D,O,F,W,L,A,j,H,U],R=[["GoldCookTooltipPlaceholder","Calculated with Golden Switch off","200px"],["GoldCookDragonsFortuneTooltipPlaceholder","Calculated with Golden Switch off and at least one golden cookie on-screen","240px"],["PrestMaxTooltipPlaceholder","The MAX prestige is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","320px"],["NextPrestTooltipPlaceholder","Calculated with cookies gained from wrinklers and Chocolate egg","200px"],["HeavenChipMaxTooltipPlaceholder","The MAX heavenly chips is calculated with the cookies gained from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and buying Chocolate egg","330px"],["ResetTooltipPlaceholder","The bonus income you would get from new prestige levels unlocked at 100% of its potential and from ascension achievements if you have the same buildings/upgrades after reset","370px"],["ChoEggTooltipPlaceholder","The amount of cookies you would get from popping all wrinklers with Skruuia god in Diamond slot, selling all stock market goods, selling all buildings with Earth Shatterer and Reality Bending auras, and then buying Chocolate egg","300px"],["ChainNextLevelPlaceholder","Cheated cookies might break this formula","250px"],["FavouriteSettingPlaceholder","Click to set this setting as favourite and show it in 'favourite' settings at the top of the Cookie Monster Settings","250px"]],I={};let z,V,_=0,Q=-1,X=[],q=1,Y=1,K=1;const J=[10,15,30,60,300,600,900,1800],Z=[1,5,10,15,30],ee={Frenzy:W,"Dragon Harvest":U,"Elder frenzy":F,Clot:A,"Click frenzy":O,Dragonflight:H};let te,oe,ne,ie,ae,re,le,se={},ce="",de=[];function pe(t,o,r){const l=e.ScaleDecimals+1;if(t===1/0)return"Infinity";if(void 0===t)return"0";if(0===e.Scale)return S.Beautify(t,o);if(Number.isFinite(t)){if(t<0)return`-${pe(Math.abs(t))}`;let s="";if(0===t)return t.toString();if(t>.001&&t=.01&&t=.01&&t=.01&&t315576e4)return"XX:XX:XX:XX:XX";c+=(i<10?"0":"")+i+":",c+=(a<10?"0":"")+a+":",c+=(r<10?"0":"")+r+":",c+=(l<10?"0":"")+l+":",c+=(s<10?"0":"")+s}else{if(n>7776e5)return o?"Over 9000 days!":">9000d";c+=i>0?i+(o?1===i?" year":" years":"y")+", ":"",c+=a>0?a+(o?1===a?" day":" days":"d")+", ":"",(c.length>0||r>0)&&(c+=r+(o?1===r?" hour":" hours":"h")+", "),(c.length>0||l>0)&&(c+=l+(o?1===l?" minute":" minutes":"m")+", "),c+=s+(o?1===s?" second":" seconds":"s")}return c}function me(t){let o,n;return t<=0?(n=e.TimeFormat?"00:00:00:00:00":"Done!",o=F):(n=ue(t),o=t>300?A:t>60?L:W),{text:n,color:o}}let he,ge,fe,Ce,ye,be,ke,Ge,ve,we,xe,Me,Te,Se,Pe,Be,Ee,Ne,Oe,Fe,We,Le,Ae,je,De,He,Ue,$e,Re,Ie,ze,Ve,_e,Qe,Xe,qe,Ye=0,Ke=0,Je=0,Ze=0,et=0,tt=0,ot=0,nt=0,it=0,at=0,rt=0,lt=0,st=0,ct=0,dt=0,pt=1,ut=1,mt=1,ht=0,gt=0,ft=0,Ct=0,yt={},bt={},kt={},Gt=0,vt=0,wt=[0,null],xt=0,Mt=0,Tt={},St={},Pt={},Bt={},Et={},Nt=0,Ot=0,Ft=[],Wt=0,Lt=0,At=[],jt=0,Dt=0,Ht=[],Ut=0,$t=0,Rt=[],It=0,zt=0,Vt={},_t={},Qt=0,Xt=0,qt=[],Yt={},Kt=0,Jt={0:[0,0,0],1:[0,0,0],2:[0,0,0],3:[0,0,0],4:[0,0,0],5:[0,0,0],6:[0,0,0],7:[0,0,0],8:[0,0,0],9:[0,0,0],10:[0,0,0]},Zt=[],eo=[],to=[];function oo(e){let t=0;return Game.dragonAuras[$e].name!==e&&Game.dragonAuras[Re].name!==e||(t=1),"Reality Bending"!==Game.dragonAuras[$e].name&&"Reality Bending"!==Game.dragonAuras[Re].name||(t+=.1),t}function no(){let e=.25;return e*=1+oo("Earth Shatterer"),e}function io(e,t){return void 0===Qe[e]?void 0===t?1:t:Qe[e]}function ao(e){const t=eo[e];return(1!==Game.ascensionMode||"prestige"!==t.pool&&"fortune"!==t.tier)&&t?t.bought:0}function ro(e){if(Game.hasGod){void 0===Zt.Temple.minigame&&(Zt.Temple.minigame=Game.Objects.Temple.minigame);const t=Zt.Temple.minigame.gods[e];if(Ie===t.id)return 1;if(ze===t.id)return 2;if(Ve===t.id)return 3}return!1}function lo(e,t){let o=t;if(ao("Season savings")&&(o*=.99),ao("Santa's dominion")&&(o*=.99),ao("Faberge egg")&&(o*=.99),ao("Divine discount")&&(o*=.99),ao("Fortune #100")&&(o*=.99),o*=1-.02*oo("Fierce Hoarder"),Game.hasBuff("Everything must go")&&(o*=.95),Game.hasBuff("Crafty pixies")&&(o*=.98),Game.hasBuff("Nasty goblins")&&(o*=1.02),e.fortune&&ao(e.fortune.name)&&(o*=.93),o*=io("buildingCost"),Zt.Temple.minigameLoaded){const e=ro("creation");1===e?o*=.93:2===e?o*=.95:3===e&&(o*=.98)}return o}function so(e,t,o,n,i,a){const r=void 0===a?0:a;let l=i,s=o,c=0;-1===i&&(l=s),i||(l=Game.buyBulk);for(let o=0;o0&&(c+=o,s-=1)}return c}function co(){let t=Game.buyBulk;if(1===Game.buyMode?Y=t:t=Y,1===t?t=yt:10===t?t=bt:100===t&&(t=kt),1===Game.buyMode?1===e.BuildColour?Object.keys(t).forEach((o=>{l(`productPrice${Game.Objects[o].id}`).style.color=e[`Colour${t[o].color}`]})):Object.keys(Game.Objects).forEach((e=>{l(`productPrice${Game.Objects[e].id}`).style.removeProperty("color")})):-1===Game.buyMode&&Object.keys(yt).forEach((e=>{const t=Game.Objects[e];l(`productPrice${t.id}`).style.color="",l(`productPrice${t.id}`).innerHTML=pe(so(t,t.basePrice,t.amount,t.free,Game.buyBulk,1))})),1===Game.buyMode&&e.SortBuildings){let o;1===e.SortBuildings?(o=Object.keys(yt).map((e=>{const t=yt[e];return t.name=e,t.id=Game.Objects[e].id,t})),o.sort((function(e,t){return $.indexOf(e.color)>$.indexOf(t.color)?1:$.indexOf(e.color)<$.indexOf(t.color)||e.pp{const o=t[e];return o.name=e,o.id=Game.Objects[e].id,o})),o.sort((function(e,t){return $.indexOf(e.color)>$.indexOf(t.color)?1:$.indexOf(e.color)<$.indexOf(t.color)||e.pp{const t=yt[e];return t.name=e,t.id=Game.Objects[e].id,t}));e.sort(((e,t)=>e.id-t.id));for(let t=0;t0){let e=0,t=0,o=0,n=0,i=0,a=0,r=0;Object.keys(Game.UpgradesInStore).forEach((s=>{const c=Game.UpgradesInStore[s];let d=!1;for(let e=0;e$.indexOf(t.color)?1:$.indexOf(e.color)<$.indexOf(t.color)||e.ppe.price-t.price));const o=function(e,t){return e.findIndex((e=>e.name===t.name))};for(let e=0;e{let n,i=Game.buyBulk;1===Game.buyMode?q=i:i=q,1===i&&(i=yt),10===i&&(i=bt),100===i&&(i=kt),t+=1,l("CMBotBar").firstChild.firstChild.childNodes[0].childNodes[t].childNodes[1].textContent=Game.Objects[o].amount,l("CMBotBar").firstChild.firstChild.childNodes[1].childNodes[t].textContent=pe(i[o].bonus,2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].className=E+i[o].color,n=e.PPDisplayTime?ue(Math.round(i[o].pp)):pe(Math.round(i[o].pp),2),l("CMBotBar").firstChild.firstChild.childNodes[2].childNodes[t].textContent=n;const a=me((Game.Objects[o].bulkPrice-(Game.cookies+mo()))/uo());l("CMBotBar").firstChild.firstChild.childNodes[3].childNodes[t].className=E+a.color,"Done!"===a.text&&Game.cookies{!Game.Tiers[e.tieredUpgrades[o].tier].special&&ao(e.tieredUpgrades[o].name)&&(t*=2)})),Object.keys(e.synergies).forEach((o=>{if(ao(e.synergies[o].name)){const n=e.synergies[o];n.buildingTie1.name===e.name?t*=1+.05*n.buildingTie2.amount:n.buildingTie2.name===e.name&&(t*=1+.001*n.buildingTie1.amount)}})),e.fortune&&ao(e.fortune.name)&&(t*=1.07),e.grandma&&ao(e.grandma.name)&&(t*=1+.01*Zt.Grandma.amount*(1/(e.id-1))),"object"==typeof e.tieredUpgrades.misfortune&&1===e.vanilla&&ao(e.tieredUpgrades.misfortune.name))switch(Game.elderWrath){default:t*=1;break;case 1:t*=1.02;break;case 2:t*=1.04;break;case 3:t*=1.06}return t}function wo(e){const t=Game.Objects[e],o={};return"Cursor"===t.name?o.cps=function(e){let t=0;ao("Thousand fingers")&&(t+=.1),ao("Million fingers")&&(t*=5),ao("Billion fingers")&&(t*=10),ao("Trillion fingers")&&(t*=20),ao("Quadrillion fingers")&&(t*=20),ao("Quintillion fingers")&&(t*=20),ao("Sextillion fingers")&&(t*=20),ao("Septillion fingers")&&(t*=20),ao("Octillion fingers")&&(t*=20),ao("Nonillion fingers")&&(t*=20);let o=1,n=0;return Object.keys(Zt).forEach((e=>{"Cursor"!==Zt[e].name&&(n+=Zt[e].amount)})),t*=n,o*=vo(e),o*=Game.magicCpS("Cursor"),o*=io("cursorCps"),Game.ComputeCps(.1,ao("Reinforced index finger")+ao("Carpal tunnel prevention cream")+ao("Ambidextrous"),t)*o}:"Grandma"===t.name?o.cps=function(e){let o=1;if(Object.keys(Game.GrandmaSynergies).forEach((e=>{ao(Game.GrandmaSynergies[e])&&(o*=2)})),ao("Bingo center/Research facility")&&(o*=4),ao("Ritual rolling pins")&&(o*=2),ao("Naughty list")&&(o*=2),ao("Elderwort biscuits")&&(o*=1.02),o*=io("grandmaCps"),ao("Cat ladies"))for(let e=0;e{"Grandma"!==Zt[e].name&&(i+=Zt[e].amount)})),o*=1+.01*oo("Elder Battalion")*i,o*=Game.magicCpS(t.name),(t.baseCps+n)*o}:o.cps=function(e){let t=1;return t*=vo(e),t*=Game.magicCpS(e.name),e.baseCPS*t},o.baseCps=t.baseCps,o.name=t.name,o.tieredUpgrades=t.tieredUpgrades,o.synergies=t.synergies,o.fortune=t.fortune,o.grandma=t.grandma,o.baseCPS=t.baseCps,o.id=t.id,o.vanilla=t.vanilla,o}function xo(e){const t=Game.Upgrades[e],o={};return o.power=t.power,"function"==typeof o.power&&("Sugar crystal cookies"===t.name?o.power=function(){let e=5;return Object.keys(Zt).forEach((t=>{Zt[t].level>=10&&(e+=1)})),e}:o.power=function(){let e=2;if(ao("Starlove")&&(e=3),Game.hasGod){const t=ro("seasons");1===t?e*=1.3:2===t?e*=1.2:3===t&&(e*=1.1)}return e}),o.pool=t.pool,o.name=t.name,o}function Mo(){Ae=Game.UpgradesOwned,je=Game.pledges,De=Game.AchievementsOwned,He=Game.heavenlyPower,Ue=Game.prestige,Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];let o=Zt[e];void 0===o&&(Zt[e]=wo(e),o=Zt[e],go(e)),o.amount=t.amount,o.level=t.level,o.totalCookies=t.totalCookies,o.basePrice=t.basePrice,o.free=t.free,t.minigameLoaded&&("Temple"===t.name&&(Ie=t.minigame.slot[0],ze=t.minigame.slot[1],Ve=t.minigame.slot[2]),o.minigameLoaded=t.minigameLoaded,o.minigame=t.minigame),Zt[e]=o})),Object.keys(Game.Upgrades).forEach((e=>{const t=Game.Upgrades[e];let o=eo[e];void 0===o&&(eo[e]=xo(e),o=eo[e]),o.bought=t.bought,eo[e]=o})),Object.keys(Game.Achievements).forEach((e=>{const t=Game.Achievements[e];let o=to[e];void 0===o&&(to[e]=Go(e),o=to[e]),o.won=t.won,to[e]=o})),ko(),$e=Ye,Re=Ke}function To(e){const t=document.createElement("div");return t.style.fontWeight="bold",t.id=`${e}Title`,t.className="CMTextBlue",t.textContent=e,t}function So(e){e.appendChild(To("Bonus Income"));const t=document.createElement("div");t.style.marginBottom="4px",t.style.color="white",t.id="CMTooltipIncome",e.appendChild(t),e.appendChild(To("Bonus Cookies per Click")),e.lastChild.style.display="none";const o=document.createElement("div");o.style.marginBottom="4px",o.style.color="white",o.style.display="none",o.id="CMTooltipCookiePerClick",e.appendChild(o),e.appendChild(To("Payback Period"));const n=document.createElement("div");n.style.marginBottom="4px",n.id="CMTooltipPP",e.appendChild(n),e.appendChild(To("Time Left"));const i=document.createElement("div");if(i.id="CMTooltipTime",e.appendChild(i),"b"===ne){e.appendChild(To("Production left till next achievement")),e.lastChild.id="CMTooltipProductionHeader";const t=document.createElement("div");t.id="CMTooltipProduction",e.appendChild(t)}}function Po(e,t,o){let n=e,i=0;for(;n{void 0!==Game.buffs[t].multCpS&&(e*=Game.buffs[t].multCpS)})),e}function Eo(){null!==l("CMDispTooltipWarningParent")&&(0===e.ToolWarnPos?(l("CMDispTooltipWarningParent").style.top="auto",l("CMDispTooltipWarningParent").style.margin="4px -4px",l("CMDispTooltipWarningParent").style.padding="3px 4px"):(l("CMDispTooltipWarningParent").style.right="auto",l("CMDispTooltipWarningParent").style.margin="4px",l("CMDispTooltipWarningParent").style.padding="4px 3px"))}function No(){if(Mo(),"none"!==l("tooltipAnchor").style.display&&l("CMTooltipArea")){l("CMTooltipArea").innerHTML="";const t=function(){l("tooltip").firstChild.style.paddingBottom="4px";const e=document.createElement("div");return e.style.border="1px solid",e.style.padding="4px",e.style.margin="0px -4px",e.id="CMTooltipBorder",e.className="CMTextGray",e}();l("CMTooltipArea").appendChild(t),"b"===ne?function(){if(1===e.TooltipBuildUpgrade&&1===Game.buyMode){let t;if(So(l("CMTooltipBorder")),1===Game.buyMode?K=t:t=K,1===Game.buyBulk?t=yt:10===Game.buyBulk?t=bt:100===Game.buyBulk&&(t=kt),te=Game.Objects[ie].bulkPrice,oe=t[ie].bonus,1===e.TooltipBuildUpgrade&&1===Game.buyMode){l("CMTooltipIncome").textContent=pe(oe,2);const o=Math.round(oe/Game.cookiesPs*1e4);Number.isFinite(o)&&0!==o?l("CMTooltipIncome").textContent+=` (${o/100}% of income)`:l("CMTooltipIncome").textContent+=` (<0${e.ScaleSeparator?",":"."}01% of income)`,l("CMTooltipBorder").className=E+t[ie].color,e.PPDisplayTime?l("CMTooltipPP").textContent=ue(t[ie].pp):l("CMTooltipPP").textContent=pe(t[ie].pp,2),l("CMTooltipPP").className=E+t[ie].color;const n=me((te-(Game.cookies+mo()))/uo());l("CMTooltipTime").textContent=n.text,"Done!"===n.text&&Game.cookiest.plantsById[t.plot[ie[1]][ie[0]][0]-1].mature,o=t.plantsById[t.plot[ie[1]][ie[0]][0]-1].name;l("CMTooltipBorder").appendChild(To("Reward (Current / Maximum)"));const n=document.createElement("div");n.id="CMTooltipPlantReward",l("CMTooltipBorder").appendChild(n),"Bakeberry"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.03*Game.cookies,60*Game.cookiesPs*30)):"0"} / ${pe(60*Game.cookiesPs*30)}`:"Chocoroot"===o||"White chocoroot"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.03*Game.cookies,60*Game.cookiesPs*3)):"0"} / ${pe(60*Game.cookiesPs*3)}`:"Queenbeet"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.04*Game.cookies,60*Game.cookiesPs*60)):"0"} / ${pe(60*Game.cookiesPs*60)}`:"Duketater"===o?l("CMTooltipPlantReward").textContent=`${e?pe(Math.min(.08*Game.cookies,60*Game.cookiesPs*120)):"0"} / ${pe(60*Game.cookiesPs*120)}`:l("CMTooltipArea").style.display="none"}else l("CMTooltipArea").style.display="none"}():"ha"===ne?function(){const{minigame:t}=Game.Objects.Farm;if(e.TooltipLump){l("CMTooltipBorder").appendChild(To("Cookies gained from harvesting:"));let e=0,o=0;Game.keys[16]&&Game.keys[17]&&(o=1);for(let n=0;n<6;n++)for(let i=0;i<6;i++)if(t.plot[n][i][0]>=1){const a=t.plot[n][i],r=t.plantsById[a[0]-1],l=r.name;let s=!0;o&&r.immortal&&(s=!1),a[1]0&&t=1?l("CMTimerBarGCMinBar").textContent=Math.ceil((Game.shimmerTypes.golden.minTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCMinBar").textContent="",Game.shimmerTypes.golden.minTime===Game.shimmerTypes.golden.maxTime?(l("CMTimerBarGCMinBar").style.borderTopRightRadius="10px",l("CMTimerBarGCMinBar").style.borderBottomRightRadius="10px"):(l("CMTimerBarGCMinBar").style.borderTopRightRadius="",l("CMTimerBarGCMinBar").style.borderBottomRightRadius=""),l("CMTimerBarGCBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)*t/Game.shimmerTypes.golden.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarGCBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.minTime,Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps):l("CMTimerBarGCBar").textContent="",l("CMTimerBarGCTime").textContent=Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps),n+=1),"christmas"===Game.season&&0===Game.shimmerTypes.reindeer.spawned?(l("CMTimerBarRen").style.display="",l("CMTimerBarRenMinBar").style.width=`${Math.round(Math.max(0,Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenMinBar").textContent=Math.ceil((Game.shimmerTypes.reindeer.minTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenMinBar").textContent="",l("CMTimerBarRenBar").style.width=`${Math.round(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)*t/Game.shimmerTypes.reindeer.maxTime)}px`,e.TimerBarOverlay>=1?l("CMTimerBarRenBar").textContent=Math.ceil(Math.min(Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.minTime,Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps):l("CMTimerBarRenBar").textContent="",l("CMTimerBarRenTime").textContent=Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps),n+=1):l("CMTimerBarRen").style.display="none";const i={};l("CMTimerBarBuffTimers").innerHTML="",Object.keys(Game.buffs).forEach((t=>{if(Game.buffs[t]){const a=ho(Game.buffs[t].name,Game.buffs[t].name,[{id:`${Game.buffs[t].name}Bar`}]);a.style.display="";let r="";r=void 0!==ee[Game.buffs[t].name]?ee[Game.buffs[t].name]:j,a.lastChild.children[1].className=N+r,a.lastChild.children[1].style.color="black",2===e.TimerBarOverlay?a.lastChild.children[1].textContent=`${Math.round(Game.buffs[t].time/Game.buffs[t].maxTime*100)}%`:a.lastChild.children[1].textContent="",a.lastChild.children[1].style.width=`${Math.round(Game.buffs[t].time*(o-8*Math.ceil(Game.buffs[t].time/Game.fps).toString().length)/Game.buffs[t].maxTime)}px`,a.lastChild.children[2].textContent=Math.ceil(Game.buffs[t].time/Game.fps),n+=1,i[Game.buffs[t].name]=a}})),Object.keys(i).forEach((e=>{l("CMTimerBarBuffTimers").appendChild(i[e])})),0!==n&&(l("CMTimerBar").style.height=12*n+2+"px"),le!==n&&(le=n,yo())}}(),fo(),No(),function(){if(1===e.TooltipWrink&&1===_){let e=!1;Object.keys(Game.wrinklers).forEach((t=>{const o=Game.wrinklers[t];if(o.phase>0&&o.selected){if(e=!0,0===X[t]||void 0===X[t]){const e=document.createElement("div"),o=document.createElement("div");o.style.minWidth="120px",o.style.marginBottom="4px";const n=document.createElement("div");n.style.textAlign="center",n.id="CMTooltipWrinkler",o.appendChild(n),e.appendChild(o),Game.tooltip.draw(this,escape(e.innerHTML)),Q=t,X[t]=1}}else X[t]=0})),e||Game.tooltip.hide()}}(),function(){if(1===e.TooltipWrink&&null!==l("CMTooltipWrinkler")){let{sucked:e}=Game.wrinklers[Q],t=1.1;if(Game.Has("Sacrilegious corruption")&&(t*=1.05),1===Game.wrinklers[Q].type&&(t*=3),e*=t,Game.Has("Wrinklerspawn")&&(e*=1.05),Zt.Temple.minigameLoaded){const t=Game.hasGod("scorn");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05)}l("CMTooltipWrinkler").textContent=pe(e)}}(),e.UpStats&&"stats"===Game.onMenu&&(Game.drawT-1)%(5*Game.fps)!=0&&(Game.drawT-1)%Game.fps==0&&Game.UpdateMenu(),t(),e.Scale){let e=l("cookies").innerHTML.replace(/.*(?=
)/i,pe(Game.cookies));Game.prefs.monospace&&(e=`${e}`),l("cookies").innerHTML=e}}function Fo(){he.addLatest(Game.computedMouseCps)}class Wo{constructor(e){this.maxLength=e,this.queue=[]}addLatest(e){this.queue.push(e)>this.maxLength&&this.queue.shift()}calcAverage(e){let t=e;t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length);let o=0;for(let e=this.queue.length-1;e>=0&&e>this.queue.length-1-t;e--)o+=this.queue[e];return 0===o?0:o/t}calcSum(e){let t=e;return t>this.maxLength&&(t=this.maxLength),t>this.queue.length&&(t=this.queue.length),0===t?0:this.queue.slice(-t).reduce(((e,t)=>e+t),0)}}function Lo(){const t=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){let o=Game.cookies+Kt;Game.cpsSucked>0&&(o+=Gt),It=Math.max(Game.cookiesEarned,o),o*=.05;const n=t-Ge,i=Math.max(0,Game.cookies-ve)/n,a=Math.max(0,Gt-we)/n,r=Math.max(0,wt[0]-xe)/n,l=Math.max(0,o-Ct)/n,s=(Game.cookieClicks-Me)/n;for(let e=0;e0&&(n=A),n}function jo(t,o){Object.keys(t).forEach((n=>{if(e.PPRigidelMode&&1===o)t[n].color=D;else{t[n].color=Ao(t[n],Game.Objects[n].getSumPrice(o));for(let o=0;o{const i=Game.Objects[n].getSumPrice(o);Game.cookiesPs?t[n].pp=Math.max(i-(Game.cookies+mo()),0)/Game.cookiesPs+i/t[n].bonus:t[n].pp=i/t[n].bonus,e.PPRigidelMode&&1===o||qt.push([t[n].pp,o])}))}function Ho(){!function(){Xt=1/0,qt=[],void 0===e.PPExcludeTop&&(e.PPExcludeTop=0),Do(yt,1),Do(bt,10),Do(kt,100),qt.sort(((e,t)=>e[0]-t[0]));let t=0;if(e.PPOnlyConsiderBuyable)for(;qt[t][1]>Game.cookies&&(t+=1,qt.length!==t+1););Xt=qt[e.PPExcludeTop][t],jo(yt,1),jo(bt,10),jo(kt,100)}(),Object.keys(Tt).forEach((e=>{Game.cookiesPs?Tt[e].pp=Math.max(Game.Upgrades[e].getPrice()-(Game.cookies+mo()),0)/Game.cookiesPs+Game.Upgrades[e].getPrice()/Tt[e].bonus:Tt[e].pp=Game.Upgrades[e].getPrice()/Tt[e].bonus,Number.isNaN(Tt[e].pp)&&(Tt[e].pp=1/0),Tt[e].color=Ao(Tt[e],Game.Upgrades[e].getPrice())}))}function Uo(e,t,o,n,i){let a=o,r=0;for(let o=0;o{if(Game.Objects[e].minigameLoaded&&Game.Objects[e].minigame.effs){const o=Game.Objects[e].minigame.effs;Object.keys(o).forEach((e=>{t[e]?t[e]*=o[e]:t[e]=o[e]}))}})),Qe=t,1!==Game.ascensionMode&&(e+=.01*parseFloat(Ue)*He*function(){let e=0;if(ao("Heavenly chip secret")&&(e+=.05),ao("Heavenly cookie stand")&&(e+=.2),ao("Heavenly bakery")&&(e+=.25),ao("Heavenly confectionery")&&(e+=.25),ao("Heavenly key")&&(e+=.25),e*=1+.05*oo("Dragon God"),ao("Lucky digit")&&(e*=1.01),ao("Lucky number")&&(e*=1.01),ao("Lucky payout")&&(e*=1.01),Game.hasGod){const t=ro("creation");1===t?e*=.7:2===t?e*=.8:3===t&&(e*=.9)}return e}()),e*=io("cps"),ao("Heralds")&&1!==Game.ascensionMode&&(e*=1+.01*Game.heralds),Object.keys(Game.cookieUpgrades).forEach((t=>{const o=Game.cookieUpgrades[t];ao(o.name)&&("function"==typeof o.power?e*=1+.01*eo[o.name].power(eo[o.name]):e*=1+.01*o.power)})),ao("Specialized chocolate chips")&&(e*=1.01),ao("Designer cocoa beans")&&(e*=1.02),ao("Underworld ovens")&&(e*=1.03),ao("Exotic nuts")&&(e*=1.04),ao("Arcane sugar")&&(e*=1.05),ao("Increased merriness")&&(e*=1.15),ao("Improved jolliness")&&(e*=1.15),ao("A lump of coal")&&(e*=1.01),ao("An itchy sweater")&&(e*=1.01),ao("Santa's dominion")&&(e*=1.2),ao("Fortune #100")&&(e*=1.01),ao("Fortune #101")&&(e*=1.07),ao("Dragon scale")&&(e*=1.03);let o=1;if(ro){let t=ro("asceticism");1===t?e*=1.15:2===t?e*=1.1:3===t&&(e*=1.05),t=ro("ages"),1===t?e*=1+.15*Math.sin(P/1e3/10800*Math.PI*2):2===t?e*=1+.15*Math.sin(P/1e3/43200*Math.PI*2):3===t&&(e*=1+.15*Math.sin(P/1e3/86400*Math.PI*2)),t=ro("decadence"),1===t?o*=.93:2===t?o*=.95:3===t&&(o*=.98),t=ro("industry"),1===t?o*=1.1:2===t?o*=1.06:3===t&&(o*=1.03),t=ro("labor"),1===t?o*=.97:2===t?o*=.98:3===t&&(o*=.99)}ao("Santa's legacy")&&(e*=1+.03*(Game.santaLevel+1));const n=De/25;let i=1;if(ao("Santa's milk and cookies")&&(i*=1.05),i*=1+.05*oo("Breath of Milk"),ro){const e=ro("mother");1===e?i*=1.1:2===e?i*=1.05:3===e&&(i*=1.03)}i*=io("milk");let a=1;ao("Kitten helpers")&&(a*=1+.1*n*i),ao("Kitten workers")&&(a*=1+.125*n*i),ao("Kitten engineers")&&(a*=1+.15*n*i),ao("Kitten overseers")&&(a*=1+.175*n*i),ao("Kitten managers")&&(a*=1+.2*n*i),ao("Kitten accountants")&&(a*=1+.2*n*i),ao("Kitten specialists")&&(a*=1+.2*n*i),ao("Kitten experts")&&(a*=1+.2*n*i),ao("Kitten consultants")&&(a*=1+.2*n*i),ao("Kitten assistants to the regional manager")&&(a*=1+.175*n*i),ao("Kitten marketeers")&&(a*=1+.15*n*i),ao("Kitten analysts")&&(a*=1+.125*n*i),ao("Kitten executives")&&(a*=1+.115*n*i),ao("Kitten angels")&&(a*=1+.1*n*i),ao("Fortune #103")&&(a*=1+.05*n*i),Object.keys(Zt).forEach((e=>{const t=Zt[e];let a=t.cps(t);1!==Game.ascensionMode&&(a*=(1+.01*t.level)*o),"Grandma"===t.name&&ao("Milkhelp® lactose intolerance relief tablets")&&(a*=1+.05*n*i),Xe+=t.amount*a})),ao('"egg"')&&(Xe+=9),e*=a;let r=1;if(ao("Chicken egg")&&(r*=1.01),ao("Duck egg")&&(r*=1.01),ao("Turkey egg")&&(r*=1.01),ao("Quail egg")&&(r*=1.01),ao("Robin egg")&&(r*=1.01),ao("Ostrich egg")&&(r*=1.01),ao("Cassowary egg")&&(r*=1.01),ao("Salmon roe")&&(r*=1.01),ao("Frogspawn")&&(r*=1.01),ao("Shark egg")&&(r*=1.01),ao("Turtle egg")&&(r*=1.01),ao("Ant larva")&&(r*=1.01),ao("Century egg")){let e=10*Math.floor((B-Game.startDate)/1e3/10)/60/60/24;e=Math.min(e,100),gt=1+.1*(1-(1-e/100)**3),r*=gt}e*=r,ao("Sugar baking")&&(e*=1+.01*Math.min(100,Game.lumps)),e*=1+oo("Radiant Appetite");const l=Xe*e;Object.keys(Game.CpsAchievements).forEach((e=>{l>=Game.CpsAchievements[e].threshold&&$o(Game.CpsAchievements[e].name)})),qe=l;const{n:s}=Game.shimmerTypes.golden,c=oo("Dragon's Fortune");for(let t=0;t{ao(e[o])&&(t+=.1)}))}e*=t}if(ao("Shimmering veil [off]")){let t=.5;ao("Reinforced membrane")&&(t+=.1),e*=1+t}ao("Magic shenanigans")&&(e*=1e3),ao("Occult obstruction")&&(e*=0),Xe=Game.runModHookOnValue("cps",Xe),e*=Bo(),Xe*=e}const Io=["Fortune #001","Fortune #002","Fortune #003","Fortune #004","Fortune #005","Fortune #006","Fortune #007","Fortune #008","Fortune #009","Fortune #010","Fortune #011","Fortune #012","Fortune #013","Fortune #014","Fortune #015","Fortune #016","Fortune #017","Fortune #018","Fortune #100","Fortune #101","Fortune #102","Fortune #103","Fortune #104"],zo=["Skull cookies","Ghost cookies","Bat cookies","Slime cookies","Pumpkin cookies","Eyeball cookies","Spider cookies"],Vo=["Christmas tree biscuits","Snowflake biscuits","Snowman biscuits","Holly biscuits","Candy cane biscuits","Bell biscuits","Present biscuits"],_o=["Pure heart biscuits","Ardent heart biscuits","Sour heart biscuits","Weeping heart biscuits","Golden heart biscuits","Eternal heart biscuits","Prism heart biscuits"],Qo=["Elderwort biscuits","Bakeberry cookies","Duketater cookies","Green yeast digestives","Wheat slims","Fern tea","Ichor syrup"];function Xo(e){return to[e]?to[e].won:0}function qo(){let e=0;Object.keys(Game.GrandmaSynergies).forEach((t=>{ao(Game.GrandmaSynergies[t])&&(e+=1)})),!Xo("Elder")&&e>=7&&$o("Elder"),!Xo("Veteran")&&e>=14&&$o("Veteran");let t=0,o=1,n=1,i=1e5;Object.keys(Zt).forEach((e=>{t+=Zt[e].amount,i=Math.min(Zt[e].amount,i),Xo("Mathematician")||Zt[e].amount=1&&$o("One with everything"),1===o&&$o("Mathematician"),1===n&&$o("Base 10"),i>=100&&$o("Centennial"),i>=150&&$o("Centennial and a half"),i>=200&&$o("Bicentennial"),i>=250&&$o("Bicentennial and a half"),i>=300&&$o("Tricentennial"),i>=350&&$o("Tricentennial and a half"),i>=400&&$o("Quadricentennial"),i>=450&&$o("Quadricentennial and a half"),i>=500&&$o("Quincentennial"),i>=550&&$o("Quincentennial and a half"),i>=600&&$o("Sexcentennial"),t>=100&&$o("Builder"),t>=500&&$o("Architect"),t>=1e3&&$o("Engineer"),t>=2e3&&$o("Lord of Constructs"),t>=4e3&&$o("Grand design"),t>=8e3&&$o("Ecumenopolis"),Ae>=20&&$o("Enhancer"),Ae>=50&&$o("Augmenter"),Ae>=100&&$o("Upgrader"),Ae>=200&&$o("Lord of Progress"),Ae>=300&&$o("The full picture"),Ae>=400&&$o("When there's nothing left to add"),t>=4e3&&Ae>=300&&$o("Polymath"),t>=8e3&&Ae>=400&&$o("Renaissance baker"),Zt.Cursor.amount+Zt.Grandma.amount>=777&&$o("The elder scrolls");let a=!0;Object.keys(zo).forEach((e=>{ao(zo[e])||(a=!1)})),a&&$o("Spooky cookies");let r=!0;if(Object.keys(Vo).forEach((e=>{ao(Vo[e])||(r=!1)})),r&&$o("Let it snow"),ao("Fortune cookies")){const e=Game.Tiers.fortune.upgrades;let t=0;Object.keys(e).forEach((o=>{ao(e[o].name)&&(t+=1)})),t>=e.length&&$o("O Fortuna")}}function Yo(e){const t={};return Object.keys(Game.Objects).forEach((o=>{t[o]={},t[o].bonus=function(e,t){Mo(),Zt[e].amount+=t;const o=Zt[e];"Cursor"===e?(o.amount>=1&&$o("Click"),o.amount>=2&&$o("Double-click"),o.amount>=50&&$o("Mouse wheel"),o.amount>=100&&$o("Of Mice and Men"),o.amount>=200&&$o("The Digital"),o.amount>=300&&$o("Extreme polydactyly"),o.amount>=400&&$o("Dr. T"),o.amount>=500&&$o("Thumbs, phalanges, metacarpals"),o.amount>=600&&$o("With her finger and her thumb"),o.amount>=700&&$o("Gotta hand it to you"),o.amount>=800&&$o("The devil's workshop")):Object.keys(Game.Objects[o.name].tieredAchievs).forEach((e=>{o.amount>=Game.Tiers[Game.Objects[o.name].tieredAchievs[e].tier].achievUnlock&&$o(Game.Objects[o.name].tieredAchievs[e].name)}));const n=De;return Ro(),qo(),n!==De&&Ro(),Xe-Game.cookiesPs}(o,e),1!==e&&(Fe=1)})),t}function Ko(){Object.keys(Game.Objects).forEach((e=>{yt[e].price=Uo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,1),bt[e].price=Uo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,10),kt[e].price=Uo(Game.Objects[e],Game.Objects[e].basePrice,Game.Objects[e].amount,Game.Objects[e].free,100)}))}function Jo(){yt=Yo(1),bt=Yo(10),kt=Yo(100),Tt=[],Object.keys(Game.Upgrades).forEach((t=>{const o=function(e){if("toggle"===Game.Upgrades[e].pool||0===Game.Upgrades[e].bought&&Game.Upgrades[e].unlocked&&"prestige"!==Game.Upgrades[e].pool){Mo(),"Shimmering veil [on]"===eo[e].name?eo["Shimmering veil [off]"].bought=0:"Golden switch [on]"===eo[e].name?eo["Golden switch [off]"].bought=0:eo[e].bought=(eo[e].bought+1)%2,Game.CountsAsUpgradeOwned(Game.Upgrades[e].pool)&&(Ae+=1),"Elder Pledge"===e?(je+=1,je>0&&$o("Elder nap"),je>=5&&$o("Elder slumber")):"Elder Covenant"===e?$o("Elder calm"):"Prism heart biscuits"===e?$o("Lovely cookies"):"Heavenly key"===e&&$o("Wholesome");const t=De;Ro(),qo(),t!==De&&Ro();const o=function(){let e=0;ao("Thousand fingers")&&(e+=.1),ao("Million fingers")&&(e*=5),ao("Billion fingers")&&(e*=10),ao("Trillion fingers")&&(e*=20),ao("Quadrillion fingers")&&(e*=20),ao("Quintillion fingers")&&(e*=20),ao("Sextillion fingers")&&(e*=20),ao("Septillion fingers")&&(e*=20),ao("Octillion fingers")&&(e*=20),ao("Nonillion fingers")&&(e*=20);let t=0;Object.keys(Zt).forEach((e=>{t+=Zt[e].amount})),t-=Zt.Cursor.amount,e*=t,ao("Plastic mouse")&&(e+=.01*Xe),ao("Iron mouse")&&(e+=.01*Xe),ao("Titanium mouse")&&(e+=.01*Xe),ao("Adamantium mouse")&&(e+=.01*Xe),ao("Unobtainium mouse")&&(e+=.01*Xe),ao("Eludium mouse")&&(e+=.01*Xe),ao("Wishalloy mouse")&&(e+=.01*Xe),ao("Fantasteel mouse")&&(e+=.01*Xe),ao("Nevercrack mouse")&&(e+=.01*Xe),ao("Armythril mouse")&&(e+=.01*Xe),ao("Technobsidian mouse")&&(e+=.01*Xe),ao("Plasmarble mouse")&&(e+=.01*Xe),ao("Miraculite mouse")&&(e+=.01*Xe),ao("Fortune #104")&&(e+=.01*Xe);let o=1;if(ao("Santa's helpers")&&(o*=1.1),ao("Cookie egg")&&(o*=1.1),ao("Halo gloves")&&(o*=1.1),ao("Dragon claw")&&(o*=1.03),ao("Aura gloves")&&(o*=1+.05*Math.min(Game.Objects.Cursor.level,ao("Luminous gloves")?20:10)),o*=io("click"),Zt.Temple.minigameLoaded&&ro){const e=ro("labor");1===e?o*=1.15:2===e?o*=1.1:3===e&&(o*=1.05)}Object.keys(Game.buffs).forEach((e=>{void 0!==Game.buffs[e].multClick&&(o*=Game.buffs[e].multClick)})),o*=1+.05*oo("Dragon Cursor");let n=o*Game.ComputeCps(1,ao("Reinforced index finger")+ao("Carpal tunnel prevention cream")+ao("Ambidextrous"),e);return n=Game.runModHookOnValue("cookiesPerClick",n),Game.hasBuff("Cursed finger")&&(n=Game.buffs["Cursed finger"].power),n}()-Game.computedMouseCps;return o?[Xe-Game.cookiesPs,o]:[Xe-Game.cookiesPs]}return[]}(t);"Elder Pledge"===t?(Tt[t]={bonus:Game.cookiesPs-Te},1===e.CalcWrink?Tt[t].bonus-=Se:2===e.CalcWrink&&(Tt[t].bonus-=Pe),Number.isFinite(Tt[t].bonus)||(Tt[t].bonus=0)):(Tt[t]={},o[0]&&(Tt[t].bonus=o[0]),o[1]&&(Tt[t].bonusMouse=o[1]))}))}function Zo(e,t,o){let n=0,i=0,a=0,r=0,l=1+Math.max(0,Math.ceil(Math.log(Game.cookies)/Math.LN10)-10);for(;a0?e/=t:e=0,Ft=Zo(7,e,ut),Nt=2*Ft[1]/ut,Ot=Ft[2]/60/60/6/pt,At=Zo(6,e,mt),Wt=2*At[1]/mt,Lt=At[2]/60/60/6/pt,Ht=Zo(7,7*e,ut),jt=2*Ht[1]/ut,Dt=Ht[2]/60/60/6/pt,Rt=Zo(6,7*e,mt),Ut=2*Rt[1]/mt,$t=Rt[2]/60/60/6/pt}function tn(){const e=Math.floor(Date.now()/1e3);if(Game.T/Game.fps%1==0){const t=Game.HowMuchPrestige(Game.cookiesReset),o=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))-Math.floor(t),n=e-Ne,i=Math.max(0,o-Oe)/n;for(let e=0;e{e.push(Game.Upgrades[t])})),e.sort((function(e,t){return e.order>t.order?1:e.order{const o=e[t];if(0===o.bought){let e="";e+=function(e){let t="crate upgrade missing";"prestige"===e.pool&&(t+=" heavenly");let o=0;Game.prefs.crates||(o=1),o&&(t+=" noFrame");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());const i=`function() {return Game.crateTooltip(Game.UpgradesById[${e.id}], 'stats');}`;return`
\n\t
`}(o),"prestige"===o.pool?Bt+=e:"cookie"===o.pool?Et+=e:"toggle"!==o.pool&&"unused"!==o.pool&&"debug"!==o.pool&&(Pt+=e)}}))}function nn(){if("christmas"===Game.season){let e=60*Game.cookiesPs;Game.hasBuff("Elder frenzy")&&(e*=.5),Game.hasBuff("Frenzy")&&(e*=.75),ft=Math.max(25,e),Game.Has("Ho ho ho-flavored frosting")&&(ft*=2)}}function an(){et=900*dt/.15,et*=pt;const e=Bo();e>0?et/=e:et=0,tt=ut*(.15*et)+13,ot=mt*(.15*et)+13,nt=7*et,it=ut*(.15*nt)+13,at=mt*(.15*nt)+13,rt=2*et,lt=.15*rt,st=0;let t=0,o=0;Object.keys(Game.Objects).forEach((e=>{Game.Objects[e].amount>t&&(t=Game.Objects[e].amount),Game.Objects[e].amount>0&&(o+=1)})),Object.keys(Game.Objects).forEach((e=>{(Game.Objects[e].amountst&&(st=2*Game.Objects[e].price,ct=e)}))}function rn(){let e=1,t=1,o=1;ao("Green yeast digestives")&&(o*=1.01),ao("Dragon fang")&&(o*=1.03),e*=1+.1*Game.auraMult("Ancestral Metamorphosis"),e*=Game.eff("goldenCookieGain"),t*=1+.1*Game.auraMult("Unholy Dominion"),t*=Game.eff("wrathCookieGain"),ut=o*e,mt=o*t,pt=1,0===Game.shimmerTypes.golden.n&&(pt*=1+1.23*Game.auraMult("Dragon's Fortune"))}function ln(){Gt=0,vt=0,wt=[0,null];for(let e=0;ewt[0]&&(wt=[t,e]))}}function sn(){ko(),ln(),an(),rn(),en(),on(),nn(),ge=new Wo(J[J.length-1]),fe=new Wo(J[J.length-1]),Ce=new Wo(J[J.length-1]),ye=new Wo(J[J.length-1]),be=new Wo(Z[Z.length-1]),ke=new Wo(5),he=new Wo(20*Z[Z.length-1]),tn(),Lo(),Jo(),Ko(),Ho()}const cn={CPSMode:1,AvgCPSHist:3,AvgClicksHist:0,CalcWrink:0,Scale:2,ScaleDecimals:2,ScaleSeparator:0,ScaleCutoff:999999,TimeFormat:0,DetailedTime:1,PPDisplayTime:0,BuildColour:1,PPOnlyConsiderBuyable:0,PPExcludeTop:0,PPRigidelMode:0,PPSecondsLowerLimit:0,ColourBlue:"#4bb8f0",ColourGreen:"#00ff00",ColourYellow:"#ffff00",ColourOrange:"#ff7f00",ColourRed:"#ff0000",ColourPurple:"#ff00ff",ColourGray:"#b3b3b3",ColourPink:"#ff1493",ColourBrown:"#8b4513",BotBar:1,TimerBar:1,TimerBarPos:0,TimerBarOverlay:2,UpBarColour:1,UpgradeBarFixedPos:1,SortBuildings:0,SortUpgrades:0,DragonAuraInfo:1,GrimoireBar:1,GCTimer:1,Favicon:1,WrinklerButtons:1,HideSectionsButtons:0,TooltipBuildUpgrade:1,TooltipAmor:0,ToolWarnLucky:1,ToolWarnLuckyFrenzy:1,ToolWarnConjure:1,ToolWarnConjureFrenzy:1,ToolWarnEdifice:1,ToolWarnUser:0,ToolWarnBon:1,ToolWarnPos:1,TooltipGrim:1,TooltipWrink:1,TooltipLump:1,TooltipPlots:1,TooltipPantheon:1,TooltipAscendButton:1,Stats:1,MissingUpgrades:1,MissingAchievements:0,UpStats:1,HeavenlyChipsTarget:1,ShowMissedGC:1,Title:1,GeneralSound:1,GCNotification:0,GCFlash:1,ColourGCFlash:"#ffffff",GCSound:1,GCVolume:100,GCSoundURL:"https://freesound.org/data/previews/66/66717_931655-lq.mp3",FortuneNotification:0,FortuneFlash:1,ColourFortuneFlash:"#ffffff",FortuneSound:1,FortuneVolume:100,FortuneSoundURL:"https://freesound.org/data/previews/174/174027_3242494-lq.mp3",SeaNotification:0,SeaFlash:1,ColourSeaFlash:"#ffffff",SeaSound:1,SeaVolume:100,SeaSoundURL:"https://www.freesound.org/data/previews/121/121099_2193266-lq.mp3",GardFlash:1,ColourGardFlash:"#ffffff",GardSound:1,GardVolume:100,GardSoundURL:"https://freesound.org/data/previews/103/103046_861714-lq.mp3",MagicNotification:0,MagicFlash:1,ColourMagicFlash:"#ffffff",MagicSound:1,MagicVolume:100,MagicSoundURL:"https://freesound.org/data/previews/221/221683_1015240-lq.mp3",WrinklerNotification:0,WrinklerFlash:1,ColourWrinklerFlash:"#ffffff",WrinklerSound:1,WrinklerVolume:100,WrinklerSoundURL:"https://freesound.org/data/previews/124/124186_8043-lq.mp3",WrinklerMaxNotification:0,WrinklerMaxFlash:1,ColourWrinklerMaxFlash:"#ffffff",WrinklerMaxSound:1,WrinklerMaxVolume:100,WrinklerMaxSoundURL:"https://freesound.org/data/previews/152/152743_15663-lq.mp3",BulkBuyBlock:0,FavouriteSettings:1,Header:{Favourite:1,Calculation:1,Notation:1,Colours:1,BarsDisplay:1,Tooltip:1,Statistics:1,Notification:1,NotificationGeneral:1,NotificationGC:1,NotificationFC:1,NotificationSea:1,NotificationGard:1,NotificationMagi:1,NotificationWrink:1,NotificationWrinkMax:1,Miscellaneous:1,Lucky:1,Chain:1,Spells:1,Garden:1,Prestige:1,Wrink:1,Sea:1,Misc:1,InfoTab:1}},dn=function(e){if(1===e){const e=function(){try{Notification.requestPermission().then()}catch(e){return!1}return!0};"Notification"in window?e()?Notification.requestPermission().then():Notification.requestPermission():console.log("This browser does not support notifications.")}};function pn(){1===e.BotBar?(l("CMBotBar").style.display="",fo()):l("CMBotBar").style.display="none",yo()}function un(){BeautifyAll(),Game.RefreshStore(),Game.RebuildUpgrades(),fo(),co(),po()}function mn(){1===e.Favicon&&y>0?Vt.wrath?l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/wrathCookie.ico":l("CMFavicon").href="https://aktanusa.github.io/CookieMonster/favicon/goldenCookie.ico":l("CMFavicon").href="https://orteil.dashnet.org/cookieclicker/favicon.ico"}class hn{constructor(e,t){this.type=e,this.group=t}}class gn extends hn{constructor(e,t,o,n,i,a=null){super(e,t),this.label=o,this.desc=n,this.toggle=i,a&&(this.func=a)}}class fn extends hn{constructor(e,t,o){super(e,t),this.desc=o}}class Cn extends hn{constructor(e,t,o,n){super(e,t),this.label=o,this.desc=n;for(let e=0;e<101;e++)this.label[e]=`${e}%`}}class yn extends hn{constructor(e,t,o,n,i,a){super(e,t),this.label=o,this.desc=n,this.min=i,this.max=a}}const bn={CPSMode:new gn("bool","Calculation",["Current cookies per second","Average cookies per second"],"Calculate times using current cookies per second or average cookies per second",!1),AvgCPSHist:new gn("bool","Calculation",["Average CPS in past 10s","Average CPS in past 15s","Average CPS in past 30s","Average CPS in past 1m","Average CPS in past 5m","Average CPS in past 10m","Average CPS in past 15m","Average CPS in past 30m"],"How much time average Cookies Per Second should consider",!1),AvgClicksHist:new gn("bool","Calculation",["Average clicks in past 1s","Average clicks in past 5s","Average clicks in past 10s","Average clicks in past 15s","Average clicks in past 30s"],"How much time average Cookie Clicks should consider",!1),CalcWrink:new gn("bool","Calculation",["Calculate with wrinklers OFF","Calculate with wrinklers ON","Calculate with single fattest wrinkler ON"],"Calculate times and average Cookies Per Second with (only the single non-shiny fattest) wrinklers",!0,(function(){_e=!0})),Scale:new gn("bool","Notation",["Game's setting scale","Metric","Short scale","Short scale (Abbreviated)","Scientific notation","Engineering notation"],"Change how long numbers are formatted",!1,(function(){un()})),ScaleDecimals:new gn("bool","Notation",["1 decimals","2 decimals","3 decimals"],'Set the number of decimals used when applicable. This only works with Cookie Monster scales and not with "Game\'s Setting Scale"',!1,(function(){un()})),ScaleSeparator:new gn("bool","Notation",[". for decimals (standard)",". for thousands"],"Set the separator used for decimals and thousands",!1,(function(){un()})),ScaleCutoff:new yn("numscale","Notation","Notation cut-off point: ","The number from which Cookie Monster will start formatting numbers based on chosen scale. Standard is 999,999. Setting this above 999,999,999 might break certain notations",1,999999999),TimeFormat:new gn("bool","Notation",["Time XXd, XXh, XXm, XXs","Time XX:XX:XX:XX:XX"],"Change the time format",!1),DetailedTime:new gn("bool","Notation",["Detailed time OFF","Detailed time ON"],"Change how time is displayed in certain statistics and tooltips",!0,(function(){1===e.DetailedTime?Game.sayTime=V:Game.sayTime=S.sayTime})),PPDisplayTime:new gn("bool","Notation",["PP as value (standard)","PP as time unit"],"Display PP as calculated value or as approximate time unit. Note that PP does not translate directly into a time unit and this is therefore only an approximation.",!1),BuildColour:new gn("bool","Colours",["Building colours OFF","Building colours ON"],"Colour code buildings",!0,(function(){co()})),PPOnlyConsiderBuyable:new gn("bool","Colours",["Don't ignore non-buyable","Ignore non-buyable"],"Makes Cookie Monster label buildings and upgrades you can't buy right now red, useful in those situations where you just want to spend your full bank 'most optimally'",!0),PPExcludeTop:new gn("bool","Colours",["Don't ignore any","Ignore 1st best","Ignore 1st and 2nd best","Ignore 1st, 2nd and 3rd best"],"Makes Cookie Monster ignore the 1st, 2nd or 3rd best buildings in labeling and colouring PP values",!0),PPRigidelMode:new gn("bool","Colours",["Rigidel mode OFF","Rigidel mode ON"],'Makes Cookie Monster ignore all "buy 1" options when colouring PP in order to stay at a total building count ending in 10 for pantheon god Rigidel',!0),PPSecondsLowerLimit:new yn("numscale","Colours","Lower limit for PP (in seconds): ",'If a building or upgrade costs less than the specified seconds of CPS it will also be considered optimal and label it as such ("PP is less than xx seconds of CPS"); setting to 0 ignores this option',0,1/0),ColourBlue:new fn("colour","Colours","Standard colour is blue. Used to show upgrades better than best PP building, for Click Frenzy bar, and for various labels"),ColourGreen:new fn("colour","Colours","Standard colour is green. Used to show best PP building, for Blood Frenzy bar, and for various labels"),ColourYellow:new fn("colour","Colours","Standard colour is yellow. Used to show buildings within the top 10 of PP, for Frenzy bar, and for various labels"),ColourOrange:new fn("colour","Colours","Standard colour is orange. Used to show buildings within the top 20 of PP, for Next Reindeer bar, and for various labels"),ColourRed:new fn("colour","Colours","Standard colour is Red. Used to show buildings within the top 30 of PP, for Clot bar, and for various labels"),ColourPurple:new fn("colour","Colours","Standard colour is purple. Used to show buildings outside of the top 30 of PP, for Next Cookie bar, and for various labels"),ColourGray:new fn("colour","Colours","Standard colour is gray. Used to show negative or infinity PP, and for Next Cookie/Next Reindeer bar"),ColourPink:new fn("colour","Colours","Standard colour is pink. Used for Dragonflight bar"),ColourBrown:new fn("colour","Colours","Standard colour is brown. Used for Dragon Harvest bar"),BotBar:new gn("bool","BarsDisplay",["Bottom bar OFF","Bottom bar ON"],"Building information",!0,(function(){pn()})),TimerBar:new gn("bool","BarsDisplay",["Timer bar OFF","Timer bar ON"],"Bar with timers for golden cookie, season popup, Frenzy (Normal, Clot, Elder), Click Frenzy",!0,(function(){bo()})),TimerBarPos:new gn("bool","BarsDisplay",["Timer bar position (top left)","Timer bar position (bottom)"],"Placement of the timer bar",!1,(function(){0===e.TimerBarPos?(l("CMTimerBar").style.width="30%",l("CMTimerBar").style.bottom="",l("game").insertBefore(l("CMTimerBar"),l("sectionLeft"))):(l("CMTimerBar").style.width="100%",l("CMTimerBar").style.bottom="0px",l("wrapper").appendChild(l("CMTimerBar"))),yo()})),TimerBarOverlay:new gn("bool","BarsDisplay",["Timer bar overlay OFF","Timer bar overlay only seconds","Timer bar overlay full"],"Overlay on timers displaying seconds and/or percentage left",!0),UpBarColour:new gn("bool","BarsDisplay",["Upgrade colours/bar OFF","Upgrade colours with bar ON","Upgrade colours without bar ON"],"Colour code upgrades and optionally add a counter bar",!1,(function(){1===e.UpBarColor?(l("CMUpgradeBar").style.display="",po()):2===e.UpBarColor?(l("CMUpgradeBar").style.display="none",po()):(l("CMUpgradeBar").style.display="none",Game.RebuildUpgrades())})),UpgradeBarFixedPos:new gn("bool","BarsDisplay",["Upgrade bar fixed position OFF","Upgrade bar fixed position ON"],"Lock the upgrade bar at top of the screen to prevent it from moving ofscreen when scrolling",!0,(function(){1===e.UpgradeBarFixedPos?(l("CMUpgradeBar").style.position="sticky",l("CMUpgradeBar").style.top="0px"):l("CMUpgradeBar").style.position=""})),SortBuildings:new gn("bool","BarsDisplay",["Sort buildings: default","Sort buildings: PP of x1 purchase","Sort buildings: PP of selected bulk mode"],"Sort the display of buildings in either default order or by PP",!1,(function(){co()})),SortUpgrades:new gn("bool","BarsDisplay",["Sort upgrades: default","Sort upgrades: PP"],"Sort the display of upgrades in either default order or by PP",!1,(function(){po()})),DragonAuraInfo:new gn("bool","BarsDisplay",["Extra dragon aura info OFF","Extra dragon aura info ON"],"Shows information about changes in CPS and costs in the dragon aura interface.",!0),GrimoireBar:new gn("bool","BarsDisplay",["Grimoire magic meter timer OFF","Grimoire magic meter timer ON"],"A timer on how long before the Grimoire magic meter is full",!0),GCTimer:new gn("bool","BarsDisplay",["Golden cookie timer OFF","Golden cookie timer ON"],"A timer on the golden cookie when it has been spawned",!0,(function(){1===e.GCTimer?Object.keys(se).forEach((e=>{se[e].style.display="block",se[e].style.left=Yt[e].l.style.left,se[e].style.top=Yt[e].l.style.top})):Object.keys(se).forEach((e=>se[e].style.display="none"))})),Favicon:new gn("bool","BarsDisplay",["Favicon OFF","Favicon ON"],"Update favicon with golden/wrath cookie",!0,(function(){mn()})),WrinklerButtons:new gn("bool","BarsDisplay",["Extra wrinkler buttons OFF","Extra wrinkler buttons ON"],"Show buttons for popping wrinklers at bottom of cookie section",!0,(function(){t()})),HideSectionsButtons:new gn("bool","BarsDisplay",["Hide buildings/upgrades button OFF","Hide buildings/upgrades button ON"],"Show buttons for hiding and showing the buildings and upgrades sections in the right column",!0,(function(){e.HideSectionsButtons?l("CMSectionHidButtons").style.display="":l("CMSectionHidButtons").style.display="none"})),TooltipBuildUpgrade:new gn("bool","Tooltip",["Building/upgrade tooltip information OFF","Building/upgrade tooltip information ON"],"Extra information in building/upgrade tooltips",!0),TooltipAmor:new gn("bool","Tooltip",["Buildings tooltip amortization information OFF","Buildings tooltip amortization information ON"],"Add amortization information to buildings tooltip",!0),ToolWarnLucky:new gn("bool","Tooltip",["Tooltip lucky warning OFF","Tooltip lucky warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" rewards',!0),ToolWarnLuckyFrenzy:new gn("bool","Tooltip",["Tooltip lucky frenzy warning OFF","Tooltip lucky frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Lucky!" (Frenzy) rewards',!0),ToolWarnConjure:new gn("bool","Tooltip",["Tooltip conjure warning OFF","Tooltip conjure warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards',!0),ToolWarnConjureFrenzy:new gn("bool","Tooltip",["Tooltip conjure frenzy warning OFF","Tooltip conjure frenzy warning ON"],'A warning when buying if it will put the bank under the amount needed for max "Conjure Baked Goods" rewards with Frenzy active',!0),ToolWarnEdifice:new gn("bool","Tooltip",["Tooltip edifice warning OFF","Tooltip edifice warning ON"],'A warning when buying if it will put the bank under the amount needed for "Spontaneous Edifice" to possibly give you your most expensive building',!0),ToolWarnUser:new yn("numscale","Tooltip","Tooltip warning at x times CPS: ","Use this to show a customized warning if buying it will put the bank under the amount equal to value times cps; setting to 0 disables the function altogether",0,1/0),ToolWarnBon:new gn("bool","Tooltip",["Calculate tooltip warning with bonus CPS OFF","Calculate tooltip warning with bonus CPS ON"],"Calculate the warning with or without the bonus CPS you get from buying",!0),ToolWarnPos:new gn("bool","Tooltip",["Tooltip warning position (left)","Tooltip warning position (bottom)"],"Placement of the warning boxes",!1,(function(){Eo()})),TooltipGrim:new gn("bool","Tooltip",["Grimoire tooltip information OFF","Grimoire tooltip information ON"],"Extra information in tooltip for grimoire",!0),TooltipWrink:new gn("bool","Tooltip",["Wrinkler tooltip OFF","Wrinkler tooltip ON"],"Shows the amount of cookies a wrinkler will give when popping it",!0),TooltipLump:new gn("bool","Tooltip",["Sugar lump tooltip OFF","Sugar lump tooltip ON"],"Shows the current Sugar Lump type in Sugar lump tooltip.",!0),TooltipPlots:new gn("bool","Tooltip",["Garden plots tooltip OFF","Garden plots tooltip ON"],"Shows a tooltip for plants that have a cookie reward.",!0),TooltipPantheon:new gn("bool","Tooltip",["Pantheon tooltip OFF","Pantheon tooltip ON"],"Shows additional info in the pantheon tooltip",!0),TooltipAscendButton:new gn("bool","Tooltip",["Show Extra Info Ascend Tooltip OFF","Show Extra Info Ascend Tooltip ON"],"Shows additional info in the ascend tooltip",!0),Stats:new gn("bool","Statistics",["Statistics OFF","Statistics ON"],"Extra Cookie Monster statistics!",!0),MissingUpgrades:new gn("bool","Statistics",["Missing upgrades OFF","Missing upgrades ON"],"Shows missing upgrades in statistics menu",!0),MissingAchievements:new gn("bool","Statistics",["Missing Achievements OFF","Missing Normal Achievements ON"],"Shows missing normal achievements in statistics menu.",!1),UpStats:new gn("bool","Statistics",["Statistics update rate (default)","Statistics update rate (1s)"],"Default rate is once every 5 seconds",!1),HeavenlyChipsTarget:new yn("numscale","Statistics","Heavenly chips target: ",'Use this to set a heavenly chips target that will be counted towards in the "prestige" statsistics sections',1,1/0),ShowMissedGC:new gn("bool","Statistics",["Missed GC OFF","Missed GC ON"],"Show a stat in the statistics screen that counts how many golden cookies you have missed",!0),Title:new gn("bool","NotificationGeneral",["Title OFF","Title ON","Title pinned tab highlight"],'Update title with colden cookie/season popup timers; pinned tab highlight only changes the title when a golden cookie/season popup spawns; "!" means that golden cookie/reindeer can spawn',!0),GeneralSound:new gn("bool","NotificationGeneral",["Consider game volume setting OFF","Consider game volume setting ON"],'Turning this toggle to "off" makes Cookie Monster no longer consider the volume setting of the base game, allowing mod notifications to play with base game volume turned down',!0),GCNotification:new gn("bool","NotificationGC",["Notification OFF","Notification ON"],"Create a notification when golden cookie spawns",!0,(function(){dn(e.GCNotification)})),GCFlash:new gn("bool","NotificationGC",["Flash OFF","Flash ON"],"Flash screen on golden cookie",!0),ColourGCFlash:new fn("colour","NotificationGC","The colour of the GC flash, standard colour is white"),GCSound:new gn("bool","NotificationGC",["Sound OFF","Sound ON"],"Play a sound on golden cookie",!0),GCVolume:new Cn("vol","NotificationGC",[],"Volume"),GCSoundURL:new gn("url","NotificationGC","Sound URL:","URL of the sound to be played when a golden cookie spawns"),FortuneNotification:new gn("bool","NotificationFC",["Notification OFF","Notification ON"],"Create a notification when fortune cookie is on the ticker",!0,(function(){dn(e.FortuneNotification)})),FortuneFlash:new gn("bool","NotificationFC",["Flash OFF","Flash ON"],"Flash screen on fortune cookie spawn",!0),ColourFortuneFlash:new fn("colour","NotificationFC","The colour of the fortune flash, standard colour is white"),FortuneSound:new gn("bool","NotificationFC",["Sound OFF","Sound ON"],"Play a sound on fortune cookie spawn",!0),FortuneVolume:new Cn("vol","NotificationFC",[],"Volume"),FortuneSoundURL:new gn("url","NotificationFC","Sound URL:","URL of the sound to be played when the ticker has a fortune cookie"),SeaNotification:new gn("bool","NotificationSea",["Notification OFF","Notification ON"],"Create a notification on season popup",!0,(function(){dn(e.SeaNotification)})),SeaFlash:new gn("bool","NotificationSea",["Flash OFF","Flash ON"],"Flash screen on season popup",!0),ColourSeaFlash:new fn("colour","NotificationSea","The colour of the season popup flash, standard colour is white"),SeaSound:new gn("bool","NotificationSea",["Sound OFF","Sound ON"],"Play a sound on season popup",!0),SeaVolume:new Cn("vol","NotificationSea",[],"Volume"),SeaSoundURL:new gn("url","NotificationSea","Sound URL:","URL of the sound to be played when on season popup spawns"),GardFlash:new gn("bool","NotificationGard",["Garden Tick Flash OFF","Flash ON"],"Flash screen on garden tick",!0),ColourGardFlash:new fn("colour","NotificationGard","The colour of the garden flash, standard colour is white"),GardSound:new gn("bool","NotificationGard",["Sound OFF","Sound ON"],"Play a sound on garden tick",!0),GardVolume:new Cn("vol","NotificationGard",[],"Volume"),GardSoundURL:new gn("url","NotificationGard","Garden Tick Sound URL:","URL of the sound to be played when the garden ticks"),MagicNotification:new gn("bool","NotificationMagi",["Notification OFF","Notification ON"],"Create a notification when magic reaches maximum",!0,(function(){dn(e.MagicNotification)})),MagicFlash:new gn("bool","NotificationMagi",["Flash OFF","Flash ON"],"Flash screen when magic reaches maximum",!0),ColourMagicFlash:new fn("colour","NotificationMagi","The colour of the magic flash, standard colour is white"),MagicSound:new gn("bool","NotificationMagi",["Sound OFF","Sound ON"],"Play a sound when magic reaches maximum",!0),MagicVolume:new Cn("vol","NotificationMagi",[],"Volume"),MagicSoundURL:new gn("url","NotificationMagi","Sound URL:","URL of the sound to be played when magic reaches maxium"),WrinklerNotification:new gn("bool","NotificationWrink",["Notification OFF","Notification ON"],"Create a notification when a wrinkler appears",!0,(function(){dn(e.WrinklerNotification)})),WrinklerFlash:new gn("bool","NotificationWrink",["Flash OFF","Flash ON"],"Flash screen when a wrinkler appears",!0),ColourWrinklerFlash:new fn("colour","NotificationWrink","The colour of the wrinkler flash, standard colour is white"),WrinklerSound:new gn("bool","NotificationWrink",["Sound OFF","Sound ON"],"Play a sound when a wrinkler appears",!0),WrinklerVolume:new Cn("vol","NotificationWrink",[],"Volume"),WrinklerSoundURL:new gn("url","NotificationWrink","Sound URL:","URL of the sound to be played when a wrinkler appears"),WrinklerMaxNotification:new gn("bool","NotificationWrinkMax",["Notification OFF","Notification ON"],"Create a notification when the maximum amount of wrinklers has appeared",!0,(function(){dn(e.WrinklerMaxNotification)})),WrinklerMaxFlash:new gn("bool","NotificationWrinkMax",["Flash OFF","Flash ON"],"Flash screen when the maximum amount of Wrinklers has appeared",!0),ColourWrinklerMaxFlash:new fn("colour","NotificationWrinkMax","The colour of the maximum wrinkler flash, standard colour is white"),WrinklerMaxSound:new gn("bool","NotificationWrinkMax",["Sound OFF","Sound ON"],"Play a sound when the maximum amount of wrinklers has appeared",!0),WrinklerMaxVolume:new Cn("vol","NotificationWrinkMax",[],"Volume"),WrinklerMaxSoundURL:new gn("url","NotificationWrinkMax","Sound URL:","URL of the sound to be played when the maximum amount of wrinklers has appeared"),BulkBuyBlock:new gn("bool","Miscellaneous",["Block bulk buying OFF","Block bulk buying ON"],"Block clicking bulk buying when you can't buy all. This prevents buying 7 of a building when you are in buy-10 or buy-100 mode.",!0),FavouriteSettings:new gn("bool","Miscellaneous",["Favourite settings section OFF","Favourite settings section ON","Favourite settings section ON (Locked)"],"Show stars before each setting which allows selecting it for a 'favourites' section at the top of the Cookie Monster settings. Setting this to Locked removes the stars but shows the 'favourites' section",!0,(function(){Game.UpdateMenu()}))};function kn(){return JSON.stringify({favouriteSettings:de,settings:e,version:"2.031.6"})}function Gn(){if(Je!==Game.dragonLevel||_e){if(Game.dragonLevel<25&&Game.dragonLevels[Game.dragonLevel].buy.toString().includes("sacrifice")){let e=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/Objects\[(.*)\]/)[1];const t=Game.dragonLevels[Game.dragonLevel].buy.toString().match(/sacrifice\((.*?)\)/)[1];if("i"!==e)if(e=e.replaceAll("'",""),Game.Objects[e].amount{if(e=n,Game.Objects[e].amount{Zt[e]=wo(e)})),eo=[],Object.keys(Game.Upgrades).forEach((e=>{eo[e]=xo(e)})),to=[],Object.keys(Game.Achievements).forEach((e=>{to[e]=Go(e)})),Mo()}let xn=!1;function Mn(t,o,n){(1===e[o]||n)&&3===t&&!1===xn||1===t?(l("CMFlashScreen").style.backgroundColor=e[`Colour${o}`],l("CMFlashScreen").style.opacity="0.5",3===t?(l("CMFlashScreen").style.display="inline",setTimeout((function(){Mn(2,o,!0)}),1e3/Game.fps)):setTimeout((function(){Mn(0,o,!0)}),1e3/Game.fps)):2===t?(l("CMFlashScreen").style.opacity="1",setTimeout((function(){Mn(1,o,!0)}),1e3/Game.fps)):0===t&&(l("CMFlashScreen").style.display="none")}function Tn(t,o,n,i){if((1===e[o]||i)&&!1===xn){const o=new Audio(t);e.GeneralSound?o.volume=e[n]/100*(Game.volume/100):o.volume=e[n]/100,o.play()}}function Sn(t,o,n){1===e[t]&&"hidden"===document.visibilityState&&!1===xn&&new Notification(o,{body:n,badge:"https://orteil.dashnet.org/cookieclicker/favicon.ico"})}function Pn(){if(re!==Game.OnAscend&&(re=Game.OnAscend,Game.OnAscend?(l("game").style.bottom="0px",1===e.BotBar&&(l("CMBotBar").style.display="none"),1===e.TimerBar&&(l("CMTimerBar").style.display="none")):(pn(),bo()),Co()),!Game.OnAscend&&0===Game.AscendTimer){r!==Object.keys(Game.mods).length&&(wn(),sn(),r=Object.keys(Game.mods).length),_e&&(Jo(),Game.Has("Golden switch [off]")?(Mo(),eo["Golden switch [off]"].bought=0,Ro(),dt=Xe):dt=Game.cookiesPs,rn(),an(),on(),en(),Gn(),function(){for(let e=0;e<11;e+=1)for(let t=0;t<3;t+=1)Jt[e][t]=vn(e,t)}(),nn(),function(){let e=0;if(Game.Objects.Bank.minigameLoaded){const t=Game.Objects.Bank.minigame.goods;let o=0;Object.keys(t).forEach((e=>{const n=t[e];o+=n.stock*n.val})),e+=o*Game.cookiesPsRawHighest}e+=function(){let e=0;Mo();let t=2;5!==$e&&18!==$e||(t-=1),5!==Re&&18!==Re||(t-=1),$e=5,Re=18;for(let e=0;e{Zt[t].amount>0&&(e=t)})),Zt[e].amount-=1,Le-=1}return Object.keys(Zt).forEach((t=>{const o=Zt[t];e+=so(Game.Objects[o.name],Game.Objects[t].basePrice,o.amount,Game.Objects[t].free,o.amount)})),e}(),Kt=e}(),_e=0);const t=Game.auraMult("Fierce Hoarder")>0;!We&&t?(We=!0,Fe=1):We&&!t&&(We=!1,Fe=1),Fe&&(Ko(),Fe=0),function(){ln(),Ho(),function(){xt=0;let e=0;Object.keys(Game.wrinklers).forEach((t=>{2===Game.wrinklers[t].phase&&(e+=1)}));let t=1;if(Zt.Temple.minigameLoaded){const e=Game.hasGod("scorn");1===e?t*=1.15:2===e?t*=1.1:3===e&&(t*=1.05)}Mt=e,xt=e*(.05*e*1.1)*(.05*Game.Has("Sacrilegious corruption")+1)*(.05*Game.Has("Wrinklerspawn")+1)*t}(),Lo(),tn();const e=Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset);Qt=ue(e/uo())}(),G=0,Yt={},Object.keys(Game.shimmers).forEach((e=>{Yt[Game.shimmers[e].id]=Game.shimmers[e],Game.shimmers[e].spawnLead&&"golden"===Game.shimmers[e].type&&(Vt=Game.shimmers[e],G+=1)})),Object.keys(se).forEach((e=>{void 0===Yt[e]&&(se[e].parentNode.removeChild(se[e]),delete se[e])})),y!==Game.shimmerTypes.golden.n?(y=Game.shimmerTypes.golden.n,y&&(b{void 0===se[Game.shimmers[t].id]&&function(t){const o=document.createElement("div");o.id=`GCTimer${t.id}`,o.style.width="96px",o.style.height="96px",o.style.position="absolute",o.style.zIndex="10000000001",o.style.textAlign="center",o.style.lineHeight="96px",o.style.fontFamily='"Kavoon", Georgia, serif',o.style.fontSize="35px",o.style.cursor="pointer",o.style.display="block",0===e.GCTimer&&(o.style.display="none"),o.style.left=t.l.style.left,o.style.top=t.l.style.top,o.onclick=function(){t.pop()},o.onmouseover=function(){t.l.style.filter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))",t.l.style.webkitFilter="brightness(125%) drop-shadow(0px 0px 3px rgba(255,255,255,1))"},o.onmouseout=function(){t.l.style.filter="",t.l.style.webkitFilter=""},se[t.id]=o,l("shimmers").appendChild(o)}(Game.shimmers[t])}))),mn(),b=G,0===G&&(Vt=0)):1===e.GCTimer&&y&&Object.keys(se).forEach((e=>{se[e].style.opacity=Yt[e].l.style.opacity,se[e].style.transform=Yt[e].l.style.transform,se[e].textContent=Math.ceil(Yt[e].life/Game.fps)})),f!==(Game.TickerEffect&&"fortune"===Game.TickerEffect.type)&&(f=Game.TickerEffect&&"fortune"===Game.TickerEffect.type,f&&(Mn(3,"FortuneFlash",!1),Tn(e.FortuneSoundURL,"FortuneSound","FortuneVolume",!1),Sn("FortuneNotification","Fortune Cookie found","A Fortune Cookie has appeared on the Ticker."))),g!==Game.shimmerTypes.reindeer.spawned&&(g=Game.shimmerTypes.reindeer.spawned,Object.keys(Game.shimmers).forEach((e=>{Game.shimmers[e].spawnLead&&"reindeer"===Game.shimmers[e].type&&(_t=Game.shimmers[e])})),Mn(3,"SeaFlash",!1),Tn(e.SeaSoundURL,"SeaSound","SeaVolume",!1),Sn("SeaNotification","Reindeer sighted!","A Reindeer has spawned. Click it now!")),Game.Objects.Farm.minigameLoaded&&C!==Game.Objects.Farm.minigame.nextStep&&(0!==C&&C0){let t=0;Object.keys(Game.wrinklers).forEach((e=>{2===Game.wrinklers[e].phase&&(t+=1)})),t>v?(v=t,t===Game.getWrinklersMax()&&e.WrinklerMaxFlash?Mn(3,"WrinklerMaxFlash",!1):Mn(3,"WrinklerFlash",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxSound?Tn(e.WrinklerMaxSoundURL,"WrinklerMaxSound","WrinklerMaxVolume",!1):Tn(e.WrinklerSoundURL,"WrinklerSound","WrinklerVolume",!1),t===Game.getWrinklersMax()&&e.WrinklerMaxNotification?Sn("WrinklerMaxNotification","Maximum Wrinklers Reached","You have reached your maximum ammount of wrinklers"):Sn("WrinklerNotification","A Wrinkler appeared","A new wrinkler has appeared")):v=t}}()}}function Bn(){let t="";for(let o=0;o<$.length;o++)t+=`.CMText${$[o]} { color: ${e[`Colour${$[o]}`]}; }\n`;for(let o=0;o<$.length;o++)t+=`.CMBack${$[o]} { background-color: ${e[`Colour${$[o]}`]}; }\n`;for(let o=0;o<$.length;o++)t+=`.CMBorder${$[o]} { border: 1px solid ${e[`Colour${$[o]}`]}; }\n`;l("CMCSS").textContent=t,co()}function En(){const e=b64_to_utf8(unescape(localStorage.getItem("CookieClickerGame")).split("!END!")[0]),t=e.match(/CookieMonster.*(;|$)/);if(null!==t){const o=e.replace(t[0],`CookieMonster:${kn()}`);localStorage.setItem("CookieClickerGame",escape(`${utf8_to_b64(o)}!END!`))}}function Nn(t){if(void 0!==localStorage.CMConfig&&delete localStorage.CMConfig,void 0!==t){e=t,void 0!==e.Colors&&delete e.Colors,void 0!==e.Colours&&delete e.Colours;let o=!1;Object.keys(cn).forEach((t=>{void 0===e[t]?(o=!0,e[t]=cn[t]):"Header"===t&&Object.keys(cn.Header).forEach((n=>{void 0!==e[t][n]&&e[t][n]>-1&&e[t][n]<2||(o=!0,e[t][n]=cn[t][n])}))})),o&&En(),Pn(),Object.keys(cn).forEach((e=>{"Header"!==e&&void 0!==bn[e].func&&bn[e].func()}))}else Nn(cn);Game.UpdateMenu(),Bn()}function On(){Object.keys(Game.wrinklers).forEach((e=>{Game.wrinklers[e].sucked>0&&0===Game.wrinklers[e].type&&(Game.wrinklers[e].hp=0)}))}function Fn(t,o){if("b"===t){if(l("tooltip").innerHTML=Game.Objects[o].tooltip(),1===e.TooltipAmor){const e=Uo(Game.Objects[o],Game.Objects[o].basePrice,0,Game.Objects[o].free,Game.Objects[o].amount),t=e-Game.Objects[o].totalCookies;t>0&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split("so far").join(`so far
${pe(t)} ${1===Math.floor(t)?"cookie":"cookies"} left to amortize (${me((e-Game.Objects[o].totalCookies)/(Game.Objects[o].storedTotalCps*Game.globalCpsMult)).text})`))}-1===Game.buyMode&&(l("tooltip").innerHTML=l("tooltip").innerHTML.split(pe(Game.Objects[o].bulkPrice)).join(pe((Game.Objects[o],Game.Objects[o].basePrice,Game.Objects[o].amount,Game.Objects[o].free,Game.buyBulk,1))))}else if("u"===t){if(!Game.UpgradesInStore[o])return"";l("tooltip").innerHTML=Game.crateTooltip(Game.UpgradesInStore[o],"store")}else"s"===t?l("tooltip").innerHTML=Game.lumpTooltip():"g"===t?l("tooltip").innerHTML=Game.Objects["Wizard tower"].minigame.spellTooltip(o)():"p"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.tileTooltip(o[0],o[1])():"ha"===t?l("tooltip").innerHTML=Game.ObjectsById[2].minigame.toolTooltip(1)():"wb"===t?l("tooltip").innerHTML="":"pag"===t?l("tooltip").innerHTML=Game.Objects.Temple.minigame.godTooltip(o)():"pas"===t&&(l("tooltip").innerHTML=Game.Objects.Temple.minigame.slotTooltip(o[0])());if("b"===t&&1===Game.buyMode||"u"===t||"s"===t||"g"===t||"p"===t&&!Game.keys[16]||"ha"===t||"wb"===t||"pag"===t||"pas"===t&&-1!==o[1]){const e=document.createElement("div");e.id="CMTooltipArea",l("tooltip").appendChild(e)}return ne=t,ie=o,No(),l("tooltip").innerHTML}function Wn(){Game.Objects["Wizard tower"].minigameLoaded&&Object.keys(Game.Objects["Wizard tower"].minigame.spellsById).forEach((e=>{null!==l(`grimoireSpell${e}`).onmouseover&&(M[e]=l(`grimoireSpell${e}`).onmouseover,l(`grimoireSpell${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("g",`${e}`)}),"this"),Game.tooltip.wobble()})}))}function Ln(){if(!m&&Game.Objects["Wizard tower"].minigameLoaded){const{minigame:t}=Game.Objects["Wizard tower"];p=t.draw,Game.Objects["Wizard tower"].minigame.draw=function(){p(),1===e.GrimoireBar&&t.magic1&&(e.Header[t]=0),En()}function Rn(t,o){const n=document.createElement("div");n.className="title",n.style.padding="0px 16px",n.style.opacity="0.7",n.style.fontSize="17px",n.style.fontFamily='"Kavoon", Georgia, serif',n.appendChild(document.createTextNode(`${t} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[o]?"-":"+",i.onclick=function(){$n(o),Game.UpdateMenu()},n.appendChild(i),n}function In(e,t,o,n){const i=document.createElement("div");i.className="listing";const a=document.createElement("b");if(a.textContent=t,i.appendChild(a),"withTooltip"===e){i.className="listing",i.appendChild(document.createTextNode(" "));const e=document.createElement("span");e.onmouseout=function(){Game.tooltip.hide()},e.onmouseover=function(){Game.tooltip.draw(this,escape(I[n].innerHTML))},e.style.cursor="default",e.style.display="inline-block",e.style.height="10px",e.style.width="10px",e.style.borderRadius="5px",e.style.textAlign="center",e.style.backgroundColor="#C0C0C0",e.style.color="black",e.style.fontSize="9px",e.style.verticalAlign="bottom",e.textContent="?",i.appendChild(e)}return i.appendChild(document.createTextNode(": ")),i.appendChild(o),i}function zn(e){const t=document.createDocumentFragment();t.appendChild(document.createTextNode(`${e.length} `));const o=document.createElement("span");o.onmouseout=function(){Game.tooltip.hide()};const n=document.createElement("div"),i=document.createElement("div");i.style.minWidth="140px",i.style.marginBottom="4px";const a=document.createElement("div");return a.className="name",a.style.marginBottom="4px",a.style.textAlign="center",a.textContent="Missing",i.appendChild(a),Object.keys(e).forEach((t=>{const o=document.createElement("div");o.style.textAlign="center",o.appendChild(document.createTextNode(e[t])),i.appendChild(o)})),n.appendChild(i),o.onmouseover=function(){Game.tooltip.draw(this,escape(n.innerHTML))},o.style.cursor="default",o.style.display="inline-block",o.style.height="10px",o.style.width="10px",o.style.borderRadius="5px",o.style.textAlign="center",o.style.backgroundColor="#C0C0C0",o.style.color="black",o.style.fontSize="9px",o.style.verticalAlign="bottom",o.textContent="?",t.appendChild(o),t}function Vn(t){const o=document.createElement("div");if(o.className="subsection",o.appendChild(t),o.appendChild(Rn("Lucky Cookies","Lucky")),e.Header.Lucky&&o.appendChild(function(){const e=Game.auraMult("Dragon's Fortune")?"GoldCookDragonsFortuneTooltipPlaceholder":"GoldCookTooltipPlaceholder",t=document.createElement("div");t.className="CMStatsLuckySection";const o=Game.cookies+mo(){Game.HasUnlocked(Qo[e])||c.push(Qo[e])})),0!==c.length&&e.appendChild(In("basic","Rare plant drops left to unlock",zn(c))),e}())),o.appendChild(Rn("Prestige","Prestige")),e.Header.Prestige&&o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsPrestigeSection";const o=Math.floor(Game.HowMuchPrestige(It+Game.cookiesReset+Gt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")?Ct:0)));t.appendChild(In("withTooltip","Prestige level (cur / max)",document.createTextNode(`${pe(Game.prestige)} / ${pe(o)}`),"PrestMaxTooltipPlaceholder"));const n=Math.max(0,Game.HowManyCookiesReset(o+1)-(It+Game.cookiesReset+Gt+(Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg")&&Ct?Ct:0))),i=document.createDocumentFragment();i.appendChild(document.createTextNode(pe(n)));const a=document.createElement("small");a.textContent=` (${ue(n/zt,1)})`,i.appendChild(a),t.appendChild(In("withTooltip","Cookies to next level",i,"NextPrestTooltipPlaceholder")),t.appendChild(In("withTooltip","Heavenly chips (cur / max)",document.createTextNode(`${pe(Game.heavenlyChips)} / ${pe(o-Game.prestige+Game.heavenlyChips)}`),"HeavenChipMaxTooltipPlaceholder")),t.appendChild(In("basic","Heavenly chips per second (last 5 seconds)",document.createTextNode(pe(ht,2))));const r=Number(e.HeavenlyChipsTarget);if(!Number.isNaN(r)){const e=r-Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned));e>0&&(t.appendChild(In("basic","Heavenly chips to target set in settings (cur)",document.createTextNode(pe(e)))),t.appendChild(In("basic","Time till target (cur, current 5 second average)",document.createTextNode(ue(e/ht)))))}const l=function(e){let t=Game.cookiesPs;Mo(),0===eo["Heavenly key"].bought&&(eo["Heavenly chip secret"].bought=1,eo["Heavenly cookie stand"].bought=1,eo["Heavenly bakery"].bought=1,eo["Heavenly confectionery"].bought=1,eo["Heavenly key"].bought=1,Ro(),t=Xe,Mo()),It>=1e6&&$o("Sacrifice"),It>=1e9&&$o("Oblivion"),It>=1e12&&$o("From scratch"),It>=1e15&&$o("Nihilism"),It>=1e18&&$o("Dematerialize"),It>=1e21&&$o("Nil zero zilch"),It>=1e24&&$o("Transcendence"),It>=1e27&&$o("Obliterate"),It>=1e30&&$o("Negative void"),It>=1e33&&$o("To crumbs, you say?"),It>=1e36&&$o("You get nothing"),It>=1e39&&$o("Humble rebeginnings"),It>=1e42&&$o("The end of the world"),It>=1e45&&$o("Oh, you're back"),It>=1e48&&$o("Lazarus"),It>=1e51&&$o("Smurf account"),It>=1e54&&$o("If at first you don't succeed"),eo["Heavenly chip secret"].bought=1,eo["Heavenly cookie stand"].bought=1,eo["Heavenly bakery"].bought=1,eo["Heavenly confectionery"].bought=1,eo["Heavenly key"].bought=1,Ue=e;const o=De;Ro(),qo(),o!==De&&Ro();const n=Xe-t;return Ue=Game.prestige,n}(o),s=document.createDocumentFragment();s.appendChild(document.createTextNode(pe(l)));const c=Math.round(l/Game.cookiesPs*1e4);if(Number.isFinite(c)&&0!==c){const e=document.createElement("small");e.textContent=` (${c/100}% of income)`,s.appendChild(e)}t.appendChild(In("withTooltip","Reset bonus income",s,"ResetTooltipPlaceholder"));const d=Math.floor(Game.HowMuchPrestige(Game.cookiesReset)),p=Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned)),u=p-d;if(!Game.Has("Lucky digit")){let e=7-p%10;e<0&&(e+=10);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(In("basic",'Next "Lucky Digit" (total / reset)',i))}if(!Game.Has("Lucky number")){let e=777-p%1e3;e<0&&(e+=1e3);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(In("basic",'Next "Lucky Number" (total / reset)',i))}if(!Game.Has("Lucky payout")){let e=777777-p%1e6;e<0&&(e+=1e6);const o=u+e,n=p+e,i=document.createDocumentFragment();i.appendChild(document.createTextNode(`${n.toLocaleString()} / ${o.toLocaleString()} (+${e})`)),t.appendChild(In("basic",'Next "Lucky Payout" (total / reset)',i))}return t}()),Game.cpsSucked>0&&(o.appendChild(Rn("Wrinklers","Wrink")),e.Header.Wrink)){const e=document.createDocumentFragment();e.appendChild(document.createTextNode(`${pe(Gt)} / ${pe(vt)} `));const t=document.createElement("a");t.textContent="Pop All Normal",t.className="option",t.onclick=function(){On()},e.appendChild(t),o.appendChild(In("basic","Rewards of Popping (All/Normal)",e));const n=document.createDocumentFragment();n.appendChild(document.createTextNode(`${pe(wt[0])} `));const i=document.createElement("a");i.textContent="Pop Single Fattest",i.className="option",i.onclick=function(){null!==wt[1]&&(Game.wrinklers[wt[1]].hp=0)},n.appendChild(i),o.appendChild(In("basic",`Rewards of Popping Single Fattest Non-Shiny Wrinkler (id: ${null!==wt[1]?wt[1]:"None"})`,n))}if(o.appendChild(function(){const t=document.createElement("div");t.className="CMStatsSeasonSection";let o=!1;const n=[];Object.keys(zo).forEach((e=>{Game.Has(zo[e])||(n.push(zo[e]),o=!0)}));const i=[];Object.keys(Vo).forEach((e=>{Game.Has(Vo[e])||(i.push(Vo[e]),o=!0)}));const a=[];Object.keys(_o).forEach((e=>{Game.Has(_o[e])||(a.push(_o[e]),o=!0)}));const r=[];Object.keys(Game.eggDrops).forEach((e=>{Game.HasUnlocked(Game.eggDrops[e])||(r.push(Game.eggDrops[e]),o=!0)}));const l=[];Object.keys(Game.rareEggDrops).forEach((e=>{Game.HasUnlocked(Game.rareEggDrops[e])||(l.push(Game.rareEggDrops[e]),o=!0)}));const s=Game.HasUnlocked("Chocolate egg")&&!Game.Has("Chocolate egg"),c=Game.Has("Century egg");if(("christmas"===Game.season||o||s||c)&&(t.appendChild(Rn("Season Specials","Sea")),e.Header.Sea)){if(0!==n.length){t.appendChild(In("basic","Halloween cookies left to buy",zn(n)));let e=.95;if(Game.HasAchiev("Spooky cookies")&&(e=.8),Game.Has("Starterror")&&(e*=.9),e*=1/Game.dropRateMult(),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=n.length/7;t.appendChild(In("basic","Chance of receiving a cookie from wrinkler/shiny wrinkler",document.createTextNode(`${pe((1-e)*o*100)}% / ${pe((1-.9*e)*o*100)}%`)))}if(0!==i.length){t.appendChild(In("basic","Christmas cookies left to buy",zn(i)));let e=.8;if(Game.HasAchiev("Let it snow")&&(e=.6),e*=1/Game.dropRateMult(),Game.Has("Starsnow")&&(e*=.95),Game.hasGod){const t=Game.hasGod("seasons");1===t?e*=.9:2===t?e*=.95:3===t&&(e*=.97)}const o=i.length/7;t.appendChild(In("basic","Chance of receiving a cookie from reindeer",document.createTextNode(`${pe((1-e)*o*100)}%`)))}0!==a.length&&t.appendChild(In("basic","Valentine cookies left to buy",zn(a)));const e=function(e){let t=e*(1/Game.dropRateMult());if(Game.HasAchiev("Hide & seek champion")&&(t*=.7),Game.Has("Omelette")&&(t*=.9),Game.Has("Starspawn")&&(t*=.9),Game.hasGod){const e=Game.hasGod("seasons");1===e?t*=.9:2===e?t*=.95:3===e&&(t*=.97)}const o=1-t,n=Game.eggDrops.length-r.length,i=Game.rareEggDrops.length-l.length,a=.9*o*(1-n/Game.eggDrops.length),s=.1*o*(1-i/Game.rareEggDrops.length),c=.9*o*(n/Game.eggDrops.length)+.1*o*(i/Game.rareEggDrops.length);return[a+.9*c*(1-n/Game.eggDrops.length),s+.1*c*(1-i/Game.rareEggDrops.length)]};0!==r.length&&(t.appendChild(In("basic","Normal easter eggs left to unlock",zn(r))),t.appendChild(In("basic","Chance of receiving an egg from wrinkler/golden cookie",document.createTextNode(`${pe(100*e(.98)[0])}% / ${pe(100*e(.9)[0])}%`)))),0!==l.length&&(t.appendChild(In("basic","Rare easter eggs left to unlock",zn(l))),t.appendChild(In("basic","Chance of receiving a rare egg from wrinkler/golden cookie",document.createTextNode(`${pe(100*e(.98)[1])}% / ${pe(100*e(.9)[1])}%`)))),"christmas"===Game.season&&t.appendChild(In("basic","Reindeer reward",document.createTextNode(pe(ft)))),s&&t.appendChild(In("withTooltip","Chocolate egg cookies",document.createTextNode(pe(Ct)),"ChoEggTooltipPlaceholder")),c&&t.appendChild(In("basic","Century egg multiplier",document.createTextNode(Math.round(1e4*(gt-1))/100+"%")))}return t}()),o.appendChild(Rn("Miscellaneous","Misc")),e.Header.Misc){if(o.appendChild(In("basic",`Average cookies per second (past ${J[e.AvgCPSHist]<60?`${J[e.AvgCPSHist]} seconds`:J[e.AvgCPSHist]/60+(3===e.AvgCPSHist?" minute":" minutes")})`,document.createTextNode(pe(uo(),3)))),o.appendChild(In("basic",`Average cookie clicks per second (past ${Z[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(pe(St,1)))),o.appendChild(In("basic",`Cookies from clicking (past ${Z[e.AvgClicksHist]}${0===e.AvgClicksHist?" second":" seconds"})`,document.createTextNode(pe(he.calcSum(St*Z[e.AvgClicksHist]))))),Game.Has("Fortune cookies")){const e=[];Object.keys(Io).forEach((t=>{Game.Has(Io[t])||e.push(Io[t])})),0!==e.length&&o.appendChild(In("basic","Fortune Upgrades Left to Buy",zn(e)))}if(e.ShowMissedGC&&o.appendChild(In("basic","Missed golden cookies",document.createTextNode(pe(Game.missedGoldenClicks)))),Game.prefs.autosave){const e=document.createElement("span");e.id="CMStatsAutosaveTimer",e.innerText=Game.sayTime(60*Game.fps-(Game.OnAscend?0:Game.T%(60*Game.fps)),4),o.appendChild(In("basic","Time till autosave",e))}}l("menu").insertBefore(o,l("menu").childNodes[2]),e.MissingUpgrades&&l("menu").childNodes.forEach((e=>{if(e.children[0])if("Prestige"===e.children[0].innerHTML&&Bt){const t=Bt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesPrestigeTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Prestige upgrades: ${t}/${Game.PrestigeUpgrades.length} (${Math.floor(t/Game.PrestigeUpgrades.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Bt,e.appendChild(i)}else if("Upgrades"===e.children[0].innerHTML){if(Pt){const t=Pt.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing normal upgrades: ${t}/${Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length} (${Math.floor(t/(Game.UpgradesByPool[""].length+Game.UpgradesByPool.tech.length)*100)}%)`,o.appendChild(n),e.insertBefore(o,e.childNodes[3]);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Pt,e.insertBefore(i,document.getElementById("CMMissingUpgradesTitle").nextSibling)}if(Et){const t=Et.match(new RegExp("div","g")||0).length/2,o=document.createElement("div");o.id="CMMissingUpgradesCookiesTitle",o.className="listing";const n=document.createElement("div");n.innerHTML=`Missing Cookie upgrades: ${t}/${Game.UpgradesByPool.cookie.length} (${Math.floor(t/Game.UpgradesByPool.cookie.length*100)}%)`,o.appendChild(n),e.appendChild(o);const i=document.createElement("div");i.className="listing crateBox",i.innerHTML=Et,e.appendChild(i)}}})),e.MissingAchievements&&function(){let t;Object.values(document.querySelectorAll("div.title")).forEach((e=>{e.textContent.includes("Achievements")&&(t=e.parentElement.querySelectorAll("div.listing.crateBox")[0])})),e.MissingAchievements&&Object.values(t.children).forEach((e=>{if(!e.className.includes("enabled")){const t=e.onclick.toString().match(/(?<=\[).*(?=\])/g)[0],{icon:o}=Game.AchievementsById[t];e.style.backgroundPosition=`${48*-o[0]}px ${48*-o[1]}px`,e.onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return function(e){const t=[];"shadow"===e.pool?t.push("Shadow Achievement","#9700cf"):t.push("Achievement",0),t.push("Locked",0);let o=0;(Game.Has("Neuromancy")||Game.sesame&&"debug"===e.pool)&&(o=1),o&&0===e.won?t.push("Click to win!","#00c462"):o&&e.won>0&&t.push("Click to lose!","#00c462");let{icon:n}=e;e.iconFunction&&(n=e.iconFunction());let{desc:i}=e;e.descFunc&&(i=e.descFunc("stats"));let a="";for(let e=0;e[${t[e]}]`);return a=a.substring(1),`
\n
\n
${e.name}
\n ${a}
${i}
\n ${Game.sesame?`
Id : ${e.id} | Order : ${Math.floor(e.order)}${e.tier?` | Tier : ${e.tier}`:""}
`:""}`}(Game.AchievementsById[t])}),"top"),Game.tooltip.wobble())}}}))}()}const _n={Favourite:"Favourite Settings",Calculation:"Calculation",Notation:"Notation",Colours:"Colours and colour coding",BarsDisplay:"Infobars and visual settings",Tooltip:"Tooltips",Statistics:"Statistics",Notification:"Notifications",Miscellaneous:"Miscellaneous"},Qn={NotificationGeneral:"General Notifications",NotificationGC:"Golden Cookie",NotificationFC:"Fortune Cookie",NotificationSea:"Season Special",NotificationGard:"Garden Tick",NotificationMagi:"Full Magic Bar",NotificationWrink:"Wrinkler",NotificationWrinkMax:"Maximum Wrinklers"};function Xn(t,o){const n=document.createElement("div");n.className="title",n.style.opacity="0.7",n.style.fontSize="17px",n.appendChild(document.createTextNode(`${o} `));const i=document.createElement("span");return i.style.cursor="pointer",i.style.display="inline-block",i.style.height="14px",i.style.width="14px",i.style.borderRadius="7px",i.style.textAlign="center",i.style.backgroundColor="#C0C0C0",i.style.color="black",i.style.fontSize="13px",i.style.verticalAlign="middle",i.textContent=e.Header[t]?"-":"+",i.onclick=function(){$n(t),Game.UpdateMenu()},n.appendChild(i),n}function qn(t){const o=document.createElement("div");if(o.className="listing",1===e.FavouriteSettings&&o.appendChild(function(e){const t=document.createElement("a");return de.includes(e)?(t.innerText="★",t.style.color="yellow"):t.innerText="☆",t.className="option",t.onclick=function(){!function(e){de.includes(e)?de=de.filter((function(t){return t!==e})):de.push(e)}(e),En(),Game.UpdateMenu()},t.onmouseover=function(){Game.tooltip.draw(this,escape(I.FavouriteSettingPlaceholder.innerHTML))},t.onmouseout=function(){Game.tooltip.hide()},t.appendChild(document.createTextNode(" ")),t}(t)),"bool"===bn[t].type){const n=document.createElement("a");bn[t].toggle&&0===e[t]?n.className="option off":n.className="option",n.id=Hn+t,n.onclick=function(){!function(t){e[t]+=1,e[t]===bn[t].label.length?(e[t]=0,bn[t].toggle&&(l(Hn+t).className="option off")):l(Hn+t).className="option",void 0!==bn[t].func&&bn[t].func(),l(Hn+t).innerHTML=bn[t].label[e[t]],En()}(t)},n.textContent=bn[t].label[e[t]],o.appendChild(n);const i=document.createElement("label");return i.textContent=bn[t].desc,i.style.lineHeight="1.6",o.appendChild(i),o}if("vol"===bn[t].type){const n=document.createElement("div");n.className="sliderBox";const i=document.createElement("div");i.style.float="left",i.innerHTML=bn[t].desc,n.appendChild(i);const a=document.createElement("div");a.id=`slider${t}right`,a.style.float="right",a.innerHTML=`${e[t]}%`,n.appendChild(a);const r=document.createElement("input");r.className="slider",r.id=`slider${t}`,r.style.clear="both",r.type="range",r.min="0",r.max="100",r.step="1",r.value=e[t],r.oninput=function(){Un(t)},r.onchange=function(){Un(t)},n.appendChild(r),o.appendChild(n);const l=document.createElement("a");return l.className="option",l.onclick=function(){Tn(e[t.replace("Volume","SoundURL")],t.replace("Volume","Sound"),t,!0)},l.textContent="Test sound",o.appendChild(l),o}if("url"===bn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${bn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=Hn+t,i.className="option",i.type="text",i.readOnly=!0,i.setAttribute("value",e[t]),i.style.width="300px",o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("input");a.id=`${Hn+t}Prompt`,a.className="option",a.type="text",a.setAttribute("value",e[t]);const r=document.createElement("a");r.className="option",r.onclick=function(){!function(e,t){Game.promptWrapL.className="framed";const o=e;Game.promptL.innerHTML=`${o}
`,Object.keys(t).forEach((e=>{const o=document.createElement("a");o.id=`promptOption${e}`,o.className="option",o.onclick=function(){PlaySound("snd/tick.mp3"),t[e][1]()},o.textContent=t[e][0],Game.promptL.children[1].appendChild(o)})),Game.promptAnchorL.style.display="block",Game.darkenL.style.display="block",Game.promptL.focus(),Game.promptOn=1,Game.UpdatePrompt()}(a.outerHTML,[["Save",function(){e[t]=l(`CMConfig${t}Prompt`).value,En(),Game.ClosePrompt(),Game.UpdateMenu()}],["Cancel",function(){Game.ClosePrompt()}]])},r.textContent="Edit",o.appendChild(r);const s=document.createElement("label");return s.textContent=bn[t].desc,s.style.lineHeight="1.6",o.appendChild(s),o}if("colour"===bn[t].type){const n=document.createElement("span");n.className="option";const i=document.createElement("input");i.id=t,i.style.width="65px",i.setAttribute("value",e[t]),n.appendChild(i),new jn(i,{hash:!0,position:"right",onInput:function(){e[this.targetElement.id]=this.toHEXString(),Bn(),En(),Game.UpdateMenu()}});const a=document.createElement("label");if(a.textContent=bn[t].desc,a.style.lineHeight="1.6",n.appendChild(a),t.includes("Flash")){const e=document.createElement("a");e.className="option",e.onclick=function(){Mn(3,t.replace("Colour",""),!0)},e.textContent="Test flash",n.appendChild(e)}return o.appendChild(n),Dn().init(),o}if("numscale"===bn[t].type){const n=document.createElement("span");n.className="option",n.textContent=`${bn[t].label} `,n.style.lineHeight="1.6",o.appendChild(n);const i=document.createElement("input");i.id=Hn+t,i.className="option",i.type="number",i.value=e[t],i.min=bn[t].min,i.max=bn[t].max,i.oninput=function(){e[t]=this.value,En(),un()},o.appendChild(i),o.appendChild(document.createTextNode(" "));const a=document.createElement("label");return a.textContent=bn[t].desc,a.style.lineHeight="1.6",o.appendChild(a),o}return o}function Yn(t){if(1===e.TimerBar&&0===e.TimerBarPos){const e=parseInt(l("CMTimerBar").style.height,10);Game.mouseY-=e,t(),Game.mouseY+=e}else t()}function Kn(){S.Beautify=Beautify,Beautify=pe,S.CalculateGains=Game.CalculateGains,Game.CalculateGains=function(){S.CalculateGains(),_e=1,P=Date.now(),B=Date.now()},S.tooltip={},S.tooltip.draw=Game.tooltip.draw,S.tooltip.drawMod=new Function(`return ${Game.tooltip.draw.toString().split("this").join("Game.tooltip")}`)(),Game.tooltip.draw=function(e,t,o){S.tooltip.drawMod(e,t,o)},S.tooltip.update=Game.tooltip.update,S.tooltip.updateMod=new Function(`return ${Game.tooltip.update.toString().split("this.").join("Game.tooltip.")}`)(),Game.tooltip.update=function(){S.tooltip.updateMod(),function(){if("store"===Game.tooltip.origin){let t=0;1===e.ToolWarnLucky&&1===e.ToolWarnPos&&null!==l("CMDispTooltipWarningParent")&&(t=l("CMDispTooltipWarningParent").clientHeight-4),Game.tooltip.tta.style.top=`${Math.min(parseInt(Game.tooltip.tta.style.top,10),l("game").clientHeight+l("topBar").clientHeight-Game.tooltip.tt.clientHeight-t-46)}px`}}()},S.UpdateWrinklers=Game.UpdateWrinklers,Game.UpdateWrinklers=function(){Yn(S.UpdateWrinklers)},S.UpdateSpecial=Game.UpdateSpecial,Game.UpdateSpecial=function(){Yn(S.UpdateSpecial)},l("bigCookie").removeEventListener("click",Game.ClickCookie,!1),l("bigCookie").addEventListener("click",(function(){Yn(Game.ClickCookie)}),!1),S.RebuildUpgrades=Game.RebuildUpgrades,Game.RebuildUpgrades=function(){S.RebuildUpgrades(),T=[],Object.keys(Game.UpgradesInStore).forEach((e=>{null!==l(`upgrade${e}`).onmouseover&&(T[e]=l(`upgrade${e}`).onmouseover,l(`upgrade${e}`).onmouseover=function(){Game.mouseDown||(Game.setOnCrate(this),Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("u",`${e}`)}),"store"),Game.tooltip.wobble())})})),Game.CalculateGains()},S.ClickProduct=Game.ClickProduct,Game.ClickProduct=function(t){(!e.BulkBuyBlock||Game.ObjectsById[t].bulkPrice-1;--e)if(Game.ObjectsById[e].amount>0){const o=Zt[Game.ObjectsById[e].name].name;Zt[o].amount-=1,Le-=1,t=Zt[o].basePrice*Game.priceIncrease**Math.max(0,Zt[o].amount-1-Zt[o].free),t=Game.modifyBuildingPrice(Zt[o],t),t=Math.ceil(t);break}const o=De;return Ro(),qo(),o!==De&&Ro(),[Xe-Game.cookiesPs,t]}(t),n=ue(o/(e+Game.cookiesPs)),i=pe(e/Game.cookiesPs*100);l("dragonAuraInfo").style.minHeight="60px",l("dragonAuraInfo").style.margin="8px",l("dragonAuraInfo").appendChild(document.createElement("div")).className="line";const a=document.createElement("div");a.style.minWidth="200px",a.style.textAlign="center",a.textContent=`Picking this aura will change CPS by ${pe(e)} (${i}% of current CPS).`,l("dragonAuraInfo").appendChild(a);const r=document.createElement("div");r.style.minWidth="200px",r.style.textAlign="center",r.textContent=`It will take ${n} to recover the cost.`,l("dragonAuraInfo").appendChild(r)}}(t)},S.ToggleSpecialMenu=Game.ToggleSpecialMenu,Game.ToggleSpecialMenu=function(e){S.ToggleSpecialMenu(e),function(){if(null!==(l("specialPopup").className.match(/onScreen/)&&l("specialPopup").children[0].style.background.match(/dragon/)))for(let e=0;e${Ze}`,"this"),Game.tooltip.wobble()},l("specialPopup").children[e].onmouseout=function(){Game.tooltip.shouldHide=1})}()},S.UpdateMenu=Game.UpdateMenu,Game.UpdateMenu=function(){void 0!==Dn().picker&&void 0!==Dn().picker.owner||(S.UpdateMenu(),function(){const t=document.createElement("div");t.className="title","prefs"===Game.onMenu?(t.textContent="Cookie Monster Settings",function(t){const o=document.createDocumentFragment();o.appendChild(t),Object.keys(_n).forEach((t=>{if("Favourite"===t){if(0!==de.length&&e.FavouriteSettings>0&&(o.appendChild(Xn(t,_n[t])),e.Header[t]))for(let e=0;e{const n=Xn(t,Qn[t]);n.style.fontSize="15px",n.style.opacity="0.5",o.appendChild(n),e.Header[t]&&Object.keys(bn).forEach((e=>{bn[e].group===t&&o.appendChild(qn(e))}))})):Object.keys(bn).forEach((e=>{bn[e].group===t&&o.appendChild(qn(e))})))}));const n=document.createElement("div");n.className="listing";const i=document.createElement("a");i.className="option",i.onclick=function(){Nn(cn)},i.textContent="Restore Default",n.appendChild(i),o.appendChild(n),l("menu").childNodes[2].insertBefore(o,l("menu").childNodes[2].childNodes[l("menu").childNodes[2].childNodes.length-1])}(t)):"stats"===Game.onMenu?e.Stats&&(t.textContent="Cookie Monster Statistics",Vn(t)):"log"===Game.onMenu&&(t.textContent="Cookie Monster ",function(t){const o=document.createElement("div");o.className="subsection";const n=document.createElement("span");if(n.style.cursor="pointer",n.style.display="inline-block",n.style.height="14px",n.style.width="14px",n.style.borderRadius="7px",n.style.textAlign="center",n.style.backgroundColor="#C0C0C0",n.style.color="black",n.style.fontSize="13px",n.style.verticalAlign="middle",n.textContent=e.Header.InfoTab?"-":"+",n.onclick=function(){$n("InfoTab"),Game.UpdateMenu()},t.appendChild(n),o.appendChild(t),e.Header.InfoTab){const e=document.createElement("div");e.innerHTML='
\n Cookie Monster\n offers a wide range of tools and statistics to enhance your game experience.\n It is not a cheat interface – although it does offer helpers for golden cookies and such, everything can be toggled off at will to only leave how much information you want.
\n Progess on new updates and all previous release notes can be found on the GitHub page linked above!
\n Please also report any bugs you may find over there!
\n
\n ',o.appendChild(e);const t=document.createElement("div");t.innerHTML='
\nThe latest update (v 2.031.6) has revamped the way PP is colourcoded. In the previous versions this was not always correct and we had some settings that made it even more incorrect. With this update Cookie Monster compares the PP of a building to all other possibilities (also buying 10 or 100) of a building and colors the PP accordingly.
\nThis means that if it is better to buy 10 of a building immediately rather than to buy in increments of 1 Cookie Monster will now show this! In this case the buy 1 option will be yellow, while the buy 10 option will be green.
\nThis also means that you will see some more diverse colors. Rather than coloring according to arbitrary "middle values" Cookie Monster now uses a top 10, 20 and 30. While this might take some getting used to we believe the new system is much better in conveying useful information to the user while also being more correct!
\n
\nThis update also implements the following functions:
\n- Added a tooltip displaying the reward to the extra pop wrinkler buttons
\n- Added tooltips to the Gods in the Pantheon
\n- The tooltip for Elder Pledge now displays correctly, although it takes some time to load after Cookie Monster has been loaded
\n- You can now test the volume and sound of notifications in the settings screen
\n- The bottom bar will now flicker less and each column has received a bit of padding
\n- Introduced new colour scheme for PP, see the explanation of colors in the Readme or the settings
\n- Added option to show buttons that can hide the upgrade and building section
\n- Added option to display PP as a time unit, note that these are only approximations. PP does not translate directly into time (the name is deceptive, we know...)
\n- Statistics page now shows chance for random drops when they have not been achieved
\n- In a later hotfix we have added a Rigidel mode that will colour all buy 1 options grey
\n
\nThis update fixes the following bugs:
\n- Incorrect amount for "required for max plant reward" in statistics page
\n- Fixed the tooltips of the \'?\' buttons in the statistics page not showing
\n- Fixed some unclear settings descriptions
\n
\nPlease submit any bug reports or feature requests to the GitHub page!\n
\n
\n',o.appendChild(t)}const i=l("menu").children[1];i.insertBefore(o,i.children[1])}(t))}())},S.sayTime=Game.sayTime,V=function(e,t){return Number.isNaN(e)||e<=0?S.sayTime(e,t):ue(e/Game.fps,1)},S.Logic=Game.Logic,Game.Logic=function(){S.Logic();let t="Cookie Clicker";"fools"===Game.season&&(t="Cookie Baker"),ce=`${Game.OnAscend?"Ascending! ":""}${pe(Game.cookies)} ${1===Game.cookies?"cookie":"cookies"} - ${t}`,function(){if(Game.OnAscend||0===e.Title)document.title=ce;else if(1===e.Title){let e,t,o,n=!1,i=!1;e=Vt?Vt.wrath?`[W${Math.ceil(Vt.life/Game.fps)}]`:`[G${Math.ceil(Vt.life/Game.fps)}]`:Game.Has("Golden switch [off]")?"[GS]":`[${Number(l("CMTimerBarGCMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.golden.maxTime-Game.shimmerTypes.golden.time)/Game.fps)}]`,f&&(n=!0,t="[F]"),"christmas"===Game.season&&(i=!0,o=g?`[R${Math.ceil(_t.life/Game.fps)}]`:`[${Number(l("CMTimerBarRenMinBar").textContent)<0?"!":""}${Math.ceil((Game.shimmerTypes.reindeer.maxTime-Game.shimmerTypes.reindeer.time)/Game.fps)}]`);let a=ce;"["===a.charAt(0)&&(a=a.substring(a.lastIndexOf("]")+1)),document.title=`${e+(n?t:"")+(i?o:"")} ${a}`}else if(2===e.Title){let e="",t=!1;Vt&&(t=!0,Vt.wrath?e+=`[W${Math.ceil(Vt.life/Game.fps)}]`:e+=`[G${Math.ceil(Vt.life/Game.fps)}]`),f&&(t=!0,e+="[F]"),"christmas"===Game.season&&g&&(e+=`[R${Math.ceil(_t.life/Game.fps)}]`,t=!0),t&&(e+=" - ");let o="Cookie Clicker";"fools"===Game.season&&(o="Cookie Baker"),e+=o,document.title=e}}(),function(){const t=Math.max(0,Game.HowManyCookiesReset(Math.floor(Game.HowMuchPrestige(Game.cookiesReset+Game.cookiesEarned))+1)-(Game.cookiesEarned+Game.cookiesReset)),o=Game.sayTime((Date.now()-Game.startDate)/1e3*Game.fps,-1);let n="";n+=`You've been on this run for ${""===o?"not very long":o}.
`,n+='
',Game.prestige>0&&(n+=`Your prestige level is currently ${pe(Game.prestige)}.
(CpS +${pe(Game.prestige)}%)`,n+='
'),n+=Oe<1?"Ascending now would grant you no prestige.":Oe<2?"Ascending now would grant you
1 prestige level (+1% CpS)
and 1 heavenly chip to spend.":`Ascending now would grant you
${pe(Oe)} prestige levels (+${pe(Oe)}% CpS)
and ${pe(Oe)} heavenly chips to spend.`,n+='
',n+=`You need ${pe(t)} more cookies for the next level.
`,n+=e.TooltipAscendButton?`
It takes ${Qt} to reach the next level and you were making ${pe(ht,2)} chips on average in the last 5 seconds.
`:"",l("ascendTooltip").innerHTML=n}()}}function Jn(){wn(),an(),sn(),r=Object.keys(Game.mods).length,w=document.createElement("style"),w.type="text/css",w.id="CMCSS",document.head.appendChild(w),function(){const e=document.createElement("div");e.id="CMBotBar",e.style.height="69px",e.style.width="100%",e.style.position="absolute",e.style.display="none",e.style.backgroundColour="#262224",e.style.backgroundImage="linear-gradient(to bottom, #4d4548, #000000)",e.style.borderTop="1px solid black",e.style.overflow="auto",e.style.textShadow="-1px 0 black, 0 1px black, 1px 0 black, 0 -1px black";const t=e.appendChild(document.createElement("table"));t.style.width="100%",t.style.textAlign="center",t.style.whiteSpace="nowrap";const o=t.appendChild(document.createElement("tbody")),n=function(e,t){const o=document.createElement("td");return o.style.textAlign="right",o.className=E+t,o.textContent=e,o},i=o.appendChild(document.createElement("tr"));i.style.fontWeight="bold",i.appendChild(n("CM 2.031.6",W)),o.appendChild(document.createElement("tr")).appendChild(n("Bonus Income",O)),o.appendChild(document.createElement("tr")).appendChild(n("Payback Period",O)),o.appendChild(document.createElement("tr")).appendChild(n("Time Left",O)),l("wrapper").appendChild(e),Object.keys(Game.Objects).forEach((e=>{go(e)}))}(),function(){const e=document.createElement("div");e.id="CMTimerBar",e.style.position="absolute",e.style.display="none",e.style.height="0px",e.style.fontSize="10px",e.style.fontWeight="bold",e.style.backgroundColour="black";const t=ho("CMTimerBarGC","Next Cookie",[{id:"CMTimerBarGCMinBar",color:D},{id:"CMTimerBarGCBar",color:j}]);e.appendChild(t);const o=ho("CMTimerBarRen","Next Reindeer",[{id:"CMTimerBarRenMinBar",color:D},{id:"CMTimerBarRenBar",color:L}]);e.appendChild(o);const n=document.createElement("div");n.id="CMTimerBarBuffTimers",e.appendChild(n),l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMUpgradeBar",e.style.width="100%",e.style.backgroundColour="black",e.style.textAlign="center",e.style.fontWeight="bold",e.style.display="none",e.style.zIndex="21",e.onmouseout=function(){Game.tooltip.hide()};const t=document.createElement("div");t.appendChild(function(){const e=document.createElement("div");e.style.minWidth="330px",e.style.marginBottom="4px";const t=document.createElement("div");t.className="name",t.style.marginBottom="4px",t.textContent="Legend",e.appendChild(t);const o=function(e,t){const o=document.createElement("div");o.style.verticalAlign="middle";const n=document.createElement("span");return n.className=N+e,n.style.display="inline-block",n.style.height="10px",n.style.width="10px",n.style.marginRight="4px",o.appendChild(n),o.appendChild(document.createTextNode(t)),o};return e.appendChild(o(O,"Better than the best PP of a building option")),e.appendChild(o(F,"Same as the best PP building option")),e.appendChild(o(W,"Within the top 10 of PP for buildings")),e.appendChild(o(L,"Within the top 20 of PP for buildings")),e.appendChild(o(A,"Within the top 30 of PP for buildings")),e.appendChild(o(j,"Outside of the top 30 of PP for buildings")),e.appendChild(o(D,"Negative or infinity PP")),e}()),e.onmouseover=function(){Game.tooltip.draw(this,escape(t.innerHTML),"store")};const o=function(e,t){const o=document.createElement("span");return o.id=e,o.className=E+t,o.style.width="14.28571428571429%",o.style.display="inline-block",o.textContent="0",o};e.appendChild(o("CMUpgradeBarBlue",O)),e.appendChild(o("CMUpgradeBarGreen",F)),e.appendChild(o("CMUpgradeBarYellow",W)),e.appendChild(o("CMUpgradeBarOrange",L)),e.appendChild(o("CMUpgradeBarRed",A)),e.appendChild(o("CMUpgradeBarPurple",j)),e.appendChild(o("CMUpgradeBarGray",D)),l("upgrades").parentNode.insertBefore(e,l("upgrades").parentNode.childNodes[3])}(),function(){const e=document.createElement("div");e.id="CMFlashScreen",e.style.width="100%",e.style.height="100%",e.style.backgroundColor="white",e.style.display="none",e.style.zIndex="9999999999",e.style.position="absolute",l("wrapper").appendChild(e)}(),function(){const e=document.createElement("div");e.id="CMSectionHidButtons",e.style.textAlign="center";const t=document.createElement("a");t.className="option",t.onclick=function(){"flex"===l("upgrades").style.display?(l("upgrades").style.display="none",l("toggleUpgrades").style.display="none",l("techUpgrades").style.display="none",l("vaultUpgrades").style.display="none"):(l("upgrades").style.display="flex",0!==l("toggleUpgrades").children.length&&(l("toggleUpgrades").style.display="block"),0!==l("techUpgrades").children.length&&(l("techUpgrades").style.display="block"),0!==l("vaultUpgrades").children.length&&(l("vaultUpgrades").style.display="block"))},t.textContent="Hide/Show Upgrades",e.appendChild(t);const o=document.createElement("a");o.className="option",o.onclick=function(){"grid"===l("products").style.display?l("products").style.display="none":l("products").style.display="grid"},o.textContent="Hide/Show Buildings",e.appendChild(o),l("store").insertBefore(e,l("store").childNodes[2])}(),function(){const e=document.createElement("link");e.id="CMFavicon",e.rel="shortcut icon",e.href="https://orteil.dashnet.org/cookieclicker/favicon.ico",document.getElementsByTagName("head")[0].appendChild(e)}(),Object.keys(R).forEach((e=>{!function(e,t,o){const n=document.createElement("div");n.id=e;const i=document.createElement("div");i.style.minWidth=o,i.style.marginBottom="4px";const a=document.createElement("div");a.style.textAlign="left",a.textContent=t,i.appendChild(a),n.appendChild(i),I[e]=n}(R[e][0],R[e][1],R[e][2])})),function(){const e=document.createElement("a");e.id="PopAllNormalWrinklerButton",e.textContent="Pop All Normal",e.className="option",e.onclick=function(){On()},e.onmouseout=function(){Game.tooltip.shouldHide=1},e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("wb","PopAll")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(e);const t=document.createElement("a");t.id="PopFattestWrinklerButton",t.textContent="Pop Single Fattest",t.className="option",t.onclick=function(){null!==wt[1]&&(Game.wrinklers[wt[1]].hp=0)},t.onmouseout=function(){Game.tooltip.shouldHide=1},t.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("wb","PopFattest")}),"this"),Game.tooltip.wobble()},l("sectionLeftExtra").children[0].append(t)}(),l("products").style.display="grid",l("storeBulk").style.gridRow="1/1",l("upgrades").style.display="flex",l("upgrades").style["flex-wrap"]="wrap",Object.keys(Game.Objects).forEach((e=>{const t=Game.Objects[e];null!==l(`product${t.id}`).onmouseover&&(x[e]=l(`product${t.id}`).onmouseover,l(`product${t.id}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("b",`${e}`)}),"store"),Game.tooltip.wobble()})})),Game.canLumps()&&(s=l("lumps").onmouseover,l("lumps").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("s","Lump")}),"this"),Game.tooltip.wobble()}),h=Game.LoadMinigames,Game.LoadMinigames=function(){h(),Game.Objects.Farm.minigameLoaded&&(l("gardenTool-1").onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("ha","HarvestAllButton")}),"this"),Game.tooltip.wobble()},Array.from(l("gardenPlot").children).forEach((e=>{const t=e.id.slice(-3);e.onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("p",[`${t[0]}`,`${t[2]}`])}),"this"),Game.tooltip.wobble()}}))),Wn(),function(){if(Game.Objects.Temple.minigameLoaded){for(let e=0;e<11;e+=1)l(`templeGod${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("pag",e)}),"this"),Game.tooltip.wobble()};for(let e=0;e<3;e+=1)l(`templeSlot${e}`).onmouseover=function(){Game.tooltip.dynamic=1,Game.tooltip.draw(this,(function(){return Fn("pas",[e,Game.Objects.Temple.minigame.slot[e]])}),"this"),Game.tooltip.wobble()}}}(),An()},Game.LoadMinigames(),l("backgroundLeftCanvas").onmouseover=function(){_=1},l("backgroundLeftCanvas").onmouseout=function(){_=0,Game.tooltip.hide(),Object.keys(Game.wrinklers).forEach((e=>{X[e]=0}))},Kn(),An(),Game.CalculateGains(),Nn(),z=Game.OnAscend,Game.prefs.popups?Game.Popup("Cookie Monster version 2.031.6 loaded!"):Game.Notify("Cookie Monster version 2.031.6 loaded!","","",1,1),Game.Win("Third-party")}const Zn={init:function(){xn=!0;let e=!0;Game.version!==Number("2.031")&&(e=confirm("Cookie Monster version 2.031.6 is meant for Game version 2.031. Loading a different version may cause errors. Do you still want to load Cookie Monster?")),e&&(Jn(),Game.registerHook("draw",Oo),Game.registerHook("logic",Pn),Game.registerHook("click",Fo),xn=!1)},load:function(e){const t=JSON.parse(e);wn(),void 0!==t.favouriteSettings&&(de=t.favouriteSettings),Nn(t.settings),"2.031.6"!==t.version&&(Game.prefs.popups?Game.Popup("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!"):Game.Notify("A new version of Cookie Monster has been loaded, check out the release notes in the info tab!","","",0,1))},save:kn};Game.registerMod("CookieMonster",Zn)})()})(); diff --git a/dist/CookieMonster.js.map b/dist/CookieMonster.js.map index e5144d2..650a96e 100644 --- a/dist/CookieMonster.js.map +++ b/dist/CookieMonster.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack://cookiemonster-mod/CookieMonster.js"],"names":["__webpack_modules__","877","module","global","factory","exports","document","win","Error","window","this","BoxShadow","funcName","elm","jsc","jscolor","initialized","instances","readyQueue","register","addEventListener","pub","init","installBySelector","selector","rootNode","node","elms","querySelectorAll","matchClass","RegExp","lookupClass","i","length","dataOpts","m","undefined","type","toLowerCase","isColorAttrSupported","getDataAttr","className","match","targetElm","optsStr","console","warn","docsRef","opts","trim","parseOptionsStr","e","str","JSON","parse","eParse","looseJSON","Function","eEval","getInstances","inst","targetElement","push","createEl","tagName","el","createElement","setData","nodeOrSelector","sel","querySelector","isNode","val","Node","nodeType","nodeName","removeChildren","firstChild","removeChild","isTextInput","isButton","n","indexOf","isButtonEmpty","value","textContent","isPassiveEventSupported","supported","Object","defineProperty","get","removeEventListener","setAttribute","dataProp","obj","arguments","data","hasOwnProperty","prop","map","removeData","getData","setDefault","name","attrName","getAttribute","setDataAttr","_attachedGroupEvents","attachGroupEvent","groupName","evnt","func","detachGroupEvents","evt","preventDefault","returnValue","captureTarget","target","setCapture","_capturedTarget","releaseTarget","releaseCapture","triggerEvent","eventName","bubbles","cancelable","ev","Event","createEvent","initEvent","dispatchEvent","triggerInputEvent","eventKey","keys","9","13","27","code","keyCode","strList","replace","split","hasClass","classList","contains","addClass","classNames","add","removeClass","repl","remove","getCompStyle","getComputedStyle","currentStyle","setStyle","styles","important","reversible","priority","origStyle","setVal","style","setProperty","hexColor","r","g","b","Math","round","toString","substr","toUpperCase","hexaColor","a","rgbColor","rgbaColor","linearGradient","stdName","prefixes","helper","tryFunc","tryVal","background","getFuncName","Array","prototype","join","call","setBorderRadius","border-radius","setBoxShadow","box-shadow","getElementPos","relativeToViewport","x","y","rect","getBoundingClientRect","left","top","viewPos","getViewPos","getElementSize","offsetWidth","offsetHeight","getAbsPointerPos","changedTouches","clientX","clientY","getRelPointerPos","targetRect","srcElement","doc","documentElement","pageXOffset","scrollLeft","clientLeft","pageYOffset","scrollTop","clientTop","getViewSize","innerWidth","clientWidth","innerHeight","clientHeight","RGB_HSV","min","v","max","h","HSV_RGB","s","u","floor","parseColorString","ret","rgba","format","parseInt","charAt","mR","mG","mB","mA","par","re","parseFloat","parsePaletteValue","mixed","vals","isArray","colors","color","containsTranparentColor","isAlphaFormat","scaleCanvasForHighDPR","canvas","dpr","devicePixelRatio","width","height","getContext","scale","genColorPreviewCanvas","separatorPos","specWidth","scaleForHighDPR","sepW","previewSeparator","sqSize","chessboardSize","sqColor1","chessboardColor1","sqColor2","chessboardColor2","cWidth","cHeight","ctx","fillStyle","fillRect","start","clearRect","lineWidth","beginPath","strokeStyle","moveTo","lineTo","stroke","genColorPreviewGradient","position","params","right","apply","redrawPosition","picker","owner","tp","vp","thisObj","fixed","c","ts","vs","pd","getPickerDims","ps","borderW","borderH","l","smartPosition","pp","positionValue","contractShadow","_drawPosition","vShadow","shadowBlur","wrap","boxS","shadow","shadowColor","w","controlBorderWidth","sliderSpace","getControlPadding","sliderSize","getSliderChannel","hasAlphaChannel","pal","getPaletteDims","padding","closeButton","buttonHeight","pW","pH","contentW","contentH","paddedW","paddedH","borderWidth","palette","cols","rows","cellW","cellH","sampleCount","_palette","paletteCols","ceil","paletteSpacing","paletteHeight","pointerBorderWidth","pointerThickness","getPadYChannel","mode","triggerCallback","callback","error","triggerGlobal","eventNames","trigger","_pointerMoveEvent","mouse","touch","_pointerEndEvent","_pointerOrigin","onDocumentKeyUp","tryHide","onWindowResize","onWindowScroll","onParentScroll","onDocumentMouseDown","showOnClick","disabled","show","onControlPointerStart","onPickerTouchStart","controlName","pointerType","registerDragEvents","offset","onDocumentPointerMove","onDocumentPointerEnd","parent","frameElement","ofs","abs","rel","channels","fromHSVA","setPad","setSld","setASld","onPaletteSampleClick","currentTarget","_setFormat","getFormat","paletteSetsAlpha","_paletteHasTransparency","fromRGBA","hideOnPaletteClick","hide","ofsX","ofsY","pointerAbs","xVal","yVal","fmt","createPadCanvas","draw","hGrad","createLinearGradient","addColorStop","vGrad","createSliderGradient","color1","color2","grad","createASliderGradient","hShadow","blur","spread","inset","flags","leaveValue","leaveAlpha","leavePreview","enumOpts","previewPosition","alphaChannel","deprecatedOpts","styleElement","onFineChange","overwriteImportant","closable","insetWidth","insetColor","refine","THIS","setOption","option","oldOpt","newOpt","setter","getOption","getter","drawPicker","_processParentElementsInDOM","box","boxB","pad","padB","padM","padCanvas","cross","crossBY","crossBX","crossLY","crossLX","sld","sldB","sldM","sldGrad","sldPtrS","sldPtrIB","sldPtrMB","sldPtrOB","asld","asldB","asldM","asldGrad","asldPtrS","asldPtrIB","asldPtrMB","asldPtrOB","btn","btnT","appendChild","passive","insetColors","outsetColor","p","displaySlider","displayAlphaSlider","pickerDims","crossOuterSize","crossSize","controlPadding","borderRadius","PI","clear","zIndex","border","borderColor","backgroundColor","opacity","controlBorderColor","cursor","instance","control","pointerBorderColor","pointerColor","overflow","display","sliderInnerSpace","innerHTML","chessboard","si","sampleColor","sampleCssColor","sc","sw","backgroundImage","toDataURL","backgroundRepeat","backgroundPosition","bottom","maxWidth","whiteSpace","buttonColor","font","textAlign","onmousedown","lineHeight","createTextNode","closeText","redrawPad","redrawSld","redrawASld","activeClassName","container","body","parentNode","yChannel","rgb1","rgb2","rgb","toHEXString","sldChannel","isPickerOwner","alpha","onChange","onInput","valueElement","alphaElement","previewElement","previewSize","previewPadding","required","hash","uppercase","forceStyle","hideOnLeave","minS","maxS","minV","maxV","minA","maxA","redraw","exposeColor","success","opt","channel","res","evs","callbackProp","isNaN","hsv","fromHSV","fromRGB","fromString","setPreviewElementBg","setValueElementValue","toHEXAString","toRGBString","toRGBAString","toGrayscale","toCanvas","toBackground","isLight","_currentFormat","processValueInput","processAlphaInput","colorStr","alphaVal","setAlphaElementValue","backgrounds","image","size","repeat","origin","preview","bg","sty","background-image","background-position","background-size","background-repeat","background-origin","padding-left","padding-right","_parentElementsProcessed","compStyle","set__palette","options","presetsArr","preset","slice","pres","presets","nonProperties","test","min-width","valueElementOrigEvents","oninput","oldVal","initValue","initAlpha","install","shift","ready","triggerNow","installByClassName","JSColor","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__esModule","d","definition","key","o","enumerable","CMOptions","ToggleWrinklerButtons","WrinklerButtons","Game","elderWrath","metric","shortScale","shortScaleAbbreviated","LastModCount","TooltipLumpBackup","BackupGrimoireLaunch","BackupGrimoireLaunchMod","BackupGrimoireDraw","HasReplaceNativeGrimoireLaunch","HasReplaceNativeGrimoireDraw","LoadMinigames","LastSeasonPopupState","LastTickerFortuneState","LastGardenNextStep","LastGoldenCookieState","LastSpawnedGoldenCookieState","LastMagicBarFull","CurrSpawnedGoldenCookieState","LastWrinklerCount","CycliusDateAtBeginLoop","CenturyDateAtBeginLoop","DispCSS","TooltipBuildBackup","TooltipGrimoireBackup","TooltipUpgradeBackup","BackupFunctions","ColourTextPre","ColourBackPre","ColourBlue","ColourGreen","ColourYellow","ColourOrange","ColourRed","ColourPurple","ColourGray","ColourPink","ColourBrown","ColoursOrdering","TooltipText","SimpleTooltipElements","CMLastAscendState","CMSayTime","TooltipWrinklerArea","TooltipWrinkler","TooltipWrinklerBeingShown","LastTargetBotBar","LastTargetBuildings","LastTargetTooltipBuilding","CookieTimes","ClickTimes","BuffColours","Frenzy","Dragon Harvest","Elder frenzy","Clot","Click frenzy","Dragonflight","TooltipPrice","TooltipBonusIncome","TooltipType","TooltipName","TooltipBonusMouse","LastAscendState","LastNumberOfTimers","GCTimers","Title","FavouriteSettings","BeautifyFormatting_Beautify","num","floats","forced","decimals","ScaleDecimals","Infinity","Scale","Beautify","Number","isFinite","answer","ScaleCutoff","ScaleSeparator","toLocaleString","toExponential","exponential","AmountOfTenPowerThree","toFixed","log","FormatTime","time","longFormat","formattedTime","TimeFormat","GetTimeColour","text","CacheAverageCookiesFromClicks","CookiesDiff","WrinkDiff","WrinkFattestDiff","ChoEggDiff","ClicksDiff","HeavenlyChipsDiff","CacheLastCPSCheck","CacheLastCookies","CacheLastWrinkCookies","CacheLastWrinkFattestCookies","CacheLastClicks","CacheAverageGainBank","CacheAverageGainWrink","CacheAverageGainWrinkFattest","CacheAverageGainChoEgg","CacheAverageCPS","CacheLastHeavenlyCheck","CacheLastHeavenlyChips","CacheDoRemakeBuildPrices","CacheHadBuildAura","SimBuildingsOwned","SimUpgradesOwned","SimPledges","SimAchievementsOwned","SimHeavenlyPower","SimPrestige","SimDragonAura","SimDragonAura2","SimGod1","SimGod2","SimGod3","SimDoSims","SimEffs","SimCookiesPs","SimCookiesPsRaw","CacheDragonAura","CacheDragonAura2","CacheLastDragonLevel","CacheCostDragonUpgrade","CacheLucky","CacheLuckyReward","CacheLuckyWrathReward","CacheLuckyFrenzy","CacheLuckyRewardFrenzy","CacheLuckyWrathRewardFrenzy","CacheConjure","CacheConjureReward","CacheEdifice","CacheEdificeBuilding","CacheNoGoldSwitchCookiesPS","CacheDragonsFortuneMultAdjustment","CacheGoldenCookiesMult","CacheWrathCookiesMult","CacheHCPerSecond","CacheCentEgg","CacheSeaSpec","CacheLastChoEgg","CacheObjects1","CacheObjects10","CacheObjects100","CacheWrinklersTotal","CacheWrinklersNormal","CacheWrinklersFattest","CacheCurrWrinklerCPSMult","CacheCurrWrinklerCount","CacheUpgrades","CacheAverageClicks","CacheMissingUpgrades","CacheMissingUpgradesPrestige","CacheMissingUpgradesCookies","CacheChainRequired","CacheChainRequiredNext","CacheChainMaxReward","CacheChainWrathRequired","CacheChainWrathRequiredNext","CacheChainWrathMaxReward","CacheChainFrenzyRequired","CacheChainFrenzyRequiredNext","CacheChainFrenzyMaxReward","CacheChainFrenzyWrathRequired","CacheChainFrenzyWrathRequiredNext","CacheChainFrenzyWrathMaxReward","CacheRealCookiesEarned","CacheAvgCPSWithChoEgg","CacheSpawnedGoldenShimmer","CacheSeasonPopShimmer","CacheTimeTillNextPrestige","CacheMinPP","CachePPArray","CacheGoldenShimmersByID","CacheSellForChoEgg","CacheGods","0","1","2","3","4","5","6","7","8","10","SimObjects","SimUpgrades","SimAchievements","SimAuraMult","what","dragonAuras","SimGetSellMultiplier","giveBack","SimEff","def","SimHas","it","ascensionMode","pool","tier","bought","SimHasGod","hasGod","Temple","minigame","Objects","god","gods","id","SimModifyBuildingPrice","building","price","ModifiedPrice","hasBuff","fortune","minigameLoaded","godLvl","BuildingSell","build","basePrice","free","amount","noSim","noSimRes","toChange","startingAmount","moni","buyBulk","priceIncrease","modifyBuildingPrice","getSellMultiplier","UpdateBuildings","buyMode","BuildColour","forEach","removeProperty","SortBuildings","arr","k","sort","gridRow","UpdateUpgrades","UpBarColour","blue","green","yellow","orange","red","purple","gray","UpgradesInStore","me","addedColour","j","childNodes","div","SortUpgrades","nameChecker","arr2","upgrade","findIndex","order","GetCPS","CPSMode","CalcWrink","cookiesPs","cpsSucked","wrinklers","GetWrinkConfigBank","CreateTimer","bars","timerBar","margin","fontSize","marginRight","verticalAlign","colorBar","borderTopRightRadius","borderBottomRightRadius","timer","marginLeft","CreateBotBarBuildingColumn","buildingName","bonus","header","substring","lastChild","paddingLeft","UpdateBotBar","BotBar","count","PPString","PPDisplayTime","timeColour","bulkPrice","cookies","UpdateBackground","Background","LeftBackground","UpdateBotTimerBarPosition","TimerBar","TimerBarPos","ToggleTimerBar","CacheDragonAuras","dragonAura","dragonAura2","InitAchievement","achievementName","Achievements","you","SimGetTieredCpsMult","mult","tieredUpgrades","Tiers","special","synergies","syn","buildingTie1","buildingTie2","grandma","Grandma","misfortune","vanilla","InitialBuildingData","cps","magicCpS","ComputeCps","GrandmaSynergies","UpgradesByPool","kitten","Portal","baseCps","baseCPS","InitUpgrade","upgradeName","Upgrades","power","level","pow","CopyData","UpgradesOwned","pledges","AchievementsOwned","heavenlyPower","prestige","totalCookies","slot","won","TooltipCreateHeader","fontWeight","TooltipCreateCalculationSection","tooltip","income","marginBottom","click","production","CalculateGrimoireRefillTime","currentMagic","maxMagic","targetMagic","magic","fps","GetCPSBuffMult","buffs","multCpS","ToggleToolWarnPos","ToolWarnPos","UpdateTooltips","tooltipBox","paddingBottom","TooltipCreateTooltipBox","TooltipBuildUpgrade","increase","productionAchievs","HasAchiev","achiev","nextProductionAchiev","Building","getPrice","bonusMouse","previousSibling","chocolate","Upgrade","TooltipLump","lumpType","lumpColour","lumpCurrentType","SugarLump","spellCost","getSpellCost","spellsById","TooltipGrim","magicM","recover","recoverColour","conjure","reward","seperator","loss","Grimoire","Farm","TooltipPlots","plot","mature","plantsById","plantName","GardenPlots","totalGain","mortal","tile","immortal","matureBase","HarvestAll","WrinklerReward","WrinklerButton","TooltipPantheon","GodID","cps1","cps2","cps3","PantheonGods","getElementById","TooltipWarn","create","boxId","labelTextFront","labelTextBack","deficitId","transition","labelDiv","labelSpan","deficitDiv","deficitSpan","ToolWarnUser","TooltipCreateWarningSection","bonusIncomeUsed","ToolWarnBon","limitLucky","bonusNoFren","ToolWarnLucky","ToolWarnLuckyFrenzy","limitLuckyFrenzy","ToolWarnConjure","limitConjure","ToolWarnConjureFrenzy","limitConjureFrenzy","ToolWarnEdifice","children","Warnings","CMDrawHook","prefs","autosave","drawT","onMenu","Stats","innerText","sayTime","T","maxWidthTwoBar","maxWidthOneBar","numberOfTimers","shimmerTypes","golden","spawned","Has","minTime","maxTime","TimerBarOverlay","season","reindeer","BuffTimerBars","classColour","UpdateTimerBar","TooltipWrink","showingTooltip","phase","selected","placeholder","wrinkler","minWidth","escape","CheckWrinklerTooltip","sucked","toSuck","UpdateWrinklerTooltip","UpStats","UpdateMenu","monospace","CMClickHook","addLatest","computedMouseCps","CMAvgQueue","[object Object]","maxLength","queue","newValue","timePeriod","reduce","CacheAvgCPS","currDate","Date","now","choEggTotal","cookiesEarned","timeDiff","bankDiffAvg","wrinkDiffAvg","wrinkFattestDiffAvg","choEggDiffAvg","clicksDiffAvg","cookieClicks","cpsLength","AvgCPSHist","calcAverage","choEgg","HasUnlocked","AvgClicksHist","ColourOfPP","PPSecondsLowerLimit","PPOnlyConsiderBuyable","CacheColour","PPRigidelMode","getSumPrice","PPExcludeTop","CachePP","PP_CachePP","indexOfMin","CacheBuildingsPP","BuildingGetPrice","SimWin","CalculateGains","effs","myEffs","ii","heavenlyMult","SimGetHeavenlyMultiplier","heralds","cookieUpgrades","buildMult","sin","santaLevel","milkProgress","milkMult","catMult","storedCps","eggMult","day","startDate","lumps","rawCookiesPs","CpsAchievements","threshold","auraMult","bakeryName","goldenSwitchMult","upgrades","goldenCookieUpgrades","veilMult","runModHookOnValue","Fortunes","HalloCookies","ChristCookies","ValCookies","PlantDrops","SimHasAchiev","CheckOtherAchiev","grandmas","buildingsOwned","mathematician","base10","minAmount","ObjectsById","Cursor","hasAllHalloCook","hasAllChristCook","list","fortunes","CacheBuildingIncome","result","tieredAchievs","achievUnlock","lastAchievementsOwned","BuyBuildingsBonusIncome","CacheBuildingsPrices","CacheIncome","bonusIncome","unlocked","CountsAsUpgradeOwned","diffMouseCPS","multClick","out","MouseCps","BuyUpgradesBonusIncome","MaxChainCookieReward","digit","maxPayout","totalFromChain","nextMoni","nextRequired","chain","LN10","CacheChain","cpsBuffMult","CacheHeavenlyChipsPS","chipsOwned","HowMuchPrestige","cookiesReset","ascendNowToGet","heavenlyChipsDiffAvg","CacheAllMissingUpgrades","classes","noFrame","crates","icon","iconFunction","getDynamicTooltip","crateMissing","CacheSeasonSpec","CacheStatsCookies","CacheGoldenAndWrathCookiesMults","goldenMult","wrathMult","eff","CacheWrinklers","InitCache","SettingsDefault","DetailedTime","UpgradeBarFixedPos","DragonAuraInfo","GrimoireBar","GCTimer","Favicon","HideSectionsButtons","TooltipAmor","TooltipAscendButton","MissingUpgrades","MissingAchievements","HeavenlyChipsTarget","ShowMissedGC","GeneralSound","GCNotification","GCFlash","ColourGCFlash","GCSound","GCVolume","GCSoundURL","FortuneNotification","FortuneFlash","ColourFortuneFlash","FortuneSound","FortuneVolume","FortuneSoundURL","SeaNotification","SeaFlash","ColourSeaFlash","SeaSound","SeaVolume","SeaSoundURL","GardFlash","ColourGardFlash","GardSound","GardVolume","GardSoundURL","MagicNotification","MagicFlash","ColourMagicFlash","MagicSound","MagicVolume","MagicSoundURL","WrinklerNotification","WrinklerFlash","ColourWrinklerFlash","WrinklerSound","WrinklerVolume","WrinklerSoundURL","WrinklerMaxNotification","WrinklerMaxFlash","ColourWrinklerMaxFlash","WrinklerMaxSound","WrinklerMaxVolume","WrinklerMaxSoundURL","BulkBuyBlock","Header","Favourite","Calculation","Notation","Colours","BarsDisplay","Tooltip","Statistics","Notification","NotificationGeneral","NotificationGC","NotificationFC","NotificationSea","NotificationGard","NotificationMagi","NotificationWrink","NotificationWrinkMax","Miscellaneous","Lucky","Chain","Spells","Garden","Prestige","Wrink","Sea","Misc","InfoTab","Config_CheckNotificationPermissions","ToggleOnOff","checkNotificationPromise","requestPermission","then","ToggleBotBar","RefreshScale","BeautifyAll","RefreshStore","RebuildUpgrades","UpdateFavicon","wrath","href","Setting","group","SettingStandard","label","desc","toggle","super","SettingColours","SettingVolume","SettingInputNumber","SettingsData","insertBefore","UpBarColor","save","stringify","favouriteSettings","settings","version","CacheDragonCost","dragonLevel","dragonLevels","buy","includes","replaceAll","cost","CalculateChangeGod","InitData","isInitializing","Flash","config","setTimeout","Sound_PlaySound","url","sndConfig","volConfig","sound","Audio","volume","play","CreateNotification","notifyConfig","title","message","visibilityState","badge","CMLoopHook","OnAscend","AscendTimer","mods","CachePantheonGods","sellTotal","Bank","marketGoods","goods","goodsVal","marketGood","stock","cookiesPsRawHighest","buildingsToSacrifice","highestBuilding","SellBuildingsForChoEgg","CacheSellAllForChoEgg","hasBuildAura","godMult","CacheCurrWrinklerCPS","cookiesToNext","HowManyCookiesReset","LoopCache","shimmers","spawnLead","cookie","fontFamily","onclick","pop","onmouseover","filter","webkitFilter","onmouseout","CreateGCTimer","transform","life","TickerEffect","nextStep","CheckMagicMeter","CurrentWrinklers","getWrinklersMax","CheckWrinklerCount","UpdateColours","SaveConfig","saveString","b64_to_utf8","unescape","localStorage","getItem","CookieMonsterSave","newSaveString","setItem","utf8_to_b64","LoadConfig","CMConfig","Colors","mod","PopAllNormalWrinklers","hp","CreateTooltip","buildPrice","amortizeAmount","storedTotalCps","globalCpsMult","crateTooltip","lumpTooltip","spellTooltip","tileTooltip","toolTooltip","godTooltip","slotTooltip","area","ReplaceTooltipGrimoire","dynamic","wobble","ReplaceNativeGrimoireDraw","magicBarTextL","ReplaceNativeGrimoire","launch","ReplaceNativeGrimoireLaunch","jscolor_default","ToggleSetting_ConfigPrefix","ToggleConfigVolume","ToggleHeader","StatsHeader","span","StatsListing","listingName","StatsMissDisp","theMissDisp","frag","createDocumentFragment","missing","AddMenuStats","stats","goldCookTooltip","section","luckyColour","luckyTime","luckyReqFrag","luckyReqSpan","luckyReqSmall","luckyColourFrenzy","luckyTimeFrenzy","luckyReqFrenFrag","luckyReqFrenSpan","luckyReqFrenSmall","luckySplit","luckyRewardMaxSpan","luckyRewardFrenzyMaxSpan","luckyCurBase","luckyCurSpan","LuckySection","chainColour","chainTime","chainReqFrag","chainReqSpan","chainReqSmall","chainWrathColour","chainWrathTime","chainWrathReqFrag","chainWrathReqSpan","chainWrathReqSmall","chainColourFrenzy","chainTimeFrenzy","chainReqFrenFrag","chainReqFrenSpan","chainReqFrenSmall","chainWrathColourFrenzy","chainWrathTimeFrenzy","chainWrathReqFrenFrag","chainWrathReqFrenSpan","chainWrathReqFrenSmall","chainCurMax","chainCur","chainCurWrath","ChainSection","conjureColour","conjureTime","conjureReqFrag","conjureReqSpan","conjureReqSmall","conjureFrenzyColour","conjureFrenzyCur","conjureFrenzyTime","conjureFrenzyReqFrag","conjureFrenzyReqSpan","conjureFrenzyReqSmall","SpellsSection","bakeberryColour","bakeberryFrag","chocorootColour","chocorootFrag","queenbeetColour","queenbeetFrag","duketaterColour","duketaterFrag","missingPlantDrops","GardenSection","possiblePresMax","neededCook","cookiesNextFrag","cookiesNextSmall","heavenlyChips","HCTarget","CookiesTillTarget","resetBonus","newHeavenlyChips","curCPS","ResetCPS","ResetBonus","resetFrag","resetSmall","currentPrestige","willHave","willGet","delta7","next7Reset","next7Total","frag7","delta777","next777Reset","next777Total","frag777","delta777777","next777777Reset","next777777Total","frag777777","PrestigeSection","popAllFrag","popAllA","popFattestFrag","popFattestA","specDisp","missingHalloweenCookies","missingChristmasCookies","missingValentineCookies","missingNormalEggs","eggDrops","missingRareEggs","rareEggDrops","centEgg","failRateHalloween","dropRateMult","obtainedCookiesChance","failRateChristmas","dropRateEgg","StartingFailRate","failRateEgg","succesRateEgg","obtainedEggs","obtainedRareEggs","pNormal1","pRare1","pRedrop","SeasonSection","calcSum","missedGoldenClicks","menuSection","prestigeUpgradesMissing","titlefrag","PrestigeUpgrades","normalUpgradesMissing","tech","nextSibling","cookieUpgradesMissing","achievs","values","parentElement","achievsCrate","AchievementsById","mouseDown","setOnCrate","tags","neuromancy","sesame","descFunc","tagsStr","CrateTooltipLockedAchievements","AddMissingAchievements","ConfigGroups","ConfigGroupsNotification","CreatePrefHeader","CreatePrefOption","FavStar","ele","ToggleFavouriteSetting","FavouriteSettingPlaceholder","CreateFavouriteStar","ToggleConfig","float","percent","slider","step","onchange","input","readOnly","inputPrompt","content","promptWrapL","promptL","PlaySound","promptAnchorL","darkenL","focus","promptOn","UpdatePrompt","CookieMonsterPrompt","outerHTML","ClosePrompt","innerSpan","FixMouseY","timerBarHeight","mouseY","ReplaceNative","drawMod","from","update","updateMod","warnOffset","tta","tt","UpdateTooltipLocation","UpdateWrinklers","UpdateSpecial","ClickCookie","ClickProduct","DescribeDragonAura","aura","bonusCPS","priceOfChange","CalculateChangeAura","timeToRecover","bonusCPSPercentage","minHeight","div2","AddAuraInfo","ToggleSpecialMenu","on","shouldHide","AddDragonLevelUpTooltip","index","subGroup","subGroupObject","resDef","resDefBut","AddMenuPref","info","description","notes","menu","AddMenuInfo","AddMenu","detail","Logic","titleGC","titleFC","titleSP","addFC","addSP","lastIndexOf","spawn","UpdateTitle","ReplaceAscendTooltip","InitializeCookieMonster","head","backgroundColour","borderTop","textShadow","table","tbody","firstCol","td","CreateBotBar","CMTimerBarGC","CMTimerBarRen","TimerBarBuffTimers","CreateTimerBar","UpgradeBar","legend","legendLine","CreateUpgradeBarLegend","upgradeNumber","CreateUpgradeBar","WhiteScreen","CreateFlashScreen","CreateSectionHideButtons","getElementsByTagName","CreateFavicon","CreateSimpleTooltip","append","CreateWrinklerButtons","canLumps","child","coords","ReplaceTooltipPantheon","popups","Popup","Notify","Win","CM","proceed","confirm","registerHook","load","registerMod"],"mappings":"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C,KAAKC,YACpC1U,EAAE,8BAA8BnJ,MAAMqV,QAAU,GAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,KAE9ClM,EAAE,8BAA8BnJ,MAAMqV,QAAU,OAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,QAQlD,MAAMyI,EAAS,CAAC,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAGhDC,EAAa,CACjB,GACA,GACA,IACA,IACA,KACA,QACA,QACA,OACA,OACA,MACA,MACA,MACA,QACA,SACA,SACA,cACA,UACA,SACA,YACA,UACA,WACA,SACA,WACA,YACA,YACA,kBAIIC,EAAwB,CAC5B,GACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,OAIF,IAAIC,EAEAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAIAC,EAIAC,EAMAC,EAjCAC,EAAqB,GAErBC,EAAwB,GACxBC,EAAuB,GAOvBC,EAAkB,GA4BtB,MAAMC,EAAgB,SAChBC,EAAgB,SAMhBC,EAAa,OACbC,EAAc,QACdC,EAAe,SACfC,EAAe,SACfC,EAAY,MACZC,EAAe,SACfC,EAAa,OACbC,EAAa,OACbC,EAAc,QACdC,EAAkB,CACtBH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","file":"./CookieMonster.js","sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack://cookiemonster-mod/CookieMonster.js"],"names":["__webpack_modules__","877","module","global","factory","exports","document","win","Error","window","this","BoxShadow","funcName","elm","jsc","jscolor","initialized","instances","readyQueue","register","addEventListener","pub","init","installBySelector","selector","rootNode","node","elms","querySelectorAll","matchClass","RegExp","lookupClass","i","length","dataOpts","m","undefined","type","toLowerCase","isColorAttrSupported","getDataAttr","className","match","targetElm","optsStr","console","warn","docsRef","opts","trim","parseOptionsStr","e","str","JSON","parse","eParse","looseJSON","Function","eEval","getInstances","inst","targetElement","push","createEl","tagName","el","createElement","setData","nodeOrSelector","sel","querySelector","isNode","val","Node","nodeType","nodeName","removeChildren","firstChild","removeChild","isTextInput","isButton","n","indexOf","isButtonEmpty","value","textContent","isPassiveEventSupported","supported","Object","defineProperty","get","removeEventListener","setAttribute","dataProp","obj","arguments","data","hasOwnProperty","prop","map","removeData","getData","setDefault","name","attrName","getAttribute","setDataAttr","_attachedGroupEvents","attachGroupEvent","groupName","evnt","func","detachGroupEvents","evt","preventDefault","returnValue","captureTarget","target","setCapture","_capturedTarget","releaseTarget","releaseCapture","triggerEvent","eventName","bubbles","cancelable","ev","Event","createEvent","initEvent","dispatchEvent","triggerInputEvent","eventKey","keys","9","13","27","code","keyCode","strList","replace","split","hasClass","classList","contains","addClass","classNames","add","removeClass","repl","remove","getCompStyle","getComputedStyle","currentStyle","setStyle","styles","important","reversible","priority","origStyle","setVal","style","setProperty","hexColor","r","g","b","Math","round","toString","substr","toUpperCase","hexaColor","a","rgbColor","rgbaColor","linearGradient","stdName","prefixes","helper","tryFunc","tryVal","background","getFuncName","Array","prototype","join","call","setBorderRadius","border-radius","setBoxShadow","box-shadow","getElementPos","relativeToViewport","x","y","rect","getBoundingClientRect","left","top","viewPos","getViewPos","getElementSize","offsetWidth","offsetHeight","getAbsPointerPos","changedTouches","clientX","clientY","getRelPointerPos","targetRect","srcElement","doc","documentElement","pageXOffset","scrollLeft","clientLeft","pageYOffset","scrollTop","clientTop","getViewSize","innerWidth","clientWidth","innerHeight","clientHeight","RGB_HSV","min","v","max","h","HSV_RGB","s","u","floor","parseColorString","ret","rgba","format","parseInt","charAt","mR","mG","mB","mA","par","re","parseFloat","parsePaletteValue","mixed","vals","isArray","colors","color","containsTranparentColor","isAlphaFormat","scaleCanvasForHighDPR","canvas","dpr","devicePixelRatio","width","height","getContext","scale","genColorPreviewCanvas","separatorPos","specWidth","scaleForHighDPR","sepW","previewSeparator","sqSize","chessboardSize","sqColor1","chessboardColor1","sqColor2","chessboardColor2","cWidth","cHeight","ctx","fillStyle","fillRect","start","clearRect","lineWidth","beginPath","strokeStyle","moveTo","lineTo","stroke","genColorPreviewGradient","position","params","right","apply","redrawPosition","picker","owner","tp","vp","thisObj","fixed","c","ts","vs","pd","getPickerDims","ps","borderW","borderH","l","smartPosition","pp","positionValue","contractShadow","_drawPosition","vShadow","shadowBlur","wrap","boxS","shadow","shadowColor","w","controlBorderWidth","sliderSpace","getControlPadding","sliderSize","getSliderChannel","hasAlphaChannel","pal","getPaletteDims","padding","closeButton","buttonHeight","pW","pH","contentW","contentH","paddedW","paddedH","borderWidth","palette","cols","rows","cellW","cellH","sampleCount","_palette","paletteCols","ceil","paletteSpacing","paletteHeight","pointerBorderWidth","pointerThickness","getPadYChannel","mode","triggerCallback","callback","error","triggerGlobal","eventNames","trigger","_pointerMoveEvent","mouse","touch","_pointerEndEvent","_pointerOrigin","onDocumentKeyUp","tryHide","onWindowResize","onWindowScroll","onParentScroll","onDocumentMouseDown","showOnClick","disabled","show","onControlPointerStart","onPickerTouchStart","controlName","pointerType","registerDragEvents","offset","onDocumentPointerMove","onDocumentPointerEnd","parent","frameElement","ofs","abs","rel","channels","fromHSVA","setPad","setSld","setASld","onPaletteSampleClick","currentTarget","_setFormat","getFormat","paletteSetsAlpha","_paletteHasTransparency","fromRGBA","hideOnPaletteClick","hide","ofsX","ofsY","pointerAbs","xVal","yVal","fmt","createPadCanvas","draw","hGrad","createLinearGradient","addColorStop","vGrad","createSliderGradient","color1","color2","grad","createASliderGradient","hShadow","blur","spread","inset","flags","leaveValue","leaveAlpha","leavePreview","enumOpts","previewPosition","alphaChannel","deprecatedOpts","styleElement","onFineChange","overwriteImportant","closable","insetWidth","insetColor","refine","THIS","setOption","option","oldOpt","newOpt","setter","getOption","getter","drawPicker","_processParentElementsInDOM","box","boxB","pad","padB","padM","padCanvas","cross","crossBY","crossBX","crossLY","crossLX","sld","sldB","sldM","sldGrad","sldPtrS","sldPtrIB","sldPtrMB","sldPtrOB","asld","asldB","asldM","asldGrad","asldPtrS","asldPtrIB","asldPtrMB","asldPtrOB","btn","btnT","appendChild","passive","insetColors","outsetColor","p","displaySlider","displayAlphaSlider","pickerDims","crossOuterSize","crossSize","controlPadding","borderRadius","PI","clear","zIndex","border","borderColor","backgroundColor","opacity","controlBorderColor","cursor","instance","control","pointerBorderColor","pointerColor","overflow","display","sliderInnerSpace","innerHTML","chessboard","si","sampleColor","sampleCssColor","sc","sw","backgroundImage","toDataURL","backgroundRepeat","backgroundPosition","bottom","maxWidth","whiteSpace","buttonColor","font","textAlign","onmousedown","lineHeight","createTextNode","closeText","redrawPad","redrawSld","redrawASld","activeClassName","container","body","parentNode","yChannel","rgb1","rgb2","rgb","toHEXString","sldChannel","isPickerOwner","alpha","onChange","onInput","valueElement","alphaElement","previewElement","previewSize","previewPadding","required","hash","uppercase","forceStyle","hideOnLeave","minS","maxS","minV","maxV","minA","maxA","redraw","exposeColor","success","opt","channel","res","evs","callbackProp","isNaN","hsv","fromHSV","fromRGB","fromString","setPreviewElementBg","setValueElementValue","toHEXAString","toRGBString","toRGBAString","toGrayscale","toCanvas","toBackground","isLight","_currentFormat","processValueInput","processAlphaInput","colorStr","alphaVal","setAlphaElementValue","backgrounds","image","size","repeat","origin","preview","bg","sty","background-image","background-position","background-size","background-repeat","background-origin","padding-left","padding-right","_parentElementsProcessed","compStyle","set__palette","options","presetsArr","preset","slice","pres","presets","nonProperties","test","min-width","valueElementOrigEvents","oninput","oldVal","initValue","initAlpha","install","shift","ready","triggerNow","installByClassName","JSColor","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__esModule","d","definition","key","o","enumerable","CMOptions","ToggleWrinklerButtons","WrinklerButtons","Game","elderWrath","metric","shortScale","shortScaleAbbreviated","LastModCount","TooltipLumpBackup","BackupGrimoireLaunch","BackupGrimoireLaunchMod","BackupGrimoireDraw","HasReplaceNativeGrimoireLaunch","HasReplaceNativeGrimoireDraw","LoadMinigames","LastSeasonPopupState","LastTickerFortuneState","LastGardenNextStep","LastGoldenCookieState","LastSpawnedGoldenCookieState","LastMagicBarFull","CurrSpawnedGoldenCookieState","LastWrinklerCount","DispCSS","TooltipBuildBackup","TooltipGrimoireBackup","TooltipUpgradeBackup","BackupFunctions","CycliusDateAtBeginLoop","Date","now","CenturyDateAtBeginLoop","ColourTextPre","ColourBackPre","ColourBlue","ColourGreen","ColourYellow","ColourOrange","ColourRed","ColourPurple","ColourGray","ColourPink","ColourBrown","ColoursOrdering","TooltipText","SimpleTooltipElements","CMLastAscendState","CMSayTime","TooltipWrinklerArea","TooltipWrinkler","TooltipWrinklerBeingShown","LastTargetBotBar","LastTargetBuildings","LastTargetTooltipBuilding","CookieTimes","ClickTimes","BuffColours","Frenzy","Dragon Harvest","Elder frenzy","Clot","Click frenzy","Dragonflight","TooltipPrice","TooltipBonusIncome","TooltipType","TooltipName","TooltipBonusMouse","LastAscendState","LastNumberOfTimers","GCTimers","Title","FavouriteSettings","BeautifyFormatting_Beautify","num","floats","forced","decimals","ScaleDecimals","Infinity","Scale","Beautify","Number","isFinite","answer","ScaleCutoff","ScaleSeparator","toLocaleString","toExponential","exponential","AmountOfTenPowerThree","toFixed","log","FormatTime","time","longFormat","formattedTime","TimeFormat","GetTimeColour","text","CacheAverageCookiesFromClicks","CookiesDiff","WrinkDiff","WrinkFattestDiff","ChoEggDiff","ClicksDiff","HeavenlyChipsDiff","CacheLastCPSCheck","CacheLastCookies","CacheLastWrinkCookies","CacheLastWrinkFattestCookies","CacheLastClicks","CacheAverageGainBank","CacheAverageGainWrink","CacheAverageGainWrinkFattest","CacheAverageGainChoEgg","CacheAverageCPS","CacheLastHeavenlyCheck","CacheLastHeavenlyChips","CacheDoRemakeBuildPrices","CacheHadBuildAura","SimBuildingsOwned","SimUpgradesOwned","SimPledges","SimAchievementsOwned","SimHeavenlyPower","SimPrestige","SimDragonAura","SimDragonAura2","SimGod1","SimGod2","SimGod3","SimDoSims","SimEffs","SimCookiesPs","SimCookiesPsRaw","CacheDragonAura","CacheDragonAura2","CacheLastDragonLevel","CacheCostDragonUpgrade","CacheLucky","CacheLuckyReward","CacheLuckyWrathReward","CacheLuckyFrenzy","CacheLuckyRewardFrenzy","CacheLuckyWrathRewardFrenzy","CacheConjure","CacheConjureReward","CacheEdifice","CacheEdificeBuilding","CacheNoGoldSwitchCookiesPS","CacheDragonsFortuneMultAdjustment","CacheGoldenCookiesMult","CacheWrathCookiesMult","CacheHCPerSecond","CacheCentEgg","CacheSeaSpec","CacheLastChoEgg","CacheObjects1","CacheObjects10","CacheObjects100","CacheWrinklersTotal","CacheWrinklersNormal","CacheWrinklersFattest","CacheCurrWrinklerCPSMult","CacheCurrWrinklerCount","CacheUpgrades","CacheAverageClicks","CacheMissingUpgrades","CacheMissingUpgradesPrestige","CacheMissingUpgradesCookies","CacheChainRequired","CacheChainRequiredNext","CacheChainMaxReward","CacheChainWrathRequired","CacheChainWrathRequiredNext","CacheChainWrathMaxReward","CacheChainFrenzyRequired","CacheChainFrenzyRequiredNext","CacheChainFrenzyMaxReward","CacheChainFrenzyWrathRequired","CacheChainFrenzyWrathRequiredNext","CacheChainFrenzyWrathMaxReward","CacheRealCookiesEarned","CacheAvgCPSWithChoEgg","CacheSpawnedGoldenShimmer","CacheSeasonPopShimmer","CacheTimeTillNextPrestige","CacheMinPP","CachePPArray","CacheGoldenShimmersByID","CacheSellForChoEgg","CacheGods","0","1","2","3","4","5","6","7","8","10","SimObjects","SimUpgrades","SimAchievements","SimAuraMult","what","dragonAuras","SimGetSellMultiplier","giveBack","SimEff","def","SimHas","it","ascensionMode","pool","tier","bought","SimHasGod","hasGod","Temple","minigame","Objects","god","gods","id","SimModifyBuildingPrice","building","price","ModifiedPrice","hasBuff","fortune","minigameLoaded","godLvl","BuildingSell","build","basePrice","free","amount","noSim","noSimRes","toChange","startingAmount","moni","buyBulk","priceIncrease","modifyBuildingPrice","getSellMultiplier","UpdateBuildings","buyMode","BuildColour","forEach","removeProperty","SortBuildings","arr","k","sort","gridRow","UpdateUpgrades","UpBarColour","blue","green","yellow","orange","red","purple","gray","UpgradesInStore","me","addedColour","j","childNodes","div","SortUpgrades","nameChecker","arr2","upgrade","findIndex","order","GetCPS","CPSMode","CalcWrink","cookiesPs","cpsSucked","wrinklers","GetWrinkConfigBank","CreateTimer","bars","timerBar","margin","fontSize","marginRight","verticalAlign","colorBar","borderTopRightRadius","borderBottomRightRadius","timer","marginLeft","CreateBotBarBuildingColumn","buildingName","bonus","header","substring","lastChild","paddingLeft","UpdateBotBar","BotBar","count","PPString","PPDisplayTime","timeColour","bulkPrice","cookies","UpdateBackground","Background","LeftBackground","UpdateBotTimerBarPosition","TimerBar","TimerBarPos","ToggleTimerBar","CacheDragonAuras","dragonAura","dragonAura2","InitAchievement","achievementName","Achievements","you","SimGetTieredCpsMult","mult","tieredUpgrades","Tiers","special","synergies","syn","buildingTie1","buildingTie2","grandma","Grandma","misfortune","vanilla","InitialBuildingData","cps","magicCpS","ComputeCps","GrandmaSynergies","UpgradesByPool","kitten","Portal","baseCps","baseCPS","InitUpgrade","upgradeName","Upgrades","power","level","pow","CopyData","UpgradesOwned","pledges","AchievementsOwned","heavenlyPower","prestige","totalCookies","slot","won","TooltipCreateHeader","fontWeight","TooltipCreateCalculationSection","tooltip","income","marginBottom","click","production","CalculateGrimoireRefillTime","currentMagic","maxMagic","targetMagic","magic","fps","GetCPSBuffMult","buffs","multCpS","ToggleToolWarnPos","ToolWarnPos","UpdateTooltips","tooltipBox","paddingBottom","TooltipCreateTooltipBox","TooltipBuildUpgrade","increase","productionAchievs","HasAchiev","achiev","nextProductionAchiev","Building","getPrice","bonusMouse","previousSibling","chocolate","Upgrade","TooltipLump","lumpType","lumpColour","lumpCurrentType","SugarLump","spellCost","getSpellCost","spellsById","TooltipGrim","magicM","recover","recoverColour","conjure","reward","seperator","loss","Grimoire","Farm","TooltipPlots","plot","mature","plantsById","plantName","GardenPlots","totalGain","mortal","tile","immortal","matureBase","HarvestAll","WrinklerReward","WrinklerButton","TooltipPantheon","GodID","cps1","cps2","cps3","PantheonGods","getElementById","TooltipWarn","create","boxId","labelTextFront","labelTextBack","deficitId","transition","labelDiv","labelSpan","deficitDiv","deficitSpan","ToolWarnUser","TooltipCreateWarningSection","bonusIncomeUsed","ToolWarnBon","limitLucky","bonusNoFren","ToolWarnLucky","ToolWarnLuckyFrenzy","limitLuckyFrenzy","ToolWarnConjure","limitConjure","ToolWarnConjureFrenzy","limitConjureFrenzy","ToolWarnEdifice","children","Warnings","CMDrawHook","prefs","autosave","drawT","onMenu","Stats","innerText","sayTime","T","maxWidthTwoBar","maxWidthOneBar","numberOfTimers","shimmerTypes","golden","spawned","Has","minTime","maxTime","TimerBarOverlay","season","reindeer","BuffTimerBars","classColour","UpdateTimerBar","TooltipWrink","showingTooltip","phase","selected","placeholder","wrinkler","minWidth","escape","CheckWrinklerTooltip","sucked","toSuck","UpdateWrinklerTooltip","UpStats","UpdateMenu","monospace","CMClickHook","addLatest","computedMouseCps","CMAvgQueue","[object Object]","maxLength","queue","newValue","timePeriod","reduce","CacheAvgCPS","currDate","choEggTotal","cookiesEarned","timeDiff","bankDiffAvg","wrinkDiffAvg","wrinkFattestDiffAvg","choEggDiffAvg","clicksDiffAvg","cookieClicks","cpsLength","AvgCPSHist","calcAverage","choEgg","HasUnlocked","AvgClicksHist","ColourOfPP","PPSecondsLowerLimit","PPOnlyConsiderBuyable","CacheColour","PPRigidelMode","getSumPrice","PPExcludeTop","CachePP","PP_CachePP","indexOfMin","CacheBuildingsPP","BuildingGetPrice","SimWin","CalculateGains","effs","myEffs","ii","heavenlyMult","SimGetHeavenlyMultiplier","heralds","cookieUpgrades","buildMult","sin","santaLevel","milkProgress","milkMult","catMult","storedCps","eggMult","day","startDate","lumps","rawCookiesPs","CpsAchievements","threshold","auraMult","bakeryName","goldenSwitchMult","upgrades","goldenCookieUpgrades","veilMult","runModHookOnValue","Fortunes","HalloCookies","ChristCookies","ValCookies","PlantDrops","SimHasAchiev","CheckOtherAchiev","grandmas","buildingsOwned","mathematician","base10","minAmount","ObjectsById","Cursor","hasAllHalloCook","hasAllChristCook","list","fortunes","CacheBuildingIncome","result","tieredAchievs","achievUnlock","lastAchievementsOwned","BuyBuildingsBonusIncome","CacheBuildingsPrices","CacheIncome","bonusIncome","unlocked","CountsAsUpgradeOwned","diffMouseCPS","multClick","out","MouseCps","BuyUpgradesBonusIncome","MaxChainCookieReward","digit","maxPayout","totalFromChain","nextMoni","nextRequired","chain","LN10","CacheChain","cpsBuffMult","CacheHeavenlyChipsPS","chipsOwned","HowMuchPrestige","cookiesReset","ascendNowToGet","heavenlyChipsDiffAvg","CacheAllMissingUpgrades","classes","noFrame","crates","icon","iconFunction","getDynamicTooltip","crateMissing","CacheSeasonSpec","CacheStatsCookies","CacheGoldenAndWrathCookiesMults","goldenMult","wrathMult","eff","CacheWrinklers","InitCache","SettingsDefault","DetailedTime","UpgradeBarFixedPos","DragonAuraInfo","GrimoireBar","GCTimer","Favicon","HideSectionsButtons","TooltipAmor","TooltipAscendButton","MissingUpgrades","MissingAchievements","HeavenlyChipsTarget","ShowMissedGC","GeneralSound","GCNotification","GCFlash","ColourGCFlash","GCSound","GCVolume","GCSoundURL","FortuneNotification","FortuneFlash","ColourFortuneFlash","FortuneSound","FortuneVolume","FortuneSoundURL","SeaNotification","SeaFlash","ColourSeaFlash","SeaSound","SeaVolume","SeaSoundURL","GardFlash","ColourGardFlash","GardSound","GardVolume","GardSoundURL","MagicNotification","MagicFlash","ColourMagicFlash","MagicSound","MagicVolume","MagicSoundURL","WrinklerNotification","WrinklerFlash","ColourWrinklerFlash","WrinklerSound","WrinklerVolume","WrinklerSoundURL","WrinklerMaxNotification","WrinklerMaxFlash","ColourWrinklerMaxFlash","WrinklerMaxSound","WrinklerMaxVolume","WrinklerMaxSoundURL","BulkBuyBlock","Header","Favourite","Calculation","Notation","Colours","BarsDisplay","Tooltip","Statistics","Notification","NotificationGeneral","NotificationGC","NotificationFC","NotificationSea","NotificationGard","NotificationMagi","NotificationWrink","NotificationWrinkMax","Miscellaneous","Lucky","Chain","Spells","Garden","Prestige","Wrink","Sea","Misc","InfoTab","Config_CheckNotificationPermissions","ToggleOnOff","checkNotificationPromise","requestPermission","then","ToggleBotBar","RefreshScale","BeautifyAll","RefreshStore","RebuildUpgrades","UpdateFavicon","wrath","href","Setting","group","SettingStandard","label","desc","toggle","super","SettingColours","SettingVolume","SettingInputNumber","SettingsData","insertBefore","UpBarColor","save","stringify","favouriteSettings","settings","version","CacheDragonCost","dragonLevel","dragonLevels","buy","includes","replaceAll","cost","CalculateChangeGod","CurrentSlot","godsById","InitData","isInitializing","Flash","config","setTimeout","Sound_PlaySound","url","sndConfig","volConfig","sound","Audio","volume","play","CreateNotification","notifyConfig","title","message","visibilityState","badge","CMLoopHook","OnAscend","AscendTimer","mods","CachePantheonGods","sellTotal","Bank","marketGoods","goods","goodsVal","marketGood","stock","cookiesPsRawHighest","buildingsToSacrifice","highestBuilding","SellBuildingsForChoEgg","CacheSellAllForChoEgg","hasBuildAura","godMult","CacheCurrWrinklerCPS","cookiesToNext","HowManyCookiesReset","LoopCache","shimmers","spawnLead","cookie","fontFamily","onclick","pop","onmouseover","filter","webkitFilter","onmouseout","CreateGCTimer","transform","life","TickerEffect","nextStep","CheckMagicMeter","CurrentWrinklers","getWrinklersMax","CheckWrinklerCount","UpdateColours","SaveConfig","saveString","b64_to_utf8","unescape","localStorage","getItem","CookieMonsterSave","newSaveString","setItem","utf8_to_b64","LoadConfig","CMConfig","Colors","mod","PopAllNormalWrinklers","hp","CreateTooltip","buildPrice","amortizeAmount","storedTotalCps","globalCpsMult","crateTooltip","lumpTooltip","spellTooltip","tileTooltip","toolTooltip","godTooltip","slotTooltip","area","ReplaceTooltipGrimoire","dynamic","wobble","ReplaceNativeGrimoireDraw","magicBarTextL","ReplaceNativeGrimoire","launch","ReplaceNativeGrimoireLaunch","jscolor_default","ToggleSetting_ConfigPrefix","ToggleConfigVolume","ToggleHeader","StatsHeader","span","StatsListing","listingName","StatsMissDisp","theMissDisp","frag","createDocumentFragment","missing","AddMenuStats","stats","goldCookTooltip","section","luckyColour","luckyTime","luckyReqFrag","luckyReqSpan","luckyReqSmall","luckyColourFrenzy","luckyTimeFrenzy","luckyReqFrenFrag","luckyReqFrenSpan","luckyReqFrenSmall","luckySplit","luckyRewardMaxSpan","luckyRewardFrenzyMaxSpan","luckyCurBase","luckyCurSpan","LuckySection","chainColour","chainTime","chainReqFrag","chainReqSpan","chainReqSmall","chainWrathColour","chainWrathTime","chainWrathReqFrag","chainWrathReqSpan","chainWrathReqSmall","chainColourFrenzy","chainTimeFrenzy","chainReqFrenFrag","chainReqFrenSpan","chainReqFrenSmall","chainWrathColourFrenzy","chainWrathTimeFrenzy","chainWrathReqFrenFrag","chainWrathReqFrenSpan","chainWrathReqFrenSmall","chainCurMax","chainCur","chainCurWrath","ChainSection","conjureColour","conjureTime","conjureReqFrag","conjureReqSpan","conjureReqSmall","conjureFrenzyColour","conjureFrenzyCur","conjureFrenzyTime","conjureFrenzyReqFrag","conjureFrenzyReqSpan","conjureFrenzyReqSmall","SpellsSection","bakeberryColour","bakeberryFrag","chocorootColour","chocorootFrag","queenbeetColour","queenbeetFrag","duketaterColour","duketaterFrag","missingPlantDrops","GardenSection","possiblePresMax","neededCook","cookiesNextFrag","cookiesNextSmall","heavenlyChips","HCTarget","CookiesTillTarget","resetBonus","newHeavenlyChips","curCPS","ResetCPS","ResetBonus","resetFrag","resetSmall","currentPrestige","willHave","willGet","delta7","next7Reset","next7Total","frag7","delta777","next777Reset","next777Total","frag777","delta777777","next777777Reset","next777777Total","frag777777","PrestigeSection","popAllFrag","popAllA","popFattestFrag","popFattestA","specDisp","missingHalloweenCookies","missingChristmasCookies","missingValentineCookies","missingNormalEggs","eggDrops","missingRareEggs","rareEggDrops","centEgg","failRateHalloween","dropRateMult","obtainedCookiesChance","failRateChristmas","dropRateEgg","StartingFailRate","failRateEgg","succesRateEgg","obtainedEggs","obtainedRareEggs","pNormal1","pRare1","pRedrop","SeasonSection","calcSum","missedGoldenClicks","menuSection","prestigeUpgradesMissing","titlefrag","PrestigeUpgrades","normalUpgradesMissing","tech","nextSibling","cookieUpgradesMissing","achievs","values","parentElement","achievsCrate","AchievementsById","mouseDown","setOnCrate","tags","neuromancy","sesame","descFunc","tagsStr","CrateTooltipLockedAchievements","AddMissingAchievements","ConfigGroups","ConfigGroupsNotification","CreatePrefHeader","CreatePrefOption","FavStar","ele","ToggleFavouriteSetting","FavouriteSettingPlaceholder","CreateFavouriteStar","ToggleConfig","float","percent","slider","step","onchange","input","readOnly","inputPrompt","content","promptWrapL","promptL","PlaySound","promptAnchorL","darkenL","focus","promptOn","UpdatePrompt","CookieMonsterPrompt","outerHTML","ClosePrompt","innerSpan","FixMouseY","timerBarHeight","mouseY","ReplaceNative","drawMod","from","update","updateMod","warnOffset","tta","tt","UpdateTooltipLocation","UpdateWrinklers","UpdateSpecial","ClickCookie","ClickProduct","DescribeDragonAura","aura","bonusCPS","priceOfChange","CalculateChangeAura","timeToRecover","bonusCPSPercentage","minHeight","div2","AddAuraInfo","ToggleSpecialMenu","on","shouldHide","AddDragonLevelUpTooltip","index","subGroup","subGroupObject","resDef","resDefBut","AddMenuPref","info","description","notes","menu","AddMenuInfo","AddMenu","detail","Logic","titleGC","titleFC","titleSP","addFC","addSP","lastIndexOf","spawn","UpdateTitle","ReplaceAscendTooltip","InitializeCookieMonster","head","backgroundColour","borderTop","textShadow","table","tbody","firstCol","td","CreateBotBar","CMTimerBarGC","CMTimerBarRen","TimerBarBuffTimers","CreateTimerBar","UpgradeBar","legend","legendLine","CreateUpgradeBarLegend","upgradeNumber","CreateUpgradeBar","WhiteScreen","CreateFlashScreen","CreateSectionHideButtons","getElementsByTagName","CreateFavicon","CreateSimpleTooltip","append","CreateWrinklerButtons","canLumps","child","coords","ReplaceTooltipPantheon","popups","Popup","Notify","Win","CM","proceed","confirm","registerHook","load","registerMod"],"mappings":"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C,KAAKC,YACpC1U,EAAE,8BAA8BnJ,MAAMqV,QAAU,GAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,KAE9ClM,EAAE,8BAA8BnJ,MAAMqV,QAAU,OAChDlM,EAAE,4BAA4BnJ,MAAMqV,QAAU,QAQlD,MAAMyI,EAAS,CAAC,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAGhDC,EAAa,CACjB,GACA,GACA,IACA,IACA,KACA,QACA,QACA,OACA,OACA,MACA,MACA,MACA,QACA,SACA,SACA,cACA,UACA,SACA,YACA,UACA,WACA,SACA,WACA,YACA,YACA,kBAIIC,EAAwB,CAC5B,GACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,OAIF,IAAIC,EAEAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAcAC,EAjCAC,EAAqB,GAErBC,EAAwB,GACxBC,EAAuB,GAOvBC,EAAkB,GAalBC,EAAyBC,KAAKC,MAI9BC,EAAyBF,KAAKC,MAWlC,MAAME,EAAgB,SAChBC,EAAgB,SAMhBC,EAAa,OACbC,EAAc,QACdC,EAAe,SACfC,EAAe,SACfC,EAAY,MACZC,EAAe,SACfC,EAAa,OACbC,EAAa,OA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,MAAM9zC,EAAMyzC,GACZp1C,KAAKs1C,MAAQA,EACbt1C,KAAKu1C,KAAOA,EACZv1C,KAAKwN,IAAMA,EACXxN,KAAK0N,IAAMA,GAwBf,MAmzBmCmoC,GAnzBpB,CAEbnd,QAAS,IAAI2c,GACX,OACA,cACA,CAAC,6BAA8B,8BAC/B,kFACA,GAEFpN,WAAY,IAAIoN,GACd,OACA,cACA,CACE,0BACA,0BACA,0BACA,yBACA,yBACA,0BACA,0BACA,2BAEF,4DACA,GAEFhN,cAAe,IAAIgN,GACjB,OACA,cACA,CACE,4BACA,4BACA,6BACA,6BACA,8BAEF,uDACA,GAEF1c,UAAW,IAAI0c,GACb,OACA,cACA,CACE,+BACA,8BACA,6CAEF,qGACA,GACA,WACEhmB,IAAY,KAKhBpD,MAAO,IAAIopB,GACT,OACA,WACA,CACE,uBACA,SACA,cACA,4BACA,sBACA,wBAEF,yCACA,GACA,WACET,QAGJ7oB,cAAe,IAAIspB,GACjB,OACA,WACA,CAAC,aAAc,aAAc,cAC7B,oIACA,GACA,WACET,QAGJroB,eAAgB,IAAI8oB,GAClB,OACA,WACA,CAAC,4BAA6B,mBAC9B,qDACA,GACA,WACET,QAGJtoB,YAAa,IAAIspB,GACf,WACA,WACA,2BACA,8KACA,EACA,WAEF1oB,WAAY,IAAImoB,GACd,OACA,WACA,CAAC,0BAA2B,uBAC5B,0BACA,GAEFlG,aAAc,IAAIkG,GAChB,OACA,WACA,CAAC,oBAAqB,oBACtB,mEACA,GACA,WAjU6B,IAA3BruB,EAAUmoB,aAAoBhoB,KAAKwd,QAAU3a,EAC5C7C,KAAKwd,QAAU/b,EAAgB+b,WAoUpCpK,cAAe,IAAI8a,GACjB,OACA,WACA,CAAC,yBAA0B,mBAC3B,sKACA,GAIFze,YAAa,IAAIye,GACf,OACA,UACA,CAAC,uBAAwB,uBACzB,yBACA,GACA,WACE3e,QAGJ8R,sBAAuB,IAAI6M,GACzB,OACA,UACA,CAAC,2BAA4B,sBAC7B,0KACA,GAEFzM,aAAc,IAAIyM,GAChB,OACA,UACA,CACE,mBACA,kBACA,0BACA,gCAEF,sGACA,GA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","file":"./CookieMonster.js","sourceRoot":""} \ No newline at end of file diff --git a/src/Main/VariablesAndData.js b/src/Main/VariablesAndData.js index b23f9d1..3a79225 100644 --- a/src/Main/VariablesAndData.js +++ b/src/Main/VariablesAndData.js @@ -22,8 +22,8 @@ export let LastWrinklerCount; /** Stores the date at Game.CalculateGains for God Cyclius */ -export let CycliusDateAtBeginLoop; +export let CycliusDateAtBeginLoop = Date.now(); // eslint-disable-line prefer-const /** Stores the date at Game.CalculateGains for the Century egg */ -export let CenturyDateAtBeginLoop; +export let CenturyDateAtBeginLoop = Date.now(); // eslint-disable-line prefer-const diff --git a/src/Sim/SimulationEvents/GodChange.js b/src/Sim/SimulationEvents/GodChange.js index 7f085ae..b3b121e 100644 --- a/src/Sim/SimulationEvents/GodChange.js +++ b/src/Sim/SimulationEvents/GodChange.js @@ -13,11 +13,16 @@ import { * This functions calculates the cps and cost of changing a Dragon Aura * It is called by CM.Disp.AddAuraInfo() * @param {number} god The number of the slot to be swapped in - * * @param {number slot The slot the god will go to + * @param {number slot The slot the god will go to * @returns {number} CM.Sim.cookiesPs - Game.cookiesPs The bonus cps and the price of the change */ export default function CalculateChangeGod(god, slot) { CopyData(); + const { minigame } = Game.Objects.Temple; + const CurrentSlot = minigame.godsById[god].slot; + if (CurrentSlot === '0') SimGod1 = minigame.slot[slot]; + else if (CurrentSlot === '1') SimGod2 = minigame.slot[slot]; + else if (CurrentSlot === '2') SimGod3 = minigame.slot[slot]; /* eslint-disable no-unused-vars */ if (slot === 0) SimGod1 = god; else if (slot === 1) SimGod2 = god;