(function (){
"use strict";
function initButton(){
var buttonPath=document.querySelector('.smooth-back-to-top-button path, .smooth-back-to-top-button rect');
if(!buttonPath){
return;
}
var pathLength=buttonPath.getTotalLength();
buttonPath.style.strokeDasharray=pathLength + ' ' + pathLength;
buttonPath.style.strokeDashoffset=pathLength;
var isTicking=false;
var updateButtonProgress=function (){
var scroll=window.scrollY;
var height=document.documentElement.scrollHeight - window.innerHeight;
var progress=height > 0 ? pathLength - (scroll * pathLength / height):pathLength;
buttonPath.style.strokeDashoffset=progress;
isTicking=false;
};
var onScroll=function (){
if(!isTicking){
window.requestAnimationFrame(updateButtonProgress);
isTicking=true;
}};
updateButtonProgress();
window.addEventListener('scroll', onScroll, { passive: true });
}
if(document.readyState==='loading'){
document.addEventListener('DOMContentLoaded', initButton);
}else{
initButton();
}})();
var pJS=function(tag_id, params){
var canvas_el=document.querySelector('#'+tag_id+' > .particles-js-canvas-el');
this.pJS={
canvas: {
el: canvas_el,
w: canvas_el.offsetWidth,
h: canvas_el.offsetHeight
},
particles: {
number: {
value: 400,
density: {
enable: true,
value_area: 800
}},
color: {
value: '#fff'
},
shape: {
type: 'circle',
stroke: {
width: 0,
color: '#ff0000'
},
polygon: {
nb_sides: 5
},
image: {
src: '',
width: 100,
height: 100
}},
opacity: {
value: 1,
random: false,
anim: {
enable: false,
speed: 2,
opacity_min: 0,
sync: false
}},
size: {
value: 20,
random: false,
anim: {
enable: false,
speed: 20,
size_min: 0,
sync: false
}},
line_linked: {
enable: true,
distance: 100,
color: '#fff',
opacity: 1,
width: 1
},
move: {
enable: true,
speed: 2,
direction: 'none',
random: false,
straight: false,
out_mode: 'out',
bounce: false,
attract: {
enable: false,
rotateX: 3000,
rotateY: 3000
}},
array: []
},
interactivity: {
detect_on: 'canvas',
events: {
onhover: {
enable: true,
mode: 'grab'
},
onclick: {
enable: true,
mode: 'push'
},
resize: true
},
modes: {
grab:{
distance: 100,
line_linked:{
opacity: 1
}},
bubble:{
distance: 200,
size: 80,
duration: 0.4
},
repulse:{
distance: 200,
duration: 0.4
},
push:{
particles_nb: 4
},
remove:{
particles_nb: 2
}},
mouse:{}},
retina_detect: false,
fn: {
interact: {},
modes: {},
vendors:{}},
tmp: {}};
var pJS=this.pJS;
if(params){
Object.deepExtend(pJS, params);
}
pJS.tmp.obj={
size_value: pJS.particles.size.value,
size_anim_speed: pJS.particles.size.anim.speed,
move_speed: pJS.particles.move.speed,
line_linked_distance: pJS.particles.line_linked.distance,
line_linked_width: pJS.particles.line_linked.width,
mode_grab_distance: pJS.interactivity.modes.grab.distance,
mode_bubble_distance: pJS.interactivity.modes.bubble.distance,
mode_bubble_size: pJS.interactivity.modes.bubble.size,
mode_repulse_distance: pJS.interactivity.modes.repulse.distance
};
pJS.fn.retinaInit=function(){
if(pJS.retina_detect&&window.devicePixelRatio > 1){
pJS.canvas.pxratio=window.devicePixelRatio;
pJS.tmp.retina=true;
}else{
pJS.canvas.pxratio=1;
pJS.tmp.retina=false;
}
pJS.canvas.w=pJS.canvas.el.offsetWidth * pJS.canvas.pxratio;
pJS.canvas.h=pJS.canvas.el.offsetHeight * pJS.canvas.pxratio;
pJS.particles.size.value=pJS.tmp.obj.size_value * pJS.canvas.pxratio;
pJS.particles.size.anim.speed=pJS.tmp.obj.size_anim_speed * pJS.canvas.pxratio;
pJS.particles.move.speed=pJS.tmp.obj.move_speed * pJS.canvas.pxratio;
pJS.particles.line_linked.distance=pJS.tmp.obj.line_linked_distance * pJS.canvas.pxratio;
pJS.interactivity.modes.grab.distance=pJS.tmp.obj.mode_grab_distance * pJS.canvas.pxratio;
pJS.interactivity.modes.bubble.distance=pJS.tmp.obj.mode_bubble_distance * pJS.canvas.pxratio;
pJS.particles.line_linked.width=pJS.tmp.obj.line_linked_width * pJS.canvas.pxratio;
pJS.interactivity.modes.bubble.size=pJS.tmp.obj.mode_bubble_size * pJS.canvas.pxratio;
pJS.interactivity.modes.repulse.distance=pJS.tmp.obj.mode_repulse_distance * pJS.canvas.pxratio;
};
pJS.fn.canvasInit=function(){
pJS.canvas.ctx=pJS.canvas.el.getContext('2d');
};
pJS.fn.canvasSize=function(){
pJS.canvas.el.width=pJS.canvas.w;
pJS.canvas.el.height=pJS.canvas.h;
if(pJS&&pJS.interactivity.events.resize){
window.addEventListener('resize', function(){
pJS.canvas.w=pJS.canvas.el.offsetWidth;
pJS.canvas.h=pJS.canvas.el.offsetHeight;
if(pJS.tmp.retina){
pJS.canvas.w *=pJS.canvas.pxratio;
pJS.canvas.h *=pJS.canvas.pxratio;
}
pJS.canvas.el.width=pJS.canvas.w;
pJS.canvas.el.height=pJS.canvas.h;
if(!pJS.particles.move.enable){
pJS.fn.particlesEmpty();
pJS.fn.particlesCreate();
pJS.fn.particlesDraw();
pJS.fn.vendors.densityAutoParticles();
}
pJS.fn.vendors.densityAutoParticles();
});
}};
pJS.fn.canvasPaint=function(){
pJS.canvas.ctx.fillRect(0, 0, pJS.canvas.w, pJS.canvas.h);
};
pJS.fn.canvasClear=function(){
pJS.canvas.ctx.clearRect(0, 0, pJS.canvas.w, pJS.canvas.h);
};
pJS.fn.particle=function(color, opacity, position){
this.radius=(pJS.particles.size.random ? Math.random():1) * pJS.particles.size.value;
if(pJS.particles.size.anim.enable){
this.size_status=false;
this.vs=pJS.particles.size.anim.speed / 100;
if(!pJS.particles.size.anim.sync){
this.vs=this.vs * Math.random();
}}
this.x=position ? position.x:Math.random() * pJS.canvas.w;
this.y=position ? position.y:Math.random() * pJS.canvas.h;
if(this.x > pJS.canvas.w - this.radius*2) this.x=this.x - this.radius;
else if(this.x < this.radius*2) this.x=this.x + this.radius;
if(this.y > pJS.canvas.h - this.radius*2) this.y=this.y - this.radius;
else if(this.y < this.radius*2) this.y=this.y + this.radius;
if(pJS.particles.move.bounce){
pJS.fn.vendors.checkOverlap(this, position);
}
this.color={};
if(typeof(color.value)=='object'){
if(color.value instanceof Array){
var color_selected=color.value[Math.floor(Math.random() * pJS.particles.color.value.length)];
this.color.rgb=hexToRgb(color_selected);
}else{
if(color.value.r!=undefined&&color.value.g!=undefined&&color.value.b!=undefined){
this.color.rgb={
r: color.value.r,
g: color.value.g,
b: color.value.b
}}
if(color.value.h!=undefined&&color.value.s!=undefined&&color.value.l!=undefined){
this.color.hsl={
h: color.value.h,
s: color.value.s,
l: color.value.l
}}
}}
else if(color.value=='random'){
this.color.rgb={
r: (Math.floor(Math.random() * (255 - 0 + 1)) + 0),
g: (Math.floor(Math.random() * (255 - 0 + 1)) + 0),
b: (Math.floor(Math.random() * (255 - 0 + 1)) + 0)
}}
else if(typeof(color.value)=='string'){
this.color=color;
this.color.rgb=hexToRgb(this.color.value);
}
this.opacity=(pJS.particles.opacity.random ? Math.random():1) * pJS.particles.opacity.value;
if(pJS.particles.opacity.anim.enable){
this.opacity_status=false;
this.vo=pJS.particles.opacity.anim.speed / 100;
if(!pJS.particles.opacity.anim.sync){
this.vo=this.vo * Math.random();
}}
var velbase={}
switch(pJS.particles.move.direction){
case 'top':
velbase={ x:0, y:-1 };
break;
case 'top-right':
velbase={ x:0.5, y:-0.5 };
break;
case 'right':
velbase={ x:1, y:-0 };
break;
case 'bottom-right':
velbase={ x:0.5, y:0.5 };
break;
case 'bottom':
velbase={ x:0, y:1 };
break;
case 'bottom-left':
velbase={ x:-0.5, y:1 };
break;
case 'left':
velbase={ x:-1, y:0 };
break;
case 'top-left':
velbase={ x:-0.5, y:-0.5 };
break;
default:
velbase={ x:0, y:0 };
break;
}
if(pJS.particles.move.straight){
this.vx=velbase.x;
this.vy=velbase.y;
if(pJS.particles.move.random){
this.vx=this.vx * (Math.random());
this.vy=this.vy * (Math.random());
}}else{
this.vx=velbase.x + Math.random()-0.5;
this.vy=velbase.y + Math.random()-0.5;
}
this.vx_i=this.vx;
this.vy_i=this.vy;
var shape_type=pJS.particles.shape.type;
if(typeof(shape_type)=='object'){
if(shape_type instanceof Array){
var shape_selected=shape_type[Math.floor(Math.random() * shape_type.length)];
this.shape=shape_selected;
}}else{
this.shape=shape_type;
}
if(this.shape=='image'){
var sh=pJS.particles.shape;
this.img={
src: sh.image.src,
ratio: sh.image.width / sh.image.height
}
if(!this.img.ratio) this.img.ratio=1;
if(pJS.tmp.img_type=='svg'&&pJS.tmp.source_svg!=undefined){
pJS.fn.vendors.createSvgImg(this);
if(pJS.tmp.pushing){
this.img.loaded=false;
}}
}};
pJS.fn.particle.prototype.draw=function(){
var p=this;
if(p.radius_bubble!=undefined){
var radius=p.radius_bubble;
}else{
var radius=p.radius;
}
if(p.opacity_bubble!=undefined){
var opacity=p.opacity_bubble;
}else{
var opacity=p.opacity;
}
if(p.color.rgb){
var color_value='rgba('+p.color.rgb.r+','+p.color.rgb.g+','+p.color.rgb.b+','+opacity+')';
}else{
var color_value='hsla('+p.color.hsl.h+','+p.color.hsl.s+'%,'+p.color.hsl.l+'%,'+opacity+')';
}
pJS.canvas.ctx.fillStyle=color_value;
pJS.canvas.ctx.beginPath();
switch(p.shape){
case 'circle':
pJS.canvas.ctx.arc(p.x, p.y, radius, 0, Math.PI * 2, false);
break;
case 'edge':
pJS.canvas.ctx.rect(p.x-radius, p.y-radius, radius*2, radius*2);
break;
case 'triangle':
pJS.fn.vendors.drawShape(pJS.canvas.ctx, p.x-radius, p.y+radius / 1.66, radius*2, 3, 2);
break;
case 'polygon':
pJS.fn.vendors.drawShape(pJS.canvas.ctx,
p.x - radius / (pJS.particles.shape.polygon.nb_sides/3.5),
p.y - radius / (2.66/3.5),
radius*2.66 / (pJS.particles.shape.polygon.nb_sides/3),
pJS.particles.shape.polygon.nb_sides,
1 
);
break;
case 'star':
pJS.fn.vendors.drawShape(pJS.canvas.ctx,
p.x - radius*2 / (pJS.particles.shape.polygon.nb_sides/4),
p.y - radius / (2*2.66/3.5),
radius*2*2.66 / (pJS.particles.shape.polygon.nb_sides/3),
pJS.particles.shape.polygon.nb_sides,
2 
);
break;
case 'image':
function draw(){
pJS.canvas.ctx.drawImage(img_obj,
p.x-radius,
p.y-radius,
radius*2,
radius*2 / p.img.ratio
);
}
if(pJS.tmp.img_type=='svg'){
var img_obj=p.img.obj;
}else{
var img_obj=pJS.tmp.img_obj;
}
if(img_obj){
draw();
}
break;
}
pJS.canvas.ctx.closePath();
if(pJS.particles.shape.stroke.width > 0){
pJS.canvas.ctx.strokeStyle=pJS.particles.shape.stroke.color;
pJS.canvas.ctx.lineWidth=pJS.particles.shape.stroke.width;
pJS.canvas.ctx.stroke();
}
pJS.canvas.ctx.fill();
};
pJS.fn.particlesCreate=function(){
for(var i=0; i < pJS.particles.number.value; i++){
pJS.particles.array.push(new pJS.fn.particle(pJS.particles.color, pJS.particles.opacity.value));
}};
pJS.fn.particlesUpdate=function(){
for(var i=0; i < pJS.particles.array.length; i++){
var p=pJS.particles.array[i];
if(pJS.particles.move.enable){
var ms=pJS.particles.move.speed/2;
p.x +=p.vx * ms;
p.y +=p.vy * ms;
}
if(pJS.particles.opacity.anim.enable){
if(p.opacity_status==true){
if(p.opacity >=pJS.particles.opacity.value) p.opacity_status=false;
p.opacity +=p.vo;
}else{
if(p.opacity <=pJS.particles.opacity.anim.opacity_min) p.opacity_status=true;
p.opacity -=p.vo;
}
if(p.opacity < 0) p.opacity=0;
}
if(pJS.particles.size.anim.enable){
if(p.size_status==true){
if(p.radius >=pJS.particles.size.value) p.size_status=false;
p.radius +=p.vs;
}else{
if(p.radius <=pJS.particles.size.anim.size_min) p.size_status=true;
p.radius -=p.vs;
}
if(p.radius < 0) p.radius=0;
}
if(pJS.particles.move.out_mode=='bounce'){
var new_pos={
x_left: p.radius,
x_right:  pJS.canvas.w,
y_top: p.radius,
y_bottom: pJS.canvas.h
}}else{
var new_pos={
x_left: -p.radius,
x_right: pJS.canvas.w + p.radius,
y_top: -p.radius,
y_bottom: pJS.canvas.h + p.radius
}}
if(p.x - p.radius > pJS.canvas.w){
p.x=new_pos.x_left;
p.y=Math.random() * pJS.canvas.h;
}
else if(p.x + p.radius < 0){
p.x=new_pos.x_right;
p.y=Math.random() * pJS.canvas.h;
}
if(p.y - p.radius > pJS.canvas.h){
p.y=new_pos.y_top;
p.x=Math.random() * pJS.canvas.w;
}
else if(p.y + p.radius < 0){
p.y=new_pos.y_bottom;
p.x=Math.random() * pJS.canvas.w;
}
switch(pJS.particles.move.out_mode){
case 'bounce':
if(p.x + p.radius > pJS.canvas.w) p.vx=-p.vx;
else if(p.x - p.radius < 0) p.vx=-p.vx;
if(p.y + p.radius > pJS.canvas.h) p.vy=-p.vy;
else if(p.y - p.radius < 0) p.vy=-p.vy;
break;
}
if(isInArray('grab', pJS.interactivity.events.onhover.mode)){
pJS.fn.modes.grabParticle(p);
}
if(isInArray('bubble', pJS.interactivity.events.onhover.mode)||isInArray('bubble', pJS.interactivity.events.onclick.mode)){
pJS.fn.modes.bubbleParticle(p);
}
if(isInArray('repulse', pJS.interactivity.events.onhover.mode)||isInArray('repulse', pJS.interactivity.events.onclick.mode)){
pJS.fn.modes.repulseParticle(p);
}
if(pJS.particles.line_linked.enable||pJS.particles.move.attract.enable){
for(var j=i + 1; j < pJS.particles.array.length; j++){
var p2=pJS.particles.array[j];
if(pJS.particles.line_linked.enable){
pJS.fn.interact.linkParticles(p,p2);
}
if(pJS.particles.move.attract.enable){
pJS.fn.interact.attractParticles(p,p2);
}
if(pJS.particles.move.bounce){
pJS.fn.interact.bounceParticles(p,p2);
}}
}}
};
pJS.fn.particlesDraw=function(){
pJS.canvas.ctx.clearRect(0, 0, pJS.canvas.w, pJS.canvas.h);
pJS.fn.particlesUpdate();
for(var i=0; i < pJS.particles.array.length; i++){
var p=pJS.particles.array[i];
p.draw();
}};
pJS.fn.particlesEmpty=function(){
pJS.particles.array=[];
};
pJS.fn.particlesRefresh=function(){
cancelRequestAnimFrame(pJS.fn.checkAnimFrame);
cancelRequestAnimFrame(pJS.fn.drawAnimFrame);
pJS.tmp.source_svg=undefined;
pJS.tmp.img_obj=undefined;
pJS.tmp.count_svg=0;
pJS.fn.particlesEmpty();
pJS.fn.canvasClear();
pJS.fn.vendors.start();
};
pJS.fn.interact.linkParticles=function(p1, p2){
var dx=p1.x - p2.x,
dy=p1.y - p2.y,
dist=Math.sqrt(dx*dx + dy*dy);
if(dist <=pJS.particles.line_linked.distance){
var opacity_line=pJS.particles.line_linked.opacity - (dist / (1/pJS.particles.line_linked.opacity)) / pJS.particles.line_linked.distance;
if(opacity_line > 0){
var color_line=pJS.particles.line_linked.color_rgb_line;
pJS.canvas.ctx.strokeStyle='rgba('+color_line.r+','+color_line.g+','+color_line.b+','+opacity_line+')';
pJS.canvas.ctx.lineWidth=pJS.particles.line_linked.width;
pJS.canvas.ctx.beginPath();
pJS.canvas.ctx.moveTo(p1.x, p1.y);
pJS.canvas.ctx.lineTo(p2.x, p2.y);
pJS.canvas.ctx.stroke();
pJS.canvas.ctx.closePath();
}}
};
pJS.fn.interact.attractParticles=function(p1, p2){
var dx=p1.x - p2.x,
dy=p1.y - p2.y,
dist=Math.sqrt(dx*dx + dy*dy);
if(dist <=pJS.particles.line_linked.distance){
var ax=dx/(pJS.particles.move.attract.rotateX*1000),
ay=dy/(pJS.particles.move.attract.rotateY*1000);
p1.vx -=ax;
p1.vy -=ay;
p2.vx +=ax;
p2.vy +=ay;
}}
pJS.fn.interact.bounceParticles=function(p1, p2){
var dx=p1.x - p2.x,
dy=p1.y - p2.y,
dist=Math.sqrt(dx*dx + dy*dy),
dist_p=p1.radius+p2.radius;
if(dist <=dist_p){
p1.vx=-p1.vx;
p1.vy=-p1.vy;
p2.vx=-p2.vx;
p2.vy=-p2.vy;
}}
pJS.fn.modes.pushParticles=function(nb, pos){
pJS.tmp.pushing=true;
for(var i=0; i < nb; i++){
pJS.particles.array.push(new pJS.fn.particle(pJS.particles.color,
pJS.particles.opacity.value,
{
'x': pos ? pos.pos_x:Math.random() * pJS.canvas.w,
'y': pos ? pos.pos_y:Math.random() * pJS.canvas.h
}
)
)
if(i==nb-1){
if(!pJS.particles.move.enable){
pJS.fn.particlesDraw();
}
pJS.tmp.pushing=false;
}}
};
pJS.fn.modes.removeParticles=function(nb){
pJS.particles.array.splice(0, nb);
if(!pJS.particles.move.enable){
pJS.fn.particlesDraw();
}};
pJS.fn.modes.bubbleParticle=function(p){
if(pJS.interactivity.events.onhover.enable&&isInArray('bubble', pJS.interactivity.events.onhover.mode)){
var dx_mouse=p.x - pJS.interactivity.mouse.pos_x,
dy_mouse=p.y - pJS.interactivity.mouse.pos_y,
dist_mouse=Math.sqrt(dx_mouse*dx_mouse + dy_mouse*dy_mouse),
ratio=1 - dist_mouse / pJS.interactivity.modes.bubble.distance;
function init(){
p.opacity_bubble=p.opacity;
p.radius_bubble=p.radius;
}
if(dist_mouse <=pJS.interactivity.modes.bubble.distance){
if(ratio >=0&&pJS.interactivity.status=='mousemove'){
if(pJS.interactivity.modes.bubble.size!=pJS.particles.size.value){
if(pJS.interactivity.modes.bubble.size > pJS.particles.size.value){
var size=p.radius + (pJS.interactivity.modes.bubble.size*ratio);
if(size >=0){
p.radius_bubble=size;
}}else{
var dif=p.radius - pJS.interactivity.modes.bubble.size,
size=p.radius - (dif*ratio);
if(size > 0){
p.radius_bubble=size;
}else{
p.radius_bubble=0;
}}
}
if(pJS.interactivity.modes.bubble.opacity!=pJS.particles.opacity.value){
if(pJS.interactivity.modes.bubble.opacity > pJS.particles.opacity.value){
var opacity=pJS.interactivity.modes.bubble.opacity*ratio;
if(opacity > p.opacity&&opacity <=pJS.interactivity.modes.bubble.opacity){
p.opacity_bubble=opacity;
}}else{
var opacity=p.opacity - (pJS.particles.opacity.value-pJS.interactivity.modes.bubble.opacity)*ratio;
if(opacity < p.opacity&&opacity >=pJS.interactivity.modes.bubble.opacity){
p.opacity_bubble=opacity;
}}
}}
}else{
init();
}
if(pJS.interactivity.status=='mouseleave'){
init();
}}
else if(pJS.interactivity.events.onclick.enable&&isInArray('bubble', pJS.interactivity.events.onclick.mode)){
if(pJS.tmp.bubble_clicking){
var dx_mouse=p.x - pJS.interactivity.mouse.click_pos_x,
dy_mouse=p.y - pJS.interactivity.mouse.click_pos_y,
dist_mouse=Math.sqrt(dx_mouse*dx_mouse + dy_mouse*dy_mouse),
time_spent=(new Date().getTime() - pJS.interactivity.mouse.click_time)/1000;
if(time_spent > pJS.interactivity.modes.bubble.duration){
pJS.tmp.bubble_duration_end=true;
}
if(time_spent > pJS.interactivity.modes.bubble.duration*2){
pJS.tmp.bubble_clicking=false;
pJS.tmp.bubble_duration_end=false;
}}
function process(bubble_param, particles_param, p_obj_bubble, p_obj, id){
if(bubble_param!=particles_param){
if(!pJS.tmp.bubble_duration_end){
if(dist_mouse <=pJS.interactivity.modes.bubble.distance){
if(p_obj_bubble!=undefined) var obj=p_obj_bubble;
else var obj=p_obj;
if(obj!=bubble_param){
var value=p_obj - (time_spent * (p_obj - bubble_param) / pJS.interactivity.modes.bubble.duration);
if(id=='size') p.radius_bubble=value;
if(id=='opacity') p.opacity_bubble=value;
}}else{
if(id=='size') p.radius_bubble=undefined;
if(id=='opacity') p.opacity_bubble=undefined;
}}else{
if(p_obj_bubble!=undefined){
var value_tmp=p_obj - (time_spent * (p_obj - bubble_param) / pJS.interactivity.modes.bubble.duration),
dif=bubble_param - value_tmp;
value=bubble_param + dif;
if(id=='size') p.radius_bubble=value;
if(id=='opacity') p.opacity_bubble=value;
}}
}}
if(pJS.tmp.bubble_clicking){
process(pJS.interactivity.modes.bubble.size, pJS.particles.size.value, p.radius_bubble, p.radius, 'size');
process(pJS.interactivity.modes.bubble.opacity, pJS.particles.opacity.value, p.opacity_bubble, p.opacity, 'opacity');
}}
};
pJS.fn.modes.repulseParticle=function(p){
if(pJS.interactivity.events.onhover.enable&&isInArray('repulse', pJS.interactivity.events.onhover.mode)&&pJS.interactivity.status=='mousemove'){
var dx_mouse=p.x - pJS.interactivity.mouse.pos_x,
dy_mouse=p.y - pJS.interactivity.mouse.pos_y,
dist_mouse=Math.sqrt(dx_mouse*dx_mouse + dy_mouse*dy_mouse);
var normVec={x: dx_mouse/dist_mouse, y: dy_mouse/dist_mouse},
repulseRadius=pJS.interactivity.modes.repulse.distance,
velocity=100,
repulseFactor=clamp((1/repulseRadius)*(-1*Math.pow(dist_mouse/repulseRadius,2)+1)*repulseRadius*velocity, 0, 50);
var pos={
x: p.x + normVec.x * repulseFactor,
y: p.y + normVec.y * repulseFactor
}
if(pJS.particles.move.out_mode=='bounce'){
if(pos.x - p.radius > 0&&pos.x + p.radius < pJS.canvas.w) p.x=pos.x;
if(pos.y - p.radius > 0&&pos.y + p.radius < pJS.canvas.h) p.y=pos.y;
}else{
p.x=pos.x;
p.y=pos.y;
}}
else if(pJS.interactivity.events.onclick.enable&&isInArray('repulse', pJS.interactivity.events.onclick.mode)){
if(!pJS.tmp.repulse_finish){
pJS.tmp.repulse_count++;
if(pJS.tmp.repulse_count==pJS.particles.array.length){
pJS.tmp.repulse_finish=true;
}}
if(pJS.tmp.repulse_clicking){
var repulseRadius=Math.pow(pJS.interactivity.modes.repulse.distance/6, 3);
var dx=pJS.interactivity.mouse.click_pos_x - p.x,
dy=pJS.interactivity.mouse.click_pos_y - p.y,
d=dx*dx + dy*dy;
var force=-repulseRadius / d * 1;
function process(){
var f=Math.atan2(dy,dx);
p.vx=force * Math.cos(f);
p.vy=force * Math.sin(f);
if(pJS.particles.move.out_mode=='bounce'){
var pos={
x: p.x + p.vx,
y: p.y + p.vy
}
if(pos.x + p.radius > pJS.canvas.w) p.vx=-p.vx;
else if(pos.x - p.radius < 0) p.vx=-p.vx;
if(pos.y + p.radius > pJS.canvas.h) p.vy=-p.vy;
else if(pos.y - p.radius < 0) p.vy=-p.vy;
}}
if(d <=repulseRadius){
process();
}}else{
if(pJS.tmp.repulse_clicking==false){
p.vx=p.vx_i;
p.vy=p.vy_i;
}}
}}
pJS.fn.modes.grabParticle=function(p){
if(pJS.interactivity.events.onhover.enable&&pJS.interactivity.status=='mousemove'){
var dx_mouse=p.x - pJS.interactivity.mouse.pos_x,
dy_mouse=p.y - pJS.interactivity.mouse.pos_y,
dist_mouse=Math.sqrt(dx_mouse*dx_mouse + dy_mouse*dy_mouse);
if(dist_mouse <=pJS.interactivity.modes.grab.distance){
var opacity_line=pJS.interactivity.modes.grab.line_linked.opacity - (dist_mouse / (1/pJS.interactivity.modes.grab.line_linked.opacity)) / pJS.interactivity.modes.grab.distance;
if(opacity_line > 0){
var color_line=pJS.particles.line_linked.color_rgb_line;
pJS.canvas.ctx.strokeStyle='rgba('+color_line.r+','+color_line.g+','+color_line.b+','+opacity_line+')';
pJS.canvas.ctx.lineWidth=pJS.particles.line_linked.width;
pJS.canvas.ctx.beginPath();
pJS.canvas.ctx.moveTo(p.x, p.y);
pJS.canvas.ctx.lineTo(pJS.interactivity.mouse.pos_x, pJS.interactivity.mouse.pos_y);
pJS.canvas.ctx.stroke();
pJS.canvas.ctx.closePath();
}}
}};
pJS.fn.vendors.eventsListeners=function(){
if(pJS.interactivity.detect_on=='window'){
pJS.interactivity.el=window;
}else{
pJS.interactivity.el=pJS.canvas.el;
}
if(pJS.interactivity.events.onhover.enable||pJS.interactivity.events.onclick.enable){
pJS.interactivity.el.addEventListener('mousemove', function(e){
if(pJS.interactivity.el==window){
var pos_x=e.clientX,
pos_y=e.clientY;
}else{
var pos_x=e.offsetX||e.clientX,
pos_y=e.offsetY||e.clientY;
}
pJS.interactivity.mouse.pos_x=pos_x;
pJS.interactivity.mouse.pos_y=pos_y;
if(pJS.tmp.retina){
pJS.interactivity.mouse.pos_x *=pJS.canvas.pxratio;
pJS.interactivity.mouse.pos_y *=pJS.canvas.pxratio;
}
pJS.interactivity.status='mousemove';
});
pJS.interactivity.el.addEventListener('mouseleave', function(e){
pJS.interactivity.mouse.pos_x=null;
pJS.interactivity.mouse.pos_y=null;
pJS.interactivity.status='mouseleave';
});
}
if(pJS.interactivity.events.onclick.enable){
pJS.interactivity.el.addEventListener('click', function(){
pJS.interactivity.mouse.click_pos_x=pJS.interactivity.mouse.pos_x;
pJS.interactivity.mouse.click_pos_y=pJS.interactivity.mouse.pos_y;
pJS.interactivity.mouse.click_time=new Date().getTime();
if(pJS.interactivity.events.onclick.enable){
switch(pJS.interactivity.events.onclick.mode){
case 'push':
if(pJS.particles.move.enable){
pJS.fn.modes.pushParticles(pJS.interactivity.modes.push.particles_nb, pJS.interactivity.mouse);
}else{
if(pJS.interactivity.modes.push.particles_nb==1){
pJS.fn.modes.pushParticles(pJS.interactivity.modes.push.particles_nb, pJS.interactivity.mouse);
}
else if(pJS.interactivity.modes.push.particles_nb > 1){
pJS.fn.modes.pushParticles(pJS.interactivity.modes.push.particles_nb);
}}
break;
case 'remove':
pJS.fn.modes.removeParticles(pJS.interactivity.modes.remove.particles_nb);
break;
case 'bubble':
pJS.tmp.bubble_clicking=true;
break;
case 'repulse':
pJS.tmp.repulse_clicking=true;
pJS.tmp.repulse_count=0;
pJS.tmp.repulse_finish=false;
setTimeout(function(){
pJS.tmp.repulse_clicking=false;
}, pJS.interactivity.modes.repulse.duration*1000)
break;
}}
});
}};
pJS.fn.vendors.densityAutoParticles=function(){
if(pJS.particles.number.density.enable){
var area=pJS.canvas.el.width * pJS.canvas.el.height / 1000;
if(pJS.tmp.retina){
area=area/(pJS.canvas.pxratio*2);
}
var nb_particles=area * pJS.particles.number.value / pJS.particles.number.density.value_area;
var missing_particles=pJS.particles.array.length - nb_particles;
if(missing_particles < 0) pJS.fn.modes.pushParticles(Math.abs(missing_particles));
else pJS.fn.modes.removeParticles(missing_particles);
}};
pJS.fn.vendors.checkOverlap=function(p1, position){
for(var i=0; i < pJS.particles.array.length; i++){
var p2=pJS.particles.array[i];
var dx=p1.x - p2.x,
dy=p1.y - p2.y,
dist=Math.sqrt(dx*dx + dy*dy);
if(dist <=p1.radius + p2.radius){
p1.x=position ? position.x:Math.random() * pJS.canvas.w;
p1.y=position ? position.y:Math.random() * pJS.canvas.h;
pJS.fn.vendors.checkOverlap(p1);
}}
};
pJS.fn.vendors.createSvgImg=function(p){
var svgXml=pJS.tmp.source_svg,
rgbHex=/#([0-9A-F]{3,6})/gi,
coloredSvgXml=svgXml.replace(rgbHex, function (m, r, g, b){
if(p.color.rgb){
var color_value='rgba('+p.color.rgb.r+','+p.color.rgb.g+','+p.color.rgb.b+','+p.opacity+')';
}else{
var color_value='hsla('+p.color.hsl.h+','+p.color.hsl.s+'%,'+p.color.hsl.l+'%,'+p.opacity+')';
}
return color_value;
});
var svg=new Blob([coloredSvgXml], {type: 'image/svg+xml;charset=utf-8'}),
DOMURL=window.URL||window.webkitURL||window,
url=DOMURL.createObjectURL(svg);
var img=new Image();
img.addEventListener('load', function(){
p.img.obj=img;
p.img.loaded=true;
DOMURL.revokeObjectURL(url);
pJS.tmp.count_svg++;
});
img.src=url;
};
pJS.fn.vendors.destroypJS=function(){
cancelAnimationFrame(pJS.fn.drawAnimFrame);
canvas_el.remove();
pJSDom=null;
};
pJS.fn.vendors.drawShape=function(c, startX, startY, sideLength, sideCountNumerator, sideCountDenominator){
var sideCount=sideCountNumerator * sideCountDenominator;
var decimalSides=sideCountNumerator / sideCountDenominator;
var interiorAngleDegrees=(180 * (decimalSides - 2)) / decimalSides;
var interiorAngle=Math.PI - Math.PI * interiorAngleDegrees / 180;
c.save();
c.beginPath();
c.translate(startX, startY);
c.moveTo(0,0);
for (var i=0; i < sideCount; i++){
c.lineTo(sideLength,0);
c.translate(sideLength,0);
c.rotate(interiorAngle);
}
c.fill();
c.restore();
};
pJS.fn.vendors.exportImg=function(){
window.open(pJS.canvas.el.toDataURL('image/png'), '_blank');
};
pJS.fn.vendors.loadImg=function(type){
pJS.tmp.img_error=undefined;
if(pJS.particles.shape.image.src!=''){
if(type=='svg'){
var xhr=new XMLHttpRequest();
xhr.open('GET', pJS.particles.shape.image.src);
xhr.onreadystatechange=function (data){
if(xhr.readyState==4){
if(xhr.status==200){
pJS.tmp.source_svg=data.currentTarget.response;
pJS.fn.vendors.checkBeforeDraw();
}else{
console.log('Error pJS - Image not found');
pJS.tmp.img_error=true;
}}
}
xhr.send();
}else{
var img=new Image();
img.addEventListener('load', function(){
pJS.tmp.img_obj=img;
pJS.fn.vendors.checkBeforeDraw();
});
img.src=pJS.particles.shape.image.src;
}}else{
console.log('Error pJS - No image.src');
pJS.tmp.img_error=true;
}};
pJS.fn.vendors.draw=function(){
if(pJS.particles.shape.type=='image'){
if(pJS.tmp.img_type=='svg'){
if(pJS.tmp.count_svg >=pJS.particles.number.value){
pJS.fn.particlesDraw();
if(!pJS.particles.move.enable) cancelRequestAnimFrame(pJS.fn.drawAnimFrame);
else pJS.fn.drawAnimFrame=requestAnimFrame(pJS.fn.vendors.draw);
}else{
if(!pJS.tmp.img_error) pJS.fn.drawAnimFrame=requestAnimFrame(pJS.fn.vendors.draw);
}}else{
if(pJS.tmp.img_obj!=undefined){
pJS.fn.particlesDraw();
if(!pJS.particles.move.enable) cancelRequestAnimFrame(pJS.fn.drawAnimFrame);
else pJS.fn.drawAnimFrame=requestAnimFrame(pJS.fn.vendors.draw);
}else{
if(!pJS.tmp.img_error) pJS.fn.drawAnimFrame=requestAnimFrame(pJS.fn.vendors.draw);
}}
}else{
pJS.fn.particlesDraw();
if(!pJS.particles.move.enable) cancelRequestAnimFrame(pJS.fn.drawAnimFrame);
else pJS.fn.drawAnimFrame=requestAnimFrame(pJS.fn.vendors.draw);
}};
pJS.fn.vendors.checkBeforeDraw=function(){
if(pJS.particles.shape.type=='image'){
if(pJS.tmp.img_type=='svg'&&pJS.tmp.source_svg==undefined){
pJS.tmp.checkAnimFrame=requestAnimFrame(check);
}else{
cancelRequestAnimFrame(pJS.tmp.checkAnimFrame);
if(!pJS.tmp.img_error){
pJS.fn.vendors.init();
pJS.fn.vendors.draw();
}}
}else{
pJS.fn.vendors.init();
pJS.fn.vendors.draw();
}};
pJS.fn.vendors.init=function(){
pJS.fn.retinaInit();
pJS.fn.canvasInit();
pJS.fn.canvasSize();
pJS.fn.canvasPaint();
pJS.fn.particlesCreate();
pJS.fn.vendors.densityAutoParticles();
pJS.particles.line_linked.color_rgb_line=hexToRgb(pJS.particles.line_linked.color);
};
pJS.fn.vendors.start=function(){
if(isInArray('image', pJS.particles.shape.type)){
pJS.tmp.img_type=pJS.particles.shape.image.src.substr(pJS.particles.shape.image.src.length - 3);
pJS.fn.vendors.loadImg(pJS.tmp.img_type);
}else{
pJS.fn.vendors.checkBeforeDraw();
}};
pJS.fn.vendors.eventsListeners();
pJS.fn.vendors.start();
};
Object.deepExtend=function(destination, source){
for (var property in source){
if(source[property]&&source[property].constructor &&
source[property].constructor===Object){
destination[property]=destination[property]||{};
arguments.callee(destination[property], source[property]);
}else{
destination[property]=source[property];
}}
return destination;
};
window.requestAnimFrame=(function(){
return  window.requestAnimationFrame ||
window.webkitRequestAnimationFrame ||
window.mozRequestAnimationFrame    ||
window.oRequestAnimationFrame      ||
window.msRequestAnimationFrame     ||
function(callback){
window.setTimeout(callback, 1000 / 60);
};})();
window.cancelRequestAnimFrame=(function(){
return window.cancelAnimationFrame         ||
window.webkitCancelRequestAnimationFrame ||
window.mozCancelRequestAnimationFrame    ||
window.oCancelRequestAnimationFrame      ||
window.msCancelRequestAnimationFrame     ||
clearTimeout
})();
function hexToRgb(hex){
var shorthandRegex=/^#?([a-f\d])([a-f\d])([a-f\d])$/i;
hex=hex.replace(shorthandRegex, function(m, r, g, b){
return r + r + g + g + b + b;
});
var result=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
return result ? {
r: parseInt(result[1], 16),
g: parseInt(result[2], 16),
b: parseInt(result[3], 16)
}:null;
};
function clamp(number, min, max){
return Math.min(Math.max(number, min), max);
};
function isInArray(value, array){
return array.indexOf(value) > -1;
}
window.pJSDom=[];
window.particlesJS=function(tag_id, params){
if(typeof(tag_id)!='string'){
params=tag_id;
tag_id='particles-js';
}
if(!tag_id){
tag_id='particles-js';
}
var pJS_tag=document.getElementById(tag_id),
pJS_canvas_class='particles-js-canvas-el',
exist_canvas=pJS_tag.getElementsByClassName(pJS_canvas_class);
if(exist_canvas.length){
while(exist_canvas.length > 0){
pJS_tag.removeChild(exist_canvas[0]);
}}
var canvas_el=document.createElement('canvas');
canvas_el.className=pJS_canvas_class;
canvas_el.style.width="100%";
canvas_el.style.height="100%";
var canvas=document.getElementById(tag_id).appendChild(canvas_el);
if(canvas!=null){
pJSDom.push(new pJS(tag_id, params));
}};
window.particlesJS.load=function(tag_id, path_config_json, callback){
var xhr=new XMLHttpRequest();
xhr.open('GET', path_config_json);
xhr.onreadystatechange=function (data){
if(xhr.readyState==4){
if(xhr.status==200){
var params=JSON.parse(data.currentTarget.response);
window.particlesJS(tag_id, params);
if(callback) callback();
}else{
console.log('Error pJS - XMLHttpRequest status: '+xhr.status);
console.log('Error pJS - File config not found');
}}
};
xhr.send();
};
!function(n){var o={};function i(e){if(o[e])return o[e].exports;var t=o[e]={i:e,l:!1,exports:{}};return n[e].call(t.exports,t,t.exports,i),t.l=!0,t.exports}i.m=n,i.c=o,i.d=function(e,t,n){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(t,e){if(1&e&&(t=i(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)i.d(n,o,function(e){return t[e]}.bind(null,o));return n},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="",i(i.s=10)}([,,function(e,t){e.exports=function(e){"complete"===document.readyState||"interactive"===document.readyState?e.call():document.attachEvent?document.attachEvent("onreadystatechange",function(){"interactive"===document.readyState&&e.call()}):document.addEventListener&&document.addEventListener("DOMContentLoaded",e)}},function(t,e,n){!function(e){e="undefined"!=typeof window?window:void 0!==e?e:"undefined"!=typeof self?self:{};t.exports=e}.call(this,n(4))},function(e,t){function n(e){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var o=function(){return this}();try{o=o||new Function("return this")()}catch(e){"object"===("undefined"==typeof window?"undefined":n(window))&&(o=window)}e.exports=o},,,,,,function(e,t,n){e.exports=n(11)},function(e,t,n){"use strict";n.r(t);var t=n(2),t=n.n(t),i=n(3),a=n(12);function r(e){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var o,l=i.window.jarallax;i.window.jarallax=a.default,i.window.jarallax.noConflict=function(){return i.window.jarallax=l,this},void 0!==i.jQuery&&((n=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];Array.prototype.unshift.call(t,this);var o=a.default.apply(i.window,t);return"object"!==r(o)?o:this}).constructor=a.default.constructor,o=i.jQuery.fn.jarallax,i.jQuery.fn.jarallax=n,i.jQuery.fn.jarallax.noConflict=function(){return i.jQuery.fn.jarallax=o,this}),t()(function(){Object(a.default)(document.querySelectorAll("[data-jarallax]"))})},function(e,t,n){"use strict";n.r(t);var o=n(2),o=n.n(o),f=n(3);function s(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=e&&("undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"]);if(null!=n){var o,i,a=[],r=!0,l=!1;try{for(n=n.call(e);!(r=(o=n.next()).done)&&(a.push(o.value),!t||a.length!==t);r=!0);}catch(e){l=!0,i=e}finally{try{r||null==n.return||n.return()}finally{if(l)throw i}}return a}}(e,t)||function(e,t){if(e){if("string"==typeof e)return i(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Map"===(n="Object"===n&&e.constructor?e.constructor.name:n)||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?i(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new Array(t);n<t;n++)o[n]=e[n];return o}function c(e){return(c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function a(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}var r,g,u=f.window.navigator,p=-1<u.userAgent.indexOf("MSIE ")||-1<u.userAgent.indexOf("Trident/")||-1<u.userAgent.indexOf("Edge/"),l=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(u.userAgent),d=function(){for(var e="transform WebkitTransform MozTransform".split(" "),t=document.createElement("div"),n=0;n<e.length;n+=1)if(t&&void 0!==t.style[e[n]])return e[n];return!1}();function m(){g=l?(!r&&document.body&&((r=document.createElement("div")).style.cssText="position: fixed; top: -9999px; left: 0; height: 100vh; width: 0;",document.body.appendChild(r)),(r?r.clientHeight:0)||f.window.innerHeight||document.documentElement.clientHeight):f.window.innerHeight||document.documentElement.clientHeight}m(),f.window.addEventListener("resize",m),f.window.addEventListener("orientationchange",m),f.window.addEventListener("load",m),o()(function(){m()});var y=[];function b(){y.length&&(y.forEach(function(e,t){var n=e.instance,o=e.oldData,i=n.$item.getBoundingClientRect(),e={width:i.width,height:i.height,top:i.top,bottom:i.bottom,wndW:f.window.innerWidth,wndH:g},i=!o||o.wndW!==e.wndW||o.wndH!==e.wndH||o.width!==e.width||o.height!==e.height,o=i||!o||o.top!==e.top||o.bottom!==e.bottom;y[t].oldData=e,i&&n.onResize(),o&&n.onScroll()}),f.window.requestAnimationFrame(b))}var h=0,v=function(){function l(e,t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,l);var n=this;n.instanceID=h,h+=1,n.$item=e,n.defaults={type:"scroll",speed:.5,imgSrc:null,imgElement:".jarallax-img",imgSize:"cover",imgPosition:"50% 50%",imgRepeat:"no-repeat",keepImg:!1,elementInViewport:null,zIndex:-100,disableParallax:!1,disableVideo:!1,videoSrc:null,videoStartTime:0,videoEndTime:0,videoVolume:0,videoLoop:!0,videoPlayOnlyVisible:!0,videoLazyLoading:!0,onScroll:null,onInit:null,onDestroy:null,onCoverImage:null};var o,i,a=n.$item.dataset||{},r={};Object.keys(a).forEach(function(e){var t=e.substr(0,1).toLowerCase()+e.substr(1);t&&void 0!==n.defaults[t]&&(r[t]=a[e])}),n.options=n.extend({},n.defaults,r,t),n.pureOptions=n.extend({},n.options),Object.keys(n.options).forEach(function(e){"true"===n.options[e]?n.options[e]=!0:"false"===n.options[e]&&(n.options[e]=!1)}),n.options.speed=Math.min(2,Math.max(-1,parseFloat(n.options.speed))),"string"==typeof n.options.disableParallax&&(n.options.disableParallax=new RegExp(n.options.disableParallax)),n.options.disableParallax instanceof RegExp&&(o=n.options.disableParallax,n.options.disableParallax=function(){return o.test(u.userAgent)}),"function"!=typeof n.options.disableParallax&&(n.options.disableParallax=function(){return!1}),"string"==typeof n.options.disableVideo&&(n.options.disableVideo=new RegExp(n.options.disableVideo)),n.options.disableVideo instanceof RegExp&&(i=n.options.disableVideo,n.options.disableVideo=function(){return i.test(u.userAgent)}),"function"!=typeof n.options.disableVideo&&(n.options.disableVideo=function(){return!1});t=n.options.elementInViewport;(t=t&&"object"===c(t)&&void 0!==t.length?s(t,1)[0]:t)instanceof Element||(t=null),n.options.elementInViewport=t,n.image={src:n.options.imgSrc||null,$container:null,useImgTag:!1,position:/iPad|iPhone|iPod|Android/.test(u.userAgent)?"absolute":"fixed"},n.initImg()&&n.canInitParallax()&&n.init()}var e,t,n;return e=l,(t=[{key:"css",value:function(t,n){return"string"==typeof n?f.window.getComputedStyle(t).getPropertyValue(n):(n.transform&&d&&(n[d]=n.transform),Object.keys(n).forEach(function(e){t.style[e]=n[e]}),t)}},{key:"extend",value:function(n){for(var e=arguments.length,o=new Array(1<e?e-1:0),t=1;t<e;t++)o[t-1]=arguments[t];return n=n||{},Object.keys(o).forEach(function(t){o[t]&&Object.keys(o[t]).forEach(function(e){n[e]=o[t][e]})}),n}},{key:"getWindowData",value:function(){return{width:f.window.innerWidth||document.documentElement.clientWidth,height:g,y:document.documentElement.scrollTop}}},{key:"initImg",value:function(){var e=this,t=e.options.imgElement;return(t=t&&"string"==typeof t?e.$item.querySelector(t):t)instanceof Element||(e.options.imgSrc?(t=new Image).src=e.options.imgSrc:t=null),t&&(e.options.keepImg?e.image.$item=t.cloneNode(!0):(e.image.$item=t,e.image.$itemParent=t.parentNode),e.image.useImgTag=!0),!!e.image.$item||(null===e.image.src&&(e.image.src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",e.image.bgImage=e.css(e.$item,"background-image")),!(!e.image.bgImage||"none"===e.image.bgImage))}},{key:"canInitParallax",value:function(){return d&&!this.options.disableParallax()}},{key:"init",value:function(){var e,t=this,n={position:"absolute",top:0,left:0,width:"100%",height:"100%",overflow:"hidden"},o={pointerEvents:"none",transformStyle:"preserve-3d",backfaceVisibility:"hidden",willChange:"transform,opacity"};t.options.keepImg||((e=t.$item.getAttribute("style"))&&t.$item.setAttribute("data-jarallax-original-styles",e),!t.image.useImgTag||(e=t.image.$item.getAttribute("style"))&&t.image.$item.setAttribute("data-jarallax-original-styles",e)),"static"===t.css(t.$item,"position")&&t.css(t.$item,{position:"relative"}),"auto"===t.css(t.$item,"z-index")&&t.css(t.$item,{zIndex:0}),t.image.$container=document.createElement("div"),t.css(t.image.$container,n),t.css(t.image.$container,{"z-index":t.options.zIndex}),p&&t.css(t.image.$container,{opacity:.9999}),t.image.$container.setAttribute("id","jarallax-container-".concat(t.instanceID)),t.$item.appendChild(t.image.$container),t.image.useImgTag?o=t.extend({"object-fit":t.options.imgSize,"object-position":t.options.imgPosition,"font-family":"object-fit: ".concat(t.options.imgSize,"; object-position: ").concat(t.options.imgPosition,";"),"max-width":"none"},n,o):(t.image.$item=document.createElement("div"),t.image.src&&(o=t.extend({"background-position":t.options.imgPosition,"background-size":t.options.imgSize,"background-repeat":t.options.imgRepeat,"background-image":t.image.bgImage||'url("'.concat(t.image.src,'")')},n,o))),"opacity"!==t.options.type&&"scale"!==t.options.type&&"scale-opacity"!==t.options.type&&1!==t.options.speed||(t.image.position="absolute"),"fixed"===t.image.position&&(n=function(e){for(var t=[];null!==e.parentElement;)1===(e=e.parentElement).nodeType&&t.push(e);return t}(t.$item).filter(function(e){var t=f.window.getComputedStyle(e),e=t["-webkit-transform"]||t["-moz-transform"]||t.transform;return e&&"none"!==e||/(auto|scroll)/.test(t.overflow+t["overflow-y"]+t["overflow-x"])}),t.image.position=n.length?"absolute":"fixed"),o.position=t.image.position,t.css(t.image.$item,o),t.image.$container.appendChild(t.image.$item),t.onResize(),t.onScroll(!0),t.options.onInit&&t.options.onInit.call(t),"none"!==t.css(t.$item,"background-image")&&t.css(t.$item,{"background-image":"none"}),t.addToParallaxList()}},{key:"addToParallaxList",value:function(){y.push({instance:this}),1===y.length&&f.window.requestAnimationFrame(b)}},{key:"removeFromParallaxList",value:function(){var n=this;y.forEach(function(e,t){e.instance.instanceID===n.instanceID&&y.splice(t,1)})}},{key:"destroy",value:function(){var e=this;e.removeFromParallaxList();var t,n=e.$item.getAttribute("data-jarallax-original-styles");e.$item.removeAttribute("data-jarallax-original-styles"),n?e.$item.setAttribute("style",n):e.$item.removeAttribute("style"),e.image.useImgTag&&(t=e.image.$item.getAttribute("data-jarallax-original-styles"),e.image.$item.removeAttribute("data-jarallax-original-styles"),t?e.image.$item.setAttribute("style",n):e.image.$item.removeAttribute("style"),e.image.$itemParent&&e.image.$itemParent.appendChild(e.image.$item)),e.$clipStyles&&e.$clipStyles.parentNode.removeChild(e.$clipStyles),e.image.$container&&e.image.$container.parentNode.removeChild(e.image.$container),e.options.onDestroy&&e.options.onDestroy.call(e),delete e.$item.jarallax}},{key:"clipContainer",value:function(){var e,t,n;"fixed"===this.image.position&&(t=(n=(e=this).image.$container.getBoundingClientRect()).width,n=n.height,e.$clipStyles||(e.$clipStyles=document.createElement("style"),e.$clipStyles.setAttribute("type","text/css"),e.$clipStyles.setAttribute("id","jarallax-clip-".concat(e.instanceID)),(document.head||document.getElementsByTagName("head")[0]).appendChild(e.$clipStyles)),n="#jarallax-container-".concat(e.instanceID," {\n            clip: rect(0 ").concat(t,"px ").concat(n,"px 0);\n            clip: rect(0, ").concat(t,"px, ").concat(n,"px, 0);\n            -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);\n            clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);\n        }"),e.$clipStyles.styleSheet?e.$clipStyles.styleSheet.cssText=n:e.$clipStyles.innerHTML=n)}},{key:"coverImage",value:function(){var e=this,t=e.image.$container.getBoundingClientRect(),n=t.height,o=e.options.speed,i="scroll"===e.options.type||"scroll-opacity"===e.options.type,a=0,r=n,l=0;return i&&(o<0?(a=o*Math.max(n,g),g<n&&(a-=o*(n-g))):a=o*(n+g),1<o?r=Math.abs(a-g):o<0?r=a/o+Math.abs(a):r+=(g-n)*(1-o),a/=2),e.parallaxScrollDistance=a,l=i?(g-r)/2:(n-r)/2,e.css(e.image.$item,{height:"".concat(r,"px"),marginTop:"".concat(l,"px"),left:"fixed"===e.image.position?"".concat(t.left,"px"):"0",width:"".concat(t.width,"px")}),e.options.onCoverImage&&e.options.onCoverImage.call(e),{image:{height:r,marginTop:l},container:t}}},{key:"isVisible",value:function(){return this.isElementInViewport||!1}},{key:"onScroll",value:function(e){var t,n,o,i,a,r,l,s=this,c=s.$item.getBoundingClientRect(),u=c.top,p=c.height,d={},m=c;s.options.elementInViewport&&(m=s.options.elementInViewport.getBoundingClientRect()),s.isElementInViewport=0<=m.bottom&&0<=m.right&&m.top<=g&&m.left<=f.window.innerWidth,(e||s.isElementInViewport)&&(t=Math.max(0,u),n=Math.max(0,p+u),o=Math.max(0,-u),i=Math.max(0,u+p-g),a=Math.max(0,p-(u+p-g)),r=Math.max(0,-u+g-p),m=1-(g-u)/(g+p)*2,e=1,p<g?e=1-(o||i)/p:n<=g?e=n/g:a<=g&&(e=a/g),"opacity"!==s.options.type&&"scale-opacity"!==s.options.type&&"scroll-opacity"!==s.options.type||(d.transform="translate3d(0,0,0)",d.opacity=e),"scale"!==s.options.type&&"scale-opacity"!==s.options.type||(l=1,s.options.speed<0?l-=s.options.speed*e:l+=s.options.speed*(1-e),d.transform="scale(".concat(l,") translate3d(0,0,0)")),"scroll"!==s.options.type&&"scroll-opacity"!==s.options.type||(l=s.parallaxScrollDistance*m,"absolute"===s.image.position&&(l-=u),d.transform="translate3d(0,".concat(l,"px,0)")),s.css(s.image.$item,d),s.options.onScroll&&s.options.onScroll.call(s,{section:c,beforeTop:t,beforeTopEnd:n,afterTop:o,beforeBottom:i,beforeBottomEnd:a,afterBottom:r,visiblePercent:e,fromViewportCenter:m}))}},{key:"onResize",value:function(){this.coverImage(),this.clipContainer()}}])&&a(e.prototype,t),n&&a(e,n),l}(),o=function(e,t){for(var n,o=(e=("object"===("undefined"==typeof HTMLElement?"undefined":c(HTMLElement))?e instanceof HTMLElement:e&&"object"===c(e)&&null!==e&&1===e.nodeType&&"string"==typeof e.nodeName)?[e]:e).length,i=0,a=arguments.length,r=new Array(2<a?a-2:0),l=2;l<a;l++)r[l-2]=arguments[l];for(;i<o;i+=1)if("object"===c(t)||void 0===t?e[i].jarallax||(e[i].jarallax=new v(e[i],t)):e[i].jarallax&&(n=e[i].jarallax[t].apply(e[i].jarallax,r)),void 0!==n)return n;return e};o.constructor=v,t.default=o}]);
!function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).Parallax=t()}}(function(){return function t(e,i,n){function o(r,a){if(!i[r]){if(!e[r]){var l="function"==typeof require&&require;if(!a&&l)return l(r,!0);if(s)return s(r,!0);var h=new Error("Cannot find module '"+r+"'");throw h.code="MODULE_NOT_FOUND",h}var u=i[r]={exports:{}};e[r][0].call(u.exports,function(t){var i=e[r][1][t];return o(i||t)},u,u.exports,t,e,i,n)}return i[r].exports}for(var s="function"==typeof require&&require,r=0;r<n.length;r++)o(n[r]);return o}({1:[function(t,e,i){"use strict";function n(t){if(null===t||void 0===t)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(t)}var o=Object.getOwnPropertySymbols,s=Object.prototype.hasOwnProperty,r=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var t=new String("abc");if(t[5]="de","5"===Object.getOwnPropertyNames(t)[0])return!1;for(var e={},i=0;i<10;i++)e["_"+String.fromCharCode(i)]=i;if("0123456789"!==Object.getOwnPropertyNames(e).map(function(t){return e[t]}).join(""))return!1;var n={};return"abcdefghijklmnopqrst".split("").forEach(function(t){n[t]=t}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},n)).join("")}catch(t){return!1}}()?Object.assign:function(t,e){for(var i,a,l=n(t),h=1;h<arguments.length;h++){i=Object(arguments[h]);for(var u in i)s.call(i,u)&&(l[u]=i[u]);if(o){a=o(i);for(var c=0;c<a.length;c++)r.call(i,a[c])&&(l[a[c]]=i[a[c]])}}return l}},{}],2:[function(t,e,i){(function(t){(function(){var i,n,o,s,r,a;"undefined"!=typeof performance&&null!==performance&&performance.now?e.exports=function(){return performance.now()}:void 0!==t&&null!==t&&t.hrtime?(e.exports=function(){return(i()-r)/1e6},n=t.hrtime,s=(i=function(){var t;return 1e9*(t=n())[0]+t[1]})(),a=1e9*t.uptime(),r=s-a):Date.now?(e.exports=function(){return Date.now()-o},o=Date.now()):(e.exports=function(){return(new Date).getTime()-o},o=(new Date).getTime())}).call(this)}).call(this,t("_process"))},{_process:3}],3:[function(t,e,i){function n(){throw new Error("setTimeout has not been defined")}function o(){throw new Error("clearTimeout has not been defined")}function s(t){if(c===setTimeout)return setTimeout(t,0);if((c===n||!c)&&setTimeout)return c=setTimeout,setTimeout(t,0);try{return c(t,0)}catch(e){try{return c.call(null,t,0)}catch(e){return c.call(this,t,0)}}}function r(t){if(d===clearTimeout)return clearTimeout(t);if((d===o||!d)&&clearTimeout)return d=clearTimeout,clearTimeout(t);try{return d(t)}catch(e){try{return d.call(null,t)}catch(e){return d.call(this,t)}}}function a(){v&&p&&(v=!1,p.length?f=p.concat(f):y=-1,f.length&&l())}function l(){if(!v){var t=s(a);v=!0;for(var e=f.length;e;){for(p=f,f=[];++y<e;)p&&p[y].run();y=-1,e=f.length}p=null,v=!1,r(t)}}function h(t,e){this.fun=t,this.array=e}function u(){}var c,d,m=e.exports={};!function(){try{c="function"==typeof setTimeout?setTimeout:n}catch(t){c=n}try{d="function"==typeof clearTimeout?clearTimeout:o}catch(t){d=o}}();var p,f=[],v=!1,y=-1;m.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var i=1;i<arguments.length;i++)e[i-1]=arguments[i];f.push(new h(t,e)),1!==f.length||v||s(l)},h.prototype.run=function(){this.fun.apply(null,this.array)},m.title="browser",m.browser=!0,m.env={},m.argv=[],m.version="",m.versions={},m.on=u,m.addListener=u,m.once=u,m.off=u,m.removeListener=u,m.removeAllListeners=u,m.emit=u,m.prependListener=u,m.prependOnceListener=u,m.listeners=function(t){return[]},m.binding=function(t){throw new Error("process.binding is not supported")},m.cwd=function(){return"/"},m.chdir=function(t){throw new Error("process.chdir is not supported")},m.umask=function(){return 0}},{}],4:[function(t,e,i){(function(i){for(var n=t("performance-now"),o="undefined"==typeof window?i:window,s=["moz","webkit"],r="AnimationFrame",a=o["request"+r],l=o["cancel"+r]||o["cancelRequest"+r],h=0;!a&&h<s.length;h++)a=o[s[h]+"Request"+r],l=o[s[h]+"Cancel"+r]||o[s[h]+"CancelRequest"+r];if(!a||!l){var u=0,c=0,d=[];a=function(t){if(0===d.length){var e=n(),i=Math.max(0,1e3/60-(e-u));u=i+e,setTimeout(function(){var t=d.slice(0);d.length=0;for(var e=0;e<t.length;e++)if(!t[e].cancelled)try{t[e].callback(u)}catch(t){setTimeout(function(){throw t},0)}},Math.round(i))}return d.push({handle:++c,callback:t,cancelled:!1}),c},l=function(t){for(var e=0;e<d.length;e++)d[e].handle===t&&(d[e].cancelled=!0)}}e.exports=function(t){return a.call(o,t)},e.exports.cancel=function(){l.apply(o,arguments)},e.exports.polyfill=function(){o.requestAnimationFrame=a,o.cancelAnimationFrame=l}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"performance-now":2}],5:[function(t,e,i){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}var o=function(){function t(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,i,n){return i&&t(e.prototype,i),n&&t(e,n),e}}(),s=t("raf"),r=t("object-assign"),a={propertyCache:{},vendors:[null,["-webkit-","webkit"],["-moz-","Moz"],["-o-","O"],["-ms-","ms"]],clamp:function(t,e,i){return e<i?t<e?e:t>i?i:t:t<i?i:t>e?e:t},data:function(t,e){return a.deserialize(t.getAttribute("data-"+e))},deserialize:function(t){return"true"===t||"false"!==t&&("null"===t?null:!isNaN(parseFloat(t))&&isFinite(t)?parseFloat(t):t)},camelCase:function(t){return t.replace(/-+(.)?/g,function(t,e){return e?e.toUpperCase():""})},accelerate:function(t){a.css(t,"transform","translate3d(0,0,0) rotate(0.0001deg)"),a.css(t,"transform-style","preserve-3d"),a.css(t,"backface-visibility","hidden")},transformSupport:function(t){for(var e=document.createElement("div"),i=!1,n=null,o=!1,s=null,r=null,l=0,h=a.vendors.length;l<h;l++)if(null!==a.vendors[l]?(s=a.vendors[l][0]+"transform",r=a.vendors[l][1]+"Transform"):(s="transform",r="transform"),void 0!==e.style[r]){i=!0;break}switch(t){case"2D":o=i;break;case"3D":if(i){var u=document.body||document.createElement("body"),c=document.documentElement,d=c.style.overflow,m=!1;document.body||(m=!0,c.style.overflow="hidden",c.appendChild(u),u.style.overflow="hidden",u.style.background=""),u.appendChild(e),e.style[r]="translate3d(1px,1px,1px)",o=void 0!==(n=window.getComputedStyle(e).getPropertyValue(s))&&n.length>0&&"none"!==n,c.style.overflow=d,u.removeChild(e),m&&(u.removeAttribute("style"),u.parentNode.removeChild(u))}}return o},css:function(t,e,i){var n=a.propertyCache[e];if(!n)for(var o=0,s=a.vendors.length;o<s;o++)if(n=null!==a.vendors[o]?a.camelCase(a.vendors[o][1]+"-"+e):e,void 0!==t.style[n]){a.propertyCache[e]=n;break}t.style[n]=i}},l={relativeInput:!1,clipRelativeInput:!1,inputElement:null,hoverOnly:!1,calibrationThreshold:100,calibrationDelay:500,supportDelay:500,calibrateX:!1,calibrateY:!0,invertX:!0,invertY:!0,limitX:!1,limitY:!1,scalarX:10,scalarY:10,frictionX:.1,frictionY:.1,originX:.5,originY:.5,pointerEvents:!1,precision:1,onReady:null,selector:null},h=function(){function t(e,i){n(this,t),this.element=e;var o={calibrateX:a.data(this.element,"calibrate-x"),calibrateY:a.data(this.element,"calibrate-y"),invertX:a.data(this.element,"invert-x"),invertY:a.data(this.element,"invert-y"),limitX:a.data(this.element,"limit-x"),limitY:a.data(this.element,"limit-y"),scalarX:a.data(this.element,"scalar-x"),scalarY:a.data(this.element,"scalar-y"),frictionX:a.data(this.element,"friction-x"),frictionY:a.data(this.element,"friction-y"),originX:a.data(this.element,"origin-x"),originY:a.data(this.element,"origin-y"),pointerEvents:a.data(this.element,"pointer-events"),precision:a.data(this.element,"precision"),relativeInput:a.data(this.element,"relative-input"),clipRelativeInput:a.data(this.element,"clip-relative-input"),hoverOnly:a.data(this.element,"hover-only"),inputElement:document.querySelector(a.data(this.element,"input-element")),selector:a.data(this.element,"selector")};for(var s in o)null===o[s]&&delete o[s];r(this,l,o,i),this.inputElement||(this.inputElement=this.element),this.calibrationTimer=null,this.calibrationFlag=!0,this.enabled=!1,this.depthsX=[],this.depthsY=[],this.raf=null,this.bounds=null,this.elementPositionX=0,this.elementPositionY=0,this.elementWidth=0,this.elementHeight=0,this.elementCenterX=0,this.elementCenterY=0,this.elementRangeX=0,this.elementRangeY=0,this.calibrationX=0,this.calibrationY=0,this.inputX=0,this.inputY=0,this.motionX=0,this.motionY=0,this.velocityX=0,this.velocityY=0,this.onMouseMove=this.onMouseMove.bind(this),this.onDeviceOrientation=this.onDeviceOrientation.bind(this),this.onDeviceMotion=this.onDeviceMotion.bind(this),this.onOrientationTimer=this.onOrientationTimer.bind(this),this.onMotionTimer=this.onMotionTimer.bind(this),this.onCalibrationTimer=this.onCalibrationTimer.bind(this),this.onAnimationFrame=this.onAnimationFrame.bind(this),this.onWindowResize=this.onWindowResize.bind(this),this.windowWidth=null,this.windowHeight=null,this.windowCenterX=null,this.windowCenterY=null,this.windowRadiusX=null,this.windowRadiusY=null,this.portrait=!1,this.desktop=!navigator.userAgent.match(/(iPhone|iPod|iPad|Android|BlackBerry|BB10|mobi|tablet|opera mini|nexus 7)/i),this.motionSupport=!!window.DeviceMotionEvent&&!this.desktop,this.orientationSupport=!!window.DeviceOrientationEvent&&!this.desktop,this.orientationStatus=0,this.motionStatus=0,this.initialise()}return o(t,[{key:"initialise",value:function(){void 0===this.transform2DSupport&&(this.transform2DSupport=a.transformSupport("2D"),this.transform3DSupport=a.transformSupport("3D")),this.transform3DSupport&&a.accelerate(this.element),"static"===window.getComputedStyle(this.element).getPropertyValue("position")&&(this.element.style.position="relative"),this.pointerEvents||(this.element.style.pointerEvents="none"),this.updateLayers(),this.updateDimensions(),this.enable(),this.queueCalibration(this.calibrationDelay)}},{key:"doReadyCallback",value:function(){this.onReady&&this.onReady()}},{key:"updateLayers",value:function(){this.selector?this.layers=this.element.querySelectorAll(this.selector):this.layers=this.element.children,this.layers.length||console.warn("ParallaxJS: Your scene does not have any layers."),this.depthsX=[],this.depthsY=[];for(var t=0;t<this.layers.length;t++){var e=this.layers[t];this.transform3DSupport&&a.accelerate(e),e.style.position=t?"absolute":"relative",e.style.display="block",e.style.left=0,e.style.top=0;var i=a.data(e,"depth")||0;this.depthsX.push(a.data(e,"depth-x")||i),this.depthsY.push(a.data(e,"depth-y")||i)}}},{key:"updateDimensions",value:function(){this.windowWidth=window.innerWidth,this.windowHeight=window.innerHeight,this.windowCenterX=this.windowWidth*this.originX,this.windowCenterY=this.windowHeight*this.originY,this.windowRadiusX=Math.max(this.windowCenterX,this.windowWidth-this.windowCenterX),this.windowRadiusY=Math.max(this.windowCenterY,this.windowHeight-this.windowCenterY)}},{key:"updateBounds",value:function(){this.bounds=this.inputElement.getBoundingClientRect(),this.elementPositionX=this.bounds.left,this.elementPositionY=this.bounds.top,this.elementWidth=this.bounds.width,this.elementHeight=this.bounds.height,this.elementCenterX=this.elementWidth*this.originX,this.elementCenterY=this.elementHeight*this.originY,this.elementRangeX=Math.max(this.elementCenterX,this.elementWidth-this.elementCenterX),this.elementRangeY=Math.max(this.elementCenterY,this.elementHeight-this.elementCenterY)}},{key:"queueCalibration",value:function(t){clearTimeout(this.calibrationTimer),this.calibrationTimer=setTimeout(this.onCalibrationTimer,t)}},{key:"enable",value:function(){this.enabled||(this.enabled=!0,this.orientationSupport?(this.portrait=!1,window.addEventListener("deviceorientation",this.onDeviceOrientation),this.detectionTimer=setTimeout(this.onOrientationTimer,this.supportDelay)):this.motionSupport?(this.portrait=!1,window.addEventListener("devicemotion",this.onDeviceMotion),this.detectionTimer=setTimeout(this.onMotionTimer,this.supportDelay)):(this.calibrationX=0,this.calibrationY=0,this.portrait=!1,window.addEventListener("mousemove",this.onMouseMove),this.doReadyCallback()),window.addEventListener("resize",this.onWindowResize),this.raf=s(this.onAnimationFrame))}},{key:"disable",value:function(){this.enabled&&(this.enabled=!1,this.orientationSupport?window.removeEventListener("deviceorientation",this.onDeviceOrientation):this.motionSupport?window.removeEventListener("devicemotion",this.onDeviceMotion):window.removeEventListener("mousemove",this.onMouseMove),window.removeEventListener("resize",this.onWindowResize),s.cancel(this.raf))}},{key:"calibrate",value:function(t,e){this.calibrateX=void 0===t?this.calibrateX:t,this.calibrateY=void 0===e?this.calibrateY:e}},{key:"invert",value:function(t,e){this.invertX=void 0===t?this.invertX:t,this.invertY=void 0===e?this.invertY:e}},{key:"friction",value:function(t,e){this.frictionX=void 0===t?this.frictionX:t,this.frictionY=void 0===e?this.frictionY:e}},{key:"scalar",value:function(t,e){this.scalarX=void 0===t?this.scalarX:t,this.scalarY=void 0===e?this.scalarY:e}},{key:"limit",value:function(t,e){this.limitX=void 0===t?this.limitX:t,this.limitY=void 0===e?this.limitY:e}},{key:"origin",value:function(t,e){this.originX=void 0===t?this.originX:t,this.originY=void 0===e?this.originY:e}},{key:"setInputElement",value:function(t){this.inputElement=t,this.updateDimensions()}},{key:"setPosition",value:function(t,e,i){e=e.toFixed(this.precision)+"px",i=i.toFixed(this.precision)+"px",this.transform3DSupport?a.css(t,"transform","translate3d("+e+","+i+",0)"):this.transform2DSupport?a.css(t,"transform","translate("+e+","+i+")"):(t.style.left=e,t.style.top=i)}},{key:"onOrientationTimer",value:function(){this.orientationSupport&&0===this.orientationStatus?(this.disable(),this.orientationSupport=!1,this.enable()):this.doReadyCallback()}},{key:"onMotionTimer",value:function(){this.motionSupport&&0===this.motionStatus?(this.disable(),this.motionSupport=!1,this.enable()):this.doReadyCallback()}},{key:"onCalibrationTimer",value:function(){this.calibrationFlag=!0}},{key:"onWindowResize",value:function(){this.updateDimensions()}},{key:"onAnimationFrame",value:function(){this.updateBounds();var t=this.inputX-this.calibrationX,e=this.inputY-this.calibrationY;(Math.abs(t)>this.calibrationThreshold||Math.abs(e)>this.calibrationThreshold)&&this.queueCalibration(0),this.portrait?(this.motionX=this.calibrateX?e:this.inputY,this.motionY=this.calibrateY?t:this.inputX):(this.motionX=this.calibrateX?t:this.inputX,this.motionY=this.calibrateY?e:this.inputY),this.motionX*=this.elementWidth*(this.scalarX/100),this.motionY*=this.elementHeight*(this.scalarY/100),isNaN(parseFloat(this.limitX))||(this.motionX=a.clamp(this.motionX,-this.limitX,this.limitX)),isNaN(parseFloat(this.limitY))||(this.motionY=a.clamp(this.motionY,-this.limitY,this.limitY)),this.velocityX+=(this.motionX-this.velocityX)*this.frictionX,this.velocityY+=(this.motionY-this.velocityY)*this.frictionY;for(var i=0;i<this.layers.length;i++){var n=this.layers[i],o=this.depthsX[i],r=this.depthsY[i],l=this.velocityX*(o*(this.invertX?-1:1)),h=this.velocityY*(r*(this.invertY?-1:1));this.setPosition(n,l,h)}this.raf=s(this.onAnimationFrame)}},{key:"rotate",value:function(t,e){var i=(t||0)/30,n=(e||0)/30,o=this.windowHeight>this.windowWidth;this.portrait!==o&&(this.portrait=o,this.calibrationFlag=!0),this.calibrationFlag&&(this.calibrationFlag=!1,this.calibrationX=i,this.calibrationY=n),this.inputX=i,this.inputY=n}},{key:"onDeviceOrientation",value:function(t){var e=t.beta,i=t.gamma;null!==e&&null!==i&&(this.orientationStatus=1,this.rotate(e,i))}},{key:"onDeviceMotion",value:function(t){var e=t.rotationRate.beta,i=t.rotationRate.gamma;null!==e&&null!==i&&(this.motionStatus=1,this.rotate(e,i))}},{key:"onMouseMove",value:function(t){var e=t.clientX,i=t.clientY;if(this.hoverOnly&&(e<this.elementPositionX||e>this.elementPositionX+this.elementWidth||i<this.elementPositionY||i>this.elementPositionY+this.elementHeight))return this.inputX=0,void(this.inputY=0);this.relativeInput?(this.clipRelativeInput&&(e=Math.max(e,this.elementPositionX),e=Math.min(e,this.elementPositionX+this.elementWidth),i=Math.max(i,this.elementPositionY),i=Math.min(i,this.elementPositionY+this.elementHeight)),this.elementRangeX&&this.elementRangeY&&(this.inputX=(e-this.elementPositionX-this.elementCenterX)/this.elementRangeX,this.inputY=(i-this.elementPositionY-this.elementCenterY)/this.elementRangeY)):this.windowRadiusX&&this.windowRadiusY&&(this.inputX=(e-this.windowCenterX)/this.windowRadiusX,this.inputY=(i-this.windowCenterY)/this.windowRadiusY)}},{key:"destroy",value:function(){this.disable(),clearTimeout(this.calibrationTimer),clearTimeout(this.detectionTimer),this.element.removeAttribute("style");for(var t=0;t<this.layers.length;t++)this.layers[t].removeAttribute("style");delete this.element,delete this.layers}},{key:"version",value:function(){return"3.1.0"}}]),t}();e.exports=h},{"object-assign":1,raf:4}]},{},[5])(5)});
!function(n,t){var r,e;"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define("underscore",t):(n="undefined"!=typeof globalThis?globalThis:n||self,r=n._,(e=n._=t()).noConflict=function(){return n._=r,e})}(this,function(){var n="1.13.8",t="object"==typeof self&&self.self===self&&self||"object"==typeof global&&global.global===global&&global||Function("return this")()||{},e=Array.prototype,V=Object.prototype,F="undefined"!=typeof Symbol?Symbol.prototype:null,P=e.push,f=e.slice,s=V.toString,q=V.hasOwnProperty,r="undefined"!=typeof ArrayBuffer,u="undefined"!=typeof DataView,U=Array.isArray,W=Object.keys,z=Object.create,L=r&&ArrayBuffer.isView,$=isNaN,C=isFinite,K=!{toString:null}.propertyIsEnumerable("toString"),J=["valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"],G=Math.pow(2,53)-1;function l(u,i){return i=null==i?u.length-1:+i,function(){for(var n=Math.max(arguments.length-i,0),t=Array(n),r=0;r<n;r++)t[r]=arguments[r+i];switch(i){case 0:return u.call(this,t);case 1:return u.call(this,arguments[0],t);case 2:return u.call(this,arguments[0],arguments[1],t)}for(var e=Array(i+1),r=0;r<i;r++)e[r]=arguments[r];return e[i]=t,u.apply(this,e)}}function i(n){var t=typeof n;return"function"==t||"object"==t&&!!n}function H(n){return void 0===n}function Q(n){return!0===n||!1===n||"[object Boolean]"===s.call(n)}function o(n){var t="[object "+n+"]";return function(n){return s.call(n)===t}}var X=o("String"),Y=o("Number"),Z=o("Date"),nn=o("RegExp"),tn=o("Error"),rn=o("Symbol"),en=o("ArrayBuffer"),a=o("Function"),t=t.document&&t.document.childNodes,p=a="function"!=typeof/./&&"object"!=typeof Int8Array&&"function"!=typeof t?function(n){return"function"==typeof n||!1}:a,t=o("Object"),un=u&&(!/\[native code\]/.test(String(DataView))||t(new DataView(new ArrayBuffer(8)))),a="undefined"!=typeof Map&&t(new Map),u=o("DataView");var h=un?function(n){return null!=n&&p(n.getInt8)&&en(n.buffer)}:u,c=U||o("Array");function v(n,t){return null!=n&&q.call(n,t)}var on=o("Arguments"),an=(!function(){on(arguments)||(on=function(n){return v(n,"callee")})}(),on);function fn(n){return Y(n)&&$(n)}function cn(n){return function(){return n}}function ln(t){return function(n){n=t(n);return"number"==typeof n&&0<=n&&n<=G}}function sn(t){return function(n){return null==n?void 0:n[t]}}var y=sn("byteLength"),pn=ln(y),hn=/\[object ((I|Ui)nt(8|16|32)|Float(32|64)|Uint8Clamped|Big(I|Ui)nt64)Array\]/;var vn=r?function(n){return L?L(n)&&!h(n):pn(n)&&hn.test(s.call(n))}:cn(!1),d=sn("length");function yn(n,t){t=function(t){for(var r={},n=t.length,e=0;e<n;++e)r[t[e]]=!0;return{contains:function(n){return!0===r[n]},push:function(n){return r[n]=!0,t.push(n)}}}(t);var r=J.length,e=n.constructor,u=p(e)&&e.prototype||V,i="constructor";for(v(n,i)&&!t.contains(i)&&t.push(i);r--;)(i=J[r])in n&&n[i]!==u[i]&&!t.contains(i)&&t.push(i)}function g(n){if(!i(n))return[];if(W)return W(n);var t,r=[];for(t in n)v(n,t)&&r.push(t);return K&&yn(n,r),r}function dn(n,t){var r=g(t),e=r.length;if(null==n)return!e;for(var u=Object(n),i=0;i<e;i++){var o=r[i];if(t[o]!==u[o]||!(o in u))return!1}return!0}function b(n){return n instanceof b?n:this instanceof b?void(this._wrapped=n):new b(n)}function gn(n){return new Uint8Array(n.buffer||n,n.byteOffset||0,y(n))}b.VERSION=n,b.prototype.valueOf=b.prototype.toJSON=b.prototype.value=function(){return this._wrapped},b.prototype.toString=function(){return String(this._wrapped)};var bn="[object DataView]";function m(n){if(!i(n))return[];var t,r=[];for(t in n)r.push(t);return K&&yn(n,r),r}function mn(e){var u=d(e);return function(n){if(null==n)return!1;var t=m(n);if(d(t))return!1;for(var r=0;r<u;r++)if(!p(n[e[r]]))return!1;return e!==wn||!p(n[jn])}}var jn="forEach",t=["clear","delete"],u=["get","has","set"],U=t.concat(jn,u),wn=t.concat(u),r=["add"].concat(t,jn,"has"),u=a?mn(U):o("Map"),t=a?mn(wn):o("WeakMap"),U=a?mn(r):o("Set"),a=o("WeakSet");function j(n){for(var t=g(n),r=t.length,e=Array(r),u=0;u<r;u++)e[u]=n[t[u]];return e}function _n(n){for(var t={},r=g(n),e=0,u=r.length;e<u;e++)t[n[r[e]]]=r[e];return t}function An(n){var t,r=[];for(t in n)p(n[t])&&r.push(t);return r.sort()}function xn(f,c){return function(n){var t=arguments.length;if(c&&(n=Object(n)),!(t<2||null==n))for(var r=1;r<t;r++)for(var e=arguments[r],u=f(e),i=u.length,o=0;o<i;o++){var a=u[o];c&&void 0!==n[a]||(n[a]=e[a])}return n}}var Sn=xn(m),w=xn(g),On=xn(m,!0);function Mn(n){var t;return i(n)?z?z(n):((t=function(){}).prototype=n,n=new t,t.prototype=null,n):{}}function En(n){return c(n)?n:[n]}function _(n){return b.toPath(n)}function Bn(n,t){for(var r=t.length,e=0;e<r;e++){if(null==n)return;n=n[t[e]]}return r?n:void 0}function Nn(n,t,r){n=Bn(n,_(t));return H(n)?r:n}function kn(n){return n}function A(t){return t=w({},t),function(n){return dn(n,t)}}function In(t){return t=_(t),function(n){return Bn(n,t)}}function x(u,i,n){if(void 0===i)return u;switch(null==n?3:n){case 1:return function(n){return u.call(i,n)};case 3:return function(n,t,r){return u.call(i,n,t,r)};case 4:return function(n,t,r,e){return u.call(i,n,t,r,e)}}return function(){return u.apply(i,arguments)}}function Tn(n,t,r){return null==n?kn:p(n)?x(n,t,r):(i(n)&&!c(n)?A:In)(n)}function Dn(n,t){return Tn(n,t,1/0)}function S(n,t,r){return b.iteratee!==Dn?b.iteratee(n,t):Tn(n,t,r)}function Rn(){}function Vn(n,t){return null==t&&(t=n,n=0),n+Math.floor(Math.random()*(t-n+1))}b.toPath=En,b.iteratee=Dn;var O=Date.now||function(){return(new Date).getTime()};function Fn(t){function r(n){return t[n]}var n="(?:"+g(t).join("|")+")",e=RegExp(n),u=RegExp(n,"g");return function(n){return e.test(n=null==n?"":""+n)?n.replace(u,r):n}}var r={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;"},Pn=Fn(r),r=Fn(_n(r)),qn=b.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g},Un=/(.)^/,Wn={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},zn=/\\|'|\r|\n|\u2028|\u2029/g;function Ln(n){return"\\"+Wn[n]}var $n=/^\s*(\w|\$)+\s*$/;var Cn=0;function Kn(n,t,r,e,u){return e instanceof t?(e=Mn(n.prototype),i(t=n.apply(e,u))?t:e):n.apply(r,u)}var M=l(function(u,i){function o(){for(var n=0,t=i.length,r=Array(t),e=0;e<t;e++)r[e]=i[e]===a?arguments[n++]:i[e];for(;n<arguments.length;)r.push(arguments[n++]);return Kn(u,o,this,this,r)}var a=M.placeholder;return o}),Jn=(M.placeholder=b,l(function(t,r,e){var u;if(p(t))return u=l(function(n){return Kn(t,u,r,this,e.concat(n))});throw new TypeError("Bind must be called on a function")})),E=ln(d);function B(n,t,r){t||0===t||(t=1/0);for(var e=[],u=0,i=0,o=d(n)||0,a=[];;){if(o<=i){if(a.length){var f=a.pop(),i=f.i,o=d(n=f.v);continue}break}f=n[i++];t<=a.length?e[u++]=f:E(f)&&(c(f)||an(f))?(a.push({i:i,v:n}),i=0,o=d(n=f)):r||(e[u++]=f)}return e}var Gn=l(function(n,t){var r=(t=B(t,!1,!1)).length;if(r<1)throw new Error("bindAll must be passed function names");for(;r--;){var e=t[r];n[e]=Jn(n[e],n)}return n});var Hn=l(function(n,t,r){return setTimeout(function(){return n.apply(null,r)},t)}),Qn=M(Hn,b,1);function Xn(n){return function(){return!n.apply(this,arguments)}}function Yn(n,t){var r;return function(){return 0<--n&&(r=t.apply(this,arguments)),n<=1&&(t=null),r}}var Zn=M(Yn,2);function nt(n,t,r){t=S(t,r);for(var e,u=g(n),i=0,o=u.length;i<o;i++)if(t(n[e=u[i]],e,n))return e}function tt(i){return function(n,t,r){t=S(t,r);for(var e=d(n),u=0<i?0:e-1;0<=u&&u<e;u+=i)if(t(n[u],u,n))return u;return-1}}var rt=tt(1),et=tt(-1);function ut(n,t,r,e){for(var u=(r=S(r,e,1))(t),i=0,o=d(n);i<o;){var a=Math.floor((i+o)/2);r(n[a])<u?i=a+1:o=a}return i}function it(i,o,a){return function(n,t,r){var e=0,u=d(n);if("number"==typeof r)0<i?e=0<=r?r:Math.max(r+u,e):u=0<=r?Math.min(r+1,u):r+u+1;else if(a&&r&&u)return n[r=a(n,t)]===t?r:-1;if(t!=t)return 0<=(r=o(f.call(n,e,u),fn))?r+e:-1;for(r=0<i?e:u-1;0<=r&&r<u;r+=i)if(n[r]===t)return r;return-1}}var ot=it(1,rt,ut),at=it(-1,et);function ft(n,t,r){t=(E(n)?rt:nt)(n,t,r);if(void 0!==t&&-1!==t)return n[t]}function N(n,t,r){if(t=x(t,r),E(n))for(u=0,i=n.length;u<i;u++)t(n[u],u,n);else for(var e=g(n),u=0,i=e.length;u<i;u++)t(n[e[u]],e[u],n);return n}function k(n,t,r){t=S(t,r);for(var e=!E(n)&&g(n),u=(e||n).length,i=Array(u),o=0;o<u;o++){var a=e?e[o]:o;i[o]=t(n[a],a,n)}return i}function ct(f){return function(n,t,r,e){var u=3<=arguments.length;return function(n,t,r,e){var u=!E(n)&&g(n),i=(u||n).length,o=0<f?0:i-1;for(e||(r=n[u?u[o]:o],o+=f);0<=o&&o<i;o+=f){var a=u?u[o]:o;r=t(r,n[a],a,n)}return r}(n,x(t,e,4),r,u)}}var lt=ct(1),st=ct(-1);function I(n,e,t){var u=[];return e=S(e,t),N(n,function(n,t,r){e(n,t,r)&&u.push(n)}),u}function pt(n,t,r){t=S(t,r);for(var e=!E(n)&&g(n),u=(e||n).length,i=0;i<u;i++){var o=e?e[i]:i;if(!t(n[o],o,n))return!1}return!0}function ht(n,t,r){t=S(t,r);for(var e=!E(n)&&g(n),u=(e||n).length,i=0;i<u;i++){var o=e?e[i]:i;if(t(n[o],o,n))return!0}return!1}function T(n,t,r,e){return E(n)||(n=j(n)),0<=ot(n,t,r="number"==typeof r&&!e?r:0)}var vt=l(function(n,r,e){var u,i;return p(r)?i=r:(r=_(r),u=r.slice(0,-1),r=r[r.length-1]),k(n,function(n){var t=i;if(!t){if(null==(n=u&&u.length?Bn(n,u):n))return;t=n[r]}return null==t?t:t.apply(n,e)})});function yt(n,t){return k(n,In(t))}function dt(n,e,t){var r,u,i=-1/0,o=-1/0;if(null==e||"number"==typeof e&&"object"!=typeof n[0]&&null!=n)for(var a=0,f=(n=E(n)?n:j(n)).length;a<f;a++)null!=(r=n[a])&&i<r&&(i=r);else e=S(e,t),N(n,function(n,t,r){u=e(n,t,r),(o<u||u===-1/0&&i===-1/0)&&(i=n,o=u)});return i}var gt=/[^\ud800-\udfff]|[\ud800-\udbff][\udc00-\udfff]|[\ud800-\udfff]/g;function bt(n){return n?c(n)?f.call(n):X(n)?n.match(gt):E(n)?k(n,kn):j(n):[]}function mt(n,t,r){if(null==t||r)return(n=E(n)?n:j(n))[Vn(n.length-1)];for(var e=bt(n),r=d(e),u=(t=Math.max(Math.min(t,r),0),r-1),i=0;i<t;i++){var o=Vn(i,u),a=e[i];e[i]=e[o],e[o]=a}return e.slice(0,t)}function D(i,t){return function(r,e,n){var u=t?[[],[]]:{};return e=S(e,n),N(r,function(n,t){t=e(n,t,r);i(u,n,t)}),u}}var jt=D(function(n,t,r){v(n,r)?n[r].push(t):n[r]=[t]}),wt=D(function(n,t,r){n[r]=t}),_t=D(function(n,t,r){v(n,r)?n[r]++:n[r]=1}),At=D(function(n,t,r){n[r?0:1].push(t)},!0);function xt(n,t,r){return t in r}var St=l(function(n,t){var r={},e=t[0];if(null!=n){p(e)?(1<t.length&&(e=x(e,t[1])),t=m(n)):(e=xt,t=B(t,!1,!1),n=Object(n));for(var u=0,i=t.length;u<i;u++){var o=t[u],a=n[o];e(a,o,n)&&(r[o]=a)}}return r}),Ot=l(function(n,r){var t,e=r[0];return p(e)?(e=Xn(e),1<r.length&&(t=r[1])):(r=k(B(r,!1,!1),String),e=function(n,t){return!T(r,t)}),St(n,e,t)});function Mt(n,t,r){return f.call(n,0,Math.max(0,n.length-(null==t||r?1:t)))}function Et(n,t,r){return null==n||n.length<1?null==t||r?void 0:[]:null==t||r?n[0]:Mt(n,n.length-t)}function R(n,t,r){return f.call(n,null==t||r?1:t)}var Bt=l(function(n,t){return t=B(t,!0,!0),I(n,function(n){return!T(t,n)})}),Nt=l(function(n,t){return Bt(n,t)});function kt(n,t,r,e){Q(t)||(e=r,r=t,t=!1),null!=r&&(r=S(r,e));for(var u=[],i=[],o=0,a=d(n);o<a;o++){var f=n[o],c=r?r(f,o,n):f;t&&!r?(o&&i===c||u.push(f),i=c):r?T(i,c)||(i.push(c),u.push(f)):T(u,f)||u.push(f)}return u}var It=l(function(n){return kt(B(n,!0,!0))});function Tt(n){for(var t=n&&dt(n,d).length||0,r=Array(t),e=0;e<t;e++)r[e]=yt(n,e);return r}var Dt=l(Tt);function Rt(n,t){return n._chain?b(t).chain():t}function Vt(r){return N(An(r),function(n){var t=b[n]=r[n];b.prototype[n]=function(){var n=[this._wrapped];return P.apply(n,arguments),Rt(this,t.apply(b,n))}}),b}N(["pop","push","reverse","shift","sort","splice","unshift"],function(t){var r=e[t];b.prototype[t]=function(){var n=this._wrapped;return null!=n&&(r.apply(n,arguments),"shift"!==t&&"splice"!==t||0!==n.length||delete n[0]),Rt(this,n)}}),N(["concat","join","slice"],function(n){var t=e[n];b.prototype[n]=function(){var n=this._wrapped;return Rt(this,n=null!=n?t.apply(n,arguments):n)}});n=Vt({__proto__:null,VERSION:n,restArguments:l,isObject:i,isNull:function(n){return null===n},isUndefined:H,isBoolean:Q,isElement:function(n){return!(!n||1!==n.nodeType)},isString:X,isNumber:Y,isDate:Z,isRegExp:nn,isError:tn,isSymbol:rn,isArrayBuffer:en,isDataView:h,isArray:c,isFunction:p,isArguments:an,isFinite:function(n){return!rn(n)&&C(n)&&!isNaN(parseFloat(n))},isNaN:fn,isTypedArray:vn,isEmpty:function(n){var t;return null==n||("number"==typeof(t=d(n))&&(c(n)||X(n)||an(n))?0===t:0===d(g(n)))},isMatch:dn,isEqual:function(n,t){for(var r=[{a:n,b:t}],e=[],u=[];r.length;){var i=r.pop();if(!0===i)e.pop(),u.pop();else{if((n=i.a)===(t=i.b)){if(0!==n||1/n==1/t)continue;return!1}if(null==n||null==t)return!1;if(n!=n){if(t!=t)continue;return!1}i=typeof n;if("function"!=i&&"object"!=i&&"object"!=typeof t)return!1;n instanceof b&&(n=n._wrapped),t instanceof b&&(t=t._wrapped);i=s.call(n);if(i!==s.call(t))return!1;if(un&&"[object Object]"==i&&h(n)){if(!h(t))return!1;i=bn}switch(i){case"[object RegExp]":case"[object String]":if(""+n==""+t)continue;return!1;case"[object Number]":r.push({a:+n,b:+t});continue;case"[object Date]":case"[object Boolean]":if(+n==+t)continue;return!1;case"[object Symbol]":if(F.valueOf.call(n)===F.valueOf.call(t))continue;return!1;case"[object ArrayBuffer]":case bn:r.push({a:gn(n),b:gn(t)});continue}i="[object Array]"===i;if(!i&&vn(n)){if(y(n)!==y(t))return!1;if(n.buffer===t.buffer&&n.byteOffset===t.byteOffset)continue;i=!0}if(!i){if("object"!=typeof n||"object"!=typeof t)return!1;var o=n.constructor,a=t.constructor;if(o!==a&&!(p(o)&&o instanceof o&&p(a)&&a instanceof a)&&"constructor"in n&&"constructor"in t)return!1}for(var f=e.length;f--;)if(e[f]===n){if(u[f]===t)break;return!1}if(!(0<=f))if(e.push(n),u.push(t),r.push(!0),i){if((f=n.length)!==t.length)return!1;for(;f--;)r.push({a:n[f],b:t[f]})}else{var c,l=g(n),f=l.length;if(g(t).length!==f)return!1;for(;f--;){if(!v(t,c=l[f]))return!1;r.push({a:n[c],b:t[c]})}}}}return!0},isMap:u,isWeakMap:t,isSet:U,isWeakSet:a,keys:g,allKeys:m,values:j,pairs:function(n){for(var t=g(n),r=t.length,e=Array(r),u=0;u<r;u++)e[u]=[t[u],n[t[u]]];return e},invert:_n,functions:An,methods:An,extend:Sn,extendOwn:w,assign:w,defaults:On,create:function(n,t){return n=Mn(n),t&&w(n,t),n},clone:function(n){return i(n)?c(n)?n.slice():Sn({},n):n},tap:function(n,t){return t(n),n},get:Nn,has:function(n,t){for(var r=(t=_(t)).length,e=0;e<r;e++){var u=t[e];if(!v(n,u))return!1;n=n[u]}return!!r},mapObject:function(n,t,r){t=S(t,r);for(var e=g(n),u=e.length,i={},o=0;o<u;o++){var a=e[o];i[a]=t(n[a],a,n)}return i},identity:kn,constant:cn,noop:Rn,toPath:En,property:In,propertyOf:function(t){return null==t?Rn:function(n){return Nn(t,n)}},matcher:A,matches:A,times:function(n,t,r){var e=Array(Math.max(0,n));t=x(t,r,1);for(var u=0;u<n;u++)e[u]=t(u);return e},random:Vn,now:O,escape:Pn,unescape:r,templateSettings:qn,template:function(i,n,t){n=On({},n=!n&&t?t:n,b.templateSettings);var r,t=RegExp([(n.escape||Un).source,(n.interpolate||Un).source,(n.evaluate||Un).source].join("|")+"|$","g"),o=0,a="__p+='";if(i.replace(t,function(n,t,r,e,u){return a+=i.slice(o,u).replace(zn,Ln),o=u+n.length,t?a+="'+\n((__t=("+t+"))==null?'':_.escape(__t))+\n'":r?a+="'+\n((__t=("+r+"))==null?'':__t)+\n'":e&&(a+="';\n"+e+"\n__p+='"),n}),a+="';\n",t=n.variable){if(!$n.test(t))throw new Error("variable is not a bare identifier: "+t)}else a="with(obj||{}){\n"+a+"}\n",t="obj";a="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+a+"return __p;\n";try{r=new Function(t,"_",a)}catch(n){throw n.source=a,n}function e(n){return r.call(this,n,b)}return e.source="function("+t+"){\n"+a+"}",e},result:function(n,t,r){var e=(t=_(t)).length;if(!e)return p(r)?r.call(n):r;for(var u=0;u<e;u++){var i=null==n?void 0:n[t[u]];void 0===i&&(i=r,u=e),n=p(i)?i.call(n):i}return n},uniqueId:function(n){var t=++Cn+"";return n?n+t:t},chain:function(n){return(n=b(n))._chain=!0,n},iteratee:Dn,partial:M,bind:Jn,bindAll:Gn,memoize:function(e,u){function i(n){var t=i.cache,r=""+(u?u.apply(this,arguments):n);return v(t,r)||(t[r]=e.apply(this,arguments)),t[r]}return i.cache={},i},delay:Hn,defer:Qn,throttle:function(r,e,u){function i(){l=!1===u.leading?0:O(),o=null,c=r.apply(a,f),o||(a=f=null)}function n(){var n=O(),t=(l||!1!==u.leading||(l=n),e-(n-l));return a=this,f=arguments,t<=0||e<t?(o&&(clearTimeout(o),o=null),l=n,c=r.apply(a,f),o||(a=f=null)):o||!1===u.trailing||(o=setTimeout(i,t)),c}var o,a,f,c,l=0;return u=u||{},n.cancel=function(){clearTimeout(o),l=0,o=a=f=null},n},debounce:function(t,r,e){function u(){var n=O()-o;n<r?i=setTimeout(u,r-n):(i=null,e||(f=t.apply(c,a)),i||(a=c=null))}var i,o,a,f,c,n=l(function(n){return c=this,a=n,o=O(),i||(i=setTimeout(u,r),e&&(f=t.apply(c,a))),f});return n.cancel=function(){clearTimeout(i),i=a=c=null},n},wrap:function(n,t){return M(t,n)},negate:Xn,compose:function(){var r=arguments,e=r.length-1;return function(){for(var n=e,t=r[e].apply(this,arguments);n--;)t=r[n].call(this,t);return t}},after:function(n,t){return function(){if(--n<1)return t.apply(this,arguments)}},before:Yn,once:Zn,findKey:nt,findIndex:rt,findLastIndex:et,sortedIndex:ut,indexOf:ot,lastIndexOf:at,find:ft,detect:ft,findWhere:function(n,t){return ft(n,A(t))},each:N,forEach:N,map:k,collect:k,reduce:lt,foldl:lt,inject:lt,reduceRight:st,foldr:st,filter:I,select:I,reject:function(n,t,r){return I(n,Xn(S(t)),r)},every:pt,all:pt,some:ht,any:ht,contains:T,includes:T,include:T,invoke:vt,pluck:yt,where:function(n,t){return I(n,A(t))},max:dt,min:function(n,e,t){var r,u,i=1/0,o=1/0;if(null==e||"number"==typeof e&&"object"!=typeof n[0]&&null!=n)for(var a=0,f=(n=E(n)?n:j(n)).length;a<f;a++)null!=(r=n[a])&&r<i&&(i=r);else e=S(e,t),N(n,function(n,t,r){((u=e(n,t,r))<o||u===1/0&&i===1/0)&&(i=n,o=u)});return i},shuffle:function(n){return mt(n,1/0)},sample:mt,sortBy:function(n,e,t){var u=0;return e=S(e,t),yt(k(n,function(n,t,r){return{value:n,index:u++,criteria:e(n,t,r)}}).sort(function(n,t){var r=n.criteria,e=t.criteria;if(r!==e){if(e<r||void 0===r)return 1;if(r<e||void 0===e)return-1}return n.index-t.index}),"value")},groupBy:jt,indexBy:wt,countBy:_t,partition:At,toArray:bt,size:function(n){return null==n?0:(E(n)?n:g(n)).length},pick:St,omit:Ot,first:Et,head:Et,take:Et,initial:Mt,last:function(n,t,r){return null==n||n.length<1?null==t||r?void 0:[]:null==t||r?n[n.length-1]:R(n,Math.max(0,n.length-t))},rest:R,tail:R,drop:R,compact:function(n){return I(n,Boolean)},flatten:function(n,t){return B(n,t,!1)},without:Nt,uniq:kt,unique:kt,union:It,intersection:function(n){for(var t=[],r=arguments.length,e=0,u=d(n);e<u;e++){var i=n[e];if(!T(t,i)){for(var o=1;o<r&&T(arguments[o],i);o++);o===r&&t.push(i)}}return t},difference:Bt,unzip:Tt,transpose:Tt,zip:Dt,object:function(n,t){for(var r={},e=0,u=d(n);e<u;e++)t?r[n[e]]=t[e]:r[n[e][0]]=n[e][1];return r},range:function(n,t,r){null==t&&(t=n||0,n=0),r=r||(t<n?-1:1);for(var e=Math.max(Math.ceil((t-n)/r),0),u=Array(e),i=0;i<e;i++,n+=r)u[i]=n;return u},chunk:function(n,t){if(null==t||t<1)return[];for(var r=[],e=0,u=n.length;e<u;)r.push(f.call(n,e,e+=t));return r},mixin:Vt,default:b});return n._=n});
window.wp=window.wp||{},function(r){var t="undefined"==typeof _wpUtilSettings?{}:_wpUtilSettings;wp.template=_.memoize(function(a){var n,s={evaluate:/<#([\s\S]+?)#>/g,interpolate:/\{\{\{([\s\S]+?)\}\}\}/g,escape:/\{\{([^\}]+?)\}\}(?!\})/g,variable:"data"};return function(t){var e=document.querySelector("script#tmpl-"+a);if(e)return(n=n||_.template(r(e).html(),s))(t);throw new Error("Template not found: #tmpl-"+a)}}),wp.ajax={settings:t.ajax||{},post:function(t,e){return wp.ajax.send({data:_.isObject(t)?t:_.extend(e||{},{action:t})})},send:function(n,t){var e,a;return _.isObject(n)?t=n:(t=t||{}).data=_.extend(t.data||{},{action:n}),t=_.defaults(t||{},{type:"POST",url:wp.ajax.settings.url,context:this}),(e=(a=r.Deferred(function(a){t.success&&a.done(t.success),t.error&&a.fail(t.error),delete t.success,delete t.error,a.jqXHR=r.ajax(t).done(function(t){var e;"1"!==t&&1!==t||(t={success:!0}),_.isObject(t)&&!_.isUndefined(t.success)?(e=this,a.done(function(){n&&n.data&&"query-attachments"===n.data.action&&a.jqXHR.hasOwnProperty("getResponseHeader")&&a.jqXHR.getResponseHeader("X-WP-Total")?e.totalAttachments=parseInt(a.jqXHR.getResponseHeader("X-WP-Total"),10):e.totalAttachments=0}),a[t.success?"resolveWith":"rejectWith"](this,[t.data])):a.rejectWith(this,[t])}).fail(function(){a.rejectWith(this,arguments)})})).promise()).abort=function(){return a.jqXHR.abort(),this},e}}}(jQuery);
!function(c){var w=window.wpApiSettings;function t(e){return e=t.buildAjaxOptions(e),t.transport(e)}t.buildAjaxOptions=function(e){var t,n,a,p,o,r,i=e.url,d=e.path,s=e.method;for(r in"string"==typeof e.namespace&&"string"==typeof e.endpoint&&(t=e.namespace.replace(/^\/|\/$/g,""),d=(n=e.endpoint.replace(/^\//,""))?t+"/"+n:t),"string"==typeof d&&(n=w.root,d=d.replace(/^\//,""),"string"==typeof n&&-1!==n.indexOf("?")&&(d=d.replace("?","&")),i=n+d),p=!(e.data&&e.data._wpnonce),o=!0,a=e.headers||{})if(a.hasOwnProperty(r))switch(r.toLowerCase()){case"x-wp-nonce":p=!1;break;case"accept":o=!1}return p&&(a=c.extend({"X-WP-Nonce":w.nonce},a)),o&&(a=c.extend({Accept:"application/json, */*;q=0.1"},a)),"string"!=typeof s||"PUT"!==(s=s.toUpperCase())&&"DELETE"!==s||(a=c.extend({"X-HTTP-Method-Override":s},a),s="POST"),delete(e=c.extend({},e,{headers:a,url:i,method:s})).path,delete e.namespace,delete e.endpoint,e},t.transport=c.ajax,window.wp=window.wp||{},window.wp.apiRequest=t}(jQuery);