1!function(e,t){"function"==typeof define&&define.amd?define(t):"undefined"!=typeof exports?module.exports=t():e.PowerGlitch=t()}(this,function(){"use strict";var e=Object.defineProperty,t=Object.defineProperties,i=Object.getOwnPropertyDescriptors,n=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable,l=(t,i,n)=>i in t?e(t,i,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[i]=n,o=(e,t)=>{for(var i in t||(t={}))r.call(t,i)&&l(e,i,t[i]);if(n)for(var i of n(t))a.call(t,i)&&l(e,i,t[i]);return e},s=(e,n)=>t(e,i(n)),c=(e="always")=>({playMode:e,createContainers:!0,hideOverflow:!1,timing:"always"===e?{duration:2e3,iterations:1/0}:{duration:250,iterations:1},glitchTimeSpan:"always"===e?{start:.5,end:.7}:{start:0,end:1},shake:{velocity:15,amplitudeX:.2,amplitudeY:.2},slice:"click"===e?{count:15,velocity:20,minHeight:.02,maxHeight:.15,hueRotate:!0}:{count:6,velocity:15,minHeight:.02,maxHeight:.15,hueRotate:!0},pulse:!1}),h=(e,t)=>{if(!e.glitchTimeSpan)return 1;let i=e.glitchTimeSpan.start,n=e.glitchTimeSpan.end;if(t<i||t>n)return 0;let r=i+(n-i)/2;return t<r?(t-i)/(r-i):(n-t)/(n-r)},p=(e,t)=>(Math.random()-.5)*2*h(e,t),m=({minHeight:e,maxHeight:t,minWidth:i,maxWidth:n})=>{let r=Math.floor(Math.random()*((t-e)*100+1))+100*e,a=Math.floor(Math.random()*((n-i)*100+1))+100*i,l=Math.floor(Math.random()*(100-r)),o=Math.floor(Math.random()*(100-a)),s=`${o+a}% ${l}%`,c=`${o+a}% ${l+r}%`,h=`${o}% ${l+r}%`,p=`${o}% ${l}%`;return`polygon(${s},${c},${h},${p})`},d=e=>{let t=Math.floor(e.slice.velocity*e.timing.duration/1e3)+1,i=[];for(let n=0;n<t;++n){if(0===h(e,n/t)){i.push({opacity:"0",transform:"none",clipPath:"unset"});continue}let r=30*p(e,n/t),a={opacity:"1",transform:`translate3d(${r}%,0,0)`,clipPath:m({minHeight:e.slice.minHeight,maxHeight:e.slice.maxHeight,minWidth:1,maxWidth:1})};e.slice.hueRotate&&(a.filter=`hue-rotate(${Math.floor(360*p(e,n/t))}deg)`),i.push(a)}return{steps:i,timing:o({easing:`steps(${t},jump-start)`},e.timing)}},u=e=>e.pulse?{steps:[{transform:"scale(1)",opacity:"1"},{transform:`scale(${e.pulse.scale})`,opacity:"0"},],timing:s(o({},e.timing),{delay:(e.glitchTimeSpan?e.glitchTimeSpan.start:0)*e.timing.duration,easing:"ease-in-out"})}:null,f=e=>{if(!e.shake)return{steps:[],timing:{}};let t=Math.floor(e.shake.velocity*e.timing.duration/1e3)+1,i=[];for(let n=0;n<t;++n){let r=p(e,n/t)*e.shake.amplitudeX*100,a=p(e,n/t)*e.shake.amplitudeY*100;i.push({transform:`translate3d(${r}%,${a}%,0)`})}return{steps:i,timing:o({easing:`steps(${t},jump-start)`},e.timing)}},$=e=>[f(e),u(e),...Array.from({length:e.slice.count}).map(()=>d(e))].filter(e=>null!==e),g=(...e)=>{let t=e=>e&&"object"==typeof e;return e.reduce((e,i)=>
1(Object.keys(i).forEach(n=>{t(e[n])&&t(i[n])?e[n]=g(e[n],i[n]):void 0!==i[n]&&(e[n]=i[n])}),e),{})},y=(e,t)=>{var i,n;if(!t.createContainers)return{container:e,layersContainer:e,glitched:e.firstElementChild};if(!e.dataset.glitched){let r=document.createElement("div"),a=document.createElement("div");return getComputedStyle(e).getPropertyValue("display").match(/^inline/)&&(a.style.display="inline-block"),a.appendChild(r),null==(i=e.parentElement)||i.insertBefore(a,e),r.prepend(e),{container:a,layersContainer:r,glitched:e}}let l=e.parentElement,o=null==(n=e.parentElement)?void 0:n.parentElement;for(;l.children.length>1;)l.removeChild(l.children[1]);return l.firstElementChild.getAnimations().forEach(e=>e.cancel()),{container:o,layersContainer:l,glitched:e}},_=(e,t,i)=>{let{glitched:n,container:r,layersContainer:a}=y(e,i);a.style.display="grid",i.hideOverflow&&(r.style.overflow="hidden"),i.html&&(n.innerHTML=i.html),n.style.gridArea="1/1/-1/-1";let l=n.cloneNode(!0);l.style.gridArea="1/1/-1/-1",l.style.userSelect="none",l.style.pointerEvents="none",l.style.opacity="0";for(let o=0;o<t.length-1;++o){let s=l.cloneNode(!0);a.appendChild(s)}let c=()=>{t.forEach((e,t)=>{a.children[t].animate(e.steps,e.timing)})},h=()=>{t.forEach((e,t)=>{a.children[t].getAnimations().forEach(e=>{e.cancel()})})};switch(i.playMode){case"always":c();break;case"hover":r.onmouseenter=c,r.onmouseleave=h;break;case"click":r.onclick=()=>{h(),c()}}return e.dataset.glitched="1",{container:r,startGlitch:c,stopGlitch:h}};return{glitch(e=".powerglitch",t={}){let i=g(c(t.playMode),t),n=[];"string"==typeof e?n=Array.from(document.querySelectorAll(e)):e instanceof NodeList?n=Array.from(e):Array.isArray(e)?n=e:e instanceof HTMLElement&&(n=[e]);let r=$(i),a=n.map(e=>_(e,r,i));return{containers:a.map(e=>e.container),startGlitch:()=>a.forEach(e=>e.startGlitch()),stopGlitch:()=>a.forEach(e=>e.stopGlitch())}},generateLayers:$,getDefaultOptions:c}});
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.