=i-11-1&&(0=e-11&&(0
{(g.matches?i:e)()},e(),{destroy:i}}function v(t){let e,o,i,s=t&&t.element,r=s||document.body,a=window.innerWidth,h=window.innerHeight,l={x:a/2,y:a/2},c=[];const d=t?.particles||15,u=t?.rate||.4,n=t?.baseImageSrc||"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAATCAYAAACk9eypAAAAAXNSR0IArs4c6QAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAhGVYSWZNTQAqAAAACAAFARIAAwAAAAEAAQAAARoABQAAAAEAAABKARsABQAAAAEAAABSASgAAwAAAAEAAgAAh2kABAAAAAEAAABaAAAAAAAAAEgAAAABAAAASAAAAAEAA6ABAAMAAAABAAEAAKACAAQAAAABAAAADKADAAQAAAABAAAAEwAAAAAChpcNAAAACXBIWXMAAAsTAAALEwEAmpwYAAABWWlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNS40LjAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyI+CiAgICAgICAgIDx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgpMwidZAAABqElEQVQoFY3SPUvDQBgH8BREpRHExYiDgmLFl6WC+AYmWeyLg4i7buJX8DMpOujgyxGvUYeCgzhUQUSKKLUS0+ZyptXh8Z5Ti621ekPyJHl+uftfomhaf9Ei5JyxXKfynyEA6EYcLHpwyflT958GAQ7DTABNHd8EbtDbEH2BD5QEQmi2mM8P/Iq+A0SzszEg+3sPjDnDdVEtQKQbMUidHD3xVzf6A9UDEmEm+8h9KTqTVUjT+vB53aHrCbAPiceYq1dQI1Aqv4EhMll0jzv+Y0yiRgCnLRSYyDQHVoqUXe4uKL9l+L7GXC4vkMhE6eW/AOJs9k583ORDUyXMZ8F5SVHVVnllmPNKSFagAJ5DofaqGXw/gHBYg51dIldkmknY3tguv3jOtHR4+MqAzaraJXbEhqHhcQlwGSOi5pytVQHZLN5s0WNe8HPrLYlFsO20RPHkImxsbmHdLJFI76th7Z4SeuF53hTeFLvhRCJRCTKZKxgdnRDbW+iozFJbBMw14/ElwGYc0egMBMFzT21f5Rog33Z7dX02GBm7WV5ZfT5Nn5bE3zuCDe9UxdTpNvK+5AAAAABJRU5ErkJggg==";let p=!1,g=new Image;g.src=n;const f=window.matchMedia("(prefers-reduced-motion: reduce)");function m(){if(f.matches)return console.log("This browser has prefers reduced motion turned on, so the cursor did not init");e=document.createElement("canvas"),o=e.getContext("2d"),e.style.top="0px",e.style.left="0px",e.style.pointerEvents="none",s?(e.style.position="absolute",r.appendChild(e),e.width=r.clientWidth,e.height=r.clientHeight):(e.style.position="fixed",document.body.appendChild(e),e.width=a,e.height=h),r.addEventListener("mousemove",w),window.addEventListener("resize",A),_()}function A(t){a=window.innerWidth,h=window.innerHeight,s?(e.width=r.clientWidth,e.height=r.clientHeight):(e.width=a,e.height=h)}function w(t){if(s){const e=r.getBoundingClientRect();l.x=t.clientX-e.left,l.y=t.clientY-e.top}else l.x=t.clientX,l.y=t.clientY;if(!1===p){p=!0;for(let t=0;t{(f.matches?v:m)()},m(),{destroy:v}}function y(t){let e,r,i,n=t&&t.element,s=n||document.body,a=window.innerWidth,h=window.innerHeight,l={x:a/2,y:a/2},c=[];const o=t?.length||20,d=t?.colors||["#FE0000","#FD8C00","#FFE500","#119F0B","#0644B3","#C22EDC"],u=t?.size||3;let p=!1;const g=window.matchMedia("(prefers-reduced-motion: reduce)");function f(){if(g.matches)return console.log("This browser has prefers reduced motion turned on, so the cursor did not init");e=document.createElement("canvas"),r=e.getContext("2d"),e.style.top="0px",e.style.left="0px",e.style.pointerEvents="none",n?(e.style.position="absolute",s.appendChild(e),e.width=s.clientWidth,e.height=s.clientHeight):(e.style.position="fixed",document.body.appendChild(e),e.width=a,e.height=h),s.addEventListener("mousemove",A),window.addEventListener("resize",m),w()}function m(t){a=window.innerWidth,h=window.innerHeight,n?(e.width=s.clientWidth,e.height=s.clientHeight):(e.width=a,e.height=h)}function A(t){if(n){const e=s.getBoundingClientRect();l.x=t.clientX-e.left,l.y=t.clientY-e.top}else l.x=t.clientX,l.y=t.clientY;if(!1===p){p=!0;for(let t=0;t{r.beginPath(),r.strokeStyle=t,n.length&&r.moveTo(n[0].x,n[0].y+i*(u-1)),n.forEach((t,e)=>{0!==e&&r.lineTo(t.x,t.y+i*u)}),r.lineWidth=u,r.lineCap="round",r.stroke()})}i=requestAnimationFrame(w)}function _(){e.remove(),cancelAnimationFrame(i),s.removeEventListener("mousemove",A),window.addEventListener("resize",m)}function v(t,e){this.position={x:t,y:e}}return g.onchange=()=>{(g.matches?_:f)()},f(),{destroy:_}}function x(t){let e,o,r,i=t&&t.element,n=i||document.body,a=window.innerWidth,h=window.innerHeight,l={x:a/2,y:a/2};const O=t&&t.dateColor||"blue",W=t&&t.faceColor||"black",P=t&&t.secondsColor||"red",Y=t&&t.minutesColor||"black",F=t&&t.hoursColor||"black",c=.4,H=t&&t.theDays||["SUNDAY","MONDAY","TUESDAY","WEDNESDAY","THURSDAY","FRIDAY","SATURDAY"],U=t&&t.theMonths||["JANUARY","FEBRUARY","MARCH","APRIL","MAY","JUNE","JULY","AUGUST","SEPTEMBER","OCTOBER","NOVEMBER","DECEMBER"];var t=new Date,X=t.getDate(),z=t.getYear()+1900;const s=(" "+H[t.getDay()]+" "+X+" "+U[t.getMonth()]+" "+z).split(""),d=["3","4","5","6","7","8","9","10","11","12","1","2"],u=d.length,p=["•","•","•"],g=["•","•","•","•"],f=["•","•","•","•","•"],m=360/u,A=360/s.length,w=45/6.5,_=[],v=[],y=[],x=[],b=[],E=[],M=[],k=[],C=[];var j=parseInt(s.length+u+p.length+g.length+f.length)+1;const L=window.matchMedia("(prefers-reduced-motion: reduce)");function B(){if(L.matches)return console.log("This browser has prefers reduced motion turned on, so the cursor did not init");e=document.createElement("canvas"),o=e.getContext("2d"),e.style.top="0px",e.style.left="0px",e.style.pointerEvents="none",i?(e.style.position="absolute",n.appendChild(e),e.width=n.clientWidth,e.height=n.clientHeight):(e.style.position="fixed",document.body.appendChild(e),e.width=a,e.height=h),o.font="10px sans-serif",o.textAlign="center",o.textBaseline="middle";for(let t=0;t=h-80&&(_[t-1]=h-80),v[t-1]>=a-80&&(v[t-1]=a-80);o.clearRect(0,0,a,h);var t=new Date,e=t.getSeconds(),i=Math.PI*(e-15)/30,e=t.getMinutes(),n=Math.PI*(e-15)/30,e=t.getHours(),s=Math.PI*(e-3)/6+Math.PI*parseInt(t.getMinutes())/360;for(let t=0;t{(L.matches?T:B)()},B(),{destroy:T}}function b(t){let e,s,o,i=t||{},n=t&&t.element,r=n||document.body,a=i.text?" "+t.text:" Your Text Here",h=t?.color||"#000000",l=i.font||"monospace",c=i.textSize||12,d=c+"px "+l,u=i.gap||c+2,p=0,g=[],f=window.innerWidth,m=window.innerHeight,A={x:f/2,y:f/2};for(let t=0;t{(w.matches?b:_)()},_(),{destroy:b}}i;(e=r=r||{}).Rainbow="rainbow",e.FairyDust="fairy_dust",e.SpringyEmoji="springy_emoji",e.Emoji="emoji",e.Ghost="ghost",e.Trailing="trailing",e.TextFlag="text_flag",e.FollowingDot="following_dot",e.Bubbles="bubbles",e.Snowflake="snowflake",e.Clock="clock";class E{constructor(){this.enabled=!0,this.chance=100,this.effects={[r.Rainbow]:new class extends M{constructor(){super(...arguments),this.length=20,this.size=3,this.colors=["#9400D3","#4B0082","#0000FF","#00FF00","#FFFF00","#FF7F00","#FF0000"]}},[r.SpringyEmoji]:new class extends M{constructor(){super(...arguments),this.emoji="🤪"}},[r.Emoji]:new class extends M{constructor(){super(...arguments),this.emoji=["🔥","🐬","🦆"]}},[r.FairyDust]:new class extends M{constructor(){super(...arguments),this.colors=["#ff0000","#00ff00","#0000ff"]}},[r.Ghost]:new M,[r.Trailing]:new class extends M{constructor(){super(...arguments),this.particles=15,this.rate=.4,this.baseImageSrc=null}},[r.TextFlag]:new class extends M{constructor(){super(...arguments),this.text="С днём смеха!",this.color="#000000",this.font="monospace",this.textSize=12,this.gap=14,this.size=3}},[r.FollowingDot]:new class extends M{constructor(){super(...arguments),this.color="#323232a6"}},[r.Bubbles]:new M,[r.Snowflake]:new class extends M{constructor(){super(...arguments),this.weight=0}},[r.Clock]:new class extends M{constructor(){super(...arguments),this.dateColor="blue",this.faceColor="black",this.secondsColor="red",this.minutesColor="black",this.hoursColor="black"}}}}}class M extends class{}{constructor(){super(...arguments),this.enabled=!0,this.weight=50}}o;class k{constructor(){this.enabled=!0,this.chance=100,this.gender_resolver=null,this.rude=!1,this.change_frequency=5,this.schemas={"{adj} {noun}{p}":10,"{noun} {adj}{p}":3,"{adj}, {adj} {noun}{p}":10,"{adj} и очень {adj} {noun}{p}":10,"{adj} {noun} {verb}{p}":10,"{adj} {noun} {adv} {verb}{p}":5,"{adj} {noun} {verb} {place}{p}":5,"{adj} {noun} {adv} {verb} {place}{p}":5},this.variants={adj:{},noun:{},verb:{},place:{},adv:{},p:{"":new C({weight:15}),".":new C({weight:10}),"...":new C({weight:5}),"!":new C({weight:5}),"!!!":new C({weight:2}),"?":new C({weight:2}),"?!":new C({weight:1})}}}}class C{constructor(t){this.weight=10,this.enabled=!0,this.rude=!1,(this.gender=null)==this.weight&&(this.weight=t.weight),null==this.enabled&&(this.enabled=t.enabled),null==this.rude&&(this.rude=t.rude),null==this.gender&&(this.gender=t.gender)}}function j(i,t){const n={};return t.split(",").map(t=>t.trim()).forEach(t=>{var e=t.replace(/[^А-ЯЁа-яёA-Za-z\- ]/g,"");""!==e&&(n[e]=new C({gender:i,rude:0<=t.indexOf("$"),enabled:t.indexOf("!")<0,weight:10*(0<=t.indexOf("$")?.5:1)*(0<=t.indexOf("%")?.5:1)*(0<=t.indexOf("^")?2:1)}))}),n}window.BuildStupidTitleVariant=j;o;class L{constructor(){this.enabled=!0,this.chance=10}}o;class B{constructor(){this.enabled=!0,this.chance=10,this.selector=".post-content",this.ruToEn={"а":"a","б":"b","в":"v","г":"g","д":"d","е":"e","ё":"e","ж":"j","з":"z","и":"i","й":"j","к":"k","л":"l","м":"m","н":"n","о":"o","п":"p","р":"r","с":"s","т":"t","у":"u","ф":"f","х":"h","ц":"c","ч":"ch","ш":"sh","щ":"shch","ъ":"ie","ы":"y","ь":"","э":"e","ю":"u","я":"ya"},this.enToRu={a:"а",b:"б",c:"с",d:"д",e:"е",f:"ф",gh:"ж",g:"г",h:"х",i:"и",j:"й",k:"к",l:"л",m:"м",n:"н",o:"о",p:"п",q:"кью",r:"р",s:"с",t:"т",u:"ю",v:"в",w:"в",x:"кс",y:"ы",z:"з"}}}class R{constructor(t=0,e=0){this.x=t,this.y=e}get angle(){return Math.atan2(this.y,this.x)}set angle(t){var e=this.length;this.x=Math.cos(t)*e,this.y=Math.sin(t)*e}get length(){return Math.distance(this.x,this.y)}set length(t){var e=this.angle;this.x=Math.cos(e)*t,this.y=Math.sin(e)*t}static addVectors(t,e){return new R(t.x+e.x,t.y+e.y)}static dotProduct(t,e){return t.x*e.x+t.y*e.y}static fromLengthAngle(t,e){var i=new R;return i.length=e,i.angle=t,i}reverse(){return new R(-this.x,-this.y)}add(t){return R.addVectors(this,t)}multiply(t){return new R(t*this.x,t*this.y)}toTransform(){return`translate(${this.x}px, ${this.y}px)`}toString(){return c`Vector(x=${this.x}, y=${this.y}, `+c`length=${this.length}, angle=${this.angle})`}}Math.distance=(t,e)=>Math.sqrt(t*t+e*e);o;class D{constructor(t){this.settings=t,this.state={position:new R,velocity:R.fromLengthAngle(2*Math.random()*Math.PI,Math.random()*(this.settings.maxVelocity-this.settings.minVelocity)+this.settings.minVelocity),acceleration:new R},this.mouse=new R,this.dt=1/this.settings.tickPerSecond}get position(){return this.state.position}get velocity(){return this.state.velocity}get acceleration(){return this.state.acceleration}step(t){this.last=this.state,this.debugLines=[],this.forces={},this.processForces(),this.processMovement(),this.processCollisions(t)}processForces(){this.forces.gravity=R.fromLengthAngle(this.last.position.angle+Math.PI,this.settings.gravity),this.last.velocity.lengththis.settings.maxVelocity&&(this.forces.correction=R.fromLengthAngle(this.last.velocity.angle+Math.PI,this.settings.correctionForce*Math.pow(this.last.velocity.length-this.settings.maxVelocity,2)));var t=this.mouse.add(this.last.position.reverse());t.lengthe&&(this.position.x=2*e-this.position.x,this.velocity.x=-this.velocity.x*this.settings.collisionElasticity),this.position.y<-t&&(this.position.y=-2*t-this.position.y,this.velocity.y=-this.velocity.y*this.settings.collisionElasticity),this.position.y>t&&(this.position.y=2*t-this.position.y,this.velocity.y=-this.velocity.y*this.settings.collisionElasticity)}randomGaussian(t=0,e=1){var i=1-Math.random(),n=Math.random();return Math.sqrt(-2*Math.log(i))*Math.cos(2*Math.PI*n)*e+t}}class S{constructor(){this.enabled=!0,this.chance=100,this.keepDistance=200,this.maxVelocity=500,this.minVelocity=20,this.tickPerSecond=50,this.gravity=20,this.correctionForce=.8,this.mouseForceMax=5e3,this.mouseForcePow=5,this.mass=1,this.collisionElasticity=.9}}window.AprilJokes=(t=>{const e=new d;return t.forEach(t=>{e.add(new t)}),$(()=>e.regularStart()),e})([class extends i{constructor(){super(...arguments),this.id="shake",this.title="Форумо-трясение",this.description="Страница форума начинает трястись",this._settings=new p,this.dataName="april-fools-shake"}rand(t){return t+this.settings.force*(2*Math.random()-1)}start(){this.items=a()(this.settings.selector),this.items.each((t,e)=>{const i={};this.settings.directions.forEach(t=>{i[t]=parseInt(a()(e).css("margin-"+t))}),a()(e).data(this.dataName,i)}),this.intervalId=setInterval(()=>{this.items.each((t,e)=>{var i=a()(e).data(this.dataName);for(const n of Object.entries(i))a()(e).css("margin-"+n[0],this.rand(n[1]))})},this.settings.interval)}stop(){clearInterval(this.intervalId),this.items.each((t,e)=>{const i={};this.settings.directions.forEach(t=>{a()(e).css("margin-"+t,i[t])}),a()(e).data(this.dataName,i)})}},class extends o{constructor(){super(...arguments),this.id="humanitarian_hell",this.title="Ад гуманитария",this.description='Все "тся" заменяются на "ться", а все "ться" на "тся"',this._settings=new g}processText(t){return t.replace(/(ть?ся)/g,function(t){return 0{e.textContent=this.processText(e.textContent)})}},class extends o{constructor(){super(...arguments),this.id="mirror",this.title="Зеркало",this.description="Элементы форума отражаются (по крайней мере, пытаются)",this._settings=new f}start(){a()(".post, .post h3, .post-links, .post-author, .post-content").css("transform","scaleX(-1)").css("-moz-transform","scaleX(-1)").css("-moz-transform","scaleX(-1)").css("filter","FlipH").css("-ms-filter",'"FlipH"'),a()(".post-links, .post-links ul, .post h3 span").css("margin-left","0"),a()(".post h3 span").css("margin-right","25em")}},class extends o{constructor(){super(...arguments),this.id="carnival",this.title="Карнавал",this.description="Аватарки приобретают интересные цвета",this._settings=new m}start(){a()(this.settings.selector).each((t,e)=>{var i=[];for(const n of Object.entries(this.settings.variants))this.check(this.settings.variant_chance)&&i.push(n[0].replace("{0}",Math.round(Math.random()*n[1]).toString()));0{var i=a()(e).text();let n="";for(let t=0;tthis.shuffleLetters(e))}start(){n(this.settings.selector).each((t,e)=>this.processNode(e))}},class extends i{constructor(){super(...arguments),this.id="cursor_effects",this.title="Красивый курсор",this.description="Эффекты, следующие за курсором",this._settings=new E}enableAll(){for(const t of Object.keys(this.settings.effects))this.settings.effects[t].enabled=!0}disableAll(){for(const t of Object.keys(this.settings.effects))this.settings.effects[t].enabled=!1}weight(t){t=this.settings.effects[t];return t.enabled?t.weight:0}getRandomEffect(){var t=Object.values(r).map(t=>t),e=t.reduce((t,e)=>t+this.weight(e),0),i=Math.random()*e;let n=0;for(const s of t)if(i<=(n+=this.weight(s)))return s;throw new Error("Тебя быть тут не должно...")}start(){var t=this.getRandomEffect(),e=this.settings.effects[t];this.active_cursor_effect=function(t,e){switch(t){case r.Rainbow:return y(e);case r.FairyDust:return function(t){let e=t&&t.colors||["#D61C59","#E7D84B","#1B8798"],i=t&&t.element,n=i||document.body,s=window.innerWidth,o=window.innerHeight;const r={x:s/2,y:s/2},a={x:s/2,y:s/2},h=[],l=[];let c,d,u;const p=window.matchMedia("(prefers-reduced-motion: reduce)");function g(){if(p.matches)return console.log("This browser has prefers reduced motion turned on, so the cursor did not init");c=document.createElement("canvas"),d=c.getContext("2d"),c.style.top="0px",c.style.left="0px",c.style.pointerEvents="none",i?(c.style.position="absolute",n.appendChild(c),c.width=n.clientWidth,c.height=n.clientHeight):(c.style.position="fixed",n.appendChild(c),c.width=s,c.height=o),d.font="21px serif",d.textBaseline="middle",d.textAlign="center",e.forEach(t=>{var e=d.measureText("*"),i=document.createElement("canvas"),n=i.getContext("2d");i.width=e.width,i.height=e.actualBoundingBoxAscent+e.actualBoundingBoxDescent,n.fillStyle=t,n.textAlign="center",n.font="21px serif",n.textBaseline="middle",n.fillText("*",i.width/2,e.actualBoundingBoxAscent),l.push(i)}),n.addEventListener("mousemove",A),n.addEventListener("touchmove",m,{passive:!0}),n.addEventListener("touchstart",m,{passive:!0}),window.addEventListener("resize",f),_()}function f(t){s=window.innerWidth,o=window.innerHeight,i?(c.width=n.clientWidth,c.height=n.clientHeight):(c.width=s,c.height=o)}function m(e){if(0{if(i){const e=n.getBoundingClientRect();r.x=t.clientX-e.left,r.y=t.clientY-e.top}else r.x=t.clientX,r.y=t.clientY;1.5{(p.matches?v:g)()},g(),{destroy:v}}(e);case r.SpringyEmoji:return _(e);case r.Emoji:return function(t){const e=t&&t.emoji||["😀","😂","😆","😊"];let i=t&&t.element,n=i||document.body,s=window.innerWidth,o=window.innerHeight;const r={x:s/2,y:s/2},a={x:s/2,y:s/2};let h=0;const l=[],c=[];let d,u,p;const g=window.matchMedia("(prefers-reduced-motion: reduce)");function f(){if(g.matches)return console.log("This browser has prefers reduced motion turned on, so the cursor did not init");d=document.createElement("canvas"),u=d.getContext("2d"),d.style.top="0px",d.style.left="0px",d.style.pointerEvents="none",i?(d.style.position="absolute",n.appendChild(d),d.width=n.clientWidth,d.height=n.clientHeight):(d.style.position="fixed",document.body.appendChild(d),d.width=s,d.height=o),u.font="21px serif",u.textBaseline="middle",u.textAlign="center",e.forEach(t=>{var e=u.measureText(t),i=document.createElement("canvas"),n=i.getContext("2d");i.width=e.width,i.height=2*e.actualBoundingBoxAscent,n.textAlign="center",n.font="21px serif",n.textBaseline="middle",n.fillText(t,i.width/2,e.actualBoundingBoxAscent),c.push(i)}),n.addEventListener("mousemove",w,{passive:!0}),n.addEventListener("touchmove",A,{passive:!0}),n.addEventListener("touchstart",A,{passive:!0}),window.addEventListener("resize",m),v()}function m(t){s=window.innerWidth,o=window.innerHeight,i?(d.width=n.clientWidth,d.height=n.clientHeight):(d.width=s,d.height=o)}function A(e){if(0{if(i){const e=n.getBoundingClientRect();r.x=t.clientX-e.left,r.y=t.clientY-e.top}else r.x=t.clientX,r.y=t.clientY;1{(g.matches?y:f)()},f(),{destroy:y}}(e);case r.Ghost:return function(t){let e,i,n,s=t&&t.element,o=s||document.body,r=t&&t.randomDelay,a=t&&t.minDelay||5,h=t&&t.maxDelay||50,l=window.innerWidth,c=window.innerHeight,d={x:l/2,y:l/2},u=[],p=new Image;t&&t.image?p.src=t.image:p.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAATCAYAAACk9eypAAAAAXNSR0IArs4c6QAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAhGVYSWZNTQAqAAAACAAFARIAAwAAAAEAAQAAARoABQAAAAEAAABKARsABQAAAAEAAABSASgAAwAAAAEAAgAAh2kABAAAAAEAAABaAAAAAAAAAEgAAAABAAAASAAAAAEAA6ABAAMAAAABAAEAAKACAAQAAAABAAAADKADAAQAAAABAAAAEwAAAAAChpcNAAAACXBIWXMAAAsTAAALEwEAmpwYAAABWWlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNS40LjAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyI+CiAgICAgICAgIDx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgpMwidZAAABqElEQVQoFY3SPUvDQBgH8BREpRHExYiDgmLFl6WC+AYmWeyLg4i7buJX8DMpOujgyxGvUYeCgzhUQUSKKLUS0+ZyptXh8Z5Ti621ekPyJHl+uftfomhaf9Ei5JyxXKfynyEA6EYcLHpwyflT958GAQ7DTABNHd8EbtDbEH2BD5QEQmi2mM8P/Iq+A0SzszEg+3sPjDnDdVEtQKQbMUidHD3xVzf6A9UDEmEm+8h9KTqTVUjT+vB53aHrCbAPiceYq1dQI1Aqv4EhMll0jzv+Y0yiRgCnLRSYyDQHVoqUXe4uKL9l+L7GXC4vkMhE6eW/AOJs9k583ORDUyXMZ8F5SVHVVnllmPNKSFagAJ5DofaqGXw/gHBYg51dIldkmknY3tguv3jOtHR4+MqAzaraJXbEhqHhcQlwGSOi5pytVQHZLN5s0WNe8HPrLYlFsO20RPHkImxsbmHdLJFI76th7Z4SeuF53hTeFLvhRCJRCTKZKxgdnRDbW+iozFJbBMw14/ElwGYc0egMBMFzT21f5Rog33Z7dX02GBm7WV5ZfT5Nn5bE3zuCDe9UxdTpNvK+5AAAAABJRU5ErkJggg==";const g=window.matchMedia("(prefers-reduced-motion: reduce)");function f(){if(g.matches)return console.log("This browser has prefers reduced motion turned on, so the cursor did not init");e=document.createElement("canvas"),i=e.getContext("2d"),e.style.top="0px",e.style.left="0px",e.style.pointerEvents="none",s?(e.style.position="absolute",o.appendChild(e),e.width=o.clientWidth,e.height=o.clientHeight):(e.style.position="fixed",document.body.appendChild(e),e.width=l,e.height=c),o.addEventListener("mousemove",y),o.addEventListener("touchmove",A,{passive:!0}),o.addEventListener("touchstart",A,{passive:!0}),window.addEventListener("resize",m),b()}function m(t){l=window.innerWidth,c=window.innerHeight,s?(e.width=o.clientWidth,e.height=o.clientHeight):(e.width=l,e.height=c)}function A(e){if(0{(g.matches?E:f)()};let w=()=>Math.floor(Math.random()*(h-a+1))+a,_=Date.now(),v=w();function y(t){if(r){if(_+v>Date.now())return;_=Date.now(),v=w()}var e;s?(e=o.getBoundingClientRect(),d.x=t.clientX-e.left,d.y=t.clientY-e.top):(d.x=t.clientX,d.y=t.clientY),x(d.x,d.y,p)}function x(t,e,i){u.push(new M(t,e,i))}function b(){if(0!=u.length){i.clearRect(0,0,l,c);for(let t=0;t{(c.matches?f:d)()},d(),{destroy:f}}(e);case r.Bubbles:return function(t){let e,i,n,s=t&&t.element,o=s||document.body,r=window.innerWidth,a=window.innerHeight,h={x:r/2,y:r/2},l=[],c=[];const d=window.matchMedia("(prefers-reduced-motion: reduce)");function u(){if(d.matches)return console.log("This browser has prefers reduced motion turned on, so the cursor did not init");e=document.createElement("canvas"),i=e.getContext("2d"),e.style.top="0px",e.style.left="0px",e.style.pointerEvents="none",s?(e.style.position="absolute",o.appendChild(e),e.width=o.clientWidth,e.height=o.clientHeight):(e.style.position="fixed",document.body.appendChild(e),e.width=r,e.height=a),o.addEventListener("mousemove",f),o.addEventListener("touchmove",g,{passive:!0}),o.addEventListener("touchstart",g,{passive:!0}),window.addEventListener("resize",p),A()}function p(t){r=window.innerWidth,a=window.innerHeight,s?(e.width=o.clientWidth,e.height=o.clientHeight):(e.width=r,e.height=a)}function g(e){if(0{(d.matches?w:u)()},u(),{destroy:w}}(e);case r.Snowflake:return function(t){let e,s,i,n=t&&t.element,o=n||document.body,r=["❄️"],a=window.innerWidth,h=window.innerHeight,l={x:a/2,y:a/2},c=[],d=[];const u=window.matchMedia("(prefers-reduced-motion: reduce)");function p(){if(u.matches)return console.log("This browser has prefers reduced motion turned on, so the cursor did not init");e=document.createElement("canvas"),s=e.getContext("2d"),e.style.top="0px",e.style.left="0px",e.style.pointerEvents="none",n?(e.style.position="absolute",o.appendChild(e),e.width=o.clientWidth,e.height=o.clientHeight):(e.style.position="fixed",document.body.appendChild(e),e.width=a,e.height=h),s.font="12px serif",s.textBaseline="middle",s.textAlign="center",r.forEach(t=>{var e=s.measureText(t),i=document.createElement("canvas"),n=i.getContext("2d");i.width=e.width,i.height=2*e.actualBoundingBoxAscent,n.textAlign="center",n.font="12px serif",n.textBaseline="middle",n.fillText(t,i.width/2,e.actualBoundingBoxAscent),d.push(i)}),o.addEventListener("mousemove",m),o.addEventListener("touchmove",f,{passive:!0}),o.addEventListener("touchstart",f,{passive:!0}),window.addEventListener("resize",g),w()}function g(t){a=window.innerWidth,h=window.innerHeight,n?(e.width=o.clientWidth,e.height=o.clientHeight):(e.width=a,e.height=h)}function f(e){if(0{(u.matches?_:p)()},p(),{destroy:_}}(e);case r.Clock:return x(e)}}(t,e)}stop(){this.active_cursor_effect.destroy()}},class extends o{constructor(){super(...arguments),this.id="stupid_title",this.title="Глупые статусы",this.description="Каждому пользователю даётся новый глупый статус",this._settings=new k,this.loadedGenders=null,this.variantsGenerated=!1,this.seed=0}async loadGenders(){var t=a()(".pa-author a").map((t,e)=>e.innerText).toArray().reduce((t,e)=>(t.indexOf(e)<0&&t.push(e),t),[]),t="/api.php?"+a().param({method:"users.get",fields:"username,sex",username:t}),t=await(await fetch(t)).json();this.loadedGenders={},t.error||null!=(t=t.response)&&t.users.forEach(t=>{"0"!==t.sex&&(this.loadedGenders[t.username]="1"===t.sex)})}resolveGender(t){return null!==this.settings.gender_resolver?!!this.settings.gender_resolver.call(this,t):t in this.loadedGenders?!!this.loadedGenders[t]:(this.resetSeed(),"m"===this.selectRandom(t,{m:1,f:1}))}async start(){var t;this.variantsGenerated||((t=this.settings.variants).adj=Object.assign(Object.assign(Object.assign({},j(!0,"адекватный,$адский,активный,алчный,%ангельский,банальный,безнадёжный,$бесполезный,былой,верный,виртуальный,вкусный,воспитанный,выгодный,выходной,гигантский,$глупый,гордый,грамотный,громадный,грубый,далекий,двуличный,деятельный,доброжелательный,$жалкий,жёсткий,жестокий,$жирный,заинтересованный,запасной,застенчивый,знакомый,иностранный,истинный,конструктивный,креативный,ласковый,любимый,мелочный,^мирный,мстительный,небесный,невозможный,независимый,низкий,нужный,объективный,обыкновенный,опрятный,^оригинальный,особенный,острый,откровенный,открытый,пестрый,повседневный,подземный,пожилой,показательный,последний,посторонний,провинциальный,пышный,робкий,родной,самовлюблённый,северный,седой,семейный,серьёзный,сногсшибательный,^солнечный,спокойный,суровый,терпеливый,уверенный в себе,ударный,^удачливый,формальный,хладнокровный,целый,чистый,чрезвычайный,чужой,южный")),j(!1,"адекватная,$адская,активная,алчная,%ангельская,банальная,безнадёжная,$бесполезная,былая,верная,виртуальная,вкусная,воспитанная,выгодная,выходная,гигантская,$глупая,гордая,грамотная,громадная,грубая,далекая,двуличная,деятельная,доброжелательная,$жалкая,жёсткая,жестокая,$жирная,заинтересованная,запасная,застенчивая,знакомая,иностранная,истинная,конструктивная,креативная,ласковая,любимая,мелочная,^мирная,мстительная,небесная,невозможная,независимая,низкая,нужная,объективная,обыкновенная,опрятная,^оригинальная,особенная,острая,откровенная,открытая,пестрая,повседневная,подземная,пожилая,показательная,последняя,посторонняя,провинциальная,пышная,робкая,родная,самовлюблённая,северная,седая,семейная,серьезная,сногсшибательная,^солнечная,спокаяная,суровая,терпеливая,уверенная в себе,ударная,^удачливая,формальная,хладнокровная,целая,чистая,чрезвычайная,чужая,южная")),t.adj),t.noun=Object.assign(Object.assign(Object.assign({},j(!0,"актёр,$балбес,бард,басурманин,борец,бродяга,бруталище,волк,дворф,%дед,%дедушка,джентльмен,диван,динозавр,дракон,ёж,%ёжик,жук,зайц,$злоумышленник,зомби,карасик,кентавр,кит,кот,кролик,кулак,лев,ледник,лесоруб,%мальчег,мальчик,манекен,массажист,мачо,монах,монстр,наследник,ниндзя,носорог,одиночка,организм,орёл,отец,принц,проказник,пузырь,$раб,рыцарь,спортсмен,сурикат,сын,%сынок,тигр,товарищ,хоббит,эльф")),j(!1,"актриса,акула,$бабка,бабочка,%бабушка,бактерия,белочка,бусинка,валькирия,$ведьма,волторна,волчица,горгулья,дворфиха,девочка,деревяшка,детка,%деффачка,%дочка,дочь,заноза,$злоумышленница,знаменитость,каруселька,килька,конфетка,косточка,кошка,красотка,крышка,леди,$личинка,львица,мать,машина,милашка,монашка,мышь,наследница,орлица,панда,пиранья,принцесса,простуда,$рабыня,русалочка,рыбка,рыбка,скамеечка,спортсменка,тигрица,травка,черепашка,чертовка,эльфийка")),t.noun),t.verb=Object.assign(Object.assign(Object.assign(Object.assign({},j(null,"бежит,берёт и делает,болеет,встаёт,говорит,думает,забывает,замирает,заходит,идёт,%имеет план и придерживается его,ловит,меняется,молчит,нарушает,оглядывается,орёт,освобождает,отвечает,отказаться куда-то идти,отказывается,отказывается вставать,отказывается что-то делать,оформляет,плывёт,поглядывает,поздравляет,поздравляет,получает,прибывает,приказывает,просыпается,прощает,работает,радуется,скрывается,снимает,снимает,снимается в сериале,снимается в фильме,собирается,соединяет,спрашивает,тянет,указывает,учит,читает,что-то скрывает,чувствует опасность,шепчет")),j(!0,"взял и сделал,додумался,женился,женится,заработался,не спал,не успел,обиделся,познал дзен,присел,проснулся,скрылся,смог,успел")),j(!1,"взяла и сделала,выходит замуж,вышла замуж,додумалась,заработалась,не спала,не успела,обиделась,познала дзен,присела,проснулась,скрылась,смогла,успела")),t.verb),t.place=Object.assign(Object.assign({},j(null,"в джунглях,в квартире,в космосе,в лесу,в очереди,в пустыне,в театре,%в тёплой и уютной квартире,в филармонии,где-то,на заснеженной вершине,на конференции,на пляже,на форуме,под водой,под дождём,%под проливным дождём")),t.place),t.adv=Object.assign(Object.assign({},j(null,"безрассудно,быстро,внезапно,вновь,$грубо,грустно,медленно,%молниеносно,немедленно,опять,осмысленно,позже,предсказуемо,расчётливо,регулярно,счастливо,уже,уныло")),t.adv),this.variantsGenerated=!0),await this.loadGenders();const n={};a()(".post-author").each((t,e)=>{var i=a()(".pa-author a",e).text();i&&(i in n||(this.resetSeed(),n[i]=this.generatePhrase(i)),a()(".pa-title",e).text(n[i]))})}generatePhrase(i){const n=this.resolveGender(i);var t=this.selectRandom(i,this.settings.schemas);return this.capitalizeFirst(t.replace(/\{(.+?)}/g,(t,e)=>{e=this.buildVariants(e,n);return this.selectRandom(i,e)}))}prng(i,t,e){let n=3735928559^t,s=1103547991^t;for(let t=0,e;t>>16,2246822507)^Math.imul(s^s>>>13,3266489909);t=4294967296*(2097151&(s=Math.imul(s^s>>>16,2246822507)^Math.imul(n^n>>>13,3266489909)))+(n>>>0);return Math.floor(Math.pow(Math.sin(t),2)*e)%e}resetSeed(){var t=new Date,e=60*t.getUTCHours()+t.getUTCMinutes();0===this.settings.change_frequency?this.seed=60*e+t.getUTCSeconds():this.seed=Math.floor(e/this.settings.change_frequency)}selectRandom(t,i){var e=Object.keys(i),n=e.reduce((t,e)=>t+i[e],0),s=this.prng(t,this.seed++,n);let o=0;for(const r of e)if(s<=(o+=i[r]))return r;throw new Error("Тебя быть тут не должно...")}buildVariants(t,e){var i={},t=this.settings.variants[t];for(const o of Object.entries(t)){var n=o[0],s=o[1];!s.enabled||s.gender===!e||!this.settings.rude&&s.rude||(i[n]=s.weight)}return i}capitalizeFirst(t){return t.charAt(0).toUpperCase()+t.slice(1)}},class extends o{constructor(){super(...arguments),this.id="inverted_scroll",this.title="Обратная гравитация",this.description="Скролл в обратную сторону",this._settings=new L}start(){document.addEventListener("wheel",t=>{t.preventDefault(),scrollBy(0,-t.deltaY)},{passive:!1})}},class extends o{constructor(){super(...arguments),this.id="latinization",this.title="Латинизация",this.description="Все символы на странице или только в постах или еще где-то местами - латиницей вместо кириллицы и наоборот",this._settings=new B}start(){n(this.settings.selector).each((t,e)=>this.processNode(e))}latinize(t){if(/[а-яА-ЯёЁ0-9_-]+/.test(t))for(var[e,i]of Object.entries(this.settings.ruToEn))t=t.replace(new RegExp(e,"g"),i).replace(new RegExp(e.toUpperCase(),"gi"),i.toUpperCase());else if(/[a-zA-Z0-9_-]+/.test(t))for(var[n,s]of Object.entries(this.settings.enToRu))t=t.replace(new RegExp(n,"g"),s).replace(new RegExp(n.toUpperCase(),"gi"),s.toUpperCase());return t}processNode(t){t.textContent=null==(t=t.textContent)?void 0:t.replace(/([А-Яа-яA-Za-z]+)/gm,(t,e)=>this.latinize(e))}},class extends o{constructor(){super(...arguments),this.id="fresh_grass",this.title="Свежая трава",this.description="Предложение потрогать траву",this._settings=new S}start(){a()(()=>this.init())}init(){var t=a()(document.body);document.body.style.setProperty("--fresh-grass-body-top",`-${window.scrollY}px`),this.container=a()(''),this.container.hide(0),t.append(this.container),this.container.fadeIn(500),this.fleeingGrass()}debug(t){h&&a()("small",this.container).html(`${t}`)}fleeingGrass(){this.movement=new D(this.settings);const e=a()("img.april-fools__joke__fresh-grass__image",this.container);e.on("mousedown",()=>{this.close()}),a()(window).on("mousemove",t=>{this.movement.mouse=new R(t.clientX-window.innerWidth/2,t.clientY-window.innerHeight/2)}),this.intervalIndex=setInterval(()=>{var t=e[0].getBoundingClientRect();this.movement.step(t),e.css("transform",this.movement.state.position.toTransform())},Math.floor(1e3*this.movement.dt))}close(){clearInterval(this.intervalIndex),this.container.fadeOut({duration:500,complete:()=>{this.container.remove(),scrollTo(0,-parseInt(document.body.style.getPropertyValue("--fresh-grass-body-top")))}})}}])})()})();